{
  "generatedAt": "2026-04-27T17:31:38.9098638Z",
  "source": "sandbox-db",
  "database": "OIM",
  "generatedDbObjectExclusion": "ObjectName NOT LIKE 'GEN[_]%'",
  "totals": {
    "sqlModules": 1825,
    "storedProcedures": 781,
    "scalarFunctions": 291,
    "inlineTableFunctions": 70,
    "tableFunctions": 59,
    "triggers": 624
  },
  "sqlModules": [
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_FTGroupMembersValid_G",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:19:33.277",
      "ModifyDate": "2026-04-14T23:19:33.277",
      "Definition": "create function dbo.ADS_FTGroupMembersValid_G (@UID_ADSGroup varchar(38) )  returns table as return ( select @UID_ADSGroup as UID_ADSGroup, v.UID_ADSDomainMember\r\n as UID_ADSDomainMember , v.ObjectKeyMember as ObjectKeyMember from dbo.ADS_FTGroupMembersValid_G_OC(@UID_ADSGroup, 'ADSAccount') v union all select @UID_ADSGroup\r\n, v.UID_ADSDomainMember, v.ObjectKeyMember from dbo.ADS_FTGroupMembersValid_G_OC(@UID_ADSGroup, 'ADSContact') v union all select @UID_ADSGroup, v.UID_ADSDomainMember\r\n, v.ObjectKeyMember from dbo.ADS_FTGroupMembersValid_G_OC(@UID_ADSGroup, 'ADSMachine') v union all select @UID_ADSGroup, v.UID_ADSDomainMember, v.ObjectKeyMember\r\n from dbo.ADS_FTGroupMembersValid_G_OC(@UID_ADSGroup, 'ADSGroup') v ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_FTAttCasesForBaseObject",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:42.977",
      "ModifyDate": "2026-04-14T23:20:42.977",
      "Definition": "create function dbo.ATT_FTAttCasesForBaseObject( @ObjectKeyRelated varchar(138) ) returns table with schemabinding as return ( select y.UID_AttestationCase\r\n from ( select ac.UID_AttestationCase, ac.ObjectKey1, ac.ObjectKeyBase , ac.ObjectKey2 , ac.ObjectKey3 from dbo.AttestationCase ac ) as x unpivot (ObjectKeyRelated\r\n for spalte in (ObjectKey1,ObjectKeyBase , ObjectKey2, ObjectKey3)) as y where y.ObjectKeyRelated = @ObjectKeyRelated ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_FTATTDecisionPossible",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:18:05.773",
      "ModifyDate": "2026-04-14T23:18:05.773",
      "Definition": "create function dbo.ATT_FTATTDecisionPossible(@UID_AttestationCase varchar(38) , @LevelNumber int , @SubLevelNumber int   ) returns table with schemabinding\r\n as return ( select top 1 case MIN(w.LevelResult) when 1 then 0  when 0 then 1  else -1  end as DecisionPossible from ( select case when z.CountDeciderAvailable\r\n < z.CountDeciderMinimum then -1  when z.CountDecided >= z.CountDeciderMinimum OR z.IsDenied = 1 then 1  when z.CountDeciderAvailable >= z.CountDeciderMinimum\r\n and z.CountDecided < z.CountDeciderMinimum and z.IsDenied = 0 then 0  else -1  end as LevelResult , z.IsDenied from ( select case when y.RulerLevel > \r\n0  then 1 when y.CountDeciderMinimum = -1 then case when y.CountDeciderAvailable < 1 then 1 else y.CountDeciderAvailable end else y.CountDeciderMinimum\r\n end as CountDeciderMinimum , y.CountDecided , y.CountDeciderAvailable , y.IsDenied from ( select x.UID_AttestationCase, x.levelnumber, x.sublevelnumber\r\n, x.uid_QERWorkingStep , isnull(x.CountApprover, 1) as CountDeciderMinimum , isnull(SUM (x.isDecided), 0) as CountDecided , isnull(COUNT(*), 0) as CountDeciderAvailable\r\n , isnull(MIN(x.RulerLevel),0) as RulerLevel  , ISNULL(max(x.IsDenied), 0) as IsDenied from ( select h1.UID_AttestationCase, h1.levelnumber, h1.sublevelnumber\r\n, ws.uid_QERWorkingStep , case ws.CountApprover when null then 1 when 0 then 1 else ws.CountApprover end as CountApprover , case when isnull(h1.decision\r\n, '') in('P', 'N', 'R', '+') then 1 else 0 end as IsDecided , h1.RulerLevel , case when isnull(h1.decision, '') in('N') then 1 else 0 end as IsDenied from\r\n dbo.AttestationHelper h1 join dbo.QERWorkingStep ws on h1.uid_QERWorkingStep = ws.uid_QERWorkingStep  join dbo.AttestationCase ac on h1.UID_AttestationCase\r\n = ac.UID_AttestationCase and ac.IsUnderConstruction = 0 where h1.UID_AttestationCase = @UID_AttestationCase and h1.levelnumber = @LevelNumber and h1.sublevelnumber\r\n =  @SubLevelNumber       ) as x group by x.UID_AttestationCase, x.levelnumber, x.sublevelnumber, x.uid_QERWorkingStep, x.CountApprover ) as y ) as z )\r\n as w       ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_FTAttestationRulerAD",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:42.173",
      "ModifyDate": "2026-04-14T23:20:42.173",
      "Definition": "create function dbo.ATT_FTAttestationRulerAD (@UID_AttestationCase varchar(38) ) RETURNS TABLE AS RETURN ( select distinct ro.uid_person from (select p.uid_person\r\n, p.uid_department as UID_PersonFK , @UID_AttestationCase as UID_AttestationCase from person p join attestationcase ac on ac.ObjectKeyBase = p.XObjectKey\r\n where ac.UID_AttestationCase = @UID_AttestationCase union select p.uid_person, p.uid_department as UID_PersonFK , @UID_AttestationCase as UID_AttestationCase\r\n from attestationcase ac join Personwantsorg pwo on ac.ObjectKeyBase = pwo.XObjectKey join person p on pwo.uid_personOrdered = p.uid_person where ac.UID_AttestationCase\r\n = @UID_AttestationCase ) as pp  join BaseTree dep on dep.uid_org = pp.uid_PersonFK cross apply dbo.ATT_FTOrgAttHighest (dep.uid_Org , null , null , 1 \r\n, 0  ) ro ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_FTAttestationRulerAL",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:42.2",
      "ModifyDate": "2026-04-14T23:20:42.2",
      "Definition": "create function dbo.ATT_FTAttestationRulerAL (@UID_AttestationCase varchar(38) ) RETURNS TABLE AS RETURN ( select distinct ro.uid_person from (select p.uid_person\r\n, p.uid_Locality as UID_PersonFK , @UID_AttestationCase as UID_AttestationCase from person p join attestationcase ac on ac.ObjectKeyBase = p.XObjectKey\r\n where ac.UID_AttestationCase = @UID_AttestationCase union select p.uid_person, p.uid_Locality as UID_PersonFK , @UID_AttestationCase as UID_AttestationCase\r\n from attestationcase ac join Personwantsorg pwo on ac.ObjectKeyBase = pwo.XObjectKey join person p on pwo.uid_personOrdered = p.uid_person where ac.UID_AttestationCase\r\n = @UID_AttestationCase ) as pp  join BaseTree loc on loc.uid_org = pp.uid_PersonFK cross apply dbo.ATT_FTOrgAttHighest (loc.uid_Org , null , null , 1 \r\n, 0  ) ro ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_FTAttestationRulerAP",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:42.187",
      "ModifyDate": "2026-04-14T23:20:42.187",
      "Definition": "create function dbo.ATT_FTAttestationRulerAP (@UID_AttestationCase varchar(38) ) RETURNS TABLE AS RETURN ( select distinct ro.uid_person from (select p.uid_person\r\n, p.uid_ProfitCenter as UID_PersonFK , @UID_AttestationCase as UID_AttestationCase from person p join attestationcase ac on ac.ObjectKeyBase = p.XObjectKey\r\n where ac.UID_AttestationCase = @UID_AttestationCase union select p.uid_person, p.uid_ProfitCenter as UID_PersonFK , @UID_AttestationCase as UID_AttestationCase\r\n from attestationcase ac join Personwantsorg pwo on ac.ObjectKeyBase = pwo.XObjectKey join person p on pwo.uid_personOrdered = p.uid_person where ac.UID_AttestationCase\r\n = @UID_AttestationCase ) as pp  join BaseTree pf on pf.uid_org = pp.uid_PersonFK cross apply dbo.ATT_FTOrgAttHighest (pf.uid_Org , null , null , 1 , 0\r\n  ) ro ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_FTObjectKeysForAttCaseDec",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:42.99",
      "ModifyDate": "2026-04-14T23:20:42.99",
      "Definition": "create function dbo.ATT_FTObjectKeysForAttCaseDec  (@UID_Person varchar(38) ) returns table as return ( select y.UID_AttestationCase, y.ObjectKeyRelated\r\n from ( select ac.UID_AttestationCase, ac.ObjectKey1, ac.ObjectKeyBase , ac.ObjectKey2 , ac.ObjectKey3 from AttestationCase ac join ATT_VAttDecisionPerson_DO\r\n  v on ac.UID_AttestationCase = v.UID_AttestationCase where v.RulerLevel <> 2 and v.uid_personhead = @UID_Person ) as x unpivot (ObjectKeyRelated for spalte\r\n in (ObjectKey1,ObjectKeyBase , ObjectKey2, ObjectKey3)) as y ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_FTOrgAttHighest",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:42.16",
      "ModifyDate": "2026-04-14T23:20:42.16",
      "Definition": "create function dbo.ATT_FTOrgAttHighest (@uid_org varchar(38) , @uid_personinserted varchar(38)  , @DummyParameter varchar(38)  , @WithFallBackRoot bit\r\n  , @IgnoreNoDecideForPerson bit  ) returns table as return ( select pib.UID_Org, pib.UID_Person, pwo.UID_PersonWantsOrg as UID_PWORulerOrigin from ( select\r\n top 1 z.UID_Org from (select b.treelevel + 1 as treelevel, b.UID_OrgAttestator as UID_Org from BaseTreeCollection co join BaseTree b on co.UID_Org = @uid_org\r\n and co.UID_ParentOrg = b.UID_Org   union all select 0, r.UID_OrgAttestator as uid_org from OrgRoot r join BaseTree b on b.UID_OrgRoot = r.UID_OrgRoot \r\nand b.UID_Org = @uid_org where @WithFallBackRoot = 1 ) as z join PersonInBaseTree pio on z.UID_Org = pio.UID_Org and pio.XOrigin > 0 left outer join QER_VPersonsAreMe\r\n api on pio.UID_Person = api.UID_PersonAlsoMe and api.UID_PersonOrigin = case when @uid_personinserted > ' ' and @IgnoreNoDecideForPerson = 0 and dbo.QBM_FGIConfigparmValue\r\n('QER\\Attestation\\PersonToAttestNoDecide') = '1' then @uid_personinserted else null end group by z.treelevel, z.UID_Org having min(api.UID_PersonAlsoMe\r\n ) is null order by z.treelevel desc  ) as oo join PersonInBaseTree pib on oo.UID_Org = pib.UID_Org left outer join PersonWantsOrg pwo on pwo.ObjectKeyAssignment\r\n = pib.XObjectKey and pib.XOrigin > 0 and pwo.OrderState in ('Assigned', 'OrderProlongate', 'OrderUnsubscribe' ) ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_FTOrgRulerHighest",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:42.147",
      "ModifyDate": "2026-04-14T23:20:42.147",
      "Definition": "create function dbo.ATT_FTOrgRulerHighest (@uid_org varchar(38)  , @uid_personinserted varchar(38)  , @DummyParameter varchar(38)  , @WithFallBackRoot \r\nbit  , @UseRulerContainerIT int    , @IgnoreNoDecideForPerson bit  ) returns table as return ( select pib.UID_Org, pib.UID_Person, pwo.UID_PersonWantsOrg\r\n as UID_PWORulerOrigin from ( select top 1 z.UID_Org from (select b.treelevel + 1 as treelevel, case @UseRulerContainerIT when 1 then b.UID_RulerContainerIT\r\n when -1 then b.UID_Org else b.UID_RulerContainer end as UID_Org from BaseTreeCollection co join BaseTree b on co.UID_Org = @uid_org and co.UID_ParentOrg\r\n = b.UID_Org union all select 0, r.UID_OrgAttestator as uid_org from OrgRoot r join BaseTree b on b.UID_OrgRoot = r.UID_OrgRoot and b.UID_Org = @uid_org\r\n where @WithFallBackRoot = 1 ) as z join PersonInBaseTree pio on z.UID_Org = pio.UID_Org and pio.XOrigin > 0 left outer join QER_VPersonsAreMe api on pio.UID_Person\r\n = api.UID_PersonAlsoMe and api.UID_PersonOrigin = case when @uid_personinserted > ' ' and @IgnoreNoDecideForPerson = 0 and dbo.QBM_FGIConfigparmValue(\r\n'QER\\Attestation\\PersonToAttestNoDecide') = '1' then @uid_personinserted else null end group by z.treelevel, z.UID_Org having min(isnull(api.UID_PersonAlsoMe\r\n, '') ) = '' order by z.treelevel desc  ) as oo join PersonInBaseTree pib on oo.UID_Org = pib.UID_Org left outer join PersonWantsOrg pwo on pwo.ObjectKeyAssignment\r\n = pib.XObjectKey and pib.XOrigin > 0 and pwo.OrderState in ('Assigned', 'OrderProlongate', 'OrderUnsubscribe' )         ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_FTCCSESetCheckWithPWO",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:18:41.793",
      "ModifyDate": "2026-04-14T23:18:41.793",
      "Definition": "create function dbo.CPL_FTCCSESetCheckWithPWO (@ObjecKeysOfPWO QBM_YParameterList readonly ) returns table as return( select ps.UID_ESet as UID_ESet , \r\nps.UID_ComplianceRule as UID_ComplianceRule from ( select sr.UID_ComplianceRule, sr.UID_ComplianceSubRule, bho.UID_ESet from ComplianceSubRule sr join \r\nComplianceSubRuleObject cm on cm.uid_ComplianceSubRule = sr.uid_ComplianceSubRule join ( select bo.UID_ESet, bo.Entitlement as ObjectKey  from ESetHasEntitlement\r\n bo join ESet es on bo.UID_ESet = es.UID_ESet join (select pwo.ObjectKeyOrgUsedInAssign from PersonWantsOrg pwo join @ObjecKeysOfPWO o on pwo.XObjectKey\r\n = o.Parameter1 ) as s on s.ObjectKeyOrgUsedInAssign = es.XObjectKey where bo.Entitlement not like '<Key><T>ESet</T>%' union  select es.UID_ESet, pwo.ObjectKeyElementUsedInAssign\r\n from PersonWantsOrg pwo join @ObjecKeysOfPWO o on pwo.XObjectKey = o.Parameter1 join ESet es on pwo.ObjectKeyOrgUsedInAssign = es.XObjectKey ) as bho \r\non bho.Objectkey = cm.ObjectKeyElement group by sr.UID_ComplianceRule, sr.UID_ComplianceSubRule, sr.CountMatchesMin, bho.UID_ESet having COUNT(cm.ObjectKeyElement\r\n) >= case sr.CountMatchesMin when 0 then 1 else sr.CountMatchesMin end ) as ps join compliancerule cr on ps.uid_complianceRule = cr.uid_complianceRule \r\nand cr.IsInActive = 0 and cr.IsWorkingCopy = 0 group by ps.UID_ESet, ps.UID_ComplianceRule having count(distinct ps.uid_ComplianceSubRule) = (select count\r\n( * ) from ComplianceSubrule where uid_complianceRule = ps.UID_ComplianceRule ) ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_FTCCSESetCheckWithPWODet",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:18:41.813",
      "ModifyDate": "2026-04-14T23:18:41.813",
      "Definition": "create function dbo.CPL_FTCCSESetCheckWithPWODet  (@ObjecKeysOfPWO QBM_YParameterList readonly ) returns table as return ( select bho.UID_ESet as UID_ESet\r\n , cs.UID_ComplianceRule as UID_ComplianceRule , cs.UID_ComplianceSubrule as UID_ComplianceSubrule , cm.ObjectKeyElement as ObjectKeyElement from ( select\r\n bo.UID_ESet, bo.Entitlement as ObjectKey  from ESetHasEntitlement bo join ESet es on bo.UID_ESet = es.UID_ESet join (select pwo.ObjectKeyOrgUsedInAssign\r\n from PersonWantsOrg pwo join @ObjecKeysOfPWO o on pwo.XObjectKey = o.Parameter1 ) as s on s.ObjectKeyOrgUsedInAssign = es.XObjectKey where bo.Entitlement\r\n not like '<Key><T>ESet</T>%' union select es.UID_ESet, pwo.ObjectKeyElementUsedInAssign from PersonWantsOrg pwo join @ObjecKeysOfPWO o on pwo.XObjectKey\r\n = o.Parameter1 join ESet es on pwo.ObjectKeyOrgUsedInAssign = es.XObjectKey ) as bho join ComplianceSubRuleObject cm on bho.Objectkey = cm.ObjectKeyElement\r\n join ComplianceSubRule cs on cm.uid_ComplianceSubRule = cs.uid_ComplianceSubRule  where exists (select top 1 1 from dbo.CPL_FTCCSESetCheckWithPWO(@ObjecKeysOfPWO\r\n) v where v.UID_ESet = bho.UID_ESet and v.uid_compliancerule = cs.uid_complianceRule ) ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_FTCCSOrgCheckWithPWO",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:18:41.73",
      "ModifyDate": "2026-04-14T23:18:41.73",
      "Definition": "create function dbo.CPL_FTCCSOrgCheckWithPWO (@ObjecKeysOfPWO QBM_YParameterList readonly )   returns table as return( select ps.UID_Org as UID_Org , ps.UID_ComplianceRule\r\n as UID_ComplianceRule from ( select sr.UID_ComplianceRule, sr.UID_ComplianceSubRule, bho.UID_Org from ComplianceSubRule sr join ComplianceSubRuleObject\r\n cm on cm.uid_ComplianceSubRule = sr.uid_ComplianceSubRule join ( select bo.UID_Org, bo.ObjectKey  from BaseTreehasobject bo join dbo.QER_FTPWOAssigmentSplitForBHO\r\n(@ObjecKeysOfPWO) zu on bo.UID_Org = zu.UID_Org union select zu.UID_Org, zu.ObjectKey from dbo.QER_FTPWOAssigmentSplitForBHO(@ObjecKeysOfPWO) zu ) as bho\r\n on bho.Objectkey = cm.ObjectKeyElement group by sr.UID_ComplianceRule, sr.UID_ComplianceSubRule, sr.CountMatchesMin, bho.UID_Org having COUNT(cm.ObjectKeyElement\r\n) >= case sr.CountMatchesMin when 0 then 1 else sr.CountMatchesMin end ) as ps join compliancerule cr on ps.uid_complianceRule = cr.uid_complianceRule \r\n and cr.IsInActive = 0 and cr.IsWorkingCopy = 0  group by ps.UID_Org, ps.UID_ComplianceRule having count(distinct ps.uid_ComplianceSubRule) = (select count\r\n( * ) from ComplianceSubrule where uid_complianceRule = ps.UID_ComplianceRule ) ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_FTCCSOrgCheckWithPWODetail",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:18:41.753",
      "ModifyDate": "2026-04-14T23:18:41.753",
      "Definition": "create function dbo.CPL_FTCCSOrgCheckWithPWODetail (@ObjecKeysOfPWO QBM_YParameterList readonly )  returns table as return ( select bho.UID_Org as UID_Org\r\n , cs.UID_ComplianceRule as UID_ComplianceRule , cs.UID_ComplianceSubrule as UID_ComplianceSubrule , cm.ObjectKeyElement as ObjectKeyElement  from ( select\r\n bo.UID_Org, bo.ObjectKey  from BaseTreehasobject bo join dbo.QER_FTPWOAssigmentSplitForBHO(@ObjecKeysOfPWO) zu on bo.UID_Org = zu.UID_Org union select\r\n zu.UID_Org, zu.ObjectKey from dbo.QER_FTPWOAssigmentSplitForBHO (@ObjecKeysOfPWO) zu ) as bho join ComplianceSubRuleObject cm on bho.Objectkey = cm.ObjectKeyElement\r\n join ComplianceSubRule cs on cm.uid_ComplianceSubRule = cs.uid_ComplianceSubRule  where exists (select top 1 1 from dbo.CPL_FTCCSOrgCheckWithPWO(@ObjecKeysOfPWO\r\n) v where v.uid_org = bho.uid_org and v.uid_compliancerule = cs.uid_complianceRule ) ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_FTCCSPersonCheckWithOrg",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:18:41.78",
      "ModifyDate": "2026-04-14T23:18:41.78",
      "Definition": "create function dbo.CPL_FTCCSPersonCheckWithOrg(@UID_Person varchar(38) , @UID_Org varchar(38)  ) returns table as return( select x.UID_Person, x.UID_ComplianceRule\r\n , cr.UID_NonCompliance , x.isExceptionGranted , x.IsNew from ( select ps.UID_Person, ps.UID_ComplianceRule  , isnull(pinc.IsExceptionGranted, 0) as isExceptionGranted\r\n , sign(len(isnull(pinc.UID_Org,''))) ^ 1 as IsNew from ( select sr.UID_ComplianceRule, sr.UID_ComplianceSubRule, @UID_Person as UID_Person from ComplianceSubRule\r\n sr join ComplianceSubRuleObject cm on cm.uid_ComplianceSubRule = sr.uid_ComplianceSubRule cross apply dbo.CPL_FTComplianceSubRulePerson(sr.uid_complianceRule\r\n) cp join ( select @UID_Person as UID_Person, p1.ObjectKey from PersonHasObject p1 where p1.UID_Person = @UID_Person union select @UID_Person, b1.ObjectKey\r\n from BaseTreeHasObject b1 where b1.UID_Org = @UID_Org   union select @UID_Person, b1.XObjectKey as ObjectKey from BaseTree b1 where b1.UID_Org = @UID_Org\r\n ) as pho on cp.uid_person = @UID_Person and pho.UID_Person = @UID_Person and pho.Objectkey = cm.ObjectKeyElement group by sr.UID_ComplianceRule, sr.UID_ComplianceSubRule\r\n, sr.CountMatchesMin, pho.UID_Person having COUNT(cm.ObjectKeyElement) >= case sr.CountMatchesMin when 0 then 1 else sr.CountMatchesMin end ) as ps join\r\n compliancerule cr on ps.uid_complianceRule = cr.uid_complianceRule  and cr.IsInActive = 0 and cr.IsWorkingCopy = 0   left outer join personinBaseTree \r\npinc on pinc.uid_person = ps.uid_person and pinc.uid_org = cr.uid_noncompliance group by ps.uid_person, ps.uid_ComplianceRule, isnull(pinc.uid_org,'') \r\n, isnull(pinc.isexceptiongranted, 0) having count(distinct ps.uid_ComplianceSubRule) = (select count( * ) from ComplianceSubrule where uid_complianceRule\r\n = ps.uid_complianceRule ) ) as x join ComplianceRule cr on x.UID_ComplianceRule = cr.UID_ComplianceRule  and cr.IsInActive = 0 and cr.IsWorkingCopy = \r\n0  ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_FTCCSPersonHasObjectWPWO",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:18:41.653",
      "ModifyDate": "2026-04-14T23:18:41.653",
      "Definition": " create function dbo.CPL_FTCCSPersonHasObjectWPWO (@UID_PersonWantsOrg varchar(38) , @IsCrossPersonCheck bit  )  returns  table as return ( with  PersonAll\r\n (UID_Person) as ( select p.UID_Person  from dbo.CPL_FTCCSPersonsForPWO (@UID_PersonWantsOrg, @IsCrossPersonCheck) p ) select x.UID_PersonWantsOrg, x.UID_Person\r\n, case when Objectkey like '<Key><T>SAPFunctionInstance</T>%' then max(IsNew) else min(IsNew) end as IsNew  , Objectkey  , sign(min(convert(int, IsFromSubIdentityOnly\r\n))) as IsFromSubIdentityOnly from (  select 0 as IsNew, @UID_PersonWantsOrg as UID_PersonWantsOrg, po.uid_person, po.Objectkey , case po.InheritInfo when\r\n 4  then 1 else 0 end as IsFromSubIdentityOnly from PersonHasObject po join PersonAll pe on po.uid_person = pe.UID_Person  where ~@IsCrossPersonCheck &\r\n (case po.InheritInfo when 4  then 1 else 0 end) = 0 union all   select 0 as IsNew , pho.UID_PersonWantsOrg, pho.uid_person, pho.ObjectKey, pho.IsFromSubIdentityOnly\r\n from HelperPWOPersonHasObject pho join PersonAll pe on pho.UID_Person = pe.UID_Person  where pho.UID_PersonWantsOrg <> @UID_PersonWantsOrg and ~@IsCrossPersonCheck\r\n & pho.IsFromSubIdentityOnly = 0 and pho.isExisting = 0   union all select ~pho.IsExisting as IsNew, pho.UID_PersonWantsOrg, pho.uid_person, pho.ObjectKey\r\n, pho.IsFromSubIdentityOnly from HelperPWOPersonHasObject pho where pho.UID_PersonWantsOrg = @UID_PersonWantsOrg and ~@IsCrossPersonCheck & pho.IsFromSubIdentityOnly\r\n = 0 ) as x group by x.UID_PersonWantsOrg, x.UID_Person, x.ObjectKey )   \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_FTCCSPWOCheckDetail",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:18:41.69",
      "ModifyDate": "2026-04-14T23:18:41.69",
      "Definition": "create function dbo.CPL_FTCCSPWOCheckDetail(@uid_personwantsorg varchar(38)) returns table as return( select distinct x.UID_PersonWantsOrg, x.UID_Person\r\n, x.uid_ComplianceRule, cs.uid_complianceSubrule , pho.IsNew as isNewObject , cm.ObjectKeyElement  from ( select v.UID_PersonWantsOrg, v.UID_Person, v.UID_ComplianceRule\r\n, sign(max( convert(int, cr.IsCrossPersonCheck))) as IsCrossPersonCheck  from dbo.CPL_FTCCSPWOCheck(@uid_personwantsorg) v join ComplianceRule cr on v.UID_ComplianceRule\r\n = cr.UID_ComplianceRule  and cr.IsInActive = 0 and cr.IsWorkingCopy = 0  group by v.UID_PersonWantsOrg, v.UID_Person, v.UID_ComplianceRule ) as x cross\r\n apply dbo.CPL_FTCCSPersonHasObjectWPWO(@uid_personwantsorg, x.IsCrossPersonCheck) pho join ComplianceSubRule cs on x.uid_complianceRule = cs.uid_complianceRule\r\n join ComplianceSubRuleObject cm on cm.uid_complianceSubrule = cs.uid_complianceSubrule and pho.Objectkey = cm.ObjectKeyElement where x.UID_Person = pho.UID_Person\r\n ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_FTComplianceSubRulePerson",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:18:41.587",
      "ModifyDate": "2026-04-14T23:18:41.587",
      "Definition": "create function dbo.CPL_FTComplianceSubRulePerson (@UID_ComplianceRule varchar(38) ) returns table with schemabinding as return (  select csp.UID_Person\r\n from dbo.ComplianceSubRulePerson csp join dbo.ComplianceRule r on csp.UID_ComplianceRule = r.UID_ComplianceRule where r.UID_ComplianceRule = @UID_ComplianceRule\r\n and r.IsPersonStoreInverted = 0  and r.IsInActive = 0 and r.IsWorkingCopy = 0  union all  select p.UID_Person from dbo.Person p cross join dbo.ComplianceRule\r\n r left outer join dbo.ComplianceSubRulePerson csp on p.UID_Person = csp.UID_Person and csp.UID_ComplianceRule = r.UID_ComplianceRule where csp.UID_Person\r\n is null and r.UID_ComplianceRule = @UID_ComplianceRule and r.IsPersonStoreInverted = 1  and r.IsInActive = 0 and r.IsWorkingCopy = 0 ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_FTComplianceSubRulePersonR",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:18:41.603",
      "ModifyDate": "2026-04-14T23:18:41.603",
      "Definition": "create function dbo.CPL_FTComplianceSubRulePersonR (@UID_ComplianceRule varchar(38) , @PersonsPossible QBM_YParameterList readonly  ) returns table as \r\nreturn(  select csp.UID_Person from dbo.ComplianceSubRulePerson csp join dbo.ComplianceRule r on csp.UID_ComplianceRule = r.UID_ComplianceRule join @PersonsPossible\r\n pp on csp.UID_Person = pp.Parameter1 where r.UID_ComplianceRule = @UID_ComplianceRule and r.IsPersonStoreInverted = 0  and r.IsInActive = 0 and r.IsWorkingCopy\r\n = 0  union all  select p.Parameter1 as UID_Person from @PersonsPossible p cross join dbo.ComplianceRule r left outer join dbo.ComplianceSubRulePerson \r\ncsp on p.Parameter1 = csp.UID_Person and csp.UID_ComplianceRule = r.UID_ComplianceRule where csp.UID_Person is null and r.UID_ComplianceRule = @UID_ComplianceRule\r\n and r.IsPersonStoreInverted = 1  and r.IsInActive = 0 and r.IsWorkingCopy = 0  ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "DPR_FTJournalPropertySplit",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:16:47.26",
      "ModifyDate": "2026-04-14T23:16:47.26",
      "Definition": "create function dbo.DPR_FTJournalPropertySplit (@UID_DPRJournalProperty varchar(38) ) returns table as return( select p.UID_DPRJournalProperty ,p.PropertyName\r\n ,e.ParameterValue AS NewValueElement , case p.IsOldValueFull when 1 then p.OldValueFull else p.OldValueShort end as OldValue from DPRJournalProperty p\r\n cross apply dbo.QBM_FCVStringToList ( case p.IsNewValueFull when 1 then p.NewValueFull else p.NewValueShort end , nchar(13) + nchar(10), 1, 0) as e where\r\n p.UID_DPRJournalProperty = @UID_DPRJournalProperty and p.PropertyName like '%member%' ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "DPR_FTProjectionRootRunning",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:35.5",
      "ModifyDate": "2026-04-14T23:20:35.5",
      "Definition": "create function dbo.DPR_FTProjectionRootRunning ()      returns table as return (  select x.ObjectKeyRoot as ObjectKeyRoot , x.BaseTableName as BaseTableName\r\n from ( select ci.ObjectKeyRoot, t.TableName as BaseTableName, t.UID_DialogTable , isnull(si.LastStart , '1899-12-30') as LastStart from DPRRootObjConnectionInfo\r\n ci join DPRProjectionStartInfo si with (nolock) on ci.UID_DPRRootObjConnectionInfo = si.UID_DPRRootObjConnectionInfo join DialogTable t with (readpast\r\n) on ci.ObjectKeyRoot like '<Key><T>' + t.TableName + '</T>%' where (exists ( select top 1 1 from DPRProjectionConfigStep cs where cs.UID_DPRProjectionConfig\r\n = si.UID_DPRProjectionConfig and cs.UID_LeftDPRSystemConnection = ci.UID_DPRSystemConnection ) or exists ( select top 1 1 from DPRProjectionConfigStep\r\n cs where cs.UID_DPRProjectionConfig = si.UID_DPRProjectionConfig and cs.UID_RightDPRSystemConnection = ci.UID_DPRSystemConnection ) ) ) as x   left outer\r\n join DialogConfigParm cp on LEFT(x.UID_DialogTable, 3) = LEFT(cp.UID_ConfigParm, 3) and cp.FullPath like 'TargetSystem\\%\\MaxFullsyncDuration' where dateadd\r\n(mi , case when cp.UID_ConfigParm is null then 720  when dbo.QBM_FCVStringToInt(right(dbo.QBM_FGIConfigparmValue(cp.FullPath),6), 720 ) > 10080 then 10080\r\n else dbo.QBM_FCVStringToInt(right(dbo.QBM_FGIConfigparmValue(cp.FullPath),6), 720 ) end , isnull(x.LastStart , '1899-12-30') ) > getutcdate() ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVJobParameterToList_fa",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:14:09.937",
      "ModifyDate": "2026-04-14T23:14:09.937",
      "Definition": "create function dbo.QBM_FCVJobParameterToList_fa (@paramin nvarchar(max)) returns table with schemabinding as return( select z.Zeile as SortOrder, z.ParameterName\r\n, z.ParameterValue, case when z.crypthide like N'%Crypted%' then 1 else 0 end as isCrypted , case when z.crypthide like N'%Hidden%' then 1 else 0 end as\r\n isHidden , z.CryptHide , z.LaengenPruefung as LengthCheck from ( select w.Zeile, w.CryptHide, w.ParameterName, w.ParameterValue , (w.lenParameterName \r\n^ len(w.ParameterName)) | (w.lenParameterValue ^ len(w.ParameterValue)) | (w.lenCryptHide ^ len(w.CryptHide)) as LaengenPruefung from ( select (y.DieZeile\r\n / 6) as Zeile , try_convert(int, left(max( case when y.DieZeile % 6 = 0 then y.Wert end ), 32)  )as lenParameterName , max( case when y.DieZeile % 6 =\r\n 1 then y.Wert end ) as ParameterName , try_convert(int, left(max( case when y.DieZeile % 6 = 2 then y.Wert end ), 32) ) as lenParameterValue , max( case\r\n when y.DieZeile % 6 = 3 then y.Wert end ) as ParameterValue , try_convert(int, left(max( case when y.DieZeile % 6 = 4 then y.Wert end ), 32) ) as lenCryptHide\r\n , max( case when y.DieZeile % 6 = 5 then y.Wert end ) as CryptHide from (  select (ROW_NUMBER() over(order by folge ) -1) as DieZeile, x.value as Wert\r\n from ( select s.value, 1 as Folge  from string_split( case when len(@paramin) > 2 then (substring(@paramin, 2 , len(@Paramin)-2)) else '' end , '~') as\r\n s ) as x ) as y group by (y.DieZeile / 6) ) as w ) as z ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringToList",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:14:09.773",
      "ModifyDate": "2026-04-14T23:14:09.773",
      "Definition": "create function dbo.QBM_FCVStringToList(@InString nvarchar(max) , @Delimiter nvarchar(64) , @SuppressEmpty bit = 0 , @CaseSensitive bit = 0 ) returns table\r\n as Return (  select x.OrderNumber, x.Parameter1 as ParameterValue, x.OrderNumberReverse from dbo.QBM_FCVStringToList_i(@InString, @Delimiter, @SuppressEmpty\r\n, @CaseSensitive, '') x ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringToListSplitted",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:14:09.787",
      "ModifyDate": "2026-04-14T23:14:09.787",
      "Definition": "create function dbo.QBM_FCVStringToListSplitted(@InString nvarchar(max) , @Delimiter nvarchar(64) , @SuppressEmpty bit = 0 , @CaseSensitive bit = 0 , @DelimiterInRow\r\n nvarchar(1) )     returns table as  return( select x.OrderNumber, x.Parameter1 as ParameterName, x.Parameter2 as ParameterValue, x.OrderNumberReverse \r\nfrom dbo.QBM_FCVStringToList_i(@InString, @Delimiter, @SuppressEmpty, @CaseSensitive, @DelimiterInRow) x ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringToListSQLMorphem",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:14:09.923",
      "ModifyDate": "2026-04-14T23:14:09.923",
      "Definition": "create function dbo.QBM_FCVStringToListSQLMorphem(@SQLIn nvarchar(max) , @CurrentLevel int , @Check int     ) returns table as return (select * from dbo.QBM_FCVStringToListSQLMo_int\r\n(@SQLIn, @CurrentLevel, @Check, 1)) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringToListSQLMorphem0",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:14:09.927",
      "ModifyDate": "2026-04-14T23:14:09.927",
      "Definition": "create function dbo.QBM_FCVStringToListSQLMorphem0(@SQLIn nvarchar(max) , @CurrentLevelDummy int   , @Check int     ) returns table as return (select *\r\n from dbo.QBM_FCVStringToListSQLMo_int(@SQLIn, 0, @Check, 0)) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FTDateTimeGaps",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:14:10.567",
      "ModifyDate": "2026-04-14T23:14:10.567",
      "Definition": "create function dbo.QBM_FTDateTimeGaps( @ExistingTimeSpans QBM_YDateTimePair readonly ) returns table  return ( with ist as (select e.FromDate , e.ToDate\r\n from @ExistingTimeSpans e union all   select '1899-12-31', getutcdate() )  select l.FromDate as GapStart, l.ToDate as GapEnd from ist i cross join ( select\r\n x.FromDate, x.ToDate from (  select getutcdate() as FromDate, dateadd(mi, -1, MIN(i.FromDate)) as ToDate from ist i  union all  select dateadd(ms, 10,\r\n i1.ToDate), min(dateadd(mi, -1, i2.FromDate)) from ist i1 join ist i2 on dateadd(mi, -1, i2.FromDate) > dateadd(ms, 10, i1.ToDate) group by dateadd(ms\r\n, 10, i1.ToDate)   union all select dateadd(mi, 1, Max(ToDate)), '2200-01-01' from ist ) as x where x.FromDate <= ToDate )  as l group by l.FromDate, l.ToDate\r\n having SUM(convert(int, dbo.QBM_FGIDateTimeSpanOverlap(i.FromDate, i.ToDate, l.FromDate, l.ToDate, 0))) = 0  ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FTDBQueueSlotResetType",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:16:09.043",
      "ModifyDate": "2026-04-14T23:16:09.043",
      "Definition": "create function dbo.QBM_FTDBQueueSlotResetType () returns table  as return ( select * from (values ( 'Sync', -1, 'Für die Root des Elementes läuft gerade ein Fullsync'\r\n) , ('Lock', -2 , 'Ein Datenbank-lock konnte nicht in der vorgegebenen Zeit gesetzt werden') , ('JobQueue' , -3, 'Für das zu berechnende Element sind noch Aufträge in der Jobqueue vorhanden'\r\n)  , ('DBQueue' , -4, 'Für das zu berechnende Element sind noch Aufträge in der DBQueue vorhanden, die eine notwendige Voraussetzung sind')  , ('Wait',\r\n -5, 'Eine externe Bedingung ist noch nicht erfüllt')  , ('Outstanding' ,-6, 'Das zu berechnende Objekt ist als outstanding markiert')  , ('Overload' ,-7\r\n, 'Die zu berechnenden Objekte hätten zu einer Überladung geführt') , ('Garbage01' , -11, 'Das Element wurde beim Slot befüllen noch als vorhanden aus einem früheren Verabeitungslauf gefunden'\r\n)  , ('Garbage02' , -12, 'Das Element wurde nach der Verarbeitung immer noch im Slot gefunden')    , ('Error03' , -23, 'Der Runner war in eine deadlock-Situation gelaufen'\r\n)  , ('Error04', -24, 'Der Runner war in einen Ausführungsfehler gelaufen')  , ('Error05', -25, 'Die Delta-Berechnung lief in einen Überladungszustand'\r\n)  , ('Error06', -26, 'Aufruf erfolgte in der Prozedur QBM_PDBQueueCurrentResetNGen')  , ('Undefined', -500, 'Die Funktion QBM_FGIDBQueueSlotResetType wurde mit einem unzulässigen Parameter @reason aufgerufen'\r\n) ) as x (ReasonCode, ReasonValue, ReasonDescription) ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FTHexPattern",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:14:10.677",
      "ModifyDate": "2026-04-14T23:14:10.677",
      "Definition": "create function dbo.QBM_FTHexPattern(@CountDigits int) returns table with SCHEMABINDING as return( with einer(zeichen) as ( select a.z from ( values ('0'\r\n) , ('1') , ('2') , ('3') , ('4') , ('5') , ('6') , ('7') , ('8') , ('9') , ('A') , ('B') , ('C') , ('D') , ('E') , ('F') , ('[^0-F]')  ) as a (z) ) select\r\n concat(e1.zeichen , e2.zeichen, e3.zeichen, e4.zeichen, e5.zeichen  , '%') as HexPattern from einer e1 left outer join einer e2 on @CountDigits > 1  left\r\n outer join einer e3 on @CountDigits > 2  left outer join einer e4 on @CountDigits > 3  left outer join einer e5 on @CountDigits > 4    )  \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FTIndexFragmentation",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:14:10.297",
      "ModifyDate": "2026-04-14T23:14:10.297",
      "Definition": "create function dbo.QBM_FTIndexFragmentation(@TablePattern varchar(30) , @PercentFragLimit int  ) returns table  as return( select distinct  left(OBJECT_SCHEMA_NAME\r\n(frag.object_id), 30) as SchemaName , left(OBJECT_NAME(frag.object_id), 30) as TableName , left(six.name, 30) as IndexName, frag.avg_fragmentation_in_percent\r\n as PercentFrag  , frag.index_id from ( select o.Object_id from sys.objects o where o.type = 'U' and o.name like @TablePattern ) as t cross apply ( select\r\n fr.object_id, fr.index_id,  sum(convert(float, record_count) * avg_fragmentation_in_percent / 100.0)/ sum(convert(float, record_count)) * 100.0 as avg_fragmentation_in_percent\r\n FROM sys.dm_db_index_physical_stats ( DB_ID(),  t.object_id,  DEFAULT,  0,  'detailed'  ) as fr where fr.record_count > 0 group by fr.object_id, fr.index_id\r\n ) as frag JOIN sys.indexes six with (readpast) ON frag.object_id = six.object_id AND frag.index_id = six.index_id where six.name > ' ' and frag.avg_fragmentation_in_percent\r\n >= isnull(@PercentFragLimit, 0)  and frag.object_ID = t.object_id  and six.is_hypothetical = 0  and six.type not in (3,4,5,6) ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FTJobCreateDBParameter",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:31.167",
      "ModifyDate": "2026-04-14T23:20:31.167",
      "Definition": "create function dbo.QBM_FTJobCreateDBParameter(@ComponentClass nvarchar(1024) , @TaskName nvarchar(256) , @ParameterSoFar dbo.QBM_YParameterList readOnly\r\n  )  returns table with schemabinding as return (   select 'ConnectionProvider' as ParameterName , d.ConnectionProvider as ParameterValue from dbo.DialogDatabase\r\n d with (nolock) where IsMainDatabase = 1 and exists (select top 1 1 from dbo.JobComponent c join dbo.JobTask t on c.UID_JobComponent = t.UID_JobComponent\r\n join dbo.JobParameter p on p.UID_JobTask = t.UID_JobTask where c.ComponentClass = @ComponentClass and t.TaskName = @TaskName and p.Name = 'ConnectionProvider'\r\n ) and Not exists (select top 1 1 from @ParameterSoFar f where f.Parameter1 = 'ConnectionProvider' ) union all  select 'ConnectionString' , d.ConnectionString\r\n from dbo.DialogDatabase d with (nolock) where IsMainDatabase = 1 and exists (select top 1 1 from dbo.JobComponent c join dbo.JobTask t on c.UID_JobComponent\r\n = t.UID_JobComponent join dbo.JobParameter p on p.UID_JobTask = t.UID_JobTask where c.ComponentClass = @ComponentClass and t.TaskName = @TaskName and \r\np.Name = 'ConnectionString' ) and Not exists (select top 1 1 from @ParameterSoFar f where f.Parameter1 = 'ConnectionString' ) ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FTParameter1AsInClause",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:14:09.957",
      "ModifyDate": "2026-04-14T23:14:09.957",
      "Definition": "create function dbo.QBM_FTParameter1AsInClause (@ValuesIn dbo.QBM_YParameterList readOnly ) returns table with SCHEMABINDING as return(   select concat\r\n('(''' ,string_agg(convert(nvarchar(max) ,case when x.Parameter1 like '%''%' then replace(x.Parameter1, '''', '''''') else x.Parameter1 end )  , N''','''\r\n ) , ''')' ) as CollectedLine from ( select c.Parameter1, ntile(( select 1 + count(*) / (4000 / ( max(len(v.Parameter1)) + 3)) from @ValuesIn v )) over\r\n ( order by c.Parameter1) as Gruppennummer from @ValuesIn c ) as x group by x.Gruppennummer ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FTParameter1AsMVP",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:14:09.963",
      "ModifyDate": "2026-04-14T23:14:09.963",
      "Definition": "create function dbo.QBM_FTParameter1AsMVP (@ValuesIn dbo.QBM_YParameterList readOnly ) returns table with SCHEMABINDING as return(   select isnull(string_agg\r\n(convert(nvarchar(max), c.Parameter1 ) , nchar(7) )  , N'') as CollectedLine from @ValuesIn c ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FTPrimaryKeyInfo_BT",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:16:32.093",
      "ModifyDate": "2026-04-14T23:16:32.093",
      "Definition": "create function dbo.QBM_FTPrimaryKeyInfo_BT( ) returns table as return ( select e.TableName , e.ColumnName , e.UID_DialogColumn , e.UID_DialogTable , e.TableType\r\n , e.OrdinalPosition , sign(isnull(y.PK1Position, 0) + isnull(y.PK2Position, 0)) as IsPKMember , case y.PK1Position when e.OrdinalPosition then 1 else \r\n0 end as IsPKName1 , case y.PK2Position when e.OrdinalPosition then 1 else 0 end as IsPKName2 , e.UID_DialogColumnUnionView  from ( select t.TableName,\r\n c.ColumnName, c.UID_DialogColumn, t.UID_DialogTable, t.TableType , c.UID_DialogColumnUnionView , ( columnproperty(sc.object_id, sc.name, 'ordinal') ) \r\nas OrdinalPosition , st.object_id as Table_Object_id from sys.tables st with (readpast) join sys.columns sc with (readpast) on st.object_id = sc.object_id\r\n   join DialogTable t with (readpast, forceseek) on convert(varchar(30), left(st.name,30)) = t.TableName and t.TableType in('B', 'T', 'M') join DialogColumn\r\n c with (readpast, forceseek) on t.UID_DialogTable = c.UID_DialogTable  and convert(varchar(30), left(sc.name,30)) = c.ColumnName ) as e left outer join\r\n( select min(x.ORDINAL_POSITION) as PK1Position , case when max(x.ORDINAL_POSITION) = min(x.ORDINAL_POSITION) then 0 else max(x.ORDINAL_POSITION) end as\r\n PK2Position , x.object_id from( select w.COLUMN_NAME , w.ORDINAL_POSITION , w.object_id from( select c.name as COLUMN_NAME , ( columnproperty(t.object_id\r\n, c.name, 'ordinal') ) as ORDINAL_POSITION , t.object_id from sys.tables t with (readpast) join sys.indexes i with (readpast) on t.object_id = i.object_id\r\n  and i.is_hypothetical = 0  and i.type not in (3,4,5,6) join sys.index_columns ic with (readpast) on i.index_id = ic.index_id and ic.object_id = t.object_id\r\n join sys.columns c with (readpast) on c.object_id = t.object_id and ic.column_id = c.column_id where i.is_primary_key = 1 ) as w group by w.object_id \r\n, w.COLUMN_NAME , w.ORDINAL_POSITION ) as x group by x.object_id ) as y on e.Table_Object_id = y.object_id and ( e.OrdinalPosition in ( y.PK1Position, \r\ny.PK2Position) ) ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FTPrimaryKeyInfo_BTV",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:16:32.1",
      "ModifyDate": "2026-04-14T23:16:32.1",
      "Definition": "create function dbo.QBM_FTPrimaryKeyInfo_BTV()   returns table as return ( select TableName,ColumnName, UID_DialogColumn, UID_DialogTable, TableType, OrdinalPosition\r\n, IsPKMember, IsPKName1, IsPKName2, UID_DialogColumnUnionView from dbo.QBM_FTPrimaryKeyInfo_BT() v union all select vt.TableName, vc.ColumnName, vc.UID_DialogColumn\r\n, vt.UID_DialogTable, vt.TableType , vb.OrdinalPosition , vb.IsPKMember , vb.IsPKName1 , vb.IsPKName2 , vc.UID_DialogColumnUnionView from DialogTable vt\r\n with (readpast) join DialogColumn vc with (readpast) on vt.UID_DialogTable = vc.UID_DialogTable join dbo.QBM_FTPrimaryKeyInfo_BT() vb on vc.UID_BaseColumn\r\n = vb.UID_DialogColumn  where vb.TableType in ( 'B') ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FTPrimaryKeyInfo_BTVP",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:16:32.107",
      "ModifyDate": "2026-04-14T23:16:32.107",
      "Definition": "create function dbo.QBM_FTPrimaryKeyInfo_BTVP()   returns table as return ( select TableName,ColumnName, UID_DialogColumn, UID_DialogTable, TableType, \r\nOrdinalPosition, IsPKMember, IsPKName1, IsPKName2, UID_DialogColumnUnionView from dbo.QBM_FTPrimaryKeyInfo_BTV() v union all select p.TableName, c.ColumnName\r\n, c.UID_DialogColumn, p.UID_DialogTable, p.TableType , ROW_NUMBER() over ( partition by c.uid_dialogtable order by c.columnname) as OrdinalPosition , y.IsPKMember\r\n , 0 as IsPKName1 , 0 as IsPKName2 , null as UID_DialogColumnUnionView from DialogColumn c with (readpast) join Dialogtable p with (readpast) on c.UID_DialogTable\r\n = p.UID_DialogTable join ( select pc.UID_DialogColumn, sign(MAX(convert(int, ba.IsPKMember))) as IsPKMember from DialogColumn pc with (readpast) join \r\ndbo.QBM_FTPrimaryKeyInfo_BTV() ba on pc.UID_DialogColumn = ba.UID_DialogColumnUnionView group by pc.UID_DialogColumn ) as y on y.UID_DialogColumn = c.UID_DialogColumn\r\n ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FTRelationValidationInfo",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:14:10.63",
      "ModifyDate": "2026-04-14T23:14:10.63",
      "Definition": "create function dbo.QBM_FTRelationValidationInfo ()   returns table with SCHEMABINDING as return( select RIType, ChildType, Parenttype, IsValid, IsInModel\r\n, useForRI, useForObjectwalker, HasBaserelation , ValidChildExecuteBy, ValidParentExecuteBy  from ( values  ('Fix' ,'B' ,'B' ,1 ,1 ,1 ,0 ,0 ,'NT' ,'NT'\r\n) ,('Fix' ,'B' ,'M' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Fix' ,'B' ,'T' ,1 ,1 ,1 ,0 ,0 ,'NT' ,'TDN') ,('Fix' ,'B' ,'V' ,1 ,1 ,1 ,0 ,1 ,'T' ,'TDN') ,('Fix' ,'B'\r\n ,'P' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Fix' ,'B' ,'U' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Fix' ,'B' ,'R' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Fix' ,'M' ,'B' ,0 ,0 ,0 ,0 ,0\r\n ,'N' ,'N') ,('Fix' ,'M' ,'M' ,1 ,1 ,1 ,1 ,0 ,'TDN' ,'TDN') ,('Fix' ,'M' ,'T' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Fix' ,'M' ,'V' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Fix'\r\n ,'M' ,'P' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Fix' ,'M' ,'U' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Fix' ,'M' ,'R' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Fix' ,'T' ,'B' ,1  ,0 ,1\r\n ,0 ,0 ,'TDN' ,'TN') ,('Fix' ,'T' ,'M' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Fix' ,'T' ,'T' ,1 ,1 ,1 ,1 ,0 ,'TDN' ,'TDN') ,('Fix' ,'T' ,'V' ,1 ,1 ,1 ,1 ,1 ,'TDN'\r\n ,'TDN') ,('Fix' ,'T' ,'P' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Fix' ,'T' ,'U' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Fix' ,'T' ,'R' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Fix' ,'V'\r\n ,'B' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Fix' ,'V' ,'M' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Fix' ,'V' ,'T' ,1 ,1 ,1  ,1 ,1 ,'TDN' ,'TDN') ,('Fix' ,'V' ,'V' ,1 ,0 ,0\r\n ,1 ,0 ,'ND' ,'ND') ,('Fix' ,'V' ,'P' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Fix' ,'V' ,'U' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Fix' ,'V' ,'R' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N')\r\n ,('Fix' ,'P' ,'B' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Fix' ,'P' ,'M' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Fix' ,'P' ,'T' ,1 ,0 ,0 ,1 ,0 ,'N' ,'N') ,('Fix' ,'P' ,'V' \r\n,1 ,0 ,0 ,1 ,0 ,'N' ,'N') ,('Fix' ,'P' ,'P' ,1 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Fix' ,'P' ,'U' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Fix' ,'P' ,'R' ,0 ,0 ,0 ,0 ,0 ,'N'\r\n ,'N') ,('Fix' ,'U' ,'B' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Fix' ,'U' ,'M' ,1 ,0 ,0 ,1 ,0 ,'N' ,'N') ,('Fix' ,'U' ,'T' ,1 ,0 ,0 ,1 ,0 ,'N' ,'N') ,('Fix' ,'U'\r\n ,'V' ,1 ,0 ,0 ,1 ,0 ,'N' ,'N') ,('Fix' ,'U' ,'P' ,1 ,0 ,0 ,1  ,0 ,'N' ,'N') ,('Fix' ,'U' ,'U' ,1 ,0 ,0 ,1  ,0 ,'N' ,'N') ,('Fix' ,'U' ,'R' ,0 ,0 ,0 ,0\r\n ,0 ,'N' ,'N') ,('Fix' ,'R' ,'B' ,1   ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Fix' ,'R' ,'M' ,1 ,0 ,0 ,1 ,0 ,'N' ,'N') ,('Fix' ,'R' ,'T' ,1 ,0 ,0 ,1 ,0 ,'N' ,'N') ,(\r\n'Fix' ,'R' ,'V' ,1 ,0 ,0 ,1 ,0 ,'N' ,'N') ,('Fix' ,'R' ,'P' ,1 ,0 ,0 ,1 ,0 ,'N' ,'N') ,('Fix' ,'R' ,'U' ,1 ,0 ,0 ,1 ,0 ,'N' ,'N') ,('Fix' ,'R' ,'R' ,1 \r\n,0 ,0 ,1 ,0 ,'N' ,'N')  ,('Dyn' ,'B' ,'B' ,0  ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Dyn' ,'B' ,'M' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Dyn' ,'B' ,'T' ,0  ,0 ,0 ,0 ,0 ,'N'\r\n ,'N') ,('Dyn' ,'B' ,'V' ,0  ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Dyn' ,'B' ,'P' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Dyn' ,'B' ,'U' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Dyn' ,'B'\r\n ,'R' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Dyn' ,'M' ,'B' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Dyn' ,'M' ,'M' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Dyn' ,'M' ,'T' ,0 ,0 ,0 ,0 ,0\r\n ,'N' ,'N') ,('Dyn' ,'M' ,'V' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Dyn' ,'M' ,'P' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Dyn' ,'M' ,'U' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Dyn'\r\n ,'M' ,'R' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Dyn' ,'T' ,'B' ,0  ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Dyn' ,'T' ,'M' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Dyn' ,'T' ,'T' ,1 ,0 ,1\r\n ,1 ,0 ,'TD' ,'TD') ,('Dyn' ,'T' ,'V' ,1 ,0 ,1 ,1 ,0 ,'TD' ,'TDN') ,('Dyn' ,'T' ,'P' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Dyn' ,'T' ,'U' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N'\r\n) ,('Dyn' ,'T' ,'R' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Dyn' ,'V' ,'B' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Dyn' ,'V' ,'M' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Dyn' ,'V' ,'T'\r\n ,1 ,0 ,1 ,1 ,0 ,'TDN' ,'TD') ,('Dyn' ,'V' ,'V' ,1 ,0 ,1 ,1 ,0 ,'TDN' ,'TDN') ,('Dyn' ,'V' ,'P' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Dyn' ,'V' ,'U' ,0 ,0 ,0 ,0\r\n ,0 ,'N' ,'N') ,('Dyn' ,'V' ,'R' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Dyn' ,'P' ,'B' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Dyn' ,'P' ,'M' ,1 ,0 ,0 ,1 ,0 ,'N' ,'N') ,('Dyn'\r\n ,'P' ,'T' ,1 ,0 ,0 ,1 ,0 ,'N' ,'N') ,('Dyn' ,'P' ,'V' ,1 ,0 ,0 ,1 ,0 ,'N' ,'N') ,('Dyn' ,'P' ,'P' ,1 ,0 ,0 ,1 ,0 ,'N' ,'N') ,('Dyn' ,'P' ,'U' ,0 ,0 ,0\r\n ,0 ,0 ,'N' ,'N') ,('Dyn' ,'P' ,'R' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Dyn' ,'U' ,'B' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Dyn' ,'U' ,'M' ,1 ,0 ,0 ,1 ,0 ,'N' ,'N') ,\r\n('Dyn' ,'U' ,'T' ,1 ,0 ,0 ,1 ,0 ,'N' ,'N') ,('Dyn' ,'U' ,'V' ,1 ,0 ,0 ,1 ,0 ,'N' ,'N') ,('Dyn' ,'U' ,'P' ,1 ,0 ,0 ,1 ,0 ,'N' ,'N') ,('Dyn' ,'U' ,'U' ,1\r\n ,0 ,0 ,1 ,0 ,'N' ,'N') ,('Dyn' ,'U' ,'R' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Dyn' ,'R' ,'B' ,0 ,0 ,0 ,0 ,0 ,'N' ,'N') ,('Dyn' ,'R' ,'M' ,1 ,0 ,0 ,1 ,0 ,'N' ,\r\n'N') ,('Dyn' ,'R' ,'T' ,1 ,0 ,0 ,1 ,0 ,'N' ,'N') ,('Dyn' ,'R' ,'V' ,1 ,0 ,0 ,1 ,0 ,'N' ,'N') ,('Dyn' ,'R' ,'P' ,1 ,0 ,0 ,1 ,0 ,'N' ,'N') ,('Dyn' ,'R' ,\r\n'U' ,1 ,0 ,0 ,1 ,0 ,'N' ,'N') ,('Dyn' ,'R' ,'R' ,1 ,0 ,0 ,1 ,0 ,'N' ,'N') ) x (RIType, ChildType, Parenttype, IsValid, IsInModel, useForRI, useForObjectwalker\r\n, HasBaserelation , ValidChildExecuteBy, ValidParentExecuteBy) ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FTRightsMissingForDisplay",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:32.287",
      "ModifyDate": "2026-04-14T23:20:32.287",
      "Definition": "create function dbo.QBM_FTRightsMissingForDisplay (@TableName varchar(30) ) returns table as return ( select mr.UID_DialogGroup , mr.UID_DialogColumn ,\r\n c.ColumnName , mr.IsTableRightExisting , mr.SelectWhereClause , tc.TableName as ChildTableName from QBMMissingDisplayRight mr with (readpast) join DialogColumn\r\n c with (readpast) on mr.UID_DialogColumn = c.UID_DialogColumn join DialogTable tich with (readpast) on c.UID_DialogTable = tich.UID_DialogTable join DialogTable\r\n tc with (readpast) on mr.UID_DialogTableChild = tc.UID_DialogTable where tich.TableName = @TableName ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FTSchemaDependencies",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:14:10.05",
      "ModifyDate": "2026-04-14T23:14:10.05",
      "Definition": "create function dbo.QBM_FTSchemaDependencies(@ObjectName varchar(30)  , @ObjectNameIsSource bit   ) returns table as return ( select case v.type when 'FN'\r\n then 'F' when 'IF' then 'F' when 'TF' then 'F' when 'V' then 'V' when 'U' then 'T' else '' end as ObjectType , left(v.name, 30) as ObjectName , m.definition\r\n as SourceCode from ( select e.name, e.type, e.object_id from sys.objects e with (readpast) join sys.sql_expression_dependencies dep with (readpast) on\r\n dep.referencing_id = e.object_id join sys.objects abh with (readpast) on dep.referenced_id = abh.object_id where objectproperty(e.object_id, 'IsSchemaBound'\r\n) = 1 and e.type in ('FN' , 'IF' , 'TF' , 'V' , 'U' ) and (abh.name = @ObjectName and @ObjectNameIsSource = 1 and e.name <> @ObjectName ) and e.name not\r\n like 'GEN%' union select abh.name, abh.type, abh.object_id from sys.objects e with (readpast) join sys.sql_expression_dependencies dep with (readpast)\r\n on dep.referencing_id = e.object_id join sys.objects abh with (readpast) on dep.referenced_id = abh.object_id where objectproperty(e.object_id, 'IsSchemaBound'\r\n) = 1 and abh.type in ('FN' , 'IF' , 'TF' , 'V' , 'U' ) and (e.name = @ObjectName and @ObjectNameIsSource = 0 and abh.name <> @ObjectName ) and abh.name\r\n not like 'GEN%' ) v left outer join sys.sql_modules m on v.object_id = m.object_id ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FTSQLKeywords",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:14:09.89",
      "ModifyDate": "2026-04-14T23:14:09.89",
      "Definition": "create function dbo.QBM_FTSQLKeywords ( @NativeSQLOnly bit ) returns table with SCHEMABINDING as return ( select x.KeyWord , x.KeyWordArea , x.KeywordFlagCS\r\n , isnull(vd.floatValue, 0.0) as Risk , case when x.KeyWord like '%*' then 1 else 0 end as IsPattern from ( values ( '@@bauer@@' , 'SystemFunction', 'None'\r\n, null )   ,('sys.', '23995', 'None', 'SystemRisk' ) ,('sp_*', '23995', 'None', 'SystemRisk' ) ,('INFORMATION_SCHEMA.', '23995', 'None', 'SystemRisk' )\r\n ,('msdb..', '23995', 'None', 'SystemRisk' )  ,('@@trancount', 'SystemFunction', 'None', null ) ,('@@servername', 'SystemFunction', 'None', 'SystemRisk'\r\n ) ,('SERVERPROPERTY', 'SystemFunction', 'None', 'SystemRisk' ) ,('@@rowcount', 'SystemFunction', 'None', null ) ,('ERROR_SEVERITY', 'SystemFunction', \r\n'None', null ) ,('ERROR_NUMBER', 'SystemFunction', 'None', null ) ,('ERROR_STATE', 'SystemFunction', 'None', null ) ,('ERROR_MESSAGE', 'SystemFunction'\r\n, 'None', null ) ,('ERROR_LINE', 'SystemFunction', 'None', null ) ,('ERROR_PROCEDURE', 'SystemFunction', 'None', 'SystemRisk' ) ,('sp_executeSQL', 'SystemFunction'\r\n, 'DML', 'SystemRisk' ) ,('sp_bindefault', 'SystemFunction', 'None', 'SystemRisk' ) ,('sp_autostats', 'SystemFunction', 'None', 'SystemRisk' ) ,('sp_settriggerorder'\r\n, 'SystemFunction', 'DDL', 'SystemRisk' ) ,('sp_indexoption', 'SystemFunction', 'DDL', 'SystemRisk' ) ,('sp_unbindefault', 'SystemFunction', 'DDL', 'SystemRisk'\r\n ) ,('msdb..sp_delete_job', 'SystemFunction', 'None', 'SystemRisk' ) ,('msdb..sp_update_job', 'SystemFunction', 'None', 'SystemRisk' ) ,('msdb..sp_add_job'\r\n, 'SystemFunction', 'None', 'SystemRisk' ) ,('msdb..sp_update_schedule', 'SystemFunction', 'None', 'SystemRisk' ) ,('msdb..sp_update_jobstep', 'SystemFunction'\r\n, 'None', 'SystemRisk' ) ,('msdb..sp_start_job', 'SystemFunction', 'None', 'SystemRisk' ) ,('msdb..sp_stop_job', 'SystemFunction', 'None', 'SystemRisk'\r\n ) ,('msdb..sp_add_jobstep', 'SystemFunction', 'None', 'SystemRisk' ) ,('msdb..sp_add_jobschedule', 'SystemFunction', 'None', 'SystemRisk' ) ,('msdb..sp_add_jobserver'\r\n, 'SystemFunction', 'None', 'SystemRisk' ) ,('xp_servicecontrol', 'SystemFunction', 'None', 'SystemRisk' )  ,('INFORMATION_SCHEMA.TABLES', 'SystemFunction'\r\n, 'None', 'SystemRisk' ) ,('INFORMATION_SCHEMA.COLUMNS', 'SystemFunction', 'None', 'SystemRisk' ) ,('datediff', 'SystemFunction', 'None', null ) ,('@@procid'\r\n, 'SystemFunction', 'None', null ) ,('rand', 'SystemFunction', 'None', null ) ,('dateadd', 'SystemFunction', 'None', null ) ,('sign', 'SystemFunction',\r\n 'None', null ) ,('replicate', 'SystemFunction', 'None', null ) ,('rtrim', 'SystemFunction', 'None', null ) ,('ltrim', 'SystemFunction', 'None', null )\r\n  ,('charindex', 'SystemFunction', 'None', 'LinearSearch' ) ,('IS_NULLABLE', 'SystemFunction', 'None', null )  ,('patindex', 'SystemFunction', 'None', \r\n'LinearSearch' ) ,('datepart', 'SystemFunction', 'None', null ) ,('abs', 'SystemFunction', 'None', null ) ,('power', 'SystemFunction', 'None', null ) ,\r\n('hashbytes', 'SystemFunction', 'None', null ) ,('db_name', 'SystemFunction', 'None', 'SystemRisk' ) ,('unicode', 'SystemFunction', 'None', 'CodeToChar'\r\n ) ,('datalength', 'SystemFunction', 'None', null ) ,('XACT_STATE', 'SystemFunction', 'None', null ) ,('@@spid', 'SystemFunction', 'None', 'SystemRisk'\r\n ) ,('newid', 'SystemFunction', 'None', null ) ,('getutcdate', 'SystemFunction', 'None', null ) ,('GetDate', 'SystemFunction', 'None', null ) ,('ascii'\r\n, 'SystemFunction', 'None', 'CodeToChar' ) ,('replace', 'SystemFunction', 'None', null ) ,('STR', 'SystemFunction', 'None', null ) ,('isnull', 'SystemFunction'\r\n, 'None', null ) ,('len', 'SystemFunction', 'None', null ) ,('isnumeric', 'SystemFunction', 'None', null ) ,('ROW_NUMBER', 'SystemFunction', 'None', null\r\n ) ,('SQL_Latin1_General_CP1_CS_AS', 'SystemFunction', 'None', null ) ,('SQL_Latin1_General_CP1_CI_AS', 'SystemFunction', 'None', null ) ,('Latin1_General_100_CS_AS'\r\n, 'SystemFunction', 'None', null ) ,('Latin1_General_100_CI_AS', 'SystemFunction', 'None', null )  ,('FORWARD_ONLY', 'own defined', 'None', null ) ,('FAST_FORWARD'\r\n, 'own defined', 'None', null ) ,('READ_ONLY', 'own defined', 'None', null ) ,('@@fetch_status', 'own defined', 'None', null ) ,('database_default', 'own defined'\r\n, 'None', null ) ,('nvarchar', 'own defined', 'None', null ) ,('round', 'own defined', 'None', null ) ,('try', 'own defined', 'None', null ) ,('catch',\r\n 'own defined', 'None', null ) ,('tablock', 'own defined', 'None', 'SystemRisk' ) ,('delay', 'own defined', 'None', null ) ,('NOWAIT', 'own defined', 'None'\r\n, null ) ,('nolock', 'own defined', 'None', null ) ,('fastfirstrow', 'own defined', 'None', null ) ,('fast', 'own defined', 'None', null )  ,('nocount'\r\n, 'own defined', 'None', null ) ,('yy', 'own defined', 'None', null ) ,('qq', 'own defined', 'None', null ) ,('mm', 'own defined', 'None', null ) ,('dy'\r\n, 'own defined', 'None', null ) ,('dd', 'own defined', 'None', null ) ,('ww', 'own defined', 'None', null ) ,('hh', 'own defined', 'None', null ) ,('mi'\r\n, 'own defined', 'None', null ) ,('ss', 'own defined', 'None', null ) ,('ms', 'own defined', 'None', null ) ,('ACTION', 'T-SQL Future', 'None', null ) \r\n,('ADA', 'ODBC', 'None', null ) ,('ADD', 'T-SQL', 'None', null ) ,('ADMIN', 'T-SQL Future', 'None', null ) ,('AFTER', 'T-SQL Future', 'None', null ) ,(\r\n'AGGREGATE', 'T-SQL Future', 'None', null ) ,('ALIAS', 'T-SQL Future', 'None', null ) ,('ALL', 'T-SQL', 'None', null ) ,('ALLOCATE', 'T-SQL Future', 'None'\r\n, null ) ,('ALTER', 'T-SQL', 'DDL', 'SystemRisk' ) ,('AND', 'T-SQL', 'None', null ) ,('ANY', 'T-SQL', 'None', null ) ,('ARE', 'T-SQL Future', 'None', null\r\n ) ,('ARRAY', 'T-SQL Future', 'None', null ) ,('AS', 'T-SQL', 'None', null ) ,('ASC', 'T-SQL', 'None', null ) ,('ASENSITIVE', 'T-SQL Future', 'None', null\r\n ) ,('ASSERTION', 'T-SQL Future', 'None', null ) ,('ASYMMETRIC', 'T-SQL Future', 'None', null ) ,('AT', 'T-SQL Future', 'None', null ) ,('ATOMIC', 'T-SQL Future'\r\n, 'None', null ) ,('AUTHORIZATION', 'T-SQL', 'None', null ) ,('AVG', 'ODBC', 'None', null ) ,('BACKUP', 'T-SQL', 'DML', 'SystemRisk' ) ,('BEFORE', 'T-SQL Future'\r\n, 'None', null ) ,('BEGIN', 'T-SQL', 'None', null ) ,('BETWEEN', 'T-SQL', 'None', null ) ,('BINARY', 'T-SQL Future', 'None', null ) ,('BIT', 'T-SQL Future'\r\n, 'None', null ) ,('BIT_LENGTH', 'ODBC', 'None', null ) ,('BLOB', 'T-SQL Future', 'None', null ) ,('BOOLEAN', 'T-SQL Future', 'None', null ) ,('BOTH', \r\n'T-SQL Future', 'None', null ) ,('BREADTH', 'T-SQL Future', 'None', null ) ,('BREAK', 'T-SQL', 'None', null ) ,('BROWSE', 'T-SQL', 'DML', 'SystemRisk' \r\n) ,('BULK', 'T-SQL', 'DML', 'SystemRisk' ) ,('BY', 'T-SQL', 'None', null ) ,('CALL', 'T-SQL Future', 'None', null ) ,('CALLED', 'T-SQL Future', 'None',\r\n null ) ,('CARDINALITY', 'T-SQL Future', 'None', null ) ,('CASCADE', 'T-SQL', 'DML', 'SystemRisk' ) ,('CASCADED', 'T-SQL Future', 'None', null ) ,('CASE'\r\n, 'T-SQL', 'None', null ) ,('CAST', 'T-SQL Future', 'None', null ) ,('CATALOG', 'T-SQL Future', 'None', null )  ,('CHAR', 'T-SQL Future', 'None', 'BinarySearch'\r\n ) ,('char(7)', 'own defined', 'None', null ) ,('char(10)', 'own defined', 'None', null ) ,('char(13)', 'own defined', 'None', null ) ,('char(0)', 'own defined'\r\n, 'None', null ) ,('convert(char', 'own defined', 'None', null )  , ('as char', 'own defined', 'None', null ) ,('CHAR_LENGTH', 'ODBC', 'None', null ) ,\r\n('CHARACTER', 'T-SQL Future', 'None', null ) ,('CHARACTER_LENGTH', 'ODBC', 'None', null ) ,('CHECK', 'T-SQL', 'None', null ) ,('CHECKPOINT', 'T-SQL', 'DML'\r\n, 'SystemRisk' ) ,('CLASS', 'T-SQL Future', 'None', null ) ,('CLOB', 'T-SQL Future', 'None', null ) ,('CLOSE', 'T-SQL', 'None', null ) ,('CLUSTERED', 'T-SQL'\r\n, 'DML', 'SystemRisk' ) ,('COALESCE', 'T-SQL', 'None', null ) ,('COLLATE', 'T-SQL', 'None', null ) ,('COLLATION', 'T-SQL Future', 'None', null ) ,('COLLECT'\r\n, 'T-SQL Future', 'None', null ) ,('COLUMN', 'T-SQL', 'None', null ) ,('COMMIT', 'T-SQL', 'DML', 'SystemRisk' ) ,('COMPLETION', 'T-SQL Future', 'None',\r\n null ) ,('COMPUTE', 'T-SQL', 'None', null ) ,('CONDITION', 'T-SQL Future', 'None', null ) ,('CONNECT', 'T-SQL Future', 'None', null ) ,('CONNECTION', \r\n'T-SQL Future', 'None', null ) ,('CONSTRAINT', 'T-SQL', 'DML', 'SystemRisk' ) ,('CONSTRAINTS', 'T-SQL Future', 'None', null ) ,('CONSTRUCTOR', 'T-SQL Future'\r\n, 'None', null ) ,('CONTAINS', 'T-SQL', 'None', null ) ,('CONTAINSTABLE', 'T-SQL', 'None', null ) ,('CONTINUE', 'T-SQL', 'None', null ) ,('CONVERT', 'T-SQL'\r\n, 'None', null ) ,('CORR', 'T-SQL Future', 'None', null ) ,('CORRESPONDING', 'T-SQL Future', 'None', null ) ,('COUNT', 'ODBC', 'None', null ) ,('COVAR_POP'\r\n, 'T-SQL Future', 'None', null ) ,('COVAR_SAMP', 'T-SQL Future', 'None', null ) ,('CREATE', 'T-SQL', 'DML', 'SystemRisk' ) ,('CROSS', 'T-SQL', 'None', \r\nnull ) ,('CUBE', 'T-SQL Future', 'None', null ) ,('CUME_DIST', 'T-SQL Future', 'None', null ) ,('CURRENT', 'T-SQL', 'None', null ) ,('CURRENT_CATALOG',\r\n 'T-SQL Future', 'None', null ) ,('CURRENT_DATE', 'T-SQL', 'None', null ) ,('CURRENT_DEFAULT_TRANSFORM_GROUP', 'T-SQL Future', 'None', null ) ,('CURRENT_PATH'\r\n, 'T-SQL Future', 'None', null ) ,('CURRENT_ROLE', 'T-SQL Future', 'None', null ) ,('CURRENT_SCHEMA', 'T-SQL Future', 'None', null ) ,('CURRENT_TIME', \r\n'T-SQL', 'None', null ) ,('CURRENT_TIMESTAMP', 'T-SQL', 'None', null ) ,('CURRENT_TRANSFORM_GROUP_FOR_TYPE', 'T-SQL Future', 'None', null ) ,('CURRENT_USER'\r\n, 'T-SQL', 'None', 'SystemInformation' )  ,('CUR' + 'SOR', 'T-SQL', 'None', null ) ,('CYCLE', 'T-SQL Future', 'None', null ) ,('DATA', 'T-SQL Future', \r\n'None', null ) ,('DATABASE', 'T-SQL', 'DML', 'SystemRisk' ) ,('DATE', 'T-SQL Future', 'None', null ) ,('DAY', 'T-SQL Future', 'None', null ) ,('DBCC', \r\n'T-SQL', 'DML', 'SystemRisk' ) ,('DEALLOCATE', 'T-SQL', 'None', null ) ,('DEC', 'T-SQL Future', 'None', null ) ,('DECIMAL', 'T-SQL Future', 'None', null\r\n ) ,('DECLARE', 'T-SQL', 'None', null ) ,('DEFAULT', 'T-SQL', 'None', null ) ,('DEFERRABLE', 'T-SQL Future', 'None', null ) ,('DEFERRED', 'T-SQL Future'\r\n, 'None', null ) ,('DELETE', 'T-SQL', 'DML', 'SystemRisk' ) ,('DENY', 'T-SQL', 'DML', 'SystemRisk' ) ,('DEPTH', 'T-SQL Future', 'None', null ) ,('DEREF'\r\n, 'T-SQL Future', 'None', null ) ,('DESC', 'T-SQL', 'None', null ) ,('DESCRIBE', 'T-SQL Future', 'None', null ) ,('DESCRIPTOR', 'T-SQL Future', 'None',\r\n null ) ,('DESTROY', 'T-SQL Future', 'None', null ) ,('DESTRUCTOR', 'T-SQL Future', 'None', null ) ,('DETERMINISTIC', 'T-SQL Future', 'None', null ) ,(\r\n'DIAGNOSTICS', 'T-SQL Future', 'None', null ) ,('DICTIONARY', 'T-SQL Future', 'None', null ) ,('DISCONNECT', 'T-SQL Future', 'None', null ) ,('DISK', 'T-SQL'\r\n, 'DML', 'SystemRisk' ) ,('DISTINCT', 'T-SQL', 'None', null ) ,('DISTRIBUTED', 'T-SQL', 'DML', 'SystemRisk' ) ,('DOMAIN', 'T-SQL Future', 'None', null \r\n) ,('DOUBLE', 'T-SQL', 'None', null ) ,('DROP', 'T-SQL', 'DDL', 'SystemRisk' ) ,('DUMP', 'T-SQL', 'DML', 'SystemRisk' ) ,('DYNAMIC', 'T-SQL Future', 'None'\r\n, null ) ,('EACH', 'T-SQL Future', 'None', null ) ,('ELEMENT', 'T-SQL Future', 'None', null ) ,('ELSE', 'T-SQL', 'None', null ) ,('END', 'T-SQL', 'None'\r\n, null ) ,('END-EXEC', 'T-SQL Future', 'None', null ) ,('EQUALS', 'T-SQL Future', 'None', null ) ,('ERRLVL', 'T-SQL', 'None', null ) ,('ESCAPE', 'T-SQL'\r\n, 'None', null ) ,('EVERY', 'T-SQL Future', 'None', null ) ,('EXCEPT', 'T-SQL', 'None', null ) ,('EXCEPTION', 'T-SQL Future', 'None', null ) ,('EXEC', \r\n'T-SQL', 'DML', 'SystemRisk' ) ,('EXECUTE', 'T-SQL', 'DML', 'SystemRisk' ) ,('EXISTS', 'T-SQL', 'None', null ) ,('EXIT', 'T-SQL', 'None', null ) ,('EXTERNAL'\r\n, 'T-SQL', 'None', null ) ,('EXTRACT', 'ODBC', 'None', null ) ,('FALSE', 'T-SQL Future', 'None', null ) ,('FETCH', 'T-SQL', 'None', null ) ,('FILE', 'T-SQL'\r\n, 'DML', 'SystemRisk' ) ,('FILLFACTOR', 'T-SQL', 'DML', 'SystemRisk' ) ,('FILTER', 'T-SQL Future', 'None', null ) ,('FIRST', 'T-SQL Future', 'None', null\r\n ) ,('FLOAT', 'T-SQL Future', 'None', null ) ,('FOR', 'T-SQL', 'None', null ) ,('FOREIGN', 'T-SQL', 'DML', 'SystemRisk' ) ,('FORTRAN', 'ODBC', 'None', \r\nnull ) ,('FOUND', 'T-SQL Future', 'None', null ) ,('FREE', 'T-SQL Future', 'None', null ) ,('FREETEXT', 'T-SQL', 'None', null ) ,('FREETEXTTABLE', 'T-SQL'\r\n, 'None', null ) ,('FROM', 'T-SQL', 'None', null ) ,('FULL', 'T-SQL', 'None', null ) ,('FUNCTION', 'T-SQL', 'DML', 'SystemRisk' ) ,('FUSION', 'T-SQL Future'\r\n, 'None', null ) ,('GENERAL', 'T-SQL Future', 'None', null ) ,('GET', 'T-SQL Future', 'None', null ) ,('GLOBAL', 'T-SQL Future', 'None', null ) ,('GO',\r\n 'T-SQL Future', 'None', null ) ,('GOTO', 'T-SQL', 'None', null ) ,('GRANT', 'T-SQL', 'DML', 'SystemRisk' ) ,('GROUP', 'T-SQL', 'None', null ) ,('GROUPING'\r\n, 'T-SQL Future', 'None', null ) ,('HAVING', 'T-SQL', 'None', null ) ,('HOLD', 'T-SQL Future', 'None', null ) ,('HOLDLOCK', 'T-SQL', 'DML', 'SystemRisk'\r\n ) ,('HOST', 'T-SQL Future', 'None', null ) ,('HOUR', 'T-SQL Future', 'None', null ) ,('IDENTITY', 'T-SQL', 'None', null ) ,('IDENTITY_INSERT', 'T-SQL'\r\n, 'None', null ) ,('IDENTITYCOL', 'T-SQL', 'None', null ) ,('IF', 'T-SQL', 'None', null ) ,('IGNORE', 'T-SQL Future', 'None', null ) ,('IMMEDIATE', 'T-SQL Future'\r\n, 'None', null ) ,('IN', 'T-SQL', 'None', null ) ,('INCLUDE', 'ODBC', 'None', null ) ,('INDEX', 'T-SQL', 'None', null ) ,('INDICATOR', 'T-SQL Future', \r\n'None', null ) ,('INITIALIZE', 'T-SQL Future', 'None', null ) ,('INITIALLY', 'T-SQL Future', 'None', null ) ,('INNER', 'T-SQL', 'None', null ) ,('INOUT'\r\n, 'T-SQL Future', 'None', null ) ,('INPUT', 'T-SQL Future', 'None', null ) ,('INSENSITIVE', 'ODBC', 'None', null ) ,('INSERT', 'T-SQL', 'DML', 'SystemRisk'\r\n ) ,('INT', 'T-SQL Future', 'None', null ) ,('INTEGER', 'T-SQL Future', 'None', null ) ,('INTERSECT', 'T-SQL', 'None', null ) ,('INTERSECTION', 'T-SQL Future'\r\n, 'None', null ) ,('INTERVAL', 'T-SQL Future', 'None', null ) ,('INTO', 'T-SQL', 'None', null ) ,('IS', 'T-SQL', 'None', null ) ,('ISOLATION', 'T-SQL Future'\r\n, 'None', null ) ,('ITERATE', 'T-SQL Future', 'None', null ) ,('JOIN', 'T-SQL', 'DQL', null ) ,('KEY', 'T-SQL', 'None', null ) ,('KILL', 'T-SQL', 'DML'\r\n, 'SystemRisk' ) ,('LANGUAGE', 'T-SQL Future', 'None', null ) ,('LARGE', 'T-SQL Future', 'None', null ) ,('LAST', 'T-SQL Future', 'None', null ) ,('LATERAL'\r\n, 'T-SQL Future', 'None', null ) ,('LEADING', 'T-SQL Future', 'None', null )   ,('LEFT', 'T-SQL', 'None', 'BinarySearch' ) ,('LEFT join', 'own defined'\r\n, 'None', null ) ,('LEFT outer join','own defined', 'None', null ) ,('LESS', 'T-SQL Future', 'None', null ) ,('LEVEL', 'T-SQL Future', 'None', null )  \r\n,('LIKE', 'T-SQL', 'None', 'LinearSearch' ) ,('LIKE_REGEX', 'T-SQL Future', 'None', 'LinearSearch' )  ,('[*] > ''*'' and [*] < ''*''', 'own defined', 'None'\r\n, 'LinearSearch' ) ,('[*] > ''*'' and [*] <= ''*''', 'own defined', 'None', 'LinearSearch' ) ,('[*] >= ''*'' and [*] < ''*''', 'own defined', 'None', 'LinearSearch'\r\n ) ,('[*] >= ''*'' and [*] <= ''*''', 'own defined', 'None', 'LinearSearch' ) ,('[*] < ''*'' and [*] > ''*''', 'own defined', 'None', 'LinearSearch' ) \r\n,('[*] <= ''*'' and [*] > ''*''', 'own defined', 'None', 'LinearSearch' ) ,('[*] < ''*'' and [*] >= ''*''', 'own defined', 'None', 'LinearSearch' ) ,('[*] <= ''*'' and [*] >= ''*'''\r\n, 'own defined', 'None', 'LinearSearch' ) ,('[*] between ''*'' and ''*''', 'own defined', 'None', 'LinearSearch' )   ,('> '' ''', 'own defined', 'None'\r\n, null ) ,('> N'' ''', 'own defined', 'None', null )  ,('>= '' ''', 'own defined', 'None', null ) ,('>= N'' ''', 'own defined', 'None', null ) ,('> 0',\r\n 'own defined', 'None', null ) ,('>= 0', 'own defined', 'None', null ) ,('< 0', 'own defined', 'None', null ) ,('<= 0', 'own defined', 'None', null ) ,\r\n('<> 0', 'own defined', 'None', null ) ,('> ''1899-12-30''', 'own defined', 'None', null ) ,('>= ''1899-12-30''', 'own defined', 'None', null ) ,('< ''1899-12-30'''\r\n, 'own defined', 'None', null ) ,('<= ''1899-12-30''', 'own defined', 'None', null ) ,('<> ''1899-12-30''', 'own defined', 'None', null ) ,('> ''1899-12-31'''\r\n, 'own defined', 'None', null ) ,('>= ''1899-12-31''', 'own defined', 'None', null ) ,('< ''1899-12-31''', 'own defined', 'None', null ) ,('<= ''1899-12-31'''\r\n, 'own defined', 'None', null ) ,('<> ''1899-12-31''', 'own defined', 'None', null ) ,('> ''1900-01-01''', 'own defined', 'None', null ) ,('>= ''1900-01-01'''\r\n, 'own defined', 'None', null ) ,('< ''1900-01-01''', 'own defined', 'None', null ) ,('<= ''1900-01-01''', 'own defined', 'None', null ) ,('<> ''1900-01-01'''\r\n, 'own defined', 'None', null ) ,('> ''2200-01-01''', 'own defined', 'None', null ) ,('>= ''2200-01-01''', 'own defined', 'None', null ) ,('< ''2200-01-01'''\r\n, 'own defined', 'None', null ) ,('<= ''2200-01-01''', 'own defined', 'None', null ) ,('<> ''2200-01-01''', 'own defined', 'None', null )  ,('AccessLevelMin >='\r\n, 'own defined', 'None', null ) ,('AccessLevelMin <=', 'own defined', 'None', null ) ,('LIMIT', 'T-SQL Future', 'None', null ) ,('LINENO', 'T-SQL', 'None'\r\n, null ) ,('LN', 'T-SQL Future', 'None', null ) ,('LOAD', 'T-SQL', 'None', null ) ,('LOCAL', 'T-SQL Future', 'None', null ) ,('LOCALTIME', 'T-SQL Future'\r\n, 'None', null ) ,('LOCALTIMESTAMP', 'T-SQL Future', 'None', null ) ,('LOCATOR', 'T-SQL Future', 'None', null ) ,('LOWER', 'ODBC', 'None', null ) ,('MAP'\r\n, 'T-SQL Future', 'None', null ) ,('MATCH', 'T-SQL Future', 'None', null ) ,('MAX', 'ODBC', 'None', null ) ,('MEMBER', 'T-SQL Future', 'None', null ) ,\r\n('MERGE', 'T-SQL', 'None', null ) ,('METHOD', 'T-SQL Future', 'None', null ) ,('MIN', 'ODBC', 'None', null ) ,('MINUTE', 'T-SQL Future', 'None', null )\r\n ,('MOD', 'T-SQL Future', 'None', null ) ,('MODIFIES', 'T-SQL Future', 'None', null ) ,('MODIFY', 'T-SQL Future', 'None', null ) ,('MODULE', 'T-SQL Future'\r\n, 'None', null ) ,('MONTH', 'T-SQL Future', 'None', null ) ,('MULTISET', 'T-SQL Future', 'None', null ) ,('NAMES', 'T-SQL Future', 'None', null ) ,('NATIONAL'\r\n, 'T-SQL', 'None', null ) ,('NATURAL', 'T-SQL Future', 'None', null )  ,('NCHAR', 'T-SQL Future', 'None', 'BinarySearch' ) ,('nchar(7)', 'own defined',\r\n 'None', null ) ,('nchar(10)', 'own defined', 'None', null ) ,('nchar(13)', 'own defined', 'None', null ) ,('nchar(0)', 'own defined', 'None', null ) ,\r\n('convert(nchar', 'own defined', 'None', null )  , ('as nchar', 'own defined', 'None', null ) ,('NCLOB', 'T-SQL Future', 'None', null ) ,('NEW', 'T-SQL Future'\r\n, 'None', null ) ,('NEXT', 'T-SQL Future', 'None', null ) ,('NO', 'T-SQL Future', 'None', null ) ,('NOCHECK', 'T-SQL', 'DML', 'SystemRisk' ) ,('NONCLUSTERED'\r\n, 'T-SQL', 'DML', 'SystemRisk' ) ,('NONE', 'T-SQL Future', 'None', null ) ,('NORMALIZE', 'T-SQL Future', 'None', null ) ,('NOT', 'T-SQL', 'None', null \r\n) ,('NULL', 'T-SQL', 'None', null ) ,('NULLIF', 'T-SQL', 'None', null ) ,('NUMERIC', 'T-SQL Future', 'None', null ) ,('OBJECT', 'T-SQL Future', 'None',\r\n null ) ,('OCCURRENCES_REGEX', 'T-SQL Future', 'None', null ) ,('OCTET_LENGTH', 'ODBC', 'None', null ) ,('OF', 'T-SQL', 'None', null ) ,('OFF', 'T-SQL'\r\n, 'None', null ) ,('OFFSETS', 'T-SQL', 'None', null ) ,('OLD', 'T-SQL Future', 'None', null ) ,('ON', 'T-SQL', 'None', null ) ,('ONLY', 'T-SQL Future',\r\n 'None', null ) ,('OPEN', 'T-SQL', 'None', null ) ,('OPENDATASOURCE', 'T-SQL', 'DML', 'SystemRisk' ) ,('OPENQUERY', 'T-SQL', 'DML', 'SystemRisk' ) ,('OPENROWSET'\r\n, 'T-SQL', 'DML', 'SystemRisk' ) ,('OPENXML', 'T-SQL', 'DML', 'SystemRisk' ) ,('OPERATION', 'T-SQL Future', 'None', null ) ,('OPTION', 'T-SQL', 'None',\r\n null ) ,('OR', 'T-SQL', 'None', null ) ,('ORDER', 'T-SQL', 'None', null ) ,('ORDINALITY', 'T-SQL Future', 'None', null ) ,('OUT', 'T-SQL Future', 'None'\r\n, null ) ,('OUTER', 'T-SQL', 'None', null ) ,('OUTPUT', 'T-SQL', 'None', null ) ,('OVER', 'T-SQL', 'None', null ) ,('OVERLAPS', 'ODBC', 'None', null ) \r\n,('OVERLAY', 'T-SQL Future', 'None', null ) ,('PAD', 'T-SQL Future', 'None', null ) ,('PARAMETER', 'T-SQL Future', 'None', null ) ,('PARAMETERS', 'T-SQL Future'\r\n, 'None', null ) ,('PARTIAL', 'T-SQL Future', 'None', null ) ,('PARTITION', 'T-SQL Future', 'None', null ) ,('PASCAL', 'ODBC', 'None', null ) ,('PATH',\r\n 'T-SQL Future', 'None', null ) ,('PERCENT', 'T-SQL', 'None', null ) ,('PERCENT_RANK', 'T-SQL Future', 'None', null ) ,('PERCENTILE_CONT', 'T-SQL Future'\r\n, 'None', null ) ,('PERCENTILE_DISC', 'T-SQL Future', 'None', null ) ,('PIVOT', 'T-SQL', 'None', null ) ,('PLAN', 'T-SQL', 'DML', 'SystemRisk' ) ,('POSITION'\r\n, 'ODBC', 'None', null ) ,('POSITION_REGEX', 'T-SQL Future', 'None', null ) ,('POSTFIX', 'T-SQL Future', 'None', null ) ,('PRECISION', 'T-SQL', 'None',\r\n null ) ,('PREFIX', 'T-SQL Future', 'None', null ) ,('PREORDER', 'T-SQL Future', 'None', null ) ,('PREPARE', 'T-SQL Future', 'None', null ) ,('PRESERVE'\r\n, 'T-SQL Future', 'None', null ) ,('PRIMARY', 'T-SQL', 'None', null ) ,('PRINT', 'T-SQL', 'None', null ) ,('PRIOR', 'T-SQL Future', 'None', null ) ,('PRIVILEGES'\r\n, 'T-SQL Future', 'None', null ) ,('PROC', 'T-SQL', 'DML', 'SystemRisk' ) ,('PROCEDURE', 'T-SQL', 'DML', 'SystemRisk' ) ,('PUBLIC', 'T-SQL', 'None', null\r\n ) ,('RAISERROR', 'T-SQL', 'DML', 'SystemRisk' ) ,('RANGE', 'T-SQL Future', 'None', null ) ,('READ', 'T-SQL', 'None', null ) ,('READS', 'T-SQL Future',\r\n 'None', null ) ,('READTEXT', 'T-SQL', 'None', null ) ,('REAL', 'T-SQL Future', 'None', null ) ,('RECONFIGURE', 'T-SQL', 'DML', 'SystemRisk' ) ,('RECURSIVE'\r\n, 'T-SQL Future', 'None', null ) ,('REF', 'T-SQL Future', 'None', null ) ,('REFERENCES', 'T-SQL', 'DML', 'SystemRisk' ) ,('REFERENCING', 'T-SQL Future'\r\n, 'None', null ) ,('REGR_AVGX', 'T-SQL Future', 'None', null ) ,('REGR_AVGY', 'T-SQL Future', 'None', null ) ,('REGR_COUNT', 'T-SQL Future', 'None', null\r\n ) ,('REGR_INTERCEPT', 'T-SQL Future', 'None', null ) ,('REGR_R2', 'T-SQL Future', 'None', null ) ,('REGR_SLOPE', 'T-SQL Future', 'None', null ) ,('REGR_SXX'\r\n, 'T-SQL Future', 'None', null ) ,('REGR_SXY', 'T-SQL Future', 'None', null ) ,('REGR_SYY', 'T-SQL Future', 'None', null ) ,('RELATIVE', 'T-SQL Future'\r\n, 'None', null ) ,('RELEASE', 'T-SQL Future', 'None', null ) ,('REPLICATION', 'T-SQL', 'DML', 'SystemRisk' ) ,('RESTORE', 'T-SQL', 'DML', 'SystemRisk' \r\n) ,('RESTRICT', 'T-SQL', 'DML', 'SystemRisk' ) ,('RESULT', 'T-SQL Future', 'None', null ) ,('RETURN', 'T-SQL', 'None', null ) ,('RETURNS', 'T-SQL Future'\r\n, 'None', null ) ,('REVERT', 'T-SQL', 'None', null ) ,('REVOKE', 'T-SQL', 'DML', 'SystemRisk' )   ,('RIGHT', 'T-SQL', 'None', 'BinarySearch' ) ,('RIGHT join'\r\n, 'own defined', 'None', null ) ,('RIGHT outer join','own defined', 'None', null ) ,('ROLE', 'T-SQL Future', 'None', null ) ,('ROLLBACK', 'T-SQL', 'DML'\r\n, 'SystemRisk' ) ,('ROLLUP', 'T-SQL Future', 'None', null ) ,('ROUTINE', 'T-SQL Future', 'None', null ) ,('ROW', 'T-SQL Future', 'None', null ) ,('ROWCOUNT'\r\n, 'T-SQL', 'None', null ) ,('ROWGUIDCOL', 'T-SQL', 'None', null ) ,('ROWS', 'T-SQL Future', 'None', null ) ,('RULE', 'T-SQL', 'None', null ) ,('SAVE', \r\n'T-SQL', 'None', null ) ,('SAVEPOINT', 'T-SQL Future', 'None', null ) ,('SCHEMA', 'T-SQL', 'None', null ) ,('SCOPE', 'T-SQL Future', 'None', null ) ,('SCROLL'\r\n, 'T-SQL Future', 'None', null ) ,('SEARCH', 'T-SQL Future', 'None', null ) ,('SECOND', 'T-SQL Future', 'None', null ) ,('SECTION', 'T-SQL Future', 'None'\r\n, null ) ,('SECURITYAUDIT', 'T-SQL', 'None', null ) ,('SELECT', 'T-SQL', 'DQL', null ) ,('SEMANTICKEYPHRASETABLE', 'T-SQL', 'None', null ) ,('SEMANTICSIMILARITYDETAILSTABLE'\r\n, 'T-SQL', 'None', null ) ,('SEMANTICSIMILARITYTABLE', 'T-SQL', 'None', null ) ,('SENSITIVE', 'T-SQL Future', 'None', null ) ,('SEQUENCE', 'T-SQL Future'\r\n, 'None', null ) ,('SESSION', 'T-SQL Future', 'None', null ) ,('SESSION_USER', 'T-SQL', 'None', 'SystemRisk' )  ,('SET', 'T-SQL', 'None', null ) ,('SETS'\r\n, 'T-SQL Future', 'None', null ) ,('SETUSER', 'T-SQL', 'DML', 'SystemRisk' ) ,('SHUTDOWN', 'T-SQL', 'DCL', 'SystemRisk' ) ,('SIMILAR', 'T-SQL Future', \r\n'None', null ) ,('SIZE', 'T-SQL Future', 'None', null ) ,('SMALLINT', 'T-SQL Future', 'None', null ) ,('SOME', 'T-SQL', 'None', null ) ,('SPACE', 'T-SQL Future'\r\n, 'None', null ) ,('SPECIFIC', 'T-SQL Future', 'None', null ) ,('SPECIFICTYPE', 'T-SQL Future', 'None', null ) ,('SQL', 'T-SQL Future', 'None', null ) \r\n,('SQLCA', 'ODBC', 'None', null ) ,('SQLCODE', 'ODBC', 'None', null ) ,('SQLERROR', 'ODBC', 'None', null ) ,('SQLEXCEPTION', 'T-SQL Future', 'None', null\r\n ) ,('SQLSTATE', 'T-SQL Future', 'None', null ) ,('SQLWARNING', 'T-SQL Future', 'None', null ) ,('START', 'T-SQL Future', 'None', null ) ,('STATEMENT',\r\n 'T-SQL Future', 'None', null ) ,('STATIC', 'T-SQL Future', 'None', null ) ,('STATISTICS', 'T-SQL', 'None', null ) ,('STDDEV_POP', 'T-SQL Future', 'None'\r\n, null ) ,('STDDEV_SAMP', 'T-SQL Future', 'None', null ) ,('STRUCTURE', 'T-SQL Future', 'None', null ) ,('SUBMULTISET', 'T-SQL Future', 'None', null ) \r\n ,('SUBSTRING', 'T-SQL', 'None', 'BinarySearch' ) ,('SUBSTRING_REGEX', 'T-SQL Future', 'None', 'BinarySearch' ) ,('SUM', 'ODBC', 'None', null ) ,('SYMMETRIC'\r\n, 'T-SQL Future', 'None', null ) ,('SYSTEM', 'T-SQL Future', 'None', null ) ,('SYSTEM_USER', 'T-SQL', 'None', 'SystemRisk' )  ,('TABLE', 'T-SQL', 'None'\r\n, null ) ,('TABLESAMPLE', 'T-SQL', 'None', null ) ,('TEMPORARY', 'T-SQL Future', 'None', null ) ,('TERMINATE', 'T-SQL Future', 'None', null ) ,('TEXTSIZE'\r\n, 'T-SQL', 'None', null ) ,('THAN', 'T-SQL Future', 'None', null ) ,('THEN', 'T-SQL', 'None', null ) ,('TIME', 'T-SQL Future', 'None', null ) ,('TIMESTAMP'\r\n, 'T-SQL Future', 'None', null ) ,('TIMEZONE_HOUR', 'T-SQL Future', 'None', null ) ,('TIMEZONE_MINUTE', 'T-SQL Future', 'None', null ) ,('TO', 'T-SQL',\r\n 'None', null ) ,('TOP', 'T-SQL', 'None', null ) ,('TRAILING', 'T-SQL Future', 'None', null ) ,('TRAN', 'T-SQL', 'None', null ) ,('TRANSACTION', 'T-SQL'\r\n, 'DML', 'SystemRisk' ) ,('TRANSLATE', 'ODBC', 'None', 'LinearSearch' )  ,('TRANSLATE_REGEX', 'T-SQL Future', 'None', 'LinearSearch' ) ,('TRANSLATION',\r\n 'T-SQL Future', 'None', 'LinearSearch' )  ,('TREAT', 'T-SQL Future', 'None', null ) ,('TRIGGER', 'T-SQL', 'DML', 'SystemRisk' ) ,('TRIM', 'ODBC', 'None'\r\n, null ) ,('TRUE', 'T-SQL Future', 'None', null ) ,('TRUNCATE', 'T-SQL', 'DML', 'SystemRisk' ) ,('TRY_CONVERT', 'T-SQL', 'None', null ) ,('TSEQUAL', 'T-SQL'\r\n, 'None', null ) ,('UESCAPE', 'T-SQL Future', 'None', null ) ,('UNDER', 'T-SQL Future', 'None', null ) ,('UNION', 'T-SQL', 'None', null ) ,('UNIQUE', 'T-SQL'\r\n, 'None', null ) ,('UNKNOWN', 'T-SQL Future', 'None', null ) ,('UNNEST', 'T-SQL Future', 'None', null ) ,('UNPIVOT', 'T-SQL', 'None', null ) ,('UPDATE'\r\n, 'T-SQL', 'DML', 'SystemRisk' ) ,('UPDATETEXT', 'T-SQL', 'DML', 'SystemRisk' ) ,('UPPER', 'ODBC', 'None', null ) ,('USAGE', 'T-SQL Future', 'None', null\r\n ) ,('USE', 'T-SQL', 'DCL', 'SystemRisk' ) ,('USER', 'T-SQL', 'DCL', 'SystemRisk' ) ,('USING', 'T-SQL Future', 'None', null ) ,('VALUE', 'T-SQL Future'\r\n, 'None', null ) ,('VALUES', 'T-SQL', 'None', null ) ,('VAR_POP', 'T-SQL Future', 'None', null ) ,('VAR_SAMP', 'T-SQL Future', 'None', null ) ,('VARCHAR'\r\n, 'T-SQL Future', 'None', null ) ,('VARIABLE', 'T-SQL Future', 'None', null ) ,('VARYING', 'T-SQL', 'None', null ) ,('VIEW', 'T-SQL', 'None', null ) ,(\r\n'WAITFOR', 'T-SQL', 'None', 'SystemRisk' ) ,('WHEN', 'T-SQL', 'None', null ) ,('WHENEVER', 'T-SQL Future', 'None', null ) ,('WHERE', 'T-SQL', 'None', null\r\n ) ,('WHILE', 'T-SQL', 'None', null ) ,('WIDTH_BUCKET', 'T-SQL Future', 'None', null ) ,('WINDOW', 'T-SQL Future', 'None', null ) ,('WITH', 'T-SQL', 'None'\r\n, null ) ,('WITHIN', 'T-SQL Future', 'None', null ) ,('WITHIN GROUP', 'T-SQL', 'None', null ) ,('WITHOUT', 'T-SQL Future', 'None', null ) ,('WORK', 'T-SQL Future'\r\n, 'None', null ) ,('WRITE', 'T-SQL Future', 'None', null ) ,('WRITETEXT', 'T-SQL', 'DML', 'SystemRisk' ) ,('XMLAGG', 'T-SQL Future', 'None', null ) ,('XMLATTRIBUTES'\r\n, 'T-SQL Future', 'None', null ) ,('XMLBINARY', 'T-SQL Future', 'None', null ) ,('XMLCAST', 'T-SQL Future', 'None', null ) ,('XMLCOMMENT', 'T-SQL Future'\r\n, 'None', null ) ,('XMLCONCAT', 'T-SQL Future', 'None', null ) ,('XMLDOCUMENT', 'T-SQL Future', 'None', null ) ,('XMLELEMENT', 'T-SQL Future', 'None', \r\nnull ) ,('XMLEXISTS', 'T-SQL Future', 'None', null ) ,('XMLFOREST', 'T-SQL Future', 'None', null ) ,('XMLITERATE', 'T-SQL Future', 'None', null ) ,('XMLNAMESPACES'\r\n, 'T-SQL Future', 'None', null ) ,('XMLPARSE', 'T-SQL Future', 'None', null ) ,('XMLPI', 'T-SQL Future', 'None', null ) ,('XMLQUERY', 'T-SQL Future', 'None'\r\n, null ) ,('XMLSERIALIZE', 'T-SQL Future', 'None', null ) ,('XMLTABLE', 'T-SQL Future', 'None', null ) ,('XMLTEXT', 'T-SQL Future', 'None', null ) ,('XMLVALIDATE'\r\n, 'T-SQL Future', 'None', null ) ,('YEAR', 'T-SQL Future', 'None', null ) ,('ZONE', 'T-SQL Future', 'None', null )  ,('CERTENCODED', 'T-SQL', 'None', 'SystemRisk'\r\n ) ,('CERTPRIVATEKEY', 'T-SQL', 'None', 'SystemRisk' ) ,('SUSER_NAME', 'T-SQL', 'None', 'SystemRisk' ) ,('HAS_DBACCESS', 'T-SQL', 'None', 'SystemRisk' \r\n) ,('HAS_PERMS_BY_NAME', 'T-SQL', 'None', 'SystemInformation' ) ,('IS_MEMBER', 'T-SQL', 'None', 'SystemInformation' ) ,('IS_ROLEMEMBER', 'T-SQL', 'None'\r\n, 'SystemInformation' ) ,('IS_SRVROLEMEMBER', 'T-SQL', 'None', 'SystemInformation' ) ,('ORIGINAL_LOGIN', 'T-SQL', 'None', 'SystemRisk' ) ,('PERMISSIONS'\r\n, 'T-SQL', 'None', 'SystemInformation' ) ,('PWDENCRYPT', 'T-SQL', 'None', 'SystemRisk' ) ,('PWDCOMPARE', 'T-SQL', 'None', 'SystemRisk' ) ,('SUSER_ID', \r\n'T-SQL', 'None', 'SystemRisk' ) ,('SUSER_SID', 'T-SQL', 'None', 'SystemRisk' ) ,('SUSER_SNAME', 'T-SQL', 'None', 'SystemRisk' ) ,('USER_ID', 'T-SQL', 'None'\r\n, 'SystemInformation' ) ,('USER_NAME', 'T-SQL', 'None', 'SystemRisk' ) ,('DATABASE_PRINCIPAL_ID', 'T-SQL', 'None', 'SystemRisk' ) ,('DATABASEPROPERTYEX'\r\n, 'T-SQL', 'None', 'SystemInformation' ) ,('PARSENAME', 'T-SQL', 'None', 'SystemRisk' ) ,('LOGINPROPERTY', 'T-SQL', 'None', 'SystemRisk' ) ,('master..syslogins'\r\n, 'own defined', 'None', 'SystemRisk' ) ,('master.sys.syslogins', 'own defined', 'None', 'SystemRisk' ) ,('master..sysdatabases', 'own defined', 'None'\r\n, 'SystemRisk' ) ,('master.sys.databases', 'own defined', 'None', 'SystemRisk' ) ,('master.sys.sysdatabases','own defined', 'None', 'SystemRisk' ) ,('@@Version'\r\n, 'T-SQL', 'None', 'SystemRisk' ) , ('TSB_PMapAccountToPerson', 'own defined', 'None', 'LinearSearch')  , ('<', 'own defined', 'None', 'BinarySearch') \r\n, ('<=', 'own defined', 'None', 'BinarySearch') , ('>', 'own defined', 'None', 'BinarySearch') , ('>=', 'own defined', 'None', 'BinarySearch') ) as x (KeyWord\r\n, KeyWordArea, KeywordFlagCS, RiskSymbol) left outer join ( values ('SystemRisk', 1.0)  , ('CodeToChar', 0.7)  , ('LinearSearch', 0.04)  , ('BinarySearch'\r\n, 0.15)  , ('SystemInformation', 0.2)  , ('', 0.0)  ) as vd (symbol , floatValue) on vd.symbol = x.RiskSymbol where @NativeSQLOnly = 0 or @NativeSQLOnly\r\n = 1 and x.KeyWordArea not in ( '23995', 'own defined') ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTAccountInheritFromOrg_L",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:36.067",
      "ModifyDate": "2026-04-14T23:20:36.067",
      "Definition": "create function dbo.QER_FTAccountInheritFromOrg_L( @PersonList dbo.QBM_YSingleGUID readonly  , @UID_BaseTreeAssignToUse varchar(38) ) returns table with\r\n schemabinding as return( select po.UID_Person as UID_Person , po.UID_Org as UID_Org , po.IsSecurityIncident as IsSecurityIncident from ( select hpo.UID_Person\r\n, hpo.UID_Org, p.IsSecurityIncident from @PersonList l join dbo.Person p on l.UID_SingleGuid = p.UID_Person and p.IsNoInherite = 0 join dbo.HelperPersonOrg\r\n hpo on p.UID_Person = hpo.UID_Person union select hpo.UID_Person, hpo.UID_Org, p.IsSecurityIncident from @PersonList l join dbo.Person p on l.UID_SingleGuid\r\n = p.UID_Person and p.IsNoInherite = 0 join dbo.PersonInBaseTree hpo on p.UID_Person = hpo.UID_Person ) as po join dbo.BaseTree b on po.UID_Org = b.UID_Org\r\n and b.IsNoInheriteToPerson = 0 join dbo.OrgRootAssign oa on oa.UID_OrgRoot = b.UID_OrgRoot and oa.IsAssignmentAllowed = 1 and oa.UID_BaseTreeAssign = \r\n@UID_BaseTreeAssignToUse ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTCentralAccount",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:35.76",
      "ModifyDate": "2026-04-14T23:20:35.76",
      "Definition": "create function dbo.QER_FTCentralAccount (@AccountName nvarchar(256) ) returns table       as return (  select convert(varchar(30), a.TableName ) as TableName\r\n , convert(varchar(30),a.columnname) as ColumnName , convert(nvarchar(256) , a.accountName) as AccountName , a.XObjectKey as XObjectKey , p.XObjectKey \r\nas ObjectKeyPerson from QERCentralAccount a left outer join person p on a.UID_Person = p.UID_Person where a.AccountName > ' ' and a.AccountName like @AccountName\r\n union all  select f.TableName, f.columnname, substring(f.smtp, 1, charindex(N'@',f.smtp )-1), f.XObjectKey, f.ObjectkeyPerson from dbo.QER_FTMailAddressSource\r\n(@AccountName + N'@%') as f ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTDelegationPossibleTo",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:35.813",
      "ModifyDate": "2026-04-14T23:20:35.813",
      "Definition": "create function dbo.QER_FTDelegationPossibleTo (@UID_PersonSender varchar(38) , @UID_personReceiver varchar(38) ) returns table as return( select di.* \r\nfrom DelegableItem di where di.UID_Person = @UID_PersonSender and Not exists( select top 1 1 from PersonInBasetree hha where hha.UID_Person = @UID_personReceiver\r\n and hha.UID_Org = di.UID_Org and di.Criteria = 'Membership' and hha.XOrigin & 0xFFFFFFFC > 0 ) and Not exists( select top 1 1 from HelperHeadPerson hha\r\n where hha.UID_PersonHead = @UID_personReceiver and hha.UID_Person = di.UID_Org and di.Criteria = 'HeadPerson' and hha.XOrigin & 0xFFFFFFFC > 0 ) and Not\r\n exists( select top 1 1 from HelperHeadOrg hha where hha.UID_PersonHead = @UID_personReceiver and hha.UID_Org = di.UID_Org and di.Criteria = 'HeadStructure'\r\n and hha.XOrigin & 0xFFFFFFFC > 0 ) ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTHelperHeadOrgChildren",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:35.993",
      "ModifyDate": "2026-04-14T23:20:35.993",
      "Definition": "create function dbo.QER_FTHelperHeadOrgChildren (@UID_PersonHead varchar(38))  returns table with schemabinding as return( select distinct b.UID_Org as\r\n UID_Org , b.XObjectKey as XObjectKey from ( select  UID_Org from dbo.HelperHeadOrg hho where hho.UID_PersonHead = @UID_PersonHead and hho.XOrigin > 0 \r\n union all select UID_Org from dbo.BaseTree where UID_PersonHead = @UID_PersonHead union all select UID_Org from dbo.BaseTree where UID_PersonHeadSecond\r\n = @UID_PersonHead ) as x join dbo.BaseTreeCollectionF co on x.uid_org = co.UID_ParentOrg join dbo.BaseTree b on co.UID_Org = b.UID_Org ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTHelperHeadOrgChildren_RT",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:36.01",
      "ModifyDate": "2026-04-14T23:20:36.01",
      "Definition": "create function dbo.QER_FTHelperHeadOrgChildren_RT (@UID_PersonHead varchar(38) , @UID_OrgRoot varchar(38) )  returns table with schemabinding as return\r\n( select distinct b.UID_Org as UID_Org , b.XObjectKey as XObjectKey from ( select hho.UID_Org from dbo.HelperHeadOrg hho join dbo.BaseTree b on hho.UID_Org\r\n = b.UID_Org and b.UID_OrgRoot = @UID_OrgRoot where hho.UID_PersonHead = @UID_PersonHead and hho.XOrigin > 0  union all select b.UID_Org from dbo.BaseTree\r\n b where b.UID_PersonHead = @UID_PersonHead and b.UID_OrgRoot = @UID_OrgRoot union all select b.UID_Org from dbo.BaseTree b where b.UID_PersonHeadSecond\r\n = @UID_PersonHead and b.UID_OrgRoot = @UID_OrgRoot ) as x join dbo.BasetreeCollectionF co on x.UID_Org = co.UID_ParentOrg join dbo.BaseTree b on co.UID_Org\r\n = b.UID_Org ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTHelperHeadOrgParents",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:36.02",
      "ModifyDate": "2026-04-14T23:20:36.02",
      "Definition": "create function dbo.QER_FTHelperHeadOrgParents (@UID_PersonHead varchar(38))  returns table with schemabinding as return ( select distinct b.UID_Org as\r\n UID_ParentOrg , b.XObjectKey as XObjectKey from ( select UID_Org from dbo.HelperHeadOrg hho where hho.UID_PersonHead = @UID_PersonHead and hho.XOrigin\r\n > 0  union all select UID_Org from dbo.BaseTree where UID_PersonHead = @UID_PersonHead union all select UID_Org from dbo.BaseTree where UID_PersonHeadSecond\r\n = @UID_PersonHead ) as x join dbo.BaseTreeCollectionF co on x.uid_org = co.uid_org join dbo.BaseTree b on co.UID_ParentOrg = b.UID_Org ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTHelperHeadOrgParents_RT",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:36.033",
      "ModifyDate": "2026-04-14T23:20:36.033",
      "Definition": "create function dbo.QER_FTHelperHeadOrgParents_RT (@UID_PersonHead varchar(38) , @UID_OrgRoot varchar(38) )  returns table with schemabinding as return\r\n ( select distinct b.UID_Org as UID_ParentOrg , b.XObjectKey as XObjectKey from ( select hho.UID_Org from dbo.HelperHeadOrg hho join dbo.BaseTree b on \r\nhho.UID_Org = b.UID_Org and b.UID_OrgRoot = @UID_OrgRoot where hho.UID_PersonHead = @UID_PersonHead and hho.XOrigin > 0  union all select b.UID_Org from\r\n dbo.BaseTree b where b.UID_PersonHead = @UID_PersonHead and b.UID_OrgRoot = @UID_OrgRoot union select b.UID_Org from dbo.BaseTree b where b.UID_PersonHeadSecond\r\n = @UID_PersonHead and b.UID_OrgRoot = @UID_OrgRoot ) as x join dbo.BaseTreeCollectionF co on x.UID_Org = co.UID_Org join dbo.BaseTree b on co.uid_parentOrg\r\n = b.UID_Org ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTITShopNewProductNode",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:38.917",
      "ModifyDate": "2026-04-14T23:20:38.917",
      "Definition": "create function dbo.QER_FTITShopNewProductNode (@UID_BOTarget varchar(38) , @ObjectkeyOrdered varchar(138) , @Orderstate varchar(16) , @UID_OrgPR_Old varchar\r\n(38) , @IsReusePossible bit , @UID_PersonOrdered_Old varchar(38) , @UID_PersonOrdered_New varchar(38)  ) returns table as return ( select top 1 sh.uid_org\r\n as UID_OrgSH , bo.UID_Org as UID_OrgBO , pr.UID_Org as UID_OrgPR  , bo.Ident_Org as Ident_OrgBO , sh.Ident_Org as Ident_OrgSH , pr.Ident_Org as Ident_OrgPR\r\n , pr.UID_PWODecisionMethod from QER_VPWOProductNodesSlim n join BaseTree pr on n.UID_OrgPR = pr.UID_Org join BaseTree bo on pr.UID_ParentOrg = bo.UID_Org\r\n join BaseTree sh on bo.UID_ParentOrg = sh.UID_Org   left outer join PersonInBaseTree pio on (pio.uid_person = @UID_PersonOrdered_New and pio.uid_org =\r\n pr.uid_org and pio.XOrigin > 0) where n.ObjectkeyOrdered = @ObjectkeyOrdered and (pr.UID_Org <> @UID_OrgPR_Old or @UID_PersonOrdered_Old <> @UID_PersonOrdered_New\r\n )  and ( ( @UID_BOTarget > ' ' and bo.UID_Org = @UID_BOTarget ) or (isnull(@UID_BOTarget, '') = '' and bo.UID_Org <> isnull(@UID_BOTarget, '') ) )  and\r\n exists (select top 1 1 from QER_VPWOShopMember h where h.uid_orgBO = bo.UID_Org and h.uid_personOrdered = @UID_PersonOrdered_New )  and  ( ( @OrderState\r\n in ('Assigned', 'OrderProlongate', 'OrderUnsubscribe' ) and @IsReusePossible = 0 and pio.UID_Org is null )  or @OrderState in ('Aborted', 'Dismissed',\r\n 'Granted', 'New', 'OrderProduct', 'Unsubscribed', 'Waiting') or @IsReusePossible = 1 ) order by sh.Ident_Org, bo.Ident_Org ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTITShopOrgByIdentOrg",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:36.297",
      "ModifyDate": "2026-04-14T23:20:36.297",
      "Definition": "create function dbo.QER_FTITShopOrgByIdentOrg (@search_value nvarchar(max)) returns table as return( select UID_ITShopOrg from ITShopOrg where Ident_Org\r\n like '%' + @search_value + '%' ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTMailAddressSource",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:35.747",
      "ModifyDate": "2026-04-14T23:20:35.747",
      "Definition": "create function dbo.QER_FTMailAddressSource (@EMail nvarchar(256) )  returns table with schemabinding as return(  select t.TableName as TableName , c.Columnname\r\n as columnname , a.SplittedElement as smtp , a.ObjectKeyOwner as XObjectKey , p.XObjectKey as ObjectkeyPerson from dbo.QBMSplittedLookup a join dbo.DialogColumn\r\n c with (readpast) on c.UID_DialogColumn = a.UID_DialogColumn join dbo.DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable left outer\r\n join dbo.Person p on a.uid_person = p.UID_Person where a.SplittedElementType = 'EMail' and a.SplittedElement like @EMail ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTOrgAttHighest",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:36.133",
      "ModifyDate": "2026-04-14T23:20:36.133",
      "Definition": "create function dbo.QER_FTOrgAttHighest (@uid_org varchar(38) , @uid_personinserted varchar(38)  , @uid_personordered varchar(38) , @WithFallBackRoot bit\r\n  , @IgnoreNoDecideForPerson bit  ) returns table as return ( select pib.UID_Org, pib.UID_Person, pwo.UID_PersonWantsOrg as UID_PWORulerOrigin from ( select\r\n top 1 z.UID_Org from (select b.treelevel + 1 as treelevel, b.UID_OrgAttestator as UID_Org from BaseTreeCollection co join BaseTree b on co.UID_Org = @uid_org\r\n and co.UID_ParentOrg = b.UID_Org   union all select 0, r.UID_OrgAttestator as uid_org from OrgRoot r join BaseTree b on b.UID_OrgRoot = r.UID_OrgRoot \r\nand b.UID_Org = @uid_org where @WithFallBackRoot = 1 ) as z join PersonInBaseTree pio on z.UID_Org = pio.UID_Org and pio.XOrigin > 0 left outer join QER_VPersonsAreMe\r\n api on pio.UID_Person = api.UID_PersonAlsoMe and api.UID_PersonOrigin = case when @uid_personinserted > ' ' and @IgnoreNoDecideForPerson = 0 and dbo.QBM_FGIConfigparmValue\r\n('QER\\ITShop\\PersonInsertedNoDecide') = '1' then @uid_personinserted else null end  left outer join QER_VPersonsAreMe apo on pio.UID_Person = apo.UID_PersonAlsoMe\r\n and apo.UID_PersonOrigin = case when @uid_personordered > ' ' and @IgnoreNoDecideForPerson = 0 and dbo.QBM_FGIConfigparmValue('QER\\ITShop\\PersonOrderedNoDecide'\r\n) = '1' then @uid_personordered else null end  group by z.treelevel, z.UID_Org having min(api.UID_PersonAlsoMe ) is null and min(apo.UID_PersonAlsoMe )\r\n is null order by z.treelevel desc  ) as oo join PersonInBaseTree pib on oo.UID_Org = pib.UID_Org left outer join PersonWantsOrg pwo on pwo.ObjectKeyAssignment\r\n = pib.XObjectKey and pib.XOrigin > 0 and pwo.OrderState in ('Assigned', 'OrderProlongate', 'OrderUnsubscribe' ) ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTOrgRulerHighest",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:36.12",
      "ModifyDate": "2026-04-14T23:20:36.12",
      "Definition": "create function dbo.QER_FTOrgRulerHighest (@uid_org varchar(38)  , @uid_personinserted varchar(38)  , @uid_personordered varchar(38) , @WithFallBackRoot\r\n bit  , @UseRulerContainerIT int    , @IgnoreNoDecideForPerson bit  ) returns table as return ( select pib.UID_Org, pib.UID_Person, pwo.UID_PersonWantsOrg\r\n as UID_PWORulerOrigin from ( select top 1 z.UID_Org from (select b.treelevel + 1 as treelevel, case @UseRulerContainerIT when 1 then b.UID_RulerContainerIT\r\n when -1 then b.UID_Org else b.UID_RulerContainer end as UID_Org from BaseTreeCollection co join BaseTree b on co.UID_Org = @uid_org and co.UID_ParentOrg\r\n = b.UID_Org union all select 0, r.UID_OrgAttestator as uid_org from OrgRoot r join BaseTree b on b.UID_OrgRoot = r.UID_OrgRoot and b.UID_Org = @uid_org\r\n where @WithFallBackRoot = 1 ) as z join PersonInBaseTree pio on z.UID_Org = pio.UID_Org and pio.XOrigin > 0 left outer join QER_VPersonsAreMe api on pio.UID_Person\r\n = api.UID_PersonAlsoMe and api.UID_PersonOrigin = case when @uid_personinserted > ' ' and @IgnoreNoDecideForPerson = 0 and dbo.QBM_FGIConfigparmValue(\r\n'QER\\ITShop\\PersonInsertedNoDecide') = '1' then @uid_personinserted else null end left outer join QER_VPersonsAreMe apo on pio.UID_Person = apo.UID_PersonAlsoMe\r\n and apo.UID_PersonOrigin = case when @uid_personordered > ' ' and @IgnoreNoDecideForPerson = 0 and dbo.QBM_FGIConfigparmValue('QER\\ITShop\\PersonOrderedNoDecide'\r\n) = '1' then @uid_personordered else null end group by z.treelevel, z.UID_Org having min(isnull(api.UID_PersonAlsoMe, '') ) = '' and min(isnull(apo.UID_PersonAlsoMe\r\n, '') ) = '' order by z.treelevel desc  ) as oo join PersonInBaseTree pib on oo.UID_Org = pib.UID_Org left outer join PersonWantsOrg pwo on pwo.ObjectKeyAssignment\r\n = pib.XObjectKey and pib.XOrigin > 0 and pwo.OrderState in ('Assigned', 'OrderProlongate', 'OrderUnsubscribe' ) left outer join QER_VPersonsAreMe api \r\non pib.UID_Person = api.UID_PersonAlsoMe and api.UID_PersonOrigin = case when @uid_personinserted > ' ' and @IgnoreNoDecideForPerson = 0 and dbo.QBM_FGIConfigparmValue\r\n('QER\\ITShop\\PersonInsertedNoDecide') = '1' then @uid_personinserted else null end left outer join QER_VPersonsAreMe apo on pib.UID_Person = apo.UID_PersonAlsoMe\r\n and apo.UID_PersonOrigin = case when @uid_personordered > ' ' and @IgnoreNoDecideForPerson = 0 and dbo.QBM_FGIConfigparmValue('QER\\ITShop\\PersonOrderedNoDecide'\r\n) = '1' then @uid_personordered else null end where api.UID_PersonAlsoMe is null and apo.UID_PersonAlsoMe is null ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTPersonHeadCirc_NewHead",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:36.397",
      "ModifyDate": "2026-04-14T23:20:36.397",
      "Definition": "create function dbo.QER_FTPersonHeadCirc_NewHead( @UID_Person varchar(38)  , @UID_PersonHead varchar(38)   ) returns table as return ( select * from dbo.QER_FTPersonHeadCirc_Person_i\r\n( @UID_Person , isnull(@UID_PersonHead , '*') , 3  ) ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTPersonHeadCirc_Person",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:36.4",
      "ModifyDate": "2026-04-14T23:20:36.4",
      "Definition": "create function dbo.QER_FTPersonHeadCirc_Person( @UID_Person varchar(38)  , @UID_PersonHead varchar(38)   ) returns table as return ( select * from dbo.QER_FTPersonHeadCirc_Person_i\r\n(@uid_person , @UID_PersonHead , case when @UID_Person > ' ' and @UID_PersonHead > ' ' then 3 when @UID_Person > ' ' then 2  when @UID_PersonHead > ' '\r\n then 1 else 0 end ) ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTPersonInheritFromOrg_L",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:36.05",
      "ModifyDate": "2026-04-14T23:20:36.05",
      "Definition": "create function dbo.QER_FTPersonInheritFromOrg_L( @DBQueueCurrent dbo.QBM_YDBQueueCurrent readonly , @UID_BaseTreeAssignToUse varchar(38) ) returns table\r\n with schemabinding as return( select po.UID_Person as UID_Person , po.UID_Org as UID_Org , pe.IsSecurityIncident as IsSecurityIncident from ( select hpo.UID_Person\r\n, hpo.UID_Org from @DBQueueCurrent p join dbo.HelperPersonOrg hpo on p.UID_Parameter = hpo.UID_Person union select pio.UID_Person, pio.UID_Org from @DBQueueCurrent\r\n p join dbo.PersonInBaseTree pio on p.UID_Parameter = pio.UID_Person ) as po join dbo.Person pe on po.UID_Person = pe.UID_Person and pe.IsNoInherite = \r\n0 join dbo.BaseTree b on po.UID_Org = b.UID_Org and b.IsNoInheriteToPerson = 0 join dbo.OrgRootAssign oa on oa.UID_OrgRoot = b.UID_OrgRoot and oa.IsAssignmentAllowed\r\n = 1 and oa.UID_BaseTreeAssign = @UID_BaseTreeAssignToUse ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTPersonsAreMe",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:36.1",
      "ModifyDate": "2026-04-14T23:20:36.1",
      "Definition": "create function dbo.QER_FTPersonsAreMe (@UID_Person varchar(38)) returns table       with schemabinding as return (  select @UID_Person as UID_Person ,\r\n p.UID_PersonMasterIdentity , case when p.UID_PersonMasterIdentity IS null then 1 else 0 end as IsMasterIdentity , case when p.UID_PersonMasterIdentity\r\n > ' ' then 1 else 0 end as IsSubIdentity from dbo.Person p where p.UID_Person = @UID_Person union select p.UID_PersonMasterIdentity, null, 1, 0 from dbo.Person\r\n p where p.UID_Person = @UID_Person and p.UID_PersonMasterIdentity > ' ' union  select distinct p.UID_Person, p.UID_PersonMasterIdentity, case when p.UID_PersonMasterIdentity\r\n IS null then 1 else 0 end as IsMasterIdentity , case when p.UID_PersonMasterIdentity > ' ' then 1 else 0 end as IsSubIdentity from dbo.Person p join( \r\n select @UID_Person as uid_person            union select p.UID_PersonMasterIdentity  from dbo.Person p where p.UID_Person = @UID_Person and p.UID_PersonMasterIdentity\r\n > ' ' ) e on p.UID_PersonMasterIdentity = e.UID_Person ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTPersonsAreMe_S",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:36.103",
      "ModifyDate": "2026-04-14T23:20:36.103",
      "Definition": "create function dbo.QER_FTPersonsAreMe_S (@UID_Person varchar(38)) returns table with schemabinding as return ( with m as (  select @UID_Person as UID_Person\r\n  union all select p.UID_PersonMasterIdentity from dbo.Person p where p.UID_Person = @UID_Person and p.UID_PersonMasterIdentity > ' ' ) select x.UID_Person\r\n from (  select uid_person from m  union all select p.UID_Person from dbo.Person p join m on p.UID_PersonMasterIdentity = m.UID_Person ) as x group by \r\nx.UID_Person ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTPWOAssigmentSplitForBHO",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:17:27.487",
      "ModifyDate": "2026-04-14T23:17:27.487",
      "Definition": "create function dbo.QER_FTPWOAssigmentSplitForBHO (@ObjecKeysOfPWO QBM_YParameterList readonly )   returns table as return(  select b.UID_Org , pwo.ObjectKeyElementUsedInAssign\r\n as ObjectKey , pwo.UID_PersonWantsOrg from @ObjecKeysOfPWO o join PersonWantsOrg pwo on o.Parameter1 = pwo.XObjectKey join BaseTree b on pwo.ObjectKeyOrgUsedInAssign\r\n = b.XObjectKey )   \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTPWODecisionPossible",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:17:26.55",
      "ModifyDate": "2026-04-14T23:17:26.55",
      "Definition": "create function dbo.QER_FTPWODecisionPossible(@UID_personWantsOrg varchar(38) , @LevelNumber int , @SubLevelNumber int  ) returns table with schemabinding\r\n as return (  with Auswahl as ( select y.UID_PersonHead, y.UID_QERWorkingStep, y.SubLevelNumber , min(y.RulerLevel) as RulerLevel , max(y.Decision) as \r\nDecision , max(y.UID_PersonAdditional) as UID_PersonAdditional from( select UID_QERWorkingStep   , SubLevelNumber  , RulerLevel , isnull(UID_PersonAdditional\r\n ,  h.UID_PWOHelperPWO ) as UID_PersonAdditional , isnull(UID_PersonHead,  reverse(h.UID_PWOHelperPWO)) as UID_PersonHead  , Decision from dbo.PWOHelperPWO\r\n h where h.UID_PersonWantsOrg = @UID_personWantsOrg and h.LevelNumber = @LevelNumber ) as y group by y.UID_PersonHead, y.UID_QERWorkingStep, y.SubLevelNumber\r\n ) select top 1 case MIN(w.LevelResult) when 1 then 0  when 0 then 1  else -1  end as DecisionPossible from ( select case when z.CountDeciderAvailable \r\n< z.CountDeciderMinimum then -1  when z.CountDecided >= z.CountDeciderMinimum OR z.IsDenied = 1 then 1  when z.CountDeciderAvailable >= z.CountDeciderMinimum\r\n and z.CountDecided < z.CountDeciderMinimum and z.IsDenied = 0 then 0  else -1  end as LevelResult  from ( select case when y.CountDeciderOnLevel0 = 0 \r\n then 1 when y.CountDeciderMinimum = -1 then case when y.CountDeciderOnLevel0 = 0 then 1 else y.CountDeciderOnLevel0 end else y.CountDeciderMinimum end\r\n as CountDeciderMinimum , y.CountDecided , y.CountDeciderAvailable , y.IsDenied from ( select x.sublevelnumber  , isnull(min(x.CountApprover), 1) as CountDeciderMinimum\r\n , isnull(SUM (x.isDecided), 0) as CountDecided , isnull(COUNT(*), 0) as CountDeciderAvailable , isnull(sum(x.IsDeciderOnLevel0), 0) as CountDeciderOnLevel0\r\n , ISNULL(max(x.IsDenied), 0) as IsDenied from ( select h1.sublevelnumber  , case when s.CountApprover is null then 1 when s.CountApprover = 0 then 1 when\r\n kAidH.UID_QERWorkingStep  > ' ' then 1 else s.CountApprover end as CountApprover , case when isnull(h1.decision, '') in('P', 'N', 'R', '+') then 1 else\r\n 0 end as IsDecided , case when isnull(h1.decision, '') in('N') then 1 else 0 end as IsDenied , case when h1.RulerLevel = 0 then 1 else 0 end IsDeciderOnLevel0\r\n from Auswahl  h1 join dbo.QERWorkingStep s on h1.UID_QERWorkingStep = s.UID_QERWorkingStep left outer join Auswahl  kAidH on kAidH.SubLevelNumber + 1 \r\n= h1.SubLevelNumber and kAidH.UID_PersonAdditional = h1.UID_PersonHead ) as x group by x.sublevelnumber  having x.SubLevelNumber = isnull(@SubLevelNumber\r\n, x.SubLevelNumber)  ) as y ) as z ) as w ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTPWOOrderPerson_000",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:17:27.37",
      "ModifyDate": "2026-04-14T23:17:27.37",
      "Definition": "create function dbo.QER_FTPWOOrderPerson_000 (@dummyUID_PersonOrdered varchar(38) , @dummyUID_ITShopOrgPR varchar(38) , @dummyUID_ACCProduct varchar(38\r\n) , @ValidFrom datetime , @ValidUntil datetime , @CountRecords int ) returns table as return ( select distinct top (@CountRecords) cum.UID_Person as UID_PersonOrdered\r\n , pr.UID_Org as UID_ITShopOrgPR , bo.UID_Org as UID_ITShopOrgBO , bo.UID_ParentOrg as UID_ITShopOrgSH , a.UID_AccProduct as UID_AccProduct , ba.IsReusePossible\r\n , a.Ident_AccProduct as Ident_AccProduct , a.Description as Description , a.UID_AccProductGroup as UID_AccProductGroup   from BaseTree pr join BaseTree\r\n bo on bo.ITShopInfo = 'BO' and bo.uid_Org = pr.UID_ParentOrg and pr.uid_PWODecisionMethod > ' ' and pr.ITShopInfo = 'PR'     join BaseTree cu on bo.UID_ParentOrg\r\n = cu.UID_ParentOrg and cu.ITShopInfo = 'CU' join PersonInBaseTree cum on cu.uid_org = cum.uid_org and cum.XOrigin > 0     join AccProduct a on pr.uid_accproduct\r\n = a.uid_accproduct and a.IsInactive = 0     join BaseTreeAssign ba with (readpast) on ba.IsITShopEnabled = 1 join DialogTable t with (readpast) on ba.UID_DialogTableElement\r\n = t.UID_DialogTable join BaseTreeHasObject bho on pr.UID_Org = bho.UID_Org and bho.InheritInfo = 1  and bho.ObjectKey like '<Key><T>' + t.TableName + \r\n'</T>%'  left outer join QERAssign qa on bho.ObjectKey = qa.XObjectKey        where 1 = case   when  @ValidFrom is null and @ValidUntil is null then 1 \r\n   when ((sign(len(isnull(qa.ObjectKeyAssignTarget, ''))) ^1 ) & ba.IsReusePossible) = 1 and @ValidFrom is null and @ValidUntil is null then 1 when ((sign\r\n(len(isnull(qa.ObjectKeyAssignTarget, ''))) ^1 ) & ba.IsReusePossible) = 1 then dbo.QER_FGIPwoValidDateRangesExist(cum.UID_Person, pr.UID_Org, @ValidFrom\r\n, @ValidUntil)    when dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue('QER\\ITShop\\GapBehavior\\GapFitting'), 0) = 2 then 1  else dbo.QER_FGIPwoValidDateRangesExist\r\n(cum.UID_Person, pr.UID_Org, @ValidFrom, @ValidUntil) end ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTPWOOrderPerson_001",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:17:27.377",
      "ModifyDate": "2026-04-14T23:17:27.377",
      "Definition": "create function dbo.QER_FTPWOOrderPerson_001 (@dummyUID_PersonOrdered varchar(38) , @dummyUID_ITShopOrgPR varchar(38) , @UID_ACCProduct varchar(38) , @ValidFrom\r\n datetime , @ValidUntil datetime , @CountRecords int ) returns table as return ( select distinct top (@CountRecords) cum.UID_Person as UID_PersonOrdered\r\n , pr.UID_Org as UID_ITShopOrgPR , bo.UID_Org as UID_ITShopOrgBO , bo.UID_ParentOrg as UID_ITShopOrgSH , a.UID_AccProduct as UID_AccProduct , ba.IsReusePossible\r\n , a.Ident_AccProduct as Ident_AccProduct , a.Description as Description , a.UID_AccProductGroup as UID_AccProductGroup from BaseTree pr join BaseTree \r\nbo on bo.ITShopInfo = 'BO' and bo.uid_Org = pr.UID_ParentOrg and pr.uid_PWODecisionMethod > ' ' and pr.ITShopInfo = 'PR' and pr.uid_ACCProduct = @UID_ACCProduct\r\n     join BaseTree cu on bo.UID_ParentOrg = cu.UID_ParentOrg and cu.ITShopInfo = 'CU' join PersonInBaseTree cum on cu.uid_org = cum.uid_org and cum.XOrigin\r\n > 0     join AccProduct a on a.IsInactive = 0 and a.UID_AccProduct = @UID_ACCProduct join BaseTreeAssign ba with (readpast) on ba.IsITShopEnabled = 1 \r\njoin DialogTable t with (readpast) on ba.UID_DialogTableElement = t.UID_DialogTable join BaseTreeHasObject bho on pr.UID_Org = bho.UID_Org and bho.InheritInfo\r\n = 1  and bho.ObjectKey like '<Key><T>' + t.TableName + '</T>%'  left outer join QERAssign qa on bho.ObjectKey = qa.XObjectKey where 1 = case when  @ValidFrom\r\n is null and @ValidUntil is null then 1 when ((sign(len(isnull(qa.ObjectKeyAssignTarget, ''))) ^1 ) & ba.IsReusePossible) = 1 then dbo.QER_FGIPwoValidDateRangesExist\r\n(cum.UID_Person, pr.UID_Org, @ValidFrom, @ValidUntil) when dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue('QER\\ITShop\\GapBehavior\\GapFitting'), 0) =\r\n 2 then 1  else dbo.QER_FGIPwoValidDateRangesExist(cum.UID_Person, pr.UID_Org, @ValidFrom, @ValidUntil) end ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTPWOOrderPerson_010",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:17:27.387",
      "ModifyDate": "2026-04-14T23:17:27.387",
      "Definition": "create function dbo.QER_FTPWOOrderPerson_010 (@dummyUID_PersonOrdered varchar(38) , @UID_ITShopOrgPR varchar(38) , @dummyUID_ACCProduct varchar(38) , @ValidFrom\r\n datetime , @ValidUntil datetime , @CountRecords int ) returns table as return ( select distinct top (@CountRecords) cum.UID_Person as UID_PersonOrdered\r\n , pr.UID_Org as UID_ITShopOrgPR , bo.UID_Org as UID_ITShopOrgBO , bo.UID_ParentOrg as UID_ITShopOrgSH , a.UID_AccProduct as UID_AccProduct , ba.IsReusePossible\r\n , a.Ident_AccProduct as Ident_AccProduct , a.Description as Description , a.UID_AccProductGroup as UID_AccProductGroup from BaseTree pr join BaseTree \r\nbo on bo.ITShopInfo = 'BO' and bo.uid_Org = pr.UID_ParentOrg and pr.uid_PWODecisionMethod > ' ' and pr.ITShopInfo = 'PR' and pr.UID_Org = @UID_ITShopOrgPR\r\n join BaseTree cu on bo.UID_ParentOrg = cu.UID_ParentOrg and cu.ITShopInfo = 'CU' join PersonInBaseTree cum on cu.uid_org = cum.uid_org and cum.XOrigin\r\n > 0     join AccProduct a on pr.uid_accproduct = a.uid_accproduct and a.IsInactive = 0     join BaseTreeAssign ba with (readpast) on ba.IsITShopEnabled\r\n = 1 join DialogTable t with (readpast) on ba.UID_DialogTableElement = t.UID_DialogTable join BaseTreeHasObject bho on bho.UID_Org = @UID_ITShopOrgPR and\r\n bho.InheritInfo = 1  and bho.ObjectKey like '<Key><T>' + t.TableName + '</T>%'  left outer join QERAssign qa on bho.ObjectKey = qa.XObjectKey where 1 \r\n= case when  @ValidFrom is null and @ValidUntil is null then 1 when ((sign(len(isnull(qa.ObjectKeyAssignTarget, ''))) ^1 ) & ba.IsReusePossible) = 1 then\r\n dbo.QER_FGIPwoValidDateRangesExist(cum.UID_Person, @UID_ITShopOrgPR, @ValidFrom, @ValidUntil) when dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue('QER\\ITShop\\GapBehavior\\GapFitting'\r\n), 0) = 2 then 1  else dbo.QER_FGIPwoValidDateRangesExist(cum.UID_Person, @UID_ITShopOrgPR, @ValidFrom, @ValidUntil) end ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTPWOOrderPerson_011",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:17:27.393",
      "ModifyDate": "2026-04-14T23:17:27.393",
      "Definition": "create function dbo.QER_FTPWOOrderPerson_011 (@dummyUID_PersonOrdered varchar(38) , @UID_ITShopOrgPR varchar(38) , @UID_ACCProduct varchar(38) , @ValidFrom\r\n datetime , @ValidUntil datetime , @CountRecords int ) returns table as return ( select distinct top (@CountRecords) cum.UID_Person as UID_PersonOrdered\r\n , pr.UID_Org as UID_ITShopOrgPR , bo.UID_Org as UID_ITShopOrgBO , bo.UID_ParentOrg as UID_ITShopOrgSH , a.UID_AccProduct as UID_AccProduct , ba.IsReusePossible\r\n , a.Ident_AccProduct as Ident_AccProduct , a.Description as Description , a.UID_AccProductGroup as UID_AccProductGroup from BaseTree pr join BaseTree \r\nbo on bo.ITShopInfo = 'BO' and bo.uid_Org = pr.UID_ParentOrg and pr.uid_PWODecisionMethod > ' ' and pr.ITShopInfo = 'PR' and pr.UID_Org = @UID_ITShopOrgPR\r\n and pr.UID_ACCProduct = @UID_ACCProduct join BaseTree cu on bo.UID_ParentOrg = cu.UID_ParentOrg and cu.ITShopInfo = 'CU' join PersonInBaseTree cum on \r\ncu.uid_org = cum.uid_org and cum.XOrigin > 0     join AccProduct a on a.IsInactive = 0 and a.UID_AccProduct = @UID_ACCProduct join BaseTreeAssign ba with\r\n (readpast) on ba.IsITShopEnabled = 1 join DialogTable t with (readpast) on ba.UID_DialogTableElement = t.UID_DialogTable join BaseTreeHasObject bho on\r\n bho.UID_Org = @UID_ITShopOrgPR and bho.InheritInfo = 1  and bho.ObjectKey like '<Key><T>' + t.TableName + '</T>%'  left outer join QERAssign qa on bho.ObjectKey\r\n = qa.XObjectKey where 1 = case when  @ValidFrom is null and @ValidUntil is null then 1 when ((sign(len(isnull(qa.ObjectKeyAssignTarget, ''))) ^1 ) & ba.IsReusePossible\r\n) = 1 then dbo.QER_FGIPwoValidDateRangesExist(cum.UID_Person, @UID_ITShopOrgPR, @ValidFrom, @ValidUntil) when dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue\r\n('QER\\ITShop\\GapBehavior\\GapFitting'), 0) = 2 then 1  else dbo.QER_FGIPwoValidDateRangesExist(cum.UID_Person, @UID_ITShopOrgPR, @ValidFrom, @ValidUntil\r\n) end ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTPWOOrderPerson_100",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:17:27.4",
      "ModifyDate": "2026-04-14T23:17:27.4",
      "Definition": "create function dbo.QER_FTPWOOrderPerson_100 (@UID_PersonOrdered varchar(38) , @dummyUID_ITShopOrgPR varchar(38) , @dummyUID_ACCProduct varchar(38) , @ValidFrom\r\n datetime , @ValidUntil datetime , @CountRecords int ) returns table as return ( select distinct top (@CountRecords) cum.UID_Person as UID_PersonOrdered\r\n , pr.UID_Org as UID_ITShopOrgPR , bo.UID_Org as UID_ITShopOrgBO , bo.UID_ParentOrg as UID_ITShopOrgSH , a.UID_AccProduct as UID_AccProduct , ba.IsReusePossible\r\n , a.Ident_AccProduct as Ident_AccProduct , a.Description as Description , a.UID_AccProductGroup as UID_AccProductGroup from BaseTree pr join BaseTree \r\nbo on bo.ITShopInfo = 'BO' and bo.uid_Org = pr.UID_ParentOrg and pr.uid_PWODecisionMethod > ' ' and pr.ITShopInfo = 'PR'     join BaseTree cu on bo.UID_ParentOrg\r\n = cu.UID_ParentOrg and cu.ITShopInfo = 'CU' join PersonInBaseTree cum on cu.uid_org = cum.uid_org and cum.XOrigin > 0 and cum.UID_Person = @UID_PersonOrdered\r\n join AccProduct a on pr.uid_accproduct = a.uid_accproduct and a.IsInactive = 0     join BaseTreeAssign ba with (readpast) on ba.IsITShopEnabled = 1 join\r\n DialogTable t with (readpast) on ba.UID_DialogTableElement = t.UID_DialogTable join BaseTreeHasObject bho on pr.UID_Org = bho.UID_Org and bho.InheritInfo\r\n = 1  and bho.ObjectKey like '<Key><T>' + t.TableName + '</T>%'  left outer join QERAssign qa on bho.ObjectKey = qa.XObjectKey where 1 = case   when ((sign\r\n(len(isnull(qa.ObjectKeyAssignTarget, ''))) ^1 ) & ba.IsReusePossible) = 1 and @ValidFrom is null and @ValidUntil is null then 1 when ((sign(len(isnull\r\n(qa.ObjectKeyAssignTarget, ''))) ^1 ) & ba.IsReusePossible) = 1 then dbo.QER_FGIPwoValidDateRangesExist(@UID_PersonOrdered, pr.UID_Org, @ValidFrom, @ValidUntil\r\n) when dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue('QER\\ITShop\\GapBehavior\\GapFitting'), 0) = 2 then 1  else dbo.QER_FGIPwoValidDateRangesExist(@UID_PersonOrdered\r\n, pr.UID_Org, @ValidFrom, @ValidUntil) end ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTPWOOrderPerson_101",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:17:27.41",
      "ModifyDate": "2026-04-14T23:17:27.41",
      "Definition": "create function dbo.QER_FTPWOOrderPerson_101 (@UID_PersonOrdered varchar(38) , @dummyUID_ITShopOrgPR varchar(38) , @UID_ACCProduct varchar(38) , @ValidFrom\r\n datetime , @ValidUntil datetime , @CountRecords int ) returns table as return ( select distinct top (@CountRecords) cum.UID_Person as UID_PersonOrdered\r\n , pr.UID_Org as UID_ITShopOrgPR , bo.UID_Org as UID_ITShopOrgBO , bo.UID_ParentOrg as UID_ITShopOrgSH , a.UID_AccProduct as UID_AccProduct , ba.IsReusePossible\r\n , a.Ident_AccProduct as Ident_AccProduct , a.Description as Description , a.UID_AccProductGroup as UID_AccProductGroup from BaseTree pr join BaseTree \r\nbo on bo.ITShopInfo = 'BO' and bo.uid_Org = pr.UID_ParentOrg and pr.uid_PWODecisionMethod > ' ' and pr.ITShopInfo = 'PR' and pr.UID_ACCProduct = @UID_ACCProduct\r\n     join BaseTree cu on bo.UID_ParentOrg = cu.UID_ParentOrg and cu.ITShopInfo = 'CU' join PersonInBaseTree cum on cu.uid_org = cum.uid_org and cum.XOrigin\r\n > 0 and cum.UID_Person = @UID_PersonOrdered join AccProduct a on a.IsInactive = 0 and a.UID_AccProduct = @UID_ACCProduct join BaseTreeAssign ba with (readpast\r\n) on ba.IsITShopEnabled = 1 join DialogTable t with (readpast) on ba.UID_DialogTableElement = t.UID_DialogTable join BaseTreeHasObject bho on pr.UID_Org\r\n = bho.UID_Org and bho.InheritInfo = 1  and bho.ObjectKey like '<Key><T>' + t.TableName + '</T>%'  left outer join QERAssign qa on bho.ObjectKey = qa.XObjectKey\r\n where 1 = case   when ((sign(len(isnull(qa.ObjectKeyAssignTarget, ''))) ^1 ) & ba.IsReusePossible) = 1 and @ValidFrom is null and @ValidUntil is null \r\nthen 1 when ((sign(len(isnull(qa.ObjectKeyAssignTarget, ''))) ^1 ) & ba.IsReusePossible) = 1 then dbo.QER_FGIPwoValidDateRangesExist(@UID_PersonOrdered\r\n, pr.UID_Org, @ValidFrom, @ValidUntil) when dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue('QER\\ITShop\\GapBehavior\\GapFitting'), 0) = 2 then 1  else\r\n dbo.QER_FGIPwoValidDateRangesExist(@UID_PersonOrdered, pr.UID_Org, @ValidFrom, @ValidUntil) end ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTPWOOrderPerson_110",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:17:27.417",
      "ModifyDate": "2026-04-14T23:17:27.417",
      "Definition": "create function dbo.QER_FTPWOOrderPerson_110 (@UID_PersonOrdered varchar(38) , @UID_ITShopOrgPR varchar(38) , @dummyUID_ACCProduct varchar(38) , @ValidFrom\r\n datetime , @ValidUntil datetime , @CountRecords int ) returns table as return ( select distinct top (@CountRecords) cum.UID_Person as UID_PersonOrdered\r\n , pr.UID_Org as UID_ITShopOrgPR , bo.UID_Org as UID_ITShopOrgBO , bo.UID_ParentOrg as UID_ITShopOrgSH , a.UID_AccProduct as UID_AccProduct , ba.IsReusePossible\r\n , a.Ident_AccProduct as Ident_AccProduct , a.Description as Description , a.UID_AccProductGroup as UID_AccProductGroup from BaseTree pr join BaseTree \r\nbo on bo.ITShopInfo = 'BO' and bo.uid_Org = pr.UID_ParentOrg and pr.uid_PWODecisionMethod > ' ' and pr.ITShopInfo = 'PR' and pr.UID_Org = @UID_ITShopOrgPR\r\n join BaseTree cu on bo.UID_ParentOrg = cu.UID_ParentOrg and cu.ITShopInfo = 'CU' join PersonInBaseTree cum on cu.uid_org = cum.uid_org and cum.XOrigin\r\n > 0 and cum.UID_Person = @UID_PersonOrdered join AccProduct a on pr.uid_accproduct = a.uid_accproduct and a.IsInactive = 0     join BaseTreeAssign ba \r\nwith (readpast) on ba.IsITShopEnabled = 1 join DialogTable t with (readpast) on ba.UID_DialogTableElement = t.UID_DialogTable join BaseTreeHasObject bho\r\n on bho.UID_Org = @UID_ITShopOrgPR and bho.InheritInfo = 1  and bho.ObjectKey like '<Key><T>' + t.TableName + '</T>%'  left outer join QERAssign qa on \r\nbho.ObjectKey = qa.XObjectKey where 1 = case   when ((sign(len(isnull(qa.ObjectKeyAssignTarget, ''))) ^1 ) & ba.IsReusePossible) = 1 and @ValidFrom is \r\nnull and @ValidUntil is null then 1 when ((sign(len(isnull(qa.ObjectKeyAssignTarget, ''))) ^1 ) & ba.IsReusePossible) = 1 then dbo.QER_FGIPwoValidDateRangesExist\r\n(@UID_PersonOrdered, @UID_ITShopOrgPR, @ValidFrom, @ValidUntil) when dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue('QER\\ITShop\\GapBehavior\\GapFitting'\r\n), 0) = 2 then 1  else dbo.QER_FGIPwoValidDateRangesExist(@UID_PersonOrdered, @UID_ITShopOrgPR, @ValidFrom, @ValidUntil) end ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTPWOOrderPerson_111",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:17:27.427",
      "ModifyDate": "2026-04-14T23:17:27.427",
      "Definition": "create function dbo.QER_FTPWOOrderPerson_111 (@UID_PersonOrdered varchar(38) , @UID_ITShopOrgPR varchar(38) , @UID_ACCProduct varchar(38) , @ValidFrom \r\ndatetime , @ValidUntil datetime , @CountRecords int ) returns table as return ( select distinct top (@CountRecords) cum.UID_Person as UID_PersonOrdered\r\n , pr.UID_Org as UID_ITShopOrgPR , bo.UID_Org as UID_ITShopOrgBO , bo.UID_ParentOrg as UID_ITShopOrgSH , a.UID_AccProduct as UID_AccProduct , ba.IsReusePossible\r\n , a.Ident_AccProduct as Ident_AccProduct , a.Description as Description , a.UID_AccProductGroup as UID_AccProductGroup from BaseTree pr join BaseTree \r\nbo on bo.ITShopInfo = 'BO' and bo.uid_Org = pr.UID_ParentOrg and pr.uid_PWODecisionMethod > ' ' and pr.ITShopInfo = 'PR' and pr.UID_Org = @UID_ITShopOrgPR\r\n and pr.UID_ACCProduct = @UID_ACCProduct join BaseTree cu on bo.UID_ParentOrg = cu.UID_ParentOrg and cu.ITShopInfo = 'CU' join PersonInBaseTree cum on \r\ncu.uid_org = cum.uid_org and cum.XOrigin > 0 and cum.UID_Person = @UID_PersonOrdered join AccProduct a on a.IsInactive = 0 and a.UID_AccProduct = @UID_ACCProduct\r\n join BaseTreeAssign ba with (readpast) on ba.IsITShopEnabled = 1 join DialogTable t with (readpast) on ba.UID_DialogTableElement = t.UID_DialogTable join\r\n BaseTreeHasObject bho on bho.UID_Org = @UID_ITShopOrgPR and bho.InheritInfo = 1  and bho.ObjectKey like '<Key><T>' + t.TableName + '</T>%'  left outer\r\n join QERAssign qa on bho.ObjectKey = qa.XObjectKey where 1 = case   when ((sign(len(isnull(qa.ObjectKeyAssignTarget, ''))) ^1 ) & ba.IsReusePossible) \r\n= 1 and @ValidFrom is null and @ValidUntil is null then 1 when ((sign(len(isnull(qa.ObjectKeyAssignTarget, ''))) ^1 ) & ba.IsReusePossible) = 1 then dbo.QER_FGIPwoValidDateRangesExist\r\n(@UID_PersonOrdered, @UID_ITShopOrgPR, @ValidFrom, @ValidUntil) when dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue('QER\\ITShop\\GapBehavior\\GapFitting'\r\n), 0) = 2 then 1  else dbo.QER_FGIPwoValidDateRangesExist(@UID_PersonOrdered, @UID_ITShopOrgPR, @ValidFrom, @ValidUntil) end ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTPWOVisibleForPerson",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:37.917",
      "ModifyDate": "2026-04-14T23:20:37.917",
      "Definition": "create function dbo.QER_FTPWOVisibleForPerson (@uid_person varchar(38) , @AsManager bit   )  returns table as return (  select x.UID_PersonWantsOrg as \r\nUID_PersonWantsOrg , x.IsClosed as IsClosed from dbo.QER_FTPWOVisibleForPerson_I (@uid_person, @AsManager, null) x ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMB_FTAttestationRulerAO",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:43.663",
      "ModifyDate": "2026-04-14T23:20:43.663",
      "Definition": "create function dbo.RMB_FTAttestationRulerAO (@UID_AttestationCase varchar(38) ) RETURNS TABLE AS RETURN ( select distinct ro.uid_person from (select p.uid_person\r\n, p.uid_Org as UID_PersonFK , @UID_AttestationCase as UID_AttestationCase from person p join attestationcase ac on ac.ObjectKeyBase = p.XObjectKey where\r\n ac.UID_AttestationCase = @UID_AttestationCase union select p.uid_person, p.uid_Org as UID_PersonFK , @UID_AttestationCase as UID_AttestationCase from \r\nattestationcase ac join Personwantsorg pwo on ac.ObjectKeyBase = pwo.XObjectKey join person p on pwo.uid_personOrdered = p.uid_person where ac.UID_AttestationCase\r\n = @UID_AttestationCase ) as pp  join BaseTree o on o.uid_org = pp.uid_PersonFK cross apply dbo.ATT_FTOrgAttHighest (o.uid_Org , null , null , 1 , 0  )\r\n ro   ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_FTAccountsForPerson",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:46.263",
      "ModifyDate": "2026-04-14T23:20:46.263",
      "Definition": "create function dbo.TSB_FTAccountsForPerson( @UID_Person varchar(38) ) returns table as return (   select a.UID_Person as UID_PersonOfAccount , a.XObjectKey\r\n as ObjectKeyAccount from ( select me.UID_PersonAlsoMe as UID_Person from Person p join QER_VPersonsAreMe me on me.UID_PersonOrigin = p.UID_Person  where\r\n p.UID_Person = @UID_Person and p.IsDummyPerson = 0 union all select p.UID_Person from Person p  where p.IsDummyPerson = 1 and p.UID_PersonHead = @UID_Person\r\n union all select @UID_Person ) as pe join UNSAccount a on pe.UID_Person = a.UID_Person union  select a.UID_Person, a.XObjectKey from Person p join UNSAccount\r\n a on p.UID_Person = a.UID_Person join TSBPersonUsesAccount pua on a.XObjectKey = pua.ObjectKeyAccount where p.IsDummyPerson = 1 and pua.UID_Person = @UID_Person\r\n ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_FTDlgColumnITDataFromOrg",
      "ObjectType": "IF",
      "ObjectTypeDesc": "SQL_INLINE_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:46.703",
      "ModifyDate": "2026-04-14T23:20:46.703",
      "Definition": "create function dbo.TSB_FTDlgColumnITDataFromOrg () returns table as return( SELECT UID_DialogColumn FROM DialogColumn WHERE Template like '%TSB_ITDataFromOrg%'\r\n ) \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_FGIDomainTrustExists",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:00:22.227",
      "ModifyDate": "2026-04-14T23:19:33.103",
      "Definition": "  create   function dbo.ADS_FGIDomainTrustExists(@UID_ADSDomainMember varchar(38) , @UID_ADSDomainGroup varchar(38) ) returns int with schemabinding\r\n as begin declare @Erg int = 0     if exists (select top 1 1 from dbo.DomainTrustsDomain dd   where dd.UID_ADSDomainTrusts = @UID_ADSDomainGroup and dd.UID_ADSDomainTrusted\r\n = @UID_ADSDomainMember ) begin select @Erg = 1  return (@erg)  end   if exists (select top 1 1 from dbo.DomainTrustsDomain dd join dbo.ADSDomain e2 on\r\n e2.UID_ADSDomain = dd.UID_ADSDomainTrusts join dbo.ADSDomain t1 on dd.UID_ADSDomainTrusted = t1.UID_ADSDomain join dbo.ADSDomain e1 on  e1.UID_ADSForest\r\n = e2.UID_ADSForest or e1.UID_ADSDomain = e2.UID_ADSDomain join dbo.ADSDomain t2 on  t1.UID_ADSForest = t2.UID_ADSForest or t1.uid_adsdomain = t2.UID_ADSDomain\r\n where e1.UID_ADSDomain = @UID_ADSDomainGroup and t2.UID_ADSDomain = @UID_ADSDomainMember and e1.UID_ADSDomain <> t2.UID_ADSDomain ) begin select @Erg \r\n= 2  return (@erg)  end endLabel: return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_FGIElementManagerValid",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:00:22.473",
      "ModifyDate": "2026-04-14T23:19:33.5",
      "Definition": "   create   function dbo.ADS_FGIElementManagerValid (@ObjectKeyElement varchar(138) , @ObjectKeyManager varchar(138) ) returns bit as begin   declare\r\n @erg bit = 0 declare @TableElement varchar(30) declare @TableManager varchar(30) select @TableElement = dbo.QBM_FCVObjectkeyToElement('TableName', @ObjectKeyElement\r\n) select @TableManager = dbo.QBM_FCVObjectkeyToElement('TableName', @ObjectKeyManager) if @TableElement = 'ADSGroup' and @TableManager = 'ADSAccount' begin\r\n if exists (select top 1 1 from ADS_VElementManagerValid v where v.ElementTable = 'ADSGroup' and v.ManagerTable = 'ADSAccount' and v.ObjectKeyElement =\r\n @ObjectKeyElement and v.ObjectKeyManager = @ObjectKeyManager ) begin select @erg = 1 end  return (@erg)  end if @TableElement = 'ADSGroup' and @TableManager\r\n = 'ADSContact' begin if exists (select top 1 1 from ADS_VElementManagerValid v where v.ElementTable = 'ADSGroup' and v.ManagerTable = 'ADSContact' and\r\n v.ObjectKeyElement = @ObjectKeyElement and v.ObjectKeyManager = @ObjectKeyManager ) begin select @erg = 1 end  return (@erg)  end if @TableElement = 'ADSGroup'\r\n and @TableManager = 'ADSGroup' begin if exists (select top 1 1 from ADS_VElementManagerValid v where v.ElementTable = 'ADSGroup' and v.ManagerTable = \r\n'ADSGroup' and v.ObjectKeyElement = @ObjectKeyElement and v.ObjectKeyManager = @ObjectKeyManager ) begin select @erg = 1 end  return (@erg)  end if @TableElement\r\n = 'ADSAccount' and @TableManager = 'ADSAccount' begin if exists (select top 1 1 from ADS_VElementManagerValid v where v.ElementTable = 'ADSAccount' and\r\n v.ManagerTable = 'ADSAccount' and v.ObjectKeyElement = @ObjectKeyElement and v.ObjectKeyManager = @ObjectKeyManager ) begin select @erg = 1 end  return\r\n (@erg)  end if @TableElement = 'ADSAccount' and @TableManager = 'ADSContact' begin if exists (select top 1 1 from ADS_VElementManagerValid v where v.ElementTable\r\n = 'ADSAccount' and v.ManagerTable = 'ADSContact' and v.ObjectKeyElement = @ObjectKeyElement and v.ObjectKeyManager = @ObjectKeyManager ) begin select \r\n@erg = 1 end  return (@erg)  end if @TableElement = 'ADSAccount' and @TableManager = 'ADSGroup' begin if exists (select top 1 1 from ADS_VElementManagerValid\r\n v where v.ElementTable = 'ADSAccount' and v.ManagerTable = 'ADSGroup' and v.ObjectKeyElement = @ObjectKeyElement and v.ObjectKeyManager = @ObjectKeyManager\r\n ) begin select @erg = 1 end  return (@erg)  end if @TableElement = 'ADSContact' and @TableManager = 'ADSAccount' begin if exists (select top 1 1 from \r\nADS_VElementManagerValid v where v.ElementTable = 'ADSContact' and v.ManagerTable = 'ADSAccount' and v.ObjectKeyElement = @ObjectKeyElement and v.ObjectKeyManager\r\n = @ObjectKeyManager ) begin select @erg = 1 end  return (@erg)  end if @TableElement = 'ADSContact' and @TableManager = 'ADSContact' begin if exists (select\r\n top 1 1 from ADS_VElementManagerValid v where v.ElementTable = 'ADSContact' and v.ManagerTable = 'ADSContact' and v.ObjectKeyElement = @ObjectKeyElement\r\n and v.ObjectKeyManager = @ObjectKeyManager ) begin select @erg = 1 end  return (@erg)  end if @TableElement = 'ADSContact' and @TableManager = 'ADSGroup'\r\n begin if exists (select top 1 1 from ADS_VElementManagerValid v where v.ElementTable = 'ADSContact' and v.ManagerTable = 'ADSGroup' and v.ObjectKeyElement\r\n = @ObjectKeyElement and v.ObjectKeyManager = @ObjectKeyManager ) begin select @erg = 1 end  return (@erg)  end if @TableElement = 'ADSMachine' and @TableManager\r\n = 'ADSAccount' begin if exists (select top 1 1 from ADS_VElementManagerValid v where v.ElementTable = 'ADSMachine' and v.ManagerTable = 'ADSAccount' and\r\n v.ObjectKeyElement = @ObjectKeyElement and v.ObjectKeyManager = @ObjectKeyManager ) begin select @erg = 1 end  return (@erg)  end if @TableElement = 'ADSMachine'\r\n and @TableManager = 'ADSContact' begin if exists (select top 1 1 from ADS_VElementManagerValid v where v.ElementTable = 'ADSMachine' and v.ManagerTable\r\n = 'ADSContact' and v.ObjectKeyElement = @ObjectKeyElement and v.ObjectKeyManager = @ObjectKeyManager ) begin select @erg = 1 end  return (@erg)  end if\r\n @TableElement = 'ADSMachine' and @TableManager = 'ADSGroup' begin if exists (select top 1 1 from ADS_VElementManagerValid v where v.ElementTable = 'ADSMachine'\r\n and v.ManagerTable = 'ADSGroup' and v.ObjectKeyElement = @ObjectKeyElement and v.ObjectKeyManager = @ObjectKeyManager ) begin select @erg = 1 end  return\r\n (@erg)  end if @TableElement = 'ADSDomain' and @TableManager = 'ADSAccount' begin if exists (select top 1 1 from ADS_VElementManagerValid v where v.ElementTable\r\n = 'ADSDomain' and v.ManagerTable = 'ADSAccount' and v.ObjectKeyElement = @ObjectKeyElement and v.ObjectKeyManager = @ObjectKeyManager ) begin select @erg\r\n = 1 end  return (@erg)  end if @TableElement = 'ADSDomain' and @TableManager = 'ADSContact' begin if exists (select top 1 1 from ADS_VElementManagerValid\r\n v where v.ElementTable = 'ADSDomain' and v.ManagerTable = 'ADSContact' and v.ObjectKeyElement = @ObjectKeyElement and v.ObjectKeyManager = @ObjectKeyManager\r\n ) begin select @erg = 1 end  return (@erg)  end if @TableElement = 'ADSDomain' and @TableManager = 'ADSGroup' begin if exists (select top 1 1 from ADS_VElementManagerValid\r\n v where v.ElementTable = 'ADSDomain' and v.ManagerTable = 'ADSGroup' and v.ObjectKeyElement = @ObjectKeyElement and v.ObjectKeyManager = @ObjectKeyManager\r\n ) begin select @erg = 1 end  return (@erg)  end if @TableElement = 'ADSContainer' and @TableManager = 'ADSAccount' begin if exists (select top 1 1 from\r\n ADS_VElementManagerValid v where v.ElementTable = 'ADSContainer' and v.ManagerTable = 'ADSAccount' and v.ObjectKeyElement = @ObjectKeyElement and v.ObjectKeyManager\r\n = @ObjectKeyManager ) begin select @erg = 1 end  return (@erg)  end if @TableElement = 'ADSContainer' and @TableManager = 'ADSContact' begin if exists\r\n (select top 1 1 from ADS_VElementManagerValid v where v.ElementTable = 'ADSContainer' and v.ManagerTable = 'ADSContact' and v.ObjectKeyElement = @ObjectKeyElement\r\n and v.ObjectKeyManager = @ObjectKeyManager ) begin select @erg = 1 end  return (@erg)  end if @TableElement = 'ADSContainer' and @TableManager = 'ADSGroup'\r\n begin if exists (select top 1 1 from ADS_VElementManagerValid v where v.ElementTable = 'ADSContainer' and v.ManagerTable = 'ADSGroup' and v.ObjectKeyElement\r\n = @ObjectKeyElement and v.ObjectKeyManager = @ObjectKeyManager ) begin select @erg = 1 end  return (@erg)  end endlabel:  return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_FGIGroupChangeValid",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:00:22.35",
      "ModifyDate": "2026-04-14T23:19:33.3",
      "Definition": "    create   function dbo.ADS_FGIGroupChangeValid (@UID_ADSGroup varchar(38) ) returns bit as begin declare @erg bit = 1  if exists (select top \r\n1 1 from ADSAccountInADSGroup aig left outer join ADS_VGroupMemberValid_Account v on aig.UID_ADSGroup = v.UID_ADSGroupContainer and aig.UID_ADSAccount \r\n= v.UID_ADSaccountMember where aig.UID_ADSGroup = @UID_ADSGroup and aig.XOrigin > 0 and v.UID_ADSGroupContainer is null ) or exists (select top 1 1 from\r\n ADSContactInADSGroup aig left outer join ADS_VGroupMemberValid_Contact v on aig.UID_ADSGroup = v.UID_ADSGroupContainer and aig.UID_ADSContact = v.UID_ADSContactMember\r\n where aig.UID_ADSGroup = @UID_ADSGroup and aig.XOrigin > 0 and v.UID_ADSGroupContainer is null ) or exists (select top 1 1 from ADSMachineInADSGroup aig\r\n left outer join ADS_VGroupMemberValid_Machine v on aig.UID_ADSGroup = v.UID_ADSGroupContainer and aig.UID_ADSMachine = v.UID_ADSMachineMember where aig.UID_ADSGroup\r\n = @UID_ADSGroup and aig.XOrigin > 0 and v.UID_ADSGroupContainer is null ) or exists (select top 1 1 from ADSGroupInADSGroup aig left outer join ADS_VGroupMemberValid_Group\r\n v on aig.UID_ADSGroupParent = v.UID_ADSGroupContainer and aig.UID_ADSGroupChild = v.UID_ADSGroupMember where aig.UID_ADSGroupParent = @UID_ADSGroup and\r\n v.UID_ADSGroupContainer is null ) or exists (select top 1 1 from ADSGroupInADSGroup aig left outer join ADS_VGroupMemberValid_Group v on aig.UID_ADSGroupParent\r\n = v.UID_ADSGroupContainer and aig.UID_ADSGroupChild = v.UID_ADSGroupMember where aig.UID_ADSGroupChild = @UID_ADSGroup and v.UID_ADSGroupContainer is \r\nnull ) begin select @erg = 0 end endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_FGIGroupInGroupValid",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:00:22.357",
      "ModifyDate": "2026-04-14T23:19:33.31",
      "Definition": "    create   function dbo.ADS_FGIGroupInGroupValid ( @UID_ADSDomainGroup varchar(38) , @uid_ADSGroupGroup varchar(38) , @UID_ADSDomainMember varchar\r\n(38)  , @uid_ADSGroupMember varchar(38)  ) returns int as begin declare @erg int = 0 if exists (select top 1 1 from ADS_VGroupMemberValid_Group v where\r\n v.UID_ADSDomainContainer = @UID_ADSDomainGroup and v.UID_ADSDomainMember = @UID_ADSDomainMember and v.UID_ADSGroupContainer = @uid_ADSGroupGroup and v.UID_ADSGroupMember\r\n = @uid_ADSGroupMember ) begin select @erg = 1 end endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_FGIUserInGroupValid",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:00:22.367",
      "ModifyDate": "2026-04-14T23:19:33.323",
      "Definition": "    create   function dbo.ADS_FGIUserInGroupValid ( @UID_ADSDomainGroup varchar(38) , @uid_ADSGroup varchar(38) , @UID_ADSDomainMember varchar(38\r\n)  , @ObjectClassMember nvarchar(256)   ) returns int as begin declare @erg int = 0 declare @type int = -1     select @type = case @ObjectClassMember when\r\n 'User' then 1 when 'Contact' then 2 when 'Computer' then 3 else -1 end if @type = -1 begin select top 1 @type = x.marker from ( select 'User' as ObjectClass\r\n, 1 as marker union all select 'Contact' , 2 union all select 'Computer' , 3 ) as x join dbo.QBM_FCVStringToListSplitted (@ObjectClassMember, nchar(7),\r\n 1, 0, '') as o on o.ParameterName = x.ObjectClass end Auswerten: if @type = 1 begin if exists (select top 1 1 from ADS_VGroupMemberValid_Account v where\r\n v.UID_ADSDomainContainer = @UID_ADSDomainGroup and v.UID_ADSGroupContainer = @uid_ADSGroup and v.UID_ADSDomainMember = @UID_ADSDomainMember  ) begin select\r\n @erg = 1 end  return (@erg)  end if @type = 2 begin if exists (select top 1 1 from ADS_VGroupMemberValid_Contact v where v.UID_ADSDomainContainer = @UID_ADSDomainGroup\r\n and v.UID_ADSGroupContainer = @uid_ADSGroup and v.UID_ADSDomainMember = @UID_ADSDomainMember  ) begin select @erg = 1 end  return (@erg)  end if @type\r\n = 3 begin if exists (select top 1 1 from ADS_VGroupMemberValid_Machine v where v.UID_ADSDomainContainer = @UID_ADSDomainGroup and v.UID_ADSGroupContainer\r\n = @uid_ADSGroup and v.UID_ADSDomainMember = @UID_ADSDomainMember  ) begin select @erg = 1 end  return (@erg)  end endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_FGIATTDecisionPossible",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:42.273",
      "ModifyDate": "2026-04-14T23:18:05.797",
      "Definition": "   create   function dbo.ATT_FGIATTDecisionPossible(@UID_AttestationCase varchar(38) , @LevelNumber int , @SubLevelNumber int  ) returns int with\r\n schemabinding as begin declare @erg int select top 1 @erg = case MIN(w.LevelResult) when 1 then 0  when 0 then 1  else -1  end from ( select case when\r\n z.CountDeciderAvailable < z.CountDeciderMinimum then -1  when z.CountDecided >= z.CountDeciderMinimum OR z.IsDenied = 1 then 1  when z.CountDeciderAvailable\r\n >= z.CountDeciderMinimum and z.CountDecided < z.CountDeciderMinimum and z.IsDenied = 0 then 0  else -1  end as LevelResult , z.IsDenied from ( select \r\ncase when y.RulerLevel > 0  then 1 when y.CountDeciderMinimum = -1 then case when y.CountDeciderAvailable < 1 then 1 else y.CountDeciderAvailable end else\r\n y.CountDeciderMinimum end as CountDeciderMinimum , y.CountDecided , y.CountDeciderAvailable , y.IsDenied from ( select x.UID_AttestationCase, x.levelnumber\r\n, x.sublevelnumber, x.uid_QERWorkingStep , isnull(x.CountApprover, 1) as CountDeciderMinimum , isnull(SUM (x.isDecided), 0) as CountDecided , isnull(COUNT\r\n(*), 0) as CountDeciderAvailable , isnull(MIN(x.RulerLevel),0) as RulerLevel  , ISNULL(max(x.IsDenied), 0) as IsDenied from ( select h1.UID_AttestationCase\r\n, h1.levelnumber, h1.sublevelnumber, ws.uid_QERWorkingStep , case ws.CountApprover when null then 1 when 0 then 1 else ws.CountApprover end as CountApprover\r\n , case when isnull(h1.decision, '') in('P', 'N', 'R', '+') then 1 else 0 end as IsDecided , h1.RulerLevel , case when isnull(h1.decision, '') in('N') \r\nthen 1 else 0 end as IsDenied from dbo.AttestationHelper h1 join dbo.QERWorkingStep ws on h1.uid_QERWorkingStep = ws.uid_QERWorkingStep where h1.UID_AttestationCase\r\n = @UID_AttestationCase and h1.levelnumber = @LevelNumber and h1.sublevelnumber = case when @SubLevelNumber IS null then h1.SubLevelNumber else @SubLevelNumber\r\n end   ) as x group by x.UID_AttestationCase, x.levelnumber, x.sublevelnumber, x.uid_QERWorkingStep, x.CountApprover ) as y ) as z ) as w option (recompile\r\n)       endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_FGIPWOTaskToUse",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:12.023",
      "ModifyDate": "2026-04-14T23:20:43.16",
      "Definition": " create   function dbo.ATT_FGIPWOTaskToUse() returns varchar(38) as begin return case dbo.QBM_FGIConfigparmValue('QER\\Attestation\\ReducedApproverCalculation'\r\n) when 'NoRecalc' then '' when 'CurrentLevel' then 'ATT-K-AttestationHelper-Cfg' else 'ATT-K-AttestationHelper' end end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_FGIReasonTypeForAttCase",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:12.03",
      "ModifyDate": "2026-04-14T23:20:43.17",
      "Definition": "   create   function dbo.ATT_FGIReasonTypeForAttCase(@UID_AttesttationCase varchar(38) , @TypeOfReasonType varchar(16)  ) returns int as begin return\r\n( select case @TypeOfReasonType when 'Approve' then isnull(x.ApproveReasonType, 0) else isnull(x.DenyReasonType, 0) end from ( select case y.ApproveReasonType\r\n when 3 then 2  else y.ApproveReasonType end as ApproveReasonType , case y.DenyReasonType when 3 then 2 else y.DenyReasonType end as DenyReasonType from\r\n ( select max(ap.ApproveReasonType) | max(isnull(wst.ApproveReasonType,0)) as ApproveReasonType , max(ap.DenyReasonType) | max(isnull(wst.DenyReasonType\r\n,0)) as DenyReasonType from AttestationCase ac join AttestationPolicy ap on ac.UID_AttestationPolicy = ap.UID_AttestationPolicy  left outer join AttestationHelper\r\n h on ac.UID_AttestationCase = h.UID_AttestationCase and ac.DecisionLevel = h.LevelNumber left outer join QERWorkingStep wst on h.UID_QERWorkingStep = \r\nwst.UID_QERWorkingStep where ac.UID_AttestationCase = @UID_AttesttationCase ) as y ) as x ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_FCVRuleGuidToProcName",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:57.85",
      "ModifyDate": "2026-04-14T23:18:41.57",
      "Definition": "   create   function dbo.CPL_FCVRuleGuidToProcName(@UID_ComplianceRule varchar(38) , @area varchar(16)     ) returns varchar(30) as begin declare\r\n @erg varchar(30) select @erg = dbo.QBM_FGICodeName( 'P'  + case @area when 'Rule' then 'R' when 'Person' then 'P' when 'ITShopOrder' then 'I' else '?'\r\n  end , @UID_ComplianceRule) endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "DPR_FGIProjectionRootRunning",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:03.047",
      "ModifyDate": "2026-04-14T23:20:35.483",
      "Definition": "   create   function dbo.DPR_FGIProjectionRootRunning ( @BaseTableName varchar(30) ) returns bit AS begin declare @erg bit = 0 declare @MaxFSDuration\r\n int declare @MaxFSDurationDefault int = 720 declare @Fullpath nvarchar(1000) = null declare @RunningSyncs QBM_YParameterList  select top 1 @Fullpath =\r\n cp.FullPath , @MaxFSDuration = dbo.QBM_FCVStringToInt(right(dbo.QBM_FGIConfigparmValue(cp.FullPath),6), @MaxFSDurationDefault) from DialogTable t join\r\n DialogConfigParm cp on LEFT(t.UID_DialogTable, 3) = LEFT(cp.UID_ConfigParm, 3) where t.TableName = @BaseTableName and cp.FullPath like 'TargetSystem\\%\\MaxFullsyncDuration'\r\n if isnull(@Fullpath, '') = '' begin select @MaxFSDuration = @MaxFSDurationDefault end if @MaxFSDuration > 10080  begin select @MaxFSDuration = 10080 end\r\n  insert into @RunningSyncs (Parameter1) select distinct si.XObjectKey from DPRRootObjConnectionInfo ci with (readpast) join DPRProjectionStartInfo si \r\nwith (readpast) on ci.UID_DPRRootObjConnectionInfo = si.UID_DPRRootObjConnectionInfo where ci.ObjectKeyRoot like '<Key><T>' + @BaseTableName + '</T>%' \r\nand (exists ( select top 1 1 from DPRProjectionConfigStep cs where cs.UID_DPRProjectionConfig = si.UID_DPRProjectionConfig and cs.UID_LeftDPRSystemConnection\r\n = ci.UID_DPRSystemConnection ) or exists ( select top 1 1 from DPRProjectionConfigStep cs where cs.UID_DPRProjectionConfig = si.UID_DPRProjectionConfig\r\n and cs.UID_RightDPRSystemConnection = ci.UID_DPRSystemConnection ) ) and dateadd(mi, @MaxFSDuration, isnull(si.LastStart , '1899-12-30')) > dbo.QBM_FGIUTCDate\r\n() if @@ROWCOUNT > 0 begin  if exists ( select top 1 1 from JobQueue Q with (readpast) join @RunningSyncs I on Q.BasisObjectKey = I.Parameter1  and q.JobChainName\r\n = 'DPR_DPRProjectionStartInfo_Run_Synchronization' and Q.Ready2EXE in (N'TRUE', N'LOADED', N'PROCESSING') ) begin select @erg = 1 end end endLabel: return\r\n (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "DPR_FGIShellMigrationLevel",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:03.16",
      "ModifyDate": "2026-04-14T23:20:35.62",
      "Definition": "   create   function dbo.DPR_FGIShellMigrationLevel () returns varchar(16) AS begin declare @erg varchar(16) select top 1 @erg = case when max(sign\r\n(abs(sh.vMajor - mo.vMajor))) = 1 then 'Major' when max(sign(abs(sh.vMinor - mo.vMinor))) = 1 then 'Minor' when max(sign(abs(sh.vSP - mo.vSP))) = 1 then\r\n 'ServicePack' else 'none' end from ( select distinct dbo.QBM_FCVStringToInt(sv1.ParameterValue, 0) as vMajor , dbo.QBM_FCVStringToInt(sv2.ParameterValue\r\n, 0) as vMinor , dbo.QBM_FCVStringToInt(sv3.ParameterValue, 0) as vSP from DPRSchema s cross apply dbo.QBM_FCVStringToList(s.SystemVersion, '.', 1, 0) \r\nsv1 cross apply dbo.QBM_FCVStringToList(s.SystemVersion, '.', 1, 0) sv2 cross apply dbo.QBM_FCVStringToList(s.SystemVersion, '.', 1, 0) sv3 where s.SystemType\r\n = 'OneIM' and sv1.OrderNumber = 1 and sv2.OrderNumber = 2 and sv3.OrderNumber = 3 ) as sh cross join ( select distinct dbo.QBM_FCVStringToInt(mv1.ParameterValue\r\n, 0) as vMajor , dbo.QBM_FCVStringToInt(mv2.ParameterValue, 0) as vMinor , dbo.QBM_FCVStringToInt(mv3.ParameterValue, 0) as vSP from QBMModuleDef m cross\r\n apply dbo.QBM_FCVStringToList(m.ModuleVersion, '.', 1, 0) mv1 cross apply dbo.QBM_FCVStringToList(m.ModuleVersion, '.', 1, 0) mv2 cross apply dbo.QBM_FCVStringToList\r\n(m.ModuleVersion, '.', 1, 0) mv3 where mv1.OrderNumber = 1 and mv2.OrderNumber = 2 and mv3.OrderNumber = 3 ) as mo endLabel: return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "DPR_FSQTriggerRIMemberShip",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:03.137",
      "ModifyDate": "2026-04-14T23:20:35.593",
      "Definition": "  create   function dbo.DPR_FSQTriggerRIMemberShip(@ParentTable varchar(30) , @Operation varchar(16) ) returns nvarchar(max) as begin declare @Erg\r\n nvarchar(max) = '' declare @Pattern nvarchar(max) = '\r\n\r\nif exists (select top 1 1\r\n\t\t\tfrom deleted d join DPRMemberShipAction m on d.XObjectkey = m.%key%\r\n\t\t\t)\r\n begin\r\n\tdelete DPRMemberShipAction\r\n\tfrom deleted d join DPRMemberShipAction m on d.XObjectkey = m.%key%\r\n end\r\n '\r\n if @Operation <> 'Delete' begin goto endlabel end  select @erg = string_agg(convert(nvarchar(max), y.element )  , N'' )  from ( select distinct replace\r\n (@pattern, '%key%' , case when x.ContainerTable = @ParentTable then 'ObjectKeyBase' when x.MemberTable = @ParentTable then 'ObjectKeyMember' else 'ObjectKeyMN'\r\n  end ) as element  from (  select r.ParentTable as ContainerTable , r.ParentColumn as ContainerColumn , r.ChildColumn as ChildConnectContainer , rm.ParentTable\r\n as MemberTable , rm.ParentColumn as MemberColumn , rm.ChildColumn as ChildConnectMember , nht.UID_DPRNameSpace , tc.TableName from QBM_VQBMRelation r \r\njoin DPRNameSpaceHasDialogTable nht with (readpast) on r.UID_DialogTableChild = nht.UID_DialogTable and r.IsForUpdateXDateSubItem = 1 join QBM_VQBMRelation\r\n rm on r.UID_QBMRelationMN = rm.UID_QBMRelation join DialogTable tc with (readpast) on r.ChildTable = tc.TableName and tc.isMNTable = 1 where (r.ParentTable\r\n = @ParentTable  or rm.ParentTable = @ParentTable ) and r.IsForUpdateXDateSubItem = 1 and nht.IsAdHocSingleMemberShip = 1 union select r.ParentTable as\r\n ContainerTable , r.ParentColumn as ContainerColumn , r.ChildColumn as ChildConnectContainer , dbo.QBM_FGITableName(rm.UID_DialogTableReference) as MemberTable\r\n , 'XObjectKey' as MemberColumn , ok.ColumnName as ChildConnectMember , nht.UID_DPRNameSpace , tc.TableName from QBM_VQBMRelation r join DPRNameSpaceHasDialogTable\r\n nht with (readpast) on r.UID_DialogTableChild = nht.UID_DialogTable and r.IsForUpdateXDateSubItem = 1 join DialogColumn ok with (readpast) on ok.UID_DialogTable\r\n = r.UID_DialogTableChild join DialogValidDynamicRef rm with (readpast) on ok.UID_DialogColumn = rm.UID_DialogColumn join DialogTable tc with (readpast\r\n) on ok.UID_DialogTable = tc.UID_DialogTable and tc.IsMAllTable = 1 where (r.ParentTable = @ParentTable or dbo.QBM_FGITableName(rm.UID_DialogTableReference\r\n) = @ParentTable ) and r.IsForUpdateXDateSubItem = 1 and nht.IsAdHocSingleMemberShip = 1 ) as x ) as y if @Erg > ' ' begin select @Erg = '\r\n----------------------------------------------------------\r\n-- Handle RI for DPRMemberShipAction\r\n----------------------------------------------------------\r\n '\r\n + dbo.QBM_FCVStringToIndent(@Erg, 1) + '\r\n  \r\n----------------------------------------------------------\r\n-- / Handle RI for DPRMemberShipAction\r\n----------------------------------------------------------'\r\n end else begin select @erg = '' end endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "DPR_FSQTriggerWatchMemberShip",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:03.12",
      "ModifyDate": "2026-04-14T23:20:35.58",
      "Definition": "  create   function dbo.DPR_FSQTriggerWatchMemberShip(@ChildTable varchar(30) , @Operation varchar(16) ) returns nvarchar(max) as begin declare \r\n@IsXOriginHandling bit = 0 declare @IsXIsInEffectHandling bit = 0 declare @IsXMarkedForDeletionHandling bit = 0 declare @Erg nvarchar(max) = '' declare\r\n @ErgSim nvarchar(max) = '' declare @ContainerTable varchar(30) declare @ContainerColumn varchar(30) declare @ChildConnectContainer varchar(30) declare\r\n @MemberTable varchar(30) declare @MemberColumn varchar(30) declare @ChildConnectMember varchar(30) declare @UID_ContainerTable varchar(38) declare @UID_DPRNameSpace\r\n varchar(38) declare @ContainerObjectKey nvarchar(1000) declare @MemberObjectKey nvarchar(1000)  declare @OpAddDel nvarchar(max) declare @OpSynonym varchar\r\n(16) = 'deleted' declare @joinDeletedReal nvarchar(max) = '--' declare @whereClauseSoFar nvarchar(max) = '1=1' declare @whereClause nvarchar(max) declare\r\n @StringPatternFullsync nvarchar(100) declare @StringPatternOutStanding nvarchar(100) declare @ElementNummer int = 0 declare @DebugSwitch int = 0 declare\r\n @DebugMessage nvarchar(max) declare @DebugOnly nvarchar(16) = '--Debug ' declare @crlf nvarchar(20) = nchar(13) + nchar(10) declare @AdditionalWhereClause\r\n nvarchar(max) declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @Pattern1 nvarchar(max) ='\r\ninsert into DPRMemberShipAction\t(\r\n\t UID_DPRMemberShipAction\r\n\t, ObjectKeyMN  \r\n\t, Operation \r\n\t, ObjectKeyBase \r\n\t, ObjectKeyMember \r\n\t, UID_DPRNameSpace\r\n\t, OperationDate\r\n\t, XObjectKey\r\n\t\t\t)\r\n'\r\n declare @Pattern2 nvarchar(max) ='\r\nselect \t y.UID_DPRMemberShipAction\r\n\t, y.ObjectKeyMN  \r\n\t, y.Operation \r\n\t, y.ObjectKeyBase \r\n\t, y.ObjectKeyMember \r\n\t, y.UID_DPRNameSpace\r\n\t, y.OperationDate\r\n\t, dbo.QBM_FCVElementToObjectKey1(''DPRMemberShipAction'', ''UID_DPRMemberShipAction'', y.UID_DPRMemberShipAction)\r\nfrom (\r\n\t select \r\n\t\ti.XObjectKey as ObjectKeyMN\r\n\t\t, @OpAddDel as Operation  \r\n\t\t, @ContainerObjectKey as ObjectKeyBase\r\n\t\t, @MemberObjectKey as ObjectKeyMember\r\n\t\t, ''@UID_DPRNameSpace'' as UID_DPRNameSpace\r\n\t\t, @TrackingDate as OperationDate\r\n\t\t, newid() as UID_DPRMemberShipAction\r\n\t\tfrom @OPSynonym i -- @ChildTable\r\n\t\t\t\t@joinDeletedReal@\r\n\t\tjoin @Containertable ContainerTable on i.@ChildConnectContainer = ContainerTable.@ContainerColumn\r\n\t\t\t\t\t\tjoin @MemberTable MemberTable on i.@ChildConnectMember = MemberTable.@MemberColumn\r\n\t\t\t\t\t\t@v33365\r\n\t\t@WhereClause\r\n\t) as y\r\n'\r\n declare @pattern2_33365 nvarchar(max) declare @Pattern3 nvarchar(max) = '\r\n \r\n\tif @IsSimulationMode = 1\r\n\t begin\r\n\r\n\t\tdelete @SimulationModeBuffer\r\n\r\n\t\tinsert into @SimulationModeBuffer (operation, BaseObjectType, ColumnName, Objectkey, OldValue) \r\n\t\tselect ''I'', ''DPRMemberShipAction'', ''UID_DPRMemberShipAction'', m.XObjectKey , '''' \r\n\t\tfrom DPRMemberShipAction m\r\n\t\t\twhere m.OperationDate = @TrackingDate\r\n\t\tunion all\r\n\t\tselect ''I'', ''DPRMemberShipAction'', ''ObjectKeyMN'', m.XObjectKey , '''' \r\n\t\tfrom DPRMemberShipAction m\r\n\t\t\twhere m.OperationDate = @TrackingDate\r\n\t\tunion all\r\n\t\tselect ''I'', ''DPRMemberShipAction'', ''Operation'', m.XObjectKey , '''' \r\n\t\tfrom DPRMemberShipAction m\r\n\t\t\twhere m.OperationDate = @TrackingDate\r\n\t\tunion all\r\n\t\tselect ''I'', ''DPRMemberShipAction'', ''ObjectKeyBase'', m.XObjectKey , '''' \r\n\t\tfrom DPRMemberShipAction m\r\n\t\t\twhere m.OperationDate = @TrackingDate\r\n\t\tunion all\r\n\t\tselect ''I'', ''DPRMemberShipAction'', ''ObjectKeyMember'', m.XObjectKey , '''' \r\n\t\tfrom DPRMemberShipAction m\r\n\t\t\twhere m.OperationDate = @TrackingDate\r\n\t\tunion all\r\n\t\tselect ''I'', ''DPRMemberShipAction'', ''UID_DPRNameSpace'', m.XObjectKey , '''' \r\n\t\tfrom DPRMemberShipAction m\r\n\t\t\twhere m.OperationDate = @TrackingDate\r\n\t\tunion all\r\n\t\tselect ''I'', ''DPRMemberShipAction'', ''OperationDate'', m.XObjectKey , '''' \r\n\t\tfrom DPRMemberShipAction m\r\n\t\t\twhere m.OperationDate = @TrackingDate\r\n\t\tunion all\r\n\t\tselect ''I'', ''DPRMemberShipAction'', ''ObjectKeyMN'', m.XObjectKey , '''' \r\n\t\tfrom DPRMemberShipAction m\r\n\t\t\twhere m.OperationDate = @TrackingDate\r\n\r\n\t\texec QBM_PFESimulationFill @SimulationModeBuffer\r\n\r\n\t end '\r\n   select @StringPatternOutStanding = dbo.QBM_FCVBinaryToString( CONVERT(varbinary, dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|',0)), 0) if not exists\r\n (select top 1 1 from DialogTable t with (readpast) where t.TableName = @ChildTable and ( t.isMNTable = 1 or t.IsMAllTable = 1 ) ) begin if @DebugSwitch\r\n > 0 begin select @DebugMessage = @DebugOnly + ' keine m:n oder m:all ' + @ChildTable  select @Erg = @DebugMessage end goto endLabel end select @IsXMarkedForDeletionHandling\r\n = dbo.QBM_FGIColumnExists(@ChildTable, 'XMarkedForDeletion') select @IsXOriginHandling = dbo.QBM_FGIColumnExists(@ChildTable, 'XOrigin') if @IsXOriginHandling\r\n = 1 begin select @IsXIsInEffectHandling = dbo.QBM_FGIColumnExists(@ChildTable, 'XIsInEffect') end  if @Operation = 'insert' begin select @OpSynonym = \r\n'inserted' select @OpAddDel = '''ADD''' if @IsXOriginHandling = 1 begin select @whereClauseSoFar = ' i.XOrigin > 0' end if @IsXIsInEffectHandling = 1 begin\r\n select @whereClauseSoFar = @whereClauseSoFar + ' and i.XIsInEffect = 1' end end if @Operation = 'delete' begin select @OpAddDel = '''DEL''' if @IsXOriginHandling\r\n = 1 begin if @DebugSwitch > 0 begin select @DebugMessage = @DebugOnly + ' dann passiert beim Delete nix mehr' + @ChildTable  select @Erg = @DebugMessage\r\n end goto Restposten441234 end end if @Operation = 'Update' begin if @IsXOriginHandling = 0 and @IsXMarkedForDeletionHandling = 0 begin if @DebugSwitch\r\n > 0 begin select @DebugMessage = @DebugOnly + ' dann passiert alles im Delete, brauchen wir kein update ' + @ChildTable  select @Erg = @DebugMessage end\r\n goto endLabel end    select @whereClauseSoFar = @crlf + '\t\t\t\t' + case @IsXOriginHandling * 100 + @IsXIsInEffectHandling *10 + @IsXMarkedForDeletionHandling\r\n  when 001 then ' i.XMarkedForDeletion & ' + @StringPatternOutStanding + ' > 0 and t.XMarkedForDeletion & ' + @StringPatternOutStanding + ' = 0 '    when\r\n 100 then 'dbo.QBM_FGIXOriginChanged_Effect(i.XOrigin, t.XOrigin, 1, 1) = 1'     when 101 then '( i.XOrigin > 0 and t.XOrigin = 0 and t.XMarkedForDeletion & '\r\n + @StringPatternOutStanding + ' = 0 and i.XMarkedForDeletion & ' + @StringPatternOutStanding + ' = 0 )\r\n\t\t\t\t\t\t\tor ( i.XOrigin = 0 and t.XOrigin > 0\t)\r\n\t\t\t\t\t\t\tor (i.XMarkedForDeletion & '\r\n + @StringPatternOutStanding + ' > 0 \r\n\t\t\t\t\t\t\t\tand t.XMarkedForDeletion & ' + @StringPatternOutStanding + ' = 0 \r\n\t\t\t\t\t\t\t\tand t.XOrigin > 0\r\n\t\t\t\t\t\t\t)' \r\nwhen 110 then 'dbo.QBM_FGIXOriginChanged_Effect(i.XOrigin, t.XOrigin, i.XIsInEffect, t.XIsInEffect) = 1'     when 111 then concat( '( i.XIsInEffect > 0 and t.XIsInEffect = 0 and t.XMarkedForDeletion & '\r\n , @StringPatternOutStanding , ' = 0 and i.XMarkedForDeletion & ' + @StringPatternOutStanding + ' = 0 )\r\n\t\t\t\t\t\tor ( i.XOrigin > 0 and t.XOrigin = 0 and i.XIsInEffect > 0  and t.XMarkedForDeletion & '\r\n + @StringPatternOutStanding + ' = 0 and i.XMarkedForDeletion & ' + @StringPatternOutStanding + ' = 0 )\r\n\t\t\t\t\t\t or ( i.XIsInEffect = 0 and t.XIsInEffect > 0 and t.XMarkedForDeletion & '\r\n, @StringPatternOutStanding , ' = 0 \t)\r\n\t\t\t\t\t\t or (i.XMarkedForDeletion & ' , @StringPatternOutStanding , ' > 0 \r\n\t\t\t\t\t\t\t\tand t.XMarkedForDeletion & ' \r\n, @StringPatternOutStanding , ' = 0 \r\n\t\t\t\t\t\t\t\tand t.XIsInEffect > 0\r\n\t\t\t\t\t\t\t\tand t.XOrigin > 0\r\n\t\t\t\t\t\t\t)' )   else ' 1 = 0' end     select @OpAddDel = \r\n'\t\t\t' + case @IsXOriginHandling * 100 + @IsXIsInEffectHandling *10 + @IsXMarkedForDeletionHandling  when 001 then 'case \r\n\t\t\t\t\twhen t.XMarkedForDeletion & '\r\n + @StringPatternOutStanding + ' = 0 \r\n\t\t\t\t\t\tthen ''ADD''\r\n\t\t\t\t\t\telse ''DEL''\r\n\t\t\t\t   end'    when 100 then 'case \r\n\t\t\t\t\twhen (t.XOrigin > 0 and i.XOrigin = 0 )\r\n\t\t\t\t\t\tthen ''ADD''\r\n\t\t\t\t\telse ''DEL''\r\n\t\t\t\t   end'\r\n when 101 then 'case \r\n\t\t\t\t\twhen (t.XOrigin > 0 and i.XOrigin = 0 )\r\n\t\t\t\t\t\tor ( i.XMarkedForDeletion & ' + @StringPatternOutStanding + ' > 0 \r\n\t\t\t\t\t\t\t\tand t.XMarkedForDeletion & '\r\n + @StringPatternOutStanding + ' = 0 \r\n\t\t\t\t\t\t\t\tand t.XOrigin > 0\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\tthen ''ADD''\r\n\t\t\t\t\telse ''DEL''\r\n\t\t\t\t   end' when 110 then 'case \r\n\t\t\t\t\twhen (t.XOrigin > 0 and t.XIsInEffect = 1 and i.XIsInEffect = 0 )\r\n\t\t\t\t\t\t then ''ADD''\r\n\t\t\t\t\telse ''DEL''\r\n\t\t\t\t   end'\r\n when 111 then concat('case \r\n\t\t\t\t\twhen (t.XOrigin > 0 and t.XIsInEffect = 1 and i.XIsInEffect = 0 and t.XMarkedForDeletion & ', @StringPatternOutStanding\r\n , ' = 0 )\r\n\t\t\t\t\t\t or ( i.XMarkedForDeletion & ' , @StringPatternOutStanding , ' > 0 \r\n\t\t\t\t\t\t\t\tand t.XMarkedForDeletion & ' , @StringPatternOutStanding\r\n , ' = 0 \r\n\t\t\t\t\t\t\t\tand t.XOrigin > 0\r\n\t\t\t\t\t\t\t)\t\r\n\t\t\t\t\t\t then ''ADD''\r\n\t\t\t\t\telse ''DEL''\r\n\t\t\t\t   end' )   else '  ''ADD'' ' end select @joinDeletedReal \r\n= ' join ' + @ChildTable + ' t on ' + dbo.QBM_FSQTableJoin ( @ChildTable , 'i', 't') end  insert into @ElementBuffer (Ident1  , Ident2  , Ident3  , UID2\r\n  , UID3  , UID4  , UID1  , ContentFull  , ObjectKey1  , ObjectKey2  ) select r.ParentTable as ContainerTable , r.ParentColumn as ContainerColumn , r.ChildColumn\r\n as ChildConnectContainer , rm.ParentTable as MemberTable , rm.ParentColumn as MemberColumn , rm.ChildColumn as ChildConnectMember , nht.UID_DPRNameSpace\r\n , nht.WhereClause as AdditionalWhereClause    , 'ContainerTable.XObjectKey' as ContainerObjectKey , 'MemberTable.XObjectKey' as MemberObjectKey from QBM_VQBMRelation\r\n r join DPRNameSpaceHasDialogTable nht with (readpast) on r.UID_DialogTableChild = nht.UID_DialogTable and r.IsForUpdateXDateSubItem = 1 join QBM_VQBMRelation\r\n rm on r.UID_QBMRelationMN = rm.UID_QBMRelation join DialogTable tc with (readpast) on r.ChildTable = tc.TableName and tc.isMNTable = 1 where r.ChildTable\r\n = @ChildTable and r.IsForUpdateXDateSubItem = 1 and nht.IsAdHocSingleMemberShip = 1 union select r.ParentTable as ContainerTable , r.ParentColumn as ContainerColumn\r\n , r.ChildColumn as ChildConnectContainer  , dbo.QBM_FGITableName(rm.UID_DialogTableReference) as MemberTable , 'XObjectKey' as MemberColumn , ok.ColumnName\r\n as ChildConnectMember , nht.UID_DPRNameSpace , nht.WhereClause as AdditionalWhereClause   , 'ContainerTable.XObjectKey' as ContainerObjectKey , 'i.' +\r\n ok.ColumnName as MemberObjectKey from QBM_VQBMRelation r join DPRNameSpaceHasDialogTable nht with (readpast) on r.UID_DialogTableChild = nht.UID_DialogTable\r\n and r.IsForUpdateXDateSubItem = 1 join DialogColumn ok with (readpast) on ok.UID_DialogTable = r.UID_DialogTableChild join DialogValidDynamicRef rm with\r\n (readpast) on ok.UID_DialogColumn = rm.UID_DialogColumn join DialogTable tc with (readpast) on ok.UID_DialogTable = tc.UID_DialogTable and tc.IsMAllTable\r\n = 1 where r.ChildTable = @ChildTable and r.IsForUpdateXDateSubItem = 1 and nht.IsAdHocSingleMemberShip = 1 select @ElementCount = @@ROWCOUNT select @ElementIndex\r\n = 1 while @ElementIndex <= @ElementCount begin select top 1 @ContainerTable = bu.Ident1  , @ContainerColumn = bu.Ident2  , @ChildConnectContainer = bu.Ident3\r\n  , @MemberTable = bu.UID2  , @MemberColumn = bu.UID3  , @ChildConnectMember = bu.UID4  , @UID_DPRNameSpace = bu.UID1  , @AdditionalWhereClause = bu.ContentFull\r\n  , @ContainerObjectKey = bu.ObjectKey1  , @MemberObjectKey = bu.ObjectKey2  from @ElementBuffer bu where bu.ElementIndex = @ElementIndex if @AdditionalWhereClause\r\n > ' ' begin select @whereClause = '\r\n\t\t\twhere ( ' + @AdditionalWhereClause + '\r\n\t\t\t\t)\r\n\t\t\tand ( ' + @whereClauseSoFar + '\r\n\t\t\t\t)' end else begin select\r\n @whereClause = 'where ' + @whereClauseSoFar end               if @ElementNummer = 0 begin select @Erg = @Erg + @Pattern1 end else begin select @Erg = \r\n@Erg + 'union all' + CHAR(13) +CHAR(10) end select @ElementNummer += 1    if @ChildTable in ( 'UNSAccountBHasUNSItemB' , 'UNSAccountBInUNSGroupB' , 'UNSGroupBExclusion'\r\n , 'UNSGroupBHasUnsItemB' , 'UNSGroupBInUNSGroupB'  , 'UNSAccountBInUNSGroupB1' , 'UNSAccountBInUNSGroupB2' , 'UNSAccountBInUNSGroupB3' , 'UNSGroupB1Exclusion'\r\n , 'UNSGroupB2Exclusion' , 'UNSGroupB3Exclusion' , 'UNSGroupB1InUNSGroupB1' , 'UNSGroupB2InUNSGroupB2' , 'UNSGroupB3InUNSGroupB3'  ) begin select @pattern2_33365\r\n = REPLACE(@pattern2, '@v33365', 'join UNSRootB RootTable on MemberTable.UID_UNSRootB = RootTable.UID_UNSRootB\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tand RootTable.UID_DPRNameSpace =  ''@UID_DPRNameSpace''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t'\r\n ) end else begin select @pattern2_33365 = REPLACE(@pattern2, '@v33365', '--' ) end  select @Erg = @Erg + replace(replace(replace(replace(replace(replace\r\n(replace(replace(replace(replace(replace(replace(replace(REPLACE(@pattern2_33365 ,'@ContainerTable',@ContainerTable) ,'@ContainerColumn', @ContainerColumn\r\n) ,'@ChildConnectContainer', @ChildConnectContainer) ,'@MemberTable', @MemberTable) ,'@MemberColumn', @MemberColumn) ,'@ChildConnectMember', @ChildConnectMember\r\n) ,'@UID_DPRNameSpace', @UID_DPRNameSpace) , '@OpSynonym', @OpSynonym) , '@joinDeletedReal@', @joinDeletedReal) , '@OpAddDel', @OpAddDel) , '@whereClause'\r\n, @whereClause) , '@ChildTable', @ChildTable) , '@ContainerObjectKey', @ContainerObjectKey) , '@MemberObjectKey', @MemberObjectKey)     if @ErgSim = ''\r\n begin select @ErgSim = @ErgSim + replace(replace(replace(replace(@Pattern3 , '@OpAddDel', replace(replace(@OpAddDel , '''ADD''' , '''I''') , '''DEL'''\r\n, '''D''')) , '@ChildTable', @ChildTable) , '@OpSynonym', @OpSynonym) , '@joinDeletedReal@', @joinDeletedReal) end  select @ElementIndex += 1 end  if @Erg\r\n = '' begin     goto Restposten31570 end select @Erg = concat(@Erg , @ErgSim) if @Operation = 'update' begin select @Erg = 'if 1 = 0' + case when @IsXOriginHandling\r\n = 1 then '   or update(XOrigin)' + CHAR(13) +CHAR(10) else '' end + + case when @IsXIsInEffectHandling = 1 then '   or update(XIsInEffect)' + CHAR(13)\r\n +CHAR(10) else '' end + + case when @IsXMarkedForDeletionHandling = 1 then '   or update(XMarkedForDeletion)' + CHAR(13) +CHAR(10) else '' end + '  begin'\r\n + CHAR(13) + CHAR(10) + dbo.QBM_FCVStringToIndent(@Erg, 2) + '\r\n\tend -- if update()' end select @Erg = '\r\n----------------------------------------------------------\r\n-- Handle ADD DEL DPRMemberShipAction ('\r\n + @ChildTable + ', ' + @Operation + ')\r\n----------------------------------------------------------\r\n if dbo.QBM_FGISessionContext (''Fullsync'') = ''''\r\n  begin'\r\n + CHAR(13) +CHAR(10) + dbo.QBM_FCVStringToIndent(@Erg, 1) + '\r\n  end -- if dbo.QBM_FGISessionContext(Fullsync)\r\n----------------------------------------------------------\r\n-- / Handle ADD DEL DPRMemberShipAction\r\n----------------------------------------------------------'\r\n Restposten31570:  select top 1 @erg += concat( '\r\nif update(XMarkedForDeletion)\r\n begin\r\n\tif exists (select top 1 1\r\n\t\t\t\tfrom deleted d join ', x.Childtable\r\n , ' mn on d.XObjectKey = mn.XObjectKey\r\n\t\t\t\t\t\t\t\tjoin DPRMemberShipAction m on mn.XObjectkey = m.ObjectKeyMN\r\n\t\t\t\twhere d.XMarkedForDeletion & ' , @StringPatternOutStanding\r\n , ' = 0\r\n\t\t\t\t\tand mn.XMarkedForDeletion & ' , @StringPatternOutStanding , ' > 0\r\n\t\t\t\t)\r\n\t begin\r\n\t\tdelete DPRMemberShipAction\r\n\t\tfrom deleted d join '\r\n, x.Childtable , ' mn on d.XObjectKey = mn.XObjectKey\r\n\t\t\t\t\t\tjoin DPRMemberShipAction m on mn.XObjectkey = m.ObjectKeyMN\r\n\t\twhere d.XMarkedForDeletion & '\r\n , @StringPatternOutStanding , ' = 0\r\n\t\t\tand mn.XMarkedForDeletion & ' , @StringPatternOutStanding , ' > 0\r\n\t end\r\nend -- if update(XMarkedForDeletion)\r\n'\r\n ) from ( select @Childtable as Childtable from QBM_VQBMRelation r join DPRNameSpaceHasDialogTable nht with (readpast) on r.UID_DialogTableChild = nht.UID_DialogTable\r\n and r.IsForUpdateXDateSubItem = 1 join QBM_VQBMRelation rm with (readpast) on r.UID_QBMRelationMN = rm.UID_QBMRelation join DialogTable tc with (readpast\r\n) on r.ChildTable = tc.TableName and tc.isMNTable = 1 join DialogColumn cd with (readpast) on cd.UID_DialogTable = r.UID_DialogTableChild and cd.ColumnName\r\n = 'XMarkedForDeletion' where r.ChildTable = @ChildTable and r.IsForUpdateXDateSubItem = 1 and nht.IsAdHocSingleMemberShip = 1 union select @Childtable\r\n as Childtable from QBM_VQBMRelation r join DPRNameSpaceHasDialogTable nht with (readpast) on r.UID_DialogTableChild = nht.UID_DialogTable and r.IsForUpdateXDateSubItem\r\n = 1 join DialogColumn ok with (readpast) on ok.UID_DialogTable = r.UID_DialogTableChild join DialogValidDynamicRef rm with (readpast) on ok.UID_DialogColumn\r\n = rm.UID_DialogColumn join DialogTable tc with (readpast) on ok.UID_DialogTable = tc.UID_DialogTable and tc.IsMAllTable = 1 join DialogColumn cd with \r\n(readpast) on cd.UID_DialogTable = r.UID_DialogTableChild and cd.ColumnName = 'XMarkedForDeletion' where r.ChildTable = @ChildTable and r.IsForUpdateXDateSubItem\r\n = 1 and nht.IsAdHocSingleMemberShip = 1 ) as x  Restposten441234: if @Operation = 'delete' and @IsXOriginHandling = 0 begin select top 1 @erg += concat\r\n( '\r\n\t\tif exists (select top 1 1\r\n\t\t\t\t\tfrom deleted d join DPRMemberShipAction m on d.XObjectkey = m.ObjectKeyMN\r\n\t\t\t\t\twhere d.XMarkedForDeletion & ' ,\r\n @StringPatternOutStanding , ' > 0\r\n\t\t\t\t\t)\r\n\t\t begin\r\n\t\t\tdelete DPRMemberShipAction\r\n\t\t\tfrom deleted d join DPRMemberShipAction m on d.XObjectkey = m.ObjectKeyMN\r\n\t\t\twhere d.XMarkedForDeletion & '\r\n , @StringPatternOutStanding , ' > 0\r\n\t\t end\r\n\t' ) from ( select @Childtable as Childtable from QBM_VQBMRelation r join DPRNameSpaceHasDialogTable nht \r\nwith (readpast) on r.UID_DialogTableChild = nht.UID_DialogTable and r.IsForUpdateXDateSubItem = 1 join QBM_VQBMRelation rm with (readpast) on r.UID_QBMRelationMN\r\n = rm.UID_QBMRelation join DialogTable tc with (readpast) on r.ChildTable = tc.TableName and tc.isMNTable = 1 join DialogColumn cd with (readpast) on cd.UID_DialogTable\r\n = r.UID_DialogTableChild and cd.ColumnName = 'XMarkedForDeletion' where r.ChildTable = @ChildTable and r.IsForUpdateXDateSubItem = 1 and nht.IsAdHocSingleMemberShip\r\n = 1 union select @Childtable as Childtable from QBM_VQBMRelation r join DPRNameSpaceHasDialogTable nht with (readpast) on r.UID_DialogTableChild = nht.UID_DialogTable\r\n and r.IsForUpdateXDateSubItem = 1 join DialogColumn ok with (readpast) on ok.UID_DialogTable = r.UID_DialogTableChild join DialogValidDynamicRef rm with\r\n (readpast) on ok.UID_DialogColumn = rm.UID_DialogColumn join DialogTable tc with (readpast) on ok.UID_DialogTable = tc.UID_DialogTable and tc.IsMAllTable\r\n = 1 join DialogColumn cd with (readpast) on cd.UID_DialogTable = r.UID_DialogTableChild and cd.ColumnName = 'XMarkedForDeletion' where r.ChildTable = \r\n@ChildTable and r.IsForUpdateXDateSubItem = 1 and nht.IsAdHocSingleMemberShip = 1 ) as x end  endLabel:     return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCV0C695385CB1124DCEA40A_",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-09-22T13:32:27.727",
      "ModifyDate": "2026-04-14T23:20:24.277",
      "Definition": "      create   function dbo.QBM_FCV0C695385CB1124DCEA40A_ (@TableName varchar(30) ) returns varchar(30) as begin declare @TableNameIntern varchar\r\n(30) = null declare @AccessKey nvarchar(128) = N'RTCTN' + upper(@TableName) declare @ContextValue varchar(30) = convert(varchar(30), SESSION_CONTEXT(@AccessKey\r\n)) if @ContextValue is null begin select top 1 @TableNameIntern = t.TableName from DialogTable t where t.TableName = @TableName if @TableNameIntern is \r\nnull begin  select top 1 @TableNameIntern = table_name from information_schema.tables where table_name = @TableName if @TableNameIntern is null begin select\r\n @TableNameIntern = @TableName  end else begin exec sp_set_session_context @key = @AccessKey, @value = @TableNameIntern end end else  begin exec sp_set_session_context\r\n @key = @AccessKey, @value = @TableNameIntern end end else  begin select @TableNameIntern = @ContextValue end  return (@TableNameIntern) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCV8178BA33F2401031CF15D_",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-09-22T13:32:17.99",
      "ModifyDate": "2026-04-14T23:14:09.987",
      "Definition": "     create   function QBM_FCV8178BA33F2401031CF15D_(@in varBinary(max) ) returns varbinary(64) with SCHEMABINDING as begin declare @WorkIn varbinary\r\n(max) declare @erg varbinary(64) declare @len int declare @i int declare @medium varbinary(max) select @len = datalength(@in) select @medium = null select\r\n @WorkIn = @in while DataLength(@WorkIn) > 8000 begin select @len = datalength(@WorkIn)  select @i = 1 while @i <= @len begin if @medium is null begin \r\nselect @medium = HASHBYTES('SHA2_512', substring(@WorkIn, @i, 8000)) end else begin select @medium = @medium + HASHBYTES('SHA2_512', substring(@WorkIn,\r\n @i, 8000)) end select @i = @i + 8000 end  select @WorkIn = @medium select @medium = null end select @erg = HASHBYTES('SHA2_512', @WorkIn) ende: return\r\n(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVAnyToHash",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.047",
      "ModifyDate": "2026-04-14T23:14:09.987",
      "Definition": "      create   function dbo.QBM_FCVAnyToHash( @in sql_variant ) returns varbinary(20) with SCHEMABINDING as begin return (HASHBYTES('SHA1', case\r\n when @in is null then case SQL_VARIANT_PROPERTY(@in, 'BaseType')  when 'datetime' then convert(varbinary(520), convert(nvarchar(23), isnull(@in, '1899-12-30'\r\n), 121)) when 'int' then convert(varbinary(100), N'') when 'bigint' then convert(varbinary(100), N'') when 'float' then convert(varbinary(100), N'') else\r\n 0x0 end when DATALENGTH(@in) = 0 then 0x0 else  case SQL_VARIANT_PROPERTY(@in, 'BaseType') when 'varchar' then convert(varbinary(8000), convert(nvarchar\r\n(4000), @in)) when 'nvarchar' then convert(varbinary(8000), @in) when 'int' then convert(varbinary(520), convert(nvarchar(256), @in)) when 'bigint' then\r\n convert(varbinary(520), convert(nvarchar(256), @in)) when 'varbinary' then convert(varbinary(8000), @in) when 'datetime' then convert(varbinary(100), \r\nconvert(nvarchar(23), isnull(@in, '1899-12-30'), 121)) when 'float' then convert(varbinary(520), convert(nvarchar(256), @in)) when 'numeric' then convert\r\n(varbinary(520), convert(nvarchar(256), convert(float, @in))) else 0x11ff end end ) ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVBigIntToHash",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.64",
      "ModifyDate": "2026-04-14T23:14:09.747",
      "Definition": "  create   function dbo.QBM_FCVBigIntToHash(@in bigint ) returns varbinary(20) as begin return ( case when @in is null then dbo.QBM_FCVStringToHash\r\n(N'') else dbo.QBM_FCVStringToHash(dbo.QBM_FCVBigIntToString(@in)) end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVBigIntToString",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.797",
      "ModifyDate": "2026-04-14T23:14:09.837",
      "Definition": "  create   function dbo.QBM_FCVBigIntToString (@in bigint ) returns varchar(256) with SCHEMABINDING as begin return ( case when @in is null then\r\n '' else convert(varchar(256), @in) end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVBinarySetBit",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.85",
      "ModifyDate": "2026-04-14T23:14:09.867",
      "Definition": "   create   function dbo.QBM_FCVBinarySetBit (@InVector varbinary(200),  @PositionToSet int  ) returns varbinary(200) with SCHEMABINDING as begin\r\n declare @InVector_intern varbinary(200) declare @Erg varbinary(200) declare @ByteGruppenpotenz int declare @BitmusterGruppenpotenz int declare @einByte\r\n varbinary(1) declare @len int select @ByteGruppenpotenz = (@PositionToSet / 8) +1 select @BitmusterGruppenpotenz = power(2, @PositionToSet % 8) if @InVector\r\n is not null begin    select @len = datalength(@InVector) if @len < @ByteGruppenpotenz begin  select @InVector_intern = convert(varbinary(200), replicate\r\n(convert(varbinary(1), 0x00), @ByteGruppenpotenz -@len)) + @InVector end else begin select @InVector_intern = @InVector end select @len = datalength(@InVector_intern\r\n)  select @einByte = convert(varbinary(1), convert(int, substring(@InVector_intern, (@len+1-@ByteGruppenpotenz), 1)) | @BitmusterGruppenpotenz ) select\r\n @erg = case when @ByteGruppenpotenz = 1 and @len = 1 then @einByte when @ByteGruppenpotenz = 1 and @len > 1 then substring(@InVector_intern, 1, @len -\r\n 1) + @einByte when @ByteGruppenpotenz = @len and @len > 1  then @einByte + substring(@InVector_intern, 2, @len-1) else  substring(@InVector_intern, 1,\r\n @len - @ByteGruppenpotenz) + @einByte + substring(@InVector_intern, (@len+2 - @ByteGruppenpotenz), @ByteGruppenpotenz -1) end end  ende: return (@erg)\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVBinaryToHash",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.65",
      "ModifyDate": "2026-04-14T23:14:09.753",
      "Definition": "create   function dbo.QBM_FCVBinaryToHash(@in varBinary(max) ) returns varbinary(20)  as begin return( case when @in is null or DATALENGTH(@in) \r\n= 0 then HASHBYTES('SHA1', 0x0) when DATALENGTH(@in) <= 8000 then HASHBYTES('SHA1', @in) else dbo.QBM_FCVDBD8E69187A9090BA7A05_(@in) end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVBinaryToHash512",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.053",
      "ModifyDate": "2026-04-14T23:14:09.99",
      "Definition": "create   function dbo.QBM_FCVBinaryToHash512(@in varBinary(max) ) returns varbinary(64)  as begin return( case when @in is null or DATALENGTH(@in\r\n) = 0 then HASHBYTES('SHA2_512', 0x0) when DATALENGTH(@in) <= 8000 then HASHBYTES('SHA2_512', @in) else dbo.QBM_FCV8178BA33F2401031CF15D_(@in) end ) end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVBinaryToString",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.703",
      "ModifyDate": "2026-04-14T23:14:09.8",
      "Definition": "create   function dbo.QBM_FCVBinaryToString( @in varbinary(max) ,@ToBase64 bit ) returns varchar(max)  as begin return ( case when @in is null then\r\n '' when @toBase64 = 0 then convert(varchar(max), @in, 1) else dbo.QBM_FCVE315F6C9FDA8B59879569_(@in) end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVBitToString",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.76",
      "ModifyDate": "2026-04-14T23:14:09.823",
      "Definition": "  create   function dbo.QBM_FCVBitToString (@bit bit) returns varchar(5) with SCHEMABINDING as begin return( case when isnull(@bit,0) = 0 then '0'\r\n else '1' end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVDatetimeLocalToUTC",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.02",
      "ModifyDate": "2026-04-14T23:14:09.97",
      "Definition": "  create   function dbo.QBM_FCVDatetimeLocalToUTC( @DatetimeLocal datetime , @timezone varchar(64)  ) returns datetime with SCHEMABINDING as begin\r\n declare @v varchar(64) declare @mi int declare @tz varchar(5)  select @v = convert(varchar, convert(datetime, @DatetimeLocal, 121) at time zone @timezone\r\n, 121) select @tz = right(@v, 6) select @mi = convert(int, substring(@tz, 2,2))*60 + convert(int, substring(@tz, 5,2)) if left(@tz, 1) <> '-' begin  select\r\n @mi = 0 - @mi end  return(dateadd(mi, @mi, @DatetimeLocal)) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVDatetimeToDatetimeEve",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.787",
      "ModifyDate": "2026-04-14T23:14:09.833",
      "Definition": "    create   function dbo.QBM_FCVDatetimeToDatetimeEve(@in datetime) returns datetime as begin return (case when convert(datetime, CONVERT(date,\r\n @in)) <> @in then @in else dbo.QBM_FCVStringToDatetime(left(dbo.QBM_FCVDatetimeToString(@in), 10) + ' 23:59:59.990') end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVDatetimeToHash",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.643",
      "ModifyDate": "2026-04-14T23:14:09.75",
      "Definition": "  create   function dbo.QBM_FCVDatetimeToHash(@in Datetime ) returns varbinary(20) as begin return ( case when @in is null then dbo.QBM_FCVStringToHash\r\n('') else dbo.QBM_FCVStringToHash(dbo.QBM_FCVDatetimeToString(@in)) end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVDatetimeToNextWork",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.09",
      "ModifyDate": "2026-04-14T23:20:25.77",
      "Definition": "    create   function dbo.QBM_FCVDatetimeToNextWork (@BaseTimeUTC datetime , @CountMinutes int , @ObjectkeyAdminUnit varchar(138)  ) returns datetime\r\n as begin  declare @erg datetime  declare @AdminUnitIsState bit declare @UTCOffset int declare @WorkingHoursWeek varchar(168)  declare @WorkingHoursWeekT\r\n QBM_YParameterList   declare @emptyDay varchar(24) = '000000000000000000000000' declare @NineToFive varchar(24) = '000000000111111110000000' declare @BaseTimeLocal\r\n datetime declare @ZielString varchar(64) declare @SecondsRest int declare @Stunde int declare @WorkingHoursDay varchar(24) declare @isodate varchar(10\r\n) declare @dayOfWeek varchar(16) declare @lauf int declare @IstFirstHour bit  declare @IsDayLightSaving bit declare @IgnoreHoliday int = 0 declare @IgnoreWeekend\r\n int = 0 declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int select @IgnoreHoliday = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue\r\n('QBM\\WorkingHours\\IgnoreHoliday'), 0) select @IgnoreWeekend = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue('QBM\\WorkingHours\\IgnoreWeekend'), 0) \r\nif @ObjectkeyAdminUnit is null begin select top 1 @ObjectkeyAdminUnit = c.XObjectKey from DialogDatabase d with (readpast) join DialogCountry c with (readpast\r\n) on c.UID_DialogCountry = d.UID_DialogCountryDefault end if @ObjectkeyAdminUnit is null  begin select @ObjectkeyAdminUnit = '<Key><T>DialogCountry</T><P>QBM-29A70004FED64C4EBAE3FAC8D6258999</P></Key>'\r\n  end  select @IstFirstHour = 1 select @AdminUnitIsState = 0 if dbo.QBM_FCVObjectkeyToElement('TableName', @ObjectkeyAdminUnit) = 'DialogState' begin  \r\nselect @AdminUnitIsState = 1 select top 1 @UTCOffset = AvgUTCOffset , @WorkingHoursWeek = DefaultWorkingHours , @IsDayLightSaving = IsDayLightSaving from\r\n DialogState where XObjectKey = @ObjectkeyAdminUnit  if len(isnull(@WorkingHoursWeek, '')) <> 168 begin  select top 1 @WorkingHoursWeek = c.DefaultWorkingHours\r\n from DialogCountry c join dialogState s on c.uid_dialogCountry = s.uid_dialogCountry where s.XObjectKey = @ObjectkeyAdminUnit end end else begin  select\r\n top 1 @UTCOffset = AvgUTCOffset , @WorkingHoursWeek = DefaultWorkingHours , @IsDayLightSaving = IsDayLightSaving from DialogCountry where XObjectKey =\r\n @ObjectkeyAdminUnit end  select @BaseTimeLocal = dateadd(ss, @UTCOffset, @BaseTimeUTC) if @IsDayLightSaving = 1 and month(@BaseTimeUTC) in (4,5,6,7,8,9\r\n,10) begin select @BaseTimeLocal = dateadd(ss, 3600, @BaseTimeLocal)  end  select @SecondsRest = @CountMinutes * 60 + datepart(mi, @BaseTimeLocal) * 60\r\n + 1 if datepart(ss, @BaseTimeLocal) > 0 begin select @SecondsRest = @SecondsRest + 60 end if len(isnull(@WorkingHoursWeek, '')) <> 168 begin insert into\r\n @WorkingHoursWeekT(Parameter1, Parameter2) values( 'Sunday' , @emptyDay) , ( 'Monday' , @NineToFive) , ( 'Tuesday' , @NineToFive) , ( 'Wednesday' , @NineToFive\r\n) , ( 'Thursday' , @NineToFive) , ( 'Friday' , @NineToFive) , ( 'Saturday' , @emptyDay) end else begin insert into @WorkingHoursWeekT(Parameter1, Parameter2\r\n) values( 'Sunday' , substring(@WorkingHoursWeek, 1, 24)) , ( 'Monday' , substring(@WorkingHoursWeek, 1 + 24 * 1 , 24)) , ( 'Tuesday' , substring(@WorkingHoursWeek\r\n, 1 + 24 * 2 , 24)) , ( 'Wednesday' , substring(@WorkingHoursWeek, 1 + 24 * 3 , 24)) , ( 'Thursday' , substring(@WorkingHoursWeek, 1 + 24 * 4 , 24)) , \r\n( 'Friday' , substring(@WorkingHoursWeek, 1 + 24 * 5 , 24)) , ( 'Saturday' , substring(@WorkingHoursWeek, 1 + 24 * 6 , 24)) end if @IgnoreWeekend = 1 begin\r\n if exists (select top 1 1 from @WorkingHoursWeekT w where w.Parameter2 = @emptyDay ) begin update @WorkingHoursWeekT set Parameter2 = (select max(m.Parameter2\r\n) as wert from @WorkingHoursWeekT m ) from @WorkingHoursWeekT w where Parameter2 = @emptyDay end end  select @Stunde = datepart(hh, @BaseTimeLocal)  select\r\n @lauf = 1  insert into @ElementBuffer (Ident1, Ident2) select isodate, DayOfWeek from dialogcalendar where isodate >= convert(nvarchar(10), @BaseTimeLocal\r\n, 121) order by isodate select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount and @lauf > 0 begin select top \r\n1 @isodate = bu.Ident1 , @dayOfWeek = bu.Ident2 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex  select top 1 @WorkingHoursDay = w.Parameter2\r\n from @WorkingHoursWeekT w where Parameter1 = @DayOfWeek  if @WorkingHoursDay > @emptyDay  and @IgnoreHoliday = 0 begin  if dbo.QBM_FGIHolidayInAdminUnit\r\n(@isodate, @ObjectkeyAdminUnit ) = 1 begin  select @WorkingHoursDay = @emptyDay end end  if @WorkingHoursDay = @emptyDay begin  select @Stunde = 24 if \r\n@IstFirstHour = 1 begin  select @IstFirstHour = 0  select @SecondsRest = @CountMinutes * 60 end end    while @Stunde < 24 and @lauf > 0 begin  if Substring\r\n(@WorkingHoursDay, @stunde+1, 1) = '1' begin  select @IstFirstHour = 0 select @SecondsRest = @SecondsRest - 3600 if @SecondsRest < 0 begin select @lauf\r\n = 0 select @SecondsRest = @SecondsRest - 1   select @ZielString = @isodate + ' ' + right('00' + convert(nvarchar(16), @stunde), 2) + ':' + right('00' \r\n+ convert(nvarchar(16), case when abs(@SecondsRest) > 59 then 60 + (@SecondsRest / 60) else 0 end ), 2 ) end end else begin  if @IstFirstHour = 1 begin\r\n  select @IstFirstHour = 0  select @SecondsRest = @CountMinutes * 60 end end select @Stunde = @stunde +1 end   select @Stunde = 0 select @ElementIndex \r\n+= 1 end   select @erg = dateadd(ss, @UTCOffset * (-1) , convert(datetime, @ZielString, 121))  if @IsDayLightSaving = 1 and month(@erg) in (4,5,6,7,8,9\r\n,10) begin select @erg = dateadd(ss, -3600 , @erg) end  ende: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVDatetimeToString",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.773",
      "ModifyDate": "2026-04-14T23:14:09.83",
      "Definition": "   create   function dbo.QBM_FCVDatetimeToString(@in datetime) returns varchar(23) with SCHEMABINDING as begin return( convert(varchar(23), isnull\r\n(@in, '1899-12-30'), 121) ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVDatetimeToStringUTC",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.78",
      "ModifyDate": "2026-04-14T23:14:09.83",
      "Definition": "   create   function dbo.QBM_FCVDatetimeToStringUTC(@in datetime) returns varchar(24) with SCHEMABINDING as begin return ( concat(convert(varchar\r\n(23), isnull(@in, '1899-12-30'), 127) , 'Z' ) ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVDatetimeUTCToLocal",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.013",
      "ModifyDate": "2026-04-14T23:14:09.97",
      "Definition": "   create   function dbo.QBM_FCVDatetimeUTCToLocal( @DatetimeUTC datetime , @timezone varchar(64)  ) returns datetime with SCHEMABINDING as begin\r\n declare @v varchar(64) declare @mi int = 0 declare @tz varchar(5) if @DatetimeUTC < '2200-01-01' begin select @v = convert(varchar, convert(datetime, \r\n@DatetimeUTC, 121) at time zone @timezone, 121)  select @tz = right(@v, 6) select @mi = convert(int, substring(@tz, 2,2))*60 + convert(int, substring(@tz\r\n, 5,2)) if left(@tz, 1) = '-' begin  select @mi = 0 - @mi end end  EndLabel: return(dateadd(mi, @mi, @datetimeutc)) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVDBD8E69187A9090BA7A05_",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-09-22T13:32:13.343",
      "ModifyDate": "2026-04-14T23:14:09.753",
      "Definition": "   create   function QBM_FCVDBD8E69187A9090BA7A05_(@in varBinary(max) ) returns varbinary(20) with SCHEMABINDING as begin declare @WorkIn varbinary\r\n(max) declare @erg varbinary(20) declare @len int declare @i int declare @medium varbinary(max) select @len = datalength(@in) select @medium = null select\r\n @WorkIn = @in while DataLength(@WorkIn) > 8000 begin select @len = datalength(@WorkIn)  select @i = 1 while @i <= @len begin if @medium is null begin \r\nselect @medium = HASHBYTES('SHA1', substring(@WorkIn, @i, 8000)) end else begin select @medium = @medium + HASHBYTES('SHA1', substring(@WorkIn, @i, 8000\r\n)) end select @i = @i + 8000 end  select @WorkIn = @medium select @medium = null end select @erg = HASHBYTES('SHA1', @WorkIn)  return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVE315F6C9FDA8B59879569_",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-09-22T13:32:13.37",
      "ModifyDate": "2026-04-14T23:14:09.797",
      "Definition": "   create   function dbo.QBM_FCVE315F6C9FDA8B59879569_( @in varbinary(max) ) returns varchar(max) with SCHEMABINDING as begin return (convert(xml\r\n, N'').value('xs:base64Binary(xs:hexBinary(sql:variable(\"@in\")))', 'varchar(max)')) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVElementToObjectKey1",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:24.28",
      "ModifyDate": "2026-04-14T23:20:24.28",
      "Definition": " create   function dbo.QBM_FCVElementToObjectKey1 (@TableName varchar(32), @ColumnName1Dummy varchar(32),  @Value1 varchar(256) ) returns varchar\r\n(138) as begin return(  case when len(@Value1) = 36 then concat('<Key><T>' , dbo.QBM_FCV0C695385CB1124DCEA40A_(@TableName) , '</T><P>' , @value1 , '</P></Key>'\r\n ) else  concat( '<Key><T>' , dbo.QBM_FCV0C695385CB1124DCEA40A_(@TableName) , '</T>' , '<P>' ,case when @value1 like '%<%' then rtrim(dbo.QBM_FCVStringToXMLMasked\r\n(@value1)) else rtrim(@value1) end , '</P>' , '</Key>' )   end  ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVElementToObjectKey2",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:24.28",
      "ModifyDate": "2026-04-14T23:20:24.283",
      "Definition": " create   function dbo.QBM_FCVElementToObjectKey2 (@TableName varchar(32), @ColumnName1 varchar(32), @Value1 varchar(256), @ColumnName2 varchar(32\r\n), @Value2 varchar(256) ) returns varchar(138) as begin return( case when @ColumnName1 < @ColumnName2 then dbo.QBM_FCVF15FFF21396C2F3382AE7_ (@TableName\r\n, @Value1, @value2) else dbo.QBM_FCVF15FFF21396C2F3382AE7_ (@TableName, @Value2, @value1) end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVF15FFF21396C2F3382AE7_",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-09-22T13:32:27.73",
      "ModifyDate": "2026-04-14T23:20:24.283",
      "Definition": "  create   function dbo.QBM_FCVF15FFF21396C2F3382AE7_ (@TableName varchar(32), @Value1_int varchar(256), @Value2_int varchar(256) ) returns varchar\r\n(138) as begin return (              case  when len(@Value1_int) = 36 and len(@Value2_int) = 36 then concat('<Key><T>' , dbo.QBM_FCV0C695385CB1124DCEA40A_\r\n(@TableName) , '</T><P>' , @Value1_int , '</P><P>' , @Value2_int , '</P></Key>' ) else   concat('<Key><T>' , dbo.QBM_FCV0C695385CB1124DCEA40A_(@TableName\r\n) , '</T>' , '<P>' , case when @value1_int like '%<%' then rtrim(dbo.QBM_FCVStringToXMLMasked(@value1_int)) else rtrim(@value1_int) end , '</P>' , '<P>'\r\n , case when @value2_int like '%<%' then rtrim(dbo.QBM_FCVStringToXMLMasked(@value2_int)) else rtrim(@value2_int) end , '</P>' , '</Key>' )  end  ) end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVFKDollarToRelationMVP",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:24.317",
      "ModifyDate": "2026-04-14T23:20:24.33",
      "Definition": "      create   function dbo.QBM_FCVFKDollarToRelationMVP (@StartTable varchar(30) , @DollarNotation varchar(1024) ) returns varchar(1024) as begin\r\n declare @erg varchar(1024) declare @relations table (SortOrder int identity , Childtable varchar(30) collate database_default , ChildColumn varchar(30\r\n) collate database_default , ParentTable varchar(30) collate database_default , ParentColumn varchar(30) collate database_default , UID_QBMRelation varchar\r\n(38) collate database_default , Portion varchar(1024) collate database_default ) insert into @relations(ChildColumn, Portion) select replace(replace(s.value\r\n , 'FK(', '') , ')', '') , s.value from string_split(@DollarNotation, '.') s if exists (select top 1 1 from @relations r where isnull(r.ChildColumn, ''\r\n) = '' ) begin goto Auswertung end update @relations set Childtable = @starttable where SortOrder = 1 declare @lauf int = 1 while @lauf > 0 begin update\r\n @relations set ParentTable = r.ParentTable , ParentColumn = r.ParentColumn , UID_QBMRelation = r.UID_QBMRelation from @relations w join QBM_VQBMRelation\r\n r on w.ChildColumn = r.ChildColumn and w.Childtable = r.ChildTable join DialogTable t with (readpast) on r.UID_DialogTableParent = t.UID_DialogTable and\r\n t.TableType in ('T', 'V') where w.ParentTable is null select @lauf = @@ROWCOUNT update @relations set Childtable = x.ParentTable from @relations w join\r\n (select * from @relations ) x on w.SortOrder = x.SortOrder +1 where w.Childtable is null and x.ParentTable > ' ' select @lauf += @@ROWCOUNT end  Auswertung:\r\n if exists (select top 1 1 from @relations r where r.UID_QBMRelation is null ) begin select @erg = @DollarNotation end else begin select @erg = STRING_AGG\r\n(r.UID_QBMRelation, char(7)) within group(order by (r.Sortorder)) from @relations r end endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVFloatToHash",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.65",
      "ModifyDate": "2026-04-14T23:14:09.75",
      "Definition": "  create   function dbo.QBM_FCVFloatToHash(@in Float ) returns varbinary(20) as begin return ( case when @in is null then dbo.QBM_FCVStringToHash\r\n('') else dbo.QBM_FCVStringToHash(dbo.QBM_FCVFloatToString(@in)) end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVFloatToString",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.803",
      "ModifyDate": "2026-04-14T23:14:09.837",
      "Definition": "    create   function dbo.QBM_FCVFloatToString (@in float ) returns varchar(256) with SCHEMABINDING as begin return (case when @in is null then \r\n'' else convert(varchar(256), @in) end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVFloatToString_Byte",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01",
      "ModifyDate": "2026-04-14T23:14:09.967",
      "Definition": "    create   function dbo.QBM_FCVFloatToString_Byte (@Bytes Float) returns varchar(64) as begin declare @erg varchar(64) declare @div int = 1 declare\r\n @MehrByte float = @Bytes declare @Einheit varchar(200) = concat('Byte'  , char(7) , 'KB'  , char(7) , 'MB'  , char(7) , 'GB'  , char(7) , 'TB'  , char\r\n(7) , 'PB'  , char(7) , 'EB'  ) while @MehrByte > 1000.0 and @div < 7 begin select @MehrByte /= 1024.0 select @div += 1 end select @erg = concat(convert\r\n(varchar(64), round(@MehrByte,2)) , ' ' , dbo.QBM_FCVStringToListItem(@Einheit, char(7), 1, @div, 0) ) endLabel: return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVGUIDToModuleOwner",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:24.29",
      "ModifyDate": "2026-04-14T23:20:24.297",
      "Definition": "      create   function dbo.QBM_FCVGUIDToModuleOwner(@GUID varchar(38)) returns varchar(3)  as begin return ( case when ISNULL(@GUID, '') = '' then\r\n '' when @GUID not like '[a-z][0-z][0-z]-%' then 'CCC' when dbo.QBM_FGIModuleExists(left(@GUID, 3)) = 1 then left(@GUID, 3) else 'ZZZ' end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVGuidToNoTransfer",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.967",
      "ModifyDate": "2026-04-14T23:14:09.947",
      "Definition": "    create   function dbo.QBM_FCVGuidToNoTransfer( @GuidTransferable varchar(38) , @ModuleName varchar(3) ) returns varchar(38) as begin return \r\n( case when     dbo.QBM_FGIGuidIsValid(@GuidTransferable) & 4 > 0 and LEFT(@GuidTransferable, 3) = @ModuleName  then concat(substring(@GuidTransferable\r\n,5,8) , '-' , substring(@GuidTransferable,13,4) , '-' , substring(@GuidTransferable,17,4) , '-' , substring(@GuidTransferable,21,4) , '-' , substring(@GuidTransferable\r\n,25,12) ) else @GuidTransferable end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVGuidToReplace138",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:24.33",
      "ModifyDate": "2026-04-14T23:20:27.243",
      "Definition": "  create   function dbo.QBM_FCVGuidToReplace138(@Value varchar(138) ,@UID_Database varchar(38) ) returns varchar(138) as begin declare @Erg varchar\r\n(138) declare @CountNodes int declare @TableName varchar(30) declare @ColumnValue1Old varchar(38) declare @ColumnValue1New varchar(38) declare @ColumnValue2Old\r\n varchar(38) declare @ColumnValue2New varchar(38) select @Erg = @value select @CountNodes = dbo.QBM_FCVObjectkeyToElement('CountNodes', @value) if @CountNodes\r\n in (1,2) begin select @TableName = dbo.QBM_FCVObjectkeyToElement('TableName', @value)  select @ColumnValue1Old = dbo.QBM_FCVObjectkeyToElement('ColumnValue1'\r\n, @value) if @CountNodes = 2 begin select @ColumnValue2Old = dbo.QBM_FCVObjectkeyToElement('ColumnValue2', @value) end select @ColumnValue1new = null select\r\n top 1 @ColumnValue1new = r.GuidNew from QBMGuidReplace r where r.GuidOld = @ColumnValue1Old and r.UID_Database = @UID_Database if @ColumnValue1new is \r\nnull begin select @ColumnValue1new = @ColumnValue1Old end if @CountNodes = 2 begin select @ColumnValue2New = null select top 1 @ColumnValue2New = r.GuidNew\r\n from QBMGuidReplace r where r.GuidOld = @ColumnValue2Old and r.UID_Database = @UID_Database if @ColumnValue2New is null begin select @ColumnValue2New \r\n= @ColumnValue2Old end end select @Erg = concat ('<Key><T>' , @TableName , '</T><P>' , @ColumnValue1new , '</P>' , case @CountNodes when 2 then concat(\r\n'<P>' , @ColumnValue2New , '</P>') else '' end , '</Key>' ) end  endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVGuidToReplace38",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:24.337",
      "ModifyDate": "2026-04-14T23:20:27.247",
      "Definition": "  create   function dbo.QBM_FCVGuidToReplace38(@Value varchar(38) ,@UID_Database varchar(38) ) returns varchar(38)   as begin declare @Erg varchar\r\n(38) declare @Work varchar(38) = null select @Erg = @value select top 1 @Work = r.GuidNew from dbo.QBMGuidReplace r where r.GuidOld = @Value and UID_Database\r\n = @UID_Database if @Work > ' ' begin select @Erg = @Work end endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVGuidToReplaceMax",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:24.34",
      "ModifyDate": "2026-04-14T23:20:27.25",
      "Definition": "  create   function dbo.QBM_FCVGuidToReplaceMax(@Value nvarchar(max) ,@UID_Database varchar(38) ) returns nvarchar(max)   as begin  declare @erg\r\n nvarchar(max) declare @valNew varchar(38) declare @valOld varchar(38) declare @lauf int = 1 declare @i int = 1 select @erg = @Value if @erg > ' ' begin\r\n goto start end goto endLabel start: if @erg not like '%[a-z][0-9a-z][0-9a-z][_][0-9a-z]%'  and @erg not like '%[a-z][0-9a-z][0-9a-z]-[0-9a-z]%'  and @erg\r\n not like '%[0-9a-f][0-9a-f][0-9a-f][0-9a-f]-[0-9a-f][0-9a-f][0-9a-f][0-9a-f]%'  begin goto endlabel end while @lauf > 0  and LEN(@erg) > (@i* 36 -1 ) \r\nbegin select @valNew = null select top 1 @valNew = r.GuidNew ,@valOld = r.GuidOld from dbo.QBMGuidReplace r where CHARINDEX(r.guidold, @erg) > 0  and r.UID_Database\r\n = @UID_Database   if @valNew > ' ' begin select @erg = REPLACE(@erg, @valOld, @valNew) end else begin select @lauf = 0 end select @i += 1 end  endLabel:\r\n return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVGuidToTransfer",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.973",
      "ModifyDate": "2026-04-14T23:14:09.95",
      "Definition": "   create   function dbo.QBM_FCVGuidToTransfer( @GuidNonTransferable varchar(38), @ModuleName varchar(3) ) returns varchar(38) as begin declare \r\n@work varchar(200) declare @work2 varchar(200) declare @erg varchar(38) declare @l int declare @i int declare @char varchar(1) declare @GuidType int select\r\n @GuidType = dbo.QBM_FGIGuidIsValid(@GuidNonTransferable) if (@GuidType & 2 > 0 and LEFT(@GuidNonTransferable, 3) = @ModuleName ) or (@GuidType = 0  ) \r\nbegin  select @erg = @GuidNonTransferable goto ende end if @GuidType = 1 begin  select @erg = concat(upper(@ModuleName) , '-' , replace(@GuidNonTransferable\r\n, '-', '') ) goto ende end  if @GuidType & 2 > 0 and @GuidNonTransferable not like @Modulename + '-%' begin  select @erg = @GuidNonTransferable goto ende\r\n end  select @work2 = '' if @GuidNonTransferable like 'default%' begin select @work = replace(replace(replace(@GuidNonTransferable, 'default_', ''), 'default-'\r\n, ''), 'default', '') select @i = 1 select @l = len(@work) while @i <= @l begin select @char = substring(@work, @i, 1) if @char like '[0-Z]'   begin select\r\n @work2 = concat(@work2 , @char) end else begin if @char = '_' or @char = '-' begin select @work2 = concat(@work2 , '-') end end select @i += 1 end select\r\n @erg = concat(upper(@modulename) , '-' , substring(@work2,1,32) ) goto ende end  select @work2 = '' if @GuidNonTransferable like @moduleName+'-%' begin\r\n select @work = substring(@GuidNonTransferable, 5, 33) select @i = 1 select @l = len(@work) while @i <= @l begin select @char = substring(@work, @i, 1)\r\n if @char like '[0-Z]'  begin select @work2 = concat(@work2 , @char) end else begin if @char = '_' or @char = '-' begin select @work2 = concat(@work2 ,\r\n '-') end end select @i += 1 end select @erg = concat(upper(@modulename) , '-' , substring(@work2,1,32) ) goto ende end else begin  select @i = 1 select\r\n @l = len(@GuidNonTransferable) while @i <= @l begin select @char = substring(@GuidNonTransferable, @i, 1) if @char like '[0-Z]'  begin select @work2 =\r\n concat(@work2 , @char) end else begin    select @work2 = concat(@work2 , replace(convert(varchar(200), convert(varbinary(100), @char, 0), 2), '3', '')\r\n ) end select @i += 1 end end while len(@work2) < 32 and len(@work2) > 0  begin select @work2 = concat(@work2 , @work2) end select @erg = concat(upper(@modulename\r\n) , '-' , substring(@work2,1,32) ) ende: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVHashToInt",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.833",
      "ModifyDate": "2026-04-14T23:14:09.857",
      "Definition": "    create   function dbo.QBM_FCVHashToInt(@in varbinary(20) ) returns int with SCHEMABINDING as begin return (abs(convert(int, @in))  ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVIntToHash",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.633",
      "ModifyDate": "2026-04-14T23:14:09.747",
      "Definition": "  create   function dbo.QBM_FCVIntToHash(@in int ) returns varbinary(20) as begin return ( case when @in is null then dbo.QBM_FCVStringToHash(''\r\n) else dbo.QBM_FCVStringToHash(dbo.QBM_FCVIntToString(@in)) end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVIntToString",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.79",
      "ModifyDate": "2026-04-14T23:14:09.833",
      "Definition": "  create   function dbo.QBM_FCVIntToString (@in int ) returns varchar(256) with schemabinding as begin return ( case when @in is null then '' else\r\n convert(varchar(256), @in) end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVJobParamDeflate",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.18",
      "ModifyDate": "2026-04-14T23:20:31.677",
      "Definition": "    create   function dbo.QBM_FCVJobParamDeflate ( @ComponentClass nvarchar(256) , @TaskName nvarchar(256) , @ParamIn nvarchar(max) ) returns nvarchar\r\n(max) as begin declare @Work QBM_YParameterList declare @MaxLen int declare @Aenderungen int = 0 declare @ParamErg nvarchar(max) declare @UpdateComponent\r\n nvarchar(128) = 'VI.JobService.JobComponents.AutoUpdateComponent' select @MaxLen = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\JobHistory\\TrimLongParameters'\r\n), 2000) if len(@paramin) > @MaxLen begin insert into @Work(Parameter1, ContentFull, Parameter2, Parameter3) select x.ParameterName, x.ParameterValue, \r\nx.isHidden, x.isCrypted from dbo.QBM_FCVJobParameterToList (@paramin) x update @Work set ContentFull = 'Content removed' from @Work w where ( w.Parameter1\r\n = 'AssemblyData' and @ComponentClass = @UpdateComponent ) select @Aenderungen = @@ROWCOUNT update @Work set ContentFull = concat('Content trimmed (' ,\r\n dbo.QBM_FCVIntToString(@MaxLen) , ') chars: ' , left(w.ContentFull, @MaxLen) ) from @Work w where DATALENGTH(w.ContentFull) > @MaxLen * 2 select @Aenderungen\r\n += @@ROWCOUNT end  if @Aenderungen > 0 begin  select @ParamErg = dbo.QBM_FCVListToJobParameter(@componentclass, @TaskName, @work) end else begin  select\r\n @ParamErg = @ParamIn end ende: return (@ParamErg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVJobParameterName",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:00:59.73",
      "ModifyDate": "2026-04-14T23:20:31.127",
      "Definition": "  create   function dbo.QBM_FCVJobParameterName (@wert nvarchar(max) ) returns nvarchar(max) with SCHEMABINDING as begin declare @erg nvarchar(max\r\n) if isnull(@wert,N'') = N'' begin select @erg = N''  return(@erg)  end if left(@wert,1) = N'_' begin  select @erg = @wert end else begin select @erg =\r\n N'val_' + @wert end  if @wert in( N'ConnectionVariables', N'SingleTransaction') begin select @erg = @wert end ende: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVJobParameterToString",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:00:59.687",
      "ModifyDate": "2026-04-14T23:20:31.07",
      "Definition": "  create   function dbo.QBM_FCVJobParameterToString (@uid_tree varchar(38) ) returns nvarchar(max) as begin return( select concat( '~' , string_agg\r\n (convert(nvarchar(max), concat( dbo.QBM_FCVStringToJobParameter(bu.ParameterName) , dbo.QBM_FCVStringToJobParameter(bu.ParameterValue)  , dbo.QBM_FCVStringToJobParameter\r\n( case when bu.IsHidden = 1 and bu.IsCrypted = 1 then 'HIDDEN|CRYPTED' when bu.IsHidden = 1 then 'HIDDEN' when bu.IsCrypted = 1 then 'CRYPTED' else '' \r\nend ) )  )  , N''  )  )  from ( select pc.ParameterName, pc.ParameterValue, isnull(pc.IsCrypted,0) as IsCrypted, isnull(pc.IsHidden,0) as IsHidden from\r\n JobTreeParamColl pc with (readpast) where pc.UID_Tree = @uid_tree ) as bu ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVJobParamOptions",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:00:59.703",
      "ModifyDate": "2026-04-14T23:20:31.09",
      "Definition": "     create   function dbo.QBM_FCVJobParamOptions (@componentclass nvarchar(255), @taskname nvarchar(255), @parametername nvarchar(255) ) returns\r\n nvarchar(max) as begin return( select dbo.QBM_FCVStringToJobParameter( case when bu.IsHidden = 1 and bu.IsCrypted = 1 then 'HIDDEN|CRYPTED' when bu.IsHidden\r\n = 1 then 'HIDDEN' when bu.IsCrypted = 1 then 'CRYPTED' else '' end ) from ( select top 1 isnull(isHidden, 0) as isHidden , isnull(isCrypted, 0) as isCrypted\r\n from jobcomponent c join jobtask t on c.uid_jobcomponent = t.uid_jobcomponent join jobparameter p on t.uid_jobtask = p.uid_jobtask where c.componentclass\r\n = @componentclass and t.taskname = @taskname and p.name = @parametername ) as bu ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVLimitedValueToDisplay",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:24.3",
      "ModifyDate": "2026-04-14T23:20:24.31",
      "Definition": "  create   function dbo.QBM_FCVLimitedValueToDisplay(@InString nvarchar(256)  , @TableName varchar(30) , @ColumnName varchar(30) ) returns nvarchar\r\n(1024)    as begin return( select top 1 isnull(left(l.KeyDisplay, 1024), @InString) from dbo.DialogColumn c with (readpast) join dbo.DialogTable t with\r\n (readpast) on c.UID_DialogTable = t.UID_DialogTable join dbo.QBMColumnLimitedValue l on l.UID_DialogColumn = c.UID_DialogColumn where c.ColumnName = @ColumnName\r\n and t.TableName = @TableName and c.HasLimitedValues = 1 and l.KeyValue = @InString ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVListToJobParameter",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:00:59.75",
      "ModifyDate": "2026-04-14T23:20:31.15",
      "Definition": "  create   function dbo.QBM_FCVListToJobParameter ( @ComponentClass nvarchar(1024) , @TaskName nvarchar(256) , @Parameters QBM_YParameterList readOnly\r\n     ) returns nvarchar(max) as begin return( select '~' + string_agg (convert(nvarchar(max) ,concat( dbo.QBM_FCVStringToJobParameter(bu.ParameterName)\r\n , dbo.QBM_FCVStringToJobParameter(bu.ParameterValue)  , dbo.QBM_FCVStringToJobParameter( case when bu.IsHidden = 1 and bu.IsCrypted = 1 then 'HIDDEN|CRYPTED'\r\n when bu.IsHidden = 1 then 'HIDDEN' when bu.IsCrypted = 1 then 'CRYPTED' else '' end ) )  )  , N''  )  from ( select  case when xp.Name IS null then case\r\n  when LEFT(p.Parameter1, 1) = '_' then p.Parameter1  when LEFT(p.Parameter1, 4) = 'Val_' then p.Parameter1 else 'Val_' + p.Parameter1 end else p.Parameter1\r\n end as ParameterName , p.ContentFull as ParameterValue  , dbo.QBM_FCVStringToBit(p.Parameter2) | ISNULL(xp.IsHidden, 0) as IsHidden , dbo.QBM_FCVStringToBit\r\n(p.Parameter3) | ISNULL(xp.IsCrypted, 0) as IsCrypted from @Parameters p left outer join (select p.Name, p.IsHidden, p.IsCrypted from JobComponent c join\r\n JobTask t on c.UID_JobComponent = t.UID_JobComponent join JobParameter p on t.UID_JobTask = p.UID_JobTask where c.ComponentClass = @ComponentClass and\r\n t.TaskName = @TaskName ) as xp on p.Parameter1 = xp.Name  where p.Parameter1 > ' ' ) as bu ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVListToStringeMerge",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.82",
      "ModifyDate": "2026-04-14T23:14:09.85",
      "Definition": "   create   function dbo.QBM_FCVListToStringeMerge (@dest nvarchar(max) , @original nvarchar(max) ) returns nvarchar(max) as begin declare @erg \r\nnvarchar(max)  declare @destTable QBM_YParameterList  declare @OrigTable QBM_YParameterList  insert into @destTable(Parameter1 , ContentShort , ContentFull\r\n ) select dbo.QBM_FCVIntToString( max(b.OrderNumber) * 1000), b.ParameterName, max(b.ParameterValue) from dbo.QBM_FCVStringToListSplitted(@dest , NCHAR\r\n(7), 1,0, N'=') b group by b.ParameterName insert into @OrigTable(Parameter1 , ContentShort , ContentFull ) select dbo.QBM_FCVIntToString(max(a.OrderNumber\r\n) * 1000 -998) , a.ParameterName, max(a.ParameterValue) from dbo.QBM_FCVStringToListSplitted(@original, NCHAR(7), 1,0, N'=') a group by a.ParameterName\r\n insert into @destTable(Parameter1 , ContentShort , ContentFull ) select a.Parameter1 , a.ContentShort , a.ContentFull  from @OrigTable a where not exists\r\n (select top 1 1 from @destTable b where b.ContentShort  = a.ContentShort  ) update @destTable set ContentFull  = b.ContentFull  from @destTable a join\r\n @OrigTable b on a.ContentShort  = b.ContentShort  where isnull(a.ContentFull , '') <> isnull(b.ContentFull , '') select @erg = string_agg(convert(nvarchar\r\n(max), x.wert )  , nchar(7) )   from ( select d.ContentShort  ,concat(d.ContentShort  , case when contentfull > ' ' then concat(N'=' , d.ContentFull) else\r\n '' end ) as Wert from @destTable d ) as x ende: return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVListToStringeMergeSort",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.83",
      "ModifyDate": "2026-04-14T23:14:09.853",
      "Definition": "    create   function dbo.QBM_FCVListToStringeMergeSort (@dest nvarchar(max) , @original nvarchar(max) ) returns nvarchar(max) as begin declare \r\n@erg nvarchar(max) declare @destTable QBM_YParameterList  declare @OrigTable QBM_YParameterList  insert into @destTable( ContentShort , ContentFull ) select\r\n b.ParameterName, max(b.ParameterValue) from dbo.QBM_FCVStringToListSplitted(@dest , NCHAR(7), 1,0, N'=') b group by b.ParameterName order by b.ParameterName\r\n insert into @OrigTable( ContentShort , ContentFull ) select a.ParameterName, max(a.ParameterValue) from dbo.QBM_FCVStringToListSplitted(@original, NCHAR\r\n(7), 1,0, N'=') a group by a.ParameterName order by a.ParameterName insert into @destTable(ContentShort , ContentFull ) select a.ContentShort , a.ContentFull\r\n  from @OrigTable a where not exists (select top 1 1 from @destTable b where b.ContentShort  = a.ContentShort  ) update @destTable set ContentFull  = b.ContentFull\r\n  from @destTable a join @OrigTable b on a.ContentShort  = b.ContentShort  where isnull(a.ContentFull , '') <> isnull(b.ContentFull , '') select @erg =\r\n string_agg(convert(nvarchar(max), x.wert )  , nchar(7) )  within group (order by x.ContentShort  ) from ( select d.ContentShort  ,concat(d.ContentShort\r\n  , case when contentfull > ' ' then concat(N'=' , d.ContentFull) else '' end ) as Wert from @destTable d ) as x ende: return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVObjectKeyMNToParentKey",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:24.297",
      "ModifyDate": "2026-04-14T23:20:24.307",
      "Definition": "    create   function dbo.QBM_FCVObjectKeyMNToParentKey(@ObjectKeyMNTable varchar(138) , @ParentDirection bit   ) returns varchar(138) as begin \r\ndeclare @erg varchar(138) = null declare @TableName varchar(30) declare @ColumnName varchar(30) declare @ParentTable varchar(30) declare @ParentColumn \r\nvarchar(30) declare @ColumnValue varchar(38) select @TableName = dbo.QBM_FCVObjectkeyToElement('TableName', @ObjectKeyMNTable) if @ParentDirection = 0 \r\n begin select @ColumnName = dbo.QBM_FCVObjectkeyToElement('Columnname1', @ObjectKeyMNTable) select @ColumnValue = dbo.QBM_FCVObjectkeyToElement('ColumnValue1'\r\n, @ObjectKeyMNTable) end else begin select @ColumnName = dbo.QBM_FCVObjectkeyToElement('Columnname2', @ObjectKeyMNTable) select @ColumnValue = dbo.QBM_FCVObjectkeyToElement\r\n('ColumnValue2', @ObjectKeyMNTable) end if @TableName > ' ' and @ColumnName > ' ' and @ColumnValue > ' ' begin select top 1 @ParentTable = tp.TableName\r\n , @ParentColumn = cp.ColumnName from QBMRelation r with (readpast) join DialogColumn cc with (readpast) on r.UID_ChildColumn = cc.UID_DialogColumn join\r\n DialogTable tc with (readpast) on cc.UID_DialogTable = tc.UID_DialogTable join DialogColumn cp with (readpast) on r.UID_ParentColumn = cp.UID_DialogColumn\r\n join DialogTable tp with (readpast) on cp.UID_DialogTable= tp.UID_DialogTable where tc.TableName = @TableName and cc.ColumnName = @ColumnName and r.IsMNRelation\r\n = 1 if @ParentTable > ' ' and @ParentColumn > ' ' begin select @erg = dbo.QBM_FCVElementToObjectKey1(@ParentTable, @ParentColumn, @ColumnValue) end end\r\n endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVObjectkeyToElement",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:24.26",
      "ModifyDate": "2026-04-14T23:20:24.25",
      "Definition": "   create   function dbo.QBM_FCVObjectkeyToElement(@ElementType varchar(32), @Objectkey varchar(138) ) returns varchar(200)    as begin declare \r\n@erg varchar(200) = '' declare @TableName varchar(30) declare @UID_DialogTable varchar(38) declare @TableNameBase varchar(30) declare @UID_DialogTableBase\r\n varchar(38) declare @Columnname varchar(30)   declare @pt varchar(138) declare @pv1 varchar(138) declare @pv2 varchar(138)  declare @PatIndex_TP int select\r\n @PatIndex_TP = patindex ('%</T><P>%', @objectkey) declare @Patindex_P1End int declare @PatIndex_P2Start int declare @PatIndex_KeyEnd int if ISNULL(@PatIndex_TP\r\n, 0) = 0 begin   return(@erg)  end select @pt = substring (@objectkey, 9, @PatIndex_TP - 9) if @elementtype in (   'CountNodes'  , 'ColumnValue1'  , 'ColumnValue2'\r\n      ) begin select @Patindex_P1End = patindex ('%</P>%', @objectkey) select @pv1 = substring (@objectkey, @PatIndex_TP + 7 , @Patindex_P1End - @PatIndex_TP\r\n - 7) if @elementtype in (   'CountNodes'   , 'ColumnValue2'      ) begin select @PatIndex_P2Start = patindex ('%</P><P>%', @objectkey) if @PatIndex_P2Start\r\n > 0 begin select @PatIndex_KeyEnd = patindex ('%</P></Key>%', @objectkey) select @pv2 = substring (@objectkey, @PatIndex_P2Start + 7 , @PatIndex_KeyEnd\r\n - @PatIndex_P2Start - 7) end end end   if @ElementType like 'TableName%' or @ElementType like 'ColumnName%' or @elementType like 'UID[_]DialogTable%' \r\nbegin select @TableName = @pt  if @elementType = 'TableName' begin select @erg = @TableName  return(@erg)  end select top 1 @Tablenamebase = isnull(b.TableName\r\n, @TableName ) , @UID_DialogTableBase = isnull(t.UID_DialogTableBase, '' ) , @UID_DialogTable = t.UID_DialogTable from dbo.DialogTable t with (readpast\r\n) left outer join dbo.DialogTable b with (readpast) on t.UID_DialogTableBase = b.UID_DialogTable where t.TableName = @TableName if @elementType = 'TableNameBase'\r\n begin select @erg = @Tablenamebase  return(@erg)  end if @elementType = 'UID_DialogTable' begin select @erg = @UID_DialogTable  return(@erg)  end if @elementType\r\n = 'UID_DialogTableBase' begin select @erg = @UID_DialogTableBase  return(@erg)  end      end if @ElementType = 'CountNodes' begin if @pv2 > ' ' begin \r\nselect @erg = '2' end else begin select @erg = '1' end  return(@erg)  end if @ElementType = 'ColumnValue1' begin select @erg = @pv1   return(@erg)  end\r\n if @ElementType = 'ColumnValue2' begin select @erg = @pv2   return(@erg)  end if @ElementType like 'ColumnName%1' begin select top 1 @Columnname = a.PK\r\n from ( select top 1 c.columnname as PK from dbo.DialogColumn c with (readpast) where c.ispkmember = 1 and c.UID_DialogTable = @uid_dialogtable order by\r\n c.ColumnName asc ) as a if @ElementType = 'ColumnNameBase1' begin select top 1 @erg = isnull(b.columnname, @columnname) from dbo.DialogColumn c with (readpast\r\n) left outer join dbo.DialogColumn b with (readpast) on c.UID_BaseColumn = b.uid_dialogColumn where c.UID_DialogTable = @uid_dialogtable and c.Columnname\r\n = @columnname end else begin select @erg = @columnname end  return(@erg)  end if @ElementType like 'ColumnName%2' begin select top 1 @Columnname = a.PK\r\n from ( select top 1 c.columnname as PK from dbo.DialogColumn c with (readpast) where c.ispkmember = 1 and c.UID_DialogTable = @uid_dialogtable order by\r\n c.ColumnName desc ) as a if @ElementType = 'ColumnNameBase2' begin select top 1 @erg = isnull(b.columnname, @columnname) from dbo.DialogColumn c with \r\n(readpast) left outer join dbo.DialogColumn b with (readpast) on c.UID_BaseColumn = b.uid_dialogColumn where c.UID_DialogTable = @uid_dialogtable and c.Columnname\r\n = @columnname end else begin select @erg = @columnname end  return(@erg)  end ende: return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVObjectKeyToModuleOwner",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:24.267",
      "ModifyDate": "2026-04-14T23:20:24.26",
      "Definition": "           create   function dbo.QBM_FCVObjectKeyToModuleOwner  (@Objectkey varchar(138)) returns varchar(3)  as begin return( select case when \r\nz.Mod1 = z.Mod2 then z.Mod1 when 'CCC' in (z.Mod1, z.Mod2) then 'CCC' when z.c1 > ' ' then z.Mod2 when z.c2 > ' ' then z.Mod1 else 'ZZZ' end as ModuleOwner\r\n from ( select y.Mod1, y.Mod2, co1.UID_ModulePredecessor as c1, co2.UID_ModulePredecessor as c2 from ( select max(dbo.QBM_FCVGUIDToModuleOwner(x.GUIDValue\r\n)) as Mod1, min(dbo.QBM_FCVGUIDToModuleOwner(x.GUIDValue)) as Mod2 from ( select case when isnull(s.value, '') = '' then '' else left(s.value, len(s.value\r\n) -3) end as GUIDValue     from dbo.QBM_FTString_Split_Ordinal(@ObjectKey, '>') s where s.ordinal in ( 5, 7) and s.value > ' ' )as x ) as y left outer \r\njoin QBMModuleDependCollection co1 with (readpast) on co1.UID_ModulePredecessor = concat(y.Mod1 , '-ModuleDefinition') and co1.UID_ModuleFollower = concat\r\n(y.Mod2 , '-ModuleDefinition') left outer join QBMModuleDependCollection co2 with (readpast) on co2.UID_ModulePredecessor = concat(y.mod2 , '-ModuleDefinition'\r\n) and co2.UID_ModuleFollower = concat(y.mod1 , '-ModuleDefinition') ) as z ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVParameter1AsOneInClause",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.987",
      "ModifyDate": "2026-04-14T23:14:09.96",
      "Definition": "    create   function dbo.QBM_FCVParameter1AsOneInClause (@ValuesIn dbo.QBM_YParameterList readOnly ) returns nvarchar(max) with SCHEMABINDING as\r\n begin return( select concat(N'(''' ,string_agg(convert(nvarchar(max), case when c.Parameter1 like '%''%' then replace(c.Parameter1, '''', '''''') else\r\n c.Parameter1 end )  , N''',''' )  , N''')' ) from @ValuesIn c ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVRelationMVPToFKDollar",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:24.307",
      "ModifyDate": "2026-04-14T23:20:24.317",
      "Definition": "      create   function dbo.QBM_FCVRelationMVPToFKDollar (@RelationMVP varchar(1024) ) returns varchar(1024) as begin declare @erg varchar(1024)\r\n declare @relations table (SortOrder int identity , UID_QBMRelation varchar(38) collate database_default , Portion varchar(1024) collate database_default\r\n ) declare @anzahlElemente int insert into @relations(UID_QBMRelation) select s.value from string_split(@RelationMVP, char(7)) s select @anzahlElemente\r\n = @@ROWCOUNT update @relations set Portion = case when w.SortOrder = @anzahlElemente then r.ChildColumn else concat('FK(', r.ChildColumn, ')') end from\r\n @relations w join QBM_VQBMRelation r on w.UID_QBMRelation = r.UID_QBMRelation if @@ROWCOUNT = 0  begin select @erg = @RelationMVP  end else begin select\r\n @erg = STRING_AGG(r.Portion, '.') within group(order by (r.Sortorder)) from @relations r end endLabel: return( @erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVSchemaDatatypeToIntern",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.883",
      "ModifyDate": "2026-04-14T23:14:09.88",
      "Definition": "    create   function dbo.QBM_FCVSchemaDatatypeToIntern (@SchemaDatatype nvarchar(256), @SchemaMaxLen int ) returns int with SCHEMABINDING as begin\r\n declare @erg int select @erg = 7 if isnull(sign(@SchemaMaxLen),0) = -1 begin if @SchemaDatatype = 'varbinary' begin select @erg = 7  end else begin select\r\n @erg = 10  end  return(@erg)  end select @erg = case @SchemaDatatype when 'Binary' then 7  when 'bit' then 0  when 'char' then 6  when 'datetime' then\r\n 5  when 'decimal' then 4  when 'float' then 3  when 'image' then 7  when 'int' then 1  when 'bigint' then 2  when 'money' then 4  when 'nchar' then 6 \r\n when 'ntext' then 6  when 'numeric' then 4  when 'varchar' then 6  when 'real' then 3  when 'smalldatetime' then 5  when 'smallint' then 1  when 'smallmoney'\r\n then 4  when 'text' then 10  when 'timestamp' then 7  when 'tinyint' then 1  when 'uniqueidentifier' then 7  when 'varbinary' then 7  when 'nvarchar' \r\nthen 6  else 7 end endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVSessionErrorToMVP",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.437",
      "ModifyDate": "2026-04-14T23:14:10.43",
      "Definition": "  create   function dbo.QBM_FCVSessionErrorToMVP (@SessionError QBM_YSessionError readonly  ) returns varchar(8000) as begin return (   select left\r\n(CONCAT( CONVERT(varchar(8000), '') , replace(e.ErrorMessage, char(7), ' ') , CHAR(7) , trim(str(e.ErrorSeverity)) , CHAR(7) , trim(str(e.ErrorState)) \r\n, CHAR(7) , trim(str(isnull(e.ErrorNumber, 50000))), CHAR(7) , isnull(e.ProcedureName, '<no procedure>'), char(7) , trim(str(e.ProcedureLine)), CHAR(7)\r\n , convert(varchar(23), isnull(e.MessageDate, dbo.QBM_FGIUTCDate()), 121 ), CHAR(7) , isnull(e.GenProcID, dbo.QBM_FGISessionContext(('') )), CHAR(7) , \r\ntrim(str(e.RepeatCounter)), CHAR(7) , trim(str(e.IsReThrow)), CHAR(7) , convert(varchar(8000), replace(replace(replace(replace(left(isnull(e.SourceCode\r\n, '<no code>') , 8000) , '%', '[Percentsign]') , CHAR(13) + char(10), ' ') , char(9), ' ' ) , char(7), ' ') )  ) , 8000 ) from @SessionError e where e.ElementIndex\r\n = ( select MAX(e2.ElementIndex) from @SessionError e2 ) )  end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringPadLeft",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.723",
      "ModifyDate": "2026-04-14T23:14:09.807",
      "Definition": "  create   function dbo.QBM_FCVStringPadLeft ( @In nvarchar(max) , @MaxLength int , @FillChar nvarchar(1) ) returns nvarchar(max) with SCHEMABINDING\r\n as begin declare @erg nvarchar(max) declare @len int select @len = len(isnull(@in, N'')) if @len >= @MaxLength begin select @erg = isnull(@in, N'') end\r\n else begin select @erg = replicate(isnull(@fillchar, N''), @MaxLength - @len)+ isnull(@in, N'') end  ende: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringPadRight",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.717",
      "ModifyDate": "2026-04-14T23:14:09.807",
      "Definition": "   create   function dbo.QBM_FCVStringPadRight ( @In nvarchar(max) , @MaxLength int , @FillChar nvarchar(1) ) returns nvarchar(max) with SCHEMABINDING\r\n as begin declare @erg nvarchar(max) declare @len int select @len = len(isnull(@in, N'')) if @len >= @MaxLength begin select @erg = isnull(@in, N'') end\r\n else begin select @erg = isnull(@in, N'') + replicate(isnull(@fillchar, N''), @MaxLength - @len) end  ende: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringReplace",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.843",
      "ModifyDate": "2026-04-14T23:14:09.863",
      "Definition": "  create   function dbo.QBM_FCVStringReplace ( @In nvarchar(max) , @Replacements dbo.QBM_YParameterList readonly  , @CaseSensitive bit = 0 ) returns\r\n nvarchar(max) with SCHEMABINDING as begin declare @erg nvarchar(max) declare @Parameter1 varchar(138) , @ContentShort nvarchar(400) , @HasContentFull \r\nbit , @ContentFull nvarchar(max) declare @ElementBuffer dbo.QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int select @erg = @in insert\r\n into @ElementBuffer (ObjectKey1, ContentShort, Bit1, ContentFull) select Parameter1, ContentShort, HasContentFull, ContentFull from @Replacements select\r\n @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @Parameter1 = bu.ObjectKey1 , @ContentShort\r\n = bu.ContentShort , @HasContentFull = bu.Bit1 , @ContentFull = bu.ContentFull from @ElementBuffer bu where bu.ElementIndex = @ElementIndex if @HasContentFull\r\n = 0 begin if @CaseSensitive = 1 begin select @erg = replace(@erg, @Parameter1, @ContentShort collate SQL_Latin1_General_CP1_CS_AS ) end else begin select\r\n @erg = replace(@erg, @Parameter1, @ContentShort) end end else begin if @CaseSensitive = 1 begin select @erg = replace(@erg, @Parameter1, @ContentFull \r\ncollate SQL_Latin1_General_CP1_CS_AS ) end else begin select @erg = replace(@erg, @Parameter1, @ContentFull) end end select @ElementIndex += 1 end  ende:\r\n return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringTailRemove",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.027",
      "ModifyDate": "2026-04-14T23:14:09.973",
      "Definition": "  create   function dbo.QBM_FCVStringTailRemove (@In nvarchar(max) , @HangPattern nvarchar(64) ) returns nvarchar(max) with SCHEMABINDING as begin\r\n declare @erg nvarchar(max) select @erg = @In while @erg like @HangPattern begin select @erg = left(@erg, (datalength(@erg) /2 ) -1) end EndLabel: return\r\n(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringTailRemove_1N",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.027",
      "ModifyDate": "2026-04-14T23:14:09.98",
      "Definition": "create   function dbo.QBM_FCVStringTailRemove_1N  (@In varchar(1024) , @HangPattern varchar(64) ) returns varchar(1024) with SCHEMABINDING as begin\r\n declare @erg varchar(1024) select @erg = @In while @erg like @HangPattern begin select @erg = left(@erg, (datalength(@erg)) -1) end EndLabel: return(@erg\r\n) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringTailRemove_1U",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.027",
      "ModifyDate": "2026-04-14T23:14:09.977",
      "Definition": "create   function dbo.QBM_FCVStringTailRemove_1U  (@In nvarchar(1024) , @HangPattern nvarchar(64) ) returns nvarchar(1024) with SCHEMABINDING as\r\n begin declare @erg nvarchar(1024) select @erg = @In while @erg like @HangPattern begin select @erg = left(@erg, (datalength(@erg) /2 ) -1) end EndLabel:\r\n return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringTailRemove_MN",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.027",
      "ModifyDate": "2026-04-14T23:14:09.98",
      "Definition": "create   function dbo.QBM_FCVStringTailRemove_MN  (@In varchar(max) , @HangPattern varchar(64) ) returns varchar(max) with SCHEMABINDING as begin\r\n declare @erg varchar(max) select @erg = @In while @erg like @HangPattern begin select @erg = left(@erg, (datalength(@erg)) -1) end EndLabel: return(@erg\r\n) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringTailRemove_MU",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.027",
      "ModifyDate": "2026-04-14T23:14:09.977",
      "Definition": " create   function dbo.QBM_FCVStringTailRemove_MU  (@In nvarchar(max) , @HangPattern nvarchar(64) ) returns nvarchar(max) with SCHEMABINDING as \r\nbegin declare @erg nvarchar(max) select @erg = @In while @erg like @HangPattern begin select @erg = left(@erg, (datalength(@erg) /2 ) -1) end EndLabel:\r\n return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringToBigInt",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.697",
      "ModifyDate": "2026-04-14T23:14:09.79",
      "Definition": "  create   function dbo.QBM_FCVStringToBigInt (@InputValue nvarchar(256) , @defaultvalue bigint ) returns bigint with SCHEMABINDING as begin declare\r\n @work nvarchar(256)  declare @ergNum numeric(38,1) declare @erg bigint declare @work2 nvarchar(256)  declare @in nvarchar(256) = replace(replace(trim(isnull\r\n(@InputValue, '')) , N',', N'.') , N' ', N'') select @erg = TRY_CONVERT(bigint, @in) if @erg is not null and @in > ' ' begin  return(@erg)  end select \r\n@work = @in  select @work2 = N'' if left(@work,1) = N'-' begin select @work2 = N'-' select @work = substring( @work, 2,255) end        select @work2 +=\r\n substring(@work, 1, len(@work)- len(ltrim(translate (@work, '1234567890.', '           ')))) if @work2 = N'' begin select @erg = @defaultvalue  return\r\n(@erg)  end  select @ergNum = convert(numeric(38,1), @work2) select @erg = convert(bigint, round(@ergNum,0)) endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringToBinary",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.71",
      "ModifyDate": "2026-04-14T23:14:09.803",
      "Definition": "    create   function dbo.QBM_FCVStringToBinary ( @in varchar(max) ) returns varbinary(max) with SCHEMABINDING as begin declare @erg varbinary(max\r\n) = null if isnull(@in, N'') = N'' begin  return(@erg)  end else begin if left(@in, 2) = '0x' begin if len(@in) % 2 > 0 begin  select @erg = try_convert\r\n(varbinary(max), @in + '0' , 1) end else begin select @erg = try_convert(varbinary(max), @in , 1) end  end else begin  if len(@in) % 4 > 0 begin  select\r\n @erg = null end else begin select @erg = try_convert(xml, N'').value('xs:base64Binary(sql:variable(\"@in\"))', 'varbinary(max)') end end end EndLabel: return\r\n(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringToBit",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.763",
      "ModifyDate": "2026-04-14T23:14:09.823",
      "Definition": "  create   function dbo.QBM_FCVStringToBit (@InputValue nvarchar(64)) returns bit with SCHEMABINDING as begin return( case left(trim(isnull(@InputValue\r\n, '')), 4) when N'True' then 1 when N'Wahr' then 1 else case when left(trim(isnull(@InputValue, '')), 1) = N'1' then 1 when left(trim(isnull(@InputValue\r\n, '')), 2) = N'ON' then 1 else 0 end end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringToChecksum",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.04",
      "ModifyDate": "2026-04-14T23:14:09.983",
      "Definition": "   create   function dbo.QBM_FCVStringToChecksum(@in varchar(1000) ) returns int with SCHEMABINDING as begin return( convert(int, substring( hashbytes\r\n('sha1', @in), 3, 4)) ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringToDatetime",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.77",
      "ModifyDate": "2026-04-14T23:14:09.827",
      "Definition": "     create   function dbo.QBM_FCVStringToDatetime(@in nvarchar(400)) returns datetime with SCHEMABINDING as begin declare @erg datetime = null \r\ndeclare @isDate bit = 0 select @isDate = isdate(@in)  if @isDate = 1 begin if right(@in, 1) = 'Z' begin select @erg = try_convert(datetime, @in, 127) end\r\n else begin select @erg = try_convert(datetime, @in, 121) end end if @isDate = 0 or @erg is null begin select @erg = convert( datetime, '1899-12-30' , \r\n121) end return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringToDatetime_BU",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-09-22T13:32:17.59",
      "ModifyDate": "2026-04-14T23:14:09.827",
      "Definition": "   create   function dbo.QBM_FCVStringToDatetime_BU(@in nvarchar(400)) returns datetime with SCHEMABINDING as begin declare @erg datetime = null\r\n declare @isDate bit = 0 select @isDate = isdate(@in)  if @isDate = 1 begin if right(@in, 1) = 'Z' begin select @erg = try_convert(datetime, @in, 127) \r\nend else begin select @erg = try_convert(datetime, @in, 121) end end if @isDate = 0 or @erg is null or @erg = '1899-12-30' begin select @erg = null  end\r\n return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringToDigits",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.857",
      "ModifyDate": "2026-04-14T23:14:09.87",
      "Definition": "   create   function dbo.QBM_FCVStringToDigits(@in nvarchar(1000) ) returns varchar(1000) with SCHEMABINDING as begin declare @erg varchar(1000)\r\n = '' declare @zeichen nvarchar(1) declare @l int = len(@in) declare @i int = 1 while @i <= @l begin select @zeichen = SUBSTRING(@in, @i, 1) if @zeichen\r\n like '[0-9]' begin select @erg = concat(@erg , @zeichen) end select @i += 1 end endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringToFloat",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.7",
      "ModifyDate": "2026-04-14T23:14:09.793",
      "Definition": "    create   function dbo.QBM_FCVStringToFloat (@InputValue nvarchar(256) , @DefaultValue float ) returns float  with SCHEMABINDING as begin declare\r\n @work nvarchar(256) declare @ergFloat float = null declare @work2 nvarchar(256) declare @posi int declare @in nvarchar(256) = replace(replace(trim(isnull\r\n(@InputValue, '')) , N',', N'.') , N' ', N'') select @ergFloat = TRY_CONVERT(float, @in) if @ergFloat is not null and @in > ' ' begin goto endLabel end\r\n select @work = @in   select @work2 = N'' if left(@work,1) in (N'-', N'+') begin select @work2 = left(@work,1) select @work = substring( @work, 2,255) \r\nend select @posi = 1 while @posi <= len(@work) and substring(@work, @posi, 1) in (N'0', N'1', N'2', N'3', N'4', N'5', N'6', N'7', N'8', N'9', N'.') begin\r\n select @work2 = concat(@work2 , substring(@work, @posi, 1)) select @posi += 1 end if substring(@work, @posi, 1) in (N'E') begin select @work2 = concat\r\n(@work2 , substring(@work, @posi, 1)) select @posi += 1 end else begin goto ExponentReady end if substring(@work, @posi, 1) in (N'-', N'+') begin select\r\n @work2 = concat(@work2 , substring(@work, @posi, 1)) select @posi += 1 end while @posi <= len(@work) and substring(@work, @posi, 1) in (N'0', N'1', N'2'\r\n, N'3', N'4', N'5', N'6', N'7', N'8', N'9') begin select @work2 = concat(@work2 , substring(@work, @posi, 1)) select @posi += 1 end ExponentReady: if @work2\r\n = N'' begin select @ergfloat = @defaultvalue goto endLabel end select @ergFloat = try_convert(float, @work2) if @ergFloat is null begin select @ergfloat\r\n = @defaultvalue end endLabel: return(@ergFloat) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringToGUID",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.937",
      "ModifyDate": "2026-04-14T23:14:09.927",
      "Definition": "    create   function dbo.QBM_FCVStringToGUID( @ModuleName varchar(3) ,@in nvarchar(max) ) returns varchar(38) as begin declare @erg varchar(38)\r\n select @erg = CONVERT(varchar(38), CONVERT(uniqueidentifier, dbo.QBM_FCVStringToHash(upper(@in)) ) )  if @ModuleName > ' ' begin select @erg = dbo.QBM_FCVGuidToTransfer\r\n( @erg, @ModuleName) end endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringToGUIDMAll",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.937",
      "ModifyDate": "2026-04-14T23:14:09.93",
      "Definition": "  create   function dbo.QBM_FCVStringToGUIDMAll( @ModuleName varchar(3) ,@Element varchar(38) ,@AssignedElement varchar(138) ) returns varchar(38\r\n) as begin return (dbo.QBM_FCVStringToGUID(@modulename, concat(@Element , @AssignedElement))) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringToHash",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.617",
      "ModifyDate": "2026-04-14T23:14:09.74",
      "Definition": "  create   function dbo.QBM_FCVStringToHash(@in nvarchar(max) ) returns varbinary(20) as begin return(dbo.QBM_FCVBinaryToHash( convert(varbinary\r\n(max), isnull(@in, N'')))) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringToHashTwoItems",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.627",
      "ModifyDate": "2026-04-14T23:14:09.743",
      "Definition": "  create   function dbo.QBM_FCVStringToHashTwoItems(@in1 nvarchar(1000) , @in2 nvarchar(1000) ) returns varbinary(20) as begin return(dbo.QBM_FCVStringToHash\r\n(concat(@in1, @in2))) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringToIndent",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.74",
      "ModifyDate": "2026-04-14T23:14:09.813",
      "Definition": "   create   function dbo.QBM_FCVStringToIndent (@in nvarchar(max) , @CountTabs int ) returns nvarchar(max) with SCHEMABINDING as begin declare @ind\r\n nvarchar(1000) select @ind = REPLICATE(nchar(9), @countTabs) return(concat(@ind , replace(@in , concat(nchar(13), nchar(10)) , concat(nchar(13), nchar\r\n(10) , @ind) ) ) ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringToInt",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.69",
      "ModifyDate": "2026-04-14T23:14:09.787",
      "Definition": "  create   function dbo.QBM_FCVStringToInt (@InputValue nvarchar(256) , @defaultvalue int ) returns int with SCHEMABINDING as begin declare @work\r\n nvarchar(256) declare @ergFloat float declare @erg int declare @work2 nvarchar(256)  declare @in nvarchar(256) = replace(replace(trim(isnull(@InputValue\r\n, '')) , N',', N'.') , N' ', N'') select @erg = TRY_CONVERT(int, @in) if @erg is not null and @in > ' ' begin  return(@erg)  end select @work = @in  select\r\n @work2 = N'' if left(@work,1) = N'-' begin select @work2 = N'-' select @work = substring( @work, 2,255) end if ltrim(translate (@work, '1234567890.', \r\n'           ')) = N'' begin select @erg = @defaultvalue  return(@erg)  end        select @work2 += substring(@work, 1, len(@work) + 1 - len(ltrim(translate\r\n (@work + '#', '1234567890.', '           ')))) if @work2 = N'' begin select @erg = @defaultvalue  return(@erg)  end select @ergFloat = convert(float, \r\n@work2) select @erg = convert(int, round(@ergFloat,0)) endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringToJobParameter",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:24.25",
      "ModifyDate": "2026-04-14T23:20:24.243",
      "Definition": "   create   function dbo.QBM_FCVStringToJobParameter (@inparm nvarchar(max)) returns nvarchar(max) with SCHEMABINDING as begin return( case when\r\n @inparm > N' ' then concat(convert(nvarchar(32), len(rtrim(@inparm)) ) , N'~' , rtrim(@inparm) , N'~' ) else N'0~~' end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringToListItem",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.75",
      "ModifyDate": "2026-04-14T23:14:09.82",
      "Definition": "   create   function dbo.QBM_FCVStringToListItem(@InString nvarchar(max) , @Delimiter nvarchar(64) , @SuppressEmpty bit , @ElementToDeliver int \r\n, @CaseSensitive bit = 0 ) returns nvarchar(max) as begin declare @erg nvarchar(max) if @ElementToDeliver > 0 begin select top 1 @erg = x.parametervalue\r\n from dbo.QBM_FCVStringToList(@InString, @Delimiter, @SuppressEmpty, @CaseSensitive) x where x.ordernumber = @ElementToDeliver end else begin select top\r\n 1 @erg = x.parametervalue from dbo.QBM_FCVStringToList(@InString, @Delimiter, @SuppressEmpty, @CaseSensitive) x where x.ordernumberReverse = abs(@ElementToDeliver\r\n) end ende: return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringToReplicate",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.01",
      "ModifyDate": "2026-04-14T23:14:09.967",
      "Definition": "   create   function dbo.QBM_FCVStringToReplicate(@Element nvarchar(max) , @Count int ) returns nvarchar(max) as begin declare @erg nvarchar(max\r\n) = '' declare @i int = 1 if ISNULL(@count, 0) < 1 or @Element is null begin goto endlabel end while @i <= @Count begin select @erg = concat(@erg , REPLACE\r\n(@Element , '@i@', dbo.QBM_FCVIntToString(@i))) select @i+=1 end endLabel: return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringToXMLMasked",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.87",
      "ModifyDate": "2026-04-14T23:14:09.873",
      "Definition": "   create   function dbo.QBM_FCVStringToXMLMasked (@in nvarchar(max) ) returns nvarchar(max) as begin declare @out nvarchar(max) declare @Zeichen\r\n nvarchar(max) declare @len int declare @i int declare @CharacterCoding int declare @isTableFilled bit = 0 declare @umsetz table (NumCoding int primary\r\n key , XMLSnippet nvarchar(100) ) select @len = len(@in) select @i = 1 select @out = N'' while @i <= @len begin select @zeichen = substring(@in, @i, 1)\r\n select @CharacterCoding = unicode(@zeichen) if @CharacterCoding between 48 and 57 or @CharacterCoding between 65 and 90 or @CharacterCoding between 97\r\n and 122  begin select @out = concat(@out , @Zeichen) end else begin  if @isTableFilled = 0 begin insert into @umsetz(NumCoding, XMLSnippet) select v.NumCoding\r\n, XMLSnippet from QBM_VCharacterSpecial v select @isTableFilled = 1 end select @out = concat(@out , case when exists (select top 1 1 from @umsetz u where\r\n u.NumCoding = @CharacterCoding ) then (select top 1 XMLSnippet from @umsetz u where u.NumCoding = @CharacterCoding ) else @zeichen end ) end  select @i\r\n = @i+1 end return(@out) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringTrimLDSPrefix",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.96",
      "ModifyDate": "2026-04-14T23:14:09.947",
      "Definition": "   create   function dbo.QBM_FCVStringTrimLDSPrefix (@in nvarchar(4000) ) returns nvarchar(4000) with SCHEMABINDING as begin declare @erg nvarchar\r\n(4000) if len(isnull(@in, N'')) < 6 begin select @erg = @in  return(@erg)  end if left(@in, 5) = concat('#' , 'L' , 'D' , 'S' , '#') begin select @erg \r\n= substring(@in, 6, 3995) if right(@erg, 1) = '|' begin select @erg = substring(@erg, 1, len(@erg) -1) end end else begin select @erg = @in end endLabel:\r\n return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringTrimLeft",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.733",
      "ModifyDate": "2026-04-14T23:14:09.81",
      "Definition": "  create   function dbo.QBM_FCVStringTrimLeft ( @In nvarchar(max) , @TrimChars nvarchar(64) , @CaseSensitive bit = 0 ) returns nvarchar(max) with\r\n SCHEMABINDING as begin declare @erg nvarchar(max)  declare @TrimChars_intern nvarchar(100) select @trimchars_intern = isnull(@TrimChars, N'')    select\r\n @trimchars_intern = N'%' + @trimchars_intern + N'%' select @erg = isnull(@in, N'') if @CaseSensitive = 1 begin while len(@erg) > 0 and @trimchars_intern\r\n like N'%' + substring(@erg, 1, 1) + N'%' collate SQL_Latin1_General_CP1_CS_AS  begin select @erg = substring(@erg, 2, len(@erg) -1 ) end end else begin\r\n while len(@erg) > 0 and @trimchars_intern like N'%' + substring(@erg, 1, 1) + N'%' collate SQL_Latin1_General_CP1_CI_AS  begin select @erg = substring\r\n(@erg, 2, len(@erg) -1 ) end end ende: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringTrimRight",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.73",
      "ModifyDate": "2026-04-14T23:14:09.81",
      "Definition": "  create   function dbo.QBM_FCVStringTrimRight ( @In nvarchar(max) , @TrimChars nvarchar(64) , @CaseSensitive bit = 0 ) returns nvarchar(max) with\r\n SCHEMABINDING as begin declare @erg nvarchar(max)  declare @TrimChars_intern nvarchar(100) select @trimchars_intern = isnull(@TrimChars, N'') select @trimchars_intern\r\n = N'%' + @trimchars_intern + N'%' select @erg = isnull(@in, N'') if @CaseSensitive = 1 begin while len(@erg) > 0 and @trimchars_intern like N'%' + substring\r\n(@erg, len(@erg), 1) + N'%' collate SQL_Latin1_General_CP1_CS_AS  begin select @erg = substring(@erg, 1, len(@erg) -1 ) end end else begin while len(@erg\r\n) > 0 and @trimchars_intern like N'%' + substring(@erg, len(@erg), 1) + N'%' collate SQL_Latin1_General_CP1_CI_AS  begin select @erg = substring(@erg, \r\n1, len(@erg) -1 ) end end ende: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVXMLMaskedToString",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.877",
      "ModifyDate": "2026-04-14T23:14:09.88",
      "Definition": "   create   function dbo.QBM_FCVXMLMaskedToString (@in nvarchar(max) ) returns nvarchar(max) as begin declare @out nvarchar(max) declare @Zeichen\r\n nvarchar(max) declare @len int declare @i int declare @CharacterCoding int declare @CompareLen int declare @isTableFilled bit = 0 declare @umsetz table\r\n (NumCoding int , XMLSnippet nvarchar(100) ,compareLen int ) select @len = len(@in) select @i = 1 select @out = N'' while @i <= @len begin select @zeichen\r\n = substring(@in, @i, 1) select @CharacterCoding = unicode(@zeichen) if @CharacterCoding <> 38  begin select @out = concat(@out , @Zeichen) select @i =\r\n @i+1 continue end  if @isTableFilled = 0 begin insert into @umsetz(NumCoding, XMLSnippet, compareLen) select v.NumCoding, v.XMLSnippet, len(v.XMLSnippet\r\n) from QBM_VCharacterSpecial v select @isTableFilled = 1 end select top 1 @CharacterCoding = u.NumCoding , @CompareLen = u.compareLen from @umsetz u where\r\n substring(@in, @i, 20) like u.XMLSnippet + '%' collate SQL_Latin1_General_CP1_CS_AS  select @out = concat(@out , nchar(@CharacterCoding)) select @i +=\r\n @CompareLen end  return(@out) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVXMLToXMLRepair",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.033",
      "ModifyDate": "2026-04-14T23:14:09.98",
      "Definition": "  create   function dbo.QBM_FCVXMLToXMLRepair (@in nvarchar(max) ) returns nvarchar(max) with SCHEMABINDING as BEGIN return ( REPLACE(REPLACE(REPLACE\r\n(@in , '&#x7;' ,'#Char(0x07)#') , '&#x8;' ,'#Char(0x08)#') , '& ' ,'&amp; ') ) END \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGI093F4EF597272C7DCA06D_1",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:36.81",
      "ModifyDate": "2026-04-14T23:20:26.74",
      "Definition": "           create   function dbo.QBM_FGI093F4EF597272C7DCA06D_1(@Ordernumber int  , @OrderNumberReverse int  , @ColumnName varchar(30) , @Alias \r\nvarchar(30) , @SchemaDataType varchar(30) , @ParentTable varchar(30) , @CountDisplayItems int   ) returns nvarchar(max) with SCHEMABINDING as begin declare\r\n @Kernel nvarchar(max) = N'' declare @Erg nvarchar(max) = N'' select @Kernel = case @SchemaDatatype when 'int' then concat('dbo.QBM_FCVIntToString(' , \r\n@Alias , '.' , @columnname , ')' ) when 'bigint' then concat('dbo.QBM_FCVBigIntToString(' , @Alias , '.' , @columnname , ')') when 'datetime' then concat\r\n('dbo.QBM_FCVDateTimeToString(' , @Alias , '.' , @columnname , ')') when 'Float' then concat('dbo.QBM_FCVFloatToString(' , @Alias , '.' , @columnname ,\r\n ')' ) when 'Bit' then concat('dbo.QBM_FCVBitToString(' , @Alias , '.' , @columnname , ')' ) when 'varbinary' then concat('dbo.QBM_FCVBinaryToString(' \r\n, @Alias , '.' , @columnname , ', 0)' ) else concat ( 'isnull( ', @Alias , '.' , @columnname , ', '''')' ) end select @kernel = concat('left (' , char(13\r\n), char(10) , char(9), char(9), @Kernel , char(13), char(10) , char(9), char(9), ',', trim(str(256 / @CountDisplayItems)) , ')' ) if @OrderNumberReverse\r\n > 1  begin select @Erg = concat( ' case ', char(13) , char(10) ,'\t\twhen ' , @alias, '.', @ColumnName, ' is null then ' , char(13) , char(10) , '#', trim\r\n(str(@Ordernumber)) , trim(str(@OrderNumberReverse-1)), '#' , char(13) , char(10) , '\t\telse ' , @Kernel , char(13) , char(10) , ' end ' ) end else begin\r\n select @erg = @Kernel end endLabel: return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIAgentServiceRunning",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.327",
      "ModifyDate": "2026-04-14T23:16:09.037",
      "Definition": "   create   function dbo.QBM_FGIAgentServiceRunning () returns int  as begin return ( select top 1 case  when isnull(HAS_PERMS_BY_NAME('sys.dm_exec_sessions'\r\n, 'Object', 'SELECT'), 0) = 0 then 1 when isnull(HAS_PERMS_BY_NAME(null, null, 'VIEW SERVER STATE'), 0) = 0 then 1 when exists ( select top 1 1  from sys.dm_exec_sessions\r\n a with (nolock) where a.database_id = DB_ID() and a.session_id <> @@SPID and (a.program_name = 'OneIM_DatabaseAgent'  ) ) then 1 when exists ( select \r\ntop 1 1  from sys.dm_exec_sessions a with (nolock) where a.database_id = DB_ID() and a.session_id <> @@SPID and (a.program_name like 'OneIM_Bootstrap%'\r\n ) ) then -1 else 0 end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIBitAnd",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.783",
      "ModifyDate": "2026-04-14T23:14:10.59",
      "Definition": "   create   function dbo.QBM_FGIBitAnd (@Operand1 int, @Operand2 int) returns int with SCHEMABINDING as begin return (@operand1 & @operand2) end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIBitNot",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.777",
      "ModifyDate": "2026-04-14T23:14:10.59",
      "Definition": "  create   function dbo.QBM_FGIBitNot (@Operand1 int) returns int with SCHEMABINDING as begin return (~ @Operand1 ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIBitOr",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.79",
      "ModifyDate": "2026-04-14T23:14:10.593",
      "Definition": "   create   function dbo.QBM_FGIBitOr (@Operand1 int, @Operand2 int) returns int with SCHEMABINDING as begin return (@operand1 | @operand2) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIBitPatternMultilanguage",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.65",
      "ModifyDate": "2026-04-14T23:14:10.55",
      "Definition": "     create   function dbo.QBM_FGIBitPatternMultilanguage( @PatternNames nvarchar(256)  , @AllExceptThis bit  ) returns int with SCHEMABINDING as\r\n begin return( select case @AllExceptThis when 0 then SUM(distinct v.xvalue) else ~ SUM(distinct v.xvalue) end from ( values ('Target', 1) , ('Source',\r\n 2) , ('Multivalent', 4) , ('', 0) ) as v (xkey, xvalue) join string_split(isnull(@PatternNames, ''), '|') as s on v.xkey = s.value ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIBitPatternXMarkedForDel",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.64",
      "ModifyDate": "2026-04-14T23:14:10.547",
      "Definition": "      create   function dbo.QBM_FGIBitPatternXMarkedForDel( @PatternNames nvarchar(256)  , @AllExceptThis bit  ) returns int with SCHEMABINDING \r\nas begin return( select case @AllExceptThis when 0 then SUM(distinct v.xvalue) else ~ SUM(distinct v.xvalue) end from ( values ('Delay', 1) , ('OutStanding'\r\n, 2) , ('QBMLock', 4) , ('Publishing', 8) , ('', 0) ) as v (xkey, xvalue) join string_split(isnull(@PatternNames, ''), '|') as s on v.xkey = s.value ) \r\nend \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIBitPatternXOrigin",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.647",
      "ModifyDate": "2026-04-14T23:14:10.55",
      "Definition": "      create   function dbo.QBM_FGIBitPatternXOrigin( @PatternNames nvarchar(256)  , @AllExceptThis bit  ) returns int with SCHEMABINDING as begin\r\n return( select case @AllExceptThis when 0 then SUM(distinct v.xvalue) else ~ SUM(distinct v.xvalue) end from ( values ('Direct', 1) , ('Inherit', 2) ,\r\n ('Dynamic', 4) , ('PWO', 8) , ('Special', 16) , ('Extern', 32) , ('', 0) ) as v (xkey, xvalue) join string_split(isnull(@PatternNames, ''), '|') as s \r\non v.xkey = s.value ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIBitXor",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.793",
      "ModifyDate": "2026-04-14T23:14:10.597",
      "Definition": "   create   function dbo.QBM_FGIBitXor (@Operand1 int, @Operand2 int) returns int with SCHEMABINDING as begin return (@operand1 ^ @operand2) end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGICmp_Between_Float",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.923",
      "ModifyDate": "2026-04-14T23:14:10.687",
      "Definition": "  create   function dbo.QBM_FGICmp_Between_Float( @Value float , @lower float , @upper float ) returns bit with SCHEMABINDING as begin return ( \r\ncase when @lower is null then 0 when isnull(@lower, 0.0) not between 0.0 and 1.0 then 0 when isnull(@upper, 0.0) not between 0.0 and 1.0 then 0 when isnull\r\n(@value, 0.0) >= @lower and isnull(@value, 0.0) <= @upper then 1 else 0 end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGICmp_Contains",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.96",
      "ModifyDate": "2026-04-14T23:14:10.697",
      "Definition": "    create   function dbo.QBM_FGICmp_Contains( @Value nvarchar(max) , @Item nvarchar(64) ) returns bit with SCHEMABINDING as begin return (case \r\n when @value is null then 0 when @item is null then 0   when @Item in( 'Unified' , 'DynamicMembership' ) then case when @Value like concat(N'%', @Item,\r\n N'%') then 1 else 0 end when @Item = 'Overrides' then case when @Value like '% Overrides %' then 1 else 0 end when @Item = 'Overridable' then case when\r\n @Value like '% Overridable %' then 1 else 0 end  when @Item = '#EXT#' then case when @Value like '%#EXT#%' then 1 else 0 end when @Item = 'SecurityEnabled'\r\n then case when @Value like '%SecurityEnabled%' then 1 else 0 end else 0 end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGICmp_DateDiff_DD_LE",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.927",
      "ModifyDate": "2026-04-14T23:14:10.687",
      "Definition": "  create   function dbo.QBM_FGICmp_DateDiff_DD_LE( @Value datetime , @diff int ) returns bit with SCHEMABINDING as begin return ( case when @Value\r\n is null then 0 when @diff is null then 0 when DateDiff(dd, @Value, GetUTCDate()) <= @diff then 1 else 0 end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGICmp_DateWithinNextDays",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.963",
      "ModifyDate": "2026-04-14T23:14:10.697",
      "Definition": "       create   function dbo.QBM_FGICmp_DateWithinNextDays( @Value datetime , @days int ) returns bit with SCHEMABINDING as begin return ( case \r\nwhen coalesce(@Value, '1899-12-30') > '1900-01-01' and coalesce(@Value, '1899-12-30') <= DateAdd(dd, @days, GetUTCDate()) then 1 else 0 end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGICmp_GT_0",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.933",
      "ModifyDate": "2026-04-14T23:14:10.69",
      "Definition": "  create   function dbo.QBM_FGICmp_GT_0( @Value int ) returns bit with SCHEMABINDING as begin return ( case when @value is null then 0 when @Value\r\n > 0 then 1 else 0 end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGICmp_GT_Empty",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.94",
      "ModifyDate": "2026-04-14T23:14:10.69",
      "Definition": "   create   function dbo.QBM_FGICmp_GT_Empty( @Value varchar(138) ) returns bit with SCHEMABINDING as begin return ( case when @value is null then\r\n 0 when @Value > ' ' then 1 else 0 end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGICmp_GTE_0",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.943",
      "ModifyDate": "2026-04-14T23:14:10.69",
      "Definition": "  create   function dbo.QBM_FGICmp_GTE_0( @Value int ) returns bit with SCHEMABINDING as begin return ( case when @value is null then 0 when @Value\r\n >= 0 then 1 else 0 end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGICmp_Like_Objectkey",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.95",
      "ModifyDate": "2026-04-14T23:14:10.693",
      "Definition": "   create   function dbo.QBM_FGICmp_Like_Objectkey( @Value varchar(138) , @TableName varchar(30) ) returns bit with SCHEMABINDING as begin return\r\n ( case when @value is null then 0 when @TableName is null then 0 when @TableName like '%[%]%' then 1/0 when @Value like '<Key><T>' + @TableName + '</T>%'\r\n then 1 else 0 end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGICmp_Like_Value",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.953",
      "ModifyDate": "2026-04-14T23:14:10.693",
      "Definition": "  create   function dbo.QBM_FGICmp_Like_Value( @Value nvarchar(400) , @Literal nvarchar(64) ) returns bit with SCHEMABINDING as begin return (case\r\n  when @value is null then convert(bit, 0) when @Literal is null then convert(bit, 0) when @Literal like '%[%]%' then 1/0   when datalength(@Literal) in\r\n ( 2, 6) then case when @Value like @Literal + N'%' then case when UNICODE(upper(@Value)) = UNICODE(upper(@Literal)) then convert(bit, 1) else convert(bit\r\n, 0) end  else convert(bit, 0) end  when @Literal = N'ReportHeader' then case when @Value like N'ReportHeader%' then convert(bit, 1) else convert(bit, \r\n0) end when @Literal = N'Digit' then case when @Value like '[0-9]%' then convert(bit, 1) else convert(bit, 0) end when @Literal = N'PropertyLog' then case\r\n when @Value like 'Common\\ProcessState\\PropertyLog%' then convert(bit, 1) else convert(bit, 0) end when @Literal = N'dummy' then case when @Value like \r\nN'%(dummy)' then convert(bit, 1) else convert(bit, 0) end else 0 end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGICodeName",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.677",
      "ModifyDate": "2026-04-14T23:14:10.557",
      "Definition": "  create   function dbo.QBM_FGICodeName( @Prefix varchar(5)  , @SourceString nvarchar(256)  ) returns varchar(30)as begin  declare @erg varchar(30\r\n) select @erg = left( 'GEN' + '_' + @prefix + SUBSTRING( dbo.QBM_FCVBinaryToString( dbo.QBM_FCVStringToHash(upper(@prefix+@SourceString)), 0) , 3, 30 )\r\n , 30 ) endLabel: return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIColumnDataLen",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.583",
      "ModifyDate": "2026-04-14T23:20:24.47",
      "Definition": "  create   function dbo.QBM_FGIColumnDataLen(@TableName varchar(30) , @columnname varchar(30) ) returns int as begin  declare @erg int declare @datatype\r\n nvarchar(64) if @TableName in (select TableName from QBM_VStartupTables) begin select top 1 @erg = CHARACTER_MAXIMUM_LENGTH from INFORMATION_SCHEMA.COLUMNS\r\n cc where cc.COLUMN_NAME = @columnname and cc.TABLE_NAME = @TableName end else begin select top 1 @erg = cc.SchemaDataLen from DialogColumn cc with (readpast\r\n) join DialogTable t with (readpast) on cc.UID_DialogTable = t.UID_DialogTable where cc.ColumnName = @columnname and t.TableName = @TableName end if @erg\r\n = -1 begin select @erg = 2147483647  return(@erg)  end if isnull(@erg, 0) = 0 begin select @datatype = dbo.QBM_FGIColumnDataType(@TableName , @columnname\r\n) select @erg = case @datatype when 'int' then 4 when 'bigint' then 8 when 'bit' then 1 when 'float' then 8 when 'bigint' then 8 when 'datetime' then 8\r\n end end endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIColumnDataType",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.577",
      "ModifyDate": "2026-04-14T23:20:24.46",
      "Definition": "  create   function dbo.QBM_FGIColumnDataType(@TableName varchar(30) , @columnname varchar(30) ) returns nvarchar(64) as begin declare @erg nvarchar\r\n(64)  if @TableName in (select TableName from QBM_VStartupTables) begin select top 1 @erg = DATA_TYPE from INFORMATION_SCHEMA.COLUMNS cc where cc.COLUMN_NAME\r\n = @columnname and cc.TABLE_NAME = @TableName end else begin select top 1 @erg = cc.SchemaDataType from DialogColumn cc with (readpast) join DialogTable\r\n t with (readpast) on cc.UID_DialogTable = t.UID_DialogTable where cc.ColumnName = @columnname and t.TableName = @TableName end ende: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIColumnExists",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.57",
      "ModifyDate": "2026-04-14T23:20:24.45",
      "Definition": "  create   function dbo.QBM_FGIColumnExists (@TableName varchar(30) , @columnname varchar(30) ) returns bit as begin declare @erg bit = 0 if @TableName\r\n in (select TableName from QBM_VStartupTables) begin if exists (select top 1 1 from QBM_VSchemaColumns where table_name = @TableName and column_name = \r\n@columnname ) begin select @erg = 1 end end else begin if exists (select top 1 1 from dialogColumn c with (readpast) join DialogTable t with (readpast)\r\n on c.UID_DialogTable = t.UID_DialogTable where t.TableName = @TableName and c.ColumnName = @columnname ) begin select @erg = 1 end end ende: return(@erg\r\n) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIColumnExistsInSchema",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.613",
      "ModifyDate": "2026-04-14T23:14:10.54",
      "Definition": "    create   function dbo.QBM_FGIColumnExistsInSchema (@TableName varchar(30) , @ColumnPattern varchar(30) ) returns bit  as begin return ( case\r\n when exists (select top 1 1 from sys.tables t with (readpast) join sys.columns c with (readpast) on t.object_id = c.object_id where t.name = @TableName\r\n and c.name like @ColumnPattern ) then 1 else 0 end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIColumnFitsContentShort",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.597",
      "ModifyDate": "2026-04-14T23:20:24.49",
      "Definition": "   create   function dbo.QBM_FGIColumnFitsContentShort(@TableName varchar(30) , @columnname varchar(30) ) returns bit as begin   declare @erg bit\r\n = 0 declare @maxLen int declare @datatype nvarchar(64) if @TableName in (select TableName from QBM_VStartupTables) begin select top 1 @maxLen = CHARACTER_MAXIMUM_LENGTH\r\n from INFORMATION_SCHEMA.COLUMNS cc where cc.COLUMN_NAME = @columnname and cc.TABLE_NAME = @TableName end else begin select top 1 @maxLen = cc.SchemaDataLen\r\n from DialogColumn cc with (readpast) join DialogTable t with (readpast) on cc.UID_DialogTable = t.UID_DialogTable where cc.ColumnName = @columnname and\r\n t.TableName = @TableName end  if @maxLen = -1 begin select @maxLen = 1000   return(@erg)  end if isnull(@maxLen, 0) = 0 or isnull(@maxLen, 0) > 198 begin\r\n select @datatype = dbo.QBM_FGIColumnDataType(@TableName , @columnname) select @maxlen = case @datatype when 'int' then 4 when 'bigint' then 8 when 'bit'\r\n then 1 when 'float' then 8 when 'bigint' then 8 when 'datetime' then 8 when 'varbinary' then (@maxLen * 2) + 2  else  @maxLen end end if @maxLen <= 400\r\n begin select @erg = 1 end endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIColumnNotExistsInSchema",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.62",
      "ModifyDate": "2026-04-14T23:14:10.54",
      "Definition": "    create   function dbo.QBM_FGIColumnNotExistsInSchema (@TableName varchar(30) , @ColumnPattern varchar(30) ) returns bit  as begin declare @ret\r\n bit = 1 if exists (select top 1 1 from sys.tables t with (readpast) join sys.columns c with (readpast) on t.object_id = c.object_id where t.name = @TableName\r\n and c.name like @ColumnPattern ) begin select @ret = 0 end endLabel: return(@ret) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIColumnUpdatedOthers",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.58",
      "ModifyDate": "2026-04-14T23:14:10.527",
      "Definition": "    create   function dbo.QBM_FGIColumnUpdatedOthers (@TableName varchar(30), @columnname varchar(30), @UpdatePattern varbinary(128)) returns bit\r\n with SCHEMABINDING as begin  declare @ret bit = 0  declare @ordinal int  declare @Byte int  declare @posiInByte int  declare @i int  declare @len int \r\n declare @summe varbinary(1)  select @ordinal = COLUMNPROPERTY(OBJECT_ID(@TableName), @columnname, 'ColumnID') -1     select @byte = (@ordinal / 8) + 1\r\n  select @posiInByte = @ordinal % 8  select @len = len(@UpdatePattern) select @i = 1 select @summe = 0x00 while @i <= @len begin  if @i = @byte begin select\r\n @summe = @summe | (convert(int, substring(@updatepattern, @i, 1)) ^ power(2,@posiInByte ) )  end else begin select @summe = @summe | convert(int, substring\r\n(@updatepattern, @i, 1)) end select @i = @i+1 end if @summe <> convert(varbinary(1), 0)  begin select @ret = 1 end  return(@ret) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIConfigparmValue",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.603",
      "ModifyDate": "2026-04-14T23:20:24.5",
      "Definition": "     create   function dbo.QBM_FGIConfigparmValue ( @fullpath nvarchar(512) ) returns nvarchar(1024)  as begin return(  select top 1 x.wert  from\r\n ( select top 1 case when p.IsEnabledResulting = 1 and p.Value > N' ' then p.Value else N'' end as wert , 1 as Sortierung from DialogConfigParm p with \r\n(nolock) where p.FullPath = @fullpath union all select N'', 2 ) as x order by x.Sortierung ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIConstraintsDisabled",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.72",
      "ModifyDate": "2026-04-14T23:14:10.573",
      "Definition": "   create   function dbo.QBM_FGIConstraintsDisabled() returns bit  as begin return( case when exists (select top 1 1 from sys.foreign_keys fk with\r\n (nolock)join sys.objects c with (nolock)on c.object_id = fk.parent_object_id join sys.objects p with (nolock) on p.object_id = fk.referenced_object_id\r\n where fk.type = 'F' and c.type in( 'U' ) and p.type in( 'U' ) and fk.is_disabled = 1 ) then 1 else 0 end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGICountTablesUsedByCode",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.593",
      "ModifyDate": "2026-04-14T23:14:10.283",
      "Definition": "  create   function dbo.QBM_FGICountTablesUsedByCode(@startobj varchar(30)) returns int as begin declare @erg int declare @elements table (Referencing\r\n varchar(30) collate database_default , Referenced varchar(30) collate database_default , ReferencedType varchar(30) collate database_default , ReferenceCount\r\n int default 0 , Referencing_id int  , Niveau int ) declare @lauf int declare @Niveau int = 1 insert into @elements (Referencing, Referenced, ReferencedType\r\n, ReferenceCount, Referencing_id, Niveau) select left(o.name, 30), left(o.name, 30), o.type, 1, o.object_id, @Niveau from sys.objects o with (readpast)\r\n where o.name = @startobj select @lauf = @@ROWCOUNT while @lauf > 0 begin select @Niveau += 1 insert into @elements (Referencing, Referenced, ReferencedType\r\n  , Referencing_id, Niveau) select x.Referencing, x.referenced, x.referencedType  , x.Referencing_id, @Niveau from ( select distinct vo.Referenced as Referencing\r\n, left(c.name, 30) as referenced, c.type as ReferencedType , s.object_id as Referencing_id, vo.ReferenceCount as OldCount      from @elements vo join sys.objects\r\n s with (readpast) on vo.Referenced = s.name collate database_default and vo.ReferencedType = s.type collate database_default join sys.sql_expression_dependencies\r\n dep with (readpast) on dep.referencing_id = s.object_id join sys.objects c with (readpast) on c.object_id = dep.referenced_id where not exists (select\r\n top 1 1 from @elements e where e.Referencing = vo.Referenced and e.Referenced = left(c.name, 30) collate database_default  and e.ReferencedType = c.type\r\n collate database_default ) ) as x  select @lauf = @@rowcount    end    declare @Referencing varchar(30) declare @referenced varchar(30) declare @referencingOld\r\n varchar(30) = '#' declare @Referencing_ID int declare @Code nvarchar(max) declare @CodeShorter nvarchar(max) declare @CountReference int declare schrittweise\r\n CURSOR LOCAL FORWARD_ONLY FAST_FORWARD READ_ONLY FOR select e.Referencing, e.Referenced, e.Referencing_id  from @elements e order by e.Niveau asc, e.Referencing\r\n asc, len(e.Referenced) desc  OPEN schrittweise FETCH NEXT FROM schrittweise into @referencing, @referenced, @referencing_id WHILE (@@fetch_status <> -1\r\n) BEGIN if @Referencing <> @referencingOld begin select top 1 @Code = dbo.QBM_FSQRemoveComment_i(m.definition, 0 ) from sys.sql_modules m where m.object_id\r\n = @Referencing_ID select @referencingOld = @Referencing end  select @CodeShorter = replace(@code, N' '+ @referenced + N' ', N'') select @CountReference\r\n = (DATALENGTH(@code) - DATALENGTH(@CodeShorter) ) / DATALENGTH(N' '+ @referenced + N' ') select @code = @CodeShorter select @CodeShorter = replace(@code\r\n, N' '+ @referenced + nchar(13), N'') select @CountReference += (DATALENGTH(@code) - DATALENGTH(@CodeShorter) ) / DATALENGTH(N' '+ @referenced + nchar(13\r\n)) select @code = @CodeShorter select @CodeShorter = replace(@Code, N'dbo.'+ @referenced, N'') select @CountReference += (DATALENGTH(@code) - DATALENGTH\r\n(@CodeShorter) ) / DATALENGTH( N'dbo.'+ @referenced) select @code = @CodeShorter update @elements set ReferenceCount = @CountReference from @elements e\r\n where e.Referencing = @Referencing and e.Referenced = @referenced FETCH NEXT FROM schrittweise into @referencing, @referenced, @referencing_id END close\r\n schrittweise deallocate schrittweise       select @lauf = 2 while @lauf < @niveau  begin update @elements set ReferenceCount = e.ReferenceCount * vor.ReferenceCount\r\n from @elements e join (select v.Referenced, sum(v.ReferenceCount) as ReferenceCount from @elements v where v.Niveau = @lauf -1 group by v.Referenced )\r\n as vor on e.Referencing = vor.Referenced where e.Niveau = @lauf select @lauf += 1 end      select @erg = sum(e.ReferenceCount) from @elements e where \r\ne.ReferencedType  = 'U' return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGICutOffTaskExists",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.333",
      "ModifyDate": "2026-04-14T23:16:09.04",
      "Definition": " create   function dbo.QBM_FGICutOffTaskExists (@UID_Task varchar(38)  ) returns int  as begin declare @erg int = 0 declare @CutOffTaskLevel int\r\n = 0 declare @InitialPathlength int = 1000 if not exists (select top 1 1 from DialogDatabase d with (readpast) where d.UID_CutOffTask = @UID_Task and d.IsMainDatabase\r\n = 1 ) begin goto EndLabel end select @erg = -1 select top 1 @CutOffTaskLevel = m.PathLength - 1 from QBMDBQueueTaskMetric m with (readpast) where m.UID_Task\r\n = @UID_Task if exists (select top 1 1 from DialogDBQueue q with (nolock) where (q.PathLength between @InitialPathlength and @CutOffTaskLevel or (@UID_Task\r\n = 'QBM-K-BaseMigrationReady' and q.UID_Task in ( 'QBM-K-FillModelStart' ,'QBM-K-BufferTProcessModule'  , 'QBM-K-BufferTProcessModulePU'  , 'QBM-K-BufferTProcessTable'\r\n  , 'QBM-K-BufferTProcessTablePU'  , 'QBM-K-BufferTProcessDelete'  , 'QBM-K-FillModelFinished'  ) )  )  and q.Generation >= 0   ) begin goto EndLabel end\r\n if exists (select top 1 1 from QBMDBQueueCurrent cu with (nolock) where cu.SlotNumber > 0  ) begin   if exists (select top 1 1 from QBMDBQueueCurrent \r\ncu with (nolock) left outer join QBMDBQueueTaskMetric m with (nolock) on cu.UID_Task = m.UID_Task where cu.SlotNumber > 0  and ISNULL(m.PathLength, 0) \r\nbetween @InitialPathlength and @CutOffTaskLevel ) begin goto EndLabel end end   if exists (select top 1 1 from DialogDBQueue q  where (q.PathLength between\r\n @InitialPathlength and @CutOffTaskLevel or (@UID_Task = 'QBM-K-BaseMigrationReady' and q.UID_Task in ( 'QBM-K-FillModelStart' ,'QBM-K-BufferTProcessModule'\r\n  , 'QBM-K-BufferTProcessModulePU'  , 'QBM-K-BufferTProcessTable'  , 'QBM-K-BufferTProcessTablePU'  , 'QBM-K-BufferTProcessDelete'  , 'QBM-K-FillModelFinished'\r\n  ) )  )  and q.Generation >= 0   ) begin goto endLabel end if exists (select top 1 1 from QBMDBQueueCurrent cu  where cu.SlotNumber <> 0 ) begin  if exists\r\n (select top 1 1 from QBMDBQueueCurrent cu left outer join QBMDBQueueTaskMetric m with (readpast) on cu.UID_Task = m.UID_Task where cu.SlotNumber <> 0 \r\n and ISNULL(m.PathLength, 0) between @InitialPathlength and @CutOffTaskLevel ) begin goto EndLabel end end select @erg = 1 EndLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIDashBoardCodeName",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.68",
      "ModifyDate": "2026-04-14T23:14:10.56",
      "Definition": "   create   function dbo.QBM_FGIDashBoardCodeName( @Area varchar(16) , @UID_DialogDashBoardDef varchar(38)  ) returns varchar(30)as begin return\r\n(dbo.QBM_FGICodeName(case @Area when 'View' then 'VA' when 'View100' then 'V1' when 'proc' then 'P' else null end, @UID_DialogDashBoardDef) ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIDate",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.547",
      "ModifyDate": "2026-04-14T23:14:10.513",
      "Definition": "  create   function dbo.QBM_FGIDate() returns datetime with schemabinding as begin return(getdate()) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIDateTimeSpanOverlap",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.687",
      "ModifyDate": "2026-04-14T23:14:10.56",
      "Definition": "           create   function dbo.QBM_FGIDateTimeSpanOverlap(@From1 datetime , @To1 datetime , @From2 datetime , @To2 datetime , @ToDatewWithAutoEvening\r\n bit ) returns bit with SCHEMABINDING as begin  declare @Erg bit = 0 declare @From1_I datetime = isnull(@From1, '1899-12-30') declare @From2_I datetime\r\n = isnull(@From2, '1899-12-30') declare @To1_I datetime declare @To2_I datetime if @ToDatewWithAutoEvening = 0 begin select @To1_I = isnull(@To1, '2200-01-01'\r\n) select @To2_I = isnull(@To2, '2200-01-01') end else begin  select @To1_I = @To1 select @To2_I = @To2 if convert(datetime, CONVERT(date, @To1_I)) = @To1_I\r\n begin select @To1_I = DATEADD(SS, 86399, @To1_I)  end if convert(datetime, CONVERT(date, @To2_I)) = @To2_I begin select @To2_I = DATEADD(SS, 86399, @To2_I\r\n)  end select @To1_I = isnull(@To1_I, '2200-01-01') select @To2_I = isnull(@To2_I, '2200-01-01') end     if @From1_I >= @From2_I begin  if @To1_I <= @To2_I\r\n begin select @Erg = 1  return(@erg)  end  if @To2_I between @From1_I and @To1_I begin select @Erg = 1  return(@erg)  end end else  begin  if @To2_I <=\r\n @To1_I begin select @Erg = 1  return(@erg)  end  if @To1_I between @From2_I and @To2_I begin select @Erg = 1  return(@erg)  end end endLabel: return(@erg\r\n) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIDB_Name",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.763",
      "ModifyDate": "2026-04-14T23:14:10.587",
      "Definition": "  create   function dbo.QBM_FGIDB_Name() returns nvarchar(52) as begin  declare @erg nvarchar(52) declare @dbname nvarchar(128) = db_name()  if \r\nlen(@dbname) > 52 begin select @erg = concat( 'DB_ID_' , right('00000' + ltrim(str(db_id())),5) , '_' , substring(dbo.QBM_FCVBinaryToString(dbo.QBM_FCVStringToHash\r\n(@dbname), 0), 3, 40) ) end else begin  select @erg = @dbname end return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIDBDataOrigin",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.6",
      "ModifyDate": "2026-04-14T23:14:10.533",
      "Definition": "  create   function dbo.QBM_FGIDBDataOrigin() returns int as begin declare @erg int declare @work nvarchar(max) = null if exists (select top 1 1\r\n from sys.objects pr where pr.name = 'CCC_FGIDBDataOrigin' and pr.type = 'FN' ) begin select @erg = dbo.CCC_FGIDBDataOrigin() goto EndLabel end if SERVERPROPERTY\r\n ('IsHadrEnabled') = 1 begin select top 1 @work = convert(nvarchar(64), ar.group_id ) from sys.databases d left outer join sys.availability_replicas ar\r\n on ar.replica_id = d.replica_id where d.database_id = db_id()  if @work is not null begin select @work = @work + rtrim(isnull(db_name(),N'')) end end \r\nif @work is null begin select @work = trim(@@servername)  select @work = @work + rtrim(isnull(db_name(),N'')) select @work = @work + rtrim(isnull(convert\r\n(nvarchar(max),SERVERPROPERTY ( N'Collation' )),N'')) select @work = @work + rtrim(isnull(convert(nvarchar(max),SERVERPROPERTY ( N'MachineName' )),N'')\r\n) end  select @erg = abs(convert(int, dbo.QBM_FCVStringToHash(@work)))  EndLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIDBOwner",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:24.583",
      "ModifyDate": "2026-04-14T23:20:24.583",
      "Definition": "  create   function dbo.QBM_FGIDBOwner() returns varchar(3) as begin declare @erg varchar(3) = '' if exists (select top 1 1 from sys.tables t where\r\n t.name = 'DialogDatabase' ) begin select top 1 @erg = d.ModuleOwner from DialogDatabase d with (readpast) where d.IsMainDatabase = 1 if isnull(@erg, ''\r\n) = '' begin select @erg = '' end end return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIDBQueueActivityDisabled",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.35",
      "ModifyDate": "2026-04-14T23:16:09.05",
      "Definition": "  create   function dbo.QBM_FGIDBQueueActivityDisabled() returns bit with schemabinding as begin return( case when exists (select top 1 1 from dbo.DialogDatabase\r\n d with (readpast) where d.IsMainDatabase = 1 and (d.IsDBSchedulerDisabled = 1 or d.SingleUserProcess > 0 ) ) then 1 else 0 end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIDBQueueCurrRestoreAble",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:14:36.9",
      "ModifyDate": "2026-04-14T23:16:09.07",
      "Definition": "   create   function dbo.QBM_FGIDBQueueCurrRestoreAble(@Generation int , @StartedAt datetime , @SecondsToAdd int  ) returns bit  as begin return\r\n( case when DATEADD (SS , ( case when @Generation <= 50 then 0.1306 * @generation * @generation + 3.31 * @generation + 4.5 else 500 end + case when @SecondsToAdd\r\n is null then 0 when @SecondsToAdd < 0 then 0 else @SecondsToAdd end ) , @StartedAt ) < dbo.QBM_FGIUTCDate()  then 1 else 0 end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIDBQueueDeflateUsefull",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.607",
      "ModifyDate": "2026-04-14T23:16:09.23",
      "Definition": "  create   function dbo.QBM_FGIDBQueueDeflateUsefull(    ) returns bit as begin return ( case when exists (select top 1 1 from ( select (dbo.QBM_FGITableCountAll\r\n('DialogDBQueue')) as alles, (select count(*) as anzahl from ( select max(q.UID_DialogDBQueue) as UID_DialogDBQueue, q.UID_Task, q.Object, q.SubObject,\r\n q.GenProcID  from DialogDBQueue q with (readpast) group by q.UID_Task, q.Object, q.SubObject, q.GenProcID ) as x ) as komprimiert ) as y where  y.alles\r\n > 1500000  and y.alles * 0.80 > y.komprimiert          ) then 1 else 0 end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIDBQueueSlotResetType",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.347",
      "ModifyDate": "2026-04-14T23:16:09.047",
      "Definition": "    create   function dbo.QBM_FGIDBQueueSlotResetType (@reason varchar(16) ) returns int as begin declare @erg int = 0 select top 1 @erg = r.ReasonValue\r\n from dbo.QBM_FTDBQueueSlotResetType() r where r.ReasonCode = @reason if @erg = 0 begin select @erg = -200 end endlabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIDBQueueSlotsCurrent",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.443",
      "ModifyDate": "2026-04-14T23:16:09.113",
      "Definition": "   create   function dbo.QBM_FGIDBQueueSlotsCurrent() returns int as begin declare @erg int = 1 declare @SlotsMax int declare @CountProcesses int\r\n  declare @cfg int  select @SlotsMax = dbo.QBM_FGIDBQueueSlotsMax() if dbo.QBM_FGIDBOwner() != 'CCC' begin select @erg = @SlotsMax goto endLabel end if\r\n @SlotsMax <= 5 begin select @erg = @SlotsMax goto endLabel end  select @CountProcesses = count(*) from sys.sysprocesses p where p.dbid = db_id() and p.spid\r\n <> @@spid  and p.program_name not like concat( 'OneIM_DatabaseAgent' , '%' ) and p.status <> 'sleeping' select @erg = @SlotsMax - (@CountProcesses / 100\r\n)  select @CountProcesses = count(*) from sys.sysprocesses p where p.dbid <> db_id() and p.status <> 'sleeping' select @erg -= (@CountProcesses / 200) \r\n if @erg < @SlotsMax / 4 begin select @erg = @SlotsMax / 4 end if @erg < 5 begin select @erg = 5 goto endLabel end select @cfg = dbo.QBM_FCVStringToInt\r\n( dbo.QBM_FGIConfigparmValue('QBM\\DBQueue\\CountSlotsMax'), 5) if @erg > @cfg  and @cfg > 0  and not exists (select top 1 1 from DialogDatabase d with (readpast\r\n) where d.isMainDatabase = 1 and (d.SingleUserProcess = -999 or d.UpdatePhase > 0 ) ) begin select @erg = @cfg end  if @erg < 5 begin select @erg = 5 end\r\n endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIDBQueueSlotsMax",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.437",
      "ModifyDate": "2026-04-14T23:16:09.11",
      "Definition": "   create   function dbo.QBM_FGIDBQueueSlotsMax() returns int as begin declare @erg int declare @CountProcessors float   select top 1 @CountProcessors\r\n = convert(float, cpu_count) from sys.dm_os_sys_info select @erg = convert(int, (@CountProcessors + 4.0 ) * 1.15) if @erg > 256 begin select @erg = 256\r\n end endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIDBServerCurrStatement",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.627",
      "ModifyDate": "2026-04-14T23:14:10.543",
      "Definition": "  create   function dbo.QBM_FGIDBServerCurrStatement(@spid int  ) returns nvarchar(max)  as begin declare @Erg nvarchar(max) if @spid < 1 begin \r\n return(@erg)  end select top 1 @erg = SUBSTRING(qt.TEXT, (p.stmt_start/2)+1, ((CASE p.stmt_end WHEN -1 THEN DATALENGTH(qt.TEXT) ELSE p.stmt_end END - \r\np.stmt_start)/2)+1) from sys.sysprocesses p CROSS APPLY sys.dm_exec_sql_text(p.sql_handle) qt where p.spid = @spid endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIDBServerIsActive",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.633",
      "ModifyDate": "2026-04-14T23:14:10.547",
      "Definition": "   create   function dbo.QBM_FGIDBServerIsActive(@spid int  , @CountSeconds int  ) returns int as begin declare @Erg int = -1 declare @LastRead \r\ndatetime = null declare @dbid int = -1 if @spid < 1 begin  return(@erg)  end select top 1 @dbid = p.dbid from sys.sysprocesses p where p.spid = @spid if\r\n @dbid = -1  begin   return(@erg)  end if @dbid <>db_id() begin select @Erg = -2  return(@erg)  end select top 1 @LastRead = c.last_write from sys.dm_exec_connections\r\n c where ( c.session_id = @spid or c.most_recent_session_id = @spid ) if isnull(@LastRead , '1899-12-30') > '1899-12-30' begin select @Erg = 0 end if DATEADD\r\n(ss, @CountSeconds, @LastRead) > dbo.QBM_FGIDate()  begin select @Erg = 1 end else begin if dbo.QBM_FGIDBServerCurrStatement(@spid) like '%waitfor%' begin\r\n select @Erg = 2 end end endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIDBSimulationAllowed",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.65",
      "ModifyDate": "2026-04-14T23:20:24.537",
      "Definition": "  create   function dbo.QBM_FGIDBSimulationAllowed() returns bit as begin declare @erg bit = 1 if exists (select top 1 1 from DialogDatabase d with\r\n (readpast) where d.IsMainDatabase = 1 and d.IsDBSchedulerDisabled = 1 ) begin select @erg = 0 goto endLabel end if dbo.QBM_FGISingleUserRunning () = 1\r\n begin select @erg = 0 goto endLabel end  if exists (     select top 1 1 from DialogDatabase d where d.IsMainDatabase = 1 and UID_CutOffTask > ' ' ) begin\r\n select @erg = 0 goto endLabel end endLabel: return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIDiskStoreExisting",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.727",
      "ModifyDate": "2026-04-14T23:20:24.667",
      "Definition": "   create   function dbo.QBM_FGIDiskStoreExisting (@TableName varchar(30) ) returns nvarchar(256) as begin declare @erg nvarchar(256) select top\r\n 1 @erg = g.name from sys.partitions p join sys.objects o on p.object_id = o.object_id join sys.allocation_units a on a.container_id = p.partition_id join\r\n sys.filegroups g on g.data_space_id = a.data_space_id join sys.database_files f on f.data_space_id = g.data_space_id  join sys.tables t on o.object_id\r\n = t.object_id join DialogTable tt on t.name = tt.TableName collate database_default where o.name = @TableName and tt.TableType in ('B', 'T') endLabel:\r\n return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIDiskStoreTarget",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.73",
      "ModifyDate": "2026-04-14T23:14:10.577",
      "Definition": "   create   function dbo.QBM_FGIDiskStoreTarget (@TableName varchar(30) ) returns nvarchar(256) as begin declare @erg nvarchar(256) = null declare\r\n @Tabletype varchar(1) = 'T' if exists (select top 1 1 from sys.tables t where t.name = 'QBMDiskStoreLogical' ) begin select top 1 @erg = p.Ident_QBMDiskStorePhysical\r\n , @Tabletype = t.TableType from dbo.DialogTable t with (readpast) left outer join QBMDiskStoreLogical l on t.uid_QBMDiskStoreLogical = l.UID_QBMDiskStoreLogical\r\n left outer join QBMDiskStorePhysical p on l.UID_QBMDiskStorePhysical = p.UID_QBMDiskStorePhysical where t.TableName = @TableName and t.TableType in ('B'\r\n, 'T') end else begin select @Tabletype = 'T'  end if @erg is null and @Tabletype in ('B', 'T') begin select @erg = 'PRIMARY' end endLabel: return(@erg\r\n) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIGuidIsValid",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.573",
      "ModifyDate": "2026-04-14T23:14:10.523",
      "Definition": "  create   function dbo.QBM_FGIGuidIsValid(@Guid varchar(38) ) returns int as begin declare @erg int = 0   if len(@guid) < 6 begin  return(@erg)\r\n  end declare @patH nvarchar(256) = '[0-F]'  declare @PatA nvarchar(256) = '[a-z]' declare @patN nvarchar(256) = '[0-Z]'   declare @ModuleOwner varchar\r\n(3)  declare @ModuleInGuid varchar(3)  if @Guid like  concat(replicate(@path,8) , replicate( concat('-' , replicate(@patH,4)) ,3) , '-' , replicate(@path\r\n, 12) ) begin select @erg = 1  return(@erg)  end if Len(@Guid) = 38 begin if @Guid like 'XX' + concat(replicate(@path,8) , replicate( concat('-' , replicate\r\n(@patH,4)) ,3) , '-' , replicate(@path, 12) ) begin select @erg = 1  return(@erg)  end end  if @Guid like concat(@patA , @patN , @PatN , '-%') begin select\r\n @erg += 3 end if @Guid like  concat(@patA , @patN , @PatN , '-' , replicate(@path, 32)) begin select @erg += 4 end else begin   if @Guid not like  concat\r\n(@patA , @patN , @PatN , '-' , @patA , replicate('[0-9,a-z,-]', len(@Guid) - 5)) begin select @erg = 0  return(@erg)  end end select @ModuleInGuid = LEFT\r\n(@guid, 3) if @ModuleInGuid not in ('ZZZ' , 'XXX' )  begin  if dbo.QBM_FGIModuleExists('HDB') = 0 and dbo.QBM_FGIModuleExists(@ModuleInGuid) = 0 begin \r\nselect @erg = 0  return(@erg)  end end select top 1 @ModuleOwner = dbo.QBM_FGIDBOwner() if @ModuleInGuid = @ModuleOwner begin select @erg += 8 end endLabel:\r\n return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIHolidayInAdminUnit",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.077",
      "ModifyDate": "2026-04-14T23:20:25.753",
      "Definition": "  create   function dbo.QBM_FGIHolidayInAdminUnit(@Isodate nvarchar(10) , @ObjectkeyAdminUnit varchar(138) ) returns bit   as begin declare @Erg\r\n bit select @erg = 0 declare @ObjectKeyCountry varchar(138) declare @AdminUnitIsState bit select @AdminUnitIsState = 0 if @ObjectkeyAdminUnit like '<Key><T>DialogState</T>%'\r\n begin  select @AdminUnitIsState = 1 end if @AdminUnitIsState = 1 begin if exists (select top 1 1 from dbo.DialogState s join dbo.DialogStateHoliday h \r\non s.uid_dialogState = h.uid_dialogState where s.XObjectKey = @ObjectkeyAdminUnit and h.isodate = @Isodate  and h.IsToIgnore = 0 ) begin select @erg = \r\n1  return(@erg)  end  select top 1 @ObjectKeyCountry = c.XObjectKey from dbo.DialogState s join dbo.DialogCountry c on s.uid_DialogCountry = c.uid_dialogCountry\r\n where s.XObjectKey = @ObjectkeyAdminUnit end else begin select @ObjectKeyCountry = @ObjectkeyAdminUnit end if exists (select top 1 1 from dbo.DialogCountry\r\n c join dbo.DialogCountryHoliday h on c.uid_dialogCountry = h.uid_dialogCountry where c.XObjectKey = @ObjectKeyCountry and h.isodate = @Isodate  and h.IsToIgnore\r\n = 0 ) begin select @erg = 1  return(@erg)  end ende: return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIIsSimulationMode",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.583",
      "ModifyDate": "2026-04-14T23:14:10.527",
      "Definition": "   create   function dbo.QBM_FGIIsSimulationMode () returns bit with SCHEMABINDING as begin declare @erg bit if object_id(N'tempdb..#TriggerOperation'\r\n) is null select @erg = 0 else select @erg = 1 return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIJobCreatedExists",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:00:59.777",
      "ModifyDate": "2026-04-14T23:20:31.183",
      "Definition": " create   function dbo.QBM_FGIJobCreatedExists(@ObjectKeyToSearch varchar(138)) returns bit as begin declare @erg bit = 0  if exists (select top\r\n 1 1 from JobQueue jq with (nolock) join QBMElementAffectedByJob ea on jq.UID_Job = ea.UID_Job and ea.ObjectKeyAffected = @ObjectKeyToSearch where jq.JobChainName\r\n like dbo.QBM_FGIJobCreateName(null) + '%' and jq.IsRootJob = 1 and jq.Ready2EXE like N'[^DH][^I]%'    ) begin select @erg = 1 end endLabel: return(@erg\r\n) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIJobCreateName",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:00:59.767",
      "ModifyDate": "2026-04-14T23:20:31.177",
      "Definition": "  create   function dbo.QBM_FGIJobCreateName (@AddOn nvarchar(356) ) returns nvarchar(256) with SCHEMABINDING as begin declare @Vorspann nvarchar\r\n(64) = 'Created by QBMDBQueueProcess' declare @erg nvarchar(256)  if @AddOn > ' ' begin select @erg = @AddOn end else begin select @erg = @Vorspann end\r\n if @erg not like @Vorspann + '%' begin select @erg = @Vorspann + ':' + @erg end endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIJobQueueCountDeliver",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:00:59.697",
      "ModifyDate": "2026-04-14T23:20:31.08",
      "Definition": "   create   function dbo.QBM_FGIJobQueueCountDeliver (@CountPerMinute int, @Sekunden int, @CurrentReady int, @Priority int) returns int with SCHEMABINDING\r\n as begin declare @CountItems int  select @CountItems = (((((@CountPerMinute*100) / 60 ) * @Sekunden ) - (@CurrentReady * 100)) / 100 ) +1  if @priority\r\n = -1  begin if @CountItems < 0 begin select @CountItems = 0 end end else  begin if @CountItems < 1 begin  select @CountItems = (-1) * ((((((@CountPerMinute*100\r\n) / 60 ) * @Sekunden ) ) / 100 )+1) end  end   if @CountItems > 500 begin select @CountItems = 500 end return (@CountItems) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIJobQueueExistsPending",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:00:59.71",
      "ModifyDate": "2026-04-14T23:20:31.1",
      "Definition": "   create   function dbo.QBM_FGIJobQueueExistsPending ( @XObjectKey varchar(138) , @ParamInPattern nvarchar(1000) ) returns bit with schemabinding\r\n as begin declare @PIPattern nvarchar(1000) DECLARE @pendingProcessFound BIT = 0  select @PIPattern = @ParamInPattern if ISNULL(@PIPattern, N'') = N'' \r\nbegin  return(@pendingProcessFound)  end if LEFT(@PIPattern, 1) <> N'%' begin select @PIPattern = N'%' + @PIPattern end if right(@PIPattern, 1) <> N'%'\r\n begin select @PIPattern = @PIPattern + N'%' end IF EXISTS ( select top 1 1 FROM (  SELECT UID_Tree FROM dbo.JobQueue q with (nolock) join dbo.QBMElementAffectedByJob\r\n ebj on q.UID_Job = ebj.UID_Job WHERE ebj.ObjectKeyAffected = @XObjectKey AND q.ParamIN like @PIPattern GROUP BY q.UID_Tree ) AS x join (select q2.UID_Tree\r\n , SUM(CASE q2.Ready2EXE WHEN N'TRUE' THEN 1 WHEN N'FALSE' THEN 1 ELSE 0 END) AS CountNotRunning ,COUNT(*) AS CountAll from dbo.JobQueue q2 with (nolock\r\n) group by q2.UID_Tree ) as y on x.UID_Tree = y.UID_Tree WHERE y.CountNotRunning = y.CountAll ) BEGIN SELECT @pendingProcessFound = 1 END endLabel: RETURN\r\n (@pendingProcessFound) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIJobQueueMessageAdd",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:00:59.74",
      "ModifyDate": "2026-04-14T23:20:31.137",
      "Definition": "  create   function dbo.QBM_FGIJobQueueMessageAdd(@JobQueueMessageSofar nvarchar(max) , @JobQueueMessageToAdd nvarchar(max) ) returns nvarchar(max\r\n) as begin declare @MessageStringForLike nvarchar(max) declare @erg nvarchar(max) declare @DatetimeStamp nvarchar(max) = concat( '(' , dbo.QBM_FCVDatetimeToString\r\n(dbo.QBM_FGIUTCDate()) , ') ' )  select @MessageStringForLike = replace(right(@JobQueueMessageToAdd, 150) , '[', '[[]') select @MessageStringForLike = \r\nconcat( N'%' , replace(replace(@MessageStringForLike , '%', '[%]') , '_', '[_]') ) select @erg = case when @JobQueueMessageSofar > ' ' and @JobQueueMessageSofar\r\n not like @MessageStringForLike  then concat(@JobQueueMessageSofar , nchar(13) , nchar(10) , @DatetimeStamp , @JobQueueMessageToAdd) when @JobQueueMessageSofar\r\n > ' ' then @JobQueueMessageSofar  else concat(@DatetimeStamp , @JobQueueMessageToAdd) end return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIJobQueueTopJob",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:00:59.723",
      "ModifyDate": "2026-04-14T23:20:31.117",
      "Definition": "     create   function dbo.QBM_FGIJobQueueTopJob (@uid_tree varchar(38)) returns varchar(38)  with schemabinding as begin  declare @uid_s varchar\r\n(38) declare @uid_e varchar(38) declare @uid_j varchar(38) = '' declare @ready2Exe nvarchar(16) = N'' declare @ready2Exe_S nvarchar(16) declare @ready2Exe_E\r\n nvarchar(16)  declare @WasError bit  declare @JobQueueShadow dbo.QBM_YJobQueueShadow           insert into @JobQueueShadow(UID_Job, Ready2Exe, UID_JobError\r\n, UID_JobSuccess, IsRootJob, WasError, IsSplitOnly , LenErrorMessage , IsRecordModified   , UID_Tree, GenProcID, JobChainName ) select isnull(q.UID_Job\r\n, ''), isnull(q.Ready2EXE, N''), isnull(q.UID_JobError, ''), isnull(q.UID_JobSuccess, ''), q.IsRootJob, q.WasError, q.IsSplitOnly , len(isnull(q.ErrorMessages\r\n, '')) , 0  , @uid_tree, @uid_tree, @uid_tree from dbo.JobQueue q with (nolock) where q.UID_Tree = @uid_tree select top 1 @uid_j = uid_job, @ready2Exe \r\n= ready2Exe from @JobQueueShadow s  where ((uid_job not in (select UID_JobError from @JobQueueShadow s ) and uid_job not in (select UID_JobSuccess from\r\n @JobQueueShadow s) ) or (isRootJob = 1) )  if exists (select top 1 1 from @JobQueueShadow j left outer join @JobQueueShadow s on j.UID_JobSuccess = s.UID_Job\r\n where j.UID_JobSuccess > ' ' and s.UID_Job is null ) or exists (select top 1 1 from @JobQueueShadow j left outer join @JobQueueShadow e on j.UID_JobError\r\n = e.UID_Job where j.UID_JobError > ' ' and e.UID_Job is null ) begin goto error end     if @ready2Exe not in ( N'FINISHED', N'DELETE', N'HISTORY') begin\r\n  goto schluss end kreisel:  if @uid_j = '' begin goto error end   if exists (select top 1 1 from @JobQueueShadow a where a.UID_Job = @uid_j and a.IsRecordModified\r\n = 1  ) begin  goto error end   update @JobQueueShadow set IsRecordModified = 1 where UID_Job = @uid_j  select @uid_s = s.UID_JobSuccess , @uid_e = s.UID_JobError\r\n  , @ready2Exe = s.Ready2Exe , @WasError = sign(s.WasError + s.LenErrorMessage * s.IsSplitOnly) from @JobQueueShadow s where s.UID_Job = @uid_j if @ready2Exe\r\n in ( N'TRUE' , N'LOADED', N'PROCESSING', N'FALSE', N'FROZEN' )  begin goto schluss end  if @uid_s > ' ' begin select top 1 @ready2Exe_S = s.Ready2Exe \r\nfrom @JobQueueShadow s where s.UID_Job = @uid_s end else begin select @ready2Exe_S = N'' end if @uid_e > ' ' begin select top 1 @ready2Exe_E = s.Ready2Exe\r\n from @JobQueueShadow s where uid_job = @uid_e end else begin select @ready2Exe_E = N'' end        if @ready2Exe_S in ( N'PROCESSING', N'TRUE', N'FROZEN'\r\n) begin select @uid_j = @uid_s goto schluss end if @ready2Exe_E in ( N'PROCESSING', N'TRUE', N'FROZEN') begin select @uid_j = @uid_e goto schluss end  \r\n if @WasError = 1 and @ready2Exe_E = N'MISSING' and @ready2Exe_S in( N'LOADED', N'FALSE') begin select @uid_j = @uid_e goto schluss end  if @WasError =\r\n 0 and @ready2Exe_S = N'MISSING' and @ready2Exe_E in( N'LOADED', N'FALSE') begin select @uid_j = @uid_s goto schluss end  if @ready2Exe_S = N'FALSE' and\r\n @ready2Exe_E in ( N'FALSE', '') and @wasError = 0 begin select @uid_j = @uid_s goto schluss end if @ready2Exe_E = N'FALSE' and @ready2Exe_S in ( N'FALSE'\r\n, '') and @wasError = 1 begin select @uid_j = @uid_e goto schluss end  if @ready2Exe in ( N'FINISHED', N'DELETE', N'HISTORY') begin if @ready2Exe_S = N''\r\n begin  select @uid_j = @uid_e goto kreisel end if @ready2Exe_E = N'' begin  select @uid_j = @uid_s goto kreisel end end if @ready2Exe_S in ( N'FINISHED'\r\n, N'DELETE', N'HISTORY') begin select @uid_j = @uid_s goto kreisel end  if @ready2Exe_E in ( N'FINISHED', N'DELETE', N'HISTORY') begin select @uid_j = \r\n@uid_e goto kreisel end   if @ready2Exe_S = N'LOADED' and @ready2Exe_E = N'LOADED' begin if @WasError = 1 begin select @uid_j = @uid_e end else begin select\r\n @uid_j = @uid_s end goto schluss end if @ready2Exe_S = N'LOADED' begin select @uid_j = @uid_s goto schluss end if @ready2Exe_E = N'LOADED' begin select\r\n @uid_j = @uid_e goto schluss end  goto schluss  error: select @uid_j = '' schluss: return (@uid_j)  end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIMaintenanceRunning",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.757",
      "ModifyDate": "2026-04-14T23:20:24.707",
      "Definition": "   create   function dbo.QBM_FGIMaintenanceRunning() returns varchar(32) as begin return ( case when dbo.QBM_FGITriggersDisabled() = 1 then 'Triggers disabled'\r\n when dbo.QBM_FGIConstraintsDisabled() = 1 then 'Constraints disabled' when dbo.QBM_FGISingleUserRunning() = 1 then 'Single user'      when exists (select\r\n top 1 1 from DialogDatabase d with (readpast) where d.IsMainDatabase = 1 and d.UpdatePhase > 1  ) then 'System update running' else '' end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIMaintenanceRunning_M",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.76",
      "ModifyDate": "2026-04-14T23:20:24.71",
      "Definition": "    create   function dbo.QBM_FGIMaintenanceRunning_M(@IsSystemUser bit) returns varchar(32) as begin return ( case when dbo.QBM_FGITriggersDisabled\r\n() = 1 then 'Triggers disabled' when dbo.QBM_FGIConstraintsDisabled() = 1 then 'Constraints disabled' when dbo.QBM_FGISingleUserRunning() = 1 then 'Single user'\r\n  when exists (select top 1 1 from DialogDatabase d with (readpast) where d.IsMainDatabase = 1 and (@IsSystemUser = 1 and d.UpdatePhase in (3, 4) or @IsSystemUser\r\n = 0 and d.UpdatePhase in (2,3,4) ) ) then 'System update running' else '' end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIModuleExists",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.563",
      "ModifyDate": "2026-04-14T23:14:10.52",
      "Definition": "          create   function dbo.QBM_FGIModuleExists ( @ModuleName varchar(3) ) returns bit  as begin return ( case when @Modulename = 'CCC' then\r\n 1 when isnull(@ModuleName, '') = '' then 0 when exists ( select top 1 1 from QBMModuleDef d with (readpast) where d.ModuleName = @ModuleName ) then 1 \r\nelse 0 end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIModuleHigher",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.633",
      "ModifyDate": "2026-04-14T23:20:24.527",
      "Definition": "  create   function dbo.QBM_FGIModuleHigher (@Module1 varchar(3) , @Module2 varchar(3) ) returns varchar(3)   as begin declare @erg varchar(3) if\r\n exists (select top 1 1 from dbo.QBMModuleDependCollection co where co.UID_ModulePredecessor = @Module1 + '-Moduledefinition' and co.UID_ModuleFollower\r\n = @Module2 + '-Moduledefinition' ) begin select @erg = @Module2 end else begin select @erg = @Module1 end endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIModuleIsToUpdate",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:02.007",
      "ModifyDate": "2026-04-14T23:20:24.593",
      "Definition": "  create   function dbo.QBM_FGIModuleIsToUpdate (@ModuleName varchar(3) , @TargetVersion varchar(64) ) returns bit as begin declare @erg bit = 0\r\n declare @CurrentModuleOwner varchar(3) if not exists (select top 1 1 from sys.objects t with (readpast) where t.name = 'DialogDatabase' and t.type = 'U'\r\n ) begin goto endLabel end if exists (select top 1 1 from QBMModuleDef d with (readpast) where d.UID_ModuleDef = concat(@ModuleName , '-Moduledefinition'\r\n) and isnull(d.MigrationVersion, '') < @TargetVersion  and d.MigrationVersion > ' ' ) begin select @erg = 1 select top 1 @CurrentModuleOwner = d.ModuleOwner\r\n from DialogDatabase d with (readpast) where d.IsMainDatabase = 1 if isnull(@CurrentModuleOwner, '') = '' begin select @CurrentModuleOwner = '' end if \r\n@CurrentModuleOwner = @ModuleName  begin select @erg = 0 end end endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIModuleLower",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.64",
      "ModifyDate": "2026-04-14T23:20:24.527",
      "Definition": "  create   function dbo.QBM_FGIModuleLower (@Module1 varchar(3) , @Module2 varchar(3) ) returns varchar(3)   as begin declare @erg varchar(3) if\r\n exists (select top 1 1 from dbo.QBMModuleDependCollection co where co.UID_ModulePredecessor = @Module1 + '-Moduledefinition' and co.UID_ModuleFollower\r\n = @Module2 + '-Moduledefinition' ) begin select @erg = @Module1 end else begin select @erg = @Module2 end endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIModulePrecedenceValid",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.303",
      "ModifyDate": "2026-04-14T23:20:24.523",
      "Definition": "  create   function dbo.QBM_FGIModulePrecedenceValid( @ObjectkeyOrGUIDPredecessor varchar(138) , @ObjectkeyOrGUIDFollower varchar(138) ) returns\r\n bit as begin declare @erg bit = 0 declare @m1 varchar(38) declare @m2 varchar(38) if LEN(@ObjectkeyOrGUIDPredecessor) > 38 begin select @m1 = dbo.QBM_FCVObjectKeyToModuleOwner\r\n(@ObjectkeyOrGUIDPredecessor)+ '-Moduledefinition' end else begin select @m1 = dbo.QBM_FCVGUIDToModuleOwner(@ObjectkeyOrGUIDPredecessor)+ '-Moduledefinition'\r\n end if LEN(@ObjectkeyOrGUIDFollower) > 38 begin select @m2 = dbo.QBM_FCVObjectKeyToModuleOwner(@ObjectkeyOrGUIDFollower)+ '-Moduledefinition' end else\r\n begin select @m2 = dbo.QBM_FCVGUIDToModuleOwner(@ObjectkeyOrGUIDFollower)+ '-Moduledefinition' end if exists (select top 1 1 from QBMModuleDependCollection\r\n co where co.UID_ModulePredecessor = @m1 and co.UID_ModuleFollower = @m2 ) begin select @erg = 1 end ende: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIMultilanguageValue",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.547",
      "ModifyDate": "2026-04-14T23:20:24.42",
      "Definition": "     create   function dbo.QBM_FGIMultilanguageValue (@TableNameTarget nvarchar(64), @ColumnNameTarget nvarchar(64), @uid_dialogCulture varchar(38\r\n), @key nvarchar(1024) ) returns nvarchar(max)   as begin declare @erg nvarchar(max) = null declare @uid_dialogColumn varchar(38) declare @keyIntern nvarchar\r\n(1024) select @uid_dialogColumn = null select top 1 @uid_dialogColumn = uid_dialogColumn from dbo.DialogColumn c join dbo.DialogTable t on c.UID_DialogTable\r\n = t.UID_DialogTable where t.TableName = @TableNameTarget and c.ColumnName = @ColumnNameTarget  if @uid_dialogColumn is null begin  return (isnull(@erg\r\n, ''))  end select @keyIntern = @key if left(@keyIntern, 5) = '#' + 'L' + 'D' + 'S' + '#' begin select @keyIntern = substring(@keyIntern, 6, 1024) end \r\n if right(@keyIntern, 1) = '|' begin select @keyIntern = substring(@keyIntern, 1, len(@keyintern) - 1) end select top 1 @erg = m.EntryValue from dbo.DialogMultiLanguage\r\n m where m.UID_DialogColumn = @uid_dialogColumn and m.UID_DialogCulture = @uid_dialogCulture and m.EntryKey = @keyIntern if @erg > ' ' begin  return (isnull\r\n(@erg, ''))  end  select top 1 @erg = m.EntryValue from dbo.DialogMultiLanguage m join dbo.DialogColumn c on m.UID_DialogColumn = c.UID_DialogColumn join\r\n dbo.QBMColumnTranslation ao on ao.ObjectKeyDialogColumnSource = c.XObjectKey where ao.UID_DialogColumnTarget = @uid_dialogColumn and m.UID_DialogCulture\r\n = @uid_dialogCulture and m.EntryKey = @keyIntern if @erg is null begin select @erg = @keyIntern end endLabel: return (isnull(@erg, '')) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIObjectIsDropable",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:56:52.063",
      "ModifyDate": "2026-04-14T23:14:10.003",
      "Definition": "  create   function dbo.QBM_FGIObjectIsDropable (@SchemaID int) returns int  as begin  declare @erg int select @erg = 1 if exists (select top 1 \r\n1 from sys.schemas where schema_id = @SchemaID and name in ( N'sys' , N'INFORMATION_SCHEMA' collate database_default ) ) begin select @erg = 0 end return\r\n(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIPrepropConditionDeactiv",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.51",
      "ModifyDate": "2026-04-14T23:21:01.16",
      "Definition": " create   function dbo.QBM_FGIPrepropConditionDeactiv (@PreProcessorCondition nvarchar(max) ) returns bit with schemabinding as begin return( case\r\nisnull(@PreProcessorCondition, '') when '' then 0 when 'UNSB' then 0 when 'TIMETRACE' then 1 when 'SOURCEDETECTIVE' then 0 when 'SOFTWAREDISTRIBUTION' \r\nthen 1 when 'RISKINDEX AND ORG' then 0 when 'RISKINDEX AND ESET AND ORG' then 0 when 'RISKINDEX AND ESET' then 0 when 'RISKINDEX' then 0 when 'REPORT_SUBSCRIPTION'\r\nthen 0 when 'QERPOLICY AND ORG' then 0 when 'QERPOLICY AND ATTESTATION' then 0 when 'QERPOLICY' then 0 when 'PERSONAL' then 1 when 'OutOfUse' then 1 when\r\n'ORG AND RISKINDEX' then 0 when 'ORG AND ITSHOP' then 0 when 'ORG AND ESET' then 0 when 'ORG' then 0 when 'NOT ARS_SSM' then 0 when 'Not AOB' then 0 when\r\n'NOT ADS' then 1 when 'MAC' then 0 when 'LDAP AND ITSHOPSOURCE' then 1 when 'LDAP AND ITSHOP' then 0 when 'LDAP AND (ITSHOP OR ACCOUNTING)' then 0 when\r\n'LDAP' then 0 when 'ITSHOPSOURCE AND LDAP' then 1 when 'ITSHOPSOURCE AND ADS' then 1 when 'ITSHOPSOURCE' then 1 when 'ITSHOP OR ATTESTATION OR QERPOLICY'\r\nthen 0 when 'ITSHOP OR ATTESTATION' then 0 when 'ITSHOP OR ACCOUNTING' then 0 when 'ITSHOP AND LDAP' then 0 when 'ITSHOP AND ESET' then 0 when 'ITSHOP AND ADS'\r\nthen 0 when 'ITSHOP' then 0 when 'GROUPEXCLUSION' then 0 when 'GroupAutoPublish' then 1 when 'EXCLUDE_STRUCTURES' then 0 when 'ESETEXCLUSION' then 0 when\r\n'ESET AND RISKINDEX' then 0 when 'ESET AND ORG' then 0 when 'ESET' then 0 when 'DELEGATION' then 0 when 'COMPLIANCE_SIMPLEMODE' then 0 when 'COMPLIANCE OR ITSHOP OR SOURCEDETECTIVE'\r\nthen 0 when 'COMPLIANCE Or ATTESTATION Or QERPOLICY' then 0 when 'COMPLIANCE AND RISKINDEX' then 0 when 'COMPLIANCE AND ORG' then 0 when 'COMPLIANCE AND ITSHOP'\r\nthen 0 when 'COMPLIANCE' then 0 when 'ATTESTATION OR ITSHOP' then 0 when 'ATTESTATION AND ITSHOP' then 0 when 'ATTESTATION AND COMPLIANCE' then 0 when \r\n'ATTESTATION' then 0 when 'ASSET' then 1 when 'ARS_SSM' then 1 when 'ARS AND ARS_SSM' then 1 when 'ARS' then 0 when 'ADS AND ITSHOP' then 0 when 'ADS' \r\nthen 0 when 'ACCOUNTING OR ITSHOP' then 0 when '(COMPLIANCE Or ATTESTATION or QERPOLICY) and RISKINDEX' then 0 else 1 end ) end ",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIPrimaryKeyCount",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.533",
      "ModifyDate": "2026-04-14T23:20:24.407",
      "Definition": "   create   function dbo.QBM_FGIPrimaryKeyCount( @TableName varchar(30) ) returns int as begin declare @erg int = 0  if @TableName in (select TableName\r\n from QBM_VStartupTables) begin select top 1 @erg = CountKeys from QBM_VStartupTables where TableName = @TableName  return(@erg)  end select @erg = count\r\n(*) from dialogColumn c with (readpast) join DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable where t.TableName = @TableName and \r\nc.IsPKMember = 1 endLabel: return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIPrimaryKeyName",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.56",
      "ModifyDate": "2026-04-14T23:20:24.44",
      "Definition": "   create   function dbo.QBM_FGIPrimaryKeyName( @TableName varchar(30), @KeyNumber int = 1 ) returns varchar(30) as begin declare @erg varchar(30\r\n) = ''  if @TableName in (select TableName from QBM_VStartupTables) begin if @KeyNumber = 1 begin select top 1 @erg = Keyname1 from QBM_VStartupTables \r\nwhere TableName = @TableName  return(@erg)  end if @KeyNumber = 2 begin select top 1 @erg = Keyname2 from QBM_VStartupTables where TableName = @TableName\r\n  return(@erg)  end end if @KeyNumber = 1 begin  if dbo.QBM_FGIPrimaryKeyCount(@TableName) = 1 begin select top 1 @erg = c.ColumnName from DialogColumn\r\n c with (readpast) join DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable where c.IsPKMember = 1 and t.TableName = @TableName end \r\nelse begin select top 1 @erg = pk.COLUMN_NAME from INFORMATION_SCHEMA.KEY_COLUMN_USAGE pk join sys.key_constraints kc on kc.name = pk.CONSTRAINT_NAME and\r\n kc.type = 'PK' where pk.TABLE_NAME = @TableName order by pk.ORDINAL_POSITION asc  if ISNULL(@erg, '') = '' begin select top 1 @erg = c.ColumnName from\r\n DialogColumn c with (readpast) join DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable  join INFORMATION_SCHEMA.COLUMNS cc with (readpast\r\n) on c.ColumnName = cc.COLUMN_NAME and t.TableName = cc.TABLE_NAME where c.IsPKMember = 1 and t.TableName = @TableName order by cc.ORDINAL_POSITION asc\r\n end end  return(@erg)  end if @KeyNumber = 2 begin if 2 = dbo.QBM_FGIPrimaryKeyCount(@TableName) begin select top 1 @erg = pk.COLUMN_NAME from INFORMATION_SCHEMA.KEY_COLUMN_USAGE\r\n pk join sys.key_constraints kc on kc.name = pk.CONSTRAINT_NAME and kc.type = 'PK' where pk.TABLE_NAME = @TableName order by pk.ORDINAL_POSITION desc  \r\nif ISNULL(@erg, '') = '' begin select top 1 @erg = c.ColumnName from DialogColumn c with (readpast) join DialogTable t with (readpast) on c.UID_DialogTable\r\n = t.UID_DialogTable  join INFORMATION_SCHEMA.COLUMNS cc with (readpast) on c.ColumnName = cc.COLUMN_NAME and t.TableName = cc.TABLE_NAME where c.IsPKMember\r\n = 1 and t.TableName = @TableName order by cc.ORDINAL_POSITION desc end  return(@erg)  end end ende: return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIPrimaryKeyName_F",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.54",
      "ModifyDate": "2026-04-14T23:20:24.417",
      "Definition": "      create   function dbo.QBM_FGIPrimaryKeyName_F( @TableName varchar(30), @KeyNumber int = 1 ) returns varchar(30) as begin declare @erg varchar\r\n(30) = '' declare @CountKeys int  if @TableName in (select TableName from QBM_VStartupTables) begin if @KeyNumber = 1 begin select top 1 @erg = Keyname1\r\n from QBM_VStartupTables where TableName = @TableName  return(@erg)  end if @KeyNumber = 2 begin select top 1 @erg = Keyname2 from QBM_VStartupTables where\r\n TableName = @TableName  return(@erg)  end end select @CountKeys = dbo.QBM_FGIPrimaryKeyCount(@TableName) if @KeyNumber = 1 and @CountKeys in (1,2) begin\r\n select top 1 @erg = PKName1 from DialogTable t where t.TableName = @TableName  return( case  when ISNULL(@erg, '') = '' then dbo.QBM_FGIPrimaryKeyName\r\n(@TableName, @Keynumber) else @erg end ) end if @KeyNumber = 2 and @CountKeys in (2) begin select top 1 @erg = PKName2 from DialogTable t where t.TableName\r\n = @TableName  return( case  when ISNULL(@erg, '') = '' then dbo.QBM_FGIPrimaryKeyName(@TableName, @Keynumber) else @erg end ) end endLabel: return (@erg\r\n) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIQBMServerInfo",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.75",
      "ModifyDate": "2026-04-14T23:20:24.697",
      "Definition": "  create   function dbo.QBM_FGIQBMServerInfo(@UID_QBMServer varchar(38)) returns nvarchar(max) as begin declare @Erg nvarchar(max) select top 1 \r\n@erg = 'Queue = '+ isnull(s.QueueName, '<none>') + ';' + ' Cluster = ' + dbo.QBM_FCVBitToString(s.IsCluster) + ';' + ' AutoUpdate = ' + dbo.QBM_FCVBitToString\r\n(s.isNoAutoupdate ^ 1) + ';' + ' ConfigImported = ' + dbo.QBM_FCVBitToString(sign(len(isnull(S.JobserverConfiguration, '')))) + '; ' + ' Server = ' + isnull\r\n(s.FQDN, isnull(s.Ident_server, '<none>')) + ';' + ' Parent = ' + isnull(isnull(p.FQDN, isnull(p.Ident_server, '<none>')), '<none>') + ';' from QBMServer\r\n s left outer join QBMServer p on s.UID_ParentQBMServer = p.UID_QBMServer where s.UID_QBMServer = @UID_QBMServer select @Erg = concat(@erg , ' Tags = '\r\n , string_agg(convert(nvarchar(max) , replace(t.Ident_QBMServerTag, '%Globals.QIM_ProductNameShort%', 'One Identity') )  , N'; ' )  , ';' ) from QBMServer\r\n s join QBMServerHasServerTag sht on s.UID_QBMServer = sht.UID_QBMServer join QBMServerTag t on sht.UID_QBMServerTag = t.UID_QBMServerTag where s.UID_QBMServer\r\n = @UID_QBMServer endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIScheduleNextRun",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.623",
      "ModifyDate": "2026-04-14T23:20:24.52",
      "Definition": "        create   function dbo.QBM_FGIScheduleNextRun (@oldnextrun datetime, @lastrun datetime,  @JustNow datetime,  @StartTime varchar(256),  @FrequencyType\r\n nvarchar(16)  , @Frequency int , @FrequencySubType nvarchar(256) , @CurrentUTCOffset int  ) returns datetime as begin  declare @nextrun datetime  declare\r\n @starttimes_intern QBM_YParameterlist declare @lastrun_intern datetime declare @oldnextrun_intern datetime declare @Abends nvarchar(16) declare @JustNowLocal\r\n datetime declare @StartofPeriod datetime declare @StartofNextPeriod datetime declare @Wochentag varchar(16) select @Abends = N' 23:59:59.999' select @JustNowLocal\r\n = dateadd(ss, @CurrentUTCOffset, @JustNow) if @FrequencyType in ('Day', 'Week', 'Month', 'Year') or @FrequencyType like 'WD[_]__' begin if @StartTime \r\n= 'LB:ST' begin  insert into @starttimes_intern(Parameter1) select case x.MyOffsetMinutes when 1440 then '23:59' else concat(dbo.QBM_FCVStringPadLeft( \r\ndbo.QBM_FCVIntToString( x.MyOffsetMinutes / 60) , 2, '0') , ':' , dbo.QBM_FCVStringPadLeft( dbo.QBM_FCVIntToString(x.MyOffsetMinutes % 60), 2, '0') ) end\r\n as StartTime from ( select convert(int, isnull(sum(MinutesAvailable), 0)) as MyOffsetMinutes from ( select e.dbid, e.name, e.SizePerDB, e.SizePerDB / \r\na.SizeOverAll as percentOfSize, 24.0 * 60.0 * (e.SizePerDB / a.SizeOverAll) as MinutesAvailable from ( select d.dbid, d.name,  convert(float, sum(f.size\r\n)) as SizePerDB  from sys.sysdatabases d join sys.master_files f on f.database_id = d.dbid where d.name not in ('master', 'tempdb', 'model', 'msdb') group\r\n by d.dbid, d.name ) as e cross join ( select convert(float, sum(f.size)) as SizeOverAll from sys.sysdatabases d join sys.master_files f on f.database_id\r\n = d.dbid where d.name not in ('master', 'tempdb', 'model', 'msdb') ) as a ) as parts where parts.dbid < db_id() ) as x end else  begin insert into @starttimes_intern\r\n(Parameter1) select s.ParameterValue from QBM_FCVStringToList(@StartTime, char(7), 1, 0) s where dbo.QBM_FGITimeIsValid(s.ParameterValue) = 1 if @@ROWCOUNT\r\n = 0 begin insert into @starttimes_intern(Parameter1) select '23:59' end end  end select @lastrun_intern = @lastrun if isnull(@lastrun_intern , N'1899-12-30'\r\n) < N'1900-01-01' begin select @lastrun_intern = convert(datetime, N'1900-01-01', 121) end select @oldnextrun_intern = @oldnextrun if isnull(@oldnextrun_intern\r\n , N'1899-12-30') < N'1900-01-01' begin select @oldnextrun_intern = convert(datetime, N'1900-01-01', 121)  select @lastrun_intern = convert(datetime, N'1900-01-01'\r\n, 121) end if @FrequencyType in ('Week', 'Month', 'Year') begin select @StartofPeriod = null select top 1 @StartofPeriod = convert(datetime, MAX(isodate\r\n), 121) from DialogCalendar where CONVERT(datetime, isodate, 121) <= @lastrun_intern and ( @FrequencyType = 'Week' and isWeek = 1 or @FrequencyType = 'Month'\r\n and isMonth = 1 or @FrequencyType = 'Year' and isYear = 1 )   if @StartofPeriod is null begin select top 1 @StartofPeriod = convert(datetime, MAX(isodate\r\n), 121) from DialogCalendar where CONVERT(datetime, isodate, 121) <= @JustNowLocal and ( @FrequencyType = 'Week' and isWeek = 1 or @FrequencyType = 'Month'\r\n and isMonth = 1 or @FrequencyType = 'Year' and isYear = 1 ) end if @FrequencyType = 'Week' begin select @StartofNextPeriod = DATEADD(wk, @frequency, @StartofPeriod\r\n) end if @FrequencyType = 'Month' begin select @StartofNextPeriod = DATEADD(mm, @frequency, @StartofPeriod) end if @FrequencyType = 'Year' begin select\r\n @StartofNextPeriod = DATEADD(yy, @frequency, @StartofPeriod) end end if @FrequencyType like 'WD[_]__' begin  select @StartofPeriod = null select top 1\r\n @StartofPeriod = convert(datetime, MAX(c.IsoDate), 121) from DialogCalendar c where CONVERT(datetime, c.IsoDate, 121) <= @lastrun_intern and c.isMonth\r\n = 1 if @StartofPeriod is null begin select top 1 @StartofPeriod = convert(datetime, MAX(isodate), 121) from DialogCalendar where CONVERT(datetime, isodate\r\n, 121) <= @JustNowLocal and isMonth = 1 end select @Wochentag = case @FrequencyType when 'WD_Mo' then 'Monday' when 'WD_Tu' then 'Tuesday' when 'WD_We'\r\n then 'Wednesday' when 'WD_Th' then 'Thursday' when 'WD_Fr' then 'Friday' when 'WD_Sa' then 'Saturday' when 'WD_Su' then 'Sunday' else '' end end select\r\n @nextrun = @oldnextrun_intern    if @FrequencyType in ('Week', 'Year') begin  select top 1 @nextrun = min(convert(datetime, c.IsoDate + ' ' + st.Parameter1\r\n , 121)) from DialogCalendar c, (select dbo.QBM_FCVStringToInt(mvp.parameterValue , 0) -1  as Fsubtype from dbo.QBM_FCVStringToList(@Frequencysubtype ,\r\n nchar(7), 0, 0 ) mvp ) as Fsubtypes , @starttimes_intern st where (DATEADD(dd, Fsubtypes.Fsubtype, @StartofPeriod) = CONVERT(datetime, c.IsoDate, 121)\r\n  or DATEADD(dd, Fsubtypes.Fsubtype, @StartofNextPeriod) = CONVERT(datetime, c.IsoDate, 121) ) and (convert(datetime, c.IsoDate + ' ' + st.Parameter1 ,\r\n 121) > @JustNowLocal and @StartTime <> 'LB:ST'  or convert(datetime, c.IsoDate , 121) > @JustNowLocal and @StartTime = 'LB:ST' ) and @oldnextrun_intern\r\n <= @JustNowLocal  end if @FrequencyType like 'WD[_]__' begin select top 1 @nextrun = min(convert(datetime, x.IsoDate + ' ' + st.Parameter1 , 121)) from\r\n ( select c.IsoDate, c.CalendarYear, c.CalendarMonth, c.CalendarDay, c.DayOfWeek , row_number() over (partition by c.CalendarYear, c.CalendarMonth order\r\n by c.CalendarDay) as nter , COUNT(*) over (partition by c.CalendarYear, c.CalendarMonth ) as letzter from DialogCalendar c where c.DayOfWeek = @Wochentag\r\n and c.IsoDate >= @StartofPeriod and ( isnull(@FrequencySubType, '') = '' or c.CalendarMonth in (select dbo.QBM_FCVStringToInt(mvp.ParameterValue, 0) as\r\n monat from dbo.QBM_FCVStringToList(@Frequencysubtype , nchar(7), 0, 0 ) mvp ) ) ) as x cross join @starttimes_intern st where (@Frequency > 0 and x.nter\r\n = @Frequency or @Frequency < 0 and x.nter = x.letzter + @Frequency + 1 ) and convert(datetime, x.IsoDate + ' ' + st.Parameter1 , 121) > @JustNowLocal \r\nand @oldnextrun_intern <= @JustNowLocal end if @FrequencyType in ('Month')  begin  select top 1 @nextrun = min(convert(datetime, c.IsoDate + ' ' + st.Parameter1\r\n , 121)) from DialogCalendar c, (select dbo.QBM_FCVStringToInt(mvp.parameterValue , 0) -1  as Fsubtype from dbo.QBM_FCVStringToList(@Frequencysubtype ,\r\n nchar(7), 0, 0 ) mvp ) as Fsubtypes , @starttimes_intern st where ( CONVERT(datetime, c.IsoDate, 121) = case when month(DATEADD(dd, Fsubtypes.Fsubtype\r\n, @StartofPeriod)) = month(@StartofPeriod) then DATEADD(dd, Fsubtypes.Fsubtype, @StartofPeriod) when month(DATEADD(dd, Fsubtypes.Fsubtype-1, @StartofPeriod\r\n)) = month(@StartofPeriod) then DATEADD(dd, Fsubtypes.Fsubtype-1, @StartofPeriod) when month(DATEADD(dd, Fsubtypes.Fsubtype-2, @StartofPeriod)) = month\r\n(@StartofPeriod) then DATEADD(dd, Fsubtypes.Fsubtype-2, @StartofPeriod) else DATEADD(dd, Fsubtypes.Fsubtype-3, @StartofPeriod)  end  or CONVERT(datetime\r\n, c.IsoDate, 121) = case when month(DATEADD(dd, Fsubtypes.Fsubtype, @StartofNextPeriod)) = month(@StartofNextPeriod) then DATEADD(dd, Fsubtypes.Fsubtype\r\n, @StartofNextPeriod) when month(DATEADD(dd, Fsubtypes.Fsubtype-1, @StartofNextPeriod)) = month(@StartofNextPeriod) then DATEADD(dd, Fsubtypes.Fsubtype-1\r\n, @StartofNextPeriod) when month(DATEADD(dd, Fsubtypes.Fsubtype-2, @StartofNextPeriod)) = month(@StartofNextPeriod) then DATEADD(dd, Fsubtypes.Fsubtype-2\r\n, @StartofNextPeriod) else DATEADD(dd, Fsubtypes.Fsubtype-3, @StartofNextPeriod)  end ) and (convert(datetime, c.IsoDate + ' ' + st.Parameter1 , 121) >\r\n @JustNowLocal and @StartTime <> 'LB:ST'  or convert(datetime, c.IsoDate , 121) > @JustNowLocal and @StartTime = 'LB:ST' ) and @oldnextrun_intern <= @JustNowLocal\r\n end if @FrequencyType = 'Day' begin select top 1 @nextrun = x.datum from (select convert(datetime, min(c.IsoDate + ' ' + st.Parameter1), 121) as datum\r\n from DialogCalendar c , @starttimes_intern st where ( ( convert(datetime, c.IsoDate + ' ' + st.Parameter1, 121) > @JustNowLocal  and datediff(d, convert\r\n(datetime, c.IsoDate, 121), convert(datetime, @JustNowLocal, 121)) = 0 )  or datediff(d, @justnowlocal, convert(datetime, c.IsoDate + ' ' + st.Parameter1\r\n, 121)) >= @Frequency ) ) as x where @oldnextrun_intern <= @JustNowLocal end if @FrequencyType = 'Hour' begin  select top 1 @nextrun = dateadd(hh, @Frequency\r\n, @lastrun_intern) where @oldnextrun_intern <= @JustNowLocal  select top 1 @nextrun = dateadd(hh, @Frequency, @JustNowLocal) where @nextrun < @JustNowLocal\r\n end if @FrequencyType = 'Min' begin  select top 1 @nextrun = dateadd(mi, @Frequency, @lastrun_intern) where @oldnextrun_intern <= @JustNowLocal  select\r\n top 1 @nextrun = dateadd(mi, @Frequency, @JustNowLocal) where @nextrun < @JustNowLocal end  select @nextrun = convert(datetime, convert(nvarchar(16), \r\n@nextrun, 121), 121) if right(convert(nvarchar(16), @nextrun, 121), 5) = N'00:00' begin  select @nextrun = dateadd(ms, 3, @nextrun) end ende: return (@nextrun\r\n) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIServerEngineProperties",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:14:33.467",
      "ModifyDate": "2026-04-14T23:14:33.467",
      "Definition": "  create   function dbo.QBM_FGIServerEngineProperties (@PropertyName varchar(64) ) returns int as begin return( select top 1 case @PropertyName \r\nwhen 'EngineNumber' then v.EngineNumber when 'UseForOneIM' then v.UseForOneIM when 'UseUse' then v.UseUse when 'MemoryOptimizedAvailable' then v.MemoryOptimizedAvailable\r\n  when 'HADRpossible' then v.HADRpossible when 'SimpleRecoveryPossible' then v.SimpleRecoveryPossible when 'OnlineIndexing' then v.OnlineIndexing when \r\n'HasExtendedProc' then v.HasExtendedProc when 'IsAmazonRDS' then v.IsAmazonRDS when 'AccessToFileSpaceUsage' then v.AccessToFileSpaceUsage when 'WaitForGhostProcess'\r\n then v.WaitForGhostProcess when 'AccessToServerPrincipal' then v.AccessToServerPrincipal when 'PercentQuality' then v.PercentQuality else -1 end from \r\nQBM_VServerEngineProperties v ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIServerMemoryUsed",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.857",
      "ModifyDate": "2026-04-14T23:14:10.63",
      "Definition": "    create   function dbo.QBM_FGIServerMemoryUsed () returns int  as begin declare @erg int declare @OSLimit_GB float declare @UseLimit_GB float\r\n declare @CurrentlyUsed_GB float select top 1 @OSLimit_GB = convert(float, os.committed_target_kb) / 1024.0 / 1024.0 from sys.dm_os_sys_info os  select\r\n @UseLimit_GB = @OSLimit_GB - (SELECT convert(float, sum(pages_kb))/ 1024.0 / 1024.0 FROM sys.dm_os_memory_clerks c where c.virtual_memory_reserved_kb \r\n> 0 ) select @UseLimit_GB = case when @OSLimit_GB <= 8.0 then @UseLimit_GB * 0.70 when @OSLimit_GB <= 16.0 then @UseLimit_GB * 0.75 when @OSLimit_GB <=\r\n 32.0 then @UseLimit_GB * 0.80 when @OSLimit_GB <= 96.0 then @UseLimit_GB * 0.85 else @UseLimit_GB * 0.90 end  SELECT @CurrentlyUsed_GB = convert(float\r\n, sum(pages_kb))/ 1024.0 / 1024.0 FROM sys.dm_os_memory_clerks c where c.virtual_memory_reserved_kb = 0    select @erg = convert(int, (@CurrentlyUsed_GB\r\n / @UseLimit_GB * 100.0))  return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGISessionContext",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.83",
      "ModifyDate": "2026-04-14T23:14:10.62",
      "Definition": "       create   function dbo.QBM_FGISessionContext (@Key nvarchar(32)) returns varchar(1000) as begin  declare @erg varchar(1000) declare @key_intern\r\n nvarchar(32) select @key_intern = upper( case isnull(@Key, '') when '' then 'GenProcID' else @Key end ) select @erg = isnull(convert(varchar(1000), SESSION_CONTEXT\r\n(@key_intern)), '') if @erg = '' begin if @key_intern = 'GENPROCID' begin select @erg = dbo.QBM_FCVStringToGUID('', concat( convert(varchar, dbo.QBM_FGIUTCDate\r\n(), 127) , str(@@spid) ) ) EXEC sp_set_session_context @Key_intern, @erg end   if @key_intern = 'XUSER' begin select @erg = left( concat('l:' , rtrim(isnull\r\n(loginame,'')) , '|m:' , rtrim(isnull(net_address,'')) , '|h:' , rtrim(isnull(HostName,'')) , '|p:' , rtrim(isnull(program_name, '')) )  , 64 )  from sys.sysprocesses\r\n where spid = @@spid end  end  return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGISessionErrorCount",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.463",
      "ModifyDate": "2026-04-14T23:14:10.453",
      "Definition": "create   function dbo.QBM_FGISessionErrorCount() returns int as begin  return (select count(*) from dbo.QBM_FTSessionErrorLoad() ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGISessionErrorForLog",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.507",
      "ModifyDate": "2026-04-14T23:14:10.49",
      "Definition": "create   function dbo.QBM_FGISessionErrorForLog() returns nvarchar(max) as begin declare @RowDelimiter nvarchar(16) = nchar(13) + nchar(10) return\r\n( select dbo.QBM_FGISessionErrorForLog_i(@RowDelimiter) ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGISessionErrorForLog_7",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.507",
      "ModifyDate": "2026-04-14T23:14:10.49",
      "Definition": "create   function dbo.QBM_FGISessionErrorForLog_7() returns nvarchar(max) as begin declare @RowDelimiter nvarchar(16) = nchar(7) return( select \r\ndbo.QBM_FGISessionErrorForLog_i(@RowDelimiter) ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGISessionErrorForLog_i",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.507",
      "ModifyDate": "2026-04-14T23:14:10.487",
      "Definition": " create   function dbo.QBM_FGISessionErrorForLog_i( @RowDelimiter nvarchar(16) ) returns nvarchar(max) as begin declare @erg nvarchar(max) = N''\r\n declare @Start nvarchar(max) = N'' declare @ExistingErrors QBM_YSessionError declare @ElementCount int declare @ElementIndex int declare @IsRethrow bit\r\n insert into @ExistingErrors (ErrorMessage, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter\r\n, IsReThrow, SourceCode) select ErrorMessage, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter\r\n, IsReThrow, SourceCode from dbo.QBM_FTSessionErrorLoad() el order by el.RecordNumber desc select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while\r\n @ElementIndex <= @ElementCount begin if @erg > N' ' begin select @erg = concat(@erg, @RowDelimiter) end select @erg = concat (@Start  , @erg  , TRIM(str\r\n(e.ErrorNumber)) , NCHAR(9) , TRIM(str( case e.ErrorState  when 1 then 0 when 2 then 1 when 3 then 2 else 0  end )) , NCHAR(9) ,  case e.IsReThrow when\r\n 0 then e.ErrorMessage when 1 then concat( N're-throw in ', e.ProcedureName, ' Line ', trim(str(ISNULL(e.ProcedureLine, 0))) ) end  )  , @IsRethrow = e.IsReThrow\r\n from @ExistingErrors e where e.ElementIndex = @ElementIndex if @IsRethrow = 0  begin if @erg > N' ' begin select @erg = concat(@erg, @RowDelimiter) end\r\n select @erg = concat (@Start  , @erg  , TRIM(str(e.ErrorNumber)) , NCHAR(9) , TRIM(str( case e.ErrorState  when 1 then 0 when 2 then 1 when 3 then 2 else\r\n 0  end )) , NCHAR(9)  , concat( 'detected in ' , ' (SRV=' , @@servername  , ', DB=' , left(DB_Name(), 64) , N') ' , 'procedure ' , e.ProcedureName, ' Line '\r\n, trim(str(ISNULL(e.ProcedureLine, 0))) ) , case when e.RepeatCounter > 0 then ' repeated ' + TRIM(str(e.RepeatCounter)) + ' times ' else '' end , case\r\n when e.SourceCode > ' ' and e.SourceCode not like '<no code>%' then ' code starting with : ' + left(e.SourceCode, 6000) else '' end  )  from @ExistingErrors\r\n e where e.ElementIndex = @ElementIndex end  select @ElementIndex += 1 end  endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGISessionErrorIsDeadlock",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.52",
      "ModifyDate": "2026-04-14T23:14:10.5",
      "Definition": "     create   function dbo.QBM_FGISessionErrorIsDeadlock (@ErrorBuffer QBM_YSessionError readOnly  ) returns int  as begin declare @erg bit = 0 \r\ndeclare @CursorString nvarchar(64) = N'cur' + N'sor' declare @BufferIntern QBM_YSessionError declare @LastElement int if not exists (select top 1 1 from\r\n @ErrorBuffer ) begin insert into @BufferIntern(ErrorMessage, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID\r\n, RepeatCounter, IsReThrow, SourceCode) select ErrorMessage, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID\r\n, RepeatCounter, IsReThrow, SourceCode from dbo.QBM_FTSessionErrorLoad() l  order by l.RecordNumber end else begin insert into @BufferIntern(ErrorMessage\r\n, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode) select ErrorMessage\r\n, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode from @ErrorBuffer\r\n end select @LastElement = MAX(b.ElementIndex) from @BufferIntern b where b.IsReThrow = 0 if exists (select top 1 1 from @BufferIntern b where b.ElementIndex\r\n = @LastElement and (b.ErrorNumber in (1205  , 16943  , 1222  , 2021  , 601  , 2791  ) or b.ErrorMessage like '%Transaction%was deadlocked%deadlock victim%'\r\n  or b.ErrorMessage like '%Lock request%exceeded%' or b.ErrorMessage like '%The referenced entity%was modified during DDL execution%' or b.ErrorMessage\r\n like '%Could not continue scan with NOLOCK due to data movement%' or b.ErrorMessage like '%Could not resolve expression for Schema-bound object or constraint%'\r\n or b.ErrorMessage like '%No success after all retries%' or b.ErrorMessage like '%See previous errors%' ) ) begin select @erg = 1 end endLabel: return(@erg\r\n) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGISessionErrorIsMissingCo",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.53",
      "ModifyDate": "2026-04-14T23:14:10.51",
      "Definition": "   create   function dbo.QBM_FGISessionErrorIsMissingCo  (@ErrorBuffer QBM_YSessionError readOnly  ) returns int  as begin declare @erg bit = 0 \r\ndeclare @BufferIntern QBM_YSessionError declare @LastElement int if not exists (select top 1 1 from @ErrorBuffer ) begin insert into @BufferIntern(ErrorMessage\r\n, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode) select ErrorMessage\r\n, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode from dbo.QBM_FTSessionErrorLoad\r\n() l  order by l.RecordNumber end else begin insert into @BufferIntern(ErrorMessage, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName, ProcedureLine\r\n, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode) select ErrorMessage, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName, ProcedureLine\r\n, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode from @ErrorBuffer end select @LastElement = MAX(b.ElementIndex) from @BufferIntern b where\r\n b.IsReThrow = 0 if exists (select top 1 1 from @BufferIntern b where b.ElementIndex = @LastElement and (b.ErrorNumber in (2812  , 4121  , 21343  ) or \r\nb.ErrorMessage like '%Could not find stored procedure%' or b.ErrorMessage like '%Cannot find either%or the user-defined function or aggregate%or the name is ambiguous%'\r\n ) ) begin select @erg = 1 end endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGISessionErrorRaw",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.43",
      "ModifyDate": "2026-04-14T23:14:10.427",
      "Definition": "create   function dbo.QBM_FGISessionErrorRaw() returns nvarchar(max) as begin declare @erg nvarchar(max) = '' declare @MessageKey varchar(30) declare\r\n @LastMessage varchar(1000) = '#' declare @Number int = 1 while @number < 1000 and @LastMessage > ' ' begin select @MessageKey = CONCAT('ErrorMessage',\r\n dbo.QBM_FCVStringPadLeft( dbo.QBM_FCVIntToString(@number), 3, '0') ) select @LastMessage = dbo.QBM_FGISessionContext(@MessageKey) if ISNULL(@LastMessage\r\n, '') = '' begin continue end select @erg = CONCAT(@erg, @lastMessage, NCHAR(13), nchar(10))  select @Number += 1 end return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGISessionErrorRethrow",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.537",
      "ModifyDate": "2026-04-14T23:14:10.51",
      "Definition": "   create   function dbo.QBM_FGISessionErrorRethrow() returns varchar(1000) with SCHEMABINDING as begin return( 'error(s) detected, select dbo.QBM_FGISessionErrorForLog() to see details'\r\n ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGISingleUserRunning",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.457",
      "ModifyDate": "2026-04-14T23:20:24.333",
      "Definition": "   create   function dbo.QBM_FGISingleUserRunning () returns int    as begin declare @erg int = 0 declare @me int select top 1 @erg = isnull(d.SingleUserProcess\r\n, 0) from dbo.DialogDatabase d with (nolock) where d.IsMainDatabase = 1 if @erg = 0 begin  return(@erg)  end  select @me = @@SPID if @me = @erg begin select\r\n @erg = -1  return(@erg)  end  select @erg = 1 endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGISQLCodeExistsInSchema",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.55",
      "ModifyDate": "2026-04-14T23:14:10.153",
      "Definition": "  create   function dbo.QBM_FGISQLCodeExistsInSchema(@CodeName varchar(30) , @code nvarchar(max) ) returns int  as begin declare @erg int = 0 if\r\n exists (select top 1 1 from sys.objects p join sys.sql_modules q on p.object_id = q.object_id where p.name = @CodeName and substring(q.definition, 7, \r\nLEN(q.definition)-6 ) = substring(@code, 7, LEN(@code) -6) collate SQL_Latin1_General_CP1_CS_AS  and LEFT(q.definition, 6) = LEFT(@code, 6) ) begin select\r\n @erg = 1  return(@erg)  end if exists (select top 1 1 from sys.objects p join sys.sql_modules q on p.object_id = q.object_id where p.name = @CodeName \r\nand q.definition > ' ' ) begin select @erg = -1  return(@erg)  end endLabel: return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIStageIsToUpdate",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:02.013",
      "ModifyDate": "2026-04-14T23:20:24.603",
      "Definition": "   create   function dbo.QBM_FGIStageIsToUpdate (@HotfixLine varchar(14) ) returns bit as begin declare @erg bit = 0 declare @TargetVersion varchar\r\n(64) = concat(@HotfixLine , '.9999') if not exists (select top 1 1 from sys.objects t with (readpast) where t.name = 'DialogDatabase' and t.type = 'U' \r\n) begin goto endLabel end if exists (select top 1 1 from QBMModuleDef d with (readpast) where isnull(d.MigrationVersion, '') < @TargetVersion  and d.MigrationVersion\r\n > ' ' ) begin select @erg = 1 end endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIString_Split_Ordinal",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-09-22T13:32:27.647",
      "ModifyDate": "2026-04-14T23:20:24.22",
      "Definition": "          create   function dbo.QBM_FGIString_Split_Ordinal(@in varchar(max) , @Separator varchar(1) , @Ordinal int  ) returns varchar(255) with\r\n schemabinding as begin declare @Erg varchar(255) = null declare @Tab table (Element varchar(256) collate database_default , Ordinal int identity ) insert\r\n into @Tab (Element) select left(v.value, 256) from string_split(@in, @Separator) v select top 1 @Erg = t.Element from @Tab t where t.Ordinal = @Ordinal\r\n return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGITableCountAll",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.56",
      "ModifyDate": "2026-04-14T23:14:10.52",
      "Definition": "    create   function dbo.QBM_FGITableCountAll( @TableName nvarchar(32) ) returns bigint  as begin declare @erg bigint = -1 select top 1 @erg = \r\ny.CountItems from ( select sum(x.rows) as CountItems , x.TableName from ( select t.name as TableName, avg(p.rows) as rows , p.partition_number from sys.tables\r\n t with (readpast) join sys.partitions p with (readpast) on t.object_id = p.object_id where t.name = @TableName group by t.name, p.partition_number ) as\r\n x group by x.TableName ) as y return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGITableName",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.59",
      "ModifyDate": "2026-04-14T23:20:24.48",
      "Definition": "   create   function dbo.QBM_FGITableName(@UID_DialogTable varchar(38) ) returns varchar(30) as begin  declare @erg varchar(30) = null select top\r\n 1 @erg = t.TableName from DialogTable t with (readpast) where t.UID_DialogTable = @UID_DialogTable if @erg is null begin select @erg = SUBSTRING(@UID_DialogTable\r\n, 7, 30) if not exists (select top 1 1 from sys.objects o where o.type in ('U', 'V') and o.name = @erg ) begin select @erg = '' end end ende: return(@erg\r\n) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGITableSizeMB",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.607",
      "ModifyDate": "2026-04-14T23:14:10.537",
      "Definition": "   create   function dbo.QBM_FGITableSizeMB(@TableName varchar(30) , @IncludeIndexes bit ) returns float  as begin declare @erg float = 0.0 declare\r\n @id int = null declare @PKIndexId int = null declare @Scanmode varchar(16) = 'SAMPLED'  select top 1 @id = o.object_id from sys.tables o where o.name \r\n= @TableName if @IncludeIndexes = 0 begin select top 1 @PKIndexId = i.index_id from sys.indexes i where i.object_id = @id and i.is_primary_key = 1 end \r\nif @id is not null  begin select @erg = (sum(i.page_count) * 8.192) / 1024.0 from sys.dm_db_index_physical_stats(db_id(DB_NAME()), @id, @PKIndexId, null\r\n, @Scanmode) i  group by i.object_id end endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGITimeIsValid",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.59",
      "ModifyDate": "2026-04-14T23:14:10.53",
      "Definition": "  create   function dbo.QBM_FGITimeIsValid(@Time nvarchar(5)) returns int with SCHEMABINDING as begin declare @isValid int select @isValid = 1 if\r\n @Time > ' ' begin  if @Time like N'[0-2][0-9]:[0-5][0-9]' begin  if convert(int, left(@Time, 2)) between 0 and 23 and convert(int, right(@Time, 2)) between\r\n 0 and 59 begin  select @isValid = 1  end else begin  select @isValid = -2 end end else begin   if @Time = 'LB:ST'  begin select @isValid = 2 end else \r\nbegin select @isValid = -1 end end end else begin  select @isValid = 0 end ende: return (@isValid) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGITimeZoneIdentifier",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.73",
      "ModifyDate": "2026-04-14T23:20:24.667",
      "Definition": "    create   function dbo.QBM_FGITimeZoneIdentifier(@UID_DialogTimeZone varchar(38) ) returns varchar(64)   as begin return( select case when z.UID_TimeZoneMS\r\n is null then z.Ident_DialogTimeZone else ms.Ident_DialogTimeZone end from dbo.DialogTimeZone z left outer join dbo.DialogTimeZone ms on z.UID_TimeZoneMS\r\n = ms.UID_DialogTimeZone where z.UID_DialogTimeZone = @UID_DialogTimeZone ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGITriggersDisabled",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.713",
      "ModifyDate": "2026-04-14T23:14:10.57",
      "Definition": "   create   function dbo.QBM_FGITriggersDisabled() returns bit  as begin declare @erg bit = 0 if exists (select top 1 1 from sys.objects o with \r\n(nolock)join sys.triggers t with (nolock) on o.object_id = t.parent_id where o.type in( 'U' ) and t.is_disabled = 1  ) begin select @erg = 1 end  endLabel:\r\n return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIUID_DialogColumn",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.77",
      "ModifyDate": "2026-04-14T23:14:10.59",
      "Definition": "    create   function dbo.QBM_FGIUID_DialogColumn( @TableName varchar(30) , @ColumnName varchar(30) , @dbOwner varchar(3) = null  ) returns varchar\r\n(38) as begin declare @erg varchar(38) declare @dbowner_intern varchar(3) = @dbOwner if isnull(@dbowner_intern, '') = '' begin select @dbowner_intern =\r\n dbo.QBM_FGIDBOwner() end select @erg = dbo.QBM_FCVStringToGUID(@dbowner_intern , concat(@ColumnName , @TableName, @dbowner_intern) ) endLabel: return(@erg\r\n) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIUserAccessLevel",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.747",
      "ModifyDate": "2026-04-14T23:14:10.583",
      "Definition": "  create   function dbo.QBM_FGIUserAccessLevel() returns int with SCHEMABINDING as begin declare @erg int select @erg = Max( AccessLevel ) from \r\n( select isnull(IS_SRVROLEMEMBER('sysadmin'), 0) * 9 as AccessLevel  union all select isnull(IS_MEMBER('db_owner'), 0) * 7 as AccessLevel  union all select\r\n isNull(IS_MEMBER('OneIMConfigRoleDB'), 0) * 5 as AccessLevel  union all select IsNull(IS_MEMBER('OneIMUserRoleDB'), 0) * 3 as AccessLevel  ) as AccessLevels\r\n ende: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIUTCDate",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:14:10.517",
      "ModifyDate": "2026-04-14T23:14:10.517",
      "Definition": "create function dbo.QBM_FGIUTCDate() returns datetime with schemabinding as begin return(getutcdate()) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIWithoutMemoryOptimized",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.617",
      "ModifyDate": "2026-04-14T23:14:33.47",
      "Definition": "  create   function dbo.QBM_FGIWithoutMemoryOptimized() returns bit as begin return( select case when exists (select top 1 1 from QBM_VServerEngineProperties\r\n v where v.MemoryOptimizedAvailable = 0 ) then 1 else 0 end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIXOriginChanged_AnyGT0",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.657",
      "ModifyDate": "2026-04-14T23:14:10.553",
      "Definition": "  create   function dbo.QBM_FGIXOriginChanged_AnyGT0 (@XOriginOld int , @XOriginNew int ) returns bit with SCHEMABINDING as begin return ( case \r\nwhen sign(@XOriginNew ^ @XOriginOld ) & sign(@XOriginNew) > 0 then 1 else 0 end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIXOriginChanged_Effect",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.66",
      "ModifyDate": "2026-04-14T23:14:10.553",
      "Definition": "     create   function dbo.QBM_FGIXOriginChanged_Effect (@XOriginOld int , @XOriginNew int , @XIsInEffectOld bit , @XIsInEffectNew bit ) returns\r\n bit with SCHEMABINDING as begin return ( (sign(@XOriginOld) & sign(convert(int, @XIsInEffectOld))) ^ (sign(@XOriginNew) & sign(convert(int, @XIsInEffectNew\r\n))) ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FGIXOriginChanged_Except2",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.667",
      "ModifyDate": "2026-04-14T23:14:10.557",
      "Definition": "  create   function dbo.QBM_FGIXOriginChanged_Except2(@XOriginOld int , @XOriginNew int ) returns bit with SCHEMABINDING as begin return (  case\r\n when ((@XOriginOld & 0xFFFFFFFD) ^ (@XOriginNew & 0xFFFFFFFD)) > 0 then 1 else 0 end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQBufferConfigSaveOrigin",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:30.053",
      "ModifyDate": "2026-04-14T23:20:26.797",
      "Definition": "    create   function dbo.QBM_FSQBufferConfigSaveOrigin (@TableName varchar(30)) returns nvarchar(max) as begin declare @erg nvarchar(max) = N''\r\n declare @Header nvarchar(max) = concat('\r\n-----------------------------------------------------------------------\r\n-- save to QBMBufferConfig\r\n-----------------------------------------------------------------------\r\n  if exists (select top 1 1\r\n\t\t\t\tfrom deleted d\r\n\t\t\t\twhere '\r\n , dbo.QBM_FSQFunctionCallModuleOwner (@TableName, 'd') ,' <> ''CCC''\r\n\t\t\t)\r\n\t\tand dbo.QBM_FGISessionContext (''HotfixMode'') = ''''\r\n\tbegin\r\n' ) declare\r\n @Footer nvarchar(max) = concat('\r\n    end -- exists ...  ' , dbo.QBM_FSQFunctionCallModuleOwner (@TableName, 'd') ,'\r\n-----------------------------------------------------------------------\r\n-- / save to QBMBufferConfig\r\n-----------------------------------------------------------------------\r\n'\r\n ) if exists (select top 1 1 from DialogDatabase db with (readpast) where isnull(db.ModuleOwner, '') <> 'CCC' and db.IsMainDatabase = 1 ) begin goto endLabel\r\n end select @erg = STRING_AGG( convert(nvarchar(max), '\r\nif update(' + x.ColumnName + ')\r\n begin\r\n\t-- something to insert\r\n\tif exists (select top 1 1\r\n\t\t\t\tfrom deleted d left outer join QBMBufferConfig cf on d.XObjectKey = cf.ObjectKeyOfRow\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand cf.TableName = '''\r\n + @TableName + '''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand cf.ColumnName = ''' + x.ColumnName + '''\r\n\t\t\t\twhere cf.ObjectKeyOfRow is null\r\n\t\t\t\t and ' + dbo.QBM_FSQFunctionCallModuleOwner\r\n (@TableName, 'd') +' <> ''CCC''\r\n\t\t\t)\r\n\t begin\r\n\t\tinsert into QBMBufferConfig(UID_QBMBufferConfig, TableName, ColumnName, ObjectKeyOfRow,\r\n\t\t\t\t\t\t\t\t\t XDateInserted, XDateUpdated, XUserInserted, XUserUpdated,\r\n\t\t\t\t\t\t\t\t\t ContentShort, HasContentFull, ContentFull\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\tselect newid(), '''\r\n + @TableName + ''', ''' + x.ColumnName + ''', d.XObjectKey,\r\n\t\t\t\t\t\tgetutcdate() , getutcdate(), @ActionUser, @ActionUser,\r\n' + dbo.QBM_FCVStringToIndent\r\n( dbo.QBM_FSQCVColumnToBuffer(@TableName , x.ColumnName, 'd'), 17) + '\r\n\t\t\tfrom deleted d join ' + @TableName + ' x on ' + dbo.QBM_FSQTableJoin(@TableName\r\n , 'd', 'x') + '\r\n\t\t\twhere ' + dbo.QBM_FSQIsNullClauseCmp(@TableName , x.ColumnName, 'd') + ' <> ' + dbo.QBM_FSQIsNullClauseCmp(@TableName , x.ColumnName\r\n, 'x') + '\r\n\t\t\tand ' + dbo.QBM_FSQFunctionCallModuleOwner (@TableName, 'd') +' <> ''CCC''\r\n\t\t\tand Not exists (select top 1 1 \r\n\t\t\t\t\t\t\t from QBMBufferConfig cf \r\n\t\t\t\t\t\t\t where cf.TableName = '''\r\n + @TableName + '''\r\n\t\t\t\t\t\t\t  and cf.ColumnName = ''' + x.ColumnName + ''' \r\n\t\t\t\t\t\t\t  and cf.ObjectKeyOfRow = d.XObjectKey\r\n\t\t\t\t\t\t\t )\r\n\t end --exists something to insert\r\n\r\n\t-- something to delete\r\n\tif exists (select top 1 1\r\n\t\t\t\tfrom deleted d join QBMBufferConfig cf on d.XObjectKey = cf.ObjectKeyOfRow\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand cf.TableName = '''\r\n + @TableName + '''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand cf.ColumnName = ''' + x.ColumnName + '''\r\n\t\t\t\twhere ' + dbo.QBM_FSQFunctionCallModuleOwner (@TableName, 'd') +\r\n' <> ''CCC''\r\n\t\t\t)\r\n\t begin\r\n\t \r\n\t \t\tdelete QBMBufferConfig\r\n\t\t\tfrom deleted d  join ' + @TableName + ' x on ' + dbo.QBM_FSQTableJoin(@TableName , 'd',\r\n 'x') + '\r\n\t\t\t\t\t\tjoin QBMBufferConfig cf on cf.TableName = ''' + @TableName + '''\r\n\t\t\t\t\t\t\t\t\t\t\t\tand cf.ColumnName = ''' + x.ColumnName + '''\r\n\t\t\t\t\t\t\t\t\t\t\t\tand cf.ObjectKeyOfRow = x.XObjectKey\r\n\t\t\twhere '\r\n + dbo.QBM_FSQIsNullClauseCmp(@TableName , x.ColumnName, 'd') + ' <> ' + dbo.QBM_FSQIsNullClauseCmp(@TableName , x.ColumnName, 'x') + '\r\n\t\t\t\tand ' + dbo.QBM_FSQFunctionCallModuleOwner\r\n (@TableName, 'd') +' <> ''CCC''\r\n\t\t\t\tand ' + dbo.QBM_FSQIsNullClauseCmp(@TableName , x.ColumnName, 'x') + ' = ' + dbo.QBM_FSQCVBufferToColumn (@TableName\r\n , x.ColumnName , 'cf' , 1 ) + '\r\n\r\n\t end --exists something to delete\r\n\r\n end -- if update(' + x.ColumnName + ')\r\n' )  , N'' )  within group(order by \r\nx.columnname) from ( select c.ColumnName from DialogColumn c with (readpast) join DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable\r\n where t.TableName = @TableName and t.TableType in ('B', 'T') and c.IsCustomConfigurable = 1   and c.UID_DialogColumn not in ( 'QBM-AED774C5BFDF49A1B553D8E25A8124AF'\r\n  , 'QBM-A947BB77A37B41FFA1E3E8706345EF98'  , 'QBM-1FCCC6E144B441CD9CA78A91EC520306'  , 'QBM-03D9D91469004B5FB5589C929EBF58DC'  , 'QBM-EC951E8CE23A4EC78BB15B131F499E01'\r\n  )    and dbo.QBM_FCVGUIDToModuleOwner(c.UID_DialogColumn) <> 'CCC'     union select cb.ColumnName from DialogColumn cv with (readpast) join DialogTable\r\n v with (readpast) on cv.UID_DialogTable = v.UID_DialogTable join DialogTable b with (readpast) on v.UID_DialogTableBase = b.UID_DialogTable join DialogColumn\r\n cb with (readpast) on b.UID_DialogTable = cb.UID_DialogTable and cv.UID_BaseColumn = cb.UID_DialogColumn where b.TableName = @TableName and b.TableType\r\n in ('B') and v.TableType in ('V') and cv.IsCustomConfigurable = 1 ) as x if @erg > ' ' begin select @erg = concat(@Header , dbo.QBM_FCVStringToIndent(\r\n @erg , 2) , @Footer ) end endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQCEFJoin",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-12-15T18:07:52.867",
      "ModifyDate": "2026-04-14T23:20:32.247",
      "Definition": "    create   function dbo.QBM_FSQCEFJoin(@Tablename varchar(30) , @ParameterDef varchar(64) , @Alias varchar(16) , @JoinAlias varchar(16)  ) returns\r\n nvarchar(max) as begin declare @JoinCondition nvarchar(max) = '' declare @Parenttable varchar(30) declare @ParentColumn varchar(30) declare @isForeignKey\r\n bit = 0 declare @ColumnName varchar(30) = null declare @SchemaDatatype varchar(64) = null select top 1 @ColumnName = c.ColumnName , @SchemaDatatype = \r\nc.SchemaDataType , @isForeignKey = c.IsForeignKey from DialogColumn c join DialogTable t on c.UID_DialogTable = t.UID_DialogTable where c.ColumnName = \r\nreplace(replace(replace(@ParameterDef , '$', '') , '[D]', '') , '[O]', '') and t.Tablename = @Tablename if @ParameterDef like '%[[]O]%' begin select @Alias\r\n = 'old' end if @isForeignKey = 1 begin select top 1 @Parenttable = isnull(rb.ParentTable, ra.ParentTable) , @ParentColumn = isnull(rb.ParentColumn, ra.ParentColumn\r\n) , @ColumnName = ISNULL(rb.childColumn, ra.ChildColumn) from QBM_VQBMRelation ra left outer join QBM_VQBMRelation rb on ra.UID_QBMRelationBase = rb.UID_QBMRelation\r\n where ra.ChildTable = @Tablename and ra.ChildColumn = @ColumnName select @JoinCondition = concat(' left outer join ' , @Parenttable , ' ' , @JoinAlias\r\n , ' on ' , @Alias , '.' , @ColumnName , ' = ' , @JoinAlias, '.' , @ParentColumn , char(13), char(10) ) end return (@JoinCondition) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQCEFParmSelect",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-12-15T18:07:52.84",
      "ModifyDate": "2026-04-14T23:20:32.237",
      "Definition": "   create   function dbo.QBM_FSQCEFParmSelect(@Tablename varchar(30) , @ParameterDef varchar(64) , @Alias varchar(16) , @JoinAlias varchar(16)  \r\n) returns nvarchar(max) as begin declare @Erg nvarchar(max) = '' declare @ColumnName varchar(30) = null declare @SchemaDatatype varchar(64) = null declare\r\n @isForeignKey bit = 0 declare @IsPKMember bit = 0 declare @Parenttable varchar(30) declare @ParentColumn varchar(30) select top 1 @ColumnName = c.ColumnName\r\n , @SchemaDatatype = c.SchemaDataType , @isForeignKey = c.IsForeignKey , @IsPKMember = c.IsPKMember from DialogColumn c join DialogTable t on c.UID_DialogTable\r\n = t.UID_DialogTable where c.ColumnName = replace(replace(replace(@ParameterDef , '$', '') , '[D]', '') , '[O]', '') and t.Tablename = @Tablename if @ParameterDef\r\n like '%[[]O]%' begin select @Alias = 'old' end if trim(@ParameterDef) like '$Script(%)$%' begin select @erg = concat('''', @ParameterDef, '''') goto EndLabel\r\n end select @Erg = case isnull(@SchemaDatatype, '') when 'int' then concat('dbo.QBM_FCVIntToString(' , @Alias , '.' , @columnname , ')' ) when 'bigint'\r\n then concat('dbo.QBM_FCVBigIntToString(' , @Alias , '.' , @columnname , ')') when 'datetime' then concat('dbo.QBM_FCVDateTimeToString(' , @Alias , '.'\r\n , @columnname , ')') when 'Float' then concat('dbo.QBM_FCVFloatToString(' , @Alias , '.' , @columnname , ')' ) when 'Bit' then concat('dbo.QBM_FCVBitToString('\r\n , @Alias , '.' , @columnname , ')' ) when 'varbinary' then concat('dbo.QBM_FCVBinaryToString(' , @Alias , '.' , @columnname , ', 0)' ) else case when \r\n@SchemaDatatype is null and isnull(@ParameterDef, '') > ' ' then '''<temporarily ParameterDefinition>''' when @SchemaDatatype is null then ' '''' ' else\r\n concat ( 'left (isnull( ', @Alias , '.' , @columnname , ', ''''), 1024)' ) end end if @isForeignKey = 1 begin select top 1 @Parenttable = isnull(rb.ParentTable\r\n, ra.ParentTable) , @ParentColumn = isnull(rb.ParentColumn, ra.ParentColumn) from QBM_VQBMRelation ra left outer join QBM_VQBMRelation rb on ra.UID_QBMRelationBase\r\n = rb.UID_QBMRelation where ra.ChildTable = @Tablename and ra.ChildColumn = @ColumnName select @Erg = dbo.QBM_FSQCEFTableDisplay(@ParentTable , @JoinAlias\r\n ) goto endLabel end if @IsPKMember = 1 begin select @erg = dbo.QBM_FSQCEFTableDisplay(@Tablename , @Alias ) end endLabel: return (@Erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQCEFTableDisplay",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-12-15T18:07:52.807",
      "ModifyDate": "2026-04-14T23:20:32.223",
      "Definition": "  create   function dbo.QBM_FSQCEFTableDisplay(@TableName nvarchar(64), @Alias nvarchar(16)  ) returns nvarchar(max) as begin declare @DisplayPattern\r\n nvarchar(max) = '' declare @UID_DialogTable varchar(38) declare @Work nvarchar(max) = '' declare @ColumnName nvarchar(64) declare @SchemaDatatype nvarchar\r\n(64) declare @ParentTable varchar(30) declare @ParentColumn varchar(30) declare @erg nvarchar(max) declare @ElementBuffer QBM_YCursorBuffer        declare\r\n @ElementCount int declare @ElementIndex int declare @RekLevel int = 0 declare @MaxRekLevel int = 3 select @RekLevel = dbo.QBM_FCVStringToInt(dbo.QBM_FCVStringToDigits\r\n(@Alias ) , 0) declare @subalias varchar(64) = 'p' + dbo.QBM_FCVIntToString( @RekLevel + 1) declare @Erst_OrderNumber int = 0 declare @Erst_OrderNumber_Old\r\n int = 0 declare @Zweit_OrderNumberReverse int = 0 declare @Zweit_OrderNumberReverse_old int = 0 declare @ZweitOrderNumber int = 0 declare @CountDisplayItems\r\n int declare @Literal nvarchar(400)  if @RekLevel > @MaxRekLevel begin goto Endlabel end select top 1 @DisplayPattern = t.DisplayPattern , @UID_DialogTable\r\n = t.UID_DialogTable from DialogTable t where t.TableName = @Tablename if isnull(@DisplayPattern, N'') = N'' begin  select top 1 @DisplayPattern = string_agg\r\n( concat( '%' , x.ColumnName ,'%' )  , ' - ' )  within group (order by x.columnname)   from ( select c.ColumnName from dialogtable t with (readpast) join\r\n DialogColumn c with (readpast) on t.UID_DialogTable = c.UID_DialogTable and t.TableName = @TableName and c.IsPKMember = 1  ) as x if isnull(@DisplayPattern\r\n, N'') = N'' begin goto Endlabel end end insert into @ElementBuffer(Int1, Int2, Ident1, Ident2, Ident3, LongIdent1, Int3  , LongIdent2 ) select erst.OrderNumber\r\n,   zweit.OrderNumberReverse, c.ColumnName, c.SchemaDataType, r.ParentTable , r.ParentColumn, zweit.OrderNumber , zweit.ParameterValue from ( select s1.OrderNumber\r\n, s1.ParameterValue from dbo.QBM_FCVStringToList(@displaypattern, '%', 1,0) s1 ) as erst outer apply dbo.QBM_FCVStringToList(erst.parameterValue, '?', \r\n1,0) as zweit left outer join DialogColumn c on c.UID_DialogTable = @uid_dialogTable and c.ColumnName = zweit.ParameterValue left outer join QBM_VQBMRelation\r\n r on r.ChildTable = @TableName and r.ChildColumn = c.ColumnName and c.SchemaDataLen = 38 order by erst.OrderNumber, zweit.OrderNumber select @ElementCount\r\n = @@ROWCOUNT select @ElementIndex = 1     select @erg = 'concat( '''', ''''  ' select top 1 @CountDisplayItems = max(bu.Int1)  from @ElementBuffer bu \r\nwhile @ElementIndex <= @ElementCount begin select @Erst_OrderNumber_Old = @Erst_OrderNumber select @Zweit_OrderNumberReverse_old = @Zweit_OrderNumberReverse\r\n select top 1 @Erst_OrderNumber = bu.Int1 , @Zweit_OrderNumberReverse = bu.int2 , @Columnname = bu.Ident1 , @SchemaDatatype = bu.Ident2 , @ParentTable \r\n= bu.Ident3  , @ParentColumn = bu.LongIdent1 , @ZweitOrderNumber = bu.Int3 , @Literal = bu.LongIdent2 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex\r\n if @ElementIndex > 1 and @Erst_OrderNumber <> @Erst_OrderNumber_Old begin  select @erg = concat(@erg , char(13), char(10) , N' , N'' '' ' ) end if @ParentTable\r\n > ' ' begin  if @RekLevel >= @MaxRekLevel begin select @erg = concat(@erg , char(13), char(10) , '  , ''''  ' ) select @Work = '' end else begin  select\r\n @Work = ' (select top 1 \r\n\t\t\t' + dbo.QBM_FSQCEFTableDisplay(@ParentTable, @subalias) + '\r\n\t\t\tfrom ' + @ParentTable + ' ' + @subalias + ' with (nolock)\r\n\t\t\twhere '\r\n + @subalias + '.' + @ParentColumn + '  = ' + @Alias + '.' + @Columnname + ' \r\n\t\t)\r\n\t' end  end else begin if @ColumnName is null begin select @work = \r\nconcat('''', replace(@Literal , '''', '''''' ), '''') end else begin select @work = dbo.QBM_FGI093F4EF597272C7DCA06D_1(@Erst_OrderNumber, @Zweit_OrderNumberReverse\r\n, @columnname , @Alias, @SchemaDatatype, @ParentTable, @CountDisplayItems) end     end if @Erst_OrderNumber <> @Erst_OrderNumber_Old and @Work > ' ' begin\r\n select @erg = concat(@erg , char(13), char(10) , ', ' , @work) end else begin    if @Zweit_OrderNumberReverse <> @Zweit_OrderNumberReverse_old  begin \r\nselect @erg = replace(@erg , concat('#', trim(str(@Erst_OrderNumber)) , trim(str(@Zweit_OrderNumberReverse)), '#') , dbo.QBM_FCVStringToIndent( @Work, \r\n@ZweitOrderNumber * 3 ) ) select @Work = '' end else begin  select @erg = replace(@erg , concat('#', trim(str(@Erst_OrderNumber)) , trim(str(@Zweit_OrderNumberReverse\r\n)), '#') , concat('/* irregular Display, no parent */ ''', trim(str(@Erst_OrderNumber)) , trim(str(@Zweit_OrderNumberReverse)), '''') ) select @Work = \r\n'' end end select @ElementIndex += 1 end  select @erg = N'left(' + @erg + N'), 255)' endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQColumAdd",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.27",
      "ModifyDate": "2026-04-14T23:14:10.31",
      "Definition": "   create   function dbo.QBM_FSQColumAdd (@ObjectName nvarchar(64)) returns nvarchar(max) as begin declare @TableName nvarchar(64) declare @ColumnName\r\n nvarchar(64) declare @Posi int declare @erg nvarchar(max) select @posi = charindex(N'.', @Objectname) select @TableName = substring(@ObjectName, 1, @posi-1\r\n) select @Columnname = substring(@ObjectName, @posi+1, 255)  declare @a nvarchar(max) = substring(dbo.QBM_FSQColumDef(@TableName, @ColumnName), len(@columnname\r\n) +2 , 256) select @erg = CONCAT( 'exec QBM_PColumnAdd ''' , @TableName , ''', ''', @ColumnName, ''', ''', @a , '''' )    return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQColumDef",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.26",
      "ModifyDate": "2026-04-14T23:14:10.31",
      "Definition": "     create   function dbo.QBM_FSQColumDef (@TableOrTypeName nvarchar(64) , @ColumnPattern nvarchar(64) ) returns nvarchar(max)  as begin declare\r\n @erg nvarchar(max) = '' declare @ElementBuffer  table (ElementIndex int identity , Int1 int default 0 , ContentShort nvarchar(400) collate database_default\r\n ) declare @ElementCount int declare @ElementIndex int insert into @ElementBuffer (ContentShort, Int1) select COLUMN_NAME + ' ' + x.DataType + case when\r\n x.DataType in ( 'varchar', 'nvarchar', 'char', 'nchar' ) then '(' + x.LenDefinition + ') collate database_default' when x.DataType in ('varbinary') then\r\n '(' + x.LenDefinition + ')' when x.DataType in ('text' , 'ntext') then '  collate database_default /* die wertart wird nicht mehr unterstützt */ '   else\r\n '' end + x.ConvertedDefault + x.NullProperty ,x.ORDINAL_POSITION from ( select c.name as COLUMN_NAME, ST.name as DataType , case when ST.name in ('nchar'\r\n, 'nvarchar') and c.max_length <> -1 then convert(varchar(16) , c.max_length / 2) when c.max_length = -1 then 'max' else convert(varchar(16), c.max_length\r\n) end as LenDefinition , case when c.is_identity = 1 and ST.name in ('int' , 'bigint', 'real' , 'float' ) then ' identity' when de.ColumnDefault is null\r\n and ST.name in ('bit' , 'int' , 'bigint', 'real' , 'float' ) then ' default 0' when de.ColumnDefault is null then '' when de.ColumnDefault in ('((0))'\r\n, 'create default DezimalNULL as 0') then ' default 0' else ' default ' + SUBSTRING(de.ColumnDefault, 2, LEN(de.ColumnDefault)-2) end as ConvertedDefault\r\n , case C.is_nullable when 0 then ' NOT' else '' end + ' NULL' as NullProperty , columnproperty(c.object_id, c.name, 'ordinal') as ORDINAL_POSITION from\r\n ( select t1.object_id from sys.objects t1 with (readpast) where t1.name = @TableOrTypeName and t1.type in ('U', 'V') union all select t2.type_table_object_id\r\n from sys.table_types t2 with (readpast) where t2.name = @TableOrTypeName ) as t join sys.columns c with (readpast) on c.object_id = t.object_id join sys.systypes\r\n as ST with (readpast) on ST.xusertype = c.system_type_id cross apply (select OBJECT_DEFINITION(c.default_object_id) as ColumnDefault) as de where c.name\r\n like @ColumnPattern ) as x  select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 if @ElementCount = 1 begin select top 1 @erg = bu.ContentShort \r\nfrom @ElementBuffer bu end else begin select top 1 @erg = char(9) + '  ' + string_agg(convert(nvarchar(max),bu.ContentShort )  , nchar(13)+nchar(10)+nchar\r\n(9)+N', ' )  within group (order by bu.int1) from @ElementBuffer bu end return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQColumnCollationClause",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:30.083",
      "ModifyDate": "2026-04-14T23:20:26.9",
      "Definition": "    create   function dbo.QBM_FSQColumnCollationClause(@TableName varchar(30) , @columnname varchar(30) ) returns nvarchar(64) as begin declare \r\n@SchemaDataType nvarchar(64)  declare @erg nvarchar(256) = N' Collate  SQL_Latin1_General_CP1_CS_AS'   select @SchemaDataType = dbo.QBM_FGIColumnDataType\r\n(@TableName , @columnname) if @SchemaDataType not like '%char%' begin select @erg = N'' goto ende end         if exists ( select top 1 1 from ( values \r\n('DialogMultiLanguage' , 'EntryValue') , ('DialogCountry', 'NationalCountryName') , ('DialogCountry', 'NationalCapitalName') , ('DialogState', 'NationalStateName'\r\n) , ('DialogState', 'NationalCapitalName') , ('QBMCulture', 'NativeName') , ('DialogCountryHoliday', 'NationalHolidayName') , ('DialogStateHoliday', 'NationalHolidayName'\r\n) ) as v (TableName, ColumnName) where v.TableName = @TableName and v.ColumnName = @columnname ) begin select @erg = N' Collate  latin1_general_bin'  end\r\n ende: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQColumnList",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.413",
      "ModifyDate": "2026-04-14T23:14:10.42",
      "Definition": "  create   function dbo.QBM_FSQColumnList(@TableName varchar(30) , @WithReplaceCall bit   , @SuppressAutomaticColumns bit ) returns nvarchar(max\r\n)  as begin return ( select string_agg(z.EineZeile , nchar(13) + nchar(10) + nchar(9) + N', ' )  within group (order by z.Zeile) from ( select string_agg\r\n(convert(nvarchar(max), y.ColumnName )  , N', ' )  within group(order by y.column_id) as EineZeile , y.Zeile from( select x.Zeile, x.column_id , case when\r\n @WithReplaceCall = 0 or x.DATA_TYPE not like '%char%' or isnull(x.SchemaDatalen, 0) < 38 then x.ColumnName else concat(case x.SchemaDatalen when 38 then\r\n 'dbo.QBM_FCVGuidToReplace38(' when 138 then 'dbo.QBM_FCVGuidToReplace138(' when 263 then 'dbo.QBM_FCVGuidToReplace138(' else 'dbo.QBM_FCVGuidToReplaceMax('\r\n end , x.ColumnName , ', ''' , ( select top 1 uid_database from DialogDatabase with (readpast) where IsMainDatabase = 1 ) , ''')' ) end as ColumnName from\r\n ( select row_number() over (order by c.column_id) / 10 as Zeile ,c.column_id , c.name as Columnname , cc.DATA_TYPE , case cc.CHARACTER_MAXIMUM_LENGTH \r\nwhen -1 then 2000000 else cc.CHARACTER_MAXIMUM_LENGTH end as SchemaDatalen from sys.tables t with (readpast) join sys.columns c with (readpast) on t.object_id\r\n = c.object_id join INFORMATION_SCHEMA.COLUMNS cc with (readpast) on cc.TABLE_NAME = t.name and cc.COLUMN_NAME = c.name where t.name = @TableName and (\r\n (@SuppressAutomaticColumns = 1 and cc.DATA_TYPE not in ('timestamp', 'rowversion' ) ) or @SuppressAutomaticColumns = 0 ) ) as x  ) as y group by y.Zeile\r\n ) as z ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQConnectionSettings",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:14:07.66",
      "ModifyDate": "2026-04-14T23:14:07.66",
      "Definition": "   create   function dbo.QBM_FSQConnectionSettings () returns nvarchar(max) with SCHEMABINDING as begin declare @erg nvarchar(max) select @erg =\r\n N'\r\nSET LANGUAGE us_english\r\nset arithabort on\r\nset quoted_identifier on\r\nSET IMPLICIT_TRANSACTIONS OFF\r\nSET TRANSACTION ISOLATION LEVEL READ COMMITTED\r\nSET CURSOR_CLOSE_ON_COMMIT OFF\r\n\r\nset datefirst 1\r\n\r\n'\r\n   ende: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQConstraintName",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.997",
      "ModifyDate": "2026-04-14T23:20:26.667",
      "Definition": "  create   function dbo.QBM_FSQConstraintName (@UID_QBMRelation varchar(38) ) returns nvarchar(64) with SCHEMABINDING as begin declare @erg nvarchar\r\n(64) select @erg = LEFT(@UID_QBMRelation, 3)  + '_RF' + SUBSTRING(@UID_QBMRelation, 5,33) select @erg = replace(@erg, N'/', N'') select @erg = replace(@erg\r\n, N'-', N'') select @erg = replace(@erg, N'#', N'') if not (upper(substring(@erg, 1,1)) >= N'A' and upper(substring(@erg, 1,1)) <= N'Z' ) begin select \r\n@erg = N'C' + @erg end ende: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQCVBufferToColumn",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:30.06",
      "ModifyDate": "2026-04-14T23:20:26.86",
      "Definition": "    create   function dbo.QBM_FSQCVBufferToColumn (@TableName varchar(30) , @columnname varchar(30) , @BufferTableName varchar(64) , @IsNullOption\r\n bit   ) returns nvarchar(max) as begin declare @erg nvarchar(max) declare @datatype nvarchar(64) declare @DataMaxLen int select @datatype = dbo.QBM_FGIColumnDataType\r\n(@TableName , @columnname) select @DataMaxLen = dbo.QBM_FGIColumnDataLen(@TableName , @columnname) if @datatype = 'int' begin select @erg = concat('dbo.QBM_FCVStringToInt('\r\n , @BufferTableName , '.ContentShort, 0)') goto ende end if @datatype = 'bigint' begin select @erg = concat('dbo.QBM_FCVStringToBigInt(' , @BufferTableName\r\n , '.ContentShort, 0)') goto ende end if @datatype = 'datetime' begin if @IsNullOption = 0 begin select @erg = concat('dbo.QBM_FCVStringToDatetime_BU('\r\n , @BufferTableName , '.ContentShort)') end else begin select @erg = concat(' isnull(' , 'dbo.QBM_FCVStringToDatetime_BU(' , @BufferTableName , '.ContentShort)'\r\n , ', ''1800-01-01'' )  ' ) end goto ende end if @datatype = 'Float' begin select @erg = concat('dbo.QBM_FCVStringToFloat(' , @BufferTableName , '.ContentShort, 0.0)'\r\n) goto ende end if @datatype = 'Bit' begin select @erg = concat('dbo.QBM_FCVStringToBit(' , @BufferTableName , '.ContentShort)') goto ende end if @datatype\r\n = 'varbinary' begin if @DataMaxLen <= 198  begin if @IsNullOption = 0 begin select @erg = concat('dbo.QBM_FCVStringToBinary(' , @BufferTableName , '.ContentShort)'\r\n) end else begin  select @erg = concat('isnull(dbo.QBM_FCVStringToBinary(' , @BufferTableName , '.ContentShort), 0x0)') end end else  begin if @IsNullOption\r\n = 0 begin select @erg = concat('\r\ncase \r\n when ' , @BufferTableName , '.HasContentFull = 1 then dbo.QBM_FCVStringToBinary(' , @BufferTableName , '.ContentFull)\r\n else dbo.QBM_FCVStringToBinary('\r\n , @BufferTableName , '.ContentShort)\r\nend' ) end else begin   select @erg = concat('\r\ncase \r\n when ' , @BufferTableName , '.HasContentFull = 1 then dbo.QBM_FCVStringToBinary('\r\n , @BufferTableName , '.ContentFull)\r\n else isnull(dbo.QBM_FCVStringToBinary(' , @BufferTableName , '.ContentShort), 0x0)\r\nend' ) end end goto ende end\r\n if @datatype in( 'char' , 'nchar', 'varchar', 'nvarchar') begin if @DataMaxLen <= 400 begin if @isNullOption = 0 begin select @erg = concat('' , @BufferTableName\r\n , '.ContentShort') end else begin if @datatype in( 'nvarchar' , 'nchar') begin select @erg = concat('isnull(' , @BufferTableName , '.ContentShort, N'''')'\r\n) end else begin select @erg = concat('isnull(' , @BufferTableName , '.ContentShort, '''')') end end end else  begin if @isNullOption = 0 begin select \r\n@erg = concat('\r\ncase \r\n when ' , @BufferTableName , '.HasContentFull = 1 then ' , @BufferTableName , '.ContentFull\r\n else ' , @BufferTableName , '.ContentShort\r\nend'\r\n ) end else begin if @datatype in( 'nvarchar' , 'nchar') begin select @erg = concat('\r\ncase \r\n when ' , @BufferTableName , '.HasContentFull = 1 then isnull('\r\n , @BufferTableName , '.ContentFull, N'''')\r\n else isnull(' , @BufferTableName , '.ContentShort, N'''')\r\nend' ) end else begin select @erg = concat('\r\ncase \r\n when '\r\n , @BufferTableName , '.HasContentFull = 1 then isnull(' , @BufferTableName , '.ContentFull, '''')\r\n else isnull(' , @BufferTableName , '.ContentShort, '''')\r\nend'\r\n ) end end end goto ende end  select @erg = ' message  this_must_be_an_invalid_datatype' ende: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQCVColumnToBuffer",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:30.07",
      "ModifyDate": "2026-04-14T23:20:26.873",
      "Definition": "    create   function dbo.QBM_FSQCVColumnToBuffer (@TableName varchar(30) , @columnname varchar(30) , @TableSynonym varchar(64) ) returns nvarchar\r\n(max) as begin declare @erg nvarchar(max) declare @datatype nvarchar(64) declare @DataMaxLen int select @datatype = dbo.QBM_FGIColumnDataType(@TableName\r\n , @columnname) select @DataMaxLen = dbo.QBM_FGIColumnDataLen(@TableName , @columnname) if @datatype = 'int' begin select @erg = concat('dbo.QBM_FCVIntToString('\r\n , @TableSynonym , '.' , @columnname , '), 0, null') goto ende end  if @datatype = 'bigint' begin select @erg = concat('dbo.QBM_FCVBigIntToString(' , @TableSynonym\r\n , '.' , @columnname , '), 0, null') goto ende end if @datatype = 'datetime' begin select @erg = concat('dbo.QBM_FCVDateTimeToString(' , @TableSynonym \r\n, '.' , @columnname , '), 0, null') goto ende end if @datatype = 'Float' begin select @erg = concat('dbo.QBM_FCVFloatToString(' , @TableSynonym , '.' ,\r\n @columnname , '), 0, null') goto ende end if @datatype = 'Bit' begin select @erg = concat('dbo.QBM_FCVBitToString(' , @TableSynonym , '.' , @columnname\r\n , '), 0, null') goto ende end  if @datatype = 'timestamp' begin select @erg = concat('dbo.QBM_FCVBinaryToString(' , @TableSynonym , '.' , @columnname \r\n, ', 0), 0, null') goto ende end   if @datatype = 'varbinary' begin if @DataMaxLen <= 300  begin select @erg = concat('dbo.QBM_FCVBinaryToString(' , @TableSynonym\r\n , '.' , @columnname , ', 1), 0, null') end else  begin select @erg = concat('\r\nleft(dbo.QBM_FCVBinaryToString(' , @TableSynonym , '.' , @columnname , \r\n', 1), 400)\r\n\t\t\t, \tcase \r\n\t\t\t\t\twhen DATALENGTH(' , @TableSynonym , '.' , @columnname , ') >  300 then 1\r\n\t\t\t\t\telse 0\r\n\t\t\t\tend\r\n\t\t\t\t\t, \tcase \r\n\t\t\t\t\t\t\twhen DATALENGTH('\r\n , @TableSynonym , '.' , @columnname , ') >  300 then dbo.QBM_FCVBinaryToString(' , @TableSynonym , '.' , @columnname , ', 1)\r\n\t\t\t\t\t\t\telse null\r\n\t\t\t\t\t\tend\r\n\t\t\t\t\t'\r\n ) end goto ende end if @datatype in( 'char' , 'nchar', 'varchar', 'nvarchar') begin if @DataMaxLen <= 400 begin select @erg = concat('' , @TableSynonym\r\n , '.' , @columnname , ', 0, null') end else  begin select @erg = concat('\r\ncase \r\n\twhen ' , @TableSynonym , '.' , @columnname , ' > '' '' then left(' \r\n, @TableSynonym , '.' , @columnname , ', 400)\r\n\telse null\r\n  end, \t\t\t\t\t\t\r\n\t\tcase \r\n\t\t\twhen len(' , @TableSynonym , '.' , @columnname , ') >  400 then 1\r\n\t\t\telse 0\r\n\t\tend\r\n\t\t\t, \tcase \r\n\t\t\t\t\twhen len('\r\n , @TableSynonym , '.' , @columnname , ') >  400 then ' , @TableSynonym , '.' , @columnname , '\r\n\t\t\t\t\telse null\r\n\t\t\t\tend\r\n\t\t\t' ) end goto ende end  select\r\n @erg = ' message  this_must_be_an_invalid_datatype' ende: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQFKCheckDynamic",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:30.04",
      "ModifyDate": "2026-04-14T23:20:26.713",
      "Definition": " create   function dbo.QBM_FSQFKCheckDynamic (@TableName varchar(30) , @Operation varchar(30) ) returns nvarchar(max) as begin declare @erg nvarchar\r\n(max) = '' declare @ergPart nvarchar(max) = '' declare @Childtable varchar(30) declare @ChildColumn varchar(30) declare @ParentTable varchar(30) declare\r\n @ChildHasXOrigin bit declare @ChildHasXIsInEffect bit declare @ParentHasXOrigin bit = dbo.QBM_FGIColumnExists(@TableName, 'XOrigin') declare @ChildColumnName\r\n varchar(50) declare @ParentList nvarchar(max) = '' declare @work table(parenttable varchar(30) collate database_default , childtable varchar(30) collate\r\n database_default , childColumn varchar(30) collate database_default , SortOrder int identity , ChildHasXOrigin bit default 0 , ChildHasXIsInEffect bit\r\n default 0 ) declare @AccessIndex int declare @CannotInsertString nvarchar(max) if @Operation = 'Insert' begin select @CannotInsertString = '#LDS#Cannot insert object in {2} because the associated object in {1} does not exist. Rule {0}. Invalid Value is {3}.|'\r\n end else begin select @CannotInsertString = '#LDS#Cannot update object in {2} because the associated object in {1} does not exist. Rule {0}. Invalid Value is {3}.|'\r\n end   delete  @work insert into @work(parenttable, childtable, childColumn, ChildHasXOrigin, ChildHasXIsInEffect) select @TableName as ParentTable, ct.TableName\r\n as ChildTable , c.ColumnName as ChildColumn , sign(LEN(ISNULL(co.UID_DialogColumn, ''))) , sign(LEN(ISNULL(ce.UID_DialogColumn, ''))) from QBM_VDialogValidDynamicRef_Exp\r\n dr join DialogColumn c with (readpast) on dr.UID_DialogColumn = c.UID_DialogColumn join DialogTable ct with (readpast) on c.UID_DialogTable = ct.UID_DialogTable\r\n join DialogTable t with (readpast) on dr.UID_DialogTableReference = t.UID_DialogTable left outer join DialogColumn co with (readpast) on co.UID_DialogTable\r\n = ct.UID_DialogTable and co.ColumnName = 'XOrigin' left outer join DialogColumn ce with (readpast) on ce.UID_DialogTable = ct.UID_DialogTable and ce.ColumnName\r\n = 'XIsInEffect' where t.TableName = @TableName and dr.parentExecuteBy = 'T' and dr.ParentRestriction = 'DC' and ( @Operation = 'delete' and @ParentHasXOrigin\r\n = 0 or @Operation = 'update' and @ParentHasXOrigin = 1 ) while 0 < (select COUNT(*) from @work) begin select top 1 @AccessIndex = w.SortOrder , @ParentTable\r\n = w.parenttable , @Childtable = w.childtable , @ChildColumn = w.childColumn , @ChildHasXOrigin = w.ChildHasXOrigin , @ChildHasXIsInEffect = w.ChildHasXIsInEffect\r\n , @ChildColumnName = case when isnull(w.childColumn, '') = '' then '' else concat('(', left(w.childColumn, 64), ')') end from @work w order by w.SortOrder\r\n desc select @erg = @erg + '\r\n-- Dynamic FK  for Parent ' + @ParentTable + ' to Child ' + @childTable + @ChildColumnName + ' ON PARENT DELETE CASCADE \r\n\t if exists( select top 1 1 \r\n\t\t\t\tfrom deleted d join '\r\n + @childTable + ' x on d.XObjectKey = x.' + @childColumn + '\r\n\t\t ' + case @ParentHasXOrigin when 1 then '\t\t\t\t\t\t\t\tjoin ' + @ParentTable + ' p on d.XObjectKey = p.XObjectKey and d.XOrigin > 0 and p.XOrigin = 0'\r\n else '' end + '\r\n\t\t\t  )\r\n\t  begin\t' if @ChildHasXOrigin = 1 begin select @erg = @erg + '\t  --  (modify XOrigin)\r\n\t\t\tupdate ' + @childTable + '\r\n\t\t\t set XOrigin = 0'\r\n if @ChildHasXIsInEffect = 1 begin select @erg = @erg + ', XIsInEffect = 0' end if dbo.QBM_FGIColumnExistsInSchema(@childTable, 'XDateUpdated') = 1 begin\r\n select @erg = @erg + ', XDateUpdated = @Xdate, XUserUpdated = @XUser' end end else begin select @erg = @erg + '\t  \r\n\t\t\tdelete ' + @childTable end select\r\n @erg = @erg + '\r\n\t\t from ' + @childTable + ' join deleted d on d.XObjectKey = ' + @childTable + '.' + @childColumn + '\r\n\t\t ' + case @ParentHasXOrigin \r\nwhen 1 then '\t\t\t\t\t\t\t\tjoin ' + @ParentTable + ' p on d.XObjectKey = p.XObjectKey and d.XOrigin > 0 and p.XOrigin = 0' else '' end + '\r\n\t  end\t\t\r\n\t' delete\r\n  @work  where SortOrder = @AccessIndex end  delete  @work insert into @work(parenttable, childtable, childColumn) select @TableName as ParentTable, ct.TableName\r\n as ChildTable , c.ColumnName as ChildColumn from QBM_VDialogValidDynamicRef_Exp dr join DialogColumn c with (readpast) on dr.UID_DialogColumn = c.UID_DialogColumn\r\n join DialogTable ct with (readpast) on c.UID_DialogTable = ct.UID_DialogTable join DialogTable t with (readpast) on dr.UID_DialogTableReference = t.UID_DialogTable\r\n where t.TableName = @TableName and dr.parentExecuteBy = 'T' and dr.ParentRestriction = 'DS' and ( @Operation = 'delete' and @ParentHasXOrigin = 0 or @Operation\r\n = 'update' and @ParentHasXOrigin = 1 ) while 0 < (select COUNT(*) from @work) begin select top 1 @AccessIndex = w.SortOrder , @ParentTable = w.parenttable\r\n , @Childtable = w.childtable , @ChildColumn = w.childColumn , @ChildColumnName = case when isnull(w.childColumn, '') = '' then '' else concat('(', left\r\n(w.childColumn, 64), ')') end from @work w order by w.SortOrder desc select @erg = @erg + '\r\n-- Dynamic FK  for Parent ' + @ParentTable + ' to Child ' \r\n+ @childTable + @ChildColumnName + ' ON PARENT DELETE SET NULL \r\n\t if exists( select top 1 1 \r\n\t\t\t\tfrom deleted d join ' + @childTable + ' x on d.XObjectKey = x.'\r\n + @childColumn + '\r\n\t\t ' + case @ParentHasXOrigin when 1 then '\t\t\t\t\t\t\t\tjoin ' + @ParentTable + ' p on d.XObjectKey = p.XObjectKey and d.XOrigin > 0 and p.XOrigin = 0'\r\n else '' end + '\r\n\t\t\t  )\r\n\t  begin\t\t  \r\n\t\tupdate ' + @childTable + '\r\n\t\t\tset ' + @childColumn + ' = null ' + case when dbo.QBM_FGIColumnExistsInSchema(@Childtable\r\n, 'XDateUpdated') = 1 and @ChildColumn not like 'X[d,u][a,s][t,e][e,r]updated' then ', XDateUpdated = @Xdate, XUserUpdated = @XUser' else '' end + '\r\n\t\t from '\r\n + @childTable + ' join deleted d on d.XObjectKey = ' + @childTable + '.' + @childColumn + '\r\n\t\t ' + case @ParentHasXOrigin when 1 then '\t\t\t\t\t\t\t\tjoin '\r\n + @ParentTable + ' p on d.XObjectKey = p.XObjectKey and d.XOrigin > 0 and p.XOrigin = 0' else '' end + '\r\n\t  end\t\t\r\n\t' delete  @work where SortOrder =\r\n @AccessIndex end   delete  @work insert into @work(parenttable, childtable, childColumn) select @TableName as ParentTable, ct.TableName as ChildTable \r\n, c.ColumnName as ChildColumn from QBM_VDialogValidDynamicRef_Exp dr join DialogColumn c with (readpast) on dr.UID_DialogColumn = c.UID_DialogColumn join\r\n DialogTable ct with (readpast) on c.UID_DialogTable = ct.UID_DialogTable join DialogTable t with (readpast) on dr.UID_DialogTableReference = t.UID_DialogTable\r\n where t.TableName = @TableName and dr.parentExecuteBy = 'T' and dr.ParentRestriction = 'DR' and ( @Operation = 'delete' and @ParentHasXOrigin = 0 or @Operation\r\n = 'update' and @ParentHasXOrigin = 1 ) while 0 < (select COUNT(*) from @work) begin select top 1 @AccessIndex = w.SortOrder , @ParentTable = w.parenttable\r\n , @Childtable = w.childtable , @ChildColumn = w.childColumn , @ChildColumnName = case when isnull(w.childColumn, '') = '' then '' else concat('(', left\r\n(w.childColumn, 64), ')') end from @work w order by w.SortOrder desc select @erg = @erg + '\r\n-- Dynamic FK for Parent ' + @ParentTable + ' to Child ' +\r\n @Childtable + @ChildColumnName + '  ON PARENT DELETE RESTRICT \r\n\tif exists (select top 1 1 \r\n\t\t\t\t\tfrom ' + @childTable + ' join deleted d on d.XObjectKey = '\r\n + @childTable + '.' + @childColumn + '\r\n\t\t ' + case @ParentHasXOrigin when 1 then '\t\t\t\t\t\t\t\tjoin ' + @ParentTable + ' p on d.XObjectKey = p.XObjectKey and d.XOrigin > 0 and p.XOrigin = 0'\r\n else '' end + '\r\n\t\t\t\t\t)\r\n\t begin\r\n\t\t\tRAISERROR( ''#LDS#Cannot delete {1}, because {2} does exist. Rule {0}|DynamicFK|' + @ParentTable + '|' + @childTable\r\n + @ChildColumnName + '|'' , 18, 2)  WITH NOWAIT\r\n\t end\r\n\t' delete  @work  where SortOrder = @AccessIndex end    declare @ColumnNames QBM_YSingleGUID  \r\ninsert into @ColumnNames(UID_SingleGuid ) select c.ColumnName as ChildColumn from QBM_VDialogValidDynamicRef_Exp dr join DialogColumn c with (readpast)\r\n on dr.UID_DialogColumn = c.UID_DialogColumn join DialogTable tc with (readpast) on c.UID_DialogTable = tc.UID_DialogTable join DialogTable tp with (readpast\r\n) on dr.UID_DialogTableReference = tp.UID_DialogTable where tc.TableName = @TableName and dr.childExecuteBy in ( 'T', 'D')   and @Operation in ('Insert'\r\n, 'update')  group by c.ColumnName having MAX(dr.childExecuteBy) = 'T' select @ChildColumn = '#' while @ChildColumn > ' ' begin select @ChildColumn = null\r\n select top 1 @ChildColumn = cn.UID_SingleGuid  from @ColumnNames cn if @ChildColumn is null begin continue end select @ergPart = '' delete  @work  insert\r\n into @work(parenttable, childtable, childColumn) select tp.TableName as ParentTable, @TableName as ChildTable, @ChildColumn from QBM_VDialogValidDynamicRef_Exp\r\n dr join DialogColumn c with (readpast) on dr.UID_DialogColumn = c.UID_DialogColumn join DialogTable tc with (readpast) on c.UID_DialogTable = tc.UID_DialogTable\r\n join DialogTable tp with (readpast) on dr.UID_DialogTableReference = tp.UID_DialogTable where tc.TableName = @TableName and dr.childExecuteBy in ( 'T'\r\n, 'D')   and @Operation in ('Insert', 'update') and c.ColumnName = @ChildColumn select @ParentList = '' while 0 < (select COUNT(*) from @work) begin select\r\n top 1 @AccessIndex = w.SortOrder , @ParentTable = w.parenttable , @Childtable = w.childtable , @ChildColumnName = case when isnull(w.childColumn, '') \r\n= '' then '' else concat('(', left(w.childColumn, 64), ')') end from @work w order by w.SortOrder desc select @ergPart = @ergPart + '\r\n\t\t\t\t\tand not exists (select top 1 1 \r\n\t\t\t\t\t\t\t\t\tfrom '\r\n + @ParentTable + ' x\r\n\t\t\t\t\t\t\t\t\t\twhere x.XObjectKey = i.' + @childColumn + '\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t' if @ParentList > ' ' begin select @ParentList = @ParentList\r\n + ' or ' end select @ParentList = @ParentList + @ParentTable delete  @work  where SortOrder = @AccessIndex end if @ergPart > ' ' begin select @erg =concat\r\n( @erg , '\r\n\t-- Dynamic FK for Child ' , @childTable , @ChildColumnName, ' ON INSERT RESTRICT \r\n\t --#if update(' , @childColumn , ')\r\n\t  --#begin\r\n\t\tselect @InvalidValue = null\r\n\t\tselect top 1 @InvalidValue = i.'\r\n , @childColumn , '\r\n\t\t\t\t\tfrom inserted i\r\n\t\t\t\t\twhere i.' , @childColumn , ' > '' ''\r\n\t\t' , @ergPart , '\r\n\r\n\t\tif @InvalidValue > '' ''\r\n\t\t begin\r\n\t\t\tselect @InvalidMessage = concat( '''\r\n, @CannotInsertString, '''\r\n\t\t\t\t\t\t\t\t\t\t\t, ''DynamicFK|'' \r\n\t\t\t\t\t\t\t\t\t\t\t, ''', @ParentList, ''' , ''|'' , ''', @childTable, @ChildColumnName , ''' , ''|'', @InvalidValue , ''|''\r\n\t\t\t\t\t\t\t\t\t\t\t) --concat\r\n\t\t\tRAISERROR (@InvalidMessage, 18, 2) with nowait\r\n\t\t  end\r\n\t  --#end\r\n\t\t'\r\n )  if @Operation = 'update' begin select @erg = replace(@erg, '--#', '') end else begin select @erg = replace(@erg, '--#', '--') end end delete  @ColumnNames\r\n  where UID_SingleGuid  = @ChildColumn end  if @erg > ' ' begin select @erg = '\r\n--------------------------------------------------------------------------\r\n-- Checking dynamic FKs\t\r\n--------------------------------------------------------------------------'\r\n + @erg + '\r\n--------------------------------------------------------------------------\r\n-- / Checking dynamic FKs\t\r\n--------------------------------------------------------------------------'\r\n end endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQFKCheckFix",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:30.02",
      "ModifyDate": "2026-04-14T23:20:26.693",
      "Definition": "  create   function dbo.QBM_FSQFKCheckFix (@UID_QBMRelation varchar(38), @FragmentType nvarchar(3) , @Operation varchar(16)  ) returns nvarchar(max\r\n) as begin declare @muster nvarchar(max) declare @erg nvarchar(max) = N'' declare @ParentColumn nvarchar(64) declare @ChildColumn nvarchar(64) declare \r\n@ChildTable nvarchar(64) declare @ConstraintName nvarchar(64) declare @ParentTable nvarchar(64) declare @ChildColumnName nvarchar(64) declare @CannotInsertString\r\n nvarchar(max) if @Operation = 'Insert' begin select @CannotInsertString = '#LDS#Cannot insert object in {2} because the associated object in {1} does not exist. Rule {0}. Invalid Value is {3}.|'\r\n end else begin select @CannotInsertString = '#LDS#Cannot update object in {2} because the associated object in {1} does not exist. Rule {0}. Invalid Value is {3}.|'\r\n end select top 1 @ChildTable = r.ChildTable , @ParentTable = r.ParentTable , @ParentColumn = r.ParentColumn , @ChildColumn = r.ChildColumn , @ChildColumnName\r\n = case when isnull(c.ColumnName, '') = '' then '' else concat('(', left(c.ColumnName, 64), ')') end from QBM_VQBMRelation r left outer join DialogColumn\r\n c on r.UID_ChildColumn = c.UID_DialogColumn where r.UID_QBMRelation = @UID_QBMRelation select @ConstraintName = dbo.QBM_FSQConstraintName (@UID_QBMRelation\r\n)  declare @ColumnUpdatedThis nvarchar(max) = N''  declare @joinInsertedChild nvarchar(max) = N''  declare @joinInsertedParent nvarchar(max)= N''  declare\r\n @joinDeletedChild nvarchar(max)= N''  declare @SetInsertedFKNull nvarchar(max)= N''  declare @setChildFKNull nvarchar(max)= N''  declare @InsertedIsNotNull\r\n nvarchar(max)= N'' declare @StringPatternPwo varchar(16) declare @StringPatternPwoInv varchar(16) select @StringPatternPwo = dbo.QBM_FCVBinaryToString\r\n( CONVERT(varbinary, dbo.QBM_FGIBitPatternXOrigin('|Pwo|',0)), 0) select @StringPatternPwoInv = dbo.QBM_FCVBinaryToString( CONVERT(varbinary, dbo.QBM_FGIBitPatternXOrigin\r\n('|Pwo|',1)), 0) select @ColumnUpdatedThis = N'update(' + @ChildColumn + ')' select @joinInsertedChild = N'inserted.' + @childColumn + N' = ' + @ChildTable\r\n + N'.' + @ChildColumn select @joinInsertedParent = N'inserted.' + @ChildColumn + N' = ' + @ParentTable + N'.' + @ParentColumn select @joinDeletedChild\r\n = N'deleted.' + @parentColumn + N' = ' + @ChildTable + N'.' + @ChildColumn select @SetInsertedFKNull = @ChildTable + N'.' + @ChildColumn + N' = null '\r\n select @setChildFKNull = @ChildTable + N'.' + @ChildColumn + N' = null ' select @InsertedIsNotNull = N'inserted.' + @ChildColumn + N' > '' '' '  select\r\n @muster = case @Fragmenttype  when 'DS' then '\r\n\t\t if %ColumnUpdatedThis%\r\n\t\t\t begin\r\n\t\t\t\tinsert into @SimulationModeBuffer (operation, BaseObjectType, ColumnName, Objectkey, OldValue) \r\n\t\t\t\t\t\t\t\tselect ''U'', ''%ChildTable%'', ''%ChildColumn%'', deleted.XObjectKey , isnull(convert( nvarchar(255), deleted.%ChildColumn% ), N'''')\r\n\t\t\t\t\t\t\t\tfrom deleted\r\n\t\t\t\t\t\t\t\twhere deleted.%ChildColumn% is not null\r\n\t\t\t\t\t\t\t\t\tand exists (select top 1 1 from inserted \r\n\t\t\t\t\t\t\t\t\t\t\t\t\twhere %ChildColumn% is null\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t end\r\n'\r\n  when 'CDC' then 'alter table %ChildTable% with nocheck add constraint %ConstraintName% foreign Key (%ChildColumn%) references %ParentTable% (%ParentColumn%) on delete cascade not for Replication'\r\n when 'CDR'  then 'alter table %ChildTable% with nocheck add constraint %ConstraintName% foreign Key (%ChildColumn%) references %ParentTable% (%ParentColumn%) on delete no action not for Replication'\r\n when 'CDS' then 'alter table %ChildTable% with nocheck add constraint %ConstraintName% foreign Key (%ChildColumn%) references %ParentTable% (%ParentColumn%) on delete set null not for Replication'\r\n  when 'TIR' then concat('\r\n\t-- Relation %ConstraintName% Parent %ParentTable% to Child %Childtable%%ChildColumnName% ON CHILD INSERT RESTRICT \r\n\t if %ColumnUpdatedThis%\r\n\t  begin\r\n\t\tselect @InvalidValue = null\r\n\t\tselect top 1 @InvalidValue = inserted.%ChildColumn%\r\n\t\t\t\t\tfrom inserted left outer join %ParentTable% t on inserted.'\r\n,'%ChildColumn%',' = t.', '%ParentColumn%' , '\r\n\t\t\t\t\twhere %InsertedIsNotNull%\r\n\t\t\t\t\tand t.', '%ParentColumn%' , ' is null\r\n\r\n\t\tif @InvalidValue > '' ''\r\n\t\t begin\r\n\t\t\tselect @InvalidMessage = concat( '''\r\n, @CannotInsertString, '''\r\n\t\t\t\t\t\t\t\t\t\t\t, ''%ConstraintName%|'' \r\n\t\t\t\t\t\t\t\t\t\t\t, ''%ParentTable%'' , ''|'' , ''%childTable%%ChildColumnName%'' , ''|'', @InvalidValue , ''|''\r\n\t\t\t\t\t\t\t\t\t\t\t) --concat\r\n\t\t\tRAISERROR (@InvalidMessage, 18, 2) with nowait\r\n\t\t  end\r\n\t  end\r\n'\r\n )  when 'TII'  then concat('\r\n\t-- Relation %ConstraintName% Parent %ParentTable% to Child %Childtable%%ChildColumnName% ON CHILD INSERT RESTRICT \r\n\tselect @InvalidValue = null\r\n\tselect top 1 @InvalidValue = inserted.%ChildColumn%\r\n\t\t\t\tfrom inserted left outer join %ParentTable% t on inserted.'\r\n,'%ChildColumn%',' = t.', '%ParentColumn%' , '\r\n\t\t\t\twhere %InsertedIsNotNull%\r\n\t\t\t\tand t.', '%ParentColumn%' , ' is null\r\n\r\n\tif @InvalidValue > '' ''\r\n\t begin\r\n\t\tselect @InvalidMessage = concat( '''\r\n, @CannotInsertString, '''\r\n\t\t\t\t\t\t\t\t\t\t, ''%ConstraintName%|'' \r\n\t\t\t\t\t\t\t\t\t\t, ''%ParentTable%'' , ''|'' , ''%childTable%%ChildColumnName%'' , ''|'', @InvalidValue , ''|''\r\n\t\t\t\t\t\t\t\t\t\t) --concat\r\n\t\tRAISERROR (@InvalidMessage, 18, 2) with nowait\r\n\t end\r\n'\r\n )  when 'TIS' then '\r\n-- Relation %ConstraintName% Parent %ParentTable% to Child %Childtable% ON CHILD INSERT SET NULL \r\n if %ColumnUpdatedThis%\r\n  begin\r\n\tif exists (select top 1 1 \r\n\t\t\t\tfrom %ChildTable%,inserted\r\n\t\t\t\twhere\r\n\t\t\t\t\t%joinInsertedChild%\r\n\t\t\t\t\tand not exists (select top 1 1 from %ParentTable% where\r\n\t\t\t\t\t\t\t%JoinInsertedParent%\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\tand inserted.%ChildColumn% > '' ''\r\n\t\t\t  )\r\n\t  begin\t\t\t  \r\n\t\tupdate %Childtable% set\r\n\t\t\t%SetInsertedFKNull%\r\n\t\t\t%ChildXFelder%\r\n\t\tfrom %ChildTable%,inserted\r\n\t\twhere\r\n\t\t\t%joinInsertedChild%\r\n\t\t\tand not exists (select top 1 1 from %ParentTable% where\r\n\t\t\t\t\t%joinInsertedParent%\r\n\t\t\t\t\t\t)\r\n\t\tand inserted.%ChildColumn% > '' ''  \r\n\t  end\r\n  end\r\n'\r\n when 'TDC' then '\r\n-- Relation %ConstraintName% Parent %ParentTable% to Child %ChildTable% ON PARENT DELETE CASCADE \r\n\t if exists (select top 1 1 \r\n\t\t\t\tfrom %ChildTable%,deleted\r\n\t\t\t\twhere\r\n\t\t\t\t\t%JoinDeletedChild%\r\n\t\t\t  )\r\n\t  begin\t\t  \r\n\t\tdelete %ChildTable%\r\n\t\t from %ChildTable%,deleted\r\n\t\t where\r\n\t\t\t%JoinDeletedChild%\r\n\t  end\t\t\r\n'\r\n  when 'TDO' then '\r\n-- Relation %ConstraintName% Parent %ParentTable% to Child %ChildTable% ON PARENT DELETE CASCADE (modify XOrigin)\r\n\t if exists (select top 1 1 \r\n\t\t\t\tfrom %ChildTable%,deleted\r\n\t\t\t\twhere\r\n\t\t\t\t\t%JoinDeletedChild%\r\n\t\t\t  )\r\n\t  begin\t\t  \r\n\r\n%ModQER%\t\tinsert into @DBQueueElements(Object, SubObject, GenProcID)\r\n%ModQER%\t\tselect pwo.UID_PersonWantsOrg, null, @GenProcID\r\n%ModQER%\t\tfrom PersonWantsOrg pwo join %ChildTable% on %ChildTable%.XObjectKey = pwo.ObjectKeyAssignment\r\n%ModQER%\t\t\t\t\t\t\tjoin deleted on %JoinDeletedChild%\r\n%ModQER%\t\twhere %ChildTable%.XOrigin & '\r\n + @StringPatternPwo + ' = ' + @StringPatternPwo + '\r\n%ModQER%\r\n%ModQER%\t\texec QBM_PDBQueueInsert_Bulk ''QER-K-ITSHOPOrder-ABORT'', @DBQueueElements\r\n%ModQER%\r\n\t\tupdate  %ChildTable% \r\n\t\t\t'\r\n   + ' Set XOrigin = 0\r\n\t\t\t%ChildXFelder%\r\n\t\t from %ChildTable%,deleted\r\n\t\t where\r\n\t\t\t%JoinDeletedChild%\r\n\t  end\t\t\r\n'  when 'TDE' then '\r\n-- Relation %ConstraintName% Parent %ParentTable% to Child %ChildTable% ON PARENT DELETE CASCADE (modify XOrigin and XIsInEffect)\r\n\t if exists (select top 1 1 \r\n\t\t\t\tfrom %ChildTable%,deleted\r\n\t\t\t\twhere\r\n\t\t\t\t\t%JoinDeletedChild%\r\n\t\t\t  )\r\n\t  begin\t\t  \r\n%ModQER%\t\tinsert into @DBQueueElements(Object, SubObject, GenProcID)\r\n%ModQER%\t\tselect pwo.UID_PersonWantsOrg, null, @GenProcID\r\n%ModQER%\t\tfrom PersonWantsOrg pwo join %ChildTable% on %ChildTable%.XObjectKey = pwo.ObjectKeyAssignment\r\n%ModQER%\t\t\t\t\t\t\tjoin deleted on %JoinDeletedChild%\r\n%ModQER%\t\twhere %ChildTable%.XOrigin & '\r\n + @StringPatternPwo + ' = ' + @StringPatternPwo + '\r\n%ModQER%\r\n%ModQER%\t\texec QBM_PDBQueueInsert_Bulk ''QER-K-ITSHOPOrder-ABORT'', @DBQueueElements\r\n%ModQER%\r\n\t\tupdate  %ChildTable%\r\n\t\t\t'\r\n   + ' Set XOrigin = 0\r\n\t\t\t\t, XIsInEffect = 0\r\n\t\t\t\t%ChildXFelder%\r\n\t\t from %ChildTable%,deleted\r\n\t\t where\r\n\t\t\t%JoinDeletedChild%\r\n\t  end\t\t\r\n'  when 'TDX'\r\n then '\r\n-- Relation %ConstraintName% Parent %ParentTable% to Child %ChildTable% ON PARENT DELETE CASCADE \r\n-- executed later via Jobqueue\r\n\t\tdelete /* 34049 */ @ElementsLater\r\n\t\tinsert into @ElementsLater(Parameter1)\r\n\t\tselect %parentcolumn%\r\n\t\t\tfrom deleted\r\n\r\n\t  DECLARE schritt_deleteLater CURSOR LOCAL FORWARD_ONLY FAST_FORWARD READ_ONLY FOR \r\n\t\tselect ''%childcolumn% in '' + e.CollectedLine\r\n\t\t\tfrom dbo.QBM_FTParameter1AsInClause(@ElementsLater) e\r\n\t  OPEN schritt_deleteLater\r\n\t  FETCH NEXT FROM schritt_deleteLater into @WorkWhere\r\n\t  WHILE (@@fetch_status <> -1)\r\n\t  BEGIN\r\n\r\n\t\t\texec QBM_PJobCreate_HODelete_B ''%childtable%'', @WorkWhere , @GenProcID\r\n\t\t\t\t\t\t\t\t\t, @AdditionalObjectKeysAffected = DEFAULT\r\n\r\n\t\t FETCH NEXT FROM schritt_deleteLater INTO  @WorkWhere\r\n\t  END\r\n\t  close schritt_deleteLater\r\n\t  deallocate schritt_deleteLater\r\n'\r\n  when 'TDR' then '\r\n-- Relation %ConstraintName% Parent %ParentTable% to Child %ChildTable% ON PARENT DELETE RESTRICT \r\n\tif exists (\r\n\t\tselect top 1 1 from deleted,%Childtable%\r\n\t\twhere\r\n\t\t\t%JoinDeletedChild%\r\n\t\t)\r\n\t begin\r\n\t\t\tRAISERROR(''#LDS#Cannot delete {1}, because {2} does exist. Rule {0}.|%ConstraintName%|%ParentTable%|%Childtable%%ChildColumnName%|'' , 18, 2)  WITH NOWAIT\r\n\t end\r\n'\r\n  when 'TDS' then '\r\n-- Relation %ConstraintName% Parent %ParentTable% to Child %ChildTable% ON PARENT DELETE SET NULL \r\n\t if exists (select top 1 1 \r\n\t\t\t\tfrom %ChildTable%,deleted\r\n\t\t\t\twhere\r\n\t\t\t\t%JoinDeletedChild%\r\n\t\t\t  )\r\n\t  begin\t\t  \r\n\t\tupdate %ChildTable%\r\n\t\t set\r\n\t\t %SetChildFKNull%\r\n\t\t %ChildXFelder%\r\n\t\t\tfrom %ChildTable%,deleted\r\n\t\t\twhere\r\n\t\t\t%JoinDeletedChild%\r\n\t  end\t\t\r\n'\r\n else '' end  select @erg = @muster select @erg = replace(@erg, '%ChildTable%', @ChildTable) select @erg = replace(@erg, '%ChildColumnName%', @ChildColumnName\r\n) select @erg = replace(@erg, '%ConstraintName%', @ConstraintName) select @erg = replace(@erg, '%ParentTable%', @ParentTable) select @erg = replace(@erg\r\n, '%ChildColumn%', @ChildColumn) select @erg = replace(@erg, '%ParentColumn%', @ParentColumn) select @erg = replace(@erg, '%ColumnUpdatedThis%', @ColumnUpdatedThis\r\n) select @erg = replace(@erg, '%joinInsertedChild%', @joinInsertedChild) select @erg = replace(@erg, '%joinInsertedParent%', @joinInsertedParent) select\r\n @erg = replace(@erg, '%joinDeletedChild%', @joinDeletedChild) select @erg = replace(@erg, '%SetInsertedFKNull%', @SetInsertedFKNull) select @erg = replace\r\n(@erg, '%setChildFKNull%', @setChildFKNull) select @erg = replace(@erg, '%InsertedIsNotNull%', @InsertedIsNotNull) select @erg = replace(@erg, '%ChildXFelder%'\r\n, case when dbo.QBM_FGIColumnExistsInSchema(@ChildTable, 'XDateUpdated') = 1 then ', XDateUpdated = @Xdate\t, XUserUpdated = @XUser ' else '' end )  ende:\r\n return(@erg) end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQFunctionCallModuleOwner",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:30.113",
      "ModifyDate": "2026-04-14T23:20:27.01",
      "Definition": "   create   function dbo.QBM_FSQFunctionCallModuleOwner(@TableName varchar(30) , @TableSynonym varchar(30) ) returns nvarchar(256) as begin declare\r\n @erg nvarchar(256) declare @PkName1 varchar(30) = null select top 1 @PkName1 = t.PKName1 from DialogTable t with (readpast) where isnull(t.PKName2 , ''\r\n) = '' and t.TableName = @TableName and not exists (Select top 1 1 from QBM_VStartupTables s where s.TableName = @TableName ) if @PkName1 is null begin\r\n select @erg = concat('dbo.QBM_FCVObjectKeyToModuleOwner(' , @TableSynonym , '.XObjectKey)') end else begin select @erg = concat('dbo.QBM_FCVGUIDToModuleOwner('\r\n , @TableSynonym , '.' , @PkName1 , ' )') end return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQIndexColumns",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.27",
      "ModifyDate": "2026-04-14T23:14:10.313",
      "Definition": "  create   function dbo.QBM_FSQIndexColumns (@TableOrTypeName varchar(30) , @IndexName varchar(30) , @IncludedColumns bit ) returns nvarchar(max\r\n)  as begin return( select isnull(String_agg( convert(nvarchar(max), concat(x.name , case x.is_descending_key when 1 then ' desc' else '' end ) )  , ','\r\n )  WITHIN GROUP ( ORDER BY x.key_Ordinal, x.index_column_id) , N'') from ( select c.name, ik.key_Ordinal, ik.index_column_id, ik.is_descending_key from\r\n (select t1.object_id from sys.objects t1 with (readpast) where t1.name = @TableOrTypeName union all select t2.type_table_object_id from sys.table_types\r\n t2 with (readpast) where t2.name = @TableOrTypeName ) as t join sys.indexes i with (readpast) on t.Object_id = i.Object_id and i.name = @Indexname  and\r\n i.is_hypothetical = 0  and i.type not in (3,4,5,6) join sys.index_columns ik with (readpast) on i.Object_id = ik.Object_id and i.index_id = ik.index_id\r\n and ik.is_included_column = @IncludedColumns join sys.columns c with (readpast) on c.Object_id = t.Object_id and c.Column_id = ik.Column_id where i.is_primary_key\r\n = 0 ) as x ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQIndexDef",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.277",
      "ModifyDate": "2026-04-14T23:14:10.323",
      "Definition": "create   function dbo.QBM_FSQIndexDef (@TableOrTypeName nvarchar(64), @IndexPattern nvarchar(64) ) returns nvarchar(max) as begin return( select\r\n dbo.QBM_FSQIndexDef_i(@TableOrTypeName , @IndexPattern , 0) ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQIndexDef_i",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.277",
      "ModifyDate": "2026-04-14T23:14:10.32",
      "Definition": "     create   function dbo.QBM_FSQIndexDef_i (@TableOrTypeName nvarchar(64), @IndexPattern nvarchar(64) , @IncludeGenerated bit = 0 ) returns nvarchar\r\n(max) as begin declare @erg nvarchar(max) = '' declare @ElementBuffer  table (ElementIndex int identity , ContentFull nvarchar(max) collate database_default\r\n ) declare @TableType varchar(16) = 'TAB' if exists (select top 1 1 from sys.tables t with (readpast) where t.name = @TableOrTypeName and t.is_memory_optimized\r\n = 1 ) begin select @TableType = 'MEMTAB' end if exists (select top 1 1 from sys.table_types t with (readpast) where t.name = @TableOrTypeName ) begin \r\nselect @TableType = 'TYPE' end  if @TableType in ('MEMTAB', 'TYPE') begin insert into @ElementBuffer(ContentFull) select '\t, index ' + i.name + case when\r\n h.bucket_count is null then '' else ' hash' end + ' (' + dbo.QBM_FSQIndexColumns(@TableOrTypeName, i.name, 0) + ')' + case when h.bucket_count is null\r\n then '' else ' with (BUCKET_COUNT = '+ ltrim(STR(h.bucket_count)) +')' end from ( select t1.object_id from sys.tables t1 with (readpast) where t1.name\r\n = @TableOrTypeName union all select t2.type_table_object_id from sys.table_types t2 with (readpast) where t2.name = @TableOrTypeName ) as t join sys.indexes\r\n i with (readpast) on t.object_id = i.object_id and i.is_primary_key = 0  and i.is_hypothetical = 0  and i.type not in (3,4,5,6) left outer join sys.hash_indexes\r\n h with (readpast) on h.index_id = i.index_id and h.object_id = i.object_id where i.type_desc <> 'HEAP' and i.name like @IndexPattern order by i.name end\r\n   if @TableType = 'TAB' begin insert into @ElementBuffer(ContentFull) select 'exec QBM_PIndexCreate ''' + @TableOrTypeName + ''', ''' + i.name + ''', '\r\n + convert(varchar(16), i.is_unique) + ', ''' + dbo.QBM_FSQIndexColumns(@TableOrTypeName, i.name, 0) + ''' ' + case when dbo.QBM_FSQIndexColumns(@TableOrTypeName\r\n, i.name, 1) > ' ' then ', ''' + dbo.QBM_FSQIndexColumns(@TableOrTypeName, i.name, 1) + ''' ' else '' end from sys.tables t with (readpast) join sys.indexes\r\n i with (readpast) on t.object_id = i.object_id and t.name = @TableOrTypeName and i.name like @IndexPattern where i.is_primary_key = 0  and i.is_hypothetical\r\n = 0 and (i.name not like 'GEN[_]%' or @IncludeGenerated = 1 )  and i.type not in (3,4,5,6) end  select @erg = string_agg(bu.ContentFull , nCHAR(13) + \r\nnCHAR(10) )  within group(order by bu.ElementIndex) from @ElementBuffer bu return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQIndexDefCond",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.283",
      "ModifyDate": "2026-04-14T23:14:10.327",
      "Definition": "  create   function dbo.QBM_FSQIndexDefCond (@ObjectName nvarchar(64)) returns nvarchar(max) as begin  declare @TableName nvarchar(64) declare @IndexName\r\n nvarchar(64) declare @Posi int declare @erg nvarchar(max) select @posi = charindex(N'.', @Objectname) select @TableName = substring(@ObjectName, 1, @posi-1\r\n) select @Indexname = substring(@ObjectName, @posi+1, 255) select @erg = dbo.QBM_FSQIndexDef(@TableName , @Indexname) return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQIsNullClauseCmp",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.39",
      "ModifyDate": "2026-04-14T23:14:10.41",
      "Definition": "  create   function dbo.QBM_FSQIsNullClauseCmp (@TableName varchar(30) , @columnname varchar(30) , @TableSynonym varchar(64) ) returns nvarchar(1000\r\n) as begin declare @erg nvarchar(1000) declare @datatype nvarchar(64) select @datatype = dbo.QBM_FGIColumnDataType(@TableName , @columnname) if @datatype\r\n in ( 'int' , 'bigint') begin select @erg = 'ISNULL(' + @TableSynonym + '.' + @columnname + ', 0)' goto ende end if @datatype = 'datetime' begin select\r\n @erg = 'ISNULL(' + @TableSynonym + '.' + @columnname + ', ''1800-01-01'')' goto ende end if @datatype = 'Float' begin select @erg = 'ISNULL(' + @TableSynonym\r\n + '.' + @columnname + ', 0.0)' goto ende end if @datatype = 'Bit' begin select @erg = 'ISNULL(' + @TableSynonym + '.' + @columnname + ', 0)' goto ende\r\n end if @datatype in ('varbinary', 'timestamp') begin select @erg = 'ISNULL(' + @TableSynonym + '.' + @columnname + ', 0x0)' goto ende end if @datatype\r\n in( 'char' , 'varchar') begin select @erg = 'ISNULL(' + @TableSynonym + '.' + @columnname + ', '''' )' goto ende end if @datatype in( 'nchar', 'nvarchar'\r\n) begin select @erg = 'ISNULL(' + @TableSynonym + '.' + @columnname + ', N'''' )' goto ende end  select @erg = ' message  this_must_be_an_invalid_datatype'\r\n ende: return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQIsNullClauseSet",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.4",
      "ModifyDate": "2026-04-14T23:14:10.413",
      "Definition": "  create   function dbo.QBM_FSQIsNullClauseSet (@TableName varchar(30) , @columnname varchar(30) , @TableSynonym varchar(64) ) returns nvarchar(1000\r\n) as begin declare @erg nvarchar(1000) if exists (select top 1 1  from sys.tables t with (readpast) join sys.columns c with (readpast) on t.object_id =\r\n c.object_id  join sys.default_constraints d with (readpast) on c.default_object_id = d.object_id where t.name = @TableName and c.name = @columnname ) \r\nbegin  select @erg = dbo.QBM_FSQIsNullClauseCmp(@TableName , @columnname, @TableSynonym) end else begin select @erg = @TableSynonym + '.' + @columnname\r\n end ende: return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQJoinsForSplittedLookup",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:36.987",
      "ModifyDate": "2026-04-14T23:20:27.023",
      "Definition": "    create   function dbo.QBM_FSQJoinsForSplittedLookup(@UID_DialogTable varchar(38) ) returns nvarchar(max) as begin return( select convert(nvarchar\r\n(max), string_agg( f.zeile, char(13) +char(10)) within group (order by f.sortier)) from (  select concat('join ' , t.TableName , ' ' , case t.TableName\r\n when 'Person' then 'p' else 'w0' end , ' on ' , dbo.QBM_FSQTableJoin(t.TableName , 's', case t.TableName when 'Person' then 'p' else 'w0' end ) ) as zeile\r\n , 0 as sortier from DialogTable t with (readpast) where t.UID_DialogTable = @UID_DialogTable and (t.TableName = 'Person' or (t.SplittedLookupSupport >\r\n ' ' and t.SplittedLookupSupport <> 'no') ) union all select dbo.QBM_FCVStringToIndent( concat( case r.ParentTable when 'Person' then 'left outer join '\r\n else 'left outer join '  end , r.ParentTable , ' ', case r.ParentTable when 'Person' then 'p' else 'w' + trim(str(sp.OrderNumber)) end , ' on ', 'w' ,\r\n trim(str(sp.OrderNumber-1)), '.', r.ChildColumn , ' = ' , case r.ParentTable when 'Person' then 'p' else 'w' + trim(str(sp.OrderNumber)) end, '.' , ParentColumn\r\n ) , 5) as zeile , sp.OrderNumber as sortier from DialogTable t with (readpast) cross apply dbo.QBM_FCVStringToList(dbo.QBM_FCVFKDollarToRelationMVP(t.TableName\r\n, t.SplittedLookupSupport), char(7), 1, 0 ) sp join QBM_VQBMRelation r on sp.ParameterValue = r.UID_QBMRelation where t.UID_DialogTable = @UID_DialogTable\r\n ) as f ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQModuleLower",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.403",
      "ModifyDate": "2026-04-14T23:14:10.413",
      "Definition": "   create   function dbo.QBM_FSQModuleLower (@ModuleName varchar(3)) returns nvarchar(max)  as begin return( select top 1 case when x.kette > ' '\r\n then concat('(', x.kette, ')') else '(''XXXX'')' end from ( select String_agg( convert(nvarchar(max), concat('''', p.Element, '''') )  , N',' )  as kette\r\n from ( select distinct left(co.UID_ModulePredecessor, 4) as Element from dbo.QBMModuleDependCollection co with (readpast) where left(co.UID_ModuleFollower\r\n, 3) = @ModuleName ) as p ) as x ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQObjectComment",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:56:59.973",
      "ModifyDate": "2026-04-14T23:14:10",
      "Definition": "    create   function dbo.QBM_FSQObjectComment (@Objectname nvarchar(64) ) returns nvarchar(max)  as begin declare @crlf nvarchar(10) = nchar(13\r\n) + nchar(10) declare @erg nvarchar(max) = N'' declare @Objecttype nvarchar(10) = null declare @ParameterName nvarchar(64) declare @ParameterType nvarchar\r\n(64) declare @ParameterLen nvarchar(64) declare @TableName nvarchar(64) declare @operation nvarchar(64) declare @ReturnValue nvarchar(max) = N'' declare\r\n @ElementCount int declare @ElementIndex int declare @ElementLast int declare @ElementBufferMulti QBM_YCursorBuffer select top 1 @Objecttype = type from\r\n sys.objects with (readpast) where name = @Objectname if @Objecttype is null begin goto ende end if @Objecttype = N'TR' begin select top 1 @TableName =\r\n ta.name, @operation = ev.type_desc from sys.triggers t with (readpast) join sys.objects ta with (readpast) on t.parent_id = ta.object_id join sys.trigger_events\r\n ev with (readpast) on ev.object_id = t.object_id where t.name = @Objectname and t.name != 'QBM_TUIndicator474488' select @erg = @erg + @crlf + N'---<summary>:DE:'\r\n + @operation + N'-Trigger für Tabelle ' + @TableName + N' </summary>' end else begin select @erg = @erg + @crlf + N'---<summary>:DE:'+ N'T' + N'O' + N'D'\r\n + N'O'+ N': allgmeine Beschreibung von ' + @Objectname + N' </summary>' end  delete  @ElementBufferMulti insert into @ElementBufferMulti (LongIdent1, \r\nLongIdent2, Ident1)  select PARAMETER_NAME , DATA_TYPE, case CHARACTER_MAXIMUM_LENGTH when null then N'' when -1 then N'max' else convert(nvarchar(16),\r\n CHARACTER_MAXIMUM_LENGTH) end from information_schema.parameters with (readpast) where specific_name = @Objectname order by Ordinal_position select @ElementCount\r\n = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top\r\n 1 @parameterName = bu.LongIdent1 , @parameterType = bu.LongIdent2 , @parameterLen = bu.Ident1 from @ElementBufferMulti bu where bu.ElementIndex = @ElementIndex\r\n if left(@parametername, 1) = N'@' begin select @parametername = substring(@parametername, 2, 255) end  if @parameterlen > N'' begin select @parametertype\r\n = @parametertype + N'(' + @parameterlen + N')' end if @parametername > ' ' begin select @erg = @erg + @crlf + N'---<param name=\"' + @parameterName + '\" type=\"'\r\n + @parametertype + '\">'+ N'T' + N'O' + N'D' + N'O'+ N': Parameter-Beschreibung einfügen</param>' end else begin  select @ReturnValue = N'---<returns Type=\"'\r\n + @parametertype + '\">'+ N'T' + N'O' + N'D' + N'O'+ N': ReturnValue-Beschreibung einfügen</returns>' end select @ElementIndex += 1 end  if @ReturnValue\r\n > ' ' begin select @erg = @erg + @crlf + @returnvalue end else begin  delete  @ElementBufferMulti insert into @ElementBufferMulti (LongIdent1, LongIdent2\r\n, Ident1) select c.name , t.name, c.max_length / 2 from sys.columns c with (readpast) join sys.types t with (readpast) on c.user_type_id = t.user_type_id\r\n where c.object_id = object_id(@Objectname)  and not exists (select top 1 1 from information_schema.parameters p with (readpast) where p.specific_name \r\n= @Objectname and p.PARAMETER_NAME = c.name ) order by c.column_id select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount \r\n+1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @parameterName = bu.LongIdent1 , @parameterType = bu.LongIdent2\r\n , @parameterLen = bu.Ident1 from @ElementBufferMulti bu where bu.ElementIndex = @ElementIndex  select @ReturnValue = @ReturnValue + @crlf + N'---<tr><td>'\r\n + @ParameterName + N'</td><td>' + @parameterType + N'</td><td>' + @parameterlen + N'</td></tr>' select @ElementIndex += 1 end   if @returnValue > ' ' \r\nbegin select @erg = @erg + @crlf + N'---<returns>'+ @crlf + N'---<table><tr><th>column name</th><th>data type</th><th>length</th></tr>' + @returnvalue \r\n+ N''+ @crlf + N'---</table>'+ @crlf + N'---</returns>' end end if @Objecttype = N'TR' begin  select @erg = @erg + N''+ @crlf + N'---<remarks>Einstellen der DBScheduler-Operation '\r\n+ N'T' + N'O' + N'D' + N'O'+ N': ' + @crlf + N'---</remarks>' end else begin  select @erg = @erg + N''+ @crlf + N'---<remarks>'+ N'T' + N'O' + N'D' + N'O'\r\n+ N': Bemerkungen einfügen</remarks>'+ @crlf + N'---<example>'+ @crlf + N'---<code>'+ @crlf + N'---'+ N'T' + N'O' + N'D' + N'O'+ N': Aufrufbeispiel eintragen'\r\n+ @crlf + N'---</code></example>' end  delete  @ElementBufferMulti insert into @ElementBufferMulti (LongIdent1, LongIdent2) select distinct p.name, case\r\n p.type when 'P' then 'Procedure' when 'FN' then 'Function' when 'TF' then 'Table-Function' when 'IF' then 'Table-Function' when 'V' then 'View' else p.type\r\n end from sys.sql_dependencies d with (readpast) join sys.objects o with (readpast) on d.object_id = o.object_id join sys.objects p with (readpast) on \r\nd.referenced_major_id = p.object_id where o.object_id = object_id(@Objectname) and p.type not in (N'U', N'V') order by p.name select @ElementCount = @@ROWCOUNT\r\n select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @ParameterName\r\n = bu.LongIdent1 , @Parametertype = bu.LongIdent2 from @ElementBufferMulti bu where bu.ElementIndex = @ElementIndex select @erg = @erg + @crlf + N'---<seealso cref=\"'\r\n +@parametername + N'\" type=\"' +@parametertype + N'\">' + @Parametertype + N' ' + @parametername + N'</seealso>' select @ElementIndex += 1 end  ende: return\r\n(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQObjectKeyRepair_fn",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.907",
      "ModifyDate": "2026-04-14T23:20:29.677",
      "Definition": "   create   function dbo.QBM_FSQObjectKeyRepair_fn (@TableName nvarchar(64)) returns nvarchar(max) as begin declare @erg nvarchar(max) declare @i\r\n int = 1 select @erg = N'dbo.QBM_FCVElementToObjectKey%n%(''' + rtrim(@TableName ) + N'''' declare @columnname nvarchar(64) select @columnname = dbo.QBM_FGIPrimaryKeyName_F\r\n(@TableName , 1) select @erg = @erg + N', ''' + @columnname + N''', ' + @columnname select @columnname = dbo.QBM_FGIPrimaryKeyName_F(@TableName , 2) if\r\n @columnname > ' ' begin select @erg = @erg + N', ''' + @columnname + N''', ' + @columnname select @i = 2 end select @erg = @erg + N')' select @erg = replace\r\n (@erg, N'%n%', convert(nvarchar(16), @i)) return @erg end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQObjectKeyRepair_fn2",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.91",
      "ModifyDate": "2026-04-14T23:20:29.68",
      "Definition": " create   function dbo.QBM_FSQObjectKeyRepair_fn2 (@TableName nvarchar(64) , @Synonym nvarchar(64) ) returns nvarchar(max) as begin declare @erg\r\n nvarchar(max) declare @pkname1 varchar(30) = '' declare @pkname2 varchar(30) = '' declare @columnname nvarchar(64) select top 1 @TableName = t.TableName\r\n from DialogTable t with (readpast) where t.TableName = @TableName select @pkname1 = dbo.QBM_FGIPrimaryKeyName_F(@TableName , 1) select @columnname = dbo.QBM_FGIPrimaryKeyName_F\r\n(@TableName , 2) if @columnname > ' ' begin if @columnname < @pkname1 begin select @pkname2 = @pkname1 select @pkname1 = @columnname end else begin select\r\n @pkname2 = @columnname end end select @erg = concat( 'concat(''<Key><T>' , @TableName , '</T>' , '<P>'' , ' , @Synonym , '.' , @pkname1 , ' , ''</P>' \r\n, case when @pkname2 > ' ' then concat('<P>'' , ' , @Synonym , '.' , @pkname2 + ' , ''</P>') else '' end , '</Key>'')' ) return @erg end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQPrimaryKeyDef",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.297",
      "ModifyDate": "2026-04-14T23:14:10.333",
      "Definition": "    create   function dbo.QBM_FSQPrimaryKeyDef (@TableName nvarchar(64)) returns nvarchar(1024) as begin declare @erg nvarchar(1024) = N'' declare\r\n @val nvarchar(64) declare @Indextype varchar(64) = null declare @isMemoryOptimized bit = 0 declare @columnName1 varchar(30) declare @columnName2 varchar\r\n(30) select top 1 @Indextype = i.type_desc , @isMemoryOptimized = t.is_memory_optimized from sys.key_constraints c with (readpast) join sys.tables t with\r\n (readpast) on c.parent_object_id = t.object_id join sys.indexes i with (readpast) on c.name = i.name and i.is_primary_key = 1 where t.name = @TableName\r\n  and i.is_hypothetical = 0  and i.type not in (3,4,5,6) if @Indextype is null or @Indextype = 'CLUSTERED' begin select @Indextype = '' end if @isMemoryOptimized\r\n = 0 begin select @val = dbo.QBM_FGIPrimaryKeyName_F(@TableName , 1) if @val > ' ' begin select @erg = N'primary key ' + @Indextype + ' (' + @val end select\r\n @val = dbo.QBM_FGIPrimaryKeyName_F(@TableName , 2) if @val > ' ' begin select @erg = @erg + N', ' + @val end if @erg > '' begin select @erg = @erg + N')'\r\n end end else  begin  select top 1 @columnName1 = co.name from sys.key_constraints c with (readpast) join sys.tables t with (readpast) on c.parent_object_id\r\n = t.object_id join sys.indexes i with (readpast) on c.name = i.name  and i.is_primary_key = 1  and i.is_hypothetical = 0  and i.type not in (3,4,5,6) \r\njoin sys.index_columns ic with (readpast) on ic.object_id = t.object_id and ic.index_id = i.index_id join sys.columns co with (readpast) on t.object_id\r\n = co.object_id and co.column_id = ic.column_id where t.name = @TableName order by ic.index_column_id if @columnName1 > ' ' begin select @erg = N'primary key '\r\n + @Indextype + ' (' + @columnName1 end select top 1 @columnName2 = co.name from sys.key_constraints c with (readpast) join sys.tables t with (readpast\r\n) on c.parent_object_id = t.object_id join sys.indexes i with (readpast) on c.name = i.name  and i.is_primary_key = 1  and i.is_hypothetical = 0  and i.type\r\n not in (3,4,5,6) join sys.index_columns ic with (readpast) on ic.object_id = t.object_id and ic.index_id = i.index_id join sys.columns co with (readpast\r\n) on t.object_id = co.object_id and co.column_id = ic.column_id where t.name = @TableName and co.name <> @columnName1  order by ic.index_column_id desc\r\n if @columnName2 > ' ' begin select @erg = @erg + N', ' + @columnName2 end if @erg > '' begin select @erg = @erg + N')' end end  return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQPrimaryKeyDef_S",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.303",
      "ModifyDate": "2026-04-14T23:14:10.343",
      "Definition": "   create   function dbo.QBM_FSQPrimaryKeyDef_S (@TableOrTypeName nvarchar(64)) returns nvarchar(1024)  as begin declare @erg nvarchar(1024) = N''\r\n  declare @Indextype varchar(64) = null declare @columnName1 varchar(30) declare @columnName2 varchar(30) declare @bucketCount int if exists (select top\r\n 1 1 from sys.tables t with (readpast) where t.name = @TableOrTypeName ) begin select top 1 @Indextype = i.type_desc , @bucketCount = h.bucket_count from\r\n sys.key_constraints c with (readpast) join sys.tables t with (readpast) on c.parent_object_id = t.object_id join sys.indexes i with (readpast) on c.name\r\n = i.name and i.is_primary_key = 1  and i.is_hypothetical = 0  and i.type not in (3,4,5,6) left outer join sys.hash_indexes h with (readpast) on h.index_id\r\n = i.index_id and h.object_id = i.object_id where t.name = @TableOrTypeName  select top 1 @columnName1 = co.name from sys.key_constraints c with (readpast\r\n) join sys.tables t with (readpast) on c.parent_object_id = t.object_id join sys.indexes i with (readpast) on c.name = i.name  and i.is_primary_key = 1\r\n  and i.is_hypothetical = 0  and i.type not in (3,4,5,6) join sys.index_columns ic with (readpast) on ic.object_id = t.object_id and ic.index_id = i.index_id\r\n join sys.columns co with (readpast) on t.object_id = co.object_id and co.column_id = ic.column_id where t.name = @TableOrTypeName order by ic.index_column_id\r\n select top 1 @columnName2 = co.name from sys.key_constraints c with (readpast) join sys.tables t with (readpast) on c.parent_object_id = t.object_id join\r\n sys.indexes i with (readpast) on c.name = i.name  and i.is_primary_key = 1  and i.is_hypothetical = 0  and i.type not in (3,4,5,6) join sys.index_columns\r\n ic with (readpast) on ic.object_id = t.object_id and ic.index_id = i.index_id join sys.columns co with (readpast) on t.object_id = co.object_id and co.column_id\r\n = ic.column_id where t.name = @TableOrTypeName and co.name <> @columnName1  order by ic.index_column_id desc end else begin  select top 1 @Indextype =\r\n i.type_desc , @bucketCount = h.bucket_count from sys.key_constraints c with (readpast) join sys.table_types t with (readpast) on c.parent_object_id = \r\nt.type_table_object_id join sys.indexes i with (readpast) on c.name = i.name and i.is_primary_key = 1  and i.is_hypothetical = 0  and i.type not in (3,4\r\n,5,6) left outer join sys.hash_indexes h with (readpast) on h.index_id = i.index_id and h.object_id = i.object_id where t.name = @TableOrTypeName  select\r\n top 1 @columnName1 = co.name from sys.key_constraints c with (readpast) join sys.table_types t with (readpast) on c.parent_object_id = t.type_table_object_id\r\n join sys.indexes i with (readpast) on c.name = i.name  and i.is_primary_key = 1  and i.is_hypothetical = 0  and i.type not in (3,4,5,6) join sys.index_columns\r\n ic with (readpast) on ic.object_id = t.type_table_object_id and ic.index_id = i.index_id join sys.columns co with (readpast) on co.object_id = t.type_table_object_id\r\n and co.column_id = ic.column_id where t.name = @TableOrTypeName order by ic.index_column_id select top 1 @columnName2 = co.name from sys.key_constraints\r\n c with (readpast) join sys.table_types t with (readpast) on c.parent_object_id = t.type_table_object_id join sys.indexes i with (readpast) on c.name =\r\n i.name  and i.is_primary_key = 1  and i.is_hypothetical = 0  and i.type not in (3,4,5,6) join sys.index_columns ic with (readpast) on ic.object_id = t.type_table_object_id\r\n and ic.index_id = i.index_id join sys.columns co with (readpast) on co.object_id = t.type_table_object_id and co.column_id = ic.column_id where t.name\r\n = @TableOrTypeName and co.name <> @columnName1  order by ic.index_column_id desc end if @columnName1 > ' ' begin select @erg = N', primary key ' + @Indextype\r\n + ' (' + @columnName1 end if @Indextype is null or @Indextype = 'CLUSTERED' begin select @Indextype = '' end if @columnName2 > ' ' begin select @erg =\r\n @erg + N', ' + @columnName2 end if @erg > '' begin select @erg = @erg + N')' end if @bucketCount > 0 begin select @erg = @erg + ' with (BUCKET_COUNT = '\r\n+ ltrim(STR(@bucketCount)) +')' end return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQProcedureDef",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.383",
      "ModifyDate": "2026-04-14T23:14:10.407",
      "Definition": "   create   function dbo.QBM_FSQProcedureDef (@ProcedureName varchar(30) , @Parameters nvarchar(max) , @UserDefinedBody nvarchar(max) , @SourceName\r\n nvarchar(256) = N''  ) returns nvarchar(max) as begin declare @erg nvarchar(max) select @erg = concat( N'create or alter procedure dbo.' , @ProcedureName\r\n , case when @parameters > ' ' then ' ('+ @Parameters + ') ' else N'' end , N'\t\t\t\t\t\t\t\t\t\t\t\r\n\tas \r\nbegin\r\n\tdeclare @ret int = 0\r\n\tdeclare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow()\r\n\r\nSET XACT_ABORT OFF\t\r\n\r\nBEGIN TRY\r\n'\r\n , @UserDefinedBody , N'\r\nEND TRY\r\nBEGIN CATCH\r\n\r\n\texec QBM_PSessionErrorAdd default ' , case when @SourceName > ' ' then N'\t,' + dbo.QBM_FSQStringAsLiteral\r\n(@SourceName, 1, 0) else N'' end , N'\r\n\t\r\n\tRAISERROR (@Rethrow, 18, 1)  WITH NOWAIT\r\n\r\nEND CATCH\r\n\t                                \t        \t\r\nendLabel:\r\n\treturn @ret\r\nend'\r\n )  return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQRemoveComment",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.357",
      "ModifyDate": "2026-04-14T23:14:10.383",
      "Definition": "create   function dbo.QBM_FSQRemoveComment (@SQLIn nvarchar(max) ) returns nvarchar(max) as begin return(dbo.QBM_FSQRemoveComment_i (@SQLIn , 0 \r\n) ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQRemoveComment_i",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.34",
      "ModifyDate": "2026-04-14T23:14:10.36",
      "Definition": "     create   function dbo.QBM_FSQRemoveComment_i (@SQLTxt nvarchar(max) , @WithDeformat bit ) returns nvarchar(max) with SCHEMABINDING as begin\r\n declare @erg nvarchar(max) declare @ergGesamt nvarchar(max) = '' declare @LineLen int = 0 declare @i int declare @len int declare @Zustand int declare\r\n @Nesting int  declare @NextChar nvarchar(1) declare @Next2Char nvarchar(2) declare @crlf nvarchar(2) = concat(nchar(13) , nchar(10))  select @erg = N''\r\n declare @TargetBuffer dbo.QBM_YCursorBuffer declare @SourceBuffer dbo.QBM_YCursorBuffer declare @CountInputLines int declare @IndexInputLines int declare\r\n @SqlIn nvarchar(max)  select @Zustand = 0  insert into @SourceBuffer (ContentFull) select s.value from string_split(@SQLTxt, nchar(10)) as s select @CountInputLines\r\n = @@ROWCOUNT select @IndexInputLines = 1  while @IndexInputLines <= @CountInputLines begin  if @IndexInputLines = @CountInputLines begin select top 1 \r\n@SqlIn = bu.ContentFull + nchar(1) from @SourceBuffer bu where bu.ElementIndex = @IndexInputLines end else begin select top 1 @SqlIn = bu.ContentFull +\r\n char(10) + nchar(1) from @SourceBuffer bu where bu.ElementIndex = @IndexInputLines end select @i = 1 ,@len = len(@sqlIn) -1 while @i <= @len begin select\r\n @Next2Char = substring(@SQLIn, @i, 2) ,@NextChar = LEFT(@Next2Char,1)     if @zustand = 5 begin if @next2Char in (N'--', '/*', 'N''') or @nextchar in \r\n(N'''', nchar(10), nchar(13), N' ', nchar(9), ',', '(', ')') begin  select @Zustand = 0 continue  end  select @i += 1 ,@erg = @erg + @nextchar ,@LineLen\r\n += 1 continue  end   if @Zustand = 3 begin if @Next2Char = N'''''' begin select @erg = @erg + @next2char ,@LineLen += 2 ,@i += 2 continue  end if @nextchar\r\n = N'''' begin select @Zustand = 0 ,@i += 1 ,@erg = @erg + @nextchar ,@LineLen += 1 continue  end  select @i += 1 ,@erg = @erg + @nextchar ,@LineLen +=\r\n 1 continue  end   if @Zustand = 1 begin if @nextchar in ( nchar(13), nchar(10))  begin if @WithDeformat = 1 begin select @Zustand = 4  end else begin \r\nselect @Zustand = 0 end continue  end select @i += 1 continue  end   if @Zustand = 2 begin if @next2char = N'/*' begin select @Nesting += 1 ,@i += 2 continue\r\n  end if @next2char = N'*/' begin select @Nesting -= 1 if @nesting = 0 begin select @Zustand = 0 end select @i += 2 continue  end  select @i += 1 continue\r\n  end   if @Zustand = 4 begin      if @nextchar in (N' ', nchar(9), nchar(13), nchar(10) ) begin select @i += 1 if @WithDeformat = 0 begin select @erg \r\n= @erg + @nextchar ,@LineLen += 1 end continue  end  select @zustand = 0 continue  end   if @Zustand = 0  begin if @LineLen > 150 begin if @WithDeformat\r\n = 1 begin select @erg = @erg + @crlf end select @LineLen = 0 insert into @TargetBuffer(ContentFull) select @erg select @erg = ''  ,@zustand = 4 continue\r\n end if @Next2Char = N'--' begin select @Zustand = 1 ,@i += 2 continue  end if @Next2Char = N'/*' begin select @Zustand = 2 ,@Nesting = 1 ,@i += 2 continue\r\n  end if @NextChar = N'''' begin select @Zustand = 3 ,@erg = @erg + @NextChar ,@LineLen += 1 ,@i += 1 continue  end if @Next2Char = N'N''' begin select\r\n @Zustand = 3 ,@erg = @erg + @Next2Char ,@LineLen += 2 ,@i += 2 continue  end if @NextChar in (N' ', nchar(9)) begin select @Zustand = 4 ,@erg = @erg +\r\n ' '  ,@LineLen += 1 ,@i += 1 continue  end if @NextChar in (N'[') begin select @Zustand = 6 ,@erg = @erg + @NextChar ,@LineLen += 1 ,@i += 1 continue \r\n end   if @Next2Char = @crlf begin   if @WithDeformat = 1 begin select @erg = @erg + ' ' ,@LineLen += 1 ,@Zustand = 4  end else begin select @erg = @erg\r\n + @crlf ,@LineLen = 0 insert into @TargetBuffer(ContentFull) select @erg select @erg = '' end select @i += 2 continue  end if @NextChar in (nchar(13),\r\n nchar(10))  begin   if @WithDeformat = 1 begin select @erg = @erg + ' ' ,@LineLen += 1 ,@Zustand = 4  end else begin select @erg = @erg + @crlf ,@LineLen\r\n = 0 end select @i += 1 continue  end  select @Zustand = 5 ,@i += 1 ,@erg = @erg + @NextChar ,@LineLen += 1 continue  end   if @Zustand = 6 begin if @nextchar\r\n = N']' begin select @Zustand = 0 ,@i += 1 ,@erg = @erg + @nextchar ,@LineLen += 1 continue  end  select @i += 1 ,@erg = @erg + @nextchar ,@LineLen += \r\n1 continue  end   zyklusende: end  select @IndexInputLines += 1 end  insert into @TargetBuffer(ContentFull) select @erg  select @ergGesamt = string_agg\r\n( bu.ContentFull, N'' )  WITHIN GROUP ( ORDER BY bu.ElementIndex ) from @TargetBuffer bu ende: return(@erggesamt) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQRemoveCommentAndFormat",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.367",
      "ModifyDate": "2026-04-14T23:14:10.4",
      "Definition": "create   function dbo.QBM_FSQRemoveCommentAndFormat (@SQLIn nvarchar(max) ) returns nvarchar(max) as begin return(dbo.QBM_FSQRemoveComment_i (@SQLIn\r\n , 1 ) ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQRemoveCommentAndFormatX",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.42",
      "ModifyDate": "2026-04-14T23:14:10.42",
      "Definition": "   create   function dbo.QBM_FSQRemoveCommentAndFormatX (@SQLIn nvarchar(max) ) returns nvarchar(max) as begin return( select string_agg(convert\r\n(nvarchar(max),z.zeile )  , nchar(13) + nchar(10) )  within group (order by z.targetline) from ( select x.targetLine, string_agg(convert(nvarchar(max),\r\n x.Morphem )  , N' ' )  within group (order by x.Sortorder) as zeile from ( select z.SortOrder, LenMorphem, TargetLine, z.Morphem from dbo.QBM_FCVStringToListSQLMorphem0\r\n (@SQLIn, 0, 0) z  ) as x Group by x.TargetLine ) as z ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQStringAsLiteral",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.377",
      "ModifyDate": "2026-04-14T23:14:10.403",
      "Definition": "  create   function dbo.QBM_FSQStringAsLiteral(@in nvarchar(max)  , @MakeUnicodeString bit  , @ForIndirect bit  ) returns nvarchar(max) with SCHEMABINDING\r\n as begin declare @erg nvarchar(max) select @erg = N'''' + replace(@in, N'''', N'''''') + N'''' if @MakeUnicodeString = 1 begin select @erg = N'N' + @erg\r\n end else begin if @in <> convert(nvarchar(max), convert(varchar(max), @in)) collate SQL_Latin1_General_CP1_CI_AS  begin select @erg = N'N' + @erg end \r\nend if @ForIndirect = 1 begin select @erg = replace(@erg, N'''', N'''''') end ende: return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQTableDef",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.313",
      "ModifyDate": "2026-04-14T23:14:10.347",
      "Definition": "   create   function dbo.QBM_FSQTableDef (@TableName nvarchar(64)) returns nvarchar(max) as begin declare @erg nvarchar(max) = '' declare @durability\r\n varchar(64) = '' declare @ismem bit = 0 if exists (select top 1 1 from sys.tables t with (readpast) where t.name = @TableName and t.is_memory_optimized\r\n = 1 ) begin select @ismem = 1 end if @ismem = 1 begin select top 1 @durability = t.durability_desc from sys.tables t with (readpast) where t.name = @TableName\r\n end select @erg = N'Create Table ' + @TableName + N'(' + nchar(13) + nchar(10) + dbo.QBM_FSQColumDef(@TableName, '%') + nchar(13) + nchar(10) + + case\r\n @ismem when 1 then dbo.QBM_FSQIndexDef(@TableName, '%') else '' end + nchar(9) + isnull(dbo.QBM_FSQPrimaryKeyDef_S(@TableName ), '<PKDef not found>') \r\n+ nchar(13) + nchar(10) + nchar(9) + N')' + nchar(13) + nchar(10) if @ismem = 1 begin select @erg = @erg + nchar(9) + 'with (MEMORY' + '_' + 'OPTIMIZED = on, DURABILITY = '\r\n + @durability + ')' end else begin select @erg = @erg + nchar(9) + 'on \"' + isnull(dbo.QBM_FGIDiskStoreTarget(@TableName), '<DiskStore not found>') + \r\n'\"' end return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQTableDefCond",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.323",
      "ModifyDate": "2026-04-14T23:14:10.35",
      "Definition": "    create   function dbo.QBM_FSQTableDefCond (@TableName nvarchar(64)) returns nvarchar(max) as begin declare @erg nvarchar(max) declare @muster\r\n nvarchar(max) select @muster = ' \r\n if not exists (select top 1 1 from Information_schema.tables with (readpast) where table_name = N''@TableName'')\r\n  begin\r\n\t@create\r\n  end'\r\n  select @erg = replace(@muster, N'@TableName', @TableName ) select @erg = replace (@erg, N'@create', dbo.QBM_FSQTableDef(@TableName )) return(@erg) end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQTableJoin",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:30.09",
      "ModifyDate": "2026-04-14T23:20:26.903",
      "Definition": "    create   function dbo.QBM_FSQTableJoin (@TableName nvarchar(64) , @LeftSynonym nvarchar(32) , @RightSynonym nvarchar(32) ) returns nvarchar(max\r\n)    as begin declare @erg nvarchar(max) declare @Pkcol1 nvarchar(64) declare @Pkcol2 nvarchar(64) select @Pkcol1 = null select @Pkcol2 = null if exists\r\n (select top 1 1 from dbo.DialogTable t with (readpast) join dbo.DialogColumn c with (readpast) on t.UID_DialogTable = c.UID_DialogTable and c.ColumnName\r\n = 'XObjectKey' and t.TableName = @TableName join dbo.DialogColumn cx with (readpast) on cx.UID_DialogTable = t.UID_DialogTable and cx.ColumnName = 'XOrigin'\r\n where (t.IsMAllTable = 1 or t.isMNTable = 1) ) begin select @pkcol1 = 'XObjectKey' end else begin select top 1 @pkcol1 = isnull(t.PKName1, '') , @Pkcol2\r\n = isnull(t.PKName2, '') from dbo.DialogTable t with (readpast) where t.TableName = @TableName end select @erg = concat(N' ' , @LeftSynonym , '.' , @Pkcol1\r\n , N' = ' , @RightSynonym , '.' , @Pkcol1) if @Pkcol2 > ' ' begin select @erg = concat(@erg , N' and ' , @LeftSynonym , '.' , @Pkcol2 , N' = ' , @RightSynonym\r\n , '.' , @Pkcol2) end return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQTableRowOwnedByModule",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:30.077",
      "ModifyDate": "2026-04-14T23:20:26.887",
      "Definition": "create   function dbo.QBM_FSQTableRowOwnedByModule (@TableName varchar(30) , @moduleName varchar(3) , @TableSynonym varchar(30) ) returns nvarchar\r\n(max) as begin return (dbo.QBM_FSQTableRowOwnedByModule_i (@TableName, @ModuleName, @TableSynonym, '')) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQTableRowOwnedByModule_i",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-09-22T13:32:34.69",
      "ModifyDate": "2026-04-14T23:20:26.883",
      "Definition": "   create   function dbo.QBM_FSQTableRowOwnedByModule_i (@TableName varchar(30) , @moduleName varchar(3) , @TableSynonym varchar(30) , @PredecessorsInclNonlinear\r\n varchar(2000) ) returns nvarchar(max) as begin declare @erg nvarchar(max) declare @PrimaryKeyCount int declare @ts varchar(30) if ISNULL(@TableSynonym\r\n, '') = '' begin select @ts = @TableName end else begin select @ts = @TableSynonym end select @PrimaryKeyCount = dbo.QBM_FGIPrimaryKeyCount(@TableName \r\n) if @PrimaryKeyCount > 2 or @PrimaryKeyCount = 0 begin select @erg = '(1=0)' goto endLabel end if @PrimaryKeyCount = 1 begin select @erg = concat('\r\n\t\t\t\t(\r\n\t\t\t\t\t'\r\n , @ts , '.' , dbo.QBM_FGIPrimaryKeyName_F(@TableName , 1) , ' like ''' , @ModuleName , '-%''\r\n\t\t\t\t)\r\n\t\t' )  end if @PrimaryKeyCount = 2 begin select @erg\r\n = concat('\r\n\t\t\t\t( (' , @ts , '.' , dbo.QBM_FGIPrimaryKeyName_F(@TableName , 1) , ' like ''' , @ModuleName , '-%''\r\n\t\t\t\t\tand left(', @ts , '.' , dbo.QBM_FGIPrimaryKeyName_F\r\n(@TableName , 2) , ', 4) in ' , case when @PredecessorsInclNonlinear > ' ' then @PredecessorsInclNonlinear else dbo.QBM_FSQModuleLower(@ModuleName) end\r\n, '\r\n\t\t\t\t\t)\r\n\t\t\t\t  or  \r\n\t\t\t\t   (' , @ts , '.' , dbo.QBM_FGIPrimaryKeyName_F(@TableName , 2) , ' like ''' , @ModuleName , '-%''\r\n\t\t\t\t\t and left(' , @ts\r\n , '.' , dbo.QBM_FGIPrimaryKeyName_F(@TableName , 1) , ', 4) in ' , case when @PredecessorsInclNonlinear > ' ' then @PredecessorsInclNonlinear else dbo.QBM_FSQModuleLower\r\n(@ModuleName) end, '\r\n\t\t\t\t\t)\t\t\r\n\t\t\t\t)\r\n\t \r\n\t  ' )  end endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQTableRowOwnedByModuleNL",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-09-22T13:32:34.69",
      "ModifyDate": "2026-04-14T23:20:26.89",
      "Definition": "  create   function dbo.QBM_FSQTableRowOwnedByModuleNL (@TableName varchar(30) , @moduleName varchar(3) , @TableSynonym varchar(30) , @PredecessorsInclNonlinear\r\n varchar(2000) ) returns nvarchar(max) as begin return (dbo.QBM_FSQTableRowOwnedByModule_i (@TableName, @ModuleName, @TableSynonym, @PredecessorsInclNonlinear\r\n)) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQTriggerDef",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:36.893",
      "ModifyDate": "2026-04-14T23:20:26.85",
      "Definition": "   create   function dbo.QBM_FSQTriggerDef (@TriggerName varchar(30) , @TableName varchar(30) , @Operation varchar(30) , @UserDefinedBody nvarchar\r\n(max) , @Declarations nvarchar(max) = N''  , @SourceName nvarchar(256) = N''  ) returns nvarchar(max) as begin declare @TableType varchar(1) select top\r\n 1 @TableType = TableType from DialogTable with (readpast) where TableName = @TableName if @TableType in ( 'M') begin goto endLabel end declare @erg nvarchar\r\n(max) select @erg = N'create or alter Trigger dbo.' + @Triggername + N' on ' + @TableName + N'\r\n\t-- with encryption \r\n\t' + case when @TableType in ('R'\r\n, 'P', 'U') then N' instead of ' else N' for ' end + @Operation + N'\r\n\tnot for replication \r\nas \r\n begin \r\n\t-- exec QBM_PProcedureNestLevelCheck @@ProcID\r\n\t \r\n declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('''')\r\n declare @ActionUser nvarchar(64) = dbo.QBM_FGISessionContext(''XUser'')\r\n declare @operationLevel int\r\n\r\n-- user defined vars\r\n'\r\n + @Declarations + N'\r\n-- / user defined vars' if @operation in ('insert', 'update') begin select @erg= @erg+ N'\r\n\tif exists (select top 1 1 from inserted) goto start'\r\n end if @operation in ('delete', 'update') begin select @erg = @erg+ N'\r\n\tif exists (select top 1 1 from deleted) goto start' end select @erg = @erg+ N'\t\t\r\n\t\tgoto endLabel\r\n start:\r\nBEGIN TRY\r\nselect @operationLevel = dbo.QBM_FCVStringToInt(dbo.QBM_FGISessionContext(''operationLevel''), 0) + @@nestlevel -1 \r\n-- user defined body\r\n'\r\n + @UserDefinedBody + N'\r\n-- / user defined body\r\nEND TRY\r\nBEGIN CATCH\r\n\r\n\texec QBM_PSessionErrorAdd default' + case when @SourceName > ' ' then N'\t, '\r\n + dbo.QBM_FSQStringAsLiteral(@SourceName, 1, 0) else N'' end + N'\r\n\r\n\tRAISERROR ('''', 18, 1)  WITH NOWAIT\r\n\r\nEND CATCH\r\n\t                                \t        \t\r\nendLabel:\r\n\treturn \r\nend'\r\n  endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQTriggerPartCEF",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-12-15T18:07:53",
      "ModifyDate": "2026-04-14T23:20:32.27",
      "Definition": "     create   function dbo.QBM_FSQTriggerPartCEF(@TableForTrigger varchar(30), @OperationType varchar(1) , @IsForCheckExecutable bit  ) returns \r\nnvarchar(max) as begin  declare @ColumnToCheck varchar(30) declare @ColumnForTrigger varchar(30)  , @Param01 nvarchar(1024) , @Param02 nvarchar(1024) ,\r\n @Param03 nvarchar(1024) , @Param04 nvarchar(1024) , @Param05 nvarchar(1024) declare @SelectParam01 nvarchar(max) declare @SelectParam02 nvarchar(max) \r\ndeclare @SelectParam03 nvarchar(max) declare @SelectParam04 nvarchar(max) declare @SelectParam05 nvarchar(max) declare @ColListTemplate nvarchar(max) declare\r\n @WhereClauseCustom nvarchar(max) declare @TableToCheck varchar(30) declare @UID_QBMCEFDefinition varchar(38) declare @PKName1 varchar(30) declare @HasXObjectKey\r\n bit declare @WhereClause nvarchar(max) declare @erg nvarchar(max) = N'' declare @SchemaDatatype varchar(128) declare @AliasOld varchar(16) = 'old' declare\r\n @AliasNew varchar(16) = 'new' declare @LeererAnfang nvarchar(max) = N'' declare @Operation varchar(16) select @Operation = case @OperationType when 'I'\r\n then 'Insert' when 'U' then 'Update' when 'D' then 'Delete' else '<invalid operation>' end declare @elements table (ElementIndex int identity NOT NULL\r\n , ColumnToCheck varchar(30) collate database_default  , TableToCheck varchar(30) collate database_default  , ColumnForTrigger varchar(30) collate database_default\r\n  , SchemaDatatype varchar(128) collate database_default , WhereClause nvarchar(max) collate database_default , Param01 nvarchar(1024) collate database_default\r\n NULL , Param02 nvarchar(1024) collate database_default NULL , Param03 nvarchar(1024) collate database_default NULL , Param04 nvarchar(1024) collate database_default\r\n NULL , Param05 nvarchar(1024) collate database_default NULL , UID_QBMCEFDefinition varchar(38) , PKName1 varchar(30) collate database_default , HasXObjectKey\r\n bit default 0 ) declare @ElementCount int declare @ElementIndex int declare @InsertList nvarchar(max) = N'' declare @ColumnsToReplace QBM_YParameterList\r\n   declare @Morpheme QBM_YCursorBuffer  if @IsForCheckExecutable = 0 begin select @InsertList = '\r\ninsert into QBMCEFMessage (UID_QBMCEFMessage \r\n\t\t\t\t\t\t\t, Operation -- I U D\t\r\n\t\t\t\t\t\t\t, ParamValue01 , ParamValue02 , ParamValue03 , ParamValue04 , ParamValue05 \r\n\t\t\t\t\t\t\t, ObjectKeyRelated \r\n\t\t\t\t\t\t\t, UID_QBMCEFDefinition\r\n\t\t\t\t\t\t\t, XObjectKey \r\n\t\t\t\t\t\t\t, MessageDate \r\n\t\t\t\t\t\t\t, LogonUser \r\n\t\t\t\t\t\t\t)\r\n\t\t'\r\n end select @InsertList = concat(@InsertList, '\r\n', case @IsForCheckExecutable when 1 then ' union all ' else '' end ,'\r\nselect ', case @IsForCheckExecutable\r\n when 1 then ' top 1 1 as spalte' else '\r\n\t\t x.UID_QBMCEFMessage \r\n\t\t, left(upper(x.Operation),1) as Operation -- I U D\r\n\t\t, x.ParamValue1 , x.ParamValue2 , x.ParamValue3 , x.ParamValue4 , x.ParamValue5 \t\r\n\t\t, x.ObjectKeyRelated\r\n\t\t, x.UID_QBMCEFDefinition\r\n\t\t, dbo.QBM_FCVElementToObjectKey1(''QBMCEFMessage'', ''UID_QBMCEFMessage'', x.UID_QBMCEFMessage) as XObjectKey\r\n\t\t, @Xdate as MessageDate\r\n\t\t, @ActionUser as LogonUser\r\n\t\t'\r\n end , '\r\n from ( ' )   declare @DeletedName varchar(30) = 'deleted' declare @InsertedName varchar(30) = 'inserted' declare @SelectList nvarchar(max) declare\r\n @FromList nvarchar(max) declare @JoinList nvarchar(max) insert into @elements(ColumnToCheck, TableToCheck , ColumnForTrigger , SchemaDatatype, WhereClause\r\n , Param01 , Param02 , Param03, Param04 , Param05 , UID_QBMCEFDefinition , PKName1, HasXObjectKey ) select x.ColumnToCheck, x.TableToCheck, x.ColumnForTrigger\r\n, x.SchemaDataType, x.WhereClause , Param01 , Param02 , Param03, Param04 , Param05 , x.UID_QBMCEFDefinition , x.PKName1, x.HasXObjectKey from ( select \r\nisnull(t.TableName, tv.TableName) as TableForTrigger, tv.Tablename as TableToCheck, cv.ColumnName as ColumnToCheck, isnull(cb.ColumnName, cv.ColumnName\r\n) as ColumnForTrigger  , cb.SchemaDataType, cef.WhereClause , cef.Param01 , cef.Param02 , cef.Param03, cef.Param04 , cef.Param05 , cef.UID_QBMCEFDefinition\r\n , isnull(t.PKName1, tv.PKName1) as PKName1 , case when xobj.ColumnName is null then 0 else 1 end as HasXObjectKey from QBMCEFDefinition cef join DialogTable\r\n tv on cef.UID_DialogTable = tv.UID_DialogTable left outer join DialogTable t on tv.UID_DialogTableBase = t.UID_DialogTable left outer join DialogColumn\r\n cv on cef.UID_DialogColumn = cv.UID_DialogColumn left outer join DialogColumn cb on cv.UID_BaseColumn = cb.UID_DialogColumn left outer join DialogColumn\r\n xobj on xobj.UID_DialogTable = isnull(t.UID_DialogTable, tv.UID_DialogTable) and xobj.ColumnName = 'XObjectKey' where cef.IsInActive = 0 and dbo.QBM_FGIConfigparmValue\r\n('QBM\\CEF') = '1' and tv.TableType in ('V', 'T') and cef.OperationType = @OperationType and tv.PKName1 > ' ' and (  xobj.ColumnName is not null or  (isnull\r\n(t.isMNTable, tv.IsMNTable) = 0 and isnull(t.UsageType, tv.UsageType) in ('USERDATA', 'HISTORY') ) ) ) as x where x.TableForTrigger = @TableForTrigger \r\nselect @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select @whereclause = @LeererAnfang select top 1 \r\n@ColumnToCheck = e.ColumnToCheck , @TableToCheck = e.TableToCheck , @ColumnForTrigger = e.ColumnForTrigger , @SchemaDatatype = e.SchemaDatatype , @WhereClauseCustom\r\n = case trim(isnull(e.WhereClause,'')) when '' then '1=1' else e.WhereClause end , @Param01 = e.Param01, @Param02 = e.Param02, @Param03 = e.Param03, @Param04\r\n = e.Param04, @Param05 = e.Param05 , @UID_QBMCEFDefinition = e.UID_QBMCEFDefinition , @PKName1 = e.PKName1 , @HasXObjectKey = e.HasXObjectKey from @elements\r\n e where e.ElementIndex = @ElementIndex if @IsForCheckExecutable = 1 begin select @DeletedName = @TableForTrigger , @InsertedName = @TableForTrigger end\r\n if @OperationType = 'U'  and @IsForCheckExecutable = 0 begin select @erg = concat(@erg , char(13), char(10), N'if update(' , @ColumnForTrigger , ')' ,\r\n char(13), char(10) , ' begin' , char(13), char(10) )  end select @AliasOld = case @OperationType when 'I' then 'new' when 'U' then 'old' when 'D' then\r\n 'old' end select @AliasNew = case @OperationType when 'I' then 'new' when 'U' then 'new' when 'D' then 'old' end select @SelectParam01 = dbo.QBM_FSQCEFParmSelect\r\n(@TableToCheck , @Param01 , @AliasNew , 'fk01' ) select @SelectParam02 = dbo.QBM_FSQCEFParmSelect(@TableToCheck , @Param02 , @AliasNew , 'fk02' ) select\r\n @SelectParam03 = dbo.QBM_FSQCEFParmSelect(@TableToCheck , @Param03 , @AliasNew , 'fk03' ) select @SelectParam04 = dbo.QBM_FSQCEFParmSelect(@TableToCheck\r\n , @Param04 , @AliasNew , 'fk04' ) select @SelectParam05 = dbo.QBM_FSQCEFParmSelect(@TableToCheck , @Param05 , @AliasNew , 'fk05' ) select @SelectList \r\n= concat(@LeererAnfang, char(13), char(10), char(9)  , char(13), char(10) , case @IsForCheckExecutable when 1 then ' select newid() ' else 'select @UID_QBMCEFMessage'\r\n + dbo.QBM_FCVIntToString(@ElementIndex) end , ' as UID_QBMCEFMessage' , char(13), char(10), ', ''' , @Operation, ''' as Operation'   , char(13), char(10\r\n), ', ', dbo.QBM_FCVStringToIndent(@SelectParam01, 2), ' as ParamValue1 ', '/* ', @Param01 , '*/' , char(13), char(10), ', ', dbo.QBM_FCVStringToIndent\r\n(@SelectParam02, 2), ' as ParamValue2 ', '/* ', @Param02 , '*/' , char(13), char(10), ', ', dbo.QBM_FCVStringToIndent(@SelectParam03, 2), ' as ParamValue3 '\r\n, '/* ', @Param03 , '*/' , char(13), char(10), ', ', dbo.QBM_FCVStringToIndent(@SelectParam04, 2), ' as ParamValue4 ', '/* ', @Param04 , '*/' , char(13\r\n), char(10), ', ', dbo.QBM_FCVStringToIndent(@SelectParam05, 2), ' as ParamValue5 ', '/* ', @Param05 , '*/' ) if @HasXObjectKey = 1 begin select @SelectList\r\n = concat(@SelectList, char(13), char(10), ', ', @AliasNew , '.' , 'XObjectKey as ObjectKeyRelated') end else begin select @SelectList = concat(@SelectList\r\n, char(13), char(10), ', ', '''<Key><T>', @TableToCheck, '</T><P>'' + ', @AliasNew, '.', @PKName1, ' + ''</P></Key>'' as ObjectKeyRelated') end  select\r\n @SelectList = concat(@SelectList, char(13), char(10), ', ''', @UID_QBMCEFDefinition, ''' as UID_QBMCEFDefinition ' )  select @JoinList = concat(@LeererAnfang\r\n, char(13), char(10), dbo.QBM_FCVStringToIndent(dbo.QBM_FSQCEFJoin(@TableToCheck , @Param01 , @AliasNew , 'fk01' ),5) , char(13), char(10), dbo.QBM_FCVStringToIndent\r\n(dbo.QBM_FSQCEFJoin(@TableToCheck , @Param02 , @AliasNew , 'fk02' ),5) , char(13), char(10), dbo.QBM_FCVStringToIndent(dbo.QBM_FSQCEFJoin(@TableToCheck\r\n , @Param03 , @AliasNew , 'fk03' ),5) , char(13), char(10), dbo.QBM_FCVStringToIndent(dbo.QBM_FSQCEFJoin(@TableToCheck , @Param04 , @AliasNew , 'fk04' \r\n),5) , char(13), char(10), dbo.QBM_FCVStringToIndent(dbo.QBM_FSQCEFJoin(@TableToCheck , @Param05 , @AliasNew , 'fk05' ),5) )  if @Operation = 'Update' \r\nbegin select @FromList = concat(@LeererAnfang , char(9), N'from ', @DeletedName ,' ', @AliasOld , ' join ' , @TableForTrigger , N' ', @AliasNew ,' on '\r\n , dbo.QBM_FSQTableJoin(@TableForTrigger , @AliasOld, @AliasNew) ) select @WhereClause = concat(@LeererAnfang ,char(13), char(10), char(9), 'where ' + \r\ndbo.QBM_FSQIsNullClauseCmp(@TableForTrigger, @ColumnForTrigger, @AliasOld) , ' <> ' , dbo.QBM_FSQIsNullClauseCmp(@TableForTrigger, @ColumnForTrigger, @AliasNew\r\n) , case when @SchemaDatatype like '%char%' then ' collate SQL_Latin1_General_CP1_CS_AS /* 35127 CS*/ ' else '' end )   end if @Operation = 'Insert' begin\r\n select @FromList = concat(N'' , char(9), N'from ',@InsertedName,' ', @AliasNew,' ' ) select @WhereClause = concat( char(13), char(10), char(9), 'where 1=1'\r\n )  end if @Operation = 'delete' begin select @FromList = concat( char(9), N'from ',@DeletedName,' ', @AliasOld,' ' ) select @WhereClause = concat( char\r\n(13), char(10), char(9), 'where 1=1' )  end if @TableForTrigger <> @TableToCheck and @HasXObjectKey = 1 begin select @WhereClause = concat( @WhereClause\r\n, char(13), char(10), char(9) , ' and ' , case @Operation when 'Update' then @AliasOld else @AliasNew end ,'.XObjectKey like ''<Key><T>', @TableToCheck\r\n, '</T>%', ''' ' )  end if @WhereClause > ' ' and @WhereClauseCustom > ' ' begin  insert into @ColumnsToReplace(Parameter1, Parameter2) select cv.ColumnName\r\n, cb.ColumnName from ( select tv.UID_DialogTable, tb.UID_DialogTable as UID_DialogTableBasis, isnull(tb.UID_DialogTable, tv.UID_DialogTable) as UID_DialogTableFinal\r\n from DialogTable tv left outer join Dialogtable tb on tv.UID_DialogTableBase = tb.UID_DialogTable and tv.TableName = @TableToCheck where tv.TableName \r\n= @TableToCheck ) tab join DialogColumn cv on cv.UID_DialogTable = tab.UID_DialogTable join DialogColumn cb on cb.UID_DialogTable = tab.UID_DialogTableFinal\r\n and cv.UID_BaseColumn = cb.UID_DialogColumn where tab.UID_DialogTable <> tab.UID_DialogTableFinal and cv.ColumnName <> cb.ColumnName if @@ROWCOUNT > 0\r\n begin delete @Morpheme insert into @Morpheme(ContentFull) select m.Morphem from dbo.QBM_FCVStringToListSQLMorphem0(@WhereClauseCustom,0 ,0) m update @Morpheme\r\n set ContentFull = concat('old.', cr.Parameter2) from @Morpheme m cross join @ColumnsToReplace cr where m.ContentFull = concat('old.', cr.Parameter1) update\r\n @Morpheme set ContentFull = concat('new.', cr.Parameter2) from @Morpheme m cross join @ColumnsToReplace cr where m.ContentFull = concat('new.', cr.Parameter1\r\n) select top 1 @WhereClauseCustom = string_agg (m.ContentFull, ' ' ) within group(order by m.elementIndex) from @Morpheme m end  select @WhereClause = \r\nconcat(@WhereClause, char(13), char(10), char(9), 'and ( -- Custom Condition' , char(13), char(10) , dbo.QBM_FCVStringToIndent(@WhereClauseCustom, 3)  \r\n, char(13), char(10), char(9), char(9), ') -- / Custom Condition ' ) end select @erg = concat(@erg , char(13), char(10) , case @IsForCheckExecutable when\r\n 0 then 'declare @UID_QBMCEFMessage' + dbo.QBM_FCVIntToString(@ElementIndex) + ' varchar(38) = newid()' else '' end , dbo.QBM_FCVStringToIndent (@InsertList\r\n, 1) , dbo.QBM_FCVStringToIndent (@SelectList, 3) , char(13), char(10) , dbo.QBM_FCVStringToIndent (@FromList, 2) , @JoinList , dbo.QBM_FCVStringToIndent\r\n(@WhereClause, 3) , char(13), char(10), char(9),char(9), ') as x' , char(13), char(10) , char(13), char(10) ) if @SelectParam01 like '%<temporarily ParameterDefinition>%'\r\n or @SelectParam01 like '%$Script(%)$%' begin select @ColListTemplate = 'ParamValue01' end if @SelectParam02 like '%<temporarily ParameterDefinition>%'\r\n or @SelectParam02 like '%$Script(%)$%' begin if @ColListTemplate > ' ' begin select @ColListTemplate = concat(@ColListTemplate, '|') end select @ColListTemplate\r\n = concat(@ColListTemplate, 'ParamValue02') end if @SelectParam03 like '%<temporarily ParameterDefinition>%' or @SelectParam03 like '%$Script(%)$%' begin\r\n if @ColListTemplate > ' ' begin select @ColListTemplate = concat(@ColListTemplate, '|') end select @ColListTemplate = concat(@ColListTemplate, 'ParamValue03'\r\n) end if @SelectParam04 like '%<temporarily ParameterDefinition>%' or @SelectParam04 like '%$Script(%)$%' begin if @ColListTemplate > ' ' begin select \r\n@ColListTemplate = concat(@ColListTemplate, '|') end select @ColListTemplate = concat(@ColListTemplate, 'ParamValue04') end if @SelectParam05 like '%<temporarily ParameterDefinition>%'\r\n or @SelectParam05 like '%$Script(%)$%' begin if @ColListTemplate > ' ' begin select @ColListTemplate = concat(@ColListTemplate, '|') end select @ColListTemplate\r\n = concat(@ColListTemplate, 'ParamValue05') end if @ColListTemplate > ' ' and @IsForCheckExecutable = 0  begin select @erg = concat(@erg , char(13), char\r\n(10) , 'declare @WhereTemplate', dbo.QBM_FCVIntToString(@ElementIndex), ' nvarchar(1024)' , char(13), char(10) , 'select @WhereTemplate', dbo.QBM_FCVIntToString\r\n(@ElementIndex), ' = ''UID_QBMCEFMessage = '''''' + @UID_QBMCEFMessage', dbo.QBM_FCVIntToString(@ElementIndex), ' + ''''''''' , char(13), char(10) , 'exec QBM_PJobCreate_HOTemplate_B ''QBMCEFMessage'', @WhereTemplate'\r\n, dbo.QBM_FCVIntToString(@ElementIndex), ', ''', @ColListTemplate, '''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t, @GenProcID\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t, @AdditionalObjectKeysAffected = default\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t, @priority = 10\r\n\t\t\t\t\t\t\t\t\t\t'\r\n , char(13), char(10) , char(13), char(10) ) end if @Operation = 'update' and @IsForCheckExecutable = 0 begin select @erg = concat(@erg ,char(13), char\r\n(10), N' end -- if update(' , @ColumnForTrigger , ')' )  end select @ElementIndex += 1 end  if @erg > ' ' begin select @erg = concat( case @IsForCheckExecutable\r\n when 1 then ' select top 1 1 as spalte' else '' end, '\r\n----------------------------------------------------------------\r\n-- information for CEF, Operation =  '\r\n, @operation,'\r\n----------------------------------------------------------------\r\n\r\n\t', @erg, '\r\n----------------------------------------------------------------\r\n-- / information for CEF, Operation = '\r\n, @operation,'\r\n----------------------------------------------------------------\r\n\r\n' ) end  return (@erg) end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQTriggerSplittedLookup",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:36.97",
      "ModifyDate": "2026-04-14T23:20:27",
      "Definition": "          create   function dbo.QBM_FSQTriggerSplittedLookup (@Tablename varchar(30) , @Operation varchar(16) ) returns nvarchar(max) as begin declare\r\n @erg nvarchar(max) = '' declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @SourceSynonym nvarchar(16) declare @Body nvarchar(max\r\n) = '' declare @Body_sub nvarchar(max) = '' insert into @ElementBuffer (UID1 , Ident1  , Bit1   , Ident3  , ContentFull  , LongIdent2  ) select c.UID_DialogColumn\r\n , c.ColumnName, c.IsMultiValued , c.SplittedLookupSupport , dbo.QBM_FSQJoinsForSplittedLookup(t.UID_DialogTable) , isnull(ac.AdditionalColumn, '') from\r\n DialogTable t with (readpast) join DialogColumn c with (readpast) on t.UID_DialogTable = c.UID_DialogTable  join sys.tables st with (readpast) on st.name\r\n = t.TableName  outer apply ( select r.ChildColumn as AdditionalColumn from dbo.QBM_FCVStringToList(dbo.QBM_FCVFKDollarToRelationMVP(t.TableName, t.SplittedLookupSupport\r\n), char(7), 1, 0 ) sp join QBM_VQBMRelation r on sp.ParameterValue = r.UID_QBMRelation where sp.OrderNumber = 1 and r.ChildTable = @tablename and t.SplittedLookupSupport\r\n like 'FK(%' ) as ac  where t.TableName = @Tablename and c.SplittedLookupSupport > ' ' select @ElementCount = @@ROWCOUNT if @ElementCount > 0 and @Operation\r\n = 'insert' begin select @Body = string_agg ( convert(nvarchar(max) , concat( '\r\ndeclare @SplittedElements','_', bu.Ident1,' QBM_YParameterList \r\n\r\ninsert into @SplittedElements'\r\n,'_', bu.Ident1,' (Parameter1, Parameter2, Parameter3, HasContentFull, ', case bu.Bit1  when 1 then 'ContentFull' else 'ContentShort' end , ')\r\n select '\r\n , case when bu.ContentFull  > ' ' then 'p.UID_Person' else 'Null' end , ', ''', bu.UID1 , ''', s.XObjectKey, ', str(bu.Bit1 ) , ', s.', bu.Ident1 , '\r\n\tfrom inserted s '\r\n, case when bu.ContentFull  > ' ' then bu.ContentFull  else '' end , '\r\n\twhere s.', bu.Ident1 , ' > '' ''\r\n\r\nexec QBM_PSplittedElementProcess @SplittedElements'\r\n,'_', bu.Ident1,', ''' , bu.Ident3  , '''\r\n' ) )  , N'' )  from @ElementBuffer bu end if @ElementCount > 0 and @Operation = 'update' begin select @SourceSynonym\r\n = case @TableName when 'Person' then 'p' else 'w0' end select @Body = string_agg( convert(nvarchar(max) , concat('\r\nif update (', bu.Ident1 , ') ', case\r\n when @TableName <> 'Person' and dbo.QBM_FGIColumnExists(@TableName, 'UID_Person') = 1 then ' or update(UID_Person)'  when @Tablename <> 'Person' and bu.LongIdent2\r\n <> 'UID_Person' and bu.LongIdent2 > ' ' then ' or update('+ bu.LongIdent2 + ')'  else '' end , '\r\n begin \r\n\tdeclare @SplittedElements','_', bu.Ident1,\r\n' QBM_YParameterList \r\n\r\n\tinsert into @SplittedElements','_', bu.Ident1,' (Parameter1, Parameter2, Parameter3, HasContentFull, ', case bu.Bit1  when 1 \r\nthen 'ContentFull' else 'ContentShort' end , ')\r\n\t\tselect ' , case when bu.ContentFull  > ' ' then 'p.UID_Person' else 'Null' end , ', ''', bu.UID1 , ''', '\r\n, @SourceSynonym ,'.XObjectKey, ', str(bu.Bit1 ) , ', ',@SourceSynonym,'.', bu.Ident1 , '\r\n\t\tfrom deleted s ', case when bu.ContentFull  > ' ' then bu.ContentFull\r\n  else 'join ' + @TableName + ' w0 on  ' + dbo.QBM_FSQTableJoin(@Tablename , 's', 'w0') end , '\r\n\t\twhere isnull(s.', bu.Ident1 , ', '''') <> isnull(', \r\n@SourceSynonym,'.', bu.Ident1 , ', '''')\r\n\t\t\t', case when @TableName <> 'Person' and dbo.QBM_FGIColumnExists(@TableName, 'UID_Person') = 1 then ' or isnull(s.UID_Person, '''') <> isnull('\r\n + @SourceSynonym + '.UID_Person, '''')'  when @Tablename <> 'Person' and bu.LongIdent2 <> 'UID_Person' and bu.LongIdent2 > ' ' then ' or isnull(s.'+ bu.LongIdent2\r\n + ', '''') <> isnull(' + @SourceSynonym + '.'+ bu.LongIdent2 + ', '''')'  else '' end , '\r\n\texec QBM_PSplittedElementProcess @SplittedElements','_', bu.Ident1\r\n,', ''' , bu.Ident3 , '''\r\n\r\n end\r\n\r\n' ) )  , N'' )  from @ElementBuffer bu end if @ElementCount > 0 and @Operation = 'delete' begin select @Body = '\r\ndelete QBMSplittedLookup \r\n\tfrom QBMSplittedLookup s join deleted d on s.ObjectKeyOwner = d.XObjectKey\r\n'\r\n end   if @Operation = 'update' begin select @SourceSynonym = case @TableName when 'Person' then 'p' else 'w0' end select @Body_sub = string_agg( convert\r\n(nvarchar(max) , concat('\r\nif update (UID_Person) \r\n begin \r\n\tdeclare @SplittedElements','_', roh.TableToSelectFrom,'_', roh.ColumnToSelect, ' QBM_YParameterList \r\n\r\n\tinsert into @SplittedElements'\r\n,'_', roh.TableToSelectFrom,'_', roh.ColumnToSelect, ' (Parameter1, Parameter2, Parameter3, HasContentFull, ', case roh.IsMultiValued when 1 then 'ContentFull'\r\n else 'ContentShort' end , ')\r\n\t\tselect p.UID_Person\t,  ''', roh.UID_DialogColumn, ''', ', @SourceSynonym ,'.XObjectKey, ', str(roh.IsMultiValued ) , ', '\r\n,@SourceSynonym,'.', roh.ColumnToSelect , '\r\n\t\tfrom ', roh.TableToSelectFrom ,' s ', replace(roh.joins , concat('left outer join ', @tablename) , concat\r\n( ' join  (select t.', roh.PKNameOfTable ,', t.UID_Person\r\n\t\t\t\t\t\t\t\t\t\tfrom deleted d join ', @tablename, ' t on  d.', roh.PKNameOfTable ,' = t.', roh.PKNameOfTable\r\n ,'\r\n\t\t\t\t\t\t\t\t\t\twhere ISNULL(d.UID_Person, '''' ) <> ISNULL(t.UID_Person, '''' )\r\n\t\t\t\t\t\t\t\t\t\t) ' ) ) , '\r\n\r\n\texec QBM_PSplittedElementProcess @SplittedElements'\r\n,'_', roh.TableToSelectFrom,'_', roh.ColumnToSelect, ', ''' , roh.SplittedLookupSupport, '''\r\n\r\n end\r\n\r\n' ) )  , N'' )  from ( select ti.*, dbo.QBM_FSQJoinsForSplittedLookup\r\n(ti.UID_DialogTable) as joins, dbo.QBM_FGIPrimaryKeyName(@tablename , 1) as PKNameOfTable from (  select t.TableName as TableToSelectFrom, c.ColumnName\r\n as ColumnToSelect, c.UID_DialogColumn, c.IsMultiValued, c.SplittedLookupSupport , t.SplittedLookupSupport as TableSplittedLookupSupport, t.UID_DialogTable\r\n from DialogTable t join DialogColumn c on c.UID_DialogTable = t.UID_DialogTable where t.SplittedLookupSupport like 'FK(%' and c.SplittedLookupSupport \r\n> ' ' and dbo.QBM_FGIColumnExists(t.TableName, 'XObjectKey') = 1 ) as ti where exists (select top 1 1 from dbo.QBM_FCVStringToList(dbo.QBM_FCVFKDollarToRelationMVP\r\n(ti.TableToSelectFrom, ti.TableSplittedLookupSupport), char(7), 1, 0 ) sp join QBM_VQBMRelation r on sp.ParameterValue = r.UID_QBMRelation where sp.OrderNumberReverse\r\n = 1 and r.ChildTable = @tablename ) and dbo.QBM_FGIColumnExists(@TableName, 'UID_Person') = 1 ) as roh end if @Body_sub > ' ' begin select @Body = concat\r\n(@Body, @Body_sub) end  if @Body > ' ' begin select @erg = concat('\r\n------------------------------------------------------\r\n--\tQBMSplittedLookup support\r\n------------------------------------------------------\r\n'\r\n , @Body , '\r\n------------------------------------------------------\r\n--\t/ QBMSplittedLookup support\r\n------------------------------------------------------\r\n'\r\n )  end endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQTriggerWatchColumn",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:36.837",
      "ModifyDate": "2026-04-14T23:20:26.78",
      "Definition": "      create   function dbo.QBM_FSQTriggerWatchColumn(@TableName nvarchar(64), @operation nvarchar(16) ) returns nvarchar(max) as begin declare \r\n@columnname varchar(30) declare @TableNameBase varchar(30) declare @realColumnname varchar(30)   declare @uid_dialogcolumn varchar(38) declare @tableview\r\n varchar(30) declare @whereclause nvarchar(max) declare @IsAlreadyInsertClause bit = 0 declare @IsAlreadyInsertValue bit = 0 declare @columnname_alt varchar\r\n(30) = '' declare @erg nvarchar(max) = N'' declare @SchemaDatatype varchar(128) declare @OperationForColumns varchar(16) declare @elements table (ElementIndex\r\n int identity NOT NULL , columnname varchar(30) collate database_default , uid_dialogcolumn varchar(38) collate database_default , tableview varchar(30\r\n) collate database_default , realColumnname varchar(30) collate database_default , TableNameBase varchar(30) collate database_default , SchemaDatatype \r\nvarchar(128) collate database_default ) declare @ElementCount int declare @ElementIndex int if @operation = 'UpdateDelete' begin select @OperationForColumns\r\n = 'Delete' end else begin select @OperationForColumns = @operation end insert into @elements(columnname , uid_dialogcolumn , tableview , realColumnname\r\n , TableNameBase , SchemaDatatype ) select wg.columnname , rtrim(c.uid_dialogColumn), wg.TableNameView, wg.ColumnNameView , isnull(bt.TableName, t.TableName\r\n) , c.SchemaDataType from dbo.QBM_FTColumnsToWatch(@TableName , @OperationForColumns) wg join dialogColumn c with (readpast) on wg.columnnameView = c.columnname\r\n join DialogTable t with (readpast) on wg.TableNameView = t.TableName and c.UID_DialogTable = t.UID_DialogTable left outer join DialogTable bt with (readpast\r\n) on t.UID_DialogTableBase = bt.UID_DialogTable order by wg.ColumnName, wg.TableNameView select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while\r\n @ElementIndex <= @ElementCount begin select @whereclause = N'' select top 1 @columnname = e.columnname , @uid_dialogcolumn = e.uid_dialogcolumn , @tableview\r\n = e.tableview , @realColumnname = e.realColumnname , @TableNameBase = e.TableNameBase , @SchemaDatatype = e.SchemaDatatype from @elements e where e.ElementIndex\r\n = @ElementIndex     if @operation = 'update' and @columnname <> @Columnname_alt and @ElementIndex > 1 begin select @erg = @erg + N'\r\n\t\t end -- if update('\r\n + @columnname_alt + ')' end if @operation = 'update' and @columnname <> @Columnname_alt begin select @erg = @erg + N'\r\n\t\tif update(' + @columnname + ')\r\n\t\t begin'\r\n select @IsAlreadyInsertClause = 0 end if @IsAlreadyInsertClause = 0 begin select @erg = @erg + N'\r\n\t\t\tinsert into @DialogWatchProperty (UID_DialogColumn, ObjectKeyOfRow\r\n\t\t\t\t\t\t\t\t\t\t\t   , ContentShort, HasContentFull, ContentFull, DisplayValue)'\r\n select @IsAlreadyInsertClause = 1 select @IsAlreadyInsertValue = 0 end if @IsAlreadyInsertValue = 1 begin select @erg = @erg + N'\r\n\t\t\t  union all' end\r\n select @erg = @erg + N'\r\n\t\t\t\tselect ''' + @uid_dialogColumn + N''', d.XObjectKey,  -- ' + @realColumnname + N'\r\n\t' select @IsAlreadyInsertValue = 1 select\r\n @erg = @erg + dbo.QBM_FCVStringToIndent( dbo.QBM_FSQCVColumnToBuffer(@TableNameBase, @columnname, 'd'), 8) select @erg = @erg + N', ' + dbo.QBM_FSQTriggerWatchDisplay\r\n( @TableName , N'd') select @erg = @erg + N'\r\n\t\t\t\t\tfrom deleted d ' if @operation in( 'update' , 'updateDelete') begin select @erg = @erg + N' join ' +\r\n @TableName + N' t on ' + dbo.QBM_FSQTableJoin(@TableName , 'd', 't') end if @operation = 'UpdateDelete' begin select @whereclause = N'\r\n\t\t\t\t\twhere d.XOrigin > 0 and t.XOrigin = 0'\r\n end   if @operation = 'update' begin select @whereclause = N'\r\n\t\t\t\twhere ' + dbo.QBM_FSQIsNullClauseCmp(@TableNameBase, @columnname, 'd') + ' <> ' + dbo.QBM_FSQIsNullClauseCmp\r\n(@TableNameBase, @columnname, 't')  if @SchemaDatatype like '%char%' begin select @whereclause = @whereclause + ' collate SQL_Latin1_General_CP1_CS_AS /* 35127 CS*/ '\r\n end  end   if @TableName <> @tableview begin if len(@whereclause) > 0 begin select @whereclause = @whereclause + N'\r\n\t\t\t\t\t\tand' end else begin select \r\n@whereclause = N'\r\n\t\t\t\t\twhere' end select @whereclause = @whereclause + N' d.XObjectKey like ''<Key><T>' + @tableview + '</T>%''' end select @erg = @erg\r\n + @whereclause select @Columnname_alt = @columnname   if @operation = 'update' and @ElementIndex = @ElementCount begin select @erg = @erg + N'\r\n\t\t end -- if update('\r\n + @columnname_alt + ')' end select @ElementIndex += 1 end  return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQTriggerWatchDisplay",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:36.817",
      "ModifyDate": "2026-04-14T23:20:26.753",
      "Definition": "   create   function dbo.QBM_FSQTriggerWatchDisplay(@TableName nvarchar(64), @Alias nvarchar(16)  ) returns nvarchar(max) as begin declare @DisplayPattern\r\n nvarchar(max) = '' declare @UID_DialogTable varchar(38) declare @Work nvarchar(max) = '' declare @ColumnName nvarchar(64) declare @SchemaDatatype nvarchar\r\n(64) declare @ParentTable varchar(30) declare @ParentColumn varchar(30) declare @erg nvarchar(max) declare @ElementBuffer QBM_YCursorBuffer        declare\r\n @ElementCount int declare @ElementIndex int declare @RekLevel int = 0 declare @MaxRekLevel int = 3 select @RekLevel = dbo.QBM_FCVStringToInt(dbo.QBM_FCVStringToDigits\r\n(@Alias ) , 0) declare @subalias varchar(64) = 'p' + dbo.QBM_FCVIntToString( @RekLevel + 1) declare @Erst_OrderNumber int = 0 declare @Erst_OrderNumber_Old\r\n int = 0 declare @Zweit_OrderNumberReverse int = 0 declare @Zweit_OrderNumberReverse_old int = 0 declare @ZweitOrderNumber int = 0 declare @CountDisplayItems\r\n int declare @Literal nvarchar(400)  if @RekLevel > @MaxRekLevel begin goto Endlabel end select top 1 @DisplayPattern = t.DisplayPattern , @UID_DialogTable\r\n = t.UID_DialogTable from DialogTable t where t.TableName = @Tablename if isnull(@DisplayPattern, N'') = N'' begin  select top 1 @DisplayPattern = string_agg\r\n( concat( '%' , x.ColumnName ,'%' )  , ' - ' )  within group (order by x.columnname)   from ( select c.ColumnName from dialogtable t with (readpast) join\r\n DialogColumn c with (readpast) on t.UID_DialogTable = c.UID_DialogTable and t.TableName = @TableName and c.IsPKMember = 1  ) as x if isnull(@DisplayPattern\r\n, N'') = N'' begin goto Endlabel end end insert into @ElementBuffer(Int1, Int2, Ident1, Ident2, Ident3, LongIdent1, Int3  , LongIdent2 ) select erst.OrderNumber\r\n,   zweit.OrderNumberReverse, c.ColumnName, c.SchemaDataType, r.ParentTable , r.ParentColumn, zweit.OrderNumber , zweit.ParameterValue from ( select s1.OrderNumber\r\n, s1.ParameterValue from dbo.QBM_FCVStringToList(@displaypattern, '%', 1,0) s1 ) as erst outer apply dbo.QBM_FCVStringToList(erst.parameterValue, '?', \r\n1,0) as zweit left outer join DialogColumn c on c.UID_DialogTable = @uid_dialogTable and c.ColumnName = zweit.ParameterValue left outer join QBM_VQBMRelation\r\n r on r.ChildTable = @TableName and r.ChildColumn = c.ColumnName and c.SchemaDataLen = 38 order by erst.OrderNumber, zweit.OrderNumber select @ElementCount\r\n = @@ROWCOUNT select @ElementIndex = 1     select @erg = 'concat( '''', ''''  ' select top 1 @CountDisplayItems = max(bu.Int1)  from @ElementBuffer bu \r\nwhile @ElementIndex <= @ElementCount begin select @Erst_OrderNumber_Old = @Erst_OrderNumber select @Zweit_OrderNumberReverse_old = @Zweit_OrderNumberReverse\r\n select top 1 @Erst_OrderNumber = bu.Int1 , @Zweit_OrderNumberReverse = bu.int2 , @Columnname = bu.Ident1 , @SchemaDatatype = bu.Ident2 , @ParentTable \r\n= bu.Ident3  , @ParentColumn = bu.LongIdent1 , @ZweitOrderNumber = bu.Int3 , @Literal = bu.LongIdent2 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex\r\n if @ElementIndex > 1 and @Erst_OrderNumber <> @Erst_OrderNumber_Old begin  select @erg = concat(@erg , char(13), char(10) , N' , N'' '' ' ) end if @ParentTable\r\n > ' ' begin  if @RekLevel >= @MaxRekLevel begin select @erg = concat(@erg , char(13), char(10) , '  , ''''  ' ) select @Work = '' end else begin  select\r\n @Work = ' (select top 1 \r\n\t\t\t' + dbo.QBM_FSQTriggerWatchDisplay(@ParentTable, @subalias) + '\r\n\t\t\tfrom ' + @ParentTable + ' ' + @subalias + ' with (nolock)\r\n\t\t\twhere '\r\n + @subalias + '.' + @ParentColumn + '  = ' + @Alias + '.' + @Columnname + ' \r\n\t\t)\r\n\t' end  end else begin if @ColumnName is null begin select @work = \r\nconcat('''', replace(@Literal , '''', '''''' ), '''') end else begin select @work = dbo.QBM_FGI093F4EF597272C7DCA06D_1(@Erst_OrderNumber, @Zweit_OrderNumberReverse\r\n, @columnname , @Alias, @SchemaDatatype, @ParentTable, @CountDisplayItems) end     end if @Erst_OrderNumber <> @Erst_OrderNumber_Old and @Work > ' ' begin\r\n select @erg = concat(@erg , char(13), char(10) , ', ' , @work) end else begin    if @Zweit_OrderNumberReverse <> @Zweit_OrderNumberReverse_old  begin \r\nselect @erg = replace(@erg , concat('#', trim(str(@Erst_OrderNumber)) , trim(str(@Zweit_OrderNumberReverse)), '#') , dbo.QBM_FCVStringToIndent( @Work, \r\n@ZweitOrderNumber * 3 ) ) select @Work = '' end else begin  select @erg = replace(@erg , concat('#', trim(str(@Erst_OrderNumber)) , trim(str(@Zweit_OrderNumberReverse\r\n)), '#') , concat('/* irregular Display, no parent */ ''', trim(str(@Erst_OrderNumber)) , trim(str(@Zweit_OrderNumberReverse)), '''') ) select @Work = \r\n'' end end select @ElementIndex += 1 end  select @erg = N'left(' + @erg + N'), 255)' endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQTriggerWatchSemaphor",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:36.847",
      "ModifyDate": "2026-04-14T23:20:26.783",
      "Definition": "     create   function dbo.QBM_FSQTriggerWatchSemaphor (@TableName nvarchar(64), @operation nvarchar(16) ) returns nvarchar(max)    as begin declare\r\n @erg nvarchar(max) = '' declare @medium nvarchar(max) declare @pattern nvarchar(max) = '\t\t\tif @IsSemaphorInFullsync = 1\r\n\t\t\t\t begin\r\n\t\t\t\t\tif not exists \r\n\t\t\t\t\t\t(select top 1 1\r\n\t\t\t\t\t\t\tfrom DialogDBQueue q with (readpast)\r\n\t\t\t\t\t\t\twhere q.UID_Task = ''QBM-K-CommonIncSemaphorPost''\r\n\t\t\t\t\t\t\t and q.Object = ''@Semaphorname@''\r\n\t\t\t\t\t\t\t and q.Generation >= 0\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\tbegin\r\n\t\t\t\t\t\texec QBM_PDBQueueInsert_Single ''QBM-K-CommonIncSemaphorPost'', ''@Semaphorname@'', null, @GenProcID\r\n\t\t\t\t\tend\r\n\t\t\t\t end\r\n\t\t\t\telse\r\n\t\t\t\t begin\r\n\t\t\t\t\tif not exists \r\n\t\t\t\t\t\t(select top 1 1\r\n\t\t\t\t\t\t\tfrom DialogDBQueue q with (readpast)\r\n\t\t\t\t\t\t\twhere q.UID_Task = ''QBM-K-CommonIncSemaphor''\r\n\t\t\t\t\t\t and q.Object = ''@Semaphorname@''\r\n\t\t\t\t\t\t\t and q.Generation >= 0\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\tbegin\r\n\t\t\t\t\t\texec QBM_PDBQueueInsert_Single ''QBM-K-CommonIncSemaphor'', ''@Semaphorname@'', null, @GenProcID\r\n\t\t\t\t\tend\r\n\t\t\t\t end'\r\n + nchar(13) + nchar(10) select @medium = string_agg(convert(nvarchar(max), concat( case @operation when 'update' then concat('\t if update(' , z.columnname\r\n , ')' , nchar(13) , nchar(10), '\t  begin' , nchar(13) , nchar(10) ) else '' end , z.zeile , case @operation when 'update' then concat('\t  end -- \t if update('\r\n , z.columnname , ')' , nchar(13) , nchar(10) ) else '' end )  )  , nchar(13) + nchar(10) )  from ( select y.columnname, string_agg( replace(@pattern, \r\n'@Semaphorname@', y.SemaphorName) , nchar(13) + nchar(10) ) within group (order by y.SemaphorName) as zeile from ( select distinct case @operation when\r\n 'update' then a.columnname else '' end as columnname, a.Semaphorname from ( select distinct c.ColumnName, se.ChangeContext as SemaphorName from dbo.DialogTable\r\n t with (readpast) join dbo.DialogColumn c with (readpast) on t.UID_DialogTable = c.UID_DialogTable and t.TableName = @TableName join dbo.DialogColumnHasSemaphor\r\n ch with (readpast) on c.UID_DialogColumn = ch.UID_DialogColumn join dbo.DialogSemaphor se with (readpast) on ch.UID_DialogSemaphor = se.UID_DialogSemaphor\r\n where ( c.IsPKMember = 1 and @Operation = 'insert' or c.IsPKMember = 0 and @Operation = 'update' or c.IsPKMember = 1 and @Operation = 'delete' ) ) as \r\na ) as y group by y.columnname ) as z if @medium > ' ' begin select @erg = concat(replicate(N'-', 64) , nchar(13) , nchar(10) , N'-- SemaphorCheck' , nchar\r\n(13) , nchar(10) , replicate(N'-', 64) , nchar(13) , nchar(10) , @medium , replicate(N'-', 64) , nchar(13) , nchar(10) , N'-- / SemaphorCheck' , nchar(13\r\n) , nchar(10) , replicate(N'-', 64) , nchar(13) , nchar(10) ) end  ende: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQTriggerWatchTable",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-12-15T17:40:51.87",
      "ModifyDate": "2026-04-14T23:20:26.767",
      "Definition": "       create   function dbo.QBM_FSQTriggerWatchTable (@TableName nvarchar(64) , @Operation nvarchar(16) ) returns nvarchar(max) as begin declare\r\n @erg nvarchar(max) = N'' declare @ergTmp nvarchar(max) = N''  declare @Tables QBM_YSingleGUID  declare @CurrentTable varchar(30) declare @DebugSwitch \r\nint = 0  declare @UmLadenTempEcht nvarchar(max) = '\r\n \r\n\tinsert into @DialogWatchOperation (ObjectKeyOfRow, DisplayValue, UID_DialogWatchOperation)\r\n\t\tselect x.ObjectKeyOfRow, x.DisplayValue, NEWID()\r\n\t\t\tfrom (\r\n\t\t\t\tselect distinct ObjectkeyOfRow , DisplayValue\r\n\t\t\t\tfrom @DialogWatchProperty\r\n\t\t\t\t) as x\r\n\r\n\tinsert into DialogWatchProperty (UID_DialogWatchProperty,UID_DialogWatchOperation, UID_DialogColumn, ContentShort, HasContentFull, ContentFull)\r\n\t\t\tselect newid(), o.UID_DialogWatchOperation, p.UID_DialogColumn, p.ContentShort, p.HasContentFull, p.ContentFull\r\n\t\t\t\tfrom @DialogWatchOperation o join @DialogWatchProperty p on o.ObjectkeyOfRow = p.ObjectkeyOfRow\r\n\r\n\tinsert into DialogWatchOperation ( UID_DialogWatchOperation , GenProcID ,OperationType,  OperationDate, OperationUser, ObjectKeyOfRow , OperationLevel, DisplayValue )\r\n\t\tselect t.UID_DialogWatchOperation , @GenProcID , ''%OperationType%'',  GetUTCDate(), @ActionUser, t.ObjectKeyOfRow , @OperationLevel, t.DisplayValue\r\n\t\t\tfrom @DialogWatchOperation t\r\n\r\n'\r\n declare @XOriginHandling bit = 0 if @operation in ('insert') begin insert into @Tables(UID_SingleGuid ) select distinct TableNameView from dbo.QBM_FTColumnsToWatch\r\n(@TableName , @Operation) while exists(select top 1 1 from @Tables ) begin select top 1 @CurrentTable = t.UID_SingleGuid  from @Tables t if @erg > ' ' \r\nbegin select @erg = concat(@erg , '\r\n\t\t\t\tunion all' ) end select @erg = concat(@erg , '\t\t\t\r\n\t\t\tselect newid() , @GenProcID , ''' , upper(substring(@operation\r\n,1,1)) , N''',  GetUTCDate(), @ActionUser, t.XObjectKey , @OperationLevel, ' )  select @erg = concat(@erg , dbo.QBM_FSQTriggerWatchDisplay(@TableName ,\r\n N't') ) select @erg = concat(@erg , N'\r\n\t\t\tfrom inserted t' ) if @CurrentTable <> @TableName  begin select @erg = concat(@erg , '\r\n\t\t\twhere t.XObjectKey like ''<Key><T>'\r\n , @CurrentTable , '</T>%''' ) end delete  @Tables  where UID_SingleGuid  = @CurrentTable end  if @erg > ' ' begin select @erg = concat(N'\r\n\t insert into DialogWatchOperation ( UID_DialogWatchOperation , GenProcID ,OperationType,  OperationDate, OperationUser, ObjectKeyOfRow , OperationLevel, DisplayValue )\r\n'\r\n , @erg ) end  goto endLabel end  if exists (select top 1 1 from DialogTable t with (readpast) join DialogColumn c with (readpast) on t.UID_DialogTable\r\n = c.UID_DialogTable where t.TableName = @TableName and c.ColumnName = 'XOrigin' ) begin select @XOriginHandling = 1 end if @operation = 'update' begin\r\n select @ergTmp = dbo.QBM_FSQTriggerWatchColumn(@TableName, @operation) if @ergTmp > ' ' begin select @erg = concat(@ergTmp , REPLACE(@UmLadenTempEcht,\r\n'%OperationType%', 'U' )) end if @XOriginHandling = 1 begin select @ergTmp = dbo.QBM_FSQTriggerWatchColumn(@TableName, 'UpdateDelete') if @ergTmp > ' '\r\n begin select @erg = concat(@erg , '\t-- Delete handling XOrigin\r\n\tif update(XOrigin)\r\n\t begin\r\n\r\n\t\tdeclare @XOriginWatchOperation QBM_YWatchBufferOp\r\n\t\tdeclare @XOriginWatchProperty QBM_YWatchBufferProp\r\n'\r\n ,  replace(REPLACE(@ergTmp , '@DialogWatchOperation' , '@XOriginWatchOperation') , '@DialogWatchProperty' , '@XOriginWatchProperty')  , '\r\n\r\n' ,  replace\r\n(REPLACE(dbo.QBM_FCVStringToIndent(REPLACE(@UmLadenTempEcht,'%OperationType%', 'D' ), 1) , '@DialogWatchOperation' , '@XOriginWatchOperation') , '@DialogWatchProperty'\r\n , '@XOriginWatchProperty')  , '\r\n\r\n\t end -- if update(XOrigin)\r\n\t -- / Delete handling XOrigin' ) end  end  if @DebugSwitch > 0 begin select @erg = concat\r\n(@erg , ' -- ## DeleteHandling XOrigin im Update') end goto EndLabel end  if @operation = 'delete' begin if @XOriginHandling = 0 begin select @ergTmp =\r\n dbo.QBM_FSQTriggerWatchColumn(@TableName, @operation) if @ergTmp > ' ' begin select @erg = concat(@ergTmp , REPLACE(@UmLadenTempEcht,'%OperationType%'\r\n, 'D' )) end end else begin if @DebugSwitch > 0 begin select @erg = concat(@erg , ' -- ## DeleteHandling XOrigin im delete: leer' ) end end goto EndLabel\r\n end  endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQTriggerWatchXIsInEffect",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:36.883",
      "ModifyDate": "2026-04-14T23:20:26.84",
      "Definition": "   create   function dbo.QBM_FSQTriggerWatchXIsInEffect(@TableName varchar(30) ) returns nvarchar(max)    as begin declare @erg nvarchar(max) = \r\n'' select @erg = STRING_AGG(convert(nvarchar(max), concat(N'\r\n\t\t\tdeclare @EntriesToFire_Assign', x.Zeile , ' QBM_YParameterList\r\n\t\t\tinsert into @EntriesToFire_Assign'\r\n, x.Zeile , '(Parameter1)\r\n\t\t\t\tselect x.XObjectKey\r\n\t\t\t\tfrom deleted d join ' , @TableName , ' x on d.XObjectKey = x.XObjectKey\r\n\t\t\t\twhere x.XOrigin > 0\r\n\t\t\t\t\tand d.XIsInEffect = 0\r\n\t\t\t\t\tand x.XIsInEffect = 1\r\n\t\t\t\t\t '\r\n + case when @TableName = x.TableNameWork then '-- kein XObjectkey-Vergleich nötig' else 'and x.XObjectKey like ''<Key><T>' + x.TableNameWork + '</T>%'''\r\n end + '\r\n\t\t\tif @@rowcount > 0\r\n\t\t\t begin\r\n\t\t\t\texec QBM_PJobCreate_HOFireEvent_L ''' , x.TableNameWork , ''', @EntriesToFire_Assign', x.Zeile , '\r\n\t\t\t\t\t\t, @EventName = ''Assign''\r\n\t\t\t\t\t\t, @GenProcID = @GenProcID\r\n\t\t\t\t\t\t, @isToFreezeOnError = 1\r\n\t\t\t\t\t\t, @WhereClauseAdditional = '' XIsInEffect = 1 '' \r\n\t\t\t\t\t\t, @AdditionalObjectKeysAffected = @AdditionalEntries\r\n\t\t\t end\t\t\t\r\n\r\n\t\t\tdeclare @EntriesToFire_Remove'\r\n, x.Zeile , ' QBM_YParameterList\r\n\t\t\tinsert into @EntriesToFire_Remove', x.Zeile , '(Parameter1)\r\n\t\t\t\tselect x.XObjectKey\r\n\t\t\t\tfrom deleted d join ' , \r\n@TableName , ' x on d.XObjectKey = x.XObjectKey\r\n\t\t\t\twhere x.XOrigin > 0\r\n\t\t\t\t\tand d.XIsInEffect = 1\r\n\t\t\t\t\tand x.XIsInEffect = 0\r\n\t\t\t\t\t ' + case when @TableName\r\n = x.TableNameWork then '-- kein XObjectkey-Vergleich nötig' else 'and x.XObjectKey like ''<Key><T>' + x.TableNameWork + '</T>%''' end + '\r\n\r\n\t\t\tif @@rowcount > 0\r\n\t\t\t begin\r\n\t\t\t\texec QBM_PJobCreate_HOFireEvent_L '''\r\n , x.TableNameWork , ''', @EntriesToFire_Remove', x.Zeile , '\r\n\t\t\t\t\t\t, @EventName = ''Remove''\r\n\t\t\t\t\t\t, @GenProcID = @GenProcID\r\n\t\t\t\t\t\t, @isToFreezeOnError = 1\r\n\t\t\t\t\t\t, @WhereClauseAdditional = '' XIsInEffect = 0 '' \r\n\t\t\t\t\t\t, @AdditionalObjectKeysAffected = @AdditionalEntries\r\n\t\t\t end\r\n\t\t\t'\r\n )  )  , N'' )  from ( select y.TableNameWork, trim(str(ROW_NUMBER() over(order by y.tablenameWork))) as Zeile from ( select t.TableName as TableNameWork\r\n from dbo.DialogTable t with (readpast) where t.TableName = @TableName and t.TableType = 'T'  and t.IsDeactivatedByPreProcessor = 0 and t.isAssignmentWithEvent\r\n = 1 union select v.TableName from dbo.DialogTable v with (readpast) where v.UID_DialogTableBase in ( Select b.UID_DialogTable from dbo.DialogTable b with\r\n (readpast) where b.TableName = @TableName and b.TableType = 'B' )  and v.IsDeactivatedByPreProcessor = 0 and v.isAssignmentWithEvent = 1 ) as y ) as x\r\n if @erg > ' ' begin select @erg = concat( '\r\n---------------------------------------\r\n-- Fire Events for XIsInEffect\r\n---------------------------------------\r\n\tif update(XIsInEffect)\r\n\t begin\r\n'\r\n , @erg , '\r\n\t end -- if update(XIsInEffect)\r\n\r\n---------------------------------------\r\n-- / Fire Events for XIsInEffect\r\n---------------------------------------\r\n'\r\n ) end else begin select @erg = '' end endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQTriggerWatchXOrigin",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:36.873",
      "ModifyDate": "2026-04-14T23:20:26.833",
      "Definition": "   create   function dbo.QBM_FSQTriggerWatchXOrigin(@TableName varchar(30) ) returns nvarchar(max) as begin declare @IsAssgnmentWithEvent bit declare\r\n @erg nvarchar(max) = '' declare @pre nvarchar(max) = '' declare @IsCreatePendingChange int declare @TablenameWork varchar(30) declare @ElementBuffer QBM_YCursorBuffer\r\n declare @ElementCount int declare @ElementIndex int declare @zeile varchar(16)  declare @PatternDelay0 varchar(64) = dbo.QBM_FCVBinaryToString(dbo.QBM_FGIBitPatternXMarkedForDel\r\n('|Delay|', 0) ,0) declare @PatternDelay1 varchar(64) = dbo.QBM_FCVBinaryToString(dbo.QBM_FGIBitPatternXMarkedForDel('|Delay|', 1) ,0) declare @StringPatternOutStanding\r\n varchar(16) = dbo.QBM_FCVBinaryToString(dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|',0), 0) declare @StringPatternDirect varchar(16) = dbo.QBM_FCVBinaryToString\r\n(dbo.QBM_FGIBitPatternXOrigin('|Direct|',0), 0) declare @isMNTable bit , @IsMAllTable bit select top 1 @isMNTable = tx.isMNTable , @IsMAllTable = tx.IsMAllTable\r\n from DialogTable tx with (readpast) where tx.TableName = @TableName if @isMNTable = 1 begin  select top 1 @pre = @pre + '\r\n\t\t\tdelete /* 34049 */ @AdditionalEntries\r\n\t\t\tinsert into @AdditionalEntries(Parameter1, Parameter2)\r\n\t\t\t select p.XObjectKey, d.XObjectKey \r\n\t\t\t\tfrom deleted d join '\r\n + @TableName + ' x on d.XObjectKey = x.XObjectKey\r\n\t\t\t\t\t\t\t\tjoin ' + r.ParentTable + ' p on p.' + r.ParentColumn + ' = x.' + r.ChildColumn + '\r\n\t\t\t\t\t\t\twhere x.XOrigin = 0\r\n\t\t\t\t\t\t\t and d.XOrigin > 0\r\n\r\n\t\t'\r\n from QBM_VQBMRelation r where r.ChildTable = @TableName and r.IsMNRelation = 1 order by UID_QBMRelation asc  select top 1 @pre = @pre + ' \r\n\t\t\t  union \r\n\t\t\t  select p.XObjectKey, d.XObjectKey \r\n\t\t\t\tfrom deleted d join '\r\n + @TableName + ' x on d.XObjectKey = x.XObjectKey\r\n\t\t\t\t\t\t\t\tjoin ' + r.ParentTable + ' p on p.' + r.ParentColumn + ' = x.' + r.ChildColumn + '\r\n\t\t\t\t\t\t\twhere x.XOrigin = 0\r\n\t\t\t\t\t\t\t and d.XOrigin > 0\r\n\r\n\t\t'\r\n from QBM_VQBMRelation r where r.ChildTable = @TableName and r.IsMNRelation = 1 order by UID_QBMRelation desc end if @IsMAllTable = 1 begin select top \r\n1 @pre = @pre + '\r\n\t\t\tdelete /* 34049 */ @AdditionalEntries\r\n\t\t\tinsert into @AdditionalEntries(Parameter1, Parameter2)\r\n\t\t\t select p.XObjectKey, d.XObjectKey\r\n\t\t\t\tfrom deleted d join '\r\n + @TableName + ' x on d.XObjectKey = x.XObjectKey\r\n\t\t\t\t\t\t\t\tjoin ' + r.ParentTable + ' p on p.' + r.ParentColumn + ' = x.' + r.ChildColumn + '\r\n\t\t\t\t\t\t\twhere x.XOrigin = 0\r\n\t\t\t\t\t\t\t and d.XOrigin > 0\r\n\r\n\t\t'\r\n from QBM_VQBMRelation r join DialogColumn c with (readpast) on r.UID_ParentColumn = c.UID_DialogColumn and c.SchemaDataLen = 38 where r.ChildTable = @TableName\r\n order by UID_QBMRelation asc  select top 1 @pre = @pre + ' \r\n\t\t\t  union \r\n\t\t\t  select x.' + c.ColumnName + ', d.XObjectKey\r\n\t\t\t\tfrom deleted d join ' \r\n+ @TableName + ' x on d.XObjectKey = x.XObjectKey\r\n\t\t\t\t\t\t\twhere x.XOrigin = 0\r\n\t\t\t\t\t\t\t and d.XOrigin > 0\r\n\r\n\t\t' from DialogTable t with (readpast) join\r\n DialogColumn c with (readpast) on t.UID_DialogTable = c.UID_DialogTable where c.IsDynamicFK = 1 and t.TableName = @TableName end   insert into @ElementBuffer\r\n (Ident1  , Bit1  , Int1  ) select t.TableName , t.isAssignmentWithEvent , sign(t.PendingChangeBehavior & 0x01)  from DialogTable t with (readpast) where\r\n t.TableName = @TableName and t.TableType = 'T'  and t.IsDeactivatedByPreProcessor = 0 union select v.TableName , v.isAssignmentWithEvent , sign(v.PendingChangeBehavior\r\n & 0x01) from DialogTable v with (readpast) where v.UID_DialogTableBase in ( Select b.UID_DialogTable from DialogTable b with (readpast) where b.TableName\r\n = @TableName and b.TableType = 'B' )  and v.IsDeactivatedByPreProcessor = 0 order by 1 select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while\r\n @ElementIndex <= @ElementCount begin select top 1 @TablenameWork = bu.Ident1  , @IsAssgnmentWithEvent = bu.Bit1  , @IsCreatePendingChange = bu.Int1  ,\r\n @zeile = TRIM(str(@ElementIndex)) from @ElementBuffer bu where bu.ElementIndex = @ElementIndex if @IsAssgnmentWithEvent = 1  begin  select @erg = @erg\r\n + N'\r\n\t\t\t-- Table: ' + @TablenameWork + '   ( events = ' + str(@IsAssgnmentWithEvent) + ')\r\n\t\t\tdeclare @EntriesToFire_XOriginWEvent' + @zeile + ' QBM_YParameterList\r\n\t\t\tinsert into @EntriesToFire_XOriginWEvent'\r\n + @zeile + '(Parameter1)\r\n\t\t\t\tselect x.XObjectKey\r\n\t\t\t\tfrom deleted d join ' + @TableName + ' x on d.XObjectKey = x.XObjectKey\r\n\t\t\t\twhere x.XOrigin = 0\r\n\t\t\t\t and d.XOrigin  > 0 \r\n\t\t\t\t '\r\n + case @IsCreatePendingChange when 1 then '' else '--' end + 'and d.XOrigin & ' + @StringPatternDirect + ' = 0 \r\n\t\t\t\t ' + case when @TableName = @TablenameWork\r\n then '-- kein XObjectkey-Vergleich nötig' else 'and x.XObjectKey like ''<Key><T>' + @TablenameWork + '</T>%''' end + '\r\n\t\t\t\t and d.XMarkedForDeletion & '\r\n + @StringPatternOutStanding + ' = 0 \r\n\t' if @IsCreatePendingChange = 1 begin  select @erg = @erg + '\r\n\t\t\tif @@rowcount > 0\r\n\t\t\t begin\r\n\t\t\t\texec QBM_PJobCreate_HOFireEvent_L '''\r\n + @TablenameWork + ''', @EntriesToFire_XOriginWEvent' + @zeile + '\r\n\t\t\t\t\t\t, @EventName = ''Remove''\r\n\t\t\t\t\t\t, @GenProcID = @GenProcID\r\n\t\t\t\t\t\t, @AdditionalObjectKeysAffected = @AdditionalEntries\r\n\t\t\t\t\t\t, @ConnectionVariables = ''XORIGINEMPTY''\r\n\t\t\t\t\t\t, @isToFreezeOnError = 1 \r\n\t\t\t\t\t\t, @WhereClauseAdditional = '' XOrigin = 0 '' \r\n\t\t\t end\r\n\t\t\t'\r\n end else  begin   select @erg = concat(@erg , '\r\n\t\t\tif @@rowcount > 0\r\n\t\t\t begin\r\n\t\t\t\t-- 27517\r\n\t\t\t\tif exists (select top 1 1\r\n\t\t\t\t\t\t\tfrom ' , @Tablename\r\n , ' m join @EntriesToFire_XOriginWEvent' , @zeile , ' e on m.XObjectKey = e.Parameter1\r\n\t\t\t\t\t\t\twhere m.XMarkedForDeletion & ' , @PatternDelay0 , ' > 0\r\n\t\t\t\t\t\t)\r\n\t\t\t\t begin\r\n\t\t\t\t\tupdate '\r\n , @Tablename , '\r\n\t\t\t\t\t\tset XMarkedForDeletion = XMarkedForDeletion &  ' , @PatternDelay1 , '\r\n\t\t\t\t\t\t' , case dbo.QBM_FGIColumnExistsInSchema(@TableName\r\n, 'XDateUpdated') when 1 then ', XDateUpdated = @Xdate, XUserUpdated = @XUser ' else '' end , '\r\n\t\t\t\t\t\t\tfrom ' , @Tablename , ' m join @EntriesToFire_XOriginWEvent'\r\n , @zeile , ' e on m.XObjectKey = e.Parameter1\r\n\t\t\t\t\t\t\twhere m.XMarkedForDeletion & ' , @PatternDelay0 , ' > 0\r\n\t\t\t\t end\r\n\r\n\t\t\t\t -- für alle das event, manchmal wird es ins leere gehen\r\n\t\t\t\texec QBM_PJobCreate_HODelete_L '''\r\n , @TablenameWork , ''', @EntriesToFire_XOriginWEvent' , @zeile , '\r\n\t\t\t\t\t\t, @GenProcID = @GenProcID\r\n\t\t\t\t\t\t, @AdditionalObjectKeysAffected = @AdditionalEntries\r\n\t\t\t\t\t\t, @ConnectionVariables = ''XORIGINEMPTY''\r\n\t\t\t\t\t\t, @isToFreezeOnError = 1 \r\n\t\t\t\t\t\t, @WhereClauseAdditional = '' XOrigin = 0  '' \r\n\r\n\t\t\t\t-- aus @EntriesToFire_XOriginWEvent'\r\n , @zeile , ' alle die löschen, die über die View erreichbar sind, für den Rest hartes SQLDelete\r\n\t\t\t\tdelete /* 34049 */ @EntriesToFire_XOriginWEvent' \r\n, @zeile , '\r\n\t\t\t\t\tfrom @EntriesToFire_XOriginWEvent' , @zeile , ' e join ' , @TablenameWork , ' v on e.Parameter1 = v.XObjectKey\r\n\t\t\t\texec QBM_PJobCreate_SQLDel_L '''\r\n , @Tablename , ''', @EntriesToFire_XOriginWEvent' , @zeile , '\r\n\t\t\t\t\t\t, @GenProcID = @GenProcID\r\n\t\t\t\t\t\t, @AdditionalObjectKeysAffected = @AdditionalEntries\r\n\t\t\t\t\t\t, @isToFreezeOnError = 1\r\n\t\t\t\t\t\t, @WhereClauseAdditional = '' XOrigin = 0 '' \r\n\r\n\t\t\t end\r\n\t\t\t'\r\n )  end    select @erg = @erg + N'\r\n\t\t\t--delete /* 34049 */ @EntriesToFire\r\n\t\t\tdeclare @EntriesToFire_Out' + @zeile + ' QBM_YParameterList\r\n\t\t\tinsert into @EntriesToFire_Out'\r\n + @zeile + '(Parameter1)\r\n\t\t\t\tselect x.XObjectKey\r\n\t\t\t\tfrom deleted d join ' + @TableName + ' x on d.XObjectKey = x.XObjectKey\r\n\t\t\t\twhere x.XOrigin = 0\r\n\t\t\t\t and d.XOrigin > 0\r\n\t\t\t\t '\r\n + case when @TableName = @TablenameWork then '-- kein XObjectkey-Vergleich nötig' else 'and x.XObjectKey like ''<Key><T>' + @TablenameWork + '</T>%'''\r\n end + '\r\n\t\t\t\t and d.XMarkedForDeletion & ' + @StringPatternOutStanding + ' > 0 \r\n\t\t'  select @erg = @erg + '\r\n\t\t\tif @@rowcount > 0\r\n\t\t\t begin\r\n\t\t\t\texec QBM_PJobCreate_SQLDel_L '''\r\n + @Tablename + ''', @EntriesToFire_Out' + @zeile + '\r\n\t\t\t\t\t\t, @GenProcID = @GenProcID\r\n\t\t\t\t\t\t, @AdditionalObjectKeysAffected = @AdditionalEntries\r\n\t\t\t\t\t\t, @isToFreezeOnError = 1 \r\n\t\t\t\t\t\t, @WhereClauseAdditional = '' XOrigin = 0 '' \r\n\t\t\t end\r\n\t\t\t'\r\n end  else begin select @erg = @erg + N'\r\n\t\t\t-- Table: ' + @TablenameWork + '   ( events = ' + str(@IsAssgnmentWithEvent) + ')\r\n\t\t\tdeclare @EntriesToFire_OutO'\r\n + @zeile + ' QBM_YParameterList\r\n\t\t\tinsert into @EntriesToFire_OutO' + @zeile + '(Parameter1)\r\n\t\t\t\tselect x.XObjectKey\r\n\t\t\t\tfrom deleted d join ' + @TableName\r\n + ' x on d.XObjectKey = x.XObjectKey\r\n\t\t\t\twhere x.XOrigin = 0\r\n\t\t\t\t and d.XOrigin  > 0 \r\n\t\t\t\t ' + case when @TableName = @TablenameWork then '-- kein XObjectkey-Vergleich nötig'\r\n else 'and x.XObjectKey like ''<Key><T>' + @TablenameWork + '</T>%''' end + '\r\n\t'  select @erg = @erg + '\r\n\t\t\tif @@rowcount > 0\r\n\t\t\t begin\r\n\t\t\t\texec QBM_PJobCreate_SQLDel_L '''\r\n + @TableName + ''', @EntriesToFire_OutO' + @zeile + '\r\n\t\t\t\t\t\t, @GenProcID = @GenProcID\r\n\t\t\t\t\t\t, @AdditionalObjectKeysAffected = @AdditionalEntries\r\n\t\t\t\t\t\t, @isToFreezeOnError = 1 \r\n\t\t\t\t\t\t, @WhereClauseAdditional = '' XOrigin = 0 '' \r\n\t\t\t end\r\n\t\t\t'\r\n end  select @ElementIndex += 1 end  if @erg > ' ' begin select @erg = '\r\n---------------------------------------\r\n-- Handle Delete via XOrigin \r\n---------------------------------------\r\n\tif update(XOrigin)\r\n\t begin\r\n\t\tif exists (select top 1 1\r\n\t\t\t\t\tfrom deleted d join '\r\n + @TableName + ' x on d.XObjectKey = x.XObjectKey\r\n\t\t\t\t\twhere x.XOrigin = 0\r\n\t\t\t\t\t and d.XOrigin > 0\r\n\t\t\t\t )\r\n\t\t begin\r\n' + case when @pre > ' ' then \r\n@pre else '' end + @erg + '\r\n\t\t end -- exists\r\n\t end -- if update(XOrigin)\r\n\r\n---------------------------------------\r\n-- / Handle Delete via XOrigin \r\n---------------------------------------\r\n'\r\n end  endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQTypeDef",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.42",
      "ModifyDate": "2026-04-14T23:14:10.423",
      "Definition": "    create   function dbo.QBM_FSQTypeDef (@TypeName nvarchar(64)) returns nvarchar(max) as begin declare @erg nvarchar(max) = '' declare @section\r\n nvarchar(max) if not exists (select top 1 1 from sys.table_types t with (readpast) where t.name = @TypeName ) begin goto endLabel end  select @erg = dbo.QBM_FSQColumDef\r\n(@TypeName, '%')  select @section = dbo.QBM_FSQIndexDef(@TypeName, '%') if @section > ' ' begin select @erg = @erg + char(13) + char(10) + char(13) + char\r\n(10) + @section end  select @section = dbo.QBM_FSQPrimaryKeyDef_S(@TypeName) if @section > ' ' begin select @erg = @erg + char(13) + char(10) + '\t' + @section\r\n +'\r\n' end  select @erg = 'Create Type ' + @TypeName + ' as table (\r\n' + @erg + '\r\n\t\t\t\t)' if exists (select top 1 1 from sys.table_types t with (readpast\r\n) where t.name = @TypeName and t.is_memory_optimized = 1 ) begin select @erg = @erg + '\r\n\twith (MEMORY' + '_' + 'OPTIMIZED = ON)' end endLabel: return(@erg\r\n) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQWatchRevision",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:36.997",
      "ModifyDate": "2026-04-14T23:20:27.037",
      "Definition": "  create   function dbo.QBM_FSQWatchRevision (@tablename varchar(30) , @operation varchar(16) ) returns nvarchar(max) as begin declare @erg nvarchar\r\n(max) = '' declare @tabletype varchar(16) = null declare @OpSynomym varchar(16) = case @Operation when 'Insert' then 'inserted' when 'Update' then 'deleted'\r\n when 'Delete' then 'deleted' else 'Fehlerzustand' end declare @revisionTable varchar(30) = 'QBMTableRevision' select top 1 @tabletype = r.TableType from\r\n QBM_VTablesForRevision r where r.IsForCreateWatchTrigger = 1 and r.TableName = @tablename and dbo.QBM_FGIConfigparmValue('Common\\TableRevision') > ' '\r\n if @tabletype is null begin goto endLabel end if @tabletype = 'B' begin select @erg = CONCAT('\r\ndeclare @TableNamesForRevision QBM_YParameterList\r\ninsert into @TableNamesForRevision(Parameter1)\r\nselect distinct(r.TableName)\r\n\tfrom '\r\n, @OpSynomym, ' x join ', @revisionTable, ' r with (readpast) on x.XObjectKey like CONCAT(''<Key><T>'', r.TableName, ''</T>%'')\r\nexec QBM_PTableRevisionSetMulti @TableNamesForRevision\r\n'\r\n )  goto endLabel end    endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQXDateSubItemUpdate",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:36.92",
      "ModifyDate": "2026-04-14T23:20:26.927",
      "Definition": "        create   function dbo.QBM_FSQXDateSubItemUpdate (@ChildTable varchar(30) , @operation varchar(16) ) returns nvarchar(max) as begin declare\r\n @ProzedurnameAusschluss varchar(64) = 'QBM_ZXMarkedForDeletionPush' declare @IstMitXOrigin bit = 0 declare @IstMitXIsInEffect bit = 0 declare @IstMitXMarkedForDeletion\r\n bit = 0 declare @StringPatternOutStanding varchar(16) declare @StringPatternOutStandingInv varchar(16)  declare @ElementBuffer QBM_YCursorBuffer    declare\r\n @UID_TaskNormal varchar(38) = 'QBM-K-XDateSubItemUpdate' declare @UID_Task_FU varchar(38) = 'QBM-K-XDateSubItemUpdateFU' select top 1 @UID_TaskNormal \r\n= ta.UID_Task from DialogTable t with (readpast) join QBMDBQueueTask ta with (readpast) on ta.UID_Task = left(t.UID_DialogTable, 3) + '-K-XDateSubItemUpdate'\r\n where t.TableName = @ChildTable select top 1 @UID_Task_FU = ta.UID_Task from DialogTable t with (readpast) join QBMDBQueueTask ta with (readpast) on ta.UID_Task\r\n = left(t.UID_DialogTable, 3) + '-K-XDateSubItemUpdateFU' where t.TableName = @ChildTable select @StringPatternOutStanding = dbo.QBM_FCVBinaryToString(\r\n CONVERT(varbinary, dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|',0)), 0) select @StringPatternOutStandingInv = dbo.QBM_FCVBinaryToString( CONVERT\r\n(varbinary, dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|',1)), 0) declare @opSynonym varchar(16) select @opSynonym = case @operation when 'insert'\r\n then 'inserted' when 'delete' then 'deleted' else '' end declare @Vorspann nvarchar(max) = '\r\n\t\t\tdeclare @DBQueueElements_@ChildCol@ QBM_YDBQueueRaw\r\n\t\t\r\n\t\t\tinsert into @DBQueueElements_@ChildCol@ (object, subobject, genprocid)'\r\n declare @Nachspann nvarchar(max) = '\r\n\t\t\t\t) as x \r\n\r\n\t\t\texec QBM_PDBQueueInsert_Bulk @UID_TaskXDateSubItemUpdate , @DBQueueElements_@ChildCol@ \r\n\t' declare\r\n @Condition nvarchar(max) = ''  declare @AllStatements nvarchar(max) = ''  if exists (select top 1 1 from DialogColumn c with (readpast) join DialogTable\r\n t with (readpast) on c.UID_DialogTable = t.UID_DialogTable where t.TableName = @ChildTable and c.ColumnName = 'XOrigin' ) begin select @IstMitXOrigin \r\n= 1 if exists (select top 1 1 from DialogColumn c with (readpast) join DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable where t.TableName\r\n = @ChildTable and c.ColumnName = 'XIsInEffect' ) begin select @IstMitXIsInEffect = 1 end end if exists (select top 1 1 from DialogColumn c with (readpast\r\n) join DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable where t.TableName = @ChildTable and c.ColumnName = 'XMarkedForDeletion' )\r\n begin select @IstMitXMarkedForDeletion = 1 end if @IstMitXOrigin = 1 begin select @Condition = case @operation when 'insert' then 'where i.XOrigin > 0'\r\n when 'update' then 'where (dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, i.XOrigin, 1, 1) = 1 ' + NCHAR(13) + NCHAR(10) + '  @25923@   ' + NCHAR(13) + NCHAR\r\n(10) + '    ) ' + NCHAR(13) + NCHAR(10) + '@xdc@' when 'delete' then '' else '' end if @IstMitXIsInEffect = 1 begin select @Condition = case @operation\r\n when 'insert' then 'where i.XIsInEffect > 0' when 'update' then 'where (dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, i.XOrigin, d.XIsInEffect, i.XIsInEffect) = 1'\r\n + NCHAR(13) + NCHAR(10) + '  @25923@   ' + NCHAR(13) + NCHAR(10) + '    ) ' + NCHAR(13) + NCHAR(10) + '@xdc@' when 'delete' then '' else '' end if @operation\r\n = 'update' begin select @Vorspann = '\r\n\t\tif update(XOrigin)\r\n\t\t or update(XIsInEffect)\r\n\t\t or @xdi@\r\n\t\t begin\r\n\t\t\t\t' + @Vorspann select @Nachspann = @Nachspann\r\n + '\r\n\t\t end\r\n\t\t\t\t' end end else begin  if @operation = 'update' begin select @Vorspann = '\r\n\t\tif update(XOrigin)\r\n\t\t or @xdi@\r\n\t\t begin\r\n\t\t\t\t' + @Vorspann\r\n select @Nachspann = @Nachspann + '\r\n\t\t end\r\n\t\t\t\t' end end end else begin  select @Condition = case @operation when 'insert' then '-- where 1=1' when 'update'\r\n then 'where 1 = 0'+NCHAR(13) +NCHAR(10) + '@xdc@' when 'delete' then '@xdd@' else '' end if @operation = 'update' and @IstMitXMarkedForDeletion = 1 begin\r\n select @Vorspann = '\r\n\t\tif @xdi@\r\n\t\t begin\r\n\t\t\t\t' + @Vorspann select @Nachspann = @Nachspann + '\r\n\t\t end\r\n\t\t\t\t' end end if @operation = 'update' and @IstMitXMarkedForDeletion\r\n = 1 begin select @Condition = replace(@Condition, '@xdc@', '\r\n\t\t\t\t\t\t\tor (d.XMarkedForDeletion & ' + @StringPatternOutStanding + ' > 0\r\n\t\t\t\t\t\t\t\tand i.XMarkedForDeletion & '\r\n + @StringPatternOutStanding + ' = 0\r\n\t\t\t\t\t\t\t\tand @ActionUser <> ''' + @ProzedurnameAusschluss + '''\r\n\t\t\t\t\t\t\t\t' + case @IstMitXOrigin when 1 then ' and i.XOrigin > 0'\r\n else '' end + '\r\n\t\t\t\t\t\t\t  )' ) end if @IstMitXMarkedForDeletion = 1 begin select @vorspann = replace(@vorspann, '@xdi@', dbo.QBM_FCVStringToIndent( ' (update(XMarkedForDeletion)\r\n\t\t\t\tand @ActionUser <> '''\r\n + @ProzedurnameAusschluss + '''\r\n\t\t\t)\r\n\t', 3)) select @Condition = replace(replace(@condition , '@25923@', 'and d.XMarkedForDeletion & ' + @StringPatternOutStanding\r\n + ' = 0') , '@xdd@', 'where i.XMarkedForDeletion & ' + @StringPatternOutStanding + ' = 0') end else begin select @vorspann = replace(@vorspann, '@xdi@'\r\n, dbo.QBM_FCVStringToIndent( ' 1=0' , 3)) select @Condition = replace(replace(@condition , '@25923@', '') , '@xdd@', '-- where 1=1') end insert into @ElementBuffer\r\n (ContentFull) select  replace(@Vorspann, '@ChildCol@', cc.ColumnName) + '\r\n\t\t\tselect x.uid , ''' + tp.UID_DialogTable + ''' ,   @GenProcID\r\n\t\t    from ( \t\t\t\r\n\t\t\t\t\tselect distinct p.'\r\n + PKp.ColumnName + ' as uid\r\n\t\t\t    ' + case @operation when 'update' then '\tfrom ' + tc.TableName + ' i join deleted d on ' + dbo.QBM_FSQTableJoin(tc.TableName\r\n, 'd', 'i') + '\r\n\t\t\t\t\t\t\t\t\t\tjoin ' + tp.TableName + ' p on i.' + cc.ColumnName + ' = p.' + cp.ColumnName + '\r\n\t\t\t' else '\tfrom ' + @opSynonym + ' /*' + \r\ntc.TableName + '*/  i join ' + tp.TableName + ' p on i.' + cc.ColumnName + ' = p.' + cp.ColumnName + '\r\n\t\t\t' end + '\t\t\t' + @Condition + replace(@Nachspann\r\n, '@ChildCol@', cc.ColumnName) from QBMRelation r with (readpast) join DialogColumn cc with (readpast) on r.UID_ChildColumn = cc.UID_DialogColumn join \r\nDialogTable tc with (readpast) on cc.UID_DialogTable = tc.UID_DialogTable and tc.TableType = 'T' join DialogColumn cp with (readpast) on r.UID_ParentColumn\r\n = cp.UID_DialogColumn join DialogTable tp with (readpast) on cp.UID_DialogTable = tp.UID_DialogTable and tp.TableType = 'T' join DialogColumn cpch with\r\n (readpast) on tp.UID_DialogTable = cpch.UID_DialogTable and cpch.ColumnName = 'XDateSubItem' join DialogColumn PKp with (readpast) on pkp.UID_DialogTable\r\n = tp.UID_DialogTable and pkp.IsPKMember = 1  and not exists (Select top 1 1 from DialogColumn PKcheck with (readpast) where PKcheck.UID_DialogTable = \r\npkp.UID_DialogTable and pkcheck.IsPKMember = 1 and PKcheck.ColumnName <> pkp.ColumnName ) where ( tc.isMNTable = 1  or tc.IsMAllTable = 1 ) and tc.TableName\r\n = @ChildTable and r.IsForUpdateXDateSubItem = 1 and @Condition > ' ' select @AllStatements = string_agg(convert(nvarchar(max), bu.ContentFull )  , N''\r\n )  from @ElementBuffer bu if @allStatements > ' ' begin select @allStatements = concat('\r\n\t\t-----------------------------------\r\n\t\t-- Handling of XDateSubItem \t\r\n\t\t-----------------------------------\r\n\t\tif dbo.QBM_FGISessionContext (''Fullsync'') > '' ''\r\n\t\t\tselect @UID_TaskXDateSubItemUpdate = '''\r\n, @UID_Task_FU , '''\r\n\t\telse\r\n\t\t\tselect @UID_TaskXDateSubItemUpdate = ''', @UID_TaskNormal , '''\r\n\t\t' , @allStatements , '\r\n\t\t-----------------------------------\r\n\t\t-- / Handling of XDateSubItem \t\r\n\t\t-----------------------------------'\r\n )  end endLabel: return(@allStatements) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FSQXMarkedForDeletionChg",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:36.953",
      "ModifyDate": "2026-04-14T23:20:26.977",
      "Definition": "       create   function dbo.QBM_FSQXMarkedForDeletionChg (@ParentTable varchar(30) , @operation varchar(16) ) returns nvarchar(max) as begin declare\r\n @Pattern varchar(64) = dbo.QBM_FCVBinaryToString( CONVERT(varbinary, dbo.QBM_FGIBitPatternXMarkedForDel('|Delay|OutStanding|', 0)), 0) , @Pattern_nurO\r\n varchar(64) = dbo.QBM_FCVBinaryToString( CONVERT(varbinary, dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|', 0)), 0) , @Pattern_nurO_inv varchar(64\r\n) = dbo.QBM_FCVBinaryToString( CONVERT(varbinary, dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|', 1)), 0) declare @UID_DialogTable varchar(38) declare\r\n @PKColumnName varchar(30) declare @CountPK int declare @ElementBuffer QBM_YCursorBuffer declare @TSTables QBM_YParameterList  declare @erg nvarchar(max\r\n) = ''  declare @UID_TaskNormal varchar(38) = 'QBM-K-XMarkedForDeletionPush' select top 1 @UID_DialogTable = t.UID_DialogTable , @PKColumnName = t.PKName1\r\n , @CountPK = case when t.PKName2 > ' ' then 2 else 1 end from DialogTable t with (readpast) where t.TableName = @ParentTable select top 1 @UID_TaskNormal\r\n = ta.UID_Task from DialogTable t with (readpast) join QBMDBQueueTask ta with (readpast) on ta.UID_Task = left(t.UID_DialogTable, 3) + '-K-XMarkedForDeletionPush'\r\n where t.TableName = @ParentTable if @operation in ('Insert', 'Delete') begin goto EndLabel end if dbo.QBM_FGIColumnExists(@ParentTable, 'XMarkedForDeletion'\r\n) = 1 begin if dbo.QBM_FGIColumnExists(@ParentTable, 'XDateSubItem') = 1 begin select @erg = concat('\r\n\t\t\tdeclare @DBQueueElements_XMarkedForDel QBM_YDBQueueRaw\r\n\t\r\n\t\t\tinsert into @DBQueueElements_XMarkedForDel (object, subobject, genprocid)\r\n\t\t\tselect x.uid, '''\r\n , @UID_DialogTable , ''',   @GenProcID\r\n\t\t\tfrom ( \t\t\t\r\n\t\t\t\t\tselect i.' , @PKColumnName , ' as uid\r\n\t   \t\t\t\tfrom ' , @ParentTable , ' i join deleted d on '\r\n , dbo.QBM_FSQTableJoin(@ParentTable, 'd', 'i') , '\r\n\t\t\t\t\t\twhere (d.XMarkedForDeletion & ' , @Pattern , ')\r\n\t\t\t\t\t\t  <>  (i.XMarkedForDeletion & ' , @Pattern\r\n , ')\r\n\t\t\t\t) as x \r\n\r\n\t\t\texec QBM_PDBQueueInsert_Bulk ''', @UID_TaskNormal , ''' , @DBQueueElements_XMarkedForDel \r\n\t\t' )  end     if exists (select top\r\n 1 1 from sys.tables v with (readpast) where v.name = 'DPRNameSpaceHasDialogTable' )  and exists (select top 1 1 from QBM_VQBMRelationALL a join DialogTable\r\n tc with (readpast) on a.UID_DialogTableChild = tc.UID_DialogTable join DialogColumn cc with (readpast) on tc.UID_DialogTable = cc.UID_DialogTable and \r\ncc.ColumnName = 'XMarkedForDeletion' where a.ParentTable = @ParentTable and a.IsForUpdateXDateSubItem = 0 and ( tc.IsMAllTable = 1  or tc.isMNTable = 1\r\n ) ) begin insert into @TSTables(Parameter1) select distinct t.TableName from DPRNameSpaceHasDialogTable nht with (readpast) join DialogTable t with (readpast\r\n) on nht.UID_DialogTable = t.UID_DialogTable insert into @ElementBuffer (Ident1, Ident2, Ident3) select a.ParentColumn, a.ChildTable, a.ChildColumn from\r\n QBM_VQBMRelationALL a join DialogTable tc with (readpast) on a.UID_DialogTableChild = tc.UID_DialogTable join DialogColumn cc with (readpast) on tc.UID_DialogTable\r\n = cc.UID_DialogTable and cc.ColumnName = 'XMarkedForDeletion' join @TSTables etp on etp.parameter1 = @ParentTable join @TSTables etc on etc.Parameter1\r\n = a.ChildTable where a.ParentTable = @ParentTable and a.IsForUpdateXDateSubItem = 0 and ( tc.IsMAllTable = 1  or tc.isMNTable = 1 ) and dbo.QBM_FCVGUIDToModuleOwner\r\n(a.UID_DialogTableParent) = dbo.QBM_FCVGUIDToModuleOwner(a.UID_DialogTableChild)  and (exists (select top 1 1 from QBMModuleDependCollection co with (readpast\r\n) where left(co.UID_ModulePredecessor, 3) = 'TSB' and left(co.UID_ModuleFollower, 3) = left(dbo.QBM_FCVGUIDToModuleOwner(a.UID_DialogTableChild), 3) ) \r\n or dbo.QBM_FCVGUIDToModuleOwner(a.UID_DialogTableChild) = 'UCI' ) and tc.UsageType = 'UserData' if @@ROWCOUNT > 0  begin select @erg = @erg + string_agg\r\n( convert(nvarchar(max), concat('\r\n\t\t\t\tupdate ' , bu.Ident2  , '\r\n\t\t\t\t\t\tset XMarkedForDeletion = (e.XMarkedForDeletion & ' , @Pattern_nurO_inv , ')\r\n\t\t\t\t\t\t\t\t\t\t\t\t | (l.XMarkedForDeletion  & '\r\n , @Pattern_nurO , ')\r\n\t\t\t\t\t\t\t\t\t\t\t\t ', case when dbo.QBM_FGIColumnExistsInSchema(bu.Ident2 , 'XDateUpdated' ) = 1 then ' , XDateUpdated = @XDate, XUserUpdated = @XUser'\r\n else '' end, '\r\n\t\t\t\t\tfrom ' , bu.Ident2  , ' e join deleted d on e.' , bu.Ident3  , ' = d.' , bu.Ident1 , '\r\n\t\t\t\t\t\t\t\t\t\t\tjoin ' + @ParentTable + ' l on d.XObjectKey = l.XObjectKey\r\n\t\t\t\t\t\twhere (d.XMarkedForDeletion ^ l.XMarkedForDeletion ) & '\r\n + @Pattern_nurO + ' > 0\r\n\t\t\t\t\t\t' )  )  , '' )  from @ElementBuffer bu end end   if @erg > ' ' begin select @erg = '\t\r\n\tif update(XMarkedForDeletion)\r\n\t\tbegin\r\n\t\tif exists (select top 1 1\r\n\t\t\t\tfrom deleted d join '\r\n + @ParentTable + ' l on d.XObjectKey = l.XObjectKey\r\n\t\t\t\twhere (d.XMarkedForDeletion ^ l.XMarkedForDeletion ) & ' + @Pattern + ' > 0\r\n\t\t\t\t)\r\n\t\tbegin\r\n'\r\n + @erg + '\r\n\r\n\t\t\tend\r\n\t\tend' end  end  endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FCVDynGuidToProcName",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:26.743",
      "ModifyDate": "2026-04-14T23:17:26.283",
      "Definition": "   create   function dbo.QER_FCVDynGuidToProcName(@UID_DynamicGroup varchar(38) , @area varchar(16)     ) returns varchar(30) as begin declare @erg\r\n varchar(30) select @erg = dbo.QBM_FGICodeName( 'P' + case @area when 'All' then 'A' when 'Detail' then 'D' else '?'  end , @UID_DynamicGroup) endLabel:\r\n return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FCVObjectkeyToBaseTree",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:26.767",
      "ModifyDate": "2026-04-14T23:17:26.36",
      "Definition": "  create   function dbo.QER_FCVObjectkeyToBaseTree(@Objectkey varchar(138)) returns varchar(38) as begin return ( case when dbo.QBM_FCVObjectkeyToElement\r\n('ColumnNameBase1', @Objectkey) = 'UID_Org' then dbo.QBM_FCVObjectkeyToElement('ColumnValue1', @Objectkey) when dbo.QBM_FCVObjectkeyToElement('ColumnNameBase2'\r\n, @Objectkey) = 'UID_Org' then dbo.QBM_FCVObjectkeyToElement('ColumnValue2', @Objectkey) else '' end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FCVRuleGUIDToFuncNameReclc",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:05.763",
      "ModifyDate": "2026-04-14T23:20:37.81",
      "Definition": " create   function dbo.QER_FCVRuleGUIDToFuncNameReclc ( @UID_PWODecisionRule varchar(38) ) returns varchar(30) as begin return( dbo.QBM_FGICodeName\r\n( 'FT' , @UID_PWODecisionRule + 'RecalcHelper' ) ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FCVRuleGUIDToFunctionName",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:05.763",
      "ModifyDate": "2026-04-14T23:20:37.81",
      "Definition": "  create   function dbo.QER_FCVRuleGUIDToFunctionName ( @UID_PWODecisionRule varchar(38) ) returns varchar(30) as begin return( dbo.QBM_FGICodeName\r\n( 'FT' , @UID_PWODecisionRule ) ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FCVTimeToWorkTimePerson",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:27.21",
      "ModifyDate": "2026-04-14T23:20:36.167",
      "Definition": "   create   function dbo.QER_FCVTimeToWorkTimePerson (@BaseTimeUTC datetime , @CountMinutes int , @UID_Person varchar(38) ) returns datetime as \r\nbegin declare @Erg datetime select @erg = dbo.QBM_FCVDatetimeToNextWork(@BaseTimeUTC , @CountMinutes , dbo.QER_FGIAdminUnitForPerson (@uid_person) ) ende:\r\n return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FCVXOriginToInheritInfo",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:26.76",
      "ModifyDate": "2026-04-14T23:17:26.343",
      "Definition": " create   function dbo.QER_FCVXOriginToInheritInfo(@XOrigin int) returns int with SCHEMABINDING as begin return  ( sign(isnull(@XOrigin, 0) & 0x01\r\n ) * 0x01   | sign(isnull(@XOrigin, 0) & 0xFFFFFFFE  ) * 0x02  ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGIAdminUnitForPerson",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:27.207",
      "ModifyDate": "2026-04-14T23:20:36.157",
      "Definition": "create   function dbo.QER_FGIAdminUnitForPerson ( @UID_Person varchar(38) ) returns varchar(138) as begin declare @ObjectkeyAdminUnit varchar(138\r\n)  declare @uid_dialogcountry varchar(38) declare @uid_dialogState varchar(38) declare @uid_locality varchar(38) declare @uid_department varchar(38) declare\r\n @uid_ProfitCenter varchar(38)  select top 1 @uid_dialogcountry = c.UID_DialogCountry , @uid_dialogState = s.UID_DialogState , @uid_locality = p.UID_Locality\r\n , @uid_department = p.UID_Department , @uid_ProfitCenter = p.UID_ProfitCenter  from Person p left outer join DialogState s on p.UID_DialogState = s.UID_DialogState\r\n and s.IsInUse = 1 left outer join DialogCountry c on p.UID_DialogCountry = c.UID_DialogCountry and c.IsInUse = 1 where p.UID_Person = @UID_Person  if \r\n@uid_dialogState is not null begin  return(dbo.QER_FGIAdminUnitForPerson_help (@uid_dialogcountry , @uid_dialogState)) end  if @uid_dialogCountry is not\r\n null begin  return(dbo.QER_FGIAdminUnitForPerson_help (@uid_dialogcountry , @uid_dialogState)) end if @uid_locality is not null begin select top 1 @uid_dialogcountry\r\n = c.UID_DialogCountry , @uid_dialogState = s.UID_DialogState from BaseTree p left outer join DialogState s on p.UID_DialogState = s.UID_DialogState and\r\n s.IsInUse = 1 left outer join DialogCountry c on p.UID_DialogCountry = c.UID_DialogCountry and c.IsInUse = 1 where p.UID_Org = @uid_locality and (c.UID_DialogCountry\r\n is not null or s.UID_DialogState is not null ) if @@rowcount > 0 begin  return(dbo.QER_FGIAdminUnitForPerson_help (@uid_dialogcountry , @uid_dialogState\r\n)) end end if @uid_department is not null begin select top 1 @uid_dialogcountry = c.UID_DialogCountry , @uid_dialogState = s.UID_DialogState from BaseTree\r\n p left outer join DialogState s on p.UID_DialogState = s.UID_DialogState and s.IsInUse = 1 left outer join DialogCountry c on p.UID_DialogCountry = c.UID_DialogCountry\r\n and c.IsInUse = 1 where p.UID_Org = @uid_department and (c.UID_DialogCountry is not null or s.UID_DialogState is not null ) if @@rowcount > 0 begin  return\r\n(dbo.QER_FGIAdminUnitForPerson_help (@uid_dialogcountry , @uid_dialogState)) end end if @uid_ProfitCenter is not null begin select top 1 @uid_dialogcountry\r\n = c.UID_DialogCountry , @uid_dialogState = s.UID_DialogState from BaseTree p left outer join DialogState s on p.UID_DialogState = s.UID_DialogState and\r\n s.IsInUse = 1 left outer join DialogCountry c on p.UID_DialogCountry = c.UID_DialogCountry and c.IsInUse = 1 where p.UID_Org = @uid_ProfitCenter and (c.UID_DialogCountry\r\n is not null or s.UID_DialogState is not null ) if @@rowcount > 0 begin  return(dbo.QER_FGIAdminUnitForPerson_help (@uid_dialogcountry , @uid_dialogState\r\n)) end end  select top 1 @uid_dialogcountry = c.UID_DialogCountry , @uid_dialogState = s.UID_DialogState from PersonInBaseTree pio join BaseTree b on pio.UID_Org\r\n = b.UID_Org join ( values (1, 'QER-V-Locality' ) , (2, 'QER-V-Department' ) , (3, 'QER-V-ProfitCenter' ) ) as x (sortier, UID_OrgRoot) on x.UID_OrgRoot\r\n = b.UID_OrgRoot and pio.XOrigin > 0 left outer join DialogState s on b.UID_DialogState = s.UID_DialogState and s.IsInUse = 1 left outer join DialogCountry\r\n c on b.UID_DialogCountry = c.UID_DialogCountry and c.IsInUse = 1 where pio.UID_Person = @uid_person and (c.UID_DialogCountry is not null or s.UID_DialogState\r\n is not null ) order by x.sortier, b.uid_org if @@rowcount > 0 begin  return(dbo.QER_FGIAdminUnitForPerson_help (@uid_dialogcountry , @uid_dialogState)\r\n) end select top 1 @uid_dialogCountry = c.uid_dialogCountry from DialogDatabase d with (readpast) join DialogCountry c with (readpast) on c.UID_DialogCountry\r\n = d.UID_DialogCountryDefault if @@rowcount > 0 begin return(dbo.QER_FGIAdminUnitForPerson_help (@uid_dialogcountry , @uid_dialogState)) end select top\r\n 1 @uid_dialogCountry = uid_dialogCountry from dialogcountry where isInuse = 1 and telephone > ' ' order by Telephone asc, Iso3166_3 desc if @@rowcount\r\n > 0 begin  return(dbo.QER_FGIAdminUnitForPerson_help (@uid_dialogcountry , @uid_dialogState)) end select top 1 @uid_dialogCountry = uid_dialogCountry \r\nfrom dialogCountry where telephone > ' ' order by Telephone asc, Iso3166_3 desc endLabel: return(dbo.QER_FGIAdminUnitForPerson_help (@uid_dialogcountry\r\n , @uid_dialogState)) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGIAdminUnitForPerson_help",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:27.203",
      "ModifyDate": "2026-04-14T23:20:36.15",
      "Definition": "   create   function dbo.QER_FGIAdminUnitForPerson_help (@uid_dialogcountry varchar(38) , @uid_dialogState varchar(38) ) returns varchar(138) as\r\n begin return( dbo.QBM_FCVElementToObjectKey1( case when @uid_dialogState > ' ' then 'DialogState' else 'DialogCountry' end , '' , case when @uid_dialogState\r\n > ' ' then @uid_dialogState else @uid_dialogCountry end ) ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGIAERoleValidForGroup",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:04.457",
      "ModifyDate": "2026-04-14T23:20:35.867",
      "Definition": "   create   function dbo.QER_FGIAERoleValidForGroup ( @uid_AERole varchar(38), @groupname nvarchar(64) ) returns int as begin declare @erg int declare\r\n @uid_AERole_intern varchar(38) declare @UID_ParentAERole varchar(38) declare @groupname_ist nvarchar(64) select @uid_AERole_intern = @uid_AERole select\r\n @erg = 0 marke: select top 1 @groupname_ist = g.GroupName, @UID_ParentAERole = ae.UID_ParentAERole from AERole ae left outer join DialogGroup g on ae.UID_DialogGroup\r\n = g.UID_DialogGroup where ae.UID_AERole = @uid_AERole_intern if @groupname_ist > ' ' begin if @groupname_ist = @Groupname begin select @erg = 1 goto ende\r\n end end else begin  if @UID_ParentAERole > ' ' begin  select @uid_AERole_intern = @UID_ParentAERole goto marke end end ende: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGIBitPatternInheritInfo",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:26.75",
      "ModifyDate": "2026-04-14T23:17:26.313",
      "Definition": "    create   function dbo.QER_FGIBitPatternInheritInfo( @PatternNames nvarchar(256)  , @AllExceptThis bit  ) returns int with SCHEMABINDING as begin\r\n return (    select  case @AllExceptThis when 0 then SUM(distinct v.xvalue) else ~ SUM(distinct v.xvalue) end from ( values ('Direct', 1  ) , ('Inherit'\r\n, 2  ) , ('Master', 4) , ('', 0) ) as v (xkey, xvalue) join string_split(isnull(@PatternNames, ''), '|') as s on v.xkey = s.value     ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGIBitPatternOwnershipInfo",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:26.753",
      "ModifyDate": "2026-04-14T23:17:26.33",
      "Definition": "   create   function dbo.QER_FGIBitPatternOwnershipInfo( @PatternNames nvarchar(256)  , @AllExceptThis bit  ) returns int with SCHEMABINDING as \r\nbegin return( select case @AllExceptThis when 0 then SUM(distinct v.xvalue) else ~ SUM(distinct v.xvalue) end from ( values ('Higher', 1) , ('Lower', 2\r\n) , ('Top', 4) , ('', 0) ) as v (xkey, xvalue) join string_split(isnull(@PatternNames, ''), '|') as s on v.xkey = s.value ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGICmp_OrgRoot_EQ_Org",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:26.797",
      "ModifyDate": "2026-04-14T23:17:26.47",
      "Definition": " create   function dbo.QER_FGICmp_OrgRoot_EQ_Org( @Value varchar(38) ) returns bit with SCHEMABINDING as begin return ( case when @Value is null\r\n then 0 when @Value like '____[^V]%' then 1 else 0 end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGICultureForPerson",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:27.22",
      "ModifyDate": "2026-04-14T23:20:36.173",
      "Definition": "   create   function dbo.QER_FGICultureForPerson (@UID_Person varchar(38) ) returns varchar(38) as begin declare @uid_dialogcountry varchar(38) \r\ndeclare @uid_dialogState varchar(38) declare @uid_locality varchar(38) declare @uid_department varchar(38) declare @uid_ProfitCenter varchar(38)  declare\r\n @UID_DialogCulture varchar(38) select top 1 @uid_dialogcountry = uid_dialogcountry , @uid_dialogState = uid_dialogState , @uid_locality = uid_locality\r\n , @uid_department = uid_department , @uid_ProfitCenter = uid_ProfitCenter  , @UID_DialogCulture = UID_DialogCulture from person where uid_person = @uid_person\r\n  if @UID_DialogCulture is null begin  select top 1 @UID_DialogCulture = shc.UID_DialogCulture from dialogstatehasCulture shc where shc.UID_DialogState\r\n = @uid_dialogState order by shc.SortOrder if @UID_DialogCulture is null begin select top 1 @UID_DialogCulture = shc.UID_DialogCulture from dialogCountryhasCulture\r\n shc where shc.UID_DialogCountry = @uid_dialogCountry order by shc.SortOrder end  end if @uid_locality > ' ' and @UID_DialogCulture is null begin select\r\n top 1 @UID_DialogCulture = UID_DialogCulture, @uid_dialogcountry = uid_dialogcountry , @uid_dialogState = uid_dialogState from BaseTree where uid_org \r\n= @uid_locality if @UID_DialogCulture is null begin select top 1 @UID_DialogCulture = shc.UID_DialogCulture from dialogstatehasCulture shc where shc.UID_DialogState\r\n = @uid_dialogState order by shc.SortOrder if @UID_DialogCulture is null begin select top 1 @UID_DialogCulture = shc.UID_DialogCulture from dialogCountryhasCulture\r\n shc where shc.UID_DialogCountry = @uid_dialogCountry order by shc.SortOrder end end  end  if @uid_Department > ' ' and @UID_DialogCulture is null begin\r\n select top 1 @UID_DialogCulture = UID_DialogCulture, @uid_dialogcountry = uid_dialogcountry , @uid_dialogState = uid_dialogState from BaseTree where uid_org\r\n = @uid_Department if @UID_DialogCulture is null begin select top 1 @UID_DialogCulture = shc.UID_DialogCulture from dialogstatehasCulture shc where shc.UID_DialogState\r\n = @uid_dialogState order by shc.SortOrder if @UID_DialogCulture is null begin select top 1 @UID_DialogCulture = shc.UID_DialogCulture from dialogCountryhasCulture\r\n shc where shc.UID_DialogCountry = @uid_dialogCountry order by shc.SortOrder end end  end  if @uid_ProfitCenter > ' ' and @UID_DialogCulture is null begin\r\n select top 1 @UID_DialogCulture = UID_DialogCulture, @uid_dialogcountry = uid_dialogcountry , @uid_dialogState = uid_dialogState from BaseTree where uid_org\r\n = @uid_ProfitCenter if @UID_DialogCulture is null begin select top 1 @UID_DialogCulture = shc.UID_DialogCulture from dialogstatehasCulture shc where shc.UID_DialogState\r\n = @uid_dialogState order by shc.SortOrder if @UID_DialogCulture is null begin select top 1 @UID_DialogCulture = shc.UID_DialogCulture from dialogCountryhasCulture\r\n shc where shc.UID_DialogCountry = @uid_dialogCountry order by shc.SortOrder end end  end    if @UID_DialogCulture is null begin select top 1 @UID_DialogCulture\r\n = cu.UID_DialogCulture from QBMCulture cu where cu.Ident_DialogCulture = left(dbo.QBM_FGIConfigparmValue('Common\\MailNotification\\DefaultCulture'), 16\r\n) end if isnull(@UID_DialogCulture, '') = '' begin select @UID_DialogCulture = 'QBM-Cult-en-US' end  ende: return (@UID_DialogCulture) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGIExtendedAttributMatch",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:27.197",
      "ModifyDate": "2026-04-14T23:20:36.143",
      "Definition": "                                          create   function dbo.QER_FGIExtendedAttributMatch (@Search nvarchar(64),  @LowerLimit nvarchar(64),  \r\n@UpperLimit nvarchar(64)  ) returns int with SCHEMABINDING as begin declare @erg int select @erg = 0  declare @SearchWildCard bit  select @SearchWildCard\r\n = 0 declare @LowerLimitWildCard bit  select @LowerLimitWildCard = 0 declare @UpperLimitWildCard bit  select @UpperLimitWildCard = 0 declare @MinCmp int\r\n  declare @CmpSearch nvarchar(64) declare @CmpLowerLimit nvarchar(64) declare @CmpUpperLimit nvarchar(64) declare @LenSearch int declare @LenUpperLimit\r\n int declare @LenLowerLimit int if isnull(@search , N'') like N'%*' begin select @SearchWildCard = 1 select @CmpSearch = left(@search, len(@search) -1 \r\n) end else begin select @CmpSearch = isnull(@Search, N'') end select @LenSearch = len(@CmpSearch) if @Search = N'*' begin select @erg = 1  return(@erg)\r\n  end if isnull(@Search,N'') = '' begin  return(@erg)  end if isnull(@LowerLimit , N'') like N'%*' begin select @LowerLimitWildCard = 1 select @CmpLowerLimit\r\n = left(@LowerLimit, len(@LowerLimit) -1 ) end else begin select @CmpLowerLimit = isnull(@LowerLimit, N'') end select @LenLowerLimit = len(@CmpLowerLimit\r\n) if isnull(@UpperLimit , N'') like N'%*' begin select @UpperLimitWildCard = 1 select @CmpUpperLimit = left(@UpperLimit, len(@UpperLimit) -1 ) end else\r\n begin select @CmpUpperLimit = isnull(@UpperLimit, N'') end select @LenUpperLimit = len(@CmpUpperLimit)  if  @lenUpperLimit > 0 and @LenLowerLimit = 0 \r\n or @LowerLimitWildCard = 0 and @UpperLimitWildCard = 1  or ( @LenUpperLimit > 0 and (  @LowerLimitWildCard = 1 and @UpperLimitWildCard = 1 and @LenUpperLimit\r\n <> @LenLowerLimit  or @LowerLimitWildCard = 0 and @UpperLimitWildCard = 0 and @LenUpperLimit <> @LenLowerLimit  or @LowerLimitWildCard = 1 and @UpperLimitWildCard\r\n = 0 and @LenUpperLimit < @LenLowerLimit ) ) or @LowerLimit like N'%*_%'  or @UpperLimit like N'%*_%'  or @Search like N'%*_%'  begin   return(@erg)  end\r\n if @LowerLimitWildCard = 0 begin if @LenSearch > @LenLowerLimit  begin  return(@erg)  end select @MinCmp = @LenLowerLimit end else begin select @mincmp\r\n = @LenSearch if @LenLowerLimit < @mincmp begin select @MinCmp = @LenLowerLimit end end if @SearchWildCard = 0 begin if @LowerLimitWildCard = 0 begin  \r\n if @lenSearch > @LenLowerLimit begin  return(@erg)  end  if @LenUpperLimit = 0 begin if @CmpSearch = @CmpLowerLimit begin select @erg = 1 end  return(@erg\r\n)  end  if @CmpLowerLimit <= @CmpSearch and @CmpSearch <= @CmpUpperLimit begin select @erg = 1 end end else  begin  if @lenUpperLimit = 0 begin if @CmpLowerLimit\r\n = left(@CmpSearch, @LenLowerLimit) begin select @erg = 1 end end else begin  if @UpperLimitWildCard = 1 begin if left(@CmpSearch, @LenUpperLimit) <= @CmpUpperLimit\r\n begin select @Erg = 1 end end else begin  if @cmpSearch <= @CmpUpperLimit begin select @erg = 1 end end end end  end else  begin if @LowerLimitWildCard\r\n = 0 begin   if @LenUpperLimit = 0 begin if @CmpSearch = left(@CmpLowerLimit, @LenSearch) begin select @erg = 1  return(@erg)  end end if  left(@CmpLowerLimit\r\n, @LenSearch) <= @CmpSearch and @CmpSearch <= left(@CmpUpperLimit, @LenSearch) begin select @erg = 1 end end else  begin  if @lenUpperLimit = 0  begin \r\nif left(@CmpLowerLimit, @mincmp) = left(@cmpSearch, @mincmp) begin select @erg = 1 end end else begin  if left(@CmpLowerLimit, @mincmp) <= left(@cmpSearch\r\n, @mincmp) begin if @UpperLimitWildCard = 1 begin if left(@cmpSearch, @mincmp) <= left(@CmpUpperLimit, @mincmp) begin select @erg = 1 end end else begin\r\n if @cmpSearch <= left(@CmpUpperLimit, @LenSearch) begin select @erg = 1 end end end end end  end  endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGIGenProcIDForPWO",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:26.773",
      "ModifyDate": "2026-04-14T23:17:26.377",
      "Definition": "   create   function dbo.QER_FGIGenProcIDForPWO(@GenProcIDOfPWO varchar(38) , @GenProcIDOfProcess varchar(38) , @ConfigParmUseGenProcIDFromPWO bit\r\n ) returns varchar(38) with SCHEMABINDING as begin return (select case @ConfigParmUseGenProcIDFromPWO when 1 then isnull(@GenProcIDOfPWO, @GenProcIDOfProcess\r\n) else @GenProcIDOfProcess end ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGIITShopFlagCombineValid",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:27.163",
      "ModifyDate": "2026-04-14T23:20:36.087",
      "Definition": "      create   function dbo.QER_FGIITShopFlagCombineValid ( @ObjectKeyDestination varchar(138)  ,@DestinationIsForITShop bit  , @DestinationIsITShopOnly\r\n bit  , @ObjectKeyElement varchar(138)  , @ElementIsForITShop bit  , @ElementIsITShopOnly bit  ) returns bit as begin declare @DestinationTable nvarchar\r\n(32) declare @ElementTable nvarchar(32)  declare @msg nvarchar(1000) declare @erg bit = 1  select @DestinationTable = dbo.QBM_FCVObjectkeyToElement('TableName'\r\n, @ObjectKeyDestination) select @ElementTable = dbo.QBM_FCVObjectkeyToElement('TableName', @ObjectKeyElement)  if @ElementIsForITShop is null or @ElementIsITShopOnly\r\n is null begin  select @msg = '#LDS#internal error, irregular null value @ElementIsForITShop.|' select @erg = 0  return(@erg)     end   if @ElementIsForITShop\r\n = 0 and @ElementIsITShopOnly = 1 begin select @msg = '#LDS#Invalid flag combination for IsForITShop and IsITShopOnly. in table {0}.|' + @ElementTable \r\n+ '|' select @erg = 0  return(@erg)  end if @DestinationTable = 'ESet' begin if @DestinationIsForITShop = 0 and @DestinationIsITShopOnly = 1 begin select\r\n @msg = '#LDS#Invalid flag combination for IsForITShop and IsITShopOnly. in table {0}.|' + @DestinationTable + '|' select @erg = 0  return(@erg)  end if\r\n @DestinationIsForITShop = 0 and @DestinationIsITShopOnly = 0 begin if @ElementIsForITShop = 1 and @ElementIsITShopOnly = 1 begin select @msg = '#LDS#Invalid  combination of IT Shop flags from system roles and {0}.|'\r\n + @ElementTable + '|' select @erg = 0  return(@erg)  end end if @DestinationIsForITShop = 1 and @DestinationIsITShopOnly = 0 begin if @ElementIsForITShop\r\n = 1 and @ElementIsITShopOnly = 1 begin select @msg = '#LDS#Invalid  combination of IT Shop flags from system roles and {0}.|' + @ElementTable + '|' select\r\n @erg = 0  return(@erg)  end end if @DestinationIsForITShop = 1 and @DestinationIsITShopOnly = 1 begin select @msg = '#LDS#Nothing to test.|'  return(@erg\r\n)  end end else  begin   if @ElementIsForITShop = 0  begin if @DestinationTable in ('ITShopOrg', 'ITShopSrc')  begin select @msg = '#LDS#IT Shop tables are not allowed as assignment objects if IsForITShop = 0.|'\r\n select @erg = 0  return(@erg)  end end   if @ElementIsForITShop = 1 and @ElementIsITShopOnly = 0 begin select @msg = '#LDS#Nothing to test.|'  return(@erg\r\n)  end   if @ElementIsForITShop = 1 and @ElementIsITShopOnly = 1 begin  if @DestinationTable not in ('ITShopOrg', 'ITShopSrc', 'MirrorShop') begin select\r\n @msg = '#LDS#Target of assignment {0} is not permitted with the combination of flags IsForITShop = 1 and IsITShopOnly = 1.|' + @DestinationTable + '|'\r\n select @erg = 0  return(@erg)  end end  end  EndLabel: return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGIITShopNewPersonOrdered",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.38",
      "ModifyDate": "2026-04-14T23:20:38.927",
      "Definition": "   create   function dbo.QER_FGIITShopNewPersonOrdered(@UID_PersonWantsOrg varchar(38) , @UID_BOTarget varchar(38) , @ObjectkeyOrdered varchar(138\r\n) ) returns varchar(38) as begin return ( select convert(varchar(38), substring(min(z.MinPerson), 11,38)) from ( select concat( str(y.weglaenge) , y.UID_Person\r\n) as MinPerson from (  select p.UID_Person, 1 as weglaenge from PersonWantsOrg pwo join Person p on pwo.ObjectKeyElementUsedInAssign = p.XObjectKey and\r\n p.UID_Person <> pwo.UID_PersonOrdered where pwo.UID_PersonWantsOrg = @UID_PersonWantsOrg union all  select hh.UID_PersonHead, 100 + hh.XOrigin as weglaenge\r\n from PersonWantsOrg pwo join Person p on pwo.ObjectKeyElementUsedInAssign = p.XObjectKey and p.UID_Person <> pwo.UID_PersonOrdered join HelperHeadPerson\r\n hh on hh.UID_Person = p.UID_Person and hh.XOrigin > 0 where pwo.UID_PersonWantsOrg = @UID_PersonWantsOrg union all  select hh.UID_PersonHead, 200 + hh.XOrigin\r\n as weglaenge from PersonWantsOrg pwo join Person p on pwo.ObjectKeyElementUsedInAssign = p.XObjectKey and p.UID_Person <> pwo.UID_PersonOrdered join HelperHeadOrg\r\n hh on hh.UID_org = p.UID_Department and hh.XOrigin > 0 where pwo.UID_PersonWantsOrg = @UID_PersonWantsOrg union all  select pio.UID_Person , 300 + pio.XOrigin\r\n from PersonInBaseTree pio where pio.UID_Org  = 'QER-AEROLE-ITSHOP-INTERVENTION' and xorigin > 0 union all  select dbo.QBM_FGIConfigparmValue('QER\\ITShop\\ReplaceAssignmentRequestOnLeaveCU\\UID_PersonFallback'\r\n), 400 as Weglaenge union all      select hh.UID_PersonHead, 1 + hh.XOrigin as weglaenge from PersonWantsOrg pwo join BaseTree o on pwo.ObjectKeyOrgUsedInAssign\r\n = o.XObjectKey join HelperHeadOrg hh on o.UID_Org = hh.UID_Org where pwo.UID_PersonWantsOrg = @UID_PersonWantsOrg and isnull(pwo.ObjectKeyElementUsedInAssign\r\n, '') not like '<Key><T>Person</T><P>%' union all  select pio.UID_Person, 100 + pio.XOrigin as weglaenge from PersonWantsOrg pwo join BaseTree o on pwo.ObjectKeyOrgUsedInAssign\r\n = o.XObjectKey join PersonInBaseTree pio on o.UID_Org = pio.UID_Org where pwo.UID_PersonWantsOrg = @UID_PersonWantsOrg and isnull(pwo.ObjectKeyElementUsedInAssign\r\n, '') not like '<Key><T>Person</T><P>%'          ) as y  join PersonInBaseTree pcu on y.UID_Person = pcu.UID_Person join BaseTree cu on pcu.UID_Org = cu.UID_Org\r\n join BaseTree sh on cu.UID_ParentOrg = sh.UID_Org join BaseTree bo on bo.UID_ParentOrg = sh.UID_Org join BaseTree pr on pr.UID_ParentOrg = bo.UID_Org \r\njoin QER_VPWOProductNodesSlim n on n.UID_OrgPR = pr.UID_Org and n.ObjectkeyOrdered = @ObjectkeyOrdered where 1 = 1   and ( ( @UID_BOTarget > ' ' and bo.UID_Org\r\n = @UID_BOTarget ) or (isnull(@UID_BOTarget, '') = ''  ) ) ) as z where dbo.QBM_FGIConfigparmValue('QER\\ITShop\\ReplaceAssignmentRequestOnLeaveCU') > ' '\r\n ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGIMethodForPRNode",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:05.987",
      "ModifyDate": "2026-04-14T23:20:38.12",
      "Definition": "   create   function dbo.QER_FGIMethodForPRNode (@UID_OrgPR varchar(38) ) returns varchar(38) as begin declare @UID_PWODecisionMethod varchar(38\r\n) declare @PRs QBM_YSingleGUID insert into @PRs(UID_SingleGuid) select @UID_OrgPR select top 1 @UID_PWODecisionMethod = pr.UID_PWODecisionMethod from dbo.QER_FTMethodForPRNode\r\n (@PRs ) pr return(@UID_PWODecisionMethod) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGIOrderStateIsAssigned",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:26.85",
      "ModifyDate": "2026-04-14T23:17:26.6",
      "Definition": "   create   function dbo.QER_FGIOrderStateIsAssigned(@OrderState nvarchar(16)) returns int with SCHEMABINDING as begin declare @erg int select @erg\r\n = 0       if @OrderState in ('Assigned', 'OrderProlongate', 'OrderUnsubscribe' ) begin select @erg = 1 end ende: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGIOrgRootName",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:27.157",
      "ModifyDate": "2026-04-14T23:20:36.077",
      "Definition": "   create   function dbo.QER_FGIOrgRootName (@uid_OrgRoot nvarchar(64) ) returns nvarchar(64) with SCHEMABINDING as begin declare @erg nvarchar(64\r\n)  if @uid_OrgRoot in ( 'VAERole', 'VDepartment', 'VITShopOrg', 'VITShopSrc', 'VLocality', 'VNonCompliance', 'VProfitCenter' ) begin select @erg = rtrim\r\n(substring(@uid_OrgRoot,2,37))  return(@erg)  end  if @uid_OrgRoot like '[A-Z][0-Z][0-Z]-V-%'   begin select @erg = SUBSTRING(@uid_OrgRoot, 7, 31)  return\r\n(@erg)  end  select @erg = 'Org' endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGIPersonHeadCirc",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:27.41",
      "ModifyDate": "2026-04-14T23:20:36.473",
      "Definition": " create   function dbo.QER_FGIPersonHeadCirc(@UID_Person varchar(38) , @UID_PersonHead varchar(38) ) returns bit as begin declare @erg bit = 0 declare\r\n @work dbo.QBM_YCursorBuffer declare @lauf int insert into @work( UID1 , UID2 ) values (@UID_Person , @UID_PersonHead ) select @lauf = 1 while @lauf > \r\n0 begin insert into @work(UID1, UID2) select h.uid_person, h.uid_personhead from @work l join HelperHeadPerson h on l.UID2 = h.UID_Person where not exists\r\n (select top 1 1 from @work e where e.UID1 = h.UID_Person and e.UID2 = h.uid_personhead ) select @lauf = @@ROWCOUNT end if exists (select top 1 1 from \r\n@work where UID2 = @UID_Person) begin select @erg = 1 end else begin select @erg = 0 end return @erg end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGIPWODecisionPossible",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:27.14",
      "ModifyDate": "2026-04-14T23:17:27.567",
      "Definition": "    create   function dbo.QER_FGIPWODecisionPossible(@UID_personWantsOrg varchar(38) , @LevelNumber int , @SubLevelNumber int  ) returns int with\r\n schemabinding as begin declare @erg int  select top 1 @erg = case MIN(w.LevelResult) when 1 then 0  when 0 then 1  else -1  end from ( select case when\r\n z.CountDeciderAvailable < z.CountDeciderMinimum then -1  when z.CountDecided >= z.CountDeciderMinimum OR z.IsDenied = 1 then 1  when z.CountDeciderAvailable\r\n >= z.CountDeciderMinimum and z.CountDecided < z.CountDeciderMinimum and z.IsDenied = 0 then 0  else -1  end as LevelResult , z.IsDenied from ( select \r\ncase when y.RulerLevel > 0  then 1 when y.CountDeciderMinimum = -1 then case when y.CountDeciderAvailable < 1 then 1 else y.CountDeciderAvailable end else\r\n y.CountDeciderMinimum end as CountDeciderMinimum , y.CountDecided , y.CountDeciderAvailable , y.IsDenied from ( select x.uid_personwantsorg, x.levelnumber\r\n, x.sublevelnumber, x.uid_QERWorkingStep , isnull(x.CountApprover, 1) as CountDeciderMinimum , isnull(SUM (x.isDecided), 0) as CountDecided , isnull(COUNT\r\n(*), 0) as CountDeciderAvailable , isnull(MIN(x.RulerLevel),0) as RulerLevel  , ISNULL(max(x.IsDenied), 0) as IsDenied from ( select h1.uid_personwantsorg\r\n, h1.levelnumber, h1.sublevelnumber, s.uid_QERWorkingStep , case s.CountApprover when null then 1 when 0 then 1 else s.CountApprover end as CountApprover\r\n , case when isnull(h1.decision, '') in('P', 'N', 'R', '+') then 1 else 0 end as IsDecided , h1.RulerLevel , case when isnull(h1.decision, '') in('N') \r\nthen 1 else 0 end as IsDenied from dbo.PWOHelperPWO h1 join dbo.QERWorkingStep s on h1.uid_QERWorkingStep = s.uid_QERWorkingStep where h1.uid_personwantsorg\r\n = @UID_personWantsOrg and h1.levelnumber = @LevelNumber and h1.sublevelnumber = case when @SubLevelNumber IS null then h1.SubLevelNumber else @SubLevelNumber\r\n end   ) as x group by x.uid_personwantsorg, x.levelnumber, x.sublevelnumber, x.UID_QERWorkingStep, x.CountApprover ) as y ) as z ) as w    endLabel: return\r\n(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGIPWOOrderPerson",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:27.08",
      "ModifyDate": "2026-04-14T23:17:27.47",
      "Definition": "  create   function dbo.QER_FGIPWOOrderPerson (@UID_PersonOrdered varchar(38)   , @UID_ITShopOrgPR varchar(38)   , @UID_ACCProduct varchar(38)  \r\n , @ValidFrom datetime   , @ValidUntil datetime   ) returns bit as begin declare @erg bit = 0     if @UID_ITShopOrgPR is null and @UID_PersonOrdered IS\r\n NULL and @UID_ACCProduct IS NULL begin if exists (select 1  from dbo.QER_FTPWOOrderPerson_000(@UID_PersonOrdered, @UID_ITShopOrgPR, @UID_ACCProduct,@ValidFrom\r\n, @ValidUntil, 1) ) begin select @erg = 1 end  return(@erg)  end if @UID_ITShopOrgPR is null and @UID_PersonOrdered IS NULL and @UID_ACCProduct > ' ' begin\r\n if exists (select 1 from dbo.QER_FTPWOOrderPerson_001(@UID_PersonOrdered, @UID_ITShopOrgPR, @UID_ACCProduct,@ValidFrom, @ValidUntil, 1) ) begin select\r\n @erg = 1 end  return(@erg)  end if @UID_ITShopOrgPR > ' ' and @UID_PersonOrdered is null and @UID_ACCProduct IS NULL begin if exists (select 1 from dbo.QER_FTPWOOrderPerson_010\r\n(@UID_PersonOrdered, @UID_ITShopOrgPR, @UID_ACCProduct,@ValidFrom, @ValidUntil, 1) ) begin select @erg = 1 end  return(@erg)  end if @UID_ITShopOrgPR >\r\n ' ' and @UID_PersonOrdered is null and @UID_ACCProduct > ' ' begin if exists (select 1 from dbo.QER_FTPWOOrderPerson_011(@UID_PersonOrdered, @UID_ITShopOrgPR\r\n, @UID_ACCProduct,@ValidFrom, @ValidUntil, 1) ) begin select @erg = 1 end  return(@erg)  end if @UID_ITShopOrgPR is null and @UID_PersonOrdered > ' ' and\r\n @UID_ACCProduct IS NULL begin if exists (select 1 from dbo.QER_FTPWOOrderPerson_100(@UID_PersonOrdered, @UID_ITShopOrgPR, @UID_ACCProduct,@ValidFrom, \r\n@ValidUntil, 1) ) begin select @erg = 1 end  return(@erg)  end if @UID_ITShopOrgPR is null and @UID_PersonOrdered > ' ' and @UID_ACCProduct > ' ' begin\r\n if exists (select 1 from dbo.QER_FTPWOOrderPerson_101(@UID_PersonOrdered, @UID_ITShopOrgPR, @UID_ACCProduct,@ValidFrom, @ValidUntil, 1) ) begin select\r\n @erg = 1 end  return(@erg)  end if @UID_ITShopOrgPR > ' ' and @UID_PersonOrdered > ' ' and @UID_ACCProduct IS NULL begin if exists (select 1 from dbo.QER_FTPWOOrderPerson_110\r\n(@UID_PersonOrdered, @UID_ITShopOrgPR, @UID_ACCProduct,@ValidFrom, @ValidUntil, 1) ) begin select @erg = 1 end  return(@erg)  end if @UID_ITShopOrgPR >\r\n ' ' and @UID_PersonOrdered > ' ' and @UID_ACCProduct > ' ' begin if exists (select 1 from dbo.QER_FTPWOOrderPerson_111(@UID_PersonOrdered, @UID_ITShopOrgPR\r\n, @UID_ACCProduct,@ValidFrom, @ValidUntil, 1) ) begin select @erg = 1 end  return(@erg)  end endLabel: return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGIPWORulerOrigin",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:26.73",
      "ModifyDate": "2026-04-14T23:17:26.233",
      "Definition": "  create   function dbo.QER_FGIPWORulerOrigin(@Objectkey varchar(138)  ) returns varchar(38) with schemabinding as begin declare @erg varchar(38\r\n) = null if isnull(@Objectkey, '') = '' begin   return(@erg)  end select top 1 @erg = pwo.UID_PersonWantsOrg  from dbo.PersonWantsOrg pwo  where pwo.ObjectKeyAssignment\r\n = @Objectkey  and pwo.OrderState in ('Assigned', 'OrderProlongate', 'OrderUnsubscribe' )  order by pwo.DateActivated asc endLabel: if @erg = '' begin \r\nselect @erg = null end return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGIPWORulerOriginALL",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:26.737",
      "ModifyDate": "2026-04-14T23:17:26.253",
      "Definition": "   create   function dbo.QER_FGIPWORulerOriginALL(@Objectkey varchar(138)  ) returns varchar(38) as begin declare @erg varchar(38) = null if isnull\r\n(@Objectkey, '') = '' begin   return(@erg)  end select top 1 @erg = pwo.UID_PersonWantsOrg from PersonWantsOrg pwo join QER_VPWOOrderState  s on pwo.OrderState\r\n = s.OrderState where pwo.ObjectKeyAssignment = @Objectkey  order by s.IsAssigned desc, s.IsGranted desc , s.IsOrder desc , s.IsClosed asc endLabel: if\r\n @erg = '' begin select @erg = null end return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGIPWOStateFinalError",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:26.837",
      "ModifyDate": "2026-04-14T23:17:26.577",
      "Definition": "   create   function dbo.QER_FGIPWOStateFinalError (@UID_PersonWantsOrg varchar(38) ) returns varchar(38) with schemabinding as begin declare @UID_PWOStateFinalError\r\n varchar(38) = null select top 1 @UID_PWOStateFinalError = s.UID_PWOStateFinalError from dbo.PersonWantsOrg pwo join dbo.QERWorkingStep s on s.UID_QERWorkingMethod\r\n = pwo.UID_QERWorkingMethod and pwo.decisionlevel = s.levelnumber and s.SubLevelNumber = 0 where pwo.uid_personwantsorg = @UID_PersonWantsOrg if @UID_PWOStateFinalError\r\n is null begin select @UID_PWOStateFinalError = '' end return (@UID_PWOStateFinalError) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGIPWOSubmethodByMethod",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:27.133",
      "ModifyDate": "2026-04-14T23:17:27.557",
      "Definition": "  create   function dbo.QER_FGIPWOSubmethodByMethod (@OrderState nvarchar(64)  , @uid_PWODecisionMethod varchar(38) ) returns varchar(38)  as begin\r\n declare @UID_PWODecisionSubMethod varchar(38) select @UID_PWODecisionSubMethod = dbo.QER_FGIPWOSubmethodByMethodS( @OrderState, dm.UID_SubMethodOrderProduct\r\n, dm.UID_SubMethodOrderUnsubscribe, dm.UID_SubMethodOrderProlongate) from pwodecisionmethod dm where dm.uid_PWODecisionMethod = @uid_PWODecisionMethod \r\nreturn (@UID_PWODecisionSubMethod) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGIPWOSubmethodByMethodS",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:27.13",
      "ModifyDate": "2026-04-14T23:17:27.553",
      "Definition": "     create   function dbo.QER_FGIPWOSubmethodByMethodS (@OrderState nvarchar(64)  , @UID_SubMethodOrderProduct varchar(38) , @UID_SubMethodOrderUnsubscribe\r\n varchar(38)  , @UID_SubMethodOrderProlongate varchar(38)  ) returns varchar(38) with SCHEMABINDING as begin declare @UID_PWODecisionSubMethod varchar(38\r\n) select @UID_PWODecisionSubMethod = case @OrderState  when 'New' then @UID_SubMethodOrderProduct when 'OrderProduct' then @UID_SubMethodOrderProduct when\r\n 'OrderProlongate' then  case when @UID_SubMethodOrderProlongate > ' ' then @UID_SubMethodOrderProlongate else @UID_SubMethodOrderProduct end  when 'OrderUnsubscribe'\r\n then @UID_SubMethodOrderUnsubscribe else null end return (@UID_PWODecisionSubMethod) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGIPWOSubMethodHasCycle",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:26.977",
      "ModifyDate": "2026-04-14T23:17:27.263",
      "Definition": "   create   function dbo.QER_FGIPWOSubMethodHasCycle ( @UID_PWODecisionSubMethod varchar(38) , @UsePositiveSteps bit , @UseNegativeSteps bit , @UseEscalationSteps\r\n bit , @UseDirectSteps bit ) returns nvarchar(1000) as begin declare @lauf int declare @DirectSteps nvarchar(1000)  declare @FlowShell QBM_YMNTable  declare\r\n @DirectHelp QBM_YSingleGUID  declare @erg nvarchar(1000) select @erg = ''  if @UseDirectSteps = 1 begin  insert into @DirectHelp (UID_SingleGuid , IntProperty\r\n  ) select s.UID_PWODecisionStep, a.ParameterName from PWODecisionStep s cross apply dbo.QBM_FCVStringToListSplitted(@DirectSteps, nchar(7), 0, 0 , N'='\r\n) a where s.UID_PWODecisionSubMethod = @UID_PWODecisionSubMethod and s.DirectSteps > ' ' end if @UsePositiveSteps = 1 begin insert into @FlowShell(UID_Element1\r\n , UID_Element2 ) select distinct s.UID_PWODecisionStep , n.UID_PWODecisionStep from pwodecisionstep s join pwodecisionstep n on s.UID_PWODecisionSubMethod\r\n = @UID_PWODecisionSubMethod and n.UID_PWODecisionSubMethod = @UID_PWODecisionSubMethod and s.PositiveSteps <> 0  and s.UID_PWODecisionStep <> n.UID_PWODecisionStep\r\n and s.levelnumber + s.PositiveSteps = n.levelnumber end if @UseNegativeSteps = 1 begin insert into @FlowShell(UID_Element1 , UID_Element2 ) select distinct\r\n s.UID_PWODecisionStep , n.UID_PWODecisionStep from pwodecisionstep s join pwodecisionstep n on s.UID_PWODecisionSubMethod = @UID_PWODecisionSubMethod \r\nand n.UID_PWODecisionSubMethod = @UID_PWODecisionSubMethod and s.NegativeSteps <> 0  and s.UID_PWODecisionStep <> n.UID_PWODecisionStep and s.levelnumber\r\n + s.NegativeSteps = n.levelnumber where not exists (select top 1 1 from @FlowShell e where e.UID_Element1  = s.UID_PWODecisionStep and e.UID_Element2 \r\n = n.UID_PWODecisionStep ) end if @UseEscalationSteps = 1 begin insert into @FlowShell(UID_Element1 , UID_Element2 ) select distinct s.UID_PWODecisionStep\r\n , n.UID_PWODecisionStep from pwodecisionstep s join pwodecisionstep n on s.UID_PWODecisionSubMethod = @UID_PWODecisionSubMethod and n.UID_PWODecisionSubMethod\r\n = @UID_PWODecisionSubMethod and s.EscalationSteps <> 0  and s.UID_PWODecisionStep <> n.UID_PWODecisionStep and s.levelnumber + s.EscalationSteps = n.levelnumber\r\n where not exists (select top 1 1 from @FlowShell e where e.UID_Element1  = s.UID_PWODecisionStep and e.UID_Element2  = n.UID_PWODecisionStep ) end if \r\n@UseDirectSteps = 1 begin insert into @FlowShell(UID_Element1 , UID_Element2 ) select distinct s.UID_PWODecisionStep , n.UID_PWODecisionStep from pwodecisionstep\r\n s join @DirectHelp h on s.uid_pwodecisionstep = h.UID_SingleGuid  and s.UID_PWODecisionSubMethod = @UID_PWODecisionSubMethod and s.Directsteps > ' ' join\r\n pwodecisionstep n on n.UID_PWODecisionSubMethod = @UID_PWODecisionSubMethod  and s.UID_PWODecisionStep <> n.UID_PWODecisionStep and s.levelnumber + h.IntProperty\r\n  = n.levelnumber where not exists (select top 1 1 from @FlowShell e where e.UID_Element1  = s.UID_PWODecisionStep and e.UID_Element2  = n.UID_PWODecisionStep\r\n ) end select @lauf = 1 while @lauf > 0 begin insert into @FlowShell(UID_Element1 , UID_Element2 ) select distinct s.UID_Element1  , n.UID_Element2  from\r\n @FlowShell s join @FlowShell n on s.UID_Element2  = n.UID_Element1  where not exists (select top 1 1 from @FlowShell e where e.UID_Element1  = s.UID_Element1\r\n  and e.UID_Element2  = n.UID_Element2  ) select @lauf = @@rowcount end if exists(select top 1 1 from @FlowShell where UID_Element1  = UID_Element2  ) \r\nbegin select top 1 @erg = fs.UID_Element1  from @FlowShell fs where fs.UID_Element1  = fs.UID_Element2  end ende: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGIPWOTaskToUse",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:05.787",
      "ModifyDate": "2026-04-14T23:20:37.843",
      "Definition": "  create   function dbo.QER_FGIPWOTaskToUse() returns varchar(38) as begin return case dbo.QBM_FGIConfigparmValue('QER\\ITShop\\ReducedApproverCalculation'\r\n) when 'NoRecalc' then '' when 'CurrentLevel' then 'QER-K-ShoppingRackPWOHelperPWO-Cfg' else 'QER-K-ShoppingRackPWOHelperPWO' end end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGIPwoValidDateRangeAssign",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:27.017",
      "ModifyDate": "2026-04-14T23:17:27.33",
      "Definition": "   create   function dbo.QER_FGIPwoValidDateRangeAssign(@ObjectKeyAssignment varchar(138)  , @ValidFrom datetime   , @ValidUntil datetime   ) returns\r\n bit as begin declare @wantedFrom datetime declare @wantedUntil datetime declare @erg bit = 1 declare @heute datetime = getutcdate() declare @ist QBM_YDateTimePair\r\n declare @Luecke QBM_YDateTimePair  declare @GapFitting int = 0 declare @GapDefinition int = 0  select @wantedFrom = ISNULL(@ValidFrom, @heute) select \r\n@wantedUntil = ISNULL(@ValidUntil, '2200-01-01') if @wantedFrom < @heute begin select @wantedFrom = @heute end if @wantedUntil < @wantedFrom begin select\r\n @erg = 0 goto EndLabel end if @wantedUntil < @heute begin select @erg = 0 goto EndLabel end  select @GapFitting = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue\r\n('QER\\ITShop\\GapBehavior\\GapFitting'), 0) if @GapFitting = 2  begin goto endlabel end if exists (select top 1 1 from PersonWantsOrg pwo where pwo.ObjectKeyAssignment\r\n = @ObjectKeyAssignment      and pwo.OrderState in ('Assigned', 'Granted', 'New', 'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting') ) begin\r\n  select @GapDefinition = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue('QER\\ITShop\\GapBehavior\\GapDefinition'), 0) insert into @ist (FromDate , ToDate\r\n) select case when isnull(pwo.ValidFrom, '1899-12-30') < @heute then @heute else pwo.ValidFrom end , dbo.QBM_FCVDatetimeToDatetimeEve(isnull(pwo.ValidUntil\r\n, '2200-01-01')) from PersonWantsOrg pwo where pwo.ObjectKeyAssignment = @ObjectKeyAssignment        and (pwo.OrderState in ('Assigned', 'Granted', 'New'\r\n, 'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting') and @GapDefinition = 0  or pwo.OrderState in ('Assigned', 'Granted', 'OrderProlongate'\r\n, 'OrderUnsubscribe', 'Waiting') and @GapDefinition = 1  or pwo.OrderState in ('Assigned', 'OrderProlongate', 'OrderUnsubscribe' ) and @GapDefinition =\r\n 2  )  insert into @Luecke(FromDate , ToDate ) select g.GapStart, g.GapEnd from dbo.QBM_FTDateTimeGaps(@ist) g  if @ValidFrom is null and @ValidUntil is\r\n null and exists (select top 1 1 from @Luecke ) begin goto endLabel end if @GapFitting = 1  begin if not exists (select top 1 1 from @Luecke l where l.FromDate\r\n  <= @wantedFrom and @wantedUntil <= l.ToDate  ) begin select @erg = 0 end end if @GapFitting = 0  begin if not exists (select top 1 1 from @Luecke l where\r\n dbo.QBM_FGIDateTimeSpanOverlap(@wantedFrom, @wantedUntil, l.FromDate , l.ToDate , 0) = 1 ) begin select @erg = 0 end end    end endLabel: return (@erg\r\n) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGIPwoValidDateRangesExist",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:26.997",
      "ModifyDate": "2026-04-14T23:17:27.3",
      "Definition": "     create   function dbo.QER_FGIPwoValidDateRangesExist(@UID_PersonOrdered varchar(38)  , @UID_ITShopOrgPR varchar(38)  , @ValidFrom datetime \r\n  , @ValidUntil datetime   ) returns bit as begin declare @wantedFrom datetime declare @wantedUntil datetime declare @erg bit = 1 declare @IsReusePossible\r\n bit declare @heute datetime = getutcdate() declare @ObjectKeyAtPR varchar(138) declare @QER_BitPatternInheritInfo int = dbo.QER_FGIBitPatternInheritInfo\r\n('|Direct|', 0) declare @ist QBM_YDateTimePair declare @Luecke QBM_YDateTimePair declare @GapFitting int = 0 declare @GapDefinition int = 0  select @wantedFrom\r\n = ISNULL(@ValidFrom, @heute) select @wantedUntil = ISNULL(@ValidUntil, '2200-01-01')  if @wantedFrom < @heute begin select @wantedFrom = @heute end if\r\n @wantedUntil < @wantedFrom begin select @erg = 0 goto EndLabel end if @wantedUntil < @heute begin select @erg = 0 goto EndLabel end select top 1 @ObjectKeyAtPR\r\n = bho.ObjectKey , @IsReusePossible = ((sign(len(isnull(qa.ObjectKeyAssignTarget, ''))) ^1 ) & ba.IsReusePossible) from DialogTable t with (readpast) join\r\n BaseTreeAssign ba with (readpast) on ba.UID_DialogTableElement = t.UID_DialogTable join BaseTreeHasObject bho on bho.ObjectKey like '<Key><T>' + t.TableName\r\n + '</T>%'  left outer join QERAssign qa on bho.ObjectKey = qa.XObjectKey where bho.UID_Org = @UID_ITShopOrgPR and bho.InheritInfo = @QER_BitPatternInheritInfo\r\n if @IsReusePossible = 1 begin goto endLabel end  select @GapFitting = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue('QER\\ITShop\\GapBehavior\\GapFitting'\r\n), 0) if @GapFitting = 2  begin goto endlabel end if exists (select top 1 1 from PersonWantsOrg pwo join BaseTreeHasObject bho on pwo.UID_Org = bho.UID_Org\r\n and bho.InheritInfo = @QER_BitPatternInheritInfo where  bho.ObjectKey = @ObjectKeyAtPR and pwo.UID_PersonOrdered = @UID_PersonOrdered      and pwo.OrderState\r\n in ('Assigned', 'Granted', 'New', 'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting') ) begin  select @GapDefinition = dbo.QBM_FCVStringToInt\r\n(dbo.QBM_FGIConfigparmValue('QER\\ITShop\\GapBehavior\\GapDefinition'), 0) insert into @ist (FromDate , ToDate) select case when isnull(pwo.ValidFrom, '1899-12-30'\r\n) < @heute then @heute else pwo.ValidFrom end , dbo.QBM_FCVDatetimeToDatetimeEve(isnull(pwo.ValidUntil, '2200-01-01')) from PersonWantsOrg pwo join BaseTreeHasObject\r\n bho on pwo.UID_Org = bho.UID_Org and bho.InheritInfo = @QER_BitPatternInheritInfo where  bho.ObjectKey = @ObjectKeyAtPR and pwo.UID_PersonOrdered = @UID_PersonOrdered\r\n        and (pwo.OrderState in ('Assigned', 'Granted', 'New', 'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting') and @GapDefinition = 0 \r\n or pwo.OrderState in ('Assigned', 'Granted', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting') and @GapDefinition = 1  or pwo.OrderState in ('Assigned'\r\n, 'OrderProlongate', 'OrderUnsubscribe' ) and @GapDefinition = 2  )  insert into @Luecke(FromDate, ToDate) select g.GapStart, g.GapEnd from dbo.QBM_FTDateTimeGaps\r\n(@ist) g  if @ValidFrom is null and @ValidUntil is null and exists (select top 1 1 from @Luecke ) begin goto endLabel end if @GapFitting = 1  begin if \r\nnot exists (select top 1 1 from @Luecke l where l.FromDate <= @wantedFrom and @wantedUntil <= l.ToDate ) begin select @erg = 0 end end if @GapFitting =\r\n 0  begin if not exists (select top 1 1 from @Luecke l where dbo.QBM_FGIDateTimeSpanOverlap(@wantedFrom, @wantedUntil, l.FromDate, l.ToDate, 0) = 1 ) begin\r\n select @erg = 0 end end    end endLabel: return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGIPWOVisibleForPerson",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:05.8",
      "ModifyDate": "2026-04-14T23:20:37.863",
      "Definition": "  create   function dbo.QER_FGIPWOVisibleForPerson (@UID_Person varchar(38) , @UID_PersonWantsOrg varchar(38) , @AsManager bit   ) returns bit begin\r\n    declare @IsVisible bit = 0 declare @MyReports QBM_YSingleGUID   declare @MyOrgs QBM_YSingleGUID   declare @MyOrgsBasis QBM_YSingleGUID   declare @PersonsMe\r\n QBM_YSingleGUID  declare @ShowClosedAssignment int insert into @PersonsMe (UID_SingleGuid ) select distinct me.UID_PersonAlsoMe from QER_VPersonsAreMe\r\n me where me.UID_PersonOrigin = @uid_person     if @AsManager = 1 begin                insert into @MyOrgsBasis(UID_SingleGuid) select x.UID_Org from( \r\nselect hho.UID_Org from HelperHeadOrg hho join @PersonsMe me on hho.UID_PersonHead = me.UID_SingleGuid where hho.XOrigin > 0  union all select UID_Org \r\nfrom BaseTree b join @PersonsMe me on b.UID_PersonHead = me.UID_SingleGuid union all select UID_Org f from BaseTree b join @PersonsMe me on b.UID_PersonHeadSecond\r\n = me.UID_SingleGuid ) as x group by x.UID_Org  insert into @MyOrgs (UID_SingleGuid , BitProperty ) select x.uid_org, min(x.isParent) from ( select b.UID_SingleGuid\r\n as UID_Org , 0 as isParent from @MyOrgsBasis b union all select co.UID_Org, 0 from @MyOrgsBasis b join BaseTreeCollectionF co on b.UID_SingleGuid  = co.UID_ParentOrg\r\n and co.UID_Org <> co.UID_ParentOrg union all select co.UID_ParentOrg, case when co.UID_Org = co.UID_ParentOrg then 0 else 1 end from @MyOrgsBasis b join\r\n BaseTreeCollectionF co on b.UID_SingleGuid  = co.UID_Org and co.UID_Org <> co.UID_ParentOrg ) as x group by x.UID_Org insert into @MyReports(UID_SingleGuid\r\n )  select hpo.uid_person from @MyOrgs c join helperpersonorg hpo on hpo.uid_org = c.UID_SingleGuid   where BitProperty  = 0 union  select hhp.UID_Person\r\n from @PersonsMe me join HelperHeadPerson hhp on hhp.UID_PersonHead = me.UID_SingleGuid  where hhp.XOrigin > 0  union select me.UID_SingleGuid  from @PersonsMe\r\n me end else begin  insert into @MyReports(UID_SingleGuid ) select me.UID_SingleGuid  from @PersonsMe me end if exists (select top 1 1    from PersonWantsOrg\r\n pwo join @MyReports p on pwo.UID_PersonOrdered = p.UID_SingleGuid    where pwo.UID_PersonWantsOrg = @UID_PersonWantsOrg union all     select top 1 1 from\r\n PersonWantsOrg pwo join @MyReports p on pwo.UID_PersonInserted = p.UID_SingleGuid    where pwo.UID_PersonWantsOrg = @UID_PersonWantsOrg ) begin select\r\n @IsVisible = 1 goto TestsDone end if @AsManager = 1 begin    select @ShowClosedAssignment = dbo.QBM_FCVStringToInt( dbo.QBM_FGIConfigparmValue('QER\\ITShop\\ShowClosedAssignmentOrders'\r\n) , 0) if exists (select top 1 1  from PersonWantsOrg pwo       join BaseTree b on pwo.ObjectKeyOrgUsedInAssign = b.XObjectKey join @MyOrgs mc on b.uid_org\r\n = mc.UID_SingleGuid   where   pwo.UID_PersonWantsOrg = @UID_PersonWantsOrg and ( pwo.OrderState in ('Assigned', 'Granted', 'New', 'OrderProduct', 'OrderProlongate'\r\n, 'OrderUnsubscribe', 'Waiting') or @ShowClosedAssignment = 1 ) ) begin select @IsVisible = 1 goto TestsDone end end  if @AsManager = 0 begin    if exists\r\n (select top 1 1 from personwantsorg pwo join PWOHelperPWO h on pwo.uid_personwantsorg = h.uid_PersonwantsOrg join @PersonsMe me on me.UID_SingleGuid  \r\n= h.UID_PersonHead      and pwo.OrderState in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe') where pwo.UID_PersonWantsOrg = @UID_PersonWantsOrg\r\n ) begin select @IsVisible = 1 goto TestsDone end    if exists (select top 1 1 from PWODecisionHistory h join PersonWantsOrg pwo on h.UID_PersonWantsOrg\r\n = pwo.UID_PersonWantsOrg join @PersonsMe me on me.UID_SingleGuid  = h.UID_PersonHead  where  pwo.UID_PersonWantsOrg = @UID_PersonWantsOrg ) begin select\r\n @IsVisible = 1 goto TestsDone end    if exists (select top 1 1 from Delegation d join @PersonsMe me on d.UID_PersonReceiver = me.UID_SingleGuid  where\r\n   d.UID_PersonWantsOrg = @UID_PersonWantsOrg ) begin select @IsVisible = 1 goto TestsDone end    if exists(select top 1 1 from PersonWantsOrg pwo join\r\n PersonWantsOrg co on pwo.UID_ShoppingCartOrder = co.UID_ShoppingCartOrder join PWOHelperPWO h on co.uid_personwantsorg = h.uid_PersonwantsOrg join @PersonsMe\r\n me on me.UID_SingleGuid  = h.UID_PersonHead      where co.OrderState in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe') and pwo.UID_PersonWantsOrg\r\n = @UID_PersonWantsOrg ) begin select @IsVisible = 1 goto TestsDone end end  TestsDone: endLabel: return(@isvisible) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGIReasonTypeForACCProduct",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.807",
      "ModifyDate": "2026-04-14T23:20:39.36",
      "Definition": "   create   function dbo.QER_FGIReasonTypeForACCProduct(@UID_ACCProduct varchar(38) , @TypeOfReasonType varchar(16)  ) returns int as begin return\r\n( select case @TypeOfReasonType when 'Approve' then x.ApproveReasonType when 'Deny' then x.DenyReasonType else x.OrderReasonType end from ( select case\r\n y.ApproveReasonType when 3 then 2  else y.ApproveReasonType end as ApproveReasonType , case y.DenyReasonType when 3 then 2 else y.DenyReasonType end as\r\n DenyReasonType , case y.OrderReasonType when 3 then 2 else y.OrderReasonType end as OrderReasonType from ( select max(a.ApproveReasonType) | max(isnull\r\n(ag.ApproveReasonType,0)) as ApproveReasonType , max(a.DenyReasonType) | max(isnull(ag.DenyReasonType,0)) as DenyReasonType , max(a.OrderReasonType) | \r\nmax(isnull(ag.OrderReasonType,0)) as OrderReasonType from AccProduct a left outer join AccProductGroupCollection ac on a.UID_AccProductGroup = ac.UID_AccProductGroupChild\r\n left outer join AccProductGroup ag on ac.UID_AccProductGroupParent = ag.UID_AccProductGroup where a.UID_AccProduct = @UID_ACCProduct ) as y ) as x ) end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGIReasonTypeForPWO",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.8",
      "ModifyDate": "2026-04-14T23:20:39.35",
      "Definition": "   create   function dbo.QER_FGIReasonTypeForPWO(@UID_PersonWantsOrg varchar(38) , @TypeOfReasonType varchar(16)  ) returns int as begin return(\r\n select case @TypeOfReasonType when 'Approve' then x.ApproveReasonType when 'Deny' then x.DenyReasonType else x.OrderReasonType end from ( select case \r\ny.ApproveReasonType when 3 then 2  else y.ApproveReasonType end as ApproveReasonType , case y.DenyReasonType when 3 then 2 else y.DenyReasonType end as\r\n DenyReasonType , case y.OrderReasonType when 3 then 2 else y.OrderReasonType end as OrderReasonType from ( select max(a.ApproveReasonType) | max(isnull\r\n(ag.ApproveReasonType,0)) | max(isnull(wst.ApproveReasonType,0)) as ApproveReasonType , max(a.DenyReasonType) | max(isnull(ag.DenyReasonType,0)) | max(isnull\r\n(wst.DenyReasonType,0)) as DenyReasonType , max(a.OrderReasonType) | max(isnull(ag.OrderReasonType,0)) as OrderReasonType from PersonWantsOrg pwo join \r\nBaseTree pr on pwo.UID_Org = pr.UID_Org join AccProduct a on pr.UID_AccProduct = a.UID_AccProduct left outer join AccProductGroupCollection ac on a.UID_AccProductGroup\r\n = ac.UID_AccProductGroupChild left outer join AccProductGroup ag on ac.UID_AccProductGroupParent = ag.UID_AccProductGroup left outer join PWOHelperPWO\r\n h on pwo.UID_PersonWantsOrg = h.UID_PersonWantsOrg and pwo.DecisionLevel = h.LevelNumber left outer join QERWorkingStep wst on h.UID_QERWorkingStep = \r\nwst.UID_QERWorkingStep where pwo.UID_PersonWantsOrg = @UID_PersonWantsOrg ) as y ) as x ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGIRiskIndexProcname",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.81",
      "ModifyDate": "2026-04-14T23:20:39.37",
      "Definition": "  create   function dbo.QER_FGIRiskIndexProcname( @uid_dialogcolumn varchar(38) ) returns nvarchar(64) as begin return (dbo.QBM_FGICodeName('P' \r\n, 'RiskindexProcedure' + @uid_dialogcolumn ) ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FGITimeZoneForPerson",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:27.25",
      "ModifyDate": "2026-04-14T23:20:36.22",
      "Definition": "   create   function dbo.QER_FGITimeZoneForPerson ( @UID_Person varchar(38) ) returns varchar(38) with schemabinding as begin return (   select \r\ntop 1 isnull(z1.UID_DialogTimeZone , isnull (z3.UID_DialogTimeZone , isnull(z2.UID_DialogTimeZone , isnull(z4.UID_DialogTimeZone, isnull(z5.UID_DialogTimeZone\r\n , 'QBM-FA50BC3A1B8FC82E9DCFCCF81AA0D275'  ) ) ) ) ) as UID_DialogTimeZone             from dbo.Person p join dbo.DialogDatabase db on db.IsMainDatabase\r\n = 1 left outer join dbo.DialogState s1 on p.UID_DialogState = s1.UID_DialogState left outer join dbo.DialogStateHasTimeZone z1 on s1.UID_DialogState =\r\n z1.UID_DialogState left outer join dbo.DialogCountry c1 on c1.UID_DialogCountry = case when s1.UID_DialogCountry is null then p.UID_DialogCountry else\r\n s1.UID_DialogCountry end left outer join dbo.DialogCountryHasTimeZone z2 on c1.UID_DialogCountry = z2.UID_DialogCountry left outer join dbo.BaseTree l\r\n on p.UID_Locality = l.UID_Org left outer join dbo.DialogState s2 on l.UID_DialogState = s2.UID_DialogState left outer join dbo.DialogStateHasTimeZone \r\nz3 on s2.UID_DialogState = z3.UID_DialogState left outer join dbo.DialogCountry c2 on c2.UID_DialogCountry = case when s2.UID_DialogCountry is null then\r\n l.UID_DialogCountry else s2.UID_DialogCountry end left outer join dbo.DialogCountryHasTimeZone z4 on c2.UID_DialogCountry = z4.UID_DialogCountry left \r\nouter join dbo.DialogCountryHasTimeZone z5 on db.UID_DialogCountryDefault = z5.UID_DialogCountry where p.UID_Person = @UID_Person   ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_FGIDPRNameSpaceFromRoot",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:00:13.297",
      "ModifyDate": "2026-04-14T23:19:13.503",
      "Definition": "   create   function dbo.TSB_FGIDPRNameSpaceFromRoot(@UID_Anchor varchar(38) , @TableName varchar(30) ) returns varchar(38) with schemabinding as\r\n begin declare @erg varchar(38) if @TableName = 'UnsAccountB' begin select top 1 @erg = y.UID_DPRNameSpace from dbo.UNSAccountB x join dbo.UNSRootB y on\r\n x.UID_UNSRootB = y.UID_UNSRootB where x.UID_UNSAccountB = @UID_Anchor  return(@erg)  end if @TableName = 'UnsRootB' begin select top 1 @erg = y.UID_DPRNameSpace\r\n from dbo.UNSRootB y where y.UID_UNSRootB = @UID_Anchor  return(@erg)  end if @TableName = 'UNSContainerB' begin select top 1 @erg = y.UID_DPRNameSpace\r\n from dbo.UNSContainerB x join dbo.UNSRootB y on x.UID_UNSRootB = y.UID_UNSRootB where x.UID_UNSContainerB = @UID_Anchor  return(@erg)  end if @TableName\r\n = 'UNSGroupB' begin select top 1 @erg = y.UID_DPRNameSpace from dbo.UNSGroupB x join dbo.UNSRootB y on x.UID_UNSRootB = y.UID_UNSRootB where x.UID_UNSGroupB\r\n = @UID_Anchor  return(@erg)  end if @TableName = 'UNSGroupB1' begin select top 1 @erg = y.UID_DPRNameSpace from dbo.UNSGroupB1 x join dbo.UNSRootB y on\r\n x.UID_UNSRootB = y.UID_UNSRootB where x.UID_UNSGroupB1 = @UID_Anchor  return(@erg)  end if @TableName = 'UNSGroupB2' begin select top 1 @erg = y.UID_DPRNameSpace\r\n from dbo.UNSGroupB2 x join dbo.UNSRootB y on x.UID_UNSRootB = y.UID_UNSRootB where x.UID_UNSGroupB2 = @UID_Anchor  return(@erg)  end if @TableName = 'UNSGroupB3'\r\n begin select top 1 @erg = y.UID_DPRNameSpace from dbo.UNSGroupB3 x join dbo.UNSRootB y on x.UID_UNSRootB = y.UID_UNSRootB where x.UID_UNSGroupB3 = @UID_Anchor\r\n  return(@erg)  end if @TableName = 'UNSItemB' begin select top 1 @erg = y.UID_DPRNameSpace from dbo.UNSItemB x join dbo.UNSRootB y on x.UID_UNSRootB =\r\n y.UID_UNSRootB where x.UID_UNSItemB = @UID_Anchor  return(@erg)  end endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_FGIGroupAccountMatching",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:20.673",
      "ModifyDate": "2026-04-14T23:20:46.35",
      "Definition": "  create   function dbo.TSB_FGIGroupAccountMatching ( @matchPatternAccount bigint, @matchPatternGroup bigint ) returns int with SCHEMABINDING as\r\n begin  declare @matchPatternAccount_intern bigint declare @matchPatternGroup_intern bigint declare @erg int if isnull(@matchPatternAccount, 0) = 0 begin\r\n  select @matchPatternAccount_intern = 0x7fffffffffffffff end else begin select @matchPatternAccount_intern = @matchPatternAccount end if isnull(@matchPatternGroup\r\n, 0) = 0 begin select @matchPatternGroup_intern = 0x7fffffffffffffff end else begin select @matchPatternGroup_intern = @matchPatternGroup end select @erg\r\n = sign(@matchPatternGroup_intern & @matchPatternAccount_intern) ende: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_FGIPersonHasTSBAccountDef",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:20.827",
      "ModifyDate": "2026-04-14T23:20:46.547",
      "Definition": "      create   function dbo.TSB_FGIPersonHasTSBAccountDef (  @P_IsInActive bit, @P_IsTemporaryDeactivated bit, @P_XMarkedForDeletion int, @PFDInheritAccountDef\r\n bit, @PTDInheritAccountDef bit, @PMDInheritAccountDef bit,  @P_IsSecurityIncident bit, @PSIInheritAccountDef bit ) returns bit with SCHEMABINDING as begin\r\n declare @erg bit = 0 declare @QBM_BitPatternXMarkedForDel_Delay int = 0x01  declare @P_XMarkedForDeletion_bit1 int = @P_XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay\r\n if (isnull(@p_IsInActive,0) = 0 or (@p_IsInActive = 1 and @PFDInheritAccountDef = 1)) and (isnull(@P_IsTemporaryDeactivated,0) = 0 or (@P_IsTemporaryDeactivated\r\n = 1 and @PTDInheritAccountDef = 1)) and (@P_XMarkedForDeletion_bit1 = 0 or ( @P_XMarkedForDeletion_bit1 > 0 and @PMDInheritAccountDef = 1)) and (isnull\r\n(@P_IsSecurityIncident,0) = 0 or (@P_IsSecurityIncident = 1 and @PSIInheritAccountDef = 1)) begin select @erg = 1 end endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_FGIPWODecisionForGroup",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:20.607",
      "ModifyDate": "2026-04-14T23:20:46.243",
      "Definition": "     create   function dbo.TSB_FGIPWODecisionForGroup (@uid_personwantsorg varchar(38)) returns int as begin declare @erg int select @erg = 1  declare\r\n @ObjectKeyOrdered varchar(138) declare @UID_PersonOrdered varchar(38) declare @SourceTable nvarchar(32) select top 1 @ObjectKeyOrdered = ObjectKeyOrdered\r\n, @UID_PersonOrdered = UID_PersonOrdered, @SourceTable = dbo.QBM_FCVObjectkeyToElement('TableName', ObjectKeyOrdered) from personwantsorg where uid_personwantsorg\r\n = @uid_personWantsorg select @erg = case ( 4*sign(len(isnull(ra.UID_TSBAccountDef, '')))  + 2*sign(len(isnull(phr.UID_TSBAccountDef,'')))  + sign(len(isnull\r\n(pwoA.uid_personwantsorg, '')))  )  when 4 then 1 when 5 then 1 when 6 then 1 when 7 then 1 when 3 then 0 when 2 then 0 when 1 then 0  else -1 end from\r\n personwantsorg pwo join TSBGroupToTSBAccountDef ga on pwo.ObjectKeyOrdered = @ObjectKeyOrdered and pwo.ObjectKeyOrdered = ga.ObjectKeyGroup and pwo.uid_personwantsorg\r\n = @uid_personWantsorg and ga.BaseTableForPWO = @SourceTable  left outer join TSBAccountDefAndAccount ra on ga.UID_TSBAccountDef = ra.UID_TSBAccountDef\r\n and ra.uid_person = @UID_PersonOrdered  left outer join PersonHasTSBAccountDef phr on ga.UID_TSBAccountDef =phr.UID_TSBAccountDef and phr.XOrigin > 0 \r\nand phr.XIsInEffect = 1 and phr.uid_person = @UID_PersonOrdered  left outer join personwantsorg pwoA on pwoA.uid_personordered = @UID_PersonOrdered and\r\n pwoA.ObjectKeyOrdered = ga.ObjectKeyTSBAccountDef   and pwoA.OrderState in ('Assigned', 'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe')    return\r\n (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_FGIUNSRootBMatching",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:20.647",
      "ModifyDate": "2026-04-14T23:20:46.3",
      "Definition": "  create   function dbo.TSB_FGIUNSRootBMatching ( @UID_UNSRootB1 varchar(38), @UID_UNSRootB2 varchar(38) ) returns int with schemabinding as begin\r\n declare @erg int = 0  if @UID_UNSRootB1 = @UID_UNSRootB2 begin select @erg = 1  return(@erg)  end if exists (select top 1 1 from dbo.UNSRootB a join dbo.DPRNameSpace\r\n n on n.UID_DPRNameSpace = a.UID_DPRNameSpace join dbo.UNSRootB b on n.UID_DPRNameSpace = b.UID_DPRNameSpace where n.IsExtendedInheritance = 1 and a.UID_UNSRootB\r\n = @UID_UNSRootB1 and b.UID_UNSRootB = @UID_UNSRootB2 ) begin select @erg = 1 end endLabel: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_FGIUserInGroupValid",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:20.667",
      "ModifyDate": "2026-04-14T23:20:46.34",
      "Definition": "create   function dbo.TSB_FGIUserInGroupValid ( @P_isinactive bit , @P_IsTemporaryDeactivated bit, @P_XMarkedForDeletion int, @R_PFDInheriteGroup\r\n bit, @R_PTDInheriteGroup bit, @R_PMDInheriteGroup bit, @IsDirectAssignment bit, @P_IsSecurityIncident bit, @R_PSIInheriteGroup bit, @A_IsAccountDisabled\r\n bit, @R_ADAInheriteGroup bit ) returns int as begin return(  dbo.TSB_FGIUserInGroupValid_OVR_Ke ( @P_isinactive , @P_IsTemporaryDeactivated, @P_XMarkedForDeletion\r\n , @R_PFDInheriteGroup , @R_PTDInheriteGroup , @R_PMDInheriteGroup , @IsDirectAssignment , @P_IsSecurityIncident , @R_PSIInheriteGroup , @A_IsAccountDisabled\r\n , @R_ADAInheriteGroup , 0,0,0,0,0  , 'NONE' ) ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_FGIUserInGroupValid_OVR",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:20.663",
      "ModifyDate": "2026-04-14T23:20:46.337",
      "Definition": "create   function dbo.TSB_FGIUserInGroupValid_OVR ( @P_isinactive bit , @P_IsTemporaryDeactivated bit, @P_XMarkedForDeletion int, @R_PFDInheriteGroup\r\n bit, @R_PTDInheriteGroup bit, @R_PMDInheriteGroup bit, @IsDirectAssignment bit, @P_IsSecurityIncident bit, @R_PSIInheriteGroup bit, @A_IsAccountDisabled\r\n bit, @R_ADAInheriteGroup bit  , @OVR_PFD int , @OVR_PTD int , @OVR_PSI int , @OVR_PMD int , @OVR_ADA int ) returns int as begin return(  dbo.TSB_FGIUserInGroupValid_OVR_ke\r\n ( @P_isinactive , @P_IsTemporaryDeactivated, @P_XMarkedForDeletion , @R_PFDInheriteGroup , @R_PTDInheriteGroup , @R_PMDInheriteGroup , @IsDirectAssignment\r\n , @P_IsSecurityIncident , @R_PSIInheriteGroup , @A_IsAccountDisabled , @R_ADAInheriteGroup , @OVR_PFD , @OVR_PTD , @OVR_PSI , @OVR_PMD , @OVR_ADA , 'NONE'\r\n ) ) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_FGIUserInGroupValid_OVR_Ke",
      "ObjectType": "FN",
      "ObjectTypeDesc": "SQL_SCALAR_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:20.663",
      "ModifyDate": "2026-04-14T23:20:46.333",
      "Definition": "   create   function dbo.TSB_FGIUserInGroupValid_OVR_Ke  ( @P_isinactive bit , @P_IsTemporaryDeactivated bit, @P_XMarkedForDeletion int, @R_PFDInheriteGroup\r\n bit, @R_PTDInheriteGroup bit, @R_PMDInheriteGroup bit, @IsDirectAssignment bit, @P_IsSecurityIncident bit, @R_PSIInheriteGroup bit, @A_IsAccountDisabled\r\n bit, @R_ADAInheriteGroup bit  , @OVR_PFD int , @OVR_PTD int , @OVR_PSI int , @OVR_PMD int , @OVR_ADA int  , @PMDKeepMembershipsOfLinkedAccount varchar\r\n(16) ) returns int with SCHEMABINDING as begin declare @erg_PFD int declare @erg_PTD int declare @erg_PMD int declare @erg_PSI int declare @erg_ADA int\r\n declare @erg int declare @QBM_BitPatternXMarkedForDel_Delay int = 0x01   if @R_PFDInheriteGroup is null and @R_PTDInheriteGroup is null and @R_PMDInheriteGroup\r\n is null and @R_PSIInheriteGroup is null and @R_ADAInheriteGroup is null  and isnull(@P_XMarkedForDeletion,0) & @QBM_BitPatternXMarkedForDel_Delay = 0 \r\n and @OVR_PFD is null and @OVR_PMD is null and @OVR_PSI is null and @OVR_PTD is null begin select @erg = 1 goto endLabel end  if (isnull(@P_IsInActive,0\r\n) = 0 ) begin select @erg_PFD = 1 end else begin select @erg_PFD = case when @OVR_PFD = 1 then 1 when @OVR_PFD = -1 then 0 when @OVR_PFD = 0 and @R_PFDInheriteGroup\r\n is null then 1 else isnull(@R_PFDInheriteGroup,0) end end if (isnull(@P_IsTemporaryDeactivated,0) = 0 ) begin select @erg_PTD = 1 end else begin select\r\n @erg_PTD = case when @OVR_PTD = 1 then 1 when @OVR_PTD = -1 then 0 when @OVR_PTD = 0 and @R_PTDInheriteGroup is null then 1 else isnull(@R_PTDInheriteGroup\r\n ,0) end end if isnull(@P_XMarkedForDeletion, 0) & @QBM_BitPatternXMarkedForDel_Delay = 0 begin select @erg_PMD = 1 end else begin select @erg_PMD = case\r\n @OVR_PMD when 1 then 1 when -1 then 0 else  case @R_PMDInheriteGroup when 1 then 1 when 0 then 0 else  case when @PMDKeepMembershipsOfLinkedAccount = \r\n'ALL' then 1 when @PMDKeepMembershipsOfLinkedAccount = 'DIRECT' and @IsDirectAssignment = 1 then 1 else 0    end end end end if (isnull(@P_IsSecurityIncident\r\n,0) = 0 ) begin select @erg_PSI = 1 end else begin select @erg_PSI = case when @OVR_PSI = 1 then 1 when @OVR_PSI = -1 then 0 when @OVR_PSI = 0 and @R_PSIInheriteGroup\r\n is null then 1 else isnull(@R_PSIInheriteGroup,0) end end  if (isnull(@A_IsAccountDisabled,0) = 0 ) begin select @erg_ADA = 1 end else begin select @erg_ADA\r\n = case when @OVR_ADA = 1 then 1 when @OVR_ADA = -1 then 0 when @OVR_ADA = 0 and @R_ADAInheriteGroup is null then 1 else isnull(@R_ADAInheriteGroup,0) \r\nend end  if @erg_PFD + @erg_PTD + @erg_PMD + @erg_PSI + @erg_ADA = 5 begin select @erg = 1 end else begin select @erg = 0 end endLabel: return(@erg) end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_PAfterMigrationJobCreate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:23.327",
      "ModifyDate": "2026-04-14T23:20:48.917",
      "Definition": " create   procedure ADS_PAfterMigrationJobCreate (@GenProcID varchar(38) ) as begin declare @MyModule varchar(3) = 'ADS' SET XACT_ABORT OFF BEGIN\r\n TRY declare @CountElements int declare @Puffer QBM_YCursorbuffer declare @ElementCount int declare @ElementIndex int declare @ElementLast int declare \r\n@SQL nvarchar(max) declare @Parameters QBM_YParameterList insert into @Parameters (Parameter1, ContentFull) values ('SQLStmt', @SQL) , ('WithoutTransaction'\r\n, 'True')  select @CountElements = count(*) from ADSAccount u where UID_Person is null and NeverConnectToPerson = 0 insert into @Puffer(ContentFull) select\r\n concat('exec QBM_PJobCreate_HOTemplate_B ''ADSAccount'', ''UID_Person is null and NeverConnectToPerson = 0 and UID_ADSAccount like ''''', hp.HexPattern\r\n, ''''' '', @Columns = ''NeverConnectToPerson''' , ',@GenProcID = ''', @Genprocid, '''' , ', @AdditionalObjectKeysAffected = default' ) from dbo.QBM_FTHexPattern\r\n( case when @CountElements > 20000000 then 3  when @CountElements > 3000000 then 2  else 1 end ) as hp select @ElementCount = @@ROWCOUNT select @ElementIndex\r\n = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @SQL = bu.ContentFull from @Puffer\r\n bu where bu.ElementIndex = @ElementIndex update @Parameters set ContentFull = @SQL where Parameter1 = 'SQLStmt' exec QBM_PJobCreate 'VI.JobService.JobComponents.SQLComponent'\r\n , 'Execute SQL' , @Parameters = @Parameters , @GenProcID = @Genprocid , @ObjectKeysAffected = default select @ElementIndex += 1 end   select @CountElements\r\n = count(*) from ADSContact u where UID_Person is null and NeverConnectToPerson = 0 insert into @Puffer(ContentFull) select concat('exec QBM_PJobCreate_HOTemplate_B ''ADSContact'', ''UID_Person is null and NeverConnectToPerson = 0 and UID_ADSContact like '''''\r\n, hp.HexPattern, ''''' '', @Columns = ''NeverConnectToPerson''' , ',@GenProcID = ''', @Genprocid, '''' , ', @AdditionalObjectKeysAffected = default' ) \r\nfrom dbo.QBM_FTHexPattern( case when @CountElements > 20000000 then 3  when @CountElements > 3000000 then 2  else 1 end ) as hp select @ElementCount = \r\n@@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1\r\n @SQL = bu.ContentFull from @Puffer bu where bu.ElementIndex = @ElementIndex update @Parameters set ContentFull = @SQL where Parameter1 = 'SQLStmt' exec\r\n QBM_PJobCreate 'VI.JobService.JobComponents.SQLComponent' , 'Execute SQL' , @Parameters = @Parameters , @GenProcID = @Genprocid , @ObjectKeysAffected \r\n= default select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return\r\n end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_PAfterMigrationTasks",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:23.3",
      "ModifyDate": "2026-04-14T23:20:48.88",
      "Definition": " create   procedure ADS_PAfterMigrationTasks (@GenProcID varchar(38) ) as begin declare @MyModule varchar(3) = 'ADS' SET XACT_ABORT OFF BEGIN TRY\r\n if exists (select top 1 1 from QBMModuleDef d where d.ModuleName = @MyModule and d.CheckSumForDelta = 0 ) begin  declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.UID_Element, null, @GenProcID from ( select y.UID_Org as UID_Element from BaseTree\r\n y where y.XUserUpdated like 'QBM_PBufferT_Process%' and y.UID_Org like '___-%'  and y.XDateUpdated > GETUTCDATE() -1 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'ADS-K-BaseTreeOwnsObject', @DBQueueElements_01 end else begin  exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate', 'ADS-K-BaseTreeOwnsObject', \r\n'', @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow\r\n, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_RAccountInADSGroup",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:23.02",
      "ModifyDate": "2026-04-14T23:20:48.547",
      "Definition": "create   procedure ADS_RAccountInADSGroup (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'ADSAccount', 'uid_ADSAccount', @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent\r\n cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end if 1 = dbo.DPR_FGIProjectionRootRunning\r\n ('ADSDomain') begin insert into @ObjectKeysToCheck_Projection(Parameter1, Parameter2) select cu.UID_Parameter, ro.ObjectKeyRoot from @DBQueueCurrent cu\r\n join ADSAccount x on cu.UID_Parameter = x.UID_ADSAccount join ADS_VElementAndRoot ro on x.XObjectKey = ro.ObjectKeyElement  where ro.ElementTable = 'ADSAccount'\r\n exec @resetted = DPR_PSlotResetWhileProj_L @DBQueueCurrent, @ObjectKeysToCheck_Projection, @MyName, @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent\r\n from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber\r\n where cu.UID_DialogDBQueue is null end end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2) select cu.UID_Parameter, x.XObjectKey from\r\n @DBQueueCurrent cu join ADSAccount x on cu.UID_Parameter = x.UID_ADSAccount exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning\r\n, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_RADSMachineInADSGroup",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:23.107",
      "ModifyDate": "2026-04-14T23:20:48.633",
      "Definition": "create   procedure ADS_RADSMachineInADSGroup (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'ADSMachine', 'uid_ADSMachine', @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent\r\n cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end if 1 = dbo.DPR_FGIProjectionRootRunning\r\n ('ADSDomain') begin insert into @ObjectKeysToCheck_Projection(Parameter1, Parameter2) select cu.UID_Parameter, ro.ObjectKeyRoot from @DBQueueCurrent cu\r\n join ADSMachine a on a.UID_ADSMachine = cu.UID_Parameter join ADS_VElementAndRoot ro on a.XObjectKey = ro.ObjectKeyElement  where ro.ElementTable = 'ADSMachine'\r\n exec @resetted = DPR_PSlotResetWhileProj_L @DBQueueCurrent, @ObjectKeysToCheck_Projection, @MyName, @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent\r\n from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber\r\n where cu.UID_DialogDBQueue is null end end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2) select cu.UID_Parameter, x.XObjectKey from\r\n @DBQueueCurrent cu join ADSMachine x on cu.UID_Parameter = x.UID_ADSMachine exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning\r\n, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_RBaseTreeHasObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:23.19",
      "ModifyDate": "2026-04-14T23:20:48.757",
      "Definition": "create   procedure ADS_RBaseTreeHasObject (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'BaseTree', 'UID_Org', @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_RBaseTreeOwnsObjectPrepair",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:23.22",
      "ModifyDate": "2026-04-14T23:20:48.8",
      "Definition": "create   procedure ADS_RBaseTreeOwnsObjectPrepair (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'BaseTree', 'UID_Org', @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent\r\n cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end  insert into @ObjectKeysToCheck_Jobrunning\r\n(Parameter1, Parameter2) select x.UID_Org, x.XObjectKey from @DBQueueCurrent cu join BaseTree x on cu.UID_Parameter = x.UID_Org exec @resetted = QBM_PSlotResetWhileJobRun_L\r\n @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR \r\n('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_RContactInADSGroup",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:23.29",
      "ModifyDate": "2026-04-14T23:20:48.87",
      "Definition": "create   procedure ADS_RContactInADSGroup (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'ADSContact', 'uid_ADSContact', @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent\r\n cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end if 1 = dbo.DPR_FGIProjectionRootRunning\r\n ('ADSDomain') begin insert into @ObjectKeysToCheck_Projection(Parameter1, Parameter2) select cu.UID_Parameter, ro.ObjectKeyRoot from QBMDBQueueCurrent\r\n cu join ADSContact x on cu.UID_Parameter = x.UID_ADSContact join ADS_VElementAndRoot ro on x.XObjectKey = ro.ObjectKeyElement  where ro.ElementTable =\r\n 'ADSContact' and cu.SlotNumber = @SlotNumber exec @resetted = DPR_PSlotResetWhileProj_L @DBQueueCurrent, @ObjectKeysToCheck_Projection, @MyName, @SlotNumber\r\n if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue\r\n and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2) select cu.UID_Parameter\r\n, x.XObjectKey from @DBQueueCurrent cu join ADSContact x on cu.UID_Parameter = x.UID_ADSContact exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent\r\n, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH \r\nNOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_RGroupInADSGroup",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:23.047",
      "ModifyDate": "2026-04-14T23:20:48.58",
      "Definition": "create   procedure ADS_RGroupInADSGroup (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'ADSGroup', 'uid_ADSGroup', @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent\r\n cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end if 1 = dbo.DPR_FGIProjectionRootRunning\r\n ('ADSDomain') begin insert into @ObjectKeysToCheck_Projection(Parameter1, Parameter2) select cu.UID_Parameter, ro.ObjectKeyRoot from QBMDBQueueCurrent\r\n cu join ADSGroup x on cu.UID_Parameter = x.UID_ADSGroup join ADS_VElementAndRoot ro on x.XObjectKey = ro.ObjectKeyElement  where ro.ElementTable = 'ADSGroup'\r\n and cu.SlotNumber = @SlotNumber exec @resetted = DPR_PSlotResetWhileProj_L @DBQueueCurrent, @ObjectKeysToCheck_Projection, @MyName, @SlotNumber  end END\r\n TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_ROrgHasADSGroup",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:23.13",
      "ModifyDate": "2026-04-14T23:20:48.667",
      "Definition": "create   procedure ADS_ROrgHasADSGroup (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @UID_BasetreeAssignToUse varchar(38) = 'ADS-AsgnBT-ADSGroup' declare @DBQueueCurrent\r\n QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select \r\nUID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L @DBQueueCurrent, 'BaseTree', 'UID_Org', @SlotNumber if @resetted > 0 begin\r\n delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and \r\ncu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end exec @resetted = QER_PSlotResetOnInvalidRoot_L @DBQueueCurrent, @UID_BasetreeAssignToUse\r\n, @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue\r\n = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2\r\n) select cu.UID_Parameter, x.XObjectKey from @DBQueueCurrent cu join BaseTree x on cu.UID_Parameter = x.UID_Org exec @resetted = QBM_PSlotResetWhileJobRun_L\r\n @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_RPersonHasObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:23.17",
      "ModifyDate": "2026-04-14T23:20:48.73",
      "Definition": "create   procedure ADS_RPersonHasObject (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'Person', 'UID_Person', @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_ZAccountInADSGroup",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:23.013",
      "ModifyDate": "2026-04-14T23:20:48.537",
      "Definition": "       create   procedure ADS_ZAccountInADSGroup (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @GenProcID varchar(38) declare @PersonToCheck_L QBM_YSingleGUID declare @UID_BaseTreeAssignToUse varchar(38) = 'ADS-AsgnBT-ADSGroup' declare\r\n @DebugSwitch int = 0 declare @DebugLevel varchar(1) = 'W' declare @DebugMessage nvarchar(1000) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @RowsToReset\r\n int declare @MyName nvarchar(64) = object_name(@@procid) declare @QBM_BitPatternXMarkedForDel_Delay int = dbo.QBM_FGIBitPatternXMarkedForDel('|Delay|'\r\n, 0) declare @QBM_BitPatternXMarkedForDel_Out int = dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|', 0) declare @QBM_BitPatternXOrigin_Direct int = \r\ndbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1) declare @PMDKeepMembershipsOfLinkedAccount varchar(16) = left(dbo.QBM_FGIConfigparmValue('QER\\Person\\User\\KeepMembershipsOfLinkedAccount'\r\n), 16) BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter\r\n, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end insert into @PersonToCheck_L\r\n(UID_SingleGuid) select distinct a.UID_Person from @DBQueueCurrent cu join ADSAccount a on cu.UID_Parameter = a.UID_ADSAccount where a.UID_Person > ' '\r\n   insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore , XIsInEffectBefore, XIsInEffectAfter ) select 0\r\n, 0 , aig.uid_ADSaccount, aig.uid_ADSgroup, aig.XOrigin , aig.XIsInEffect, 0 from ADSAccountInADSGroup aig join @DBQueueCurrent x on uid_adsaccount = x.uid_parameter\r\n join ADSGroup g on aig.uid_adsGroup = g.uid_adsgroup  and g.IsApplicationGroup = 0 where aig.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay =\r\n 0  and g.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0 insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element,\r\n AssignedElement , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0, aig.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv , aig.uid_ADSaccount, aig.uid_ADSGroup\r\n , 0, dbo.TSB_FGIUserInGroupValid_OVR_Ke ( p.IsInActive, p.IsTemporaryDeactivated, p.XMarkedForDeletion, bh.PFDInheritGroup, bh.PTDInheritGroup, bh.PMDInheritGroup\r\n, 1, p.IsSecurityIncident, bh.PSIInheritGroup, n.AccountDisabled, bh.ADAInheritGroup , ovr.PFDInheritOverwrite, ovr.PTDInheritOverwrite, ovr.PSIInheritOverwrite\r\n, ovr.PMDInheritOverwrite, ovr.ADAInheritOverwrite, @PMDKeepMembershipsOfLinkedAccount)   & case when n.UID_ADSGroupPrimary = aig.UID_ADSGroup then 0 else\r\n 1 end  from ADSAccountInADSGroup aig join @DBQueueCurrent x on aig.uid_adsaccount = x.uid_parameter join ADSGroup g on aig.uid_adsGroup = g.uid_adsgroup\r\n and g.IsApplicationGroup = 0  and g.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0 join ADSAccount n on aig.uid_ADSAccount = n.uid_ADSAccount\r\n join ADSDomain d on n.UID_ADSDomain = d.UID_ADSDomain left outer join TSBSpecificGroupBehavior ovr on ovr.ObjectKeyGroup = g.XObjectKey  left outer join\r\n person p on n.uid_person = p.uid_person left outer join TSBBehavior bh on n.UID_TSBBehavior = bh.UID_TSBBehavior  insert into @SourceData( IsUpcommingContent\r\n, XOriginBefore, XOriginAfter , Element, AssignedElement , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0, @QBM_BitPatternXOrigin_Direct , a.uid_ADSaccount\r\n, a.UID_ADSGroupPrimary , 0, 0 from ADSAccount a join @DBQueueCurrent x on a.uid_adsaccount = x.uid_parameter where a.UID_ADSGroupPrimary > ' '  insert\r\n into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0 , uid_ADSaccount\r\n, uid_ADSgroup, @QBM_BitPatternXOrigin_Inherit , 0, y.XIsInEffect from ( select x.uid_ADSaccount, x.uid_ADSgroup, dbo.TSB_FGIUserInGroupValid_OVR_Ke ( \r\np.IsInActive, p.IsTemporaryDeactivated, p.XMarkedForDeletion, bh.PFDInheritGroup, bh.PTDInheritGroup, bh.PMDInheritGroup, 0, p.IsSecurityIncident, bh.PSIInheritGroup\r\n, x.AccountDisabled, bh.ADAInheritGroup , ovr.PFDInheritOverwrite, ovr.PTDInheritOverwrite, ovr.PSIInheritOverwrite, ovr.PMDInheritOverwrite, ovr.ADAInheritOverwrite\r\n, @PMDKeepMembershipsOfLinkedAccount)   & case when aa.UID_ADSGroupPrimary = x.UID_ADSGroup then 0 else 1 end as XIsInEffect  from (    select nt.uid_ADSaccount\r\n , ohg.uid_ADSgroup , nt.UID_ADSDomain , nt.uid_person, nt.AccountDisabled , nt.UID_TSBAccountDef , nt.UID_TSBBehavior, gg.XObjectKey from @DBQueueCurrent\r\n x join ADSaccount nt on nt.uid_ADSAccount = x.uid_parameter   and nt.isGroupAccount = 1 join dbo.QER_FTAccountInheritFromOrg_L(@PersonToCheck_L , @UID_BaseTreeAssignToUse\r\n ) pfo on pfo.UID_Person = nt.UID_Person join BaseTreeHasADSGroup ohg on pfo.uid_org = ohg.uid_org and ohg.XOrigin > 0 and ohg.XIsInEffect = 1 join ADSGroup\r\n gg on ohg.UID_ADSGroup = gg.UID_ADSGroup union all  select nt.uid_ADSaccount , gg.uid_ADSgroup , nt.UID_ADSDomain , nt.uid_person , nt.AccountDisabled\r\n , nt.UID_TSBAccountDef , nt.UID_TSBBehavior, gg.XObjectKey from @DBQueueCurrent x join ADSaccount nt on nt.uid_ADSAccount = x.uid_parameter   and nt.isGroupAccount\r\n = 1  join person px on nt.UID_Person = px.uid_person and px.isNoInherite = 0  join personHasESet phe on nt.uid_person = phe.uid_person and phe.XOrigin\r\n > 0 and phe.XIsInEffect = 1 join ESetHasEntitlement ehe on phe.uid_ESet = ehe.uid_ESet and ehe.XOrigin > 0 and ehe.XIsInEffect = 1 join ADSgroup gg on\r\n ehe.Entitlement = gg.XObjectKey and gg.IsApplicationGroup = 0  where dbo.QBM_FGIModuleExists('RMS') = 1 ) as x join ADSAccount aa on x.UID_ADSAccount \r\n= aa.UID_ADSAccount join ADSGroup ag with (nolock) on x.UID_ADSGroup = ag.UID_ADSGroup and ag.IsApplicationGroup = 0  and ag.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out\r\n = 0 left outer join TSBSpecificGroupBehavior ovr on ovr.ObjectKeyGroup = x.XObjectKey  left outer join ADS_VDomainTrustExists td on td.UID_ADSDomainMember\r\n = aa.UID_ADSDomain and td.UID_ADSDomainGroup = ag.UID_ADSDomain left outer join Person p on x.UID_Person = p.UID_Person  left outer join TSBBehavior bh\r\n on x.UID_TSBBehavior = bh.UID_TSBBehavior  where dbo.TSB_FGIGroupAccountMatching( ag.MatchPatternForMembership, aa.MatchPatternForMembership) = 1 and \r\n(aa.UID_ADSDomain = ag.UID_ADSDomain or td.UID_ADSDomainGroup > ' ' ) and exists (select top 1 1 from ADS_VGroupMemberValid_Account v where v.UID_ADSDomainContainer\r\n = ag.UID_ADSDomain and v.uid_adsgroupcontainer = ag.uid_adsgroup and v.UID_ADSDomainMember = aa.UID_ADSDomain )  and (not (isnull(p.XMarkedForDeletion\r\n, 0) & @QBM_BitPatternXMarkedForDel_Delay > 0 and bh.PMDInheritGroup is null and @PMDKeepMembershipsOfLinkedAccount <> 'ALL' and ovr.PMDInheritOverwrite\r\n is null ) )   ) as y if 1 = dbo.DPR_FGIProjectionRootRunning ('ADSDomain') begin declare @ObjectKeysToCheck_Projection QBM_YParameterList insert into \r\n@ObjectKeysToCheck_Projection(Parameter1, Parameter2) select cu.UID_Parameter, ro.ObjectKeyRoot from @DBQueueCurrent cu join @Sourcedata sd on cu.UID_Parameter\r\n = sd.Element join AdsGroup g on sd.AssignedElement = g.uid_adsGroup and g.IsApplicationGroup = 0 join ADS_VElementAndRoot ro on g.XObjectKey = ro.ObjectKeyElement\r\n  join ADSAccount a on cu.UID_Parameter = a.UID_ADSAccount and a.UID_ADSDomain <> g.UID_ADSDomain  where ro.ElementTable = 'AdsGroup' exec @RowsToReset\r\n = DPR_PSlotResetWhileProj_L @DBQueueCurrent, @ObjectKeysToCheck_Projection, @MyName, @SlotNumber if @RowsToReset > 0 begin delete  @DBQueueCurrent from\r\n @DBQueueCurrent cu left outer join QBMDBQueueCurrent d with (readpast) on cu.UID_DialogDBQueue = d.UID_DialogDBQueue and d.SlotNumber = @SlotNumber where\r\n d.UID_DialogDBQueue is null delete  @Sourcedata  from @Sourcedata s left outer join @DBQueueCurrent cu on s.Element = cu.UID_Parameter where cu.UID_DialogDBQueue\r\n is null end end  if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\GroupExclusion') > ' ' begin if exists (select top 1 1 from ADSGroupExclusion \r\nex with (nolock) join @Sourcedata s on ex.UID_ADSGroupLower  = s.AssignedElement where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter\r\n = 1 ) begin if @DebugSwitch > 0 begin select @DebugMessage = 'Eintritt Ausschlußberechnung ' + dbo.QBM_FCVDatetimeToString(getutcdate()) + str(@SlotNumber\r\n) exec QBM_PJournal @DebugMessage, @@PROCID , 'D', @Debuglevel end     declare @ExcludeCandidate QER_YExcludeCandidate       insert into @ExcludeCandidate\r\n(Element, AssignedElement, XIsInEffectAfter) select s.Element, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_ADSGroupLower as UID_Excluded\r\n from ADSGroupExclusion exe ) as ex on s.AssignedElement = ex.UID_Excluded where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter\r\n = 1 union all select s.Element, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_ADSGroupHigher as UID_Excluding from ADSGroupExclusion exe\r\n ) as ex on s.AssignedElement = ex.UID_Excluding where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 if @DebugSwitch > 0 begin\r\n select @DebugMessage = 'umladen fertig ' + dbo.QBM_FCVDatetimeToString(getutcdate()) + str(@SlotNumber) exec QBM_PJournal @DebugMessage, @@PROCID , 'D'\r\n, @Debuglevel end   update @ExcludeCandidate set XIsInEffectAfter = 0 from @ExcludeCandidate l  join ( select exe.UID_ADSGroupLower as UID_Excluded, exe.UID_ADSGroupHigher\r\n as UID_Excluding from ADSGroupExclusion exe ) as ex on l.AssignedElement = ex.UID_Excluded join (select sh.* from @ExcludeCandidate sh  ) as h on l.Element\r\n = h.Element and h.AssignedElement = ex.UID_Excluding if @@ROWCOUNT > 0 begin if @DebugSwitch > 0 begin select @DebugMessage = 'exclude update fertig '\r\n + dbo.QBM_FCVDatetimeToString(getutcdate()) + str(@SlotNumber) exec QBM_PJournal @DebugMessage, @@PROCID , 'D', @Debuglevel end update @Sourcedata set\r\n XIsInEffectAfter = 0 from @Sourcedata l join @ExcludeCandidate k on l.Element = k.Element and l.AssignedElement = k.AssignedElement and k.XIsInEffectAfter\r\n = 0 where l.IsUpcommingContent = 1 and l.XOriginAfter > 0 and l.XIsInEffectAfter = 1 end if @DebugSwitch > 0 begin select @DebugMessage = 'Austritt Ausschlußberechnung '\r\n + dbo.QBM_FCVDatetimeToString(getutcdate()) + str(@SlotNumber) exec QBM_PJournal @DebugMessage, @@PROCID , 'D', @Debuglevel end end  end   exec QBM_PDBQueueCalculateDelta\r\n @SourceData, @DeltaQuantity = 0, @DeltaDelete = 0, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin\r\n = @CountDeltaOrigin output , @UseIsInEffect = 1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaOrigin > 0 begin exec\r\n QBM_PMNTableOriginUpdate 'ADSAccountInADSGroup', 'UID_ADSAccount', 'UID_ADSGroup' end if @CountDeltaQantity > 0 begin exec QBM_PMNTableInsert 'ADSAccountInADSGroup'\r\n, 'UID_ADSAccount', 'UID_ADSGroup', @TargetIsView = 0 , @FKTableNameElement = 'ADSAccount' , @FKColumnNameElement = 'UID_ADSAccount' end          END TRY\r\n BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_ZADSMachineInADSGroup",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:23.1",
      "ModifyDate": "2026-04-14T23:20:48.623",
      "Definition": "       create   procedure ADS_ZADSMachineInADSGroup (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , \r\n@CountDeltaOrigin int declare @GenProcID varchar(38) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @ObjectKeysToCheck_Projection QBM_YParameterList\r\n declare @RowsToReset int declare @MyName nvarchar(64) = object_name(@@procid) declare @QBM_BitPatternXMarkedForDel_Delay int = dbo.QBM_FGIBitPatternXMarkedForDel\r\n('|Delay|', 0) declare @QBM_BitPatternXMarkedForDel_Out int = dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|', 0) declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end  insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore , XIsInEffectBefore, \r\nXIsInEffectAfter ) select 0, 0 , hia.UID_ADSMachine, hia.UID_ADSGroup, hia.XOrigin , hia.XIsInEffect, 0 from @DBQueueCurrent x join ADSMachineInADSGroup\r\n hia on hia.UID_ADSMachine = x.uid_parameter join ADSGroup g on hia.uid_adsGroup = g.uid_adsgroup   where hia.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay\r\n = 0  and g.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0   insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element\r\n, AssignedElement , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0, hia.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv , hia.UID_ADSMachine, hia.UID_ADSGroup\r\n , 0 ,  case when a.UID_ADSGroupPrimary = hia.UID_ADSGroup then 0 else 1 end  from @DBQueueCurrent x join ADSMachineInADSGroup hia on hia.UID_ADSMachine\r\n = x.uid_parameter join ADSGroup g on hia.uid_ADSGroup = g.uid_ADSGroup join ADSMachine a on x.UID_Parameter = a.UID_ADSMachine  and g.XMarkedForDeletion\r\n & @QBM_BitPatternXMarkedForDel_Out = 0    insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement , XIsInEffectBefore\r\n, XIsInEffectAfter ) select 1, 0, @QBM_BitPatternXOrigin_Direct , a.UID_ADSMachine, a.UID_ADSGroupPrimary , 0, 0 from ADSMachine a join @DBQueueCurrent\r\n x on a.UID_ADSMachine = x.uid_parameter where a.UID_ADSGroupPrimary > ' '  if dbo.QBM_FGIConfigparmValue('TargetSystem\\ADS\\HardwareInGroupFromOrg') > \r\n' '  begin insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectBefore, XIsInEffectAfter ) \r\nselect 1, 0 , y.UID_ADSMachine , y.UID_ADSGroup, @QBM_BitPatternXOrigin_Inherit , 0,  case when a.UID_ADSGroupPrimary = y.UID_ADSGroup then 0 else 1 end\r\n  from ( select nt.UID_ADSMachine , ohg.UID_ADSGroup from ADSMachine nt join @DBQueueCurrent x on nt.UID_ADSMachine = x.uid_parameter  and nt.XMarkedForDeletion\r\n & @QBM_BitPatternXMarkedForDel_Delay = 0 join Hardware h on nt.uid_Hardware = h.uid_Hardware join WorkDesk w on h.uid_WorkDesk = w.uid_WorkDesk and w.IsNoInherite\r\n = 0 join  ( select hpo.uid_WorkDesk , hpo.uid_org from helperWorkDeskorg hpo union select pio.uid_WorkDesk , pio.uid_org from WorkDeskinBaseTree pio join\r\n BaseTree ba on pio.UID_Org = ba.UID_Org and pio.XOrigin > 0 left outer join DynamicGroup dg on dg.ObjectKeyBaseTree = ba.XObjectKey ) as hwo  on hwo.uid_WorkDesk\r\n = h.uid_WorkDesk join BaseTreeHasADSGroup ohg on ohg.uid_org = hwo.uid_org and ohg.XOrigin > 0 and ohg.XIsInEffect = 1 join BaseTree b on b.uid_org = \r\nohg.uid_org and b.IsNoInheriteToWorkDesk = 0 join ADSGroup gg on ohg.UID_ADSGroup = gg.UID_ADSGroup  and gg.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out\r\n = 0   and ( nt.UID_ADSDomain = gg.UID_ADSDomain    or exists (select top 1 1 from ADS_VDomainTrustExists td where td.UID_ADSDomainMember = nt.UID_ADSDomain\r\n and td.UID_ADSDomainGroup = gg.UID_ADSDomain ) )  where   exists (select top 1 1 from ADS_VGroupMemberValid_Machine v where v.UID_ADSDomainContainer =\r\n gg.UID_ADSDomain and v.uid_adsgroupcontainer = gg.uid_adsgroup and v.UID_ADSDomainMember = nt.UID_ADSDomain ) union  select nt.UID_ADSMachine , ohg.UID_ADSGroup\r\n from  ( select m.uid_ADSMachine , hpo.uid_org from @DBQueueCurrent p join ADSMachine m on p.uid_parameter = m.UID_ADSMachine join helperHardwareorg hpo\r\n on m.uid_Hardware = hpo.uid_Hardware union select m.uid_ADSMachine , pio.uid_org from @DBQueueCurrent p join ADSMachine m on p.uid_parameter = m.UID_ADSMachine\r\n join HardwareinBaseTree pio on m.uid_Hardware = pio.uid_Hardware and pio.XOrigin > 0 join BaseTree ba on pio.UID_Org = ba.UID_Org left outer join DynamicGroup\r\n dg on dg.ObjectKeyBaseTree = ba.XObjectKey ) as hho  join ADSMachine nt on nt.UID_ADSMachine = hho.UID_ADSMachine  and nt.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay\r\n = 0  join BaseTreeHasADSGroup ohg on ohg.uid_org = hho.uid_org and ohg.XOrigin > 0 and ohg.XIsInEffect = 1 join BaseTree b on b.uid_org = ohg.uid_org \r\nand b.IsNoInheriteToHardware = 0 join ADSGroup gg on ohg.UID_ADSGroup = gg.UID_ADSGroup  and gg.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out =\r\n 0   and ( nt.UID_ADSDomain = gg.UID_ADSDomain    or exists (select top 1 1 from ADS_VDomainTrustExists td where td.UID_ADSDomainMember = nt.UID_ADSDomain\r\n and td.UID_ADSDomainGroup = gg.UID_ADSDomain ) )  where   exists (select top 1 1 from ADS_VGroupMemberValid_Machine v where v.UID_ADSDomainContainer =\r\n gg.UID_ADSDomain and v.uid_adsgroupcontainer = gg.uid_adsgroup and v.UID_ADSDomainMember = nt.UID_ADSDomain ) ) as y join ADSMachine a on y.UID_ADSMachine\r\n = a.UID_ADSMachine   end  if dbo.QBM_FGIModuleExists('RMS') = 1 begin insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement\r\n, XOriginAfter , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0 , nt.UID_ADSMachine , gg.UID_ADSGroup , @QBM_BitPatternXOrigin_Inherit as XOrigin , \r\n0,  case when nt.UID_ADSGroupPrimary = gg.UID_ADSGroup then 0 else 1 end  from ADSMachine nt join @DBQueueCurrent x on nt.UID_ADSMachine = x.uid_parameter\r\n  and nt.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0 join Hardware h on h.uid_Hardware = nt.uid_Hardware join WorkDeskHasESet whe on h.uid_WorkDesk\r\n = whe.uid_WorkDesk and whe.XIsInEffect = 1 and whe.XOrigin > 0 and whe.XIsInEffect = 1 join ESetHasEntitlement ehe on whe.uid_ESet = ehe.UID_ESet and \r\nehe.XOrigin > 0 and ehe.XIsInEffect = 1 join ADSGroup gg on ehe.Entitlement = gg.XObjectKey  and gg.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out\r\n = 0   and ( nt.UID_ADSDomain = gg.UID_ADSDomain    or exists (select top 1 1 from ADS_VDomainTrustExists td where td.UID_ADSDomainMember = nt.UID_ADSDomain\r\n and td.UID_ADSDomainGroup = gg.UID_ADSDomain ) )    and exists (select top 1 1 from ADS_VGroupMemberValid_Machine v where v.UID_ADSDomainContainer = gg.UID_ADSDomain\r\n and v.uid_adsgroupcontainer = gg.uid_adsgroup and v.UID_ADSDomainMember = nt.UID_ADSDomain )  end    if 1 = dbo.DPR_FGIProjectionRootRunning ('ADSDomain'\r\n) begin insert into @ObjectKeysToCheck_Projection(Parameter1, Parameter2) select cu.UID_Parameter, ro.ObjectKeyRoot from @DBQueueCurrent cu join @Sourcedata\r\n sd on cu.UID_Parameter = sd.Element join AdsGroup g on sd.AssignedElement= g.uid_adsGroup join ADS_VElementAndRoot ro on g.XObjectKey = ro.ObjectKeyElement\r\n  join ADSMachine a on cu.UID_Parameter = a.UID_ADSMachine and a.UID_ADSDomain <> g.UID_ADSDomain  where ro.ElementTable = 'AdsGroup' exec @RowsToReset\r\n = DPR_PSlotResetWhileProj_L @DBQueueCurrent, @ObjectKeysToCheck_Projection, @MyName, @SlotNumber if @RowsToReset > 0 begin delete  @DBQueueCurrent from\r\n @DBQueueCurrent cu left outer join QBMDBQueueCurrent d with (readpast) on cu.UID_DialogDBQueue = d.UID_DialogDBQueue and d.SlotNumber = @SlotNumber where\r\n d.UID_DialogDBQueue is null delete  @Sourcedata from @Sourcedata s left outer join @DBQueueCurrent cu on s.Element = cu.UID_Parameter where cu.UID_DialogDBQueue\r\n is null end end if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\GroupExclusion') > ' ' begin if exists (select top 1 1 from ADSGroupExclusion ex\r\n with (nolock) join @Sourcedata s on ex.UID_ADSGroupLower  = s.AssignedElement where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter\r\n = 1 ) begin declare @ExcludeCandidate QER_YExcludeCandidate insert into @ExcludeCandidate(Element, AssignedElement, XIsInEffectAfter) select s.Element\r\n, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_ADSGroupLower as UID_Excluded from ADSGroupExclusion exe ) as ex on s.AssignedElement =\r\n ex.UID_Excluded where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 union all select s.Element, s.AssignedElement, 1 from\r\n @Sourcedata s join ( select exe.UID_ADSGroupHigher as UID_Excluding from ADSGroupExclusion exe ) as ex on s.AssignedElement = ex.UID_Excluding where s.IsUpcommingContent\r\n = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 update @ExcludeCandidate set XIsInEffectAfter = 0 from @ExcludeCandidate l  join ( select exe.UID_ADSGroupLower\r\n as UID_Excluded, exe.UID_ADSGroupHigher as UID_Excluding from ADSGroupExclusion exe ) as ex on l.AssignedElement = ex.UID_Excluded join (select sh.* from\r\n @ExcludeCandidate sh  ) as h on l.Element = h.Element and h.AssignedElement = ex.UID_Excluding if @@ROWCOUNT > 0 begin update @Sourcedata set XIsInEffectAfter\r\n = 0 from @Sourcedata l join @ExcludeCandidate k on l.Element = k.Element and l.AssignedElement = k.AssignedElement and k.XIsInEffectAfter = 0 where l.IsUpcommingContent\r\n = 1 and l.XOriginAfter > 0 and l.XIsInEffectAfter = 1 end end  end  exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete = 0,\r\n @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 1\r\n , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaOrigin > 0 begin exec QBM_PMNTableOriginUpdate 'ADSMachineInADSGroup'\r\n, 'uid_ADSMachine', 'uid_ADSgroup' end if @CountDeltaQantity > 0 begin exec QBM_PMNTableInsert 'ADSMachineInADSGroup', 'uid_ADSMachine', 'uid_ADSgroup'\r\n, @TargetIsView = 0 , @FKTableNameElement = 'ADSMachine' , @FKColumnNameElement = 'uid_ADSMachine' end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_ZAllForOneHardware",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:23.23",
      "ModifyDate": "2026-04-14T23:20:48.81",
      "Definition": "       create   procedure ADS_ZAllForOneHardware (@SlotNumber int) as begin BEGIN TRY declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select m.uid_ADSMachine as uid, x.GenProcID from QBMDBQueueCurrent x with (readpast\r\n) join Hardware h on x.uid_parameter = h.uid_Hardware and x.SlotNumber = @SlotNumber join ADSMachine m on m.uid_Hardware = h.uid_Hardware ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_ZAllForOneOrg",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:23.31",
      "ModifyDate": "2026-04-14T23:20:48.89",
      "Definition": "  create   procedure ADS_ZAllForOneOrg (@SlotNumber int) as begin BEGIN TRY declare @dummy int END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_ZAllForOnePerson",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:23.313",
      "ModifyDate": "2026-04-14T23:20:48.9",
      "Definition": "  create   procedure ADS_ZAllForOnePerson (@SlotNumber int) as begin BEGIN TRY declare @Dummy int END TRY BEGIN CATCH exec QBM_PSessionErrorAdd \r\ndefault RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_ZAllForOneWorkDesk",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:23.24",
      "ModifyDate": "2026-04-14T23:20:48.823",
      "Definition": "       create   procedure ADS_ZAllForOneWorkDesk (@SlotNumber int) as begin   BEGIN TRY declare @DBQueueElements_01 QBM_YDBQueueRaw insert into \r\n@DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select distinct m.uid_ADSMachine as uid, x.GenProcID from QBMDBQueueCurrent\r\n x with (readpast) join Hardware h on x.uid_parameter = h.uid_WorkDesk and x.SlotNumber = @SlotNumber join ADSMachine m on m.uid_Hardware = h.uid_Hardware\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR \r\n('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_ZBaseTreeHasObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:23.187",
      "ModifyDate": "2026-04-14T23:20:48.747",
      "Definition": "      create   procedure ADS_ZBaseTreeHasObject (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @QBM_BitPatternXOrigin_Inherit int = dbo.QER_FGIBitPatternInheritInfo('|Inherit|', 0) declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY\r\n insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, \r\nGenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end insert into @SourceData\r\n( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 0, 0 , uid_Org, ObjectKey, InheritInfo from BaseTreeHasObject bho\r\n join @DBQueueCurrent x on uid_Org = x.uid_parameter where bho.ObjectKey like '<Key><T>ADSGroup</T>%'  insert into @SourceData( IsUpcommingContent, XOriginBefore\r\n , Element, AssignedElement, XOriginAfter ) select 1, 0 , y.UID_Org, z.XObjectKey, dbo.QER_FCVXOriginToInheritInfo(y.XOrigin) from BaseTreeHasADSGroup \r\ny join @DBQueueCurrent x on y.UID_Org= x.uid_parameter and y.XOrigin > 0 and y.XIsInEffect = 1 join ADSGroup z on z.uid_ADSGroup = y.uid_ADSGroup if dbo.QBM_FGIModuleExists\r\n('RMS') = 1 begin insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , y.UID_Org, ehe.Entitlement\r\n, dbo.QER_FCVXOriginToInheritInfo(@QBM_BitPatternXOrigin_Inherit) from BaseTreeHasESet y join @DBQueueCurrent x on y.UID_Org = x.uid_parameter and y.XOrigin\r\n > 0 and y.XIsInEffect = 1 join ESetHasEntitlement ehe on ehe.UID_ESet = y.UID_ESet and ehe.XOrigin > 0 and ehe.XIsInEffect = 1 join BaseTree b on y.UID_Org\r\n = b.UID_Org  and not (b.UID_OrgRoot in ( 'QER-V-ITShopOrg', 'QER-V-ITShopSrc') and b.ITShopInfo in ( 'BO', 'PR', 'BG', 'BT') ) join OrgRootAssign oa on\r\n oa.UID_OrgRoot = b.UID_OrgRoot and oa.IsAssignmentAllowed = 1 where (ehe.Entitlement like '<Key><T>ADSGroup</T>%' and oa.UID_BaseTreeAssign = 'ADS-AsgnBT-ADSGroup'\r\n)        end   insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , t.Element, t.XObjectKey\r\n, @QBM_BitPatternXOrigin_Inherit from ( select distinct ho.Element, p.XObjectKey from @SourceData ho join ADSGroup g on ho.AssignedElement = g.XObjectKey\r\n  join ADSGroupCollection co on co.UID_ADSGroupChild = g.uid_ADSGroup join ADSGroup p on co.UID_ADSGroupParent = p.UID_ADSGroup where ho.IsUpcommingContent\r\n = 1 and co.UID_ADSGroupChild <> co.UID_ADSGroupParent  ) as t         berechnen: exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete\r\n = 1, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect\r\n = 0 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent exec QER_PBasetreeHasObjectPostProc @CountDeltaOrigin, @CountDeltaQantity END\r\n TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_ZBaseTreeOwnsObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:23.21",
      "ModifyDate": "2026-04-14T23:20:48.78",
      "Definition": "      create   procedure ADS_ZBaseTreeOwnsObject (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @TopNode varchar(38) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @QER_BitPatternOwnershipInfo_Top int = dbo.QER_FGIBitPatternOwnershipInfo\r\n('|Top|', 0) declare @QER_BitPatternOwnershipInfo_Lower int = dbo.QER_FGIBitPatternOwnershipInfo('|Lower|', 0) declare @QER_BitPatternOwnershipInfo_Higher\r\n int = dbo.QER_FGIBitPatternOwnershipInfo('|Higher|', 0) declare @QER_BitPatternOwnershipInfo_Lower_Top int = dbo.QER_FGIBitPatternOwnershipInfo('|Lower|Top|'\r\n, 0) declare @QER_BitPatternOwnershipInfo_Higher_Top int = dbo.QER_FGIBitPatternOwnershipInfo('|Higher|Top|', 0)  BEGIN TRY insert into @DBQueueCurrent\r\n(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent\r\n cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end select @TopNode = 'ADS-AEROLE-NAMESPACEADMIN-ADS'  insert\r\n into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 0, 0 , bho.uid_Org, bho.ObjectKey, bho.OwnershipInfo\r\n from BaseTreeOwnsObject bho join (select a.XObjectKey, a.UID_ADSDomain from ADSDomain a union all select c.XObjectKey, c.UID_ADSDomain from ADSContainer\r\n c ) as y on bho.ObjectKey = y.XObjectKey join @DBQueueCurrent x on y.UID_ADSDomain = x.uid_parameter  insert into @SourceData( IsUpcommingContent, XOriginBefore\r\n , Element, AssignedElement, XOriginAfter ) select 1, 0 , x.Element, x.AssignedElement, x.XOriginAfter from ( select c.XObjectKey as AssignedElement , \r\ncase when c.UID_AERoleOwner > ' ' and bc.UID_ParentOrg = c.UID_AERoleOwner then @QER_BitPatternOwnershipInfo_Lower when c.UID_AERoleOwner > ' ' and bc.UID_ParentOrg\r\n <> c.UID_AERoleOwner then @QER_BitPatternOwnershipInfo_Lower_Top when d.UID_AERoleOwner > ' ' and bc.UID_ParentOrg = d.UID_AERoleOwner then @QER_BitPatternOwnershipInfo_Higher\r\n when d.UID_AERoleOwner > ' ' and bc.UID_ParentOrg <> d.UID_AERoleOwner then @QER_BitPatternOwnershipInfo_Higher_Top else @QER_BitPatternOwnershipInfo_Top\r\n end as XOriginAfter , bc.UID_ParentOrg as Element from ADSDomain d join @DBQueueCurrent x on d.UID_ADSDomain = x.uid_parameter cross join (select @TopNode\r\n as TopNode ) as o join ADSContainer c on c.UID_ADSDomain = d.UID_ADSDomain  join BaseTree b on b.UID_Org = case when c.UID_AERoleOwner > ' ' then c.UID_AERoleOwner\r\n when d.UID_AERoleOwner > ' ' then d.UID_AERoleOwner else o.TopNode end JOIN BaseTreeCollection bc on bc.UID_Org = b.UID_Org  and exists (select Top 1 \r\n1 from BaseTreeCollection up where up.UID_Org = bc.UID_Org and up.UID_ParentOrg = @TopNode )  left outer join BaseTreeCollection up2 on bc.UID_ParentOrg\r\n = up2.UID_ParentOrg and up2.UID_Org <> up2.UID_ParentOrg and up2.UID_Org = @TopNode where up2.UID_Org is null union select d.XObjectKey as AssignedElement\r\n , case when d.UID_AERoleOwner > ' ' and bc.UID_ParentOrg = d.UID_AERoleOwner then @QER_BitPatternOwnershipInfo_Higher when d.UID_AERoleOwner > ' ' and\r\n bc.UID_ParentOrg <> d.UID_AERoleOwner then @QER_BitPatternOwnershipInfo_Higher_Top else @QER_BitPatternOwnershipInfo_Top end as XOriginAfter , bc.UID_ParentOrg\r\n as Element from ADSDomain d join @DBQueueCurrent x on d.UID_ADSDomain = x.uid_parameter cross join (select @TopNode as TopNode ) as o  join BaseTree b\r\n on b.UID_Org = case when d.UID_AERoleOwner > ' ' then d.UID_AERoleOwner else o.TopNode end   JOIN BaseTreeCollection bc on bc.UID_Org = b.UID_Org  and\r\n exists (select Top 1 1 from BaseTreeCollection up where up.UID_Org = bc.UID_Org and up.UID_ParentOrg = @TopNode )  left outer join BaseTreeCollection \r\nup2 on bc.UID_ParentOrg = up2.UID_ParentOrg and up2.UID_Org <> up2.UID_ParentOrg and up2.UID_Org = @TopNode where up2.UID_Org is null ) as x calculateDifference:\r\n exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete = 1, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity\r\n output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent exec \r\nQER_PBasetreeOwnsObjectPost_L @CountDeltaOrigin, @CountDeltaQantity, @DBQueueCurrent END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (''\r\n, 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_ZBaseTreeOwnsObjectPrepair",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:23.217",
      "ModifyDate": "2026-04-14T23:20:48.79",
      "Definition": "      create   procedure ADS_ZBaseTreeOwnsObjectPrepair (@SlotNumber int) AS begin declare @MyName nvarchar(64) = object_name(@@procid) declare \r\n@GenProcID varchar(38) declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter\r\n, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber\r\n if @@rowcount = 0 begin goto EndLabel end if exists (select top 1 1 from @DBQueueCurrent c join BaseTreeCollectionF b on c.UID_Parameter = b.UID_Org where\r\n b.UID_ParentOrg = 'ADS-AEROLE-NAMESPACEADMIN-ADS' ) begin select top 1 @GenProcID = c.GenProcID from @DBQueueCurrent c join BaseTreeCollectionF b on c.UID_Parameter\r\n = b.UID_Org where b.UID_ParentOrg = 'ADS-AEROLE-NAMESPACEADMIN-ADS' exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate', 'ADS-K-BaseTreeOwnsObject'\r\n, '', @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_ZContactInADSGroup",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:23.283",
      "ModifyDate": "2026-04-14T23:20:48.857",
      "Definition": "       create   procedure ADS_ZContactInADSGroup (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @GenProcID varchar(38) declare @PersonToCheck_L QBM_YSingleGUID declare @UID_BaseTreeAssignToUse varchar(38) = 'ADS-AsgnBT-ADSGroup' declare\r\n @DBQueueCurrent QBM_YDBQueueCurrent declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @RowsToReset int declare @MyName nvarchar(64) = object_name\r\n(@@procid) declare @QBM_BitPatternXMarkedForDel_Delay int = dbo.QBM_FGIBitPatternXMarkedForDel('|Delay|', 0) declare @QBM_BitPatternXMarkedForDel_Out int\r\n = dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|', 0) declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0) declare\r\n @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1) declare @PMDKeepMembershipsOfLinkedAccount varchar(16) = left(dbo.QBM_FGIConfigparmValue\r\n('QER\\Person\\User\\KeepMembershipsOfLinkedAccount'), 16) BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end insert into @PersonToCheck_L(UID_SingleGuid) select distinct a.UID_Person from @DBQueueCurrent cu join ADSContact a on cu.UID_Parameter\r\n = a.UID_ADSContact where a.UID_Person > ' '   insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore , XIsInEffectBefore\r\n, XIsInEffectAfter ) select 0, 0 , aig.uid_ADSContact, aig.uid_ADSgroup, aig.XOrigin , aig.XIsInEffect, 0 from ADSContactInADSGroup aig join @DBQueueCurrent\r\n x on uid_adsContact = x.uid_parameter join ADSGroup g on aig.uid_adsGroup = g.uid_adsgroup   where aig.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay\r\n = 0  and g.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0          insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter\r\n , Element, AssignedElement , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0, aig.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv , aig.uid_ADSContact,\r\n aig.uid_ADSGroup , 0, dbo.TSB_FGIUserInGroupValid_OVR_Ke ( p.IsInActive, p.IsTemporaryDeactivated, p.XMarkedForDeletion, bh.PFDInheritGroup, bh.PTDInheritGroup\r\n, bh.PMDInheritGroup, 1, p.IsSecurityIncident, bh.PSIInheritGroup, 0 , bh.ADAInheritGroup , ovr.PFDInheritOverwrite, ovr.PTDInheritOverwrite, ovr.PSIInheritOverwrite\r\n, ovr.PMDInheritOverwrite, ovr.ADAInheritOverwrite, @PMDKeepMembershipsOfLinkedAccount)  from ADSContactInADSGroup aig join @DBQueueCurrent x on aig.uid_adsContact\r\n = x.uid_parameter join ADSGroup g on aig.uid_adsGroup = g.uid_adsgroup    and g.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0 join ADSContact\r\n n on aig.uid_ADSContact = n.uid_ADSContact  join ADSDomain d on n.UID_ADSDomain = d.UID_ADSDomain left outer join TSBSpecificGroupBehavior ovr on ovr.ObjectKeyGroup\r\n = g.XObjectKey  left outer join person p on n.uid_person = p.uid_person  left outer join TSBBehavior bh on n.UID_TSBBehavior = bh.UID_TSBBehavior   insert\r\n into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0 , uid_ADSContact\r\n, uid_ADSgroup, @QBM_BitPatternXOrigin_Inherit , 0, y.XIsInEffect from ( select x.uid_ADSContact, x.uid_ADSgroup, dbo.TSB_FGIUserInGroupValid_OVR_Ke ( \r\np.IsInActive, p.IsTemporaryDeactivated, p.XMarkedForDeletion, bh.PFDInheritGroup, bh.PTDInheritGroup, bh.PMDInheritGroup, 0, p.IsSecurityIncident, bh.PSIInheritGroup\r\n, 0  , bh.ADAInheritGroup , ovr.PFDInheritOverwrite, ovr.PTDInheritOverwrite, ovr.PSIInheritOverwrite, ovr.PMDInheritOverwrite, ovr.ADAInheritOverwrite\r\n, @PMDKeepMembershipsOfLinkedAccount  ) as XIsInEffect from (    select nt.uid_ADSContact , ohg.uid_ADSgroup , nt.UID_ADSDomain , nt.uid_person, 0  as \r\nAccountDisabled , nt.UID_TSBAccountDef , nt.UID_TSBBehavior, gg.XObjectKey from @DBQueueCurrent x join ADSContact nt on nt.uid_ADSContact = x.uid_parameter\r\n   and nt.isGroupAccount = 1 join dbo.QER_FTAccountInheritFromOrg_L(@PersonToCheck_L , @UID_BaseTreeAssignToUse ) pfo on pfo.UID_Person = nt.UID_Person\r\n join BaseTreeHasADSGroup ohg on pfo.uid_org = ohg.uid_org and ohg.XOrigin > 0 and ohg.XIsInEffect = 1 join ADSgroup gg on ohg.uid_ADSgroup = gg.uid_ADSGroup\r\n  and gg.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0    and ( nt.UID_ADSDomain = gg.UID_ADSDomain    or exists (select top 1 1 from ADS_VDomainTrustExists\r\n td where td.UID_ADSDomainMember = nt.UID_ADSDomain and td.UID_ADSDomainGroup = gg.UID_ADSDomain ) ) where dbo.TSB_FGIGroupAccountMatching( gg.MatchPatternForMembership\r\n, nt.MatchPatternForMembership) = 1    and exists (select top 1 1 from ADS_VGroupMemberValid_Contact v where v.UID_ADSDomainContainer = gg.UID_ADSDomain\r\n and v.uid_adsgroupcontainer = gg.uid_adsgroup and v.UID_ADSDomainMember = nt.UID_ADSDomain ) union all  select nt.uid_ADSContact , gg.uid_ADSgroup , nt.UID_ADSDomain\r\n , nt.uid_person , 0  as AccountDisabled , nt.UID_TSBAccountDef , nt.UID_TSBBehavior, gg.XObjectKey from @DBQueueCurrent x join ADSContact nt on nt.uid_ADSContact\r\n = x.uid_parameter   and nt.isGroupAccount = 1  join person px on nt.UID_Person = px.uid_person and px.isNoInherite = 0  join personHasESet phe on nt.uid_person\r\n = phe.uid_person and phe.XOrigin > 0 and phe.XIsInEffect = 1 join ESetHasEntitlement ehe on phe.uid_ESet = ehe.uid_ESet and ehe.XOrigin > 0 and ehe.XIsInEffect\r\n = 1 join ADSgroup gg on ehe.Entitlement = gg.XObjectKey  and gg.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0    and ( nt.UID_ADSDomain = \r\ngg.UID_ADSDomain    or exists (select top 1 1 from ADS_VDomainTrustExists td where td.UID_ADSDomainMember = nt.UID_ADSDomain and td.UID_ADSDomainGroup \r\n= gg.UID_ADSDomain ) ) where dbo.TSB_FGIGroupAccountMatching( gg.MatchPatternForMembership, nt.MatchPatternForMembership) = 1    and exists (select top\r\n 1 1 from ADS_VGroupMemberValid_Contact v where v.UID_ADSDomainContainer = gg.UID_ADSDomain and v.uid_adsgroupcontainer = gg.uid_adsgroup and v.UID_ADSDomainMember\r\n = nt.UID_ADSDomain ) and dbo.QBM_FGIModuleExists('RMS') = 1 ) as x join ADSDomain d on x.UID_ADSDomain = d.UID_ADSDomain left outer join TSBSpecificGroupBehavior\r\n ovr on ovr.ObjectKeyGroup = x.XObjectKey  left outer join person p on x.uid_person = p.uid_person  left outer join TSBBehavior bh on x.UID_TSBBehavior\r\n = bh.UID_TSBBehavior   where (not (isnull(p.XMarkedForDeletion, 0) & @QBM_BitPatternXMarkedForDel_Delay > 0 and bh.PMDInheritGroup is null and @PMDKeepMembershipsOfLinkedAccount\r\n <> 'ALL' and ovr.PMDInheritOverwrite is null ) )  ) as y   if 1 = dbo.DPR_FGIProjectionRootRunning ('ADSDomain') begin insert into @ObjectKeysToCheck_Projection\r\n(Parameter1, Parameter2) select cu.UID_Parameter, ro.ObjectKeyRoot from @DBQueueCurrent cu join @Sourcedata sd on cu.UID_Parameter = sd.Element join AdsGroup\r\n g on sd.AssignedElement = g.uid_adsGroup join ADS_VElementAndRoot ro on g.XObjectKey = ro.ObjectKeyElement  join ADSContact a on cu.UID_Parameter = a.UID_ADSContact\r\n and a.UID_ADSDomain <> g.UID_ADSDomain  where ro.ElementTable = 'AdsGroup' exec @RowsToReset = DPR_PSlotResetWhileProj_L @DBQueueCurrent, @ObjectKeysToCheck_Projection\r\n, @MyName, @SlotNumber if @RowsToReset > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent cu left outer join QBMDBQueueCurrent d with (readpast) on\r\n cu.UID_DialogDBQueue = d.UID_DialogDBQueue and d.SlotNumber = @SlotNumber where d.UID_DialogDBQueue is null delete  @Sourcedata from @Sourcedata s left\r\n outer join @DBQueueCurrent cu on s.Element = cu.UID_Parameter where cu.UID_DialogDBQueue is null end end if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\GroupExclusion'\r\n) > ' ' begin if exists (select top 1 1 from ADSGroupExclusion ex with (nolock) join @Sourcedata s on ex.UID_ADSGroupLower  = s.AssignedElement where s.IsUpcommingContent\r\n = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 ) begin declare @ExcludeCandidate QER_YExcludeCandidate insert into @ExcludeCandidate(Element, AssignedElement\r\n, XIsInEffectAfter) select s.Element, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_ADSGroupLower as UID_Excluded from ADSGroupExclusion\r\n exe ) as ex on s.AssignedElement = ex.UID_Excluded where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 union all select s.Element\r\n, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_ADSGroupHigher as UID_Excluding from ADSGroupExclusion exe ) as ex on s.AssignedElement\r\n = ex.UID_Excluding where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 update @ExcludeCandidate set XIsInEffectAfter = 0 \r\nfrom @ExcludeCandidate l  join ( select exe.UID_ADSGroupLower as UID_Excluded, exe.UID_ADSGroupHigher as UID_Excluding from ADSGroupExclusion exe ) as \r\nex on l.AssignedElement = ex.UID_Excluded join (select sh.* from @ExcludeCandidate sh  ) as h on l.Element = h.Element and h.AssignedElement = ex.UID_Excluding\r\n if @@ROWCOUNT > 0 begin update @Sourcedata set XIsInEffectAfter = 0 from @Sourcedata l join @ExcludeCandidate k on l.Element = k.Element and l.AssignedElement\r\n = k.AssignedElement and k.XIsInEffectAfter = 0 where l.IsUpcommingContent = 1 and l.XOriginAfter > 0 and l.XIsInEffectAfter = 1 end end  end   exec QBM_PDBQueueCalculateDelta\r\n @SourceData, @DeltaQuantity = 0, @DeltaDelete = 0, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin\r\n = @CountDeltaOrigin output , @UseIsInEffect = 1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaOrigin > 0 begin exec\r\n QBM_PMNTableOriginUpdate 'ADSContactInADSGroup', 'UID_ADSContact', 'UID_ADSGroup' end if @CountDeltaQantity > 0 begin exec QBM_PMNTableInsert 'ADSContactInADSGroup'\r\n, 'UID_ADSContact', 'UID_ADSGroup', @TargetIsView = 0 , @FKTableNameElement = 'ADSContact' , @FKColumnNameElement = 'UID_ADSContact' end          END TRY\r\n BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_ZGroupInADSGroup",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:23.04",
      "ModifyDate": "2026-04-14T23:20:48.57",
      "Definition": "   create   procedure ADS_ZGroupInADSGroup (@SlotNumber int ) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @lauf int declare @GenProcID varchar(38) declare @ElementCount int declare @ElementIndex int declare @ElementLast int declare @GenProcID_R\r\n varchar(38) = dbo.QBM_FGISessionContext('') declare @QBMDeltaHelper QBM_YDBQueueDeltaHelper declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end insert into @SourceData( IsUpcommingContent\r\n, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 0, 0 , UID_ADSGroupParent, UID_ADSGroupChild, Levelnumber + 1  from ADSGroupCollection\r\n join @DBQueueCurrent x on UID_ADSGroupParent = x.uid_parameter   insert into @QBMDeltaHelper(Element, AssignedElement, XOrigin) select uid_parameter, \r\nuid_parameter, 1  from @DBQueueCurrent p  select @lauf = 1 while @lauf > 0 begin  insert into @QBMDeltaHelper (Element, AssignedElement, XOrigin) select\r\n distinct a.Element, gig.uid_ADSGroupChild, a.XOrigin + 1 from @QBMDeltaHelper a join ADSGroupInADSGroup gig on a.assignedElement = gig.uid_ADSGroupParent\r\n where Not exists (select top 1 1 from @QBMDeltaHelper e where e.Element = a.Element and e.AssignedElement = gig.uid_ADSGroupChild ) select @lauf = @@rowcount\r\n end insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement ) select 1, 0, XOrigin , Element, AssignedElement\r\n from @QBMDeltaHelper exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete = 1, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity\r\n = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = \r\n@DBQueueCurrent  if @CountDeltaQantity > 0 begin declare @GenProcIDs_CountDeltaQuantity QBM_YCursorBuffer insert into @GenProcIDs_CountDeltaQuantity (UID1\r\n) select de.GenProcID from #QBMDeltaDelete de union select de.GenProcID from #QBMDeltaInsert de select @ElementCount = @@ROWCOUNT select @ElementIndex \r\n= @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @GenProcID = bu.UID1 from @GenProcIDs_CountDeltaQuantity\r\n bu where bu.ElementIndex = @ElementIndex if exists (select top 1 1 from #QBMDeltaDelete x where x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID delete ADSGroupCollection where exists (select top 1 1 from #QBMDeltaDelete d where d.AssignedElement = ADSGroupCollection.uid_ADSGroupChild\r\n and d.Element = ADSGroupCollection.uid_ADSGroupParent  and d.GenProcID = @GenProcID ) end  if exists (select top 1 1 from #QBMDeltaInsert x where x.GenProcID\r\n = @GenProcID ) begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID insert into ADSGroupCollection ( UID_ADSGroupParent, UID_ADSGroupChild, LevelNumber\r\n , XObjectKey ) select x.uid_ADSGroupParent, x.uid_ADSGroupChild, x.LevelNumber - 1  ,dbo.QBM_FCVElementToObjectKey2('ADSGroupCollection', 'UID_ADSGroupParent'\r\n, x.UID_ADSGroupParent, 'UID_ADSGroupChild', x.UID_ADSGroupChild) from ( select Element as uid_ADSGroupParent, AssignedElement as uid_ADSGroupChild, XOrigin\r\n as Levelnumber from #QBMDeltaInsert  where GenProcID = @GenProcID ) as x end  select @ElementIndex += 1 end  exec QBM_PDBQueueInsert_Single 'ADS-K-ADSGroupInADSGroup-Circ'\r\n, '', '', @GenProcID end  if @CountDeltaOrigin > 0 begin declare @GenProcIDs_CountDeltaOrigin QBM_YCursorBuffer insert into @GenProcIDs_CountDeltaOrigin\r\n (UID1) select distinct de.GenProcID from #QBMDeltaOrigin de select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select\r\n @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @GenProcID = bu.UID1 from @GenProcIDs_CountDeltaOrigin bu where bu.ElementIndex\r\n = @ElementIndex exec QBM_PSessionContextSet 'GenProcID', @GenProcID update ADSGroupCollection set Levelnumber = x.LevelNumber - 1  from ADSGroupCollection\r\n co join ( select Element as uid_ADSGroupParent, AssignedElement as uid_ADSGroupChild, XOrigin as LevelNumber from #QBMDeltaOrigin where GenProcID = @GenProcID\r\n ) as x on co.uid_ADSGroupParent = x.uid_ADSGroupParent and co.UID_ADSGroupChild = x.UID_ADSGroupChild where co.LevelNumber <> x.Levelnumber -1  select\r\n @ElementIndex += 1 end  end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_ZGroupInADSGroup_Circ",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:23.057",
      "ModifyDate": "2026-04-14T23:20:48.59",
      "Definition": "      create   procedure ADS_ZGroupInADSGroup_Circ ( @SlotNumberDummy int , @dummy1 varchar(38) , @Dummy2 varchar(38) , @GenProcIDDummy varchar(38\r\n) ) as begin   BEGIN TRY update ADSGroupCollection set IsCircular = 1 from ADSGroupCollection co where co.UID_ADSGroupChild <> co.UID_ADSGroupParent and\r\n exists (select top 1 1 from ADSGroupCollection ce where co.UID_ADSGroupChild = ce.UID_ADSGroupParent and co.UID_ADSGroupParent = ce.UID_ADSGroupChild \r\n) and IsCircular = 0  update ADSGroupCollection set IsCircular = 0 from ADSGroupCollection co where co.UID_ADSGroupChild <> co.UID_ADSGroupParent and not\r\n exists (select top 1 1 from ADSGroupCollection ce where co.UID_ADSGroupChild = ce.UID_ADSGroupParent and co.UID_ADSGroupParent = ce.UID_ADSGroupChild \r\n) and IsCircular = 1  update ADSGroupCollection set IsCircular = 1 from ADSGroupCollection co where co.UID_ADSGroupChild = co.UID_ADSGroupParent and exists\r\n (select top 1 1 from ADSGroupCollection ce where co.UID_ADSGroupParent = ce.UID_ADSGroupParent and ce.UID_ADSGroupChild <> ce.UID_ADSGroupParent and IsCircular\r\n = 1 ) and IsCircular = 0 update ADSGroupCollection set IsCircular = 0 from ADSGroupCollection co where co.UID_ADSGroupChild = co.UID_ADSGroupParent and\r\n not exists (select top 1 1 from ADSGroupCollection ce where co.UID_ADSGroupParent = ce.UID_ADSGroupParent and ce.UID_ADSGroupChild <> ce.UID_ADSGroupParent\r\n and IsCircular = 1 ) and IsCircular = 1 update ADSGroupCollection set IsCircular = x.IsCircular from ADSGroupCollection co join (select y.UID_ADSGroupChild\r\n, y.IsCircular from ADSGroupCollection y where y.UID_ADSGroupChild = y.UID_ADSGroupParent ) as x on x.UID_ADSGroupChild = co.UID_ADSGroupChild where co.IsCircular\r\n <> x.IsCircular  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_ZOrgHasADSGroup",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:23.123",
      "ModifyDate": "2026-04-14T23:20:48.657",
      "Definition": "       create   procedure ADS_ZOrgHasADSGroup (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @GenProcID varchar(38) declare @UID_BasetreeAssignToUse varchar(38) = 'ADS-AsgnBT-ADSGroup' declare @DBQueueCurrent QBM_YDBQueueCurrent declare\r\n @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0)  declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin\r\n('|Inherit|', 1)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end insert\r\n into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore , XIsInEffectBefore ) select 0, 0 , uid_org, uid_ADSgroup\r\n, XOrigin , XIsInEffect from BaseTreeHasADSGroup join @DBQueueCurrent x on uid_org =x.uid_parameter insert into @SourceData( IsUpcommingContent, XOriginBefore\r\n, XOriginAfter , Element, AssignedElement , XIsInEffectAfter ) select 1, 0, ohg.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv , x.uid_parameter, ohg.uid_ADSgroup\r\n , 1 from BaseTreeHasADSGroup ohg join @DBQueueCurrent x on ohg.uid_org = x.uid_parameter  where ohg.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 insert\r\n into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectAfter ) select 1, 0 , x.uid_parameter, ohg.uid_ADSgroup\r\n, @QBM_BitPatternXOrigin_Inherit , 1 from BaseTreeHasADSGroup ohg join BaseTreeCollection oc on ohg.uid_org = oc.uid_parentorg  and ohg.XIsInEffect = 1\r\n join ADSGroup gg on ohg.uid_ADSGroup = gg.UID_ADSGroup  join @DBQueueCurrent x on oc.uid_org = x.uid_parameter where oc.uid_org <> oc.uid_parentorg  and\r\n ohg.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 if dbo.QBM_FGIModuleExists('RMS') = 1 begin if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\NoESetSplitting'\r\n) = '' begin insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectAfter ) select 1, 0 , x.uid_parameter\r\n, y.uid_ADSGroup, @QBM_BitPatternXOrigin_Inherit  , 1 from @DBQueueCurrent x join BaseTreeHasEset bhe on x.uid_Parameter = bhe.uid_org and bhe.XOrigin \r\n> 0 and bhe.XIsInEffect = 1 join ESetHasEntitlement ehe on bhe.uid_ESet = ehe.uid_ESet and ehe.XOrigin > 0 and ehe.XIsInEffect = 1 join ADSGroup y on ehe.entitlement\r\n = y.XObjectKey join BaseTree b on bhe.UID_Org = b.UID_Org  and not (b.UID_OrgRoot in ( 'QER-V-ITShopOrg', 'QER-V-ITShopSrc') and b.ITShopInfo in ( 'BO'\r\n, 'PR', 'BG', 'BT') ) join OrgRootAssign oa on oa.UID_OrgRoot = b.UID_OrgRoot and oa.UID_BaseTreeAssign = @UID_BasetreeAssignToUse and oa.IsAssignmentAllowed\r\n = 1 end  else begin  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, x.GenProcID\r\n from ( select cu.UID_Parameter as uid, cu.GenProcID from @DBQueueCurrent cu ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-BaseTreeHasObject', @DBQueueElements_01\r\n end end  if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\GroupExclusion') > ' ' begin if exists (select top 1 1 from ADSGroupExclusion ex with \r\n(nolock) join @Sourcedata s on ex.UID_ADSGroupLower  = s.AssignedElement where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter =\r\n 1 ) begin declare @ExcludeCandidate QER_YExcludeCandidate insert into @ExcludeCandidate(Element, AssignedElement, XIsInEffectAfter) select s.Element, \r\ns.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_ADSGroupLower as UID_Excluded from ADSGroupExclusion exe ) as ex on s.AssignedElement = ex.UID_Excluded\r\n where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 union all select s.Element, s.AssignedElement, 1 from @Sourcedata s join\r\n ( select exe.UID_ADSGroupHigher as UID_Excluding from ADSGroupExclusion exe ) as ex on s.AssignedElement = ex.UID_Excluding where s.IsUpcommingContent\r\n = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1  delete  @ExcludeCandidate from @ExcludeCandidate ex where exists (select top 1 1 from BaseTree \r\nb where ex.Element = b.UID_Org and b.UID_OrgRoot in ( 'QER-V-ITShopOrg', 'QER-V-ITShopSrc') and b.ITShopInfo in ( 'BO',  'BG', 'BT') )  update @ExcludeCandidate\r\n set XIsInEffectAfter = 0 from @ExcludeCandidate l  join ( select exe.UID_ADSGroupLower as UID_Excluded, exe.UID_ADSGroupHigher as UID_Excluding from ADSGroupExclusion\r\n exe ) as ex on l.AssignedElement = ex.UID_Excluded join (select sh.* from @ExcludeCandidate sh  ) as h on l.Element = h.Element and h.AssignedElement \r\n= ex.UID_Excluding if @@ROWCOUNT > 0 begin update @Sourcedata set XIsInEffectAfter = 0 from @Sourcedata l join @ExcludeCandidate k on l.Element = k.Element\r\n and l.AssignedElement = k.AssignedElement and k.XIsInEffectAfter = 0 where l.IsUpcommingContent = 1 and l.XOriginAfter > 0 and l.XIsInEffectAfter = 1 \r\nend end  end   exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete = 0, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity\r\n = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = \r\n@DBQueueCurrent if @CountDeltaOrigin > 0 begin exec QBM_PMNTableOriginUpdate 'BaseTreeHasADSGroup', 'uid_org', 'uid_adsGroup' end if @CountDeltaQantity\r\n > 0 begin exec QER_PMNTableAddViewProperties 'BaseTreeHasADSGroup' exec QBM_PMNTableInsert 'BaseTreeHasADSGroup', 'uid_org', 'uid_adsGroup', @TargetIsView\r\n = 1 , @FKTableNameElement = 'BaseTree' , @FKColumnNameElement = 'UID_Org' end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18,\r\n 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_ZPersonHasADSGroup",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:23.14",
      "ModifyDate": "2026-04-14T23:20:48.68",
      "Definition": "      create   procedure ADS_ZPersonHasADSGroup (@SlotNumber int) AS begin declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent\r\n(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent\r\n cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into\r\n @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select distinct a.uid_ADSAccount as uid, p.GenProcID from @DBQueueCurrent\r\n p join ADSAccount a on a.uid_person = p.uid_Parameter and a.UID_Person > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSAccountInADSGroup', @DBQueueElements_01\r\n declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select\r\n distinct a.uid_ADSContact as uid, p.GenProcID from @DBQueueCurrent p join ADSContact a on a.uid_person = p.uid_Parameter and a.UID_Person > ' ' ) as x\r\n exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSContactInADSGroup', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18\r\n, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_ZPersonHasObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:23.167",
      "ModifyDate": "2026-04-14T23:20:48.72",
      "Definition": "      create   procedure ADS_ZPersonHasObject (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @QER_BitPattern_Inherit_0 int = dbo.QER_FGIBitPatternInheritInfo('|Inherit|', 0) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @QBM_BitPatternXMarkedForDel_Delay\r\n int = dbo.QBM_FGIBitPatternXMarkedForDel('|Delay|', 0) declare @QER_BitPatternInherit_Direct int = dbo.QER_FGIBitPatternInheritInfo('|Direct|', 0) declare\r\n @QER_BitPatternInherit_Master int = dbo.QER_FGIBitPatternInheritInfo('|Master|', 0)  declare @IncludeTSBPersonUsesAccount nvarchar(1024) = dbo.QBM_FGIConfigparmValue\r\n('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount') BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 0, 0 , pho.UID_Person\r\n, pho.ObjectKey, pho.InheritInfo from PersonHasObject pho join @DBQueueCurrent x on pho.UID_Person = x.uid_parameter where pho.ObjectKey like '<Key><T>ADSAccount</T>%'\r\n or pho.ObjectKey like '<Key><T>ADSGroup</T>%' or pho.ObjectKey like '<Key><T>ADSContact</T>%'   insert into @SourceData( IsUpcommingContent, XOriginBefore\r\n , Element, AssignedElement, XOriginAfter ) select 1, 0 , y.uid_person, y.XObjectKey, @QER_BitPatternInherit_Direct from ADSAccount y join @DBQueueCurrent\r\n x on y.uid_person= x.uid_parameter and y.UID_Person > ' ' union all select 1, 0 , y.uid_person, y.XObjectKey, @QER_BitPatternInherit_Direct from ADSContact\r\n y join @DBQueueCurrent x on y.uid_person= x.uid_parameter and y.UID_Person > ' '  if @IncludeTSBPersonUsesAccount = '1' begin insert into @SourceData(\r\n IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , y.uid_person, y.ObjectKeyAccount, @QER_BitPattern_Inherit_0\r\n from TSBPersonUsesAccount y join @DBQueueCurrent x on y.uid_person= x.uid_parameter join ADSAccount a on y.ObjectKeyAccount = a.XObjectKey insert into\r\n @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , y.uid_person, y.ObjectKeyAccount, @QER_BitPattern_Inherit_0\r\n from TSBPersonUsesAccount y join @DBQueueCurrent x on y.uid_person= x.uid_parameter join ADSContact a on y.ObjectKeyAccount = a.XObjectKey end   insert\r\n into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , y.uid_person, q.XObjectKey, dbo.QER_FCVXOriginToInheritInfo\r\n(z.XOrigin) from ADSAccount y join @DBQueueCurrent x on y.uid_person = x.uid_parameter and y.UID_Person > ' ' join ADSAccountInADSGroup z on y.uid_ADSAccount\r\n = z.uid_ADSAccount and z.XOrigin > 0 and z.XIsInEffect = 1  join ADSGroup q on q.uid_ADSGroup = z.uid_ADSGroup where z.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay\r\n = 0 union all select 1, 0 , y.uid_person, q.XObjectKey, dbo.QER_FCVXOriginToInheritInfo(z.XOrigin) from ADSContact y join @DBQueueCurrent x on y.uid_person\r\n = x.uid_parameter and y.UID_Person > ' ' join ADSContactInADSGroup z on y.UID_ADSContact = z.UID_ADSContact and z.XOrigin > 0 and z.XIsInEffect = 1  join\r\n ADSGroup q on q.uid_ADSGroup = z.uid_ADSGroup where z.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0  if @IncludeTSBPersonUsesAccount = '1'\r\n begin insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , y.uid_person, q.XObjectKey, \r\n@QER_BitPattern_Inherit_0 from TSBPersonUsesAccount y join @DBQueueCurrent x on y.uid_person = x.uid_parameter join ADSAccount a on y.ObjectKeyAccount \r\n= a.XObjectKey join ADSAccountInADSGroup z on a.uid_ADSAccount = z.uid_ADSAccount and z.XOrigin > 0 and z.XIsInEffect = 1  join ADSGroup q on q.uid_ADSGroup\r\n = z.uid_ADSGroup where z.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0 insert into @SourceData( IsUpcommingContent, XOriginBefore , Element\r\n, AssignedElement, XOriginAfter ) select 1, 0 , y.uid_person, q.XObjectKey, @QER_BitPattern_Inherit_0 from TSBPersonUsesAccount y join @DBQueueCurrent \r\nx on y.uid_person = x.uid_parameter join ADSContact a on y.ObjectKeyAccount = a.XObjectKey join ADSContactInADSGroup z on a.uid_ADSContact = z.uid_ADSContact\r\n and z.XOrigin > 0 and z.XIsInEffect = 1  join ADSGroup q on q.uid_ADSGroup = z.uid_ADSGroup where z.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay\r\n = 0 end   insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , y.uid_person, q.XObjectKey\r\n, ( @QER_BitPatternInherit_Direct ) as XOrigin from ADSAccount y join @DBQueueCurrent x on y.uid_person= x.uid_parameter and y.UID_Person > ' ' join ADSGroup\r\n q on q.uid_ADSGroup = y.UID_ADSGroupPrimary  if @IncludeTSBPersonUsesAccount = '1' begin insert into @SourceData( IsUpcommingContent, XOriginBefore , \r\nElement, AssignedElement, XOriginAfter ) select 1, 0 , y.uid_person, q.XObjectKey, @QER_BitPatternInherit_Direct from TSBPersonUsesAccount y join @DBQueueCurrent\r\n x on y.uid_person = x.uid_parameter join ADSAccount a on y.ObjectKeyAccount = a.XObjectKey join ADSGroup q on q.uid_ADSGroup = a.UID_ADSGroupPrimary end\r\n   insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , t.Element, t.XObjectKey, @QER_BitPattern_Inherit_0\r\n from ( select distinct ho.Element, p.XObjectKey from @SourceData ho join ADSGroup g on ho.AssignedElement = g.XObjectKey  join ADSGroupCollection co on\r\n co.UID_ADSGroupChild = g.uid_ADSGroup join ADSGroup p on co.UID_ADSGroupParent = p.UID_ADSGroup where ho.IsUpcommingContent = 1 and co.UID_ADSGroupChild\r\n <> co.UID_ADSGroupParent ) as t          insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select \r\n1, 0 , m.uid_person, pho.objectkey, @QER_BitPatternInherit_Master from @DBQueueCurrent x join person m on m.UID_Person = x.uid_parameter  join person s\r\n on s.UID_PersonMasterIdentity = m.uid_Person join PersonHasObject pho on pho.uid_person = s.uid_person where pho.ObjectKey like '<Key><T>ADSAccount</T>%'\r\n or pho.ObjectKey like '<Key><T>ADSGroup</T>%' or pho.ObjectKey like '<Key><T>ADSContact</T>%'   if @IncludeTSBPersonUsesAccount = '1' begin insert into\r\n @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , m.uid_person, pho.ObjectKey, @QER_BitPatternInherit_Master\r\n from TSBPersonUsesAccount y join @DBQueueCurrent x on y.uid_person = x.uid_parameter join person m on m.UID_Person = y.uid_person join person s on s.UID_PersonMasterIdentity\r\n = m.uid_Person join PersonHasObject pho on pho.uid_person = s.uid_person where pho.ObjectKey like '<Key><T>ADSAccount</T>%' or pho.ObjectKey like '<Key><T>ADSGroup</T>%'\r\n or pho.ObjectKey like '<Key><T>ADSContact</T>%' end   berechnen: exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 1, @DeltaDelete = 1, @DeltaInsert\r\n = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 0 , @SlotNumber\r\n = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent exec QER_PPersonHasObjectPostProc @SlotNumber , @CountDeltaOrigin , @CountDeltaQantity , 'ADS-K-PersonHasObject'\r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_ZWorkDeskInADSGroup",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:23.147",
      "ModifyDate": "2026-04-14T23:20:48.693",
      "Definition": "      create   procedure ADS_ZWorkDeskInADSGroup (@SlotNumber int) AS begin BEGIN TRY declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select distinct m.uid_ADSMachine as uid, p.GenProcID from QBMDBQueueCurrent p with\r\n (readpast) join Hardware a on a.uid_WorkDesk = p.uid_Parameter and p.SlotNumber = @SlotNumber join ADSMachine m on m.uid_Hardware = a.uid_Hardware  ) \r\nas x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (''\r\n, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_P47650F5671BCBA8B679125E_",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.767",
      "ModifyDate": "2026-04-14T23:20:42.8",
      "Definition": "    create   procedure ATT_P47650F5671BCBA8B679125E_(@UID_AttestationPolicy varchar(38) , @CaseWhereClause nvarchar(max) , @LimitOfOldCases int \r\n, @GivenObjects QBM_YParameterList readonly ) as begin declare @work QBM_YParameterList declare @Ergebnis int = 1 SET XACT_ABORT OFF BEGIN TRY insert into\r\n @work (Parameter2 ) select top 2000 dt.UID_AttestationCase from ( select c.UID_AttestationCase  , ROW_NUMBER() over (partition by  c.objectkeybase order\r\n by c.xdateinserted desc) as rownumber from AttestationCase c with (readpast) join ( select  ObjectKeyBase  from AttestationCase with (readpast) where \r\nUID_AttestationPolicy = @UID_AttestationPolicy and IsClosed = 1 and ( @CaseWhereClause is null or ( @CaseWhereClause > ' ' and ObjectKeyBase in (select\r\n Parameter1 from @GivenObjects) ) ) group by  ObjectKeyBase having COUNT(*) > @LimitOfOldCases ) as ol on c.ObjectKeyBase = ol.ObjectKeyBase where c.UID_AttestationPolicy\r\n = @UID_AttestationPolicy and c.IsClosed = 1 ) as dt where dt.rownumber > @LimitOfOldCases option (maxdop 1) select @Ergebnis = @@ROWCOUNT delete AttestationCase\r\n from AttestationCase ac with(forceseek) join @work w on ac.UID_AttestationCase = w.Parameter2  option (maxdop 1) END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: set lock_timeout\r\n -1 return (@Ergebnis) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_P59CCD84DFA68B81E1B20B65_",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.973",
      "ModifyDate": "2026-04-14T23:20:43.09",
      "Definition": "   create   procedure ATT_P59CCD84DFA68B81E1B20B65_ ( @Einzufuegen QBM_YParameterList readonly    , @HexPattern varchar(200) , @GenProcID varchar\r\n(38) ) as begin declare @Anzahl int declare @DebugSwitch int = 0 declare @XObjectKeys QBM_YParameterList insert into @XObjectKeys (Parameter1) select e.Parameter3\r\n from @Einzufuegen e where e.Parameter1 like @HexPattern  select @Anzahl = @@rowcount if @DebugSwitch > 0 begin print '  Jobs für ' + str(@Anzahl) + ' Sätze'\r\n end exec QBM_PJobCreate_HOTemplate_L 'HelperAttestationPolicy', @XObjectKeys, @Columns = 'DisplayName' , @GenProcID = @GenProcID , @SingleTransaction \r\n= 0 , @priority = 10 , @isToFreezeOnError = 1 , @Retries = 2 , @CheckForExisting = 0 , @AdditionalObjectKeysAffected = DEFAULT end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_P600B8EB3A312074D1A10A4A_",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.837",
      "ModifyDate": "2026-04-14T23:20:42.907",
      "Definition": "      create   procedure ATT_P600B8EB3A312074D1A10A4A_(@uid_AttestationPolicy varchar(38) ) as begin declare @ergebnis int = 1 declare @Work QBM_YParameterList\r\n  SET XACT_ABORT OFF BEGIN TRY insert into @Work (Parameter2 ) select top 2000 c.UID_AttestationCase from AttestationCase c where c.UID_AttestationPolicy\r\n = @uid_AttestationPolicy select @ergebnis = @@ROWCOUNT if @ergebnis = 0 begin goto endLabel end  delete AttestationCaseHasMControl from AttestationCaseHasMControl\r\n ac with (forceSeek) join @Work w on ac.UID_AttestationCase = w.Parameter2  delete AttestationCase from AttestationCase ac with (forceseek) join @Work \r\nw on ac.UID_AttestationCase = w.Parameter2  option (maxdop 1) END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return (@Ergebnis) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_PAfterMigrationTasks",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.943",
      "ModifyDate": "2026-04-14T23:20:43.053",
      "Definition": "  create   procedure ATT_PAfterMigrationTasks (@GenProcID varchar(38) ) as begin declare @MyModule varchar(3) = 'ATT' declare @XUser nvarchar(64\r\n) = object_name(@@procid) declare @Xdate datetime = getutcdate() declare @AttCasePendingNL QBM_YCursorBuffer SET XACT_ABORT OFF BEGIN TRY  insert into \r\n@AttCasePendingNL (UID1) select UID_AttestationCase from AttestationCase where DataLength(ReportContent) < 10 update AttestationCase set ReportContent \r\n= null  , XDateUpdated = @Xdate , XUserUpdated = @XUser from AttestationCase ac join @AttCasePendingNL h on h.UID1 = ac.UID_AttestationCase where rtrim\r\n(ReportContent) = ''   declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.UID_Element,\r\n null, @GenProcID from ( select y.UID_AttestationPolicy as UID_Element from AttestationPolicy y where y.UID_AttestationPolicy like '___-%'  and y.XUserUpdated\r\n like 'QBM_PBufferT_Process%' and y.XDateUpdated > GETUTCDATE() -1 ) as x exec QBM_PDBQueueInsert_Bulk 'ATT-K-HelperAttestationPolicy', @DBQueueElements_01\r\n   exec QBM_PJobCreate_HOTemplate_B 'HelperAttestationPolicy', 'UID_AttestationPolicy in (select UID_AttestationPolicy\r\n\t\t\t\t\t\t\t\t\tfrom AttestationPolicy p\r\n\t\t\t\t\t\t\t\t\twhere p.IsInActive = 0\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\tand DisplayName is null'\r\n, 'DisplayName', @GenProcID , @AdditionalObjectKeysAffected = default , @checkForExisting = 1  exec QBM_PJobCreate_HOFireEvent 'AttestationPolicy', '1=1'\r\n , 'RebuildWhereClause', @GenProcID, @objectKeysAffected = default        exec QBM_PDBQueueInsert_Single 'QER-K-DynamicGroupMakeTrigger', '', '', @GenProcID\r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH\r\n NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_PAttestationCaseCreate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.963",
      "ModifyDate": "2026-04-14T23:20:43.08",
      "Definition": " create   procedure ATT_PAttestationCaseCreate (  @UID_AttestationRun varchar(38) , @UID_AttestationPolicy varchar(38) , @TableName varchar(30) \r\n, @WhereClause nvarchar(max) ) as begin  declare @start datetime = getutcdate() declare @AnzahlElemente int declare @SQLCmd nvarchar(max) declare @Xdate\r\n datetime = getutcdate() declare @XUser nvarchar(64) = dbo.QBM_FGISessionContext('XUser') declare @UID_QERWorkingMethod varchar(38) declare @UID_PWODecisionMethod\r\n varchar(38) DECLARE @Message nvarchar(1024) declare @DebugSwitch int = 0 if @DebugSwitch > 0 begin declare @CountAt int = dbo.qbm_fgiTableCountall('Attestationcase'\r\n) declare @CountJQ int = dbo.qbm_fgiTableCountall('Jobqueue') declare @CountPWO int = dbo.qbm_fgiTableCountall(@TableName) print '@CountAt  ' + str(@CountAt\r\n) print '@CountJQ  ' + str(@CountJQ) print '@CountPWO ' + str(@CountPWO) end select top 1 @UID_PWODecisionMethod = p.UID_PWODecisionMethod from AttestationPolicy\r\n p where p.UID_AttestationPolicy = @UID_AttestationPolicy exec QER_PGIQERWorkingMethod @UID_PWODecisionMethod, ''  , @UID_QERWorkingMethod output declare\r\n @Zwischenlager QBM_YParameterList    declare @Rohware QBM_YParameterList  declare @HexPatterns QBM_YCursorBuffer declare @CountChunks int declare @CountChunksWithData\r\n int = 0 declare @ChunkWithData int declare @ElementIndex int declare @HexPattern varchar(200) SET XACT_ABORT OFF BEGIN TRY set nocount on  if object_id\r\n('tempdb..#JobQueue') is null begin  Create Table #JobQueue( UID_Job varchar(38) collate database_default NOT NULL , UID_JobSameServer varchar(38) collate\r\n database_default NULL , UID_Tree varchar(38) collate database_default NOT NULL , Queue nvarchar(128) collate database_default NOT NULL , ComponentClass\r\n nvarchar(200) collate database_default NULL , ExecutionType nvarchar(16) collate database_default NULL , ComponentAssembly nvarchar(255) collate database_default\r\n NULL , TaskName nvarchar(64) collate database_default NOT NULL , ParamIN nvarchar(max) collate database_default NULL , Ready2EXE nvarchar(32) collate \r\ndatabase_default NOT NULL , StartAt datetime NULL , XDateInserted datetime NULL , XDateUpdated datetime NULL , XUserInserted nvarchar(64) collate database_default\r\n NULL , XUserUpdated nvarchar(64) collate database_default NULL , Retries int default 0 NULL , Priority int default 0 NULL , DeferOnError bit default 0\r\n NULL , MinutesToDefer int default 0 NULL , UID_JobError varchar(38) collate database_default NULL , UID_JobSuccess varchar(38) collate database_default\r\n NULL , IgnoreErrors bit default 0 NULL , MaxInstance int default 0 NULL , JobChainName nvarchar(255) collate database_default NOT NULL  , IsSplitOnly \r\nbit default 0 NULL , WasError bit default 0 NULL , ErrorNotify bit default 0 NULL          , IsRootJob bit default 0 NULL , GenProcID varchar(38) collate\r\n database_default NOT NULL  , IsToFreezeOnError bit default 0 NULL   , BasisObjectKey varchar(138) collate database_default NULL      , primary key nonCLUSTERED\r\n (UID_Job) , index #JobQueue(ComponentClass,TaskName,JobChainName) INCLUDE (UID_Job) ) end else begin truncate table #JobQueue end if object_id('tempdb..#QBMElementAffectedByJob'\r\n) is null begin Create Table #QBMElementAffectedByJob( UID_Job varchar(38) collate database_default NOT NULL , ObjectKeyAffected varchar(138) collate database_default\r\n NOT NULL , index #QBMElementAffectedByJob (UID_Job) ) end else begin truncate table #QBMElementAffectedByJob end  select @SQLCmd = CONCAT( 'select XObjectkey \r\n\t\t\t\t\t\t\tfrom '\r\n , @TableName , '\r\n\t\t\t\t\t\t\twhere ' , @WhereClause ) insert into @Rohware(Parameter1) exec sp_executesql @SQLCmd if @DebugSwitch > 0 begin select @Message\r\n = 'Zeit für Rohware       ' + STR(DATEDIFF(ss, @start, GETUTCDATE())) print @message end insert into @Zwischenlager (Parameter1, Parameter2, Parameter3\r\n) select dbo.QBM_FCVElementToObjectKey1('AttestationCase', 'UID_AttestationCase', x.UID_AttestationCase) , x.UID_AttestationCase , x.ObjectKeyBase from\r\n ( select NEWID() as UID_AttestationCase, r.Parameter1 as ObjectKeyBase from @Rohware r ) x if @DebugSwitch > 0 begin select @Message = 'Zeit für Zwischenlager '\r\n + STR(DATEDIFF(ss, @start, GETUTCDATE())) print @message end  select @AnzahlElemente = COUNT(*) from @Zwischenlager insert into @HexPatterns (Ident1) \r\nselect pat.HexPattern from dbo.QBM_FTHexPattern(case when @AnzahlElemente / 800 < 16 then 1 when @AnzahlElemente / 800 < 256 then 2 when @AnzahlElemente\r\n / 800 < 4096 then 3 else 4 end) as pat select @CountChunks = @@ROWCOUNT select @ElementIndex = 1 if @DebugSwitch > 0 begin select @Message = CONCAT('Count Rohware '\r\n, STR(count(*))) from @Rohware print @message  end while @ElementIndex <= @CountChunks begin select top 1 @HexPattern = p.Ident1 from @HexPatterns p where\r\n p.ElementIndex = @ElementIndex if @DebugSwitch > 0 begin print @HexPattern end exec ATT_PAttestationCaseCreate_i @Zwischenlager , @UID_AttestationRun \r\n, @UID_AttestationPolicy , @UID_QERWorkingMethod , @HexPattern , @Xdate , @XUser , @ChunkWithData output select @CountChunksWithData += @ChunkWithData \r\nselect @ElementIndex += 1 end   update AttestationRun set CountChunksUnderConstruction += @CountChunksWithData   , XDateUpdated = @Xdate , XUserUpdated\r\n = @XUser from AttestationRun r where r.UID_AttestationRun = @UID_AttestationRun if @DebugSwitch > 0 begin select @Message = 'Zeit gesamt            ' \r\n+ STR(DATEDIFF(ss, @start, GETUTCDATE())) print @message select @Message = 'Attestationcases angelegt ' + STR(dbo.qbm_fgiTableCountall('Attestationcase'\r\n) - @CountAt) print @message select @Message = 'Jobs  angelegt            ' + STR(dbo.qbm_fgiTableCountall('Jobqueue') - @CountJQ) print @message end  \r\nif exists (select top 1 1 from #JobQueue ) begin insert into JobQueue ( ComponentAssembly, ComponentClass, DeferOnError, ErrorNotify, ExecutionType, IgnoreErrors\r\n, IsSplitOnly, JobChainName, MaxInstance, MinutesToDefer, Retries, ParamIN, Priority , Queue, Ready2EXE, StartAt, TaskName, UID_Job, UID_JobError, UID_JobSameServer\r\n, UID_JobSuccess, UID_Tree, WasError, XDateInserted, XDateUpdated, XUserInserted, XUserUpdated, IsRootJob, GenProcID , isToFreezeOnError, BasisObjectKey\r\n ) select ComponentAssembly, ComponentClass, DeferOnError, ErrorNotify, ExecutionType, IgnoreErrors, IsSplitOnly, JobChainName, MaxInstance, MinutesToDefer\r\n, Retries, ParamIN, Priority , Queue, Ready2EXE, StartAt, TaskName, UID_Job, UID_JobError, UID_JobSameServer, UID_JobSuccess, UID_Tree, WasError, XDateInserted\r\n, XDateUpdated, XUserInserted, XUserUpdated, IsRootJob, GenProcID , isToFreezeOnError, BasisObjectKey from #JobQueue end if exists (select top 1 1 from\r\n #QBMElementAffectedByJob ) begin insert into QBMElementAffectedByJob (UID_Job, ObjectKeyAffected) select UID_Job, ObjectKeyAffected from #QBMElementAffectedByJob\r\n end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, \r\n1) WITH NOWAIT END CATCH endLabel: truncate Table #JobQueue truncate Table #QBMElementAffectedByJob return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_PAttestationCaseCreate_i",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.953",
      "ModifyDate": "2026-04-14T23:20:43.067",
      "Definition": " create   procedure ATT_PAttestationCaseCreate_i (@Zwischenlager QBM_YParameterList readonly , @UID_AttestationRun varchar(38) , @UID_AttestationPolicy\r\n varchar(38) , @UID_QERWorkingMethod varchar(38) , @HexPattern varchar(200) , @Xdate datetime , @XUser nvarchar(64) , @ChunkWithData int output ) as begin\r\n declare @ZwischenlagerPortion QBM_YParameterList  declare @ParamUIDs nvarchar(max) declare @HOWhereClause nvarchar(max) = concat('UID_AttestationPolicy = '''\r\n, @UID_AttestationPolicy , '''') declare @BasisObjectKey varchar(138) = dbo.QBM_FCVElementToObjectKey1('AttestationPolicy', 'UID_AttestationPolicy', @UID_AttestationPolicy\r\n) declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('') SET XACT_ABORT OFF BEGIN TRY insert into @ZwischenlagerPortion(Parameter1, Parameter2,\r\n Parameter3) select z.Parameter1, z.Parameter2, z.Parameter3 from @Zwischenlager z where z.Parameter1 like '<Key><T>AttestationCase</T><P>' + @HexPattern\r\n select @ChunkWithData = SIGN(@@ROWCOUNT) if @ChunkWithData > 0  begin insert into AttestationCase (UID_AttestationCase, UID_AttestationPolicy, ObjectKeyBase\r\n , XDateInserted, XDateUpdated, XUserInserted, XUserUpdated , XObjectKey, UID_AttestationRun, UID_QERWorkingMethod , IsUnderConstruction ) select z.Parameter2\r\n as UID_AttestationCase, @UID_AttestationPolicy, z.Parameter3 as ObjectKeyBase , @Xdate, @Xdate, @XUser, @XUser , z.Parameter1 as XObjectKey, @UID_AttestationRun\r\n, @UID_QERWorkingMethod , 1 as IsUnderConstruction from @ZwischenlagerPortion z    select top 1 @ParamUIDs = STRING_AGG( convert(nvarchar(max), z.Parameter2\r\n) , N',' ) from @ZwischenlagerPortion z exec QBM_PJobCreate_HOCallMethod @objecttype = 'AttestationPolicy' , @WhereClause = @HOWhereClause , @save = 1 \r\n, @MethodName = 'CompleteCasesUnderConstruction' , @GenProcID = @GenProcID , @ObjectKeysAffected = default , @Param1 = @ParamUIDs  , @Param2 = @GenProcID\r\n  , @Retries = 3 , @checkForExisting = 1 , @WhereClauseAdditional = ''  , @BasisObjectKey = @BasisObjectKey , @isToFreezeOnError = 1 end  END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END \r\nCATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_PAttestationCaseDeleteOld",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.77",
      "ModifyDate": "2026-04-14T23:20:42.807",
      "Definition": "create   procedure ATT_PAttestationCaseDeleteOld ( @UID_AttestationPolicy varchar(38) , @CaseWhereClause nvarchar(max) = null  ) as begin declare\r\n @LimitOfOldCases int declare @IsInActive bit declare @lauf int declare @GenProcID varchar(38) declare @SQLCmd nvarchar(max) declare @GivenObjects QBM_YParameterList\r\n SET XACT_ABORT OFF BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext('') select top 1 @LimitOfOldCases = LimitOfOldCases , @IsInActive = IsInActive\r\n from AttestationPolicy where UID_AttestationPolicy = @UID_AttestationPolicy if isnull(@LimitOfOldCases, 0) < 1 and @IsInActive = 0 begin goto ende end\r\n if '' = dbo.QBM_FGIConfigparmValue (N'Common\\ProcessState\\PropertyLog') and @IsInActive = 0 begin goto ende end if (select count(*) from DialogColumn \r\nwhere UID_DialogTable = 'ATT-T-AttestationHistory' and istowatchDelete = 1 ) < 3 and @IsInActive = 0 begin goto ende end if (select count(*) from DialogColumn\r\n where UID_DialogTable = 'ATT-T-AttestationCase' and istowatchDelete = 1 ) < 3 and @IsInActive = 0 begin goto ende end if @CaseWhereClause > ' ' begin \r\nselect @SQLCmd = concat('\tselect ObjectKeyBase\r\n\t\tfrom AttestationCase\r\n\t\twhere UID_AttestationPolicy = ''', @UID_AttestationPolicy, '''\r\n\t\tand ', @CaseWhereClause\r\n, '\r\n') insert into @GivenObjects(Parameter1) exec sp_executeSQl @SQLCmd  end   select @lauf = 1 while @lauf > 0 begin exec @lauf = ATT_P47650F5671BCBA8B679125E_\r\n @UID_AttestationPolicy , @CaseWhereClause , @LimitOfOldCases , @GivenObjects      end   ende:  exec QBM_PDBQueueInsert_Single 'ATT-K-AttestationRunDeleteOld'\r\n, '', '', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR \r\n(@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel:  set lock_timeout -1 return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_PAttestationHelperFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.59",
      "ModifyDate": "2026-04-14T23:20:42.26",
      "Definition": "    create   procedure ATT_PAttestationHelperFill (@UID_AttestationCase varchar(38) , @GenProcID varchar(38) , @isNewDecisionLevel bit = 0  , @CurrentLevelOnly\r\n int = 0 ) with execute as 'dbo' as begin declare @SubLevelNumber int declare @LevelNumber int declare @LevelNumber_alt int  declare @ObjectkeyForMail \r\nvarchar(138)  declare @AttestationHelper_Old QER_YPWOHelper declare @AttestationHelper_New QER_YPWOHelper declare @PersonAndLevel QBM_YParameterList   \r\n declare @FunctionName varchar(30)  declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext\r\n('XUser') declare @WhereclauseForMail nvarchar(1000) declare @SQLCmd nvarchar(max) declare @isToInsert bit declare @isToDelete bit declare @makeEmpty bit\r\n declare @CurrentDecisionLevel int declare @UID_PwoDecisionRule varchar(38) declare @UID_QERWorkingStep varchar(38) declare @UID_AttestationHistory varchar\r\n(38) declare @countApproverNeeded int declare @countApproverAvailable int declare @ElementLast int declare @ElementBuffer_Rules QBM_YCursorBuffer declare\r\n @ElementBuffer_Notification QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @XUser nvarchar(64) = object_name(@@procid) \r\ndeclare @Xdate datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY select top 1 @CurrentDecisionLevel = decisionlevel from attestationCase where UID_AttestationCase\r\n = @UID_AttestationCase select @makeEmpty = 0  if exists (select top 1 1 from AttestationCase ac where ac.UID_AttestationCase = @UID_AttestationCase and\r\n ac.isclosed = 1 ) begin  select @makeEmpty = 1 end if exists (select top 1 1 from AttestationCase ac join AttestationPolicy ap on ac.UID_AttestationPolicy\r\n = ap.UID_AttestationPolicy where ac.UID_AttestationCase = @UID_AttestationCase and ap.isinactive = 1 ) begin  select @makeEmpty = 1 end  if exists (select\r\n top 1 1 from AttestationHelper where UID_AttestationCase = @UID_AttestationCase and Decision is null ) begin update AttestationHelper set Decision = ''\r\n where UID_AttestationCase = @UID_AttestationCase and Decision is null end   if exists (select top 1 1 from AttestationHelper where UID_AttestationCase\r\n = @UID_AttestationCase and Decision = '-' ) begin delete AttestationHelper where UID_AttestationCase = @UID_AttestationCase and Decision = '-' end  insert\r\n into @AttestationHelper_Old (UID_PWODecisionRule, uid_personHead, levelnumber, SubLevelNumber, uid_QERWorkingStep, decision , UID_PersonAdditional, UID_PersonInsteadOf\r\n, IsFromDelegation, RulerLevel , UID_PWORulerOrigin , NextAutomaticDecision ) select isnull(UID_PWODecisionRule, ''), uid_personHead, isnull(levelnumber\r\n,0), isnull(SubLevelNumber,0), ah.uid_QERWorkingStep, isnull(ah.decision,'') , UID_PersonAdditional, UID_PersonInsteadOf, IsFromDelegation, RulerLevel \r\n, UID_PWORulerOrigin , NextAutomaticDecision from AttestationHelper ah where ah.UID_AttestationCase = @UID_AttestationCase  and (@CurrentLevelOnly = 0 \r\nor ah.LevelNumber = @CurrentDecisionLevel ) if @makeEmpty = 1 begin update @AttestationHelper_Old set isToDelete = 1 goto publizieren end  Update @AttestationHelper_Old\r\n set isToDelete = 1 from @AttestationHelper_Old zk join (select * from @AttestationHelper_Old ) as d on zk.UID_PWODecisionRule = d.UID_PWODecisionRule \r\nand zk.uid_QERWorkingStep = d.uid_QERWorkingStep and zk.levelnumber = d.levelnumber and zk.Sublevelnumber = d.Sublevelnumber where zk.UID_PersonInsteadOf\r\n = d.UID_PersonHead  and d.UID_PersonInsteadOf > ' '  delete  @ElementBuffer_Rules  insert into @ElementBuffer_Rules ( UID1  , UID2  , Ident1  , Int1  \r\n, Int2  , Int3  ) select distinct ws.UID_PWODecisionRule, ws.UID_QERWorkingStep , dbo.QER_FCVRuleGUIDToFunctionName(ws.UID_PWODecisionRule) , ws.LevelNumber\r\n , ws.SubLevelNumber , ws.CountApprover from AttestationCase ac join AttestationPolicy ap on ac.uid_attestationPolicy = ap.uid_attestationPolicy join QERWorkingStep\r\n ws on ac.UID_QERWorkingMethod = ws.UID_QERWorkingMethod where ac.UID_AttestationCase = @UID_AttestationCase and (@CurrentLevelOnly = 0 or ( ac.DecisionLevel\r\n = @CurrentDecisionLevel and ws.LevelNumber = @CurrentDecisionLevel ) ) select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount\r\n +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @UID_PWODecisionRule = bu.UID1  , @UID_QERWorkingStep = bu.UID2\r\n  , @FunctionName = bu.Ident1  , @LevelNumber = bu.Int1  , @SublevelNumber = bu.Int2 , @countApproverNeeded = bu.Int3 from @ElementBuffer_Rules bu where\r\n bu.ElementIndex = @ElementIndex   if exists (select top 1 1 from sys.objects o where o.name = @FunctionName and o.type in ('IF'  , 'TF'  ) ) begin select\r\n @SQLcmd = concat('\r\n\t\t\t\t\tselect s.uid_person,  max(s.UID_PWORulerOrigin), s.RulerLevel\r\n\t\t\t\t\t\tfrom ( select a1.uid_person, ''0'' as RulerLevel, a1.UID_PWORulerOrigin\r\n\t\t\t\t\t\t\t\tfrom dbo.'\r\n , @FunctionName , ' (''' + @UID_AttestationCase , ''', ''' , @uid_QERWorkingStep , ''') as a1\r\n\t\t\t\t\t\t\t\tunion all\r\n\t\t\t\t\t\t\t\tselect  pio.UID_Person, ''1'' as Rulerlevel, dbo.QER_FGIPWORulerOrigin(pio.XObjectKey) as UID_PWORulerOrigin\r\n\t\t\t\t\t\t\t\t\tfrom QERWorkingStep s join PersonInBaseTree pio on s.UID_AERoleFallBack = pio.UID_Org\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand pio.XOrigin > 0\r\n\t\t\t\t\t\t\t\t\twhere s.UID_QERWorkingStep = '''\r\n , @UID_QERWorkingStep , '''\r\n\t\t\t\t\t\t\t\tunion all \r\n\t\t\t\t\t\t\t\tselect  pio.UID_Person, ''2'' as Rulerlevel, dbo.QER_FGIPWORulerOrigin(pio.XObjectKey) as UID_PWORulerOrigin\r\n\t\t\t\t\t\t\t\t\tfrom PersonInBaseTree pio \r\n\t\t\t\t\t\t\t\t\twhere pio.UID_Org = ''ATT-AEROLE-ATTESTATION-INTERVENTION''\r\n\t\t\t\t\t\t\t\t\tand pio.XOrigin > 0\r\n\t\t\t\t\t\t\t) as s\r\n\t\t\t\t\t\tgroup by s.uid_person, s.RulerLevel\r\n\t\t\t\t\t\t\t\t'\r\n ) delete  @PersonAndLevel  insert into @PersonAndLevel (Parameter1, Parameter2, Parameter3) exec sp_executesql @SQLcmd insert into @AttestationHelper_New\r\n (UID_PWODecisionRule, uid_personHead, uid_QERWorkingStep , levelnumber, Sublevelnumber, istoInsert, RulerLevel , UID_PWORulerOrigin, UID_PersonSubstituteSender\r\n ) select @uid_Pwodecisionrule , s.uid_person, @UID_QERWorkingStep , @levelnumber, @Sublevelnumber, 0, dbo.QBM_FCVStringToInt( s.RulerLevel, 0) , max(s.UID_PWORulerOrigin\r\n) as UID_PWORulerOrigin, max(isnull(s.UID_PersonSubstituteSender, '')) from ( select p.Parameter1 as UID_Person, p.Parameter2 as UID_PWORulerOrigin, p.Parameter3\r\n as RulerLevel, null as UID_PersonSubstituteSender from @PersonAndLevel p union all select us.UID_PersonReceiver, us.UID_PersonWantsOrg as UID_PWORulerOrigin\r\n, p.Parameter3 as RulerLevel , us.UID_PersonSender as UID_PersonSubstituteSender from @PersonAndLevel p join QERUniversalSubstitute us on p.Parameter1 \r\n= us.UID_PersonSender where us.IsCurrentlyActive = 1 and us.UseForAttestation = 1 and not exists (select top 1 1 from @PersonAndLevel pal where pal.Parameter1\r\n = us.UID_PersonReceiver and pal.Parameter3 = p.Parameter3) ) as s group by s.UID_Person, s.RulerLevel   update @AttestationHelper_New set UID_PWORulerOrigin\r\n = su.UID_PersonWantsOrg from @AttestationHelper_New n join QERUniversalSubstitute su on n.UID_PersonHead = su.UID_PersonReceiver  and (su.UseForHeadPerson\r\n = 1 or su.UseForHeadOrg = 1) and su.IsCurrentlyActive = 1 where n.UID_PWORulerOrigin is null and exists (select top 1 1 from @AttestationHelper_New se\r\n where se.UID_PersonHead = su.UID_PersonSender and se.levelnumber = n.levelnumber and se.Sublevelnumber = n.sublevelnumber )  if dbo.QBM_FGIConfigparmValue\r\n('QER\\Attestation\\PersonToAttestNoDecide') = '1' begin delete  @AttestationHelper_New from @AttestationHelper_New ah join QERWorkingStep s on ah.uid_QERWorkingStep\r\n = s.UID_QERWorkingStep  and s.IgnoreNoDecideForPerson = 0 join (select he.UID_PersonAlsoMe as UID_Person  from ( select ac.ObjectKey1, ac.ObjectKey2, \r\nac.ObjectKey3, ac.ObjectKeyBase from AttestationCase ac where ac.UID_AttestationCase = @UID_AttestationCase ) r unpivot ( wert for spalte in (ObjectKey1\r\n, ObjectKey2, ObjectKey3, ObjectKeyBase) ) as un join Person p on un.wert = p.XObjectKey join QER_VPersonsAreMe he on p.UID_Person = he.UID_PersonOrigin\r\n  ) as weg on weg.UID_Person in (ah.uid_personHead , ah.UID_PersonSubstituteSender) or (isnull(ah.UID_PersonAdditional , '') = weg.UID_Person and ah.RulerLevel\r\n < 2 ) or (isnull(ah.UID_PersonInsteadOf , '') = weg.UID_Person and ah.RulerLevel < 2 ) end  select top 1 @countApproverAvailable = COUNT(*) from @AttestationHelper_New\r\n n where n.RulerLevel = 0 and n.uid_QERWorkingStep = @UID_QERWorkingStep and n.levelnumber = @LevelNumber and n.Sublevelnumber = @SubLevelNumber  if @countApproverAvailable\r\n >= case when @countApproverNeeded < 0 then @countApproverAvailable when @countApproverNeeded = 0 then 1 else @countApproverNeeded end and @countApproverAvailable\r\n > 0 begin delete  @AttestationHelper_New from @AttestationHelper_New n where n.RulerLevel = 1 and n.uid_QERWorkingStep = @UID_QERWorkingStep and n.levelnumber\r\n = @LevelNumber and n.Sublevelnumber = @SubLevelNumber end    delete  @AttestationHelper_New from @AttestationHelper_New n where n.RulerLevel = 0 and n.uid_QERWorkingStep\r\n = @UID_QERWorkingStep and n.levelnumber = @LevelNumber and n.Sublevelnumber = @SubLevelNumber and exists (select top 1 1 from @AttestationHelper_New n1\r\n where n1.RulerLevel = 1 and n1.uid_QERWorkingStep = @UID_QERWorkingStep and n1.levelnumber = @LevelNumber and n1.Sublevelnumber = @SubLevelNumber and \r\nn1.uid_personHead = n.uid_personHead )   if @UID_PwoDecisionRule in (select r.UID_PWODecisionRule from PWODecisionRule r where r.UID_Task > ' ' ) begin\r\n delete  @AttestationHelper_New from @AttestationHelper_New n where n.RulerLevel > 0 and n.uid_QERWorkingStep = @UID_QERWorkingStep and n.levelnumber =\r\n @LevelNumber and n.Sublevelnumber = @SubLevelNumber end  end select @ElementIndex += 1 end     update @AttestationHelper_Old set isToDelete = 1 where \r\nuid_personhead is null  and isnull(UID_PWODecisionRule, '') not in (select UID_PWODecisionRule from pwodecisionrule where UID_Task > ' '  )  delete  @AttestationHelper_New\r\n where uid_personhead is null  and UID_PWODecisionRule not in (select UID_PWODecisionRule from pwodecisionrule where UID_Task > ' '  )   update @AttestationHelper_new\r\n set UID_PersonAdditional = o.UID_PersonAdditional , UID_PersonInsteadOf = o.UID_PersonInsteadOf from @AttestationHelper_new n join @AttestationHelper_Old\r\n o on n.UID_PWODecisionRule = o.UID_PWODecisionRule and n.uid_personHead = o.uid_personHead and n.uid_QERWorkingStep = o.uid_QERWorkingStep and n.levelnumber\r\n = o.levelnumber and n.Sublevelnumber = o.Sublevelnumber where o.UID_PersonAdditional > ' ' or o.UID_PersonInsteadOf > ' '  insert into @AttestationHelper_New\r\n (UID_PWODecisionRule, uid_personHead, uid_QERWorkingStep, levelnumber, Sublevelnumber, istoInsert , UID_PersonAdditional, UID_PersonInsteadOf, IsFromDelegation\r\n, RulerLevel ) select distinct de.UID_PWODecisionRule, de.UID_PersonAdditional, de.uid_QERWorkingStep, de.levelnumber, 1  , 0, null,null, 1, 0  from @AttestationHelper_New\r\n de where de.UID_PersonAdditional > ' '  and not exists (select top 1 1 from @AttestationHelper_New n where n.UID_PWODecisionRule = de.UID_PWODecisionRule\r\n and n.uid_personHead = de.UID_PersonAdditional and n.uid_QERWorkingStep = de.uid_QERWorkingStep and n.levelnumber = de.levelnumber and n.Sublevelnumber\r\n = 1 )  and exists (select top 1 1 from QERWorkingStep ds where ds.UID_QERWorkingStep = de.uid_QERWorkingStep and ds.IsAdditionalAllowed = 1 )  if @@rowcount\r\n > 0 begin insert into @AttestationHelper_New (UID_PWODecisionRule, uid_personHead, UID_QERWorkingStep, levelnumber, Sublevelnumber, istoInsert , UID_PersonAdditional\r\n, UID_PersonInsteadOf, IsFromDelegation, RulerLevel, UID_PWORulerOrigin ) select distinct de.UID_PWODecisionRule, esc.UID_Person, de.UID_QERWorkingStep\r\n, de.levelnumber, 1  , 0, null,null, 1, 2 , esc.UID_PWORulerOrigin from @AttestationHelper_New de cross join ( select pio.UID_Person, dbo.QER_FGIPWORulerOrigin\r\n(pio.XObjectKey) as UID_PWORulerOrigin from PersonInBaseTree pio where pio.UID_Org = 'ATT-AEROLE-ATTESTATION-INTERVENTION' and pio.XOrigin > 0 ) as esc\r\n where de.UID_PersonAdditional > ' '  and not exists (select top 1 1 from @AttestationHelper_New n where n.UID_PWODecisionRule = de.UID_PWODecisionRule\r\n and n.uid_personHead = esc.UID_Person and n.UID_QERWorkingStep = de.UID_QERWorkingStep and n.levelnumber = de.levelnumber and n.Sublevelnumber = 1 ) end\r\n   insert into @AttestationHelper_New (UID_PWODecisionRule, uid_personHead, uid_QERWorkingStep, levelnumber, Sublevelnumber, istoInsert , UID_PersonAdditional\r\n, UID_PersonInsteadOf, IsFromDelegation, RulerLevel ) select distinct de.UID_PWODecisionRule, de.UID_PersonInsteadOf, de.uid_QERWorkingStep, de.levelnumber\r\n, 0  , 0, null,null, 1, 0  from @AttestationHelper_New de where de.UID_PersonInsteadOf > ' '  and not exists (select top 1 1 from @AttestationHelper_New\r\n n where n.UID_PWODecisionRule = de.UID_PWODecisionRule and n.uid_personHead = de.UID_PersonInsteadOf and n.uid_QERWorkingStep = de.uid_QERWorkingStep \r\nand n.levelnumber = de.levelnumber and n.Sublevelnumber = 0 )  and exists (select top 1 1 from QERWorkingStep ds where ds.UID_QERWorkingStep = de.uid_QERWorkingStep\r\n and ds.IsInsteadOfAllowed = 1 )   update @AttestationHelper_Old set isToDelete = 1 from @AttestationHelper_Old o where (Not exists (select top 1 1 from\r\n @AttestationHelper_New n where isnull(n.UID_PWODecisionRule, '') = isnull(o.UID_PWODecisionRule, '') and isnull(n.uid_personHead, '') = isnull(o.uid_personHead\r\n, '') and n.levelnumber = o.levelnumber and n.Sublevelnumber = o.Sublevelnumber and isnull(n.uid_QERWorkingStep, '') = isnull(o.uid_QERWorkingStep, '')\r\n and isnull(n.UID_PWORulerOrigin, '') = isnull(o.UID_PWORulerOrigin, '') and ISNULL(n.rulerlevel, 0) = ISNULL(o.rulerlevel, 0) ) or (  isnull(o.uid_personHead\r\n, '') > ' ' and not exists ( select top 1 1 from Person p where p.UID_Person = isnull(o.uid_personHead, '') and p.IsInActive = 0 ) ) ) and o.decision in\r\n( '', '-')   if exists (select top 1 1 from AttestationCase where UID_AttestationCase = @UID_AttestationCase and IsReserved =1 ) begin if exists (select\r\n top 1 1 from AttestationCase pwo , @AttestationHelper_Old o where pwo.UID_AttestationCase = @UID_AttestationCase and o.uid_personHead = pwo.UID_PersonHead\r\n  and o.isToDelete = 1 ) begin update AttestationCase set IsReserved = 0  , XDateUpdated = @Xdate , XUserUpdated = @XUser where UID_AttestationCase = @UID_AttestationCase\r\n update @AttestationHelper_Old set isToDelete = 1 where UID_PWODecisionRule = 'ATT-PWODecisionRule-QP' or decision = 'Q'  select @UID_AttestationHistory\r\n = NEWID() exec QBM_PSessionContextSet 'GenProcID', @GenProcID insert into AttestationHistory (DecisionType, IsDecisionBySystem, UID_AttestationHistory\r\n, UID_PersonHead, UID_AttestationCase, DisplayPersonHead, ReasonHead, DateHead, XDateInserted, XDateUpdated, XUserInserted, XUserUpdated, DecisionLevel\r\n, XTouched, XObjectKey) select 'RecallQuery', 1, @UID_AttestationHistory, null, @UID_AttestationCase, dbo.QBM_FCVStringTrimLDSPrefix('#LDS#Automatic system approval.|'\r\n) , dbo.QBM_FCVStringTrimLDSPrefix('#LDS#Query to Person finished due to changed deciders.|'), GetUTCDate(), GetUTCDate(), GetUTCDate(), 'sa', 'sa', 0,\r\n '', dbo.QBM_FCVElementToObjectKey1('AttestationHistory', 'UID_AttestationHistory', @UID_AttestationHistory)  end end   update @AttestationHelper_Old set\r\n isToDelete = 1 from @AttestationHelper_Old o where Not exists (select top 1 1 from AttestationCase ac where ac.UID_AttestationCase = @UID_AttestationCase\r\n and isclosed = 0 )  update @AttestationHelper_New set isToInsert = 1 from @AttestationHelper_New n where Not exists (select top 1 1 from @AttestationHelper_Old\r\n o where o.UID_PWODecisionRule = n.UID_PWODecisionRule and isnull(o.uid_personHead, '') = isnull(n.uid_personHead, '') and o.levelnumber = n.levelnumber\r\n and o.Sublevelnumber = n.Sublevelnumber and isnull(o.UID_QERWorkingStep, '') = isnull(n.UID_QERWorkingStep, '') and isnull(o.UID_PWORulerOrigin, '') =\r\n isnull(n.UID_PWORulerOrigin, '') and ISNULL(o.rulerlevel, 0) = ISNULL(n.rulerlevel, 0)  and o.isToDelete = 0  ) publizieren: select @isToInsert = 0 select\r\n @isToDelete = 0 if exists (select top 1 1 from @AttestationHelper_New where isToInsert = 1 ) begin select @isToInsert = 1 end if exists (select top 1 \r\n1 from @AttestationHelper_Old where isTodelete = 1 ) begin select @isToDelete = 1 end if ( @isToInsert = 1 or @isToDelete = 1 ) and @makeEmpty = 0 begin\r\n exec QBM_PDBQueueInsert_Single 'ATT-K-AttestationCheckValid', @UID_AttestationCase, null, @GenProcID end  if @isToDelete = 1 begin exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID delete  AttestationHelper where UID_AttestationCase = @UID_AttestationCase and exists (select top 1 1 from @AttestationHelper_Old\r\n o where isnull(o.UID_PWODecisionRule, '') = isnull(AttestationHelper.UID_PWODecisionRule, '') and isnull(o.uid_personHead, '') = isnull(AttestationHelper.uid_personHead\r\n, '') and o.levelnumber = AttestationHelper.levelnumber and o.Sublevelnumber = AttestationHelper.Sublevelnumber and o.Rulerlevel = AttestationHelper.Rulerlevel\r\n and isnull(o.UID_PWORulerOrigin, '') = isnull(AttestationHelper.UID_PWORulerOrigin, '') and o.isToDelete = 1 ) end  if @isToInsert = 1 begin update @AttestationHelper_New\r\n set UID_PrimaryKey = newid() where istoinsert = 1  update @AttestationHelper_new set NextAutomaticDecision = isnull(g.MaxDate, '2200-01-01') from @AttestationHelper_new\r\n b left outer join ( select  a.LevelNumber, a.Sublevelnumber, a.RulerLevel, MAX(a.NextAutomaticDecision) as MaxDate from @AttestationHelper_Old a group\r\n by  a.LevelNumber, a.Sublevelnumber, a.RulerLevel ) as g on  b.LevelNumber = g.LevelNumber and b.Sublevelnumber = g.Sublevelnumber and b.RulerLevel = \r\ng.RulerLevel where b.IstoInsert = 1 exec QBM_PSessionContextSet 'GenProcID', @GenProcID insert into AttestationHelper (UID_AttestationHelper, UID_AttestationCase\r\n, UID_PWODecisionRule, uid_personHead, levelnumber, SubLevelNumber, Decision, UID_QERWorkingStep , NextReminder, NextAutomaticDecision, XObjectKey , UID_PersonAdditional\r\n, UID_PersonInsteadOf, IsFromDelegation, RulerLevel , UID_PWORulerOrigin ) select UID_PrimaryKey, @UID_AttestationCase, UID_PWODecisionRule, uid_personHead\r\n , levelnumber, SubLevelNumber , case when n.UID_PersonInsteadOf > ' ' then 'D' else '' end as Decision , UID_QERWorkingStep , '2200-01-01', n.NextAutomaticDecision\r\n, dbo.QBM_FCVElementToObjectKey1('AttestationHelper', 'UID_AttestationHelper', UID_PrimaryKey) , UID_PersonAdditional, UID_PersonInsteadOf, IsFromDelegation\r\n, n.RulerLevel , UID_PWORulerOrigin from @AttestationHelper_New n where istoinsert = 1 end  if (@isToInsert = 1 or @isToDelete = 1 or @isNewDecisionLevel\r\n = 1) and @makeEmpty = 0 begin   delete  @ElementBuffer_Notification  insert into @ElementBuffer_Notification (ObjectKey1) select h.XObjectKey from @AttestationHelper_New\r\n n join AttestationHelper h on n.UID_PrimaryKey = h.uid_AttestationHelper and h.decision = '' join Attestationcase pwo on h.uid_Attestationcase = pwo.uid_Attestationcase\r\n and h.levelnumber = pwo.decisionlevel join QERWorkingStep ws on h.UID_QERWorkingStep = ws.UID_QERWorkingStep and ws.UID_DialogRichMailInsert > ' ' join\r\n pwodecisionrule r on ws.UID_PWODecisionRule = r.UID_PWODecisionRule and r.UID_Task is null join person p on h.uid_personhead = p.uid_person and p.defaultemailaddress\r\n > ' ' where n.istoinsert = 1  and h.RulerLevel < 2 union  select h.XObjectKey from AttestationHelper h join Attestationcase pwo on h.uid_Attestationcase\r\n = @UID_AttestationCase and pwo.uid_Attestationcase = @UID_AttestationCase and h.levelnumber = pwo.decisionlevel and h.decision = '' join QERWorkingStep\r\n ws on h.UID_QERWorkingStep = ws.UID_QERWorkingStep and ws.UID_DialogRichMailInsert > ' ' join pwodecisionrule r on ws.UID_PWODecisionRule = r.UID_PWODecisionRule\r\n and r.UID_Task is null join person p on h.uid_personhead = p.uid_person and p.defaultemailaddress > ' ' where @isNewDecisionLevel = 1  and h.RulerLevel\r\n < 2 select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast\r\n begin select top 1 @ObjectkeyForMail = bu.ObjectKey1 from @ElementBuffer_Notification bu where bu.ElementIndex = @ElementIndex  select @WhereclauseForMail\r\n = N'XObjectKey = ''' + @ObjectkeyForMail + N''''  + N' and exists (select top 1 1 from Attestationcase where uid_Attestationcase  = ''' + @uid_Attestationcase\r\n + ''' and decisionlevel = ' + str(@CurrentDecisionLevel) + ' )'  exec QBM_PJobCreate_HOFireEvent_B 'AttestationHelper', @WhereclauseForMail, 'DecisionRequired'\r\n, @GenProcID , @AdditionalObjectKeysAffected = DEFAULT , @checkForExisting = 1 , @priority = 10 , @BasisObjectKey = @ObjectkeyForMail select @ElementIndex\r\n += 1 end   end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow\r\n, 18, 1) WITH NOWAIT END CATCH  ende: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet 'XUser', @XUser_R revert return\r\n end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_PAttestationHelperFill_i",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.607",
      "ModifyDate": "2026-04-14T23:20:42.28",
      "Definition": "create   procedure ATT_PAttestationHelperFill_i (@SlotNumber int , @isNewDecisionLevel int ) as begin  declare @UID_AttestationCase varchar(38) \r\ndeclare @GenProcID varchar(38) declare @DebugLevel char(1) = 'W' declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex\r\n int declare @DBQueueCurrent QBM_YDBQueueCurrent declare @SQLCmdWithRetry nvarchar(max) SET XACT_ABORT OFF BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end insert into @ElementBuffer (UID1, UID2) select uid_parameter, GenprocID from\r\n @DBQueueCurrent p select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @UID_AttestationCase\r\n = bu.UID1 , @GenProcID = bu.UID2 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex exec ATT_PAttestationHelperFill @UID_AttestationCase, @GenprocID\r\n, @isNewDecisionLevel = @isNewDecisionLevel select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar\r\n(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_PAttestationResetOneLevel",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.777",
      "ModifyDate": "2026-04-14T23:20:42.817",
      "Definition": "   create   procedure ATT_PAttestationResetOneLevel (@uid_AttestationCase varchar(38) , @NewLevel int , @GenProcID varchar(38)  ) as begin declare\r\n @WhereclauseForMail nvarchar(1000) SET XACT_ABORT OFF BEGIN TRY if exists (select top 1 1 from AttestationHelper h where uid_AttestationCase = @uid_AttestationCase\r\n and levelnumber = @NewLevel and ( h.decision > ' ' or h.UID_PersonInsteadOf > ' ' or h.uid_PersonAdditional > ' ' ) ) begin update Attestationhelper set\r\n decision = '' , uid_PersonInsteadOf = null , uid_PersonAdditional = null from AttestationHelper h where uid_AttestationCase = @uid_AttestationCase and\r\n levelnumber = @NewLevel and ( h.decision > ' ' or h.UID_PersonInsteadOf > ' ' or h.uid_PersonAdditional > ' ' ) end if exists (select top 1 1 from AttestationHelper\r\n h where uid_AttestationCase = @uid_AttestationCase and levelnumber = @NewLevel and ( h.IsFromDelegation = 1 ) ) begin delete Attestationhelper where isFromDelegation\r\n = 1 and uid_AttestationCase = @uid_AttestationCase and levelnumber = @NewLevel end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow\r\n varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH  ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_PHelperAttestationPolicy",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.98",
      "ModifyDate": "2026-04-14T23:20:43.103",
      "Definition": "create   procedure ATT_PHelperAttestationPolicy ( @UID_AttestationPolicy varchar(38) , @WhereClause nvarchar(max) , @TableName varchar(30) ) AS \r\nbegin declare @SQLcmd nvarchar(max) declare @Sollzustand QBM_YParameterList declare @Einzufuegen QBM_YParameterList    declare @ZuLoeschen QBM_YParameterList\r\n  declare @WhereClauseJob nvarchar(max) declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('') declare @DebugSwitch int = 0 declare @DebugStart\r\n datetime = getutcdate() declare @HexPatterns QBM_YCursorBuffer declare @CountChunks int declare @ElementIndex int declare @AnzahlElemente int declare \r\n@HexPattern varchar(200)   declare @isInactive bit declare @IsShowElementsInvolved bit SET XACT_ABORT OFF BEGIN TRY set nocount on exec QBM_PTransactionLevelCheck\r\n 0, @@procid select top 1 @isInactive = p.IsInActive , @IsShowElementsInvolved = p.IsShowElementsInvolved from AttestationPolicy p where uid_AttestationPolicy\r\n = @uid_AttestationPolicy if @isInactive = 1 or @IsShowElementsInvolved = 0 begin if @DebugSwitch > 0 begin print 'sofortausstieg wegen inaktiv' end goto\r\n DeltaBestimmen end select @SQLcmd = concat('select XObjectKey\r\n\t\tfrom ' , @TableName , N'\r\n\t\twhere ' , @WhereClause ) insert into @Sollzustand(Parameter1\r\n) exec sp_executeSQL @SQLCmd if @DebugSwitch > 0 begin print 'Soll befüllen' + str(datediff(ss, @DebugStart, getutcdate())) select COUNT(*) as AnzahlSoll\r\n from @Sollzustand select @DebugStart = GETUTCDATE() end DeltaBestimmen: insert into @ZuLoeschen(Parameter1) select h.UID_HelperAttestationPolicy from \r\nHelperAttestationPolicy h left outer join @Sollzustand s on h.UID_AttestationPolicy = @UID_AttestationPolicy and h.ObjectKeyBase = s.Parameter1 where h.UID_AttestationPolicy\r\n = @UID_AttestationPolicy and s.Parameter1 is null if @DebugSwitch > 0 begin print 'zu löschen befüllen' + str(datediff(ss, @DebugStart, getutcdate()))\r\n select COUNT(*) as AnzahlLoeschen from @ZuLoeschen select @DebugStart = GETUTCDATE() end insert into @Einzufuegen(Parameter1, Parameter2, Parameter3) \r\nselect dbo.QBM_FCVStringToGUIDMAll(null, @UID_AttestationPolicy, s.Parameter1 ) as UID_HelperAttestationPolicy , s.Parameter1  , dbo.QBM_FCVElementToObjectKey1\r\n('HelperAttestationPolicy', 'UID_HelperAttestationPolicy', dbo.QBM_FCVStringToGUIDMAll(null, @UID_AttestationPolicy, s.Parameter1 ) ) as XObjectkey from\r\n @Sollzustand s left outer join HelperAttestationPolicy h on h.UID_AttestationPolicy = @UID_AttestationPolicy and s.Parameter1 = h.ObjectKeyBase where \r\nh.UID_HelperAttestationPolicy is null if @DebugSwitch > 0 begin print 'einzufügen befüllen' + str(datediff(ss, @DebugStart, getutcdate())) select COUNT\r\n(*) as AnzahlEinzufuegen from @Einzufuegen select @DebugStart = GETUTCDATE() end  select @AnzahlElemente = COUNT(*) from @ZuLoeschen if @AnzahlElemente\r\n > 0 begin delete @HexPatterns insert into @HexPatterns (Ident1) select pat.HexPattern from dbo.QBM_FTHexPattern(case when @AnzahlElemente / 50000 < 16\r\n then 1 when @AnzahlElemente / 50000 < 256 then 2 when @AnzahlElemente / 50000 < 4096 then 3 else 4 end) as pat select @CountChunks = @@ROWCOUNT select\r\n @ElementIndex = 1 while @ElementIndex <= @CountChunks begin select top 1 @HexPattern = p.Ident1 from @HexPatterns p where p.ElementIndex = @ElementIndex\r\n if @DebugSwitch > 0 begin print @HexPattern end delete HelperAttestationPolicy from HelperAttestationPolicy h join @ZuLoeschen l on h.UID_HelperAttestationPolicy\r\n = l.Parameter1  where l.Parameter1 like @HexPattern select @ElementIndex += 1 end end  if @DebugSwitch > 0 begin print 'gelöscht ' + str(datediff(ss, \r\n@DebugStart, getutcdate())) select @DebugStart = GETUTCDATE() end insert into HelperAttestationPolicy( ObjectKeyBase, UID_AttestationPolicy , UID_HelperAttestationPolicy\r\n, XObjectKey ) select e.Parameter2 as ObjectKeyBase, @UID_AttestationPolicy , e.Parameter1 as UID_HelperAttestationPolicy, e.Parameter3 as XObjectkey from\r\n @Einzufuegen e if @DebugSwitch > 0 begin print 'eingefügt ' + str(datediff(ss, @DebugStart, getutcdate())) select @DebugStart = GETUTCDATE() end  select\r\n @AnzahlElemente = COUNT(*) from @Einzufuegen if @AnzahlElemente > 0 begin delete @HexPatterns insert into @HexPatterns (Ident1) select pat.HexPattern \r\nfrom dbo.QBM_FTHexPattern(case when @AnzahlElemente / 4000 < 16 then 1 when @AnzahlElemente / 4000 < 256 then 2 when @AnzahlElemente / 4000 < 4096 then\r\n 3 else 4 end) as pat select @CountChunks = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @CountChunks begin select top 1 @HexPattern = p.Ident1\r\n from @HexPatterns p where p.ElementIndex = @ElementIndex if @DebugSwitch > 0 begin print @HexPattern end exec ATT_P59CCD84DFA68B81E1B20B65_ @Einzufuegen\r\n , @HexPattern , @GenProcID select @ElementIndex += 1 end end  if @DebugSwitch > 0 begin print 'jobs erzeugen' + str(datediff(ss, @DebugStart, getutcdate\r\n())) select @DebugStart = GETUTCDATE() end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH  ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_RAttestationAbort",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.503",
      "ModifyDate": "2026-04-14T23:20:42.133",
      "Definition": "create   procedure ATT_RAttestationAbort (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int declare @SlotNumberSource\r\n int declare @SlotNumberTarget int declare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select\r\n cul.UID_DialogDBQueue from @DBQueueCurrent cul  left outer join AttestationCase ac on cul.UID_Parameter = ac.UID_AttestationCase where ac.UID_AttestationCase\r\n is null if @@ROWCOUNT > 0 begin select @SlotNumberSource = @SlotNumber  select @SlotnumberTarget = 0 exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove\r\n, @SlotNumberSource, @SlotnumberTarget  delete @DBQueueCurrent from @DBQueueCurrent cu join @DBQueueToMove mo on cu.UID_DialogDBQueue = mo.UID_DialogDBQueue\r\n end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2) select x.UID_AttestationCase, x.XObjectKey from @DBQueueCurrent cu join AttestationCase\r\n x on cu.UID_Parameter = x.UID_AttestationCase exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber\r\n = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_RAttestationCheckValid",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.697",
      "ModifyDate": "2026-04-14T23:20:42.703",
      "Definition": "create   procedure ATT_RAttestationCheckValid (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  insert into @ObjectKeysToCheck_Jobrunning\r\n(Parameter1, Parameter2) select x.UID_AttestationCase, x.XObjectKey from @DBQueueCurrent cu join AttestationCase x on cu.UID_Parameter = x.UID_AttestationCase\r\n exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH \r\nexec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_RAttestationHelperFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.61",
      "ModifyDate": "2026-04-14T23:20:42.287",
      "Definition": "create   procedure ATT_RAttestationHelperFill (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int SET XACT_ABORT\r\n OFF BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter\r\n, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  insert into @ObjectKeysToCheck_Jobrunning\r\n(Parameter1, Parameter2) select x.UID_AttestationCase, x.XObjectKey from @DBQueueCurrent cu join AttestationCase x on cu.UID_Parameter = x.UID_AttestationCase\r\n exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH \r\nexec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel:\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_RAttestationHelperFill_Cfg",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.63",
      "ModifyDate": "2026-04-14T23:20:42.317",
      "Definition": "create   procedure ATT_RAttestationHelperFill_Cfg (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @reduce int declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted\r\n int declare @DebugSwitch int = 0 declare @DebugLevel varchar(1) = 'W' declare @SlotNumberSource int declare @SlotNumberTarget int declare @DBQueueToMove\r\n QBM_YDBQCSCurrentToMove declare @RowsMoved int BEGIN TRY select @reduce = case dbo.QBM_FGIConfigparmValue('QER\\Attestation\\ReducedApproverCalculation'\r\n) when 'NoRecalc' then 2 when 'CurrentLevel' then 1 else 0 end if @reduce = 2 begin goto endLabel end insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber\r\n = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select cul.UID_DialogDBQueue\r\n from @DBQueueCurrent cul  where exists (select top 1 1 from QBMDBQueueCurrent v with (nolock) where v.UID_Task = 'ATT-K-AttestationHelper' and v.UID_Parameter\r\n = cul.UID_Parameter and v.SlotNumber > 0 ) if @@ROWCOUNT > 0 begin select @SlotNumberSource = @SlotNumber  select @SlotnumberTarget = 0 exec @RowsMoved\r\n = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget  delete @DBQueueCurrent from @DBQueueCurrent cu join @DBQueueToMove \r\nmo on cu.UID_DialogDBQueue = mo.UID_DialogDBQueue  if @DebugSwitch > 0 begin exec QBM_PJournal 'ATT-K-AttestationHelperPWO in dbqueueCurrent gefunden',\r\n @@procid, 'D', @DebugLevel end end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2) select cu.UID_Parameter , '<Key><T>AttestationCase</T><P>'\r\n + cu.UID_Parameter + '</P></Key>' from @DBQueueCurrent cu exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning\r\n, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_RAttestationMakeDecisionCD",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.713",
      "ModifyDate": "2026-04-14T23:20:42.727",
      "Definition": "create   procedure ATT_RAttestationMakeDecisionCD (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int declare @SlotNumberSource\r\n int declare @SlotNumberTarget int declare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select\r\n cul.UID_DialogDBQueue from @DBQueueCurrent cul  left outer join AttestationCase ac with (readpast) on cul.UID_Parameter = ac.UID_AttestationCase and ac.IsClosed\r\n = 0 where ac.UID_AttestationCase is null if @@ROWCOUNT > 0 begin select @SlotNumberSource = @SlotNumber  select @SlotnumberTarget = 0 exec @RowsMoved \r\n= QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget  delete @DBQueueCurrent from @DBQueueCurrent cu join @DBQueueToMove mo\r\n on cu.UID_DialogDBQueue = mo.UID_DialogDBQueue end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2) select x.UID_AttestationCase, x.XObjectKey\r\n from @DBQueueCurrent cu join AttestationCase x on cu.UID_Parameter = x.UID_AttestationCase exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent\r\n, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH \r\nNOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_RAttestationMakeDecisionEX",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.75",
      "ModifyDate": "2026-04-14T23:20:42.777",
      "Definition": "create   procedure ATT_RAttestationMakeDecisionEX (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int declare @SlotNumberSource\r\n int declare @SlotNumberTarget int declare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select\r\n cul.UID_DialogDBQueue from @DBQueueCurrent cul  left outer join AttestationCase ac with (readpast) on cul.UID_Parameter = ac.UID_AttestationCase and ac.IsClosed\r\n = 0 where ac.UID_AttestationCase is null if @@ROWCOUNT > 0 begin select @SlotNumberSource = @SlotNumber  select @SlotnumberTarget = 0 exec @RowsMoved \r\n= QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget  delete @DBQueueCurrent from @DBQueueCurrent cu join @DBQueueToMove mo\r\n on cu.UID_DialogDBQueue = mo.UID_DialogDBQueue end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel:\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_RAttestationMakeDecisionWC",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.733",
      "ModifyDate": "2026-04-14T23:20:42.753",
      "Definition": "create   procedure ATT_RAttestationMakeDecisionWC (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int declare @SlotNumberSource\r\n int declare @SlotNumberTarget int declare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select\r\n cul.UID_DialogDBQueue from @DBQueueCurrent cul  left outer join AttestationCase ac with (readpast) on cul.UID_Parameter = ac.UID_AttestationCase and ac.IsClosed\r\n = 0 where ac.UID_AttestationCase is null if @@ROWCOUNT > 0 begin select @SlotNumberSource = @SlotNumber  select @SlotnumberTarget = 0 exec @RowsMoved \r\n= QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget  delete @DBQueueCurrent from @DBQueueCurrent cu join @DBQueueToMove mo\r\n on cu.UID_DialogDBQueue = mo.UID_DialogDBQueue end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel:\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_RAttestationReminder",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.933",
      "ModifyDate": "2026-04-14T23:20:43.037",
      "Definition": "create   procedure ATT_RAttestationReminder (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  insert into @ObjectKeysToCheck_Jobrunning\r\n(Parameter1, Parameter2) select x.UID_AttestationCase, x.XObjectKey from @DBQueueCurrent cu join AttestationCase x with (readpast) on cu.UID_Parameter \r\n= x.UID_AttestationCase exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber\r\n  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_RAttestationReset",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.49",
      "ModifyDate": "2026-04-14T23:20:42.117",
      "Definition": "create   procedure ATT_RAttestationReset (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int declare @SlotNumberSource\r\n int declare @SlotNumberTarget int declare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select\r\n cul.UID_DialogDBQueue from @DBQueueCurrent cul  left outer join AttestationCase ac with (readpast) on cul.UID_Parameter = ac.UID_AttestationCase where\r\n (ac.UID_AttestationCase is null or isnull(ac.IsClosed, 0) = 1 ) if @@ROWCOUNT > 0 begin select @SlotNumberSource = @SlotNumber  select @SlotnumberTarget\r\n = 0 exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget  delete @DBQueueCurrent from @DBQueueCurrent cu \r\njoin @DBQueueToMove mo on cu.UID_DialogDBQueue = mo.UID_DialogDBQueue end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2) select x.UID_AttestationCase\r\n, x.XObjectKey from @DBQueueCurrent cu join AttestationCase x on cu.UID_Parameter = x.UID_AttestationCase exec @resetted = QBM_PSlotResetWhileJobRun_L \r\n@DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (''\r\n, 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_ZAllForPersonInBaseTree",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.873",
      "ModifyDate": "2026-04-14T23:20:42.95",
      "Definition": "    create   procedure ATT_ZAllForPersonInBaseTree (@SlotNumber int) as begin  declare @GenprocID varchar(38) declare @DBQueueCurrent QBM_YDBQueueCurrent\r\n BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter\r\n, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end select top 1 @GenprocID\r\n = max(cu.GenProcID) from @DBQueueCurrent cu if exists (select top 1 1 from @DBQueueCurrent cu where cu.UID_SubParameter = 'ATT-AEROLE-ATTESTATION-INTERVENTION'\r\n ) begin   exec QBM_PDBQueueInsert_Single 'QBM-K-Commonrecalculate', 'ATT-K-AttestationHelper', '', @GenprocID end declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01(Object, SubObject, GenProcID) select distinct h.UID_AttestationCase, '', cu.GenProcID from @DBQueueCurrent cu join QERWorkingStep\r\n s on s.UID_AERoleFallBack = cu.UID_SubParameter join AttestationHelper h on h.UID_QERWorkingStep = s.UID_QERWorkingStep if @@ROWCOUNT > 0 begin   exec\r\n QBM_PDBQueueInsert_Bulk 'ATT-K-AttestationHelper-Cfg', @DBQueueElements_01 end   declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01\r\n (ObjectKey1, UID1, Ident1)  select dbo.QBM_FCVElementToObjectKey1('Person', 'UID_Person', i.UID_Person), v.UID_PWODecisionRule, 'A' from (select cu.UID_Parameter\r\n as UID_Person , cu.UID_SubParameter as UID_Org from @DBQueueCurrent cu ) i join AccProduct ap on i.UID_Org = ap.UID_OrgAttestator cross join (values (\r\n'ATT-PWODecisionRule-AN') , ('ARS-AttestationRule-KA') ) as v (UID_PWODecisionRule) insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select dbo.QBM_FCVElementToObjectKey1\r\n('Person', 'UID_Person', i.UID_Person), 'ATT-PWODecisionRule-AT', 'A' from (select cu.UID_Parameter as UID_Person , cu.UID_SubParameter as UID_Org from\r\n @DBQueueCurrent cu ) i insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select dbo.QBM_FCVElementToObjectKey1('Person', 'UID_Person', i.UID_Person\r\n), 'ATT-PWODecisionRule-XM', 'A' from (select cu.UID_Parameter as UID_Person , cu.UID_SubParameter as UID_Org from @DBQueueCurrent cu ) i insert into @RecalcParameter_01\r\n (ObjectKey1, UID1, Ident1) select dbo.QBM_FCVElementToObjectKey1('Person', 'UID_Person', i.UID_Person), 'ATT-PWODecisionRule-CM', 'A' from (select cu.UID_Parameter\r\n as UID_Person , cu.UID_SubParameter as UID_Org from @DBQueueCurrent cu ) i  insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select ap.XObjectKey\r\n, v.UID_PWODecisionRule, 'A' from (select cu.UID_Parameter as UID_Person , cu.UID_SubParameter as UID_Org from @DBQueueCurrent cu ) i join AccProduct ap\r\n on i.UID_Org = ap.UID_OrgRuler cross join (values ('ATT-PWODecisionRule-EO') , ('ATT-PWODecisionRule-OA') , ('ARS-AttestationRule-KA') ) as v (UID_PWODecisionRule\r\n) insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select ap.XObjectKey, 'ATT-PWODecisionRule-OrgATT' , 'A' from (select cu.UID_Parameter as \r\nUID_Person , cu.UID_SubParameter as UID_Org from @DBQueueCurrent cu ) i join AccProduct ap on i.UID_Org = ap.UID_OrgAttestator  insert into @RecalcParameter_01\r\n (ObjectKey1, UID1, Ident1) select ag.XObjectKey, 'ATT-PWODecisionRule-OrgATT' , 'A' from (select cu.UID_Parameter as UID_Person , cu.UID_SubParameter \r\nas UID_Org from @DBQueueCurrent cu ) i join AccProductGroup ag on i.UID_Org = ag.UID_OrgAttestator  insert into @RecalcParameter_01 (ObjectKey1, UID1, \r\nIdent1) select bt.XObjectKey, v.UID_PWODecisionRule, 'A' from (select cu.UID_Parameter as UID_Person , cu.UID_SubParameter as UID_Org from @DBQueueCurrent\r\n cu ) i join BaseTree bt on i.UID_Org = bt.UID_Org cross join (values ('ATT-PWODecisionRule-OR') , ('ATT-PWODecisionRule-PM')  , ('ATT-PWODecisionRule-AD'\r\n) , ('ATT-PWODecisionRule-AL') , ('ATT-PWODecisionRule-AO')  , ('ATT-PWODecisionRule-AP') , ('ATT-PWODecisionRule-AA')  , ('POL-PWODecisionRule-AY')  ,\r\n ('CPL-PWODecisionRule-AR') , ('AOB-ATTDecisionRule-BA') , ('AOB-ATTDecisionRule-BE') , ('ATT-PWODecisionRule-PW') ) as v (UID_PWODecisionRule) insert \r\ninto @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select bt.XObjectKey, 'TSB-PWODecisionRule-SO', 'A' from (select cu.UID_Parameter as UID_Person , cu.UID_SubParameter\r\n as UID_Org from @DBQueueCurrent cu ) i join BaseTree bt on i.UID_Org = bt.UID_Org join BasetreeCollection co on i.uid_org = co.uid_org   if exists (select\r\n top 1 1 from QBMModuleDef where ModuleName = 'TSB') begin  insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select distinct r.XObjectKey, 'TSB-PWODecisionRule-EN'\r\n, 'A' from (select cu.UID_Parameter as UID_Person , cu.UID_SubParameter as UID_Org from @DBQueueCurrent cu ) i join UNSRoot r on (i.UID_Org = r.UID_AERoleOwner\r\n or r.UID_AERoleOwner is null)  if exists (select top 1 1 from QBMModuleDef where ModuleName = 'SP0') begin  insert into @RecalcParameter_01 (ObjectKey1\r\n, UID1, Ident1) select distinct s.XObjectKey, 'TSB-PWODecisionRule-EN', 'A' from (select cu.UID_Parameter as UID_Person , cu.UID_SubParameter as UID_Org\r\n from @DBQueueCurrent cu ) i join SPSFarm r on i.UID_Org = r.UID_AERoleOwner join SPSWebApplication wa on r.UID_SPSFarm = wa.UID_SPSFarm join SPSSite s\r\n on s.UID_SPSWebapplication = wa.UID_SPSWebapplication end if exists (select top 1 1 from QBMModuleDef where ModuleName = 'ADS') begin  insert into @RecalcParameter_01\r\n (ObjectKey1, UID1, Ident1) select distinct r.XObjectKey, 'TSB-PWODecisionRule-EN', 'A' from (select cu.UID_Parameter as UID_Person , cu.UID_SubParameter\r\n as UID_Org from @DBQueueCurrent cu ) i join ADSContainer c on (i.UID_Org = c.UID_AERoleOwner or c.UID_AERoleOwner is null) join ADSDomain r on c.UID_ADSDomain\r\n = r.UID_ADSDomain end end  if exists (select top 1 1 from QBMModuleDef where ModuleName = 'AAD') begin  insert into @RecalcParameter_01 (ObjectKey1, UID1\r\n, Ident1) select bt.XObjectKey, v.UID_PWODecisionRule, 'A' from (select cu.UID_Parameter as UID_Person , cu.UID_SubParameter as UID_Org from @DBQueueCurrent\r\n cu ) i join BaseTree bt on i.UID_Org = bt.UID_Org cross join (values ('AAD-PWODecisionRule-SP') , ('ATT-PWODecisionRule-EO')  ) as v (UID_PWODecisionRule\r\n) end exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH\r\n NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_ZAttestationAbort",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.5",
      "ModifyDate": "2026-04-14T23:20:42.123",
      "Definition": "   create   procedure ATT_ZAttestationAbort (@SlotNumber int)  as begin  declare @GenProcID varchar(38) declare @SQLCmd nvarchar(max) BEGIN TRY \r\nselect top 1 @GenProcID = cu.GenprocID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @Slotnumber select @SQLcmd = N'UID_AttestationCase in (select UID_Parameter from QBMDBQueueCurrent with (readpast) where slotnumber = '\r\n + str(@SlotNumber) + ' ) ' exec QBM_PJobCreate_HOCallMethod_B @objecttype = 'AttestationCase' , @whereclause = @SQLcmd , @save = 1 , @MethodName = 'Abort'\r\n , @GenProcID = @GenprocID , @AdditionalObjectKeysAffected = DEFAULT , @param1 = '#LDS#Automatic system approval: workflow has changed.|' , @Retries = \r\n3 , @isToFreezeOnError = 1  , @checkForExisting = 1 , @WhereClauseAdditional = ' IsClosed = 0 '  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default \r\nRAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_ZAttestationCheck",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.757",
      "ModifyDate": "2026-04-14T23:20:42.787",
      "Definition": "   create   procedure ATT_ZAttestationCheck ( @Slotnumber int , @Dummy1 varchar(38) , @Dummy2 varchar(38) , @GenProcID varchar(38) ) AS begin BEGIN\r\n TRY  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select\r\n distinct pwo.UID_AttestationCase as uid from AttestationCase pwo join AttestationHelper h on pwo.uid_AttestationCase = h.uid_AttestationCase where (h.NextReminder\r\n < getutcdate() or h.NextAutomaticDecision < getutcdate() ) and pwo.IsUnderConstruction = 0 ) as x exec QBM_PDBQueueInsert_Bulk 'ATT-K-AttestationCheckValid'\r\n, @DBQueueElements_01  declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from (select distinct pwo.UID_AttestationCase as uid from AttestationCase pwo join AttestationHelper h on pwo.uid_AttestationCase = h.uid_AttestationCase\r\n join QERWorkingMethod wm on pwo.UID_QERWorkingMethod= wm.UID_QERWorkingMethod where dateadd(dd, wm.DaysToAbort, pwo.Xdateinserted) < getutcdate() and \r\nisnull(wm.DaysToAbort, 0) > 0 and pwo.IsUnderConstruction = 0 ) as x exec QBM_PDBQueueInsert_Bulk 'ATT-K-AttestationCheckValid', @DBQueueElements_02 END\r\n TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_ZAttestationCheckValid",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.69",
      "ModifyDate": "2026-04-14T23:20:42.693",
      "Definition": "     create   procedure ATT_ZAttestationCheckValid (@SlotNumber int) as begin  declare @SQLcmd nvarchar(1000) declare @UID_AttestationCase varchar\r\n(38) declare @GenProcID varchar(38) declare @BasisObjectKey varchar(138) declare @AbortMethod nvarchar(64) declare @UID_Task varchar(38) declare @EscalateIfNoApprover\r\n bit declare @DecisionLevel int declare @TableName varchar(30) declare @Cmd nvarchar(max) declare @WaitingForEx_30965 varchar(32) = 'waiting for EX' declare\r\n @AttCaseObjectMissing QBM_YParameterList declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @ElementLast int declare @ElementCount\r\n int declare @ElementIndex int declare @AttestationCaseShadow ATT_YAttestationCase declare @DBQueueElements_spezial QBM_YDBQueueRaw BEGIN TRY insert into\r\n @AttestationCaseShadow(UID_AttestationCase, ObjectKeyBase, UID_AttestationPolicy , GenProcID, XObjectKey, UID_QERWorkingMethod, IsClosed, DecisionLevel\r\n, XDateInserted ) select ac.UID_AttestationCase, ac.ObjectKeyBase, ac.UID_AttestationPolicy , cu.GenProcID, ac.XObjectKey, ac.UID_QERWorkingMethod, ac.IsClosed\r\n, ac.DecisionLevel, XDateInserted from QBMDBQueueCurrent cu with (readpast) join AttestationCase ac on cu.UID_Parameter = ac.UID_AttestationCase and cu.SlotNumber=\r\n @SlotNumber  and ac.IsUnderConstruction = 0    declare @ElementBuffer_missing QBM_YCursorBuffer insert into @ElementBuffer_missing (UID1) select  distinct\r\n case when t.TableName is null then 'DialogHistoryDB' else t.TableName end AS TableName from ( select distinct dbo.QBM_FCVObjectkeyToElement('TableName'\r\n, acs.ObjectKeyBase ) as TableName from @AttestationCaseShadow acs   ) as y left outer join DialogTable t with (readpast) on y.TableName = t.TableName \r\nselect @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast\r\n begin select top 1 @TableName = bu.UID1 from @ElementBuffer_missing bu where bu.ElementIndex = @ElementIndex select @Cmd = '\r\n\tselect ac.UID_AttestationCase, cu.GenProcID, ac.XObjectKey\r\n\t\t\tfrom QBMDBQueueCurrent cu  with (readpast) join AttestationCase ac  with (nolock) on cu.UID_Parameter = ac.UID_AttestationCase\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tand ac.ObjectKeyBase like ''<Key><T>'\r\n + @TableName + '</T>%''\r\n\t\t\t\t\t\t\t\tleft outer join ' + @TableName + ' x  with (nolock) on x.XObjectKey = ac.ObjectKeyBase\r\n\t\twhere cu.SlotNumber = ' + str\r\n(@Slotnumber) + '\r\n\t\t-- 35760\r\n\t\tand ac.IsUnderConstruction = 0\r\n\t\tand x.XObjectKey is null\r\n\t\t'  insert into @AttCaseObjectMissing(Parameter1 , Parameter2\r\n , Parameter3 ) exec sp_executesql @cmd select @ElementIndex += 1 end   declare @ElementBuffer_close QBM_YCursorBuffer insert into @ElementBuffer_close\r\n (UID1, UID2, ObjectKey1) select distinct ac.Parameter1  , ac.Parameter2 , ac.Parameter3  from @AttCaseObjectMissing ac select @ElementCount = @@ROWCOUNT\r\n select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @UID_AttestationCase\r\n = bu.UID1 , @GenProcID = bu.UID2 , @BasisObjectKey = bu.ObjectKey1 from @ElementBuffer_close bu where bu.ElementIndex = @ElementIndex select @SQLcmd =\r\n N'UID_AttestationCase = ''' + rtrim(@UID_AttestationCase) + N'''' exec QBM_PJobCreate_HOCallMethod @objecttype = 'AttestationCase' , @whereclause = @SQLcmd\r\n , @save = 1 , @MethodName = 'Abort' , @GenProcID = @GenprocID , @ObjectKeysAffected = DEFAULT , @param1 = '#LDS#Automatic system approval: object to attest does not exist.|'\r\n , @Retries = 3 , @isToFreezeOnError = 1 , @BasisObjectKey = @BasisObjectKey , @checkForExisting = 1 , @WhereClauseAdditional = ' IsClosed = 0 '  delete\r\n  @AttestationCaseShadow  where UID_AttestationCase = @UID_AttestationCase select @ElementIndex += 1 end    declare @ElementBuffer_deactive QBM_YCursorBuffer\r\n insert into @ElementBuffer_deactive (UID1, UID2, ObjectKey1) select distinct acs.UID_AttestationCase , acs.GenProcID, acs.XObjectKey  from @AttestationCaseShadow\r\n acs join attestationpolicy ap on ap.UID_AttestationPolicy = acs.UID_AttestationPolicy where ap.IsInactive = 1  select @ElementCount = @@ROWCOUNT select\r\n @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @UID_AttestationCase\r\n = bu.UID1 , @GenProcID = bu.UID2 , @BasisObjectKey = bu.ObjectKey1 from @ElementBuffer_deactive bu where bu.ElementIndex = @ElementIndex select @SQLcmd\r\n = N'UID_AttestationCase = ''' + rtrim(@UID_AttestationCase) + N'''' exec QBM_PJobCreate_HOCallMethod @objecttype = 'AttestationCase' , @whereclause = \r\n@SQLcmd , @save = 1 , @MethodName = 'Abort' , @GenProcID = @GenprocID , @ObjectKeysAffected = DEFAULT , @param1 = '#LDS#Automatic system approval:  Policy is inactive.|'\r\n , @Retries = 3 , @isToFreezeOnError = 1 , @BasisObjectKey = @BasisObjectKey , @checkForExisting = 1 , @WhereClauseAdditional = ' IsClosed = 0 '  delete\r\n  @AttestationCaseShadow  where UID_AttestationCase = @UID_AttestationCase select @ElementIndex += 1 end    declare @ElementBuffer_noDecider QBM_YCursorBuffer\r\n insert into @ElementBuffer_noDecider (UID1, UID2, ObjectKey1, Bit1, Int1) select distinct acs.UID_AttestationCase , acs.GenProcID, acs.XObjectKey , ws.EscalateIfNoApprover\r\n, acs.DecisionLevel  from @AttestationCaseShadow acs join QERWorkingStep ws on ws.UID_QERWorkingMethod = acs.UID_QERWorkingMethod and acs.IsClosed = 0 \r\nand acs.DecisionLevel = ws.levelnumber where not exists ( select top 1 1 from AttestationHelper ah where acs.UID_AttestationCase = ah.UID_AttestationCase\r\n and ws.LevelNumber = ah.LevelNumber and ws.SubLevelNumber = ah.SubLevelNumber and ws.UID_PWODecisionRule = ah.UID_PWODecisionRule and ah.RulerLevel in\r\n (0, 1) ) select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <=\r\n @ElementLast begin select top 1 @UID_AttestationCase = bu.UID1 , @GenProcID = bu.UID2 , @BasisObjectKey = bu.ObjectKey1 , @EscalateIfNoApprover = bu.Bit1\r\n , @DecisionLevel = bu.Int1 from @ElementBuffer_noDecider bu where bu.ElementIndex = @ElementIndex  if @EscalateIfNoApprover = 0 begin select @SQLcmd =\r\n N'UID_AttestationCase = ''' + rtrim(@UID_AttestationCase) + N'''' exec QBM_PJobCreate_HOCallMethod @objecttype = 'AttestationCase' , @whereclause = @SQLcmd\r\n , @save = 1 , @MethodName = 'Abort' , @GenProcID = @GenprocID , @ObjectKeysAffected = DEFAULT , @param1 = '#LDS#Automatic system approval:  No approver available.|'\r\n , @Retries = 3 , @isToFreezeOnError = 1 , @BasisObjectKey = @BasisObjectKey , @checkForExisting = 1 , @WhereClauseAdditional = ' IsClosed = 0 '  end else\r\n begin select @SQLcmd = N'uid_AttestationCase = ''' + rtrim(@uid_AttestationCase) + N''' and DecisionLevel = ' + STR(@DecisionLevel) exec QBM_PJobCreate_HOCallMethod\r\n @objecttype = 'AttestationCase' , @whereclause = @SQLcmd , @save = 1 , @MethodName = 'ESCALATE' , @GenProcID = @GenprocID , @ObjectKeysAffected = DEFAULT\r\n , @param1 = 'sa' , @Param2 = '#LDS#Automatic system approval: Decision \"escalate\" due to no approver available.|' , @Retries = 3 , @isToFreezeOnError \r\n= 1 , @BasisObjectKey = @BasisObjectKey , @checkForExisting = 1 , @WhereClauseAdditional = ' IsClosed = 0 '  end delete  @AttestationCaseShadow  where \r\nUID_AttestationCase = @UID_AttestationCase select @ElementIndex += 1 end    declare @ElementBuffer_lessDecider QBM_YCursorBuffer insert into @ElementBuffer_lessDecider\r\n (UID1, UID2, ObjectKey1, Bit1, Int1) select distinct acs.UID_AttestationCase , acs.GenProcID, acs.XObjectKey , ws.EscalateIfNoApprover, acs.DecisionLevel\r\n  from @AttestationCaseShadow acs join QERWorkingStep ws on ws.UID_QERWorkingMethod = acs.UID_QERWorkingMethod and acs.IsClosed = 0 and acs.DecisionLevel\r\n = ws.levelnumber cross apply dbo.ATT_FTATTDecisionPossible(acs.UID_AttestationCase, ws.LevelNumber, ws.SubLevelNumber) dp where dp.DecisionPossible = \r\n-1  and acs.isclosed = 0 select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while \r\n@ElementIndex <= @ElementLast begin select top 1 @UID_AttestationCase = bu.UID1 , @GenProcID = bu.UID2 , @BasisObjectKey = bu.ObjectKey1 , @EscalateIfNoApprover\r\n = bu.Bit1 , @DecisionLevel = bu.Int1 from @ElementBuffer_lessDecider bu where bu.ElementIndex = @ElementIndex  if @EscalateIfNoApprover = 0 begin select\r\n @SQLcmd = N'UID_AttestationCase = ''' + rtrim(@UID_AttestationCase) + N'''' exec QBM_PJobCreate_HOCallMethod @objecttype = 'AttestationCase' , @whereclause\r\n = @SQLcmd , @save = 1 , @MethodName = 'Abort' , @GenProcID = @GenprocID , @ObjectKeysAffected = DEFAULT , @param1 = '#LDS#Automatic system approval: Not enough approvers available.|'\r\n , @Retries = 3 , @isToFreezeOnError = 1 , @BasisObjectKey = @BasisObjectKey , @checkForExisting = 1 , @WhereClauseAdditional = ' IsClosed = 0 '  end else\r\n begin select @SQLcmd = N'uid_AttestationCase = ''' + rtrim(@uid_AttestationCase) + N''' and DecisionLevel = ' + STR(@DecisionLevel) exec QBM_PJobCreate_HOCallMethod\r\n @objecttype = 'AttestationCase' , @whereclause = @SQLcmd , @save = 1 , @MethodName = 'ESCALATE' , @GenProcID = @GenprocID , @ObjectKeysAffected = DEFAULT\r\n , @param1 = 'sa' , @Param2 = '#LDS#Automatic system approval: Decision \"escalate\" due to not enough approvers available.|' , @Retries = 3 , @isToFreezeOnError\r\n = 1 , @BasisObjectKey = @BasisObjectKey , @checkForExisting = 1 , @WhereClauseAdditional = ' IsClosed = 0 '  end delete  @AttestationCaseShadow  where\r\n UID_AttestationCase = @UID_AttestationCase select @ElementIndex += 1 end   declare @ElementBuffer_decidePos QBM_YCursorBuffer insert into @ElementBuffer_decidePos\r\n (UID1) select distinct dr.UID_Task  from @AttestationCaseShadow acs join AttestationHelper ah on acs.UID_AttestationCase = ah.UID_AttestationCase and \r\nacs.decisionlevel = ah.levelnumber join pwodecisionrule dr on ah.UID_PWODecisionRule = dr.UID_PWODecisionRule where dr.UID_Task > ' '  and acs.isclosed\r\n = 0   and not (dr.UID_Task = 'ATT-K-AttestationMakeDecisionEX' and isnull(ah.ReasonHead, '') = @WaitingForEx_30965 ) select @ElementCount = @@ROWCOUNT\r\n select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @UID_Task\r\n = bu.UID1 from @ElementBuffer_decidePos bu where bu.ElementIndex = @ElementIndex delete  @DBQueueElements_spezial  insert into @DBQueueElements_spezial\r\n (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select acs.UID_AttestationCase as uid , acs.GenProcID as GenProcID  from @AttestationCaseShadow\r\n acs join AttestationHelper ah on acs.UID_AttestationCase = ah.UID_AttestationCase and acs.decisionlevel = ah.levelnumber join pwodecisionrule dr on ah.UID_PWODecisionRule\r\n = dr.UID_PWODecisionRule where  acs.isclosed = 0 and dr.UID_Task = @UID_Task  and not (dr.UID_Task = 'ATT-K-AttestationMakeDecisionEX' and isnull(ah.ReasonHead\r\n, '') = @WaitingForEx_30965 ) ) as x exec QBM_PDBQueueInsert_Bulk @UID_Task, @DBQueueElements_spezial delete  @AttestationCaseShadow where UID_AttestationCase\r\n in (select e.Object from @DBQueueElements_spezial e ) select @ElementIndex += 1 end    declare @ElementBuffer_TimeCheck QBM_YCursorBuffer insert into \r\n@ElementBuffer_TimeCheck (UID1  , UID2  , ObjectKey1  , Ident1  ) select distinct acs.UID_AttestationCase , acs.genprocID, acs.XObjectKey, 'Abort'  from\r\n @AttestationCaseShadow acs join QERWorkingMethod wm on acs.UID_QERWorkingMethod = wm.UID_QERWorkingMethod where dateadd(dd, wm.DaysToAbort, acs.Xdateinserted\r\n) < getutcdate()  and isnull(wm.DaysToAbort, 0) > 0 and acs.isClosed = 0 and dbo.QBM_FGIJobCreatedExists(acs.XObjectKey) = 0 select @ElementCount = @@ROWCOUNT\r\n select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @uid_AttestationCase\r\n = bu.UID1  , @GenProcID = bu.UID2  , @BasisObjectKey = bu.ObjectKey1  , @AbortMethod = bu.Ident1  from @ElementBuffer_TimeCheck bu where bu.ElementIndex\r\n = @ElementIndex select @SQLcmd = N'uid_AttestationCase = ''' + rtrim(@uid_AttestationCase) + N'''' exec QBM_PJobCreate_HOCallMethod @objecttype = 'AttestationCase'\r\n , @whereclause = @SQLcmd , @save = 1 , @MethodName = @AbortMethod , @GenProcID = @GenprocID , @ObjectKeysAffected = DEFAULT , @param1 = '#LDS#Automatic system approval: Number of days has been exceeded, as specified in decision method.|'\r\n , @Retries = 3 , @isToFreezeOnError = 1 , @BasisObjectKey = @BasisObjectKey , @checkForExisting = 1 , @WhereClauseAdditional = ' IsClosed = 0 '  delete\r\n  @AttestationCaseShadow where UID_AttestationCase = @UID_AttestationCase select @ElementIndex += 1 end       END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_ZAttestationHelperFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.6",
      "ModifyDate": "2026-04-14T23:20:42.27",
      "Definition": "   create   procedure ATT_ZAttestationHelperFill (@SlotNumber int) as begin exec ATT_PAttestationHelperFill_i @SlotNumber, 0 end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_ZAttestationHelperFill_Cfg",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.623",
      "ModifyDate": "2026-04-14T23:20:42.307",
      "Definition": "   create   procedure ATT_ZAttestationHelperFill_Cfg (@SlotNumber int) as begin  declare @UID_AttestationCase varchar(38) declare @GenProcID varchar\r\n(38) declare @DebugLevel char(1) = 'W' declare @reduce int = 0 declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex\r\n int declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY select @reduce = case dbo.QBM_FGIConfigparmValue('QER\\Attestation\\ReducedApproverCalculation'\r\n) when 'NoRecalc' then 2 when 'CurrentLevel' then 1 else 0 end if @reduce = 2 begin goto endLabel end insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber\r\n = @SlotNumber if @@rowcount = 0 begin goto EndLabel end insert into @ElementBuffer (UID1, UID2) select uid_parameter, GenprocID from @DBQueueCurrent p\r\n select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @UID_AttestationCase = bu.UID1 , @GenProcID\r\n = bu.UID2 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex exec ATT_PAttestationHelperFill @UID_AttestationCase, @GenprocID, @CurrentLevelOnly\r\n = @reduce select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_ZAttestationHelperFill_NL",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.6",
      "ModifyDate": "2026-04-14T23:20:42.273",
      "Definition": "create   procedure ATT_ZAttestationHelperFill_NL (@SlotNumber int) as begin exec ATT_PAttestationHelperFill_i @SlotNumber, 1 end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_ZAttestationMakeDecisionCD",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.71",
      "ModifyDate": "2026-04-14T23:20:42.72",
      "Definition": "     create   procedure ATT_ZAttestationMakeDecisionCD (@SlotNumber int) as begin declare @UID_AttestationCase varchar(38) declare @GenProcID varchar\r\n(38) declare @Decision nvarchar(16) declare @Reason nvarchar(255) declare @uid_person varchar(38) declare @cond nvarchar(max) declare @whereclause nvarchar\r\n(max) declare @SQLcmd nvarchar(max) declare @muster nvarchar(max) declare @BasisObjectKey varchar(138) declare @DebugLevel char(1) = 'W' declare @CountOfRows\r\n int declare @DecisionLevel int declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @DBQueueCurrent QBM_YDBQueueCurrent\r\n SET XACT_ABORT OFF BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end select\r\n @muster = '\r\nif exists (select top 1 1 from AttestationCase\r\n\t\t\t\twhere (\r\n-- die Kundenklausel\r\n@whereclause\r\n\t\t\t\t\t\t)\r\n\t\t\t\tand UID_AttestationCase = ''@UID_AttestationCase''\r\n\t\t\t)\r\n begin\r\n\tselect 1\r\n end\r\n'\r\n declare @AutomaticReasonTrue nvarchar(128) declare @AutomaticReasonFalse nvarchar(128) insert into @ElementBuffer (UID1  , UID2  , ContentFull  , LongIdent1\r\n  , LongIdent2  , ObjectKey1  , Int1  ) select ac.UID_AttestationCase , p.GenprocID, isnull(ds.WhereClause, N'') , isnull(ds.AutomaticReasonTrue, ''), \r\nisnull(ds.AutomaticReasonFalse, ''), ac.XObjectKey , ac.DecisionLevel from @DBQueueCurrent p join AttestationCase ac on p.uid_parameter = ac.UID_AttestationCase\r\n join AttestationHelper ph on ac.UID_AttestationCase = ph.UID_AttestationCase and ac.decisionlevel = ph.levelnumber join QERWorkingStep ds on ph.UID_QERWorkingStep\r\n = ds.UID_QERWorkingStep  where ph.UID_PWODecisionRule = 'ATT-PWODecisionRule-CD' and isnull(ac.isclosed,0) = 0 select @ElementCount = @@ROWCOUNT select\r\n @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @UID_AttestationCase = bu.UID1  , @GenProcID = bu.UID2  , @whereclause = bu.ContentFull\r\n  , @AutomaticReasonTrue = bu.LongIdent1  , @AutomaticReasonFalse = bu.LongIdent2  , @BasisObjectKey = bu.ObjectKey1  , @DecisionLevel = bu.Int1  from \r\n@ElementBuffer bu where bu.ElementIndex = @ElementIndex select @SQLcmd = @muster select @SQLcmd = replace(@SQLcmd , N'@whereclause', @whereclause) select\r\n @SQLcmd = replace(@SQLcmd, N'@UID_AttestationCase', @UID_AttestationCase)  BEGIN TRY exec sp_executesql @SQLcmd select @CountOfRows = @@Rowcount END TRY\r\n BEGIN CATCH select @CountOfRows = -1 END CATCH if @CountOfRows > 0 begin  select @decision = 'True'  if @AutomaticReasonTrue > ' ' begin select @Reason\r\n = @AutomaticReasonTrue end else begin select @reason = '#LDS#Automatic system approval with method CD : Condition was met.|' end end if @CountOfRows =\r\n 0  begin select @decision = 'False'  if @AutomaticReasonFalse > ' ' begin select @Reason = @AutomaticReasonFalse end else begin select @reason = '#LDS#Automatic system approval with method CD : Condition was not met.|'\r\n end end if @CountOfRows < 0  begin select @decision = 'False' select @reason = '#LDS#Automatic system approval: Condition caused runtime error using method CD.|'\r\n end select @cond = 'UID_AttestationCase = ''' + rtrim(@UID_AttestationCase) + N''' and DecisionLevel = ' + STR(@DecisionLevel)   exec QBM_PJobCreate_HOCallMethod\r\n @objecttype = 'AttestationCase' , @whereclause = @cond , @save = 1 , @MethodName = 'MakeDecision' , @GenProcID = @GenprocID , @ObjectKeysAffected = DEFAULT\r\n , @param1 = 'sa' , @param2 = @decision , @Param3 = @reason , @Retries = 3 , @isToFreezeOnError = 1  , @BasisObjectKey = @BasisObjectKey , @checkForExisting\r\n = 1 , @WhereClauseAdditional = ' IsClosed = 0 '  select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default, @SQLcmd raiserror\r\n('', 18, 1) with nowait END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_ZAttestationMakeDecisionEX",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.743",
      "ModifyDate": "2026-04-14T23:20:42.767",
      "Definition": "     create   procedure ATT_ZAttestationMakeDecisionEX (@SlotNumber int) as begin  declare @UID_AttestationCase varchar(38) declare @GenProcID varchar\r\n(38) declare @cond nvarchar(max) declare @EventName nvarchar(max) declare @BasisObjectKey varchar(138) declare @SubLevelNumberString varchar(32) declare\r\n @UID_AttestationHelper varchar(38) declare @WaitingForEx_30965 varchar(32) = 'waiting for EX' declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount\r\n int declare @ElementIndex int BEGIN TRY insert into @ElementBuffer (UID1, UID2, ContentFull, ObjectKey1, Ident1, UID3) select ac.UID_AttestationCase ,\r\n p.GenprocID, isnull(ds.WhereClause, N'') , ac.XObjectKey , dbo.QBM_FCVIntToString(ds.SubLevelNumber) , ah.UID_AttestationHelper from QBMDBQueueCurrent\r\n p with (readpast) join AttestationCase ac on p.uid_parameter = ac.UID_AttestationCase join AttestationHelper ah on ac.UID_AttestationCase = ah.UID_AttestationCase\r\n and ac.decisionlevel = ah.levelnumber join QERWorkingStep ds on ah.UID_QERWorkingStep = ds.UID_QERWorkingStep  where ah.UID_PWODecisionRule = 'ATT-PWODecisionRule-EX'\r\n and isnull(ac.isclosed,0) = 0 and p.SlotNumber = @SlotNumber  and isnull(ah.ReasonHead, '') = '' and isnull(ah.Decision, '') = '' select @ElementCount\r\n = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @UID_AttestationCase = bu.UID1 , @GenProcID = bu.UID2 , \r\n@EventName = bu.ContentFull , @BasisObjectKey = bu.ObjectKey1 , @SubLevelNumberString = bu.Ident1 , @UID_AttestationHelper = bu.UID3 from @ElementBuffer\r\n bu where bu.ElementIndex = @ElementIndex select @cond = N'UID_AttestationCase = ''' + rtrim(@UID_AttestationCase) + N''''  exec QBM_PJobCreate_HOFireEvent_B\r\n 'AttestationCase', @cond, @EventName, @GenProcID , @AdditionalObjectKeysAffected = DEFAULT , @checkForExisting = 0 , @BasisObjectKey = @BasisObjectKey\r\n , @p2 = '_ParamName1', @v2 = 'SubLevelNumber' , @p3 = '_ParamValue1' , @v3 = @SubLevelNumberString  update AttestationHelper set ReasonHead = @WaitingForEx_30965\r\n where UID_AttestationHelper = @UID_AttestationHelper and isnull(ReasonHead, '') = '' select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_ZAttestationMakeDecisionWC",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.727",
      "ModifyDate": "2026-04-14T23:20:42.747",
      "Definition": "  create   procedure ATT_ZAttestationMakeDecisionWC (@SlotNumber int) as begin  declare @UID_AttestationCase varchar(38) declare @GenProcID varchar\r\n(38) declare @Decision nvarchar(16) declare @Reason nvarchar(255) declare @uid_person varchar(38) declare @cond nvarchar(max) declare @whereclause nvarchar\r\n(max) declare @SQLcmd nvarchar(max) declare @muster nvarchar(max) declare @CountItems int declare @AutomaticReasonTrue nvarchar(128) declare @AutomaticReasonFalse\r\n nvarchar(128) declare @BasisObjectKey varchar(138) declare @DecisionLevel int declare @DebugLevel char(1) = 'W' declare @ElementBuffer QBM_YCursorBuffer\r\n declare @ElementCount int declare @ElementIndex int declare @SQLCmdWithRetry nvarchar(max) declare @ErrorBuffer QBM_YSessionError declare @SlotNumberSource\r\n int declare @SlotNumberTarget int declare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved int SET XACT_ABORT OFF BEGIN TRY  select @muster =\r\n '\r\ndeclare @erg int\r\nselect @erg = \r\n-- die Kundenklausel\r\n@whereclause (''@UID_AttestationCase'')\r\n\r\n--print @erg\r\n\r\nif @erg > 0\r\n begin\r\n\tselect 1\r\n\t union all \r\n\tselect 2\r\n\t union all \r\n\tselect 3\r\n\t \r\n end\r\nelse --bleiben noch 0 und < 0\r\n begin\r\n\t if @erg < 0\r\n\t  begin\r\n\t\tselect 1\r\n\t  end\r\n\t else -- ist es gleich 0\r\n\t  begin\r\n\t\tselect 1\r\n\t\t union all\r\n\t\tselect 2\r\n\t  end\r\n end\r\n\t\t\r\n'\r\n insert into @ElementBuffer ( UID1  , UID2  , ContentFull  , LongIdent1  , LongIdent2  , ObjectKey1  , Int1  ) select ac.UID_AttestationCase , p.GenprocID\r\n, isnull(ds.WhereClause, N'') , isnull(ds.AutomaticReasonTrue, ''), isnull(ds.AutomaticReasonFalse, ''), ac.XObjectKey , ac.DecisionLevel from QBMDBQueueCurrent\r\n p with (readpast) join AttestationCase ac on p.uid_parameter = ac.UID_AttestationCase join AttestationHelper ah on ac.UID_AttestationCase = ah.UID_AttestationCase\r\n and ac.decisionlevel = ah.levelnumber join QERWorkingStep ds on ah.UID_QERWorkingStep = ds.UID_QERWorkingStep  where ah.UID_PWODecisionRule = 'ATT-PWODecisionRule-WC'\r\n and isnull(ac.isclosed,0) = 0 and p.SlotNumber = @SlotNumber select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount\r\n begin select top 1 @UID_AttestationCase = bu.UID1  , @GenProcID = bu.UID2  , @whereclause = bu.ContentFull  , @AutomaticReasonTrue = bu.LongIdent1  , \r\n@AutomaticReasonFalse = bu.LongIdent2  , @BasisObjectKey = bu.ObjectKey1  , @DecisionLevel = bu.Int1  from @ElementBuffer bu where bu.ElementIndex = @ElementIndex\r\n select @SQLcmd = @muster select @SQLcmd = replace(@SQLcmd , N'@whereclause', @whereclause) select @SQLcmd = replace(@SQLcmd, N'@UID_AttestationCase', \r\n@UID_AttestationCase)  BEGIN TRY exec sp_executesql @SQLcmd select @CountItems = @@rowcount END TRY BEGIN CATCH select @CountItems = -1 END CATCH if @CountItems\r\n = 3  begin  select @decision = 'True'  if @AutomaticReasonTrue > ' ' begin select @Reason = @AutomaticReasonTrue end else begin select @reason = '#LDS#Automatic system approval with method WC: Condition was met.|'\r\n end end if @CountItems = 1  begin select @decision = 'False'  if @AutomaticReasonFalse > ' ' begin select @Reason = @AutomaticReasonFalse end else begin\r\n select @reason = '#LDS#Automatic system approval with method WC: Condition was not met.|' end end if @CountItems = 2  begin  delete @DBQueueToMove  insert\r\n into @DBQueueToMove(UID_DialogDBQueue) select cul.UID_DialogDBQueue from QBMDBQueueCurrent cul  where cul.SlotNumber = @SlotNumber and cul.UID_Parameter\r\n = @UID_AttestationCase if @@ROWCOUNT > 0 begin select @SlotNumberSource = @SlotNumber  select @SlotnumberTarget = dbo.QBM_FGIDBQueueSlotResetType('Wait'\r\n) exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget exec QBM_PJournal '#LDS#Deferring operations resulting form the IT Shop procedure \"waiting for condition\".|'\r\n, @@procid, 'I', @DebugLevel end end if @CountItems < 0  begin select @decision = 'False' select @reason = '#LDS#Automatic system approval: Condition caused runtime error using method WC.|'\r\n end if @CountItems = 3 or @CountItems = 1 or @CountItems < 0 begin select @cond = N'UID_AttestationCase = ''' + rtrim(@UID_AttestationCase) + N''' and DecisionLevel = '\r\n + STR(@DecisionLevel)  exec QBM_PJobCreate_HOCallMethod @objecttype = 'AttestationCase' , @whereclause = @cond , @save = 1 , @MethodName = 'MakeDecision'\r\n , @GenProcID = @GenprocID , @ObjectKeysAffected = DEFAULT , @param1 = 'sa' , @param2 = @decision , @param3 = @reason , @Retries = 3 , @isToFreezeOnError\r\n = 1  , @BasisObjectKey = @BasisObjectKey , @checkForExisting = 1 , @WhereClauseAdditional = ' IsClosed = 0 '  end select @ElementIndex += 1 end  END TRY\r\n BEGIN CATCH exec QBM_PSessionErrorAdd default, @SQLCmdWithRetry raiserror ('', 18, 1) with nowait END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_ZAttestationObjectPreProp",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.79",
      "ModifyDate": "2026-04-14T23:20:42.83",
      "Definition": "    create   procedure ATT_ZAttestationObjectPreProp (@SlotNumber int) as begin  declare @GenProcID varchar(38) declare @GenProcID_R varchar(38)\r\n = dbo.QBM_FGISessionContext('') declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter\r\n, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber\r\n if @@rowcount = 0 begin goto EndLabel end select @GenProcID = max(GenProcID) from @DBQueueCurrent where GenProcID > ' ' if isnull(@Genprocid, '') = ''\r\n begin select @GenProcID = newid() end declare @PrePropHelper QBM_YPrepropHelper insert into @PrePropHelper (uid_parameter , isDeactivatedPrior , IsDeactivated\r\n , GenProcID , PreProcessorCondition, IsDeactivatedOld) select x.uid_parameter, isnull(t.isDeactivatedByPreProcessor,0), isnull(t.isDeactivatedByPreProcessor\r\n,0), x.GenProcID, isnull(c.PreProcessorCondition,N''), c.isDeactivatedByPreProcessor from @DBQueueCurrent x join AttestationObject c on x.uid_parameter\r\n = c.uid_AttestationObject join dialogtable t on c.UID_DialogTable = t.UID_DialogTable  update @PrePropHelper set IsDeactivated = dbo.QBM_FGIPrepropConditionDeactiv\r\n(h.PreProcessorCondition) from @PrePropHelper h where h.PreProcessorCondition > ' ' and h.IsDeactivated = 0      exec QBM_PSessionContextSet 'GenProcID'\r\n, @GenProcID update AttestationObject set IsDeactivatedByPreProcessor = x.isDeactivated, xdateupdated = GetUTCDate(), xuserupdated = 'DBScheduler'  from\r\n AttestationObject r join @PrePropHelper x on r.UID_AttestationObject = x.uid_parameter where r.IsDeactivatedByPreProcessor <> x.IsDeactivated END TRY \r\nBEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_ZAttestationReminder",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.93",
      "ModifyDate": "2026-04-14T23:20:43.03",
      "Definition": "     create   procedure ATT_ZAttestationReminder (@SlotNumber int) as begin declare @UID_AttestationCase varchar(38) declare @GenProcID varchar(38\r\n) declare @UID_AttestationHelper varchar(38) declare @UID_PersonHead varchar(38) declare @MinutesReminder int declare @MailExists int declare @ObjectkeyForMail\r\n varchar(138) declare @WhereclauseForMail nvarchar(1000) declare @CurrentDecisionLevel int declare @SubLevelNumberString varchar(16) declare @XUser nvarchar\r\n(64) = object_name(@@procid) declare @MaxDate2200 datetime = '2200-01-01' declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R\r\n nvarchar(64) = dbo.QBM_FGISessionContext('XUser') declare @ElementLast int declare @ElementCount int declare @ElementIndex int declare @AttestationCasesReminder\r\n ATT_YAttestationCase declare @AttestationCasesAutomatic ATT_YAttestationCase declare @SQLcmd nvarchar(1000) declare @AbortMethod nvarchar(64) declare \r\n@BasisObjectKey varchar(138) declare @DecisionLevel int declare @DBQueueCurrent QBM_YDBQueueCurrent declare @Helper QER_YPWOHelperReminder BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end insert into @AttestationCasesAutomatic\r\n(UID_AttestationCase, ObjectKeyBase, UID_AttestationPolicy , GenProcID, XObjectKey, UID_QERWorkingMethod, IsClosed, DecisionLevel, XDateInserted ) select\r\n distinct ac.UID_AttestationCase, ac.ObjectKeyBase, ac.UID_AttestationPolicy , cu.GenProcID, ac.XObjectKey, ac.UID_QERWorkingMethod, ac.IsClosed, ac.DecisionLevel\r\n, XDateInserted from @DBQueueCurrent cu join AttestationCase ac with (readpast)on cu.UID_Parameter = ac.UID_AttestationCase join QERWorkingStep ws on ws.UID_QERWorkingMethod\r\n = ac.UID_QERWorkingMethod where ws.MinutesAutomaticDecision > 0  insert into @Helper(UID_HelperKey, NextReminder, NextAutomaticDecision, UID_ElementKey\r\n, UID_PersonHead, UID_QERWorkingStep, Decision, LevelNumber, UID_PWODecisionRule, XObjectKey, RulerLevel) select h.UID_AttestationHelper, h.NextReminder\r\n, h.NextAutomaticDecision, ac.UID_AttestationCase, h.UID_PersonHead, h.UID_QERWorkingStep, h.Decision, h.LevelNumber, h.UID_PWODecisionRule, h.XObjectKey\r\n, h.RulerLevel from @AttestationCasesAutomatic ac join AttestationHelper h with (readpast) on ac.UID_AttestationCase = h.UID_AttestationCase  select top\r\n 1 @GenProcID = acs.GenProcID  from @AttestationCasesAutomatic acs  exec QBM_PSessionContextSet 'GenProcID', @GenProcID exec QBM_PSessionContextSet 'XUser'\r\n, @XUser update @Helper set NextAutomaticDecision = dbo.QER_FCVTimeToWorkTimePerson(getutcdate(), ws.MinutesAutomaticDecision, h.UID_PersonHead) , IsToUpdateNextAutomaticDec\r\n = 1 from @Helper h   join QERWorkingStep ws on h.UID_QERWorkingStep = ws.UID_QERWorkingStep join AttestationCase pwo with (readpast) on h.UID_ElementKey\r\n = pwo.UID_AttestationCase join PWODecisionRule r on ws.UID_PWODecisionRule = r.UID_PWODecisionRule where ws.MinutesAutomaticDecision > 0  and h.NextAutomaticDecision\r\n = @MaxDate2200 and isnull(decision, '') = '' and r.UID_Task is null and h.levelnumber = pwo.DecisionLevel  select top 1 @GenProcID = acs.GenProcID  from\r\n @AttestationCasesAutomatic acs  exec QBM_PSessionContextSet 'GenProcID', @GenProcID update @Helper set NextAutomaticDecision = @MaxDate2200 , IsToUpdateNextAutomaticDec\r\n = 1 from @Helper h   join QERWorkingStep ws on h.UID_QERWorkingStep = ws.UID_QERWorkingStep join AttestationCase pwo with (readpast) on h.UID_ElementKey\r\n = pwo.UID_AttestationCase join PWODecisionRule r on ws.UID_PWODecisionRule = r.UID_PWODecisionRule where h.NextAutomaticDecision < @MaxDate2200  and (\r\n ws.MinutesAutomaticDecision = 0 or isnull(decision, '') > '' or h.levelnumber <> pwo.DecisionLevel or r.UID_Task > ' ' )  declare @ElementBuffer_action\r\n QBM_YCursorBuffer insert into @ElementBuffer_action (UID1  , UID2  , ObjectKey1  , Ident1  , Int1  , Ident2  ) select distinct  acs.UID_AttestationCase\r\n , acs.GenProcID, acs.XObjectKey, s.AutomaticDecision , acs.DecisionLevel , min(dbo.QBM_FCVIntToString(hp.SubLevelNumber))  from @AttestationCasesAutomatic\r\n acs join ( select h.UID_ElementKey as UID_AttestationCase, h.uid_QERWorkingStep  from @Helper h  join @AttestationCasesAutomatic pwo on h.UID_ElementKey\r\n = pwo.uid_AttestationCase and h.levelnumber = pwo.DecisionLevel join QERWorkingStep ws on ws.UID_QERWorkingStep = h.UID_QERWorkingStep where h.NextAutomaticDecision\r\n < @MaxDate2200      and h.RulerLevel <> 2 group by h.UID_ElementKey, h.UID_QERWorkingStep having max(h.NextAutomaticDecision) < getutcdate() ) as x on\r\n acs.UID_AttestationCase  = x.UID_AttestationCase  and acs.IsClosed = 0 join QERWorkingStep s on s.uid_QERWorkingStep = x.UID_QERWorkingStep join AttestationHelper\r\n hp on hp.UID_AttestationCase = acs.UID_AttestationCase and hp.UID_QERWorkingStep = s.UID_QERWorkingStep where  dbo.QBM_FGIJobCreatedExists(acs.XObjectKey\r\n) = 0  and dbo.ATT_FGIATTDecisionPossible(acs.UID_AttestationCase, hp.LevelNumber, hp.SubLevelNumber) = 1 group by acs.UID_AttestationCase , acs.GenProcID\r\n, acs.XObjectKey, s.AutomaticDecision , acs.DecisionLevel select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select\r\n @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @uid_AttestationCase = bu.UID1  , @GenProcID = bu.UID2  , @BasisObjectKey\r\n = bu.ObjectKey1  , @AbortMethod = bu.Ident1  , @DecisionLevel = bu.Int1  , @SubLevelNumberString = bu.Ident2 from @ElementBuffer_action bu where bu.ElementIndex\r\n = @ElementIndex select @SQLcmd = N'uid_AttestationCase = ''' + rtrim(@uid_AttestationCase) + N''' and DecisionLevel = ' + STR(@DecisionLevel)  if @AbortMethod\r\n in ('TRUE', 'FALSE') begin  exec QBM_PJobCreate_HOCallMethod @objecttype = 'AttestationCase' , @whereclause = @SQLcmd , @save = 1 , @MethodName = 'MakeDecision'\r\n , @GenProcID = @GenprocID , @ObjectKeysAffected = DEFAULT , @param1 = 'sa' , @Param2 = @AbortMethod , @Param3 = '#LDS#Automatic system approval: Decision due to timeout.|'\r\n  , @Param5 = @SubLevelNumberString , @Retries = 3 , @isToFreezeOnError = 1 , @BasisObjectKey = @BasisObjectKey , @checkForExisting = 1 , @WhereClauseAdditional\r\n = ' IsClosed = 0 '  end if @AbortMethod in ('ESCALATE')  and not exists (select top 1 1 from @ElementBuffer_action bu where bu.ElementIndex < @ElementIndex\r\n and bu.UID1 = @UID_AttestationCase ) begin  exec QBM_PJobCreate_HOCallMethod @objecttype = 'AttestationCase' , @whereclause = @SQLcmd , @save = 1 , @MethodName\r\n = 'ESCALATE' , @GenProcID = @GenprocID , @ObjectKeysAffected = DEFAULT , @param1 = 'sa' , @Param2 = '#LDS#Automatic system approval: Decision \"escalate\" due to timeout.|'\r\n , @Retries = 3 , @isToFreezeOnError = 1 , @BasisObjectKey = @BasisObjectKey , @checkForExisting = 1 , @WhereClauseAdditional = ' IsClosed = 0 '  end if\r\n @AbortMethod in ('Abort')  and not exists (select top 1 1 from @ElementBuffer_action bu where bu.ElementIndex < @ElementIndex and bu.UID1 = @UID_AttestationCase\r\n ) begin exec QBM_PJobCreate_HOCallMethod @objecttype = 'AttestationCase' , @whereclause = @SQLcmd , @save = 1 , @MethodName = 'Abort' , @GenProcID = @GenprocID\r\n , @ObjectKeysAffected = DEFAULT , @param1 ='#LDS#Automatic system approval: \"Abort\" due to timeout.|' , @Retries = 3 , @isToFreezeOnError = 1 , @BasisObjectKey\r\n = @BasisObjectKey , @checkForExisting = 1 , @WhereClauseAdditional = ' IsClosed = 0 '  end      select @ElementIndex += 1 end  insert into @AttestationCasesReminder\r\n(UID_AttestationCase, ObjectKeyBase, UID_AttestationPolicy , GenProcID, XObjectKey, UID_QERWorkingMethod, IsClosed, DecisionLevel, XDateInserted ) select\r\n distinct ac.UID_AttestationCase, ac.ObjectKeyBase, ac.UID_AttestationPolicy , cu.GenProcID, ac.XObjectKey, ac.UID_QERWorkingMethod, ac.IsClosed, ac.DecisionLevel\r\n, ac.XDateInserted from @DBQueueCurrent cu join AttestationCase ac with (readpast) on cu.UID_Parameter = ac.UID_AttestationCase join QERWorkingStep ws \r\non ws.UID_QERWorkingMethod = ac.UID_QERWorkingMethod and ac.DecisionLevel = ws.levelnumber cross apply dbo.ATT_FTATTDecisionPossible(ac.UID_AttestationCase\r\n, ws.LevelNumber, ws.SubLevelNumber) dp join AttestationHelper ah with (readpast) on ac.UID_AttestationCase = ah.UID_AttestationCase and ac.decisionlevel\r\n = ah.levelnumber join PWODecisionRule dr on ah.UID_PWODecisionRule = dr.UID_PWODecisionRule  where ac.IsClosed = 0 and dp.DecisionPossible = 1 and dr.UID_Task\r\n is null and ws.MinutesReminder > 0    insert into @Helper(UID_HelperKey, NextReminder, NextAutomaticDecision, UID_ElementKey, UID_PersonHead, UID_QERWorkingStep\r\n, Decision, LevelNumber, XObjectKey, UID_PWODecisionRule, RulerLevel) select h.UID_AttestationHelper, h.NextReminder, h.NextAutomaticDecision, ac.UID_AttestationCase\r\n, h.UID_PersonHead, h.UID_QERWorkingStep, h.Decision, h.LevelNumber, h.XObjectKey, h.UID_PWODecisionRule, h.RulerLevel from @AttestationCasesReminder ac\r\n join AttestationHelper h with (readpast) on ac.UID_AttestationCase = h.UID_AttestationCase  where not exists (select top 1 1 from @Helper e where e.UID_HelperKey\r\n = h.UID_AttestationHelper )    select top 1 @GenProcID = acs.GenProcID  from @AttestationCasesReminder acs  exec QBM_PSessionContextSet 'GenProcID', @GenProcID\r\n update @Helper set NextReminder = dbo.QER_FCVTimeToWorkTimePerson(getutcdate(), ws.MinutesReminder, h.UID_PersonHead     ) , IsToUpdateNextReminder = \r\n1 from @AttestationCasesReminder pwo   join @Helper h on h.UID_ElementKey = pwo.UID_AttestationCase join QERWorkingStep ws on h.UID_QERWorkingStep = ws.UID_QERWorkingStep\r\n join PWODecisionRule r on h.UID_PWODecisionRule = r.UID_PWODecisionRule where ws.MinutesReminder > 0  and isnull(h.NextReminder, @MaxDate2200) = @MaxDate2200\r\n and isnull(h.Decision, '') in ( '', 'Q') and r.UID_Task is null and h.levelnumber = pwo.DecisionLevel   exec QBM_PSessionContextSet 'GenProcID', @GenProcID\r\n update @Helper set NextReminder = @MaxDate2200 , IsToUpdateNextReminder = 1 from @Helper h  join @AttestationCasesReminder acs on h.UID_ElementKey = acs.UID_AttestationCase\r\n join QERWorkingStep ws on h.UID_QERWorkingStep = ws.UID_QERWorkingStep join AttestationCase pwo with (readpast) on h.UID_ElementKey = pwo.UID_AttestationCase\r\n join PWODecisionRule r on h.UID_PWODecisionRule = r.UID_PWODecisionRule where h.NextReminder < @MaxDate2200  and ( ws.MinutesReminder = 0 or isnull(h.Decision\r\n, '') not in ( '', 'Q') or h.levelnumber <> pwo.DecisionLevel or r.UID_Task > ' ' )  update @Helper set NextReminder = @MaxDate2200 , IsToUpdateNextReminder\r\n = 1 from @Helper h  join @AttestationCasesReminder pwo on h.UID_ElementKey = pwo.UID_AttestationCase where h.NextReminder < @MaxDate2200 and isnull(h.Decision\r\n, '') = '' and h.levelnumber = pwo.DecisionLevel and exists (select top 1 1 from @Helper hq where hq.UID_ElementKey = h.UID_ElementKey and hq.Decision \r\n= 'Q' and hq.LevelNumber = h.LevelNumber )  declare @ElementBuffer_remind QBM_YCursorBuffer insert into @ElementBuffer_remind (UID1  , UID2  , UID3  , \r\nInt1  , Bit1  , ObjectKey1  , Int2  , UID4  ) select h.UID_HelperKey , pwo.GenProcID, pe.UID_person, ws.MinutesReminder, sign(len(isnull(ws.UID_DialogRichMailReminder\r\n, ''))), h.XObjectKey , pwo.decisionlevel , pwo.UID_AttestationCase from @Helper h  join @AttestationCasesReminder pwo on h.UID_ElementKey = pwo.UID_AttestationCase\r\n and h.levelnumber = pwo.DecisionLevel join person pe on pe.UID_person = h.UID_PersonHead     join QERWorkingStep ws on h.UID_QERWorkingStep = ws.UID_QERWorkingStep\r\n where h.NextReminder < getutcdate()  and dbo.QBM_FGIJobCreatedExists(h.XObjectKey) = 0  and h.RulerLevel < 2 select @ElementCount = @@ROWCOUNT select \r\n@ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @UID_AttestationHelper\r\n = bu.UID1  , @GenProcID = bu.UID2  , @UID_PersonHead = bu.UID3  , @MinutesReminder = bu.Int1  , @MailExists = bu.Bit1  , @ObjectkeyForMail = bu.ObjectKey1\r\n  , @CurrentDecisionLevel = bu.Int2 , @UID_AttestationCase = bu.UID4  from @ElementBuffer_remind bu where bu.ElementIndex = @ElementIndex exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID exec QBM_PSessionContextSet 'XUser', @XUser update @Helper set NextReminder = dbo.QER_FCVTimeToWorkTimePerson(getutcdate(), @MinutesReminder\r\n, @UID_PersonHead) , IsToUpdateNextReminder = 1 where UID_HelperKey = @UID_AttestationHelper if @MailExists > 0 begin  select @WhereclauseForMail = N'XObjectKey = '''\r\n + @ObjectkeyForMail + N''''  + N' and exists (select top 1 1 from AttestationCase where UID_AttestationCase  = ''' + @UID_AttestationCase + ''' and decisionlevel = '\r\n + str(@CurrentDecisionLevel) + ' )'  exec QBM_PJobCreate_HOFireEvent_B 'AttestationHelper', @WhereclauseForMail, 'Remind', @GenProcID , @AdditionalObjectKeysAffected\r\n = DEFAULT , @checkForExisting = 1 , @BasisObjectKey = @ObjectkeyForMail end select @ElementIndex += 1 end  update AttestationHelper set NextReminder =\r\n case h.IsToUpdateNextReminder when 1 then h.NextReminder else t.NextReminder end , NextAutomaticDecision = case h.IsToUpdateNextAutomaticDec when 1 then\r\n h.NextAutomaticDecision else t.NextAutomaticDecision end from AttestationHelper t join @Helper h on t.UID_AttestationHelper = h.UID_HelperKey where h.IsToUpdateNextReminder\r\n = 1 or h.IsToUpdateNextAutomaticDec = 1   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: \r\nexec QBM_PSessionContextSet 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet 'XUser', @XUser_R return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_ZAttestationReset",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.487",
      "ModifyDate": "2026-04-14T23:20:42.107",
      "Definition": "    create   procedure ATT_ZAttestationReset (@SlotNumber int)  as begin  declare @UID_AttestationCase varchar(38) declare @UID_AttestationHistory\r\n varchar(38) declare @GenProcID varchar(38) declare @DebugLevel char(1) = 'W' declare @UID_QERWorkingMethod varchar(38) declare @UID_PWODecisionMethod \r\nvarchar(38) declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @ElementLast int declare @ElementCount int declare @ElementIndex int\r\n declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select\r\n UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end  declare @ElementBuffer_reset QBM_YCursorBuffer insert into @ElementBuffer_reset (UID1, UID2, UID3) select c.uid_Parameter\r\n, c.GenProcID, p.UID_PWODecisionMethod from @DBQueueCurrent c join AttestationCase ac on c.UID_Parameter = ac.UID_AttestationCase join AttestationPolicy\r\n p on ac.UID_AttestationPolicy = p.UID_AttestationPolicy select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select \r\n@ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @UID_AttestationCase = bu.UID1 , @GenProcID = bu.UID2 , @UID_PWODecisionMethod\r\n = bu.UID3 from @ElementBuffer_reset bu where bu.ElementIndex = @ElementIndex      exec QER_PGIQERWorkingMethod @UID_PWODecisionMethod, ''  , @UID_QERWorkingMethod\r\n output exec QBM_PSessionContextSet 'GenProcID', @GenProcID delete AttestationHelper where UID_AttestationCase = @UID_AttestationCase exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID update AttestationCase set decisionlevel = 0, DisplayPersonHead = null, DateHead = GetUTCDate(), ReasonHead = dbo.QBM_FCVStringTrimLDSPrefix\r\n('#LDS#Procedure deferred due to changed decision.|'), XDateUpdated = GetUTCDate(), XUserUpdated = 'DBScheduler' , UID_QERWorkingMethod = @UID_QERWorkingMethod\r\n where UID_AttestationCase = @UID_AttestationCase select @ElementIndex += 1 end    declare @ElementBuffer_history QBM_YCursorBuffer insert into @ElementBuffer_history\r\n (UID1, UID2, UID3) select p.uid_parameter, newid(), p.GenProcID from @DBQueueCurrent p select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY\r\n - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @UID_AttestationCase = bu.UID1 , @UID_AttestationHistory\r\n = bu.UID2 , @GenProcID = bu.UID3 from @ElementBuffer_history bu where bu.ElementIndex = @ElementIndex exec QBM_PSessionContextSet 'GenProcID', @GenProcID\r\n insert into AttestationHistory (DecisionType, IsDecisionBySystem, UID_AttestationHistory, UID_PersonHead, UID_AttestationCase, DisplayPersonHead, ReasonHead\r\n, DateHead, XDateInserted, XDateUpdated, XUserInserted, XUserUpdated, DecisionLevel, XTouched, XObjectKey) select 'Reset', 1, @UID_AttestationHistory, \r\nnull, @UID_AttestationCase, dbo.QBM_FCVStringTrimLDSPrefix('#LDS#Automatic system approval.|') , dbo.QBM_FCVStringTrimLDSPrefix('#LDS#Procedure deferred due to changed decision.|'\r\n), GetUTCDate(), GetUTCDate(), GetUTCDate(), 'sa', 'sa', 0, '', dbo.QBM_FCVElementToObjectKey1('AttestationHistory', 'UID_AttestationHistory', @UID_AttestationHistory\r\n) select @ElementIndex += 1 end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid\r\n, null, x.GenProcID from ( select uid_parameter as uid, p.GenProcID as GenProcID from @DBQueueCurrent p ) as x  exec QBM_PDBQueueInsert_Bulk 'ATT-K-AttestationHelper'\r\n, @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_ZAttestationRunDeleteOld",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.903",
      "ModifyDate": "2026-04-14T23:20:43",
      "Definition": "   create   procedure ATT_ZAttestationRunDeleteOld (@SlotNumberDummy int = 0 , @UID_Dummy1 varchar(38) = '' , @UID_Dummy2 varchar(38) = '' , @GenProcID\r\n varchar(38) = '' ) as begin SET XACT_ABORT OFF BEGIN TRY  set lock_timeout 1000  begin try delete AttestationRun  from AttestationRun r where not exists\r\n (select top 1 1 from AttestationCase ac with (nolock) where ac.UID_AttestationRun = r.UID_AttestationRun ) end try begin catch   end catch set lock_timeout\r\n -1 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_ZAttestationWzParmPreProp",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.8",
      "ModifyDate": "2026-04-14T23:20:42.843",
      "Definition": "    create   procedure ATT_ZAttestationWzParmPreProp (@SlotNumber int) as begin  declare @GenProcID varchar(38) declare @GenProcID_R varchar(38)\r\n = dbo.QBM_FGISessionContext('') declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter\r\n, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber\r\n if @@rowcount = 0 begin goto EndLabel end select @GenProcID = max(GenProcID) from @DBQueueCurrent where GenProcID > ' ' if isnull(@Genprocid, '') = ''\r\n begin select @GenProcID = newid() end declare @PrePropHelper QBM_YPrepropHelper insert into @PrePropHelper (uid_parameter , isDeactivatedPrior , IsDeactivated\r\n , GenProcID , PreProcessorCondition, IsDeactivatedOld) select x.uid_parameter, isnull(t.isDeactivatedByPreProcessor,0), isnull(t.isDeactivatedByPreProcessor\r\n,0), x.GenProcID, isnull(c.PreProcessorCondition,N''), c.isDeactivatedByPreProcessor from @DBQueueCurrent x join AttestationWizardParm c on x.uid_parameter\r\n = c.uid_AttestationWizardParm join AttestationObject t on c.UID_AttestationObject = t.UID_AttestationObject  update @PrePropHelper set IsDeactivated =\r\n dbo.QBM_FGIPrepropConditionDeactiv(h.PreProcessorCondition) from @PrePropHelper h where h.PreProcessorCondition > ' ' and h.IsDeactivated = 0      exec\r\n QBM_PSessionContextSet 'GenProcID', @GenProcID update AttestationWizardParm set IsDeactivatedByPreProcessor = x.isDeactivated, xdateupdated = GetUTCDate\r\n(), xuserupdated = 'DBScheduler'  from AttestationWizardParm r join @PrePropHelper x on r.UID_AttestationWizardParm = x.uid_parameter where r.IsDeactivatedByPreProcessor\r\n <> x.IsDeactivated END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_ZAttHelperFill_Delete",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:12.003",
      "ModifyDate": "2026-04-14T23:20:43.133",
      "Definition": "    create   procedure ATT_ZAttHelperFill_Delete ( @SlotNumberDummy int , @dummy1 varchar(38) , @Dummy2 varchar(38) , @GenProcIDDummy varchar(38\r\n) ) as begin BEGIN TRY      exec QER_PQERBufferRecalcDMDel 'A' END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT \r\nEND CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_ZAttHelperFill_Recalc",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:12.017",
      "ModifyDate": "2026-04-14T23:20:43.153",
      "Definition": "   create   procedure ATT_ZAttHelperFill_Recalc ( @SlotNumberDummy int , @dummy1 varchar(38) , @Dummy2 varchar(38) , @GenProcIDDummy varchar(38)\r\n ) as begin declare @DebugSwitch int = 0 declare @ElementLast int declare @ElementCount int declare @ElementIndex int declare @RulesAndFunctions QBM_YCursorBuffer\r\n declare @FunctionName varchar(30) declare @SQLCmd nvarchar(max) declare @UID_PWODecisionRule varchar(38) declare @GenProcID varchar(38) declare @AttTaskToUse\r\n varchar(38) = dbo.ATT_FGIPWOTaskToUse() BEGIN TRY if dbo.QBM_FGIConfigparmValue('QER\\Attestation') = '' begin goto endLabel end if @AttTaskToUse > ' '\r\n begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @RulesAndFunctions (UID1, Ident1, UID2) select UID_PWODecisionRule, dbo.QER_FCVRuleGUIDToFuncNameReclc\r\n(UID_PWODecisionRule), max(GenProcID) from QERBufferRecalcDecisionMaker with (readpast) where UsageArea = 'A' and ProcessState = 0 group by UID_PWODecisionRule\r\n, dbo.QER_FCVRuleGUIDToFuncNameReclc(UID_PWODecisionRule) select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select\r\n @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @FunctionName = p.Ident1 , @UID_PWODecisionRule = p.UID1 , @GenProcID\r\n = p.UID2 from @RulesAndFunctions p where p.ElementIndex = @ElementIndex update QERBufferRecalcDecisionMaker set ProcessState = 1 from QERBufferRecalcDecisionMaker\r\n with (readpast) where UID_PWODecisionRule = @UID_PWODecisionRule and ProcessState = 0  if exists (select top 1 1 from AttestationHelper where UID_PWODecisionRule\r\n = @UID_PWODecisionRule) begin  if exists (select top 1 1 from sys.objects o where o.name = @FunctionName and o.type in ('IF'  , 'TF'  ) ) begin select\r\n @SQLcmd = concat('\r\n\t\t\t\t\t\t\tselect x.uid, null,  x.GenProcID\r\n\t\t\t\t\t\t\tfrom (\t \r\n\t\t\t\t\t\t\t\t  select distinct ac.UID_AttestationCase as uid, ''', @GenProcID\r\n, ''' as GenProcID\r\n\t\t\t\t\t\t\t\t\tfrom pwodecisionrule r join QERWorkingStep ps on  ps.UID_PWODecisionRule = r.UID_PWODecisionRule\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tjoin AttestationCase a on ps.UID_QERWorkingMethod = a.UID_QERWorkingMethod\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tjoin dbo.'\r\n, @FunctionName, ' () ac on ac.UID_AttestationCase = a.UID_AttestationCase\r\n\t\t\t\t\t\t\t\t\twhere r.UID_PWODecisionRule = ''', @UID_PWODecisionRule, '''\r\n\t\t\t\t\t\t\t\t\t\tand r.UsageArea =''A''\r\n\t\t\t\t\t\t\t\t\t\tand r.UID_Task is null -- keine Systementscheidung\r\n\t\t\t\t\t\t\t\t\t-- oder es gibt potentiell was zu löschen\r\n\t\t\t\t\t\t\t\t\tor exists ( select top 1 1\r\n\t\t\t\t\t\t\t\t\t\t\t\tfrom AttestationHelper h\r\n\t\t\t\t\t\t\t\t\t\t\t\twhere h.UID_AttestationCase = ac.UID_AttestationCase\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\r\n\t\t\t\t\t\t\t\t) as x\r\n\t\t\t\t\t\t\t-- 33082 hier haben wir uns wohl die Karten gelegt durch das Abschalten des CheckForExisting im QBM_PDBQueueInsert_Bulk\r\n\t\t\t\t\t\t\twhere not exists (select top 1 1\r\n\t\t\t\t\t\t\t\t\t\t\t\tfrom DialogDBQueue q with (nolock)\r\n\t\t\t\t\t\t\t\t\t\t\t\twhere q.UID_Task = '''\r\n, @AttTaskToUse, '''\r\n\t\t\t\t\t\t\t\t\t\t\t\tand q.Object = x.uid\r\n\t\t\t\t\t\t\t\t\t\t\t\tand q.Generation >= 0\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t') delete @DBQueueElements_01 insert \r\ninto @DBQueueElements_01 (object, subobject, genprocid) exec sp_executesql @SQLcmd exec QBM_PDBQueueInsert_Bulk @AttTaskToUse, @DBQueueElements_01 end \r\nelse  begin delete @DBQueueElements_01 insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select distinct\r\n ac.UID_AttestationCase as uid, @GenProcID as GenProcID from pwodecisionrule r join QERWorkingStep ps on ps.UID_PWODecisionRule = r.UID_PWODecisionRule\r\n join AttestationCase ac on ps.UID_QERWorkingMethod = ac.UID_QERWorkingMethod where r.UID_PWODecisionRule = @UID_PWODecisionRule and r.UsageArea ='A' and\r\n r.UID_Task is null   or exists ( select top 1 1 from AttestationHelper h where h.UID_AttestationCase = ac.UID_AttestationCase ) ) as x  where not exists\r\n (select top 1 1 from DialogDBQueue q with (nolock) where q.UID_Task = @AttTaskToUse and q.Object = x.uid and q.Generation >= 0 ) exec QBM_PDBQueueInsert_Bulk\r\n @AttTaskToUse, @DBQueueElements_01 end  end  update QERBufferRecalcDecisionMaker set ProcessState = 2 where UID_PWODecisionRule = @UID_PWODecisionRule\r\n and ProcessState = 1 select @ElementIndex += 1 end  end else begin update QERBufferRecalcDecisionMaker set ProcessState = 2 where UsageArea = 'A' and \r\nProcessState = 0 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_ZAttHelperFillMakeProc",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.997",
      "ModifyDate": "2026-04-14T23:20:43.123",
      "Definition": "   create   procedure ATT_ZAttHelperFillMakeProc ( @SlotNumberDummy int , @UID_PWODecisionRule varchar(38) , @Dummy varchar(38) , @GenProcID varchar\r\n(38) ) as begin  declare @UsageArea char(1) declare @FunctionName varchar(30) declare @Komplett nvarchar(max) declare @ErrorMessage nvarchar(4000) declare\r\n @ErrorSeverity int declare @ErrorState int declare @DebugSwitch int = 0 declare @DebugLevel char(1) = 'W' declare @Body nvarchar(max) = N'' declare @OptionForceOrder\r\n nvarchar(1000) = 'option (force order)' declare @Muster nvarchar(max) declare @Statements QBM_YCursorbuffer declare @CountReferencedTables int = 0 declare\r\n @LimitOfTableReferences int = 800 declare @MakeInlineFunction bit = 1 declare @OpenParenthesis nvarchar(max) declare @MyTempElementName varchar(30) = \r\nleft(concat('TST_FTemporaryElement', reverse(dbo.QBM_FGICodeName('V', NEWID()) )), 30) SET XACT_ABORT OFF BEGIN TRY select @FunctionName = dbo.QER_FCVRuleGUIDToFuncNameReclc\r\n(@UID_PWODecisionRule) select top 1 @UsageArea = r.UsageArea from PWODecisionRule r where r.UID_PWODecisionRule = @UID_PWODecisionRule if @UsageArea is\r\n null begin if @DebugSwitch > 0 begin print 'dann gibt es diese Regel nicht (mehr), gedropt haben wir, können wir Schluß machen' end goto DropOnly end \r\nif @UsageArea <> 'A' begin goto endLabel end insert into @Statements(ContentFull, UID1) select d.SQLQueryObjectsToRecalc, d.UID_PWODecisionRuleRulerDetect\r\n from PWODecisionRuleRulerDetect d where d.UID_PWODecisionRule = @UID_PWODecisionRule and d.SQLQueryObjectsToRecalc > ' ' if @@rowcount > 0 begin select\r\n @OpenParenthesis = concat('create or alter function dbo.',@MyTempElementName , '  (@ObjectKeys QBM_YParameterList readonly)\r\n\treturns table \r\n\tas\r\n\treturn (\r\n\r\n\t'\r\n ) declare @CloseParenthesis nvarchar(max) = '\r\n\t)\r\n\t' exec @CountReferencedTables = QBM_PGICountTablesUsedByCode @Statements , @CodeName = @MyTempElementName\r\n , @CodeType = 'function' , @OpenParenthesis = @OpenParenthesis , @CloseParenthesis = '\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t' if @CountReferencedTables\r\n > @LimitOfTableReferences begin select @MakeInlineFunction = 0 end if @DebugSwitch > 0 begin print '@CountReferencedTables' + str(@CountReferencedTables\r\n) end end  exec QBM_PFunctionDrop @MyTempElementName if @MakeInlineFunction = 1  begin select @muster = 'create function dbo.%FunctionName% ()\r\n\r\n\t\t-- definition for rule \t%UID_PWODecisionRule% , recalculation of helpertable\t\t\t\t\t\r\n\r\n\t\treturns @erg table (UID_AttestationCase varchar(38) collate database_default\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\r\n\t\tas\r\n\t\tbegin\r\n \r\n\t\t declare @ObjectKeys QBM_YParameterList\r\n\r\n\t\t\t   insert into @ObjectKeys(Parameter1) \r\n\t\t\t   select distinct ObjectKey \r\n\t\t\t\t\t from QERBufferRecalcDecisionMaker a with (readpast)\r\n\t\t\t\t\t where a.UID_PWODecisionRule = ''%UID_PWODecisionRule%''\r\n\t\t\t\t\t and a.ProcessState = 1\r\n\r\n\t\t\t   insert into @erg(UID_AttestationCase)\r\n\t\t\t   select z.UID_AttestationCase as UID_AttestationCase\r\n\t\t\t   from (\r\n\r\n\t\t%body% \r\n\r\n\t\t\t\t\t ) as z \r\n\t\t\t   group by z.UID_AttestationCase\r\n\r\n\t\t\t   #option#\r\n\r\n\t\treturn\r\n\t\tend\r\n\r\n\t\t'\r\n select @Body = string_agg(concat( 'select x.UID_AttestationCase' , '\r\n\t\t\tfrom (\r\n\t\t\t\t -- code from PWODecisionRuleRulerDetect: ' , d.UID_PWODecisionRuleRulerDetect\r\n , '\r\n\t\t\t' , dbo.QBM_FCVStringToIndent(d.SQLQueryObjectsToRecalc, 3) , '\r\n\t\t\t\t -- / code from PWODecisionRuleRulerDetect\r\n\t\t\t\t) as x\t\r\n\t\t\t\t' )  ,  '\r\n\t\t\tunion all\r\n\t\t'\r\n )  from PWODecisionRuleRulerDetect d where d.UID_PWODecisionRule = @UID_PWODecisionRule and d.SQLQueryObjectsToRecalc > ' ' end else begin  select @muster\r\n = 'create function dbo.%FunctionName% ()\r\n\r\n\t\t-- definition for rule \t%UID_PWODecisionRule% , recalculation of helpertable\t\t\t\t\t\r\n\r\n\t\treturns @erg table (UID_AttestationCase varchar(38) collate database_default\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\r\n\t\tas\r\n\t\tbegin\r\n \r\n\t\t declare @Puffer QBM_YParameterList\r\n\t\t declare @ObjectKeys QBM_YParameterList\r\n\r\n\t\t\t   insert into @ObjectKeys(Parameter1) \r\n\t\t\t   select distinct ObjectKey \r\n\t\t\t\t\t from QERBufferRecalcDecisionMaker a with (readpast)\r\n\t\t\t\t\t where a.UID_PWODecisionRule = ''%UID_PWODecisionRule%''\r\n\t\t\t\t\t and a.ProcessState = 1\r\n\r\n\t\t\t%body% \r\n\r\n\t\t\t   insert into @erg(UID_AttestationCase)\r\n\t\t\t   select z.UID_AttestationCase as UID_AttestationCase\r\n\t\t\t   from (\r\n\r\n\t\t\t\t\tselect p.Parameter1 as UID_AttestationCase\r\n\t\t\t\t\t\tfrom @Puffer p\r\n\r\n\t\t\t\t\t ) as z \r\n\t\t\t   group by z.UID_AttestationCase\r\n\r\n\t\t\t   #option#\r\n\r\n\t\treturn\r\n\t\tend\r\n\r\n\t\t'\r\n select @Body = string_agg(concat( 'insert into @Puffer (Parameter1)\r\n\t\t\t -- code from PWODecisionRuleRulerDetect: ' , d.UID_PWODecisionRuleRulerDetect\r\n , '\r\n\t\t' , dbo.QBM_FCVStringToIndent(d.SQLQueryObjectsToRecalc, 3) , '\r\n\r\n\t\t\t#option#\r\n\r\n\t\t\t -- / code from PWODecisionRuleRulerDetect\r\n\t\t\t' )  ,  '\r\n\t'\r\n )  from PWODecisionRuleRulerDetect d where d.UID_PWODecisionRule = @UID_PWODecisionRule and d.SQLQueryObjectsToRecalc > ' ' end if @DebugSwitch > 0 begin\r\n print '#####################' select @Body print '#####################' end if isnull(@Body, '') = '' begin    goto DropOnly end  select @Komplett = \r\nreplace(replace(replace(replace(replace(@Muster , '%FunctionName%', @FunctionName) , '%parameters%', '@ObjectKey varchar(138)') , '%Body%', dbo.qbm_fcvstringtoindent\r\n( @Body, 3)) , '%UID_PWODecisionRule%', @UID_PWODecisionRule) , '#option#',  case when @Body like '%' + @OptionForceOrder + '%' then @OptionForceOrder \r\nelse '' end) if @DebugSwitch > 0 begin print @komplett end exec QBM_PSQLCreate @FunctionName, 'F', @komplett, @UnComment = 0, @unformat = 0 if @DebugSwitch\r\n = 2 begin begin try select @komplett = 'if exists (select top 1 1 from  dbo.' + @FunctionName + '(''deadbeef-dead-beef-dead-beefdeadbeef'', ''deadbeef-dead-beef-dead-beefdeadbeef'') ) print ''bla'' '\r\n exec sp_executeSQL @komplett select @ErrorMessage = concat('OK ' , 'proc: ' , OBJECT_NAME(@@PROCID) , ' Obj: ' , @UID_PWODecisionRule ) exec QBM_PJournal\r\n @ErrorMessage, @@PROCID, 'D', @DebugLevel end try begin catch exec QBM_PSessionErrorAdd default exec QBM_PJournal 'SessionError', @@PROCID, 'E', @DebugLevel\r\n end catch end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return DropOnly:  exec QBM_PFunctionDrop\r\n @FunctionName return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_ZHelperAttestationPolicy",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.84",
      "ModifyDate": "2026-04-14T23:20:42.91",
      "Definition": "create   procedure ATT_ZHelperAttestationPolicy ( @SlotNumber int , @uid_AttestationPolicy varchar(38) , @dummy1 varchar(38) , @GenProcID varchar\r\n(38) ) AS begin declare @lauf int SET XACT_ABORT OFF BEGIN TRY if not exists (select top 1 1 from AttestationPolicy p where p.UID_AttestationPolicy = @uid_AttestationPolicy\r\n and p.IsInActive = 1 ) begin goto ende end  select @lauf = 1 while @lauf > 0 begin exec @lauf = ATT_P600B8EB3A312074D1A10A4A_ @uid_AttestationPolicy  \r\n            end   exec ATT_PAttestationCaseDeleteOld @uid_AttestationPolicy  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar\r\n(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH  ende:  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_ZScheduleStart",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:11.85",
      "ModifyDate": "2026-04-14T23:20:42.927",
      "Definition": "  create   procedure ATT_ZScheduleStart ( @SlotNumber int ) AS begin declare @GenProcID varchar(38) declare @PoliciesToHandle QBM_YCursorbuffer \r\n  declare @ObjectKeyPolicyOrGroup varchar(138) declare @Tablename varchar(30) declare @ElementCount int declare @ElementIndex int declare @WhereClause \r\nnvarchar(max) declare @ObjectKeysAffected QBM_YParameterList declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end insert into @PoliciesToHandle(ObjectKey1, UID1, Ident1) select ap.XObjectKey\r\n, cu.GenProcID, 'AttestationPolicy' as TableName from AttestationPolicy ap join @DBQueueCurrent cu on cu.UID_Parameter = ap.UID_DialogSchedule where ap.IsInActive\r\n = 0  union all select g.XObjectKey, cu.GenProcID, 'AttestationPolicyGroup' as TableName from AttestationPolicyGroup g join @DBQueueCurrent cu on cu.UID_Parameter\r\n = g.UID_DialogSchedule join AttestationPolicy p on g.UID_AttestationPolicyGroup = p.UID_AttestationPolicyGroup where g.IsInActive = 0 select @ElementCount\r\n = @@ROWCOUNT select @ElementIndex = 1 if @ElementCount = 0 begin goto EndLabel end while @ElementIndex <= @ElementCount begin select top 1 @ObjectKeyPolicyOrGroup\r\n = bu.ObjectKey1 , @GenProcID = bu.UID1 , @Tablename = bu.Ident1 , @WhereClause = concat('XObjectKey in (''' , bu.ObjectKey1 , ''')' ) from @PoliciesToHandle\r\n bu where bu.ElementIndex = @ElementIndex delete  @ObjectKeysAffected  insert into @ObjectKeysAffected(Parameter1) select @ObjectKeyPolicyOrGroup exec \r\nQBM_PJobCreate_HOCallMethod @objecttype = @Tablename  , @WhereClause = @WhereClause , @save = 1 , @MethodName = 'PrepareAttestations' , @GenProcID = @GenprocID\r\n , @isToFreezeOnError = 1 , @Retries = 3 , @BasisObjectKey = @ObjectKeyPolicyOrGroup , @checkForExisting = 1 , @ObjectKeysAffected = @ObjectKeysAffected\r\n  , @SingleTransaction = 0 select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n  endLabel: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CCC_FindSQLStmt",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T14:19:50.727",
      "ModifyDate": "2026-04-14T14:19:50.727",
      "Definition": "\r\n\r\nCreate PROCEDURE [dbo].[CCC_FindSQLStmt] @Searchstring NVARCHAR(255)\r\nAS\r\nBEGIN\r\n       SET NOCOUNT ON;\r\n\r\n       DECLARE @tablename VARCHAR(30);\r\n       DECLARE @columnname VARCHAR(30);\r\n       DECLARE @sqlquery NVARCHAR(max);\r\n\r\n       DECLARE sqlcolumns CURSOR\r\n       FOR\r\n       SELECT dt.TableName\r\n              ,dc.ColumnName\r\n       FROM DialogColumn dc\r\n       JOIN DialogTable dt ON dc.UID_DialogTable = dt.UID_DialogTable\r\n       WHERE dc.SyntaxType LIKE 'SQL%';\r\n\r\n       OPEN sqlcolumns;\r\n\r\n       FETCH NEXT\r\n       FROM sqlcolumns\r\n       INTO @tablename\r\n              ,@columnname;\r\n\r\n       WHILE @@FETCH_STATUS = 0\r\n       BEGIN\r\n              PRINT @tablename + ': ' + @columnname;\r\n\r\n              SET @sqlquery = N'SELECT * FROM ' + @tablename + ' WHERE ' + @columnname + ' like ''%' + @Searchstring + '%''';\r\n\r\n              EXEC sp_executesql @sqlquery;\r\n\r\n              FETCH NEXT\r\n              FROM sqlcolumns\r\n              INTO @tablename\r\n                     ,@columnname;\r\n       END;\r\n\r\n       CLOSE sqlcolumns;\r\n\r\n       DEALLOCATE sqlcolumns;\r\n\r\n       SELECT TABLE_NAME\r\n              ,VIEW_DEFINITION\r\n              ,*\r\n       FROM INFORMATION_SCHEMA.VIEWS\r\n       WHERE VIEW_DEFINITION LIKE '%' + @Searchstring + '%'\r\n\r\n       SELECT ROUTINE_TYPE\r\n              ,SPECIFIC_NAME\r\n              ,ROUTINE_DEFINITION\r\n              ,*\r\n       FROM INFORMATION_SCHEMA.ROUTINES\r\n       WHERE ROUTINE_TYPE = 'PROCEDURE'\r\n              AND ROUTINE_DEFINITION LIKE '%' + @Searchstring + '%'\r\n\r\n       SELECT ROUTINE_TYPE\r\n              ,SPECIFIC_NAME\r\n              ,ROUTINE_DEFINITION\r\n              ,*\r\n       FROM INFORMATION_SCHEMA.ROUTINES\r\n       WHERE ROUTINE_TYPE = 'FUNCTION'\r\n              AND ROUTINE_DEFINITION LIKE '%' + @Searchstring + '%'\r\n\r\n       SELECT ST.name AS Tablename\r\n              ,TR.type_desc\r\n              ,TR.Name AS Triggername\r\n              ,SC.TEXT\r\n              ,TR.*\r\n       FROM sys.triggers TR\r\n       JOIN sys.syscomments SC ON TR.object_id = SC.id\r\n       JOIN sys.tables ST ON TR.parent_id = ST.object_id\r\n       WHERE SC.TEXT LIKE '%' + @Searchstring + '%'\r\nEND\r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CCC_VBScriptFind",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T14:19:32.38",
      "ModifyDate": "2026-04-14T14:19:32.38",
      "Definition": "\r\nCREATE procedure [dbo].[CCC_VBScriptFind] (@vOld nvarchar(255)) as\r\nbegin\r\n\r\n set nocount on\r\n\r\n declare @old nvarchar(255)\r\n declare @oldvgl nvarchar(255)\r\nBEGIN TRY\r\n\r\n\r\n select @old = replace (@vold, N'''', N'''''')\r\n select @oldvgl = replace(@old, N'[', N'[[]')\r\n\r\n declare @cmdMuster  nvarchar(max)\r\n select @cmdMuster = N'select * from  %TableName%  where %ColumnName% like N''%%oldvgl%%'''\r\n \r\n declare @SQLcmd nvarchar(max)\r\n\r\n declare @tablename nvarchar(64)\r\n declare @columnname nvarchar(64)\r\n \r\n DECLARE schr_VBNetCode CURSOR LOCAL FORWARD_ONLY FAST_FORWARD READ_ONLY FOR \r\n    select t.TableName, c.ColumnName\r\n from Dialogcolumn c\r\n join DialogTable t on c.UID_DialogTable = t.UID_DialogTable\r\n where SyntaxType like N'VB.%'\r\n  \r\n  OPEN schr_VBNetCode\r\n  FETCH NEXT FROM schr_VBNetCode into @tablename, @columnname \r\n  WHILE (@@fetch_status <> -1)\r\n  BEGIN\r\n print @tablename + N', ' + @columnname\r\n\r\n select @SQLcmd = replace(@cmdMuster, N'%TableName%', @tablename) \r\n    select @SQLcmd = replace(@SQLcmd, N'%ColumnName%', @ColumnName) \r\n    select @SQLcmd = replace(@SQLcmd, N'%old%', @old) \r\n    select @SQLcmd = replace(@SQLcmd, N'%oldvgl%', @oldvgl) \r\n\r\n     -- exec QBM_PExecuteSQL @SQLcmd, @@procid\r\n     exec QBM_PExecuteSQLWithRetry_LLP @SQLcmd\r\n\r\n     FETCH NEXT FROM schr_VBNetCode INTO @tablename, @columnname \r\n  END\r\n close schr_VBNetCode\r\n deallocate schr_VBNetCode\r\n\r\nEND TRY\r\nBEGIN CATCH\r\n declare @ErrorMessage nvarchar(4000)\r\n    declare @ErrorSeverity int\r\n    declare @ErrorState int\r\n\r\n select @ErrorSeverity = ERROR_SEVERITY()\r\n    select @ErrorState = 1\r\n    select @ErrorMessage = dbo.QBM_FGIErrorMessage_Code(Substring(@SQLcmd,1,2000))\r\n\r\n exec QBM_PCursorDrop N'schr_VBNetCode'\r\n exec QBM_PRollbackIfAllowed\r\n\r\n RAISERROR (@ErrorMessage, @ErrorSeverity, @ErrorState)  WITH NOWAIT\r\nEND CATCH\r\n\r\nende:\r\n set nocount off\r\n return                                                 \r\n\r\n end\r\n\r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_PAfterMigrationTasks",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:18.073",
      "ModifyDate": "2026-04-14T23:20:45.89",
      "Definition": "  create   procedure CPL_PAfterMigrationTasks (@GenProcID varchar(38) ) as begin declare @MyModule varchar(3) = 'CPL' SET XACT_ABORT OFF BEGIN TRY\r\n               if exists (select top 1 1 from QBMModuleDef d where d.ModuleName = @MyModule and d.CheckSumForDelta = 0 ) begin  declare @DBQueueElements_02\r\n QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.UID_Element, null, @GenProcID from ( select y.UID_ComplianceRule\r\n as UID_Element from ComplianceRule y where y.UID_ComplianceRule like '___-%'  and y.XUserUpdated like 'QBM_PBufferT_Process%' and y.XDateUpdated > GETUTCDATE\r\n() -1 union select y.UID_ComplianceRule as UID_Element from ComplianceSubRule y where y.UID_ComplianceSubRule like '___-%'  and y.XUserUpdated like 'QBM_PBufferT_Process%'\r\n and y.XDateUpdated > GETUTCDATE() -1 ) as x exec QBM_PDBQueueInsert_Bulk 'CPL-K-ComplianceSubRuleFillPerson', @DBQueueElements_02 exec QBM_PDBQueueInsert_Bulk\r\n 'CPL-K-ComplianceCheckForRule', @DBQueueElements_02 end else begin   if dbo.QBM_FGIDBOwner() not in ( @MyModule ) begin exec QBM_PDBQueueInsert_Single\r\n 'QBM-K-CommonReCalculate', 'CPL-K-ComplianceSubRuleFillObject', '', @GenProcID exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate', 'CPL-K-ComplianceSubRuleFillPerson'\r\n, '', @GenProcID exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate', 'CPL-K-ComplianceCheckForRule', '', @GenProcID end  end END TRY BEGIN CATCH \r\nexec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_PComplianceCheckMakeProc_D",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:17.857",
      "ModifyDate": "2026-04-14T23:20:45.58",
      "Definition": "           create   procedure CPL_PComplianceCheckMakeProc_D  (@uid_ComplianceRule varchar(38)) as begin declare @SQLcmd nvarchar(max) declare @Procname\r\n nvarchar(1000) SET XACT_ABORT OFF BEGIN TRY select @procname = dbo.CPL_FCVRuleGuidToProcName(@uid_complianceRule, 'Rule') exec QBM_PProcedureDrop @procname\r\n select @procname = dbo.CPL_FCVRuleGuidToProcName(@uid_complianceRule, 'Person') exec QBM_PProcedureDrop @procname select @procname = dbo.CPL_FCVRuleGuidToProcName\r\n(@uid_complianceRule, 'ITShopOrder') exec QBM_PProcedureDrop @procname END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000\r\n) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_PComplianceCheckMakeProc_h",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:17.867",
      "ModifyDate": "2026-04-14T23:20:45.593",
      "Definition": "   create   procedure CPL_PComplianceCheckMakeProc_h  (@uid_ComplianceRule varchar(38)) as begin declare @whereClause nvarchar(max) declare @UID_NonCompliance\r\n varchar(38) declare @fehler int declare @SNM_ComplianceCheck_PWO nvarchar(64) declare @newString nvarchar(16) declare @GranString nvarchar(16) declare\r\n @Ident_ComplianceRule nvarchar(64) declare @isToGrantEver bit declare @Procname nvarchar(1000) declare @IsCrossPersonCheck bit declare @IsPersonStoreInverted\r\n bit declare @IsSimpleMode bit declare @SimpleMasterFilter varchar(32) = dbo.QBM_FCVBinaryToString(convert(varbinary, dbo.QER_FGIBitPatternInheritInfo(\r\n'master', 1)) , 0)  declare @SQLcmdKomplett nvarchar(max) declare @parameters nvarchar(1000) = N'@SlotNumber int' declare @DebugSwitch int = 0 declare \r\n@UncommentCode bit = 1  declare @DebugLevel char(1) = 'W' declare @Declarations nvarchar(max) = N'\r\n\tdeclare @GenProcID varchar(38)\r\n\tdeclare @Sourcedata QBM_YDataForDelta\r\n\t\t, @CountDeltaQantity int \r\n\t\t, @CountDeltaOrigin int \r\n\tdeclare @DBQueueCurrent QBM_YDBQueueCurrent\r\n\r\n\tinsert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID)\r\n\t\t\t\t\t\tselect UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n\t\t\t\t\tfrom QBMDBQueueCurrent cu with (readpast)\r\n\t\t\t\t\twhere cu.SlotNumber = @SlotNumber\r\n\t\tif @@rowcount = 0\r\n\t\t begin\r\n\t\t\tgoto EndLabel\r\n\t\t end\r\n\t\r\n'\r\n declare @contentDN1 nvarchar(max) = N'\r\n\r\n\texec QBM_PDBQueueCalculateDelta @SourceData,\r\n\t\t\t\t\t\t\t\t\t @DeltaQuantity = 0,\r\n\t\t\t\t\t\t\t\t@DeltaDelete = 0,\r\n\t\t\t\t\t\t\t\t@DeltaInsert = 1,\r\n\t\t\t\t\t\t\t\t@DeltaOrigin = 1, \r\n\t\t\t\t\t\t\t\t@CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output\r\n\t\t\t\t\t\t\t\t, @UseIsInEffect = 0\r\n\t\t\t\t\t\t\t\t, @SlotNumber = @SlotNumber \r\n\t\t\t\t\t\t\t, @DBQueueCurrentExtern = @DBQueueCurrent\r\n\r\n\tselect @ret = 0\r\n\tselect top 1 @GenProcID = cu.GenProcID\r\n\t\tfrom @DBQueueCurrent cu \r\n\r\n\tif isnull(@GenProcID, '''') = ''''\r\n\t begin\r\n\t\tselect @GenProcID = newid() \r\n\t end\r\n\tif @CountDeltaOrigin > 0 \r\n\t begin\r\n\t\tupdate #QBMDeltaOrigin\r\n\t\t\tset GenProcID = @GenProcID \r\n\t\t\twhere GenProcID is null\r\n\t\texec QBM_PMNTableOriginUpdate ''PersonInBaseTree'', ''UID_Org'', ''UID_Person''\r\n\r\n\t end\r\n\r\n\t if @CountDeltaQantity > 0\r\n\t  begin\r\n\t\tupdate #QBMDeltaInsert\r\n\t\t\t set GenProcID = @GenProcID  \r\n\t\twhere GenProcID is null\r\n\t\texec QER_PMNTableAddViewProperties ''PersonInBaseTree''\r\n\t\texec QBM_PMNTableInsert ''PersonInBaseTree'', ''UID_Org'', ''UID_Person'', @TargetIsView = 1\r\n\r\n\t end \r\n\r\n'\r\n declare @Content1 nvarchar(max) declare @Content2 nvarchar(max) declare @StringPatternDynmamic varchar(16) declare @StringPatternDynmamicInv varchar(16\r\n) declare @StringPatternDelay varchar(16) declare @StringPatternDelayInv varchar(16) SET XACT_ABORT OFF BEGIN TRY select @StringPatternDynmamic = dbo.QBM_FCVBinaryToString\r\n( CONVERT(varbinary, dbo.QBM_FGIBitPatternXOrigin('|Dynamic|',0)), 0) select @StringPatternDynmamicInv = dbo.QBM_FCVBinaryToString( CONVERT(varbinary, \r\ndbo.QBM_FGIBitPatternXOrigin('|Dynamic|',1)), 0) select @StringPatternDelay = dbo.QBM_FCVBinaryToString( CONVERT(varbinary, dbo.QBM_FGIBitPatternXMarkedForDel\r\n('|Delay|',0)), 0) select @StringPatternDelayInv = dbo.QBM_FCVBinaryToString( CONVERT(varbinary, dbo.QBM_FGIBitPatternXMarkedForDel('|Delay|',1)), 0) select\r\n @whereClause = whereclause, @UID_NonCompliance = isnull(cr.UID_NonCompliance,''), @SNM_ComplianceCheck_PWO = isnull(cr.DetectRuleTypeForPWO, ''), @Ident_ComplianceRule\r\n = replace(isnull(cr.Ident_ComplianceRule, N''), N'''', N'''''') , @isToGrantEver = isToGrantEver , @IsCrossPersonCheck = cr.IsCrossPersonCheck , @IsPersonStoreInverted\r\n = cr.IsPersonStoreInverted , @IsSimpleMode = cr.IsSimpleMode from ComplianceRule cr where cr.UID_ComplianceRule = @uid_complianceRule if rtrim(isnull(@whereClause\r\n, N'') ) = N'' begin select @whereClause = N'1=1' end if @IsSimpleMode = 1 and @IsCrossPersonCheck = 0 begin select @whereClause = replace(@whereclause\r\n , 'as cm on cm.ObjectKeyElement = pho.ObjectKey' , concat('as cm on cm.ObjectKeyElement = pho.ObjectKey and pho.InheritInfo & ', @SimpleMasterFilter ,\r\n ' > 0') ) end  if @SNM_ComplianceCheck_PWO = '' begin select @SNM_ComplianceCheck_PWO = 'NewRule' end  if @isToGrantEver = 1 begin select @SNM_ComplianceCheck_PWO\r\n = 'AnyRule' end   select @content1 = concat('\r\n\r\ninsert into @SourceData(\r\n\t\t\t\t\t\tIsUpcommingContent, XOriginAfter\r\n\t\t\t\t\t\t, Element, AssignedElement, XOriginBefore\r\n\t\t\t\t\t\t)\r\n\r\n\tselect 0, 0\r\n\t\t\t, '''\r\n, @UID_NonCompliance, ''', uid_Person , Xorigin\r\n\t\tfrom PersonInBaseTree\r\n\t\t\twhere uid_org = ''', @UID_NonCompliance, '''\r\n\t\t\tand XOrigin > 0\r\n\r\n-- was nicht dbo.QBM_F G I BitPatternXOrigin(\"|Dynamic|\", 0) ist, bleibt erhalten\r\ninsert into @SourceData(\r\n\t\t\t\t\t\tIsUpcommingContent, XOriginAfter\r\n\t\t\t\t\t\t, Element, AssignedElement, XOriginBefore\r\n\t\t\t\t\t\t)\r\n\r\n\tselect 1, Xorigin & '\r\n , @StringPatternDynmamicInv , '\r\n\t\t\t, ''', @UID_NonCompliance, ''', uid_Person , 0\r\n\t\tfrom PersonInBaseTree\r\n\t\t\twhere uid_org = ''', @UID_NonCompliance\r\n, '''\r\n\t\t\t and Xorigin & ' , @StringPatternDynmamicInv , ' > 0\r\n\r\ninsert into @SourceData(\r\n\t\t\t\t\t\tIsUpcommingContent, XOriginBefore, XOriginAfter\r\n\t\t\t\t\t\t, Element, AssignedElement\r\n\t\t\t\t\t\t)\r\n\tselect 1, 0,  '\r\n , @StringPatternDynmamic , ' \r\n\t\t\t, ''', @UID_NonCompliance, ''' , uid_Person \r\nfrom Person \r\n\twhere (\r\n-- Start Usercondition\r\n' )  select @content2 \r\n= concat('\r\n\r\n-- End UserCondition\r\n)\r\n', ' and ', case @IsPersonStoreInverted when 1 then 'not' else '' end , ' exists (select top 1 1\r\n\t\t\t\tfrom ComplianceSubRulePerson csp\r\n\t\t\t\twhere csp.UID_Person = Person.UID_Person \r\n\t\t\t\t and csp.UID_ComplianceRule = '''\r\n, @uid_ComplianceRule, '''\r\n\t\t\t\t)\r\n\t\t\t\t\t\t\r\n' )  select @procname = dbo.CPL_FCVRuleGuidToProcName(@uid_complianceRule, 'Rule') select @SQLcmdKomplett = \r\ndbo.QBM_FSQProcedureDef(@Procname, '@Slotnumber int', @Declarations + @content1 + @whereclause + @content2 + @contentDN1 , N'Compliance rule (all person): '\r\n + @Ident_ComplianceRule + '(' + @uid_ComplianceRule + ')' ) if @DebugSwitch > 0 begin print @SQLcmdKomplett end exec QBM_PSQLCreate @Procname, 'P', @SQLcmdKomplett\r\n, @UnComment = @UncommentCode select @content1 = concat('\r\n\r\ninsert into @SourceData(\r\n\t\t\t\t\t\tIsUpcommingContent, XOriginAfter\r\n\t\t\t\t\t\t, Element, AssignedElement, XOriginBefore\r\n\t\t\t\t\t\t)\r\n\r\n\tselect 0, 0\r\n\t\t\t, '''\r\n, @UID_NonCompliance , ''', uid_Person , Xorigin\r\n\t\tfrom PersonInBaseTree join @DBQueueCurrent xxpara on PersonInBaseTree.uid_person = xxpara.uid_parameter\r\n\t\t\t\t\t\t\t\t\t\t\tand PersonInBaseTree.XOrigin > 0\r\n\t\t\twhere uid_org = '''\r\n, @UID_NonCompliance , '''\r\n\r\n-- was nicht dbo.QBM_F G I BitPatternXOrigin(\"|Dynamic|\", 0) ist, bleibt erhalten\r\ninsert into @SourceData(\r\n\t\t\t\t\t\tIsUpcommingContent, XOriginAfter\r\n\t\t\t\t\t\t, Element, AssignedElement, XOriginBefore\r\n\t\t\t\t\t\t)\r\n\r\n\tselect 1, Xorigin & '\r\n , @StringPatternDynmamicInv , '\r\n\t\t\t, ''', @UID_NonCompliance , ''', uid_Person , 0\r\n\t\tfrom PersonInBaseTree join @DBQueueCurrent xxpara on PersonInBaseTree.uid_person = xxpara.uid_parameter\r\n\t\t\twhere uid_org = '''\r\n, @UID_NonCompliance , '''\r\n\t\t\t and Xorigin & ' , @StringPatternDynmamicInv , ' > 0\r\n\r\ninsert into @SourceData(\r\n\t\t\t\t\t\tIsUpcommingContent, XOriginBefore, XOriginAfter\r\n\t\t\t\t\t\t, Element, AssignedElement\r\n\t\t\t\t\t\t)\r\n\tselect 1, 0,  '\r\n , @StringPatternDynmamic , '\r\n\t\t\t, ''', @UID_NonCompliance , ''' , uid_Person \r\nfrom Person join @DBQueueCurrent xxpara on person.uid_person = xxpara.uid_parameter\r\n\twhere (\r\n-- Start Usercondition\r\n'\r\n )  select @procname = dbo.CPL_FCVRuleGuidToProcName(@uid_complianceRule, 'Person') select @SQLcmdKomplett = dbo.QBM_FSQProcedureDef(@Procname, '@Slotnumber int'\r\n, @Declarations + @content1 + @whereclause + @content2 + @contentDN1 , N'Compliance rule (given person): ' + @Ident_ComplianceRule + '(' + @uid_ComplianceRule\r\n + ')' ) if @DebugSwitch > 0 begin print @SQLcmdKomplett end exec QBM_PSQLCreate @Procname, 'P', @SQLcmdKomplett, @Uncomment = @UncommentCode    declare\r\n @PreInsert nvarchar(max)  declare @PostInsert nvarchar(max)  select @PreInsert = '\r\ndeclare @hp QBM_YSingleGUID\r\n--declare @hp t a b l e(uid_person varchar(38) collate database_default)\r\n\r\ninsert into @hp (UID_SingleGuid /*uid_person*/)\r\nselect uid_person from person \r\n\t\t\tjoin ( select distinct uid_person as xxpUID_Person\r\n\t\t\t\t\tfrom HelperPWOPersonHasObject\r\n\t\t\t\t\twhere uid_PersonWantsOrg = @UID_PersonWantsOrg\r\n%new%%ug%\t\t\t\t\t and IsExisting = 0\r\n\t\t\t\t\t\tand ~ %IsCrossPersonCheck% & IsFromSubIdentityOnly = 0\r\n\t\t\t\t) as xxp on xxp.xxpUID_Person = Person.UID_Person\r\n%new% left outer join (select uid_org as xxzuid_org, uid_person as xxzuid_person from PersonInBaseTree  where uid_org = '''\r\n + rtrim(@UID_NonCompliance) + N'''\r\n%new%\t\t\t\t\tand XMarkedForDeletion & ' + @StringPatternDelay + ' = 0\r\n%new%%gran%\t\t\t\t\tand IsDecisionMade = 1\r\n%new%%gran%\t\t\t\t\tand IsExceptionGranted = 1\r\n%new%\t\t\t\t\t) as xxz on person.uid_person = xxz.xxzuid_person\r\n  where \r\n%new%\txxz.xxzuid_person is null and\r\n\texists\t( select top 1 1 where \r\n-- StartUserCondition \r\n'\r\n select @PreInsert = replace(@PreInsert, N'%IsCrossPersonCheck%', STR(@IsCrossPersonCheck) ) if @SNM_ComplianceCheck_PWO = 'NewRule' begin select @PreInsert\r\n = replace(@PreInsert, N'%new%', N'') select @PreInsert = replace(@PreInsert, N'%gran%', N'--') select @PreInsert = replace(@PreInsert, N'%ug%', N'') end\r\n if @SNM_ComplianceCheck_PWO = 'UnGrantedRule' begin select @PreInsert = replace(@PreInsert, N'%new%', N'') select @PreInsert = replace(@PreInsert, N'%gran%'\r\n, N'') select @PreInsert = replace(@PreInsert, N'%ug%', N'--')  end if @SNM_ComplianceCheck_PWO = 'AnyRule' begin select @PreInsert = replace(@PreInsert\r\n, N'%new%', N'--') select @PreInsert = replace(@PreInsert, N'%gran%', N'--') select @PreInsert = replace(@PreInsert, N'%ug%', N'') end   select @PostInsert\r\n = concat( @Content2, '\r\ninsert into  #QBMDeltaInsert (Element, AssignedElement, XOrigin , XIsInEffect)\r\n  select xxhp.UID_SingleGuid /*uid_person*/ , '''\r\n , rtrim(@uid_complianceRule) , N''', 1, 1\r\n  from @hp xxhp \r\n\r\n' )    select @procname = dbo.CPL_FCVRuleGuidToProcName(@uid_complianceRule, 'ITShopOrder'\r\n) select @parameters = N' @uid_PersonWantsOrg varchar(38) ' select @SQLcmdKomplett = dbo.QBM_FSQProcedureDef(@Procname , @Parameters , @Preinsert + @whereclause\r\n + @Postinsert , N'Compliance rule (ITShop order): ' + @Ident_ComplianceRule + '(' + @uid_ComplianceRule + ')' ) if @DebugSwitch > 0 begin print @SQLcmdKomplett\r\n end exec QBM_PSQLCreate @Procname, 'P', @SQLcmdKomplett, @Uncomment = @UncommentCode END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default, @SQLcmdKomplett\r\n declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_PRuleCompareAffectedPerson",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:18.057",
      "ModifyDate": "2026-04-14T23:20:45.863",
      "Definition": "  create   procedure CPL_PRuleCompareAffectedPerson(@WhereClauseOld nvarchar(max) , @WhereClauseNew nvarchar(max) ) as begin SET XACT_ABORT OFF \r\nBEGIN TRY declare @SQLCmd nvarchar(max) select @SQLCmd = N'select isnull(a.lastname, N''+++''), isnull(a.firstname, N''+++''), isnull(b.lastname, N''---'') , isnull(b.firstname,N''---'')\r\n\t\tfrom \r\n\t\t(\r\n\t\t\tselect uid_person, lastname, firstname \r\n\t\t\tfrom person \r\n\t\t\twhere '\r\n + @WhereClauseOld + ' -- userquery alt\r\n\r\n\t\t) as a full outer join \r\n\t\t( \r\n\t\t\tselect uid_person, lastname, firstname  \r\n\t\t\tfrom person \r\n\t\t\twhere ' + \r\n@WhereClauseNew + ' -- userquery neu\r\n\r\n\t\t) as b on a.uid_person = b.uid_person\r\n\t\t' exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLcmd , @LockTimeout_ms\r\n = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@procid , @HandleErrorSilent = 0 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_PRuleCompareWorkForReport",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:18.063",
      "ModifyDate": "2026-04-14T23:20:45.877",
      "Definition": "  create   procedure CPL_PRuleCompareWorkForReport(@UID_ComplianceRuleWork varchar(38) ) as begin declare @whereOld nvarchar(max) = '1 = 0' declare\r\n @whereNew nvarchar(max) = '1 = 0' declare @selectList nvarchar(1000) = 'select Internalname, DefaultEmailAddress as Mail, Phone, UID_Locality, UID_Department, UID_ProfitCenter, '\r\n declare @DebugSwitch int = 0 declare @SQLcmd nvarchar(max) SET XACT_ABORT OFF BEGIN TRY select top 1 @whereOld = isnull(r.whereclause, '1 = 0') , @whereNew\r\n = isnull(w.whereclause, '1 = 0') from ComplianceRule r join ComplianceRule w on w.UID_ComplianceRule = r.UID_ComplianceRuleWork  where w.uid_compliancerule\r\n = @UID_ComplianceRuleWork select @SQLcmd = 'select x.Internalname, x.Mail, x.Phone, p.Shortname as ProfitCenter, d.Departmentname as Department, l.Ident_locality as Locality, x.Comparison \r\n\t\tfrom ('\r\n + @selectList + '''EQUAL'' as Comparison, 3 as SortOrder \r\n\t\t\t\tfrom person \r\n\t\t\t\twhere (' + @whereOld + ') \r\n\t\t\t\t and (' + @whereNew + ') \r\n\r\n\t\t\tunion all \r\n\r\n\t\t\t'\r\n + @selectList + '''DEL'', 2 \r\n\t\t\t from person \r\n\t\t\t where (' + @whereOld + ') \r\n\t\t\t and not (' + @whereNew + ')  \r\n\r\n\t\t\tunion all \r\n\t\t\t\r\n\t\t\t' + @selectList\r\n + '''NEW'', 1 \r\n\t\t\tfrom person \r\n\t\t\twhere not (' + @whereOld + ') \r\n\t\t\tand (' + @whereNew + ') \r\n\t\t) as x left outer join department d on d.uid_department = x.uid_department \r\n\t\t\t\tleft outer join locality l on l.uid_locality = x.uid_locality \r\n\t\t\t\tleft outer join ProfitCenter p on p.uid_ProfitCenter = x.uid_ProfitCenter \r\n\torder by x.SortOrder, x.Internalname'\r\n if @DebugSwitch > 0 begin print @sqlcmd end exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLcmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s\r\n = default , @ProcIDForJournal = @@procid , @HandleErrorSilent = 0 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000)\r\n = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_PSubRuleFillPerson_i",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:17.947",
      "ModifyDate": "2026-04-14T23:20:45.707",
      "Definition": "          create   procedure CPL_PSubRuleFillPerson_i ( @UID_ComplianceRule varchar(38) , @Persons QBM_YSingleGuid readonly   , @GenProcID varchar\r\n(38) ) AS begin declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @SQLcmd nvarchar(max) declare @whereclause nvarchar(max) declare\r\n @IsCrossPersonCheck bit declare @IsInactive bit declare @IsWorkingCopy bit declare @IsSinglePerson bit = 0 declare @TakeAllPersons bit = 0 declare @IsPersonStoreInverted\r\n bit = 0 declare @DebugSwitch int = 0 declare @AnzahlEinzelPersonen int SET XACT_ABORT OFF BEGIN TRY set nocount on select @AnzahlEinzelPersonen = COUNT\r\n(*) from @Persons if @AnzahlEinzelPersonen > 0 begin select @IsSinglePerson = 1 end select top 1 @whereclause = c.WhereClausePerson , @IsInactive = c.IsInactive\r\n , @IsWorkingCopy = c.IsWorkingCopy , @IsPersonStoreInverted = c.IsPersonStoreInverted , @IsCrossPersonCheck = c.IsCrossPersonCheck from ComplianceRule\r\n c where UID_ComplianceRule = @UID_ComplianceRule if    @IsInactive = 1 or @IsWorkingCopy = 1 begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID\r\n delete ComplianceSubRulePerson where UID_ComplianceRule = @UID_ComplianceRule goto endLabel end if isnull(@whereclause, N'') = '' begin select @whereclause\r\n = '1=1' end drop table if exists #PersonToHandle create table #PersonToHandle (UID_Person varchar(38) collate database_default not null primary key clustered\r\n)   drop table if exists #ValidMembersOfRule create table #ValidMembersOfRule (UID_Person varchar(38) collate database_default not null primary key clustered\r\n)  drop table if exists #HelperForMasterSub create table #HelperForMasterSub (UID_Person varchar(38) collate database_default not null primary key clustered\r\n , UID_PersonMasterIdentity varchar(38) collate database_default null , index #HelperForMasterSub1 (UID_PersonMasterIdentity) )  if @IsSinglePerson = 1\r\n begin insert into #PersonToHandle(UID_Person) select distinct me.UID_PersonAlsoMe from QER_VPersonsAreMe me join @Persons pe on me.UID_PersonOrigin = \r\npe.UID_SingleGuid      end    if @WhereClause like '%1%=%1%'  and @IsSinglePerson = 0 begin  if 3 = (select count(*) from dbo.QBM_FCVStringToListSQLMorphem\r\n(@WhereClause, 0, 0) as i join ( values (1, '1') , (2, '=') , (3, '1') ) as s (Sortorder, Morphem) on s.Sortorder = i.SortOrder and s.Morphem = i.Morphem\r\n ) begin select @TakeAllPersons = 1 end end if @DebugSwitch > 0 begin print '@TakeAllPersons : ' + str(@TakeAllPersons) print '@WhereClause    : ' + @whereclause\r\n end if @TakeAllPersons = 1 begin insert into #ValidMembersOfRule(UID_Person) select p.UID_Person from Person p end else  begin  if @IsCrossPersonCheck\r\n = 1 begin select @SQLcmd = CONCAT( '\tselect UID_Person, UID_PersonMasterIdentity\r\n\t\t\t\tfrom Person\r\n\t\t\t\twhere ( ' , @whereclause , '\r\n\t\t\t\t\t) \r\n\t\t\t\t', case\r\n @IsSinglePerson when 1 then ' and UID_Person in (select x.UID_Person from #PersonToHandle x) ' else '' end ) insert into #HelperForMasterSub(UID_Person\r\n, UID_PersonMasterIdentity) exec sp_executesql @SQLCmd  insert into #ValidMembersOfRule(UID_Person)  select m.UID_Person from #HelperForMasterSub m  union\r\n select p.UID_PersonMasterIdentity from #HelperForMasterSub p where p.UID_PersonMasterIdentity > ' '  union select p.UID_Person from dbo.Person p join(\r\n   select m.UID_Person from #HelperForMasterSub m  union all select p.UID_PersonMasterIdentity from #HelperForMasterSub p where p.UID_PersonMasterIdentity\r\n > ' ' ) e on p.UID_PersonMasterIdentity = e.UID_Person end else  begin select @SQLcmd = CONCAT( '\tselect UID_Person\r\n\t\t\t\tfrom Person\r\n\t\t\t\twhere ( ' , \r\n@whereclause , '\r\n\t\t\t\t\t) \r\n\t\t\t\t', case @IsSinglePerson when 1 then ' and UID_Person in (select x.UID_Person from #PersonToHandle x) ' else '' end ) insert\r\n into #ValidMembersOfRule(UID_Person) exec sp_executesql @SQLCmd end  end    exec QBM_PSessionContextSet 'GenProcID', @GenProcID if @IsPersonStoreInverted\r\n = 0 begin  if @IsSinglePerson = 0 begin  if @DebugSwitch > 0 begin print 'Verarbeitung inverted = 0, @IsSinglePerson = 0' end insert into ComplianceSubRulePerson\r\n(UID_ComplianceRule, UID_Person) select @UID_ComplianceRule, m.UID_Person from #ValidMembersOfRule m where not exists (select top 1 1 from ComplianceSubRulePerson\r\n e where e.UID_ComplianceRule = @UID_ComplianceRule and e.UID_Person = m.UID_Person ) delete ComplianceSubRulePerson from ComplianceSubRulePerson csp where\r\n csp.UID_ComplianceRule = @UID_ComplianceRule and not exists (select top 1 1 from #ValidMembersOfRule m where m.UID_Person = csp.UID_Person ) end else \r\nbegin    if @DebugSwitch > 0 begin print 'Verarbeitung inverted = 0, @IsSinglePerson = 1' end insert into ComplianceSubRulePerson(UID_ComplianceRule, UID_Person\r\n) select @UID_ComplianceRule, m.UID_Person from #ValidMembersOfRule m where not exists (select top 1 1 from ComplianceSubRulePerson e where e.UID_ComplianceRule\r\n = @UID_ComplianceRule and e.UID_Person = m.UID_Person ) delete ComplianceSubRulePerson from ComplianceSubRulePerson csp join #PersonToHandle ph on csp.UID_Person\r\n = ph.UID_Person and csp.UID_ComplianceRule = @UID_ComplianceRule where not exists (select top 1 1 from #ValidMembersOfRule m where m.UID_Person = csp.UID_Person\r\n ) end end else begin  if @IsSinglePerson = 0 begin   if @DebugSwitch > 0 begin print 'Verarbeitung inverted = 1, @IsSinglePerson = 0' end insert into \r\nComplianceSubRulePerson(UID_ComplianceRule, UID_Person) select @UID_ComplianceRule, p.UID_person from Person p left outer join #ValidMembersOfRule vm on\r\n p.UID_Person = vm.UID_Person where vm.UID_Person is null and not exists (select top 1 1 from ComplianceSubRulePerson e where e.UID_ComplianceRule = @UID_ComplianceRule\r\n and e.UID_Person = p.UID_Person ) delete ComplianceSubRulePerson from ComplianceSubRulePerson csp where csp.UID_ComplianceRule = @UID_ComplianceRule and\r\n exists (select top 1 1 from #ValidMembersOfRule m where m.UID_Person = csp.UID_Person ) end else begin     if @DebugSwitch > 0 begin print 'Verarbeitung inverted = 1, @IsSinglePerson = 1'\r\n end  delete ComplianceSubRulePerson from ComplianceSubRulePerson csp join #PersonToHandle ph on csp.UID_Person = ph.UID_Person join #ValidMembersOfRule\r\n vm on ph.UID_Person = vm.UID_Person where csp.UID_ComplianceRule = @UID_ComplianceRule  insert into ComplianceSubRulePerson(UID_ComplianceRule, UID_Person\r\n) select @UID_ComplianceRule, ph.UID_Person from #PersonToHandle ph left outer join #ValidMembersOfRule vm on ph.UID_Person = vm.UID_Person where vm.UID_Person\r\n is null and not exists (select top 1 1 from ComplianceSubRulePerson e where e.UID_ComplianceRule = @UID_ComplianceRule and e.UID_Person = ph.UID_Person\r\n ) end end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow\r\n, 18, 1) WITH NOWAIT END CATCH endLabel:     exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_RComplianceCheckForPerson",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:17.883",
      "ModifyDate": "2026-04-14T23:20:45.617",
      "Definition": "create   procedure CPL_RComplianceCheckForPerson (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'Person', 'UID_Person', @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_RComplianceCheckForRule",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:17.9",
      "ModifyDate": "2026-04-14T23:20:45.64",
      "Definition": "create   procedure CPL_RComplianceCheckForRule (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int declare @SlotNumberSource\r\n int declare @SlotNumberTarget int declare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select\r\n cul.UID_DialogDBQueue from @DBQueueCurrent cul  left outer join ComplianceRule cr with (readpast) on cul.UID_Parameter = cr.UID_ComplianceRule and isnull\r\n(cr.IsInActive,0) = 0  and isnull(cr.IsWorkingCopy,0) = 0 and cr.UID_NonCompliance > ' ' where cr.UID_ComplianceRule is null if @@ROWCOUNT > 0 begin select\r\n @SlotNumberSource = @SlotNumber  select @SlotnumberTarget = 0 exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget\r\n  delete @DBQueueCurrent from @DBQueueCurrent cu join @DBQueueToMove mo on cu.UID_DialogDBQueue = mo.UID_DialogDBQueue end  insert into @ObjectKeysToCheck_Jobrunning\r\n(Parameter1, Parameter2) select x.UID_ComplianceRule, x.XObjectKey from @DBQueueCurrent cu join ComplianceRule x on cu.UID_Parameter = x.UID_ComplianceRule\r\n exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH \r\nexec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_RITShopMakeDecisionCR",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:18.027",
      "ModifyDate": "2026-04-14T23:20:45.823",
      "Definition": "create   procedure CPL_RITShopMakeDecisionCR (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int declare @SlotNumberSource\r\n int declare @SlotNumberTarget int declare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select\r\n cul.UID_DialogDBQueue from @DBQueueCurrent cul  left outer join PersonWantsOrg pwo with (readpast) on cul.UID_Parameter = pwo.UID_PersonWantsOrg   and\r\n pwo.OrderState in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe') where pwo.UID_PersonWantsOrg is null if @@ROWCOUNT > 0 begin select @SlotNumberSource\r\n = @SlotNumber  select @SlotnumberTarget = 0 exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget  delete \r\n@DBQueueCurrent from @DBQueueCurrent cu join @DBQueueToMove mo on cu.UID_DialogDBQueue = mo.UID_DialogDBQueue end  insert into @ObjectKeysToCheck_Jobrunning\r\n(Parameter1, Parameter2) select x.UID_PersonWantsOrg, x.XObjectKey from @DBQueueCurrent cu join PersonwantsOrg x on cu.UID_Parameter = x.UID_PersonWantsOrg\r\n exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH \r\nexec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_RITShopMakeDecisionOC",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:17.983",
      "ModifyDate": "2026-04-14T23:20:45.763",
      "Definition": "create   procedure CPL_RITShopMakeDecisionOC (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int declare @SlotNumberSource\r\n int declare @SlotNumberTarget int declare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select\r\n cul.UID_DialogDBQueue from @DBQueueCurrent cul  left outer join PersonWantsOrg pwo with (readpast) on cul.UID_Parameter = pwo.UID_PersonWantsOrg   and\r\n pwo.OrderState in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe') where pwo.UID_PersonWantsOrg is null if @@ROWCOUNT > 0 begin select @SlotNumberSource\r\n = @SlotNumber  select @SlotnumberTarget = 0 exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget  delete \r\n@DBQueueCurrent from @DBQueueCurrent cu join @DBQueueToMove mo on cu.UID_DialogDBQueue = mo.UID_DialogDBQueue end  insert into @ObjectKeysToCheck_Jobrunning\r\n(Parameter1, Parameter2) select x.UID_PersonWantsOrg, x.XObjectKey from @DBQueueCurrent cu join PersonwantsOrg x on cu.UID_Parameter = x.UID_PersonWantsOrg\r\n exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH \r\nexec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_RITShopMakeDecisionOH",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:18.007",
      "ModifyDate": "2026-04-14T23:20:45.797",
      "Definition": "create   procedure CPL_RITShopMakeDecisionOH (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int declare @SlotNumberSource\r\n int declare @SlotNumberTarget int declare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select\r\n cul.UID_DialogDBQueue from @DBQueueCurrent cul  left outer join PersonWantsOrg pwo with (readpast) on cul.UID_Parameter = pwo.UID_PersonWantsOrg  and \r\nOrderState in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe') where uid_PersonWantsOrg is null if @@ROWCOUNT > 0 begin select @SlotNumberSource\r\n = @SlotNumber  select @SlotnumberTarget = 0 exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget  delete \r\n@DBQueueCurrent from @DBQueueCurrent cu join @DBQueueToMove mo on cu.UID_DialogDBQueue = mo.UID_DialogDBQueue end  insert into @ObjectKeysToCheck_Jobrunning\r\n(Parameter1, Parameter2) select x.UID_PersonWantsOrg, x.XObjectKey from @DBQueueCurrent cu join PersonwantsOrg x on cu.UID_Parameter = x.UID_PersonWantsOrg\r\n exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH \r\nexec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_RSubRuleFillObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:17.933",
      "ModifyDate": "2026-04-14T23:20:45.69",
      "Definition": "create   procedure CPL_RSubRuleFillObject ( @Slotnumber int , @uid_complianceSubrule varchar(38) , @Dummy1 varchar(38) , @GenProcID varchar(38) \r\n) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning QBM_YParameterList declare @MyName nvarchar(64\r\n) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int declare @SlotNumberSource int declare @SlotNumberTarget int\r\n declare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter\r\n, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber\r\n if @@rowcount = 0 begin goto EndLabel end  if not exists (select top 1 1 from complianceSubrule where uid_complianceSubrule = @uid_complianceSubrule )\r\n begin delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select cul.UID_DialogDBQueue from @DBQueueCurrent cul where cul.UID_Parameter\r\n = @uid_complianceSubrule if @@ROWCOUNT > 0 begin select @SlotNumberSource = @SlotNumber  select @SlotnumberTarget = 0 exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot\r\n @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget   end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT\r\n END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_RSubRuleFillPerson",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:17.953",
      "ModifyDate": "2026-04-14T23:20:45.717",
      "Definition": "create   procedure CPL_RSubRuleFillPerson (@SlotNumber int , @UID_ComplianceRule varchar(38) , @dummy varchar(38) , @GenprocID varchar(38) ) AS \r\nbegin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning QBM_YParameterList declare @MyName nvarchar(64) = \r\nobject_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int declare @SlotNumberSource int declare @SlotNumberTarget int declare\r\n @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved int SET XACT_ABORT OFF BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber\r\n = @SlotNumber if @@rowcount = 0 begin goto EndLabel end if not exists (select top 1 1 from compliancerule where uid_compliancerule = @uid_compliancerule\r\n ) begin select @SlotNumberSource = @SlotNumber  select @SlotnumberTarget = 0 delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select\r\n cul.UID_DialogDBQueue from @DBQueueCurrent cul where cul.UID_Parameter = @uid_compliancerule if @@ROWCOUNT > 0 begin exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot\r\n @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget END  end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT \r\nEND CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_RSubRuleFillPersonS",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:17.963",
      "ModifyDate": "2026-04-14T23:20:45.737",
      "Definition": "create   procedure CPL_RSubRuleFillPersonS (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int declare @SlotNumberSource\r\n int declare @SlotNumberTarget int declare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved int SET XACT_ABORT OFF BEGIN TRY insert into @DBQueueCurrent\r\n(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent\r\n cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end if exists (select top 1 1 from @DBQueueCurrent cu left \r\nouter join ComplianceRule r with (readpast) on cu.UID_Parameter = r.UID_ComplianceRule where r.UID_ComplianceRule is null ) begin select @SlotNumberSource\r\n = @SlotNumber  select @SlotnumberTarget = 0 delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select cul.UID_DialogDBQueue from @DBQueueCurrent\r\n cul left outer join ComplianceRule r on cul.UID_Parameter = r.UID_ComplianceRule where r.UID_ComplianceRule is null exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot\r\n @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget  end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END \r\nCATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_ZAllForOnePerson",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:18.05",
      "ModifyDate": "2026-04-14T23:20:45.853",
      "Definition": "    create   procedure CPL_ZAllForOnePerson (@SlotNumber int) as begin BEGIN TRY declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('')     END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_ZAllForPersonInBaseTree",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:18.04",
      "ModifyDate": "2026-04-14T23:20:45.843",
      "Definition": "     create   procedure CPL_ZAllForPersonInBaseTree (@SlotNumber int) as begin  declare @GenprocID varchar(38) = newid() declare @Parameter nvarchar\r\n(1000) declare @Ident_OrgRoot nvarchar(64) declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @DBQueueCurrent\r\n QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end   insert\r\n into @ElementBuffer (LongIdent1, UID1) select distinct dbo.QER_FGIOrgRootName(b.UID_OrgRoot), p.GenProcID from @DBQueueCurrent p join BaseTree b on p.UID_SubParameter\r\n = b.UID_Org select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @Ident_OrgRoot = bu.LongIdent1\r\n , @GenprocID = bu.UID1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex if @Ident_OrgRoot = 'AERole' begin select @Parameter = '|' +'CPL-PWODecisionRule-OC|'\r\n  +'CPL-PWODecisionRule-OH|'  exec QER_PITShopHelperFillAll @Parameter, @GenprocID end select @ElementIndex += 1 end   if exists (select top 1 1 from QBMModuleDef\r\n where ModuleName = 'ATT') begin declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select bt.XObjectKey\r\n, 'CPL-PWODecisionRule-AR', 'A' from (select cu.UID_Parameter as UID_Person , cu.UID_SubParameter as UID_Org from @DBQueueCurrent cu ) i join BaseTree \r\nbt on i.UID_Org = bt.UID_Org exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID end  if exists (select top 1 1 from @DBQueueCurrent p join\r\n compliancerule cr on p.UID_SubParameter = cr.uid_orgruler  and cr.IsInActive = 0 and cr.IsWorkingCopy = 0  ) begin exec QBM_PDBQueueInsert_Single 'QER-K-ShoppingRackPWODecisionMaker'\r\n, '', '', @GenprocID end     END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_ZComplianceCheckForPerson",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:17.88",
      "ModifyDate": "2026-04-14T23:20:45.61",
      "Definition": "     create   procedure CPL_ZComplianceCheckForPerson (@SlotNumber int) as begin declare @procname nvarchar(64) declare @uid_ComplianceRule varchar\r\n(38) declare @uid_org varchar(38) declare @uid_person varchar(38) declare @GenProcID varchar(38) declare @whereClause nvarchar(1024) declare @BasisObjectKey\r\n varchar(138) declare @GenProcIDErsatz varchar(38) declare @esGabAenderungen int declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare\r\n @ElementIndex int BEGIN TRY select @GenProcIDErsatz = max(GenProcID) from QBMDBQueueCurrent p with (readpast) where GenProcID > ' ' and p.SlotNumber =\r\n @SlotNumber if isnull(@GenProcIDErsatz, '') = '' begin select @GenProcIDErsatz = newid() end insert into @ElementBuffer (UID1) select uid_ComplianceRule\r\n from ComplianceRule  where isnull(isInActive,0) = 0  and UID_NonCompliance > ' ' and isnull(isWorkingCopy,0) = 0 select @ElementCount = @@ROWCOUNT select\r\n @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @uid_ComplianceRule = bu.UID1 from @ElementBuffer bu where bu.ElementIndex =\r\n @ElementIndex select @procname = dbo.CPL_FCVRuleGuidToProcName(@uid_complianceRule, 'Person') exec @procname @SlotNumber  select @ElementIndex += 1 end\r\n  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_ZComplianceCheckForRule",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:17.893",
      "ModifyDate": "2026-04-14T23:20:45.633",
      "Definition": "    create   procedure CPL_ZComplianceCheckForRule (@SlotNumber int) as begin declare @DebugLevel char(1) = 'W' declare @procname nvarchar(64) declare\r\n @uid_ComplianceRule varchar(38) declare @uid_NonCompliance varchar(38) declare @uid_person varchar(38) declare @GenProcID varchar(38) declare @whereClause\r\n nvarchar(1024) declare @BasisObjectKey varchar(138) declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare\r\n @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel\r\n end insert into @ElementBuffer (UID1, UID2) select uid_parameter as uid_ComplianceRule, GenProcID from @DBQueueCurrent p select @ElementCount = @@ROWCOUNT\r\n select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @uid_ComplianceRule = bu.UID1 , @GenProcID = UID2 from @ElementBuffer\r\n bu where bu.ElementIndex = @ElementIndex select @procname = dbo.CPL_FCVRuleGuidToProcName(@uid_complianceRule, 'Rule') exec @procname @SlotNumber  select\r\n @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_ZComplianceCheckMakeProc",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:17.87",
      "ModifyDate": "2026-04-14T23:20:45.597",
      "Definition": "    create   procedure CPL_ZComplianceCheckMakeProc (@SlotNumber int , @UID_ComplianceRule varchar(38) , @Dummy varchar(38) , @GenProcID varchar\r\n(38) ) as begin    SET XACT_ABORT OFF BEGIN TRY  if exists (select top 1 1 from ComplianceRule where uid_complianceRule = @uid_ComplianceRule  and isnull\r\n(isInactive,0) = 0 and isnull(isWorkingCopy, 0) = 0 ) begin exec CPL_PComplianceCheckMakeProc_h  @uid_ComplianceRule exec QBM_PDBQueueInsert_Single 'CPL-K-ComplianceCheckForRule'\r\n, @uid_ComplianceRule, '', @GenProcID end else begin exec CPL_PComplianceCheckMakeProc_D  @uid_ComplianceRule end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_ZITShopMakeDecisionCR",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:18.02",
      "ModifyDate": "2026-04-14T23:20:45.813",
      "Definition": "     create   procedure CPL_ZITShopMakeDecisionCR (@SlotNumber int) as begin  declare @MyName nvarchar(64) = object_name(@@procid) declare @DecisionLevel\r\n int declare @UID_Personwantsorg varchar(38) declare @GenProcID varchar(38) declare @CfgUseGenProcID bit = dbo.QBM_FCVStringToBit(dbo.QBM_FGIConfigparmValue\r\n('Common\\ProcessState\\UseGenProcIDFromPWO')) declare @Decision nvarchar(16) declare @Reason nvarchar(max) declare @uid_person varchar(38) declare @SQLcmd\r\n nvarchar(max) declare @BasisObjectKey varchar(138) declare @xuser nvarchar(64) declare @xdate datetime declare @AutomaticReasonTrue nvarchar(128) declare\r\n @AutomaticReasonFalse nvarchar(128) declare @ComplianceRules nvarchar(max) declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @ElementBuffer\r\n QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent\r\n(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent\r\n cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end select @xuser = 'DBScheduler' select @xdate = GetUTCDate\r\n() insert into @ElementBuffer (UID1  , UID2  , UID3  , LongIdent1  , LongIdent2  , ObjectKey1  , Int1  ) select pwo.uid_personwantsorg , dbo.QER_FGIGenProcIDForPWO\r\n(pwo.GenProcID, p.GenProcID, @CfgUseGenProcID) as GenProcID , pwo.uid_personordered , isnull(s.AutomaticReasonTrue, ''), isnull(s.AutomaticReasonFalse,\r\n ''), pwo.XObjectKey , pwo.DecisionLevel from @DBQueueCurrent p join personwantsorg pwo on p.uid_parameter = pwo.uid_personwantsorg join pwohelperpwo ph\r\n on pwo.uid_personwantsorg = ph.uid_personwantsorg and pwo.decisionlevel = ph.levelnumber join QERWorkingStep s on ph.uid_QERWorkingStep = s.uid_QERWorkingStep\r\n  where ph.UID_PWODecisionRule = 'CPL-PWODecisionRule-CR'   and OrderState in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe') select @ElementCount\r\n = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @uid_personwantsorg = bu.UID1  , @GenProcID = bu.UID2  ,\r\n @uid_person = bu.UID3  , @AutomaticReasonTrue = bu.LongIdent1  , @AutomaticReasonFalse = bu.LongIdent2  , @BasisObjectKey = bu.ObjectKey1  , @DecisionLevel\r\n = bu.Int1  from @ElementBuffer bu where bu.ElementIndex = @ElementIndex   exec QBM_PSessionContextSet 'GenProcID', @GenProcID delete HelperPWOCompliance\r\n where uid_personwantsorg = @uid_personwantsorg  exec QBM_PSessionContextSet 'GenProcID', @GenProcID insert into HelperPWOCompliance (UID_HelperPWOCompliance\r\n, UID_PersonWantsOrg, uid_complianceRule , UID_Person) select newid(), @uid_personwantsorg, xx.uid_ComplianceRule, xx.uid_person from ( select distinct\r\n v.uid_complianceRule, v.uid_Person  from dbo.CPL_FTCCSPWOCheck(@uid_personwantsorg) v join ComplianceRule cr on v.uid_complianceRule = cr.uid_complianceRule\r\n  and cr.IsInActive = 0 and cr.IsWorkingCopy = 0  where (( (cr.DetectRuleTypeForPWO = 'NewRule' and v.isNewRule = 1 ) or (cr.DetectRuleTypeForPWO = 'AnyRule'\r\n      ) or (cr.DetectRuleTypeForPWO = 'UnGrantedRule' and v.isexceptiongranted = 0 ) )  or ( cr.isToGrantEver = 1 and ( v.isNewRule = 1 or v.isNewObject\r\n = 1 ) ) )  and not exists ( select top 1 1 from HelperPWOCompliance x where x.UID_PersonWantsOrg = @uid_personwantsorg and x.uid_complianceRule = v.uid_complianceRule\r\n and x.uid_Person = v.uid_Person ) ) as xx select @ComplianceRules = null select @ComplianceRules = string_agg(left(c.Ident_ComplianceRule, 64) , ',') \r\nfrom HelperPWOCompliance hc join ComplianceRule c on hc.UID_ComplianceRule = c.UID_ComplianceRule  and c.IsInActive = 0 and c.IsWorkingCopy = 0  where \r\nhc.UID_PersonWantsOrg = @UID_Personwantsorg if @ComplianceRules > ' ' begin   select @Decision = 'False' if @AutomaticReasonFalse > ' ' begin select @Reason\r\n = case when @AutomaticReasonFalse like concat('#', 'L', 'D', 'S', '#', '%') then '' else concat( '#', 'L', 'D', 'S', '#' ) end + @AutomaticReasonFalse\r\n + '|' + @ComplianceRules + '|' end else begin select @Reason = '#LDS#At least one compliance rule has been violated: {0}.|' + @ComplianceRules + '|' end\r\n end else  begin select @Decision = 'True' if @AutomaticReasonTrue > ' ' begin select @Reason = @AutomaticReasonTrue end else begin select @Reason = '#LDS#No compliance rule has been violated.|'\r\n end end select @SQLcmd = N'uid_personwantsorg = ''' + rtrim(@uid_personwantsorg) + N''' and DecisionLevel = ' + STR(@DecisionLevel)  exec QBM_PJobCreate_HOCallMethod\r\n @objecttype = 'personwantsorg' , @whereclause = @SQLcmd , @save = 1 , @MethodName = 'MakeDecision' , @GenProcID = @GenprocID , @ObjectKeysAffected = DEFAULT\r\n , @param1 = 'sa' , @param2 = @decision , @param3 = @Reason , @Retries = 3 , @isToFreezeOnError = 1  , @BasisObjectKey = @BasisObjectKey , @checkForExisting\r\n = 1  , @WhereClauseAdditional = ' OrderState in(''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'')'  select @ElementIndex += 1 end  END TRY \r\nBEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R\r\n return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_ZITShopMakeDecisionOC",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:17.98",
      "ModifyDate": "2026-04-14T23:20:45.753",
      "Definition": "   create   procedure CPL_ZITShopMakeDecisionOC (@SlotNumber int) as begin  declare @DecisionLevel int declare @UID_Personwantsorg varchar(38) declare\r\n @GenProcID varchar(38) declare @CfgUseGenProcID bit = dbo.QBM_FCVStringToBit(dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\UseGenProcIDFromPWO')) declare\r\n @Decision nvarchar(16) declare @Reason nvarchar(255) declare @uid_person varchar(38) declare @SQLcmd nvarchar(max) declare @levelnumber int declare @AnzahlVerstoss\r\n int declare @AnzahlGenehmigt int declare @IsDecision bit declare @BasisObjectKey varchar(138) declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext\r\n('') declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @DBQueueCurrent QBM_YDBQueueCurrent declare @QBM_BitPatternXMarkedForDel_Delay\r\n int = dbo.QBM_FGIBitPatternXMarkedForDel('|Delay|', 0)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end insert into @ElementBuffer (UID1  , UID2  , UID3  , Int1  , ObjectKey1  , Int2  ) select distinct pwo.uid_personwantsorg ,\r\n dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, p.GenProcID, @CfgUseGenProcID) as GenProcID , pwo.uid_personordered, ph.Levelnumber, pwo.XObjectKey , pwo.DecisionLevel\r\n from @DBQueueCurrent p join personwantsorg pwo on p.uid_parameter = pwo.uid_personwantsorg join pwohelperpwo ph on pwo.uid_personwantsorg = ph.uid_personwantsorg\r\n and pwo.decisionlevel = ph.levelnumber  where ph.UID_PWODecisionRule = 'CPL-PWODecisionRule-OC'  select @ElementCount = @@ROWCOUNT select @ElementIndex\r\n = 1 while @ElementIndex <= @ElementCount begin select top 1 @uid_personwantsorg = bu.UID1  , @GenProcID = bu.UID2  , @uid_person = bu.UID3  , @levelnumber\r\n = bu.Int1  , @BasisObjectKey = bu.ObjectKey1  , @DecisionLevel = bu.Int2 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex  select @IsDecision\r\n = 0 select @Decision = '' select @Reason = ''  if not exists (select top 1 1 from HelperPWOCompliance where uid_PersonWantsOrg = @UID_Personwantsorg) \r\nbegin   select @Decision = 'True'  select @Reason = '#LDS#No compliance rule has been violated., (missing CC step?) detected in Rule OC).|' select @IsDecision\r\n = 1 goto istEntschieden end   if exists (select top 1 1 from HelperPWOCompliance pir join ComplianceRule cr on pir.uid_ComplianceRule = cr.uid_ComplianceRule\r\n  and cr.IsInActive = 0 and cr.IsWorkingCopy = 0  where pir.uid_PersonWantsOrg = @UID_Personwantsorg and isnull(cr.IsExceptionAllowed,0) = 0 ) begin select\r\n @Decision = 'False'  select @Reason = '#LDS#Compliance rules have been violated that have no valid exceptions. Rule: {0}.|OC|' select @IsDecision = 1 \r\ngoto istEntschieden end   if exists (select top 1 1 from pwohelperpwo where uid_personWantsOrg = @UID_Personwantsorg and LevelNumber = @levelnumber and\r\n uid_personHead is null ) begin select @Decision = 'False' select @Reason = '#LDS#There is no approver available for rule {0}.|OC|' select @IsDecision \r\n= 1 goto istEntschieden end  if exists (select top 1 1 from HelperPWOCompliance pir join ComplianceRule cr on pir.uid_ComplianceRule = cr.uid_ComplianceRule\r\n  and cr.IsInActive = 0 and cr.IsWorkingCopy = 0  where pir.uid_PersonWantsOrg = @UID_Personwantsorg and cr.isToGrantEver = 1 ) begin select @Decision \r\n= '' select @Reason = '#LDS#At least one rule has been violated that requires approval for every exception. Rule: {0}.|OC|' select @IsDecision = 0 goto\r\n istEntschieden end   select @AnzahlVerstoss = count(*) from HelperPWOCompliance where uid_PersonWantsOrg = @UID_Personwantsorg select @AnzahlGenehmigt\r\n = count(*) from HelperPWOCompliance pir join ComplianceRule cr on pir.uid_ComplianceRule = cr.uid_ComplianceRule and pir.uid_PersonWantsOrg = @UID_Personwantsorg\r\n  and cr.IsInActive = 0 and cr.IsWorkingCopy = 0    and cr.DetectRuleTypeForPWO <> 'AnyRule'  join personinBaseTree  pin on pin.uid_org  = cr.uid_nonCompliance\r\n and pin.uid_person = pir.uid_Person and pin.IsExceptiongranted = 1 and pin.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0 and pin.XOrigin\r\n > 0 if (@AnzahlVerstoss = @AnzahlGenehmigt) begin select @Decision = 'True'  select @Reason = '#LDS#All affected compliance rules have been granted exceptions. Rule: {0}.|OC|'\r\n select @IsDecision = 1 goto istEntschieden end else  begin select @IsDecision = 0 goto istEntschieden end   istEntschieden: if @IsDecision = 1 begin select\r\n @SQLcmd = N'uid_personwantsorg = ''' + rtrim(@uid_personwantsorg) + N''' and DecisionLevel = ' + STR(@DecisionLevel)  exec QBM_PJobCreate_HOCallMethod\r\n @objecttype = 'personwantsorg' , @whereclause = @SQLcmd , @save = 1 , @MethodName = 'MakeDecision' , @GenProcID = @GenprocID , @ObjectKeysAffected = DEFAULT\r\n , @param1 = 'sa' , @param2 = @decision , @param3 = @reason , @Retries = 3 , @isToFreezeOnError = 1  , @BasisObjectKey = @BasisObjectKey , @checkForExisting\r\n = 1  , @WhereClauseAdditional = ' OrderState in(''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'')'  end  else begin exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID update pwohelperpwo set decision = '' where levelnumber = @levelnumber and uid_personWantsOrg = @uid_personwantsorg and Decision\r\n in ( 'R', '+') end select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel:\r\n exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_ZITShopMakeDecisionOH",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:18",
      "ModifyDate": "2026-04-14T23:20:45.787",
      "Definition": "    create   procedure CPL_ZITShopMakeDecisionOH (@SlotNumber int) as begin  declare @DecisionLevel int declare @UID_Personwantsorg varchar(38) \r\ndeclare @GenProcID varchar(38) declare @CfgUseGenProcID bit = dbo.QBM_FCVStringToBit(dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\UseGenProcIDFromPWO'\r\n)) declare @Decision nvarchar(16) declare @Reason nvarchar(255) declare @uid_person varchar(38) declare @Levelnumber int declare @SQLcmd nvarchar(max) \r\ndeclare @IsDecision bit declare @AnzahlVerstoss int declare @AnzahlGenehmigt int declare @BasisObjectKey varchar(138) declare @GenProcID_R varchar(38) \r\n= dbo.QBM_FGISessionContext('') declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @DBQueueCurrent QBM_YDBQueueCurrent\r\n declare @QBM_BitPatternXMarkedForDel_Delay int = dbo.QBM_FGIBitPatternXMarkedForDel('|Delay|', 0)  declare @OrderState nvarchar(16) BEGIN TRY insert into\r\n @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from\r\n QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end insert into @ElementBuffer (UID1  , UID2\r\n  , UID3  , Int1  , ObjectKey1  , Int2  , LongIdent1  ) select distinct pwo.uid_personwantsorg , dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, p.GenProcID,\r\n @CfgUseGenProcID) as GenProcID , pwo.uid_personordered, ph.levelnumber, pwo.XObjectKey , pwo.DecisionLevel, pwo.OrderState from @DBQueueCurrent p join\r\n personwantsorg pwo on p.uid_parameter = pwo.uid_personwantsorg join PWOHelperPWO ph on pwo.uid_personwantsorg = ph.uid_personwantsorg and pwo.decisionlevel\r\n = ph.levelnumber  where ph.UID_PWODecisionRule = 'CPL-PWODecisionRule-OH'  select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex\r\n <= @ElementCount begin select top 1 @uid_personwantsorg = bu.UID1  , @GenProcID = bu.UID2  , @uid_person = bu.UID3  , @levelnumber = bu.Int1  , @BasisObjectKey\r\n = bu.ObjectKey1  , @DecisionLevel = bu.Int2 , @OrderState = bu.LongIdent1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex  select @IsDecision\r\n = 0 select @Decision = '' select @Reason = ''  if not exists (select top 1 1 from HelperPWOCompliance where uid_PersonWantsOrg = @UID_Personwantsorg) \r\nbegin   select @Decision = 'True'  select @Reason = '#LDS#No compliance rule has been violated., (missing CC step?) detected in Rule OH).|' select @IsDecision\r\n = 1 goto istEntschieden end   if exists (select top 1 1 from HelperPWOCompliance pir join ComplianceRule cr on pir.uid_ComplianceRule = cr.uid_ComplianceRule\r\n  and cr.IsInActive = 0 and cr.IsWorkingCopy = 0  where pir.uid_PersonWantsOrg = @UID_Personwantsorg and isnull(cr.IsExceptionAllowed,0) = 0 ) begin select\r\n @Decision = 'False'  select @Reason = '#LDS#Compliance rules have been violated that have no valid exceptions. Rule: {0}.|OH|' select @IsDecision = 1 \r\ngoto istEntschieden end   if exists (select top 1 1 from PWOHelperPWO where uid_personWantsOrg = @UID_Personwantsorg and LevelNumber = @levelnumber and\r\n uid_personHead is null and decision = 'R' ) begin select @Decision = 'False'  select @Reason = '#LDS#There is no approver available for rule {0}.|OH|'\r\n select @IsDecision = 1 end  if exists (select top 1 1 from HelperPWOCompliance pir join ComplianceRule cr on pir.uid_ComplianceRule = cr.uid_ComplianceRule\r\n  and cr.IsInActive = 0 and cr.IsWorkingCopy = 0  where pir.uid_PersonWantsOrg = @UID_Personwantsorg and cr.isToGrantEver = 1 ) begin select @Decision \r\n= '' select @Reason = '#LDS#At least one rule has been violated that requires approval for every exception. Rule: {0}.|OH|' select @IsDecision = 0 goto\r\n istEntschieden end   select @AnzahlVerstoss = count(*) from HelperPWOCompliance where uid_PersonWantsOrg = @UID_Personwantsorg select @AnzahlGenehmigt\r\n = count(*) from HelperPWOCompliance pir join ComplianceRule cr on pir.uid_ComplianceRule = cr.uid_ComplianceRule and pir.uid_PersonWantsOrg = @UID_Personwantsorg\r\n  and cr.IsInActive = 0 and cr.IsWorkingCopy = 0    and cr.DetectRuleTypeForPWO <> 'AnyRule'  join personinBaseTree  pin on pin.uid_org  = cr.uid_nonCompliance\r\n and pin.uid_person = pir.uid_person and pin.IsExceptiongranted = 1 and pin.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0 and pin.XOrigin\r\n > 0 if (@AnzahlVerstoss = @AnzahlGenehmigt) begin select @Decision = 'True'  select @Reason = '#LDS#All affected compliance rules have been granted exceptions. Rule: {0}.|OH|'\r\n select @IsDecision = 1 end else  begin select @IsDecision = 0 end  if exists (select top 1 1 from HelperPWOCompliance where uid_PersonWantsOrg = @UID_Personwantsorg\r\n) begin   if exists (select top 1 1 from HelperPWOCompliance pir join ComplianceRule cr on pir.uid_ComplianceRule = cr.uid_ComplianceRule  and cr.IsInActive\r\n = 0 and cr.IsWorkingCopy = 0  where pir.uid_PersonWantsOrg = @UID_Personwantsorg and isnull(cr.IsExceptionAllowed,0) = 0 ) begin select @Decision = 'False'\r\n  select @Reason = '#LDS#Compliance rules have been violated that have no valid exceptions. Rule: {0}.|OH|' select @IsDecision = 1 end end istEntschieden:\r\n if @IsDecision = 1 begin select @SQLcmd = N'uid_personwantsorg = ''' + rtrim(@uid_personwantsorg) + N''' and DecisionLevel = ' + STR(@DecisionLevel)  \r\nexec QBM_PJobCreate_HOCallMethod @objecttype = 'personwantsorg' , @whereclause = @SQLcmd , @save = 1 , @MethodName = 'MakeDecision' , @GenProcID = @GenprocID\r\n , @ObjectKeysAffected = DEFAULT , @param1 = 'sa' , @param2 = @decision , @param3 = @reason , @Retries = 3 , @isToFreezeOnError = 1  , @BasisObjectKey \r\n= @BasisObjectKey , @checkForExisting = 1  , @WhereClauseAdditional = ' OrderState in(''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'')'  end\r\n  else begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID update PWOHelperPWO set decision = '' where levelnumber = @levelnumber and uid_personWantsOrg\r\n = @uid_personwantsorg and Decision in ( 'R')  update PWOHelperPWO set Decision = '' from PWOHelperPWO ph join ( select top 1 h.UID_ComplianceRule from\r\n PWOHelperPWO h join ComplianceRule cr on h.UID_ComplianceRule = cr.UID_ComplianceRule where h.levelnumber = @levelnumber and h.UID_PersonWantsOrg = @uid_personwantsorg\r\n and h.Decision in ('+') order by isnull(cr.RuleSeverity, 0.0) desc, cr.UID_ComplianceRule asc ) as x on x.UID_ComplianceRule = ph.UID_ComplianceRule where\r\n ph.levelnumber = @levelnumber and ph.UID_PersonWantsOrg = @uid_personwantsorg and ph.Decision in ('+') and @OrderState = 'OrderProlongate'  end select\r\n @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_ZScheduleStartCheckRule",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:17.907",
      "ModifyDate": "2026-04-14T23:20:45.65",
      "Definition": "  create   procedure CPL_ZScheduleStartCheckRule ( @SlotNumber int ) AS begin declare @MyName nvarchar(64) = object_name(@@procid) BEGIN TRY   declare\r\n @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select r.uid_complianceRule\r\n as uid, cu.GenProcID from complianceRule r join QBMDBQueueCurrent cu with (readpast) on cu.UID_Parameter = r.UID_DialogScheduleCheck where r.IsWorkingCopy\r\n = 0  and r.IsInActive = 0 and cu.SlotNumber = @SlotNumber ) as x exec QBM_PDBQueueInsert_Bulk 'CPL-K-ComplianceCheckForRule', @DBQueueElements_01 END \r\nTRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_ZScheduleStartFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:17.917",
      "ModifyDate": "2026-04-14T23:20:45.663",
      "Definition": "  create   procedure CPL_ZScheduleStartFill ( @SlotNumber int ) AS begin declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent\r\n QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end   declare\r\n @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select s.uid_complianceSubRule\r\n as uid, cu.GenProcID from ComplianceSubrule s join complianceRule r on s.uid_complianceRule = r.uid_complianceRule join @DBQueueCurrent cu on cu.UID_Parameter\r\n = r.UID_DialogScheduleFill where r.IsWorkingCopy = 0  and r.IsInActive = 0 and r.IsSimpleMode = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'CPL-K-ComplianceSubRuleFillObject'\r\n, @DBQueueElements_01   declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, \r\nx.GenProcID from ( select r.uid_complianceRule as uid, cu.GenProcID from complianceRule r join @DBQueueCurrent cu on cu.UID_Parameter = r.UID_DialogScheduleFill\r\n where r.IsWorkingCopy = 0  and r.IsInActive = 0  ) as x exec QBM_PDBQueueInsert_Bulk 'CPL-K-ComplianceSubRuleFillPerson', @DBQueueElements_02 END TRY \r\nBEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_ZSubRuleFillObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:17.927",
      "ModifyDate": "2026-04-14T23:20:45.68",
      "Definition": "        create   procedure CPL_ZSubRuleFillObject ( @Slotnumber int , @uid_complianceSubrule varchar(38) , @Dummy1 varchar(38) , @GenProcID varchar\r\n(38) ) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin int declare @SQLcmd nvarchar(max) declare @whereclause\r\n nvarchar(max) declare @uid_ComplianceRule varchar(38) declare @isSimpleMode bit declare @IsInactive bit declare @IsWorkingCopy bit declare @ElementCount\r\n int declare @ElementIndex int declare @ElementLast int declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') BEGIN TRY select top 1 @whereclause\r\n = whereclause, @uid_complianceRule = uid_complianceRule from ComplianceSubRule where uid_complianceSubrule = @uid_complianceSubrule select @isSimpleMode\r\n = null select @isSimpleMode = isSimplemode, @IsInactive = isnull(IsInactive,0), @IsWorkingCopy = isnull(IsWorkingCopy,0) from ComplianceRule  where uid_complianceRule\r\n = @uid_complianceRule if isnull(@whereclause, N'') = '' or isnull(@isSimpleMode, 0) = 0 or @IsInactive = 1 or @IsWorkingCopy = 1 begin exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID delete ComplianceSubRuleObject where uid_complianceSubrule = @uid_complianceSubrule goto endLabel end insert into @SourceData(\r\n IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 0, 0 , uid_complianceSubrule, ObjectKeyElement, 1  from ComplianceSubRuleObject\r\n where uid_complianceSubrule = @uid_complianceSubrule select @SQLcmd = N'\r\n\t\tselect 1, 0,  1 \r\n\t\t\t, uid_complianceSubRule, ObjectKeyElement\r\n\t\tfrom ( '\r\n + @whereclause + '\r\n\t\t\t) as x \r\n\t--where ' + convert(nvarchar(16), @isinactive) + '  = 0\r\n\t--and ' + convert(nvarchar(16), @isworkingCopy) + ' = 0\r\n' \r\ninsert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement ) exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement =\r\n @SQLcmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@procid , @HandleErrorSilent = 0  berechnen: exec QBM_PDBQueueCalculateDelta\r\n @SourceData, @DeltaQuantity = 0, @DeltaDelete = 1, @DeltaInsert = 1, @DeltaOrigin = 0, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin\r\n = @CountDeltaOrigin output , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber  if @CountDeltaQantity > 0 begin declare @GenProcIDs_CountDeltaQuantity QBM_YCursorBuffer\r\n insert into @GenProcIDs_CountDeltaQuantity (UID1) select de.GenProcID from #QBMDeltaDelete de union select de.GenProcID from #QBMDeltaInsert de select\r\n @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin\r\n select top 1 @GenProcID = bu.UID1 from @GenProcIDs_CountDeltaQuantity bu where bu.ElementIndex = @ElementIndex if exists (select top 1 1 from #QBMDeltaDelete\r\n x where x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID delete from ComplianceSubRuleObject where exists (select \r\ntop 1 1 from #QBMDeltaDelete d where d.Element = ComplianceSubRuleObject.uid_complianceSubrule and d.AssignedElement = ComplianceSubRuleObject.ObjectKeyElement\r\n  and d.GenProcID = @GenProcID ) end  if exists (select top 1 1 from #QBMDeltaInsert x where x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID insert into ComplianceSubRuleObject (UID_ComplianceSubRuleObject, uid_complianceSubrule, ObjectKeyElement ) select newid(), Element\r\n, AssignedElement  from #QBMDeltaInsert where GenProcID = @GenProcID end  select @ElementIndex += 1 end  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_ZSubRuleFillPerson",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:17.947",
      "ModifyDate": "2026-04-14T23:20:45.71",
      "Definition": "create   procedure CPL_ZSubRuleFillPerson (@SlotNumber int , @UID_ComplianceRule varchar(38) , @dummy varchar(38) , @GenprocID varchar(38) ) AS \r\nbegin SET XACT_ABORT OFF BEGIN TRY exec CPL_PSubRuleFillPerson_i @UID_ComplianceRule, default, @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_ZSubRuleFillPersonS",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:17.96",
      "ModifyDate": "2026-04-14T23:20:45.727",
      "Definition": "create   procedure CPL_ZSubRuleFillPersonS (@SlotNumber int )  AS begin declare @DBQueueCurrent QBM_YDBQueueCurrent declare @ElementBuffer QBM_YCursorBuffer\r\n declare @ElementCount int declare @ElementIndex int declare @UID_ComplianceRule varchar(38) declare @uid_person varchar(38) declare @GenProcID varchar\r\n(38) declare @Persons QBM_YSingleGUID SET XACT_ABORT OFF BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber  insert\r\n into @ElementBuffer (UID1, UID3) select p.UID_Parameter, max(p.GenProcID) from @DBQueueCurrent p group by p.UID_Parameter select @ElementCount = @@ROWCOUNT\r\n select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @UID_ComplianceRule = bu.UID1 , @GenProcID = bu.UID3 from @ElementBuffer\r\n bu where bu.ElementIndex = @ElementIndex delete  @Persons insert into @Persons(UID_SingleGuid) select distinct cu.UID_SubParameter from @DBQueueCurrent\r\n cu where cu.UID_Parameter = @UID_ComplianceRule exec CPL_PSubRuleFillPerson_i @UID_ComplianceRule, @persons, @GenProcID select @ElementIndex += 1 end \r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "DPR_PAttachedDataStoreCleanUp",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:03.08",
      "ModifyDate": "2026-04-14T23:20:35.533",
      "Definition": "   create   procedure DPR_PAttachedDataStoreCleanUp as begin declare @cmd nvarchar(max) declare @TableName varchar(30) declare @DebugSwitch int \r\n= 0 declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int SET XACT_ABORT OFF BEGIN TRY delete DPRAttachedDataStore\r\n where OwnerObject is null  insert into @ElementBuffer (Ident1) select distinct dbo.QBM_FCVObjectkeyToElement('TableName', s.OwnerObject ) from DPRAttachedDataStore\r\n s where s.OwnerObject like '<Key><T>%' select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top\r\n 1 @TableName = bu.Ident1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex select @cmd = '\r\n\tdelete DPRAttachedDataStore\r\n\t\tfrom DPRAttachedDataStore s left outer join '\r\n + @TableName + '  e on s.OwnerObject = e.XObjectKey\r\n\t\twhere s.OwnerObject like ''<Key><T>' + @TableName + '</T>%''\r\n\t\t and e.XObjectKey is null' if @DebugSwitch\r\n > 0 begin print @cmd end exec sp_executeSQL @cmd select @ElementIndex += 1 end   delete DPRAttachedDataStore  from DPRAttachedDataStore ds join ( select\r\n a.UID_DPRAttachedDataStore, substring(a.SourceInfo , 13, 38) as UID_DPRSystemMappingRule from DPRAttachedDataStore a where a.SourceInfo like 'MembersRule:%'\r\n ) as x on ds.UID_DPRAttachedDataStore = x.UID_DPRAttachedDataStore left outer join DPRSystemMappingRule mr on x.UID_DPRSystemMappingRule = mr.UID_DPRSystemMappingRule\r\n where mr.UID_DPRSystemMappingRule is null  delete DPRAttachedDataStore from DPRAttachedDataStore s where not exists (select top 1 1 from ( select 'Schema['\r\n + s.SystemId + '].Type[' + st.Name + '].Property[' + sp.Name + ']' as OwnerProperty from DPRSchema s join DPRSchemaType st on s.UID_DPRSchema = st.UID_DPRSchema\r\n join DPRSchemaProperty sp on st.UID_DPRSchemaType = sp.UID_DPRSchemaType ) as x where x.OwnerProperty = s.OwnerProperty ) END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "DPR_PMemberShipActionCleanUp",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:03.093",
      "ModifyDate": "2026-04-14T23:20:35.547",
      "Definition": "   create   procedure DPR_PMemberShipActionCleanUp as begin declare @HoursLeft int = 24 declare @SQLCmd nvarchar(max) declare @DebugSwitch int =\r\n 0 declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int SET XACT_ABORT OFF BEGIN TRY  insert into @ElementBuffer\r\n (ContentFull) select concat( '\r\n\t\tupdate ' , x.TableName , ' set XDateSubItem = GETUTCDATE() ' , case dbo.QBM_FGIColumnExistsInSchema(x.TableName, 'XDateUpdated'\r\n) when 1 then ', XDateUpdated = getutcdate(), XUserUpdated = ''DPR_PMemberShipActionCleanUp'' ' else '' end , ' where XObjectKey = ''' , x.ObjectKeyBase\r\n , '''' ) from ( select a.ObjectKeyBase, dbo.QBM_FCVObjectkeyToElement('TableName', a.ObjectKeyBase) as TableName from DPRMemberShipAction a join DialogTable\r\n t with (readpast)  on a.ObjectKeyBase like '<Key><T>' + t.TableName + '</T>%' join DialogColumn c with (readpast) on t.UID_DialogTable = c.UID_DialogTable\r\n and c.columnname = 'XDateSubItem' left outer join QBMElementAffectedByJob ee on a.ObjectKeyBase = ee.ObjectKeyAffected where ee.ObjectKeyAffected is null\r\n and a.OperationDate < dateadd(HH, (-1) * @HoursLeft, GETUTCDATE()) ) as x select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex\r\n <= @ElementCount begin select top 1 @SQLCmd = bu.ContentFull from @ElementBuffer bu where bu.ElementIndex = @ElementIndex if @DebugSwitch > 0 begin print\r\n @SQLCmd end exec sp_executesql @SQLCmd select @ElementIndex += 1 end   delete DPRMemberShipAction  from DPRMemberShipAction a left outer join QBMElementAffectedByJob\r\n ee on a.ObjectKeyBase = ee.ObjectKeyAffected where ee.ObjectKeyAffected is null and a.OperationDate < dateadd(HH, (-1) * @HoursLeft, GETUTCDATE()) END\r\n TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT\r\n END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "DPR_PSlotResetWhileProj_L",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:03.07",
      "ModifyDate": "2026-04-14T23:20:35.517",
      "Definition": "   create   procedure DPR_PSlotResetWhileProj_L ( @DBQueueCurrent QBM_YDBQueueCurrent readonly , @ObjectKeysToCheck QBM_YParameterList readonly \r\n, @Operation varchar(38) , @SlotNumber int ) as begin declare @erg int = 0 declare @msg nvarchar(1000) declare @DebugLevel varchar(1) = 'W' declare @SuppressCount\r\n int = 30  declare @RunningSyncs QBM_YParameterList  declare @SlotNumberSource int declare @SlotNumberTarget int declare @DBQueueToMove QBM_YDBQCSCurrentToMove\r\n declare @RowsMoved int SET XACT_ABORT OFF BEGIN TRY insert into @RunningSyncs (Parameter1, Parameter2) select o.ObjectKeyRoot, o.BaseTableName from dbo.DPR_FTProjectionRootRunning\r\n() o if exists (select top 1 1 from @DBQueueCurrent cu join @ObjectKeysToCheck oc on cu.UID_Parameter = oc.Parameter1  join @RunningSyncs r on r.Parameter1\r\n = oc.Parameter2 ) begin insert into @DBQueueToMove(UID_DialogDBQueue) select cul.UID_DialogDBQueue from @DBQueueCurrent cul   join @ObjectKeysToCheck \r\noc on cul.UID_Parameter = oc.Parameter1  join @RunningSyncs r on r.Parameter1 = oc.Parameter2    select @erg = @@rowcount if @erg > 0 begin select @SlotNumberSource\r\n = @SlotNumber  select @SlotnumberTarget = dbo.QBM_FGIDBQueueSlotResetType( 'Sync') exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource\r\n, @SlotnumberTarget select @msg = '#LDS#Resetting operations {0} because Projection processes are still running for this element.|' + @Operation + '|' \r\nexec dbo.QBM_PJournal @msg, @@PROCID, 'W', @DebugLevel, @SuppressCount end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar\r\n(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH  ende: return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "DPR_PTriggerCreateMembership",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:03.147",
      "ModifyDate": "2026-04-14T23:20:35.607",
      "Definition": "               create   procedure DPR_PTriggerCreateMembership (@TableName varchar(30)   , @Operation varchar(16)  , @TriggerName varchar(30) ) \r\nas begin declare @TriggerBody nvarchar(max) declare @SQLcmd nvarchar(max) declare @tabletype nvarchar(1) declare @DebugLevel char(1) = 'W' declare @DebugMessage\r\n nvarchar(4000) declare @DebugSwitch int = 0 declare @IsDeactivatedByPreProcessor bit declare @VarDeclaration nvarchar(max) = '\r\n\t declare  @IsSimulationMode bit = dbo.QBM_FGIIsSimulationMode()\r\n\t declare @TrackingDate datetime = getutcdate()\r\n\t declare @SimulationModeBuffer QBM_YTriggerOperation\r\n '\r\n SET XACT_ABORT OFF BEGIN TRY select top 1 @tabletype = t.TableType , @IsDeactivatedByPreProcessor = t.IsDeactivatedByPreProcessor from DialogTable t with\r\n (readpast) where TableName = @TableName if @tabletype <> 'T' or @TableName in (select TableName from QBM_VHeavyLoadTables  ) or @IsDeactivatedByPreProcessor\r\n = 1 or not exists (select top 1 1 from information_schema.tables where table_name = @TableName and table_type in ('BASE TABLE', 'VIEW') ) begin goto dropOnly\r\n end select @TriggerBody = dbo.DPR_FSQTriggerWatchMemberShip(@TableName, @operation) if @TriggerBody like '--Debug%' begin if @DebugSwitch > 0 begin print\r\n @TriggerBody end select @TriggerBody = '' end select @TriggerBody = @TriggerBody + dbo.DPR_FSQTriggerRIMemberShip(@TableName, @operation) if @triggerbody\r\n > ' ' begin select @SQLcmd = dbo.QBM_FSQTriggerDef (@TriggerName , @TableName , @Operation , @TriggerBody , @VarDeclaration , 'Trigger DPRMembership for '\r\n + @TableName + '(' + @Operation + ')' ) if @DebugSwitch > 0 begin print substring(@SQLcmd, 1, 4000) print substring(@SQLcmd, 4001, 4000) print substring\r\n(@SQLcmd, 8001, 4000) print substring(@SQLcmd, 12001, 4000) print substring(@SQLcmd, 16001, 4000) print substring(@SQLcmd, 20001, 4000) print substring\r\n(@SQLcmd, 24001, 4000) print substring(@SQLcmd, 28001, 4000) print substring(@SQLcmd, 32001, 4000) print substring(@SQLcmd, 36001, 4000) print substring\r\n(@SQLcmd, 40001, 4000) print substring(@SQLcmd, 44001, 4000) print substring(@SQLcmd, 48001, 4000) print substring(@SQLcmd, 52001, 4000) print substring\r\n(@SQLcmd, 56001, 4000) print substring(@SQLcmd, 60001, 4000) print substring(@SQLcmd, 64001, 4000) print substring(@SQLcmd, 68001, 4000) print substring\r\n(@SQLcmd, 72001, 4000) print substring(@SQLcmd, 76001, 4000) print substring(@SQLcmd, 80001, 4000) print substring(@SQLcmd, 84001, 4000) print substring\r\n(@SQLcmd, 88001, 4000) print substring(@SQLcmd, 92001, 4000) print substring(@SQLcmd, 96001, 4000) end  exec QBM_PSQLCreate @TriggerName, 'T', @SQLcmd,\r\n @UnComment = 0 end else begin exec QBM_PTriggerDrop @TriggerName end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000\r\n) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return dropOnly: exec QBM_PTriggerDrop @TriggerName end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "DPR_ZTriggerCreateMembership",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:03.15",
      "ModifyDate": "2026-04-14T23:20:35.61",
      "Definition": "  create   procedure DPR_ZTriggerCreateMembership (@SlotNumber int , @TableName varchar(38) , @Dummy varchar(38) , @GenProcID varchar(38) ) as begin\r\n  declare @TriggerName varchar(30) declare @Triggersuffix nvarchar(100) = object_name(@@procid) declare @ResetMessage nvarchar(4000) SET XACT_ABORT OFF\r\n BEGIN TRY BEGIN TRY select @TriggerName = dbo.QBM_FGICodeName( 'T4', rtrim(@TableName )+ @Triggersuffix) exec DPR_PTriggerCreateMembership @TableName \r\n, N'INSERT', @TriggerName select @TriggerName = dbo.QBM_FGICodeName( 'T5', rtrim(@TableName )+ @Triggersuffix) exec DPR_PTriggerCreateMembership @TableName\r\n , N'UPDATE', @TriggerName select @TriggerName = dbo.QBM_FGICodeName( 'T6', rtrim(@TableName )+ @Triggersuffix) exec DPR_PTriggerCreateMembership @TableName\r\n , N'DELETE', @TriggerName END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default select @ResetMessage = ERROR_MESSAGE() if @@TRANCOUNT > 0 begin rollback\r\n end  exec QBM_PDBQueueCurrentResetNGen @SlotNumber , @ResetMessage , @@PROCID END CATCH END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_PAfterMigrationJobCreate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:49.923",
      "ModifyDate": "2026-04-14T23:20:49.923",
      "Definition": "  create   procedure LDP_PAfterMigrationJobCreate (@GenProcID varchar(38) ) as begin declare @MyModule varchar(3) = 'LDP' SET XACT_ABORT OFF BEGIN\r\n TRY declare @CountElements int declare @Puffer QBM_YCursorbuffer declare @ElementCount int declare @ElementIndex int declare @ElementLast int declare \r\n@SQL nvarchar(max) declare @Parameters QBM_YParameterList  insert into @Parameters (Parameter1, ContentFull) values ('SQLStmt', @SQL) , ('WithoutTransaction'\r\n, 'True')  select @CountElements = count(*) from LDAPAccount u where UID_Person is null and NeverConnectToPerson = 0 insert into @Puffer(ContentFull) select\r\n concat('exec QBM_PJobCreate_HOTemplate_B ''LDAPAccount'', ''UID_Person is null and NeverConnectToPerson = 0 and UID_LDAPAccount like ''''', hp.HexPattern\r\n, ''''' '', @Columns = ''NeverConnectToPerson''' , ',@GenProcID = ''', @Genprocid, '''' , ', @AdditionalObjectKeysAffected = default' ) from dbo.QBM_FTHexPattern\r\n( case when @CountElements > 20000000 then 3  when @CountElements > 3000000 then 2  else 1 end ) as hp select @ElementCount = @@ROWCOUNT select @ElementIndex\r\n = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @SQL = bu.ContentFull from @Puffer\r\n bu where bu.ElementIndex = @ElementIndex update @Parameters set ContentFull = @SQL where Parameter1 = 'SQLStmt' exec QBM_PJobCreate 'VI.JobService.JobComponents.SQLComponent'\r\n , 'Execute SQL' , @Parameters = @Parameters , @GenProcID = @Genprocid , @ObjectKeysAffected = default select @ElementIndex += 1 end  END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_PAfterMigrationTasks",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:49.89",
      "ModifyDate": "2026-04-14T23:20:49.89",
      "Definition": "  create   procedure LDP_PAfterMigrationTasks (@GenProcID varchar(38) ) as begin declare @MyModule varchar(3) = 'LDP' SET XACT_ABORT OFF BEGIN TRY\r\n               if exists (select top 1 1 from QBMModuleDef d where d.ModuleName = @MyModule and d.CheckSumForDelta = 0 ) begin  declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.UID_Element, null, @GenProcID from ( select y.UID_Org as UID_Element\r\n from BaseTree y where y.UID_Org like '___-%'  and y.XUserUpdated like 'QBM_PBufferT_Process%' and y.XDateUpdated > GETUTCDATE() -1 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'LDP-K-BaseTreeOwnsObject', @DBQueueElements_01 end else begin   if dbo.QBM_FGIDBOwner() not in ( @MyModule ) begin exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate'\r\n, 'LDP-K-BaseTreeOwnsObject', '', @GenProcID end  end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_RAccountInLDAPGroup",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:49.623",
      "ModifyDate": "2026-04-14T23:20:49.623",
      "Definition": "create   procedure LDP_RAccountInLDAPGroup (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'LDAPAccount', 'UID_LDAPAccount', @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent\r\n cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end if 1 = dbo.DPR_FGIProjectionRootRunning\r\n ('LDPDomain') begin insert into @ObjectKeysToCheck_Projection(Parameter1, Parameter2) select cu.UID_Parameter, ro.ObjectKeyRoot from @DBQueueCurrent cu\r\n join LDAPAccount a on a.UID_LDAPAccount = cu.UID_Parameter join LDP_VElementAndRoot ro on a.XObjectKey = ro.ObjectKeyElement  where ro.ElementTable = \r\n'LDAPAccount' exec @resetted = DPR_PSlotResetWhileProj_L @DBQueueCurrent, @ObjectKeysToCheck_Projection, @MyName, @SlotNumber if @resetted > 0 begin delete\r\n  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber\r\n = @SlotNumber where cu.UID_DialogDBQueue is null end end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2) select cu.UID_Parameter, x.XObjectKey\r\n from @DBQueueCurrent cu join LDAPAccount x on cu.UID_Parameter = x.UID_LDAPAccount exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID\r\n, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END\r\n CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_RBaseTreeHasObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:49.81",
      "ModifyDate": "2026-04-14T23:20:49.81",
      "Definition": "create   procedure LDP_RBaseTreeHasObject (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'BaseTree', 'UID_Org', @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_RBaseTreeOwnsObjectPrepair",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:49.853",
      "ModifyDate": "2026-04-14T23:20:49.853",
      "Definition": "create   procedure LDP_RBaseTreeOwnsObjectPrepair (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'BaseTree', 'UID_Org', @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent\r\n cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end  insert into @ObjectKeysToCheck_Jobrunning\r\n(Parameter1, Parameter2) select x.UID_Org, x.XObjectKey from @DBQueueCurrent cu join BaseTree x on cu.UID_Parameter = x.UID_Org exec @resetted = QBM_PSlotResetWhileJobRun_L\r\n @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_RGroupInLDAPGroup",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:49.653",
      "ModifyDate": "2026-04-14T23:20:49.653",
      "Definition": "create   procedure LDP_RGroupInLDAPGroup (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'LDAPGroup', 'uid_LDAPGroup', @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END\r\n CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_RLDPMachineInLDAPGroup",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:49.7",
      "ModifyDate": "2026-04-14T23:20:49.7",
      "Definition": "create   procedure LDP_RLDPMachineInLDAPGroup (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int declare @QBM_BitPatternXMarkedForDel_Delay\r\n int = dbo.QBM_FGIBitPatternXMarkedForDel('|Delay|', 0) declare @SlotNumberSource int declare @SlotNumberTarget int declare @DBQueueToMove QBM_YDBQCSCurrentToMove\r\n declare @RowsMoved int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, \r\nUID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel\r\n end  delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select cul.UID_DialogDBQueue from @DBQueueCurrent cul  left outer join LDPMachine\r\n m with (readpast) on uid_parameter = uid_LDPMachine where (m.UID_LDPMachine is null or m.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay > 0 )\r\n if @@ROWCOUNT > 0 begin select @SlotNumberSource = @SlotNumber  select @SlotnumberTarget = 0 exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove\r\n, @SlotNumberSource, @SlotnumberTarget  delete @DBQueueCurrent from @DBQueueCurrent cu join @DBQueueToMove mo on cu.UID_DialogDBQueue = mo.UID_DialogDBQueue\r\n end if 1 = dbo.DPR_FGIProjectionRootRunning ('LDPDomain') begin insert into @ObjectKeysToCheck_Projection(Parameter1, Parameter2) select cu.UID_Parameter\r\n, ro.ObjectKeyRoot from @DBQueueCurrent cu join LDPMachine a on a.UID_LDPMachine = cu.UID_Parameter join LDP_VElementAndRoot ro on a.XObjectKey = ro.ObjectKeyElement\r\n  where ro.ElementTable = 'LDPMachine' exec @resetted = DPR_PSlotResetWhileProj_L @DBQueueCurrent, @ObjectKeysToCheck_Projection, @MyName, @SlotNumber \r\nif @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue\r\n and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2) select cu.UID_Parameter\r\n, x.XObjectKey from @DBQueueCurrent cu join LDPMachine x on cu.UID_Parameter = x.UID_LDPMachine exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent\r\n, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH \r\nNOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_ROrgHasLDAPGroup",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:49.73",
      "ModifyDate": "2026-04-14T23:20:49.73",
      "Definition": "create   procedure LDP_ROrgHasLDAPGroup (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @UID_BasetreeAssignToUse varchar(38) = 'LDP-AsgnBT-LDAPGroup' declare \r\n@DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L @DBQueueCurrent, 'BaseTree', 'UID_Org', @SlotNumber if @resetted > 0 begin\r\n delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and \r\ncu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end exec @resetted = QER_PSlotResetOnInvalidRoot_L @DBQueueCurrent, @UID_BasetreeAssignToUse\r\n, @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue\r\n = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2\r\n) select cu.UID_Parameter, x.XObjectKey from @DBQueueCurrent cu join BaseTree x on cu.UID_Parameter = x.UID_Org exec @resetted = QBM_PSlotResetWhileJobRun_L\r\n @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_RPersonHasObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:49.78",
      "ModifyDate": "2026-04-14T23:20:49.78",
      "Definition": "create   procedure LDP_RPersonHasObject (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'Person', 'UID_Person', @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_ZAccountInLDAPGroup",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:49.613",
      "ModifyDate": "2026-04-14T23:20:49.613",
      "Definition": "       create   procedure LDP_ZAccountInLDAPGroup (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @GenProcID varchar(38) declare @PersonToCheck_L QBM_YSingleGUID declare @UID_BaseTreeAssignToUse varchar(38) = 'LDP-AsgnBT-LDAPGroup' declare\r\n @DBQueueCurrent QBM_YDBQueueCurrent declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @RowsToReset int declare @MyName nvarchar(64) = object_name\r\n(@@procid) declare @QBM_BitPatternXMarkedForDel_Delay int = dbo.QBM_FGIBitPatternXMarkedForDel('|Delay|', 0) declare @QBM_BitPatternXOrigin_Inherit int\r\n = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1) declare @PMDKeepMembershipsOfLinkedAccount\r\n varchar(16) = left(dbo.QBM_FGIConfigparmValue('QER\\Person\\User\\KeepMembershipsOfLinkedAccount'), 16) declare @QBM_BitPatternXMarkedForDel_Out int = dbo.QBM_FGIBitPatternXMarkedForDel\r\n('|OutStanding|', 0)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end insert\r\n into @PersonToCheck_L(UID_SingleGuid) select distinct a.UID_Person from @DBQueueCurrent cu join LDAPAccount a on cu.UID_Parameter = a.UID_LDAPAccount \r\nwhere a.UID_Person > ' '   insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore , XIsInEffectBefore, XIsInEffectAfter\r\n ) select 0, 0 , aig.UID_LDAPAccount, aig.UID_LDAPGroup, aig.XOrigin , aig.XIsInEffect , 0 from LDAPAccountInLDAPGroup aig join @DBQueueCurrent x on UID_LDAPAccount\r\n = x.UID_parameter join LDAPGroup g on aig.uid_LDAPGroup = g.uid_LDAPgroup and g.IsDynamicGroup = 0  where aig.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay\r\n = 0  and g.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0  insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element\r\n, AssignedElement , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0, aig.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv , aig.UID_LDAPAccount, aig.UID_LDAPGroup\r\n , 0, dbo.TSB_FGIUserInGroupValid_OVR_Ke ( p.IsInActive, p.IsTemporaryDeactivated, p.XMarkedForDeletion, bh.PFDInheritGroup, bh.PTDInheritGroup, bh.PMDInheritGroup\r\n, 1, p.IsSecurityIncident, bh.PSIInheritGroup, n.AccountDisabled, bh.ADAInheritGroup , ovr.PFDInheritOverwrite, ovr.PTDInheritOverwrite, ovr.PSIInheritOverwrite\r\n, ovr.PMDInheritOverwrite, ovr.ADAInheritOverwrite, @PMDKeepMembershipsOfLinkedAccount)  from LDAPAccountInLDAPGroup aig join @DBQueueCurrent x on aig.UID_LDAPAccount\r\n = x.UID_parameter join LDAPGroup g on aig.uid_LDAPGroup = g.uid_LDAPgroup and g.IsDynamicGroup = 0  and g.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out\r\n = 0  join LDAPAccount n on aig.UID_LDAPAccount = n.UID_LDAPAccount  join LDPDomain d on n.UID_LDPDomain = d.UID_LDPDomain left outer join TSBSpecificGroupBehavior\r\n ovr on ovr.ObjectKeyGroup = g.XObjectKey  left outer join person p on n.UID_person = p.UID_person  left outer join TSBBehavior bh on n.UID_TSBBehavior\r\n = bh.UID_TSBBehavior  insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectBefore, XIsInEffectAfter\r\n ) select 1, 0 , x.UID_LDAPAccount, x.UID_LDAPGroup, @QBM_BitPatternXOrigin_Inherit , 0, dbo.TSB_FGIUserInGroupValid_OVR_Ke ( p.IsInActive, p.IsTemporaryDeactivated\r\n, p.XMarkedForDeletion, bh.PFDInheritGroup, bh.PTDInheritGroup, bh.PMDInheritGroup, 0, p.IsSecurityIncident, bh.PSIInheritGroup, x.AccountDisabled, bh.ADAInheritGroup\r\n , ovr.PFDInheritOverwrite, ovr.PTDInheritOverwrite, ovr.PSIInheritOverwrite, ovr.PMDInheritOverwrite, ovr.ADAInheritOverwrite, @PMDKeepMembershipsOfLinkedAccount\r\n)  from (  select nt.UID_LDAPAccount , ohg.UID_LDAPGroup , nt.UID_LDPDomain , nt.UID_person, nt.AccountDisabled , nt.UID_TSBAccountDef , nt.UID_TSBBehavior\r\n, gg.XObjectKey from LDAPAccount nt join @DBQueueCurrent x on nt.UID_LDAPAccount = x.UID_parameter   and nt.isGroupAccount = 1 join dbo.QER_FTAccountInheritFromOrg_L\r\n(@PersonToCheck_L , @UID_BaseTreeAssignToUse ) pfo on pfo.UID_Person = nt.UID_Person join BaseTreeHasLDAPGroup ohg on ohg.uid_org = pfo.UID_Org and ohg.XOrigin\r\n > 0 and ohg.XIsInEffect = 1 join LDAPGroup gg on ohg.UID_LDAPGroup = gg.UID_LDAPGroup and gg.IsDynamicGroup = 0  and gg.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out\r\n = 0   and ( nt.UID_LDPDomain = gg.UID_LDPDomain     )  where dbo.TSB_FGIGroupAccountMatching( gg.MatchPatternForMembership, nt.MatchPatternForMembership\r\n) = 1  union all select nt.UID_LDAPAccount , gg.UID_LDAPGroup , nt.UID_LDPDomain , nt.UID_person , nt.AccountDisabled , nt.UID_TSBAccountDef , nt.UID_TSBBehavior\r\n, gg.XObjectKey from LDAPAccount nt join @DBQueueCurrent x on nt.UID_LDAPAccount = x.UID_parameter   and nt.isGroupAccount = 1  join person px on nt.uid_person\r\n = px.uid_person and px.isNoInherite = 0  join personHasESet phe on nt.UID_person = phe.UID_person and phe.XOrigin > 0 and phe.XIsInEffect = 1 join ESetHasEntitlement\r\n ehe on phe.uid_ESet = ehe.uid_ESet and ehe.XOrigin > 0 and ehe.XIsInEffect = 1 and dbo.QBM_FGIModuleExists('RMS') = 1 join LDAPGroup gg on ehe.entitlement\r\n = gg.XObjectKey and gg.IsDynamicGroup = 0  and gg.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0   and ( nt.UID_LDPDomain = gg.UID_LDPDomain\r\n     )  where dbo.TSB_FGIGroupAccountMatching( gg.MatchPatternForMembership, nt.MatchPatternForMembership) = 1 ) as x join LDPDomain d on x.UID_LDPDomain\r\n = d.UID_LDPDomain left outer join TSBSpecificGroupBehavior ovr on ovr.ObjectKeyGroup = x.XObjectKey  left outer join person p on x.UID_person = p.UID_person\r\n  left outer join TSBBehavior bh on x.UID_TSBBehavior = bh.UID_TSBBehavior   where (not (isnull(p.XMarkedForDeletion, 0) & @QBM_BitPatternXMarkedForDel_Delay\r\n > 0 and bh.PMDInheritGroup is null and @PMDKeepMembershipsOfLinkedAccount <> 'ALL' and ovr.PMDInheritOverwrite is null ) )  if 1 = dbo.DPR_FGIProjectionRootRunning\r\n ('LDPDomain') begin insert into @ObjectKeysToCheck_Projection(Parameter1, Parameter2) select cu.UID_Parameter, ro.ObjectKeyRoot from @DBQueueCurrent cu\r\n join @Sourcedata sd on cu.UID_Parameter = sd.Element join LDAPGroup g on sd.AssignedElement = g.UID_LDAPGroup join LDP_VElementAndRoot ro on g.XObjectKey\r\n = ro.ObjectKeyElement  join LDAPAccount a on cu.UID_Parameter = a.UID_LDAPAccount and a.UID_LDPDomain <> g.UID_LDPDomain  where ro.ElementTable = 'LDAPGroup'\r\n exec @RowsToReset = DPR_PSlotResetWhileProj_L @DBQueueCurrent, @ObjectKeysToCheck_Projection, @MyName, @SlotNumber if @RowsToReset > 0 begin delete  @DBQueueCurrent\r\n from @DBQueueCurrent cu left outer join QBMDBQueueCurrent d with (readpast) on cu.UID_DialogDBQueue = d.UID_DialogDBQueue and d.SlotNumber = @SlotNumber\r\n where d.UID_DialogDBQueue is null delete  @Sourcedata from @Sourcedata s left outer join @DBQueueCurrent cu on s.Element = cu.UID_Parameter where cu.UID_DialogDBQueue\r\n is null end end if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\GroupExclusion') > ' ' begin if exists (select top 1 1 from LDAPGroupExclusion \r\nex with (nolock) join @Sourcedata s on ex.UID_LDAPGroupLower  = s.AssignedElement where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter\r\n = 1 ) begin declare @ExcludeCandidate QER_YExcludeCandidate insert into @ExcludeCandidate(Element, AssignedElement, XIsInEffectAfter) select s.Element\r\n, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_LDAPGroupLower as UID_Excluded from LDAPGroupExclusion exe ) as ex on s.AssignedElement\r\n = ex.UID_Excluded where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 union all select s.Element, s.AssignedElement, 1 from\r\n @Sourcedata s join ( select exe.UID_LDAPGroupHigher as UID_Excluding from LDAPGroupExclusion exe ) as ex on s.AssignedElement = ex.UID_Excluding where\r\n s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 update @ExcludeCandidate set XIsInEffectAfter = 0 from @ExcludeCandidate l \r\n join ( select exe.UID_LDAPGroupLower as UID_Excluded, exe.UID_LDAPGroupHigher as UID_Excluding from LDAPGroupExclusion exe ) as ex on l.AssignedElement\r\n = ex.UID_Excluded join (select sh.* from @ExcludeCandidate sh  ) as h on l.Element = h.Element and h.AssignedElement = ex.UID_Excluding if @@ROWCOUNT \r\n> 0 begin update @Sourcedata set XIsInEffectAfter = 0 from @Sourcedata l join @ExcludeCandidate k on l.Element = k.Element and l.AssignedElement = k.AssignedElement\r\n and k.XIsInEffectAfter = 0 where l.IsUpcommingContent = 1 and l.XOriginAfter > 0 and l.XIsInEffectAfter = 1 end end  end    exec QBM_PDBQueueCalculateDelta\r\n @SourceData, @DeltaQuantity = 0, @DeltaDelete = 0, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin\r\n = @CountDeltaOrigin output , @UseIsInEffect = 1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaOrigin > 0 begin exec\r\n QBM_PMNTableOriginUpdate 'LDAPAccountInLDAPGroup', 'UID_LDAPAccount', 'UID_LDAPGroup' end if @CountDeltaQantity > 0 begin exec QBM_PMNTableInsert 'LDAPAccountInLDAPGroup'\r\n, 'UID_LDAPAccount', 'UID_LDAPGroup', @TargetIsView = 0 , @FKTableNameElement = 'LDAPAccount' , @FKColumnNameElement = 'UID_LDAPAccount'  end END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_ZAllForOneHardware",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:49.867",
      "ModifyDate": "2026-04-14T23:20:49.867",
      "Definition": "      create   procedure LDP_ZAllForOneHardware (@SlotNumber int) as begin BEGIN TRY declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select m.uid_LDPMachine as uid, x.GenProcID from QBMDBQueueCurrent x with (readpast\r\n) join Hardware h on x.uid_parameter = h.uid_Hardware and x.SlotNumber = @SlotNumber join LDPMachine m on h.uid_Hardware = m.uid_Hardware ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'LDP-K-LDPMachineInLDAPGroup', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_ZAllForOneOrg",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:49.907",
      "ModifyDate": "2026-04-14T23:20:49.907",
      "Definition": "  create   procedure LDP_ZAllForOneOrg (@SlotNumber int) as begin BEGIN TRY declare @dummy int END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_ZAllForOnePerson",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:49.9",
      "ModifyDate": "2026-04-14T23:20:49.9",
      "Definition": "   create   procedure LDP_ZAllForOnePerson (@SlotNumber int) as begin BEGIN TRY declare @dummy int END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_ZAllForOneWorkDesk",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:49.877",
      "ModifyDate": "2026-04-14T23:20:49.877",
      "Definition": "       create   procedure LDP_ZAllForOneWorkDesk (@SlotNumber int) as begin   BEGIN TRY declare @DBQueueElements_01 QBM_YDBQueueRaw insert into \r\n@DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select distinct m.uid_LDPMachine as uid, x.GenProcID from QBMDBQueueCurrent\r\n x with (readpast) join Hardware h on x.uid_parameter = h.uid_WorkDesk and x.SlotNumber = @SlotNumber join LDPMachine m on h.uid_Hardware = m.uid_Hardware\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-LDPMachineInLDAPGroup', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_ZBaseTreeHasObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:49.8",
      "ModifyDate": "2026-04-14T23:20:49.8",
      "Definition": "      create   procedure LDP_ZBaseTreeHasObject (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @QER_BitPattern_Inherit_0 int = dbo.QER_FGIBitPatternInheritInfo('|Inherit|', 0) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @QBM_BitPatternXOrigin_Inherit\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 0, 0 , uid_Org\r\n, ObjectKey, InheritInfo from BaseTreeHasObject bho join @DBQueueCurrent x on uid_Org = x.uid_parameter where bho.ObjectKey like '<Key><T>LDAPGroup</T>%'\r\n  insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , y.UID_Org, z.XObjectKey, dbo.QER_FCVXOriginToInheritInfo\r\n(y.XOrigin) from BaseTreeHasLDAPGroup y join @DBQueueCurrent x on y.UID_Org= x.uid_parameter and y.XOrigin > 0 and y.XIsInEffect = 1 join LDAPGroup z on\r\n z.uid_LDAPGroup = y.uid_LDAPGroup if dbo.QBM_FGIModuleExists('RMS') = 1 begin insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement\r\n, XOriginAfter ) select 1, 0 , y.UID_Org, ehe.Entitlement, dbo.QER_FCVXOriginToInheritInfo(@QBM_BitPatternXOrigin_Inherit) from BaseTreeHasESet y join \r\n@DBQueueCurrent x on y.UID_Org = x.uid_parameter and y.XOrigin > 0 and y.XIsInEffect = 1 join ESetHasEntitlement ehe on ehe.UID_ESet = y.UID_ESet and ehe.XOrigin\r\n > 0 and ehe.XIsInEffect = 1 join BaseTree b on y.UID_Org = b.UID_Org  and not (b.UID_OrgRoot in ( 'QER-V-ITShopOrg', 'QER-V-ITShopSrc') and b.ITShopInfo\r\n in ( 'BO', 'PR', 'BG', 'BT') ) join OrgRootAssign oa on oa.UID_OrgRoot = b.UID_OrgRoot and oa.IsAssignmentAllowed = 1 where (ehe.Entitlement like '<Key><T>LDAPGroup</T>%'\r\n and oa.UID_BaseTreeAssign = 'LDP-AsgnBT-LDAPGroup')        end   insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement\r\n, XOriginAfter ) select 1, 0 , t.Element, t.XObjectKey, @QER_BitPattern_Inherit_0 from ( select distinct ho.Element, p.XObjectKey from @SourceData ho join\r\n LDAPGroup g on ho.AssignedElement = g.XObjectKey  join LDAPGroupCollection co on co.UID_LDAPGroupChild = g.uid_LDAPGroup join LDAPGroup p on co.UID_LDAPGroupParent\r\n = p.UID_LDAPGroup where ho.IsUpcommingContent = 1 and co.UID_LDAPGroupChild <> co.UID_LDAPGroupParent  ) as t         berechnen: exec QBM_PDBQueueCalculateDelta\r\n @SourceData, @DeltaQuantity = 0, @DeltaDelete = 1, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin\r\n = @CountDeltaOrigin output , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent exec QER_PBasetreeHasObjectPostProc\r\n @CountDeltaOrigin, @CountDeltaQantity END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_ZBaseTreeOwnsObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:49.833",
      "ModifyDate": "2026-04-14T23:20:49.833",
      "Definition": "      create   procedure LDP_ZBaseTreeOwnsObject (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @TopNode varchar(38) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @QER_BitPatternOwnershipInfo_Top int = dbo.QER_FGIBitPatternOwnershipInfo\r\n('|Top|', 0) declare @QER_BitPatternOwnershipInfo_Lower int = dbo.QER_FGIBitPatternOwnershipInfo('|Lower|', 0) declare @QER_BitPatternOwnershipInfo_Higher\r\n int = dbo.QER_FGIBitPatternOwnershipInfo('|Higher|', 0) declare @QER_BitPatternOwnershipInfo_Lower_Top int = dbo.QER_FGIBitPatternOwnershipInfo('|Lower|Top|'\r\n, 0) declare @QER_BitPatternOwnershipInfo_Higher_Top int = dbo.QER_FGIBitPatternOwnershipInfo('|Higher|Top|', 0)  BEGIN TRY insert into @DBQueueCurrent\r\n(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent\r\n cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end select @TopNode = 'LDP-AEROLE-NAMESPACEADMIN-LDAP'  insert\r\n into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 0, 0 , bho.uid_Org, bho.ObjectKey, bho.OwnershipInfo\r\n from BaseTreeOwnsObject bho join (select a.XObjectKey, a.UID_LDPDomain from LDPDomain a union all select c.XObjectKey, c.UID_LDPDomain from LDAPContainer\r\n c ) as y on bho.ObjectKey = y.XObjectKey join @DBQueueCurrent x on y.UID_LDPDomain = x.uid_parameter  insert into @SourceData( IsUpcommingContent, XOriginBefore\r\n , Element, AssignedElement, XOriginAfter ) select 1, 0 , x.Element, x.AssignedElement, x.XOriginAfter from ( select c.XObjectKey as AssignedElement , \r\ncase when c.UID_AERoleOwner > ' ' and bc.UID_ParentOrg = c.UID_AERoleOwner then @QER_BitPatternOwnershipInfo_Lower when c.UID_AERoleOwner > ' ' and bc.UID_ParentOrg\r\n <> c.UID_AERoleOwner then @QER_BitPatternOwnershipInfo_Lower_Top when d.UID_AERoleOwner > ' ' and bc.UID_ParentOrg = d.UID_AERoleOwner then @QER_BitPatternOwnershipInfo_Higher\r\n when d.UID_AERoleOwner > ' ' and bc.UID_ParentOrg <> d.UID_AERoleOwner then @QER_BitPatternOwnershipInfo_Higher_Top else @QER_BitPatternOwnershipInfo_Top\r\n end as XOriginAfter , bc.UID_ParentOrg as Element from LDPDomain d join @DBQueueCurrent x on d.UID_LDPDomain = x.uid_parameter cross join (select @TopNode\r\n as TopNode ) as o join LDAPContainer c on c.UID_LDPDomain = d.UID_LDPDomain  join BaseTree b on b.UID_Org = case when c.UID_AERoleOwner > ' ' then c.UID_AERoleOwner\r\n when d.UID_AERoleOwner > ' ' then d.UID_AERoleOwner else o.TopNode end JOIN BaseTreeCollection bc on bc.UID_Org = b.UID_Org  and exists (select Top 1 \r\n1 from BaseTreeCollection up where up.UID_Org = bc.UID_Org and up.UID_ParentOrg = @TopNode )  left outer join BaseTreeCollection up2 on bc.UID_ParentOrg\r\n = up2.UID_ParentOrg and up2.UID_Org <> up2.UID_ParentOrg and up2.UID_Org = @TopNode where up2.UID_Org is null union select d.XObjectKey as AssignedElement\r\n , case when d.UID_AERoleOwner > ' ' and bc.UID_ParentOrg = d.UID_AERoleOwner then @QER_BitPatternOwnershipInfo_Higher when d.UID_AERoleOwner > ' ' and\r\n bc.UID_ParentOrg <> d.UID_AERoleOwner then @QER_BitPatternOwnershipInfo_Higher_Top else @QER_BitPatternOwnershipInfo_Top end as XOriginAfter , bc.UID_ParentOrg\r\n as Element from LDPDomain d join @DBQueueCurrent x on d.UID_LDPDomain = x.uid_parameter cross join (select @TopNode as TopNode ) as o  join BaseTree b\r\n on b.UID_Org = case when d.UID_AERoleOwner > ' ' then d.UID_AERoleOwner else o.TopNode end   JOIN BaseTreeCollection bc on bc.UID_Org = b.UID_Org  and\r\n exists (select Top 1 1 from BaseTreeCollection up where up.UID_Org = bc.UID_Org and up.UID_ParentOrg = @TopNode )  left outer join BaseTreeCollection \r\nup2 on bc.UID_ParentOrg = up2.UID_ParentOrg and up2.UID_Org <> up2.UID_ParentOrg and up2.UID_Org = @TopNode where up2.UID_Org is null ) as x calculateDifference:\r\n exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete = 1, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity\r\n output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent exec \r\nQER_PBasetreeOwnsObjectPost_L @CountDeltaOrigin, @CountDeltaQantity, @DBQueueCurrent END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (''\r\n, 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_ZBaseTreeOwnsObjectPrepair",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:49.847",
      "ModifyDate": "2026-04-14T23:20:49.847",
      "Definition": "      create   procedure LDP_ZBaseTreeOwnsObjectPrepair (@SlotNumber int) AS begin declare @MyName nvarchar(64) = object_name(@@procid) declare \r\n@GenProcID varchar(38) declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter\r\n, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber\r\n if @@rowcount = 0 begin goto EndLabel end if exists (select top 1 1 from @DBQueueCurrent c join BaseTreeCollectionF b on c.UID_Parameter = b.UID_Org where\r\n b.UID_ParentOrg = 'LDP-AEROLE-NAMESPACEADMIN-LDAP' ) begin select top 1 @GenProcID = c.GenProcID from @DBQueueCurrent c join BaseTreeCollectionF b on \r\nc.UID_Parameter = b.UID_Org where b.UID_ParentOrg = 'LDP-AEROLE-NAMESPACEADMIN-LDAP' exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate', 'LDP-K-BaseTreeOwnsObject'\r\n, '', @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_ZGroupInLDAPGroup",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:49.647",
      "ModifyDate": "2026-04-14T23:20:49.647",
      "Definition": "   create   procedure LDP_ZGroupInLDAPGroup (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @lauf int declare @GenProcID varchar(38) declare @ElementCount int declare @ElementIndex int declare @ElementLast int declare @GenProcID_R\r\n varchar(38) = dbo.QBM_FGISessionContext('') declare @QBMDeltaHelper QBM_YDBQueueDeltaHelper declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end insert into @SourceData( IsUpcommingContent\r\n, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 0, 0 , UID_LDAPGroupParent, UID_LDAPGroupChild, levelnumber + 1  from LDAPGroupCollection\r\n join @DBQueueCurrent x on UID_LDAPGroupParent = x.uid_parameter   insert into @QBMDeltaHelper( Element, AssignedElement, XOrigin) select uid_parameter\r\n, uid_parameter, 1  from @DBQueueCurrent p  select @lauf = 1 while @lauf > 0 begin insert into @QBMDeltaHelper (Element, AssignedElement, XOrigin) select\r\n distinct a.Element, gig.uid_LDAPGroupChild, a.XOrigin +1 from @QBMDeltaHelper a join LDAPGroupInLDAPGroup gig on a.AssignedElement = gig.uid_LDAPGroupParent\r\n where Not exists (select top 1 1 from @QBMDeltaHelper e where e.Element = a.Element and e.AssignedElement = gig.uid_LDAPGroupChild ) select @lauf = @@rowcount\r\n end insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement ) select 1, 0, XOrigin , Element, AssignedElement\r\n from @QBMDeltaHelper exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete = 1, @DeltaInsert = 1, @DeltaOrigin = 1,  @CountDeltaQantity\r\n = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = \r\n@DBQueueCurrent if @CountDeltaQantity > 0 begin declare @GenProcIDs_CountDeltaQuantity QBM_YCursorBuffer insert into @GenProcIDs_CountDeltaQuantity (UID1\r\n) select de.GenProcID from #QBMDeltaDelete de union select de.GenProcID from #QBMDeltaInsert de select @ElementCount = @@ROWCOUNT select @ElementIndex \r\n= @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @GenProcID = bu.UID1 from @GenProcIDs_CountDeltaQuantity\r\n bu where bu.ElementIndex = @ElementIndex if exists (select top 1 1 from #QBMDeltaDelete x where x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID delete LDAPGroupCollection where exists (select top 1 1 from #QBMDeltaDelete d where d.AssignedElement = LDAPGroupCollection.uid_LDAPGroupChild\r\n and d.Element = LDAPGroupCollection.uid_LDAPGroupParent and d.GenProcID = @GenProcID ) end  if exists (select top 1 1 from #QBMDeltaInsert x where x.GenProcID\r\n = @GenProcID ) begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID insert into LDAPGroupCollection ( UID_LDAPGroupParent, UID_LDAPGroupChild, LevelNumber\r\n , XObjectKey ) select x.uid_LDAPGroupParent, x.uid_LDAPGroupChild, x.LevelNumber -1  ,dbo.QBM_FCVElementToObjectKey2('LDAPGroupCollection', 'UID_LDAPGroupParent'\r\n, x.UID_LDAPGroupParent, 'UID_LDAPGroupChild', x.UID_LDAPGroupChild) from ( select Element as uid_LDAPGroupParent, AssignedElement as uid_LDAPGroupChild\r\n, XOrigin as Levelnumber from #QBMDeltaInsert where GenProcID = @GenProcID ) as x end  exec QBM_PDBQueueInsert_Single 'LDP-K-LDAPGroupInLDAPGroup-Circ'\r\n, '', '', @GenProcID select @ElementIndex += 1 end  end  if @CountDeltaOrigin > 0 begin declare @GenProcIDs_CountDeltaOrigin QBM_YCursorBuffer insert into\r\n @GenProcIDs_CountDeltaOrigin (UID1) select distinct de.GenProcID from #QBMDeltaOrigin de select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY\r\n - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @GenProcID = bu.UID1 from @GenProcIDs_CountDeltaOrigin\r\n bu where bu.ElementIndex = @ElementIndex exec QBM_PSessionContextSet 'GenProcID', @GenProcID update LDAPGroupCollection set Levelnumber = x.LevelNumber\r\n -1  from LDAPGroupCollection co join ( select Element as uid_LDAPGroupParent, AssignedElement as uid_LDAPGroupChild, XOrigin as LevelNumber from #QBMDeltaOrigin\r\n where GenProcID = @GenProcID ) as x on co.UID_LDAPGroupParent = x.uid_LDAPGroupParent and co.UID_LDAPGroupChild = x.uid_LDAPGroupChild where co.LevelNumber\r\n <> x.Levelnumber -1  select @ElementIndex += 1 end  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n  endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_ZGroupInLDAPGroup_Circ",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:49.663",
      "ModifyDate": "2026-04-14T23:20:49.663",
      "Definition": "      create   procedure LDP_ZGroupInLDAPGroup_Circ ( @SlotNumberDummy int , @dummy1 varchar(38) , @Dummy2 varchar(38) , @GenProcIDDummy varchar\r\n(38) ) as begin  BEGIN TRY update LDAPGroupCollection set IsCircular = 1 from LDAPGroupCollection co where co.UID_LDAPGroupChild <> co.UID_LDAPGroupParent\r\n and exists (select top 1 1 from LDAPGroupCollection ce where co.UID_LDAPGroupChild = ce.UID_LDAPGroupParent and co.UID_LDAPGroupParent = ce.UID_LDAPGroupChild\r\n ) and IsCircular = 0  update LDAPGroupCollection set IsCircular = 0 from LDAPGroupCollection co where co.UID_LDAPGroupChild <> co.UID_LDAPGroupParent \r\nand not exists (select top 1 1 from LDAPGroupCollection ce where co.UID_LDAPGroupChild = ce.UID_LDAPGroupParent and co.UID_LDAPGroupParent = ce.UID_LDAPGroupChild\r\n ) and IsCircular = 1  update LDAPGroupCollection set IsCircular = 1 from LDAPGroupCollection co where co.UID_LDAPGroupChild = co.UID_LDAPGroupParent and\r\n exists (select top 1 1 from LDAPGroupCollection ce where co.UID_LDAPGroupParent = ce.UID_LDAPGroupParent and ce.UID_LDAPGroupChild <> ce.UID_LDAPGroupParent\r\n and IsCircular = 1 ) and IsCircular = 0 update LDAPGroupCollection set IsCircular = 0 from LDAPGroupCollection co where co.UID_LDAPGroupChild = co.UID_LDAPGroupParent\r\n and not exists (select top 1 1 from LDAPGroupCollection ce where co.UID_LDAPGroupParent = ce.UID_LDAPGroupParent and ce.UID_LDAPGroupChild <> ce.UID_LDAPGroupParent\r\n and IsCircular = 1 ) and IsCircular = 1 update LDAPGroupCollection set IsCircular = x.IsCircular from LDAPGroupCollection co join (select y.UID_LDAPGroupChild\r\n, y.IsCircular from LDAPGroupCollection y where y.UID_LDAPGroupChild = y.UID_LDAPGroupParent ) as x on x.UID_LDAPGroupChild = co.UID_LDAPGroupChild where\r\n co.IsCircular <> x.IsCircular  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_ZLDPMachineInLDAPGroup",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:49.69",
      "ModifyDate": "2026-04-14T23:20:49.69",
      "Definition": "       create   procedure LDP_ZLDPMachineInLDAPGroup (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int ,\r\n @CountDeltaOrigin int declare @GenProcID varchar(38) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @ObjectKeysToCheck_Projection QBM_YParameterList\r\n declare @RowsToReset int declare @MyName nvarchar(64) = object_name(@@procid) declare @QBM_BitPatternXMarkedForDel_Delay int = dbo.QBM_FGIBitPatternXMarkedForDel\r\n('|Delay|', 0) declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int\r\n = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select\r\n UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end  insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore , XIsInEffectBefore, \r\nXIsInEffectAfter ) select 0, 0 , aig.UID_LDPMachine, aig.UID_LDAPGroup, aig.XOrigin , aig.XIsInEffect, 0 from @DBQueueCurrent x join LDPMachineInLDAPGroup\r\n aig on aig.UID_LDPMachine = x.uid_parameter join LDAPGroup g on aig.uid_LDAPGroup = g.uid_LDAPgroup and g.IsDynamicGroup = 0  where aig.XMarkedForDeletion\r\n & @QBM_BitPatternXMarkedForDel_Delay = 0  insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement , XIsInEffectBefore\r\n, XIsInEffectAfter ) select 1, 0, hia.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv , hia.UID_LDPMachine, hia.UID_LDAPGroup , 0, 1 from @DBQueueCurrent \r\nx join LDPMachineInLDAPGroup hia on hia.UID_LDPMachine = x.uid_parameter join LDPMachine h on hia.UID_LDPMachine = h.UID_LDPMachine join LDAPGroup g on\r\n hia.uid_LDAPGroup = g.uid_LDAPgroup and g.IsDynamicGroup = 0  where h.UID_LDPDomain = g.UID_LDPDomain if dbo.QBM_FGIConfigparmValue('TargetSystem\\LDAP\\HardwareInGroupFromOrg'\r\n) > ' '  begin insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectBefore, XIsInEffectAfter\r\n ) select 1, 0 , y.uid_LDPMachine, y.UID_LDAPGroup, @QBM_BitPatternXOrigin_Inherit , 0, 1 from ( select nt.UID_LDPMachine , ohg.UID_LDAPGroup from LDPMachine\r\n nt join @DBQueueCurrent x on nt.UID_LDPMachine = x.uid_parameter  and nt.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0 join Hardware h on\r\n nt.uid_Hardware = h.uid_Hardware join WorkDesk w on h.uid_WorkDesk = w.uid_WorkDesk and w.IsNoInherite = 0 join  ( select hpo.uid_WorkDesk , hpo.uid_org\r\n from helperWorkDeskorg hpo union select pio.uid_WorkDesk , pio.uid_org from WorkDeskinBaseTree pio where pio.XOrigin > 0   ) as hwo  on h.uid_WorkDesk\r\n = hwo.uid_WorkDesk join BaseTreeHasLDAPGroup ohg on ohg.uid_org = hwo.uid_org and ohg.XOrigin > 0 and ohg.XIsInEffect = 1 join BaseTree b on b.uid_org\r\n = ohg.uid_org and b.IsNoInheriteToWorkDesk = 0 join LDAPGroup gg on ohg.UID_LDAPGroup = gg.UID_LDAPGroup and gg.IsDynamicGroup = 0  and nt.UID_LDPDomain\r\n = gg.UID_LDPDomain union all  select m.UID_LDPMachine , ohg.UID_LDAPGroup from  ( select m.UID_LDPMachine , hpo.uid_org from @DBQueueCurrent p join LDPMachine\r\n m on p.uid_parameter = m.UID_LDPMachine join helperHardwareorg hpo on m.uid_Hardware = hpo.uid_Hardware union select m.UID_LDPMachine , pio.uid_org from\r\n @DBQueueCurrent p join LDPMachine m on p.uid_parameter = m.UID_LDPMachine join HardwareinBaseTree pio on m.uid_Hardware = pio.uid_Hardware and pio.XOrigin\r\n > 0   ) as hho  join LDPMachine m on m.UID_LDPMachine = hho.UID_LDPMachine  and m.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0  join BaseTreeHasLDAPGroup\r\n ohg on ohg.uid_org = hho.uid_org and ohg.XOrigin > 0 and ohg.XIsInEffect = 1 join BaseTree b on b.uid_org = ohg.uid_org and b.IsNoInheriteToHardware =\r\n 0 join LDAPGroup gg on ohg.UID_LDAPGroup = gg.UID_LDAPGroup and gg.IsDynamicGroup = 0  join LDAPContainer cu on m.UID_LDAPcontainer = cu.UID_LDAPcontainer\r\n  and cu.UID_LDPDomain = gg.UID_LDPDomain ) as y  end  if dbo.QBM_FGIModuleExists('RMS') = 1 begin insert into @SourceData( IsUpcommingContent, XOriginBefore\r\n , Element, AssignedElement, XOriginAfter , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0 , nt.UID_LDPMachine , gg.UID_LDAPGroup , @QBM_BitPatternXOrigin_Inherit\r\n as XOrigin , 0, 1 from LDPMachine nt join @DBQueueCurrent x on nt.UID_LDPMachine = x.uid_parameter  and nt.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay\r\n = 0 join Hardware h on nt.uid_Hardware = h.uid_Hardware join WorkDeskHasESet whe on h.uid_WorkDesk = whe.uid_WorkDesk and whe.XOrigin > 0 and whe.XIsInEffect\r\n = 1 join ESetHasEntitlement ehe on whe.uid_ESet = ehe.UID_ESet and ehe.XOrigin > 0 and ehe.XIsInEffect = 1 join LDAPGroup gg on ehe.Entitlement = gg.XObjectKey\r\n and gg.IsDynamicGroup = 0  join LDAPContainer cu on nt.UID_LDAPcontainer = cu.UID_LDAPcontainer  and cu.UID_LDPDomain = gg.UID_LDPDomain end    if 1 =\r\n dbo.DPR_FGIProjectionRootRunning ('LDPDomain') begin insert into @ObjectKeysToCheck_Projection(Parameter1, Parameter2) select cu.UID_Parameter, ro.ObjectKeyRoot\r\n from @DBQueueCurrent cu join @Sourcedata sd on cu.UID_Parameter = sd.Element join LDAPGroup g on sd.AssignedElement= g.uid_LDAPGroup join LDP_VElementAndRoot\r\n ro on g.XObjectKey = ro.ObjectKeyElement  join LDPMachine a on cu.UID_Parameter = a.UID_LDPMachine and a.UID_LDPDomain <> g.UID_LDPDomain  where ro.ElementTable\r\n = 'LDAPGroup' exec @RowsToReset = DPR_PSlotResetWhileProj_L @DBQueueCurrent, @ObjectKeysToCheck_Projection, @MyName, @SlotNumber if @RowsToReset > 0 begin\r\n delete  @DBQueueCurrent from @DBQueueCurrent cu left outer join QBMDBQueueCurrent d with (readpast) on cu.UID_DialogDBQueue = d.UID_DialogDBQueue and \r\nd.SlotNumber = @SlotNumber where d.UID_DialogDBQueue is null delete  @Sourcedata from @Sourcedata s left outer join @DBQueueCurrent cu on s.Element = cu.UID_Parameter\r\n where cu.UID_DialogDBQueue is null end end if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\GroupExclusion') > ' ' begin if exists (select top 1\r\n 1 from LDAPGroupExclusion ex with (nolock) join @Sourcedata s on ex.UID_LDAPGroupLower  = s.AssignedElement where s.IsUpcommingContent = 1 and s.XOriginAfter\r\n > 0 and s.XIsInEffectAfter = 1 ) begin declare @ExcludeCandidate QER_YExcludeCandidate insert into @ExcludeCandidate(Element, AssignedElement, XIsInEffectAfter\r\n) select s.Element, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_LDAPGroupLower as UID_Excluded from LDAPGroupExclusion exe ) as ex on\r\n s.AssignedElement = ex.UID_Excluded where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 union all select s.Element, s.AssignedElement\r\n, 1 from @Sourcedata s join ( select exe.UID_LDAPGroupHigher as UID_Excluding from LDAPGroupExclusion exe ) as ex on s.AssignedElement = ex.UID_Excluding\r\n where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 update @ExcludeCandidate set XIsInEffectAfter = 0 from @ExcludeCandidate\r\n l  join ( select exe.UID_LDAPGroupLower as UID_Excluded, exe.UID_LDAPGroupHigher as UID_Excluding from LDAPGroupExclusion exe ) as ex on l.AssignedElement\r\n = ex.UID_Excluded join (select sh.* from @ExcludeCandidate sh  ) as h on l.Element = h.Element and h.AssignedElement = ex.UID_Excluding if @@ROWCOUNT \r\n> 0 begin update @Sourcedata set XIsInEffectAfter = 0 from @Sourcedata l join @ExcludeCandidate k on l.Element = k.Element and l.AssignedElement = k.AssignedElement\r\n and k.XIsInEffectAfter = 0 where l.IsUpcommingContent = 1 and l.XOriginAfter > 0 and l.XIsInEffectAfter = 1 end end  end   exec QBM_PDBQueueCalculateDelta\r\n @SourceData, @DeltaQuantity = 0, @DeltaDelete = 0, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin\r\n = @CountDeltaOrigin output , @UseIsInEffect = 1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaOrigin > 0 begin exec\r\n QBM_PMNTableOriginUpdate 'LDPMachineInLDAPGroup', 'uid_LDPMachine', 'uid_LDAPGroup' end if @CountDeltaQantity > 0 begin exec QBM_PMNTableInsert 'LDPMachineInLDAPGroup'\r\n, 'uid_LDPMachine', 'uid_LDAPGroup', @TargetIsView = 0 , @FKTableNameElement = 'LDPMachine' , @FKColumnNameElement = 'uid_LDPMachine' end END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_ZOrgHasLDAPGroup",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:49.72",
      "ModifyDate": "2026-04-14T23:20:49.72",
      "Definition": "       create   procedure LDP_ZOrgHasLDAPGroup (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @GenProcID varchar(38) declare @DebugLevel char(1) = 'W' declare @UID_BasetreeAssignToUse varchar(38) = 'LDP-AsgnBT-LDAPGroup' declare @DBQueueCurrent\r\n QBM_YDBQueueCurrent declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore , XIsInEffectBefore ) \r\nselect 0, 0 , uid_org, uid_LDAPGroup, XOrigin , XIsInEffect from BaseTreeHasLDAPGroup join @DBQueueCurrent x on uid_org =x.uid_parameter insert into @SourceData\r\n( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement , XIsInEffectAfter ) select 1, 0, ohg.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv\r\n , x.uid_parameter, ohg.uid_LDAPGroup , 1 from BaseTreeHasLDAPGroup ohg join @DBQueueCurrent x on ohg.uid_org = x.uid_parameter  where ohg.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv\r\n > 0 insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectAfter ) select 1, 0 , x.uid_parameter\r\n, ohg.uid_LDAPGroup, @QBM_BitPatternXOrigin_Inherit , 1 from BaseTreeHasLDAPGroup ohg join BaseTreeCollection oc on ohg.uid_org = oc.uid_parentorg and \r\nohg.XOrigin > 0 and ohg.XIsInEffect = 1 join LDAPGroup gg on ohg.uid_LDAPGroup = gg.UID_LDAPGroup  join @DBQueueCurrent x on oc.uid_org = x.uid_parameter\r\n where oc.uid_org <> oc.uid_parentorg  and ohg.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 if dbo.QBM_FGIModuleExists('RMS') = 1 begin if dbo.QBM_FGIConfigparmValue\r\n('QER\\Structures\\Inherite\\NoESetSplitting') = '' begin insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter\r\n , XIsInEffectAfter ) select 1, 0 , x.uid_parameter, y.uid_LDAPGroup, @QBM_BitPatternXOrigin_Inherit  , 1 from @DBQueueCurrent x join BaseTreeHasEset bhe\r\n on x.uid_Parameter = bhe.uid_org and bhe.XOrigin > 0 and bhe.XIsInEffect = 1 join ESetHasEntitlement ehe on bhe.uid_ESet = ehe.uid_ESet and ehe.XOrigin\r\n > 0 and ehe.XIsInEffect = 1 join LDAPGroup y on ehe.entitlement = y.XObjectKey join BaseTree b on bhe.UID_Org = b.UID_Org  and not (b.UID_OrgRoot in (\r\n 'QER-V-ITShopOrg', 'QER-V-ITShopSrc') and b.ITShopInfo in ( 'BO', 'PR', 'BG', 'BT') ) join OrgRootAssign oa on oa.UID_OrgRoot = b.UID_OrgRoot and oa.UID_BaseTreeAssign\r\n = @UID_BasetreeAssignToUse and oa.IsAssignmentAllowed = 1  end else begin  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select cu.UID_Parameter as uid, cu.GenProcID from @DBQueueCurrent cu ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'LDP-K-BaseTreeHasObject', @DBQueueElements_01 end end  if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\GroupExclusion'\r\n) > ' ' begin if exists (select top 1 1 from LDAPGroupExclusion ex with (nolock) join @Sourcedata s on ex.UID_LDAPGroupLower  = s.AssignedElement where\r\n s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 ) begin declare @ExcludeCandidate QER_YExcludeCandidate insert into @ExcludeCandidate\r\n(Element, AssignedElement, XIsInEffectAfter) select s.Element, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_LDAPGroupLower as UID_Excluded\r\n from LDAPGroupExclusion exe ) as ex on s.AssignedElement = ex.UID_Excluded where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter\r\n = 1 union all select s.Element, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_LDAPGroupHigher as UID_Excluding from LDAPGroupExclusion\r\n exe ) as ex on s.AssignedElement = ex.UID_Excluding where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1  delete  @ExcludeCandidate\r\n from @ExcludeCandidate ex where exists (select top 1 1 from BaseTree b where ex.Element = b.UID_Org and b.UID_OrgRoot in ( 'QER-V-ITShopOrg', 'QER-V-ITShopSrc'\r\n) and b.ITShopInfo in ( 'BO',  'BG', 'BT') )  update @ExcludeCandidate set XIsInEffectAfter = 0 from @ExcludeCandidate l  join ( select exe.UID_LDAPGroupLower\r\n as UID_Excluded, exe.UID_LDAPGroupHigher as UID_Excluding from LDAPGroupExclusion exe ) as ex on l.AssignedElement = ex.UID_Excluded join (select sh.*\r\n from @ExcludeCandidate sh  ) as h on l.Element = h.Element and h.AssignedElement = ex.UID_Excluding if @@ROWCOUNT > 0 begin update @Sourcedata set XIsInEffectAfter\r\n = 0 from @Sourcedata l join @ExcludeCandidate k on l.Element = k.Element and l.AssignedElement = k.AssignedElement and k.XIsInEffectAfter = 0 where l.IsUpcommingContent\r\n = 1 and l.XOriginAfter > 0 and l.XIsInEffectAfter = 1 end end  end  exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete = 0,\r\n @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 1\r\n , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaOrigin > 0 begin exec QBM_PMNTableOriginUpdate 'BaseTreeHasLDAPGroup'\r\n, 'UID_Org', 'uid_LDAPGroup' end if @CountDeltaQantity > 0 begin exec QER_PMNTableAddViewProperties 'BaseTreeHasLDAPGroup' exec QBM_PMNTableInsert 'BaseTreeHasLDAPGroup'\r\n, 'UID_Org', 'uid_LDAPGroup', @TargetIsView = 1 , @FKTableNameElement = 'BaseTree' , @FKColumnNameElement = 'UID_Org' end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_ZPersonHasLDAPGroup",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:49.74",
      "ModifyDate": "2026-04-14T23:20:49.74",
      "Definition": "    create   procedure LDP_ZPersonHasLDAPGroup (@SlotNumber int) AS begin BEGIN TRY declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select distinct a.uid_LDAPAccount as uid, p.GenProcID from QBMDBQueueCurrent p with\r\n (readpast) join LDAPAccount a on a.uid_person = p.uid_Parameter and p.SlotNumber = @SlotNumber and a.UID_Person > ' ' ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'LDP-K-LDAPAccountInLDAPGroup', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH \r\nende: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_ZPersonHasObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:49.773",
      "ModifyDate": "2026-04-14T23:20:49.773",
      "Definition": "      create   procedure LDP_ZPersonHasObject (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @QER_BitPattern_Inherit_0 int = dbo.QER_FGIBitPatternInheritInfo('|Inherit|', 0) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @QBM_BitPatternXMarkedForDel_Delay\r\n int = dbo.QBM_FGIBitPatternXMarkedForDel('|Delay|', 0) declare @QER_BitPatternInherit_Direct int = dbo.QER_FGIBitPatternInheritInfo('|Direct|', 0) declare\r\n @QER_BitPatternInherit_Master int = dbo.QER_FGIBitPatternInheritInfo('|Master|', 0)  declare @IncludeTSBPersonUsesAccount nvarchar(1024) = dbo.QBM_FGIConfigparmValue\r\n('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount') BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 0, 0 , pho.UID_Person\r\n, pho.ObjectKey, pho.InheritInfo from PersonHasObject pho join @DBQueueCurrent x on pho.UID_Person = x.uid_parameter where pho.ObjectKey like '<Key><T>LDAPAccount</T>%'\r\n or pho.ObjectKey like '<Key><T>LDAPGroup</T>%'  insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) \r\nselect 1, 0 , y.uid_person, y.XObjectKey, @QER_BitPatternInherit_Direct from LDAPAccount y join @DBQueueCurrent x on y.uid_person= x.uid_parameter and \r\ny.UID_Person > ' '  if @IncludeTSBPersonUsesAccount = '1' begin insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, \r\nXOriginAfter ) select 1, 0 , y.uid_person, y.ObjectKeyAccount, @QER_BitPattern_Inherit_0 from TSBPersonUsesAccount y join @DBQueueCurrent x on y.uid_person=\r\n x.uid_parameter join LDAPAccount a on y.ObjectKeyAccount = a.XObjectKey end  insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement\r\n, XOriginAfter ) select 1, 0 , y.uid_person, q.XObjectKey, dbo.QER_FCVXOriginToInheritInfo(z.XOrigin) from LDAPAccount y join @DBQueueCurrent x on y.uid_person=\r\n x.uid_parameter and y.UID_Person > ' ' join LDAPAccountInLDAPGroup z on y.uid_LDAPAccount = z.uid_LDAPAccount and z.XOrigin > 0 and z.XIsInEffect = 1 \r\n join LDAPGroup q on q.uid_LDAPGroup = z.uid_LDAPGroup where z.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0  if @IncludeTSBPersonUsesAccount\r\n = '1' begin insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , y.uid_person, q.XObjectKey\r\n, @QER_BitPattern_Inherit_0 from TSBPersonUsesAccount y join @DBQueueCurrent x on y.uid_person = x.uid_parameter join LDAPAccount a on y.ObjectKeyAccount\r\n = a.XObjectKey join LDAPAccountInLDAPGroup z on a.uid_LDAPAccount = z.uid_LDAPAccount and z.XOrigin > 0 and z.XIsInEffect = 1  join LDAPGroup q on q.uid_LDAPGroup\r\n = z.uid_LDAPGroup where z.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0 end   insert into @SourceData( IsUpcommingContent, XOriginBefore\r\n , Element, AssignedElement, XOriginAfter ) select 1, 0 , t.Element, t.XObjectKey, @QER_BitPattern_Inherit_0 from ( select distinct ho.Element, p.XObjectKey\r\n from @SourceData ho join LDAPGroup g on ho.AssignedElement = g.XObjectKey  join LDAPGroupCollection co on co.UID_LDAPGroupChild = g.uid_LDAPGroup join\r\n LDAPGroup p on co.UID_LDAPGroupParent = p.UID_LDAPGroup where ho.IsUpcommingContent = 1 and co.UID_LDAPGroupChild <> co.UID_LDAPGroupParent  ) as t   \r\n       insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , m.uid_person, pho.objectkey,\r\n @QER_BitPatternInherit_Master from @DBQueueCurrent x join person m on m.UID_Person = x.uid_parameter  join person s on s.UID_PersonMasterIdentity = m.uid_Person\r\n join PersonHasObject pho on pho.uid_person = s.uid_person where pho.ObjectKey like '<Key><T>LDAPAccount</T>%' or pho.ObjectKey like '<Key><T>LDAPGroup</T>%'\r\n   if @IncludeTSBPersonUsesAccount = '1' begin insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select\r\n 1, 0 , m.uid_person, pho.ObjectKey, @QER_BitPatternInherit_Master from TSBPersonUsesAccount y join @DBQueueCurrent x on y.uid_person = x.uid_parameter\r\n join person m on m.UID_Person = y.uid_person join person s on s.UID_PersonMasterIdentity = m.uid_Person join PersonHasObject pho on pho.uid_person = s.uid_person\r\n where pho.ObjectKey like '<Key><T>LDAPAccount</T>%' or pho.ObjectKey like '<Key><T>LDAPGroup</T>%' end   berechnen: exec QBM_PDBQueueCalculateDelta @SourceData\r\n, @DeltaQuantity = 1, @DeltaDelete = 1, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin\r\n output , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent exec QER_PPersonHasObjectPostProc @SlotNumber , @CountDeltaOrigin\r\n , @CountDeltaQantity , 'LDP-K-PersonHasObject' END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel:\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_ZWorkDeskInLDAPGroup",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:49.75",
      "ModifyDate": "2026-04-14T23:20:49.75",
      "Definition": "      create   procedure LDP_ZWorkDeskInLDAPGroup (@SlotNumber int) AS begin BEGIN TRY declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select distinct m.uid_LDPMachine as uid, p.GenProcID from QBMDBQueueCurrent p with\r\n (readpast) join Hardware a on a.uid_WorkDesk = p.uid_Parameter and p.SlotNumber = @SlotNumber join LDPMachine m on a.uid_Hardware = m.uid_Hardware  ) \r\nas x exec QBM_PDBQueueInsert_Bulk 'LDP-K-LDPMachineInLDAPGroup', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (''\r\n, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "POL_PQERPolicyMakeProc",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:19.227",
      "ModifyDate": "2026-04-14T23:20:46.087",
      "Definition": "         create   procedure POL_PQERPolicyMakeProc (@uid_QERPolicy varchar(38) , @Procname varchar(30) ) as begin declare @whereClause nvarchar(max\r\n) declare @Ident_QERPolicy nvarchar(64) declare @TableName nvarchar(32) declare @isToGrantEver bit  declare @PreInsert nvarchar(max) declare @PreDelete\r\n nvarchar(max) declare @PostInsert nvarchar(max) declare @PostDelete nvarchar(max) declare @SQLcmdKomplett nvarchar(max) declare @ErrorMessage nvarchar\r\n(4000) declare @ErrorSeverity int declare @ErrorState int declare @DebugSwitch int = 0 declare @DebugLevel char(1) = 'W' SET XACT_ABORT OFF BEGIN TRY select\r\n @whereClause = whereclause , @Ident_QERPolicy = replace(isnull(p.Ident_QERPolicy, N''), N'''', N'''''') , @TableName = t.TableName from QERPolicy p join\r\n DialogTable t on t.UID_DialogTable = p.UID_DialogTable where p.UID_QERPolicy = @uid_QERPolicy if rtrim(isnull(@whereClause, N'') ) = N'' begin select \r\n@whereClause = N'1=1' end   select @PreInsert = '\r\ntruncate table #QBMDeltaInsert \r\n\r\ninsert into  #QBMDeltaInsert (Element, AssignedElement )\r\n  select '''\r\n + rtrim(@UID_QERPolicy) + N''',  XObjectKey\r\n  from ' + @TableName + '\r\n  where Not exists (select top 1 1 from QERPolicyHasObject pho\r\n                     where pho.uid_QERPolicy = '''\r\n + rtrim(@UID_QERPolicy) + N'''\r\n                     and pho.Objectkey = ' + @TableName + '.XObjectKey\r\n                   )\r\n    and (\r\n-- StartUserCondition \r\n'\r\n  select @PostInsert = '\r\n-- EndUserCondition \r\n      )\r\n' select @PreDelete = '\r\ntruncate table #QBMDeltaDelete\r\n\r\ninsert into  #QBMDeltaDelete (Element, AssignedElement )\r\n  select '''\r\n + rtrim(@UID_QERPolicy) + ''', pho.ObjectKey\r\n  from QERPolicyHasObject pho \r\n\t\tleft outer join ( select XObjectKey\t\r\n\t\t\t\t\t\t\tfrom  ' + @TableName + '  \r\n\t\t\t\t\t\t\twhere (\r\n\t\t\t\t\t\t\t\t-- StartUserCondition \r\n\t'\r\n  select @PostDelete = '\r\n\t\t\t\t\t\t\t\t-- EndUserCondition \r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t) as xxp on pho.ObjectKey = xxp.XObjectKey\r\n  where pho.uid_QERPolicy =  ''' \r\n+ rtrim(@UID_QERPolicy) + N'''\r\n   and xxp.XObjectKey is null\r\n'  select @SQLcmdKomplett = dbo.QBM_FSQProcedureDef(@Procname, '', @Preinsert + @whereclause\r\n + @Postinsert + @Predelete + @whereclause + @PostDelete , 'QERPolicy : ' + @Ident_QERPolicy + '(' + @uid_QERPolicy + ')' ) if @DebugSwitch > 0 begin print\r\n @SQLcmdKomplett end exec QBM_PSQLCreate @Procname, 'P', @SQLcmdKomplett, @UnComment = 0 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "POL_RQERPolicyFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:19.217",
      "ModifyDate": "2026-04-14T23:20:46.077",
      "Definition": "create   procedure POL_RQERPolicyFill (@SlotNumber int , @UID_QERPolicy varchar(38) , @UID_SubParameter varchar(38) , @GenProcID varchar(38) ) AS\r\n begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning QBM_YParameterList declare @MyName nvarchar(64) =\r\n object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int declare @SlotNumberSource int declare @SlotNumberTarget int declare\r\n @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter\r\n, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber\r\n if @@rowcount = 0 begin goto EndLabel end  delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select cul.UID_DialogDBQueue from @DBQueueCurrent\r\n cul  left outer join QERPolicy p with (readpast) on cul.UID_Parameter = p.UID_QERPolicy and isnull(p.IsInActive,0) = 0 and isnull(p.IsWorkingCopy,0) =\r\n 0 and isnull(p.IsNoWhereClause,0) = 0 where p.UID_QERPolicy is null if @@ROWCOUNT > 0 begin select @SlotNumberSource = @SlotNumber  select @SlotnumberTarget\r\n = 0 exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget  delete @DBQueueCurrent from @DBQueueCurrent cu \r\njoin @DBQueueToMove mo on cu.UID_DialogDBQueue = mo.UID_DialogDBQueue end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2) select x.UID_QERPolicy\r\n, x.XObjectKey from @DBQueueCurrent cu join QERPolicy x on cu.UID_Parameter = x.UID_QERPolicy exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent\r\n, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH \r\nNOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "POL_ZQERPolicyFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:19.21",
      "ModifyDate": "2026-04-14T23:20:46.067",
      "Definition": "    create   procedure POL_ZQERPolicyFill (@SlotNumber int , @UID_QERPolicy varchar(38) , @UID_SubParameter varchar(38) , @GenProcID varchar(38)\r\n ) as begin declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @procname nvarchar(64) declare @BasisObjectKey varchar(138) = dbo.QBM_FCVElementToObjectKey1\r\n('QERPolicy', 'UID_QERPolicy', @UID_QERPolicy) BEGIN TRY select @procname = dbo.QBM_FGICodeName('PO', @uid_QERPolicy)  if exists (select top 1 1 from sys.procedures\r\n where name = @procname ) begin exec @procname end        declare @ObjectkeysToDelete QBM_YParameterList insert into @ObjectkeysToDelete(Parameter1) select\r\n pho.XObjectKey from QERPolicyHasObject pho with (readpast) join #QBMDeltaDelete d on pho.UID_QERPolicy = @UID_QERPolicy and pho.ObjectKey = d.AssignedElement\r\n exec QBM_PJobCreate_HODelete_L 'QERPolicyHasObject', @ObjectkeysToDelete, @GenProcID , @AdditionalObjectKeysAffected = default , @IsToFreezeOnError = \r\n1 , @BasisObjectKey = @BasisObjectKey   update #QBMDeltaInsert set genprocid = @GenProcID exec QBM_PMNTableInsertOwnPK 'QERPolicyHasObject', 'UID_QERPolicy'\r\n, 'ObjectKey' , @FKTableNameElement = 'QERPolicy' , @FKColumnNameElement = 'UID_QERPolicy'  update QERPolicyHasObject set IsDecisionMade = 1 , IsExceptionGranted\r\n = 0 , DecisionDate = GetUTCDate() , DecisionReason = 'No exception allowed' from QERPolicyHasObject pho join QERPolicy p on pho.UID_QERPolicy = p.UID_QERPolicy\r\n where p.UID_QERPolicy = @UID_QERPolicy and p.IsExceptionAllowed = 0  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH \r\nNOWAIT END CATCH  endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "POL_ZQERPolicyMakeProc",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:19.23",
      "ModifyDate": "2026-04-14T23:20:46.097",
      "Definition": "  create   procedure POL_ZQERPolicyMakeProc (@SlotNumber int) as begin  declare @uid_QERPolicy varchar(38) declare @SQLcmd nvarchar(max) declare\r\n @Procname varchar(30) declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int SET XACT_ABORT OFF BEGIN TRY insert\r\n into @ElementBuffer (UID1) select uid_parameter from QBMDBQueueCurrent p with (readpast) where p.SlotNumber = @SlotNumber select @ElementCount = @@ROWCOUNT\r\n select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @uid_QERPolicy = bu.UID1 from @ElementBuffer bu where bu.ElementIndex\r\n = @ElementIndex select @procname = dbo.QBM_FGICodeName('PO', @uid_QERPolicy)  if exists (select top 1 1 from QERPolicy where uid_QERPolicy = @uid_QERPolicy\r\n  and isnull(isInactive,0) = 0 and isnull(isWorkingCopy,0) = 0 and isnull(isNoWhereClause,0) = 0 ) begin exec POL_PQERPolicyMakeProc @uid_QERPolicy, @procname\r\n end else begin exec QBM_PProcedureDrop @procname end select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (''\r\n, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "POL_ZScheduleStart",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:19.237",
      "ModifyDate": "2026-04-14T23:20:46.107",
      "Definition": "  create   procedure POL_ZScheduleStart ( @SlotNumber int ) AS begin declare @MyName nvarchar(64) = object_name(@@procid) BEGIN TRY   declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select r.uid_QERPolicy as uid, cu.GenProcID\r\n from QERPolicy r join QBMDBQueueCurrent cu with (readpast) on cu.UID_Parameter = r.UID_DialogScheduleFill where r.IsWorkingCopy = 0 and r.IsInActive =\r\n 0 ) as x exec QBM_PDBQueueInsert_Bulk 'POL-K-QERPolicyFill', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', \r\n18, 1) WITH NOWAIT END CATCH  ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_P0443A4E1724A1CB3D52A2C2_a",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.267",
      "ModifyDate": "2026-04-14T23:20:25.953",
      "Definition": "      create   procedure QBM_P0443A4E1724A1CB3D52A2C2_a ( @BlockSize int , @ReadyForDeleteOrExport int , @KeyPattern varchar(25) , @Grenzdatum datetime\r\n ) as begin declare @BlockPuffer QBM_YSingleGUID declare @lauf int declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate\r\n() declare @CountRowsToDelete int insert into @BlockPuffer(UID_SingleGuid) select top (@BlockSize) w.UID_Tree from DialogProcessChain w where w.ReadyForDeleteOrExport\r\n = 0 and w.XDateUpdated < @Grenzdatum and w.GenProcID like @KeyPattern select @CountRowsToDelete = @@ROWCOUNT select @lauf = @CountRowsToDelete - @BlockSize\r\n + 1 if @CountRowsToDelete > 0 begin update DialogProcessChain set ReadyForDeleteOrExport = @ReadyForDeleteOrExport , XDateUpdated = @Xdate , XUserUpdated\r\n = @XUser from DialogProcessChain w join @BlockPuffer p on w.UID_Tree = p.UID_SingleGuid end endLabel: return(@lauf) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_P195C5572460EC8DDA27B3A3_1",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.553",
      "ModifyDate": "2026-04-14T23:20:26.313",
      "Definition": "   create   procedure QBM_P195C5572460EC8DDA27B3A3_1 as begin declare @Statements QBM_YCursorBuffer SET XACT_ABORT OFF BEGIN TRY set nocount on \r\n   if exists (select top 1 1 from sys.tables t with (readpast) join sys.columns c with (readpast) on t.object_id = c.object_id where t.name = 'DialogDatabase'\r\n and c.name = 'InitialMigrationRunning' ) begin goto endLabel end drop table if exists #merkeObjectkey create table #merkeObjectkey (TableName varchar(30\r\n) collate database_default , XObjectKey varchar(138) collate database_default , index #merkeObjectkey1 (TableName) , index #merkeObjectkey2 (XObjectKey\r\n) ) insert into #merkeObjectkey(TableName, XObjectKey) select t.TableName, de.ObjectKeyOwner  from QBMNonLinearDepend de join DialogTable t on de.ObjectKeyOwner\r\n like '<Key><T>' + t.TableName + '</T>%' cross apply dbo.QBM_FCVStringToList(de.NeededModules, char(7), 1, 0) mo left outer join QBMModuleDef md on mo.ParameterValue\r\n = md.ModuleName where md.UID_ModuleDef is null insert into @Statements (ContentFull) select CONCAT('\r\nif exists (select top 1 1\r\n\t\t\tfrom ', x.TableName\r\n , ' td join #merkeObjectkey m on td.XObjectKey = m.XObjectKey\r\n\t\t)\r\n begin\r\n\tdelete ', x.TableName , '\r\n\t\t--select td.*\r\n\tfrom ', x.TableName , ' td join #merkeObjectkey m on td.XObjectKey = m.XObjectKey\r\n end\r\n'\r\n ) from ( select distinct t.TableName from #merkeObjectkey t ) as x exec QBM_PExecuteSQLMulti @Statements drop table if exists #merkeObjectkey END TRY \r\nBEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT\r\n END CATCH endLabel:  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_P1B7262FC192C886D0EB9F74_",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.5",
      "ModifyDate": "2026-04-14T23:16:09.17",
      "Definition": "  create   procedure QBM_P1B7262FC192C886D0EB9F74_( @UID_Task varchar(38) ) as begin declare @DBQueueElements_spezial QBM_YDBQueueRaw insert into\r\n @DBQueueElements_spezial (Object, SubObject, GenProcID) select t.Object, t.SubObject, t.GenProcID from #QBMDBQueueTemp t where t.UID_Task = @UID_Task \r\n group by t.Object, t.SubObject, t.GenProcID exec QBM_PDBQueueInsert_Int @UID_Task, @DBQueueElements_spezial end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_P40B0C8AE71E45BA9C883A96_",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.583",
      "ModifyDate": "2026-04-14T23:16:09.217",
      "Definition": "  create   procedure QBM_P40B0C8AE71E45BA9C883A96_( @PondGroup varchar(38) , @UID_Task varchar(38)    ) as begin declare @DBQueueElements QBM_YDBQueueRaw\r\n SET XACT_ABORT OFF BEGIN TRY insert into @DBQueueElements (Object, SubObject, GenProcID) select t.Object, t.SubObject, t.GenProcID from QBMDBQueuePond\r\n t where t.UID_Task = @UID_Task   and t.PondGroup = @PondGroup  group by t.Object, t.SubObject, t.GenProcID exec QBM_PDBQueueInsert_Int @UID_Task, @DBQueueElements\r\n  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_P4B5EF97051B7F5A66DC5668_",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.02",
      "ModifyDate": "2026-04-14T23:20:31.473",
      "Definition": "create   procedure QBM_P4B5EF97051B7F5A66DC5668_ ( @Portion int , @AllObjectKeysIn QBM_YObjectKeyAndPortion readonly  , @objecttype nvarchar(255\r\n)      , @save bit  , @MethodName nvarchar(256)  , @GenProcID varchar(38) , @AdditionalObjectKeysAffected QBM_YParameterList readonly    , @ConnectionVariables\r\n nvarchar(max) = null , @AuthenticationString nvarchar(max) = null , @SingleTransaction bit = 1 , @param1 nvarchar(max) = null , @param2 nvarchar(max) \r\n= null , @param3 nvarchar(max) = null , @param4 nvarchar(max) = null , @param5 nvarchar(max) = null , @param6 nvarchar(max) = null , @param7 nvarchar(max\r\n) = null , @param8 nvarchar(max) = null , @param9 nvarchar(max) = null , @param10 nvarchar(max) = null , @isToFreezeOnError bit = 0 , @Retries int = 0 \r\n, @priority int = 5 , @Jobchainname nvarchar(256) = null , @StartAt datetime = null , @BasisObjectKey varchar(138) = '' , @XUser nvarchar(64) = null , \r\n@WhereClauseAdditional nvarchar(max) = '' , @checkForExisting bit = 0 , @QueueName nvarchar(256) = null ) as begin declare @ObjectKeys_Part QBM_YParameterList\r\n declare @Sammler nvarchar(max) declare @ObjectKeysAffected QBM_YParameterList SET XACT_ABORT OFF BEGIN TRY insert into @ObjectKeys_Part(Parameter1) select\r\n i.Objectkey from @AllObjectKeysIn i where i.Portion = @Portion if @@ROWCOUNT = 0 begin goto endLabel end select @sammler = concat('XObjectKey in ' , dbo.QBM_FCVParameter1AsOneInClause\r\n(@ObjectKeys_Part) )  if not exists (select top 1 1 from @AdditionalObjectKeysAffected where Parameter1 > ' ' and Parameter2 is null ) begin insert into\r\n @ObjectKeysAffected(Parameter1) select a.Parameter1 from @AdditionalObjectKeysAffected a join @ObjectKeys_Part s on a.Parameter2 = s.Parameter1 union \r\nselect Parameter1 from @ObjectKeys_Part end else begin  insert into @ObjectKeysAffected(Parameter1) select a.Parameter1 from @AdditionalObjectKeysAffected\r\n a union select Parameter1 from @ObjectKeys_Part end exec QBM_PJobCreate_HOCallMethod @objecttype , @Sammler , @save , @MethodName , @GenProcID , @ObjectKeysAffected\r\n , @ConnectionVariables , @AuthenticationString , @SingleTransaction , @param1 , @param2 , @param3 , @param4, @param5 , @param6, @param7, @param8, @param9\r\n, @param10 , @isToFreezeOnError , @Retries , @priority , @Jobchainname , @StartAt , @BasisObjectKey , @XUser , @WhereClauseAdditional , @checkForExisting\r\n , @QueueName END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_P5B4330B39CD566AFFB80402_",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:00:59.88",
      "ModifyDate": "2026-04-14T23:20:31.293",
      "Definition": "create   procedure QBM_P5B4330B39CD566AFFB80402_( @Portion int , @AllObjectKeysIn QBM_YObjectKeyAndPortion readonly  , @objecttype nvarchar(255)\r\n,      @GenProcID varchar(38) , @AdditionalObjectKeysAffected QBM_YParameterList readonly    , @ConnectionVariables nvarchar(max) = null , @AuthenticationString\r\n nvarchar(max) = null , @SingleTransaction bit = 1 , @p1 nvarchar (1024) = N'', @v1 nvarchar (max) = N'' , @p2 nvarchar (1024) = N'', @v2 nvarchar (max\r\n) = N'' , @p3 nvarchar (1024) = N'', @v3 nvarchar (max) = N'' , @p4 nvarchar (1024) = N'', @v4 nvarchar (max) = N'' , @p5 nvarchar (1024) = N'', @v5 nvarchar\r\n (max) = N'' , @p6 nvarchar (1024) = N'', @v6 nvarchar (max) = N'' , @p7 nvarchar (1024) = N'', @v7 nvarchar (max) = N'' , @p8 nvarchar (1024) = N'', @v8\r\n nvarchar (max) = N'' , @p9 nvarchar (1024) = N'', @v9 nvarchar (max) = N'' , @p10 nvarchar (1024) = N'', @v10 nvarchar (max) = N'' , @p11 nvarchar (1024\r\n) = N'', @v11 nvarchar (max) = N'' , @p12 nvarchar (1024) = N'', @v12 nvarchar (max) = N'' , @p13 nvarchar (1024) = N'', @v13 nvarchar (max) = N'' , @p14\r\n nvarchar (1024) = N'', @v14 nvarchar (max) = N'' , @p15 nvarchar (1024) = N'', @v15 nvarchar (max) = N'' , @p16 nvarchar (1024) = N'', @v16 nvarchar (max\r\n) = N'' , @p17 nvarchar (1024) = N'', @v17 nvarchar (max) = N'' , @p18 nvarchar (1024) = N'', @v18 nvarchar (max) = N'' , @p19 nvarchar (1024) = N'', @v19\r\n nvarchar (max) = N'' , @p20 nvarchar (1024) = N'', @v20 nvarchar (max) = N'' , @p21 nvarchar (1024) = N'', @v21 nvarchar (max) = N'' , @p22 nvarchar (1024\r\n) = N'', @v22 nvarchar (max) = N'' , @p23 nvarchar (1024) = N'', @v23 nvarchar (max) = N'' , @p24 nvarchar (1024) = N'', @v24 nvarchar (max) = N'' , @p25\r\n nvarchar (1024) = N'', @v25 nvarchar (max) = N'' , @p26 nvarchar (1024) = N'', @v26 nvarchar (max) = N'' , @p27 nvarchar (1024) = N'', @v27 nvarchar (max\r\n) = N'' , @p28 nvarchar (1024) = N'', @v28 nvarchar (max) = N'' , @p29 nvarchar (1024) = N'', @v29 nvarchar (max) = N'' , @p30 nvarchar (1024) = N'', @v30\r\n nvarchar (max) = N'' , @p31 nvarchar (1024) = N'', @v31 nvarchar (max) = N'' , @isToFreezeOnError bit = 0 , @Retries int = 0 , @priority int = 5 , @Jobchainname\r\n nvarchar(256) = null , @StartAt datetime = null , @BasisObjectKey varchar(138) = N'' , @XUser nvarchar(64) = null , @WhereClauseAdditional nvarchar(max\r\n) = '' , @checkForExisting bit = 0 , @QueueName nvarchar(256) = null ) as begin declare @ObjectKeys_Part QBM_YParameterList declare @Sammler nvarchar(max\r\n) declare @ObjectKeysAffected QBM_YParameterList SET XACT_ABORT OFF BEGIN TRY insert into @ObjectKeys_Part(Parameter1) select i.Objectkey from @AllObjectKeysIn\r\n i where i.Portion = @Portion if @@ROWCOUNT = 0 begin goto endLabel end select @sammler = concat('XObjectKey in ' , dbo.QBM_FCVParameter1AsOneInClause(@ObjectKeys_Part\r\n) )  if not exists (select top 1 1 from @AdditionalObjectKeysAffected where Parameter1 > ' ' and Parameter2 is null ) begin insert into @ObjectKeysAffected\r\n(Parameter1) select a.Parameter1 from @AdditionalObjectKeysAffected a join @ObjectKeys_Part s on a.Parameter2 = s.Parameter1 union select Parameter1 from\r\n @ObjectKeys_Part end else begin  insert into @ObjectKeysAffected(Parameter1) select a.Parameter1 from @AdditionalObjectKeysAffected a union select Parameter1\r\n from @ObjectKeys_Part end exec QBM_PJobCreate_HOUpdate @objecttype , @Sammler , @GenProcID , @ObjectKeysAffected , @ConnectionVariables , @AuthenticationString\r\n , @SingleTransaction , @p1, @v1, @p2, @v2 , @p3, @v3 , @p4, @v4 , @p5, @v5 , @p6, @v6 ,@p7, @v7 , @p8, @v8 , @p9, @v9 , @p10, @v10 , @p11, @v11 , @p12\r\n, @v12 , @p13, @v13 , @p14, @v14 , @p15, @v15 , @p16, @v16 ,@p17, @v17 , @p18, @v18 , @p19, @v19 , @p20, @v20 , @p21, @v21 , @p22, @v22 , @p23, @v23 , \r\n@p24, @v24 , @p25, @v25 , @p26, @v26 , @p27, @v27 , @p28, @v28 , @p29, @v29 , @p30, @v30 , @p31, @v31 , @isToFreezeOnError , @Retries , @priority , @Jobchainname\r\n , @StartAt , @BasisObjectKey , @XUser , @WhereClauseAdditional , @checkForExisting , @QueueName END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default \r\nRAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_P5C881179A5B9B0CDCAE541D_",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.07",
      "ModifyDate": "2026-04-14T23:20:31.53",
      "Definition": "create   procedure QBM_P5C881179A5B9B0CDCAE541D_( @Portion int , @AllObjectKeysIn QBM_YObjectKeyAndPortion readonly  , @objecttype nvarchar(255)\r\n      , @Columns nvarchar(max)  , @GenProcID varchar(38) , @AdditionalObjectKeysAffected QBM_YParameterList readonly    , @ConnectionVariables nvarchar\r\n(max) = null , @AuthenticationString nvarchar(max) = null , @SingleTransaction bit = 1  , @isToFreezeOnError bit = 0 , @Retries int = 0 , @priority int\r\n = 5 , @Jobchainname nvarchar(256) = null , @StartAt datetime = null , @BasisObjectKey varchar(138) = N'' , @XUser nvarchar(64) = null , @WhereClauseAdditional\r\n nvarchar(max) = '' , @checkForExisting bit = 0 , @QueueName nvarchar(256) = null ) as begin declare @ObjectKeys_Part QBM_YParameterList declare @Sammler\r\n nvarchar(max) declare @ObjectKeysAffected QBM_YParameterList SET XACT_ABORT OFF BEGIN TRY insert into @ObjectKeys_Part(Parameter1) select i.Objectkey \r\nfrom @AllObjectKeysIn i where i.Portion = @Portion if @@ROWCOUNT = 0 begin goto endLabel end select @sammler = concat('XObjectKey in ' , dbo.QBM_FCVParameter1AsOneInClause\r\n(@ObjectKeys_Part) )  if not exists (select top 1 1 from @AdditionalObjectKeysAffected where Parameter1 > ' ' and Parameter2 is null ) begin insert into\r\n @ObjectKeysAffected(Parameter1) select a.Parameter1 from @AdditionalObjectKeysAffected a join @ObjectKeys_Part s on a.Parameter2 = s.Parameter1 union \r\nselect Parameter1 from @ObjectKeys_Part end else begin  insert into @ObjectKeysAffected(Parameter1) select a.Parameter1 from @AdditionalObjectKeysAffected\r\n a union select Parameter1 from @ObjectKeys_Part end exec QBM_PJobCreate_HOTemplate @objecttype , @Sammler , @Columns , @GenProcID , @ObjectKeysAffected\r\n , @ConnectionVariables , @AuthenticationString , @SingleTransaction , @isToFreezeOnError , @Retries , @priority , @Jobchainname , @StartAt , @BasisObjectKey\r\n , @XUser , @WhereClauseAdditional , @checkForExisting , @QueueName END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT\r\n END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PA164BD06A63979BC96DA633_a",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.277",
      "ModifyDate": "2026-04-14T23:20:25.97",
      "Definition": "     create   procedure QBM_PA164BD06A63979BC96DA633_a( @BlockSize int , @ReadyForDeleteOrExport int , @KeyPattern varchar(25) , @Grenzdatum datetime\r\n ) as begin declare @BlockPuffer QBM_YSingleGUID declare @lauf int declare @CountRowsToDelete int insert into @BlockPuffer(UID_SingleGuid) select top (@BlockSize\r\n) w.UID_DialogWatchOperation from DialogWatchOperation w where w.ReadyForDeleteOrExport = 0 and w.OperationDate < @Grenzdatum and w.GenProcID like @KeyPattern\r\n select @CountRowsToDelete = @@ROWCOUNT select @lauf = @CountRowsToDelete - @BlockSize + 1 if @CountRowsToDelete > 0 begin update DialogWatchOperation \r\nset ReadyForDeleteOrExport = @ReadyForDeleteOrExport from DialogWatchOperation w join @BlockPuffer p on w.UID_DialogWatchOperation = p.UID_SingleGuid end\r\n endLabel: return(@lauf) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PB3D180A1745C229E35DBD6E_",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:00:59.927",
      "ModifyDate": "2026-04-14T23:20:31.353",
      "Definition": "create   procedure QBM_PB3D180A1745C229E35DBD6E_( @Portion int , @AllObjectKeysIn QBM_YObjectKeyAndPortion readonly  , @objecttype nvarchar(255)\r\n   , @GenProcID varchar(38) , @AdditionalObjectKeysAffected QBM_YParameterList readonly    , @ConnectionVariables nvarchar(max) = null , @AuthenticationString\r\n nvarchar(max) = null , @SingleTransaction bit = 1 , @isToFreezeOnError bit = 0 , @Retries int = 0 , @priority int = 5 , @Jobchainname nvarchar(256) = \r\nnull , @StartAt datetime = null , @BasisObjectKey varchar(138) = '' , @XUser nvarchar(64) = null , @WhereClauseAdditional nvarchar(max) = '' , @checkForExisting\r\n bit = 0 , @QueueName nvarchar(256) = null , @DeepDelete bit = 0  ) as begin declare @ObjectKeys_Part QBM_YParameterList declare @Sammler nvarchar(max)\r\n declare @ObjectKeysAffected QBM_YParameterList SET XACT_ABORT OFF BEGIN TRY insert into @ObjectKeys_Part(Parameter1) select i.Objectkey from @AllObjectKeysIn\r\n i where i.Portion = @Portion if @@ROWCOUNT = 0 begin goto endLabel end select @sammler = concat('XObjectKey in ' , dbo.QBM_FCVParameter1AsOneInClause(@ObjectKeys_Part\r\n) )  if not exists (select top 1 1 from @AdditionalObjectKeysAffected where Parameter1 > ' ' and Parameter2 is null ) begin insert into @ObjectKeysAffected\r\n(Parameter1) select a.Parameter1 from @AdditionalObjectKeysAffected a join @ObjectKeys_Part s on a.Parameter2 = s.Parameter1 union select Parameter1 from\r\n @ObjectKeys_Part end else begin  insert into @ObjectKeysAffected(Parameter1) select a.Parameter1 from @AdditionalObjectKeysAffected a union select Parameter1\r\n from @ObjectKeys_Part end exec QBM_PJobCreate_HODelete @objecttype , @Sammler , @GenProcID , @ObjectKeysAffected , @ConnectionVariables , @AuthenticationString\r\n , @SingleTransaction , @isToFreezeOnError , @Retries , @priority , @Jobchainname , @StartAt , @BasisObjectKey , @XUser , @WhereClauseAdditional , @checkForExisting\r\n , @QueueName , @DeepDelete = @DeepDelete END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return\r\n end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PBufferC_ProcessAll",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:30.32",
      "ModifyDate": "2026-04-14T23:14:36.563",
      "Definition": "     create   procedure QBM_PBufferC_ProcessAll (@ModuleOwner varchar(3)  ) as begin declare @TableName varchar(30) declare @columnname varchar(30\r\n) declare @DebugSwitch int = 0  declare @ColumnsToProcess QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int SET XACT_ABORT OFF BEGIN\r\n TRY insert into @ColumnsToProcess (Ident1  , Ident2 ) select y.TableName, y.columnname from (select distinct bu.TableName, bu.ColumnName from QBMBufferConfig\r\n bu ) as y left outer join QBM_VStartupTables s on y.TableName = s.TableName  order by isnull(s.SortOrder,1000) , y.ColumnName select @ElementCount = @@ROWCOUNT\r\n select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @TableName = bu.Ident1 , @columnname = bu.Ident2 from @ColumnsToProcess\r\n bu where bu.ElementIndex = @ElementIndex if @DebugSwitch > 0 begin print '----------------------------------------------------' print ' processing ' +\r\n @TableName + ' ' + @columnname end exec QBM_PBufferC_ProcessOneColumn @TableName , @columnname, @ModuleOwner select @ElementIndex += 1 end  END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END \r\nCATCH ende: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PBufferC_ProcessOneColumn",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:30.31",
      "ModifyDate": "2026-04-14T23:14:36.557",
      "Definition": "    create   procedure QBM_PBufferC_ProcessOneColumn ( @TableName varchar(30) , @columnname varchar(30) , @ModuleOwner varchar(3)   ) as begin  \r\ndeclare @DebugSwitch int = 0  declare @cmd nvarchar(max) declare @xclause nvarchar(1000) declare @IsPKMember bit declare @IsCustomConfigurable bit declare\r\n @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY   select top 1 @IsCustomConfigurable =\r\n IsCustomConfigurable , @IsPKMember = IsPKMember from DialogColumn c join DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable where \r\nt.TableName = @TableName and c.ColumnName = @columnname if @IsPKMember = 1 or @columnname in ('XObjectKey', 'XUserInserted', 'XUserUpdated', 'Xdateinserted'\r\n, 'Xdateupdated', 'XTouched') begin  update QBMBufferConfig set xtouched = 'D'  , XDateUpdated = @Xdate , XUserUpdated = @XUser where TableName = @TableName\r\n and ColumnName = @columnname and xtouched = 'O' goto nachbearbeitung end if dbo.QBM_FGIColumnExistsInSchema(@TableName , 'XDateupdated') = 1 and @columnname\r\n not like 'X[d,u][a,s][t,e][e,r]updated' begin select @xclause = ', XUserupdated = ''' + @xuser + ''' , xdateupdated = getutcdate()' end else begin select\r\n @xclause = '--' end    select @cmd = concat('\r\n\tupdat','e @TableName @\r\n\t\tset @columnname@ = \r\n@ContentClause@\r\n\t\t@Xclause@\r\n\tfrom @TableName @ x join QBMBufferConfig y on x.XObjectKey = y.ObjectKeyOfRow\r\n\t\t\t\t\t\t\t\t\t\tand y.TableName = ''@TableName @''\r\n\t\t\t\t\t\t\t\t\t\tand y.columnname = ''@columnname@''\r\n\twhere @IsnullClause@ <> \r\n@ContentNull@\r\n\tand ( ( ''CCC'' = ''@ModuleOwner@''\r\n\t\t\tand '\r\n + str(@IsCustomConfigurable) + ' = 0 \r\n\t\t  )\r\n\t\t  or\r\n\t\t  ( ''CCC'' <> ''@ModuleOwner@''\r\n\t\t\tand ' + dbo.QBM_FSQFunctionCallModuleOwner(@TableName, 'x'\r\n) + ' <> ''@ModuleOwner@''\r\n\t\t  )\t\t\t  \r\n\t\t)\r\n\t\t\r\n\t')  select @cmd = REPLACE(@cmd, '@IsnullClause@', dbo.QBM_FSQIsNullClauseCmp(@TableName , @columnname\r\n, N'x')) select @cmd = REPLACE(@cmd, '@ContentClause@',dbo.QBM_FCVStringToIndent( dbo.QBM_FSQCVBufferToColumn(@TableName , @columnname, N'y', 0), 7)) select\r\n @cmd = REPLACE(@cmd, '@ContentNull@', dbo.QBM_FCVStringToIndent(dbo.QBM_FSQCVBufferToColumn(@TableName , @columnname, N'y', 1), 7)) select @cmd = REPLACE\r\n(@cmd, '@Xclause@', @Xclause) select @cmd = replace(REPLACE(@cmd, '@TableName @', @TableName ) , '@columnname@', @columnname) select @cmd = REPLACE(@cmd\r\n, '@ModuleOwner@', @ModuleOwner) if @DebugSwitch > 0 begin print @cmd print 'go' end   nachbearbeitung: select @cmd = '\r\n\tdelete QBMBufferConfig\r\n\t\tfrom QBMBufferConfig y join @TableName @ x on y.XObjectKey = x.XObjectKey\r\n\t\twhere y.TableName = ''@TableName @''\r\n\t\t\tand y.ColumnName = ''@columnname@''\r\n\t\t\tand @IsnullClause@ = \r\n@ContentClause@ \r\n\t\t'\r\n  select @cmd = REPLACE(@cmd, '@IsnullClause@', dbo.QBM_FSQIsNullClauseCmp(@TableName , @columnname, N'x')) select @cmd = REPLACE(@cmd, '@ContentClause@'\r\n, dbo.QBM_FCVStringToIndent(dbo.QBM_FSQcvBufferToColumn(@TableName , @columnname, N'y', 1), 7)) select @cmd = replace(REPLACE(@cmd, '@TableName @', @TableName\r\n ) , '@columnname@', @columnname) if @DebugSwitch > 0 begin print @cmd print 'go' end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow\r\n varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PBufferC_RestoreOneColumn",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:30.33",
      "ModifyDate": "2026-04-14T23:14:36.567",
      "Definition": "   create   procedure QBM_PBufferC_RestoreOneColumn ( @TableName varchar(30) , @columnname varchar(30) , @ObjectKey varchar(138) ) as begin declare\r\n @SQLCmd nvarchar(max) declare @DebugSwitch int = 0  SET XACT_ABORT OFF BEGIN TRY  select @SQLCmd = concat( '\r\n\r\nupdat','e ', @TableName , '\r\n\tset ', @ColumnName\r\n ,' = ', dbo.QBM_FSQCVBufferToColumn(@TableName, @ColumnName, 'cf', 0) , case when dbo.QBM_FGIColumnExistsInSchema(@TableName, 'XDateUpdated') = 1 and \r\n@columnname not like 'X[d,u][a,s][t,e][e,r]updated' then concat('' , '\t--34101\r\n\t\t\t\t\t\t\t\t, XDateUpdated = getutcdate()\r\n\t\t\t\t\t\t\t\t, XUserUpdated = ''', object_name\r\n(@@procid) , '''\r\n\t\t\t\t\t\t\t\t') else '' end , '\r\n\tfrom ', @TableName , ' t join QBMBufferConfig cf on cf.TableName = ''' , @TableName , '''\r\n\t\t\t\t\t\t\t\t\t\t\tand cf.ColumnName = '''\r\n , @ColumnName , '''\r\n\t\t\t\t\t\t\t\t\t\t\tand t.XObjectKey = cf.ObjectKeyOfRow\r\n\twhere t.XObjectKey = ''', @ObjectKey , '''\r\n\t\r\n'  ) if @DebugSwitch > 0 begin print\r\n @SQLCmd end exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLCmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = 4.0 , @ProcIDForJournal = \r\ndefault , @HandleErrorSilent = 0 exec QBM_PSessionErrorClean END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PBufferT_DeleteNonlinear",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:30.2",
      "ModifyDate": "2026-04-14T23:14:36.507",
      "Definition": "    create   procedure QBM_PBufferT_DeleteNonlinear (@ModuleName varchar(3) ) as begin  declare @Missing QBM_YSingleObjectKey  SET XACT_ABORT OFF\r\n BEGIN TRY insert into @Missing(SingleObjectKey) select distinct nd.ObjectKeyOwner  from QBMNonLinearDepend nd cross apply string_split( nd.NeededModules\r\n, char(7)) x left outer join QBMModuleDef m on m.ModuleName = x.value  and x.value > ' ' where m.UID_ModuleDef is null and dbo.QBM_FCVGUIDToModuleOwner\r\n(nd.uid_QBMNonLinearDepend) = @ModuleName option (recompile) delete QBMBufferTransfer from QBMBufferTransfer bt join @Missing m on bt.ObjectKeyOfRow = \r\nm.SingleObjectKey where bt.ModuleName = @ModuleName option (recompile) exec QBM_PNonlinear_SetFound END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PBufferT_FillAll_CCC",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:30.377",
      "ModifyDate": "2026-04-14T23:14:36.6",
      "Definition": "   create   procedure QBM_PBufferT_FillAll_CCC ( @TempTableName varchar(30) )  as begin declare @cmd nvarchar(max) declare @TableName varchar(30\r\n) declare @DebugSwitch int = 0 declare @TableNames QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int SET XACT_ABORT OFF BEGIN TRY select\r\n @cmd = '\r\nif exists (select top 1 1\r\n\t\t\tfrom ' + @TempTableName + '\r\n\t\t)\r\n begin \r\n\tdelete ' + @TempTableName + '\r\n end\r\n ' exec sp_executesql @cmd select\r\n @cmd = concat('\r\n\r\n  select t.TableName\r\n\tfrom DialogTable t \r\n\t\t\tjoin sys.tables tt on t.TableName = tt.name\r\n\t\t\t\t\t\t\t\tand tt.type_desc = ''USER_TABLE''\r\n\twhere \t1=1'\r\n  , '\t\r\n\t and t.usagetype in (''CONFIGURATION'', ''USERDATA'', ''MATERIAL'') \r\n\t and (t.IsTransportDisabled  = 0\r\n\t\t\tor t.tabletype = ''B'' and exists (select top 1 1 \r\n\t\t\t\t\t\t\t\t\t\t\t\tfrom dialogtable v \r\n\t\t\t\t\t\t\t\t\t\t\t\twhere v.UID_DialogTableBase = t.UID_DialogTable\r\n\t\t\t\t\t\t\t\t\t\t\t\tand v.IsTransportDisabled = 0\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t)\r\n\t '\r\n , '\t\r\n\t and exists (select top 1 1 \r\n\t\t\t\t\tfrom QBM_VSchemaColumns ok \r\n\t\t\t\t\twhere ok.TABLE_NAME = t.TableName\r\n\t\t\t\t\t\tand ok.Column_name = ''XObjectKey''\r\n\t\t\t\t)'\r\n , ' and t.tablename not in ( ''QBMNonLinearDepend''\r\n\t\t\t\t\t\t\t\t)\r\n\torder by t.TableName\r\n\t\t' )  if @DebugSwitch > 0 begin print @cmd end insert into @TableNames\r\n(Ident1 ) exec sp_executesql @cmd select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @TableName\r\n = bu.Ident1  from @TableNames bu where bu.ElementIndex = @ElementIndex  if @DebugSwitch > 0 begin print 'Dumping Table ' + @TableName end exec QBM_PBufferT_FillTable_CCC\r\n @TableName , @TempTableName = @TempTableName select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar\r\n(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PBufferT_FillColumn",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:30.163",
      "ModifyDate": "2026-04-14T23:14:36.483",
      "Definition": "      create   procedure QBM_PBufferT_FillColumn ( @TempTableName nvarchar(64) , @TargetModule varchar(3) , @TableName varchar(30) , @columnname\r\n varchar(30) , @RowCondition nvarchar(max) , @ModuleName varchar(3) = '#' ) as begin declare @datatype nvarchar(64) declare @DataMaxLen int  declare @cmd\r\n nvarchar(max) declare @SQLInsertlist nvarchar(max) declare @SQLSelectListBase nvarchar(max) declare @SQLSelectListValues nvarchar(max) declare @SQLSelectListNull\r\n nvarchar(max) declare @FromClause nvarchar(max) declare @WhereClause nvarchar(max) declare @WhereclauseFK nvarchar(max) = N'' declare @WhereclauseNotFK\r\n nvarchar(max) = N'' declare @DebugLevel char(1) = 'W' declare @DebugSwitch int = 0 declare @ErrorMessage nvarchar(4000) declare @ErrorSeverity int declare\r\n @ErrorState int declare @TargetFile varchar(1) = 'M' SET XACT_ABORT OFF BEGIN TRY if @ModuleName = '#' begin select @ModuleName = dbo.QBM_FGIDBOwner()\r\n end if @TargetModule = '#' begin select @TargetModule = @ModuleName end if exists(select top 1 1 from QBM_VStartupTables v where v.TableName = @TableName\r\n ) begin select @TargetFile = 'S' end if @TableName = 'QBMCustomSQL' begin select @TargetFile = 'C' end select @DataMaxLen = dbo.QBM_FGIColumnDataLen(@TableName\r\n , @columnname) select @datatype = dbo.QBM_FGIColumnDataType(@TableName , @columnname)   if @DebugSwitch > 0 begin print char(9) + char(9) + '-- ' + @TableName\r\n + '.' + @columnname + ' ' + @datatype + '(' + dbo.QBM_FCVIntToString(@DataMaxLen) + ')' end  select @SQLInsertlist = N'inser'+'t into ' + @TempTableName\r\n + '(TargetFile, moduleName, TableName, columnname, ObjectKeyOfRow, ContentShort, HasContentFull, ContentFull)' + NCHAR(13) + NCHAR(10) select @SQLSelectListBase\r\n = N'select ''@TargetFile@'', ''@ModuleName@'', ''@TableName@'', ''@columnname@'', XObjectKey, ' select @SQLSelectListValues = dbo.QBM_FCVStringToIndent\r\n (dbo.QBM_FSQCVColumnToBuffer (@TableName , @columnname, @TableName ), 2) select @SQLSelectListNull = 'null, 0, null' select @FromClause = N'\r\n\t\tfrom @TableName@ '\r\n select @WhereClause = N'\t\t\r\n\t\twhere 1=1'   if @RowCondition > ' ' begin select @WhereClause = @WhereClause + N'\r\n\t\t\t and ( ' + @RowCondition + ')' end\r\n select @WhereClause = @WhereClause + '\r\n\t\t and ( (' + dbo.QBM_FCVStringToIndent( dbo.QBM_FSQTableRowOwnedByModule (@TableName , @ModuleName, ''), 2) +\r\n '\r\n\t\t\t\t)\r\n\t\t\t  or exists (select top 1 1 \r\n\t\t\t\t\t\t\tfrom QBMBufferConfig cf\r\n\t\t\t\t\t\t\twhere cf.TableName = ''@TableName@''\r\n\t\t\t\t\t\t\tand cf.ColumnName = ''@columnname@''\r\n\t\t\t\t\t\t\tand cf.ObjectKeyOfRow = @TableName@.XObjectKey \r\n\t\t\t\t\t\t)\r\n\t\t\t)'\r\n if @datatype in( 'char' , 'nchar', 'varchar', 'nvarchar')  and dbo.QBM_FGIPrimaryKeyName_F(@TableName , 1) <> @columnname and isnull(dbo.QBM_FGIPrimaryKeyName_F\r\n(@TableName , 2), '') <> @columnname begin if @DebugSwitch > 0 begin print '@DataMaxLen' + str(@DataMaxLen) end if @DataMaxLen = 38  begin  if exists (select\r\n top 1 1 from QBM_VQBMRelation cr where cr.ChildTable = @TableName and cr.ChildColumn = @columnname ) begin select @WhereclauseFK = N'\r\n\t\t\t\t and ( left(isnull(@columnname@, ''''), 4) in '\r\n + dbo.QBM_FSQModuleLower(@ModuleName) + ')' select @WhereclauseNotFK = N'\r\n\t\t\t\t and ( left(isnull(@columnname@, ''''), 4) not in ' + dbo.QBM_FSQModuleLower\r\n(@ModuleName) + ')' end end if @DataMaxLen = 138  begin  if exists (select top 1 1 from DialogColumn c join DialogTable t with (readpast) on c.UID_DialogTable\r\n = t.UID_DialogTable where t.TableName = @TableName and c.ColumnName = @columnname and c.IsDynamicFK = 1 ) begin select @WhereclauseFK = N'\r\n\t\t\t\t and ( isnull(dbo.QBM_FCVObjectKeyToModuleOwner(@TableName@.@columnname@), '''') + ''-'' in '\r\n + dbo.QBM_FSQModuleLower(@ModuleName) + ')' select @WhereclauseNotFK = N'\r\n\t\t\t\t and ( isnull(dbo.QBM_FCVObjectKeyToModuleOwner(@TableName@.@columnname@), '''') + ''-'' not in '\r\n + dbo.QBM_FSQModuleLower(@ModuleName) + ')' end end end select @cmd = @SQLInsertlist + @SQLSelectListBase + @SQLSelectListValues + @FromClause + @WhereClause\r\n if @WhereclauseFK > ' ' begin select @cmd = @cmd + @WhereclauseFK select @cmd = @cmd + nchar(13) + nchar(10) +'union' + nchar(13) + nchar(10) + @SQLSelectListBase\r\n + @SQLSelectListNull + @FromClause + @WhereClause + @WhereclauseNotFK end  select @cmd = replace(replace(replace(REPLACE(@cmd, '@columnname@', @columnname\r\n) , '@TableName@', @TableName ) , '@ModuleName@', @ModuleName) , '@TargetFile@', @TargetFile) if @DebugSwitch > 0 begin print @cmd exec QBM_PJournal @Cmd\r\n, @@procid, 'D', @DebugLevel end begin try exec sp_executeSQL @cmd end try begin catch exec QBM_PSessionErrorAdd default, @Cmd RAISERROR ('', 18, 1) WITH\r\n NOWAIT end catch END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow\r\n, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PBufferT_FillColumn_CCC",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:30.353",
      "ModifyDate": "2026-04-14T23:14:36.583",
      "Definition": "       create   procedure QBM_PBufferT_FillColumn_CCC ( @TableName varchar(30) , @ColumnName varchar(30) , @RowCondition nvarchar(max) = null , \r\n@TempTableName varchar(30) = N''  ) as begin declare @datatype nvarchar(64) declare @DataMaxLen int declare @cmd nvarchar(max) declare @DebugSwitch int\r\n = 0 declare @PKName1 varchar(30) , @PKName2 varchar(30) SET XACT_ABORT OFF BEGIN TRY select @DataMaxLen = dbo.QBM_FGIColumnDataLen(@TableName , @ColumnName\r\n) select @datatype = dbo.QBM_FGIColumnDataType(@TableName , @ColumnName) select top 1 @PKName1 = isnull(t.PKName1, '') , @PKName2 = isnull(t.PKName2, ''\r\n) from DialogTable t where t.TableName = @TableName if @DebugSwitch > 0 begin print char(9) + char(9) + '-- ' + @TableName + '.' + @ColumnName + ' ' + \r\n@datatype + '(' + dbo.QBM_FCVIntToString(@DataMaxLen) + ')' end  select @cmd = concat('inser','t into ' , @TempTableName , '(TargetFile, moduleName, TableName, ColumnName, ObjectKeyOfRow, ContentShort, HasContentFull, ContentFull)\r\n\t\tselect ''M''as TargetFile, ''CCC'', ''@TableName@'', ''@ColumnName@'', @TableName@.XObjectKey, '\r\n , dbo.QBM_FCVStringToIndent (dbo.QBM_FSQCVColumnToBuffer (@TableName , @ColumnName, @TableName ), 2) , '\r\n\t\tfrom @TableName@ with (readpast)'     , '\t\t\r\n\t\twhere @TableName@.@PKName1@ like ''[a-z][0-9,a-z][0-9,a-z]-%''\r\n\t\t\t'\r\n , case when @PKName2 > ' ' then 'and @TableName@.@PKName2@ like ''[a-z][0-9,a-z][0-9,a-z]-%'' ' else '' end , '\r\n\t\t\tand (@TableName@.@PKName1@ like ''CCC-%'' '\r\n , case when @PKName2 > ' ' then '\r\n\t\t\t\tor @TableName@.@PKName2@ like ''CCC-%''  ' else '' end , '\r\n\t\t\t\tor exists ( select top 1 1\r\n\t\t\t\t\t\t\tfrom QBMBufferConfig co with (readpast)\r\n\t\t\t\t\t\t\twhere co.ObjectKeyOfRow = @TableName@.XObjectKey\r\n\t\t\t\t\t\t\t\tand co.Tablename = ''@TableName@''\r\n\t\t\t\t\t\t\t\tand co.ColumnName = ''@ColumnName@''\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t'\r\n , '\r\n\t\t\t\t)' , case when @RowCondition > ' ' then '\r\n\t\t\tand ( ' + @RowCondition + ')' else '' end , '\r\n\t\t\torder by @TableName@.XObjectKey' )  select @cmd\r\n = replace(replace(replace(REPLACE(@cmd , '@ColumnName@', @ColumnName) , '@TableName@', @TableName ) , '@PKName1@', @PKName1) , '@PKName2@', @PKName2) \r\nif @DebugSwitch > 0 begin print @cmd end exec sp_executeSQL @cmd END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) =\r\n dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PBufferT_FillOneObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:30.193",
      "ModifyDate": "2026-04-14T23:14:36.5",
      "Definition": "  create   procedure QBM_PBufferT_FillOneObject ( @TempTableName nvarchar(64) , @XObjectKey varchar(138) , @TargetModule varchar(3) = '#' ) as begin\r\n declare @TableName varchar(30)  declare @ModuleName varchar(3) declare @Rowcondition nvarchar(max) SET XACT_ABORT OFF BEGIN TRY select @ModuleName = dbo.QBM_FGIDBOwner\r\n() if @TargetModule = '#' begin select @TargetModule = @ModuleName end select @TableName = dbo.QBM_FCVObjectkeyToElement('TableName', @XObjectKey) select\r\n @Rowcondition = ' ( XObjectKey = ''' + @XObjectKey + ''' )' exec QBM_PBufferT_FillTable @TempTableName , @TargetModule , @TableName , '1=1' END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END \r\nCATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PBufferT_FillSnapshot",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:30.187",
      "ModifyDate": "2026-04-14T23:14:36.5",
      "Definition": "  create   procedure QBM_PBufferT_FillSnapshot ( @TempTableName nvarchar(64) , @ModuleName varchar(3) = '#' ) as begin declare @cmd nvarchar(max\r\n) declare @TableName varchar(30) declare @DebugLevel char(1) = 'W' declare @DebugSwitch int = 0 declare @TableNames QBM_YCursorBuffer declare @ElementCount\r\n int declare @ElementIndex int  declare @ErrorMessage nvarchar(4000) declare @ErrorSeverity int declare @ErrorState int declare @TargetModule varchar(3\r\n) SET XACT_ABORT OFF BEGIN TRY if @ModuleName = '#' begin select @ModuleName = dbo.QBM_FGIDBOwner() end select @TargetModule = @ModuleName select @cmd \r\n= N'\r\n\r\n  select t.TableName\r\n\tfrom DialogTable t \r\n\t\t\tjoin sys.tables tt on t.TableName = tt.name  collate database_default\r\n\t\t\t\t\t\t\t\tand tt.type_desc = ''USER_TABLE''\r\n\twhere \t1=1'\r\n select @cmd = @cmd + N'\t\r\n\t and t.usagetype in (''CONFIGURATION'', ''USERDATA'', ''MATERIAL'') \r\n\t and (t.IsTransportDisabled  = 0\r\n\t\t\tor t.tabletype = ''B'' and exists (select top 1 1 \r\n\t\t\t\t\t\t\t\t\t\t\t\tfrom dialogtable v \r\n\t\t\t\t\t\t\t\t\t\t\t\twhere v.UID_DialogTableBase = t.UID_DialogTable\r\n\t\t\t\t\t\t\t\t\t\t\t\tand v.IsTransportDisabled = 0\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t)\r\n\t '\r\n select @cmd = @cmd + N'\t\r\n\t and exists (select top 1 1 from INFORMATION_SCHEMA.COLUMNS ok \r\n\t\t\t\t\twhere ok.TABLE_NAME = t.TableName\r\n\t\t\t\t\t\tand ok.Column_name = ''XObjectKey''\r\n\t\t\t\t)'\r\n   if @DebugSwitch > 0 begin exec QBM_PJournal @Cmd, @@procid, 'D', @DebugLevel end  begin try insert into @TableNames(Ident1 ) exec sp_executesql @cmd\r\n end try begin catch exec QBM_PSessionErrorAdd default, @Cmd RAISERROR ('', 18, 1) WITH NOWAIT end catch select @ElementCount = count(*) from @TableNames\r\n select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select @TableName = null select top 1 @TableName = bu.Ident1  from @TableNames bu \r\nwhere bu.ElementIndex = @ElementIndex if @DebugSwitch > 0 begin print 'Dumping Table ' + @TableName end exec QBM_PBufferT_FillTable @TempTableName , @TargetModule\r\n , @TableName , '1=1' , @ModuleName select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000)\r\n = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PBufferT_FillTable",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:30.177",
      "ModifyDate": "2026-04-14T23:14:36.49",
      "Definition": "   create   procedure QBM_PBufferT_FillTable ( @TempTableName nvarchar(64) , @TargetModule varchar(3) , @TableName varchar(30) , @RowCondition nvarchar\r\n(max) , @ModuleName varchar(3) = '#' ) as begin declare @DebugLevel char(1) = 'W' declare @DebugSwitch int = 0 declare @cmd nvarchar(max) declare @columnname\r\n varchar(30) declare @ErrorMessage nvarchar(4000) declare @ErrorSeverity int declare @ErrorState int declare @ColumnNames QBM_YCursorBuffer declare @ElementCount\r\n int declare @ElementIndex int  declare @RowCondition_Table nvarchar(max) declare @RowCondition_Intern nvarchar(max)  SET XACT_ABORT OFF BEGIN TRY if @ModuleName\r\n = '#' begin select @ModuleName = dbo.QBM_FGIDBOwner() end if @TargetModule = '#' begin select @TargetModule = @ModuleName end select @RowCondition_Table\r\n = null select top 1 @RowCondition_Table = t.TransportWhereClause from DialogTable t with (readpast) where t.TableName = @TableName and t.TransportWhereClause\r\n > ' ' select @RowCondition_Intern = '(1=1' + case when dbo.QBM_FGIColumnExists(@TableName, 'XOrigin') = 1 then ' and ( XOrigin > 0)' else '' end + case\r\n when @RowCondition_Table > ' ' then ' and (' + @RowCondition_Table + ')' else '' end + case when @RowCondition > ' ' then ' and (' + @RowCondition + ')'\r\n else '' end + ')' if @DebugSwitch > 0 begin print @RowCondition_Intern end if @RowCondition_Intern = '(1=1)' begin select @RowCondition_Intern = '' end\r\n select @cmd = N'\r\n  select c.ColumnName\r\n\tfrom DialogColumn c join DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable\r\n\t\t\t\t\t\tjoin information_schema.columns cc with (readpast) on c.columnname = cc.Column_name\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand t.TableName = cc.table_name\r\n\twhere t.TableName = '''\r\n + @TableName + '''' select @cmd = @cmd + N'\r\n\t and c.columnname not in (''XObjectKey''\r\n\t\t\t\t\t\t\t\t, ''Xtouched''\r\n\t\t\t\t\t\t\t\t, ''Xdateinserted'', ''Xdateupdated''\r\n\t\t\t\t\t\t\t\t, ''XUserInserted'', ''XUserUpdated''\r\n\t\t\t\t\t\t\t\t, ''XMarkedForDeletion''\r\n--\t\t\t\t\t\t\t\t, ''XOrigin''\r\n\t\t\t\t\t\t\t\t, ''XIsInEffect''\r\n\t )\r\n\t and c.IsNoTransfer = 0\r\n\t'\r\n  select @cmd = @cmd + '\r\n\t\t and (exists (select top 1 1\r\n\t\t\t\t\t\tfrom ' + @TableName + '\r\n\t\t\t\t\t\twhere ' + dbo.QBM_FCVStringToIndent( dbo.QBM_FSQTableRowOwnedByModule\r\n (@TableName , @ModuleName, ''), 3) + '\r\n\t\t\t\t\t)\r\n\t\t\t'  if @ModuleName = 'CCC' begin select @cmd = @cmd + '\r\n\t\t\t\tor exists (select top 1 1 \r\n\t\t\t\t\t\t\tfrom QBMBufferConfig cf\r\n\t\t\t\t\t\t\twhere cf.TableName = '''\r\n + @TableName + '''\r\n\t\t\t\t\t\t\tand cf.ColumnName = c.columnname\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t\t' end select @cmd = @cmd + '\r\n\t\t    ) '  if @DebugSwitch > 0 begin print @cmd\r\n exec QBM_PJournal @Cmd, @@procid, 'D', @DebugLevel end begin try insert into @ColumnNames(Ident1 ) exec sp_executesql @cmd end try begin catch exec QBM_PSessionErrorAdd\r\n default, @Cmd RAISERROR ('', 18, 1) WITH NOWAIT end catch if @DebugSwitch > 0 begin select * from @ColumnNames end select @ElementCount = count(*) from\r\n @ColumnNames select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @columnname = bu.Ident1  from @ColumnNames bu where bu.ElementIndex\r\n = @ElementIndex if @DebugSwitch > 0 begin print char(9) + 'Dumping column ' + @columnname + ' rows: ' + @RowCondition_Intern end exec QBM_PBufferT_FillColumn\r\n @TempTableName , @TargetModule , @TableName , @columnname , @rowcondition = @RowCondition_Intern , @ModuleName = @ModuleName select @ElementIndex += 1\r\n end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, \r\n1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PBufferT_FillTable_CCC",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:30.367",
      "ModifyDate": "2026-04-14T23:14:36.59",
      "Definition": "      create   procedure QBM_PBufferT_FillTable_CCC ( @TableName varchar(30) , @TempTableName varchar(30)  ) as begin declare @CmdColumnSelect nvarchar\r\n(max) declare @columnname varchar(30) declare @RowCondition nvarchar(max) declare @RowCondition_Table nvarchar(max) declare @ColumnNames QBM_YCursorBuffer\r\n declare @ElementCount int declare @ElementIndex int declare @DebugSwitch int = 0 declare @PKName1 varchar(30) , @PKName2 varchar(30) declare @OwnerClause\r\n nvarchar(max) SET XACT_ABORT OFF BEGIN TRY select top 1 @PKName1 = isnull(t.PKName1, '') , @PKName2 = isnull(t.PKName2, '') from DialogTable t with (readpast\r\n) where t.TableName = @TableName select @RowCondition_Table = null select top 1 @RowCondition_Table = t.TransportWhereClause from DialogTable t with (readpast\r\n) where t.TableName = @TableName and t.TransportWhereClause > ' ' select @RowCondition = '(1=1' + case when dbo.QBM_FGIColumnExists(@TableName, 'XOrigin'\r\n) = 1 then ' and ( XOrigin > 0)' else '' end + case when @RowCondition_Table > ' ' then ' and (' + @RowCondition_Table + ')' else '' end + ')' if @DebugSwitch\r\n > 0 begin print @RowCondition end if @RowCondition = '(1=1)' begin select @RowCondition = '' end  if isnull(@PKName2, '') = '' begin select @OwnerClause\r\n = ' o.' + @PKName1 + ' like ''CCC-%'' ' end else  begin select @OwnerClause = concat( '( (o.' , @PKName1 , ' like ''CCC-%''\r\n\tand o.' , @PKName2 , ' like ''[a-z][0-9,a-z][0-9,a-z]-%''\r\n   )\r\n\tor  \r\n  (o.'\r\n , @PKName2 , ' like ''CCC-%''\r\n\tand o.' , @PKName1 , ' like ''[a-z][0-9,a-z][0-9,a-z]-%''\r\n  )\r\n)\r\n' )  end select @CmdColumnSelect = concat('\r\n  select distinct c.ColumnName\r\n\tfrom DialogColumn c join QBM_VSchemaColumns cc on c.columnname = cc.Column_name\r\n\t\t\t\t\t\tjoin DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand t.TableName = cc.table_name\r\n\twhere t.TableName = '''\r\n , @TableName , '''\r\n\t and c.columnname not in (''XObjectKey''\r\n\t\t\t\t\t\t\t\t, ''Xtouched''\r\n\t\t\t\t\t\t\t\t, ''Xdateinserted'', ''Xdateupdated''\r\n\t\t\t\t\t\t\t\t, ''XUserInserted'', ''XUserUpdated''\r\n\t\t\t\t\t\t\t\t, ''XMarkedForDeletion''\r\n--\t\t\t\t\t\t\t\t, ''XOrigin''\r\n\t\t\t\t\t\t\t\t, ''XIsInEffect''\r\n\t )\r\n\tand ( c.IsNoTransfer = 0\r\n\t\t)\r\n\t'\r\n , case @TableName when 'QBMNonLinearDepend' then '' else '\r\n\t and ( exists (select top 1 1 \r\n\t\t\t\t\t\tfrom ' + @TableName + ' o with (readpast)\r\n\t\t\t\t\t\twhere \r\n'\r\n + dbo.QBM_FCVStringToIndent( @OwnerClause, 6) + '\r\n\t\t\t\t\t)\r\n\t\t )' end , '\r\n\torder by c.ColumnName' )  if @DebugSwitch > 0 begin print @CmdColumnSelect \r\nend insert into @ColumnNames(Ident1 ) exec sp_executesql @CmdColumnSelect select @ElementCount = @@ROWCOUNT if @DebugSwitch > 0 begin select Ident1 from\r\n @ColumnNames end select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @columnname = bu.Ident1  from @ColumnNames bu where \r\nbu.ElementIndex = @ElementIndex  if @DebugSwitch > 0 begin print char(9) + 'Dumping column ' + @columnname + ' rows: ' + @rowcondition end exec QBM_PBufferT_FillColumn_CCC\r\n @TableName , @columnname , @rowcondition = @RowCondition , @TempTableName = @TempTableName select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PBufferT_ProcAll_Delta_i",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:30.343",
      "ModifyDate": "2026-04-14T23:14:36.577",
      "Definition": "   create   procedure QBM_PBufferT_ProcAll_Delta_i (@ModuleName varchar(3) , @TablePattern varchar(64) ) as begin declare @TableName varchar(30)\r\n declare @OperationType varchar(1) declare @ColumnName varchar(30) declare @SQLCmd nvarchar(max) declare @DebugSwitch int = 0 declare @DebugLevel char(1\r\n) = 'W' declare @ComlumNames QBM_YParameterList declare @Message nvarchar(1024) declare @Anzahl int declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount\r\n int declare @ElementIndex int SET XACT_ABORT OFF BEGIN TRY if @debugSwitch > 0 begin select @message = concat('QBM_PBufferT_ProcAll_Delta_i ' , ' module '\r\n, @ModuleName ) exec QBM_PJournal @Message, @@procid, 'D', @DebugLevel  end insert into @ElementBuffer(UID1, UID2) select distinct t.OperationType, t.TableName\r\n from QBMBufferTransfer t join sys.objects o with (readpast) on t.TableName = o.name where t.TableName like @TablePattern order by 1,2 select @ElementCount\r\n = @@ROWCOUNT select @ElementIndex = 1       while @ElementIndex <= @ElementCount begin select top 1 @OperationType = bu.UID1 , @TableName = bu.UID2 from\r\n @ElementBuffer bu where bu.ElementIndex = @ElementIndex if @OperationType = 'D' begin select @SQLCmd = concat ('delete ', @TableName , '\r\n\t\t\t\t\t\t\t\t\t where XObjectKey in (select t.ObjectKeyOfRow\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfrom QBMBufferTransfer t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twhere t.OperationType = ''D''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t and t.TableName = '''\r\n, @TableName , '''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)' ) exec @Anzahl = QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLCmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s\r\n = 4.0 , @ProcIDForJournal = default , @HandleErrorSilent = 0 if @debugSwitch > 0 begin select @Message = str(@Anzahl) select @message = concat(@Message\r\n , ' rows deleted for Table ' , @TableName , ' module ', @ModuleName ) exec QBM_PJournal @Message, @@procid, 'D', @DebugLevel  select top 1 @Anzahl = count\r\n(*) from QBMBufferTransfer t where t.OperationType = 'D' and t.TableName = @TableName select @message = concat(str(@anzahl) , ' rows to deleted for Table '\r\n , @TableName , ' module ', @ModuleName ) exec QBM_PJournal @Message, @@procid, 'D', @DebugLevel  end end  if @OperationType = 'I' begin truncate table\r\n #QBMBufferTransferOneTable insert into #QBMBufferTransferOneTable(ObjectKeyOfRow, ColumnName, ContentShort, HasContentFull, ContentFull ) select bu.ObjectKeyOfRow\r\n, bu.ColumnName, bu.ContentShort, bu.HasContentFull, bu.ContentFull from QBMBufferTransfer bu join sys.objects o with (readpast) on bu.TableName = o.name\r\n join sys.columns c with (readpast) on bu.ColumnName = c.name and c.object_id = o.object_id where bu.OperationType = 'I' and bu.TableName = @TableName \r\nselect @Message = str(@@ROWCOUNT) if @debugSwitch > 0 begin select @message = concat(@Message , ' rows insertd for Table ' , @TableName , ' module ', @ModuleName\r\n ) exec QBM_PJournal @Message, @@procid, 'D', @DebugLevel   end exec QBM_PBufferT_ProcessInsert @modulename, @TableName end  if @OperationType = 'U' begin\r\n delete  @ComlumNames  insert into @ComlumNames(Parameter1) select distinct t.ColumnName from QBMBufferTransfer t join sys.objects o with (readpast) on\r\n t.TableName = o.name join sys.columns c with (readpast) on t.ColumnName = c.name and c.object_id = o.object_id where t.OperationType = 'U' and t.TableName\r\n = @TableName      select @ColumnName = '#' while @ColumnName > ' ' begin select @ColumnName = null select top 1 @ColumnName = cn.Parameter1 from @ComlumNames\r\n cn if @ColumnName is null begin continue end truncate table #QBMBufferTransferOneTable insert into #QBMBufferTransferOneTable(ObjectKeyOfRow, ColumnName\r\n, ContentShort, HasContentFull, ContentFull ) select t.ObjectKeyOfRow, t.ColumnName, t.ContentShort, t.HasContentFull, t.ContentFull from QBMBufferTransfer\r\n t where t.OperationType = 'U' and t.TableName = @TableName and t.ColumnName = @ColumnName select @Message = str(@@ROWCOUNT) if @debugSwitch > 0 begin \r\nselect @message = concat(@Message , ' rows updated for Column ' , @columnname , ' Table ' , @TableName , ' module ', @ModuleName ) exec QBM_PJournal @Message\r\n, @@procid, 'D', @DebugLevel   end exec QBM_PBufferT_ProcessUpdate @modulename, @TableName, @ColumnName delete  @ComlumNames from @ComlumNames cn where\r\n cn.Parameter1 = @ColumnName end  end  select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000\r\n) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PBufferT_ProcessAll",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:30.297",
      "ModifyDate": "2026-04-14T23:14:36.553",
      "Definition": "     create   procedure QBM_PBufferT_ProcessAll (@ModuleName varchar(3) , @PurgeMode bit = 0 ) as begin declare @TableName varchar(30)   declare\r\n @tablesToProcess QBM_YCursorBuffer    declare @DebugLevel char(1) = 'W' declare @DebugSwitch int = 0 declare @msg nvarchar(2000) declare @ElementBuffer\r\n QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int SET XACT_ABORT OFF BEGIN TRY   insert into @tablesToProcess (Ident1) select y.TableName\r\n from (select distinct bu.TableName from QBMBufferTransfer bu where modulename = @ModuleName) as y join (select TableName, SortOrder from QBM_VStartupTables\r\n union all select '%', 1000 ) as x on (y.TableName = x.TableName or ( y.TableName not in (select TableName from QBM_VStartupTables) and x.TableName = '%'\r\n ) )  join sys.tables te with (readpast) on te.name = y.TableName collate database_default  order by x.SortOrder if @PurgeMode = 1 begin if exists (select\r\n top 1 1 from @tablesToProcess t join QBM_VStartupTables s on t.Ident1 = s.TableName ) and exists (select top 1 1 from QBM_VStartupTables s left outer \r\njoin @tablesToProcess t on t.Ident1 = s.TableName where t.Ident1 is null ) insert into @tablesToProcess (Ident1) select s.TableName from QBM_VStartupTables\r\n s left outer join @tablesToProcess t on t.Ident1 = s.TableName where t.Ident1 is null end insert into @ElementBuffer(Ident1) select p.Ident1 from @tablesToProcess\r\n p order by p.ElementIndex select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @TableName\r\n = bu.Ident1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex if @DebugSwitch > 0 begin print '----------------------------------------------------------'\r\n print '-- processing table ' + @TableName + dbo.QBM_FCVDatetimeToString(GETUTCDATE()) print '----------------------------------------------------------'\r\n select @msg = 'Table: ' + @TableName + ' QBM_PBufferT_ProcessAll ' + @ModuleName + STR(@PurgeMode) exec QBM_PJournal @msg, @@procid, 'D', @DebugLevel \r\nend  exec QBM_PBufferT_ProcessTable @ModuleName, @TableName , @PurgeMode select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n exec QBM_PJournal 'SessionError', @@procid, 'E', @DebugLevel declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18\r\n, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PBufferT_ProcessAll_Delta",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:30.343",
      "ModifyDate": "2026-04-14T23:14:36.58",
      "Definition": "  create   procedure QBM_PBufferT_ProcessAll_Delta (@ModuleName varchar(3) ) as begin declare @DebugLevel char(1) = 'W'  SET XACT_ABORT OFF BEGIN\r\n TRY  if OBJECT_ID('tempdb..#QBMBufferTransferOneTable') is null begin  create table #QBMBufferTransferOneTable (ColumnName varchar(30) collate database_default\r\n , ObjectKeyOfRow varchar(138) collate database_default  , ContentShort nvarchar(400) collate database_default , HasContentFull bit default 0 , ContentFull\r\n nvarchar(max) collate database_default ) end if exists (select top 1 1 from QBMBufferTransfer t where t.TableName = 'QBMNonLinearDepend' ) begin  truncate\r\n table #QBMBufferTransferOneTable exec QBM_PBufferT_ProcAll_Delta_i @Modulename, 'QBMNonLinearDepend' delete QBMBufferTransfer where TableName = 'QBMNonLinearDepend'\r\n end exec QBM_PBufferT_DeleteNonlinear @ModuleName  exec QBM_PBufferT_ProcAll_Delta_i @Modulename, '%' END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: truncate table #QBMBufferTransferOneTable\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PBufferT_ProcessInsert",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:30.263",
      "ModifyDate": "2026-04-14T23:14:36.527",
      "Definition": "     create   procedure QBM_PBufferT_ProcessInsert ( @ModuleName varchar(3) , @TableName varchar(30)  ) as begin declare @cmd nvarchar(max) declare\r\n @insertlist nvarchar(max) declare @SelectList nvarchar(max) declare @JoinList nvarchar(max) declare @Vortest nvarchar(max) declare @number int = 0 declare\r\n @columnname varchar(30) declare @MissingColumnname varchar(30) declare @NumberTableSynonym nvarchar(64) declare @ColumnDatatype nvarchar(64) declare @ColumnDataMaxLen\r\n int declare @countColumnsInRow int declare @RowsPerShot int declare @lauf int declare @XUser nvarchar(64) = object_name(@@procid) declare @DebugLevel \r\nchar(1) = 'W' declare @DebugSwitch int = 0 declare @columnPattern nvarchar(max) declare @ErrorMessage nvarchar(4000) declare @ErrorSeverity int declare\r\n @ErrorState int declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int SET XACT_ABORT OFF BEGIN TRY select @countColumnsInRow\r\n = count(distinct columnname) from #QBMBufferTransferOneTable  if @countColumnsInRow = 0 begin select @cmd = '#LDS#Table {0} not inserted, no Column content delivered|'\r\n + @TableName + '|' exec QBM_PJournal @cmd, @@procid, 'D', @DebugLevel goto EndLabel end if not exists (select top 1 1 from QBM_VStartupTables su where\r\n su.TableName = @TableName ) begin select @MissingColumnname = null select top 1 @MissingColumnname = x.ColumnName from ( select distinct bu.ColumnName\r\n from #QBMBufferTransferOneTable bu  ) as x left outer join ( select columnname from DialogColumn c with (readpast) join DialogTable t with (readpast) \r\non c.UID_DialogTable = t.UID_DialogTable where t.TableName = @TableName ) as y on x.ColumnName = y.ColumnName where y.ColumnName is null if @MissingColumnname\r\n > ' ' begin select @cmd = '#LDS#Table {0} not inserted because of missing ColumnDefinition {1}, processing module {2}|' + @TableName + '|' + @MissingColumnname\r\n + '|' + @Modulename + '|' exec QBM_PJournal @cmd, @@procid, 'W', @DebugLevel goto EndLabel end end if @DebugSwitch > 0 begin print '@countColumnsInRow'\r\n + str(@countColumnsInRow) end if @countColumnsInRow < 100  begin select @RowsPerShot = 400000 / @countColumnsInRow end else begin select @RowsPerShot \r\n= 4000 end  select @columnPattern = N'\r\n\t\tjoin ( select @ContentClause@ as @columnname@, bux.ObjectkeyOfRow as XObjectKey\r\n\t\t\t\t\tfrom #QBMBufferTransferOneTable bux \r\n\t\t\t\t\twhere bux.columnname = ''@columnname@''\r\n\t\t\t\t) as @number@ on v000.XObjectKey = @number@.XObjectKey'\r\n select @Vortest = N'\r\ndeclare @missingList QBM_YParameterList -- t a b l e (ObjectkeyOfRow varchar(138)  -->Parameter1\r\n\r\ninser'+'t into @missingList(Parameter1 /*ObjectkeyOfRow*/)\r\nselect top '\r\n + STR(@RowsPerShot) + ' y.ObjectKeyOfRow\r\n from (\r\n\t\tselect ot.ObjectKeyOfRow -- , COUNT(*) as CountItems\r\n\t\t\tfrom #QBMBufferTransferOneTable ot \r\n\t\t\tgroup by ot.ObjectKeyOfRow\r\n\t\t\thaving COUNT(*) =  '\r\n + str(@countColumnsInRow) + '\r\n\t\t) as y\t\r\n\t\twhere Not exists (select top 1 1\r\n\t\t\t\t\t\t from ' + @TableName + ' x\r\n\t\t\t\t\t\t where x.XObjectKey = y.ObjectkeyOfRow\r\n\t\t\t\t\t\t)\r\n\r\n'\r\n select @insertlist = @Vortest + N'\r\n if @@rowcount = 0\r\n  begin\r\n\tgoto EndLabel\r\n  end\t\r\n  \t\t\t\t\t\r\nInser'+'t into ' + @TableName + ' (XObjectKey' select\r\n @SelectList = N'\r\n\tselect v000.XObjectKey ' select @JoinList = N'\r\nfrom \r\n (\r\n\t-- bestimmen aller einzufügenden Sätze\r\n\tselect Parameter1 /*ObjectkeyOfRow*/ as XObjectKey \r\n\t\tfrom @missingList\r\n\t) as v000'\r\n   if @TableName in (select TableName from QBM_VStartupTables)  begin insert into @ElementBuffer(Ident1) select distinct bu.columnname from QBM_VSchemaColumns\r\n cc join #QBMBufferTransferOneTable bu on cc.COLUMN_NAME = bu.columnname collate database_default where cc.TABLE_NAME = @TableName  and ( bu.HasContentFull\r\n = 0 and isnull(bu.ContentShort, '') > ' ' or bu.HasContentFull = 1 and isnull(bu.ContentFull, '') > ' ' ) order by 1 end else begin insert into @ElementBuffer\r\n(Ident1) select distinct bu.columnname from dialogColumn cc with (readpast) join #QBMBufferTransferOneTable bu on cc.COLUMNNAME = bu.columnname join DialogTable\r\n t with (readpast) on cc.UID_DialogTable = t.UID_DialogTable where t.TableName = @TableName  and ( bu.HasContentFull = 0 and isnull(bu.ContentShort, ''\r\n) > ' ' or bu.HasContentFull = 1 and isnull(bu.ContentFull, '') > ' ' ) order by 1 end select @ElementCount = count(*) from @ElementBuffer select @ElementIndex\r\n = 1 while @ElementIndex <= @ElementCount begin select top 1 @ColumnName = bu.Ident1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex select\r\n @number += 1 select @NumberTableSynonym = 'v' + right('00' + ltrim(str(@number)), 3) if @DebugSwitch > 0 begin print 'Spalte : ' + @columnname end select\r\n @ColumnDatatype = dbo.QBM_FGIColumnDataType(@TableName , @columnname) select @ColumnDataMaxLen = dbo.QBM_FGIColumnDataLen(@TableName , @columnname) select\r\n @insertlist = @insertlist + ', ' + @columnname select @SelectList = @SelectList + N'\t\r\n\t\t\t, ' + dbo.QBM_FSQIsNullClauseSet(@TableName , @columnname, @NumberTableSynonym\r\n) select @JoinList = @JoinList + replace(REPLACE(REPLACE(@columnPattern , '@ContentClause@', dbo.QBM_FSQCVBufferToColumn(@TableName , @columnname, N'bux'\r\n, 0)) , '@columnname@', @columnname) , '@number@', @NumberTableSynonym) select @ElementIndex += 1 end  if dbo.QBM_FGIColumnExists(@TableName , 'XUserInserted'\r\n) = 1 begin select @insertlist = @insertlist + ', XuserInserted, XUserUpdated, XDateInserted, XDateupdated' select @SelectList = @SelectList + ', ''' +\r\n @xuser + ''', ''' + @xuser + ''', getutcdate(), getutcdate()' end   if dbo.QBM_FGIColumnExists(@TableName , 'XIsInEffect') = 1  and not exists (select\r\n top 1 1 from #QBMBufferTransferOneTable bu where bu.ColumnName = 'XIsInEffect' ) begin select @insertlist = @insertlist + ', XIsInEffect' select @SelectList\r\n = @SelectList + ', 1' end select @insertlist = @insertlist + ')' select @cmd = @insertlist + @SelectList + @JoinList + N'\r\n\t\t\tEndLabel:\r\n\t\t\t' if @DebugSwitch\r\n > 0 begin print substring(@cmd, 1, 4000) print substring(@cmd, 4001, 4000) print substring(@cmd, 8001, 4000) print substring(@cmd, 12001, 4000) print \r\nsubstring(@cmd, 16001, 4000) print substring(@cmd, 20001, 4000) end exec sp_executesql @Vortest select @lauf = @@ROWCOUNT  while @lauf > 0 begin begin \r\ntry exec sp_executesql @cmd select @lauf = @@ROWCOUNT end try begin catch select @lauf = 0 exec QBM_PSessionErrorAdd default, @cmd RAISERROR ('', 18, 1\r\n) WITH NOWAIT end catch end    END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() \r\nRAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PBufferT_ProcessTable",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:30.28",
      "ModifyDate": "2026-04-14T23:14:36.54",
      "Definition": "     create   procedure QBM_PBufferT_ProcessTable ( @ModuleName varchar(3) , @TableName varchar(30) , @PurgeMode bit = 0 ) as begin declare @columnname\r\n varchar(30) declare @SQLCmd nvarchar(max) declare @CountUpcomingRows int  declare @DebugSwitch int = 0 declare @DebugLevel varchar(1) = 'W' declare @msg\r\n nvarchar(4000) declare @ErrorMessage nvarchar(4000) declare @ErrorSeverity int declare @ErrorState int declare @ObjectsToDelete QBM_YParameterList declare\r\n @UID_Module varchar(38) declare @GenprocID varchar(38) declare @RowCondition_Table nvarchar(max)  declare @AreRowsToUpdate int = 0 declare @AreRowsToInsert\r\n int = 0 declare @AreRowsToDelete int = 0 declare @ColumnsAffected QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @IsTransportDisabled\r\n bit declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() declare @PredecessorsInclNonlinear varchar(2000) = '' SET\r\n XACT_ABORT OFF BEGIN TRY select top 1 @PredecessorsInclNonlinear = concat( '(', STRING_AGG( concat('''', left(x.UID_ModuleDef , 3) , '-'''), ',') , ')'\r\n ) from (  select m.UID_ModuleDef from QBMModuleDef m with (readpast) join QBMModuleDef nl with (readpast) on nl.ModuleInfoXML like concat('%' , '<NonlinearModules>%<Module ModuleID=\"'\r\n, m.ModuleName, '\"%</NonlinearModules>%' ) where nl.UID_ModuleDef = concat(@moduleName, '-Moduledefinition') union  select co.UID_ModulePredecessor from\r\n QBMModuleDependCollection co with (readpast) where co.UID_ModuleFollower = concat(@moduleName, '-Moduledefinition')  union select concat(@ModuleName ,\r\n '-Moduledefinition' ) ) as x  select top 1 @RowCondition_Table = isnull(t.TransportWhereClause, '') , @IsTransportDisabled = t.IsTransportDisabled from\r\n DialogTable t with (readpast) where t.TableName = @TableName  if @DebugSwitch > 0 begin print '@RowCondition_Table ' + isnull(@RowCondition_Table, '#'\r\n) print '@IsTransportDisabled ' + isnull(str(@IsTransportDisabled), '#') end select @UID_Module = @ModuleName + '-Moduledefinition' select @GenprocID =\r\n NEWID() drop table if exists #QBMBufferTransferOneTable     create table #QBMBufferTransferOneTable (ColumnName varchar(30) collate database_default ,\r\n ObjectKeyOfRow varchar(138) collate database_default  , ContentShort nvarchar(400) collate database_default , HasContentFull bit default 0 , ContentFull\r\n nvarchar(max) collate database_default )  if not exists (select top 1 1 from sys.tables t with (readpast) where t.name = @TableName ) begin if @ModuleName\r\n = 'CCC' begin select @msg = '#LDS#targettable {0} not found|' + @TableName + '|' raiserror (@msg, 18, 1) with nowait end else begin goto endLabel end \r\nend insert into #QBMBufferTransferOneTable(ColumnName, ObjectKeyOfRow, ContentShort, HasContentFull, ContentFull) select ColumnName, ObjectkeyOfRow, ContentShort\r\n, 0, null from QBMBufferTransfer with (readpast) where TableName = @TableName and ModuleName = @ModuleName and HasContentFull = 0 select @CountUpcomingRows\r\n = @@ROWCOUNT insert into #QBMBufferTransferOneTable(ColumnName, ObjectKeyOfRow, ContentShort, HasContentFull, ContentFull) select ColumnName, ObjectkeyOfRow\r\n, ContentShort, HasContentFull, ContentFull from QBMBufferTransfer with (readpast) where TableName = @TableName and ModuleName = @ModuleName and HasContentFull\r\n = 1 select @CountUpcomingRows += @@ROWCOUNT  create index #XIE1_QBMBufferTransferOneTable on #QBMBufferTransferOneTable(ObjectKeyOfRow, columnname) include\r\n (ContentShort)  create index #XIE2_QBMBufferTransferOneTable on #QBMBufferTransferOneTable(ColumnName) INCLUDE (ObjectKeyOfRow,ContentShort) if @DebugSwitch\r\n > 0 begin print '-- umgeladen table ' + @TableName + dbo.QBM_FCVDatetimeToString(GETUTCDATE()) end  if exists (select top 1 1 from #QBMBufferTransferOneTable\r\n bt join QBMLock l with (readpast) on l.ObjectKeyOfRow = bt.ObjectKeyOfRow ) begin delete #QBMBufferTransferOneTable from #QBMBufferTransferOneTable bt\r\n join DialogTable t with (readpast) on t.TableName = @TableName join DialogColumn c with (readpast) on t.UID_DialogTable = c.UID_DialogTable and c.ColumnName\r\n = bt.ColumnName join QBMLock l with (readpast) on l.UID_DialogColumn = c.UID_DialogColumn and l.ObjectKeyOfRow = bt.ObjectKeyOfRow  delete #QBMBufferTransferOneTable\r\n from #QBMBufferTransferOneTable bt join QBMLock l with (readpast) on l.UID_DialogColumn is null and l.ObjectKeyOfRow = bt.ObjectKeyOfRow end      if @CountUpcomingRows\r\n > 0  begin select @SQLCmd = N'select top 1 1\r\n\t\t\t\t\tfrom ' + @TableName + ' x with (readpast) join  #QBMBufferTransferOneTable y on x.XObjectKey = y.ObjectKeyOfRow'\r\n if @DebugSwitch > 0 begin print @SQLCmd  end begin try exec sp_executesql @sqlcmd select @AreRowsToUpdate = @@ROWCOUNT end try begin catch exec QBM_PSessionErrorAdd\r\n default, @SQLCmd RAISERROR ('', 18, 1) WITH NOWAIT end catch if @DebugSwitch > 0 begin print '@AreRowsToUpdate: ' + isnull(str(@AreRowsToUpdate), 'null'\r\n) end end     if @PurgeMode = 1 and @TableName <> 'QBMNonLinearDepend' and @IsTransportDisabled = 0 begin select @SQLCmd = N'select top 1 1\r\n\t\t\t\t\t\t\t\tfrom '\r\n + @TableName + ' with (readpast) left outer join  #QBMBufferTransferOneTable y on ' + @TableName + '.XObjectKey = y.ObjectKeyOfRow \r\n\t\t\t\t\t\t\t\twhere ' +\r\n dbo.QBM_FCVStringToIndent( dbo.QBM_FSQTableRowOwnedByModuleNL(@TableName , @Modulename, '' + @TableName + '', @PredecessorsInclNonlinear), 11) + '\r\n\t\t\t\t\t\t\t\t and y.ObjectKeyOfRow is null\r\n\t\t\t\t\t\t\t'\r\n if @DebugSwitch > 0 begin print @SQLCmd end begin try exec sp_executesql @sqlcmd select @AreRowsToDelete = @@ROWCOUNT end try begin catch exec QBM_PSessionErrorAdd\r\n default, @SQLCmd RAISERROR ('', 18, 1) WITH NOWAIT end catch if @DebugSwitch > 0 begin print '@AreRowsToDelete ' + isnull(str(@AreRowsToDelete), 'null'\r\n) end if @AreRowsToDelete > 0 begin exec QBM_PTriggersInactiveForTable @TableName, 'Delete' end end     if @CountUpcomingRows > 0  begin select @SQLCmd\r\n = N'select top 1 1\r\n\t\t\t\t\tfrom ' + @TableName + ' x with (readpast) right outer join  #QBMBufferTransferOneTable y on x.XObjectKey = y.ObjectKeyOfRow\r\n\t\t\t\t\twhere x.XObjectKey is null'\r\n if @DebugSwitch > 0 begin print @SQLCmd  end begin try exec sp_executesql @sqlcmd select @AreRowsToInsert = @@ROWCOUNT end try begin catch exec QBM_PSessionErrorAdd\r\n default, @SQLCmd RAISERROR ('', 18, 1) WITH NOWAIT end catch if @DebugSwitch > 0 begin print '@AreRowsToInsert: ' + isnull(str(@AreRowsToInsert), 'null'\r\n) end if @AreRowsToInsert > 0 begin exec QBM_PTriggersInactiveForTable @TableName, 'Insert' end end       if @CountUpcomingRows = 0 and @AreRowsToDelete\r\n > 0 begin  select @SQLCmd = 'Delete ' + @TableName + '\r\n\t\t\t\t\t\t\t\twhere XObjectKey in ( select x.XObjectKey\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfrom ' + @TableName + ' x with (readpast)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\twhere '\r\n + dbo.QBM_FCVStringToIndent( dbo.QBM_FSQTableRowOwnedByModuleNL(@TableName , @Modulename, 'x', @PredecessorsInclNonlinear), 11) + ' \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\tand not exists (select top 1 1 \r\n\t\t\t\t\t\t\t\t\t\t\t\t\tfrom QBMLock l with (readpast)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\twhere l.ObjectKeyOfRow = '\r\n + @TableName + '.XObjectKey\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t' if @RowCondition_Table > ' ' begin select @SQLCmd = @SQLCmd + '\r\n\t\t\t\t\t\t\t\tand  ( ' + @RowCondition_Table\r\n + '\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t' end if @DebugSwitch > 0 begin print @SQLcmd  end begin try exec sp_executesql @SQLcmd                    end try begin catch\r\n exec QBM_PSessionErrorAdd default, @SQLCmd RAISERROR ('', 18, 1) WITH NOWAIT end catch end     if @CountUpcomingRows > 0 and @AreRowsToDelete > 0 begin\r\n   select @SQLCmd = ' select distinct ' + @TableName + '.XObjectKey\r\n\t\t\t\t\t\t\t\tfrom ' + @TableName + ' with (readpast) left outer join  #QBMBufferTransferOneTable y on '\r\n + @TableName + '.XObjectKey = y.ObjectKeyOfRow \r\n\t\t\t\t\t\t\t\twhere ' + dbo.QBM_FCVStringToIndent( dbo.QBM_FSQTableRowOwnedByModuleNL(@TableName , @Modulename\r\n, '' + @TableName + '', @PredecessorsInclNonlinear), 11) + '\r\n\t\t\t\t\t\t\t\t and y.ObjectKeyOfRow is null\r\n\t\t\t\t\t\t\t\tand not exists (select top 1 1 \r\n\t\t\t\t\t\t\t\t\t\t\t\t\tfrom QBMLock l with (readpast)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\twhere l.ObjectKeyOfRow = '\r\n + @TableName + '.XObjectKey\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t' if @RowCondition_Table > ' ' begin select @SQLCmd = @SQLCmd + '\r\n\t\t\t\t\t\t\tand  ( ' + @RowCondition_Table\r\n + '\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t' end if @DebugSwitch > 0 begin print @SQLcmd  end BEGIN TRY  delete  @ObjectsToDelete  insert into @ObjectsToDelete(Parameter1\r\n) exec sp_executesql @SQLcmd delete  @ObjectsToDelete where Parameter1 in (select ObjectKeyOfRow from QBMLock with (readpast) )        select @SQLCmd =\r\n 'Delete ' + @TableName + '\r\n\t\t\t\t\t\t\tfrom ' + @TableName + ' with (readpast) left outer join  #QBMBufferTransferOneTable y on ' + @TableName + '.XObjectKey = y.ObjectKeyOfRow \r\n\t\t\t\t\t\t\twhere '\r\n + dbo.QBM_FCVStringToIndent( dbo.QBM_FSQTableRowOwnedByModuleNL(@TableName , @Modulename, '' + @TableName + '', @PredecessorsInclNonlinear), 11) + '\r\n\t\t\t\t\t\t\t and y.ObjectKeyOfRow is null\r\n\t\t\t\t\t\t\t\tand not exists (select top 1 1 \r\n\t\t\t\t\t\t\t\t\t\t\t\t\tfrom QBMLock l with (readpast)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\twhere l.ObjectKeyOfRow = '\r\n + @TableName + '.XObjectKey\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t' if @RowCondition_Table > ' ' begin select @SQLCmd = @SQLCmd + '\r\n\t\t\t\t\t\t\t\tand  ( ' + @RowCondition_Table\r\n + '\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t' end if @DebugSwitch > 0 begin print @SQLcmd end exec sp_executesql @SQLcmd                               END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default, @SQLCmd RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end     if @AreRowsToUpdate > 0 begin if @TableName in (select \r\nTableName from QBM_VStartupTables) begin delete  @ColumnsAffected  insert into @ColumnsAffected(Ident1) select distinct bu.columnname from QBM_VSchemaColumns\r\n cc join #QBMBufferTransferOneTable bu on cc.COLUMN_NAME = bu.columnname where cc.TABLE_NAME = @TableName order by 1 select @ElementCount = @@ROWCOUNT \r\nselect @ElementIndex = 1 end else begin delete  @ColumnsAffected  insert into @ColumnsAffected(Ident1) select distinct bu.columnname from dialogColumn \r\ncc with (readpast) join QBMBufferTransfer bu with (readpast) on cc.ColumnName = bu.ColumnName join DialogTable t with (readpast) on cc.UID_DialogTable \r\n= t.UID_DialogTable where t.TableName = @TableName and cc.IsPKMember = 0 order by 1 select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 end while\r\n @ElementIndex <= @ElementCount begin select top 1 @columnname = bu.Ident1 from @ColumnsAffected bu where bu.ElementIndex = @ElementIndex  if @DebugSwitch\r\n > 0 begin print '  updat'+'e ' + @columnname end   exec QBM_PBufferT_ProcessUpdate @modulename, @TableName , @columnname select @ElementIndex += 1 end\r\n  end     if @AreRowsToInsert > 0 begin if @DebugSwitch > 0 and @DebugLevel = 'T' begin select @SQLCmd = N'\r\n\t\t\t\tdeclare @msg nvarchar(256)\r\n\t\t\t\tselect top 1 @msg = ''to insert:  '' + y.ObjectKeyOfRow\r\n\t\t\t\t\tfrom '\r\n + @TableName + ' x with (readpast) right outer join  #QBMBufferTransferOneTable y on x.XObjectKey = y.ObjectKeyOfRow\r\n\t\t\t\t\twhere x.XObjectKey is null\r\n\t\t\t\t\t\r\n\t\t\t\texec QBM_PJournal @msg, @@procid, ''T'', ''T''\r\n\t\t\t\t\t'\r\n exec sp_executesql @SQLCmd end exec QBM_PBufferT_ProcessInsert @modulename, @TableName end  if @AreRowsToInsert + @AreRowsToUpdate + @AreRowsToDelete \r\n> 0 and @TableName in (select t.TableName from QBM_VStartupTables t ) begin update DialogScriptAssembly set isValid = 0  , XDateUpdated = @Xdate , XUserUpdated\r\n = @XUser where isvalid = 1 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow()\r\n RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel:  truncate table #QBMBufferTransferOneTable return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PBufferT_ProcessUpdate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:14:36.517",
      "ModifyDate": "2026-04-14T23:14:36.517",
      "Definition": "   create   procedure QBM_PBufferT_ProcessUpdate ( @ModuleName varchar(3) , @TableName varchar(30) , @columnname varchar(30) ) as begin declare \r\n@DebugLevel char(1) = 'W' declare @DebugSwitch int = 0 declare @ColumnFitsToShort bit declare @IsCustomConfigurable bit declare @IsPKMember bit declare\r\n @DatabaseOwner varchar(3) declare @xclause nvarchar(1000) declare @SQLCmd nvarchar(max) = '' declare @ErrorMessage nvarchar(4000) declare @ErrorSeverity\r\n int declare @ErrorState int declare @CountRowsAffected int = 0 declare @XUser nvarchar(64) = object_name(@@procid)  declare @UPD_BC_SHORT nvarchar(max\r\n) = concat('\r\n\t-- code from @UPD_BC_SHORT\r\n\t\tupdate QBMBufferConfig \r\n\t\t\tset ContentShort = du.ContentShort\r\n\t\t\t, HasContentFull = 0 ' , concat('' , '\t--34101\r\n\t\t\t\t, XDateUpdated = getutcdate()\r\n\t\t\t\t, XUserUpdated = '''\r\n, object_name(@@procid) , '''\r\n\t\t\t\t') ,' from QBMBufferConfig bc join #QBMBufferTransferOneTable du on bc.TableName = ''@TableName@'' \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tand bc.Columnname = ''@columnname@''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tand du.ColumnName = ''@columnname@''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tand bc.ObjectKeyOfRow = du.ObjectKeyOfRow collate Database_default\r\n\t\t\twhere (isnull(bc.ContentShort, N'''') <> isnull(du.ContentShort, N'''')  @Collation@\r\n\t\t\t\t\t)\r\n\r\n'\r\n ) declare @UPD_BC_LONG nvarchar(max) = concat('\r\n\t-- code from @UPD_BC_LONG\r\n\t\tupdate QBMBufferConfig \r\n\t\t\tset ContentShort = du.ContentShort\r\n\t\t\t, HasContentFull = du.HasContentFull\r\n\t\t\t, ContentFull = du.ContentFull '\r\n , concat('' , '\t--34101\r\n\t\t\t\t, XDateUpdated = getutcdate()\r\n\t\t\t\t, XUserUpdated = ''', object_name(@@procid) , '''\r\n\t\t\t\t') ,'\r\n\t\t\tfrom QBMBufferConfig bc join #QBMBufferTransferOneTable du on bc.TableName = ''@TableName@'' \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tand bc.Columnname = ''@columnname@''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tand du.ColumnName = ''@columnname@''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tand bc.ObjectKeyOfRow = du.ObjectKeyOfRow collate Database_default\r\n\t\t\twhere (isnull(bc.ContentShort, N'''') <> isnull(du.ContentShort, N'''') @Collation@\r\n\t\t\t\t\tor bc.HasContentFull <> du.HasContentFull\r\n\t\t\t\t\tor isnull(bc.ContentFull, N'''') <> isnull(du.ContentFull, N'''') @Collation@\r\n\t\t\t\t\t)\r\n\r\n'\r\n )  declare @UPD_ZE nvarchar(max) = concat('\r\n\t-- code from @UPD_ZE\r\n/*\r\n\t\tif exists (\r\n\t\t\t\t\tselect top 1 1\r\n\t\t\t\t\tfrom @TableName@ zt with (readpast) join #QBMBufferTransferOneTable bu on zt.XObjectKey = bu.ObjectkeyOfRow collate Database_default\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tand bu.columnname = ''@columnname@''\r\n\t\t\t\t\twhere \r\n\t\t\t\t\t\t@IsnullClauseForTable_zt@ <> @ContentBufferCompare_bu@ @Collation@\r\n\t\t\t\t  )\r\n\t\t begin\r\n*/\t\t \r\n\t\t\tupdat'\r\n,'e @TableName@\r\n\t\t\t\tset @columnname@ = @ContentFromBuffer_bu@\r\n\t\t\t\t@Xclause@\r\n\t\t\tfrom @TableName@ zt with (readpast) join #QBMBufferTransferOneTable bu on zt.XObjectKey = bu.ObjectkeyOfRow collate Database_default\r\n\t\t\t\t\t\t\t\t\t\t\t\tand bu.columnname = ''@columnname@''\r\n\t\t\twhere \r\n\t\t\t\t@IsnullClauseForTable_zt@ <> @ContentBufferCompare_bu@ @Collation@\r\n\t\t\t@RowOwnerClause_bu@\r\n\r\n'\r\n ) declare @UPD_ZE_COND_BC nvarchar(max) = @UPD_ZE + '\r\n\t-- code from @UPD_ZE_COND_BC\r\n\t\t\tand not exists (\r\n\t\t\t\t\t\t\tselect top 1 1\r\n\t\t\t\t\t\t\t from QBMBufferConfig cf with (readpast)\r\n\t\t\t\t\t\t\twhere cf.TableName = ''@TableName@''\r\n\t\t\t\t\t\t\t\tand cf.ColumnName = ''@columnname@''\r\n\t\t\t\t\t\t\t\tand cf.ObjectKeyOfRow = bu.ObjectKeyOfRow collate Database_default\r\n\t\t\t\t\t\t\t)\r\n'\r\n select @UPD_ZE = @UPD_ZE + '\r\n/*\r\n\t\t end\t\t \r\n*/\t\t \r\n' select @UPD_ZE_COND_BC = @UPD_ZE_COND_BC + '\r\n/*\r\n\t\t end\t\t \r\n*/\t\t \r\n' declare @DEL_BC_EQ nvarchar\r\n(max) = '\r\n\t-- code from @DEL_BC_EQ\r\n\t\tdelete  QBMBufferConfig\r\n\t\tfrom QBMBufferConfig bu join @TableName@ zt on zt.XObjectKey = bu.ObjectkeyOfRow collate Database_default\r\n\t\t\t\t\t\t\t\t\t\t\tand bu.columnname = ''@columnname@''\r\n\t\t\t\t\t\t\t\t\t\t\tand bu.TableName = ''@TableName@''\r\n\t\twhere \r\n\t\t\t@IsnullClauseForTable_zt@ = @ContentBufferCompare_bu@ @Collation@\r\n\t\t'\r\n declare @DEL_BC nvarchar(max) = '\r\n\t-- code from @DEL_BC\r\n\t\tdelete QBMBufferConfig \r\n\t\t\tfrom QBMBufferConfig bc join #QBMBufferTransferOneTable bu on bc.TableName = ''@TableName@'' \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tand bc.Columnname = ''@columnname@''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tand bu.ColumnName = ''@columnname@''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tand bc.ObjectKeyOfRow = bu.ObjectKeyOfRow collate Database_default\r\n\t\t\t@RowOwnerClause_bu@\r\n\r\n'\r\n declare @COPY_BC nvarchar(max) = concat('\r\n\t-- code from @COPY_BC\r\n\t\t\tinser','t into QBMBufferConfig (UID_QBMBufferConfig, TableName, ColumnName, ObjectKeyOfRow, ContentShort, HasContentFull, ContentFull, XDateInserted, XDateUpdated, XUserInserted, XUserUpdated)\r\n\t\t\t\tselect newid(), ''@TableName@'', ''@columnname@'', bu.ObjectKeyOfRow, @ZelleZuPuffer@, getutcdate(), getutcdate(), '''\r\n, object_name(@@procid) ,''', ''', object_name(@@procid) ,'''\r\n\t\t\t\tfrom #QBMBufferTransferOneTable bu join @TableName@ zt on bu.ObjectKeyOfRow = zt.XObjectKey  collate Database_default\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand bu.ColumnName = ''@columnname@''\r\n\t\t\t\twhere Not exists (select top 1 1 \r\n\t\t\t\t\t\t\t\t\t from QBMBufferConfig cb with (readpast)\r\n\t\t\t\t\t\t\t\t\t\twhere cb.TableName = ''@TableName@''\r\n\t\t\t\t\t\t\t\t\t\t and cb.columnname = ''@columnname@''\r\n\t\t\t\t\t\t\t\t\t\t and cb.ObjectKeyOfRow = bu.ObjectKeyOfRow collate Database_default\r\n\t\t\t\t\t\t\t\t\t) \r\n\t\t\t\t@RowOwnerClause_bu@\r\n'\r\n) declare @RESTORE_BC nvarchar(max) = concat('\r\n\t-- code from @RESTORE_BC\r\n\t\t\tupdat','e @TableName@\r\n\t\t\t\tset @columnname@ = @ContentFromBuffer_bu@\r\n\t\t\t\t@Xclause@\r\n\t\t\tfrom @TableName@ zt with (readpast) join #QBMBufferTransferOneTable z on zt.XObjectKey = z.ObjectkeyOfRow collate Database_default\r\n\t\t\t\t\t\t\t\t\t\t\t\tand z.columnname = ''@columnname@''\r\n\t\t\t\t\t\t\tjoin QBMBufferConfig bu with (readpast) on bu.columnname = ''@columnname@''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tand bu.TableName = ''@TableName@''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tand bu.ObjectkeyOfRow = z.ObjectkeyOfRow collate Database_default\r\n\t\t\twhere \r\n\t\t\t\t@IsnullClauseForTable_zt@ <> @ContentBufferCompare_bu@ @Collation@\r\n\t\t\t@RowOwnerClause_bu@\r\n\r\n'\r\n ) SET XACT_ABORT OFF BEGIN TRY select top 1 @IsCustomConfigurable = sign(max(convert(int, x.IsCustomConfigurable))) , @IsPKMember = sign(max(convert(int\r\n, x.IsPKMember))) from ( select c.IsCustomConfigurable, c.IsPKMember from DialogColumn c with (readpast) join DialogTable t with (readpast) on c.UID_DialogTable\r\n = t.UID_DialogTable where t.TableName = @TableName and c.ColumnName = @columnname and t.TableType = 'T' union select cv.IsCustomConfigurable, cb.IsPKMember\r\n from DialogColumn cv with (readpast) join DialogTable v with (readpast) on cv.UID_DialogTable = v.UID_DialogTable join DialogTable b with (readpast) on\r\n v.UID_DialogTableBase = b.UID_DialogTable join DialogColumn cb with (readpast) on b.UID_DialogTable = cb.UID_DialogTable and cv.UID_BaseColumn = cb.UID_DialogColumn\r\n where b.TableName = @TableName and b.TableType in ('B') and v.TableType in ('V') and cb.ColumnName = @columnname   union select 0, 0 ) as x select @DatabaseOwner\r\n = dbo.QBM_FGIDBOwner()  if @IsPKMember = 1 begin if @DebugSwitch > 0 begin print 'PK - Member angesprochen' end goto EndLabel end select @ColumnFitsToShort\r\n = dbo.QBM_FGIColumnFitsContentShort(@TableName , @columnname) if @ModuleName = 'CCC' and @DatabaseOwner <> 'CCC' begin if @DebugSwitch > 0 begin print\r\n 'Kundenmaterial in Master-DB darf nicht rein' end goto endlabel end if dbo.QBM_FGIColumnExistsInSchema(@TableName, 'XDateUpdated') = 1 and @columnname\r\n not like 'X[d,u][a,s][t,e][e,r]updated' begin select @xclause = ', XUserupdated = ''' + @xuser + ''' , xdateupdated = getutcdate()' end else begin select\r\n @xclause = '--' end if @ModuleName <> 'CCC'  and @IsCustomConfigurable = 1 and @DatabaseOwner = 'CCC' begin    if @ColumnFitsToShort = 1 begin if @DebugSwitch\r\n > 0 print 'Modul <> CCC, customconfigurable = 1 , owner = CCC , fitToShort' select @SQLCmd = @UPD_BC_SHORT end else begin if @DebugSwitch > 0 print 'Modul <> CCC, customconfigurable = 1 , owner = CCC , no fitToShort'\r\n select @SQLCmd = @UPD_BC_LONG end select @SQLCmd = @SQLCmd + @UPD_ZE_COND_BC + @DEL_BC_EQ end if @ModuleName <> 'CCC'  and ( @IsCustomConfigurable = 0\r\n or @DatabaseOwner <> 'CCC' ) begin   if @DebugSwitch > 0 print 'Modul <> CCC, customconfigurable = 0 oder owner <> CCC ' select @SQLCmd = @UPD_ZE + @DEL_BC\r\n end  if @ModuleName <> 'CCC' begin select @SQLCmd = REPLACE(@sqlcmd, '@RowOwnerClause_bu@', '--') end  if @ModuleName = 'CCC' begin if @IsCustomConfigurable\r\n = 1 begin      if @DebugSwitch > 0 print 'Modul = CCC, customconfigurable = 1 und owner = CCC ' select @SQLCmd = @COPY_BC + @UPD_ZE + @DEL_BC_EQ select\r\n @SQLCmd = REPLACE(@SQLCmd, '@RowOwnerClause_bu@', ' and dbo.QBM_FCVObjectKeyToModuleOwner(bu.ObjectKeyOfRow) <> ''CCC''' ) end else begin     if @DebugSwitch\r\n > 0 print 'Modul = CCC, customconfigurable = 0 und owner = CCC ' select @SQLCmd = @RESTORE_BC + @DEL_BC select @SQLCmd = REPLACE(@SQLCmd, '@RowOwnerClause_bu@'\r\n, ' and dbo.QBM_FCVObjectKeyToModuleOwner(bu.ObjectKeyOfRow) <> ''CCC''' ) end     select @SQLCmd = @SQLCmd + @UPD_ZE + @DEL_BC select @SQLCmd = REPLACE\r\n(@SQLCmd, '@RowOwnerClause_bu@', ' and dbo.QBM_FCVObjectKeyToModuleOwner(bu.ObjectKeyOfRow) = ''CCC''' ) end   select @SQLCmd = REPLACE(@SQLCmd, '@IsnullClauseForTable_zt@'\r\n, dbo.QBM_FCVStringToIndent( dbo.QBM_FSQIsNullClauseCmp(@TableName , @columnname, N'zt'), 1)) select @SQLCmd = REPLACE(@SQLCmd, '@ContentFromBuffer_bu@'\r\n, dbo.QBM_FCVStringToIndent( dbo.QBM_FSQCVBufferToColumn(@TableName , @columnname, N'bu', 0), 8)) select @SQLCmd = REPLACE(@SQLCmd, '@ContentBufferCompare_bu@'\r\n, dbo.QBM_FCVStringToIndent( dbo.QBM_FSQCVBufferToColumn(@TableName , @columnname, N'bu', 1), 8)) select @SQLCmd = REPLACE(@SQLCmd, '@Xclause@', @Xclause\r\n)  select @SQLCmd = replace(REPLACE(@SQLCmd, '@TableName@', @TableName ) , '@columnname@', @columnname) select @SQLCmd = REPLACE(@SQLCmd, '@Collation@'\r\n, dbo.QBM_FSQColumnCollationClause(@TableName , @columnname)) select @SQLCmd = REPLACE(@SQLCmd, '@ZelleZuPuffer@', dbo.QBM_FCVStringToIndent( dbo.QBM_FSQCVColumnToBuffer\r\n(@TableName, @ColumnName, 'zt'), 8))  if @DebugSwitch > 0 begin print @SQLCmd exec QBM_PJournal @SQLCmd, @@procid, 'D', @DebugLevel end begin try exec \r\nsp_executesql @SQLCmd select @CountRowsAffected = @@ROWCOUNT end try begin catch exec QBM_PSessionErrorAdd default, @SQLCmd RAISERROR ('', 18, 1) WITH \r\nNOWAIT end catch if @CountRowsAffected > 0 begin exec QBM_PTriggersInactiveForTable @TableName, 'Update' end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PCheckSameCase_138",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.85",
      "ModifyDate": "2026-04-14T23:20:29.61",
      "Definition": "create   procedure QBM_PCheckSameCase_138 as begin declare @SQLcmd nvarchar(max) declare @cmdwork nvarchar(max) declare @ElementBuffer QBM_YCursorBuffer\r\n declare @ElementCount int declare @ElementIndex int SET XACT_ABORT OFF BEGIN TRY    insert into @ElementBuffer (Ident1, Ident2, Ident3, ObjectKey1) select\r\n rtrim(tr.parenttable), rtrim(tr.childtable), rtrim(tr.ParentColumn) as ParentColumn, rtrim(tr.ChildColumn) as ChildColumn  from QBM_VQBMRelationALL tr\r\n    join DialogColumn ic with (readpast) on ic.UID_DialogTable = tr.UID_DialogTableParent and ic.UID_DialogColumn = tr.UID_ParentColumn and ic.SchemaDataType\r\n like '%char%'  join dialogtable t1 with (readpast) on tr.UID_DialogTableParent = t1.UID_DialogTable and t1.tabletype in ('T', 'B') join QBM_VSchemaColumns\r\n isp on isp.TABLE_NAME = tr.parenttable and isp.COLUMN_NAME = tr.ParentColumn join dialogtable t2 with (readpast) on tr.UID_DialogTableChild = t2.UID_DialogTable\r\n and t2.tabletype in ('T', 'B') join QBM_VSchemaColumns isc on isc.TABLE_NAME = tr.ChildTable and isc.COLUMN_NAME = tr.ChildColumn where tr.ParentExecuteBy\r\n in ('T', 'D') and tr.IsDynamicFK = 1  select @cmdwork = string_agg( concat(convert(nvarchar(max), N'') , '\r\nselect distinct tx.TableName as ParentTable,  '''\r\n, t.TableName, ''' as ChildTable , ''XObjectKey'' as ParentColumn, ''', c.ColumnName, ''' as ChildColumn\r\n\tfrom ', t.TableName, ' x with (readpast) join DialogTable tx with (readpast) on x.'\r\n, c.ColumnName, ' like concat(''<Key><T>'' , tx.TableName , ''</T>%'' )\r\n\twhere dbo.QBM_FGIColumnExists(tx.tablename, ''XObjectKey'') = 1\r\n') , '\r\n union all\r\n '\r\n )  from DialogColumn c with (readpast) join DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable where c.IsDynamicFK = 1 and t.TableType\r\n in ('B', 'T') and not exists (select top 1 1 from QBM_VQBMRelationALL r where r.IsDynamicFK = 1 and r.UID_DialogTableChild = c.UID_DialogTable and r.UID_ChildColumn\r\n = c.UID_DialogColumn )  insert into @ElementBuffer (Ident1, Ident2, Ident3, ObjectKey1) exec sp_executesql @cmdwork  declare @StatementBuffer QBM_YCursorbuffer\r\n insert into @StatementBuffer(ContentFull) select CONCAT('\r\n\r\n\t\t\tif exists (select top 1 1\r\n\t\t\t\t\t\t from  ', e.Ident2, ' join ', e.Ident1 , ' p on p.XObjectKey = '\r\n, e.Ident2, '.', e.ObjectKey1 , '\r\n\t\t\t\t\t\t   where ', e.Ident2, '.', e.ObjectKey1 , ' <> p.XobjectKey  collate SQL_Latin1_General_CP1_CS_AS \r\n\t\t\t\t\t\t)\r\n\t\t\t begin\r\n\t\t\t\tupdate '\r\n, e.Ident2, ' set  ', e.ObjectKey1 , ' = p.XObjectKey ' , case when dbo.QBM_FGIColumnExistsInSchema(e.Ident2, 'XDateUpdated') = 1 then ', ' + e.Ident2 \r\n+'.XDateUpdated = getutcdate(), '+ e.Ident2 +'.XUserUpdated =  ''' + object_name(@@procid) + '''' else '' end ,'\r\n\t\t\t\t  from  ', e.Ident2, ' join ', e.Ident1\r\n , ' p on p.XObjectKey = ', e.Ident2, '.', e.ObjectKey1 , '\r\n\t\t\t\t\t   where ', e.Ident2, '.', e.ObjectKey1 , ' <> p.XObjectKey  collate SQL_Latin1_General_CP1_CS_AS \r\n\t\t\t end\r\n\t\t\t\t'\r\n ) from @ElementBuffer e order by e.Ident2, e.Ident1   select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount \r\nbegin select top 1 @SQLcmd = bu.ContentFull from @StatementBuffer bu where bu.ElementIndex = @ElementIndex exec sp_executesql @SQLCmd select @ElementIndex\r\n += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow,\r\n 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PCheckSameCase_38",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.83",
      "ModifyDate": "2026-04-14T23:20:29.593",
      "Definition": "     create   procedure QBM_PCheckSameCase_38 as begin declare @SQLcmd nvarchar(max) declare @cmdwork nvarchar(max) declare @parenttable nvarchar\r\n(64), @childtable nvarchar(64), @ParentColumn nvarchar(64), @ChildColumn nvarchar(64) declare @changed bit declare @CountItems int  declare @DebugLevel\r\n char(1) = 'W' declare @Debugmessage nvarchar(4000) declare @DebugSwitch int = 0 declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare\r\n @ElementIndex int declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY    update QBMRelation\r\n set XMarkedForDeletion = 0  , XDateUpdated = @Xdate , XUserUpdated = @XUser where isnull(XMarkedForDeletion, -1) <> 0  and QBMRelation.ParentExecuteBy\r\n in ('T', 'D') update QBMRelation set XMarkedForDeletion += 1 , XDateUpdated = @Xdate , XUserUpdated = @XUser from QBMRelation tr where exists (select \r\ntop 1 1 from QBMRelation t1 where t1.relationid <> tr.relationid and tr.uid_childcolumn = tr.uid_parentcolumn and t1.XMarkedForDeletion = tr.XMarkedForDeletion\r\n )  and tr.ParentExecuteBy in ('T', 'D')  select @SQLcmd = N'\r\n\t\t\tif exists (select top 1 1\r\n\t\t\t\t\t\t from  @childtable, @parenttable p\r\n\t\t\t\t\t\t   where @childtable.@childcolumn = p.@parentColumn \r\n\t\t\t\t\t\t\t and @childtable.@childcolumn <> p.@parentColumn  collate SQL_Latin1_General_CP1_CS_AS /* 35127 CS*/\r\n\t\t\t\t\t\t)\r\n\t\t\t begin\r\n\t\t\t\tupdate @childtable set  @childtable.@childcolumn = p.@parentColumn #xwerte#\r\n\t\t\t\t  from  @childtable, @parenttable p\r\n\t\t\t\t\t   where @childtable.@childcolumn = p.@parentColumn \r\n\t\t\t\t\t\t and @childtable.@childcolumn <> p.@parentColumn  collate SQL_Latin1_General_CP1_CS_AS /* 35127 CS*/\r\n\t\t\t end\r\n\t\t\t\t'\r\n  insert into @ElementBuffer (Ident1, Ident2, Ident3, ObjectKey1) select rtrim(tr.parenttable), rtrim(tr.childtable), rtrim(tr.ParentColumn) as ParentColumn\r\n, rtrim(tr.ChildColumn) as ChildColumn from QBM_VQBMRelation tr    join DialogColumn ic with (readpast) on ic.UID_DialogTable = tr.UID_DialogTableParent\r\n and ic.UID_DialogColumn = tr.UID_ParentColumn and ic.SchemaDataType like '%char%'  join dialogtable t1 with (readpast) on tr.UID_DialogTableParent = t1.UID_DialogTable\r\n and t1.tabletype in ('T', 'B') join QBM_VSchemaColumns isp on isp.TABLE_NAME = tr.parenttable and isp.COLUMN_NAME = tr.ParentColumn join dialogtable t2\r\n with (readpast) on tr.UID_DialogTableChild = t2.UID_DialogTable and t2.tabletype in ('T', 'B') join QBM_VSchemaColumns isc on isc.TABLE_NAME = tr.ChildTable\r\n and isc.COLUMN_NAME = tr.ChildColumn where tr.ParentExecuteBy in ('T', 'D')  and t1.TableName not in (select TableName from QBM_VHeavyLoadTables  ) and\r\n t2.TableName not in (select TableName from QBM_VHeavyLoadTables  ) order by tr.XMarkedForDeletion desc, parenttable asc, childtable asc select @ElementCount\r\n = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @parenttable = bu.Ident1 , @childtable = bu.Ident2 , @ParentColumn\r\n = bu.Ident3 , @ChildColumn = bu.ObjectKey1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex select @cmdwork = @SQLcmd select @cmdwork = replace\r\n(@cmdwork, N'@childtable', @childtable) select @cmdwork = replace(@cmdwork, N'@parenttable', @parenttable) select @cmdwork = replace(@cmdwork, N'@childcolumn'\r\n, @childcolumn) select @cmdwork = replace(@cmdwork, N'@parentcolumn', @parentcolumn) select @cmdwork = replace(@cmdwork, N'#xwerte#', case when dbo.QBM_FGIColumnExistsInSchema\r\n(@childtable, 'XDateUpdated') = 1 and @ChildColumn not like 'X[d,u][a,s][t,e][e,r]updated' then ', ' + @childtable +'.XDateUpdated = getutcdate(), '+@childtable+\r\n'.XUserUpdated =  ''' + object_name(@@procid) + '''' else '' end ) select @changed = 1   while @changed = 1 begin  exec @CountItems = QBM_PExecuteSQLWithRetry_LLP\r\n @SQLStatement = @cmdwork , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@procid , @HandleErrorSilent = 0 if @CountItems\r\n > 0 begin select @changed = 1 select @Debugmessage = @parenttable + ' -> ' + @childtable + ' Changed' if @DebugSwitch > 0 begin print @Debugmessage + \r\nstr(@CountItems) end else begin exec QBM_PJournal @Debugmessage, @@PROCID, 'D', @DebugLevel end end else begin select @changed = 0 select @Debugmessage\r\n = @parenttable + ' -> ' + @childtable + ' OK' if @DebugSwitch > 0 begin print @Debugmessage end else begin exec QBM_PJournal @Debugmessage, @@PROCID, \r\n'T', @DebugLevel end end end select @ElementIndex += 1 end  update QBMRelation set XMarkedForDeletion = 0 where isnull(XMarkedForDeletion, -1) <> 0 END\r\n TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT\r\n END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PColumnAdd",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.577",
      "ModifyDate": "2026-04-14T23:14:10.237",
      "Definition": "   create   procedure QBM_PColumnAdd (@TableName varchar(30) , @ColumnName varchar(30) , @TypeDef nvarchar(64) , @UID_DialogColumn varchar(38) =\r\n null , @UID_DialogTable varchar(38) = null ) as begin declare @DebugSwitch int = 0 declare @Cmd nvarchar(max) declare @UID_DialogTableIntern varchar(38\r\n) declare @datatype nvarchar(64) declare @OwnerDB varchar(3) declare @OwnerColumn varchar(3) declare @ElementsToKeep int declare @ViewsWithElementsToKeep\r\n QBM_YCursorBuffer declare @ViewName varchar(30) declare @ElementLast int declare @ElementCount int declare @ElementIndex int declare @XUser nvarchar(64\r\n) = object_name(@@procid) declare @Xdate datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY if not exists (select top 1 1 from QBM_VSchemaColumns c where\r\n c.TABLE_NAME = @TableName and c.COLUMN_NAME = @ColumnName ) begin select @Cmd = '\r\n\talter table ' + @TableName + ' add ' + @ColumnName + ' ' + @TypeDef\r\n if @DebugSwitch > 0 begin print @cmd end exec sp_executesql @cmd end  select top 1 @datatype = c.DATA_TYPE from INFORMATION_SCHEMA.COLUMNS c where c.TABLE_NAME\r\n = @TableName and c.COLUMN_NAME = @ColumnName if @datatype in ('bit', 'int', 'bigint', 'float', 'real') begin select @Cmd = concat('\r\n\tupdate ' , @TableName\r\n , ' set ' , @ColumnName , ' = 0  '  ,' where ' , @ColumnName , ' is null' ) if @DebugSwitch > 0 begin print @cmd end exec sp_executesql @cmd  if exists\r\n (select top 1 1 from INFORMATION_SCHEMA.COLUMNS c where c.TABLE_NAME = @TableName and c.COLUMN_NAME = @ColumnName and c.COLUMN_DEFAULT is null ) begin\r\n select @cmd = concat( 'sp_bindefault ''DezimalNULL'', ''', @TableName, '.', @ColumnName, '''') exec sp_executesql @cmd end  end  if @UID_DialogColumn \r\nis null begin goto endLabel  end if not exists (select top 1 1 from sys.tables t where t.name = 'DialogColumn' ) begin goto endLabel end if @UID_DialogTable\r\n is null  begin select top 1 @UID_DialogTableIntern = t.UID_DialogTable from DialogTable t where t.TableName = @TableName end else begin select @UID_DialogTableIntern\r\n = @UID_DialogTable end if @UID_DialogTableIntern is null begin    goto EndLabel   end   select @OwnerDB = dbo.QBM_FGIDBOwner() select @OwnerColumn = dbo.QBM_FCVGUIDToModuleOwner\r\n(@UID_DialogColumn) select @cmd = 'select name from sys.views where name like ''___[_]VElementsToKeep''' insert into @ViewsWithElementsToKeep (ObjectKey1\r\n) exec sp_executesql @cmd select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY select\r\n @ElementsToKeep = 0 while @ElementIndex <= @ElementLast and @ElementsToKeep = 0 begin select top 1 @ViewName = v.ObjectKey1 from @ViewsWithElementsToKeep\r\n v where v.ElementIndex = @ElementIndex select @ElementsToKeep = 0 select @cmd = 'select top 1 1 from ' + @ViewName + ' where SourceModule = ''' + @OwnerColumn\r\n + '''' exec sp_executesql @cmd select @ElementsToKeep = @@ROWCOUNT select @ElementIndex += 1 end if @OwnerColumn <> 'CCC' and @OwnerColumn <> @OwnerDB\r\n and @ElementsToKeep = 0 begin  goto EndLabel end if @UID_DialogTable > ' '  and not exists (select top 1 1 from DialogTable t where t.TableName = @TableName\r\n ) begin insert into DialogTable( TableName, UID_DialogTable, TableType, XObjectKey , XDateInserted, XDateUpdated, XUserInserted, XUserUpdated ) values\r\n ( @TableName, @UID_DialogTableIntern, 'T', dbo.QBM_FCVElementToObjectKey1('DialogTable', '', @UID_DialogTableIntern) , @Xdate, @Xdate, @XUser, @XUser \r\n) end  if not exists (select top 1 1 from DialogColumn c where c.UID_DialogColumn = @UID_DialogColumn ) begin insert into DialogColumn (UID_DialogColumn\r\n, UID_DialogTable, XObjectKey , ColumnName) select @UID_DialogColumn, @UID_DialogTableIntern, dbo.QBM_FCVElementToObjectKey1('DialogColumn', '', @UID_DialogColumn\r\n) , @ColumnName end update DialogColumn set SchemaDataType = x.DATA_TYPE , SchemaDataLen = x.CHARACTER_MAXIMUM_LENGTH , Datatype = dbo.QBM_FCVSchemaDatatypeToIntern\r\n(x.DATA_TYPE, x.CHARACTER_MAXIMUM_LENGTH) , XUserInserted = 'QBM_PColumnAdd' , XUserUpdated = 'QBM_PColumnAdd' , XDateInserted = GETUTCDATE() , XDateUpdated\r\n = GETUTCDATE() from DialogColumn c join DialogTable t on c.UID_DialogTable = t.UID_DialogTable join INFORMATION_SCHEMA.COLUMNS x on t.TableName = x.TABLE_NAME\r\n and c.ColumnName = x.COLUMN_NAME where ( isnull(SchemaDataType, '') <> x.DATA_TYPE or isnull(schemaDataLen, 0) <> isnull(x.CHARACTER_MAXIMUM_LENGTH, 0\r\n) or isnull(Datatype, -1) = dbo.QBM_FCVSchemaDatatypeToIntern(x.DATA_TYPE, x.CHARACTER_MAXIMUM_LENGTH) ) and c.UID_DialogColumn = @UID_DialogColumn END\r\n TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT\r\n END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PColumnChangeDataType",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.58",
      "ModifyDate": "2026-04-14T23:14:10.243",
      "Definition": "      create   procedure QBM_PColumnChangeDataType (@TableName varchar(30) , @ColumnName varchar(30) , @TypeDefNew nvarchar(64) , @ConvertFunction\r\n nvarchar(1000) = null  ) as begin declare @Cmd nvarchar(max) declare @DebugSwitch int = 0 declare @UID_DialogColumn varchar(38) declare @XUser nvarchar\r\n(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY exec QBM_PTriggerDrop '%', @TableName exec QBM_PIndexDrop\r\n @TableName, '%' exec QBM_PConstraintFKDrop @TableName, '%', '%' exec QBM_PConstraintFKDrop '%', '%', @TableName select @cmd = '\r\nexec sp_rename ''' + \r\n@TableName + '.' + @ColumnName + ''', ''kannweg'', ''column''\r\n\t' if @DebugSwitch > 0 begin print @cmd end exec sp_executesql @cmd select @Cmd = '\r\nalter table '\r\n + @TableName + ' add ' + @ColumnName + ' ' + @TypeDefNew if @DebugSwitch > 0 begin print @cmd end exec sp_executesql @cmd select @Cmd = concat('\r\n\tupdate '\r\n , @TableName , ' set ' , @ColumnName , ' = ' , case when @ConvertFunction > ' ' then @ConvertFunction else 'kannweg' end , case when dbo.QBM_FGIColumnExistsInSchema\r\n(@TableName, 'XDateUpdated') = 1 and @ColumnName not like 'X[d,u][a,s][t,e][e,r]updated' then ', XDateUpdated = getutcdate(), XUserUpdated =  ''' + object_name\r\n(@@procid) + '''' else '' end ) if @DebugSwitch > 0 begin print @cmd end exec sp_executesql @cmd if @TypeDefNew in ('bit', 'int', 'real', 'float', 'bigint'\r\n) begin select @Cmd = concat( 'sp_bindefault ''DezimalNULL'', ''' , @TableName , '.' , @ColumnName , '''') exec sp_executesql @cmd end   exec QBM_PColumnDrop\r\n @tablename, 'kannweg'  if not exists (select top 1 1 from sys.tables t where t.name = 'DialogColumn' ) begin goto endLabel end select top 1 @UID_DialogColumn\r\n = c.UID_DialogColumn from DialogColumn c join DialogTable t on c.UID_DialogTable = t.UID_DialogTable where c.ColumnName = @ColumnName and t.TableName \r\n= @TableName update DialogColumn set SchemaDataType = x.DATA_TYPE , SchemaDataLen = x.CHARACTER_MAXIMUM_LENGTH , Datatype = dbo.QBM_FCVSchemaDatatypeToIntern\r\n(x.DATA_TYPE, x.CHARACTER_MAXIMUM_LENGTH)  , XDateUpdated = @Xdate , XUserUpdated = @XUser from DialogColumn c join DialogTable t on c.UID_DialogTable \r\n= t.UID_DialogTable join INFORMATION_SCHEMA.COLUMNS x on t.TableName = x.TABLE_NAME and c.ColumnName = x.COLUMN_NAME where ( isnull(SchemaDataType, '')\r\n <> x.DATA_TYPE or isnull(schemaDataLen, 0) <> isnull(x.CHARACTER_MAXIMUM_LENGTH, 0) or isnull(Datatype, -1) = dbo.QBM_FCVSchemaDatatypeToIntern(x.DATA_TYPE\r\n, x.CHARACTER_MAXIMUM_LENGTH) ) and c.UID_DialogColumn = @UID_DialogColumn END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar\r\n(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PColumnCheckBlobExternal",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.773",
      "ModifyDate": "2026-04-14T23:20:32.317",
      "Definition": "      create   procedure QBM_PColumnCheckBlobExternal ( @TableName varchar(38) , @GenProcID varchar(38) ) as begin set nocount on declare @XUser\r\n nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() declare @merk table ( columnname varchar(30) collate database_default, datatype\r\n varchar(64) collate database_default, mittlereLaenge int, externhalten int default 0, NumDatatype int ) declare  @mittlereLaengeMitBlobs int, @AnzahlBlobs\r\n int DECLARE @SQLcmd nvarchar(max);    declare @TableBaseRecordLen int  declare @UID_DialogTable varchar(38) declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext\r\n('') SET XACT_ABORT OFF BEGIN TRY if isnull(@GenProcID, '') = '' begin select @GenProcID = newid() end select top 1 @UID_DialogTable = UID_DialogTable \r\nfrom DialogTable with (readpast) where TableName = @TableName exec QBM_PSessionContextSet 'GenProcID', @GenProcID update dialogcolumn set IsBlobExternal\r\n = 0 , XDateUpdated = @Xdate , XUserUpdated = @XUser where IsBlobExternal is null and UID_DialogTable = @UID_DialogTable if exists (select top 1 1 from\r\n DialogTable where TableName = @TableName and tabletype in ('M') ) begin  goto ende end if not exists (select top 1 1 from dialogcolumn where UID_DialogTable\r\n = @UID_DialogTable and datatype in (10, 7, 6) ) begin  exec QBM_PSessionContextSet 'GenProcID', @GenProcID update dialogcolumn set IsBlobExternal = 0 \r\n, XDateUpdated = @Xdate , XUserUpdated = @XUser where IsBlobExternal = 1 and UID_DialogTable = @UID_DialogTable goto ende end insert into @merk( columnname\r\n, mittlereLaenge, datatype, numdatatype) select dc.ColumnName , case when dc.SchemaDataType like '%text%' or dc.SchemaDataType = 'image'  or ( dc.SchemaDataType\r\n in ( 'varbinary')  and c.CHARACTER_MAXIMUM_LENGTH = -1 ) then 8000 else dc.AVGDataLenByte end , dc.SchemaDataType, dc.DataType from information_schema.columns\r\n c join dialogcolumn dc on c.Table_name = @TableName and dc.UID_DialogTable = @UID_DialogTable and c.column_name = dc.columnname   update @merk set externhalten\r\n = 1 where mittlereLaenge > 6000 select top 1 @TableBaseRecordLen = BaseRecordLen from dialogtable where TableName = @TableName if @TableBaseRecordLen \r\n= 0  begin update @merk set externhalten = 0 where externhalten > 0 goto publizieren end select @mittlereLaengeMitBlobs = sum(mittlereLaenge) from @merk\r\n where externhalten = 0  select @AnzahlBlobs = count(*) from @merk where externhalten = 0  and numdatatype = 10 if @AnzahlBlobs = 0 begin select @AnzahlBlobs\r\n = 1 end update @merk set externhalten = 1 where mittlereLaenge > @TableBaseRecordLen and externhalten = 0 and numdatatype = 10 update @merk set externhalten\r\n = 2 where numdatatype = 10 and @TableBaseRecordLen > 4000 and @TableBaseRecordLen + mittlereLaenge > 6000 and externhalten = 0 update @merk set externhalten\r\n = 3 from @merk m where m.numdatatype in ( 10 ) and @TableBaseRecordLen  + (@mittlereLaengeMitBlobs - @TableBaseRecordLen) / @AnzahlBlobs  + m.mittlereLaenge\r\n  > 6000 and externhalten = 0  publizieren: update @merk set externhalten = 0 from @merk m where exists (select top 1 1 from  (values ('JobRunparameter'\r\n, 'Valuetemplate') , ('DialogJournal', 'MessageString') , ('JobParameter' , 'Valuetemplate') , ('JobQueue' , 'ParamIn' ) , ('DialogTaggedItem', 'AlternateKey'\r\n) , ('JobHistory', 'ParamIn') , ('DialogWatchProperty', 'ContentFull') , ('JobQueue', 'ParamIn') , ('jobtreeparamcoll', 'ParameterValue') , ('DialogNotification'\r\n, 'WhereClause') ) as v (TableName, ColumnName) where v.TableName = @TableName and v.columnname = m.Columnname ) exec QBM_PSessionContextSet 'GenProcID'\r\n, @GenProcID update dialogcolumn set IsBlobExternal = sign(m.externhalten), Xdateupdated = GetUTCDate(), XUserUpdated = 'DBScheduler' from DialogColumn\r\n c join @merk m on c.UID_DialogTable = @UID_DialogTable and c.ColumnName = m.Columnname where c.isBlobExternal <> sign(m.externhalten) END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  ende:  exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PColumnCustomRemove",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.013",
      "ModifyDate": "2026-04-14T23:20:25.69",
      "Definition": "    create   procedure QBM_PColumnCustomRemove ( @TableName varchar(30) , @ColumnName varchar(30) , @DisplayAllMessages bit = 0 ) as begin declare\r\n @IsTableToDrop bit = 0 declare @UID_DialogColumn varchar(38) = null declare @UID_DialogTable varchar(38) = null declare @ObjectKeyDialogTable varchar(138\r\n) declare @TableType varchar(1) declare @Sammler QBM_YCursorBuffer    declare @Step varchar(30) declare @SQLCmd nvarchar(max) declare @ErrorMessage nvarchar\r\n(4000)  declare @ElementCount int declare @ElementIndex int declare @MessageType varchar(1) declare @ChildCmd QBM_YCursorBuffer declare @TrancountAtStart\r\n int declare @ErrorBuffer QBM_YSessionError SET XACT_ABORT OFF BEGIN TRY set nocount on select top 1 @UID_DialogTable = t.UID_DialogTable , @UID_DialogColumn\r\n = c.UID_DialogColumn , @ObjectKeyDialogTable = t.XObjectKey , @TableType = t.TableType from DialogTable t left outer join DialogColumn c on t.UID_DialogTable\r\n = c.UID_DialogTable and c.ColumnName = @ColumnName where t.TableName = @TableName select @Step = 'Checking transaction level' if @DisplayAllMessages =\r\n 1 begin print @step end select @TrancountAtStart = @@TRANCOUNT if @TrancountAtStart > 0 begin insert into @Sammler (Ident1, Bit1, LongIdent1 ) select \r\n@Step, 0, 'QBM_PColumnCustomRemove runs within transaction' end select @Step = 'Checking ProductionLevel' if @DisplayAllMessages = 1 begin print @step \r\nend if exists (select top 1 1 from DialogDatabase db with (readpast) where db.IsMainDatabase = 1 and db.ProductionLevel > 1 ) begin insert into @Sammler\r\n (Ident1, Bit1, LongIdent1 ) select @Step, 1, 'QBM_PColumnCustomRemove is only allowed in Dev and QA environments' end select @Step = 'Checking QBM-Tables'\r\n if @DisplayAllMessages = 1 begin print @step end if @UID_DialogTable is null begin insert into @Sammler (Ident1, Bit1, LongIdent1 ) select @Step, 1, 'Table not found in DialogTable'\r\n end if @UID_DialogColumn is null begin insert into @Sammler (Ident1, Bit1, LongIdent1 ) select @Step, 1, 'Column not found in DialogColumn' end select\r\n @Step = 'Checking Table-Type' if @DisplayAllMessages = 1 begin print @step end if @TableType not in ('T', 'B', 'V') begin insert into @Sammler (Ident1\r\n, Bit1, LongIdent1 ) select @Step, 1, 'TableType not in (B, T, V)' end select @Step = 'Checking schema' if @DisplayAllMessages = 1 begin print @step end\r\n if not exists (select top 1 1 from INFORMATION_SCHEMA.TABLES t where t.TABLE_NAME = @TableName ) begin insert into @Sammler (Ident1, Bit1, LongIdent1 \r\n) select @Step, 1, 'Table not found in schema' end if not exists (select top 1 1 from INFORMATION_SCHEMA.COLUMNS c where c.TABLE_NAME = @TableName and \r\nc.COLUMN_NAME = @ColumnName ) begin insert into @Sammler (Ident1, Bit1, LongIdent1 ) select @Step, 1, 'Column not found in schema' end   select @Step =\r\n 'Checking ownership of column' if @DisplayAllMessages = 1 begin print @step end if dbo.QBM_FCVGUIDToModuleOwner(@UID_DialogColumn) <> dbo.QBM_FGIDBOwner\r\n() begin insert into @Sammler (Ident1, Bit1, LongIdent1 ) select @Step, 1, concat('You are not the owner of ' , @TableName , '.' , @ColumnName) end select\r\n @Step = 'Checking Table to Drop' if @DisplayAllMessages = 1 begin print @step end if 0 = (select COUNT(*) from INFORMATION_SCHEMA.COLUMNS c where c.TABLE_NAME\r\n = @tablename and c.COLUMN_NAME <> @ColumnName ) begin select @IsTableToDrop = 1 insert into @Sammler (Ident1, Bit1, LongIdent1) select @Step, 0, concat\r\n('Last column of table, table will be dropped: ' , @TableName)  end select @Step = 'Checking PK membership' if @DisplayAllMessages = 1 begin print @step\r\n end if exists (select top 1 1 from sys.key_constraints c join sys.tables t on c.parent_object_id = t.object_id join sys.indexes i on c.name = i.name  \r\nand i.is_primary_key = 1  and i.is_hypothetical = 0  and i.type not in (3,4,5,6) join sys.index_columns ic on ic.object_id = t.object_id and ic.index_id\r\n = i.index_id join sys.columns co on t.object_id = co.object_id and co.column_id = ic.column_id where t.name = @TableName and co.name = @ColumnName ) begin\r\n insert into @Sammler (Ident1, Bit1, LongIdent1) select @Step, 0, concat('Column is PK-member of table, table will be dropped' , @TableName)  select @IsTableToDrop\r\n = 1 select @Step = 'Checking Table empty' if @DisplayAllMessages = 1 begin print @step end if dbo.QBM_FGITableCountAll(@tablename) > 0 begin insert into\r\n @Sammler (Ident1, Bit1, LongIdent1, ContentFull) select @Step, 1, 'Table is not empty' , concat('delete ' , @tablename) end end if @IsTableToDrop = 1 \r\nbegin  select @Step = 'Checking ownership of table' if @DisplayAllMessages = 1 begin print @step end if dbo.QBM_FCVGUIDToModuleOwner(@UID_DialogTable) \r\n<> dbo.QBM_FGIDBOwner() begin insert into @Sammler (Ident1, Bit1, LongIdent1 ) select @Step, 1, concat('You are not the owner of table ' , @TableName )\r\n end end select @Step = 'Checking template references' if @DisplayAllMessages = 1 begin print @step end insert into @Sammler (Ident1, Bit1, LongIdent1 \r\n, ContentFull) select @Step, 1, concat('Column is referenced in template ' , t.TableName , '.' , cr.ColumnName) , concat('''' , cr.Template ) from DialogNotification\r\n n join DialogColumn cr on n.UID_DialogColumnSubscriber = cr.UID_DialogColumn join DialogTable t on cr.UID_DialogTable = t.UID_DialogTable where n.UID_DialogColumnSender\r\n = @UID_DialogColumn  and n.UID_DialogColumnSubscriber <> @UID_DialogColumn select @Step = 'Checking referential integrity' if @DisplayAllMessages = 1 \r\nbegin print @step end insert into @Sammler (Ident1, Bit1, LongIdent1 , ContentFull) select @Step, 1, concat('Column is referenced as parent in RI ' , r.RelationID\r\n ) , concat('delete QBMRelation where RelationID = ''' , r.RelationID , '''')  from QBM_VQBMRelation r where ParentTable = @TableName and ParentColumn \r\n= @ColumnName select @Step = 'Checking dynamic RI' if @DisplayAllMessages = 1 begin print @step end insert into @Sammler (Ident1, Bit1, LongIdent1 , ContentFull\r\n) select @Step, 1, concat('Column is referenced as parent in  ' , cr.UID_DialogTable , '.' , cr.ColumnName) , concat('delete DialogValidDynamicRef where UID_DialogColumn = '''\r\n , r.UID_DialogColumn , ''' and UID_DialogTableReference = ''' , r.UID_DialogTableReference , '''')  from DialogValidDynamicRef r join DialogTable t on\r\n r.UID_DialogTableReference = t.UID_DialogTable and t.TableName = @TableName join DialogColumn c on t.UID_DialogTable = c.UID_DialogTable and c.ColumnName\r\n = @ColumnName and c.ColumnName = 'XObjectkey' join DialogColumn cr on r.UID_DialogColumn = cr.UID_DialogColumn  select @Step = 'Checking indexes' if @DisplayAllMessages\r\n = 1 begin print @step end insert into @Sammler (Ident1, Bit1, LongIdent1 , ContentFull) select @Step, 1, concat('Column is contained in Index ' , t.name\r\n , '.' , i.name) , concat('exec QBM_PIndexDrop ''' , t.name , ''', ''' , i.name , '''\r\n\t-- remove ' , @ColumnName , ' in the following line\r\n\t' , dbo.QBM_FSQIndexDef_i\r\n(t.name, i.name, 1) ) from sys.index_columns ik with (nolock) join sys.columns c with (nolock) on ik.column_id = c.column_id and c.name = @columnname and\r\n c.object_id = ik.object_id join sys.tables t on t.object_id = ik.object_id and t.name = @TableName join sys.indexes i on ik.index_id = i.index_id and \r\ni.object_id = t.object_id where i.is_primary_key = 0     if exists (select top 1 1 from @Sammler s where s.Bit1 = 1 ) begin if @DisplayAllMessages = 1 \r\nbegin select s.Ident1 as Step , s.Bit1 as IsError , s.LongIdent1 as Remarks , isnull(s.ContentFull, '') as RepairStatement from @Sammler s order by s.ElementIndex\r\n select top 1 @ErrorMessage = left(concat('#LDS#Column will not be dropped. 1st error was {0}, repair hint {2} .|' , s.LongIdent1 , '|' , s.ContentFull\r\n , '|' ) , 4000) from @sammler s where s.Bit1 = 1 raiserror(@ErrorMessage, 18, 1) with nowait end else begin  select @ElementCount = count(*) from @Sammler\r\n s select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @ErrorMessage = left(concat('#LDS#Column will not be dropped, step {0}, message: {1}, repair hint {2} .|'\r\n , bu.Ident1 , '|' , bu.LongIdent1 , '|' , bu.ContentFull , '|' ) , 4000) , @MessageType = case bu.Bit1 when 1 then 'E' else 'I' end from @Sammler bu where\r\n bu.ElementIndex = @ElementIndex exec QBM_PJournal @Errormessage, @@procid, @MessageType, 'I'  exec QBM_PWaitForSeconds 0.005 insert into @ErrorBuffer \r\n(ErrorMessage, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode) select\r\n @Errormessage, 18, 1, 50000 , object_name(@@procid), 0, GETUTCDATE() , null, 0, 0, null select @ElementIndex += 1 end  select top 1 @ErrorMessage = concat\r\n('#LDS#Column will not be dropped, {0} message(s) logged in journal.|' , str(@ElementCount) , '|' ) insert into @ErrorBuffer (ErrorMessage, ErrorSeverity\r\n, ErrorState, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode) select @Errormessage, 18, 1, 50000\r\n , object_name(@@procid), 0, GETUTCDATE() , null, 0, 0, null exec QBM_PSessionErrorAdd @Errorbuffer raiserror(@ErrorMessage, 18, 1) with nowait end  end\r\n else begin if @DisplayAllMessages = 1 begin print 'try to drop column' end select s.Ident1 as Step , s.Bit1 as IsError from @Sammler s order by s.ElementIndex\r\n end begin transaction if @IsTableToDrop = 1 begin delete DialogColumnGroupRight from DialogColumnGroupRight gr join DialogColumn c on gr.UID_DialogColumn\r\n = c.UID_DialogColumn where c.UID_DialogTable = @UID_DialogTable delete DialogColumn from DialogColumn c where c.UID_DialogTable = @UID_DialogTable  insert\r\n into @ChildCmd(ContentFull) select concat( 'delete ' , r.ChildTable , '\r\n\t\t\t\t\tfrom ' , r.ChildTable , ' c \r\n\t\t\t\t\twhere c.' , r.ChildColumn , ' = ''', \r\n@UID_DialogTable, '''\r\n\t\t\t\t\t' ) from QBM_VQBMRelation r where ParentTable = 'dialogtable' select @ElementCount = @@rowcount  select @ElementIndex = 1 while\r\n @ElementIndex <= @ElementCount begin select top 1 @SQLCmd = bu.ContentFull from @ChildCmd bu where bu.ElementIndex = @ElementIndex exec sp_executesql \r\n@sqlcmd select @ElementIndex += 1 end delete DialogTable from DialogTable a where a.UID_DialogTable = @UID_DialogTable select @SQLCmd = concat('drop table '\r\n , @TableName) exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @sqlcmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal\r\n = default , @HandleErrorSilent = 0 end else begin exec QBM_PColumnDrop @TableName, @ColumnName end if @@TRANCOUNT = @TrancountAtStart + 1 begin commit\r\n Transaction end else begin if @@TRANCOUNT > 0 begin rollback transaction end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default  if @@TRANCOUNT\r\n > 0 begin rollback end RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end  \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PColumnDrop",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.503",
      "ModifyDate": "2026-04-14T23:14:10.06",
      "Definition": "    create   procedure QBM_PColumnDrop ( @TableName nvarchar(64), @columnname nvarchar(64) ) as begin declare @obj nvarchar(64) = null declare @objColumn\r\n nvarchar(64) = null declare @SQLcmd nvarchar(1024) declare @Table_intern nvarchar(64) declare @DebugSwitch int = 0 select @obj = null SET XACT_ABORT OFF\r\n BEGIN TRY select top 1 @Table_intern = o.name + N'.' + @TableName from sys.tables t join sys.schemas o on t.schema_id = o.schema_id where t.name = @TableName\r\n collate database_default and dbo.QBM_FGIObjectIsDropable (t.schema_id)=1 select top 1 @obj = co.name , @objColumn = c.column_id from sys.tables t with\r\n (readpast) join sys.columns c with (readpast) on t.object_id = c.object_id left outer join sys.default_constraints co on co.parent_object_id = t.object_id\r\n and co.parent_column_id = c.column_id where t.name = @TableName and c.name = @columnname if @objColumn is null begin if @DebugSwitch > 0 begin print 'Spalte nicht (mehr) da'\r\n end goto nurNochLogisch end if @obj is not null begin select @SQLcmd = N'alter table ' + @Table_intern + N' drop constraint \"' + @obj + N'\"' if @DebugSwitch\r\n > 0 begin print @SQLcmd end exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLcmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , \r\n@ProcIDForJournal = @@procid , @HandleErrorSilent = 0  , @ExecuteWithTransact = 0 end else begin if @DebugSwitch > 0 begin print 'kein constraint gefunden'\r\n end end  if exists (select top 1 1  from information_schema.columns where table_name = @TableName and column_name = @Columnname and isnull(COLUMN_DEFAULT\r\n, '') > ' ' ) begin select @SQLcmd = N'exec sp_unbindefault \"' + @Table_intern + N'.' + @columnname + N'\"' if @DebugSwitch > 0 begin print @SQLcmd end \r\nexec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLcmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@procid \r\n, @HandleErrorSilent = 0  , @ExecuteWithTransact = 0 end indexmarke: select @obj = null select top 1 @obj = i.name from sys.index_columns ik with (nolock\r\n) join sys.columns c with (nolock) on ik.column_id = c.column_id and c.name = @columnname and c.object_id = ik.object_id join sys.tables t on t.object_id\r\n = ik.object_id and t.name = @TableName join sys.indexes i on ik.index_id = i.index_id and i.object_id = t.object_id where i.is_primary_key = 0 and i.is_hypothetical\r\n = 0  and i.type not in (3,4,5,6) if @obj is not null begin exec QBM_PIndexDrop @TableName , @obj goto indexmarke end  marke: select @obj = null select\r\n top 1 @obj = i.name from sys.tables t join sys.stats i with (nolock) on i.object_id = t.object_id and t.name = @TableName where i.auto_created = 1 if \r\n@obj is not null begin select @SQLcmd = N'drop statistics ' + @TableName + N'.\"' + @obj + N'\"'  exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLcmd\r\n , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@procid , @HandleErrorSilent = 0  , @ExecuteWithTransact = 0 goto\r\n marke end if exists (select top 1 1 from QBM_VSchemaColumns where table_name = @TableName and column_name = @columnname ) and @Table_intern > ' ' begin\r\n select @SQLcmd = N'alter table ' + @Table_intern + N' drop column ' + @columnname  exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLcmd , @LockTimeout_ms\r\n = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@procid , @HandleErrorSilent = 0  , @ExecuteWithTransact = 0 end nurNochLogisch: if\r\n exists (select top 1 1 from sys.tables t where t.name = 'DialogColumnGroupRight' ) begin delete DialogColumnGroupRight from DialogColumnGroupRight gr \r\njoin DialogColumn c on gr.UID_DialogColumn = c.UID_DialogColumn join DialogTable t on c.UID_DialogTable = t.UID_DialogTable where c.ColumnName = @columnname\r\n and t.TableName = @TableName end if exists (select top 1 1 from sys.tables t where t.name = 'DialogColumn' ) begin delete DialogColumn from DialogColumn\r\n c join DialogTable t on c.UID_DialogTable = t.UID_DialogTable where c.ColumnName = @columnname and t.TableName = @TableName end END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end  \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PColumnRename",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.57",
      "ModifyDate": "2026-04-14T23:14:10.22",
      "Definition": "  create   procedure QBM_PColumnRename (@TableName varchar(30) , @ColumnNameOld varchar(30) , @ColumnNameNew varchar(30) ) as begin declare @DebugSwitch\r\n int = 0 declare @Cmd nvarchar(max) declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() SET XACT_ABORT OFF BEGIN\r\n TRY if exists (select top 1 1 from QBM_VSchemaColumns c where c.TABLE_NAME = @TableName and c.COLUMN_NAME = @ColumnNameOld ) and not exists (select top\r\n 1 1 from QBM_VSchemaColumns c where c.TABLE_NAME = @TableName and c.COLUMN_NAME = @ColumnNameNew collate SQL_Latin1_General_CP1_CS_AS  ) begin select \r\n@Cmd = '\r\n\texec sp_rename ''' + @TableName + '.' + @ColumnNameOld + ''', ''' + @ColumnNameNew + ''', ''column''\r\n\t' if @DebugSwitch > 0 begin print @cmd\r\n end exec sp_executesql @cmd end if not exists (select top 1 1 from sys.tables t where t.name = 'DialogColumn' ) begin goto endLabel end update DialogColumn\r\n set ColumnName = @ColumnNameNew  , XDateUpdated = @Xdate , XUserUpdated = @XUser from DialogColumn c join DialogTable t on c.UID_DialogTable = t.UID_DialogTable\r\n where c.ColumnName = @ColumnNameOld and t.TableName = @TableName END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) \r\n= dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PColumnSchemaDataTypeCorr",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.44",
      "ModifyDate": "2026-04-14T23:20:26.15",
      "Definition": "  create   procedure QBM_PColumnSchemaDataTypeCorr (@ModulePattern varchar(3) = '%' ) as begin declare @XUser nvarchar(64) = object_name(@@procid\r\n) declare @Xdate datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY update DialogColumn set SchemaDataType = x.DATA_TYPE  , XDateUpdated = @Xdate , XUserUpdated\r\n = @XUser , SchemaDataLen = case when x.CHARACTER_MAXIMUM_LENGTH is null then 0 else x.CHARACTER_MAXIMUM_LENGTH end from DialogColumn c join DialogTable\r\n t on c.UID_DialogTable = t.UID_DialogTable join INFORMATION_SCHEMA.COLUMNS x on t.TableName = x.TABLE_NAME and c.ColumnName = x.COLUMN_NAME where ( isnull\r\n(c.SchemaDataType, '') <> x.DATA_TYPE or isnull(c.SchemaDataLen, 0) <> isnull(x.CHARACTER_MAXIMUM_LENGTH, 0) or c.SchemaDataLen is null ) and dbo.QBM_FCVGUIDToModuleOwner\r\n(c.uid_dialogColumn) like @ModulePattern END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PColumnSQLReplace",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.66",
      "ModifyDate": "2026-04-14T23:20:26.43",
      "Definition": "   create   procedure QBM_PColumnSQLReplace (@search nvarchar(400) , @replace nvarchar(400) ) as begin declare @cmd nvarchar(max) declare @DebugSwitch\r\n int = 0 declare @CountItems int declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int SET XACT_ABORT OFF BEGIN \r\nTRY set nocount on insert into @ElementBuffer (ContentFull) select  concat('\r\n\t\t\tupdate ' , x.TableName , ' set ' , x.ColumnName , ' = REPLACE(' , x.ColumnName\r\n , ', ''' , @search , ''', ''' , @replace , ''')\r\n\t\t\t\t' , case dbo.QBM_FGIColumnExistsInSchema(x.TableName, 'XDateUpdated') when 1 then ', XDateUpdated = getutcdate(), XUserUpdated =  '''\r\n + object_name(@@procid) + '''' else '' end ,'\r\n\t\t\t\twhere ' , x.ColumnName , ' like ''%' , @search , '%'' collate SQL_Latin1_General_CP1_CS_AS /* 35127 CS*/\r\n\t\t\t\t'\r\n ) from ( select c.columnname, t.TableName from dialogcolumn c join DialogTable t on c.UID_DialogTable = t.UID_DialogTable where SyntaxType like '%sql%'\r\n union select 'Columnname', 'dialogColumn' ) as x select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin\r\n select top 1 @cmd = bu.ContentFull from @ElementBuffer bu where bu.ElementIndex = @ElementIndex if @DebugSwitch > 0 begin print @cmd end exec sp_executesql\r\n @cmd select @CountItems = @@ROWCOUNT if @CountItems > 0 begin print str(@CountItems) + ' rows found' print @cmd end select @ElementIndex += 1 end  END\r\n TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT\r\n END CATCH endLabel:  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PConstraintChange",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.533",
      "ModifyDate": "2026-04-14T23:14:10.12",
      "Definition": "     create   procedure QBM_PConstraintChange (@ChildTablePattern varchar(30), @ConstraintPattern varchar(30), @ParentTablePattern varchar(30) =\r\n '%', @SetDisable bit = 0 ) as begin declare @TableName nvarchar(64) declare @ParentTableName nvarchar(64) declare @constraintname nvarchar(64) declare\r\n @isDisabled bit declare @sqlcmd nvarchar(max) declare @elements QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int      SET XACT_ABORT\r\n OFF BEGIN TRY insert into @elements(LongIdent1 , Bit1 , Ident2 , Ident3 ) select distinct fk.name as ConstraintName , fk.is_disabled as isDisabled, c.name\r\n as TableName, p.name as ParentTableName  from sys.foreign_keys fk join sys.objects c on c.object_id = fk.parent_object_id join sys.objects p on p.object_id\r\n = fk.referenced_object_id where fk.type = 'F' and fk.name like @Constraintpattern and c.name like @ChildTablePattern and p.name like @ParentTablePattern\r\n and (convert(int, fk.is_disabled)) ^ ( convert(int, @SetDisable)) > 0 select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <=\r\n @ElementCount begin select top 1 @constraintname = bu.LongIdent1  , @isDisabled = bu.Bit1  , @TableName = bu.Ident2  , @ParentTableName = bu.Ident3  from\r\n @elements bu where bu.ElementIndex = @ElementIndex if @SetDisable = 0 begin select @sqlcmd = N'alter table \"' + @TableName + N'\" with check check constraint '\r\n + @Constraintname end else begin select @sqlcmd = N'alter table \"' + @TableName + N'\" nocheck constraint ' + @Constraintname end  exec QBM_PExecuteSQLWithRetry_LLP\r\n @SQLStatement = @SQLcmd , @LockTimeout_ms = 2500  , @MaxWaitTimeForLock_s = 10 , @ProcIDForJournal = default , @HandleErrorSilent = 0   , @ExecuteWithTransact\r\n = 0 select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PConstraintDisable",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.547",
      "ModifyDate": "2026-04-14T23:14:10.15",
      "Definition": "  create   procedure QBM_PConstraintDisable (@TableName nvarchar(64)= N'%' ) as begin declare @SQLcmd nvarchar(max) declare @TabAktuell nvarchar\r\n(64)     declare @elements QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @JournalMessage nvarchar(1000) declare @DebugLevel\r\n varchar(1) = 'I' declare @MessageType varchar(1) = 'W' declare @CountElementsChanged int = 0 declare @SQL nvarchar(max) SET XACT_ABORT OFF BEGIN TRY insert\r\n into @elements (Ident2) select distinct c.name as TableName  from sys.foreign_keys fk join sys.objects c on c.object_id = fk.parent_object_id join sys.objects\r\n p on p.object_id = fk.referenced_object_id where fk.type = 'F' and (c.name like @TableName  ) and (convert(int, fk.is_disabled)) = 0 select @ElementCount\r\n = @@ROWCOUNT  if @ElementCount > 0 begin exec QBM_PIndicatorChange 0 end select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin  select top\r\n 1 @TabAktuell = bu.Ident2 from @elements bu where bu.ElementIndex = @ElementIndex select @SQL = concat('\r\n\t\t\talter Table ', @TabAktuell, ' nocheck constraint all '\r\n) exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQL , @LockTimeout_ms = 2500  , @MaxWaitTimeForLock_s = 10 , @ProcIDForJournal = default , @HandleErrorSilent\r\n = 0   , @ExecuteWithTransact = 0 select @CountElementsChanged += 1 select @ElementIndex += 1 end  if @CountElementsChanged > 0 and exists (select top \r\n1 1 from sys.objects o where o.name = 'QBM_PJournal' and type = 'P' ) begin select @JournalMessage = '#LDS#System elements modified by {0}, pattern {1}, elements affected {2}.|'\r\n + isnull(OBJECT_NAME(@@procid), '') + '|' + @TableName + '|' + dbo.QBM_FCVIntToString(@CountElementsChanged) + '|'  if not exists (select top 1 1 from\r\n DialogDatabase where IsMainDatabase = 1 and UpdatePhase <> 0) and not exists (select top 1 1 from sys.tables t with (readpast) join sys.columns c with\r\n (readpast) on t.object_id = c.object_id where t.name = 'DialogDatabase' and c.name = 'InitialMigrationRunning' ) begin exec QBM_PJournal @JournalMessage\r\n, @@procid, @MessageType, @DebugLevel, 20 end else begin  exec QBM_PJournal @JournalMessage, @@procid, 'I', 'I' end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PConstraintEnable",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.54",
      "ModifyDate": "2026-04-14T23:14:10.137",
      "Definition": "  create   procedure QBM_PConstraintEnable (@TableName nvarchar(64)= N'%' ,@HandleErrorSilent bit = 0   , @force bit = 0  ) as begin declare @TabAktuell\r\n nvarchar(64)     declare @elements QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @JournalMessage nvarchar(1000) declare\r\n @DebugLevel varchar(1) = 'I' declare @MessageType varchar(1) = 'I' declare @ErrorMessage nvarchar(4000) declare @ErrorSeverity int declare @ErrorState\r\n int declare @WarFehlerhaft int = 0 declare @CountElementsChanged int = 0 declare @ErrorBuffer QBM_YSessionError declare @SQL nvarchar(max) SET XACT_ABORT\r\n OFF BEGIN TRY if exists (select top 1 1 from DialogDatabase d where d.UpdatePhase not in ( 0) ) and @force = 0 begin goto endLabel end insert into @elements\r\n(Ident2) select distinct c.name as TableName  from sys.foreign_keys fk join sys.objects c on c.object_id = fk.parent_object_id join sys.objects p on p.object_id\r\n = fk.referenced_object_id where fk.type = 'F' and (c.name like @TableName  ) and (convert(int, fk.is_disabled)) = 1 select @ElementCount = @@ROWCOUNT \r\nselect @ElementIndex = 1 while @ElementIndex <= @ElementCount  and @WarFehlerhaft = 0 begin  select top 1 @TabAktuell = bu.Ident2 from @elements bu where\r\n bu.ElementIndex = @ElementIndex  BEGIN TRY select @SQL = concat('\r\n\t\t\talter Table ', @TabAktuell, ' with nocheck check constraint all ') exec QBM_PExecuteSQLWithRetry_LLP\r\n @SQLStatement = @SQL , @LockTimeout_ms = 2500  , @MaxWaitTimeForLock_s = 10 , @ProcIDForJournal = default , @HandleErrorSilent = 0   , @ExecuteWithTransact\r\n = 0 select @CountElementsChanged += 1 END TRY BEGIN CATCH if @HandleErrorSilent = 0 begin exec QBM_PSessionErrorAdd default if dbo.QBM_FGISessionErrorIsDeadlock\r\n(default) = 0 begin insert into @ErrorBuffer (ErrorMessage, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID\r\n, RepeatCounter, IsReThrow, SourceCode) select '#LDS#Possible invalid foreign keys, run consistency checks: {0}|', ERROR_SEVERITY(), ERROR_STATE(), 50000\r\n , ERROR_PROCEDURE() , ERROR_LINE(), GETUTCDATE() , null, 0, 0, null exec QBM_PSessionErrorAdd @ErrorBuffer exec QBM_PJournal 'SessionError', @@procid,\r\n 'E', @DebugLevel, 20 end  end  select @WarFehlerhaft = 1 END CATCH select @ElementIndex += 1 end  if @CountElementsChanged > 0 and exists (select top \r\n1 1 from sys.objects o where o.name = 'QBM_PJournal' and type = 'P' ) begin select @JournalMessage = '#LDS#System elements modified by {0}, pattern {1}, elements affected {2}.|'\r\n + isnull(OBJECT_NAME(@@procid), '') + '|' + @TableName + '|' + dbo.QBM_FCVIntToString(@CountElementsChanged) + '|'  if not exists (select top 1 1 from\r\n DialogDatabase where IsMainDatabase = 1 and UpdatePhase <> 0) and not exists (select top 1 1 from sys.tables t with (readpast) join sys.columns c with\r\n (readpast) on t.object_id = c.object_id where t.name = 'DialogDatabase' and c.name = 'InitialMigrationRunning' ) begin exec QBM_PJournal @JournalMessage\r\n, @@procid, @MessageType, @DebugLevel, 20 end else begin  exec QBM_PJournal @JournalMessage, @@procid, 'I', 'I' end end exec QBM_PIndicatorChange 1 END\r\n TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT\r\n END CATCH endLabel:  return (@WarFehlerhaft) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PConstraintFKDrop",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.48",
      "ModifyDate": "2026-04-14T23:14:10.02",
      "Definition": "    create   procedure QBM_PConstraintFKDrop (@tablepattern nvarchar(64), @ConstraintPattern nvarchar(64), @ParentTablePattern nvarchar(64) = '%'\r\n ) as begin declare @TableName varchar(64)  declare @constraintname varchar(64) declare @ownername varchar(64) declare @sqlcmd nvarchar(max) declare @lauf\r\n int = 1 declare @ErrorMessage nvarchar(4000) declare @ErrorSeverity int declare @ErrorState int declare @LockRetry bit declare @DebugLevel char(1) = 'W'\r\n declare @DebugSwitch int = 0 declare @MessageType varchar(1) = 'W' declare @elementsToDrop table (TableName varchar(64) collate database_default , ConstraintName\r\n varchar(64) collate database_default , OwnerName varchar(64) collate database_default ) declare @ElementsAffected int = 0 declare @JournalMessage nvarchar\r\n(1000) declare @JournalProcedureExists bit = 0 declare @CountElementsChanged int = 0 declare @FehlerAufgetreten bit = 0 SET XACT_ABORT OFF BEGIN TRY if\r\n exists (select top 1 1 from sys.objects o where o.name = 'QBM_PJournal' and type = 'P' ) begin select @JournalProcedureExists = 1 end  if exists (select\r\n top 1 1 from sys.tables t where t.name = 'DialogTable' collate database_default ) begin  select @SQLcmd = '\r\n\t\t\tselect c.name, fk.name, o.name\r\n\t\t\tfrom sys.foreign_keys fk join sys.objects c on c.object_id = fk.parent_object_id\r\n\t\t\t\t\t\t\t\t\tjoin sys.objects p on p.object_id = fk.referenced_object_id\r\n\t\t\t\t\t\t\t\t\tjoin sys.schemas o on c.schema_id = o.schema_id\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tand dbo.QBM_FGIObjectIsDropable (o.schema_id)=1\r\n\t\t\t\t\t\t\t\t\tjoin DialogTable dt with (readpast) on c.name = dt.TableName  collate database_default\r\n\t\t\twhere fk.type = ''F''\r\n\t\t\t\tand fk.name like '''\r\n + @Constraintpattern + '''  collate database_default\r\n\t\t\t\tand c.name like ''' + @Tablepattern+ '''  collate database_default\r\n\t\t\t\tand p.name like ''' \r\n+ @ParentTablePattern+ '''  collate database_default\r\n\t\t\t' end else begin  select @SQLcmd = '\r\n\t\t\tselect c.name, fk.name, o.name\r\n\t\t\tfrom sys.foreign_keys fk join sys.objects c on c.object_id = fk.parent_object_id\r\n\t\t\t\t\t\t\t\t\tjoin sys.objects p on p.object_id = fk.referenced_object_id\r\n\t\t\t\t\t\t\t\t\tjoin sys.schemas o on c.schema_id = o.schema_id\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tand dbo.QBM_FGIObjectIsDropable (o.schema_id)=1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tand o.name = ''dbo''  collate database_default\r\n\t\t\twhere fk.type = ''F''  collate database_default\r\n\t\t\t\tand fk.name like '''\r\n + @Constraintpattern + '''  collate database_default\r\n\t\t\t\tand c.name like ''' + @Tablepattern+ '''  collate database_default\r\n\t\t\t\tand p.name like ''' \r\n+ @ParentTablePattern+ '''  collate database_default\r\n\t\t\t' end if @DebugSwitch > 0 begin print @sqlcmd end insert into @elementsToDrop(TableName, ConstraintName\r\n, OwnerName) exec sp_executesql @sqlcmd select @ElementsAffected = @@ROWCOUNT select @LockRetry = 5 while @LockRetry > 0 begin  select @lauf = 1 select\r\n @constraintname = '#' while @constraintname > ' ' and @lauf > 0 begin select @constraintname = null select top 1 @constraintname = td.ConstraintName ,\r\n @ownerName = td.OwnerName , @TableName = td.TableName from @elementsToDrop td if @constraintname is null begin select @lauf = 0 select @LockRetry = 0 \r\ncontinue end select @sqlcmd = concat( N'alter table ' , @ownername , '.' , @TableName , N' drop constraint '  , ' if exists ' , @Constraintname , nchar\r\n(13) , nchar(10) ) if @JournalProcedureExists = 1 begin exec QBM_PJournal @SQLcmd, @@PROCID, 'D', @DebugLevel end if @DebugSwitch > 0 begin print @sqlcmd\r\n end BEGIN TRY  exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLcmd , @LockTimeout_ms = 2500 , @MaxWaitTimeForLock_s = 15.0 , @ProcIDForJournal =\r\n default , @HandleErrorSilent = 0 , @DeadlockPriority = 5  , @ExecuteWithTransact = 0 delete  @elementsToDrop from @elementsToDrop td where td.TableName\r\n = @TableName and td.ConstraintName = @constraintname and td.OwnerName = @ownerName select @CountElementsChanged += 1 exec QBM_PSessionErrorClean END TRY\r\n BEGIN CATCH exec QBM_PSessionErrorAdd default, @sqlcmd if dbo.QBM_FGISessionErrorIsDeadlock(default) = 1 begin select @LockRetry -= 1 if @JournalProcedureExists\r\n = 1 begin exec QBM_PJournal 'SessionError', @@PROCID, 'W', @DebugLevel end select @Errormessage = null waitfor delay '00:00:00.500' end else begin select\r\n @FehlerAufgetreten = 1 if @JournalProcedureExists = 1 begin exec QBM_PJournal 'SessionError', @@PROCID, 'E', @DebugLevel end select @lauf = 0 select @LockRetry\r\n = 0 end END CATCH end  end  if @CountElementsChanged > 0 and @JournalProcedureExists = 1 begin select @JournalMessage = '#LDS#System elements modified by {0}, pattern {1}, elements affected {2}.|'\r\n + isnull(OBJECT_NAME(@@procid), '') + '|' + @tablepattern + '|' + dbo.QBM_FCVIntToString(@CountElementsChanged) + '|'  if not exists (select top 1 1 from\r\n DialogDatabase where IsMainDatabase = 1 and UpdatePhase <> 0) and not exists (select top 1 1 from sys.tables t with (readpast) join sys.columns c with\r\n (readpast) on t.object_id = c.object_id where t.name = 'DialogDatabase' and c.name = 'InitialMigrationRunning' ) begin exec QBM_PJournal @JournalMessage\r\n, @@procid, @MessageType, @DebugLevel, 20 end else begin  exec QBM_PJournal @JournalMessage, @@procid, 'I', 'I' end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default END CATCH if @FehlerAufgetreten = 1 begin declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT\r\n end end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PCursorDrop",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.493",
      "ModifyDate": "2026-04-14T23:14:10.047",
      "Definition": "    create   procedure QBM_PCursorDrop (@Cursorname nvarchar(255)) as begin  declare @SQLcmd nvarchar(max)  SET XACT_ABORT OFF BEGIN TRY  select\r\n @SQLcmd = '\r\nif CURSOR_STATUS(N''Global'', N''@Cursorname'') = -3\r\n begin\r\n\tif CURSOR_STATUS(N''Local'', N''@Cursorname'') >= 0 close @Cursorname\r\n\tif CURSOR_STATUS(N''Local'', N''@Cursorname'') >= -1 deallocate @Cursorname\r\n end\r\nelse\r\n begin\r\n\tif CURSOR_STATUS(N''Global'', N''@Cursorname'') >= 0 close @Cursorname\r\n\tif CURSOR_STATUS(N''Global'', N''@Cursorname'') >= -1 deallocate @Cursorname\r\n end\r\n \r\n'\r\n select @SQLcmd = replace (@SQLcmd , N'@Cursorname',@Cursorname) exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLcmd , @LockTimeout_ms = default \r\n, @MaxWaitTimeForLock_s = default , @ProcIDForJournal = default , @HandleErrorSilent = 0 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare \r\n@Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PCustomSQLCompile",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.653",
      "ModifyDate": "2026-04-14T23:20:32.087",
      "Definition": "  create   procedure QBM_PCustomSQLCompile as begin set nocount on declare @scripttype nvarchar(10) declare @scriptname nvarchar(255) declare @scriptcode\r\n nvarchar(max) declare @SortOrder int declare @initialContent nvarchar(max) declare @Work table (scripttype nvarchar(10) collate database_default , scriptname\r\n nvarchar(255) collate database_default , scriptcode nvarchar(max) collate database_default , SortOrder int identity ) declare @AllesSchoen bit = 1 SET\r\n XACT_ABORT OFF BEGIN TRY if not exists (select top 1 1 from QBMCustomSQL ) begin exec QBM_PCustomSQLFill print 'exec QBM_PCustomSQLFill' end  begin Transaction\r\n SAVE TRANSACTION CompleVersuch delete QBMCustomSQL exec QBM_PCustomSQLFill   insert into @Work(scripttype, scriptname, scriptcode) select c.scripttype\r\n, c.ScriptName, c.scriptcode from QBMCustomSQL c where c.ScriptType in (N'N', N'F') order by c.scripttype, c.SortOrder while exists (select top 1 1 from\r\n @Work) BEGIN select top 1 @scriptname = w.scriptname , @scripttype = w.scripttype , @scriptcode = w.scriptcode , @SortOrder = w.SortOrder from @Work w\r\n order by w.SortOrder select @initialContent = N'drop function if exists ' + rtrim(@ScriptName) exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @initialContent\r\n , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@procid , @HandleErrorSilent = 0  BEGIN TRY exec QBM_PExecuteSQLWithRetry_LLP\r\n @SQLStatement = @scriptcode , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@procid , @HandleErrorSilent = 0 exec\r\n QBM_PSessionErrorClean END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default select @AllesSchoen = 0    END CATCH delete  @Work  where SortOrder = @SortOrder\r\n END    delete  @Work  insert into @Work(scripttype, scriptname, scriptcode) select c.scripttype, c.ScriptName, c.scriptcode from QBMCustomSQL c where \r\nc.ScriptType in (N'V', N'P', N'T') order by c.SortOrder while exists (select top 1 1 from @Work) BEGIN select top 1 @scriptname = w.scriptname , @scripttype\r\n = w.scripttype , @scriptcode = w.scriptcode , @SortOrder = w.SortOrder from @Work w order by w.SortOrder select @initialContent = concat('exec ' , case\r\n @Scripttype when 'V' then 'QBM_PViewDrop ' when 'T' then 'QBM_PTriggerDrop ' else 'QBM_PProcedureDrop ' end , '''', rtrim(@ScriptName), '''' , case @scripttype\r\n when 'T' then ' , @CustomTriggerAlso = 1' else '' end ) exec QBM_PJournal 'Element Zwangsweise gedroppt in CustomSQLCompile', @@PROCID, 'E', 'E' exec \r\nQBM_PExecuteSQLWithRetry_LLP @SQLStatement = @initialContent , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@procid\r\n , @HandleErrorSilent = 0  exec QBM_PSessionErrorClean BEGIN TRY exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @scriptcode , @LockTimeout_ms = default\r\n , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@procid , @HandleErrorSilent = 0 exec QBM_PSessionErrorClean END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default select @AllesSchoen = 0    END CATCH delete  @Work  where SortOrder = @SortOrder END  ROLLBACK TRANSACTION CompleVersuch Commit Transaction  if\r\n @AllesSchoen = 0 begin  RAISERROR ('', 18, 1) WITH NOWAIT end END TRY BEGIN CATCH declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR\r\n (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende:  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PCustomSQLDependencyFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.623",
      "ModifyDate": "2026-04-14T23:20:32.063",
      "Definition": "   create   procedure QBM_PCustomSQLDependencyFill as begin declare @Scriptname nvarchar(255) declare @SQLOrig nvarchar(max) declare @SQLRepl nvarchar\r\n(max) declare @Posi int declare @merken table (UID_QBMCustomSQL varchar(38) collate database_default , scriptname nvarchar(255) collate database_default\r\n, countDeps int, SortOrder int , ScriptCode nvarchar(max)collate database_default, primary key (UID_QBMCustomSQL) ) declare @work table (UID_QBMCustomSQL\r\n varchar(38) collate database_default , scriptname nvarchar(255) collate database_default, countDeps int, SortOrder int , ScriptCode nvarchar(max)collate\r\n database_default, primary key (UID_QBMCustomSQL) ) declare @lauf int declare @AnzahlObjekte int declare @CountDeps_neu int declare @Sortorder_neu int \r\ndeclare @Geaendert int declare @Schema_Id int declare @AllesOK int  declare @UID_QBMCustomSQL varchar(38) declare @DebugSwitch int = 0 declaRE @CountItems\r\n INT declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY select @AllesOK = 1 select\r\n top 1 @Schema_Id = schema_id from sys.schemas where name = N'dbo' if @DebugSwitch > 0 begin print 'Start ' + convert(varchar(64), getutcdate(), 121) end\r\n insert into @merken(UID_QBMCustomSQL, scriptname, CountDeps, SortOrder) select max(cs.uid_QBMCustomSQL), cs.scriptname, isnull(count(distinct v.object_id\r\n), 0), 1 from QBMCustomSQL cs join sys.objects s on cs.scriptname = s.name collate database_default left outer join sys.sql_dependencies d on s.object_id\r\n = d.object_id left outer join sys.objects v  on d.referenced_major_id = v.object_id left outer join QBMCustomSQL vs on v.name = vs.Scriptname collate \r\ndatabase_default and v.schema_id = @Schema_Id where cs.scriptname <> isnull(vs.scriptname, N'') and s.schema_id = @Schema_Id and cs.xtouched <> 'F' and\r\n cs.scripttype in ('P', 'F', 'V', 'T', 'N') and cs.scriptname not in ('QBM_ZCustomSQLFill', OBJECT_NAME(@@procid)) group by cs.scriptname select @AnzahlObjekte\r\n = count(*) from @merken if @DebugSwitch > 0 begin print '@merken gefüllt ' + convert(varchar(64), getutcdate(), 121) end update @merken set ScriptCode\r\n = dbo.QBM_FSQRemoveComment(sc.Scriptcode) from @merken m join qbmCustomsql sc on sc.UID_QBMCustomSQL = m.UID_QBMCustomSQL update @merken set SortOrder\r\n = patindex(N'%create[ ' + nchar(9) + N']%', Scriptcode) if @DebugSwitch > 0 begin print '@merken dekommentiert ' + convert(varchar(64), getutcdate(), \r\n121) end delete  @merken where isnull(SortOrder, 0) = 0 select @CountItems = @@ROWCOUNT if @DebugSwitch > 0 begin print 'sätze ohne create gelöscht ' +\r\n str(@CountItems) end update @merken set ScriptCode = case  when SortOrder = 1 then N'alter' + substring(ScriptCode, 7, 1000000) else  substring(ScriptCode\r\n,1, SortOrder -1)+ N'alter' + substring(ScriptCode, @posi+6, 1000000) end update @merken set SortOrder = 1 if @DebugSwitch > 0 begin print '@merken mit alter '\r\n + convert(varchar(64), getutcdate(), 121) end select @lauf = 1 while @lauf <= @AnzahlObjekte * 2 and @AllesOK = 1 begin select @geaendert = 0 if @DebugSwitch\r\n > 0 begin print '####################### neuer Durchlauf '+str(@lauf) + str(@AnzahlObjekte) end  delete  @work  insert @work(ScriptCode, SortOrder, UID_QBMCustomSQL\r\n, countDeps, scriptname) select ScriptCode, SortOrder, UID_QBMCustomSQL, countDeps, scriptname from @merken m  while exists (select top 1 1 from @work \r\n) and @AllesOK = 1 BEGIN select top 1 @UID_QBMCustomSQL = w.UID_QBMCustomSQL , @Scriptname = w.scriptname , @SQLOrig = w.ScriptCode from @work w order \r\nby w.SortOrder, w.scriptname desc if @DebugSwitch > 0 begin print @Scriptname end  BEGIN TRY BEGIN TRY exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement \r\n= @SQLRepl , @LockTimeout_ms = 50 , @MaxWaitTimeForLock_s = 2 , @ProcIDForJournal = @@procid , @HandleErrorSilent = 0 exec QBM_PSessionErrorClean END TRY\r\n BEGIN CATCH  if @DebugSwitch > 0 begin print @scriptname print isnull(ERROR_MESSAGE() , '<no message>') end update qbmCustomSQL set XTouched = 'F' , XDateUpdated\r\n = @Xdate , XUserUpdated = @XUser where UID_QBMCustomSQL = @UID_QBMCustomSQL delete  @merken where UID_QBMCustomSQL = @UID_QBMCustomSQL continue  END CATCH\r\n END TRY BEGIN CATCH  select @AllesOK = 0 END CATCH  if @AllesOK = 0 begin continue end select @CountDeps_neu = null select @CountDeps_neu = isnull(count\r\n(distinct v.object_id), 0) from sys.objects s left outer join sys.sql_dependencies d on s.object_id = d.object_id left outer join sys.objects v  on d.referenced_major_id\r\n = v.object_id left outer join QBMCustomSQL vs on v.name = vs.Scriptname collate database_default where s.name = @Scriptname and vs.UID_QBMCustomSQL <>\r\n @UID_QBMCustomSQL and s.schema_id = @Schema_Id and v.schema_id = @Schema_Id group by s.object_id select @CountDeps_neu = isnull(@CountDeps_neu, 0) select\r\n @Sortorder_neu = null select @Sortorder_neu = isnull(max( vm.SortOrder),0) + 1 from sys.objects s left outer join sys.sql_dependencies d on s.object_id\r\n = d.object_id left outer join sys.objects v  on d.referenced_major_id = v.object_id left outer join QBMCustomSQL vs on v.name = vs.Scriptname collate \r\ndatabase_default left outer join @merken vm on vs.UID_QBMCustomSQL = vm.UID_QBMCustomSQL collate database_default where s.name = @Scriptname and vm.scriptname\r\n <> @Scriptname and s.schema_id = @Schema_Id and v.schema_id = @Schema_Id group by s.name select @Sortorder_neu = isnull(@Sortorder_neu, 1) if @DebugSwitch\r\n > 0 begin print @scriptname + str(@CountDeps_neu) + str(@Sortorder_neu) end update @merken set countDeps = @CountDeps_neu where UID_QBMCustomSQL = @UID_QBMCustomSQL\r\n and countDeps <> @CountDeps_neu if @@rowcount > 0 begin if @DebugSwitch > 0 begin print 'count deps geändert' end select @geaendert = 1 end update @merken\r\n set SortOrder = @Sortorder_neu where UID_QBMCustomSQL = @UID_QBMCustomSQL and SortOrder < @Sortorder_neu if @@rowcount > 0 begin if @DebugSwitch > 0 begin\r\n print 'SortOrder  geändert' end select @geaendert = 1 end delete  @work where UID_QBMCustomSQL = @UID_QBMCustomSQL END  if @AllesOK = 0 begin continue\r\n end if @geaendert = 1 begin select @lauf = @lauf +1 end else begin select @lauf = @AnzahlObjekte * 2 +1 end end  update QBMCustomSQl set SortOrder = m.SortOrder\r\n , XDateUpdated = @Xdate , XUserUpdated = @XUser from QBMCustomSQl cu join @merken m on cu.UID_QBMCustomSQl = m.UID_QBMCustomSQL where m.SortOrder <> ISNULL\r\n(cu.SortOrder, 0) if @DebugSwitch > 0 begin select s.SortOrder, s.ScriptType, s.ScriptName from QBMCustomSQL s order by s.SortOrder end END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH \r\nend \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PCustomSQLFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.607",
      "ModifyDate": "2026-04-14T23:20:32.047",
      "Definition": "     create   procedure QBM_PCustomSQLFill (@GenProcID varchar(38) = null , @XUserExtern nvarchar(64) = null , @ModuleToSave varchar(3) = 'CCC' \r\n) as begin declare @Schema_Id int declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() declare @DebugSwitch int =\r\n 0 declare @DebugLevel varchar(1) = 'W' declare @CountItems int declare @Message nvarchar(1000)       SET XACT_ABORT OFF BEGIN TRY if @XUserExtern > ' '\r\n begin select @XUser = @XUserExtern end select top 1 @Schema_Id = schema_id from sys.schemas where name = N'dbo' if @GenProcID is null begin select @GenProcID\r\n = NEWID() end  if @DebugSwitch > 0 begin print 'Start ' + convert(varchar(64), getutcdate(), 121) end select @CountItems = 1 while @CountItems > 0 begin\r\n delete QBMCustomSQL where uid_QBMCustomSQL in (select max(uid_QBMCustomSQL)  from QBMCustomSQL group by scripttype, scriptname having count(*) > 1 ) select\r\n @CountItems = @@ROWCOUNT end  drop table if exists #QBMCustomSQL create table #QBMCustomSQL ( UID_QBMCustomSQL varchar(38) collate database_default not\r\n null, ScriptType nvarchar(1) collate database_default NULL , XDateInserted datetime NULL, XDateupdated datetime NULL, ScriptName nvarchar(255)collate \r\ndatabase_default NULL , ScriptCode nvarchar(max) collate database_default NULL , IsTooLong bit default 0 ) drop table if exists #ModuleNameMitMinus create\r\n table #ModuleNameMitMinus (Modulename4 varchar(4) collate database_default) insert into #ModuleNameMitMinus(Modulename4) Select md.ModuleName + '-' from\r\n QBMModuleDef md with (readpast) where md.ModuleName <> 'CCC' create index #ModuleNameMitMinus1 on #ModuleNameMitMinus (Modulename4)  insert into #QBMCustomSQL\r\n (UID_QBMCustomSQL, ScriptCode, scriptname, scripttype, Xdateinserted, Xdateupdated, IsTooLong ) select dbo.QBM_FCVStringToGUID(@ModuleToSave, x.Scripttype\r\n + x.Scriptname) , dbo.QBM_FSQTableDefCond(x.Scriptname) , x.Scriptname, x.Scripttype, x.Xdateinserted, x.Xdateupdated , x.IsTooLong from ( select convert\r\n(nvarchar(64), so.name) as Scriptname , N'U' as ScriptType, so.create_date as Xdateinserted, so.modify_date as Xdateupdated , case when len(so.name) > \r\n30 then 1 else 0 end as IsTooLong from sys.tables so with (readpast)  join DialogTable t with (readpast, forceseek) on convert(varchar(30), left(so.name\r\n,30)) = t.TableName left outer join #ModuleNameMitMinus mm on left(t.UID_DialogTable, 4) = mm.Modulename4 where so.type = 'U' and so.is_memory_optimized\r\n = 0 and so.schema_id = @Schema_id and ( @ModuleToSave = 'CCC' and mm.Modulename4 is null or @ModuleToSave <> 'CCC' and mm.Modulename4 > ' ' )         \r\n ) as x insert into #QBMCustomSQL (UID_QBMCustomSQL, ScriptCode, scriptname, scripttype, Xdateinserted, Xdateupdated, IsTooLong ) select dbo.QBM_FCVStringToGUID\r\n(@ModuleToSave, x.Scripttype + x.Scriptname) , dbo.QBM_FSQColumAdd(x.ScriptName) , x.Scriptname, x.Scripttype, x.Xdateinserted, x.Xdateupdated , x.IsTooLong\r\n from ( select convert(nvarchar(64), t.name) + N'.' + convert(nvarchar(64), c.name) as ScriptName , N'C' as ScriptType , t.create_date as Xdateinserted\r\n, t.modify_date as Xdateupdated , case when len(t.name) > 30 or len(c.name) > 30 then 1 else 0 end as IsTooLong from sys.tables t with (readpast) join \r\nsys.columns c with (readpast) on t.object_id = c.object_id and t.type = N'U' and t.is_memory_optimized = 0  join DialogTable dt with (readpast, forceseek\r\n) on convert(varchar(30), left(t.name, 30)) = dt.TableName  join DialogColumn dc with (readpast, forceseek) on dt.UID_DialogTable = dc.UID_DialogTable \r\nand convert(varchar(30), left(c.name,30)) = dc.columnname left outer join #ModuleNameMitMinus mm on left(dc.UID_DialogColumn, 4) = mm.Modulename4 where\r\n          ( @ModuleToSave = 'CCC' and mm.Modulename4 is null or @ModuleToSave <> 'CCC' and mm.Modulename4 > ' ' ) and t.schema_id = @Schema_id ) as x insert\r\n into #QBMCustomSQL (UID_QBMCustomSQL, ScriptCode, scriptname, scripttype, Xdateinserted, Xdateupdated, IsTooLong ) select dbo.QBM_FCVStringToGUID(@ModuleToSave\r\n, x.Scripttype + x.Scriptname) , x.IndexDef , x.Scriptname, x.Scripttype, x.Xdateinserted, x.Xdateupdated , x.IsTooLong from ( select convert(nvarchar(64\r\n), t.name) + N'.' + convert(nvarchar(64), i.name) as ScriptName , N'I' as ScriptType , t.create_date as Xdateinserted, t.modify_date as XdateUpdated , \r\ncase when len(t.name) > 30 or len(i.name) > 30 then 1 else 0 end as IsTooLong , dbo.QBM_FSQIndexDef(t.name, i.name) as IndexDef from sys.tables t with \r\n(readpast) join sys.indexes i with (readpast) on t.Object_id = i.Object_id and t.type = N'U' and t.is_memory_optimized = 0  and i.is_hypothetical = 0  \r\nand i.type not in (3,4,5,6) join DialogTable dt with (readpast, forceseek) on convert(varchar(30), left(t.name, 30)) = dt.TableName  left outer join QBM_VQBMModuleDef\r\n md on convert(varchar(3), left(i.name, 3)) = md.ModuleName and md.ModuleName <> 'CCC' where (  @ModuleToSave = 'CCC' and md.ModuleName is null     or \r\n@ModuleToSave <> 'CCC' and left(i.name, 3) = @ModuleToSave )    and i.is_primary_key = 0 and i.is_hypothetical = 0       and i.name not like 'missing[_]index[_]%'\r\n  ) as x insert into #QBMCustomSQL (UID_QBMCustomSQL, ScriptCode, scriptname, scripttype, Xdateinserted, Xdateupdated, IsTooLong ) select dbo.QBM_FCVStringToGUID\r\n(@ModuleToSave, x.Scripttype + x.Scriptname) , x.Scriptcode , x.Scriptname, x.Scripttype, x.Xdateinserted, x.Xdateupdated , x.IsTooLong from ( select convert\r\n(nvarchar(64), p.name) as Scriptname, N'P' as ScriptType , p.create_date as Xdateinserted, p.modify_date as XdateUpdated , sc.definition as Scriptcode \r\n, case when len(p.name) > 30 then 1 else 0 end as IsTooLong from sys.objects p with (readpast) join sys.sql_modules sc with (readpast) on p.Object_id =\r\n sc.Object_id and sc.definition > ' '  where p.type = N'P' and left(p.name, 3) not in (N'sp_', N'ms_', N'dt_') and (  @ModuleToSave = 'CCC' and LEFT(p.name\r\n,4) not in (Select md.ModuleName + '_' from QBM_VQBMModuleDef md where md.ModuleName <> 'CCC' ) or @ModuleToSave <> 'CCC' and left(p.name, 4) = @ModuleToSave\r\n + '_' ) and p.schema_id = @Schema_id ) as x insert into #QBMCustomSQL (UID_QBMCustomSQL, ScriptCode, scriptname, scripttype, Xdateinserted, Xdateupdated\r\n, IsTooLong ) select dbo.QBM_FCVStringToGUID(@ModuleToSave, x.Scripttype + x.Scriptname) , x.Scriptcode , x.Scriptname, x.Scripttype, x.Xdateinserted, \r\nx.Xdateupdated , x.IsTooLong from ( select p.name as Scriptname , N'V' as ScriptType, p.create_date as Xdateinserted, p.modify_date as XdateUpdated , sc.definition\r\n as Scriptcode , case when len(p.name) > 30 then 1 else 0 end as IsTooLong from sys.objects p with (readpast) join sys.sql_modules sc with (readpast) on\r\n p.Object_id = sc.Object_id and sc.definition > ' '  where p.type = N'V' and not exists (select top 1 1 from DialogTable t with (readpast, forceseek) where\r\n t.tabletype in ( 'V', 'P', 'U', 'R') and t.TableName = convert(varchar(30), left(p.name, 30)) ) and p.name not like 'sys%' and p.name not like 'ms%' and\r\n p.name not like 'IH%' and p.name not like 'conflict%' and (  @ModuleToSave = 'CCC' and LEFT(p.name,4) not in (Select md.ModuleName + '_' from QBM_VQBMModuleDef\r\n md where md.ModuleName <> 'CCC' ) or @ModuleToSave <> 'CCC' and left(p.name, 4) = @ModuleToSave + '_' ) and p.schema_id = @Schema_id  and p.name not in\r\n ( 'QBMBufferTransfer' , 'AccProductInMirrorShop' , 'MirrorShopHasPWODecisionMethod' , 'QBMDBQueueOverview_fix' , 'QBMDBQueueSlot' , 'QBMDBQueueSlot_fix'\r\n , 'QBMDBQueueTaskPerf_fix' , 'QBMVBlobInternal' ) ) as x insert into #QBMCustomSQL (UID_QBMCustomSQL, ScriptCode, scriptname, scripttype, Xdateinserted\r\n, Xdateupdated, IsTooLong ) select dbo.QBM_FCVStringToGUID(@ModuleToSave, x.Scripttype + x.Scriptname) , x.Scriptcode , x.Scriptname, x.Scripttype, x.Xdateinserted\r\n, x.Xdateupdated , x.IsTooLong from ( select p.name as Scriptname , N'F' as ScriptType , p.create_date as Xdateinserted, p.modify_date as XdateUpdated \r\n, sc.definition as Scriptcode , case when len(p.name) > 30 then 1 else 0 end as IsTooLong from sys.objects p with (readpast) join sys.sql_modules sc with\r\n (readpast) on p.Object_id = sc.Object_id and sc.definition > ' '  where p.type = N'FN' and (  @ModuleToSave = 'CCC' and LEFT(p.name,4) not in (Select \r\nmd.ModuleName + '_' from QBM_VQBMModuleDef md where md.ModuleName <> 'CCC' ) or @ModuleToSave <> 'CCC' and left(p.name, 4) = @ModuleToSave + '_' ) and \r\np.schema_id = @Schema_id and p.name not in ( 'fn_diagramobjects' , 'vid_ErwinC'   ) ) as x insert into #QBMCustomSQL (UID_QBMCustomSQL, ScriptCode, scriptname\r\n, scripttype, Xdateinserted, Xdateupdated, IsTooLong ) select dbo.QBM_FCVStringToGUID(@ModuleToSave, x.Scripttype + x.Scriptname) , x.Scriptcode , x.Scriptname\r\n, x.Scripttype, x.Xdateinserted, x.Xdateupdated , x.IsTooLong from ( select p.name as Scriptname, N'N' as ScriptType, p.create_date as Xdateinserted, p.modify_date\r\n as XdateUpdated , sc.definition as Scriptcode , case when len(p.name) > 30 then 1 else 0 end as IsTooLong from sys.objects p with (readpast) join sys.sql_modules\r\n sc with (readpast) on p.Object_id = sc.Object_id and sc.definition > ' '  where p.type in( N'TF', N'IF') and (  @ModuleToSave = 'CCC' and LEFT(p.name,4\r\n) not in (Select md.ModuleName + '_' from QBM_VQBMModuleDef md where md.ModuleName <> 'CCC' ) or @ModuleToSave <> 'CCC' and left(p.name, 4) = @ModuleToSave\r\n + '_' ) and p.schema_id = @Schema_id ) as x insert into #QBMCustomSQL (UID_QBMCustomSQL, ScriptCode, scriptname, scripttype, Xdateinserted, Xdateupdated\r\n, IsTooLong ) select dbo.QBM_FCVStringToGUID(@ModuleToSave, x.Scripttype + x.Scriptname) , x.Scriptcode , x.Scriptname, x.Scripttype, x.Xdateinserted, \r\nx.Xdateupdated , x.IsTooLong from ( select p.name as Scriptname, N'T' as ScriptType, p.create_date as Xdateinserted, p.modify_date as XdateUpdated , sc.definition\r\n as Scriptcode , case when len(p.name) > 30 then 1 else 0 end as IsTooLong from sys.objects p with (readpast) join sys.sql_modules sc with (readpast) on\r\n p.Object_id = sc.Object_id and sc.definition > ' '  where p.type = 'TR' and (  @ModuleToSave = 'CCC' and LEFT(p.name,4) not in (Select md.ModuleName +\r\n '_' from QBM_VQBMModuleDef md where md.ModuleName <> 'CCC' ) or @ModuleToSave <> 'CCC' and left(p.name, 4) = @ModuleToSave + '_' ) and p.schema_id = @Schema_id\r\n ) as x create index #QBMCustomSQL1 on #QBMCustomSQL(UID_QBMCustomSQL) create index #QBMCustomSQL2 on #QBMCustomSQL(IsTooLong)  if exists (select top 1\r\n 1 from #QBMCustomSQL c where c.IsTooLong = 1 ) begin select top 1 @Message = 'Element name longer then 30 chars ' + c.ScriptName + '(' + c.ScriptType \r\n+ ')' from #QBMCustomSQL c where c.IsTooLong = 1 exec QBM_PJournal @message, @@procid, 'E', @DebugLevel delete #QBMCustomSQL where IsTooLong = 1 end   \r\n  update QBMCustomSQL set xdateupdated = n.XDateupdated , XUserUpdated = @XUser from QBMCustomSQL e join #QBMCustomSQL n on e.UID_QBMCustomSQL = n.UID_QBMCustomSQL\r\n where e.xdateupdated <> n.XDateupdated  update QBMCustomSQL set XTouched = 'M' , xdateupdated = n.XDateupdated  , Scriptcode = rtrim(n.Scriptcode) , XUserUpdated\r\n = @XUser from QBMCustomSQL e join #QBMCustomSQL n on e.UID_QBMCustomSQL = n.UID_QBMCustomSQL where rtrim(ISNULL(e.Scriptcode, '')) <> rtrim(ISNULL(n.Scriptcode\r\n, ''))  insert into QBMCustomSQL (UID_QBMCustomSQL, ScriptType, ScriptName, XUserInserted , XUserUpdated , XDateInserted , XDateUpdated , Scriptcode, XObjectKey\r\n, XTouched) select UID_QBMCustomSQL , x.ScriptType, x.ScriptName, @XUser, @XUser, x.XdateInserted, x.XDateUpdated  , rtrim(x.ScriptCode), dbo.QBM_FCVElementToObjectKey1\r\n('QBMCustomSQL', 'UID_QBMCustomSQL', x.UID_QBMCustomSQL) , 'I' from #QBMCustomSQL x where not exists (select top 1 1 from QBMCustomSQL y where y.UID_QBMCustomSQL\r\n = x.UID_QBMCustomSQL ) select @CountItems = @@ROWCOUNT if @DebugSwitch > 0 begin print 'QBMCustomSQL fertig ' + convert(varchar(64), getutcdate(), 121\r\n) print convert(nvarchar(16), @CountItems) + ' neue Sätze' end  update QBMCustomSQL set Scriptname = y.Scriptname , XDateUpdated = @Xdate , XUserUpdated\r\n = @XUser from QBMCustomSQL e join #QBMCustomSQL y on e.UID_QBMCustomSQL = y.UID_QBMCustomSQL where y.ScriptName <> e.ScriptName collate SQL_Latin1_General_CP1_CS_AS\r\n   delete QBMCustomSQL  from QBMCustomSQL e left outer join #QBMCustomSQL y on y.UID_QBMCustomSQL = e.UID_QBMCustomSQL where y.UID_QBMCustomSQL is null\r\n and left(e.UID_QBMCustomSQL, 3) = @ModuleToSave      END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n ende: truncate table #QBMCustomSQL return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PCustomSQLPropagate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.68",
      "ModifyDate": "2026-04-14T23:20:32.117",
      "Definition": "  create   procedure QBM_PCustomSQLPropagate (@ModuleToRestore varchar(3) = 'CCC' , @OnlyPropagateEmptyXTouched bit = 0 )  as begin declare @CurrentDeadlock_priority\r\n int declare @ScriptName nvarchar(64) declare @ScriptType nvarchar(1) declare @initialContent nvarchar(max)   declare @UID_QBMCustomSQL varchar(38)  declare\r\n @DebugSwitch int = 0 declare @Anzahl int     declare @work table ( UID_QBMCustomSQL varchar(38) collate database_default , ScriptName nvarchar(64) collate\r\n database_default , ScriptType nvarchar(1) collate database_default , SortOrder int  , Scriptcode nvarchar(max) ) declare @nogo QBM_YParameterList declare\r\n @ErrorBuffer QBM_YSessionError SET XACT_ABORT OFF BEGIN TRY set nocount on set quoted_identifier on select top 1 @CurrentDeadlock_priority = s.deadlock_priority\r\n FROM sys.dm_exec_sessions s where s.session_id = @@spid select @CurrentDeadlock_priority = isnull(@CurrentDeadlock_priority, 0) set deadlock_priority \r\n8 insert into @nogo(Parameter1) values ('QBM_FGIObjectIsDropable') , ('QBM_PCustomSQLPropagate_Cont') , ('QBM_PCustomSQLPropagate') , ('QBM_PViewDrop')\r\n , ('QBM_PFunctionDrop') , ('QBM_PProcedureDrop') , ('QBM_PTriggerDrop') , ('QBM_FSQObjectComment')  , ('QBM_PExecuteSQLWithRetry_LLP')  select @ScriptType\r\n = N'U'  delete  @work  insert into @work(UID_QBMCustomSQL, ScriptName, ScriptType, SortOrder) select s.UID_QBMCustomSQL , s.ScriptName, s.ScriptType, \r\ns.SortOrder from QBMCustomSQL s where ScriptType = @ScriptType and left(s.UID_QBMCustomSQL , 4) = @ModuleToRestore + '-'  and ( @OnlyPropagateEmptyXTouched\r\n = 0 or ( @OnlyPropagateEmptyXTouched = 1 and trim(isnull(s.XTouched, '')) = '' ) )  select @anzahl = @@ROWCOUNT if @DebugSwitch > 0 begin print 'Anzahl U geladen '\r\n + str(@anzahl)+ ' ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE()) end while exists (select top 1 1 from @work) BEGIN select top 1 @UID_QBMCustomSQL = w.UID_QBMCustomSQL\r\n , @ScriptName = w.ScriptName , @ScriptType = w.ScriptType from @work w order by w.SortOrder exec QBM_PCustomSQLPropagate_Cont @UID_QBMCustomSQL, @ScriptName\r\n delete  @work where UID_QBMCustomSQL = @UID_QBMCustomSQL  update QBMCustomSQL set XTouched = 'I' from QBMCustomSQL c where c.UID_QBMCustomSQL = @UID_QBMCustomSQL\r\n and trim(isnull(c.XTouched,'')) <> 'I'  END   select @ScriptType = N'C'  delete  @work insert into @work(UID_QBMCustomSQL, ScriptName, ScriptType, SortOrder\r\n) select s.UID_QBMCustomSQL , s.ScriptName, s.ScriptType, s.SortOrder from QBMCustomSQL s where ScriptType = @ScriptType and left(s.UID_QBMCustomSQL , \r\n4) = @ModuleToRestore + '-'  and ( @OnlyPropagateEmptyXTouched = 0 or ( @OnlyPropagateEmptyXTouched = 1 and trim(isnull(s.XTouched, '')) = '' ) )  select\r\n @anzahl = @@ROWCOUNT if @DebugSwitch > 0 begin print 'Anzahl C geladen ' + str(@anzahl) + ' ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE()) end while exists\r\n (select top 1 1 from @work) BEGIN select top 1 @UID_QBMCustomSQL = w.UID_QBMCustomSQL , @ScriptName = w.ScriptName , @ScriptType = w.ScriptType from @work\r\n w order by w.SortOrder exec QBM_PCustomSQLPropagate_Cont @UID_QBMCustomSQL, @ScriptName delete  @work where UID_QBMCustomSQL = @UID_QBMCustomSQL  update\r\n QBMCustomSQL set XTouched = 'I' from QBMCustomSQL c where c.UID_QBMCustomSQL = @UID_QBMCustomSQL and trim(isnull(c.XTouched,'')) <> 'I'  END   select \r\n@ScriptType = N'I'  delete  @work insert into @work(UID_QBMCustomSQL, ScriptName, ScriptType, SortOrder) select s.UID_QBMCustomSQL , s.ScriptName, s.ScriptType\r\n, s.SortOrder from QBMCustomSQL s where ScriptType = @ScriptType and left(s.UID_QBMCustomSQL , 4) = @ModuleToRestore + '-'  and ( @OnlyPropagateEmptyXTouched\r\n = 0 or ( @OnlyPropagateEmptyXTouched = 1 and trim(isnull(s.XTouched, '')) = '' ) )  select @anzahl = @@ROWCOUNT if @DebugSwitch > 0 begin print 'Anzahl I geladen '\r\n + str(@anzahl) + ' ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE()) end while exists (select top 1 1 from @work) BEGIN select top 1 @UID_QBMCustomSQL = w.UID_QBMCustomSQL\r\n , @ScriptName = w.ScriptName , @ScriptType = w.ScriptType from @work w order by w.SortOrder exec QBM_PCustomSQLPropagate_Cont @UID_QBMCustomSQL, @ScriptName\r\n delete  @work where UID_QBMCustomSQL = @UID_QBMCustomSQL  update QBMCustomSQL set XTouched = 'I' from QBMCustomSQL c where c.UID_QBMCustomSQL = @UID_QBMCustomSQL\r\n and trim(isnull(c.XTouched,'')) <> 'I'  END   if @DebugSwitch > 0 begin print 'start QBM_PViewBuild ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE()) end \r\nif @ModuleToRestore = 'CCC' begin exec QBM_PViewBuild end if @DebugSwitch > 0 begin print 'ende QBM_PViewBuild' + dbo.QBM_FCVDatetimeToString(GETUTCDATE\r\n()) end    delete  @work insert into @work(UID_QBMCustomSQL, ScriptName, ScriptType, SortOrder, Scriptcode) select s.UID_QBMCustomSQL, s.ScriptName, case\r\n when s.ScriptType = N'V' then N'V' else N'F' end, s.SortOrder, s.Scriptcode from QBMCustomSQL s left outer join @nogo n on s.ScriptName = n.Parameter1\r\n where ScriptType in (N'N', N'F', N'V') and left(s.UID_QBMCustomSQL , 4) = @ModuleToRestore + '-' and n.Parameter1 is null  and ( @OnlyPropagateEmptyXTouched\r\n = 0 or ( @OnlyPropagateEmptyXTouched = 1 and trim(isnull(s.XTouched, '')) = '' ) )  select @anzahl = @@ROWCOUNT if @DebugSwitch > 0 begin print 'Anzahl V/F geladen '\r\n + str(@anzahl) + ' ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE()) end while exists (select top 1 1 from @work) BEGIN select top 1 @UID_QBMCustomSQL = w.UID_QBMCustomSQL\r\n , @ScriptName = w.ScriptName , @ScriptType = w.ScriptType , @initialContent = w.Scriptcode from @work w order by w.SortOrder   exec QBM_PSQLCreate @ScriptName\r\n, @ScriptType, @initialContent, @UnComment = 0, @Unformat = 0 delete  @work where UID_QBMCustomSQL = @UID_QBMCustomSQL  update QBMCustomSQL set XTouched\r\n = 'I' from QBMCustomSQL c where c.UID_QBMCustomSQL = @UID_QBMCustomSQL and trim(isnull(c.XTouched,'')) <> 'I'  END   delete  @work insert into @work(UID_QBMCustomSQL\r\n, ScriptName, ScriptType, SortOrder, Scriptcode) select s.UID_QBMCustomSQL , s.ScriptName, s.ScriptType, s.SortOrder, s.Scriptcode from QBMCustomSQL s \r\nleft outer join @nogo n on s.ScriptName = n.Parameter1 where ScriptType in (  N'P', N'T')  and left(s.UID_QBMCustomSQL , 4) = @ModuleToRestore + '-' and\r\n n.Parameter1 is null  and ( @OnlyPropagateEmptyXTouched = 0 or ( @OnlyPropagateEmptyXTouched = 1 and trim(isnull(s.XTouched, '')) = '' ) )  select @anzahl\r\n = @@ROWCOUNT if @DebugSwitch > 0 begin print 'Anzahl P/T geladen ' + str(@anzahl) + ' ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE()) end while exists (select\r\n top 1 1 from @work) BEGIN select top 1 @UID_QBMCustomSQL = w.UID_QBMCustomSQL , @ScriptName = w.ScriptName , @ScriptType = w.ScriptType , @initialContent\r\n = w.Scriptcode from @work w order by w.SortOrder   exec QBM_PSQLCreate @ScriptName, @ScriptType, @initialContent, @UnComment = 0, @Unformat = 0 delete\r\n  @work where UID_QBMCustomSQL = @UID_QBMCustomSQL  update QBMCustomSQL set XTouched = 'I' from QBMCustomSQL c where c.UID_QBMCustomSQL = @UID_QBMCustomSQL\r\n and trim(isnull(c.XTouched,'')) <> 'I'  END    if @ModuleToRestore = 'CCC' begin if @DebugSwitch > 0 begin print 'start QBM_PDatabasePrepareCheck1' + \r\ndbo.QBM_FCVDatetimeToString(GETUTCDATE()) end exec QBM_PDatabasePrepareCheck1 if @DebugSwitch > 0 begin print 'ende QBM_PDatabasePrepareCheck1' + dbo.QBM_FCVDatetimeToString\r\n(GETUTCDATE()) end end END TRY BEGIN CATCH declare @ErrorMessage nvarchar(4000) = error_message() delete @ErrorBuffer insert into @ErrorBuffer (ErrorMessage\r\n, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode) select @ErrorMessage\r\n,ERROR_SEVERITY(), ERROR_STATE(), ERROR_NUMBER() , ERROR_PROCEDURE() , ERROR_LINE(), GETUTCDATE() , null, 0, 0, @ScriptName exec QBM_PSessionErrorAdd @ErrorBuffer\r\n  RAISERROR (@ErrorMessage, 18, 1) WITH NOWAIT END CATCH endLabel:  set deadlock_priority @CurrentDeadlock_priority  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PCustomSQLPropagate_Cont",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.67",
      "ModifyDate": "2026-04-14T23:20:32.103",
      "Definition": "    create   procedure QBM_PCustomSQLPropagate_Cont (@UID_QBMCustomSQL varchar(38), @Objectname nvarchar(255) = N'')  as begin declare @ObjectName_intern\r\n nvarchar(255) declare @Content nvarchar(max) declare @ErrorMessage nvarchar(4000) declare @ErrorSeverity int  declare @DebugSwitch int = 0 declare @ErrorBuffer\r\n QBM_YSessionError SET XACT_ABORT OFF BEGIN TRY if @DebugSwitch > 0 begin print @UID_QBMCustomSQL + '#' + @Objectname end select @ErrorSeverity = 0 select\r\n @ObjectName_intern = @ObjectName if isnull(@ObjectName, N'') = N'' begin select @ObjectName_intern = N'<unknown name>' end     SELECT top 1 @content =\r\n Scriptcode FROM QBMCustomSQL where UID_QBMCustomSQL = @UID_QBMCustomSQL if @DebugSwitch > 0 begin print isnull(@content, '<no content>') end  begin try\r\n      if exists (select top 1 1 from sys.procedures p where p.name = 'QBM_PExecuteSQLWithRetry_LLP' ) begin  exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement\r\n = @content , @LockTimeout_ms = 10000  , @MaxWaitTimeForLock_s = 60  , @ProcIDForJournal = default , @HandleErrorSilent = 0 , @DeadlockPriority = 8  end\r\n else begin exec sp_executesql @content end     end try begin catch select @ErrorSeverity = 18 select @ErrorMessage =concat( N'Could not propagate CustomSQL : '\r\n , @Objectname , nchar(13) , nchar(10) , isnull(ERROR_MESSAGE() , '<no message>') )  end catch END TRY BEGIN CATCH select @ErrorSeverity = 18 select @ErrorMessage\r\n = isnull(ERROR_MESSAGE() , '<no message>') select @ErrorMessage = concat('#LDS#Error adding {0}.|' , @ObjectName_intern , N'|' , nchar(13) , nchar(10)\r\n , @ErrorMessage )   delete @ErrorBuffer insert into @ErrorBuffer (ErrorMessage, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName, ProcedureLine,\r\n MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode) select @ErrorMessage, @ErrorSeverity, ERROR_STATE(), ERROR_NUMBER() , ERROR_PROCEDURE()\r\n, ERROR_LINE(), GETUTCDATE() , null, 0, 0, null exec QBM_PSessionErrorAdd @ErrorBuffer RAISERROR (@ErrorMessage, @ErrorSeverity, 1) WITH NOWAIT END CATCH\r\n if @ErrorSeverity > 12 or (XACT_STATE()) = -1 begin delete @ErrorBuffer insert into @ErrorBuffer (ErrorMessage, ErrorSeverity, ErrorState, ErrorNumber\r\n , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode) select @ErrorMessage, @ErrorSeverity, 1, 50000 , object_name\r\n(@@PROCID), 187, GETUTCDATE() , null, 0, 0, null exec QBM_PSessionErrorAdd @ErrorBuffer RAISERROR (@ErrorMessage, @ErrorSeverity, 1) WITH NOWAIT end end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PCustomSQLSort",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.637",
      "ModifyDate": "2026-04-14T23:20:32.073",
      "Definition": "     create   procedure QBM_PCustomSQLSort ( @SlotnumberDummy int , @dummy1 varchar(38) , @Dummy2 varchar(38) , @GenProcIDDummy varchar(38) ) as\r\n begin declare @Schema_Id int declare @XUser nvarchar(64) = 'QBMCustomSQL' declare @DebugSwitch int = 0   declare @durchlauf int declare @anzAend int  \r\n    declare @Xdate datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY select top 1 @Schema_Id = schema_id from sys.schemas where name = N'dbo'  if @DebugSwitch\r\n > 0 begin print 'Start ' + convert(varchar(64), getutcdate(), 121) end   begin try exec QBM_PCustomSQLDependencyFill end try begin catch print ' na dann eben nich'\r\n end catch  if @DebugSwitch > 0 begin print 'Dependencies gefüllt' + convert(varchar(64), getutcdate(), 121) end update QBMCustomsql set SortOrder = case\r\n scripttype when N'N' then 1000 when N'F' then 2000 when N'V' then 3000 when N'P' then 4000 else 5000 end , XDateUpdated = @Xdate , XUserUpdated = @XUser\r\n  select @durchlauf = 0 marke: if @DebugSwitch > 0 begin print 'durchlauf  ' + str(@durchlauf) + convert(varchar(64), getutcdate(), 121) end select @anzAend\r\n = 0 update QBMCustomSQL set SortOrder = case when co2.SortOrder < QBMCustomSQL.SortOrder then QBMCustomSQL.SortOrder +1 else co2.SortOrder +1 end , XDateUpdated\r\n = @Xdate , XUserUpdated = @XUser  from QBMCustomSQL join sys.objects o1 on o1.name = QBMCustomSQL.scriptname collate database_default and left(o1.type\r\n,1) = QBMCustomSQL.scripttype collate database_default  join sys.sql_dependencies d on o1.object_id = d.object_id  join sys.objects o2 on d.referenced_major_id\r\n = o2.object_id  join QBMCustomSQL co2 on o2.name = co2.scriptname collate database_default    and o1.name <> isnull(o2.name,N'') collate database_default\r\n where QBMCustomSQL.SortOrder <= co2.SortOrder and o1.schema_id = @Schema_Id and o2.schema_id = @Schema_Id select @anzAend = @anzAend + @@rowcount    if\r\n @anzAend = 0 goto ende select @durchlauf = @durchlauf +1 if @durchlauf < 10 goto marke   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare\r\n @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDashBoardDefine",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.5",
      "ModifyDate": "2026-04-14T23:20:29.16",
      "Definition": "    create   procedure QBM_PDashBoardDefine ( @UID_DialogDashboardDef varchar(38) , @GenProcIDDummy varchar(38) , @IsToDrop bit ) with execute as\r\n 'dbo' as begin declare @QueryDefinition nvarchar(max) declare @QueryDefinition100 nvarchar(max) declare @viewname nvarchar(64) declare @viewname100 nvarchar\r\n(64) declare @procname nvarchar(64) declare @SQLCmd nvarchar(max) declare @ProcedureBody nvarchar(max) declare @isInactive bit declare @IsDeactivatedByPreprocessor\r\n bit declare @IsManual bit declare @mitElementObjectKey bit = 0 declare @mitElementOrder bit = 0declare @mitElementValueZ bit = 0 declare @mitElementObjectKey2\r\n bit = 0  declare @ErrorMessage nvarchar(4000) declare @ErrorSeverity int declare @ErrorState int declare @DebugSwitch int = 0 declare @DebugLevel char\r\n(1) = 'W' SET XACT_ABORT OFF if @IsToDrop = 1 begin begin transaction save transaction DashboardTry end BEGIN TRY select top 1 @QueryDefinition = QueryDefinition\r\n, @QueryDefinition100 = QueryDefinition100 , @isInactive = isInactive , @IsDeactivatedByPreprocessor = IsDeactivatedByPreprocessor , @IsManual = IsManual\r\n from dialogDashBoardDef where UID_DialogDashBoardDef = @UID_DialogDashBoardDef select @viewname = dbo.QBM_FGIDashBoardCodeName( 'view', @UID_DialogDashBoardDef\r\n)  select @viewname100 = dbo.QBM_FGIDashBoardCodeName( 'view100', @UID_DialogDashBoardDef)  select @procname = dbo.QBM_FGIDashBoardCodeName( 'proc', @UID_DialogDashBoardDef\r\n)  if not exists (select top 1 1 from DialogDashBoardDef d where d.UID_DialogDashBoardDef = @UID_DialogDashboardDef ) begin goto DropOnly end if (@isInactive\r\n = 1 and @IsToDrop = 0) or (@IsDeactivatedByPreprocessor = 1 and @IsToDrop = 0) or (@IsManual = 1) begin goto ende end if @QueryDefinition > ' ' begin \r\nselect @SQLCmd = N'create or alter view dbo.' + @viewname + N' as ' + @QueryDefinition if @DebugSwitch > 0 begin print @sqlcmd end exec QBM_PSQLCreate \r\n@viewname, 'V', @SQLCmd, @UnComment = 0 end else begin  goto ende end if exists (select top 1 1 from QBM_VSchemaColumns where table_name = @viewname and\r\n Column_name = 'ElementObjectKey' ) begin select @mitElementObjectKey = 1 end if exists (select top 1 1 from QBM_VSchemaColumns where table_name = @viewname\r\n and Column_name = 'ElementOrder' ) begin select @mitElementOrder = 1 end if not exists (select top 1 1  from INFORMATION_SCHEMA.COLUMNS c where c.TABLE_NAME\r\n = @viewname and Column_name = 'ElementValue' and c.DATA_TYPE in ('int', 'float') ) begin select @ErrorMessage = '#LDS#Invalid data type for field {0}, column {1}.|QueryDefinition|ElementValue|'\r\n raiserror (@ErrorMessage, 18, 2) with nowait end if exists (select top 1 1 from QBM_VSchemaColumns where table_name = @viewname and Column_name = 'ElementValueZ'\r\n ) begin select @mitElementValueZ = 1  if not exists (select top 1 1  from INFORMATION_SCHEMA.COLUMNS c where c.TABLE_NAME = @viewname and Column_name \r\n= 'ElementValueZ' and c.DATA_TYPE in ('int', 'float') ) begin select @ErrorMessage = '#LDS#Invalid data type for field {0}, column {1}.|QueryDefinition|ElementValueZ|'\r\n raiserror (@ErrorMessage, 18, 2) with nowait end end if exists (select top 1 1 from QBM_VSchemaColumns where table_name = @viewname and Column_name = \r\n'ElementObjectKey2' ) begin select @mitElementObjectKey2 = 1 end  if @QueryDefinition100 > ' ' begin select @SQLCmd = N'create or alter view dbo.' + @viewname100\r\n + N' as ' + @QueryDefinition100 end else begin  select @SQLCmd = N'create or alter view dbo.' + @viewname100 + N' as ' + N'select convert(nvarchar(255), null) as ElementName, convert(float, 0) as ElementValue'\r\n  if @mitElementObjectKey = 1 begin select @SQLCmd = @SQLCmd + N', convert(varchar(138),null) as ElementObjectKey' end select @SQLCmd = @SQLCmd + '\r\n\t\twhere 1= 0'\r\n end if @DebugSwitch > 0 begin print @sqlcmd end exec QBM_PSQLCreate @viewname100, 'V', @SQLCmd, @UnComment = 0 if not exists (select top 1 1  from INFORMATION_SCHEMA.COLUMNS\r\n c where c.TABLE_NAME = @viewname100 and Column_name = 'ElementValue' and c.DATA_TYPE in ('int', 'float') ) begin select @ErrorMessage = '#LDS#Invalid data type for field {0}, column {1}.|QueryDefinition100|ElementValue|'\r\n raiserror (@ErrorMessage, 18, 2) with nowait end   select @SQLCmd = N'create or alter procedure dbo.' + @procname + N' as ' select @ProcedureBody = '\r\n\t\tinsert into #DialogDashBoardContent (  ElementName, ElementValue, ElementValue100, ElementObjectKey\r\n\t\t\t\t\t\t\t\t\t\t\t, ElementValueZ, ElementObjectKey2 )\r\n\t\t\tselect left(e.ElementName, 255), e.ElementValue, e100.ElementValue, '\r\n + case @mitElementObjectKey when 1 then N' e.ElementObjectKey' else N' NULL as ElementObjectKey' end + '\r\n\t\t\t\t\t\t\t\t\t\t,  ' + case @mitElementValueZ when\r\n 1 then N' e.ElementValueZ' else N' NULL as ElementValueZ' end + '\r\n\t\t\t\t\t\t\t\t\t\t, ' + case @mitElementObjectKey2 when 1 then N' e.ElementObjectKey2' else\r\n N' NULL as ElementObjectKey2' end + '\r\n\t\t\t\tfrom ' + @viewname + N' e \r\n\t\t\t\t\t\t\tleft outer join ' + @viewname100 + N' e100 on e.ElementName = e100.ElementName'\r\n  if @mitElementObjectKey = 1 begin select @ProcedureBody = @ProcedureBody + N'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tand e.ElementObjectKey = e100.ElementObjectKey' end if @MitElementOrder\r\n = 1 begin select @ProcedureBody = @ProcedureBody + N'\r\n\t\t\t\t\torder by ElementOrder, e.ElementName' end else begin  select @ProcedureBody = @ProcedureBody\r\n + N'\r\n\t\t\t\torder by e.ElementName' end if @mitElementObjectKey = 1 begin select @ProcedureBody = @ProcedureBody + N', e.ElementObjectKey' end select @SQLCmd\r\n = dbo.QBM_FSQProcedureDef(@procname, '', @ProcedureBody , 'DashBoard definition: ' + @UID_DialogDashboardDef ) if @DebugSwitch > 0 begin print @SQLCmd\r\n end exec QBM_PSQLCreate @procname, 'P', @SQLCmd, @UnComment = 0 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default if @@TRANCOUNT > 0 BEGIN ROLLBACK\r\n TRANSACTION; END declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende:  if @IsToDrop\r\n = 1 begin rollback transaction DashboardTry commit transaction end return DropOnly: exec QBM_PProcedureDrop @procname exec QBM_PViewDrop @viewname exec\r\n QBM_PViewDrop @viewname100 return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDatabaseCollationCheck",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.733",
      "ModifyDate": "2026-04-14T23:20:26.51",
      "Definition": "     create   procedure QBM_PDatabaseCollationCheck (@ModuleName varchar(3)  , @TablePattern varchar(30) = '%'  ) as begin declare @Targetcollation\r\n nvarchar(64) declare @TableName nvarchar(64) declare @columnname nvarchar(64) declare @pkDef nvarchar(max) declare @SQLcmd nvarchar(max) declare @DebugSwitch\r\n int = 0 declare @Tables Table (TableName varchar(64) collate database_default) declare @Columns Table (ColumnName varchar(64) collate database_default\r\n) declare @IndexName nvarchar(64) SET XACT_ABORT OFF BEGIN TRY select top 1 @Targetcollation = d.collation_name from sys.databases d where d.database_id\r\n = DB_ID() if @DebugSwitch > 0 begin print '@ModuleName ' + @ModuleName print '@TablePattern ' + @TablePattern end delete  @Tables  insert into @Tables\r\n  select distinct t.TABLE_NAME  from information_schema.columns c join INFORMATION_SCHEMA.TABLES t on c.TABLE_NAME = t.TABLE_NAME left outer join DialogTable\r\n dt on t.TABLE_NAME = dt.TableName collate database_default where c.DATA_TYPE like '%char%' and t.TABLE_TYPE = 'base table' and c.COLLATION_NAME !=@Targetcollation\r\n and t.TABLE_NAME not like 'sys%' and t.TABLE_NAME not like 'ms%' and t.TABLE_NAME not like 'IH%' and t.TABLE_NAME not like 'conflict%' and ( (left(ISNULL\r\n(dt.UID_DialogTable, '---'), 3) = @ModuleName or @ModuleName = '%' ) and t.TABLE_NAME like @TablePattern ) if @DebugSwitch > 0 begin select * from @Tables\r\n end     select @TableName = '#' while @TableName > ' ' begin select @TableName = null select top 1 @TableName = t.TableName from @Tables t if @TableName\r\n is null begin continue end   if dbo.QBM_FSQPrimaryKeyDef_S(@TableName) > ' ' begin select @pkDef = 'alter table ' + @TableName + ' add ' + dbo.QBM_FSQPrimaryKeyDef_S\r\n(@TableName) end else begin select @pkDef = '' end  select top 1 @SQLcmd = 'alter table ' + @TableName + ' drop constraint ' + kc.name from sys.key_constraints\r\n kc join sys.tables t on kc.parent_object_id = t.object_id where kc.type = 'PK' and t.name = @TableName if @@ROWCOUNT > 0 begin if @DebugSwitch > 0 begin\r\n print @SQLcmd end exec sp_executesql @SQLcmd end if @DebugSwitch > 0 begin print '@TableName ' + @TableName end  delete  @Columns insert into @Columns\r\n(ColumnName) select distinct c.COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS c where c.data_type like '%char%' and c.TABLE_NAME = @TableName and c.COLLATION_NAME\r\n <> @Targetcollation and c.TABLE_NAME not like 'sys%'     select @columnname = '#' while @columnname > ' ' begin select @columnname = null select top 1\r\n @columnname = c.ColumnName from @Columns c if @columnname is null begin continue end if @DebugSwitch > 0 begin print '@columnname ' + @columnname end \r\n select @Indexname = N'#' while @IndexName is not null begin select @IndexName = null select top 1 @IndexName = i.name from sys.tables t join sys.indexes\r\n i on t.object_id = i.object_id     join sys.index_columns ic on i.index_id = ic.index_id and ic.object_id = t.object_id join sys.columns c on ic.column_id\r\n = c.column_id and c.object_id = t.object_id where t.name = @TableName and c.name = @columnname if @IndexName is not null begin select @SQLcmd = N'drop index \"'\r\n + @TableName + N'\".\"' + @IndexName + N'\"' print @sqlcmd exec sp_executeSQL @SQLcmd end  end  select @SQLcmd = 'alter table ' + c.TABLE_NAME + ' ' + 'alter column'\r\n + ' ' + dbo.QBM_FSQColumDef(c.TABLE_NAME , c.COLUMN_NAME ) from QBM_VSchemaColumns c where c.COLUMN_NAME = @columnname and c.TABLE_NAME = @TableName if\r\n @DebugSwitch > 0 begin print @SQLcmd end exec sp_executesql @SQLcmd delete  @Columns where ColumnName = @columnname end       if @pkDef > ' ' begin if\r\n @DebugSwitch > 0 begin print @pkDef end exec sp_executesql @pkDef end  delete  @Tables where TableName = @TableName end      END TRY BEGIN CATCH exec \r\nQBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDatabasePrepare",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.577",
      "ModifyDate": "2026-04-14T23:20:26.337",
      "Definition": "     create   procedure QBM_PDatabasePrepare (@ConnectionProvider nvarchar(255) = '' , @ConnectionString nvarchar(max) = '' ) as begin declare @DebugLevel\r\n char(1) = 'W' declare @DebugMessage nvarchar(2000) declare @UID_NewObject varchar(38) declare @ModuleOwner varchar(3)  declare @xdate datetime = getutcdate\r\n() declare @XUser nvarchar(64) = object_name(@@procid) declare @server nvarchar(64) SET XACT_ABORT OFF BEGIN TRY set nocount on   exec QBM_PDialogDatabaseInitialInfo\r\n if not exists (select top 1 1 from dialogdatabase ) begin  update DialogConfigParm set Value = '5'  , XDateUpdated = @Xdate , XUserUpdated = @XUser where\r\n FullPath = 'QBM\\DBQueue\\CountSlotsMax' update DialogConfigParm set Value = '20'  , XDateUpdated = @Xdate , XUserUpdated = @XUser where FullPath = 'QBM\\DBQueue\\KeepAlive'\r\n end update dialogdatabase set DataOrigin = dbo.QBM_FGIDBDataOrigin() , XDateUpdated = @xdate , XUserUpdated = @XUser where IsMainDatabase = 1 and isnull\r\n(DataOrigin,0) <> dbo.QBM_FGIDBDataOrigin() update dialogdatabase set ConnectionString = case  when @ConnectionString > ' ' then @ConnectionString else\r\n 'User ID=<sql-user>;initial Catalog=<database>;Data Source=<DB-Server>;Password=<sql-user-password>;pooling= ''false''' end , XDateUpdated = @xdate , \r\nXUserUpdated = @XUser from DialogDatabase d where d.IsMainDatabase = 1 and (isnull(d.ConnectionString,N'') = N'' or @ConnectionString > ' ' and d.ConnectionString\r\n like '%ID=<sql-user>%'  or (@ConnectionString > ' ' and d.ConnectionString not like '%ID=<sql-user>%' and d.ConnectionString <> @ConnectionString  and\r\n @Connectionstring like '%Password=[^;<]%'  ) ) update dialogdatabase set ConnectionProvider = case  when @ConnectionProvider > ' ' then @ConnectionProvider\r\n else 'VI.DB.ViSqlFactory,VI.DB' end , XDateUpdated = @xdate , XUserUpdated = @XUser where IsMainDatabase = 1 and isnull(ConnectionProvider,N'') = N'' \r\nupdate DialogDatabase set ModuleOwner = 'CCC' , XDateUpdated = @xdate , XUserUpdated = @XUser where IsMainDatabase = 1 and ISNULL(ModuleOwner, '') = ''\r\n update DialogDatabase set UID_DialogCultureDefault = 'QBM-CULT-en-US' , XDateUpdated = @xdate , XUserUpdated = @XUser where ISNULL(UID_DialogCultureDefault\r\n, '') = '' and IsMainDatabase = 1  select @ModuleOwner = null select top 1 @ModuleOwner = d.ModuleOwner from DialogDatabase d with (readpast) where d.IsMainDatabase\r\n = 1 if @ModuleOwner is null begin select @ModuleOwner = 'CCC' end exec QBM_PDatabasePrepareCheck1  if not exists ( select top 1 1 from QBMServerTag t \r\nwhere t.UID_QBMServerTag = 'QBM-ST-Is07' ) begin insert into QBMServerTag (UID_QBMServerTag, Ident_QBMServerTag, Description, XObjectKey , XUserInserted\r\n, XUserUpdated, XDateInserted, XDateUpdated ) select 'QBM-ST-Is07', 'IsMasterSQL', 'aka is07', dbo.QBM_FCVElementToObjectKey1('QBMServerTag', 'UID_QBMServerTag'\r\n, 'QBM-ST-Is07') , @XUser, @XUser, @xdate, @xdate end if exists (select top 1 1 from QBMModuleDef d where d.ModuleName = 'SIM' ) begin select @server =\r\n 'cloudserver-0' select @UID_NewObject = '5DC98AAD-A7F7-4BA9-B66C-5C0B1DF641F2' end else begin select @UID_NewObject = NEWID() select @server = left(trim\r\n(@@servername), 64)  end if charindex(N'\\' , @server) > 0 begin select @server = substring(@server, 1, charindex(N'\\' , @server)-1) end  if not exists \r\n(select top 1 1 from QBMServerHasServerTag ht where ht.UID_QBMServerTag = 'QBM-ST-Is07'  ) begin  if exists (select top 1 1 from QBMServer where ident_server\r\n = @server ) begin insert into QBMServerHasServerTag (UID_QBMServer, UID_QBMServerTag, XObjectKey , XUserInserted, XUserUpdated, XDateInserted, XDateUpdated\r\n ) select s.uid_QBMServer, t.UID_QBMServerTag, dbo.QBM_FCVElementToObjectKey2('QBMServerHasServerTag', 'UID_QBMServer', s.UID_QBMServer, 'UID_QBMServerTag'\r\n, t.UID_QBMServerTag) , @XUser, @XUser, @xdate, @xdate from QBMServer s, QBMServerTag t where t.UID_QBMServerTag = 'QBM-ST-Is07'  and s.Ident_Server = \r\n@server select @DebugMessage = 'server \"' + @server + '\" updated as MasterSQL (Is07)' exec QBM_PJournal @DebugMessage, @@PROCID, 'D', @DebugLevel end else\r\n begin  insert into QBMServer (UID_QBMServer, Ident_Server, QueueName, XObjectKey , XUserInserted, XUserUpdated, XDateInserted, XDateUpdated  ) values \r\n(@UID_NewObject, @server , N'\\' + @server , dbo.QBM_FCVElementToObjectKey1('QBMServer', 'UID_QBMServer', @UID_NewObject) , @XUser, @XUser, @xdate, @xdate\r\n ) insert into QBMServerHasServerTag (UID_QBMServer, UID_QBMServerTag, XObjectKey , XUserInserted, XUserUpdated, XDateInserted, XDateUpdated ) select @UID_NewObject\r\n, t.UID_QBMServerTag, dbo.QBM_FCVElementToObjectKey2('QBMServerHasServerTag', 'UID_QBMServer', @UID_NewObject, 'UID_QBMServerTag', t.UID_QBMServerTag) \r\n, @XUser, @XUser, @xdate, @xdate from QBMServerTag t where t.UID_QBMServerTag = 'QBM-ST-Is07'  select @DebugMessage = 'server \"' + @server + '\" created as MasterSQL (Is07)'\r\n exec QBM_PJournal @DebugMessage, @@PROCID, 'D', @DebugLevel end   delete QBMServerHasServerTag where UID_QBMServerTag = 'QBM-ST-Is07' and UID_QBMServer\r\n not in (select UID_QBMServer from QBMServer where ident_server = @server ) end   if not exists (select top 1 1 from QBMServerHasServerTag ht where ht.UID_QBMServerTag\r\n = 'QBM-ST-Is12'  ) begin  select @server = N'' select top 1 @server = ident_server from QBMServer s join QBMServerHasServerTag sht on s.UID_QBMServer \r\n= sht.UID_QBMServer where sht.UID_QBMServerTag = 'QBM-ST-Is07'  insert into QBMServerHasServerTag (UID_QBMServer, UID_QBMServerTag, XObjectKey , XUserInserted\r\n, XUserUpdated, XDateInserted, XDateUpdated ) select s.uid_QBMServer, t.UID_QBMServerTag, dbo.QBM_FCVElementToObjectKey2('QBMServerHasServerTag', 'UID_QBMServer'\r\n, s.UID_QBMServer, 'UID_QBMServerTag', t.UID_QBMServerTag) , @XUser, @XUser, @xdate, @xdate from QBMServer s, QBMServerTag t where t.UID_QBMServerTag =\r\n 'QBM-ST-Is12'  and s.Ident_Server = @server select @DebugMessage = 'server \"' + @server + '\" updated as Mailserver (is12)' exec QBM_PJournal @DebugMessage\r\n, @@PROCID, 'D', @DebugLevel end   insert into QBMServerHasServerTag(UID_QBMServer, UID_QBMServerTag , XUserInserted, XUserUpdated, XDateInserted, XDateUpdated\r\n , XObjectKey ) select sht.UID_QBMServer, 'QBM-ST-SQLProcessingEnabled' , 'DBMigration', 'DBMigration', GETUTCDATE(), GETUTCDATE() , dbo.QBM_FCVElementToObjectKey2\r\n('QBMServerHasServerTag', 'UID_QBMServer', sht.UID_QBMServer, 'UID_QBMServerTag', 'QBM-ST-SQLProcessingEnabled') from QBMServerHasServerTag sht where sht.UID_QBMServerTag\r\n = 'QBM-ST-Is07' and not exists (select top 1 1 from QBMServerHasServerTag sht2 where sht2.UID_QBMServer = sht.UID_QBMServer and sht2.UID_QBMServerTag \r\n= 'QBM-ST-SQLProcessingEnabled' )  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDatabasePrepareCheck1",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.54",
      "ModifyDate": "2026-04-14T23:20:26.293",
      "Definition": "  create   procedure QBM_PDatabasePrepareCheck1 (@WithoutPKCorrection bit = 0 ) as begin declare @XUser nvarchar(64) = object_name(@@procid) declare\r\n @Xdate datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY set nocount on update DialogTable set XObjectKey = dbo.QBM_FCVElementToObjectKey1('DialogTable'\r\n, 'uid_Dialogtable', uid_Dialogtable)  , XDateUpdated = @Xdate , XUserUpdated = @XUser where XObjectKey <> dbo.QBM_FCVElementToObjectKey1('DialogTable'\r\n, 'uid_Dialogtable', uid_Dialogtable)  exec QBM_PColumnSchemaDataTypeCorr '%'  update dialogcolumn set Datatype = dbo.QBM_FCVSchemaDatatypeToIntern(c.SchemaDataType\r\n, c.SchemaDatalen)  , XDateUpdated = @Xdate , XUserUpdated = @XUser from DialogColumn c join DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable\r\n where c.Datatype <> dbo.QBM_FCVSchemaDatatypeToIntern(c.SchemaDataType, c.SchemaDatalen) and t.TableType in ('B', 'T', 'M') update dialogcolumn set Datatype\r\n = dbo.QBM_FCVSchemaDatatypeToIntern(c.SchemaDataType, c.SchemaDatalen)   , XDateUpdated = @Xdate , XUserUpdated = @XUser from DialogColumn c join DialogTable\r\n t with (readpast) on c.UID_DialogTable = t.UID_DialogTable where c.Datatype <> dbo.QBM_FCVSchemaDatatypeToIntern(c.SchemaDataType, c.SchemaDatalen) and\r\n t.TableType in ('R', 'U'  , 'P' ) update dialogcolumn set datatype = x.datatype   , XDateUpdated = @Xdate , XUserUpdated = @XUser from dialogcolumn , \r\ndialogcolumn x, DialogTable t with (readpast) where dialogcolumn.UID_BaseColumn = x.uid_dialogcolumn and dialogColumn.UID_DialogTable = t.UID_DialogTable\r\n and t.tabletype = 'V' and isnull(dialogcolumn.Datatype, -1) <> x.Datatype   update DialogColumn set IsUID = 1  , XDateUpdated = @Xdate , XUserUpdated \r\n= @XUser where SchemaDataType = 'varchar' and SchemaDataLen = 38 and IsUID = 0 update DialogColumn set IsUID = 0  , XDateUpdated = @Xdate , XUserUpdated\r\n = @XUser where (SchemaDataType <> 'varchar' or SchemaDataLen <> 38 ) and IsUID = 1 if @WithoutPKCorrection = 1 begin goto EndLabel end update DialogColumn\r\n set IsPKMember = v.IsPKMember  , XDateUpdated = @Xdate , XUserUpdated = @XUser  from DialogColumn c join dbo.QBM_FTPrimaryKeyInfo_BTVP() v on c.UID_DialogColumn\r\n = v.UID_DialogColumn where c.IsPKMember <> v.IsPKMember and v.TableType not in ('U', 'R')     exec QBM_PDialogTablePKNameCorrect '%'  update dialogcolumn\r\n set XObjectKey = dbo.QBM_FCVElementToObjectKey1('DialogColumn', 'uid_dialogcolumn', uid_dialogcolumn)  , XDateUpdated = @Xdate , XUserUpdated = @XUser\r\n where XObjectKey <> dbo.QBM_FCVElementToObjectKey1('DialogColumn', 'uid_dialogcolumn', uid_dialogcolumn) exec QBM_PTableRevisionFill END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH \r\nendLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDatabasePrepareCheck2",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.56",
      "ModifyDate": "2026-04-14T23:20:26.32",
      "Definition": "  create   procedure QBM_PDatabasePrepareCheck2 as begin   declare @xdate datetime = getutcdate() declare @XUser nvarchar(64) = object_name(@@procid\r\n)   declare @DefaultPassword varchar(64) declare @defaultSalt varchar(5) declare @ObjectKeyOfRow varchar(138) = '<Key><T>DialogConfigParm</T><P>QBM-c88cc1888e12462e84acaee7dd94931d</P></Key>'\r\n declare @TableName varchar(30) = 'DialogConfigParm' declare @ColumnName varchar(30) = 'Enabled' declare @ActionUser varchar(30) = 'dbmig' SET XACT_ABORT\r\n OFF BEGIN TRY set nocount on exec QBM_PDatabasePrepareCheck1    update dialogcolumn set IsMultiValued = c.IsMultiValued  , XDateUpdated = @Xdate , XUserUpdated\r\n = @XUser from dialogcolumn join dialogcolumn c on dialogcolumn.uid_basecolumn = c.uid_dialogcolumn  join dialogtable t with (readpast) on t.UID_DialogTable\r\n = c.UID_DialogTable where t.tabletype in ('T', 'B', 'M') and DialogColumn.IsMultiValued <> c.IsMultiValued update dialogcolumn set IsMultiValued = ba.IsMultiValued\r\n  , XDateUpdated = @Xdate , XUserUpdated = @XUser from dialogcolumn join Dialogcolumn ba on ba.UID_DialogColumnUnionView = dialogcolumn.uid_dialogcolumn\r\n  where dialogcolumn.IsMultiValued <> ba.IsMultiValued    update dialogcolumn set isalternatepkmember = 0  , XDateUpdated = @Xdate , XUserUpdated = @XUser\r\n  from dialogcolumn c join dialogtable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable where c.isalternatepkmember = 1 and c.SchemaDataType \r\n= 'varchar' and c.SchemaDatalen = 38  and not exists (select top 1 1 from QBMRelation cr where c.uid_dialogcolumn = cr.uid_childcolumn ) and t.isTransportdisabled\r\n = 0  update dialogcolumn set istoignoreonexport = 0  , XDateUpdated = @Xdate , XUserUpdated = @XUser where isAlternatepkMember = 1 and istoignoreonexport\r\n = 1 if dbo.QBM_FGIDBOwner() <> 'CCC' begin update DialogColumn set IsToIgnoreOnExport = 1 , IsToIgnoreOnImport = 1  , XDateUpdated = @Xdate , XUserUpdated\r\n = @XUser  from DialogColumn c join DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable  where dbo.QBM_FCVGUIDToModuleOwner( c.UID_DialogColumn\r\n ) = 'MDK' and (IsToIgnoreOnExport = 0 or IsToIgnoreOnImport = 0 ) end  select @DefaultPassword = 'UnableForDialogLogin' select @defaultSalt = '65721' \r\nmerge into DialogUser as t using ( values ('QBM-9A0DB20E74F348ABA56BED38EAA9ADF6', 'sa' , 1, 0)  ) as s (UID_DialogUser , username , IsServiceAccount ,\r\n IsReadOnly ) on t.UID_DialogUser = s.UID_DialogUser when matched then update set t.IsReadOnly = s.IsReadOnly , t.password = @DefaultPassword , t.salt \r\n= @defaultSalt , t.username = s.Username , t.IsServiceAccount = s.IsServiceAccount , t.XdateUpdated = @xdate , t.XUserUpdated = @XUser when not matched\r\n by target  and dbo.QBM_FGIModuleExists(left(s.UID_DialogUser, 3)) = 1 then insert ( UID_DialogUser, username, password, salt, IsReadOnly , XObjectKey \r\n, XUserInserted, XUserUpdated, XDateInserted, XDateUpdated , IsServiceAccount ) values (s.UID_DialogUser, s.Username, @DefaultPassword, @defaultSalt, s.IsReadOnly\r\n , dbo.QBM_FCVElementToObjectKey1('dialoguser', 'uid_dialogUser', s.UID_DialogUser) , @XUser, @XUser, @xdate, @xdate , s.IsServiceAccount ) ;    delete\r\n QBMDBQueueTask  from QBMDBQueueTask de left outer join QBMModuleDef m on LEFT(de.UID_Task , 3) = m.ModuleName where m.UID_ModuleDef is null delete QBMDBQueueTaskDepend\r\n  from QBMDBQueueTaskDepend de left outer join QBMModuleDef m on LEFT(de.UID_TaskPredecessor , 3) = m.ModuleName where m.UID_ModuleDef is null delete QBMDBQueueTaskDepend\r\n  from QBMDBQueueTaskDepend de left outer join QBMModuleDef m on LEFT(de.UID_TaskFollower , 3) = m.ModuleName where m.UID_ModuleDef is null    if dbo.QBM_FGIDBOwner\r\n() = 'CCC' and exists  (select top 1 1 from sys.tables t with (readpast) join sys.columns c with (readpast) on t.object_id = c.object_id where t.name =\r\n 'DialogDatabase' and c.name = 'InitialMigrationRunning' ) begin update DialogConfigParm set Enabled = 1  , XDateUpdated = @Xdate , XUserUpdated = @XUser\r\n where FullPath = 'Common\\Autoupdate' and Enabled = 0 end  if dbo.QBM_FGIDBOwner() = 'CCC' begin if exists (select top 1 1 from QBMBufferConfig cf where\r\n cf.ObjectKeyOfRow = @ObjectKeyOfRow and cf.TableName = @TableName and cf.ColumnName = @ColumnName ) begin update QBMBufferConfig set ContentShort = '0'\r\n  , XDateUpdated = @Xdate , XUserUpdated = @XUser from QBMBufferConfig cf where cf.ObjectKeyOfRow = @ObjectKeyOfRow and cf.TableName = @TableName and cf.ColumnName\r\n = @ColumnName end else begin insert into QBMBufferConfig(UID_QBMBufferConfig, TableName, ColumnName, ObjectKeyOfRow, XDateInserted, XDateUpdated, XUserInserted\r\n, XUserUpdated, ContentShort, HasContentFull, ContentFull ) select newid(), @TableName , @ColumnName, @ObjectKeyOfRow , getutcdate() , getutcdate(), @ActionUser\r\n, @ActionUser , '0', 0, null end end  exec QBM_P195C5572460EC8DDA27B3A3_1 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar\r\n(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDatabaseTriggerDisable",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.89",
      "ModifyDate": "2026-04-14T23:14:10.653",
      "Definition": "  create   procedure QBM_PDatabaseTriggerDisable (@TriggerPattern nvarchar(64) = '%' , @UseTriggerPatternForNotLike bit = 0 ) as begin declare @musterTrigger\r\n nvarchar(1024) declare @SQLcmd nvarchar(max) declare @Triggername nvarchar(64) declare @elements QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex\r\n int declare @JournalMessage nvarchar(1000) declare @DebugSwitch int = 0 declare @DebugLevel varchar(1) = 'I' declare @MessageType varchar(1) = 'W' BEGIN\r\n TRY set nocount on select @musterTrigger = N'disable trigger %triggername% on database ' insert into @elements(LongIdent1) select distinct case @TriggerPattern\r\n when '%' then 'all' else '\"' + t.name + '\"' end as Triggername from sys.triggers t  where parent_class = 0  and is_ms_shipped = 0  and t.is_disabled =\r\n 0 and ( @UseTriggerPatternForNotLike = 0 and t.name like @TriggerPattern or @UseTriggerPatternForNotLike = 1 and t.name not like @TriggerPattern ) order\r\n by 1 select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @TriggerName = bu.LongIdent1 from\r\n @elements bu where bu.ElementIndex = @ElementIndex select @SQLcmd = replace(@musterTrigger, '%triggername%', @Triggername) if @DebugSwitch > 0 begin print\r\n @SQLcmd end  exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLcmd , @LockTimeout_ms = 2500  , @MaxWaitTimeForLock_s = 10  , @ProcIDForJournal = @@procid\r\n , @HandleErrorSilent = 0 , @ExecuteWithTransact = 0 select @ElementIndex += 1 end  if @ElementCount > 0 and exists (select top 1 1 from sys.objects o \r\nwhere o.name = 'QBM_PJournal' and type = 'P' ) begin select @JournalMessage = '#LDS#System elements modified by {0}, pattern {1}, elements affected {2}.|'\r\n + isnull(OBJECT_NAME(@@procid), '') + '|' + @TriggerPattern + '|' + dbo.QBM_FCVIntToString(@ElementCount) + '|'  if not exists (select top 1 1 from DialogDatabase\r\n where IsMainDatabase = 1 and UpdatePhase <> 0) and not exists (select top 1 1 from sys.tables t with (readpast) join sys.columns c with (readpast) on \r\nt.object_id = c.object_id where t.name = 'DialogDatabase' and c.name = 'InitialMigrationRunning' ) begin exec QBM_PJournal @JournalMessage, @@procid, @MessageType\r\n, @DebugLevel end else begin  exec QBM_PJournal @JournalMessage, @@procid, 'I', 'I' end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare\r\n @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel:  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDatabaseTriggerDrop",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:14:10.663",
      "ModifyDate": "2026-04-14T23:14:10.663",
      "Definition": "create   procedure QBM_PDatabaseTriggerDrop (@TriggerPattern nvarchar(64) = '%' ) as begin declare @musterTrigger nvarchar(1024) declare @SQLcmd\r\n nvarchar(max) declare @Triggername nvarchar(64) declare @elements table (ElementIndex int identity NOT NULL , LongIdent1 nvarchar(256) collate database_default\r\n ) declare @ElementCount int declare @ElementIndex int declare @JournalMessage nvarchar(1000) declare @DebugSwitch int = 0 declare @DebugLevel varchar(1\r\n) = 'I' declare @MessageType varchar(1) = 'W' SET XACT_ABORT OFF BEGIN TRY select @musterTrigger = N'drop trigger if exists \"%triggername%\" on database '\r\n insert into @elements(LongIdent1) select t.name as Triggername from sys.triggers t  where parent_class = 0  and is_ms_shipped = 0  and t.name like @TriggerPattern\r\n order by 1 select @ElementCount = count(*) from @elements select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @TriggerName\r\n = bu.LongIdent1 from @elements bu where bu.ElementIndex = @ElementIndex select @SQLcmd = replace(@musterTrigger, '%triggername%', @Triggername) if @DebugSwitch\r\n > 0 begin print @SQLcmd end  exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLcmd , @LockTimeout_ms = 2500  , @MaxWaitTimeForLock_s = 10  , @ProcIDForJournal\r\n = @@procid , @HandleErrorSilent = 0 , @ExecuteWithTransact = 0 select @ElementIndex += 1 end  if @ElementCount > 0 and exists (select top 1 1 from sys.objects\r\n o where o.name = 'QBM_PJournal' and type = 'P' ) begin select @JournalMessage = '#LDS#System elements modified by {0}, pattern {1}, elements affected {2}.|'\r\n + isnull(OBJECT_NAME(@@procid), '') + '|' + @TriggerPattern + '|' + dbo.QBM_FCVIntToString(@ElementCount) + '|'  if not exists (select top 1 1 from DialogDatabase\r\n where IsMainDatabase = 1 and UpdatePhase <> 0) and not exists (select top 1 1 from sys.tables t with (readpast) join sys.columns c with (readpast) on \r\nt.object_id = c.object_id where t.name = 'DialogDatabase' and c.name = 'InitialMigrationRunning' ) begin exec QBM_PJournal @JournalMessage, @@procid, @MessageType\r\n, @DebugLevel end else begin  exec QBM_PJournal @JournalMessage, @@procid, 'I', 'I' end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare\r\n @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel:  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDatabaseTriggerEnable",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.91",
      "ModifyDate": "2026-04-14T23:14:10.673",
      "Definition": "  create   procedure QBM_PDatabaseTriggerEnable (@TriggerPattern nvarchar(64) = '%' , @UseTriggerPatternForNotLike bit = 0 ) as begin declare @musterTrigger\r\n nvarchar(1024) declare @SQLcmd nvarchar(max) declare @Triggername nvarchar(64) declare @elements QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex\r\n int declare @JournalMessage nvarchar(1000) declare @DebugSwitch int = 0 declare @DebugLevel varchar(1) = 'I' declare @MessageType varchar(1) = 'W' BEGIN\r\n TRY set nocount on select @musterTrigger = N'enable trigger %triggername% on database ' insert into @elements(LongIdent1) select case @TriggerPattern \r\nwhen '%' then 'all' else '\"' + t.name + '\"' end as Triggername from sys.triggers t  where parent_class = 0  and is_ms_shipped = 0  and t.is_disabled = \r\n1 and ( @UseTriggerPatternForNotLike = 0 and t.name like @TriggerPattern or @UseTriggerPatternForNotLike = 1 and t.name not like @TriggerPattern ) order\r\n by 1 select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @TriggerName = bu.LongIdent1 from\r\n @elements bu where bu.ElementIndex = @ElementIndex select @SQLcmd = replace(@musterTrigger, '%triggername%', @Triggername) if @DebugSwitch > 0 begin print\r\n @SQLcmd end  exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLcmd , @LockTimeout_ms = 2500  , @MaxWaitTimeForLock_s = 10 , @ProcIDForJournal = @@procid\r\n , @HandleErrorSilent = 0 , @ExecuteWithTransact = 0 select @ElementIndex += 1 end  if @ElementCount > 0 and exists (select top 1 1 from sys.objects o \r\nwhere o.name = 'QBM_PJournal' and type = 'P' ) begin select @JournalMessage = '#LDS#System elements modified by {0}, pattern {1}, elements affected {2}.|'\r\n + isnull(OBJECT_NAME(@@procid), '') + '|' + @TriggerPattern + '|' + dbo.QBM_FCVIntToString(@ElementCount) + '|'  if not exists (select top 1 1 from DialogDatabase\r\n where IsMainDatabase = 1 and UpdatePhase <> 0) and not exists (select top 1 1 from sys.tables t with (readpast) join sys.columns c with (readpast) on \r\nt.object_id = c.object_id where t.name = 'DialogDatabase' and c.name = 'InitialMigrationRunning' ) begin exec QBM_PJournal @JournalMessage, @@procid, @MessageType\r\n, @DebugLevel end else begin  exec QBM_PJournal @JournalMessage, @@procid, 'I', 'I' end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare\r\n @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel:  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDBQCS_AppLockRelease",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.197",
      "ModifyDate": "2026-04-14T23:16:08.943",
      "Definition": " create   procedure QBM_PDBQCS_AppLockRelease as begin declare @ret int = 0 declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() SET\r\n XACT_ABORT OFF BEGIN TRY exec sp_releaseapplock @Resource = 'QBM_PDBQCS_Main' , @LockOwner = 'Session' END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return @ret end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDBQCS_AppLockSet",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.19",
      "ModifyDate": "2026-04-14T23:16:08.94",
      "Definition": " create   procedure QBM_PDBQCS_AppLockSet as begin declare @ret int = 0 declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() declare\r\n @LockRC int SET XACT_ABORT OFF BEGIN TRY exec @LockRC = sp_getapplock @Resource = 'QBM_PDBQCS_Main' , @LockMode = 'Exclusive' , @LockOwner = 'Session'\r\n , @LockTimeout = 1000 , @DbPrincipal = 'public' if @LockRC < 0 begin raiserror ('#LDS#Could not set application lock.|', 18, 1) with nowait end END TRY\r\n BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return @ret end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDBQCS_CurrentMoveSlot",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.25",
      "ModifyDate": "2026-04-14T23:16:08.993",
      "Definition": "   create   procedure QBM_PDBQCS_CurrentMoveSlot( @EntriesToMove QBM_YDBQCSCurrentToMove readonly , @SlotNumberSource int  , @SlotNumberTarget int\r\n    ) as begin declare  @LockTimeout_ms int = 500 , @MaxWaitTimeForLock_s float = 20.0  , @HandleErrorSilent bit = 0  , @DeadlockPriority int = -5  declare\r\n @SQLCmd nvarchar(max) declare @RowsMoved int = 0 declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() declare @Starttime datetime = getutcdate\r\n() declare @CurrentDeadlock_priority int declare @waittime float declare @Success bit = 0  declare @ErrorMessage nvarchar(4000) declare @ErrorSeverity \r\nint declare @ErrorState int declare @TransactionCount int declare @erg int = 0 declare @MyName nvarchar(256) = object_name(@@procid) declare @VersuchNummer\r\n int = 1 declare @FinalMessage nvarchar(1000) = '#LDS#No success after all retries.|' declare @JournalMessage nvarchar(max) declare @ExecuteWithTransact\r\n bit = 1  declare @ErrorBuffer QBM_YSessionError declare @tran1 int declare @tran2 int declare @CountEntriesSessionError int declare @DebugSwitch int =\r\n 0 declare @DebugLevel varchar(1) = 'W' declare @OurOwnMessage nvarchar(max) declare @FinalMisserfolg nvarchar(1000) = '#LDS#No success after all retries.|'\r\n declare @DebugRetries int = -1 declare @DebugWaitSum float = 0.0 SET XACT_ABORT OFF BEGIN TRY if @DebugSwitch = 2 print ' trancount eingang' + str(@@trancount\r\n) if @ExecuteWithTransact = 1 begin begin transaction  end if @DebugSwitch = 2 print ' trancount eingang 2' + str(@@trancount) set nocount on select top\r\n 1 @CurrentDeadlock_priority = s.deadlock_priority FROM sys.dm_exec_sessions s where s.session_id = @@spid select @TransactionCount = @@trancount set deadlock_priority\r\n @DeadlockPriority     select @SQLCmd = concat('set lock_timeout ' , str(@LockTimeout_ms) , ';', '\r\nSET XACT_ABORT OFF;\r\nupdate QBMDBQueueCurrent\r\n\tset Slotnumber = '\r\n, str(@SlotnumberTarget) , '\r\n\tfrom QBMDBQueueCurrent cu join @EntriesToMove mo on cu.UID_DialogDBQueue = mo.UID_DialogDBQueue\r\n\twhere ' ,case when @SlotNumberSource\r\n >= 0 then ' cu.Slotnumber = @SlotNumberSource'  else 'cu.Slotnumber < 0 '  end , '\r\n\t\t\t\t\t\t\t') if @DebugSwitch = 2 print @SQLCmd  select @CountEntriesSessionError\r\n = dbo.QBM_FGISessionErrorCount() while @Success = 0 and convert(float, datediff(ms, @starttime, getutcdate())) < @MaxWaitTimeForLock_s * 1000.0 begin \r\nselect @waittime = (RAND() / 2.0 ) + 0.05 select @DebugRetries += 1 if @ExecuteWithTransact = 1 begin save transaction IchVersuche end BEGIN TRY if @DebugSwitch\r\n = 2 print ' trancount vor execute ' + str(@@trancount)  select @tran1 = @@TRANCOUNT     exec sp_executesql @SQLCmd , N'@EntriesToMove QBM_YDBQCSCurrentToMove  readonly, @SlotNumberSource int'\r\n , @EntriesToMove=@EntriesToMove , @SlotNumberSource = @SlotNumberSource select @RowsMoved = @@ROWCOUNT    select @Success = 1 END TRY BEGIN CATCH if @DebugSwitch\r\n = 2 print 'catch 1' if @DebugSwitch = 2 print ' trancount catch 1' + str(@@trancount) if @DebugSwitch = 2 print ERROR_MESSAGE() select @tran2 = @@TRANCOUNT\r\n if @tran1 = @tran2 -1  begin commit transaction end delete @ErrorBuffer    insert into @ErrorBuffer (ErrorMessage, ErrorSeverity, ErrorState, ErrorNumber\r\n , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode) select ERROR_MESSAGE(),ERROR_SEVERITY(), ERROR_STATE(),\r\n ERROR_NUMBER() , @MyName , ERROR_LINE(), GETUTCDATE() , null, 0, 0, @SQLCmd exec QBM_PSessionErrorAdd @ErrorBuffer END CATCH if @Success = 0 begin if \r\n@DebugSwitch = 2 print '@Success ' + str(@Success) BEGIN TRY if @DebugSwitch = 2 print 'try 1' if @DebugSwitch = 2 print ' trancount 1' + str(@@trancount\r\n) if @ExecuteWithTransact = 1 begin rollback transaction IchVersuche end if @DebugSwitch = 2 print 'try 2' if @DebugSwitch = 2 print ' trancount 2' + str\r\n(@@trancount) END TRY BEGIN CATCH if @DebugSwitch = 2 print 'catch 2'  END CATCH end  if @Success = 1 begin if @DebugSwitch > 0 begin print dbo.QBM_FCVDatetimeToString\r\n(GETUTCDATE()) + ' Versuch geschafft' end end else begin if dbo.QBM_FGISessionErrorIsDeadlock(@ErrorBuffer) = 1 begin exec QBM_PWaitForSeconds @waittime\r\n select @DebugWaitSum += @waittime end else begin   select @Success = -1 continue end end  if @TransactionCount <> @@TRANCOUNT and @ExecuteWithTransact\r\n = 1 begin if @DebugSwitch = 2 print 'transaction Differenz ' + str(@TransactionCount) + str(@@TRANCOUNT) select @OurOwnMessage = concat('#LDS#Expected transaction count {0} does not match existing {1}, called from {2}.|'\r\n , str(isnull(@TransactionCount, 0)) , '|' , str( @@TRANCOUNT) , '|' , @MyName , '|' ) delete @ErrorBuffer insert into @ErrorBuffer (ErrorMessage, ErrorSeverity\r\n, ErrorState, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode) select @OurOwnMessage,18, 1, 50000\r\n , @MyName, 0, GETUTCDATE() , null, 0, 0, @SQLCmd exec QBM_PSessionErrorAdd @ErrorBuffer RAISERROR (@OurOwnMessage, 18, 1) WITH NOWAIT end select @VersuchNummer\r\n += 1 end  if @ExecuteWithTransact = 1 begin commit transaction  end  if @Success in ( 0, -1) begin   if @Success = 0  begin delete @ErrorBuffer insert\r\n into @ErrorBuffer (ErrorMessage, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow\r\n, SourceCode) select @FinalMisserfolg, 18, 1, 50000 , @MyName, 229, GETUTCDATE() , null, 0, 0, @SQLCmd exec QBM_PSessionErrorAdd @ErrorBuffer select @OurOwnMessage\r\n = @FinalMisserfolg end else  begin select @OurOwnMessage = '#LDS#Error exececuting direct sql command.|' end if @HandleErrorSilent = 0 begin if @DebugSwitch\r\n = 2 print 'raise ' + @OurOwnMessage RAISERROR (@OurOwnMessage, 18, 1) WITH NOWAIT end end else begin   while dbo.QBM_FGISessionErrorCount() > @CountEntriesSessionError\r\n begin exec QBM_PSessionErrorClean @LastEntryOnly = 1 end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default , @SQLCmd RAISERROR (@Rethrow, 18, \r\n1) WITH NOWAIT END CATCH endLabel: if @DebugRetries > 0 or @SlotNumberSource < 0 or @SlotNumberTarget < 0 begin select @ErrorMessage = concat( OBJECT_NAME\r\n(@@procid), ' ' , ' retries' , right(str(@DebugRetries), 5) , ' waitsum ', dbo.QBM_FCVFloatToString(@DebugWaitSum) , ' FromSlot' , right(str(@SlotNumberSource\r\n), 5) , ' ToSlot' , right(str(@SlotNumberTarget), 5) , ' RowsMoved', right(str(@RowsMoved), 5) ) exec QBM_PJournal @ErrorMessage, @@procid, 'T', @DebugLevel\r\n end return @RowsMoved end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDBQCS_CurrentRestore",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.39",
      "ModifyDate": "2026-04-14T23:16:09.083",
      "Definition": "        create   procedure QBM_PDBQCS_CurrentRestore ( @ExecutionType int ,@IgnoreGeneration bit = 0 , @UID_TaskPattern varchar(38) = '%'  , @RowsMoved\r\n int = 0 output ) as begin declare @Trans int declare @UID_TaskToMatch varchar(38) declare @GenProcID varchar(38) = newid() declare @PathLength int declare\r\n @DebugStarttime datetime = getutcdate() declare @DebugLevel char(1) = 'I' declare @DebugMessage nvarchar(4000) declare @DebugSwitch int = 0 declare @warFehler\r\n int declare @SecondsToAdd int declare @einRuck int = 1000 declare @AktuelleEintraege QBM_YHelperQueueRepair declare @UID_TaskAutomatedFollower varchar\r\n(38) declare @UID_TaskAutomatedPredecessor varchar(38) select @RowsMoved = 0 declare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMovedDelete int\r\n declare @RestoreToGeneration0 int = -500 declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext\r\n('XUser') declare @validTasks QBM_YCursorBuffer declare @ElementCount int ,@ElementIndex int declare @UIDDBQueueMerken QBM_YSingleGUID  declare @rows int\r\n declare @InMigration bit = 0 SET XACT_ABORT OFF BEGIN TRY select @Trans = @@TRANCOUNT set nocount on if @IgnoreGeneration = 1 begin update QBMDBQueueCurrent\r\n set SlotNumber = -1 where SlotNumber > 0 select @rows = @@rowcount if @rows > 0 begin select @DebugMessage = 'set Current Slotnumber = -1: ' + str(@rows\r\n) exec QBM_PJournal @DebugMessage, @@PROCID, 'T', @DebugLevel end  end  insert into @validTasks(UID1) select x.UID_Task from ( select mo.UID_Task, mo.PathLength\r\n from QBMDBQueueCurrent cu with (readpast, forceSeek) join QBMDBQueueTaskMetric mo with (readpast) on cu.UID_Task = mo.UID_Task where cu.SlotNumber < 0\r\n and cu.UID_Task like @UID_TaskPattern group by mo.UID_Task, mo.PathLength ) as x order by x.PathLength select @ElementCount = @@ROWCOUNT if @ElementCount\r\n = 0 begin if @DebugSwitch > 0 begin print 'definitiv nix gefunden' end goto endLabel end if exists (select top 1 1 from DialogDatabase d with (readpast\r\n) where d.UpdatePhase > 0 ) begin select @InMigration = 1 end if dbo.QBM_FGITableCountAll('QBMDBQueueCurrent') = 0 begin if @DebugSwitch > 0 begin print\r\n 'QBMDBQueueCurrent is leer' end goto endLabel end if @ExecutionType <= 997 begin  exec QBM_PTransactionLevelCheck 0, @@procid, 'entry'  end exec QBM_PSessionContextSet\r\n 'XUser', 'QBM_PDBQueueInsert_Bulk'   select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @UID_TaskToMatch = v.UID1 from @validTasks\r\n v where v.ElementIndex = @ElementIndex  select top 1 @SecondsToAdd = case when @InMigration = 1 then 0 when mo.CountInDBQueue is null then 0 when mo.CountInDBQueue\r\n < 20000 then 0 else mo.CountInDBQueue / 1000 end  + case when @InMigration = 1 then 0 else isnull(mo.RestoreDelay, 0) end , @UID_TaskAutomatedPredecessor\r\n = mo.UID_TaskAutomatedPredecessor , @UID_TaskAutomatedFollower = mo.UID_TaskAutomatedFollower , @PathLength = mo.PathLength from QBMDBQueueTaskMetric \r\nmo with (readpast) where mo.UID_Task = @UID_TaskToMatch delete @UIDDBQueueMerken insert into @UIDDBQueueMerken(UID_SingleGuid) select cu.UID_DialogDBQueue\r\n from QBMDBQueueCurrent cu with (readpast) where (cu.SlotNumber < 0 and cu.UID_Task = @UID_TaskToMatch ) and (dbo.QBM_FGIDBQueueCurrRestoreAble(cu.Generation\r\n, cu.StartedAt, @SecondsToAdd)= 1 or @IgnoreGeneration = 1 or cu.SlotNumber <= @RestoreToGeneration0 or @InMigration = 1 ) if @@ROWCOUNT = 0 begin goto\r\n zyklusende end if @UID_TaskAutomatedFollower > ' ' begin exec QBM_PDBQueueInsert_Single @UID_TaskAutomatedFollower, '', '', @GenProcID end if @UID_TaskAutomatedPredecessor\r\n > ' ' begin exec QBM_PDBQueueInsert_Single @UID_TaskAutomatedPredecessor, '', '', @GenProcID end   set lock_timeout 800 begin transaction   BEGIN TRY \r\n select @warFehler = 0   delete  @AktuelleEintraege  insert into @AktuelleEintraege (UID_DialogDBQueue, Object, SubObject , Generation, GenProcID, PathLength\r\n, UID_Task) select top (@einRuck) cu.UID_DialogDBQueue, isnull(cu.UID_Parameter, ''), isnull(cu.UID_SubParameter, '') , case  when cu.SlotNumber <= @RestoreToGeneration0\r\n then -1 else cu.Generation end , cu.GenProcID, @PathLength, cu.UID_Task from @UIDDBQueueMerken me join QBMDBQueueCurrent cu with (readpast, forceseek)\r\n on me.UID_SingleGuid = cu.UID_DialogDBQueue  merge into DialogDBQueue as t using @AktuelleEintraege as s on t.UID_DialogDBQueue = s.UID_DialogDBQueue \r\nand t.Generation >= 0 when matched then update set t.generation = s.Generation + 1 when not matched by target then insert (UID_DialogDBQueue, Object, SubObject\r\n , Generation , GenProcID , PathLength, UID_Task ) values (convert(varchar(38), newid()) , case when s.Object = '' then null else s.Object end , case when\r\n s.SubObject = '' then null else s.SubObject end , s.Generation +1 , case when len(isnull(s.GenProcID, '') ) < 36 then convert(varchar(38), newid()) else\r\n s.GenProcID end , s.PathLength, s.UID_Task ) ; delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select cul.UID_DialogDBQueue from \r\n@AktuelleEintraege cul exec @RowsMovedDelete = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove , @SlotNumberSource = -1  , @SlotnumberTarget = 0 select @RowsMoved\r\n += @RowsMovedDelete END TRY BEGIN CATCH select @warFehler = -1  exec QBM_PSessionErrorAdd default if dbo.QBM_FGISessionErrorIsDeadlock(default) = 1 begin\r\n select @warFehler = 1  end END CATCH if @warFehler = 0 begin commit transaction end else begin rollback if @warFehler = 1 begin exec QBM_PWaitForSeconds\r\n 0.05 end else begin raiserror ('', 18, 1) with nowait end end  set lock_timeout -1 if @warFehler = 0 begin select @DebugMessage = 'restore from Current '\r\n + @UID_TaskToMatch exec QBM_PJournal @DebugMessage, @@PROCID, 'T', @DebugLevel end zyklusende: select @ElementIndex += 1 end  exec QBM_PSessionContextSet\r\n'XUser', '' exec QBM_PTransactionLevelCheck @trans, @@procid, 'exit' END TRY BEGIN CATCH  set lock_timeout -1 exec QBM_PSessionErrorAdd default if dbo.QBM_FGIsessionErrorIsMissingCO\r\n(default)= 0 begin rollback transaction declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT end END\r\n CATCH endLabel:  exec QBM_PJournal @Debugstarttime, @@procid, 'T', @Debuglevel exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet\r\n 'XUser', @XUser_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDBQCS_SlotExec",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.3",
      "ModifyDate": "2026-04-14T23:16:09.023",
      "Definition": "   create   procedure QBM_PDBQCS_SlotExec (@SlotNumber int , @UID_Task varchar(38)  , @CountParameter int  , @Procedurename varchar(30) , @IsWithoutTransaction\r\n bit   , @ChangeLimit int , @isBulkenabled bit , @CountRowsProcessed int output   , @ChangedElements int output    , @OverLoadCount int output    , @InsertedSomethingInQueue\r\n int output   ) as begin declare @Msg nvarchar(1000) = newid() declare @MyProcname nvarchar(256) = 'QBM_DBQueueProcess'  declare @GenProcID varchar(38)\r\n declare @RunnerResult int    declare @ExecutionType int  = case when @SlotNumber < 997 then 0 else @SlotNumber end declare @CountToProcessAfterReplace\r\n int , @CountReallyProcessed int = 0 declare @SQLCmd nvarchar(max) declare @DebugSwitch int = 0 declare @DebugLevel varchar(1) = 'I' declare @DebugMessage\r\n nvarchar(1000) declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser') declare\r\n @DeadlockPriority int = -5  declare @ErrorBuffer QBM_YSessionError declare @ChangeLimitString varchar(64)  SET XACT_ABORT OFF if @DebugLevel = 'T' begin\r\n declare @TracePathlength int select top 1 @TracePathlength = m.PathLength from QBMDBQueueTaskMetric m where m.UID_Task = @UID_Task declare @TraceMessage\r\n nvarchar(max) select @TraceMessage = concat('QBM_PDBQCS_SlotExec ', convert(char(36), @UID_Task) , ' Pathlength ', str(@TracePathlength) , ' Slot ' , \r\nstr(@SlotNumber) ) exec QBM_PJournal @TraceMessage, @@procid, 'T', @DebugLevel end BEGIN TRY exec QBM_PSessionContextSet 'INSERTEDINTODBQUEUE', '' exec\r\n QBM_PTransactionLevelCheck 0, @@procid, 'Eintritt muß transaktionsfrei sein' exec QBM_PSessionErrorClean   set deadlock_priority @DeadlockPriority select\r\n @SQLCmd = dbo.QBM_FSQConnectionSettings() exec sp_executeSQL @SQLCmd exec QBM_PSessionContextSet 'OVERLOADREACHED', '' exec QBM_PSessionContextSet 'CHANGELIMITREACHED'\r\n, '' exec QBM_PSessionContextSet 'CHANGELIMITTIMEFORDELTA', ''  set nocount on exec QBM_PSessionContextSet 'GenProcID', @GenProcID exec QBM_PSessionContextSet\r\n 'XUser', @MyProcname if @SlotNumber <= 997 begin  exec QBM_PTransactionLevelCheck 0, @@procid, 'point a' end  if object_id('tempdb..#QBMDeltaInsert') \r\nis null begin CREATE TABLE #QBMDeltaInsert ( Element varchar(38) collate database_default not null , AssignedElement varchar(138) collate database_default\r\n not null , XOrigin int DEFAULT 0 , XIsInEffect bit default 0 , NewPK varchar(38) collate database_default null , GenProcID varchar(38) collate database_default\r\n  , TargetTableView varchar(30) collate database_default , ElementColumnView varchar(30) collate database_default , AssignedElementColumnView varchar(30\r\n) collate database_default , index #QBMDeltaInsert1 (Element, AssignedElement, GenProcID ) , index #QBMDeltaInsert2 (GenProcID ) ) create index #QBMDeltaInsert3\r\n on #QBMDeltaInsert(AssignedElement ) include (Element) end else begin truncate table #QBMDeltaInsert end if object_id('tempdb..#QBMDeltaDelete') is null\r\n begin CREATE TABLE #QBMDeltaDelete ( Element varchar(38) collate database_default not null , AssignedElement varchar(138) collate database_default not\r\n null , GenProcID varchar(38) collate database_default  , TargetTableView varchar(30) collate database_default , ElementColumnView varchar(30) collate \r\ndatabase_default , AssignedElementColumnView varchar(30) collate database_default , index #QBMDeltaDelete1 (Element, AssignedElement, GenProcID) , index\r\n #QBMDeltaDelete2 (GenProcID) ) create index #QBMDeltaDelete3 on #QBMDeltaDelete(AssignedElement ) include (Element) end else begin truncate table #QBMDeltaDelete\r\n end if object_id('tempdb..#QBMDeltaQuantity') is null begin CREATE TABLE #QBMDeltaQuantity ( Element  varchar(38) collate database_default not null , \r\nGenProcID varchar(38) collate database_default PRIMARY KEY NONCLUSTERED (Element) ) end else begin truncate table #QBMDeltaQuantity end if object_id('tempdb..#QBMDeltaOrigin'\r\n) is null begin CREATE TABLE #QBMDeltaOrigin ( Element varchar(38) collate database_default not null , AssignedElement varchar(138) collate database_default\r\n not null , GenProcID varchar(38) collate database_default , XOrigin int DEFAULT 0 , XIsInEffect bit default 0 , index #QBMDeltaOrigin1 (Element, AssignedElement\r\n, GenProcID) , index #QBMDeltaOrigin2 (GenProcID) ) create index #QBMDeltaOrigin3 on #QBMDeltaOrigin(AssignedElement ) include (Element) end else begin\r\n truncate table #QBMDeltaOrigin end if object_id('tempdb..#QBMDBQueueTemp') is null begin   Create Table #QBMDBQueueTemp ( UID_Task varchar(38) collate\r\n database_default NULL , Object varchar(38) collate database_default NULL , SubObject varchar(38) collate database_default NULL , GenProcID varchar(38)\r\n collate database_default NOT NULL , index #QBMDBQueueTemp(UID_Task ) ) end else begin truncate table #QBMDBQueueTemp end if object_id('tempdb..#JobQueue'\r\n) is null begin  Create Table #JobQueue( UID_Job varchar(38) collate database_default NOT NULL , UID_JobSameServer varchar(38) collate database_default\r\n NULL , UID_Tree varchar(38) collate database_default NOT NULL , Queue nvarchar(128) collate database_default NOT NULL , ComponentClass nvarchar(200) collate\r\n database_default NULL , ExecutionType nvarchar(16) collate database_default NULL , ComponentAssembly nvarchar(255) collate database_default NULL , TaskName\r\n nvarchar(64) collate database_default NOT NULL , ParamIN nvarchar(max) collate database_default NULL , Ready2EXE nvarchar(32) collate database_default\r\n NOT NULL , StartAt datetime NULL , XDateInserted datetime NULL , XDateUpdated datetime NULL , XUserInserted nvarchar(64) collate database_default NULL\r\n , XUserUpdated nvarchar(64) collate database_default NULL , Retries int default 0 NULL , Priority int default 0 NULL , DeferOnError bit default 0 NULL\r\n , MinutesToDefer int default 0 NULL , UID_JobError varchar(38) collate database_default NULL , UID_JobSuccess varchar(38) collate database_default NULL\r\n , IgnoreErrors bit default 0 NULL , MaxInstance int default 0 NULL , JobChainName nvarchar(255) collate database_default NOT NULL  , IsSplitOnly bit default\r\n 0 NULL , WasError bit default 0 NULL , ErrorNotify bit default 0 NULL          , IsRootJob bit default 0 NULL , GenProcID varchar(38) collate database_default\r\n NOT NULL  , IsToFreezeOnError bit default 0 NULL   , BasisObjectKey varchar(138) collate database_default NULL      , primary key nonCLUSTERED (UID_Job\r\n) ) end else begin truncate table #JobQueue end if object_id('tempdb..#QBMElementAffectedByJob') is null begin Create Table #QBMElementAffectedByJob( UID_Job\r\n varchar(38) collate database_default NOT NULL , ObjectKeyAffected varchar(138) collate database_default NOT NULL ) end else begin truncate table #QBMElementAffectedByJob\r\n end  if @SlotNumber <= 997 begin  exec QBM_PTransactionLevelCheck 0, @@procid, 'point b' end exec QBM_PDBQueueReplGenProcID @UID_Task, @SlotNumber, @ExecutionType\r\n, @CountParameter select top 1 @CountToProcessAfterReplace = COUNT(*) from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @CountToProcessAfterReplace\r\n = 0 begin if @DebugSwitch > 0 begin select @DebugMessage = CONCAT( OBJECT_NAME(@@procid) , ' empty DBQueueCurrent after QBM_PDBQueueReplGenProcID ' , \r\n' UID_Task = ', case when ISNULL(@UID_Task, '') = '' then ' <empty> ' else @UID_Task end ) exec QBM_PJournal @DebugMessage, @@procid, 'D', @DebugLevel \r\nend select @RunnerResult = 1  goto ArbeitGetan end     if @ExecutionType = 997 begin   if exists (select top 1 1 from DialogDatabase d where d.UID_CutOffTask\r\n > ' ' ) begin goto ArbeitGetan end end  BEGIN TRY  exec QBM_PSessionContextSet 'GenProcID', @GenProcID exec QBM_PSessionContextSet 'XUser', @MyProcname\r\n  if @DebugSwitch > 0 begin print 'Aufruf runner , slot = ' + str(@SlotNumber) + 'task = ' + isnull(@uid_Task, '<null>') end  select @ChangeLimitString\r\n = dbo.QBM_FCVIntToString(@ChangeLimit) exec QBM_PSessionContextSet 'CHANGELIMIT', @ChangeLimitString exec QBM_PSessionContextSet 'CHANGELIMITREACHED',\r\n '' exec QBM_PSessionContextSet 'OVERLOADREACHED', '' exec @RunnerResult = QBM_PDBQCS_SlotRunner @SlotNumber = @SlotNumber  , @UID_Task = @UID_Task , @ProcedureToCall\r\n = @Procedurename , @IsWithoutTransaction = @IsWithoutTransaction  , @isBulkenabled = @isBulkenabled , @CountReallyProcessed = @CountReallyProcessed output\r\n    select @CountRowsProcessed = @CountReallyProcessed  select @ChangedElements = case @CountRowsProcessed when 0 then 0  else dbo.QBM_FCVStringToInt(dbo.QBM_FGISessionContext\r\n('CHANGELIMITREACHED'), 0) end select @OverLoadCount = dbo.QBM_FCVStringToInt(dbo.QBM_FGISessionContext('OVERLOADREACHED'), 0) if @DebugSwitch > 0 begin\r\n print 'nach  runner , @RunnerResult =  ' + str(@RunnerResult) end  END TRY BEGIN CATCH  delete @ErrorBuffer insert into @ErrorBuffer (ErrorMessage, ErrorSeverity\r\n, ErrorState, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode) select concat('Task execution error, not caught by runner '\r\n , @uid_Task , NCHAR(13) , NCHAR(10) , ERROR_MESSAGE()) ,18, 1, 50000 , Object_name(@@PROCID), ERROR_LINE(), GETUTCDATE() , null, 0, 0, null exec QBM_PSessionErrorAdd\r\n @ErrorBuffer   exec QBM_PJournal 'SessionError', @@procid, 'W', @DebugLevel exec QBM_PSessionErrorClean END CATCH    declare @SlotNumberSource int declare\r\n @SlotNumberTarget int declare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved int ArbeitGetan:    if @RunnerResult = 1  begin  select @SlotNumberSource\r\n = @SlotNumber select @SlotnumberTarget = dbo.QBM_FGIDBQueueSlotResetType('Error03') delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue\r\n) select cul.UID_DialogDBQueue from QBMDBQueueCurrent cul with (readpast) where cul.SlotNumber = @SlotNumber exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot\r\n @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget               end  if @RunnerResult = -1  begin  select @SlotNumberSource = @SlotNumber select @SlotnumberTarget\r\n = dbo.QBM_FGIDBQueueSlotResetType('Error04') delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select cul.UID_DialogDBQueue from QBMDBQueueCurrent\r\n cul with (readpast) where cul.SlotNumber = @SlotNumber exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget\r\n               end  if exists (select top 1 1 from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber ) begin  select @SlotNumberSource\r\n = @SlotNumber select @SlotnumberTarget = dbo.QBM_FGIDBQueueSlotResetType('Garbage02') delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue\r\n) select cul.UID_DialogDBQueue from QBMDBQueueCurrent cul with (readpast) where cul.SlotNumber = @SlotNumber exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot\r\n @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget               end exec QBM_PSessionErrorClean END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende:  endLabel:  truncate table #QBMDeltaInsert truncate table #QBMDeltaDelete truncate table #QBMDeltaQuantity\r\n truncate table #QBMDeltaOrigin truncate table #QBMDBQueueTemp truncate table #JobQueue truncate table #QBMElementAffectedByJob select @InsertedSomethingInQueue\r\n = dbo.QBM_FCVStringToInt(dbo.QBM_FGISessionContext( 'INSERTEDINTODBQUEUE'), 0)  exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet\r\n 'XUser', @XUser_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 1,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDBQCS_SlotFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.46",
      "ModifyDate": "2026-04-14T23:16:09.127",
      "Definition": "   create   procedure QBM_PDBQCS_SlotFill ( @SlotNumber int , @UID_TaskToStart varchar(38) , @MaxBulk int   , @CountParameter int , @SearchPattern\r\n varchar(64)  , @RowsReadFromDBQueue int output    , @RowsFilledIntoCurrent int output     , @WasNoSuccess bit = 0 output   ) as begin declare @ErrorInLoadCurrent\r\n bit = 0 declare @DebugLevel char(1) = 'I' declare @DebugSwitch int = 0 declare @Message nvarchar(1000)    declare @SlotNumberSource int declare @SlotNumberTarget\r\n int declare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved int declare @SQLMoveCmd nvarchar(max) declare @FehlerImExec bit = 0   SET XACT_ABORT\r\n OFF if @DebugSwitch > 0 begin declare @TracePathlength int select top 1 @TracePathlength = m.PathLength from QBMDBQueueTaskMetric m where m.UID_Task =\r\n @UID_TaskToStart declare @TraceMessage nvarchar(max) select @TraceMessage = concat('QBM_PDBQCS_SlotFill ', convert(char(36), @UID_TaskToStart) , ' Pathlength '\r\n, str(@TracePathlength) , ' Slot ' , str(@SlotNumber) , ' Search ' , @SearchPattern ) exec QBM_PJournal @TraceMessage, @@procid, 'T', @DebugLevel end BEGIN\r\n TRY exec QBM_PTransactionLevelCheck 0, @@procid, 'Eintritt muß transaktionsfrei sein' drop table if exists #UIDUmsetz create table #UIDUmsetz ( UID_DialogDBQueue\r\n varchar(38) collate database_default NOT NULL , UID_Parameter varchar(38) collate database_default NULL , UID_SubParameter varchar(38) collate database_default\r\n NULL , SlotNumber int default 0  , index QBM_YHelperQueueSlotFill1 (UID_Parameter, UID_SubParameter) , index QBM_YHelperQueueSlotFill2 (UID_DialogDBQueue\r\n) )  if @CountParameter = 0 begin insert into #UIDUmsetz(UID_DialogDBQueue, SlotNumber) select top (@MaxBulk) q.UID_DialogDBQueue, @SlotNumber from DialogDBQueue\r\n q with (readpast)  where q.UID_Task = @UID_TaskToStart   and q.Generation >= 0 select @RowsReadFromDBQueue = @@ROWCOUNT  if @RowsReadFromDBQueue > 0 begin\r\n insert into #UIDUmsetz(UID_DialogDBQueue, SlotNumber) select q.UID_DialogDBQueue, @SlotNumber from DialogDBQueue q with (readpast)  where UID_Task = @UID_TaskToStart\r\n  and q.Generation >= 0 and not exists (select top 1 1 from #UIDUmsetz qe where qe.UID_DialogDBQueue = q.UID_DialogDBQueue ) select @RowsReadFromDBQueue\r\n += @@ROWCOUNT end  end  if @CountParameter = 1 begin insert into #UIDUmsetz(UID_DialogDBQueue, UID_Parameter, SlotNumber) select top (@MaxBulk) q.UID_DialogDBQueue\r\n, q.Object, @SlotNumber from DialogDBQueue q with (readpast)  where q.UID_Task = @UID_TaskToStart and q.Object like @SearchPattern   and q.Generation >=\r\n 0 select @RowsReadFromDBQueue = @@ROWCOUNT if @RowsReadFromDBQueue > 0 begin  insert into #UIDUmsetz (UID_DialogDBQueue, UID_Parameter, SlotNumber) select\r\n distinct q.UID_DialogDBQueue, q.object, @SlotNumber  from DialogDBQueue q with (readpast) join #UIDUmsetz p on p.UID_Parameter = q.object  where q.UID_Task\r\n = @UID_TaskToStart  and q.Generation >= 0 and not exists (select top 1 1 from #UIDUmsetz qe where qe.UID_DialogDBQueue = q.UID_DialogDBQueue ) select \r\n@RowsReadFromDBQueue += @@ROWCOUNT end  end  if @CountParameter = 2 begin insert into #UIDUmsetz(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, SlotNumber\r\n) select top (@MaxBulk) q.UID_DialogDBQueue, q.Object, q.SubObject, @SlotNumber from DialogDBQueue q with (readpast)  where q.UID_Task = @UID_TaskToStart\r\n and q.Object like @SearchPattern  and q.Generation >= 0 select @RowsReadFromDBQueue = @@ROWCOUNT if @RowsReadFromDBQueue > 0 begin  insert into #UIDUmsetz\r\n(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, SlotNumber) select distinct q.UID_DialogDBQueue, q.object, q.subobject, @SlotNumber  from DialogDBQueue\r\n q with (readpast ) join #UIDUmsetz p on p.UID_Parameter = q.object   and p.UID_SubParameter = q.Subobject where q.UID_Task = @UID_TaskToStart  and q.Generation\r\n >= 0 and not exists (select top 1 1 from #UIDUmsetz qe where qe.UID_DialogDBQueue = q.UID_DialogDBQueue ) select @RowsReadFromDBQueue += @@ROWCOUNT end\r\n  end    if exists (select top 1 1 from QBMDBQueueCurrent with (readpast) where SlotNumber = @SlotNumber ) begin select @SlotNumberSource = @SlotNumber\r\n select @SlotnumberTarget = dbo.QBM_FGIDBQueueSlotResetType('Garbage01') delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select cul.UID_DialogDBQueue\r\n from QBMDBQueueCurrent cul with (readpast) where cul.SlotNumber = @SlotNumber exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource\r\n, @SlotnumberTarget              if @DebugSwitch > 0 begin select @Message = 'Slot ausgeputzt ' exec QBM_PJournal @message , @@procid, 'D', @Debuglevel\r\n end end  if @DebugSwitch > 0 begin select @Message = concat('@RowsReadFromDBQueue ', trim(str(@RowsReadFromDBQueue)) , ' sätze ' , ' Slot #', trim(str\r\n(@SlotNumber))) exec QBM_PJournal @message , @@procid, 'T', @DebugLevel end if @RowsReadFromDBQueue = 0 begin goto endlabel end  select @RowsFilledIntoCurrent\r\n = @RowsReadFromDBQueue          select @SQLMoveCmd = '\r\n \t\t\t\tinsert into QBMDBQueueCurrent \r\n\t\t\t\t\t(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, SlotNumber, UID_Task, GenProcID, Generation, StartedAt  )\r\n\t\t\t\tselect q.UID_DialogDBQueue, q.Object, q.SubObject, u.SlotNumber, q.UID_Task, q.GenProcID , q.Generation, getutcdate() \r\n\t\t\t\t\tfrom DialogDBQueue q /*with (readpast) */ join #UIDUmsetz u on q.UID_DialogDBQueue = u.UID_DialogDBQueue\r\n\t\t\t\t-- noch ein Hosenträger, den wir erst mal weglassen:\r\n\t\t\t\t--\t\t\t\t\t\t\t\t\t\tleft outer join QBMDBQueueCurrent cu with (readpast) on cu.UID_DialogDBQueue = q.UID_DialogDBQueue\r\n\t\t\t\t--where cu.UID_DialogDBQueue is null\r\n\r\n\t\t\t\t; update DialogDBQueue \r\n\t\t\t\t\tset Generation = -1\r\n\t\t\t\t FROM DialogDBQueue q join #UIDUmsetz u on q.UID_DialogDBQueue = u.UID_DialogDBQueue\r\n\t\t\t\t-- noch ein Hosenträger, den wir erst mal weglassen:\r\n\t\t\t\t\t\t\t\t\t--join QBMDBQueueCurrent cu with (readpast) on cu.UID_DialogDBQueue = q.UID_DialogDBQueue\r\n\t\t\t\t\t-- falls Wiederholversuche anfallen\r\n\t\t\t\t --where q.Generation >= 0\r\n\t\t\t\t '\r\n BEGIN TRY exec @RowsFilledIntoCurrent = QBM_PExecuteSQLWithRetry_LLP @SQLMoveCmd , @LockTimeout_ms = 500  , @MaxWaitTimeForLock_s = 8.0  , @ProcIDForJournal\r\n = null  , @HandleErrorSilent = 1   , @DeadlockPriority = 0 , @ExecuteWithTransact = 1  , @ErrorInExecute = @FehlerImExec output  select @WasNoSuccess \r\n= @FehlerImExec END TRY BEGIN CATCH select @WasNoSuccess = 1 exec QBM_PSessionErrorClean END CATCH                                                 END \r\nTRY BEGIN CATCH select @WasNoSuccess = 1 END CATCH BEGIN TRY truncate table #UIDUmsetz END TRY BEGIN CATCH END CATCH BEGIN TRY  if @@TRANCOUNT > 0 begin\r\n rollback transaction select @WasNoSuccess = 1 end END TRY BEGIN CATCH  select @WasNoSuccess = 1 END CATCH   endLabel: if @WasNoSuccess = 1 begin exec \r\nQBM_PJournal '@WasNoSuccess = 1', @@procid, 'T', @DebugLevel end return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDBQCS_SlotFill_Range",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-09-22T13:33:34.707",
      "ModifyDate": "2026-04-14T23:16:09.12",
      "Definition": "   create   procedure QBM_PDBQCS_SlotFill_Range ( @SlotNumber int , @UID_TaskToStart varchar(38) , @MaxBulk int  , @LowerBound varchar(64)   , @UpperBound\r\n varchar(64)    , @CountParameter int , @RowsReadFromDBQueue int output    , @RowsFilledIntoCurrent int output     , @WasNoSuccess bit = 0 output   ) as\r\n begin declare @ErrorInLoadCurrent bit = 0 declare @DebugLevel char(1) = 'I' declare @DebugSwitch int = 0 declare @Message nvarchar(1000)   declare @SlotNumberSource\r\n int declare @SlotNumberTarget int declare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved int declare @SQLMoveCmd nvarchar(max) declare @FehlerImExec\r\n bit = 0   SET XACT_ABORT OFF if @DebugSwitch > 0 begin declare @TracePathlength int select top 1 @TracePathlength = m.PathLength from QBMDBQueueTaskMetric\r\n m where m.UID_Task = @UID_TaskToStart declare @TraceMessage nvarchar(max) select @TraceMessage = concat('QBM_PDBQCS_SlotFill_Range ', convert(char(36)\r\n, @UID_TaskToStart) , ' Pathlength ', str(@TracePathlength) , ' Slot ' , str(@SlotNumber) , ' Search ' , @LowerBound, ' ', @UpperBound ) exec QBM_PJournal\r\n @TraceMessage, @@procid, 'T', @DebugLevel end BEGIN TRY exec QBM_PTransactionLevelCheck 0, @@procid, 'Eintritt muß transaktionsfrei sein' drop table if\r\n exists #UIDUmsetz create table #UIDUmsetz ( UID_DialogDBQueue varchar(38) collate database_default NOT NULL , UID_Parameter varchar(38) collate database_default\r\n NULL , UID_SubParameter varchar(38) collate database_default NULL ) create index #QBM_YHelperQueueSlotFill2 on #UIDUmsetz (UID_DialogDBQueue)  if @CountParameter\r\n = 0 begin  drop index if exists #UIDUmsetz.#QBM_YHelperQueueSlotFill2 insert into #UIDUmsetz(UID_DialogDBQueue) select top (@MaxBulk) q.UID_DialogDBQueue\r\n from DialogDBQueue q with (readpast, index (QBM_XC5DialogDBQueue), ForceSeek)  where q.UID_Task = @UID_TaskToStart   and q.Generation >= 0 select @RowsReadFromDBQueue\r\n = @@ROWCOUNT create index #QBM_YHelperQueueSlotFill2 on #UIDUmsetz (UID_DialogDBQueue)   if @RowsReadFromDBQueue > 0 begin insert into #UIDUmsetz(UID_DialogDBQueue\r\n) select q.UID_DialogDBQueue from DialogDBQueue q with (readpast, index (QBM_XC5DialogDBQueue), ForceSeek)  where UID_Task = @UID_TaskToStart  and q.Generation\r\n >= 0 and not exists (select top 1 1 from #UIDUmsetz qe with (index(#QBM_YHelperQueueSlotFill2), ForceSeek) where qe.UID_DialogDBQueue = q.UID_DialogDBQueue\r\n ) select @RowsReadFromDBQueue += @@ROWCOUNT end  end  if @CountParameter = 1 begin  drop index if exists #UIDUmsetz.#QBM_YHelperQueueSlotFill2 insert \r\ninto #UIDUmsetz(UID_DialogDBQueue, UID_Parameter) select top (@MaxBulk) q.UID_DialogDBQueue, q.Object from DialogDBQueue q with (readpast, index (QBM_XC8DialogDBQueue\r\n), forceseek)  where q.UID_Task = @UID_TaskToStart and q.Object >= @LowerBound and q.Object < @UpperBound   and q.Generation >= 0 select @RowsReadFromDBQueue\r\n = @@ROWCOUNT create index #QBM_YHelperQueueSlotFill2 on #UIDUmsetz (UID_DialogDBQueue)  if @RowsReadFromDBQueue > 0 begin  insert into #UIDUmsetz (UID_DialogDBQueue\r\n, UID_Parameter) select distinct q.UID_DialogDBQueue, q.object  from DialogDBQueue q with (readpast, index (QBM_XC8DialogDBQueue), ForceSeek) join #UIDUmsetz\r\n p with (forceScan) on p.UID_Parameter = q.object  where q.UID_Task = @UID_TaskToStart  and q.Generation >= 0 and not exists (select top 1 1 from #UIDUmsetz\r\n qe with (index(#QBM_YHelperQueueSlotFill2), ForceSeek) where qe.UID_DialogDBQueue = q.UID_DialogDBQueue ) select @RowsReadFromDBQueue += @@ROWCOUNT end\r\n  end  if @CountParameter = 2 begin  drop index if exists #UIDUmsetz.#QBM_YHelperQueueSlotFill2 insert into #UIDUmsetz(UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter) select top (@MaxBulk) q.UID_DialogDBQueue, q.Object, q.SubObject from DialogDBQueue q with (readpast, index (QBM_XC8DialogDBQueue),\r\n ForceSeek)  where q.UID_Task = @UID_TaskToStart and q.Object >= @LowerBound and q.Object < @UpperBound  and q.Generation >= 0 select @RowsReadFromDBQueue\r\n = @@ROWCOUNT create index #QBM_YHelperQueueSlotFill2 on #UIDUmsetz (UID_DialogDBQueue)  if @RowsReadFromDBQueue > 0 begin  insert into #UIDUmsetz(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter) select distinct q.UID_DialogDBQueue, q.object, q.subobject  from DialogDBQueue q with (readpast , index (QBM_XC8DialogDBQueue\r\n), ForceSeek) join #UIDUmsetz p with (ForceScan) on p.UID_Parameter = q.object  and p.UID_SubParameter = q.Subobject where q.UID_Task = @UID_TaskToStart\r\n  and q.Generation >= 0 and not exists (select top 1 1 from #UIDUmsetz qe with (index(#QBM_YHelperQueueSlotFill2), ForceSeek) where qe.UID_DialogDBQueue\r\n = q.UID_DialogDBQueue ) select @RowsReadFromDBQueue += @@ROWCOUNT end  end    if exists (select top 1 1 from QBMDBQueueCurrent with (readpast) where SlotNumber\r\n = @SlotNumber ) begin select @SlotNumberSource = @SlotNumber select @SlotnumberTarget = dbo.QBM_FGIDBQueueSlotResetType('Garbage01') delete @DBQueueToMove\r\n  insert into @DBQueueToMove(UID_DialogDBQueue) select cul.UID_DialogDBQueue from QBMDBQueueCurrent cul with (readpast) where cul.SlotNumber = @SlotNumber\r\n exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget if @DebugSwitch > 0 begin select @Message = 'Slot ausgeputzt '\r\n exec QBM_PJournal @message , @@procid, 'D', @Debuglevel end end  if @DebugSwitch > 0 begin select @Message = concat('@RowsReadFromDBQueue ', trim(str(@RowsReadFromDBQueue\r\n)) , ' sätze ' , ' Slot #', trim(str(@SlotNumber))) exec QBM_PJournal @message , @@procid, 'T', @DebugLevel end if @RowsReadFromDBQueue = 0 begin goto \r\nendlabel end  select @RowsFilledIntoCurrent = @RowsReadFromDBQueue       select @SQLMoveCmd = concat( 'declare @JustNow datetime = getutcdate()\r\n\t\t\t\t',\r\n 'insert into QBMDBQueueCurrent \r\n\t\t\t\t\t(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, SlotNumber, UID_Task, GenProcID, Generation, StartedAt  )\r\n\t\t\t\tselect q.UID_DialogDBQueue, q.Object, q.SubObject, '\r\n, str(@SlotNumber) , ', q.UID_Task, q.GenProcID , q.Generation, @JustNow\r\n\t\t\t\t\tfrom DialogDBQueue q with (readpast, ForceSeek) join #UIDUmsetz u with (ForceScan) on q.UID_DialogDBQueue = u.UID_DialogDBQueue\r\n\t\t\t\t\t'\r\n    , '; ', 'update DialogDBQueue \r\n\t\t\t\t\tset Generation = -1\r\n\t\t\t\t FROM DialogDBQueue q with (ForceSeek) join #UIDUmsetz u with (ForceScan) on q.UID_DialogDBQueue = u.UID_DialogDBQueue\r\n\t\t\t\t '\r\n     ) BEGIN TRY exec @RowsFilledIntoCurrent = QBM_PExecuteSQLWithRetry_LLP @SQLMoveCmd , @LockTimeout_ms = 500  , @MaxWaitTimeForLock_s = 8.0  , @ProcIDForJournal\r\n = null  , @HandleErrorSilent = 1   , @DeadlockPriority = 0 , @ExecuteWithTransact = 1  , @ErrorInExecute = @FehlerImExec output  select @WasNoSuccess \r\n= @FehlerImExec END TRY BEGIN CATCH select @WasNoSuccess = 1 exec QBM_PSessionErrorClean END CATCH END TRY BEGIN CATCH select @WasNoSuccess = 1 END CATCH\r\n BEGIN TRY truncate table #UIDUmsetz END TRY BEGIN CATCH END CATCH BEGIN TRY  if @@TRANCOUNT > 0 begin rollback transaction select @WasNoSuccess = 1 end\r\n END TRY BEGIN CATCH  select @WasNoSuccess = 1 END CATCH  endLabel: if @WasNoSuccess = 1 begin exec QBM_PJournal '@WasNoSuccess = 1', @@procid, 'T', @DebugLevel\r\n end return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDBQCS_SlotReset",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-09-22T13:33:34.96",
      "ModifyDate": "2026-04-14T23:16:09.247",
      "Definition": "   create   procedure QBM_PDBQCS_SlotReset (@SlotNumberCrashed int) as begin declare @ret int = 0 declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() declare @SlotNumberTarget int = dbo.QBM_FGIDBQueueSlotResetType('Error04') declare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved int SET\r\n XACT_ABORT OFF BEGIN TRY insert into @DBQueueToMove(UID_DialogDBQueue) select cul.UID_DialogDBQueue from QBMDBQueueCurrent cul with (readpast) where cul.SlotNumber\r\n = @SlotNumberCrashed exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberCrashed, @SlotnumberTarget END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return @ret end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDBQCS_SlotRunner",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.43",
      "ModifyDate": "2026-04-14T23:16:09.107",
      "Definition": "   create   procedure QBM_PDBQCS_SlotRunner (@SlotNumber int  , @UID_Task varchar(38) , @ProcedureToCall varchar(30) , @IsWithoutTransaction bit\r\n   , @isBulkenabled int , @CountReallyProcessed int output   ) as begin declare @RunnerResult int = 2     declare @ErrorMessage nvarchar(4000) = ''  declare\r\n @ErrorSource nvarchar(64) = ''  declare @object varchar(38) declare @subObject varchar(38) declare @GenProcID varchar(38)  declare @StartTime datetime\r\n = getutcdate()  declare @TotalRuntime_ms float  declare @ProcedureToPrepare varchar(30) declare @ProcedureToCallMissig bit = 0 declare @ProcedureToPrepareExists\r\n bit = 0  declare @DebugLevel char(1) = 'I'  declare @Set0Retries int = 10 declare @SlotNumberSource int declare @SlotNumberTarget int declare @DBQueueToMove\r\n QBM_YDBQCSCurrentToMove  declare @DebugSwitch int = 0 declare @DebugMessage nvarchar(1000)   declare @ModuleInUse QBM_YParameterList declare @ElementCount\r\n int declare @ElementIndex int declare @childtask varchar(38)  declare @RowCountBeforeReset int declare @RowCountAfterReset int SET XACT_ABORT OFF truncate\r\n table #JobQueue truncate table #QBMElementAffectedByJob if @SlotNumber <= 997 begin  exec QBM_PTransactionLevelCheck 0, @@procid, 'entry' end if @DebugSwitch\r\n > 0 begin print 'eintritt Runner  slot' + str(@slotnumber) + ' Task ' + @UID_Task end select @ProcedureToPrepare = concat(left(@ProcedureToCall, 4) , \r\n'R' , substring(@ProcedureToCall, 6, 30) )  if exists (select top 1 1 from sys.objects o where o.type = 'P' and o.name = @ProcedureToPrepare ) begin select\r\n @ProcedureToPrepareExists = 1 end  if @DebugSwitch > 0 begin select @DebugMessage = concat('runner @SlotNumber ' , str(@SlotNumber) , '  runner @UID_Task '\r\n , isnull(@UID_Task, '<null>') , '  runner @ProcedureToCall ' , isnull(@ProcedureToCall, '<null>') ) exec QBM_PJournal @debugmessage, @@procid, 'T', @DebugLevel\r\n end  if @ProcedureToPrepareExists = 1 begin select @RowCountBeforeReset = count(*) from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber\r\n if @isBulkenabled = 1 begin BEGIN TRY set lock_timeout 2000  exec @ProcedureToPrepare @SlotNumber END TRY BEGIN CATCH select @ErrorSource = 'execute slot Prepare'\r\n select @ErrorMessage = ERROR_MESSAGE() exec QBM_PSessionErrorAdd default set lock_timeout -1  goto Fehlerauswertung END CATCH set lock_timeout -1  end\r\n else  begin   select top 1 @object = rtrim(isnull(qc.UID_Parameter, '')), @subobject = rtrim(isnull(qc.UID_SubParameter, '')), @GenProcID = rtrim(isnull\r\n(qc.GenProcID, '')) from QBMDBQueueCurrent qc with (readpast)  where qc.SlotNumber = @SlotNumber BEGIN TRY set lock_timeout 2000  exec @ProcedureToPrepare\r\n @SlotNumber, @object, @subobject, @GenProcID END TRY BEGIN CATCH select @ErrorSource = 'execute slot Prepare' select @ErrorMessage = ERROR_MESSAGE() exec\r\n QBM_PSessionErrorAdd default set lock_timeout -1  goto Fehlerauswertung END CATCH set lock_timeout -1  end  select @RowCountAfterReset = count(*) from\r\n QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber   if @RowCountAfterReset = 0 begin select @RunnerResult = 0 goto ende end end  \r\nif @IsWithoutTransaction = 0 begin begin transaction end BEGIN TRY if @isBulkenabled = 1 begin BEGIN TRY   truncate table #QBMDBQueueTemp if @IsWithoutTransaction\r\n = 0  begin exec QBM_PSessionContextSet 'TempQueue', 'True' end  set lock_timeout 2000  if not exists ( select top 1 1 from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber ) begin select @DebugMessage = CONCAT( OBJECT_NAME(@@procid) , ' empty DBQueueCurrent found (bulk) ' , ' UID_Task = '\r\n, case when ISNULL(@UID_Task, '') = '' then ' <empty> ' else @UID_Task end ) exec QBM_PJournal @DebugMessage, @@procid, 'D', @DebugLevel select @RunnerResult\r\n = 1  goto Fehlerauswertung end exec @ProcedureToCall @SlotNumber  if dbo.QBM_FGISessionContext('TempQueue') > ' ' begin if exists ( select top 1 1 from\r\n #QBMDBQueueTemp ) begin exec QBM_PTempQueueEnd end exec QBM_PSessionContextSet 'TempQueue', '' end  select @RunnerResult = 0 select @ErrorMessage = ''\r\n END TRY BEGIN CATCH select @ErrorSource = 'execute slot bulk' select @ErrorMessage = ERROR_MESSAGE() exec QBM_PSessionErrorAdd default  END CATCH set \r\nlock_timeout -1  exec QBM_PSessionContextSet 'TempQueue', '' end else begin                select top 1 @object = rtrim(isnull(qc.UID_Parameter, '')), \r\n@subobject = rtrim(isnull(qc.UID_SubParameter, '')), @GenProcID = rtrim(isnull(qc.GenProcID, '')) from QBMDBQueueCurrent qc with (readpast)  where qc.SlotNumber\r\n = @SlotNumber if @@ROWCOUNT = 0 or @GenProcID is null begin select @DebugMessage = CONCAT( OBJECT_NAME(@@procid) , ' empty values found ' , ' UID_Task = '\r\n, case when ISNULL(@UID_Task, '') = '' then ' <empty> ' else @UID_Task end , ' GenProcID = ' , case when ISNULL(@GenProcID, '') = '' then ' <empty> ' else\r\n @GenProcID end , ' UID_Parameter = ' , case when ISNULL(@object, '') = '' then ' <empty> ' else @object end , ' UID_SubParameter = ' , case when ISNULL\r\n(@subObject, '') = '' then ' <empty> ' else @subObject end ) exec QBM_PJournal @DebugMessage, @@procid, 'D', @DebugLevel  select @RunnerResult = 1  goto\r\n Fehlerauswertung end BEGIN TRY set lock_timeout 10000  exec @ProcedureToCall @SlotNumber, @object, @subobject, @GenProcID select @RunnerResult = 0 select\r\n @ErrorMessage = '' END TRY BEGIN CATCH select @ErrorSource = 'execute slot single' select @ErrorMessage = ERROR_MESSAGE() exec QBM_PSessionErrorAdd default\r\n  END CATCH set lock_timeout -1  end  END TRY BEGIN CATCH  select @ErrorMessage = concat(ERROR_MESSAGE(), ' task: ' , @UID_Task) exec QBM_PSessionErrorAdd\r\n default select @ErrorSource = 'main catch' exec QBM_PSessionContextSet 'TempQueue', '' END CATCH Fehlerauswertung: if @ErrorSource > ' ' begin if not \r\nexists (select top 1 1 from sys.objects o where o.type = 'P' and o.name = @ProcedureToCall ) begin select @ProcedureToCallMissig = 1 end if dbo.QBM_FGISessionErrorIsDeadlock\r\n(default) = 1  or @ProcedureToCallMissig = 1 begin select @RunnerResult = 1     end else begin select @RunnerResult = -1 end end if @DebugSwitch > 0 begin\r\n print 'Runnerresult ' + str(@RunnerResult) end if @RunnerResult <> 0 begin if @@trancount > 0 begin rollback transaction end end else begin if @IsWithoutTransaction\r\n = 0 begin commit end end if @SlotNumber <= 997 begin exec QBM_PTransactionLevelCheck 0, @@procid, 'exit' end if @RunnerResult = 0 begin  if exists (select\r\n top 1 1 from #JobQueue ) begin insert into JobQueue ( ComponentAssembly, ComponentClass, DeferOnError, ErrorNotify, ExecutionType, IgnoreErrors, IsSplitOnly\r\n, JobChainName, MaxInstance, MinutesToDefer, Retries, ParamIN, Priority , Queue, Ready2EXE, StartAt, TaskName, UID_Job, UID_JobError, UID_JobSameServer\r\n, UID_JobSuccess, UID_Tree, WasError, XDateInserted, XDateUpdated, XUserInserted, XUserUpdated, IsRootJob, GenProcID , isToFreezeOnError, BasisObjectKey\r\n ) select ComponentAssembly, ComponentClass, DeferOnError, ErrorNotify, ExecutionType, IgnoreErrors, IsSplitOnly, JobChainName, MaxInstance, MinutesToDefer\r\n, Retries, ParamIN, Priority , Queue, Ready2EXE, StartAt, TaskName, UID_Job, UID_JobError, UID_JobSameServer, UID_JobSuccess, UID_Tree, WasError, XDateInserted\r\n, XDateUpdated, XUserInserted, XUserUpdated, IsRootJob, GenProcID , isToFreezeOnError, BasisObjectKey from #JobQueue end if exists (select top 1 1 from\r\n #QBMElementAffectedByJob ) begin insert into QBMElementAffectedByJob (UID_Job, ObjectKeyAffected) select UID_Job, ObjectKeyAffected from #QBMElementAffectedByJob\r\n end    if exists (select top 1 1 from QBMDBQueueTaskMetric t with (nolock) where t.UID_TaskParent = @UID_Task ) begin declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01(Object, SubObject, GenProcID) select cu.UID_Parameter, cu.UID_SubParameter, max(cu.GenProcID) from QBMDBQueueCurrent cu\r\n with (readpast) where cu.SlotNumber = @SlotNumber group by cu.UID_Parameter, cu.UID_SubParameter declare @FolgeTask QBM_YCursorBuffer  if exists (select\r\n top 1 1 from sys.objects o where o.name = 'QBMVSystemOverview' and o.type = 'V' ) begin  insert into @ModuleInUse(Parameter1) select v.Value from QBMVSystemOverview\r\n v    where v.Element = N'Module in use' insert into @FolgeTask (UID1) select t.UID_Task from QBMDBQueueTaskMetric t with (readpast) left outer join @ModuleInUse\r\n v on v.Parameter1 = concat(left(t.UID_Task, 3) , ' ', 'no') where t.UID_TaskParent = @UID_Task and v.Parameter1 is null select @ElementCount = @@ROWCOUNT\r\n end else begin insert into @FolgeTask (UID1) select t.UID_Task from QBMDBQueueTaskMetric t with (nolock) where t.UID_TaskParent = @UID_Task select @ElementCount\r\n = @@ROWCOUNT end select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @Childtask = bu.UID1 from @FolgeTask bu where bu.ElementIndex\r\n = @ElementIndex exec QBM_PDBQueueInsert_Bulk @childtask, @DBQueueElements_01 select @ElementIndex += 1 end  end    select @CountReallyProcessed = 0 while\r\n @Set0Retries > 0 begin  BEGIN TRY  delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select cul.UID_DialogDBQueue from QBMDBQueueCurrent\r\n cul  where cul.SlotNumber = @SlotNumber if @@ROWCOUNT > 0 begin select @SlotNumberSource = @SlotNumber  select @SlotnumberTarget = 0 exec @CountReallyProcessed\r\n = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget end select @Set0Retries = 0 END TRY BEGIN CATCH select @DebugMessage\r\n = concat(ERROR_MESSAGE() , '(' , 'update ', ' QBMDBQueueCurrent set SlotNumber = 0 where SlotNumber = ' , str(@Slotnumber) , ')' , ' set0Retry ' , str\r\n(@Set0Retries) )  exec QBM_PSessionErrorAdd default exec QBM_PWaitForSeconds 0.3 if @DebugMessage is null begin select @DebugMessage = '<empty message> from set 0 retry'\r\n end exec QBM_PJournal @DebugMessage, @@PROCID, 'D', @DebugLevel select @Set0Retries -= 1 END CATCH end  goto Nachbehandlung end  select @ErrorMessage \r\n= concat('(' , isnull(@ErrorSource, '<empty @ErrorSource>') , ')' , @ErrorMessage ) if @RunnerResult = -1  begin  select @ErrorMessage = concat(@ErrorMessage\r\n , dbo.QBM_FGISessionErrorForLog() ) exec QBM_PJournal @ErrorMessage, @@procid, 'E', @DebugLevel  goto Nachbehandlung end if @RunnerResult = 1  begin select\r\n @ErrorMessage = concat(isnull(@UID_Task, '<empty @UID_Task>') , ':' , @ErrorMessage ) exec QBM_PJournal @ErrorMessage, @@PROCID, 'D', @DebugLevel end \r\nif @RunnerResult = 2  begin select @ErrorMessage = concat(@UID_Task , ':' , ' @RunnerResult = 2 ', @ErrorMessage) exec QBM_PJournal @ErrorMessage, @@PROCID\r\n, 'E', @DebugLevel  select @RunnerResult = 1 end goto ende   Nachbehandlung: if @SlotNumber > 997  begin goto ende end select @TotalRuntime_ms = DATEDIFF\r\n(MS, @StartTime, GETUTCDATE()) if @TotalRuntime_ms > 0.8 * dbo.QBM_FCVStringToFloat(dbo.QBM_FGIConfigparmValue('QBM\\DBQueue\\KeepAlive'), 20)  * 60.0 * \r\n1000.0 begin select @ErrorMessage = CONCAT( '#LDS#Extra long running task= {0}  runtime = {2} minutes.|' , @UID_Task, '|' , dbo.QBM_FCVFloatToString(@TotalRuntime_ms\r\n / 1000.0 / 60.0), '|' ) exec QBM_PJournal @ErrorMessage, @@PROCID, 'W', @DebugLevel end else begin if @TotalRuntime_ms > 5.0  * dbo.QBM_FCVStringToFloat\r\n( dbo.QBM_FGIConfigparmValue('QBM\\DBQueue\\DefaultRuntime'), 20)  * 1000.0  begin select @ErrorMessage = CONCAT( '#LDS#Long running task= {0}  runtime = {2} seconds.|'\r\n , @UID_Task, '|' , dbo.QBM_FCVFloatToString(@TotalRuntime_ms / 1000.0), '|' ) exec QBM_PJournal @ErrorMessage, @@PROCID, 'I', @DebugLevel end end  ende:\r\n set lock_timeout -1  exec QBM_PSessionContextSet 'TempQueue', '' truncate table #QBMDBQueueTemp if @ProcedureToCallMissig = 1 and @UID_Task > ' ' begin\r\n exec QBM_PJournal @ErrorMessage, @@ProcID, 'E', @Debuglevel, 10 end return (@RunnerResult) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDBQCS_WaitJobReset",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.633",
      "ModifyDate": "2026-04-14T23:16:09.243",
      "Definition": "   create   procedure QBM_PDBQCS_WaitJobReset ( @SlotNumber int ) as begin  declare @Debugstarttime datetime = getUtcdate() declare @Debuglevel \r\nchar(1) = 'I' BEGIN TRY exec QBM_PSessionContextSet 'INSERTEDINTODBQUEUE', '1'                  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: exec QBM_PJournal @Debugstarttime, @@procid, 'T', @Debuglevel return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDBQueueActivityDisable",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.31",
      "ModifyDate": "2026-04-14T23:16:09.03",
      "Definition": "    create   procedure QBM_PDBQueueActivityDisable as begin declare @SQLLockIgnore nvarchar(max) declare @XUser nvarchar(64) = object_name(@@procid\r\n) declare @Xdate datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY if exists (select top 1 1 from sys.tables t where t.name = 'DialogDatabase' ) begin\r\n update DialogDatabase set IsDBSchedulerDisabled = 1 , XDateUpdated = @Xdate , XUserUpdated = @XUser where IsMainDatabase = 1 and IsDBSchedulerDisabled\r\n = 0 end    update DialogDatabase set UID_CutOffTask = null where UID_CutOffTask = 'QBM-K-CommonWaitForCompiler' exec QBM_PSessionContextSet 'INSERTEDINTODBQUEUE'\r\n, '1'                            exec QBM_PSessionErrorClean END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDBQueueActivityEnable",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.56",
      "ModifyDate": "2026-04-14T23:16:09.207",
      "Definition": "   create   procedure QBM_PDBQueueActivityEnable as begin declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate\r\n() SET XACT_ABORT OFF BEGIN TRY update DialogDatabase set IsDBSchedulerDisabled = 0 , XDateUpdated = @Xdate , XUserUpdated = @XUser where IsMainDatabase\r\n = 1 and IsDBSchedulerDisabled = 1 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDBQueueAgentInfoSet",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.217",
      "ModifyDate": "2026-04-14T23:16:08.963",
      "Definition": "  create   procedure QBM_PDBQueueAgentInfoSet (@Ident_QBMDBQueueAgent nvarchar(128) , @IsReset bit = 0  ) as begin declare @spid int SET XACT_ABORT\r\n OFF BEGIN TRY if @IsReset = 0 begin select @spid = @@spid end else begin select @spid = 0 end if not exists (select top 1 1 from QBMDBQueueAgent where\r\n Ident_QBMDBQueueAgent = @Ident_QBMDBQueueAgent) begin insert into QBMDBQueueAgent (Ident_QBMDBQueueAgent, ServerProcess) values (@Ident_QBMDBQueueAgent\r\n, @spid) end else begin update QBMDBQueueAgent set ServerProcess = @spid where Ident_QBMDBQueueAgent = @Ident_QBMDBQueueAgent end END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende:\r\n  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDBQueueCalculateDelta",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.37",
      "ModifyDate": "2026-04-14T23:16:09.067",
      "Definition": "  create   procedure QBM_PDBQueueCalculateDelta ( @SourceDataOrig QBM_YDataForDelta readonly  , @SlotNumber int , @DeltaQuantity bit , @DeltaDelete\r\n bit , @DeltaInsert bit , @DeltaOrigin bit , @CountDeltaQantity  int output , @CountDeltaOrigin  int output , @UseIsInEffect bit    , @DBQueueCurrentExtern\r\n QBM_YDBQueueCurrent readonly       ) as begin declare @DBQueueCurrent QBM_YDBQueueCurrent declare @Overload_RowCountCurrent int declare @Overload_RowCountLimit\r\n int = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue('QBM\\DBQueue\\OverloadLimit'), 200000) declare @Overload_RowCountLimitReset int = @Overload_RowCountLimit\r\n * 6 declare @Overload_UID_TaskToReset varchar(38) declare @Overload_ElementsInSlot int declare @Overload_Maxbulk int declare @Overload_IsBulkEnabled bit\r\n  declare @ChangeLimitReached_String varchar(64) declare @Medium QBM_YDBQueueIntermediate declare @CountItems int  declare @DebugSwitch int = 0 declare\r\n @DebugLevel char(1) = 'W' declare @DebugMessage nvarchar(1000) declare @SourceData QBM_YDataForDelta declare @ErrorMessage nvarchar(4000) declare @ErrorSeverity\r\n int declare @ErrorState int  declare @Switch int = 0 select @Switch += (@DeltaQuantity | @DeltaInsert | @DeltaDelete) select @Switch += @DeltaOrigin *\r\n 2   declare @DeleteMaskForXOrigin int = 0 if @DeltaOrigin = 1 and @DeltaDelete = 0  begin select @DeleteMaskForXOrigin = 0x02 end declare @ChangeLimit_internal\r\n int declare @OnceMore bit = 0 declare @DBQueueElementsOnceMore QBM_YDBQueueRaw declare @UID_TaskOnceMore varchar(38) declare @SQLLockIgnore nvarchar(max\r\n)  declare @StartTime datetime = getutcdate() declare @ChangeLimitTimeForDelta_string varchar(64) declare @SlotNumberSource int declare @SlotNumberTarget\r\n int declare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved int SET XACT_ABORT OFF BEGIN TRY if exists (select top 1 1 from @DBQueueCurrentExtern\r\n ) begin insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter\r\n, GenProcID from @DBQueueCurrentExtern end else begin insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select\r\n UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber end select @ChangeLimit_internal\r\n = dbo.QBM_FCVStringToInt( dbo.QBM_FGISessionContext('CHANGELIMIT'), -1111) if @ChangeLimit_internal = -1111 begin select @ChangeLimit_internal = dbo.QBM_FCVStringToint\r\n( dbo.QBM_FGIConfigparmValue('QBM\\DBQueue\\ChangeLimitDefault'), 3000)  end if isnull(@ChangeLimit_internal, 0) < 10 begin select @ChangeLimit_internal \r\n= 10 end insert into @SourceData(Element, AssignedElement ,HashKey , IsUpcommingContent , XIsInEffectBefore, XIsInEffectAfter , XOriginBefore, XOriginAfter\r\n )     select o.Element, o.AssignedElement , dbo.QBM_FCVAnyToHash(concat(o.Element, o.AssignedElement)) , isnull(o.IsUpcommingContent, 0) , isnull(o.XIsInEffectBefore\r\n, 0), isnull(o.XIsInEffectAfter, 0) , isnull(o.XOriginBefore, 0), isnull(o.XOriginAfter, 0) from @SourceDataOrig o select @Overload_RowCountCurrent = @@ROWCOUNT\r\n if @Overload_RowCountCurrent = 0 or @Switch = 0 begin if @DebugSwitch > 0 begin print 'na gar nix' end select @CountDeltaQantity = 0 , @CountDeltaOrigin\r\n = 0 goto endLabel end if @Overload_RowCountCurrent > @Overload_RowCountLimit  begin   select @ChangeLimitReached_String = dbo.QBM_FCVIntToString(@Overload_RowCountCurrent\r\n) exec QBM_PSessionContextSet 'OVERLOADREACHED', @ChangeLimitReached_String if @DebugSwitch > 0 begin select @DebugMessage = 'am Overload vorbei gekommen, füllstand: '\r\n + str(@Overload_RowCountCurrent) exec QBM_PJournal @DebugMessage, @@procid, 'D', @DebugLevel end    if @Overload_RowCountCurrent > @Overload_RowCountLimitReset\r\n  begin select @DebugMessage = concat('#LDS#Rowcount Limit for reset {0} reached with {1}, Task {2} will be resetted.|' , str(@Overload_RowCountLimitReset\r\n) , '|', str(@Overload_RowCountCurrent), '|', @Overload_UID_TaskToReset , '|') exec QBM_PJournal @DebugMessage, @@procid, 'I', @DebugLevel delete @DBQueueToMove\r\n  insert into @DBQueueToMove(UID_DialogDBQueue) select cul.UID_DialogDBQueue from @DBQueueCurrent cul  if @@ROWCOUNT > 0 begin select @SlotNumberSource\r\n = @SlotNumber  select @SlotnumberTarget = dbo.QBM_FGIDBQueueSlotResetType('Error05') exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource\r\n, @SlotnumberTarget    end   goto endlabel end  end  if @DebugSwitch > 0 begin print '@Switch ' + str(@Switch) end if @Switch = 1 begin    insert into \r\n@Medium(HashKey, IsToInsert, IsToDelete, IsIntersect, IsInheritChanged, XOriginNew, XIsInEffectNew) select HashKey ,case IsInsertDeleteIntersect when 2\r\n then 1 else 0 end as IsToInsert , case IsInsertDeleteIntersect when 1 then 1 else 0 end as IsToDelete , case IsInsertDeleteIntersect when 3 then 1 else\r\n 0 end as IsIntersect , 0 as IsInheritChanged , 0 as XOriginNew , 0 as XIsInEffectNew from ( select HashKey , sum( distinct IsUpcommingContent +1) as IsInsertDeleteIntersect\r\n  from @SourceData s group by s.HashKey ) as x where IsInsertDeleteIntersect in (1, 2 )  end if @Switch = 2 begin    insert into @Medium(HashKey, IsToInsert\r\n, IsToDelete, IsIntersect, IsInheritChanged, XOriginNew, XIsInEffectNew) select HashKey , 0 as IsToInsert , 0 as IsToDelete , 1 as IsIntersect , 1 as IsInheritChanged\r\n , XOriginNew , sign(XIsInEffectNew * XOriginNew )  from ( select HashKey , sum( distinct IsUpcommingContent +1) | @DeleteMaskForXOrigin as IsInsertDeleteIntersect\r\n , max( s.XOriginBefore) as XOriginOld , MAX(s.XOriginAfter & 0x0001) + MAX(s.XOriginAfter & 0x0002) + MAX(s.XOriginAfter & 0x0004) + MAX(s.XOriginAfter\r\n & 0x0008)   + MAX(s.XOriginAfter & 0xfff0) as XOriginNew  , case @UseIsInEffect when 1 then min(case when s.IsUpcommingContent = 1 then sign(s.XIsInEffectAfter\r\n) else 1 end ) else 1 end as XIsInEffectNew , case @UseIsInEffect when 1 then MAX(convert(int, s.XIsInEffectBefore)) else 1 end as XIsInEffectOld from \r\n@SourceData s group by s.HashKey ) as x where IsInsertDeleteIntersect in (3 )  and ((x.XOriginOld ^ x.XOriginNew) + (x.XIsInEffectOld ^ x.XIsInEffectNew\r\n) > 0)  end if @Switch = 3 begin    insert into @Medium(HashKey, IsToInsert, IsToDelete, IsIntersect, IsInheritChanged, XOriginNew, XIsInEffectNew) select\r\n HashKey ,case IsInsertDeleteIntersect when 2 then 1 else 0 end as IsToInsert , case IsInsertDeleteIntersect when 1 then 1 when 3 then @DeltaDelete * (x.XOriginNew\r\n ^1)  else 0 end as IsToDelete , case IsInsertDeleteIntersect when 3 then 1 else 0 end as IsIntersect , case IsInsertDeleteIntersect when 3 then sign((x.XOriginOld\r\n ^ x.XOriginNew) + (x.XIsInEffectOld ^ x.XIsInEffectNew) ) else 0 end as IsInheritChanged , XOriginNew , sign(XIsInEffectNew * XOriginNew )  from ( select\r\n HashKey , sum( distinct s.IsUpcommingContent +1) | @DeleteMaskForXOrigin as IsInsertDeleteIntersect , max( s.XOriginBefore) as XOriginOld , MAX(s.XOriginAfter\r\n & 0x0001) + MAX(s.XOriginAfter & 0x0002) + MAX(s.XOriginAfter & 0x0004) + MAX(s.XOriginAfter & 0x0008)   + MAX(s.XOriginAfter & 0xfff0) as XOriginNew \r\n , case @UseIsInEffect when 1 then min(case when s.IsUpcommingContent = 1 then sign(s.XIsInEffectAfter) else 1 end ) else 1 end as XIsInEffectNew , case\r\n @UseIsInEffect when 1 then MAX(convert(int, s.XIsInEffectBefore)) else 1 end as XIsInEffectOld from @SourceData s group by s.HashKey ) as x where IsInsertDeleteIntersect\r\n = 1  or (IsInsertDeleteIntersect = 2 and x.XOriginNew > 0)  or ((x.XOriginOld ^ x.XOriginNew) + (x.XIsInEffectOld ^ x.XIsInEffectNew) > 0)  if @DebugSwitch\r\n > 0 begin print 'Zwischenstand von X' select HashKey , sum( distinct s.IsUpcommingContent +1) | @DeleteMaskForXOrigin as IsInsertDeleteIntersect , max\r\n( s.XOriginBefore) as XOriginOld , MAX(s.XOriginAfter & 0x01) + MAX(s.XOriginAfter & 0x02) + MAX(s.XOriginAfter & 0x04) + MAX(s.XOriginAfter & 0x08) as\r\n XOriginNew  , case @UseIsInEffect when 1 then min(case when s.IsUpcommingContent = 1 then sign(s.XIsInEffectAfter) else 1 end ) else 1 end as XIsInEffectNew\r\n , case @UseIsInEffect when 1 then MAX(convert(int, s.XIsInEffectBefore)) else 1 end as XIsInEffectOld from @SourceData s group by s.HashKey end end  update\r\n @Medium set element = x.element , AssignedElement = x.AssignedElement  from @Medium y join @sourceData x on y.HashKey = x.HashKey  where y.IsToInsert \r\n= 1 and (@DeltaInsert = 1 or @DeltaQuantity = 1) or y.IsToDelete = 1 and (@DeltaDelete = 1 or @DeltaQuantity = 1) or y.IsInheritChanged = 1 and @DeltaOrigin\r\n > 0 if @DebugSwitch > 0 begin print 'content of @Medium' select * from @Medium end select @CountDeltaQantity = 0 select @CountDeltaOrigin = 0   if @DeltaDelete\r\n =1 begin    truncate table #QBMDeltaDelete insert into #QBMDeltaDelete (Element, AssignedElement) select top (@ChangeLimit_internal)  m.Element, m.AssignedElement\r\n from @Medium m  where m.IsToDelete = 1  or ( m.IsInheritChanged = 1 and m.XOriginNew = 0 ) select @CountItems = @@ROWCOUNT  if @CountItems = @ChangeLimit_internal\r\n begin select @OnceMore = 1 end  select @CountDeltaQantity += @CountItems if @CountItems > 0 and @SlotNumber > 0 begin  update #QBMDeltaDelete set GenProcID\r\n = c.GenProcID from #QBMDeltaDelete d join @DBQueueCurrent c on d.element = c.UID_Parameter end end   if @DeltaInsert =1 begin    truncate table #QBMDeltaInsert\r\n insert into #QBMDeltaInsert (Element, AssignedElement, XOrigin, XIsInEffect) select top (@ChangeLimit_internal)  m.Element, m.AssignedElement, m.XOriginNew\r\n, m.XIsInEffectNew from @Medium m  where m.IsToInsert = 1 select @CountItems = @@ROWCOUNT  if @CountItems = @ChangeLimit_internal begin select @OnceMore\r\n = 1 end  select @CountDeltaQantity += @CountItems if @CountItems > 0 and @SlotNumber > 0 begin  update #QBMDeltaInsert set GenProcID = c.GenProcID from\r\n #QBMDeltaInsert d join @DBQueueCurrent c on d.element = c.UID_Parameter end end if @DeltaQuantity =1 begin    truncate table #QBMDeltaQuantity insert \r\ninto #QBMDeltaQuantity (Element) select distinct top (@ChangeLimit_internal) m.Element from @Medium m  where m.IsToDelete = 1 or m.IsToInsert = 1  or (\r\n m.IsInheritChanged = 1 and m.XOriginNew = 0 ) select @CountItems = @@ROWCOUNT  if @CountItems = @ChangeLimit_internal begin select @OnceMore = 1 end  \r\nselect @CountDeltaQantity += @CountItems  if @CountItems > 0 and @SlotNumber > 0 begin  update #QBMDeltaQuantity set GenProcID = c.GenProcID from #QBMDeltaQuantity\r\n d join @DBQueueCurrent c on d.element = c.UID_Parameter end end   if @DeltaOrigin =1  begin    truncate table #QBMDeltaOrigin insert into #QBMDeltaOrigin\r\n (Element, AssignedElement, XOrigin, XIsInEffect) select top (@ChangeLimit_internal)  m.Element, m.AssignedElement, m.XOriginNew, m.XIsInEffectNew from\r\n @Medium m  where m.IsInheritChanged = 1 select @CountItems = @@ROWCOUNT  if @CountItems = @ChangeLimit_internal begin select @OnceMore = 1 end  select\r\n @CountDeltaOrigin += @CountItems if @CountItems > 0 and @SlotNumber > 0 begin  update #QBMDeltaOrigin set GenProcID = c.GenProcID from #QBMDeltaOrigin\r\n d join @DBQueueCurrent c on d.element = c.UID_Parameter end end    if @OnceMore = 1 begin delete  @DBQueueElementsOnceMore  insert into @DBQueueElementsOnceMore\r\n(Object, SubObject, GenProcID) select cu.UID_Parameter, cu.UID_SubParameter, cu.GenProcID from @DBQueueCurrent cu select top 1 @UID_TaskOnceMore = cu.UID_Task\r\n from QBMDBQueueCurrent cu with (readpast)  where cu.SlotNumber = @SlotNumber and cu.UID_Task > ' '  if @UID_TaskOnceMore is null begin select top 1 @UID_TaskOnceMore\r\n = f.UID_Task from QBMDBQueueCurrent  f with (readpast) where f.SlotNumber = @SlotNumber and f.UID_Task > ' '  if @UID_TaskOnceMore is null begin  select\r\n top 1 @UID_TaskOnceMore = c.UID_Task from @DBQueueCurrent cu join QBMDBQueueCurrent c with (readpast) on cu.UID_DialogDBQueue = c.UID_DialogDBQueue where\r\n c.UID_Task > ' ' if @UID_TaskOnceMore is null begin  select top 1 @UID_TaskOnceMore = c.UID_Task from @DBQueueCurrent cu join DialogDBQueue c with (readpast\r\n) on cu.UID_DialogDBQueue = c.UID_DialogDBQueue where c.UID_Task > ' ' end  end  end  exec QBM_PDBQueueInsert_Bulk @UID_TaskOnceMore, @DBQueueElementsOnceMore\r\n if @DebugSwitch > 0 begin select @DebugMessage = 'restore once more ' + @UID_TaskOnceMore + '@CountDeltaOrigin ' + str(@CountDeltaOrigin) + ' @CountDeltaQantity '\r\n + str(@CountDeltaQantity) exec QBM_PJournal @Debugmessage, @@procid, 'D', @DebugLevel end    end  select @ChangeLimitReached_String = dbo.QBM_FCVIntToString\r\n(@CountDeltaOrigin + @CountDeltaQantity) exec QBM_PSessionContextSet 'CHANGELIMITREACHED', @ChangeLimitReached_String select @ChangeLimitTimeForDelta_string\r\n = dbo.QBM_FCVIntToString(DATEDIFF(ms, @StartTime, getutcdate())) if DATEDIFF(ms, @StartTime, getutcdate()) > 10 begin exec QBM_PSessionContextSet 'CHANGELIMITTIMEFORDELTA'\r\n, @ChangeLimitTimeForDelta_string end else begin exec QBM_PSessionContextSet 'CHANGELIMITTIMEFORDELTA', ''  end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 1,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDBQueueCompress",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.613",
      "ModifyDate": "2026-04-14T23:16:09.237",
      "Definition": "   create   procedure QBM_PDBQueueCompress as begin   declare @CurrentDeadlock_priority int declare @DebugSwitch int = 0 declare @DebugLevel varchar\r\n(1) = 'W' declare @StartDate datetime = getutcdate() declare @Message nvarchar(4000) declare @XUserRestore nvarchar(64) declare @anzahl int declare @IndexDef\r\n nvarchar(max) = dbo.QBM_FSQIndexDef('DialogDBQueue', '%') declare @Before int = dbo.QBM_FGITableCountAll('DialogDBQueue') declare @After int declare @DifferentPathLengthExists\r\n bit = 0 declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser') SET XACT_ABORT\r\n OFF BEGIN TRY set nocount on Create Table #DialogDBQueue ( UID_DialogDBQueue varchar(38) collate database_default NOT NULL , UID_Task varchar(38) collate\r\n database_default NULL, Object varchar(38) collate database_default NULL, SubObject varchar(38) collate database_default NULL, PathLength int default 0\r\n NOT NULL, GenProcID varchar(38) collate database_default NOT NULL, Generation int default 0 NULL ) select top 1 @CurrentDeadlock_priority = s.deadlock_priority\r\n FROM sys.dm_exec_sessions s with (readpast) where s.session_id = @@spid select @CurrentDeadlock_priority = isnull(@CurrentDeadlock_priority, 0) set deadlock_priority\r\n 8 set lock_timeout -1 if @DebugSwitch > 0 select @anzahl = dbo.QBM_FGITableCountAll('DialogDBQueue') if @DebugSwitch > 0 print 'Anzahl vorher ' + str(@anzahl\r\n) if exists (select top 1 1 from DialogDBQueue q join QBMDBQueueTaskMetric m on q.UID_Task = m.UID_Task where q.PathLength <> m.PathLength ) begin select\r\n @DifferentPathLengthExists = 1 end begin transaction  insert into #DialogDBQueue (UID_DialogDBQueue, UID_Task, Object, SubObject, GenProcID, Generation\r\n, PathLength) select UID_DialogDBQueue, UID_Task, Object, SubObject, GenProcID, Generation, PathLength from DialogDBQueue q with (tablockx)  if @DebugSwitch\r\n > 0 print 'in tempdb ' + str(DATEDIFF(ss, @StartDate, getutcdate())) truncate table DialogDBQueue create index #DialogDBQueue_i on #DialogDBQueue (UID_Task\r\n, Object, SubObject, GenProcID) include (UID_DialogDBQueue, Generation, PathLength) if @DebugSwitch > 0 print 'index created Tempdb' + str(DATEDIFF(ss,\r\n @StartDate, getutcdate())) exec QBM_PIndexDrop 'DialogDBQueue', '%' if @DebugSwitch > 0 print 'index dropped dbqueue' + str(DATEDIFF(ss, @StartDate, getutcdate\r\n())) select @XUserRestore = dbo.QBM_FGISessionContext('XUser') exec QBM_PSessionContextSet 'XUser', 'QBM_PDBQueueInsert_Bulk' if @DifferentPathLengthExists\r\n = 0 begin  insert into DialogDBQueue (UID_DialogDBQueue, UID_Task, Object, SubObject, GenProcID, Generation, PathLength) select max(q.UID_DialogDBQueue\r\n) as UID_DialogDBQueue , q.UID_Task , q.Object , q.SubObject , q.GenProcID , max(q.Generation) as Generation , max(PathLength) as PathLength from #DialogDBQueue\r\n q group by q.UID_Task, q.Object, q.SubObject, q.GenProcID end else begin  insert into DialogDBQueue (UID_DialogDBQueue, UID_Task, Object, SubObject, GenProcID\r\n, Generation, PathLength) select max(q.UID_DialogDBQueue) as UID_DialogDBQueue , q.UID_Task , q.Object , q.SubObject , q.GenProcID , max(q.Generation) \r\nas Generation , max(isnull(mo.PathLength, q.PathLength)) as PathLength from #DialogDBQueue q left outer join QBMDBQueueTaskMetric mo on q.UID_Task = mo.UID_Task\r\n  group by q.UID_Task, q.Object, q.SubObject, q.GenProcID end if @DebugSwitch > 0 print 'restored ' + str(DATEDIFF(ss, @StartDate, getutcdate())) exec \r\nQBM_PSessionContextSet 'XUser', @XUserRestore exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @IndexDef , @LockTimeOut_ms = 4000 , @MaxWaitTimeForLock_s\r\n = 20 , @DeadLockPriority = 5 , @ExecuteWithTransact = 0 if @DebugSwitch > 0 print 'indexe angelegt ' + str(DATEDIFF(ss, @StartDate, getutcdate())) commit\r\n transaction if @DebugSwitch > 0 print 'transaktion fertig ' + str(DATEDIFF(ss, @StartDate, getutcdate())) truncate Table #DialogDBQueue select @After \r\n= dbo.QBM_FGITableCountAll('DialogDBQueue') if @DebugSwitch > 0 print 'Anzahl Nachher ' + str(@After) select @Message = concat( '#LDS#DialogDBQueue compressed from {0} to {1} records.|'\r\n , trim(str(@Before)), '|' , trim(str(@After)), '|' ) exec QBM_PJournal @Message, @@procid, 'I', @DebugLevel END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet 'XUser'\r\n, @XUser_R truncate Table #DialogDBQueue  set deadlock_priority @CurrentDeadlock_priority  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDBQueueCurrentResetNGen",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.4",
      "ModifyDate": "2026-04-14T23:16:09.09",
      "Definition": "            create   procedure QBM_PDBQueueCurrentResetNGen(@SlotNumber int , @ErrorMessage nvarchar(max) , @ProcIDCaller int  , @maxGeneration \r\nint = 10 ) as begin declare @Generation int declare @JournalMessage nvarchar(max) declare @SQLCmd nvarchar(max) declare @DebugLevel char(1) = 'W' declare\r\n @UID_Task varchar(38) declare @SlotNumberSource int declare @SlotNumberTarget int declare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved int\r\n  select top 1 @Generation = cu.Generation , @UID_Task = cu.UID_Task from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber select\r\n @JournalMessage = concat('#LDS#Temporary lock for task {0}, {1} retries left.|' , @UID_Task, '|' , str(@maxGeneration - @Generation) , '|' ) if @Generation\r\n < @maxGeneration begin select @SlotNumberSource = @SlotNumber select @SlotnumberTarget = dbo.QBM_FGIDBQueueSlotResetType('Error06') delete @DBQueueToMove\r\n  insert into @DBQueueToMove(UID_DialogDBQueue) select cul.UID_DialogDBQueue from QBMDBQueueCurrent cul with (readpast) where cul.SlotNumber = @SlotNumber\r\n exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget            if not exists (select top 1 1 from DialogDatabase\r\n where IsMainDatabase = 1 and UpdatePhase <> 0) and not exists (select top 1 1 from sys.tables t with (readpast) join sys.columns c with (readpast) on \r\nt.object_id = c.object_id where t.name = 'DialogDatabase' and c.name = 'InitialMigrationRunning' ) and @ProcIDCaller > 0 begin exec QBM_PJournal @JournalMessage\r\n, @ProcIDCaller, 'W', @DebugLevel end else begin  exec QBM_PJournal @JournalMessage, @@procid, 'I', 'I' end end else begin   raiserror(@ErrorMessage, 18\r\n, 1) with nowait end end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDBQueueExternalTaskFire",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.45",
      "ModifyDate": "2026-04-14T23:16:09.117",
      "Definition": "  create   procedure QBM_PDBQueueExternalTaskFire (@uid_Task varchar(38) , @CleanCutOffTask bit = 1 ) AS begin declare @Debuglevel char(1) = 'W'\r\n SET XACT_ABORT OFF BEGIN TRY if exists (select top 1 1 from DialogDatabase d where d.UID_CutOffTask = @uid_Task and d.IsMainDatabase = 1 ) begin update\r\n DialogDatabase set UID_CutOffTask = null where IsMainDatabase = 1  and @CleanCutOffTask = 1  delete DialogDBQueue where UID_Task = @uid_Task exec QBM_PSessionContextSet\r\n 'INSERTEDINTODBQUEUE', '1' end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow()\r\n RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende:  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDBQueueInsert_Bulk",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.5",
      "ModifyDate": "2026-04-14T23:16:09.167",
      "Definition": "create   procedure QBM_PDBQueueInsert_Bulk (@UID_Task varchar(38) , @DBQueueElements QBM_YDBQueueRaw readonly  , @Dummy_Sort_Order int = -1111 ,\r\n @Dummy_no_Check_For_Existing int = -1111      ) as begin declare @PondGroup varchar(38) declare @DebugLevel char(1) = 'W' declare @ErrorBuffer QBM_YSessionError\r\n SET XACT_ABORT OFF BEGIN TRY if not exists (select top 1 1 from @DBQueueElements ) begin goto EndLabel end if isnull(@Dummy_no_Check_For_Existing, 0) \r\n<> -1111 or isnull(@Dummy_Sort_Order, 0) <> -1111 begin set XACT_ABORT ON  RAISERROR ('#LDS#Obsolete parameters used.|', 18, 1) WITH NOWAIT end if dbo.QBM_FGISessionContext\r\n('TempQueue') > ' ' begin if OBJECT_ID('tempdb..#QBMDBQueueTemp') is not null begin  if exists (select top 1 1 from QBMDBQueueTaskMetric f with (readpast\r\n) where f.UID_Task = @UID_Task ) begin    insert into #QBMDBQueueTemp(UID_Task, Object, SubObject, GenProcID) select @UID_Task, e.Object, e.SubObject, \r\ne.GenProcID from @DBQueueElements e goto endLabel end else begin delete @ErrorBuffer insert into @ErrorBuffer (ErrorMessage, ErrorSeverity, ErrorState,\r\n ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode) select concat('#LDS#Internal error: no valid Task given ({0}).|'\r\n , isnull(@UID_Task, '<empty>') , '|.' ),18, 1, 50000 , object_name(@@PROCID), ERROR_LINE(), GETUTCDATE() , null, 0, 0, null exec QBM_PSessionErrorAdd \r\n@ErrorBuffer set XACT_ABORT ON  RAISERROR('', 18, 1) with nowait end end  else begin  exec QBM_PJournal '#LDS#Internal error: SessionContext set, #QBMDBQueueTemp not existent.|'\r\n, @@procid, 'D', @DebugLevel end end   select @PondGroup = dbo.QBM_FGISessionContext('QBMDBQueuePond') if @PondGroup > ' ' begin  if exists (select top\r\n 1 1 from QBMDBQueueTaskMetric f with (readpast) where f.UID_Task = @UID_Task ) begin    insert into QBMDBQueuePond(UID_Task, Object, SubObject, GenProcID\r\n, PondGroup, InsertDate) select @UID_Task, e.Object, e.SubObject, e.GenProcID, @PondGroup, GETUTCDATE() from @DBQueueElements e  exec QBM_PSessionContextSet\r\n 'INSERTEDINTODBQUEUE', '1' goto endLabel end else begin delete @ErrorBuffer insert into @ErrorBuffer (ErrorMessage, ErrorSeverity, ErrorState, ErrorNumber\r\n , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode) select concat('#LDS#Internal error: no valid Task given ({0}).|'\r\n , isnull(@UID_Task, '<empty>') , '|.' ),18, 1, 50000 , object_name(@@PROCID), ERROR_LINE(), GETUTCDATE() , null, 0, 0, null exec QBM_PSessionErrorAdd \r\n@ErrorBuffer set XACT_ABORT ON RAISERROR('', 18, 1) with nowait end end  Standard:  exec QBM_PDBQueueInsert_Int @UID_Task = @UID_Task , @DBQueueElements\r\n = @DBQueueElements   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDBQueueInsert_Int",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.497",
      "ModifyDate": "2026-04-14T23:16:09.157",
      "Definition": "      create   procedure QBM_PDBQueueInsert_Int (@UID_Task varchar(38) , @DBQueueElements QBM_YDBQueueRaw readonly          ) as begin  declare \r\n@msg nvarchar(255) declare @PathLength_intern int  declare @UID_TaskAutomatedFollower varchar(38) declare @UID_TaskAutomatedPredecessor varchar(38) declare\r\n @IsNoGenProcIDCheck bit declare @CountParameter int   declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) =\r\n dbo.QBM_FGISessionContext('XUser') declare @myName nvarchar(64) declare @UID_Task_Intern varchar(38) declare @DebugStarttime datetime = getutcdate() declare\r\n @DebugLevel char(1) = 'W' declare @DebugMessage nvarchar(4000) declare @DebugSwitch int = 0 declare @GenProcIDForAutomated varchar(38)  declare @RowsFilledIn\r\n int = 0  declare @Compressed QBM_YDBQueueRaw declare @ErrorBuffer QBM_YSessionError SET XACT_ABORT OFF BEGIN TRY  if not exists (select top 1 1 from @DBQueueElements\r\n ) begin goto endlabel end select top 1 @GenProcIDForAutomated = e.GenProcID from @DBQueueElements e select @myName = 'QBM_PDBQueueInsert_Bulk'    if @UID_Task\r\n in ('QBM-K-CommonWaitForCompiler' , 'QBM-K-BaseMigrationReady') begin update DialogDatabase set UID_CutOffTask = @UID_Task where IsMainDatabase = 1 end\r\n exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet 'XUser', @myName select @Debugmessage = concat('inserted task ' , @UID_Task\r\n) if @DebugSwitch > 0 begin exec QBM_PJournal @Debugmessage, @@procid, 'D', @DebugLevel end select top 1 @UID_Task_Intern = t.uid_task , @CountParameter\r\n = t.CountParameter , @UID_TaskAutomatedFollower = t.UID_TaskAutomatedFollower , @UID_TaskAutomatedPredecessor = t.UID_TaskAutomatedPredecessor , @IsNoGenProcIDCheck\r\n = t.IsNoGenProcIDCheck , @PathLength_intern = t.PathLength from QBMDBQueueTaskMetric t with (readpast)  where UID_Task = @UID_Task if isnull(@UID_Task_Intern\r\n,'') = '' begin  select top 1 @UID_Task_Intern = t.uid_task , @CountParameter = t.CountParameter , @UID_TaskAutomatedFollower = t.UID_TaskAutomatedFollower\r\n , @UID_TaskAutomatedPredecessor = t.UID_TaskAutomatedPredecessor , @IsNoGenProcIDCheck = t.IsNoGenProcIDCheck , @PathLength_intern = 11  from QBMDBQueueTask\r\n t with (readpast) where UID_Task = @UID_Task if isnull(@UID_Task_Intern,'') = '' begin delete @ErrorBuffer insert into @ErrorBuffer (ErrorMessage, ErrorSeverity\r\n, ErrorState, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode) select concat( '#LDS#Internal error: no valid Task given ({0}).|'\r\n , isnull(@UID_Task, '<empty>') , '|.' ),18, 1, 50000 , object_name(@@procid), ERROR_LINE(), GETUTCDATE() , null, 0, 0, null exec QBM_PSessionErrorAdd \r\n@ErrorBuffer set XACT_ABORT ON  RAISERROR('', 18, 1) with nowait end end if @DebugSwitch > 0 begin print @myName + ' task ' + @UID_Task + ' nestlevel '\r\n + str(@@nestlevel) print 'CountItems Parameter ' + str(@CountParameter)         end if @CountParameter > 0 begin            if exists (select top 1 1 \r\nfrom @DBQueueElements e where isnull(e.GenProcID, '') = '' ) begin  select @msg = '#LDS#Internal error: no GenProcID given.|' RAISERROR(@msg, 18, 1) with\r\n nowait  end end  if @IsNoGenProcIDCheck = 0 begin if '1' <> dbo.QBM_FGIConfigparmValue('Common\\ProcessState') begin select @IsNoGenProcIDCheck = 1 end\r\n end if @UID_Task_Intern in ('QBM-K-CommonReCalculate'  ) begin insert into DialogDBQueue (UID_DialogDBQueue, UID_Task, object, SubObject, PathLength, \r\nGenProcID) select newid(), @UID_Task_Intern, x.Object , null, t.PathLength as PathLength , x.GenProcID from ( select e.Object as Object, MAX(e.GenProcID\r\n) as GenprocID from @DBQueueElements e where e.Object > ' ' group by e.Object ) as x join QBMDBQueueTaskMetric t with (readpast) on x.Object = t.uid_task\r\n   where Not exists (select top 1 1 from DialogDBQueue q with (readpast) where q.UID_Task = @UID_Task_Intern and q.Object = x.Object    and q.Generation\r\n >= 0 )  select @RowsFilledIn = @@ROWCOUNT if @RowsFilledIn > 0 begin  exec QBM_PSessionContextSet 'INSERTEDINTODBQUEUE', '1' end goto EndLabel end  if\r\n @UID_Task_Intern in ('QBM-K-XMarkedForDeletionPush', 'QBM-K-XDateSubItemUpdate', 'QBM-K-XDateSubItemUpdateFU') begin if exists (select top 1 1 from @DBQueueElements\r\n e join DialogTable t with (readpast) on e.Object = t.UID_DialogTable ) begin set XACT_ABORT ON  RAISERROR ('#LDS#Invalid parameter order.|', 18, 1) WITH\r\n NOWAIT end end  if @UID_Task_Intern in ('QBM-K-CommonTaskStart') begin if exists (select top 1 1 from @DBQueueElements e join DialogTable t with (readpast\r\n) on e.Object = t.UID_DialogTable ) begin set XACT_ABORT ON  RAISERROR ('#LDS#Invalid Task QBM-K-CommonTaskStart.|', 18, 1) WITH NOWAIT end end if @CountParameter\r\n = 0 begin if @IsNoGenProcIDCheck = 0 begin                       insert into DialogDBQueue (uid_DialogDBQueue, UID_Task, object, SubObject, PathLength\r\n, GenProcID) select newid(), @UID_Task_Intern, null , null, @PathLength_intern, @GenProcIDForAutomated select @RowsFilledIn = @@ROWCOUNT if @RowsFilledIn\r\n > 0 begin  exec QBM_PSessionContextSet 'INSERTEDINTODBQUEUE', '1' end  end else  begin                       insert into DialogDBQueue (uid_DialogDBQueue\r\n, UID_Task, object, SubObject, PathLength, GenProcID) select newid(), @UID_Task_Intern, null , null, @PathLength_intern, @GenProcIDForAutomated select \r\n@RowsFilledIn = @@ROWCOUNT if @RowsFilledIn > 0 begin  exec QBM_PSessionContextSet 'INSERTEDINTODBQUEUE', '1' end  end end  if @CountParameter = 1 begin\r\n if @IsNoGenProcIDCheck = 0 begin insert into @Compressed (Object, GenProcID) select distinct e.Object as Object, e.GenProcID as GenprocID from @DBQueueElements\r\n e where e.Object > ' ' end else begin insert into @Compressed (Object, GenProcID) select e.Object as Object, MAX(e.GenProcID) as GenprocID from @DBQueueElements\r\n e where e.Object > ' ' group by e.Object end if @IsNoGenProcIDCheck = 0 begin                          insert into DialogDBQueue (uid_DialogDBQueue, UID_Task\r\n, object, SubObject, PathLength, GenProcID) select newid(), @UID_Task_Intern, x.Object , null, @PathLength_intern, x.GenProcID from @Compressed x select\r\n @RowsFilledIn = @@ROWCOUNT if @RowsFilledIn > 0 begin  exec QBM_PSessionContextSet 'INSERTEDINTODBQUEUE', '1' end  end else  begin                    \r\n      insert into DialogDBQueue (uid_DialogDBQueue, UID_Task, object, SubObject, PathLength, GenProcID) select newid(), @UID_Task_Intern, x.Object , null\r\n, @PathLength_intern, x.GenProcID from @Compressed x select @RowsFilledIn = @@ROWCOUNT if @RowsFilledIn > 0 begin  exec QBM_PSessionContextSet 'INSERTEDINTODBQUEUE'\r\n, '1' end  end end  if @CountParameter = 2 begin if @IsNoGenProcIDCheck = 0 begin insert into @Compressed (Object, SubObject, GenProcID) select distinct\r\n e.Object as Object, e.SubObject as SubObject, e.GenProcID as GenprocID from @DBQueueElements e where e.Object > ' ' and e.SubObject > ' ' end else begin\r\n insert into @Compressed (Object, SubObject, GenProcID) select e.Object as Object, e.SubObject as SubObject, MAX(e.GenProcID) as GenprocID from @DBQueueElements\r\n e where e.Object > ' ' and e.SubObject > ' ' group by e.Object, e.SubObject end if @IsNoGenProcIDCheck = 0 begin                            insert into\r\n DialogDBQueue (uid_DialogDBQueue, UID_Task, object, SubObject, PathLength, GenProcID) select newid(), @UID_Task_Intern, x.Object , x.SubObject, @PathLength_intern\r\n, x.GenProcID from @Compressed x select @RowsFilledIn = @@ROWCOUNT if @RowsFilledIn > 0 begin  exec QBM_PSessionContextSet 'INSERTEDINTODBQUEUE', '1' end\r\n  end else  begin                            insert into DialogDBQueue (uid_DialogDBQueue, UID_Task, object, SubObject, PathLength, GenProcID) select newid\r\n(), @UID_Task_Intern, x.Object , x.SubObject, @PathLength_intern, x.GenProcID from @Compressed x select @RowsFilledIn = @@ROWCOUNT if @RowsFilledIn > 0\r\n begin  exec QBM_PSessionContextSet 'INSERTEDINTODBQUEUE', '1' end  end end  if @RowsFilledIn > 0 and ( @UID_TaskAutomatedFollower > ' ' or @UID_TaskAutomatedPredecessor\r\n > ' ' ) begin if @UID_TaskAutomatedFollower > ' ' begin exec QBM_PDBQueueInsert_Single @UID_TaskAutomatedFollower, '', '', @GenProcIDForAutomated end \r\nif @UID_TaskAutomatedPredecessor > ' ' begin exec QBM_PDBQueueInsert_Single @UID_TaskAutomatedPredecessor, '', '', @GenProcIDForAutomated end end  if @DebugSwitch\r\n > 0 begin print 'vor dem Catchblock' end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: exec\r\n QBM_PSessionContextSet 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet 'XUser', @XUser_R if @DebugSwitch > 0 begin exec QBM_PJournal @Debugstarttime\r\n, @@procid, 'T', @Debuglevel end if @DebugSwitch > 0 begin print 'vor dem Return Bulkinsert' end return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDBQueueInsert_Single",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.513",
      "ModifyDate": "2026-04-14T23:16:09.18",
      "Definition": "    create   procedure QBM_PDBQueueInsert_Single (@UID_Task varchar(38), @object varchar(38), @SubObject varchar(38), @GenProcID varchar(38)  , \r\n@Dummy_no_Check_For_Existing int = -1111  , @Dummy_Sort_Order int = -1111 ) as begin  declare @DebugStartTime datetime = getutcdate() declare @Debuglevel\r\n char(1) = 'W' declare @ErrorMessage nvarchar(4000) declare @ErrorSeverity int declare @ErrorState int SET XACT_ABORT OFF BEGIN TRY if isnull(@Dummy_no_Check_For_Existing\r\n, 0) <> -1111 or isnull(@Dummy_Sort_Order, 0) <> -1111 begin set XACT_ABORT ON  RAISERROR ('#LDS#Obsolete parameters used.|', 18, 1) WITH NOWAIT end  if\r\n isnull(@GenProcID, '') = '' begin select @ErrorMessage = concat('empty GenProcID, Task = ' , isnull(@UID_Task, '<no>') , ' Object = ' , isnull(@object\r\n, '<no>') ) exec QBM_PJournal @ErrorMessage, @@ProcID, 'D', @DebugLevel select @GenProcID = dbo.QBM_FGISessionContext('') end declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (Object, subobject, Genprocid) values( @object, @SubObject, @GenProcID) exec QBM_PDBQueueInsert_Bulk @UID_Task\r\n, @DBQueueElements_01    END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR\r\n (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: exec QBM_PJournal @Debugstarttime, @@procid, 'T', @Debuglevel return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDBQueueInsert_WaitForComp",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.567",
      "ModifyDate": "2026-04-14T23:16:09.21",
      "Definition": "   create   procedure QBM_PDBQueueInsert_WaitForComp (@Context varchar(38) , @GenProcID varchar(38) ) as begin declare @UID_Task varchar(38) = 'QBM-K-CommonWaitForCompiler'\r\n declare @Message nvarchar(2000) declare @DebugSwitch int = 0 declare @DebugLevel char(1) = 'W' SET XACT_ABORT OFF BEGIN TRY if exists (select top 1 1 \r\nfrom DialogDatabase d where d.IsMainDatabase = 1 and UID_CutOffTask is null ) begin exec QBM_PDBQueueInsert_Single @UID_Task, '', '', @GenProcID end END\r\n TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT\r\n END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDBQueuePondEnd",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.587",
      "ModifyDate": "2026-04-14T23:16:09.223",
      "Definition": " create   procedure QBM_PDBQueuePondEnd (@PondGroup varchar(38) ) as begin declare @TaskDefs QBM_YCursorBuffer declare @ElementCount int declare\r\n @ElementIndex int declare @UID_Task varchar(38)    declare @PondGroupNew varchar(38) = @PondGroup declare @AnzahlPondGesamt bigint = dbo.QBM_FGITableCountAll\r\n('QBMDBQueuePond') declare @DebugSwitch int = 0 SET XACT_ABORT OFF BEGIN TRY     if @DebugSwitch > 0 begin print dbo.QBM_FCVDatetimeToString(GETUTCDATE\r\n()) + ' Anfang ' end if @AnzahlPondGesamt > 2500000 or exists ( select top 1 1 from ( select p.PondGroup, COUNT(*) as Anzahl, COUNT(distinct checksum(p.UID_Task\r\n , isnull(p.Object, '') , isnull(p.SubObject, ''))) as AnzahlDistinct from QBMDBQueuePond p where p.PondGroup = @PondGroup  group by p.PondGroup ) as x\r\n where x.AnzahlDistinct * 5 < x.Anzahl or x.Anzahl > 500000 ) begin if @DebugSwitch > 0 begin print 'wir verdichten' end select @PondGroupNew = NEWID()\r\n  insert into QBMDBQueuePond(UID_Task, Object, SubObject, GenProcID  , PondGroup, InsertDate) select UID_Task, Object , SubObject , max(GenProcID) as GenProcID\r\n  , @PondGroupNew as PondGroup, MAX(InsertDate) as InsertDate from QBMDBQueuePond p where p.PondGroup = @PondGroup  group by p.UID_Task, p.Object , p.SubObject\r\n end insert into @TaskDefs (UID1) select x.UID_Task from ( select distinct t.UID_Task from QBMDBQueuePond t where t.PondGroup = @PondGroupNew  ) as x join\r\n QBMDBQueueTaskMetric mo on x.UID_Task = mo.UID_Task order by mo.PathLength desc select @ElementCount = @@ROWCOUNT select @ElementIndex = 1     while @ElementIndex\r\n <= @ElementCount begin select top 1 @UID_Task = bu.UID1       from @TaskDefs bu where bu.ElementIndex = @ElementIndex if @DebugSwitch > 0 begin print \r\ndbo.QBM_FCVDatetimeToString(GETUTCDATE()) + ' Task ' + @UID_Task end exec QBM_P40B0C8AE71E45BA9C883A96_ @PondGroupNew , @UID_Task select @ElementIndex \r\n+= 1 end     if @DebugSwitch > 0 begin print dbo.QBM_FCVDatetimeToString(GETUTCDATE()) + ' Kennzeichnen ' + @PondGroupNew end update QBMDBQueuePond set\r\n GenProcID = 'DELETE' where PondGroup = @PondGroupNew if @PondGroup <> @PondGroupNew begin if @DebugSwitch > 0 begin print dbo.QBM_FCVDatetimeToString(GETUTCDATE\r\n()) + ' Kennzeichnen ' + @PondGroup end update QBMDBQueuePond set GenProcID = 'DELETE' where PondGroup = @PondGroup end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: if @DebugSwitch > 0 begin print dbo.QBM_FCVDatetimeToString(GETUTCDATE()) + ' ferdsch ' \r\nend return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDBQueuePondTimeOut",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.6",
      "ModifyDate": "2026-04-14T23:16:09.23",
      "Definition": "  create   procedure QBM_PDBQueuePondTimeOut as begin declare @GroupsToClose QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int\r\n declare @TimeOutMinutes int = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue('QBM\\DBQueue\\BufferTimeout'), 120) declare @PondGroup varchar(38) SET \r\nXACT_ABORT OFF BEGIN TRY insert into @GroupsToClose (UID1) select p.PondGroup from QBMDBQueuePond p with (readpast) where  p.GenProcID <> 'DELETE' group\r\n by p.PondGroup having max(p.InsertDate) < dateadd(mi, (-1 * @TimeOutMinutes), getutcdate()) select @ElementCount = @@ROWCOUNT select @ElementIndex = 1\r\n while @ElementIndex <= @ElementCount begin select top 1 @PondGroup = bu.UID1 from @GroupsToClose bu where bu.ElementIndex = @ElementIndex exec QBM_PDBQueuePondEnd\r\n @PondGroup select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: \r\nreturn end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDBQueuePrepareForCompiler",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.557",
      "ModifyDate": "2026-04-14T23:16:09.203",
      "Definition": "    create   procedure QBM_PDBQueuePrepareForCompiler (  @UID_Task varchar(38) = 'QBM-K-CommonWaitForCompiler' ) AS begin declare @result int = \r\n0  declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser') SET XACT_ABORT OFF\r\n BEGIN TRY if exists (select top 1 1 from DialogDatabase d where d.IsMainDatabase = 1 and UID_CutOffTask is null ) begin exec QBM_PDBQueueInsert_Single\r\n @UID_Task, '', '', @GenProcID_R end else begin select @result = 1 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000\r\n) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return (@result) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDBQueueReplGenProcID",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.48",
      "ModifyDate": "2026-04-14T23:16:09.147",
      "Definition": "      create   procedure QBM_PDBQueueReplGenProcID (@UID_Task varchar(38) , @SlotNumber int , @ExecutionType int     , @CountParameter int ) as \r\nbegin  declare @object varchar(38) declare @SubObject varchar(38) declare @GenProcIDNew varchar(38) declare @GenProcIDFallBack varchar(38) = newid() declare\r\n @AnzahlInGruppe int declare @Doppelte QBM_YMNTable   declare @ReplaceLimit int declare @Compresslimit int  declare @CountItems int  declare @DebugSwitch\r\n int = 0 declare @deadlockcounter int declare @waittime float  declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex\r\n int declare @Repair QBM_YHelperQueueRepair declare @Substitute QBM_YHelperQueueSubstitute declare @SlotNumberSource int declare @SlotNumberTarget int \r\ndeclare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved int SET XACT_ABORT OFF BEGIN TRY select @waittime = convert(float, @SlotNumber) * 0.15\r\n if @DebugSwitch > 0 begin print 'im replacer angekommen, Trancount ' + str(@@trancount) print 'aktives Slot ' + str(@slotnumber) end select @ReplaceLimit\r\n = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue('QBM\\DBQueue\\GenProcIDReplaceLimit'), 6)        if @@rowcount = 0 begin  goto ende end if '' = dbo.QBM_FGIConfigparmValue\r\n ('Common\\ProcessState')  begin select @compresslimit = 1 end else begin select @compresslimit = @ReplaceLimit  end delete  @Repair    if @DebugSwitch \r\n> 0 begin print 'ReplGenProcID vor Doppelte :' + nchar(9) + convert(nvarchar(64), GETUTCDATE(), 121) end  if @countparameter = 0 begin insert into @Doppelte\r\n (UID_Element1 , UID_Element2 , XOrigin ) select '' as object , '' as subobject , CountItems from ( select Count(*) as CountItems from QBMDBQueueCurrent\r\n with (readpast) where SlotNumber = @SlotNumber ) as x where x.CountItems > 1 select @CountItems = @@rowcount if @DebugSwitch > 0 begin print 'doppelte ermittelt für Parameter 0, Stückzahl '\r\n + str(@CountItems) end end if @countparameter = 1 begin insert into @Doppelte (UID_Element1 , UID_Element2 , XOrigin ) select isnull(uid_parameter, ''\r\n) as object , '' as subobject , CountItems from ( select uid_parameter , Count(*) as CountItems from QBMDBQueueCurrent with (readpast) where SlotNumber\r\n = @SlotNumber group by uid_parameter having count(*) > 1 ) as x select @CountItems = @@rowcount if @DebugSwitch > 0 begin print 'doppelte ermittelt für Parameter 1, Stückzahl '\r\n + str(@CountItems) end end if @countparameter = 2 begin insert into @Doppelte (UID_Element1 , UID_Element2 , XOrigin ) select uid_parameter as object \r\n, uid_SubParameter as subobject , CountItems from ( select uid_parameter , uid_Subparameter, Count(*) as CountItems from QBMDBQueueCurrent with (readpast\r\n) where SlotNumber = @SlotNumber group by uid_parameter, uid_SubParameter  having count(*) > 1 ) as x select @CountItems = @@rowcount if @DebugSwitch >\r\n 0 begin print 'doppelte ermittelt für Parameter 2, Stückzahl ' + str(@CountItems) end end if @CountItems = 0 begin if @DebugSwitch > 0 begin print 'ReplGenProcID keine Doppelte :'\r\n + nchar(9) + convert(nvarchar(64), GETUTCDATE(), 121) end goto ende end if @DebugSwitch > 0 begin print 'ReplGenProcID nach Doppelte :' + nchar(9) + convert\r\n(nvarchar(64), GETUTCDATE(), 121) end  if @countParameter = 0 begin insert into @Repair (UID_DialogDBQueue, object, subobject, GenProcIDNew , GenProcIDOrigin\r\n, Xtouched, Generation ) select q.UID_DialogDBQueue, '', '', '' , case when isnull(q.GenProcID,'') = '' then @GenProcIDFallBack else q.GenProcID end , \r\n'' , q.Generation from QBMDBQueueCurrent q with (readpast) join @Doppelte x on q.SlotNumber = @SlotNumber option (maxdop 1) select @CountItems = @@rowcount\r\n end if @countParameter = 1 begin insert into @Repair (UID_DialogDBQueue, object, subobject, GenProcIDNew , GenProcIDOrigin, Xtouched, Generation ) select\r\n q.UID_DialogDBQueue, x.UID_Element1 , '', '' , case when isnull(q.GenProcID,'') = '' then @GenProcIDFallBack else q.GenProcID end , '' , q.Generation \r\nfrom QBMDBQueueCurrent q with (readpast) join @Doppelte x on x.UID_Element1  = isnull(q.uid_parameter,'') collate database_default and q.SlotNumber = @SlotNumber\r\n option (maxdop 1) select @CountItems = @@rowcount end if @countParameter = 2 begin insert into @Repair (UID_DialogDBQueue, object, subobject, GenProcIDNew\r\n , GenProcIDOrigin, Xtouched, Generation ) select q.UID_DialogDBQueue, x.UID_Element1 , x.UID_Element2 , '' , case when isnull(q.GenProcID,'') = '' then\r\n @GenProcIDFallBack else q.GenProcID end , '' , q.Generation from QBMDBQueueCurrent q with (readpast) join @Doppelte x on x.UID_Element1  = isnull(q.uid_parameter\r\n,'') collate database_default and x.UID_Element2  = isnull(q.uid_subparameter,'') collate database_default and q.SlotNumber = @SlotNumber option (maxdop\r\n 1) select @CountItems = @@rowcount end  if @CountItems = 0 begin if @DebugSwitch > 0 begin print 'Replace keine Gruppen gefunden:' + convert(nvarchar(64\r\n), GETUTCDATE(), 121) end goto ende end      select @deadlockcounter = 150 while @deadlockcounter > 0 begin BEGIN TRY select @SlotNumberSource = @SlotNumber\r\n  select @SlotnumberTarget = 0 delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select cul.UID_DialogDBQueue from @Repair cul exec \r\n@RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget          select @deadlockcounter = 0 END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default if dbo.QBM_FGISessionErrorIsDeadlock(default) = 1 begin exec QBM_PWaitForSeconds @waittime select @deadlockcounter -= 1 end\r\n else begin RAISERROR ('', 18, 1) WITH NOWAIT end END CATCH end  exec QBM_PSessionErrorClean    delete  @Substitute  insert into @Substitute (GenProcIDOrigin\r\n, GenProcIDNew) select GenProcIDOrigin, GenProcIDNew from DialogProcessSubstitute s where exists (select top 1 1 from @Repair r where s.GenProcIDOrigin\r\n = r.GenProcIDOrigin ) or exists (select top 1 1 from @Repair r where s.GenProcIDNew = r.GenProcIDOrigin ) option (maxdop 1)  if @DebugSwitch > 0 begin\r\n print 'DialogProcessSubstitute initialbefüllung' end  insert into @Substitute (GenProcIDOrigin, GenProcIDNew) select GenProcIDOrigin, GenProcIDNew from\r\n DialogProcessSubstitute s where exists ( select top 1 1 from @Substitute sx where sx.GenProcIDNew = s.GenProcIDNew ) and not exists (select top 1 1 from\r\n @Substitute x where x.GenProcIDOrigin = s.GenProcIDOrigin and x.GenProcIDNew = s.GenProcIDNew )  update @Substitute set CountOrigin = x.CountItems from\r\n @Substitute s, ( select GenProcIDNew , count(*) as CountItems from @Substitute group by GenProcIDNew ) as x where s.GenProcIDNew = x.GenProcIDNew  if \r\n@DebugSwitch > 0 begin print ' vor Substitute-Anwendung' end  if @CountParameter = 0 begin insert into @Repair (UID_DialogDBQueue, object, subobject, GenProcIDNew\r\n, GenProcIDOrigin, Xtouched, Generation ) select newid(), x.object, x.subobject, x.GenProcIDNew, x.GenProcIDOrigin, '', x.Generation from ( select '' as\r\n object, '' as subobject , '' as GenProcIDNew, s.GenProcIDOrigin, MAX(r.Generation) as Generation from @Repair r join @Substitute s on r.GenProcIDOrigin\r\n = s.GenProcIDNew where Not exists (select top 1 1 from @Repair r2 where r2.GenProcIDOrigin = s.GenProcIDOrigin ) group by s.GenProcIDOrigin ) as x option\r\n (maxdop 1) end if @CountParameter = 1 begin insert into @Repair (UID_DialogDBQueue, object, subobject, GenProcIDNew, GenProcIDOrigin, Xtouched, Generation\r\n ) select newid(), x.object, x.subobject, x.GenProcIDNew, x.GenProcIDOrigin, '', x.Generation from ( select r.object, '' as subobject , '' as GenProcIDNew\r\n, s.GenProcIDOrigin, MAX(r.Generation) as Generation from @Repair r join @Substitute s on r.GenProcIDOrigin = s.GenProcIDNew where Not exists (select top\r\n 1 1 from @Repair r2 where r2.object = r.object and r2.GenProcIDOrigin = s.GenProcIDOrigin ) group by r.object, s.GenProcIDOrigin ) as x option (maxdop\r\n 1) end if @CountParameter = 2 begin insert into @Repair (UID_DialogDBQueue, object, subobject, GenProcIDNew, GenProcIDOrigin, Xtouched, Generation ) select\r\n newid(), x.object, x.subobject, x.GenProcIDNew, x.GenProcIDOrigin, '', x.Generation from ( select r.object, r.subobject, '' as GenProcIDNew, s.GenProcIDOrigin\r\n, MAX(r.Generation) as Generation from @Repair r join @Substitute s on r.GenProcIDOrigin = s.GenProcIDNew where Not exists (select top 1 1 from @Repair\r\n r2 where r2.object = r.object and r2.subobject = r.subobject and r2.GenProcIDOrigin = s.GenProcIDOrigin ) group by r.object, r.subobject, s.GenProcIDOrigin\r\n ) as x option (maxdop 1) end  if @DebugSwitch > 0 begin print ' nach Substitute-Anwendung' end  update @Repair set GenProcIDNew = '' , GenProcIDOrigin\r\n = s.GenProcIDOrigin from @Repair r join @Substitute s on r.GenProcIDOrigin = s.GenProcIDNew option (maxdop 1) if @DebugSwitch > 0 begin print ' nach Update-Anwendung'\r\n end     if @CountParameter = 0 begin if exists (select top 1 1 from @Repair group by GenProcIDorigin having count(*) > 1 ) begin delete  @Repair from \r\n@Repair qr, (select min(uid_dialogdbqueue) as uid_dialogdbqueue ,GenProcIDOrigin from @Repair group by GenProcIDorigin having count(*) > 1 ) as x where\r\n qr.GenProcIDorigin = x.GenProcIDorigin and qr.uid_dialogdbqueue <> x.uid_dialogdbqueue end  end  if @CountParameter = 1 begin if exists (select top 1 \r\n1 from @Repair group by object, GenProcIDorigin having count(*) > 1 ) begin delete  @Repair from @Repair qr , (select min(uid_dialogdbqueue) as uid_dialogdbqueue\r\n , object, GenProcIDOrigin from @Repair group by object, GenProcIDorigin having count(*) > 1 ) as x where qr.Object = x.object and qr.GenProcIDOrigin =\r\n x.GenProcIDorigin and qr.uid_dialogdbqueue <> x.uid_dialogdbqueue end  end  if @CountParameter = 2 begin if exists (select top 1 1 from @Repair group \r\nby object, subobject, GenProcIDorigin having count(*) > 1 ) begin delete  @Repair from @Repair qr , (select min(uid_dialogdbqueue) as uid_dialogdbqueue\r\n , object, subobject, GenProcIDOrigin from @Repair group by object, subobject, GenProcIDorigin having count(*) > 1 ) as x where qr.object = x.object and\r\n qr.subobject = x.subobject and qr.GenProcIDorigin = x.GenProcIDorigin and qr.uid_dialogdbqueue <> x.uid_dialogdbqueue end  end     if @CountParameter \r\n= 0 begin delete  @Repair from @Repair qr, (select min(uid_dialogdbqueue) as uid_dialogdbqueue , count(*) as CountItems from @Repair ) as x where x.CountItems\r\n > @compresslimit and qr.uid_dialogdbqueue <> x.uid_dialogdbqueue end if @CountParameter = 1 begin delete  @Repair from @Repair qr, (select min(uid_dialogdbqueue\r\n) as uid_dialogdbqueue , object from @Repair group by object having count(*) > @compresslimit ) as x where qr.object = x.object and qr.uid_dialogdbqueue\r\n <> x.uid_dialogdbqueue end if @CountParameter = 2 begin delete  @Repair from @Repair qr, (select min(uid_dialogdbqueue) as uid_dialogdbqueue , object,\r\n subobject from @Repair group by object, subobject having count(*) > @compresslimit ) as x where qr.object = x.object and qr.subobject = x.subobject and\r\n qr.uid_dialogdbqueue <> x.uid_dialogdbqueue end        update @Repair set Xtouched = ''  if @CountParameter = 0 begin if 1 = ( select count(*) from @Repair\r\n ) begin update @Repair set XTouched = 'D' insert into QBMDBQueueCurrent(UID_DialogDBQueue , UID_Parameter, uid_SubParameter , GenProcID, SlotNumber, UID_Task\r\n, Generation, StartedAt) select newid(), '', '' , case when isnull(r.GenProcIDOrigin,'') = '' then @GenProcIDFallBack else r.GenProcIDOrigin end , @SlotNumber\r\n, @UID_Task, r.Generation, GETUTCDATE() from @Repair r where xtouched = 'D' option (maxdop 1) end end if @CountParameter = 1 begin update @Repair set XTouched\r\n = 'D' where UID_DialogDBQueue in (select min(r.UID_DialogDBQueue) as UID_DialogDBQueue from @Repair r group by r.object having count(*) = 1 ) option (maxdop\r\n 1) insert into QBMDBQueueCurrent(UID_DialogDBQueue , UID_Parameter, uid_SubParameter , GenProcID, SlotNumber, UID_Task, Generation, StartedAt) select \r\nnewid(), r.object, '' , case when isnull(r.GenProcIDOrigin,'') = '' then @GenProcIDFallBack else r.GenProcIDOrigin end , @SlotNumber, @UID_Task, r.Generation\r\n, GETUTCDATE() from @Repair r where xtouched = 'D' option (maxdop 1) end if @CountParameter = 2 begin update @Repair set XTouched = 'D' where UID_DialogDBQueue\r\n in (select min(r.UID_DialogDBQueue) as UID_DialogDBQueue from @Repair r group by r.object, r.subobject having count(*) = 1 ) option (maxdop 1) insert \r\ninto QBMDBQueueCurrent(UID_DialogDBQueue , UID_Parameter, uid_SubParameter , GenProcID, SlotNumber, UID_Task, Generation, StartedAt ) select newid(), r.object\r\n, r.SubObject , case when isnull(r.GenProcIDOrigin,'') = '' then @GenProcIDFallBack else r.GenProcIDOrigin end , @SlotNumber, @UID_Task, r.Generation, \r\nGETUTCDATE() from @Repair r where xtouched = 'D' option (maxdop 1) end delete  @Repair where xtouched = 'D'    if @countParameter = 0 begin insert into\r\n @ElementBuffer (UID1, UID2, int1) select '' as object, '' as SubObject, count(*) as CountItems from @Repair where xtouched = '' select @ElementCount =\r\n @@ROWCOUNT end if @countParameter = 1 begin insert into @ElementBuffer (UID1, UID2, int1) select object, '' as SubObject, count(*) as CountItems from \r\n@Repair where xtouched = '' group by object select @ElementCount = @@ROWCOUNT end if @countParameter = 2 begin insert into @ElementBuffer (UID1, UID2, \r\nint1) select object, SubObject, count(*) as CountItems from @Repair where xtouched = '' group by object, SubObject select @ElementCount = @@ROWCOUNT end\r\n select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @object = bu.UID1 , @Subobject = bu.UID2 , @AnzahlInGruppe = bu.Int1 \r\nfrom @ElementBuffer bu where bu.ElementIndex = @ElementIndex if @DebugSwitch > 0 begin print ' im Zyklus @Repair' + @object + @Subobject + str( @AnzahlInGruppe\r\n) end  select @GenProcIDNew = null  if @CountParameter = 0 begin select top 1 @GenProcIDNew = s.GenProcIDNew from @Substitute s left outer join @Repair\r\n q on s.GenProcIDOrigin = q.GenProcIDOrigin where s.CountOrigin = @AnzahlInGruppe end if @CountParameter = 1 begin select top 1 @GenProcIDNew = s.GenProcIDNew\r\n from @Substitute s left outer join @Repair q on s.GenProcIDOrigin = q.GenProcIDOrigin where s.CountOrigin = @AnzahlInGruppe and q.object = @Object group\r\n by s.GenProcIDNew having  count(distinct isnull(q.object, '#')) = 1 end if @CountParameter = 2 begin select top 1 @GenProcIDNew = s.GenProcIDNew   from\r\n @Substitute s left outer join @Repair q on s.GenProcIDOrigin = q.GenProcIDOrigin where s.CountOrigin = @AnzahlInGruppe  and q.object = @Object and q.Subobject\r\n = @SubObject group by s.GenProcIDNew having  count(distinct isnull(q.object, '#') + isnull(q.Subobject, '#')) = 1 end if @GenProcIDNew is null  begin \r\nselect @GenProcIDNew = newid()  exec QBM_PProcessCreate @GenProcIDNew, 'DBScheduler', @DisplayName = 'DialogProcessSubstitute'  insert into DialogProcessSubstitute\r\n (GenProcIDNew, GenProcIDOrigin, ReadyForDeleteOrExport) select distinct @GenProcIDNew, GenProcIDOrigin, 0 from @Repair where object = @object and subobject\r\n = @Subobject and isnull(XTouched, '') <> 'D' insert into @Substitute (GenProcIDNew, GenProcIDOrigin, CountOrigin) select distinct @GenProcIDNew, GenProcIDOrigin\r\n, @AnzahlInGruppe from @Repair where object = @object and subobject = @Subobject and isnull(XTouched, '') <> 'D' if @DebugSwitch > 0 begin print 'neue @GenProcIDNew vergeben'\r\n end end  if @CountParameter = 0 begin update @Repair set GenProcIDNew = @GenProcIDNew where isnull(GenProcIDNew,'') <> @GenProcIDNew end if @CountParameter\r\n = 1 begin update @Repair set GenProcIDNew = @GenProcIDNew where object = @object and isnull(GenProcIDNew,'') <> @GenProcIDNew end if @CountParameter =\r\n 2 begin update @Repair set GenProcIDNew = @GenProcIDNew where object = @object and subobject = @Subobject and isnull(GenProcIDNew,'') <> @GenProcIDNew\r\n end  select @ElementIndex += 1 end   if @DebugSwitch > 0 begin print 'durchgerechnet' end     if @countParameter = 0 begin insert into QBMDBQueueCurrent\r\n(UID_DialogDBQueue , UID_Parameter, uid_SubParameter , GenProcID , SlotNumber, UID_Task, Generation, StartedAt) select newid(), '', '' , case when isnull\r\n(x.GenProcIDNew,'') = '' then @GenProcIDFallBack else x.GenProcIDNew end , @SlotNumber, @UID_Task, x.Generation, GETUTCDATE() from (select r.GenProcIDNew\r\n, MAX(r.Generation) as Generation from @Repair r  group by GenProcIDNew ) as x option (maxdop 1) end if @countParameter = 1 begin insert into QBMDBQueueCurrent\r\n (UID_DialogDBQueue , UID_Parameter, uid_SubParameter , GenProcID , SlotNumber, UID_Task, Generation, StartedAt) select newid(), x.object, '' , case when\r\n isnull(x.GenProcIDNew,'') = '' then @GenProcIDFallBack else x.GenProcIDNew end , @SlotNumber, @UID_Task, x.Generation, GETUTCDATE() from (select object\r\n, GenProcIDNew, MAX(r.Generation) as Generation from @Repair r  group by object, GenProcIDNew ) as x option (maxdop 1) end if @countParameter = 2 begin\r\n insert into QBMDBQueueCurrent(UID_DialogDBQueue , UID_Parameter, uid_SubParameter , GenProcID , SlotNumber, UID_Task, Generation, StartedAt) select newid\r\n(), x.object, x.subobject , case when isnull(x.GenProcIDNew,'') = '' then @GenProcIDFallBack else x.GenProcIDNew end , @SlotNumber, @UID_Task, x.Generation\r\n, GETUTCDATE() from (select object, subobject , GenProcIDNew, max(r.Generation) as Generation from @Repair r  group by object, subobject, GenProcIDNew \r\n) as x option (maxdop 1) end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH if @DebugSwitch > 0 begin\r\n print 'replacer kurz vor Ende, Trancount ' + str(@@trancount) end ende:  if @DebugSwitch > 0 begin print 'ReplGenProcID Ende :' + nchar(9) + convert(nvarchar\r\n(64), GETUTCDATE(), 121) end  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDCB6A2129D7D15765BA077A_",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.127",
      "ModifyDate": "2026-04-14T23:20:31.603",
      "Definition": "create   procedure QBM_PDCB6A2129D7D15765BA077A_ (@Portion int , @AllObjectKeysIn QBM_YObjectKeyAndPortion readonly  , @TableToDelete varchar (30\r\n)     , @GenProcID varchar(38) , @AdditionalObjectKeysAffected QBM_YParameterList readOnly    , @isToFreezeOnError bit = 0 , @Retries int = 0 , @priority\r\n int = 5 , @Jobchainname nvarchar(256) = null , @StartAt datetime = null , @BasisObjectKey varchar(138) = N'' , @XUser nvarchar(64) = null , @WhereClauseAdditional\r\n nvarchar(max) = '' , @checkForExisting bit = 0 , @QueueName nvarchar(256) = null ) as begin declare @ObjectKeys_Part QBM_YParameterList declare @Sammler\r\n nvarchar(max) declare @ObjectKeysAffected QBM_YParameterList SET XACT_ABORT OFF BEGIN TRY insert into @ObjectKeys_Part(Parameter1) select i.Objectkey \r\nfrom @AllObjectKeysIn i where i.Portion = @Portion if @@ROWCOUNT = 0 begin goto endLabel end select @sammler = concat('XObjectKey in ' , dbo.QBM_FCVParameter1AsOneInClause\r\n(@ObjectKeys_Part) )  if not exists (select top 1 1 from @AdditionalObjectKeysAffected where Parameter1 > ' ' and Parameter2 is null ) begin insert into\r\n @ObjectKeysAffected(Parameter1) select a.Parameter1 from @AdditionalObjectKeysAffected a join @ObjectKeys_Part s on a.Parameter2 = s.Parameter1 union \r\nselect Parameter1 from @ObjectKeys_Part end else begin  insert into @ObjectKeysAffected(Parameter1) select a.Parameter1 from @AdditionalObjectKeysAffected\r\n a union select Parameter1 from @ObjectKeys_Part end exec QBM_PJobCreate_SQLDel @TableToDelete , @Sammler , @GenProcID , @ObjectKeysAffected , @isToFreezeOnError\r\n , @Retries , @priority , @Jobchainname , @StartAt , @BasisObjectKey , @XUser , @WhereClauseAdditional , @checkForExisting , @QueueName END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDebug",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.367",
      "ModifyDate": "2026-04-14T23:20:26.067",
      "Definition": "create   procedure QBM_PDebug ( @Message nvarchar(max) , @ProcID int ) as begin declare @DebugLevel varchar(1) = 'D' exec QBM_PJournal @Message,\r\n @procid, 'D', @DebugLevel end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDeleteBulk",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.193",
      "ModifyDate": "2026-04-14T23:20:25.88",
      "Definition": "     create   procedure QBM_PDeleteBulk (@TableName varchar(30) , @whereclause nvarchar(max) , @RowLimit int = 500 , @MaxLimit int = 100000000  \r\n) as begin declare @CountKeyColumns int  declare @KeyColumn_intern_1 varchar(30) = null declare @KeyColumn_intern_2 varchar(30) declare @SQLCmd nvarchar\r\n(max) = null declare @Message nvarchar(max) declare @CountItems int declare @ColLen_1 int declare @ColLen_2 int declare @CountTotal int declare @uid_dialogTable\r\n varchar(38) declare @DebugSwitch int = 0 declare @Durchlaufzaehler int = 0 declare @SQLDefault nvarchar(max) , @SQLRecompile nvarchar(max) SET XACT_ABORT\r\n OFF BEGIN TRY select top 1 @CountKeyColumns = t.CountKeyColumns , @KeyColumn_intern_1 = t.KeyColumn1 , @KeyColumn_intern_2 = t.KeyColumn2 , @ColLen_1 \r\n= t.KeyLen1 , @ColLen_2 = t.KeyLen2 from ( values( 'DialogWatchOperation', 1, 'UID_DialogWatchOperation', 38, '', 0) , ('DialogJournal', 1, 'UID_DialogJournal'\r\n, 38, '', 0) , ('DialogProcessChain', 1, 'UID_Tree', 38, '', 0) , ('DialogProcessSubstitute', 2, 'GenProcIDOrigin', 38, 'GenProcIDNew', 38) , ('DialogProcess'\r\n, 1, 'GenProcID', 38, '', 0) , ('JobQueueStats', 1, 'UID_JobQueueStats', 38, '', 0) , ('JobHistory', 1, 'UID_JobHistory', 38, '', 0) , ('QBMDBQueueCurrent'\r\n, 1, 'UID_DialogDBQueue', 38, '', 0) , ('DialogDBQueue', 1, 'UID_DialogDBQueue', 38, '', 0) ) as t (TableName, CountKeyColumns, KeyColumn1,KeyLen1, KeyColumn2\r\n, KeyLen2) where t.TableName = @TableName if @KeyColumn_intern_1 > ' ' begin if @DebugSwitch > 0 begin print 'known table ' + @TableName + ' (' + @KeyColumn_intern_1\r\n + ')' end goto readyToExe end select top 1 @uid_dialogTable = uid_dialogtable from DialogTable with (readpast) where TableName = @TableName select @KeyColumn_intern_2\r\n = N'' select @ColLen_2 = 0 if exists (select top 1 1 from QBM_VSchemaColumns where table_name = @TableName and column_name = 'XObjectKey' ) begin select\r\n @KeyColumn_intern_1 = 'XObjectKey' select @CountKeyColumns = 1 select @ColLen_1 = 138 goto geklaert end select top 1 @CountKeyColumns = count(*) from \r\nDialogColumn c with (readpast) where c.UID_DialogTable = @uid_dialogTable and c.IsPKMember = 1  if @CountKeyColumns not in ( 1, 2) begin select @Message\r\n = 'invalid count of key columns for QBM_PDeleteBulk in table ' + @TableName raiserror(@Message, 18, 1) with nowait end select @ColLen_1 = null select \r\ntop 1 @KeyColumn_intern_1 = c.ColumnName , @ColLen_1 = c.SchemaDataLen from DialogColumn c with (readpast) where c.UID_DialogTable = @uid_dialogTable and\r\n c.IsPKMember = 1 order by c.ColumnName asc if @CountKeyColumns = 2 begin select @ColLen_2 = null select top 1 @KeyColumn_intern_2 = c.ColumnName , @ColLen_2\r\n = c.SchemaDataLen from DialogColumn c with (readpast) where c.UID_DialogTable = @uid_dialogTable and c.IsPKMember = 1 order by c.ColumnName desc end geklaert:\r\n    readytoexe: if @CountKeyColumns = 1 and @ColLen_1 = 38 begin select @SQLcmd = N'\r\n\tdeclare @d QBM_YSingleGUID\r\n\tinsert into @d (UID_SingleGuid)\r\n\tselect top %n% %KeyColumn1%\r\n\t\tfrom %TableName% with (readpast)\r\n\t\twhere ( \r\n%whereclause%\r\n\t\t\t\t)\r\n\t\t--order by %KeyColumn1%\r\n\t\toption (maxdop 1 #recompile#)\r\n\r\n\tif @@rowcount > 0\r\n\t begin\r\n\t\tdelete %TableName%\r\n\t\t\twhere %KeyColumn1% in (select UID_SingleGuid from @d)  \r\n\t\toption (maxdop 1 #recompile#)\r\n\t end\r\n\t\t'\r\n end if @CountKeyColumns = 1 and @ColLen_1 = 138 begin select @SQLcmd = N'\r\n\tdeclare @d QBM_YSingleObjectKey\r\n\tinsert into @d (SingleObjectKey)\r\n\tselect top %n% %KeyColumn1%\r\n\t\tfrom %TableName% with (readpast)\r\n\t\twhere ( \r\n%whereclause%\r\n\t\t\t\t)\r\n\t\t--order by %KeyColumn1%\r\n\t\toption (maxdop 1 #recompile#)\r\n\r\n\tif @@rowcount > 0\r\n\t begin\r\n\t\tdelete %TableName%\r\n\t\t\twhere %KeyColumn1% in (select SingleObjectKey from @d)  \r\n\t\toption (maxdop 1 #recompile#)\r\n\t end\r\n\t\t'\r\n end  if @CountKeyColumns = 1 and @SQLCmd is null   begin select @SQLcmd = N'\r\n\tdeclare @d table (KeyColumn1 varchar(%ColLen_1%) collate database_default \r\n\t\t\t\t\t\t--primary key (KeyColumn1) \r\n\t\t\t\t\t)\r\n\tinsert into @d (KeyColumn1)\r\n\tselect top %n% %KeyColumn1%\r\n\t\tfrom %TableName% with (readpast)\r\n\t\twhere ( \r\n%whereclause%\r\n\t\t\t\t)\r\n\t\t--order by %KeyColumn1%\r\n\t\toption (maxdop 1 #recompile#)\r\n\r\n\tif @@rowcount > 0\r\n\t begin\r\n\t\tdelete %TableName%\r\n\t\t\twhere %KeyColumn1% in (select keyColumn1 from @d)  \r\n\t\toption (maxdop 1 #recompile#)\r\n\t end\r\n\t\t'\r\n end if @CountKeyColumns = 2 and @ColLen_1 = 38 and @ColLen_2 = 38  begin  select @SQLcmd = N'\r\n\tdeclare @d QBM_YMNTable\r\n\tinsert into @d (UID_Element1, UID_Element2)\r\n\tselect top %n% %KeyColumn1%, %KeyColumn2%\r\n\t\tfrom %TableName% with (readpast)\r\n\t\twhere ( \r\n%whereclause%\r\n\t\t\t\t)\r\n\t\t--order by %KeyColumn1%, %KeyColumn2%\r\n\t\toption (maxdop 1 #recompile#)\r\n\r\n\tif @@rowcount > 0\r\n\t begin\r\n\t\tdelete %TableName%\r\n\t\t\tfrom %TableName% t join @d d on d.UID_Element1 = t.%KeyColumn1%\r\n\t\t\t\t\t\t\t\t\t\tand d.UID_Element2 = t.%KeyColumn2%\r\n\t\t\t\t\t\t\t\r\n\t\toption (maxdop 1 #recompile#)\r\n\t  end  '\r\n end  if @CountKeyColumns = 2 and @SQLCmd is null begin  select @SQLcmd = N'\r\n\tdeclare @d table (KeyColumn1 varchar(%ColLen_1%) collate database_default, \r\n\t\t\t\t\t\tKeyColumn2 varchar(%ColLen_2%) collate database_default \r\n\t\t\t\t\t\t--primary key (KeyColumn1, KeyColumn2) \r\n\t\t\t\t\t)\r\n\tinsert into @d (KeyColumn1, KeyColumn2)\r\n\tselect top %n% %KeyColumn1%, %KeyColumn2%\r\n\t\tfrom %TableName% with (readpast)\r\n\t\twhere ( \r\n%whereclause%\r\n\t\t\t\t)\r\n\t\t--order by %KeyColumn1%, %KeyColumn2%\r\n\t\toption (maxdop 1 #recompile#)\r\n\r\n\tif @@rowcount > 0\r\n\t begin\r\n\t\tdelete %TableName%\r\n\t\t\tfrom %TableName% t join @d d on d.KeyColumn1 = t.%KeyColumn1%\r\n\t\t\t\t\t\t\t\t\t\tand d.KeyColumn2 = t.%KeyColumn2%\r\n\t\t\t\t\t\t\t\r\n\t\toption (maxdop 1 #recompile#)\r\n\t  end  '\r\n end select @SQLcmd = replace(replace(replace(replace(replace(replace(replace( @SQLcmd,N'%TableName%', @TableName ), N'%KeyColumn1%', @KeyColumn_intern_1\r\n), N'%KeyColumn2%', @KeyColumn_intern_2), N'%n%', str(@RowLimit)), N'%whereclause%', @whereclause), N'%ColLen_1%', str(@ColLen_1)), N'%ColLen_2%', str(@ColLen_2\r\n)) if @DebugSwitch > 0 begin print isnull(@SQLcmd, '<kein sql>') end select @SQLDefault = REPLACE(@SQLcmd, '#recompile#' , N'') select @SQLRecompile = \r\nREPLACE(@SQLcmd, '#recompile#' , N' , recompile') select @CountTotal = 0 select @CountItems = 1 while (@CountItems > 0 and @CountTotal < @MaxLimit ) begin\r\n  if @Durchlaufzaehler % 10 = 0  begin if @DebugSwitch > 0 begin print @SQLRecompile end exec sp_executesql @SQLRecompile end else begin if @DebugSwitch\r\n > 0 begin print @SQLDefault end exec sp_executesql @SQLDefault end select @CountItems = @@ROWCOUNT select @CountTotal += @CountItems  if @DebugSwitch \r\n> 0 begin print '@CountItems' + str(@CountItems) print '@CountTotal' + str(@CountTotal) end  if @CountItems < @RowLimit begin select @CountItems = 0 end\r\n select @Durchlaufzaehler += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return (@CountTotal) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDeleteDeep",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.8",
      "ModifyDate": "2026-04-14T23:20:26.587",
      "Definition": "  create   procedure QBM_PDeleteDeep (@ObjectKeyStart varchar(138) , @SingleElementProcess bit = 0   , @TestOnly bit = 0  ) as begin declare @ObjectKeys\r\n QBM_YParameterList SET XACT_ABORT OFF BEGIN TRY insert into @ObjectKeys(Parameter1) select @ObjectKeyStart exec QBM_PDeleteDeep_L @ObjectKeys, @SingleElementProcess\r\n, @TestOnly END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow\r\n, 18, 1) WITH NOWAIT END CATCH ende: exec QBM_PTriggerEnable '%', '%'  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDeleteDeep_L",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.797",
      "ModifyDate": "2026-04-14T23:20:26.58",
      "Definition": " create   procedure QBM_PDeleteDeep_L (@ObjectKeysStart QBM_YParameterList readonly , @SingleElementProcess bit = 0   , @TestOnly bit = 0  ) as \r\nbegin declare @lauf int = 0 declare @DebugSwitch int = 0 declare @SortOrder int declare @SQLCmdInsert nvarchar(max) declare @cmd nvarchar(max) declare \r\n@errorDetected bit = 0 declare @ErrorMessage nvarchar(4000) declare @TableName varchar(30) declare @Rownumber int declare @EventName varchar(30) declare\r\n @RestmengeVorhanden int = 0 declare @Abarbeiten table (TableName varchar(30) collate database_default , rownumber int , SortOrder int default 0 , DeepDeleteMethod\r\n varchar(16) collate database_default  , DeepDeleteStatement nvarchar(max) collate database_default ) declare @GenProcID varchar(38) = newid() declare \r\n@ElementLast int declare @ElementBufferMulti QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int SET XACT_ABORT OFF BEGIN TRY set nocount\r\n on drop table if exists #QBMCollectorReferenceElements create table #QBMCollectorReferenceElements (TableName varchar(30) collate database_default , rownumber\r\n int identity , SortOrder int default 0 , DeepDeleteMethod varchar(16) collate database_default  , DeepDeleteStatement nvarchar(max) collate database_default\r\n ) drop table if exists #QBMElementsCollected create table #QBMElementsCollected (ObjectKey varchar(138) collate database_default , DeepDeleteMethod varchar\r\n(16) collate database_default  , ChildColumn varchar(30) collate database_default  primary Key (ObjectKey,ChildColumn) ) insert into #QBMCollectorReferenceElements\r\n(TableName, SortOrder, DeepDeleteMethod, DeepDeleteStatement) select isnull(b.TableName, t.TableName), 10, 'Delete' , 'delete ' + isnull(b.TableName, t.TableName\r\n) + ' where XObjectKey = ''' + s.Parameter1 + '''' from DialogTable t with (readpast) join DialogColumn c1 on t.UID_DialogTable = c1.UID_DialogTable join\r\n @ObjectKeysStart s on s.Parameter1 like '<Key><T>' + t.TableName + '</T>%' and c1.ColumnName = 'XObjectKey' left outer join DialogTable b with (readpast\r\n) on t.UID_DialogTableBase = b.UID_DialogTable  insert into #QBMElementsCollected(ObjectKey, DeepDeleteMethod, ChildColumn)  select s.Parameter1, 'Delete'\r\n, '' from @ObjectKeysStart s if @DebugSwitch > 0 begin print 'startsituation' select * from #QBMCollectorReferenceElements end select @Lauf = 1 select \r\n@SortOrder = 20 while @Lauf > 0 begin select @Lauf = 0 delete  @ElementBufferMulti insert into @ElementBufferMulti (ContentFull) select distinct ' declare @tst QBM_YParameterList\r\n\t\t\tinsert into @tst(Parameter1, Parameter2, Parameter3)\r\n\t\t\tselect distinct  y.XObjectKey , '''\r\n + rq.DeepDeleteMethod + ''', ''' + rq.ChildColumn + '''\r\n\t\t\tfrom ' + rq.ParentTable + ' x join #QBMElementsCollected w on x.XObjectKey = w.Objectkey\r\n\t\t\t\t\t\tjoin '\r\n + rq.ChildTable + ' y on x.' + rq.ParentColumn + ' = y.' + rq.ChildColumn + '\r\n\t\t\twhere Not exists (select top 1 1\r\n\t\t\t\t\t\t\t\tfrom #QBMElementsCollected e\r\n\t\t\t\t\t\t\t\twhere e.Objectkey = y.XObjectKey\r\n\t\t\t\t\t\t\t\tand e.ChildColumn = '''\r\n + rq.ChildColumn + '''\r\n\t\t\t\t\t\t\t)\r\n\t\t\tand  w.DeepDeleteMethod like ''Delete%''\r\n\r\n\t\tinsert into #QBMElementsCollected(ObjectKey, DeepDeleteMethod, ChildColumn)\r\n\t\t\tselect Parameter1, Parameter2, Parameter3\r\n\t\t\tfrom @tst\r\n\r\n\t\tinsert into #QBMCollectorReferenceElements(TableName, SortOrder, DeepDeleteMethod, DeepDeleteStatement)\r\n\t\tselect '''\r\n + rq.ChildTable + '''  ' + ', %SortOrder% ' + ', ''' + rq.DeepDeleteMethod + ''', ''' + case rq.DeepDeleteMethod when 'delete' then 'delete ' + rq.ChildTable\r\n + ' where XObjectKey in  '' + x.CollectedLine + '' ' when 'SetNull' then concat('update ' , rq.ChildTable , ' set ' , rq.Childcolumn , ' = null ' , case\r\n when dbo.QBM_FGIColumnExistsInSchema(rq.Childtable, 'XDateUpdated') = 1 and rq.ChildColumn not like 'X[d,u][a,s][t,e][e,r]updated' then ', XDateUpdated = getutcdate(), XUserUpdated =  '''''\r\n + object_name(@@procid) + '''''' else '' end ,' where XObjectKey in '' + x.CollectedLine + '' ' ) when 'DeleteX' then concat('update ' , rq.ChildTable\r\n , ' set XOrigin = 0 ' , case dbo.QBM_FGIColumnExistsInSchema(rq.Childtable, 'XDateUpdated') when 1 then ', XDateUpdated = getutcdate(), XUserUpdated =  '''''\r\n + object_name(@@procid) + '''''' else '' end , ' where XObjectKey in '' + x.CollectedLine + '' ' , nchar(13) , nchar(10) , 'delete ' , rq.ChildTable ,\r\n ' where XObjectKey in '' + x.CollectedLine + ''  ' ) else '' end + '''\r\n\t\t\tfrom ' + case @SingleElementProcess when 0 then ' dbo.QBM_FTParameter1AsInClause (@tst) x'\r\n else ' ( select ''('''''' + Parameter1 + '''''')'' as CollectedLine from @tst ) as x' end from ( select r.ChildTable, r.ParentTable, r.ParentColumn, r.ChildColumn\r\n , r.DeepDeleteMethod from QBM_VForeignKeyRepairable r join #QBMCollectorReferenceElements w on r.ParenttableBase = w.TableName  and w.DeepDeleteMethod\r\n > ' ' join DialogTable t with (readpast) on r.Childtable = t.TableName and t.TableType in ('T', 'B')  join DialogColumn cxi on cxi.UID_DialogTable = t.UID_DialogTable\r\n and cxi.ColumnName = 'XObjectKey'  ) as rq  select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast\r\n = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @SQLCmdInsert = bu.ContentFull from @ElementBufferMulti bu where bu.ElementIndex =\r\n @ElementIndex select @SQLCmdInsert = REPLACE(@SQLCmdInsert, '%SortOrder%', str(@SortOrder))     exec sp_executesql @SQLCmdInsert select @Lauf += @@ROWCOUNT\r\n select @SortOrder += 10 select @ElementIndex += 1 end      end  if @DebugSwitch > 0 begin print 'fertig eingesammelt' end if @DebugSwitch > 0 begin print\r\n '#QBMElementsCollected' select * from #QBMElementsCollected print '#QBMCollectorReferenceElements' select * from #QBMCollectorReferenceElements order \r\nby SortOrder desc end insert into @Abarbeiten (DeepDeleteMethod, DeepDeleteStatement, rownumber, SortOrder, TableName) select distinct DeepDeleteMethod\r\n, DeepDeleteStatement, rownumber, SortOrder, TableName from #QBMCollectorReferenceElements if @DebugSwitch > 0 or @TestOnly = 1 begin print 'Elements to process'\r\n select distinct a.TableName, a.SortOrder , a.DeepDeleteStatement from @Abarbeiten a where a.DeepDeleteStatement > ' ' order by a.SortOrder desc end truncate\r\n table #QBMCollectorReferenceElements   if @TestOnly = 1 begin goto endlabel end exec QBM_PTriggerDisable '%', 'GEN[_]%', @UseTriggerPatternForNotLike \r\n= 1 begin transaction select @Rownumber = -1 while @Rownumber is not null begin select @Rownumber = null select top 1 @Rownumber = e.rownumber , @cmd =\r\n e.DeepDeleteStatement , @SortOrder = e.SortOrder , @TableName = e.TableName from @Abarbeiten e order by e.SortOrder desc  if @DebugSwitch > 0 begin print\r\n @cmd end if @Rownumber is null begin continue end if @cmd > ' ' begin if @DebugSwitch > 0 begin print @cmd end begin try exec sp_executesql @cmd end try\r\n begin Catch  select @ErrorMessage = ERROR_MESSAGE() exec QBM_PSessionErrorAdd default, @cmd select @errorDetected = 1 end catch end if @errorDetected \r\n= 1 begin if @DebugSwitch > 0 begin print '##################### ERROR #########' print @ErrorMessage end if @ErrorMessage like '%The DELETE statement conflicted with the REFERE%'\r\n or @ErrorMessage like '%Cannot delete%because%does exist%' begin   select top 1 @SortOrder = e.SortOrder -5 from @Abarbeiten e where e.TableName <> @TableName\r\n and e.SortOrder < @SortOrder order by e.SortOrder desc update @Abarbeiten set SortOrder = @SortOrder from @Abarbeiten e where e.rownumber = @Rownumber\r\n select @errorDetected = 0 if @DebugSwitch > 0 begin print 'Reparaturversuch ' + str(@rownumber) select * from @Abarbeiten order by SortOrder desc end \r\nif @SortOrder < -100 begin  select @RestmengeVorhanden = 1 select @Rownumber = null continue end end else begin  select @Rownumber = null continue end \r\nend else begin delete  @Abarbeiten where rownumber = @Rownumber end end  if @errorDetected = 1 begin rollback transaction  exec QBM_PTriggerEnable '%',\r\n 'GEN[_]%', @UseTriggerPatternForNotLike = 1 RAISERROR ('', 18, 1) WITH NOWAIT end else begin commit transaction end if @RestmengeVorhanden > 0 begin print\r\n 'not fully deleted, cycles in data dependencies' print 'statemants to execute left are:' select a.TableName, a.DeepDeleteStatement from @abarbeiten a \r\nwhere a.DeepDeleteStatement > ' ' end else begin print 'requested data fully deleted' end if @DebugSwitch > 0 begin print 'Nachlese' select distinct isnull\r\n(b.TableName, t.TableName), v.EventName from #QBMElementsCollected r join ( values ( 'SetNull' , 'update') , ( 'DeleteX', 'Update') , ( 'DeleteX', 'Delete'\r\n) , ('Delete', 'Delete') , ('DeleteA', 'Delete') ) as v (DeepDeleteMethod, EventName) on r.DeepDeleteMethod = v.DeepDeleteMethod join DialogTable t with\r\n (readpast) on r.ObjectKey like '<Key><T>' + t.TableName + '</T>%' left outer join DialogTable b with (readpast) on t.UID_DialogTableBase = b.UID_DialogTable\r\n end  delete  @ElementBufferMulti insert into @ElementBufferMulti (Ident1, Ident2) select distinct isnull(b.TableName, t.TableName), v.EventName from #QBMElementsCollected\r\n r join ( values ( 'SetNull', 'update') , ( 'DeleteX', 'Update') , ( 'DeleteX', 'Delete') , ( 'Delete', 'Delete') , ( 'DeleteA', 'Delete') ) as v (DeepDeleteMethod\r\n, EventName) on r.DeepDeleteMethod = v.DeepDeleteMethod join DialogTable t with (readpast) on r.ObjectKey like '<Key><T>' + t.TableName + '</T>%' left \r\nouter join DialogTable b with (readpast) on t.UID_DialogTableBase = b.UID_DialogTable select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY\r\n - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @tableName = bu.Ident1 , @EventName = bu.Ident2\r\n from @ElementBufferMulti bu where bu.ElementIndex = @ElementIndex exec QBM_PTriggersInactiveForTable @tableName, @EventName select @ElementIndex += 1 \r\nend   exec QBM_PTriggerEnable '%', '%' if exists (select top 1 1 from #QBMElementsCollected c where c.ObjectKey like '<Key><T>%ITShopOrg%</T>%' ) and dbo.QBM_FGIModuleExists\r\n('QER') = 1 begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select b.UID_Org as uid from BaseTree b where b.ITShopInfo = 'BO' ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgAutoChild', @DBQueueElements_01\r\n end if exists (select top 1 1 from #QBMElementsCollected c where c.ObjectKey like '<Key><T>PersonInITShopOrg</T>%' ) and exists (select top 1 1 from QBMModuleDef\r\n d where d.ModuleName = 'QER' ) begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select\r\n x.uid_person, x.uid_org, @GenProcID from ( select dbo.QBM_FCVObjectkeyToElement('columnvalue1', c.ObjectKey) as uid_org , dbo.QBM_FCVObjectkeyToElement\r\n('columnvalue2', c.ObjectKey) as uid_person from #QBMElementsCollected c where c.ObjectKey like '<Key><T>PersonInITShopOrg</T>%' ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-AllForPersonInBaseTree', @DBQueueElements_02 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: exec QBM_PTriggerEnable '%', '%' endLabel: truncate table #QBMCollectorReferenceElements truncate\r\n table #QBMElementsCollected  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDialogColumnDelete",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.83",
      "ModifyDate": "2026-04-14T23:20:25.477",
      "Definition": "    create   procedure QBM_PDialogColumnDelete( @TableName nvarchar(64), @GenProcID varchar(38) = '' ) as begin  declare @Columnname nvarchar(64\r\n) declare @uid_dialogColumn varchar(38) declare @msg nvarchar(1000) declare @XUser nvarchar(64) declare @XDate datetime  declare @uid_dialogTable varchar\r\n(38)  declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser') declare @DebugLevel\r\n char(1) = 'W' declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int SET XACT_ABORT OFF BEGIN TRY if isnull(@GenProcID\r\n, '') = '' begin select @GenProcID = @GenProcID_R end select @XUser = @XUser_R select @Xdate = getUTCDate() select top 1 @uid_dialogTable = t.UID_DialogTable\r\n from DialogTable t where t.TableName = @TableName  insert into @ElementBuffer (UID1, Ident1) select c.uid_dialogcolumn , c.Columnname from dialogcolumn\r\n c join DialogTable t on c.UID_DialogTable = t.UID_DialogTable left outer join QBM_VSchemaColumns ic on t.TableName = ic.table_name and c.columnname = \r\nic.column_name where ic.table_name is null and t.TableName = @TableName select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex \r\n<= @ElementCount begin select top 1 @uid_dialogColumn = bu.UID1 , @Columnname = bu.Ident1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex \r\nselect @msg = N'Column in DialogColumn deleted : ' + @TableName + N'.' + @Columnname print @msg exec QBM_PJournal @msg, @@PROCID, 'I', @DebugLevel exec\r\n QBM_PSessionContextSet 'GenProcID', @GenProcID exec QBM_PSessionContextSet 'XUser', @XUser delete DialogColumn where uid_dialogColumn = @uid_dialogColumn\r\n select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow()\r\n RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH  ende: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet 'XUser', @XUser_R\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDialogColumnInsert",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.817",
      "ModifyDate": "2026-04-14T23:20:25.46",
      "Definition": "    create   procedure QBM_PDialogColumnInsert( @TableName nvarchar(64), @GenProcID varchar(38) = '' , @ModuleName varchar(3) = '' ) as begin   \r\n declare @Columnname nvarchar(64) declare @uid_dialogColumn varchar(38) declare @msg nvarchar(1000) declare @XUser nvarchar(64) declare @XDate datetime\r\n declare @SchemaDatatype nvarchar(256) declare @SchemaDatalen int declare @uid_dialogTable varchar(38) declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext\r\n('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser')  declare @DebugSwitch int = 0 declare @DebugLevel char(1) = 'W' declare @ElementBuffer\r\n QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int SET XACT_ABORT OFF BEGIN TRY if isnull(@GenProcID, '') = '' begin select @GenProcID\r\n = @GenProcID_R end if isnull(@ModuleName, '') = '' begin select @ModuleName = dbo.QBM_FGIDBOwner() end select @XUser = @XUser_R select @Xdate = getUTCDate\r\n() select top 1 @uid_dialogTable = t.UID_DialogTable from DialogTable t where t.TableName = @TableName if @DebugSwitch > 0 begin print '@uid_dialogTable'\r\n + @uid_dialogTable select ic.Column_name, ic.DATA_TYPE, ic.CHARACTER_MAXIMUM_LENGTH from information_schema.columns ic left outer join ( select c.ColumnName\r\n, t.TableName from dialogcolumn c join DialogTable t on c.UID_DialogTable = t.UID_DialogTable ) as x on x.TableName = ic.TABLE_NAME and x.ColumnName = \r\nic.COLUMN_NAME where x.TableName is null and ic.table_name = @TableName end insert into @ElementBuffer (Ident1, Ident2, Int1) select ic.Column_name, ic.DATA_TYPE\r\n, ic.CHARACTER_MAXIMUM_LENGTH from information_schema.columns ic left outer join ( select c.ColumnName, t.TableName from dialogcolumn c join DialogTable\r\n t on c.UID_DialogTable = t.UID_DialogTable ) as x on x.TableName = ic.TABLE_NAME and x.ColumnName = ic.COLUMN_NAME where x.TableName is null and ic.table_name\r\n = @TableName select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @Columnname = bu.Ident1\r\n , @SchemaDatatype = bu.Ident2 , @SchemaDatalen = bu.Int1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex select @msg = N'Column in DialogColumn inserted : '\r\n + @TableName + N'.' + @Columnname if @DebugSwitch > 0 begin print isnull(@msg, 'Column in DialogColumn inserted' ) end exec QBM_PJournal @msg, @@PROCID\r\n, 'I', @DebugLevel   select @uid_dialogColumn = dbo.QBM_FGIUID_DialogColumn (@TableName, @Columnname, @ModuleName) exec QBM_PSessionContextSet 'GenProcID'\r\n, @GenProcID exec QBM_PSessionContextSet 'XUser', @XUser insert into dialogcolumn (UID_DialogColumn, uid_dialogtable, columnname, XObjectKey , xdateinserted\r\n, xdateupdated, xuserinserted, xuserupdated , SchemaDataType, SchemaDatalen , Caption ) select @uid_dialogColumn, @uid_dialogTable, @Columnname, dbo.QBM_FCVElementToObjectKey1\r\n('DialogColumn', 'UID_DialogColumn', @uid_dialogColumn) , @Xdate, @Xdate, @XUser, @XUser ,@SchemaDatatype, @SchemaDatalen , @Columnname select @ElementIndex\r\n += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow,\r\n 18, 1) WITH NOWAIT END CATCH  ende: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet 'XUser', @XUser_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDialogDatabaseInitialInfo",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:08.507",
      "ModifyDate": "2026-04-14T23:20:26.277",
      "Definition": "   create   procedure QBM_PDialogDatabaseInitialInfo as begin declare @UID_NewObject varchar(38) declare @xdate datetime = getutcdate() declare \r\n@XUser nvarchar(64) = object_name(@@procid) SET XACT_ABORT OFF BEGIN TRY set nocount on if not exists (select top 1 1 from dialogdatabase ) begin select\r\n @UID_NewObject = newid() insert into dialogdatabase (UID_Database, IsMainDatabase, Description , ConnectionString, ConnectionProvider , XObjectKey , ModuleOwner\r\n, UID_DialogAuthentifier , UID_DialogCultureDefault , XUserInserted, XUserUpdated, XDateInserted, XDateUpdated , productionLevel, CustomerPrefix , IsJobServiceDisabled\r\n , DataOrigin ) values (@UID_NewObject, 1, N'Main Database', null, null , concat('<Key><T>DialogDatabase</T><P>', @UID_NewObject ,'</P></Key>') , 'CCC'\r\n, 'QBM-740AF63FCA9D40E1A9A28CF076B36BBD'  , 'QBM-CULT-en-US' , @XUser, @XUser, @xdate, @xdate , 0, 'CCC' , 1 , dbo.QBM_FGIDBDataOrigin() ) end END TRY \r\nBEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT\r\n END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDialogDBQueueDelete",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.357",
      "ModifyDate": "2026-04-14T23:20:26.04",
      "Definition": "  create   procedure QBM_PDialogDBQueueDelete ( @RowLimit int = 1000  , @MaxLimit int = 50000  ) as begin declare @Items QBM_YSingleGuid  declare\r\n @ItemPortion QBM_YSingleGuid declare @einRuck int  declare @LaufDelete int = 0 declare @AnzahlLoesch int declare @AnzahlLoeschGesamt int = 0 declare @Start\r\n datetime declare @ende datetime declare @diff int declare @ExpectedRuntime float = 1000.0 declare @anzahl int SET XACT_ABORT OFF BEGIN TRY set lock_timeout\r\n 50 select @anzahl = dbo.QBM_FGITableCountAll('DialogDBQueue') if @anzahl > 0 begin goto normal end if @anzahl = 0 and @@TRANCOUNT = 0  begin begin transaction\r\n BEGIN TRY  update DialogDBQueue set Generation = q.Generation from DialogDBQueue q with (tablockx) END TRY BEGIN CATCH select @anzahl = 1  END CATCH  \r\nif dbo.QBM_FGITableCountAll('DialogDBQueue') = 0 and @anzahl = 0 begin BEGIN TRY  truncate table DialogDBQueue  commit select @LaufDelete = 1 END TRY BEGIN\r\n CATCH   rollback END CATCH end else begin  rollback end end  if @LaufDelete = 1 begin goto endLabel end normal: insert into @Items (UID_SingleGuid ) select\r\n top (@MaxLimit) qt.UID_DialogDBQueue from DialogDBQueue qt with (readpast) where Generation = -1 select @LaufDelete = 1 select @einRuck = @RowLimit while\r\n @LaufDelete > 0 begin select @Start = getutcdate() delete  @ItemPortion  insert into @ItemPortion (UID_SingleGuid ) select top (@einRuck) t.UID_SingleGuid\r\n from @Items t where t.BitProperty = 0  select @LaufDelete = @@ROWCOUNT if @LaufDelete = 0 begin continue end update @Items set BitProperty = 1  from @Items\r\n t join @ItemPortion p on t.UID_SingleGuid = p.UID_SingleGuid  BEGIN TRY delete DialogDBQueue from DialogDBQueue q with (forceSeek) where q.UID_DialogDBQueue\r\n in (select t.UID_SingleGuid  from @ItemPortion t ) select @AnzahlLoesch = @@rowcount END TRY BEGIN CATCH  select @AnzahlLoesch = 0 exec QBM_PWaitForSeconds\r\n 0.05 end CATCH select @AnzahlLoeschGesamt += @AnzahlLoesch select @ende = getutcdate() select @diff = DATEDIFF(ms, @start, @ende) select @einRuck = case\r\n when @diff = 0 then @RowLimit when @AnzahlLoesch = 0 then @RowLimit when @diff > @ExpectedRuntime then @RowLimit else convert(int, @ExpectedRuntime * \r\nconvert(float, @einRuck) / convert(float, @diff)) end  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return (@AnzahlLoeschGesamt) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDialogProcessGetShrinkDef",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.22",
      "ModifyDate": "2026-04-14T23:20:25.907",
      "Definition": "  create   procedure QBM_PDialogProcessGetShrinkDef (@AreaToCheck nvarchar(256)  , @ReadyForDeleteOrExport int output , @LimitDate datetime output\r\n  ) as begin declare @AnzahlTage int  declare @ExportPolicy int SET XACT_ABORT OFF BEGIN TRY select @ReadyForDeleteOrExport = 0 select @LimitDate = '2200-01-01'\r\n select @ExportPolicy = case dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\ExportPolicy') when '' then 0 when 'NONE' then 1 when 'HDB' then 2 when 'FILE'\r\n then 2 else 0 end  if dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\'+ @AreaToCheck + '\\IsToExport'), 0) = 1 begin select @ReadyForDeleteOrExport\r\n = @ExportPolicy end else begin if @ExportPolicy > 0 begin select @ReadyForDeleteOrExport = 1 end else begin select @ReadyForDeleteOrExport = 0 end end\r\n if @ReadyForDeleteOrExport = 0  begin goto ende end select top 1 @AnzahlTage = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue( 'Common\\ProcessState\\'\r\n+ @AreaToCheck + '\\LifeTime'), 0)  if @AnzahlTage < 1 begin select @AnzahlTage = 1 end select @AnzahlTage = @AnzahlTage * (-1) select @LimitDate = dateadd\r\n(dd, @AnzahlTage, GetUTCDate())  ende: END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDialogProcessShrink_3",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.32",
      "ModifyDate": "2026-04-14T23:20:25.997",
      "Definition": "  create   procedure QBM_PDialogProcessShrink_3 (@AnzahlGesamt int output , @KeyPattern varchar(25) = '%'  ) as begin declare @CountItems int  select\r\n @AnzahlGesamt = 0  declare @GenProcIDNew varchar(38), @GenProcIDOrigin varchar(38) declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int \r\ndeclare @ElementIndex int declare @Pattern nvarchar(max) = '\t\t\r\n\t\tupdate DialogProcess \r\n\t\t\tset ReadyForDeleteOrExport = 0\r\n\t\t\twhere GenProcID = ''@GenProcIDOrigin''\r\n\t\t\t and ReadyForDeleteOrExport > 0\r\n\t\t\r\n\t\tupdate DialogDBQueue             set GenProcID = ''@GenProcIDOrigin'' \r\n\t\t\t\tfrom DialogDBQueue q\r\n\t\t\t\twhere q.GenProcID = ''@GenProcIDNew''\r\n\t\t\t\t-- 26962\r\n\t\t\t\tand q.Generation >= 0\r\n\r\n\t\tupdate QBMDBQueueCurrent      set GenProcID = ''@GenProcIDOrigin'' where GenProcID = ''@GenProcIDNew''\r\n\t\tupdate DialogDeferredOperation   set GenProcID = ''@GenProcIDOrigin'' where GenProcID = ''@GenProcIDNew''\r\n\t\tupdate JobQueue                  set GenProcID = ''@GenProcIDOrigin'' where GenProcID = ''@GenProcIDNew''\r\n\r\n\t\tupdate DialogProcessChain        set GenProcID = ''@GenProcIDOrigin'' where GenProcID = ''@GenProcIDNew''\r\n\t\tupdate DialogWatchOperation      set GenProcID = ''@GenProcIDOrigin'' where GenProcID = ''@GenProcIDNew''\r\n\t\tupdate JobHistory                set GenProcID = ''@GenProcIDOrigin'' where GenProcID = ''@GenProcIDNew''\r\n'\r\n declare @SQLCmdWithRetry nvarchar(max) SET XACT_ABORT OFF BEGIN TRY insert into @ElementBuffer(UID1, UID2) select fi.GenProcIDNew, fi.GenProcIDOrigin \r\nfrom ( select GenProcIDOrigin, GenProcIDNew , COUNT(*) over (partition by GenProcIDNew) as AnzahlNew from DialogProcessSubstitute s where s.GenProcIDNew\r\n like @KeyPattern and s.ReadyForDeleteOrExport = 0  ) as fi where fi.AnzahlNew = 1 select @ElementCount = @@rowcount select @ElementIndex = 1 while @ElementIndex\r\n <= @ElementCount begin select top 1 @GenProcIDNew = bu.UID1 , @GenProcIDOrigin = bu.UID2 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex \r\nselect @SQLCmdWithRetry = replace(replace(@Pattern , '@GenProcIDOrigin', @GenProcIDOrigin) , '@GenProcIDNew', @GenProcIDNew) exec QBM_PExecuteSQLWithRetry_LLP\r\n @SQLStatement = @SQLCmdWithRetry , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = default , @HandleErrorSilent = 1 \r\n, @ExecuteWithTransact = 0   update DialogProcessSubstitute set ReadyForDeleteOrExport = 1 from DialogProcessSubstitute s where s.GenProcIDNew = @GenProcIDNew\r\n and s.ReadyForDeleteOrExport <> 1 select @CountItems = @@rowcount select @Anzahlgesamt = @Anzahlgesamt + @CountItems select @ElementIndex += 1 end  END\r\n TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT\r\n END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDialogProcessShrink_fill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.287",
      "ModifyDate": "2026-04-14T23:20:25.983",
      "Definition": "  create   procedure QBM_PDialogProcessShrink_fill ( @RepairSubstituteOnly bit = 0   ) as begin   declare @info nvarchar(64) declare @datum datetime\r\n select @datum = GetUTCDate()  SET XACT_ABORT OFF BEGIN TRY  if exists (select top 1 1 from DialogProcessSubstitute x where Not exists (select top 1 1 \r\nfrom DialogProcess p where p.GenProcID = x.GenProcIDOrigin ) ) begin select @info = N'DialogProcessSubstitute' insert into dialogprocess (GenProcID, BasisObjectType\r\n , ObjectKey, ProcessState, XDateInserted, XDateUpdated , XUserInserted , XUserUpdated , CustomComment, XTouched, DisplayName ) select GenProcID, BasisObjectType\r\n , ObjectKey, ProcessState, XDateInserted, XDateUpdated , XUserInserted , XUserUpdated , CustomComment, XTouched, DisplayName from (select x.GenProcIDOrigin\r\n as GenProcID, N'unknown Object' BasisObjectType,  null as ObjectKey,  'E' as ProcessState, @datum as XDateInserted, @datum as XDateUpdated, 'GenProcIDRepair'\r\n as XUserInserted, 'GenProcIDRepair' as XUserUpdated, N'Inserted from ' + @info as CustomComment, '' as XTouched, N'Inserted from ' + @info as DisplayName\r\n from DialogProcessSubstitute x left outer join Dialogprocess p on x.GenProcIDOrigin = p.GenProcID  where  p.GenProcID is null group by x.GenProcIDOrigin\r\n ) as z where Not exists (select top 1 1 from DialogProcess y where y.GenProcID = z.GenProcID ) end if exists (select top 1 1 from DialogProcessSubstitute\r\n x where Not exists (select top 1 1 from DialogProcess p where p.GenProcID = x.GenProcIDNew ) ) begin select @info = N'DialogProcessSubstitute' insert \r\ninto dialogprocess (GenProcID, BasisObjectType , ObjectKey, ProcessState, XDateInserted, XDateUpdated , XUserInserted , XUserUpdated , CustomComment, XTouched\r\n, DisplayName ) select GenProcID, BasisObjectType , ObjectKey, ProcessState, XDateInserted, XDateUpdated , XUserInserted , XUserUpdated , CustomComment\r\n, XTouched, DisplayName from (select x.GenProcIDNew as GenProcID, N'unknown Object' BasisObjectType,  null as ObjectKey,  'E' as ProcessState, @datum as\r\n XDateInserted, @datum as XDateUpdated, 'GenProcIDRepair' as XUserInserted, 'GenProcIDRepair' as XUserUpdated, N'Inserted from ' + @info as CustomComment\r\n, '' as XTouched, N'Inserted from ' + @info as DisplayName from DialogProcessSubstitute x left outer join Dialogprocess p on x.GenProcIDNew = p.GenProcID\r\n  where  p.GenProcID is null group by x.GenProcIDnew ) as z where Not exists (select top 1 1 from dialogprocess y where y.GenProcID = z.GenProcID ) end\r\n if @RepairSubstituteOnly = 1 begin goto endLabel end   if exists (select top 1 1 from DialogWatchOperation x where Not exists (select top 1 1 from DialogProcess\r\n p where p.GenProcID = x.GenProcID ) ) begin select @info = N'DialogWatchOperation' insert into dialogprocess (GenProcID, BasisObjectType , ObjectKey, \r\nProcessState, XDateInserted, XDateUpdated , XUserInserted , XUserUpdated , CustomComment, XTouched, DisplayName ) select GenProcID , case when z.BasisObjectType\r\n = '<unknown Object>' and z.ObjectKey > ' ' then dbo.QBM_FCVObjectkeyToElement('TableName', z.ObjectKey) else z.BasisObjectType end as BasisObjectType \r\n, ObjectKey , ProcessState, XDateInserted, XDateUpdated , XUserInserted , XUserUpdated , CustomComment, XTouched, DisplayName from (select x.GenProcID,\r\n '<unknown Object>' as BasisObjectType, max(x.ObjectKeyOfRow) as ObjectKey, 'E' as ProcessState, min(x.OperationDate) as XDateInserted, min(x.OperationDate\r\n) as XDateUpdated, max(x.OperationUser) as XUserInserted, max(x.OperationUser) as XUserUpdated, N'Inserted from ' + @info as CustomComment, '' as XTouched\r\n, max(x.DisplayValue) as DisplayName from DialogWatchOperation x left outer join Dialogprocess p on x.GenProcID = p.GenProcID  where  p.GenProcID is null\r\n group by x.GenProcID ) as z where Not exists (select top 1 1 from dialogprocess y where y.GenProcID = z.GenProcID ) end   if exists (select top 1 1 from\r\n Dialogprocesschain x where Not exists (select top 1 1 from DialogProcess p where p.GenProcID = x.GenProcID ) ) begin select @info = N'Dialogprocesschain'\r\n insert into dialogprocess (GenProcID, BasisObjectType , ObjectKey, ProcessState, XDateInserted, XDateUpdated , XUserInserted , XUserUpdated , CustomComment\r\n, XTouched, DisplayName ) select GenProcID, BasisObjectType , ObjectKey, ProcessState, XDateInserted, XDateUpdated , XUserInserted , XUserUpdated , CustomComment\r\n, XTouched, DisplayName from (select x.GenProcID, max(x.BasisObjectType) as BasisObjectType , max(x.ObjectKey) as ObjectKey , 'E' as ProcessState, max(x.XDateInserted\r\n) as XDateInserted , max(x.XDateUpdated) as XDateUpdated , max(x.XUserInserted) as XUserInserted , max(x.XUserUpdated) as XUserUpdated , max(x.JobChainName\r\n) as CustomComment , '' as XTouched , max(x.DisplayName) as DisplayName from Dialogprocesschain x left outer join Dialogprocess p on x.GenProcID = p.GenProcID\r\n  where  p.GenProcID is null group by x.GenProcID ) as z where Not exists (select top 1 1 from dialogprocess y where y.GenProcID = z.GenProcID ) end   \r\nif exists (  select top 1 1 from Jobhistory x  left outer join Dialogprocess p on x.GenProcID = p.GenProcID  where p.GenProcID is null ) begin select @info\r\n = N'JobHistory'  insert into dialogprocess (GenProcID, BasisObjectType , ObjectKey, ProcessState, XDateInserted, XDateUpdated , XUserInserted , XUserUpdated\r\n , CustomComment, XTouched, DisplayName ) select GenProcID, BasisObjectType , ObjectKey, ProcessState, XDateInserted, XDateUpdated , XUserInserted , XUserUpdated\r\n , CustomComment, XTouched, DisplayName from (select x.GenProcID, max(case when x.BasisObjectKey > ' ' then dbo.QBM_FCVObjectkeyToElement('TableName', \r\nx.BasisObjectKey) else '<unknown Object>' end )as BasisObjectType, max(case when x.BasisObjectKey > ' ' then x.BasisObjectKey else null end )as ObjectKey\r\n, 'E' as ProcessState, max(x.XDateInserted) as XDateInserted, max(x.XDateUpdated) as XDateUpdated, max(x.XUserInserted) as XUserInserted, max(x.XUserUpdated\r\n) as XUserUpdated, max(JobChainName) as CustomComment, '' as XTouched, max(JobChainName) as DisplayName from Jobhistory x left outer join Dialogprocess\r\n p on x.GenProcID = p.GenProcID  where p.GenProcID is null group by x.GenProcID ) as z where Not exists (select top 1 1 from dialogprocess y where y.GenProcID\r\n = z.GenProcID )  end  update dialogprocess set xdateupdated = GetUTCDate() where xdateupdated is null  update dialogprocess set xdateinserted = GetUTCDate\r\n() where xdateinserted is null  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow()\r\n RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDialogProcessShrink_mark",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.313",
      "ModifyDate": "2026-04-14T23:20:25.987",
      "Definition": "   create   procedure QBM_PDialogProcessShrink_mark (@KeyPattern varchar(25)  ) as begin declare @Worktable QBM_YSingleGUID   declare @DebugSwitch\r\n int = 0 declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY  insert into @Worktable\r\n(UID_SingleGuid  ) select p.GenProcID from DialogProcess p where p.ReadyForDeleteOrExport = 0 and p.GenProcID like @KeyPattern if @DebugSwitch > 0 begin\r\n print '--- s1' select * from @Worktable end  update DialogProcess set ReadyForDeleteOrExport = w.ReadyForDeleteOrExport , XDateUpdated = @Xdate , XUserUpdated\r\n = @XUser from DialogProcess p join dbo.QBM_FTDialogProcessReady(@Worktable) w on p.GenProcID = w.GenProcID where p.ReadyForDeleteOrExport <> w.ReadyForDeleteOrExport\r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH\r\n NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDialogTablePKNameCorrect",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.513",
      "ModifyDate": "2026-04-14T23:20:26.267",
      "Definition": "   create   procedure QBM_PDialogTablePKNameCorrect (@TablePattern varchar(64) = '%' ) as begin declare @UID_DialogTable varchar(38) declare @tablename\r\n varchar(30) declare @Tabletype varchar(1) declare @PK1Name varchar(30) declare @PK2Name varchar(30) declare @XUser nvarchar(64) = object_name(@@procid\r\n) declare @Xdate datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY if @TablePattern like '%[%]%' begin  goto musterverarbeitung  end  select top 1 @UID_DialogTable\r\n = t.UID_DialogTable , @Tabletype = t.TableType , @tablename = t.TableName  , @PK1Name = isnull(t.PKName1, '') , @PK2Name = isnull(t.PKName2, '') from \r\nDialogTable t with (readpast) where t.TableName = @TablePattern if @Tabletype in ('B', 'T') begin  if exists (select top 1 1 from DialogTable t with (readpast\r\n) join dbo.QBM_FTPrimaryKeyInfo_BT() v on t.UID_DialogTable = @UID_DialogTable and v.UID_DialogTable = @UID_DialogTable and v.IsPKName1 = 1 where isnull\r\n(t.PKName1, '') <> isnull(v.ColumnName, '') ) begin  update DialogTable set PKName1 = v.ColumnName , XDateUpdated = @Xdate , XUserUpdated = @XUser from\r\n DialogTable t with (readpast) join dbo.QBM_FTPrimaryKeyInfo_BT() v on t.UID_DialogTable = @UID_DialogTable and v.UID_DialogTable = @UID_DialogTable and\r\n v.IsPKName1 = 1 where isnull(t.PKName1, '') <> isnull(v.ColumnName, '') end if exists (select top 1 1 from DialogTable t with (readpast) join dbo.QBM_FTPrimaryKeyInfo_BT\r\n() v on t.UID_DialogTable = @UID_DialogTable and v.UID_DialogTable = @UID_DialogTable and v.IsPKName2 = 1 where isnull(t.PKName2, '') <> isnull(v.ColumnName\r\n, '') ) begin  update DialogTable set PKName2 = v.ColumnName , XDateUpdated = @Xdate , XUserUpdated = @XUser from DialogTable t with (readpast) join dbo.QBM_FTPrimaryKeyInfo_BT\r\n() v on t.UID_DialogTable = @UID_DialogTable and v.UID_DialogTable = @UID_DialogTable and v.IsPKName2 = 1 where isnull(t.PKName2, '') <> isnull(v.ColumnName\r\n, '') end goto endLabel end  if @Tabletype in ('V') begin  if exists (select top 1 1 from DialogTable t with (readpast) join dbo.QBM_FTPrimaryKeyInfo_BTV\r\n() v on t.UID_DialogTable = @UID_DialogTable and v.UID_DialogTable = @UID_DialogTable and v.IsPKName1 = 1 where isnull(t.PKName1, '') <> isnull(v.ColumnName\r\n, '') ) begin  update DialogTable set PKName1 = v.ColumnName , XDateUpdated = @Xdate , XUserUpdated = @XUser from DialogTable t with (readpast) join dbo.QBM_FTPrimaryKeyInfo_BTV\r\n() v on t.UID_DialogTable = @UID_DialogTable and v.UID_DialogTable = @UID_DialogTable and v.IsPKName1 = 1 where isnull(t.PKName1, '') <> isnull(v.ColumnName\r\n, '') end if exists (select top 1 1 from DialogTable t with (readpast) join dbo.QBM_FTPrimaryKeyInfo_BTV() v on t.UID_DialogTable = @UID_DialogTable and\r\n v.UID_DialogTable = @UID_DialogTable and v.IsPKName2 = 1 where isnull(t.PKName2, '') <> isnull(v.ColumnName, '') ) begin  update DialogTable set PKName2\r\n = v.ColumnName , XDateUpdated = @Xdate , XUserUpdated = @XUser from DialogTable t with (readpast) join dbo.QBM_FTPrimaryKeyInfo_BTV() v on t.UID_DialogTable\r\n = @UID_DialogTable and v.UID_DialogTable = @UID_DialogTable and v.IsPKName2 = 1 where isnull(t.PKName2, '') <> isnull(v.ColumnName, '') end goto endLabel\r\n end  if @Tabletype in ('P') begin  if exists (select top 1 1 from DialogTable t with (readpast) join dbo.QBM_FTPrimaryKeyInfo_BTVP() v on t.UID_DialogTable\r\n = @UID_DialogTable and v.UID_DialogTable = @UID_DialogTable and v.IsPKName1 = 1 where isnull(t.PKName1, '') <> isnull(v.ColumnName, '') ) begin  update\r\n DialogTable set PKName1 = v.ColumnName , XDateUpdated = @Xdate , XUserUpdated = @XUser from DialogTable t with (readpast) join dbo.QBM_FTPrimaryKeyInfo_BTVP\r\n() v on t.UID_DialogTable = @UID_DialogTable and v.UID_DialogTable = @UID_DialogTable and v.IsPKName1 = 1 where isnull(t.PKName1, '') <> isnull(v.ColumnName\r\n, '') end if exists (select top 1 1 from DialogTable t with (readpast) join dbo.QBM_FTPrimaryKeyInfo_BTVP() v on t.UID_DialogTable = @UID_DialogTable and\r\n v.UID_DialogTable = @UID_DialogTable and v.IsPKName2 = 1 where isnull(t.PKName2, '') <> isnull(v.ColumnName, '') ) begin  update DialogTable set PKName2\r\n = v.ColumnName , XDateUpdated = @Xdate , XUserUpdated = @XUser from DialogTable t with (readpast) join dbo.QBM_FTPrimaryKeyInfo_BTVP() v on t.UID_DialogTable\r\n = @UID_DialogTable and v.UID_DialogTable = @UID_DialogTable and v.IsPKName2 = 1 where isnull(t.PKName2, '') <> isnull(v.ColumnName, '') end goto endLabel\r\n end  if @Tabletype in ('R', 'U') begin if exists(select top 1 1 from dialogtable t with (readpast) join (  select t.UID_DialogTable, t.PKName1, t.PKName2\r\n, case min(isnull(c.ColumnName, '')) when '' then null else min(isnull(c.ColumnName, '')) end as PKName1Soll, case when max(isnull(c.ColumnName,'')) = \r\nmin(isnull(c.ColumnName, '')) then null else max(isnull(c.ColumnName,'')) end as PKName2Soll from DialogTable t with (readpast) left outer join DialogColumn\r\n c with (readpast) on t.UID_DialogTable = c.UID_DialogTable and c.IsPKMember = 1 where t.UID_DialogTable = @UID_DialogTable group by t.UID_DialogTable,\r\n t.PKName1, t.PKName2 ) as x on x.UID_DialogTable = t.UID_DialogTable where isnull(x.PKName1, '') <> isnull(x.PKName1Soll, '') or isnull(x.PKName2, '')\r\n <> isnull(x.PKName2Soll, '') ) begin update DialogTable set PKName1 = x.PKName1Soll , PKName2 = x.PKName2Soll , XDateUpdated = @Xdate , XUserUpdated =\r\n @XUser  from dialogtable t with (readpast) join (  select t.UID_DialogTable, t.PKName1, t.PKName2, case min(isnull(c.ColumnName, '')) when '' then null\r\n else min(isnull(c.ColumnName, '')) end as PKName1Soll, case when max(isnull(c.ColumnName,'')) = min(isnull(c.ColumnName, '')) then null else max(isnull\r\n(c.ColumnName,'')) end as PKName2Soll from DialogTable t with (readpast) left outer join DialogColumn c with (readpast) on t.UID_DialogTable = c.UID_DialogTable\r\n and c.IsPKMember = 1 where t.UID_DialogTable = @UID_DialogTable group by t.UID_DialogTable, t.PKName1, t.PKName2 ) as x on x.UID_DialogTable = t.UID_DialogTable\r\n where isnull(x.PKName1, '') <> isnull(x.PKName1Soll, '') or isnull(x.PKName2, '') <> isnull(x.PKName2Soll, '') end goto endLabel end  goto endlabel musterverarbeitung:\r\n update DialogTable set PKName1 = v.ColumnName , XDateUpdated = @Xdate , XUserUpdated = @XUser  from DialogTable t join dbo.QBM_FTPrimaryKeyInfo_BTVP()\r\n v on t.UID_DialogTable = v.UID_DialogTable and v.IsPKName1 = 1 where isnull(t.PKName1, '') <> isnull(v.ColumnName, '') and v.TableType not in ('U', 'R'\r\n)  and t.TableName like @TablePattern update DialogTable set PKName2 = v.ColumnName , XDateUpdated = @Xdate , XUserUpdated = @XUser  from DialogTable t\r\n join dbo.QBM_FTPrimaryKeyInfo_BTVP() v on t.UID_DialogTable = v.UID_DialogTable and v.IsPKName2 = 1 where isnull(t.PKName2, '') <> isnull(v.ColumnName\r\n, '') and v.TableType not in ('U', 'R')  and t.TableName like @TablePattern update DialogTable set PKName1 = x.PKName1Soll , PKName2 = x.PKName2Soll , \r\nXDateUpdated = @Xdate , XUserUpdated = @XUser  from dialogtable t join (  select t.UID_DialogTable, t.PKName1, t.PKName2, case min(isnull(c.ColumnName,\r\n '')) when '' then null else min(isnull(c.ColumnName, '')) end as PKName1Soll, case when max(isnull(c.ColumnName,'')) = min(isnull(c.ColumnName, '')) then\r\n null else max(isnull(c.ColumnName,'')) end as PKName2Soll from DialogTable t with (readpast) left outer join DialogColumn c with (readpast) on t.UID_DialogTable\r\n = c.UID_DialogTable and c.IsPKMember = 1 where t.TableType in ('R', 'U') and t.TableName like @TablePattern group by t.UID_DialogTable, t.PKName1, t.PKName2\r\n ) as x on x.UID_DialogTable = t.UID_DialogTable where isnull(x.PKName1, '') <> isnull(x.PKName1Soll, '') or isnull(x.PKName2, '') <> isnull(x.PKName2Soll\r\n, '')  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18,\r\n 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDialogUserInGroupCorrect",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.747",
      "ModifyDate": "2026-04-14T23:20:26.523",
      "Definition": "   create   procedure QBM_PDialogUserInGroupCorrect (@UID_DialogUserPattern varchar(38) = '%' ) as begin declare @XUser nvarchar(64) = object_name\r\n(@@procid) declare @XDate datetime = getutcdate() declare @defaultGroup varchar(38) = 'QBM-1CA5B3F72AD35643BEDB25511BB6DBF5' declare @Debugswitch int =\r\n 0 declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser') declare @cmd nvarchar\r\n(max) SET XACT_ABORT OFF BEGIN TRY if @Debugswitch > 0 begin print 'entry : ' + @XUser end exec QBM_PSessionContextSet 'XUSER', @XUser  insert into DialogUserInGroup\r\n ( UID_DialogGroup, UID_DialogUser, XDateInserted, XDateUpdated, XUserInserted, XUserUpdated, XObjectKey) select distinct G.UID_DialogGroup, U.UID_DialogUser\r\n, @XDate, @XDate, @XUser, @XUser , dbo.QBM_FCVElementToObjectKey2('DialogUserInGroup', 'UID_DialogGroup', G.UID_DialogGroup, 'UID_DialogUser', U.UID_DialogUser\r\n)  from DialogUser U join DialogGroup G on G.UID_DialogGroup = @defaultGroup where not exists (select top 1 1 from DialogUserInGroup UiG where UiG.UID_DialogUser\r\n = U.UID_DialogUser and UiG.UID_DialogGroup = G.UID_DialogGroup ) if exists (select top 1 1 from QBM_VSchemaColumns c where c.TABLE_NAME = 'DialogGroup'\r\n and c.COLUMN_NAME = 'IsRoleBasedOnly' ) begin if @Debugswitch > 0 begin print 'rolebased only exists : ' + @XUser end select @cmd = '\r\n\tdeclare @XDate datetime = getutcdate()\r\n\r\n  insert into DialogUserInGroup ( UID_DialogGroup, UID_DialogUser, XDateInserted, XDateUpdated, XUserInserted, XUserUpdated, XObjectKey)\r\n      select distinct G.UID_DialogGroup, U.UID_DialogUser, @XDate, @XDate, '''\r\n + @XUser + ''', ''' + @XUser + '''\r\n\t\t\t\t  , dbo.QBM_FCVElementToObjectKey2(''DialogUserInGroup'', ''UID_DialogGroup'', G.UID_DialogGroup, ''UID_DialogUser'', U.UID_DialogUser)\r\n\t  -- select g.GroupName, u.UserName, u.IsAdmin, u.IsDynamicUser \r\n  from DialogUser U join DialogGroup G on 1=1\r\n   where u.IsAdmin = 1\r\n\t      and u.IsDynamicUser = 0\r\n\t\t  and u.IsServiceAccount = 0\r\n\t      and u.UID_DialogUser like '''\r\n + @UID_DialogUserPattern + '''\r\n\t      -- diese Zeile ist der einzige Unterschied\r\n\t      and g.IsRoleBasedOnly = 0\r\n\t      and not exists (select top 1 1\r\n\t\t\t\t\t\t      from DialogUserInGroup UiG\r\n\t\t\t\t\t\t      where UiG.UID_DialogUser = U.UID_DialogUser\r\n\t\t\t\t\t\t\t      and UiG.UID_DialogGroup = G.UID_DialogGroup\r\n\t\t\t\t\t      )\r\n\t'\r\n exec sp_executesql @cmd end else begin if @Debugswitch > 0 begin print 'rolebased only not exists : ' + @XUser end insert into DialogUserInGroup ( UID_DialogGroup\r\n, UID_DialogUser, XDateInserted, XDateUpdated, XUserInserted, XUserUpdated, XObjectKey) select distinct G.UID_DialogGroup, U.UID_DialogUser, @XDate, @XDate\r\n, @XUser, @XUser , dbo.QBM_FCVElementToObjectKey2('DialogUserInGroup', 'UID_DialogGroup', G.UID_DialogGroup, 'UID_DialogUser', U.UID_DialogUser)  from \r\nDialogUser U join DialogGroup G on 1=1 where u.IsAdmin = 1 and u.IsDynamicUser = 0 and u.IsServiceAccount = 0 and u.UID_DialogUser like @UID_DialogUserPattern\r\n and not exists (select top 1 1 from DialogUserInGroup UiG where UiG.UID_DialogUser = U.UID_DialogUser and UiG.UID_DialogGroup = G.UID_DialogGroup ) end\r\n   if exists (select top 1 1 from QBM_VSchemaColumns c where c.TABLE_NAME = 'DialogGroup' and c.COLUMN_NAME = 'IsRoleBasedOnly' ) begin select @cmd = '\r\n    delete DialogUserInGroup \r\n\t\t    from DialogUserInGroup uig join DialogUser u on uig.UID_DialogUser = u.UID_DialogUser\r\n\t\t\t\t\t\t\t\t    join DialogGroup g on uig.UID_DialogGroup = g.UID_DialogGroup\r\n\t\t    where ((u.IsDynamicUser <> G.IsRoleBasedOnly \r\n\t\t\t\t\t)\r\n\t\t\t\t  or u.IsServiceAccount = 1\r\n\t\t\t\t  )\r\n\t\t\t\tand u.UID_DialogUser like '''\r\n + rtrim(@UID_DialogUserPattern) + '''\r\n\t\t     and g.UID_DialogGroup <> ''' + @defaultGroup + '''\t\t-- default rights\r\n\t\t  ' exec sp_executesql @cmd end\r\n else  begin delete DialogUserInGroup  from DialogUserInGroup uig join DialogUser u on uig.UID_DialogUser = u.UID_DialogUser join DialogGroup g on uig.UID_DialogGroup\r\n = g.UID_DialogGroup where ( u.IsDynamicUser = 1 or u.IsServiceAccount = 1 ) and u.UID_DialogUser like rtrim(@UID_DialogUserPattern) and g.UID_DialogGroup\r\n <> @defaultGroup  end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR\r\n (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: if @Debugswitch > 0 begin print 'exit : ' + @XUser end exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R\r\n exec QBM_PSessionContextSet 'XUser', @XUser_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDiskStorePhysicalSync",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.767",
      "ModifyDate": "2026-04-14T23:20:26.543",
      "Definition": "  create   procedure QBM_PDiskStorePhysicalSync as begin declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate\r\n() declare @DebugSwitch int = 0 if @DebugSwitch > 0 begin print 'to add' select distinct g.name from sys.filegroups g  join sys.database_files f on f.data_space_id\r\n = g.data_space_id where not exists (select top 1 1 from QBMDiskStorePhysical p where p.Ident_QBMDiskStorePhysical = g.name ) and g.type_desc = 'ROWS_FILEGROUP'\r\n end insert into QBMDiskStorePhysical(UID_QBMDiskStorePhysical, Ident_QBMDiskStorePhysical, XObjectKey , XDateInserted, XDateUpdated, XUserInserted, XUserUpdated\r\n ) select distinct dbo.QBM_FCVStringToGUID('', g.name) , g.name, dbo.QBM_FCVElementToObjectKey1('QBMDiskStorePhysical', 'UID_QBMDiskStorePhysical', dbo.QBM_FCVStringToGUID\r\n('', g.name)) , @Xdate, @Xdate, @XUser, @XUser  from sys.filegroups g  join sys.database_files f on f.data_space_id = g.data_space_id where not exists \r\n(select top 1 1 from QBMDiskStorePhysical p where p.Ident_QBMDiskStorePhysical = g.name ) and g.type_desc = 'ROWS_FILEGROUP'  if @DebugSwitch > 0 begin\r\n print 'to del' select p.* from QBMDiskStorePhysical p left outer join (select distinct g.name from sys.filegroups g  join sys.database_files f on f.data_space_id\r\n = g.data_space_id where g.type_desc = 'ROWS_FILEGROUP' ) as r on p.Ident_QBMDiskStorePhysical = r.name where r.name is null end delete QBMDiskStorePhysical\r\n from QBMDiskStorePhysical p left outer join (select distinct g.name from sys.filegroups g  join sys.database_files f on f.data_space_id = g.data_space_id\r\n where g.type_desc = 'ROWS_FILEGROUP' ) as r on p.Ident_QBMDiskStorePhysical = r.name where r.name is null  end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PDynamicUserForPerson",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-09-22T13:32:32.847",
      "ModifyDate": "2026-04-14T23:20:24.723",
      "Definition": "   create   procedure QBM_PDynamicUserForPerson (@UID_Person varchar(38) , @UID_QBMProduct varchar(38) , @UID_DialogUser varchar(38) output ) as\r\n begin declare @GenProcID varchar(38) declare @XUser nvarchar(64) = object_name(@@procid) declare @XDate datetime = getutcdate() declare @SQLCmd nvarchar\r\n(max) declare @DebugSwitch int = 0 declare @Startdate datetime = getutcdate() declare @UID_QBMProduct_Intern varchar(38) = isnull(@UID_QBMProduct, '##'\r\n)   drop table if exists #GroupsAvailable create table #GroupsAvailable (UID_DialogGroup varchar(38) collate database_default primary key (UID_DialogGroup\r\n) ) drop table if exists #GroupsForPerson create table #GroupsForPerson (UID_SingleGUID varchar(38) collate database_default primary key (UID_SingleGUID\r\n) ) declare @anzahlGruppen int declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext\r\n('XUser') declare @QBM_BaseRight varchar(38) = 'QBM-1CA5B3F72AD35643BEDB25511BB6DBF5' SET XACT_ABORT OFF BEGIN TRY set nocount on select @GenProcID = @GenProcID_R\r\n  select @SQLCmd = concat(  'select g.UID_DialogGroup-- , gl.*\r\n\t\t\tfrom DialogGroup g left outer join DialogGroupInProductLimited gl on g.UID_DialogGroup = gl.UID_DialogGroup\r\n\t\t\twhere gl.UID_DialogGroup is null\r\n\t\t\t-- reduktion um die Gruppen, die für Rolebased zur Verfügung stehen'\r\n , case when dbo.QBM_FGIModuleExists('QER') = 1 then '\r\n\t\t\t\t\t\tand g.IsRoleBasedOnly = 1' else '' end, '\r\n\t\tunion\r\n\r\n\t\t-- die Gruppen für dieses Produkt\r\n\t\tselect gl.UID_DialogGroup\r\n\t\t\tfrom DialogGroupInProductLimited gl join DialogGroup g on gl.UID_DialogGroup = g.UID_DialogGroup\r\n\t\t\twhere gl.UID_DialogProduct = '''\r\n, @UID_QBMProduct_Intern , '''\r\n\t\t\t-- reduktion um die Gruppen, die für Rolebased zur Verfügung stehen' , case when dbo.QBM_FGIModuleExists('QER') = 1 \r\nthen '\r\n\t\t\t\t\t\tand g.IsRoleBasedOnly = 1' else '' end, '\r\n\t\tunion\r\n\r\n\t\tselect ''', @QBM_BaseRight, '''\r\n\t\t' )  if @DebugSwitch > 0 begin print @sqlcmd end\r\n insert into #GroupsAvailable(UID_DialogGroup) exec sp_executesql @SQLCmd if @DebugSwitch > 0 begin select * from #GroupsAvailable end insert into #GroupsForPerson\r\n(UID_SingleGuid) select distinct UID_DialogGroup from ( select rp.UID_Org as UID_AERole, c.UID_Org, rp.UID_DialogGroup, rp.treelevel from AERole r join\r\n BaseTreeCollectionF c on c.UID_Org = r.UID_AERole join BaseTree  rp on rp.UID_Org = c.UID_ParentOrg join #GroupsAvailable gv on rp.UID_DialogGroup = gv.UID_DialogGroup\r\n join PersonInAERole p on p.UID_AERole = c.UID_Org and p.UID_Person = @UID_Person ) td join ( select UID_Org, max(x.treelevel) as maxLevel from ( select\r\n rp.UID_Org as UID_AERole, c.UID_Org, rp.UID_DialogGroup, rp.treelevel from AERole r join BaseTreeCollectionF c on c.UID_Org = r.UID_AERole join BaseTree\r\n  rp on rp.UID_Org = c.UID_ParentOrg join #GroupsAvailable gv on rp.UID_DialogGroup = gv.UID_DialogGroup join PersonInBaseTree  p on p.UID_Org = c.UID_Org\r\n and p.UID_Person = @UID_Person ) x group by UID_Org ) v on v.UID_Org = td.UID_Org and v.maxLevel = td.treelevel if @DebugSwitch > 0 begin select * from\r\n #GroupsForPerson end  delete  #GroupsForPerson  from #GroupsForPerson g where exists (select top 1 1 from DialogGroupCollection co where g.UID_SingleGuid\r\n  = co.UID_DialogGroupParent and co.UID_DialogGroup <> co.UID_DialogGroupParent and co.UID_DialogGroup in (select e.UID_SingleGuid from #GroupsForPerson\r\n e ) ) and g.UID_SingleGuid  <> @QBM_BaseRight delete  #GroupsForPerson  from #GroupsForPerson g where Not exists (select top 1 1 from DialogGroupCollection\r\n co where g.UID_SingleGuid  = co.uid_dialogGroup ) and g.UID_SingleGuid  <> @QBM_BaseRight  if @DebugSwitch > 0 begin select * from #GroupsForPerson end\r\n if not exists (select top 1 1 from #GroupsForPerson g where g.UID_SingleGUID = @QBM_BaseRight ) begin insert into #GroupsForPerson(UID_SingleGUID) select\r\n @QBM_BaseRight end select @AnzahlGruppen = count(*) from #GroupsForPerson if @AnzahlGruppen = 0 begin  raiserror('#LDS#No valid group passed.|' , 18, \r\n2) with nowait return end if @DebugSwitch > 0 begin print 'Anzahl Gruppen ' + str(@AnzahlGruppen) end select @UID_DialogUser = null select top 1 @UID_DialogUser\r\n = y.UID_DialogUser from ( select x.UID_DialogUser from (  select uig.UID_DialogUser from #GroupsForPerson g join DialogUserInGroup uig on uig.uid_DialogGroup\r\n = g.UID_SingleGuid  group by uig.UID_DialogUser having count(*) = @AnzahlGruppen union all  select uig.UID_DialogUser from DialogUserInGroup uig group\r\n by uig.UID_DialogUser having count(*) = @AnzahlGruppen ) as x group by x.UID_DialogUser having count(*) = 2 ) as y join DialogUser u on y.UID_DialogUser\r\n = u.UID_DialogUser where u.isDynamicUser = 1  if @UID_DialogUser > ' ' begin if @DebugSwitch > 0 begin print 'fertigen User gefunden' end goto fertig \r\nend if @DebugSwitch > 0 begin print '-- dann müssen wir einen anlegen' end select @UID_DialogUser = newid()   if exists (select top 1 1 from DialogTable\r\n t where t.TableName = 'DialogUser' and t.IsModuleGUIDDefault = 1 ) begin select @UID_DialogUser = dbo.QBM_FCVGuidToTransfer(@UID_DialogUser, 'CCC') end\r\n  exec QBM_PSessionContextSet 'GenProcID', @GenProcID exec QBM_PSessionContextSet 'XUser', @XUser if @DebugSwitch > 0 begin print 'vor insert user ' + \r\nstr(DATEDIFF(ms, @Startdate, getutcdate())) end insert into DialogUser (UID_DialogUser, UserName, XObjectKey, Password, XDateInserted, XDateUpdated, XUserInserted\r\n, XUserUpdated, CustomRemarks , IsReadOnly, IsDynamicUser ) select @UID_DialogUser, @UID_DialogUser, dbo.QBM_FCVElementToObjectKey1('DialogUser', 'UID_DialogUser'\r\n, @UID_DialogUser), 'UnableForDialogLogin ', @XDate, @XDate, N'System', @XUser_R, N'Created by System' , 0, 1 exec QBM_PSessionContextSet 'GenProcID', \r\n@GenProcID exec QBM_PSessionContextSet 'XUser', @XUser_R if @DebugSwitch > 0 begin print 'vor insert useringroup ' + str(DATEDIFF(ms, @Startdate, getutcdate\r\n())) end insert into DialogUserInGroup (UID_DialogUser , uid_DialogGroup , XDateInserted, XDateUpdated, XUserInserted, XUserUpdated , XObjectKey) select\r\n distinct @UID_DialogUser, g.UID_SingleGuid , @XDate, @XDate, N'System', @XUser, dbo.QBM_FCVElementToObjectKey2('DialogUserInGroup', 'UID_DialogUser', \r\n@UID_DialogUser, 'uid_DialogGroup', g.UID_SingleGuid ) from #GroupsForPerson g  where not exists (select top 1 1 from DialogUserInGroup e where e.UID_DialogUser\r\n = @UID_DialogUser and e.UID_DialogGroup = g.UID_SingleGuid  ) if @DebugSwitch > 0 begin print 'nach insert useringroup ' + str(DATEDIFF(ms, @Startdate\r\n, getutcdate())) end fertig: update DialogUser set LastLogin = @XDate  , XDateUpdated = @Xdate , XUserUpdated = @XUser where UID_DialogUser = @UID_DialogUser\r\n if @DebugSwitch > 0 begin print 'nach update user ' + str(DATEDIFF(ms, @Startdate, getutcdate())) end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH  EndLabel: exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet 'XUser', @XUser_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PExecuteSQLMulti",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.82",
      "ModifyDate": "2026-04-14T23:14:10.617",
      "Definition": "           create   procedure QBM_PExecuteSQLMulti (@Statements QBM_YCursorBuffer readonly , @HasDifferentGenprocID bit = 0   , @procid int = 0 \r\n , @LockTimeout_ms int = 100 , @MaxWaitTimeForLock_s float = 1.5  , @PrintDebug bit = 0 ) as begin declare @ElementCount int declare @ElementIndex int \r\ndeclare @ElementBuffer QBM_YCursorBuffer declare @GenProcID varchar(38) declare @SQLCmd nvarchar(max) declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext\r\n('') declare @GenProcID_old varchar(38) = @GenProcID_R declare @Erg int = 0 declare @Anzahl int = 0 declare @DebugSwitch int = 0 SET XACT_ABORT OFF BEGIN\r\n TRY if @HasDifferentGenprocID = 1 begin if @DebugSwitch > 0 begin print 'differenzieren' end insert into @ElementBuffer (UID1, ContentFull) select isnull\r\n(s.UID1, @GenProcID_R), s.ContentFull from @Statements s order by isnull(s.UID1, @GenProcID_R), s.ElementIndex select @ElementCount = @@ROWCOUNT end else\r\n  begin if @DebugSwitch > 0 begin print 'alles mit der Genprocid ' + @GenProcID_R end insert into @ElementBuffer (UID1, ContentFull) select @GenProcID_R\r\n, s.ContentFull from @Statements s order by s.ElementIndex select @ElementCount = @@ROWCOUNT end select @ElementIndex = 1 while @ElementIndex <= @ElementCount\r\n begin select top 1 @GenProcID = @GenProcID_old , @SQLCmd = bu.ContentFull from @ElementBuffer bu where bu.ElementIndex = @ElementIndex if @GenProcID <>\r\n @GenProcID_old begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID select @GenProcID_old = @GenProcID if @DebugSwitch > 0 begin print 'Genprocid switched to '\r\n + @GenProcID end end  if @DebugSwitch > 0 begin print @SQLcmd end exec @Anzahl = QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLcmd , @LockTimeout_ms\r\n = @LockTimeout_ms , @MaxWaitTimeForLock_s = @MaxWaitTimeForLock_s , @ProcIDForJournal = @@PROCID , @HandleErrorSilent = 0  , @ExecuteWithTransact = 0 \r\nif @Anzahl > 0 and @PrintDebug = 1 begin print 'rows affected with ' + str(@Anzahl) print @SQLcmd end select @Erg += @Anzahl select @ElementIndex += 1 \r\nend  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1\r\n) WITH NOWAIT END CATCH ende: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PExecuteSQLWithRetry_LLP",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.807",
      "ModifyDate": "2026-04-14T23:14:10.603",
      "Definition": "   create   procedure QBM_PExecuteSQLWithRetry_LLP (@SQLStatement nvarchar(max) , @LockTimeout_ms int = 150  , @MaxWaitTimeForLock_s float = 8.0\r\n  , @ProcIDForJournal int = null  , @HandleErrorSilent bit = 0   , @DeadlockPriority int = -5  , @ExecuteWithTransact bit = 1  , @ErrorInExecute bit = \r\n0 output ) as begin declare @Starttime datetime declare @CurrentDeadlock_priority int declare @waittime float = 0.0 declare @Success int = 0    declare\r\n @OurOwnMessage nvarchar(max)  declare @TransactionCount int declare @erg int = 0 declare @MyName nvarchar(256) = object_name(@@procid) declare @VersuchNummer\r\n int = 1 declare @DebugSwitch int = 0 declare @DebugLevel varchar(1) = 'W' declare @FinalMisserfolg nvarchar(1000) = '#LDS#No success after all retries.|'\r\n declare @JournalMessage nvarchar(max) declare @JournalProcedureExists bit = 0  declare @SQLIntern nvarchar(max) declare @ErrorBuffer QBM_YSessionError\r\n declare @tran1 int declare @tran2 int declare @CountEntriesSessionError int declare @XactMissmatch bit = 0 declare @FinalMisserfolgXact nvarchar(1000)\r\n = '#LDS#No success after all retries. Please do schema changes without transaction.|' declare @DebugRetries int = -1 declare @DebugWaitSum float = 0.0\r\n set XACT_ABORT off BEGIN TRY if exists (select top 1 1 from sys.objects o where o.name = 'QBM_PJournal' and type = 'P' ) begin select @JournalProcedureExists\r\n = 1 end if @DebugSwitch = 2 print ' trancount eingang' + str(@@trancount) if @ExecuteWithTransact = 1 begin begin transaction  end if @DebugSwitch = 2\r\n print ' trancount eingang 2' + str(@@trancount) set nocount on select top 1 @CurrentDeadlock_priority = s.deadlock_priority FROM sys.dm_exec_sessions \r\ns where s.session_id = @@spid select @TransactionCount = @@trancount set deadlock_priority @DeadlockPriority  if @LockTimeout_ms = 150  begin set lock_timeout\r\n 150  select @SQLIntern = @SQLStatement end else begin   select @SQLIntern = CONCAT( 'set lock_timeout ' , str(@LockTimeout_ms) , ';SET XACT_ABORT OFF;'\r\n , @SQLStatement ) end select @CountEntriesSessionError = dbo.QBM_FGISessionErrorCount() select @starttime = getutcdate() while @Success = 0 and convert\r\n(float, datediff(ms, @starttime, getutcdate())) < @MaxWaitTimeForLock_s * 1000.0 and @XactMissmatch = 0 begin select @waittime = (RAND() / 2.0 ) + 0.05\r\n select @DebugRetries += 1 if @ExecuteWithTransact = 1 begin if @DebugSwitch = 2 print 'vor save transaction' save transaction IchVersuche if @DebugSwitch\r\n = 2 print 'save transaction geschafft' end BEGIN TRY if @DebugSwitch = 2 print ' trancount vor execute ' + str(@@trancount)  select @tran1 = @@TRANCOUNT\r\n exec sp_executesql @SQLIntern select @erg = @@ROWCOUNT select @Success = 1 END TRY BEGIN CATCH if @DebugSwitch = 2 print 'catch 1' if @DebugSwitch = 2\r\n print ' trancount catch 1' + str(@@trancount) if @DebugSwitch = 2 print ERROR_MESSAGE() select @tran2 = @@TRANCOUNT if @tran1 = @tran2 -1  begin commit\r\n transaction end delete @ErrorBuffer    insert into @ErrorBuffer (ErrorMessage, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName, ProcedureLine, \r\nMessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode) select ERROR_MESSAGE(),ERROR_SEVERITY(), ERROR_STATE(), ERROR_NUMBER() , @MyName , ERROR_LINE\r\n(), GETUTCDATE() , null, 0, 0, @SQLIntern exec QBM_PSessionErrorAdd @ErrorBuffer END CATCH if @Success = 0 begin if @DebugSwitch = 2 print '@Success ' \r\n+ str(@Success) BEGIN TRY if @DebugSwitch = 2 print 'try 1' if @DebugSwitch = 2 print ' trancount 1' + str(@@trancount) if @DebugSwitch = 2 print 'Current XACT '\r\n + str(XACT_STATE()) if @ExecuteWithTransact = 1 begin   begin TRY rollback transaction IchVersuche if @DebugSwitch = 2 print 'Rollbackversuch geklappt'\r\n END TRY BEGIN CATCH  select @XactMissmatch = 1 if @DebugSwitch = 2 print 'Rollbackversuch NICHT geklappt' END CATCH end if @DebugSwitch = 2 print 'try 2'\r\n if @DebugSwitch = 2 print ' trancount 2' + str(@@trancount) END TRY BEGIN CATCH if @DebugSwitch = 2 print 'catch 2'  END CATCH end  if @Success = 1 begin\r\n if @DebugSwitch > 0 begin print dbo.QBM_FCVDatetimeToString(GETUTCDATE()) + ' Versuch geschafft' end end else begin if dbo.QBM_FGISessionErrorIsDeadlock\r\n(@ErrorBuffer) = 1 begin if @DebugSwitch = 2 print 'es ist eine lock-Meldung' exec QBM_PWaitForSeconds @waittime select @DebugWaitSum += @waittime end \r\nelse begin   select @Success = -1 continue end end  if @TransactionCount <> @@TRANCOUNT and @ExecuteWithTransact = 1 begin if @DebugSwitch = 2 print 'transaction Differenz '\r\n + str(@TransactionCount) + str(@@TRANCOUNT) select @OurOwnMessage = concat('#LDS#Expected transaction count {0} does not match existing {1}, called from {2}.|'\r\n , str(isnull(@TransactionCount, 0)) , '|' , str( @@TRANCOUNT) , '|' , @MyName , '|' ) delete @ErrorBuffer insert into @ErrorBuffer (ErrorMessage, ErrorSeverity\r\n, ErrorState, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode) select @OurOwnMessage,18, 1, 50000\r\n , @MyName, 0, GETUTCDATE() , null, 0, 0, @SQLIntern exec QBM_PSessionErrorAdd @ErrorBuffer RAISERROR (@OurOwnMessage, 18, 1) WITH NOWAIT end if @DebugSwitch\r\n = 2 print 'auf zum nächsten Versuch' select @VersuchNummer += 1 end  if @ExecuteWithTransact = 1 and @XactMissmatch = 0 begin commit transaction  end \r\n if @Success in ( 0, -1) begin   if @Success = 0  or (@Success = -1 and @XactMissmatch = 1) begin delete @ErrorBuffer select @OurOwnMessage = case @XactMissmatch\r\n when 0 then @FinalMisserfolg else @FinalMisserfolgXact end insert into @ErrorBuffer (ErrorMessage, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName\r\n, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode) select @OurOwnMessage, 18, 1, 50000 , @MyName, 229, GETUTCDATE() , null\r\n, 0, 0, @SQLIntern exec QBM_PSessionErrorAdd @ErrorBuffer end else  begin select @OurOwnMessage = '#LDS#Error exececuting direct sql command.|' end if \r\n@HandleErrorSilent = 0 begin if @DebugSwitch = 2 print 'raise ' + @OurOwnMessage  select @FinalMisserfolgXact = 'eigentlich müßte hier ein \"set XACT_ABORT on\" rein, lassen wir aber erst mal, da nur in einem einzigen Trigger verwendet'\r\n RAISERROR (@OurOwnMessage, 18, 1) WITH NOWAIT end end else begin   while dbo.QBM_FGISessionErrorCount() > @CountEntriesSessionError begin exec QBM_PSessionErrorClean\r\n @LastEntryOnly = 1 end end END TRY BEGIN CATCH if @DebugSwitch = 2 print 'catch 3' if @DebugSwitch = 2 print ' trancount ausgang' + str(@@trancount) exec\r\n QBM_PSessionErrorAdd default, @SQLStatement RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: if (@DebugRetries > 0 or ( @Success in (0, -1) and @HandleErrorSilent\r\n = 0) ) and @JournalProcedureExists = 1 begin select @OurOwnMessage = concat( OBJECT_NAME(@@procid), ' ' , ' retries' , right(str(@DebugRetries), 5) , \r\n' waitsum ', dbo.QBM_FCVFloatToString(@DebugWaitSum) , ' stmt ' , left(@SQLStatement, 50) ) exec QBM_PJournal @OurOwnMessage, @@procid, 'T', @DebugLevel\r\n end if @ProcIDForJournal > ' ' and @Success in (0, -1) and @JournalProcedureExists = 1 begin select @OurOwnMessage = dbo.QBM_FGISessionErrorForLog() exec\r\n QBM_PJournal @OurOwnMessage, @ProcIDForJournal, 'E', @DebugLevel end if @Success in (0, -1) begin select @ErrorInExecute = 1 end set deadlock_priority\r\n @CurrentDeadlock_priority set lock_timeout -1 set nocount off return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PF3416818676AABF8BABD3AB_",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:00:59.97",
      "ModifyDate": "2026-04-14T23:20:31.413",
      "Definition": "create   procedure QBM_PF3416818676AABF8BABD3AB_ ( @Portion int , @AllObjectKeysIn QBM_YObjectKeyAndPortion readonly  , @objecttype nvarchar(255\r\n),      @EventName nvarchar(256),  @GenProcID varchar(38) , @AdditionalObjectKeysAffected QBM_YParameterList readonly     , @ConnectionVariables nvarchar\r\n(max) = null , @AuthenticationString nvarchar(max) = null , @SingleTransaction bit = 1 , @p2 nvarchar (1024) = N'', @v2 nvarchar (max) = N'' , @p3 nvarchar\r\n (1024) = N'', @v3 nvarchar (max) = N'' , @p4 nvarchar (1024) = N'', @v4 nvarchar (max) = N'' , @p5 nvarchar (1024) = N'', @v5 nvarchar (max) = N'' , @p6\r\n nvarchar (1024) = N'', @v6 nvarchar (max) = N'' , @p7 nvarchar (1024) = N'', @v7 nvarchar (max) = N'' , @p8 nvarchar (1024) = N'', @v8 nvarchar (max) \r\n= N'' , @p9 nvarchar (1024) = N'', @v9 nvarchar (max) = N'' , @p10 nvarchar (1024) = N'', @v10 nvarchar (max) = N'' , @p11 nvarchar (1024) = N'', @v11 \r\nnvarchar (max) = N'' , @p12 nvarchar (1024) = N'', @v12 nvarchar (max) = N'' , @p13 nvarchar (1024) = N'', @v13 nvarchar (max) = N'' , @p14 nvarchar (1024\r\n) = N'', @v14 nvarchar (max) = N'' , @p15 nvarchar (1024) = N'', @v15 nvarchar (max) = N'' , @p16 nvarchar (1024) = N'', @v16 nvarchar (max) = N'' , @p17\r\n nvarchar (1024) = N'', @v17 nvarchar (max) = N'' , @p18 nvarchar (1024) = N'', @v18 nvarchar (max) = N'' , @p19 nvarchar (1024) = N'', @v19 nvarchar (max\r\n) = N'' , @p20 nvarchar (1024) = N'', @v20 nvarchar (max) = N'' , @p21 nvarchar (1024) = N'', @v21 nvarchar (max) = N'' , @p22 nvarchar (1024) = N'', @v22\r\n nvarchar (max) = N'' , @p23 nvarchar (1024) = N'', @v23 nvarchar (max) = N'' , @p24 nvarchar (1024) = N'', @v24 nvarchar (max) = N'' , @p25 nvarchar (1024\r\n) = N'', @v25 nvarchar (max) = N'' , @p26 nvarchar (1024) = N'', @v26 nvarchar (max) = N'' , @p27 nvarchar (1024) = N'', @v27 nvarchar (max) = N'' , @p28\r\n nvarchar (1024) = N'', @v28 nvarchar (max) = N'' , @p29 nvarchar (1024) = N'', @v29 nvarchar (max) = N'' , @p30 nvarchar (1024) = N'', @v30 nvarchar (max\r\n) = N'' , @p31 nvarchar (1024) = N'', @v31 nvarchar (max) = N'' , @isToFreezeOnError bit = 0 , @Retries int = 0 , @priority int = 5 , @Jobchainname nvarchar\r\n(256) = null , @StartAt datetime = null , @BasisObjectKey varchar(138) = N'' , @XUser nvarchar(64) = null , @WhereClauseAdditional nvarchar(max) = '' ,\r\n @checkForExisting bit = 0 , @QueueName nvarchar(256) = null ) as begin declare @ObjectKeys_Part QBM_YParameterList declare @Sammler nvarchar(max) declare\r\n @ObjectKeysAffected QBM_YParameterList SET XACT_ABORT OFF BEGIN TRY insert into @ObjectKeys_Part(Parameter1) select i.Objectkey from @AllObjectKeysIn \r\ni where i.Portion = @Portion if @@ROWCOUNT = 0 begin goto endLabel end select @sammler = concat('XObjectKey in ' , dbo.QBM_FCVParameter1AsOneInClause(@ObjectKeys_Part\r\n) )  if not exists (select top 1 1 from @AdditionalObjectKeysAffected where Parameter1 > ' ' and Parameter2 is null ) begin insert into @ObjectKeysAffected\r\n(Parameter1) select a.Parameter1 from @AdditionalObjectKeysAffected a join @ObjectKeys_Part s on a.Parameter2 = s.Parameter1 union select Parameter1 from\r\n @ObjectKeys_Part end else begin  insert into @ObjectKeysAffected(Parameter1) select a.Parameter1 from @AdditionalObjectKeysAffected a union select Parameter1\r\n from @ObjectKeys_Part end exec QBM_PJobCreate_HOFireEvent @objecttype , @Sammler , @EventName  , @GenProcID , @ObjectKeysAffected , @ConnectionVariables\r\n , @AuthenticationString , @SingleTransaction  , @p2, @v2 , @p3, @v3 , @p4, @v4 , @p5, @v5 , @p6, @v6 ,@p7, @v7 , @p8, @v8 , @p9, @v9 , @p10, @v10 , @p11\r\n, @v11 , @p12, @v12 , @p13, @v13 , @p14, @v14 , @p15, @v15 , @p16, @v16 ,@p17, @v17 , @p18, @v18 , @p19, @v19 , @p20, @v20 , @p21, @v21 , @p22, @v22 , \r\n@p23, @v23 , @p24, @v24 , @p25, @v25 , @p26, @v26 , @p27, @v27 , @p28, @v28 , @p29, @v29 , @p30, @v30 , @p31, @v31 , @isToFreezeOnError , @Retries , @priority\r\n , @Jobchainname , @StartAt , @BasisObjectKey , @XUser , @WhereClauseAdditional , @checkForExisting , @QueueName END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PF84975544A6AEABC94405E1_a",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.23",
      "ModifyDate": "2026-04-14T23:20:25.92",
      "Definition": "     create   procedure QBM_PF84975544A6AEABC94405E1_a( @BlockSize int , @ReadyForDeleteOrExport int , @KeyPattern varchar(25) , @Grenzdatum datetime\r\n ) as begin declare @BlockPuffer QBM_YSingleGUID declare @lauf int declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate\r\n() declare @CountRowsToDelete int insert into @BlockPuffer(UID_SingleGuid) select top (@BlockSize) h.UID_JobHistory from JobHistory h with (readpast) where\r\n h.ReadyForDeleteOrExport = 0 and h.UID_Tree in (select h1.UID_Tree from jobhistory h1 where h1.ReadyForDeleteOrExport = 0 and h1.GenProcID like @KeyPattern\r\n group by h1.uid_tree   having max(coalesce(h1.EndedAt, h1.StartAt, h1.XDateUpdated))< @Grenzdatum ) select @CountRowsToDelete = @@ROWCOUNT select @lauf\r\n = @CountRowsToDelete - @BlockSize + 1 if @CountRowsToDelete > 0 begin update JobHistory set ReadyForDeleteOrExport = @ReadyForDeleteOrExport , XDateUpdated\r\n = @Xdate , XUserUpdated = @XUser from JobHistory h join @BlockPuffer p on h.UID_JobHistory = p.UID_SingleGuid end endLabel: return(@lauf) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PFDA25F6EA8E748702E6D119_1",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:24.407",
      "ModifyDate": "2026-04-14T23:20:27.343",
      "Definition": "   create   procedure QBM_PFDA25F6EA8E748702E6D119_1 (@StartTable varchar(30) , @StartColumn varchar(30) ) as begin declare @TableName varchar(30\r\n) declare @ColumnName varchar(30) declare @sqlcmd nvarchar(max) declare @Statements QBM_YParameterlist declare @UID_StatementCode varchar(38) declare @DebugSwitch\r\n int = 0 insert into @Statements(ContentFull, Parameter1) select x.ContentFull, dbo.QBM_FCVStringToGUID('', x.ContentFull) from ( select concat('\r\n\t\tinsert into #Zwischenstand (XO_Old, XO_New)\r\n\t\tselect t.XObjectKey, replace(t.xobjectkey , y.PK_Old, y.PK_New)\r\n\t\t\tfrom '\r\n , r.ChildTable , ' t join #Zwischenstand y on t.' , r.ChildColumn , ' = y.PK_Old\r\n\t\t\t') as ContentFull  from QBM_VQBMRelation r join DialogColumn c on\r\n r.UID_ChildColumn = c.UID_DialogColumn join DialogTable t on c.UID_DialogTable = t.UID_DialogTable and t.TableType in ('B', 'T') join QBM_VQBMRelation\r\n ra on r.UID_DialogTableChild = ra.UID_DialogTableChild and ra.UID_QBMRelation <> r.UID_QBMRelation join DialogColumn xc on xc.UID_DialogTable = c.UID_DialogTable\r\n and xc.ColumnName = 'XObjectKey' where r.ParentTable = @StartTable and r.ChildTable <> @StartTable and c.IsPKMember = 1 ) as x  select @UID_StatementCode\r\n = '#' while @UID_StatementCode > ' ' begin select @UID_StatementCode = null select top 1 @TableName = s.Parameter2 , @ColumnName = s.Parameter3 , @sqlcmd\r\n = s.ContentFull , @UID_StatementCode = s.Parameter1 from @Statements s if @UID_StatementCode is null begin continue end if @Debugswitch > 0 begin print\r\n @SQLCmd  end exec sp_executesql @SQLCmd delete  @Statements  from @Statements s where s.Parameter1 = @UID_StatementCode end  if @Debugswitch > 0 begin\r\n print 'nach Auffüllung m:n Xobjectkeys '  end   insert into #finaleStatements (ContentFull) select x.StatementCode  from ( select replace(replace(replace\r\n(replace(v.StamentPattern , '#tabelle#', s.TableName) , '#spalte#', s.ColumnName) , '#otherPK#', s.OtherPK) , '#xwerte#', case dbo.QBM_FGIColumnExistsInSchema\r\n(s.TableName, 'XDateUpdated') when 1 then ', XDateUpdated = getutcdate(), XUserUpdated =  ''QBM_PGUIDReplaceLighter''' else '' end ) as StatementCode ,\r\n s.TableName, s.ColumnName , s.Sortorder from (  select 1 as Sortorder, r.ChildTable as TableName, r.ChildColumn as ColumnName, 'U-PK' as StatementType\r\n, '' as OtherPK from QBM_VQBMRelation r join DialogColumn c on r.UID_ChildColumn = c.UID_DialogColumn where r.ParentTable = @StartTable and c.IsPKMember\r\n = 0 union select 1 as Sortorder, r.ChildTable as TableName, r.ChildColumn as ColumnName , case when cx.UID_DialogColumn is null then 'U-PK' else 'UE-PK-M'\r\n  end as StatementType , ra.ChildColumn as OtherPK from QBM_VQBMRelation r join DialogColumn c on r.UID_ChildColumn = c.UID_DialogColumn join DialogTable\r\n t on c.UID_DialogTable = t.UID_DialogTable join QBM_VQBMRelation ra on r.UID_DialogTableChild = ra.UID_DialogTableChild and ra.UID_QBMRelation <> r.UID_QBMRelation\r\n left outer join DialogColumn cx on cx.UID_DialogTable = c.UID_DialogTable and cx.columnName = 'XObjectKey' where r.ParentTable = @StartTable and c.IsPKMember\r\n = 1          union  select 1000 as Sortorder, @StartTable, @StartColumn, 'UE1-PK', '' as OtherPK  union select 999 as Sortorder, @StartTable, 'XObjectKey'\r\n, 'UE-XO', '' as OtherPK union select 1 as Sortorder, 'QBMTaggedChange', 'ObjectKey', 'U-XO', '' as OtherPK union select 1 as Sortorder, 'QBMBufferConfig'\r\n, 'ObjectKeyOfRow', 'U-XO', '' as OtherPK union  select 1 as Sortorder, tr.TableName, c.ColumnName, 'U-XO', '' as OtherPK from DialogValidDynamicRef r \r\njoin DialogTable t on r.UID_DialogTableReference = t.UID_DialogTable join DialogColumn c on r.UID_DialogColumn = c.UID_DialogColumn join DialogTable tr\r\n on c.UID_DialogTable = tr.UID_DialogTable where t.TableName = @StartTable  union select 1 as Sortorder, tr.TableName, c.ColumnName, 'U-XO', '' as OtherPK\r\n from DialogValidDynamicRef r join DialogTable t on r.UID_DialogTableReference = t.UID_DialogTable join DialogColumn c on r.UID_DialogColumn = c.UID_DialogColumn\r\n join DialogTable tr on c.UID_DialogTable = tr.UID_DialogTable where t.TableName in ( select r.ChildTable as TableName from QBM_VQBMRelation r join DialogColumn\r\n c on r.UID_ChildColumn = c.UID_DialogColumn join QBM_VQBMRelation ra on r.UID_DialogTableChild = ra.UID_DialogTableChild and ra.UID_QBMRelation <> r.UID_QBMRelation\r\n where r.ParentTable = @StartTable and c.IsPKMember = 1 )  union select 1 as Sortorder, t.TableName, c.ColumnName, 'U-XO', '' as OtherPK from DialogColumn\r\n c join DialogTable t on c.UID_DialogTable = t.UID_DialogTable left outer join DialogValidDynamicRef r on r.UID_DialogColumn = c.UID_DialogColumn where\r\n c.IsDynamicFK = 1 and r.UID_DialogColumn is null ) s join DialogTable te on te.TableName = s.TableName and te.TableType in ('B', 'T')  join INFORMATION_SCHEMA.COLUMNS\r\n ic with (readpast) on ic.TABLE_NAME = s.TableName and ic.COLUMN_NAME = s.ColumnName join ( values ('U-PK', 'update #tabelle# \r\n\t\t\t\t\t\t\t\t\tset #spalte# = y.PK_New #xwerte#\r\n\t\t\t\t\t\t\t\t\tfrom #tabelle# x join #Zwischenstand y on x.#spalte# = y.PK_Old\r\n\t\t\t\t\t\t\t\t\t'\r\n) , ('UE-PK', 'update #tabelle# \r\n\t\t\t\t\t\t\t\t\t\tset #spalte# = y.PK_New #xwerte#\r\n\t\t\t\t\t\t\t\t\tfrom #tabelle# t join #Zwischenstand y on t.#spalte# = y.PK_Old\r\n\t\t\t\t\t\t\t\t\twhere not exists (select top 1 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfrom #tabelle# te\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\twhere te.#spalte# = y.PK_New\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t and te.#otherPK# = t.#otherPK#\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)'\r\n) , ('UE-PK-M', 'update #tabelle# \r\n\t\t\t\t\t\t\t\t\t\tset #spalte# = y.PK_New #xwerte#\r\n\t\t\t\t\t\t\t\t\t\t, XobjectKey = replace(t.XObjectkey, y.PK_Old, y.PK_New)\r\n\t\t\t\t\t\t\t\t\tfrom #tabelle# t join #Zwischenstand y on t.#spalte# = y.PK_Old\r\n\t\t\t\t\t\t\t\t\twhere not exists (select top 1 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfrom #tabelle# te\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\twhere te.#spalte# = y.PK_New\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t and te.#otherPK# = t.#otherPK#\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)'\r\n) , ('UE1-PK', 'update #tabelle# \r\n\t\t\t\t\t\t\t\t\t\tset #spalte# = y.PK_New #xwerte#\r\n\t\t\t\t\t\t\t\t\tfrom #tabelle# t join #Zwischenstand y on t.#spalte# = y.PK_Old\r\n\t\t\t\t\t\t\t\t\twhere not exists (select top 1 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfrom #tabelle# te\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\twhere te.#spalte# = y.PK_New\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)'\r\n) , ('U-XO', 'update #tabelle# \r\n\t\t\t\t\t\t\t\t\tset #spalte# = y.XO_New #xwerte#\r\n\t\t\t\t\t\t\t\t\tfrom #tabelle# x join #Zwischenstand y on x.#spalte# = y.XO_Old\r\n\t\t\t\t\t\t\t\t\t'\r\n) , ('UE-XO', 'update #tabelle# \r\n\t\t\t\t\t\t\t\t\t\tset #spalte# = y.XO_New #xwerte#\r\n\t\t\t\t\t\t\t\t\tfrom #tabelle# t join #Zwischenstand y on t.#spalte# = y.XO_Old\r\n\t\t\t\t\t\t\t\t\twhere not exists (select top 1 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfrom #tabelle# te\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\twhere te.#spalte# = y.XO_New\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)'\r\n) ) as v (StatementType, StamentPattern) on s.StatementType = v.StatementType ) as x order by x.Sortorder return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PFDA25F6EA8E748702E6D119_2",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:24.413",
      "ModifyDate": "2026-04-14T23:20:27.353",
      "Definition": " create   procedure QBM_PFDA25F6EA8E748702E6D119_2 (@StartTable varchar(30) ) as begin SET XACT_ABORT OFF BEGIN TRY declare @cmd nvarchar(max) declare\r\n @ObjectKeysToReplace QBM_YParameterList     declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @TableName\r\n varchar(30) declare @ColumnName varchar(30) declare @DebugSwitch int = 0  insert into @ElementBuffer(ContentFull, Ident1, Ident2) select concat( convert\r\n(nvarchar(max), ''), '\r\n\t\t\tselect ''', t.TableName ,''', ''', c.ColumnName, '''\r\n\t\t\t\t where exists (\r\n\t\t\t\t\t\t\t\tselect top 1 1\r\n\t\t\t\t\t\t\t\tfrom ', t.TableName\r\n ,'\r\n\t\t\t\t\t\t\t\twhere ', c.ColumnName , ' like ''<Key><T>', @StartTable , '</T><P>%''\r\n\t\t\t\t\t\t\t)\r\n\r\n\t\t\t\t ' )  , t.TableName, c.ColumnName from DialogColumn\r\n c join DialogTable t on c.UID_DialogTable = t.UID_DialogTable and t.TableType in ('B', 'T') left outer join DialogValidDynamicRef r on r.UID_DialogColumn\r\n = c.UID_DialogColumn where c.IsDynamicFK = 1 and r.UID_DialogColumn is null select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex\r\n <= @ElementCount begin select top 1 @cmd = bu.ContentFull , @TableName = bu.Ident1 , @ColumnName = bu.Ident2 from @ElementBuffer bu where bu.ElementIndex\r\n = @ElementIndex if @DebugSwitch > 0 begin print @cmd end   insert into @ObjectKeysToReplace(Parameter1, Parameter2) exec sp_executesql @cmd if @@ROWCOUNT\r\n > 0 begin   if @DebugSwitch > 0 begin print 'wird ausgewertet' end end  select @ElementIndex += 1 end  insert into @ObjectKeysToReplace(Parameter1, Parameter2\r\n) select x.Tablename, x.Columnname from ( select 'QBMTaggedChange' as Tablename, 'ObjectKey' as Columnname union select 'QBMBufferConfig', 'ObjectKeyOfRow'\r\n union  select tr.TableName, c.ColumnName from DialogValidDynamicRef r join DialogTable t on r.UID_DialogTableReference = t.UID_DialogTable join DialogColumn\r\n c on r.UID_DialogColumn = c.UID_DialogColumn join DialogTable tr on c.UID_DialogTable = tr.UID_DialogTable where t.TableName = @StartTable ) as x where\r\n not exists (select top 1 1 from @ObjectKeysToReplace e where e.Parameter1 = x.Tablename and e.Parameter2 = x.Columnname ) insert into #FinaleStatements\r\n(ContentFull) select x.SQLStatement from ( select 1000 as Sortorder, CONCAT('update ', @StartTable,'\r\n\t\tset ', dbo.QBM_FGIPrimaryKeyName(@StartTable,1)\r\n,'  = z.PK_New\r\n\t\t\t, XObjectKey = z.XO_New ' ,case dbo.QBM_FGIColumnExists(@Starttable, 'XDateUpdated') when 1 then ', XDateUpdated = GETUTCDATE(), XUserUpdated = ''QBM_PGUIDReplaceLighter'' '\r\n else '' end, '\t\r\n\tfrom ', @StartTable,' t join #Zwischenstand z on t.', dbo.QBM_FGIPrimaryKeyName(@StartTable,1),' = z.PK_Old\r\n\t\t\t\t\t\t\t\t\twhere not exists (select top 1 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfrom '\r\n, @StartTable,' te\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\twhere te.XObjectKey = z.XO_New\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t') as SQLStatement union select 1 as Sortorder, concat( 'update '\r\n, r.Parameter1,'\r\n\t\t\t\t\t\t\t\t\t\tset ', r.Parameter2,' = y.XO_New ' ,case dbo.QBM_FGIColumnExists( r.Parameter1, 'XDateUpdated') when 1 then ', XDateUpdated = GETUTCDATE(), XUserUpdated = ''QBM_PGUIDReplaceLighter'' '\r\n else '' end, '\r\n\t\t\t\t\t\t\t\t\tfrom ', r.Parameter1,' t join #Zwischenstand y on t.', r.Parameter2,' = y.XO_Old\r\n\t\t\t\t\t\t\t\t\twhere not exists (select top 1 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfrom '\r\n, r.Parameter1,' te\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\twhere te.', r.Parameter2,' = y.XO_New\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)' ) as SQLStatement  from @ObjectKeysToReplace r ) as x order by\r\n x.Sortorder END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow\r\n, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PFESimulationEnd",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.723",
      "ModifyDate": "2026-04-14T23:20:32.19",
      "Definition": " create   procedure QBM_PFESimulationEnd (@UID_Database varchar(38) , @XUserUpdated nvarchar(64) , @XDateUpdated datetime ) as begin SET XACT_ABORT\r\n OFF BEGIN TRY update Dialogdatabase set FESimulationStarted = null , XUserUpdated = @XUserUpdated , XDateUpdated = @XDateUpdated where UID_Database = \r\n@UID_Database END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow\r\n, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PFESimulationExecute",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.717",
      "ModifyDate": "2026-04-14T23:20:32.18",
      "Definition": "  create   procedure QBM_PFESimulationExecute as begin SET XACT_ABORT OFF BEGIN TRY  RAISERROR('exec QBM_PWorkDBQueueMain 998 not available anymore'\r\n, 18, 1) with nowait END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR \r\n(@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PFESimulationFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.733",
      "ModifyDate": "2026-04-14T23:20:32.2",
      "Definition": " create   procedure QBM_PFESimulationFill (@Data QBM_YTriggerOperation readonly ) as begin SET XACT_ABORT OFF BEGIN TRY if object_id(N'tempdb..#TriggerOperation'\r\n) is not null begin insert into #TriggerOperation (Operation, BaseObjectType, ColumnName, ObjectKey, OldValue) select Operation, BaseObjectType, ColumnName\r\n, ObjectKey, OldValue from @data end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PFESimulationStart",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.71",
      "ModifyDate": "2026-04-14T23:20:32.173",
      "Definition": " create   procedure QBM_PFESimulationStart (@UID_Database varchar(38) , @SimulationStart datetime , @XUserUpdated nvarchar(64) , @XDateUpdated datetime\r\n ) as begin SET XACT_ABORT OFF BEGIN TRY update Dialogdatabase set FESimulationStarted = @SimulationStart , XUserUpdated = @XUserUpdated , XDateUpdated\r\n = @XDateUpdated where UID_Database = @UID_Database END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PForeignKeyEmptySetNull",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.11",
      "ModifyDate": "2026-04-14T23:20:25.79",
      "Definition": "    create   procedure QBM_PForeignKeyEmptySetNull (@ChildTableName varchar(64) = '%' ) as begin  declare @ElementBuffer QBM_YCursorBuffer BEGIN\r\n TRY insert into @ElementBuffer (ContentFull) select concat('\r\n if exists (select top 1 1 \r\n\t\t\tfrom ' , tc.TableName , ' with (nolock)\r\n\t\t\twhere ' , c.columnname\r\n , ' = ''''\r\n\t\t\t\tor (' , c.columnname , ' not like ''%[0-9,a-z]%'' and ' , c.columnname , ' > '' '' )\r\n\t\t\t)\r\n  begin\r\n\tupdate ' , tc.TableName , ' set '\r\n , c.columnname , ' = null ' , case when dbo.QBM_FGIColumnExistsInSchema(tc.TableName, 'XDateUpdated') = 1 and c.ColumnName not like 'X[d,u][a,s][t,e][e,r]updated'\r\n then ', XDateUpdated = getutcdate(), XUserUpdated =  ''' + object_name(@@procid) + '''' else '' end ,' where rtrim(' , c.columnname , ') = '''' or (' \r\n, c.columnname , ' not like ''%[0-9,a-z]%'' and ' , c.columnname , ' is not null)\r\n  end\r\n\t') from QBM_VQBMRelation tr  join dialogcolumn c with (readpast\r\n) on tr.uid_childcolumn = c.uid_dialogColumn join dialogtable tc with (readpast) on c.uid_dialogtable = tc.uid_dialogtable join information_schema.columns\r\n ic with (readpast) on ic.table_name = tc.TableName and ic.column_name = c.columnname and ic.DATA_TYPE = 'varchar' and ic.IS_NULLABLE = 'YES' and ic.CHARACTER_MAXIMUM_LENGTH\r\n in( 38) join information_schema.tables it with (readpast) on ic.table_name = it.table_name and it.table_type = 'base table' where isnull(tr.BaseRelationID\r\n, '') = '' and tr.ParentExecuteBy in ('T', 'D') and tr.childtable like @ChildTableName union select concat('\r\n if exists (select top 1 1 \r\n\t\t\tfrom ' , \r\nt.TableName , ' with (nolock)\r\n\t\t\twhere ' , c.columnname , ' = ''''\r\n\t\t\t\tor (' , c.columnname , ' not like ''%[0-9,a-z]%'' and ' , c.columnname , ' > '' '' )\r\n\t\t\t)\r\n  begin\r\n\tupdate '\r\n , t.TableName , ' set ' , c.columnname , ' = null ' , case when dbo.QBM_FGIColumnExistsInSchema(t.TableName, 'XDateUpdated') = 1 and c.ColumnName not \r\nlike 'X[d,u][a,s][t,e][e,r]updated' then ', XDateUpdated = getutcdate(), XUserUpdated =  ''' + object_name(@@procid) + '''' else '' end ,'where rtrim('\r\n , c.columnname , ') = '''' or (' , c.columnname , ' not like ''%[0-9,a-z]%'' and ' , c.columnname , ' is not null)\r\n  end\r\n\t') from dialogcolumn c with\r\n (readpast) join DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable join information_schema.columns ic with (readpast) on ic.table_name\r\n = t.TableName and ic.column_name = c.columnname and ic.DATA_TYPE = 'varchar' and ic.IS_NULLABLE = 'YES' and ic.CHARACTER_MAXIMUM_LENGTH in( 138) join \r\ninformation_schema.tables it with (readpast) on ic.table_name = it.table_name and it.table_type = 'base table' where c.ColumnName <> 'XObjectKey' and t.TableName\r\n like @ChildTableName exec QBM_PExecuteSQLMulti @ElementBuffer, 0, @@PROCID  , @LockTimeout_ms = 2500 , @MaxWaitTimeForLock_s = 7 END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende:\r\n  end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PForeignKeyObjectKeyNoRef",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.707",
      "ModifyDate": "2026-04-14T23:20:26.48",
      "Definition": "     create   procedure QBM_PForeignKeyObjectKeyNoRef (@ObjectKeyDialogColumn varchar(138) , @RepairIt bit ) as begin declare @TableName varchar\r\n(30) declare @columnname varchar(30) declare @MinLen int declare @DebugSwitch int = 0 declare @SQLcmd nvarchar(max) declare @RefTables QBM_YSingleGUID \r\ndeclare @RefTable varchar(30) declare @Results QBM_YCursorBuffer     SET XACT_ABORT OFF BEGIN TRY set nocount on select top 1 @TableName = t.TableName \r\n, @columnname = c.ColumnName , @MinLen = case cc.IS_NULLABLE when 'YES' then 0 else 1 end | sign(isnull(c.MinLen, 0)) from DialogColumn c with (readpast\r\n) join DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable join INFORMATION_SCHEMA.COLUMNS cc with (readpast) on cc.TABLE_NAME = t.TableName\r\n and cc.COLUMN_NAME = c.ColumnName where c.XObjectKey = @ObjectKeyDialogColumn if @DebugSwitch > 0 begin print 'verarbeitung ' + @TableName + '.' + @Columnname\r\n print '\t\tminlen' + str(@minlen) end select @SQLcmd = '\r\n\t\tselect distinct dbo.QBM_FCVObjectkeyToElement(''TableName'', ' + @columnname + ')\r\n\t\t\tfrom '\r\n + @TableName + ' with (readpast)\r\n\t\t\twhere ' + @columnname + ' > '' ''\r\n\t\t\t'  delete  @RefTables  insert into @RefTables(UID_SingleGuid ) exec sp_executeSql\r\n @SQLcmd if @DebugSwitch > 0 begin select * from @RefTables end while exists (select top 1 1 from @RefTables ) begin select top 1 @RefTable = UID_SingleGuid\r\n  from @RefTables if @DebugSwitch > 0 begin print '@RefTable ' + isnull(@RefTable, '<none>') end if exists (select top 1 1 from DialogTable t with (readpast\r\n) join DialogColumn c with (readpast) on t.UID_DialogTable = c.UID_DialogTable where t.TableName = @RefTable and c.ColumnName = 'XObjectKey'  and t.TableType\r\n in ('T', 'V')  ) begin if @RepairIt = 0 begin  select @SQLcmd = '\t\t\t\r\n\t\t\t\tselect ''' + @TableName + ''', ''' + @columnname + ''', ' + str(@MinLen) + ', x.'\r\n + @columnname + '\r\n\t\t\t\t\tfrom ' + @TableName + ' x with (readpast) left outer join ' + @RefTable + ' y with (readpast) on x.' + @columnname + ' = y.XObjectKey\r\n\t\t\t\t\twhere x.'\r\n + @columnname + ' like ''<Key><T>'' + ''' + @RefTable + ''' + ''</T>%''\r\n\t\t\t\t\t and y.XObjectKey is null\r\n\t\t\t\t\t\t' end else begin if @MinLen > 0 begin  \r\nselect @SQLcmd = '\t\t\t\r\n\t\t\t\t\tdelete ' + @TableName + '\r\n\t\t\t\t\t\tfrom ' + @TableName + ' x left outer join ' + @RefTable + ' y  on x.' + @columnname + ' = y.XObjectKey\r\n\t\t\t\t\t\twhere x.'\r\n + @columnname + ' like ''<Key><T>'' + ''' + @RefTable + ''' + ''</T>%''\r\n\t\t\t\t\t\t and y.XObjectKey is null\r\n\t\t\t\t\t\t\t' end else begin  select @SQLcmd = concat\r\n('\t\t\t\r\n\t\t\t\t\tupdate ' , @TableName , '\r\n\t\t\t\t\t\tset ' , @columnname , ' = null ' , case when dbo.QBM_FGIColumnExistsInSchema(@TableName, 'XDateUpdated') =\r\n 1 and @columnname not like 'X[d,u][a,s][t,e][e,r]updated' then ', XDateUpdated = getutcdate(), XUserUpdated =  ''' + object_name(@@procid) + '''' else\r\n '' end , ' from ' , @TableName , ' x left outer join ' , @RefTable , ' y  on x.' , @columnname , ' = y.XObjectKey\r\n\t\t\t\t\t\twhere x.' , @columnname , ' like ''<Key><T>'' + '''\r\n , @RefTable , ''' + ''</T>%''\r\n\t\t\t\t\t\t and y.XObjectKey is null\r\n\t\t\t\t\t\t\t') end end  end else begin  if @RepairIt = 0 begin select @SQLcmd = '\t\t\t\r\n\t\t\t\tselect '''\r\n + @TableName + ''', ''' + @columnname + ''', ' + str(@MinLen) + ', x.' + @columnname + '\r\n\t\t\t\t\tfrom ' + @TableName + ' x with (readpast)\r\n\t\t\t\t\twhere x.'\r\n + @columnname + ' like ''<Key><T>'' + ''' + @RefTable + ''' + ''</T>%''\r\n\t\t\t\t\t\t' end else begin if @MinLen > 0 begin select @SQLcmd = '\t\t\t\r\n\t\t\t\t\tdelete '\r\n + @TableName + '\r\n\t\t\t\t\t\tfrom ' + @TableName + ' x \r\n\t\t\t\t\t\twhere x.' + @columnname + ' like ''<Key><T>'' + ''' + @RefTable + ''' + ''</T>%''\r\n\t\t\t\t\t\t\t' \r\nend else begin select @SQLcmd = concat('\t\t\t\r\n\t\t\t\t\tupdate ' , @TableName + '\r\n\t\t\t\t\t\tset ' , @columnname , ' = null ' , case when dbo.QBM_FGIColumnExistsInSchema\r\n(@TableName, 'XDateUpdated') = 1 and @columnname not like 'X[d,u][a,s][t,e][e,r]updated' then ', XDateUpdated = getutcdate(), XUserUpdated =  ''' + object_name\r\n(@@procid) + '''' else '' end , ' from ' , @TableName , ' x \r\n\t\t\t\t\t\twhere x.' , @columnname , ' like ''<Key><T>'' + ''' , @RefTable , ''' + ''</T>%''\r\n\t\t\t\t\t\t\t'\r\n) end end  end if @RepairIt = 0 begin if @DebugSwitch > 0 begin print @Sqlcmd end insert into @Results (Ident1 , ident2  , int1  , ObjectKey1 ) exec sp_executeSQL\r\n @SQLcmd end else begin if @DebugSwitch > 0 begin print @Sqlcmd end exec sp_executeSQL @SQLcmd end delete  @RefTables where UID_SingleGuid  = @RefTable\r\n end  if @RepairIt = 0 begin select Ident1 as TableName , ident2 as ColumnName , int1 as MinLen , ObjectKey1 as ObjectKeyInvalid from @Results end END \r\nTRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT\r\n END CATCH ende:  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PForeignKeyWrongRepair",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.173",
      "ModifyDate": "2026-04-14T23:20:25.863",
      "Definition": "   create   procedure QBM_PForeignKeyWrongRepair (@ChildTablePattern varchar(32) = '%' , @ChildColumnPattern varchar(32) = '%' , @ParentTablePattern\r\n varchar(32) = '%' , @ParentColumnPattern varchar(32) = '%' , @RepairOnlyNonExistingModule bit = 0  , @OwnerOfParent varchar(3) = '%'  , @RepairFromReport\r\n bit = 0   , @FilterByModuleGuidAllowed bit = 0    , @CheckOutsideValues bit = 0   , @MasterMigMode bit = 0  ) as begin declare @ParentTable nvarchar(64\r\n), @ChildTable nvarchar(64), @ParentColumn nvarchar(64), @ChildColumn nvarchar(64), @RepairMethod nvarchar(16) declare @ParentTableBase varchar(64) declare\r\n @ParentRestriction nvarchar(16) declare @isNullableColumn nvarchar(10) declare @isPKMember bit declare @changed bit declare @changedTotal bit declare \r\n@CountItems int declare @CmdWork nvarchar(max) declare @CmdDelete nvarchar(max) declare @CmdSetNull nvarchar(max) declare @msg nvarchar(1000) declare @IsDynamicFK\r\n int declare @HasXObjectKey bit declare @ChangesForeign int = 0  declare @DebugSwitch int = 0 declare @ElementCount int declare @ElementIndex int declare\r\n @ElementLast int declare @ElementBufferMulti QBM_YCursorBuffer declare @ElementCountOutsideValues int declare @ElementIndexOutsideValues int declare @ElementLastOutsideValues\r\n int declare @ElementBufferOutsideValues QBM_YCursorBuffer declare @SQLOutsideValues nvarchar(max) declare @WerOutsideValues QBM_YParameterList SET XACT_ABORT\r\n OFF BEGIN TRY set nocount on  drop table if exists #TablesForOutside  CREATE TABLE #TablesForOutside ( KeyPattern varchar(138) collate database_default\r\n not null primary key ) insert into #TablesForOutside(KeyPattern ) select '<Key><T>' + t.TableName + '</T>' from DialogTable t  if @RepairFromReport = \r\n0  begin exec QBM_PForeignKeyEmptySetNull @ChildTablePattern end declare @ModCheck38X nvarchar(max) = ' dbo.QBM_FCVObjectKeyToModuleOwner(@ChildTable.XObjectKey) '\r\n declare @ModCheck38K nvarchar(max) = ' case dbo.QBM_FCVGUIDToModuleOwner(@ChildTable.@Childcolumn)  when ''ZZZ'' then left(@ChildTable.@Childcolumn, 3) else dbo.QBM_FCVGUIDToModuleOwner(@ChildTable.@Childcolumn) end '\r\n declare @ModCheck138 nvarchar(max) = ' dbo.QBM_FCVObjectKeyToModuleOwner(@ChildTable.@Childcolumn) ' select @cmdDelete = concat('\r\nif exists (select top 1 1\r\n\t\t\tfrom @ChildTable with (readpast)\r\n%report%\t\t\t\t\tjoin QBMForeignKeyWrongReport fkwr on @ChildTable.@ChildColumn = fkwr.InvalidValue\r\n\t\t\twhere not exists (select top 1 1\r\n\t\t\t\t\t\t\t\t from @ParentTable p  with (readpast)\r\n\t\t\t\t\t\t\t\twhere p.@Parentcolumn = @ChildTable.@Childcolumn\r\n\t\t\t\t\t\t\t) \r\n\t\t\t and @ChildTable.@Childcolumn > '' ''\r\n%Mamig%\t\t and @ChildTable.XObjectKey like ''<Key><T>@ChildTable</T><P>[a-z][0-z][0-z]-%'' \r\n%dyn%\t\t and @ChildTable.@Childcolumn like ''<Key><T>@ParentTable</T>%'' \r\n'\r\n, case when @OwnerOfParent = '%' then '' else '\r\n%dyn%\t\t and dbo.QBM_FCVObjectKeyToModuleOwner(@ChildTable.@ChildColumn) like ''@OwnerOfParent''\r\n%uid%\t\t and left(@ChildTable.@ChildColumn, 3) like ''@OwnerOfParent''\r\n'\r\n end, '\r\n\t\t)\r\nbegin\r\n%Xori%\tupdate @ChildTable \r\n%Xori%\t\tset XOrigin = 0\r\n%Xori%\t  from @ChildTable \r\n%Xori%%report%\t\t\t\t\tjoin QBMForeignKeyWrongReport fkwr on @ChildTable.@ChildColumn = fkwr.InvalidValue\r\n%Xori%\t\twhere not exists (select top 1 1\r\n%Xori%\t\t\t\t\t\t\t from @ParentTable p  with (readpast)\r\n%Xori%\t\t\t\t\t\t\twhere p.@Parentcolumn = @ChildTable.@Childcolumn\r\n%Xori%\t\t\t\t\t\t) \r\n%Xori%\t-- und der Childschlssel ist nicht leer\r\n%Xori%\t\t and @ChildTable.@Childcolumn > '' ''\r\n%Xori%%dyn%\t\t and @ChildTable.@Childcolumn like ''<Key><T>@ParentTable</T>%'' \r\n%Xori%%Mod%\tand dbo.QBM_FGIModuleExists(%modcheck%) = 0\r\n'\r\n, case when @OwnerOfParent = '%' then '' else '\r\n%Xori%%dyn%\t\t and dbo.QBM_FCVObjectKeyToModuleOwner(@ChildTable.@ChildColumn) like ''@OwnerOfParent''\r\n%Xori%%uid%\t\t and left(@ChildTable.@ChildColumn, 3) like ''@OwnerOfParent''\r\n'\r\n end, '\r\n\r\n\tdelete /* Platzhalter, keine Variable */ @ChildTable\r\n\t\tfrom @ChildTable\r\n%report%\t\t\t\t\tjoin QBMForeignKeyWrongReport fkwr on @ChildTable.@ChildColumn = fkwr.InvalidValue\r\n\t\twhere not exists (select top 1 1\r\n\t\t\t\t\t\t\t from @ParentTable p   with (readpast)\r\n\t\t\t\t\t\t\twhere p.@Parentcolumn = @ChildTable.@Childcolumn\r\n\t\t\t\t\t\t) \r\n\t-- und der Childschlssel ist nicht leer\r\n\t\t and @ChildTable.@Childcolumn > '' ''\r\n%dyn%\t\t and @ChildTable.@Childcolumn like ''<Key><T>@ParentTable</T>%'' \r\n'\r\n, case when @OwnerOfParent = '%' then '' else '\r\n%dyn%\t\t and dbo.QBM_FCVObjectKeyToModuleOwner(@ChildTable.@ChildColumn) like ''@OwnerOfParent''\r\n%uid%\t\t and left(@ChildTable.@ChildColumn, 3) like ''@OwnerOfParent''\r\n'\r\n end, '\r\n\r\n%Mod%\tand dbo.QBM_FGIModuleExists(%modcheck%) = 0\r\n%Mamig%\t\tand @ChildTable.XObjectKey like ''<Key><T>@ChildTable</T><P>[a-z][0-z][0-z]-%'' \r\nend\r\n'\r\n ) declare @cmdDeleteDynamicOutOfValid nvarchar(Max) = concat('\r\nif exists (select top 1 1\r\n\t\t\tfrom @ChildTable  with (readpast)\r\n%report%\t\t\t\t\tjoin QBMForeignKeyWrongReport fkwr on @ChildTable.@ChildColumn = fkwr.InvalidValue\r\n\t\t\t\t\t\tleft outer join (\r\n\t\t\t\t\t\t\t\t\t\tselect tp.TableName\r\n\t\t\t\t\t\t\t\t\t\tfrom DialogValidDynamicRef vr with (readpast) join DialogColumn c with (readpast) on vr.UID_DialogColumn = c.UID_DialogColumn\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tjoin DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tjoin DialogTable tp with (readpast) on vr.UID_DialogTableReference = tp.UID_DialogTable\r\n\t\t\t\t\t\t\t\t\t\twhere t.TableName = ''@ChildTable''\r\n\t\t\t\t\t\t\t\t\t\t and c.ColumnName = ''@ChildColumn''\r\n\t\t\t\t\t\t\t\t\t\t) as y on @ChildTable.@ChildColumn like ''<Key><T>'' + y.TableName + ''</T>%'' \r\n\t\t\twhere y.TableName is null\r\n%Mamig%\t\tand @ChildTable.XObjectKey like ''<Key><T>@ChildTable</T><P>[a-z][0-z][0-z]-%'' \r\n\t\t\t'\r\n, case when @OwnerOfParent = '%' then '' else '\r\n\t\t\tand dbo.QBM_FCVObjectKeyToModuleOwner(@ChildTable.@ChildColumn) like ''@OwnerOfParent''\r\n' end, '\r\n\t\t)\r\nbegin\r\n%Xori%\tupdate @ChildTable\r\n%Xori%\t\tset XOrigin = 0\r\n%Xori%\t\tfrom @ChildTable \r\n%Xori%%report%\t\t\t\t\tjoin QBMForeignKeyWrongReport fkwr on @ChildTable.@ChildColumn = fkwr.InvalidValue\r\n%Xori%\t\t\t\t\tleft outer join (\r\n%Xori%\t\t\t\t\t\t\t\t\tselect tp.TableName\r\n%Xori%\t\t\t\t\t\t\t\t\tfrom DialogValidDynamicRef vr with (readpast) join DialogColumn c with (readpast) on vr.UID_DialogColumn = c.UID_DialogColumn\r\n%Xori%\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tjoin DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable\r\n%Xori%\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tjoin DialogTable tp with (readpast) on vr.UID_DialogTableReference = tp.UID_DialogTable\r\n%Xori%\t\t\t\t\t\t\t\t\twhere t.TableName = ''@ChildTable''\r\n%Xori%\t\t\t\t\t\t\t\t\t and c.ColumnName = ''@ChildColumn''\r\n%Xori%\t\t\t\t\t\t\t\t\t) as y on @ChildTable.@ChildColumn like ''<Key><T>'' + y.TableName + ''</T>%'' \r\n%Xori%\t\twhere y.TableName is null\r\n%Xori%\t\tand @ChildTable.@ChildColumn > '' ''\r\n%Xori%%Mod%\tand dbo.QBM_FGIModuleExists(%modcheck%) = 0\r\n'\r\n, case when @OwnerOfParent = '%' then '' else '\r\n%Xori%\t\tand dbo.QBM_FCVObjectKeyToModuleOwner(@ChildTable.@ChildColumn) like ''@OwnerOfParent''\r\n' end\r\n, '\r\n\r\n\tdelete /* Platzhalter, keine Variable */ @ChildTable\r\n\tfrom @ChildTable \r\n%report%\t\t\t\t\tjoin QBMForeignKeyWrongReport fkwr on @ChildTable.@ChildColumn = fkwr.InvalidValue\r\n\t\t\t\tleft outer join (\r\n\t\t\t\t\t\t\t\tselect tp.TableName\r\n\t\t\t\t\t\t\t\tfrom DialogValidDynamicRef vr with (readpast) join DialogColumn c with (readpast) on vr.UID_DialogColumn = c.UID_DialogColumn\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tjoin DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tjoin DialogTable tp with (readpast) on vr.UID_DialogTableReference = tp.UID_DialogTable\r\n\t\t\t\t\t\t\t\twhere t.TableName = ''@ChildTable''\r\n\t\t\t\t\t\t\t\t and c.ColumnName = ''@ChildColumn''\r\n\t\t\t\t\t\t\t\t) as y on @ChildTable.@ChildColumn like ''<Key><T>'' + y.TableName + ''</T>%'' \r\n\twhere y.TableName is null\r\n\tand @ChildTable.@ChildColumn > '' ''\r\n%Mamig%\t\tand @ChildTable.XObjectKey like ''<Key><T>@ChildTable</T><P>[a-z][0-z][0-z]-%'' \r\n%Mod%\tand dbo.QBM_FGIModuleExists(%modcheck%) = 0\r\n'\r\n, case when @OwnerOfParent = '%' then '' else '\r\n\t\tand dbo.QBM_FCVObjectKeyToModuleOwner(@ChildTable.@ChildColumn) like ''@OwnerOfParent''\r\n' end, '\r\nend\r\n'\r\n ) declare @cmdDeleteDynamicOutOfTables nvarchar(Max) = concat('\r\nif exists (select top 1 1\r\n\t\t\tfrom @ChildTable  with (readpast)\r\n%report%\t\t\t\t\tjoin QBMForeignKeyWrongReport fkwr on @ChildTable.@ChildColumn = fkwr.InvalidValue\r\n\t\t\twhere @ChildTable.@ChildColumn > '' ''\r\n\t\t\t and not exists ( select top 1 1\r\n\t\t\t\t\t\t\t\tfrom #TablesForOutside a with (forceseek) \r\n\t\t\t\t\t\t\t\twhere left(@ChildTable.@ChildColumn,  patindex(''%</T>%'', @ChildTable.@ChildColumn ) + 3 ) =  a.KeyPattern \r\n\t\t\t\t\t\t\t)\r\n%Mamig%\t\tand @ChildTable.XObjectKey like ''<Key><T>@ChildTable</T><P>[a-z][0-z][0-z]-%'' \r\n\r\n\t\t\t '\r\n, case when @OwnerOfParent = '%' then '' else '\r\n\t\t\t and dbo.QBM_FCVObjectKeyToModuleOwner(@ChildTable.@ChildColumn) like ''@OwnerOfParent''\r\n' end, '\r\n\t\t)\r\nbegin\r\n%Xori%\tupdate @ChildTable\r\n%Xori%\t\tset XOrigin = 0\r\n%Xori%\t\t\tfrom @ChildTable \r\n%Xori%%report%\t\t\t\t\tjoin QBMForeignKeyWrongReport fkwr on @ChildTable.@ChildColumn = fkwr.InvalidValue\r\n%Xori%\t\t\twhere @ChildTable.@ChildColumn > '' ''\r\n%Xori%\t\t\t and not exists ( select top 1 1\r\n%Xori%\t\t\t\t\t\t\t\tfrom #TablesForOutside a with (forceseek) \r\n%Xori%\t\t\t\t\t\t\t\twhere left(@ChildTable.@ChildColumn,  patindex(''%</T>%'', @ChildTable.@ChildColumn ) + 3 ) =  a.KeyPattern \r\n%Xori%\t\t\t\t\t\t\t)\r\n\r\n%Xori%%Mod%\tand dbo.QBM_FGIModuleExists(%modcheck%) = 0\r\n'\r\n, case when @OwnerOfParent = '%' then '' else '\r\n%Xori%\t\tand dbo.QBM_FCVObjectKeyToModuleOwner(@ChildTable.@ChildColumn) like ''@OwnerOfParent''\r\n' end\r\n, '\r\n\r\n\tdelete /* Platzhalter, keine Variable */ @ChildTable\r\n\t\t\tfrom @ChildTable \r\n%report%\t\t\t\t\tjoin QBMForeignKeyWrongReport fkwr on @ChildTable.@ChildColumn = fkwr.InvalidValue\r\n\t\t\twhere @ChildTable.@ChildColumn > '' ''\r\n\t\t\t and not exists ( select top 1 1\r\n\t\t\t\t\t\t\t\tfrom #TablesForOutside a with (forceseek) \r\n\t\t\t\t\t\t\t\twhere left(@ChildTable.@ChildColumn,  patindex(''%</T>%'', @ChildTable.@ChildColumn ) + 3 ) =  a.KeyPattern \r\n\t\t\t\t\t\t\t)\r\n%Mamig%\t\tand @ChildTable.XObjectKey like ''<Key><T>@ChildTable</T><P>[a-z][0-z][0-z]-%'' \r\n%Mod%\tand dbo.QBM_FGIModuleExists(%modcheck%) = 0\r\n'\r\n, case when @OwnerOfParent = '%' then '' else '\r\n\t\tand dbo.QBM_FCVObjectKeyToModuleOwner(@ChildTable.@ChildColumn) like ''@OwnerOfParent''\r\n' end, '\r\nend\r\n'\r\n ) select @cmdSetNull = concat('\r\nif exists (select top 1 1\r\n\t\t\tfrom @ChildTable with (readpast)\r\n%report%\t\t\t\t\tjoin QBMForeignKeyWrongReport fkwr on @ChildTable.@ChildColumn = fkwr.InvalidValue\r\n\t\t\twhere not exists (select top 1 1\r\n\t\t\t\t\t\t\t\tfrom @ParentTable p   with (readpast)\r\n\t\t\t\t\t\t\t\twhere p.@Parentcolumn = @ChildTable.@Childcolumn\r\n\t\t\t\t\t\t\t) \r\n\t\t\t and @ChildTable.@Childcolumn > '' ''\r\n%Mamig%\t\tand @ChildTable.XObjectKey like ''<Key><T>@ChildTable</T><P>[a-z][0-z][0-z]-%'' \r\n%dyn%\t\t and @ChildTable.@Childcolumn like ''<Key><T>@ParentTable</T>%'' \r\n'\r\n, case when @OwnerOfParent = '%' then '' else '\r\n%dyn%\t\t and dbo.QBM_FCVObjectKeyToModuleOwner(@ChildTable.@ChildColumn) like ''@OwnerOfParent''\r\n%uid%\t\t and left(@ChildTable.@ChildColumn, 3) like ''@OwnerOfParent''\r\n'\r\n end, '\r\n\t\t)\r\nbegin\r\n\tupdate @ChildTable\r\n\t\tset @Childcolumn = null \r\n\t\tfrom @ChildTable\r\n%report%\t\t\t\t\tjoin QBMForeignKeyWrongReport fkwr on @ChildTable.@ChildColumn = fkwr.InvalidValue\r\n\t\twhere not exists (select top 1 1\r\n\t\t\t\t\t\t\tfrom @ParentTable p   with (readpast)\r\n\t\t\t\t\t\t\twhere p.@Parentcolumn = @ChildTable.@Childcolumn) \r\n\t-- und der Childschlssel ist nicht leer\r\n\t\t\t\t and @ChildTable.@Childcolumn > '' ''\r\n%Mamig%\t\tand @ChildTable.XObjectKey like ''<Key><T>@ChildTable</T><P>[a-z][0-z][0-z]-%'' \r\n%dyn%\t\t and @ChildTable.@Childcolumn like ''<Key><T>@ParentTable</T>%'' \r\n%Mod%\tand dbo.QBM_FGIModuleExists(%modcheck%) = 0\r\n'\r\n, case when @OwnerOfParent = '%' then '' else '\r\n%dyn%\t\t and dbo.QBM_FCVObjectKeyToModuleOwner(@ChildTable.@ChildColumn) like ''@OwnerOfParent''\r\n%uid%\t\t and left(@ChildTable.@ChildColumn, 3) like ''@OwnerOfParent''\r\n'\r\n end, '\r\nend\r\n') declare @cmdSetNullDynamicOutOfValid nvarchar(max) = concat('\r\nif exists (select top 1 1\r\n\t\t\tfrom @ChildTable  with (readpast)\r\n%report%\t\t\t\t\tjoin QBMForeignKeyWrongReport fkwr on @ChildTable.@ChildColumn = fkwr.InvalidValue\r\n\t\t\t\t\t\tleft outer join (\r\n\t\t\t\t\t\t\t\t\t\tselect tp.TableName\r\n\t\t\t\t\t\t\t\t\t\tfrom DialogValidDynamicRef vr with (readpast) join DialogColumn c with (readpast) on vr.UID_DialogColumn = c.UID_DialogColumn\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tjoin DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tjoin DialogTable tp with (readpast) on vr.UID_DialogTableReference = tp.UID_DialogTable\r\n\t\t\t\t\t\t\t\t\t\twhere t.TableName = ''@ChildTable''\r\n\t\t\t\t\t\t\t\t\t\t and c.ColumnName = ''@ChildColumn''\r\n\t\t\t\t\t\t\t\t\t\t) as y on @ChildTable.@ChildColumn like ''<Key><T>'' + y.TableName + ''</T>%'' \r\n\t\t\twhere y.TableName is null\r\n\t\t\tand @ChildTable.@ChildColumn > '' ''\r\n%Mamig%\t\tand @ChildTable.XObjectKey like ''<Key><T>@ChildTable</T><P>[a-z][0-z][0-z]-%'' \r\n\t\t\t'\r\n, case when @OwnerOfParent = '%' then '' else '\r\n\t\t\tand dbo.QBM_FCVObjectKeyToModuleOwner(@ChildTable.@ChildColumn) like ''@OwnerOfParent''\r\n' end, '\r\n\t\t)\r\nbegin\r\n\tupdate @ChildTable\r\n\t\tset @Childcolumn = null \r\n\t\tfrom @ChildTable \r\n%report%\t\t\t\t\tjoin QBMForeignKeyWrongReport fkwr on @ChildTable.@ChildColumn = fkwr.InvalidValue\r\n\t\t\t\t\tleft outer join (\r\n\t\t\t\t\t\t\t\t\tselect tp.TableName\r\n\t\t\t\t\t\t\t\t\tfrom DialogValidDynamicRef vr with (readpast) join DialogColumn c with (readpast) on vr.UID_DialogColumn = c.UID_DialogColumn\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tjoin DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tjoin DialogTable tp with (readpast) on vr.UID_DialogTableReference = tp.UID_DialogTable\r\n\t\t\t\t\t\t\t\t\twhere t.TableName = ''@ChildTable''\r\n\t\t\t\t\t\t\t\t\t and c.ColumnName = ''@ChildColumn''\r\n\t\t\t\t\t\t\t\t\t) as y on @ChildTable.@ChildColumn like ''<Key><T>'' + y.TableName + ''</T>%'' \r\n\t\twhere y.TableName is null\r\n\t\tand @ChildTable.@ChildColumn > '' ''\r\n%Mamig%\t\tand @ChildTable.XObjectKey like ''<Key><T>@ChildTable</T><P>[a-z][0-z][0-z]-%'' \r\n%Mod%\tand dbo.QBM_FGIModuleExists(%modcheck%) = 0\r\n'\r\n, case when @OwnerOfParent = '%' then '' else '\r\n\t\tand dbo.QBM_FCVObjectKeyToModuleOwner(@ChildTable.@ChildColumn) like ''@OwnerOfParent''\r\n' end, '\r\nend\r\n'\r\n) declare @cmdSetNullDynamicOutOfTables nvarchar(max) = concat('\r\nif exists (select top 1 1\r\n\t\t\tfrom @ChildTable  with (readpast)\r\n%report%\t\t\t\t\tjoin QBMForeignKeyWrongReport fkwr on @ChildTable.@ChildColumn = fkwr.InvalidValue\r\n\t\t\twhere @ChildTable.@ChildColumn > '' ''\r\n%Mamig%\t\tand @ChildTable.XObjectKey like ''<Key><T>@ChildTable</T><P>[a-z][0-z][0-z]-%'' \r\n\t\t\t and not exists ( select top 1 1\r\n\t\t\t\t\t\t\t\tfrom #TablesForOutside a with (forceseek) \r\n\t\t\t\t\t\t\t\twhere left(@ChildTable.@ChildColumn,  patindex(''%</T>%'', @ChildTable.@ChildColumn ) + 3 ) =  a.KeyPattern \r\n\t\t\t\t\t\t\t)\r\n\t\t\t '\r\n, case when @OwnerOfParent = '%' then '' else '\r\n\t\t\t and dbo.QBM_FCVObjectKeyToModuleOwner(@ChildTable.@ChildColumn) like ''@OwnerOfParent''\r\n' end, '\r\n\t\t)\r\nbegin\r\n\tupdate @ChildTable\r\n\t\tset @Childcolumn = null \r\n\t\t\tfrom @ChildTable \r\n%report%\t\t\t\t\tjoin QBMForeignKeyWrongReport fkwr on @ChildTable.@ChildColumn = fkwr.InvalidValue\r\n\t\t\twhere @ChildTable.@ChildColumn > '' ''\r\n%Mamig%\t\tand @ChildTable.XObjectKey like ''<Key><T>@ChildTable</T><P>[a-z][0-z][0-z]-%'' \r\n\t\t\t and not exists ( select top 1 1\r\n\t\t\t\t\t\t\t\tfrom #TablesForOutside a with (forceseek) \r\n\t\t\t\t\t\t\t\twhere left(@ChildTable.@ChildColumn,  patindex(''%</T>%'', @ChildTable.@ChildColumn ) + 3 ) =  a.KeyPattern \r\n\t\t\t\t\t\t\t)\r\n%Mod%\tand dbo.QBM_FGIModuleExists(%modcheck%) = 0\r\n'\r\n, case when @OwnerOfParent = '%' then '' else '\r\n\t\tand dbo.QBM_FCVObjectKeyToModuleOwner(@ChildTable.@ChildColumn) like ''@OwnerOfParent''\r\n' end, '\r\nend\r\n'\r\n) declare @cmdSetNullDynamicOutside nvarchar(max) = concat(N'\r\nif exists (select top 1 1\r\n\t\t\tfrom @ChildTable x with (readpast)\r\n%report%\t\t\t\t\tjoin QBMForeignKeyWrongReport fkwr on @ChildTable.@ChildColumn = fkwr.InvalidValue\r\n\t\t\t\t\t\t\tleft outer join @ParentBaseTable p on x.@ChildColumn = p.XObjectKey\r\n\t\t\t\twhere x.@ChildColumn like ''<Key><T>@ParentTable</T><P>%''\r\n\t\t\t\tand p.XObjectKey is null\t\t\t\t\t\r\n\t\t\t\tand x.@ChildColumn > '' ''\r\n%Mamig%\t\tand x.XObjectKey like ''<Key><T>@ChildTable</T><P>[a-z][0-z][0-z]-%'' \r\n\t\t\t\t'\r\n, case when @OwnerOfParent = '%' then '' else '\r\n\t\t\t\tand dbo.QBM_FCVObjectKeyToModuleOwner(x.@ChildColumn) like ''@OwnerOfParent''\r\n' end, '\r\n\t\t)\r\nbegin\r\n\tupdate @ChildTable\r\n\t\tset @Childcolumn = null \r\n\t\tfrom @ChildTable x\r\n%report%\t\t\t\t\tjoin QBMForeignKeyWrongReport fkwr on @ChildTable.@ChildColumn = fkwr.InvalidValue\r\n\t\t\t\t\t\t\tleft outer join @ParentBaseTable p on x.@ChildColumn = p.XObjectKey\r\n\t\t\t\twhere x.@ChildColumn like ''<Key><T>@ParentTable</T><P>%''\r\n\t\t\t\tand p.XObjectKey is null\t\t\t\t\t\r\n\t\t\t\tand x.@ChildColumn > '' ''\r\n%Mamig%\t\tand x.XObjectKey like ''<Key><T>@ChildTable</T><P>[a-z][0-z][0-z]-%'' \r\n\t\t\t\t'\r\n, case when @OwnerOfParent = '%' then '' else '\r\n\t\t\t\tand dbo.QBM_FCVObjectKeyToModuleOwner(x.@ChildColumn) like ''@OwnerOfParent''\r\n' end, '\r\n%Mod%\tand dbo.QBM_FGIModuleExists(%modcheck%) = 0\r\nend\r\n'\r\n) declare @cmdDeleteDynamicOutside nvarchar(Max) = concat('\r\nif exists (select top 1 1\r\n\t\t\tfrom @ChildTable x with (readpast)\r\n%report%\t\t\t\t\tjoin QBMForeignKeyWrongReport fkwr on @ChildTable.@ChildColumn = fkwr.InvalidValue\r\n\t\t\t\t\t\t\tleft outer join @ParentBaseTable p on x.@ChildColumn = p.XObjectKey\r\n\t\t\t\twhere x.@ChildColumn like ''<Key><T>@ParentTable</T><P>%''\r\n\t\t\t\tand p.XObjectKey is null\t\t\t\t\t\r\n\t\t\t\tand x.@ChildColumn > '' ''\r\n%Mamig%\t\tand x.XObjectKey like ''<Key><T>@ChildTable</T><P>[a-z][0-z][0-z]-%'' \r\n\t\t\t\t'\r\n, case when @OwnerOfParent = '%' then '' else '\r\n\t\t\t\tand dbo.QBM_FCVObjectKeyToModuleOwner(x.@ChildColumn) like ''@OwnerOfParent''\r\n' end, '\r\n\t\t)\r\nbegin\r\n%Xori%\tupdate @ChildTable\r\n%Xori%\t\tset XOrigin = 0\r\n%Xori%\t\tfrom @ChildTable x\r\n%Xori%%report%\t\t\t\t\tjoin QBMForeignKeyWrongReport fkwr on @ChildTable.@ChildColumn = fkwr.InvalidValue\r\n%Xori%\t\t\t\t\t\t\tleft outer join @ParentBaseTable p on x.@ChildColumn = p.XObjectKey\r\n%Xori%\t\t\t\twhere x.@ChildColumn like ''<Key><T>@ParentTable</T><P>%''\r\n%Xori%\t\t\t\tand p.XObjectKey is null\t\t\t\t\t\r\n%Xori%\t\t\t\tand x.@ChildColumn > '' ''\r\n%Mamig%\t\tand x.XObjectKey like ''<Key><T>@ChildTable</T><P>[a-z][0-z][0-z]-%'' \r\n'\r\n, case when @OwnerOfParent = '%' then '' else '\r\n%Xori%\t\t\t\tand dbo.QBM_FCVObjectKeyToModuleOwner(x.@ChildColumn) like ''@OwnerOfParent''\r\n' end, '\r\n%Xori%%Mod%\tand dbo.QBM_FGIModuleExists(%modcheck%) = 0\r\n\r\n\tdelete /* Platzhalter, keine Variable */ @ChildTable\r\n\tfrom @ChildTable x\r\n%report%\t\t\t\t\tjoin QBMForeignKeyWrongReport fkwr on @ChildTable.@ChildColumn = fkwr.InvalidValue\r\n\t\t\t\t\t\t\tleft outer join @ParentBaseTable p on x.@ChildColumn = p.XObjectKey\r\n\t\t\t\twhere x.@ChildColumn like ''<Key><T>@ParentTable</T><P>%''\r\n\t\t\t\tand p.XObjectKey is null\t\t\t\t\t\r\n\t\t\t\tand x.@ChildColumn > '' ''\r\n%Mamig%\t\tand x.XObjectKey like ''<Key><T>@ChildTable</T><P>[a-z][0-z][0-z]-%'' \r\n\t\t\t\t'\r\n, case when @OwnerOfParent = '%' then '' else '\r\n\t\t\t\tand dbo.QBM_FCVObjectKeyToModuleOwner(x.@ChildColumn) like ''@OwnerOfParent''\r\n' end, '\r\n%Mod%\tand dbo.QBM_FGIModuleExists(%modcheck%) = 0\r\nend\r\n'\r\n ) select @changedTotal = 1 while @changedTotal = 1 begin select @changedTotal = 0  if @DebugSwitch > 0 begin print N'##################### neuer Durchlauf #####################'\r\n end if @RepairFromReport = 0 begin delete  @ElementBufferMulti  insert into @ElementBufferMulti(Ident1  , Ident2  , Ident3  , LongIdent1  , Bit1  , UID1\r\n  , UID3  , UID2  , Int2  , Int3  ) select fr.Parenttable , fr.ChildTable , fr.ParentColumn , fr.ChildColumn , fr.IsChildPKMember , fr.ParentRestriction\r\n , fr.IsChildNullAble , fr.RepairMethod , fr.IsDynamicFK , sign(len(ISNULL(c.uid_dialogColumn, ''))) as HasXObjectKey from QBM_VForeignKeyRepairable fr\r\n join DialogTable t with (readpast) on fr.Childtable = t.TableName left outer join DialogColumn c with (readpast) on c.UID_DialogTable = t.UID_DialogTable\r\n and c.ColumnName = 'XObjectKey' where fr.ChildTable like @ChildTablePattern and fr.ChildColumn like @ChildColumnPattern and (fr.ParentTable like @ParentTablePattern\r\n or fr.Parenttable = '%') and fr.ParentColumn like @ParentColumnPattern and (@FilterByModuleGuidAllowed = 0 or @FilterByModuleGuidAllowed = 1 and fr.IsParentTabModuleGUIDAllowed\r\n = 1 ) and (@MasterMigMode = 0 or @MasterMigMode = 1 and exists (select top 1 1 from DialogColumn cx where cx.UID_DialogTable = t.UID_DialogTable and c.ColumnName\r\n = 'XObjectkey' ) ) order by fr.ChildTable,fr.ChildColumn, fr.ParentTable , fr.ParentColumn select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY\r\n - @ElementCount +1 select @ElementLast = @@IDENTITY  if @CheckOutsideValues = 1 begin   insert into @ElementBufferOutsideValues (ContentFull) select '\r\n\t\t\tselect distinct t.tablename as tabletarget, '''\r\n + yt.TableName + ''', ''' + yc.ColumnName + '''\r\n\t\t\t\tfrom ' + yt.TableName + ' x join DialogTable t on x.' + yc.ColumnName + ' like ''<Key><T>'' + t.TableName + ''</T><P>%''\r\n\t\t\t\t'\r\n  from DialogColumn yc with (readpast) join DialogTable yt with (readpast) on yc.UID_DialogTable = yt.UID_DialogTable and yt.TableType in ('V', 'T') and\r\n yt.UsageType not in ('HISTORY') left outer join DialogValidDynamicRef r with (readpast) on yc.UID_DialogColumn = r.UID_DialogColumn where yc.IsDynamicFK\r\n = 1 and r.UID_DialogColumn is null and yc.SchemaDataLen = 138 and yc.SchemaDataType = 'varchar' and yc.ColumnName <> 'XObjectKey'  and not exists (select\r\n top 1 1 from (values ( 'QER-4E75B64F5997406CAC342BAB6A46F8BE')  , ('QER-27E0BCAF583B480499300CFF790725E7')  , ('QER-9C38234735B84413BE4C612A1A7F7324')\r\n  , ('QER-36A10DEFD23E469C8132EFB58032DD85')  , ('HDB-B6167ABE67A74F8DB42E2CBD2D50CE56')  , ('HDB-3935E716EDB64CB587D2ECA6F93ABEA9')  ) as ex (UID_DialogColumn\r\n) where ex.UID_DialogColumn = yc.UID_DialogColumn )  and not ( yc.UID_DialogColumn = 'QBM-FAC53888D84E44CFA01B0C043CD53DE7'  and dbo.QBM_FGIDBOwner() =\r\n 'CCC' )   select @ElementCountOutsideValues = @@ROWCOUNT select @ElementIndexOutsideValues = @@IDENTITY - @ElementCountOutsideValues +1 select @ElementLastOutsideValues\r\n = @@IDENTITY while @ElementIndexOutsideValues <= @ElementLastOutsideValues begin select top 1 @SQLOutsideValues = bu.ContentFull from @ElementBufferOutsideValues\r\n bu where bu.ElementIndex = @ElementIndexOutsideValues insert into @WerOutsideValues(Parameter1, Parameter2, Parameter3) exec sp_executesql @SQLOutsideValues\r\n select @ElementIndexOutsideValues += 1 end  insert into @ElementBufferMulti (Ident1  , Ident2  , Ident3  , LongIdent1  , Bit1  , UID1  , UID3  , UID2 \r\n , LongIdent2  , Int2  )  select tp.TableName as ParentTable , t.TableName as ChildTable ,'XObjectKey' as ParentColumn , c.ColumnName as ChildColumn , \r\nc.IsPKMember as IsChildPKMember , 'D' as ParentRestriction  , cc.IS_NULLABLE as IsChildNullAble , case when c.IsPKMember = 1 or cc.IS_NULLABLE = 'NO' then\r\n 'Delete' else 'SetNull' end as RepairMethod , 'OutsideAllExistingValues' as RelationID , 4 as IsDynamicFK    from DialogColumn c with (readpast) join \r\nDialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable join @WerOutsideValues w on w.Parameter2 = t.TableName and w.Parameter3 = c.ColumnName\r\n join DialogTable tp with (readpast) on tp.TableName = w.Parameter1 join INFORMATION_SCHEMA.COLUMNS cc with (readpast) on cc.TABLE_NAME = t.TableName and\r\n cc.COLUMN_NAME = c.ColumnName where t.TableName like @ChildTablePattern and c.ColumnName like @ChildColumnPattern and (tp.TableName like @ParentTablePattern\r\n or tp.TableName = '%') and 'XObjectKey' like @ParentColumnPattern and (@FilterByModuleGuidAllowed = 0 or @FilterByModuleGuidAllowed = 1 and tp.IsModuleGUIDAllowed\r\n = 1 )  and not ( c.UID_DialogColumn = 'QBM-FAC53888D84E44CFA01B0C043CD53DE7'  and dbo.QBM_FGIDBOwner() = 'CCC' )  and (@MasterMigMode = 0 or @MasterMigMode\r\n = 1 and exists (select top 1 1 from DialogColumn cx where cx.UID_DialogTable = t.UID_DialogTable and c.ColumnName = 'XObjectkey' ) ) select @ElementCount\r\n += @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY end   end else  begin delete  @ElementBufferMulti \r\n insert into @ElementBufferMulti(Ident1  , Ident2  , Ident3  , LongIdent1  , Bit1  , UID1  , UID3  , UID2  , Int2  , Int3  ) select fr.Parenttable , fr.ChildTable\r\n , fr.ParentColumn , fr.ChildColumn , fr.IsChildPKMember , fr.ParentRestriction , fr.IsChildNullAble , fr.RepairMethod     , vr.IsDynamicFK as IsDynamicFK\r\n , sign(len(ISNULL(c.uid_dialogColumn, ''))) as HasXObjectKey from QBMForeignKeyWrongReport fr    join QBM_VForeignKeyRepairable vr on fr.ParentTable =\r\n vr.Parenttable and fr.ParentColumn = vr.ParentColumn and fr.ChildTable = vr.Childtable and fr.ChildColumn = vr.ChildColumn join sys.tables tp with (readpast\r\n) on fr.ParentTable = tp.name join sys.columns cp with (readpast) on tp.object_id = cp.object_id and cp.name = fr.ParentColumn join DialogTable t with \r\n(readpast) on fr.Childtable = t.TableName join DialogColumn cc with (readpast) on t.UID_DialogTable = cc.UID_DialogTable and cc.ColumnName = fr.ChildColumn\r\n left outer join DialogColumn c with (readpast) on c.UID_DialogTable = t.UID_DialogTable and c.ColumnName = 'XObjectKey' where fr.Parenttable > ' ' and\r\n (@MasterMigMode = 0 or @MasterMigMode = 1 and exists (select top 1 1 from DialogColumn cx where cx.UID_DialogTable = t.UID_DialogTable and c.ColumnName\r\n = 'XObjectkey' ) ) union select '%' , fr.ChildTable , fr.ParentColumn , fr.ChildColumn , fr.IsChildPKMember , fr.ParentRestriction , fr.IsChildNullAble\r\n , fr.RepairMethod , case fr.RelationID when 'OutsideAllTables' then 3  when 'OutsideAllExistingValues' then 2  else 0 end as IsDynamicFK , sign(len(ISNULL\r\n(c.uid_dialogColumn, ''))) as HasXObjectKey from QBMForeignKeyWrongReport fr join DialogTable t with (readpast) on fr.Childtable = t.TableName join DialogColumn\r\n cc with (readpast) on t.UID_DialogTable = cc.UID_DialogTable and cc.ColumnName = fr.ChildColumn left outer join DialogColumn c with (readpast) on c.UID_DialogTable\r\n = t.UID_DialogTable and c.ColumnName = 'XObjectKey' where fr.RelationID in ('OutsideAllTables' , 'OutsideAllExistingValues') and (@MasterMigMode = 0 or\r\n @MasterMigMode = 1 and exists (select top 1 1 from DialogColumn cx where cx.UID_DialogTable = t.UID_DialogTable and c.ColumnName = 'XObjectkey' ) ) order\r\n by fr.ChildTable,fr.ChildColumn, fr.ParentTable , fr.ParentColumn select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount \r\n+1 select @ElementLast = @@IDENTITY end  while @ElementIndex <= @ElementLast begin select top 1 @ParentTable = bu.Ident1  , @ChildTable = bu.Ident2  , \r\n@ParentColumn = bu.Ident3  , @ChildColumn = bu.LongIdent1  , @isPKMember = bu.Bit1  , @ParentRestriction = bu.UID1  , @isNullableColumn = bu.UID3  , @RepairMethod\r\n = bu.UID2  , @IsDynamicFK = bu.Int2  , @HasXObjectKey = bu.Int3  from @ElementBufferMulti bu where bu.ElementIndex = @ElementIndex select @ParentTableBase\r\n = isnull(b.TableName, @ParentTable) from DialogTable v left outer join DialogTable b on v.UID_DialogTableBase = b.UID_DialogTable where v.TableName = \r\n@ParentTable  if @ParentTableBase is null begin select @ParentTableBase = @ParentTable end if @RepairMethod = 'Delete' begin select @cmdwork = case @IsDynamicFK\r\n when 2 then @cmdDeleteDynamicOutOfValid when 3 then @cmdDeleteDynamicOutOfTables when 4 then @cmdDeleteDynamicOutside else @cmdDelete end end else begin\r\n select @cmdwork = case @IsDynamicFK when 2 then @cmdSetNullDynamicOutOfValid when 3 then @cmdSetNullDynamicOutOfTables when 4 then @cmdSetNullDynamicOutside\r\n else @cmdSetNull end end  if @IsDynamicFK > 0 begin select @cmdwork = replace(@cmdwork, '%modcheck%', @ModCheck138) end else begin if @HasXObjectKey =\r\n 1 begin select @cmdwork = replace(@cmdwork, '%modcheck%', @ModCheck38X) end else begin select @cmdwork = replace(@cmdwork, '%modcheck%', @ModCheck38K)\r\n end end select @cmdwork = replace(@cmdWork, N'@ChildTable', @ChildTable) select @cmdwork = replace(@cmdwork, N'@ParentTable', @ParentTable) select @cmdwork\r\n = replace(@cmdwork, N'@Childcolumn', @Childcolumn) select @cmdwork = replace(@cmdwork, N'@Parentcolumn', @Parentcolumn) select @cmdwork = replace(@cmdwork\r\n, N'%dyn%', case @IsDynamicFK when 1 then '' else '--' end ) select @cmdwork = replace(@cmdwork, N'%uid%', case @IsDynamicFK when 1 then '--' else '' end\r\n ) select @cmdwork = replace(@cmdwork, N'@OwnerOfParent', @OwnerOfParent) if exists (select top 1 1 from DialogTable t with (readpast) join DialogColumn\r\n c with (readpast) on t.UID_DialogTable = c.UID_DialogTable where t.TableName = @ChildTable and c.ColumnName = 'XOrigin' ) begin select @cmdwork = replace\r\n(@cmdwork, '%Xori%', '') end else begin select @cmdwork = replace(@cmdwork, '%Xori%', '--') end  if @RepairOnlyNonExistingModule = 1 begin select @cmdwork\r\n = replace(@cmdwork, '%Mod%', '') end else begin select @cmdwork = replace(@cmdwork, '%Mod%', '--') end if @RepairFromReport = 1 begin select @cmdwork \r\n= replace(@cmdwork, '%report%', '') end else begin select @cmdwork = replace(@cmdwork, '%report%', '--') end select @cmdwork = replace(@cmdwork, '@ParentBaseTable'\r\n, @ParentTableBase) if @MasterMigMode = 1  begin select @cmdwork = replace(@cmdwork, '%Mamig%', '') end else begin select @cmdwork = replace(@cmdwork, \r\n'%Mamig%', '--') end if @DebugSwitch > 0 begin print isnull(@cmdwork, 'hich') end select @msg = @ParentTable + '.' + @ParentColumn + ' -> ' + @ChildTable\r\n + '.' + @ChildColumn select @changed = 1   while @changed = 1 begin if @DebugSwitch = 2 begin print @cmdwork end exec @CountItems = QBM_PExecuteSQLWithRetry_LLP\r\n @SQLStatement = @cmdwork , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@procid , @HandleErrorSilent = 0 if @CountItems\r\n > 0 begin if @ParentTable = @ChildTable begin select @changed = 1 end else begin  select @ChangesForeign = 1 select @changed = 0 end select @changedTotal\r\n = 1 if @DebugSwitch > 0 begin print 'Change ' + @msg end end else begin select @changed = 0 if @DebugSwitch > 0 begin print 'OK     ' + @msg end end end\r\n select @ElementIndex += 1 end  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: truncate table #TablesForOutside  return(@ChangesForeign) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PForeignKeyWrongReport",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.14",
      "ModifyDate": "2026-04-14T23:20:25.827",
      "Definition": "      create   procedure QBM_PForeignKeyWrongReport (@ChildTablePattern varchar(32) = '%' , @ChildColumnPattern varchar(32) = '%' , @ParentTablePattern\r\n varchar(32) = '%' , @ParentColumnPattern varchar(32) = '%' , @LogType varchar(16) = 'FULL'    , @OwnerOfParent varchar(3) = '%'  , @FilterByModuleGuidAllowed\r\n bit = 0   , @CheckOutsideValues bit = 0   ) as begin declare @ParentTable nvarchar(64), @ChildTable nvarchar(64), @ParentColumn nvarchar(64), @ChildColumn\r\n nvarchar(64), @RepairMethod nvarchar(16), @RelationID nvarchar(64), @IsDynamicFK int  , @ParentTableBase varchar(30) declare @ParentRestriction nvarchar\r\n(16) declare @isNullableColumn nvarchar(10) declare @isPKMember bit declare @CmdCheck nvarchar(max) declare @CmdWork nvarchar(max) declare @CmdLog nvarchar\r\n(max) declare @ElementCount int declare @ElementIndex int declare @ElementBufferMulti QBM_YCursorBuffer declare @erg Table ( ChildTable nvarchar(32) collate\r\n database_default , ChildColumn nvarchar(32) collate database_default , ParentTable nvarchar(32) collate database_default , ParentColumn nvarchar(32) collate\r\n database_default , IsChildPKMember bit , ParentRestriction nchar(2) collate database_default , IsChildNullable varchar (16) collate database_default ,\r\n RepairMethod nvarchar (7) collate database_default , RelationID nvarchar (64) collate database_default , OwnerOfReference varchar(3) collate database_default\r\n , InvalidValue varchar(140) collate database_default ) declare @RelationswithWrong QBM_YParameterList declare @DebugSwitch int = 0 declare @DebugTime \r\ndatetime = getutcdate()  declare @CountRows int = 0 declare @SQLOutsideValues nvarchar(max) declare @WerOutsideValues QBM_YParameterList declare @ElementCountOutsideValues\r\n int declare @ElementIndexOutsideValues int declare @ElementBufferOutsideValues QBM_YCursorBuffer SET XACT_ABORT OFF BEGIN TRY set nocount on  drop table\r\n if exists #TablesForOutside  CREATE TABLE #TablesForOutside ( KeyPattern varchar(138) collate database_default not null primary key ) insert into #TablesForOutside\r\n(KeyPattern ) select '<Key><T>' + t.TableName + '</T>' from DialogTable t  exec QBM_PForeignKeyEmptySetNull @ChildTablePattern select @cmdCheck = concat\r\n('\r\nif exists (select top 1 1\r\n\t\t\tfrom @ChildTable with (readpast)\r\n\t\t\twhere not exists (select top 1 1\r\n\t\t\t\t\t\t\t\tfrom @ParentTable p with (readpast)\r\n\t\t\t\t\t\t\t\twhere p.@ParentColumn = @ChildTable.@ChildColumn\r\n\t\t\t\t\t\t\t) \r\n\t\t\t and @ChildTable.@ChildColumn > '' ''\r\n%dyn%\t\t and @ChildTable.@ChildColumn like ''<Key><T>@ParentTable</T>%'' \r\n'\r\n, case when @OwnerOfParent = '%' then '' else '\r\n%dyn%\t\t and dbo.QBM_FCVObjectKeyToModuleOwner(@ChildTable.@ChildColumn) like ''@OwnerOfParent''\r\n%uid%\t\t and left(@ChildTable.@ChildColumn, 3) like ''@OwnerOfParent''\r\n'\r\n end, '\r\n\t\t\t) \r\n begin\r\n\tselect ''@RelationID''\r\n end\r\nelse\r\n begin\r\n\tselect '''' where 1 = 0 -- ist nur wegen indirekt\r\n end\r\n' ) declare @CmdCheckDynamicOutOfValid\r\n nvarchar(max) = concat('\r\nif exists (select top 1 1\r\n\t\t\tfrom @ChildTable x with (readpast) left outer join (\r\n\t\t\t\t\t\t\t\t\t\t\t\tselect tp.TableName\r\n\t\t\t\t\t\t\t\t\t\t\t\tfrom DialogValidDynamicRef vr with (readpast) join DialogColumn c with (readpast) on vr.UID_DialogColumn = c.UID_DialogColumn\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tjoin DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tjoin DialogTable tp with (readpast) on vr.UID_DialogTableReference = tp.UID_DialogTable\r\n\t\t\t\t\t\t\t\t\t\t\t\twhere t.TableName = ''@ChildTable''\r\n\t\t\t\t\t\t\t\t\t\t\t\t and c.ColumnName = ''@ChildColumn''\r\n\t\t\t\t\t\t\t\t\t\t\t\t) as y on x.@ChildColumn like ''<Key><T>'' + y.TableName + ''</T>%'' \r\n\t\t\twhere y.TableName is null\r\n\t\t\t and x.@ChildColumn > '' ''\r\n\t\t\t '\r\n, case when @OwnerOfParent = '%' then '' else '\r\n\t\t\t and dbo.QBM_FCVObjectKeyToModuleOwner(x.@ChildColumn) like ''@OwnerOfParent''\r\n' end, '\r\n\t\t\t) \r\n begin\r\n\tselect ''DynamicFK out of''\r\n end\r\nelse\r\n begin\r\n\tselect '''' where 1 = 0 -- ist nur wegen indirekt\r\n end\r\n\r\n'\r\n ) declare @CmdCheckDynamicOutOfTables nvarchar(max) = concat('\r\n\r\nif exists (select top 1 1\r\n\t\t\tfrom @ChildTable x with (readpast)\r\n\t\t\twhere x.@ChildColumn > '' ''\r\n\t\t\t and not exists ( select top 1 1\r\n\t\t\t\t\t\t\t\tfrom #TablesForOutside a with (forceseek) \r\n\t\t\t\t\t\t\t\twhere left(x.@ChildColumn,  patindex(''%</T>%'', x.@ChildColumn ) + 3 ) =  a.KeyPattern \r\n\t\t\t\t\t\t\t)\r\n\t\t\t '\r\n, case when @OwnerOfParent = '%' then '' else '\r\n\t\t\t and dbo.QBM_FCVObjectKeyToModuleOwner(x.@ChildColumn) like ''@OwnerOfParent''\r\n' end, '\r\n\t\t\t) \r\n begin\r\n\tselect ''DynamicFK all''\r\n end\r\nelse\r\n begin\r\n\tselect '''' where 1 = 0 -- ist nur wegen indirekt\r\n end\r\n\r\n'\r\n ) select @CmdLog = concat('\tselect \r\n\t\t ''@ChildTable''\r\n\t\t, ''@ChildColumn''\r\n\t\t, ''@ParentTable''\r\n\t\t, ''@ParentColumn''\r\n\t\t, @IsChildPKMember\r\n\t\t, ''@ParentRestriction''\r\n\t\t, ''@IsChildNullable''\r\n\t\t, ''@RepairMethod''\r\n\t\t, ''@RelationID''\r\n\t\t, case dbo.QBM_FCVGUIDToModuleOwner(@ChildColumn)\r\n\t\t\t\twhen ''ZZZ'' then left(@ChildColumn, 3)\r\n\t\t\t\telse dbo.QBM_FCVGUIDToModuleOwner(@ChildColumn)\r\n\t\t  end\r\n\t\t, @ChildColumn\r\n\t\t\t\t\tfrom @ChildTable with (readpast)\r\n\t\twhere not exists (select top 1 1\r\n\t\t\t\t\t\t\tfrom @ParentTable p with (readpast)\r\n\t\t\t\t\t\t\twhere p.@ParentColumn = @ChildTable.@ChildColumn) \r\n%base%\t\t\tand not exists (select top 1 1 from @ParentBaseTable b with (readpast) where b.@ParentColumn = @ChildTable.@ChildColumn) \r\n\t-- und der Childschlssel ist nicht leer\r\n\t\t\t\t and @ChildTable.@ChildColumn > '' ''\r\n%dyn%\t\t and @ChildTable.@ChildColumn like ''<Key><T>@ParentTable</T>%'' \r\n'\r\n, case when @OwnerOfParent = '%' then '' else '\r\n%dyn%\t\t and dbo.QBM_FCVObjectKeyToModuleOwner(@ChildTable.@ChildColumn) like ''@OwnerOfParent''\r\n%uid%\t\t and left(@ChildTable.@ChildColumn, 3) like ''@OwnerOfParent''\r\n'\r\n end, '\r\n' ) Declare @CmdLogDynamicOutOfValid nvarchar(max) = concat('\tselect \r\n\t\t ''@ChildTable''\r\n\t\t, ''@ChildColumn''\r\n\t\t, dbo.QBM_FCVObjectKeyToElement(''TableName'', x.@ChildColumn)\r\n\t\t, ''XObjectKey''\r\n\t\t, @IsChildPKMember\r\n\t\t, ''@ParentRestriction''\r\n\t\t, ''@IsChildNullable''\r\n\t\t, ''@RepairMethod''\r\n\t\t, ''@RelationID''\r\n\t\t, case dbo.QBM_FCVObjectKeyToModuleOwner(@ChildColumn)\r\n\t\t\t\twhen ''ZZZ'' then ''CCC''\r\n\t\t\t\telse dbo.QBM_FCVObjectKeyToModuleOwner(@ChildColumn)\r\n\t\t  end\r\n\t\t, @ChildColumn\r\n\t\t\t\t\tfrom @ChildTable x with (readpast) left outer join (\r\n\t\t\t\t\t\t\t\t\t\t\t\tselect tp.TableName\r\n\t\t\t\t\t\t\t\t\t\t\t\tfrom DialogValidDynamicRef vr with (readpast) join DialogColumn c with (readpast) on vr.UID_DialogColumn = c.UID_DialogColumn\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tjoin DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tjoin DialogTable tp with (readpast) on vr.UID_DialogTableReference = tp.UID_DialogTable\r\n\t\t\t\t\t\t\t\t\t\t\t\twhere t.TableName = ''@ChildTable''\r\n\t\t\t\t\t\t\t\t\t\t\t\t and c.ColumnName = ''@ChildColumn''\r\n\t\t\t\t\t\t\t\t\t\t\t\t) as y on x.@ChildColumn like ''<Key><T>'' + y.TableName + ''</T>%'' \r\n\t\t\twhere y.TableName is null\r\n\t\t\tand x.@ChildColumn > '' ''\r\n\t\t\t'\r\n, case when @OwnerOfParent = '%' then '' else '\r\n\t\t\tand dbo.QBM_FCVObjectKeyToModuleOwner(x.@ChildColumn) like ''@OwnerOfParent''\r\n' end, '\r\n' ) Declare\r\n @CmdLogDynamicOutOfTables nvarchar(max) = concat('\t\r\n\t\tselect \r\n\t\t ''@ChildTable''\r\n\t\t, ''@ChildColumn''\r\n\t\t, dbo.QBM_FCVObjectKeyToElement(''TableName'', x.@ChildColumn)\r\n\t\t, ''XObjectKey''\r\n\t\t, @IsChildPKMember\r\n\t\t, ''@ParentRestriction''\r\n\t\t, ''@IsChildNullable''\r\n\t\t, ''@RepairMethod''\r\n\t\t, ''@RelationID''\r\n\t\t, case dbo.QBM_FCVObjectKeyToModuleOwner(@ChildColumn)\r\n\t\t\t\twhen ''ZZZ'' then ''CCC''\r\n\t\t\t\telse dbo.QBM_FCVObjectKeyToModuleOwner(@ChildColumn)\r\n\t\t  end\r\n\t\t, @ChildColumn\r\n\t\t\t\t\tfrom @ChildTable x with (readpast)\r\n\t\t\twhere x.@ChildColumn > '' ''\r\n\t\t\t and not exists ( select top 1 1\r\n\t\t\t\t\t\t\t\tfrom #TablesForOutside a with (forceseek) \r\n\t\t\t\t\t\t\t\twhere left(x.@ChildColumn,  patindex(''%</T>%'', x.@ChildColumn ) + 3 ) =  a.KeyPattern \r\n\t\t\t\t\t\t\t)\r\n\t\t\t '\r\n, case when @OwnerOfParent = '%' then '' else '\r\n\t\t\t and dbo.QBM_FCVObjectKeyToModuleOwner(x.@ChildColumn) like ''@OwnerOfParent''\r\n' end, '\r\n' ) declare\r\n @CmdCheckDynamicOutSide nvarchar(max) = concat('\r\nif exists (select top 1 1\r\n\t\t\tfrom @ChildTable x with (readpast) left outer join @ParentBaseTable p with (readpast) on x.@ChildColumn = p.XObjectKey\r\n\t\t\t\twhere x.@ChildColumn like ''<Key><T>@ParentTable</T><P>%''\r\n\t\t\t\tand p.XObjectKey is null\t\t\t\t\t\r\n\t\t\t\tand x.@ChildColumn > '' ''\r\n\t\t\t\t'\r\n, case when @OwnerOfParent = '%' then '' else '\r\n\t\t\t\tand dbo.QBM_FCVObjectKeyToModuleOwner(x.@ChildColumn) like ''@OwnerOfParent''\r\n' end, '\r\n\t\t\t) \r\n begin\r\n\tselect ''DynamicFK outside''\r\n end\r\nelse\r\n begin\r\n\tselect '''' where 1 = 0 -- ist nur wegen indirekt\r\n end\r\n\r\n'\r\n ) Declare @CmdLogDynamicOutSide nvarchar(max) = concat('\tselect \r\n\t\t ''@ChildTable''\r\n\t\t, ''@ChildColumn''\r\n\t\t, dbo.QBM_FCVObjectKeyToElement(''TableName'', x.@ChildColumn)\r\n\t\t, ''XObjectKey''\r\n\t\t, 0\r\n\t\t, ''@ParentRestriction''\r\n\t\t, ''@IsChildNullable''\r\n\t\t, ''@RepairMethod''\r\n\t\t, ''@RelationID''\r\n\t\t, case dbo.QBM_FCVObjectKeyToModuleOwner(@ChildColumn)\r\n\t\t\t\twhen ''ZZZ'' then ''CCC''\r\n\t\t\t\telse dbo.QBM_FCVObjectKeyToModuleOwner(@ChildColumn)\r\n\t\t  end\r\n\t\t, @ChildColumn\r\n\t\t\t\tfrom @ChildTable x with (readpast) left outer join @ParentBaseTable p with (readpast) on x.@ChildColumn = p.XObjectKey\r\n\t\t\t\twhere x.@ChildColumn like ''<Key><T>@ParentTable</T><P>%''\r\n\t\t\t\tand p.XObjectKey is null\t\t\t\t\t\r\n\t\t\t\tand x.@ChildColumn > '' ''\r\n\t\t\t\t'\r\n, case when @OwnerOfParent = '%' then '' else '\r\n\t\t\t\tand dbo.QBM_FCVObjectKeyToModuleOwner(x.@ChildColumn) like ''@OwnerOfParent''\r\n' end, '\r\n' ) delete\r\n  @ElementBufferMulti  insert into @ElementBufferMulti (Ident1  , Ident2  , Ident3  , LongIdent1  , Bit1  , UID1  , UID3  , UID2  , LongIdent2  , Int2 \r\n , UID4  ) select ParentTable , ChildTable , ParentColumn , ChildColumn , IsChildPKMember , ParentRestriction , IsChildNullable , RepairMethod , RelationID\r\n , IsDynamicFK , fr.ParenttableBase from QBM_VForeignKeyRepairable fr where fr.ChildTable like @ChildTablePattern and fr.ChildColumn like @ChildColumnPattern\r\n and (fr.ParentTable like @ParentTablePattern or fr.Parenttable = '%') and fr.ParentColumn like @ParentColumnPattern and (@FilterByModuleGuidAllowed = \r\n0 or @FilterByModuleGuidAllowed = 1 and fr.IsParentTabModuleGUIDAllowed = 1 ) order by fr.ChildTable,fr.ChildColumn, fr.ParentTable , fr.ParentColumn select\r\n @ElementCount = @@ROWCOUNT  if @CheckOutsideValues = 1 begin   insert into @ElementBufferOutsideValues (ContentFull) select '\r\n\t\tselect distinct t.tablename as tabletarget, '''\r\n + yt.TableName + ''', ''' + yc.ColumnName + '''\r\n\t\t\tfrom ' + yt.TableName + ' x with (readpast) join DialogTable t with (readpast) on x.' + yc.ColumnName\r\n + ' like ''<Key><T>'' + t.TableName + ''</T><P>%''\r\n\t\t\t'  from DialogColumn yc with (readpast) join DialogTable yt with (readpast) on yc.UID_DialogTable\r\n = yt.UID_DialogTable and yt.TableType in ('V', 'T') and yt.UsageType not in ('HISTORY') left outer join DialogValidDynamicRef r with (readpast) on yc.UID_DialogColumn\r\n = r.UID_DialogColumn where yc.IsDynamicFK = 1 and r.UID_DialogColumn is null and yc.SchemaDataLen = 138 and yc.SchemaDataType = 'varchar' and yc.ColumnName\r\n <> 'XObjectKey'  and not exists (select top 1 1 from (values ( 'QER-4E75B64F5997406CAC342BAB6A46F8BE')  , ('QER-27E0BCAF583B480499300CFF790725E7')  , \r\n('QER-9C38234735B84413BE4C612A1A7F7324')  , ('QER-36A10DEFD23E469C8132EFB58032DD85')  , ('HDB-B6167ABE67A74F8DB42E2CBD2D50CE56')  , ('HDB-3935E716EDB64CB587D2ECA6F93ABEA9'\r\n)  , ('QBM-9802EB4D704745458CD18D6850B4909A')  ) as ex (UID_DialogColumn) where ex.UID_DialogColumn = yc.UID_DialogColumn )  and not ( yc.UID_DialogColumn\r\n = 'QBM-FAC53888D84E44CFA01B0C043CD53DE7'  and dbo.QBM_FGIDBOwner() = 'CCC' )   select @ElementCountOutsideValues = @@ROWCOUNT select @ElementIndexOutsideValues\r\n = 1 while @ElementIndexOutsideValues <= @ElementCountOutsideValues begin select top 1 @SQLOutsideValues = bu.ContentFull from @ElementBufferOutsideValues\r\n bu where bu.ElementIndex = @ElementIndexOutsideValues select @DebugTime = getutcdate() insert into @WerOutsideValues(Parameter1, Parameter2, Parameter3\r\n) exec sp_executesql @SQLOutsideValues if @DebugSwitch > 0 begin print @SQLOutsideValues print char(9) + 'elapsed ' + str(DATEDIFF(ss, @DebugTime, getutcdate\r\n()) ) end select @ElementIndexOutsideValues += 1 end  insert into @ElementBufferMulti (Ident1  , Ident2  , Ident3  , LongIdent1  , Bit1  , UID1  , UID3\r\n  , UID2  , LongIdent2  , Int2  , UID4  )  select tp.TableName as ParentTable , t.TableName as ChildTable ,'XObjectKey' as ParentColumn , c.ColumnName \r\nas ChildColumn , c.IsPKMember as IsChildPKMember , 'D' as ParentRestriction  , cc.IS_NULLABLE as IsChildNullAble , case when c.IsPKMember = 1 or cc.IS_NULLABLE\r\n = 'NO' then 'Delete' else 'SetNull' end as RepairMethod , 'OutsideAllExistingValues' as RelationID , 4 as IsDynamicFK    , '<not available>' from DialogColumn\r\n c with (readpast) join DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable join @WerOutsideValues w on w.Parameter2 = t.TableName and\r\n w.Parameter3 = c.ColumnName join DialogTable tp with (readpast) on tp.TableName = w.Parameter1 join INFORMATION_SCHEMA.COLUMNS cc with (readpast) on cc.TABLE_NAME\r\n = t.TableName and cc.COLUMN_NAME = c.ColumnName where t.TableName like @ChildTablePattern and c.ColumnName like @ChildColumnPattern and (tp.TableName \r\nlike @ParentTablePattern or tp.TableName = '%') and 'XObjectKey' like @ParentColumnPattern and (@FilterByModuleGuidAllowed = 0 or @FilterByModuleGuidAllowed\r\n = 1 and tp.IsModuleGUIDAllowed = 1 ) and not ( c.UID_DialogColumn = 'QBM-FAC53888D84E44CFA01B0C043CD53DE7'  and dbo.QBM_FGIDBOwner() = 'CCC' )  select\r\n @ElementCount += @@ROWCOUNT end   select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @ParentTable = bu.Ident1  , @ChildTable\r\n = bu.Ident2  , @ParentColumn = bu.Ident3  , @ChildColumn = bu.LongIdent1  , @isPKMember = bu.Bit1  , @ParentRestriction = bu.UID1  , @isNullableColumn\r\n = bu.UID3  , @RepairMethod = bu.UID2  , @RelationID = bu.LongIdent2  , @IsDynamicFK = bu.Int2  , @ParentTableBase = bu.UID4 from @ElementBufferMulti bu\r\n where bu.ElementIndex = @ElementIndex select @cmdwork = replace(case @IsDynamicFK when 2 then @CmdCheckDynamicOutOfValid when 3 then @CmdCheckDynamicOutOfTables\r\n when 4 then @CmdCheckDynamicOutSide else @cmdCheck end, N'@ChildTable', @ChildTable) select @cmdwork = replace(@cmdwork, N'@ParentTable', @ParentTable\r\n) select @cmdwork = replace(@cmdwork, N'@ChildColumn', @ChildColumn) select @cmdwork = replace(@cmdwork, N'@ParentColumn', @ParentColumn) select @cmdwork\r\n = replace(@cmdwork, N'@RelationID', @RelationID) select @cmdwork = replace(@cmdwork, N'%dyn%', case @IsDynamicFK when 1 then '' else '--' end ) select\r\n @cmdwork = replace(@cmdwork, N'%uid%', case @IsDynamicFK when 1 then '--' else '' end ) select @cmdwork = replace(@cmdwork, N'@OwnerOfParent', @OwnerOfParent\r\n)  if isnull(@ParentTableBase,'') <> '<not available>' begin select @cmdwork = replace(@cmdwork, N'@ParentBaseTable', isnull(@ParentTableBase, @ParentTable\r\n)) end else begin select @cmdwork = replace(@cmdwork, N'@ParentBaseTable', @ParentTable) end select @cmdwork = replace(@cmdwork, N'%base%', case when @ParentTable\r\n <> isnull(@ParentTableBase, @ParentTable) and @IsDynamicFK > 0 and isnull(@ParentTableBase, '') <> '<not available>' then '' else '--' end )     select\r\n @DebugTime = GETUTCDATE() delete  @RelationswithWrong  insert into @RelationswithWrong(Parameter1) exec sp_executeSQL @cmdwork if @DebugSwitch > 0 begin\r\n print @cmdwork print char(9) + 'elapsed ' + str(DATEDIFF(ss, @DebugTime, getutcdate()) ) end if exists (select top 1 1 from @RelationswithWrong) begin\r\n     select @cmdwork = replace(case @IsDynamicFK when 2 then @CmdLogDynamicOutOfValid when 3 then @CmdLogDynamicOutOfTables when 4 then @CmdLogDynamicOutSide\r\n else @CmdLog end, N'@ChildTable', @ChildTable) select @cmdwork = replace(@cmdwork, N'@ParentTable', @ParentTable) select @cmdwork = replace(@cmdwork, \r\nN'@ChildColumn', @ChildColumn) select @cmdwork = replace(@cmdwork, N'@ParentColumn', @ParentColumn) select @cmdwork = replace(@cmdwork, N'@IsChildPKMember'\r\n, str(@isPKMember)) select @cmdwork = replace(@cmdwork, N'@ParentRestriction', @ParentRestriction) select @cmdwork = replace(@cmdwork, N'@IsChildNullable'\r\n, @isNullableColumn) select @cmdwork = replace(@cmdwork, N'@RepairMethod', @RepairMethod) select @cmdwork = replace(@cmdwork, N'@RelationID', @RelationID\r\n) select @cmdwork = replace(@cmdwork, N'%dyn%', case @IsDynamicFK when 1 then '' else '--' end ) select @cmdwork = replace(@cmdwork, N'%uid%', case @IsDynamicFK\r\n when 1 then '--' else '' end ) select @cmdwork = replace(@cmdwork, N'@OwnerOfParent', @OwnerOfParent)  if isnull(@ParentTableBase,'') <> '<not available>'\r\n begin select @cmdwork = replace(@cmdwork, N'@ParentBaseTable', isnull(@ParentTableBase, @ParentTable)) end else begin select @cmdwork = replace(@cmdwork\r\n, N'@ParentBaseTable', @ParentTable) end select @cmdwork = replace(@cmdwork, N'%base%', case when @ParentTable <> isnull(@ParentTableBase, @ParentTable\r\n) and @IsDynamicFK > 0 then '' else '--' end )     select @DebugTime = GETUTCDATE() insert into @erg exec sp_executesql @cmdwork select @CountRows += @@ROWCOUNT\r\n if @DebugSwitch > 0 begin print @cmdwork print char(9) + 'elapsed ' + str(DATEDIFF(ss, @DebugTime, getutcdate()) ) end end select @ElementIndex += 1 end\r\n   if @LogType = 'FULL' begin select distinct * from @erg e order by e.ChildTable, e.ChildColumn, e.ParentTable, e.InvalidValue goto endLabel end if @LogType\r\n = 'REDUCED' begin select distinct e.ChildTable as ChildTablePattern, e.ChildColumn as ChildColumnPattern from @erg e order by 1,2 goto endLabel end if\r\n @LogType = 'STORE' begin truncate table QBMForeignKeyWrongReport insert into QBMForeignKeyWrongReport (UID_QBMForeignKeyWrongReport, ChildTable, ChildColumn\r\n , ParentTable , ParentColumn, IsChildPKMember, ParentRestriction , IsChildNullable , RepairMethod , RelationID , OwnerOfReference , InvalidValue , XObjectKey\r\n ) select UID_QBMForeignKeyWrongReport, ChildTable, ChildColumn , ParentTable , ParentColumn, IsChildPKMember, ParentRestriction , IsChildNullable , RepairMethod\r\n , RelationID , OwnerOfReference , InvalidValue , dbo.QBM_FCVElementToObjectKey1('QBMForeignKeyWrongReport', 'UID_QBMForeignKeyWrongReport', x.UID_QBMForeignKeyWrongReport\r\n) from ( select distinct * , dbo.QBM_FCVStringToGUID('', e.ChildTable + e.ChildColumn + e.ParentTable + e.ParentColumn + e.RelationID + e.InvalidValue \r\n) as UID_QBMForeignKeyWrongReport from @erg e ) as x order by x.ChildTable, x.ChildColumn, x.InvalidValue goto endLabel end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: truncate table #TablesForOutside\r\n return (@CountRows) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PFunctionDrop",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.493",
      "ModifyDate": "2026-04-14T23:14:10.043",
      "Definition": "  create   procedure QBM_PFunctionDrop (@pattern nvarchar(255) , @force bit = 0 )  as begin  declare @SQLcmd nvarchar(max) declare @name nvarchar\r\n(255)  declare @LengthMessage nvarchar(256) = '#LDS#Name of Element {0} is too long (30).|' declare @ElementBuffer     table (ElementIndex int identity\r\n , Int1 int default 0 , ContentShort nvarchar(400) collate database_default , LongIdent1 nvarchar(256) collate database_default , LongIdent2 nvarchar(256\r\n) collate database_default , ContentFull nvarchar(max) collate database_default ) declare @ElementCount int declare @ElementIndex int declare @crlf nvarchar\r\n(16) = nchar(13) + nchar(10) declare @CommentCode bit = 0 declare @DebugSwitch int = 0 SET XACT_ABORT OFF BEGIN TRY if @pattern not like '%[%]%' and @force\r\n = 0 and exists ( select top 1 1 from sys.objects o where o.name = @pattern and o.type in( 'FN'  , 'IF'  , 'TF'  ) ) begin select @SQLcmd = CONCAT('drop function if exists dbo.'\r\n, @pattern) exec sp_executesql @SQLCmd  goto verarbeitet end if @@NESTLEVEL < 2  begin if exists (select top 1 1 from sys.tables t where t.name = 'QBMModuleDef'\r\n ) begin if exists (select top 1 1 from QBMModuleDef d where d.UID_ModuleDef = 'MDK-Moduledefinition' ) and exists (select top 1 1 from information_schema.routines\r\n r where r.ROUTINE_type = N'function' and r.ROUTINE_NAME = 'QBM_FSQObjectComment' ) begin select @CommentCode = 1 end end end insert into @ElementBuffer\r\n(LongIdent1, LongIdent2, ContentFull) select r.ROUTINE_NAME , r.ROUTINE_SCHEMA, concat( case @CommentCode when 1 then concat('print dbo.QBM_FSQObjectComment ('''\r\n , r.ROUTINE_NAME , ''')' , @crlf ) else '' end , 'drop function if exists \"' , r.ROUTINE_SCHEMA, N'\".\"' , r.ROUTINE_NAME , N'\"' )  from information_schema.routines\r\n r join sys.schemas s on r.ROUTINE_SCHEMA = s.name collate database_default where r.ROUTINE_type = N'function' collate database_default and dbo.QBM_FGIObjectIsDropable\r\n(s.schema_id) = 1 and r.ROUTINE_NAME like @pattern collate database_default and r.ROUTINE_NAME not in ('QBM_FGIObjectIsDropable', 'QBM_FSQObjectComment'\r\n collate database_default) select @ElementCount = @@ROWCOUNT if exists (select top 1 1 from @ElementBuffer e where len(e.LongIdent1) > 30 and @force = \r\n0 ) begin select top 1 @name = e.LongIdent1 from @ElementBuffer e where len(e.LongIdent1) > 30 select @LengthMessage = concat(@LengthMessage , @name , \r\n'|') raiserror(@LengthMessage, 18, 1) with nowait end    select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @SQLcmd = bu.ContentFull\r\n from @ElementBuffer bu where bu.ElementIndex = @ElementIndex if @DebugSwitch > 0 begin print @sqlcmd end exec sp_executeSQL @SQLcmd select @ElementIndex\r\n += 1 end verarbeitet: END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PGICountTablesUsedByCode",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.6",
      "ModifyDate": "2026-04-14T23:14:10.29",
      "Definition": "   create   procedure QBM_PGICountTablesUsedByCode( @Statements QBM_YCursorbuffer readonly  , @CodeName varchar(30)  , @CodeType varchar(30)  , \r\n@OpenParenthesis nvarchar(max)   , @CloseParenthesis nvarchar(max)  )  as begin declare @SQLCmd nvarchar(max) declare @ElementCount int declare @ElementIndex\r\n int declare @CountRefereced int = 0  declare @DebugSwitch int = 0 SET XACT_ABORT OFF BEGIN TRY set nocount on select @ElementCount = count(*) from @Statements\r\n select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select @SQLCmd = concat( 'drop ', @CodeType, ' if exists dbo.', @CodeName) exec sp_executesql\r\n @SQLCmd select @SQLCmd = concat ( @OpenParenthesis, s.ContentFull , @CloseParenthesis ) from @Statements s where s.ElementIndex = @ElementIndex if @DebugSwitch\r\n > 0 begin print @sqlcmd end exec sp_executesql @SQLCmd select @CountRefereced += dbo.QBM_FGICountTablesUsedByCode(@CodeName) if @DebugSwitch > 0 begin\r\n print '@CountRefereced ' + str(@CountRefereced) end select @SQLCmd = concat( 'drop ', @CodeType, ' if exists dbo.', @CodeName) exec sp_executesql @SQLCmd\r\n select @ElementIndex += 1 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() \r\nRAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel:  return(@CountRefereced) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PGIDBServerIndexRebuildOpt",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.707",
      "ModifyDate": "2026-04-14T23:14:10.57",
      "Definition": "   create   procedure QBM_PGIDBServerIndexRebuildOpt(@TableName varchar(30) , @RebuildOptions nvarchar(max) output , @AllowPageLock bit = 1 ) as\r\n begin declare @erg nvarchar(max) declare @SizeOfTableMB float declare @FreeSpaceTempDB float = 0.0 declare @AccessToFileSpaceUsage bit declare @UseUse\r\n bit , @OnlineIndexing bit SET XACT_ABORT OFF BEGIN TRY select top 1 @UseUse = v.UseUse , @OnlineIndexing = v.OnlineIndexing , @AccessToFileSpaceUsage \r\n= v.AccessToFileSpaceUsage from QBM_VServerEngineProperties v select top 1 @SizeOfTableMB = isnull(isnull(b.SizeMB, t.SizeMB), 0.0) from DialogTable t \r\nwith (readpast) left outer join DialogTable b with (readpast) on t.UID_DialogTableBase = b.UID_DialogTable where t.TableName = @TableName if @UseUse = \r\n1 and @AccessToFileSpaceUsage = 1 begin select top 1 @FreeSpaceTempDB = (SUM(unallocated_extent_page_count)*1.0/128.0) FROM tempdb.sys.dm_db_file_space_usage\r\n end select @RebuildOptions = concat(' REBUILD with (SORT_IN_TEMPDB = ' , case when @UseUse = 0 then 'ON'  when @SizeOfTableMB * 5.0 < @FreeSpaceTempDB\r\n then 'ON' else 'OFF' end , '\r\n\t\t\t\t\t\t\t, Fillfactor = 100\r\n\t\t\t\t\t\t\t, PAD_Index = ON\r\n\t\t\t\t\t\t\t, ALLOW_PAGE_LOCKS = ', case @AllowPageLock when 1 then 'ON' \r\nelse 'OFF' end , '\r\n\t\t\t\t\t\t\t, MAXDOP = 1\r\n\t\t\t\t\t\t' , case @OnlineIndexing when 1 then ', ONLINE = ON' else '' end , '\r\n\t\t\t\t\t\t)' ) END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PGITableCountAndLastChange",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.663",
      "ModifyDate": "2026-04-14T23:20:24.56",
      "Definition": "   create   procedure QBM_PGITableCountAndLastChange (@TableName varchar(30)) as begin declare @SQLCmd nvarchar(max) select @SQLcmd = concat(N' select case x.CountRows\r\n\t\t\twhen -1 then 1\r\n\t\t\telse x.CountRows\r\n\t\tend as CountRows\r\n\t\t, x.MaxXDate\r\n from (\r\n\t select dbo.QBM_FGITableCountAll('''\r\n, @TableName, ''') as CountRows, max(XDateUpdated) as MaxXDate\r\n\t\t\t\t\t\t\t\tfrom ',@TableName , ' with (readpast)\r\n\t) as x\r\n' )  exec QBM_PExecuteSQLWithRetry_LLP\r\n @SQLStatement = @SQLCmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = default , @HandleErrorSilent = 0 endLabel:\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PGUIDReplaceCustomizerFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:24.367",
      "ModifyDate": "2026-04-14T23:20:27.28",
      "Definition": "   create   procedure QBM_PGUIDReplaceCustomizerFill as begin declare @uid_customizer varchar(38) declare @XUser nvarchar(64) = object_name(@@procid\r\n) declare @Xdate datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY select top 1 @uid_customizer = m.UID_Customizer from DialogCustomizer m join QBMClrType\r\n ct on m.UID_QBMClrType = ct.UID_QBMClrType where ct.FullTypeName = 'VI.Common.Customizer.ModuleGuids' insert into DialogTableHasCustomizer(UID_DialogTable\r\n, UID_Customizer, XObjectKey , XDateInserted, XDateUpdated, XUserInserted,XUserUpdated) select t.UID_DialogTable, @uid_customizer, dbo.QBM_FCVElementToObjectKey2\r\n ('DialogTableHasCustomizer', 'UID_DialogTable', t.UID_DialogTable, 'UID_Customizer', @uid_customizer) , @Xdate, @Xdate, @XUser, @XUser from DialogTable\r\n t with (readpast) where t.IsModuleGUIDAllowed = 1 and not exists (Select top 1 1 from DialogTableHasCustomizer h where h.UID_DialogTable = t.UID_DialogTable\r\n and h.UID_Customizer = @uid_customizer ) delete DialogTableHasCustomizer  from DialogTableHasCustomizer h left outer join DialogTable t with (readpast\r\n) on h.UID_DialogTable = t.UID_DialogTable and t.IsModuleGUIDAllowed = 1 where h.UID_Customizer = @uid_customizer and t.UID_DialogTable is null END TRY\r\n BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT\r\n END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PGUIDReplaceInsertPair",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:24.32",
      "ModifyDate": "2026-04-14T23:20:27.233",
      "Definition": "  create   procedure QBM_PGUIDReplaceInsertPair (@GuidOld varchar(38) , @GuidNew varchar(38)  ) as begin SET XACT_ABORT OFF BEGIN TRY if @GuidOld\r\n > ' ' and @GuidNew > ' ' begin insert into QBMGuidReplace(UID_Database, GuidOld, GuidNew) select x.uid_database, @GuidOld, @GuidNew from (select uid_database\r\n from DialogDatabase where IsMainDatabase = 1    ) as x end else begin RAISERROR ('#LDS#Guids to replace must not be null.|', 18, 1) WITH NOWAIT end END\r\n TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT\r\n END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PGUIDReplaceLight",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:24.383",
      "ModifyDate": "2026-04-14T23:20:27.3",
      "Definition": "    create   procedure QBM_PGUIDReplaceLight (@StartTable varchar(30) , @StartColumn varchar(30) , @ReplaceValues QBM_YParameterlist readonly   \r\n, @IncludeLob bit = 1 ) as begin declare @StartElements QBM_YParameterList SET XACT_ABORT OFF BEGIN TRY insert into @StartElements(Parameter1, Parameter2\r\n) select @StartTable, @StartColumn exec QBM_PGUIDReplaceLight_Multi @StartElements, @ReplaceValues, @IncludeLob END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PGUIDReplaceLight_Multi",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:24.397",
      "ModifyDate": "2026-04-14T23:20:27.327",
      "Definition": "   create   procedure QBM_PGUIDReplaceLight_Multi (@StartElements QBM_YParameterlist readonly   , @ReplaceValues QBM_YParameterlist readonly   ,\r\n @IncludeLob bit = 1 ) as begin declare @TableName varchar(30) declare @ColumnName varchar(30) declare @sqlcmd nvarchar(max) declare @Debugswitch int =\r\n 0 declare @Statements QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @UID_StatementCode varchar(38) SET XACT_ABORT OFF \r\nBEGIN TRY if @Debugswitch = 0 begin  if exists (select top 1 1 from sys.objects o with (readpast) join sys.triggers t with (readpast) on o.object_id = \r\nt.parent_id where o.type in( 'U' ) and t.is_disabled = 0 and o.name not in ('QBMGuidReplace') and t.name != 'QBM_TUIndicator474488' ) or exists (select\r\n top 1 1 from sys.foreign_keys fk with (readpast) join sys.objects c with (readpast) on c.object_id = fk.parent_object_id join sys.objects p with (readpast\r\n) on p.object_id = fk.referenced_object_id where fk.type = 'F' and c.type in( 'U' ) and p.type in( 'U' ) and fk.is_disabled = 0 ) begin raiserror('#LDS#Usage of the procedure is only allowed when ALL triggers and FK-constraints are switched off.|'\r\n, 18, 1) with nowait end end insert into @Statements(ContentFull, Ident1, Ident2, UID1) select x.StatementCode, x.TableName, x.ColumnName, dbo.QBM_FCVStringToGUID\r\n('', x.StatementCode) from ( select replace(replace(replace(replace(replace(replace(v.StamentPattern , '#tabelle#', s.TableName) , '#spalte#', s.ColumnName\r\n) , '#alt#', u.Parameter1) , '#neu#', u.Parameter2) , '#otherPK#', s.OtherPK) , '#xwerte#', case when dbo.QBM_FGIColumnExistsInSchema(s.TableName, 'XDateUpdated'\r\n) = 1 and s.ColumnName not like 'X[d,u][a,s][t,e][e,r]updated' then ', XDateUpdated = getutcdate(), XUserUpdated =  ''' + object_name(@@procid) + '''' \r\nelse '' end ) as StatementCode , s.TableName, s.ColumnName from @ReplaceValues u cross join (  select r.ChildTable as TableName, r.ChildColumn as ColumnName\r\n, 'U' as StatementType, '' as OtherPK from QBM_VQBMRelation r join DialogColumn c with (readpast) on r.UID_ChildColumn = c.UID_DialogColumn join @StartElements\r\n st on st.Parameter1 = r.ParentTable where c.IsPKMember = 0 union select r.ChildTable as TableName, r.ChildColumn as ColumnName, 'UE' as StatementType,\r\n ra.ChildColumn as OtherPK from QBM_VQBMRelation r join DialogColumn c with (readpast) on r.UID_ChildColumn = c.UID_DialogColumn join QBM_VQBMRelation \r\nra on r.UID_DialogTableChild = ra.UID_DialogTableChild and ra.UID_QBMRelation <> r.UID_QBMRelation join @StartElements st on st.Parameter1 = r.ParentTable\r\n where c.IsPKMember = 1 union  select r.ChildTable, c.ColumnName, 'RE', '' as OtherPK from QBM_VQBMRelation r join Dialogcolumn c with (readpast) on r.UID_DialogTableChild\r\n = c.UID_DialogTable and c.ColumnName = 'XObjectKey'  join DialogTable t with (readpast) on r.UID_DialogTableChild = t.UID_DialogTable and t.isMNTable \r\n= 1 join @StartElements st on st.Parameter1 = r.ParentTable union  select st.Parameter1 as StartTable, st.Parameter2 as StartColumn, 'UE1', '' as OtherPK\r\n  from @StartElements st union select st.Parameter1, 'XObjectKey', 'RE', '' as OtherPK from @StartElements st union select 'QBMTaggedChange', 'ObjectKey'\r\n, 'R', '' as OtherPK union select 'QBMBufferConfig', 'ObjectKeyOfRow', 'R', '' as OtherPK union select 'DialogWatchOperation', 'ObjectKeyOfRow', 'R', ''\r\n as OtherPK union select 'DialogTaggedItem', 'ObjectKey', 'R', '' as OtherPK union  select tr.TableName, c.ColumnName, 'R', '' as OtherPK from DialogValidDynamicRef\r\n r with (readpast) join DialogTable t with (readpast) on r.UID_DialogTableReference = t.UID_DialogTable join DialogColumn c with (readpast) on r.UID_DialogColumn\r\n = c.UID_DialogColumn join DialogTable tr with (readpast) on c.UID_DialogTable = tr.UID_DialogTable join @StartElements st on st.Parameter1 = t.TableName\r\n  union select t.TableName, c.ColumnName, 'R', '' as OtherPK from DialogColumn c with (readpast) join DialogTable t with (readpast) on c.UID_DialogTable\r\n = t.UID_DialogTable left outer join DialogValidDynamicRef r with (readpast) on r.UID_DialogColumn = c.UID_DialogColumn where c.IsDynamicFK = 1 and r.UID_DialogColumn\r\n is null  union select t.TableName, c.ColumnName, 'R', '' as OtherPK from DialogColumn c with (readpast) join DialogTable t with (readpast) on c.UID_DialogTable\r\n = t.UID_DialogTable where (c.SyntaxType = 'XML' or c.SyntaxType like 'SQL%' or c.SyntaxType like 'VB%' ) and c.SchemaDataLen <> 138 and @IncludeLob = \r\n1 ) s join DialogTable te with (readpast) on te.TableName = s.TableName and te.TableType in ('B', 'T')   join INFORMATION_SCHEMA.COLUMNS ic with (readpast\r\n) on ic.TABLE_NAME = te.TableName and s.ColumnName = ic.COLUMN_NAME join sys.tables t on te.TableName = t.name   and t.type = 'U' and t.is_memory_optimized\r\n = 0 and ic.DATA_TYPE like '%char%' join ( values ('U', 'update #tabelle# set #spalte# = ''#neu#'' #xwerte# where #spalte# = ''#alt#''') , ('UE', 'update #tabelle# \r\n\t\t\t\t\t\t\t\t\t\tset #spalte# = ''#neu#'' #xwerte#\r\n\t\t\t\t\t\t\t\t\tfrom #tabelle# t\r\n\t\t\t\t\t\t\t\t\twhere t.#spalte# = ''#alt#''\r\n\t\t\t\t\t\t\t\t\tand not exists (select top 1 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfrom #tabelle# te\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\twhere te.#spalte# = ''#neu#''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t and te.#otherPK# = t.#otherPK#\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)'\r\n) , ('UE1', 'update #tabelle# set #spalte# = ''#neu#'' #xwerte# \r\n\t\t\t\t\t\t\t\t\tfrom #tabelle# t\r\n\t\t\t\t\t\t\t\t\twhere t.#spalte# = ''#alt#''\r\n\t\t\t\t\t\t\t\t\tand not exists (select top 1 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfrom #tabelle# te\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\twhere te.#spalte# = ''#neu#''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)'\r\n) , ('R', 'if exists (select top 1 1\r\n\t\t\t\t\t\t\t\tfrom #tabelle# t\r\n\t\t\t\t\t\t\t\twhere t.#spalte# like  ''%#alt#%'' \r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t begin\r\n\t\t\t\t\t\t\t\tupdate #tabelle# set #spalte# = replace(#spalte#, ''#alt#'', ''#neu#'') #xwerte# where #spalte# like  ''%#alt#%'' \r\n\t\t\t\t\t\t\t end\r\n\t\t\t\t\t\t\t'\r\n) , ('RE', 'update #tabelle# \r\n\t\t\t\t\t\t\t\tset #spalte# = replace(#spalte#, ''#alt#'', ''#neu#'') #xwerte#\r\n\t\t\t\t\t\t\tfrom #tabelle# t\r\n\t\t\t\t\t\t\t\t\twhere t.#spalte# like  ''%#alt#%'' \r\n\t\t\t\t\t\t\t\t\tand not exists (select top 1 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfrom #tabelle# e\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\twhere e.#spalte# = replace(t.#spalte#, ''#alt#'', ''#neu#'') \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)'\r\n) ) as v (StatementType, StamentPattern) on s.StatementType = v.StatementType where u.Parameter1 <> u.Parameter2 ) as x select @ElementCount = @@rowcount\r\n select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @TableName = bu.Ident1 , @ColumnName = bu.Ident2 , @sqlcmd = bu.ContentFull\r\n , @UID_StatementCode = bu.UID1 from @Statements bu where bu.ElementIndex = @ElementIndex if @Debugswitch > 0 begin print @SQLCmd  end exec sp_executesql\r\n @SQLCmd select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PGUIDReplaceLighter",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:24.417",
      "ModifyDate": "2026-04-14T23:20:27.363",
      "Definition": "    create   procedure QBM_PGUIDReplaceLighter (@StartTable varchar(30) , @StartColumn varchar(30) , @ReplaceValues QBM_YParameterlist readonly \r\n  , @IncludeLob bit = 0 ) as begin declare @sqlcmd nvarchar(max) declare @Debugswitch int = 0 declare @IsSimpleMAll bit = 0 declare @ElementCount int declare\r\n @ElementIndex int SET XACT_ABORT OFF BEGIN TRY if @Debugswitch = 0 begin  if exists (select top 1 o.name, t.name from sys.objects o with (readpast) join\r\n sys.triggers t with (readpast) on o.object_id = t.parent_id where o.type in( 'U' ) and t.is_disabled = 0 and o.name not in ('QBMGuidReplace') and t.name\r\n != 'QBM_TUIndicator474488' ) or exists (select p.name, c.name from sys.foreign_keys fk with (readpast) join sys.objects c with (readpast) on c.object_id\r\n = fk.parent_object_id join sys.objects p with (readpast) on p.object_id = fk.referenced_object_id where fk.type = 'F' and c.type in( 'U' ) and p.type \r\nin( 'U' ) and fk.is_disabled = 0 ) begin raiserror('#LDS#Usage of the procedure is only allowed when ALL triggers and FK-constraints are switched off.|'\r\n, 18, 1) with nowait end end create table #Zwischenstand(PK_Old varchar(38) collate database_default , PK_New varchar(38) collate database_default , XO_Old\r\n varchar(138) collate database_default , XO_New varchar(138) collate database_default )    create table #FinaleStatements(ElementIndex int identity primary\r\n key , ContentFull nvarchar(max) collate database_default ) if exists (select top 1 1 from DialogTable t left outer join QBM_VQBMRelation r on t.TableName\r\n = r.ParentTable where t.IsMAllTable = 1 and t.TableName = @StartTable and r.UID_QBMRelation is null ) begin select @IsSimpleMAll = 1 end if @IsSimpleMAll\r\n = 1 begin insert into #Zwischenstand(PK_Old, PK_New, XO_Old, XO_New) select r.Parameter1, r.Parameter2 , CONCAT( '<Key><T>', @StartTable , '</T><P>', \r\nr.Parameter1 , '</P></Key>' ) , CONCAT( '<Key><T>', @StartTable , '</T><P>', r.Parameter2 , '</P></Key>' ) from @ReplaceValues r where r.Parameter1 <> \r\nr.Parameter2 create index #Zwischenstand1 on #Zwischenstand(PK_old) include (PK_New, XO_New) create index #Zwischenstand2 on #Zwischenstand(XO_old) include\r\n (XO_New) end else begin insert into #Zwischenstand(PK_Old, PK_New) select r.Parameter1, r.Parameter2 from @ReplaceValues r where r.Parameter1 <> r.Parameter2\r\n create index #Zwischenstand3 on #Zwischenstand(PK_Old) include (PK_New) create index #Zwischenstand4 on #Zwischenstand(XO_Old) include (XO_New) select\r\n @sqlcmd = concat('\r\n\tupdate #Zwischenstand \r\n\t\tset XO_Old = x.XObjectKey\r\n\t\t\t, XO_New = replace(x.XObjectKey, z.PK_Old, z.PK_New)\r\n\t\tfrom #Zwischenstand z join '\r\n, @StartTable , ' x on z.PK_Old = x.', @StartColumn , '\r\n\t\t' ) exec sp_executesql @sqlcmd end   delete #Zwischenstand from #Zwischenstand z where z.XO_Old\r\n is null if not exists (select top 1 1 from #Zwischenstand ) begin if @Debugswitch > 0 begin print 'nix zu tun' end goto endLabel end  if @IncludeLob =\r\n 1 begin insert into #FinaleStatements(ContentFull) select x.StatementCode  from ( select replace(replace(replace(replace(replace(v.StamentPattern , '#tabelle#'\r\n, s.TableName) , '#spalte#', s.ColumnName) , '#alt#', u.Parameter1) , '#neu#', u.Parameter2) , '#otherPK#', s.OtherPK) as StatementCode , s.TableName, \r\ns.ColumnName from @ReplaceValues u cross join ( select t.TableName as TableName, c.ColumnName as ColumnName , 'R' as StatementType, '' as OtherPK from \r\nDialogColumn c with (readpast) join DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable where (c.SyntaxType = 'XML' or c.SyntaxType \r\nlike 'SQL%' or c.SyntaxType like 'VB%' ) and c.SchemaDataLen <> 138 ) s join DialogTable te on te.TableName = s.TableName and te.TableType in ('B', 'T'\r\n)  join INFORMATION_SCHEMA.COLUMNS ic with (readpast) on ic.TABLE_NAME = s.TableName and ic.COLUMN_NAME = s.ColumnName join ( values ('R', 'if exists (select top 1 1\r\n\t\t\t\t\t\t\t\tfrom #tabelle# t\r\n\t\t\t\t\t\t\t\twhere t.#spalte# like  ''%#alt#%'' \r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t begin\r\n\t\t\t\t\t\t\t\tupdate #tabelle# set #spalte# = replace(#spalte#, ''#alt#'', ''#neu#'') where #spalte# like  ''%#alt#%'' \r\n\t\t\t\t\t\t\t end\r\n\t\t\t\t\t\t\t'\r\n) ) as v (StatementType, StamentPattern) on s.StatementType = v.StatementType where u.Parameter1 <> u.Parameter2 ) as x end   if @IsSimpleMAll = 0  begin\r\n if @Debugswitch > 0 begin print 'Aufruf altes Verfahren' end  exec QBM_PFDA25F6EA8E748702E6D119_1 @StartTable , @StartColumn if @Debugswitch > 0 begin\r\n select concat(f.ContentFull, nchar(13), nchar(10), '------------@IsSimpleMAll = 0------------------------------') from #FinaleStatements f end end else\r\n begin if @Debugswitch > 0 begin print 'Aufruf neues Verfahren' end  exec QBM_PFDA25F6EA8E748702E6D119_2 @StartTable  if @Debugswitch > 0 begin select \r\nconcat(f.ContentFull, nchar(13), nchar(10), '---------------@IsSimpleMAll = 1 ---------------------------') from #FinaleStatements f end end select @ElementCount\r\n = COUNT(*) from #FinaleStatements select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @sqlcmd = bu.ContentFull from #FinaleStatements\r\n bu where bu.ElementIndex = @ElementIndex if @Debugswitch > 0 begin print @sqlcmd end exec sp_executesql @sqlcmd select @ElementIndex += 1 end  END TRY\r\n BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT\r\n END CATCH endLabel: truncate table #Zwischenstand truncate table #FinaleStatements return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PHistoryColumnSetDefault",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.757",
      "ModifyDate": "2026-04-14T23:20:32.3",
      "Definition": "   create   procedure QBM_PHistoryColumnSetDefault as begin declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate\r\n() update dialogcolumn set isToWatch = 1 , IsToWatchDelete = 1 , XDateUpdated = @Xdate , XUserUpdated = @XUser  from dialogcolumn c join dialogtable t \r\non c.uid_dialogtable = t.uid_dialogtable join QBMVDefaultHistoryColumns v on t.TableName = v.TableName and c.columnname = v.columnname  and v.ColumnName\r\n not in ('XMarkedForDeletion') where ( c.isToWatch = 0 or c.isToWatchDelete = 0 )  end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PIndexCreate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.567",
      "ModifyDate": "2026-04-14T23:14:10.213",
      "Definition": "    create   procedure QBM_PIndexCreate (@Tablename varchar(30) , @IndexName varchar(30) , @IsUnique bit , @Columns varchar(max)  , @Includes varchar\r\n(max) = ''  ) as begin declare @existing table (IndexName varchar(256) collate database_default  , IsPK bit , IsUnique bit , HasMoreColumns bit , HasAllIncludes\r\n bit , HasMoreIncludes bit ) declare @SqlCmd nvarchar(max) declare @Pattern nvarchar(max) declare @DebugSwitch int = 0 declare @DebugExistingname varchar\r\n(30) declare @Message nvarchar(1000) SET XACT_ABORT OFF BEGIN TRY if not exists (select top 1 1 from sys.tables t where t.name = @Tablename and t.is_memory_optimized\r\n = 0 ) begin goto endlabel end if exists (select top 1 1 from sys.tables t where t.name = 'TMPExcessQuantity' ) begin select @SqlCmd = concat( 'update TMPExcessQuantity\r\n\t\tset Touched = 1\r\n\t\twhere ObjectClass = ''Index''\r\n\t\tand TableName = '''\r\n, @Tablename, '''\r\n\t\tand ElementName = ''', @IndexName, ''' ' ) exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLcmd , @LockTimeout_ms = 250 , @MaxWaitTimeForLock_s\r\n = 1 , @ProcIDForJournal = @@procid , @HandleErrorSilent = 1  , @ExecuteWithTransact = 0 end select @Pattern = concat('create ' , case @IsUnique when 1\r\n then 'unique' else '' end , ' index \"@IndexName\" on @Tablename (@Columns) ' ) if @Includes > ' ' begin select @Pattern = @Pattern + '\tinclude (@Includes)'\r\n end select @Pattern = @Pattern + ' with (ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =  OFF )' insert into @existing(IndexName, IsPK, IsUnique, HasMoreColumns\r\n, HasAllIncludes, HasMoreIncludes) select e.IndexName, e.IsPK, e.IsUnique, e.HasMoreColumns, e.HasAllIncludes, e.HasMoreIncludes from dbo.QBM_FTIndexesForColumns\r\n (@TableName, @Columns , @Includes ) e select top 1 @Message = concat('#LDS#Indexname {0} is too long.|', e.Indexname, '|') from @existing e where len(e.IndexName\r\n) > 30 if @Message > ' ' begin raiserror(@message, 18, 1) with nowait end if exists (select top 1 1 from @existing e where e.IndexName = @IndexName  and\r\n e.HasMoreColumns = 0 and e.HasAllIncludes = 1 and e.HasMoreIncludes = 0 and e.IsUnique = @IsUnique ) begin  if exists(select top 1 1 from @existing e \r\nwhere e.IndexName <> @IndexName and (e.IsUnique = @IsUnique or @IsUnique = 0)  and e.HasAllIncludes = 1   and @IndexName not in ( 'QBM_XI7JobQueue' ,'SAC_XC1SAPGroupHasAuthObjectEl'\r\n ) ) begin  if @DebugSwitch > 0 begin print 'Fall 1b - dropppen' end exec QBM_PIndexDrop @Tablename, @Indexname goto endLabel end else begin  if @DebugSwitch\r\n > 0 begin print 'Fall 1a - nichts zu tun' end goto endLabel end end if exists (select top 1 1 from @existing e where e.IndexName = @IndexName and (e.IsUnique\r\n <> @IsUnique or e.HasAllIncludes = 0 or e.HasMoreColumns = 1 or e.HasMoreIncludes = 1 ) ) begin  if @DebugSwitch > 0 begin print 'Fall 2 - erst mal dropppen'\r\n end exec QBM_PIndexDrop @Tablename, @Indexname end if not exists (select top 1 1 from @existing e where e.IndexName = @IndexName ) and exists (select \r\ntop 1 1 from sys.indexes i join sys.tables t on i.object_id = t.object_id where i.name = @IndexName and t.name = @Tablename  and i.is_hypothetical = 0 \r\n and i.type not in (3,4,5,6) ) begin  if @DebugSwitch > 0 begin print 'Fall 2a - erst mal dropppen' end exec QBM_PIndexDrop @Tablename, @Indexname end \r\n select @DebugExistingname = null select top 1 @DebugExistingname = e.IndexName from @existing e where (e.IsUnique = @IsUnique or @IsUnique = 0)  and e.HasAllIncludes\r\n = 1  and e.IndexName <> @IndexName  and @IndexName not in ( 'QBM_XI7JobQueue' ,'SAC_XC1SAPGroupHasAuthObjectEl' ) if @DebugExistingname > ' ' begin if\r\n @DebugSwitch > 0 begin print 'Fall 3 - ' + @IndexName + ' ist Teilmenge von existing ' + @DebugExistingname + '(' + @columns end goto endLabel end   if\r\n @DebugSwitch > 0 begin print 'Fall 4, durchläufer' select * from @existing end CreateIt: select @SqlCmd = replace(replace(replace(replace(@pattern , '@indexname'\r\n, @IndexName) , '@Tablename', @Tablename) , '@Columns', @Columns) , '@Includes', @Includes) if @DebugSwitch > 0 begin print 'anlegen' print @sqlcmd end\r\n  exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLcmd , @LockTimeout_ms = 2500  , @MaxWaitTimeForLock_s = 10  , @ProcIDForJournal = @@procid , @HandleErrorSilent\r\n = 0  , @ExecuteWithTransact = 0 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PIndexCreateGenerated",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.987",
      "ModifyDate": "2026-04-14T23:20:25.657",
      "Definition": "       create   procedure QBM_PIndexCreateGenerated ( @TablePattern varchar(64) , @ModuleNameOrPattern varchar(16) = '%'  ) as begin declare @TableName\r\n varchar(30) declare @Names table (TableName varchar(30) collate database_default ) declare @DebugSwitch int = 0 SET XACT_ABORT OFF BEGIN TRY insert into\r\n @Names(TableName) select t.TableName from DialogTable t where t.TableType in ('B', 'T') and t.TableName like @TablePattern and dbo.QBM_FCVGUIDToModuleOwner\r\n(t.UID_DialogTable) like @ModuleNameOrPattern select @TableName = '#' while @TableName > ' ' begin select @TableName = null select top 1 @TableName = n.TableName\r\n from @Names n if @TableName is null begin continue end delete  @Names where TableName = @TableName if @DebugSwitch > 0 begin print @tablename end     \r\n    exec QBM_PIndexCreateGenerated_XO @TableName    exec QBM_PIndexCreateGenerated_XI @TableName    exec QBM_PIndexCreateGenerated_XR @TableName    exec\r\n QBM_PIndexCreateGenerated_XA @TableName     exec QBM_PIndexCreateGenerated_XX @TableName  exec QBM_PIndexDropRedundant @TableName end  END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH \r\nende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PIndexCreateGenerated_XA",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.943",
      "ModifyDate": "2026-04-14T23:20:25.6",
      "Definition": "  create   procedure QBM_PIndexCreateGenerated_XA (@TableName varchar(30) ) as begin declare @ColumnName varchar(30) declare @Indexname varchar(30\r\n) declare @ColumnList nvarchar(max) declare @IncludeList nvarchar(max) declare @IsInclude bit declare @UID_QBMUniqueGroup varchar(38) declare @UID_QBMUniqueGroup_alt\r\n varchar(38)  declare @ElementBufferMulti QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @DebugSwitch int = 0 SET XACT_ABORT\r\n OFF BEGIN TRY select @UID_QBMUniqueGroup_alt = '#' select @ColumnList = '' select @IncludeList = ''  insert into @ElementBufferMulti (UID1, Ident2, Bit1\r\n) select x.UID_QBMUniqueGroup, x.ColumnName, x.IsInclude from (  select ug.UID_QBMUniqueGroup, tc.TableName, c.ColumnName, convert(int, c.IsPKMember) +\r\n convert(int, c.IsForeignKey) as KeyMember ,case when c.SchemaDataLen > 800 then 1 else 0 end as IsInclude from QBMUniqueGroup ug with (readpast) join \r\nQBMUniqueGroupHasColumn ghc with (readpast) on ug.UID_QBMUniqueGroup = ghc.UID_QBMUniqueGroup join DialogTable tc with (readpast) on tc.UID_DialogTable\r\n = ug.UID_DialogTable join DialogColumn c with (readpast) on c.XObjectKey = ghc.ObjectKeyDialogColumn and tc.TableType in ('B', 'T') and c.SchemaDataLen\r\n <> -1  where tc.TableName = @TableName union  select ug.UID_QBMUniqueGroup, tb.TableName, cb.ColumnName, convert(int, cb.IsPKMember) + convert(int, cb.IsForeignKey\r\n) as KeyMemeber ,case when c.SchemaDataLen > 800 then 1 else 0 end as IsInclude from QBMUniqueGroup ug with (readpast) join QBMUniqueGroupHasColumn ghc\r\n with (readpast) on ug.UID_QBMUniqueGroup = ghc.UID_QBMUniqueGroup join DialogTable tc with (readpast) on tc.UID_DialogTable = ug.UID_DialogTable join \r\nDialogColumn c with (readpast) on c.XObjectKey = ghc.ObjectKeyDialogColumn and tc.TableType in ('V') join DialogTable tb with (readpast) on tc.UID_DialogTableBase\r\n = tb.UID_DialogTable join DialogColumn cb with (readpast) on c.UID_BaseColumn = cb.UID_DialogColumn and cb.SchemaDataLen <> -1  where tb.TableName = @TableName\r\n union  select tc.UID_DialogTable, tc.TableName, c.ColumnName, convert(int, c.IsPKMember) + convert(int, c.IsForeignKey) as KeyMemeber ,case when c.SchemaDataLen\r\n > 800 then 1 else 0 end as IsInclude from DialogTable tc with (readpast) join DialogColumn c with (readpast) on c.UID_DialogTable = tc.UID_DialogTable\r\n and tc.TableType in ('B', 'T') and c.IsAlternatePKMember = 1 and c.SchemaDataLen <> -1  where tc.TableName = @TableName ) as x  join sys.tables ts with\r\n (nolock) on x.TableName = ts.name collate database_default and ts.type = 'U'  join sys.schemas s with (nolock) on ts.schema_id = s.schema_id and s.name\r\n = 'dbo' join sys.columns cs with (nolock) on ts.object_id = cs.object_id and cs.name = x.ColumnName collate database_default where not exists (Select \r\ntop 1 1 from QBM_VHeavyLoadTables h where h.TableName = x.TableName and h.IsNoAutoIndex = 1 ) order by x.UID_QBMUniqueGroup, x.TableName, x.KeyMember desc\r\n , x.ColumnName select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @UID_QBMUniqueGroup \r\n= bu.UID1 , @columnname = bu.Ident2 , @IsInclude = bu.Bit1 from @ElementBufferMulti bu where bu.ElementIndex = @ElementIndex if @DebugSwitch > 0 begin \r\nprint @UID_QBMUniqueGroup + '.' + @TableName + '.' + @columnname + '  ' + @ColumnList + '  ' + @IncludeList + str(@IsInclude) end if @UID_QBMUniqueGroup\r\n <> @UID_QBMUniqueGroup_alt begin if @UID_QBMUniqueGroup_alt <> '#' begin select @Indexname = dbo.QBM_FGICodeName('XA', 'uniqueGroup' + @UID_QBMUniqueGroup_alt\r\n + @Tablename + @ColumnList + @IncludeList) if @IncludeList > ' ' begin select @IncludeList = substring(@IncludeList, 2, len(@IncludeList) -1 ) end if \r\n@ColumnList > ' ' begin select @ColumnList = substring(@ColumnList, 2, len(@ColumnList) -1 ) exec QBM_PIndexCreate @Tablename, @Indexname, 0, @ColumnList\r\n, @IncludeList end select @ColumnList = '' select @IncludeList = '' end  select @UID_QBMUniqueGroup_alt = @UID_QBMUniqueGroup end if @IsInclude = 0 begin\r\n select @ColumnList = @ColumnList + ', ' + @ColumnName end else begin select @IncludeList = @IncludeList + ', ' + @ColumnName end select @ElementIndex \r\n+= 1 end  if @ColumnList > ' ' begin select @Indexname = dbo.QBM_FGICodeName('XA', 'uniqueGroup' + @UID_QBMUniqueGroup_alt + @Tablename + @ColumnList +\r\n @IncludeList) if @IncludeList > ' ' begin select @IncludeList = substring(@IncludeList, 2, len(@IncludeList) -1 ) end if @ColumnList > ' ' begin select\r\n @ColumnList = substring(@ColumnList, 2, len(@ColumnList) -1 ) exec QBM_PIndexCreate @Tablename, @Indexname, 0, @ColumnList, @IncludeList end end END TRY\r\n BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT\r\n END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PIndexCreateGenerated_XA_M",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-09-22T13:32:33.073",
      "ModifyDate": "2026-04-14T23:20:25.607",
      "Definition": " create   procedure QBM_PIndexCreateGenerated_XA_M (@TablePattern varchar(64) , @ModuleNameOrPattern varchar(16) = '%'  ) as begin declare @TableName\r\n varchar(30) declare @Names table (TableName varchar(30) collate database_default ) SET XACT_ABORT OFF BEGIN TRY insert into @Names(TableName) select t.TableName\r\n from DialogTable t where t.TableType in ('B', 'T') and t.TableName like @TablePattern and dbo.QBM_FCVGUIDToModuleOwner(t.UID_DialogTable) like @ModuleNameOrPattern\r\n select @TableName = '#' while @TableName > ' ' begin select @TableName = null select top 1 @TableName = n.TableName from @Names n if @TableName is null\r\n begin continue end delete  @Names where TableName = @TableName    exec QBM_PIndexCreateGenerated_XA @TableName   end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PIndexCreateGenerated_XI",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.927",
      "ModifyDate": "2026-04-14T23:20:25.583",
      "Definition": "  create   procedure QBM_PIndexCreateGenerated_XI (@TableName varchar(30) ) as begin declare @ColumnName varchar(30) declare @Indexname varchar(30\r\n) declare @DebugSwitch int = 0  declare @ElementBufferMulti QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int SET XACT_ABORT OFF BEGIN\r\n TRY  insert into @ElementBufferMulti (Ident2) select c.ColumnName from DialogTable tc with (readpast) join DialogColumn c with (readpast) on c.UID_DialogTable\r\n = tc.UID_DialogTable and tc.TableType in ('B', 'T') and c.SchemaDataLen = 138 and c.ColumnName <> 'XObjectKey'  join sys.tables ts with (readpast) on \r\ntc.TableName = ts.name collate database_default and ts.type = 'U'  join sys.schemas s with (readpast) on ts.schema_id = s.schema_id and s.name = 'dbo' \r\njoin sys.columns cs with (readpast) on ts.object_id = cs.object_id and cs.name = c.ColumnName collate database_default  and not exists (Select top 1 1 \r\nfrom QBM_VHeavyLoadTables h where h.TableName = tc.TableName and h.IsNoAutoIndex = 1 ) and tc.TableName = @TableName  and tc.IsMAllTable = 0 order by 1\r\n select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @ColumnName = bu.Ident2 from @ElementBufferMulti\r\n bu where bu.ElementIndex = @ElementIndex select @Indexname = dbo.QBM_FGICodeName( 'XI', @TableName + @ColumnName ) if @DebugSwitch > 0 begin print @Indexname\r\n end exec QBM_PIndexCreate @TableName, @indexname, 0, @columnname select @ElementIndex += 1 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PIndexCreateGenerated_XO",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.91",
      "ModifyDate": "2026-04-14T23:20:25.563",
      "Definition": "    create   procedure QBM_PIndexCreateGenerated_XO (@TableNamePattern varchar(30) ) as begin declare @ColumnName varchar(30) declare @Tablename\r\n varchar(30) declare @Indexname varchar(30) declare @ElementBufferMulti QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @HasXIsInEffect\r\n bit declare @HasXOrigin bit declare @HasInheritInfo bit declare @XList nvarchar(max) declare @DebugSwitch int = 0 SET XACT_ABORT OFF BEGIN TRY  insert\r\n into @ElementBufferMulti (Ident2, Ident1, Bit1, Int1, Int2) select c.COLUMN_NAME, c.TABLE_NAME , sign(len(isnull(ce.COLUMN_NAME, ''))) as HasXIsInEffect\r\n , sign(len(isnull(co.COLUMN_NAME, ''))) as HasXOrigin , sign(len(isnull(ci.COLUMN_NAME, ''))) as HasInheritInfo from INFORMATION_SCHEMA.COLUMNS c with\r\n (readpast)   join sys.tables ts with (readpast) on c.TABLE_NAME = ts.name collate database_default and ts.type = 'U'  join sys.schemas s with (readpast\r\n) on ts.schema_id = s.schema_id and s.name = 'dbo' join sys.columns cs with (readpast) on ts.object_id = cs.object_id and cs.name = c.COLUMN_NAME collate\r\n database_default left outer join INFORMATION_SCHEMA.COLUMNS co with (readpast) on co.TABLE_NAME = c.TABLE_NAME and co.Column_Name = 'XOrigin' left outer\r\n join INFORMATION_SCHEMA.COLUMNS ce with (readpast) on c.TABLE_NAME = ce.TABLE_NAME and ce.COLUMN_NAME = 'XIsInEffect' left outer join INFORMATION_SCHEMA.COLUMNS\r\n ci with (readpast) on c.TABLE_NAME = ci.TABLE_NAME and ci.COLUMN_NAME = 'InheritInfo' where c.CHARACTER_MAXIMUM_LENGTH = 138 and c.COLUMN_NAME = 'XObjectKey'\r\n and c.TABLE_NAME like @TableNamePattern  and ts.is_memory_optimized = 0 order by 1 select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex\r\n <= @ElementCount begin select top 1 @ColumnName = bu.Ident2 , @Tablename = bu.Ident1 , @HasXIsInEffect = bu.Bit1 , @HasXOrigin = bu.Int1 , @HasInheritInfo\r\n = bu.Int2 from @ElementBufferMulti bu where bu.ElementIndex = @ElementIndex select @XList = '' if @HasXOrigin = 1 begin select @XList= 'Xorigin' end if\r\n @HasXIsInEffect = 1 begin select @XList = @XList + ', XIsInEffect' end if @HasInheritInfo = 1 begin select @XList = 'InheritInfo'  end select @Indexname\r\n = dbo.QBM_FGICodeName('XO', @TableName + @ColumnName ) if @DebugSwitch > 0 begin print @indexname select dbo.QBM_FSQIndexDef(@Tablename, '%') print concat\r\n(@ColumnName, '(', @XList, ')' ) end exec QBM_PIndexCreate @TableName, @indexname, 1, @columnname , @XList select @ElementIndex += 1 end  END TRY BEGIN\r\n CATCH declare @ErrorMessage nvarchar(4000) declare @ErrorSeverity int declare @ErrorState int  select @ErrorSeverity = ERROR_SEVERITY() if @ErrorSeverity\r\n > 18 begin select @ErrorSeverity = 18 end select @ErrorState = 1 select @ErrorMessage = isnull(ERROR_MESSAGE() , '<no message>') RAISERROR (@ErrorMessage\r\n, @ErrorSeverity, @ErrorState) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PIndexCreateGenerated_XO_M",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-09-22T13:32:33.037",
      "ModifyDate": "2026-04-14T23:20:25.567",
      "Definition": " create   procedure QBM_PIndexCreateGenerated_XO_M (@TablePattern varchar(64) , @ModuleNameOrPattern varchar(16) = '%'  ) as begin declare @TableName\r\n varchar(30) declare @Names table (TableName varchar(30) collate database_default ) SET XACT_ABORT OFF BEGIN TRY insert into @Names(TableName) select t.TableName\r\n from DialogTable t where t.TableType in ('B', 'T') and t.TableName like @TablePattern and dbo.QBM_FCVGUIDToModuleOwner(t.UID_DialogTable) like @ModuleNameOrPattern\r\n select @TableName = '#' while @TableName > ' ' begin select @TableName = null select top 1 @TableName = n.TableName from @Names n if @TableName is null\r\n begin continue end delete  @Names where TableName = @TableName    exec QBM_PIndexCreateGenerated_XO @TableName   end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PIndexCreateGenerated_XR",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.98",
      "ModifyDate": "2026-04-14T23:20:25.647",
      "Definition": "   create   procedure QBM_PIndexCreateGenerated_XR (@TableName varchar(30) ) as begin declare @ColumnNameO varchar(30) declare @ColumnNameF varchar\r\n(30) declare @Indexname varchar(30) declare @ColumnList nvarchar(max) declare @DebugSwitch int = 0  declare @ElementBufferMulti QBM_YCursorBuffer declare\r\n @ElementCount int declare @ElementIndex int SET XACT_ABORT OFF BEGIN TRY if @TableName in ('QAMTrustee') begin goto endLabel end if not exists (select\r\n top 1 1 from sys.objects o where name = 'QBMVNonUniqueMAllTable' ) begin if @TableName in ('QBMTaggedChange', 'QBMColumnTranslation') begin goto endLabel\r\n end  if not exists (select top 1 1 from DialogTable t where t.TableName = @TableName and left(t.UID_DialogTable, 3) = 'QBM' ) begin goto endLabel end \r\nend else begin if @TableName in (select TableName from QBMVNonUniqueMAllTable) begin goto endLabel end end   insert into @ElementBufferMulti (Ident1, Ident2\r\n) select x.ColumnObjectKey,x.ColumnNameFK from (  select tc.TableName, c.ColumnName as ColumnObjectKey, cf.ColumnName as ColumnNameFK from DialogTable \r\ntc with (readpast) join DialogColumn c with (readpast) on c.UID_DialogTable = tc.UID_DialogTable and tc.TableType in ('B', 'T') and c.SchemaDataLen = 138\r\n and c.ColumnName <> 'XObjectKey' join INFORMATION_SCHEMA.columns obc with (readpast) on obc.TABLE_NAME = tc.TableName and obc.COLUMN_NAME = c.ColumnName\r\n and obc.IS_NULLABLE = 'NO' join DialogColumn cf with (readpast) on cf.UID_DialogTable = tc.UID_DialogTable and cf.SchemaDataLen = 38 and cf.IsPKMember\r\n = 0 join INFORMATION_SCHEMA.columns obf with (readpast) on obf.TABLE_NAME = tc.TableName and obf.COLUMN_NAME = cf.ColumnName and obf.IS_NULLABLE = 'NO'\r\n where tc.IsMAllTable = 1 and tc.TableName = @TableName ) as x  join sys.tables ts with (nolock) on x.TableName = ts.name collate database_default and \r\nts.type = 'U'  join sys.schemas s with (nolock) on ts.schema_id = s.schema_id and s.name = 'dbo' where not exists (Select top 1 1 from QBM_VHeavyLoadTables\r\n h where h.TableName = x.TableName and h.IsNoAutoIndex = 1 ) order by 1,2 select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex\r\n <= @ElementCount begin select top 1 @ColumnNameO = bu.Ident1 , @ColumnNameF = bu.Ident2 from @ElementBufferMulti bu where bu.ElementIndex = @ElementIndex\r\n select @Indexname = dbo.QBM_FGICodeName('XR', concat(@TableName , @ColumnNameO , @ColumnNameF)) if @DebugSwitch > 0 begin print @Indexname end select \r\n@columnList = @ColumnNameO + ', ' + @ColumnNameF if @DebugSwitch > 0 begin print @columnList end exec QBM_PIndexCreate @TableName, @Indexname, 1, @columnList\r\n select @ElementIndex += 1 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() \r\nRAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PIndexCreateGenerated_XX",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.963",
      "ModifyDate": "2026-04-14T23:20:25.627",
      "Definition": "    create   procedure QBM_PIndexCreateGenerated_XX (@TableName varchar(30) ) as begin declare @ColumnName varchar(30) declare @HasXIsInEffect bit\r\n declare @HasXOrigin bit declare @HasInheritInfo bit declare @Indexname varchar(30) declare @IncludeList nvarchar(max) declare @DebugSwitch int = 0  declare\r\n @ElementBufferMulti QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int SET XACT_ABORT OFF BEGIN TRY  insert into @ElementBufferMulti\r\n (Ident2, Bit1, Int1, Int2) select distinct x.ColumnName, x.HasXIsInEffect, x.HasXOrigin, x.HasInheritInfo from ( select tc.TableName, c.ColumnName , sign\r\n(len(isnull(ce.UID_DialogColumn, ''))) as HasXIsInEffect , sign(len(isnull(co.UID_DialogColumn, ''))) as HasXOrigin , sign(len(isnull(ci.UID_DialogColumn\r\n, ''))) as HasInheritInfo from QBM_VQBMRelation r join DialogColumn c with (readpast) on r.UID_ChildColumn = c.UID_DialogColumn join DialogTable tc with\r\n (readpast) on c.UID_DialogTable = tc.UID_DialogTable and tc.TableType in ('B', 'T')  left outer join DialogColumn co with (readpast) on co.UID_DialogTable\r\n = tc.UID_DialogTable and co.ColumnName = 'XOrigin' left outer join DialogColumn ce with (readpast) on tc.UID_DialogTable = ce.UID_DialogTable and ce.ColumnName\r\n = 'XIsInEffect' left outer join DialogColumn ci with (readpast) on tc.UID_DialogTable = ci.UID_DialogTable and ci.ColumnName = 'InheritInfo' where r.IsMNRelation\r\n = 1 and tc.TableName = @TableName union all select tc.TableName, c.ColumnName , 0 as HasXIsInEffect , 0 as HasXOrigin , sign(len(isnull(ci.UID_DialogColumn\r\n, ''))) as HasInheritInfo from QBM_VQBMRelation r join DialogColumn c with (readpast) on r.UID_ChildColumn = c.UID_DialogColumn join DialogTable tc with\r\n (readpast) on c.UID_DialogTable = tc.UID_DialogTable and tc.TableType in ('B', 'T') left outer join DialogColumn co with (readpast) on co.UID_DialogTable\r\n = tc.UID_DialogTable and co.ColumnName = 'XOrigin' left outer join DialogColumn ce with (readpast) on tc.UID_DialogTable = ce.UID_DialogTable and ce.ColumnName\r\n = 'XIsInEffect' left outer join DialogColumn ci with (readpast) on tc.UID_DialogTable = ci.UID_DialogTable and ci.ColumnName = 'InheritInfo' where r.IsMNRelation\r\n = 0 and tc.TableName = @TableName  union all select tc.TableName, c.ColumnName , sign(len(isnull(ce.UID_DialogColumn, ''))) as HasXIsInEffect , sign(len\r\n(isnull(co.UID_DialogColumn, ''))) as HasXOrigin , sign(len(isnull(ci.UID_DialogColumn, ''))) as HasInheritInfo from DialogTable tc with (readpast) join\r\n QBM_VQBMRelation r on r.UID_DialogTableChild = tc.UID_DialogTable and tc.TableType in ('B', 'T') join DialogColumn c with (readpast) on c.UID_DialogColumn\r\n = r.UID_ChildColumn left outer join DialogColumn co with (readpast) on co.UID_DialogTable = tc.UID_DialogTable and co.ColumnName = 'XOrigin' left outer\r\n join DialogColumn ce with (readpast) on tc.UID_DialogTable = ce.UID_DialogTable and ce.ColumnName = 'XIsInEffect' left outer join DialogColumn ci with\r\n (readpast) on tc.UID_DialogTable = ci.UID_DialogTable and ci.ColumnName = 'InheritInfo' where tc.IsMAllTable = 1 and tc.TableName = @TableName ) as x \r\n join sys.tables ts with (nolock) on x.TableName = ts.name collate database_default and ts.type = 'U'  join sys.schemas s with (nolock) on ts.schema_id\r\n = s.schema_id and s.name = 'dbo' join sys.columns cs with (nolock) on ts.object_id = cs.object_id and cs.name = x.ColumnName collate database_default \r\nwhere not exists (Select top 1 1 from QBM_VHeavyLoadTables h where h.TableName = x.TableName and h.IsNoAutoIndex = 1 ) order by 1,2 select @ElementCount\r\n = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @columnname = bu.Ident2 , @HasXIsInEffect = bu.Bit1 , @HasXOrigin\r\n = bu.Int1 , @HasInheritInfo = bu.Int2 from @ElementBufferMulti bu where bu.ElementIndex = @ElementIndex select @Indexname = dbo.QBM_FGICodeName('XX', \r\n@TableName + @ColumnName ) if @DebugSwitch > 0 begin print @Indexname end select @IncludeList = '' if @HasXOrigin = 1 begin select @IncludeList = 'Xorigin'\r\n end if @HasXIsInEffect = 1 begin select @IncludeList = @IncludeList + ', XIsInEffect' end if @HasInheritInfo = 1 begin select @IncludeList = 'InheritInfo'\r\n  end if @DebugSwitch > 0 begin print concat(@ColumnName, '(', @IncludeList, ')' ) end exec QBM_PIndexCreate @TableName, @Indexname, 0, @ColumnName, @IncludeList\r\n select @ElementIndex += 1 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() \r\nRAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PIndexDisable",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.777",
      "ModifyDate": "2026-04-14T23:20:25.407",
      "Definition": "  create   procedure QBM_PIndexDisable ( @tablepattern nvarchar(64) = '%' , @IndexPattern nvarchar(64) = '%' , @PrimaryKeyAlso bit = 0 , @UniqueOnly\r\n bit = 0 ) as begin declare @TableName varchar(30) declare @indexname varchar(30) declare @SQLCmd nvarchar(max) declare @DebugSwitch int = 0 SET XACT_ABORT\r\n OFF BEGIN TRY if @@TRANCOUNT > 0 begin  goto endlabel end  select @TableName = '#' while @TableName > ' ' begin select @TableName = null select top 1 \r\n@TableName = t.name , @indexname = i.name from sys.tables t join sys.indexes i on t.object_id = i.object_id and t.type_desc = 'USER_TABLE'  join DialogTable\r\n tt on t.name = tt.TableName where i.is_disabled = 0 and t.name like @tablepattern and i.name like @IndexPattern and ( i.is_primary_key = 0 or @PrimaryKeyAlso\r\n = 1) and (i.is_unique = 1 or @UniqueOnly = 0) and i.is_hypothetical = 0 and t.is_memory_optimized = 0  and i.type not in (3,4,5,6) if @TableName is null\r\n begin continue end if @IndexPattern = '%' and @PrimaryKeyAlso = 1 and @UniqueOnly = 0 begin  select @SQLCmd = 'ALTER INDEX ALL on ' + @TableName + ' Disable'\r\n if @DebugSwitch > 0 begin print @sqlcmd end exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @sqlcmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s\r\n = default , @ProcIDForJournal = default , @HandleErrorSilent = 0  , @ExecuteWithTransact = 0 end else begin  select @indexname = '#' while @indexname \r\n> ' ' begin select @indexname = null select top 1 @indexname = i.name from sys.tables t join sys.indexes i on t.object_id = i.object_id and t.type_desc\r\n = 'USER_TABLE'  join DialogTable tt on t.name = tt.TableName where i.is_disabled = 0 and t.name = @TableName and i.name like @IndexPattern and i.name \r\n> ' ' and (i.is_primary_key = 0 or @PrimaryKeyAlso = 1) and (i.is_unique = 1 or @UniqueOnly = 0) and i.is_hypothetical = 0  and i.type not in (3,4,5,6)\r\n if @indexname is null begin continue end select @SQLCmd = 'ALTER INDEX \"' + @indexname + '\" on ' + @TableName + ' Disable' if @DebugSwitch > 0 begin print\r\n @sqlcmd end exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @sqlcmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal\r\n = default , @HandleErrorSilent = 0  , @ExecuteWithTransact = 0 end  end  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18,\r\n 1) WITH NOWAIT END CATCH endLabel: return end  \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PIndexDrop",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.51",
      "ModifyDate": "2026-04-14T23:14:10.073",
      "Definition": "  create   procedure QBM_PIndexDrop (@TablePattern nvarchar(255)= '', @indexPattern nvarchar(255) = '')  as begin  declare @SQLcmd nvarchar(1024\r\n) declare @DebugSwitch int = 0 declare @ElementBufferIndex QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int  SET XACT_ABORT OFF BEGIN\r\n TRY insert into @ElementBufferIndex(ContentFull) select CONCAT( 'drop index if exists ' , s.name , N'.\"' , t.name , N'\".\"' , case when i.name like '%\"%'\r\n then N'[' + i.name + N']' else i.name end , '\"' ) from sys.indexes i with (readpast) join sys.tables t with (readpast) on i.object_id=t.object_id join\r\n sys.schemas s with (readpast) on t.schema_id = s.schema_id where i.is_primary_key = 0 and i.is_hypothetical = 0  and i.type not in (3,4,5,6) and i.type_desc\r\n <> 'HEAP' and dbo.QBM_FGIObjectIsDropable (s.Schema_id) = 1 and i.name like @indexPattern and t.name like @TablePattern and t.is_memory_optimized = 0 \r\nand indexproperty(t.object_id, i.name, 'IsStatistics') = 0 union all  select CONCAT( 'if exists(select top 1 1 \r\n\t\t\t\t\tfrom sys.stats with (readpast)\r\n\t\t\t\t\twhere  name = '''\r\n, i.name , '''\r\n\t\t\t\t  )\r\n\t\t\t\t\t begin\r\n\t\t\t\t\t\tdrop statistics ' , s.name , N'.\"' , t.name , N'\".\"' , i.name , '\"\r\n\t\t\t\t\t end\r\n\t\t\t\t\t ' ) from sys.stats i with\r\n (readpast) join sys.tables t on i.object_id=t.object_id join sys.schemas s on t.schema_id = s.schema_id left outer join sys.indexes ii on ii.object_id\r\n = t.object_id and ii.name = i.name where dbo.QBM_FGIObjectIsDropable (s.Schema_id) = 1 and ii.name is null and i.name like @indexPattern and t.name like\r\n @TablePattern and t.is_memory_optimized = 0 and indexproperty(t.object_id, i.name, 'IsStatistics') = 1 select @ElementCount = @@ROWCOUNT select @ElementIndex\r\n = 1 while @ElementIndex <= @ElementCount begin select top 1 @SQLcmd = bu.ContentFull from @ElementBufferIndex bu where bu.ElementIndex = @ElementIndex\r\n if @DebugSwitch > 0 begin print @SQLcmd end  exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLcmd , @LockTimeout_ms = 2500  , @MaxWaitTimeForLock_s\r\n = 10 , @ProcIDForJournal = default , @HandleErrorSilent = 0  , @ExecuteWithTransact = 0 select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PIndexDropRedundant",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.517",
      "ModifyDate": "2026-04-14T23:14:10.087",
      "Definition": " create   procedure QBM_PIndexDropRedundant ( @TablePattern nvarchar(64) ) as begin declare @TableName varchar(30) SET XACT_ABORT OFF BEGIN TRY \r\n select @TableName = N'#' while @TableName is not null begin select top 1 @TableName = name from sys.tables t where t.name like @TablePattern  and len(t.name\r\n) <= 30 and t.name > @TableName and t.is_memory_optimized = 0 order by name if @@rowcount = 0 begin select @TableName = null end  if @TableName is not \r\nnull begin exec QBM_PIndexDropRedundant_i @TableName end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END\r\n CATCH ende:  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PIndexDropRedundant_i",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.517",
      "ModifyDate": "2026-04-14T23:14:10.083",
      "Definition": "  create   procedure QBM_PIndexDropRedundant_i ( @TableName nvarchar(64) ) as begin declare @SQLcmd nvarchar(max) declare @DebugSwitch int = 0 declare\r\n @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int SET XACT_ABORT OFF BEGIN TRY set nocount on   insert into @ElementBuffer\r\n (ContentFull) select   dbo.QBM_FSQIndexDef(@tablename, y.indexname) from ( select i.name as indexname, case when i.is_primary_key = 1 then N'P' when i.Type\r\n = 1 then 'P'  when i.is_unique = 1 then N'U' else N'0' end as Indexmarker ,case when i.name like 'PK[_]%' then 'Z'  when i.name like 'GEN[_]X%' then 'X'\r\n  when i.name like '[^C][^C][^C][_]X%' then 'Y'  else 'A' end as SortOrder from sys.tables t with (readpast) join sys.indexes i with (readpast) on i.object_id\r\n = t.object_id where t.name = @TableName and t.is_memory_optimized = 0  and i.is_hypothetical = 0  and i.type not in (3,4,5,6) ) as y where y.Indexmarker\r\n not in ('P') order by y.SortOrder, y.Indexmarker, y.indexname select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount\r\n begin select top 1 @SQLcmd = bu.ContentFull from @ElementBuffer bu where bu.ElementIndex = @ElementIndex if @DebugSwitch > 0 begin print @sqlcmd end exec\r\n sp_executesql @SQLcmd select @ElementIndex += 1 end   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n ende:  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PIndexEnable",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.787",
      "ModifyDate": "2026-04-14T23:20:25.42",
      "Definition": "     create   procedure QBM_PIndexEnable ( @tablepattern nvarchar(64) = '%' , @IndexPattern nvarchar(64) = '%' ) as begin declare @TableName varchar\r\n(30) declare @indexname varchar(30) declare @SQLCmd nvarchar(max) declare @RebuildOptions nvarchar(max) declare @DebugSwitch int = 0 SET XACT_ABORT OFF\r\n BEGIN TRY if @@TRANCOUNT > 0 begin  goto endlabel end  select @TableName = '#' while @TableName > ' ' begin select @TableName = null select top 1 @TableName\r\n = t.name , @indexname = i.name from sys.tables t join sys.indexes i on t.object_id = i.object_id and t.type_desc = 'USER_TABLE'  join DialogTable tt on\r\n t.name = tt.TableName where i.is_disabled = 1 and t.name like @tablepattern and i.name like @IndexPattern and t.is_memory_optimized = 0  and i.is_hypothetical\r\n = 0  and i.type not in (3,4,5,6) if @TableName is null begin continue end exec QBM_PGIDBServerIndexRebuildOpt @TableName, @RebuildOptions output  select\r\n @SQLCmd = 'ALTER INDEX ALL on ' + @TableName + ' SET (ALLOW_PAGE_LOCKS = ON)' if @DebugSwitch > 0 print @SQLCmd exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement\r\n = @sqlcmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@procid , @HandleErrorSilent = 0  , @ExecuteWithTransact\r\n = 0 if @IndexPattern = '%' begin  select @SQLCmd = 'ALTER INDEX ALL on ' + @TableName + @RebuildOptions if @DebugSwitch > 0 print @SQLCmd exec QBM_PExecuteSQLWithRetry_LLP\r\n @SQLStatement = @sqlcmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@procid , @HandleErrorSilent = 0  , @ExecuteWithTransact\r\n = 0 end else begin  select @indexname = '#' while @indexname > ' ' begin select @indexname = null select top 1 @indexname = i.name from sys.tables t join\r\n sys.indexes i on t.object_id = i.object_id and t.type_desc = 'USER_TABLE'  join DialogTable tt on t.name = tt.TableName where i.is_disabled = 1 and t.name\r\n = @TableName and i.name like @IndexPattern and i.name > ' '  and i.is_hypothetical = 0  and i.type not in (3,4,5,6) if @indexname is null begin continue\r\n end select @SQLCmd = 'ALTER INDEX \"' + @indexname + '\" on ' + @TableName + @RebuildOptions if @DebugSwitch > 0 print @SQLCmd exec QBM_PExecuteSQLWithRetry_LLP\r\n @SQLStatement = @sqlcmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@procid , @HandleErrorSilent = 0  , @ExecuteWithTransact\r\n = 0 end  end  exec QBM_PSetRowLockOnly @TableName end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n endLabel: return end  \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PIndexRebuild",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.8",
      "ModifyDate": "2026-04-14T23:20:25.44",
      "Definition": "   create   procedure QBM_PIndexRebuild ( @TableName varchar(30) ) as begin declare @SQLcmd nvarchar(max) declare @tableID int declare @SQLcmds \r\nQBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @DebugLevel char(1) = 'W' declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') declare @RebuildOptions nvarchar(max) declare @ErrorBuffer QBM_YSessionError SET XACT_ABORT OFF BEGIN TRY if @@TRANCOUNT > 0 begin  goto endlabel \r\nend if isnull(@TableName, '') = '' begin goto ende end select @tableID = null select top 1 @tableID = OBJECT_ID from sys.tables where name = @TableName\r\n exec QBM_PTableLockEscalationSet @TableName  if @TableName in (select TableName from QBM_VHeavyLoadTables  ) begin goto ende end  if not exists (select\r\n top 1 1 from information_schema.tables where table_name = @TableName and table_type = 'BASE TABLE' ) or @tableID is null begin select @SQLcmd = N'No reorganize for Table '\r\n + @TableName + N' Table not exists' exec QBM_PJournal @SQLcmd, @@procid, 'W', @DebugLevel goto ende end  exec QBM_PGIDBServerIndexRebuildOpt @TableName\r\n, @RebuildOptions output  set lock_timeout 5000 select @ElementCount = 0 BEGIN TRY insert into @SQLcmds (ContentFull) SELECT N'ALTER INDEX \"' + x.indexname\r\n + N'\" ON ' + schemaname + N'.' + @TableName + case when x.PercentFrag < 20.0 and x.index_id > 1 then N' REORGANIZE'   else @RebuildOptions end from dbo.QBM_FTIndexFragmentation\r\n(@TableName, 5) x order by x.index_id select @ElementCount = @@rowcount END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default insert into @ErrorBuffer \r\n(ErrorMessage, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode) select\r\n ERROR_MESSAGE(),ERROR_SEVERITY(), ERROR_STATE(), 50000 , ERROR_PROCEDURE() , ERROR_LINE(), GETUTCDATE() , null, 0, 0, 'select fr.object_id, fr.index_id ...FROM sys.dm_db_index_physical_stats ...'\r\n exec QBM_PSessionErrorAdd @ErrorBuffer raiserror ('', 18, 1) END CATCH if @ElementCount > 0 begin  select @SQLCmd = N'ALTER INDEX ALL ON ' + @TableName\r\n + N' SET (ALLOW_PAGE_LOCKS = ON)' exec QBM_PJournal @SQLcmd, @@PROCID , 'D', @DebugLevel exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLcmd , @LockTimeout_ms\r\n = default  , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@procid , @HandleErrorSilent = 0 , @ExecuteWithTransact = 0 select @ElementIndex =\r\n 1 while @ElementIndex <= @ElementCount begin select top 1 @SQLcmd = bu.ContentFull from @SQLcmds bu where bu.ElementIndex = @ElementIndex exec QBM_PJournal\r\n @sqlcmd, @@PROCID, 'D', @DebugLevel exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLcmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = 10.0\r\n  , @ProcIDForJournal = @@procid , @HandleErrorSilent = 0 , @ExecuteWithTransact = 0 select @ElementIndex += 1 end  end  exec QBM_PSetRowLockOnly @TableName\r\n if not exists (select top 1 1 from DialogDBQueue q with (readpast) where q.UID_Task = 'QBM-K-UpdateStatistics' ) begin exec QBM_PDBQueueInsert_Single \r\n'QBM-K-UpdateStatistics', '', '', @GenProcID end ende: return END TRY BEGIN CATCH  exec QBM_PSetRowLockOnly @TableName exec QBM_PSessionErrorAdd default\r\n raiserror ('', 18, 1) END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PIndicatorChange",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-09-22T13:32:19.713",
      "ModifyDate": "2026-04-14T23:14:10.683",
      "Definition": "     create   procedure QBM_PIndicatorChange (@Enable bit) as begin declare @ret int = 0 declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() declare @CheckInterval_VI_DB varchar(64) = '00:00:10.5'  SET XACT_ABORT OFF BEGIN TRY if @Enable = 0  begin  if exists (select top 1 1 from sys.tables\r\n t join sys.triggers tr on tr.parent_id = t.object_id where t.name = 'DialogDatabase' and tr.name = 'QBM_TUIndicator474488' and tr.is_disabled = 0 )  and\r\n exists (select top 1 1 from sys.tables t join sys.triggers tr on tr.parent_id = t.object_id where t.name = 'DialogDatabase' and tr.name = 'QBM_TUIndicator474488'\r\n ) begin  if @@TRANCOUNT > 0 begin raiserror ('#LDS#Disabling indicator trigger requires transaction-free state.|', 18, 1) with nowait goto EndLabel end\r\n alter table DialogDatabase disable Trigger QBM_TUIndicator474488  waitfor delay @CheckInterval_VI_DB  end   end else  begin  if not exists (select top\r\n 1 1 from sys.foreign_keys fk with (readpast) join sys.objects c with (readpast) on c.object_id = fk.parent_object_id join sys.objects p with (readpast\r\n) on p.object_id = fk.referenced_object_id where fk.type = 'F' and c.type in( 'U' ) and p.type in( 'U' ) and fk.is_disabled = 1 ) and not exists (select\r\n top 1 1 from sys.objects o with (readpast) join sys.triggers t with (readpast) on o.object_id = t.parent_id where o.type in( 'U' ) and t.is_disabled =\r\n 1 and t.name != 'QBM_TUIndicator474488' )  and exists (select top 1 1 from sys.objects o with (readpast) join sys.triggers t with (readpast) on o.object_id\r\n = t.parent_id where o.type in( 'U' ) and t.is_disabled = 1 and t.name != 'QBM_TUIndicator474488' and o.name = 'DialogDatabase' )  and exists (select top\r\n 1 1 from sys.tables t join sys.triggers tr on tr.parent_id = t.object_id where t.name = 'DialogDatabase' and tr.name = 'QBM_TUIndicator474488' ) begin\r\n alter table DialogDatabase enable Trigger QBM_TUIndicator474488 end  end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (@Rethrow, 18\r\n, 1) WITH NOWAIT END CATCH endLabel: return @ret end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobCreate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:00:59.803",
      "ModifyDate": "2026-04-14T23:20:31.227",
      "Definition": " create   procedure QBM_PJobCreate (@ComponentClass nvarchar(1024) , @TaskName nvarchar(256) , @Parameters QBM_YParameterList readOnly     , @GenProcID\r\n varchar(38) , @ObjectKeysAffected QBM_YParameterList readOnly  , @isToFreezeOnError bit = 0 , @Retries int = 1 , @priority int = 5 , @Jobchainname nvarchar\r\n(256) = '' , @StartAt datetime = null , @BasisObjectKey varchar(138) = null , @XUser nvarchar(64) = null , @QueueName nvarchar(256) = null  , @checkForExisting\r\n bit = 0 ) as begin declare @DeferOnError bit = 0 declare @MinutesToDefer int = 0 declare @UID_Job varchar(38) = newid() declare @ParametersIntern QBM_YParameterList\r\n declare @ExistingToReplace QBM_YParameterList declare @ObjectKeysAffectedNetto QBM_YParameterList declare @ObjectKeysAffected_intern QBM_YParameterList\r\n declare @ReplaceRunner int declare @ReplaceWhereClause nvarchar(max) declare @DebugSwitch int = 0 declare @SQLTagMaster varchar(38) = 'QBM-ST-Is07' declare\r\n @SQLTagAddOn varchar(38)= 'QBM-ST-SQLProcessingEnabled' declare @isToFreezeOnErrorConfig bit = 0 declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext\r\n('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser') declare @RelevantServer QBM_YParameterList    declare @CountRelevantServer int \r\n= 0 declare @TempQueueAvailable bit = 0 declare @SimilarJobExists int = 0  declare @zerlegt QBM_YParameterList Declare @WhereClauseAdditional nvarchar(max\r\n) SET XACT_ABORT OFF BEGIN TRY if @DebugSwitch > 0 begin print 'entry create job ' + isnull(@Jobchainname, '<no @Jobchainname>') end if object_id('tempdb..#JobQueue'\r\n) is not null and object_id('tempdb..#QBMElementAffectedByJob') is not null begin select @TempQueueAvailable = 1 end select @isToFreezeOnErrorConfig = \r\ncase when dbo.QBM_FCVStringToInt( dbo.QBM_FGIConfigparmValue('Common\\DBJobCreateWithFreeze'), 0) = 1 then 1 else @isToFreezeOnError end if @BasisObjectKey\r\n > ' ' begin insert into @ObjectKeysAffected_intern (Parameter1) select a.Parameter1 from @ObjectKeysAffected a where a.Parameter1 > ' ' union select @BasisObjectKey\r\n end else begin insert into @ObjectKeysAffected_intern (Parameter1) select a.Parameter1 from @ObjectKeysAffected a where a.Parameter1 > ' ' end if isnull\r\n(@Jobchainname, '') = '' begin select @Jobchainname = dbo.QBM_FGIJobCreateName (null) end if @Retries > 0 begin select @DeferOnError = 1 select @MinutesToDefer\r\n = 2 end if @StartAt is null begin select @StartAt = GETUTCDATE() end if @XUser is null begin select @XUser = OBJECT_NAME(@@procid) end exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID exec QBM_PSessionContextSet 'XUser', @XUser if @QueueName is null begin   if exists (select top 1 1 from QBMServerHasServerTag\r\n sht with (readpast) where sht.UID_QBMServerTag = @SQLTagAddOn ) begin    insert into @RelevantServer(Parameter1, ContentShort, Parameter2) select y.UID_QBMServer\r\n, s.QueueName, dbo.QBM_FCVStringToGUID('', s.QueueName) from ( select x.UID_QBMServer from QBMServerHasServerTag x with (readpast) join QBMServer s with\r\n (readpast) on x.UID_QBMServer = s.UID_QBMServer where x.UID_QBMServerTag in( @SQLTagAddOn) and s.NotUsedForJobCreation = 0  and s.IsInSoftwareUpdate =\r\n 0 and s.IsQBMServiceInstalled = 1 and s.QueueName > ' '  group by x.UID_QBMServer ) as y join QBMServer s with (readpast) on y.UID_QBMServer = s.UID_QBMServer\r\n select @CountRelevantServer = @@ROWCOUNT   if @CountRelevantServer = 0 begin select top 1 @QueueName = s.QueueName from QBMServer s with (readpast) join\r\n QBMServerHasServerTag sht with (readpast) on s.UID_QBMServer = sht.UID_QBMServer where sht.UID_QBMServerTag = @SQLTagMaster and s.QueueName > ' ' and \r\ns.NotUsedForJobCreation = 0 end if @CountRelevantServer = 1 begin select top 1 @QueueName = sht.ContentShort from @RelevantServer sht end  if @CountRelevantServer\r\n > 1 begin select top 1 @QueueName = sht.ContentShort from @RelevantServer sht left outer join QBMJobqueueOverview o with (readpast) on sht.Parameter2 \r\n= o.UID_QBMJobqueueOverview order by o.CountTrue + o.CountLoaded + o.CountProcessing + o.CountFalse asc end  end else begin  select top 1 @QueueName = \r\ns.QueueName from QBMServer s with (readpast) join QBMServerHasServerTag sht with (readpast) on s.UID_QBMServer = sht.UID_QBMServer where sht.UID_QBMServerTag\r\n = @SQLTagMaster and s.QueueName > ' ' and s.NotUsedForJobCreation = 0 end end insert into @ParametersIntern(Parameter1, Parameter2, Parameter3, ContentFull\r\n) select Parameter1, Parameter2, Parameter3, ContentFull from @Parameters union all select db.ParameterName, null, null, db.ParameterValue from dbo.QBM_FTJobCreateDBParameter\r\n(@ComponentClass, @TaskName, @Parameters) db  if @checkForExisting = 1 begin    select top 1 @SimilarJobExists = 1 from JobQueue q with (readpast) join\r\n QBMElementAffectedByJob e with (readpast) on q.UID_Job = e.UID_Job join @ObjectKeysAffected_intern a on e.ObjectKeyAffected = a.Parameter1 where q.ComponentClass\r\n = @ComponentClass and q.TaskName = @TaskName   and q.IsRootJob = 1 and q.Ready2EXE in( N'TRUE', N'FROZEN' ) and q.JobChainName = @Jobchainname if @TempQueueAvailable\r\n = 1 and @SimilarJobExists = 0  begin select top 1 @SimilarJobExists += 1 from #JobQueue q with (nolock) join #QBMElementAffectedByJob e with (nolock) \r\non q.UID_Job = e.UID_Job join @ObjectKeysAffected_intern a on e.ObjectKeyAffected = a.Parameter1 where q.ComponentClass = @ComponentClass and q.TaskName\r\n = @TaskName     and q.JobChainName = @Jobchainname end if @SimilarJobExists > 0 begin if @TempQueueAvailable = 0  begin insert into @ExistingToReplace\r\n(Parameter1) select distinct a.Parameter1 from @ObjectKeysAffected_intern a join QBMElementAffectedByJob e with (readpast) on e.ObjectKeyAffected = a.Parameter1\r\n join JobQueue q with (readpast) on q.UID_Job = e.UID_Job where q.ComponentClass = @ComponentClass and q.TaskName = @TaskName and q.IsRootJob = 1 and q.Ready2EXE\r\n in( N'TRUE', N'FROZEN' ) and q.JobChainName = @Jobchainname select @ReplaceRunner = @@ROWCOUNT end  else begin  insert into @ExistingToReplace(Parameter1\r\n) select a.Parameter1 from @ObjectKeysAffected_intern a join QBMElementAffectedByJob e with (readpast) on e.ObjectKeyAffected = a.Parameter1 join JobQueue\r\n q with (readpast) on q.UID_Job = e.UID_Job where q.ComponentClass = @ComponentClass and q.TaskName = @TaskName and q.IsRootJob = 1 and q.Ready2EXE in(\r\n N'TRUE', N'FROZEN' ) and q.JobChainName = @Jobchainname union select a.Parameter1 from @ObjectKeysAffected_intern a join #QBMElementAffectedByJob e with\r\n (nolock) on e.ObjectKeyAffected = a.Parameter1 join #JobQueue q with (nolock) on q.UID_Job = e.UID_Job where q.ComponentClass = @ComponentClass and q.TaskName\r\n = @TaskName   and q.JobChainName = @Jobchainname select @ReplaceRunner = @@ROWCOUNT end     if @ReplaceRunner > 0 begin if @DebugSwitch > 0 begin print\r\n ' --- start replacing' end   select top 1 @ReplaceWhereClause = i.ContentFull from @ParametersIntern i where i.Parameter1 = 'whereclause' if @ReplaceWhereClause\r\n like 'XObjectKey in (%' or @ReplaceWhereClause like '(XObjectKey in (%'  begin              insert into @zerlegt (Parameter1) select substring(s.value\r\n, 2, len(s.value) -2) as Parameter1 from string_split(case when @ReplaceWhereClause like 'XObjectKey in (%' then substring( @ReplaceWhereClause, 16, len\r\n(@ReplaceWhereClause) -16) when @ReplaceWhereClause like '(XObjectKey in (%' then substring( @ReplaceWhereClause, 17, len(@ReplaceWhereClause) -18) else\r\n '' end ,',' ) s  delete @zerlegt from @zerlegt z join @ExistingToReplace i on z.Parameter1 = i.Parameter1   if exists (select top 1 1 from @zerlegt ) \r\nbegin  select @ReplaceWhereClause = concat( 'XObjectKey in ' , dbo.QBM_FCVParameter1AsOneInClause(@zerlegt) )  end else begin   goto endLabel end update\r\n @ParametersIntern set ContentFull = @ReplaceWhereClause where Parameter1 = 'whereclause' end  end  end  if @DebugSwitch > 0 begin print '@ExistingToReplace'\r\n select r.Parameter1 from @ExistingToReplace r end if @DebugSwitch > 0 begin print 'nach replace' select * from @ParametersIntern end  if @BasisObjectKey\r\n > ' ' begin insert into @ObjectKeysAffectedNetto(Parameter1) select a.Parameter1 from @ObjectKeysAffected_intern a left outer join @ExistingToReplace \r\nr on a.Parameter1 = r.Parameter1 where r.Parameter1 is null union select @BasisObjectKey end else begin insert into @ObjectKeysAffectedNetto(Parameter1\r\n) select a.Parameter1 from @ObjectKeysAffected_intern a left outer join @ExistingToReplace r on a.Parameter1 = r.Parameter1 where r.Parameter1 is null \r\nend end else begin  if @BasisObjectKey > ' ' begin insert into @ObjectKeysAffectedNetto(Parameter1) select a.Parameter1 from @ObjectKeysAffected_intern\r\n a union select @BasisObjectKey end else begin insert into @ObjectKeysAffectedNetto(Parameter1) select a.Parameter1 from @ObjectKeysAffected_intern a end\r\n end   if exists (select top 1 1 from @ParametersIntern i where i.Parameter1 = 'WhereClauseAdditional' ) begin select top 1 @WhereClauseAdditional = i.ContentFull\r\n from @ParametersIntern i where i.Parameter1 = 'WhereClauseAdditional' update @ParametersIntern set ContentFull = case when ISNULL(@WhereClauseAdditional\r\n, '') = '' then i.ContentFull  else concat( CONVERT(nvarchar(max), '(') , i.ContentFull  , ') and (' , @WhereClauseAdditional , ')' ) end from @ParametersIntern\r\n i where i.Parameter1 = 'WhereClause' delete @ParametersIntern from @ParametersIntern i where i.Parameter1 = 'WhereClauseAdditional' end  if @TempQueueAvailable\r\n = 0  begin insert into jobqueue ( ComponentAssembly, ComponentClass, DeferOnError, ErrorNotify , ExecutionType, IgnoreErrors, IsSplitOnly, JobChainName\r\n, MaxInstance, MinutesToDefer, Retries, ParamIN, Priority, Queue, Ready2EXE, StartAt, TaskName, UID_Job, UID_JobError, UID_JobSameServer, UID_JobSuccess\r\n, UID_Tree, WasError, XDateInserted, XDateUpdated, XUserInserted, XUserUpdated, IsRootJob, GenProcID , isToFreezeOnError, BasisObjectKey) select c.ComponentAssembly\r\n, c.ComponentClass, @DeferOnError , 0 , t.ExecutionType, 0, 0, @Jobchainname, t.MaxInstance, @MinutesToDefer , @Retries , dbo.QBM_FCVListToJobParameter\r\n(@ComponentClass, @TaskName, @ParametersIntern ) , @priority, @QueueName, N'TRUE', @startat, @TaskName, @uid_job, N'', @uid_job, N'', newid(), 0, GetUTCDate\r\n(), GetUTCDate(), @XUser, @XUser, 1, @GenProcID, @isToFreezeOnErrorConfig, @BasisObjectKey from JobComponent c with (readpast) join JobTask t with (readpast\r\n) on c.UID_JobComponent = t.UID_JobComponent where c.ComponentClass = @ComponentClass and t.TaskName = @TaskName insert into QBMElementAffectedByJob(UID_Job\r\n, ObjectKeyAffected) select @uid_job, e.Parameter1 from @ObjectKeysAffectedNetto e end else begin insert into #JobQueue ( ComponentAssembly, ComponentClass\r\n, DeferOnError, ErrorNotify , ExecutionType, IgnoreErrors, IsSplitOnly, JobChainName, MaxInstance, MinutesToDefer, Retries, ParamIN, Priority, Queue, Ready2EXE\r\n, StartAt, TaskName, UID_Job, UID_JobError, UID_JobSameServer, UID_JobSuccess, UID_Tree, WasError, XDateInserted, XDateUpdated, XUserInserted, XUserUpdated\r\n, IsRootJob, GenProcID , isToFreezeOnError, BasisObjectKey) select c.ComponentAssembly, c.ComponentClass, @DeferOnError , 0 , t.ExecutionType, 0, 0, @Jobchainname\r\n, t.MaxInstance, @MinutesToDefer , @Retries , dbo.QBM_FCVListToJobParameter(@ComponentClass, @TaskName, @ParametersIntern ) , @priority, @QueueName, N'TRUE'\r\n, @startat, @TaskName, @uid_job, N'', @uid_job, N'', newid(), 0, GetUTCDate(), GetUTCDate(), @XUser, @XUser, 1, @GenProcID, @isToFreezeOnErrorConfig, @BasisObjectKey\r\n from JobComponent c with (readpast) join JobTask t with (readpast) on c.UID_JobComponent = t.UID_JobComponent where c.ComponentClass = @ComponentClass\r\n and t.TaskName = @TaskName insert into #QBMElementAffectedByJob(UID_Job, ObjectKeyAffected) select @uid_job, e.Parameter1 from @ObjectKeysAffectedNetto\r\n e end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18\r\n, 1) WITH NOWAIT END CATCH endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet 'XUser', @XUser_R return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobCreate_HOCallMethod",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00",
      "ModifyDate": "2026-04-14T23:20:31.447",
      "Definition": " create   procedure QBM_PJobCreate_HOCallMethod( @objecttype nvarchar(255),  @whereclause nvarchar(max)  , @save bit  , @MethodName nvarchar(256\r\n)  , @GenProcID varchar(38) , @ObjectKeysAffected QBM_YParameterList readOnly  , @ConnectionVariables nvarchar(max) = null , @AuthenticationString nvarchar\r\n(max) = null , @SingleTransaction bit = 1 , @param1 nvarchar(max) = null , @param2 nvarchar(max) = null , @param3 nvarchar(max) = null , @param4 nvarchar\r\n(max) = null , @param5 nvarchar(max) = null , @param6 nvarchar(max) = null , @param7 nvarchar(max) = null , @param8 nvarchar(max) = null , @param9 nvarchar\r\n(max) = null , @param10 nvarchar(max) = null , @isToFreezeOnError bit = 0 , @Retries int = 0 , @priority int = 5 , @Jobchainname nvarchar(256) = null ,\r\n @StartAt datetime = null , @BasisObjectKey varchar(138) = '' , @XUser nvarchar(64) = null , @WhereClauseAdditional nvarchar(max) = '' , @checkForExisting\r\n bit = 0 , @QueueName nvarchar(256) = null ) as begin declare @Parameters QBM_YParameterList declare @JobChainNameAddOn nvarchar(256) SET XACT_ABORT OFF\r\n BEGIN TRY if @Jobchainname is null begin select @JobChainNameAddOn = ' call method ' + @MethodName + ' for object type ' + @objecttype select @Jobchainname\r\n =dbo.QBM_FGIJobCreateName ( @JobChainNameAddOn) end insert into @Parameters (Parameter1, ContentFull) select x.Parameter1, x.ContentFull from ( values\r\n ('objecttype', @objecttype) , ('WhereClause', @whereclause) , ('WhereClauseAdditional', @WhereClauseAdditional)  , ( 'Save' , case @save when 1 then 'True'\r\n else 'False' end ) , ('MethodName', @MethodName) , ( 'param1' , @param1 ) , ( 'param2' , @param2 ) , ( 'param3' , @param3 ) , ( 'param4' , @param4 ) ,\r\n ( 'param5' , @param5 ) , ( 'param6' , @param6 ) , ( 'param7' , @param7 ) , ( 'param8' , @param8 ) , ( 'param9' , @param9 ) , ( 'param10' , @param10 ) \r\n) as x (Parameter1, ContentFull)  where not ( Parameter1 like 'param%' and ContentFull is null ) if @ConnectionVariables > ' ' begin insert into @Parameters\r\n(Parameter1, ContentFull) values ('ConnectionVariables', @ConnectionVariables) end if @AuthenticationString > ' ' begin insert into @Parameters(Parameter1\r\n, ContentFull) values ('AuthenticationString', @AuthenticationString) end if @SingleTransaction = 0 begin insert into @Parameters(Parameter1, ContentFull\r\n) values ('SingleTransaction', 'FALSE') end exec QBM_PJobCreate 'VI.JobService.JobComponents.HandleObjectComponent' , 'CallMethod' , @Parameters , @GenProcID\r\n , @ObjectKeysAffected , @isToFreezeOnError , @Retries , @priority , @Jobchainname , @StartAt , @BasisObjectKey , @XUser , @QueueName , @checkForExisting\r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH\r\n NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobCreate_HOCallMethod_B",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:31.49",
      "ModifyDate": "2026-04-14T23:20:31.49",
      "Definition": "  create   procedure QBM_PJobCreate_HOCallMethod_B( @objecttype nvarchar(255),  @whereclause nvarchar(max)  , @save bit  , @MethodName nvarchar(256\r\n)  , @GenProcID varchar(38) , @AdditionalObjectKeysAffected QBM_YParameterList readonly  , @ConnectionVariables nvarchar(max) = null , @AuthenticationString\r\n nvarchar(max) = null , @SingleTransaction bit = 1 , @param1 nvarchar(max) = null , @param2 nvarchar(max) = null , @param3 nvarchar(max) = null , @param4\r\n nvarchar(max) = null , @param5 nvarchar(max) = null , @param6 nvarchar(max) = null , @param7 nvarchar(max) = null , @param8 nvarchar(max) = null , @param9\r\n nvarchar(max) = null , @param10 nvarchar(max) = null , @isToFreezeOnError bit = 0 , @Retries int = 0 , @priority int = 5 , @Jobchainname nvarchar(256)\r\n = null , @StartAt datetime = null , @BasisObjectKey varchar(138) = '' , @XUser nvarchar(64) = null , @WhereClauseAdditional nvarchar(max) = '' , @checkForExisting\r\n bit = 0 , @QueueName nvarchar(256) = null ) as begin declare @XObjectKeysToTransfer QBM_YParameterList declare @SQLCmd nvarchar(max)  SET XACT_ABORT OFF\r\n BEGIN TRY if exists (select top 1 1 from DialogTable t with (readpast) join DialogColumn c with (readpast) on t.UID_DialogTable = c.UID_DialogTable where\r\n t.TableName = @objecttype and c.ColumnName = 'XObjectKey' ) begin select @SQLCmd = N'\r\n\t  select XObjectKey \r\n\t\tfrom ' + @objecttype + N'\r\n\t\twhere ( '\r\n + @whereclause + N' )\r\n\t\torder by 1 ' insert into @XObjectKeysToTransfer(Parameter1) exec sp_executeSQL @SQLCmd exec QBM_PJobCreate_HOCallMethod_L @objecttype\r\n , @XObjectKeysToTransfer , @save , @MethodName , @GenProcID , @AdditionalObjectKeysAffected , @ConnectionVariables , @AuthenticationString , @SingleTransaction\r\n , @param1 = @param1, @param2 = @param2, @param3 = @param3, @param4 = @param4, @param5 = @param5 , @param6 = @param6, @param7 = @param7, @param8 = @param8\r\n, @param9 = @param9, @param10 = @param10 , @isToFreezeOnError = @isToFreezeOnError , @Retries = @Retries , @priority = @priority , @Jobchainname = @Jobchainname\r\n , @StartAt = @StartAt , @BasisObjectKey = @BasisObjectKey , @XUser = @XUser , @WhereClauseAdditional = @WhereClauseAdditional , @checkForExisting = @checkForExisting\r\n , @QueueName = @QueueName end else begin exec QBM_PJobCreate_HOCallMethod @objecttype , @whereclause , @save , @MethodName , @GenProcID , @AdditionalObjectKeysAffected\r\n , @ConnectionVariables , @AuthenticationString , @SingleTransaction , @param1 = @param1, @param2 = @param2, @param3 = @param3, @param4 = @param4, @param5\r\n = @param5 , @param6 = @param6, @param7 = @param7, @param8 = @param8, @param9 = @param9, @param10 = @param10 , @isToFreezeOnError = @isToFreezeOnError \r\n, @Retries = @Retries , @priority = @priority , @Jobchainname = @Jobchainname , @StartAt = @StartAt , @BasisObjectKey = @BasisObjectKey , @XUser = @XUser\r\n , @WhereClauseAdditional = @WhereClauseAdditional , @checkForExisting = @checkForExisting , @QueueName = @QueueName end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobCreate_HOCallMethod_L",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.01",
      "ModifyDate": "2026-04-14T23:20:31.46",
      "Definition": "  create   procedure QBM_PJobCreate_HOCallMethod_L( @objecttype nvarchar(255)  , @XObjectKeys QBM_YParameterList readonly  , @save bit  , @MethodName\r\n nvarchar(256)  , @GenProcID varchar(38) , @AdditionalObjectKeysAffected QBM_YParameterList readonly    , @ConnectionVariables nvarchar(max) = null , @AuthenticationString\r\n nvarchar(max) = null , @SingleTransaction bit = 1 , @param1 nvarchar(max) = null , @param2 nvarchar(max) = null , @param3 nvarchar(max) = null , @param4\r\n nvarchar(max) = null , @param5 nvarchar(max) = null , @param6 nvarchar(max) = null , @param7 nvarchar(max) = null , @param8 nvarchar(max) = null , @param9\r\n nvarchar(max) = null , @param10 nvarchar(max) = null , @isToFreezeOnError bit = 0 , @Retries int = 0 , @priority int = 5 , @Jobchainname nvarchar(256)\r\n = null , @StartAt datetime = null , @BasisObjectKey varchar(138) = '' , @XUser nvarchar(64) = null , @WhereClauseAdditional nvarchar(max) = '' , @checkForExisting\r\n bit = 0 , @QueueName nvarchar(256) = null ) as begin declare @Portion int declare @PortionMax int declare @ElementsMax int declare @ElementsLen int declare\r\n @AllObjectKeysIn QBM_YObjectKeyAndPortion SET XACT_ABORT OFF BEGIN TRY select top 1 @ElementsLen = len(Parameter1) from @XObjectKeys if isnull(@ElementsLen\r\n, 0) = 0 begin goto endLabel end select @ElementsMax = 20000 / @ElementsLen if @ElementsMax > 450 begin select @ElementsMax = 450 end insert into @AllObjectKeysIn\r\n (ObjectKey, Portion) select o.Parameter1 , ((ROW_NUMBER() over( order by o.Parameter1) ) / @ElementsMax) + 1 from @XObjectKeys o select @PortionMax = \r\nmax(i.Portion) , @Portion = 1 from @AllObjectKeysIn i while @Portion <= @PortionMax begin exec QBM_P4B5EF97051B7F5A66DC5668_ @Portion = @Portion , @AllObjectKeysIn\r\n = @AllObjectKeysIn  , @objecttype = @objecttype     , @save = @save , @MethodName = @MethodName , @GenProcID = @GenProcID , @AdditionalObjectKeysAffected\r\n = @AdditionalObjectKeysAffected   , @ConnectionVariables = @ConnectionVariables , @AuthenticationString = @AuthenticationString , @SingleTransaction =\r\n @SingleTransaction , @param1 = @param1 , @param2 = @param2 , @param3 = @param3 , @param4 = @param4 , @param5 = @param5 , @param6 = @param6 , @param7 =\r\n @param7 , @param8 = @param8 , @param9 = @param9 , @param10 = @param10 , @isToFreezeOnError = @isToFreezeOnError , @Retries = @Retries , @priority = @priority\r\n , @Jobchainname = @Jobchainname , @StartAt = @StartAt , @BasisObjectKey = @BasisObjectKey , @XUser = @XUser , @WhereClauseAdditional = @WhereClauseAdditional\r\n , @checkForExisting = @checkForExisting , @QueueName = @QueueName select @Portion += 1 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare\r\n @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobCreate_HODelete",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:00:59.907",
      "ModifyDate": "2026-04-14T23:20:31.33",
      "Definition": " create   procedure QBM_PJobCreate_HODelete ( @objecttype nvarchar(255),  @whereclause nvarchar(max)  , @GenProcID varchar(38) , @ObjectKeysAffected\r\n QBM_YParameterList readOnly  , @ConnectionVariables nvarchar(max) = null , @AuthenticationString nvarchar(max) = null , @SingleTransaction bit = 1  , \r\n@isToFreezeOnError bit = 0 , @Retries int = 0 , @priority int = 5 , @Jobchainname nvarchar(256) = null , @StartAt datetime = null , @BasisObjectKey varchar\r\n(138) = '' , @XUser nvarchar(64) = null , @WhereClauseAdditional nvarchar(max) = '' , @checkForExisting bit = 0 , @QueueName nvarchar(256) = null , @DeepDelete\r\n bit = 0  ) as begin declare @Parameters QBM_YParameterList declare @JobChainNameAddOn nvarchar(256) SET XACT_ABORT OFF BEGIN TRY if @Jobchainname is null\r\n begin select @JobChainNameAddOn = ' handle object delete for object type ' + @objecttype select @Jobchainname =dbo.QBM_FGIJobCreateName ( @JobChainNameAddOn\r\n) end insert into @Parameters (Parameter1, ContentFull) values ('objecttype', @objecttype) , ('WhereClause', @whereclause) , ('WhereClauseAdditional', \r\n@WhereClauseAdditional)  if @ConnectionVariables > ' ' begin insert into @Parameters(Parameter1, ContentFull) values ('ConnectionVariables', @ConnectionVariables\r\n) end if @AuthenticationString > ' ' begin insert into @Parameters(Parameter1, ContentFull) values ('AuthenticationString', @AuthenticationString) end \r\nif @SingleTransaction = 0 begin insert into @Parameters(Parameter1, ContentFull) values ('SingleTransaction', 'FALSE') end if @DeepDelete = 1 begin insert\r\n into @Parameters(Parameter1, ContentFull) values ('Deep', 'TRUE') end exec QBM_PJobCreate 'VI.JobService.JobComponents.HandleObjectComponent' , 'Delete'\r\n , @Parameters , @GenProcID , @ObjectKeysAffected , @isToFreezeOnError , @Retries , @priority , @Jobchainname , @StartAt , @BasisObjectKey , @XUser , @QueueName\r\n , @checkForExisting END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR \r\n(@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobCreate_HODelete_B",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:31.37",
      "ModifyDate": "2026-04-14T23:20:31.37",
      "Definition": "  create   procedure QBM_PJobCreate_HODelete_B( @objecttype nvarchar(255),  @whereclause nvarchar(max)  , @GenProcID varchar(38) , @AdditionalObjectKeysAffected\r\n QBM_YParameterList readonly  , @ConnectionVariables nvarchar(max) = null , @AuthenticationString nvarchar(max) = null , @SingleTransaction bit = 1 , @isToFreezeOnError\r\n bit = 0 , @Retries int = 0 , @priority int = 5 , @Jobchainname nvarchar(256) = null , @StartAt datetime = null , @BasisObjectKey varchar(138) = '' , @XUser\r\n nvarchar(64) = null , @WhereClauseAdditional nvarchar(max) = '' , @checkForExisting bit = 0 , @QueueName nvarchar(256) = null , @DeepDelete bit = 0  )\r\n as begin declare @XObjectKeysToTransfer QBM_YParameterList declare @SQLCmd nvarchar(max)  SET XACT_ABORT OFF BEGIN TRY if exists (select top 1 1 from \r\nDialogTable t with (readpast) join DialogColumn c with (readpast) on t.UID_DialogTable = c.UID_DialogTable where t.TableName = @objecttype and c.ColumnName\r\n = 'XObjectKey' ) begin select @SQLCmd = N'\r\n\t  select XObjectKey \r\n\t\tfrom ' + @objecttype + N'\r\n\t\twhere ( ' + @whereclause + N' )\r\n\t\torder by 1 ' insert\r\n into @XObjectKeysToTransfer(Parameter1) exec sp_executeSQL @SQLCmd exec QBM_PJobCreate_HODelete_L @objecttype , @XObjectKeysToTransfer , @GenProcID , \r\n@AdditionalObjectKeysAffected , @ConnectionVariables , @AuthenticationString , @SingleTransaction , @isToFreezeOnError = @isToFreezeOnError , @Retries \r\n= @Retries , @priority = @priority , @Jobchainname = @Jobchainname , @StartAt = @StartAt , @BasisObjectKey = @BasisObjectKey , @XUser = @XUser , @WhereClauseAdditional\r\n = @WhereClauseAdditional , @checkForExisting = @checkForExisting , @QueueName = @QueueName , @DeepDelete = @DeepDelete end else begin exec QBM_PJobCreate_HODelete\r\n @objecttype , @whereclause , @GenProcID , @AdditionalObjectKeysAffected , @ConnectionVariables , @AuthenticationString , @SingleTransaction , @isToFreezeOnError\r\n = @isToFreezeOnError , @Retries = @Retries , @priority = @priority , @Jobchainname = @Jobchainname , @StartAt = @StartAt , @BasisObjectKey = @BasisObjectKey\r\n , @XUser = @XUser , @WhereClauseAdditional = @WhereClauseAdditional , @checkForExisting = @checkForExisting , @QueueName = @QueueName , @DeepDelete = \r\n@DeepDelete end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow\r\n, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobCreate_HODelete_L",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:00:59.917",
      "ModifyDate": "2026-04-14T23:20:31.34",
      "Definition": "    create   procedure QBM_PJobCreate_HODelete_L( @objecttype nvarchar(255)  , @XObjectKeys QBM_YParameterList readonly  , @GenProcID varchar(38\r\n) , @AdditionalObjectKeysAffected QBM_YParameterList readonly    , @ConnectionVariables nvarchar(max) = null , @AuthenticationString nvarchar(max) = null\r\n , @SingleTransaction bit = 1 , @isToFreezeOnError bit = 0 , @Retries int = 0 , @priority int = 5 , @Jobchainname nvarchar(256) = null , @StartAt datetime\r\n = null , @BasisObjectKey varchar(138) = '' , @XUser nvarchar(64) = null , @WhereClauseAdditional nvarchar(max) = '' , @checkForExisting bit = 0 , @QueueName\r\n nvarchar(256) = null , @DeepDelete bit = 0  ) as begin declare @Portion int declare @PortionMax int declare @ElementsMax int declare @ElementsLen int \r\ndeclare @AllObjectKeysIn QBM_YObjectKeyAndPortion SET XACT_ABORT OFF BEGIN TRY select top 1 @ElementsLen = len(Parameter1) from @XObjectKeys if isnull(@ElementsLen\r\n, 0) = 0 begin goto endLabel end select @ElementsMax = 20000 / @ElementsLen if @ElementsMax > 450 begin select @ElementsMax = 450 end insert into @AllObjectKeysIn\r\n (ObjectKey, Portion) select o.Parameter1 , ((ROW_NUMBER() over( order by o.Parameter1) ) / @ElementsMax) + 1 from @XObjectKeys o select @PortionMax = \r\nmax(i.Portion) , @Portion = 1 from @AllObjectKeysIn i while @Portion <= @PortionMax begin exec QBM_PB3D180A1745C229E35DBD6E_ @Portion = @Portion , @AllObjectKeysIn\r\n = @AllObjectKeysIn , @objecttype = @objecttype  , @GenProcID = @GenProcID , @AdditionalObjectKeysAffected = @AdditionalObjectKeysAffected   , @ConnectionVariables\r\n = @ConnectionVariables , @AuthenticationString = @AuthenticationString , @SingleTransaction = @SingleTransaction , @isToFreezeOnError = @isToFreezeOnError\r\n , @Retries = @Retries , @priority = @priority , @Jobchainname = @Jobchainname , @StartAt = @StartAt , @BasisObjectKey = @BasisObjectKey , @XUser = @XUser\r\n , @WhereClauseAdditional = @WhereClauseAdditional , @checkForExisting = @checkForExisting , @QueueName = @QueueName , @DeepDelete = @DeepDelete select\r\n @Portion += 1 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow\r\n, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobCreate_HOFireEvent",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:00:59.95",
      "ModifyDate": "2026-04-14T23:20:31.383",
      "Definition": " create   procedure QBM_PJobCreate_HOFireEvent( @objecttype nvarchar(255),  @whereclause nvarchar(max)   , @EventName nvarchar(256)  , @GenProcID\r\n varchar(38) , @ObjectKeysAffected QBM_YParameterList readOnly  , @ConnectionVariables nvarchar(max) = null , @AuthenticationString nvarchar(max) = null\r\n , @SingleTransaction bit = 1 ,  @p2 nvarchar (1024) = N'', @v2 nvarchar (max) = N'' , @p3 nvarchar (1024) = N'', @v3 nvarchar (max) = N'' , @p4 nvarchar\r\n (1024) = N'', @v4 nvarchar (max) = N'' , @p5 nvarchar (1024) = N'', @v5 nvarchar (max) = N'' , @p6 nvarchar (1024) = N'', @v6 nvarchar (max) = N'' , @p7\r\n nvarchar (1024) = N'', @v7 nvarchar (max) = N'' , @p8 nvarchar (1024) = N'', @v8 nvarchar (max) = N'' , @p9 nvarchar (1024) = N'', @v9 nvarchar (max) \r\n= N'' , @p10 nvarchar (1024) = N'', @v10 nvarchar (max) = N'' , @p11 nvarchar (1024) = N'', @v11 nvarchar (max) = N'' , @p12 nvarchar (1024) = N'', @v12\r\n nvarchar (max) = N'' , @p13 nvarchar (1024) = N'', @v13 nvarchar (max) = N'' , @p14 nvarchar (1024) = N'', @v14 nvarchar (max) = N'' , @p15 nvarchar (1024\r\n) = N'', @v15 nvarchar (max) = N'' , @p16 nvarchar (1024) = N'', @v16 nvarchar (max) = N'' , @p17 nvarchar (1024) = N'', @v17 nvarchar (max) = N'' , @p18\r\n nvarchar (1024) = N'', @v18 nvarchar (max) = N'' , @p19 nvarchar (1024) = N'', @v19 nvarchar (max) = N'' , @p20 nvarchar (1024) = N'', @v20 nvarchar (max\r\n) = N'' , @p21 nvarchar (1024) = N'', @v21 nvarchar (max) = N'' , @p22 nvarchar (1024) = N'', @v22 nvarchar (max) = N'' , @p23 nvarchar (1024) = N'', @v23\r\n nvarchar (max) = N'' , @p24 nvarchar (1024) = N'', @v24 nvarchar (max) = N'' , @p25 nvarchar (1024) = N'', @v25 nvarchar (max) = N'' , @p26 nvarchar (1024\r\n) = N'', @v26 nvarchar (max) = N'' , @p27 nvarchar (1024) = N'', @v27 nvarchar (max) = N'' , @p28 nvarchar (1024) = N'', @v28 nvarchar (max) = N'' , @p29\r\n nvarchar (1024) = N'', @v29 nvarchar (max) = N'' , @p30 nvarchar (1024) = N'', @v30 nvarchar (max) = N'' , @p31 nvarchar (1024) = N'', @v31 nvarchar (max\r\n) = N''  , @isToFreezeOnError bit = 0 , @Retries int = 0 , @priority int = 5 , @Jobchainname nvarchar(256) = null , @StartAt datetime = null , @BasisObjectKey\r\n varchar(138) = N'' , @XUser nvarchar(64) = null , @WhereClauseAdditional nvarchar(max) = '' , @checkForExisting bit = 0 , @QueueName nvarchar(256) = null\r\n ) as begin declare @Parameters QBM_YParameterList declare @JobChainNameAddOn nvarchar(256) SET XACT_ABORT OFF BEGIN TRY if @Jobchainname is null begin\r\n select @JobChainNameAddOn = ' fire event ' + @EventName + ' for object type ' + @objecttype select @Jobchainname =dbo.QBM_FGIJobCreateName ( @JobChainNameAddOn\r\n) end insert into @Parameters (Parameter1, ContentFull) values ('objecttype', @objecttype) , ('WhereClause', @whereclause) , ('WhereClauseAdditional', \r\n@WhereClauseAdditional)  , ( 'EventName' , @EventName ) , ( @p2 , @v2 ) , ( @p3 , @v3 ) , ( @p4 , @v4 ) , ( @p5 , @v5 ) , ( @p6 , @v6 ) , ( @p7 , @v7 )\r\n , ( @p8 , @v8 ) , ( @p9 , @v9 ) , ( @p10 , @v10 ) , ( @p11 , @v11 ) , ( @p12 , @v12 ) , ( @p13 , @v13 ) , ( @p14 , @v14 ) , ( @p15 , @v15 ) , ( @p16 ,\r\n @v16 ) , ( @p17 , @v17 ) , ( @p18 , @v18 ) , ( @p19 , @v19 ) , ( @p20 , @v20 ) , ( @p21 , @v21 ) , ( @p22 , @v22 ) , ( @p23 , @v23 ) , ( @p24 , @v24 )\r\n , ( @p25 , @v25 ) , ( @p26 , @v26 ) , ( @p27 , @v27 ) , ( @p28 , @v28 ) , ( @p29 , @v29 ) , ( @p30 , @v30 ) , ( @p31 , @v31 ) if @ConnectionVariables \r\n> ' ' begin insert into @Parameters(Parameter1, ContentFull) values ('ConnectionVariables', @ConnectionVariables) end if @AuthenticationString > ' ' begin\r\n insert into @Parameters(Parameter1, ContentFull) values ('AuthenticationString', @AuthenticationString) end if @SingleTransaction = 0 begin insert into\r\n @Parameters(Parameter1, ContentFull) values ('SingleTransaction', 'FALSE') end exec QBM_PJobCreate 'VI.JobService.JobComponents.HandleObjectComponent'\r\n , 'FireGenEvent' , @Parameters , @GenProcID , @ObjectKeysAffected , @isToFreezeOnError , @Retries , @priority , @Jobchainname , @StartAt , @BasisObjectKey\r\n , @XUser , @QueueName , @checkForExisting END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return\r\n end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobCreate_HOFireEvent_B",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:31.433",
      "ModifyDate": "2026-04-14T23:20:31.433",
      "Definition": "  create   procedure QBM_PJobCreate_HOFireEvent_B( @objecttype nvarchar(255),  @whereclause nvarchar(max),  @EventName nvarchar(256),  @GenProcID\r\n varchar(38) , @AdditionalObjectKeysAffected QBM_YParameterList readonly  , @ConnectionVariables nvarchar(max) = null , @AuthenticationString nvarchar(max\r\n) = null , @SingleTransaction bit = 1 , @p2 nvarchar (1024) = N'', @v2 nvarchar (max) = N'' , @p3 nvarchar (1024) = N'', @v3 nvarchar (max) = N'' , @p4\r\n nvarchar (1024) = N'', @v4 nvarchar (max) = N'' , @p5 nvarchar (1024) = N'', @v5 nvarchar (max) = N'' , @p6 nvarchar (1024) = N'', @v6 nvarchar (max) \r\n= N'' , @p7 nvarchar (1024) = N'', @v7 nvarchar (max) = N'' , @p8 nvarchar (1024) = N'', @v8 nvarchar (max) = N'' , @p9 nvarchar (1024) = N'', @v9 nvarchar\r\n (max) = N'' , @p10 nvarchar (1024) = N'', @v10 nvarchar (max) = N'' , @p11 nvarchar (1024) = N'', @v11 nvarchar (max) = N'' , @p12 nvarchar (1024) = N''\r\n, @v12 nvarchar (max) = N'' , @p13 nvarchar (1024) = N'', @v13 nvarchar (max) = N'' , @p14 nvarchar (1024) = N'', @v14 nvarchar (max) = N'' , @p15 nvarchar\r\n (1024) = N'', @v15 nvarchar (max) = N'' , @p16 nvarchar (1024) = N'', @v16 nvarchar (max) = N'' , @p17 nvarchar (1024) = N'', @v17 nvarchar (max) = N''\r\n , @p18 nvarchar (1024) = N'', @v18 nvarchar (max) = N'' , @p19 nvarchar (1024) = N'', @v19 nvarchar (max) = N'' , @p20 nvarchar (1024) = N'', @v20 nvarchar\r\n (max) = N'' , @p21 nvarchar (1024) = N'', @v21 nvarchar (max) = N'' , @p22 nvarchar (1024) = N'', @v22 nvarchar (max) = N'' , @p23 nvarchar (1024) = N''\r\n, @v23 nvarchar (max) = N'' , @p24 nvarchar (1024) = N'', @v24 nvarchar (max) = N'' , @p25 nvarchar (1024) = N'', @v25 nvarchar (max) = N'' , @p26 nvarchar\r\n (1024) = N'', @v26 nvarchar (max) = N'' , @p27 nvarchar (1024) = N'', @v27 nvarchar (max) = N'' , @p28 nvarchar (1024) = N'', @v28 nvarchar (max) = N''\r\n , @p29 nvarchar (1024) = N'', @v29 nvarchar (max) = N'' , @p30 nvarchar (1024) = N'', @v30 nvarchar (max) = N'' , @p31 nvarchar (1024) = N'', @v31 nvarchar\r\n (max) = N'' , @isToFreezeOnError bit = 0 , @Retries int = 0 , @priority int = 5 , @Jobchainname nvarchar(256) = null , @StartAt datetime = null , @BasisObjectKey\r\n varchar(138) = N'' , @XUser nvarchar(64) = null , @WhereClauseAdditional nvarchar(max) = '' , @checkForExisting bit = 0 , @QueueName nvarchar(256) = null\r\n ) as begin declare @XObjectKeysToTransfer QBM_YParameterList declare @SQLCmd nvarchar(max)  SET XACT_ABORT OFF BEGIN TRY if exists (select top 1 1 from\r\n DialogTable t with (readpast) join DialogColumn c with (readpast) on t.UID_DialogTable = c.UID_DialogTable where t.TableName = @objecttype and c.ColumnName\r\n = 'XObjectKey' ) begin select @SQLCmd = N'\r\n\t  select XObjectKey \r\n\t\tfrom ' + @objecttype + N'\r\n\t\twhere ( ' + @whereclause + N' )\r\n\t\torder by 1 ' insert\r\n into @XObjectKeysToTransfer(Parameter1) exec sp_executeSQL @SQLCmd exec QBM_PJobCreate_HOFireEvent_L @objecttype, @XObjectKeysToTransfer ,  @EventName\r\n, @GenProcID , @AdditionalObjectKeysAffected  , @ConnectionVariables , @AuthenticationString , @SingleTransaction , @p2, @v2, @p3, @v3, @p4, @v4, @p5, \r\n@v5, @p6, @v6, @p7, @v7, @p8, @v8, @p9, @v9, @p10, @v10, @p11, @v11, @p12, @v12, @p13, @v13, @p14, @v14, @p15, @v15, @p16, @v16, @p17, @v17, @p18, @v18\r\n, @p19, @v19, @p20, @v20, @p21, @v21, @p22, @v22, @p23, @v23, @p24, @v24, @p25, @v25, @p26, @v26, @p27, @v27, @p28, @v28, @p29, @v29, @p30, @v30, @p31,\r\n @v31 , @isToFreezeOnError , @Retries , @priority , @Jobchainname , @StartAt , @BasisObjectKey , @XUser , @WhereClauseAdditional , @checkForExisting , \r\n@QueueName end else begin exec QBM_PJobCreate_HOFireEvent @objecttype, @whereclause ,  @EventName, @GenProcID , @AdditionalObjectKeysAffected  , @ConnectionVariables\r\n , @AuthenticationString , @SingleTransaction , @p2, @v2, @p3, @v3, @p4, @v4, @p5, @v5, @p6, @v6, @p7, @v7, @p8, @v8, @p9, @v9, @p10, @v10, @p11, @v11,\r\n @p12, @v12, @p13, @v13, @p14, @v14, @p15, @v15, @p16, @v16, @p17, @v17, @p18, @v18, @p19, @v19, @p20, @v20, @p21, @v21, @p22, @v22, @p23, @v23, @p24, \r\n@v24, @p25, @v25, @p26, @v26, @p27, @v27, @p28, @v28, @p29, @v29, @p30, @v30, @p31, @v31 , @isToFreezeOnError , @Retries , @priority , @Jobchainname , \r\n@StartAt , @BasisObjectKey , @XUser , @WhereClauseAdditional , @checkForExisting , @QueueName end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobCreate_HOFireEvent_L",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:00:59.963",
      "ModifyDate": "2026-04-14T23:20:31.4",
      "Definition": " create   procedure QBM_PJobCreate_HOFireEvent_L( @objecttype nvarchar(255),  @XObjectKeys QBM_YParameterList readonly,  @EventName nvarchar(256\r\n),  @GenProcID varchar(38) , @AdditionalObjectKeysAffected QBM_YParameterList readonly     , @ConnectionVariables nvarchar(max) = null , @AuthenticationString\r\n nvarchar(max) = null , @SingleTransaction bit = 1 , @p2 nvarchar (1024) = N'', @v2 nvarchar (max) = N'' , @p3 nvarchar (1024) = N'', @v3 nvarchar (max\r\n) = N'' , @p4 nvarchar (1024) = N'', @v4 nvarchar (max) = N'' , @p5 nvarchar (1024) = N'', @v5 nvarchar (max) = N'' , @p6 nvarchar (1024) = N'', @v6 nvarchar\r\n (max) = N'' , @p7 nvarchar (1024) = N'', @v7 nvarchar (max) = N'' , @p8 nvarchar (1024) = N'', @v8 nvarchar (max) = N'' , @p9 nvarchar (1024) = N'', @v9\r\n nvarchar (max) = N'' , @p10 nvarchar (1024) = N'', @v10 nvarchar (max) = N'' , @p11 nvarchar (1024) = N'', @v11 nvarchar (max) = N'' , @p12 nvarchar (1024\r\n) = N'', @v12 nvarchar (max) = N'' , @p13 nvarchar (1024) = N'', @v13 nvarchar (max) = N'' , @p14 nvarchar (1024) = N'', @v14 nvarchar (max) = N'' , @p15\r\n nvarchar (1024) = N'', @v15 nvarchar (max) = N'' , @p16 nvarchar (1024) = N'', @v16 nvarchar (max) = N'' , @p17 nvarchar (1024) = N'', @v17 nvarchar (max\r\n) = N'' , @p18 nvarchar (1024) = N'', @v18 nvarchar (max) = N'' , @p19 nvarchar (1024) = N'', @v19 nvarchar (max) = N'' , @p20 nvarchar (1024) = N'', @v20\r\n nvarchar (max) = N'' , @p21 nvarchar (1024) = N'', @v21 nvarchar (max) = N'' , @p22 nvarchar (1024) = N'', @v22 nvarchar (max) = N'' , @p23 nvarchar (1024\r\n) = N'', @v23 nvarchar (max) = N'' , @p24 nvarchar (1024) = N'', @v24 nvarchar (max) = N'' , @p25 nvarchar (1024) = N'', @v25 nvarchar (max) = N'' , @p26\r\n nvarchar (1024) = N'', @v26 nvarchar (max) = N'' , @p27 nvarchar (1024) = N'', @v27 nvarchar (max) = N'' , @p28 nvarchar (1024) = N'', @v28 nvarchar (max\r\n) = N'' , @p29 nvarchar (1024) = N'', @v29 nvarchar (max) = N'' , @p30 nvarchar (1024) = N'', @v30 nvarchar (max) = N'' , @p31 nvarchar (1024) = N'', @v31\r\n nvarchar (max) = N'' , @isToFreezeOnError bit = 0 , @Retries int = 0 , @priority int = 5 , @Jobchainname nvarchar(256) = null , @StartAt datetime = null\r\n , @BasisObjectKey varchar(138) = N'' , @XUser nvarchar(64) = null , @WhereClauseAdditional nvarchar(max) = '' , @checkForExisting bit = 0 , @QueueName\r\n nvarchar(256) = null ) as begin declare @Portion int declare @PortionMax int declare @ElementsMax int declare @ElementsLen int declare @AllObjectKeysIn\r\n QBM_YObjectKeyAndPortion SET XACT_ABORT OFF BEGIN TRY select top 1 @ElementsLen = len(Parameter1) from @XObjectKeys if isnull(@ElementsLen, 0) = 0 begin\r\n goto endLabel end select @ElementsMax = 20000 / @ElementsLen if @ElementsMax > 450 begin select @ElementsMax = 450 end insert into @AllObjectKeysIn (ObjectKey\r\n, Portion) select o.Parameter1 , ((ROW_NUMBER() over( order by o.Parameter1) ) / @ElementsMax) + 1 from @XObjectKeys o select @PortionMax = max(i.Portion\r\n) , @Portion = 1 from @AllObjectKeysIn i while @Portion <= @PortionMax begin exec QBM_PF3416818676AABF8BABD3AB_ @Portion = @Portion , @AllObjectKeysIn \r\n= @AllObjectKeysIn , @objecttype = @objecttype , @EventName = @EventName , @GenProcID = @GenProcID , @AdditionalObjectKeysAffected = @AdditionalObjectKeysAffected\r\n , @ConnectionVariables = @ConnectionVariables , @AuthenticationString = @AuthenticationString , @SingleTransaction = @SingleTransaction , @p2 = @p2 , \r\n@v2 = @v2, @p3 = @p3, @v3 = @v3, @p4 = @p4, @v4 = @v4, @p5 = @p5, @v5 = @v5, @p6 = @p6, @v6 = @v6, @p7 = @p7, @v7 = @v7, @p8 = @p8, @v8 = @v8, @p9 = @p9\r\n, @v9 = @v9, @p10 = @p10, @v10 = @v10, @p11 = @p11, @v11 = @v11, @p12 = @p12, @v12 = @v12, @p13 = @p13, @v13 = @v13, @p14 = @p14, @v14 = @v14, @p15 = @p15\r\n, @v15 = @v15, @p16 = @p16, @v16 = @v16, @p17 = @p17, @v17 = @v17, @p18 = @p18, @v18 = @v18, @p19 = @p19, @v19 = @v19, @p20 = @p20, @v20 = @v20, @p21 =\r\n @p21, @v21 = @v21, @p22 = @p22, @v22 = @v22, @p23 = @p23, @v23 = @v23, @p24 = @p24, @v24 = @v24, @p25 = @p25, @v25 = @v25, @p26 = @p26, @v26 = @v26, @p27\r\n = @p27, @v27 = @v27, @p28 = @p28, @v28 = @v28, @p29 = @p29, @v29 = @v29, @p30 = @p30, @v30 = @v30, @p31 = @p31, @v31 = @v31 , @isToFreezeOnError = @isToFreezeOnError\r\n , @Retries = @Retries , @priority = @priority , @Jobchainname = @Jobchainname , @StartAt = @StartAt , @BasisObjectKey = @BasisObjectKey , @XUser = @XUser\r\n , @WhereClauseAdditional = @WhereClauseAdditional , @checkForExisting = @checkForExisting , @QueueName = @QueueName select @Portion += 1 end END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END \r\nCATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobCreate_HOImportXML",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.097",
      "ModifyDate": "2026-04-14T23:20:31.563",
      "Definition": " create   procedure QBM_PJobCreate_HOImportXML  ( @objecttype nvarchar(255)  , @GenProcID varchar(38) , @ObjectKeysAffected QBM_YParameterList readOnly\r\n  ,@p1 nvarchar (1024) = N'', @v1 nvarchar (max) = N'' , @p2 nvarchar (1024) = N'', @v2 nvarchar (max) = N'' , @p3 nvarchar (1024) = N'', @v3 nvarchar \r\n(max) = N'' , @p4 nvarchar (1024) = N'', @v4 nvarchar (max) = N'' , @p5 nvarchar (1024) = N'', @v5 nvarchar (max) = N'' , @p6 nvarchar (1024) = N'', @v6\r\n nvarchar (max) = N'' , @p7 nvarchar (1024) = N'', @v7 nvarchar (max) = N'' , @p8 nvarchar (1024) = N'', @v8 nvarchar (max) = N'' , @p9 nvarchar (1024)\r\n = N'', @v9 nvarchar (max) = N'' , @p10 nvarchar (1024) = N'', @v10 nvarchar (max) = N'' , @p11 nvarchar (1024) = N'', @v11 nvarchar (max) = N'' , @p12\r\n nvarchar (1024) = N'', @v12 nvarchar (max) = N'' , @p13 nvarchar (1024) = N'', @v13 nvarchar (max) = N'' , @p14 nvarchar (1024) = N'', @v14 nvarchar (max\r\n) = N'' , @p15 nvarchar (1024) = N'', @v15 nvarchar (max) = N'' , @p16 nvarchar (1024) = N'', @v16 nvarchar (max) = N'' , @p17 nvarchar (1024) = N'', @v17\r\n nvarchar (max) = N'' , @p18 nvarchar (1024) = N'', @v18 nvarchar (max) = N'' , @p19 nvarchar (1024) = N'', @v19 nvarchar (max) = N'' , @p20 nvarchar (1024\r\n) = N'', @v20 nvarchar (max) = N'' , @p21 nvarchar (1024) = N'', @v21 nvarchar (max) = N'' , @p22 nvarchar (1024) = N'', @v22 nvarchar (max) = N'' , @p23\r\n nvarchar (1024) = N'', @v23 nvarchar (max) = N'' , @p24 nvarchar (1024) = N'', @v24 nvarchar (max) = N'' , @p25 nvarchar (1024) = N'', @v25 nvarchar (max\r\n) = N'' , @p26 nvarchar (1024) = N'', @v26 nvarchar (max) = N'' , @p27 nvarchar (1024) = N'', @v27 nvarchar (max) = N'' , @p28 nvarchar (1024) = N'', @v28\r\n nvarchar (max) = N'' , @p29 nvarchar (1024) = N'', @v29 nvarchar (max) = N'' , @p30 nvarchar (1024) = N'', @v30 nvarchar (max) = N'' , @p31 nvarchar (1024\r\n) = N'', @v31 nvarchar (max) = N'' , @isToFreezeOnError bit = 0 , @Retries int = 0 , @priority int = 5 , @Jobchainname nvarchar(256) = null , @StartAt \r\ndatetime = null , @BasisObjectKey varchar(138) = N'' , @XUser nvarchar(64) = null , @checkForExisting bit = 0 , @QueueName nvarchar(256) = null ) as begin\r\n declare @Parameters QBM_YParameterList declare @JobChainNameAddOn nvarchar(256) SET XACT_ABORT OFF BEGIN TRY if @Jobchainname is null begin select @JobChainNameAddOn\r\n = ' handle object import XML for object type ' + @objecttype select @Jobchainname =dbo.QBM_FGIJobCreateName ( @JobChainNameAddOn) end insert into @Parameters\r\n (Parameter1, ContentFull) values ('objecttype', @objecttype) , ( @p1 , @v1 ) , ( @p2 , @v2 ) , ( @p3 , @v3 ) , ( @p4 , @v4 ) , ( @p5 , @v5 ) , ( @p6 ,\r\n @v6 ) , ( @p7 , @v7 ) , ( @p8 , @v8 ) , ( @p9 , @v9 ) , ( @p10 , @v10 ) , ( @p11 , @v11 ) , ( @p12 , @v12 ) , ( @p13 , @v13 ) , ( @p14 , @v14 ) , ( @p15\r\n , @v15 ) , ( @p16 , @v16 ) , ( @p17 , @v17 ) , ( @p18 , @v18 ) , ( @p19 , @v19 ) , ( @p20 , @v20 ) , ( @p21 , @v21 ) , ( @p22 , @v22 ) , ( @p23 , @v23\r\n ) , ( @p24 , @v24 ) , ( @p25 , @v25 ) , ( @p26 , @v26 ) , ( @p27 , @v27 ) , ( @p28 , @v28 ) , ( @p29 , @v29 ) , ( @p30 , @v30 ) , ( @p31 , @v31 ) exec\r\n QBM_PJobCreate 'VI.JobService.JobComponents.HandleObjectComponent' , 'IMPORTSINGLEXML' , @Parameters , @GenProcID , @ObjectKeysAffected , @isToFreezeOnError\r\n , @Retries , @priority , @Jobchainname , @StartAt , @BasisObjectKey , @XUser , @QueueName , @checkForExisting END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobCreate_HOInsert",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:00:59.817",
      "ModifyDate": "2026-04-14T23:20:31.24",
      "Definition": " create   procedure QBM_PJobCreate_HOInsert ( @objecttype nvarchar(255),  @GenProcID varchar(38) , @ObjectKeysAffected QBM_YParameterList readOnly\r\n  , @ConnectionVariables nvarchar(max) = null , @AuthenticationString nvarchar(max) = null , @SingleTransaction bit = 1 , @p1 nvarchar (1024) = N'', @v1\r\n nvarchar (max) = N'' , @p2 nvarchar (1024) = N'', @v2 nvarchar (max) = N'' , @p3 nvarchar (1024) = N'', @v3 nvarchar (max) = N'' , @p4 nvarchar (1024)\r\n = N'', @v4 nvarchar (max) = N'' , @p5 nvarchar (1024) = N'', @v5 nvarchar (max) = N'' , @p6 nvarchar (1024) = N'', @v6 nvarchar (max) = N'' , @p7 nvarchar\r\n (1024) = N'', @v7 nvarchar (max) = N'' , @p8 nvarchar (1024) = N'', @v8 nvarchar (max) = N'' , @p9 nvarchar (1024) = N'', @v9 nvarchar (max) = N'' , @p10\r\n nvarchar (1024) = N'', @v10 nvarchar (max) = N'' , @p11 nvarchar (1024) = N'', @v11 nvarchar (max) = N'' , @p12 nvarchar (1024) = N'', @v12 nvarchar (max\r\n) = N'' , @p13 nvarchar (1024) = N'', @v13 nvarchar (max) = N'' , @p14 nvarchar (1024) = N'', @v14 nvarchar (max) = N'' , @p15 nvarchar (1024) = N'', @v15\r\n nvarchar (max) = N'' , @p16 nvarchar (1024) = N'', @v16 nvarchar (max) = N'' , @p17 nvarchar (1024) = N'', @v17 nvarchar (max) = N'' , @p18 nvarchar (1024\r\n) = N'', @v18 nvarchar (max) = N'' , @p19 nvarchar (1024) = N'', @v19 nvarchar (max) = N'' , @p20 nvarchar (1024) = N'', @v20 nvarchar (max) = N'' , @p21\r\n nvarchar (1024) = N'', @v21 nvarchar (max) = N'' , @p22 nvarchar (1024) = N'', @v22 nvarchar (max) = N'' , @p23 nvarchar (1024) = N'', @v23 nvarchar (max\r\n) = N'' , @p24 nvarchar (1024) = N'', @v24 nvarchar (max) = N'' , @p25 nvarchar (1024) = N'', @v25 nvarchar (max) = N'' , @p26 nvarchar (1024) = N'', @v26\r\n nvarchar (max) = N'' , @p27 nvarchar (1024) = N'', @v27 nvarchar (max) = N'' , @p28 nvarchar (1024) = N'', @v28 nvarchar (max) = N'' , @p29 nvarchar (1024\r\n) = N'', @v29 nvarchar (max) = N'' , @p30 nvarchar (1024) = N'', @v30 nvarchar (max) = N'' , @p31 nvarchar (1024) = N'', @v31 nvarchar (max) = N''  , @isToFreezeOnError\r\n bit = 0 , @Retries int = 0 , @priority int = 5 , @Jobchainname nvarchar(256) = null , @StartAt datetime = null , @BasisObjectKey varchar(138) = N'' , \r\n@XUser nvarchar(64) = null , @QueueName nvarchar(256) = null ) as begin declare @Parameters QBM_YParameterList declare @JobChainNameAddOn nvarchar(256)\r\n SET XACT_ABORT OFF BEGIN TRY if @Jobchainname is null begin select @JobChainNameAddOn = ' handle object insert for object type ' + @objecttype select \r\n@Jobchainname =dbo.QBM_FGIJobCreateName ( @JobChainNameAddOn) end insert into @Parameters (Parameter1, ContentFull) values ('objecttype', @objecttype) \r\n, ( @p1 , @v1 ) , ( @p2 , @v2 ) , ( @p3 , @v3 ) , ( @p4 , @v4 ) , ( @p5 , @v5 ) , ( @p6 , @v6 ) , ( @p7 , @v7 ) , ( @p8 , @v8 ) , ( @p9 , @v9 ) , ( @p10\r\n , @v10 ) , ( @p11 , @v11 ) , ( @p12 , @v12 ) , ( @p13 , @v13 ) , ( @p14 , @v14 ) , ( @p15 , @v15 ) , ( @p16 , @v16 ) , ( @p17 , @v17 ) , ( @p18 , @v18\r\n ) , ( @p19 , @v19 ) , ( @p20 , @v20 ) , ( @p21 , @v21 ) , ( @p22 , @v22 ) , ( @p23 , @v23 ) , ( @p24 , @v24 ) , ( @p25 , @v25 ) , ( @p26 , @v26 ) , ( \r\n@p27 , @v27 ) , ( @p28 , @v28 ) , ( @p29 , @v29 ) , ( @p30 , @v30 ) , ( @p31 , @v31 ) if @ConnectionVariables > ' ' begin insert into @Parameters(Parameter1\r\n, ContentFull) values ('ConnectionVariables', @ConnectionVariables) end if @AuthenticationString > ' ' begin insert into @Parameters(Parameter1, ContentFull\r\n) values ('AuthenticationString', @AuthenticationString) end if @SingleTransaction = 0 begin insert into @Parameters(Parameter1, ContentFull) values ('SingleTransaction'\r\n, 'FALSE') end exec QBM_PJobCreate 'VI.JobService.JobComponents.HandleObjectComponent' , 'Insert' , @Parameters , @GenProcID , @ObjectKeysAffected , @isToFreezeOnError\r\n , @Retries , @priority , @Jobchainname , @StartAt , @BasisObjectKey , @XUser , @QueueName END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare\r\n @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobCreate_HOTemplate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.047",
      "ModifyDate": "2026-04-14T23:20:31.503",
      "Definition": " create   procedure QBM_PJobCreate_HOTemplate ( @objecttype nvarchar(255),  @whereclause nvarchar(max)  , @Columns nvarchar(max)   , @GenProcID \r\nvarchar(38) , @ObjectKeysAffected QBM_YParameterList readOnly  , @ConnectionVariables nvarchar(max) = null , @AuthenticationString nvarchar(max) = null\r\n , @SingleTransaction bit = 1  , @isToFreezeOnError bit = 0 , @Retries int = 0 , @priority int = 5 , @Jobchainname nvarchar(256) = null , @StartAt datetime\r\n = null , @BasisObjectKey varchar(138) = N'' , @XUser nvarchar(64) = null , @WhereClauseAdditional nvarchar(max) = '' , @checkForExisting bit = 0 , @QueueName\r\n nvarchar(256) = null ) as begin declare @Parameters QBM_YParameterList declare @JobChainNameAddOn nvarchar(256) SET XACT_ABORT OFF BEGIN TRY if @Jobchainname\r\n is null begin select @JobChainNameAddOn = ' execute template for object type ' + @objecttype select @Jobchainname =dbo.QBM_FGIJobCreateName ( @JobChainNameAddOn\r\n) end if ISNULL(@Columns, '') = '' begin select @Columns = '*' end insert into @Parameters (Parameter1, ContentFull) values ('objecttype', @objecttype)\r\n , ('WhereClause', @whereclause) , ('WhereClauseAdditional', @WhereClauseAdditional)  , ( 'Columns' , @Columns ) if @ConnectionVariables > ' ' begin insert\r\n into @Parameters(Parameter1, ContentFull) values ('ConnectionVariables', @ConnectionVariables) end if @AuthenticationString > ' ' begin insert into @Parameters\r\n(Parameter1, ContentFull) values ('AuthenticationString', @AuthenticationString) end if @SingleTransaction = 0 begin insert into @Parameters(Parameter1\r\n, ContentFull) values ('SingleTransaction', 'FALSE') end exec QBM_PJobCreate 'VI.JobService.JobComponents.HandleObjectComponent' , 'EXECUTETEMPLATES' ,\r\n @Parameters , @GenProcID , @ObjectKeysAffected , @isToFreezeOnError , @Retries , @priority , @Jobchainname , @StartAt , @BasisObjectKey , @XUser , @QueueName\r\n , @checkForExisting END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR \r\n(@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobCreate_HOTemplate_B",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:31.55",
      "ModifyDate": "2026-04-14T23:20:31.55",
      "Definition": "  create   procedure QBM_PJobCreate_HOTemplate_B( @objecttype nvarchar(255),  @whereclause nvarchar(max)  , @Columns nvarchar(max)  , @GenProcID\r\n varchar(38) , @AdditionalObjectKeysAffected QBM_YParameterList readonly  , @ConnectionVariables nvarchar(max) = null , @AuthenticationString nvarchar(max\r\n) = null , @SingleTransaction bit = 1  , @isToFreezeOnError bit = 0 , @Retries int = 0 , @priority int = 5 , @Jobchainname nvarchar(256) = null , @StartAt\r\n datetime = null , @BasisObjectKey varchar(138) = N'' , @XUser nvarchar(64) = null , @WhereClauseAdditional nvarchar(max) = '' , @checkForExisting bit \r\n= 0 , @QueueName nvarchar(256) = null ) as begin declare @XObjectKeysToTransfer QBM_YParameterList declare @SQLCmd nvarchar(max)  SET XACT_ABORT OFF BEGIN\r\n TRY if exists (select top 1 1 from DialogTable t with (readpast) join DialogColumn c with (readpast) on t.UID_DialogTable = c.UID_DialogTable where t.TableName\r\n = @objecttype and c.ColumnName = 'XObjectKey' ) begin select @SQLCmd = N'\r\n\t  select XObjectKey \r\n\t\tfrom ' + @objecttype + N'\r\n\t\twhere ( ' + @whereclause\r\n + N' )\r\n\t\torder by 1 ' insert into @XObjectKeysToTransfer(Parameter1) exec sp_executeSQL @SQLCmd exec QBM_PJobCreate_HOTemplate_L @objecttype ,  @XObjectKeysToTransfer\r\n , @Columns , @GenProcID , @AdditionalObjectKeysAffected , @ConnectionVariables , @AuthenticationString , @SingleTransaction , @isToFreezeOnError , @Retries\r\n , @priority , @Jobchainname , @StartAt , @BasisObjectKey , @XUser , @WhereClauseAdditional , @checkForExisting , @QueueName end else begin exec QBM_PJobCreate_HOTemplate\r\n @objecttype ,  @whereclause , @Columns , @GenProcID , @AdditionalObjectKeysAffected , @ConnectionVariables , @AuthenticationString , @SingleTransaction\r\n , @isToFreezeOnError , @Retries , @priority , @Jobchainname , @StartAt , @BasisObjectKey , @XUser , @WhereClauseAdditional , @checkForExisting , @QueueName\r\n end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1\r\n) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobCreate_HOTemplate_L",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.06",
      "ModifyDate": "2026-04-14T23:20:31.52",
      "Definition": " create   procedure QBM_PJobCreate_HOTemplate_L( @objecttype nvarchar(255),  @XObjectKeys QBM_YParameterList readonly  , @Columns nvarchar(max) \r\n , @GenProcID varchar(38) , @AdditionalObjectKeysAffected QBM_YParameterList readonly    , @ConnectionVariables nvarchar(max) = null , @AuthenticationString\r\n nvarchar(max) = null , @SingleTransaction bit = 1  , @isToFreezeOnError bit = 0 , @Retries int = 0 , @priority int = 5 , @Jobchainname nvarchar(256) =\r\n null , @StartAt datetime = null , @BasisObjectKey varchar(138) = N'' , @XUser nvarchar(64) = null , @WhereClauseAdditional nvarchar(max) = '' , @checkForExisting\r\n bit = 0 , @QueueName nvarchar(256) = null ) as begin declare @Portion int declare @PortionMax int declare @ElementsMax int declare @ElementsLen int declare\r\n @AllObjectKeysIn QBM_YObjectKeyAndPortion SET XACT_ABORT OFF BEGIN TRY select top 1 @ElementsLen = len(Parameter1) from @XObjectKeys if isnull(@ElementsLen\r\n, 0) = 0 begin goto endLabel end select @ElementsMax = 20000 / @ElementsLen if @ElementsMax > 450 begin select @ElementsMax = 450 end insert into @AllObjectKeysIn\r\n (ObjectKey, Portion) select o.Parameter1 , ((ROW_NUMBER() over( order by o.Parameter1) ) / @ElementsMax) + 1 from @XObjectKeys o select @PortionMax = \r\nmax(i.Portion) , @Portion = 1 from @AllObjectKeysIn i while @Portion <= @PortionMax begin exec QBM_P5C881179A5B9B0CDCAE541D_ @Portion = @Portion , @AllObjectKeysIn\r\n = @AllObjectKeysIn  , @objecttype = @objecttype , @Columns = @Columns , @GenProcID = @GenProcID , @AdditionalObjectKeysAffected = @AdditionalObjectKeysAffected\r\n   , @ConnectionVariables = @ConnectionVariables , @AuthenticationString = @AuthenticationString , @SingleTransaction = @SingleTransaction  , @isToFreezeOnError\r\n = @isToFreezeOnError , @Retries = @Retries , @priority = @priority , @Jobchainname = @Jobchainname , @StartAt = @StartAt , @BasisObjectKey = @BasisObjectKey\r\n , @XUser = @XUser , @WhereClauseAdditional = @WhereClauseAdditional , @checkForExisting = @checkForExisting , @QueueName = @QueueName select @Portion \r\n+= 1 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18\r\n, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobCreate_HOUpdate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:31.263",
      "ModifyDate": "2026-04-14T23:20:31.263",
      "Definition": "create   procedure QBM_PJobCreate_HOUpdate( @objecttype nvarchar(255),  @whereclause nvarchar(max),  @GenProcID varchar(38) , @ObjectKeysAffected\r\n QBM_YParameterList readOnly  , @ConnectionVariables nvarchar(max) = null , @AuthenticationString nvarchar(max) = null , @SingleTransaction bit = 1 , @p1\r\n nvarchar (1024) = N'', @v1 nvarchar (max) = N'' , @p2 nvarchar (1024) = N'', @v2 nvarchar (max) = N'' , @p3 nvarchar (1024) = N'', @v3 nvarchar (max) \r\n= N'' , @p4 nvarchar (1024) = N'', @v4 nvarchar (max) = N'' , @p5 nvarchar (1024) = N'', @v5 nvarchar (max) = N'' , @p6 nvarchar (1024) = N'', @v6 nvarchar\r\n (max) = N'' , @p7 nvarchar (1024) = N'', @v7 nvarchar (max) = N'' , @p8 nvarchar (1024) = N'', @v8 nvarchar (max) = N'' , @p9 nvarchar (1024) = N'', @v9\r\n nvarchar (max) = N'' , @p10 nvarchar (1024) = N'', @v10 nvarchar (max) = N'' , @p11 nvarchar (1024) = N'', @v11 nvarchar (max) = N'' , @p12 nvarchar (1024\r\n) = N'', @v12 nvarchar (max) = N'' , @p13 nvarchar (1024) = N'', @v13 nvarchar (max) = N'' , @p14 nvarchar (1024) = N'', @v14 nvarchar (max) = N'' , @p15\r\n nvarchar (1024) = N'', @v15 nvarchar (max) = N'' , @p16 nvarchar (1024) = N'', @v16 nvarchar (max) = N'' , @p17 nvarchar (1024) = N'', @v17 nvarchar (max\r\n) = N'' , @p18 nvarchar (1024) = N'', @v18 nvarchar (max) = N'' , @p19 nvarchar (1024) = N'', @v19 nvarchar (max) = N'' , @p20 nvarchar (1024) = N'', @v20\r\n nvarchar (max) = N'' , @p21 nvarchar (1024) = N'', @v21 nvarchar (max) = N'' , @p22 nvarchar (1024) = N'', @v22 nvarchar (max) = N'' , @p23 nvarchar (1024\r\n) = N'', @v23 nvarchar (max) = N'' , @p24 nvarchar (1024) = N'', @v24 nvarchar (max) = N'' , @p25 nvarchar (1024) = N'', @v25 nvarchar (max) = N'' , @p26\r\n nvarchar (1024) = N'', @v26 nvarchar (max) = N'' , @p27 nvarchar (1024) = N'', @v27 nvarchar (max) = N'' , @p28 nvarchar (1024) = N'', @v28 nvarchar (max\r\n) = N'' , @p29 nvarchar (1024) = N'', @v29 nvarchar (max) = N'' , @p30 nvarchar (1024) = N'', @v30 nvarchar (max) = N'' , @p31 nvarchar (1024) = N'', @v31\r\n nvarchar (max) = N''  , @isToFreezeOnError bit = 0 , @Retries int = 0 , @priority int = 5 , @Jobchainname nvarchar(256) = null , @StartAt datetime = null\r\n , @BasisObjectKey varchar(138) = N'' , @XUser nvarchar(64) = null , @WhereClauseAdditional nvarchar(max) = '' , @checkForExisting bit = 0 , @QueueName\r\n nvarchar(256) = null ) as begin declare @Parameters QBM_YParameterList declare @JobChainNameAddOn nvarchar(256) SET XACT_ABORT OFF BEGIN TRY if @Jobchainname\r\n is null begin select @JobChainNameAddOn = ' handle object update for object type ' + @objecttype select @Jobchainname =dbo.QBM_FGIJobCreateName ( @JobChainNameAddOn\r\n) end insert into @Parameters (Parameter1, ContentFull) values ('objecttype', @objecttype) , ('WhereClause', @whereclause) , ('WhereClauseAdditional', \r\n@WhereClauseAdditional)  , ( @p1 , @v1 ) , ( @p2 , @v2 ) , ( @p3 , @v3 ) , ( @p4 , @v4 ) , ( @p5 , @v5 ) , ( @p6 , @v6 ) , ( @p7 , @v7 ) , ( @p8 , @v8 \r\n) , ( @p9 , @v9 ) , ( @p10 , @v10 ) , ( @p11 , @v11 ) , ( @p12 , @v12 ) , ( @p13 , @v13 ) , ( @p14 , @v14 ) , ( @p15 , @v15 ) , ( @p16 , @v16 ) , ( @p17\r\n , @v17 ) , ( @p18 , @v18 ) , ( @p19 , @v19 ) , ( @p20 , @v20 ) , ( @p21 , @v21 ) , ( @p22 , @v22 ) , ( @p23 , @v23 ) , ( @p24 , @v24 ) , ( @p25 , @v25\r\n ) , ( @p26 , @v26 ) , ( @p27 , @v27 ) , ( @p28 , @v28 ) , ( @p29 , @v29 ) , ( @p30 , @v30 ) , ( @p31 , @v31 ) if @ConnectionVariables > ' ' begin insert\r\n into @Parameters(Parameter1, ContentFull) values ('ConnectionVariables', @ConnectionVariables) end if @AuthenticationString > ' ' begin insert into @Parameters\r\n(Parameter1, ContentFull) values ('AuthenticationString', @AuthenticationString) end if @SingleTransaction = 0 begin insert into @Parameters(Parameter1\r\n, ContentFull) values ('SingleTransaction', 'FALSE') end exec QBM_PJobCreate 'VI.JobService.JobComponents.HandleObjectComponent' , 'Update' , @Parameters\r\n , @GenProcID , @ObjectKeysAffected , @isToFreezeOnError , @Retries , @priority , @Jobchainname , @StartAt , @BasisObjectKey , @XUser , @QueueName , @checkForExisting\r\n = @checkForExisting END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR \r\n(@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobCreate_HOUpdate_B",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:31.313",
      "ModifyDate": "2026-04-14T23:20:31.313",
      "Definition": "  create   procedure QBM_PJobCreate_HOUpdate_B( @objecttype nvarchar(255),  @whereclause nvarchar(max),  @GenProcID varchar(38) , @AdditionalObjectKeysAffected\r\n QBM_YParameterList readonly  , @ConnectionVariables nvarchar(max) = null , @AuthenticationString nvarchar(max) = null , @SingleTransaction bit = 1 , @p1\r\n nvarchar (1024) = N'', @v1 nvarchar (max) = N'' , @p2 nvarchar (1024) = N'', @v2 nvarchar (max) = N'' , @p3 nvarchar (1024) = N'', @v3 nvarchar (max) \r\n= N'' , @p4 nvarchar (1024) = N'', @v4 nvarchar (max) = N'' , @p5 nvarchar (1024) = N'', @v5 nvarchar (max) = N'' , @p6 nvarchar (1024) = N'', @v6 nvarchar\r\n (max) = N'' , @p7 nvarchar (1024) = N'', @v7 nvarchar (max) = N'' , @p8 nvarchar (1024) = N'', @v8 nvarchar (max) = N'' , @p9 nvarchar (1024) = N'', @v9\r\n nvarchar (max) = N'' , @p10 nvarchar (1024) = N'', @v10 nvarchar (max) = N'' , @p11 nvarchar (1024) = N'', @v11 nvarchar (max) = N'' , @p12 nvarchar (1024\r\n) = N'', @v12 nvarchar (max) = N'' , @p13 nvarchar (1024) = N'', @v13 nvarchar (max) = N'' , @p14 nvarchar (1024) = N'', @v14 nvarchar (max) = N'' , @p15\r\n nvarchar (1024) = N'', @v15 nvarchar (max) = N'' , @p16 nvarchar (1024) = N'', @v16 nvarchar (max) = N'' , @p17 nvarchar (1024) = N'', @v17 nvarchar (max\r\n) = N'' , @p18 nvarchar (1024) = N'', @v18 nvarchar (max) = N'' , @p19 nvarchar (1024) = N'', @v19 nvarchar (max) = N'' , @p20 nvarchar (1024) = N'', @v20\r\n nvarchar (max) = N'' , @p21 nvarchar (1024) = N'', @v21 nvarchar (max) = N'' , @p22 nvarchar (1024) = N'', @v22 nvarchar (max) = N'' , @p23 nvarchar (1024\r\n) = N'', @v23 nvarchar (max) = N'' , @p24 nvarchar (1024) = N'', @v24 nvarchar (max) = N'' , @p25 nvarchar (1024) = N'', @v25 nvarchar (max) = N'' , @p26\r\n nvarchar (1024) = N'', @v26 nvarchar (max) = N'' , @p27 nvarchar (1024) = N'', @v27 nvarchar (max) = N'' , @p28 nvarchar (1024) = N'', @v28 nvarchar (max\r\n) = N'' , @p29 nvarchar (1024) = N'', @v29 nvarchar (max) = N'' , @p30 nvarchar (1024) = N'', @v30 nvarchar (max) = N'' , @p31 nvarchar (1024) = N'', @v31\r\n nvarchar (max) = N'' , @isToFreezeOnError bit = 0 , @Retries int = 0 , @priority int = 5 , @Jobchainname nvarchar(256) = null , @StartAt datetime = null\r\n , @BasisObjectKey varchar(138) = N'' , @XUser nvarchar(64) = null , @WhereClauseAdditional nvarchar(max) = '' , @checkForExisting bit = 0 , @QueueName\r\n nvarchar(256) = null ) as begin declare @XObjectKeysToTransfer QBM_YParameterList declare @SQLCmd nvarchar(max)  SET XACT_ABORT OFF BEGIN TRY if exists\r\n (select top 1 1 from DialogTable t with (readpast) join DialogColumn c with (readpast) on t.UID_DialogTable = c.UID_DialogTable where t.TableName = @objecttype\r\n and c.ColumnName = 'XObjectKey' ) begin select @SQLCmd = N'\r\n\t  select XObjectKey \r\n\t\tfrom ' + @objecttype + N'\r\n\t\twhere ( ' + @whereclause + N' )\r\n\t\torder by 1 '\r\n insert into @XObjectKeysToTransfer(Parameter1) exec sp_executeSQL @SQLCmd exec QBM_PJobCreate_HOUpdate_L @objecttype , @XObjectKeysToTransfer , @GenProcID\r\n , @AdditionalObjectKeysAffected , @ConnectionVariables , @AuthenticationString , @SingleTransaction , @p1 , @v1 , @p2 , @v2 , @p3 , @v3 , @p4 , @v4 , \r\n@p5 , @v5 , @p6 , @v6 , @p7 , @v7 , @p8 , @v8 , @p9 , @v9 , @p10 , @v10 , @p11 , @v11 , @p12 , @v12 , @p13 , @v13 , @p14 , @v14 , @p15 , @v15 , @p16 , \r\n@v16 , @p17 , @v17 , @p18 , @v18 , @p19 , @v19 , @p20 , @v20 , @p21 , @v21 , @p22 , @v22 , @p23 , @v23 , @p24 , @v24 , @p25 , @v25 , @p26 , @v26 , @p27\r\n , @v27 , @p28 , @v28 , @p29 , @v29 , @p30 , @v30 , @p31 , @v31 , @isToFreezeOnError , @Retries , @priority , @Jobchainname , @StartAt , @BasisObjectKey\r\n , @XUser , @WhereClauseAdditional , @checkForExisting , @QueueName end else begin exec QBM_PJobCreate_HOUpdate @objecttype , @whereclause , @GenProcID\r\n , @AdditionalObjectKeysAffected, @p1 , @v1 , @p2 , @v2 , @p3 , @v3 , @p4 , @v4 , @p5 , @v5 , @p6 , @v6 , @p7 , @v7 , @p8 , @v8 , @p9 , @v9 , @p10 , @v10\r\n , @p11 , @v11 , @p12 , @v12 , @p13 , @v13 , @p14 , @v14 , @p15 , @v15 , @p16 , @v16 , @p17 , @v17 , @p18 , @v18 , @p19 , @v19 , @p20 , @v20 , @p21 , @v21\r\n , @p22 , @v22 , @p23 , @v23 , @p24 , @v24 , @p25 , @v25 , @p26 , @v26 , @p27 , @v27 , @p28 , @v28 , @p29 , @v29 , @p30 , @v30 , @p31 , @v31 , @isToFreezeOnError\r\n , @Retries , @priority , @Jobchainname , @StartAt , @BasisObjectKey , @XUser , @WhereClauseAdditional , @checkForExisting , @QueueName end END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END \r\nCATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobCreate_HOUpdate_L",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:00:59.873",
      "ModifyDate": "2026-04-14T23:20:31.28",
      "Definition": " create   procedure QBM_PJobCreate_HOUpdate_L( @objecttype nvarchar(255),  @XObjectKeys QBM_YParameterList readonly,  @GenProcID varchar(38) , @AdditionalObjectKeysAffected\r\n QBM_YParameterList readonly    , @ConnectionVariables nvarchar(max) = null , @AuthenticationString nvarchar(max) = null , @SingleTransaction bit = 1 ,\r\n @p1 nvarchar (1024) = N'', @v1 nvarchar (max) = N'' , @p2 nvarchar (1024) = N'', @v2 nvarchar (max) = N'' , @p3 nvarchar (1024) = N'', @v3 nvarchar (max\r\n) = N'' , @p4 nvarchar (1024) = N'', @v4 nvarchar (max) = N'' , @p5 nvarchar (1024) = N'', @v5 nvarchar (max) = N'' , @p6 nvarchar (1024) = N'', @v6 nvarchar\r\n (max) = N'' , @p7 nvarchar (1024) = N'', @v7 nvarchar (max) = N'' , @p8 nvarchar (1024) = N'', @v8 nvarchar (max) = N'' , @p9 nvarchar (1024) = N'', @v9\r\n nvarchar (max) = N'' , @p10 nvarchar (1024) = N'', @v10 nvarchar (max) = N'' , @p11 nvarchar (1024) = N'', @v11 nvarchar (max) = N'' , @p12 nvarchar (1024\r\n) = N'', @v12 nvarchar (max) = N'' , @p13 nvarchar (1024) = N'', @v13 nvarchar (max) = N'' , @p14 nvarchar (1024) = N'', @v14 nvarchar (max) = N'' , @p15\r\n nvarchar (1024) = N'', @v15 nvarchar (max) = N'' , @p16 nvarchar (1024) = N'', @v16 nvarchar (max) = N'' , @p17 nvarchar (1024) = N'', @v17 nvarchar (max\r\n) = N'' , @p18 nvarchar (1024) = N'', @v18 nvarchar (max) = N'' , @p19 nvarchar (1024) = N'', @v19 nvarchar (max) = N'' , @p20 nvarchar (1024) = N'', @v20\r\n nvarchar (max) = N'' , @p21 nvarchar (1024) = N'', @v21 nvarchar (max) = N'' , @p22 nvarchar (1024) = N'', @v22 nvarchar (max) = N'' , @p23 nvarchar (1024\r\n) = N'', @v23 nvarchar (max) = N'' , @p24 nvarchar (1024) = N'', @v24 nvarchar (max) = N'' , @p25 nvarchar (1024) = N'', @v25 nvarchar (max) = N'' , @p26\r\n nvarchar (1024) = N'', @v26 nvarchar (max) = N'' , @p27 nvarchar (1024) = N'', @v27 nvarchar (max) = N'' , @p28 nvarchar (1024) = N'', @v28 nvarchar (max\r\n) = N'' , @p29 nvarchar (1024) = N'', @v29 nvarchar (max) = N'' , @p30 nvarchar (1024) = N'', @v30 nvarchar (max) = N'' , @p31 nvarchar (1024) = N'', @v31\r\n nvarchar (max) = N'' , @isToFreezeOnError bit = 0 , @Retries int = 0 , @priority int = 5 , @Jobchainname nvarchar(256) = null , @StartAt datetime = null\r\n , @BasisObjectKey varchar(138) = N'' , @XUser nvarchar(64) = null , @WhereClauseAdditional nvarchar(max) = '' , @checkForExisting bit = 0 , @QueueName\r\n nvarchar(256) = null ) as begin declare @Portion int declare @PortionMax int declare @ElementsMax int declare @ElementsLen int declare @AllObjectKeysIn\r\n QBM_YObjectKeyAndPortion SET XACT_ABORT OFF BEGIN TRY select top 1 @ElementsLen = len(Parameter1) from @XObjectKeys if isnull(@ElementsLen, 0) = 0 begin\r\n goto endLabel end select @ElementsMax = 20000 / @ElementsLen if @ElementsMax > 450 begin select @ElementsMax = 450 end insert into @AllObjectKeysIn (ObjectKey\r\n, Portion) select o.Parameter1 , ((ROW_NUMBER() over( order by o.Parameter1) ) / @ElementsMax) + 1 from @XObjectKeys o select @PortionMax = max(i.Portion\r\n) , @Portion = 1 from @AllObjectKeysIn i while @Portion <= @PortionMax begin exec QBM_P5B4330B39CD566AFFB80402_ @Portion = @Portion , @AllObjectKeysIn \r\n= @AllObjectKeysIn  , @objecttype = @objecttype     , @GenProcID = @GenProcID , @AdditionalObjectKeysAffected = @AdditionalObjectKeysAffected   , @ConnectionVariables\r\n = @ConnectionVariables , @AuthenticationString = @AuthenticationString , @SingleTransaction = @SingleTransaction , @p1 = @p1, @v1 = @v1, @p2 = @p2 , @v2\r\n = @v2, @p3 = @p3, @v3 = @v3, @p4 = @p4, @v4 = @v4, @p5 = @p5, @v5 = @v5, @p6 = @p6, @v6 = @v6, @p7 = @p7, @v7 = @v7, @p8 = @p8, @v8 = @v8, @p9 = @p9, \r\n@v9 = @v9, @p10 = @p10, @v10 = @v10, @p11 = @p11, @v11 = @v11, @p12 = @p12, @v12 = @v12, @p13 = @p13, @v13 = @v13, @p14 = @p14, @v14 = @v14, @p15 = @p15\r\n, @v15 = @v15, @p16 = @p16, @v16 = @v16, @p17 = @p17, @v17 = @v17, @p18 = @p18, @v18 = @v18, @p19 = @p19, @v19 = @v19, @p20 = @p20, @v20 = @v20, @p21 =\r\n @p21, @v21 = @v21, @p22 = @p22, @v22 = @v22, @p23 = @p23, @v23 = @v23, @p24 = @p24, @v24 = @v24, @p25 = @p25, @v25 = @v25, @p26 = @p26, @v26 = @v26, @p27\r\n = @p27, @v27 = @v27, @p28 = @p28, @v28 = @v28, @p29 = @p29, @v29 = @v29, @p30 = @p30, @v30 = @v30, @p31 = @p31, @v31 = @v31 , @isToFreezeOnError = @isToFreezeOnError\r\n , @Retries = @Retries , @priority = @priority , @Jobchainname = @Jobchainname , @StartAt = @StartAt , @BasisObjectKey = @BasisObjectKey , @XUser = @XUser\r\n , @WhereClauseAdditional = @WhereClauseAdditional , @checkForExisting = @checkForExisting , @QueueName = @QueueName select @Portion += 1 end END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END \r\nCATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobCreate_Mnt",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.17",
      "ModifyDate": "2026-04-14T23:20:31.667",
      "Definition": "   create   procedure QBM_PJobCreate_Mnt (@SQLCmd nvarchar(max) , @GenProcID varchar(38) )  as begin declare @Parameters QBM_YParameterList declare\r\n @ComponentClass nvarchar(256) = 'VI.JobService.JobComponents.SQLComponent' declare @TaskName nvarchar(64) = 'Execute SQL' declare @QueueName nvarchar(128\r\n) = 'QBM_PWorkMaintenance' SET XACT_ABORT OFF BEGIN TRY insert into @Parameters (Parameter1, ContentFull) values ('SQLStmt', @sqlcmd) , ('WithoutTransaction'\r\n, '1')  if not exists (select top 1 1 from JobQueue q with (readpast) where q.ComponentClass = @ComponentClass and q.TaskName = @TaskName and q.Queue =\r\n @QueueName and q.ParamIN like CONCAT('%', replace(@SQLCmd, '''', ''''''), '%')  ) begin exec QBM_PJobCreate @ComponentClass , @TaskName , @Parameters \r\n, @GenProcID , @ObjectKeysAffected = default , @QueueName = @QueueName end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar\r\n(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobCreate_SendMail",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.147",
      "ModifyDate": "2026-04-14T23:20:31.63",
      "Definition": "  create   procedure QBM_PJobCreate_SendMail ( @Subject nvarchar(255), @Message nvarchar(max) = N'', @Address nvarchar (1024) = N'', @Senderaddress\r\n nvarchar(1024) = N'', @cc nvarchar(255) = N'', @Bcc nvarchar(255) = N'', @StartAt datetime = NULL , @priority int = 1, @Xuserinserted nvarchar(64) = N''\r\n, @GenProcID varchar(38) = N'', @checkForExisting bit = 0   , @AdditionalObjectKeysAffected QBM_YParameterList readonly  ,@AdditionalMessage nvarchar(max\r\n) = N'' , @QueueName nvarchar(256) = null )as begin SET XACT_ABORT OFF BEGIN TRY if isnull(@Address, N'') = N'' begin select top 1 @Address = value from\r\n dialogconfigparm where fullpath = N'Common\\MailNotification\\DefaultAddress' end if isnull(@Senderaddress, N'') = N'' begin select top 1 @Senderaddress\r\n = value from dialogconfigparm where fullpath = N'Common\\MailNotification\\DefaultSender' end  exec QBM_PJobCreate_HOFireEvent @objecttype = 'DialogDatabase'\r\n, @whereclause = 'IsMainDatabase = 1', @EventName = 'SendMail', @GenProcID = @GenProcID, @ObjectKeysAffected = @AdditionalObjectKeysAffected, @p2 = N'_paramName1'\r\n, @v2 = N'pcSubject', @p3 = N'_paramValue1', @v3 = @Subject, @p4 = N'_paramName2', @v4 = N'pcMessage' , @p5 = N'_paramValue2' , @v5 = @Message , @p6 = \r\nN'_paramName3', @v6 = N'pcAddress' , @p7 = N'_paramValue3', @v7 = @Address , @p8 = N'_paramName4', @v8 = N'pcSenderaddress' , @p9 = N'_paramValue4', @v9\r\n = @Senderaddress , @p10 = N'_paramName5', @v10 = N'pccc' , @p11 = N'_paramValue5', @v11 = @cc , @p12 = N'_paramName6', @v12 = N'pcBcc' , @p13 = N'_paramValue6'\r\n, @v13 = @Bcc , @p14 = N'_paramName7', @v14 = N'pcAttachment' , @p15 = N'_paramValue7', @v15 = N'' , @p16 = N'_paramName8', @v16 = N'pcAdditionalMessage'\r\n , @p17 = N'_paramValue8', @v17 = @AdditionalMessage, @Priority = 12  , @checkForExisting = @checkForExisting , @QueueName = @QueueName , @StartAt = @StartAt\r\n , @XUser = @XUserInserted END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR\r\n (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobCreate_SendRMail",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.153",
      "ModifyDate": "2026-04-14T23:20:31.64",
      "Definition": " create   procedure QBM_PJobCreate_SendRMail ( @uid_DialogRichMail varchar(38), @BasisObject varchar(138) = N'', @Address nvarchar (2000) = N'',\r\n @Senderaddress nvarchar(255) = N'', @cc nvarchar(2000) = N'', @Bcc nvarchar(2000) = N'', @StartAt datetime = NULL , @priority int = 1, @Xuserinserted \r\nnvarchar(64) = N'', @GenProcID varchar(38) = N'', @AdditionalObjectKeysAffected QBM_YParameterList readonly  ,@checkForExisting bit = 0   , @QueueName \r\nnvarchar(256) = null )as begin SET XACT_ABORT OFF BEGIN TRY exec QBM_PJobCreate_HOFireEvent @objecttype = 'DialogDatabase', @whereclause = 'IsMainDatabase = 1'\r\n, @EventName = 'SendRichMail', @GenProcID = @GenProcID, @ObjectKeysAffected = @AdditionalObjectKeysAffected, @p2 = N'_paramName1', @v2 = N'pcMailID', @p3\r\n = N'_paramValue1', @v3 = @uid_DialogRichMail, @p4 = N'_paramName2', @v4 = N'pcBaseObject' , @p5 = N'_paramValue2' , @v5 = @BasisObject , @p6 = N'_paramName3'\r\n, @v6 = N'pcAddress' , @p7 = N'_paramValue3', @v7 = @Address , @p8 = N'_paramName4', @v8 = N'pcSenderaddress' , @p9 = N'_paramValue4', @v9 = @Senderaddress\r\n , @p10 = N'_paramName5', @v10 = N'pccc' , @p11 = N'_paramValue5', @v11 = @cc , @p12 = N'_paramName6', @v12 = N'pcBcc' , @p13 = N'_paramValue6', @v13 =\r\n @Bcc , @p14 = N'_paramName7', @v14 = N'pcAttachment' , @p15 = N'_paramValue7', @v15 = N'' , @Priority = 12, @checkForExisting = @checkForExisting  , @QueueName\r\n = @QueueName , @XUser = @Xuserinserted , @StartAt = @StartAt END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobCreate_SQLDel",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.11",
      "ModifyDate": "2026-04-14T23:20:31.577",
      "Definition": "  create   procedure QBM_PJobCreate_SQLDel (@TableToDelete varchar (30) , @whereclause nvarchar(max) , @GenProcID varchar(38) , @ObjectKeysAffected\r\n QBM_YParameterList readonly , @isToFreezeOnError bit = 0 , @Retries int = 0 , @priority int = 5 , @Jobchainname nvarchar(256) = null , @StartAt datetime\r\n = null , @BasisObjectKey varchar(138) = N'' , @XUser nvarchar(64) = null , @WhereClauseAdditional nvarchar(max) = '' , @checkForExisting bit = 0  , @QueueName\r\n nvarchar(256) = null ) as begin  declare @SQLCmd nvarchar(max)  declare @Parameters QBM_YParameterList declare @JobChainNameAddOn nvarchar(256) SET XACT_ABORT\r\n OFF BEGIN TRY if @Jobchainname is null begin select @JobChainNameAddOn = ' delete in table ' + @TableToDelete select @Jobchainname =dbo.QBM_FGIJobCreateName\r\n ( @JobChainNameAddOn) end if ISNULL(@BasisObjectKey, '') = '' begin select top 1 @BasisObjectKey = dbo.QBM_FCVElementToObjectKey1('DialogTable', 'UID_DialogTable'\r\n, t.UID_DialogTable) from DialogTable t where t.TableName = @TableToDelete end  if not exists (select top 1 1 from DialogTable where TableName = @TableToDelete\r\n and IsDeactivatedByPreProcessor = 0 ) begin  goto ende end select @sqlcmd = N'delete ' + @TableToDelete + N' where ' +  case when ISNULL(@WhereClauseAdditional\r\n, '') = '' then @whereclause else '(' + @WhereClause + ') and (' + @WhereClauseAdditional + ')' end  if isnull(@sqlcmd, '') = '' begin goto ende end  insert\r\n into @Parameters (Parameter1, ContentFull) values ('SQLStmt', @sqlcmd) exec QBM_PJobCreate 'VI.JobService.JobComponents.SQLComponent' , 'Execute SQL' \r\n, @Parameters , @GenProcID , @ObjectKeysAffected , @isToFreezeOnError , @Retries , @priority , @Jobchainname , @StartAt , @BasisObjectKey , @XUser , @QueueName\r\n , @checkForExisting = 0    END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR\r\n (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobCreate_SQLDel_B",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.137",
      "ModifyDate": "2026-04-14T23:20:31.62",
      "Definition": "  create   procedure QBM_PJobCreate_SQLDel_B (@TableToDelete varchar (30) , @whereclause nvarchar(max) , @GenProcID varchar(38) , @AdditionalObjectKeysAffected\r\n QBM_YParameterList readonly  , @isToFreezeOnError bit = 0 , @Retries int = 0 , @priority int = 5 , @Jobchainname nvarchar(256) = null , @StartAt datetime\r\n = null , @BasisObjectKey varchar(138) = N'' , @XUser nvarchar(64) = null , @WhereClauseAdditional nvarchar(max) = '' , @checkForExisting bit = 0  , @QueueName\r\n nvarchar(256) = null ) as begin  declare @XObjectKeysToDelete QBM_YParameterList declare @SQLCmd nvarchar(max)  SET XACT_ABORT OFF BEGIN TRY if ISNULL\r\n(@BasisObjectKey, '') = '' begin select top 1 @BasisObjectKey = dbo.QBM_FCVElementToObjectKey1('DialogTable', 'UID_DialogTable', t.UID_DialogTable) from\r\n DialogTable t where t.TableName = @TableToDelete end  if not exists (select top 1 1 from DialogTable where TableName = @TableToDelete and IsDeactivatedByPreProcessor\r\n = 0 ) begin  goto ende end if exists (select top 1 1 from DialogTable t with (readpast) join DialogColumn c with (readpast) on t.UID_DialogTable = c.UID_DialogTable\r\n where t.TableName = @TableToDelete and c.ColumnName = 'XObjectKey' ) begin select @SQLCmd = N'\r\n\t  select XObjectKey \r\n\t\tfrom ' + @TableToDelete + N'\r\n\t\twhere ( '\r\n + @whereclause + N' )\r\n\t\torder by 1 ' insert into @XObjectKeysToDelete(Parameter1) exec sp_executeSQL @SQLCmd exec QBM_PJobCreate_SQLDel_L @TableToDelete\r\n , @XObjectKeysToDelete , @GenProcID , @AdditionalObjectKeysAffected , @isToFreezeOnError , @Retries , @priority , @Jobchainname , @StartAt , @BasisObjectKey\r\n , @XUser , @WhereClauseAdditional , @checkForExisting , @QueueName end else begin exec QBM_PJobCreate_SQLDel @TableToDelete , @whereclause , @GenProcID\r\n , @AdditionalObjectKeysAffected , @isToFreezeOnError , @Retries , @priority , @Jobchainname , @StartAt , @BasisObjectKey , @XUser , @WhereClauseAdditional\r\n , @checkForExisting , @QueueName end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobCreate_SQLDel_L",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.12",
      "ModifyDate": "2026-04-14T23:20:31.593",
      "Definition": "  create   procedure QBM_PJobCreate_SQLDel_L (@TableToDelete varchar (30) , @XObjectKeysToDelete QBM_YParameterList readOnly , @GenProcID varchar\r\n(38) , @AdditionalObjectKeysAffected QBM_YParameterList readOnly    , @isToFreezeOnError bit = 0 , @Retries int = 0 , @priority int = 5 , @Jobchainname\r\n nvarchar(256) = null , @StartAt datetime = null , @BasisObjectKey varchar(138) = N'' , @XUser nvarchar(64) = null , @WhereClauseAdditional nvarchar(max\r\n) = '' , @checkForExisting bit = 0  , @QueueName nvarchar(256) = null ) as begin declare @Portion int declare @PortionMax int declare @ElementsMax int \r\ndeclare @ElementsLen int declare @AllObjectKeysIn QBM_YObjectKeyAndPortion SET XACT_ABORT OFF BEGIN TRY if ISNULL(@BasisObjectKey, '') = '' begin select\r\n top 1 @BasisObjectKey = dbo.QBM_FCVElementToObjectKey1('DialogTable', 'UID_DialogTable', t.UID_DialogTable) from DialogTable t where t.TableName = @TableToDelete\r\n end  if not exists (select top 1 1 from DialogTable where TableName = @TableToDelete and IsDeactivatedByPreProcessor = 0 ) begin  goto endLabel end select\r\n top 1 @ElementsLen = len(Parameter1) from @XObjectKeysToDelete if isnull(@ElementsLen, 0) = 0 begin goto endLabel end select @ElementsMax = 20000 / @ElementsLen\r\n if @ElementsMax > 450 begin select @ElementsMax = 450 end insert into @AllObjectKeysIn (ObjectKey, Portion) select o.Parameter1 , ((ROW_NUMBER() over(\r\n order by o.Parameter1) ) / @ElementsMax) + 1 from @XObjectKeysToDelete o select @PortionMax = max(i.Portion) , @Portion = 1 from @AllObjectKeysIn i while\r\n @Portion <= @PortionMax begin exec QBM_PDCB6A2129D7D15765BA077A_ @Portion = @Portion , @AllObjectKeysIn = @AllObjectKeysIn  , @TableToDelete = @TableToDelete\r\n , @GenProcID = @GenProcID , @AdditionalObjectKeysAffected = @AdditionalObjectKeysAffected , @isToFreezeOnError = @isToFreezeOnError , @Retries = @Retries\r\n , @priority = @priority , @Jobchainname = @Jobchainname , @StartAt = @StartAt , @BasisObjectKey = @BasisObjectKey , @XUser = @XUser , @WhereClauseAdditional\r\n = @WhereClauseAdditional , @checkForExisting = @checkForExisting , @QueueName = @QueueName select @Portion += 1 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobCreate_SQLProc",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.163",
      "ModifyDate": "2026-04-14T23:20:31.653",
      "Definition": "  create   procedure QBM_PJobCreate_SQLProc (@ProcedureName varchar (30) , @WithoutTransaction varchar(20)  , @GenProcID varchar(38) , @isToFreezeOnError\r\n bit = 0 , @Retries int = 0 , @priority int = 5 , @Jobchainname nvarchar(256) = null , @StartAt datetime = null , @BasisObjectKey varchar(138) = N'' , \r\n@XUser nvarchar(64) = null , @WhereClauseAdditional nvarchar(max) = ''  , @checkForExisting bit = 0 , @QueueName nvarchar(256) = null ) as begin  declare\r\n @SQLCmd nvarchar(max)  declare @ObjectKeysAffected QBM_YParameterList declare @Parameters QBM_YParameterList declare @JobChainNameAddOn nvarchar(256) \r\nSET XACT_ABORT OFF BEGIN TRY if @Jobchainname is null begin select @JobChainNameAddOn = ' call procedure ' + @ProcedureName select @Jobchainname =dbo.QBM_FGIJobCreateName\r\n ( @JobChainNameAddOn) end if isnull(@WithoutTransaction, '') = '' begin select @WithoutTransaction = 'True' end select @sqlcmd = N'exec  ' + @ProcedureName\r\n  insert into @Parameters (Parameter1, ContentFull) values ('SQLStmt', @sqlcmd) , ('WithoutTransaction', @WithoutTransaction) exec QBM_PJobCreate 'VI.JobService.JobComponents.SQLComponent'\r\n , 'Execute SQL' , @Parameters = @Parameters , @GenProcID = @GenProcID , @ObjectKeysAffected = default , @isToFreezeOnError = @isToFreezeOnError , @Retries\r\n = @Retries , @priority = @priority , @Jobchainname = @Jobchainname , @StartAt = @StartAt , @BasisObjectKey = @BasisObjectKey , @XUser = @XUser , @QueueName\r\n = @QueueName , @checkForExisting = @checkForExisting  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobHistoryShrink",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.23",
      "ModifyDate": "2026-04-14T23:20:25.92",
      "Definition": "create   procedure QBM_PJobHistoryShrink (@KeyPattern varchar(25) = '%'  ) as begin declare @GrenzDatum datetime declare @ReadyForDeleteOrExport\r\n int declare @BlockSize int = 100000 declare @lauf int SET XACT_ABORT OFF BEGIN TRY exec QBM_PDialogProcessGetShrinkDef 'JobHistory', @ReadyForDeleteOrExport\r\n output, @GrenzDatum output if @ReadyForDeleteOrExport = 0  begin goto EndLabel end  select @lauf = 1 while @lauf > 0 begin exec @lauf = QBM_PF84975544A6AEABC94405E1_a\r\n @Blocksize, @ReadyForDeleteOrExport, @KeyPattern, @GrenzDatum end     END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000\r\n) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH EndLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobPerformanceUpdate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.197",
      "ModifyDate": "2026-04-14T23:20:31.7",
      "Definition": "    create   procedure QBM_PJobPerformanceUpdate (@Queue nvarchar(255) ,  @PerfValues nvarchar(max)  )  as begin SET XACT_ABORT OFF BEGIN TRY   \r\nmerge into JobPerformance as t using ( select dbo.QBM_FCVStringToGUID('', UPPER(concat( @Queue, x.ComponentClass, x.TaskName ))) as UID_JobPerformance \r\n, x.ComponentClass as ComponentClass, x.TaskName as TaskName, x.Countperminute as Countperminute from ( select left(sp.parametername, charindex('|', sp.parametername\r\n) -1 ) as ComponentClass , substring(sp.parametername, charindex('|', sp.parametername) +1 , 255 ) as TaskName , dbo.QBM_FCVStringToInt(sp.parametervalue\r\n, 0) as CountPerMinute from dbo.QBM_FCVStringToListSplitted(@PerfValues, nchar(7), 0, 0 , N'=') sp ) as x ) as s on t.UID_JobPerformance = s.UID_JobPerformance\r\n when matched and t.CountPerMinute <> s.CountPerMinute then update set t.CountPerMinute = s.CountPerMinute when not matched by target then insert(UID_JobPerformance\r\n, Queue, ComponentClass , TaskName , CountPerMinute) values (s.UID_JobPerformance, @queue, s.ComponentClass , s.TaskName , s.CountPerMinute) ; END TRY \r\nBEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT\r\n END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobQueueDelete",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.21",
      "ModifyDate": "2026-04-14T23:20:31.72",
      "Definition": "  create   procedure QBM_PJobQueueDelete ( @RowLimit int = 50  , @MaxLimit int = 30000  ) as begin declare @Trees QBM_YParameterList declare @TreePortion\r\n QBM_YParameterList declare @einRuck int  declare @LaufDelete int = 0 declare @AnzahlLoesch int declare @AnzahlLoeschGesamt int = 0 declare @justNow datetime\r\n = getUTCDate() declare @DebugSwitch int = 0 declare @DebugLevel char(1) = 'I' declare @DebugMessage nvarchar(1000) declare @Start datetime declare @ende\r\n datetime declare @diff int declare @ExpectedRuntime float = 1000.0  declare @HistoryEntries QBM_YJobQueueShadow declare @anzahl int SET XACT_ABORT OFF\r\n BEGIN TRY set lock_timeout 50 select @anzahl = dbo.QBM_FGITableCountAll('JobQueue') if @anzahl > 0 begin goto normal end if @anzahl = 0 and @@TRANCOUNT\r\n = 0  begin begin transaction BEGIN TRY  update JobQueue set MinutesToDefer = q.MinutesToDefer from JobQueue q with (tablockx) END TRY BEGIN CATCH select\r\n @anzahl = 1  END CATCH  if dbo.QBM_FGITableCountAll('JobQueue') = 0 and @anzahl = 0 begin BEGIN TRY  truncate table QBMElementAffectedByJob truncate table\r\n JobQueue  commit select @LaufDelete = 1 END TRY BEGIN CATCH   rollback END CATCH end else begin  rollback end end if @LaufDelete = 1 begin goto endLabel\r\n end normal: insert into @HistoryEntries ( ComponentAssembly, ComponentClass, EndedAt, JobChainName, ParamIN, Priority, Queue, StartAt, TaskName, UID_Job\r\n,  UID_Tree, WasError, XDateInserted, XDateUpdated, XUserInserted, XUserUpdated, IsRootJob, UID_JobError, UID_JobSuccess, GenProcID, UID_JobOrigin, BasisObjectKey\r\n, ErrorMessages  , LogMode, Ready2EXE)  select q.ComponentAssembly, q.ComponentClass, isnull(q.xdateupdated, GETUTCDATE()) as EndedAt, q.JobChainName, \r\ndbo.QBM_FCVJobParamDeflate (q.ComponentClass, q.TaskName, q.ParamIN), q.Priority, q.Queue, q.StartAt, q.TaskName, q.UID_Job,  q.UID_Tree, q.WasError, q.XDateInserted\r\n, q.XDateUpdated, q.XUserInserted, q.XUserUpdated, q.IsRootJob, e.UID_Job, s.UID_Job, q.GenProcID, q.UID_JobOrigin, q.BasisObjectKey, q.ErrorMessages ,\r\n q.LogMode , q.Ready2EXE  from ( select distinct top (@MaxLimit) qt.UID_Tree from JobQueue qt with (readpast) where qt.Ready2EXE = N'HISTORY' ) t join \r\nJobQueue q with (readpast) on t.UID_Tree = q.UID_Tree left outer join JobQueue e with (readpast) on q.UID_Tree = e.UID_Tree and q.UID_JobError = e.UID_Job\r\n and e.Ready2EXE in ( N'FINISHED', N'HISTORY') left outer join JobQueue s with (readpast) on q.UID_Tree = s.UID_Tree and q.UID_JobSuccess = s.UID_Job and\r\n s.Ready2EXE in ( N'FINISHED', N'HISTORY') where  q.Ready2EXE in ( N'FINISHED', N'HISTORY') if @@ROWCOUNT = 0 begin goto loeschen end insert into @Trees\r\n (Parameter1 , ContentFull ) select distinct q.UID_Tree , '' from @HistoryEntries q  if exists (select top 1 1 from @Trees t join JobTreeParamColl co with\r\n (readpast) on co.UID_Tree = t.Parameter1  ) begin  update @Trees set ContentFull  = dbo.QBM_FCVJobParameterToString(t.Parameter1 ) from @Trees t  update\r\n @Trees set ContentFull  = SUBSTRING(t.ContentFull , 2 , LEN(t.ContentFull ) -1) from @Trees t where t.ContentFull  > ' ' update @Trees set ContentFull\r\n  = '' from @Trees t where t.ContentFull  is null end insert into JobHistory ( ComponentAssembly, ComponentClass, EndedAt, JobChainName, ParamIN, Priority\r\n, Queue, StartAt, TaskName, UID_Job, UID_JobHistory, UID_Tree, WasError, XDateInserted, XDateUpdated, XUserInserted, XUserUpdated, IsRootJob, UID_JobError\r\n, UID_JobSuccess, GenProcID, UID_JobOrigin, BasisObjectKey, ErrorMessages  , LogMode)  select q.ComponentAssembly, q.ComponentClass, q.EndedAt, q.JobChainName\r\n, dbo.QBM_FCVJobParamDeflate (q.ComponentClass, q.TaskName, q.ParamIN + t.ContentFull ), q.Priority, q.Queue, q.StartAt, q.TaskName, q.UID_Job, newid()\r\n, q.UID_Tree, q.WasError, q.XDateInserted, q.XDateUpdated, q.XUserInserted, q.XUserUpdated, q.IsRootJob, q.UID_JobError, q.UID_JobSuccess, q.GenProcID,\r\n q.UID_JobOrigin, q.BasisObjectKey, q.ErrorMessages , q.LogMode  from @HistoryEntries q join @Trees t on q.UID_Tree = t.Parameter1  where not exists (select\r\n top 1 1 from JobHistory h where h.UID_Tree = q.UID_Tree and h.UID_Job = q.UID_Job )  loeschen:  insert into @Trees (Parameter1 ) select distinct top (@MaxLimit\r\n) qt.UID_Tree from JobQueue qt with (readpast) where ready2exe = N'DELETE' select @LaufDelete = 1 select @einRuck = @RowLimit while @LaufDelete > 0 begin\r\n select @Start = getutcdate() delete  @TreePortion  insert into @TreePortion (Parameter1 ) select top (@einRuck) t.Parameter1 from @Trees t where t.HasContentFull\r\n = 0  select @LaufDelete = @@ROWCOUNT if @LaufDelete = 0 begin continue end update @Trees set HasContentFull = 1  from @Trees t join @TreePortion p on \r\nt.Parameter1 = p.Parameter1  BEGIN TRY delete Jobqueue where UID_Tree in (select t.Parameter1  from @TreePortion t ) select @AnzahlLoesch = @@rowcount \r\nEND TRY BEGIN CATCH  select @AnzahlLoesch = 0 exec QBM_PWaitForSeconds 0.05 end CATCH select @AnzahlLoeschGesamt += @AnzahlLoesch select @ende = getutcdate\r\n() select @diff = DATEDIFF(ms, @start, @ende) select @einRuck = case when @diff = 0 then @RowLimit when @AnzahlLoesch = 0 then @RowLimit when @diff > @ExpectedRuntime\r\n then @RowLimit else convert(int, @ExpectedRuntime * convert(float, @einRuck) / convert(float, @diff)) end  end  if (@AnzahlLoeschGesamt > 0) begin if \r\n('1' = dbo.QBM_FGIConfigparmValue('Common\\JobQueueStats')) begin  insert into JobQueueStats (UID_JobQueueStats, queue , jobYear, jobMonth , jobDay , jobHour\r\n , countInserted, countActivated, countDeleted ) select 'XX'+convert(varchar(64), newid()), N'' , year(@justNow) ,month(@justNow) ,day( @justNow) , datepart\r\n(hh,@justNow) , 0, 0, (-1) * @AnzahlLoeschGesamt end end  if @DebugSwitch > 0 begin select @DebugMessage = 'count entries in Jobqueue deleted ' + STR(@AnzahlLoeschGesamt\r\n) exec QBM_PJournal @debugmessage, @@PROCID, 'I', @debuglevel end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) \r\n= dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return (@AnzahlLoeschGesamt) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobQueueDelete_Bulk",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.56",
      "ModifyDate": "2026-04-14T23:20:32.003",
      "Definition": "   create   procedure QBM_PJobQueueDelete_Bulk (@TreesToDelete QBM_YParameterList readonly  ) as begin declare @Trees QBM_YParameterList declare\r\n @AnzahlLoeschGesamt int   declare @DebugSwitch int = 0 declare @DebugLevel char(1) = 'I' declare @DebugMessage nvarchar(1000) declare @Message nvarchar\r\n(1000) = '#LDS#Jobqueue entry deleted by procedure QBM_PJobQueueDelete_Bulk. Last state was {0}.|%Ready2EXE%|' declare @ToHistory bit = 0 SET XACT_ABORT\r\n OFF BEGIN TRY    if dbo.QBM_FGIMaintenanceRunning_M(1) > ' ' begin raiserror ('#LDS#Database is in maintenance mode, action could not be executed.|', \r\n18, 1) with nowait end  if dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\JobHistory') > ' ' begin select @ToHistory = 1 end insert into @Trees (Parameter1\r\n , ContentFull ) select t.Parameter1, '' from @TreesToDelete t  where not exists (select top 1 1 from JobQueue q with (readpast) where q.UID_Tree = t.Parameter1\r\n and q.Ready2EXE in (N'HISTORY', N'DELETE') ) select @AnzahlLoeschGesamt = @@rowcount  if exists (select top 1 1 from @Trees t join JobTreeParamColl co\r\n on co.UID_Tree = t.Parameter1  ) begin  update @Trees set HasContentFull = 1 from @Trees t where exists (select top 1 1 from JobTreeParamColl co where\r\n co.UID_Tree = t.Parameter1 )  update @Trees set ContentFull  = dbo.QBM_FCVJobParameterToString(t.Parameter1 ) from @Trees t where t.HasContentFull = 1\r\n  update @Trees set ContentFull  = SUBSTRING(t.ContentFull , 2 , LEN(t.ContentFull ) -1) from @Trees t where t.ContentFull  > ' ' update @Trees set ContentFull\r\n  = '' from @Trees t where t.ContentFull  is null end if @ToHistory = 1 begin  insert into JobHistory ( ComponentAssembly, ComponentClass , EndedAt , JobChainName\r\n, ParamIN, Priority, Queue, StartAt, TaskName, UID_Job, UID_JobHistory, UID_Tree, WasError, XDateInserted, XDateUpdated, XUserInserted, XUserUpdated, IsRootJob\r\n, UID_JobError, UID_JobSuccess, GenProcID, UID_JobOrigin, BasisObjectKey , ErrorMessages  , LogMode)  select q.ComponentAssembly, q.ComponentClass   , \r\nisnull(q.xdateupdated, getutcdate()) as EndedAt     , q.JobChainName, dbo.QBM_FCVJobParamDeflate (q.ComponentClass, q.TaskName, q.ParamIN + t.ContentFull\r\n ), q.Priority, q.Queue, q.StartAt, q.TaskName, q.UID_Job, newid(), q.UID_Tree, q.WasError, q.XDateInserted, q.XDateUpdated, q.XUserInserted, q.XUserUpdated\r\n, q.IsRootJob, e.UID_Job, s.UID_Job, q.GenProcID, q.UID_JobOrigin, q.BasisObjectKey , dbo.QBM_FGIJobQueueMessageAdd(q.ErrorMessages, replace(@Message, \r\n'%Ready2EXE%', q.Ready2EXE))  , q.LogMode  from @Trees t join JobQueue q on t.Parameter1  = q.UID_Tree left outer join JobQueue e on q.UID_Tree = e.UID_Tree\r\n and q.UID_JobError = e.UID_Job  left outer join JobQueue s on q.UID_Tree = s.UID_Tree and q.UID_JobSuccess = s.UID_Job  where not exists (select top 1\r\n 1 from JobHistory h where h.UID_Tree = q.UID_Tree and h.UID_Job = q.UID_Job ) end   delete Jobqueue where UID_Tree in ( select t.Parameter1 from @Trees\r\n t ) if @DebugSwitch > 0 begin select @DebugMessage = 'count entries in Jobqueue deleted ' + STR(@AnzahlLoeschGesamt) exec QBM_PJournal @debugmessage, \r\n@@PROCID, 'I', @debuglevel end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() \r\nRAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return (@AnzahlLoeschGesamt) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobQueueDelete_Single",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.577",
      "ModifyDate": "2026-04-14T23:20:32.017",
      "Definition": "  create   procedure QBM_PJobQueueDelete_Single (@UID_Tree varchar(38) ) as begin declare @TreesToDelete QBM_YParameterList declare @AnzahlLoeschGesamt\r\n int SET XACT_ABORT OFF BEGIN TRY insert into @TreesToDelete(Parameter1) values (@UID_Tree) exec @AnzahlLoeschGesamt = QBM_PJobQueueDelete_Bulk @TreesToDelete\r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH\r\n NOWAIT END CATCH endLabel: return (@AnzahlLoeschGesamt) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobQueueInit",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.243",
      "ModifyDate": "2026-04-14T23:20:31.763",
      "Definition": "   create   procedure QBM_PJobQueueInit (@queue nvarchar(255) , @SessionID varchar(38) = ''  , @MaxWaitTimeForLock_s int = 40  ) as begin declare\r\n @TestBetrieb bit = 0 declare @RCAppLockRequest int = 0 declare @MyName nvarchar(64) = object_name(@@procid) declare @WartenEinVersuch_ms int = 1000 declare\r\n @WartenBisWiederholung_s int = 1 declare @Gestartet datetime = getutcdate() declare @HabeInitialisiert int = 1 SET XACT_ABORT OFF begin transaction BEGIN\r\n TRY WirVersuchen: if datediff(ss, @Gestartet, getutcdate()) > @MaxWaitTimeForLock_s begin select @HabeInitialisiert = -1 exec QBM_PJobQueueInit_i @Queue\r\n, @SessionID, @SetSessionOnly = 1 goto endlabel end if not exists (select top 1 1 from JobQueue q with (readpast) where q.Ready2EXE in (N'LOADED', N'PROCESSING'\r\n, N'MISSING', 'FINISHED') and q.Queue = @queue ) and @TestBetrieb = 0 begin   exec QBM_PJobQueueInit_i @Queue, @SessionID, @SetSessionOnly = 1 goto endLabel\r\n end exec @RCAppLockRequest = sys.sp_getapplock @Resource = @MyName , @LockMode='Exclusive' , @LockOwner='Transaction' , @LockTimeout = @WartenEinVersuch_ms\r\n if @RCAppLockRequest < 0 begin   exec QBM_PWaitForSeconds @WartenBisWiederholung_s  goto wirVersuchen end   exec QBM_PJobQueueInit_i @Queue, @SessionID\r\n, @SetSessionOnly = 0  END TRY BEGIN CATCH select @HabeInitialisiert = -1 exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT  END CATCH EndeMitRelease: exec sp_releaseapplock @Resource = @MyName , @LockOwner = 'Transaction' EndLabel:\r\n if @@TRANCOUNT > 0 begin commit transaction  end  return (@HabeInitialisiert) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobQueueInit_i",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-09-22T13:34:55.767",
      "ModifyDate": "2026-04-14T23:20:31.76",
      "Definition": "   create   procedure QBM_PJobQueueInit_i (@queue nvarchar(255), @SessionID varchar(38) = ''   , @SetSessionOnly bit   ) as begin  declare @uid_tree\r\n varchar(38)  declare @uid_job varchar(38)  declare @SQLcmd nvarchar(max) declare @isMasterSQL int = 0 declare @UID_QBMServer varchar(38) declare @SessionID_DB\r\n varchar(38) declare @msg nvarchar(1000) declare @GenProcID varchar(38) declare @XUser nvarchar(64) declare @Xdate datetime = getutcdate() declare @UID_QBMJobqueueOverview\r\n varchar(38) = dbo.QBM_FCVStringToGUID('', @queue) declare @QueueMirror QBM_YCursorBuffer  declare @ElementCount int declare @ElementIndex int declare \r\n@AffectedQueuesExceptMe QBM_YParameterlist declare @JobqueueMessage nvarchar(1000) declare @NewState nvarchar(16)  declare @SQLOverviewUpdate nvarchar(max\r\n) declare @OverviewUpdateRowcount int declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext\r\n('XUser') SET XACT_ABORT OFF BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext('') select @XUser = dbo.QBM_FGISessionContext('XUser')  if isnull(@XUser\r\n, '') = '' begin select @XUser = left(Object_name(@@procid), 64) exec QBM_PSessionContextSet 'GenProcID', @GenProcID exec QBM_PSessionContextSet 'XUser'\r\n, @XUser end   select top 1 @UID_QBMServer = UID_QBMServer , @SessionID_DB = isnull(SessionID, '') from QBMServer where QueueName = @queue if exists (select\r\n top 1 1 from QBMServerHasServerTag ht where ht.UID_QBMServer = @UID_QBMServer and ht.UID_QBMServerTag = 'QBM-ST-Is07' ) begin select @isMasterSQL = 1 \r\nend if isnull(@UID_QBMServer, '') = '' begin  if dbo.QBM_FGIConfigparmValue('Common\\Jobservice\\AutoCreateServerFromQueues') > ' ' begin select @UID_QBMServer\r\n = NEWID()  select @SessionID_DB = @SessionID insert into QBMServer (QueueName, UID_QBMServer, XObjectKey , Ident_Server , XDateInserted, XDateUpdated,\r\n XUserInserted, XUserUpdated, SessionID  ) select @queue, @UID_QBMServer, dbo.QBM_FCVElementToObjectKey1('QBMServer', 'UID_QBMServer', @UID_QBMServer) \r\n, case charindex('\\', reverse(@queue)) when 0 then @queue else reverse(SUBSTRING(reverse(@queue), 1, charindex('\\', reverse(@queue))-1 )) end as Ident_Server\r\n , GETUTCDATE(), GETUTCDATE(), @XUser, @XUser, @SessionID_DB end else begin select @msg = '#LDS#No server found for the queue {0}.|' + @queue + N'|' raiserror\r\n(@msg, 18, 2) with nowait end end if isnull(@SessionID_DB, '') <> isnull(@SessionID, '') and @SessionID > ' ' begin exec QBM_PSessionContextSet 'GenProcID'\r\n, @GenProcID exec QBM_PSessionContextSet 'XUser', @XUser update QBMServer set SessionID = @SessionID  , XDateUpdated = @Xdate , XUserUpdated = @XUser where\r\n UID_QBMServer = @UID_QBMServer end if @SetSessionOnly = 1 begin goto endWithoutReset end    select @SQLOverviewUpdate = concat('\r\nupdate QBMJobqueueOverview \r\n\tset IsInitQueueRunning = 1\r\n\tfrom QBMJobqueueOverview o \r\n\twhere o.UID_QBMJobqueueOverview = '''\r\n, @UID_QBMJobqueueOverview, '''\r\n\t and o.IsInitQueueRunning = 0' ) exec @OverviewUpdateRowcount = QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLOverviewUpdate\r\n , @LockTimeout_ms = 20 , @MaxWaitTimeForLock_s = 3 , @ProcIDForJournal = default , @HandleErrorSilent = 0 if @OverviewUpdateRowcount = 0 begin goto endWithoutReset\r\n end      if  (select top 1 DataOrigin from DialogDatabase d with (readpast) where d.IsMainDatabase = 1 )  <> dbo.QBM_FGIDBDataOrigin() begin select @JobqueueMessage\r\n = N'status set to FROZEN by reinitializing jobqueue because of wrong DialogDatabase.DataOrigin' select @NewState = 'FROZEN' end else begin select @JobqueueMessage\r\n = N'status changed by reinitializing jobqueue' select @NewState = 'TRUE' end  exec QBM_PSessionContextSet 'GenProcID', @GenProcID exec QBM_PSessionContextSet\r\n 'XUser', @XUser update jobqueue set ready2exe = @NewState , UID_JobSameServer = q.UID_Job , ErrorMessages = dbo.QBM_FGIJobQueueMessageAdd(ErrorMessages\r\n, @JobqueueMessage)  , XDateUpdated = @Xdate , XUserUpdated = @XUser from JobQueue q join (select UID_Tree, count(*) as CountItems from JobQueue where \r\nqueue = @queue and Ready2EXE in (N'LOADED', N'PROCESSING', N'MISSING') group by UID_Tree having count(*) = 1 ) as x on q.UID_Tree = x.UID_Tree where ready2exe\r\n in (N'LOADED', N'PROCESSING', N'MISSING')  and not exists (select top 1 1 from JobQueue q3 where q3.Ready2EXE in( N'DELETE', N'HISTORY') and q3.UID_Tree\r\n = q.UID_Tree )  update JobQueue set Ready2EXE = N'HISTORY' , ErrorMessages = dbo.QBM_FGIJobQueueMessageAdd(ErrorMessages, N'status set to HISTORY by reinitializing jobqueue because of undefined root job'\r\n )  , XDateUpdated = @Xdate , XUserUpdated = @XUser from JobQueue q join (select q2.UID_Tree  from JobQueue q2 group by q2.UID_Tree having sum(convert(int\r\n, q2.IsRootJob)) <> 1 ) as x on q.UID_Tree = x.UID_Tree where q.Ready2EXE not in (N'HISTORY', N'DELETE')   insert into @QueueMirror (UID1 , UID2 ) select\r\n distinct q.uid_tree, dbo.QBM_FGIJobQueueTopJob(q.UID_Tree) from jobqueue q where q.queue = @queue and ( q.ready2exe in (N'LOADED', N'PROCESSING', N'MISSING'\r\n, N'TRUE')  or exists (select top 1 1 from ( select uid_tree , count(z.ready2exe) as CountItems from jobqueue q1 left outer join ( values (N'TRUE') , (\r\nN'LOADED') , (N'PROCESSING') ) as z (Ready2exe) on z.ready2exe = q1.ready2exe group by uid_tree having count(z.ready2exe) = 0 ) as y where y.uid_tree =\r\n q.uid_tree ) ) and not exists (select top 1 1 from jobqueue q3 where q3.ready2exe in( N'FROZEN', N'OVERLIMIT'  , N'DELETE', N'HISTORY'  ) and q3.uid_tree\r\n = q.uid_tree )  and exists (select top 1 1 from jobqueue q4 where q4.uid_tree = q.uid_tree group by q4.uid_tree having count(*) > 1 ) insert into @AffectedQueuesExceptMe\r\n(Parameter1) select distinct dbo.QBM_FCVStringToGUID('', q.Queue) from JobQueue q with (nolock) where q.UID_Tree in (select UID_Tree from @QueueMirror \r\n) and q.Queue <> @queue    exec QBM_PSessionContextSet 'GenProcID', @GenProcID exec QBM_PSessionContextSet 'XUser', @XUser  if exists (select top 1 1 from\r\n @QueueMirror m where m.UID2 = ''  ) begin  update jobqueue set Ready2EXE = N'HISTORY'  , XDateUpdated = @Xdate , XUserUpdated = @XUser from JobQueue q\r\n join (select m.UID1 as UID_Tree from @QueueMirror m join JobQueue j on m.UID1  = j.UID_Tree where m.UID2 = '' group by m.UID1  having count(*) = sum (case\r\n when j.Ready2EXE = N'FINISHED' then 1 else 0 end ) ) f on q.UID_Tree = f.UID_Tree end  delete  @QueueMirror where UID2 = ''  update jobqueue set ready2exe\r\n = N'FALSE' , ErrorMessages = dbo.QBM_FGIJobQueueMessageAdd(ErrorMessages, @JobqueueMessage)  , XDateUpdated = @Xdate , XUserUpdated = @XUser from Jobqueue\r\n q join @QueueMirror m on q.uid_tree = m.UID1  and q.uid_Job <> m.UID2   and q.ready2exe not in ( N'FINISHED', N'DELETE', N'HISTORY'  , N'FALSE' ) exec\r\n QBM_PSessionContextSet 'GenProcID', @GenProcID exec QBM_PSessionContextSet 'XUser', @XUser update jobqueue set ready2exe = @NewState , ErrorMessages =\r\n dbo.QBM_FGIJobQueueMessageAdd(ErrorMessages, @JobqueueMessage)  , XDateUpdated = @Xdate , XUserUpdated = @XUser from jobqueue q join @QueueMirror m on\r\n q.uid_tree = m.UID1  and q.uid_Job = m.UID2   where q.Ready2EXE <> @NewState   exec QBM_PSessionContextSet 'GenProcID', @GenProcID exec QBM_PSessionContextSet\r\n 'XUser', @XUser select @ElementCount = COUNT(*) from @QueueMirror select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @uid_tree\r\n = bu.UID1 , @uid_job = bu.UID2 from @QueueMirror bu where bu.ElementIndex = @ElementIndex exec QBM_PJobQueueSetSameServer @uid_job select @ElementIndex\r\n += 1 end  if @UID_QBMServer > ' ' begin exec QBM_PQBMServerHasJobService @UID_QBMServer end   select @SQLOverviewUpdate = concat('\r\n update QBMJobqueueOverview\r\n\tset IsInvalid = 1\r\n\tfrom QBMJobqueueOverview o \r\n\twhere o.IsInvalid = 0\r\n\tand o.UID_QBMJobqueueOverview = '''\r\n, @UID_QBMJobqueueOverview, '''\r\n' ) exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLOverviewUpdate , @LockTimeout_ms = 20 , @MaxWaitTimeForLock_s\r\n = 5 , @ProcIDForJournal = default , @HandleErrorSilent = 0 set lock_timeout 500 begin Try update QBMJobqueueOverview set IsInvalid = 1 from QBMJobqueueOverview\r\n o join @AffectedQueuesExceptMe a on o.UID_QBMJobqueueOverview = a.Parameter1 where o.IsInvalid = 0 and o.IsInitQueueRunning = 0 end Try begin catch  set\r\n lock_timeout -1 end catch set lock_timeout -1 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH  ende: select @SQLOverviewUpdate = concat('\r\nupdate QBMJobqueueOverview\r\n\tset IsInitQueueRunning = 0\r\n\tfrom QBMJobqueueOverview o \r\n\twhere o.UID_QBMJobqueueOverview = '''\r\n, @UID_QBMJobqueueOverview, '''\r\n\t and o.IsInitQueueRunning = 1\r\n' ) exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLOverviewUpdate , @LockTimeout_ms\r\n = 20 , @MaxWaitTimeForLock_s = 5 , @ProcIDForJournal = default , @HandleErrorSilent = 0 endWithoutReset: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R\r\n exec QBM_PSessionContextSet 'XUser', @XUser_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobQueueLoad",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:14:07.653",
      "ModifyDate": "2026-04-14T23:20:31.833",
      "Definition": "    create   procedure QBM_PJobQueueLoad (@queue nvarchar(200), @Sekunden int, @priority int, @SoftwareRevisionOnServer int = 0, @CurrentReady nvarchar\r\n(max) = N''  , @SessionID varchar(38) = ''  ) as begin declare @IsQueueDisabled bit declare @IsQueueSuspended bit  declare @perf2 QBM_YJobQueueTasks declare\r\n @jobs QBM_YSingleGUID  declare @LastTimeoutCheck datetime declare @CountItems int declare @uid_self varchar(38) declare @uid_jobToCheck varchar(38) declare\r\n @InsertCheckVersion bit  declare @uid_QBMServer varchar(38) declare @XObjectKeyQBMServer varchar(138) declare @UID_ParentQBMServer varchar(38) declare\r\n @IsMasterSQL bit = 0 declare @IsNoAutoupdate bit declare @PhysicalServerName nvarchar(64) declare @IsInSoftwareUpdate bit declare @QueueWhereClause nvarchar\r\n(255)  declare @SoftwareRevision int  declare @uid_jobReact varchar(38) declare @ComponentClass nvarchar(255) declare @TaskName nvarchar(64) declare @countDeliver\r\n int  declare @AnzahlTotal int declare @LimitTotal int declare @LoadedJobsTimeOut int declare @ExistsMissing bit declare @JustNow datetime = getutcdate\r\n()  declare @ready QBM_YJobQueueTasks declare @jobqueue QBM_YJobQueueContent declare @SessionID_DB varchar(38) declare @msg nvarchar(1000) declare @IsQBMServiceInstalled\r\n bit declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser nvarchar(64) = dbo.QBM_FGISessionContext('XUser') declare @DebugSwitch\r\n int = 0 declare @DebugLevel varchar(1) = 'I' declare @XUserSpecialString nvarchar(64) = 'QBM_PJobQueueLoad' declare @RaiseCondition nvarchar(1000) = ''\r\n declare @SQLTagMaster varchar(38) = 'QBM-ST-Is07' declare @QueueName nvarchar(256) declare @ConfigparmAutoupdate int declare @ElementLast int declare \r\n@ElementBufferMulti QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @SQLLastJobFetchTime nvarchar(max) declare @RCAppLockRequest\r\n int declare @MyName nvarchar(64) = object_name(@@procid)  declare @IsExclusiveContained bit = 0 declare @SimilarQueueExists bit = 0 declare @BinInWiederholung\r\n bit = 0 declare @CountLoadedJobs_float float = 0.0 declare @CountDeletedJobs_float float = 0.0 declare @LimitForRedoExclusive float = 0.6  declare @MaxRunInWorstCase\r\n int = 15  declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser') SET XACT_ABORT\r\n OFF BEGIN TRY begin transaction   if isnull(@XUser, '') = '' begin select @XUser = left(Object_name(@@procid), 64) exec QBM_PSessionContextSet 'GenProcID'\r\n, @GenProcID exec QBM_PSessionContextSet 'XUser', @XUser end set nocount on  select top 1 @IsInSoftwareUpdate = isnull(IsInSoftwareUpdate, 0), @uid_QBMServer\r\n = rtrim(uid_QBMServer), @IsNoAutoupdate = isnull(IsNoAutoupdate,0), @UID_ParentQBMServer = isnull(UID_ParentQBMServer,'') , @PhysicalServerName = isnull\r\n(PhysicalServerName, '')  , @IsQueueDisabled = isnull(IsJobServiceDisabled, 0) , @IsQueueSuspended = isnull(IsJobServiceSuspended, 0) , @LastTimeoutCheck\r\n = isnull(LastTimeoutCheck, '1899-12-30') , @SessionID_DB = isnull(SessionID, '') , @IsQBMServiceInstalled = isnull(IsQBMServiceInstalled, 0) , @XObjectKeyQBMServer\r\n = s.XObjectKey from QBMServer s with (readpast ) where QueueName = @queue  select @SQLLastJobFetchTime = concat('\r\n\tupdat','e QBMServer\r\n\t\tset LastJobFetchTime = '''\r\n , dbo.QBM_FCVDatetimeToString( @JustNow ) , '''\r\n\t\twhere UID_QBMServer = ''' , @uid_QBMServer , '''\r\n\t') select @ConfigparmAutoupdate = dbo.QBM_FCVStringToInt\r\n(dbo.QBM_FGIConfigparmValue('Common\\Autoupdate'), 0) insert into @ready ( ComponentClass, TaskName, CountReadyOrDeliver ) select left(parametername, charindex\r\n('|', parametername) -1 ), substring(parametername, charindex('|', parametername) +1 , 255 ) , convert(int, N'0' + parametervalue) from dbo.QBM_FCVStringToListSplitted\r\n(@CurrentReady, nchar(7), 0, 0 , N'=')  if exists (select top 1 1 from DialogDatabase with (readpast ) where ismaindatabase = 1 and ( IsJobServiceDisabled\r\n = 1 or UpdatePhase in (3,4)  ) ) begin select @RaiseCondition = '#LDS#Processing is disabled (queues globally switched off).|' goto FehlerWerfen end  \r\nif dbo.QBM_FGISingleUserRunning () = 1 begin select @RaiseCondition = '#LDS#Processing is disabled (single user mode running).|' goto FehlerWerfen end \r\n  if  exists (select top 1 1 from DialogDatabase d with (Readpast) where d.UID_CutOffTask = 'QBM-K-CommonWaitForCompiler' ) begin select @RaiseCondition\r\n = '#LDS#Processing is disabled (wait for compiler).|' goto JournalEintragen end if exists (select top 1 1 from DialogScriptAssembly a with (readpast) \r\nwhere a.IsValid = 0 ) begin select @RaiseCondition = '#LDS#Processing is disabled (wait for compiler).|' goto JournalEintragen end if dbo.QBM_FGIDBOwner\r\n() = 'CCC' and @ConfigparmAutoupdate = 1 and exists (select top 1 1 from QBMFileRevision r with (readpast ) where ( r.UID_QBMFileRevision = 'QBM-D004E74592BB32809960DB77764C1EBE'\r\n or r.FileName = 'VI.DB.dll'  ) and r.FileContent is null ) begin select @RaiseCondition = '#LDS#Processing is disabled (wait for filled QBMFileRevision).|'\r\n goto JournalEintragen end  if exists (select top 1 1 from sys.triggers t with (nolock ) join sys.tables ta with (nolock ) on t.parent_id = ta.object_id\r\n join DialogTable dt with (readpast ) on ta.name = dt.TableName collate database_default where t.name like '___[_]%'   and t.is_disabled = 1 and (dbo.QBM_FGIModuleExists\r\n(left(t.name, 3)) = 1 or t.name like 'GEN[_]%' )  ) begin select @RaiseCondition = '#LDS#Processing is disabled (deactivated trigger(s)).|' goto JournalEintragen\r\n end if exists (select top 1 1 from sys.foreign_keys c with (nolock ) join sys.objects t with (nolock ) on c.parent_object_id = t.object_id join DialogTable\r\n dt with (readpast ) on t.name = dt.TableName collate database_default where c.is_disabled = 1 ) begin select @RaiseCondition = '#LDS#Processing is disabled (deactivated constraint(s)).|'\r\n goto JournalEintragen end   select @InsertCheckVersion = 0 if @IsQueueDisabled = 1 or @IsQueueSuspended = 1 begin select @RaiseCondition = '#LDS#Processing is disabled (the queue \"{0}\" is switched off).|'\r\n + @queue + '|' goto FehlerWerfen end if exists (select top 1 1 from QBMServerHasServerTag ht with (readpast ) where ht.UID_QBMServer = @UID_QBMServer \r\nand ht.UID_QBMServerTag = 'QBM-ST-Is07' ) begin select @isMasterSQL = 1 end if @uid_QBMServer > ' '  and @SessionID > ' '  and isnull(@SessionID_DB, ''\r\n) = ''  begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID exec QBM_PSessionContextSet 'XUser', @XUser update QBMServer set SessionID = @SessionID\r\n , XDateUpdated = @JustNow , XUserUpdated = @XUser where uid_QBMServer = @uid_QBMServer select @SessionID_DB = @SessionID end  if @SessionID_DB <> isnull\r\n(@SessionID, '') begin select @RaiseCondition = '#LDS#Session ID for queue {0} does not match. DB: {1} Query:{2}.|' + @queue + N'|' + @SessionID_DB + N'|'\r\n + isnull(@SessionID, N'') + N'|'  goto FehlerWerfen end      if @IsQueueDisabled = 1 or @IsQueueSuspended = 1 begin goto ende end select @QueueWhereClause\r\n = 'XObjectKey in (''' + @XObjectKeyQBMServer + ''')' if @IsInSoftwareUpdate = 0 and exists (select top 1 1 from QBMServer js with (readpast ) where js.PhysicalServerName\r\n = @PhysicalServerName and js.uid_QBMServer <> @uid_QBMServer and js.IsInSoftwareUpdate = 1 ) begin    if @isMasterSQL = 0 begin goto ende end end if @IsNoAutoupdate\r\n = 0 and @ConfigparmAutoupdate = 1 begin  select top 1 @SoftwareRevision = ChangeCounter from DialogSemaphor with (readpast ) where ChangeContext = 'SOFTWAREREVISION'\r\n if @SoftwareRevision is null begin select @SoftwareRevision = 0 end if (  @SoftwareRevision <> @SoftwareRevisionOnServer ) begin  if not exists (select\r\n top 1 1 from JobQueue q with (nolock) left outer join QBMElementAffectedByJob e with (nolock) on q.UID_Job = e.UID_Job where q.TaskName = 'FireGenEvent'\r\n and q.ComponentAssembly = 'HandleObjectComponent' and q.ParamIN like N'%ObjectType~9~QBMServer%' and q.ParamIN like N'%EventName~12~Checkversion%'  and\r\n e.ObjectKeyAffected = @XObjectKeyQBMServer ) and not exists (select top 1 1 from JobQueue q with(nolock) left outer join QBMElementAffectedByJob e with\r\n (nolock) on q.UID_Job = e.UID_Job where q.JobChainName in( 'vid_jobserverUpdateCheck', 'vid_jobserverUpdateReplace' )  and e.ObjectKeyAffected = @XObjectKeyQBMServer\r\n ) begin  select @InsertCheckVersion = 1 end end   if @SoftwareRevision <> @SoftwareRevisionOnServer begin select @IsInSoftwareUpdate = 1 end else begin\r\n select @IsInSoftwareUpdate = 0  end  if @insertCheckVersion = 1 begin  select top 1 @QueueName = s.QueueName from QBMServer s with (readpast ) join QBMServerHasServerTag\r\n sht with (readpast ) on s.UID_QBMServer = sht.UID_QBMServer where sht.UID_QBMServerTag = @SQLTagMaster and s.QueueName > ' '  exec QBM_PJobCreate_HOFireEvent_B\r\n 'QBMServer', @QueueWhereClause, 'Checkversion', @GenProcID , @AdditionalObjectKeysAffected = DEFAULT , @QueueName = @QueueName , @checkForExisting = 1\r\n end  exec QBM_PSessionContextSet 'GenProcID', @GenProcID exec QBM_PSessionContextSet 'XUser', @XUser update QBMServer set IsInSoftwareUpdate = @IsInSoftwareUpdate\r\n , XDateUpdated = @JustNow , XUserUpdated = @XUser where uid_QBMServer = @uid_QBMServer and isnull(IsInSoftwareUpdate,0) <> @IsInSoftwareUpdate if @IsInSoftwareUpdate\r\n = 1 begin goto EchteDaten end end  if @IsQBMServiceInstalled = 0 begin exec QBM_PQBMServerHasJobService @uid_QBMServer end    if not exists (      select\r\n top 1 1 from QBMJobqueueOverview o with (readpast) where o.QueueName = @queue and ( o.CountTrue > 0 or o.CountLoaded > 0 or o.CountOverlimt > 0 or o.CountMissing\r\n > 0 or o.CountProcessing > 0 or o.CountFalse > 0 or o.CountFrozen > 0 )  and o.IsInitQueueRunning = 0 ) begin goto ende end       NachOverlimit:   select\r\n @LoadedJobsTimeOut = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue('Common\\Jobservice\\LoadedJobsTimeOut'), 0)  if exists (      select top 1 1 from\r\n QBMJobqueueOverview o with (readpast) where o.QueueName = @queue and o.CountMissing > 0 ) begin select @ExistsMissing = 1 end else begin select @ExistsMissing\r\n = 0 end  if @ExistsMissing = 1 begin select @uid_self = right(rtrim(newid()) + 'RA',38) insert into @jobqueue ( UID_Job , UID_Tree , UID_JobSameServer\r\n , TaskName, ComponentClass, ComponentAssembly, ExecutionType, ParamIN, StartAt, Retries, Priority, DeferOnError, MinutesToDefer, IgnoreErrors, MaxInstance\r\n, UID_JobError, UID_JobSuccess, IsSplitOnly) select @uid_self,  newid(),  newid(),  'InitQueue',  'VI.JobService.JobComponents.JobCheckComponent',  'JobService'\r\n,  'INTERNAL',   N'~' + dbo.QBM_FCVStringToJobParameter(N'uid_job') + dbo.QBM_FCVStringToJobParameter(newid())+ dbo.QBM_FCVStringToJobParameter(N'') +dbo.QBM_FCVStringToJobParameter\r\n(N'Queue') + dbo.QBM_FCVStringToJobParameter(@queue)+ dbo.QBM_FCVStringToJobParameter(N'') +dbo.QBM_FCVStringToJobParameter(N'uid_self') + dbo.QBM_FCVStringToJobParameter\r\n(@uid_self)+ dbo.QBM_FCVStringToJobParameter(N'') ,  @JustNow,  1, 15, 0, 0, 1,  1,  '' ,  '',  0  goto Ausliefern end   if datediff(mi, @LastTimeoutCheck\r\n , @JustNow) > @LoadedJobsTimeOut begin  exec QBM_PSessionContextSet 'GenProcID', @GenProcID exec QBM_PSessionContextSet 'XUser', @XUser update QBMServer\r\n set LastTimeoutCheck = @JustNow , XDateUpdated = @JustNow , XUserUpdated = @XUser where uid_QBMServer = @uid_QBMServer if exists (select top 1 1 from \r\nQBMJobqueueOverview o with (readpast) where o.QueueName = @queue  and o.CountLoaded + o.CountProcessing > 0 ) begin if exists (select top 1 1 from jobqueue\r\n q with (READPAST)  where ready2exe in (N'LOADED', N'PROCESSING') and queue = @queue and datediff(mi, xdateupdated, @JustNow) > @LoadedJobsTimeOut ) begin\r\n  if exists (select top 1 1 from jobqueue q with (READPAST)  where ready2exe in (N'LOADED', N'PROCESSING') and queue = @queue and datediff(mi, xdateupdated\r\n, @JustNow) > @LoadedJobsTimeOut and q.uid_job = dbo.QBM_FGIJobQueueTopJob(q.uid_tree)  and not exists (select top 1 1 from @ready p where p.ComponentClass\r\n = q.componentclass and p.taskname = q.taskname ) ) begin goto Reaktivierung  end end end  end  goto EchteDaten Reaktivierung:  delete  @ElementBufferMulti\r\n  insert into @ElementBufferMulti (UID1) select uid_job from jobqueue q with (READPAST)  where ready2exe in (N'LOADED', N'PROCESSING') and queue = @queue\r\n  and q.uid_job = dbo.QBM_FGIJobQueueTopJob(q.uid_tree) and datediff(mi, xdateupdated, @JustNow) > @LoadedJobsTimeOut  and not exists (select top 1 1 from\r\n @ready p where p.ComponentClass = q.componentclass and p.taskname = q.taskname ) select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY -\r\n @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @uid_jobToCheck = bu.UID1 from @ElementBufferMulti\r\n bu where bu.ElementIndex = @ElementIndex select @uid_self = right(rtrim(newid()) + 'RA',38) insert into @jobqueue ( UID_Job , UID_Tree , UID_JobSameServer\r\n , TaskName, ComponentClass, ComponentAssembly, ExecutionType, ParamIN, StartAt, Retries, Priority, DeferOnError, MinutesToDefer, IgnoreErrors, MaxInstance\r\n, UID_JobError, UID_JobSuccess, IsSplitOnly , LogMode)  select @uid_self,  newid(),      @uid_jobToCheck,   'CheckJob',  'VI.JobService.JobComponents.JobCheckComponent'\r\n,  'JobService',  'INTERNAL',   N'~' + dbo.QBM_FCVStringToJobParameter(N'uid_job') + dbo.QBM_FCVStringToJobParameter(q.uid_job)+ dbo.QBM_FCVStringToJobParameter\r\n(N'') +dbo.QBM_FCVStringToJobParameter(N'Queue') + dbo.QBM_FCVStringToJobParameter(@queue)+ dbo.QBM_FCVStringToJobParameter(N'') +dbo.QBM_FCVStringToJobParameter\r\n(N'uid_self') + dbo.QBM_FCVStringToJobParameter(@uid_self)+ dbo.QBM_FCVStringToJobParameter(N'') ,  @JustNow,  q.Retries, q.Priority, q.DeferOnError, q.MinutesToDefer\r\n, 1,  1,  '' ,  '',  0  , q.LogMode from jobqueue q with (readpast) where uid_job = @uid_jobToCheck  select @ElementIndex += 1 end  delete  @ElementBufferMulti\r\n  insert into @ElementBufferMulti (UID1) select distinct uid_jobSameserver from @jobqueue select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY\r\n - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @uid_jobReact = bu.UID1 from @ElementBufferMulti\r\n bu where bu.ElementIndex = @ElementIndex   update jobqueue set xdateupdated = @JustNow  , XUserUpdated = @XUserSpecialString where uid_job = @uid_jobReact\r\n  select @ElementIndex += 1 end  goto Ausliefern   EchteDaten: if @DebugSwitch > 0 begin print 'EchteDaten: erreicht' end  if @sekunden <= 30 select @LimitTotal\r\n = 3000 if @sekunden > 30 select @LimitTotal = 4500  if @sekunden > 60 select @LimitTotal = 6000 if not exists (select top 1 1 from QBMJobqueueOverview\r\n o with (readpast) where o.QueueName = @queue and o.CountTrue > 0 ) begin  goto ausliefern end if not exists (select top 1 1 from JobPerformance p with\r\n (nolock) where p.Queue = @queue ) begin insert into @perf2 ( ComponentClass, TaskName, CountReadyOrDeliver ) select c.ComponentClass, t.TaskName , 100\r\n from JobComponent c with (readpast ) join JobTask t with (readpast ) on c.UID_JobComponent = t.UID_JobComponent where exists (select top 1 1 from jobqueue\r\n q with (readpast) where q.queue = @queue and q.ready2exe = N'TRUE' and q.Componentclass = c.ComponentClass and q.Taskname = t.TaskName ) end else  begin\r\n insert into @perf2 ( ComponentClass, TaskName, CountReadyOrDeliver ) select ComponentClass, TaskName, countDeliver from ( select c.ComponentClass, t.TaskName\r\n , dbo.QBM_FGIJobQueueCountDeliver(isnull(jp.CountPerMinute,1) , @Sekunden, isnull(r.CountReadyOrDeliver ,0), @Priority ) * 2 as countDeliver  from JobComponent\r\n c with (readpast ) join JobTask t with (readpast ) on c.UID_JobComponent = t.UID_JobComponent left outer join JobPerformance jp with (nolock) on c.Componentclass\r\n = jp.ComponentClass and t.Taskname = jp.Taskname and jp.queue = @queue left outer join @ready r on jp.Componentclass = r.ComponentClass and jp.Taskname\r\n = r.Taskname ) as p where p.countDeliver <> 0 and exists (select top 1 1 from jobqueue q with (readpast) where q.queue = @queue and q.ready2exe = N'TRUE'\r\n and q.Componentclass = p.componentClass and q.Taskname = p.TaskName ) end  select @AnzahlTotal = sum (abs(CountReadyOrDeliver )) from @perf2 if @AnzahlTotal\r\n > @LimitTotal begin update @perf2 set CountReadyOrDeliver  = convert(int, ((convert(float, CountReadyOrDeliver ) * convert(float, @LimitTotal))/convert\r\n(float, @anzahlTotal)) ) where abs(CountReadyOrDeliver ) > 10 end redoExclusive: delete  @ElementBufferMulti  insert into @ElementBufferMulti (ContentShort\r\n, ObjectKey1, Int1) select p.ComponentClass, p.TaskName , p.CountReadyOrDeliver  from @perf2 p select @ElementCount = @@ROWCOUNT select @ElementIndex =\r\n @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @ComponentClass = bu.ContentShort\r\n , @TaskName = bu.ObjectKey1 , @countDeliver = bu.Int1 from @ElementBufferMulti bu where bu.ElementIndex = @ElementIndex  if @IsInSoftwareUpdate = 1 begin\r\n select @countDeliver = abs(@countDeliver)   insert into @jobs (UID_SingleGuid ) select top (@countDeliver) q.uid_job from JobQueue q with (readpast) left\r\n outer join QBMElementAffectedByJob e with (nolock) on q.UID_Job = e.UID_Job where q.queue = @queue and q.ComponentClass = @ComponentClass and q.TaskName\r\n = @Taskname and ready2exe = N'TRUE' and priority >= @Priority and isnull(startat, '1899-12-30') < @JustNow  and ( JobChainName in ( 'VID_JobserverUpdateCheck'\r\n , 'VID_JobserverUpdateReplace' , 'AutoUpdate'    , 'QBM_GetDeployTargets' , 'QBM_OnDeployTargetChanged' ) or ( @IsMasterSQL = 1  and TaskName = 'FireGenEvent'\r\n and ComponentAssembly = 'HandleObjectComponent' and ParamIN like N'%ObjectType~9~QBMServer%' and ParamIN like N'%EventName~12~Checkversion%'  and e.ObjectKeyAffected\r\n = @XObjectKeyQBMServer ) )  and (@IsMasterSQL = 1 or ( @IsMasterSQL = 0 and not exists (select top 1 1 from QBMServer s with (readpast ) join QBMServerHasServerTag\r\n sht with (readpast ) on s.UID_QBMServer = sht.UID_QBMServer where sht.UID_QBMServerTag = 'QBM-ST-Is07' and s.IsInSoftwareUpdate = 1 ) ) )  and (@IsMasterSQL\r\n = 1 or ( @IsMasterSQL = 0 and not exists (select top 1 1 from QBMServer with (readpast ) where uid_QBMServer = @UID_ParentQBMServer and IsInSoftwareUpdate\r\n = 1 ) ) )  order by priority desc, startat asc end else  begin  if @countDeliver < 0  begin select @countDeliver = abs(@countDeliver) insert into @jobs\r\n (UID_SingleGuid ) select top (@countDeliver) q.uid_job from jobqueue q with (readpast) where q.queue = @queue and q.ComponentClass = @ComponentClass and\r\n q.TaskName = @Taskname and ready2exe = N'TRUE' and priority >= @Priority and isnull(startat, '1899-12-30') < @JustNow order by priority desc, startat \r\nasc end else  begin insert into @jobs (UID_SingleGuid ) select top (@countDeliver) q.uid_job from jobqueue q with (readpast) where q.queue = @queue and\r\n q.ComponentClass = @ComponentClass and q.TaskName = @Taskname and ready2exe = N'TRUE'  and isnull(startat, '1899-12-30') < @JustNow order by priority \r\ndesc, startat asc end end  select @ElementIndex += 1 end    select @CountItems = count(*) from @jobs if @CountItems = 0 begin goto ausliefern  end  insert\r\n into @jobqueue ( UID_Job , UID_Tree , UID_JobSameServer , TaskName, ComponentClass, ComponentAssembly, ExecutionType, ParamIN, StartAt, Retries, Priority\r\n, DeferOnError, MinutesToDefer, IgnoreErrors, MaxInstance, UID_JobError, UID_JobSuccess,IsSplitOnly, IsToFreezeOnError, GenProcID , LogMode) select q.UID_Job\r\n , q.UID_Tree , q.UID_JobSameServer , q.TaskName, q.ComponentClass, q.ComponentAssembly, q.ExecutionType, q.ParamIN, isnull(q.StartAt, '1899-12-30'), q.Retries\r\n, q.Priority, q.DeferOnError, q.MinutesToDefer, q.IgnoreErrors, q.MaxInstance, q.UID_JobError, q.UID_JobSuccess, q.IsSplitOnly, q.IsToFreezeOnError, q.GenProcID\r\n , q.LogMode  from jobqueue q with (readpast) join @jobs j on q.uid_jobsameserver = j.UID_SingleGuid  select @CountLoadedJobs_float = CONVERT(float, @@rowcount\r\n)   update @jobqueue set IsExclusivePerObject = 1 from @jobqueue q join JobComponent c with (readpast ) on q.ComponentClass = c.ComponentClass join JobTask\r\n t with (readpast ) on c.UID_JobComponent = t.UID_JobComponent and t.TaskName = q.TaskName where t.IsExclusivePerObject = 1  and q.IsExclusivePerObject\r\n = 0 select @IsExclusiveContained = sign(@@ROWCOUNT) if @IsExclusiveContained = 1 and @BinInWiederholung = 0 begin    exec @RCAppLockRequest = sys.sp_getapplock\r\n @Resource = @MyName , @LockMode='Exclusive' , @LockOwner='Transaction' , @LockTimeout = 2000 if @RCAppLockRequest < 0 begin  delete @jobqueue where UID_Tree\r\n in (select distinct v.UID_Tree from @jobqueue v where v.IsExclusivePerObject = 1 )  select @IsExclusiveContained = 0 end    end if @IsExclusiveContained\r\n = 1 begin select @SimilarQueueExists = 1 where exists ( select top 1 1 from QBMServer ich join QBMServerHasServerTag ht on ich.UID_QBMServer = ht.UID_QBMServer\r\n join QBMServerHasServerTag htd on ht.UID_QBMServerTag = htd.UID_QBMServerTag join QBMServer du on htd.UID_QBMServer = du.UID_QBMServer where ich.QueueName\r\n = @QueueName and du.QueueName <> @QueueName ) end if @IsExclusiveContained = 1  begin  delete  @jobqueue from @jobqueue q join (  select qw.UID_JobSameServer\r\n from @jobqueue qw join QBMElementAffectedByJob ew on qw.UID_Job = ew.UID_Job  join (  select qd.ComponentClass, qd.TaskName, ad.ObjectKeyAffected, substring\r\n(min(concat(dbo.QBM_FCVDatetimeToString(qd.StartAt), qd.UID_JobSameServer)), 24, 38) as UID_JobSameServerToKeep from @jobqueue qd join QBMElementAffectedByJob\r\n ad on qd.UID_Job = ad.UID_Job where qd.IsExclusivePerObject = 1 group by qd.ComponentClass, qd.TaskName, ad.ObjectKeyAffected having COUNT(*) > 1 ) as\r\n bl on qw.ComponentClass = bl.ComponentClass and qw.TaskName = bl.TaskName and ew.ObjectKeyAffected = bl.ObjectKeyAffected and qw.UID_JobSameServer <> \r\nbl.UID_JobSameServerToKeep group by qw.UID_JobSameServer ) as y on q.UID_JobSameServer = y.UID_JobSameServer  select @CountDeletedJobs_float = CONVERT(float\r\n, @@rowcount)   if @DebugSwitch > 0 begin select 'count @JobQueue 3', COUNT(*) from @jobqueue end end  if @IsExclusiveContained = 1  begin delete  @jobqueue\r\n from @jobqueue q where q.UID_JobSameServer in ( select z.UID_JobSameServer from ( select l.UID_JobSameserver, ra.UID_Job, l.ComponentClass, l.TaskName\r\n from @jobqueue l join QBMElementAffectedByJob la with (readpast ) on l.UID_Job = la.UID_Job and l.IsExclusivePerObject = 1 join QBMElementAffectedByJob\r\n ra with (readpast ) on la.ObjectKeyAffected = ra.ObjectKeyAffected and la.UID_Job <> ra.UID_Job ) as z join JobQueue r  with (nolock) on z.ComponentClass\r\n = r.ComponentClass and z.TaskName = r.TaskName and z.UID_Job = r.UID_Job and r.Ready2EXE in (N'LOADED', N'PROCESSING') ) select @CountDeletedJobs_float\r\n += CONVERT(float, @@rowcount)    end    if @IsExclusiveContained = 1  and @BinInWiederholung = 0  and @CountLoadedJobs_float > 0.0 and @CountDeletedJobs_float\r\n > 0.0 begin select @BinInWiederholung = 1 if @CountDeletedJobs_float / @CountLoadedJobs_float > @LimitForRedoExclusive begin   update @perf2 set CountReadyOrDeliver\r\n = y.Hochrechnung from @perf2 p2 join ( select x.ComponentClass, x.TaskName, MAX(x.Hochrechnung) as Hochrechnung from (   select p.ComponentClass, p.TaskName\r\n , case when @CountLoadedJobs_float = 0.0 or @CountDeletedJobs_float = @CountLoadedJobs_float  then 10 else CONVERT(int, CONVERT(float, p.CountReadyOrDeliver\r\n) * (1.0 / ( 1.0 - (@CountDeletedJobs_float / @CountLoadedJobs_float))) ) end as Hochrechnung from @perf2 p join ( select q.ComponentClass, q.TaskName \r\nfrom @jobqueue q where q.UID_Job = q.UID_JobSameServer  and q.UID_JobSameServer in ( select ex.UID_JobSameServer from @jobqueue ex where ex.IsExclusivePerObject\r\n = 1 ) group by q.ComponentClass, q.TaskName ) ro on p.ComponentClass = ro.ComponentClass and p.TaskName = ro.TaskName union all   select p.ComponentClass\r\n, p.TaskName, p.CountPerMinute * @MaxRunInWorstCase as Hochrechnung from JobPerformance p join ( select q.ComponentClass, q.TaskName from @jobqueue q where\r\n q.UID_Job = q.UID_JobSameServer  and q.UID_JobSameServer in ( select ex.UID_JobSameServer from @jobqueue ex where ex.IsExclusivePerObject = 1 ) group \r\nby q.ComponentClass, q.TaskName ) ro on p.ComponentClass = ro.ComponentClass and p.TaskName = ro.TaskName where p.Queue = @queue ) as x group by x.ComponentClass\r\n, x.TaskName ) as y on p2.ComponentClass = y.ComponentClass and p2.TaskName = y.TaskName delete @jobs delete @jobqueue goto RedoExclusive  end end   insert\r\n into @jobqueue ( UID_Job , UID_Tree , ParamIN) select '__jobtreeparamcoll',  x.uid_tree, dbo.QBM_FCVJobParameterToString(x.uid_tree) from (select distinct\r\n q.uid_tree from @jobqueue q join jobtreeparamcoll c with (readpast ) on q.uid_tree = c.uid_tree ) as x  begin transaction save transaction WirLaden update\r\n jobqueue set ready2exe = N'LOADED',  xdateupdated = @JustNow  , XUserUpdated = @XUserSpecialString where uid_job in (select uid_job from @jobqueue)  select\r\n @CountItems = @@rowcount   if @IsExclusiveContained = 1  and @SimilarQueueExists = 1 begin   if exists (select top 1 1 from @jobqueue q where q.UID_JobSameServer\r\n in ( select z.UID_JobSameServer from ( select l.UID_JobSameserver, ra.UID_Job, l.ComponentClass, l.TaskName from @jobqueue l join QBMElementAffectedByJob\r\n la with (readpast ) on l.UID_Job = la.UID_Job and l.IsExclusivePerObject = 1 join QBMElementAffectedByJob ra with (readpast ) on la.ObjectKeyAffected \r\n= ra.ObjectKeyAffected and la.UID_Job <> ra.UID_Job ) as z join JobQueue r  with (nolock) on z.ComponentClass = r.ComponentClass and z.TaskName = r.TaskName\r\n and z.UID_Job = r.UID_Job and r.Ready2EXE in (N'LOADED', N'PROCESSING')  where r.Queue <> @QueueName ) ) begin  delete @jobqueue select @CountItems = \r\n0 end end  if @CountItems = 0 begin IF XACT_STATE() <> -1 begin ROLLBACK TRANSACTION WirLaden; end end commit transaction    if @CountItems > 0  begin \r\nif '1' = dbo.QBM_FGIConfigparmValue('Common\\JobQueueStats') begin   insert into JobQueueStats (UID_JobQueueStats, queue , jobYear, jobMonth , jobDay , \r\njobHour , countInserted, countActivated, countDeleted ) select 'XX'+convert(varchar(64), newid()), @queue , year(@JustNow) ,month(@JustNow) ,day( @JustNow\r\n) , datepart(hh,@JustNow) , 0, (-1) * @CountItems , 0 end end   Ausliefern:  exec QBM_PSessionContextSet 'GenProcID', @GenProcID exec QBM_PSessionContextSet\r\n 'XUser', @XUser if @@TRANCOUNT > 0 begin commit transaction  end   exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLLastJobFetchTime , @LockTimeout_ms\r\n = 50 , @MaxWaitTimeForLock_s = 0.5 , @ProcIDForJournal = default , @HandleErrorSilent = 1 select * from @jobqueue order by uid_tree, uid_job return  FehlerWerfen:\r\n if @@TRANCOUNT > 0 begin commit transaction  end   exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLLastJobFetchTime , @LockTimeout_ms = 50 , @MaxWaitTimeForLock_s\r\n = 0.5 , @ProcIDForJournal = default , @HandleErrorSilent = 1  if @RaiseCondition > ' ' begin raiserror (@RaiseCondition, 18, 1) with nowait end return\r\n JournalEintragen:  if @RaiseCondition > ' ' begin exec QBM_PJournal @RaiseCondition, @@procid, 'W', @DebugLevel, @SuppressEntriesCount = 10 end  delete\r\n  @jobqueue  goto ende END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default  exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet\r\n 'XUser', @XUser_R RAISERROR ('', 18, 1) WITH NOWAIT  return END CATCH ende: if @@TRANCOUNT > 0 begin commit transaction  end  exec QBM_PExecuteSQLWithRetry_LLP\r\n @SQLStatement = @SQLLastJobFetchTime , @LockTimeout_ms = 50 , @MaxWaitTimeForLock_s = 0.5 , @ProcIDForJournal = default , @HandleErrorSilent = 1  exec\r\n QBM_PSessionContextSet 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet 'XUser', @XUser_R  select * from @jobqueue order by uid_tree, uid_job return\r\n end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobqueueoverViewFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:55.127",
      "ModifyDate": "2026-04-14T23:20:31.99",
      "Definition": "   create   procedure QBM_PJobqueueoverViewFill (@FullSearch bit = 0  ) as begin declare @ret int = 0  declare @DebugSwitch int = 0 declare @CountRows\r\n int declare @QBMJobqueueOverview QBM_YJobqueueOverview  declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64)\r\n = dbo.QBM_FGISessionContext('XUser') declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser nvarchar(64) = dbo.QBM_FGISessionContext\r\n('XUser')  declare @QueuesToUpdate QBM_YCursorBuffer declare @ElementCount int , @ElementIndex int , @UID_JobQueue varchar(38) SET XACT_ABORT OFF BEGIN\r\n TRY  if isnull(@XUser, '') = '' begin select @XUser = left(Object_name(@@procid), 64) exec QBM_PSessionContextSet 'GenProcID', @GenProcID exec QBM_PSessionContextSet\r\n 'XUser', @XUser end if @DebugSwitch > 0 begin print 'Ausgangslage ' select isinvalid, * from QBMJobqueueOverview end insert into @QBMJobqueueOverview(UID_QBMJobqueueOverview\r\n , XObjectKey , QueueName , CountTrue , CountLoaded , CountOverlimt , CountMissing , CountDelete , CountHistory , CountProcessing , CountFalse , CountFrozen\r\n , CountFinished ) select dbo.QBM_FCVStringToGUID('', y.QueueName) as UID_QBMJobqueueOverview , dbo.QBM_FCVElementToObjectKey1('QBMJobqueueOverview', 'UID_QBMJobqueueOverview'\r\n, dbo.QBM_FCVStringToGUID('', y.QueueName)) as XObjectKey , y.QueueName , y.CountTrue , y.CountLoaded , y.CountOverlimt , y.CountMissing , y.CountDelete\r\n , y.CountHistory , y.CountProcessing , y.CountFalse , y.CountFrozen , y.CountFinished from ( select x.Queue as QueueName, SUM(x.CountTrue ) as CountTrue\r\n , SUM(x.CountLoaded ) as CountLoaded , SUM(x.CountOverlimt ) as CountOverlimt , SUM(x.CountMissing ) as CountMissing , SUM(x.CountDelete ) as CountDelete\r\n , SUM(x.CountHistory ) as CountHistory , SUM(x.CountProcessing ) as CountProcessing , SUM(x.CountFalse ) as CountFalse , SUM(x.CountFrozen ) as CountFrozen\r\n , SUM(x.CountFinished ) as CountFinished from ( select q.Queue, case q.Ready2EXE when N'TRUE' then 1 else 0 end as CountTrue , case q.Ready2EXE when N'LOADED'\r\n then 1 else 0 end as CountLoaded , case q.Ready2EXE when N'OVERLIMT' then 1 else 0 end as CountOverlimt , case q.Ready2EXE when N'MISSING' then 1 else\r\n 0 end as CountMissing , case q.Ready2EXE when N'DELETE' then 1 else 0 end as CountDelete , case q.Ready2EXE when N'HISTORY' then 1 else 0 end as CountHistory\r\n , case q.Ready2EXE when N'PROCESSING' then 1 else 0 end as CountProcessing , case q.Ready2EXE when N'FALSE' then 1 else 0 end as CountFalse , case q.Ready2EXE\r\n when N'FROZEN' then 1 else 0 end as CountFrozen , case q.Ready2EXE when N'FINISHED' then 1 else 0 end as CountFinished from JobQueue q with (readpast)\r\n left outer join QBMJobqueueOverview o with (readpast) on q.Queue = o.QueueName where ISNULL(o.IsInvalid, 1 ) = 1 or @FullSearch = 1 ) as x group by x.Queue\r\n ) as y select @CountRows = @@ROWCOUNT if @DebugSwitch > 0 begin print 'queues summiert ' + str(@CountRows) select * from @QBMJobqueueOverview end   BEGIN\r\n TRY set lock_timeout 5  merge into QBMJobqueueOverview as t using @QBMJobqueueOverview as s on t.UID_QBMJobqueueOverview = s.UID_QBMJobqueueOverview when\r\n matched then update set t.CountTrue = s.CountTrue , t.CountLoaded = s.CountLoaded , t.CountOverlimt = s.CountOverlimt , t.CountMissing = s.CountMissing\r\n , t.CountDelete = s.CountDelete , t.CountHistory = s.CountHistory , t.CountProcessing = s.CountProcessing , t.CountFalse = s.CountFalse , t.CountFrozen\r\n = s.CountFrozen , t.CountFinished = s.CountFinished , t.IsInvalid = 0 when not matched by target then insert (UID_QBMJobqueueOverview , XObjectKey , QueueName\r\n , CountTrue , CountLoaded , CountOverlimt , CountMissing , CountDelete , CountHistory , CountProcessing , CountFalse , CountFrozen , CountFinished , IsInvalid\r\n ) values (s.UID_QBMJobqueueOverview , s.XObjectKey , s.QueueName , s.CountTrue , s.CountLoaded , s.CountOverlimt , s.CountMissing , s.CountDelete , s.CountHistory\r\n , s.CountProcessing , s.CountFalse , s.CountFrozen , s.CountFinished , 0 ) when not matched by source and ( t.IsInvalid = 1 or @FullSearch = 1) then update\r\n set t.CountTrue = 0 , t.CountLoaded = 0 , t.CountOverlimt = 0 , t.CountMissing = 0 , t.CountDelete = 0 , t.CountHistory = 0 , t.CountProcessing = 0 , \r\nt.CountFalse = 0 , t.CountFrozen = 0 , t.CountFinished = 0 , t.IsInvalid = 0 ; select @CountRows = @@ROWCOUNT END TRY BEGIN CATCH select @CountRows = 0\r\n if @DebugSwitch > 0 begin print 'catch vom merge' end  insert into @QueuesToUpdate (UID1) select o.UID_QBMJobqueueOverview from @QBMJobqueueOverview o\r\n select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 if @DebugSwitch > 0 begin print 'Zu ändern im Einzelschuß' + str(@ElementCount) end while @ElementIndex\r\n <= @ElementCount begin select top 1 @UID_JobQueue = u.UID1 from @QueuesToUpdate u where u.ElementIndex = @ElementIndex if @DebugSwitch > 0 begin print\r\n 'einzelupdate für ' + @UID_JobQueue end set lock_timeout 5 BEGIN TRY update QBMJobqueueOverview set CountTrue = s.CountTrue , CountLoaded = s.CountLoaded\r\n , CountOverlimt = s.CountOverlimt , CountMissing = s.CountMissing , CountDelete = s.CountDelete , CountHistory = s.CountHistory , CountProcessing = s.CountProcessing\r\n , CountFalse = s.CountFalse , CountFrozen = s.CountFrozen , CountFinished = s.CountFinished , IsInvalid = 0 from QBMJobqueueOverview as t join @QBMJobqueueOverview\r\n as s on t.UID_QBMJobqueueOverview = s.UID_QBMJobqueueOverview where t.UID_QBMJobqueueOverview = @UID_JobQueue select @CountRows += @@ROWCOUNT END TRY \r\nBEGIN CATCH if @DebugSwitch > 0 begin print 'catch vom einzel update' end END CATCH set lock_timeout -1 select @ElementIndex += 1 end END CATCH if @DebugSwitch\r\n > 0 begin print 'queues geändert ' + str(@CountRows) select isinvalid, * from QBMJobqueueOverview o with (nolock) end if @FullSearch = 1 begin if exists\r\n (select top 1 1 from QBMJobqueueOverview o left outer join QBMServer d on o.UID_QBMJobqueueOverview = dbo.QBM_FCVStringToGUID('', d.QueueName) where d.UID_QBMServer\r\n is null ) begin  set lock_timeout 5 BEGIN TRY delete QBMJobqueueOverview from QBMJobqueueOverview o left outer join QBMServer d on o.UID_QBMJobqueueOverview\r\n = dbo.QBM_FCVStringToGUID('', d.QueueName) where d.UID_QBMServer is null END TRY BEGIN CATCH  if @DebugSwitch > 0 begin print 'catch vom egal, wir kommen wieder mal vorbei'\r\n end END CATCH set lock_timeout -1 end end END TRY BEGIN CATCH declare @Message nvarchar(4000) = concat(N'#LDS#Error running QBM_PJobqueueoverViewFill with FullSearch = {0}.|'\r\n , str(@FullSearch), '|' ) if @DebugSwitch > 0 begin print 'catch von gesamt' end exec QBM_PSessionErrorAdd default if dbo.QBM_FGISessionErrorIsDeadlock\r\n(default) = 1 or dbo.QBM_FGISessionErrorIsMissingCo(default) = 1 begin  select @ret = 0  end else begin RAISERROR (@Message, 18, 1) WITH NOWAIT end END\r\n CATCH endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet 'XUser', @XUser_R return @ret end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobQueueOverviewSetInv",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.587",
      "ModifyDate": "2026-04-14T23:20:32.027",
      "Definition": " create   procedure QBM_PJobQueueOverviewSetInv  (@Queues QBM_YDBQueueRaw readonly ) as begin SET XACT_ABORT OFF  declare @QueuesNeeded QBM_YParameterList\r\n  insert into @QueuesNeeded (Parameter1) select distinct q.Object from @Queues q delete @QueuesNeeded from @QueuesNeeded n join QBMJobqueueOverview o with\r\n (nolock) on n.Parameter1 = o.UID_QBMJobqueueOverview where o.IsInvalid = 1 if exists (select top 1 1 from @QueuesNeeded n ) begin set lock_timeout 20 \r\n  BEGIN TRY update QBMJobqueueOverview set IsInvalid = 1 from QBMJobqueueOverview o join @QueuesNeeded n on n.Parameter1 = o.UID_QBMJobqueueOverview END\r\n TRY BEGIN CATCH  END CATCH set lock_timeout -1 end end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobQueueSetSameServer",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.403",
      "ModifyDate": "2026-04-14T23:20:31.87",
      "Definition": "  create   procedure QBM_PJobQueueSetSameServer (@uid_job varchar(38))  as begin  declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate\r\n datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY  update jobqueue set UID_JobSameServer = n.UID_JobSameServerNew  , XDateUpdated = @Xdate , XUserUpdated\r\n = @XUser from dbo.QBM_FTJobQueueSetSameServer(@uid_job) n join JobQueue q on n.UID_Job = q.UID_Job where n.UID_JobSameServerNew > ' ' and n.UID_JobSameServerNew\r\n <> q.UID_JobSameServer END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR\r\n (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobQueueStatsShrink",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.247",
      "ModifyDate": "2026-04-14T23:20:25.933",
      "Definition": "     create   procedure QBM_PJobQueueStatsShrink  as begin   declare @datum datetime select @datum = GetUTCDate() declare @maxAge int declare @MaxDate\r\n datetime  declare @DeleteWhereClause nvarchar(max) declare @AnzahlGeloescht int declare @AnzahlGesamt int = 0 declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext\r\n('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser') declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser nvarchar\r\n(64) = dbo.QBM_FGISessionContext('XUser') SET XACT_ABORT OFF BEGIN TRY  if exists (select top 1 1 from DialogDatabase where SingleUserProcess <> 0 and \r\nIsMainDatabase = 1 ) begin goto GanzEnde end  if isnull(@XUser, '') = '' begin select @XUser = left(Object_name(@@procid), 64) exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID exec QBM_PSessionContextSet 'XUser', @XUser end select @maxAge = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue('Common\\JobQueueStats\\MaxAge'\r\n), 0) if @maxAge = 0 begin select @maxAge = 30 end select @maxdate = dateadd(dd, @maxage * (-1) , GetUTCDate())  select @DeleteWhereClause = N'convert(datetime,convert(nvarchar(4), jobyear) + N''-'' + right(N''0'' + convert(nvarchar(2), jobmonth), 2) + N''-'' +  right(N''0''+ convert(nvarchar(2), jobday) , 2) , 121)  \r\n\t\t\t\t\t\t\t\t< '''\r\n + convert(nvarchar(64), @maxdate, 121) + '''  /*@maxdate */ ' exec @AnzahlGeloescht = QBM_PDeleteBulk 'jobqueuestats', @DeleteWhereClause, 500 select \r\n@AnzahlGesamt += @AnzahlGeloescht  select @GenProcID = newid() exec QBM_PSessionContextSet 'GenProcID', @GenProcID exec QBM_PSessionContextSet 'XUser',\r\n @XUser  insert into JobQueueStats with (tablock) (UID_JobQueueStats, queue , jobYear, jobMonth , jobDay , jobHour , countInserted, countActivated, countDeleted\r\n ) select newid(), queue , jobYear, jobMonth , jobDay , jobHour , abs(sum(countInserted)), abs(sum(countActivated)), abs(sum(countDeleted)) from jobqueuestats\r\n where uid_jobqueuestats like N'XX%' and jobHour <> datepart(hh, @datum) group by queue , jobYear, jobMonth , jobDay , jobHour  select @DeleteWhereClause\r\n = N'uid_jobqueuestats like N''XX%'' \r\n\t\t\t\t\t\t\t\tand jobHour <> ' + convert(nvarchar(16) , datepart(hh, @datum)) exec @AnzahlGeloescht = QBM_PDeleteBulk \r\n'jobqueuestats', @DeleteWhereClause, 500 select @AnzahlGesamt += @AnzahlGeloescht END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow\r\n varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH  ende: GanzEnde: exec QBM_PSessionContextSet 'GenProcID'\r\n, @GenProcID_R exec QBM_PSessionContextSet 'XUser', @XUser_R return (@AnzahlGesamt) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobRestart",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.423",
      "ModifyDate": "2026-04-14T23:20:31.893",
      "Definition": "    create   procedure QBM_PJobRestart ( @DestJobName nvarchar(255),  @uid_job varchar(38),  @MinutesToDelay int  ) as begin  declare @uid_destjob\r\n varchar(38)  declare @errmsg nvarchar(255) declare @Nachfolger QBM_YSingleGUID   declare @CurrentTree QBM_YJobQueueShadow declare @CountItems int declare\r\n @MinutesToDelay_intern int   declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() declare @UID_Tree varchar(38) \r\n declare @SQL nvarchar(max) SET XACT_ABORT OFF  BEGIN TRY if isnull(@MinutesToDelay, 0) <= 0 begin select @MinutesToDelay_intern = 0 end else begin select\r\n @MinutesToDelay_intern = @MinutesToDelay end select top 1 @UID_Tree = q.UID_Tree from JobQueue q with (readpast) where q.UID_Job = @uid_job if @UID_Tree\r\n is null begin select @errmsg = '#LDS#Process chain to reactivate not found. ({0}).|' + @uid_job + N'|'  raiserror (@errmsg, 18, 1) with nowait end update\r\n JobQueue set XUserUpdated = 'prepare QBM_PJobRestart' from JobQueue q where q.UID_Tree = @UID_Tree insert into @CurrentTree(UID_Job, Ready2EXE, StartAt\r\n, UID_JobSameServer , UID_JobError, UID_JobOrigin, UID_JobSuccess, UID_Tree) select q.UID_Job, q.Ready2EXE, q.StartAt, q.UID_JobSameServer , UID_JobError\r\n, UID_JobOrigin, UID_JobSuccess, UID_Tree from JobQueue q  where q.UID_Tree = @UID_Tree select @uid_destjob = null select top 1 @uid_destjob = qz.UID_Job\r\n from @CurrentTree q join Job j with(readpast)  on q.UID_JobOrigin = j.UID_Job and q.UID_Job = @uid_job join Job jd with(readpast)  on jd.UID_JobChain \r\n= j.UID_JobChain and jd.Name = @DestJobName join @CurrentTree qz  on qz.uid_jobOrigin = jd.uid_job if @uid_destjob is null begin select @errmsg = '#LDS#Process step to reactivate not found. ({0}).|'\r\n + @DestJobName + N'|'  raiserror (@errmsg, 18, 1) with nowait end  insert into @Nachfolger (UID_SingleGuid ) select @uid_destjob select @CountItems = \r\n1 while @CountItems > 0 begin insert into @Nachfolger (UID_SingleGuid ) select distinct q.UID_JobSuccess from @CurrentTree q where exists (select top 1\r\n 1 from @Nachfolger x where x.UID_SingleGuid  = q.UID_Job) and not exists (select top 1 1 from @Nachfolger x where x.UID_SingleGuid  = q.UID_JobSuccess\r\n) and q.UID_JobSuccess > ' ' select @CountItems = @@rowcount  insert into @Nachfolger (UID_SingleGuid ) select distinct q.UID_JobError from @CurrentTree\r\n q where exists (select top 1 1 from @Nachfolger x where x.UID_SingleGuid  = q.uid_job) and not exists (select top 1 1 from @Nachfolger x where x.UID_SingleGuid\r\n  = q.UID_JobError) and q.UID_JobError > ' ' select @CountItems += @@rowcount  end    update @CurrentTree set Ready2Exe = N'FINISHED' , IsRecordModified\r\n = 1 from @CurrentTree q where q.Ready2EXE in ( N'MISSING', N'LOADED', N'PROCESSING', N'TRUE') AND NOT EXISTS ( SELECT top 1 1 FROM @Nachfolger x WHERE\r\n x.UID_SingleGuid  = q.UID_Job )        update @CurrentTree set Ready2Exe = N'FALSE' , UID_JobSameServer = q.UID_Job , IsRecordModified = 1 from @CurrentTree\r\n q where ( q.UID_Job in (select n.UID_SingleGuid  from @nachfolger n)  or q.Ready2EXE in ( N'MISSING', N'LOADED', N'PROCESSING') ) and q.UID_Job <> @uid_destjob\r\n   update @CurrentTree set Ready2Exe = N'TRUE' , StartAt = dateadd(mi, @MinutesToDelay_intern, GetUTCDate()) , UID_JobSameServer = q.UID_Job , IsRecordModified\r\n = 1 from @CurrentTree q where q.UID_Job = @uid_destjob    if exists (select top 1 1 from @CurrentTree q where q.Ready2EXE not in (N'TRUE', N'FALSE', N'FINISHED'\r\n) ) begin update @CurrentTree set UID_JobSameServer = q.UID_Job , IsRecordModified = 1 from @CurrentTree q where q.UID_JobSameServer <> q.UID_Job end  \r\n  select top 1 @SQL = STRING_AGG (convert(nvarchar(max), x.zeile) , ';') from ( select CONCAT('update JobQueue\r\n\t\tset UID_JobSameServer = ''', cu.UID_JobSameServer\r\n , '''\r\n\t\t\t, StartAt = ''' , dbo.QBM_FCVDatetimeToString( cu.StartAt ), '''\r\n\t\t\t, Ready2EXE = ''', cu.Ready2Exe , '''\r\n\t\t\t--34101\r\n\t\t\t, XDateUpdated = '''\r\n, dbo.QBM_FCVDatetimeToString(@Xdate) , '''\r\n\t\t\t, XUserUpdated = ''', @XUser , '''\r\n\t\twhere UID_Job = ''', cu.UID_Job , '''\r\n\t\t\t\t') as zeile from @CurrentTree\r\n cu where cu.IsRecordModified = 1 ) as x exec QBM_PExecuteSQLWithRetry_LLP @SQL                       END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: set deadlock_priority normal\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobSetRunParameter",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.43",
      "ModifyDate": "2026-04-14T23:20:31.903",
      "Definition": "  create   procedure QBM_PJobSetRunParameter (@uid_job varchar(38), @ParameterName nvarchar(255), @ParameterValue nvarchar(max) , @IsCrypted bit\r\n = 0 , @IsHidden bit = 0 ) as begin  declare @uid_tree varchar(38) SET XACT_ABORT OFF BEGIN TRY select @uid_tree = null select @uid_tree = uid_tree from\r\n jobqueue with (nolock) where uid_job = @uid_job if isnull(@uid_tree,'') = '' begin  raiserror ('#LDS#Process step does not exist (anymore) in Job queue.|'\r\n, 18, 1) with nowait end if exists (select top 1 1 from JobTreeParamColl where uid_tree = @uid_tree and ParameterName = @ParameterName) begin  update JobTreeParamColl\r\n set ParameterValue = @ParameterValue, IsCrypted = @IsCrypted, IsHidden = @IsHidden where uid_tree = @uid_tree and ParameterName = @ParameterName end else\r\n begin  insert into jobtreeparamcoll(UID_JobTreeParamColl, uid_tree, ParameterName, ParameterValue, IsCrypted, IsHidden) values( newid(), @uid_tree , @ParameterName\r\n , @ParameterValue, @IsCrypted, @IsHidden) end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobUnfreeze",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.44",
      "ModifyDate": "2026-04-14T23:20:31.913",
      "Definition": "  create   procedure QBM_PJobUnfreeze (@uid_job varchar(38) , @ReactivationOf varchar(16) , @ApplicationName nvarchar(64) = '' , @LogonUser nvarchar\r\n(64) = '' )  as begin declare @uid_tree varchar(38) declare @uid_JobToActivate varchar(38) declare @Retries int declare @nextIsSuccessor bit  declare @JobqueueMessage\r\n nvarchar(1000) = concat('#LDS#Reactivation of frozen Job {0} with parameter {1}.|' , @uid_job , '|' , @ReactivationOf , '|' ) declare @XUser nvarchar(64\r\n) = object_name(@@procid) declare @Xdate datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY select @uid_tree = null select @uid_tree = uid_tree from \r\njobqueue where uid_job = @uid_job and ready2exe = N'FROZEN' if @uid_tree is null begin raiserror('#LDS#Process step to unfreeze was not found.|', 18, 2\r\n) with nowait return end if @ReactivationOf not in ('SUCCESS', 'ERROR', 'SELF', 'ROOT') begin raiserror('#LDS#Invalid parameter ''ReactivationOf''. Permitted values are SUCCESS, ERROR, SELF and ROOT.|'\r\n, 18, 2) with nowait return end  if @ReactivationOf = 'ROOT' begin  select @JobqueueMessage = concat('#LDS#Reactivation of process containing frozen process step {0}.|'\r\n , @uid_job , '|' ) update JobQueue set ErrorMessages = dbo.QBM_FGIJobQueueMessageAdd(ErrorMessages, @JobqueueMessage)  , XDateUpdated = @Xdate , XUserUpdated\r\n = @XUser where UID_Tree = @uid_tree and Ready2EXE <> N'FALSE' update JobQueue set Ready2EXE = N'FALSE' , UID_JobSameServer = UID_Job , WasError = 0  ,\r\n XDateUpdated = @Xdate , XUserUpdated = @XUser where UID_Tree = @uid_tree update JobQueue set Retries = 1  , XDateUpdated = @Xdate , XUserUpdated = @XUser\r\n where UID_Tree = @uid_tree and DeferOnError = 1 update JobQueue set Ready2EXE = N'TRUE'  , XDateUpdated = @Xdate , XUserUpdated = @XUser where UID_Tree\r\n = @uid_tree and IsRootJob = 1 goto ende end   update jobqueue set ready2exe = N'FALSE'  , XDateUpdated = @Xdate , XUserUpdated = @XUser where uid_tree\r\n = @uid_tree and ready2exe = N'LOADED' select @uid_JobToActivate = null  if @ReactivationOf in( 'SUCCESS', 'ERROR') begin update jobqueue set ready2exe=\r\n N'FINISHED', xdateupdated = getutcdate()  , XUserUpdated = @XUser  , ErrorMessages = dbo.QBM_FGIJobQueueMessageAdd(ErrorMessages, @JobqueueMessage) where\r\n uid_job = @uid_Job if @ReactivationOf = 'SUCCESS' begin select top 1 @uid_JobToActivate = q.UID_JobSuccess, @Retries = isnull(f.Retries, 0) from Jobqueue\r\n q left outer join JobQueue f on q.UID_JobSuccess = f.UID_Job where q.UID_Job = @uid_job select @nextIsSuccessor = 1 end else begin select top 1 @uid_JobToActivate\r\n = q.UID_JobError, @Retries = isnull(f.Retries, 0) from JobQueue q left outer join JobQueue f on q.UID_JobError = f.UID_Job where q.UID_Job = @uid_job \r\nselect @nextIsSuccessor = 0 end if isnull(@uid_JobToActivate, '') = '' begin  update jobqueue set ready2exe = N'LOADED' , isToFreezeOnError = 0  , DeferOnError\r\n = case @ReactivationOf when 'SUCCESS' then DeferOnError else  0 end , retries = case @ReactivationOf when 'SUCCESS' then 1 else  0 end  , XDateUpdated\r\n = @Xdate , XUserUpdated = @XUser where uid_Job = @uid_job  exec QBM_PJobUpdateState @uid_job, 'FINISHED', @nextIsSuccessor, @JobqueueMessage end end  \r\nif @ReactivationOf = 'SELF' begin select @uid_jobToActivate = @uid_job select @Retries = 1 end if @uid_JobToActivate > ' ' begin update jobqueue set retries\r\n = @Retries, ready2exe= N'TRUE', startat = GetUTCDate(), xdateupdated = getutcdate()  , ErrorMessages = case when @ReactivationOf = 'SELF' then dbo.QBM_FGIJobQueueMessageAdd\r\n(ErrorMessages, @JobqueueMessage) end  , XUserUpdated = @XUser where uid_job = @uid_jobToActivate  exec QBM_PJobQueueSetSameServer @uid_jobToActivate end\r\n  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH\r\n NOWAIT END CATCH ende:  exec QBM_PWriteDialogJournal @JobqueueMessage, @ApplicationName, @LogonUser, 'W' return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobUpdateState",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.533",
      "ModifyDate": "2026-04-14T23:20:31.97",
      "Definition": "    create   procedure QBM_PJobUpdateState (@uid_job varchar(38) ,  @newState nvarchar(32),  @SuccesInfo int,   @MessageString nvarchar(max) = N''\r\n  ) as begin declare @JobsToChange QBM_YJobStateInfo SET XACT_ABORT OFF BEGIN TRY insert into @JobsToChange(UID_Job, NewState, SuccesInfo, MessageString\r\n) values (@UID_Job, @NewState, @SuccesInfo, @MessageString) exec QBM_PJobUpdateState_Bulk @JobsToChange END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJobUpdateState_Bulk",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.517",
      "ModifyDate": "2026-04-14T23:20:31.957",
      "Definition": "  create   procedure QBM_PJobUpdateState_Bulk (@JobsToChange QBM_YJobStateInfo readonly ) as begin  declare @JobQueueShadow QBM_YJobQueueShadow \r\ndeclare @JobCountTotal int declare @JobIndexCurrent int = 1 declare @IsSendMail bit declare @errmsg nvarchar(1024) declare @Trees QBM_YSingleGUID declare\r\n @XUserSpecial nvarchar(64) = 'QBM_PJobUpdateState' declare @XDateSpecial datetime = getutcdate() declare @writeHistory nvarchar(16) declare @Common_Jobservice_RedoDelayMinutes\r\n int  declare @CountOfPostCMD int  declare @PostCMD nvarchar(max) declare @PostCMDBodyTree nvarchar(max) = concat(' \r\n\tupdat','e dialogprocessStep \r\n\t\tset ProcessState = @neu\r\n\t\twhere uid_tree = @uid_tree\r\n\t\t\tand isnull(ProcessState, '''') = @alt  \r\n\tselect @CountLines += @@Rowcount '\r\n , char(13) , char(10) ) declare @PostCMDBodyJob nvarchar(max) = concat(' \r\n\tupdat','e dialogprocessStep \r\n\t\tset ProcessState = @neu\r\n\t\twhere uid_Job = @UID_Job\r\n\t\t\tand isnull(ProcessState, '''') <> @neu   \r\n\tselect @CountLines += @@Rowcount '\r\n , char(13) , char(10) ) declare @StartLenPostCMD int declare @SQLcmd nvarchar(1024)  declare @PostCmdCollection QBM_YCursorBuffer   declare @PostCmdElementIndex\r\n int declare @PostCmdElementCount int declare @FolgeJobs QBM_YDBQueueRaw  select @IsSendMail = 0 if dbo.QBM_FGIConfigparmValue('Common\\MailNotification'\r\n) > ' ' begin select @IsSendMail = 1 end select @writeHistory = left(dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\JobHistory'), 16)    select @Common_Jobservice_RedoDelayMinutes\r\n = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue('Common\\Jobservice\\RedoDelayMinutes'), 2)  declare @UID_Job varchar(38) declare @NewState nvarchar\r\n(32) declare @SuccesInfo int declare @MessageString nvarchar(max) declare @UID_NextJob varchar(38) declare @UID_Tree varchar(38) declare @UID_NOTnextJob\r\n varchar(38) declare @isSplitOnly bit declare @UID_JobError varchar(38) declare @ProcessTrackingForJob bit declare @ProcessTrackingForTree bit declare \r\n@ErrorNotify bit declare @SuccessNotify bit declare @MailAddress nvarchar(255) declare @MailSender nvarchar(255) declare @MailSubject nvarchar(255) declare\r\n @MailBody nvarchar(1024) declare @MailAddress_success nvarchar(255) declare @MailSender_success nvarchar(255) declare @MailSubject_success nvarchar(255\r\n) declare @MailBody_success nvarchar(1024) declare @UID_JobsameServer varchar(38) declare @Retries int declare @DeferOnError bit declare @MinutesToDefer\r\n int declare @Queue nvarchar(255) declare @JobChainName nvarchar(255) declare @GenProcID varchar(38) declare @IsToFreezeOnError bit declare @ComponentClass\r\n nvarchar(255) declare @TaskName nvarchar(255) declare @UID_JobOrigin varchar(38)  declare @ready2exeOld varchar(16) declare @IsForHistory bit declare \r\n@IsLastJobOfTree bit declare @IsToFreeze bit declare @IsAlreadyHistory bit declare @WasError bit declare @ServerName nvarchar(64) declare @ResetCounter\r\n int  declare @IsLastJobOfSubtree bit declare @DebugLevel varchar(1) = 'W' SET XACT_ABORT OFF BEGIN TRY insert into @Trees (UID_SingleGuid) select distinct\r\n q.UID_Tree from JobQueue q with (nolock)  where q.UID_Job in (select ch.UID_Job from @JobsToChange ch )   insert into @JobQueueShadow(UID_JobSameServer\r\n, Ready2EXE, StartAt, XDateUpdated, XUserUpdated, Retries, WasError, IsToFreezeOnError , ErrorMessages  , UID_JobError , UID_JobSuccess, GenProcID, XUserInserted\r\n , XDateInserted, JobChainName , UID_Job, UID_Tree , ProcessTracking, ErrorNotify, NotifyAddress, NotifySubject, NotifyBody, NotifySender, SuccessNotify\r\n , NotifyAddressSuccess, NotifySubjectSuccess, NotifyBodySuccess, NotifySenderSuccess , DeferOnError, MinutesToDefer, UID_JobOrigin, ComponentClass, TaskName\r\n  , Queue, IsForHistory , IsSplitOnly ) select distinct q.UID_JobSameServer, q.Ready2EXE, q.StartAt, q.XDateUpdated, q.XUserUpdated, q.Retries, q.WasError\r\n, q.IsToFreezeOnError ,case when jc.MessageString > ' ' then q.ErrorMessages  else null end  , q.UID_JobError , q.UID_JobSuccess, q.GenProcID, q.XUserInserted\r\n , q.XDateInserted, q.JobChainName , q.UID_Job, q.UID_Tree , q.ProcessTracking, q.ErrorNotify, q.NotifyAddress, q.NotifySubject, q.NotifyBody, q.NotifySender\r\n, q.SuccessNotify , q.NotifyAddressSuccess, q.NotifySubjectSuccess, q.NotifyBodySuccess, q.NotifySenderSuccess , q.DeferOnError, q.MinutesToDefer, q.UID_JobOrigin\r\n, ComponentClass, q.TaskName  , q.Queue, q.IsForHistory , IsSplitOnly from JobQueue q with (nolock) left outer join @JobsToChange jc on q.UID_Job = jc.UID_Job\r\n where q.UID_Tree in (select t.UID_SingleGuid from @Trees t ) select @JobCountTotal = count(*) from @JobsToChange while @JobIndexCurrent <= @JobCountTotal\r\n begin select @PostCMD = 'declare @uid_Tree varchar(38) , @alt varchar(1), @neu varchar(1), @UID_Job varchar(38), @CountLines int = 0 ' + char(13) + char\r\n(10) select @StartLenPostCMD = len(@PostCMD) select top 1 @UID_Job = ch.UID_Job , @NewState = ch.NewState , @SuccesInfo = ch.SuccesInfo , @MessageString\r\n = ch.MessageString from @JobsToChange ch where ch.SortOrder = @JobIndexCurrent   if right(rtrim(@UID_Job),2) = 'RA' begin goto ZyklusEnde end  if @SuccesInfo\r\n in (1, -1)  begin select top 1 @UID_NextJob = isnull(sh.UID_JobSuccess,'') , @UID_NOTnextJob = case when isnull(sh.UID_JobError,'') = isnull(sh.UID_JobSuccess\r\n,'') then '' else isnull(sh.UID_JobError,'') end, @uid_tree = sh.UID_Tree , @isSplitOnly = 1,  @UID_JobError = sh.UID_JobError, @ProcessTrackingForJob \r\n= isnull(sh.ProcessTracking,0), @errorNotify = isnull(sh.ErrorNotify,0), @successNotify = isnull(sh.SuccessNotify,0), @UID_JobsameServer = sh.UID_JobSameServer\r\n,  @Retries = isnull(sh.Retries,0), @DeferOnError = isnull(sh.DeferOnError,0), @MinutesToDefer = isnull(sh.MinutesToDefer,1), @MailAddress = sh.NotifyAddress\r\n, @MailSender = sh.NotifySender, @MailSubject = sh.NotifySubject, @MailBody = sh.NotifyBody, @MailAddress_success = sh.NotifyAddressSuccess, @MailSender_success\r\n = sh.NotifySenderSuccess, @MailSubject_success = sh.NotifySubjectSuccess, @MailBody_success = sh.NotifyBodySuccess, @JobChainName = isnull(sh.JobChainName\r\n,''), @Queue = sh.Queue, @GenProcID = sh.GenProcID, @IsToFreezeOnError = 0,  @ComponentClass = sh.ComponentClass, @TaskName = sh.TaskName  , @UID_JobOrigin\r\n = sh.UID_JobOrigin         , @ready2exeOld = sh.Ready2EXE , @IsForHistory = sh.IsForHistory , @IsLastJobOfSubtree = case when sh.UID_JobSameServer <> \r\nISNULL(ne.UID_JobSameServer,'') and @NewState in (N'FINISHED') then 1 else 0 end , @IsLastJobOfTree = case when isnull(sh.UID_JobSuccess, '') = '' and \r\n@NewState in (N'FINISHED') then 1 else 0 end from @JobQueueShadow sh left outer join @JobQueueShadow ne on sh.UID_JobSuccess = ne.UID_Job where sh.UID_Job\r\n = @UID_Job end else begin select top 1 @UID_NextJob = isnull(sh.UID_JobError,''), @UID_NOTnextJob = case when isnull(sh.UID_JobError,'') = isnull(sh.UID_JobSuccess\r\n,'') then '' else isnull(sh.UID_JobSuccess,'') end, @uid_tree = sh.UID_Tree , @isSplitOnly = isnull(sh.IsSplitOnly,0),  @UID_JobError = sh.UID_JobError\r\n, @ProcessTrackingForJob = isnull(sh.ProcessTracking,0), @errorNotify = isnull(sh.ErrorNotify,0), @successNotify = isnull(sh.SuccessNotify,0), @UID_JobsameServer\r\n = sh.UID_JobSameServer,  @Retries = isnull(sh.Retries,0), @DeferOnError = isnull(sh.DeferOnError,0), @MinutesToDefer = isnull(sh.MinutesToDefer,1), @MailAddress\r\n = sh.NotifyAddress, @MailSender = sh.NotifySender, @MailSubject = sh.NotifySubject, @MailBody = sh.NotifyBody, @MailAddress_success = sh.NotifyAddressSuccess\r\n, @MailSender_success = sh.NotifySenderSuccess, @MailSubject_success = sh.NotifySubjectSuccess, @MailBody_success = sh.NotifyBodySuccess, @JobChainName\r\n = isnull(sh.JobChainName,''), @Queue = sh.Queue, @GenProcID = sh.GenProcID, @IsToFreezeOnError = isnull(sh.IsToFreezeOnError,0),  @ComponentClass = sh.ComponentClass\r\n, @TaskName = sh.TaskName  , @UID_JobOrigin = sh.UID_JobOrigin         , @ready2exeOld = sh.Ready2EXE , @IsForHistory = sh.IsForHistory , @IsLastJobOfSubtree\r\n = case when sh.UID_JobSameServer <> ISNULL(ne.UID_JobSameServer,'') and @NewState in (N'FINISHED') then 1 else 0 end , @IsLastJobOfTree = case when isnull\r\n(sh.UID_JobError, '') = '' and @NewState in (N'FINISHED') then 1 else 0 end from @JobQueueShadow sh left outer join @JobQueueShadow ne on sh.UID_JobError\r\n = ne.UID_Job where sh.UID_Job = @UID_Job end if @@rowcount = 0 begin select @errmsg = concat('#LDS#The process step to update is missing. Tree: {0} missing process step: {1}.|'\r\n + 'not exists' , '|' , @UID_Job , '|' ) exec QBM_PJournal @errmsg, @@procid, 'W', @DebugLevel end select @ProcessTrackingForTree = @ProcessTrackingForJob\r\n  if @IsLastJobOfTree = 1 begin   if @ProcessTrackingForTree = 0 begin if exists (select top 1 1 from @JobQueueShadow s where s.UID_Tree = @UID_Tree and\r\n s.ProcessTracking = 1 ) begin select @ProcessTrackingForTree = 1 end end if @ComponentClass = N'VI.JobService.JobComponents.DelayComponent' and @TaskName\r\n = N'ReActivateJob'  and @WasError = 0 begin select @IsLastJobOfTree = 0 end end   if @newState = N'MISSING' begin update @JobQueueShadow set Ready2EXE\r\n = N'MISSING'  , IsToFreezeOnError = case  when @isSplitOnly = 1 then q.IsToFreezeOnError when @UID_JobError > ' ' then q.IsToFreezeOnError else 1 end \r\n, IsRecordModified = 1 , IsRecordModifiedExtended = 1 , XDateUpdated = @XDateSpecial , XUserUpdated = @XUserSpecial from @JobQueueShadow q where q.UID_Job\r\n = @UID_Job and q.Ready2EXE in (N'LOADED', N'PROCESSING')  and not exists (select top 1 1 from @JobQueueShadow q3 where q3.Ready2EXE in( N'DELETE', N'HISTORY'\r\n) and q3.UID_Tree = @UID_Tree ) update @JobQueueShadow set Ready2EXE = N'FINISHED' , IsRecordModified = 1 , XDateUpdated = @XDateSpecial , XUserUpdated\r\n = @XUserSpecial from @JobQueueShadow q where q.UID_Job = @UID_Job and q.Ready2EXE in (N'LOADED', N'PROCESSING')  and exists (select top 1 1 from @JobQueueShadow\r\n q3 where q3.Ready2EXE in( N'DELETE', N'HISTORY') and q3.UID_Tree = @UID_Tree ) goto ZyklusEnde end    if @ready2exeOld not in (N'LOADED', N'PROCESSING'\r\n, N'MISSING')   and not ( @ComponentClass = N'VI.JobService.JobComponents.DelayComponent' and @TaskName = N'ReActivateJob' ) begin select @errmsg = concat\r\n('#LDS#The process step to update is in wrong state. Tree: {0} process step: {1} state {2}.|' , @uid_tree , '|' , @UID_Job , '|' , @ready2exeOld , '|' \r\n) exec QBM_PJournal @errmsg, @@procid, 'W', @DebugLevel goto ZyklusEnde end   if @SuccesInfo in (1, -1) and @ComponentClass = N'VI.JobService.JobComponents.DelayComponent'\r\n and @TaskName = N'ReActivateJob' begin    if exists (select top 1 1 from @JobQueueShadow q where q.UID_Job = @UID_Job and q.Ready2EXE in (N'FALSE', N'FINISHED'\r\n) ) begin goto ZyklusEnde end end  if isnull(@GenProcID,'') = '' begin select @errmsg = concat('#LDS#Process step generated without GenProcID {0}.|' , \r\n@uid_tree , N'|' )   exec QBM_PJournal @errmsg, @@procid, 'W', @DebugLevel end            if @SuccesInfo in ( 0, 2) and @IsToFreezeOnError = 1 and ((@deferOnError\r\n = 1 and @retries = 0) or @deferOnError = 0 ) begin select @IsToFreeze = 1 end else begin select @IsToFreeze = 0 end if @newstate = 'FINISHED'  begin  \r\n if  ( @SuccesInfo = 0  and @deferOnError = 1  and @retries > 0 )  or @SuccesInfo = 2  begin   update @JobQueueShadow set retries = retries - case @SuccesInfo\r\n  when 2 then 0  else 1  end , ready2exe= N'TRUE' , startat = dateadd(mi , case @SuccesInfo  when 2 then @Common_Jobservice_RedoDelayMinutes  else @MinutesToDefer\r\n  end , GetUTCDate() )  , IsRecordModified = 1 , IsRecordModifiedExtended = 1 , XDateUpdated = @XDateSpecial , XUserUpdated = @XUserSpecial where uid_job\r\n = @UID_Job  update @JobQueueShadow set ready2exe = N'FALSE' , IsRecordModified = 1 , XDateUpdated = @XDateSpecial , XUserUpdated = @XUserSpecial where\r\n ready2exe = N'LOADED' and UID_Tree = @UID_Tree  update @JobQueueShadow set UID_JobSameServer = n.UID_JobSameServerNew , IsRecordModified = 1 , IsRecordModifiedExtended\r\n = 1 , XDateUpdated = @XDateSpecial , XUserUpdated = @XUserSpecial from dbo.QBM_FTJobQueueSetSameServer(@UID_Job) n join @JobQueueShadow q on n.UID_Job\r\n = q.UID_Job where n.UID_JobSameServerNew > ' ' and n.UID_JobSameServerNew <> q.UID_JobSameServer and q.UID_Tree = @UID_Tree if @ProcessTrackingForJob \r\n= 1 begin  select @PostCMD = @PostCMD + ' select @UID_Job =  ''' + rtrim(@UID_Job) + ''' \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t, @neu = ''D'' ' + @PostCMDBodyJob end  goto ZyklusEnde\r\n end  if (@SuccesInfo = 0 and @IsSplitonly = 0) or (@SuccesInfo = 2 and @retries <= 0) begin select @WasError = 1  if @MessageString > ' ' begin if exists\r\n (select top 1 1 from job where uid_job = @UID_JobOrigin and IsErrorLogToJournal = 1 ) begin select top 1 @ServerName = Ident_Server from QBMServer where\r\n QueueName = @Queue exec QBM_PWriteDialogJournal @MessageString, @@PROCID, @Queue, 'E', @ServerName end  end  if @MessageString > ' ' and @IsLastJobOfTree\r\n = 0  begin update @JobQueueShadow set ErrorMessages = dbo.QBM_FGIJobQueueMessageAdd(ErrorMessages, @MessageString) , IsRecordModifiedErrorMessage = 1 \r\n, IsRecordModified = 1 , IsRecordModifiedExtended = 1 , XDateUpdated = @XDateSpecial , XUserUpdated = @XUserSpecial where uid_job = @UID_Job end   if @errorNotify\r\n = 1 and @IsSendMail = 1 begin if isnull(@MailSubject,N'') = N'' begin select @MailSubject = concat('#LDS#Job failed -> Queue: {0} Chain: {1}.|' , @Queue\r\n , '|' , @jobchainName , '|') end exec QBM_PJobCreate_SendMail @MailSubject, @MailBody, @MailAddress, @MailSender, @GenProcID = @GenProcID, @AdditionalMessage=@MessageString\r\n , @AdditionalObjectKeysAffected = DEFAULT end end else  begin select @WasError = 0  if @errorNotify = 1 and @isSendMail = 1 and isnull(len(@MessageString\r\n),0) > 0 begin if isnull(@MailSubject,N'') = N'' begin select @MailSubject = concat('#LDS#Job failed -> Queue: {0} Chain: {1}.|' , @Queue , '|' , @jobchainName\r\n , '|') end exec QBM_PJobCreate_SendMail @MailSubject, @MailBody, @MailAddress, @MailSender, @GenProcID = @GenProcID , @AdditionalMessage=@MessageString\r\n , @AdditionalObjectKeysAffected = DEFAULT end  if @SuccessNotify = 1 and @IsSendMail = 1 and isnull(len(@MessageString),0) = 0 begin if isnull(@MailSubject_success\r\n,N'') = N'' begin select @MailSubject_success = concat('#LDS#Job succeeded -> Queue: {0} Chain: {1}.|' , @Queue , '|' , @jobchainName , '|') end exec QBM_PJobCreate_SendMail\r\n @MailSubject_success, @MailBody_success, @MailAddress_success, @MailSender_success, @GenProcID = @GenProcID , @AdditionalMessage=@MessageString , @AdditionalObjectKeysAffected\r\n = DEFAULT end  if @MessageString > ' ' begin if exists (select top 1 1 from job where uid_job = @UID_JobOrigin and IsErrorLogToJournal = 1 ) begin select\r\n top 1 @ServerName = Ident_Server from QBMServer where QueueName = @Queue exec QBM_PWriteDialogJournal @MessageString, @@PROCID, @Queue, 'W', @ServerName\r\n end  end  if @MessageString > ' ' and @IsLastJobOfTree = 0  begin update @JobQueueShadow  set ErrorMessages = dbo.QBM_FGIJobQueueMessageAdd(ErrorMessages\r\n, @MessageString) , IsRecordModified = 1  , IsRecordModifiedErrorMessage = 1 , XDateUpdated = @XDateSpecial , XUserUpdated = @XUserSpecial where uid_job\r\n = @UID_Job end  end   if @ProcessTrackingForJob = 1 begin if @WasError =1 and (@deferOnError = 0 or @deferOnError = 1 and @retries = 0 ) begin  select\r\n @PostCMD = @PostCMD + ' select @UID_Job =  ''' + rtrim(@UID_Job) + ''' \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t, @neu = ''F'' ' + @PostCMDBodyJob end if @WasError =0 begin  select\r\n @PostCMD = @PostCMD + ' select @UID_Job =  ''' + rtrim(@UID_Job) + ''' \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t, @neu = ''E'' ' + @PostCMDBodyJob end end  if @IsToFreeze = 1 begin\r\n   update @JobQueueShadow set ready2exe= N'FROZEN' , wasError = 1  , ErrorMessages = dbo.QBM_FGIJobQueueMessageAdd(ErrorMessages, @MessageString) , IsRecordModified\r\n = 1 , IsRecordModifiedExtended = 1 , IsRecordModifiedErrorMessage = 1 , XDateUpdated = @XDateSpecial , XUserUpdated = @XUserSpecial where uid_job = @UID_Job\r\n  select @SQLcmd = ' uid_job = ''' + rtrim(@UID_Job) + N'''' exec QBM_PJobCreate_HOFireEvent 'JobQueue', @SQLcmd, 'FROZENDETECT', @GenProcID , @ObjectKeysAffected\r\n = DEFAULT  update @JobQueueShadow set ready2exe = N'FALSE'  , IsRecordModified = 1 , IsRecordModifiedExtended = 1 , XDateUpdated = @XDateSpecial , XUserUpdated\r\n = @XUserSpecial where ready2exe = N'LOADED' and UID_Tree = @UID_Tree update @JobQueueShadow set uid_jobsameserver = uid_job , IsRecordModified = 1 , IsRecordModifiedExtended\r\n = 1 , XDateUpdated = @XDateSpecial , XUserUpdated = @XUserSpecial where uid_jobsameserver <> uid_job and UID_Tree = @UID_Tree  if @ProcessTrackingForJob\r\n = 1 begin   select @PostCMD = @PostCMD + ' select @UID_Job =  ''' + rtrim(@UID_Job) + ''' \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t, @neu = ''L'' ' + @PostCMDBodyJob  end  goto\r\n ZyklusEnde end  if @IsLastJobOfTree = 0 begin if @ComponentClass = N'VI.JobService.JobComponents.DelayComponent' and @TaskName = N'ReActivateJob' and \r\n@WasError = 1  and @UID_NextJob = '' begin select @IsLastJobOfTree = 1 end end  if @IsLastJobOfTree = 1  begin  if exists (select top 1 1 from @JobQueueShadow\r\n q where q.UID_Job <> @UID_Job and q.Ready2EXE in ( N'LOADED', N'PROCESSING') and q.UID_Tree = @UID_Tree ) begin select @ResetCounter = 1              \r\n           update @JobQueueShadow set Ready2EXE = N'FALSE' , IsToFreezeOnError = 0 , IsRecordModified = 1 , IsRecordModifiedExtended = 1 , XDateUpdated\r\n = @XDateSpecial , XUserUpdated = @XUserSpecial from @JobQueueShadow q where q.UID_Job <> @UID_Job and q.Ready2EXE in ( N'LOADED') and q.UID_Tree = @UID_Tree\r\n end    if @ProcessTrackingForJob = 1 or @ProcessTrackingForTree = 1 begin select @PostCMD = @PostCMD + ' select @uid_tree = ''' + rtrim(@uid_Tree) + ''' \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t, @alt = ''G''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t, @neu = ''N'' '\r\n + @PostCMDBodyTree end   select @IsAlreadyHistory = 0 if @writeHistory in ('ERROR' , 'ALL', 'ERRORORSELECTED', 'SELECTED') begin if ( @writeHistory in\r\n( 'ERROR', 'ERRORORSELECTED')  and ( exists (select top 1 1 from @JobQueueShadow q where q.WasError =1 and q.UID_Tree = @UID_Tree ) or (@SuccesInfo = 0\r\n and @isSplitOnly = 0 ) ) ) or ( @writehistory = 'ALL' ) or ( @writehistory in ('ERRORORSELECTED', 'SELECTED') and @IsForHistory = 1 ) begin select @IsAlreadyHistory\r\n = 1  if @MessageString > ' ' begin update @JobQueueShadow set ready2exe = N'HISTORY' , IsToFreezeOnError = 0 , wasError = @WasError  , ErrorMessages =\r\n dbo.QBM_FGIJobQueueMessageAdd(ErrorMessages, @MessageString) , IsRecordModified = 1 , IsRecordModifiedExtended = 1 , IsRecordModifiedErrorMessage = 1 \r\n, XDateUpdated = @XDateSpecial , XUserUpdated = @XUserSpecial where uid_job = @UID_Job end else  begin update @JobQueueShadow set ready2exe = N'HISTORY'\r\n , IsToFreezeOnError = 0 , wasError = @WasError , IsRecordModified = 1 , IsRecordModifiedExtended = 1 , XDateUpdated = @XDateSpecial , XUserUpdated = @XUserSpecial\r\n where uid_job = @UID_Job end   if @ProcessTrackingForJob = 1 begin insert into DialogProcess (GenProcID , BasisObjectType , ObjectKey , ProcessState, \r\nXDateInserted , XDateUpdated , XUserInserted , XUserUpdated , CustomComment, XTouched, DisplayName ) select q.GenProcID, '' , '', 'E', min(q.XDateInserted\r\n), min(q.XDateUpdated), max(q.XUserInserted), max(q.XUserUpdated), '', '', max('#' + 'L' + 'D' + 'S' + '#' + isnull(q.JobChainName, N'') ) from @JobQueueShadow\r\n q where ready2exe = N'HISTORY' and not exists (select top 1 1 from DialogProcess p with(nolock) where p.GenProcID = q.GenProcID ) and q.GenProcID > ' '\r\n and q.UID_Tree = @UID_Tree group by q.GenProcID end  end  end   if @IsAlreadyHistory = 0 begin  if @MessageString > ' ' begin update @JobQueueShadow set\r\n ready2exe = N'DELETE' , IsToFreezeOnError = 0 , wasError = @WasError  , ErrorMessages = dbo.QBM_FGIJobQueueMessageAdd(ErrorMessages, @MessageString) ,\r\n XDateUpdated = @XDateSpecial , XUserUpdated = @XUserSpecial , IsRecordModified = 1 , IsRecordModifiedExtended = 1 , IsRecordModifiedErrorMessage = 1 where\r\n uid_job = @UID_Job end else  begin update @JobQueueShadow set ready2exe = N'DELETE' , IsToFreezeOnError = 0 , wasError = @WasError , XDateUpdated = @XDateSpecial\r\n , XUserUpdated = @XUserSpecial , IsRecordModified = 1 , IsRecordModifiedExtended = 1 where uid_job = @UID_Job end  end  end else  begin  update @JobQueueShadow\r\n set ready2exe = N'FINISHED'        , WasError = case when @SuccesInfo = 0 and @isSplitOnly = 0 then 1 else 0 end  , XDateUpdated = @XDateSpecial , XUserUpdated\r\n = @XUserSpecial , IsRecordModified = 1 where uid_job = @UID_Job  update @JobQueueShadow set ready2exe = N'TRUE' , IsRecordModified = 1 , XDateUpdated \r\n= @XDateSpecial , XUserUpdated = @XUserSpecial where uid_job = @UID_NextJob and (ready2exe = N'FALSE' or uid_jobSameserver <> @UID_Jobsameserver)   and\r\n UID_Tree = @UID_Tree  if @@rowcount = 0 begin  if not exists (select top 1 1 from @JobQueueShadow where uid_job = @UID_NextJob) begin select @errmsg =\r\n concat('#LDS#The next job is missing. Tree: {0} missing job: {0}.|' , @uid_tree , N'|' , @UID_NextJob , N'|' )   exec QBM_PJournal @errmsg, @@procid, \r\n'W', @DebugLevel  end end end  end       if @IsLastJobOfSubtree = 1 begin update @JobQueueShadow set ready2exe = N'FALSE' , IsToFreezeOnError = 0 , IsRecordModified\r\n = 1 , IsRecordModifiedExtended = 1 , XDateUpdated = @XDateSpecial , XUserUpdated = @XUserSpecial from @JobQueueShadow s where s.Ready2EXE in( N'LOADED'\r\n, N'MISSING') and s.UID_JobSameServer = @UID_JobsameServer and UID_Tree = @UID_Tree end  if @newstate = N'PROCESSING' begin update @JobQueueShadow set \r\nready2exe = @newstate  , XDateUpdated = @XDateSpecial , XUserUpdated = @XUserSpecial , IsRecordModified = 1 where uid_job = @UID_Job and ready2exe = N'LOADED'\r\n  if @ProcessTrackingForJob = 1 begin  select @PostCMD = @PostCMD + ' select @UID_Job =  ''' + rtrim(@UID_Job) + ''' \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t, @neu = ''P'' ' + \r\n@PostCMDBodyJob end end ZyklusEnde: if len(@PostCMD) > @StartLenPostCMD begin select @PostCMD = @PostCMD + '\r\n\t\tif @CountLines > 0\r\n\t\t begin\r\n\t\t\tselect 1\r\n\t\t end\r\n\t\t'\r\n  insert into @PostCmdCollection (ContentFull, UID1, UID2) select @PostCMD, @UID_Tree, @GenProcID end select @JobIndexCurrent += 1 end   delete  @JobQueueShadow\r\n where IsRecordModified = 0 if exists (select top 1 1 from @JobQueueShadow s ) begin if exists (select top 1 1 from @JobQueueShadow s where s.IsRecordModifiedErrorMessage\r\n = 1 )  begin update JobQueue set ErrorMessages = case s.IsRecordModifiedErrorMessage when 1 then s.ErrorMessages else q.ErrorMessages end , UID_JobSameServer\r\n = case s.IsRecordModifiedExtended when 1 then s.UID_JobSameServer else q.UID_JobSameServer end , StartAt = case s.IsRecordModifiedExtended when 1 then\r\n s.StartAt else q.StartAt end , Retries = case s.IsRecordModifiedExtended when 1 then s.Retries else q.Retries end , IsToFreezeOnError = case s.IsRecordModifiedExtended\r\n when 1 then s.IsToFreezeOnError else q.IsToFreezeOnError end  , Ready2EXE = s.Ready2EXE , WasError = s.WasError , XDateUpdated = s.XDateUpdated  , XUserUpdated\r\n = s.XUserUpdated from JobQueue q join @JobQueueShadow s on s.UID_Job = q.UID_Job end else begin  update JobQueue set UID_JobSameServer = case s.IsRecordModifiedExtended\r\n when 1 then s.UID_JobSameServer else q.UID_JobSameServer end , StartAt = case s.IsRecordModifiedExtended when 1 then s.StartAt else q.StartAt end , Retries\r\n = case s.IsRecordModifiedExtended when 1 then s.Retries else q.Retries end , IsToFreezeOnError = case s.IsRecordModifiedExtended when 1 then s.IsToFreezeOnError\r\n else q.IsToFreezeOnError end  , Ready2EXE = s.Ready2EXE , WasError = s.WasError , XDateUpdated = s.XDateUpdated  , XUserUpdated = s.XUserUpdated from \r\nJobQueue q join @JobQueueShadow s on s.UID_Job = q.UID_Job end end   set lock_timeout 1000 select @PostCmdElementIndex = 1 select top 1 @PostCmdElementCount\r\n = count(*) from @PostCmdCollection while @PostCmdElementIndex <= @PostCmdElementCount begin select top 1 @UID_Tree = c.UID1 , @GenProcID = c.UID2 , @PostCMD\r\n = c.ContentFull from @PostCmdCollection c where c.ElementIndex = @PostCmdElementIndex select @CountOfPostCMD = 0 BEGIN TRY exec @CountOfPostCMD = QBM_PExecuteSQLWithRetry_LLP\r\n @SQLStatement = @PostCMD , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@procid , @HandleErrorSilent = 0        \r\n      END TRY BEGIN CATCH select @CountOfPostCMD = 0 END CATCH select @PostCmdElementIndex += 1 end   insert into @FolgeJobs(Object, GenProcID) select \r\nx.Object, x.GenProcID from ( select sh.UID_Tree as Object , max(sh.GenProcID) as GenProcID  from @JobQueueShadow sh group by sh.UID_Tree having max(convert\r\n(int, sh.IsRecordModified)) > 0 or max(convert(int, sh.ProcessTracking)) > 0 ) as x where exists (select top 1 1 from DialogProcessChain ch with (forceSeek\r\n) where ch.UID_Tree = x.Object ) if exists (select top 1 1 from @FolgeJobs ) begin exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonProcessChain' , @FolgeJobs\r\n end set lock_timeout -1 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR\r\n (@Rethrow, 18, 1) WITH NOWAIT END CATCH set lock_timeout -1 return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJournal",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.367",
      "ModifyDate": "2026-04-14T23:20:26.063",
      "Definition": "   create   procedure QBM_PJournal ( @Message nvarchar(max) , @Procid int , @MessageType char(1) , @LevelFromProcedure char(1) , @SuppressEntriesCount\r\n int = 0 ) as begin declare @MessageIfError nvarchar(max) declare @DebugSwitch int = 0 declare @Procname nvarchar(256) SET XACT_ABORT OFF BEGIN TRY if \r\nisnull(@MessageType, 'X') not in ('T', 'D', 'I', 'W', 'E') begin  goto endlabel end if isnull(@LevelFromProcedure, 'X') not in ('T', 'D', 'I', 'W', 'E'\r\n) begin  goto endlabel end if TRANSLATE(@LevelFromProcedure, 'TDIWE', '01234') <= TRANSLATE(@MessageType, 'TDIWE', '01234') begin  goto doit end else begin\r\n  goto endLabel end doit: if @Message is null and @DebugSwitch = 1 begin select @Procname = OBJECT_NAME(@Procid) select @MessageIfError = CONCAT('empty message for journal in '\r\n, @Procname) exec QBM_PWriteDialogJournal @MessageIfError, @procid, @procid, 'E', @SuppressEntriesCount = 0  set XACT_ABORT ON raiserror(@MessageIfError\r\n, 18, 1) with nowait end else begin exec QBM_PWriteDialogJournal @Message, @procid, @procid, @messagetype, @SuppressEntriesCount = @SuppressEntriesCount\r\n end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1\r\n) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PJournalShrink",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.257",
      "ModifyDate": "2026-04-14T23:20:25.943",
      "Definition": "  create   procedure QBM_PJournalShrink as begin declare @AnzahlTage int declare @AnzahlTageT int declare @AnzahlTageD int declare @AnzahlTageI \r\nint declare @AnzahlTageW int declare @AnzahlTageE int declare @BulkCount int declare @TotalCount int declare @Grenze nvarchar(1000) = '' declare @Klausel\r\n nvarchar(max) declare @AnzahlGeloescht int declare @AnzahlTotal int = 0 declare @DebugSwitch int = 0 SET XACT_ABORT OFF BEGIN TRY select @BulkCount = \r\ndbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue( 'Common\\Journal\\Delete\\BulkCount'), 200) select @TotalCount = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue\r\n( 'Common\\Journal\\Delete\\TotalCount'), 10000) select @AnzahlTage = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue( 'Common\\Journal\\LifeTime'), 30) select\r\n @AnzahlTageE = abs(dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue( 'Common\\Journal\\LifeTime\\E'), @AnzahlTage)) * (-1) select @AnzahlTageW = abs(dbo.QBM_FCVStringToInt\r\n(dbo.QBM_FGIConfigparmValue( 'Common\\Journal\\LifeTime\\W'), @AnzahlTage)) * (-1) select @AnzahlTageI = abs(dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue\r\n( 'Common\\Journal\\LifeTime\\I'), @AnzahlTage)) * (-1) select @AnzahlTageD = abs(dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue( 'Common\\Journal\\LifeTime\\D'\r\n), 3)) * (-1) select @AnzahlTageT = abs(dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue( 'Common\\Journal\\LifeTime\\T'), 1)) * (-1) select @Klausel = concat\r\n( '( MessageType = ''E'' and  messagedate < ''' , convert(nvarchar(64), dateadd(dd, @AnzahlTageE, GetUTCDate()), 121) + N''' )' , char(13), char(10), 'OR ( MessageType = ''W'' and  messagedate < '''\r\n + convert(nvarchar(64), dateadd(dd, @AnzahlTageW, GetUTCDate()), 121) + N''')' , char(13), char(10), 'OR ( MessageType = ''I'' and  messagedate < ''' \r\n+ convert(nvarchar(64), dateadd(dd, @AnzahlTageI, GetUTCDate()), 121) + N''')' , char(13), char(10), 'OR ( MessageType = ''D'' and  messagedate < ''' +\r\n convert(nvarchar(64), dateadd(dd, @AnzahlTageD, GetUTCDate()), 121) + N''')' , char(13), char(10), 'OR ( MessageType = ''T'' and  messagedate < ''' + \r\nconvert(nvarchar(64), dateadd(dd, @AnzahlTageT, GetUTCDate()), 121) + N''')' )  if @DebugSwitch > 0 begin print @Klausel end exec @AnzahlGeloescht = QBM_PDeleteBulk\r\n 'DialogJournal', @Klausel, @BulkCount, @TotalCount select @AnzahlTotal += @AnzahlGeloescht END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare\r\n @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return (@AnzahlTotal) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PLoginAuditShrink",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-12-15T17:37:45.347",
      "ModifyDate": "2026-04-14T23:20:26.05",
      "Definition": "  create   procedure QBM_PLoginAuditShrink as begin declare @AnzahlTage int declare @AnzahlTageLoginSuccess int declare @AnzahlTageLoginFailure \r\nint declare @AnzahlTageLogOff int declare @BulkCount int declare @TotalCount int declare @Klausel nvarchar(max) declare @AnzahlGeloescht int declare @AnzahlTotal\r\n int = 0 declare @DebugSwitch int = 0 SET XACT_ABORT OFF BEGIN TRY select @BulkCount = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue( 'Common\\Journal\\Delete\\BulkCount'\r\n), 200) select @TotalCount = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue( 'Common\\Journal\\Delete\\TotalCount'), 10000) select @AnzahlTage = dbo.QBM_FCVStringToInt\r\n(dbo.QBM_FGIConfigparmValue( 'Common\\Journal\\LifeTime'), 30) select @AnzahlTageLoginSuccess = abs(dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue( 'Common\\Journal\\LoginAudit\\LifeTimeSuccess'\r\n), @AnzahlTage)) * (-1) select @AnzahlTageLoginFailure = abs(dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue( 'Common\\Journal\\LoginAudit\\LifeTimeFailure'\r\n), @AnzahlTage)) * (-1) select @AnzahlTageLogOff = abs(dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue( 'Common\\Journal\\LogoffAudit\\LifeTimeLogoff'),\r\n @AnzahlTage)) * (-1) select @Klausel = concat( '( Type = 0 and  XDateInserted < ''' , convert(nvarchar(64), dateadd(dd, @AnzahlTageLoginFailure, GetUTCDate\r\n()), 121) + N''' )' , char(13), char(10), 'OR ( Type = 1 and  XDateInserted < ''' + convert(nvarchar(64), dateadd(dd, @AnzahlTageLoginSuccess, GetUTCDate\r\n()), 121) + N''')' , char(13), char(10), 'OR ( Type = 2 and  XDateInserted < ''' + convert(nvarchar(64), dateadd(dd, @AnzahlTageLogOff, GetUTCDate()), \r\n121) + N''')' )  if @DebugSwitch > 0 begin print @Klausel end exec @AnzahlGeloescht = QBM_PDeleteBulk 'QBMLoginAudit', @Klausel, @BulkCount, @TotalCount\r\n select @AnzahlTotal += @AnzahlGeloescht END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return (@AnzahlTotal) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PMakeConstraint",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.97",
      "ModifyDate": "2026-04-14T23:20:29.76",
      "Definition": "          create   procedure QBM_PMakeConstraint (@Table nvarchar(32)  ) as begin   declare @ConstraintDefs QBM_YCursorBuffer declare @ElementCount\r\n int declare @ElementIndex int declare @ElementLast int declare @EinzelSql nvarchar(max) declare @IsToCreate bit declare @ExistingConstraints QBM_YCursorBuffer\r\n declare @ConstraintName varchar(30) declare @DebugLevel char(1) = 'W' declare @Debugmessage nvarchar(4000) declare @DebugSwitch int = 0 SET XACT_ABORT\r\n OFF BEGIN TRY      if not exists (select top 1 1 from information_schema.tables where table_name = @Table and table_type in ('BASE TABLE') ) begin  return\r\n end insert into @ExistingConstraints(Ident1  , ContentFull) select x.FKName , concat('alter table ' ,x.ChildTable,' with nocheck add constraint ' ,x.FKName\r\n,' foreign Key (' ,x.ChildColumn,') references ' ,x.ParentTable,' (' ,x.ParentColumn,') on delete ' , case x.delete_referential_action_desc collate database_default\r\n when 'NO_ACTION' then 'no action' when 'SET_NULL' then 'set null' when 'CASCADE' then 'cascade' else x.delete_referential_action_desc  end ,' not for Replication'\r\n ) collate database_default as DefineString from ( select c.name as ChildTable, fk.name as FKName, o.name as schemaname, fk.delete_referential_action_desc\r\n, cc.name as ChildColumn, cp.name as ParentColumn, p.name as ParentTable from sys.foreign_keys fk join sys.objects c on c.object_id = fk.parent_object_id\r\n join sys.objects p on p.object_id = fk.referenced_object_id join sys.schemas o on c.schema_id = o.schema_id and dbo.QBM_FGIObjectIsDropable (o.schema_id\r\n)=1 join DialogTable dt with (readpast) on c.name = dt.TableName collate database_default join sys.foreign_key_columns fkc on fk.object_id = fkc.constraint_object_id\r\n join sys.columns cc on cc.object_id = c.object_id and cc.column_id = fkc.parent_column_id join sys.columns cp on cp.object_id = p.object_id and cp.column_id\r\n = fkc.referenced_column_id where fk.type = 'F'  and c.name = @Table collate database_default  ) as x  insert into @ConstraintDefs(ContentFull) select \r\ndbo.QBM_FSQFKCheckFix (r.UID_QBMRelation, r.GenerateChild, 'dummy')  from QBM_VQBMRelation r where r.Childtable = @table and r.GenerateChild > ' ' and \r\nr.GenerateChild like 'C%' select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY update\r\n @ExistingConstraints set Bit1 = 1 from @ExistingConstraints e left outer join @ConstraintDefs n on e.ContentFull = n.ContentFull where n.ContentFull is\r\n null update @ConstraintDefs set Bit1 = 1 from @ConstraintDefs n left outer join @ExistingConstraints e on e.ContentFull = n.ContentFull where e.ContentFull\r\n is null while exists (select top 1 1 from @ExistingConstraints e where e.Bit1 = 1 ) begin select top 1 @ConstraintName = e.Ident1 from @ExistingConstraints\r\n e where e.Bit1 = 1 if @debugSwitch > 0 begin print concat('droppen ' , @ConstraintName) end exec QBM_PConstraintFKDrop @Table, @ConstraintName delete \r\n@ExistingConstraints where Ident1 = @ConstraintName end  while @ElementIndex <= @ElementLast begin select top 1 @EinzelSql = bu.ContentFull , @IsToCreate\r\n = bu.Bit1 from @ConstraintDefs bu where bu.ElementIndex = @ElementIndex if @debugSwitch > 0 begin print concat('create' , str(@IsToCreate), ' ', @EinzelSql\r\n) end if @IsToCreate = 1 begin exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @EinzelSql , @LockTimeout_ms = 2000 , @MaxWaitTimeForLock_s = 15.0 , @ProcIDForJournal\r\n = default , @HandleErrorSilent = 0 , @DeadlockPriority = 5  , @ExecuteWithTransact = 0 end exec QBM_PSessionErrorClean select @ElementIndex += 1 end END\r\n TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT\r\n END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PMigrationNotReadyForComp",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.573",
      "ModifyDate": "2026-04-14T23:16:09.21",
      "Definition": "        create   procedure QBM_PMigrationNotReadyForComp  ( @UID_Task varchar(38) = 'QBM-K-CommonWaitForCompiler' , @WithTaskInsert bit = 1 ) as\r\n begin declare @notReady int = 1 declare @exists int   declare @CutOffTaskLevel int declare @GenProcID varchar(38) = newid() declare @DebugSwitch int =\r\n 0 declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser') SET XACT_ABORT OFF\r\n BEGIN TRY if isnull(@UID_Task, '###') not in ('QBM-K-CommonWaitForCompiler', 'QBM-K-BaseMigrationReady') begin raiserror ('#LDS#Invalid @UID_Task used.|'\r\n, 18, 1) with nowait end select @exists = dbo.QBM_FGICutOffTaskExists(@UID_Task) if @exists = 1  begin exec QBM_PWaitForSeconds 0.75 select @exists = dbo.QBM_FGICutOffTaskExists\r\n(@UID_Task) if @exists = 1 begin exec QBM_PWaitForSeconds 0.75 select @exists = dbo.QBM_FGICutOffTaskExists(@UID_Task) end end if @exists = 0   and @WithTaskInsert\r\n = 1 begin if exists (select top 1 1 from DialogDatabase d with (readpast) where d.UID_CutOffTask is null and d.IsMainDatabase = 1 ) begin exec QBM_PDBQueueInsert_Single\r\n @uid_task, '', '', @GenProcID goto endLabel end end select @notReady = case @exists when 0 then 1  when -1 then 1  else  0  end END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel:\r\n exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet 'XUser', @XUser_R return (@notReady) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PMissingDisplayRightFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-09-22T13:34:06.997",
      "ModifyDate": "2026-04-14T23:20:30.24",
      "Definition": "   create   procedure QBM_PMissingDisplayRightFill ( @UID_DialogTable varchar(38) ) as begin declare @TableName varchar(30) declare @hashes table\r\n (HashWithoutJoin varbinary(20) index Hashes1 (HashWithoutJoin) ) declare @JoinConditionConcat nvarchar(max) declare @HashWithoutJoin varbinary(20) declare\r\n @zwischen table ( UID_DialogGroup varchar(38) collate database_default , UID_DialogColumn varchar(38) collate database_default , ColumnName varchar(30\r\n) collate database_default   , IsTableRightExisting bit  , SelectWhereClause nvarchar(max) collate database_default , ChildTableName varchar(30) collate\r\n database_default , JoinCondition nvarchar(max) collate database_default , HashWithoutJoin varbinary(20) , BaseClauseEmpty bit default 0 , index zwischen1\r\n (HashWithoutJoin) ) declare @erg table ( UID_DialogGroup varchar(38) collate database_default , UID_DialogColumn varchar(38) collate database_default \r\n, ColumnName varchar(30) collate database_default , IsTableRightExisting bit  , SelectWhereClause nvarchar(max) collate database_default , ChildTableName\r\n varchar(30) collate database_default  , UID_QBMMissingDisplayRight varchar(38) collate database_default  , UID_DialogTableChild varchar(38) collate database_default\r\n  , XObjectKey varchar(138) collate database_default   ) declare @DebugSwitch int = 0 declare @DebugLevel varchar(1) = 'W' declare @DebugMessage nvarchar\r\n(max) declare @Anzahl int BEGIN TRY set nocount on select top 1 @TableName = t.TableName from DialogTable t with (readpast) where t.UID_DialogTable = @UID_DialogTable\r\n  insert into @zwischen(UID_DialogGroup, UID_DialogColumn, ColumnName, IsTableRightExisting, SelectWhereClause,ChildTableName, JoinCondition, HashWithoutJoin\r\n , BaseClauseEmpty ) select distinct soll.UID_DialogGroup , soll.UID_DialogColumn , soll.ParentDisplayColumn , sign(len(isnull(istT.UID_DialogTable, ''\r\n)))  , soll.SelectWhereClause , soll.ChildTableName , soll.JoinCondition , dbo.QBM_FCVStringToHash( concat( soll.UID_DialogGroup , soll.UID_DialogColumn\r\n , soll.ParentDisplayColumn , str(sign(len(isnull(istT.UID_DialogTable, '')))) , soll.SelectWhereClause , soll.ChildTableName ) ) , soll.BaseClauseEmpty\r\n from ( select  tr.UID_DialogTable , cr.ColumnName  , ref.TableNameFK as TablenameParent , @UID_DialogTable as UID_DialogTableDisplay , cgr.UID_DialogGroup\r\n , cr.UID_DialogColumn as UID_DialogColumnChild , @UID_DialogTable as UID_DialogTableParent , ref.UID_DialogColumnDisplay as UID_DialogColumn , ref.ColumnNameDisplay\r\n as ParentDisplayColumn , case when tgr.SelectWhereClause > ' ' then 0 else 1 end as BaseClauseEmpty ,  case  when tr.TableName <> @TableName then 'exists (select top 1 1  \r\n\t\t\tfrom '\r\n + tr.TableName + ' with (readpast)\r\n\t\t\twhere '  + case when tgr.SelectWhereClause is null then '' else '(\r\n' + dbo.QBM_FCVStringToIndent( isnull(tgr.SelectWhereClause\r\n, '1=1'), 5) + '\r\n\t\t\t\t\t)\r\n\t\t\tand ' end + '@@joinCondition@@' + '\r\n\t\t) '  else  r.ParentColumn + ' in ( select ' + cr.ColumnName + ' from ' + tr.TableName\r\n + ' with (readpast)  where ' + isnull(tgr.SelectWhereClause, '1=1') + ') /* old style */ '  end as SelectWhereClause , tr.TableName as ChildTableName \r\n, isnull(tgr.SelectWhereClause, '1=1') as KernelClause  , case  when tr.TableName <> @TableName then tr.TableName + '.' + cr.ColumnName + ' = ' + @TableName\r\n + '.' + r.ParentColumn else '' end as JoinCondition    from ( select tabref.TableName as TableNameFK, colref.ColumnName as ColumnNameDisplay, colref.UID_DialogColumn\r\n as UID_DialogColumnDisplay    from DialogTable tabref with (readpast) join DialogColumn colref with (readpast) on tabref.UID_DialogTable = @UID_DialogTable\r\n and colref.UID_DialogTable = @UID_DialogTable join DialogColumn colpk with (readpast) on colpk.UID_DialogTable = @UID_DialogTable and colpk.IsPKMember\r\n = 1 where ( replace(tabref.DisplayPattern, '??', '%%') like '%[%]' + colref.columnname + N'[%]%' or replace(tabref.DisplayPatternLong, '??', '%%') like\r\n '%[%]' + colref.columnname + N'[%]%' ) and tabref.IsDeactivatedByPreProcessor = 0 and colref.IsDeactivatedByPreProcessor = 0 group by tabref.TableName\r\n , colref.ColumnName , colref.UID_DialogColumn, colpk.UID_DialogColumn, colpk.ColumnName ) as ref join QBM_VQBMRelationALL r on r.UID_DialogTableParent\r\n = @UID_DialogTable join DialogTableGroupRight tgr with (readpast) on tgr.UID_DialogTable = r.UID_DialogTableChild and tgr.CanSee = 1 join DialogTable \r\ntr with (readpast) on tgr.UID_DialogTable = tr.UID_DialogTable and tr.IsDeactivatedByPreProcessor = 0 join DialogColumnGroupRight cgr with (readpast) on\r\n cgr.UID_DialogColumn = r.UID_ChildColumn and tgr.UID_DialogGroup = cgr.UID_DialogGroup and cgr.CanSee = 1 join DialogColumn cr with (readpast) on cr.UID_DialogColumn\r\n = cgr.UID_DialogColumn and cr.IsDeactivatedByPreProcessor = 0 and (cr.IsForeignKey = 1 or cr.IsDynamicFK = 1 ) ) as soll left outer join  (  select co.UID_DialogGroup\r\n, tgr.UID_DialogTable, co.UID_DialogGroupParent  from DialogGroupCollection co with (readpast) join DialogTableGroupRight tgr with (readpast) on co.UID_DialogGroupParent\r\n = tgr.UID_DialogGroup and tgr.UID_DialogTable = @UID_DialogTable and tgr.CanSee = 1     ) as istT on soll.UID_DialogTableParent = istT.UID_DialogTable\r\n and soll.UID_DialogGroup = istT.UID_DialogGroup  left outer join  (  select co.UID_DialogGroup, tgr.UID_DialogTable, co.UID_DialogGroupParent , cgr.UID_DialogColumn\r\n from DialogGroupCollection co with (readpast) join DialogTableGroupRight tgr with (readpast) on co.UID_DialogGroupParent = tgr.UID_DialogGroup and tgr.UID_DialogTable\r\n = @UID_DialogTable and tgr.CanSee = 1 join DialogColumnGroupRight cgr with (readpast) on tgr.UID_DialogGroup = cgr.UID_DialogGroup and cgr.CanSee = 1 \r\njoin DialogColumn c with (readpast) on cgr.UID_DialogColumn = c.UID_DialogColumn and c.UID_DialogTable = tgr.UID_DialogTable ) as istC on soll.UID_DialogTableParent\r\n = istC.UID_DialogTable and soll.UID_DialogGroup = istC.UID_DialogGroup and soll.UID_DialogColumn = istC.UID_DialogColumn where istC.UID_DialogColumn is\r\n null or istT.UID_DialogTable > ' '  insert into @erg(UID_DialogGroup, UID_DialogColumn, ColumnName, IsTableRightExisting, SelectWhereClause,ChildTableName\r\n ) select distinct  UID_DialogGroup, UID_DialogColumn, ColumnName, IsTableRightExisting, SelectWhereClause,ChildTableName from @zwischen where JoinCondition\r\n = '' insert into @erg(UID_DialogGroup, UID_DialogColumn, ColumnName, IsTableRightExisting, SelectWhereClause,ChildTableName ) select distinct  z.UID_DialogGroup\r\n, z.UID_DialogColumn, z.ColumnName, z.IsTableRightExisting , replace(z.SelectWhereClause, '@@joincondition@@', z.JoinCondition) , z.ChildTableName from\r\n @zwischen z where z.JoinCondition > ' ' and z.HashWithoutJoin in ( select g.HashWithoutJoin from @zwischen g group by g.HashWithoutJoin having count(*\r\n) = 1 )   insert into @hashes(HashWithoutJoin) select distinct z.HashWithoutJoin from @zwischen z where z.JoinCondition > ' ' and z.HashWithoutJoin in \r\n( select g.HashWithoutJoin from @zwischen g group by g.HashWithoutJoin having count(*) > 1 )  and z.BaseClauseEmpty = 0 select @HashWithoutJoin = 0x01 \r\nwhile @HashWithoutJoin is not null begin select @HashWithoutJoin = null select top 1 @HashWithoutJoin = h.HashWithoutJoin from @hashes h order by h.HashWithoutJoin\r\n if @HashWithoutJoin is null begin continue end select @JoinConditionConcat = concat('(' , string_agg ( convert(nvarchar(max),z.JoinCondition )  , N' or  '\r\n ) within group (order by z.JoinCondition )  , ')' ) from @zwischen z where z.HashWithoutJoin = @HashWithoutJoin insert into @erg(UID_DialogGroup, UID_DialogColumn\r\n, ColumnName, IsTableRightExisting, SelectWhereClause,ChildTableName ) select top 1  z.UID_DialogGroup, z.UID_DialogColumn, z.ColumnName, z.IsTableRightExisting\r\n , replace(z.SelectWhereClause, '@@joincondition@@', @JoinConditionConcat) , z.ChildTableName from @zwischen z where z.HashWithoutJoin = @HashWithoutJoin\r\n delete  @hashes  where HashWithoutJoin = @HashWithoutJoin end   delete  @hashes  insert into @hashes(HashWithoutJoin) select distinct z.HashWithoutJoin\r\n from @zwischen z where z.JoinCondition > ' ' and z.HashWithoutJoin in ( select g.HashWithoutJoin from @zwischen g group by g.HashWithoutJoin having count\r\n(*) > 1 )  and z.BaseClauseEmpty = 1 select @HashWithoutJoin = 0x01 while @HashWithoutJoin is not null begin select @HashWithoutJoin = null select top \r\n1 @HashWithoutJoin = h.HashWithoutJoin from @hashes h if @HashWithoutJoin is null begin continue end select @JoinConditionConcat = string_agg (convert(nvarchar\r\n(max), N'\r\n\t\tselect top 1 1  \r\n\t\t\tfrom @Tablename@ with (readpast)\r\n\t\t\twhere ' + z.JoinCondition )  , N'\r\n\t\t\r\n\t\tunion all \r\n\t\t\t\t' ) within group (order\r\n by z.JoinCondition)  from @zwischen z where z.HashWithoutJoin = @HashWithoutJoin insert into @erg(UID_DialogGroup, UID_DialogColumn, ColumnName, IsTableRightExisting\r\n, SelectWhereClause,ChildTableName ) select top 1  z.UID_DialogGroup, z.UID_DialogColumn, z.ColumnName, z.IsTableRightExisting , 'exists (\r\n\t\t\t' + replace\r\n(@JoinConditionConcat, '@Tablename@', z.ChildTableName) + '\r\n\t\t)' , z.ChildTableName from @zwischen z where z.HashWithoutJoin = @HashWithoutJoin delete\r\n  @hashes  where HashWithoutJoin = @HashWithoutJoin end  update @erg set UID_DialogTableChild = t.UID_DialogTable from @erg e join DialogTable t with (readpast\r\n) on e.ChildTableName = t.TableName update @erg set UID_QBMMissingDisplayRight = dbo.QBM_FCVStringToGUID('', CONCAT ( e.UID_DialogGroup, e.UID_DialogColumn\r\n, e.UID_DialogTableChild, e.SelectWhereClause ) ) , XObjectKey = dbo.QBM_FCVElementToObjectKey1('QBMMissingDisplayRight', '' ,dbo.QBM_FCVStringToGUID(''\r\n, CONCAT ( e.UID_DialogGroup, e.UID_DialogColumn, e.UID_DialogTableChild, e.SelectWhereClause ) ) ) from @erg e    begin transaction  insert into QBMMissingDisplayRight\r\n with (tablockX) (UID_QBMMissingDisplayRight , UID_DialogGroup, UID_DialogColumn, UID_DialogTableChild , IsTableRightExisting, SelectWhereClause , XObjectKey\r\n ) select UID_QBMMissingDisplayRight , UID_DialogGroup, UID_DialogColumn, UID_DialogTableChild , IsTableRightExisting, SelectWhereClause , XObjectKey from\r\n @erg e where not exists (select top 1 1 from QBMMissingDisplayRight v with (readpast) where v.UID_QBMMissingDisplayRight = e.UID_QBMMissingDisplayRight\r\n ) select @Anzahl = @@ROWCOUNT if @DebugSwitch > 0 begin print 'eingefügt ' + @TableName + str(@anzahl) end  update QBMMissingDisplayRight set IsTableRightExisting\r\n = e.IsTableRightExisting , SelectWhereClause = e.SelectWhereClause from QBMMissingDisplayRight mr with (readpast) join @erg e on mr.UID_QBMMissingDisplayRight\r\n = e.UID_QBMMissingDisplayRight where isnull(mr.IsTableRightExisting, 0) <> isnull(e.IsTableRightExisting, 0) or isnull(mr.SelectWhereClause, '') <> isnull\r\n(e.SelectWhereClause, '') select @Anzahl = @@ROWCOUNT if @DebugSwitch > 0 begin print 'geändert ' + @TableName + str(@Anzahl) end  delete QBMMissingDisplayRight\r\n from QBMMissingDisplayRight mr join DialogColumn c with (readpast) on mr.UID_DialogColumn = c.UID_DialogColumn where c.UID_DialogTable = @UID_DialogTable\r\n and not exists (select top 1 1 from @erg e where e.UID_QBMMissingDisplayRight = mr.UID_QBMMissingDisplayRight ) select @Anzahl = @@ROWCOUNT if @DebugSwitch\r\n > 0 begin print 'gelöscht ' + @TableName + str(@Anzahl) end commit transaction END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default exec QBM_PJournal\r\n 'SessionError', @@procid, 'E', @DebugLevel RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PMNTableDelete",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.65",
      "ModifyDate": "2026-04-14T23:20:26.417",
      "Definition": "     create   procedure QBM_PMNTableDelete (@TargetTable varchar(30)  , @ElementColumn varchar(30) , @AssignedElementColumn varchar(30) , @TargetIsView\r\n bit = 0   , @FKTableNameElement varchar(30) = ''  , @FKColumnNameElement varchar(30) = ''      ) as begin declare @GenProcID varchar(38) declare @SQLCmdDelete\r\n nvarchar(max) = N'' declare @SQLCmdFire nvarchar(max) = N'' declare @SQLAction nvarchar(max)  declare @TargetTableView varchar(30)  declare @IsAssignmentWithEvent\r\n bit declare @DebugSwitch int = 0 declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext\r\n('XUser') declare @ElementCount int declare @ElementIndex int declare @DifferentTables QBM_YCursorBuffer declare @ElementCountDifferentTables int declare\r\n @ElementIndexDifferentTables int declare @ElementLastDifferentTables int SET XACT_ABORT OFF BEGIN TRY select @SQLCmdDelete = concat('\r\n\t  delete ' , @TargetTable\r\n , '\r\n\t\tfrom ' , @TargetTable , ' z , #QBMDeltaDelete  d \r\n\t\twhere d.GenProcID = ''@GenProciD''\r\n\t\t and z.' , @ElementColumn , ' = d.element\r\n\t\t and z.'\r\n , @AssignedElementColumn , ' = d.AssignedElement\r\n\t\t' ) if @TargetIsView = 0 begin select @SQLCmdFire = '\r\n\t\tdeclare @EntriesToFire QBM_YParameterList \r\n\t\tdeclare @AddonElements QBM_YParameterList \r\n\t\t\t\r\n\t\tinsert into @EntriesToFire(Parameter1)\r\n\t\t\tselect @XObjectKey@\r\n\t\t\tfrom #QBMDeltaDelete d\r\n\t\t\twhere d.GenProcID = ''@GenProciD''\r\n\t\t\t\t'\r\n if @FKTableNameElement > ' ' and @FKColumnNameElement > ' ' begin select @SQLCmdFire =concat( @SQLCmdFire , '\r\n\t\t\t\t\r\n\t\t\tinsert into @AddonElements(Parameter1, Parameter2)\r\n\t\t\t\tselect distinct x.XObjectKey, @XObjectKey@\r\n\t\t\t\tfrom #QBMDeltaDelete d join '\r\n , @FKTableNameElement , ' x on x.' , @FKColumnNameElement , ' = d.Element\r\n\t\t\t\twhere d.GenProcID = ''@GenProciD''\r\n\t\t\t' ) end  select @SQLCmdFire = concat\r\n(@SQLCmdFire , '\t\t\r\n\r\n\t\texec QBM_PJobCreate_HODelete_L ''' , @TargetTable , ''', @EntriesToFire, ''@GenProcID''\r\n\t\t\t\t\t\t, @AddonElements\r\n\t\t\t\t\t\t, @isToFreezeOnError = 1\r\n\r\n\t\t\t\t'\r\n ) end else begin select @SQLCmdFire = '\r\n\t\tdeclare @EntriesToFire QBM_YParameterList \r\n\t\tdeclare @AddonElements QBM_YParameterList \r\n\t\t\t\r\n\t\tinsert into @EntriesToFire(Parameter1)\r\n\t\t\tselect @XObjectKey@\r\n\t\t\tfrom #QBMDeltaDelete d\r\n\t\t\twhere d.GenProcID = ''@GenProciD''\r\n\t\t\t and d.TargetTableView = ''@TargetTableView@''\r\n\t\t\t\t'\r\n if @FKTableNameElement > ' ' and @FKColumnNameElement > ' ' begin select @SQLCmdFire = concat(@SQLCmdFire , '\r\n\t\t\t\t\r\n\t\t\tinsert into @AddonElements(Parameter1, Parameter2)\r\n\t\t\t\tselect distinct x.XObjectKey, @XObjectKey@\r\n\t\t\t\tfrom #QBMDeltaDelete d join '\r\n , @FKTableNameElement , ' x on x.' , @FKColumnNameElement , ' = d.Element\r\n\t\t\t\twhere d.GenProcID = ''@GenProciD''\r\n\t\t\t' ) end  select @SQLCmdFire = concat\r\n(@SQLCmdFire , '\t\t\r\n\r\n\t\texec QBM_PJobCreate_HODelete_L ''@TargetTableView@'', @EntriesToFire, ''@GenProcID''\r\n\t\t\t\t\t\t, @AddonElements\r\n\t\t\t\t\t\t, @isToFreezeOnError = 1\r\n\t\t\t\t'\r\n ) end if @DebugSwitch > 0 begin print @sqlcmdFire print @sqlcmdDelete end declare @GenProcIDs_Delete QBM_YCursorBuffer insert into @GenProcIDs_Delete \r\n(UID1) select distinct d.GenProcID from #QBMDeltaDelete d select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount\r\n begin select top 1 @GenProcID = bu.UID1 from @GenProcIDs_Delete bu where bu.ElementIndex = @ElementIndex  exec QBM_PSessionContextSet 'GenProcID', @GenProcID\r\n if @TargetIsView = 0 begin select top 1 @IsAssignmentWithEvent = t.isAssignmentWithEvent from DialogTable t with (readpast) where t.TableName = @TargetTable\r\n if @IsAssignmentWithEvent = 0 begin select @SQLAction = REPLACE(@SQLCmdDelete , '@GenProcID', @GenProcID) end else begin select @SQLAction = replace(REPLACE\r\n(@SQLCmdFire , '@GenProcID', @GenProcID) , '@XObjectKey@', concat('dbo.QBM_FCVElementToObjectKey2( ''' , @TargetTable , ''' , ''' , @ElementColumn , ''' , d.Element, '''\r\n , @AssignedElementColumn , ''',  d.AssignedElement)') ) end   exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLAction , @LockTimeout_ms = default\r\n , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = default , @HandleErrorSilent = 0 end else begin  delete  @DifferentTables  insert into @DifferentTables\r\n (UID1, Bit1) select distinct d.TargetTableView, t.isAssignmentWithEvent from #QBMDeltaDelete d join DialogTable t with (readpast) on d.TargetTableView\r\n = t.TableName select @ElementCountDifferentTables = @@ROWCOUNT select @ElementIndexDifferentTables = @@IDENTITY - @ElementCount +1 select @ElementLastDifferentTables\r\n = @@IDENTITY while @ElementIndexDifferentTables <= @ElementLastDifferentTables begin select top 1 @TargetTableView = bu.UID1 , @isAssignmentWithEvent \r\n= bu.Bit1 from @DifferentTables bu where bu.ElementIndex = @ElementIndexDifferentTables if @isAssignmentWithEvent = 1 begin select @SQLAction = replace\r\n(replace(REPLACE(@SQLCmdFire , '@GenProcID', @GenProcID) , '@TargetTableView@', @TargetTableView) , '@XObjectKey@', 'dbo.QBM_FCVElementToObjectKey2( d.TargetTableView , d.ElementColumnView , d.Element, d.AssignedElementColumnView,  d.AssignedElement)'\r\n) end else begin select @SQLAction = REPLACE(@SQLCmdDelete , '@GenProcID', @GenProcID) end  exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLAction\r\n , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = default , @HandleErrorSilent = 0 select @ElementIndexDifferentTables\r\n += 1 end  end  select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet 'XUser'\r\n, @XUser_R return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PMNTableInsert",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.613",
      "ModifyDate": "2026-04-14T23:20:26.373",
      "Definition": "      create   procedure QBM_PMNTableInsert (@TargetTable varchar(30)  , @ElementColumn varchar(30) , @AssignedElementColumn varchar(30) , @TargetIsView\r\n bit = 0   , @FKTableNameElement varchar(30) = ''  , @FKColumnNameElement varchar(30) = ''      ) as begin declare @GenProcID varchar(38) declare @SQLCmdInsert\r\n nvarchar(max) = N'' declare @SQLCmdFire nvarchar(max) = N'' declare @SQLAction nvarchar(max) declare @InsertLine nvarchar(max) declare @SelectLine nvarchar\r\n(max)  declare @TargetTableView varchar(30)  declare @UID_DialogTableTarget varchar(38) declare @IsAssignmentWithEvent bit declare @DebugSwitch int = 0\r\n declare @EventName nvarchar(64) declare @ExistsXObjectKey bit declare @ExistsXOrigin bit declare @ExistsXIsInEffect bit declare @GenProcID_R varchar(38\r\n) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser') declare @ElementCount int declare @ElementIndex int\r\n declare @DifferentTables QBM_YCursorBuffer declare @ElementCountDifferentTables int declare @ElementIndexDifferentTables int declare @ElementLastDifferentTables\r\n int declare @MaxWaitTimeForMainOperation float = 8.0 SET XACT_ABORT OFF BEGIN TRY select top 1 @UID_DialogTableTarget = t.UID_DialogTable  , @IsAssignmentWithEvent\r\n = t.isAssignmentWithEvent from DialogTable t with (readpast) where t.TableName = @TargetTable select @ExistsXObjectKey = dbo.QBM_FGIColumnExists(@TargetTable\r\n, 'XObjectKey') select @ExistsXOrigin = dbo.QBM_FGIColumnExists(@TargetTable, 'XOrigin') select @ExistsXIsInEffect = dbo.QBM_FGIColumnExists(@TargetTable\r\n, 'XIsInEffect') select @InsertLine = concat('\r\n\t\tinsert into ' , @TargetTable , ' ( ' , @ElementColumn , ' , ' , @AssignedElementColumn ) select @SelectLine\r\n = '\r\n\t\t    select  d.Element, d.AssignedElement ' if @ExistsXObjectKey = 1 begin select @InsertLine = concat(@InsertLine , ', XObjectKey') select @SelectLine\r\n = concat(@SelectLine , ', @XObjectKey@') end if @ExistsXIsInEffect = 1 begin select @EventName = 'Assign' select @InsertLine = concat(@InsertLine , ', XIsInEffect'\r\n) select @SelectLine = concat(@SelectLine , ', d.XIsInEffect') end else begin select @EventName = 'Insert' end if @IsAssignmentWithEvent = 1 and not exists\r\n (select top 1 1 from QBMEvent q with (readpast) join JobEventGen e with (readpast) on q.UID_QBMEvent = e.UID_QBMEvent join JobChain c on e.UID_JobChain\r\n = c.UID_JobChain where q.UID_DialogTable = @UID_DialogTableTarget and q.EventName = @EventName and c.NoGenerate = 0 and c.IsDeactivatedByPreProcessor \r\n= 0 ) begin select @IsAssignmentWithEvent = 0 end  if @ExistsXOrigin = 1 begin select @InsertLine = concat(@InsertLine , ', XOrigin') select @SelectLine\r\n = concat(@SelectLine , ', d.XOrigin') end if exists(select top 1 1 from DialogColumn c with (readpast) where c.UID_DialogTable = @UID_DialogTableTarget\r\n and c.ColumnName = 'XdateInserted' ) begin select @InsertLine = concat(@InsertLine , ', XDateInserted , XDateUpdated ,  XUserInserted , XUserUpdated '\r\n)  select @SelectLine = concat(@SelectLine , ', getutcdate() , getutcdate() ,  ''QBM_DBQueueProcess'' , ''QBM_DBQueueProcess'' ') end select @SQLCmdInsert\r\n = concat(@InsertLine , ')' , @SelectLine , '\t\t\t\t\t\t\t\t\t\r\n\t\tfrom #QBMDeltaInsert  d \r\n\t\twhere d.GenProcID = ''@GenProciD''\r\n\t\t and Not exists (select top 1 1\r\n\t\t\t\t\t\t\tfrom '\r\n , @TargetTable , ' z \r\n\t\t\t\t\t\t\twhere z.' , @ElementColumn , ' = d.element\r\n\t\t\t\t\t\t\t and z.' , @AssignedElementColumn , ' = d.AssignedElement\r\n\t\t\t\t\t\t)' )\r\n if @TargetIsView = 0 begin if @IsAssignmentWithEvent = 1 begin select @SQLCmdFire = '\r\n\t\tdeclare @EntriesToFire QBM_YParameterList \r\n\t\tdeclare @AddonElements QBM_YParameterList \r\n\t\t\t\r\n\t\tinsert into @EntriesToFire(Parameter1)\r\n\t\t\tselect @XObjectKey@\r\n\t\t\tfrom #QBMDeltaInsert d\r\n\t\t\twhere d.GenProcID = ''@GenProciD''\r\n\t\t\t\t'\r\n  if @ExistsXIsInEffect = 1 begin select @SQLCmdFire = concat(@SQLCmdFire , '\r\n\t\t\tand d.XIsInEffect = 1\r\n\t\t\t' ) end if @FKTableNameElement > ' ' and @FKColumnNameElement\r\n > ' ' begin select @SQLCmdFire = concat(@SQLCmdFire , '\r\n\t\t\t\t\r\n\t\t\tinsert into @AddonElements(Parameter1, Parameter2)\r\n\t\t\t\tselect distinct x.XObjectKey, @XObjectKey@\r\n\t\t\t\tfrom #QBMDeltaInsert d join '\r\n , @FKTableNameElement , ' x on x.' , @FKColumnNameElement , ' = d.Element\r\n\t\t\t\twhere d.GenProcID = ''@GenProciD''\r\n\t\t\t' ) end  select @SQLCmdFire = concat\r\n(@SQLCmdFire , '\t\t\r\n\r\n\t\texec QBM_PJobCreate_HOFireEvent_L ''' , @TargetTable , ''', @EntriesToFire, ''' , @EventName , ''', ''@GenProcID''\r\n\t\t\t\t, @AddonElements\r\n\t\t\t\t, @isToFreezeOnError = 1\r\n\r\n\t\t\t\t'\r\n ) end select @SQLCmdInsert = REPLACE(@SQLCmdInsert, '@XObjectKey@', concat('dbo.QBM_FCVElementToObjectKey2(''' , @TargetTable , ''', ''' , @ElementColumn\r\n , ''',  d.Element, ''' , @AssignedElementColumn , ''', d.AssignedElement)' ) ) select @SQLCmdFire = REPLACE(@SQLCmdFire, '@XObjectKey@', concat('dbo.QBM_FCVElementToObjectKey2('''\r\n , @TargetTable , ''', ''' , @ElementColumn , ''',  d.Element, ''' , @AssignedElementColumn , ''', d.AssignedElement)') ) end else begin select @SQLCmdFire\r\n = '\r\n\t\tdeclare @EntriesToFire QBM_YParameterList \r\n\t\tdeclare @AddonElements QBM_YParameterList \r\n\t\t\t\r\n\t\tinsert into @EntriesToFire(Parameter1)\r\n\t\t\tselect @XObjectKey@\r\n\t\t\tfrom #QBMDeltaInsert d\r\n\t\t\twhere d.GenProcID = ''@GenProciD''\r\n\t\t\t and d.TargetTableView = ''@TargetTableView@''\r\n\t\t\t\t'\r\n  if @ExistsXIsInEffect = 1 begin select @SQLCmdFire = concat(@SQLCmdFire , '\r\n\t\t\tand d.XIsInEffect = 1\r\n\t\t\t' ) end if @FKTableNameElement > ' ' and @FKColumnNameElement\r\n > ' ' begin select @SQLCmdFire = concat(@SQLCmdFire , '\r\n\t\t\tinsert into @AddonElements(Parameter1, Parameter2)\r\n\t\t\t\tselect distinct x.XObjectKey, @XObjectKey@\r\n\t\t\t\tfrom #QBMDeltaInsert d join '\r\n , @FKTableNameElement , ' x on x.' , @FKColumnNameElement , ' = d.Element\r\n\t\t\t\twhere d.GenProcID = ''@GenProciD''\r\n\t\t\t' ) end  select @SQLCmdFire = concat\r\n(@SQLCmdFire , '\t\t\r\n\r\n\t\texec QBM_PJobCreate_HOFireEvent_L ''@TargetTableView@'', @EntriesToFire, ''' , @EventName , ''', ''@GenProcID''\r\n\t\t\t\t, @AddonElements\r\n\t\t\t\t, @isToFreezeOnError = 1\r\n\r\n\t\t\t\t'\r\n ) select @SQLCmdInsert = REPLACE(@SQLCmdInsert, '@XObjectKey@', 'dbo.QBM_FCVElementToObjectKey2( d.TargetTableView , d.ElementColumnView , d.Element, d.AssignedElementColumnView,  d.AssignedElement)'\r\n ) select @SQLCmdFire = REPLACE(@SQLCmdFire, '@XObjectKey@', 'dbo.QBM_FCVElementToObjectKey2( d.TargetTableView , d.ElementColumnView , d.Element, d.AssignedElementColumnView,  d.AssignedElement)'\r\n ) end if @DebugSwitch > 0 begin print '@SQLCmdInsert' +char(13) + char(10) + @SQLCmdInsert print '@SQLCmdFire' +char(13) + char(10) + @SQLCmdFire end \r\ndeclare @GenProcIDs_CountInsert QBM_YCursorBuffer insert into @GenProcIDs_CountInsert (UID1) select distinct d.GenProcID from #QBMDeltaInsert d select \r\n@ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @GenProcID = bu.UID1 from @GenProcIDs_CountInsert\r\n bu where bu.ElementIndex = @ElementIndex  exec QBM_PSessionContextSet 'GenProcID', @GenProcID select @SQLAction = REPLACE(@SQLCmdInsert , '@GenProcID'\r\n, @GenProcID) if @DebugSwitch > 0 begin  print '@SQLAction ' + isnull(@SQLAction, '<keine>') end  exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLAction\r\n , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = @MaxWaitTimeForMainOperation , @ProcIDForJournal = default , @HandleErrorSilent = 0 if @TargetIsView\r\n = 0 begin if @SQLCmdFire > ' ' begin select @SQLAction = REPLACE(@SQLCmdFire , '@GenProcID', @GenProcID) if @DebugSwitch > 0 begin  print '@SQLAction '\r\n + isnull(@SQLAction, '<keine>') end exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLAction , @LockTimeout_ms = default , @MaxWaitTimeForLock_s =\r\n 4.0 , @ProcIDForJournal = default , @HandleErrorSilent = 0 end end else begin  delete  @DifferentTables  insert into @DifferentTables (UID1, Bit1, UID2\r\n) select distinct d.TargetTableView, t.isAssignmentWithEvent, t.UID_DialogTable from #QBMDeltaInsert d join DialogTable t with (readpast) on d.TargetTableView\r\n = t.TableName select @ElementCountDifferentTables = @@ROWCOUNT select @ElementIndexDifferentTables = @@IDENTITY - @ElementCount +1 select @ElementLastDifferentTables\r\n = @@IDENTITY while @ElementIndexDifferentTables <= @ElementLastDifferentTables begin select top 1 @TargetTableView = bu.UID1 , @isAssignmentWithEvent \r\n= bu.Bit1 , @UID_DialogTableTarget = bu.UID2 from @DifferentTables bu where bu.ElementIndex = @ElementIndexDifferentTables  if @IsAssignmentWithEvent =\r\n 1 and not exists (select top 1 1 from QBMEvent q with (readpast) join JobEventGen e with (readpast) on q.UID_QBMEvent = e.UID_QBMEvent join JobChain c\r\n with (readpast) on e.UID_JobChain = c.UID_JobChain where q.UID_DialogTable = @UID_DialogTableTarget and q.EventName = @EventName and c.NoGenerate = 0 \r\nand c.IsDeactivatedByPreProcessor = 0 ) begin select @IsAssignmentWithEvent = 0 end  if @isAssignmentWithEvent = 1 begin select @SQLAction = replace(REPLACE\r\n(@SQLCmdFire , '@GenProcID', @GenProcID) , '@TargetTableView@', @TargetTableView) if @DebugSwitch > 0 begin  print '@SQLAction ' + isnull(@SQLAction, '<keine>'\r\n) end exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLAction , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = 4.0 , @ProcIDForJournal = default\r\n , @HandleErrorSilent = 0 end  select @ElementIndexDifferentTables += 1 end  end  select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet 'XUser', @XUser_R return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 1,
      "HasQBMEvent": 1
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PMNTableInsertOwnPK",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.63",
      "ModifyDate": "2026-04-14T23:20:26.393",
      "Definition": "   create   procedure QBM_PMNTableInsertOwnPK (@TargetTable varchar(30)  , @ElementColumn varchar(30) , @AssignedElementColumn varchar(30) , @FKTableNameElement\r\n varchar(30) = ''  , @FKColumnNameElement varchar(30) = ''      ) as begin declare @GenProcID varchar(38) declare @SQLCmdInsert nvarchar(max) = N'' declare\r\n @SQLCmdFire nvarchar(max) = N'' declare @SQLAction nvarchar(max) declare @InsertLine nvarchar(max) declare @SelectLine nvarchar(max)  declare @UID_DialogTableTarget\r\n varchar(38) declare @IsAssignmentWithEvent bit declare @PKColumnName varchar(30) declare @DebugSwitch int = 0 declare @ExistsXObjectKey bit declare @ExistsXOrigin\r\n bit declare @ExistsXIsInEffect bit declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext\r\n('XUser') declare @ElementCount int declare @ElementIndex int declare @MaxWaitTimeForMainOperation float = 8.0 SET XACT_ABORT OFF BEGIN TRY select top \r\n1 @UID_DialogTableTarget = uid_dialogtable from DialogTable where TableName = @TargetTable select @ExistsXObjectKey = dbo.QBM_FGIColumnExists(@TargetTable\r\n, 'XObjectKey') select @ExistsXOrigin = dbo.QBM_FGIColumnExists(@TargetTable, 'XOrigin') select @ExistsXIsInEffect = dbo.QBM_FGIColumnExists(@TargetTable\r\n, 'XIsInEffect') select top 1 @PKColumnName = c.ColumnName from DialogColumn c where UID_DialogTable = @UID_DialogTableTarget and IsPKMember = 1 update\r\n #QBMDeltaInsert set NewPK = dbo.QBM_FCVStringToGUIDMAll(null, Element, AssignedElement)  where ISNULL(NewPK, '') = ''  select @InsertLine = concat('\r\n\t\tinsert into '\r\n , @TargetTable , ' ( ', @PKColumnName , ', ' , @ElementColumn , ' , ' , @AssignedElementColumn ) select @SelectLine = '\r\n\t\t    select d.NewPK, d.Element, d.AssignedElement '\r\n if @ExistsXObjectKey = 1 begin select @InsertLine = concat(@InsertLine , ', XObjectKey') select @SelectLine = concat(@SelectLine , ', @XObjectKey@') end\r\n if @ExistsXIsInEffect = 1 begin select @InsertLine = concat(@InsertLine , ', XIsInEffect') select @SelectLine = concat(@SelectLine , ', d.XIsInEffect'\r\n) end if @ExistsXOrigin = 1 begin select @InsertLine = concat(@InsertLine , ', XOrigin') select @SelectLine = concat(@SelectLine , ', d.XOrigin') end if\r\n exists(select top 1 1 from DialogColumn c where c.UID_DialogTable = @UID_DialogTableTarget and c.ColumnName = 'XdateInserted' ) begin select @InsertLine\r\n = concat(@InsertLine , ', XDateInserted , XDateUpdated ,  XUserInserted , XUserUpdated ')  select @SelectLine = concat(@SelectLine, ', getutcdate() , getutcdate() ,  ''QBM_DBQueueProcess'' , ''QBM_DBQueueProcess'' '\r\n) end select @SQLCmdInsert = concat(@InsertLine , ')' , @SelectLine , '\t\t\t\t\t\t\t\t\t\r\n\t\tfrom #QBMDeltaInsert  d \r\n\t\twhere d.GenProcID = ''@GenProciD''\r\n\t\t and Not exists (select top 1 1\r\n\t\t\t\t\t\t\tfrom '\r\n , @TargetTable , ' z\r\n\t\t\t\t\t\t\twhere z.' , @ElementColumn , ' = d.element\r\n\t\t\t\t\t\t\t and z.' , @AssignedElementColumn , ' = d.AssignedElement\r\n\t\t\t\t\t\t)' ) \r\nselect top 1 @IsAssignmentWithEvent = t.isAssignmentWithEvent from DialogTable t where t.UID_DialogTable = @UID_DialogTableTarget  if @IsAssignmentWithEvent\r\n = 1 and not exists (select top 1 1 from QBMEvent q join JobEventGen e on q.UID_QBMEvent = e.UID_QBMEvent join JobChain c on e.UID_JobChain = c.UID_JobChain\r\n where q.UID_DialogTable = @UID_DialogTableTarget and q.EventName = 'Insert' and c.NoGenerate = 0 and c.IsDeactivatedByPreProcessor = 0 ) begin select \r\n@IsAssignmentWithEvent = 0 end  if @IsAssignmentWithEvent = 1 begin select @SQLCmdFire = '\r\n\t\tdeclare @EntriesToFire QBM_YParameterList\r\n\t\tdeclare @AddonElements QBM_YParameterList  \r\n\t\t\t\r\n\t\tinsert into @EntriesToFire(Parameter1)\r\n\t\t\tselect @XObjectKey@\r\n\t\t\tfrom #QBMDeltaInsert d\r\n\t\t\twhere d.GenProcID = ''@GenProciD''\r\n\t\t\t\t'\r\n  if @ExistsXIsInEffect = 1 begin select @SQLCmdFire = concat(@SQLCmdFire , '\r\n\t\t\tand d.XIsInEffect = 1\r\n\t\t\t' ) end if @FKTableNameElement > ' ' and @FKColumnNameElement\r\n > ' ' begin select @SQLCmdFire = concat(@SQLCmdFire , '\r\n\t\t\t\t\r\n\t\t\tinsert into @AddonElements(Parameter1, Parameter2)\r\n\t\t\t\tselect distinct x.XObjectKey, @XObjectKey@\r\n\t\t\t\tfrom #QBMDeltaInsert d join '\r\n , @FKTableNameElement , ' x on x.' , @FKColumnNameElement , ' = d.Element\r\n\t\t\t\twhere d.GenProcID = ''@GenProciD''\r\n\t\t\t' ) end  select @SQLCmdFire = concat\r\n(@SQLCmdFire , '\t\r\n\t\t\t\t\r\n\t\texec QBM_PJobCreate_HOFireEvent_L ''' , @TargetTable , ''', @EntriesToFire, ''Insert'', ''@GenProcID''\r\n\t\t\t\t , @AddonElements\r\n\t\t\t\t, @isToFreezeOnError = 1\r\n\t\t\t\t\r\n\t\t\t\t'\r\n ) end select @SQLCmdInsert = REPLACE(@SQLCmdInsert, '@XObjectKey@', concat('dbo.QBM_FCVElementToObjectKey1(''' , @TargetTable , ''', ''' , @PKColumnName\r\n , ''',  d.NewPK )') ) select @SQLCmdFire = REPLACE(@SQLCmdFire, '@XObjectKey@', concat('dbo.QBM_FCVElementToObjectKey1(''' , @TargetTable , ''', ''' ,\r\n @PKColumnName , ''',  d.NewPK )') ) if @DebugSwitch > 0 begin print @SQLCmdInsert print @SQLCmdFire end declare @GenProcIDs_CountInsert QBM_YCursorBuffer\r\n insert into @GenProcIDs_CountInsert (UID1) select distinct d.GenProcID from #QBMDeltaInsert d select @ElementCount = @@ROWCOUNT select @ElementIndex =\r\n 1 while @ElementIndex <= @ElementCount begin select top 1 @GenProcID = bu.UID1 from @GenProcIDs_CountInsert bu where bu.ElementIndex = @ElementIndex exec\r\n QBM_PSessionContextSet 'GenProcID', @GenProcID select @SQLAction = REPLACE(@SQLCmdInsert , '@GenProcID', @GenProcID) if @DebugSwitch > 0 begin print @SQLAction\r\n BEGIN TRY exec sp_executesql @SQLAction END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end else begin\r\n  exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLAction , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = @MaxWaitTimeForMainOperation , @ProcIDForJournal\r\n = default , @HandleErrorSilent = 0 end if @SQLCmdFire > ' ' begin select @SQLAction = REPLACE(@SQLCmdFire , '@GenProcID', @GenProcID) exec QBM_PExecuteSQLWithRetry_LLP\r\n @SQLStatement = @SQLAction , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = 4.0 , @ProcIDForJournal = default , @HandleErrorSilent = 0 end select\r\n @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR\r\n (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet 'XUser', @XUser_R \r\nreturn end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 1,
      "HasQBMEvent": 1
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PMNTableOriginUpdate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.597",
      "ModifyDate": "2026-04-14T23:20:26.353",
      "Definition": "   create   procedure QBM_PMNTableOriginUpdate (@TargetTable varchar(30) , @ElementColumn varchar(30) , @AssignedElementColumn varchar(30)   , @RestrictionClause\r\n nvarchar(max) = '' ) as begin declare @GenProcID varchar(38) declare @SQLCmd nvarchar(max) declare @SQLPattern nvarchar(max) declare @ExistsXIsInEffect\r\n bit = 0 declare @ExistsXdate bit = 0 declare @RestrictionClause_intern nvarchar(max) declare @DebugSwitch int = 0 declare @IsCreatePendingChange bit =\r\n 0 declare @Maske varchar(64) declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext\r\n('XUser') declare @ElementCount int declare @ElementIndex int declare @MaxWaitTimeForMainOperation float = 5.0 SET XACT_ABORT OFF BEGIN TRY select @IsCreatePendingChange\r\n = sign(t.PendingChangeBehavior & 0x01) from DialogTable t where t.TableName = @TargetTable select @Maske = dbo.QBM_FCVBinaryToString( dbo.QBM_FGIBitPatternXOrigin\r\n('|inherit|', 0), 0) select @ExistsXIsInEffect = dbo.QBM_FGIColumnExists(@TargetTable, 'XIsInEffect') select @ExistsXdate = dbo.QBM_FGIColumnExists(@TargetTable\r\n, 'XDateInserted') if isnull (@RestrictionClause, '') = '' begin select @RestrictionClause_intern = '' end else begin select @RestrictionClause_intern \r\n= concat(' and ( ' , @RestrictionClause , ' ) ') end select @SQLPattern = concat(N'\r\n if exists (select top 1 1 \r\n\t\t\tfrom #QBMDeltaOrigin o\r\n\t\t\twhere o.XOrigin > 0\r\n\t\t\t)\r\n  begin\r\n   update '\r\n , @TargetTable , '\r\n\tset XOrigin = x.XOrigin' , case @ExistsXIsInEffect when 1 then '\r\n\t\t, XIsInEffect = x.XIsInEffect' else '' end , case @ExistsXdate\r\n when 1 then '\r\n\t\t, XDateUpdated = GetUtcDate()\r\n\t\t, XUserUpdated = ''' + OBJECT_NAME(@@procid) + '''' else '' end , '\r\n    from ' , @TargetTable , ' y join #QBMDeltaOrigin x on y.'\r\n , @ElementColumn , ' = x.Element\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tand y.' , @AssignedElementColumn , ' = x.AssignedElement\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tand x.GenProcID = ''@GenProcID''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tand x.XOrigin > 0\r\n\twhere (y.XOrigin <> x.XOrigin'\r\n , case @ExistsXIsInEffect when 1 then '\r\n\t\tor y.XIsInEffect <> x.XIsInEffect' else '' end , '  )\r\n\t' , @RestrictionClause_intern , '\r\n  end\r\n' ) if @IsCreatePendingChange\r\n = 1 begin  select @SQLPattern = concat(@SQLPattern , 'if exists (select top 1 1 \r\n\t\t\tfrom #QBMDeltaOrigin o\r\n\t\t\twhere o.XOrigin = 0\r\n\t\t\t)\r\n  begin\r\n   update '\r\n , @TargetTable , '\r\n\tset XOrigin = 0' ,  case @ExistsXIsInEffect when 1 then '\r\n\t\t, XIsInEffect = 0' else '' end , case @ExistsXdate when 1 then '\r\n\t\t, XDateUpdated = GetUtcDate()\r\n\t\t, XUserUpdated = '''\r\n + OBJECT_NAME(@@procid) + '''' else '' end , '\r\n    from ' , @TargetTable , ' y join #QBMDeltaOrigin x on y.' , @ElementColumn , ' = x.Element\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tand y.'\r\n , @AssignedElementColumn , ' = x.AssignedElement\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tand x.GenProcID = ''@GenProcID''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tand x.XOrigin = 0\r\n\twhere (y.XOrigin & '\r\n , @maske , ' > 0 )\r\n\t  ' , @RestrictionClause_intern , '\r\n  end\t\t\r\n\t' ) end else  begin  select @SQLPattern = concat(@SQLPattern , 'if exists (select top 1 1 \r\n\t\t\tfrom #QBMDeltaOrigin o\r\n\t\t\twhere o.XOrigin = 0\r\n\t\t\t)\r\n  begin\r\n   update '\r\n , @TargetTable , '\r\n\tset XOrigin = 0 ' , case @ExistsXdate when 1 then '\r\n\t\t, XDateUpdated = GetUtcDate()\r\n\t\t, XUserUpdated = ''' + OBJECT_NAME(@@procid\r\n) + '''' else '' end , ' from ' , @TargetTable , ' y join #QBMDeltaOrigin x on y.' , @ElementColumn , ' = x.Element\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tand y.' , @AssignedElementColumn\r\n , ' = x.AssignedElement\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tand x.GenProcID = ''@GenProcID''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tand x.XOrigin = 0\r\n--\twhere (y.XOrigin > 0 )\r\n\t' , @RestrictionClause_intern\r\n , '\r\n  end\t\t\r\n\t' ) end  if @DebugSwitch > 0 begin print @sqlpattern end declare @GenProcIDs_CounOrigin QBM_YCursorBuffer insert into @GenProcIDs_CounOrigin\r\n (UID1) select distinct d.GenProcID from #QBMDeltaOrigin d select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount\r\n begin select top 1 @GenProcID = bu.UID1 from @GenProcIDs_CounOrigin bu where bu.ElementIndex = @ElementIndex exec QBM_PSessionContextSet 'GenProcID', \r\n@GenProcID select @SQLCmd = REPLACE(@SQLPattern, '@GenProcID', @GenProcID) if @DebugSwitch > 0 begin print @SQLCmd end exec QBM_PExecuteSQLWithRetry_LLP\r\n @SQLStatement = @SQLcmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = @MaxWaitTimeForMainOperation , @ProcIDForJournal = default , @HandleErrorSilent\r\n = 0 select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet 'XUser'\r\n, @XUser_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PModuleDependCollFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.423",
      "ModifyDate": "2026-04-14T23:20:26.13",
      "Definition": "         create   procedure QBM_PModuleDependCollFill as begin declare @Xdate datetime = getutcdate() declare @XUser nvarchar(64) declare @GenProcID\r\n varchar(38) SET XACT_ABORT OFF BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext('') select @XUser = dbo.QBM_FGISessionContext('XUser') begin transaction\r\n  if not exists (select top 1 1 from QBMModuleDef where UID_ModuleDef = 'CCC-Moduledefinition' ) begin insert into QBMModuleDef (UID_ModuleDef, DisplayValue\r\n, XObjectKey , Modulename, ModuleVersion, MigrationVersion , XDateInserted, XDateUpdated, XUserInserted, XUserUpdated) select 'CCC-Moduledefinition' , \r\n'Customer configured content', '<Key><T>QBMModuleDef</T><P>CCC-Moduledefinition</P></Key>' , 'CCC', d.ModuleVersion, d.MigrationVersion , @Xdate, @Xdate\r\n, @XUser, @XUser from QBMModuleDef d where d.ModuleName = 'QBM' exec QBM_PTransportHistoryInsert 'CCC', @XUser end else begin update QBMModuleDef set ModuleVersion\r\n = x.ModuleVersion , MigrationVersion = x.MigrationVersion , XDateUpdated = @Xdate , XUserUpdated = @XUser from QBMModuleDef d , ( select a.MigrationVersion\r\n, a.ModuleVersion from QBMModuleDef a where a.ModuleName = 'QBM' ) as x where d.ModuleName = 'CCC' and ( isnull(d.ModuleVersion, '') <> x.ModuleVersion\r\n or isnull(d.MigrationVersion, '') <> x.MigrationVersion ) end  update QBMModuleDef set ModuleVersion = x.ModuleVersion , XDateUpdated = @Xdate , XUserUpdated\r\n = @XUser from QBMModuleDef d , ( select a.MigrationVersion, a.ModuleVersion from QBMModuleDef a where a.ModuleName = 'QBM' ) as x where d.ModuleName =\r\n 'MDK' and ( isnull(d.ModuleVersion, '') <> x.ModuleVersion ) delete QBMModuleDependCollection insert into QBMModuleDependCollection(UID_ModulePredecessor\r\n, UID_ModuleFollower) select UID_ModuleDef, UID_ModuleDef from QBMModuleDef union select UID_ModuleDef, 'CCC-Moduledefinition' from QBMModuleDef union \r\nselect d.UID_ModulePredecessor, d.UID_ModuleFollower from QBMModuledepend d declare @lauf int = 1 while @lauf > 0 begin insert into QBMModuleDependCollection\r\n(UID_ModulePredecessor, UID_ModuleFollower) select distinct v.UID_ModulePredecessor, n.UID_ModuleFollower from QBMModuleDependCollection v join QBMModuleDependCollection\r\n n on v.UID_ModuleFollower = n.UID_ModulePredecessor where Not exists (select top 1 1 from QBMModuleDependCollection co where co.UID_ModulePredecessor \r\n= v.UID_ModulePredecessor and co.UID_ModuleFollower = n.UID_ModuleFollower ) select @lauf = @@ROWCOUNT end commit transaction  ; with hierarchy (UID_ModuleDef\r\n, UID_ModuleFollower, SortOrder) as ( (select d.UID_ModulePredecessor, d.UID_ModuleFollower, 1 as SortOrder from QBMModuleDepend d union all select de.UID_ModuleDef\r\n, 'CCC-Moduledefinition', 1 from QBMModuleDef de union all  select d.UID_ModulePredecessor, d.UID_ModulePredecessor, 0 as SortOrder from QBMModuleDepend\r\n d ) union all select a.UID_ModulePredecessor, h.UID_ModuleFollower, h.SortOrder +1 from QBMModuleDepend a join hierarchy h on a.UID_ModuleFollower = h.UID_ModuleDef\r\n ) update QBMModuleDef set SortOrder = x.SortOrder , XDateUpdated = @Xdate , XUserUpdated = @XUser from QBMModuleDef md join ( select UID_ModuleFollower\r\n as UID_ModuleDef, max(SortOrder) as SortOrder from hierarchy group by UID_ModuleFollower ) as x on x.UID_ModuleDef = md.UID_ModuleDef  END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH \r\nende: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PModuleRemove",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.067",
      "ModifyDate": "2026-04-14T23:20:25.75",
      "Definition": "    create   procedure QBM_PModuleRemove ( @ModuleNamesMVP varchar(2000) , @FullLog int = 1 ) as begin declare @TableName varchar(30) declare @UID_DialogTable\r\n varchar(38) declare @tableType varchar(1) declare @ColumnName varchar(30) declare @UID_DialogColumn varchar(38) declare @SQLCmd nvarchar(max) declare \r\n@CountItems int declare @DebugSwitch int = 0  declare @ModuleNames QBM_YSingleGUID  declare @ModuleGUIDClause varchar(2000) = '' declare @OneModuleName\r\n varchar(10) declare @Message nvarchar(1000) declare @work table( LineNumber int identity , cmd nvarchar(max) collate database_default , TableName nvarchar\r\n(64) collate database_default , Columnname nvarchar(64) collate database_default ) declare @LineNumber int declare @ElementLast int declare @ElementBufferMulti\r\n QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int SET XACT_ABORT OFF BEGIN TRY set nocount on insert into @ModuleNames (UID_SingleGuid\r\n ) select m.ParameterValue from dbo.QBM_FCVStringToList(@ModuleNamesMVP, char(7), 1,9) m     if exists (select top 1 1 from @ModuleNames m left outer join\r\n QBMModuleDef d on m.UID_SingleGuid = d.ModuleName where d.UID_ModuleDef is null ) begin raiserror('#LDS#Module to delete does not exists.|', 18, 1) with\r\n nowait return end if @FullLog > 0 begin select * from @ModuleNames end drop table if exists #TableNames create table #TableNames (TableName varchar(30\r\n) collate database_default ) if not exists (select top 1 1 from @ModuleNames ) begin goto ende end select @OneModuleName = null select top 1 @OneModuleName\r\n = m.UID_SingleGuid  from @ModuleNames m join QBMModuleDepend dep on m.UID_SingleGuid  = left(dep.UID_ModulePredecessor, 3) left outer join @ModuleNames\r\n h on h.UID_SingleGuid  = left(dep.UID_ModuleFollower, 3) where h.UID_SingleGuid  is null if @OneModuleName > ' ' begin select @Message = 'Can not delete module '\r\n + @OneModuleName + ' because dependend module(s) not in delete list.' raiserror (@message, 18, 1) with nowait end if exists (select top 1 1  from sys.triggers\r\n tr join sys.objects t on tr.parent_id = t.object_id join sys.schemas o on t.schema_id = o.schema_id and o.name = 'dbo'  ) begin select @Message = 'There are triggers present, use QBM_PTriggerDrop to delete them.'\r\n raiserror (@message, 18, 1) with nowait end if exists (select top 1 1  from sys.foreign_keys fk join sys.objects c on c.object_id = fk.parent_object_id\r\n join sys.objects p on p.object_id = fk.referenced_object_id join sys.schemas o on c.schema_id = o.schema_id and o.name = 'dbo' join DialogTable dt on \r\nc.name = dt.TableName collate database_default where fk.type = 'F' ) begin select @Message = 'There are foreign key constraints present, use QBM_PConstraintFKDrop to delete them.'\r\n raiserror (@message, 18, 1) with nowait end exec QBM_PDBQueueActivityDisable if exists (select top 1 1  from sys.sysprocesses p where p.dbid = DB_ID()\r\n and p.spid <> @@SPID and p.program_name like concat( 'OneIM_DatabaseAgent' , '%' ) and p.open_tran > 0 ) begin select @Message = 'There are other processes active, use \"exec QBM_PWatchDogPrepare 1\" to deactivate them'\r\n raiserror (@message, 18, 1) with nowait end if @@TRANCOUNT > 0 begin select @Message = 'procedure must not be used within transaction(s)' raiserror (@message\r\n, 18, 1) with nowait end delete  @ElementBufferMulti  insert into @ElementBufferMulti (UID1) select m.UID_SingleGuid  from @ModuleNames m left join QBMModuleDef\r\n md on m.UID_SingleGuid  = md.ModuleName left join (  select UID_ModulePredecessor as UID_ModuleDef, count(UID_ModulePredecessor) as SortOrder from QBMModuleDependCollection\r\n group by UID_ModulePredecessor )x on md.UID_ModuleDef = x.UID_ModuleDef order by isnull(x.SortOrder, 0) asc select @ElementCount = @@ROWCOUNT select @ElementIndex\r\n = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @OneModuleName = bu.UID1 from \r\n@ElementBufferMulti bu where bu.ElementIndex = @ElementIndex if @ModuleGUIDClause > ' ' begin select @ModuleGUIDClause = @ModuleGUIDClause + ', '  end \r\nselect @ModuleGUIDClause = @ModuleGUIDClause + '''' + @OneModuleName + '-'''  select @ElementIndex += 1 end  select @ModuleGUIDClause = ' in (' + @ModuleGUIDClause\r\n + ')'  if @DebugSwitch > 0 begin print '@ModuleGUIDClause  ' + @ModuleGUIDClause  end print '-------------------------------------------------' Print \r\n'-- drop funktions, procedures, triggers, views ' print '-------------------------------------------------' delete  @ElementBufferMulti  insert into @ElementBufferMulti\r\n (UID1) select m.UID_SingleGuid  + '[_]%' from @ModuleNames m select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select\r\n @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @OneModuleName = bu.UID1 from @ElementBufferMulti bu where bu.ElementIndex\r\n = @ElementIndex if @FullLog > 0 begin print 'delete code' + @OneModuleName end    exec QBM_PFunctionDrop @OneModuleName exec QBM_PProcedureDrop @OneModuleName\r\n  exec QBM_PViewDrop @OneModuleName   select @ElementIndex += 1 end  select @UID_DialogTable = '#' print '---------------------------------------' Print\r\n '-- drop tables extended by this module' print '---------------------------------------' while @UID_DialogTable > ' ' begin select @UID_DialogTable = \r\nnull select top 1 @UID_DialogTable = t.UID_DialogTable , @TableName = t.TableName , @tableType = t.TableType , @OneModuleName = m.UID_SingleGuid  from \r\nDialogTable t join @ModuleNames m on t.UID_DialogTable like m.UID_SingleGuid  + '-%' join sys.objects o on t.TableName = o.name order by objectproperty\r\n(o.object_id, 'IsSchemaBound') desc , m.UID_SingleGuid , t.TableName if @UID_DialogTable is null begin continue end  insert into #TableNames(TableName)\r\n select @TableName if @FullLog = 1 print 'table   : ' + @TableName + '  (' + @OneModuleName + ')' delete DialogTable where UID_DialogTable = @UID_DialogTable\r\n   delete DialogColumn where UID_DialogTable = @UID_DialogTable   if @tableType in ('B', 'T', 'M') begin if @FullLog = 1 print 'table   : ' + @TableName\r\n + '  (' + @OneModuleName + ')' select @SQLCmd = char(9) +'drop table ' + @TableName if @DebugSwitch > 0 begin print @SQLCmd end if exists (select top \r\n1 1 from sys.tables t where t.name = @TableName ) begin exec sp_executeSQL @SQLCmd end end  else begin if @FullLog = 1 print 'view   : ' + @TableName +\r\n '  (' + @OneModuleName + ')' exec QBM_PViewDrop @TableName, 1 end end  print '---------------------------------------' Print '-- drop columns extended by this module'\r\n print '---------------------------------------' select @UID_DialogColumn = '#' while @UID_DialogColumn > ' ' begin select @UID_DialogColumn = null select\r\n top 1 @UID_DialogColumn = c.UID_DialogColumn , @ColumnName = c.ColumnName  , @tableType = case when cc.COLUMN_NAME is null then 'A' else t.TableType end\r\n , @TableName = t.TableName , @UID_DialogTable = t.UID_DialogTable , @OneModuleName = m.UID_SingleGuid  from DialogColumn c join DialogTable t on t.UID_DialogTable\r\n = c.UID_DialogTable join @ModuleNames m on c.UID_DialogColumn like m.UID_SingleGuid  + '-%'   left outer join QBM_VSchemaColumns cc on t.TableName = cc.TABLE_NAME\r\n and c.ColumnName = cc.COLUMN_NAME where Not exists (select top 1 1 from INFORMATION_SCHEMA.KEY_COLUMN_USAGE pk join sys.key_constraints kc on kc.name \r\n= pk.CONSTRAINT_NAME and kc.type = 'PK' where pk.TABLE_NAME = cc.TABLE_NAME and pk.COLUMN_NAME = cc.COLUMN_NAME ) if @UID_DialogColumn is null begin continue\r\n end if @FullLog = 1 begin print @TableName + '.' + @columnname + '  (' + @OneModuleName + ')' end delete DialogColumn where UID_DialogColumn = @UID_DialogColumn\r\n   if @tableType in ('B', 'T', 'M') begin exec QBM_PColumnDrop @TableName, @columnname end end  delete  @ElementBufferMulti  insert into @ElementBufferMulti\r\n (UID1) select m.UID_SingleGuid  + '[_]%' from @ModuleNames m select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select\r\n @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @OneModuleName = bu.UID1 from @ElementBufferMulti bu where bu.ElementIndex\r\n = @ElementIndex if @DebugSwitch > 0 begin print 'index delete ' + @OneModuleName end  exec QBM_PindexDrop '%', @OneModuleName exec QBM_PindexDrop '%',\r\n '___[_]XA[1-8]%' select @ElementIndex += 1 end  print '---------------------------------------' Print '-- delete content of tables' print '---------------------------------------'\r\n insert into @work(cmd, TableName, Columnname) select ' if exists (select top 1 1 from ' + c.TABLE_NAME + ' where left(' + c.column_name + ', 4) ' + @ModuleGUIDClause\r\n + ' )\r\n\t' + case c.IS_NULLABLE when 'YES' then 'update ' + c.TABLE_NAME + ' set ' + c.column_name + ' = null where left(' + c.column_name + ', 4) ' + \r\n@ModuleGUIDClause + ' ' else 'delete ' + c.TABLE_NAME + ' where left(' + c.column_name + ', 4) ' + @ModuleGUIDClause + ' ' end as cmd , t.TABLE_NAME, c.COLUMN_NAME\r\n from INFORMATION_SCHEMA.COLUMNS c join INFORMATION_SCHEMA.TABLES t on c.TABLE_NAME = t.TABLE_NAME collate database_default and t.TABLE_TYPE = 'BASE Table'\r\n collate database_default join sys.tables st on t.TABLE_NAME = st.name collate database_default and st.is_ms_shipped = 0 and st.name not in ('QBMDBQueueTaskMetric'\r\n)  where c.CHARACTER_MAXIMUM_LENGTH = 38 and c.DATA_TYPE = 'varchar' union all select ' if exists (select top 1 1 from ' + c.TABLE_NAME + ' d join #TableNames t on d.'\r\n + c.column_name + ' like ''<Key><T>'' + t.TableName + ''</T>%'')\r\n\t' + case c.IS_NULLABLE when 'YES' then 'update ' + c.TABLE_NAME + ' set ' + c.column_name\r\n + ' = null from ' + c.TABLE_NAME + ' d join #TableNames t on d.' + c.column_name + ' like ''<Key><T>'' + t.TableName + ''</T>%''' + ' ' else 'delete '\r\n + c.TABLE_NAME + ' from ' + c.TABLE_NAME + ' d join #TableNames t on d.' + c.column_name + ' like ''<Key><T>'' + t.TableName + ''</T>%''' + ' ' end as\r\n cmd , t.TABLE_NAME, c.COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS c join INFORMATION_SCHEMA.TABLES t on c.TABLE_NAME = t.TABLE_NAME collate database_default\r\n and t.TABLE_TYPE = 'BASE Table' collate database_default join sys.tables st on t.TABLE_NAME = st.name collate database_default and st.is_ms_shipped = \r\n0 where c.CHARACTER_MAXIMUM_LENGTH = 138 and c.DATA_TYPE = 'varchar' and c.COLUMN_NAME <> 'XObjectKey' order by t.TABLE_NAME, c.COLUMN_NAME while exists\r\n (select top 1 1 from @work ) begin select top 1 @LineNumber = w.LineNumber , @SQLCmd = w.cmd , @TableName = w.TableName , @ColumnName = w.Columnname from\r\n @work w order by w.LineNumber if @DebugSwitch > 0 begin print @SQLCmd end exec sp_executesql @SQLCmd select @CountItems = @@ROWCOUNT if @CountItems > \r\n0 and @FullLog = 1 begin print char(9) +@TableName + '.' + + @columnname + ' : ' + str(@CountItems) end delete  @work where LineNumber = @LineNumber end\r\n  print '-------------------------------------------------' Print '-- drop types ' print '-------------------------------------------------' delete  @ElementBufferMulti\r\n  insert into @ElementBufferMulti (UID1) select t.name from sys.types t join @ModuleNames m on t.name like m.UID_SingleGuid + '[_]Y%' select @ElementCount\r\n = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top\r\n 1 @OneModuleName = bu.UID1 from @ElementBufferMulti bu where bu.ElementIndex = @ElementIndex if @FullLog > 0 begin print 'delete code' + @OneModuleName\r\n end exec QBM_PTypeDrop @OneModuleName select @ElementIndex += 1 end  delete QBMNonLinearDepend  from QBMNonLinearDepend de cross apply dbo.QBM_FCVStringToList\r\n(de.NeededModules, char(7),1 , 0) sp join @ModuleNames m on m.UID_SingleGuid = sp.ParameterValue delete QBMModuleDef from QBMModuleDef m join @ModuleNames\r\n n on m.ModuleName = n.UID_SingleGuid   drop view if exists QBMVSystemOverview truncate table #TableNames END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH  ende:  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PMultilanguageDoubleClear",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.79",
      "ModifyDate": "2026-04-14T23:20:32.77",
      "Definition": "   create   procedure QBM_PMultilanguageDoubleClear as begin declare @ich varchar(3) declare @DebugSwitch int = 0 declare @CountRows int declare\r\n @DieDoppelten1 QBM_YMultilanguageDouble   declare @DieDoppelten2 QBM_YMultilanguageDouble declare @DieDoppelten3 QBM_YMultilanguageDouble declare @MDKMLGuidReplace\r\n table (UID_DialogMultiLanguageNew varchar(38) collate database_default  , UID_DialogMultiLanguageOld varchar(38) collate database_default  , XUserInserted\r\n nvarchar(64) collate database_default , XUserUpdated nvarchar(64) collate database_default , XDateInserted datetime , XDateUpdated datetime ) SET XACT_ABORT\r\n OFF BEGIN TRY set nocount on select @ich = dbo.QBM_FGIDBOwner()  insert into @DieDoppelten1 (UID_DialogColumn, UID_DialogCulture, EntryKey) select m.UID_DialogColumn\r\n, m.UID_DialogCulture, m.EntryKey from DialogMultiLanguage m group by m.UID_DialogColumn, m.UID_DialogCulture, m.EntryKey having COUNT(*) > 1 if @@ROWCOUNT\r\n = 0 begin goto endlabel end insert into @MDKMLGuidReplace(UID_DialogMultiLanguageNew, UID_DialogMultiLanguageOld , XDateInserted, XDateUpdated, XUserInserted\r\n, XUserUpdated ) select ml.UID_DialogMultiLanguage, mh.UID_DialogMultiLanguage , mh.XDateInserted, mh.XDateUpdated, mh.XUserInserted, mh.XUserUpdated  \r\nfrom DialogMultiLanguage ml join DialogMultiLanguage mh on ml.UID_DialogColumn = mh.UID_DialogColumn and ml.UID_DialogCulture = mh.UID_DialogCulture and\r\n ml.EntryKey = mh.EntryKey join DialogColumn c with (readpast) on ml.UID_DialogColumn = c.UID_DialogColumn join DialogTable t with (readpast) on c.UID_DialogTable\r\n = t.UID_DialogTable join QBMModuleDef mol with (readpast) on dbo.QBM_FCVGUIDToModuleOwner(ml.UID_DialogMultiLanguage) = mol.ModuleName join QBMModuleDef\r\n moh with (readpast) on dbo.QBM_FCVGUIDToModuleOwner(mh.UID_DialogMultiLanguage) = moh.ModuleName where ml.UID_DialogMultiLanguage <> mh.UID_DialogMultiLanguage\r\n and  mol.ModuleName <> moh.ModuleName and  exists (Select top 1 1 from QBMModuleDependCollection co where left(co.UID_ModuleFollower, 3) = moh.ModuleName\r\n and left(co.UID_ModulePredecessor, 3) = mol.ModuleName )  and exists (Select top 1 1 from @DieDoppelten1 je where ml.UID_DialogColumn = je.UID_DialogColumn\r\n and ml.UID_DialogCulture = je.UID_DialogCulture and ml.EntryKey = je.EntryKey ) select @CountRows = @@ROWCOUNT if @DebugSwitch > 0 begin print 'lineare gelöscht '\r\n + str(@CountRows) end  if exists (select top 1 1 from sys.tables t where t.name = 'MDKMLGuidReplace' ) begin insert into MDKMLGuidReplace(UID_DialogMultiLanguageNew\r\n, UID_DialogMultiLanguageOld, XDateInserted, XDateUpdated, XUserInserted, XUserUpdated) select UID_DialogMultiLanguageNew, UID_DialogMultiLanguageOld, \r\nXDateInserted, XDateUpdated, XUserInserted, XUserUpdated from @MDKMLGuidReplace end delete DialogMultiLanguage from DialogMultiLanguage ml join @MDKMLGuidReplace\r\n me on ml.UID_DialogMultiLanguage = me.UID_DialogMultiLanguageOld  insert into @DieDoppelten2 (UID_DialogColumn, UID_DialogCulture, EntryKey) select m.UID_DialogColumn\r\n, m.UID_DialogCulture, m.EntryKey from DialogMultiLanguage m group by m.UID_DialogColumn, m.UID_DialogCulture, m.EntryKey having COUNT(*) > 1 if @@ROWCOUNT\r\n = 0 begin goto endlabel end if @ich = 'CCC' begin delete DialogMultiLanguage   where UID_DialogMultiLanguage in ( select mh.UID_DialogMultiLanguage  from\r\n DialogMultiLanguage ml join DialogMultiLanguage mh on ml.UID_DialogColumn = mh.UID_DialogColumn and ml.UID_DialogCulture = mh.UID_DialogCulture and ml.EntryKey\r\n = mh.EntryKey join DialogColumn c with (readpast) on ml.UID_DialogColumn = c.UID_DialogColumn join DialogTable t with (readpast) on c.UID_DialogTable \r\n= t.UID_DialogTable join QBMModuleDef mol with (readpast) on dbo.QBM_FCVGUIDToModuleOwner(ml.UID_DialogMultiLanguage) = mol.ModuleName join QBMModuleDef\r\n moh with (readpast) on dbo.QBM_FCVGUIDToModuleOwner(mh.UID_DialogMultiLanguage) = moh.ModuleName where ml.UID_DialogMultiLanguage <> mh.UID_DialogMultiLanguage\r\n and  mol.ModuleName <> moh.ModuleName and  not exists (Select top 1 1 from QBMModuleDependCollection co where left(co.UID_ModuleFollower, 3) = mol.ModuleName\r\n and left(co.UID_ModulePredecessor, 3) = moh.ModuleName )    and dbo.QBM_FCVStringPadLeft(dbo.QBM_FCVIntToString( case mol.ModuleName when @ich then 0 \r\nelse mol.SortOrder end ), 16, '0') + case mol.ModuleName when @ich then '' else mol.ModuleName end < dbo.QBM_FCVStringPadLeft(dbo.QBM_FCVIntToString(moh.SortOrder\r\n), 16, '0') + moh.ModuleName  and exists (Select top 1 1 from @DieDoppelten2 je where ml.UID_DialogColumn = je.UID_DialogColumn and ml.UID_DialogCulture\r\n = je.UID_DialogCulture and ml.EntryKey = je.EntryKey ) ) select @CountRows = @@ROWCOUNT if @DebugSwitch > 0 begin print 'nicht-Lineare gelöscht ' + str\r\n(@CountRows) end end insert into @DieDoppelten3 (UID_DialogColumn, UID_DialogCulture, EntryKey) select m.UID_DialogColumn, m.UID_DialogCulture, m.EntryKey\r\n from DialogMultiLanguage m group by m.UID_DialogColumn, m.UID_DialogCulture, m.EntryKey having COUNT(*) > 1 if @@ROWCOUNT = 0 begin goto endlabel end \r\ndelete DialogMultiLanguage where UID_DialogMultiLanguage in ( select mh.UID_DialogMultiLanguage  from DialogMultiLanguage ml join DialogMultiLanguage mh\r\n on ml.UID_DialogColumn = mh.UID_DialogColumn and ml.UID_DialogCulture = mh.UID_DialogCulture and ml.EntryKey = mh.EntryKey join DialogColumn c on ml.UID_DialogColumn\r\n = c.UID_DialogColumn join DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable join QBMModuleDef mol on dbo.QBM_FCVGUIDToModuleOwner\r\n(ml.UID_DialogMultiLanguage) = mol.ModuleName join QBMModuleDef moh on dbo.QBM_FCVGUIDToModuleOwner(mh.UID_DialogMultiLanguage) = moh.ModuleName where \r\nml.UID_DialogMultiLanguage <> mh.UID_DialogMultiLanguage and  mol.ModuleName = @ich and moh.ModuleName = @ich   and dbo.QBM_FCVDatetimeToString(isnull(ml.XDateUpdated\r\n, '1899-12-30')) + ml.UID_DialogMultiLanguage < dbo.QBM_FCVDatetimeToString(isnull(mh.XDateUpdated, '1899-12-30')) + mh.UID_DialogMultiLanguage  and exists\r\n (Select top 1 1 from @DieDoppelten3 je where ml.UID_DialogColumn = je.UID_DialogColumn and ml.UID_DialogCulture = je.UID_DialogCulture and ml.EntryKey\r\n = je.EntryKey ) ) select @CountRows = @@ROWCOUNT if @DebugSwitch > 0 begin print 'echte Doubletten gelöscht ' + str(@CountRows) end END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH \r\nendLabel:  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PMultilanguageFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.677",
      "ModifyDate": "2026-04-14T23:20:26.443",
      "Definition": "   create   procedure QBM_PMultilanguageFill (@ModuleName varchar(3) ) as begin declare @UID_DialogCultureDefault varchar(38) declare @MusterInsert\r\n nvarchar(max) declare @MusterHinten nvarchar(max) declare @SQLCmd nvarchar(max) declare @DebugSwitch int = 0 SET XACT_ABORT OFF BEGIN TRY select top 1\r\n @UID_DialogCultureDefault = d.UID_DialogCultureDefault from DialogDatabase d with (readpast) where d.IsMainDatabase = 1 select @MusterInsert = N'\r\n\t insert into DialogMultiLanguage (UID_DialogMultiLanguage, UID_DialogColumn, EntryKey, EntryValue, UID_DialogCulture, XDateInserted, XUserInserted\r\n\t\t\t\t\t\t, XObjectKey\r\n\t\t\t\t\t\t, SourceType\r\n\t\t\t\t\t\t)\r\n\t\t\tselect \r\n\t\t\t\ty.UID_DialogMultiLanguage\r\n\t\t\t, y.UID_DialogColumn , y.prop, y.prop, '''\r\n + @UID_DialogCultureDefault + ''', getutcdate(), ''FillDefaults''\r\n\t\t\t, dbo.QBM_FCVElementToObjectKey1(''dialogmultilanguage'', ''UID_dialogmultilanguage'',  y.UID_DialogMultiLanguage)\r\n\t\t\t, ''Data''\r\n\t\t\tfrom \r\n\t\t\t (\r\n\t\t\t\t\t\t'\r\n select @MusterHinten = '\r\n\t\t\t) as y\r\n\r\n\twhere Not exists (select top 1 1 \r\n\t\t\t\t\tfrom DialogMultiLanguage m\r\n\t\t\t\t\twhere m.UID_DialogColumn = y.UID_DialogColumn\r\n\t\t\t\t\t\tand m.EntryKey = y.prop\r\n\t\t\t\t\t)\r\n'\r\n select @SQLCmd = string_agg( concat (convert(nvarchar(max), ''), '\r\n\t\t\t\tselect convert(nvarchar(max), t.', x.ColumnName, ') as prop, dbo.QBM_FCVStringToGUID( '''\r\n, @ModuleName, ''',  ''', x.UID_DialogColumn, ''' + ''', @UID_DialogCultureDefault, ''' +  convert(nvarchar(max), t.', x.ColumnName, ')) as UID_DialogMultiLanguage\r\n\t\t\t\t\t, '''\r\n, x.UID_DialogColumn, ''' as UID_DialogColumn\r\n\t\t\t\tfrom ', x.TableName, ' t\r\n\t\t\t\twhere ', dbo.QBM_FSQFunctionCallModuleOwner(x.TableName, 't') , ' = '''\r\n, @ModuleName, '''\r\n\t\t\t\t\tand convert(nvarchar(max), t.', x.ColumnName, ') > '' ''\r\n\t\t\t' )  ,  '\r\n\t\t\t\t\tunion\r\n\t\t\t\t\t' )  within group(order by x.TableName\r\n, x.columnname) from (select c.UID_DialogColumn, t.TableName, c.ColumnName from DialogColumn c with (readpast) join DialogTable t with (readpast) on c.UID_DialogTable\r\n = t.UID_DialogTable where c.Multilanguageflag & dbo.QBM_FGIBitPatternMultilanguage('|Source|Multivalent|', 0) = dbo.QBM_FGIBitPatternMultilanguage('|Source|'\r\n, 0)  and isnull(c.syntaxtype, '') <> 'Text.Dollar' and exists (Select top 1 1 from DialogColumn cv with (readpast) where cv.UID_DialogTable = t.UID_DialogTable\r\n and cv.ColumnName = 'XObjectKey' )  ) as x if @SQLCmd > ' ' begin select @SQLCmd = concat( @MusterInsert , @SQLCmd , @MusterHinten ) if @DebugSwitch >\r\n 0 begin select @SQLCmd end exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLCmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal\r\n = default , @HandleErrorSilent = 0 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PMultilanguageFillSQL",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.69",
      "ModifyDate": "2026-04-14T23:20:26.46",
      "Definition": "     create   procedure QBM_PMultilanguageFillSQL (@Modulename varchar(3)) as begin declare @uid_dialogColumn varchar(38) = 'QBM-7262717EE68049A9BE2EEB30C6EC408B'\r\n declare @uid_DefaultCulture varchar(38) declare @XUser nvarchar(64) = OBJECT_NAME(@@procid) declare @XDate datetime = getutcdate() declare @MLKeys table\r\n (MLKey nvarchar(1024) collate database_default) declare @DebugSwitch int = 0 declare @CountRows int SET XACT_ABORT OFF BEGIN TRY set nocount on select\r\n top 1 @uid_DefaultCulture = d.UID_DialogCultureDefault from DialogDatabase d with (readpast) where d.IsMainDatabase = 1 insert into @MLKeys(MLKey) select\r\n distinct dbo.QBM_FCVStringTrimLDSPrefix(case when ml.MLKey like '%|%' then SUBSTRING(ml.mlKey, 1, charindex('|', ml.MLKey) -1) else ml.MLKey end) as MLKey\r\n from ( select dbo.QBM_FCVStringTrimRight( dbo.QBM_FCVStringTrimLeft(m.morphem, 'N''', 0), '''', 0) as MLKey from ( select z.Zeile from ( select dbo.QBM_FCVStringTrimRight\r\n(dbo.QBM_FCVStringTrimLeft(e.ParameterValue, NCHAR(13) + nchar(10) + nchar(9) + ' ', 0) , NCHAR(13) + nchar(10) + nchar(9) + ' ', 0) as Zeile from sys.objects\r\n o join sys.sql_modules m on m.object_id = o.object_id cross apply dbo.QBM_FCVStringToList(m.definition, nchar(13), 1, 0) e where o.type in ('TR', 'P',\r\n 'FN', 'IF') and o.name like @Modulename + '%' ) as z where z.Zeile not like '--%' and z.Zeile like '%' + '#' + 'L' + 'D' + 'S' + '#' + '%' ) as y cross\r\n apply dbo.QBM_FCVStringToListSQLMorphem(y.Zeile, 0, 0) m where m.MorphemType = 'Literal' and m.MorphemSubType = 'String' and (m.morphem like '''#' + 'L'\r\n + 'D' + 'S' + '#' + '%' or m.morphem like 'N''#' + 'L' + 'D' + 'S' + '#' + '%' ) ) as ml if @DebugSwitch > 0 begin select * from @MLKeys end  insert into\r\n QBMTranslationAddOnSource (UID_QBMTranslationAddOnSource, EntryKey , XDateInserted , XDateUpdated , XUserInserted , XUserUpdated , XObjectKey , SourceType\r\n ) select f.UID_QBMTranslationAddOnSource, f.MLKey , @XDate, @XDate, @XUser, @XUser , dbo.QBM_FCVElementToObjectKey1('QBMTranslationAddOnSource', 'UID_QBMTranslationAddOnSource'\r\n, f.UID_QBMTranslationAddOnSource) , 'DbProcessor' from ( select dbo.QBM_FCVStringToGUID( @Modulename, dbo.QBM_FCVStringTrimLDSPrefix(x.MLKey)) as UID_QBMTranslationAddOnSource\r\n ,x.MLKey from @MLKeys x where not exists (select top 1 1 from QBMTranslationAddOnSource m where m.Entrykey = x.MLKey collate SQL_Latin1_General_CP1_CS_AS\r\n   ) ) as f where Not exists (select top 1 1 from QBMTranslationAddOnSource y where y.UID_QBMTranslationAddOnSource = f.UID_QBMTranslationAddOnSource )\r\n select @CountRows = @@ROWCOUNT if @DebugSwitch > 0 begin print 'Lines into QBMTranslationAddOnSource' + str(@CountRows) end  insert into DialogMultiLanguage\r\n ( UID_DialogColumn , UID_DialogMultiLanguage , UID_DialogCulture, EntryKey , EntryValue , XDateInserted , XDateUpdated , XUserInserted , XUserUpdated \r\n, XObjectKey , SourceType ) select @uid_DialogColumn , f.UID_DialogMultiLanguage, @uid_DefaultCulture, f.MLKey, f.MLKey , @XDate, @XDate, @XUser, @XUser\r\n , dbo.QBM_FCVElementToObjectKey1('dialogmultilanguage', 'UID_dialogmultilanguage', f.UID_DialogMultiLanguage) , 'DbProcessor' from ( select dbo.QBM_FCVStringToGUID\r\n( @Modulename, @uid_DialogColumn + @uid_DefaultCulture + dbo.QBM_FCVStringTrimLDSPrefix(x.MLKey)) as UID_DialogMultiLanguage ,x.MLKey from @MLKeys x where\r\n not exists (select top 1 1 from DialogMultiLanguage m where m.UID_DialogCulture = @uid_DefaultCulture and m.uid_DialogColumn = @uid_DialogColumn and m.Entrykey\r\n = x.MLKey collate SQL_Latin1_General_CP1_CS_AS   ) ) as f where Not exists (select top 1 1 from DialogMultiLanguage y where y.UID_DialogMultiLanguage \r\n= f.UID_DialogMultiLanguage ) select @CountRows = @@ROWCOUNT if @DebugSwitch > 0 begin print 'Lines into DialogMultiLanguage' + str(@CountRows) end END\r\n TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT\r\n END CATCH ende:  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PNonlinear_DeleteUntouched",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:24.497",
      "ModifyDate": "2026-04-14T23:14:36.45",
      "Definition": " create   procedure QBM_PNonlinear_DeleteUntouched as begin  declare @TableName varchar(30) declare @DebugSwitch int = 0 declare @Pattern nvarchar\r\n(max) = '\r\ndelete /* algorithmisch notwendig */ @TableName@\r\n--select Xtouched, XObjectKey\r\n\t from @TableName@\r\n\twhere XTouched = ''O''\r\n\r\n' declare @SQLCmd\r\n nvarchar(max) declare @Tablenames QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int SET XACT_ABORT OFF BEGIN TRY insert into @Tablenames\r\n(Ident1) select distinct v.TableName from QBM_VNonlinearDeleteCandidates v select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex\r\n <= @ElementCount begin select top 1 @TableName = bu.Ident1 from @Tablenames bu where bu.ElementIndex = @ElementIndex select @SQLCmd = REPLACE(@Pattern\r\n, '@TableName@', @TableName) if @DebugSwitch > 0 begin print @sqlcmd end exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLCmd , @LockTimeout_ms = \r\ndefault , @MaxWaitTimeForLock_s = 4.0 , @ProcIDForJournal = default , @HandleErrorSilent = 0 select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PNonlinear_Prepare",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:24.51",
      "ModifyDate": "2026-04-14T23:14:36.46",
      "Definition": "  create   procedure QBM_PNonlinear_Prepare as begin declare @Tablenames QBM_YCursorBuffer SET XACT_ABORT OFF BEGIN TRY declare @Pattern nvarchar\r\n(max) = '\r\n\r\nupdate \t@TableName@\r\n\tset XTouched = diff.XTouchedSoll\r\n--select * \r\n\tfrom @TableName@\tist \r\n\t\tjoin (\r\n\t\t\tselect z.XObjectKey, z.XTouchedist, Case\r\n\t\t\t\t\t\t\t\t\t\t\t\t\twhen z.OwnerElem = ''ZZZ'' then ''O''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\telse ''''\r\n\t\t\t\t\t\t\t\t\t\t\t\tend as XTouchedSoll\r\n\t\t\t from (\r\n\t\t\t\t\tselect y.XObjectKey, y.XTouchedist, dbo.QBM_FCVObjectKeyToModuleOwner(y.XObjectKey  ) as OwnerElem\r\n\t\t\t\t\t\tfrom (\r\n\r\n\t\t\t\t\t\t\tselect x.XObjectKey , isnull(x.XTouched, '''') as XTouchedist\r\n\t\t\t\t\t\t\t\t, dbo.QBM_FCVGUIDToModuleOwner(x.@ChildColumnLeft@) as OwnerLeft\r\n\t\t\t\t\t\t\t\t, dbo.QBM_FCVGUIDToModuleOwner(x.@ChildColumnRight@) as OwnerRight\r\n\t\t\t\t\t\t\t\t--, dbo.QBM_FCVObjectKeyToModuleOwner(x.XObjectKey  ) as OwnerObj\r\n\t\t\t\t\t\t\tfrom @TableName@ x\r\n\t\t\t\t\t\t\t) as y -- vorfiltern was überhaupt Z werden kann\r\n\t\t\t\t\t\t\t\t\tleft outer join QBMModuleDependCollection co1 on  (co1.UID_ModulePredecessor = y.OwnerLeft + ''-ModuleDefinition''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand co1.UID_ModuleFollower = y.OwnerRight + ''-ModuleDefinition''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t ) \r\n\t\t\t\t\t\t\t\t\tleft outer join QBMModuleDependCollection co2 on  (co2.UID_ModulePredecessor = y.OwnerRight + ''-ModuleDefinition''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand co2.UID_ModuleFollower = y.OwnerLeft + ''-ModuleDefinition''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t ) \r\n\t\t\t\t\twhere co1.UID_ModuleFollower is null\r\n\t\t\t\t\t and co2.UID_ModuleFollower is null\r\n\t\t\t\t\t) as z \r\n\t\t\t\twhere z.XTouchedist <> Case\r\n\t\t\t\t\t\t\t\t\t\t\twhen z.OwnerElem = ''ZZZ'' then ''O''\r\n\t\t\t\t\t\t\t\t\t\t\telse ''''\r\n\t\t\t\t\t\t\t\t\t\tend \r\n\t\t\t) as diff on ist.XObjectKey = diff.XObjectKey\r\n'\r\n  insert into @Tablenames(Ident1, ContentFull) select v.TableName  ,REPLACE(REPLACE(REPLACE(@Pattern, '@TableName@', v.TableName) , '@ChildColumnLeft@'\r\n, v.ChildColumnLeft) , '@ChildColumnRight@', v.ChildColumnRight) from QBM_VNonlinearDeleteCandidates v if @@ROWCOUNT > 0 begin exec QBM_PExecuteSQLMulti\r\n @Tablenames, 0, @@procid end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR\r\n (@Rethrow, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PNonlinear_SetFound",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:24.527",
      "ModifyDate": "2026-04-14T23:14:36.47",
      "Definition": " create   procedure QBM_PNonlinear_SetFound as begin  declare @TableName varchar(30) declare @DebugSwitch int = 0 declare @Tablenames QBM_YCursorBuffer\r\n declare @ElementCount int declare @ElementIndex int declare @Pattern nvarchar(max) = '\r\nupdate \t@TableName@\r\n\tset XTouched = ''P''\r\n\tfrom  QBMNonLinearDepend x join  @TableName@ y on x.ObjectKeyOwner = y.XObjectKey\r\n\r\n'\r\n declare @SQLCmd nvarchar(max) SET XACT_ABORT OFF BEGIN TRY insert into @Tablenames(Ident1) select distinct v.TableName from QBM_VNonlinearDeleteCandidates\r\n v select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @TableName = bu.Ident1 from @Tablenames\r\n bu where bu.ElementIndex = @ElementIndex select @SQLCmd = REPLACE(@Pattern, '@TableName@', @TableName) if @DebugSwitch > 0 begin print @sqlcmd end exec\r\n QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLCmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = 4.0 , @ProcIDForJournal = default , @HandleErrorSilent\r\n = 0 select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PObjectExistsInDatabase",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.657",
      "ModifyDate": "2026-04-14T23:20:24.547",
      "Definition": "  create   procedure QBM_PObjectExistsInDatabase (@Objectkey varchar(138) ) as begin declare @erg int declare @SQLCmd nvarchar(2000) declare @TableName\r\n varchar(32)  declare @TableNameBase varchar(32)  declare @XOriginExists int SET XACT_ABORT OFF BEGIN TRY select @erg = 0 select @TableName = dbo.QBM_FCVObjectkeyToElement\r\n('TableName', @Objectkey) select top 1 @TableNameBase = dbo.QBM_FGITableName(UID_DialogTableBase) from dialogTable where TableName = @TableName  if isnull\r\n(@TableNameBase, '') = '' begin select @TableNameBase = @TableName end select @XOriginExists = dbo.QBM_FGIColumnExists(@TableNameBase, 'XOrigin') select\r\n @SQLCmd = N'select 1 where exists (select top 1 1 from ' + @TableNameBase + ' where XObjectKey = ''' + @Objectkey + '''\r\n\t' + case when @XOriginExists\r\n = 1 then ' and XOrigin > 0 ' else '' end + ' )' exec sp_executeSQL @SQLCmd select @erg = @@rowcount  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n, @SQLCmd declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return(@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PPrePropCheckExpression",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.503",
      "ModifyDate": "2026-04-14T23:20:24.387",
      "Definition": "         create   procedure QBM_PPrePropCheckExpression(@StrEingabe nvarchar(max) ,@PrePropColElemente nvarchar(max)  ) as begin   declare @result\r\n int declare @strS nvarchar(max) declare @declString nvarchar(max)  declare @assignString nvarchar(max)  declare @ergstring nvarchar(max)  select @declString\r\n = N'' select @assignString = N'' select @ergstring = N'' declare @SQLcmd nvarchar(max)  declare @posi int declare @lenIn int declare @morph nvarchar(max\r\n)  select @morph = N''  declare @istAn nvarchar(16)  SET XACT_ABORT OFF BEGIN TRY if rtrim(isnull(@strEingabe,N'') ) = N'' begin select @result = 1 goto\r\n ende  end select @posi= 1 select @lenIn= len(rtrim(@StrEingabe)) while @posi <= @lenIn  begin  While substring(@StrEingabe, @posi, 1) = N' ' And @posi\r\n <= @lenIn begin select @posi = @posi + 1 end If @posi > @lenIn begin GoTo endeSyntax End select @strS = N''  If substring(@StrEingabe, @posi, 1) = ')'\r\n Or substring(@StrEingabe, @posi, 1) = N'(' begin select @strS = substring(@StrEingabe, @posi, 1) select @posi = @posi + 1 end Else begin While substring\r\n(@StrEingabe, @posi, 1) not in (N' ' , N')' , N'(' ) And @posi <= @lenIn begin select @strS = @strS + substring(@StrEingabe, @posi, 1) select @posi = @posi\r\n + 1 end end if @strs in (N'OR', N'AND', N'NOT', N'(', N')') begin select @ergstring = @ergstring + N' ' + @strs end else begin  if charindex(N'|' + @strs\r\n + N'#', @morph) = 0 begin select @morph = @morph + N'|' + @strs + N'#' end select @ergstring = @ergstring + N' @' + @strs + N' = 1 ' end end  endeSyntax:\r\n  select @declString = replace(replace(@morph, N'|', N'declare @'), N'#', ' bit' + nchar(13) + nchar(10))  while len(@morph ) > 0 begin select @strs = \r\nsubstring(@morph, 2, charindex(N'#', @morph)-2)  select @morph = substring(@morph, charindex(N'#', @morph)+1, 8000)  select @istan = ' = 0 ' if charindex\r\n(N'|' + @strs + N'|', @PrePropColElemente) > 0  begin select @istan = ' = 1 ' end select @assignString = @assignString + N'select @'+@strs + @IstAn + nchar\r\n(13) + nchar(10) end  select @SQLcmd = N'declare @rueckgabe nvarchar(16) ' select @SQLcmd = @SQLcmd + @declString + @assignString + N'if (' + @ergstring\r\n + N')  select @rueckgabe = 1 '    exec @result = QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLCmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s\r\n = default , @ProcIDForJournal = @@procid , @HandleErrorSilent = 0   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000\r\n) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende:  return (@result) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PPrePropCheckSyntax",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.743",
      "ModifyDate": "2026-04-14T23:20:24.683",
      "Definition": "         create   procedure QBM_PPrePropCheckSyntax (@Conditions QBM_YParameterList readonly  ) as begin declare @PreProcessorCondition nvarchar\r\n(max) declare @tabelle QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @zeiger varchar(38) declare @GenProcID varchar(38)\r\n SET XACT_ABORT OFF BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext('') insert into @tabelle (UID1, ContentFull) select newid(), x.ContentFull \r\nfrom @Conditions x where x.ContentFull > ' ' select @ElementCount = @@rowcount select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select\r\n top 1 @zeiger = bu.UID1 , @PreProcessorCondition = bu.ContentFull from @tabelle bu where bu.ElementIndex = @ElementIndex exec QBM_PPrePropCheckExpression\r\n @PreProcessorCondition, '' select @ElementIndex += 1 end  if (select count(*) from @Conditions x where x.ContentFull > ' ' ) > 0 begin exec QBM_PDBQueueInsert_Single\r\n 'QBM-K-PrepropGenerateFunction', '', '', @GenProcID end END TRY BEGIN CATCH declare @Message nvarchar(4000) = concat('Invalid Syntax in preprocessor condition \"'\r\n , @PreProcessorCondition , '\"' ) exec QBM_PSessionErrorAdd default, @Message declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR\r\n (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PProcedureDrop",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:14:10.01",
      "ModifyDate": "2026-04-14T23:14:10.01",
      "Definition": " create   procedure QBM_PProcedureDrop (@pattern nvarchar(255) , @force bit = 0  )  as begin  declare @SQLcmd nvarchar(max) declare @name nvarchar\r\n(255)  declare @LengthMessage nvarchar(256) = '#LDS#Name of Element {0} is too long (30).|' declare @ElementBuffer     table (ElementIndex int identity\r\n , Int1 int default 0 , ContentShort nvarchar(400) collate database_default , LongIdent1 nvarchar(256) collate database_default , LongIdent2 nvarchar(256\r\n) collate database_default , ContentFull nvarchar(max) collate database_default ) declare @ElementCount int declare @ElementIndex int declare @crlf nvarchar\r\n(16) = nchar(13) + nchar(10) declare @CommentCode bit = 0 declare @DebugSwitch int = 0 SET XACT_ABORT OFF BEGIN TRY if @pattern not like '%[%]%' and @force\r\n = 0 and exists ( select top 1 1 from sys.objects o where o.name = @pattern and o.type in( 'P'  ) ) begin select @SQLcmd = CONCAT('drop procedure if exists '\r\n, @pattern) exec sp_executesql @SQLCmd  goto verarbeitet end if @@NESTLEVEL < 2  begin if exists (select top 1 1 from sys.tables t where t.name = 'QBMModuleDef'\r\n ) begin if exists (select top 1 1 from QBMModuleDef d where d.UID_ModuleDef = 'MDK-Moduledefinition' ) and exists (select top 1 1 from information_schema.routines\r\n r where r.ROUTINE_type = N'function' and r.ROUTINE_NAME = 'QBM_FSQObjectComment' ) begin select @CommentCode = 1 end end end insert into @ElementBuffer\r\n(LongIdent1, LongIdent2, ContentFull) select r.ROUTINE_NAME , r.ROUTINE_SCHEMA, concat( case @CommentCode when 1 then concat('print dbo.QBM_FSQObjectComment ('''\r\n , r.ROUTINE_NAME , ''')' , @crlf ) else '' end , 'drop procedure if exists \"' , r.ROUTINE_SCHEMA, N'\".\"' , r.ROUTINE_NAME , N'\"' )  from information_schema.routines\r\n r join sys.schemas s on r.ROUTINE_SCHEMA = s.name collate database_default where r.ROUTINE_type = N'procedure' collate database_default and dbo.QBM_FGIObjectIsDropable\r\n(s.schema_id) = 1 and r.ROUTINE_NAME like @pattern collate database_default and r.ROUTINE_NAME not in ( N'QBM_PProcedureDrop' collate database_default \r\n  , N'QBM_PSessionErrorAdd' , N'QBM_PSessionContextSet' ) select @ElementCount = @@ROWCOUNT if exists (select top 1 1 from @ElementBuffer e where len(e.LongIdent1\r\n) > 30 and @force = 0 ) begin select top 1 @name = e.LongIdent1 from @ElementBuffer e where len(e.LongIdent1) > 30 select @LengthMessage = concat(@LengthMessage\r\n , @name , '|') raiserror(@LengthMessage, 18, 1) with nowait end select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @SQLcmd\r\n = bu.ContentFull from @ElementBuffer bu where bu.ElementIndex = @ElementIndex if @DebugSwitch > 0 begin print @sqlcmd end exec sp_executeSQL @SQLcmd select\r\n @ElementIndex += 1 end verarbeitet: END TRY BEGIN CATCH declare @Message nvarchar(4000)  if exists (select top 1 1 from sys.objects o where o.name = 'QBM_PSessionErrorAdd'\r\n ) begin exec QBM_PSessionErrorAdd default, @SQLcmd RAISERROR ('', 18, 1) WITH NOWAIT end else begin  select @Message = isnull(ERROR_MESSAGE() , '<no message>'\r\n) RAISERROR (@Message, 18, 1) WITH NOWAIT end END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PProcedureNestLevelCheck",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.477",
      "ModifyDate": "2026-04-14T23:14:10.013",
      "Definition": "    create   procedure QBM_PProcedureNestLevelCheck (@ProcID int) as begin declare @errmsg nvarchar(255) declare @ProcName nvarchar(255)  SET XACT_ABORT\r\n OFF BEGIN TRY select @ProcName = isnull(OBJECT_NAME(@ProcID ), '<no procedure>') select @errmsg = nchar(9) + N'NL ' + convert(nvarchar(16), @@nestlevel\r\n) + nchar(9) + @procname  if @@nestlevel < 30 begin return end select @errmsg = N'Nestlevel ' + convert(nvarchar(16), @@nestlevel) + N' detected in procedure '\r\n + @Procname raiserror (@errmsg, 18, 1 ) with nowait END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PProcessCreate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.17",
      "ModifyDate": "2026-04-14T23:20:32.14",
      "Definition": "    create   procedure QBM_PProcessCreate (@GenProcID varchar(38), @Xuser nvarchar(64), @BasisObjectType nvarchar(255) = N'', @ObjectKey varchar\r\n(138) = null, @DisplayName nvarchar(255) = N'' ) as begin SET XACT_ABORT OFF BEGIN TRY insert into DialogProcess (GenProcID , BasisObjectType , ObjectKey\r\n , ProcessState, XDateInserted , XDateUpdated , XUserInserted , XUserUpdated , CustomComment, XTouched, DisplayName ) select @GenProcID, @BasisObjectType\r\n, @ObjectKey, 'E', GetUTCDate(), GetUTCDate() , @XUser , @XUser , N'' , N'', @DisplayName where Not exists (select top 1 1 from DialogProcess p with(nolock\r\n) where p.GenProcID = @GenProcID ) END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PProcessGroupCreate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.16",
      "ModifyDate": "2026-04-14T23:20:32.13",
      "Definition": " create   procedure QBM_PProcessGroupCreate ( @MaxRuntime int = 0   ) as begin set nocount on  declare @lauf int declare @laufInnen int  declare\r\n @gesamtanzahl int declare @Limit int   declare @DebugSwitch int = 0 declare @AnzahlInnerLoopCycles int = 0 declare @BlockSizeWork int declare @TableCountAll\r\n int = dbo.QBM_FGITableCountAll('dialogprocess')  declare @MussFertigSein datetime declare @Message nvarchar(1024) declare @XUser nvarchar(64) = object_name\r\n(@@procid) declare @Xdate datetime = getutcdate()  BEGIN TRY drop table if exists #DialogProcessMirror  create table #DialogProcessMirror ( UID_SingleGuid\r\n varchar(38) collate database_default NOT NULL , BitProperty bit default 0 NULL , IntProperty int default 0 NULL , XDateUpdated datetime null ) drop table\r\n if exists #sammler_Nachbearbeitung create table #sammler_Nachbearbeitung ( GenProcID varchar(38) collate database_default NULL , GenProcIDGroup varchar\r\n(38) collate database_default NULL , index QBM_YProcessGroupCreate1 (GenProcID, GenProcIDGroup) , index QBM_YProcessGroupCreate2 (GenProcIDGroup, GenProcID\r\n) )  select @BlockSizeWork = 1000     if @DebugSwitch > 0 begin print 'Start Vorbereitung ' + convert(nvarchar(64), GetUTCDate(), 121) end if dbo.QBM_FGIConfigparmValue\r\n('Common\\ProcessState\\ExportPolicy') not in ( 'HDB', 'FILE' ) and @DebugSwitch = 0 begin  if @DebugSwitch > 0 begin print 'ExportPolicy paßt nicht' end\r\n goto ende end  select @limit = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\PackageSizeHDB'), 10000) if @limit < 1 begin raiserror\r\n ('#LDS#Value of config parameter Common\\ProcessState\\PackageSizeHDB must not be less than 1.|', 18, 2 ) with nowait end  select @gesamtanzahl = 0 if @DebugSwitch\r\n > 0 begin print '@limit ' + convert(varchar(64), @limit) end  if @BlockSizeWork > @Limit begin select @BlockSizeWork = @Limit end exec QBM_PDialogProcessShrink_fill\r\n @RepairSubstituteOnly = 1  if @DebugSwitch > 0 begin declare @startFill datetime = getutcdate() end insert into #DialogProcessMirror(UID_SingleGuid, IntProperty\r\n, BitProperty, XDateUpdated) select p.GenProcID, p.ReadyForDeleteOrExport, 0 as HasGroup, p.XDateUpdated from DialogProcess p   create unique index #DialogProcessMirror_i\r\n on #DialogProcessMirror(UID_SingleGuid) create index #DialogProcessMirror_Xdate on #DialogProcessMirror(XDateUpdated) if @DebugSwitch > 0 begin print \r\nconcat( 'Dauer Befüllung', str(datediff(ss, @startfill, getutcdate()))) print 'Start MakeGroup ' + convert(nvarchar(64), GetUTCDate(), 121) end if @MaxRuntime\r\n <= 0 begin select @MussFertigSein = DATEADD(dd, 1, getutcdate()) end else begin select @MussFertigSein = DATEADD(ss , @MaxRuntime * 4 / 5  , GETUTCDATE\r\n() ) end if @DebugSwitch > 0 begin print 'Ende Vorbereitung ' + convert(nvarchar(64), GetUTCDate(), 121) print '@MussFertigSein    ' + dbo.QBM_FCVDatetimeToString\r\n(@MussFertigSein) end   select @lauf = 1 while @lauf > 0 begin If not exists(select top 1 1 FROM #DialogProcessMirror p WHERE p.BitProperty = 0  AND p.IntProperty\r\n = 2  ) or @MussFertigSein <= GETUTCDATE() begin SELECT @lauf = 0 if @DebugSwitch > 0 begin if @MussFertigSein <= GETUTCDATE() begin print 'ende wegen Zeitüberschreitung'\r\n end else begin print 'ende wegen kein Fund mit ReadyForDeleteOrExport = 2 und ohne Gruppe' end end continue end exec QBM_PProcessGroupCreate_help @DebugSwitch\r\n , @BlockSizeWork , @Gesamtanzahl output , @XUser , @Xdate , @Limit if @gesamtanzahl >= @limit begin select @lauf = 0 if @DebugSwitch > 0 begin print concat\r\n('ende wegen @gesamtanzahl (',str(@gesamtanzahl),') >= @limit (', str(@limit),')') end end end  if @MussFertigSein <= GETUTCDATE() begin select @Message\r\n = '#LDS#Group creation finished, because the maximum runtime {0} was reached (remote query timeout).|' + STR(@MaxRuntime) + '|' exec QBM_PJournal @message\r\n, @@PROCID, 'W', 'W' end if @DebugSwitch > 0 begin print 'Ende MakeGroup ' + convert(nvarchar(64), GetUTCDate(), 121) end update DialogProcess set GenProcIDGroup\r\n = null  , XDateUpdated = @Xdate , XUserUpdated = @XUser from DialogProcess p where p.GenProcIDGroup > ' ' and not exists (select top 1 1 from #DialogProcessMirror\r\n m where m.UID_SingleGuid = p.GenProcID and m.BitProperty = 1 ) select @laufInnen = @@rowcount if @DebugSwitch > 0 begin print 'nachbehandelte Sätze ' \r\n+ str(@laufInnen) print 'Ende Bereinigung ' + convert(nvarchar(64), GetUTCDate(), 121) end  truncate table #sammler_Nachbearbeitung insert into #sammler_Nachbearbeitung\r\n (GenProcID, GenProcIDGroup) select p.GenProcID, p.GenProcIDGroup from DialogProcess p where p.GenProcIDGroup > ' ' and (exists (select top 1 1 from DialogProcessSubstitute\r\n s1 join DialogProcess p1 on s1.GenProcIDNew = p1.GenProcID where s1.GenProcIDOrigin = p.GenProcID and p1.GenProcIDGroup is null) Or exists (select top\r\n 1 1 from DialogProcessSubstitute s1 join DialogProcess p1 on s1.GenProcIDOrigin = p1.GenProcID where s1.GenProcIDNew = p.GenProcID and p1.GenProcIDGroup\r\n is null) ) select @AnzahlInnerLoopCycles = 0 select @laufInnen = 1 while @laufInnen > 0 begin select @laufInnen = 0  insert into #sammler_Nachbearbeitung\r\n (GenProcID, GenProcIDGroup) select a.GenProcID, a.GenProcIDGroup from ( select x.GenProcID, x.GenProcIDGroup from (  select su.GenProcIDOrigin as GenProcID\r\n, s.GenProcIDGroup from #sammler_Nachbearbeitung s join DialogProcessSubstitute su on s.GenProcIDGroup = su.GenProcIDNew ) as x group by x.GenProcID, x.GenProcIDGroup\r\n )as a left outer join #sammler_Nachbearbeitung e on e.GenProcID = a.GenProcID where e.GenProcID is null select @laufInnen += @@rowcount  insert into #sammler_Nachbearbeitung\r\n (GenProcID, GenProcIDGroup) select a.GenProcID, a.GenProcIDGroup from ( select x.GenProcID, x.GenProcIDGroup from (  select su.GenProcIDNew as GenProcID\r\n, s.GenProcIDGroup from #sammler_Nachbearbeitung s join DialogProcessSubstitute su on s.GenProcIDGroup = su.GenProcIDOrigin ) as x group by x.GenProcID\r\n, x.GenProcIDGroup )as a left outer join #sammler_Nachbearbeitung e on e.GenProcID = a.GenProcID where e.GenProcID is null select @laufInnen += @@rowcount\r\n  insert into #sammler_Nachbearbeitung (GenProcID, GenProcIDGroup) select a.GenProcID, a.GenProcIDGroup from ( select x.GenProcID, x.GenProcIDGroup from\r\n (  select su.GenProcIDNew as GenProcID, s.GenProcIDGroup from #sammler_Nachbearbeitung s join DialogProcessSubstitute su on s.GenProcID = su.GenProcIDOrigin\r\n ) as x group by x.GenProcID, x.GenProcIDGroup )as a left outer join #sammler_Nachbearbeitung e on e.GenProcID = a.GenProcID where e.GenProcID is null \r\nselect @laufInnen += @@rowcount  insert into #sammler_Nachbearbeitung (GenProcID, GenProcIDGroup) select a.GenProcID, a.GenProcIDGroup from ( select x.GenProcID\r\n, x.GenProcIDGroup from (  select su.GenProcIDOrigin as GenProcID, s.GenProcIDGroup from #sammler_Nachbearbeitung s join DialogProcessSubstitute su on \r\ns.GenProcID = su.GenProcIDNew ) as x group by x.GenProcID, x.GenProcIDGroup )as a left outer join #sammler_Nachbearbeitung e on e.GenProcID = a.GenProcID\r\n where e.GenProcID is null select @laufInnen += @@rowcount select @AnzahlInnerLoopCycles += 1 end  if @DebugSwitch > 0 begin print concat('Anzahl der Läufe für -- Nachbehandlung ... '\r\n, str(@AnzahlInnerLoopCycles)) end update DialogProcess set GenProcIDGroup = null  , XDateUpdated = @Xdate , XUserUpdated = @XUser from DialogProcess p\r\n where p.GenProcIDGroup > ' ' and exists (select top 1 1 from #sammler_Nachbearbeitung s where s.GenProcID = p.GenProcID   ) select @laufInnen = @@rowcount\r\n if @DebugSwitch > 0 begin print 'nochmals nachbehandelte Sätze ' + str(@laufInnen) print 'wirkliches Ende Bereinigung ' + convert(nvarchar(64), GetUTCDate\r\n(), 121) end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow\r\n, 18, 1) WITH NOWAIT END CATCH ende:   return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PProcessGroupCreate_help",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.157",
      "ModifyDate": "2026-04-14T23:20:32.127",
      "Definition": "     create   procedure QBM_PProcessGroupCreate_help( @DebugSwitch int , @BlockSizeWork int , @GesamtAnzahl int output , @XUser nvarchar(64) , @Xdate\r\n datetime , @LimitTotal int  ) as begin declare @laufInnen int declare @AnzahlInnerLoopCycles int = 0 declare @BisherGefuellt int = 0 create table #sammler_0\r\n ( GenProcID varchar(38) collate database_default NULL , GenProcIDGroup varchar(38) collate database_default NULL , index QBM_YProcessGroupCreate1 (GenProcID\r\n, GenProcIDGroup) , index QBM_YProcessGroupCreate2 (GenProcIDGroup, GenProcID) )  create table #sammler ( GenProcID varchar(38) collate database_default\r\n NULL , GenProcIDGroup varchar(38) collate database_default NULL , index QBM_YProcessGroupCreate1 (GenProcID, GenProcIDGroup) , index QBM_YProcessGroupCreate2\r\n (GenProcIDGroup, GenProcID) )     zuruecksetzen:  insert into #sammler_0 (GenProcID, GenProcIDGroup) select p.GenProcID, isnull(su.GenProcIDNew, p.GenProcID\r\n) as GenProcIDGroup from (        select top ( @BlockSizeWork) a.UID_SingleGuid as GenProcID from #DialogProcessMirror a where a.BitProperty = 0  and a.IntProperty\r\n = 2  order by a.XdateUpdated asc ) p left outer join DialogProcessSubstitute su on p.GenProcID = su.GenProcIDOrigin select @BisherGefuellt = @@ROWCOUNT\r\n             if (@BisherGefuellt > @LimitTotal / 25 or @BisherGefuellt > @BlockSizeWork * 3) and @BlockSizeWork >= 10 begin truncate table #sammler_0 truncate\r\n table #sammler select @BlockSizeWork /= 10 if @DebugSwitch > 0 begin print concat('@BlockSizeWork (1) reduziert auf ', str(@BlockSizeWork)) end  goto \r\nzuruecksetzen end  insert into #sammler_0 (GenProcID, GenProcIDGroup) select a.GenProcIDOrigin, a.GenProcIDNew from ( select su.GenProcIDOrigin, su.GenProcIDNew\r\n from #sammler_0 s join DialogProcessSubstitute su on s.GenProcIDGroup = su.GenProcIDNew group by su.GenProcIDOrigin, su.GenProcIDNew ) as a left outer\r\n join #sammler_0 e on e.GenProcID = a.GenProcIDOrigin and e.GenProcIDGroup = a.GenProcIDNew where e.GenProcID is null select @BisherGefuellt += @@rowcount\r\n             if (@BisherGefuellt > @LimitTotal / 25 or @BisherGefuellt > @BlockSizeWork * 4) and @BlockSizeWork >= 10 begin truncate table #sammler_0 truncate\r\n table #sammler select @BlockSizeWork /= 10 if @DebugSwitch > 0 begin print concat('@BlockSizeWork (2) reduziert auf ', str(@BlockSizeWork)) end  goto \r\nzuruecksetzen end  insert into #sammler (GenProcID, GenProcIDGroup) select a.GenProcID, a.GenProcIDGroup from ( select s3.GenProcID as GenProcID, v.GruppeAlt\r\n as GenProcIDGroup from (  select s.GenProcIDGroup as GruppeAlt, s2.GenProcIDGroup as GruppeNeu  from #sammler_0 s join #sammler_0 s2 on s.GenProcID = \r\ns2.GenProcID and s.GenProcIDGroup <> s2.GenProcIDGroup group by s.GenProcIDGroup, s2.GenProcIDGroup ) as v join #sammler_0 s3 on v.GruppeNeu  = s3.GenProcIDGroup\r\n union select e.GenProcID, e.GenProcIDGroup from #sammler_0 e ) as a  select @BisherGefuellt = @@ROWCOUNT             if (@BisherGefuellt > @LimitTotal\r\n / 25 or @BisherGefuellt > @BlockSizeWork * 5) and @BlockSizeWork >= 10 begin truncate table #sammler_0 truncate table #sammler select @BlockSizeWork /=\r\n 10 if @DebugSwitch > 0 begin print concat('@BlockSizeWork (3) reduziert auf ', str(@BlockSizeWork)) end  goto zuruecksetzen end select @laufInnen = 1 \r\nselect @AnzahlInnerLoopCycles = 0  while @laufInnen > 0 begin select @laufInnen = 0  insert into #sammler (GenProcID, GenProcIDGroup) select a.GenProcID\r\n, a.GenProcIDGroup from ( select x.GenProcID, x.GenProcIDGroup from (  select su.GenProcIDOrigin as GenProcID, s.GenProcIDGroup from #sammler s join DialogProcessSubstitute\r\n su on s.GenProcIDGroup = su.GenProcIDNew ) as x group by x.GenProcID, x.GenProcIDGroup ) as a left outer join #sammler e on e.GenProcID = a.GenProcID \r\nwhere e.GenProcID is null select @laufInnen += @@rowcount  insert into #sammler (GenProcID, GenProcIDGroup) select a.GenProcID, a.GenProcIDGroup from (\r\n select x.GenProcID, x.GenProcIDGroup from (  select su.GenProcIDNew as GenProcID, s.GenProcIDGroup from #sammler s join DialogProcessSubstitute su on \r\ns.GenProcIDGroup = su.GenProcIDOrigin ) as x group by x.GenProcID, x.GenProcIDGroup )as a left outer join #sammler e on e.GenProcID = a.GenProcID where\r\n e.GenProcID is null select @laufInnen += @@rowcount  insert into #sammler (GenProcID, GenProcIDGroup) select a.GenProcID, a.GenProcIDGroup from ( select\r\n x.GenProcID, x.GenProcIDGroup from (  select su.GenProcIDNew as GenProcID, s.GenProcIDGroup from #sammler s join DialogProcessSubstitute su on s.GenProcID\r\n = su.GenProcIDOrigin ) as x group by x.GenProcID, x.GenProcIDGroup )as a left outer join #sammler e on e.GenProcID = a.GenProcID where e.GenProcID is \r\nnull select @laufInnen += @@rowcount  insert into #sammler (GenProcID, GenProcIDGroup) select a.GenProcID, a.GenProcIDGroup from ( select x.GenProcID, \r\nx.GenProcIDGroup from (  select distinct su.GenProcIDOrigin as GenProcID, s.GenProcIDGroup from #sammler s join DialogProcessSubstitute su on s.GenProcID\r\n = su.GenProcIDNew ) as x group by x.GenProcID, x.GenProcIDGroup )as a left outer join #sammler e on e.GenProcID = a.GenProcID where e.GenProcID is null\r\n select @laufInnen += @@rowcount select @AnzahlInnerLoopCycles += 1 if @DebugSwitch > 0 begin print concat('Anzahl in #sammler eingefügt', str(@laufInnen\r\n) ) end end  if @DebugSwitch > 0 begin print concat('Anzahl der Läufe für -- 4) Überbrückungen finden ... ', str(@AnzahlInnerLoopCycles)) print '#sammler ergänzt'\r\n if @DebugSwitch = 2 begin select * from #sammler end else begin select COUNT(*) from #sammler end end     update DialogProcess set GenProcIDGroup = f.GenProcIDGroup\r\n  , XDateUpdated = @Xdate , XUserUpdated = @XUser  from DialogProcess p join( select x.GenProcID , case when y.ReadySum > 0 then null else x.GenProcIDGroup\r\n end as GenProcIDGroup from( select s.GenProcID , max(s.GenProcIDGroup) as GenProcIDGroup from #sammler s group by s.GenProcID ) as x join( select s.GenProcIDGroup\r\n , sum(sign(p.ReadyForDeleteOrExport^2)) as ReadySum from #sammler s join DialogProcess p on s.GenProcID = p.GenProcID group by s.GenProcIDGroup ) as y\r\n on x.GenProcIDGroup = y.GenProcIDGroup ) as f on p.GenProcID = f.GenProcID select @gesamtanzahl += @@rowcount update #DialogProcessMirror set BitProperty\r\n = 1 from #DialogProcessMirror m join #sammler s on m.UID_SingleGuid = s.GenProcID if @DebugSwitch > 0 begin print 'DialogProcess aktualisiert' if @DebugSwitch\r\n = 2 begin select ReadyForDeleteORExport,GenProcIDGroup,* from DialogProcess end else begin select COUNT(*) from #DialogProcessMirror where BitProperty\r\n = 1 end end  end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PProcessGroupDelete",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.333",
      "ModifyDate": "2026-04-14T23:20:26.013",
      "Definition": "  create   procedure QBM_PProcessGroupDelete (@GenProcIDGroup varchar(38) = ''  ) as begin declare @WhereClauseDelete nvarchar(2000) declare @Processes\r\n QBM_YSingleGUID declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY if @GenProcIDGroup\r\n > ' ' begin   insert into @Processes(UID_SingleGuid ) select p.GenProcID from Dialogprocess p with (readpast) where p.GenProcIDGroup = @GenProcIDGroup\r\n                     update DialogWatchOperation set ReadyForDeleteOrExport = 1 from DialogWatchOperation x join @Processes p on x.GenProcID = p.UID_SingleGuid\r\n  option (maxdop 1)                   update DialogProcessChain set ReadyForDeleteOrExport = 1 from DialogProcessChain x join @Processes p on x.GenProcID\r\n = p.UID_SingleGuid  option (maxdop 1)       update JobHistory set ReadyForDeleteOrExport = 1 from JobHistory x join @Processes p on x.GenProcID = p.UID_SingleGuid\r\n  option (maxdop 1)                  update DialogProcessSubstitute set ReadyForDeleteOrExport = 1 from DialogProcessSubstitute s where s.GenProcIDOrigin\r\n in (select p.GenProcID from Dialogprocess p with (readpast) where p.GenProcIDGroup = @GenProcIDGroup ) and s.ReadyForDeleteOrExport <> 1 update DialogProcessSubstitute\r\n set ReadyForDeleteOrExport = 1 from DialogProcessSubstitute s where s.GenProcIDnew in (select p.GenProcID from Dialogprocess p with (readpast) where p.GenProcIDGroup\r\n = @GenProcIDGroup ) and s.ReadyForDeleteOrExport <> 1  update DialogProcess set ReadyForDeleteOrExport = 1 from DialogProcess x join @Processes p on x.GenProcID\r\n = p.UID_SingleGuid  option (maxdop 1) goto ende end   update DialogWatchOperation set ReadyForDeleteOrExport = 1 where ReadyForDeleteOrExport = 2 and \r\nGenProcID in (select p.GenProcID from Dialogprocess p where p.GenProcIDGroup > ' ' )  update DialogProcessChain set ReadyForDeleteOrExport = 1  , XDateUpdated\r\n = @Xdate , XUserUpdated = @XUser where ReadyForDeleteOrExport = 2 and GenProcID in (select p.GenProcID from Dialogprocess p where p.GenProcIDGroup > ' '\r\n )  update JobHistory set ReadyForDeleteOrExport = 1  , XDateUpdated = @Xdate , XUserUpdated = @XUser where ReadyForDeleteOrExport = 2 and GenProcID in\r\n (select p.GenProcID from Dialogprocess p where p.GenProcIDGroup > ' ' )  update DialogProcessSubstitute set ReadyForDeleteOrExport = 1 from DialogProcessSubstitute\r\n s where s.GenProcIDOrigin in (select p.GenProcID from Dialogprocess p where p.GenProcIDGroup > ' ' ) and s.ReadyForDeleteOrExport <> 1 update DialogProcessSubstitute\r\n set ReadyForDeleteOrExport = 1 from DialogProcessSubstitute s where GenProcIDnew in (select p.GenProcID from Dialogprocess p where p.GenProcIDGroup > \r\n' ' ) and s.ReadyForDeleteOrExport <> 1  update DialogProcess set ReadyForDeleteOrExport = 1  , XDateUpdated = @Xdate , XUserUpdated = @XUser where ReadyForDeleteOrExport\r\n = 2 and GenProcIDGroup > ' ' END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR\r\n (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PProcessShrink",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.32",
      "ModifyDate": "2026-04-14T23:20:25.997",
      "Definition": "   create   procedure QBM_PProcessShrink (@KeyPattern varchar(25) = '%'  ) as begin declare @CountItems int SET XACT_ABORT OFF BEGIN TRY set nocount\r\n on  exec QBM_PDialogProcessShrink_3 @CountItems output, @KeyPattern     exec QBM_PDialogProcessShrink_mark @KeyPattern  update DialogProcessSubstitute\r\n set ReadyForDeleteOrExport = 1 from DialogProcessSubstitute s where s.GenProcIDNew in ( select GenProcID from dialogprocess p where p.ReadyForDeleteOrExport\r\n = 1 and p.GenProcID like @KeyPattern ) and s.ReadyForDeleteOrExport <> 1  update DialogProcessSubstitute set ReadyForDeleteOrExport = 1 from DialogProcessSubstitute\r\n s where s.GenProcIDOrigin in ( select GenProcID from dialogprocess p where p.ReadyForDeleteOrExport = 1 and p.GenProcID like @KeyPattern ) and s.ReadyForDeleteOrExport\r\n <> 1  exec QBM_PDialogProcessShrink_3 @CountItems output, @KeyPattern END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000\r\n) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PProgressViewShrink",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.267",
      "ModifyDate": "2026-04-14T23:20:25.957",
      "Definition": "create   procedure QBM_PProgressViewShrink (@KeyPattern varchar(25) = '%'  ) as begin declare @GrenzDatum datetime declare @ReadyForDeleteOrExport\r\n int declare @BlockSize int = 100000 declare @lauf int SET XACT_ABORT OFF BEGIN TRY exec QBM_PDialogProcessGetShrinkDef N'ProgressView', @ReadyForDeleteOrExport\r\n output, @GrenzDatum output if @ReadyForDeleteOrExport = 0  begin goto EndLabel end  select @lauf = 1 while @lauf > 0 begin exec @lauf = QBM_P0443A4E1724A1CB3D52A2C2_a\r\n @Blocksize, @ReadyForDeleteOrExport, @KeyPattern, @GrenzDatum end     END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000\r\n) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH EndLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PQBMDBQueueCurrentDelete",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.347",
      "ModifyDate": "2026-04-14T23:20:26.027",
      "Definition": "  create   procedure QBM_PQBMDBQueueCurrentDelete ( @RowLimit int = 1000  , @MaxLimit int = 50000  ) as begin declare @Items QBM_YSingleGuid  declare\r\n @ItemPortion QBM_YSingleGuid declare @einRuck int  declare @LaufDelete int = 0 declare @AnzahlLoesch int declare @AnzahlLoeschGesamt int = 0 declare @Start\r\n datetime declare @ende datetime declare @diff int declare @ExpectedRuntime float = 1000.0 declare @anzahl int SET XACT_ABORT OFF BEGIN TRY set lock_timeout\r\n 50 select @anzahl = dbo.QBM_FGITableCountAll('QBMDBQueueCurrent') if @anzahl > 0 begin goto normal end if @anzahl = 0 and @@TRANCOUNT = 0  begin begin\r\n transaction BEGIN TRY  update QBMDBQueueCurrent set StartedAt = q.StartedAt from QBMDBQueueCurrent q with (tablockx) END TRY BEGIN CATCH select @anzahl\r\n = 1  END CATCH  if dbo.QBM_FGITableCountAll('QBMDBQueueCurrent') = 0 and @anzahl = 0 begin BEGIN TRY  truncate table QBMDBQueueCurrent  commit select \r\n@LaufDelete = 1 END TRY BEGIN CATCH   rollback END CATCH end else begin  rollback end end if @LaufDelete = 1 begin goto endLabel end normal: insert into\r\n @Items (UID_SingleGuid ) select top (@MaxLimit) qt.UID_DialogDBQueue from QBMDBQueueCurrent qt with (readpast) where qt.SlotNumber = 0  select @LaufDelete\r\n = 1 select @einRuck = @RowLimit while @LaufDelete > 0 begin select @Start = getutcdate() delete  @ItemPortion  insert into @ItemPortion (UID_SingleGuid\r\n ) select top (@einRuck) t.UID_SingleGuid from @Items t where t.BitProperty = 0  select @LaufDelete = @@ROWCOUNT if @LaufDelete = 0 begin continue end \r\nupdate @Items set BitProperty = 1  from @Items t join @ItemPortion p on t.UID_SingleGuid = p.UID_SingleGuid  BEGIN TRY delete QBMDBQueueCurrent from QBMDBQueueCurrent\r\n cu with (forceSeek) where cu.UID_DialogDBQueue in (select t.UID_SingleGuid  from @ItemPortion t ) select @AnzahlLoesch = @@rowcount END TRY BEGIN CATCH\r\n  select @AnzahlLoesch = 0 exec QBM_PWaitForSeconds 0.05 end CATCH select @AnzahlLoeschGesamt += @AnzahlLoesch select @ende = getutcdate() select @diff\r\n = DATEDIFF(ms, @start, @ende) select @einRuck = case when @diff = 0 then @RowLimit when @AnzahlLoesch = 0 then @RowLimit when @diff > @ExpectedRuntime\r\n then @RowLimit else convert(int, @ExpectedRuntime * convert(float, @einRuck) / convert(float, @diff)) end  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return (@AnzahlLoeschGesamt\r\n) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PQBMDBQueuePondDelete",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.62",
      "ModifyDate": "2026-04-14T23:16:09.24",
      "Definition": "create   procedure QBM_PQBMDBQueuePondDelete ( @RowLimit int = 2000  , @MaxLimit int = 80000  ) as begin declare @einRuck int  declare @LaufDelete\r\n int declare @AnzahlLoesch int declare @AnzahlLoeschGesamt int = 0 declare @Start datetime declare @ende datetime declare @diff int declare @ExpectedRuntime\r\n float = 1000.0  declare @PondGroup varchar(38) = null declare @DebugSwitch int = 0 SET XACT_ABORT OFF BEGIN TRY set lock_timeout 50 if dbo.QBM_FGITableCountAll\r\n('QBMDBQueuePond') > 0 begin goto normal end BEGIN TRY truncate table QBMDBQueuePond select @LaufDelete = 1 END TRY BEGIN CATCH  select @LaufDelete = 0\r\n END CATCH if @LaufDelete = 1 begin goto endLabel end normal: if @DebugSwitch > 0 begin print dbo.QBM_FCVDatetimeToString(GETUTCDATE()) + ' Pondgroup suchen'\r\n end select top 1 @PondGroup = p.PondGroup from QBMDBQueuePond p where  GenProcID = 'DELETE' if @PondGroup is null  begin goto endlabel end if @DebugSwitch\r\n > 0 begin print dbo.QBM_FCVDatetimeToString(GETUTCDATE()) + ' Pondgroup gefunden ' + @PondGroup end select @LaufDelete = 1 select @einRuck = @RowLimit\r\n while @LaufDelete > 0 and @AnzahlLoeschGesamt < @MaxLimit begin select @Start = getutcdate()  BEGIN TRY delete top (@einRuck) from QBMDBQueuePond where\r\n PondGroup = @PondGroup   select @AnzahlLoesch = @@rowcount select @LaufDelete = @AnzahlLoesch  END TRY BEGIN CATCH  select @AnzahlLoesch = 0 exec QBM_PWaitForSeconds\r\n 0.05 end CATCH select @AnzahlLoeschGesamt += @AnzahlLoesch select @ende = getutcdate() select @diff = DATEDIFF(ms, @start, @ende) if @DebugSwitch > 0 \r\nbegin print 'Laufzeit 1 Portion ms ' + str(@diff) end select @einRuck = case when @diff = 0 then @RowLimit when @AnzahlLoesch = 0 then @RowLimit when @diff\r\n > @ExpectedRuntime then @RowLimit else convert(int, @ExpectedRuntime * convert(float, @einRuck) / convert(float, @diff)) end  end  END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH \r\nendLabel: return (@AnzahlLoeschGesamt) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PQBMEventClean",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.81",
      "ModifyDate": "2026-04-14T23:20:26.6",
      "Definition": "   create   procedure QBM_PQBMEventClean as begin declare @DebugSwitch int = 0 declare @doppelte table (EventName nvarchar(64) collate database_default\r\n , uid_dialogtable varchar(38) collate database_default , uid_QBMEventToUse varchar(38) collate database_default ) declare @XUser nvarchar(64) = object_name\r\n(@@procid) declare @Xdate datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY insert into @doppelte (EventName, uid_dialogtable, uid_QBMEventToUse) select\r\n l.EventName, l.UID_DialogTable , substring(min(str( m.SortOrder) + l.UID_QBMEvent), 11,36) from QBMEvent l join ( select e.EventName, e.UID_DialogTable\r\n from QBMEvent e group by e.EventName, e.UID_DialogTable having count(*) > 1 ) as d on l.EventName = d.EventName and l.UID_DialogTable = d.UID_DialogTable\r\n join QBMModuleDef m on dbo.QBM_FCVGUIDToModuleOwner(l.UID_QBMEvent) = m.ModuleName group by l.EventName, l.UID_DialogTable if @DebugSwitch > 0 begin select\r\n * from @doppelte end update JobEventGen set UID_QBMEvent = d.uid_QBMEventToUse , XDateUpdated = @Xdate , XUserUpdated = @XUser  from JobEventGen g join\r\n QBMEvent e on g.UID_QBMEvent = e.UID_QBMEvent join @doppelte d on d.EventName = e.EventName and d.uid_dialogtable = e.UID_DialogTable where g.UID_QBMEvent\r\n <> d.uid_QBMEventToUse update JobAutoStart set UID_QBMEvent = d.uid_QBMEventToUse , XDateUpdated = @Xdate , XUserUpdated = @XUser  from JobAutoStart g\r\n join QBMEvent e on g.UID_QBMEvent = e.UID_QBMEvent join @doppelte d on d.EventName = e.EventName and d.uid_dialogtable = e.UID_DialogTable where g.UID_QBMEvent\r\n <> d.uid_QBMEventToUse insert into QBMEventHasFeature (UID_QBMEvent, UID_DialogFeature, XObjectKey , XDateInserted, XDateUpdated, XUserInserted, XUserUpdated\r\n ) select d.uid_QBMEventToUse, g.UID_DialogFeature, dbo.QBM_FCVElementToObjectKey2 ('QBMEventHasFeature', 'UID_QBMEvent', d.uid_QBMEventToUse, 'UID_DialogFeature'\r\n, g.UID_DialogFeature) , g.XDateInserted, g.XDateUpdated, g.XUserInserted, g.XUserUpdated from QBMEventHasFeature g join QBMEvent e on g.UID_QBMEvent =\r\n e.UID_QBMEvent join @doppelte d on d.EventName = e.EventName and d.uid_dialogtable = e.UID_DialogTable where g.UID_QBMEvent <> d.uid_QBMEventToUse and\r\n not exists (select top 1 1 from QBMEventHasFeature x where x.UID_DialogFeature = g.UID_DialogFeature and x.UID_QBMEvent = d.uid_QBMEventToUse ) delete\r\n QBMEventHasFeature  from QBMEventHasFeature g join QBMEvent e on g.UID_QBMEvent = e.UID_QBMEvent join @doppelte d on d.EventName = e.EventName and d.uid_dialogtable\r\n = e.UID_DialogTable where g.UID_QBMEvent <> d.uid_QBMEventToUse delete QBMEvent  from QBMEvent e join @doppelte d on e.UID_DialogTable = d.uid_dialogtable\r\n and e.EventName = d.EventName where e.UID_QBMEvent <> d.uid_QBMEventToUse END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar\r\n(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende:  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 1,
      "HasQBMEvent": 1
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PQBMRelationCheck",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.893",
      "ModifyDate": "2026-04-14T23:20:25.543",
      "Definition": "  create   procedure QBM_PQBMRelationCheck as begin declare @CountItems int = 0 declare @DebugSwitch int = 0 declare @XUser nvarchar(64) = object_name\r\n(@@procid) declare @Xdate datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY update QBMRelation set ParentExecuteBy = left(v.ValidParentExecuteBy, 1)\r\n , XDateUpdated = @Xdate , XUserUpdated = @XUser from QBMRelation r join DialogColumn cc on r.uid_ChildColumn = cc.UID_DialogColumn join DialogTable c \r\non cc.UID_DialogTable = c.UID_DialogTable join DialogColumn cp on r.UID_ParentColumn = cp.UID_DialogColumn join DialogTable p on cp.UID_DialogTable = p.UID_DialogTable\r\n join dbo.QBM_FTRelationValidationInfo() v on v.RIType = 'Fix' and v.Parenttype = p.TableType and v.ChildType = c.TableType where v.ValidParentExecuteBy\r\n not like '%' + r.ParentExecuteBy + '%' and v.IsValid = 1 select @CountItems = @@ROWCOUNT if @DebugSwitch > 0 begin print 'parentexecuteby geändert' + \r\nstr(@CountItems) end update QBMRelation set ChildExecuteBy = left(v.ValidChildExecuteBy, 1) , XDateUpdated = @Xdate , XUserUpdated = @XUser from QBMRelation\r\n r join DialogColumn cc on r.UID_ChildColumn = cc.UID_DialogColumn join DialogTable c on cc.UID_DialogTable = c.UID_DialogTable join DialogColumn cp on\r\n r.UID_ParentColumn = cp.UID_DialogColumn join DialogTable p on cp.UID_DialogTable = p.UID_DialogTable join dbo.QBM_FTRelationValidationInfo() v on v.RIType\r\n = 'Fix' and v.Parenttype = p.TableType and v.ChildType = c.TableType where v.ValidChildExecuteBy not like '%' + r.ChildExecuteBy + '%' and v.IsValid =\r\n 1 select @CountItems = @@ROWCOUNT if @DebugSwitch > 0 begin print 'Childexecuteby' + str(@CountItems) end  update DialogColumn set isForeignKey = sign\r\n(LEN(isnull(r.UID_ChildColumn, ''))) , XDateUpdated = @Xdate , XUserUpdated = @XUser from DialogColumn c left outer join QBMRelation r on r.UID_ChildColumn\r\n = c.UID_DialogColumn where isnull(c.isForeignKey,0) <> sign(LEN(isnull(r.UID_ChildColumn, '')))    update QBMRelation set IsMNRelation = 0  , UID_QBMRelationMN\r\n = null , XDateUpdated = @Xdate , XUserUpdated = @XUser where IsMNRelation = 1  or UID_QBMRelationMN > ' ' update QBMRelation set isMNRelation = 1   , \r\nUID_QBMRelationMN = x.MNRelationUID , XDateUpdated = @Xdate , XUserUpdated = @XUser from QBMRelation , ( select linkscr.UID_QBMRelation ,linkscr.UID_DialogTableParent\r\n, linkscr.UID_DialogTableChild as mnTable, rechtscr.UID_DialogTableParent as mnPartnerTable , rechtscr.UID_QBMRelation as MNRelationUID , rechtscr.RelationID\r\n as MNRelationID from QBM_VQBMRelation linksCR join QBM_VQBMRelation rechtsCR on linksCR.UID_DialogTableChild = rechtsCR.UID_DialogTableChild and linksCR.UID_QBMRelation\r\n <> rechtsCR.UID_QBMRelation join ( select UID_DialogTable , count(*) as CountItems from dialogcolumn where ispkmember = 1 and UID_DialogTable in (select\r\n r.UID_DialogTableChild from QBM_VQBMRelation r ) group by UID_DialogTable having count(*) > 1 ) as n1 on n1.UID_DialogTable = linkscr.UID_DialogTableChild\r\n join ( select UID_DialogTableChild, count(*) as CountItems from QBM_VQBMRelation  group by UID_DialogTableChild having count(*) > 1 ) as n2 on n2.UID_DialogTableChild\r\n = linkscr.UID_DialogTableChild join ( select dcr.UID_QBMRelation from QBMRelation dcr join dialogcolumn dc on dcr.uid_childcolumn = dc.uid_dialogcolumn\r\n and dc.isPKMember = 1 ) as n3 on n3.UID_QBMRelation = linkscr.UID_QBMRelation join ( select dcr.UID_QBMRelation from QBMRelation dcr join dialogcolumn\r\n dc on dcr.uid_childcolumn = dc.uid_dialogcolumn and dc.isPKMember = 1 ) as n4 on n4.UID_QBMRelation = rechtscr.UID_QBMRelation ) as x where QBMRelation.UID_QBMRelation\r\n = x.UID_QBMRelation  and QBMRelation.ParentExecuteBy in ('T', 'D' , 'N'  )  and QBMRelation.IsMNRelation = 0  update DialogTable set isMNTable = 0  , \r\nXDateUpdated = @Xdate , XUserUpdated = @XUser from DialogTable t where t.TableType not in (  'U', 'R') and t.isMNTable = 1 and Not exists (select top 1\r\n 1 from QBMRelation r join DialogColumn c on r.UID_ChildColumn = c.UID_DialogColumn where c.UID_DialogTable = t.UID_DialogTable and r.ismnrelation = 1 \r\n) update dialogtable set ismntable = 1 , XDateUpdated = @Xdate , XUserUpdated = @XUser  from DialogTable t where exists (select top 1 1 from QBMRelation\r\n r join DialogColumn c on r.UID_ChildColumn = c.UID_DialogColumn where c.UID_DialogTable = t.UID_DialogTable and r.ismnrelation = 1 )  and t.isMNTable \r\n= 0 and t.TableType not in ( 'U', 'R')  update DialogTable set IsMAllTable = 1 , XDateUpdated = @Xdate , XUserUpdated = @XUser  from DialogTable t join\r\n QBM_VMAllTables v on t.UID_DialogTable = v.UID_DialogTable where t.IsMAllTable = 0 and t.TableType not in ( 'U', 'R') update DialogTable set IsMAllTable\r\n = 0 , XDateUpdated = @Xdate , XUserUpdated = @XUser  from DialogTable t left outer join QBM_VMAllTables v on t.UID_DialogTable = v.UID_DialogTable where\r\n t.IsMAllTable = 1 and v.UID_DialogTable is null and t.TableType not in ( 'U', 'R')  update DialogColumn set IsMAllKeyMember = 1 , XDateUpdated = @Xdate\r\n , XUserUpdated = @XUser  from DialogColumn c join QBM_VMAllTables v on c.UID_DialogTable = v.UID_DialogTable and ( c.UID_DialogColumn = v.UID_DialogColumnFK\r\n or c.UID_DialogColumn = v.UID_DialogColumnObjectKey ) where c.IsMAllKeyMember = 0 update DialogColumn set IsMAllKeyMember = 0 , XDateUpdated = @Xdate \r\n, XUserUpdated = @XUser  from DialogColumn c left outer join QBM_VMAllTables v on c.UID_DialogTable = v.UID_DialogTable and ( c.UID_DialogColumn = v.UID_DialogColumnFK\r\n or c.UID_DialogColumn = v.UID_DialogColumnObjectKey ) where c.IsMAllKeyMember = 1 and v.UID_DialogTable is null    select @CountItems = 1 while @CountItems\r\n > 0 begin select @CountItems = 0               update QBMRelation set parentAllowUpdate = b.parentAllowUpdate, parentrestriction = b.parentrestriction\r\n , XDateUpdated = @Xdate , XUserUpdated = @XUser from QBMRelation, QBMRelation b where QBMRelation.UID_QBMRelationBase = b.UID_QBMRelation and (QBMRelation.parentAllowUpdate\r\n <> b.parentAllowUpdate or QBMRelation.parentrestriction <> b.parentrestriction ) and b.parentAllowUpdate = 0 select @CountItems = @CountItems + @@rowcount\r\n update QBMRelation set ChildAllowUpdate = b.ChildAllowUpdate, ChildRestriction = b.ChildRestriction , XDateUpdated = @Xdate , XUserUpdated = @XUser from\r\n QBMRelation, QBMRelation b where QBMRelation.UID_QBMRelationBase = b.UID_QBMRelation and ( QBMRelation.ChildAllowUpdate <> b.ChildAllowUpdate or QBMRelation.ChildRestriction\r\n <> b.ChildRestriction ) and b.ChildAllowUpdate = 0 select @CountItems = @CountItems + @@rowcount   update QBMRelation set parentAllowUpdate = 0 , XDateUpdated\r\n = @Xdate , XUserUpdated = @XUser from QBMRelation, QBMRelation b where QBMRelation.UID_QBMRelationBase = b.UID_QBMRelation and QBMRelation.parentAllowUpdate\r\n <> 0 and b.parentAllowUpdate = 1 and b.Parentexecuteby = 'T' select @CountItems = @CountItems + @@rowcount update QBMRelation set ChildAllowUpdate = 0\r\n , XDateUpdated = @Xdate , XUserUpdated = @XUser from QBMRelation, QBMRelation b where QBMRelation.UID_QBMRelationBase = b.UID_QBMRelation and QBMRelation.ChildAllowUpdate\r\n <> 0 and b.ChildAllowUpdate = 1 and b.Childexecuteby = 'T' select @CountItems = @CountItems + @@rowcount  update QBMRelation set parentAllowUpdate = 1\r\n , XDateUpdated = @Xdate , XUserUpdated = @XUser from QBMRelation, QBMRelation b where QBMRelation.UID_QBMRelationBase = b.UID_QBMRelation and QBMRelation.parentAllowUpdate\r\n <> 1 and b.parentAllowUpdate = 1 and b.Parentexecuteby = 'D' select @CountItems = @CountItems + @@rowcount update QBMRelation set ChildAllowUpdate = 1\r\n , XDateUpdated = @Xdate , XUserUpdated = @XUser from QBMRelation, QBMRelation b where QBMRelation.UID_QBMRelationBase = b.UID_QBMRelation and QBMRelation.ChildAllowUpdate\r\n <> 1 and b.ChildAllowUpdate = 1 and b.Childexecuteby = 'D' select @CountItems = @CountItems + @@rowcount end   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PQBMRelationExpand",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.87",
      "ModifyDate": "2026-04-14T23:20:25.517",
      "Definition": "  create   procedure QBM_PQBMRelationExpand as begin declare @UID_QBMRelation varchar(38) declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount\r\n int declare @ElementIndex int SET XACT_ABORT OFF BEGIN TRY insert into @ElementBuffer (UID1) select v.UID_QBMRelation from QBM_VQBMRelation v join DialogTable\r\n tp on v.UID_DialogTableParent = tp.UID_DialogTable join DialogTable tc on v.UID_DialogTableChild = tc.UID_DialogTable where v.UID_QBMRelationBase is null\r\n and ( tp.TableType in ('B', 'V') or tc.TableType in ('B', 'V') ) select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount\r\n begin select top 1 @UID_QBMRelation = bu.UID1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex exec QBM_PQBMRelationExpand_One @UID_QBMRelation\r\n select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow()\r\n RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PQBMRelationExpand_One",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.863",
      "ModifyDate": "2026-04-14T23:20:25.51",
      "Definition": "   create   procedure QBM_PQBMRelationExpand_One ( @UID_QBMRelation varchar(38) ) as begin declare @ModuleOwner varchar(3) declare @UID_QBMRelationBase\r\n varchar(38)  declare @UID_DialogTableParent varchar(38) declare @UID_ParentColumn varchar(38) declare @UID_DialogTableChild varchar(38) declare @UID_ChildColumn\r\n varchar(38) declare @Xdate datetime = getutcdate() declare @XUser nvarchar(64) = object_name(@@procid)  declare @tabletypeParent varchar(1) declare @tabletypeChild\r\n varchar(1) declare @parentcolumn varchar(30) declare @Childcolumn varchar(30) declare @DebugSwitch int = 0 declare @CountItems int declare @RelationIDab4\r\n nvarchar(64) declare @UID_QBMRelationAb4 varchar(38) declare @RelationID nvarchar(64) declare @ParentRestriction nchar(2) , @ParentExecuteBy nchar(1) \r\n, @ParentAllowUpdate bit , @ChildRestriction nchar(2) , @ChildExecuteBy nchar(1) , @ChildAllowUpdate bit declare @QBMRelation table ( RelationID nvarchar\r\n(64) collate database_default , UID_QBMRelation varchar(38) collate database_default , UID_ParentColumn varchar(38) collate database_default , ParentRestriction\r\n varchar(2) collate database_default , ParentExecuteBy varchar(1) collate database_default , ParentAllowUpdate bit , UID_ChildColumn varchar(38) collate\r\n database_default , ChildRestriction varchar(2) collate database_default , ChildExecuteBy varchar(1) collate database_default , ChildAllowUpdate bit , \r\nUID_QBMRelationBase varchar(38) collate database_default ) SET XACT_ABORT OFF BEGIN TRY select @ModuleOwner = dbo.QBM_FGIDBOwner() if @UID_QBMRelation \r\nlike '%-Base' begin if @DebugSwitch > 0 begin print '@UID_QBMRelation ' + @UID_QBMRelation + ' einkürzen' end   select top 1 @UID_QBMRelation = substring\r\n(@UID_QBMRelation, 1, LEN(@UID_QBMRelation) - len('-Base')) , @UID_QBMRelationBase = v.UID_QBMRelationBase , @UID_DialogTableParent = v.UID_DialogTableParent\r\n , @tabletypeParent = tp.TableType , @UID_ParentColumn = v.UID_ParentColumn , @parentcolumn = v.ParentColumn , @UID_DialogTableChild = vb.UID_DialogTableChild\r\n , @tabletypeChild = tcb.TableType , @UID_ChildColumn = vb.UID_ChildColumn , @Childcolumn = vb.ChildColumn , @RelationID = v.RelationID  , @RelationIDab4\r\n = substring(substring(vb.relationid, 4,60), 1, LEN(substring(vb.relationid, 4,60)) - len('-Base') ) , @UID_QBMRelationAb4 = substring(substring(vb.UID_QBMRelation\r\n, 4,34), 1, LEN(substring(vb.UID_QBMRelation, 4,34)) - len('-Base') ) , @ParentRestriction = v.ParentRestriction , @ParentExecuteBy = v.ParentExecuteBy\r\n , @ParentAllowUpdate = v.ParentAllowUpdate , @ChildRestriction = vb.ChildRestriction , @ChildExecuteBy = vb.ChildExecuteBy , @ChildAllowUpdate = vb.ChildAllowUpdate\r\n from QBM_VQBMRelation v join DialogTable tp on v.UID_DialogTableParent = tp.UID_DialogTable join DialogTable tc on v.UID_DialogTableChild = tc.UID_DialogTable\r\n join QBM_VQBMRelation vb on vb.UID_QBMRelation = @UID_QBMRelation join DialogTable tpb on vb.UID_DialogTableParent = tpb.UID_DialogTable join DialogTable\r\n tcb on vb.UID_DialogTableChild = tcb.UID_DialogTable where v.UID_QBMRelationBase = @UID_QBMRelation end else begin select top 1 @UID_QBMRelationBase =\r\n v.UID_QBMRelationBase , @UID_DialogTableParent = v.UID_DialogTableParent , @tabletypeParent = tp.TableType , @UID_ParentColumn = v.UID_ParentColumn , \r\n@parentcolumn = v.ParentColumn , @UID_DialogTableChild = v.UID_DialogTableChild , @tabletypeChild = tc.TableType , @UID_ChildColumn = v.UID_ChildColumn\r\n , @Childcolumn = v.ChildColumn , @RelationID = v.RelationID  , @RelationIDab4 = substring(v.relationid, 4,60) , @UID_QBMRelationAb4 = substring(v.UID_QBMRelation\r\n, 4,34) , @ParentRestriction = v.ParentRestriction , @ParentExecuteBy = v.ParentExecuteBy , @ParentAllowUpdate = v.ParentAllowUpdate , @ChildRestriction\r\n = v.ChildRestriction , @ChildExecuteBy = v.ChildExecuteBy , @ChildAllowUpdate = v.ChildAllowUpdate from QBM_VQBMRelation v join DialogTable tp on v.UID_DialogTableParent\r\n = tp.UID_DialogTable join DialogTable tc on v.UID_DialogTableChild = tc.UID_DialogTable where v.UID_QBMRelation = @UID_QBMRelation if @UID_QBMRelationBase\r\n > ' ' begin if @DebugSwitch > 0 begin print 'nicht leere Basis Relation' end goto endlabel end end if @DebugSwitch > 0 begin print '@RelationID ' + @RelationID\r\n print '@RelationIDab4 ' + @RelationIDab4 print '@UID_QBMRelationAb4 ' + @UID_QBMRelationAb4 print '@UID_QBMRelationBase ' + isnull(@UID_QBMRelationBase\r\n, '<null>') print @UID_DialogTableParent + ' ' + @tabletypeParent + ' ' +@parentcolumn + ' ' + @uid_parentColumn print @UID_DialogTableChild + ' ' + @tabletypeChild\r\n + ' ' +@Childcolumn + ' ' + @uid_ChildColumn end if @DebugSwitch > 0 begin print 'wir machen was' end if @UID_DialogTableChild in ('QER-T-BaseTreeCollection'\r\n , 'QER-T-BaseTreeExcludesBaseTree' ) begin goto endLabel end  if @tabletypeParent in ('B', 'T') and @tabletypeChild = 'T' begin if @DebugSwitch > 0 begin\r\n print 'Es bleibt wie es ist' end goto endlabel end  if @tabletypeParent = 'B' and @tabletypeChild = 'B' begin if @DebugSwitch > 0 begin print 'View auf beiden Seiten finden'\r\n print ' gefundenes wird relation, angegebenes wird basis' end insert into @QBMRelation (RelationID , UID_QBMRelation , UID_ParentColumn , ParentRestriction\r\n, ParentExecuteBy, ParentAllowUpdate , UID_ChildColumn , ChildRestriction, ChildExecuteBy, ChildAllowUpdate , UID_QBMRelationBase ) select @ModuleOwner\r\n + @RelationIDab4 + '-' + tvr.TableName , left(@ModuleOwner + @UID_QBMRelationab4 + '-' + substring(dbo.QBM_FCVBinaryToString( dbo.QBM_FCVAnyToHash(upper\r\n(tvl.TableName)), 0), 3,40), 36) , cvl.UID_DialogColumn , @ParentRestriction, @ParentExecuteBy, @ParentAllowUpdate , cvr.UID_DialogColumn , @ChildRestriction\r\n, @ChildExecuteBy, @ChildAllowUpdate , @UID_QBMRelation from DialogTable tbr join DialogTable tvr on tbr.UID_DialogTable = @UID_DialogTableChild and tvr.UID_DialogTableBase\r\n = tbr.UID_DialogTable join DialogColumn cvr on cvr.UID_DialogTable = tvr.UID_DialogTable and cvr.UID_BaseColumn = @UID_ChildColumn  join DialogTable tbl\r\n on tbl.UID_DialogTable = @UID_DialogTableParent join DialogTable tvl on tvl.UID_DialogTableBase = tbl.UID_DialogTable join DialogColumn cvl on cvl.UID_DialogTable\r\n = tvl.UID_DialogTable and cvl.UID_BaseColumn = @UID_ParentColumn  and ( (cvl.ColumnName = cvr.ColumnName  and tvl.UID_DialogTable <> tvr.UID_DialogTable\r\n )  or (tbr.UID_DialogTable = tbl.UID_DialogTable and tvr.UID_DialogTable = tvl.UID_DialogTable  and dbo.QBM_FCVGUIDToModuleOwner(@UID_ChildColumn) <> \r\n'CCC' ) )     goto BasisDefiniert end   if @tabletypeParent = 'T' and @tabletypeChild = 'B' begin if @DebugSwitch > 0 begin print 'View auf Child-Seite finden'\r\n print ' gefundenes wird relation, angegebenes wird basis' end  insert into @QBMRelation (RelationID , UID_QBMRelation , UID_ParentColumn , ParentRestriction\r\n, ParentExecuteBy, ParentAllowUpdate , UID_ChildColumn , ChildRestriction, ChildExecuteBy, ChildAllowUpdate , UID_QBMRelationBase ) select @ModuleOwner\r\n + @RelationIDab4 + '-' + tvr.TableName , left(@ModuleOwner + @UID_QBMRelationab4 + '-' + substring(dbo.QBM_FCVBinaryToString( dbo.QBM_FCVAnyToHash(upper\r\n(tvr.TableName)), 0), 3,40) , 36) , cTl.uid_dialogcolumn , @ParentRestriction, @ParentExecuteBy, @ParentAllowUpdate , cvr.UID_DialogColumn , @ChildRestriction\r\n, @ChildExecuteBy, @ChildAllowUpdate , dbo.QBM_FGIModulehigher(dbo.QBM_FCVGUIDToModuleOwner(cbr.UID_DialogColumn)  , dbo.QBM_FCVGUIDToModuleOwner(ctl.UID_DialogColumn\r\n ) ) + @UID_QBMRelationab4 from DialogTable tbr join DialogTable tvr on tbr.UID_DialogTable = @UID_DialogTableChild and tvr.UID_DialogTableBase = tbr.UID_DialogTable\r\n join DialogColumn cvr on cvr.UID_DialogTable = tvr.UID_DialogTable join DialogColumn cbr on cbr.UID_DialogTable = tbr.UID_DialogTable and cvr.UID_BaseColumn\r\n = cbr.UID_DialogColumn and cbr.UID_DialogColumn = @UID_ChildColumn join DialogTable tTl on tTl.UID_DialogTable = @UID_DialogTableParent join DialogColumn\r\n cTl on cTl.UID_DialogColumn = @UID_ParentColumn goto BasisDefiniert end    if @tabletypeParent = 'V' and @tabletypeChild = 'B' begin if @DebugSwitch >\r\n 0 begin print 'Dann alle Parents beim Child finden und multiplizieren' end  insert into @QBMRelation (RelationID , UID_QBMRelation , UID_ParentColumn \r\n, ParentRestriction, ParentExecuteBy, ParentAllowUpdate , UID_ChildColumn , ChildRestriction, ChildExecuteBy, ChildAllowUpdate , UID_QBMRelationBase ) \r\n select @ModuleOwner + @RelationIDab4 + '-' + tvr.TableName , left(@ModuleOwner + @UID_QBMRelationab4 + '-' + substring(dbo.QBM_FCVBinaryToString( dbo.QBM_FCVAnyToHash\r\n(upper(tvr.TableName)), 0), 3,40) , 36) , cvl.UID_DialogColumn , @ParentRestriction, @ParentExecuteBy, @ParentAllowUpdate , cvr.UID_DialogColumn , @ChildRestriction\r\n, @ChildExecuteBy, @ChildAllowUpdate , @UID_QBMRelation + '-Base' from DialogTable tvl join DialogColumn cvl on tvl.UID_DialogTable = @UID_DialogTableParent\r\n and tvl.UID_DialogTable = cvl.UID_DialogTable and cvl.UID_DialogColumn = @UID_ParentColumn join DialogTable tbr on tbr.UID_DialogTable = @UID_DialogTableChild\r\n join DialogTable tvr on tvr.UID_DialogTableBase = tbr.UID_DialogTable join DialogColumn cbr on cbr.UID_DialogColumn = @UID_ChildColumn and cbr.UID_DialogTable\r\n = tbr.UID_DialogTable join DialogColumn cvr on cvr.UID_BaseColumn = cbr.UID_DialogColumn and cvr.UID_DialogTable = tvr.UID_DialogTable goto BasisDefiniert\r\n end   if @tabletypeParent = 'V' and @tabletypeChild = 'T' begin if @DebugSwitch > 0 begin print 'nichts zu erweitern, kann nur passieren wenn auch die View neu definiert wurde'\r\n end goto endlabel end if @tabletypeParent = 'T' and @tabletypeChild = 'V' begin if @DebugSwitch > 0 begin print 'kann beim erweitern nicht neu dazu kommen'\r\n end goto endlabel end   if @tabletypeParent = 'V' and @tabletypeChild = 'V' begin if @DebugSwitch > 0 begin print 'kann beim erweitern nicht neu dazu kommen'\r\n end goto endlabel end  BasisDefiniert: if @DebugSwitch > 0 begin print 'nach datenermittlung' select * from @QBMRelation end delete  @QBMRelation from\r\n QBMRelation r join @QBMRelation rn on r.UID_ChildColumn = rn.UID_ChildColumn and r.UID_ParentColumn = rn.UID_ParentColumn where r.UID_QBMRelation <> rn.UID_QBMRelation\r\n if @DebugSwitch > 0 begin print 'nach Ausputzen vorhandener Beziehungen' select * from @QBMRelation end  insert into QBMRelation ( RelationID , UID_QBMRelation\r\n , UID_ParentColumn , ParentRestriction , ParentExecuteBy , ParentAllowUpdate , UID_ChildColumn , ChildRestriction , ChildExecuteBy , ChildAllowUpdate \r\n, XDateInserted, XDateUpdated, XUserInserted, XUserUpdated, XObjectKey , UID_QBMRelationBase , XTouched ) select rn.RelationID , rn.UID_QBMRelation , rn.UID_ParentColumn\r\n , rn.ParentRestriction , rn.ParentExecuteBy , rn.ParentAllowUpdate , rn.UID_ChildColumn , rn.ChildRestriction , rn.ChildExecuteBy , rn.ChildAllowUpdate\r\n , @Xdate, @Xdate, @XUser, @XUser , dbo.QBM_FCVElementToObjectKey1('QBMRelation', 'UID_QBMRelation', rn.UID_QBMRelation) , rn.UID_QBMRelationBase , 'I'\r\n from @QBMRelation rn where Not exists (select top 1 1 from QBMRelation re where re.UID_QBMRelation = rn.UID_QBMRelation ) select @CountItems = @@ROWCOUNT\r\n if @DebugSwitch > 0 begin print 'Zeilen eingefügt ' + str(@CountItems) end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar\r\n(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PQBMRelationUserChangeCorr",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.717",
      "ModifyDate": "2026-04-14T23:20:26.49",
      "Definition": "  create   procedure QBM_PQBMRelationUserChangeCorr as begin declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate\r\n() SET XACT_ABORT OFF BEGIN TRY update QBMRelation set ParentExecuteBy = LEFT(cf.ContentShort, 1) , XDateUpdated = @Xdate , XUserUpdated = @XUser  from\r\n QBMBufferConfig cf join QBMRelation r on cf.ObjectKeyOfRow = r.XObjectKey where cf.TableName = 'QBMRelation' and cf.ColumnName = 'ParentExecuteBy' and\r\n r.ParentAllowUpdate = 0 update QBMRelation set ParentRestriction = LEFT(cf.ContentShort, 2) , XDateUpdated = @Xdate , XUserUpdated = @XUser  from QBMBufferConfig\r\n cf join QBMRelation r on cf.ObjectKeyOfRow = r.XObjectKey where cf.TableName = 'QBMRelation' and cf.ColumnName = 'ParentRestriction' and r.ParentAllowUpdate\r\n = 0 update QBMRelation set ChildExecuteBy = LEFT(cf.ContentShort, 1) , XDateUpdated = @Xdate , XUserUpdated = @XUser  from QBMBufferConfig cf join QBMRelation\r\n r on cf.ObjectKeyOfRow = r.XObjectKey where cf.TableName = 'QBMRelation' and cf.ColumnName = 'ChildExecuteBy' and r.ChildAllowUpdate = 0 update QBMRelation\r\n set ChildRestriction = LEFT(cf.ContentShort, 2) , XDateUpdated = @Xdate , XUserUpdated = @XUser  from QBMBufferConfig cf join QBMRelation r on cf.ObjectKeyOfRow\r\n = r.XObjectKey where cf.TableName = 'QBMRelation' and cf.ColumnName = 'ChildRestriction' and r.ChildAllowUpdate = 0 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PQBMServerHasJobService",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.19",
      "ModifyDate": "2026-04-14T23:20:31.69",
      "Definition": "  create   procedure QBM_PQBMServerHasJobService (@uid_QBMServer varchar(38) ) as begin  declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') declare @XUser nvarchar(64) = dbo.QBM_FGISessionContext('XUser') declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R\r\n nvarchar(64) = dbo.QBM_FGISessionContext('XUser') declare @WhereClause nvarchar(1000) declare @BasisObjectKey varchar(138) declare @Xdate datetime = getutcdate\r\n() SET XACT_ABORT OFF BEGIN TRY  if isnull(@XUser, '') = '' begin select @XUser = left(Object_name(@@procid), 64) exec QBM_PSessionContextSet 'GenProcID'\r\n, @GenProcID exec QBM_PSessionContextSet 'XUser', @XUser end  if @uid_QBMServer > ' ' begin  exec QBM_PSessionContextSet 'GenProcID', @GenProcID exec QBM_PSessionContextSet\r\n 'XUser', @XUser update QBMServer set IsQBMServiceInstalled = 1  , XDateUpdated = @Xdate , XUserUpdated = @XUser where UID_QBMServer = @uid_QBMServer and\r\n IsQBMServiceInstalled = 0 if @@ROWCOUNT > 0  begin select @WhereClause = 'UID_QBMServer = ''' + @uid_QBMServer + '''' select @BasisObjectKey = dbo.QBM_FCVElementToObjectKey1\r\n('QBMServer', 'UID_QBMServer', @uid_QBMServer) exec QBM_PJobCreate_HOFireEvent 'QBMServer', @WhereClause, 'GetDeployTargets', @GenProcID , @ObjectKeysAffected\r\n = DEFAULT , @BasisObjectKey = @BasisObjectKey end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH  ende: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet 'XUser', \r\n@XUser_R return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PQBMTranslationAddOnClean",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.757",
      "ModifyDate": "2026-04-14T23:20:26.533",
      "Definition": "   create   procedure QBM_PQBMTranslationAddOnClean as begin declare @DebugSwitch int = 0 declare @lauf int = 1 declare @Module varchar(3) declare\r\n @EntryKey nvarchar(1024) SET XACT_ABORT OFF BEGIN TRY  while @lauf > 0 begin select @Module = null select top 1 @Module = z.AddOnOwner , @EntryKey = z.EntryKey\r\n from (   select md.SortOrder as AddOnSortorder , sign(len(isnull(co.UID_ModuleFollower, ''))) as AddOnIsDBOwnersPredecessor , sign(len(replace(y.AddOnOwner\r\n, y.TranslationOwner, ''))) as OwnerOfTranslationAndAddonDiffers , y.* from (  select dbo.QBM_FCVGUIDToModuleOwner(s.UID_QBMTranslationAddOnSource) as \r\nAddOnOwner , isnull(m.ModuleOwner, 'ZZZ') as TranslationOwner , s.EntryKey from QBMTranslationAddOnSource s join (  select a.EntryKey from QBMTranslationAddOnSource\r\n a group by a.EntryKey having COUNT(*) > 1 ) as x on s.EntryKey = x.EntryKey left outer join ( select dbo.QBM_FCVGUIDToModuleOwner(m.UID_DialogMultiLanguage\r\n) as ModuleOwner , m.EntryKey from DialogMultiLanguage m where m.UID_DialogColumn = 'QBM-7262717EE68049A9BE2EEB30C6EC408B'  group by dbo.QBM_FCVGUIDToModuleOwner\r\n(m.UID_DialogMultiLanguage) , m.EntryKey ) as m on m.EntryKey = s.EntryKey ) as y join QBMModuleDef md on y.AddOnOwner = md.ModuleName left outer join \r\nQBMModuleDependCollection co on co.UID_ModuleFollower = dbo.QBM_FGIDBOwner() + '-Moduledefinition' and co.UID_ModulePredecessor = y.AddOnOwner+ '-Moduledefinition'\r\n   ) as z order by z.EntryKey, z.OwnerOfTranslationAndAddonDiffers desc, AddOnIsDBOwnersPredecessor asc, z.AddOnSortorder desc, z.AddOnOwner , z.TranslationOwner\r\n if @Module > ' ' begin if @debugSwitch > 0 begin print @module print @entrykey end DELETE QBMTranslationAddOnSource WHERE EntryKey = @EntryKey and dbo.QBM_FCVGUIDToModuleOwner\r\n(UID_QBMTranslationAddOnSource) = @Module end  else begin select @lauf = 0 end end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow\r\n varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende:  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PRecompileAll",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.863",
      "ModifyDate": "2026-04-14T23:14:10.633",
      "Definition": "  create   procedure QBM_PRecompileAll as begin declare @SQLCmd nvarchar(max) declare @DebugSwitch int = 0 SET XACT_ABORT OFF BEGIN TRY  select \r\n@SQLCmd = ' ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE ' exec sp_executesql @SQLCmd END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PRelationshipDefineManual",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.84",
      "ModifyDate": "2026-04-14T23:20:25.49",
      "Definition": " create   procedure QBM_PRelationshipDefineManual( @UID_QBMRelation varchar(38) , @UID_QBMRelationBase varchar(38) , @ParentTable varchar(30)  ,\r\n @ParentColumn varchar(30)  , @ChildTable varchar(30)  , @ChildColumn varchar(30)  ) as begin  declare @UID_DialogTableParent varchar(38) declare @UID_DialogTableChild\r\n varchar(38) declare @UID_ChildColumn varchar(38) declare @UID_ParentColumn varchar(38) declare @Xdate datetime = getutcdate() declare @XUser nvarchar(64\r\n) = object_name(@@procid) declare @DebugSwitch int = 0 declare @CountItems int select top 1 @UID_DialogTableParent = t.UID_DialogTable from DialogTable\r\n t where t.TableName = @ParentTable select top 1 @UID_DialogTableChild = t.UID_DialogTable from DialogTable t where t.TableName = @ChildTable select top\r\n 1 @UID_ParentColumn = c.UID_DialogColumn from DialogColumn c where c.UID_DialogTable = @UID_DialogTableParent and c.ColumnName = @ParentColumn select \r\ntop 1 @UID_ChildColumn = c.UID_DialogColumn from DialogColumn c where c.UID_DialogTable = @UID_DialogTableChild and c.ColumnName = @ChildColumn if not \r\nexists (select top 1 1 from QBMRelation r where r.UID_QBMRelation = @UID_QBMRelation ) begin insert into QBMRelation ( RelationID , UID_QBMRelation    \r\n, UID_ParentColumn , ParentRestriction , ParentExecuteBy , ParentAllowUpdate    , UID_ChildColumn , ChildRestriction , ChildExecuteBy , ChildAllowUpdate\r\n , XDateInserted, XDateUpdated, XUserInserted, XUserUpdated, XObjectKey     , UID_QBMRelationBase , XTouched ) select @UID_QBMRelation  , @UID_QBMRelation\r\n     , @UID_ParentColumn  , 'DC'  , 'T'  , 0     , @UID_ChildColumn  , 'IR'  , 'T'  , 0  , @Xdate, @Xdate, @XUser, @XUser , dbo.QBM_FCVElementToObjectKey1\r\n('QBMRelation', 'UID_QBMRelation', @UID_QBMRelation)     , @UID_QBMRelationBase  , 'I'  end else begin update QBMRelation set     ParentRestriction = 'DC'\r\n , ParentExecuteBy = 'T' , ParentAllowUpdate = 0 , ChildRestriction = 'IR'  , ChildExecuteBy = 'T'  , ChildAllowUpdate = 0   , UID_ChildColumn = @UID_ChildColumn\r\n  , UID_ParentColumn = @UID_ParentColumn , UID_QBMRelationBase = @UID_QBMRelationBase , XTouched = 'U' , XObjectKey = dbo.QBM_FCVElementToObjectKey1('QBMRelation'\r\n, 'UID_QBMRelation', @UID_QBMRelation) , XDateUpdated = @Xdate , XUserUpdated = @XUser where UID_QBMRelation = @UID_QBMRelation end update Qbmrelation \r\nset parentexecuteby = left(v.ValidParentExecuteBy, 1) , XDateUpdated = @Xdate , XUserUpdated = @XUser from qbmrelation r join dialogcolumn cc on r.uid_ChildColumn\r\n = cc.uid_dialogcolumn join dialogtable c on cc.uid_dialogtable = c.uid_dialogtable join dialogcolumn cp on r.uid_parentColumn = cp.uid_dialogcolumn join\r\n dialogtable p on cp.uid_dialogtable = p.uid_dialogtable join dbo.QBM_FTRelationValidationInfo() v on v.RIType = 'Fix' and v.Parenttype = p.TableType and\r\n v.ChildType = c.TableType where v.ValidParentExecuteBy not like '%' + r.ParentExecuteBy + '%' and v.IsValid = 1 and r.uid_QBMRelation = @UID_QBMRelation\r\n select @CountItems = @@ROWCOUNT if @DebugSwitch > 0 begin print 'parentexecuteby geändert' + str(@CountItems) end update qbmrelation set Childexecuteby\r\n = left(v.ValidChildExecuteBy, 1) , XDateUpdated = @Xdate , XUserUpdated = @XUser from qbmrelation r join dialogcolumn cc on r.uid_ChildColumn = cc.uid_dialogcolumn\r\n join dialogtable c on cc.uid_dialogtable = c.uid_dialogtable join dialogcolumn cp on r.uid_parentColumn = cp.uid_dialogcolumn join dialogtable p on cp.uid_dialogtable\r\n = p.uid_dialogtable join dbo.QBM_FTRelationValidationInfo() v on v.RIType = 'Fix' and v.Parenttype = p.TableType and v.ChildType = c.TableType where v.ValidChildExecuteBy\r\n not like '%' + r.ChildExecuteBy + '%' and v.IsValid = 1 and r.uid_QBMRelation = @UID_QBMRelation select @CountItems = @@ROWCOUNT if @DebugSwitch > 0 begin\r\n print 'Childexecuteby' + str(@CountItems) end end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PRITriggerCreate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.01",
      "ModifyDate": "2026-04-14T23:20:29.81",
      "Definition": "            create   procedure QBM_PRITriggerCreate (@Table nvarchar(32),  @Operation nvarchar(16)  ) as begin  declare @TriggerName nvarchar(64\r\n) declare @TrigggerOpPrefix nvarchar(1) declare @TriggerBody nvarchar(max) = N'' declare @SQLcmd nvarchar(max) declare @PkUpdateRestrict nvarchar(max) \r\ndeclare @PKUpdateJoin nvarchar(max) declare @PKName1 varchar(30) declare @PKName2 varchar(30) declare @PKCount int declare @VarDefinition nvarchar(max)\r\n declare @UID_QBMRelation varchar(38) declare @Fragment nvarchar(16) declare @uid_Dialogtable varchar(38) declare @DebugLevel char(1) = 'W' declare @erg\r\n int = 0 declare @DebugSwitch int = 0  declare @Relations QBM_YCursorBuffer    SET XACT_ABORT OFF BEGIN TRY select @TrigggerOpPrefix = case @Operation \r\nwhen 'Insert' then '1' when 'update' then '2' when 'delete' then '3' end select top 1 @uid_Dialogtable = uid_dialogtable from DialogTable with (readpast\r\n) where TableName = @Table select @TriggerName = dbo.QBM_FGICodeName( 'T' + @TrigggerOpPrefix, rtrim(@Table))   if @Table in (select TableName from QBM_VHeavyLoadTables\r\n  ) begin goto ende end  if not exists (select top 1 1 from sys.tables t where t.name = @Table ) begin  goto ende end select @VarDefinition = N'\r\n\tdeclare @IsSimulationMode bit = dbo.QBM_FGIIsSimulationMode() \r\n\tdeclare @DBQueueElements QBM_YDBQueueRaw\r\n\tdeclare @XUser nvarchar(64) = object_name(@@procid)\r\n\tdeclare @Xdate datetime = getutcdate()\r\n\tdeclare @SimulationModeBuffer QBM_YTriggerOperation\r\n\tdeclare @InvalidValue varchar(138)\r\n\tdeclare @InvalidMessage nvarchar(max)\r\n\t'\r\n   if @operation = 'Delete' and exists (select top 1 1 from QBMRelation r with (readpast) join DialogColumn c with (readpast) on r.UID_ChildColumn = c.UID_DialogColumn\r\n where c.UID_DialogTable = @uid_Dialogtable and ( GenerateParent = 'TDX' ) ) begin select @VarDefinition = @VarDefinition + nchar(13) + nchar(10) + N'  declare @ElementsLater QBM_YParameterList '\r\n + nchar(13) + nchar(10) + N'  declare @WorkWhere nvarchar(max)' + nchar(13) + nchar(10) end  if @operation = 'update' begin select @PKUpdateRestrict =\r\n N'' select @PKUpdateJoin = N'' select @PKCount = dbo.QBM_FGIPrimaryKeyCount(@Table)  if not exists (select top 1 1 from DialogTable t where t.UID_DialogTable\r\n = @uid_Dialogtable and t.isMNTable = 1   and t.usagetype not in ('WORK') ) and @PKCount > 0 begin select @PKName1 = dbo.QBM_FGIPrimaryKeyName_F(@table\r\n, 1) select @PKName2 = dbo.QBM_FGIPrimaryKeyName_F(@table, 2) select @PKUpdateRestrict = N'update(' + @PKName1 + ')' select @PKUpdateJoin = N'deleted.'\r\n + @PKName1 + N' = inserted.' + @PKName1 if @PKCount = 2 begin select @PKUpdateRestrict = @PKUpdateRestrict + N'\r\n\t\t\t or update(' + @PKName2 + ')' select\r\n @PKUpdateJoin = @PKUpdateJoin + N'\r\n\t\t\t and deleted.' + @PKName2 + N' = inserted.' + @PKName2 end end  if @PKUpdateRestrict > ' ' begin select @TriggerBody\r\n = @TriggerBody + N'\r\n if ' + @PKUpdateRestrict + N'\r\n  begin\r\n\tif (select count(*) from deleted, inserted\r\n\t\twhere ' + @PKUpdateJoin + N'\r\n\t\t)  <> (select count(*) from inserted)\r\n\t begin\r\n\t\t\tRAISERROR(''#LDS#Not allowed to change the primary key in table {0}.|'\r\n + @Table + N'|'', 18, 2) WITH NOWAIT\r\n\t end\r\n  end\r\n\r\n' end  end    if @operation = 'Update' and exists (select top 1 1 from QBMRelation r with (readpast\r\n) join DialogColumn c with (readpast) on r.UID_ChildColumn = c.UID_DialogColumn where c.UID_DialogTable = @uid_Dialogtable and ( GenerateParent = 'TDS'\r\n or GenerateChild = 'CDS' ) )  and exists (select top 1 1 from dialogColumn c with (readpast) where c.UID_DialogTable = @uid_Dialogtable and Columnname\r\n = 'XObjectKey' )  begin select @TriggerBody = @TriggerBody + N'  -- select @ I s S i m u l a t i o n M o d e   =   d b o . Q B M _ F G I I s S i m u l a t i o n M o d e ()  -- ist jetzt schon im declare\r\n\tif @IsSimulationMode = 1\r\n\t  begin\r\n\r\n\t\tdelete @SimulationModeBuffer\r\n'\r\n delete  @Relations  insert into @Relations (UID1  , Ident1 ) select r.UID_QBMRelation, 'DS' from QBMRelation r with (readpast) join DialogColumn c with\r\n (readpast) on r.UID_ChildColumn = c.UID_DialogColumn where c.UID_DialogTable = @uid_Dialogtable and ( GenerateParent = 'TDS' or GenerateChild = 'CDS' \r\n)  order by 1  select @UID_QBMRelation = '#' while @UID_QBMRelation > ' ' begin select @UID_QBMRelation = null select top 1 @UID_QBMRelation = r.UID1  \r\n, @fragment = r.Ident1  from @Relations r order by r.Int1  if @UID_QBMRelation is null begin continue end delete  @Relations where UID1  = @UID_QBMRelation\r\n select @TriggerBody = @TriggerBody + dbo.QBM_FSQFKCheckFix (@UID_QBMRelation, 'DS' , @Operation) exec QBM_PJournal @sqlcmd, @@PROCID, 'D', @DebugLevel\r\n end  select @TriggerBody = @TriggerBody + N'\r\n\t\texec QBM_PFESimulationFill @SimulationModeBuffer\r\n\r\n\t  end /* if @IsSimulationMode = 1 */ \r\n' end   if\r\n @operation = 'Delete' and exists (select top 1 1 from QBMRelation r with (readpast) join DialogColumn c with (readpast) on r.UID_ChildColumn = c.UID_DialogColumn\r\n where c.UID_DialogTable = @uid_Dialogtable and ( GenerateParent in( 'TDC', 'TDX') or GenerateChild = 'CDC' ) )  and exists (select top 1 1 from dialogColumn\r\n c with (readpast) where c.UID_DialogTable = @uid_Dialogtable and Columnname = 'XObjectKey' )  begin select @TriggerBody = @TriggerBody + N'  -- select @ I s S i m u l a t i o n M o d e   =   d b o . Q B M _ F G I I s S i m u l a t i o n M o d e()  -- ist jetzt schon im declare\r\n\tif @IsSimulationMode = 1\r\n\t begin\r\n\t\tdelete @SimulationModeBuffer\r\n\r\n\t\tinsert into @SimulationModeBuffer (operation, BaseObjectType, ColumnName, Objectkey, OldValue) \r\n\t\t\t\t\t\tselect ''D'', '''\r\n + @Table + N''', '''', deleted.XObjectKey , N''''\r\n\t\t\t\t\t\t from deleted\r\n\r\n\t\texec QBM_PFESimulationFill @SimulationModeBuffer\r\n\r\n\t end \r\n' end    if @operation\r\n in ( 'Insert', 'Update') begin delete  @Relations  insert into @Relations (Ident1 , UID1 ) select  case r.GenerateChild when 'TIR' then case @Operation\r\n when 'insert' then 'TII' else 'TIR' end else r.generateChild end as fragment , r.UID_QBMRelation from QBMRelation r with (readpast) join DialogColumn \r\nc with (readpast) on r.UID_ChildColumn = c.UID_DialogColumn where c.UID_DialogTable = @uid_Dialogtable and r.GenerateChild > ' ' and r.GenerateChild like\r\n 'T%'  order by r.UID_QBMRelation  select @UID_QBMRelation = '#' while @UID_QBMRelation > ' ' begin select @UID_QBMRelation = null select top 1 @UID_QBMRelation\r\n = r.UID1  , @fragment = r.Ident1  from @Relations r order by r.Int1  if @UID_QBMRelation is null begin continue end delete  @Relations  where UID1  = \r\n@UID_QBMRelation  select @TriggerBody = @Triggerbody + dbo.QBM_FSQFKCheckFix (@UID_QBMRelation, @Fragment, @Operation) end  end  if @operation in ( 'Delete'\r\n) begin delete  @Relations  insert into @Relations (Ident1 , UID1 ) select r.Generateparent, r.UID_QBMRelation from QBMRelation r with (readpast) join \r\nDialogColumn p with (readpast) on r.UID_ParentColumn = p.UID_DialogColumn  join QBMModuleDef m on left(r.UID_QBMRelation, 3) = m.ModuleName where p.UID_DialogTable\r\n = @uid_Dialogtable and r.Generateparent > ' ' and r.Generateparent like 'T%'  order by m.Sortorder, r.UID_QBMRelation  select @UID_QBMRelation = '#' while\r\n @UID_QBMRelation > ' ' begin select @UID_QBMRelation = null select top 1 @UID_QBMRelation = r.UID1  , @fragment = r.Ident1  from @Relations r order by\r\n r.ElementIndex  if @UID_QBMRelation is null begin continue end delete  @Relations  where UID1  = @UID_QBMRelation select @TriggerBody = @Triggerbody +\r\n dbo.QBM_FSQFKCheckFix (@UID_QBMRelation, @Fragment, @Operation) end  end  select @TriggerBody = @TriggerBody + dbo.QBM_FSQFKCheckDynamic(@Table, @Operation\r\n)   if dbo.QBM_FGIModuleExists('QER') = 1 begin select @TriggerBody = REPLACE(@TriggerBody, '%ModQER%', '') end else begin select @TriggerBody = REPLACE\r\n(@TriggerBody, '%ModQER%', '--') end  select @SQLcmd = dbo.QBM_FSQTriggerDef (@TriggerName , @Table , @Operation , @TriggerBody , @VarDefinition , 'Trigger referential integrity for '\r\n + @Table + '(' + @Operation + ')' )      if len(@triggerbody) > 0 and @operation in ('insert', 'update', 'delete') begin exec QBM_PJournal @sqlcmd, @@PROCID\r\n, 'D', @DebugLevel if @DebugSwitch > 0 begin print @SQLcmd print substring(@SQLcmd, 4000, 4000) print substring(@SQLcmd, 8000, 4000) print substring(@SQLcmd\r\n, 12000, 4000) print substring(@SQLcmd, 16000, 4000) end BEGIN TRY exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLcmd , @LockTimeout_ms = default\r\n , @MaxWaitTimeForLock_s = 10 , @ProcIDForJournal = default , @HandleErrorSilent = 0  , @ExecuteWithTransact = 0 exec QBM_PSessionErrorClean END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default, @SQLcmd if dbo.QBM_FGISessionErrorIsDeadlock(default) = 1 begin select @erg = 1 end else begin select @erg = \r\n-1 end END CATCH if @erg <> 0 begin goto FehlerCodeAuswerten end select @SQLcmd = N'exec sp_settriggerorder ''' + @Triggername + N''', ''LAST'', ''' + \r\n@operation + N'''' BEGIN TRY exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLcmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , \r\n@ProcIDForJournal = default , @HandleErrorSilent = 0  , @ExecuteWithTransact = 0 exec QBM_PSessionErrorClean END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default, @SQLcmd if dbo.QBM_FGISessionErrorIsDeadlock(default) = 1 begin select @erg = 1 end else begin select @erg = -1 end END CATCH FehlerCodeAuswerten:\r\n  if @erg < 0 begin raiserror ('', 18, 1) with nowait end   end else begin  exec QBM_PTriggerDrop @TriggerName end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PScheduleCheck",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.38",
      "ModifyDate": "2026-04-14T23:20:26.083",
      "Definition": "     create   procedure QBM_PScheduleCheck AS begin set nocount on declare @tt QBM_YCursorBuffer     declare @GenProcID varchar(38) = newid() declare\r\n @jetztInUTC datetime   declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser'\r\n) declare @DebugSwitch int = 0   declare @DebugLevel varchar(1) = 'W'  declare @Debugmessage nvarchar(max) declare @Message nvarchar(2000) declare @Xdate\r\n datetime = getutcdate() declare @XUser nvarchar(64) = object_name(@@procid) SET XACT_ABORT OFF BEGIN TRY if @DebugSwitch = 2 begin select @Debugmessage\r\n = 'Aufgerufen ' exec QBM_PJournal @Debugmessage, @@procid, 'D', @DebugLevel exec QBM_PWaitForSeconds 0.01 end  if exists (select top 1 1 from DialogDatabase\r\n d with (readpast) where d.UpdatePhase > 0 and d.IsMainDatabase = 1 ) and @DebugSwitch <> 1 begin select @Message = '#LDS#Schedules not processed because of DialogDatabase.UpdatePhase.|'\r\n goto NoOpMessage end  if exists (select top 1 1 from DialogDatabase with (readpast) where SingleUserProcess <> 0 and IsMainDatabase = 1 ) and @DebugSwitch\r\n <> 1 begin select @Message = '#LDS#Schedules not processed because of DialogDatabase.SingleUserProcess.|' goto NoOpMessage end  if exists (select top \r\n1 1 from DialogScriptAssembly a with (readpast) where a.IsValid = 0 ) and @DebugSwitch <> 1 begin select @Message = '#LDS#Schedules not processed because of DialogScriptAssembly.IsValid = 0.|'\r\n goto NoOpMessage end  if not exists (select top 1 1 from DialogScriptAssembly a ) and @DebugSwitch <> 1 begin select @Message = '#LDS#Schedules not processed because of DialogScriptAssembly empty.|'\r\n goto NoOpMessage end  if exists (select top 1 1 from DialogDatabase d with (readpast) where d.IsDBSchedulerDisabled = 1 and IsMainDatabase = 1 ) and @DebugSwitch\r\n <> 1 begin select @Message = '#LDS#Schedules not processed because of DialogDatabase.IsDBSchedulerDisabled.|' goto NoOpMessage end  if exists (select \r\ntop 1 1 from DialogDatabase d with (readpast) where d.IsJobServiceDisabled = 1 and IsMainDatabase = 1 ) and @DebugSwitch <> 1 begin select @Message = '#LDS#Schedules not processed because of DialogDatabase.IsJobServiceDisabled.|'\r\n goto NoOpMessage end  if dbo.QBM_FGIConfigparmValue('QBM\\Schedules') = '' and @DebugSwitch <> 1 begin select @Message = '#LDS#Schedules not processed because of ConfigParm QBM.Schedules is disabled.|'\r\n goto NoOpMessage end if @DebugSwitch = 2 begin select @Debugmessage = 'Alle Starttest überstanden ' exec QBM_PJournal @Debugmessage, @@procid, 'D', @DebugLevel\r\n exec QBM_PWaitForSeconds 0.01 end  if isnull(@XUser, '') = '' begin select @XUser = left(Object_name(@@procid), 64) exec QBM_PSessionContextSet 'GenProcID'\r\n, @GenProcID exec QBM_PSessionContextSet 'XUser', @XUser end select @jetztInUTC = GetUTCDate()    begin transaction   insert into @tt (UID1  , Bit1  , \r\nDateTime1  , Int1  ) select s.uid_DialogSchedule, 1, isnull(s.nextrun, '1899-12-30'), tz.CurrentUTCOffset from DialogSchedule s join DialogTimeZone tz \r\non s.uid_DialogTimeZone = tz.uid_DialogTimeZone where isnull(startdate, '1899-12-30') <= @jetztInUTC  and isnull(enddate, '2200-01-01') >= @jetztInUTC \r\nand enabled = 1 if @DebugSwitch = 1 begin print 'nach initial laden' select UID1 as uid_DialogSchedule , Bit1 as istostart , DateTime1 as nextrun , Int1\r\n as CurrentUTCOffset from @tt end update @tt set Bit1  = 0 where UID1  in (select s.uid_DialogSchedule from DialogSchedule s  where nextrun > dateadd(ss\r\n, Int1   , @jetztInUTC) ) if @DebugSwitch = 1 begin print 'nach nextrun test' select UID1 as uid_DialogSchedule , Bit1 as istostart , DateTime1 as nextrun\r\n , Int1 as CurrentUTCOffset from @tt end update @tt set Bit1  = 0 where UID1  in (select s.uid_DialogSchedule from DialogSchedule s join DialogTimeZone\r\n tz on s.UID_DialogTimeZone = tz.UID_DialogTimeZone where isnull(s.lastrun, '1899-12-30') = '1899-12-30'  or ( abs(datediff( mi, s.xdateinserted, dateadd\r\n(ss, tz.CurrentUTCOffset * (-1) , isnull(s.lastrun, '1899-12-30')))) < 3  and abs(datediff( mi, s.xdateinserted, GetUTCDate())) < 3  ) ) update @tt set\r\n Bit1  = 0 where DateTime1  = '1899-12-30' if @DebugSwitch = 1 begin print 'vor DBQueue insert' select UID1 as uid_DialogSchedule , Bit1 as istostart ,\r\n DateTime1 as nextrun , Int1 as CurrentUTCOffset from @tt end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01(Object, SubObject\r\n, GenProcID) select x.uid, null, @GenProcID from ( select UID1  as uid from @tt where Bit1  = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-ScheduleStart'\r\n, @DBQueueElements_01 if @DebugSwitch = 2 begin if exists (select top 1 1 from @DBQueueElements_01 ) begin select @Debugmessage = 'Übergeben an QBM-K-ScheduleStart: '\r\n + STRING_AGG(e.Object, ' ') from @DBQueueElements_01 e exec QBM_PJournal @Debugmessage, @@procid, 'D', @DebugLevel end else begin select @Debugmessage\r\n = 'Übergeben an QBM-K-ScheduleStart: ' + 'nichts' exec QBM_PJournal @Debugmessage, @@procid, 'D', @DebugLevel end end  update DialogSchedule set lastrun\r\n = dateadd(ss, tz.CurrentUTCOffset, @jetztInUTC)  , XDateUpdated = @Xdate , XUserUpdated = @XUser from dialogSchedule s join DialogTimeZone tz on s.UID_DialogTimeZone\r\n = tz.UID_DialogTimeZone join @tt tt on s.UID_DialogSchedule = tt.UID1  where tt.Bit1  = 1   set datefirst 1 update @tt set DateTime1  = dbo.QBM_FGIScheduleNextRun\r\n (isnull(tt.DateTime1 , '1899-12-30') , j.lastrun , @jetztInUTC, j.starttime ,  j.FrequencyType , j.Frequency, j.Frequencysubtype, tz.CurrentUTCOffset \r\n) from @tt tt join DialogSchedule j on tt.UID1  = j.uid_DialogSchedule join DialogTimeZone tz on j.uid_DialogTimeZone = tz.UID_DialogTimeZone where (tt.Bit1\r\n  = 1 or isnull(tt.DateTime1 , '1899-12-30') = '1899-12-30')   and isnull(j.lastrun , '1899-12-30') <> '1899-12-30'  exec QBM_PSessionContextSet 'GenProcID'\r\n, @GenProcID exec QBM_PSessionContextSet 'XUser', @XUser update DialogSchedule set nextrun = tt.DateTime1    , XDateUpdated = @Xdate , XUserUpdated = @XUser\r\n from DialogSchedule s join @tt tt on tt.UID1  = s.UID_DialogSchedule where isnull(s.NextRun, '1899-12-30') <> isnull(tt.DateTime1 , '1899-12-30')  update\r\n DialogSchedule set lastrun = '1900-01-02'   , XDateUpdated = @Xdate , XUserUpdated = @XUser where isnull(lastrun , '1899-12-30') = '1899-12-30'  commit\r\n transaction END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet 'XUser'\r\n, @XUser_R  rollback transaction RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  ende: GanzEnde:  exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R exec\r\n QBM_PSessionContextSet 'XUser', @XUser_R return NoOpMessage: exec QBM_PJournal @Message, @@PROCID, 'W', @DebugLevel, @SuppressEntriesCount = 10 goto ende\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PScheduleStartJob",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.407",
      "ModifyDate": "2026-04-14T23:20:26.107",
      "Definition": "     create   procedure QBM_PScheduleStartJob (@uid_JobAutoStart varchar(38)  ) as begin set nocount on declare @BasisObjectType nvarchar(255) declare\r\n @UID_DialogTable varchar(38) declare @WhereClause nvarchar(max) declare @Name nvarchar(255) declare @Event nvarchar(255) declare @ScheduleName nvarchar\r\n(255) declare @MessageString nvarchar(1024) declare @GenProcID varchar(38) declare @XUser nvarchar(64) = object_name(@@procid) declare @StopTimeChar nvarchar\r\n(8) declare @StartTimeChar nvarchar(8) declare @StopTime datetime declare @StopTimeFull nvarchar(64)  declare @jetzt datetime   declare @ParameterList \r\nnvarchar(max) declare @p nvarchar(4000) declare @v nvarchar(max) declare @p4 nvarchar (1024) , @v4 nvarchar (max) , @p5 nvarchar (1024) , @v5 nvarchar \r\n(max) , @p6 nvarchar (1024) , @v6 nvarchar (max) , @p7 nvarchar (1024) , @v7 nvarchar (max) ,  @p8 nvarchar (1024) , @v8 nvarchar (max) , @p9 nvarchar \r\n(1024) , @v9 nvarchar (max) , @p10 nvarchar (1024) , @v10 nvarchar (max) ,  @p11 nvarchar (1024) , @v11 nvarchar (max) ,  @p12 nvarchar (1024) , @v12 nvarchar\r\n (max) , @p13 nvarchar (1024) , @v13 nvarchar (max) , @p14 nvarchar (1024) , @v14 nvarchar (max) , @p15 nvarchar (1024) , @v15 nvarchar (max) , @p16 nvarchar\r\n (1024) , @v16 nvarchar (max) , @p17 nvarchar (1024) , @v17 nvarchar (max) ,  @p18 nvarchar (1024) , @v18 nvarchar (max) , @p19 nvarchar (1024) , @v19 \r\nnvarchar (max)  , @p20 nvarchar (1024) , @v20 nvarchar (max) , @p21 nvarchar (1024) , @v21 nvarchar (max) , @p22 nvarchar (1024) , @v22 nvarchar (max) \r\n, @p23 nvarchar (1024) , @v23 nvarchar (max) , @p24 nvarchar (1024) , @v24 nvarchar (max) , @p25 nvarchar (1024) , @v25 nvarchar (max) , @p26 nvarchar \r\n(1024) , @v26 nvarchar (max) , @p27 nvarchar (1024) , @v27 nvarchar (max) , @p28 nvarchar (1024) , @v28 nvarchar (max) , @p29 nvarchar (1024) , @v29 nvarchar\r\n (max) , @p30 nvarchar (1024) , @v30 nvarchar (max) , @p31 nvarchar (1024) , @v31 nvarchar (max)  declare @DebugLevel char(1) = 'I' declare @GenProcID_R\r\n varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser') declare @para QBM_YCursorBuffer SET XACT_ABORT\r\n OFF BEGIN TRY  select @jetzt = GetUTCDate() select @Name = j.Name, @UID_DialogTable = t.UID_DialogTable, @BasisObjectType = t.TableName, @WhereClause \r\n= j.WhereClause, @Event = et.EventName, @StopTimeChar = j.StopTime, @StartTimeChar = case when s.StartTime = 'LB:ST' then '' else isnull(s.StartTime, ''\r\n) end, @ParameterList = j.ParameterList, @ScheduleName = isnull(s.Name, j.Name) from JobAutoStart j with (readpast) join QBMEvent et with (readpast) on\r\n et.UID_QBMEvent = j.UID_QBMEvent join dialogtable t with (readpast) on et.UID_DialogTable = t.UID_DialogTable left outer join DialogSchedule s with (readpast\r\n) on j.uid_DialogSchedule = s.uid_dialogSchedule where j.uid_JobAutoStart = @uid_JobAutoStart  if isnull(@WhereClause, N'') = N'' begin select @WhereClause\r\n = N'1=1' end  if isnull(@StoptimeChar, '') > ' ' and isnull(@StartTimeChar, '') > ' ' begin if isnumeric(@StoptimeChar) = 1 begin select @StopTime = dateadd\r\n(hh, convert(int, @StoptimeChar), @jetzt)  if @stoptime = @jetzt begin select @Stoptime = convert(datetime, '2200-01-01', 121) end end else begin select\r\n @Stoptime = convert(datetime, '2200-01-01', 121) end  end else  begin select @Stoptime = convert(datetime, '2200-01-01', 121) end select @StopTimeFull\r\n = convert(nvarchar(64), @Stoptime, 121)  select @MessageString = concat('#LDS#Starting job : {0}.|' , @Name , '|' ) exec QBM_PJournal @MessageString, \r\n@@procid, 'I', @DebugLevel    select @GenProcID = newid() exec QBM_PSessionContextSet 'GenProcID', @GenProcID exec QBM_PSessionContextSet 'XUser', @XUser\r\n if '1' = dbo.QBM_FGIConfigparmValue('Common\\ProcessState') begin exec QBM_PProcessCreate @GenProcID, 'QBM_PScheduleStartJob', @DisplayName = @ScheduleName\r\n end if @Stoptime > GetUTCDate() begin  insert into @para (Int1  , ContentShort  , ContentFull  ) select s.OrderNumber, left(s.Parameter1,400), s.Parameter2\r\n from dbo.QBM_FCVStringToList_i(@parameterList, nchar(7), 1,0, N'=') as s   select @p=null, @v=null select top 1 @p = pa.ContentShort , @v = pa.ContentFull\r\n from @para pa where pa.Int1 = 1 if @p > ' '  begin select @p4 = N'_paramName2' select @v4 = @p select @p5 = N'_paramValue2' select @v5 = @v end  select\r\n @p=null, @v=null select top 1 @p = pa.ContentShort , @v = pa.ContentFull from @para pa where pa.Int1 = 2 if @p > ' '  begin select @p6 = N'_paramName3'\r\n select @v6 = @p select @p7 = N'_paramValue3' select @v7 = @v end  select @p=null, @v=null select top 1 @p = pa.ContentShort , @v = pa.ContentFull from\r\n @para pa where pa.Int1 = 3 if @p > ' '  begin select @p8 = N'_paramName4' select @v8 = @p select @p9 = N'_paramValue4' select @v9 = @v end  select @p=null\r\n, @v=null select top 1 @p = pa.ContentShort , @v = pa.ContentFull from @para pa where pa.Int1 = 4 if @p > ' '  begin select @p10 = N'_paramName5' select\r\n @v10 = @p select @p11 = N'_paramValue5' select @v11 = @v end  select @p=null, @v=null select top 1 @p = pa.ContentShort , @v = pa.ContentFull from @para\r\n pa where pa.Int1 = 5 if @p > ' '  begin select @p12 = N'_paramName6' select @v12 = @p select @p13 = N'_paramValue6' select @v13 = @v end  select @p=null\r\n, @v=null select top 1 @p = pa.ContentShort , @v = pa.ContentFull from @para pa where pa.Int1 = 6 if @p > ' '  begin select @p14 = N'_paramName7' select\r\n @v14 = @p select @p15 = N'_paramValue7' select @v15 = @v end  select @p=null, @v=null select top 1 @p = pa.ContentShort , @v = pa.ContentFull from @para\r\n pa where pa.Int1 = 7 if @p > ' '  begin select @p16 = N'_paramName8' select @v16 = @p select @p17 = N'_paramValue8' select @v17 = @v end  select @p=null\r\n, @v=null select top 1 @p = pa.ContentShort , @v = pa.ContentFull from @para pa where pa.Int1 = 8 if @p > ' '  begin select @p18 = N'_paramName9' select\r\n @v18 = @p select @p19 = N'_paramValue9' select @v19 = @v end   select @p=null, @v=null select top 1 @p = pa.ContentShort , @v = pa.ContentFull from @para\r\n pa where pa.Int1 = 9 if @p > ' '  begin select @p20 = N'_paramName10' select @v20 = @p select @p21 = N'_paramValue10' select @v21 = @v end  select @p=null\r\n, @v=null select top 1 @p = pa.ContentShort , @v = pa.ContentFull from @para pa where pa.Int1 = 10 if @p > ' '  begin select @p22 = N'_paramName11' select\r\n @v22 = @p select @p23 = N'_paramValue11' select @v23 = @v end  select @p=null, @v=null select top 1 @p = pa.ContentShort , @v = pa.ContentFull from @para\r\n pa where pa.Int1 = 11 if @p > ' '  begin select @p24 = N'_paramName12' select @v24 = @p select @p25 = N'_paramValue12' select @v25 = @v end  select @p=null\r\n, @v=null select top 1 @p = pa.ContentShort , @v = pa.ContentFull from @para pa where pa.Int1 = 12 if @p > ' '  begin select @p26 = N'_paramName13' select\r\n @v26 = @p select @p27 = N'_paramValue13' select @v27 = @v end  select @p=null, @v=null select top 1 @p = pa.ContentShort , @v = pa.ContentFull from @para\r\n pa where pa.Int1 = 13 if @p > ' '  begin select @p28 = N'_paramName14' select @v28 = @p select @p29 = N'_paramValue14' select @v29 = @v end  select @p=null\r\n, @v=null select top 1 @p = pa.ContentShort , @v = pa.ContentFull from @para pa where pa.Int1 = 14 if @p > ' '  begin select @p30 = N'_paramName15' select\r\n @v30 = @p select @p31 = N'_paramValue15' select @v31 = @v end    exec QBM_PJobCreate_HOFireEvent_B @BasisObjectType,  @WhereClause,   @EventName = @event\r\n,   @GenProcID = @GenProcID, @AdditionalObjectKeysAffected = DEFAULT, @p2 = N'_paramName1', @v2 = N'StopTime', @p3 = N'_paramValue1', @v3 = @StopTimeFull\r\n, @p4 = @p4, @v4 = @v4 , @p5 =@p5 , @v5 = @v5 , @p6 = @p6, @v6 = @v6 , @p7 = @p7, @v7 = @v7 , @p8 = @p8, @v8 = @v8 , @p9 = @p9, @v9 = @v9 , @p10 = @p10\r\n, @v10 = @v10 , @p11 = @p11, @v11 = @v11 , @p12 = @p12, @v12 = @v12 , @p13 = @p13, @v13 = @v13 , @p14 = @p14, @v14 = @v14 , @p15 = @p15, @v15 = @v15 , \r\n@p16 = @p16, @v16 = @v16 , @p17 = @p17, @v17 = @v17 , @p18 = @p18, @v18 = @v18 , @p19 = @p19, @v19 = @v19 ,  @p20 = @p20, @v20 = @v20 , @p21 = @p21, @v21\r\n = @v21 , @p22 = @p22, @v22 = @v22 , @p23 = @p23, @v23 = @v23 , @p24 = @p24, @v24 = @v24 , @p25 = @p25, @v25 = @v25 , @p26 = @p26, @v26 = @v26 , @p27 =\r\n @p27, @v27 = @v27 , @p28 = @p28, @v28 = @v28 , @p29 = @p29, @v29 = @v29 , @p30 = @p30, @v30 = @v30 , @p31 = @p31, @v31 = @v31,  @Priority = 12,    @checkForExisting\r\n =1  end else  begin select @MessageString = N'Job ' + @Name + N' not started, Time exceeded : ' + @StopTimeFull exec QBM_PJournal @MessageString, @@PROCID\r\n, 'W', @DebugLevel end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet\r\n 'XUser', @XUser_R declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende:  exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet 'XUser', @XUser_R return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 1
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PSchemaBindDisable",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-09-22T13:32:18.533",
      "ModifyDate": "2026-04-14T23:14:10.303",
      "Definition": "  create   procedure QBM_PSchemaBindDisable (@TableName nvarchar(64) ) as begin declare @SQLcmd nvarchar(max) declare @ObjectName nvarchar(64) declare\r\n @ObjectType nvarchar(2) declare @ScriptCode nvarchar(max) declare @Elements QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int SET \r\nXACT_ABORT OFF BEGIN TRY set nocount on insert into @Elements (LongIdent1 , Ident1 , ContentFull ) select ObjectName, ObjectType, SourceCode from dbo.QBM_FTSchemaDependencies\r\n (@TableName, 1) where ObjectType in ('F', 'V') select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select\r\n top 1 @ObjectName = bu.LongIdent1 , @ObjectType = bu.Ident1 , @ScriptCode = bu.ContentFull from @elements bu where bu.ElementIndex = @ElementIndex if \r\n@ObjectType = 'V' begin select @SQLcmd = concat('drop view if exists ', @ObjectName) end else begin select @SQLcmd = concat('drop function if exists dbo.'\r\n, @ObjectName) end exec sp_executesql @SQLcmd select @SQLcmd = replace(@ScriptCode, 'with schemabinding', ' ') exec sp_executesql @SQLcmd select @ElementIndex\r\n += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow,\r\n 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PSessionContextSet",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.833",
      "ModifyDate": "2026-04-14T23:14:10.62",
      "Definition": "   create   procedure QBM_PSessionContextSet (@Key varchar(30) , @Value varchar(1000) ) as begin declare @Key_intern varchar(30) = upper(@key) declare\r\n @Value_intern varchar(1000) SET XACT_ABORT OFF BEGIN TRY if @Key_intern = 'GENPROCID' begin if dbo.QBM_FGIGuidIsValid(@Value) <> 1    and not trim(isnull\r\n(@Value, '')) = ''  begin select @Value = newid() end end  select @Value_intern = isnull(@Value, '') EXEC sp_set_session_context @Key_intern, @Value_intern\r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH\r\n NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PSessionErrorAdd",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.497",
      "ModifyDate": "2026-04-14T23:14:10.48",
      "Definition": "  create   procedure QBM_PSessionErrorAdd (@SessionErrorNew QBM_YSessionError readonly  , @SQLCmd nvarchar(max) = null   ) as begin declare @SessionError_intern\r\n QBM_YSessionError declare @ExistingErrors QBM_YSessionError declare @CountExistingEntries int declare @BinImCatchBlock bit = 0 declare @BinImTrigger bit\r\n = 0 set nocount on SET XACT_ABORT OFF if ERROR_PROCEDURE() > ' ' begin select @BinImCatchBlock = 1 end if exists (select top 1 1 from sys.triggers t where\r\n t.name = ERROR_PROCEDURE() ) begin select @BinImTrigger = 1 end if exists (select top 1 1 from @SessionErrorNew e ) begin insert into @SessionError_intern\r\n (ErrorMessage, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode) select\r\n ErrorMessage, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode from\r\n @SessionErrorNew order by ElementIndex end else begin insert into @SessionError_intern(ErrorMessage, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName\r\n, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode) select ERROR_MESSAGE() as ErrorMessage , ERROR_SEVERITY() as ErrorSeverity\r\n , ERROR_STATE()  as ErrorState , ERROR_NUMBER() as ErrorNumber , ERROR_PROCEDURE() as ProcedureName, ERROR_LINE() as ProcedureLine, GETUTCDATE() , null\r\n as GenProcID, 0 as RepeatCounter , case when ERROR_NUMBER() = 50000 and isnull(ERROR_MESSAGE(), '') in ('', 'rethrow', dbo.QBM_FGISessionErrorRethrow(\r\n)) or ERROR_NUMBER() = 50001 then 1 else 0 end as IsReThrow , @SQLCmd as SourceCode  end  update @SessionError_intern set ErrorMessage = '<no message>'\r\n from @SessionError_intern i where ISNULL(i.ErrorMessage, '') = '' and i.ErrorNumber not in ( 50000, 50001) update @SessionError_intern set ProcedureLine\r\n = 0 where ISNULL(ProcedureLine, 0) = 0 update @SessionError_intern set ProcedureName = '<no procedure>' where ISNULL(ProcedureName, '') = ''  insert into\r\n @ExistingErrors(ErrorMessage, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow\r\n, SourceCode) select ErrorMessage, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow\r\n, SourceCode from dbo.QBM_FTSessionErrorLoad() l  order by l.RecordNumber select @CountExistingEntries = @@ROWCOUNT  if exists (select top 1 1 from @ExistingErrors\r\n e join @SessionError_intern n on e.ElementIndex = @CountExistingEntries  where e.ErrorNumber = n.ErrorNumber and e.ErrorMessage = n.ErrorMessage and e.ProcedureName\r\n = n.ProcedureName and e.ProcedureLine = n.ProcedureLine  ) begin update @ExistingErrors set RepeatCounter += 1 from @ExistingErrors e where e.ElementIndex\r\n = @CountExistingEntries end else begin  if exists (select top 1 1 from @SessionError_intern i where i.IsReThrow = 1 or (i.ErrorNumber in( 50000, 50001\r\n) and isnull(i.ErrorMessage, '') in( '', dbo.QBM_FGISessionErrorRethrow()) ) or i.ErrorMessage = 'rethrow' ) begin update @SessionError_intern set ErrorSeverity\r\n = case when isnull(e.ErrorSeverity, 18) < i.ErrorSeverity then i.ErrorSeverity else isnull(e.ErrorSeverity, 18) end , ErrorState = case when isnull(e.ErrorState\r\n, 1) < i.ErrorState then i.ErrorState else isnull(e.ErrorState, 1) end  , ErrorMessage = 'rethrow' , ErrorNumber = 50000 , IsReThrow = 1  from @SessionError_intern\r\n i left outer join @ExistingErrors e on e.ElementIndex = @CountExistingEntries  where i.IsReThrow = 1 or (i.ErrorNumber in ( 50000, 50001) and isnull(i.ErrorMessage\r\n, '') in( '', dbo.QBM_FGISessionErrorRethrow()) ) or i.ErrorMessage = 'rethrow' end insert into @ExistingErrors(ErrorMessage, ErrorSeverity, ErrorState\r\n, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode) select ErrorMessage, ErrorSeverity, ErrorState\r\n, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode from @SessionError_intern order by ElementIndex\r\n end   if @BinImCatchBlock = 1 and @BinImTrigger = 1 and XACT_STATE() = -1 begin insert into @SessionError_intern(ErrorMessage, ErrorSeverity, ErrorState\r\n, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode) select 'Uncommitable transaction detected in Trigger, will rollback'\r\n as ErrorMessage , ERROR_SEVERITY() as ErrorSeverity , ERROR_STATE()  as ErrorState , 50002 as ErrorNumber , ERROR_PROCEDURE() as ProcedureName, ERROR_LINE\r\n() as ProcedureLine, GETUTCDATE() , null as GenProcID, 0 as RepeatCounter , 0 as IsReThrow , null as SourceCode end  exec QBM_PSessionErrorSave @ExistingErrors\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PSessionErrorClean",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.473",
      "ModifyDate": "2026-04-14T23:14:10.457",
      "Definition": " create   procedure QBM_PSessionErrorClean (@LastEntryOnly bit = 0   ) as begin declare @MessageKey varchar(30) declare @LastMessage varchar(1000\r\n) = '#' declare @Number int = 1 SET XACT_ABORT OFF set nocount on if @LastEntryOnly = 1 begin select @Number = dbo.QBM_FGISessionErrorCount() end while\r\n @number < 1000 and @LastMessage > ' ' begin select @MessageKey = CONCAT('ErrorMessage', dbo.QBM_FCVStringPadLeft( dbo.QBM_FCVIntToString(@number), 3, \r\n'0') ) select @LastMessage = dbo.QBM_FGISessionContext(@MessageKey) if ISNULL(@LastMessage, '') = '' begin continue end exec QBM_PSessionContextSet @MessageKey\r\n, '' select @Number += 1 end end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PSessionErrorSave",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.483",
      "ModifyDate": "2026-04-14T23:14:10.467",
      "Definition": " create   procedure QBM_PSessionErrorSave (@AllSessionErrors QBM_YSessionError readonly ) as begin  declare @MessageKey varchar(30) declare @LastMessage\r\n varchar(8000) declare @OneSessionError QBM_YSessionError Declare @ElementCount int declare @ElementIndex int declare @LastElement int SET XACT_ABORT OFF\r\n set nocount on select @ElementCount = COUNT(*) from @AllSessionErrors select @ElementIndex = min(e.ElementIndex) from @AllSessionErrors e select @LastElement\r\n = @ElementIndex + @ElementCount - 1 while @ElementIndex <= @LastElement begin select @MessageKey = CONCAT('ErrorMessage', dbo.QBM_FCVStringPadLeft( dbo.QBM_FCVIntToString\r\n(@ElementIndex), 3, '0') )  delete @OneSessionError insert into @OneSessionError(ErrorMessage, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName, \r\nProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode) select ErrorMessage, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName\r\n, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode from @AllSessionErrors e where e.ElementIndex = @ElementIndex select @LastMessage\r\n = dbo.QBM_FCVSessionErrorToMVP(@OneSessionError)  exec QBM_PSessionContextSet @MessageKey, @LastMessage select @ElementIndex += 1 end  select @MessageKey\r\n = CONCAT('ErrorMessage', dbo.QBM_FCVStringPadLeft( dbo.QBM_FCVIntToString(@ElementIndex), 3, '0') )  exec QBM_PSessionContextSet @MessageKey, '' end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PSetRowLockOnly",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.95",
      "ModifyDate": "2026-04-14T23:20:29.733",
      "Definition": "     create   procedure QBM_PSetRowLockOnly (@TablePattern nvarchar(64) = '%' ) as begin  declare @SQLcmd1 nvarchar(1024) declare @SQLcmd2 nvarchar\r\n(1024) declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @DebugSwitch int = 0 Declare @LogMessage nvarchar\r\n(max) SET XACT_ABORT OFF BEGIN TRY set nocount on insert into @ElementBuffer(ContentShort , ContentFull ) select distinct case i.allow_row_locks    when\r\n 0 then concat('ALTER INDEX ', isnull(i.name, 'ALL'), ' on ', t.name , ' SET (ALLOW_ROW_LOCKS = ON)') else '' end , case i.allow_page_locks    when 1 then\r\n concat('ALTER INDEX ', isnull(i.name, 'ALL'), ' on ', t.name , ' SET (ALLOW_PAGE_LOCKS = OFF)') else '' end  from sys.tables t join sys.schemas o on t.schema_id\r\n = o.schema_id and dbo.QBM_FGIObjectIsDropable (o.schema_id)=1 join sys.indexes i on i.object_id = t.object_id where t.type = 'U' and t.name like @TablePattern\r\n and t.is_memory_optimized = 0 and i.is_hypothetical = 0  and i.type not in (3,4,5,6) and t.name not like 'sys%'  and t.name not like 'ms%' and t.name \r\nnot like 'IH%' and t.name not like 'conflict%' and (i.allow_row_locks = 0 or i.allow_page_locks = 1 )  and i.type_desc in ('CLUSTERED', 'NONCLUSTERED',\r\n 'HEAP')  and not ( i.type_desc = 'HEAP' and exists ( select top 1 1 from sys.indexes ii where i.object_id = ii.object_id and ii.type_desc in ('CLUSTERED COLUMNSTORE'\r\n, 'NONCLUSTERED COLUMNSTORE') ) )  and o.name = 'dbo' order by 1 select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount\r\n begin select top 1 @SQLcmd1 = bu.ContentShort , @SQLcmd2 = bu.ContentFull from @ElementBuffer bu where bu.ElementIndex = @ElementIndex if @DebugSwitch\r\n > 0 begin print @SQLcmd1 print @SQLcmd2 end if @SQLcmd1 > ' ' begin exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLcmd1 , @LockTimeout_ms = default\r\n , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@procid , @HandleErrorSilent = 0 , @ExecuteWithTransact = 0 end if @SQLcmd2 > ' ' begin exec \r\nQBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLcmd2 , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@procid , @HandleErrorSilent\r\n = 0 , @ExecuteWithTransact = 0 end select @ElementIndex += 1 end  END TRY BEGIN CATCH select @LogMessage = concat(' executing: ', @SQLcmd1, ' ' , @SQLcmd2\r\n) exec QBM_PSessionErrorAdd default, @LogMessage RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PSingleUserAlive",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.463",
      "ModifyDate": "2026-04-14T23:20:24.343",
      "Definition": "   create   procedure QBM_PSingleUserAlive (@RequestingProcessID int = 0 ) as begin declare @Erg int = 0 declare @SingleUserProcess int declare \r\n@SingleUserStart datetime declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY select\r\n top 1 @SingleUserProcess = SingleUserProcess , @SingleUserStart = SingleUserStart from DialogDatabase where IsMainDatabase = 1 if @SingleUserProcess is\r\n null begin select @SingleUserProcess = 0 end if @RequestingProcessID = 0 begin select @RequestingProcessID = @@SPID end if @SingleUserProcess = @RequestingProcessID\r\n begin  update DialogDatabase set SingleUserStart = GETUTCDATE() , XDateUpdated = @Xdate , XUserUpdated = @XUser where IsMainDatabase = 1 select @Erg =\r\n 1 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18,\r\n 1) WITH NOWAIT END CATCH  endLabel: return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PSingleUserBreak",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:02.02",
      "ModifyDate": "2026-04-14T23:20:24.353",
      "Definition": "   create   procedure QBM_PSingleUserBreak (@RequestingProcessID int = 0 ) as begin declare @Erg int = 1 declare @SingleUserProcess int declare \r\n@SingleUserStart datetime declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY if not\r\n exists (select top 1 1 from sys.tables t where t.name = 'DialogDatabase' ) begin goto endLabel end select top 1 @SingleUserProcess = SingleUserProcess\r\n , @SingleUserStart = SingleUserStart from DialogDatabase where IsMainDatabase = 1 if @SingleUserProcess is null begin select @SingleUserProcess = 0 end\r\n if @RequestingProcessID = 0 begin select @RequestingProcessID = @@SPID end if @SingleUserProcess <> @RequestingProcessID begin  update DialogDatabase \r\nset SingleUserProcess = @RequestingProcessID , SingleUserStart = GETUTCDATE() , XDateUpdated = @Xdate , XUserUpdated = @XUser where IsMainDatabase = 1 \r\nend else begin select @erg = 0 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH  endLabel: return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PSingleUserRelease",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.473",
      "ModifyDate": "2026-04-14T23:20:24.363",
      "Definition": "   create   procedure QBM_PSingleUserRelease (@RequestingProcessID int = 0 ) as begin declare @Erg int = 0 declare @SingleUserProcess int declare\r\n @SingleUserStart datetime declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY select\r\n top 1 @SingleUserProcess = SingleUserProcess , @SingleUserStart = SingleUserStart from DialogDatabase where IsMainDatabase = 1 if @SingleUserProcess is\r\n null begin select @SingleUserProcess = 0 end if @RequestingProcessID = 0 begin select @RequestingProcessID = @@SPID end if @SingleUserProcess = 0 or @SingleUserProcess\r\n = @RequestingProcessID begin  update DialogDatabase set SingleUserProcess = 0 , SingleUserStart = null , XDateUpdated = @Xdate , XUserUpdated = @XUser\r\n where IsMainDatabase = 1 select @Erg = 1 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH  endLabel: return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PSingleUserRequest",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:02.027",
      "ModifyDate": "2026-04-14T23:20:24.373",
      "Definition": "   create   procedure QBM_PSingleUserRequest (@RequestingProcessID int = 0 ) as begin declare @Erg int = 0 declare @SingleUserProcess int declare\r\n @SingleUserStart datetime declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY if not\r\n exists (select top 1 1 from sys.tables t where t.name = 'DialogDatabase' ) begin select @erg = 1 goto endLabel end select top 1 @SingleUserProcess = SingleUserProcess\r\n , @SingleUserStart = SingleUserStart from DialogDatabase where IsMainDatabase = 1 if @SingleUserProcess is null begin select @SingleUserProcess = 0 end\r\n if @RequestingProcessID = 0 begin select @RequestingProcessID = @@SPID end if @SingleUserProcess = 0 or @SingleUserProcess = @RequestingProcessID begin\r\n  update DialogDatabase set SingleUserProcess = @RequestingProcessID , SingleUserStart = GETUTCDATE() , XDateUpdated = @Xdate , XUserUpdated = @XUser where\r\n IsMainDatabase = 1 select @Erg = 1 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH  endLabel: return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PSlotResetOnMissingItem_L",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.547",
      "ModifyDate": "2026-04-14T23:16:09.2",
      "Definition": "create   procedure QBM_PSlotResetOnMissingItem_L (@DBQueueCurrent QBM_YDBQueueCurrent readonly , @TableName varchar(30) , @PKColumnName varchar(30\r\n) , @SlotNumber int ) as begin declare @erg int = 0 declare @DebugSwitch int = 0 declare @DebugLevel char(1) = 'W'  declare @ProcName varchar(30) declare\r\n @ProcDef nvarchar(max) declare @ProcBody nvarchar(max) declare @OutstandingTest nvarchar(1000) declare @SourceName nvarchar(1000) declare @ErrorMessage\r\n nvarchar(4000) declare @ErrorSeverity int declare @ErrorState int declare @anlegenklappt bit = 0 declare @waitTime float declare @UnComment bit = 0 ,@Unformat\r\n bit = 1 SET XACT_ABORT OFF BEGIN TRY select @ProcName = dbo.QBM_FGICodeName('PSR', concat(@TableName, @PKColumnName ))  if @DebugSwitch > 0 begin select\r\n @UnComment = 0 , @Unformat = 0 print @ProcName  end if dbo.QBM_FGIColumnExists(@TableName, 'XMarkedForDeletion') = 1 begin select @OutstandingTest = str\r\n(dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|', 0)) + ' & b.XMarkedForDeletion > 0' end else begin select @OutstandingTest = '' end while not exists\r\n (select top 1 1 from sys.objects o where o.name = @ProcName ) begin if @DebugSwitch > 0 begin print 'dann bauen wir eine' end select @waitTime = convert\r\n(float, @@spid) / 1000.0 exec QBM_PWaitForSeconds @waittime select @ProcBody = CONCAT( '\r\n declare @SlotNumberSource int\r\n declare @SlotNumberTarget int\r\n declare @DBQueueToMove QBM_YDBQCSCurrentToMove \r\n declare @outs int = 0\r\n declare @missing int = 0\r\n declare @DebugLevel varchar(1) = '''\r\n, @DebugLevel , '''\r\n \r\n\tSET XACT_ABORT OFF\r\n\r\n \t-- befüllen mit den interessanten Einträgen\r\n\tinsert into @DBQueueToMove(UID_DialogDBQueue)\r\n\t\tselect cul.UID_DialogDBQueue\r\n\t\tfrom @DBQueueCurrent cul  -- Suchbedingung\r\n\t\t\t\t\t\tleft outer join '\r\n, @TableName, ' b with (readpast) on cul.UID_Parameter = b.', @PKColumnName , ' \r\n\t\twhere b.', @PKColumnName , ' is null\r\n\t\t\t\t\t\t\t\t\r\n\tselect @missing = @@rowcount\r\n\r\n\t\t\t\t\t'\r\n, case when @OutstandingTest > ' ' then concat('\r\n\tinsert into @DBQueueToMove(UID_DialogDBQueue)\r\n\t\tselect cul.UID_DialogDBQueue\r\n\t\tfrom @DBQueueCurrent cul  -- Suchbedingung\r\n\t\t\t\t\t\t\t\tjoin '\r\n, @TableName, ' b with (readpast) on cul.UID_Parameter = b.', @PKColumnName , ' \r\n\t\twhere ', @OutstandingTest, '\r\n\r\n\tselect @outs = @@rowcount \r\n\r\n\tif @outs > 0\r\n\t begin\r\n\t\tdeclare @msg nvarchar(1000) = ''#LDS#DBQueue task not processed because of outstanding elements. Table: {0}.|'' + '''\r\n, @TableName, ''' + ''|''\r\n\r\n\t\texec QBM_PJournal @msg, @@procid, ''W'', @DebugLevel, 20\r\n\t end ') else '' end, '\r\n\r\n\tif @outs + @missing > 0\r\n\t begin\r\n\r\n\t\tselect @SlotNumberSource = @SlotNumber -- die übergebene Slotnummer\r\n\t\tselect @SlotnumberTarget = 0\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\texec @ret = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget\r\n\r\n\t  end\r\n\r\n\t\t\t\t'\r\n ) select @SourceName = concat('QBM_PSlotResetOnMissingItem_L' , '(' , @TableName , '.' , @PKColumnName , ')' ) select @procdef = dbo.QBM_FSQProcedureDef\r\n(@ProcName , '@DBQueueCurrent QBM_YDBQueueCurrent readonly\r\n\t\t\t\t\t\t\t\t\t\t\t\t, @SlotNumber int\r\n\t\t\t\t\t\t\t\t\t\t\t' , @ProcBody , @SourceName ) if @DebugSwitch > 0\r\n begin print @procdef end    begin transaction if not exists (select top 1 1 from sys.objects o where o.name = @ProcName ) begin BEGIN TRY exec QBM_PSQLCreate\r\n @Procname, 'P', @procDef, @UnComment = @UnComment, @Unformat = @Unformat select @anlegenklappt = 1 END TRY BEGIN CATCH select @anlegenklappt = 0  END \r\nCATCH end  if @anlegenklappt = 1 begin commit select @ErrorMessage = 'angelegt ' + @SourceName end else begin rollback  select @ErrorMessage = 'bumm     '\r\n + @SourceName end if @DebugSwitch > 0 begin exec QBM_PJournal @Errormessage, @@procid, 'D', @DebugLevel end  select @waitTime = (convert(float, @@spid\r\n) / 1000.0) + 0.4 exec QBM_PWaitForSeconds @waittime end   exec @erg = @ProcName @DBQueueCurrent, @SlotNumber END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH  endLabel: return (@erg) end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PSlotResetWhileJobRun_L",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.523",
      "ModifyDate": "2026-04-14T23:16:09.187",
      "Definition": "   create   procedure QBM_PSlotResetWhileJobRun_L (@DBQueueCurrent QBM_YDBQueueCurrent readonly , @Procid int  , @ObjectKeysToCheck QBM_YParameterList\r\n readonly     , @JobChainNameAddOn nvarchar(256) = null  , @CountParameterOfTask int = 1  , @SlotNumber int = 0 ) as begin declare @erg int = 0 declare\r\n @msg nvarchar(1000) declare @DebugLevel varchar(1) = 'W' declare @SuppressCount int = 30  declare @UID_Task varchar(38) declare @Procedurename nvarchar\r\n(64) declare @Procedurename_Z nvarchar(64) declare @Jobchainname nvarchar(256) declare @SlotNumberSource int declare @SlotNumberTarget int declare @DBQueueToMove\r\n QBM_YDBQCSCurrentToMove declare @RowsMoved int SET XACT_ABORT OFF BEGIN TRY  if exists (select top 1 1 from DialogConfigParm c where c.UID_ConfigParm \r\n= 'TST-53D4A8BCCE4545BBA3A583F45DD57968' ) begin select @Procedurename = OBJECT_NAME(@procid) select top 1 @UID_Task = t.UID_Task from QBMDBQueueTaskMetric\r\n t with (nolock) where t.ProcedureName = @Procedurename select @msg = 'No resetting for Task '+ isnull(isnull(@UID_Task, @Procedurename) , 'not named')\r\n + '.' exec dbo.QBM_PJournal @msg, @@PROCID, 'W', @DebugLevel goto ende end   select @Jobchainname = null select top 1 @Jobchainname = jq.JobChainName \r\nfrom @DBQueueCurrent pp join @ObjectKeysToCheck oc on pp.UID_Parameter = oc.Parameter1 join QBMElementAffectedByJob ea with (nolock) on ea.ObjectKeyAffected\r\n = oc.Parameter2 join JobQueue jq with (nolock) on ea.UID_Job = jq.UID_Job  and jq.IsNoDBQueueDefer = 0 where jq.Ready2EXE like N'[^DH][^I]%' if @Jobchainname\r\n is not null   begin   delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select cul.UID_DialogDBQueue from @DBQueueCurrent cul join \r\n@ObjectKeysToCheck oc on cul.UID_Parameter = oc.Parameter1 and ISNULL(cul.UID_SubParameter, '') = case @CountParameterOfTask when 1 then ISNULL(cul.UID_SubParameter\r\n, '') when 2 then oc.Parameter3 else 'x' end join QBMElementAffectedByJob ea with (readpast) on ea.ObjectKeyAffected = oc.Parameter2 join JobQueue jq with\r\n (readpast) on ea.UID_Job = jq.UID_Job  and jq.IsNoDBQueueDefer = 0 where jq.JobChainName like case when isnull(@JobChainNameAddOn, '') = '' then '%' when\r\n @JobChainNameAddOn like '%[%]' then @JobChainNameAddOn else dbo.QBM_FGIJobCreateName(@JobChainNameAddOn) + '%' end  and jq.Ready2EXE like N'[^DH][^I]%'\r\n    select @erg = @@rowcount if @erg > 0 begin select @SlotNumberSource = @SlotNumber  select @SlotnumberTarget = dbo.QBM_FGIDBQueueSlotResetType('JobQueue'\r\n) exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget end end if @RowsMoved > 0 begin select @Procedurename\r\n = OBJECT_NAME(@procid) if @Procedurename like '___[_]R%' begin select @Procedurename_Z = concat(LEFT(@Procedurename, 4) , 'Z' , SUBSTRING(@Procedurename\r\n, 6, 30) ) end else begin select @Procedurename_Z = @Procedurename end select top 1 @UID_Task = t.UID_Task from QBMDBQueueTaskMetric t with (nolock) where\r\n t.ProcedureName = @Procedurename_Z select @msg = concat('#LDS#Resetting DBQueue tasks {0} because processes {1} related to objects on these tasks are still running in JobQueue.|'\r\n , isnull(isnull(@UID_Task, @Procedurename_Z) , 'not named') , '|' , @Jobchainname , '|' ) exec dbo.QBM_PJournal @msg, @@PROCID, 'W', @DebugLevel , @SuppressCount\r\n end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1\r\n) WITH NOWAIT END CATCH  ende: return (@erg) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PSplittedElementProcess",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.823",
      "ModifyDate": "2026-04-14T23:20:26.617",
      "Definition": "        create   procedure QBM_PSplittedElementProcess (@Sources QBM_YParameterList readonly , @SplittedElementType varchar(16) ) as begin declare\r\n @IstInsert int = 0 declare @IstDelete int = 0 declare @IstUpdate int = 0 declare @DebugSwitch int = 0 declare @soll QBM_YSplittedElementHelper declare\r\n @ist QBM_YSplittedElementHelper if @DebugSwitch > 0 begin print 'gelieferte @Sources für ElementType ' + @SplittedElementType select * from @Sources  \r\n   end if not exists (select top 1 1 from @Sources ) begin if @DebugSwitch > 0 begin print 'nix geliefert, return' end return end insert into @soll(UID_QBMSplittedLookup\r\n, UID_DialogColumn, ObjectKeyOwner, SplittedElement, UID_Person) select     dbo.QBM_FCVStringToGUID('', concat(x.UID_DialogColumn , x.ObjectKeyOwner , \r\nx.SplittedElement ))    , x.UID_DialogColumn, x.ObjectKeyOwner, isnull(x.SplittedElement, ''), x.UID_Person from ( select s.Parameter2 as UID_DialogColumn\r\n , s.Parameter3 as ObjectKeyOwner, s.ContentShort as SplittedElement , s.Parameter1 as UID_Person from @Sources s where s.HasContentFull = 0  union  select\r\n s.Parameter2 as UID_DialogColumn, s.Parameter3 as ObjectKeyOwner, p.SplittedElement as SplittedElement, s.Parameter1 as UID_Person from @Sources s outer\r\n apply (select case @SplittedElementType when 'Email' then replace(y.SplittedElement, 'smtp:', '') else y.SplittedElement end as SplittedElement from (\r\n select trim(x.value) as SplittedElement from string_split (s.ContentFull, nchar(7)) x      ) as y ) as p where s.HasContentFull = 1  ) as x if @DebugSwitch\r\n > 0 begin print 'Erstbefüllung soll' select * from @soll end insert into @ist(UID_QBMSplittedLookup, UID_DialogColumn, ObjectKeyOwner, SplittedElement\r\n, UID_Person ) select distinct t.UID_QBMSplittedLookup, t.UID_DialogColumn, t.ObjectKeyOwner, '', t.UID_Person  from QBMSplittedLookup t join @soll s on\r\n t.ObjectKeyOwner = s.ObjectKeyOwner and t.UID_DialogColumn = s.UID_DialogColumn if @DebugSwitch > 0 begin print 'Erstbefüllung ist' select * from @ist\r\n end update @soll set IsToInsert = 1 from @soll s left outer join @ist i on s.UID_QBMSplittedLookup = i.UID_QBMSplittedLookup where i.UID_QBMSplittedLookup\r\n is null select @IstInsert = @@ROWCOUNT if @DebugSwitch > 0 begin print 'Soll nach Bewertung Neuaufnahme' select * from @soll end delete  @soll from @soll\r\n s where s.SplittedElement = ''  if @DebugSwitch > 0 begin print 'Soll nach Löschung leere' select * from @soll end update @ist set isToDelete = 1 from\r\n @ist i left outer join @soll s on i.UID_QBMSplittedLookup = s.UID_QBMSplittedLookup where s.UID_QBMSplittedLookup is null select @IstDelete = @@ROWCOUNT\r\n update @soll set IsToUpdate = 1 from @ist i join @soll s on i.UID_QBMSplittedLookup = s.UID_QBMSplittedLookup where isnull(i.UID_Person, '') <> isnull\r\n(s.UID_Person, '') select @IstUpdate = @@ROWCOUNT if @DebugSwitch > 0 begin print 'Nach Bewertung soll' select * from @soll print 'Nach Bewertung ist' \r\nselect * from @ist end if @IstDelete > 0 begin delete QBMSplittedLookup from QBMSplittedLookup d join @ist s on d.UID_QBMSplittedLookup = s.UID_QBMSplittedLookup\r\n where s.isToDelete = 1 end if @IstInsert > 0 begin insert into QBMSplittedLookup( UID_QBMSplittedLookup , UID_DialogColumn , ObjectKeyOwner , SplittedElement\r\n , UID_Person , SplittedElementType  ) select s.UID_QBMSplittedLookup , s.UID_DialogColumn , s.ObjectKeyOwner , s.SplittedElement , s.UID_Person , @SplittedElementType\r\n  from @soll s where s.IsToInsert = 1 end if @IstUpdate > 0 begin update QBMSplittedLookup set UID_Person = s.UID_Person from QBMSplittedLookup i join \r\n@soll s on i.UID_QBMSplittedLookup = s.UID_QBMSplittedLookup where s.IsToUpdate = 1 end endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PSQLCheckExecutable",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:30.103",
      "ModifyDate": "2026-04-14T23:20:26.95",
      "Definition": "    create   procedure QBM_PSQLCheckExecutable (@QueriesToCheck QBM_YParameterList readonly    , @RaiseError bit = 0   ) as begin declare @sqlcmd\r\n nvarchar(max) declare @Content nvarchar(max) declare @ElementKey varchar(138) declare @DebugSwitch int = 0 declare @PatNumVarStart nvarchar(1000) = '%[^'',a-z,0-9][%]%[%][^'']%'\r\n declare @p1 int declare @p2 int declare @ErrorResult QBM_YParameterList declare @Message nvarchar(4000) declare @errorsDetected int = 0 declare @ElementBuffer\r\n QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() SET XACT_ABORT\r\n OFF BEGIN TRY set nocount on   insert into @ElementBuffer (ObjectKey1, ContentFull) select a.Parameter1, N' ' + a.ContentFull + N' ' from @QueriesToCheck\r\n a select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @elementKey = bu.ObjectKey1 , @Content\r\n = bu.ContentFull from @ElementBuffer bu where bu.ElementIndex = @ElementIndex if @DebugSwitch > 2 begin print @elementKey + ' ' + isnull(@Content, '<null>'\r\n) end while @Content like '%$PC(%)$%' begin m1: select @p1 = 0 select @p2 = 0 select @p1 = PATINDEX('%$PC(%', @Content) if @DebugSwitch > 0 begin print\r\n @p1 end select @p2 = PATINDEX('%)$%', SUBSTRING(@Content, @p1, 65000)) if @DebugSwitch > 0 begin print @p2 end if @p1 > 0 and @p2 > 0 begin select @Content\r\n = LEFT(@Content, @p1 -1 ) + '''0'''   + SUBSTRING(@Content, @p1 + @p2 + 1 , 65000) if @DebugSwitch > 0 begin print @Content end end else  begin goto ItsReplaced1\r\n end end  ItsReplaced1:    if @Content like @PatNumVarStart begin if @DebugSwitch > 0 begin print '### unterdrückt für Content: ' + @content end select\r\n @Content = '' end  if trim(@Content) = '0' or trim(@Content) = ''  begin if @DebugSwitch > 0 begin print '--- nur null -- ' + @elementKey + '#' + @content+\r\n '#' end select @sqlcmd = '' end else begin if @DebugSwitch > 0 begin print '--- war mehr -- ' + @elementKey + '#' + @content+ '#' end select @sqlcmd =\r\n '\r\n\t\t\t\t\t-- #33934\r\n\t\t\t\t\tdeclare @ObjectKeys QBM_YParameterList\r\n\t\t\t\t\tdeclare @erg int\r\n\t\t\t\t\tselect top 1 @erg = 1 from\r\n\t\t\t\t\t ( ' + @Content + '\r\n\t\t\t\t\t ) as x \r\n\t\t\t\t\t  where 1 = 0\r\n\t\t\t\t\t '\r\n end if @DebugSwitch = 2 begin print @sqlcmd end begin TRY if @sqlcmd > ' ' begin exec sp_executesql @sqlcmd end end try begin catch select @Message = \r\nconcat('SyntaxError in Element ' , @ElementKey ) exec QBM_PSessionErrorAdd default, @Message if @RaiseError = 1 begin set XACT_ABORT ON  RAISERROR (@Rethrow\r\n, 18, 1) WITH NOWAIT end else begin insert into @ErrorResult(Parameter1, ContentShort, ContentFull) select @elementKey, LEFT(@sqlcmd, 400), @Message select\r\n @errorsDetected += 1 end end catch select @ElementIndex += 1 end  END TRY BEGIN CATCH if @DebugSwitch > 0 begin print @sqlcmd end select @Message = (concat\r\n('SyntaxError in Element ' , isnull(@ElementKey, '<none>') ) ) exec QBM_PSessionErrorAdd default, @Message RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END \r\nCATCH endLabel:  if @errorsDetected > 0 begin select Parameter1 as ElementKey, ContentShort SQLCode, ContentFull as Errormessage from @ErrorResult end \r\nreturn end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PSQLCreate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.55",
      "ModifyDate": "2026-04-14T23:14:10.177",
      "Definition": "   create   procedure QBM_PSQLCreate (@ObjectName varchar(30) , @ObjectType varchar(1)     , @ObjectCode nvarchar(max) , @UnComment bit = 1 , @UnFormat\r\n bit = 1 ) as begin declare @DebugSwitch int = 0 declare @DebugLevel char(1) = 'W' declare @Message nvarchar(1000) declare @MessageAppend nvarchar(100)\r\n = ' (' + @ObjectType + ') ' + @ObjectName  declare @ObjectCodeIntern nvarchar(max) SET XACT_ABORT OFF BEGIN TRY  if @UnComment = 1 and dbo.QBM_FGIDBOwner\r\n() = 'CCC' begin select @ObjectCode = dbo.QBM_FSQRemoveComment_i(@ObjectCode, @UnFormat) if @DebugSwitch > 0 begin print substring(@objectCode, 1, 4000\r\n) print substring(@objectCode, 4000, 4000) print substring(@objectCode, 8000, 4000) print substring(@objectCode, 12000, 4000) print substring(@objectCode\r\n, 16000, 4000) print substring(@objectCode, 20000, 4000) print substring(@objectCode, 24000, 4000) print substring(@objectCode, 28000, 4000) end end   \r\n      select @ObjectCodeIntern = @ObjectCode if @ObjectType = 'P' begin if @DebugSwitch > 0 begin if exists (select top 1 1 from sys.procedures p with \r\n(readpast) where p.name = @ObjectName ) begin select @Message = 'Objekt zu löschen' + @MessageAppend end else begin select @Message = 'Objekt nicht vorhanden'\r\n + @MessageAppend end exec QBM_PJournal @Message, @@PROCID, 'D', @DebugLevel print @Message end if @ObjectCodeIntern not like 'create or alter%' begin \r\nexec QBM_PProcedureDrop @ObjectName end goto CreateCode end if @ObjectType = 'T' begin if @DebugSwitch > 0 begin if exists (select top 1 1 from sys.triggers\r\n p with (readpast) where p.name = @ObjectName and p.name != 'QBM_TUIndicator474488' ) begin select @Message = 'Objekt zu löschen' + @MessageAppend end \r\nelse begin select @Message = 'Objekt nicht vorhanden' + @MessageAppend end exec QBM_PJournal @Message, @@PROCID, 'D', @DebugLevel print @Message end if\r\n @ObjectCodeIntern not like 'create or alter%' begin exec QBM_PTriggerDrop @ObjectName end goto CreateCode end if @ObjectType = 'F' begin if @DebugSwitch\r\n > 0 begin if exists (select top 1 1 from sys.objects p with (readpast) where p.name = @ObjectName ) begin select @Message = 'Objekt zu löschen' + @MessageAppend\r\n end else begin select @Message = 'Objekt nicht vorhanden' + @MessageAppend end exec QBM_PJournal @Message, @@PROCID, 'D', @DebugLevel print @Message end\r\n   exec QBM_PFunctionDrop @ObjectName goto CreateCode end if @ObjectType = 'V' begin if @DebugSwitch > 0 begin if exists (select top 1 1 from sys.objects\r\n p with (readpast) where p.name = @ObjectName ) begin select @Message = 'Objekt zu löschen' + @MessageAppend end else begin select @Message = 'Objekt nicht vorhanden'\r\n + @MessageAppend end exec QBM_PJournal @Message, @@PROCID, 'D', @DebugLevel print @Message end if @ObjectCodeIntern not like 'create or alter%' begin \r\nexec QBM_PViewDrop @ObjectName end goto CreateCode end CreateCode: if @ObjectCodeIntern > ' ' begin exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @ObjectCodeIntern\r\n , @LockTimeout_ms = default  , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = default , @HandleErrorSilent = 0 , @ExecuteWithTransact = 0  if @DebugSwitch\r\n > 0 begin select @Message = 'Objekt angelegt' + @MessageAppend exec QBM_PJournal @Message, @@PROCID, 'D', @DebugLevel end end END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PTableAdd",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.59",
      "ModifyDate": "2026-04-14T23:14:10.26",
      "Definition": "  create   procedure QBM_PTableAdd (@TableName varchar(30) , @CreateStmt nvarchar(max) , @UID_DialogTable varchar(38) = null , @TableType nvarchar\r\n(1) = 'T' ) as begin declare @OwnerDB varchar(3) declare @OwnerTable varchar(3) declare @ElementsToKeep int declare @ViewsWithElementsToKeep QBM_YCursorBuffer\r\n declare @ViewName varchar(30) declare @ElementLast int declare @ElementCount int declare @ElementIndex int declare @cmd nvarchar(max) declare @XUser nvarchar\r\n(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY if not exists (select top 1 1 from sys.tables t where \r\nt.name = @TableName ) begin exec sp_executesql @CreateStmt end if @UID_DialogTable is null begin goto endLabel  end if not exists (select top 1 1 from \r\nsys.tables t where t.name = 'DialogTable' ) begin goto endLabel end   select @OwnerDB = dbo.QBM_FGIDBOwner() select @OwnerTable = dbo.QBM_FCVGUIDToModuleOwner\r\n(@UID_DialogTable) select @cmd = 'select name from sys.views where name like ''___[_]VElementsToKeep''' insert into @ViewsWithElementsToKeep (ObjectKey1\r\n) exec sp_executesql @cmd select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY select\r\n @ElementsToKeep = 0 while @ElementIndex <= @ElementLast and @ElementsToKeep = 0 begin select top 1 @ViewName = v.ObjectKey1 from @ViewsWithElementsToKeep\r\n v where v.ElementIndex = @ElementIndex select @ElementsToKeep = 0 select @cmd = 'select top 1 1 from ' + @ViewName + ' where SourceModule = ''' + @OwnerTable\r\n + '''' exec sp_executesql @cmd select @ElementsToKeep = @@ROWCOUNT select @ElementIndex += 1 end if @OwnerTable <> 'CCC' and @OwnerTable <> @OwnerDB and\r\n @ElementsToKeep = 0 begin  goto EndLabel end if not exists (select top 1 1 from DialogTable t where t.UID_DialogTable = @UID_DialogTable ) begin insert\r\n into DialogTable( TableName, UID_DialogTable, TableType, XObjectKey , XDateInserted, XDateUpdated, XUserInserted, XUserUpdated ) values ( @TableName, \r\n@UID_DialogTable, @TableType, '<Key><T>DialogTable</T><P>' + @UID_DialogTable + '</P></Key>' , @Xdate, @Xdate, @XUser, @XUser ) end END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH \r\nendLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PTableCustomRemove_RU",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.037",
      "ModifyDate": "2026-04-14T23:20:25.713",
      "Definition": "  create   procedure QBM_PTableCustomRemove_RU ( @TableName varchar(30) ) as begin declare @UID_DialogTable varchar(38) = null declare @ObjectKeyDialogTable\r\n varchar(138) declare @TableType varchar(1) declare @Sammler QBM_YCursorBuffer declare @Step varchar(30) declare @SQLCmd nvarchar(max) declare @ErrorMessage\r\n nvarchar(4000) declare @ChildCmd QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int SET XACT_ABORT OFF BEGIN TRY set nocount on select\r\n top 1 @UID_DialogTable = t.UID_DialogTable , @ObjectKeyDialogTable = t.XObjectKey , @TableType = t.TableType from DialogTable t where t.TableName = @TableName\r\n select @Step = 'Checking ProductionLevel' print @step if exists (select top 1 1 from DialogDatabase db with (readpast) where db.IsMainDatabase = 1 and\r\n db.ProductionLevel > 1 ) begin insert into @Sammler (Ident1, Bit1, LongIdent1 ) select @Step, 1, 'QBM_PTableCustomRemove_RU is only allowed in Dev and QA environments'\r\n end select @Step = 'Checking QBM-Tables' print @step if @UID_DialogTable is null begin insert into @Sammler (Ident1, Bit1, LongIdent1 ) select @Step, \r\n1, 'Table not found in DialogTable' end select @Step = 'Checking Table-Type' print @step if @TableType not in ('R', 'U') begin insert into @Sammler (Ident1\r\n, Bit1, LongIdent1 ) select @Step, 1, 'TableType not in (R, U)' end select @Step = 'Checking schema' print @step if not exists (select top 1 1 from INFORMATION_SCHEMA.TABLES\r\n t where t.TABLE_NAME = @TableName ) begin insert into @Sammler (Ident1, Bit1, LongIdent1 ) select @Step, 1, 'Table not found in schema' end if not exists\r\n (select top 1 1 from INFORMATION_SCHEMA.TABLES t where t.TABLE_NAME = @TableName ) begin insert into @Sammler (Ident1, Bit1, LongIdent1 ) select @Step\r\n, 1, 'Table not found in schema' end   select @Step = 'Checking ownership of table' print @step if dbo.QBM_FCVGUIDToModuleOwner(@UID_DialogTable) <> dbo.QBM_FGIDBOwner\r\n() begin insert into @Sammler (Ident1, Bit1, LongIdent1 ) select @Step, 1, 'You are not the owner of ' + @TableName end if exists (select top 1 1 from \r\n@Sammler s where s.Bit1 = 1 ) begin select s.Ident1 as Step , s.Bit1 as IsError , s.LongIdent1 as Remarks , isnull(s.ContentFull, '') as RepairStatement\r\n from @Sammler s order by s.ElementIndex select top 1 @ErrorMessage = concat('#LDS#Table will not be dropped. 1st error was {0}.|' , s.LongIdent1 , '|'\r\n ) from @sammler s where s.Bit1 = 1 order by s.ElementIndex raiserror(@ErrorMessage, 18, 1) with nowait end else begin print 'try to drop table' select\r\n s.Ident1 as Step , s.Bit1 as IsError from @Sammler s order by s.ElementIndex end insert into @ChildCmd(ContentFull) select distinct concat( 'delete ' \r\n, r.ChildTable , '\r\n\t\t\tfrom ' , r.ChildTable , ' c \r\n\t\t\twhere c.' , r.ChildColumn , ' = ''', @UID_DialogTable, '''\r\n\t\t\t' ) from QBM_VQBMRelation r join\r\n sys.tables t on r.ChildTable = t.name join sys.columns c on t.object_id = c.object_id and c.name = r.ChildColumn where ParentTable = 'dialogtable' select\r\n @ElementCount = @@rowcount begin transaction   delete DialogColumnGroupRight from DialogColumnGroupRight gr join DialogColumn c on gr.UID_DialogColumn\r\n = c.UID_DialogColumn where c.UID_DialogTable = @UID_DialogTable delete DialogColumn from DialogColumn c where c.UID_DialogTable = @UID_DialogTable  select\r\n @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @SQLCmd = bu.ContentFull from @ChildCmd bu where bu.ElementIndex = @ElementIndex\r\n exec sp_executesql @sqlcmd select @ElementIndex += 1 end delete DialogTable from DialogTable a where a.UID_DialogTable = @UID_DialogTable select @SQLCmd\r\n = 'drop view ' + @TableName exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @sqlcmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , \r\n@ProcIDForJournal = default , @HandleErrorSilent = 0 commit Transaction END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default rollback transaction declare\r\n @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return end  \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PTableDrop",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.557",
      "ModifyDate": "2026-04-14T23:14:10.193",
      "Definition": "   create   procedure QBM_PTableDrop ( @TableName nvarchar(64) , @force bit = 0 ) as begin declare @SQLcmd nvarchar(1024) declare @Message nvarchar\r\n(1000) declare @uid_DialogTable varchar(38) declare @QBM_VQBMRelationExists bit = 0 declare @QBM_VQBMRelationALLExists bit = 0 declare @DebugSwitch int\r\n = 0  declare @ChildCmd QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int SET XACT_ABORT OFF BEGIN TRY exec QBM_PSchemaBindDisable \r\n@TableName declare @childtable varchar(64) if exists (select top 1 1 from sys.objects t where t.name = @TableName and t.type <> 'U' ) begin select @Message\r\n = '#LDS#Cannot delete Object {0} because it is not found as a table {1}.|' + @TableName + '|' raiserror (@Message, 18, 1) with nowait end if exists (select\r\n top 1 1 from sys.objects o where o.name = 'QBM_VQBMRelationALL' ) begin select @QBM_VQBMRelationALLExists = 1 end if exists (select top 1 1 from sys.objects\r\n o where o.name = 'QBM_VQBMRelation' ) begin select @QBM_VQBMRelationExists = 1 end if @QBM_VQBMRelationALLExists = 1 begin select @SQLcmd = concat( '\r\n\t\t\t\t\t\tselect top 1 1\r\n\t\t\t\t\t\t\tfrom QBM_VQBMRelationALL r\r\n\t\t\t\t\t\t\twhere r.ParentTable = '''\r\n, @TableName , '''\r\n\t\t\t\t\t\t\tand r.ParentTable <> r.ChildTable' ) exec sp_executesql @SQLCmd if @@ROWCOUNT > 0 begin select @Message = '#LDS#Cannot delete Table {0} because it is referenced by table {1}.|'\r\n + @TableName + '|' + @childtable + '|' raiserror (@Message, 18, 1) with nowait end end select top 1 @uid_DialogTable = t.UID_DialogTable from DialogTable\r\n t where t.TableName = @TableName if @uid_DialogTable is null and @force = 0 begin select @Message = '#LDS#Cannot delete Table {0} because it does not exist in DialogTable.|'\r\n + @TableName + '|' raiserror (@Message, 18, 1) with nowait end if dbo.QBM_FCVGUIDToModuleOwner(@uid_DialogTable) <> dbo.QBM_FGIDBOwner() and @force = \r\n0 begin select @Message = '#LDS#Cannot delete Table {0} because it is not under Your ownership.|' + @TableName + '|' raiserror (@Message, 18, 1) with nowait\r\n end exec QBM_PConstraintFKDrop @TableName, '%', '%'   insert into @ChildCmd(ContentFull) select distinct concat( 'delete ' , r.ChildTable , '\r\n\t\t\tfrom '\r\n , r.ChildTable , ' c \r\n\t\t\twhere c.' , r.ChildColumn , ' = ''', @UID_DialogTable, '''\r\n\t\t\t' ) from QBM_VQBMRelation r join sys.tables t on r.ChildTable\r\n = t.name join sys.columns c on t.object_id = c.object_id and c.name = r.ChildColumn where ParentTable = 'dialogtable' select @ElementCount = @@rowcount\r\n begin transaction if @QBM_VQBMRelationExists = 1 begin select @SQLcmd = '\r\n\t\tdelete QBMRelation \r\n\t\t--select r.RelationID\r\n\t\t\tfrom QBMRelation r join  QBM_VQBMRelation v on r.UID_QBMRelation = v.UID_QBMRelation\r\n\t\t\twhere v.ChildTable = '''\r\n + @TableName + '''' exec sp_executesql @SQLcmd end if @QBM_VQBMRelationALLExists = 1 begin select @SQLcmd = '\r\n\t\t\tdelete DialogValidDynamicRef\r\n\t\t\t\tfrom DialogValidDynamicRef r join  QBM_VQBMRelationALL v on r.XObjectKey = v.XObjectKey\r\n\t\t\t\twhere v.ChildTable = '''\r\n + @TableName + '''' exec sp_executesql @SQLcmd end   delete DialogColumnGroupRight from DialogColumnGroupRight gr join DialogColumn c on gr.UID_DialogColumn\r\n = c.UID_DialogColumn where c.UID_DialogTable = @UID_DialogTable delete DialogColumn from DialogColumn c where c.UID_DialogTable = @UID_DialogTable  select\r\n @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @SQLCmd = bu.ContentFull from @ChildCmd bu where bu.ElementIndex = @ElementIndex\r\n exec sp_executesql @sqlcmd select @ElementIndex += 1 end  delete DialogTable where UID_DialogTable = @uid_DialogTable if exists (select top 1 1 from sys.tables\r\n t where t.name = @TableName ) begin select @SQLcmd = 'Drop table ' + @TableName if @DebugSwitch > 0 begin print @SQLcmd end exec sp_executesql @SQLcmd\r\n end commit transaction END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default rollback transaction declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PTableLockEscalationSet",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.767",
      "ModifyDate": "2026-04-14T23:20:25.397",
      "Definition": "  create   procedure QBM_PTableLockEscalationSet(@TablePattern varchar(64) ) as begin declare @tablename varchar(30) declare @SQLCmd nvarchar(max\r\n) declare @DebugSwitch int = 0 declare @AllNames QBM_YParameterList SET XACT_ABORT OFF BEGIN TRY if @@TRANCOUNT > 0 begin goto endLabel end select @SQLCmd\r\n = '\tselect  t.name\r\n\tfrom sys.tables t\r\n\twhere \r\n\t\tt.lock_escalation <> 1\r\n\t\t%xtp% and t.is_memory_optimized = 0 \r\n\t\tand t.type = ''U''\r\n\t\tand t.is_ms_shipped = 0\r\n\t\tand t.name not in ( \r\n\t\t\t\t\t\t''sysdiagrams''\r\n\t\t\t\t\t\t)\r\n\t\tand t.name like '''\r\n + @TablePattern + '''\r\n\r\n\t' if ISNULL(SERVERPROPERTY('IsXTPSupported'), 0) = 1 begin select @SQLCmd = replace(@SQLcmd, '%xtp%', '') end else begin select\r\n @SQLCmd = replace(@SQLcmd, '%xtp%', '--') end if @DebugSwitch > 0 begin print @SQLCmd end insert into @AllNames(Parameter1) exec sp_executesql @SQLcmd\r\n if @@ROWCOUNT = 0 begin goto endLabel end if @DebugSwitch > 0 begin select Parameter1 from @AllNames end select @tablename = '#' while @tablename > ' '\r\n begin select @tablename = null select top 1 @tablename = a.Parameter1 from @AllNames a if @tablename is null begin continue end else begin delete  @AllNames\r\n where Parameter1 = @tablename end select @SQLCmd = '\r\n\t\talter table ' + @TableName + ' set (LOCK_ESCALATION = DISABLE)\r\n\t ' if @DebugSwitch > 0 begin \r\nprint @sqlcmd end exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLcmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal\r\n = @@procid , @HandleErrorSilent = 0 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PTableMove",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.777",
      "ModifyDate": "2026-04-14T23:20:26.557",
      "Definition": "  create   procedure QBM_PTableMove (@TablePattern varchar(64) = '%' ) as begin declare @TableName varchar(30) declare @Message nvarchar(1000) declare\r\n @DebugSwitch int = 0 declare @DebugLevel varchar(1) = 'W'   if dbo.QBM_FGISingleUserRunning() = 1  begin select @Message = 'single user mode is set by another user'\r\n raiserror (@message, 18, 1) with nowait end if exists (select top 1 1  from sys.sysprocesses p where p.dbid = DB_ID() and p.spid <> @@SPID and p.program_name\r\n like concat( 'OneIM_DatabaseAgent' ,'%'  ) ) begin select @Message = 'There are other processes active, use \"exec QBM_PWatchDogPrepare 1\" to deactivate them'\r\n raiserror (@message, 18, 1) with nowait end if @@TRANCOUNT > 0 begin select @Message = 'procedure must not be used within transaction(s)' raiserror (@message\r\n, 18, 1) with nowait end  exec QBM_PSingleUserRequest select @TableName = '#' while @TableName > ' ' begin select @TableName = null select top 1 @TableName\r\n = t.TableName from DialogTable t where t.TableType in ('B', 'T') and dbo.QBM_FGIDiskStoreExisting(t.TableName) <> dbo.QBM_FGIDiskStoreTarget(t.TableName\r\n) and t.TableName like @TablePattern  and t.TableName not in ( select TableName from QBM_VStartupTables union select 'QBMDiskStoreLogical' union select\r\n 'QBMDiskStorePhysical' ) and exists ( Select top 1 1 from QBM_VTablesReloadAble v where v.TableName = t.TableName ) if @TableName is null begin continue\r\n end select @Message = 'Table to move ' + @TableName + ' from ' + dbo.QBM_FGIDiskStoreExisting(@TableName) + ' to ' + dbo.QBM_FGIDiskStoreTarget(@TableName\r\n) if @DebugSwitch > 0 begin print @message end select @Message = REPLACE(@Message, ' to move ', ' moved ') exec QBM_PJournal @Message, @@procid, 'I', @DebugLevel\r\n exec QBM_PTableReload @TableName, 0, @Genprocid = null , @DiskStoreMove = 1 end  endLabel: exec QBM_PSingleUserRelease return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PTableReindex",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.59",
      "ModifyDate": "2026-04-14T23:14:10.263",
      "Definition": " create   procedure QBM_PTableReindex (@Tablename varchar(30)) as begin declare @cmd nvarchar(max) declare @RebuildOptions nvarchar(max) SET XACT_ABORT\r\n OFF BEGIN TRY exec QBM_PGIDBServerIndexRebuildOpt @Tablename, @RebuildOptions output, @AllowPageLock = 0 select @cmd = concat( 'ALTER INDEX ALL ON ' ,\r\n @tablename, @RebuildOptions )  exec sp_executesql @cmd END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PTableReload",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:24.36",
      "ModifyDate": "2026-04-14T23:20:27.27",
      "Definition": "       create   procedure QBM_PTableReload (@TableName varchar(38) , @WithReplace bit  , @Genprocid varchar(38) = null , @DiskStoreMove bit = 0 \r\n ) as begin declare @TableName_old varchar(30) = left('T'+ replace(newid(), '-', ''), 30) declare @SQLCmd nvarchar(max) declare @CreateCmd nvarchar(max\r\n) declare @InsertCmd nvarchar(max) declare @IndexesAndTriggers QBM_YCursorBuffer     declare @CodeType char(1) declare @CodeName varchar(30) declare @i\r\n int declare @CountIndexesAndTriggers int declare @DebugSwitch int = 0 declare @DebugLevel char(1) = 'W' declare @Debugmessage nvarchar(1000) declare @Productionlevel\r\n int SET XACT_ABORT OFF BEGIN TRY if @Genprocid is null begin select @Genprocid = NEWID() end if exists (select top 1 1 from sys.views v where v.name =\r\n 'QBM_VTablesReloadAble' ) begin if not exists (select top 1 1 from QBM_VTablesReloadAble v where v.TableName = @TableName ) begin goto endLabel end end\r\n if  @DiskStoreMove = 0 begin if @TableName in ( select v.TableName from QBM_VHeavyLoadTables v where v.IsNoReload = 1 ) begin goto endLabel end end  select\r\n top 1 @Productionlevel = db.ProductionLevel from DialogDatabase db with (readpast) where db.IsMainDatabase = 1 if @Productionlevel > 1 and @WithReplace\r\n = 1  begin raiserror('#LDS#Replacement is not permitted in production environment|', 18, 1) with nowait goto EndLabel end if @DiskStoreMove = 0 and dbo.QBM_FGIDiskStoreExisting\r\n(@TableName) <> dbo.QBM_FGIDiskStoreTarget(@TableName) begin goto endlabel end if @DiskStoreMove = 1 and @TableName in (select TableName from QBM_VStartupTables\r\n union select 'QBMDiskStoreLogical' union select 'QBMDiskStorePhysical' ) begin  goto endLabel end begin transaction  insert into @IndexesAndTriggers(ContentFull\r\n,Ident1 , Ident2 ) select dbo.QBM_FSQIndexDef_i (t.name, i.name, 1), 'I', left(i.name, 30) from sys.tables t join sys.indexes i on t.object_id = i.object_id\r\n where t.name = @TableName and i.is_primary_key = 0 and i.is_hypothetical = 0  and i.type not in (3,4,5,6) select @CountIndexesAndTriggers = @@ROWCOUNT\r\n    insert into @IndexesAndTriggers(ContentFull, Ident1 , Ident2 ) select m.definition, 'T', left(tr.name, 30) from sys.tables t join sys.triggers tr on\r\n t.object_id = tr.parent_id join sys.sql_modules m on m.object_id = tr.object_id where t.name = @TableName  and tr.name not like 'GEN[_]%'  and tr.name\r\n != 'QBM_TUIndicator474488' select @CountIndexesAndTriggers += @@ROWCOUNT  insert into @IndexesAndTriggers(ContentFull, Ident1 , Ident2 ) select f.SourceCode\r\n, f.ObjectType, f.ObjectName from dbo.QBM_FTSchemaDependencies(@TableName, 1) f where f.ObjectType in ('F', 'V') select @CountIndexesAndTriggers += @@ROWCOUNT\r\n select @i = 1 while @i <= @CountIndexesAndTriggers begin select top 1 @CodeType = i.Ident1  , @CodeName = i.Ident2  from @IndexesAndTriggers i where i.ElementIndex\r\n = @i if @CodeType = 'F' begin if @DebugSwitch > 0 begin print 'dropping funct ' + @CodeName end  exec QBM_PFunctionDrop @CodeName end if @CodeType = 'V'\r\n begin if @DebugSwitch > 0 begin print 'dropping view  ' + @CodeName end exec QBM_PViewDrop @CodeName end select @i += 1 end    exec QBM_PTriggerDrop '%'\r\n, @TableName , @CustomTriggerAlso = 1 exec QBM_PConstraintFKDrop @TableName , '%', '%' exec QBM_PConstraintFKDrop '%', '%', @TableName  select @CreateCmd\r\n = dbo.QBM_FSQTableDef(@TableName ) select @InsertCmd = 'Insert into ' + @TableName + '\r\n\t\t\t\t(\r\n\t\t' + dbo.QBM_FCVStringToIndent( dbo.QBM_FSQColumnList(@TableName\r\n , 0, 1), 4) + '\r\n\t\t\t\t) \r\n\t\tselect \r\n\t\t' + dbo.QBM_FCVStringToIndent( dbo.QBM_FSQColumnList(@TableName , @WithReplace, 1), 4) + '\r\n\t\tfrom ' + @TableName_old\r\n if @DebugSwitch > 0 begin print 'TableName ' + isnull(@TableName, '#') print '@TableName_old ' + isnull(@TableName_old, '#') end  exec sp_rename @TableName\r\n , @TableName_old, 'object' if @DebugSwitch > 0 begin print @CreateCmd end exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @CreateCmd , @LockTimeout_ms\r\n = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@PROCID , @HandleErrorSilent = 0  if @DebugSwitch > 0 begin print @Insertcmd end exec\r\n QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @insertcmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@PROCID ,\r\n @HandleErrorSilent = 0 if @DebugSwitch > 0 begin select i.ElementIndex, i.Ident2  from @IndexesAndTriggers i end  select @i = 1 while @i <= @CountIndexesAndTriggers\r\n begin select top 1 @SQLCmd = i.ContentFull , @CodeType = i.Ident1  , @CodeName = i.Ident2  from @IndexesAndTriggers i where i.ElementIndex = @i if @DebugSwitch\r\n > 0 begin print @CodeType + ' ' + @Codename end if @CodeType = 'T' begin   exec sp_executesql @sqlcmd end if @CodeType = 'I' begin exec sp_executesql \r\n@sqlcmd end if @CodeType = 'F' begin exec sp_executesql @sqlcmd end if @CodeType = 'V' begin exec sp_executesql @sqlcmd end select @i += 1 end   select\r\n @SQLCmd = 'drop table ' + @TableName_old if @DebugSwitch > 0 begin print @SQLCmd end exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @sqlcmd , @LockTimeout_ms\r\n = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@PROCID , @HandleErrorSilent = 0 select @Debugmessage = 'reload table ' + @TableName\r\n exec QBM_PJournal @debugmessage, @@procid, 'D', @DebugLevel commit transaction  exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate' , 'QBM-K-MakeConstraint'\r\n, '', @Genprocid exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate' , 'QBM-K-CommonMakeRITrigger', '', @Genprocid exec QBM_PDBQueueInsert_Single \r\n'QBM-K-CommonMakeWatchtrigger', @TableName , '', @Genprocid exec QBM_PDBQueueInsert_Single 'QBM-K-SetRowLockOnly', '', '', @Genprocid exec QBM_PDBQueueInsert_Single\r\n 'QBM-K-CommonReCalculate' , 'QBM-K-CommonRebuildView', '', @Genprocid END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default rollback transaction RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PTableRevisionFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.83",
      "ModifyDate": "2026-04-14T23:20:26.627",
      "Definition": "   create   procedure QBM_PTableRevisionFill as begin declare @dbid int = DB_ID() SET XACT_ABORT OFF BEGIN TRY merge into QBMTableRevision as t \r\nusing ( select distinct dt.TableName from QBM_VTablesForRevision dt where dt.IsForQBMTableRevision = 1 and dbo.QBM_FGIConfigparmValue('Common\\TableRevision'\r\n) > ' ' ) as s on t.TableName = s.TableName and t.ServerProcess = 0 when not matched by source and t.serverprocess = 0 then delete when not matched by \r\ntarget then insert ( TableName ) values ( s.Tablename ) ;  update QBMTableRevision set ServerProcess = -1 from QBMTableRevision r with (readpast) left \r\nouter join sys.sysprocesses p on r.ServerProcess = p.spid and p.dbid = @dbid where p.spid is null and r.ServerProcess > 0 update QBMTableRevision set RevisionDate\r\n = a.maxRevisionDate from QBMTableRevision u join ( select r.TableName, MAX(r.RevisionDate) as maxRevisionDate from QBMTableRevision r with (readpast) \r\nwhere r.ServerProcess <= 0 and r.RevisionDate > ' ' group by r.TableName ) as a on u.TableName = a.TableName and u.ServerProcess = 0 waitfor delay '00:00:02'\r\n delete QBMTableRevision where ServerProcess = -1 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PTableRevisionSetMulti",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.847",
      "ModifyDate": "2026-04-14T23:20:26.647",
      "Definition": "create   procedure QBM_PTableRevisionSetMulti (@TableNamesForRevision QBM_YParameterList readonly ) as begin declare @Debugswitch int = 0 declare\r\n @SQLCmd nvarchar(max) declare @TableNamesString varchar(max) SET XACT_ABORT OFF BEGIN TRY set nocount on if not exists (select top 1 1 from @TableNamesForRevision\r\n ) begin goto endlabel end select @TableNamesString = STRING_AGG( t.Parameter1 , ',') from @TableNamesForRevision t exec QBM_PTableRevisionSetMulti_i @TableNamesString\r\n END TRY BEGIN CATCH   END CATCH endLabel: if @DebugSwitch > 0 begin print 'bin heil raus' end return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PTableRevisionSetMulti_i",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.843",
      "ModifyDate": "2026-04-14T23:20:26.64",
      "Definition": "     create   procedure QBM_PTableRevisionSetMulti_i (  @TableNamesString varchar(max)  ) as begin declare @ServerProcess int = @@spid declare @JustNow\r\n datetime = getutcdate()  declare @DebugSwitch int = 0 declare @TableNamesForRevision QBM_YParameterList declare @CurrentDeadlock_priority int SET XACT_ABORT\r\n OFF BEGIN TRY                 insert into @TableNamesForRevision(Parameter1) select s.value from string_split(@TableNamesString, ',') as s select top \r\n1 @CurrentDeadlock_priority = s.deadlock_priority FROM sys.dm_exec_sessions s where s.session_id = @@spid set deadlock_priority low  set lock_timeout 50\r\n  declare @TablesAndTimes QBM_YCursorBuffer    insert into @TablesAndTimes (Ident1,DateTime1, Bit1) select r.Parameter1  , dt.RevisionDate, case when dt.RevisionDate\r\n is null then 0 when dt.RevisionDate < DATEADD(SS, -10 , @JustNow) then 1 else 0 end from @TableNamesForRevision r left outer join QBMTableRevision dt \r\nwith (nolock) on dt.TableName = r.Parameter1 and dt.ServerProcess = @ServerProcess if @DebugSwitch > 0 begin select Ident1,DateTime1, Bit1 from @TablesAndTimes\r\n end if exists (select top 1 1 from @TablesAndTimes t where t.DateTime1  is null ) begin  if @DebugSwitch > 0 begin print 'insert machen' end insert into\r\n QBMTableRevision(TableName, RevisionDate, ServerProcess ) select t.Ident1, @JustNow, @ServerProcess from @TablesAndTimes t where t.DateTime1 is null and\r\n not exists (select top 1 1 from QBMTableRevision e with (readpast) where e.TableName = t.Ident1 and e.ServerProcess = @ServerProcess ) end if exists (select\r\n top 1 1 from @TablesAndTimes t where t.Bit1 = 1 ) begin  if @DebugSwitch > 0 begin print 'update  machen' end update QBMTableRevision set RevisionDate\r\n = @JustNow from QBMTableRevision r join @TablesAndTimes t on r.TableName = t.Ident1 and r.ServerProcess = @ServerProcess where t.Bit1 = 1  and not exists\r\n (select top 1 1 from QBMTableRevision e with (nolock) where e.TableName = t.Ident1 and e.RevisionDate > DATEADD(SS, -10 , @JustNow) ) if @DebugSwitch \r\n> 0 begin select * from QBMTableRevision r join @TablesAndTimes t on r.TableName = t.Ident1 and r.ServerProcess = @ServerProcess end end  END TRY BEGIN\r\n CATCH   END CATCH endLabel: set deadlock_priority @CurrentDeadlock_priority set lock_timeout -1 return  end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PTableStatistics",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.48",
      "ModifyDate": "2026-04-14T23:20:29.14",
      "Definition": "       create   procedure QBM_PTableStatistics (@TableName varchar(38) , @GenProcID varchar(38) ) as begin declare @SQLCmd nvarchar(max) declare\r\n @ColumnName varchar(30) declare @SizeMB float declare @CountItems int declare @SQLDeclare nvarchar(max) declare @SQLSelect nvarchar(max) declare @SQLUpdate\r\n nvarchar(max) declare @id int declare @DebugSwitch int = 0 declare @UID_DialogTable varchar(38)   declare @columnNames QBM_YCursorBuffer declare @ColumnDatatype\r\n varchar(30) declare @UID_DialogColumn varchar(38) declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @ElementCount int declare @ElementIndex\r\n int declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY select @SQLDeclare = N'' select\r\n @SQLSelect = N'' select @SQLUpdate = N'' select top 1 @UID_DialogTable = UID_DialogTable from DialogTable with (readpast) where TableName = @TableName\r\n  if 'READ' = ( select top 1 usagetype from dialogtable with (readpast) where TableName = @TableName ) begin if @DebugSwitch > 0 begin Print 'UsageType ''READ'' found'\r\n end exec QBM_PSessionContextSet 'GenProcID', @GenProcID update dialogtable set SizeMB = 0.0, CountRows = 0, BaseRecordLen = 0   , XDateUpdated = @Xdate\r\n , XUserUpdated = @XUser where TableName = @TableName and ( isnull(SizeMB, 0.0) <> 0.0 OR isnull(CountRows, 0) = 0 OR isnull(BaseRecordLen, 0) = 0 ) exec\r\n QBM_PSessionContextSet 'GenProcID', @GenProcID update dialogcolumn set AVGDataLenByte = 0  , XDateUpdated = @Xdate , XUserUpdated = @XUser where UID_DialogTable\r\n = @UID_DialogTable and isnull(AVGDataLenByte,0) <> 0 goto ende end if not exists (select top 1 1 from sys.tables where name = @TableName ) begin if @DebugSwitch\r\n > 0 begin Print 'table not found in sys.tables' end goto ende end select @CountItems = dbo.QBM_FGITableCountAll(@TableName ) exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID update dialogtable set CountRows = @CountItems where UID_DialogTable = @UID_DialogTable and isnull(countRows,0) <> @CountItems\r\n  select @id = null select @id = o.object_id from sys.tables o where o.name = @TableName if @id is not null  begin if @DebugSwitch > 0 begin Print 'table found in sys.objects'\r\n end select @SizeMB = dbo.QBM_FGITableSizeMB(@TableName, 1) exec QBM_PSessionContextSet 'GenProcID', @GenProcID update dialogtable set SizeMB = @SizeMB\r\n where UID_DialogTable = @UID_DialogTable and isnull(sizeMB, 0.0) <> @SizeMB end if @DebugSwitch > 0 begin print convert(nvarchar(64), GETUTCDATE(), 121\r\n) + '  4' end  select top 1 @CountItems = s.avg_record_size_in_bytes from sys.dm_db_index_physical_stats(db_id(), @id, null, null, 'SAMPLED') s where s.alloc_unit_type_desc\r\n = 'IN_ROW_DATA' and s.index_type_desc = 'CLUSTERED INDEX'  select @CountItems = isnull(@CountItems, 0) exec QBM_PSessionContextSet 'GenProcID', @GenProcID\r\n update dialogTable set BaseRecordLen = @CountItems where UID_DialogTable = @UID_DialogTable and isnull(BaseRecordLen, 0) <> @CountItems if @DebugSwitch\r\n > 0 begin print convert(nvarchar(64), GETUTCDATE(), 121) + '  5' end  if not exists ( select top 1 1 from sys.objects o left outer join sys.dm_db_index_usage_stats\r\n s on s.object_id = o.object_id where o.name = @TableName and isnull(s.last_user_update, getutcdate()) > dateadd(hh, -48, GetUTCDate()) ) begin goto ende\r\n end insert into @columnNames(UID1  , UID2  , UID3 ) select c.columnname , c.SchemaDataType, c.UID_DialogColumn from dialogColumn c with (readpast) join\r\n QBM_VSchemaColumns ic on c.UID_DialogTable = @UID_DialogTable and ic.table_name = @TableName and c.columnname = ic.column_name where c.UID_DialogTable\r\n = @UID_DialogTable select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @columnname = bu.UID1\r\n , @ColumnDataType = bu.UID2 , @uid_DialogColumn = bu.UID3 from @columnNames bu where bu.ElementIndex = @ElementIndex if @DebugSwitch > 0 begin print nchar\r\n(9) + @columnname end select @SQLDeclare = @SQLDeclare + N'\r\n\t\tdeclare @' + @columnname + ' int' + case @ColumnDataType when 'int' then ' = 4' when 'bigint'\r\n then ' = 8' when 'datetime' then ' = 8' when 'float' then ' = 8' when 'bit' then ' = 1' else '' end if @ColumnDatatype not in ('int', 'bigint', 'datetime'\r\n, 'float', 'bit') begin if @SQLSelect > N'' begin select @SQLSelect = @SQLSelect + nchar(13) + nchar(10) + N',' end select @SQLSelect = @SQLSelect + N'\t@'\r\n + @Columnname + ' = convert(int, round(avg(convert(float, isnull(datalength(' + @columnname + N'), 0))) , 0))' end select @SQLupdate = @SQLUpdate + N'\r\n\t\tif exists (select top 1 1\r\n\t\t\t\t\tfrom dialogcolumn c\r\n\t\t\t\t\twhere isnull(AVGDataLenByte, 0) <> @'\r\n + @columnname + ' \r\n\t\t\t\t\tand UID_DialogColumn = ''' + @UID_DialogColumn + N'''\r\n\t\t\t\t\t)\r\n\t\t begin\r\n\t\t\tupdate dialogColumn set AVGDataLenByte = @' + @Columnname\r\n + N'\r\n\t\t\t\t\twhere isnull(AVGDataLenByte, 0) <> @' + @columnname + ' \r\n\t\t\t\t\t\tand UID_DialogColumn = ''' + @UID_DialogColumn + N'''\r\n\t\t end\r\n\t\t' if @DebugSwitch\r\n > 0 begin print @SQLcmd end  select @ElementIndex += 1 end  if @DebugSwitch > 0 begin print convert(nvarchar(64), GETUTCDATE(), 121) + '  6' end if @SQLDeclare\r\n > ' ' begin select @SQLCmd = concat( @SQLDeclare , case when @SQLSelect > ' ' then concat( nchar(13), nchar(10), ' select ', @SQLSelect , ' from ' , @TableName\r\n , nchar(13), nchar(10)) else ' ' end , @SQLUpdate ) if @DebugSwitch > 0 begin select @SQLCmd = @SQLCmd + '\r\n\t\t print convert(nvarchar(64), GETUTCDATE(), 121) + ''  select fertig'''\r\n end end  exec QBM_PSessionContextSet 'GenProcID', @GenProcID if @DebugSwitch > 0 begin print @SQLcmd end exec sp_executeSQL @SQLCmd if @DebugSwitch > \r\n0 begin print convert(nvarchar(64), GETUTCDATE(), 121) + '  7' end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT\r\n END CATCH  ende: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PTDialogScheduleReferences",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.717",
      "ModifyDate": "2026-04-14T23:20:24.653",
      "Definition": "    create   procedure QBM_PTDialogScheduleReferences (@UID_DialogSchedule varchar(38) ) as begin declare @Cmd nvarchar(max) = '' declare @DebugSwitch\r\n int = 0 SET XACT_ABORT OFF BEGIN TRY select @cmd = string_agg(convert(nvarchar(max), case r.IsMNRelation when 0 then N'select ''' + r.ChildTable + ''' as ReferencedTable, '''\r\n + r.ChildColumn + ''' as ReferencedColumn \r\n\t\t\t\t, x.XObjectKey as ReferencedElement\r\n\t\t\t\tfrom ' + r.ChildTable + '  x\r\n\t\t\t\twhere ' + r.ChildColumn + ' = '''\r\n + @UID_DialogSchedule + '''\r\n\t\t\t' else N'select ''' + r.ChildTable + ''' as ReferencedTable, ''' + r.ChildColumn + ''' as ReferencedColumn \r\n\t\t\t\t, y.XObjectKey as ReferencedElement\r\n\t\t\t\tfrom '\r\n + r.childtable + ' x join ' + mn.Parenttable + ' y on x.' + mn.childcolumn + '  = y.' + mn.parentcolumn + '\r\n\t\t\t\twhere ' + r.ChildColumn + ' = ''' + @UID_DialogSchedule\r\n + '''\r\n\t\t\t' end )  , concat(N'\t\t\tunion all ', nchar(13), nchar(10)) )  from QBM_VQBMRelation r left outer join QBM_VQBMRelation mn on r.UID_QBMRelationMN\r\n = mn.UID_QBMRelation where r.ParentTable = 'DialogSchedule' if @DebugSwitch > 0 begin print @cmd end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: exec sp_executesql @cmd \r\nend \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PTElementsReferenced_I",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.693",
      "ModifyDate": "2026-04-14T23:20:24.62",
      "Definition": "  create   procedure QBM_PTElementsReferenced_I (@StartElements QBM_YParameterList readonly  , @SameModule bit = 1 , @TopDown bit = 1   , @ExcludeDS\r\n bit = 0  ) as begin declare @Lauf int declare @SQLCmdInsert nvarchar(max) declare @SQLCmdUpdate nvarchar(max) declare @SQLCmdPre nvarchar(max) declare\r\n @IsPreprocessing bit = 1 declare @Message nvarchar(1000) declare @SortOrder int = 0 declare @DebugSwitch int = 0 declare @ModuleName varchar(3) declare\r\n @ElementLast int declare @ElementBufferMulti table ( ElementIndex int identity primary key nonclustered , SQLCmdInsert nvarchar(max) collate database_default\r\n , SQLCmdUpdate nvarchar(max) collate database_default , SQLCmdPre nvarchar(max) collate database_default ) declare @ElementCount int declare @ElementIndex\r\n int SET XACT_ABORT OFF BEGIN TRY set nocount on select top 1 @ModuleName = left(t.UID_DialogTable, 3) from @StartElements x join DialogTable t  on x.Parameter1\r\n like '<Key><T>' + t.TableName + '</T>%' if object_id(N'tempdb..#QBMCollectorReferenceElements') is null begin select @Message = '#LDS#Worktable #QBMCollectorReferenceElements missing|'\r\n raiserror (@message, 18, 1) with nowait end truncate table #QBMCollectorReferenceElements insert into #QBMCollectorReferenceElements(TableName, Objectkey\r\n, XMarkedForDeletion, SortOrder, IsInsertRestrict, IsDeleteRestrict) select t.TableName, e.Parameter1, null , 0,0,0 from @StartElements e join DialogTable\r\n t on e.Parameter1 like '<Key><T>' + t.TableName + '</T>%' join DialogColumn c1 on t.UID_DialogTable = c1.UID_DialogTable and c1.ColumnName = 'XObjectKey'\r\n join DialogColumn c2 on t.UID_DialogTable = c2.UID_DialogTable and c2.ColumnName = 'XMarkedForDeletion' while exists (select top 1 1 from #QBMCollectorReferenceElements\r\n re where re.XMarkedForDeletion is null ) begin select top 1 @SQLCmdUpdate = '\r\n\t\tupdate  #QBMCollectorReferenceElements \r\n\t\t\tset XMarkedForDeletion = isnull(s.XmarkedFordeletion, 0)\r\n\t\t\tfrom #QBMCollectorReferenceElements re left outer join '\r\n + e.TableName + ' s on re.ObjectKey = s.XObjectKey\r\n\t\t\twhere re.TableName = ''' + e.TableName + '''' from #QBMCollectorReferenceElements e where e.XmarkedFordeletion\r\n is null if @DebugSwitch > 0 begin print @SQLCmdupdate end exec sp_executesql @SQLCmdUpdate end if @DebugSwitch > 0 begin select * from #QBMCollectorReferenceElements\r\n order by SortOrder end select @Lauf = 1 while @Lauf > 0 begin select @Lauf = 0 if @TopDown = 1 begin delete  @ElementBufferMulti  insert into @ElementBufferMulti\r\n (SQLCmdInsert, SQLCmdUpdate, SQLCmdPre) select distinct 'select ''' + rq.ChildTable + ''', y.XObjectKey, ' +  case when rq.XIsInEffectColumn > ' ' then\r\n ' (y.XMarkedForDeletion | (x.XMarkedForDeletion * ( 1 ^ y.XIsInEffect)))  ' else 'y.XMarkedForDeletion ' end + ', %SortOrder%, ' + rq.IsInsertRestrict+\r\n ', ' + rq.IsDeleteRestrict + '\r\n\t\t\tfrom ' + rq.ParentTable + ' x join #QBMCollectorReferenceElements w on x.XObjectKey = w.Objectkey\r\n\t\t\t\t\t\tjoin ' + rq.ChildTable\r\n + ' y on x.' + rq.ParentColumn + ' = y.' + rq.ChildColumn + '\r\n\t\t\twhere Not exists (select top 1 1\r\n\t\t\t\t\t\t\t\tfrom #QBMCollectorReferenceElements e\r\n\t\t\t\t\t\t\t\twhere e.Objectkey = y.XObjectKey\r\n\t\t\t\t\t\t\t)\r\n\t\t'\r\n , 'update  #QBMCollectorReferenceElements\r\n\t\t\tset SortOrder = %SortOrder%\r\n\t\t\t, IsInsertRestrict = ' + rq.IsInsertRestrict+ '\r\n\t\t\t, IsDeleteRestrict = '\r\n + rq.IsDeleteRestrict + '\r\n\t\t\tfrom ' + rq.childTable + ' x join #QBMCollectorReferenceElements w on x.XObjectKey = w.Objectkey\r\n\t\t\t\t\t\tjoin ' + rq.parentTable\r\n + ' y on x.' + rq.childColumn + ' = y.' + rq.parentColumn + '\r\n\t\t\twhere exists (select top 1 1\r\n\t\t\t\t\t\t\t\tfrom #QBMCollectorReferenceElements e\r\n\t\t\t\t\t\t\t\twhere e.Objectkey = y.XObjectKey\r\n\t\t\t\t\t\t\t)\r\n\t\t\tand w.SortOrder = 0 -- was initial\r\n\t\t'\r\n , '\r\n\t\tupdate  #QBMCollectorReferenceElements\r\n\t\t\t\t\tset SortOrder =  e.SortOrder +1\r\n\t\t--\tselect w.objectkey, w.SortOrder, e.objectkey, e.SortOrder\r\n\t\t\t\t\tfrom '\r\n + rq.childTable + ' x join #QBMCollectorReferenceElements w on x.XObjectKey = w.Objectkey\r\n\t\t\t\t\t\t\t\tjoin ' + rq.parentTable + ' y on x.' + rq.childColumn\r\n + ' = y.' + rq.parentColumn + '\r\n\t\t\t\t\t\t\t\tjoin (select * \r\n\t\t\t\t\t\t\t\t\t\tfrom #QBMCollectorReferenceElements\r\n\t\t\t\t\t\t\t\t\t) as  e on e.Objectkey = y.XObjectKey\r\n\t\t\t\t\twhere w.SortOrder <=  e.SortOrder\r\n\t\t'\r\n from ( select r.ChildTable, r.ParentTable, r.ParentColumn, r.ChildColumn, cxi.ColumnName as XIsInEffectColumn , case r.ChildRestriction when 'IR' then\r\n '1' else '0' end as IsInsertRestrict , case r.ParentRestriction when 'DR' then '1' else '0' end as IsDeleteRestrict from QBM_VQBMRelation r join #QBMCollectorReferenceElements\r\n w on r.ParentTable = w.TableName join DialogTable t on r.UID_DialogTableChild = t.UID_DialogTable and t.TableType in ('T', 'V', 'M') left outer join DialogColumn\r\n cxi on cxi.UID_DialogTable = t.UID_DialogTable and cxi.ColumnName = 'XIsInEffect' where (LEFT(r.UID_DialogTableChild, 3) = @ModuleName or @SameModule \r\n= 0 ) and (r.ParentRestriction <> 'DS' or @ExcludeDS = 0 ) and exists (Select top 1 1 from DialogColumn c1 where r.UID_DialogTableChild = c1.UID_DialogTable\r\n and c1.ColumnName = 'XObjectKey' ) and exists (Select top 1 1 from DialogColumn c1 where r.UID_DialogTableChild = c1.UID_DialogTable and c1.ColumnName\r\n = 'XMarkedForDeletion' ) ) as rq  select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY\r\n end else  begin delete  @ElementBufferMulti  insert into @ElementBufferMulti (SQLCmdInsert, SQLCmdUpdate, SQLCmdPre) select distinct 'select distinct '''\r\n + rq.ParentTable + ''', y.XObjectKey, y.XMarkedForDeletion, %SortOrder%, ' + rq.IsInsertRestrict+ ', ' + rq.IsDeleteRestrict + '\r\n\t\t\tfrom ' + rq.ChildTable\r\n + ' x join #QBMCollectorReferenceElements w on x.XObjectKey = w.Objectkey\r\n\t\t\t\t\t\tjoin ' + rq.ParentTable + ' y on x.' + rq.ChildColumn + ' = y.' + rq.ParentColumn\r\n + '\r\n\t\t\twhere Not exists (select top 1 1\r\n\t\t\t\t\t\t\t\tfrom #QBMCollectorReferenceElements e\r\n\t\t\t\t\t\t\t\twhere e.Objectkey = y.XObjectKey\r\n\t\t\t\t\t\t\t)\r\n\t\t', 'update  #QBMCollectorReferenceElements\r\n\t\t\tset SortOrder = %SortOrder%\r\n\t\t\t, IsInsertRestrict = '\r\n + rq.IsInsertRestrict+ '\r\n\t\t\t, IsDeleteRestrict = ' + rq.IsDeleteRestrict + '\r\n\t\t\tfrom ' + rq.ParentTable + ' x join #QBMCollectorReferenceElements w on x.XObjectKey = w.Objectkey\r\n\t\t\t\t\t\tjoin '\r\n + rq.ChildTable + ' y on x.' + rq.ParentColumn + ' = y.' + rq.ChildColumn + '\r\n\t\t\twhere exists (select top 1 1\r\n\t\t\t\t\t\t\t\tfrom #QBMCollectorReferenceElements e\r\n\t\t\t\t\t\t\t\twhere e.Objectkey = y.XObjectKey\r\n\t\t\t\t\t\t\t)\r\n\t\t\tand w.SortOrder = 0 -- was initial\r\n\t\t'\r\n , '\r\n\t\tupdate  #QBMCollectorReferenceElements\r\n\t\t\t\t\tset SortOrder =  e.SortOrder +1\r\n\t\t\t\t\tfrom ' + rq.ParentTable + ' x join #QBMCollectorReferenceElements w on x.XObjectKey = w.Objectkey\r\n\t\t\t\t\t\tjoin '\r\n + rq.ChildTable + ' y on x.' + rq.ParentColumn + ' = y.' + rq.ChildColumn + '\r\n\t\t\t\t\t\t\t\tjoin (select * \r\n\t\t\t\t\t\t\t\t\t\tfrom #QBMCollectorReferenceElements\r\n\t\t\t\t\t\t\t\t\t) as  e on e.Objectkey = y.XObjectKey\r\n\t\t\t\t\tand w.SortOrder <= e.SortOrder\r\n\t\t'\r\n from ( select r.ChildTable, r.ParentTable, r.ParentColumn, r.ChildColumn , case r.ChildRestriction when 'IR' then '1' else '0' end as IsInsertRestrict\r\n , case r.ParentRestriction when 'DR' then '1' else '0' end as IsDeleteRestrict from QBM_VQBMRelation r join #QBMCollectorReferenceElements w on r.ChildTable\r\n = w.TableName join DialogTable t on r.UID_DialogTableParent = t.UID_DialogTable and t.TableType in ('T', 'V', 'M') where (LEFT(r.UID_DialogTableParent\r\n, 3) = @ModuleName or @SameModule = 0 ) and (r.ParentRestriction <> 'DS' or @ExcludeDS = 0 ) and exists (Select top 1 1 from DialogColumn c1 where r.UID_DialogTableParent\r\n = c1.UID_DialogTable and c1.ColumnName = 'XObjectKey' ) and exists (Select top 1 1 from DialogColumn c1 where r.UID_DialogTableParent = c1.UID_DialogTable\r\n and c1.ColumnName = 'XMarkedForDeletion' ) ) as rq  select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast\r\n = @@IDENTITY end while @ElementIndex <= @ElementLast begin if @IsPreprocessing = 1 begin select top 1 @SQLCmdPre = bu.SQLCmdPre from @ElementBufferMulti\r\n bu where bu.ElementIndex = @ElementIndex if @DebugSwitch > 0 begin print @SQLCmdpre end exec sp_executesql @SQLCmdPre select @Lauf += @@ROWCOUNT end  \r\nelse begin select top 1 @SQLCmdInsert = bu.SQLCmdInsert , @SQLCmdUpdate = bu.SQLCmdUpdate from @ElementBufferMulti bu where bu.ElementIndex = @ElementIndex\r\n select @SQLCmdInsert = REPLACE(@SQLCmdInsert, '%SortOrder%', str(@SortOrder)) select @SQLCmdUpdate = REPLACE(@SQLCmdUpdate, '%SortOrder%', str(@SortOrder\r\n)) if @DebugSwitch > 0 begin print @SQLCmdInsert print @SQLCmdUpdate end insert into #QBMCollectorReferenceElements(TableName, Objectkey, XMarkedForDeletion\r\n, SortOrder, IsInsertRestrict, IsDeleteRestrict) exec sp_executesql @SQLCmdInsert select @Lauf += @@ROWCOUNT exec sp_executesql @SQLCmdupdate select @Lauf\r\n += @@ROWCOUNT select @SortOrder += 1 end  select @ElementIndex += 1 end  if @DebugSwitch > 0 begin select * from #QBMCollectorReferenceElements order \r\nby SortOrder end if @Lauf = 0 and @IsPreprocessing = 1 begin select @IsPreprocessing = 0 select @Lauf = 1 select top 1 @SortOrder = max(e.SortOrder) +1\r\n from #QBMCollectorReferenceElements e end end  if @DebugSwitch > 0 begin print '############### sortierte Ausgabe ###############' select ObjectKey, SortOrder\r\n from #QBMCollectorReferenceElements order by 2,1 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel:  end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PTElementsReferenced_L",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.703",
      "ModifyDate": "2026-04-14T23:20:24.63",
      "Definition": "   create   procedure QBM_PTElementsReferenced_L (@StartElements QBM_YParameterList readonly , @SameModule bit = 1 , @TopDown bit = 1 , @ExcludeDS\r\n bit = 0 ) as begin SET XACT_ABORT OFF BEGIN TRY set nocount on drop table if exists #QBMCollectorReferenceElements create table #QBMCollectorReferenceElements\r\n (TableName varchar(30) collate database_default , Objectkey varchar(138) collate database_default , XMarkedForDeletion int , SortOrder int default 0 ,\r\n IsInsertRestrict bit default 0 , IsDeleteRestrict bit default 0 primary key (ObjectKey) ) exec QBM_PTElementsReferenced_I @StartElements, @SameModule,\r\n @TopDown, @ExcludeDS END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR\r\n (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel:   select * from #QBMCollectorReferenceElements end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PTElementsReferenced_S",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.71",
      "ModifyDate": "2026-04-14T23:20:24.643",
      "Definition": "   create   procedure QBM_PTElementsReferenced_S (@StartElement varchar(138) , @SameModule bit = 1 , @TopDown bit = 1 , @ExcludeDS bit = 0 ) as \r\nbegin declare @StartElements QBM_YParameterList SET XACT_ABORT OFF BEGIN TRY set nocount on drop table if exists #QBMCollectorReferenceElements create \r\ntable #QBMCollectorReferenceElements (TableName varchar(30) collate database_default , Objectkey varchar(138) collate database_default , XMarkedForDeletion\r\n int , SortOrder int default 0 , IsInsertRestrict bit default 0 , IsDeleteRestrict bit default 0 primary key (ObjectKey) ) insert into @StartElements(Parameter1\r\n) select @StartElement exec QBM_PTElementsReferenced_I @StartElements, @SameModule, @TopDown, @ExcludeDS END TRY BEGIN CATCH exec QBM_PSessionErrorAdd \r\ndefault declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel:   select * from #QBMCollectorReferenceElements\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PTempQueueEnd",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.507",
      "ModifyDate": "2026-04-14T23:16:09.173",
      "Definition": "create   procedure QBM_PTempQueueEnd as begin declare @TaskDefs QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @UID_Task\r\n varchar(38) declare @PondGroup varchar(38) SET XACT_ABORT OFF BEGIN TRY select @PondGroup = dbo.QBM_FGISessionContext('QBMDBQueuePond') if @PondGroup \r\n> ' ' begin insert into QBMDBQueuePond(UID_Task, Object, SubObject, GenProcID, PondGroup, InsertDate) select e.UID_Task, e.Object, e.SubObject, e.GenProcID\r\n, @PondGroup, GETUTCDATE() from #QBMDBQueueTemp e  exec QBM_PSessionContextSet 'INSERTEDINTODBQUEUE', '1' truncate table #QBMDBQueueTemp goto endLabel \r\nend insert into @TaskDefs (UID1 ) select x.UID_Task from ( select t.UID_Task as UID_Task, MAX(mo.PathLength) as PathLength from #QBMDBQueueTemp t join \r\nQBMDBQueueTaskMetric mo on t.UID_Task = mo.UID_Task group by t.UID_Task ) as x order by x.PathLength desc select @ElementCount = @@ROWCOUNT select @ElementIndex\r\n = 1     while @ElementIndex <= @ElementCount begin select top 1 @UID_Task = bu.UID1 from @TaskDefs bu where bu.ElementIndex = @ElementIndex exec QBM_P1B7262FC192C886D0EB9F74_\r\n @UID_Task select @ElementIndex += 1 end  truncate table #QBMDBQueueTemp END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH\r\n NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PTrafficLight",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.88",
      "ModifyDate": "2026-04-14T23:14:10.643",
      "Definition": "   create   procedure QBM_PTrafficLight ( @TrafficLight int output ) as begin declare @DebugSwitch int = 0 declare @v QBM_YParameterlist declare\r\n @SQLCmd nvarchar(max) declare @Comp QBM_YParameterlist SET XACT_ABORT OFF BEGIN TRY if not exists (select top 1 1 from sys.tables t with (readpast) join\r\n sys.columns c with (readpast) on t.object_id = c.object_id where t.name = 'DialogDatabase' and c.name = 'UpdatePhase' ) begin if @DebugSwitch > 0 begin\r\n print 'noch alter Stand' end goto endLabel end select @SQLCmd = '\r\nselect top 1 str(d.UpdatePhase)\r\n\tfrom DialogDatabase d with (readpast)\r\n\twhere d.IsMainDatabase = 1\r\n\t'\r\n insert into @v(Parameter1) exec sp_executesql @SQLCmd select top 1 @TrafficLight = dbo.QBM_FCVStringToInt(v.Parameter1, 0) from @v v if @TrafficLight \r\nin( 0, 4)  begin if @DebugSwitch > 0 begin print 'es ist grün, jedenfalls für mich' end goto endLabel end if @TrafficLight = 1  begin if @DebugSwitch >\r\n 0 begin print 'wir haben gelb' end  insert into @Comp(Parameter1, Parameter2) select r.TaskName, r.ComponentClass from QBM_VTrafficLightLongRunner r if\r\n exists (select top 1 1 from sys.objects o where o.name = 'JobPerformance' ) begin if @DebugSwitch > 0 begin print 'lesen auf Jobperformance' end select\r\n @SQLCmd = 'select left(p.TaskName,138), left(p.ComponentClass,138)\r\n\t\t\t\t\t\t\tfrom JobPerformance p\r\n\t\t\t\t\t\t\twhere p.ComponentClass <> ''VI.JobService.JobComponents.AutoUpdateComponent''  -- die haben wir mit %\r\n\t\t\t\t\t\t\tgroup by left(p.TaskName,138), left(p.ComponentClass,138)\r\n\t\t\t\t\t\t\thaving avg(p.CountPerMinute) < 11'\r\n insert into @Comp(Parameter1, Parameter2) exec sp_executesql @SQLCmd end else begin if @DebugSwitch > 0 begin print 'keine Jobperformance' end end if \r\n@DebugSwitch > 0 begin select c.Parameter1 as TaskName, c.Parameter2 as ComponentClass from @Comp c end if exists (select top 1 1 from Jobqueue o with \r\n(readpast) join  @Comp v on o.TaskName like v.Parameter1   and o.ComponentClass = v.Parameter2        where o.Ready2EXE in ( N'LOADED', N'PROCESSING') \r\n) begin  if @DebugSwitch > 0 begin print 'noch potentielle Langläufer unterwegs' end goto endLabel end else begin if @DebugSwitch > 0 begin print 'wir gehen auf orange'\r\n end select @TrafficLight = 2     goto endeMitUpdate  end end  if @TrafficLight = 2  begin if @DebugSwitch > 0 begin print 'wir haben orange' end if exists\r\n (select top 1 1 from JobQueue q with (readpast)    where q.Ready2EXE in ( N'LOADED', N'PROCESSING') )        begin if @DebugSwitch > 0 begin print 'jobqueue hat noch was'\r\n end goto endLabel end if exists (select top 1 1 from DialogDBQueue q with (readpast) where q.Generation <> 0  and q.Generation < 20 union all select top\r\n 1 1 from QBMDBQueueCurrent q with (readpast) where q.SlotNumber != 0 and q.Generation < 20 ) begin if @DebugSwitch > 0 begin print 'dbqueue hat noch was'\r\n end goto endLabel end if @DebugSwitch > 0 begin print 'warteschlangen leer' end select @TrafficLight = 3     goto endeMitUpdate end  if @TrafficLight \r\n= 3  begin if @DebugSwitch > 0 begin print 'wir haben rot' end  goto endLabel end endeMitUpdate: select @SQLCmd = CONCAT('\r\n\tupdate DialogDatabase \r\n\t\tset UpdatePhase = '\r\n , str(@TrafficLight), '\r\n\t\t, XDateUpdated = getutcdate(), XUserUpdated = ''', object_name(@@procid) , ''' \r\n\t\twhere IsMainDatabase = 1\r\n\t\tand UpdatePhase <> '\r\n , str(@TrafficLight), '\r\n\t\t') exec sp_executesql @SQLCmd END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel:  select @TrafficLight = isnull(@TrafficLight, 3)  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PTransactionLevelCheck",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.43",
      "ModifyDate": "2026-04-14T23:20:26.14",
      "Definition": "  create   procedure QBM_PTransactionLevelCheck (@ExpectedLevel int , @SourceProcedure int = 0 , @DebugComment nvarchar(1000) = N'' ) as begin declare\r\n @Message nvarchar(1000) declare @procname nvarchar(256) declare @DebugLevel char(1) = 'W' SET XACT_ABORT OFF BEGIN TRY if @@TRANCOUNT = ISNULL(@ExpectedLevel\r\n, 0) begin exec QBM_PJournal 'Level OK', @@PROCID, 'I', @DebugLevel goto endLabel end if @SourceProcedure = 0 begin select @Procname = object_name(@@procid\r\n) end else begin select @Procname = object_name(@SourceProcedure) end  select @Message = '#LDS#Expected transaction count {0} does not match existing {1}, called from {2}.|'\r\n + str(isnull(@ExpectedLevel, 0)) + '|' + str( @@TRANCOUNT) + '|' + @Procname + '|' if @DebugComment > ' ' begin select @Message = @Message + ', ' + @DebugComment\r\n end select @Message = @Message + ')' rollback transaction exec QBM_PJournal @Message, @@PROCID, 'E', @DebugLevel raiserror (@Message, 18, 1) with nowait\r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default if dbo.QBM_FGIsessionErrorIsMissingCO(default)= 0 begin rollback transaction declare @Rethrow varchar\r\n(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT end END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PTransportHistoryInsert",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.417",
      "ModifyDate": "2026-04-14T23:20:26.117",
      "Definition": "    create   procedure QBM_PTransportHistoryInsert ( @Module varchar(3) , @XUser nvarchar(64) = null ) as begin SET XACT_ABORT OFF BEGIN TRY declare\r\n @Xdate datetime = getutcdate() if @XUser is null begin select @XUser = OBJECT_NAME(@@procid) end insert into QBMTransportHistory ( UID_QBMTransportHistory\r\n , XDateInserted , HistoryType , Description , MigrationVersion , Module , ItemsSelectedByUser , XUserInserted , XUserUpdated , XDateUpdated , TransportFileDate\r\n, TransportFileName , SourceDatabase , XTouched , XObjectKey ) select w.UID_QBMTransportHistory , @Xdate , 'Migration' as HistoryType, Description , MigrationVersion\r\n , Module , 0 as ItemsSelectedByUser , @XUser , @XUser , @Xdate, null as TransportFileDate , null as TransportFileName , null as SourceDatabase , '' , \r\ndbo.QBM_FCVElementToObjectKey1('QBMTransportHistory', 'UID_QBMTransportHistory', UID_QBMTransportHistory) from ( select NEWID() as UID_QBMTransportHistory\r\n , x.DisplayValue as Description , x.MigrationVersion as MigrationVersion , x.ModuleName as Module from ( select * from QBMModuleDef m where m.ModuleName\r\n = @Module ) as x ) as w END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR\r\n (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PTriggerDisable",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.53",
      "ModifyDate": "2026-04-14T23:14:10.113",
      "Definition": "   create   procedure QBM_PTriggerDisable (@TablePattern nvarchar(64)= '%' ,@TriggerPattern nvarchar(64) = '%' ,@UseTriggerPatternForNotLike bit\r\n = 0 ) as begin declare @musterTrigger nvarchar(1024) declare @SQLcmd nvarchar(max) declare @TabAktuell nvarchar(64) declare @TableType varchar(16) declare\r\n @Triggername nvarchar(64)    declare @elements QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @JournalMessage nvarchar(1000\r\n) declare @DebugSwitch int = 0 declare @DebugLevel varchar(1) = 'I' declare @MessageType varchar(1) = 'W' declare @CountElementsChanged int = 0 SET XACT_ABORT\r\n OFF BEGIN TRY set nocount on select @musterTrigger = N'alter %type% \"%table%\" disable trigger %triggername% ' insert into @elements(LongIdent1, Ident2\r\n, LongIdent2) select distinct o.name , case o.type when 'U' then 'Table'  else '' end as TableType , case @TriggerPattern when '%' then 'all' else '\"' \r\n+ t.name + '\"' end as Triggername from sys.tables o join sys.triggers t on o.object_id = t.parent_id  join sys.schemas s on o.schema_id = s.schema_id where\r\n o.type in( 'U'  ) and o.is_memory_optimized = 0 and o.name like @TablePattern and s.name = 'dbo' and t.is_disabled = 0 and t.name != 'QBM_TUIndicator474488'\r\n and ( @UseTriggerPatternForNotLike = 0 and t.name like @TriggerPattern or @UseTriggerPatternForNotLike = 1 and t.name not like @TriggerPattern )  and \r\nnot (@TablePattern = '%' and @TriggerPattern = '%' and t.name = 'QBM_TIQBMGuidReplace' ) order by 1 select @ElementCount = @@ROWCOUNT  if @ElementCount\r\n > 0 begin exec QBM_PIndicatorChange 0 end select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @TabAktuell = bu.LongIdent1\r\n , @TableType = bu.Ident2 , @TriggerName = bu.LongIdent2 from @elements bu where bu.ElementIndex = @ElementIndex select @SQLcmd = replace(replace(replace\r\n(@musterTrigger , '%table%', @TabAktuell) , '%type%', @TableType) , '%triggername%', @Triggername) if @DebugSwitch > 0 begin print @SQLcmd end  exec QBM_PExecuteSQLWithRetry_LLP\r\n @SQLStatement = @SQLcmd , @LockTimeout_ms = 2500  , @MaxWaitTimeForLock_s = 10  , @ProcIDForJournal = @@procid , @HandleErrorSilent = 0  , @ExecuteWithTransact\r\n = 0 select @CountElementsChanged += 1 select @ElementIndex += 1 end  if @CountElementsChanged > 0 and exists (select top 1 1 from sys.objects o where \r\no.name = 'QBM_PJournal' and type = 'P' ) begin select @JournalMessage = '#LDS#System elements modified by {0}, pattern {1}, elements affected {2}.|' + \r\nisnull(OBJECT_NAME(@@procid), '') + '|' + @TablePattern + '|' + dbo.QBM_FCVIntToString(@CountElementsChanged) + '|'  if not exists (select top 1 1 from\r\n DialogDatabase where IsMainDatabase = 1 and UpdatePhase <> 0) and not exists (select top 1 1 from sys.tables t with (readpast) join sys.columns c with\r\n (readpast) on t.object_id = c.object_id where t.name = 'DialogDatabase' and c.name = 'InitialMigrationRunning' ) begin exec QBM_PJournal @JournalMessage\r\n, @@procid, @MessageType, @DebugLevel, 20 end else begin  exec QBM_PJournal @JournalMessage, @@procid, 'I', 'I' end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel:  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PTriggerDrop",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.483",
      "ModifyDate": "2026-04-14T23:14:10.027",
      "Definition": "   create   procedure QBM_PTriggerDrop (@pattern nvarchar(255) , @TablePattern nvarchar(256) = '%' , @force bit = 0  , @CustomTriggerAlso bit = \r\n0 )  as begin  declare @SQLcmd nvarchar(max) DECLARE @triggername varchar(64) declare @ownerName nvarchar(64) declare @TableName varchar(64)     declare\r\n @elementsToDrop  table (ElementIndex int identity , Int1 int default 0 , ContentShort nvarchar(400) collate database_default , LongIdent1 nvarchar(256\r\n) collate database_default , LongIdent2 nvarchar(256) collate database_default , ContentFull nvarchar(max) collate database_default , Ident1 varchar(64\r\n) collate database_default , Ident3 varchar(64) collate database_default ) declare @ElementCount int declare @ElementIndex int declare @DebugSwitch int\r\n = 0 declare @JournalMessage nvarchar(1000) declare @DebugLevel varchar(1) = 'I' declare @MessageType varchar(1) = 'W' declare @LengthMessage nvarchar(256\r\n) = '#LDS#Name of Element {0} is too long (30).|' declare @CountElementsChanged int = 0 declare @CommentCode bit = 0 SET XACT_ABORT OFF BEGIN TRY if @pattern\r\n not like '%[%]%' and @TablePattern = '%' and @force = 0 and @CustomTriggerAlso = 0 begin if exists (select top 1 1 from sys.triggers tr where tr.name \r\n= @pattern and tr.name != 'QBM_TUIndicator474488' ) begin select @SQLcmd = CONCAT('drop trigger if exists ', @pattern) exec sp_executesql @SQLCmd if @pattern\r\n not like 'GEN[_]%' begin select @CountElementsChanged = 1 end end  goto verarbeitet end if @@NESTLEVEL < 2  begin if exists (select top 1 1 from sys.tables\r\n t where t.name = 'QBMModuleDef' ) begin if exists (select top 1 1 from QBMModuleDef d where d.UID_ModuleDef = 'MDK-Moduledefinition' ) and exists (select\r\n top 1 1 from information_schema.routines r where r.ROUTINE_type = N'function' and r.ROUTINE_NAME = 'QBM_FSQObjectComment' ) begin select @CommentCode \r\n= 1   end end end  select @SQLcmd = '\r\n\t\tselect t.name, tr.name, o.name\r\n\t\tfrom sys.triggers tr with (readpast) join sys.objects t with (readpast) on tr.parent_id = t.object_id\r\n\t\t\t\t\t\t\tjoin sys.schemas o with (readpast) on t.schema_id = o.schema_id \r\n\t\t\t\t\t\t\t\t\t\t\t\tand dbo.QBM_FGIObjectIsDropable (o.schema_id)=1\r\n\t\t\t\t\t\t\t\t\t\t\t\tand o.name = ''dbo''\r\n\t\twhere tr.name like '''\r\n + @pattern + '''\r\n\t\t\tand t.name like ''' + @TablePattern + '''\r\n\t\t\tand tr.name != ''QBM_TUIndicator474488''\r\n\t\t' if @CustomTriggerAlso = 0 begin select\r\n @SQLcmd = @SQLcmd + '\r\n\t\t\tand tr.name not like ''CCC[_]%''\r\n\t\t\t' end select @SQLcmd = concat( @SQLcmd, '\r\n\t\t\t\t\t\torder by t.object_id, tr.name' ) if @DebugSwitch\r\n > 0 begin print @sqlcmd end insert into @elementsToDrop(Ident1, LongIdent1, Ident3) exec sp_executesql @sqlcmd select @ElementCount = @@ROWCOUNT select\r\n @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @TableName = bu.Ident1 , @triggername = bu.LongIdent1 , @ownerName = bu.Ident3\r\n from @elementsToDrop bu where bu.ElementIndex = @ElementIndex if len(@triggername) > 30 and @force = 0 begin select @LengthMessage = @LengthMessage + \r\n@triggername + '|' raiserror(@LengthMessage, 18, 1) with nowait end if len(@TableName) > 30 and @force = 0 begin select @LengthMessage = @LengthMessage\r\n + @TableName + '|' raiserror(@LengthMessage, 18, 1) with nowait end     select @SQLcmd = N'drop trigger if exists ' + @ownerName + N'.' + @triggername\r\n if @DebugSwitch > 0 begin print @sqlcmd end if @CommentCode = 1 begin print dbo.QBM_FSQObjectComment (@triggername) end exec sp_executeSQL @SQLcmd select\r\n @CountElementsChanged += 1  select @ElementIndex += 1 end   verarbeitet: if @CountElementsChanged > 0 and exists (select top 1 1 from sys.objects o where\r\n o.name = 'QBM_PJournal' and type = 'P' ) begin select @JournalMessage = '#LDS#System elements modified by {0}, pattern {1}, elements affected {2}.|' +\r\n isnull(OBJECT_NAME(@@procid), '') + '|' + @pattern + '|' + dbo.QBM_FCVIntToString(@CountElementsChanged) + '|'  if not exists (select top 1 1 from DialogDatabase\r\n where IsMainDatabase = 1 and UpdatePhase <> 0) and not exists (select top 1 1 from sys.tables t with (readpast) join sys.columns c with (readpast) on \r\nt.object_id = c.object_id where t.name = 'DialogDatabase' and c.name = 'InitialMigrationRunning' ) begin exec QBM_PJournal @JournalMessage, @@procid, @MessageType\r\n, @DebugLevel, 20 end else begin  exec QBM_PJournal @JournalMessage, @@procid, 'I', 'I' end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare\r\n @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PTriggerEnable",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.523",
      "ModifyDate": "2026-04-14T23:14:10.1",
      "Definition": "   create   procedure QBM_PTriggerEnable (@TablePattern nvarchar(64)= '%' ,@TriggerPattern nvarchar(64) = '%' ,@UseTriggerPatternForNotLike bit \r\n= 0 ,@HandleErrorSilent bit = 0   , @force bit = 0  ) as begin declare @musterTrigger nvarchar(1024) declare @SQLcmd nvarchar(max) declare @TabAktuell \r\nvarchar(30) declare @TableType varchar(16) declare @Triggername nvarchar(64)     declare @elements QBM_YCursorBuffer declare @ElementCount int declare \r\n@ElementIndex int declare @JournalMessage nvarchar(1000) declare @DebugSwitch int = 0 declare @DebugLevel varchar(1) = 'I' declare @MessageType varchar\r\n(1) = 'I' declare @WarFehlerhaft int = 0 declare @CountElementsChanged int = 0 declare @ErrorBuffer QBM_YSessionError SET XACT_ABORT OFF BEGIN TRY set \r\nnocount on if exists (select top 1 1 from DialogDatabase d where d.UpdatePhase not in ( 0) ) and @force = 0 begin goto endLabel end select @musterTrigger\r\n = N'alter %type% \"%table%\" enable trigger %triggername% ' insert into @elements(LongIdent1, Ident2, LongIdent2) select distinct o.name , case o.type when\r\n 'U' then 'Table'  else '' end as TableType , case @TriggerPattern when '%' then 'all' else '\"' + t.name + '\"' end as Triggername from sys.tables o join\r\n sys.triggers t on o.object_id = t.parent_id where t.name != 'QBM_TUIndicator474488' and o.type in( 'U' ) and o.is_memory_optimized = 0 and o.name like\r\n @TablePattern and t.is_disabled = 1 and ( @UseTriggerPatternForNotLike = 0 and t.name like @TriggerPattern or @UseTriggerPatternForNotLike = 1 and t.name\r\n not like @TriggerPattern ) order by 1 select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount  and @WarFehlerhaft\r\n = 0 begin select top 1 @TabAktuell = bu.LongIdent1 , @TableType = bu.Ident2 , @TriggerName = bu.LongIdent2 from @elements bu where bu.ElementIndex = @ElementIndex\r\n select @SQLcmd = replace(replace(replace(@musterTrigger , '%table%', @TabAktuell) , '%type%', @TableType) , '%triggername%', @Triggername) if @DebugSwitch\r\n > 0 begin print @SQLcmd end  BEGIN TRY  exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLcmd , @LockTimeout_ms = 2500  , @MaxWaitTimeForLock_s = \r\n10  , @ProcIDForJournal = @@procid , @HandleErrorSilent = 0  , @ExecuteWithTransact = 0 select @CountElementsChanged += 1 exec QBM_PSessionErrorClean END\r\n TRY BEGIN CATCH if @HandleErrorSilent = 0 begin delete @ErrorBuffer insert into @ErrorBuffer (ErrorMessage, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName\r\n, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode) select concat('#LDS#Possible invalid foreign keys, run consistency checks: {0}|'\r\n , ERROR_MESSAGE() , '|' ), 18, 1, 50000 , object_name(@@PROCID), ERROR_LINE(), GETUTCDATE() , null, 0, 0, @SQLcmd exec QBM_PSessionErrorAdd @ErrorBuffer\r\n exec QBM_PJournal 'SessionError', @@procid, 'E', @DebugLevel, 20 exec QBM_PSessionErrorClean end  select @WarFehlerhaft = 1 END CATCH select @ElementIndex\r\n += 1 end  if @CountElementsChanged > 0 and exists (select top 1 1 from sys.objects o where o.name = 'QBM_PJournal' and type = 'P' ) begin select @JournalMessage\r\n = '#LDS#System elements modified by {0}, pattern {1}, elements affected {2}.|' + isnull(OBJECT_NAME(@@procid), '') + '|' + @TablePattern + '|' + dbo.QBM_FCVIntToString\r\n(@CountElementsChanged) + '|'  if not exists (select top 1 1 from DialogDatabase where IsMainDatabase = 1 and UpdatePhase <> 0) and not exists (select \r\ntop 1 1 from sys.tables t with (readpast) join sys.columns c with (readpast) on t.object_id = c.object_id where t.name = 'DialogDatabase' and c.name = \r\n'InitialMigrationRunning' ) begin exec QBM_PJournal @JournalMessage, @@procid, @MessageType, @DebugLevel, 20 end else begin  exec QBM_PJournal @JournalMessage\r\n, @@procid, 'I', 'I' end end exec QBM_PIndicatorChange 1 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel:  return (@WarFehlerhaft) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PTriggersInactiveForTable",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:30.15",
      "ModifyDate": "2026-04-14T23:14:36.477",
      "Definition": "    create   procedure QBM_PTriggersInactiveForTable ( @TableName varchar(30) , @EventName varchar(16) ) as begin declare @GenProcID varchar(38)\r\n declare @XUser nvarchar(64) declare @DisabledValue bit = 1 declare @DebugSwitch int = 0 SET XACT_ABORT OFF BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext\r\n('') select @XUser = dbo.QBM_FGISessionContext('XUser') if @DebugSwitch > 0 begin print 'proc: QBM_PTriggersInactiveForTable, event ' + isnull(@EventName\r\n, '<none>') end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01(Object, SubObject, GenProcID) select distinct left(tr.name,\r\n 30) as Triggername, null, @GenProcID        from DialogTable t with (readpast) join sys.tables st on st.name = case t.TableType when 'V' then dbo.QBM_FGITableName\r\n(t.UID_DialogTableBase) when 'M' then '#'  else t.TableName end and t.TableName = @TableName join sys.triggers tr on tr.parent_id = st.object_id and tr.is_disabled\r\n = @DisabledValue  and tr.name not like 'GEN[_]%' and tr.name != 'QBM_TUIndicator474488' join sys.trigger_events ev on ev.object_id = tr.object_id and \r\nev.type_desc = @EventName  where t.TableName not in (select s.TableName from QBM_VStartupTables s ) if @DebugSwitch > 0 begin print 'detected triggernames'\r\n select e.Object from @DBQueueElements_01 e end if exists (select top 1 1 from @DBQueueElements_01  ) and exists (select top 1 1 from sys.procedures p \r\nwhere p.name = 'QBM_PDBQueueInsert_Bulk'  ) begin exec QBM_PDBQueueInsert_Bulk 'QBM-K-TaskForInactiveTrigger', @DBQueueElements_01 end END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH \r\nend \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PTriggerWatchCreate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-12-15T17:50:11.5",
      "ModifyDate": "2026-04-14T23:20:29.26",
      "Definition": "                     create   procedure QBM_PTriggerWatchCreate (@TableName varchar(30),  @Operation varchar(16)  , @TriggerName varchar(30) ) as\r\n begin  declare @TriggerBody nvarchar(max) = '' declare @SQLcmd nvarchar(max) declare @SaveToQBMBufferConfig nvarchar(max) = '' declare @VarDefinition \r\nnvarchar(max) = '\tdeclare @XUser nvarchar(64) = object_name(@@procid)\r\n\tdeclare @Xdate datetime = getutcdate()' declare @tabletype nvarchar(1)  declare\r\n @IsWatch bit = 0 declare @IsSemaphor bit = 0 declare @IsResidentTable bit = 0 declare @IsInsteadOf bit = 0  declare @IsXOriginHandling bit = 0  declare\r\n @IsXIsInEffectHandling bit = 0  declare @DebugLevel char(1) = 'W' declare @DebugMessage nvarchar(4000) declare @XDateSubItemUpdate nvarchar(max) = '' \r\ndeclare @XMarkedForDeletionChg nvarchar(max) = '' declare @SplittedLookup nvarchar(max) = '' declare @CEF_SIEM nvarchar(max) declare @DebugSwitch int =\r\n 0 declare @IsTableRevision bit = 0 declare @TableRevision nvarchar(max) declare @IsDeactivatedByPreProcessor bit SET XACT_ABORT OFF BEGIN TRY select top\r\n 1 @tabletype = t.TableType , @IsResidentTable = t.IsResident , @IsDeactivatedByPreProcessor = t.IsDeactivatedByPreProcessor from DialogTable t with (readpast\r\n) where TableName = @TableName and t.TableType not in ('M')  if @tabletype in ('R', 'P', 'U') begin select @IsInsteadOf = 1 end if @Operation = 'UPDATE'\r\n begin select @SaveToQBMBufferConfig = dbo.QBM_FSQBufferConfigSaveOrigin(@TableName ) end select @TableRevision = dbo.QBM_FSQWatchRevision(@TableName ,\r\n @Operation) if @TableRevision > ' ' begin select @IsTableRevision = 1 end  if @TableName in (select TableName from QBM_VHeavyLoadTables where TableName\r\n <> 'DialogJournal'  ) begin goto ConfigBufferOnly end if @TableName = 'DialogJournal' begin goto CEFSIEMOnly end if @IsDeactivatedByPreProcessor = 1 begin\r\n goto dropOnly end if exists (select top 1 1 from QBM_VSchemaColumns c where c.TABLE_NAME = @TableName and c.COLUMN_NAME = 'XOrigin' ) and exists (select\r\n top 1 1 from QBM_VSchemaColumns c where c.TABLE_NAME = @TableName and c.COLUMN_NAME = 'XObjectKey' )  begin select @IsXOriginHandling = 1 end if @IsXOriginHandling\r\n = 1 and exists (select top 1 1 from QBM_VSchemaColumns c where c.TABLE_NAME = @TableName and c.COLUMN_NAME = 'XIsInEffect' ) begin select @IsXIsInEffectHandling\r\n = 1 end  if @tabletype = 'V' begin goto DropOnly end if not exists (select top 1 1 from information_schema.tables where table_name = @TableName and table_type\r\n in ('BASE TABLE', 'VIEW') ) begin  goto DropOnly end if '1' = dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\PropertyLog') begin if @IsXOriginHandling\r\n = 1 begin if @Operation = 'Update' begin if exists (select top 1 1 from dbo.QBM_FTColumnsToWatch(@TableName , 'Delete') ) or exists (select top 1 1 from\r\n dbo.QBM_FTColumnsToWatch(@TableName , 'Update' ) ) begin select @IsWatch = 1 end end  if @Operation = 'Insert' begin if exists (select top 1 1 from dbo.QBM_FTColumnsToWatch\r\n(@TableName , 'Insert') ) begin select @IsWatch = 1 end end  end else  begin if exists (select top 1 1 from dbo.QBM_FTColumnsToWatch(@TableName , @Operation\r\n) ) begin select @IsWatch = 1 end end  end             if exists (select  top 1 1 from DialogTable t with (readpast) join DialogColumn c with (readpast\r\n) on c.UID_DialogTable = t.UID_DialogTable join DialogColumnHasSemaphor chs with (readpast) on c.UID_DialogColumn = chs.UID_DialogColumn where t.TableName\r\n = @TableName and ( c.IsPKMember = 1 and @Operation = 'insert' or c.IsPKMember = 0 and @Operation = 'update' or c.IsPKMember = 1 and @Operation = 'delete'\r\n ) ) begin select @IsSemaphor = 1 end select @XDateSubItemUpdate = dbo.QBM_FSQXDateSubItemUpdate(@TableName, @Operation) select @XMarkedForDeletionChg \r\n= dbo.QBM_FSQXMarkedForDeletionChg(@TableName, @Operation) select @SplittedLookup = dbo.QBM_FSQTriggerSplittedLookup(@TableName, @Operation) if @IsWatch\r\n = 0 and @IsInsteadOf = 0 and @IsSemaphor = 0 and @IsResidentTable = 0 and @SaveToQBMBufferConfig = '' and @IsXOriginHandling = 0 and @XDateSubItemUpdate\r\n = '' and @XMarkedForDeletionChg = '' and @SplittedLookup = '' and @IsTableRevision = 0 begin  if @DebugSwitch > 0 begin print 'drop only' end goto DropOnly\r\n end if @IsWatch = 1 and @Operation in ('UPDATE', 'DELETE') begin select @VarDefinition = concat(@Vardefinition , N'\r\n declare @DialogWatchProperty QBM_YWatchBufferProp\r\n declare @DialogWatchOperation QBM_YWatchBufferOp\r\n\r\n'\r\n) end if @XDateSubItemUpdate > ' ' begin select @VarDefinition = concat(@VarDefinition , '\r\n\tdeclare @UID_TaskXDateSubItemUpdate varchar(38) \r\n\tdeclare @JustNowVarchar varchar(64) = dbo.QBM_FCVDatetimeToStringUTC(GetUTCDate())\r\n\t'\r\n ) end if @IsXOriginHandling = 1 and @Operation in ('UPDATE') begin select @VarDefinition = concat(@VarDefinition , N'\r\n\tdeclare @EntriesToFire QBM_YParameterList \r\n\tdeclare @AdditionalEntries QBM_YParameterList\r\n\tdeclare @StartAt datetime'\r\n ) end if @IsSemaphor = 1 or @XDateSubItemUpdate > ' ' or @XMarkedForDeletionChg > ' ' begin select @VarDefinition = concat(@VarDefinition , N'\r\n\tdeclare @DBQueueElements QBM_YDBQueueRaw '\r\n ) end if @IsSemaphor = 1 begin select @VarDefinition = concat(@VarDefinition , N'\r\n\tdeclare @IsSemaphorInFullsync bit  = sign(len(dbo.QBM_FGISessionContext (''Fullsync'')))'\r\n ) end  if @tabletype in ('R', 'P', 'U') begin  select @TriggerBody = concat(N'\traiserror (N''#LDS#Operations on table {0} are not permitted.|' , rtrim\r\n(@TableName ) , N'|'', 18, 1) with nowait') end else begin if @IsSemaphor = 1 begin select @Triggerbody = concat(@Triggerbody , dbo.QBM_FSQTriggerWatchSemaphor\r\n (@TableName , @operation)) if @DebugSwitch > 0 begin select @Debugmessage = concat('semaphor für ' , @TableName , nchar(9) , @operation) exec QBM_PJournal\r\n @Debugmessage, @@PROCID, 'D', @DebugLevel end  end if @IsResidentTable = 1 begin  select @Triggerbody = concat(@Triggerbody , N'\r\n\t\t exec QBM_ZDialogSemaphorIncGlobal 0, ''USERDATARESIDENT'', '''', @GenProcID\r\n\t '\r\n ) end if @IsWatch = 1 begin select @Triggerbody = concat(@Triggerbody , dbo.QBM_FSQTriggerWatchTable (@TableName , @operation)) end end if @TableRevision\r\n > ' ' begin select @TriggerBody = concat(@TriggerBody , @TableRevision) end if @XDateSubItemUpdate > ' ' begin select @TriggerBody = concat(@TriggerBody\r\n , @XDateSubItemUpdate) end if @XMarkedForDeletionChg > ' ' begin select @TriggerBody = concat(@TriggerBody , @XMarkedForDeletionChg) end if @IsXOriginHandling\r\n = 1 and @Operation in ('UPDATE') begin if @DebugSwitch > 0 begin print '--------XOrigin-Anteil' print dbo.QBM_FSQTriggerWatchXOrigin(@TableName) end select\r\n @TriggerBody = concat(@TriggerBody , dbo.QBM_FSQTriggerWatchXOrigin(@TableName)) end if @IsXIsInEffectHandling = 1 and @Operation in ('UPDATE') begin \r\nif @DebugSwitch > 0 begin print '--------XIsInEffect-Anteil' print dbo.QBM_FSQTriggerWatchXIsInEffect(@TableName) end select @TriggerBody = concat(@TriggerBody\r\n , dbo.QBM_FSQTriggerWatchXIsInEffect(@TableName)) end if @IsXOriginHandling = 1 and @Operation in ('Delete') begin select @TriggerBody = concat(@TriggerBody\r\n , N'\r\n-- Handle Delete via XOrigin\r\n if exists (select top 1 1\r\n\t\t\t from deleted\r\n\t\t\t where XOrigin > 0\r\n\t\t\t)\r\n\tbegin\r\n\t\traiserror(''deleting Objects with XOrigin greater then 0 is not permitted'', 18, 1) with nowait\r\n\tend\r\n\t\t\r\n-- / Handle Delete via XOrigin\r\n\r\n\t'\r\n ) if @DebugSwitch > 0 begin print '## Delete error included' end end if @SplittedLookup > ' ' begin select @TriggerBody = concat(@TriggerBody , @SplittedLookup\r\n) end  CEFSIEMOnly: select @CEF_SIEM = dbo.QBM_FSQTriggerPartCEF(@TableName, left(@Operation, 1), 0)  if @CEF_SIEM > ' ' begin select @Triggerbody = concat\r\n(@Triggerbody , @CEF_SIEM) end  ConfigBufferOnly: select @TriggerBody = concat(@TriggerBody , @SaveToQBMBufferConfig) if @triggerbody > ' ' begin select\r\n @SQLcmd = dbo.QBM_FSQTriggerDef (@TriggerName , @TableName , @Operation , concat(N'/* SET XACT_ABORT ON is implicit */ ', nchar(13), nchar(10), @TriggerBody\r\n ) , @VarDefinition , concat('Trigger watch for ' , @TableName , '(' , @Operation , ')') ) if @DebugSwitch > 0 begin print substring(@SQLcmd, 1, 4000) \r\nprint substring(@SQLcmd, 4001, 4000) print substring(@SQLcmd, 8001, 4000) print substring(@SQLcmd, 12001, 4000) print substring(@SQLcmd, 16001, 4000) print\r\n substring(@SQLcmd, 20001, 4000) print substring(@SQLcmd, 24001, 4000) print substring(@SQLcmd, 28001, 4000) print substring(@SQLcmd, 32001, 4000) print\r\n substring(@SQLcmd, 36001, 4000) print substring(@SQLcmd, 40001, 4000) print substring(@SQLcmd, 44001, 4000) print substring(@SQLcmd, 48001, 4000) print\r\n substring(@SQLcmd, 52001, 4000) print substring(@SQLcmd, 56001, 4000) print substring(@SQLcmd, 60001, 4000) print substring(@SQLcmd, 64001, 4000) print\r\n substring(@SQLcmd, 68001, 4000) print substring(@SQLcmd, 72001, 4000) print substring(@SQLcmd, 76001, 4000) print substring(@SQLcmd, 80001, 4000) print\r\n substring(@SQLcmd, 84001, 4000) print substring(@SQLcmd, 88001, 4000) print substring(@SQLcmd, 92001, 4000) print substring(@SQLcmd, 96001, 4000) end \r\n exec QBM_PSQLCreate @TriggerName, 'T', @SQLcmd, @UnComment = 0 if @tabletype not in ('R', 'P', 'U') and exists (select top 1 1 from sys.objects o where\r\n type = 'TR' and o.name = @TriggerName ) begin select @SQLcmd = concat(N'exec sp_settriggerorder ''' , @Triggername , N''', ''FIRST'', ''' , @operation\r\n , N'''') exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLcmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = 12.0 , @ProcIDForJournal = default\r\n , @HandleErrorSilent = 0 , @ExecuteWithTransact = 0 end end else begin exec QBM_PTriggerDrop @TriggerName end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default if @DebugSwitch > 0 begin exec QBM_PDebug 'SessionError', @@procid end declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR\r\n (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return dropOnly: exec QBM_PTriggerDrop @TriggerName end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PTypeDrop",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.583",
      "ModifyDate": "2026-04-14T23:14:10.25",
      "Definition": "   create   procedure QBM_PTypeDrop (@typename nvarchar(64) ) as begin declare @SQLcmd nvarchar(max) declare @CurrentDeadlock_priority int declare\r\n @DebugSwitch int = 0 declare @Statements table (ElementIndex int identity ,ContentFull nvarchar(max) collate database_default ) declare @ElementCount \r\nint declare @ElementIndex int SET XACT_ABORT OFF BEGIN TRY if not exists ( select top 1 1 from sys.types t where t.name = @Typename ) begin goto endlabel\r\n end select top 1 @CurrentDeadlock_priority = s.deadlock_priority FROM sys.dm_exec_sessions s where s.session_id = @@spid select @CurrentDeadlock_priority\r\n = isnull(@CurrentDeadlock_priority, 0) set deadlock_priority 8 insert into @Statements(ContentFull) select concat('drop ' , case x.objecttype when 'P'\r\n then 'procedure' when 'TR' then 'trigger' when 'V' then 'view' when 'FN' then 'function' when 'TF' then 'function' when 'IF' then 'function' else 'unknown type'\r\n  end , ' \"' , x.schemaname , N'\".\"' , x.objectname , N'\"' )  from ( select o.name as objectname, s.name as schemaname, o.type as objecttype  from sys.parameter_type_usages\r\n pu join sys.objects o on pu.object_id = o.object_id join sys.types t on pu.user_type_id = t.user_type_id join sys.schemas s on o.schema_id = s.schema_id\r\n and s.name not in ( 'sys' , 'INFORMATION_SCHEMA' )  join sys.objects tt on tt.name like 'TT[_]' + t.name + '%' and tt.type = 'TT' join sys.columns tc \r\non tt.object_id = tc.object_id  where o.type in ( 'P', 'FN', 'TF', 'IF', 'V', 'TR') and t.name = @typename union   select td.name, s.name, td.type from\r\n sys.objects td join sys.sql_modules m on td.object_id = m.object_id join sys.schemas s on td.schema_id = s.schema_id and s.name not in ( 'sys' , 'INFORMATION_SCHEMA'\r\n ) where m.definition like concat('%', @typename , '%') and td.name <> isnull(object_name(@@procid),'')  ) as x select @ElementCount = @@ROWCOUNT select\r\n @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @SQLcmd = s.ContentFull from @Statements s where s.ElementIndex = @ElementIndex\r\n if @debugSwitch > 0 begin print @sqlcmd end exec sp_executeSQL @SQLcmd select @ElementIndex += 1 end  if exists (select top 1 1 from sys.types t where\r\n t.name = @typename ) begin select @SQLcmd = 'drop type ' + @typename if @debugSwitch > 0 begin print @sqlcmd end exec sp_executeSQL @SQLcmd end END TRY\r\n BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT\r\n END CATCH endLabel:  set deadlock_priority @CurrentDeadlock_priority return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PUserDetectByGroupList",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:28.52",
      "ModifyDate": "2026-04-14T23:20:24.74",
      "Definition": "    create   procedure QBM_PUserDetectByGroupList (@GroupGuidList nvarchar(max),  @uid_DialogUser varchar(38) output , @UID_QBMProduct varchar(38\r\n) = null ) as begin  declare @GenProcID varchar(38) declare @XUser nvarchar(64) declare @XDate datetime = getutcdate() declare @cmd nvarchar(max) declare\r\n @DebugSwitch int = 0 declare @groups QBM_YSingleGUID  declare @anzahlGruppen int declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare\r\n @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser') declare @QBM_BaseRight varchar(38) = 'QBM-1CA5B3F72AD35643BEDB25511BB6DBF5' SET XACT_ABORT \r\nOFF BEGIN TRY select @GenProcID = @GenProcID_R if isnull(@XUser, N'') = N'' begin select @XUser = N'DBScheduler' end select @cmd = concat( '\tselect g.uid_DialogGroup \r\n\t\t\t\t\t\tfrom DialogGroup g join dbo.QBM_FCVStringToList('''\r\n, @GroupGuidList , ''', N''|'',1 ,0 ) l on l.ParameterValue = g.UID_DialogGroup\r\n\t\t\t\t\t\t', case when dbo.QBM_FGIModuleExists('QER') = 1 then '\r\n\t\t\t\t\t\twhere g.IsRoleBasedOnly = 1'\r\n else '' end, '\r\n\t\t\t\t\t\tunion \r\n\t\t\t\t\t\tselect ''' , @QBM_BaseRight, '''\r\n' ) if @DebugSwitch > 0 begin print @cmd end insert into @groups (UID_SingleGuid\r\n ) exec sp_executesql @cmd delete  @groups from @groups g where g.UID_SingleGuid in (select li.UID_DialogGroup from DialogGroupInProductLimited li ) and\r\n not exists (select top 1 1 from DialogGroupInProductLimited li where li.UID_DialogGroup = g.UID_SingleGuid and li.UID_DialogProduct = @UID_QBMProduct \r\n)   delete  @groups  from @Groups g where exists (select top 1 1 from dialogGroupCollection co where g.UID_SingleGuid  = co.uid_dialogGroupParent and co.uid_dialogGroup\r\n <> co.uid_dialogGroupParent and co.uid_dialogGroup in (select e.UID_SingleGuid from @groups e ) ) and g.UID_SingleGuid  <> @QBM_BaseRight delete  @groups\r\n  from @Groups g where Not exists (select top 1 1 from dialogGroupCollection co where g.UID_SingleGuid  = co.uid_dialogGroup ) and g.UID_SingleGuid  <>\r\n @QBM_BaseRight  select @AnzahlGruppen = count(*) from @groups if @AnzahlGruppen = 0 begin  raiserror('#LDS#No valid group passed.|' , 18, 2) with nowait\r\n return end select @uid_DialogUser = null select top 1 @uid_DialogUser = y.uid_DialogUser from ( select x.uid_DialogUser from (  select uig.uid_DialogUser\r\n from @Groups g join dialoguseringroup uig on uig.uid_DialogGroup = g.UID_SingleGuid  group by uig.uid_DialogUser having count(*) = @AnzahlGruppen union\r\n all  select uig.uid_DialogUser from dialoguseringroup uig group by uig.uid_DialogUser having count(*) = @AnzahlGruppen ) as x group by x.uid_DialogUser\r\n having count(*) = 2 ) as y join dialoguser u on y.uid_DialogUser = u.uid_DialogUser where u.isDynamicUser = 1  if @uid_DialogUser is not null begin goto\r\n fertig end  select @uid_DialogUser = newid()   if exists (select top 1 1 from DialogTable t where t.TableName = 'DialogUser' and t.IsModuleGUIDDefault\r\n = 1 ) begin select @uid_DialogUser = dbo.QBM_FCVGuidToTransfer(@UID_DialogUser, 'CCC') end  exec QBM_PSessionContextSet 'GenProcID', @GenProcID exec QBM_PSessionContextSet\r\n 'XUser', @XUser insert into dialoguser (uid_DialogUser, username, XObjectKey, password, XDateInserted, XDateUpdated, XUserInserted, XUserUpdated, CustomRemarks\r\n , isReadOnly, IsDynamicUser ) select @uid_DialogUser, @uid_DialogUser, dbo.QBM_FCVElementToObjectKey1('DialogUser', 'uid_DialogUser', @uid_DialogUser)\r\n, 'UnableForDialogLogin ', @XDate, @XDate, N'System', N'QBM_PUserDetectByGroupList', N'Created by System' , 0, 1 exec QBM_PSessionContextSet 'GenProcID'\r\n, @GenProcID exec QBM_PSessionContextSet 'XUser', @XUser insert into dialoguseringroup (uid_DialogUser , uid_DialogGroup , XDateInserted, XDateUpdated,\r\n XUserInserted, XUserUpdated , XObjectKey) select distinct @uid_DialogUser, g.UID_SingleGuid , @XDate, @XDate, N'System', N'QBM_PUserDetectByGroupList'\r\n, dbo.QBM_FCVElementToObjectKey2('dialoguseringroup', 'uid_DialogUser', @uid_DialogUser, 'uid_DialogGroup', g.UID_SingleGuid ) from @groups g  where not\r\n exists (select top 1 1 from DialogUserInGroup e where e.UID_DialogUser = @uid_DialogUser and e.UID_DialogGroup = g.UID_SingleGuid  ) fertig: update dialoguser\r\n set lastlogin = @XDate  , XDateUpdated = @Xdate , XUserUpdated = @XUser where uid_DialogUser = @uid_DialogUser END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH  ende: exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet 'XUser', @XUser_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PViewBuild",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.957",
      "ModifyDate": "2026-04-14T23:20:27.19",
      "Definition": "        create   procedure QBM_PViewBuild ( @UID_TablePattern varchar(38) = '%' , @dummy1 varchar(38) = '' , @GenProcID varchar(38) = '' ) as begin\r\n  declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @tablepattern_intern varchar(38) SET XACT_ABORT OFF BEGIN TRY if isnull(@GenProcID\r\n, '') = '' begin select @GenProcID = @GenProcID_R end if isnull(@UID_TablePattern, '') = '' begin select @tablepattern_intern = '%' end else begin select\r\n @tablepattern_intern = @UID_TablePattern end exec QBM_PViewBuildV @tablepattern_intern, '', @GenProcID exec QBM_PViewBuildP @tablepattern_intern, '', \r\n@GenProcID exec QBM_PViewBuildU @tablepattern_intern, '', @GenProcID exec QBM_PViewBuildR @tablepattern_intern, '', @GenProcID END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH  ende:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PViewBuild_FromAddOn",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.863",
      "ModifyDate": "2026-04-14T23:20:27.06",
      "Definition": "   create   procedure QBM_PViewBuild_FromAddOn (@uid_DialogTableTarget varchar(38)  ) as begin declare @QueryString nvarchar(max) declare @UID_QBMViewAddOn\r\n varchar(38) declare @Cmd nvarchar(max) declare @Gesamt nvarchar(max)  declare @SelectLine nvarchar(max) = '' declare @SelectSingleUnionPart nvarchar(max\r\n) = '' declare @Maxlen int declare @ColumnName varchar(30) declare @Datatype nvarchar(64) declare @Ident_QBMViewAddOn nvarchar(64) declare @Viewname varchar\r\n(30) declare @viewWhereClause nvarchar(max) declare @IsDeactivatedByPreProcessor bit declare @MyTempViewName nvarchar(100) declare @Columns table (UID_QBMViewAddOn\r\n varchar(38) collate database_default , columnName varchar(38) collate database_default , DATA_TYPE nvarchar(64) collate database_default , CHARACTER_MAXIMUM_LENGTH\r\n int ) declare @Datatypes table(Datatype nvarchar(64) collate database_default , SortOrder int ) declare @debuglevel nvarchar(1) = 'W' declare @DebugMessage\r\n nvarchar(max) declare @ErrorMessage nvarchar(4000) declare @ErrorSeverity int declare @ErrorState int declare @SynonymIntern nvarchar(16) = 'xxTab' declare\r\n @DebugSwitch int = 0 declare @ElementLast int declare @ElementBufferMulti QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare\r\n @ElementLast_c4 int declare @ElementBufferMulti_c4 QBM_YCursorBuffer declare @ElementCount_c4 int declare @ElementIndex_c4 int SET XACT_ABORT OFF BEGIN\r\n TRY insert into @Datatypes(Datatype, SortOrder) values ('nvarchar' , 0 ) , ('varchar' , 100 ) , ('nchar' , 200 ) , ('char' , 300 ) , ('varbinary' , 1000\r\n ) , ('binary' , 1100 ) , ('float' , 2001 )  , ('datetime' , 2100 ) , ('numeric' , 3001 ) , ('bigint' , 3101 ) , ('int' , 3201 ) , ('smallint' , 3301 )\r\n , ('tinyint' , 3401 ) , ('bit' , 3501 ) select top 1 @Viewname = t.TableName , @viewWhereClause = dbo.QBM_FCVStringTrimRight( t.ViewWhereClause, ' '+CHAR\r\n(9) + char(13) + char(10), 0) , @IsDeactivatedByPreProcessor = t.IsDeactivatedByPreProcessor from DialogTable t with (readpast) where t.UID_DialogTable\r\n = @uid_DialogTableTarget select @MyTempViewName = left(concat('TST_FTemporaryElement', reverse(dbo.QBM_FGICodeName('V', NEWID()) )), 30) if @IsDeactivatedByPreProcessor\r\n = 1 begin select @viewWhereClause = ' 1 = 0 ' end  if @DebugSwitch > 0 begin print '@Viewname ' + isnull(@Viewname, '<none>') print '@viewWhereClause '\r\n + isnull(@viewWhereClause, '<none>') end  delete  @ElementBufferMulti  insert into @ElementBufferMulti (UID1, ContentFull) select a.uid_QBMViewAddOn ,a.QueryString\r\n  from QBMViewAddOn a left outer join QBMModuleDef m on a.UID_QBMViewAddOn like '___-%' and LEFT(a.UID_QBMViewAddOn, 3) = m.ModuleName where a.uid_dialogtable\r\n = @uid_DialogTableTarget order by ISNULL(m.SortOrder, POWER(2,30)) asc select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount\r\n +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @UID_QBMViewAddOn = bu.UID1 , @QueryString = bu.ContentFull\r\n from @ElementBufferMulti bu where bu.ElementIndex = @ElementIndex if @DebugSwitch > 0 begin print @UID_QBMViewAddOn print @QueryString end exec QBM_PViewDrop\r\n @MyTempViewName select @Cmd = 'create or alter view ' + @MyTempViewName + ' as ' + @QueryString exec sp_executesql @cmd insert into @Columns (UID_QBMViewAddOn\r\n, columnName, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH) select @UID_QBMViewAddOn, left(c.COLUMN_NAME, 30), c.DATA_TYPE, case isnull(c.CHARACTER_MAXIMUM_LENGTH\r\n, 0) when -1 then POWER(2,30) when 0 then 10 else c.CHARACTER_MAXIMUM_LENGTH end from INFORMATION_SCHEMA.VIEWS v  join INFORMATION_SCHEMA.COLUMNS c  on\r\n v.TABLE_NAME = c.TABLE_NAME where v.TABLE_NAME = @MyTempViewName select @ElementIndex += 1 end  exec QBM_PViewDrop @MyTempViewName   if not exists (select\r\n top 1 1 from @Columns ) begin select @debugmessage = 'no definition(s) found for View ' + @Viewname if @DebugSwitch > 0 print @debugmessage exec QBM_PJournal\r\n @debugmessage, @@procid, 'W', @debuglevel exec QBM_PViewdrop @Viewname goto endLabel end select @SelectLine = '' select @SelectSingleUnionPart = '' delete\r\n  @ElementBufferMulti  insert into @ElementBufferMulti (Ident1, Int1) select c.columnName, MAX(CHARACTER_MAXIMUM_LENGTH) from @Columns c group by c.columnName\r\n order by c.columnName select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex\r\n <= @ElementLast begin select top 1 @columnname = bu.Ident1 , @maxlen = bu.Int1 from @ElementBufferMulti bu where bu.ElementIndex = @ElementIndex  select\r\n top 1 @Datatype = c.DATA_TYPE from @Columns c left outer join @Datatypes as w on c.DATA_TYPE = w.datatype where c.columnName = @ColumnName order by w.SortOrder\r\n asc select @SelectLine = @SelectLine + ', ' + @ColumnName  select @SelectSingleUnionPart = @SelectSingleUnionPart + ', convert(' + @Datatype + case when\r\n @Datatype like '%char%' or @Datatype like '%binary%' then case @Maxlen when POWER(2,30) then '(max)' else '(' + ltrim(STR(@maxlen)) + ')' end else '' \r\nend + ', null) as ' + @ColumnName select @ElementIndex += 1 end  if @DebugSwitch > 0 begin print '@SelectLine ' + isnull(@SelectLine, '<none>') print '@SelectSingleUnionPart '\r\n + isnull(@SelectSingleUnionPart, '<none>') end select @Gesamt = 'create or alter view dbo.' + @Viewname + ' as \r\n select * from \r\n  (\r\n\tselect ' + SUBSTRING\r\n(@SelectSingleUnionPart, 2, LEN(@SelectSingleUnionPart) -1) + '\r\n\t where 1=0 ' declare @ColumnEmpty varchar(30)  delete  @ElementBufferMulti  insert into\r\n @ElementBufferMulti (UID1, ContentFull, LongIdent1) select a.uid_QBMViewAddOn , a.QueryString, a.Ident_QBMViewAddOn from QBMViewAddOn a where a.uid_dialogtable\r\n = @uid_DialogTableTarget select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while\r\n @ElementIndex <= @ElementLast begin select top 1 @UID_QBMViewAddOn = bu.UID1 , @querystring = bu.ContentFull , @Ident_QBMViewAddOn = bu.LongIdent1 from\r\n @ElementBufferMulti bu where bu.ElementIndex = @ElementIndex select @SelectSingleUnionPart = ''   delete  @ElementBufferMulti_c4  insert into @ElementBufferMulti_c4\r\n (Ident1, Ident2) select x.columnName , y.columnName from (select distinct c.columnName from @Columns c ) as x left outer join (select ct.columnName from\r\n @Columns ct where ct.UID_QBMViewAddOn = @UID_QBMViewAddOn ) as y on x.columnName = y.columnName order by x.columnName select @ElementCount_c4 = @@ROWCOUNT\r\n select @ElementIndex_c4 = @@IDENTITY - @ElementCount_c4 +1 select @ElementLast_c4 = @@IDENTITY while @ElementIndex_c4 <= @ElementLast_c4 begin select \r\ntop 1 @columnname = bu.Ident1 , @columnempty = bu.Ident2 from @ElementBufferMulti_c4 bu where bu.ElementIndex = @ElementIndex_c4 select @SelectSingleUnionPart\r\n = @SelectSingleUnionPart + ', ' + case  when @columnempty IS null and exists (select top 1 1 from @Columns c join @Datatypes t on c.DATA_TYPE = t.Datatype\r\n where c.columnName = @ColumnName and t.SortOrder % 2 = 1 )  then ' convert(bit, 0) as '  when @columnempty IS null then ' null as ' else @SynonymIntern\r\n + '.' end + @ColumnName select @ElementIndex_c4 += 1 end  select @Gesamt = @Gesamt + '\r\n\tunion all\r\n\t-- part from ' + isnull(@Ident_QBMViewAddOn, @UID_QBMViewAddOn\r\n) + '\r\n\tselect ' + SUBSTRING(@SelectSingleUnionPart, 2, len(@SelectSingleUnionPart) -1) + '\r\n\t from (\r\n' + dbo.QBM_FCVStringToIndent(@querystring, 3) +\r\n'\r\n\t\t) as ' + @SynonymIntern if @DebugSwitch > 0 begin print '------------' select @DebugMessage = 'select ' + SUBSTRING(@SelectSingleUnionPart, 2, len\r\n(@SelectSingleUnionPart) -1) + '\r\n\t\t\t from (\r\n\t\t' + dbo.QBM_FCVStringToIndent(@querystring, 3) +'\r\n\t\t\t\t) as ' + @SynonymIntern print @DebugMessage end \r\nselect @ElementIndex += 1 end   select @Gesamt = @Gesamt + '\r\n ) as x' if @viewWhereClause > ' '  and not exists (select top 1 1 from QBMViewAddOn a where\r\n a.UID_DialogTable = @uid_DialogTableTarget and a.QueryString = @viewWhereClause ) begin select @Gesamt = @Gesamt + '\r\n where (\r\n ' + dbo.QBM_FCVStringToIndent\r\n( @viewWhereClause, 2) + '\r\n\t\t)' end if @DebugSwitch > 0 begin select @gesamt end exec QBM_PSQLCreate @viewname, 'V', @gesamt, @UnComment = 0 END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END \r\nCATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PViewBuildCheckCCCExtend",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.98",
      "ModifyDate": "2026-04-14T23:20:27.223",
      "Definition": "   create   procedure QBM_PViewBuildCheckCCCExtend (@UID_QBMViewAddOn varchar(38) ) as begin declare @Vorher QBM_YParameterList declare @nachher\r\n QBM_YParameterList declare @UID_DialogTable varchar(38) declare @DebugSwitch int = 0 declare @Datatypes table(Datatype nvarchar(64) collate database_default\r\n , SortOrder int ) SET XACT_ABORT OFF BEGIN TRY if @DebugSwitch > 0 begin print 'eintritt QBM_PViewBuildCheckCCCExtend für' + @UID_QBMViewAddOn end if \r\ndbo.QBM_FGIDBOwner() <> 'CCC' begin goto endLabel end select top 1 @UID_DialogTable = a.UID_DialogTable from QBMViewAddOn a where UID_QBMViewAddOn = @UID_QBMViewAddOn\r\n if dbo.QBM_FCVGUIDToModuleOwner(@UID_DialogTable) = 'CCC' begin if @DebugSwitch > 0 begin print 'Kundentabelle' end goto endlabel end if dbo.QBM_FCVGUIDToModuleOwner\r\n(@UID_QBMViewAddOn) <> 'CCC' begin if @DebugSwitch > 0 begin print 'unsere Tablle unser kram' end goto endLabel end insert into @Vorher(Parameter1, Parameter2\r\n, Parameter3) select c.COLUMN_NAME, c.DATA_TYPE, case isnull(c.CHARACTER_MAXIMUM_LENGTH, 0) when 0 then 0 when -1 then 1073741824 else c.CHARACTER_MAXIMUM_LENGTH\r\n end from INFORMATION_SCHEMA.COLUMNS c join DialogTable t on t.TableName = c.TABLE_NAME collate database_default where t.UID_DialogTable = @UID_DialogTable\r\n if @DebugSwitch > 0 begin print '@vorher' select z.Parameter1, z.Parameter2, z.Parameter3 from @vorher z end exec QBM_PViewBuild_FromAddOn @UID_DialogTable\r\n insert into @nachher(Parameter1, Parameter2, Parameter3) select c.COLUMN_NAME, c.DATA_TYPE, case isnull(c.CHARACTER_MAXIMUM_LENGTH, 0) when 0 then 0 when\r\n -1 then 1073741824 else c.CHARACTER_MAXIMUM_LENGTH end from INFORMATION_SCHEMA.COLUMNS c join DialogTable t on t.TableName = c.TABLE_NAME collate database_default\r\n where t.UID_DialogTable = @UID_DialogTable if @DebugSwitch > 0 begin print '@nachher' select z.Parameter1, z.Parameter2, z.Parameter3 from @nachher z \r\nend if exists (select top 1 1 from ( select n.Parameter1 as AdditionalColumn from @nachher n left outer join @Vorher v on v.Parameter1 = n.Parameter1 where\r\n v.Parameter1 is null ) as x ) begin set XACT_ABORT ON  raiserror('#LDS#Custom extension would extend columns of the view.|', 18, 1) with nowait goto endlabel\r\n end insert into @Datatypes(Datatype, SortOrder) values ('nvarchar' , 0 ) , ('varchar' , 100 ) , ('nchar' , 200 ) , ('char' , 300 ) , ('varbinary' , 1000\r\n ) , ('binary' , 1100 ) , ('float' , 2001 )  , ('datetime' , 2100 ) , ('numeric' , 3001 ) , ('bigint' , 3101 ) , ('int' , 3201 ) , ('smallint' , 3301 )\r\n , ('tinyint' , 3401 ) , ('bit' , 3501 ) if @DebugSwitch > 0 begin print 'vergleich' select v.Parameter1, v.Parameter2 as typ_alt, n.Parameter2 as typ_neu\r\n, v.Parameter3 as laenge_alt, n.Parameter3 as laenge_neu, vd.SortOrder / 1000 as GruppeV, nd.SortOrder / 1000 as GruppeN from @Vorher v join @nachher n\r\n on v.Parameter1 = n.Parameter1 join @Datatypes vd on v.Parameter2 = vd.Datatype join @Datatypes nd on n.Parameter2 = nd.Datatype end if exists (select\r\n top 1 1 from ( select v.Parameter1, v.Parameter2 as typ_alt, n.Parameter2 as typ_neu, v.Parameter3 as laenge_alt, n.Parameter3 as laenge_neu from @Vorher\r\n v join @nachher n on v.Parameter1 = n.Parameter1 join @Datatypes vd on v.Parameter2 = vd.Datatype join @Datatypes nd on n.Parameter2 = nd.Datatype where\r\n nd.SortOrder / 1000 <> vd.SortOrder / 1000  or dbo.QBM_FCVStringToInt(v.Parameter3, 0) > dbo.QBM_FCVStringToInt(n.Parameter3,0)  or (v.Parameter1 like\r\n 'X%' and (v.Parameter3 <> n.Parameter3 or v.Parameter2 <> n.Parameter2 ) ) ) as x ) begin raiserror('#LDS#Custom extension would change datatype(s) of the view-columns.|'\r\n, 18, 1) with nowait goto endlabel end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PViewBuildP",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.907",
      "ModifyDate": "2026-04-14T23:20:27.123",
      "Definition": "   create   procedure QBM_PViewBuildP ( @UID_TablePattern varchar(38) = '%' , @dummy1 varchar(38) = '' , @GenProcID varchar(38) = '' , @AutoCorrectColumns\r\n bit = 0 ) as begin  declare @UID_DialogTable varchar(38) declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @ElementBuffer QBM_YCursorBuffer\r\n declare @ElementCount int declare @ElementIndex int SET XACT_ABORT OFF BEGIN TRY if isnull(@GenProcID, '') = '' begin select @GenProcID = @GenProcID_R\r\n end  insert into @ElementBuffer (UID1) select x.UID_DialogTable from ( select t.UID_DialogTable as UID_DialogTable, def.SortOrder from dialogtable t join\r\n QBMModuleDef def on LEFT(t.uid_dialogtable, 3) = def.ModuleName where t.tabletype = 'P' and ( t.UID_DialogTable like @UID_TablePattern ) union  select\r\n @UID_TablePattern, 0 where charindex('%', @UID_TablePattern ) = 0 and @UID_TablePattern > ' ' ) as x order by x.SortOrder, x.UID_DialogTable select @ElementCount\r\n = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @uid_Dialogtable = bu.UID1 from @ElementBuffer bu where \r\nbu.ElementIndex = @ElementIndex exec QBM_PViewBuildP_intern @uid_Dialogtable, @GenProcID, @AutoCorrectColumns = @AutoCorrectColumns select @ElementIndex\r\n += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow,\r\n 18, 1) WITH NOWAIT END CATCH  ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PViewBuildP_intern",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.897",
      "ModifyDate": "2026-04-14T23:20:27.11",
      "Definition": "         create   procedure QBM_PViewBuildP_intern ( @UID_DialogTableP varchar(38), @GenProcID varchar(38) , @ModuleName varchar(3) = '' , @AutoCorrectColumns\r\n bit = 0 ) as begin declare @SQLcmd nvarchar(max) declare @queryAdd nvarchar(max) declare @UID_TableBase varchar(38) declare @TableNameBase varchar(30)\r\n declare @QueryWork nvarchar(max) declare @UID_QBMViewAddOn varchar(38) declare @Ident_QBMViewAddOn nvarchar(64) declare @TableNameP varchar(30) declare\r\n @DebugSwitch int = 0 declare @WhereClauseExcludeTable nvarchar(max) declare @DebugLevel varchar(1) = 'W' declare @ElementLast int declare @ElementBufferMulti\r\n QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int SET XACT_ABORT OFF BEGIN TRY select @TableNameP = dbo.QBM_FGITableName(@UID_DialogTableP\r\n) IF @DebugSwitch > 0 begin print '@TableNameP ' + @TableNameP end if exists (select top 1 1 from information_schema.tables where table_name = @TableNameP\r\n and table_type = 'VIEW' ) and not exists (select top 1 1 from dialogtable t where t.TableName = @TableNameP ) begin exec QBM_PViewDrop @TableNameP end\r\n if not exists (select top 1 1 from DialogTable t where t.TableName = @TableNameP and t.TableType = 'P' ) begin goto endLabel end  if not exists (select\r\n top 1 1 from DialogTable t where t.UID_DialogTable = @UID_DialogTableP )  or not exists (select top 1 1 from DialogTable t where t.UID_DialogTableUnion\r\n = @UID_DialogTableP ) begin goto endLabel end delete QBMViewAddOn where uid_Dialogtable = @UID_DialogTableP and IsGenerated = 1   insert into @ElementBufferMulti\r\n (UID1  , Ident1  , ContentFull, ContentShort) select t.UID_DialogTable, t.TableName, t.ExtensionForProxyTable  , case t.IsDeactivatedByPreprocessor when\r\n 1 then ' where ( 1= 0) -- table deactivated ' else '' end as WhereClauseExcludeTable from DialogTable t where t.UID_DialogTableUnion = @UID_DialogTableP\r\n select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast\r\n begin select top 1 @UID_TableBase = bu.UID1 , @TableNameBase = bu.Ident1 , @queryAdd = bu.ContentFull , @WhereClauseExcludeTable = bu.ContentShort from\r\n @ElementBufferMulti bu where bu.ElementIndex = @ElementIndex select @Ident_QBMViewAddOn = left(concat( @TableNameP , ' : ' , @TableNameBase ) , 64) if\r\n @DebugSwitch > 0 begin print '@UID_TableBase ' + @UID_TableBase end select @QueryWork = string_agg( convert(nvarchar(max), b.ColumnName + ' as ' + p.ColumnName\r\n )  , N', ' )  from DialogColumn b with (readpast) join DialogColumn p with (readpast) on b.UID_DialogColumnUnionView = p.UID_DialogColumn where b.UID_DialogTable\r\n = @UID_TableBase  and p.UID_DialogTable = @UID_DialogTableP if @queryAdd > ' ' begin select @QueryWork = @QueryWork + ', ' + @queryAdd end if @DebugSwitch\r\n > 0 begin print 'len @QueryWork ' + str(len(@QueryWork)) print '@QueryWork ' + @QueryWork + '#' end  if @QueryWork > ' ' begin select @QueryWork = concat\r\n('select ' , @QueryWork, '\r\n\t\t\t\t\tfrom ' , @TableNameBase , '\r\n\t\t\t\t\t' , @WhereClauseExcludeTable )   select @UID_QBMViewAddOn = dbo.QBM_FCVGuidToTransfer\r\n( NEWID(), 'ZZZ') insert into QBMViewAddOn ( UID_QBMViewAddOn, UID_DialogTable, QueryString , Ident_QBMViewAddOn , IsGenerated , XDateInserted, XDateUpdated\r\n, XUserInserted, XUserUpdated , XObjectKey ) select @UID_QBMViewAddOn, @UID_DialogTableP, @QueryWork , @Ident_QBMViewAddOn , 1  , GETUTCDATE(), GETUTCDATE\r\n(), OBJECT_NAME(@@PROCID), OBJECT_NAME(@@PROCID) , dbo.QBM_FCVElementToObjectKey1('QBMViewAddOn', 'UID_QBMViewAddOn', @UID_QBMViewAddOn) end  else begin\r\n if @DebugSwitch > 0 begin print 'Tabelle ohne aufzubauende Spalten ' + @UID_TableBase end end select @ElementIndex += 1 end  if @DebugSwitch > 0 begin\r\n select * from QBMViewAddOn where UID_DialogTable = @UID_DialogTableP end  exec QBM_PViewBuild_FromAddOn @uid_dialogtableP if @AutoCorrectColumns = 1 begin\r\n exec QBM_PDialogColumnDelete @TableNameP , @GenProcID exec QBM_PDialogColumnInsert @TableNameP , @GenProcID, @ModuleName end END TRY BEGIN CATCH exec \r\nQBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PViewBuildPrepareVPUR",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.967",
      "ModifyDate": "2026-04-14T23:20:27.207",
      "Definition": "   create   procedure QBM_PViewBuildPrepareVPUR (@TablePattern varchar(30) , @ModuleOwner varchar(3) ) as begin declare @ElementBuffer QBM_YCursorBuffer\r\n declare @ElementCount int declare @ElementIndex int declare @TableName varchar(30) declare @Debugswitch int = 0 SET XACT_ABORT OFF BEGIN TRY insert into\r\n @ElementBuffer(Ident1) select t.TableName from DialogTable t where dbo.QBM_FCVGUIDToModuleOwner(t.UID_DialogTable) = @ModuleOwner and t.TableType in (\r\n'V', 'P', 'U', 'R') and t.TableName like @TablePattern select @ElementCount = @@rowcount select @ElementIndex = 1 while @ElementIndex <= @ElementCount \r\nbegin select top 1 @TableName = bu.Ident1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex if @Debugswitch > 0 begin print @tablename end exec\r\n QBM_PViewDrop @tablename, @Force = 1 select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000\r\n) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH  ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PViewBuildR",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.95",
      "ModifyDate": "2026-04-14T23:20:27.183",
      "Definition": "   create   procedure QBM_PViewBuildR ( @UID_TablePattern varchar(38) = '%' , @dummy1 varchar(38) = '' , @GenProcID varchar(38) = '' , @AutoCorrectColumns\r\n bit = 0 ) as begin  declare @UID_DialogTable varchar(38)  declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @DebugSwitch int = \r\n0 declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int SET XACT_ABORT OFF BEGIN TRY if isnull(@GenProcID, '') =\r\n '' begin select @GenProcID = @GenProcID_R end insert into @ElementBuffer (UID1) select x.UID_DialogTable from ( select UID_DialogTable as UID_DialogTable\r\n, def.SortOrder from dialogtable t join QBMModuleDef def on LEFT(t.uid_dialogtable, 3) = def.ModuleName where t.tabletype = 'R' and ( t.UID_DialogTable\r\n like @UID_TablePattern ) union  select @UID_TablePattern, 0 where charindex('%', @UID_TablePattern ) = 0 and @UID_TablePattern > ' ' ) as x order by x.SortOrder\r\n, x.UID_DialogTable select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @UID_DialogTable\r\n = bu.UID1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex if @Debugswitch > 0 begin print @UID_DialogTable end exec QBM_PViewBuildR_intern\r\n @UID_DialogTable , @GenProcID, @AutoCorrectColumns = @AutoCorrectColumns select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd \r\ndefault declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PViewBuildR_intern",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.937",
      "ModifyDate": "2026-04-14T23:20:27.16",
      "Definition": "       create   procedure QBM_PViewBuildR_intern ( @UID_DialogTableR varchar(38), @GenProcID varchar(38) , @ModuleName varchar(3) = '' , @AutoCorrectColumns\r\n bit = 0 ) as begin  declare @SQLcmd nvarchar(max) declare @TableNameR varchar(38) declare @DebugSwitch int = 0 declare @DebugLevel varchar(1) = 'W' SET\r\n XACT_ABORT OFF BEGIN TRY select @TableNameR = dbo.QBM_FGITableName(@UID_DialogTableR) if exists (select top 1 1 from information_schema.tables where table_name\r\n = @TableNameR and table_type = 'VIEW' ) and not exists (select top 1 1 from dialogtable t where t.TableName = @TableNameR ) begin exec QBM_PViewDrop @TableNameR\r\n end if not exists (select top 1 1 from DialogTable t where t.TableName = @TableNameR and t.TableType = 'R' ) begin goto endLabel end if not exists (select\r\n top 1 1 from DialogTable t where t.UID_DialogTable = @UID_DialogTableR ) begin goto endLabel end if @DebugSwitch > 0 begin select * from QBMViewAddOn \r\nwhere UID_DialogTable = @UID_DialogTableR end  exec QBM_PViewBuild_FromAddOn @UID_DialogTableR if @AutoCorrectColumns = 1 begin exec QBM_PDialogColumnDelete\r\n @TableNameR , @GenProcID exec QBM_PDialogColumnInsert @TableNameR , @GenProcID, @ModuleName end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default \r\ndeclare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PViewBuildU",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.927",
      "ModifyDate": "2026-04-14T23:20:27.15",
      "Definition": "  create   procedure QBM_PViewBuildU ( @UID_TablePattern varchar(38) = '%' , @dummy1 varchar(38) = '' , @GenProcID varchar(38) = '' , @AutoCorrectColumns\r\n bit = 0 ) as begin  declare @UID_DialogTable varchar(38)  declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @DebugSwitch int = \r\n0 declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int SET XACT_ABORT OFF BEGIN TRY if isnull(@GenProcID, '') =\r\n '' begin select @GenProcID = @GenProcID_R end insert into @ElementBuffer (UID1) select x.UID_DialogTable from ( select UID_DialogTable as UID_DialogTable\r\n, def.SortOrder from dialogtable t join QBMModuleDef def on LEFT(t.uid_dialogtable, 3) = def.ModuleName where t.tabletype = 'U' and ( t.UID_DialogTable\r\n like @UID_TablePattern ) union  select @UID_TablePattern, 0 where charindex('%', @UID_TablePattern ) = 0 and @UID_TablePattern > ' ' ) as x order by x.SortOrder\r\n, x.UID_DialogTable select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @UID_DialogTable\r\n = bu.UID1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex if @DebugSwitch > 0 begin print 'creating U-view for ' + @UID_DialogTable end exec\r\n QBM_PViewBuildU_intern @UID_DialogTable , @GenProcID, @AutoCorrectColumns = @AutoCorrectColumns select @ElementIndex += 1 end  END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH  ende:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PViewBuildU_intern",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.917",
      "ModifyDate": "2026-04-14T23:20:27.137",
      "Definition": "      create   procedure QBM_PViewBuildU_intern ( @UID_DialogTableU varchar(38) , @GenProcID varchar(38) , @ModuleName varchar(3) = '' , @AutoCorrectColumns\r\n bit = 0 ) as begin  declare @SQLcmd nvarchar(max) declare @TableNameU varchar(38) declare @DebugSwitch int = 0 declare @DebugLevel varchar(1) = 'W' declare\r\n @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY select @TableNameU = dbo.QBM_FGITableName\r\n(@UID_DialogTableU) if exists (select top 1 1 from information_schema.tables where table_name = @TableNameu and table_type = 'VIEW' ) and not exists (select\r\n top 1 1 from DialogTable t where t.TableName = @TableNameU ) begin exec QBM_PViewDrop @TableNameU end if not exists (select top 1 1 from DialogTable t\r\n where t.TableName = @TableNameU and t.TableType = 'U' ) begin goto endLabel end  if not exists (select top 1 1 from DialogTable t where t.UID_DialogTable\r\n = @UID_DialogTableU ) begin goto endLabel end if @DebugSwitch > 0 begin select * from QBMViewAddOn where UID_DialogTable = @UID_DialogTableU end  exec\r\n QBM_PViewBuild_FromAddOn @UID_DialogTableU if @AutoCorrectColumns = 1 begin exec QBM_PDialogColumnDelete @TableNameU , @GenProcID exec QBM_PDialogColumnInsert\r\n @TableNameU , @GenProcID, @ModuleName  if not exists (select top 1 1 from DialogTable t with (readpast) join DialogColumn c with (readpast) on t.UID_DialogTable\r\n = c.UID_DialogTable where t.TableName = @TableNameU and c.IsPKMember = 1 ) begin if @DebugSwitch = 1 begin print 'bisher kein PK gefunden' end  Update\r\n DialogColumn set IsPKMember = 1 , XDateUpdated = @Xdate , XUserUpdated = @XUser from DialogTable t with (readpast) join DialogColumn c with (readpast)\r\n on t.UID_DialogTable = c.UID_DialogTable where t.TableName = @TableNameU and c.ColumnName = 'XObjectKey' end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PViewBuildV",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.883",
      "ModifyDate": "2026-04-14T23:20:27.09",
      "Definition": "   create   procedure QBM_PViewBuildV ( @UID_TablePattern varchar(38) = '%' , @dummy1 varchar(38) = '%' , @GenProcID varchar(38) = '%' , @AutoCorrectColumns\r\n bit = 0 ) as begin  declare @UID_DialogTable varchar(38)  declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @ElementBuffer QBM_YCursorBuffer\r\n declare @ElementCount int declare @ElementIndex int SET XACT_ABORT OFF BEGIN TRY if isnull(@GenProcID, '') = '' begin select @GenProcID = @GenProcID_R\r\n end insert into @ElementBuffer (UID1) select x.UID_DialogTable from ( select t.UID_DialogTable as UID_DialogTable, def.SortOrder from dialogtable t join\r\n dialogtable b on t.UID_DialogTableBase = b.UID_DialogTable join QBMModuleDef def on LEFT(t.uid_dialogtable, 3) = def.ModuleName where t.tabletype = 'V'\r\n and b.tabletype in ('B') and ( t.UID_DialogTable like @UID_TablePattern ) union  select @UID_TablePattern, 0 where charindex('%', @UID_TablePattern ) \r\n= 0 and @UID_TablePattern > ' ' ) as x order by x.SortOrder, x.UID_DialogTable select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex\r\n <= @ElementCount begin select top 1 @UID_DialogTable = bu.UID1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex exec QBM_PViewBuildV_intern\r\n @UID_DialogTable , @GenProcID, @AutoCorrectColumns = @AutoCorrectColumns select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd \r\ndefault declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH  ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PViewBuildV_intern",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.873",
      "ModifyDate": "2026-04-14T23:20:27.073",
      "Definition": "   create   procedure QBM_PViewBuildV_intern ( @UID_DialogTableV varchar(38), @GenProcID varchar(38) , @ModuleName varchar(3) = '' , @AutoCorrectColumns\r\n bit = 0 ) as begin  declare @viewwhereclause nvarchar (max) declare @SQLcmd nvarchar(max) declare @cr nvarchar(16) = nchar(13) + nchar(10) declare @AnzahlSpalten\r\n int = 0 declare @uid_dialogTableBase varchar(38) declare @basetablename varchar(39) declare @TableNameV varchar(30) declare @IsDeactivatedByPreProcessor\r\n bit declare @DebugSwitch int = 0 declare @DebugLevel varchar(1) = 'W' declare @ErrorMessage nvarchar(4000) declare @ErrorSeverity int declare @ErrorState\r\n int  SET XACT_ABORT OFF BEGIN TRY select top 1 @viewwhereclause = ViewWhereClause , @uid_dialogTableBase = UID_DialogTableBase , @basetablename = dbo.QBM_FGITableName\r\n(UID_DialogTableBase) , @IsDeactivatedByPreProcessor = t.IsDeactivatedByPreProcessor from DialogTable t with (readpast) where t.UID_DialogTable = @UID_DialogTableV\r\n  and exists (select top 1 1 from information_schema.tables tt where tt.table_name = dbo.QBM_FGITableName(t.UID_DialogTableBase) ) if @IsDeactivatedByPreProcessor\r\n = 1 begin select @viewwhereclause = ' 1 = 0 ' end select @TableNameV = dbo.QBM_FGITableName(@UID_DialogTableV)  if @DebugSwitch > 0 begin print @viewwhereclause\r\n end  if exists (select top 1 1 from information_schema.tables where table_name = @TableNameV and table_type = 'VIEW' ) and not exists (select top 1 1 \r\nfrom DialogTable t where t.TableName = @TableNameV ) begin exec QBM_PViewDrop @TableNameV end if not exists (select top 1 1 from DialogTable t where t.TableName\r\n = @TableNameV and t.TableType = 'V' ) begin goto endLabel end select @SQLcmd = N'create or alter view dbo.' + @TableNameV + N' as ' + @cr + N' select '\r\n + @cr select @SQLcmd = @SQLcmd + string_agg(convert(nvarchar(max), nchar(9) + b.ColumnName + N' as ' + v.ColumnName )  , N',' +nchar(13) + nchar(10) )\r\n  from dialogcolumn v with (readpast) join DialogColumn b with (readpast) on v.uid_basecolumn = b.uid_dialogcolumn join DialogTable tb with (readpast) \r\non b.UID_DialogTable = tb.UID_DialogTable join DialogTable tv with (readpast) on v.UID_DialogTable = tv.UID_DialogTable  join QBM_VSchemaColumns cb on \r\ntb.TableName = cb.table_name and b.columnname = cb.column_name where tv.UID_DialogTable = @UID_DialogTableV  and tb.UID_DialogTable= @uid_dialogTableBase\r\n select @AnzahlSpalten = @@ROWCOUNT       select @SQLcmd = concat(@SQLcmd , @cr , N' from ' , @basetablename , @cr , N' where ' , @viewwhereclause , @cr\r\n) if @DebugSwitch > 0 begin print @SQLcmd end if @AnzahlSpalten > 0 begin  exec QBM_PSQLCreate @TableNameV, 'V', @SQLcmd, @UnComment = 0 end else begin\r\n  exec QBM_PViewDrop @TableNameV end if @AutoCorrectColumns = 1 begin exec QBM_PDialogColumnDelete @TablenameV, @GenProcID exec QBM_PDialogColumnInsert\r\n @TablenameV, @GenProcID, @ModuleName end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PViewDrop",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:00.49",
      "ModifyDate": "2026-04-14T23:14:10.037",
      "Definition": "   create   procedure QBM_PViewDrop (@pattern nvarchar(255) , @force bit = 0 )  as begin  declare @SQLcmd nvarchar(max) declare @name nvarchar(255\r\n)  declare @LengthMessage nvarchar(256) = '#LDS#Name of Element {0} is too long (30).|' declare @ElementBuffer QBM_YCursorBuffer    declare @ElementCount\r\n int declare @ElementIndex int declare @crlf nvarchar(16) = nchar(13) + nchar(10) declare @CommentCode bit = 0 declare @DebugSwitch int = 0 SET XACT_ABORT\r\n OFF BEGIN TRY if @@NESTLEVEL < 2  begin if exists (select top 1 1 from sys.tables t where t.name = 'QBMModuleDef' ) begin if exists (select top 1 1 from\r\n QBMModuleDef d where d.UID_ModuleDef = 'MDK-Moduledefinition' ) and exists (select top 1 1 from information_schema.routines r where r.ROUTINE_type = N'function'\r\n and r.ROUTINE_NAME = 'QBM_FSQObjectComment' ) begin select @CommentCode = 1 end end end insert into @ElementBuffer(LongIdent1, ContentFull) select v.name\r\n , concat( case @CommentCode when 1 then concat('print dbo.QBM_FSQObjectComment (''' , v.name , ''')' , @crlf ) else '' end , 'drop view if exists \"' ,\r\n v.name , N'\"' )  from sys.views v where v.name like @pattern select @ElementCount = @@ROWCOUNT if exists (select top 1 1 from @ElementBuffer e where len\r\n(e.LongIdent1) > 30 and @force = 0 ) begin select top 1 @name = e.LongIdent1 from @ElementBuffer e where len(e.LongIdent1) > 30 select @LengthMessage =\r\n concat(@LengthMessage , @name , '|') raiserror(@LengthMessage, 18, 1) with nowait end select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin\r\n select top 1 @SQLcmd = bu.ContentFull from @ElementBuffer bu where bu.ElementIndex = @ElementIndex if @DebugSwitch > 0 begin print @sqlcmd end exec sp_executeSQL\r\n @SQLcmd select @ElementIndex += 1 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PWaitForSeconds",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.84",
      "ModifyDate": "2026-04-14T23:14:10.623",
      "Definition": "   create   procedure QBM_PWaitForSeconds (@SecondsToWait float )  as begin SET XACT_ABORT OFF BEGIN TRY declare @SQLcmd nvarchar(1024) declare \r\n@Timestring varchar(64) declare @SecondsToWait_intern float declare @hours int  declare @Minutes int  declare @Seconds int  declare @MilliSeconds int  \r\nselect @SecondsToWait_intern = case when @SecondsToWait > 7200.0 then 7200.0 when isnull(@SecondsToWait, 0.0) < 0.005 then 0.005 else @SecondsToWait end\r\n select @hours = convert(int, @SecondsToWait_intern) / 3600 select @SecondsToWait_intern -= convert(float, @hours) * 3600.0 select @Minutes = convert(int\r\n, @SecondsToWait_intern ) / 60 select @SecondsToWait_intern -= convert(float, @Minutes * 60) select @Seconds = convert(int, @SecondsToWait_intern ) select\r\n @SecondsToWait_intern -= convert(float, @Seconds)  select @MilliSeconds = round(@SecondsToWait_intern*1000.0, 0)  select @Timestring = dbo.QBM_FCVStringPadLeft\r\n( dbo.QBM_FCVIntToString(@hours), 2, '0') + ':' + dbo.QBM_FCVStringPadLeft( dbo.QBM_FCVIntToString(@Minutes), 2, '0') + ':' + dbo.QBM_FCVStringPadLeft(\r\n dbo.QBM_FCVIntToString(@Seconds), 2, '0') + '.' + dbo.QBM_FCVStringPadLeft( dbo.QBM_FCVIntToString(@MilliSeconds), 3, '0')  waitfor delay @timestring \r\nEND TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH\r\n NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PWatchDogPrepare",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.24",
      "ModifyDate": "2026-04-14T23:16:08.98",
      "Definition": "    create   procedure QBM_PWatchDogPrepare (@DeActivate bit = 0 ) as begin declare @AgentName nvarchar(256) declare @sqlcmd nvarchar(max) declare\r\n @DebugStarttime datetime = getutcdate() declare @DebugLevel char(1) = 'I' declare @Message nvarchar(1000) declare @AgentNameFull nvarchar(256) declare\r\n @GenprocID varchar(38) = newid() declare @XUser nvarchar(64) = object_name(@@procid) declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') \r\ndeclare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser') SET XACT_ABORT OFF BEGIN TRY exec QBM_PSessionContextSet 'XUser', @XUser if @DeActivate\r\n = 0 begin    if (select isnull(max(c.XDateUpdated), '1899-12-31') from DialogConfigParm c where c.FullPath like 'QBM\\DBServerProperties\\%' ) < (select\r\n b.create_date from sys.databases b where b.name = 'tempdb' ) and exists (select top 1 1  from QBMDBQueueTask t where t.UID_Task = 'QBM-K-GetServerProperties'\r\n ) begin exec QBM_PDBQueueInsert_Single 'QBM-K-GetServerProperties', '', '', @GenProcID end  goto ende  end if @DeActivate = 1 begin update DialogDatabase\r\n set UpdatePhase = 1  where IsMainDatabase = 1 and UpdatePhase = 0  end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000\r\n) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R exec\r\n QBM_PSessionContextSet 'XUser', @XUser_R return end  \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PWatchShrink",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.277",
      "ModifyDate": "2026-04-14T23:20:25.97",
      "Definition": "create   procedure QBM_PWatchShrink (@KeyPattern varchar(25) = '%'  ) as begin declare @GrenzDatum datetime declare @ReadyForDeleteOrExport int \r\ndeclare @BlockSize int = 100000 declare @lauf int declare @DebugSwitch int = 0 declare @DebugMessage nvarchar(1000) SET XACT_ABORT OFF BEGIN TRY exec QBM_PDialogProcessGetShrinkDef\r\n 'PropertyLog', @ReadyForDeleteOrExport output, @GrenzDatum output if @ReadyForDeleteOrExport = 0  begin goto EndLabel end  select @lauf = 1 while @lauf\r\n > 0 begin exec @lauf = QBM_PA164BD06A63979BC96DA633_a @Blocksize, @ReadyForDeleteOrExport, @KeyPattern, @GrenzDatum end    END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH EndLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PWorkDBQueueDelete",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.26",
      "ModifyDate": "2026-04-14T23:16:09",
      "Definition": "   create   procedure QBM_PWorkDBQueueDelete (@PartToDelete int    , @RunningSecondsMax int , @TimeLimitReached int output ) as begin declare @procname\r\n nvarchar(256) = concat(object_name(@@procid), trim(str(@PartToDelete))) declare @Starttime datetime = getutcdate() select @TimeLimitReached = 0  declare\r\n @AnzahlDialogDBQueue int = 0 declare @AnzahlQBMDBQueueCurrent int = 0 declare @AnzahlQBMDBQueuePond int = 0  if @PartToDelete = 1 begin select @AnzahlDialogDBQueue\r\n = 1 end if @PartToDelete = 2 begin select @AnzahlQBMDBQueueCurrent = 1 end if @PartToDelete = 3 begin select @AnzahlQBMDBQueuePond = 1 end if @PartToDelete\r\n not in (1,2,3) begin goto endlabel end declare @XUser nvarchar(64) = object_name(@@procid) declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext\r\n('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser') SET XACT_ABORT OFF BEGIN TRY exec QBM_PSessionContextSet 'XUser', @XUser       \r\n  if 0 = (select min(sign(len(ISNULL(p.name, '')))) as StartBisHierGeschafft from ( values ('QBMModuleDef')   , ('QBM_PSessionErrorAdd')   , ('QBM_FGISessionErrorIsDeadlock'\r\n)   , ('QBM_FGISessionErrorIsMissingCo')   , ('QBM_FGIDBQueueActivityDisabled') , ('QBM_PDialogDBQueueDelete') , ('QBM_PQBMDBQueueCurrentDelete')  , ('QBM_PTransactionLevelCheck'\r\n) , ('QBM_PWaitForSeconds') , ('QBMDBQueueCurrent')   , ('QBM_PQBMDBQueuePondDelete') ) as v (ProcedureName) left outer join sys.objects p with (readpast\r\n) on p.name = v.ProcedureName ) begin goto EndLabel end   exec QBM_PDBQueueAgentInfoSet @procname exec QBM_PTransactionLevelCheck 0, @@procid, 'at start'\r\n set deadlock_priority -10  set lock_timeout 50                      while (@AnzahlQBMDBQueueCurrent + @AnzahlDialogDBQueue + @AnzahlQBMDBQueuePond) > \r\n0 and @TimeLimitReached = 0 and dbo.QBM_FGIDBQueueActivityDisabled() = 0 begin set lock_timeout 50     if @AnzahlQBMDBQueueCurrent > 0 and @PartToDelete\r\n = 2  begin BEGIN TRY   exec @AnzahlQBMDBQueueCurrent = QBM_PQBMDBQueueCurrentDelete END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default if dbo.QBM_FGISessionErrorIsDeadlock\r\n(default) = 0 and dbo.QBM_FGISessionErrorIsMissingCo(default) = 0   begin RAISERROR ('', 18, 1) WITH NOWAIT end else begin select @AnzahlQBMDBQueueCurrent\r\n = 1 exec QBM_PSessionErrorClean end END CATCH end      if @AnzahlDialogDBQueue > 0 and @PartToDelete = 1  begin BEGIN TRY exec @AnzahlDialogDBQueue = \r\nQBM_PDialogDBQueueDelete END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default if dbo.QBM_FGISessionErrorIsDeadlock(default) = 0 and dbo.QBM_FGISessionErrorIsMissingCo\r\n(default) = 0   begin RAISERROR ('', 18, 1) WITH NOWAIT end else begin select @AnzahlDialogDBQueue = 1 exec QBM_PSessionErrorClean end END CATCH end   \r\n   if @AnzahlQBMDBQueuePond > 0 and @PartToDelete = 3  begin BEGIN TRY exec @AnzahlQBMDBQueuePond = QBM_PQBMDBQueuePondDelete END TRY BEGIN CATCH exec \r\nQBM_PSessionErrorAdd default if dbo.QBM_FGISessionErrorIsDeadlock(default) = 0 and dbo.QBM_FGISessionErrorIsMissingCo(default) = 0   begin RAISERROR (''\r\n, 18, 1) WITH NOWAIT end else begin select @AnzahlQBMDBQueuePond = 1 exec QBM_PSessionErrorClean end END CATCH end   exec QBM_PWaitForSeconds 0.040 if \r\nDATEDIFF(ss, @Starttime, getutcdate()) > @RunningSecondsMax begin select @TimeLimitReached = 1 end end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n if dbo.QBM_FGISessionErrorIsDeadlock(default) = 0 and dbo.QBM_FGISessionErrorIsMissingCo(default) = 0 begin declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT end else begin exec QBM_PSessionErrorClean end END CATCH endLabel: exec QBM_PSessionContextSet 'GenProcID', \r\n@GenProcID_R exec QBM_PSessionContextSet 'XUser', @XUser_R  exec QBM_PDBQueueAgentInfoSet @procname, 1 set lock_timeout -1 return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PWorkHistoryDelete",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.273",
      "ModifyDate": "2026-04-14T23:16:09.007",
      "Definition": "  create   procedure QBM_PWorkHistoryDelete as begin declare @procname nvarchar(256) = object_name(@@procid) declare @Starttime datetime = getutcdate\r\n() declare @RunningMinutesMax int = 5 declare @AnzahlDialogWatchOperation int = 1 declare @AnzahlDialogProcessChain int = 1 declare @AnzahlDialogProcess\r\n int = 1 declare @AnzahlDialogProcessSubst int = 1 declare @AnzahlDialogJournal int = 1 declare @AnzahlJobHistory int = 1 declare @AnzahlCEFMessage int\r\n = 1 declare @AnzahlLoginAudit int = 1 declare @BulkCountDialogWatchOperation int declare @TotalCountDialogWatchOperation int declare @BulkCountDialogProcessChain\r\n int declare @TotalCountDialogProcessChain int declare @BulkCountDialogProcess int declare @TotalCountDialogProcess int declare @BulkCountJobHistory int\r\n declare @TotalCountJobHistory int declare @BulkCountDialogProcessSubst int declare @TotalCountDialogProcessSubst int declare @XUser nvarchar(64) = object_name\r\n(@@procid) declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser') SET XACT_ABORT\r\n OFF BEGIN TRY exec QBM_PSessionContextSet 'XUser', @XUser         if 0 = (select min(sign(len(ISNULL(p.name, '')))) as StartBisHierGeschafft from ( values\r\n ('QBMModuleDef')  , ('QBM_FCVStringToInt') , ('QBM_FGIConfigparmValue')  , ('QBM_PSessionErrorAdd')   , ('QBM_FGISessionErrorIsDeadlock')   , ('QBM_FGIMaintenanceRunning'\r\n) , ('QBM_FGIDBQueueActivityDisabled') , ('QBM_PDeleteBulk') , ('QBM_PJournalShrink')  , ('QBM_PTransactionLevelCheck') , ('QBM_PWaitForSeconds') ) as \r\nv (ProcedureName) left outer join sys.objects p with (readpast) on p.name = v.ProcedureName ) begin goto EndLabel end   exec QBM_PDBQueueAgentInfoSet @procname\r\n  if dbo.QBM_FGIMaintenanceRunning() > ' ' begin goto endLabel end  exec QBM_PTransactionLevelCheck 0, @@procid, 'at start' set deadlock_priority -10  \r\nset lock_timeout 50     select @BulkCountJobHistory = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue( 'Common\\ProcessState\\JobHistory\\Delete\\BulkCount'\r\n), 200) select @TotalCountJobHistory = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue( 'Common\\ProcessState\\JobHistory\\Delete\\TotalCount'), 10000) select\r\n @BulkCountDialogProcess = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue( 'Common\\ProcessState\\Delete\\BulkCount'), 500) select @TotalCountDialogProcess\r\n = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue( 'Common\\ProcessState\\Delete\\TotalCount'), 10000) select @BulkCountDialogProcessSubst = @BulkCountDialogProcess\r\n select @TotalCountDialogProcessSubst = @TotalCountDialogProcess select @BulkCountDialogProcessChain = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue\r\n( 'Common\\ProcessState\\ProgressView\\Delete\\BulkCount'), 200) select @TotalCountDialogProcessChain = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue( \r\n'Common\\ProcessState\\ProgressView\\Delete\\TotalCount'), 10000) select @BulkCountDialogWatchOperation = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue\r\n( 'Common\\ProcessState\\PropertyLog\\Delete\\BulkCount'), 200) select @TotalCountDialogWatchOperation = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue(\r\n 'Common\\ProcessState\\PropertyLog\\Delete\\TotalCount'), 10000) while ( @AnzahlDialogWatchOperation + @AnzahlDialogProcessChain + @AnzahlDialogProcess + \r\n@AnzahlDialogProcessSubst + @AnzahlDialogJournal + @AnzahlJobHistory + @AnzahlCEFMessage + @AnzahlLoginAudit) > 0 and DATEDIFF(mi, @Starttime, getutcdate\r\n()) <= @RunningMinutesMax and dbo.QBM_FGIDBQueueActivityDisabled() = 0 begin set lock_timeout 50     if @AnzahlDialogWatchOperation > 0 begin BEGIN TRY\r\n exec @AnzahlDialogWatchOperation = QBM_PDeleteBulk 'DialogWatchOperation', 'ReadyForDeleteOrExport = 1', @BulkCountDialogWatchOperation, @TotalCountDialogWatchOperation\r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default if dbo.QBM_FGISessionErrorIsDeadlock(default) = 0   begin RAISERROR ('', 18, 1) WITH NOWAIT end \r\nelse begin select @AnzahlDialogWatchOperation = 1 exec QBM_PSessionErrorClean end END CATCH end     if @AnzahlDialogProcessChain > 0 begin BEGIN TRY exec\r\n @AnzahlDialogProcessChain = QBM_PDeleteBulk 'dialogProcesschain', 'ReadyForDeleteOrExport = 1', @BulkCountDialogProcessChain, @TotalCountDialogProcessChain\r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default if dbo.QBM_FGISessionErrorIsDeadlock(default) = 0 begin RAISERROR ('', 18, 1) WITH NOWAIT end else\r\n begin select @AnzahlDialogProcessChain = 1 exec QBM_PSessionErrorClean end END CATCH end     if @AnzahlDialogProcessSubst > 0 begin BEGIN TRY exec @AnzahlDialogProcessSubst\r\n = QBM_PDeleteBulk 'DialogProcessSubstitute', 'ReadyForDeleteOrExport = 1 ', @BulkCountDialogProcessSubst, @TotalCountDialogProcessSubst END TRY BEGIN \r\nCATCH exec QBM_PSessionErrorAdd default if dbo.QBM_FGISessionErrorIsDeadlock(default) = 0 begin RAISERROR ('', 18, 1) WITH NOWAIT end else begin select\r\n @AnzahlDialogProcessSubst = 1 exec QBM_PSessionErrorClean end END CATCH end     if @AnzahlDialogProcess > 0 begin BEGIN TRY exec @AnzahlDialogProcess \r\n= QBM_PDeleteBulk 'DialogProcess', 'ReadyForDeleteOrExport = 1 ', @BulkCountDialogProcess, @TotalCountDialogProcess END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default if dbo.QBM_FGISessionErrorIsDeadlock(default) = 0 begin RAISERROR ('', 18, 1) WITH NOWAIT end else begin select @AnzahlDialogProcess = 1 exec \r\nQBM_PSessionErrorClean end END CATCH end     if @AnzahlDialogJournal > 0 begin BEGIN TRY exec @AnzahlDialogJournal = QBM_PJournalShrink END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default if dbo.QBM_FGISessionErrorIsDeadlock(default) = 0 begin RAISERROR ('', 18, 1) WITH NOWAIT end else begin select @AnzahlDialogJournal\r\n = 1 exec QBM_PSessionErrorClean end END CATCH end     if @AnzahlJobHistory > 0 begin BEGIN TRY exec @AnzahlJobHistory = QBM_PDeleteBulk 'JobHistory', \r\n'ReadyForDeleteOrExport = 1', @BulkCountJobHistory, @TotalCountJobHistory END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default if dbo.QBM_FGISessionErrorIsDeadlock\r\n(default) = 0 begin RAISERROR ('', 18, 1) WITH NOWAIT end else begin select @AnzahlJobHistory = 1 exec QBM_PSessionErrorClean end END CATCH end     if \r\n@AnzahlCEFMessage > 0 begin BEGIN TRY exec @AnzahlCEFMessage = QBM_PDeleteBulk 'QBMCEFMessage', 'IsProcessed = 1', 500  , 10000  END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default if dbo.QBM_FGISessionErrorIsDeadlock(default) = 0 begin RAISERROR ('', 18, 1) WITH NOWAIT end else begin select @AnzahlCEFMessage\r\n = 1 exec QBM_PSessionErrorClean end END CATCH end     if @AnzahlLoginAudit > 0 begin BEGIN TRY exec @AnzahlLoginAudit = QBM_PLoginAuditShrink END TRY \r\nBEGIN CATCH exec QBM_PSessionErrorAdd default if dbo.QBM_FGISessionErrorIsDeadlock(default) = 0 begin RAISERROR ('', 18, 1) WITH NOWAIT end else begin \r\nselect @AnzahlLoginAudit = 1 exec QBM_PSessionErrorClean end END CATCH end   exec QBM_PWaitForSeconds 0.040 end   if exists (select top 1 1 from jobhistory\r\n group by uid_job having count (*) > 1) begin delete JobHistory where UID_JobHistory in (select max(UID_JobHistory) from JobHistory group by UID_Job having\r\n count(*) > 1 ) end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default if dbo.QBM_FGISessionErrorIsDeadlock(default) = 0 begin declare @Rethrow varchar\r\n(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT end else begin exec QBM_PSessionErrorClean end END CATCH endLabel: exec\r\n QBM_PSessionContextSet 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet 'XUser', @XUser_R  exec QBM_PDBQueueAgentInfoSet @procname, 1 set lock_timeout\r\n -1 return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PWorkJobQueueDelete",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.287",
      "ModifyDate": "2026-04-14T23:16:09.013",
      "Definition": "  create   procedure QBM_PWorkJobQueueDelete as begin declare @ErrorMessage nvarchar(4000) declare @ErrorSeverity int declare @ErrorState int declare\r\n @procname nvarchar(256) = object_name(@@procid) declare @Starttime datetime = getutcdate() declare @RunningMinutesMax int = 5 declare @AnzahlJobQueue \r\nint = 1 declare @AnzahlJobQueueStats int = 1 declare @XUser nvarchar(64) = object_name(@@procid) declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext\r\n('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser') SET XACT_ABORT OFF BEGIN TRY exec QBM_PSessionContextSet 'XUser', @XUser       \r\n   if 0 = (select min(sign(len(ISNULL(p.name, '')))) as StartBisHierGeschafft from ( values ('QBMModuleDef')  , ('JobQueue')  , ('QBM_PSessionErrorAdd'\r\n)   , ('QBM_FGISessionErrorIsDeadlock')   , ('QBM_FGIMaintenanceRunning_M') , ('QBM_FGIDBQueueActivityDisabled') , ('QBM_PJobQueueDelete') , ('QBM_PJobQueueStatsShrink'\r\n)  , ('QBM_PTransactionLevelCheck') , ('QBM_PWaitForSeconds') , ('QBMElementAffectedByJob') ) as v (ProcedureName) left outer join sys.objects p with (readpast\r\n) on p.name = v.ProcedureName ) begin goto EndLabel end   exec QBM_PDBQueueAgentInfoSet @procname    if dbo.QBM_FGIMaintenanceRunning_M(1) > ' ' begin \r\ngoto endLabel end  exec QBM_PTransactionLevelCheck 0, @@procid, 'at start' set deadlock_priority -10  set lock_timeout 50  while (@AnzahlJobQueue + @AnzahlJobQueueStats\r\n) > 0 and DATEDIFF(mi, @Starttime, getutcdate()) <= @RunningMinutesMax and dbo.QBM_FGIDBQueueActivityDisabled() = 0 begin set lock_timeout 50     if @AnzahlJobQueue\r\n > 0 begin  BEGIN TRY exec @AnzahlJobQueue = QBM_PJobQueueDelete END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default if dbo.QBM_FGISessionErrorIsDeadlock\r\n(default) = 0 begin RAISERROR ('', 18, 1) WITH NOWAIT end else begin select @AnzahlJobQueue = 1 exec QBM_PSessionErrorClean end END CATCH end    if @AnzahlJobQueueStats\r\n > 0 begin BEGIN TRY exec @AnzahlJobQueueStats = QBM_PJobQueueStatsShrink END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default if dbo.QBM_FGISessionErrorIsDeadlock\r\n(default) = 0 begin RAISERROR ('', 18, 1) WITH NOWAIT end else begin select @AnzahlJobQueueStats = 1 exec QBM_PSessionErrorClean end END CATCH end   exec\r\n QBM_PWaitForSeconds 0.040 end  if exists (select top 1 1 from QBMElementAffectedByJob a with (readpast) left outer join JobQueue q with (readpast) on \r\na.UID_Job = q.UID_Job where q.UID_Job is null ) begin delete QBMElementAffectedByJob from QBMElementAffectedByJob a left outer join JobQueue q with (readpast\r\n) on a.UID_Job = q.UID_Job where q.UID_Job is null end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet 'XUser'\r\n, @XUser_R  exec QBM_PDBQueueAgentInfoSet @procname, 1 set lock_timeout -1 return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PWorkMaintenance",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.23",
      "ModifyDate": "2026-04-14T23:16:08.977",
      "Definition": "     create   procedure QBM_PWorkMaintenance  as begin declare @procname nvarchar(256) = object_name(@@procid) declare @UID_Job varchar(38) declare\r\n @ParamIn nvarchar(max) declare @SQLCmd nvarchar(max) declare @DebugSwitch int = 0 declare @angefangen datetime = getutcdate() declare @DebugMessage nvarchar\r\n(max) declare @DebugLevel varchar(1) = 'W' declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() declare @StatementBuffer\r\n QBM_YCursorbuffer declare @ElementCount int declare @ElementIndex int = 1 declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() declare @GenProcID_R\r\n varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser') SET XACT_ABORT OFF BEGIN TRY exec QBM_PSessionContextSet\r\n 'XUser', @XUser         if 0 = (select min(sign(len(ISNULL(p.name, '')))) as StartBisHierGeschafft from ( values ('QBMModuleDef')  , ('JobQueue') , ('QBM_FCVJobParameterToList'\r\n)  , ('QBM_PSessionErrorAdd')   , ('QBM_FGIDBQueueActivityDisabled') , ('QBM_PJournal')  , ('QBM_PTransactionLevelCheck') ) as v (ProcedureName) left outer\r\n join sys.objects p with (readpast) on p.name = v.ProcedureName ) begin goto EndLabel end   exec QBM_PDBQueueAgentInfoSet @procname exec QBM_PTransactionLevelCheck\r\n 0, @@procid, 'at start' set deadlock_priority 0  set lock_timeout 1000  if @DebugSwitch > 0 begin if exists ( select top 1 1 from JobQueue q with (readpast\r\n) where q.IsRootJob = 1 and q.ComponentClass = 'VI.JobService.JobComponents.SQLComponent' and q.TaskName = 'Execute SQL' and q.Queue = @procname and q.Ready2EXE\r\n = 'TRUE' ) begin select @DebugMessage = 'Entry QBM_PWorkMaintenance with jobs' exec QBM_PJournal @DebugMessage, @@procid, 'D', @DebugLevel end end insert\r\n into @StatementBuffer(UID1, ContentFull) select top 500 q.UID_Job, q.ParamIN from JobQueue q with (readpast) where q.IsRootJob = 1 and q.ComponentClass\r\n = 'VI.JobService.JobComponents.SQLComponent' and q.TaskName = 'Execute SQL' and q.Queue = @procname and q.Ready2EXE = 'TRUE' order by q.StartAt select\r\n @ElementCount = @@ROWCOUNT while DATEDIFF(ss, @angefangen, getutcdate()) < 59  and dbo.QBM_FGIDBQueueActivityDisabled() = 0 and @ElementIndex <= @ElementCount\r\n begin select top 1 @UID_Job = bu.UID1 , @ParamIn = bu.ContentFull from @StatementBuffer bu where bu.ElementIndex = @ElementIndex select top 1 @SQLCmd \r\n= x.ParameterValue from dbo.QBM_FCVJobParameterToList(@paramin)x where x.ParameterName = 'SQLStmt' if @DebugSwitch > 0 begin print @sqlcmd end BEGIN TRY\r\n exec QBM_PSessionErrorClean exec sp_executesql @SQLCmd  update JobQueue set Ready2EXE = 'DELETE'  , XDateUpdated = @Xdate , XUserUpdated = @XUser where\r\n UID_Job = @UID_Job END TRY BEGIN CATCH if dbo.QBM_FGISessionErrorIsDeadlock(default) = 0 begin if @DebugSwitch > 0 begin select dbo.QBM_FGISessionErrorForLog\r\n() end  exec QBM_PSessionErrorAdd default RAISERROR (@Rethrow, 18, 1) WITH NOWAIT end END CATCH select @ElementIndex += 1 end  END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet\r\n 'XUser', @XUser_R  exec QBM_PDBQueueAgentInfoSet @procname, 1 set lock_timeout -1 return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PWorkSchedule",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:37.32",
      "ModifyDate": "2026-04-14T23:16:09.033",
      "Definition": "  create   procedure QBM_PWorkSchedule as begin declare @procname nvarchar(256) = object_name(@@procid) declare @GenProcID varchar(38) = newid()\r\n declare @Xuser nvarchar(64) = object_name(@@procid) declare @SingleUserProcess int declare @SingleUserStart datetime declare @SingleUserReturnCode int\r\n declare @SecondsUntilResetSingleUser int = 600 declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext\r\n('XUser') declare @DebugLevel varchar(1) = 'W' SET XACT_ABORT OFF BEGIN TRY         if 0 = (select min(sign(len(ISNULL(p.name, '')))) as StartBisHierGeschafft\r\n from ( values ('QBMModuleDef')  , ('DialogDatabase') , ('DialogDBQueue') , ('DialogDeferredOperation') , ('QBM_FGIDBServerIsActive')  , ('QBM_PSessionErrorAdd'\r\n)   , ('QBM_FGISessionErrorIsDeadlock')   , ('QBM_PDBQueueInsert_Single')  , ('QBM_PSessionContextSet') , ('QBMDBQueueCurrent')  , ('QBMGuidReplace') )\r\n as v (ProcedureName) left outer join sys.objects p with (readpast) on p.name = v.ProcedureName ) begin goto EndLabel end   exec QBM_PDBQueueAgentInfoSet\r\n @procname exec QBM_PTransactionLevelCheck 0, @@procid, 'at start' set deadlock_priority 0  set lock_timeout 5000  select top 1 @SingleUserProcess = d.SingleUserProcess\r\n , @SingleUserStart = d.SingleUserStart from DialogDatabase d with (readpast) where d.IsMainDatabase = 1 if @SingleUserProcess is null begin select @SingleUserProcess\r\n = 0 end if @SingleUserProcess <> 0 begin if @SingleUserProcess > 0  begin  select @SingleUserReturnCode = dbo.QBM_FGIDBServerIsActive(@SingleUserProcess\r\n, @SecondsUntilResetSingleUser) if @SingleUserReturnCode in (-1, -2)  begin update DialogDatabase set SingleUserProcess = 0 , SingleUserStart = null where\r\n IsMainDatabase = 1 end if @SingleUserReturnCode in (0)  begin  if DATEADD(ss, @SecondsUntilResetSingleUser, @SingleUserStart) < getutcdate()  begin update\r\n DialogDatabase set SingleUserProcess = 0 , SingleUserStart = null where IsMainDatabase = 1 end end end end else begin  exec QBM_PSessionContextSet 'GenProcID'\r\n, @GenProcID exec QBM_PSessionContextSet 'XUser', @XUser exec QBM_PScheduleCheck   if not exists (select top 1 1 from QBMDBQueueCurrent cu with (nolock\r\n) where cu.UID_Task in ( 'QBM-K-TableReload'  , 'QBM-K-TableReplace'  ) and cu.SlotNumber > 0 )  and exists (select top 1 1 from QBMGuidReplace r join \r\nDialogDatabase d on r.UID_Database = d.UID_Database where d.IsMainDatabase = 1 ) begin if not exists (select top 1 1 from QBMDBQueueCurrent cu with (nolock\r\n) where cu.SlotNumber <> 0 and cu.UID_Task in ('QBM-K-TableReload' , 'QBM-K-TableReplace' ) ) and not exists (select top 1 1 from DialogDBQueue q with \r\n(nolock) where q.UID_Task in ('QBM-K-TableReload' , 'QBM-K-TableReplace', 'QBM-K-GUIDReplaceReady' )    ) begin exec QBM_PDBQueueInsert_Single 'QBM-K-Commonrecalculate'\r\n, 'QBM-K-TableReplace', '', @GenProcID exec QBM_PDBQueueInsert_Single 'QBM-K-GUIDReplaceReady', '', '', @GenProcID end end  end  if exists (select top \r\n1 1 from dialogdeferredoperation where TargetDate < GetUTCDate() and isnull(xtouched, '') <> 'X' ) begin exec QBM_PDBQueueInsert_Single 'QBM-K-DeferredOperationExecute'\r\n , null, null, @GenprocID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default if dbo.QBM_FGISessionErrorIsDeadlock(default) = 0 begin declare @Rethrow\r\n varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT end else begin exec QBM_PJournal 'SessionError', @@procid, 'I'\r\n, @DebugLevel exec QBM_PSessionErrorClean end END CATCH endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet 'XUser'\r\n, @XUser_R  exec QBM_PDBQueueAgentInfoSet @procname, 1 set lock_timeout -1 return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PWriteDialogJournal",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:29.367",
      "ModifyDate": "2026-04-14T23:20:26.06",
      "Definition": "   create   procedure QBM_PWriteDialogJournal ( @MessageString nvarchar(max),  @ApplicationName nvarchar(64) = N'', @LogonUser nvarchar(64) = N''\r\n, @MessageType nchar(1) = N'I'  , @HostName nvarchar(64) = N'' , @SuppressEntriesCount int = 0 ) as begin declare @messagetypeIntern nchar(1) declare @ApplicationNameIntern\r\n nvarchar(64) declare @HostnameIntern nvarchar(64) declare @LogonUserIntern nvarchar(64)  declare @LevelForLogging char(1) = 'T' declare @ProcID int declare\r\n @Agentvgl varchar(64) = 'OneIM_DatabaseAgent' SET XACT_ABORT OFF  BEGIN TRY  If (XACT_STATE()) < 0  BEGIN goto endLabel END  if @messagetype not in (N'W'\r\n, N'E', N'I', 'D', 'T') begin select @messagetypeIntern = N'T' end else begin select @messagetypeIntern = @messagetype end if @LevelForLogging = 'T'  and\r\n @messagetypeIntern in ('T', 'D', 'I', 'W', 'E') goto doit if @LevelForLogging = 'D'  and @messagetypeIntern in ('D', 'I', 'W', 'E') goto doit if @LevelForLogging\r\n = 'I' and @messagetypeIntern in ('I', 'W', 'E') goto doit if @LevelForLogging = 'W' and @messagetypeIntern in ('W', 'E') goto doit if @messagetypeIntern\r\n = 'E' goto doit goto endlabel Doit: if exists (select top 1 1 from sys.sysprocesses p where p.spid = @@SPID and p.program_name like @Agentvgl + '%'  )\r\n begin  select @ApplicationNameIntern = 'DBQueue Processor' end else begin if rtrim(isnull(@ApplicationName, N'')) = N'' begin select top 1 @ApplicationNameIntern\r\n = rtrim(left(program_name, 64)) from sys.sysprocesses where spid = @@spid end else begin  select @ProcID = dbo.QBM_FCVStringToInt(@Applicationname, -123\r\n) if @ProcID <> -123 begin if OBJECT_NAME(@ProcID) > ' ' begin select @ApplicationNameIntern = OBJECT_NAME(@ProcID) end else begin select @ApplicationNameIntern\r\n = @ApplicationName end end else begin select @ApplicationNameIntern = @ApplicationName end end end if @MessageString = 'SessionError' begin select @MessageString\r\n = concat(dbo.QBM_FGISessionErrorForLog() , '50000', nchar(9), '0', nchar(9) , 'logged in ' , @ApplicationNameIntern , nchar(13), nchar(10) ) end if rtrim\r\n(isnull(@HostName, N'')) = N'' begin select top 1 @HostnameIntern = rtrim(left(HostName, 64)) from sys.sysprocesses where spid = @@spid end else begin \r\nselect @HostnameIntern = @HostName end if rtrim(isnull(@LogonUser, N'')) = N'' begin select top 1 @LogonUserIntern = rtrim(left(nt_username, 64)) from \r\nsys.sysprocesses where spid = @@spid if rtrim(isnull(@LogonUserIntern, N'')) = N'' begin select top 1 @LogonUserIntern = rtrim(left(loginame, 64)) from\r\n sys.sysprocesses where spid = @@spid end end else begin  select @ProcID = dbo.QBM_FCVStringToInt(@Applicationname, -123) if @ProcID <> -123 begin if OBJECT_NAME\r\n(@ProcID) > ' ' begin select @LogonUserIntern = OBJECT_NAME(@ProcID) end else begin select @LogonUserIntern = @LogonUser end end else begin select @LogonUserIntern\r\n = @LogonUser end end if @SuppressEntriesCount > 0 begin if exists (select top 1 1 from (select top (@SuppressEntriesCount) * from DialogJournal k with\r\n(nolock) order by MessageDate desc ) as x where x.MessageType = @messagetypeIntern and x.MessageString = @MessageString ) begin goto Endlabel end end insert\r\n into DialogJournal (UID_DialogJournal, MessageType, MessageString , MessageDate , ApplicationName , LogonUser , HostName) select newid(), @messagetypeIntern\r\n, @MessageString , GetUTCDate() , @ApplicationNameIntern , @LogonUserIntern , @HostnameIntern END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare\r\n @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_PXDateSubItemUpdate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.113",
      "ModifyDate": "2026-04-14T23:20:29.95",
      "Definition": "      create   procedure QBM_PXDateSubItemUpdate (@SlotNumber int , @FullSyncVariable int = 0 ) AS begin declare @UID_dialogtable varchar(38) declare\r\n @TableName varchar(30) declare @PKColumnName varchar(39) declare @Whereclause nvarchar(max) declare @SQLCmd nvarchar(max) declare @JustNow varchar(64)\r\n = dbo.QBM_FCVDatetimeToStringUTC(getutcdate()) declare @MyXUser nvarchar(64) = object_name(@@procid) declare @MitEvent bit = 0 declare @GenProcID varchar\r\n(38) declare @WhereClauseAdditional nvarchar(max) declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext\r\n('XUser') declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @DebugLevel varchar(1) = 'W' declare @DBQueueCurrent\r\n QBM_YDBQueueCurrent declare @JournalMessage nvarchar(4000) SET XACT_ABORT OFF BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, \r\nUID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber\r\n = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  select @WhereClauseAdditional = N' isnull(XDateSubItem, ''1899-12-30'') < ''' + @JustNow + ''' '\r\n insert into @ElementBuffer (UID1, UID2) select cu.UID_SubParameter , cu.GenProcID from @DBQueueCurrent cu group by cu.UID_SubParameter  , cu.GenProcID\r\n select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @UID_DialogTable = bu.UID1 , @GenProcID\r\n = bu.UID2 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex if exists(select top 1 1 from JobEventGen e join QBMEvent et on e.UID_QBMEvent \r\n= et.UID_QBMEvent where et.UID_DialogTable = @UID_dialogtable and et.EventName = 'update' ) begin select @MitEvent = 1 end select @TableName = dbo.QBM_FGITableName\r\n(@uid_dialogtable) if isnull(@TableName, '') = '' begin select @JournalMessage = concat('#LDS#Invalid UID_DialogTable: \"{0}\".|' , @uid_dialogtable, '|'\r\n) exec QBM_PJournal @JournalMessage, @@procid,'E', @DebugLevel select @ElementIndex += 1 continue end select @PKColumnName = dbo.QBM_FGIPrimaryKeyName_F\r\n(@TableName, 1) select @Whereclause = @PKColumnName + ' in (select UID_Parameter /* the element */\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfrom QBMDBQueueCurrent with (readpast)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\twhere Slotnumber = '\r\n + str(@Slotnumber) + '\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tand UID_SubParameter = ''' + @UID_DialogTable + ''' \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tand GenProcID = ''' + @GenProcID + '''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t  )\r\n\t\t\t\t\t\t\t\t\t\t'\r\n  if exists (select top 1 1 from DialogColumn c where c.uid_DialogTable = @UID_DialogTable and c.ColumnName = 'XMarkedForDeletion' ) begin  select @Whereclause\r\n = @Whereclause + ' and XMarkedForDeletion & ' + dbo.QBM_FCVIntToString( dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|', 0)) + ' = 0' end   if @FullSyncVariable\r\n = 1 or @MitEvent = 0 begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID exec QBM_PSessionContextSet 'XUser', @MyXUser select @SQLCmd = concat('update '\r\n , @TableName , '\r\n\t\t\t\t\tset XDateSubItem = ''' , @JustNow , '''\r\n\t\t\t\t\t', case dbo.QBM_FGIColumnExistsInSchema(@TableName, 'XDateUpdated') when 1 then ', XDateUpdated = getutcdate(), XUserUpdated =  '''\r\n + object_name(@@procid) + '''' else '' end, '\r\n\t\t\t\t\twhere ' , @Whereclause , '\r\n\t\t\t\t\t and ' , @WhereClauseAdditional )  BEGIN TRY exec QBM_PExecuteSQLWithRetry_LLP\r\n @SQLStatement = @SQLcmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = default , @HandleErrorSilent = 0 , @ExecuteWithTransact\r\n = 0 END TRY BEGIN CATCH  exec QBM_PSessionErrorClean END CATCH end else begin exec dbo.QBM_PJobCreate_HOUpdate_B @TableName, @Whereclause, @GenProcID \r\n, @p1 = 'XDateSubItem', @v1 = @JustNow , @WhereClauseAdditional = @WhereClauseAdditional , @AdditionalObjectKeysAffected = DEFAULT end select @ElementIndex\r\n += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow,\r\n 18, 1) WITH NOWAIT END CATCH EndLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet 'XUser', @XUser_R return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 1,
      "HasQBMEvent": 1
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_RXDateSubItemUpdate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.12",
      "ModifyDate": "2026-04-14T23:20:29.957",
      "Definition": "create   procedure QBM_RXDateSubItemUpdate (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Jobrunning QBM_YParameterList  declare @DBQueueCurrent\r\n QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select \r\nUID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end     insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2, Parameter3) select cu.UID_Parameter  , dbo.QBM_FCVElementToObjectKey1\r\n(dbo.QBM_FGITableName(cu.UID_SubParameter  ) , dbo.QBM_FGIPrimaryKeyName_F(dbo.QBM_FGITableName(cu.UID_SubParameter  ), 1) , cu.UID_Parameter  ) , cu.UID_SubParameter\r\n  from @DBQueueCurrent cu exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning , @JobChainNameAddOn = \r\n'%'  , @CountParameterOfTask = 2 , @SlotNumber = @SlotNumber   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT \r\nEND CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_RXDateSubItemUpdateFU",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.123",
      "ModifyDate": "2026-04-14T23:20:29.963",
      "Definition": "create   procedure QBM_RXDateSubItemUpdateFU (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Jobrunning QBM_YParameterList declare @DBQueueCurrent\r\n QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select \r\nUID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end   insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2, Parameter3) select cu.UID_Parameter  , dbo.QBM_FCVElementToObjectKey1\r\n(dbo.QBM_FGITableName(cu.UID_SubParameter  ) , dbo.QBM_FGIPrimaryKeyName_F(dbo.QBM_FGITableName(cu.UID_SubParameter  ), 1) , cu.UID_Parameter  ) , cu.UID_SubParameter\r\n  from @DBQueueCurrent cu exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning , @JobChainNameAddOn = \r\n'%'  , @CountParameterOfTask = 2 , @SlotNumber = @SlotNumber END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END\r\n CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZAuthentifierInitial",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.53",
      "ModifyDate": "2026-04-14T23:20:29.197",
      "Definition": "    create   procedure QBM_ZAuthentifierInitial ( @SlotNumber int , @dummy1 varchar(38) , @dummy2 varchar(38) , @GenProcIDDummy varchar(38) ) as\r\n begin declare @UID_DialogAuthentifier varchar(38) = null declare @DebugSwitch int = 0 declare @CountItems int declare @XUser nvarchar(64) = object_name\r\n(@@procid) declare @Xdate datetime = getutcdate() BEGIN TRY select top 1 @UID_DialogAuthentifier = d.UID_DialogAuthentifier from DialogDatabase d with \r\n(readpast) where d.IsMainDatabase = 1 and d.UID_DialogAuthentifier > ' ' if @DebugSwitch > 0 begin print 'in dialogdatabase ermittelt ' + isnull(@UID_DialogAuthentifier\r\n, '<null>') end if @UID_DialogAuthentifier is null  or @UID_DialogAuthentifier = 'QBM-740AF63FCA9D40E1A9A28CF076B36BBD' begin update DialogAuthentifier\r\n set IsEnabled = 1 , ShowInInterface = 1  , XDateUpdated = @Xdate , XUserUpdated = @XUser where UID_DialogAuthentifier = 'QBM-740AF63FCA9D40E1A9A28CF076B36BBD'\r\n  and ( IsEnabled = 0 or ShowInInterface = 0 ) select @CountItems = @@ROWCOUNT if @DebugSwitch > 0 begin print 'Eigenschaften DialogUser Authentifier geändert '\r\n+ str(@CountItems) end end if @UID_DialogAuthentifier > ' ' begin if not exists (select top 1 1 from DialogAuthentifier a where a.UID_DialogAuthentifier\r\n = @UID_DialogAuthentifier and a.IsEnabled = 1 and a.ShowInInterface = 1 ) begin select @UID_DialogAuthentifier = null end end if @DebugSwitch > 0 begin\r\n print 'NachEigenschaften test ' + isnull(@UID_DialogAuthentifier, '<null>') end if dbo.QBM_FGIDBOwner() <> 'CCC'  begin select top 1 @UID_DialogAuthentifier\r\n = a.UID_DialogAuthentifier from DialogAuthentifier a where a.UID_DialogAuthentifier like 'MDK-%' and a.IsEnabled = 1 and a.ShowInInterface = 1 end if \r\n@UID_DialogAuthentifier is null begin select top 1 @UID_DialogAuthentifier = a.UID_DialogAuthentifier from DialogAuthentifier a join QBMModuleDef m on \r\nleft(a.UID_DialogAuthentifier, 3) = m.ModuleName where IsEnabled = 1 and ShowInInterface = 1 order by m.SortOrder desc, a.SortOrder asc, a.ShowInInterface\r\n desc end if @DebugSwitch > 0 begin print 'Nach Suche mit Interface ' + isnull(@UID_DialogAuthentifier, '<null>') end if @UID_DialogAuthentifier is null\r\n begin select top 1 @UID_DialogAuthentifier = a.UID_DialogAuthentifier from DialogAuthentifier a join QBMModuleDef m on left(a.UID_DialogAuthentifier, \r\n3) = m.ModuleName where IsEnabled = 1 order by m.SortOrder desc, a.SortOrder asc, a.ShowInInterface desc end if @DebugSwitch > 0 begin print 'Nach Suche ohne Interface '\r\n + isnull(@UID_DialogAuthentifier, '<null>') end update dialogdatabase set UID_DialogAuthentifier = @UID_DialogAuthentifier  , XDateUpdated = @Xdate , \r\nXUserUpdated = @XUser where ismaindatabase = 1 and isnull(UID_DialogAuthentifier, '') <> isnull(@UID_DialogAuthentifier, '') END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZBufferTProcessDelete",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.81",
      "ModifyDate": "2026-04-14T23:20:29.567",
      "Definition": "  create   procedure QBM_ZBufferTProcessDelete (@SlotNumber int , @uid_Module varchar(38) , @Dummy2 varchar(38) , @GenProcID varchar(38) ) AS begin\r\n declare @ModuleName varchar(3) declare @Message nvarchar(1000) declare @DebugStarttime datetime = getutcdate() declare @DebugLevel char(1) = 'W' declare\r\n @TasksToCheck table (UID_Task varchar(38) collate database_default ) declare @UID_Task varchar(38) declare @lastFillDummy datetime SET XACT_ABORT OFF \r\nBEGIN TRY  select @ModuleName = LEFT(@uid_module, 3) insert into @TasksToCheck (uid_Task) values ('QBM-K-BufferTProcessModulePU' ) , ('QBM-K-BufferTProcessModule'\r\n) , ('QBM-K-BufferTProcessTablePU') , ('QBM-K-BufferTProcessTable')  if exists (select top 1 1 from @TasksToCheck t join DialogDBQueue q with (readpast\r\n) on t.UID_Task = q.UID_Task where q.Generation >= 0 ) or exists (select top 1 1 from @TasksToCheck t join QBMDBQueueCurrent q with (readpast) on t.UID_Task\r\n = q.UID_Task where q.SlotNumber <> 0 ) begin select @Message = '#LDS#Found active Tasks while executing {0}.|' + 'QBM_ZBufferTProcessDelete' + '|' exec\r\n QBM_PJournal @Message,@@PROCID, 'W', @DebugLevel while exists (select top 1 1 from @TasksToCheck ) begin select top 1 @UID_Task = UID_Task from @TasksToCheck\r\n   exec QBM_PDBQCS_CurrentRestore @ExecutionType = 0 , @IgnoreGeneration = 1 , @UID_TaskPattern = @UID_Task delete  @TasksToCheck  where UID_Task = @UID_Task\r\n end  exec QBM_PDBQueueInsert_Single 'QBM-K-BufferTProcessDelete', @uid_Module, '', @GenProcID   end else begin  exec QBM_PDBQueueInsert_Single 'QBM-K-FillModelFinished'\r\n, '', '', @GenProcID end    END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZBufferTProcessModule",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.783",
      "ModifyDate": "2026-04-14T23:20:29.537",
      "Definition": "  create   procedure QBM_ZBufferTProcessModule (@SlotNumber int , @uid_Module varchar(38) , @Dummy2 varchar(38) , @GenProcID varchar(38) ) AS begin\r\n declare @ModuleName varchar(3) BEGIN TRY  select @ModuleName = LEFT(@uid_module, 3)  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n(object, subobject, GenProcID)  select x.uid, @uid_module, @GenProcID from (select distinct TableName as uid from QBMBufferTransfer where ModuleName = \r\n@ModuleName ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-BufferTProcessTable', @DBQueueElements_01 exec QBM_PDBQueueInsert_Single 'QBM-K-BufferTProcessDelete'\r\n, @uid_Module, '', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZBufferTProcessModulePU",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.8",
      "ModifyDate": "2026-04-14T23:20:29.557",
      "Definition": "  create   procedure QBM_ZBufferTProcessModulePU (@SlotNumber int , @uid_Module varchar(38) , @Dummy2 varchar(38) , @GenProcID varchar(38) ) AS \r\nbegin declare @ModuleName varchar(3) BEGIN TRY select @ModuleName = LEFT(@uid_module, 3)  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n(object, subobject, GenProcID)  select x.uid, @uid_module, @GenProcID from (select TableName as uid from QBMBufferTransfer t with (nolock) where ModuleName\r\n = @ModuleName  union select TableName as uid from DialogTable t where dbo.QBM_FGIModulePrecedenceValid(t.XObjectKey, @uid_Module) = 1  and not exists \r\n(select top 1 1 from QBM_VStartupTables v where v.TableName = t.TableName ) and exists (select top 1 1 from dialogcolumn c where c.uid_dialogtable = t.uid_dialogtable\r\n and c.ColumnName = 'XObjectKey' ) ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-BufferTProcessTablePU', @DBQueueElements_01 exec QBM_PDBQueueInsert_Single\r\n 'QBM-K-BufferTProcessDelete', @uid_Module, '', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END \r\nCATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZBufferTProcessTable",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.777",
      "ModifyDate": "2026-04-14T23:20:29.527",
      "Definition": "  create   procedure QBM_ZBufferTProcessTable (@SlotNumberDummy int  , @TableName varchar(38) , @uid_Module varchar(38) , @GenProcID varchar(38)\r\n ) AS begin declare @ModuleName varchar(3) declare @DebugStarttime datetime = getutcdate() declare @DebugLevel char(1) = 'W' declare @Debugmessage nvarchar\r\n(4000) BEGIN TRY select @ModuleName = LEFT(@uid_module, 3)  if exists (select top 1 1 from QBMBufferTransfer t with (nolock) where t.ModuleName = @ModuleName\r\n and t.TableName = @TableName ) begin exec QBM_PBufferT_ProcessTable @modulename, @TableName , @PurgeMode = 0 select @Debugmessage = 'processed Table '\r\n + @TableName exec QBM_PJournal @Debugmessage, @@procid, 'D', @DebugLevel  end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18,\r\n 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZBufferTProcessTablePU",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.79",
      "ModifyDate": "2026-04-14T23:20:29.547",
      "Definition": "   create   procedure QBM_ZBufferTProcessTablePU (@SlotNumberDummy int  , @TableName varchar(38) , @uid_Module varchar(38) , @GenProcID varchar(38\r\n) ) AS begin declare @ModuleName varchar(3) declare @Message nvarchar(2000) declare @DebugLevel varchar(1) = 'E' BEGIN TRY select @ModuleName = LEFT(@uid_module\r\n, 3)          if exists (select top 1 1 from dialogtable t with (readpast) join dialogColumn c with (readpast) on t.uid_dialogTable = c.uid_dialogtable\r\n where c.ColumnName = 'XObjectKey' ) begin exec QBM_PBufferT_ProcessTable @modulename, @TableName , @PurgeMode = 1 end else begin select @Message = 'Task QBM-K-BufferTProcessTablePU found for table without XObjectKey '\r\n + @ModuleName + ':' + @TableName exec QBM_PJournal @Message, @@PROCID, 'E', @DebugLevel end   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZCalendarFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.39",
      "ModifyDate": "2026-04-14T23:20:29.023",
      "Definition": "     create   procedure QBM_ZCalendarFill (@SlotNumber int , @dummy1 varchar(38) , @dummy2 varchar(38) , @GenProcIDDummy varchar(38) ) as begin \r\n  declare @Past int declare @Future int declare @Startdatum datetime declare @Endedatum datetime declare @CalendarYear int declare @CalendarQuarter int\r\n declare @CalendarMonth int declare @CalendarDay int declare @isYear bit declare @isQuarter bit declare @isMonth bit declare @DayOfWeek nvarchar(32)  declare\r\n @DayOfYear int declare @WeekOfYear int declare @isWeek bit declare @IsoDate nvarchar(10)  declare @h nvarchar(256) declare @Debugswitch int = 0 declare\r\n @GenProcID varchar(38) = newid() declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') BEGIN TRY select @Future = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue\r\n('Common\\Calendar\\YearsFuture'), 1) select @Past = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue('Common\\Calendar\\YearsPast'), 5 )  select @StartDatum\r\n = convert(nvarchar(16), year(GetUTCDate()) - @past ) + N'-01-01' select @EndeDatum = convert(nvarchar(16), year(GetUTCDate()) + @future ) + N'-12-31' \r\n  exec QBM_PSessionContextSet 'GenProcID', @GenProcID  while @startdatum <= @endedatum begin select @CalendarYear = year(@startdatum) select @CalendarMonth\r\n = month(@startdatum) select @CalendarDay = day(@startdatum) select @IsoDate = convert(nvarchar(16), @CalendarYear) + N'-' + right(N'00' + convert(nvarchar\r\n(16), @CalendarMonth),2) + N'-' + right(N'00' +convert(nvarchar(16), @CalendarDay),2) select @CalendarQuarter = case @CalendarMonth when 1 then 1 when \r\n2 then 1 when 3 then 1 when 4 then 2 when 5 then 2 when 6 then 2 when 7 then 3 when 8 then 3 when 9 then 3 when 10 then 4 when 11 then 4 when 12 then 4\r\n end  select @h = datename(dw, @startdatum) select @DayOfWeek = @h  select @DayOfYear = datepart(dy, @startdatum) select @isYear = 0  if @CalendarMonth\r\n = 1 and @CalendarDay = 1 begin select @isYear = 1  end   select @WeekOfYear = datepart(isowk, @startdatum)  select @isWeek = 0 if @DayOfWeek = N'Monday'\r\n begin select @isWeek = 1 end select @isMonth = 0 if @CalendarDay = 1 and @CalendarDay = 1 begin select @isMonth = 1 end select @isQuarter = 0 if @CalendarDay\r\n = 1 and @CalendarMonth in (1,4,7,10) begin select @isQuarter = 1 end if exists (select top 1 1 from DialogCalendar x where x.CalendarYear = @CalendarYear\r\n and x.CalendarMonth = @CalendarMonth and x.CalendarDay = @CalendarDay ) begin update DialogCalendar set CalendarQuarter = @CalendarQuarter, isYear = @isYear\r\n, isQuarter = @isQuarter, isMonth = @isMonth, DayOfWeek = @DayOfWeek, DayOfYear = @DayOfYear, WeekOfYear = @WeekOfYear, isWeek = @isWeek, IsoDate = @IsoDate\r\n where CalendarYear = @CalendarYear and CalendarMonth = @CalendarMonth and CalendarDay = @CalendarDay and ( isnull(isYear,0) <> @isYear or isnull(isQuarter\r\n,0) <> @isQuarter or isnull(isMonth,0) <> @isMonth or isnull(CalendarQuarter,0) <> @CalendarQuarter or isnull(DayOfWeek,N'') <> @DayOfWeek or isnull(DayOfYear\r\n,0) <> @DayOfYear or isnull(WeekOfYear,0) <> @WeekOfYear or isnull(isWeek,0) <> @isWeek or isnull(IsoDate,N'') <> @IsoDate ) if @@ROWCOUNT > 0 and @Debugswitch\r\n > 0 begin print 'updated for ' + @isodate end end else begin insert into DialogCalendar(uid_DialogCalendar, CalendarYear, CalendarQuarter, CalendarMonth\r\n, CalendarDay, isYear, isQuarter, isMonth , DayOfWeek, DayOfYear, WeekOfYear, isWeek, IsoDate) select newid(), @CalendarYear, @CalendarQuarter, @CalendarMonth\r\n, @CalendarDay, @isYear, @isQuarter, @isMonth , @DayOfWeek, @DayOfYear, @WeekOfYear, @isWeek, @IsoDate if @Debugswitch > 0 begin print 'updated for ' +\r\n @isodate end end   select @startdatum = dateadd(dd, 1, @startdatum) end   update DialogCalendar set displayMonth = x.Bezeichnung from DialogCalendar join\r\n ( select y.nummer, y.Bezeichnung from ( values (1 , datename (mm,'2200-01-01')) , (2 , datename (mm,'2200-02-01')) , (3 , datename (mm,'2200-03-01')) \r\n, (4 , datename (mm,'2200-04-01')) , (5 , datename (mm,'2200-05-01')) , (6 , datename (mm,'2200-06-01')) , (7 , datename (mm,'2200-07-01')) , (8 , datename\r\n (mm,'2200-08-01')) , (9 , datename (mm,'2200-09-01')) , (10 , datename (mm,'2200-10-01')) , (11 , datename (mm,'2200-11-01')) , (12 , datename (mm,'2200-12-01'\r\n)) ) as y (nummer, Bezeichnung) ) as x on x.nummer = DialogCalendar.CalendarMonth where isnull(DialogCalendar.DisplayMonth,N'') <> x.Bezeichnung END TRY\r\n BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  ende: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZCheckDefaultZero",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.897",
      "ModifyDate": "2026-04-14T23:20:29.667",
      "Definition": "     create   procedure QBM_ZCheckDefaultZero ( @SlotNumberDummy int , @TablePattern varchar(38) , @Dummy2 varchar(38) , @DummyGenProcID varchar\r\n(38) ) as begin declare @SQLcmd nvarchar(max) declare @DebugSwitch int = 0 declare @ElementLast int declare @ElementCount int declare @ElementIndex int\r\n BEGIN TRY declare @ElementBuffer_definition QBM_YCursorBuffer insert into @ElementBuffer_definition (ContentFull) select concat( 'sp_bindefault ''DezimalNULL'', '''\r\n , c.table_name , '.' , c.column_name , '''')  from information_schema.columns c join information_schema.tables t on t.table_name = c.table_name join DialogTable\r\n tt on t.TABLE_NAME = tt.TableName  join sys.tables st on t.TABLE_NAME = st.name join sys.columns sc on st.object_id = sc.object_id and sc.name = c.COLUMN_NAME\r\n where t.table_type = 'BASE TABLE' and c.data_type in ('bit', 'int', 'real', 'float', 'bigint') and c.COLUMN_DEFAULT is null and t.TABLE_NAME like @TablePattern\r\n and t.TABLE_NAME not in (select TableName from QBM_VHeavyLoadTables  ) and sc.is_identity = 0 select @ElementCount = @@ROWCOUNT select @ElementIndex =\r\n @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @SQLcmd = bu.ContentFull from @ElementBuffer_definition\r\n bu where bu.ElementIndex = @ElementIndex if @DebugSwitch > 0 begin print @SQLcmd end exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLcmd , @LockTimeout_ms\r\n = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@procid , @HandleErrorSilent = 0 select @ElementIndex += 1 end   declare @ElementBuffer_value\r\n QBM_YCursorBuffer insert into @ElementBuffer_value (ContentFull) select concat('updat','e ' , c.table_name , ' set ' , c.column_name , ' = 0 ' , case \r\nwhen dbo.QBM_FGIColumnExistsInSchema(t.TABLE_NAME, 'XDateUpdated') = 1 and c.COLUMN_NAME not like 'X[d,u][a,s][t,e][e,r]updated' then concat('' , '\t--34101\r\n\t\t\t\t\t\t\t\t, XDateUpdated = getutcdate()\r\n\t\t\t\t\t\t\t\t, XUserUpdated = '''\r\n, object_name(@@procid) , '''\r\n\t\t\t\t\t\t\t\t') else '' end ,' where ' , c.column_name , ' is null ' ) from information_schema.columns c join information_schema.tables\r\n t on t.table_name = c.table_name join DialogTable tt on t.TABLE_NAME = tt.TableName  join sys.tables st on t.TABLE_NAME = st.name join sys.columns sc \r\non st.object_id = sc.object_id and sc.name = c.COLUMN_NAME where t.table_type = 'BASE TABLE' and c.data_type in ('bit', 'int', 'real', 'float', 'bigint'\r\n) and (  c.COLUMN_DEFAULT = N'0' or c.COLUMN_DEFAULT = N'(0)'  or c.COLUMN_DEFAULT = N'((0))' or c.COLUMN_DEFAULT like N'create default DezimalNULL as 0%'\r\n ) and t.TABLE_NAME like @TablePattern and t.TABLE_NAME not in (select TableName from QBM_VHeavyLoadTables  ) and sc.is_identity = 0 select @ElementCount\r\n = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top\r\n 1 @SQLcmd = bu.ContentFull from @ElementBuffer_value bu where bu.ElementIndex = @ElementIndex if @DebugSwitch > 0 begin print @SQLcmd end exec QBM_PExecuteSQLWithRetry_LLP\r\n @SQLStatement = @SQLcmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@procid , @HandleErrorSilent = 0 select @ElementIndex\r\n += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZCheckInvalidDate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.877",
      "ModifyDate": "2026-04-14T23:20:29.643",
      "Definition": "      create   procedure QBM_ZCheckInvalidDate ( @SlotNumber int , @TablePattern varchar(38) , @Dummy2 varchar(38) , @DummyGenProcID varchar(38)\r\n ) as begin  declare @table nvarchar(64) declare @column nvarchar(64) declare @SQLcmd nvarchar(max) declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount\r\n int declare @ElementIndex int declare @DebugSwitch int = 0 BEGIN TRY insert into @ElementBuffer (Ident1, Ident2) select c.table_name, c.column_name from\r\n information_schema.columns c with (readpast) join information_schema.tables t with (readpast) on t.table_name = c.table_name and t.table_type = 'base table'\r\n where c.DATA_TYPE = 'datetime' and c.column_name not like 'Xdate%' and c.IS_NULLABLE = 'YES' and t.Table_Name like @TablePattern and t.table_name not \r\nin (select TableName from QBM_VHeavyLoadTables  ) select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin\r\n select top 1 @table = bu.Ident1 , @column = bu.Ident2 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex select @SQLcmd = CONCAT('updat','e '\r\n, @table , '\r\n\t\t\t\t\t\t\tset ' , @column , '= NULL  ' , case when dbo.QBM_FGIColumnExistsInSchema(@table, 'XDateUpdated') = 1 and @column not like 'X[d,u][a,s][t,e][e,r]updated'\r\n then concat('' , '\t--34101\r\n\t\t\t\t\t\t\t\t\t\t\t\t, XDateUpdated = getutcdate()\r\n\t\t\t\t\t\t\t\t\t\t\t\t, XUserUpdated = ''', object_name(@@procid) , '''\r\n\t\t\t\t\t\t\t\t\t\t\t\t') else\r\n '' end ,' where ', @column, ' is not null and isnull(', @column, ', ''1899-12-30'' ) < ''1899-12-31''' ) if @DebugSwitch > 0 begin print @SQLcmd end exec\r\n QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLcmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@procid , @HandleErrorSilent\r\n = 0 select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZCheckPendingNL",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.927",
      "ModifyDate": "2026-04-14T23:20:29.7",
      "Definition": "    create   procedure QBM_ZCheckPendingNL ( @SlotNumber int , @TableName varchar(38) , @Dummy2 varchar(38) , @DummyGenProcID varchar(38) ) as begin\r\n declare @SQLCmd nvarchar(max) declare @nummer int declare @DebugSwitch int = 0 declare @Sammler table (nummer int identity , SQLCode nvarchar(max) collate\r\n database_default , Basis nvarchar(max) collate database_default ) declare @SQLVor nvarchar(max) declare @Muster nvarchar(max) = concat('\r\n\tupdat','e @TableName\r\n\t\tset @Columnname = null\r\n\t\twhere rtrim(@Columnname) = ''''\r\n'\r\n ) declare @MusterUeberhaupt nvarchar(max) = ' or rtrim(@columnname) = ''''  '  goto endLabel BEGIN TRY insert into @Sammler(SQLCode, Basis) select replace\r\n(replace(@Muster , '@TableName', x.TableName ) , '@Columnname', x.ColumnName) , replace(@MusterUeberhaupt , '@Columnname', x.ColumnName) from ( select \r\ntt.TableName, dc.ColumnName from information_schema.tables t join information_schema.columns c with (readpast) on t.TABLE_NAME = c.TABLE_NAME  join DialogTable\r\n tt with (readpast) on t.TABLE_NAME = tt.TableName join DialogColumn dc with (readpast) on dc.UID_DialogTable = tt.UID_DialogTable and dc.Columnname = \r\nc.COLUMN_NAME where t.TABLE_TYPE = 'base table' and t.TABLE_NAME = @TableName and c.DATA_TYPE like '%char' and c.COLUMN_NAME not in ('XObjectKey') and \r\nc.IS_NULLABLE = 'YES' and dc.IsPKMember = 0 and t.TABLE_NAME not like '%AEDS%'  and not (t.TABLE_NAME = 'QBMCustomSQL' and c.COLUMN_NAME = 'ScriptCode'\r\n)  and not (t.TABLE_NAME = 'AttestationCase' and c.COLUMN_NAME = 'ReportContent') and not exists (select top 1 1 from QBM_VHeavyLoadTables hl where hl.TableName\r\n = t.TABLE_NAME  ) ) as x select @sqlcmd = '' select @SQLVor = '#' while @SQLVor > ' ' begin select @SQLVor = null select top 1 @SQLVor = s.Basis from \r\n@Sammler s where s.Basis > ' ' if @SQLVor is null begin continue end     select @SQLCmd = @SQLCmd + nchar(13) + nchar(10) + @SQLVor update @Sammler set\r\n Basis = null where Basis = @SQLVor end  if @DebugSwitch > 0 begin print @SQLCmd end select @SQLCmd = 'select top 1 1\r\n\t\tfrom ' + @TableName + ' with (nolock)\r\n\t\twhere 1 = 0 \r\n '\r\n + @SQLCmd + '\t\t\t\t\r\n\t\t' if @DebugSwitch > 0 begin print @SQLCmd end exec sp_executesql @SQLCmd if @@ROWCOUNT = 0 begin if @DebugSwitch > 0 begin print \r\n'Vorprüfung nix gefunden' end goto endlabel end  select @nummer = -1 while @nummer is not null begin select @nummer = null select top 1 @nummer = s.nummer\r\n , @SQLCmd = s.SQLCode from @Sammler s if @nummer is null begin continue end if @DebugSwitch > 0 begin print @sqlcmd end exec sp_executeSQL @sqlcmd delete\r\n  @Sammler  where nummer = @nummer end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel:  return\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZCheckRIAll",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.867",
      "ModifyDate": "2026-04-14T23:20:29.63",
      "Definition": "    create   procedure QBM_ZCheckRIAll ( @SlotNumber int , @Dummy1 varchar(38) , @Dummy2 varchar(38) , @DummyGenProcID varchar(38) )  as begin  \r\nBEGIN TRY   if dbo.QBM_FGIDBOwner() = 'CCC' begin   print '1' end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT\r\n END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZCheckRIChild",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.86",
      "ModifyDate": "2026-04-14T23:20:29.62",
      "Definition": "    create   procedure QBM_ZCheckRIChild ( @SlotNumber int , @ChildTablePattern varchar(38) , @Dummy2 varchar(38) , @GenProcID varchar(38) )  as\r\n begin  declare @CountItems int BEGIN TRY   if dbo.QBM_FGIDBOwner() = 'CCC' begin exec @CountItems = QBM_PForeignKeyWrongRepair @ChildTablePattern  exec\r\n QBM_PDBQueueInsert_Single 'QBM-K-CheckRIAll', '', '', @GenProcID end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH\r\n NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZCheckSameCase",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.85",
      "ModifyDate": "2026-04-14T23:20:29.613",
      "Definition": "create   procedure QBM_ZCheckSameCase (@SlotNumberDummy int = 0 , @dummy1 varchar(38) = '' , @dummy2 varchar(38) = '' , @dummyGenProcID varchar(38\r\n) = '' ) as begin SET XACT_ABORT OFF BEGIN TRY exec QBM_PCheckSameCase_38 exec QBM_PCheckSameCase_138 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZCheckStatistics",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.94",
      "ModifyDate": "2026-04-14T23:20:29.717",
      "Definition": "   create   procedure QBM_ZCheckStatistics (@SlotNumber int , @dummy1 varchar(38) , @dummy2 varchar(38) , @dummyGenProcID varchar(38) ) as begin\r\n  declare @db nvarchar(128) select @db = db_name() declare @autocreate int select @autocreate = convert(int, DATABASEPROPERTYEX (@db, N'IsAutoCreateStatistics'\r\n)) declare @autoupdate int select @autoupdate = convert(int, DATABASEPROPERTYEX (@db, N'IsAutoupdateStatistics'))  declare @SQLcmd nvarchar(max) declare\r\n @muster nvarchar(200) declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int BEGIN TRY select @muster = N'drop statistics [%schema%].[%table%].[%stat%]'\r\n if @autocreate = 0 and @autoupdate = 0 begin insert into @ElementBuffer (ContentFull) select replace(replace(replace(@Muster, N'%schema%' , sc.name), \r\nN'%table%', t.name), N'%stat%', i.name) from sys.tables t join sys.stats i with (nolock) on t.object_id = i.Object_id join sys.schemas sc on t.schema_id\r\n = sc.Schema_id where i.auto_created = 1  select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select \r\ntop 1 @SQLcmd = bu.ContentFull from @ElementBuffer bu where bu.ElementIndex = @ElementIndex  exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLcmd \r\n, @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@procid , @HandleErrorSilent = 0 select @ElementIndex += 1 end  end\r\n  if @autocreate = 1 begin EXEC sp_autostats dialogdbqueue, 'ON' EXEC sp_autostats Jobqueue, 'ON' EXEC sp_autostats JobTreeParamColl, 'ON' end END TRY \r\nBEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZColumnCheckBlobExternal",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:00.773",
      "ModifyDate": "2026-04-14T23:20:32.32",
      "Definition": " create   procedure QBM_ZColumnCheckBlobExternal ( @SlotNumber int , @TableName varchar(38) , @dummy1 varchar(38) , @GenProcID varchar(38) ) as \r\nbegin declare @DebugSwitch int = 0 declare @DebugMessage nvarchar (1000) declare @DebugLevel char(1) = 'W' set nocount on SET XACT_ABORT OFF BEGIN TRY \r\nif @GenProcID is null or ISNULL(@TableName, '') not in (select t.TableName from DialogTable t) begin select @DebugMessage = CONCAT( OBJECT_NAME(@@procid\r\n) , ' empty values found ' , ' GenProcID = ' , case when ISNULL(@GenProcID, '') = '' then ' <empty> ' else @GenProcID end , ' TableName = ' , case when\r\n ISNULL(@TableName, '') = '' then ' <empty> ' else @TableName end ) exec QBM_PJournal @DebugMessage, @@procid, 'D', @DebugLevel select @GenProcID = NEWID\r\n() end if 1=0 begin exec QBM_PColumnCheckBlobExternal @TableName, @GenProcID end else begin declare @SQL33734 nvarchar(max) = concat('exec QBM_PColumnCheckBlobExternal '''\r\n, @TableName, ''', ''', @GenProcID , '''' ) exec QBM_PJobCreate_Mnt @SQL33734, @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH  ende:  return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZConfigParmCheck",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.567",
      "ModifyDate": "2026-04-14T23:20:29.243",
      "Definition": "      create   procedure QBM_ZConfigParmCheck ( @SlotNumberDummy int , @dummy1 varchar(38) , @dummy2 varchar(38) , @GenProcIDDummy varchar(38) )\r\n as begin declare @lauf int declare @DialogConfigparm QBM_YSingleGUID  declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate\r\n() BEGIN TRY insert into @DialogConfigparm (UID_SingleGuid ,  IntProperty , BitProperty  ) select uid_configparm,  enabled, enabled   from dialogconfigparm\r\n where uid_parentconfigparm is null select @lauf = 1 while @lauf > 0 begin  insert into @DialogConfigparm (UID_SingleGuid ,  IntProperty , BitProperty \r\n) select x.uid_configparm,  x.enabled, convert(bit, convert(int, x.enabled) & convert(int, p.BitProperty )) from dialogconfigparm x join @DialogConfigparm\r\n p on p.UID_SingleGuid  = x.UID_ParentConfigparm where Not exists (select top 1 1 from @DialogConfigparm y where y.UID_SingleGuid  = x.uid_configparm )\r\n select @lauf = @@rowcount  end  update DialogConfigParm set IsEnabledResulting = c.BitProperty  , XDateUpdated = @Xdate   from DialogConfigParm, @DialogConfigParm\r\n c where DialogConfigParm.UID_ConfigParm = c.UID_SingleGuid  and DialogConfigParm.IsEnabledResulting <> c.BitProperty  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZConnectionClearUnused",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.597",
      "ModifyDate": "2026-04-14T23:20:29.283",
      "Definition": "    create   procedure QBM_ZConnectionClearUnused ( @Slotnumber int , @Dummy1 varchar(38) , @Dummy2 varchar(38) , @GenProcIDDummy varchar(38) ) \r\nAS begin  declare @dbid int declare @spid int declare @hostnameIntern nvarchar(64) declare @program_name nvarchar(128) declare @last_batchString nvarchar\r\n(64) declare @SQLcmd nvarchar (1024) , @leavemin int = 240  declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int\r\n BEGIN TRY  if exists (select top 1 1 from DialogDatabase where SingleUserProcess <> 0 and IsMainDatabase = 1 ) begin goto ende end select @dbid=database_id\r\n from sys.databases where name = db_name() insert into @ElementBuffer (Int1 , ContentFull  , ContentShort  , Ident1 ) select spid, rtrim(HostName), rtrim\r\n(program_name), dbo.QBM_FCVDatetimeToString(last_batch ) from sys.sysprocesses where dbid=@dbid  and datediff(n, last_batch,GetDate()) > (@leavemin)  and\r\n spid in (select session_id from sys.dm_exec_sessions where is_user_process = 1 ) select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex\r\n <= @ElementCount begin select top 1 @spid = bu.Int1 ,@hostnameIntern = bu.ContentFull , @program_name = bu.ContentShort , @last_batchString = bu.Ident1\r\n from @ElementBuffer bu where bu.ElementIndex = @ElementIndex select @SQLcmd = N'killing old Session HOST: ' + @hostnameIntern + N' ; PROGRAM: ' + @program_name\r\n + N' ; LAST ACTION: ' + @last_batchString  insert into DialogJournal (UID_DialogJournal, MessageType, MessageString , MessageDate , ApplicationName , \r\nLogonUser , HostName) select newid(), 'W', @SQLcmd, GetUTCDate() , 'QBM_ZConnectionClearUnused' , left(user_name(),64) , left(host_name(),64)  select @SQLcmd=\r\n N'kill ' + convert(nvarchar(5),@spid) exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLcmd , @LockTimeout_ms = 100 , @MaxWaitTimeForLock_s = 1.0 \r\n, @ProcIDForJournal = @@procid , @HandleErrorSilent = 1 select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR \r\n('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZConstraintDisable",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.76",
      "ModifyDate": "2026-04-14T23:20:29.503",
      "Definition": "    create   procedure QBM_ZConstraintDisable ( @SlotNumber int , @dummy1 varchar(38) , @dummy2 varchar(38) , @GenProcIDDummy varchar(38) ) as begin\r\n declare @DebugLevel char(1) = 'W' declare @ResetMessage nvarchar(4000) SET XACT_ABORT OFF BEGIN TRY  if not exists (select top 1 1 from sys.triggers x\r\n where x.is_disabled = 0 and x.name != 'QBM_TUIndicator474488' ) and not exists (select top 1 1 from sys.foreign_keys x where x.is_disabled = 0 ) begin\r\n goto endLabel end set lock_timeout 2000 BEGIN TRY exec QBM_PTriggerDisable '%' exec QBM_PConstraintDisable '%' exec QBM_PJournal 'Triggers and constraints disabled'\r\n, @@procid, 'D', @DebugLevel END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default select @ResetMessage = ERROR_MESSAGE() if @@TRANCOUNT > 0 begin rollback\r\n end exec QBM_PDBQueueCurrentResetNGen @SlotNumber , @ResetMessage , @@PROCID END CATCH set lock_timeout -1 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZConstraintEnable",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.77",
      "ModifyDate": "2026-04-14T23:20:29.52",
      "Definition": "    create   procedure QBM_ZConstraintEnable ( @SlotNumber int , @dummy1 varchar(38) , @dummy2 varchar(38) , @GenProcID varchar(38) ) as begin  \r\ndeclare @ProcedureDisable varchar(30) = 'QBM_ZConstraintDisable'  declare @TasksDisable QBM_YSingleGUID  declare @DebugLevel char(1) = 'W' declare @WarFehlerhaftT\r\n int declare @WarFehlerhaftC int declare @UID_MeineTask varchar(38) declare @SlotNumberSource int declare @SlotNumberTarget int declare @DBQueueToMove \r\nQBM_YDBQCSCurrentToMove declare @RowsMoved int BEGIN TRY select top 1 @UID_MeineTask = s.UID_Task from QBMDBQueueCurrent  s with (nolock) where s.SlotNumber\r\n = @SlotNumber if @UID_MeineTask = 'QBM-K-QBMConstraintEnable' begin insert into @TasksDisable(UID_SingleGuid ) select 'QBM-K-QBMConstraintDisable' end\r\n if @UID_MeineTask = 'QBM-K-QBMConstraintEnable2' begin insert into @TasksDisable(UID_SingleGuid ) select 'QBM-K-QBMConstraintDisable' union select 'QBM-K-QBMConstraintDisable2'\r\n end if exists (select top 1 1 from DialogDBQueue q with (nolock) where q.UID_Task in (select td.UID_SingleGuid  from @TasksDisable td)  and q.Generation\r\n >= 0 ) or exists (select top 1 1 from QBMDBQueueCurrent q with (nolock) where q.UID_Task in (select td.UID_SingleGuid from @TasksDisable td) and q.SlotNumber\r\n <> 0 ) begin   delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select cul.UID_DialogDBQueue from QBMDBQueueCurrent cul with (readpast\r\n)  where @SlotNumber = @SlotNumber if @@ROWCOUNT > 0 begin select @SlotNumberSource = @SlotNumber  select @SlotnumberTarget = dbo.QBM_FGIDBQueueSlotResetType\r\n('DBQueue') exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget exec QBM_PJournal 'erst mal nichst gemacht, nächstes Disable steht schon bereit'\r\n, @@procid, 'D', @DebugLevel goto endLabel end end   if not exists (select top 1 1 from sys.triggers x where x.is_disabled = 1 and x.name != 'QBM_TUIndicator474488'\r\n ) and not exists (select top 1 1 from sys.foreign_keys x where x.is_disabled = 1 ) begin goto endLabel end exec QBM_PSessionErrorClean exec @WarFehlerhaftT\r\n = QBM_PTriggerEnable '%' , @HandleErrorSilent = 1 exec @WarFehlerhaftC = QBM_PConstraintEnable '%', @HandleErrorSilent = 1 if @WarFehlerhaftT + @WarFehlerhaftC\r\n > 0 begin  if dbo.QBM_FGISessionErrorForLog() like '%547%ALTER TABLE statement conflicted with the FOREIGN KEY constraint%' begin RAISERROR ('', 18, 1\r\n) WITH NOWAIT end else begin exec QBM_PDBQueueInsert_Single 'QBM-K-QBMConstraintEnable2', '', '', @GenProcID exec QBM_PJournal 'Triggers und / oder constraints nicht geklappt, wieder eingestellt'\r\n, @@procid, 'D', @DebugLevel end end else begin exec QBM_PJournal 'Triggers and constraints enabled', @@procid, 'D', @DebugLevel end END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZCountryUTCOffset",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.553",
      "ModifyDate": "2026-04-14T23:20:29.223",
      "Definition": "    create   procedure QBM_ZCountryUTCOffset (@SlotNumber int) as begin declare @GenProcID varchar(38) declare @XUser nvarchar(64) = object_name\r\n(@@procid) declare @Xdate datetime = getutcdate() declare @uid_dialogCountry varchar(38) declare @AVGUTCOffSet int declare @IsDayLightSaving bit declare\r\n @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser') declare @ElementBuffer QBM_YCursorBuffer\r\n declare @ElementCount int declare @ElementIndex int BEGIN TRY insert into @ElementBuffer (UID1, UID2) select c.uid_dialogCountry, p.GenProcID from dialogCountry\r\n c join QBMDBQueueCurrent p with (readpast) on c.uid_dialogCountry = p.uid_parameter where SlotNumber = @SlotNumber select @ElementCount = @@ROWCOUNT select\r\n @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @uid_dialogCountry = bu.UID1 , @GenProcID = UID2 from @ElementBuffer bu where\r\n bu.ElementIndex = @ElementIndex  if exists (select top 1 1 from dialogstate s join dialogstateHasTimezone sht on s.uid_dialogState = sht.uid_DialogState\r\n join dialogTimezone tz on sht.uid_dialogTimezone = tz.uid_dialogTimezone where s.uid_dialogCountry = @uid_dialogCountry and s.isinuse = 1 and tz.utcoffset\r\n is not null ) begin  select @AVGUTCOffSet = avg(tz.UTCOffset), @IsDayLightSaving = sign(max(convert(int, tz.IsDayLightSaving))) from dialogstate s join\r\n DialogStateHasTimeZone sht on s.uid_dialogstate = sht.uid_dialogState join DialogTimeZone tz on sht.uid_DialogTimeZone = tz.uid_dialogTimeZone where s.uid_dialogCountry\r\n = @uid_dialogCountry and s.isinuse = 1 and tz.utcoffset is not null end else begin  if exists (select top 1 1 from DialogCountryHasTimeZone cht join dialogtimezone\r\n tz on cht.uid_dialogTimezone = tz.uid_dialogTimezone where uid_dialogCountry = @uid_dialogCountry and tz.utcoffset is not null ) begin  select @AVGUTCOffSet\r\n = avg(tz.UTCOffset), @IsDayLightSaving = sign(max(convert(int, tz.IsDayLightSaving))) from DialogCountryHasTimeZone cht join DialogTimeZone tz on cht.uid_DialogTimeZone\r\n = tz.uid_dialogTimeZone where cht.uid_dialogCountry = @uid_dialogCountry and tz.utcoffset is not null end else begin  select @AVGUTCOffSet = 0 select \r\n@IsDayLightSaving = 0 end end exec QBM_PSessionContextSet 'GenProcID', @GenProcID exec QBM_PSessionContextSet 'XUser', @XUser update dialogCountry set \r\nAVGUTCOffSet = @AVGUTCOffSet , IsDayLightSaving = @IsDayLightSaving , XDateUpdated = @Xdate , XUserUpdated = @XUser where uid_DialogCountry = @uid_DialogCountry\r\n and (isnull(AVGUTCOffSet, 0) <> @AVGUTCOffSet or AVGUTCOffSet is null or isnull(IsDayLightSaving, 0) <> @IsDayLightSaving or IsDayLightSaving is null \r\n) select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet 'XUser', @XUser_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZCustomSQLFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.687",
      "ModifyDate": "2026-04-14T23:20:29.413",
      "Definition": "  create   procedure QBM_ZCustomSQLFill ( @SlotnumberDummy int , @dummy1 varchar(38) , @Dummy2 varchar(38) , @GenProcIDDummy varchar(38) ) as begin\r\n declare @GenProcID varchar(38) = newid() BEGIN TRY exec QBM_PCustomSQLFill @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR \r\n('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZDashBoardContentCalculate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.52",
      "ModifyDate": "2026-04-14T23:20:29.18",
      "Definition": "    create   procedure QBM_ZDashBoardContentCalculate ( @SlotNumber int , @UID_DialogDashboardDef varchar(38), @dummy1 varchar(38), @GenProcID varchar\r\n(38) ) as begin declare @isInactive bit  declare @HistoryLength int declare @procname nvarchar(64) declare @datenow datetime declare @IsAdHoc bit declare\r\n @IsManual bit declare @SQLCmd nvarchar(max) declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @UID_Task varchar(38) = 'QBM-K-CommonDashboardDef'\r\n SET XACT_ABORT OFF BEGIN TRY if @GenProcID is null begin select @GenProcID = NEWID() end select @Datenow = getUTCDate() drop table if exists #DialogDashBoardContent\r\n   create table #DialogDashBoardContent ( ElementName nvarchar(255) collate database_default,  ElementValue float ,  ElementValue100 float ,  ElementOrder\r\n int identity, ElementObjectKey varchar(138) collate database_default , ElementValueZ float , ElementObjectKey2 varchar(138) collate database_default )\r\n select top 1 @isInactive = isInactive , @HistoryLength = isnull(HistoryLength, 0) , @IsAdHoc = IsAdHoc , @IsManual = IsManual from DialogDashboardDef \r\nwhere UID_DialogDashboardDef = @UID_DialogDashboardDef if @IsAdHoc = 1 or @IsManual = 1 begin goto ende end select @procname = dbo.QBM_FGIDashBoardCodeName\r\n( 'proc', @UID_DialogDashBoardDef)   if not exists (select top 1 1 from sys.procedures where name = @procname ) and @isInactive = 0 begin   exec QBM_PDBQueueInsert_Single\r\n @UID_Task, @UID_DialogDashBoardDef, '', @GenProcID goto ende end  exec QBM_PSessionContextSet 'GenProcID', @GenProcID update dialogDashBoardContent set\r\n HistoryNumber = isnull(HistoryNumber, 0) + 1 where UID_DialogDashboardDef = @UID_DialogDashboardDef BEGIN TRY if @IsInactive = 0 begin exec @procname \r\nend END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  exec QBM_PSessionContextSet 'GenProcID', @GenProcID\r\n insert into DialogDashBoardContent ( UID_DialogDashBoardContent, UID_DialogDashboardDef, ElementName, ElementValue, ElementValue100, ElementDate, HistoryNumber\r\n , ElementOrder, ElementObjectKey , ElementValueZ , ElementObjectKey2 ) select newid(), @UID_DialogDashboardDef, w.ElementName, w.ElementValue, w.ElementValue100\r\n, @datenow, 0, w.ElementOrder, w.ElementObjectKey , w.ElementValueZ , w.ElementObjectKey2 from #DialogDashBoardContent w           select @SQLCmd = 'UID_DialogDashBoardDef = '''\r\n + @UID_DialogDashboardDef + '''\r\n\t\tand HistoryNumber > ' + dbo.QBM_FCVIntToString(@HistoryLength) exec dbo.QBM_PJobCreate_SQLDel 'DialogDashBoardContent'\r\n, @SQLCmd, @GenProcID , DEFAULT , @Retries = 5 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  ende:\r\n truncate table #DialogDashBoardContent exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZDashBoardDefine",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.507",
      "ModifyDate": "2026-04-14T23:20:29.17",
      "Definition": "  create   procedure QBM_ZDashBoardDefine ( @SlotNumber int ,@UID_DialogDashboardDef varchar(38) ,@dummy1 varchar(38) ,@GenProcID varchar(38) ) \r\nas begin declare @ResetMessage nvarchar(4000) BEGIN TRY BEGIN TRY exec QBM_PDashBoardDefine @UID_DialogDashboardDef , @GenProcID , 0  END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default select @ResetMessage = ERROR_MESSAGE() if @@TRANCOUNT > 0 begin rollback end  exec QBM_PDBQueueCurrentResetNGen @SlotNumber\r\n , @ResetMessage , @@PROCID END CATCH END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZDBPrincipalCreate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.24",
      "ModifyDate": "2026-04-14T23:20:30.1",
      "Definition": "  create   procedure QBM_ZDBPrincipalCreate (@SlotNumber int , @UID_QBMDBPrincipal varchar(38) , @Dummy varchar(38) , @GenProcID varchar(38) ) as\r\n begin declare @LoginName nvarchar(128) = null declare @UserName nvarchar(128) = null declare @SQLcmd nvarchar(max) declare @msg nvarchar(max) BEGIN TRY\r\n select top 1 @LoginName = LoginName , @UserName = UserName from QBMDBPrincipal where UID_QBMDBPrincipal = @UID_QBMDBPrincipal if isnull(@LoginName, ''\r\n) = ''  begin if exists (select top 1 1 from sys.database_principals where name = @UserName and type in ('S', 'U', 'G') ) begin select @SQLcmd = 'Drop User ['\r\n + @UserName + ']' exec sp_executesql @SQLCmd end goto EndLabel end if dbo.QBM_FGIServerEngineProperties('AccessToServerPrincipal') = 1  begin if not exists\r\n (select top 1 1 from sys.server_principals where name = @LoginName and type in ('S'  , 'U'  , 'G')  ) begin select @msg = '#LDS#ServerLogin does not exist {0}.|'\r\n + @LoginName + N'|' raiserror(@msg, 18, 2) with nowait end else begin if not exists (select top 1 1 from sys.database_principals where name = @UserName\r\n and type in ('S', 'U', 'G') ) begin  select @SQLcmd = 'Create User [' + @UserName + '] For Login [' + @LoginName + '] With Default_Schema=[dbo]' exec \r\nsp_executesql @SQLCmd end else begin  if not exists (select top 1 1 from sys.server_principals l join sys.database_principals u on l.sid = u.sid where \r\nl.name = @LoginName and l.type in ('S', 'U', 'G') and u.name = @UserName and u.type in ('S', 'U', 'G') ) begin  if exists (select top 1 1 from sys.server_principals\r\n l join sys.database_principals u on l.type = u.type where l.name = @LoginName and u.name = @UserName ) begin select @SQLcmd = 'Alter User [' + @UserName\r\n + '] With Login=[' + @LoginName + ']' exec sp_executesql @SQLCmd end else begin  select @SQLcmd = 'Drop User [' + @UserName + ']' exec sp_executesql @SQLCmd\r\n select @SQLcmd = 'Create User [' + @UserName + '] For Login [' + @LoginName + '] With Default_Schema=[dbo]' exec sp_executesql @SQLCmd end end end end\r\n end else begin if not exists (select top 1 1 from sys.database_principals where name = @UserName and type in ('S', 'U', 'G') ) begin  select @SQLcmd =\r\n 'Create User [' + @UserName + '] For Login [' + @LoginName + '] With Default_Schema=[dbo]' exec sp_executesql @SQLCmd end else begin select @SQLcmd = \r\n'Alter User [' + @UserName + '] With Login=[' + @LoginName + ']' exec sp_executesql @SQLCmd end end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select UID_QBMDBRoleDef as UID from QBMDBPrincipalHasRoleDef\r\n where UID_QBMDBPrincipal = @UID_QBMDBPrincipal ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-DBRoleDefCreate', @DBQueueElements_01 EndLabel: return END TRY\r\n BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZDBQueueCompress",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.37",
      "ModifyDate": "2026-04-14T23:20:30.263",
      "Definition": "     create   procedure QBM_ZDBQueueCompress ( @SlotNumberDummy int = 0 , @dummy1 varchar(38) = null , @dummy2 varchar(38) = null , @GenProcIDDummy\r\n varchar(38) = null ) as begin declare @debuglevel varchar(1) = 'I' BEGIN TRY exec QBM_PDBQueueCompress exec QBM_PJournal '#LDS#Table DialogDBQueue was compressed without condition.|'\r\n, @@procid, 'I', @DebugLevel END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZDBQueuePondTimeOut",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.32",
      "ModifyDate": "2026-04-14T23:20:30.187",
      "Definition": "    create   procedure QBM_ZDBQueuePondTimeOut (@SlotNumberDummy int , @dummy1 varchar(38) , @dummy2 varchar(38) , @dummyGenProcID varchar(38) )\r\n as begin BEGIN TRY exec QBM_PDBQueuePondTimeOut END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZDBQueueVoidTask",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.817",
      "ModifyDate": "2026-04-14T23:20:29.577",
      "Definition": "               create   procedure QBM_ZDBQueueVoidTask (@SlotNumber int , @Dummy1 varchar(38) , @Dummy2 varchar(38) , @GenProcIDDummy varchar(38\r\n) ) AS begin declare @erg int BEGIN TRY  select @erg = 1 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZDBQueueVoidTaskBulk",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.817",
      "ModifyDate": "2026-04-14T23:20:29.577",
      "Definition": " create   procedure QBM_ZDBQueueVoidTaskBulk (@SlotNumber int) AS begin declare @erg int BEGIN TRY  select @erg = 1 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZDBRoleDefCreate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.257",
      "ModifyDate": "2026-04-14T23:20:30.117",
      "Definition": "  create   procedure QBM_ZDBRoleDefCreate (@SlotNumber int , @UID_QBMDBRoleDef varchar(38) , @Dummy varchar(38) , @GenProcID varchar(38) ) as begin\r\n declare @RoleName nvarchar(400) = null declare @Scope nvarchar(16) = null declare @SQLcmd nvarchar(max) declare @msg nvarchar(max) declare @ElementBuffer\r\n QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @LoginName nvarchar(256) declare @UserName nvarchar(256) declare @Operation\r\n varchar(30) BEGIN TRY select top 1 @RoleName = r.RoleName , @Scope = r.Scope from QBMDBRoleDef r where r.UID_QBMDBRoleDef = @UID_QBMDBRoleDef and exists\r\n (select top 1 1 from QBMDBPrincipalHasRoleDef phr join QBMDBPrincipal m on phr.UID_QBMDBPrincipal = m.UID_QBMDBPrincipal where phr.UID_QBMDBRoleDef = \r\nr.UID_QBMDBRoleDef and m.LoginName > ' ' ) if isnull(@RoleName, '') = ''  begin goto EndLabel end if @Scope = 'Server' and dbo.QBM_FGIServerEngineProperties\r\n('AccessToServerPrincipal') = 1  begin select @RoleName = left(@RoleName + '_' + db_name(), 128)  if not exists (select top 1 1 from sys.server_principals\r\n where name = @RoleName and type = 'R'  ) begin select @SQLcmd = 'Create Server Role [' + @RoleName + ']' exec sp_executesql @SQLCmd end  delete  @ElementBuffer\r\n  insert into @ElementBuffer (LongIdent1, Ident1) select m.LoginName, 'delete' from sys.server_role_members rm join sys.server_principals rp on rm.role_principal_id\r\n = rp.principal_id join QBMDBRoleDef r on left(r.RoleName + '_' + db_name(), 128) = rp.name Collate SQL_Latin1_General_CP1_CS_AS  join sys.server_principals\r\n mp on rm.member_principal_id = mp.principal_id join QBMDBPrincipal m on m.LoginName = mp.name Collate SQL_Latin1_General_CP1_CS_AS  where r.UID_QBMDBRoleDef\r\n = @UID_QBMDBRoleDef and rp.type = 'R' and mp.type in ('S', 'U', 'G') and not exists (select top 1 1 from QBMDBPrincipalHasRoleDef phr where phr.UID_QBMDBRoleDef\r\n = r.UID_QBMDBRoleDef and phr.UID_QBMDBPrincipal = m.UID_QBMDBPrincipal ) union select m.LoginName, 'insert' from QBMDBPrincipalHasRoleDef phr join QBMDBRoleDef\r\n r on phr.UID_QBMDBRoleDef = r.UID_QBMDBRoleDef join sys.server_principals rp on left(r.RoleName + '_' + db_name(), 128) = rp.name Collate SQL_Latin1_General_CP1_CS_AS\r\n  join QBMDBPrincipal m on phr.UID_QBMDBPrincipal = m.UID_QBMDBPrincipal join sys.server_principals mp on m.LoginName = mp.name Collate SQL_Latin1_General_CP1_CS_AS\r\n  where phr.UID_QBMDBRoleDef = @UID_QBMDBRoleDef and rp.type = 'R' and mp.type in ('S', 'U', 'G') and not exists (select top 1 1 from sys.server_role_members\r\n rm where rm.role_principal_id = rp.principal_id and rm.member_principal_id = mp.principal_id ) select @ElementCount = count(*) from @ElementBuffer select\r\n @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @LoginName = bu.LongIdent1 , @Operation = bu.Ident1 from @ElementBuffer bu where\r\n bu.ElementIndex = @ElementIndex if @Operation = 'delete' begin select @SQLcmd = 'Alter Server Role [' + @RoleName + '] Drop Member [' + @LoginName + ']'\r\n exec sp_executesql @SQLCmd end if @Operation = 'insert' begin select @SQLcmd = 'Alter Server Role [' + @RoleName + '] Add Member [' + @LoginName + ']'\r\n exec sp_executesql @SQLCmd end select @ElementIndex += 1 end  end  if @Scope = 'Database' begin if not exists (select top 1 1 from sys.database_principals\r\n where name = @RoleName and type = 'R'  ) begin select @SQLcmd = 'Create Role [' + @RoleName + ']' exec sp_executesql @SQLCmd end  delete  @ElementBuffer\r\n  insert into @ElementBuffer (LongIdent1, Ident1) select m.UserName, 'delete' from sys.database_role_members rm join sys.database_principals rp on rm.role_principal_id\r\n = rp.principal_id join QBMDBRoleDef r on r.RoleName = rp.name join sys.database_principals mp on rm.member_principal_id = mp.principal_id join QBMDBPrincipal\r\n m on m.UserName = mp.name where r.UID_QBMDBRoleDef = @UID_QBMDBRoleDef and m.LoginName > ' ' and rp.type = 'R' and mp.type in ('S', 'U', 'G') and not \r\nexists (select top 1 1 from QBMDBPrincipalHasRoleDef phr where phr.UID_QBMDBRoleDef = r.UID_QBMDBRoleDef and phr.UID_QBMDBPrincipal = m.UID_QBMDBPrincipal\r\n ) union select m.UserName, 'insert' from QBMDBPrincipalHasRoleDef phr join QBMDBRoleDef r on phr.UID_QBMDBRoleDef = r.UID_QBMDBRoleDef join sys.database_principals\r\n rp on r.RoleName = rp.name join QBMDBPrincipal m on phr.UID_QBMDBPrincipal = m.UID_QBMDBPrincipal join sys.database_principals mp on m.UserName = mp.name\r\n where phr.UID_QBMDBRoleDef = @UID_QBMDBRoleDef and m.LoginName > ' ' and rp.type = 'R' and mp.type in ('S', 'U', 'G') and not exists (select top 1 1 from\r\n sys.database_role_members rm where rm.role_principal_id = rp.principal_id and rm.member_principal_id = mp.principal_id ) select @ElementCount = count(*\r\n) from @ElementBuffer select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @UserName = bu.LongIdent1 , @Operation = bu.Ident1\r\n from @ElementBuffer bu where bu.ElementIndex = @ElementIndex if @Operation = 'delete' begin select @SQLcmd = 'Alter Role [' + @RoleName + '] Drop Member ['\r\n + @UserName + ']' exec sp_executesql @SQLCmd end if @Operation = 'insert' begin select @SQLcmd = 'Alter Role [' + @RoleName + '] Add Member [' + @UserName\r\n + ']' exec sp_executesql @SQLCmd end select @ElementIndex += 1 end  end  EndLabel: return END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZDBRoleDefFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.3",
      "ModifyDate": "2026-04-14T23:20:30.167",
      "Definition": "  create   procedure QBM_ZDBRoleDefFill (@SlotNumber int , @Dummy1 varchar(38) , @Dummy2 varchar(38) , @GenProcID varchar(38) ) as declare @ElementBuffer\r\n QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @SQLcmd nvarchar(max) declare @UID_QBMDBRoleDef varchar(38) declare @DBOwner\r\n varchar(3) declare @Schema_Id int declare @MyName nvarchar(64) = object_name(@@procid) begin begin try select @UID_QBMDBRoleDef = 'QBM-DBRole-OneIMEndUserRoleDB'\r\n select top 1 @DBOwner = dbo.QBM_FGIDBOwner() if isnull(@DBOwner, '') <> 'CCC' begin goto EndLabel end  delete QBMDBRightsAddOn where UID_QBMDBRoleDef \r\n= @UID_QBMDBRoleDef and UID_QBMDBRightsAddOn like 'CCC%' and ObjectClass in ('VIEW', 'FUNCTION', 'TABLE_FUNCTION', 'PROCEDURE', 'USER_TABLE') and not exists\r\n (select top 1 1 from sys.objects o where o.name = QBMDBRightsAddOn.ObjectName ) select top 1 @Schema_Id = schema_id from sys.schemas where name = 'dbo'\r\n insert into @ElementBuffer (Ident1, Ident2, Ident3, LongIdent1)  select 'SELECT', 'SL', 'USER_TABLE', convert(nvarchar(64), o.name) as Scriptname from\r\n sys.tables o join DialogTable t on convert(varchar(64), rtrim(o.name)) = t.TableName where o.type = 'U' and o.is_memory_optimized = 0 and o.schema_id \r\n= @Schema_id and left(isnull(t.UID_DialogTable, '1234'), 4) not in (Select md.ModuleName + '-' from QBMModuleDef md where md.ModuleName <> 'CCC' ) and \r\nnot exists (select top 1 1 from QBMDBRightsAddOn r where r.UID_QBMDBRoleDef = @UID_QBMDBRoleDef and r.ObjectClass = 'USER_TABLE' and r.ObjectName = o.name\r\n and r.PermissionName = 'SELECT' ) union all  select 'INSERT', 'IN', 'USER_TABLE', convert(nvarchar(64), o.name) as Scriptname from sys.tables o join DialogTable\r\n t on convert(varchar(64), rtrim(o.name)) = t.TableName where o.type = 'U' and o.is_memory_optimized = 0 and o.schema_id = @Schema_id and left(isnull(t.UID_DialogTable\r\n, '1234'), 4) not in (Select md.ModuleName + '-' from QBMModuleDef md where md.ModuleName <> 'CCC' ) and not exists (select top 1 1 from QBMDBRightsAddOn\r\n r where r.UID_QBMDBRoleDef = @UID_QBMDBRoleDef and r.ObjectClass = 'USER_TABLE' and r.ObjectName = o.name and r.PermissionName = 'INSERT' ) union all \r\n select 'UPDATE', 'UP', 'USER_TABLE', convert(nvarchar(64), o.name) as Scriptname from sys.tables o join DialogTable t on convert(varchar(64), rtrim(o.name\r\n)) = t.TableName where o.type = 'U' and o.is_memory_optimized = 0 and o.schema_id = @Schema_id and left(isnull(t.UID_DialogTable, '1234'), 4) not in (Select\r\n md.ModuleName + '-' from QBMModuleDef md where md.ModuleName <> 'CCC' ) and not exists (select top 1 1 from QBMDBRightsAddOn r where r.UID_QBMDBRoleDef\r\n = @UID_QBMDBRoleDef and r.ObjectClass = 'USER_TABLE' and r.ObjectName = o.name and r.PermissionName = 'UPDATE' ) union all  select 'DELETE', 'DL', 'USER_TABLE'\r\n, convert(nvarchar(64), o.name) as Scriptname from sys.tables o join DialogTable t on convert(varchar(64), rtrim(o.name)) = t.TableName where o.type = \r\n'U' and o.is_memory_optimized = 0 and o.schema_id = @Schema_id and left(isnull(t.UID_DialogTable, '1234'), 4) not in (Select md.ModuleName + '-' from QBMModuleDef\r\n md where md.ModuleName <> 'CCC' ) and not exists (select top 1 1 from QBMDBRightsAddOn r where r.UID_QBMDBRoleDef = @UID_QBMDBRoleDef and r.ObjectClass\r\n = 'USER_TABLE' and r.ObjectName = o.name and r.PermissionName = 'DELETE' ) union all  select 'SELECT', 'SL', 'VIEW', convert(nvarchar(64), o.name) from\r\n sys.objects o join DialogTable t on convert(varchar(64), rtrim(o.name)) = t.TableName where o.type = 'V' and t.tabletype in ('V', 'P', 'U', 'R') and LEFT\r\n(t.UID_DialogTable, 4) = 'CCC' + '-' and o.name not like 'sys%' and o.schema_id = @Schema_id and not exists (select top 1 1 from QBMDBRightsAddOn r where\r\n r.UID_QBMDBRoleDef = @UID_QBMDBRoleDef and r.ObjectClass = 'VIEW' and r.ObjectName = convert(nvarchar(64), o.name) and r.PermissionName = 'SELECT' ) union\r\n all  select 'SELECT', 'SL', 'VIEW', convert(nvarchar(64), o.name) from sys.objects o where o.type = 'V' and not exists (select top 1 1 from dialogtable\r\n t where t.tabletype in ( 'V', 'P', 'U', 'R') and t.TableName = convert(nvarchar(64), o.name) ) and LEFT(o.name, 4) not in (Select md.ModuleName + '_' \r\nfrom QBM_VQBMModuleDef md where md.ModuleName <> 'CCC' ) and o.name not like 'sys%' and o.schema_id = @Schema_id and not exists (select top 1 1 from QBMDBRightsAddOn\r\n r where r.UID_QBMDBRoleDef = @UID_QBMDBRoleDef and r.ObjectClass = 'VIEW' and r.ObjectName = convert(nvarchar(64), o.name) and r.PermissionName = 'SELECT'\r\n ) union all  select 'SELECT', 'SL', 'TABLE_FUNCTION', convert(nvarchar(64), o.name) from sys.objects o where o.type in ('TF', 'IF') and LEFT(o.name, 4\r\n) not in (Select md.ModuleName + '_' from QBM_VQBMModuleDef md where md.ModuleName <> 'CCC' ) and o.name not like 'sys%' and o.schema_id = @Schema_id and\r\n not exists (select top 1 1 from QBMDBRightsAddOn r where r.UID_QBMDBRoleDef = @UID_QBMDBRoleDef and r.ObjectClass = 'TABLE_FUNCTION' and r.ObjectName \r\n= convert(nvarchar(64), o.name) and r.PermissionName = 'SELECT' ) union all  select 'EXECUTE', 'EX', case when o.type = 'P' then 'PROCEDURE' else 'FUNCTION'\r\n end, convert(nvarchar(64), o.name) from sys.objects o where o.type in ('P', 'FN') and o.schema_id = @Schema_id and left(o.name, 3) not in ('sp_', 'ms_'\r\n, 'dt_') and LEFT(o.name, 4) not in (Select md.ModuleName + '_' from QBM_VQBMModuleDef md where md.ModuleName <> 'CCC' ) and not exists (select top 1 1\r\n from QBMDBRightsAddOn r where r.UID_QBMDBRoleDef = @UID_QBMDBRoleDef and r.ObjectClass = case when o.type = 'P' then 'PROCEDURE' else 'FUNCTION' end and\r\n r.ObjectName = convert(nvarchar(64), o.name) and r.PermissionName = 'EXECUTE' ) select @ElementCount = count(*) from @ElementBuffer select @ElementIndex\r\n = 1 while @ElementIndex <= @ElementCount begin select top 1 @SQLcmd = 'insert into QBMDBRightsAddOn(UID_QBMDBRightsAddOn, UID_QBMDBRoleDef, PermissionName, PermissionType, ObjectClass, ObjectName\r\n\t\t\t\t\t\t\t\t\t, XObjectKey\r\n\t\t\t\t\t\t\t\t\t, XDateInserted, XDateUpdated, XUserInserted, XUserUpdated)\r\n\t\t\t\t\t\t\t\tvalues (dbo.QBM_FCVStringToGUID('''\r\n + @DBOwner + ''', ''' + SUBSTRING(@UID_QBMDBRoleDef, 12, 38) + bu.Ident1 + bu.LongIdent1 + '''), ''' + @UID_QBMDBRoleDef + ''', ''' + bu.Ident1 + ''', '''\r\n + bu.Ident2 + ''', ''' + bu.Ident3 + ''', ''' + bu.LongIdent1 + '''\r\n\t\t\t\t\t\t\t\t\t\t\t, dbo.QBM_FCVElementToObjectKey1(''QBMDBRightsAddOn'', ''UID_QBMDBRightsAddOn'', dbo.QBM_FCVStringToGUID('''\r\n + @DBOwner + ''', ''' + SUBSTRING(@UID_QBMDBRoleDef, 12, 38) + bu.Ident1 + bu.LongIdent1 + '''))\r\n\t\t\t\t\t\t\t\t\t\t\t, GETUTCDATE(), GETUTCDATE(), ''' + @MyName\r\n + ''', ''' + @MyName + ''')' from @ElementBuffer bu where bu.ElementIndex = @ElementIndex exec sp_executesql @SQLCmd select @ElementIndex += 1 end  EndLabel:\r\n return END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZDBRoleDefPropagate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.28",
      "ModifyDate": "2026-04-14T23:20:30.14",
      "Definition": "  create   procedure QBM_ZDBRoleDefPropagate (@SlotNumber int , @UID_QBMDBRoleDef varchar(38) , @Dummy varchar(38) , @GenProcID varchar(38) ) as\r\n begin declare @RoleName nvarchar(400) = null declare @Scope nvarchar(16) = null declare @SQLcmd nvarchar(max) declare @msg nvarchar(max) declare @master\r\n sysname = 'master.sys.sp_executesql' declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @DatabaseName\r\n nvarchar(128) BEGIN TRY select @DatabaseName = db_name() select top 1 @RoleName = rd.RoleName , @Scope = rd.Scope from QBMDBRoleDef rd join (select 'Database'\r\n as Scope, name as RoleName from sys.database_principals where type = 'R' union all select 'Server', name from sys.server_principals where type = 'R' )\r\n r on r.Scope = rd.Scope and r.Rolename = case r.Scope when 'Database' then rd.RoleName Collate SQL_Latin1_General_CP1_CS_AS  else left(rd.Rolename + '_'\r\n + @DatabaseName, 128) Collate SQL_Latin1_General_CP1_CS_AS  end where rd.UID_QBMDBRoleDef = @UID_QBMDBRoleDef if isnull(@RoleName, '') = ''  begin goto\r\n EndLabel end if @Scope = 'Database' begin delete  @ElementBuffer  insert into @ElementBuffer(Ident1, ContentFull) select 'revoke', 'Revoke ' + p.permission_name\r\n Collate SQL_Latin1_General_CP1_CS_AS  + ' ON DATABASE::' + @DatabaseName + ' FROM ' + r.RoleName from sys.database_principals rp join QBMDBRoleDef r on\r\n r.RoleName = rp.name join sys.database_permissions p on rp.principal_id = p.grantee_principal_id where r.UID_QBMDBRoleDef = @UID_QBMDBRoleDef and rp.type\r\n = 'R' and p.state = 'G' and p.class_desc = 'DATABASE' and not exists (select top 1 1 from QBMDBRightsAddOn a where a.UID_QBMDBRoleDef = r.UID_QBMDBRoleDef\r\n and a.PermissionName = p.permission_name Collate SQL_Latin1_General_CP1_CS_AS  and a.ObjectClass = 'DATABASE' ) union all select 'revoke', 'Revoke ' +\r\n p.permission_name Collate SQL_Latin1_General_CP1_CS_AS  + ' ON OBJECT::' + o.name + ' FROM ' + r.RoleName from sys.database_principals rp join QBMDBRoleDef\r\n r on r.RoleName = rp.name join sys.database_permissions p on rp.principal_id = p.grantee_principal_id join sys.objects o on p.major_id = o.object_id where\r\n r.UID_QBMDBRoleDef = @UID_QBMDBRoleDef and rp.type = 'R' and p.state = 'G'  and o.type <> 'S' and not exists (select top 1 1 from QBMDBRightsAddOn a where\r\n a.UID_QBMDBRoleDef = r.UID_QBMDBRoleDef and a.PermissionName = p.permission_name Collate SQL_Latin1_General_CP1_CS_AS  and a.ObjectName = o.name ) union\r\n all select 'revoke', 'Revoke ' + p.permission_name Collate SQL_Latin1_General_CP1_CS_AS  + ' ON TYPE::' + o.name + ' FROM ' + r.RoleName from sys.database_principals\r\n rp join QBMDBRoleDef r on r.RoleName = rp.name join sys.database_permissions p on rp.principal_id = p.grantee_principal_id join sys.table_types o on p.major_id\r\n = o.user_type_id where r.UID_QBMDBRoleDef = @UID_QBMDBRoleDef and rp.type = 'R' and p.state = 'G' and p.class_desc = 'TYPE' and not exists (select top\r\n 1 1 from QBMDBRightsAddOn a where a.UID_QBMDBRoleDef = r.UID_QBMDBRoleDef and a.PermissionName = p.permission_name Collate SQL_Latin1_General_CP1_CS_AS\r\n  and a.ObjectName = o.name and a.ObjectClass = 'TYPE' ) union all select 'revoke', 'Revoke ' + p.permission_name Collate SQL_Latin1_General_CP1_CS_AS \r\n + ' ON SCHEMA::\"' + o.name + '\" FROM ' + r.RoleName from sys.database_principals rp join QBMDBRoleDef r on r.RoleName = rp.name join sys.database_permissions\r\n p on rp.principal_id = p.grantee_principal_id join sys.schemas o on p.major_id = o.schema_id where r.UID_QBMDBRoleDef = @UID_QBMDBRoleDef and rp.type \r\n= 'R' and p.state = 'G' and p.class_desc = 'SCHEMA' and not exists (select top 1 1 from QBMDBRightsAddOn a where a.UID_QBMDBRoleDef = r.UID_QBMDBRoleDef\r\n and a.PermissionName = p.permission_name Collate SQL_Latin1_General_CP1_CS_AS  and a.ObjectName = o.name and a.ObjectClass = 'SCHEMA' ) union all select\r\n 'revoke', 'Revoke ' + p.permission_name Collate SQL_Latin1_General_CP1_CS_AS  + ' ON USER::' + o.name + ' FROM ' + r.RoleName from sys.database_principals\r\n rp join QBMDBRoleDef r on r.RoleName = rp.name join sys.database_permissions p on rp.principal_id = p.grantee_principal_id join sys.database_principals\r\n o on p.major_id = o.principal_id where r.UID_QBMDBRoleDef = @UID_QBMDBRoleDef and rp.type = 'R' and p.state = 'G' and p.class_desc = 'DATABASE_PRINCIPAL'\r\n and not exists (select top 1 1 from QBMDBRightsAddOn a where a.UID_QBMDBRoleDef = r.UID_QBMDBRoleDef and a.PermissionName = p.permission_name Collate \r\nSQL_Latin1_General_CP1_CS_AS  and a.ObjectName = o.name and a.ObjectClass = 'USER' ) union all select 'grant', 'Grant ' + a.PermissionName + ' ON DATABASE::'\r\n + @DatabaseName + ' TO ' + r.RoleName from QBMDBRightsAddOn a join QBMDBRoleDef r on r.UID_QBMDBRoleDef = a.UID_QBMDBRoleDef where r.UID_QBMDBRoleDef \r\n= @UID_QBMDBRoleDef and a.ObjectClass = 'DATABASE' and not exists (select top 1 1 from sys.database_principals rp join sys.database_permissions p on rp.principal_id\r\n = p.grantee_principal_id where rp.type = 'R' and p.state = 'G' and a.PermissionName = p.permission_name Collate SQL_Latin1_General_CP1_CS_AS  and p.class_desc\r\n = a.ObjectClass Collate SQL_Latin1_General_CP1_CS_AS  and rp.name = r.Rolename ) union all select 'grant', 'Grant ' + a.PermissionName + ' ON OBJECT::'\r\n + a.ObjectName + ' TO ' + r.RoleName from QBMDBRightsAddOn a join QBMDBRoleDef r on r.UID_QBMDBRoleDef = a.UID_QBMDBRoleDef join sys.objects o on a.ObjectName\r\n = o.name where r.UID_QBMDBRoleDef = @UID_QBMDBRoleDef and not exists (select top 1 1 from sys.database_principals rp join sys.database_permissions p on\r\n rp.principal_id = p.grantee_principal_id where rp.type = 'R' and p.state = 'G' and o.type <> 'S' and a.PermissionName = p.permission_name Collate SQL_Latin1_General_CP1_CS_AS\r\n  and rp.name = r.Rolename and p.major_id = o.object_id ) union all select 'grant', 'Grant ' + a.PermissionName + ' ON TYPE::' + a.ObjectName + ' TO ' \r\n+ r.RoleName from QBMDBRightsAddOn a join QBMDBRoleDef r on r.UID_QBMDBRoleDef = a.UID_QBMDBRoleDef join sys.table_types o on a.ObjectName = o.name where\r\n r.UID_QBMDBRoleDef = @UID_QBMDBRoleDef and a.ObjectClass = 'TYPE' and not exists (select top 1 1 from sys.database_principals rp join sys.database_permissions\r\n p on rp.principal_id = p.grantee_principal_id where rp.type = 'R' and p.state = 'G' and a.PermissionName = p.permission_name Collate SQL_Latin1_General_CP1_CS_AS\r\n  and rp.name = r.Rolename and p.major_id = o.user_type_id ) union all select 'grant', 'Grant ' + a.PermissionName + ' ON SCHEMA::\"' + a.ObjectName + '\" TO '\r\n + r.RoleName from QBMDBRightsAddOn a join QBMDBRoleDef r on r.UID_QBMDBRoleDef = a.UID_QBMDBRoleDef join sys.schemas o on a.ObjectName = o.name where \r\nr.UID_QBMDBRoleDef = @UID_QBMDBRoleDef and a.ObjectClass = 'SCHEMA' and not exists (select top 1 1 from sys.database_principals rp join sys.database_permissions\r\n p on rp.principal_id = p.grantee_principal_id where rp.type = 'R' and p.state = 'G' and a.PermissionName = p.permission_name Collate SQL_Latin1_General_CP1_CS_AS\r\n  and rp.name = r.Rolename and p.major_id = o.schema_id ) union all select 'grant', 'Grant ' + a.PermissionName + ' ON USER::' + a.ObjectName + ' TO ' \r\n+ r.RoleName from QBMDBRightsAddOn a join QBMDBRoleDef r on r.UID_QBMDBRoleDef = a.UID_QBMDBRoleDef join sys.database_principals o on a.ObjectName = o.name\r\n where r.UID_QBMDBRoleDef = @UID_QBMDBRoleDef and a.ObjectClass = 'USER' and not exists (select top 1 1 from sys.database_principals rp join sys.database_permissions\r\n p on rp.principal_id = p.grantee_principal_id where rp.type = 'R' and p.state = 'G' and a.PermissionName = p.permission_name Collate SQL_Latin1_General_CP1_CS_AS\r\n  and rp.name = r.Rolename and p.major_id = o.principal_id ) select @ElementCount = count(*) from @ElementBuffer select @ElementIndex = 1 while @ElementIndex\r\n <= @ElementCount begin select top 1 @SQLcmd = bu.ContentFull from @ElementBuffer bu where bu.ElementIndex = @ElementIndex exec sp_executesql @SQLCmd select\r\n @ElementIndex += 1 end  end  if @Scope = 'Server' and dbo.QBM_FGIServerEngineProperties('AccessToServerPrincipal') = 1  begin delete  @ElementBuffer  \r\ninsert into @ElementBuffer(Ident1, ContentFull) select 'revoke', 'Revoke ' + p.permission_name Collate SQL_Latin1_General_CP1_CS_AS  + ' FROM ' + left(r.RoleName\r\n + '_' + @DatabaseName, 128) from sys.server_principals rp join QBMDBRoleDef r on left(r.RoleName + '_' + @DatabaseName, 128) = rp.name Collate SQL_Latin1_General_CP1_CS_AS\r\n  join sys.server_permissions p on rp.principal_id = p.grantee_principal_id where r.UID_QBMDBRoleDef = @UID_QBMDBRoleDef and rp.type = 'R' and p.state \r\n= 'G' and not exists (select top 1 1 from QBMDBRightsAddOn a where a.UID_QBMDBRoleDef = r.UID_QBMDBRoleDef and a.PermissionName = p.permission_name Collate\r\n SQL_Latin1_General_CP1_CS_AS  and p.class_desc = a.ObjectClass Collate SQL_Latin1_General_CP1_CS_AS  and a.ObjectClass = 'SERVER' ) union select 'grant'\r\n, 'Grant ' + a.PermissionName + ' TO ' + left(r.RoleName + '_' + @DatabaseName, 128) from QBMDBRightsAddOn a join QBMDBRoleDef r on r.UID_QBMDBRoleDef \r\n= a.UID_QBMDBRoleDef where r.UID_QBMDBRoleDef = @UID_QBMDBRoleDef and a.ObjectClass = 'SERVER' and not exists (select top 1 1 from sys.server_principals\r\n rp join sys.server_permissions p on rp.principal_id = p.grantee_principal_id where rp.type = 'R' and p.state = 'G' and a.PermissionName = p.permission_name\r\n Collate SQL_Latin1_General_CP1_CS_AS  and p.class_desc = a.ObjectClass Collate SQL_Latin1_General_CP1_CS_AS  and left(r.RoleName + '_' + @DatabaseName\r\n, 128) = rp.name Collate SQL_Latin1_General_CP1_CS_AS  ) select @ElementCount = count(*) from @ElementBuffer select @ElementIndex = 1 while @ElementIndex\r\n <= @ElementCount begin select top 1 @SQLcmd = bu.ContentFull from @ElementBuffer bu where bu.ElementIndex = @ElementIndex exec @master @SQLCmd select \r\n@ElementIndex += 1 end  end  EndLabel: return END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZDeferredOperationExecute",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.147",
      "ModifyDate": "2026-04-14T23:20:29.993",
      "Definition": "     create   procedure QBM_ZDeferredOperationExecute (@SlotNumberDummy int , @Dummy1 varchar(38) , @Dummy2 varchar(38) , @GenProcidTask varchar\r\n(38) ) as begin declare @whereclause nvarchar(max) declare @GenProcID varchar(38) declare @DebugSwitch int = 0 declare @InClauses QBM_YCursorBuffer declare\r\n @ElementCount int declare @ElementIndex int declare @ElementsProcessed int declare @Portion int = 10000 declare @PartitionSize int = 101 declare @Elemente\r\n QBM_YParameterList declare @ElementPartition QBM_YParameterList declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate\r\n() declare @ObjectKeysPerRun QBM_YParameterList declare @BasisObjectKey varchar(138) = null BEGIN TRY  insert into @Elemente (Parameter1, Parameter2, Parameter3\r\n) select top (@Portion) o.UID_DialogDeferredOperation, isnull(o.GenProcID, @GenProcidTask)      , o.XObjectKey from DialogDeferredOperation o where TargetDate\r\n < GetUTCDate() and isnull(XTouched, '') <> 'X' select @ElementsProcessed = @@ROWCOUNT select @ElementIndex = 1 if @DebugSwitch > 0 begin select e.Parameter1\r\n, e.Parameter2 from @Elemente e end if @ElementsProcessed = 1 begin  select top 1 @GenProcID = e.Parameter2 , @BasisObjectKey = e.Parameter3 from @Elemente\r\n e end else begin  select @GenProcID = @GenProcidTask           ; merge into DialogProcessSubstitute as t using ( select distinct e.Parameter2 as GenProcIDOrigin\r\n , @GenProcid as GenProcIDNew from @Elemente e where e.Parameter2 <> @GenProcID ) as s on t.GenProcIDOrigin = s.GenProcIDOrigin and t.GenProcIDNew = s.GenProcIDNew\r\n when matched and t.ReadyForDeleteOrExport <> 0 then update set t.ReadyForDeleteOrExport = 0 when not matched by target then insert ( GenProcIDOrigin ,\r\n GenProcIDNew , ReadyForDeleteOrExport ) values ( s.GenProcIDOrigin , s.GenProcIDNew , 0 ) ; end select @ElementCount = ceiling(@ElementsProcessed / (1.0\r\n * @PartitionSize)) select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin delete @ElementPartition insert into @ElementPartition (Parameter1\r\n, Parameter2, Parameter3) select top (@partitionSize) Parameter1, Parameter2, Parameter3 from @Elemente where HasContentFull = 0 Update @Elemente set HasContentFull\r\n = 1 where Parameter1 in (select Parameter1 from @ElementPartition) select top 1 @whereclause ='UID_DialogDeferredOperation in ' + i.CollectedLine from\r\n dbo.QBM_FTParameter1AsInClause(@ElementPartition) i if @DebugSwitch > 0 begin print @whereclause end delete @ObjectKeysPerRun insert into @ObjectKeysPerRun\r\n(Parameter1) select e.Parameter3 from @ElementPartition e exec QBM_PJobCreate_HOFireEvent 'DialogDeferredOperation', @whereclause, 'EXECUTE', @GenProcid\r\n , @ObjectKeysAffected = @ObjectKeysPerRun , @BasisObjectKey = @BasisObjectKey select @ElementIndex += 1 end   update DialogDeferredOperation set xtouched\r\n = 'X' , XDateUpdated = @Xdate , XUserUpdated = @XUser where UID_DialogDeferredOperation in ( select e.Parameter1 from @Elemente e ) if @ElementsProcessed\r\n = @Portion begin if @GenProcidTask is null begin select @GenProcidTask = newid() end exec QBM_PDBQueueInsert_Single 'QBM-K-DeferredOperationExecute', \r\n'', '', @GenProcidTask end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZDialogSemaphorIncAll",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.247",
      "ModifyDate": "2026-04-14T23:20:28.83",
      "Definition": "        create   procedure QBM_ZDialogSemaphorIncAll ( @SlotNumberDummy int , @dummy1 varchar(38) , @dummy2 varchar(38)  , @GenProcIDDummy varchar\r\n(38) )as begin  declare @XDate datetime = getutcDate() declare @XUser nvarchar(64) = object_name(@@procid) declare @GenProcID varchar(38) = newid() declare\r\n @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') BEGIN TRY exec QBM_PSessionContextSet 'GenProcID', @GenProcID update dialogSemaphor set ChangeCounter\r\n = ChangeCounter +1  , XDateUpdated = @XDate , XUserUpdated = @XUser where ChangeContext not in ('SOFTWAREREVISION')  exec QBM_PSessionContextSet 'GenProcID'\r\n, @GenProcID                  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  ende: exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZDialogSemaphorIncGlobal",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.25",
      "ModifyDate": "2026-04-14T23:20:28.83",
      "Definition": "  create   procedure QBM_ZDialogSemaphorIncGlobal ( @SlotNumberDummy int , @ChangeContext varchar(38)  , @dummy varchar(38)  , @GenProcID varchar\r\n(38) )as begin  declare @UID_DialogSemaphor varchar(38) declare @XDate datetime = getutcDate() declare @XUser nvarchar(64) = object_name(@@procid) declare\r\n @GenProcID_R varchar(38) BEGIN TRY select @GenProcID_R = dbo.QBM_FGISessionContext('') declare @ChangeContext_intern nvarchar(32) select @ChangeContext_intern\r\n = upper(@ChangeContext)  if not exists (select top 1 1 from DialogSemaphor where ChangeContext = @ChangeContext_intern ) begin goto ende end exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID update dialogSemaphor set ChangeCounter = ChangeCounter +1 , XDateUpdated = @XDate , XUserUpdated = @XUser where ChangeContext\r\n = @ChangeContext_intern             END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  ende: exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZDialogTablePKNameCorrect",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.34",
      "ModifyDate": "2026-04-14T23:20:30.22",
      "Definition": "   create   procedure QBM_ZDialogTablePKNameCorrect (@SlotNumber int , @Dummy1 varchar(38) , @Dummy2 varchar(38) , @GenProcIDDummy varchar(38) )\r\n as begin BEGIN TRY exec QBM_PDialogTablePKNameCorrect @TablePattern = '%' END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) \r\nWITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZDialogUserInGroup",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.22",
      "ModifyDate": "2026-04-14T23:20:30.073",
      "Definition": "  create   procedure QBM_ZDialogUserInGroup (@SlotNumberDummy int , @UID_DialogUser varchar(38) , @dummy2 varchar(38) , @GenProcID varchar(38) )\r\n  as begin  declare @Lauf int BEGIN TRY exec QBM_PDialogUserInGroupCorrect @UID_DialogUser END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH  ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZDynamicUserShrink",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.65",
      "ModifyDate": "2026-04-14T23:20:29.36",
      "Definition": "  create   procedure QBM_ZDynamicUserShrink ( @Slotnumber int , @Dummy1 varchar(38) , @Dummy2 varchar(38) , @GenProcIDDummy varchar(38) ) AS begin\r\n declare @DynamicUserLifetime int BEGIN TRY  select top 1 @DynamicUserLifetime = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue('Common\\DynamicUserLifetime'\r\n), 7) delete dialoguser from dialoguser u where u.IsDynamicUser = 1 and datediff(dd, u.lastlogin, getutcdate()) > @DynamicUserLifetime  and Not exists \r\n(select top 1 1 from DialogDeferredOperation do where do.UserInformation like 'Identifier=' + u.UID_DialogUser + '%' )  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZForeignKeyRepair",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.157",
      "ModifyDate": "2026-04-14T23:20:30.003",
      "Definition": "   create   procedure QBM_ZForeignKeyRepair (@SlotNumberDummy int , @uid_Module varchar(38) , @TableName varchar(38) , @GenProcIDDummy varchar(38\r\n) ) AS begin declare @ModuleName varchar(3) declare @Message nvarchar(2000) declare @DebugLevel varchar(1) = 'W' declare @CountRows int BEGIN TRY select\r\n @ModuleName = LEFT(@uid_module, 3) if @DebugLevel in ('D', 'T') begin select @Message = 'ForeignKeyRepair for ' + @ModuleName + '.' + @TableName exec \r\n@CountRows = QBM_PForeignKeyWrongreport @ChildTablePattern ='%' , @ChildColumnPattern = '%' , @ParentTablePattern = @TableName , @ParentColumnPattern =\r\n '%' , @OwnerOfParent = @ModuleName select @Message = @Message + STR(@CountRows) + ' row(s) affected' exec QBM_PJournal @message, @@procid, 'D', @DebugLevel\r\n end exec QBM_PForeignKeyWrongRepair @ChildTablePattern ='%' , @ChildColumnPattern = '%' , @ParentTablePattern = @TableName , @ParentColumnPattern = '%'\r\n , @RepairOnlyNonExistingModule = 0 , @OwnerOfParent = @ModuleName select @Message = 'executed  ForeignKeyRepair for ' + @ModuleName + '.' + @TableName\r\n exec QBM_PJournal @message, @@procid, 'T', @DebugLevel END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZForeignKeyRepair_M",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-09-22T13:34:06.773",
      "ModifyDate": "2026-04-14T23:20:30.003",
      "Definition": " create   procedure QBM_ZForeignKeyRepair_M (@SlotNumberDummy int , @Tablename varchar(38) , @Dummy2 varchar(38) , @GenProcIDDummy varchar(38) )\r\n AS begin declare @ModuleName varchar(3) declare @Message nvarchar(2000) declare @CountRows int BEGIN TRY exec QBM_PForeignKeyWrongRepair @ParentTablePattern\r\n = @TableName ,@FilterByModuleGUIDAllowed = 1 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZGetServerProperties",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.313",
      "ModifyDate": "2026-04-14T23:20:30.18",
      "Definition": "       create   procedure QBM_ZGetServerProperties (@SlotNumberDummy int = 0 , @Dummy1 varchar(38) = '' , @Dummy2 varchar(38) = '' , @DummyGenProcid\r\n varchar(38) = '' ) as begin declare @MessageString nvarchar(max) declare @x table (LogDate datetime , ProcessInfo nvarchar(256) collate database_default\r\n , MessageString nvarchar(max) ) declare @CountSockets int declare @CountCoresPerSocket int declare @CountLogicalProcessorsPerSocket int declare @CountCoresTotal\r\n int declare @CountLogicalProcessorsTotal int declare @CoreDetect int declare @patIndex nvarchar(64) declare @DebugSwitch int = 0 declare @IsQBMMaster \r\nbit = 0 declare @BlindMuster varchar(16) = '0' declare @CURRENT_TIMEZONE_ID varchar(50) = null  declare @XUser nvarchar(64) = object_name(@@procid) declare\r\n @Xdate datetime = getutcdate() declare @HasExtendedProc bit BEGIN TRY select top 1 @HasExtendedProc = p.HasExtendedProc from QBM_VServerEngineProperties\r\n p if dbo.QBM_FGIDBOwner() = 'QBM' begin select @IsQBMMaster = 1 end if @HasExtendedProc = 0  begin select @CoreDetect = 0 end else begin insert into @x\r\n(LogDate, ProcessInfo, MessageString) EXEC sys.xp_readerrorlog 0, 1, N'detected', N'socket' select @CoreDetect = @@ROWCOUNT end if @CoreDetect = 0 begin\r\n  select @CountLogicalProcessorsPerSocket = COUNT(*) FROM sys.dm_os_schedulers WHERE status = N'VISIBLE ONLINE'; SELECT top 1 cpu_count, ceiling(convert\r\n(float, cpu_count)/convert(float,hyperthread_ratio)) AS CountSockets , hyperthread_ratio AS CountCoresPerSocket , cpu_count AS CountCoresTotal FROM sys.dm_os_sys_info\r\n end else begin select top 1 @MessageString = x.MessageString from @x x order by x.LogDate desc if @DebugSwitch > 0 begin print @MessageString end select\r\n @patIndex = '%detected % sockets%' select @CountSockets = dbo.QBM_FCVStringToInt( dbo.QBM_FCVStringToDigits( substring(@MessageString, patindex(@patIndex\r\n, @MessageString) , len(@patIndex))), 0) select @patIndex = '%with % cores per socket%' select @CountCoresPerSocket = dbo.QBM_FCVStringToInt( dbo.QBM_FCVStringToDigits\r\n( substring(@MessageString, patindex(@patIndex, @MessageString) , len(@patIndex))), 0) select @patIndex = '%and % logical processors per s%' select @CountLogicalProcessorsPerSocket\r\n = dbo.QBM_FCVStringToInt( dbo.QBM_FCVStringToDigits( substring(@MessageString, patindex(@patIndex, @MessageString) , len(@patIndex))), 0) select @CountCoresTotal\r\n = @CountSockets * @CountCoresPerSocket end select @CountLogicalProcessorsTotal = @CountSockets * @CountLogicalProcessorsPerSocket            select @CURRENT_TIMEZONE_ID\r\n = convert(varchar(50), CURRENT_TIMEZONE_ID())  if @CURRENT_TIMEZONE_ID is null begin select @CURRENT_TIMEZONE_ID = CURRENT_TIMEZONE()  end if @DebugSwitch\r\n > 0 begin print '@CountSockets' + str(@CountSockets) print '@CountCoresPerSocket' + str(@CountCoresPerSocket) print '@CountLogicalProcessorsPerSocket'\r\n + str(@CountLogicalProcessorsPerSocket) print '@CountCoresTotal' + str(@CountCoresTotal) print '@CountLogicalProcessorsTotal' + str(@CountLogicalProcessorsTotal\r\n) print '@TimeZoneInformation (ID) ' + @CURRENT_TIMEZONE_ID end update DialogConfigParm set Value = case when isnull(t.Value, '') <> s.Wert then s.Wert\r\n else t.Value end , XDateUpdated = @Xdate , XUserUpdated = @XUser from DialogConfigParm t join ( values (case @IsQBMMaster when 1 then @Blindmuster else\r\n dbo.QBM_FCVIntToString(@CountSockets) end, 'QBM\\DBServerProperties\\CountSockets') , ( case @IsQBMMaster when 1 then @Blindmuster else dbo.QBM_FCVIntToString\r\n(@CountCoresPerSocket) end, 'QBM\\DBServerProperties\\CountCoresPerSocket') , (case @IsQBMMaster when 1 then @Blindmuster else dbo.QBM_FCVIntToString(@CountLogicalProcessorsPerSocket\r\n) end, 'QBM\\DBServerProperties\\CountLogicalProcessorsPerSocket') , (case @IsQBMMaster when 1 then @Blindmuster else dbo.QBM_FCVIntToString(@CountCoresTotal\r\n) end, 'QBM\\DBServerProperties\\CountCoresTotal') , (case @IsQBMMaster when 1 then @Blindmuster else dbo.QBM_FCVIntToString(@CountLogicalProcessorsTotal\r\n) end, 'QBM\\DBServerProperties\\CountLogicalProcessorsTotal') , (case @IsQBMMaster when 1 then 'W. Europe Standard Time' else @CURRENT_TIMEZONE_ID end, \r\n'QBM\\DBServerProperties\\TimeZoneInformation') ) as s (Wert, Fullpath) on t.Fullpath = s.Fullpath END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default \r\nRAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZGroupCollection",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.45",
      "ModifyDate": "2026-04-14T23:20:29.1",
      "Definition": "     create   procedure QBM_ZGroupCollection (@SlotNumber int , @uid_dialogGroup varchar(38) , @dummy2 varchar(38) , @GenProcID varchar(38) )  as\r\n begin  declare @Lauf int declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @QBMDeltaHelper QBM_YDBQueueDeltaHelper declare @Sourcedata\r\n QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin int declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|'\r\n, 0)  BEGIN TRY  insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 0, 0 , uid_dialogGroup, uid_dialogGroupParent\r\n, 1 from DialogGroupCollection where uid_dialogGroup = @Uid_dialogGroup  insert into @QBMDeltaHelper(Element, AssignedElement, XOrigin) select uid_dialogGroup\r\n, uid_dialogGroup, 1 from DialogGroup where uid_dialogGroup = @uid_dialogGroup and isDeactivatedByPreProcessor = 0 insert into @QBMDeltaHelper(Element,\r\n AssignedElement, XOrigin) select gig.uid_dialogGroupChild, gig.uid_dialogGroupparent, 1 from DialogGroupInGroup gig join DialogGroup gc on gig.uid_dialogGroupChild\r\n = gc.uid_dialogGroup join dialogGroup gp on gig.uid_dialogGroupParent = gp.uid_dialogGroup where gc.isDeactivatedByPreProcessor = 0 and gp.isDeactivatedByPreProcessor\r\n = 0 and gc.uid_dialogGroup = @uid_dialogGroup  and not exists (select top 1 1 from @QBMDeltaHelper i where i.Element = gig.uid_dialogGroupChild and i.AssignedElement\r\n = gig.uid_dialogGroupparent ) select @Lauf = 1 while @Lauf > 0 begin insert into @QBMDeltaHelper (Element, AssignedElement, XOrigin)  select distinct \r\na.Element, b.uid_DialogGroupParent, @QBM_BitPatternXOrigin_Inherit  from @QBMDeltaHelper a join DialogGroupInGroup b on a.AssignedElement = b.uid_dialogGroupChild\r\n join dialogGroup c on b.uid_dialogGroupChild = c.uid_dialogGroup and c.isDeactivatedByPreProcessor = 0 join dialogGroup d on b.uid_DialogGroupParent =\r\n d.uid_dialogGroup and d.isDeactivatedByPreProcessor = 0  where Not exists (select top 1 1 from @QBMDeltaHelper i where i.Element = a.Element and i.AssignedElement\r\n = b.uid_DialogGroupParent ) select @lauf = @@rowcount end insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter\r\n ) select 1, 0 , Element, AssignedElement, XOrigin from @QBMDeltaHelper  exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete \r\n= 1, @DeltaInsert = 1, @DeltaOrigin = 0, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect\r\n = 0 , @SlotNumber = @SlotNumber  if @CountDeltaQantity > 0 begin  exec QBM_PSessionContextSet 'GenProcID', @GenProcID insert into DialogGroupCollection\r\n (UID_DialogGroup, UID_DialogGroupParent) select Element, AssignedElement from #QBMDeltaInsert exec QBM_PSessionContextSet 'GenProcID', @GenProcID delete\r\n DialogGroupCollection where exists (select top 1 1 from #QBMDeltaDelete d where d.Element = DialogGroupCollection.uid_dialogGroup and d.AssignedElement\r\n = DialogGroupCollection.uid_dialogGroupParent ) end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH \r\n ende: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZGroupNumber",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.457",
      "ModifyDate": "2026-04-14T23:20:29.11",
      "Definition": "      create   procedure QBM_ZGroupNumber ( @SlotNumber int , @uid_dialogGroup varchar(38) , @dummy2 varchar(38) , @GenProcID varchar(38) )  as \r\nbegin  declare @Groupnumber int declare @neu int  declare @VectorLen_old int declare @VectorLen_new int declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if not exists (select top 1 1 from DialogGroup where uid_dialogGroup = @uid_dialogGroup ) begin goto ende end  select @VectorLen_old = max\r\n(isnull(datalength(GroupBitPattern), 0)) from dialoggroup if isnull(@VectorLen_old, 0) < 32 begin select @VectorLen_old = 32 end  select top 1 @Groupnumber\r\n = Groupnumber from dialogGroup where uid_dialogGroup = @uid_dialogGroup if @Groupnumber is null begin select @Groupnumber = 0 end  if @Groupnumber > 0\r\n and exists (select top 1 1 from dialogGroup where uid_dialogGroup <> @uid_dialogGroup and Groupnumber = @Groupnumber ) begin  select @Groupnumber = 0 \r\n end if @Groupnumber = 0 begin  select @neu = min(isnull(g.Groupnumber, 0) +1) from dialogGroup g where Not exists (select top 1 1 from DialogGroup gt \r\nwhere isnull(gt.Groupnumber, 0) = isnull(g.Groupnumber, 0) +1 ) exec QBM_PSessionContextSet 'GenProcID', @GenProcID update dialogGroup set Groupnumber \r\n= @neu, xdateupdated = GetUTCDate(), Xuserupdated = 'DBScheduler' where uid_dialogGroup = @uid_dialogGroup  exec QBM_PDBQueueInsert_Single 'QBM-K-CommonPrepropGroup'\r\n, @uid_dialogGroup, '', @GenProcID exec QBM_PDBQueueInsert_Single 'QBM-K-CommonGroupCollection', @uid_dialogGroup, '', @GenProcID exec QBM_PDBQueueInsert_Single\r\n 'QBM-K-CommonGroupPattern', @uid_dialogGroup, '', @GenProcID   end else begin  exec QBM_PDBQueueInsert_Single 'QBM-K-CommonGroupPattern', @uid_dialogGroup\r\n, '', @GenProcID end select @VectorLen_new = (isnull(max(isnull(GroupNumber, 0)), 0) / 8)+ 1 from dialogGroup if isnull(@VectorLen_new, 0) < 32 begin select\r\n @VectorLen_new = 32 end if @VectorLen_new <> @VectorLen_old  begin  exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate', 'QBM-K-CommonGroupPattern'\r\n, '', @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  ende: exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZGroupPattern",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.467",
      "ModifyDate": "2026-04-14T23:20:29.123",
      "Definition": "   create   procedure QBM_ZGroupPattern ( @Slotnumber int ,@uid_dialogGroup varchar(38) , @dummy2 varchar(38) , @GenProcID varchar(38) )  as begin\r\n  declare @Groupnumber int declare @neu int declare @GroupBitPattern varbinary(200) declare @VectorLen int declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if not exists (select top 1 1 from DialogGroup where uid_dialogGroup = @uid_dialogGroup ) begin goto ende end select @VectorLen = (isnull\r\n(max(GroupNumber), 0) / 8)+ 1 from dialogGroup if isnull(@VectorLen, 0) < 32 begin select @VectorLen = 32 end select top 1 @Groupnumber = Groupnumber from\r\n dialogGroup where uid_dialogGroup = @uid_dialogGroup select @GroupBitPattern = convert(varbinary(200), replicate(0x00, @VectorLen)) select @GroupBitPattern\r\n = dbo.QBM_FCVBinarySetBit (@GroupBitPattern, @Groupnumber) exec QBM_PSessionContextSet 'GenProcID', @GenProcID update dialogGroup set GroupBitPattern \r\n= @GroupBitPattern, xdateupdated = GetUTCDate(), Xuserupdated = 'DBScheduler' where uid_dialogGroup = @uid_dialogGroup and isnull(GroupBitPattern, 0x00\r\n) <> @GroupBitPattern  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  ende: exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZGUIDReplaceReady",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.13",
      "ModifyDate": "2026-04-14T23:20:29.973",
      "Definition": "   create   procedure QBM_ZGUIDReplaceReady (@SlotNumberDummy int , @Dummy1 varchar(38) , @Dummy2 varchar(38) , @GenProcIDDummy varchar(38) ) as\r\n begin declare @UID_Database varchar(38)  BEGIN TRY select top 1 @UID_Database = d.UID_Database from DialogDatabase d with (readpast) where d.IsMainDatabase\r\n = 1 delete QBMGuidReplace with (tablock) where UID_Database = @UID_Database END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1\r\n) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZIndexCreateGenerated",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.19",
      "ModifyDate": "2026-04-14T23:20:30.043",
      "Definition": "    create   procedure QBM_ZIndexCreateGenerated ( @SlotNumberDummy int , @TablePattern varchar(38), @dummy1 varchar(38) = '', @GenProcIDDummy varchar\r\n(38) = '' ) as begin declare @ResetMessage nvarchar(4000) BEGIN TRY BEGIN TRY exec QBM_PTableLockEscalationSet @TablePattern exec QBM_PIndexCreateGenerated\r\n @TablePattern   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default select @ResetMessage = ERROR_MESSAGE() if @@TRANCOUNT > 0 begin rollback end  exec\r\n QBM_PDBQueueCurrentResetNGen @SlotNumberDummy , @ResetMessage , @@PROCID END CATCH END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (''\r\n, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZIndexRebuild",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.657",
      "ModifyDate": "2026-04-14T23:20:29.367",
      "Definition": "    create   procedure QBM_ZIndexRebuild ( @SlotNumberDummy int , @TableName varchar(38), @dummy1 varchar(38) = '', @GenProcID varchar(38) = '' \r\n) as begin declare @Message nvarchar(1000) = '#LDS#Reindexing of {0} was not performed due to the size of the table.|' + @tablename + '|' declare @DebugLevel\r\n varchar(1) = 'W' BEGIN TRY  if ISNULL(@GenProcID, '') = '' begin select @GenProcID = dbo.QBM_FGISessionContext('') end  if 1=0 begin exec QBM_PIndexRebuild\r\n @TableName end else begin declare @SQL33734 nvarchar(max) = concat('exec QBM_PIndexRebuild ''', @TableName, '''' ) exec QBM_PJobCreate_Mnt @SQL33734, \r\n@GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZJobHistoryShrink",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.663",
      "ModifyDate": "2026-04-14T23:20:29.38",
      "Definition": "       create   procedure QBM_ZJobHistoryShrink ( @SlotNumber int , @dummy1 varchar(38) = '' , @dummy2 varchar(38)= '' , @GenProcID varchar(38)=\r\n '' ) as begin declare @HexDigit int = 2 BEGIN TRY if dbo.QBM_FGITableCountAll('jobhistory') > 600000 begin select @HexDigit = 3 end declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01(Object, SubObject, GenProcID) select h.HexPattern, '' , @GenProcID from dbo.QBM_FTHexPattern(@HexDigit\r\n) h  exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonShrinkJobHistory-Pat', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZJobHistoryShrink_Pat",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.667",
      "ModifyDate": "2026-04-14T23:20:29.38",
      "Definition": " create   procedure QBM_ZJobHistoryShrink_Pat ( @SlotNumber int , @KeyPattern varchar(38) , @dummy2 varchar(38) , @GenProcID varchar(38) ) as begin\r\n BEGIN TRY exec QBM_PTransactionLevelCheck 0, @@procid exec QBM_PJobHistoryShrink @KeyPattern END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZJobPerformanceFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.693",
      "ModifyDate": "2026-04-14T23:20:29.423",
      "Definition": "    create   procedure QBM_ZJobPerformanceFill ( @SlotNumber int = null  , @dummy1 varchar(38) = '' , @dummy2 varchar(38) = '' , @dummy3 varchar\r\n(38) = '' ) as begin declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser'\r\n) declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser nvarchar(64) = dbo.QBM_FGISessionContext('XUser') BEGIN TRY  if isnull(@XUser\r\n, '') = '' begin select @XUser = left(Object_name(@@procid), 64) exec QBM_PSessionContextSet 'GenProcID', @GenProcID exec QBM_PSessionContextSet 'XUser'\r\n, @XUser end  delete JobPerformance from JobPerformance p left outer join QBMServer s on p.queue = s.queuename left outer join jobcomponent c on p.ComponentClass\r\n = c.ComponentClass left outer join JobTask t on c.uid_JobComponent = t.uid_JobComponent and p.TaskName = t.taskname where s.uid_QBMServer is null or t.uid_jobtask\r\n is null or c.uid_jobcomponent is null  delete JobPerformance from JobPerformance p join (select Queue, ComponentClass, TaskName from JobPerformance group\r\n by Queue, ComponentClass, TaskName having count(*) > 1 ) as x on p.Queue = x.Queue and p.ComponentClass = x.ComponentClass and p.TaskName = x.TaskName\r\n  delete JobPerformance from JobPerformance p where p.UID_JobPerformance <> dbo.QBM_FCVStringToGUID('', UPPER(concat( p.Queue, p.ComponentClass, p.TaskName\r\n )))  delete JobPerformance from JobPerformance p where isnull(p.CountPerMinute,0) <= 1   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH  ende: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet 'XUser', @XUser_R return end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZMakeConstraint",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.973",
      "ModifyDate": "2026-04-14T23:20:29.763",
      "Definition": "  create   procedure QBM_ZMakeConstraint (@SlotNumber int , @TableName varchar(38) , @Dummy2 varchar(38) , @GenProcID varchar(38) ) as begin  declare\r\n @msg nvarchar(1000) declare @ResetMessage nvarchar(4000)  declare @DebugLevel char(1) = 'W'  SET XACT_ABORT OFF BEGIN TRY     BEGIN TRY if exists (select\r\n top 1 1 from QBM_VQBMRelation where GenerateChild = 'INV'  and ( ChildTable = @TableName or ParentTable = @TableName ) ) begin select @msg = '#LDS#Invalid refential integrity for table {0}.|'\r\n + @TableName + N'|'  raiserror(@msg, 18, 2) with nowait end exec QBM_PMakeConstraint @TableName END TRY  BEGIN CATCH select @ResetMessage = ERROR_MESSAGE\r\n() if @@TRANCOUNT > 0 begin rollback end exec QBM_PDBQueueCurrentResetNGen @SlotNumber , @ResetMessage , @@PROCID END CATCH END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZMissingDisplayRightFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.353",
      "ModifyDate": "2026-04-14T23:20:30.247",
      "Definition": " create   procedure QBM_ZMissingDisplayRightFill ( @SlotNumber int ) as begin declare @ret int = 0 declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() declare @Tabellen QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @ElementLast int declare @UID_DialogTable varchar(38\r\n) SET XACT_ABORT OFF BEGIN TRY insert into @Tabellen(UID1) select distinct t.UID_Parameter from QBMDBQueueCurrent t with (readpast) where t.SlotNumber \r\n= @SlotNumber select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex\r\n <= @ElementLast begin select top 1 @UID_DialogTable = bu.UID1 from @Tabellen bu where bu.ElementIndex = @ElementIndex exec QBM_PMissingDisplayRightFill\r\n @uid_dialogTable select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH\r\n endLabel: return @ret end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZObjectKeyRepair",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.913",
      "ModifyDate": "2026-04-14T23:20:29.687",
      "Definition": "  create   procedure QBM_ZObjectKeyRepair ( @SlotNumberDummy int , @TablePattern varchar(38) , @Dummy2 varchar(38) , @DummyGenProcID varchar(38)\r\n ) as begin declare @TableName nvarchar(64) declare @muster nvarchar(max) declare @Ruf nvarchar(max) declare @SQLcmd nvarchar(max) declare @DebugSwitch\r\n int = 0 declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int BEGIN TRY select @muster = 'update %tabelle% \r\n\tset XObjectKey = %ruf% #xwerte#\r\n from %tabelle% z with (readpast)\r\n where z.XObjectKey  <>  %ruf% collate  SQL_Latin1_General_CP1_CS_AS'\r\n   insert into @ElementBuffer (Ident1) select t.TableName  from dialogcolumn c with (readpast) join dialogtable t with (readpast) on c.UID_DialogTable \r\n= t.UID_DialogTable and t.tabletype in ('T', 'V')  join information_schema.tables it with (readpast) on t.TableName = it.table_name where c.isPKMember \r\n= 1 and exists (select top 1 1 from dialogcolumn cc with (readpast) where cc.columnname = 'XObjectKey' and cc.UID_DialogTable = c.UID_DialogTable ) and\r\n not exists (select top 1 1 from dialogtable tt with (readpast) where tt.UID_DialogTableBase = c.UID_DialogTable ) and t.TableName like @TablePattern and\r\n t.TableName not in (select TableName from QBM_VHeavyLoadTables  ) and t.TableName not like '%[_]mem' group by t.TableName  having count(*) <= 2 order \r\nby 1 select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @TableName = bu.Ident1 from @ElementBuffer\r\n bu where bu.ElementIndex = @ElementIndex select @ruf = dbo.QBM_FSQObjectKeyRepair_fn2 (@TableName, 'z' ) select @SQLcmd = replace(@muster, N'%ruf%', @ruf\r\n) select @SQLcmd = replace(@SQLcmd, N'%tabelle%', @TableName ) select @SQLcmd = replace(@sqlcmd, '#xwerte#', case dbo.QBM_FGIColumnExistsInSchema(@TableName\r\n, 'XDateUpdated') when 1 then ', XDateUpdated = getutcdate(), XUserUpdated =  ''' + object_name(@@procid) + '''' else '' end ) if @DebugSwitch > 0 begin\r\n print @SQLcmd end exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLcmd , @LockTimeout_ms = 3000 , @MaxWaitTimeForLock_s = 15.0 , @ProcIDForJournal\r\n = @@procid , @HandleErrorSilent = 0  select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT\r\n END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZPrePropAll",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.237",
      "ModifyDate": "2026-04-14T23:20:28.82",
      "Definition": "    create   procedure QBM_ZPrePropAll (@SlotNumberDummy int , @dummy1 varchar(38) , @dummy2 varchar(38) , @dummyGenProcid varchar(38) ) as begin\r\n  declare @GenProcID varchar(38) = newid() declare @UID_Task varchar(38) declare @SortOrder int declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount\r\n int declare @ElementIndex int BEGIN TRY  insert into @ElementBuffer (UID1) select distinct t.UID_Task as uid from QBMDBQueueTask t where QueryForRecalculate\r\n > ' ' and UID_TaskAutomatedFollower = 'QBM-K-PrepropFinished' select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount\r\n begin select top 1 @UID_Task = bu.UID1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate'\r\n, @UID_Task, Null, @GenProcID select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END\r\n CATCH  ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZPrePropColumn",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.263",
      "ModifyDate": "2026-04-14T23:20:28.853",
      "Definition": "    create   procedure QBM_ZPrePropColumn (@SlotNumber int) as begin  declare @GenProcID varchar(38) declare @CountItems int  declare @GenProcID_R\r\n varchar(38) = dbo.QBM_FGISessionContext('') declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber\r\n = @SlotNumber if @@rowcount = 0 begin goto EndLabel end select @GenProcID = max(GenProcID) from @DBQueueCurrent where GenProcID > ' ' if isnull(@Genprocid\r\n, '') = '' begin select @GenProcID = newid() end declare @PrePropHelper QBM_YPrepropHelper insert into @PrePropHelper (uid_parameter , isDeactivatedPrior\r\n , IsDeactivated , GenProcID , PreProcessorCondition, IsDeactivatedOld) select x.uid_parameter, isnull(t.isDeactivatedByPreProcessor,0), isnull(t.isDeactivatedByPreProcessor\r\n,0), x.GenProcID, isnull(c.PreProcessorCondition,N''), c.isDeactivatedByPreProcessor from @DBQueueCurrent x join dialogcolumn c on x.uid_parameter = c.uid_dialogcolumn\r\n join dialogtable t on c.UID_DialogTable = t.UID_DialogTable   update @PrePropHelper set IsDeactivated = dbo.QBM_FGIPrepropConditionDeactiv(h.PreProcessorCondition\r\n) from @PrePropHelper h where h.PreProcessorCondition > ' ' and h.IsDeactivated = 0  update @PrePropHelper set IsDeactivated = 1 from @PrePropHelper h \r\njoin QBM_VQBMRelation r on r.UID_ChildColumn = h.uid_parameter join DialogTable t on r.UID_DialogTableParent= t.UID_DialogTable where t.IsDeactivatedByPreProcessor\r\n = 1 if exists (select top 1 1 from dialogcolumn c join @PrePropHelper x on c.UID_DialogColumn = x.uid_parameter where c.IsDeactivatedByPreProcessor <>\r\n x.IsDeactivated  and not exists (select top 1 1 from QBMRelation r where c.UID_DialogColumn = r.UID_ChildColumn ) ) begin  exec QBM_PDBQueueInsert_WaitForComp\r\n 'Column', @GenProcID  end   exec QBM_PSessionContextSet 'GenProcID', @GenProcID update DialogColumn set IsDeactivatedByPreProcessor = x.isDeactivated,\r\n xdateupdated = GetUTCDate(), xuserupdated = 'DBScheduler'  from DialogColumn r join @PrePropHelper x on r.UID_DialogColumn = x.uid_parameter where r.IsDeactivatedByPreProcessor\r\n <> x.IsDeactivated select @CountItems = @@rowcount    declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, \r\ngenprocid) select v.UID_DialogColumn, null, @GenProcID from dialogcolumn v with (nolock) join @PrePropHelper x on v.UID_BaseColumn = x.uid_parameter   \r\nexec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropColumn', @DBQueueElements_01    declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.UID, null, @GenProcID from (select UID_DialogColumn as UID from DialogColumn c join @PrePropHelper x on c.UID_baseColumn\r\n = x.uid_parameter and (x.IsDeactivated <> x.IsDeactivatedOld  ) union select UID_ChildColumn as UID from QBMRelation cr join @PrePropHelper x on cr.UID_parentColumn\r\n = x.uid_parameter  join dialogcolumn c with (nolock) on x.uid_parameter = c.uid_dialogcolumn and c.isPKMember = 1 union   select UID_ChildColumn as UID\r\n from QBMRelation cr join @PrePropHelper x on cr.UID_ChildColumn = x.uid_parameter and (x.IsDeactivated <> x.IsDeactivatedOld or x.IsDeactivated = 0 ) \r\n) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropColumnFK', @DBQueueElements_02                   declare @DBQueueElements_03 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select distinct t.TableName as UID from @PrePropHelper x \r\njoin DialogColumn c with (nolock) on x.uid_parameter = c.uid_dialogColumn join DialogTable t with (nolock) on c.UID_DialogTable = t.UID_DialogTable and\r\n ( x.IsDeactivated <> x.IsDeactivatedOld  or x.IsDeactivated = 1 ) and c.isPKMember = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropTableFK'\r\n, @DBQueueElements_03 if @CountItems > 0 begin   declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from (select tu.UID_DialogTable as UID from @PrePropHelper x join DialogColumn c on x.uid_parameter = c.uid_dialogColumn\r\n join DialogColumn u with (nolock) on c.UID_DialogColumnUnionView = u.uid_dialogColumn join DialogTable tu with (nolock) on u.UID_DialogTable = tu.UID_DialogTable\r\n and ( x.IsDeactivated <> x.IsDeactivatedOld ) union select tv.UID_DialogTable as UID from @PrePropHelper x join DialogColumn c on x.uid_parameter = c.uid_dialogColumn\r\n join DialogColumn v with (nolock) on v.UID_BaseColumn = c.uid_dialogColumn join DialogTable tv with (nolock) on v.UID_DialogTable = tv.UID_DialogTable\r\n and ( x.IsDeactivated <> x.IsDeactivatedOld ) ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonRebuildView', @DBQueueElements_04  end   END TRY BEGIN \r\nCATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZPrePropColumnFK",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.277",
      "ModifyDate": "2026-04-14T23:20:28.87",
      "Definition": "   create   procedure QBM_ZPrePropColumnFK (@SlotNumber int) as begin  declare @GenProcID varchar(38) declare @CountItems int  declare @GenProcID_R\r\n varchar(38) = dbo.QBM_FGISessionContext('') declare @DBQueueCurrent QBM_YDBQueueCurrent declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate\r\n datetime = getutcdate() BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue,\r\n UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel\r\n end declare @PrePropHelper QBM_YPrepropHelper insert into @PrePropHelper (uid_parameter , isDeactivatedPrior , IsDeactivated , IsDeactivatedOld, GenProcID\r\n , PreProcessorCondition, PreProcessorConditionT) select x.uid_parameter, 0, 0, isnull(c.isDeactivatedByPreProcessor,0), x.GenProcID, isnull(c.PreProcessorCondition\r\n,N''), isnull(t.PreProcessorCondition,N'') from @DBQueueCurrent x join dialogcolumn c on x.uid_parameter = c.uid_dialogcolumn join dialogtable t on c.UID_DialogTable\r\n = t.UID_DialogTable   select @GenProcID = max(GenProcID) from @DBQueueCurrent    update @PrePropHelper set isDeactivated = isnull(c.isDeactivatedByPreProcessor\r\n,0) from @PrePropHelper h join QBMRelation r on r.UID_ChildColumn = h.uid_parameter join DialogColumn c on r.UID_ParentColumn = c.UID_DialogColumn where\r\n h.isDeactivated <> isnull(c.isDeactivatedByPreProcessor,0)   update @PrePropHelper set IsDeactivated = dbo.QBM_FGIPrepropConditionDeactiv(h.PreProcessorConditionT\r\n) from @PrePropHelper h where h.PreProcessorCondition > ' ' and h.IsDeactivated = 0   update @PrePropHelper set IsDeactivated = dbo.QBM_FGIPrepropConditionDeactiv\r\n(h.PreProcessorCondition) from @PrePropHelper h where h.PreProcessorCondition > ' ' and h.IsDeactivated = 0  update @preprophelper set IsDeactivated = \r\n1 from @preprophelper h, dialogcolumn c, dialogcolumn b where h.uid_parameter = c.uid_dialogcolumn and c.uid_BaseColumn = b.uid_dialogColumn and b.isDeactivatedByPreprocessor\r\n = 1    exec QBM_PSessionContextSet 'GenProcID', @GenProcID update DialogColumn set IsDeactivatedByPreProcessor = x.isDeactivated , XDateUpdated = @Xdate\r\n , XUserUpdated = @XUser  from DialogColumn r join @PrePropHelper x on r.UID_DialogColumn = x.uid_parameter where r.IsDeactivatedByPreProcessor <> x.IsDeactivated\r\n select @CountItems = @@rowcount   if @CountItems > 0 begin  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject\r\n, genprocid) select x.uid, null, @GenProcID from (select distinct cv.UID_DialogColumn as UID from DialogColumn c join @PrePropHelper x on c.uid_dialogColumn\r\n = x.uid_parameter and c.ispkmember = 1 and x.IsDeactivated <> x.IsDeactivatedOld join DialogColumn cv with (nolock) on cv.uid_BaseColumn = c.uid_dialogColumn\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropColumnFK', @DBQueueElements_01  declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from (select distinct t.TableName as UID from DialogColumn c join @PrePropHelper x on c.uid_dialogColumn\r\n = x.uid_parameter and c.ispkmember = 1 and x.IsDeactivated <> x.IsDeactivatedOld join DialogTable t with (nolock) on c.UID_DialogTable = t.UID_DialogTable\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropTableFK', @DBQueueElements_02 end   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH  endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZPrePropCustomizer",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.383",
      "ModifyDate": "2026-04-14T23:20:29.013",
      "Definition": "   create   procedure QBM_ZPrePropCustomizer (@SlotNumber int) as begin  declare @GenProcID varchar(38) declare @CountItems int  declare @GenProcID_R\r\n varchar(38) = dbo.QBM_FGISessionContext('') declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber\r\n = @SlotNumber if @@rowcount = 0 begin goto EndLabel end select @GenProcID = max(GenProcID) from @DBQueueCurrent where GenProcID > ' ' if isnull(@Genprocid\r\n, '') = '' begin select @GenProcID = newid() end declare @PrePropHelper QBM_YPrepropHelper insert into @PrePropHelper (uid_parameter , IsDeactivated , \r\nIsDeactivatedOld, GenProcID , PreProcessorCondition) select x.uid_parameter, 0 , isnull(t.isDeactivatedByPreProcessor,0) , x.GenProcID, isnull(t.PreProcessorCondition\r\n,'') from @DBQueueCurrent x join DialogCustomizer t on x.uid_parameter = t.UID_Customizer    update @PrePropHelper set IsDeactivated = dbo.QBM_FGIPrepropConditionDeactiv\r\n(h.PreProcessorCondition) from @PrePropHelper h where h.PreProcessorCondition > ' '   exec QBM_PSessionContextSet 'GenProcID', @GenProcID update DialogCustomizer\r\n set IsDeactivatedByPreProcessor = x.isDeactivated, xdateupdated = GetUTCDate(), xuserupdated = 'DBScheduler'  from DialogCustomizer cu join @PrePropHelper\r\n x on cu.UID_Customizer = x.uid_parameter where cu.IsDeactivatedByPreProcessor <> x.IsDeactivated select @CountItems = @@rowcount END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZPrePropDashBoardDef",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.363",
      "ModifyDate": "2026-04-14T23:20:28.987",
      "Definition": "   create   procedure QBM_ZPrePropDashBoardDef (@SlotNumber int) as begin  declare @GenProcID varchar(38) declare @CountItems int  declare @GenProcID_R\r\n varchar(38) = dbo.QBM_FGISessionContext('') declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber\r\n = @SlotNumber if @@rowcount = 0 begin goto EndLabel end select @GenProcID = max(GenProcID) from @DBQueueCurrent where GenProcID > ' ' if isnull(@Genprocid\r\n, '') = '' begin select @GenProcID = newid() end declare @PrePropHelper QBM_YPrepropHelper insert into @PrePropHelper (uid_parameter , isDeactivatedPrior\r\n , IsDeactivated , GenProcID , PreProcessorCondition, IsDeactivatedOld) select x.uid_parameter , 0  , 0  , x.GenProcID, isnull(o.PreProcessorCondition,\r\nN''), o.isDeactivatedByPreProcessor from @DBQueueCurrent x join DialogDashBoardDef o on x.uid_parameter = o.uid_dialogDashBoardDef   update @PrePropHelper\r\n set IsDeactivated = dbo.QBM_FGIPrepropConditionDeactiv(h.PreProcessorCondition) from @PrePropHelper h where h.PreProcessorCondition > ' ' and h.IsDeactivated\r\n = 0  exec QBM_PSessionContextSet 'GenProcID', @GenProcID update DialogDashBoardDef set IsDeactivatedByPreProcessor = x.isDeactivated, xdateupdated = GetUTCDate\r\n(), xuserupdated = 'DBScheduler'  from DialogDashBoardDef r join @PrePropHelper x on r.UID_DialogDashBoardDef = x.uid_parameter where r.IsDeactivatedByPreProcessor\r\n <> x.IsDeactivated select @CountItems = @@rowcount if @CountItems > 0 begin   exec QBM_PDBQueueInsert_WaitForComp 'DashBoardDef', @GenProcID         declare\r\n @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select distinct\r\n t.UID_QBMTree as UID, x.GenProcID from QBMTree t, @PrePropHelper x where  isnull(UID_QBMTreeParent,'') = '' and x.IsDeactivated <> x.IsDeactivatedOld \r\n and exists (select top 1 1 from QBMTree y where y.uid_dialogDashBoardDef =x.uid_parameter) ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropTree'\r\n, @DBQueueElements_01 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZPrepropGenerateFunction",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.22",
      "ModifyDate": "2026-04-14T23:20:28.803",
      "Definition": "    create   procedure QBM_ZPrepropGenerateFunction (@SlotNumberDummy int , @dummy1 varchar(38) , @dummy2 varchar(38) , @dummyGenProcID varchar(38\r\n) ) as begin declare @Props QBM_YParameterList declare @Preproperfuellt nvarchar(max)  declare @tablename varchar(30) declare @Query nvarchar(max) = 'select '''' as Condition'\r\n declare @PreProcessorCondition nvarchar(max) declare @IsDeactivated bit declare @FunctionName varchar(30) = 'QBM_FGIPrepropConditionDeactiv' declare @FunctionBody\r\n nvarchar(max) = '\r\ncreate or alter function dbo.' + @FunctionName + '  (@PreProcessorCondition nvarchar(max)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\treturns bit\r\n with schemabinding\r\n as\r\n begin\r\n\treturn( case isnull(@PreProcessorCondition, '''')\r\n\t\t\t\t\twhen '''' then 0'\r\n declare @DebugSwitch int = 0 declare @GenProcID varchar(38) = newid() declare @OldCode nvarchar(max) declare @ElementLast int declare @ElementBufferMulti\r\n QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int BEGIN TRY select @Preproperfuellt  = string_agg(convert(nvarchar(max), N'|' + x.PreProcessorString\r\n + N'|' )  , N'' )  from ( select distinct PreProcessorString from dialogConfigparm c join dialogConfigparmOption o on c.UID_ConfigParm = o.UID_ConfigParm\r\n and c.value = o.OptionValue where c.isenabledResulting = 1 and o.PreProcessorString > ' ' and c.IsPreprocessorCondition = 1 ) as x if @DebugSwitch > 0\r\n begin print '@Preproperfuellt ' + @Preproperfuellt end  select @Query = 'select '''' as Condition union ' + string_agg( convert(nvarchar(max), concat(\r\nN'select isnull(PreProcessorCondition, '''')  from ' , t.TableName , nchar(13) , nchar(10) ) )  , concat(' union ' , nchar(13) , nchar(10)) )   from DialogColumn\r\n c join DialogTable t on c.UID_DialogTable = t.UID_DialogTable where c.ColumnName = 'PreProcessorCondition' if @DebugSwitch > 0 begin print @query end \r\ninsert into @Props(ContentFull) exec sp_executesql @query if @DebugSwitch > 0 begin print 'select ContentFull from @Props' select ContentFull from @Props\r\n end   delete  @ElementBufferMulti  insert into @ElementBufferMulti (ContentFull) select p.ContentFull from @Props p where p.ContentFull > ' ' order by\r\n p.ContentFull desc select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex\r\n <= @ElementLast begin if @DebugSwitch > 0 begin print '@ElementIndex ' + str(@ElementIndex) end select top 1 @PreProcessorCondition = bu.ContentFull from\r\n @ElementBufferMulti bu where bu.ElementIndex = @ElementIndex exec @IsDeactivated = QBM_PPrePropCheckExpression @PreProcessorCondition, @Preproperfuellt\r\n select @IsDeactivated = @IsDeactivated ^1 if @DebugSwitch > 0 begin print str(@IsDeactivated) + '#' + @PreProcessorCondition end select @FunctionBody \r\n= @FunctionBody + '\r\n\t\t\t\t\twhen ' + dbo.QBM_FSQStringAsLiteral(@PreProcessorCondition, 0, 0) + ' then ' + str(@IsDeactivated) select @ElementIndex += 1 \r\nend  select @FunctionBody = @FunctionBody + + '\r\n\t\t\t\t\telse 1\r\n\t\t\t end\r\n\t\t) \r\nend\r\n'   select @oldcode = null select top 1 @OldCode = m.definition from \r\nsys.objects f join sys.sql_modules m on f.object_id = m.object_id where f.name = @FunctionName if @oldcode is null begin select @oldcode = '' end select\r\n @OldCode = replace(@OldCode, 'create   function', 'create or alter function')  if dbo.QBM_FGIDBOwner() = 'CCC' begin select @FunctionBody = dbo.QBM_FSQRemoveComment_i\r\n(@FunctionBody, 1) end exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @FunctionBody , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , \r\n@ProcIDForJournal = default , @HandleErrorSilent = 0 if trim(dbo.QBM_FSQRemoveComment_i(@FunctionBody, 1)) <> trim(dbo.QBM_FSQRemoveComment_i(@OldCode,\r\n 1)) begin if @DebugSwitch > 0 begin print '#### is different'             end exec QBM_PDBQueueInsert_Single 'QBM-K-PrepropAll' , '', '', @GenProcID end\r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZPrePropGroup",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.437",
      "ModifyDate": "2026-04-14T23:20:29.083",
      "Definition": "   create   procedure QBM_ZPrePropGroup (@SlotNumber int) as begin  declare @GenProcID varchar(38) declare @CountItems int  declare @GenProcID_R\r\n varchar(38) = dbo.QBM_FGISessionContext('') declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber\r\n = @SlotNumber if @@rowcount = 0 begin goto EndLabel end select @GenProcID = max(GenProcID) from @DBQueueCurrent where GenProcID > ' ' if isnull(@Genprocid\r\n, '') = '' begin select @GenProcID = newid() end declare @PrePropHelper QBM_YPrepropHelper insert into @PrePropHelper (uid_parameter , IsDeactivated , \r\nIsDeactivatedOld, GenProcID , PreProcessorCondition) select x.uid_parameter, 0 , g.isDeactivatedByPreProcessor , x.GenProcID, isnull(g.PreProcessorCondition\r\n,N'') from @DBQueueCurrent x join dialogGroup g on x.uid_parameter = g.UID_DialogGroup update @PrePropHelper set IsDeactivated = dbo.QBM_FGIPrepropConditionDeactiv\r\n(h.PreProcessorCondition) from @PrePropHelper h where h.PreProcessorCondition > ' '   exec QBM_PSessionContextSet 'GenProcID', @GenProcID update DialogGroup\r\n set IsDeactivatedByPreProcessor = x.isDeactivated, xdateupdated = GetUTCDate(), xuserupdated = 'DBScheduler'  from DialogGroup r join @PrePropHelper x\r\n on r.UID_DialogGroup = x.uid_parameter where( r.IsDeactivatedByPreProcessor <> x.IsDeactivated or x.IsDeactivated = 1 ) select @CountItems = @@rowcount\r\n if @CountItems > 0 begin exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate' , 'QBM-K-CommonGroupCollection', '', @GenProcID end END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZPrePropJob",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.427",
      "ModifyDate": "2026-04-14T23:20:29.073",
      "Definition": "   create   procedure QBM_ZPrePropJob (@SlotNumber int) as begin   declare @GenProcID varchar(38) declare @CountItems int  declare @GenProcID_R \r\nvarchar(38) = dbo.QBM_FGISessionContext('') declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber\r\n = @SlotNumber if @@rowcount = 0 begin goto EndLabel end select @GenProcID = max(GenProcID) from @DBQueueCurrent where GenProcID > ' ' if isnull(@Genprocid\r\n, '') = '' begin select @GenProcID = newid() end declare @PrePropHelper QBM_YPrepropHelper insert into @PrePropHelper (uid_parameter , isDeactivatedPrior\r\n , IsDeactivated , GenProcID , PreProcessorCondition, IsDeactivatedOld) select x.uid_parameter, isnull(t.isDeactivatedByPreProcessor,0), isnull(t.isDeactivatedByPreProcessor\r\n,0), x.GenProcID, isnull(o.PreProcessorCondition,N''), o.isDeactivatedByPreProcessor from @DBQueueCurrent x join Job o on x.uid_parameter = o.uid_Job join\r\n Jobchain t on o.uid_JobChain = t.UID_Jobchain  update @PrePropHelper set IsDeactivated = dbo.QBM_FGIPrepropConditionDeactiv(h.PreProcessorCondition) from\r\n @PrePropHelper h where h.PreProcessorCondition > ' ' and h.IsDeactivated = 0  exec QBM_PSessionContextSet 'GenProcID', @GenProcID update Job set IsDeactivatedByPreProcessor\r\n = x.isDeactivated, xdateupdated = GetUTCDate(), xuserupdated = 'DBScheduler'  from Job r join @PrePropHelper x on r.UID_Job = x.uid_parameter where r.IsDeactivatedByPreProcessor\r\n <> x.IsDeactivated select @CountItems = @@rowcount END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  \r\nendLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZPrePropJobChain",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.417",
      "ModifyDate": "2026-04-14T23:20:29.06",
      "Definition": "   create   procedure QBM_ZPrePropJobChain (@SlotNumber int) as begin   declare @GenProcID varchar(38) declare @CountItems int  declare @GenProcID_R\r\n varchar(38) = dbo.QBM_FGISessionContext('') declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber\r\n = @SlotNumber if @@rowcount = 0 begin goto EndLabel end select @GenProcID = max(GenProcID) from @DBQueueCurrent where GenProcID > ' ' if isnull(@Genprocid\r\n, '') = '' begin select @GenProcID = newid() end declare @PrePropHelper QBM_YPrepropHelper insert into @PrePropHelper (uid_parameter , isDeactivatedPrior\r\n , IsDeactivated , GenProcID , PreProcessorCondition, IsDeactivatedOld) select x.uid_parameter, isnull(t.isDeactivatedByPreProcessor,0), isnull(t.isDeactivatedByPreProcessor\r\n,0), x.GenProcID, isnull(o.PreProcessorCondition,N''), o.isDeactivatedByPreProcessor from @DBQueueCurrent x join JobChain o on x.uid_parameter = o.uid_JobChain\r\n join dialogtable t on o.UID_DialogTable = t.UID_DialogTable  update @PrePropHelper set IsDeactivated = dbo.QBM_FGIPrepropConditionDeactiv(h.PreProcessorCondition\r\n) from @PrePropHelper h where h.PreProcessorCondition > ' ' and h.IsDeactivated = 0  exec QBM_PSessionContextSet 'GenProcID', @GenProcID update JobChain\r\n set IsDeactivatedByPreProcessor = x.isDeactivated, xdateupdated = GetUTCDate(), xuserupdated = 'DBScheduler'  from JobChain r join @PrePropHelper x on\r\n r.UID_JobChain = x.uid_parameter where r.IsDeactivatedByPreProcessor <> x.IsDeactivated select @CountItems = @@rowcount if @CountItems > 0 begin   exec\r\n QBM_PDBQueueInsert_WaitForComp 'Jobchain', @GenProcID    declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject\r\n, genprocid) select x.uid, null, @GenProcID from (select distinct j.UID_Job as UID, x.GenProcID from Job j join @PrePropHelper x on j.UID_JobChain = x.uid_parameter\r\n and x.IsDeactivated <> x.IsDeactivatedOld ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropJob', @DBQueueElements_01 end  END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZPrePropObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.29",
      "ModifyDate": "2026-04-14T23:20:28.887",
      "Definition": "     create   procedure QBM_ZPrePropObject (@SlotNumber int) as begin   declare @GenProcID varchar(38) declare @CountItems int  declare @GenProcID_R\r\n varchar(38) = dbo.QBM_FGISessionContext('') declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber\r\n = @SlotNumber if @@rowcount = 0 begin goto EndLabel end select @GenProcID = max(GenProcID) from @DBQueueCurrent where GenProcID > ' ' if isnull(@Genprocid\r\n, '') = '' begin select @GenProcID = newid() end declare @PrePropHelper QBM_YPrepropHelper insert into @PrePropHelper (uid_parameter , isDeactivatedPrior\r\n , IsDeactivated , GenProcID , PreProcessorCondition, IsDeactivatedOld) select x.uid_parameter, isnull(t.isDeactivatedByPreProcessor,0), isnull(t.isDeactivatedByPreProcessor\r\n,0), x.GenProcID, isnull(o.PreProcessorCondition,N''), o.isDeactivatedByPreProcessor from @DBQueueCurrent x join DialogObject o on x.uid_parameter = o.uid_dialogObject\r\n join dialogtable t on o.UID_DialogTable = t.UID_DialogTable  update @PrePropHelper set IsDeactivated = dbo.QBM_FGIPrepropConditionDeactiv(h.PreProcessorCondition\r\n) from @PrePropHelper h where h.PreProcessorCondition > ' ' and h.IsDeactivated = 0  exec QBM_PSessionContextSet 'GenProcID', @GenProcID update DialogObject\r\n set IsDeactivatedByPreProcessor = x.isDeactivated, xdateupdated = GetUTCDate(), xuserupdated = 'DBScheduler'  from DialogObject r join @PrePropHelper \r\nx on r.UID_DialogObject = x.uid_parameter where r.IsDeactivatedByPreProcessor <> x.IsDeactivated select @CountItems = @@rowcount if @CountItems > 0 begin\r\n   exec QBM_PDBQueueInsert_WaitForComp 'Object', @GenProcID    declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject\r\n, genprocid) select x.uid, null, @GenProcID from (select distinct s.UID_DialogSheet as UID, x.GenProcID from DialogObjectHasSheet sho join @PrePropHelper\r\n x on sho.UID_DialogObject = x.uid_parameter and x.IsDeactivated <> x.IsDeactivatedOld join DialogSheet s on sho.uid_DialogSheet = s.uid_dialogSheet ) \r\nas x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropSheet', @DBQueueElements_01        declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from (select distinct t.UID_QBMTreeResult as UID, x.GenProcID from QBMTreeResult t, @PrePropHelper\r\n x where x.IsDeactivated <> x.IsDeactivatedOld  and exists (select top 1 1 from QBMTreeResult y where y.uid_dialogobject = x.uid_parameter) ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropTreeResult', @DBQueueElements_02  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (''\r\n, 18, 1) WITH NOWAIT END CATCH  endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZPrePropReport",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.373",
      "ModifyDate": "2026-04-14T23:20:29",
      "Definition": "   create   procedure QBM_ZPrePropReport (@SlotNumber int) as begin  declare @GenProcID varchar(38) declare @CountItems int  declare @GenProcID_R\r\n varchar(38) = dbo.QBM_FGISessionContext('') declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber\r\n = @SlotNumber if @@rowcount = 0 begin goto EndLabel end select @GenProcID = max(GenProcID) from @DBQueueCurrent where GenProcID > ' ' if isnull(@Genprocid\r\n, '') = '' begin select @GenProcID = newid() end declare @PrePropHelper QBM_YPrepropHelper insert into @PrePropHelper (uid_parameter , isDeactivatedPrior\r\n , IsDeactivated , GenProcID , PreProcessorCondition, IsDeactivatedOld) select x.uid_parameter , sign(convert(int, isnull(t.isDeactivatedByPreProcessor\r\n,0)) /*+ convert(int, isnull(rp.isDeactivatedByPreProcessor,0)) */ ) , sign(convert(int, isnull(t.isDeactivatedByPreProcessor,0)) /*+ convert(int, isnull(rp.isDeactivatedByPreProcessor,0)) */\r\n ) , x.GenProcID, isnull(o.PreProcessorCondition,N''), o.isDeactivatedByPreProcessor from @DBQueueCurrent x join DialogReport o on x.uid_parameter = o.uid_dialogReport\r\n left outer join dialogtable t on o.UID_DialogTableBase = t.UID_DialogTable   update @PrePropHelper set IsDeactivated = dbo.QBM_FGIPrepropConditionDeactiv\r\n(h.PreProcessorCondition) from @PrePropHelper h where h.PreProcessorCondition > ' ' and h.IsDeactivated = 0  exec QBM_PSessionContextSet 'GenProcID', @GenProcID\r\n update DialogReport set IsDeactivatedByPreProcessor = x.isDeactivated, xdateupdated = GetUTCDate(), xuserupdated = 'DBScheduler'  from DialogReport r \r\njoin @PrePropHelper x on r.UID_DialogReport = x.uid_parameter where r.IsDeactivatedByPreProcessor <> x.IsDeactivated select @CountItems = @@rowcount if\r\n @CountItems > 0 begin   exec QBM_PDBQueueInsert_WaitForComp 'Report', @GenProcID   end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH  endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZPrePropSheet",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.407",
      "ModifyDate": "2026-04-14T23:20:29.047",
      "Definition": "   create   procedure QBM_ZPrePropSheet (@SlotNumber int) as begin   declare @CountItems int  declare @GenProcID varchar(38) declare @GenProcID_R\r\n varchar(38) = dbo.QBM_FGISessionContext('') declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber\r\n = @SlotNumber if @@rowcount = 0 begin goto EndLabel end select @GenProcID = max(GenProcID) from @DBQueueCurrent where GenProcID > ' ' if isnull(@Genprocid\r\n, '') = '' begin select @GenProcID = newid() end declare @PrePropHelper QBM_YPrepropHelper insert into @PrePropHelper (uid_parameter , isDeactivatedPrior\r\n , IsDeactivated , GenProcID , PreProcessorCondition, IsDeactivatedOld)  select x.uid_parameter,  1,  1, x.GenProcID, isnull(os.PreProcessorCondition,N''\r\n), os.isDeactivatedByPreProcessor from @DBQueueCurrent x join dialogSheet os on x.uid_parameter = os.uid_dialogSheet  update @PrePropHelper set isDeactivatedPrior\r\n = 0, IsDeactivated = 0 from @PrePropHelper h where exists (select top 1 1 from QBMTreeHasSheet ths join QBMTree t on ths.uid_QBMTree = t.uid_QBMTree and\r\n t.isDeactivatedByPreProcessor = 0 where ths.uid_DialogSheet = h.uid_parameter ) or exists (select top 1 1 from QBMTreeResultHasSheet ths join QBMTreeResult\r\n t on ths.uid_QBMTreeResult = t.uid_QBMTreeResult and t.isDeactivatedByPreProcessor = 0 where ths.uid_DialogSheet = h.uid_parameter ) update @PrePropHelper\r\n set isDeactivatedPrior = 0, IsDeactivated = 0 from @PrePropHelper h where exists (select top 1 1 from DialogObjectHasSheet ohs join DialogObject o on \r\nohs.UId_dialogObject = o.uid_dialogObject and o.isDeactivatedByPreProcessor = 0 where ohs.uid_DialogSheet = h.uid_parameter )  update @PrePropHelper set\r\n IsDeactivated = dbo.QBM_FGIPrepropConditionDeactiv(h.PreProcessorCondition) from @PrePropHelper h where h.PreProcessorCondition > ' ' and h.IsDeactivated\r\n = 0    exec QBM_PSessionContextSet 'GenProcID', @GenProcID update DialogSheet set IsDeactivatedByPreProcessor = x.isDeactivated, xdateupdated = GetUTCDate\r\n(), xuserupdated = 'DBScheduler'  from DialogSheet r join @PrePropHelper x on r.UID_DialogSheet = x.uid_parameter where r.IsDeactivatedByPreProcessor <>\r\n x.IsDeactivated select @CountItems = @@rowcount  if @CountItems > 0 begin   exec QBM_PDBQueueInsert_WaitForComp 'Sheet', @GenProcID  end  END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZPrePropTable",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.31",
      "ModifyDate": "2026-04-14T23:20:28.917",
      "Definition": "    create   procedure QBM_ZPrePropTable (@SlotNumber int) as begin  declare @GenProcID varchar(38) declare @TableName varchar(38) declare @CountItems\r\n int  declare @SQLcmd nvarchar(max) declare @subject nvarchar(1000) declare @rowcnt int declare @DebugLevel char(1) = 'W' declare @GenProcID_R varchar(38\r\n) = dbo.QBM_FGISessionContext('') declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @DBQueueCurrent \r\nQBM_YDBQueueCurrent declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end select @GenProcID = max(GenProcID) from @DBQueueCurrent where GenProcID >\r\n ' ' if isnull(@Genprocid, '') = '' begin select @GenProcID = newid() end declare @PrePropHelper QBM_YPrepropHelper insert into @PrePropHelper (uid_parameter\r\n , IsDeactivated , IsDeactivatedOld, GenProcID , PreProcessorCondition) select x.uid_parameter, 0 + isnull(b.isDeactivatedByPreProcessor, 0), t.isDeactivatedByPreProcessor\r\n , x.GenProcID, isnull(t.PreProcessorCondition,'') from @DBQueueCurrent x join dialogtable t on x.uid_parameter = t.TableName left outer join dialogtable\r\n b on t.UID_DialogTableBase = b.UID_DialogTable    update @PrePropHelper set IsDeactivated = dbo.QBM_FGIPrepropConditionDeactiv(h.PreProcessorCondition\r\n) from @PrePropHelper h where h.PreProcessorCondition > ' '  if exists (select top 1 1 from DialogTable , @PrePropHelper x where DialogTable.TableName \r\n= x.uid_parameter and isnull(DialogTable.IsDeactivatedByPreProcessor,0) <> x.IsDeactivated  and dialogtable.TableName not in (select childtable from QBM_VQBMRelation\r\n where isMNRelation = 1) ) begin   exec QBM_PDBQueueInsert_WaitForComp 'Table', @GenProcID  end  exec QBM_PSessionContextSet 'GenProcID', @GenProcID update\r\n DialogTable set IsDeactivatedByPreProcessor = x.isDeactivated , XDateUpdated = @Xdate , XUserUpdated = @XUser  from DialogTable r join @PrePropHelper \r\nx on r.TableName = x.uid_parameter where (r.IsDeactivatedByPreProcessor <> x.IsDeactivated or x.IsDeactivated = 1 ) select @CountItems = @@rowcount   declare\r\n @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select distinct\r\n t.TableName as UID, x.GenProcID from Dialogtable t join DialogTable b on t.UID_DialogTableBase = b.UID_DialogTable join @PrePropHelper x on b.TableName\r\n = x.uid_parameter and ( x.IsDeactivated <>x.IsDeactivatedOld or x.IsDeactivated = 1 ) ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropTable', \r\n@DBQueueElements_01  declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.UID, null, x.GenProcID\r\n from (select distinct c.UID_DialogColumn as UID, x.GenProcID from DialogColumn c join DialogTable t on c.UID_DialogTable = t.UID_DialogTable join @PrePropHelper\r\n x on t.TableName = x.uid_parameter  and ( x.IsDeactivated <>x.IsDeactivatedOld or c.IsDeactivatedByPreprocessor <> x.IsDeactivated or c.IsPKMember = 1\r\n ) ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropColumn', @DBQueueElements_02  declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03\r\n (object, subobject, genprocid) select x.UID, null, x.GenProcID from (select distinct r.UID_ChildColumn as uid, x.GenProcID  from QBM_VQBMRelation r join\r\n @PrePropHelper x on r.ParentTable = x.uid_parameter and r.ChildTable <> r.ParentTable join DialogColumn c on r.UID_ChildColumn = c.UID_DialogColumn where\r\n ( x.IsDeactivated <> x.IsDeactivatedOld or c.IsDeactivatedByPreprocessor <> x.IsDeactivated ) ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropColumnFK'\r\n, @DBQueueElements_03  declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from (select distinct y.UID_QBMTree as UID, x.GenProcID from (select t.uid_QBMTree , ta.TableName from QBMTree t join DialogTable ta on t.UID_DialogTable\r\n = ta.UID_DialogTable where ta.TableName > ' ' ) as y join @PrePropHelper x on y.TableName = x.uid_parameter join QBMTree t on t.uid_QBMTree = y.uid_QBMTree\r\n where ( x.IsDeactivated <>x.IsDeactivatedOld or t.IsDeactivatedByPreprocessor <> x.IsDeactivated ) ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropTree'\r\n, @DBQueueElements_04 declare @DBQueueElements_04Result QBM_YDBQueueRaw insert into @DBQueueElements_04Result (object, subobject, genprocid) select x.uid\r\n, null, @GenProcID from (select distinct y.UID_QBMTreeResult as UID, x.GenProcID from (select t.uid_QBMTreeResult, ta.TableName from QBMTreeResult t join\r\n Dialogobject o on t.uid_DialogObject = o.uid_DialogObject join DialogTable ta on o.UID_DialogTable = ta.UID_DialogTable ) as y join @PrePropHelper x on\r\n y.TableName = x.uid_parameter join QBMTreeResult t on t.uid_QBMTreeResult = y.uid_QBMTreeResult where ( x.IsDeactivated <>x.IsDeactivatedOld or t.IsDeactivatedByPreprocessor\r\n <> x.IsDeactivated ) ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropTreeResult', @DBQueueElements_04Result  declare @DBQueueElements_05 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_05 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select distinct c.UID_Jobchain as UID, x.GenProcID\r\n from Jobchain c join DialogTable ta on c.UID_DialogTable = ta.UID_DialogTable join @PrePropHelper x on ta.TableName = x.uid_parameter and ( x.IsDeactivated\r\n <>x.IsDeactivatedOld or c.IsDeactivatedByPreprocessor <> x.IsDeactivated ) ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropJobChain', @DBQueueElements_05\r\n  update DialogColumn set IsDeactivatedByPreProcessor = 1 , XDateUpdated = @Xdate , XUserUpdated = @XUser from DialogColumn c join DialogTable t on c.UID_DialogTable\r\n = t.UID_DialogTable join @PrePropHelper x on x.UID_Parameter = t.TableName where x.IsDeactivated = 1 and c.IsDeactivatedByPreProcessor = 0  if @CountItems\r\n > 0  begin  declare @DBQueueElements_06 QBM_YDBQueueRaw insert into @DBQueueElements_06 (object, subobject, genprocid) select x.UID, null, x.GenProcID\r\n from (  select t.UID_DialogTable as UID, x.GenProcID from Dialogtable t join DialogTable b on t.UID_DialogTableBase = b.UID_DialogTable join @PrePropHelper\r\n x on b.TableName = x.uid_parameter and ( x.IsDeactivated <>x.IsDeactivatedOld or x.IsDeactivated = 1 ) union  select p.UID_DialogTable as UID, x.GenProcID\r\n from Dialogtable t join dialogtable p on t.UID_DialogTableUnion = p.UID_DialogTable join @PrePropHelper x on t.TableName = x.uid_parameter and ( x.IsDeactivated\r\n <>x.IsDeactivatedOld or x.IsDeactivated = 1 )  where t.UID_DialogTableUnion > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonRebuildView', @DBQueueElements_06\r\n       select @SQLcmd = N'' insert into @ElementBuffer (Ident1, Int1, UID1) select t.TableName , i.rowcnt , x.GenProcID from dialogtable t with (readpast\r\n) join @PrePropHelper x on t.TableName = x.uid_parameter and t.isdeactivatedbypreprocessor = 1  and isnull(x.IsDeactivated,0) <> isnull(x.IsDeactivatedOld\r\n,0) join sys.objects o with (readpast) on t.TableName = o.name  join (select object_id, avg(rows) as rowcnt from ( select object_id, avg(rows) as rows \r\nfrom sys.partitions with (readpast) group by object_id, index_id ) as x group by object_id ) as i on o.object_id = i.object_id and i.rowcnt > 0  order \r\nby t.TableName select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @TableName = bu.Ident1\r\n , @rowcnt = bu.Int1 , @GenProcID = bu.UID1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex select @SQLcmd = N'TableName' + nchar(9) + N'Rowcount'\r\n + nchar(13)+nchar(10) +replicate(N'-',40) select @SQLcmd = @SQLcmd + nchar(13) + nchar(10) + @TableName + nchar(9) + cast(@rowcnt as nvarchar(16)) select\r\n @subject = N'There are deactivated tables with data! (' + isnull(@@servername,N'') + N'.' + isnull(db_name(),N'') + N')' + @TableName + nchar(9) + cast\r\n(@rowcnt as nvarchar(16)) exec QBM_PJournal @subject, @@procid, 'D', @DebugLevel if dbo.QBM_FGIConfigparmValue('Common\\MailNotification') > ' ' begin exec\r\n QBM_PJobCreate_SendMail @subject , @Message = @SQLcmd, @GenProcID = @GenProcID, @checkForExisting = 1 , @AdditionalObjectKeysAffected = DEFAULT end select\r\n @ElementIndex += 1 end       declare @DBQueueElements_07 QBM_YDBQueueRaw insert into @DBQueueElements_07 (object, subobject, genprocid) select x.uid, \r\nnull, @GenProcID from (select distinct o.UID_DialogObject as UID, x.GenProcID from DialogObject o join DialogTable t on o.UID_DialogTable = t.UID_DialogTable\r\n join @PrePropHelper x on t.TableName = x.uid_parameter and x.IsDeactivated <>x.IsDeactivatedOld ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropObject'\r\n, @DBQueueElements_07    select @GenProcID = max(GenProcID) from @DBQueueCurrent where GenProcID > ' '  if isnull(@GenProcID, '') = '' begin select @GenProcID\r\n = newid() end    declare @DBQueueElements_08 QBM_YDBQueueRaw insert into @DBQueueElements_08 (object, subobject, genprocid) select x.UID, null, x.GenProcID\r\n from (select x.uid_parameter as UID, x.GenProcID from @PrePropHelper x where x.IsDeactivated <>x.IsDeactivatedOld ) as x exec QBM_PDBQueueInsert_Bulk \r\n'QBM-K-CommonMakeWatchtrigger', @DBQueueElements_08  end   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END \r\nCATCH endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZPreProptableFK",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.327",
      "ModifyDate": "2026-04-14T23:20:28.937",
      "Definition": "      create   procedure QBM_ZPreProptableFK (@SlotNumber int) as begin  declare @GenProcID varchar(38) declare @CountItems int  declare @GenProcID_R\r\n varchar(38) = dbo.QBM_FGISessionContext('') declare @DBQueueCurrent QBM_YDBQueueCurrent declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate\r\n datetime = getutcdate() declare @UID_TaskFollow varchar(38) BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, \r\nGenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber\r\n if @@rowcount = 0 begin goto EndLabel end declare @PrePropHelper QBM_YPrepropHelper insert into @PrePropHelper (uid_parameter , IsDeactivated , GenProcID\r\n , PreProcessorCondition, IsDeactivatedOld) select x.uid_parameter, 0, x.GenProcID, isnull(t.PreProcessorCondition,N''), t.isDeactivatedByPreProcessor \r\nfrom @DBQueueCurrent x join dialogTable t on x.uid_parameter = t.TableName update @PrePropHelper set IsDeactivated = dbo.QBM_FGIPrepropConditionDeactiv\r\n(h.PreProcessorCondition) from @PrePropHelper h where h.PreProcessorCondition > ' '   update @PrePropHelper set IsDeactivated = 1  from @PrePropHelper \r\nh join (select t.TableName, count(*) as CountItems from dialogcolumn c join DialogTable t on c.UID_DialogTable = t.UID_DialogTable where c.IsPKMember =\r\n 1 group by t.TableName ) as k1 on k1.TableName = h.uid_parameter left outer join (select t.TableName, count(*) as CountItems from dialogcolumn c join \r\nDialogTable t on c.UID_DialogTable = t.UID_DialogTable where c.IsPKMember = 1 and isnull(c.IsDeactivatedByPreProcessor,0) = 0 group by t.TableName ) as\r\n k2 on k1.TableName = k2.TableName where h.IsDeactivated = 0 and isnull(k1.CountItems,0) <> isnull(k2.CountItems,0)    update @PrePropHelper set IsDeactivated\r\n = 1 from @PrePropHelper h join dialogtable t on h.uid_parameter = t.TableName join dialogtable b on t.UID_DialogTableBase = b.UID_DialogTable where b.isDeactivatedByPreprocessor\r\n = 1    select @GenProcID = max(GenProcID) from @DBQueueCurrent where GenProcID > ' ' exec QBM_PSessionContextSet 'GenProcID', @GenProcID update DialogTable\r\n set IsDeactivatedByPreProcessor = x.isDeactivated , XDateUpdated = @Xdate , XUserUpdated = @XUser  from DialogTable r join @PrePropHelper x on r.TableName\r\n = x.uid_parameter where r.IsDeactivatedByPreProcessor <> x.IsDeactivated select @CountItems = @@rowcount     update DialogColumn set IsDeactivatedByPreProcessor\r\n = 1 , XDateUpdated = @Xdate , XUserUpdated = @XUser from DialogColumn c join DialogTable t on c.UID_DialogTable = t.UID_DialogTable join @PrePropHelper\r\n x on x.UID_Parameter = t.TableName where x.IsDeactivated = 1 and c.IsDeactivatedByPreProcessor = 0  if @CountItems > 0 begin    declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select distinct t.TableName as UID\r\n, x.GenProcID from DialogTable t join DialogTable b on t.UID_DialogTableBase = b.UID_DialogTable join @PrePropHelper x on b.TableName = x.uid_parameter\r\n and x.IsDeactivated <> x.IsDeactivatedOld ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropTableFK', @DBQueueElements_01   update DialogColumn \r\nset IsDeactivatedByPreProcessor = 1 , XDateUpdated = @Xdate , XUserUpdated = @XUser from DialogColumn c join DialogTable t on c.UID_DialogTable = t.UID_DialogTable\r\n join @PrePropHelper x on x.uid_parameter = t.TableName where x.IsDeactivatedOld = 0 and x.IsDeactivated = 1 and c.IsDeactivatedByPreProcessor = 0 declare\r\n @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select distinct\r\n c.UID_DialogColumn as UID, x.GenProcID from DialogColumn c join DialogTable t on c.UID_DialogTable = t.UID_DialogTable join @PrePropHelper x on t.TableName\r\n = x.uid_parameter   and x.IsDeactivated = 0 and x.IsDeactivatedOld = 1 and c.isPKMember = 0 ) as x  select @UID_TaskFollow = 'QBM-K-CommonPrepropColumn'\r\n exec QBM_PDBQueueInsert_Bulk @UID_TaskFollow, @DBQueueElements_02  declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object\r\n, subobject, genprocid) select x.uid, null, @GenProcID from (select distinct c.UID_DialogColumn as UID, x.GenProcID from DialogColumn c join DialogTable\r\n t on c.UID_DialogTable = t.UID_DialogTable join @PrePropHelper x on t.TableName = x.uid_parameter and x.IsDeactivated <> x.IsDeactivatedOld and c.ispkmember\r\n = 0 and exists (select top 1 1 from QBMRelation dcr where dcr.UID_childcolumn = c.UID_DialogColumn ) ) as x  select @UID_TaskFollow = 'QBM-K-CommonPrepropColumnFK'\r\n exec QBM_PDBQueueInsert_Bulk @UID_TaskFollow, @DBQueueElements_03  declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04 (object\r\n, subobject, genprocid) select x.uid, null, @GenProcID from (select distinct o.UID_DialogObject as UID, x.GenProcID from DialogObject o join DialogTable\r\n t on o.UID_DialogTable = t.UID_DialogTable join @PrePropHelper x on t.TableName = x.uid_parameter and x.IsDeactivated <>x.IsDeactivatedOld ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropObject', @DBQueueElements_04   end   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', \r\n18, 1) WITH NOWAIT END CATCH  endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZPrePropTree",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.34",
      "ModifyDate": "2026-04-14T23:20:28.953",
      "Definition": "   create   procedure QBM_ZPrePropTree (@SlotNumber int) as begin declare @CountItems int  declare @GenProcID varchar(38) declare @GenProcID_R varchar\r\n(38) = dbo.QBM_FGISessionContext('') declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber\r\n = @SlotNumber if @@rowcount = 0 begin goto EndLabel end select @GenProcID = max(GenProcID) from @DBQueueCurrent where GenProcID > ' ' if isnull(@Genprocid\r\n, '') = '' begin select @GenProcID = newid() end declare @PrePropHelper QBM_YPrepropHelper insert into @PrePropHelper (uid_parameter , isDeactivatedPrior\r\n , IsDeactivated , GenProcID , PreProcessorCondition, IsDeactivatedOld) select x.uid_parameter , sign(cast(isnull(p.isDeactivatedByPreProcessor,0)as int\r\n) + cast(isnull(tb.isDeactivatedByPreProcessor,0)as int) + cast(isnull(dd.isDeactivatedByPreProcessor,0)as int) )  , sign(cast(isnull(p.isDeactivatedByPreProcessor\r\n,0)as int) + cast(isnull(tb.isDeactivatedByPreProcessor,0)as int) + cast(isnull(dd.IsDeactivatedByPreProcessor,0)as int) ),  x.GenProcID, isnull(t.PreProcessorCondition\r\n,N''), t.isDeactivatedByPreProcessor from @DBQueueCurrent x join QBMTree t on x.uid_parameter = t.uid_QBMTree left outer join QBMTree p on t.UID_QBMTreeParent\r\n = p.UID_QBMTree  left outer join DialogTable tb on t.UID_DialogTable = tb.UID_DialogTable left outer join DialogDashBoardDef dd on t.UID_DialogDashBoardDef\r\n = dd.UID_DialogDashBoardDef  update @PrePropHelper set IsDeactivated = dbo.QBM_FGIPrepropConditionDeactiv(h.PreProcessorCondition) from @PrePropHelper\r\n h where h.PreProcessorCondition > ' ' and h.isDeactivatedPrior = 0  update @PrePropHelper set IsDeactivated = 1 from @PrePropHelper h join QBMTree t on\r\n h.UID_Parameter = t.UID_QBMTree where h.IsDeactivated = 0 and t.NodeType <> 'D' and not exists (select top 1 1 from QBMTreeResult r join QBMTreeHasTreeResult\r\n thr on r.UID_QBMTreeResult = thr.UID_QBMTreeResult where thr.UID_QBMTree = h.UID_Parameter and r.isDeactivatedByPreProcessor = 0 ) and exists (select \r\ntop 1 1 from QBMTreeResult r join QBMTreeHasTreeResult thr on r.UID_QBMTreeResult = thr.UID_QBMTreeResult where thr.UID_QBMTree = h.UID_Parameter ) and\r\n not exists (select top 1 1 from QBMTree c where c.UID_QBMTreeParent = h.uid_parameter and c.IsDeactivatedByPreProcessor = 0 )    declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select distinct ths.UID_DialogSheet\r\n as UID, x.GenProcID from QBMTree t join @PrePropHelper x on isnull(t.UID_QBMTree,'') = x.uid_parameter and isnull(t.IsDeactivatedByPreProcessor,0) <> \r\nx.IsDeactivated join QBMTreeHasSheet ths on ths.uid_QBMTree = t.uid_QBMTree ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropSheet', @DBQueueElements_01\r\n  exec QBM_PSessionContextSet 'GenProcID', @GenProcID update QBMTree set IsDeactivatedByPreProcessor = x.isDeactivated, xdateupdated = GetUTCDate(), xuserupdated\r\n = 'DBScheduler'  from QBMTree r join @PrePropHelper x on r.UID_QBMTree = x.uid_parameter where r.IsDeactivatedByPreProcessor <> x.IsDeactivated select\r\n @CountItems = @@rowcount if @CountItems > 0 begin   exec QBM_PDBQueueInsert_WaitForComp 'Tree', @GenProcID end   declare @DBQueueElements_02 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_02 (object, subobject, genprocid) select z.UID, null, z.GenProcID from (select t.UID_QBMTree as UID, x.GenProcID, x.isDeactivated\r\n, x.isDeactivatedOld from QBMTree t join @PrePropHelper x on t.UID_QBMTreeParent = x.uid_parameter  group by t.UID_QBMTree, x.GenProcID, x.isDeactivated\r\n, x.isDeactivatedOld ) as z  where (not exists (select top 1 1 from @PrePropHelper y where y.uid_parameter = z.UID ) or z.isDeactivated <> z.isDeactivatedOld\r\n ) exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropTree', @DBQueueElements_02  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18\r\n, 1) WITH NOWAIT END CATCH  endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZPrePropTreeResult",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.35",
      "ModifyDate": "2026-04-14T23:20:28.97",
      "Definition": "   create   procedure QBM_ZPrePropTreeResult (@SlotNumber int) as begin declare @CountItems int  declare @GenProcID varchar(38) declare @GenProcID_R\r\n varchar(38) = dbo.QBM_FGISessionContext('') declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber\r\n = @SlotNumber if @@rowcount = 0 begin goto EndLabel end select @GenProcID = max(GenProcID) from @DBQueueCurrent where GenProcID > ' ' if isnull(@Genprocid\r\n, '') = '' begin select @GenProcID = newid() end declare @PrePropHelper QBM_YPrepropHelper insert into @PrePropHelper (uid_parameter , isDeactivatedPrior\r\n , IsDeactivated , GenProcID , PreProcessorCondition, IsDeactivatedOld) select x.uid_parameter , isnull(o.isDeactivatedByPreProcessor, 0) , isnull(o.isDeactivatedByPreProcessor\r\n, 0) , x.GenProcID, isnull(t.PreProcessorCondition,N''), t.isDeactivatedByPreProcessor from @DBQueueCurrent x join QBMTreeResult t on x.uid_parameter =\r\n t.uid_QBMTreeResult left outer join DialogObject o on t.UID_DialogObject = o.UID_DialogObject  update @PrePropHelper set IsDeactivated = dbo.QBM_FGIPrepropConditionDeactiv\r\n(h.PreProcessorCondition) from @PrePropHelper h where h.PreProcessorCondition > ' ' and h.isDeactivatedPrior = 0   declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select distinct ths.UID_DialogSheet as UID, x.GenProcID\r\n from QBMTreeResult t join @PrePropHelper x on isnull(t.UID_QBMTreeResult,'') = x.uid_parameter and isnull(t.IsDeactivatedByPreProcessor,0) <> x.IsDeactivated\r\n join QBMTreeResultHasSheet ths on ths.uid_QBMTreeResult = t.uid_QBMTreeResult ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropSheet', @DBQueueElements_01\r\n   declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select\r\n distinct thr.UID_QBMTree as UID, x.GenProcID from QBMTreeResult tr join @PrePropHelper x on isnull(tr.UID_QBMTreeResult,'') = x.uid_parameter and isnull\r\n(tr.IsDeactivatedByPreProcessor,0) <> x.IsDeactivated join QBMTreeHasTreeResult thr on tr.uid_QBMTreeResult = thr.uid_QBMTreeResult ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QBM-K-CommonPrepropTree', @DBQueueElements_02  exec QBM_PSessionContextSet 'GenProcID', @GenProcID update QBMTreeResult set IsDeactivatedByPreProcessor\r\n = x.isDeactivated, xdateupdated = GetUTCDate(), xuserupdated = 'DBScheduler'  from QBMTreeResult r join @PrePropHelper x on r.UID_QBMTreeResult = x.uid_parameter\r\n where r.IsDeactivatedByPreProcessor <> x.IsDeactivated select @CountItems = @@rowcount if @CountItems > 0 begin   exec QBM_PDBQueueInsert_WaitForComp \r\n'Tree', @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZProcessChainStateUpdate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.727",
      "ModifyDate": "2026-04-14T23:20:29.46",
      "Definition": "       create   procedure QBM_ZProcessChainStateUpdate (@SlotNumber int)  AS begin  declare @XUser nvarchar(64) = object_name(@@procid) declare \r\n@Xdate datetime = getutcdate() BEGIN TRY   declare @Hilfstabelle QBM_YMNTable  insert into @Hilfstabelle (UID_Element1 , UID_Element2 ) select y.uid_parameter\r\n , w.ChainState from ( select p.uid_parameter, sum(distinct x.StateLevel) as StateLevel  from QBMDBQueueCurrent p with (readpast) join DialogProcessChain\r\n c on p.uid_parameter = c.uid_tree left outer join DialogProcessStep s on c.uid_tree = s.uid_tree     left outer join ( values ('F', 4)  ,( 'E', 8) ,('L'\r\n, 1) ,('D', 1) ,('P', 1) ,('G', 2) ,('N', 0) ,('#', 8)  ) as x (JobState, StateLevel) on isnull(s.ProcessState, '#') = x.JobState where p.SlotNumber = \r\n@SlotNumber group by p.uid_parameter ) as y join ( values ( 1, 'P')  ,( 2, 'G') ,( 3, 'P') ,( 4, 'F') ,( 5, 'P') ,( 6, 'P') ,( 7, 'P') ,( 8, 'E') ,( 9,\r\n 'P') ,(10, 'P') ,(11, 'P') ,(12, 'F') ,(13, 'P') ,(14, 'P') ,(15, 'P') ,( 0, 'G') ) as w (StateLevel , ChainState ) on y.StateLevel = w.StateLevel  update\r\n DialogProcessChain set ProcessState = w.UID_Element2   , XDateUpdated = @Xdate , XUserUpdated = @XUser from DialogProcessChain, @Hilfstabelle w where \r\nDialogProcessChain.uid_tree = w.UID_Element1  and isnull(DialogProcessChain.ProcessState,'') <> w.UID_Element2   declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, x.uid  from ( select distinct c.GenProcID as uid from @Hilfstabelle\r\n s1 join DialogProcessChain c on s1.UID_Element1  =c.uid_Tree ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonProcess', @DBQueueElements_01 END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZProcessMarkDelete",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.74",
      "ModifyDate": "2026-04-14T23:20:29.473",
      "Definition": "   create   procedure QBM_ZProcessMarkDelete (@SlotNumber int , @dummy1 varchar(38) = '' , @dummy2 varchar(38) = '' , @GenProcID varchar(38) = ''\r\n ) as begin declare @Xdate DATETIME = getutcdate() declare @XUser NVARCHAR(64) = object_name(@@procid) declare @UnfinProcsNoRuns QBM_YSingleGuid declare\r\n @rowCount int = 1 declare @DebugSwitch int = 0 declare @Stmnt nvarchar(max) if not exists (select top 1 1 from DialogProcess where ProcessState not in\r\n ('E','F')) begin goto ende end SET XACT_ABORT OFF set LOCK_TIMEOUT 500 BEGIN TRY if isnull(@XUser, '') = '' set @xuser = 'UNKNOWN'   select @Stmnt = '\r\n\t\tselect \r\n\t\t\tP.GenprocID, \r\n\t\t\tisnull(SubstInfo.ProcessStateInfo, 0) as IntProperty  -- 0=no subst; 1=subst proc is done E; 2=subst proc is done F; 3=subst proc is unfinished too\r\n\t\tfrom DialogProcess P\r\n\t\tleft outer join (\r\n\t\t\t\t\t\tselect GenprocIDOrigin\r\n\t\t\t\t\t\t\t, max(case \r\n\t\t\t\t\t\t\t\twhen psub.ProcessState = ''F'' then 2 \r\n\t\t\t\t\t\t\t\twhen psub.ProcessState = ''E'' then 1 \r\n\t\t\t\t\t\t\t\telse 3\tend\r\n\t\t\t\t\t\t) as ProcessStateInfo\r\n\t\t\tfrom QBM_VDialogProcessCollection v with (readpast)\r\n\t\t\tjoin Dialogprocess PSub on PSub.GenProcID = v.GenProcIDNew\r\n\t\t\twhere v.GenProcIDOrigin <> v.GenProcIDNew\r\n\t\t\tgroup by GenprocIDOrigin\r\n\t\t) SubstInfo on SubStInfo.GenProcIDOrigin = p.GenprocID\r\n\t\twhere P.ProcessState not in (''E'',''F'') --E=Ended;L=Frozen;F=Failed\r\n\t\t\tand not exists (select top 1 genprocid from DialogDBQueue with (readpast) where genprocid = P.GenProcID)\r\n\t\t\tand not exists (select top 1 genprocid from QBMDBQueueCurrent with (readpast) where genprocid = P.GenProcID and Slotnumber<>0)\r\n\t\t\tand not exists (select top 1 genprocid from QBMDBQueuePond with (readpast) where genprocid = P.GenProcID)\r\n\t\t\tand not exists (select top 1 genprocid from JobQueue with (readpast) where genprocid = P.GenProcID)\r\n\t\t\tand not exists (select top 1 genprocid from DialogDeferredOperation with (readpast) where genprocid = P.GenProcID)\r\n\t\t'\r\n if dbo.QBM_FGIModuleExists('QER') = 1 begin select @Stmnt = concat(@Stmnt, ' and not exists (select top 1 genprocid from PersonWantsOrg with (readpast) where genprocid = P.GenProcID)'\r\n) end Insert into @UnfinProcsNoRuns(UID_SingleGuid, IntProperty) exec sp_executesql @Stmnt if (@DebugSwitch > 0) begin select 'debug 1 cnt @UnfinProcsNoRuns'\r\n, count(*) cnt from @UnfinProcsNoRuns select 'debug 1b @UnfinProcsNoRuns', * from @UnfinProcsNoRuns end select @rowcount = 1  while (@rowCount > 0) begin\r\n set @rowCount = 0  update DialogProcess set ProcessState = case when isnull(ErrorInfo, 0) = 0 then 'E' else 'F' end from DialogProcess P join @UnfinProcsNoRuns\r\n up on P.GenprocID = up.UID_SingleGuid left outer join ( select GenprocID, max(sign(waserror)) as ErrorInfo from JobHistory group by GenprocID ) JobH on\r\n JobH.GenProcID = P.GenprocID where up.IntProperty = 0 set @rowCount += @@Rowcount if (@DebugSwitch > 0) begin select 'after 1)', @rowCount as [RowCount]\r\n end  update DialogProcess set ProcessState = case when IntProperty = 1 then 'E' else 'F' end from DialogProcess P join @UnfinProcsNoRuns up on P.GenprocID\r\n = up.UID_SingleGuid where up.IntProperty in (1, 2)  set @rowCount += @@Rowcount if (@DebugSwitch > 0) begin select 'after 2)', @rowCount as [RowCount]\r\n select distinct 'Debug 2 Subst', p.GenProcID, p.ProcessState, P.Displayname from DIalogProcess P join @UnfinProcsNoRuns up on up.UID_SingleGuid = P.GenProcID\r\n join DialogProcessSubstitute S on P.GenProcID in (S.GenProcIDNew, S.GenProcIDOrigin) select count(*) cnt, ProcessState from Dialogprocess P join @UnfinProcsNoRuns\r\n up on up.UID_SingleGuid = P.GenProcID group by ProcessState end    if (@rowCount > 0 and exists (select top 1 1 from @UnfinProcsNoRuns where IntProperty\r\n = 3)) begin  update @UnfinProcsNoRuns set IntProperty = -1  where IntProperty <> 3   update @UnfinProcsNoRuns set IntProperty = isnull(SubstInfo.ProcessStateInfo\r\n, 0) from @UnfinProcsNoRuns OldRun left outer join ( select GenprocIDOrigin, max(case when psub.ProcessState = 'F' then 2 when psub.ProcessState = 'E' \r\nthen 1 else 3 end) as ProcessStateInfo from QBM_VDialogProcessCollection v WITH (READPAST) join Dialogprocess PSub on PSub.GenProcID = v.GenProcIDNew where\r\n v.GenProcIDOrigin <> v.GenProcIDNew group by GenprocIDOrigin ) SubstInfo on SubStInfo.GenProcIDOrigin = OldRun.UID_SingleGuid where OldRun.IntProperty\r\n = 3 and OldRun.IntProperty <> isnull(SubstInfo.ProcessStateInfo, 0) set @rowCount = @@Rowcount if (@DebugSwitch > 0) begin select 'post processing, rowcount after getting post proc jobs'\r\n , @rowCount select 'Group by IntProperty', IntProperty, count(*) cnt, min(UID_SingleGuid) as MinP, max(UID_SingleGuid) as MaxP from @UnfinProcsNoRuns \r\ngroup by IntProperty end end  else begin  set @rowCount = 0 end end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000\r\n) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZProcessShrink",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.61",
      "ModifyDate": "2026-04-14T23:20:29.307",
      "Definition": "        create   procedure QBM_ZProcessShrink ( @SlotNumber int , @dummy1 varchar(38) = '', @dummy2 varchar(38) = '', @GenProcID varchar(38) = ''\r\n ) as begin declare @HexDigit int = 2 BEGIN TRY if ISNULL(@GenProcID, '') = '' begin select @GenProcID = dbo.QBM_FGISessionContext('') end  exec QBM_PDialogProcessShrink_fill\r\n if dbo.QBM_FGITableCountAll('DialogProcess') > 600000 begin select @HexDigit = 3 end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n(Object, SubObject, GenProcID) select h.HexPattern, '' , @GenProcID from dbo.QBM_FTHexPattern(@HexDigit) h  exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonProcessShrink-Pat'\r\n, @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZProcessShrink_Pat",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.613",
      "ModifyDate": "2026-04-14T23:20:29.307",
      "Definition": " create   procedure QBM_ZProcessShrink_Pat ( @SlotNumber int , @KeyPattern varchar(38) , @dummy2 varchar(38) , @GenProcID varchar(38) ) as begin\r\n BEGIN TRY if ISNULL(@GenProcID, '') = '' begin select @GenProcID = dbo.QBM_FGISessionContext('') end   exec QBM_PTransactionLevelCheck 0, @@procid exec\r\n QBM_PProcessShrink @KeyPattern  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZProcessStateUpdate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.717",
      "ModifyDate": "2026-04-14T23:20:29.447",
      "Definition": "     create   procedure QBM_ZProcessStateUpdate (@SlotNumber int)  AS begin   declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate\r\n datetime = getutcdate() BEGIN TRY   declare @Hilfstabelle QBM_YMNTable  insert into @Hilfstabelle (UID_Element1 , UID_Element2 ) select y.uid_parameter\r\n , w.ProcessState from ( select p.uid_parameter, sum(distinct x.StateLevel) as StateLevel  from QBMDBQueueCurrent p with (readpast) join DialogProcessChain\r\n c on p.uid_parameter = c.GenProcID   join ( values ( 'F', 4)  , ('E', 8) , ('P', 1) , ('G', 2) ) as x (ChainState, StateLevel ) on c.ProcessState = x.ChainState\r\n where p.SlotNumber = @SlotNumber group by p.uid_parameter ) as y join ( values (1 , 'P')  ,( 2, 'G') ,( 3, 'P') ,( 4, 'F') ,( 5, 'P') ,( 6, 'P') ,( 7,\r\n 'P') ,( 8, 'E') ,( 9, 'P') ,(10, 'P') ,(11, 'P') ,(12, 'F') ,(13, 'P') ,(14, 'P') ,(15, 'P') ) as w (StateLevel , ProcessState) on y.StateLevel = w.StateLevel\r\n  update DialogProcess set ProcessState = w.UID_Element2   , XDateUpdated = @Xdate , XUserUpdated = @XUser from DialogProcess, @Hilfstabelle w where DialogProcess.GenProcID\r\n = w.UID_Element1  and isnull(DialogProcess.ProcessState,'') <> w.UID_Element2  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18\r\n, 1) WITH NOWAIT END CATCH ende: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZProgressViewShrink",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.673",
      "ModifyDate": "2026-04-14T23:20:29.393",
      "Definition": "         create   procedure QBM_ZProgressViewShrink (@SlotNumber int , @dummy1 varchar(38) = '', @dummy2 varchar(38)= '', @GenProcID varchar(38)=\r\n '' ) as begin declare @HexDigit int = 2 BEGIN TRY if ISNULL(@GenProcID, '') = '' begin select @GenProcID = dbo.QBM_FGISessionContext('') end if dbo.QBM_FGITableCountAll\r\n('DialogProcessChain') > 600000 begin select @HexDigit = 3 end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01(Object, SubObject\r\n, GenProcID) select h.HexPattern, '' , @GenProcID from dbo.QBM_FTHexPattern(@HexDigit) h  exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonShrinkProgressView-Pat'\r\n, @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZProgressViewShrink_Pat",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.673",
      "ModifyDate": "2026-04-14T23:20:29.393",
      "Definition": " create   procedure QBM_ZProgressViewShrink_Pat (@SlotNumber int , @KeyPattern varchar(38) , @dummy2 varchar(38) , @GenProcID varchar(38) ) as begin\r\n BEGIN TRY if ISNULL(@GenProcID, '') = '' begin select @GenProcID = dbo.QBM_FGISessionContext('') end   exec QBM_PTransactionLevelCheck 0, @@procid  exec\r\n QBM_PProgressViewShrink @KeyPattern  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZProgressViewShrinkReset",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.603",
      "ModifyDate": "2026-04-14T23:20:29.293",
      "Definition": "   create   procedure QBM_ZProgressViewShrinkReset ( @SlotNumber int , @dummy1 varchar(38) = '', @dummy2 varchar(38) = '', @GenProcIDDummy varchar\r\n(38) = '' ) as begin declare @BlockSize int = 100000 declare @lauf int declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate\r\n() BEGIN TRY select @lauf = 1 while @lauf > 0 begin update top (@BlockSize) DialogProcessChain set ReadyForDeleteOrExport = 0 , XDateUpdated = @Xdate ,\r\n XUserUpdated = @XUser where ReadyForDeleteOrExport > 0 select @lauf = @@ROWCOUNT - @BlockSize + 1 end select @lauf = 1 while @lauf > 0 begin update top\r\n (@BlockSize) DialogWatchOperation set ReadyForDeleteOrExport = 0 where ReadyForDeleteOrExport > 0 select @lauf = @@ROWCOUNT - @BlockSize + 1 end select\r\n @lauf = 1 while @lauf > 0 begin update top (@BlockSize) JobHistory set ReadyForDeleteOrExport = 0 , XDateUpdated = @Xdate , XUserUpdated = @XUser where\r\n ReadyForDeleteOrExport > 0 select @lauf = @@ROWCOUNT - @BlockSize + 1 end select @lauf = 1 while @lauf > 0 begin update top (@BlockSize) DialogProcess\r\n set ReadyForDeleteOrExport = 0 , XDateUpdated = @Xdate , XUserUpdated = @XUser where ReadyForDeleteOrExport > 0 select @lauf = @@ROWCOUNT - @BlockSize\r\n + 1 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZQBMPendingChangeShrink",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.197",
      "ModifyDate": "2026-04-14T23:20:30.05",
      "Definition": "  create   procedure QBM_ZQBMPendingChangeShrink ( @Slotnumber int , @Dummy1 varchar(38) , @Dummy2 varchar(38) , @GenProcIDDummy varchar(38) ) AS\r\n begin declare @LifetimeSuccess int declare @LifetimeError int declare @LifetimeRunning int BEGIN TRY select top 1 @LifetimeSuccess = dbo.QBM_FCVStringToInt\r\n(dbo.QBM_FGIConfigparmValue('QBM\\PendingChange\\LifeTimeSuccess'), 2)  select top 1 @LifetimeError = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue('QBM\\PendingChange\\LifeTimeError'\r\n), 36500) select top 1 @LifetimeRunning = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue('QBM\\PendingChange\\LifeTimeRunning'), 60) delete QBMPendingChange\r\n from QBMPendingChange u where datediff(dd, u.XDateUpdated, getutcdate()) > @LifetimeSuccess and u.IsProcessed = 1 delete QBMPendingChange from QBMPendingChange\r\n u where datediff(dd, u.XDateUpdated, getutcdate()) > @LifetimeError and u.IsProcessed = 2 delete QBMPendingChange from QBMPendingChange u where datediff\r\n(dd, u.XDateUpdated, getutcdate()) > @LifetimeRunning and u.IsProcessed = 0 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1)\r\n WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZQBMSessionStoreShrink",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.163",
      "ModifyDate": "2026-04-14T23:20:30.013",
      "Definition": "  create   procedure QBM_ZQBMSessionStoreShrink ( @SlotnumberDummy int , @Dummy1 varchar(38) , @Dummy2 varchar(38) , @GenProcIDDummy varchar(38)\r\n ) AS begin declare @QBMSessionStoreLifetime int BEGIN TRY select top 1 @QBMSessionStoreLifetime = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue('QBM\\AppServer\\SessionTimeout'\r\n), 0) if @QBMSessionStoreLifetime > 0 begin delete QBMSessionStore from QBMSessionStore u where datediff(hh, u.XDateUpdated, getutcdate()) > @QBMSessionStoreLifetime\r\n end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZRecalculate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.753",
      "ModifyDate": "2026-04-14T23:20:29.493",
      "Definition": "       create   procedure QBM_ZRecalculate ( @SlotNumber int , @UID_Task varchar(38)    , @dummy varchar(38) , @GenProcID varchar(38) ) as begin\r\n  declare @SQLcmd nvarchar(max) declare @NeuTask varchar(38) declare @CountParameter int declare @Object varchar(38) declare @DebugMessage nvarchar(2000\r\n) declare @DebugLevel char(1) = 'W' declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @QBMDeltaHelper\r\n QBM_YDBQueueDeltaHelper BEGIN TRY select @DebugMessage = 'Recalculate betreten, Task = ' + isnull(@UID_Task, '<keine>') exec QBM_PJournal @DebugMessage\r\n , @@procid, 'D', @DebugLevel if isnull(@GenProcID, '') = '' begin select @GenProcID = newid() end if @UID_Task = 'QBM-K-All' begin  insert into @ElementBuffer\r\n (UID1) select distinct t.UID_Task as uid from QBMDBQueueTask t left outer join QBMDBQueueTaskMetric m on t.UID_Task = m.UID_Task where ( (isnull(t.QueryForRecalculate\r\n, N'') > ' ' and t.CountParameter > 0) or t.CountParameter = 0 )       and m.PathLength > (select top 1 b.PathLength from QBMDBQueueTaskMetric b where \r\nb.UID_Task = 'QBM-K-BaseMigrationReady' ) select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select \r\ntop 1 @Object = bu.UID1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate', @Object,\r\n Null, @GenProcID select @ElementIndex += 1 end  goto ende end   select @NeuTask = @UID_Task select @SQLcmd = null  if not exists (select top 1 1 from \r\nQBMDBQueueTask t with (readpast) where t.UID_Task = @NeuTask ) begin  select @DebugMessage = 'task to recalculate not found: ' + isnull(@UID_Task, '<empty>'\r\n)    goto ende end select @SQLcmd = null select top 1 @SQLcmd = QueryForRecalculate , @CountParameter = countParameter from QBMDBQueueTask t where UID_Task\r\n = @NeuTask and ( (isnull(t.QueryForRecalculate, N'') > N' ' and t.CountParameter > 0) or t.CountParameter = 0 ) if @SQLcmd is null   and @CountParameter\r\n > 0 begin select @DebugMessage = 'keine Query für recalculate' exec QBM_PJournal @DebugMessage , @@procid, 'D', @DebugLevel goto ende end  if @CountParameter\r\n = 0 begin exec QBM_PDBQueueInsert_Single @NeuTask, null, null, @GenProcID end if @countParameter = 1 begin   select @SQLCmd = '\r\n\tselect Spalte1 from\r\n\t( '\r\n + @SQLCmd + '\r\n\t) as x (Spalte1)\r\n\twhere x.Spalte1 > '' ''\r\n' insert into @QBMDeltaHelper(Element) exec sp_executesql @SQLCmd  declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct Element as uid, 1\r\n as Kennung from @QBMDeltaHelper where Element > ' ' union all  select q.Object, 2 as Kennung from DialogDBQueue q with (nolock) where q.UID_Task = @NeuTask\r\n and q.Generation >= 0 ) as x group by x.uid having SUM(x.Kennung) = 1        exec QBM_PDBQueueInsert_Bulk @NeuTask, @DBQueueElements_01 end if @countParameter\r\n = 2 begin   select @SQLCmd = '\r\n\tselect Spalte1, Spalte2 from\r\n\t( ' + @SQLCmd + '\r\n\t) as x (Spalte1, Spalte2)\r\n\twhere x.Spalte1 > '' ''\r\n\t\tand x.Spalte2 > '' ''\r\n'\r\n insert into @QBMDeltaHelper (Element, AssignedElement) exec sp_executesql @SQLCmd  declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.uid, x.subobject, @GenProcID from ( select distinct Element as uid, assignedElement as subObject, 1 as Kennung\r\n from @QBMDeltaHelper where Element > ' ' and assignedElement > ' ' union all  select q.Object, q.SubObject, 2 as Kennung from DialogDBQueue q with (nolock\r\n) where q.UID_Task = @NeuTask and q.Generation >= 0 ) as x group by x.uid, x.subObject having SUM(x.Kennung) = 1         exec QBM_PDBQueueInsert_Bulk @NeuTask\r\n, @DBQueueElements_02 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZRecompileAll",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.333",
      "ModifyDate": "2026-04-14T23:20:30.21",
      "Definition": "   create   procedure QBM_ZRecompileAll (@SlotNumber int , @dummy1 varchar(38) , @dummy2 varchar(38) , @dummyGenProcID varchar(38) ) as begin BEGIN\r\n TRY exec QBM_PRecompileAll END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZRITriggerCreate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.013",
      "ModifyDate": "2026-04-14T23:20:29.813",
      "Definition": "  create   procedure QBM_ZRITriggerCreate (@SlotNumber int ) as begin declare @DebugLevel char(1) = 'W' BEGIN TRY declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01(Object, SubObject, GenProcID) select cu.UID_Parameter, null, cu.GenProcID from QBMDBQueueCurrent cu with (readpast) where\r\n cu.SlotNumber = @SlotNumber exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonMakeRITriggerI', @DBQueueElements_01 exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonMakeRITriggerU'\r\n, @DBQueueElements_01 exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonMakeRITriggerD', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZRITriggerCreateD",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.037",
      "ModifyDate": "2026-04-14T23:20:29.843",
      "Definition": "    create   procedure QBM_ZRITriggerCreateD (@SlotNumber int , @TableName varchar(38) , @dummy varchar(38)  , @GenProcID varchar(38) ) as begin\r\n   declare @ResetMessage nvarchar(4000) declare @DebugLevel char(1) = 'W' SET XACT_ABORT OFF BEGIN TRY  BEGIN TRY exec QBM_PRITriggerCreate @TableName,\r\n 'delete' END TRY  BEGIN CATCH select @ResetMessage = ERROR_MESSAGE() if @@TRANCOUNT > 0 begin rollback end exec QBM_PDBQueueCurrentResetNGen @SlotNumber\r\n , @ResetMessage , @@PROCID END CATCH END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZRITriggerCreateI",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.023",
      "ModifyDate": "2026-04-14T23:20:29.823",
      "Definition": "    create   procedure QBM_ZRITriggerCreateI (@SlotNumber int , @TableName varchar(38) , @dummy varchar(38)  , @GenProcID varchar(38) ) as begin\r\n   declare @ResetMessage nvarchar(4000) declare @DebugLevel char(1) = 'W' SET XACT_ABORT OFF BEGIN TRY  BEGIN TRY exec QBM_PRITriggerCreate @TableName,\r\n 'Insert' END TRY  BEGIN CATCH select @ResetMessage = ERROR_MESSAGE() if @@TRANCOUNT > 0 begin rollback end exec QBM_PDBQueueCurrentResetNGen @SlotNumber\r\n , @ResetMessage , @@PROCID END CATCH END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZRITriggerCreateU",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.03",
      "ModifyDate": "2026-04-14T23:20:29.833",
      "Definition": "    create   procedure QBM_ZRITriggerCreateU (@SlotNumber int , @TableName varchar(38) , @dummy varchar(38)  , @GenProcID varchar(38) ) as begin\r\n   declare @ResetMessage nvarchar(4000) declare @DebugLevel char(1) = 'W' SET XACT_ABORT OFF BEGIN TRY  BEGIN TRY exec QBM_PRITriggerCreate @TableName,\r\n 'update' END TRY  BEGIN CATCH select @ResetMessage = ERROR_MESSAGE() if @@TRANCOUNT > 0 begin rollback end exec QBM_PDBQueueCurrentResetNGen @SlotNumber\r\n , @ResetMessage , @@PROCID END CATCH END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZRITriggerPrepare",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.993",
      "ModifyDate": "2026-04-14T23:20:29.79",
      "Definition": "           create   procedure QBM_ZRITriggerPrepare ( @SlotNumberDummy int , @dummy1 varchar(38) , @dummy2 varchar(38) , @GenProcIDDummy varchar\r\n(38) ) as begin   declare @Table nvarchar(32) declare @RelationID nvarchar(64) declare @DebugSwitch int = 0 declare @Message nvarchar(1000) declare @GenProcID\r\n varchar(38) = newid() declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate\r\n datetime = getutcdate() BEGIN TRY drop table if exists #Relations create table #Relations (relationid nvarchar(64) collate database_default not null, \r\nparenttable nvarchar(64) collate database_default index #Relations1, childtable nvarchar(64) collate database_default , generateChild nvarchar(3) collate\r\n database_default, generateParent nvarchar(3) collate database_default primary key (relationid) )  exec QBM_PSessionContextSet 'GenProcID', @GenProcID \r\nupdate QBMRelation set generateParent = '' , XDateUpdated = @Xdate , XUserUpdated = @XUser where generateParent is null  update QBMRelation set generateChild\r\n = '' , XDateUpdated = @Xdate , XUserUpdated = @XUser where generateChild is null insert into #Relations (relationid, parenttable, childtable, generateChild\r\n, generateparent ) select r.relationid, r.parenttable, r.childtable, upper(left(v.generateChild, 3)), upper(left(v.Generateparent ,3)) from QBM_VQBMRelation\r\n r join QBM_VRIDefaults v on r.Parentrestriction = v.Parentrestriction and r.Parentexecuteby = v.Parentexecuteby and r.ChildRestriction = v.ChildRestriction\r\n and r.ChildExecuteBy = v.ChildExecuteBy  join information_schema.tables tc with (readpast) on r.Childtable = tc.table_name and tc.table_type = 'BASE TABLE'\r\n  join information_schema.tables tp with (readpast) on r.Parenttable = tp.table_name and tp.table_type in( 'BASE TABLE', 'VIEW')  where v.Generateparent\r\n > ' ' or v.GenerateChild > ' '   update #relations set GenerateChild = 'TIR', GenerateParent = ''  where GenerateChild like 'C%' and ParentTable in (select\r\n table_name from information_schema.tables with (readpast) where table_type = 'VIEW') update #relations set GenerateParent = ''  where ParentTable in (select\r\n table_name from information_schema.tables with (readpast) where table_type = 'VIEW') and GenerateParent > ' '  update #relations set GenerateChild = 'TIR'\r\n, GenerateParent = 'TDS'  where GenerateChild = 'CDS' and ParentTable = ChildTable update #relations set GenerateChild = 'TIR', GenerateParent = 'TDC' \r\n where GenerateChild = 'CDC' and ParentTable = ChildTable update #relations set GenerateChild = 'TIR', GenerateParent = 'TDR'  where GenerateChild = 'CDR'\r\n and ParentTable = ChildTable    update #relations  set GenerateChild = 'TIR', GenerateParent = 'TDS' from #relations r where exists (select top 1 1 from\r\n (select substring(Relationbleibt, 16, 100)as RelationID , childtable, parentTable from ( select max(str(isnull(t.CountRows, 0), 15, 0) + relationID) as\r\n Relationbleibt, childtable, parentTable, count(*) as CountItems from #relations r join dialogTable t with (readpast) on r.childtable = t.TableName where\r\n r.GenerateChild = 'CDS' group by r.childtable, r.parenttable having count(*) > 1 ) as x ) as y where y.childtable = r.childTable and y.ParentTable = r.parenttable\r\n and y.relationid <> r.relationid and r.GenerateChild = 'CDS' )  update #relations  set GenerateChild = 'TIR', GenerateParent = 'TDC' from #relations r\r\n where exists (select top 1 1 from (select substring(Relationbleibt, 16, 100)as RelationID , childtable, parentTable from ( select max(str(isnull(t.CountRows\r\n, 0), 15, 0) + relationID) as Relationbleibt, childtable, parentTable, count(*) as CountItems from #relations r join dialogTable t with (readpast) on r.childtable\r\n = t.TableName where r.GenerateChild = 'CDC' group by r.childtable, r.parenttable having count(*) > 1 ) as x ) as y where y.childtable = r.childTable and\r\n y.ParentTable = r.parenttable and y.relationid <> r.relationid and r.GenerateChild = 'CDC' )    select @RelationID = N'#' while @RelationID is not null\r\n begin select @RelationID = null select top 1 @RelationID = c.relationID from #relations c join #relations p on c.parenttable = p.childtable and p.generateChild\r\n = 'CDC' and c.GenerateChild = 'CDC' and p.parenttable <> p.childtable order by p.parenttable, p.childtable if @RelationID is not null begin  update #relations\r\n set GenerateChild = 'TIR', GenerateParent = 'TDC' where relationID = @RelationID end end   select @RelationID = N'#' while @RelationID is not null begin\r\n select @RelationID = null select top 1 @RelationID = c.relationID from #relations c join #relations p on c.parenttable = p.childtable and p.generateChild\r\n = 'CDC' and c.GenerateChild = 'CDS' and p.parenttable <> p.childtable order by p.parenttable, p.childtable if @RelationID is not null begin  update #relations\r\n set GenerateChild = 'TIR', GenerateParent = 'TDS' where relationID = @RelationID end end update #relations  set GenerateChild = 'TIR', GenerateParent \r\n= 'TDC' from #relations r where exists (select top 1 1 from (select substring(Relationbleibt, 4, 100)as RelationID , childtable, parentTable from ( select\r\n max( r.GenerateChild + relationID) as Relationbleibt, childtable, parentTable  from #relations r where r.GenerateChild in ( 'CDS', 'CDC') group by r.childtable\r\n, r.parenttable having count(*) > 1 ) as x ) as y where y.childtable = r.childTable and y.ParentTable = r.parenttable and y.relationid <> r.relationid \r\nand r.GenerateChild = 'CDC' )  update #relations set GenerateParent = 'TDX' where GenerateParent = 'TDC' and Parenttable = Childtable   update #relations\r\n  set GenerateChild = 'TIR', GenerateParent = 'TDO' from #Relations r where ( r.generateChild = 'CDC' or r.generateParent = 'TDC' ) and exists (select \r\ntop 1 1 from DialogTable t with (readpast) join DialogColumn c with (readpast) on t.UID_DialogTable = c.UID_DialogTable where t.TableName = r.childtable\r\n and c.ColumnName = 'XOrigin' ) update #relations  set GenerateChild = 'TIR', GenerateParent = 'TDE' from #Relations r where ( r.generateChild = 'CDC' \r\nor r.generateParent = 'TDC' ) and exists (select top 1 1 from DialogTable t with (readpast) join DialogColumn c with (readpast) on t.UID_DialogTable = \r\nc.UID_DialogTable where t.TableName = r.childtable and c.ColumnName = 'XIsInEffect' ) insert into #Relations (relationid, parenttable, childtable, generateChild\r\n, generateparent ) select r.relationid, r.parenttable, r.childtable, '', '' from QBM_VQBMRelation r where Not exists (select top 1 1 from #Relations w \r\nwhere w.relationid = r.relationid ) and (r.generateChild > ' ' or r.generateparent > ' ' )   declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from (select a.childtable as uid from ( select r.* from #relations r join QBMRelation dt\r\n with (readpast) on r.relationid = dt.relationid where r.generateChild <> dt.generateChild or r.generateParent <> dt.generateParent ) as a union select\r\n b.parenttable from ( select r.* from #relations r join QBMRelation dt with (readpast) on r.relationid = dt.relationid where r.generateChild <> dt.generateChild\r\n or r.generateParent <> dt.generateParent ) as b ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonMakeRITrigger', @DBQueueElements_01 update QBMRelation\r\n set GenerateChild = x.GenerateChild, GenerateParent = x.GenerateParent , XDateUpdated = @Xdate , XUserUpdated = @XUser from QBMRelation join #relations\r\n x on QBMRelation.relationID = x.Relationid where QBMRelation.generateChild <> x.generateChild or QBMRelation.generateParent <> x.generateParent END TRY\r\n BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  ende: truncate table #Relations exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZScheduleStart",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.62",
      "ModifyDate": "2026-04-14T23:20:29.317",
      "Definition": "    create   procedure QBM_ZScheduleStart (@SlotNumber int ) AS begin BEGIN TRY declare @MyName nvarchar(64) = object_name(@@procid)  END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZScheduleStartDashBoard",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.627",
      "ModifyDate": "2026-04-14T23:20:29.327",
      "Definition": "   create   procedure QBM_ZScheduleStartDashBoard (@SlotNumber int ) AS begin set nocount on BEGIN TRY  declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select r.uid_DialogDashBoardDef as uid, cu.GenProcID\r\n from DialogDashBoardDef r join QBMDBQueueCurrent cu with (readpast) on r.UID_DialogSchedule = cu.UID_Parameter and cu.SlotNumber = @SlotNumber  where \r\nr.IsInActive = 0 and r.IsAdHoc = 0 and r.IsManual = 0 ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonDashboard', @DBQueueElements_01 END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZScheduleStartJob",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.637",
      "ModifyDate": "2026-04-14T23:20:29.34",
      "Definition": "  create   procedure QBM_ZScheduleStartJob (@SlotNumber int ) AS begin  declare @Name nvarchar(255) declare @MessageString nvarchar(1024) declare\r\n @GenProcID varchar(38) declare @HostName nvarchar(64) declare @uid_JobAutoStart varchar(38) declare @MyName nvarchar(64) = object_name(@@procid) declare\r\n @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int BEGIN TRY  insert into @ElementBuffer (UID1) select ja.UID_JobAutoStart\r\n from JobAutoStart ja join QBMDBQueueCurrent cu with (readpast) on ja.UID_DialogSchedule = cu.UID_Parameter where cu.SlotNumber = @SlotNumber select @ElementCount\r\n = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @UID_JobAutoStart = bu.UID1 from @ElementBuffer bu where\r\n bu.ElementIndex = @ElementIndex exec QBM_PScheduleStartJob @uid_JobAutoStart select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  ende:  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZScheduleStartTask",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.643",
      "ModifyDate": "2026-04-14T23:20:29.35",
      "Definition": "   create   procedure QBM_ZScheduleStartTask (@SlotNumber int ) AS begin declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent\r\n(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent\r\n cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into\r\n @DBQueueElements_01 (Object, SubObject, GenProcID) select ja.UID_Task, null, cu.GenProcID from QBMDBQueueTaskHasSchedule ja join @DBQueueCurrent cu on\r\n ja.UID_DialogSchedule = cu.UID_Parameter  exec QBM_PDBQueueInsert_bulk 'QBM-K-CommonReCalculate', @DBQueueElements_01       END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZScriptAssemblyReset",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.983",
      "ModifyDate": "2026-04-14T23:20:29.773",
      "Definition": "    create   procedure QBM_ZScriptAssemblyReset (@SlotNumberDummy int , @Context varchar(38)  , @Detail varchar(38)   ,@GenProcID varchar(38) ) \r\nas begin  declare @AssemblyNameCompare nvarchar(128) declare @CountItems int declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime\r\n = getutcdate() BEGIN TRY  if @Context = 'Scripts' begin select @Context = case when dbo.QBM_FCVGUIDToModuleOwner(@detail) = 'CCC' then 'Scripts' else \r\n'ProductScripts' end end if @Context = 'JobGen' begin  select @AssemblyNameCompare = N'Jobs' + N'[_]%' end else begin  select @AssemblyNameCompare = @Context\r\n + N'[_]%'  end   update dialogscriptassembly set IsValid = 0  , XDateUpdated = @Xdate , XUserUpdated = @XUser where name like @AssemblyNameCompare and\r\n IsValid = 1 select @CountItems = @@rowcount     if @CountItems > 0 begin   exec QBM_PDBQueueInsert_WaitForComp 'ResetAssembly', @GenProcID  end END TRY\r\n BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZSetRowLockOnly",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.953",
      "ModifyDate": "2026-04-14T23:20:29.737",
      "Definition": "  create   procedure QBM_ZSetRowLockOnly (@SlotNumberDummy int , @dummy1 varchar(38) , @dummy2 varchar(38) , @dummyGenProcID varchar(38) ) as begin\r\n  declare @ResetMessage nvarchar(4000) SET XACT_ABORT OFF BEGIN TRY BEGIN TRY exec QBM_PSetRowLockOnly '%' END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default select @ResetMessage = ERROR_MESSAGE() if @@TRANCOUNT > 0 begin rollback end  exec QBM_PDBQueueCurrentResetNGen @SlotNumberDummy , @ResetMessage\r\n , @@PROCID END CATCH END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZSetRowLockOnly_2",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.953",
      "ModifyDate": "2026-04-14T23:20:29.737",
      "Definition": "create   procedure QBM_ZSetRowLockOnly_2 (@SlotNumberDummy int , @dummy1 varchar(38) , @dummy2 varchar(38) , @dummyGenProcID varchar(38) ) as begin\r\n declare @GenProcID varchar(38) SET XACT_ABORT OFF BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext('') declare @SQL33734 nvarchar(max) = 'exec QBM_PSetRowLockOnly ''%'' '\r\n exec QBM_PJobCreate_Mnt @SQL33734, @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZSoftwareRevision",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.397",
      "ModifyDate": "2026-04-14T23:20:29.033",
      "Definition": "   create   procedure QBM_ZSoftwareRevision (@SlotNumber int , @dummy1 varchar(38) , @dummy2 varchar(38) , @GenProcIDDummy varchar(38) ) as begin\r\n declare @erg int declare @ChangeContext nvarchar(64) = 'SOFTWAREREVISION' declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime \r\n= getutcdate() BEGIN TRY  select @erg = abs(isnull(CHECKSUM_AGG(x.Summe), 314159)) from ( select CHECKSUM(dbo.QBM_FCVbinaryToString(isnull(r.HashValue,\r\n 0x0),0)+ dbo.QBM_FCVIntToString( r.FileSize)) as Summe  from QBMFileRevision r union  select checksum(fht.ObjectKeyDeployTarget + fht.UID_QBMFileRevision\r\n) from QBMFileHasDeployTarget fht ) as x  update dialogSemaphor set ChangeCounter = @erg , XDateUpdated = @Xdate , XUserUpdated = @XUser where ChangeContext\r\n = @ChangeContext  if @@rowcount = 0  begin raiserror('Entry in DialogSemaphor for \"SOFTWAREREVISION\" not found', 18, 1) with nowait end END TRY BEGIN \r\nCATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZSplittedLookupFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.227",
      "ModifyDate": "2026-04-14T23:20:30.083",
      "Definition": "create   procedure QBM_ZSplittedLookupFill (@SlotNumberDummy int , @UID_DialogColumn varchar(38) , @Dummy varchar(38) , @GenProcIDDummy varchar(38\r\n) ) as begin    declare @TableName varchar(30) declare @IsMultiValued bit declare @ColumnName varchar(30) declare @PersonColumn varchar(32) declare @SQLCMD\r\n nvarchar(max) declare @Kernel nvarchar(max) declare @SplittedElementType varchar(16) declare @JoinDefinition nvarchar(max) declare @SQLFinal nvarchar(max\r\n) declare @DebugSwitch int = 0 BEGIN TRY select top 1 @TableName = t.TableName , @IsMultiValued = c.IsMultiValued , @ColumnName = c.ColumnName , @SplittedElementType\r\n = c.SplittedLookupSupport , @JoinDefinition = dbo.QBM_FSQJoinsForSplittedLookup(t.UID_DialogTable) from DialogColumn c with (readpast) join DialogTable\r\n t with (readpast) on c.UID_DialogTable = t.UID_DialogTable where c.UID_DialogColumn = @UID_DialogColumn  and c.SplittedLookupSupport > ' '  if @IsMultiValued\r\n = 0 begin select @Kernel = concat('\r\n\t\t\t\t\t\t(select  ''', @UID_DialogColumn, ''' as UID_DialogColumn  , s.XObjectKey as ObjectKeyOwner, convert(nvarchar(400), s.'\r\n, @ColumnName, ') as SplittedElement \r\n\t\t\t\t\t\t\t\t, ', case when @JoinDefinition > ' ' then 'p.UID_Person' else 'NULL' end , ' as UID_Person \r\n\t\t\t\t\t\t\tfrom '\r\n, @TableName, ' s ', case when @JoinDefinition > ' ' then @JoinDefinition else '' end , ' \r\n\t\t\t\t\t\t\twhere s.', @ColumnName, ' > '' ''\r\n\t\t\t\t\t\t) as ke\r\n\t\t\t\t\t\t'\r\n )  end else begin select @Kernel = concat('\r\n\t\t\t\t\t\t(select  ''', @UID_DialogColumn, ''' as UID_DialogColumn, s.XObjectKey as ObjectKeyOwner, spl.SplittedElement as SplittedElement\r\n\t\t\t\t\t\t\t, '\r\n, case when @JoinDefinition > ' ' then 'p.UID_Person' else 'NULL' end , ' as UID_Person \r\n\t\t\t\t\t\t\tfrom ', @TableName, ' s cross apply (select case \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twhen '''\r\n, @SplittedElementType, ''' = ''Email'' then replace(y.SplittedElement, ''smtp:'', '''') \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telse y.SplittedElement\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tend as SplittedElement\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfrom (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselect  trim(xs.value) as SplittedElement\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfrom string_split (s.'\r\n, @ColumnName, ', nchar(7)) xs \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twhere trim(xs.value) > '' '' \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) as y\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) as spl\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t', case when\r\n @JoinDefinition > ' ' then @JoinDefinition else '' end , '\r\n\t\t\t\t\t\t\twhere s.', @ColumnName, ' > '' ''\r\n\t\t\t\t\t\t) as ke\r\n\t' )  end     select @SQLCMD = concat\r\n(' select distinct  z.*, ''', @SplittedElementType, '''  as SplittedElementType\r\n\t\t\t\tfrom \r\n\t\t\t\t(select dbo.QBM_FCVStringToGUID('''', concat(ke.UID_DialogColumn , ke.ObjectKeyOwner , ke.SplittedElement )) as UID_QBMSplittedLookup\r\n\t\t\t\t\t\t\t, ke.UID_DialogColumn \r\n\t\t\t\t\t\t\t, ke.ObjectKeyOwner \r\n\t\t\t\t\t\t\t, ke.SplittedElement \r\n\t\t\t\t\t\t\t, ke.UID_Person \r\n\t\t\t\t from \r\n\t\t\t\t'\r\n , @Kernel , '\r\n\t\t\t\t) as z\r\n\t\t\twhere not exists (select top 1 1\r\n\t\t\t\t\t\t\t\tfrom QBMSplittedLookup e\r\n\t\t\t\t\t\t\t\twhere e.UID_QBMSplittedLookup = z.UID_QBMSplittedLookup\r\n\t\t\t\t\t\t\t\t\tand e.UID_Person = z.UID_Person\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t'\r\n )   select @SQLFinal = concat( 'merge into QBMSplittedLookup as t\r\n\tusing (\r\n\t\t-- Block bisher\r\n ' , @SQLCMD , '\r\n\t\t-- / Block bisher\r\n\t\t) as s \r\n\ton s.UID_QBMSplittedLookup = t.UID_QBMSplittedLookup\r\nwhen matched \r\n\tand isnull(s.UID_Person, '''') <> isnull(t.UID_Person, '''')\r\n\t\tthen update set t.UID_Person = s.UID_Person\r\nwhen not matched by target \r\n\tthen insert(UID_QBMSplittedLookup \r\n\t\t\t\t\t\t\t, UID_DialogColumn \r\n\t\t\t\t\t\t\t, ObjectKeyOwner \r\n\t\t\t\t\t\t\t, SplittedElement \r\n\t\t\t\t\t\t\t, UID_Person \r\n\t\t\t\t\t\t\t, SplittedElementType)\r\n\t\tvalues (s.UID_QBMSplittedLookup \r\n\t\t\t\t\t\t\t, s.UID_DialogColumn \r\n\t\t\t\t\t\t\t, s.ObjectKeyOwner \r\n\t\t\t\t\t\t\t, s.SplittedElement \r\n\t\t\t\t\t\t\t, s.UID_Person \r\n\t\t\t\t\t\t\t, s.SplittedElementType\r\n\t\t\t\t)\r\n--when not matched by source \r\n--\tthen delete\t-- dauert zu lange, löschen bleibt wie gehabt\r\n;\r\n'\r\n )  if @DebugSwitch > 0 begin print @sqlfinal end exec sp_executesql @sqlfinal END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18,\r\n 1) WITH NOWAIT END CATCH  ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZStateUTCOffset",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.54",
      "ModifyDate": "2026-04-14T23:20:29.21",
      "Definition": "    create   procedure QBM_ZStateUTCOffset (@SlotNumber int) as begin  declare @uid_dialogState varchar(38) declare @AVGUTCOffSet int declare @IsDayLightSaving\r\n bit declare @GenProcID varchar(38) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime\r\n = getutcdate() BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end select\r\n top 1 @GenProcID = GenProcID from @DBQueueCurrent p declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (Object, SubObject, GenProcID\r\n) select x.uid, null, @GenProcID from (select distinct s.UID_DialogState as uid from DialogState s join @DBQueueCurrent cu on cu.UID_Parameter = s.UID_DialogState\r\n left outer join DialogStateHasTimeZone sht on s.UID_DialogState = sht.UID_DialogState left outer join DialogTimeZone tz on sht.UID_DialogTimeZone = tz.UID_DialogTimeZone\r\n and tz.UTCOffset is not null where tz.UID_DialogTimeZone is null ) as x exec QBM_PDBQueueInsert_bulk 'QBM-K-CommonStateUTCOffset2', @DBQueueElements_01\r\n  delete  @DBQueueCurrent from @DBQueueCurrent cu join @DBQueueElements_01 el on cu.UID_Parameter = el.Object  update DialogState set AVGUTCOffSet = x.AVGUTCOffSet\r\n , IsDayLightSaving = x.IsDayLightSaving , XDateUpdated = @Xdate , XUserUpdated = @XUser from DialogState su join ( select s.UID_DialogState, avg(tz.UTCOffset\r\n) as AVGUTCOffset, sign(max(convert(int, tz.IsDayLightSaving))) as IsDayLightSaving from @DBQueueCurrent cu join DialogState s on cu.UID_Parameter = s.UID_DialogState\r\n join DialogStateHasTimeZone sht on s.UID_DialogState = sht.UID_DialogState join DialogTimeZone tz on sht.UID_DialogTimeZone = tz.UID_DialogTimeZone and\r\n tz.UTCOffset is not null group by s.UID_DialogState ) as x on su.UID_DialogState = x.UID_DialogState where isnull(su.AVGUTCOffset, 0) <> x.AVGUTCOffSet\r\n or isnull(su.IsDayLightSaving, 0) <> x.IsDayLightSaving END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZStateUTCOffset2",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.56",
      "ModifyDate": "2026-04-14T23:20:29.233",
      "Definition": "    create   procedure QBM_ZStateUTCOffset2 (@SlotNumber int) as begin declare @GenProcID varchar(38) declare @XUser nvarchar(64) = object_name(@@procid\r\n) declare @Xdate datetime = getutcdate() BEGIN TRY  update DialogState set AVGUTCOffSet = isnull(c.AVGUTCOffset, 0) , IsDayLightSaving = isnull(c.IsDayLightSaving\r\n, 0) , XDateUpdated = @Xdate , XUserUpdated = @XUser from DialogState s join QBMDBQueueCurrent cu with (readpast) on s.UID_DialogState = cu.UID_Parameter\r\n and cu.SlotNumber = @SlotNumber join DialogCountry c on s.UID_DialogCountry = c.UID_DialogCountry left outer join DialogStateHasTimeZone sht on s.UID_DialogState\r\n = sht.UID_DialogState where sht.UID_DialogTimeZone is null and ( isnull(s.AVGUTCOffset,0) <> isnull(c.AVGUTCOffset,0) or isnull(s.IsDayLightSaving,0) \r\n<> isnull(c.IsDayLightSaving,0) ) END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZTableReload",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.043",
      "ModifyDate": "2026-04-14T23:20:29.85",
      "Definition": "       create   procedure QBM_ZTableReload (@SlotNumberDummy int , @TableName varchar(38) , @Dummy varchar(38) , @Genprocid varchar(38) ) as begin\r\n declare @ResetMessage nvarchar(4000) BEGIN TRY if @TableName in ('DialogTable' , 'DialogColumn' , 'QBMDBQueueTask' ) begin goto endLabel end BEGIN TRY\r\n exec QBM_PTableReload @TableName , @WithReplace = 0, @Genprocid = @Genprocid END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default select @ResetMessage\r\n = ERROR_MESSAGE() if @@TRANCOUNT > 0 begin rollback end  exec QBM_PDBQueueCurrentResetNGen @SlotNumberDummy , @ResetMessage , @@PROCID END CATCH END TRY\r\n BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZTableReplace",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.047",
      "ModifyDate": "2026-04-14T23:20:29.86",
      "Definition": "   create   procedure QBM_ZTableReplace (@SlotNumberDummy int , @TableName varchar(38) , @Dummy varchar(38) , @Genprocid varchar(38) ) as begin \r\nBEGIN TRY if @TableName <> 'QBMGuidReplace' begin exec QBM_PTableReload @TableName , @WithReplace = 1, @Genprocid = @Genprocid end END TRY BEGIN CATCH \r\nexec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZTableRevisionFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.363",
      "ModifyDate": "2026-04-14T23:20:30.253",
      "Definition": "   create   procedure QBM_ZTableRevisionFill ( @Slotnumber int , @TableName varchar(38) , @dummy1 varchar(38) , @GenProcID varchar(38) ) as begin\r\n declare @DebugSwitch int = 0 declare @DebugMessage nvarchar (1000) declare @DebugLevel char(1) = 'W' BEGIN TRY if 1=0 begin exec QBM_PTableRevisionFill\r\n end else begin declare @SQL33734 nvarchar(max) = 'exec QBM_PTableRevisionFill ' exec QBM_PJobCreate_Mnt @SQL33734, @GenProcID end END TRY BEGIN CATCH \r\nexec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZTableStatistics",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.483",
      "ModifyDate": "2026-04-14T23:20:29.143",
      "Definition": "create   procedure QBM_ZTableStatistics ( @Slotnumber int , @TableName varchar(38) , @dummy1 varchar(38) , @GenProcID varchar(38) ) as begin declare\r\n @DebugSwitch int = 0 declare @DebugMessage nvarchar (1000) declare @DebugLevel char(1) = 'W' SET XACT_ABORT OFF BEGIN TRY if @GenProcID is null or ISNULL\r\n(@TableName, '') not in (select t.TableName from DialogTable t with (readpast)) begin select @DebugMessage = CONCAT( OBJECT_NAME(@@procid) , ' empty values found '\r\n , ' GenProcID = ' , case when ISNULL(@GenProcID, '') = '' then ' <empty> ' else @GenProcID end , ' TableName = ' , case when ISNULL(@TableName, '') = \r\n'' then ' <empty> ' else @TableName end ) exec QBM_PJournal @DebugMessage, @@procid, 'D', @DebugLevel select @GenProcID = NEWID() end if 1=0 begin exec\r\n QBM_PTableStatistics @TableName, @GenProcID end else begin declare @SQL33734 nvarchar(max) = concat('exec QBM_PTableStatistics ''', @TableName, ''', '''\r\n, @GenProcID, '''' ) exec QBM_PJobCreate_Mnt @SQL33734, @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH\r\n NOWAIT END CATCH  ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZTaskForInactiveTrigger",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.21",
      "ModifyDate": "2026-04-14T23:20:30.063",
      "Definition": "      create   procedure QBM_ZTaskForInactiveTrigger (@SlotNumberDummy int , @Triggername varchar(38) , @Dummy2 varchar(38) , @GenProcID varchar\r\n(38) ) as begin declare @UID_Task varchar(38) declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int BEGIN TRY insert\r\n into @ElementBuffer (UID1) select distinct ta.UID_Task from sys.triggers tr join sys.sql_modules q on q.object_id = tr.object_id cross apply dbo.QBM_FCVStringToListSQLMorphem0\r\n(q.definition, 0, 0) mo join QBMDBQueueTask ta on '''' + ta.UID_Task + '''' = mo.Morphem and ta.QueryForRecalculate > ' ' where tr.name = @Triggername \r\nand mo.MorphemType = 'Literal' and mo.MorphemSubType = 'String' and ta.UID_Task > ' ' and tr.name != 'QBM_TUIndicator474488' select @ElementCount = @@ROWCOUNT\r\n select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @UID_Task = bu.UID1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex\r\n exec QBM_PDBQueueInsert_Single 'QBM-K-CommonRecalculate', @UID_Task, '', @GenProcID select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZTriggerWatchCreate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.583",
      "ModifyDate": "2026-04-14T23:20:29.267",
      "Definition": "   create   procedure QBM_ZTriggerWatchCreate (@SlotNumber int , @TableName varchar(38) , @Dummy varchar(38) , @GenProcID varchar(38) ) as begin\r\n   declare @TriggerName varchar(30) declare @ResetMessage nvarchar(4000) SET XACT_ABORT OFF BEGIN TRY        if not exists (select top 1 1 from QBM_VStartupTables\r\n where tablename = @Tablename) begin BEGIN TRY select @TriggerName = dbo.QBM_FGICodeName( 'T4', rtrim(@TableName ))  exec QBM_PTriggerWatchCreate @TableName\r\n , N'INSERT', @TriggerName select @TriggerName = dbo.QBM_FGICodeName( 'T5', rtrim(@TableName ))  exec QBM_PTriggerWatchCreate @TableName , N'UPDATE', @TriggerName\r\n select @TriggerName = dbo.QBM_FGICodeName( 'T6', rtrim(@TableName ))  exec QBM_PTriggerWatchCreate @TableName , N'DELETE', @TriggerName  exec QBM_PTableLockEscalationSet\r\n @TableName END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default select @ResetMessage = ERROR_MESSAGE() if @@TRANCOUNT > 0 begin rollback end  exec QBM_PDBQueueCurrentResetNGen\r\n @SlotNumber , @ResetMessage , @@PROCID END CATCH end else begin exec QBM_PDBQueueInsert_Single 'QBM-K-CommonMakeWatchtriggerS', @TableName, '', @GenProcID\r\n end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZTriggerWatchCreate_S",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.583",
      "ModifyDate": "2026-04-14T23:20:29.27",
      "Definition": "create   procedure QBM_ZTriggerWatchCreate_S (@SlotNumber int , @TableName varchar(38) , @Dummy varchar(38) , @GenProcID varchar(38) ) as begin \r\ndeclare @TriggerName varchar(30) declare @ResetMessage nvarchar(4000) SET XACT_ABORT OFF BEGIN TRY BEGIN TRY select @TriggerName = dbo.QBM_FGICodeName(\r\n 'T4', rtrim(@TableName )) exec QBM_PTriggerWatchCreate @TableName , N'INSERT', @TriggerName select @TriggerName = dbo.QBM_FGICodeName( 'T5', rtrim(@TableName\r\n )) exec QBM_PTriggerWatchCreate @TableName , N'UPDATE', @TriggerName select @TriggerName = dbo.QBM_FGICodeName( 'T6', rtrim(@TableName )) exec QBM_PTriggerWatchCreate\r\n @TableName , N'DELETE', @TriggerName  exec QBM_PTableLockEscalationSet @TableName END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default select @ResetMessage\r\n = ERROR_MESSAGE() if @@TRANCOUNT > 0 begin rollback end  exec QBM_PDBQueueCurrentResetNGen @SlotNumber , @ResetMessage , @@PROCID END CATCH END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZUpdateStatistics",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.327",
      "ModifyDate": "2026-04-14T23:20:30.203",
      "Definition": "  create   procedure QBM_ZUpdateStatistics (@SlotNumber int , @Dummy1 varchar(38) , @Dummy2 varchar(38) , @GenProcID varchar(38) )  with execute\r\n as 'dbo' AS begin declare @erg int BEGIN TRY if ISNULL(@GenProcID, '') = '' begin select @GenProcID = dbo.QBM_FGISessionContext('') end if 1=0 begin exec\r\n sp_updatestats end else begin declare @SQL33734 nvarchar(max) = concat('execute as user = ''dbo'';\r\n\t\t\t\t\t\t\t\t\t\t\texec sp_updatestats;\r\n\t\t\t\t\t\t\t\t\t\t\trevert;'\r\n , '' ) exec QBM_PJobCreate_Mnt @SQL33734, @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n ende: revert return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZViewBuildAll",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.1",
      "ModifyDate": "2026-04-14T23:20:29.93",
      "Definition": "   create   procedure QBM_ZViewBuildAll (@SlotNumber int) AS begin declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent\r\n(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent\r\n cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into\r\n @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select p.uid_parameter as uid, p.GenprocID from @DBQueueCurrent\r\n p join DialogTable t with (readpast) on p.UID_Parameter = t.UID_DialogTable where t.TableType = 'V' ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonRebuildViewV'\r\n, @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, x.GenProcID\r\n from ( select p.uid_parameter as uid, p.GenprocID from @DBQueueCurrent p join DialogTable t with (readpast) on p.UID_Parameter = t.UID_DialogTable where\r\n t.TableType = 'P' ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonRebuildViewP', @DBQueueElements_02 declare @DBQueueElements_03 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select p.uid_parameter as uid, p.GenprocID from @DBQueueCurrent\r\n p join DialogTable t with (readpast) on p.UID_Parameter = t.UID_DialogTable where t.TableType = 'U' ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonRebuildViewU'\r\n, @DBQueueElements_03 declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, x.GenProcID\r\n from ( select p.uid_parameter as uid, p.GenprocID from @DBQueueCurrent p join DialogTable t with (readpast) on p.UID_Parameter = t.UID_DialogTable where\r\n t.TableType = 'R' ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonRebuildViewR', @DBQueueElements_04 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZViewBuildP",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.067",
      "ModifyDate": "2026-04-14T23:20:29.89",
      "Definition": "   create   procedure QBM_ZViewBuildP (@SlotNumber int , @UID_DialogTable_Param varchar(38) , @dummy varchar(38) , @GenProcID varchar(38) ) AS begin\r\n declare @UID_DialogTable varchar(38) declare @tableGUID QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int BEGIN TRY insert into @tableGUID\r\n(UID1 ) select distinct x.UID_DialogTable from (           select t.UID_DialogTable, def.SortOrder from DialogTable t with (readpast) join QBMModuleDef\r\n def with (readpast) on LEFT(t.uid_dialogtable, 3) = def.ModuleName where t.UID_DialogTable = @UID_DialogTable_Param and t.TableType = 'P' union select\r\n @UID_DialogTable_Param, 1 from INFORMATION_SCHEMA.TABLES t with (readpast) where dbo.QBM_FGITableName(@UID_DialogTable_Param) = t.TABLE_NAME collate database_default\r\n and t.TABLE_TYPE = 'VIEW' ) as x order by x.UID_DialogTable select @ElementCount = @@rowcount select @ElementIndex = 1 while @ElementIndex <= @ElementCount\r\n begin select top 1 @uid_dialogTable = bu.UID1  from @tableGUID bu where bu.ElementIndex = @ElementIndex if dbo.QBM_FCVGUIDToModuleOwner(@uid_dialogTable\r\n) = 'CCC' begin exec QBM_PViewBuildP_intern @UID_DialogTable , @GenProcID , @AutoCorrectColumns = 1 end else begin exec QBM_PViewBuildP_intern @UID_DialogTable\r\n , @GenProcID end select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZViewBuildR",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.09",
      "ModifyDate": "2026-04-14T23:20:29.917",
      "Definition": "   create   procedure QBM_ZViewBuildR (@SlotNumber int , @UID_DialogTable_Param varchar(38) , @dummy varchar(38) , @GenProcID varchar(38) ) AS begin\r\n declare @UID_DialogTable varchar(38) declare @tableGUID QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int BEGIN TRY insert into @tableGUID\r\n( UID1 ) select distinct x.UID_DialogTable from (           select t.UID_DialogTable, def.SortOrder from DialogTable t with (readpast) join QBMModuleDef\r\n def with (readpast) on LEFT(t.uid_dialogtable, 3) = def.ModuleName where t.UID_DialogTable = @UID_DialogTable_Param and t.TableType = 'R' union select\r\n @UID_DialogTable_Param, 1 from INFORMATION_SCHEMA.TABLES t with (readpast) where dbo.QBM_FGITableName(@UID_DialogTable_Param) = t.TABLE_NAME collate database_default\r\n and t.TABLE_TYPE = 'VIEW' ) as x order by  x.UID_DialogTable select @ElementCount = @@rowcount select @ElementIndex = 1 while @ElementIndex <= @ElementCount\r\n begin select top 1 @uid_dialogTable = bu.UID1  from @tableGUID bu where bu.ElementIndex = @ElementIndex if dbo.QBM_FCVGUIDToModuleOwner(@uid_dialogTable\r\n) = 'CCC' begin exec QBM_PViewBuildR_intern @UID_DialogTable , @GenProcID , @AutoCorrectColumns = 1 end else begin exec QBM_PViewBuildR_intern @UID_DialogTable\r\n , @GenProcID end select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZViewBuildU",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.08",
      "ModifyDate": "2026-04-14T23:20:29.903",
      "Definition": "    create   procedure QBM_ZViewBuildU (@SlotNumber int , @UID_DialogTable_Param varchar(38) , @dummy varchar(38) , @GenProcID varchar(38) ) AS \r\nbegin declare @UID_DialogTable varchar(38) declare @tableGUID QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int BEGIN TRY insert into\r\n @tableGUID(UID1 ) select distinct x.UID_DialogTable from (           select t.UID_DialogTable, def.SortOrder from DialogTable t with (readpast) join QBMModuleDef\r\n def with (readpast) on LEFT(t.uid_dialogtable, 3) = def.ModuleName where t.UID_DialogTable = @UID_DialogTable_Param and t.TableType = 'U' union select\r\n @UID_DialogTable_Param, 1 from INFORMATION_SCHEMA.TABLES t with (readpast) where dbo.QBM_FGITableName(@UID_DialogTable_Param) = t.TABLE_NAME collate database_default\r\n and t.TABLE_TYPE = 'VIEW' ) as x order by  x.UID_DialogTable select @ElementCount = @@rowcount select @ElementIndex = 1 while @ElementIndex <= @ElementCount\r\n begin select top 1 @uid_dialogTable = bu.UID1  from @tableGUID bu where bu.ElementIndex = @ElementIndex if dbo.QBM_FCVGUIDToModuleOwner(@uid_dialogTable\r\n) = 'CCC' begin exec QBM_PViewBuildU_intern @UID_DialogTable , @GenProcID , @AutoCorrectColumns = 1 end else begin exec QBM_PViewBuildU_intern @UID_DialogTable\r\n , @GenProcID end select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZViewBuildV",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.057",
      "ModifyDate": "2026-04-14T23:20:29.873",
      "Definition": "   create   procedure QBM_ZViewBuildV (@SlotNumber int , @UID_DialogTable_Param varchar(38) , @dummy varchar(38) , @GenProcID varchar(38) ) AS begin\r\n declare @uid_dialogTable varchar(38) declare @tableGUID QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int BEGIN TRY insert into @tableGUID\r\n(UID1 ) select distinct x.UID_DialogTable from (           select t.UID_DialogTable, def.SortOrder from DialogTable t with (readpast) join QBMModuleDef\r\n def with (readpast) on LEFT(t.uid_dialogtable, 3) = def.ModuleName where t.UID_DialogTable = @UID_DialogTable_Param and t.TableType = 'V' union select\r\n @UID_DialogTable_Param, 1 from INFORMATION_SCHEMA.TABLES t with (readpast) where dbo.QBM_FGITableName(@UID_DialogTable_Param) = t.TABLE_NAME collate database_default\r\n and t.TABLE_TYPE = 'VIEW' ) as x order by  x.UID_DialogTable select @ElementCount = @@rowcount select @ElementIndex = 1 while @ElementIndex <= @ElementCount\r\n begin select top 1 @uid_dialogTable = bu.UID1  from @tableGUID bu where bu.ElementIndex = @ElementIndex if dbo.QBM_FCVGUIDToModuleOwner(@uid_dialogTable\r\n) = 'CCC' begin exec QBM_PViewBuildV_intern @uid_dialogTable , @GenProcID , @AutoCorrectColumns = 1 end else begin exec QBM_PViewBuildV_intern @uid_dialogTable\r\n , @GenProcID end select @ElementIndex += 1 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZWatchShrink",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.68",
      "ModifyDate": "2026-04-14T23:20:29.403",
      "Definition": "       create   procedure QBM_ZWatchShrink ( @SlotNumber int , @dummy1 varchar(38) = '', @dummy2 varchar(38)= '', @GenProcID varchar(38)= '' ) as\r\n begin declare @HexDigit int = 2 BEGIN TRY if ISNULL(@GenProcID, '') = '' begin select @GenProcID = dbo.QBM_FGISessionContext('') end if dbo.QBM_FGITableCountAll\r\n('DialogWatchOperation') > 600000 begin select @HexDigit = 3 end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01(Object, SubObject\r\n, GenProcID) select h.HexPattern, '' , @GenProcID from dbo.QBM_FTHexPattern(@HexDigit) h  exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonShrinkPropertyLog-Pat'\r\n, @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZWatchShrink_Pat",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:58.68",
      "ModifyDate": "2026-04-14T23:20:29.407",
      "Definition": " create   procedure QBM_ZWatchShrink_Pat ( @SlotNumber int , @KeyPattern varchar(38) , @dummy2 varchar(38) , @GenProcID varchar(38) ) as begin BEGIN\r\n TRY   exec QBM_PTransactionLevelCheck 0, @@procid  exec QBM_PWatchShrink @KeyPattern  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR \r\n('', 18, 1) WITH NOWAIT END CATCH return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZXDateSubItemUpdate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.117",
      "ModifyDate": "2026-04-14T23:20:29.95",
      "Definition": "  create   procedure QBM_ZXDateSubItemUpdate (@SlotNumber int) AS begin BEGIN TRY exec QBM_PXDateSubItemUpdate @Slotnumber, 0 END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH EndLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZXDateSubItemUpdateFU",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.12",
      "ModifyDate": "2026-04-14T23:20:29.96",
      "Definition": "  create   procedure QBM_ZXDateSubItemUpdateFU (@SlotNumber int) AS begin BEGIN TRY exec QBM_PXDateSubItemUpdate @Slotnumber, 1 END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH EndLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_ZXMarkedForDeletionPush",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:58:59.18",
      "ModifyDate": "2026-04-14T23:20:30.033",
      "Definition": "        create   procedure QBM_ZXMarkedForDeletionPush (@SlotNumber int ) AS begin declare @UID_DialogTable varchar(38) declare @ParentTableName\r\n varchar(30) declare @ChildTableName varchar(30) declare @ParentColumnName varchar(30) declare @ChildColumnName varchar(30) declare @GenProcID varchar(38\r\n) declare @MyXUser nvarchar(64) = object_name(@@procid) declare @cmd nvarchar(max) declare @PatternNeg varchar(64) declare @Pattern varchar(64) declare\r\n @DebugSwitch int = 0 declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser'\r\n) declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end select @PatternNeg = dbo.QBM_FCVBinaryToString\r\n( CONVERT(varbinary, dbo.QBM_FGIBitPatternXMarkedForDel('|Delay|OutStanding|', 1)), 0) select @Pattern = dbo.QBM_FCVBinaryToString( CONVERT(varbinary, \r\ndbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|', 0)), 0) if @DebugSwitch > 0 begin print @PatternNeg print @Pattern end insert into @ElementBuffer (\r\n UID1 , UID2  , Ident1  , Ident2  , Ident3  , ObjectKey1  ) select cu.UID_SubParameter  , MAX(cu.GenProcID) , dbo.QBM_FGITableName(cu.UID_SubParameter \r\n ) as ParentTableName , cpk.ColumnName as ParentColumnName , tc.TableName as ChildTableName , cci.ColumnName as ChildColumnName from @DBQueueCurrent cu\r\n join DialogColumn cpk with (readpast) on cu.UID_SubParameter  = cpk.UID_DialogTable and cpk.IsPKMember = 1  join DialogColumn ca with (readpast) on cu.UID_SubParameter\r\n  = ca.UID_DialogTable and ca.ColumnName = 'XDateSubItem'  join DialogColumn cx with (readpast) on cu.UID_SubParameter  = cx.UID_DialogTable and cx.ColumnName\r\n = 'XMarkedForDeletion' join QBMRelation r with (readpast) on cpk.UID_DialogColumn = r.UID_ParentColumn and r.IsForUpdateXDateSubItem = 1 join DialogColumn\r\n cci with (readpast) on r.UID_ChildColumn = cci.UID_DialogColumn join DialogTable tc with (readpast) on cci.UID_DialogTable = tc.UID_DialogTable  join \r\nDialogColumn ccx with (readpast) on tc.UID_DialogTable = ccx.UID_DialogTable and ccx.ColumnName = 'XMarkedForDeletion' group by cu.UID_SubParameter  , \r\ncpk.ColumnName, tc.TableName, cci.ColumnName select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select\r\n top 1 @UID_DialogTable = bu.UID1 , @GenProcID = bu.UID2  , @ParentTableName = bu.Ident1  , @ParentColumnName = bu.Ident2  , @ChildTableName = bu.Ident3\r\n  , @ChildColumnName = bu.ObjectKey1  from @ElementBuffer bu where bu.ElementIndex = @ElementIndex select @cmd = concat('\r\n\tupdat','e ' , @ChildTableName\r\n , '\r\n\t\tset XMarkedForDeletion = (z.XMarkedForDeletion )| (x.XMarkedForDeletion & ' , @Pattern , ') ' , case when dbo.QBM_FGIColumnExistsInSchema(@ChildTableName\r\n, 'XDateUpdated') = 1 then concat('' , '\t--34101\r\n\t\t\t\t\t\t\t\t, XDateUpdated = getutcdate()\r\n\t\t\t\t\t\t\t\t, XUserUpdated = ''', object_name(@@procid) , '''\r\n\t\t\t\t\t\t\t\t'\r\n) else '' end , ' from QBMDBQueueCurrent cu with (readpast) join ' , @ParentTableName , '  x on cu.UID_SubParameter = ''' , @UID_DialogTable , '''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tand cu.UID_Parameter = x.'\r\n , @ParentColumnName , '\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tand cu.SlotNumber = ' , str(@SlotNumber) , ' \r\n\t\t\t\t\t\t\t\tjoin ' , @ChildTableName , ' z on z.' , @ChildColumnName \r\n, ' = x.' , @ParentColumnName , '\r\n\t\twhere (z.XMarkedForDeletion & ' , @Pattern , ') \r\n\t\t\t<>  (x.XMarkedForDeletion & ' , @Pattern , ')\t\t\t\t\t\t\t\t\r\n\t\t' ) \r\nif @DebugSwitch > 0 begin print @cmd end exec QBM_PSessionContextSet 'GenProcID', @GenProcID exec QBM_PSessionContextSet 'XUser', @MyXUser exec QBM_PExecuteSQLWithRetry_LLP\r\n @SQLStatement = @cmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@procid , @HandleErrorSilent = 0 select @ElementIndex\r\n += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH EndLabel: exec QBM_PSessionContextSet 'GenProcID'\r\n, @GenProcID_R exec QBM_PSessionContextSet 'XUser', @XUser_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_P04F128DC257D2B3C236MAIL_",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:05.87",
      "ModifyDate": "2026-04-14T23:20:37.967",
      "Definition": " create   procedure QER_P04F128DC257D2B3C236MAIL_( @GenProcIDToUse varchar(38) , @PWOHelperPWO_New QER_YPWOHelper readonly , @PWOToCheck QER_YPWOBufferForHelper\r\n readonly , @DecisionLevelToUse int , @UID_PWO varchar(38) ) with execute as 'dbo' as begin declare @ObjectKeysToFire QBM_YParameterList declare @WhereclauseForMail\r\n nvarchar(max) declare @StartTemplateAt datetime = DATEADD(ss, 15, getutcdate()) exec QBM_PSessionContextSet 'GenProcID', @GenProcIDToUse  insert into \r\n@ObjectKeysToFire (Parameter1) select h.XObjectKey from @PWOHelperPWO_New n join PWOHelperPWO h with (readpast) on n.UID_PrimaryKey = h.uid_PWOHelperPWO\r\n and h.decision = '' join @PWOToCheck pwo on h.uid_personwantsorg = pwo.uid_personwantsorg and h.levelnumber = pwo.decisionlevel and pwo.GenProcid = @GenProcIDToUse\r\n and pwo.decisionlevel = @DecisionLevelToUse join QERWorkingStep s on h.UID_QERWorkingStep = s.UID_QERWorkingStep and (  s.UID_DialogRichMailInsert > ' '\r\n or dbo.QBM_FGIConfigparmValue('QER\\Person\\Starling\\UseApprovalAnywhere') > ' ' ) join pwodecisionrule r on s.UID_PWODecisionRule = r.UID_PWODecisionRule\r\n and r.UID_Task is null join person p on h.uid_personhead = p.uid_person and p.defaultemailaddress > ' ' where n.istoinsert = 1  and h.RulerLevel < 2 and\r\n pwo.UID_PersonWantsOrg = @UID_PWO union  select h.XObjectKey from PWOHelperPWO h with (readpast) join @PWOToCheck pwo on h.uid_personwantsorg = pwo.uid_personwantsorg\r\n and h.levelnumber = pwo.decisionlevel and pwo.GenProcid = @GenProcIDToUse and pwo.decisionlevel = @DecisionLevelToUse and h.levelnumber = pwo.decisionlevel\r\n and h.decision = '' join QERWorkingStep s on h.UID_QERWorkingStep = s.UID_QERWorkingStep and (  s.UID_DialogRichMailInsert > ' ' or dbo.QBM_FGIConfigparmValue\r\n('QER\\Person\\Starling\\UseApprovalAnywhere') > ' ' ) join pwodecisionrule r on s.UID_PWODecisionRule = r.UID_PWODecisionRule and r.UID_Task is null join\r\n person p on h.uid_personhead = p.uid_person and p.defaultemailaddress > ' ' where pwo.isNewDecisionLevel = 1  and h.RulerLevel < 2 and pwo.UID_PersonWantsOrg\r\n = @UID_PWO  select @WhereclauseForMail = concat('exists(select top 1 1 \r\n\t\t\t\t\t\t\t\t\t\t\t\t\tfrom personwantsorg pwo \r\n\t\t\t\t\t\t\t\t\t\t\t\t\twhere pwo.uid_personwantsorg  = '''\r\n , @UID_PWO , ''' \r\n\t\t\t\t\t\t\t\t\t\t\t\t\tand pwo.decisionlevel = ' , str(@DecisionLevelToUse) , ' \r\n\t\t\t\t\t\t\t\t\t\t\t\t\tand pwo.OrderState in (''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'')\r\n\t\t\t\t\t\t\t\t\t\t\t\t)'\r\n ) exec QBM_PJobCreate_HOFireEvent_L 'PWOHelperPWO', @ObjectKeysToFire, 'DecisionRequired', @GenProcIDToUse , @priority = 10  , @CheckForExisting = 1  \r\n, @StartAt = @StartTemplateAt , @whereclauseAdditional = @WhereclauseForMail , @AdditionalObjectKeysAffected = DEFAULT end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_P30907EB9FB8232867B_func",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:05.847",
      "ModifyDate": "2026-04-14T23:20:37.933",
      "Definition": " create   procedure QER_P30907EB9FB8232867B_func  ( @Statements QBM_YCursorbuffer readonly , @UsageArea char(1) , @FunctionName varchar(30) , @UID_PWODecisionRule\r\n varchar(38) , @Komplett nvarchar(max) output  ) as begin declare @OpenParenthesis nvarchar(max) declare @CountReferencedTables int = 0 declare @LimitOfTableReferences\r\n int = 800 declare @MakeInlineFunction bit = 1 declare @Muster nvarchar(max) declare @Body nvarchar(max) = N'' declare @DebugSwitch int = 0 declare @DebugLevel\r\n char(1) = 'W' declare @MyTempElementName varchar(30) = left(concat('TST_FTemporaryElement', reverse(dbo.QBM_FGICodeName('V', NEWID()) )), 30) select @OpenParenthesis\r\n = concat('create function dbo.',@MyTempElementName,'  (' , case @UsageArea when 'I' then '@uid_PersonWantsOrg varchar(38)' Else '@uid_AttestationCase varchar(38)'\r\n end , '\t, @UID_QERWorkingStep varchar(38) )\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturns table \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tas\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'\r\n ) exec @CountReferencedTables = QBM_PGICountTablesUsedByCode @Statements , @CodeName = @MyTempElementName , @CodeType = 'function' , @OpenParenthesis \r\n= @OpenParenthesis , @CloseParenthesis = '\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t' if @CountReferencedTables > @LimitOfTableReferences begin select\r\n @MakeInlineFunction = 0 end   exec QBM_PFunctionDrop @MyTempElementName if @MakeInlineFunction = 1 begin select @Muster = 'create function dbo.%FunctionName% (\r\n\t\t\t\t\t\t\t\t%parameters%\r\n\t\t\t\t\t\t\t)\r\n\t\treturns table\r\n\t-- definition for rule \t%UID_PWODecisionRule%\t\t\t\t\t\r\n\tas\r\n\treturn \r\n\t(\r\n\t\tselect z.UID_Person as UID_Person\r\n\t\t\t%ReturnPWOOrigin%\r\n\t\t\t, convert(varchar(128), ''decision rule %UID_PWODecisionRule%'')  as SourceInfo\r\n\t\tfrom (\r\n\r\n\t%body%\r\n\r\n\t\t\t) as y join Person z on y.UID_Person = z.UID_Person \r\n\t\t\t\t\t\t\t\tand z.IsInActive = 0\t\r\n\t\tgroup by z.UID_Person\t\t\t\t\t\r\n\t)\r\n\t'\r\n end else begin select @Muster = 'create function dbo.%FunctionName% (\r\n\t\t\t\t\t\t\t\t%parameters%\r\n\t\t\t\t\t\t\t)\r\n\treturns @erg table ( UID_Person varchar(38) collate database_default\r\n\t\t\t\t\t,  UID_PWORulerOrigin varchar(38) collate database_default\r\n\t\t\t\t\t, SourceInfo varchar(128) collate database_default\r\n\t\t\t\t\t)\r\n\t-- definition for rule \t%UID_PWODecisionRule%\t\t\t\t\t\r\n\tas\r\n\tbegin\r\n\t\tdeclare @Puffer QBM_YParameterList\r\n\r\n\t%body%\r\n\r\n\tinsert into @erg(UID_Person, UID_PWORulerOrigin, SourceInfo)\r\n\tselect z.UID_Person as UID_Person\r\n\t\t,  max(convert(varchar(38), y.UID_PWORulerOrigin)) as UID_PWORulerOrigin\r\n\t\t, convert(varchar(128), ''decision rule %UID_PWODecisionRule%'')  as SourceInfo\r\n\tfrom (\r\n\t\t\tselect p.Parameter1 as UID_Person, p.Parameter2 as UID_PWORulerOrigin\r\n\t\t\t\tfrom @Puffer p\r\n\t\t\t\t\t\r\n\t\t) as y  join Person z on y.UID_Person = z.UID_Person \r\n\t\t\t\t\t\t\tand z.IsInActive = 0\t\r\n\t\tgroup by z.UID_Person\t\t\t\t\t\r\n\r\n\t return\r\n\tend\r\n\r\n\t'\r\n end if @MakeInlineFunction = 1 begin select @Body = string_agg(concat( 'select x.UID_Person, x.UID_PWORulerOrigin' , '\r\n\tfrom (\r\n\t\t -- code from PWODecisionRuleRulerDetect: '\r\n , d.UID1  , '\r\n\t' , dbo.QBM_FCVStringToIndent(d.ContentFull , 3) , '\r\n\t\t -- / code from PWODecisionRuleRulerDetect\r\n\t\t) as x\t\r\n\t\t' )  ,  '\r\n\tunion all\r\n'\r\n )  from @Statements  d  end else begin select @Body = string_agg(concat( 'insert into @Puffer(Parameter1, Parameter2)\r\n\t\t -- code from PWODecisionRuleRulerDetect: '\r\n , d.UID1  , '\r\n\t' , dbo.QBM_FCVStringToIndent(d.ContentFull , 3) , '\r\n\t\t -- / code from PWODecisionRuleRulerDetect\r\n\t\t' )  ,  '\r\n' )  from @Statements\r\n  d end  if @DebugSwitch > 0 begin print '#####################' select @Body print '#####################' end if isnull(@Body, '') = '' begin select \r\n@Muster = 'create function dbo.%FunctionName% (\r\n\t\t\t\t\t\t\t%parameters%\r\n\t\t\t\t\t\t)\r\n\treturns table\r\n-- definition for rule \t%UID_PWODecisionRule%\t\t\t\t\t\r\nas\r\nreturn \r\n(\r\n\tselect convert(varchar(38), null) as UID_Person, convert(varchar(38), null) as UID_PWORulerOrigin\r\n\t\t, convert(varchar(128), ''decision rule %UID_PWODecisionRule%'')  as SourceInfo\r\n\r\n)\r\n'\r\n end  select @Komplett = replace(replace(replace(replace(REPLACE(@Muster , '%FunctionName%', @FunctionName) , '%parameters%', case @UsageArea when 'I' \r\nthen '@uid_PersonWantsOrg varchar(38)' Else '@uid_AttestationCase varchar(38)' end + '\t, @UID_QERWorkingStep varchar(38)') , '%ReturnPWOOrigin%', ',  max(convert(varchar(38), y.UID_PWORulerOrigin)) as UID_PWORulerOrigin'\r\n)     , '%Body%', dbo.qbm_fcvstringtoindent( @Body, 3)) , '%UID_PWODecisionRule%', @UID_PWODecisionRule) if @DebugSwitch > 0 begin print @komplett end \r\nend \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_P30907EB9FB8232867B_proc",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:05.85",
      "ModifyDate": "2026-04-14T23:20:37.94",
      "Definition": "  create   procedure QER_P30907EB9FB8232867B_proc  ( @Statements QBM_YCursorbuffer readonly , @UsageArea char(1) , @ProcedureName varchar(30) , \r\n@UID_PWODecisionRule varchar(38) , @Komplett nvarchar(max) output  ) as begin declare @Muster nvarchar(max) declare @Body nvarchar(max) = N'' declare @DebugSwitch\r\n int = 0 declare @DebugLevel char(1) = 'W' select @Muster = 'create or alter procedure %ProcedureName% (\r\n\t\t\t\t\t\t\t\t%parameters%\r\n\t\t\t\t\t\t\t)\r\n as\r\nbegin\r\ndeclare @erg table(UID_Person varchar(38) collate database_default\r\n\t\t\t\t\t, UID_PWORulerOrigin varchar(38) collate database_default\r\n\t\t\t\t)\r\nSET XACT_ABORT OFF\r\n\r\nBEGIN TRY\r\n\r\n-- definition for rule \t%UID_PWODecisionRule%\t\t\t\t\t\r\ndrop table if Exists #Ruler\r\ncreate table #Ruler(UID_Person varchar(38) collate database_default\r\n\t\t\t\t, UID_PWORulerOrigin varchar(38) collate database_default\r\n\t\t\t\t\t)\r\n\r\n%body%\r\n\r\n-- ende mit Rückgabe in temp-Tabelle\r\n\tinsert into #Ruler_Main(UID_Person, UID_PWORulerOrigin)\r\n\tselect z.UID_Person as UID_Person\r\n\t\t,  max(convert(varchar(38), y.UID_PWORulerOrigin)) as UID_PWORulerOrigin\r\n\t\t--, convert(varchar(128), ''decision rule %UID_PWODecisionRule%'')  as SourceInfo\r\n\tfrom (\r\n\t\t\tselect x.UID_Person, x.UID_PWORulerOrigin\r\n\t\t\tfrom @erg x\r\n\t\t) as y join Person z on y.UID_Person = z.UID_Person \r\n\t\t\t\t\t\t\tand z.IsInActive = 0\t\r\n\tgroup by z.UID_Person\t\t\t\t\t\r\n\t\r\nEND TRY\r\nBEGIN CATCH\r\n\r\n\texec QBM_PSessionErrorAdd default \t,N''decision rule %UID_PWODecisionRule%''\r\n\t\r\n\tRAISERROR ('''', 18, 1)  WITH NOWAIT\r\n\r\nEND CATCH\r\n\t                                \t        \t\r\nendLabel:\r\n\t\r\nend\r\n\r\n'\r\n select @Body = string_agg(concat( '\t--insert into @erg (UID_Person, UID_PWORulerOrigin)\r\n', case when left(ltrim(d.ContentFull), 4) = 'Exec' then concat\r\n('\t-- code from PWODecisionRuleRulerDetect: ' , d.UID1 , nchar(13) , nchar(10) ,dbo.QBM_FCVStringToIndent(d.ContentFull , 1) , nchar(13) , nchar(10) , \r\n'insert into @erg(UID_Person,UID_PWORulerOrigin)\r\n\t\t\t\t\t\tselect UID_Person,UID_PWORulerOrigin\r\n\t\t\t\t\t\t\tfrom #ruler\r\n\t\t\t\t\t\t-- / code from PWODecisionRuleRulerDetect'\r\n , nchar(13) , nchar(10) ) else concat( '\tinsert into @erg(UID_Person,UID_PWORulerOrigin)\r\n\t\t\t\t\tselect x.UID_Person, x.UID_PWORulerOrigin\r\n\t\tfrom (\r\n\t-- code from PWODecisionRuleRulerDetect: '\r\n , d.UID1, nchar(13) , nchar(10) , dbo.QBM_FCVStringToIndent(d.ContentFull , 1) , '\r\n\t\t\t\t\t\t\r\n\t-- / code from PWODecisionRuleRulerDetect\r\n\t\t\t) as x ', nchar\r\n(13) , nchar(10) ) end )  , nchar(13) + nchar(10) )  from @Statements  d if @DebugSwitch > 0 begin print '#####################' select @Body print '#####################'\r\n end  select @Komplett = replace(replace(replace(REPLACE(@Muster , '%ProcedureName%', @ProcedureName) , '%parameters%', case @UsageArea when 'I' then '@uid_PersonWantsOrg varchar(38)'\r\n Else '@uid_AttestationCase varchar(38)' end + '\t, @UID_QERWorkingStep varchar(38)') , '%Body%', dbo.qbm_fcvstringtoindent( @Body, 1)) , '%UID_PWODecisionRule%'\r\n, @UID_PWODecisionRule)  end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_P98F5E10C6A9349A1EBFB2C2_",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.05",
      "ModifyDate": "2026-04-14T23:20:38.213",
      "Definition": "     create   procedure QER_P98F5E10C6A9349A1EBFB2C2_(@UsageArea varchar(1) ) as begin declare @weiter int declare @ObjectKeyToDelete QBM_YParameterList\r\n  SET XACT_ABORT OFF BEGIN TRY insert into @ObjectKeyToDelete(Parameter2) select top 500 m.ObjectKey from QERBufferRecalcDecisionMaker m with (readpast\r\n) where m.UsageArea = @UsageArea and m.ProcessState = 2 select @weiter = @@ROWCOUNT if @weiter = 0 begin goto endlabel end BEGIN TRY delete QERBufferRecalcDecisionMaker\r\n from QERBufferRecalcDecisionMaker m with (ForceSeek) join @ObjectKeyToDelete d on m.ObjectKey = d.Parameter2 where m.UsageArea = @UsageArea and m.ProcessState\r\n = 2 END TRY BEGIN CATCH  exec QBM_PWaitForSeconds 0.5 END CATCH END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT\r\n END CATCH endLabel: set lock_timeout -1 return (@weiter) end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PAfterMigrationTasks",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.653",
      "ModifyDate": "2026-04-14T23:20:40.5",
      "Definition": " create   procedure QER_PAfterMigrationTasks (@GenProcID varchar(38) ) as begin declare @MyModule varchar(3) = 'QER' declare @XUser nvarchar(64)\r\n = object_name(@@procid) declare @Xdate datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.UID_Element, null, @GenProcID from ( select y.UID_OrgRoot as UID_Element from OrgRoot y where y.UID_OrgRoot like\r\n '___-%'     ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgROOT', @DBQueueElements_01  declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.UID_Element, null, @GenProcID from ( select y.UID_Org as UID_Element from BaseTree y where y.XUserUpdated like\r\n 'QBM_PBufferT_Process%' and y.UID_Org like '___-%'  and y.XDateUpdated > GETUTCDATE() -1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgTreeLEVEL', @DBQueueElements_02\r\n exec QBM_PDBQueueInsert_Bulk 'QER-K-BaseTreeCollectionF', @DBQueueElements_02  declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03\r\n (object, subobject, genprocid) select x.UID_Element, null, @GenProcID from ( select y.UID_Org as UID_Element from BaseTree y where y.ITShopInfo = 'BO'\r\n and y.XUserUpdated like 'QBM_PBufferT_Process%' and y.UID_Org like '___-%'  and y.XDateUpdated > GETUTCDATE() -1 union  select hm.UID_Org from BaseTreeHasPWODecisionMethod\r\n hm where hm.UID_Org like '___-%' and hm.XUserUpdated like 'QBM_PBufferT_Process%' and hm.XDateUpdated > GETUTCDATE() -1 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-ShoppingRackMethod', @DBQueueElements_03  declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04 (object, subobject, genprocid\r\n) select x.UID_Element, null, @GenProcID from ( select y.UID_Org as UID_Element from BaseTree y where y.ITShopInfo = 'PR' and y.XUserUpdated like 'QBM_PBufferT_Process%'\r\n and y.UID_Org like '___-%'  and y.XDateUpdated > GETUTCDATE() -1 union  select y.UID_Org as UID_Element from BaseTree y join AccProduct p on y.UID_AccProduct\r\n = p.UID_AccProduct where y.ITShopInfo = 'PR' and y.UID_Org like '___-%'  and p.XUserUpdated like 'QBM_PBufferT_Process%' and p.XDateUpdated > GETUTCDATE\r\n() -1 union select y.UID_Org as UID_Element from BaseTree y where y.ITShopInfo = 'PR' and ( exists (select top 1 1 from accproduct a join accproductgroup\r\n ch on a.UID_AccProductGroup = ch.UID_AccProductGroup join AccProductGroupCollection coll on ch.UID_AccProductGroup = coll.UID_AccProductGroupChild join\r\n AccProductgroup pa on pa.UID_AccProductGroup = coll.UID_AccProductGroupParent where a.UID_AccProduct = y.UID_AccProduct and pa.XUserUpdated like 'QBM_PBufferT_Process%'\r\n and pa.XDateUpdated > GETUTCDATE() -1 ) or exists (select top 1 1 from accproduct a join accproductgroup pa on a.UID_AccProductGroup = pa.UID_AccProductGroup\r\n join AccProductGroupCollection coll on pa.UID_AccProductGroup = coll.UID_AccProductGroupParent join AccProductgroup ch on ch.UID_AccProductGroup = coll.UID_AccProductGroupChild\r\n where a.UID_AccProduct = y.UID_AccProduct and ch.XUserUpdated like 'QBM_PBufferT_Process%' and ch.XDateUpdated > GETUTCDATE() -1 ) ) ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-ShoppingRackProductNode', @DBQueueElements_04  declare @DBQueueElements_05 QBM_YDBQueueRaw insert into @DBQueueElements_05 (object, subobject, \r\ngenprocid) select x.uid, x.subobject, @GenProcID from ( select y.UID_Org as uid , 'QER-K-AllForOneOrg' as subobject from BaseTree y where y.UID_Org like\r\n '___-%'  and y.XUserUpdated like 'QBM_PBufferT_Process%' and y.XDateUpdated > GETUTCDATE() -1 union select y.UID_Org as uid , 'QER-K-AllForOneOrg' as \r\nsubobject from BaseTreeHasESet y where y.UID_Org like '___-%'  and y.XUserUpdated like 'QBM_PBufferT_Process%' and y.XDateUpdated > GETUTCDATE() -1 ) as\r\n x exec QBM_PDBQueueInsert_Bulk 'QER-K-AllChildrenOfOrg', @DBQueueElements_05   update PWODecisionSubMethod set RevisionNumber = isnull(s.RevisionNumber\r\n, 0) + 1  , XDateUpdated = @Xdate , XUserUpdated = @XUser from PWODecisionSubMethod s where dbo.QBM_FCVGUIDToModuleOwner(s.UID_PWODecisionSubMethod) !=\r\n 'CCC'  declare @DBQueueElements_06 QBM_YDBQueueRaw insert into @DBQueueElements_06 (object, subobject, genprocid) select x.uid, null, @GenProcID from \r\n( select y.UID_AccProductGroup as uid from AccProductGroup y where y.UID_AccProductGroup like '___-%'  and y.XUserUpdated like 'QBM_PBufferT_Process%' \r\nand y.XDateUpdated > GETUTCDATE() -1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AccProductGroupCollection', @DBQueueElements_06  if not exists (select \r\ntop 1 1 from AccProductGroupCollection ) begin exec QBM_PDBQueueInsert_Single 'QBM-k-CommonRecalculate', 'QER-K-AccProductGroupCollection', '', @GenProcID\r\n end  if exists (select top 1 1 from QBMModuleDef d where d.ModuleName = @MyModule and d.CheckSumForDelta = 0 ) begin  declare @DBQueueElements_07 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_07 (object, subobject, genprocid) select x.UID_Element, null, @GenProcID from ( select y.UID_Org as UID_Element from BaseTree\r\n y where y.XUserUpdated like 'QBM_PBufferT_Process%' and y.UID_Org like '___-%'  and y.XDateUpdated > GETUTCDATE() -1 union select y.UID_Org as UID_Element\r\n from BaseTreeHasESet y where y.XUserUpdated like 'QBM_PBufferT_Process%' and y.UID_Org like '___-%'  and y.XDateUpdated > GETUTCDATE() -1  union select\r\n y.UID_Org as UID_Element from BaseTreeHasQERAssign y where y.XUserUpdated like 'QBM_PBufferT_Process%' and y.UID_Org like '___-%' and y.XDateUpdated >\r\n GETUTCDATE() -1 union select y.UID_Org as UID_Element from BaseTreeHasQERResource y where y.XUserUpdated like 'QBM_PBufferT_Process%' and y.UID_Org like\r\n '___-%' and y.XDateUpdated > GETUTCDATE() -1 union select y.UID_Org as UID_Element from BaseTreeHasQERReuse y where y.XUserUpdated like 'QBM_PBufferT_Process%'\r\n and y.UID_Org like '___-%' and y.XDateUpdated > GETUTCDATE() -1 union select y.UID_Org as UID_Element from BaseTreeHasQERReuseUS y where y.XUserUpdated\r\n like 'QBM_PBufferT_Process%' and y.UID_Org like '___-%' and y.XDateUpdated > GETUTCDATE() -1  ) as x  exec QBM_PDBQueueInsert_Bulk 'QER-K-BaseTreeHasObject'\r\n, @DBQueueElements_07 end else begin   if dbo.QBM_FGIDBOwner() not in ( @MyModule ) begin  exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate', 'QER-K-BaseTreeHasObject'\r\n, '', @GenProcID exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate', 'QER-K-PersonHasObject', '', @GenProcID end  end exec QBM_PDBQueueInsert_Single\r\n 'QER-K-DynamicGroupMakeTrigger', '', '', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PAssignmentCheckValid",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:04.773",
      "ModifyDate": "2026-04-14T23:20:36.55",
      "Definition": "   create   procedure QER_PAssignmentCheckValid (@UID_BaseTreeAssign varchar(38)  , @Parameters QBM_YparameterList readonly , @GenProcID varchar\r\n(38) ) as begin declare @QBM_BitPatternXOrigin_Direct int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0)  SET XACT_ABORT OFF BEGIN TRY if dbo.QBM_FGISessionContext\r\n ('Transport') = '' begin  if exists ( select top 1 1 from @Parameters i join BaseTree b on i.Parameter1 = b.UID_Org left outer join OrgRootAssign r on\r\n b.uid_orgroot = r.uid_orgroot and r.UID_BaseTreeAssign = @UID_BaseTreeAssign where isnull(r.IsAssignmentAllowed, 0) = 0 or (isnull(r.IsDirectAssignmentAllowed\r\n, 0) = 0 and convert(int, i.Parameter2) & @QBM_BitPatternXOrigin_Direct > 0 ) ) begin  set XACT_ABORT ON  raiserror( '#LDS#Cannot make assignment because not permitted according to OrgRootAssign information.|'\r\n, 18, 1) with nowait end end    END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow()\r\n RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PBasetreeHasObjectPostProc",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.863",
      "ModifyDate": "2026-04-14T23:20:39.437",
      "Definition": "   create   procedure QER_PBasetreeHasObjectPostProc ( @CountDeltaOrigin int , @CountDeltaQantity int ) as begin declare @ElementCount int declare\r\n @ElementIndex int declare @ElementLast int declare @GenProcID varchar(38) declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') SET XACT_ABORT\r\n OFF BEGIN TRY if @CountDeltaOrigin > 0 begin declare @GenProcIDs_CountDeltaOrigin QBM_YCursorBuffer insert into @GenProcIDs_CountDeltaOrigin (UID1) select\r\n distinct de.GenProcID from #QBMDeltaOrigin de select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast\r\n = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @GenProcID = bu.UID1 from @GenProcIDs_CountDeltaOrigin bu where bu.ElementIndex = \r\n@ElementIndex exec QBM_PSessionContextSet 'GenProcID', @GenProcID update BaseTreeHasObject set InheritInfo = di.XOrigin from BaseTreeHasObject bho join\r\n #QBMDeltaOrigin di on bho.uid_Org = di.Element and bho.Objectkey = di.AssignedElement where di.GenProcID = @GenProcID select @ElementIndex += 1 end  end\r\n  if @CountDeltaQantity > 0 begin  update #QBMDeltaInsert  set NewPK = dbo.QBM_FCVStringToGUIDMAll(null, Element, AssignedElement)  declare @GenProcIDs_CountDeltaQuantity\r\n QBM_YCursorBuffer insert into @GenProcIDs_CountDeltaQuantity (UID1) select de.GenProcID from #QBMDeltaDelete de union select de.GenProcID from #QBMDeltaInsert\r\n de select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast\r\n begin select top 1 @GenProcID = bu.UID1 from @GenProcIDs_CountDeltaQuantity bu where bu.ElementIndex = @ElementIndex if exists (select top 1 1 from #QBMDeltaDelete\r\n x where x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID delete from BaseTreeHasObject where exists (select top 1 \r\n1 from #QBMDeltaDelete where Element = BaseTreeHasObject.uid_Org and AssignedElement = BaseTreeHasObject.ObjectKey and GenProcID = @GenProcID ) end  if\r\n exists (select top 1 1 from #QBMDeltaInsert x where x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID  insert into \r\nBaseTreeHasObject (UID_BaseTreeHasObject, UID_Org ,ObjectKey , XObjectKey, InheritInfo) select di.NewPK, di.Element, di.AssignedElement, dbo.QBM_FCVElementToObjectKey1\r\n('BaseTreeHasObject', 'UID_BaseTreeHasObject', di.NewPK), XOrigin from #QBMDeltaInsert di where di.GenProcID = @GenProcID  and not exists (select top 1\r\n 1 from BasetreeHasObject where UID_BaseTreeHasObject = di.NewPK) end  select @ElementIndex += 1 end  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PBasetreeOwnsObjectPost",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.88",
      "ModifyDate": "2026-04-14T23:20:39.46",
      "Definition": " create   procedure QER_PBasetreeOwnsObjectPost ( @CountDeltaOrigin int , @CountDeltaQantity int , @SlotNumber int ) as begin declare @DBQueueCurrent\r\n QBM_YDBQueueCurrent insert into @DBQueueCurrent(GenProcID, UID_DialogDBQueue, UID_Parameter, UID_SubParameter) select GenProcID, UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber exec QER_PBasetreeOwnsObjectPost_L @CountDeltaOrigin, @CountDeltaQantity\r\n, @DBQueueCurrent end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PBasetreeOwnsObjectPost_L",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.877",
      "ModifyDate": "2026-04-14T23:20:39.457",
      "Definition": "  create   procedure QER_PBasetreeOwnsObjectPost_L ( @CountDeltaOrigin int , @CountDeltaQantity int , @DBQueueCurrent QBM_YDBQueueCurrent readonly\r\n ) as begin declare @ElementCount int declare @ElementIndex int declare @ElementLast int declare @GenProcID varchar(38) declare @GenProcID_R varchar(38\r\n) = dbo.QBM_FGISessionContext('') declare @GenProcIDErsatz varchar(38) SET XACT_ABORT OFF BEGIN TRY select @GenProcIDErsatz = newid() if @CountDeltaOrigin\r\n > 0 begin  update #QBMDeltaOrigin set GenProcID = c.GenProcID from #QBMDeltaOrigin d join @DBQueueCurrent c on dbo.QBM_FCVObjectkeyToElement('ColumnValue1'\r\n, d.AssignedElement) = c.UID_Parameter  update #QBMDeltaOrigin set GenProcID = @GenProcIDErsatz where GenProcID is null declare @GenProcIDs_CountDeltaOrigin\r\n QBM_YCursorBuffer insert into @GenProcIDs_CountDeltaOrigin (UID1) select distinct de.GenProcID from #QBMDeltaOrigin de select @ElementCount = @@ROWCOUNT\r\n select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @GenProcID\r\n = bu.UID1 from @GenProcIDs_CountDeltaOrigin bu where bu.ElementIndex = @ElementIndex exec QBM_PSessionContextSet 'GenProcID', @GenProcID update BaseTreeOwnsObject\r\n set OwnershipInfo = di.XOrigin from BaseTreeOwnsObject bho join #QBMDeltaOrigin di on bho.uid_Org = di.Element and bho.Objectkey = di.AssignedElement \r\nwhere di.GenProcID = @GenProcID select @ElementIndex += 1 end  end  if @CountDeltaQantity > 0 begin update #QBMDeltaInsert set NewPK = dbo.QBM_FCVStringToGUIDMAll\r\n(null, Element, AssignedElement)   update #QBMDeltaInsert set GenProcID = c.GenProcID from #QBMDeltaInsert d join @DBQueueCurrent c on dbo.QBM_FCVObjectkeyToElement\r\n('ColumnValue1', d.AssignedElement) = c.UID_Parameter update #QBMDeltaDelete set GenProcID = c.GenProcID from #QBMDeltaDelete d join @DBQueueCurrent c \r\non dbo.QBM_FCVObjectkeyToElement('ColumnValue1', d.AssignedElement) = c.UID_Parameter  update #QBMDeltaInsert set GenProcID = @GenProcIDErsatz where GenProcID\r\n is null update #QBMDeltaDelete set GenProcID = @GenProcIDErsatz where GenProcID is null declare @GenProcIDs_CountDeltaQunatity QBM_YCursorBuffer insert\r\n into @GenProcIDs_CountDeltaQunatity (UID1) select de.GenProcID from #QBMDeltaDelete de union select de.GenProcID from #QBMDeltaInsert de select @ElementCount\r\n = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top\r\n 1 @GenProcID = bu.UID1 from @GenProcIDs_CountDeltaQunatity bu where bu.ElementIndex = @ElementIndex if exists (select top 1 1 from #QBMDeltaDelete x where\r\n x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID delete from BaseTreeOwnsObject where exists (select top 1 1 from \r\n#QBMDeltaDelete where Element = BaseTreeOwnsObject.uid_Org and AssignedElement = BaseTreeOwnsObject.ObjectKey and GenProcID = @GenProcID ) end  if exists\r\n (select top 1 1 from #QBMDeltaInsert x where x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID  insert into BaseTreeOwnsObject\r\n (UID_BaseTreeOwnsObject, UID_Org ,ObjectKey , XObjectKey, OwnerShipInfo) select di.NewPK, di.Element, di.AssignedElement, dbo.QBM_FCVElementToObjectKey1\r\n('BaseTreeOwnsObject', 'UID_BaseTreeOwnsObject', di.NewPK), XOrigin from #QBMDeltaInsert di where di.GenProcID = @GenProcID end  select @ElementIndex +=\r\n 1 end  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow\r\n, 18, 1) WITH NOWAIT END CATCH ende: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PDefaultHardwaretypeAssign",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:27.227",
      "ModifyDate": "2026-04-14T23:20:36.183",
      "Definition": "  create   procedure QER_PDefaultHardwaretypeAssign as begin declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate\r\n() SET XACT_ABORT OFF BEGIN TRY update Hardware set uid_Hardwaretype = 'QER-B5BC91B95707471ABB9EBC00898C82ED'   , XDateUpdated = @Xdate , XUserUpdated \r\n= @XUser where isserver=1 and ispc= 0 and isnull(uid_Hardwaretype,'') = '' update Hardware set uid_Hardwaretype = 'QER-F098E96A4CA84FBBAFD7151436C4DD93'\r\n   , XDateUpdated = @Xdate , XUserUpdated = @XUser where isPC=1 and isserver = 0 and isnull(uid_Hardwaretype,'') = '' update Hardware set uid_Hardwaretype\r\n = 'QER-8A0F010A2BA54031A2320E078A6D8E26'   , XDateUpdated = @Xdate , XUserUpdated = @XUser where isPC=0 and isserver=0 and isnull(uid_Hardwaretype,'')\r\n = '' END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, \r\n1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PDynamicGroupMakeProc_Drop",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.993",
      "ModifyDate": "2026-04-14T23:20:39.623",
      "Definition": "          create   procedure QER_PDynamicGroupMakeProc_Drop (@UID_DynamicGroup varchar(38)) as begin declare @ProcNameRechneAlle nvarchar(64) declare\r\n @ProcNameRechneDetail nvarchar(64) SET XACT_ABORT OFF BEGIN TRY select @ProcNameRechneAlle = dbo.QER_FCVDynGuidToProcName(@UID_DynamicGroup, 'All') exec\r\n QBM_PProcedureDrop @ProcNameRechneAlle select @ProcNameRechneDetail = dbo.QER_FCVDynGuidToProcName(@UID_DynamicGroup, 'Detail') exec QBM_PProcedureDrop\r\n @ProcNameRechneDetail END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR\r\n (@Rethrow, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PDynamicGroupMakeProc_hlp",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.003",
      "ModifyDate": "2026-04-14T23:20:39.637",
      "Definition": "     create   procedure QER_PDynamicGroupMakeProc_hlp (@UID_DynamicGroup varchar(38)) as begin declare @DisplayName nvarchar(255) declare @ObjectClass\r\n varchar(30) declare @IsdeactivatedByPreprocessor bit declare @WhereClause nvarchar(max) declare @UID_BaseTreeOrg varchar(38) declare @preprop nvarchar\r\n(16) declare @cons nvarchar(16) declare @ProcNameRechneAlle nvarchar(64) declare @ProcNameRechneDetail nvarchar(64) declare @Declarations nvarchar(max)\r\n  declare @SQLcmd nvarchar(max) declare @content1 nvarchar(max) declare @content2 nvarchar(max) declare @contentDN1 nvarchar(max)  declare @DebugSwitch\r\n int = 0  declare @DebugLevel char(1) = 'W' declare @StringPatternDynamic varchar(16) = dbo.QBM_FCVBinaryToString( CONVERT(varbinary, dbo.QBM_FGIBitPatternXOrigin\r\n('|Dynamic|',0)), 0) declare @StringPatternDynamicInv varchar(16) = dbo.QBM_FCVBinaryToString( CONVERT(varbinary, dbo.QBM_FGIBitPatternXOrigin('|Dynamic|'\r\n,1)), 0) declare @StringPatternDelay varchar(16) = dbo.QBM_FCVBinaryToString( CONVERT(varbinary, dbo.QBM_FGIBitPatternXMarkedForDel('|Delay|',0)), 0) declare\r\n @StringPatternDelayInv varchar(16) = dbo.QBM_FCVBinaryToString( CONVERT(varbinary, dbo.QBM_FGIBitPatternXMarkedForDel('|Delay|',1)), 0) SET XACT_ABORT\r\n OFF BEGIN TRY if @DebugSwitch > 0 begin  exec QER_PDynamicGroupMakeProc_Drop @UID_DynamicGroup end select @DisplayName = isnull(dg.DisplayName, '<no Display>'\r\n), @ObjectClass = t.TableName, @whereclause = case b.IsInvalidForDynamicGroup when 1 then ' 1 = 0 ' else dg.WhereClause end , @UID_BaseTreeOrg = dbo.QBM_FCVObjectkeyToElement\r\n('ColumnValue1', dg.ObjectKeyBaseTree) from DynamicGroup dg join DialogTable t with (readpast) on dg.UID_DialogTableObjectClass = t.UID_DialogTable join\r\n BaseTree b on dg.ObjectKeyBaseTree = b.XObjectKey where UID_DynamicGroup = @UID_DynamicGroup if 1 = @IsdeactivatedByPreprocessor begin select @preprop\r\n = '' end else begin select @preprop = N'--' end if @ObjectClass in ('Hardware', 'Person') begin select @cons = '' end else begin select @cons = N'--' \r\nend  select @Declarations = concat('\r\n\tdeclare @GenProcID varchar(38)\r\n\tdeclare @Sourcedata QBM_YDataForDelta\r\n\t\t, @CountDeltaQantity int \r\n\t\t, @CountDeltaOrigin int \r\n\tdeclare @BlackListExists bit = 0\r\n\tdeclare @DBQueueCurrent QBM_YDBQueueCurrent\r\n\tdeclare @UID_Org varchar(38) = '''\r\n, @UID_BaseTreeOrg , '''\r\n\tdeclare @UID_DynamicGroup varchar(38) = ''', @UID_DynamicGroup , '''\r\n\tdeclare @XUser nvarchar(64) = object_name(@@procid)\r\n\tdeclare @Xdate datetime = getutcdate()\r\n\t\r\n'\r\n) declare @ContentStandardsA nvarchar(max) = concat('\r\n--34076\r\n\tif exists (select top 1 1\r\n\t\t\tfrom DynamicGroup b\r\n\t\t\twhere b.UID_DynamicGroup = @UID_DynamicGroup \r\n\t\t\t and b.IsRecalculationDeactivated = 1\r\n\t\t\t)\r\n\t begin\r\n\t\tgoto EndLabel\r\n\t end\r\n\r\n\tinsert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID)\r\n\t\t\t\t\tselect UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n\t\t\t\tfrom QBMDBQueueCurrent cu with (readpast)\r\n\t\t\t\twhere cu.SlotNumber = @SlotNumber\r\n\r\n\tif @@rowcount = 0\r\n\t begin\r\n\t\tgoto EndLabel\r\n\t end\r\n\r\n\tif exists (select top 1 1\r\n\t\t\tfrom QERDynamicGroupBlackList b\r\n\t\t\twhere b.UID_DynamicGroup = @UID_DynamicGroup \r\n\t\t\t)\r\n\t begin\r\n\t\tselect @BlackListExists = 1\r\n\t end\r\n'\r\n, '') declare @ContentStandardsE nvarchar(max) = concat('\r\n--34076\r\n\tif exists (select top 1 1\r\n\t\t\tfrom DynamicGroup b\r\n\t\t\twhere b.UID_DynamicGroup = @UID_DynamicGroup \r\n\t\t\t and b.IsRecalculationDeactivated = 1\r\n\t\t\t)\r\n\t begin\r\n\t\tgoto EndLabel\r\n\t end\r\n\r\n\tinsert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID)\r\n\t\t\t\t\tselect UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n\t\t\t\tfrom QBMDBQueueCurrent cu with (readpast)\r\n\t\t\t\twhere cu.SlotNumber = @SlotNumber\r\n\t\t\t\tand cu.UID_SubParameter = @UID_DynamicGroup\r\n\r\n\tif @@rowcount = 0\r\n\t begin\r\n\t\tgoto EndLabel\r\n\t end\r\n\r\n\tif exists (select top 1 1\r\n\t\t\tfrom QERDynamicGroupBlackList b\r\n\t\t\twhere b.UID_DynamicGroup = @UID_DynamicGroup \r\n\t\t\t)\r\n\t begin\r\n\t\tselect @BlackListExists = 1\r\n\t end\r\n'\r\n, '')  select @contentDN1 = concat('\r\n\r\n\tif exists (select top 1 1\r\n\t\t\t\tfrom BaseTreeExcludesBasetree beb\r\n\t\t\t\twhere beb.UID_OrgExcluded = @UID_Org\r\n\t\t\t)\r\n\t begin\r\n\t\t-- 33720\r\n\t\tdelete /* algorithmisch notwendig */ @Sourcedata \r\n\t\t\tfrom @Sourcedata s join BaseTreeExcludesBasetree beb on s.Element = beb.UID_OrgExcluded\r\n\t\t\t\t\t\t\t\tjoin '\r\n, @ObjectClass , 'InBaseTree pe on pe.UID_Org = beb.UID_Org\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tand pe.UID_', @ObjectClass , ' = s.AssignedElement\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tand pe.XOrigin > 0\r\n\t\t\twhere s.IsUpcommingContent = 1\r\n\t end\r\n\r\n\tif exists (select top 1 1\r\n\t\t\t\tfrom BaseTreeExcludesBasetree beb\r\n\t\t\t\twhere beb.UID_Org = @UID_Org\r\n\t\t\t)\r\n\t begin\r\n\t\t-- 33720, Nachtrag bidirektional\r\n\t\tdelete /* algorithmisch notwendig */ @Sourcedata \r\n\t\t\tfrom @Sourcedata s join BaseTreeExcludesBasetree beb on s.Element = beb.UID_Org\r\n\t\t\t\t\t\t\t\tjoin '\r\n, @ObjectClass , 'InBaseTree pe on pe.UID_Org = beb.UID_OrgExcluded\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tand pe.UID_', @ObjectClass , ' = s.AssignedElement\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tand pe.XOrigin > 0\r\n\t\t\twhere s.IsUpcommingContent = 1\r\n\t end\r\n  \r\n\texec QBM_PDBQueueCalculateDelta @SourceData,\r\n\t\t\t\t\t\t\t\t\t @DeltaQuantity = 0,\r\n\t\t\t\t\t\t\t\t@DeltaDelete = 0,\r\n\t\t\t\t\t\t\t\t@DeltaInsert = 1,\r\n\t\t\t\t\t\t\t\t@DeltaOrigin = 1, \r\n\t\t\t\t\t\t\t\t@CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output\r\n\t\t\t\t\t\t\t\t, @UseIsInEffect = 0\r\n\t\t\t\t\t\t\t\t, @SlotNumber = @SlotNumber\r\n\t\t\t\t\t\t\t, @DBQueueCurrentExtern = @DBQueueCurrent\r\n\r\n\tselect @ret = 0\r\n\tselect top 1 @GenProcID = cu.GenProcID\r\n\t\tfrom @DBQueueCurrent cu \r\n\t\twhere cu.UID_SubParameter = @UID_DynamicGroup\r\n\r\n\tif isnull(@GenProcID, '''') = ''''\r\n\t begin\r\n\t\tselect @GenProcID = newid() \r\n\t end\r\n\r\n-- 16147 wenn Zieltabelle deaktiviert machen wir gar nichts\r\n\t'\r\n, @preprop , ' goto endLabel\r\n\r\n\tif @CountDeltaOrigin > 0 \r\n\t begin\r\n\t\tupdate #QBMDeltaOrigin\r\n\t\t\tset GenProcID = @GenProcID  \r\n\t\t where GenProcID is null\r\n\t\texec QBM_PMNTableOriginUpdate '''\r\n, @ObjectClass , 'InBaseTree'', ''UID_Org'', ''UID_', @ObjectClass , '''\r\n\t end\r\n\r\n\t if @CountDeltaQantity > 0\r\n\t  begin\r\n\t\tupdate #QBMDeltaInsert\r\n\t\tset GenProcID = @GenProcID  \r\n\t\t\twhere GenProcID is null \r\n\t\texec QER_PMNTableAddViewProperties '''\r\n, @ObjectClass , 'InBaseTree''\r\n\t\texec QBM_PMNTableInsert ''', @ObjectClass , 'InBaseTree'', ''UID_Org'', ''UID_', @ObjectClass , ''', @TargetIsView = 1\r\n\t   end \r\n\r\n'\r\n) if @DebugSwitch > 0 begin print isnull(@contentDN1, '< kein @contentDN1 @UID_BaseTreeOrg>') end   select @content1 = Concat('\r\n-- 16147 wenn Zieltabelle deaktiviert machen wir gar nichts\r\n\t'\r\n, @preprop , ' goto endLabel\r\n\r\ninsert into @SourceData(\r\n\t\t\t\t\t\tIsUpcommingContent, XOriginAfter\r\n\t\t\t\t\t\t, Element, AssignedElement, XOriginBefore\r\n\t\t\t\t\t\t)\r\n\r\n\tselect 0, 0\r\n\t\t\t, @UID_Org, UID_'\r\n, @ObjectClass , ' , Xorigin\r\n\t\tfrom ', @ObjectClass , 'InBaseTree\r\n\t\t\twhere UID_Org = @UID_Org\r\n\r\n-- was nicht dbo.QBM_F G I BitPatternXOrigin(\"|Dynamic|\", 0) ist, bleibt erhalten\r\ninsert into @SourceData(\r\n\t\t\t\t\t\tIsUpcommingContent, XOriginAfter\r\n\t\t\t\t\t\t, Element, AssignedElement, XOriginBefore\r\n\t\t\t\t\t\t)\r\n\r\n\tselect 1, Xorigin & '\r\n , @StringPatternDynamicInv , '\r\n\t\t\t, @UID_Org, UID_', @ObjectClass , ' , 0\r\n\t\tfrom ', @ObjectClass , 'InBaseTree\r\n\t\t\twhere UID_Org = @UID_Org\r\n\t\t\t and Xorigin & '\r\n , @StringPatternDynamicInv , ' > 0\r\n\r\n-- Blacklist\r\nif @BlackListExists = 1\r\n begin\r\n\tupdate QERDynamicGroupBlackList\r\n\t\tset IsAssignedByOthers = sign(len(ISNULL(s.element, '''')))\r\n\t\t\t, XDateUpdated = @XDate\r\n\t\t\t, XUserUpdated = @XUser\r\n\t\tfrom QERDynamicGroupBlackList b left outer join @SourceData s on b.UID_Person = s.AssignedElement\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand s.IsUpcommingContent = 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand s.XOriginAfter & '\r\n , @StringPatternDynamicInv, ' > 0\r\n\t\twhere b.UID_DynamicGroup = @UID_DynamicGroup\r\n\t\tand b.IsAssignedByOthers <> sign(len(ISNULL(s.element, '''')))\r\n end\r\n-- / Blacklist\r\n\r\ninsert into @SourceData(\r\n\t\t\t\t\t\tIsUpcommingContent, XOriginBefore, XOriginAfter\r\n\t\t\t\t\t\t, Element, AssignedElement\r\n\t\t\t\t\t\t)\r\n\tselect 1, 0,  '\r\n + @StringPatternDynamic + ' \r\n\t\t\t, @UID_Org , UID_', @ObjectClass , ' \r\nfrom ', @ObjectClass , ' \r\n\twhere (\r\n-- Start Usercondition\r\n') select @content2\r\n = concat('\r\n\r\n-- End UserCondition\r\n)\r\n', @cons, ' \tand\t XMarkedForDeletion & ' + @StringPatternDelay + ' = 0\r\n', @preprop , '  \tand\t ( 0 = 1 )\r\n\r\n-- BlackList\r\nif @BlackListExists = 1\r\n begin\r\n\tupdate QERDynamicGroupBlackList\r\n\t\tset IsNotMatched = sign(len(isnull(s.AssignedElement, ''''))) ^ 1\r\n\t\t\t, XDateUpdated = @XDate\r\n\t\t\t, XUserUpdated = @XUser\r\n\t\tfrom QERDynamicGroupBlackList b left outer join @SourceData s on b.UID_Person = s.AssignedElement\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tand s.IsUpcommingContent = 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tand s.XOriginAfter =  '\r\n , @StringPatternDynamic , ' \r\n\t\twhere b.UID_DynamicGroup = @UID_DynamicGroup\r\n\t\t and b.IsNotMatched <> sign(len(isnull(s.AssignedElement, ''''))) ^ 1\r\n\t\r\n\tdelete /* algorithmisch notwendig */ @Sourcedata \r\n\t\tfrom @Sourcedata s join QERDynamicGroupBlackList b on b.UID_Person = s.AssignedElement\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tand s.IsUpcommingContent = 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tand s.XOriginAfter =  '\r\n , @StringPatternDynamic , ' \r\n\t\twhere b.UID_DynamicGroup = @UID_DynamicGroup\r\n\r\n end\r\n-- / Blacklist\r\n') select @ProcNameRechneAlle = dbo.QER_FCVDynGuidToProcName\r\n(@UID_DynamicGroup, 'All') if @DebugSwitch > 0 begin print '===========================' print isnull(@Declarations , '<@Declarations >') print isnull(@content1\r\n, '<@content1>') print isnull(@whereclause , '<@whereclause >') print isnull(@content2 , '<@content2 >') print isnull(@contentDN1, '<@contentDN1>') print\r\n '===========================' end select @SQLcmd = dbo.QBM_FSQProcedureDef(@ProcNameRechneAlle, '@SlotNumber int', @Declarations + @ContentStandardsA \r\n+ @content1 + @whereclause + @content2 + @contentDN1  , N'Dynamic Role (whole role): ' + @Displayname ) if @DebugSwitch > 0 begin print isnull(@SQLcmd,\r\n ' <keine Prozedur>') end exec QBM_PSQLCreate @ProcNameRechneAlle, 'P', @SQLcmd, @UnComment = 0  select @content1 = concat('\r\n-- 16147 wenn Zieltabelle deaktiviert machen wir gar nichts\r\n\t'\r\n, @preprop , ' goto endLabel\r\n\r\ninsert into @SourceData(\r\n\t\t\t\t\t\tIsUpcommingContent, XOriginAfter\r\n\t\t\t\t\t\t, Element, AssignedElement, XOriginBefore\r\n\t\t\t\t\t\t)\r\n\r\n\tselect 0, 0\r\n\t\t\t, @UID_Org, UID_'\r\n, @ObjectClass , ' , XOrigin\r\n\t\tfrom ', @ObjectClass , 'InBaseTree join @DBQueueCurrent xxp on ', @ObjectClass , 'InBaseTree.UID_', @ObjectClass , ' = xxp.UID_Parameter\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t--and xxp.UID_SubParameter = @UID_DynamicGroup\r\n\t\t\twhere '\r\n, @ObjectClass , 'InBaseTree.UID_Org = @UID_Org\r\n\r\ninsert into @SourceData(\r\n\t\t\t\t\t\tIsUpcommingContent, XOriginAfter\r\n\t\t\t\t\t\t, Element, AssignedElement, XOriginBefore\r\n\t\t\t\t\t\t)\r\n\r\n\tselect 1, XOrigin & '\r\n , @StringPatternDynamicInv , '\r\n\t\t\t, @UID_Org, UID_', @ObjectClass , ' , 0\r\n\t\tfrom ', @ObjectClass , 'InBaseTree join @DBQueueCurrent xxp on ', @ObjectClass\r\n , 'InBaseTree.UID_', @ObjectClass , ' = xxp.UID_Parameter\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t--and xxp.UID_SubParameter = @UID_DynamicGroup\r\n\t\t\twhere ', @ObjectClass , \r\n'InBaseTree.UID_Org = @UID_Org\r\n\t\t\t\tand XOrigin & ' , @StringPatternDynamicInv , ' > 0\r\n\r\n-- Blacklist\r\nif @BlackListExists = 1\r\n begin\r\n\tupdate QERDynamicGroupBlackList\r\n\t\tset IsAssignedByOthers = sign(len(ISNULL(s.element, '''')))\r\n\t\t\t, XDateUpdated = @XDate\r\n\t\t\t, XUserUpdated = @XUser\r\n\t\tfrom QERDynamicGroupBlackList b join @DBQueueCurrent xxp on b.UID_Person = xxp.UID_Parameter\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t--and xxp.UID_SubParameter = @UID_DynamicGroup\r\n\t\t\t\t\t\t\t\t\t\tleft outer join @SourceData s on b.UID_Person = s.AssignedElement\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand s.IsUpcommingContent = 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand s.XOriginAfter & '\r\n, @StringPatternDynamicInv, ' > 0\r\n\t\twhere b.UID_DynamicGroup = @UID_DynamicGroup\r\n\t\t and b.IsAssignedByOthers <> sign(len(ISNULL(s.element, '''')))\r\n end\r\n-- / Blacklist\r\n\r\ninsert into @SourceData(\r\n\t\t\t\t\t\tIsUpcommingContent, XOriginBefore, XOriginAfter\r\n\t\t\t\t\t\t, Element, AssignedElement\r\n\t\t\t\t\t\t)\r\n\tselect 1, 0,  '\r\n , @StringPatternDynamic , ' \r\n\t\t\t, @UID_Org , UID_', @ObjectClass , ' \r\nfrom ', @ObjectClass , ' join @DBQueueCurrent xxp on ', @ObjectClass , '.UID_'\r\n, @ObjectClass , ' = xxp.UID_Parameter\r\n\t\t\t\t\t\t\t\t\t\t\t--and xxp.UID_SubParameter = @UID_DynamicGroup\r\n\twhere (\r\n-- Start Usercondition\r\n' ) select @content2\r\n = concat('\r\n\r\n-- End UserCondition\r\n)\r\n', @cons, ' \tand\t XMarkedForDeletion & ' + @StringPatternDelay + ' = 0\r\n', @preprop , '  \tand\t ( 0 = 1 )\r\n-- Blacklist\r\nif @BlackListExists = 1\r\n begin\r\n\tupdate QERDynamicGroupBlackList\r\n\t\tset IsNotMatched = sign(len(isnull(s.AssignedElement, ''''))) ^ 1\r\n\t\t\t, XDateUpdated = @XDate\r\n\t\t\t, XUserUpdated = @XUser\r\n\t\tfrom QERDynamicGroupBlackList b join @DBQueueCurrent xxp on b.UID_Person = xxp.UID_Parameter\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t--and xxp.UID_SubParameter = @UID_DynamicGroup\r\n\t\t\t\t\t\t\t\t\t\tleft outer join @SourceData s on b.UID_Person = s.AssignedElement\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tand s.IsUpcommingContent = 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tand s.XOriginAfter =  '\r\n , @StringPatternDynamic , ' \r\n\t\twhere b.UID_DynamicGroup = @UID_DynamicGroup\r\n\t\t and b.IsNotMatched <> sign(len(isnull(s.AssignedElement, ''''))) ^ 1\r\n\r\n\tdelete /* algorithmisch notwendig */ @Sourcedata \r\n\t\tfrom @Sourcedata s join QERDynamicGroupBlackList b on b.UID_Person = s.AssignedElement\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tand s.IsUpcommingContent = 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tand s.XOriginAfter =  '\r\n , @StringPatternDynamic , ' \r\n\t\twhere b.UID_DynamicGroup = @UID_DynamicGroup\r\n\t\t\r\n end\r\n-- / Blacklist\r\n' ) select @ProcNameRechneDetail = dbo.QER_FCVDynGuidToProcName\r\n(@UID_DynamicGroup, 'Detail') select @SQLcmd = dbo.QBM_FSQProcedureDef(@ProcNameRechneDetail, '@SlotNumber int', @Declarations + @ContentStandardsE + @content1\r\n + @whereclause + @content2 + @contentDN1  , N'Dynamic Role: (given Elements): ' + @Displayname ) if @DebugSwitch > 0 begin print isnull(@SQLcmd, ' <keine Prozedur>'\r\n) end exec QBM_PSQLCreate @ProcNameRechneDetail, 'P', @SQLcmd, @UnComment = 0 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar\r\n(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PExclusionCheckCircular",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:27.24",
      "ModifyDate": "2026-04-14T23:20:36.207",
      "Definition": "      create   procedure QER_PExclusionCheckCircular (@TargetTable varchar(30)  , @HigherColumn varchar (30)  , @LowerColumn varchar(30)  , @exclusions\r\n QBM_YParameterList readonly   ) as begin  declare @SQLCmd nvarchar(max) declare @lauf int declare @DebugSwitch int = 0 declare @PatternInitial nvarchar\r\n(max) = '\r\nselect ex.@HigherColumn, ex.@LowerColumn\r\n\tfrom #WorkTable e join @TargetTable ex on e.UID_Excluding = ex.@HigherColumn\r\nunion\r\nselect ex.@HigherColumn, ex.@LowerColumn\r\n\tfrom #WorkTable e join @TargetTable ex on e.UID_Excluded = ex.@LowerColumn\r\nunion\r\nselect ex.@HigherColumn, ex.@LowerColumn\r\n\tfrom #WorkTable e join @TargetTable ex on e.UID_Excluded = ex.@HigherColumn\r\nunion\r\nselect ex.@HigherColumn, ex.@LowerColumn\r\n\tfrom #WorkTable e join @TargetTable ex on e.UID_Excluding = ex.@LowerColumn\r\n'\r\n declare @PatternCycle nvarchar(max) = '\t\r\n\tinsert into #WorkTable(UID_Excluding, UID_Excluded)\r\n\tselect x.UID_Excluding, x.UID_Lower\r\n\t from (\r\n\t\t\tselect neu.UID_Excluding as UID_Excluding , ex.@LowerColumn as UID_Lower\r\n\t\t\t\tfrom #WorkTable neu join @TargetTable ex on neu.UID_Excluded = ex.@HigherColumn\r\n\t\t\tunion \r\n\t\t\tselect ex.@HigherColumn, neu.UID_Excluded as UID_Lower\r\n\t\t\t\tfrom @TargetTable ex join #WorkTable neu on ex.@LowerColumn = neu.UID_Excluding \r\n\t\t\tunion \r\n\t\t\tselect ex.UID_Excluding, neu.UID_Excluded as UID_Lower\r\n\t\t\t\tfrom #WorkTable ex join #WorkTable neu on ex.UID_Excluded = neu.UID_Excluding \r\n\t\t\t) as x\r\n\t\twhere not exists (select top 1 1\r\n\t\t\t\t\t\t\tfrom #WorkTable a\r\n\t\t\t\t\t\t\twhere a.UID_Excluding = x.UID_Excluding\r\n\t\t\t\t\t\t\tand a.UID_Excluded = x.UID_Lower\r\n\t\t\t\t\t\t)\r\n'\r\n SET XACT_ABORT OFF BEGIN TRY drop table if exists #WorkTable create table #WorkTable (UID_Excluding varchar(38) collate database_default , UID_Excluded\r\n varchar(38) collate database_default )  insert into #WorkTable(UID_Excluding, UID_Excluded) select e.Parameter1, e.Parameter2 from @exclusions e select\r\n @SQLCmd = replace(replace(replace(@PatternInitial , '@TargetTable', @TargetTable) , '@HigherColumn', @HigherColumn) , '@LowerColumn', @LowerColumn) insert\r\n into #WorkTable(UID_Excluding, UID_Excluded) exec sp_executesql @SQLCmd if @DebugSwitch > 0 begin select * from #WorkTable end select @SQLCmd = replace\r\n(replace(replace(@PatternCycle , '@TargetTable', @TargetTable) , '@HigherColumn', @HigherColumn) , '@LowerColumn', @LowerColumn) select @lauf = 1 while\r\n @lauf > 0 begin exec sp_executesql @SQLCmd select @lauf = @@ROWCOUNT end if @DebugSwitch > 0 begin select * from #WorkTable w where w.UID_Excluding = \r\nw.UID_Excluded end  if exists (select top 1 1 from #WorkTable w where w.UID_Excluding = w.UID_Excluded ) begin set XACT_ABORT ON  raiserror( '#LDS#Cannot make a definition because given information would create a cycle.|'\r\n, 18, 2) with nowait end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR\r\n (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: truncate table #WorkTable return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PGIQERWorkingMethod",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.693",
      "ModifyDate": "2026-04-14T23:20:39.21",
      "Definition": "   create   procedure QER_PGIQERWorkingMethod (@UID_PWODecisionMethod varchar(38) , @Orderstate varchar(30) , @UID_QERWorkingMethod varchar(38) \r\noutput ) as begin declare @uid_PWODecisionSubMethod varchar(38) = null declare @RevisionNumber int = 0 declare @SQLCmd nvarchar(max) declare @LayoutInformation\r\n nvarchar(max) declare @old varchar(38) declare @new varchar(38) declare @DebugSwitch int = 0 declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount\r\n int declare @ElementIndex int declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') SET XACT_ABORT OFF BEGIN TRY select @UID_QERWorkingMethod\r\n = null select top 1 @uid_PWODecisionSubMethod = case @Orderstate when 'OrderProlongate' then isnull(m.UID_SubMethodOrderProlongate, m.UID_SubMethodOrderProduct\r\n) when 'OrderUnsubscribe' then m.UID_SubMethodOrderUnsubscribe else  m.UID_SubMethodOrderProduct end from PWODecisionMethod m where m.UID_PWODecisionMethod\r\n = @UID_PWODecisionMethod if @uid_PWODecisionSubMethod is null begin goto EndLabel end select top 1 @RevisionNumber = s.RevisionNumber from PWODecisionSubMethod\r\n s where s.UID_PWODecisionSubMethod = @uid_PWODecisionSubMethod select top 1 @UID_QERWorkingMethod = m.UID_QERWorkingMethod from QERWorkingMethod m where\r\n m.UID_PWODecisionSubMethod = @uid_PWODecisionSubMethod and m.RevisionNumber = @RevisionNumber if @UID_QERWorkingMethod > ' ' begin  goto EndLabel end \r\nselect @UID_QERWorkingMethod = newid() insert into QERWorkingMethod (UID_QERWorkingMethod, Ident_PWODecisionSubMethod , XObjectKey , DaysToAbort, RevisionNumber\r\n, UID_PWODecisionSubMethod ) select @UID_QERWorkingMethod, s.Ident_PWODecisionSubMethod , dbo.QBM_FCVElementToObjectKey1('QERWorkingMethod', 'UID_QERWorkingMethod'\r\n, @UID_QERWorkingMethod) , s.DaysToAbort, s.RevisionNumber, s.UID_PWODecisionSubMethod from PWODecisionSubMethod s where s.UID_PWODecisionSubMethod = @uid_PWODecisionSubMethod\r\n  insert into QERWorkingStep (UID_QERWorkingStep, LevelNumber, Ident_PWODecisionStep, SubLevelNumber, DirectSteps, PositiveSteps, NegativeSteps, LevelDisplay\r\n, WhereClause, AutomaticReasonTrue , AutomaticReasonFalse, CountApprover, EscalationSteps, MinutesReminder, MinutesAutomaticDecision, AutomaticDecision\r\n, IsAdditionalAllowed, IsInsteadOfAllowed , IsToHideInHistory, IsNoAutoDecision, ObjectKeyOfAssignedOrg, UID_QERWorkingMethod, UID_PWODecisionRule, UID_AERoleFallBack\r\n, UID_DialogRichMailInsert, UID_DialogRichMailReminder, UID_DialogRichMailGrant, UID_DialogRichMailNoGrant , UID_DialogRichMailEscalate, UID_DialogRichMailFromDelegat\r\n, UID_DialogRichMailToDelegat, UID_PWOStateFinalSuccess, UID_PWOStateFinalError , XObjectKey, UID_PWODecisionStep , IgnoreNoDecideForPerson, EscalateIfNoApprover\r\n , ApproveReasonType, DenyReasonType ) select UID_QERWorkingStep, LevelNumber, Ident_PWODecisionStep, SubLevelNumber, DirectSteps, PositiveSteps, NegativeSteps\r\n, LevelDisplay, WhereClause, AutomaticReasonTrue , AutomaticReasonFalse, CountApprover, EscalationSteps, MinutesReminder, MinutesAutomaticDecision, AutomaticDecision\r\n, IsAdditionalAllowed, IsInsteadOfAllowed , IsToHideInHistory, IsNoAutoDecision, ObjectKeyOfAssignedOrg, @UID_QERWorkingMethod, UID_PWODecisionRule, UID_AERoleFallBack\r\n, UID_DialogRichMailInsert, UID_DialogRichMailReminder, UID_DialogRichMailGrant, UID_DialogRichMailNoGrant , UID_DialogRichMailEscalate, UID_DialogRichMailFromDelegat\r\n, UID_DialogRichMailToDelegat, UID_PWOStateFinalSuccess, UID_PWOStateFinalError , dbo.QBM_FCVElementToObjectKey1('QERWorkingStep', 'UID_QERWorkingStep'\r\n, x.UID_QERWorkingStep), UID_PWODecisionStep , IgnoreNoDecideForPerson, EscalateIfNoApprover , ApproveReasonType, DenyReasonType from ( select newid() \r\nas UID_QERWorkingStep , s.* from PWODecisionStep s where s.UID_PWODecisionSubMethod = @uid_PWODecisionSubMethod ) as x insert into @ElementBuffer(uid1,\r\n uid2) select s.UID_PWODecisionStep, s.UID_QERWorkingStep from QERWorkingStep s where s.UID_QERWorkingMethod = @UID_QERWorkingMethod union select @uid_PWODecisionSubMethod\r\n, @UID_QERWorkingMethod select @ElementCount = @@ROWCOUNT select top 1 @LayoutInformation = s.LayoutInformation from PWODecisionSubMethod s where s.UID_PWODecisionSubMethod\r\n = @uid_PWODecisionSubMethod if @DebugSwitch > 0 begin print 'Layout alt' + @LayoutInformation end select @ElementIndex = 1 while @ElementIndex <= @ElementCount\r\n begin select top 1 @old = bu.uid1 , @new = bu.uid2 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex if @DebugSwitch > 0 begin print '@old '\r\n + @old print '@new ' + @new end select @LayoutInformation = replace(@LayoutInformation, @old, @new) select @ElementIndex += 1 end  if @DebugSwitch > 0\r\n begin print 'Layout neu' + @LayoutInformation end exec QBM_PSessionContextSet 'QER_PGIQERWorkingMethod', 'TRUE' update QERWorkingMethod set LayoutInformation\r\n = @LayoutInformation where UID_QERWorkingMethod = @UID_QERWorkingMethod   exec QBM_PSessionContextSet 'QER_PGIQERWorkingMethod', '' END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH \r\nEndLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PIsForITShopFlagCheck",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:27.267",
      "ModifyDate": "2026-04-14T23:20:36.24",
      "Definition": "           create   procedure QER_PIsForITShopFlagCheck (@TableName varchar(30) , @ElementsToCheck QBM_YParameterList readOnly   , @ChildrenToCheck\r\n varchar(max) = ''  ) as begin  declare @BasetreeMN varchar(30) declare @BasetreeMNPK varchar(30) declare @TableMN varchar(30) declare @TableMNPK varchar\r\n(30) declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @DebugSwitch int = 0 declare @SQLCmd nvarchar\r\n(max) declare @Message nvarchar(max) declare @PatternBaseTreeAus nvarchar(max) = '\r\n declare @erg int\r\n  select top 1 @erg = 1 \r\n\t\t\t\tfrom #ITShopFlags i join @BasetreeMN bha on i.UID_PK = bha.@BasetreeMNPK\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand bha.XOrigin > 0\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t--and ohg.XIsInEffect = 1\r\n\t\t\t\t\t\t\t\tjoin BaseTree b on bha.uid_org = b.uid_Org\r\n\t\t\t\t where i.IsForITShopNew = 0\r\n\t\t\t\t\tand i.IsITShopOnlyNew = 0\r\n\t\t\t\t\tand (b.XObjectKey like ''<Key><T>ITShop___</T>%''\r\n\t\t\t\t\t\t\tor b.XObjectKey like ''<Key><T>MirrorShop</T>%''\r\n\t\t\t\t\t\t)\r\n'\r\n declare @PatternBasetreeAn nvarchar(max) = '\r\n declare @erg int\r\n  select top 1 @erg = 1 \r\n\t\t\t\t\tfrom #ITShopFlags i join @BasetreeMN bha on i.UID_PK = bha.@BasetreeMNPK\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand bha.XOrigin > 0\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t--and ohg.XIsInEffect = 1\r\n\t\t\t\t\t\t\t\t\tjoin BaseTree b on bha.uid_Org = b.UId_Org\r\n\t\t\t\t\twhere i.IsForITShopNew = 1\r\n\t\t\t\t\tand i.IsITShopOnlyNew = 1\r\n\t\t\t\t\tand not (b.XObjectKey like ''<Key><T>ITShop___</T>%''\r\n\t\t\t\t\t\t\t or b.XObjectKey like ''<Key><T>MirrorShop</T>%''\r\n\t\t\t\t\t\t\t)\r\n'\r\n declare @PatternAddOnChildren nvarchar(max) = '\r\n declare @erg int\r\n  select top 1 @erg = 1 \r\n\t\t\t\t\tfrom #ITShopFlags i join @TableMN zuw on i.UID_PK = zuw.@TableMNPK\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tand zuw.XOrigin & 0xFFFFFFFD /*dbo.QBM_F G I BitPatternXOrigin(''|Inherit|'', 1)*/ > 0 \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t-- ohne XIsInEffect-Test, könnte ja jederzeit wieder angehen\r\n\t\t\t\t\t where IsForITShopNew = 1\r\n\t\t\t\t\t  and i.IsITShopOnlyNew = 1\r\n'\r\n SET XACT_ABORT OFF BEGIN TRY drop table if exists #ITShopFlags create table #ITShopFlags (IsForITShopNew bit , IsITShopOnlyNew bit , UID_PK varchar(38\r\n) collate database_default , XObjectKey varchar(138) collate database_default ) insert into #ITShopFlags(UID_PK, XObjectKey, IsForITShopNew, IsITShopOnlyNew\r\n) select e.Parameter1, e.Parameter2, e.HasContentFull, dbo.QBM_FCVStringToBit(e.Parameter3) from @ElementsToCheck e if @debugswitch > 0 begin select * \r\nfrom #ITShopFlags end  select @BasetreeMN = tba.TableName , @BasetreeMNPK = r.ChildColumn from BaseTreeAssign a join DialogTable tba with (readpast) on\r\n a.UID_DialogTableMN = tba.UID_DialogTable join DialogTable tb with (readpast) on a.UID_DialogTableElement = tb.UID_DialogTable join QBM_VQBMRelation r\r\n on r.ChildTable = tba.TableName and r.ParentTable = @Tablename where tb.TableName = @Tablename if @DebugSwitch > 0 begin print @BasetreeMN print @BasetreeMNPK\r\n end  insert into @ElementBuffer(Ident1, Ident2) select rp.ChildTable, rp.ChildColumn from BaseTreeAssign a join DialogTable tba with (readpast) on a.UID_DialogTableMN\r\n = tba.UID_DialogTable join DialogTable tb with (readpast) on a.UID_DialogTableElement = tb.UID_DialogTable join QBM_VQBMRelation r on r.ChildTable = tba.TableName\r\n and r.ParentTable = @Tablename join QBM_VQBMRelation rp on rp.ParentTable = @Tablename and a.UID_TaskPerson > ' ' and rp.IsMNRelation = 1 join QBM_VQBMRelation\r\n rph on rp.UID_QBMRelationMN = rph.UID_QBMRelation and rph.ParentTable = 'Person' where tb.TableName = @Tablename union select rp.ChildTable , rp.ChildColumn\r\n from BaseTreeAssign a join DialogTable tba with (readpast) on a.UID_DialogTableMN = tba.UID_DialogTable join DialogTable tb with (readpast) on a.UID_DialogTableElement\r\n = tb.UID_DialogTable join QBM_VQBMRelation r on r.ChildTable = tba.TableName and r.ParentTable = @Tablename join QBM_VQBMRelation rp on rp.ParentTable\r\n = @Tablename and a.UID_TaskWorkDesk > ' ' and rp.IsMNRelation = 1 join QBM_VQBMRelation rph on rp.UID_QBMRelationMN = rph.UID_QBMRelation and rph.ParentTable\r\n = 'WorkDesk' where tb.TableName = @Tablename union select rp.ChildTable, rp.ChildColumn from BaseTreeAssign a join DialogTable tba with (readpast) on \r\na.UID_DialogTableMN = tba.UID_DialogTable join DialogTable tb with (readpast) on a.UID_DialogTableElement = tb.UID_DialogTable join QBM_VQBMRelation r \r\non r.ChildTable = tba.TableName and r.ParentTable = @Tablename join QBM_VQBMRelation rp on rp.ParentTable = @Tablename and a.UID_TaskHardware > ' ' and\r\n rp.IsMNRelation = 1 join QBM_VQBMRelation rph on rp.UID_QBMRelationMN = rph.UID_QBMRelation and rph.ParentTable = 'Hardware' where tb.TableName = @Tablename\r\n union select r.ChildTable, r.ChildColumn from QBM_VQBMRelation r join dbo.QBM_FCVStringToList(@ChildrenToCheck, '|', 1,0) as c on r.ChildTable = c.ParameterValue\r\n where r.ParentTable = @Tablename and r.IsMNRelation = 1 select @ElementCount = @@ROWCOUNT if @DebugSwitch > 0 begin select e.Ident1, e.Ident2 from @ElementBuffer\r\n e end  if exists( select top 1 1 from #ITShopFlags i where i.IsForITShopNew = 0 and i.IsITShopOnlyNew = 1 ) begin raiserror( '#LDS#Invalid flag combination for IsForITShop and IsITShopOnly.|'\r\n, 18, 2) with nowait end     select @SQLCmd = replace(replace(@PatternBaseTreeAus  , '@BasetreeMNPK', @BasetreeMNPK) , '@BasetreeMN', @BasetreeMN) if @DebugSwitch\r\n > 0 begin print @SQLCmd end          exec sp_executesql @SQLCMd if @@ROWCOUNT > 0 begin raiserror( '#LDS#Changes cannot take place, because assignments still exist within IT Shop structures.|'\r\n, 18, 2) with nowait end  if not exists(select top 1 1 from #ITShopFlags i where i.IsForITShopNew = 1 and i.IsITShopOnlyNew = 1 ) begin   goto endLabel\r\n end    select @SQLCmd = replace(replace(@PatternBasetreeAn , '@BasetreeMNPK', @BasetreeMNPK) , '@BasetreeMN', @BasetreeMN) if @DebugSwitch > 0 begin print\r\n @SQLCmd end          exec sp_executesql @SQLCMd if @@ROWCOUNT > 0 begin raiserror( '#LDS#Changes cannot take place, because assignments still exist outside IT Shop structures.|'\r\n, 18, 2) with nowait end           select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @TableMN = bu.Ident1 , @TableMNPK =\r\n bu.Ident2 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex select @SQLCmd = replace(replace(@PatternAddOnChildren , '@TableMNPK', @TableMNPK\r\n) , '@TableMN', @TableMN) if @DebugSwitch > 0 begin print @SQLCmd end exec sp_executesql @SQLCMd if @@ROWCOUNT > 0 begin select @Message = '#LDS#Changes cannot take place because direct assignments still exist. Table: {0}.|'\r\n + @TableMNPK + '|' raiserror( @message, 18, 2) with nowait end select @ElementIndex += 1 end     if exists (select top 1 1 from #ITShopFlags i join ESetHasEntitlement\r\n rhr on rhr.Entitlement = i.XObjectKey and rhr.XOrigin > 0  join BaseTreeHasESet ohs on ohs.XOrigin > 0 and ohs.XIsInEffect = 1 and ohs.uid_ESet = rhr.uid_ESet\r\n join BaseTree o on o.uid_org = ohs.uid_org where o.UID_OrgRoot not in ('QER-V-ITShopOrg', 'QER-V-ITShopSrc') and i.IsITShopOnlyNew = 1 ) begin raiserror\r\n( '#LDS#Change cannot take place because the resource belongs to a package which is assigned to a base tree outside the IT Shop.|', 18, 2) with nowait \r\nend    if exists (select top 1 1 from #ITShopFlags i join ESetHasEntitlement ehe on i.XObjectKey = ehe.Entitlement and ehe.XOrigin > 0  join ESet e on \r\nehe.uid_ESet = e.uid_Eset and e.IsITShopOnly = 0 where i.IsForITShopNew = 1 and i.IsITShopOnlyNew = 1 ) begin raiserror( '#LDS#Changes cannot take place, because assignments to system roles still exist that may not be used exclusively in IT Shop.|'\r\n, 18, 2) with nowait end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() set XACT_ABORT\r\n ON  RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: truncate table #ITShopFlags return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PITShop_BoardMove",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.75",
      "ModifyDate": "2026-04-14T23:20:39.283",
      "Definition": "   create   procedure QER_PITShop_BoardMove (@UID_OrgBOSource varchar(38)  , @UID_OrgSHTarget varchar(38)  ) as begin declare @uid_OrgCU_Target \r\nvarchar(38) declare @uid_OrgBO_Target varchar(38) declare @uid_orgSH_Source varchar(38)  declare @WhereClause nvarchar(max) declare @startat datetime declare\r\n @PRNodes QBM_YSingleGUID declare @GenProcID varchar(38) declare @FullPathSHTarget nvarchar(400) SET XACT_ABORT OFF BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext\r\n('')  select @uid_orgSH_Source = null  select top 1 @uid_orgSH_Source = sh.uid_org  from BaseTree bo join BaseTree sh on bo.uid_parentorg = sh.uid_org \r\nleft outer join BaseTree cu on cu.uid_parentorg = sh.uid_org and cu.itShopInfo = 'CU' where bo.uid_org = @UID_OrgBOSource and bo.uid_OrgRoot = 'QER-V-ITShopOrg'\r\n and bo.ITShopInfo = 'BO' if @uid_orgSH_Source is null begin  raiserror( '#LDS#The shop cannot be found for the shelf (source).|', 18, 2) with nowait end\r\n   if not exists (select top 1 1 from BaseTree where uid_OrgRoot = 'QER-V-ITShopOrg' and ITShopInfo = 'SH' and uid_Org = @UID_OrgSHTarget ) begin  raiserror\r\n( '#LDS#The given target node is not an IT Shop.|', 18, 2) with nowait end  if @uid_orgSH_Source = @UID_OrgSHTarget begin  goto ende end  if not exists\r\n (select top 1 1 from BaseTree where uid_OrgRoot = 'QER-V-ITShopOrg' and ITShopInfo = 'BO' and uid_Org = @UID_OrgBOSource and dbo.QBM_FGIGuidIsValid(uid_Org\r\n) & 2 = 0 ) begin raiserror( '#LDS#The given shelf (source) must not be moved to another shop.|', 18, 2) with nowait end  if exists (select top 1 1 from\r\n BaseTree targetBO where targetBO.uid_OrgRoot = 'QER-V-ITShopOrg' and targetBO.ITShopInfo = 'BO' and targetBO.uid_ParentOrg = @UID_OrgSHTarget and targetBO.Ident_Org\r\n in (select Ident_Org from Basetree where uid_org = @UID_OrgBOSource) ) begin raiserror( '#LDS#The selected shop already contains a shelf with the same name as the IT Shop node.|'\r\n, 18, 2) with nowait end  select top 1 @FullPathSHTarget = fullpath from Basetree where UID_Org = @UID_OrgSHTarget  select @uid_OrgBO_Target = newid() \r\ninsert into BaseTree( UID_Org, UID_ParentOrg, Ident_Org , IsCutNode, Description , uid_OrgRoot , UID_PersonHead, UID_PersonHeadSecond, UID_OrgDepartment\r\n, UID_OrgLocality, UID_OrgProfitCenter, UID_OrgAttestator , XDateInserted , XDateUpdated , XUserInserted , XUserUpdated, InternalName , FullPath ,Commentary\r\n , ITShopInfo , XObjectKey , IsInvalidForDynamicGroup , UID_PWODecisionMethod ) select @uid_OrgBO_Target, @UID_OrgSHTarget, b.Ident_Org, 0, b.Description\r\n, b.UID_OrgRoot , b.UID_PersonHead, b.UID_PersonHeadSecond, b.UID_OrgDepartment, b.UID_OrgLocality, b.UID_OrgProfitCenter, b.UID_OrgAttestator , GetUTCDate\r\n(), GetUTCDate(), 'QER_PITShopBoardMove', 'QER_PITShopBoardMove', b.InternalName, concat(@FullPathSHTarget, '\\', b.Ident_Org), b.Commentary , 'BO', dbo.QBM_FCVElementToObjectKey1\r\n('ITShopOrg', 'UID_ITShopOrg', @uid_OrgBO_Target) , 1 , b.UID_PWODecisionMethod from Basetree b where b.uid_org = @UID_OrgBOSource                 insert\r\n into ITShopOrgHasPWODecisionMethod (UID_ITShopOrg, UID_PWODecisionMethod , XObjectkey , XDateInserted, XDateUpdated, XUserInserted, XUserUpdated ) select\r\n @uid_OrgBO_Target, o.UID_PWODecisionMethod , dbo.QBM_FCVElementToObjectKey2('ITShopOrgHasPWODecisionMethod', 'UID_ITShopOrg', @uid_OrgBO_Target, 'UID_PWODecisionMethod'\r\n, o.UID_PWODecisionMethod) , GetUTCDate(), GetUTCDate(), 'QER_PITShopBoardMove', 'QER_PITShopBoardMove' from ITShopOrgHasPWODecisionMethod o where o.UID_ITShopOrg\r\n = @UID_OrgBOSource  declare @Boards QBM_YCursorBuffer insert into @Boards(UID1, UID2) select @uid_OrgBO_Target, @GenProcID exec QER_PITShopCheckMethodBO\r\n @Boards   insert into @PRNodes (UID_SingleGuid) select pr.UID_ITShopOrg from ITShopOrg pr where pr.UID_ParentITShopOrg = @UID_OrgBOSource and pr.ITShopInfo\r\n = 'PR' exec QER_PITShop_PRNodesMove @PRNodes, @uid_OrgBO_Target         exec QER_PITShopProductNodeCheck @UID_OrgBOSource, @GenProcID delete Basetree \r\nwhere uid_org = @UID_OrgBOSource END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow(\r\n) RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH  ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PITShop_PRNodesMove",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.737",
      "ModifyDate": "2026-04-14T23:20:39.257",
      "Definition": "   create   procedure QER_PITShop_PRNodesMove (@PRNodes QBM_YSingleGUID readonly  , @UID_OrgBOTarget varchar(38)  ) as begin declare @UID_OrgPRSource\r\n varchar(38) declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @ObjectKeyElements QBM_YParameterList\r\n declare @GenProcID varchar(38) SET XACT_ABORT OFF BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext('') insert into @ElementBuffer (UID1, ObjectKey1\r\n) select n.UID_SingleGuid, bho.ObjectKey from @PRNodes n  join ITShopOrg pr on n.UID_SingleGuid = pr.UID_ITShopOrg and pr.ITShopInfo = 'PR' join BaseTreeHasObject\r\n bho on n.UID_SingleGuid = bho.UID_Org  where dbo.QBM_FGIGuidIsValid(pr.UID_ITShopOrg) & 2 = 0  and bho.InheritInfo = 1 select @ElementCount = @@ROWCOUNT\r\n select @ElementIndex = 1  insert into @ObjectKeyElements(Parameter1) select bu.ObjectKey1 from @ElementBuffer bu exec QER_PITShopProductNodeCreate_b @UID_OrgBOTarget\r\n, @ObjectKeyElements, @GenProcID  while @ElementIndex <= @ElementCount begin select top 1 @UID_OrgPRSource = bu.UID1 from @ElementBuffer bu where bu.ElementIndex\r\n = @ElementIndex exec QER_PITShopProductNodeMove @UID_OrgPRSource, @UID_OrgBOTarget select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH  ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PITShop_ShopMove",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.767",
      "ModifyDate": "2026-04-14T23:20:39.303",
      "Definition": "   create   procedure QER_PITShop_ShopMove (@UID_OrgSHSource varchar(38)  , @UID_OrgSCTarget varchar(38)  ) as begin declare @uid_orgCU_Source varchar\r\n(38) declare @UID_OrgSC_Source varchar(38) declare @UID_OrgSH_Target varchar(38) declare @UID_OrgCU_Target varchar(38) declare @UID_DynamicGroup_Source\r\n varchar(38) declare @UID_DynamicGroup_Target varchar(38) declare @countCustomer_Source int declare @WhereClause nvarchar(max) declare @startat datetime\r\n declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @UID_OrgBOSource varchar(38) declare @GenProcID varchar\r\n(38) declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() declare @FullPathSCTarget nvarchar(400) SET XACT_ABORT \r\nOFF BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext('')  select @uid_orgCU_Source = null select top 1 @uid_orgCU_Source = cu.uid_org , @UID_OrgSC_Source\r\n = sc.uid_org from Basetree sh join BaseTree cu on cu.uid_parentorg = sh.UID_Org and cu.itShopInfo = 'CU'  left outer join Basetree sc on sh.UID_ParentOrg\r\n = sc.uid_org where sh.uid_org = @UID_OrgSHSource and sh.uid_OrgRoot = 'QER-V-ITShopOrg' and sh.ITShopInfo = 'SH' if @uid_orgCU_Source is null begin raiserror\r\n( '#LDS#The customer node cannot be found in shop (source).|', 18, 2) with nowait end  if not exists (select top 1 1 from BaseTree where uid_OrgRoot = \r\n'QER-V-ITShopOrg' and ITShopInfo = 'SC' and uid_Org = @UID_OrgSCTarget ) begin  raiserror( '#LDS#The given target node is not a shopping center.|', 18,\r\n 2) with nowait end  if isnull(@UID_OrgSC_Source, '') = @UID_OrgSCTarget begin  goto ende end  if not exists (select top 1 1 from BaseTree where uid_OrgRoot\r\n = 'QER-V-ITShopOrg' and ITShopInfo = 'SH' and uid_Org = @UID_OrgSHSource and dbo.QBM_FGIGuidIsValid(uid_Org) & 2 = 0 ) begin raiserror( '#LDS#The given shop (source) must not be moved to another shoping center.|'\r\n, 18, 2) with nowait end  if exists (select top 1 1 from BaseTree targetSH where targetSH.uid_OrgRoot = 'QER-V-ITShopOrg' and targetSH.ITShopInfo = 'SH'\r\n and targetSH.uid_ParentOrg = @UID_OrgSCTarget and targetSH.Ident_Org in (select Ident_Org from Basetree where uid_org = @UID_OrgSHSource) ) begin raiserror\r\n( '#LDS#The target shopping center already contains a shop with the same ident.|', 18, 2) with nowait end  select top 1 @FullPathSCTarget = fullpath from\r\n Basetree where UID_Org = @UID_OrgSCTarget  select @UID_OrgSH_Target = newid() insert into BaseTree( UID_Org, UID_ParentOrg, Ident_Org , IsCutNode, Description\r\n , uid_OrgRoot , UID_PersonHead, UID_PersonHeadSecond, UID_OrgDepartment, UID_OrgLocality, UID_OrgProfitCenter, UID_OrgAttestator , XDateInserted , XDateUpdated\r\n , XUserInserted , XUserUpdated, InternalName , FullPath ,Commentary , ITShopInfo , XObjectKey , IsInvalidForDynamicGroup , UID_PWODecisionMethod ) select\r\n @UID_OrgSH_Target, @UID_OrgSCTarget, b.Ident_Org, 0, b.Description, b.UID_OrgRoot , b.UID_PersonHead, b.UID_PersonHeadSecond, b.UID_OrgDepartment, b.UID_OrgLocality\r\n, b.UID_OrgProfitCenter, b.UID_OrgAttestator , GetUTCDate(), GetUTCDate(), 'QER_PITShopShopMove', 'QER_PITShopShopMove', b.InternalName, concat(@FullPathSCTarget\r\n, '\\', b.Ident_Org), b.Commentary , 'SH', dbo.QBM_FCVElementToObjectKey1('ITShopOrg', 'UID_ITShopOrg', @UID_OrgSH_Target) , 1 , b.UID_PWODecisionMethod\r\n from Basetree b where b.uid_org = @UID_OrgSHSource                 select @UID_OrgCU_Target = newid() insert into BaseTree( UID_Org, UID_ParentOrg, Ident_Org\r\n , IsCutNode, Description , uid_OrgRoot , UID_PersonHead, UID_PersonHeadSecond, UID_OrgDepartment, UID_OrgLocality, UID_OrgProfitCenter, UID_OrgAttestator\r\n , XDateInserted , XDateUpdated , XUserInserted , XUserUpdated, InternalName , FullPath ,Commentary , ITShopInfo , XObjectKey , IsInvalidForDynamicGroup\r\n ) select @UID_OrgCU_Target, @UID_OrgSH_Target, b.Ident_Org, 0, b.Description, b.UID_OrgRoot , b.UID_PersonHead, b.UID_PersonHeadSecond, b.UID_OrgDepartment\r\n, b.UID_OrgLocality, b.UID_OrgProfitCenter, b.UID_OrgAttestator , GetUTCDate(), GetUTCDate(), 'QER_PITShopShopMove', 'QER_PITShopShopMove', b.InternalName\r\n, concat(@FullPathSCTarget, '\\\\', b.Ident_Org), b.Commentary , 'CU', dbo.QBM_FCVElementToObjectKey1('ITShopOrg', 'UID_ITShopOrg', @UID_OrgCU_Target) , \r\n0 from Basetree b where b.uid_org = @uid_orgCU_Source  select @WhereClause = 'UID_ITShopOrg = ''' + @UID_OrgCU_Target + '''' select @startat = dateadd(mi\r\n, -5, GetUTCDate()) exec QBM_PJobCreate_HOTemplate_B 'ITShopOrg', @WhereClause, 'FullPath' , @GenProcID , @AdditionalObjectKeysAffected = default , @priority\r\n = 10 , @startat = @startat        insert into ITShopOrgHasPWODecisionMethod (UID_ITShopOrg, UID_PWODecisionMethod , XObjectkey , XDateInserted, XDateUpdated\r\n, XUserInserted, XUserUpdated ) select @UID_OrgSH_Target, o.UID_PWODecisionMethod , dbo.QBM_FCVElementToObjectKey2('ITShopOrgHasPWODecisionMethod', 'UID_ITShopOrg'\r\n, @UID_OrgSH_Target, 'UID_PWODecisionMethod', o.UID_PWODecisionMethod) , GetUTCDate(), GetUTCDate(), 'QER_PITShopShopMove', 'QER_PITShopShopMove' from \r\nITShopOrgHasPWODecisionMethod o where o.UID_ITShopOrg = @UID_OrgSHSource   insert into PersonInITShopOrg (UID_Person, UID_ITShopOrg , XOrigin, XObjectkey\r\n , XDateInserted, XDateUpdated, XUserInserted, XUserUpdated ) select o.UID_Person, @UID_OrgCU_Target , 1, dbo.QBM_FCVElementToObjectKey2('PersonInITShopOrg'\r\n, 'UID_ITShopOrg', @UID_OrgCU_Target, 'UID_Person', o.UID_Person) , GetUTCDate(), GetUTCDate(), 'QER_PITShopShopMove', 'QER_PITShopShopMove' from PersonInITShopOrg\r\n o where o.UID_ITShopOrg = @uid_orgCU_Source and o.XOrigin & 1 > 0  select @UID_DynamicGroup_Source = null select @UID_DynamicGroup_Target = null select\r\n top 1 @UID_DynamicGroup_Source = UID_DynamicGroup from DynamicGroup where ObjectKeyBaseTree = dbo.QBM_FCVElementToObjectKey1('ITShopOrg', 'UID_ITShopOrg'\r\n, @uid_orgCU_Source) and UID_DialogTableObjectClass = 'QER-T-Person' if @UID_DynamicGroup_Source is not null begin select @UID_DynamicGroup_Target = newid\r\n() insert into DynamicGroup (UID_DynamicGroup, UID_DialogTableObjectClass, UID_DialogSchedule , ObjectKeyBaseTree , DisplayName, Description , WhereClause\r\n, WhereClauseAddOn , XObjectkey , XDateInserted, XDateUpdated, XUserInserted, XUserUpdated ) select @UID_DynamicGroup_Target, o.UID_DialogTableObjectClass\r\n, o.UID_DialogSchedule , dbo.QBM_FCVElementToObjectKey1('ITShopOrg', 'UID_ITShopOrg', @uid_orgCU_Target) , o.DisplayName, o.Description , o.WhereClause\r\n, o.WhereClauseAddOn , dbo.QBM_FCVElementToObjectKey1('DynamicGroup', 'UID_DynamicGroup', @UID_DynamicGroup_Target) , GetUTCDate(), GetUTCDate(), 'QER_PITShopShopMove'\r\n, 'QER_PITShopShopMove' from DynamicGroup o where o.UID_DynamicGroup = @UID_DynamicGroup_Source         end  insert into @ElementBuffer (UID1) select bo.UID_Org\r\n from basetree bo join basetree sh on bo.UID_ParentOrg = sh.UID_Org where bo.ITShopInfo = 'BO' and bo.UID_OrgRoot = 'QER-V-ITShopOrg' and sh.UID_Org = \r\n@UID_OrgSHSource select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @UID_OrgBOSource = \r\nbu.UID1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex exec QER_PITShop_BoardMove @UID_OrgBOSource, @UID_OrgSH_Target select @ElementIndex\r\n += 1 end          delete DynamicGroup where UID_DynamicGroup = @UID_DynamicGroup_Source  update PersonInBaseTree set XOrigin = 0  , XDateUpdated = @Xdate\r\n , XUserUpdated = @XUser where UID_Org = @uid_orgCU_Source delete PersonInBaseTree where UID_Org = @uid_orgCU_Source delete BaseTree where UID_Org = @uid_orgCU_Source\r\n  delete BaseTree where UID_Org = @UID_OrgSHSource END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH  ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PITShopBoardPrepareDelete",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:05.777",
      "ModifyDate": "2026-04-14T23:20:37.827",
      "Definition": "     create   procedure QER_PITShopBoardPrepareDelete (@uid_org varchar(38) ) as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') declare @ElementBuffer QBM_YCursorBuffer declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() SET XACT_ABORT\r\n OFF BEGIN TRY   update PersonInBaseTree set XOrigin = 0  , XDateUpdated = @Xdate , XUserUpdated = @XUser where UID_Org = @uid_org delete PersonInBaseTree\r\n where uid_org = @uid_org update PersonInBaseTree set XOrigin = 0 where UID_Org in (select uid_org from BaseTree where uid_parentorg = @uid_org) delete\r\n PersonInBaseTree where uid_org in (select uid_org from BaseTree where uid_parentorg = @uid_org)  insert into @ElementBuffer (ContentFull) select concat\r\n('\r\n\t\tdelete ' , t.TableName , ' where uid_org = ''' , @uid_org , '''' ) from BaseTreeAssign a join DialogTable t with (readpast) on a.UID_DialogTableMN\r\n = t.UID_DialogTable join DialogTable prod with (readpast) on a.UID_DialogTableElement = prod.UID_DialogTable    where a.IsITShopEnabled = 1 exec QBM_PExecuteSQLMulti\r\n @ElementBuffer, 0, @@PROCID  exec QER_ZITShopProductNodeCheck 0, @uid_org, null, @genprocID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare\r\n @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PITShopCheckMethodBO",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-09-22T13:35:02.037",
      "ModifyDate": "2026-04-14T23:20:38.08",
      "Definition": "     create   procedure QER_PITShopCheckMethodBO (@Boards QBM_YCursorBuffer readonly) as begin declare @uid_OrgBO varchar(38) declare @uid_PWODecisionMethod\r\n varchar(38) declare @GenProcID varchar(38) declare @GenProcIDErsatz varchar(38) declare @CountItems int select @CountItems = 0 declare @CollectionBeforeAll\r\n QBM_YMNTable declare @CollectionAfterAll QBM_YMNTable declare @XUser nvarchar(64) = object_name(@@procid) BEGIN TRY select @GenProcIDErsatz = max(UID2\r\n) from @Boards where UID2 > ' ' if isnull(@GenProcIDErsatz, '') = '' begin select @GenProcIDErsatz = newid() end insert into @CollectionBeforeAll (UID_Element1\r\n , UID_Element2 , XOrigin) select r.uid_PWODecisionMethod, r.uid_OrgBO , count(*) from PWOHelperBoardMethod r join @Boards p on r.uid_orgBO = p.UID1 left\r\n outer Join pwodecisionmethod m on r.uid_PWODecisionMethod = m.uid_PWODecisionMethod left outer join PWODecisionStep s on m.UID_SubMethodOrderProduct =\r\n s.UID_PWODecisionSubMethod group by r.uid_PWODecisionMethod, r.uid_OrgBO insert into @CollectionAfterAll (UID_Element1 , UID_Element2 , XOrigin) select\r\n substring(min(x.rang),5,38) as uid_PWODecisionmethod , x.uid_org, cast(substring(min(x.rang),3,2) as int) as CountItems from  ( select cast(4000 + (1000-\r\n 100* isnull(priority,0)) + isnull(xs.CountItems,0) as nchar(4)) + dm.uid_PWODecisionMethod as rang, bo.uid_org from @Boards p join BaseTree bo on p.UID1\r\n = bo.uid_org join BaseTreeHasPWODecisionMethod ohdm on bo.uid_org = ohdm.uid_org join PWODecisionMethod dm on ohdm.uid_PWODecisionMethod = dm.uid_PWODecisionMethod\r\n left outer join ( select pm.uid_pwodecisionmethod, count(*) as CountItems from pwodecisionstep ps join pwodecisionmethod pm on pm.UID_SubMethodOrderProduct\r\n = ps.UID_PWODecisionSubMethod group by pm.uid_pwodecisionmethod ) as xs on dm.uid_PWODecisionMethod = xs.uid_PWODecisionMethod where (isnull(dm.UID_OrgType\r\n,'') = '' or isnull(bo.UID_OrgType,'') = isnull(dm.UID_OrgType,''))  union all  select cast(5000 + (1000- 100*isnull(priority,0)) + isnull(xs.CountItems\r\n,0) as nchar(4)) + dm.uid_PWODecisionMethod , bo.uid_org from @Boards p join BaseTree bo on p.UID1 = bo.uid_org join BaseTree sh on bo.uid_parentorg = \r\nsh.uid_org join BaseTreeHasPWODecisionMethod ohdm on sh.uid_org = ohdm.uid_org join PWODecisionMethod dm on ohdm.uid_PWODecisionMethod = dm.uid_PWODecisionMethod\r\n left outer join ( select pm.uid_pwodecisionmethod, count(*) as CountItems from pwodecisionstep ps join pwodecisionmethod pm on pm.UID_SubMethodOrderProduct\r\n = ps.UID_PWODecisionSubMethod group by pm.uid_pwodecisionmethod ) as xs on dm.uid_PWODecisionMethod = xs.uid_PWODecisionMethod where (isnull(dm.UID_OrgType\r\n,'') = '' or isnull(bo.UID_OrgType,'') = isnull(dm.UID_OrgType,''))  union all  select cast(6000 + (1000- 100*isnull(priority,0)) + isnull(xs.CountItems\r\n,0) as nchar(4)) + dm.uid_PWODecisionMethod , bo.uid_org from @Boards p join BaseTree bo on p.UID1 = bo.uid_org join BaseTree sh on bo.uid_parentorg = \r\nsh.uid_org join BaseTree sc on sh.uid_parentorg = sc.uid_org join BaseTreeHasPWODecisionMethod ohdm on sc.uid_org = ohdm.uid_org join PWODecisionMethod\r\n dm on ohdm.uid_PWODecisionMethod = dm.uid_PWODecisionMethod left outer join ( select pm.uid_pwodecisionmethod, count(*) as CountItems from pwodecisionstep\r\n ps join pwodecisionmethod pm on pm.UID_SubMethodOrderProduct = ps.UID_PWODecisionSubMethod group by pm.uid_pwodecisionmethod ) as xs on dm.uid_PWODecisionMethod\r\n = xs.uid_PWODecisionMethod where (isnull(dm.UID_OrgType,'') = '' or isnull(bo.UID_OrgType,'') = isnull(dm.UID_OrgType,''))  union all  select cast(1000\r\n + (1000- 100* isnull(priority,0)) as nchar(4)) + dm.uid_PWODecisionMethod as rang, bo.uid_org from @Boards p join BaseTree bo on p.UID1 = bo.uid_org join\r\n BaseTreeHasPWODecisionMethod ohdm on bo.uid_org = ohdm.uid_org join PWODecisionMethod dm on ohdm.uid_PWODecisionMethod = dm.uid_PWODecisionMethod join\r\n PWODecisionSubMethod sm on dm.UID_SubMethodOrderProduct = sm.UID_PWODecisionSubMethod join PWODecisionStep s on sm.uid_PWODecisionSubMethod = s.uid_PWODecisionSubMethod\r\n and s.UID_PWODecisionRule = 'QER-PWODecisionRule-SB' where (isnull(dm.UID_OrgType,'') = '' or isnull(bo.UID_OrgType,'') = isnull(dm.UID_OrgType,'')) )\r\n as x group by x.uid_org   delete PWOHelperBoardMethod from PWOHelperBoardMethod h join ( select v.UID_Element2 , p.UID2 from @CollectionBeforeAll v join\r\n @Boards p on v.UID_Element2  = p.UID1 where not exists ( select top 1 1 from @CollectionAfterAll n where n.UID_Element2  = v.UID_Element2  and n.UID_Element1\r\n  = v.UID_Element1   ) ) as x on h.uid_orgBO = x.UID_Element2    Insert into PWOHelperBoardMethod (uid_OrgBO, uid_PWODecisionMethod) select n.UID_Element2\r\n , n.UID_Element1  from @CollectionAfterAll n join @Boards p on n.UID_Element2  = p.UID1 where not exists ( select top 1 1 from @CollectionBeforeAll v \r\nwhere n.UID_Element2  = v.UID_Element2  and n.UID_Element1  = v.UID_Element1   )   declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select b.uid_org as uid, p.UID2 as GenProcID from @Boards p join ( select UID_Element2\r\n  from @CollectionBeforeAll v where not exists ( select top 1 1 from @CollectionAfterAll n where n.UID_Element2  = v.UID_Element2  and n.UID_Element1  \r\n= v.UID_Element1   ) union select UID_Element2  from @CollectionAfterAll n where not exists ( select top 1 1 from @CollectionBeforeAll v where n.UID_Element2\r\n  = v.UID_Element2  and n.UID_Element1  = v.UID_Element1   ) ) as m on p.UID1 = m.UID_Element2   join BaseTree b on b.uid_parentorg = m.UID_Element2  )\r\n as x exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackProductNode', @DBQueueElements_01 if @CountItems > 0 begin exec QBM_PDBQueueInsert_Single 'QER-K-ShoppingRackPWODecisionMaker'\r\n, '', '', @GenProcIDErsatz end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PITShopHelperFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:05.933",
      "ModifyDate": "2026-04-14T23:20:38.043",
      "Definition": "   create   procedure QER_PITShopHelperFill (@uid_Personwantsorg varchar(38) , @GenProcID varchar(38) , @isNewDecisionLevel bit = 0  , @CurrentLevelOnly\r\n int = 0 ) with execute as 'dbo' as begin declare @PWOs QBM_YParameterlist      SET XACT_ABORT OFF BEGIN TRY insert into @PWOs (Parameter1, Parameter2,\r\n Parameter3, HasContentFull) select @uid_Personwantsorg, @GenProcID, dbo.QBM_FCVIntToString(@CurrentLevelOnly), @isNewDecisionLevel exec QER_PITShopHelperFill_bulk\r\n @PWOs END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: revert return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PITShopHelperFill_bulk",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:05.93",
      "ModifyDate": "2026-04-14T23:20:38.037",
      "Definition": "create   procedure QER_PITShopHelperFill_bulk (@PWOs QBM_YParameterlist readonly      ) with execute as 'dbo' as begin declare @GenProcID_R varchar\r\n(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser') declare @CfgUseGenProcID bit = dbo.QBM_FCVStringToBit\r\n(dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\UseGenProcIDFromPWO')) declare @ElementLast int declare @ElementBufferMulti_1 QBM_YCursorBuffer declare\r\n @ElementCount int declare @ElementIndex int declare @ElementCountPWO int declare @ElementIndexPWO int declare @DBQueueElements_CheckDecision QBM_YDBQueueRaw\r\n declare @DBQueueElements_MakeDecisionOC QBM_YDBQueueRaw declare @DBQueueElements_MakeDecisionOH QBM_YDBQueueRaw declare @DBQueueElements_MakeDecisionEX\r\n QBM_YDBQueueRaw declare @PWOToCheck QER_YPWOBufferForHelper declare @PWOHelperPWO_Old QER_YPWOHelper declare @PWOHelperPWO_New QER_YPWOHelper declare \r\n@hilfstab QER_YPWOHelperCPL declare @CountItemsException int declare @UID_PWO varchar(38) declare @SubLevelNumber int declare @LevelNumber int declare \r\n@LevelNumber_alt int declare @uid_complianceRule varchar(38) declare @uid_complianceRule_max varchar(38) declare @UID_PersonNonCompliant varchar(38) declare\r\n @FunctionName varchar(30) declare @UID_PWODecisionRule varchar(38) declare @UID_QERWorkingStep varchar(38) declare @countApproverNeeded int declare @SQLCmd\r\n nvarchar(max) declare @countApproverAvailable int declare @GenProcIDToUse varchar(38) declare @DecisionLevelToUse int declare @SonderBehandlungException\r\n bit = 0 declare @DebugSwitch int = 0 declare @cfgPersonOrderedNoDecide bit = dbo.QBM_FCVStringToBit(dbo.QBM_FGIConfigparmValue('QER\\ITShop\\PersonOrderedNoDecide'\r\n)) declare @cfgPersonInsertedNoDecide bit = dbo.QBM_FCVStringToBit(dbo.QBM_FGIConfigparmValue('QER\\ITShop\\PersonInsertedNoDecide')) declare @OrderState\r\n nvarchar(16) declare @QBM_BitPatternXMarkedForDel_Delay int = dbo.QBM_FGIBitPatternXMarkedForDel('|Delay|', 0) declare @XUser nvarchar(64) = object_name\r\n(@@procid) declare @Xdate datetime = getutcdate() declare @PWOAndLevel table ( UID_PersonWantsOrg varchar(38) collate database_default , LevelNumber int\r\n default 0 , index PWOAndLevel1 (UID_PersonWantsOrg) ) declare @Calltype varchar(1)  SET XACT_ABORT OFF BEGIN TRY drop table if exists #PWOHelperPWO_New\r\n create table #PWOHelperPWO_New( UID_PWODecisionRule varchar(38) collate database_default , uid_personHead varchar(38) collate database_default , uid_QERWorkingStep\r\n varchar(38) collate database_default , levelnumber int default 0 , Sublevelnumber int default 0 , istoInsert bit default 0 , UID_PWORulerOrigin varchar\r\n(38) collate database_default , RulerLevel int default 0 , UID_PersonWantsOrg varchar(38) collate database_default , UID_PersonSubstituteSender varchar\r\n(38) collate database_default )  insert into @PWOToCheck (UID_PersonWantsOrg, GenProcid, CurrentLevelOnly, IsNewDecisionLevel , makeEmpty , Decisionlevel\r\n , UID_QERWorkingMethod , Orderstate , SonderlockeException , UID_ITShopOrgFinal , validFrom, ValidUntil, isOrderforWorkDesk, UID_PersonOrdered, UID_OrgParent\r\n, UID_PersonInserted, isReserved, UID_PersonHead ) select distinct p.Parameter1, dbo.QER_FGIGenProcIDForPWO(isnull(pwo.GenProcID, p.Parameter2) , p.Parameter2\r\n, @CfgUseGenProcID) as GenProcid , dbo.QBM_FCVStringToInt(p.Parameter3, 0) as CurrentLevelOnly , p.HasContentFull as IsNewDecisionLevel  ,  case when pwo.UID_PersonWantsOrg\r\n is null then 1 when pwo.OrderState not in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe') then 1 else 0 end as makeEmpty , pwo.decisionlevel ,\r\n pwo.UID_QERWorkingMethod , pwo.OrderState  , sign(len(isnull(sOC.UID_QERWorkingStep, ''))) as SonderlockeException , pwo.UID_ITShopOrgFinal , pwo.ValidFrom\r\n, pwo.ValidUntil, isOrderforWorkDesk, UID_PersonOrdered, UID_OrgParent, pwo.UID_PersonInserted, pwo.IsReserved, UID_PersonHead from @PWOs p left outer \r\njoin PersonWantsOrg pwo on p.Parameter1 = pwo.UID_PersonWantsOrg  left outer join QERWorkingStep sOC on pwo.UID_QERWorkingMethod = sOC.UID_QERWorkingMethod\r\n and sOC.UID_PWODecisionRule in ('CPL-PWODecisionRule-OC', 'CPL-PWODecisionRule-OH') and (dbo.QBM_FCVStringToInt(p.Parameter3, 0)  = 0 or (  sOC.LevelNumber\r\n = pwo.DecisionLevel ) ) select @ElementCountPWO = @@ROWCOUNT       insert into @PWOAndLevel (UID_PersonWantsOrg, LevelNumber) select h.UID_PersonWantsOrg\r\n, h.LevelNumber from @PWOToCheck pwo join PWOHelperPWO h on h.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg group by h.UID_PersonWantsOrg, h.LevelNumber \r\n , pwo.DecisionLevel having ( (max(pwo.CurrentLevelOnly) = 1 and pwo.DecisionLevel = h.LevelNumber)  or (max(pwo.CurrentLevelOnly) = 0 and (MAX(isnull(h.Decision\r\n, '')) = ''  or pwo.DecisionLevel = h.LevelNumber  ) ) ) union select pwo.UID_PersonWantsOrg, s.LevelNumber from @PWOToCheck pwo join QERWorkingStep s \r\non pwo.UID_QERWorkingMethod = s.UID_QERWorkingMethod where not exists (select top 1 1 from PWOHelperPWO h where h.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg\r\n   and h.LevelNumber = s.LevelNumber and h.SubLevelNumber = s.SubLevelNumber )  if @DebugSwitch > 0 begin print 'initialbefüllung @PWOToCheck' select *\r\n from @PWOToCheck end insert into @PWOHelperPWO_Old (UID_PWODecisionRule, uid_personHead, levelnumber, SubLevelNumber, UID_QERWorkingStep, decision, uid_complianceRule\r\n, uid_PersonNonCompliant, UID_PWORulerOrigin , UID_PersonAdditional, UID_PersonInsteadOf, IsFromDelegation, RulerLevel , IsToDelete , UID_PWOHelperPWO \r\n, isToUpdateDecision , UID_PersonWantsOrg , NextAutomaticDecision ) select isnull(UID_PWODecisionRule, ''), pwoh.UID_PersonHead, levelnumber, SubLevelNumber\r\n, pwoh.uid_QERWorkingStep, isnull(pwoh.decision,''), uid_complianceRule, uid_PersonNonCompliant, UID_PWORulerOrigin , UID_PersonAdditional, UID_PersonInsteadOf\r\n, IsFromDelegation, RulerLevel , case when c.makeEmpty = 1 then 1   when pwoh.Decision = '-' then 1 else 0 end as IsToDelete , pwoh.UID_PWOHelperPWO , \r\ncase when pwoh.Decision is null then 1 else 0 end as isToUpdateDecision , c.UID_PersonWantsOrg , pwoh.NextAutomaticDecision from PWOHelperPWO pwoh with\r\n (readpast) join @PWOToCheck c on pwoh.UID_PersonWantsOrg = c.UID_PersonWantsOrg  where   exists (select top 1 1 from @PWOAndLevel pl where pl.UID_PersonWantsOrg\r\n = pwoh.UID_PersonWantsOrg and pl.LevelNumber = pwoh.LevelNumber ) or c.makeEmpty = 1 update @PWOToCheck set CheckSumHelper = x.CheckSumHelper from @PWOToCheck\r\n p join ( select c.UID_PersonWantsOrg, checksum_agg(checksum(concat(h.UID_PWOHelperPWO, h.Decision))) as CheckSumHelper from @PWOToCheck c left outer join\r\n PWOHelperPWO h with (readpast) on c.UID_PersonWantsOrg = h.UID_PersonWantsOrg  group by c.UID_PersonWantsOrg ) as x on p.UID_PersonWantsOrg = x.UID_PersonWantsOrg\r\n  if @DebugSwitch > 0 begin print 'initialbefüllung @PWOHelperPWO_Old' select * from @PWOHelperPWO_Old end                   if exists (select top 1 1 \r\nfrom @PWOToCheck c where c.SonderlockeException = 1         ) begin select @SonderBehandlungException = 1 end  if @SonderBehandlungException = 1 begin \r\ninsert into @hilfstab (uid_complianceRule, uid_personNonCompliant, SubLevelNumber, RuleSeverity, isHighestSeverity , Levelnumber , UID_PersonWantsOrg )\r\n select pic.uid_complianceRule, pic.uid_person, -1, isnull(c.RuleSeverity, 0.0), 0 , sOC.Levelnumber , pwo.UID_PersonWantsOrg from HelperPWOCompliance \r\npic join @PWOToCheck  pwo on pic.uid_personwantsorg = pwo.uid_personwantsorg and pwo.SonderlockeException = 1 join ComplianceRule c on pic.uid_complianceRule\r\n = c.uid_complianceRule  and c.IsInActive = 0 and c.IsWorkingCopy = 0  join QERWorkingStep sOC on sOC.UID_QERWorkingMethod = pwo.UID_QERWorkingMethod and\r\n sOC.UID_PWODecisionRule in ('CPL-PWODecisionRule-OC', 'CPL-PWODecisionRule-OH') join QERWorkingStep sCC on sCC.UID_QERWorkingMethod = pwo.UID_QERWorkingMethod\r\n and sCC.UID_PWODecisionRule in ('CPL-PWODecisionRule-CR') and sCC.levelnumber + sCC.NegativeSteps = sOC.Levelnumber   group by pwo.UID_PersonWantsOrg,\r\n pic.uid_complianceRule, pic.uid_Person, isnull(c.RuleSeverity, 0.0), sOC.Levelnumber order by pwo.UID_PersonWantsOrg, pic.uid_complianceRule, pic.uid_Person\r\n, isnull(c.RuleSeverity, 0.0), sOC.Levelnumber  update @PWOToCheck set CountItemsException = x.anzahl from @PWOToCheck c join ( select h.UID_PersonWantsOrg\r\n, count(*) as anzahl from @hilfstab h group by h.UID_PersonWantsOrg ) as x on x.UID_PersonWantsOrg = c.UID_PersonWantsOrg where c.SonderlockeException \r\n= 1  insert into PWODecisionHistory ( UID_PWODecisionHistory , XObjectKey , UID_PersonRelated , UID_PersonWantsOrg, DisplayPersonHead, ReasonHead, DateHead\r\n , XDateInserted, XDateUpdated, XUserInserted, XUserUpdated, DecisionLevel , ValidUntil, ValidFrom , DecisionType , IsDecisionBySystem , UID_PWODecisionRule\r\n , OrderState , UID_ITShopOrgFinal , IsToHideInHistory , UID_ComplianceRule ) select c.UID_HelperPWOCompliance , dbo.QBM_FCVElementToObjectKey1('PWODecisionHistory'\r\n, 'UID_PWODecisionHistory', c.UID_HelperPWOCompliance) , c.UID_Person , pwo.UID_PersonWantsOrg, 'compliance violation detected', 'compliance violation detected'\r\n, GETUTCDATE() , GETUTCDATE(), GETUTCDATE(), 'sa', 'sa', pwo.DecisionLevel , pwo.ValidUntil, pwo.ValidFrom , 'Compliance' , 1  , null , pwo.OrderState \r\n, pwo.UID_ITShopOrgFinal , 1  , c.UID_ComplianceRule from HelperPWOCompliance c join @PWOToCheck  pwo on c.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg \r\nwhere not exists (select top 1 1 from PWODecisionHistory h where h.UID_PWODecisionHistory = c.UID_HelperPWOCompliance ) and not exists (select top 1 1 \r\nfrom PWODecisionHistory h where h.UID_ComplianceRule = c.UID_ComplianceRule and h.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg )   select @ElementIndexPWO\r\n = 1 while @ElementIndexPWO <= @ElementCountPWO begin select top 1 @CountItemsException = c.CountItemsException , @UID_PWO = c.UID_PersonWantsOrg from \r\n@PWOToCheck c where c.ElementIndex = @ElementIndexPWO if @CountItemsException > 0  begin select @SubLevelNumber = 0 select @Levelnumber_alt = -100 delete\r\n  @ElementBufferMulti_1  insert into @ElementBufferMulti_1 (Int1, UID1, UID2) select h.Levelnumber, h.UID_ComplianceRule, h.UID_PersonNonCompliant from\r\n @hilfstab h where h.UID_PersonWantsOrg = @UID_PWO order by h.Levelnumber, h.UID_ComplianceRule, h.UID_PersonNonCompliant select @ElementCount = @@ROWCOUNT\r\n select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @Levelnumber\r\n = bu.Int1 , @uid_complianceRule = bu.UID1 , @UID_PersonNonCompliant = bu.UID2 from @ElementBufferMulti_1 bu where bu.ElementIndex = @ElementIndex if @levelnumber\r\n <> @Levelnumber_alt begin  select @levelnumber_alt = @levelnumber select @SubLevelNumber = 0  select top 1 @uid_complianceRule_max = h.UID_ComplianceRule\r\n from @hilfstab h where h.levelnumber = @levelnumber and h.UID_PersonWantsOrg = @UID_PWO order by isnull(h.RuleSeverity, 0.0) desc, uid_compliancerule \r\nasc update @hilfstab set isHighestSeverity = 1 from @hilfstab h where h.UID_ComplianceRule = @uid_complianceRule_max and h.Levelnumber = @Levelnumber and\r\n h.UID_PersonWantsOrg = @UID_PWO end else  begin select @SubLevelNumber = @SubLevelNumber + 1 end update @Hilfstab set SubLevelNumber = @SubLevelNumber\r\n from @hilfstab h where h.UID_ComplianceRule = @uid_complianceRule and UID_PersonNonCompliant = @UID_PersonNonCompliant and h.Levelnumber = @levelnumber\r\n and h.UID_PersonWantsOrg = @UID_PWO select @ElementIndex += 1 end  end  select @ElementIndexPWO += 1 end  end Update @PWOHelperPWO_Old set isToDelete \r\n= 1 from @PWOHelperPWO_Old zk join (select * from @PWOHelperPWO_Old ) as d on zk.UID_PWODecisionRule = d.UID_PWODecisionRule and zk.uid_QERWorkingStep \r\n= d.uid_QERWorkingStep and zk.levelnumber = d.levelnumber and zk.Sublevelnumber = d.Sublevelnumber and zk.UID_PersonWantsOrg = d.UID_PersonWantsOrg where\r\n zk.UID_PersonInsteadOf = d.UID_PersonHead  and d.UID_PersonInsteadOf > ' '       declare @ElementAufruf QBM_YCursorbuffer insert into @ElementAufruf (UID1\r\n, UID2 , Ident1  , Int1  , Int2  , Int3  , UID3  , Ident2  ) select distinct s.UID_PWODecisionRule, s.UID_QERWorkingStep , dbo.QER_FCVRuleGUIDToFunctionName\r\n(s.UID_PWODecisionRule) , s.LevelNumber, s.SubLevelNumber , s.CountApprover , pwo.UID_PersonWantsOrg , pwo.Orderstate from @PWOToCheck  pwo join QERWorkingStep\r\n s on s.UID_QERWorkingMethod = pwo.UID_QERWorkingMethod where  ( pwo.isOrderforWorkDesk = 1 or exists (select top 1 1 from BaseTree bo join BaseTree sh\r\n on bo.uid_ParentOrg = sh.uid_Org and bo.itshopInfo = 'BO' and sh.itshopInfo = 'SH' join BaseTree cu on cu.uid_ParentOrg = sh.uid_Org and cu.ITShopInfo\r\n = 'CU' join PersonInBaseTree pio on pio.uid_Org = cu.uid_Org and pwo.uid_PersonOrdered = pio.UID_Person and pio.XOrigin > 0 where bo.uid_Org = pwo.UID_OrgParent\r\n ) ) and (   exists (select top 1 1 from @PWOAndLevel pl where pl.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg and pl.LevelNumber = s.LevelNumber ) )  and\r\n pwo.makeEmpty = 0  order by s.UID_PWODecisionRule  select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast\r\n = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @UID_PWODecisionRule = bu.UID1 , @UID_QERWorkingStep = bu.UID2 , @FunctionName = bu.Ident1\r\n , @LevelNumber = bu.Int1 , @SublevelNumber = bu.Int2 , @countApproverNeeded = bu.Int3 , @UID_PWO = bu.UID3 , @OrderState = bu.Ident2 from @ElementAufruf\r\n bu where bu.ElementIndex = @ElementIndex   select top 1 @Calltype = case o.type when 'IF' then 'F' when 'TF' then 'F' when 'P' then 'P' else '' end from\r\n sys.objects o where o.name = @FunctionName if @Calltype = '' begin goto zyklusende end if @Calltype = 'P' begin truncate table #PWOHelperPWO_New end  \r\n        select @SQLcmd = '' if @Calltype = 'P' begin   select @SQLCmd = concat('drop table if exists #Ruler_main\r\n\t\t\t\t\t\t\t\t\tcreate table #Ruler_main(UID_Person varchar(38) collate database_default\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t, UID_PWORulerOrigin varchar(38) collate database_default\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\texec '\r\n , @functionname , ' ''' , @UID_PWO , ''', ''' , @UID_QERWorkingStep , '''\r\n\t\t\t\t\t\t\t\t\t' ) end select @SQLcmd = concat( @SQLcmd ,'\r\n\t\t\t\t\tdeclare @PersonAndLevel QBM_YParameterList\r\n\r\n\t\t\t\t\tinsert into @PersonAndLevel (Parameter1, Parameter2, Parameter3)\r\n\t\t\t\t\tselect s.uid_person,  max(s.UID_PWORulerOrigin), s.RulerLevel\r\n\t\t\t\t\t  from (\r\n\t\t\t\t\t\t\t\t'\r\n, case @Calltype when 'F' then concat( 'select a1.uid_person, a1.UID_PWORulerOrigin, ''0'' as RulerLevel\r\n\t\t\t\t\t\t\t\tfrom dbo.' , @functionname , ' (''' ,\r\n @UID_PWO , ''', ''' , @UID_QERWorkingStep , ''') a1 ' )  else  'select uid_person, UID_PWORulerOrigin, ''0'' as RulerLevel\r\n\t\t\t\t\t\t\t\t\t\tfrom #Ruler_main '\r\n end , '\r\n\t\t\t\t\t\t\t\tunion all\r\n\t\t\t\t\t\t\t\tselect  pio.UID_Person, dbo.QER_FGIPWORulerOrigin(pio.XObjectKey) as UID_PWORulerOrigin, ''1'' as Rulerlevel\r\n\t\t\t\t\t\t\t\t\tfrom QERWorkingStep s join PersonInBaseTree pio on s.UID_AERoleFallBack = pio.UID_Org\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand pio.XOrigin > 0\r\n\t\t\t\t\t\t\t\t\twhere s.UID_QERWorkingStep = '''\r\n , @UID_QERWorkingStep , '''\r\n\t\t\t\t\t\t\t\tunion all \r\n\t\t\t\t\t\t\t\tselect  pio.UID_Person, dbo.QER_FGIPWORulerOrigin(pio.XObjectKey) as UID_PWORulerOrigin, ''2'' as Rulerlevel\r\n\t\t\t\t\t\t\t\t\tfrom PersonInBaseTree pio\r\n\t\t\t\t\t\t\t\t\twhere pio.UID_Org = ''QER-AEROLE-ITSHOP-INTERVENTION''\r\n\t\t\t\t\t\t\t\t\tand pio.XOrigin > 0\r\n\t\t\t\t\t\t\t) as s\r\n\t\t\t\t\t\tgroup by s.uid_person, s.RulerLevel\r\n\t\t\t\t'\r\n, case @Calltype when 'F' then '' when 'P' then '\r\n\t\t\t\tinsert into #PWOHelperPWO_New (UID_PWODecisionRule , uid_personHead, uid_QERWorkingStep, levelnumber, Sublevelnumber, istoInsert, UID_PWORulerOrigin, RulerLevel, UID_PersonWantsOrg, UID_PersonSubstituteSender)'\r\n else '' end , '\r\n\t\t\t\tselect\t''', @uid_Pwodecisionrule, ''' , s.uid_person, ''', @UID_QERWorkingStep, ''' , ', str(@levelnumber) , ', ' , str(@Sublevelnumber\r\n) , ', 0, max(s.UID_PWORulerOrigin), dbo.QBM_FCVStringToInt( s.RulerLevel, 0), ''', @UID_PWO , '''\r\n\t\t\t\t\t\t\t\t-- 31893 ist eine Person sowieso entscheidungsberechtigt und noch einmal über Substitute reingekommen, soll der Eintrag von \"sowieso\" erhalten bleiben\r\n\t\t\t\t\t\t\t\t, min(isnull(s.UID_PersonSubstituteSender, ''''))\r\n\t\t\t\t\tfrom (\r\n\t\t\t\t\t\t\tselect p.Parameter1 as UID_Person, p.Parameter2 as UID_PWORulerOrigin, p.Parameter3 as RulerLevel, null as UID_PersonSubstituteSender\r\n\t\t\t\t\t\t\t\tfrom @PersonAndLevel p\r\n\r\n\t\t\t\t\t\t\tunion all\r\n\r\n\t\t\t\t\t\t\tselect  us.UID_PersonReceiver, us.UID_PersonWantsOrg as UID_PWORulerOrigin, p.Parameter3 as RulerLevel /* string */, us.UID_PersonSender as UID_PersonSubstituteSender\r\n\t\t\t\t\t\t\t\tfrom @PersonAndLevel p join QERUniversalSubstitute us on p.Parameter1 = us.UID_PersonSender\r\n\t\t\t\t\t\t\t\twhere us.IsCurrentlyActive = 1\r\n\t\t\t\t\t\t\t\tand us.UseForITShop = 1\r\n\t\t\t\t\t\t\t\tand not exists (select top 1 1 from @PersonAndLevel pal where pal.Parameter1 = us.UID_PersonReceiver and pal.Parameter3 = p.Parameter3)\r\n\t\t\t\t\t\t\t) as s\r\n\t\t\t\t\tgroup by s.UID_Person, s.RulerLevel\r\n\r\n\t\t\t\t\t\t\t\t'\r\n )  if @Calltype = 'F' begin insert into @PWOHelperPWO_New (UID_PWODecisionRule , uid_personHead, uid_QERWorkingStep, levelnumber, Sublevelnumber, istoInsert\r\n, UID_PWORulerOrigin, RulerLevel, UID_PersonWantsOrg, UID_PersonSubstituteSender) exec sp_executesql @SQLcmd end if @Calltype = 'P' begin exec sp_executesql\r\n @SQLcmd insert into @PWOHelperPWO_New (UID_PWODecisionRule , uid_personHead, uid_QERWorkingStep, levelnumber, Sublevelnumber, istoInsert, UID_PWORulerOrigin\r\n, RulerLevel, UID_PersonWantsOrg, UID_PersonSubstituteSender) select UID_PWODecisionRule , uid_personHead, uid_QERWorkingStep, levelnumber, Sublevelnumber\r\n, istoInsert, UID_PWORulerOrigin, RulerLevel, UID_PersonWantsOrg, UID_PersonSubstituteSender from #PWOHelperPWO_New end    update @PWOHelperPWO_New set\r\n UID_PWORulerOrigin = su.UID_PersonWantsOrg from @PWOHelperPWO_New n join QERUniversalSubstitute su on n.UID_PersonHead = su.UID_PersonReceiver and (su.UseForHeadPerson\r\n = 1 or su.UseForHeadOrg = 1) and su.IsCurrentlyActive = 1 where n.UID_PWORulerOrigin is null and exists (select top 1 1 from @PWOHelperPWO_New se where\r\n se.UID_PersonHead = su.UID_PersonSender and se.levelnumber = n.levelnumber and se.Sublevelnumber = n.sublevelnumber )          if @cfgPersonOrderedNoDecide\r\n = 1 begin delete  @PWOHelperPWO_New from @PWOToCheck pwo join QER_VPersonsAreMe me on pwo.UID_PersonOrdered = me.UID_PersonOrigin join @PWOHelperPWO_New\r\n n on me.UID_PersonAlsoMe in ( n.UID_PersonHead, n.UID_PersonSubstituteSender) and n.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg join QERWorkingStep s \r\non n.UID_QERWorkingStep = s.UID_QERWorkingStep and s.IgnoreNoDecideForPerson = 0 where pwo.uid_personwantsorg = @UID_PWO  and ( ( isnull(pwo.UID_PersonInserted\r\n, pwo.UID_PersonOrdered) <> pwo.UID_PersonOrdered and n.UID_PWODecisionRule <> 'QER-PWODecisionRule-BR' )  or ( isnull(pwo.UID_PersonInserted, pwo.UID_PersonOrdered\r\n) = pwo.UID_PersonOrdered and n.UID_PWODecisionRule not in ('QER-PWODecisionRule-BS' , 'QER-PWODecisionRule-BR' ) ) ) end if @cfgPersonInsertedNoDecide\r\n = 1 begin if @OrderState = 'OrderProduct' begin delete  @PWOHelperPWO_New from @PWOToCheck pwo join QER_VPersonsAreMe me on pwo.UID_PersonInserted = me.UID_PersonOrigin\r\n join @PWOHelperPWO_New n on me.UID_PersonAlsoMe in ( n.UID_PersonHead, n.UID_PersonSubstituteSender) and n.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg\r\n join QERWorkingStep s on n.UID_QERWorkingStep = s.UID_QERWorkingStep and s.IgnoreNoDecideForPerson = 0 where  pwo.uid_personwantsorg = @UID_PWO  and (\r\n ( isnull(pwo.UID_PersonInserted, pwo.UID_PersonOrdered) <> pwo.UID_PersonOrdered and n.UID_PWODecisionRule <> 'QER-PWODecisionRule-BS' )  or ( isnull(pwo.UID_PersonInserted\r\n, pwo.UID_PersonOrdered) = pwo.UID_PersonOrdered and n.UID_PWODecisionRule not in ('QER-PWODecisionRule-BS' , 'QER-PWODecisionRule-BR' ) ) ) end   if @OrderState\r\n in ('OrderProlongate', 'OrderUnsubscribe') begin delete  @PWOHelperPWO_New from @PWOToCheck pwo join (select h.UID_PersonWantsOrg, substring(max(concat\r\n(dbo.QBM_FCVDatetimeToString(h.XDateInserted) , h.UID_PersonHead)), 24, 38) as UID_PersonHead , substring(max(concat(dbo.QBM_FCVDatetimeToString(h.XDateInserted\r\n) , h.OrderState)), 24,38) as OrderState from PWODecisionHistory h where h.UID_PersonWantsOrg = @UID_PWO and (h.OrderState = 'OrderProlongate' and h.DecisionType\r\n = 'Prolongate' or h.OrderState = 'OrderUnsubscribe' and h.DecisionType = 'Unsubscribe' ) and h.UID_PersonHead > ' '  group by h.UID_PersonWantsOrg ) h1\r\n on h1.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg and h1.OrderState = pwo.OrderState join QER_VPersonsAreMe me on h1.UID_PersonHead = me.UID_PersonOrigin\r\n join @PWOHelperPWO_New n on me.UID_PersonAlsoMe = n.uid_personHead and n.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg where  pwo.UID_PersonWantsOrg = @UID_PWO\r\n and ( ( isnull(pwo.UID_PersonInserted, pwo.UID_PersonOrdered) <> pwo.UID_PersonOrdered and n.UID_PWODecisionRule <> 'QER-PWODecisionRule-BS' ) or ( isnull\r\n(pwo.UID_PersonInserted, pwo.UID_PersonOrdered) = pwo.UID_PersonOrdered and n.UID_PWODecisionRule not in ('QER-PWODecisionRule-BS' , 'QER-PWODecisionRule-BR'\r\n ) ) ) end   end     select top 1 @countApproverAvailable = COUNT(*) from @PWOHelperPWO_New n where n.RulerLevel = 0 and n.uid_QERWorkingStep = @UID_QERWorkingStep\r\n and n.levelnumber = @LevelNumber and n.Sublevelnumber = @SubLevelNumber and n.UID_PersonWantsOrg = @UID_PWO  if @countApproverAvailable >= case when @countApproverNeeded\r\n < 0 then @countApproverAvailable when @countApproverNeeded = 0 then 1 else @countApproverNeeded end and @countApproverAvailable > 0 begin delete  @PWOHelperPWO_New\r\n from @PWOHelperPWO_New n where n.RulerLevel = 1 and n.uid_QERWorkingStep = @UID_QERWorkingStep and n.levelnumber = @LevelNumber and n.Sublevelnumber =\r\n @SubLevelNumber and n.UID_PersonWantsOrg = @UID_PWO end    delete  @PWOHelperPWO_New from @PWOHelperPWO_New n where n.RulerLevel = 0 and n.uid_QERWorkingStep\r\n = @UID_QERWorkingStep and n.levelnumber = @LevelNumber and n.Sublevelnumber = @SubLevelNumber and n.UID_PersonWantsOrg = @UID_PWO and exists (select top\r\n 1 1 from @PWOHelperPWO_New n1 where n1.RulerLevel = 1 and n1.uid_QERWorkingStep = @UID_QERWorkingStep and n1.levelnumber = @LevelNumber and n1.Sublevelnumber\r\n = @SubLevelNumber and n1.uid_personHead = n.uid_personHead and n1.UID_PersonWantsOrg = @UID_PWO )   if @UID_PwoDecisionRule in (select r.UID_PWODecisionRule\r\n from PWODecisionRule r where r.UID_Task > ' '  union all select 'CPL-PWODecisionRule-OC' union all select 'CPL-PWODecisionRule-OH'  ) begin delete  @PWOHelperPWO_New\r\n from @PWOHelperPWO_New n where n.RulerLevel > 0 and n.uid_QERWorkingStep = @UID_QERWorkingStep and n.levelnumber = @LevelNumber and n.Sublevelnumber =\r\n @SubLevelNumber and n.UID_PersonWantsOrg = @UID_PWO end  zyklusende: select @ElementIndex += 1 end   if @SonderBehandlungException = 1 begin insert into\r\n @PWOHelperPWO_New ( UID_PWODecisionRule, uid_QERWorkingStep, levelnumber, Sublevelnumber, UID_ComplianceRule, uid_personHead, uid_PersonNoncompliant ,\r\n UID_PWORulerOrigin , UID_PersonWantsOrg, UID_PersonSubstituteSender ) select s.UID_PWODecisionRule, s.uid_QERWorkingStep, s.levelnumber, ht.SubLevelNumber\r\n, c.UID_ComplianceRule, p.uid_person , pic.uid_Person , dbo.QER_FGIPWORulerOrigin(pio.XObjectKey) as UID_PWORulerOrigin , pwo.UID_PersonWantsOrg, null \r\nas UID_PersonSubstituteSender from @PWOToCheck  pwo join QERWorkingStep s on s.UID_QERWorkingMethod = pwo.UID_QERWorkingMethod and s.UID_PWODecisionRule\r\n in( 'CPL-PWODecisionRule-OC', 'CPL-PWODecisionRule-OH')  join HelperPWOCompliance pic on pwo.uid_personwantsorg = pic.uid_personwantsorg join ComplianceRule\r\n c on pic.uid_complianceRule = c.uid_complianceRule  and c.IsInActive = 0 and c.IsWorkingCopy = 0  join @Hilfstab ht on ht.uid_complianceRule = c.uid_complianceRule\r\n and ht.levelnumber = s.levelnumber and ht.uid_PersonNonCompliant = pic.uid_Person and ht.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg  left outer join \r\npersoninBaseTree pio on pio.uid_org = c.uid_orgRuler and pio.XOrigin > 0  left outer join Person p on p.UID_Person = pio.UID_Person and p.IsInActive = \r\n0 where pwo.MakeEmpty = 0  insert into @PWOHelperPWO_New ( UID_PWODecisionRule, uid_QERWorkingStep, levelnumber, Sublevelnumber, UID_ComplianceRule, uid_personHead\r\n, uid_PersonNoncompliant , UID_PWORulerOrigin , UID_PersonWantsOrg, UID_PersonSubstituteSender ) select distinct n.UID_PWODecisionRule, n.UID_QERWorkingStep\r\n, n.LevelNumber, n.Sublevelnumber, n.UID_ComplianceRule, us.UID_PersonReceiver, n.UID_PersonNonCompliant , null as UID_PWORulerOrigin , n.UID_PersonWantsOrg\r\n, us.UID_PersonSender as UID_PersonSubstituteSender from @PWOHelperPWO_New n join QERUniversalSubstitute us on n.UID_PersonHead = us.UID_PersonSender where\r\n n.UID_PWODecisionRule in ( 'CPL-PWODecisionRule-OC' , 'CPL-PWODecisionRule-OH') and us.IsCurrentlyActive = 1 and us.UseForITShopCompliance = 1 and not\r\n exists (select top 1 1 from @PWOHelperPWO_New e where e.UID_PersonWantsOrg = n.UID_PersonWantsOrg and e.UID_PWODecisionRule = n.UID_PWODecisionRule and\r\n e.UID_QERWorkingStep = n.UID_QERWorkingStep and e.LevelNumber = n.LevelNumber and e.Sublevelnumber = n.Sublevelnumber and e.UID_PersonNonCompliant = n.UID_PersonNonCompliant\r\n and e.UID_PersonHead = us.UID_PersonReceiver )   if dbo.QBM_FGIConfigparmValue('QER\\ITShop\\PersonInsertedNoDecideCompliance') = '1' begin delete  @PWOHelperPWO_New\r\n from @PWOToCheck  pwo join QER_VPersonsAreMe me on pwo.UID_PersonInserted = me.UID_PersonOrigin join @PWOHelperPWO_New n on me.UID_PersonAlsoMe in ( n.UID_PersonHead\r\n, n.UID_PersonSubstituteSender ) and n.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg join QERWorkingStep s on n.UID_QERWorkingStep = s.UID_QERWorkingStep\r\n and s.IgnoreNoDecideForPerson = 0 where   n.UID_PWODecisionRule in ( 'CPL-PWODecisionRule-OC' , 'CPL-PWODecisionRule-OH') end if dbo.QBM_FGIConfigparmValue\r\n('QER\\ITShop\\PersonOrderedNoDecideCompliance') = '1' begin delete  @PWOHelperPWO_New from @PWOToCheck pwo join QER_VPersonsAreMe me on pwo.UID_PersonOrdered\r\n = me.UID_PersonOrigin join @PWOHelperPWO_New n on me.UID_PersonAlsoMe in ( n.UID_PersonHead, n.UID_PersonSubstituteSender ) and n.UID_PersonWantsOrg =\r\n pwo.UID_PersonWantsOrg join QERWorkingStep s on n.UID_QERWorkingStep = s.UID_QERWorkingStep and s.IgnoreNoDecideForPerson = 0 where  n.UID_PWODecisionRule\r\n in ( 'CPL-PWODecisionRule-OC' , 'CPL-PWODecisionRule-OH') end   if dbo.QBM_FGIConfigparmValue('QER\\ComplianceCheck\\DisableSelfExceptionGranting') = '1'\r\n begin delete  @PWOHelperPWO_New from @PWOHelperPWO_New n join QER_VPersonsAreMe nc on n.UID_PersonNonCompliant = nc.UID_PersonOrigin join QER_VPersonsAreMe\r\n nh on n.uid_personHead = nh.UID_PersonOrigin where nc.UID_PersonAlsoMe = nh.UID_PersonAlsoMe  and UID_PWODecisionRule in ( 'CPL-PWODecisionRule-OC' , \r\n'CPL-PWODecisionRule-OH') end  end      update @PWOHelperPWO_Old set isToDelete = 1 where uid_personhead is null  and isnull(UID_PWODecisionRule, '') not\r\n in (select UID_PWODecisionRule from pwodecisionrule r where r.UID_Task > ' ' or r.UID_PWODecisionRule in ('CPL-PWODecisionRule-OC' , 'CPL-PWODecisionRule-OH'\r\n  ) )  if @SonderBehandlungException = 1 begin update @PWOHelperPWO_Old set isToDelete = 1 from @PWOHelperPWO_Old o where o.uid_personHead is null  and\r\n o.UID_PWODecisionRule in ('CPL-PWODecisionRule-OC', 'CPL-PWODecisionRule-OH') and exists (select top 1 1 from @PWOHelperPWO_New n where n.UID_PWODecisionRule\r\n = o.UID_PWODecisionRule and isnull(n.UID_QERWorkingStep, '') = isnull(o.UID_QERWorkingStep, '') and n.levelnumber = o.levelnumber and n.uid_personhead\r\n > ' ' and o.UID_PersonWantsOrg = n.UID_PersonWantsOrg ) update @PWOHelperPWO_Old set isToDelete = 1 from @PWOHelperPWO_Old o where o.uid_personHead is\r\n null and o.UID_ComplianceRule is null  and o.UID_PWODecisionRule in ('CPL-PWODecisionRule-OC', 'CPL-PWODecisionRule-OH') and exists (select top 1 1 from\r\n @PWOHelperPWO_New n where n.UID_PWODecisionRule = o.UID_PWODecisionRule and isnull(n.UID_QERWorkingStep, '') = isnull(o.UID_QERWorkingStep, '') and n.levelnumber\r\n = o.levelnumber and n.uid_compliancerule > ' ' and o.UID_PersonWantsOrg = n.UID_PersonWantsOrg ) end   delete  @PWOHelperPWO_New where uid_personhead \r\nis null  and UID_PWODecisionRule not in (select UID_PWODecisionRule from pwodecisionrule r where UID_Task > ' ' or r.UID_PWODecisionRule in ('CPL-PWODecisionRule-OC'\r\n , 'CPL-PWODecisionRule-OH'  ) )   if @SonderBehandlungException = 1 begin delete  @PWOHelperPWO_New from @PWOHelperPWO_New n where uid_personhead is null\r\n  and UID_PWODecisionRule in ('CPL-PWODecisionRule-OC' , 'CPL-PWODecisionRule-OH'  ) and exists (select top 1 1 from @PWOHelperPWO_New o where o.UID_PWODecisionRule\r\n = n.UID_PWODecisionRule and isnull(o.UID_QERWorkingStep, '') = isnull(n.UID_QERWorkingStep, '') and o.levelnumber = n.levelnumber and o.uid_personhead\r\n > ' ' and o.UID_PersonWantsOrg = n.UID_PersonWantsOrg ) end  update @PWOHelperPWO_new set UID_PersonAdditional = o.UID_PersonAdditional , UID_PersonInsteadOf\r\n = o.UID_PersonInsteadOf from @PWOHelperPWO_new n join @PWOHelperPWO_Old o on n.UID_PWODecisionRule = o.UID_PWODecisionRule and n.uid_personHead = o.uid_personHead\r\n and n.UID_QERWorkingStep = o.UID_QERWorkingStep and n.levelnumber = o.levelnumber and n.Sublevelnumber = o.Sublevelnumber and o.UID_PersonWantsOrg = n.UID_PersonWantsOrg\r\n where o.UID_PersonAdditional > ' ' or o.UID_PersonInsteadOf > ' '  insert into @PWOHelperPWO_New (UID_PWODecisionRule, uid_personHead, UID_QERWorkingStep\r\n, levelnumber, Sublevelnumber, istoInsert , UID_PersonAdditional, UID_PersonInsteadOf, IsFromDelegation, RulerLevel , UID_PersonWantsOrg ) select distinct\r\n de.UID_PWODecisionRule, de.UID_PersonAdditional, de.UID_QERWorkingStep, de.levelnumber, 1  , 0, null,null, 1, 0  , de.UID_PersonWantsOrg from @PWOHelperPWO_New\r\n de where de.UID_PersonAdditional > ' '  and not exists (select top 1 1 from @PWOHelperPWO_New n where n.UID_PWODecisionRule = de.UID_PWODecisionRule and\r\n n.uid_personHead = de.UID_PersonAdditional and n.UID_QERWorkingStep = de.UID_QERWorkingStep and n.levelnumber = de.levelnumber and n.Sublevelnumber = \r\n1 and de.UID_PersonWantsOrg = n.UID_PersonWantsOrg )  and exists (select top 1 1 from QERWorkingStep ds where ds.UID_QERWorkingStep = de.UID_QERWorkingStep\r\n and ds.IsAdditionalAllowed = 1 )  if @@rowcount > 0 begin insert into @PWOHelperPWO_New (UID_PWODecisionRule, uid_personHead, UID_QERWorkingStep, levelnumber\r\n, Sublevelnumber, istoInsert , UID_PersonAdditional, UID_PersonInsteadOf, IsFromDelegation, RulerLevel, UID_PWORulerOrigin , UID_PersonWantsOrg ) select\r\n distinct de.UID_PWODecisionRule, esc.UID_Person, de.UID_QERWorkingStep, de.levelnumber, 1  , 0, null,null, 1, 2 , esc.UID_PWORulerOrigin , de.UID_PersonWantsOrg\r\n from @PWOHelperPWO_New de cross join ( select pio.UID_Person, dbo.QER_FGIPWORulerOrigin(pio.XObjectKey) as UID_PWORulerOrigin from PersonInBaseTree pio\r\n where pio.UID_Org = 'QER-AEROLE-ITSHOP-INTERVENTION' and pio.XOrigin > 0 ) as esc where de.UID_PersonAdditional > ' '  and not exists (select top 1 1 \r\nfrom @PWOHelperPWO_New n where n.UID_PWODecisionRule = de.UID_PWODecisionRule and n.uid_personHead = esc.UID_Person and n.UID_QERWorkingStep = de.UID_QERWorkingStep\r\n and n.levelnumber = de.levelnumber and n.Sublevelnumber = 1 and de.UID_PersonWantsOrg = n.UID_PersonWantsOrg ) end    insert into @PWOHelperPWO_New (UID_PWODecisionRule\r\n, uid_personHead, UID_QERWorkingStep, levelnumber, Sublevelnumber, istoInsert , UID_PersonAdditional, UID_PersonInsteadOf, IsFromDelegation, RulerLevel\r\n , UID_PersonWantsOrg ) select distinct de.UID_PWODecisionRule, de.UID_PersonInsteadOf, de.UID_QERWorkingStep, de.levelnumber, 0  , 0, null,null, 1, 0 \r\n , de.UID_PersonWantsOrg from @PWOHelperPWO_New de where de.UID_PersonInsteadOf > ' '  and not exists (select top 1 1 from @PWOHelperPWO_New n where n.UID_PWODecisionRule\r\n = de.UID_PWODecisionRule and n.uid_personHead = de.UID_PersonInsteadOf and n.UID_QERWorkingStep = de.UID_QERWorkingStep and n.levelnumber = de.levelnumber\r\n and n.Sublevelnumber = 0 and de.UID_PersonWantsOrg = n.UID_PersonWantsOrg )  and exists (select top 1 1 from QERWorkingStep ds where ds.UID_QERWorkingStep\r\n = de.UID_QERWorkingStep and ds.IsInsteadOfAllowed = 1 )      update @PWOHelperPWO_Old set isToDelete = 1 from @PWOHelperPWO_Old o join @PWOToCheck c on\r\n o.UID_PersonWantsOrg = c.UID_PersonWantsOrg where (not exists (select top 1 1 from @PWOHelperPWO_New n where isnull(n.UID_PWODecisionRule, '') = isnull\r\n(o.UID_PWODecisionRule, '') and isnull(n.uid_personHead, '') = isnull(o.uid_personHead, '') and n.levelnumber = o.levelnumber and n.Sublevelnumber = o.Sublevelnumber\r\n and isnull(n.UID_QERWorkingStep, '') = isnull(o.UID_QERWorkingStep, '') and isnull(n.UID_ComplianceRule, '') = isnull(o.UID_ComplianceRule, '') and isnull\r\n(n.UID_PersonNonCompliant, '') = isnull(o.UID_PersonNonCompliant, '') and isnull(n.UID_PWORulerOrigin, '') = isnull(o.UID_PWORulerOrigin, '') and ISNULL\r\n(n.rulerlevel, 0) = ISNULL(o.rulerlevel, 0) and o.UID_PersonWantsOrg = n.UID_PersonWantsOrg ) or (  isnull(o.uid_personHead, '') > ' ' and not exists (\r\n select top 1 1 from Person p where p.UID_Person = isnull(o.uid_personHead, '') and p.IsInActive = 0 ) ) ) and ((c.SonderlockeException = 0 and o.decision\r\n in( '', '-'))   or (c.SonderlockeException = 1 and o.decision in( '', '-', 'R', '+')) ) if exists(select top 1 1 from @PWOToCheck  c where  c.isReserved\r\n =1 ) begin if exists (select top 1 1 from @PWOToCheck  pwo join @PWOHelperPWO_Old o on pwo.UID_PersonWantsOrg = o.UID_PersonWantsOrg where  o.uid_personHead\r\n = pwo.UID_PersonHead  and o.isToDelete = 1 and pwo.isReserved = 1 ) begin update PersonWantsOrg set IsReserved = 0  , XDateUpdated = @Xdate , XUserUpdated\r\n = @XUser from PersonWantsOrg pwo join @PWOHelperPWO_Old o on pwo.UID_PersonWantsOrg = o.UID_PersonWantsOrg where pwo.IsReserved = 1 and o.IsToDelete =\r\n 1 and o.UID_PersonHead = pwo.UID_PersonHead  update @PWOHelperPWO_Old set isToDelete = 1 from @PWOHelperPWO_Old o join @PWOToCheck c on o.UID_PersonWantsOrg\r\n = c.UID_PersonWantsOrg where (o.UID_PWODecisionRule = 'QER-PWODecisionRule-QP' or o.Decision = 'Q' ) and c.isReserved = 1 and exists (select top 1 1 from\r\n @PWOHelperPWO_Old oo where oo.UID_PersonWantsOrg = o.UID_PersonWantsOrg and oo.IsToDelete = 1 and oo.UID_PersonHead = c.UID_PersonHead )   insert into\r\n PWODecisionHistory (DecisionType, IsDecisionBySystem, UID_PWODecisionHistory, UID_PWOState , UID_PersonHead, UID_PersonWantsOrg, DisplayPersonHead, ReasonHead\r\n, DateHead, XDateInserted, XDateUpdated, XUserInserted, XUserUpdated, DecisionLevel, XTouched, ValidUntil, ValidFrom , XObjectKey, UID_ITShopOrgFinal) \r\nselect distinct 'RecallQuery', 1, o.UID_PWOHelperPWO as UID_PWODecisionHistory, null, null, o.UID_PersonWantsOrg, dbo.QBM_FCVStringTrimLDSPrefix('#LDS#Automatic system approval.|'\r\n) , dbo.QBM_FCVStringTrimLDSPrefix('#LDS#Query to Person finished due to changed deciders.|'), GetUTCDate(), GetUTCDate(), GetUTCDate(), 'sa', 'sa', 0,\r\n null, null, null, dbo.QBM_FCVElementToObjectKey1('PWODecisionHistory', 'UID_PWODecisionHistory', o.UID_PWOHelperPWO ), pwo.UID_ITShopOrgFinal from @PWOToCheck\r\n pwo join @PWOHelperPWO_Old o on pwo.UID_PersonWantsOrg = o.UID_PersonWantsOrg where pwo.IsReserved = 1 and o.IsToDelete = 1 and o.UID_PersonHead = pwo.UID_PersonHead\r\n  end end  update @PWOHelperPWO_Old set isToDelete = 1 from @PWOHelperPWO_Old o where IsToDelete = 0 and not exists (select top 1 1 from @PWOToCheck pwo\r\n where pwo.uid_personwantsorg = o.UID_PersonWantsOrg   and OrderState in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe') )  update @PWOHelperPWO_New\r\n set isToInsert = 1 from @PWOHelperPWO_New n where not exists (select top 1 1 from @PWOHelperPWO_Old o where  isnull(o.UID_PWODecisionRule, '') = isnull\r\n(n.UID_PWODecisionRule, '') and isnull(o.uid_personHead, '') = isnull(n.uid_personHead, '') and o.levelnumber = n.levelnumber and o.Sublevelnumber = n.Sublevelnumber\r\n and isnull(o.UID_QERWorkingStep, '') = isnull(n.UID_QERWorkingStep, '') and isnull(o.UID_ComplianceRule, '') = isnull(n.UID_ComplianceRule, '') and isnull\r\n(o.UID_PersonNonCompliant, '') = isnull(n.UID_PersonNonCompliant, '') and isnull(o.UID_PWORulerOrigin, '') = isnull(n.UID_PWORulerOrigin, '') and ISNULL\r\n(o.rulerlevel, 0) = ISNULL(n.rulerlevel, 0)  and (o.isToDelete = 0 or o.UID_PWODecisionRule in ('CPL-PWODecisionRule-OC', 'CPL-PWODecisionRule-OH') and\r\n o.UID_ComplianceRule > ' ' )  and n.UID_PersonWantsOrg = o.UID_PersonWantsOrg )   if @SonderBehandlungException = 1 begin update @PWOHelperPWO_New set\r\n istoInsert = 1 from @PWOHelperPWO_New o where uid_compliancerule is null  and UID_PWODecisionRule in ('CPL-PWODecisionRule-OC', 'CPL-PWODecisionRule-OH'\r\n) and not exists (select top 1 1 from @PWOHelperPWO_New n where n.UID_PWODecisionRule = o.UID_PWODecisionRule and isnull(n.UID_QERWorkingStep, '') = isnull\r\n(o.UID_QERWorkingStep, '') and n.levelnumber = o.levelnumber  and n.UID_PersonWantsOrg = o.UID_PersonWantsOrg ) update @PWOHelperPWO_New set istoInsert\r\n = 0 from @PWOHelperPWO_New o where uid_compliancerule is null  and UID_PWODecisionRule in ('CPL-PWODecisionRule-OC', 'CPL-PWODecisionRule-OH') and exists\r\n (select top 1 1 from @PWOHelperPWO_New n where n.UID_PWODecisionRule = o.UID_PWODecisionRule and isnull(n.UID_QERWorkingStep, '') = isnull(o.UID_QERWorkingStep\r\n, '') and n.levelnumber = o.levelnumber and n.uid_compliancerule > ' ' and n.UID_PersonWantsOrg = o.UID_PersonWantsOrg ) end        insert into @PWOHelperPWO_New\r\n (UID_PWODecisionRule, uid_personHead, UID_QERWorkingStep, levelnumber, Sublevelnumber, istoInsert , UID_PersonWantsOrg ) select 'QER-PWODecisionRule-SB'\r\n, null, null, 0, 0, 1 , c.UID_PersonWantsOrg from @PWOToCheck c where c.UID_QERWorkingMethod is null   and c.Orderstate in ('OrderProlongate', 'OrderUnsubscribe'\r\n) and not exists (select top 1 1 from @PWOHelperPWO_New n where n.UID_PersonWantsOrg = c.UID_PersonWantsOrg and n.IstoInsert = 1 ) and not exists (select\r\n top 1 1 from @PWOHelperPWO_Old o where o.UID_PersonWantsOrg = c.UID_PersonWantsOrg and o.IsToDelete = 0 )    publizieren: update @PWOToCheck set IsModefiedByOthers\r\n = 1 from @PWOToCheck p join ( select c.UID_PersonWantsOrg, checksum_agg(checksum(concat(h.UID_PWOHelperPWO, h.Decision))) as CheckSumHelper from @PWOToCheck\r\n c left outer join PWOHelperPWO h with (nolock) on c.UID_PersonWantsOrg = h.UID_PersonWantsOrg  group by c.UID_PersonWantsOrg ) as x on p.UID_PersonWantsOrg\r\n = x.UID_PersonWantsOrg where p.CheckSumHelper <> x.CheckSumHelper if @@ROWCOUNT > 0 begin  declare @DBQueueElements_ModifiedHelper QBM_YDBQueueRaw insert\r\n into @DBQueueElements_ModifiedHelper(Object, SubObject, GenProcID) select p.UID_PersonWantsOrg, null, p.GenProcID from @PWOToCheck p exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-ShoppingRackPWOHelperPWO' , @DBQueueElements_ModifiedHelper  delete @PWOHelperPWO_Old from @PWOHelperPWO_Old o join @PWOToCheck c on o.UID_PersonWantsOrg\r\n = c.UID_PersonWantsOrg where c.IsModefiedByOthers = 1 delete @PWOHelperPWO_New from @PWOHelperPWO_New n join @PWOToCheck c on n.UID_PersonWantsOrg = c.UID_PersonWantsOrg\r\n where c.IsModefiedByOthers = 1 delete @PWOToCheck from @PWOToCheck c where c.IsModefiedByOthers = 1 end       delete  @DBQueueElements_CheckDecision insert\r\n into @DBQueueElements_CheckDecision(Object, SubObject, GenProcID) select distinct c.UID_PersonWantsOrg, '', c.GenProcid from @PWOToCheck c left outer \r\njoin @PWOHelperPWO_New n on c.UID_PersonWantsOrg = n.UID_PersonWantsOrg left outer join @PWOHelperPWO_Old o on c.UID_PersonWantsOrg = o.UID_PersonWantsOrg\r\n where (c.makeEmpty = 0 and (isnull(o.IsToDelete, 0) = 1 or isnull(n.IstoInsert, 0) = 1 ) ) or n.UID_PersonWantsOrg is null exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-ShoppingRackCheckDecision', @DBQueueElements_CheckDecision if @DebugSwitch > 0 begin print 'Vor publizieren @@PWOHelperPWO_Old' select * from @PWOHelperPWO_Old\r\n end declare @GenProcIDs QBM_YCursorBuffer insert into @GenProcIDs (UID1 ) select distinct c.GenProcID from @PWOHelperPWO_Old o join @PWOToCheck c on o.UID_PersonWantsOrg\r\n = c.UID_PersonWantsOrg where o.IsToDelete = 1 select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast\r\n = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @GenProcIDToUse = bu.UID1 from @GenProcIDs bu where bu.ElementIndex = @ElementIndex\r\n exec QBM_PSessionContextSet 'GenProcID', @GenProcIDToUse  delete PWOHelperPWO from PWOHelperPWO h join @PWOToCheck c on h.UID_PersonWantsOrg = c.UID_PersonWantsOrg\r\n and c.GenProcid = @GenProcIDToUse join @PWOHelperPWO_Old o on h.UID_PWOHelperPWO = o.UID_PWOHelperPWO where o.IsToDelete = 1 select @ElementIndex += 1\r\n end                    if exists (select top 1 1 from @PWOHelperPWO_Old o where o.isToUpdateDecision = 1 ) begin update PWOHelperPWO set Decision = o.Decision\r\n from PWOHelperPWO h join @PWOHelperPWO_Old o on h.UID_PWOHelperPWO = o.UID_PWOHelperPWO where o.isToUpdateDecision = 1 end  update @PWOHelperPWO_New set\r\n UID_PrimaryKey = newid() where istoinsert = 1 if @DebugSwitch > 0 begin print 'Vor publizieren @PWOHelperPWO_New' select * from @PWOHelperPWO_New end \r\ndeclare @GenProcIDs_2 QBM_YCursorBuffer insert into @GenProcIDs_2 (UID1 ) select distinct c.GenProcID from @PWOHelperPWO_New n join @PWOToCheck c on n.UID_PersonWantsOrg\r\n = c.UID_PersonWantsOrg where n.IstoInsert = 1 select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast\r\n = @@IDENTITY if @ElementCount > 0 begin  update @PWOHelperPWO_New set NextAutomaticDecision = isnull(g.MaxDate, '2200-01-01') from @PWOHelperPWO_New b\r\n left outer join ( select a.UID_PersonwantsOrg, a.LevelNumber, a.Sublevelnumber, a.RulerLevel, MAX(a.NextAutomaticDecision) as MaxDate from @PWOHelperPWO_Old\r\n a group by a.UID_PersonwantsOrg, a.LevelNumber, a.Sublevelnumber, a.RulerLevel ) as g on b.UID_PersonwantsOrg = g.UID_PersonwantsOrg and b.LevelNumber\r\n = g.LevelNumber and b.Sublevelnumber = g.Sublevelnumber and b.RulerLevel = g.RulerLevel where b.IstoInsert = 1 end while @ElementIndex <= @ElementLast\r\n begin select top 1 @GenProcIDToUse = bu.UID1 from @GenProcIDs_2 bu where bu.ElementIndex = @ElementIndex exec QBM_PSessionContextSet 'GenProcID', @GenProcIDToUse\r\n  insert into PWOHelperPWO (UID_PWOHelperPWO, uid_Personwantsorg, UID_PWODecisionRule, uid_personHead, levelnumber, SubLevelNumber, Decision, UID_QERWorkingStep\r\n, UID_ComplianceRule, UID_PersonNonCompliant, UID_PWORulerOrigin , NextReminder, NextAutomaticDecision, XObjectKey , UID_PersonAdditional, UID_PersonInsteadOf\r\n, IsFromDelegation, RulerLevel ) select n.UID_PrimaryKey, n.UID_PersonWantsOrg, n.UID_PWODecisionRule, n.UID_PersonHead , n.LevelNumber, n.Sublevelnumber\r\n   , case when n.UID_PersonInsteadOf > ' ' then 'D' else '' end as Decision , n.UID_QERWorkingStep, n.UID_ComplianceRule, n.UID_PersonNonCompliant, n.UID_PWORulerOrigin\r\n , '2200-01-01', n.NextAutomaticDecision, dbo.QBM_FCVElementToObjectKey1('PWOHelperPWO', 'UID_PWOHelperPWO', n.UID_PrimaryKey) , UID_PersonAdditional, \r\nUID_PersonInsteadOf, IsFromDelegation, n.RulerLevel from @PWOHelperPWO_New n JOIN @PWOToCheck c on n.UID_PersonWantsOrg = c.UID_PersonWantsOrg and c.GenProcid\r\n = @GenProcIDToUse where n.IstoInsert = 1  and not exists (select top 1 1 from PWOHelperPWO p where p.UID_PersonWantsOrg = n.UID_PersonWantsOrg and isnull\r\n(p.UID_PersonHead, '') = isnull(n.UID_PersonHead, '') and p.UID_PWODecisionRule = n.UID_PWODecisionRule and p.LevelNumber = n.LevelNumber and p.Sublevelnumber\r\n = n.Sublevelnumber and p.RulerLevel = n.RulerLevel and p.UID_QERWorkingStep = n.UID_QERWorkingStep ) select @ElementIndex += 1 end                    \r\n if @SonderBehandlungException = 1 begin   declare @GenProcIDs_3 QBM_YCursorBuffer insert into @GenProcIDs_3 (UID1 ) select distinct c.GenProcID from @PWOToCheck\r\n c where c.SonderlockeException = 1 select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY\r\n while @ElementIndex <= @ElementLast begin select top 1 @GenProcIDToUse = bu.UID1 from @GenProcIDs_3 bu where bu.ElementIndex = @ElementIndex exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcIDToUse  update PWOHelperPWO set decision = '+' from PWOHelperPWO h join @PWOToCheck c on h.UID_PersonWantsOrg = c.UID_PersonWantsOrg\r\n and c.GenProcid = @GenProcIDToUse   and c.OrderState in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe') and h.UID_PWODecisionRule in ('CPL-PWODecisionRule-OH'\r\n) and h.LevelNumber = c.decisionlevel join @Hilfstab ht on  ht.SubLevelNumber = h.SubLevelNumber and ht.isHighestSeverity = 0 and ht.UID_PersonWantsOrg\r\n = c.UID_PersonWantsOrg where h.Decision in ('', 'R')   update PWOHelperPWO set decision = '+' from PWOHelperPWO h join @PWOToCheck c on h.UID_PersonWantsOrg\r\n = c.UID_PersonWantsOrg and c.GenProcid = @GenProcIDToUse   and c.OrderState in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe') and h.UID_PWODecisionRule\r\n in ('CPL-PWODecisionRule-OC', 'CPL-PWODecisionRule-OH') and h.LevelNumber = c.decisionlevel join @Hilfstab ht on ht.SubLevelNumber = h.SubLevelNumber \r\nand ht.UID_PersonWantsOrg = c.UID_PersonWantsOrg  join ComplianceRule cr on ht.uid_complianceRule = cr.UID_ComplianceRule  and cr.IsInActive = 0 and cr.IsWorkingCopy\r\n = 0  join PersonInBaseTree pin on cr.UID_NonCompliance = pin.UID_Org and pin.XOrigin > 0 and pin.UID_Person = ht.UID_PersonNonCompliant and pin.XMarkedForDeletion\r\n & @QBM_BitPatternXMarkedForDel_Delay = 0 and ( pin.isExceptionGranted = 1 and isnull(cr.isToGrantEver, 0) = 0 ) where h.Decision in ('', 'R')     insert\r\n into @DBQueueElements_MakeDecisionOC (object, subobject, genprocid) select x.uid, null, @GenProcIDToUse from ( select distinct h.UID_PersonWantsOrg as\r\n uid  from PWOHelperPWO h join @PWOToCheck c on h.UID_PersonWantsOrg = c.UID_PersonWantsOrg and c.GenProcid = @GenProcIDToUse where h.UID_PWODecisionRule\r\n in ('CPL-PWODecisionRule-OC') and h.Decision in ('', 'R', '+')   and c.OrderState in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe') and c.decisionlevel\r\n = h.levelnumber  ) as x    insert into @DBQueueElements_MakeDecisionOH (object, subobject, genprocid) select x.uid, null, @GenProcIDToUse from ( select\r\n distinct h.UID_PersonWantsOrg as uid  from PWOHelperPWO h join @PWOToCheck c on h.UID_PersonWantsOrg = c.UID_PersonWantsOrg and c.GenProcid = @GenProcIDToUse\r\n where h.UID_PWODecisionRule in ( 'CPL-PWODecisionRule-OH') and h.Decision in ('', 'R', '+')   and c.OrderState in ('OrderProduct', 'OrderProlongate', \r\n'OrderUnsubscribe') and c.decisionlevel = h.levelnumber  ) as x   select @ElementIndex += 1 end  if exists (select top 1 1 from @DBQueueElements_MakeDecisionOC\r\n ) begin exec QBM_PDBQueueInsert_Bulk 'CPL-K-ShoppingRackMakeDecisionOC', @DBQueueElements_MakeDecisionOC end if exists (select top 1 1 from @DBQueueElements_MakeDecisionOH\r\n ) begin exec QBM_PDBQueueInsert_Bulk 'CPL-K-ShoppingRackMakeDecisionOH', @DBQueueElements_MakeDecisionOH end                                        end\r\n     declare @ElementsToFire QBM_YCursorBuffer insert into @ElementsToFire (UID1, Int1, UID2 ) select distinct c.GenProcID, c.decisionlevel, c.UID_PersonWantsOrg\r\n from @PWOToCheck c left outer join @PWOHelperPWO_New n on c.UID_PersonWantsOrg = n.UID_PersonWantsOrg left outer join @PWOHelperPWO_Old o on c.UID_PersonWantsOrg\r\n = o.UID_PersonWantsOrg where c.makeEmpty = 0 and ( n.IstoInsert = 1 or o.IsToDelete = 1 or c.IsNewDecisionLevel = 1 ) select @ElementCount = @@ROWCOUNT\r\n select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @GenProcIDToUse\r\n = bu.UID1 , @DecisionLevelToUse = bu.Int1 , @UID_PWO = bu.UID2 from @ElementsToFire bu where bu.ElementIndex = @ElementIndex exec QER_P04F128DC257D2B3C236MAIL_\r\n @GenProcIDToUse , @PWOHelperPWO_New , @PWOToCheck , @DecisionLevelToUse , @UID_PWO select @ElementIndex += 1 end     if @SonderBehandlungException = 1\r\n begin  update PWOHelperPWO set decision = 'R' from PWOHelperPWO h join @PWOToCheck c on h.UID_PersonWantsOrg = c.UID_PersonWantsOrg join ( select UID_PWODecisionRule\r\n , LevelNumber from @PWOHelperPWO_New where isToInsert = 1 and UID_PWODecisionRule in ('CPL-PWODecisionRule-OC', 'CPL-PWODecisionRule-OH') union select\r\n UID_PWODecisionRule , Levelnumber from @PWOHelperPWO_Old where isTodelete = 1 and UID_PWODecisionRule in ('CPL-PWODecisionRule-OC', 'CPL-PWODecisionRule-OH'\r\n) ) as x on h.UID_PWODecisionRule = x.UID_PWODecisionRule and h.LevelNumber = x.LevelNumber where h.Decision = '' end     insert into @DBQueueElements_MakeDecisionEX\r\n (Object, SubObject, GenProcID) select distinct c.UID_PersonWantsOrg, '', c.GenProcid from @PWOToCheck c join PWOHelperPWO h with (readpast) on c.UID_PersonWantsOrg\r\n = h.UID_PersonWantsOrg and c.DecisionLevel = h.LevelNumber   and c.IsNewDecisionLevel = 1 join PWODecisionRule r on h.UID_PWODecisionRule = r.UID_PWODecisionRule\r\n and r.UID_Task = 'QER-K-ShoppingRackMakeDecisionEX'     where (c.OrderState = 'OrderProduct' and (c.DecisionLevel > 0 or exists (select top 1 1 from @PWOHelperPWO_New\r\n n where n.UID_PrimaryKey = h.UID_PWOHelperPWO and n.istoInsert = 1   and dbo.QBM_FGIConfigparmValue('QER\\ITShop\\DecisionOnInsert') > ' ' ) ) ) or (c.OrderState\r\n in ( 'OrderProlongate' , 'OrderUnsubscribe') )  exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackMakeDecisionEX', @DBQueueElements_MakeDecisionEX END TRY\r\n BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  ende: SET ANSI_WARNINGS on exec QBM_PSessionContextSet 'GenProcID'\r\n, @GenProcID_R exec QBM_PSessionContextSet 'XUser', @XUser_R revert return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PITShopHelperFill_Recalc",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.793",
      "ModifyDate": "2026-04-14T23:20:39.34",
      "Definition": "  create   procedure QER_PITShopHelperFill_Recalc (@Parameter QBM_YCursorBuffer readonly , @GenProcID varchar(38) = null ) as begin SET XACT_ABORT\r\n OFF BEGIN TRY if isnull(@GenProcID, '') = '' begin select @GenProcID = NEWID() end   insert into QERBufferRecalcDecisionMaker (UID_PWODecisionRule, ObjectKey\r\n, UsageArea, ProcessState, GenProcID) select distinct p.UID1, p.ObjectKey1, p.Ident1, 0, @GenProcID from @Parameter p join PWODecisionRule r on p.UID1 \r\n= r.UID_PWODecisionRule where not exists ( select top 1 1 from QERBufferRecalcDecisionMaker m with (readpast) where m.UID_PWODecisionRule = p.UID1 and \r\nm.ObjectKey = p.ObjectKey1 and m.ProcessState = 0 ) if exists (select top 1 1 from @Parameter where Ident1 = 'I') begin exec QBM_PDBQueueInsert_single \r\n'QER-K-ShoppingRackPWOHelperPWO-Rec', null, null, @GenProcID end if exists (select top 1 1 from @Parameter where Ident1 = 'A')  begin exec QBM_PDBQueueInsert_single\r\n 'ATT-K-AttestationHelper-Rec', null, null, @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END \r\nCATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PITShopHelperFillAll",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.57",
      "ModifyDate": "2026-04-14T23:20:39.163",
      "Definition": "   create   procedure QER_PITShopHelperFillAll (@DecisionRules nvarchar(2000) , @GenProcID varchar(38) = null ) as begin declare @CfgUseGenProcID\r\n bit = dbo.QBM_FCVStringToBit(dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\UseGenProcIDFromPWO')) declare @PWOTaskToUse varchar(38) = dbo.QER_FGIPWOTaskToUse\r\n() SET XACT_ABORT OFF BEGIN TRY if isnull(@GenProcID, '') = '' begin select @GenProcID = NEWID() end if dbo.QBM_FGIConfigparmValue('QER\\ITShop') = '' begin\r\n goto endLabel end if @PWOTaskToUse > ' ' begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid\r\n) select x.uid, null, x.GenProcID from (  select distinct pwo.UID_PersonWantsOrg as uid , dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, @GenProcID, @CfgUseGenProcID\r\n) as GenProcID from pwodecisionrule r join dbo.QBM_FCVStringToList(@DecisionRules, '|', 1, 0 ) pa on r.UID_PWODecisionRule = pa.ParameterValue and r.UsageArea\r\n ='I' and r.UID_Task is null  join QERWorkingStep ps on ps.UID_PWODecisionRule = r.UID_PWODecisionRule join PersonWantsOrg pwo on ps.UID_QERWorkingMethod\r\n = pwo.UID_QERWorkingMethod      where pwo.OrderState in (  'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe'  )  or exists ( select top 1 1 from PWOHelperPWO\r\n h where h.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg ) ) as x  where not exists (select top 1 1 from DialogDBQueue q with (nolock) where q.UID_Task =\r\n @PWOTaskToUse and q.Object = x.uid and q.Generation >= 0 )  exec QBM_PDBQueueInsert_Bulk @PWOTaskToUse, @DBQueueElements_01 end  END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PITShopOrderHistoryInsert",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.36",
      "ModifyDate": "2026-04-14T23:20:38.9",
      "Definition": "   create   procedure QER_PITShopOrderHistoryInsert (@uid_PersonWantsorg varchar(38) , @DecisionType nvarchar(16) , @GenProcID varchar(38) , @XUser\r\n nvarchar(64) , @Description nvarchar(256) ) as begin declare @UID_PWODecisionHistory varchar(38)  declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext\r\n('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser') SET XACT_ABORT OFF BEGIN TRY select @UID_PWODecisionHistory = newid() exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID exec QBM_PSessionContextSet 'XUser', @XUser insert into pwodecisionHistory (UID_PWODecisionHistory, UID_PersonWantsOrg, DisplayPersonHead\r\n, ReasonHead, DateHead ,XDateInserted, XDateUpdated, XUserInserted, XUserUpdated , DecisionType, IsDecisionBySystem, XObjectKey) select @UID_PWODecisionHistory\r\n, @uid_PersonWantsorg, @Description, @Description , GetUTCDate(), GetUTCDate(), GetUTCDate(), @XUser, @XUser , @DecisionType, 1, dbo.QBM_FCVElementToObjectKey1\r\n('pwodecisionHistory', 'UID_PWODecisionHistory', @UID_PWODecisionHistory) END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar\r\n(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH  ende: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R\r\n exec QBM_PSessionContextSet 'XUser', @XUser_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PITShopOrderMove",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.39",
      "ModifyDate": "2026-04-14T23:20:38.94",
      "Definition": "       create   procedure QER_PITShopOrderMove (@UID_PersonWantsOrg varchar(38)  , @UID_BOTarget varchar(38)  , @GenProcID varchar(38) , @useCopyFlag\r\n bit = 1 , @IsRemovePersonFromShop bit = 0   ) as begin declare @Pwo QBM_YParameterList SET XACT_ABORT OFF BEGIN TRY insert into @Pwo(Parameter1, Parameter2\r\n, Parameter3, HasContentFull) select @UID_PersonWantsOrg, @UID_BOTarget, @GenProcID, @IsRemovePersonFromShop exec QER_PITShopOrderMove_bulk @PWO END TRY\r\n BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PITShopOrderMove_bulk",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.43",
      "ModifyDate": "2026-04-14T23:20:38.987",
      "Definition": " create   procedure QER_PITShopOrderMove_bulk (@pwos QBM_YParameterList readonly     ) as begin declare @PwoToMove table(UID_PersonWantsOrg varchar\r\n(38) collate database_default Not Null , GenProcID varchar(38) collate database_default Null , XObjectKey varchar(138) collate database_default Not Null\r\n , UID_BOTarget varchar(38) collate database_default Null  , IsRemovePersonFromShop bit default 0  , ObjectKeyOrdered varchar(138) collate database_default\r\n not Null , UID_OrgPR_Old varchar(38) collate database_default Null , UID_OrgBO_Old varchar(38) collate database_default Null  , UID_OrgSH_Old varchar(38\r\n) collate database_default Null  , UID_PersonOrdered_Old varchar(38) collate database_default Null , UID_PersonOrdered_New varchar(38) collate database_default\r\n Null , UID_PersonInserted varchar(38) collate database_default Null , Orderstate varchar(16) collate database_default Null  , UID_ITShopOrgFinal varchar\r\n(38) collate database_default Null  , IsCopyOnShopChange bit default 0 , ObjectKeyAssignment varchar(138) collate database_default Null , IsKeepAssignment\r\n bit default 0 , TargetTable varchar(38) collate database_default Null , IsReusePossible bit default 0 , IsReusePossibleUS bit default 0 , IsAssignmentOrder\r\n bit default 0  , UID_OrgPR_New varchar(38) collate database_default Null , UID_OrgBO_New varchar(38) collate database_default Null , UID_OrgSH_New varchar\r\n(38) collate database_default Null , Ident_OrgPR_New nvarchar(256) collate database_default Null , Ident_OrgBO_New nvarchar(256) collate database_default\r\n Null , Ident_OrgSH_New nvarchar(256) collate database_default Null , UID_PwodecisionMethodNew varchar(38) collate database_default Null , UID_QERWorkingMethod\r\n varchar(38) collate database_default Null  , IsChangeValid bit default 1 , IsOrderToMove bit default 1  , Statements nvarchar(max) collate database_default\r\n Null  , ExecPersoninPRDel bit default 0 , ExecPersonInPRIns bit default 0 , ExecCallMethodAbort int default 0    , ExecCallMethod_mdSB bit default 0  \r\n, ExecPWOUpdate int default 0   , execPersonInsertedNull bit default 0 , execPersonOrderedNull bit default 0 , primary key (UID_PersonWantsOrg) , index\r\n PwoToMove1 (GenProcID) , index PwoToMove2 (UID_OrgPR_new) , index PwoToMove3 (OrderState, IsOrderToMove) ) declare @HistorySammler table (UID_PersonWantsOrg\r\n varchar(38) collate database_default not Null , DecisionType nvarchar(16) collate database_default Null , GenProcID varchar(38) collate database_default\r\n Null , XUser nvarchar(64) collate database_default Null , Description nvarchar(256) collate database_default Null  , Orderstate varchar(16) collate database_default\r\n Null , UID_ITShopOrgFinal varchar(38) collate database_default Null   ) declare @InsertHistorySammler int = 1 declare @XUser nvarchar(64) = object_name\r\n(@@procid) declare @jetzt datetime = getutcdate() declare @DescriptionForHistory nvarchar(256)= '#LDS#Move IT Shop product to new shelf.|' declare @AbortWhereAddOn\r\n nvarchar(1000) = ' OrderState in (''Assigned'', ''Granted'', ''New'', ''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'', ''Waiting'')' declare\r\n @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser')  declare @UID_PwodecisionMethodNew\r\n varchar(38) , @UID_QERWorkingMethod varchar(38) , @Orderstate varchar(16) declare @ElementCount int declare @ElementIndex int declare @ElementLast int\r\n declare @CfgUseGenProcID bit = dbo.QBM_FCVStringToBit(dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\UseGenProcIDFromPWO'))  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Direct_inv int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 1)  declare\r\n @GenProcIDImZyklus varchar(38) declare @pwoToAbort QBM_YParameterList declare @UID_PersonWantsOrg varchar(38) declare @SQLCmd nvarchar(max) declare @DebugSwitch\r\n int = 0 declare @PWOsToFill QBM_YParameterlist      declare @AdditionalObjectKeysAffected QBM_YParameterList SET XACT_ABORT OFF BEGIN TRY exec QBM_PSessionContextSet\r\n 'XUser', @XUser insert into @PwoToMove ( UID_PersonWantsOrg , XObjectKey , UID_BOTarget , GenProcID  , IsRemovePersonFromShop  , ObjectKeyOrdered , UID_OrgPR_Old\r\n , UID_OrgBO_Old , UID_OrgSH_Old , UID_PersonOrdered_Old , UID_PersonOrdered_New , UID_PersonInserted , Orderstate , UID_ITShopOrgFinal  , IsCopyOnShopChange\r\n , ObjectKeyAssignment , IsKeepAssignment , TargetTable , IsReusePossible , IsReusePossibleUS , IsAssignmentOrder  ,uid_OrgSH_New , UID_OrgBO_New , UID_OrgPR_New\r\n , Ident_OrgBO_New , Ident_OrgSH_New , Ident_OrgPR_New , UID_PwodecisionMethodNew ) select po.Parameter1 as UID_PersonWantsOrg , pwo.XObjectKey , po.Parameter2\r\n as UID_BOTarget , dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, po.Parameter3, @CfgUseGenProcID) as GenProcID   , po.HasContentFull as IsRemovePersonFromShop\r\n , pwo.ObjectKeyOrdered as ObjectKeyOrdered , isnull(pwo.UID_Org, '') as UID_OrgPR_Old , isnull(pwo.UID_OrgParent, '') as UID_OrgBO_Old , isnull(pwo.UID_OrgParentOfParent\r\n, '') as UID_OrgSH_Old , pwo.UID_PersonOrdered as UID_PersonOrdered_Old , pwo.UID_PersonOrdered as UID_PersonOrdered_New , isnull(pwo.UID_PersonInserted\r\n, '') as UID_PersonInserted , pwo.OrderState as Orderstate , isnull(pwo.UID_ITShopOrgFinal, '') as UID_ITShopOrgFinal  , ISNULL(ac.IsCopyOnShopChange ,\r\n 0) as IsCopyOnShopChange , pwo.ObjectKeyAssignment as ObjectKeyAssignment  , case when ISNULL(qa.IsKeepAssignment, 0) = 1 and ( pwo.ObjectKeyAssignment\r\n like concat('%<P>', pwo.UID_PersonOrdered , '</P>%') or pwo.ObjectKeyAssignment like concat('%<P>', pwo.UID_PersonInserted , '</P>%') ) then 0 else ISNULL\r\n(qa.IsKeepAssignment, 0) end as IsKeepAssignment , tmn.TableName as TargetTable , ba.IsReusePossible as IsReusePossible , ba.IsReusePossibleUS as IsReusePossibleUS\r\n , case ba.UID_BaseTreeAssign when 'QER-AsgnBT-QERAssign' then 1 else 0 end as IsAssignmentOrder  , nd.UID_OrgSH , nd.UID_OrgBO , nd.UID_OrgPR , nd.Ident_OrgBO\r\n , nd.Ident_OrgSH , nd.Ident_OrgPR , nd.UID_PWODecisionMethod from @pwos po join PersonWantsOrg pwo on po.Parameter1 = pwo.UID_PersonWantsOrg join DialogTable\r\n tb with (readpast) on pwo.ObjectKeyOrdered like concat('<Key><T>' , tb.TableName , '</T>%') join BaseTreeAssign ba on ba.UID_DialogTableElement = tb.UID_DialogTable\r\n join DialogTable tmn with (readpast) on ba.UID_DialogTableMN = tmn.UID_DialogTable outer apply dbo.QER_FTITShopNewProductNode (po.Parameter2  , pwo.ObjectKeyOrdered\r\n  , pwo.OrderState  , isnull(pwo.UID_Org, '')  , ba.IsReusePossible  , pwo.UID_PersonOrdered  , pwo.UID_PersonOrdered  ) nd left outer join BaseTree pr\r\n on pwo.UID_Org = pr.UID_Org left outer join AccProduct ac on pr.UID_AccProduct = ac.UID_AccProduct left outer join QERAssign qa on qa.XObjectKey = pwo.ObjectKeyOrdered\r\n       if @DebugSwitch > 0 begin print 'nach der 1. Befüllung' select * from @PwoToMove end update @PwoToMove set IsChangeValid = 0 , IsOrderToMove = 0\r\n from @PwoToMove m where m.IsRemovePersonFromShop = 1 and m.IsAssignmentOrder = 0 and not exists (select top 1 1 from Person p where p.UID_Person = m.UID_PersonOrdered_Old\r\n ) if dbo.QBM_FGIConfigparmValue('QER\\ITShop\\ReplaceAssignmentRequestOnLeaveCU') > ' ' begin update @PwoToMove set UID_PersonOrdered_New = dbo.QER_FGIITShopNewPersonOrdered\r\n(mo.UID_PersonWantsOrg , mo.UID_BOTarget , mo.ObjectkeyOrdered ) from @PwoToMove mo where dbo.QER_FGIITShopNewPersonOrdered(mo.UID_PersonWantsOrg , mo.UID_BOTarget\r\n , mo.ObjectkeyOrdered ) > ' ' and mo.IsRemovePersonFromShop = 1 and mo.UID_OrgPR_New is null and mo.IsAssignmentOrder = 1 and mo.IsKeepAssignment = 1 \r\nand mo.IsOrderToMove = 1      and mo.OrderState in ('Assigned', 'OrderProlongate', 'OrderUnsubscribe' ) if @@rowcount > 0 begin  update @PwoToMove set \r\nuid_OrgSH_New = nd.UID_OrgSH , UID_OrgBO_New = nd.UID_OrgBO , UID_OrgPR_New = nd.UID_OrgPR , Ident_OrgBO_New = nd.Ident_OrgBO , Ident_OrgSH_New = nd.Ident_OrgSH\r\n , Ident_OrgPR_New = nd.Ident_OrgPR , UID_PwodecisionMethodNew = nd.UID_PWODecisionMethod from @PwoToMove mo cross apply dbo.QER_FTITShopNewProductNode\r\n (mo.UID_BOTarget , mo.ObjectkeyOrdered , mo.Orderstate , mo.UID_OrgPR_Old , mo.IsReusePossible , mo.UID_PersonOrdered_Old , mo.UID_PersonOrdered_New )\r\n nd where mo.UID_PersonOrdered_New <> mo.UID_PersonOrdered_Old insert into @HistorySammler(UID_PersonWantsOrg, DecisionType, GenProcID, XUser, Description\r\n, OrderState, UID_ITShopOrgFinal) select mo.uid_personwantsorg, 'ChangeBoard', mo.GenProcID, @XUser, 'New UID_PersonOrdered set', mo.OrderState, mo.UID_OrgPR_New\r\n from @PwoToMove mo where mo.UID_PersonOrdered_New <> mo.UID_PersonOrdered_Old  and mo.OrderState in ('Assigned', 'OrderProlongate', 'OrderUnsubscribe'\r\n ) select @InsertHistorySammler = 0  end  end  update @PwoToMove set IsChangeValid = 0 where UID_OrgPR_New is null update @PwoToMove set IsChangeValid \r\n= 0 from @PwoToMove mo where mo.IsReusePossible = 0 and mo.IsChangeValid = 1 and exists (select top 1 1 from PersonInBaseTree pio where pio.UID_Person \r\n= mo.UID_PersonOrdered_Old and pio.UID_Org = mo.uid_OrgPR_New and pio.XOrigin > 0 )      and mo.OrderState in ('Assigned', 'OrderProlongate', 'OrderUnsubscribe'\r\n )  update @PwoToMove set IsOrderToMove = 0 from @PwoToMove mo where mo.IsChangeValid = 0 or (mo.IsChangeValid = 1 and mo.IsCopyOnShopChange = 0  )    \r\n  or mo.OrderState in ('Aborted', 'Dismissed', 'Unsubscribed' )  update @PwoToMove set execPersonInsertedNull = 1 from @PwoToMove mo left outer join person\r\n pin on mo.UID_PersonInserted = pin.UID_Person where mo.IsOrderToMove = 0 and pin.UID_Person is null  update @PwoToMove set execPersonOrderedNull = 1 from\r\n @PwoToMove mo left outer join person po on mo.UID_PersonOrdered_Old = po.UID_Person where mo.IsOrderToMove = 0 and mo.IsKeepAssignment = 1 and po.UID_Person\r\n is null   if @InsertHistorySammler >0 begin insert into @HistorySammler(UID_PersonWantsOrg, DecisionType, GenProcID, XUser, Description, OrderState, UID_ITShopOrgFinal\r\n) select mo.UID_PersonWantsOrg, 'ChangeBoard', mo.GenProcID, @XUser, @DescriptionForHistory, mo.OrderState, mo.UID_OrgPR_New from @PwoToMove mo      where\r\n mo.OrderState in ('Aborted', 'Dismissed', 'Unsubscribed' )  and IsOrderToMove = 1 end     update @PwoToMove set ExecPersoninPRDel = 1 from @PwoToMove \r\nmo          where mo.Orderstate in ('Assigned', 'Granted', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting') and mo.IsOrderToMove = 0    update @PwoToMove\r\n set Statements = concat(mo.Statements, '\r\n\t\t\t\t\t\t\t\t\tupdate ' , t.TableName , '\t\tset XOrigin = XOrigin | ', str(@QBM_BitPatternXOrigin_Direct) , ' ' , case\r\n dbo.QBM_FGIColumnExistsInSchema(t.TableName, 'XDateUpdated') when 1 then ', XDateUpdated = getutcdate(), XUserUpdated = ''QER_PITShopOrderMove_bulk'' '\r\n else '' end , '\r\n\t\t\t\t\t\t\t\t\twhere XObjectKey = ''' , mo.ObjectKeyAssignment , '''\t\r\n\t\t\t\t\t\t\t' ) from @PwoToMove mo join DialogTable t with (readpast) on \r\nmo.ObjectKeyAssignment like concat('<Key><T>' , t.TableName , '</T>%')          where mo.Orderstate in ('Assigned', 'Granted', 'OrderProlongate', 'OrderUnsubscribe'\r\n, 'Waiting') and mo.IsOrderToMove = 0 and mo.IsAssignmentOrder = 1 and mo.IsRemovePersonFromShop = 1 and mo.IsKeepAssignment = 1  and exists (select top\r\n 1 1 from OrgRootAssign oa join BaseTree b on oa.UID_OrgRoot = b.UID_OrgRoot and dbo.QER_FCVObjectkeyToBaseTree(mo.ObjectKeyAssignment) = b.UID_Org join\r\n BaseTreeAssign ba on oa.UID_BaseTreeAssign = ba.UID_BaseTreeAssign join DialogTable t with (readpast) on mo.ObjectKeyAssignment like concat('<Key><T>'\r\n , t.TableName , '</T>%')  and ba.UID_DialogTableMN = t.UID_DialogTableBase where oa.IsDirectAssignmentAllowed = 1 )    update @PwoToMove set ExecCallMethodAbort\r\n = 1 from @PwoToMove mo          where mo.Orderstate in ('Assigned', 'Granted', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting') and mo.IsOrderToMove \r\n= 0  and mo.execPersonOrderedNull = 0  update @PwoToMove set ExecCallMethodAbort = case when exists (select top 1 1 from OrgRootAssign oa join BaseTree\r\n b on oa.UID_OrgRoot = b.UID_OrgRoot and dbo.QER_FCVObjectkeyToBaseTree(mo.ObjectKeyAssignment) = b.UID_Org join BaseTreeAssign ba on oa.UID_BaseTreeAssign\r\n = ba.UID_BaseTreeAssign join DialogTable t with (readpast) on mo.ObjectKeyAssignment like concat('<Key><T>' , t.TableName , '</T>%')  and ba.UID_DialogTableMN\r\n = t.UID_DialogTableBase where oa.IsDirectAssignmentAllowed = 1 ) then 2  else 3  end from @PwoToMove mo          where mo.Orderstate in ('Assigned', 'Granted'\r\n, 'OrderProlongate', 'OrderUnsubscribe', 'Waiting') and mo.IsOrderToMove = 0 and mo.IsAssignmentOrder = 1 and mo.IsRemovePersonFromShop = 1 and mo.IsKeepAssignment\r\n = 1   update @PwoToMove set ExecPWOUpdate = 1 from @PwoToMove mo          where mo.Orderstate in ('Assigned', 'Granted', 'OrderProlongate', 'OrderUnsubscribe'\r\n, 'Waiting') and mo.IsOrderToMove = 1 if @InsertHistorySammler > 0 begin insert into @HistorySammler(UID_PersonWantsOrg, DecisionType, GenProcID, XUser\r\n, Description, OrderState, UID_ITShopOrgFinal) select mo.uid_personwantsorg, 'ChangeBoard', mo.GenProcID, @XUser, @DescriptionForHistory, mo.OrderState\r\n, mo.UID_OrgPR_New from @PwoToMove mo          where mo.Orderstate in ('Assigned', 'Granted', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting') and mo.IsOrderToMove\r\n = 1 end   update @PwoToMove set ExecPersoninPRDel = 1 , ExecPersonInPRIns = 1 from @PwoToMove mo      where mo.OrderState in ('Assigned', 'OrderProlongate'\r\n, 'OrderUnsubscribe' ) and mo.IsOrderToMove = 1 and mo.IsReusePossible = 0           update @PwoToMove set ExecCallMethodAbort = 1 , ExecPersoninPRDel \r\n= 1 from @PwoToMove mo where mo.Orderstate = 'OrderProduct' and mo.IsOrderToMove = 0    if @InsertHistorySammler > 0 begin insert into @HistorySammler(UID_PersonWantsOrg\r\n, DecisionType, GenProcID, XUser, Description, OrderState, UID_ITShopOrgFinal) select mo.uid_personwantsorg, 'ChangeBoard', mo.GenProcID, @XUser, @DescriptionForHistory\r\n, mo.OrderState, mo.UID_OrgPR_New from @PwoToMove mo where mo.Orderstate in( 'OrderProduct', 'Reset') and mo.IsOrderToMove = 1 end update @PwoToMove set\r\n ExecPWOUpdate = 2 from @PwoToMove mo where mo.Orderstate in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe')  and mo.IsOrderToMove = 1        declare\r\n @ElementOrderState QBM_YCursorbuffer insert into @ElementOrderState (UID1, Ident1)  select distinct mo.UID_PwodecisionMethodNew, mo.Orderstate from @PwoToMove\r\n mo  where  mo.OrderState in ('Granted', 'OrderProduct', 'OrderProlongate', 'Waiting') and mo.IsOrderToMove = 1 and mo.UID_PwodecisionMethodNew > ' ' select\r\n @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin\r\n select top 1 @UID_PwodecisionMethodNew = bu.UID1 , @Orderstate = bu.Ident1 from @ElementOrderState bu where bu.ElementIndex = @ElementIndex exec QER_PGIQERWorkingMethod\r\n @UID_PwodecisionMethodNew , @Orderstate, @UID_QERWorkingMethod output update @PwoToMove set UID_QERWorkingMethod = @UID_QERWorkingMethod from @PwoToMove\r\n mo where mo.UID_PwodecisionMethodNew = @UID_PwodecisionMethodNew and mo.Orderstate = @Orderstate select @ElementIndex += 1 end    update @PwoToMove set\r\n ExecCallMethod_mdSB = 1 from @PwoToMove mo join QERWorkingStep s on mo.UID_QERWorkingMethod = s.UID_QERWorkingMethod and s.LevelNumber = 0 and s.UID_PWODecisionRule\r\n = 'QER-PWODecisionRule-SB' where mo.Orderstate = 'OrderProduct' and mo.IsOrderToMove = 1 if @DebugSwitch > 0 begin print 'nach der vollständigen Analyse'\r\n select * from @PwoToMove end  insert into pwodecisionHistory (UID_PWODecisionHistory, UID_PersonWantsOrg, DisplayPersonHead, ReasonHead , DateHead, XDateInserted\r\n, XDateUpdated, XUserInserted, XUserUpdated , DecisionType, IsDecisionBySystem, XObjectKey  , OrderState, UID_ITShopOrgFinal) select UID_PWODecisionHistory\r\n, UID_PersonWantsOrg, DisplayPersonHead, ReasonHead , @jetzt, @jetzt, @jetzt, @XUser, @XUser , DecisionType, 1, dbo.QBM_FCVElementToObjectKey1('pwodecisionHistory'\r\n, 'UID_PWODecisionHistory', x.UID_PWODecisionHistory) , OrderState, UID_ITShopOrgFinal from ( select Newid() as UID_PWODecisionHistory, h.UID_PersonWantsOrg\r\n, h.Description as DisplayPersonHead, h.Description as ReasonHead , h.DecisionType, h.OrderState, h.UID_ITShopOrgFinal from @HistorySammler h ) as x  Declare\r\n @ElementSatetement QBM_YCursorBuffer insert into @ElementSatetement (ContentFull, UID1) select distinct mo.Statements, mo.GenProcID from @PwoToMove mo\r\n where mo.Statements > ' ' exec QBM_PExecuteSQLMulti @ElementSatetement, 1, @@PROCID  declare @GenProcIDs QBM_YCursorBuffer insert into @GenProcIDs (UID1\r\n) select distinct mo.GenProcID from @PwoToMove mo select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast\r\n = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @GenProcIDImZyklus = bu.UID1 from @GenProcIDs bu where bu.ElementIndex = @ElementIndex\r\n exec QBM_PSessionContextSet 'GenProcID', @GenProcIDImZyklus if exists (select top 1 1 from @PwoToMove mo where mo.ExecPersoninPRDel = 1 and mo.GenProcID\r\n = @GenProcIDImZyklus ) begin update PersonInBaseTree set XOrigin = XOrigin & @QBM_BitPatternXOrigin_Direct_inv   , XDateUpdated = @jetzt , XUserUpdated\r\n = @XUser from PersonInBaseTree pio join @PwoToMove mo on pio.UID_Person = mo.UID_PersonOrdered_Old and pio.UID_Org = mo.uid_OrgPR_Old where mo.ExecPersoninPRDel\r\n = 1 and mo.GenProcID = @GenProcIDImZyklus delete PersonInBaseTree from PersonInBaseTree pio join @PwoToMove mo on pio.UID_Person = mo.UID_PersonOrdered_Old\r\n and pio.UID_Org = mo.uid_OrgPR_Old where mo.ExecPersoninPRDel = 1 and mo.GenProcID = @GenProcIDImZyklus end  if exists (select top 1 1 from @PwoToMove\r\n mo where mo.ExecPersonInPRIns = 1 and mo.GenProcID = @GenProcIDImZyklus ) begin insert into PersonInBaseTree(UID_Org, UID_Person, XDateInserted, XDateUpdated\r\n, XObjectKey , XUserInserted, XUserUpdated , XOrigin ) select distinct mo.UID_OrgPR_New, mo.UID_PersonOrdered_New, @jetzt , @jetzt , dbo.QBM_FCVElementToObjectKey2\r\n('PersonInITShopOrg', 'UID_ITShopOrg', mo.UID_OrgPR_New, 'UID_Person', mo.UID_PersonOrdered_New) , @XUser, @XUser , @QBM_BitPatternXOrigin_Direct from \r\n@PwoToMove mo where mo.ExecPersonInPRIns = 1  and mo.GenProcID = @GenProcIDImZyklus and not exists (select top 1 1 from PersonInBaseTree pio where pio.UID_Org\r\n = mo.UID_OrgPR_New and pio.UID_Person = mo.UID_PersonOrdered_New ) end  if exists (select top 1 1 from @PwoToMove mo where mo.ExecPWOUpdate = 1 and mo.GenProcID\r\n = @GenProcIDImZyklus ) begin update personwantsorg set uid_org = mo.uid_orgPR_new, uid_orgParent = mo.UID_OrgBO_New, uid_OrgParentOfParent = mo.UID_OrgSH_New\r\n , UID_ITShopOrgFinal = mo.UID_OrgPR_New , DisplayOrgParent = mo.Ident_OrgBO_New , DisplayOrgParentOfParent = mo.Ident_OrgSH_New , DateHead = @jetzt , \r\nReasonHead = 'ChangeBoard' , XDateUpdated = @jetzt , XUserUpdated = @XUser , UID_QERWorkingMethod = mo.UID_QERWorkingMethod , UID_PersonOrdered = mo.UID_PersonOrdered_New\r\n  from @PwoToMove mo join PersonWantsOrg pwo on mo.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg where mo.ExecPWOUpdate = 1 and mo.GenProcID = @GenProcIDImZyklus\r\n end  if exists (select top 1 1 from @PwoToMove mo where mo.ExecPWOUpdate = 2 and mo.GenProcID = @GenProcIDImZyklus ) begin update personwantsorg set decisionlevel\r\n = 0 , UID_PWOState = null , UID_PersonHead = null , DisplayPersonHead = null , DateHead = @jetzt , ReasonHead = 'ChangeBoard' , XDateUpdated = @jetzt \r\n, XUserUpdated = @XUser , UID_Org = mo.UID_OrgPR_New , UID_OrgParent = mo.UID_OrgBO_New , UID_OrgParentOfParent = mo.UID_OrgSH_New , UID_ITShopOrgFinal\r\n = mo.UID_OrgPR_New , DisplayOrgParent = mo.Ident_OrgBO_New , DisplayOrgParentOfParent = mo.Ident_OrgSH_New , UID_QERWorkingMethod = mo.UID_QERWorkingMethod\r\n , UID_PersonOrdered = mo.UID_PersonOrdered_New from @PwoToMove mo join PersonWantsOrg pwo on mo.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg where mo.ExecPWOUpdate\r\n = 2 and mo.GenProcID = @GenProcIDImZyklus delete PWOHelperPWO from @PwoToMove mo join PWOHelperPWO h on mo.UID_PersonWantsOrg = h.UID_PersonWantsOrg where\r\n mo.ExecPWOUpdate = 2 and mo.GenProcID = @GenProcIDImZyklus end   if exists (select top 1 1 from @PwoToMove mo where mo.execPersonInsertedNull = 1 and \r\nmo.GenProcID = @GenProcIDImZyklus ) begin update PersonWantsOrg set UID_PersonInserted = null  , XDateUpdated = @jetzt , XUserUpdated = @XUser from @PwoToMove\r\n mo join PersonWantsOrg pwo on mo.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg where mo.execPersonInsertedNull = 1 end  if exists (select top 1 1 from @PwoToMove\r\n mo where mo.execPersonOrderedNull = 1 and mo.GenProcID = @GenProcIDImZyklus ) begin update PersonWantsOrg set UID_PersonOrdered = null  , XDateUpdated\r\n = @jetzt , XUserUpdated = @XUser from @PwoToMove mo join PersonWantsOrg pwo on mo.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg where mo.execPersonOrderedNull\r\n = 1 end   if exists (select top 1 1 from @PwoToMove mo where mo.ExecCallMethodAbort = 1 and mo.GenProcID = @GenProcIDImZyklus ) begin          insert \r\ninto @AdditionalObjectKeysAffected (Parameter1) select b.XObjectKey  from @PwoToMove mo join PersonWantsOrg pwo on mo.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg\r\n join Basetree b on b.UID_Org = pwo.UID_Org where mo.ExecCallMethodAbort = 1 and mo.GenProcID = @GenProcIDImZyklus  delete  @pwoToAbort  insert into @pwoToAbort\r\n (Parameter1) select mo.XObjectKey from @PwoToMove mo where mo.ExecCallMethodAbort = 1 and mo.GenProcID = @GenProcIDImZyklus if @@ROWCOUNT > 0 begin exec\r\n QBM_PJobCreate_HOCallMethod_L 'PersonWantsOrg', @pwoToAbort,1, 'Abort' , @GenProcIDImZyklus , @AdditionalObjectKeysAffected = @AdditionalObjectKeysAffected\r\n , @param1 = '#LDS#Product no longer available.|' , @Retries = 3 , @checkForExisting = 1 , @WhereClauseAdditional = @AbortWhereAddOn end end   if exists\r\n (select top 1 1 from @PwoToMove mo where mo.ExecCallMethodAbort = 2 and mo.GenProcID = @GenProcIDImZyklus ) begin delete  @pwoToAbort  insert into @pwoToAbort\r\n (Parameter1) select mo.XObjectKey from @PwoToMove mo where mo.ExecCallMethodAbort = 2 and mo.GenProcID = @GenProcIDImZyklus if @@ROWCOUNT > 0 begin exec\r\n QBM_PJobCreate_HOCallMethod_L 'PersonWantsOrg', @pwoToAbort,1, 'Abort' , @GenProcIDImZyklus , @AdditionalObjectKeysAffected = DEFAULT , @param1 = '#LDS#Assignment order will be switched to a direct assignment.|'\r\n , @Retries = 3 , @checkForExisting = 1 , @WhereClauseAdditional = @AbortWhereAddOn end end   if exists (select top 1 1 from @PwoToMove mo where mo.ExecCallMethodAbort\r\n = 3 and mo.GenProcID = @GenProcIDImZyklus ) begin delete  @pwoToAbort  insert into @pwoToAbort (Parameter1) select mo.XObjectKey from @PwoToMove mo where\r\n mo.ExecCallMethodAbort = 3 and mo.GenProcID = @GenProcIDImZyklus if @@ROWCOUNT > 0 begin exec QBM_PJobCreate_HOCallMethod_L 'PersonWantsOrg', @pwoToAbort\r\n,1, 'Abort' , @GenProcIDImZyklus , @AdditionalObjectKeysAffected = DEFAULT , @param1 = '#LDS#Assignment order will be aborted because a direct assignment is not allowed.|'\r\n , @Retries = 3 , @checkForExisting = 1 , @WhereClauseAdditional = @AbortWhereAddOn end end  select @ElementIndex += 1 end    insert into @PWOsToFill(Parameter1\r\n, Parameter2, Parameter3, HasContentFull) select mo.UID_PersonWantsOrg, mo.GenProcID, '0', 0 from @PwoToMove mo where mo.ExecPWOUpdate = 2 exec QER_PITShopHelperFill_bulk\r\n @PWOsToFill  declare @GenProcIDsAbort QBM_YCursorBuffer insert into @GenProcIDsAbort (UID1) select distinct mo.GenProcID from @PwoToMove mo where mo.ExecCallMethod_mdSB\r\n = 1 select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast\r\n begin select top 1 @GenProcIDImZyklus = bu.UID1 from @GenProcIDsAbort bu where bu.ElementIndex = @ElementIndex delete  @pwoToAbort  insert into @pwoToAbort\r\n (Parameter1) select mo.XObjectKey from @PwoToMove mo where mo.ExecCallMethod_mdSB = 1 and mo.GenProcID = @GenProcIDImZyklus if @@ROWCOUNT > 0 begin exec\r\n QBM_PJobCreate_HOCallMethod_L 'PersonWantsOrg', @pwoToAbort,1, 'MakeDecision' , @GenProcIDImZyklus , @AdditionalObjectKeysAffected = DEFAULT , @param1\r\n = 'sa' , @param2 = 'True' , @param3 = 'SB' , @Retries = 3 , @checkForExisting = 1 , @WhereClauseAdditional = @AbortWhereAddOn end select @ElementIndex\r\n += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  ende: exec QBM_PSessionContextSet 'GenProcID'\r\n, @GenProcID_R exec QBM_PSessionContextSet 'XUser', @XUser_R return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PITShopOrderResetOneLevel",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.56",
      "ModifyDate": "2026-04-14T23:20:39.153",
      "Definition": "   create   procedure QER_PITShopOrderResetOneLevel (@uid_PersonwantsOrg varchar(38) , @NewLevel int , @GenProcID varchar(38)  ) as begin  declare\r\n @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser') declare @WhereclauseForMail\r\n nvarchar(1000) SET XACT_ABORT OFF BEGIN TRY if exists (select top 1 1 from PWOHelperPWO h join QERWorkingStep s on h.UID_QERWorkingStep = s.UID_QERWorkingStep\r\n join PWODecisionRule r on r.UID_PWODecisionRule = s.UID_PWODecisionRule and r.UID_PWODecisionRule not in ('CPL-PWODecisionRule-OC' , 'CPL-PWODecisionRule-OH'\r\n ) where h.UID_PersonWantsOrg = @uid_PersonwantsOrg and h.LevelNumber = @NewLevel and ( h.decision > ' ' or h.UID_PersonInsteadOf > ' ' or h.uid_PersonAdditional\r\n > ' ' ) ) begin update PWOHelperPWO set Decision = '' , UID_PersonInsteadOf = null , UID_PersonAdditional = null from PWOHelperPWO h join QERWorkingStep\r\n s on h.UID_QERWorkingStep = s.UID_QERWorkingStep join PWODecisionRule r on r.UID_PWODecisionRule = s.UID_PWODecisionRule and r.UID_PWODecisionRule not\r\n in ('CPL-PWODecisionRule-OC' , 'CPL-PWODecisionRule-OH' ) where h.UID_PersonWantsOrg = @uid_personwantsorg and h.LevelNumber = @NewLevel and ( h.decision\r\n > ' ' or h.UID_PersonInsteadOf > ' ' or h.uid_PersonAdditional > ' ' ) end if exists (select top 1 1 from PWOHelperPWO h where h.UID_PersonWantsOrg = \r\n@uid_PersonwantsOrg and h.LevelNumber = @NewLevel and ( h.IsFromDelegation = 1 ) ) begin delete PWOHelperPWO from PWOHelperPWO h where h.IsFromDelegation\r\n = 1 and h.UID_PersonWantsOrg = @uid_personwantsorg and h.LevelNumber = @NewLevel end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow\r\n varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH  ende: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R\r\n exec QBM_PSessionContextSet 'XUser', @XUser_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PITShopPersonHasObjectFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.543",
      "ModifyDate": "2026-04-14T23:20:39.133",
      "Definition": " create   procedure QER_PITShopPersonHasObjectFill (@uid_Personwantsorg varchar(38) , @GenProcID varchar(38) , @IsCalledFromTrigger bit = 0 ) with\r\n execute as 'dbo' as begin  declare @PWOs QBM_YParameterlist   SET XACT_ABORT OFF BEGIN TRY insert into @PWOs(Parameter1, Parameter2) select @uid_Personwantsorg\r\n, @GenProcID exec QER_PITShopPersonHasObjFill_b @PWOs, @IsCalledFromTrigger END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar\r\n(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH  ende: revert return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PITShopPersonHasObjFill_b",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.54",
      "ModifyDate": "2026-04-14T23:20:39.127",
      "Definition": "   create   procedure QER_PITShopPersonHasObjFill_b (@PWOs QBM_YParameterlist readonly   , @IsCalledFromTrigger bit = 0 ) with execute as 'dbo' \r\nas begin  declare @PWOToCheck QER_YPWOBufferForPHO declare @HelperPWOPersonHasObject QER_YPWOHelperObject declare @SQLCmd nvarchar(max) SET XACT_ABORT \r\nOFF BEGIN TRY  if dbo.QBM_FGIModuleExists('CPL') = 0 begin goto ende end if not exists (select top 1 1 from ComplianceRule c with (nolock) where c.IsWorkingCopy\r\n = 0 ) begin goto ende end insert into @PWOToCheck ( UID_PersonWantsOrg , ObjectkeyOrdered, ObjectKeyAssignment, UID_OrgPR, UID_PersonOrdered, Orderstate\r\n, IsAssignment, IsReusePossible , GenProcID ) select po.Parameter1 as UID_PersonWantsOrg , pwo.ObjectkeyOrdered, pwo.ObjectKeyAssignment, isnull(pwo.UID_ITShopOrgFinal\r\n, pwo.uid_Org), pwo.uid_Personordered, pwo.Orderstate, sign(len(isnull(r.UID_QERAssign, ''))), ba.IsReusePossible , po.Parameter2 from @PWOs po join personwantsorg\r\n pwo on po.Parameter1 = pwo.UID_PersonWantsOrg join BaseTree b on isnull(pwo.UID_ITShopOrgFinal, pwo.uid_Org) = b.uid_org join BaseTreeAssign ba on dbo.QBM_FCVObjectkeyToElement\r\n('UID_DialogTable', pwo.ObjectkeyOrdered) = ba.UID_DialogTableElement left outer join QERAssign r on pwo.ObjectkeyOrdered = r.XObjectKey          update\r\n @PWOToCheck set isToCalculate = 0 from @PWOToCheck c    where c.OrderState in ('Aborted', 'Assigned', 'Dismissed', 'Granted', 'New', 'Unsubscribed', 'Waiting'\r\n)  or c.ObjectkeyOrdered is null  or ( c.IsAssignment = 1 and c.ObjectKeyAssignment is null ) update @PWOToCheck set CountNodes = convert(int, dbo.QBM_FCVObjectkeyToElement\r\n('CountNodes', case c.IsAssignment when 1 then c.ObjectKeyAssignment else c.ObjectkeyOrdered end ) ) from @PWOToCheck c where c.isToCalculate = 1 update\r\n @PWOToCheck set isToCalculate = 0 from @PWOToCheck c where c.isToCalculate = 1 and ( (c.IsAssignment = 1 and c.CountNodes <> 2 and dbo.QBM_FCVObjectkeyToElement\r\n('UID_DialogTable', c.ObjectKeyAssignment) <> 'QER-T-ESetHasEntitlement' ) or (c.IsAssignment = 1 and c.CountNodes <> 1 and dbo.QBM_FCVObjectkeyToElement\r\n('UID_DialogTable', c.ObjectKeyAssignment) = 'QER-T-ESetHasEntitlement' ) or( c.IsAssignment = 0 and c.CountNodes <> 1 ) ) if @@ROWCOUNT > 0 begin if @IsCalledFromTrigger\r\n = 1 begin set XACT_ABORT ON  RAISERROR ('#LDS#ObjectkeyOrdered / ObjectkeyAssignment has an invalid number of PK definitions.|', 18,1 ) WITH NOWAIT end\r\n end  if exists (select top 1 1 from @PWOToCheck c where c.CountNodes = 1 and c.IsAssignment = 0 ) begin insert into @HelperPWOPersonHasObject (uid_person\r\n, Objectkey, uid_OrgRelated, isExisting , UID_PersonWantsOrg) select distinct c.UID_PersonOrdered , bho.ObjectKey, c.UID_OrgPR, 0, c.UID_PersonWantsOrg\r\n from @PWOToCheck c join BaseTreehasObject bho with (nolock) on bho.UID_Org = c.UID_OrgPR where c.IsAssignment = 0 and c.IsReusePossible = 0 and c.CountNodes\r\n = 1 and c.isToCalculate = 1 end   if exists (select top 1 1 from @PWOToCheck c where c.CountNodes = 2 or c.IsAssignment = 1 ) begin   update @PWOToCheck\r\n set OrderTableName = dbo.QBM_FCVObjectkeyToElement('TableName', c.ObjectKeyAssignment) , OrderPKValue1 = dbo.QBM_FCVObjectkeyToElement('ColumnValue1',\r\n c.ObjectKeyAssignment) , OrderPKValue2 = dbo.QBM_FCVObjectkeyToElement('ColumnValue2', c.ObjectKeyAssignment) from @PWOToCheck c where c.isToCalculate\r\n = 1 and c.CountNodes = 2 update @PWOToCheck set isAssignToBaseTree = ao.isAssignToBaseTree , isAssignPersonToBaseTree = ao.isAssignPersonToBaseTree , \r\nisAssignFK = ao.isAssignFK , AssignedTableName = ao.AssignedTable from @PWOToCheck c join QER_VITShopOrderAssignment ao on ao.TableName = c.OrderTableName\r\n where c.isToCalculate = 1 and c.CountNodes = 2  update @PWOToCheck set OrderPKName1 = dbo.QBM_FCVObjectkeyToElement('ColumnName1', c.ObjectKeyAssignment\r\n) , OrderPKName1Base = dbo.QBM_FCVObjectkeyToElement('ColumnNameBase1', c.ObjectKeyAssignment) from @PWOToCheck c where c.isToCalculate = 1 and c.CountNodes\r\n = 2    if exists (select top 1 1 from @PWOToCheck c where c.isAssignToBaseTree = 1 ) begin update @PWOToCheck set AssignedObjectkey = dbo.QBM_FCVElementToObjectKey1\r\n(c.AssignedTableName , '' , case c.OrderPKName1Base when 'UID_Org' then c.OrderPKValue2 else c.OrderPKValue1 end ) , OrderPKValueOrg = case c.OrderPKName1Base\r\n when 'UID_Org' then c.OrderPKValue1 else c.OrderPKValue2 end from @PWOToCheck c where c.isToCalculate = 1 and c.CountNodes = 2 and c.isAssignToBaseTree\r\n = 1    insert into @HelperPWOPersonHasObject (uid_person, Objectkey, uid_OrgRelated , isExisting, UID_PersonWantsOrg) select x.uid_person, x.AssignedObjectkey\r\n, x.OrderPKValueOrg, 0, x.UID_PersonWantsOrg from( select pio.uid_Person , c.AssignedObjectkey, c.OrderPKValueOrg, c.UID_PersonWantsOrg from BaseTreecollection\r\n co join personinBaseTree pio on co.uid_Org = pio.uid_org join @PWOToCheck c on co.uid_Parentorg = c.OrderPKValueOrg where c.isToCalculate = 1 and c.CountNodes\r\n = 2 and c.isAssignToBaseTree = 1 and pio.XOrigin > 0 union select pio.uid_Person , c.AssignedObjectkey, c.OrderPKValueOrg, c.UID_PersonWantsOrg from BaseTreecollection\r\n co join helperpersonorg pio on co.uid_Org = pio.uid_org join @PWOToCheck c on co.uid_Parentorg = c.OrderPKValueOrg where c.isToCalculate = 1 and c.CountNodes\r\n = 2 and c.isAssignToBaseTree = 1 ) as x end        if exists (select top 1 1 from @PWOToCheck c where c.isAssignPersonToBaseTree = 1 ) begin  update @PWOToCheck\r\n set OrderPKValuePerson = case c.OrderPKName1 when 'UID_Person' then c.OrderPKValue1 else c.OrderPKValue2 end , OrderPKValueOrg = case c.OrderPKName1 when\r\n 'UID_Person' then c.OrderPKValue2 else c.OrderPKValue1 end from @PWOToCheck c where c.isToCalculate = 1 and c.CountNodes = 2 and c.isAssignPersonToBaseTree\r\n = 1 insert into @HelperPWOPersonHasObject (uid_person, Objectkey, uid_OrgRelated, isExisting, UID_PersonWantsOrg ) select c.OrderPKValuePerson, bho.objectkey\r\n, c.OrderPKValueOrg, 0, c.UID_PersonWantsOrg from BaseTreehasObject bho with (nolock) join @PWOToCheck c on bho.uid_org = c.OrderPKValueOrg where c.isToCalculate\r\n = 1 and c.CountNodes = 2 and c.isAssignPersonToBaseTree = 1  union select c.OrderPKValuePerson, b.XObjectKey, c.OrderPKValueOrg, 0, c.UID_PersonWantsOrg\r\n from BaseTree b join @PWOToCheck c on b.uid_org = c.OrderPKValueOrg and c.isToCalculate = 1 where c.isToCalculate = 1 and c.CountNodes = 2 and c.isAssignPersonToBaseTree\r\n = 1 end        if exists (select top 1 1 from @PWOToCheck c where c.IsAssignment = 1 and dbo.QBM_FCVObjectkeyToElement('UID_DialogTable', c.ObjectKeyAssignment\r\n) = 'QER-T-ESetHasEntitlement' and c.isToCalculate = 1 ) begin update @PWOToCheck set OrderTableName = dbo.QBM_FCVObjectkeyToElement('TableName', pwo.ObjectKeyElementUsedInAssign\r\n)  , AssignedObjectkey = pwo.ObjectKeyElementUsedInAssign  , OrderPKValue1 = dbo.QBM_FCVObjectkeyToElement('ColumnValue1', pwo.ObjectKeyOrgUsedInAssign\r\n)  from @PWOToCheck c join personwantsorg pwo on c.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg where c.isToCalculate = 1 and dbo.QBM_FCVObjectkeyToElement\r\n('UID_DialogTable', c.ObjectKeyAssignment) = 'QER-T-ESetHasEntitlement' and c.IsAssignment = 1  insert into @HelperPWOPersonHasObject (uid_person, Objectkey\r\n, uid_OrgRelated , isExisting, UID_PersonWantsOrg) select x.uid_person, x.AssignedObjectkey, x.UID_OrgPR, 0, x.UID_PersonWantsOrg from( select phe.uid_Person\r\n , c.AssignedObjectkey, c.UID_OrgPR, c.UID_PersonWantsOrg from PersonHasEset phe join @PWOToCheck c on phe.uid_ESet = c.OrderPKValue1 where c.isToCalculate\r\n = 1 and c.IsAssignment = 1 and phe.XOrigin > 0 ) as x end     end  Delta: if exists (select top 1 1 from @HelperPWOPersonHasObject h where h.Objectkey\r\n like '<Key><T>ESet</T>%' ) begin insert into @HelperPWOPersonHasObject(uid_person, Objectkey, uid_OrgRelated, isExisting, IsFromSubIdentityOnly, UID_PersonWantsOrg\r\n) select distinct h.UID_Person, ehe.Entitlement, h.UID_OrgRelated, h.IsExisting, h.IsFromSubIdentityOnly, h.UID_PersonWantsOrg from @HelperPWOPersonHasObject\r\n h join ESet e on h.Objectkey = e.XObjectKey join ESetHasEntitlement ehe on ehe.UID_ESet = e.UID_ESet where not exists (select top 1 1 from @HelperPWOPersonHasObject\r\n i where i.UID_Person = h.UID_Person and i.Objectkey = ehe.Entitlement and i.UID_PersonWantsOrg = h.UID_PersonWantsOrg ) end   insert into @HelperPWOPersonHasObject\r\n (uid_person, Objectkey, uid_OrgRelated, isExisting, IsFromSubIdentityOnly, UID_PersonWantsOrg ) select distinct m.uid_person, ho.Objectkey, ho.uid_OrgRelated\r\n, 0, 1, ho.UID_PersonWantsOrg from @HelperPWOPersonHasObject ho join person p on ho.uid_person = p.uid_person  join person m on p.uid_personmasteridentity\r\n = m.uid_Person where Not exists (select top 1 1 from @HelperPWOPersonHasObject e where e.uid_person = m.UID_Person and e.Objectkey = ho.Objectkey and \r\nisnull(e.UID_OrgRelated, '') = isnull(ho.uid_OrgRelated, '') and e.UID_PersonWantsOrg = ho.UID_PersonWantsOrg ) update @HelperPWOPersonHasObject set IsExisting\r\n = 1 from @HelperPWOPersonHasObject h where exists (select top 1 1 from personhasobject pho with (nolock) where pho.uid_person = h.uid_person and pho.Objectkey\r\n = h.objectkey )  delete HelperPWOPersonHasObject from HelperPWOPersonHasObject hpo join @PWOToCheck c on hpo.UID_PersonWantsOrg = c.UID_PersonWantsOrg\r\n where not exists (select top 1 1 from @HelperPWOPersonHasObject pho where pho.uid_person = hpo.UID_Person and isnull(pho.Objectkey, '') = hpo.Objectkey\r\n and pho.UID_PersonWantsOrg = hpo.UID_PersonWantsOrg )  insert into HelperPWOPersonHasObject (UID_HelperPWOPersonHasObject, uid_Personwantsorg, uid_person\r\n ,Objectkey, uid_OrgRelated , isExisting, IsFromSubIdentityOnly) select newid(), w.UID_PersonWantsOrg, w.uid_person , w.Objectkey, w.uid_OrgRelated , isExisting\r\n, IsFromSubIdentityOnly from @HelperPWOPersonHasObject w join @PWOToCheck c on w.UID_PersonWantsOrg = c.UID_PersonWantsOrg and c.isToCalculate = 1 where\r\n not exists (select top 1 1 from HelperPWOPersonHasObject pho with (nolock) where pho.uid_personwantsorg = w.UID_PersonWantsOrg and pho.uid_person = w.uid_person\r\n and pho.Objectkey = w.Objectkey ) declare @Helper table (UID_HelperPWOPersonHasObject varchar(38) collate database_default , IsExisting bit default 0 \r\n, IsFromSubIdentity bit default 0 ) insert into @Helper (UID_HelperPWOPersonHasObject, IsExisting, IsFromSubIdentity) select pho.UID_HelperPWOPersonHasObject\r\n, h.IsExisting ,h.IsFromSubIdentityOnly from @HelperPWOPersonHasObject h join HelperPWOPersonHasObject pho on pho.uid_personwantsorg = h.UID_PersonWantsOrg\r\n and pho.uid_person = h.uid_person and pho.Objectkey = h.objectkey where (pho.IsExisting <> h.IsExisting or pho.IsFromSubIdentityOnly <> h.IsFromSubIdentityOnly\r\n ) if exists (select top 1 1 from @Helper) begin update HelperPWOPersonHasObject set IsExisting = h.IsExisting , IsFromSubIdentityOnly = h.IsFromSubIdentity\r\n from @Helper h join HelperPWOPersonHasObject pho on h.UID_HelperPWOPersonHasObject = pho.UID_HelperPWOPersonHasObject end if dbo.QBM_FGIModuleExists('SAC'\r\n) = 1 begin if exists (select top 1 1 from sys.procedures p where p.name = 'SAC_PITShopPersonHasObjectFill' ) begin  declare @ElementBufferMulti QBM_YCursorBuffer\r\n insert into @ElementBufferMulti (UID1, ContentFull) select distinct c.GenProcID, concat(' exec SAC_PITShopPersonHasObjectFill ''' , c.UID_PersonWantsOrg\r\n , ''', ''' , c.GenProcID , '''') from HelperPWOPersonHasObject hpo join @PWOToCheck c on hpo.UID_PersonWantsOrg = c.UID_PersonWantsOrg and c.isToCalculate\r\n = 1 where hpo.ObjectKey like '<Key><T>SAP%' exec QBM_PExecuteSQLMulti @ElementBufferMulti , @HasDifferentGenprocID = 0 , @LockTimeout_ms = 500 , @MaxWaitTimeForLock_s\r\n = 7.0  end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow\r\n, 18, 1) WITH NOWAIT END CATCH ende: revert return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PITShopProductNodeCheck",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-09-22T13:35:02.813",
      "ModifyDate": "2026-04-14T23:20:38.823",
      "Definition": "         create   procedure QER_PITShopProductNodeCheck(@UID_OrgBO varchar(38) , @GenProcID varchar(38) )  AS begin declare @UID_OrgPR varchar(38\r\n) declare @startat datetime declare @BasisObjectKey varchar(138) declare @SQLcmd nvarchar(max) declare @DebugSwitch int = 0 declare @MerkTable1 QBM_YSingleGUID\r\n declare @MerkTable2 QBM_YSingleGUID  declare @MerkTableNoAssign QBM_YCursorBuffer  declare @MerkTable3 QBM_YParameterList  declare @StringPatternInherit\r\n varchar(16) declare @StringPatternInheritInv varchar(16) declare @DebugLevel char(1) = 'W' declare @RowLimitNodeCheck int declare @RowCounterNodeCheck\r\n int declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @ElementLast int declare @ElementCount int declare @ElementIndex int declare\r\n @PWOsToMove QBM_YParameterList     declare @NodeCreateBuffer QBM_YParameterList declare @WirMachenDasNochEinmal bit = 0 declare @EntriesToFire QBM_YParameterList\r\n BEGIN TRY select @StringPatternInherit = dbo.QBM_FCVBinaryToString( CONVERT(varbinary, dbo.QBM_FGIBitPatternXOrigin('|Inherit|',0)), 0) select @StringPatternInheritInv\r\n = dbo.QBM_FCVBinaryToString( CONVERT(varbinary, dbo.QBM_FGIBitPatternXOrigin('|Inherit|',1)), 0) select @RowCounterNodeCheck = 0 select @RowLimitNodeCheck\r\n = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue('QER\\ITShop\\LimitOfNodeCheck'), 500)  if not exists (select top 1 1 from BaseTree where uid_org = \r\nisnull(@UID_OrgBO,'')) begin select @SQLcmd = N'BaseTree ' + rtrim(@UID_OrgBO) + ' not exists, Job ORGAUTOCHILD was killed' if @DebugSwitch > 0 begin print\r\n @SQLCmd end exec QBM_Pjournal @SQLcmd, @@procid, 'D', @DebugLevel goto endLabel  end   select @SQLCmd = string_agg( concat( convert(nvarchar(max), '')\r\n, '\r\n\t select b.uid_org \r\n\t\t\t\tfrom BaseTree b join ' , t.TableName , ' bha on b.UID_ParentOrg = ''' , @UID_OrgBO , '''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tand b.uid_org = bha.uid_org\r\n\t\t\twhere bha.XOrigin & '\r\n , @StringPatternInheritInv , ' > 0 \r\n\t\t\t and bha.XIsInEffect = 1\r\n\t\t' )  , '\r\n\t\t\tunion all\r\n\t\t' )   from BaseTreeAssign a join DialogTable t with (readpast\r\n) on a.UID_DialogTableMN = t.UID_DialogTable where a.IsITShopEnabled = 1 if @DebugSwitch > 0 begin print @SQLCmd end insert into @MerkTable1(UID_SingleGuid\r\n ) exec sp_executesql @SQLCmd if @DebugSwitch > 0 begin select * from @MerkTable1 end   select @SQLcmd = string_agg( concat( convert(nvarchar(max), '')\r\n, '\r\n\t   select c.uid_org\r\n\t     from BaseTree o join ' , t.TableName , ' c on o.uid_org = c.uid_org\r\n\t\t\t\t\t\t\t\t\t\t\tand o.uid_parentorg = ''' , @UID_OrgBO\r\n , '''\r\n\t\twhere not exists (select top 1 1 \r\n\t\t\t\t\t\t\tfrom ' , t.TableName , ' p \r\n\t\t\t\t\t\t\twhere p.uid_org = ''' , @UID_OrgBO , '''\r\n\t\t\t\t\t\t\tand p.' , c.ColumnName\r\n , ' = c.' , c.ColumnName , '\r\n\t\t\t\t\t\t\tand p.XOrigin & ' , @StringPatternInheritInv , ' > 0 \r\n\t\t\t\t\t\t)\r\n\t\t\tand c.XOrigin & ' , @StringPatternInheritInv ,\r\n ' > 0 \r\n\t\t\tand c.XIsInEffect = 1\r\n\t\t\t' )  , '\r\n\t\t\tunion all\r\n\t\t' )   from BaseTreeAssign a join DialogTable t with (readpast) on a.UID_DialogTableMN =\r\n t.UID_DialogTable join DialogColumn c with (readpast) on t.UID_DialogTable = c.UID_DialogTable and c.IsPKMember = 1 and c.ColumnName <> 'UID_Org'  where\r\n a.IsITShopEnabled = 1 if @DebugSwitch > 0 begin print @SQLCmd end insert into @MerkTable2(UID_SingleGuid ) exec sp_executesql @SQLCmd if @DebugSwitch \r\n> 0 begin select * from @MerkTable2 end   insert into @MerkTableNoAssign (UID1 ) select distinct b.UID_Org from BaseTree b where b.UID_ParentOrg = @UID_OrgBO\r\n   select @SQLcmd = string_agg( concat( convert(nvarchar(max), ''), '\r\n\t select b.uid_org \r\n\t\t\t\tfrom BaseTree b join ' , t.TableName , ' bha on b.UID_ParentOrg = '''\r\n , @UID_OrgBO , '''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tand b.uid_org = bha.uid_org\r\n\t\t\twhere bha.XOrigin & ' , @StringPatternInheritInv , ' > 0 \r\n\t\t\tand bha.XIsInEffect = 1\r\n\t\t'\r\n )  , '\r\n\t\t\tunion all\r\n\t\t' )   from BaseTreeAssign a join DialogTable t with (readpast) on a.UID_DialogTableMN = t.UID_DialogTable where a.IsITShopEnabled\r\n = 1 if @DebugSwitch > 0 begin print @SQLCmd end insert into @MerkTableNoAssign(UID1 ) exec sp_executesql @SQLCmd if @DebugSwitch > 0 begin select UID1\r\n from @MerkTableNoAssign end  exec QBM_PSessionContextSet 'GenProcID', @GenProcID   declare @ElementToDelte QBM_YCursorBuffer insert into @ElementToDelte\r\n (UID1) select m.UID_SingleGuid  from @MerkTable1 m group by m.UID_SingleGuid  having COUNT(*) > 1 union select m.UID_SingleGuid  from @MerkTable2 m union\r\n select m.UID1  from @MerkTableNoAssign m group by m.UID1  having COUNT(*) = 1  select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount\r\n +1 select @ElementLast = @@IDENTITY if @DebugSwitch > 0 begin print str(@ElementCount) + ' zu vernichtende Sachen' end while @ElementIndex <= @ElementLast\r\n and @RowCounterNodeCheck < @RowLimitNodeCheck and @WirMachenDasNochEinmal = 0 begin select top 1 @UID_OrgPR = bu.UID1 from @ElementToDelte bu where bu.ElementIndex\r\n = @ElementIndex     select @SQLcmd = string_agg( concat(convert(nvarchar(max), ''), '\r\n\t\t\t\tupdate ' , t.TableName , ' set XOrigin = 0\r\n\t\t\t\t\t\twhere uid_org = '''\r\n , @UID_OrgPR , '''\r\n\t\t\t   delete ' , t.TableName , ' \r\n\t\t\t   where uid_org = ''' , @UID_OrgPR , '''' )  , nchar(13) + nchar(10) )  from BaseTreeAssign\r\n a join DialogTable t with (readpast) on a.UID_DialogTableMN = t.UID_DialogTable where a.IsITShopEnabled = 1 if @DebugSwitch > 0 begin print @SQLCmd end\r\n exec sp_executesql @SQLCmd    delete @PWOsToMove insert into @PWOsToMove (Parameter1, Parameter2, Parameter3, HasContentFull) select pwo.UID_PersonWantsOrg\r\n, null, @GenProcID, 0 from Personwantsorg pwo where uid_org = @UID_OrgPR exec QER_PITShopOrderMove_bulk @PWOsToMove if @ElementCount > 1  and ( select \r\ncount(*) from @PWOsToMove ) > 500 begin select @WirMachenDasNochEinmal = 1 end   delete @EntriesToFire insert into @EntriesToFire (Parameter1) select dbo.QBM_FCVElementToObjectKey1\r\n('ITShopOrg', 'UID_ITShopOrg', @UID_OrgPR) exec QBM_PJobCreate_HOFireEvent_L 'ITShopOrg', @EntriesToFire ,'DeletePRNode', @GenProcID , @CheckForExisting\r\n = 1 , @AdditionalObjectKeysAffected = DEFAULT select @RowCounterNodeCheck += 1 select @ElementIndex += 1 end      select @SQLCmd = string_agg( concat(\r\n convert(nvarchar(max), ''), '\r\n\t  select zz.XObjectKey\r\n\t   from  ' , t.TableName , ' h join ' , prod.TableName , ' zz on h.' , c.ColumnName , ' = zz.'\r\n , c.ColumnName , '\r\n\t\twhere h.uid_org = ''' , @UID_OrgBO , '''\r\n\t\t\tand not exists (select top 1 1 from \r\n\t\t\t\t\t\t\t\tBaseTree o join ' , t.TableName , ' c on o.uid_org = c.uid_org\r\n\t\t\t\t\t\t\t\twhere o.uid_parentorg = h.uid_org \r\n\t\t\t\t\t\t\t\tand  c.'\r\n , c.ColumnName , ' = h.' , c.ColumnName , '\r\n\t\t\t\t\t\t\t)\r\n\t\t\tand h.XOrigin & ' , @StringPatternInheritInv , ' > 0\r\n\t\t' , case when ef.UID_DialogColumn > \r\n' ' then ' and h.XIsInEffect = 1 ' else '' end )  , '\r\n\t\t\tunion all\r\n\t\t' )  from BaseTreeAssign a with (readpast) join DialogTable t with (readpast) on\r\n a.UID_DialogTableMN = t.UID_DialogTable join DialogTable prod with (readpast) on a.UID_DialogTableElement = prod.UID_DialogTable join DialogColumn c with\r\n (readpast) on t.UID_DialogTable = c.UID_DialogTable and c.IsPKMember = 1 and c.ColumnName <> 'UID_Org'  left outer join DialogColumn ef with (readpast\r\n) on t.UID_DialogTable = ef.UID_DialogTable and ef.ColumnName = 'XIsInEffect' where a.IsITShopEnabled = 1 if @DebugSwitch > 0 begin Print '======== Starten Neuanlage'\r\n print @SQLCmd end insert into @MerkTable3(Parameter1 ) exec sp_executesql @SQLCmd if @DebugSwitch > 0 begin select * from @MerkTable3 end insert into \r\n@NodeCreateBuffer (Parameter1) select top (@RowLimitNodeCheck) m.Parameter1  from @MerkTable3 m select @RowCounterNodeCheck += @@ROWCOUNT exec QER_PITShopProductNodeCreate_b\r\n @UID_OrgBO, @NodeCreateBuffer, @GenProcID NochMalEntscheidung:  if @RowCounterNodeCheck >= @RowLimitNodeCheck or @WirMachenDasNochEinmal = 1 begin exec\r\n QBM_PDBQueueInsert_Single 'QER-K-OrgAutoChild', @UID_OrgBO, '', @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18\r\n, 1) WITH NOWAIT END CATCH  endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PITShopProductNodeCreate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.253",
      "ModifyDate": "2026-04-14T23:20:38.763",
      "Definition": "     create   procedure QER_PITShopProductNodeCreate( @uid_orgBO varchar(38) , @ObjectKeyElement varchar(138) , @GenProcID varchar(38) , @uid_OrgPR\r\n varchar(38) output ) AS begin declare @ObjectKeys QBM_YParameterList , @uid_OrgPR_intern varchar(38) SET XACT_ABORT OFF BEGIN TRY insert into @ObjectKeys\r\n (Parameter1) select @ObjectKeyElement exec QER_PITShopProductNodeCreate_b @uid_orgBO, @ObjectKeys, @GenProcID, @uid_OrgPR_intern output END TRY BEGIN \r\nCATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH\r\n  ende:  select @uid_OrgPR = @uid_OrgPR_intern return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PITShopProductNodeCreate_b",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.273",
      "ModifyDate": "2026-04-14T23:20:38.787",
      "Definition": " create   procedure QER_PITShopProductNodeCreate_b( @uid_orgBO varchar(38) , @ObjectKeyElements QBM_YParameterList readonly  , @GenProcID varchar\r\n(38) , @uid_OrgPR varchar(38) = null output ) AS begin declare @IsSimulationMode bit = dbo.QBM_FGIIsSimulationMode()  declare @LeftViewName varchar(30)\r\n = 'ITShopOrg' declare @LeftViewPKName varchar(30) = 'UID_ITShopOrg' declare @WhereClauseOrg nvarchar(2000) declare @BasisObjectKey varchar(138) declare\r\n @uid_AccProduct varchar(38) declare @ident_orgInitial nvarchar(256) = 'ProductNode (real name coming soon)' declare @UID_OrgRoot varchar(38) = 'QER-V-ITShopOrg'\r\n declare @SQLCmd nvarchar(max) declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext\r\n('XUser') declare @DebugSwitch int = 0 declare @StringQERFGIBitPatternInheritInfo_Direct nvarchar(100) = dbo.QBM_FCVBinaryToString(convert(varbinary, dbo.QER_FGIBitPatternInheritInfo\r\n('|Direct|', 0)), 0) declare @XUser nvarchar(64) = object_name(@@procid) declare @ElementBufferTables QBM_YCursorBuffer declare @ElementBufferFall2 QBM_YCursorBuffer\r\n declare @ElementBufferFall4 QBM_YCursorBuffer declare @ElementBufferJob QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int SET XACT_ABORT\r\n OFF BEGIN TRY exec QBM_PSessionContextSet 'GenProcID', @GenProcID exec QBM_PSessionContextSet 'XUser', @XUser   drop table if exists #Struktur CREATE \r\nTABLE #Struktur (ObjectKeyElement varchar(138) collate database_default , RightTableName varchar(30) collate database_default , RightTableGUID varchar(38\r\n) collate database_default , MiddleBaseName varchar(30) collate database_default  , MiddleBaseGUID varchar(38) collate database_default  , MiddleBaseFKRightName\r\n varchar(30) collate database_default  , MiddleViewFKLeftName varchar(30) collate database_default , MiddleViewName varchar(30) collate database_default\r\n , MiddleViewFKRightName varchar(30) collate database_default , UID_ACCProduct varchar(38) collate database_default , RightTablePKValue varchar(38) collate\r\n database_default , RemoveThePRNode bit default 0 , UID_OrgPR varchar(38) collate database_default , CreatePRNode bit default 0 , UID_PWODecisionMethod\r\n varchar(38) collate database_default , primary key (ObjectKeyElement) , index #Struktur1 (RightTableName) ) insert into #Struktur( ObjectKeyElement , \r\nRightTableName , RightTableGUID , MiddleBaseName , MiddleBaseGUID , MiddleBaseFKRightName , MiddleViewFKLeftName , MiddleViewName , MiddleViewFKRightName\r\n , RightTablePKValue ) select el.Parameter1 as ObjectKeyElement , tr.TableName as RightTableName , tr.UID_DialogTable as RightTableGUID , mb.TableName \r\nas MiddleBaseName , mb.UID_DialogTable as MiddleBaseGUID       , case when mb.PKName1 = 'UID_Org'  then mb.PKName2 else mb.PKName1 end as MiddleBaseFKRightName\r\n , mvfkl.Columnname as MiddleViewFKLeftName , mv.TableName as MiddleViewName , mvfkr.ColumnName as MiddleViewFKRightName , dbo.QBM_FCVObjectkeyToElement\r\n('Columnvalue1', el.Parameter1  ) as RightTablePKValue from @ObjectKeyElements el join DialogTable tr with (readpast)  on el.Parameter1  like concat('<Key><T>'\r\n , tr.TableName , '</T>%') join BaseTreeAssign ba on ba.UID_DialogTableElement = tr.UID_DialogTable and ba.IsITShopEnabled = 1 join DialogTable mb with\r\n (readpast) on ba.UID_DialogTableMN = mb.UID_DialogTable join DialogColumn mbfkl with (readpast) on mbfkl.UID_DialogTable = mb.UID_DialogTable   and mbfkl.ColumnName\r\n = 'uid_org'      join DialogTable mv with (readpast) on mv.UID_DialogTableBase = mb.UID_DialogTable join QBM_VQBMRelation viewleft on viewleft.UID_DialogTableChild\r\n = mv.UID_DialogTable  and viewleft.UID_DialogTableParent = 'QER-T-ITShopOrg' join DialogColumn mvfkl with (readpast) on mvfkl.UID_DialogTable = mv.UID_DialogTable\r\n and mbfkl.UID_DialogColumn = mvfkl.UID_BaseColumn  join QBM_VQBMRelation viewright on viewright.UID_DialogTableChild = mv.UID_DialogTable and viewright.UID_DialogTableParent\r\n = tr.UID_DialogTable join DialogColumn mvfkr with (readpast)  on mv.UID_DialogTable = mvfkr.UID_DialogTable and mvfkr.IsPKMember = 1 and mvfkr.UID_DialogColumn\r\n <> mvfkl.UID_DialogColumn       insert into @ElementBufferTables (UID1, UID2, UID3) select distinct s.RightTableName, s.MiddleBaseName, MiddleBaseFKRightName\r\n from #Struktur s select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @SQLCmd = concat('update #Struktur \r\n\t\t\t\t\t\t\t\t\t\tset UID_ACCProduct = x.UID_ACCProduct\r\n\t\t\t\t\t\t\t\t\t\tfrom #Struktur s join '\r\n, bu.uid1  , ' x on s.ObjectKeyElement = x.XObjectKey\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand s.RightTableName  = ''', bu.UID1 , ''' \r\n\t\t\t\t\t\t\t\t\t\t\t',    '\r\n\t\t\t\t\t\t\t\tupdate #Struktur\r\n\t\t\t\t\t\t\t\t\tset RemoveThePRNode = sign(len(ISNULL(c.XObjectKey, ''''))) ^ 1\r\n\t\t\t\t\t\t\t\t\tfrom #Struktur s join BaseTree bo on s.RightTableName  = '''\r\n, bu.UID1 , ''' \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand bo.UID_Org = ''' , @uid_orgBO , '''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand bo.ITShopInfo = ''BO''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tleft outer join '\r\n , bu.UID2  , ' c on bo.UID_Org = c.UID_Org\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand c.' , bu.UID3 , ' = s.RightTablePKValue\r\n\t\t\t\t\t\t\t\t' , '\r\n\t\t\t\t\t\t\t\t update #struktur \r\n\t\t\t\t\t\t\t\t\tset UID_OrgPR = pr.uid_org \r\n\t\t\t\t\t\t\t\t\tfrom #Struktur s join BaseTree bo on s.RightTableName  = '''\r\n, bu.UID1 , ''' \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand bo.UID_Org = ''' , @uid_orgBO , '''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand bo.ITShopInfo = ''BO''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tjoin BaseTree pr on pr.UID_ParentOrg = bo.UID_Org\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tjoin '\r\n , bu.UID2  , ' c on pr.UID_Org = c.UID_Org\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand c.' , bu.UID3 , ' = s.RightTablePKValue\r\n\t\t\t\t\t\t\t\t' ) from @ElementBufferTables bu where\r\n bu.ElementIndex = @ElementIndex     exec sp_executesql @SQLCmd select @ElementIndex += 1 end  update #Struktur set CreatePRNode = 1 , UID_OrgPR = NEWID\r\n() where RemoveThePRNode = 0 and UID_OrgPR is null   update #Struktur set UID_PWODecisionMethod = a.UID_PWODecisionMethod from #Struktur s join AccProduct\r\n a on a.UID_AccProduct = s.UID_ACCProduct where s.UID_PWODecisionMethod is null and a.UID_PWODecisionMethod > ' ' and s.CreatePRNode = 1  update #Struktur\r\n set UID_PWODecisionMethod = g.UID_PWODecisionMethod from #Struktur s join AccProduct a on a.UID_AccProduct = s.UID_ACCProduct join AccProductGroup g on\r\n a.UID_AccProductGroup = g.UID_AccProductGroup where s.UID_PWODecisionMethod is null and g.UID_PWODecisionMethod > ' ' and s.CreatePRNode = 1  update #Struktur\r\n set UID_PWODecisionMethod = h.UID_PWODecisionMethod from #Struktur s join PWOHelperBoardMethod h on s.UID_PWODecisionMethod is null and h.UID_OrgBO = \r\n@uid_orgBO where s.UID_PWODecisionMethod is null and s.CreatePRNode = 1          insert into @ElementBufferFall2 (UID1, UID3) select distinct s.MiddleBaseName\r\n, MiddleBaseFKRightName from #struktur s where s.RemoveThePRNode = 1 and s.CreatePRNode = 0 and s.UID_OrgPR > ' ' select @ElementCount = @@ROWCOUNT select\r\n @ElementIndex = 1 while @ElementIndex <= @ElementCount begin  select top 1 @SQLCmd = concat('\r\n\t\t\t\t\t\tUPDATE ' , bu.UID1  , ' \r\n\t\t\t\t\t\tset XOrigin = 0\r\n\t\t\t\t\t\tfrom #Struktur s join '\r\n, bu.UID1  , ' x on s.RightTablePKValue = x.', bu.UID3 , '\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand s.middleBaseName  = ''', bu.UID1 , ''' \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand s.uid_OrgPR = x.UID_Org\r\n\t\t\t\t\t\twhere  s.RemoveThePRNode = 1\r\n\t\t\t\t\t\tand s.CreatePRNode = 0\r\n\t\t\t\t\t\tand s.UID_OrgPR > '' ''\r\n\t\t\t\t\t\r\n\t\t\t\tdelete '\r\n , bu.UID1  ,'\r\n\t\t\t\t\t\tfrom #Struktur s join ', bu.UID1  , ' x on s.RightTablePKValue = x.', bu.UID3 , '\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand s.middleBaseName  = '''\r\n, bu.UID1 , ''' \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand s.uid_OrgPR = x.UID_Org\r\n\t\t\t\t\t\twhere  s.RemoveThePRNode = 1\r\n\t\t\t\t\t\tand s.CreatePRNode = 0\r\n\t\t\t\t\t\tand s.UID_OrgPR > '' ''\r\n\r\n\t\t\t\tdelete BaseTree\r\n\t\t\t\tfrom #struktur s join basetree x on s.middleBaseName  = '''\r\n, bu.UID1 , ''' \r\n\t\t\t\t\t\t\t\t\t\t\t\tand s.uid_OrgPR = x.UID_Org\r\n\t\t\t\t\t\twhere  s.RemoveThePRNode = 1\r\n\t\t\t\t\t\tand s.CreatePRNode = 0\r\n\t\t\t\t\t\tand s.UID_OrgPR > '' ''\r\n\t\t\t\t'\r\n ) from @ElementBufferFall2 bu where bu.ElementIndex = @ElementIndex     exec sp_executesql @SQLCmd select @ElementIndex += 1 end              insert into\r\n BaseTree( UID_Org, UID_ParentOrg, Ident_Org , IsCutNode, Description , uid_OrgRoot , XDateInserted , XDateUpdated , XUserInserted , XUserUpdated, InternalName\r\n , FullPath ,Commentary , ITShopInfo , XObjectKey , IsInvalidForDynamicGroup , UID_PWODecisionMethod ) select s.UID_OrgPR, @uid_orgBO, @Ident_OrgInitial\r\n, 1, null, @UID_OrgRoot, GetUTCDate(), GetUTCDate(), 'QER_PITShopProductNodeCreate', 'QER_PITShopProductNodeCreate', null, null, null , 'PR', dbo.QBM_FCVElementToObjectKey1\r\n(@LeftViewName, @LeftViewPKName, s.UID_OrgPR) , 1 , s.UID_PWODecisionMethod from #Struktur s where s.RemoveThePRNode = 0 and s.CreatePRNode = 1        \r\n insert into @ElementBufferFall4(UID1, UID2, UID3, UID4, UID5) select distinct s.MiddleBaseName, s.MiddleBaseFKRightName, s.MiddleViewName, s.MiddleViewFKLeftName\r\n, s.MiddleViewFKRightName from #Struktur s where s.CreatePRNode = 1 and s.RemoveThePRNode = 0 select @ElementCount = @@ROWCOUNT select @ElementIndex = \r\n1 while @ElementIndex <= @ElementCount begin     select top 1 @SQLCmd = concat(  'insert into ' , bu.UID1  , ' (UID_Org, ' , bu.UID2 , ' ,  XDateInserted , XDateUpdated , XUserInserted , XUserUpdated\r\n\t\t\t\t\t\t\t\t\t\t\t, XObjectKey\r\n\t\t\t\t\t\t\t\t\t\t\t, XOrigin, XIsInEffect\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\tselect\t\t\t\t\t s.uid_OrgPR , s.RightTablePKValue , GetUTCDate(),       GetUTCDate(),    ''QER_PITShopProductNodeCreate'', ''QER_PITShopProductNodeCreate'' \r\n\t\t\t\t\t\t\t\t\t\t, dbo.QBM_FCVElementToObjectKey2('''\r\n, bu.UID3 , ''', ''', bu.UID4 , ''', s.uid_OrgPR , ''', bu.UID5 , ''', s.RightTablePKValue)\r\n\t\t\t\t\t\t\t\t\t\t, 1, 1\r\n\t\t\t\t\tfrom #struktur s\r\n\t\t\t\t\twhere s.MiddleBaseName = '''\r\n , bu.UID1  , '''\r\n\t\t\t\t\t  and s.CreatePRNode = 1\r\n\t\t\t\t\t   and s.RemoveThePRNode = 0\r\n\t\t\t\t\t   -- eigentlich überflüssig aber Pferd und Apotheke\r\n\t\t\t\t\t\tand not exists ( select top 1 1 \r\n\t\t\t\t\t\t\t\t\t\tfrom '\r\n , bu.UID1  , ' e\r\n\t\t\t\t\t\t\t\t\t\twhere e.UID_Org = s.uid_OrgPR\r\n\t\t\t\t\t\t\t\t\t\tand e.' , bu.UID2 , ' =  s.RightTablePKValue\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t',    '\t\t\t\t\t\r\n\t\t\tinsert into BaseTreeHasObject (UID_BaseTreeHasObject, UID_Org, ObjectKey\r\n\t\t\t\t\t\t\t\t\t, InheritInfo, XObjectKey\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t-- 35301 die Bildung des Wertes muß exakt so sein wie in QER_PBasetreeHsObject_PostProc\r\n\t\t\t\tselect dbo.QBM_FCVStringToGUIDMAll(null, s.UID_OrgPR, s.ObjectKeyElement) , s.UID_OrgPR , s.ObjectKeyElement \r\n\t\t\t\t\t\t\t\t\t, '\r\n , @StringQERFGIBitPatternInheritInfo_Direct , ', dbo.QBM_FCVElementToObjectKey1(''BaseTreeHasObject'', ''UID_BaseTreeHasObject'', dbo.QBM_FCVStringToGUIDMAll(null, s.UID_OrgPR, s.ObjectKeyElement))\r\n\t\t\t\t\tfrom #struktur s\r\n\t\t\t\t\twhere s.MiddleBaseName = '''\r\n , bu.UID1  , '''\r\n\t\t\t\t\t  and s.CreatePRNode = 1\r\n\t\t\t\t\t   and s.RemoveThePRNode = 0\r\n\t\t\t\t\t   -- eigentlich überflüssig aber Pferd und Apotheke\r\n\t\t\t\t\t   and Not exists (select top 1 1\r\n\t\t\t\t\t\t\t\t\t\t\tfrom BaseTreeHasObject bho\r\n\t\t\t\t\t\t\t\t\t\t\twhere bho.UID_Org = s.UID_OrgPR\r\n\t\t\t\t\t\t\t\t\t\t\tand bho.ObjectKey = s.ObjectKeyElement\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t'\r\n ) from @ElementBufferFall4 bu where bu.ElementIndex = @ElementIndex     exec sp_executesql @SQLCmd if @IsSimulationMode = 1 begin select @SQLCmd = concat\r\n('\r\n\t\tdeclare @SimulationModeBuffer QBM_YTriggerOperation\r\n\r\n\t\tinsert into @SimulationModeBuffer (operation, BaseObjectType, ColumnName, Objectkey, OldValue) \r\n\t\t\t\t\t\tselect ''I'', ''ITShopOrg'', '''', \r\n\t\t\t\t\t\t\t\t\tdbo.QBM_FCVElementToObjectKey1(''ITShopOrg'',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t ''uid_ITShopOrg'', s.uid_OrgPR) , ''''\r\n\t\t\t\t\tfrom #struktur s\r\n\t\t\t\t\twhere s.MiddleBaseName = '''\r\n , bu.UID1  , '''\r\n\t\t\t\t\t  and s.CreatePRNode = 1\r\n\t\t\t\t\t   and s.RemoveThePRNode = 0\r\n\r\n\t\tinsert into @SimulationModeBuffer (operation, BaseObjectType, ColumnName, Objectkey, OldValue) \r\n\t\t\t\t\t\tselect ''I'', '''\r\n, bu.UID3 , ''', '''', \r\n\t\t\t\t\t\t\t\t\tdbo.QBM_FCVElementToObjectKey2(''', bu.UID3 , ''',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t ''uid_ITShopOrg'', s.uid_OrgPR, ''' , bu.UID2 , \r\n''' , s.RightTablePKValue) , ''''\r\n\r\n\t\t\t\t\tfrom #struktur s\r\n\t\t\t\t\twhere s.MiddleBaseName = ''' , bu.UID1  , '''\r\n\t\t\t\t\t  and s.CreatePRNode = 1\r\n\t\t\t\t\t   and s.RemoveThePRNode = 0\r\n\r\n\t\texec QBM_PFESimulationFill @SimulationModeBuffer\r\n\r\n\t\t\t\t'\r\n ) from @ElementBufferFall4 bu where bu.ElementIndex = @ElementIndex     exec sp_executesql @SQLCmd end select @ElementIndex += 1 end   insert into @ElementBufferJob\r\n(UID1, UID2) select distinct s.UID_OrgPR, s.UID_ACCProduct from #Struktur s where s.CreatePRNode = 1 and s.RemoveThePRNode = 0  and exists (select top \r\n1 1 from dialogcolumn with (readpast) where UID_DialogTable = 'QER-T-ITShopOrg' and ColumnName = 'uid_ACCProduct' and IsDeactivatedByPreProcessor = 0 )\r\n select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin     select top 1 @WhereClauseOrg = concat('UID_ITShopOrg = '''\r\n , bu.UID1 , '''') , @BasisObjectKey = dbo.QBM_FCVElementToObjectKey1('ITShopOrg', 'UID_ITShopOrg', bu.UID1) , @uid_AccProduct = bu.UID2 from @ElementBufferJob\r\n bu where bu.ElementIndex = @ElementIndex exec QBM_PJobCreate_HOUpdate 'ITShopOrg', @whereclauseOrg, @GenProcID , @ObjectKeysAffected = default , @p1 =\r\n 'uid_ACCProduct' , @v1 = @uid_accproduct , @BasisObjectKey = @BasisObjectKey , @isToFreezeOnError = 1 , @Retries = 2  select @SQLCmd = concat('update ITShopOrg set UID_AccProduct = '''\r\n, @uid_ACCProduct, ''' where ', @WhereClauseOrg) exec sp_executesql @SQLCmd select @ElementIndex += 1 end   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH  ende: exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet 'XUser', @XUser_R    select top 1 @uid_OrgPR = s.UID_OrgPR from #Struktur s return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PITShopProductNodeMove",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.327",
      "ModifyDate": "2026-04-14T23:20:38.853",
      "Definition": "    create   procedure QER_PITShopProductNodeMove ( @uid_OrgPR_Old varchar(38)  , @uid_orgBO_new varchar(38)  ) as begin declare @uid_OrgPR_New \r\nvarchar(38) declare @uid_OrgSH_New varchar(38) declare @uid_OrgCU_New varchar(38) declare @uid_orgBO_Old varchar(38) declare @uid_orgSH_Old varchar(38)\r\n declare @uid_orgCU_Old varchar(38) declare @Ident_OrgBO_New nvarchar(256) declare @Ident_OrgSH_New nvarchar(256) declare @ObjectKeyElement varchar(138\r\n)  declare @UID_AccProduct varchar(38) declare @SQLCmdDelete nvarchar(max) declare @SQLCmdInsert nvarchar(max)  declare @UID_BaseTreeHasObject varchar(38\r\n) declare @SQLCmdBaetreeHasObject nvarchar(max) declare @uid_personwantsorg varchar(38) declare @BasisObjectKey varchar(138) declare @TargetTable varchar\r\n(30) declare @TargetView varchar(30)  declare @uid_DialogTableAssigned varchar(38) declare @pkname varchar(30) declare @DebugSwitch int = 0 declare @DebugLevel\r\n char(1) = 'W' declare @DebugMessage nvarchar(2000) declare @StringQERFGIBitPatternInheritInfo_Direct nvarchar(100) declare @GenProcID varchar(38) declare\r\n @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @PWOsToMove QBM_YParameterList    declare @QER_BitPatternInherit_Direct\r\n int = dbo.QER_FGIBitPatternInheritInfo('|Direct|', 0)  SET XACT_ABORT OFF BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext('') select @StringQERFGIBitPatternInheritInfo_Direct\r\n = dbo.QBM_FCVBinaryToString(convert(varbinary, dbo.QER_FGIBitPatternInheritInfo('|Direct|', 0)), 0)  select @uid_orgBO_Old = null select @uid_orgSH_Old\r\n = null select @uid_orgCU_Old = null select top 1 @uid_orgBO_Old = bo.uid_org, @uid_orgSH_Old = sh.uid_org, @uid_orgCU_Old = cu.uid_org , @Ident_OrgBO_New\r\n = bo.Ident_Org , @Ident_OrgSH_New = sh.Ident_Org , @UID_AccProduct = pr.UID_AccProduct from BaseTree pr join BaseTree bo on pr.uid_parentorg = bo.uid_org\r\n join BaseTree sh on bo.uid_parentorg = sh.uid_org join BaseTree cu on cu.uid_parentorg = sh.uid_org and cu.itShopInfo = 'CU' where pr.uid_org = @uid_OrgPR_Old\r\n and pr.uid_OrgRoot = 'QER-V-ITShopOrg' if @uid_orgBO_Old is null begin  raiserror( '#LDS#The shelf can not be found for the product node.|', 18, 2) with\r\n nowait end if @uid_orgSH_Old is null begin  raiserror( '#LDS#The shop cannot be found for the product node.|', 18, 2) with nowait end if @uid_orgCU_Old\r\n is null begin  raiserror( '#LDS#The customer node cannot be found for the product node.|', 18, 2) with nowait end if not exists (select top 1 1 from BaseTree\r\n where uid_OrgRoot = 'QER-V-ITShopOrg' and ITShopInfo = 'BO' and uid_Org = @uid_orgBO_new ) begin  raiserror( '#LDS#The given target node is not a shelf in IT Shop.|'\r\n, 18, 2) with nowait end if @uid_orgBO_Old = @uid_orgBO_New begin  goto ende end select @ObjectKeyElement = null  select top 1 @ObjectKeyElement = bho.ObjectKey\r\n from BaseTreeHasObject bho where bho.UID_Org = @uid_OrgPR_Old  and InheritInfo = @QER_BitPatternInherit_Direct if @Debugswitch > 0 begin select @DebugMessage\r\n = '@ObjectKeyElement  '+ ISNULL(@ObjectKeyElement, '<null>') exec QBM_PJournal @debugmessage, @@procid, 'D', @DebugLevel end  select top 1 @TargetTable\r\n = tmn.TableName from BaseTreeAssign ba join DialogTable tb with (readpast) on ba.UID_DialogTableElement = tb.UID_DialogTable join DialogTable tmn with\r\n (readpast) on ba.UID_DialogTableMN = tmn.UID_DialogTable  where @ObjectKeyElement like concat('<Key><T>' , tb.TableName , '</T>%') if @Debugswitch > 0\r\n begin select @DebugMessage = '@TargetTable  '+ ISNULL(@TargetTable, '<null>') exec QBM_PJournal @debugmessage, @@procid, 'D', @DebugLevel end select top\r\n 1 @pkname = dbo.QBM_FGIPrimaryKeyName_F(@TargetTable,1) if @pkname = 'uid_org' begin select top 1 @pkname = dbo.QBM_FGIPrimaryKeyName_F(@TargetTable,2\r\n) end if @DebugSwitch > 0 begin select @DebugMessage = '@pkname  '+ ISNULL(@pkname, '<null>') exec QBM_PJournal @debugmessage, @@procid, 'D', @DebugLevel\r\n end  select @SQLCmdDelete = 'update ' + @TargetTable + '\r\n\t\t\t\tset XOrigin = 0\r\n\t\t\twhere uid_Org = ''' + @uid_OrgBO_Old + '''\r\n\t\t\t and ' + @pkname + '  = '''\r\n + dbo.QBM_FCVObjectkeyToElement('ColumnValue1', @ObjectKeyElement) + '''\r\n\r\n\t\t\tdelete ' + @TargetTable + '\r\n\t\t\twhere uid_Org = ''' + @uid_OrgBO_Old + \r\n'''\r\n\t\t\t and ' + @pkname + '  = ''' + dbo.QBM_FCVObjectkeyToElement('ColumnValue1', @ObjectKeyElement) + ''''    if @Debugswitch > 0 begin select @DebugMessage\r\n = '@SQLCmdDelete  '+ ISNULL(@SQLCmdDelete, '<null>') exec QBM_PJournal @debugmessage, @@procid, 'D', @DebugLevel end if @ObjectKeyElement is null begin\r\n  raiserror( '#LDS#The product could not be found for the given product node.|', 18, 2) with nowait end if @uid_accProduct is Null begin  raiserror( '#LDS#Associate Accproduct could not be found.|'\r\n, 18, 2) with nowait end  select top 1 @TargetView = v.TableName from OrgRootAssign oa join BaseTreeAssign ba on oa.UID_BaseTreeAssign = ba.UID_BaseTreeAssign\r\n join DialogTable v with (readpast) on v.UID_DialogTableBase = ba.UID_DialogTableMN join QBM_VQBMRelation r on r.UID_DialogTableParent = 'QER-T-ITShopOrg'\r\n and r.UID_DialogTableChild = v.UID_DialogTable where oa.UID_OrgRoot = 'QER-V-ITShopOrg' and dbo.QBM_FGITableName(ba.UID_DialogTableMN) = @TargetTable \r\nif @Debugswitch > 0 begin select @DebugMessage = '@TargetView  '+ ISNULL(@TargetView, '<null>') exec QBM_PJournal @debugmessage, @@procid, 'D', @DebugLevel\r\n end select @SQLCmdInsert = N'\r\n if not exists (select top 1 1\r\n\t\t\t\t from ' + @TargetTable + '\r\n\t\t\t\t where XObjectKey = ''' + dbo.QBM_FCVElementToObjectKey2\r\n(@TargetView, 'UID_ITShopOrg',@uid_orgBO_New, @pkname,dbo.QBM_FCVObjectkeyToElement('ColumnValue1', @ObjectKeyElement)) + '''\r\n\t\t\t   )\r\n\tbegin\r\n\t\tinsert into '\r\n + @TargetTable + '\r\n\t\t(uid_org, ' + @pkname + '\r\n\t\t , Xorigin, XDateinserted, XdateUpdated\r\n\t\t , XUserInserted, XUserupdated\r\n\t\t , XObjectKey\r\n\t\t\t\t\t ) \r\n\t\tselect '''\r\n + @uid_orgBO_New + ''', ''' + dbo.QBM_FCVObjectkeyToElement('ColumnValue1', @ObjectKeyElement) + '''\r\n\t\t , 1, ''' + dbo.QBM_FCVDatetimeToString(getutcdate\r\n()) + ''', ''' + dbo.QBM_FCVDatetimeToString(getutcdate()) + '''\r\n\t\t, ''' + OBJECT_NAME(@@procid) + ''', ''' + OBJECT_NAME(@@procid) + '''\r\n\t\t, ''' + dbo.QBM_FCVElementToObjectKey2\r\n(@TargetView, 'UID_ITShopOrg',@uid_orgBO_New, @pkname,dbo.QBM_FCVObjectkeyToElement('ColumnValue1', @ObjectKeyElement)) + '''\r\n\tend\r\n\t\r\n\t'  if @Debugswitch\r\n > 0 begin select @DebugMessage = '@SQLCmdInsert  '+ ISNULL(@SQLCmdInsert, '<null>') exec QBM_PJournal @debugmessage, @@procid, 'D', @DebugLevel end exec\r\n QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLCmdInsert , @LockTimeout_ms = 250 , @MaxWaitTimeForLock_s = 20 , @ProcIDForJournal = default , @HandleErrorSilent\r\n = 0 select @UID_BaseTreeHasObject = dbo.QBM_FCVStringToGUIDMAll(null, @uid_orgBO_New, @ObjectKeyElement) select @SQLCmdBaetreeHasObject = '\r\n\tinsert into BaseTreeHasObject (UID_BaseTreeHasObject, UID_Org, ObjectKey\r\n\t\t\t\t\t\t\t\t\t, InheritInfo, XObjectKey\r\n\t\t\t\t\t\t\t\t)\r\n\t\tselect '''\r\n + @UID_BaseTreeHasObject + ''', ''' + @uid_orgBO_New + ''', ''' + @ObjectKeyElement + '''\r\n\t\t\t\t\t\t\t\t\t, ' + @StringQERFGIBitPatternInheritInfo_Direct + \r\n' , dbo.QBM_FCVElementToObjectKey1(''BaseTreeHasObject'', ''UID_BaseTreeHasObject'', ''' + @UID_BaseTreeHasObject + ''')\r\n\t\twhere Not exists (select top 1 1\r\n\t\t\t\t\t\t\tfrom BaseTreeHasObject bho\r\n\t\t\t\t\t\t\twhere bho.UID_Org = '''\r\n + @uid_orgBO_New + '''\r\n\t\t\t\t\t\t\tand bho.ObjectKey = ''' + @ObjectKeyElement + '''\r\n\t\t\t\t\t\t)\r\n\t' exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLCmdBaetreeHasObject\r\n , @LockTimeout_ms = 250 , @MaxWaitTimeForLock_s = 20 , @ProcIDForJournal = default , @HandleErrorSilent = 0 exec QER_PITShopProductNodeCreate @uid_orgBO_New\r\n, @ObjectKeyElement, @GenProcID, @uid_OrgPR_New output  select @UID_BaseTreeHasObject = dbo.QBM_FCVStringToGUIDMAll(null, @uid_OrgPR_New, @ObjectKeyElement\r\n) select @SQLCmdBaetreeHasObject = '\r\n\tinsert into BaseTreeHasObject (UID_BaseTreeHasObject, UID_Org, ObjectKey\r\n\t\t\t\t\t\t\t\t\t, InheritInfo, XObjectKey\r\n\t\t\t\t\t\t\t\t)\r\n\t\tselect '''\r\n + @UID_BaseTreeHasObject + ''', ''' + @uid_OrgPR_New + ''', ''' + @ObjectKeyElement + '''\r\n\t\t\t\t\t\t\t\t\t, ' + @StringQERFGIBitPatternInheritInfo_Direct + \r\n' , dbo.QBM_FCVElementToObjectKey1(''BaseTreeHasObject'', ''UID_BaseTreeHasObject'', ''' + @UID_BaseTreeHasObject + ''')\r\n\t\twhere Not exists (select top 1 1\r\n\t\t\t\t\t\t\tfrom BaseTreeHasObject bho\r\n\t\t\t\t\t\t\twhere bho.UID_Org = '''\r\n + @uid_OrgPR_New + '''\r\n\t\t\t\t\t\t\tand bho.ObjectKey = ''' + @ObjectKeyElement + '''\r\n\t\t\t\t\t\t)\r\n\t' exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @SQLCmdBaetreeHasObject\r\n , @LockTimeout_ms = 250 , @MaxWaitTimeForLock_s = 20 , @ProcIDForJournal = default , @HandleErrorSilent = 0 if @Debugswitch > 0 begin select @DebugMessage\r\n = '@uid_OrgPR_New  '+ ISNULL(@uid_OrgPR_New, '<null>') exec QBM_PJournal @debugmessage, @@procid, 'D', @DebugLevel end  select @uid_OrgSH_New = sh.uid_org\r\n, @uid_OrgCU_New = cu.uid_org , @Ident_OrgBO_New = bo.Ident_Org , @Ident_OrgSH_New = sh.Ident_Org from BaseTree pr join BaseTree bo on pr.uid_parentorg\r\n = bo.uid_org join BaseTree sh on bo.uid_parentorg = sh.uid_org join BaseTree cu on cu.uid_parentorg = sh.uid_org and cu.itShopInfo = 'CU' where pr.uid_org\r\n = @uid_OrgPR_New and pr.uid_OrgRoot = 'QER-V-ITShopOrg'  insert into @PWOsToMove (Parameter1, Parameter2, Parameter3, HasContentFull) select pwo.UID_PersonWantsOrg\r\n , @uid_orgBO_new, @GenProcID, 0 from PersonWantsOrg pwo join QER_VPWOOrderState  s on pwo.OrderState = s.OrderState where pwo.UID_Org = @uid_OrgPR_Old\r\n  order by pwo.UID_PersonOrdered, s.IsClosed desc, s.IsAssigned asc, s.IsOrder asc, s.IsGranted desc exec QER_PITShopOrderMove_bulk @PWOsToMove  exec QBM_PExecuteSQLWithRetry_LLP\r\n @SQLStatement = @SQLCmdDelete , @LockTimeout_ms = 500 , @MaxWaitTimeForLock_s = 20 , @ProcIDForJournal = default , @HandleErrorSilent = 0  END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END \r\nCATCH  ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PMNTableAddViewProperties",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:04.74",
      "ModifyDate": "2026-04-14T23:20:36.487",
      "Definition": "   create   procedure QER_PMNTableAddViewProperties (@BaseTableMN varchar(30)) as begin declare @DebugSwitch int = 0 SET XACT_ABORT OFF BEGIN TRY\r\n if exists (select top 1 1 from #QBMDeltaInsert ) begin update #QBMDeltaInsert set TargetTableView = tv.TableName , ElementColumnView = rel.ChildColumn\r\n , AssignedElementColumnView = c.ColumnName from #QBMDeltaInsert i join BaseTree b on i.Element = b.UID_Org join DialogTable tb with (readpast) on tb.TableName\r\n = @BaseTableMN join DialogTable tv with (readpast) on tv.UID_DialogTableBase = tb.UID_DialogTable join QBM_VQBMRelation rel on rel.ChildTable = tv.TableName\r\n and rel.ParentTable = dbo.QER_FGIOrgRootName(b.uid_orgroot) join DialogColumn c with (readpast) on c.UID_DialogTable = tv.UID_DialogTable and c.IsPKMember\r\n = 1 and c.ColumnName <> rel.ChildColumn if @DebugSwitch > 0 begin select * from #QBMDeltaInsert end end if exists (select top 1 1 from #QBMDeltaDelete\r\n ) begin update #QBMDeltaDelete set TargetTableView = tv.TableName , ElementColumnView = rel.ChildColumn , AssignedElementColumnView = c.ColumnName from\r\n #QBMDeltaDelete i join BaseTree b on i.Element = b.UID_Org join DialogTable tb with (readpast) on tb.TableName = @BaseTableMN join DialogTable tv with\r\n (readpast) on tv.UID_DialogTableBase = tb.UID_DialogTable join QBM_VQBMRelation rel on rel.ChildTable = tv.TableName and rel.ParentTable = dbo.QER_FGIOrgRootName\r\n(b.uid_orgroot) join DialogColumn c with (readpast) on c.UID_DialogTable = tv.UID_DialogTable and c.IsPKMember = 1 and c.ColumnName <> rel.ChildColumn \r\nif @DebugSwitch > 0 begin select * from #QBMDeltaDelete end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = \r\ndbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_POrderUnreachableClose",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:05.78",
      "ModifyDate": "2026-04-14T23:20:37.833",
      "Definition": "   create   procedure QER_POrderUnreachableClose as begin declare @GenProcID varchar(38) SET XACT_ABORT OFF BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext\r\n('') exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate', 'QER-K-ShoppingRackCheckDecision', '', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_POrgRootAssignFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:27.23",
      "ModifyDate": "2026-04-14T23:20:36.193",
      "Definition": "   create   procedure QER_POrgRootAssignFill (@AutoFill bit = 0 ) as begin declare @XUser nvarchar(64) = object_name(@@procid) declare @XDate datetime\r\n = getutcdate() SET XACT_ABORT OFF BEGIN TRY if @AutoFill = 1  begin insert into OrgRootAssign (UID_OrgRoot, UID_BaseTreeAssign, IsAssignmentAllowed, IsDirectAssignmentAllowed\r\n , Xdateinserted, XDateupdated, XUserInserted, XUserUpdated , XObjectKey) select r.UID_OrgRoot, ba.UID_BaseTreeAssign, 0, 0 , @XDate, @XDate, @XUser, @XUser\r\n , dbo.QBM_FCVElementToObjectKey2('OrgRootAssign', 'UID_OrgRoot', r.UID_OrgRoot, 'UID_BaseTreeAssign', ba.UID_BaseTreeAssign) from OrgRoot r cross join\r\n BaseTreeAssign ba where not exists (select top 1 1 from OrgRootAssign a where a.UID_BaseTreeAssign = ba.UID_BaseTreeAssign and a.UID_OrgRoot = r.UID_OrgRoot\r\n ) and ba.UID_DialogTableElement > ' ' end delete OrgRootAssign  from OrgRootAssign oa join BaseTreeAssign ba on oa.UID_BaseTreeAssign = ba.UID_BaseTreeAssign\r\n where ba.UID_DialogTableElement is null END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_POrgSubTree",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.95",
      "ModifyDate": "2026-04-14T23:20:39.567",
      "Definition": "   create   procedure QER_POrgSubTree ( @uid_org varchar(38), @Dummy varchar(38) , @GenProcID varchar(38) ) AS begin declare @CountItems int declare\r\n @uid_orgRoot varchar(38) declare @AnzahlInRunde int declare @msg nvarchar(1024) declare @DebugLevel char(1) = 'W' declare @QBMDeltaHelper QBM_YDBQueueDeltaHelper\r\n declare @WorkInsert QBM_YDBQueueDeltaHelper declare @WorkDelete QBM_YDBQueueDeltaHelper declare @WorkQuantity QBM_YDBQueueDeltaHelper SET XACT_ABORT OFF\r\n BEGIN TRY if not exists (select top 1 1 from BaseTree where uid_org = isnull(@uid_org,'') ) begin select @msg = 'BaseTree ' + rtrim(@uid_org) + ' not exists, Job ORGSUBTREE was killed'\r\n exec QBM_PJournal @msg, @@procid, 'D', @DebugLevel goto ganzende  end select @uid_orgroot = uid_orgroot from BaseTree where uid_org = @uid_org   insert\r\n into @WorkInsert (AssignedElement, Element) select uid_parentorg, uid_org from BaseTreeCollection where uid_org = @uid_org union select @uid_org, @uid_org\r\n select @AnzahlInRunde = 1 while @AnzahlInRunde > 0 begin insert into @WorkInsert (AssignedElement, Element) select uid_parentorg, uid_org from ( select\r\n oc.uid_parentorg, oc.uid_org from BaseTreeCollection oc join BaseTree o on oc.uid_org = o.uid_org  where o.uid_parentorg in (select v.Element from @WorkInsert\r\n v ) union  select uid_parentorg, uid_org from BaseTree where uid_parentorg in (select v.Element from @WorkInsert v ) union select uid_org, uid_org from\r\n BaseTree where uid_parentorg in (select v.Element from @WorkInsert v ) ) as y  where not exists (select top 1 1 from @WorkInsert x where x.AssignedElement\r\n = y.uid_parentorg and x.Element = y.uid_org ) select @AnzahlInRunde = @@rowcount end  insert into @QBMDeltaHelper (Element, AssignedElement, XOrigin) \r\nselect distinct v.Element, v.Element , 2 from @WorkInsert v  select @AnzahlInRunde = 1 while @AnzahlInRunde > 0 begin insert into @QBMDeltaHelper (Element\r\n, AssignedElement, XOrigin) select distinct y.Element, x.UId_parentorg , 2  from BaseTree x, @QBMDeltaHelper y where x.uid_orgroot = @uid_orgroot and x.uid_org\r\n = y.AssignedElement and x.uid_parentorg > ' '  and not exists (select top 1 1 from @QBMDeltaHelper af where af.Element = y.Element and af.AssignedElement\r\n = x.uid_parentorg )  and x.isCutNode = 0 select @AnzahlInRunde = @@rowcount end    insert into @WorkQuantity (Element) select distinct Element from @WorkInsert\r\n delete  @WorkInsert from @WorkInsert v where not exists (select top 1 1 from BaseTreeCollection x where x.uid_org = v.Element and x.uid_parentorg = v.AssignedElement\r\n )  insert into @WorkDelete (Element, AssignedElement) select x.Element, x.AssignedElement from @WorkInsert x  where not exists (select top 1 1 from @QBMDeltaHelper\r\n af  where af.Element = x.Element and af.AssignedElement = x.AssignedElement ) union select x.Element, x.AssignedElement from @QBMDeltaHelper x  where \r\nnot exists (select top 1 1 from @WorkInsert v  where v.Element = x.Element and v.AssignedElement = x.AssignedElement ) select @CountItems = @@rowcount \r\n  if @CountItems > 0 begin   delete from BaseTreeCollection where uid_org in (select Element from @WorkQuantity) insert into BaseTreeCollection (uid_org\r\n, uid_parentorg)  select af.Element, af.AssignedElement from @QBMDeltaHelper af declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct Element as uid from @WorkDelete ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-AllForOneOrg', @DBQueueElements_01 end   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ganzende: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PPersonDelete_GDPR",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.637",
      "ModifyDate": "2026-04-14T23:20:40.48",
      "Definition": "  create   procedure QER_PPersonDelete_GDPR (@UID_person varchar(38) ) as begin declare @ObjectKeyPerson varchar(138) declare @ElementsToClose QBM_YParameterList\r\n declare @GenprocID varchar(38) = newid() declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @Reason nvarchar(1000) = dbo.QBM_FCVStringTrimLDSPrefix\r\n('#LDS#Automatic system approval: Assigned Element was deleted or workflow has changed.|') declare @cmd nvarchar(max) declare @JobqueueBusy int = 1 declare\r\n @Waittime int = 5 declare @maxtry int = 5  * 60  / @Waittime declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex \r\nint declare @AccountTablename varchar(30) declare @AccountObjectkey varchar(138) declare @AccountWhereclause nvarchar(max) declare @XUser nvarchar(64) \r\n= object_name(@@procid) declare @Xdate datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY set nocount on exec QBM_PSessionContextSet 'GenProcID', @GenprocID\r\n select top 1 @ObjectKeyPerson = p.XObjectKey from Person p where p.UID_Person = @UID_person if @@ROWCOUNT = 0 begin goto EndLabel end update PersonWantsOrg\r\n set DisplayPersonInserted = null  , XDateUpdated = @Xdate , XUserUpdated = @XUser where UID_PersonInserted = @UID_person update PersonWantsOrg set DisplayPersonHead\r\n = null  , XDateUpdated = @Xdate , XUserUpdated = @XUser where UID_PersonHead = @UID_person if exists (select top 1 1 from sys.tables t where t.name = \r\n'AttestationCase' ) begin select @cmd = '\tupdate AttestationCase \r\n\tset DisplayPersonHead = null\r\n\t\t, XDateUpdated = getutcdate(), XUserUpdated = ''QER_PPersonDelete_GDPR'' \r\n\twhere UID_PersonHead = '''\r\n + @UID_person + '''\r\n\r\n\t' exec sp_executesql @cmd end delete  @ElementsToClose  if exists (select top 1 1 from sys.tables t where t.name = 'AttestationCase'\r\n ) begin select @cmd = '\tselect a.XObjectKey\r\n\t\tfrom person p join AttestationCase a on p.XObjectKey in (a.ObjectKey1, a.ObjectKey2, a.ObjectKey3, a.ObjectKeyBase)\r\n\t\twhere  p.UID_Person = '''\r\n + @uid_person + '''\r\n\t\t\tand a.IsClosed = 0\r\n\t' insert into @ElementsToClose(Parameter1) exec sp_executesql @cmd end exec QBM_PJobCreate_HOCallMethod_L\r\n @objecttype = 'AttestationCase' , @XObjectKeys = @ElementsToClose , @save = 1 , @MethodName = 'Abort' , @GenProcID = @GenprocID , @AdditionalObjectKeysAffected\r\n = DEFAULT , @param1 = '#LDS#Automatic system approval: object to attest does not exist.|' , @Retries = 3 , @isToFreezeOnError = 1 , @checkForExisting \r\n= 1 , @WhereClauseAdditional = ' IsClosed = 0 '   if exists (select top 1 1 from sys.tables t where t.name = 'TroubleWorkTimes' ) begin select @cmd = '\tupdate TroubleWorkTimes\r\n\t\tset DisplayPersonInserted = null\r\n\t\twhere UID_PersonInserted = '''\r\n + @uid_person + '''\r\n\t' exec sp_executesql @cmd end if exists (select top 1 1 from sys.tables t where t.name = 'QERPolicyHasObject' ) begin select @cmd\r\n = '\tdelete QERPolicyHasObject\r\n\t\twhere ObjectKey = ''' + @ObjectKeyPerson + '''\r\n\t' exec sp_executesql @cmd end delete QBMLock where ObjectKeyOfRow = \r\n@ObjectKeyPerson  delete  @ElementsToClose insert into @ElementsToClose(Parameter1) select pwo.XObjectKey from person p join PersonWantsOrg pwo on p.XObjectKey\r\n in (pwo.ObjectKeyElementUsedInAssign) or pwo.UID_PersonOrdered = p.UID_Person or exists (select top 1 1 from Delegation d where d.UID_PersonWantsOrg =\r\n pwo.UID_PersonWantsOrg and p.UID_Person in ( d.UID_PersonReceiver, d.UID_PersonSender) )    where p.UID_Person = @uid_person and pwo.Orderstate = 'OrderProduct'\r\n   exec QBM_PJobCreate_HOCallMethod_L @objecttype = 'PersonWantsOrg' , @XObjectKeys = @ElementsToClose , @save = 1 , @MethodName = 'Abort' , @GenProcID\r\n = @GenprocID , @AdditionalObjectKeysAffected = DEFAULT , @param1 = @reason , @Retries = 3 , @isToFreezeOnError = 1 , @checkForExisting = 1 delete  @ElementsToClose\r\n  insert into @ElementsToClose(Parameter1) select pwo.XObjectKey from person p join PersonWantsOrg pwo on p.XObjectKey in (pwo.ObjectKeyElementUsedInAssign\r\n) or pwo.UID_PersonOrdered = p.UID_Person or exists (select top 1 1 from Delegation d where d.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg and p.UID_Person\r\n in ( d.UID_PersonReceiver, d.UID_PersonSender) )    where p.UID_Person = @uid_person  and pwo.OrderState in ('Assigned', 'Granted', 'New',  'OrderProlongate'\r\n, 'OrderUnsubscribe', 'Waiting') exec QBM_PJobCreate_HOCallMethod_L @objecttype = 'PersonWantsOrg' , @XObjectKeys = @ElementsToClose , @save = 1 , @MethodName\r\n = 'Abort' , @GenProcID = @GenprocID , @AdditionalObjectKeysAffected = DEFAULT , @param1 = @reason , @Retries = 3 , @isToFreezeOnError = 1 , @checkForExisting\r\n = 1  if dbo.QBM_FGIModuleExists('TSB') = 1 begin select @cmd = '\r\n\tupdate PersonHasTSBAccountDef\r\n\t\tset XOrigin = 0\r\n\t\twhere UID_person = ''' + @UID_person\r\n + '''\r\n\t' exec sp_executesql @cmd select @cmd = '\r\n\tdelete PersonHasTSBAccountDef\r\n\t\twhere UID_person = ''' + @UID_person + '''\r\n\t' exec sp_executesql\r\n @cmd select @cmd = '\r\n\tselect a.XObjectKey, dbo.QBM_FCVObjectkeyToElement(''tablename'', a.XObjectKey)\t\r\n\t\tfrom UNSAccount a\r\n\t\twhere a.UID_Person = '''\r\n + @UID_person + '''\r\n\t' insert into @ElementBuffer(ObjectKey1, Ident1) exec sp_executesql @cmd select @ElementCount = @@ROWCOUNT select @ElementIndex \r\n= 1 while @ElementIndex <= @ElementCount begin select top 1 @AccountTablename = bu.Ident1 , @AccountObjectkey = bu.ObjectKey1 , @AccountWhereclause = 'XObjectKey = '''\r\n + bu.ObjectKey1 + '''' from @ElementBuffer bu where bu.ElementIndex = @ElementIndex exec QBM_PJobCreate_HODelete @objecttype = @AccountTablename , @whereclause\r\n = @AccountWhereclause , @GenProcID = @GenprocID , @ObjectKeysAffected = DEFAULT , @isToFreezeOnError = 1 , @checkForExisting = 1 , @DeepDelete = 1 select\r\n @ElementIndex += 1 end  end  while @JobqueueBusy > 0 and @maxtry > 0 begin if not exists (select top 1 1 from JobQueue q where q.GenProcID = @GenprocID\r\n and q.Ready2EXE like N'[^DH][^I]%'  ) begin select @JobqueueBusy = 0 end if @JobqueueBusy > 0 begin exec QBM_PWaitForSeconds @Waittime end select @maxtry\r\n -= 1 end exec QBM_PDeleteDeep @ObjectKeyPerson END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow\r\n() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH EndLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R  return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PPersonHasObjectPostProc",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.847",
      "ModifyDate": "2026-04-14T23:20:39.417",
      "Definition": "   create   procedure QER_PPersonHasObjectPostProc ( @SlotNumber int , @CountDeltaOrigin int , @CountDeltaQantity int , @UID_TaskForMasterIdentity\r\n varchar(38) ) as begin declare @ElementCount int declare @ElementIndex int declare @ElementLast int declare @GenProcID varchar(38) declare @GenProcID_R\r\n varchar(38) = dbo.QBM_FGISessionContext('') SET XACT_ABORT OFF BEGIN TRY if @CountDeltaOrigin > 0 begin declare @GenProcIDs_CountDeltaOrigin QBM_YCursorBuffer\r\n insert into @GenProcIDs_CountDeltaOrigin (UID1) select distinct de.GenProcID from #QBMDeltaOrigin de select @ElementCount = @@ROWCOUNT select @ElementIndex\r\n = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @GenProcID = bu.UID1 from @GenProcIDs_CountDeltaOrigin\r\n bu where bu.ElementIndex = @ElementIndex exec QBM_PSessionContextSet 'GenProcID', @GenProcID update PersonHasObject set InheritInfo = di.XOrigin from \r\nPersonHasObject bho join #QBMDeltaOrigin di on bho.uid_Person = di.Element and bho.Objectkey = di.AssignedElement where di.GenProcID = @GenProcID select\r\n @ElementIndex += 1 end  end  if @CountDeltaQantity > 0 begin  update #QBMDeltaInsert set NewPK = newid() declare @GenProcIDs_CountDeltaQuantity QBM_YCursorBuffer\r\n insert into @GenProcIDs_CountDeltaQuantity (UID1) select de.GenProcID from #QBMDeltaDelete de union select de.GenProcID from #QBMDeltaInsert de select\r\n @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin\r\n select top 1 @GenProcID = bu.UID1 from @GenProcIDs_CountDeltaQuantity bu where bu.ElementIndex = @ElementIndex if exists (select top 1 1 from #QBMDeltaDelete\r\n x where x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID delete from PersonHasObject where exists (select top 1 1 \r\nfrom #QBMDeltaDelete d where d.Element = PersonHasObject.uid_person and d.AssignedElement = PersonHasObject.ObjectKey and d.GenProcID = @GenProcID ) end\r\n  if exists (select top 1 1 from #QBMDeltaInsert x where x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID insert into\r\n PersonHasObject (UID_PersonHasObject, UID_Person ,ObjectKey , XObjectKey, InheritInfo) select di.NewPK, di.Element, di.AssignedElement, dbo.QBM_FCVElementToObjectKey1\r\n('PersonHasObject', 'UID_PersonHasObject', di.NewPK), XOrigin from #QBMDeltaInsert di where di.GenProcID = @GenProcID and not exists (select top 1 1 from\r\n PersonHasObject e where e.UID_Person = di.Element and e.ObjectKey = di.AssignedElement ) end  select @ElementIndex += 1 end  end  if @CountDeltaOrigin\r\n + @CountDeltaQantity > 0 begin  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select y.uid\r\n, null, y.GenProcID from ( select distinct s.UID_PersonMasterIdentity as uid, x.GenProcID as GenProcID from ( select d.Element as uid, d.GenProcID from\r\n #QBMDeltaQuantity d union select d.Element as uid, d.GenProcID from #QBMDeltaOrigin d ) as x join person s on s.uid_person = x.uid and s.UID_PersonMasterIdentity\r\n > ' ' ) as y exec QBM_PDBQueueInsert_Bulk @UID_TaskForMasterIdentity, @DBQueueElements_01 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare\r\n @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: exec QBM_PSessionContextSet 'GenProcID'\r\n, @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PPickedItemInsert",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.61",
      "ModifyDate": "2026-04-14T23:20:40.44",
      "Definition": "  create   procedure QER_PPickedItemInsert (@UID_QERPickCategory varchar(38) , @ObjectKeyItem varchar(138) ) as begin declare @Items QBM_YParameterList\r\n SET XACT_ABORT OFF BEGIN TRY insert into @Items(Parameter1) select @ObjectKeyItem exec QER_PPickedItemInsert_b @UID_QERPickCategory, @Items END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END \r\nCATCH  endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PPickedItemInsert_b",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.6",
      "ModifyDate": "2026-04-14T23:20:40.43",
      "Definition": "   create   procedure QER_PPickedItemInsert_b (@UID_QERPickCategory varchar(38) , @Items QBM_YParameterList readonly  ) as begin declare @XUser \r\nnvarchar(64) = dbo.QBM_FGISessionContext('XUser') declare @XDate datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY if @XUser = '' begin select @XUser\r\n = OBJECT_NAME(@@PROCID) end merge into QERPickedItem as t using ( select @UID_QERPickCategory as UID_QERPickCategory , i.parameter1 as ObjectKeyItem ,\r\n dbo.QBM_FCVStringToGUIDMAll(null, @UID_QERPickCategory, i.parameter1) as UID_QERPickedItem from @items i ) as s on t.UID_QERPickedItem = s.UID_QERPickedItem\r\n when matched then update set xdateupdated = @XDate , XuserUpdated = @Xuser when not matched by target then insert ( UID_QERPickedItem , UID_QERPickCategory\r\n , ObjectKeyItem ,XDateInserted, XDateUpdated, XUserInserted, XUserUpdated , XObjectKey ) values ( s.UID_QERPickedItem , s.UID_QERPickCategory , s.ObjectKeyItem\r\n , @XDate, @XDate, @XUser, @XUser , dbo.QBM_FCVElementToObjectKey1('QERPickedItem', 'UID_QERPickedItem', s.UID_QERPickedItem) ) ; END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH  endLabel:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PPickedItemInsertRandom",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.62",
      "ModifyDate": "2026-04-14T23:20:40.457",
      "Definition": "  create   procedure QER_PPickedItemInsertRandom (@UID_QERPickCategory varchar(38) , @TableName varchar(30) , @PickRate float , @WhereClause nvarchar\r\n(max) = '1=1' ) as begin declare @heute varchar(32) = dbo.QBM_FCVDatetimeToString(getutcdate()) declare @Anteil int declare @Items QBM_YParameterList declare\r\n @SQLCmd nvarchar(max) declare @Columns QBM_YParameterList Declare @ColumnString nvarchar(256) declare @DebugSwitch int = 0 SET XACT_ABORT OFF BEGIN TRY\r\n if not @PickRate between 0.0 and 100.0 begin raiserror ('#LDS#PickRate has to be percentage in range [0..100].|', 18,1) with nowait end select @Anteil\r\n = convert(int, @PickRate * 10000.0) /100 delete QERPickedItem where UID_QERPickCategory = @UID_QERPickCategory select @SQLCmd = CONCAT('\r\nselect y.XObjectKey\r\n\tfrom (\r\n\t\tselect x.XObjectKey, ROW_NUMBER() over(order by x.HashValue) as Zeile, x.HashValue, x.GesamtZahl, convert(int, x.GesamtZahl * '\r\n, dbo.QBM_FCVFloatToString( @PickRate) , ' / 100.0) as MaxZeile\r\n\t\t\tfrom (\r\n\t\t\t\tselect\r\n\t\t\t\t\t/*', @TableName , '.UID_Person -- nur für debugging\r\n\t\t\t\t\t, */ '\r\n, @TableName , '.XObjectKey\r\n\t\t\t\t\t, dbo.QBM_FCVAnyToHash(CONCAT(', @TableName , '.XObjectKey, ''', @heute ,''')) as HashValue\r\n\t\t\t\t\t, convert(float, COUNT(*) over()) as GesamtZahl\r\n\t\t\t\t\tfrom '\r\n, @TableName , ' \r\n\t\t\t\t\t-- evtl. Einschränkungen\r\n\t\t\t\t\twhere (', @WhereClause , ')\r\n\t\t\t\t\t-- evtl. Einschränkungen\r\n\t\t\t\t) as x\r\n\t\t\t) as y\r\n where y.Zeile <= y.MaxZeile\r\n'\r\n ) if @DebugSwitch > 0 begin print @SQLcmd end insert into @Items(Parameter1) exec sp_executesql @SQLcmd exec QER_PPickedItemInsert_b @UID_QERPickCategory\r\n, @Items END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18\r\n, 1) WITH NOWAIT END CATCH  endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PQERBufferRecalcDMDel",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.05",
      "ModifyDate": "2026-04-14T23:20:38.213",
      "Definition": "create   procedure QER_PQERBufferRecalcDMDel (@UsageArea varchar(1) ) as begin declare @Lauf int = 1 SET XACT_ABORT OFF BEGIN TRY set deadlock_priority\r\n -10  set lock_timeout 50              while @Lauf > 0 begin exec @Lauf = QER_P98F5E10C6A9349A1EBFB2C2_ @UsageArea                       end END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END \r\nCATCH set lock_timeout -1 endLabel:  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PQEREntitlementSourceDef",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.593",
      "ModifyDate": "2026-04-14T23:20:40.42",
      "Definition": "  create   procedure QER_PQEREntitlementSourceDef ( @ModuleName varchar(3) , @TableName varchar(30) , @GUID_Extern varchar(38) , @Ident_QEREntitlementSource\r\n nvarchar(64) , @SQLQuery nvarchar(max) ) as begin declare @uid_dialogtable varchar(38) declare @UID_QEREntitlementSource varchar(38) SET XACT_ABORT OFF\r\n BEGIN TRY select @uid_dialogtable = null select top 1 @uid_dialogtable = t.UID_DialogTable from DialogTable t where t.TableName = @TableName if @uid_dialogtable\r\n is null begin raiserror ('#LDS#TableNotFound|', 18, 1) with nowait end select @UID_QEREntitlementSource = dbo.QBM_FCVGuidToTransfer(@GUID_Extern, @Modulename\r\n) if not exists (select top 1 1 from QEREntitlementSource es where es.UID_QEREntitlementSource = @UID_QEREntitlementSource ) begin insert into QEREntitlementSource\r\n (UID_QEREntitlementSource, UID_DialogTable, Ident_QEREntitlementSource, SQLQuery , XDateInserted, XDateUpdated, XUserInserted, XUserUpdated , XObjectKey\r\n ) select @UID_QEREntitlementSource, @uid_dialogtable, @Ident_QEREntitlementSource, @SQLQuery , GETUTCDATE(), GETUTCDATE(), OBJECT_NAME(@@procid), OBJECT_NAME\r\n(@@procid) , dbo.QBM_FCVElementToObjectKey1('QEREntitlementSource', 'UID_QEREntitlementSource', @UID_QEREntitlementSource) end else begin update QEREntitlementSource\r\n set Ident_QEREntitlementSource = @Ident_QEREntitlementSource , SQLQuery = @SQLQuery , xdateupdated = GETUTCDATE() where UID_QEREntitlementSource = @UID_QEREntitlementSource\r\n and (ISNULL(Ident_QEREntitlementSource, '') <> @Ident_QEREntitlementSource or ISNULL(sqlquery, '') <> @SQLQuery ) end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PQERRiskIndexDefine",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.833",
      "ModifyDate": "2026-04-14T23:20:39.397",
      "Definition": "  create   procedure QER_PQERRiskIndexDefine( @TableName varchar(30) , @ColumnName varchar(30) , @TypeOfCalculation varchar(3) , @Weight float ,\r\n @QueryString nvarchar(max) , @DisplayValue nvarchar(64) , @Description nvarchar(max) , @IsInActive bit = 0 , @UID_QERRiskIndex varchar(38) = null ) as\r\n begin declare @UID_DialogColumn varchar(38) declare @IsInsert bit = 0 declare @Xdate datetime = getutcdate() declare @XUser nvarchar(64) = object_name\r\n(@@procid) declare @Msg nvarchar(1000) SET XACT_ABORT OFF BEGIN TRY select top 1 @UID_DialogColumn = c.UID_DialogColumn from DialogTable t with (readpast\r\n) join DialogColumn c with (readpast) on t.UID_DialogTable = c.UID_DialogTable where c.ColumnName = @ColumnName and t.TableName = @TableName if @UID_DialogColumn\r\n is null begin select @Msg = '#LDS#Column {0} not found in table {1}.|' + @ColumnName + '|' + @TableName + '|' raiserror(@msg, 18, 1 ) with nowait end \r\nif @UID_QERRiskIndex is null begin select top 1 @UID_QERRiskIndex from QERRiskIndex r where r.UID_DialogColumn = @UID_DialogColumn and r.DisplayValue =\r\n @DisplayValue and r.TypeOfCalculation = @TypeOfCalculation end if @UID_QERRiskIndex is null begin select @UID_QERRiskIndex = dbo.QBM_FCVGuidToTransfer\r\n(newid(), dbo.QBM_FGIDBOwner() ) end if not exists (select top 1 1 from QERRiskIndex r where r.UID_QERRiskIndex = @UID_QERRiskIndex ) begin select @IsInsert\r\n = 1 end if @IsInsert = 1 begin insert into QERRiskIndex(Description, DisplayValue, IsInActive, QueryString , TypeOfCalculation, UID_DialogColumn, UID_QERRiskIndex\r\n, Weight , XDateInserted, XDateUpdated, XUserInserted, XUserUpdated , XObjectKey ) select @Description, @DisplayValue, @IsInActive, @QueryString , @TypeOfCalculation\r\n, @UID_DialogColumn, @UID_QERRiskIndex, @Weight , @XDate, @Xdate, @XUser, @XUser , dbo.QBM_FCVElementToObjectKey1('QERRiskIndex', 'UID_QERRiskIndex', @UID_QERRiskIndex\r\n) end else begin update QERRiskIndex set Description = @Description  , IsInActive = @IsInActive , QueryString = @QueryString  , Weight = @Weight , XDateUpdated\r\n = @Xdate , XUserUpdated = @XUser where UID_QERRiskIndex = @UID_QERRiskIndex end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow\r\n varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PQERRiskIndexMakeProc",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.503",
      "ModifyDate": "2026-04-14T23:20:40.297",
      "Definition": "     create   procedure QER_PQERRiskIndexMakeProc (@uid_DialogColumn varchar(38)) as begin declare @SQLcmd nvarchar(max) declare @header nvarchar\r\n(max) declare @footer nvarchar(max) declare @Body nvarchar(max) declare @content1 nvarchar(max) declare @content2 nvarchar(max) declare @TableName nvarchar\r\n(32) declare @Columnname nvarchar(32) declare @UpdateString nvarchar(max) declare @Vardef nvarchar(max) = '\r\ndrop table if exists #DeltaQERRiskIndex\r\n\r\ncreate table #DeltaQERRiskIndex (XObjectKey varchar(138) collate database_default\r\n\t\t\t\t\t\t\t\t\t, NewValue float default 0\r\n\t\t\t\t\t\t\t\t\t)\r\n\r\n'\r\n declare @PostUpdate nvarchar(max) declare @procname varchar(128) declare @DebugSwitch int = 0 declare @DebugLevel char(1) = 'W' SET XACT_ABORT OFF BEGIN\r\n TRY select @ProcName = dbo.QER_FGIRiskIndexProcname( @uid_dialogcolumn )  select top 1 @TableName = t.TableName , @Columnname = c.ColumnName from DialogColumn\r\n c with (readpast) join DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable where UID_DialogColumn = @uid_DialogColumn  exec QER_PSQRiskIndexGetUpdate\r\n @uid_DialogColumn, @UpdateString output select @PostUpdate = concat('\r\n\tselect @ret = @@rowcount\r\n\r\n\tif @ret > 0\r\n\t begin\r\n\t\tcreate index #DeltaQERRiskIndex1 on #DeltaQERRiskIndex (XObjectKey) include (NewValue) \r\n\r\n\t\tupdate '\r\n , @TableName , '\r\n\t\t\tset ' , @Columnname , ' = y.NewValue ' , case when dbo.QBM_FGIColumnExistsInSchema(@TableName, 'XDateUpdated') = 1 and @Columnname\r\n not like 'X[d,u][a,s][t,e][e,r]updated' then ', XDateUpdated = getutcdate(), XUserUpdated = ''QERRiskIndexCalculation'' ' else '' end ,'\r\n\t\t\tfrom ' , \r\n@TableName , ' d join #DeltaQERRiskIndex y on d.XObjectKey = y.XObjectKey\r\n\t\t\t', '' , '\r\n\t\t\ttruncate table #DeltaQERRiskIndex\r\n\r\n\t end\r\n\t\t' ) select @SQLcmd\r\n = dbo.QBM_FSQProcedureDef ( @ProcName , '' , concat(@Vardef , @updatestring , @PostUpdate) , concat('Procedure riskindex for Column : ' , @TableName ,\r\n '.' , @Columnname ) ) if @DebugSwitch > 0 begin print @SQLcmd end if @UpdateString > ' ' begin exec QBM_PSQLCreate @ProcName, 'P', @SQLcmd, @UnComment\r\n = 0  end else begin exec QBM_PProcedureDrop @ProcName end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END \r\nCATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PRulerDetect_OX",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:05.743",
      "ModifyDate": "2026-04-14T23:20:37.79",
      "Definition": "   create   procedure QER_PRulerDetect_OX ( @uid_PersonWantsOrg varchar(38) , @UID_QERWorkingStep varchar(38) ) as begin declare @WhereClauseMissnutzt\r\n nvarchar(max) declare @ParameterName nvarchar(256) declare @ColumnNameAERole varchar(38) declare @XObjectKeyPWO varchar(138) = dbo.QBM_FCVElementToObjectKey1\r\n('PersonWantsOrg', '', @UID_PersonWantsOrg) declare @cmd nvarchar(max) SET XACT_ABORT OFF BEGIN TRY select top 1 @WhereClauseMissnutzt = s.WhereClause \r\nfrom QERWorkingStep s where s.UID_QERWorkingStep = @UID_QERWorkingStep  select top 1 @ParameterName = s.ParameterName from dbo.QBM_FCVStringToListSplitted\r\n(@WhereClauseMissnutzt, char(7), 1, 0, '') s where s.OrderNumber = 1 select top 1 @ColumnNameAERole = left(s.ParameterName, 30) from dbo.QBM_FCVStringToListSplitted\r\n(@WhereClauseMissnutzt, char(7), 1, 0, '') s where s.OrderNumber = 2   select top 1 @cmd = concat('select pio.UID_Person     -- die Entscheider\r\n\t\t\t\t\t\t\t, dbo.QER_FGIPWORulerOrigin(pio.XObjectKey) as UID_PWORulerOrigin\r\n       from '\r\n, t.TableName, ' b join PersonInBaseTree pio on b.', @ColumnNameAERole ,' = pio.UID_Org\r\n       where b.', c.ColumnName ,' = ''', pa.ParameterValue ,''' -- der wert aus oben ParameterValue\r\n\r\n                           '\r\n )  from DialogParameterSet s join DialogParameter pa on s.UID_DialogParameterSet = pa.UID_DialogParameterSet join DialogColumn c on pa.UID_DialogColumnQuery\r\n = c.UID_DialogColumn join DialogTable t on c.UID_DialogTable = t.UID_DialogTable where s.ObjectKeyUsedBy = @XObjectKeyPWO  and pa.ParameterName = @ParameterName\r\n   insert into #Ruler(UID_Person, UID_PWORulerOrigin) exec sp_executesql @cmd END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default ,@cmd RAISERROR (''\r\n, 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PRulerDetect_PX",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:05.753",
      "ModifyDate": "2026-04-14T23:20:37.8",
      "Definition": "   create   procedure QER_PRulerDetect_PX ( @uid_PersonWantsOrg varchar(38) , @UID_QERWorkingStep varchar(38) ) as begin declare @WhereClauseMissnutzt\r\n nvarchar(max) declare @ParameterName nvarchar(256) declare @XObjectKeyPWO varchar(138) = dbo.QBM_FCVElementToObjectKey1('PersonWantsOrg', '', @UID_PersonWantsOrg\r\n) declare @cmd nvarchar(max) SET XACT_ABORT OFF BEGIN TRY select top 1 @WhereClauseMissnutzt = s.WhereClause from QERWorkingStep s where s.UID_QERWorkingStep\r\n = @UID_QERWorkingStep select top 1 @ParameterName = s.ParameterName from dbo.QBM_FCVStringToListSplitted(@WhereClauseMissnutzt, char(7), 1, 0, '') s where\r\n s.OrderNumber = 1  select top 1 @cmd = concat('select ''', ParameterValue, ''' as UID_Person     -- der Entscheider\r\n\t\t\t\t\t\t\t, null as UID_PWORulerOrigin'\r\n ) from DialogParameterSet s join DialogParameter pa on s.UID_DialogParameterSet = pa.UID_DialogParameterSet where s.ObjectKeyUsedBy = @XObjectKeyPWO and\r\n pa.ParameterName = @ParameterName  insert into #Ruler(UID_Person, UID_PWORulerOrigin) exec sp_executesql @cmd END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default ,@cmd RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PSlotResetOnInvalidRoot_L",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:59:27.28",
      "ModifyDate": "2026-04-14T23:20:36.287",
      "Definition": "create   procedure QER_PSlotResetOnInvalidRoot_L (@DBQueueCurrent QBM_YDBQueueCurrent readonly , @UID_BasetreeAssignToUse varchar(38) , @SlotNumber\r\n int ) as begin declare @erg int = 0 declare @DebugSwitch int = 0 declare @UnComment bit = 1 ,@Unformat bit = 1 declare @DebugLevel char(1) = 'W' declare\r\n @ProcName varchar(30) declare @ProcDef nvarchar(max) declare @ProcBody nvarchar(max) declare @OutstandingTest nvarchar(1000) declare @SourceName nvarchar\r\n(1000) declare @anlegenklappt bit = 0 declare @waitTime float SET XACT_ABORT OFF BEGIN TRY select @ProcName = dbo.QBM_FGICodeName('PSR', @UID_BasetreeAssignToUse\r\n)  if @DebugSwitch > 0 begin select @UnComment = 0 , @Unformat = 0 print @ProcName  end while not exists (select top 1 1 from sys.objects o where o.name\r\n = @ProcName ) begin if @DebugSwitch > 0 begin print 'dann bauen wir eine' end select @waitTime = convert(float, @@spid) / 1000.0 exec QBM_PWaitForSeconds\r\n @waittime select @ProcBody = CONCAT( '\r\n declare @SlotNumberSource int\r\n declare @SlotNumberTarget int\r\n declare @DBQueueToMove QBM_YDBQCSCurrentToMove \r\n \r\n\tSET XACT_ABORT OFF\r\n\r\n \t-- befüllen mit den interessanten Einträgen\r\n\tinsert into @DBQueueToMove(UID_DialogDBQueue)\r\n\t\tselect cul.UID_DialogDBQueue\r\n\t\t\tfrom @DBQueueCurrent cul  -- Suchbedingung\r\n\t\t\t\t\t\t\t\t\tjoin BaseTree b with (readpast) on cul.UID_Parameter = b.UID_Org\r\n\t\t\t\t\t\t\t\t\tleft outer join OrgRootAssign ra with (readpast) on ra.UID_OrgRoot = b.UID_OrgRoot\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand ra.UID_BaseTreeAssign = '''\r\n, @UID_BasetreeAssignToUse, '''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand ra.IsAssignmentAllowed = 1\r\n\t\t\twhere ra.UID_OrgRoot is null\r\n\r\n\tif @@ROWCOUNT > 0\r\n\t begin\r\n\r\n\t\tselect @SlotNumberSource = @SlotNumber -- die übergebene Slotnummer\r\n\t\tselect @SlotnumberTarget = 0\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\texec @ret = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget\r\n\r\n\t  end\r\n\r\n\t\t\t\t'\r\n ) select @SourceName = concat('QER_PSlotResetOnInvalidRoot_L' , '(' , @UID_BasetreeAssignToUse , ')' ) select @procdef = dbo.QBM_FSQProcedureDef(@ProcName\r\n , '@DBQueueCurrent QBM_YDBQueueCurrent readonly\r\n\t\t\t\t\t\t\t\t\t\t\t\t, @SlotNumber int ' , @ProcBody , @SourceName ) if @DebugSwitch > 0 begin print @procdef \r\nend    begin transaction if not exists (select top 1 1 from sys.objects o where o.name = @ProcName ) begin BEGIN TRY exec QBM_PSQLCreate @Procname, 'P'\r\n, @procDef, @UnComment = @UnComment, @Unformat = @Unformat select @anlegenklappt = 1 END TRY BEGIN CATCH if @DebugSwitch > 0 begin print 'catch beim Anlegen?'\r\n end select @anlegenklappt = 0  END CATCH end  if @anlegenklappt = 1 begin commit end else begin rollback  end  select @waitTime = (convert(float, @@spid\r\n) / 1000.0) + 0.4 exec QBM_PWaitForSeconds @waittime end   exec @erg = @ProcName @DBQueueCurrent, @SlotNumber END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH  endLabel: return (@erg) end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_PSQRiskIndexGetUpdate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.823",
      "ModifyDate": "2026-04-14T23:20:39.387",
      "Definition": "   create   procedure QER_PSQRiskIndexGetUpdate( @uid_dialogcolumn varchar(38) , @SQLProcedure nvarchar(max) output ) as begin  declare @targettable\r\n nvarchar(32) declare @TargetColumn nvarchar(32) declare @UID_TargetTable varchar(38)  declare @IsValidClause bit = 0 select top 1 @targettable = t.TableName\r\n , @TargetColumn = c.ColumnName , @UID_TargetTable = c.UID_DialogTable from dbo.DialogColumn c with (readpast) join dbo.DialogTable t with (readpast) on\r\n c.UID_DialogTable = t.UID_DialogTable where c.UID_DialogColumn = @UID_DialogColumn declare @IsToReduce bit declare @ColumnReduceBase nvarchar(32) select\r\n @isToReduce = 0 select @ColumnReduceBase = N'' if @TargetColumn = 'RiskIndexReduced' begin select @isToReduce = 1 select top 1 @ColumnReduceBase = columnname\r\n from dbo.DialogColumn c where columnname in ('RiskIndex', 'RiskIndexCalculated') and c.UID_DialogTable = @UID_TargetTable end declare @erg nvarchar(max\r\n) declare @body1 nvarchar(max) declare @body2 nvarchar(max) declare @HilfsViewName Nvarchar(64) =  left(concat('TST_FTemporaryElement', reverse(dbo.QBM_FGICodeName\r\n('V', NEWID()) )), 30) if @isToReduce = 1 begin  select @body1 =N'\r\ninsert into #DeltaQERRiskIndex (XObjectKey, NewValue)\r\n      select z.XObjectKey, \r\n\r\n--update %TargetTable%\r\n--\tset %TargetColumn% = case \r\n--\t\t\t\t\t\t\twhen '\r\n + @ColumnReduceBase + ' - y.SourceValue < 0.0 then 0.0\r\n--\t\t\t\t\t\t\twhen ' + @ColumnReduceBase + ' - y.SourceValue > 1.0 then 1.0\r\n--\t\t\t\t\t\t\telse ' + @ColumnReduceBase\r\n + ' - y.SourceValue \r\n--\t\t\t\t\t\t end\r\n\r\n\t\t\t\t\t\tcase \r\n\t\t\t\t\t\t\twhen ' + @ColumnReduceBase + ' - y.SourceValue < 0.0 then 0.0\r\n\t\t\t\t\t\t\twhen ' + @ColumnReduceBase\r\n + ' - y.SourceValue > 1.0 then 1.0\r\n\t\t\t\t\t\t\telse ' + @ColumnReduceBase + ' - y.SourceValue \r\n\t\t\t\t\t\t end as Newvalue\r\n\tfrom %TargetTable% z with (readpast) /* hier bei 438165 Zugriff auf Elemente aus QBMDBQueueCurrent */ \r\n\t\tjoin \r\n\t(\r\n\tselect x.ObjectKeyTarget , MAX(x.SourceValue) as SourceValue\r\n\t\t\t\t\t\t '\r\n end else begin  select @body1 =N'\r\ninsert into #DeltaQERRiskIndex (XObjectKey, NewValue)\r\n      select z.XObjectKey, y.SourceValue\r\n\r\n--update %TargetTable%\r\n--\tset %TargetColumn% = y.SourceValue\r\n\tfrom %TargetTable% z with (readpast) /* hier bei 438165 Zugriff auf Elemente aus QBMDBQueueCurrent */ \r\n\t\tjoin \r\n\t(\r\n\tselect x.ObjectKeyTarget , case \r\n\t\t\t\t\t\t\t   when sum(x.SourceValue) < 0.0 then 0.0\r\n\t\t\t\t\t\t\t   when sum(x.SourceValue) > 1.0 then 1.0\r\n\t\t\t\t\t\t\t   else sum(x.SourceValue)\r\n\t\t\t\t\t\t   end as SourceValue \r\n\t'\r\n end select @body1 = @body1 + N'\r\n\t from (\r\n\t\t\t-- common fallback clause\r\n\t\t\tselect XObjectKey as ObjectKeyTarget, 0.0 as SourceValue\r\n\t\t\t\tfrom %TargetTable%  with (readpast) /* hier bei 438165 Zugriff auf Elemente aus QBMDBQueueCurrent */ \r\n\t\t\t-- / common fallback clause\r\n'\r\n  if @isToReduce = 1 begin  select @body2 =N'\r\n\t\t\t) as x\r\n\t\tgroup by x.ObjectKeyTarget\r\n\t) as y on z.XObjectKey = y.ObjectKeyTarget\r\n  where %TargetColumn% <> case \r\n\t\t\t\t\t\t\twhen '\r\n + @ColumnReduceBase + ' - y.SourceValue < 0.0 then 0.0\r\n\t\t\t\t\t\t\twhen ' + @ColumnReduceBase + ' - y.SourceValue > 1.0 then 1.0\r\n\t\t\t\t\t\t\telse ' + @ColumnReduceBase\r\n + ' - y.SourceValue \r\n\t\t\t\t\t\t end\r\n\t\t' end else begin  select @body2 =N'\r\n\t\t\t) as x\r\n\t\tgroup by x.ObjectKeyTarget\r\n\t) as y on z.XObjectKey = y.ObjectKeyTarget\r\n  where z.%TargetColumn% <> y.SourceValue\r\n\t\t'\r\n end declare @KernelPattern nvarchar(max) select @KernelPattern = N'\r\n \t\t\tunion all \r\n \t\t/*\r\n\t\t%DisplayValue% \t\t\r\n\t\t*/\r\n\t\t  select v.ObjectKeyTarget, %TypeOfCalculation%(v.SourceValue) * (%Gewicht%) / (%GewichtSumme%) as SourceValue\r\n\t\t   from (\r\n--\t\t\t\t  select '''' as ObjectKeyTarget, 0.0 as SourceValue\t\r\n--\t\t\t\t\tunion all '\r\n  + N'\r\n\t\t\t\t\t-- CustomerQuery\r\n#Selection#\r\n\t\t\t\t\t from (\t\t\t\t\t\r\n\t\t\t\t\t\t\t%Kundenselect%\r\n\t\t\t\t\t\t\t) as w\r\n\t\t\t\t\t-- / CustomerQuery\r\n\t\t\t\t) as v \r\n\t\t\tgroup by v.ObjectKeyTarget\r\n'\r\n declare @SelectMitConvert nvarchar(max) = '\t\t\t\t\tselect convert(varchar(138), ObjectKeyTarget) as ObjectKeyTarget\r\n\t\t\t\t\t\t, convert(float, SourceValue) as SourceValue'\r\n declare @SelectOhneConvert nvarchar(max) = '\t\t\t\t\tselect ObjectKeyTarget as ObjectKeyTarget, SourceValue as SourceValue' declare @SQLViewTest nvarchar(max\r\n) declare @KernelPattern2 nvarchar(max)  declare @Kernel nvarchar(max) select @Kernel = N'' declare @SubKernel nvarchar(max) = N'' declare @UID_QERRiskIndex\r\n varchar(38) declare @Weight float declare @QueryString nvarchar(max) declare @TypeOfCalculation nvarchar(3) declare @DisplayValue nvarchar(256) declare\r\n @Ersatz table ( UID_QERRiskIndex varchar(38) collate database_default , Weight float , QueryString nvarchar(max) collate database_default , TypeOfCalculation\r\n nvarchar(3) collate database_default , DisplayValue nvarchar(256) collate database_default ) declare @SummeGewicht float select @SummeGewicht = 0.0  insert\r\n into @Ersatz( UID_QERRiskIndex , Weight , QueryString , TypeOfCalculation , DisplayValue ) select ri.UID_QERRiskIndex , ri.Weight  , replace(ri.QueryString\r\n, nchar(13) + nchar(10), nchar(13) + nchar(10) +nchar(9) + nchar(9) + nchar(9) + nchar(9) + nchar(9) + nchar(9) + nchar(9)) , ri.TypeOfCalculation , isnull\r\n(ri.Displayvalue, 'Display ' ) from dbo.QERRiskIndex ri where ri.uid_DialogColumn = @uid_DialogColumn and ri.IsInActive = 0 and ( isnull(ri.Weight, 0.0\r\n) > 0.0 or @isToReduce = 1 ) order by uid_DialogColumn select @UID_QERRiskIndex = '#' while @UID_QERRiskIndex > ' ' BEGIN select @UID_QERRiskIndex = null\r\n select top 1 @UID_QERRiskIndex = e.UID_QERRiskIndex , @Weight = e.Weight , @QueryString = e.QueryString , @TypeOfCalculation = e.TypeOfCalculation , @DisplayValue\r\n = e.DisplayValue from @Ersatz e if @UID_QERRiskIndex is null begin continue end   select @SQLViewTest = concat('create or alter view ', @HilfsViewName\r\n, '\r\nas ' , @QueryString) exec sp_executesql @SQLViewTest if exists (select top 1 1 from INFORMATION_SCHEMA.COLUMNS c where c.TABLE_NAME = @HilfsViewName\r\n and c.COLUMN_NAME = 'ObjectKeyTarget' and c.DATA_TYPE = 'varchar' and c.CHARACTER_MAXIMUM_LENGTH <= 138 ) and exists (select top 1 1 from INFORMATION_SCHEMA.COLUMNS\r\n c where c.TABLE_NAME = @HilfsViewName and c.COLUMN_NAME = 'SourceValue' and c.DATA_TYPE in ( 'float', 'real', 'numeric', 'int') ) begin  select @KernelPattern2\r\n = REPLACE(@KernelPattern, '#Selection#', @SelectOhneConvert) end else begin select @KernelPattern2 = REPLACE(@KernelPattern, '#Selection#', @SelectMitConvert\r\n) end  select @SQLViewTest = concat('drop view if exists ', @HilfsViewName) exec sp_executesql @SQLViewTest  if @TypeOfCalculation in ('MX1')  begin select\r\n @IsValidClause = 1 select @SubKernel = @SubKernel + replace(replace(replace(replace(replace(replace(@KernelPattern2, N'%Gewicht%', STR(@weight, 12,10)\r\n), N'%TypeOfCalculation%', 'MAX'), N'%Kundenselect%', @QueryString), N'%DisplayValue%', @DisplayValue + N', Calculated as MAX_special') , N'%GewichtSumme%'\r\n, N'1.0'), nchar(13)+nchar(10), nchar(13)+nchar(10)+nchar(9)+nchar(9)+nchar(9)) end if @TypeOfCalculation in ('AV1')  begin select @IsValidClause = 1 select\r\n @SubKernel = @SubKernel + replace(replace(replace(replace(replace(replace(@KernelPattern2, N'%Gewicht%', STR(@weight, 12,10)), N'%TypeOfCalculation%',\r\n 'AVG'), N'%Kundenselect%', @QueryString), N'%DisplayValue%', @DisplayValue + N', Calculated as AVG_special') , N'%GewichtSumme%', N'1.0'), nchar(13)+nchar\r\n(10), nchar(13)+nchar(10)+nchar(9)+nchar(9)+nchar(9)) end if @TypeOfCalculation in ('MAX', 'AVG') begin select @IsValidClause = 1 select @SummeGewicht \r\n= @SummeGewicht + @Weight select @Kernel = @Kernel + replace(replace(replace(replace(@KernelPattern2, N'%Gewicht%', STR(@weight, 12,10)), N'%TypeOfCalculation%'\r\n, @TypeOfCalculation), N'%Kundenselect%', @QueryString), N'%DisplayValue%', @DisplayValue+ N', Calculated as ' + @TypeOfCalculation) end if @TypeOfCalculation\r\n in ('INC', 'DEC') begin select @IsValidClause = 1 select @Kernel = @Kernel + replace(replace(replace(replace(replace(@KernelPattern2, N'%GewichtSumme%'\r\n, N'1.0'), N'%TypeOfCalculation%(v.SourceValue)', STR(@weight, 12,10)), N'%Kundenselect%', @QueryString), N'%Gewicht%', case @TypeOfCalculation when 'INC'\r\n then N'1.0' else N'-1.0' end ), N'%DisplayValue%', @DisplayValue+ N', Calculated as ' + @TypeOfCalculation) end if @TypeOfCalculation in ('RED') begin\r\n select @IsValidClause = 1 select @Kernel = @Kernel + replace(replace(replace(replace(replace(@KernelPattern2, N'%GewichtSumme%', N'1.0'), N'%TypeOfCalculation%'\r\n, N'SUM'), N'%Kundenselect%', @QueryString), N'%Gewicht%', N'1.0'), N'%DisplayValue%', @DisplayValue+ N', Calculated as ' + @TypeOfCalculation) end delete\r\n  @Ersatz where UID_QERRiskIndex = @UID_QERRiskIndex END if @SubKernel > ' ' begin select @Kernel = @Kernel + N'\r\n \t\t\tunion all \r\n \t\t--------------------------------------------------------------\r\n\t\t-- Special Maximum of parts \t\t\r\n \t\t--------------------------------------------------------------\r\n\t\t  select w.ObjectKeyTarget, MAX(w.SourceValue) as SourceValue\r\n\t\t   from (\r\n\t\t\t\t  select '''' as ObjectKeyTarget, 0.0 as SourceValue\t\r\n'\r\n  + @subKernel + N'\r\n\t\t\t\t) as w \r\n\t\t\tgroup by w.ObjectKeyTarget\r\n \t\t--------------------------------------------------------------\r\n\t\t-- / Special Maximum of parts \t\t\r\n \t\t--------------------------------------------------------------\r\n'\r\n end if @SummeGewicht = 0.0 begin select @SummeGewicht = 1.0 end  select @erg = replace(replace(@body1, N'%TargetTable%', @targettable), N'%TargetColumn%'\r\n, @TargetColumn) + replace(@Kernel, N'%GewichtSumme%' , STR(@SummeGewicht, 12, 10)) + replace(replace(@body2, N'%TargetTable%', @targettable), N'%TargetColumn%'\r\n, @TargetColumn)  select @SQLProcedure = @erg return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RAccProductGroupCollection",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.553",
      "ModifyDate": "2026-04-14T23:20:40.363",
      "Definition": "create   procedure QER_RAccProductGroupCollection (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'AccProductGroup', 'UID_AccProductGroup', @SlotNumber   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH\r\n NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RAllForPersonInBaseTree",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.393",
      "ModifyDate": "2026-04-14T23:20:40.147",
      "Definition": "create   procedure QER_RAllForPersonInBaseTree (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  insert into @ObjectKeysToCheck_Jobrunning\r\n(Parameter1, Parameter2, Parameter3) select cu.UID_Parameter, x.XObjectKey, cu.UID_SubParameter from @DBQueueCurrent cu join PersonInBaseTree x on cu.UID_Parameter\r\n = x.UID_Person and cu.UID_SubParameter = x.UID_Org exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning\r\n , @CountParameterOfTask = 2, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RBaseTreeCollectionF",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.987",
      "ModifyDate": "2026-04-14T23:20:39.617",
      "Definition": "create   procedure QER_RBaseTreeCollectionF (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'BaseTree', 'uid_org', @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RBaseTreeHasObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.327",
      "ModifyDate": "2026-04-14T23:20:40.06",
      "Definition": "create   procedure QER_RBaseTreeHasObject (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'BaseTree', 'UID_Org', @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RBaseTreeHasObjectExtAtt",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.343",
      "ModifyDate": "2026-04-14T23:20:40.083",
      "Definition": "create   procedure QER_RBaseTreeHasObjectExtAtt (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'BaseTree', 'UID_Org', @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RDynamicGroupTest",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.02",
      "ModifyDate": "2026-04-14T23:20:39.66",
      "Definition": "create   procedure QER_RDynamicGroupTest (@SlotNumber int , @UID_DynamicGroup varchar(38) , @SubObject varchar(38) , @GenProcID varchar(38) ) AS\r\n begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning QBM_YParameterList declare @MyName nvarchar(64) =\r\n object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber\r\n = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2) select @UID_DynamicGroup, dbo.QBM_FCVElementToObjectKey1\r\n('DynamicGroup', 'UID_DynamicGroup', @UID_DynamicGroup) exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning\r\n, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RHelperHardwareOrg",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.413",
      "ModifyDate": "2026-04-14T23:20:40.17",
      "Definition": "create   procedure QER_RHelperHardwareOrg (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'Hardware', 'uid_Hardware', @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END \r\nCATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RHelperHeadOrg",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.467",
      "ModifyDate": "2026-04-14T23:20:40.24",
      "Definition": "create   procedure QER_RHelperHeadOrg (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'Person', 'uid_Person', @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RHelperHeadPerson",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.487",
      "ModifyDate": "2026-04-14T23:20:40.267",
      "Definition": "create   procedure QER_RHelperHeadPerson (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'Person', 'uid_Person', @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RHelperPersonOrg",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.427",
      "ModifyDate": "2026-04-14T23:20:40.19",
      "Definition": "create   procedure QER_RHelperPersonOrg (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'Person', 'uid_Person', @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RHelperWorkDeskOrg",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.443",
      "ModifyDate": "2026-04-14T23:20:40.213",
      "Definition": "create   procedure QER_RHelperWorkDeskOrg (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'WorkDesk', 'uid_WorkDesk', @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END \r\nCATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RITShopCheckDecision",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.12",
      "ModifyDate": "2026-04-14T23:20:38.6",
      "Definition": "create   procedure QER_RITShopCheckDecision (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int declare @DBQueueToMove\r\n QBM_YDBQCSCurrentToMove declare @SlotNumberSource int declare @SlotNumberTarget int declare @RowsMoved int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end if exists (select top 1 1 from @DBQueueCurrent cu join PersonWantsOrg pwo\r\n with (readpast) on pwo.UID_PersonWantsOrg = cu.UID_Parameter   where pwo.OrderState in ('Aborted', 'Assigned', 'Dismissed', 'Granted', 'New', 'Unsubscribed'\r\n, 'Waiting') ) begin delete @DBQueueToMove select @SlotNumberSource = @SlotNumber  select @SlotnumberTarget = 0  insert into @DBQueueToMove(UID_DialogDBQueue\r\n, AdditionalValue) select cul.UID_DialogDBQueue, pwo.UID_PersonWantsOrg from @DBQueueCurrent cul join PersonWantsOrg pwo on pwo.UID_PersonWantsOrg = cul.UID_Parameter\r\n join PWOHelperPWO h on h.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg   where pwo.OrderState in ('Aborted', 'Assigned', 'Dismissed', 'Granted', 'New', \r\n'Unsubscribed', 'Waiting') if @@ROWCOUNT > 0 begin delete PWOHelperPWO from PWOHelperPWO h join @DBQueueToMove mo on h.UID_PersonWantsOrg = mo.AdditionalValue\r\n exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget  delete @DBQueueCurrent from @DBQueueCurrent cu join\r\n @DBQueueToMove mo on cu.UID_DialogDBQueue = mo.UID_DialogDBQueue end end   insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2) select x.UID_PersonWantsOrg\r\n, x.XObjectKey from @DBQueueCurrent cu join PersonwantsOrg x on cu.UID_Parameter = x.UID_PersonWantsOrg union all select cu.UID_Parameter, p.XObjectKey\r\n from @DBQueueCurrent cu join PersonwantsOrg x on cu.UID_Parameter = x.UID_PersonWantsOrg join Person p on x.UID_PersonOrdered = p.UID_Person  exec @resetted\r\n = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber if @resetted > 0 begin delete @DBQueueCurrent\r\n insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, \r\nGenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end end  select @SlotNumberSource\r\n = @SlotNumber  select @SlotnumberTarget = dbo.QBM_FGIDBQueueSlotResetType('DBQueue') delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue\r\n) select cul.UID_DialogDBQueue from @DBQueueCurrent cul where exists (select top 1 1 from DialogDBQueue q with (readpast) where q.Object = cul.UID_Parameter\r\n  and q.Generation >= 0 and q.UID_Task in ('QER-K-ShoppingRackPWOHelperPWO' , 'QER-K-ShoppingRackPWOHelperPWO-Cfg' ) ) exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot\r\n @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget  delete @DBQueueCurrent from @DBQueueCurrent cu join @DBQueueToMove mo on cu.UID_DialogDBQueue = \r\nmo.UID_DialogDBQueue select @resetted = @RowsMoved delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select cul.UID_DialogDBQueue from\r\n @DBQueueCurrent cul where exists (select top 1 1 from QBMDBQueueCurrent q with (readpast) where q.UID_Parameter = cul.UID_Parameter  and q.SlotNumber \r\n<> 0 and q.UID_Task in ('QER-K-ShoppingRackPWOHelperPWO' , 'QER-K-ShoppingRackPWOHelperPWO-Cfg' ) ) exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove\r\n, @SlotNumberSource, @SlotnumberTarget  delete @DBQueueCurrent from @DBQueueCurrent cu join @DBQueueToMove mo on cu.UID_DialogDBQueue = mo.UID_DialogDBQueue\r\n select @resetted += @RowsMoved  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RITShopCheckMethodPR",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:05.997",
      "ModifyDate": "2026-04-14T23:20:38.14",
      "Definition": "create   procedure QER_RITShopCheckMethodPR (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Jobrunning QBM_YParameterList  declare @DBQueueCurrent\r\n QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select \r\nUID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2) select x.UID_Org, x.XObjectKey from @DBQueueCurrent cu \r\njoin BaseTree x on cu.UID_Parameter = x.UID_Org exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, \r\n@SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RITShopHelperFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.01",
      "ModifyDate": "2026-04-14T23:20:38.157",
      "Definition": "create   procedure QER_RITShopHelperFill (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList, @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @RowsToReset int  declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare \r\n@resetted int declare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @SlotNumberSource int declare @SlotNumberTarget int declare @RowsMoved int BEGIN TRY\r\n insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, \r\nGenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end if exists (select top 1\r\n 1 from @DBQueueCurrent cu join PersonWantsOrg pwo with (readpast) on pwo.UID_PersonWantsOrg = cu.UID_Parameter   where pwo.OrderState in ('Aborted', 'Assigned'\r\n, 'Dismissed', 'Granted', 'New', 'Unsubscribed', 'Waiting') ) begin delete @DBQueueToMove select @SlotNumberSource = @SlotNumber  select @SlotnumberTarget\r\n = 0  insert into @DBQueueToMove(UID_DialogDBQueue, AdditionalValue) select cul.UID_DialogDBQueue, pwo.UID_PersonWantsOrg from @DBQueueCurrent cul join\r\n PersonWantsOrg pwo on pwo.UID_PersonWantsOrg = cul.UID_Parameter join PWOHelperPWO h on h.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg   where pwo.OrderState\r\n in ('Aborted', 'Assigned', 'Dismissed', 'Granted', 'New', 'Unsubscribed', 'Waiting') if @@ROWCOUNT > 0 begin delete PWOHelperPWO from PWOHelperPWO h join\r\n @DBQueueToMove mo on h.UID_PersonWantsOrg = mo.AdditionalValue exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget\r\n  delete @DBQueueCurrent from @DBQueueCurrent cu join @DBQueueToMove mo on cu.UID_DialogDBQueue = mo.UID_DialogDBQueue end end    insert into @ObjectKeysToCheck_Jobrunning\r\n(Parameter1, Parameter2) select x.UID_PersonWantsOrg, x.XObjectKey from @DBQueueCurrent cu join PersonwantsOrg x on cu.UID_Parameter = x.UID_PersonWantsOrg\r\n union all select cu.UID_parameter, p.XObjectKey from @DBQueueCurrent cu join PersonwantsOrg x on cu.UID_Parameter = x.UID_PersonWantsOrg join Person p\r\n on x.UID_PersonOrdered = p.UID_Person  exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber\r\n = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RITShopHelperFill_Cfg",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.023",
      "ModifyDate": "2026-04-14T23:20:38.18",
      "Definition": "create   procedure QER_RITShopHelperFill_Cfg (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @reduce int declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted\r\n int declare @DebugSwitch int = 0 declare @DebugLevel varchar(1) = 'W' declare @SlotNumberSource int declare @SlotNumberTarget int declare @DBQueueToMove\r\n QBM_YDBQCSCurrentToMove declare @RowsMoved int BEGIN TRY select @reduce = case dbo.QBM_FGIConfigparmValue('QER\\ITShop\\ReducedApproverCalculation') when\r\n 'NoRecalc' then 2 when 'CurrentLevel' then 1 else 0 end if @reduce = 2 begin goto endLabel end insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber\r\n = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select cul.UID_DialogDBQueue\r\n from @DBQueueCurrent cul  where exists (select top 1 1 from QBMDBQueueCurrent v with (nolock) where v.UID_Task = 'QER-K-ShoppingRackPWOHelperPWO' and \r\nv.UID_Parameter = cul.UID_Parameter and v.SlotNumber > 0 ) if @@ROWCOUNT > 0 begin select @SlotNumberSource = @SlotNumber  select @SlotnumberTarget = 0\r\n exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget  delete @DBQueueCurrent from @DBQueueCurrent cu join\r\n @DBQueueToMove mo on cu.UID_DialogDBQueue = mo.UID_DialogDBQueue  if @DebugSwitch > 0 begin exec QBM_PJournal 'QER-K-ShoppingRackPWOHelperPWO in dbqueueCurrent gefunden'\r\n, @@procid, 'D', @DebugLevel end end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2) select x.UID_PersonWantsOrg, x.XObjectKey from \r\n@DBQueueCurrent cu join PersonwantsOrg x with (readpast) on cu.UID_Parameter = x.UID_PersonWantsOrg union all select cu.UID_parameter, p.XObjectKey from\r\n @DBQueueCurrent cu join PersonwantsOrg x with (readpast) on cu.UID_Parameter = x.UID_PersonWantsOrg join Person p on x.UID_PersonOrdered = p.UID_Person\r\n  exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RITShopMakeDecisionCD",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.14",
      "ModifyDate": "2026-04-14T23:20:38.623",
      "Definition": "create   procedure QER_RITShopMakeDecisionCD (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int declare @SlotNumberSource\r\n int declare @SlotNumberTarget int declare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select\r\n cul.UID_DialogDBQueue from @DBQueueCurrent cul  left outer join PersonWantsOrg pwo with (readpast) on cul.UID_Parameter = pwo.UID_PersonWantsOrg   and\r\n pwo.OrderState in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe') where pwo.UID_PersonWantsOrg is null if @@ROWCOUNT > 0 begin select @SlotNumberSource\r\n = @SlotNumber  select @SlotnumberTarget = 0 exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget  delete \r\n@DBQueueCurrent from @DBQueueCurrent cu join @DBQueueToMove mo on cu.UID_DialogDBQueue = mo.UID_DialogDBQueue end  insert into @ObjectKeysToCheck_Jobrunning\r\n(Parameter1, Parameter2) select x.UID_PersonWantsOrg, x.XObjectKey from @DBQueueCurrent cu join PersonwantsOrg x on cu.UID_Parameter = x.UID_PersonWantsOrg\r\n exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH \r\nexec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RITShopMakeDecisionEX",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.213",
      "ModifyDate": "2026-04-14T23:20:38.723",
      "Definition": "create   procedure QER_RITShopMakeDecisionEX (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int declare @SlotNumberSource\r\n int declare @SlotNumberTarget int declare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select\r\n cul.UID_DialogDBQueue from @DBQueueCurrent cul  left outer join PersonWantsOrg pwo with (readpast) on cul.UID_Parameter = pwo.UID_PersonWantsOrg   and\r\n pwo.OrderState in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe') where pwo.UID_PersonWantsOrg is null if @@ROWCOUNT > 0 begin select @SlotNumberSource\r\n = @SlotNumber  select @SlotnumberTarget = 0 exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget  delete \r\n@DBQueueCurrent from @DBQueueCurrent cu join @DBQueueToMove mo on cu.UID_DialogDBQueue = mo.UID_DialogDBQueue end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RITShopMakeDecisionRI",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.163",
      "ModifyDate": "2026-04-14T23:20:38.653",
      "Definition": "create   procedure QER_RITShopMakeDecisionRI (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int declare @SlotNumberSource\r\n int declare @SlotNumberTarget int declare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select\r\n cul.UID_DialogDBQueue from @DBQueueCurrent cul  left outer join PersonWantsOrg pwo with (readpast) on cul.UID_Parameter = pwo.UID_PersonWantsOrg   and\r\n pwo.OrderState in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe') where pwo.UID_PersonWantsOrg is null if @@ROWCOUNT > 0 begin select @SlotNumberSource\r\n = @SlotNumber  select @SlotnumberTarget = 0 exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget  delete \r\n@DBQueueCurrent from @DBQueueCurrent cu join @DBQueueToMove mo on cu.UID_DialogDBQueue = mo.UID_DialogDBQueue end  insert into @ObjectKeysToCheck_Jobrunning\r\n(Parameter1, Parameter2) select x.UID_PersonWantsOrg, x.XObjectKey from @DBQueueCurrent cu join PersonwantsOrg x on cu.UID_Parameter = x.UID_PersonWantsOrg\r\n exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH \r\nexec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RITShopMakeDecisionSB",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.197",
      "ModifyDate": "2026-04-14T23:20:38.7",
      "Definition": "create   procedure QER_RITShopMakeDecisionSB (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int declare @SlotNumberSource\r\n int declare @SlotNumberTarget int declare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select\r\n cul.UID_DialogDBQueue from @DBQueueCurrent cul  left outer join PersonWantsOrg pwo on cul.UID_Parameter = pwo.uid_PersonWantsOrg   and pwo.OrderState \r\nin ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe') where pwo.uid_PersonWantsOrg is null if @@ROWCOUNT > 0 begin select @SlotNumberSource = @SlotNumber\r\n  select @SlotnumberTarget = 0 exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget  delete @DBQueueCurrent\r\n from @DBQueueCurrent cu join @DBQueueToMove mo on cu.UID_DialogDBQueue = mo.UID_DialogDBQueue end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RITShopMakeDecisionWC",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.18",
      "ModifyDate": "2026-04-14T23:20:38.68",
      "Definition": "create   procedure QER_RITShopMakeDecisionWC (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int declare @SlotNumberSource\r\n int declare @SlotNumberTarget int declare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select\r\n cul.UID_DialogDBQueue from @DBQueueCurrent cul  left outer join PersonWantsOrg pwo on cul.UID_Parameter = pwo.UID_PersonWantsOrg   and pwo.OrderState \r\nin ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe') where pwo.UID_PersonWantsOrg is null if @@ROWCOUNT > 0 begin select @SlotNumberSource = @SlotNumber\r\n  select @SlotnumberTarget = 0 exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget  delete @DBQueueCurrent\r\n from @DBQueueCurrent cu join @DBQueueToMove mo on cu.UID_DialogDBQueue = mo.UID_DialogDBQueue end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RITShopOrderAbort",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.45",
      "ModifyDate": "2026-04-14T23:20:39.013",
      "Definition": "create   procedure QER_RITShopOrderAbort (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int declare @SlotNumberSource\r\n int declare @SlotNumberTarget int declare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select\r\n cul.UID_DialogDBQueue from @DBQueueCurrent cul  left outer join Personwantsorg pwo with (readpast) on cul.UID_Parameter = pwo.UID_PersonWantsOrg   where\r\n pwo.UID_PersonWantsOrg is null if @@ROWCOUNT > 0 begin select @SlotNumberSource = @SlotNumber  select @SlotnumberTarget = 0 exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot\r\n @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget  delete @DBQueueCurrent from @DBQueueCurrent cu join @DBQueueToMove mo on cu.UID_DialogDBQueue = \r\nmo.UID_DialogDBQueue end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2) select x.UID_PersonWantsOrg, x.XObjectKey from @DBQueueCurrent\r\n cu join PersonwantsOrg x on cu.UID_Parameter = x.UID_PersonWantsOrg exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning\r\n, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RITShopOrderReset",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.35",
      "ModifyDate": "2026-04-14T23:20:38.89",
      "Definition": "create   procedure QER_RITShopOrderReset (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int declare @SlotNumberSource\r\n int declare @SlotNumberTarget int declare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select\r\n cul.UID_DialogDBQueue from @DBQueueCurrent cul  left outer join Personwantsorg pwo with (readpast) on cul.UID_Parameter = pwo.UID_PersonWantsOrg   and\r\n pwo.OrderState in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe') where pwo.UID_PersonWantsOrg is null if @@ROWCOUNT > 0 begin select @SlotNumberSource\r\n = @SlotNumber  select @SlotnumberTarget = 0 exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget  delete \r\n@DBQueueCurrent from @DBQueueCurrent cu join @DBQueueToMove mo on cu.UID_DialogDBQueue = mo.UID_DialogDBQueue end  insert into @ObjectKeysToCheck_Jobrunning\r\n(Parameter1, Parameter2) select x.UID_PersonWantsOrg, x.XObjectKey from @DBQueueCurrent cu join PersonwantsOrg x on cu.UID_Parameter = x.UID_PersonWantsOrg\r\n exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH \r\nexec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RITShopProductNodeCheck",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.307",
      "ModifyDate": "2026-04-14T23:20:38.833",
      "Definition": "create   procedure QER_RITShopProductNodeCheck ( @SlotNumber int , @UID_OrgBO varchar(38) , @dummy1 varchar(38) , @GenProcID varchar(38) ) AS begin\r\n declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning QBM_YParameterList declare @MyName nvarchar(64) = object_name\r\n(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter\r\n, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber\r\n if @@rowcount = 0 begin goto EndLabel end insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2) select @UID_OrgBO, b.XObjectKey from BaseTree\r\n b where b.UID_ParentOrg = @UID_OrgBO exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber\r\n = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ROrgHasQERAssign",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.1",
      "ModifyDate": "2026-04-14T23:20:39.763",
      "Definition": "create   procedure QER_ROrgHasQERAssign (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @UID_BasetreeAssignToUse varchar(38) = 'QER-AsgnBT-QERAssign' declare \r\n@DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L @DBQueueCurrent, 'BaseTree', 'UID_Org', @SlotNumber if @resetted > 0 begin\r\n delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and \r\ncu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end exec @resetted = QER_PSlotResetOnInvalidRoot_L @DBQueueCurrent, @UID_BasetreeAssignToUse\r\n, @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue\r\n = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2\r\n) select x.UID_Org, x.XObjectKey from @DBQueueCurrent cu join BaseTree x on cu.UID_Parameter = x.UID_Org exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent\r\n, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH \r\nNOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ROrgHasQERResource",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.243",
      "ModifyDate": "2026-04-14T23:20:39.953",
      "Definition": "create   procedure QER_ROrgHasQERResource (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @UID_BasetreeAssignToUse varchar(38) = 'QER-AsgnBT-QERResource' declare\r\n @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L @DBQueueCurrent, 'BaseTree', 'UID_Org', @SlotNumber if @resetted > 0 begin\r\n delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and \r\ncu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end exec @resetted = QER_PSlotResetOnInvalidRoot_L @DBQueueCurrent, @UID_BasetreeAssignToUse\r\n, @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue\r\n = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2\r\n) select cu.UID_Parameter, x.XObjectKey from @DBQueueCurrent cu join BaseTree x on cu.UID_Parameter = x.UID_Org exec @resetted = QBM_PSlotResetWhileJobRun_L\r\n @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ROrgHasQERReuse",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.147",
      "ModifyDate": "2026-04-14T23:20:39.827",
      "Definition": "create   procedure QER_ROrgHasQERReuse (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @UID_BasetreeAssignToUse varchar(38) = 'QER-AsgnBT-QERReuse' declare @DBQueueCurrent\r\n QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select \r\nUID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L @DBQueueCurrent, 'BaseTree', 'UID_Org', @SlotNumber if @resetted > 0 begin\r\n delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and \r\ncu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end exec @resetted = QER_PSlotResetOnInvalidRoot_L @DBQueueCurrent, @UID_BasetreeAssignToUse\r\n, @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue\r\n = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2\r\n) select cu.UID_Parameter, x.XObjectKey from @DBQueueCurrent cu join BaseTree x on cu.UID_Parameter = x.UID_Org exec @resetted = QBM_PSlotResetWhileJobRun_L\r\n @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ROrgHasQERReuseUS",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.197",
      "ModifyDate": "2026-04-14T23:20:39.89",
      "Definition": "create   procedure QER_ROrgHasQERReuseUS (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @UID_BasetreeAssignToUse varchar(38) = 'QER-AsgnBT-QERReuseUS' declare\r\n @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L @DBQueueCurrent, 'BaseTree', 'UID_Org', @SlotNumber if @resetted > 0 begin\r\n delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and \r\ncu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end exec @resetted = QER_PSlotResetOnInvalidRoot_L @DBQueueCurrent, @UID_BasetreeAssignToUse\r\n, @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue\r\n = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2\r\n) select cu.UID_Parameter, x.XObjectKey from @DBQueueCurrent cu join BaseTree x on cu.UID_Parameter = x.UID_Org exec @resetted = QBM_PSlotResetWhileJobRun_L\r\n @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RPersonCheckDynUser",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.077",
      "ModifyDate": "2026-04-14T23:20:39.73",
      "Definition": "create   procedure QER_RPersonCheckDynUser (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'Person', 'uid_Person', @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RPersonHasObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.29",
      "ModifyDate": "2026-04-14T23:20:40.01",
      "Definition": "create   procedure QER_RPersonHasObject (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'Person', 'UID_Person', @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RPersonHasObjectExtAtt",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.31",
      "ModifyDate": "2026-04-14T23:20:40.037",
      "Definition": "create   procedure QER_RPersonHasObjectExtAtt (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'Person', 'UID_Person', @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RPersonHasQERAssign",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.123",
      "ModifyDate": "2026-04-14T23:20:39.793",
      "Definition": "create   procedure QER_RPersonHasQERAssign (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @UID_BaseTreeAssignToUse varchar(38) = 'QER-AsgnBT-QERAssign' declare \r\n@DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L @DBQueueCurrent, 'Person', 'UID_Person', @SlotNumber if @resetted > 0 begin\r\n delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and \r\ncu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2) select cu.UID_Parameter\r\n, x.XObjectKey from @DBQueueCurrent cu join Person x on cu.UID_Parameter = x.UID_Person exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID\r\n, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END\r\n CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RPersonHasQERResource",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.267",
      "ModifyDate": "2026-04-14T23:20:39.983",
      "Definition": "create   procedure QER_RPersonHasQERResource (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'Person', 'UID_Person', @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent\r\n cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end  insert into @ObjectKeysToCheck_Jobrunning\r\n(Parameter1, Parameter2) select cu.UID_Parameter, x.XObjectKey from @DBQueueCurrent cu join Person x on cu.UID_Parameter = x.UID_Person exec @resetted \r\n= QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RPersonHasQERReuse",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.17",
      "ModifyDate": "2026-04-14T23:20:39.857",
      "Definition": "create   procedure QER_RPersonHasQERReuse (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'Person', 'UID_Person', @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent\r\n cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end  insert into @ObjectKeysToCheck_Jobrunning\r\n(Parameter1, Parameter2) select cu.UID_Parameter, x.XObjectKey from @DBQueueCurrent cu join Person x on cu.UID_Parameter = x.UID_Person exec @resetted \r\n= QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_RPersonHasQERReuseUS",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.22",
      "ModifyDate": "2026-04-14T23:20:39.92",
      "Definition": "create   procedure QER_RPersonHasQERReuseUS (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'Person', 'UID_Person', @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent\r\n cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end  insert into @ObjectKeysToCheck_Jobrunning\r\n(Parameter1, Parameter2) select cu.UID_Parameter, x.XObjectKey from @DBQueueCurrent cu join Person x on cu.UID_Parameter = x.UID_Person exec @resetted \r\n= QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZAccProductGroupCollection",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.547",
      "ModifyDate": "2026-04-14T23:20:40.357",
      "Definition": "    create   procedure QER_ZAccProductGroupCollection (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int \r\n, @CountDeltaOrigin int declare @lauf int declare @Debugswitch int = 0 declare @Debugmessage nvarchar(1000) declare @ElementCount int declare @ElementIndex\r\n int declare @ElementLast int declare @WhereClauseForJob nvarchar(max) declare @GenProcID varchar(38) declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext\r\n('') declare @QBMDeltaHelper QBM_YDBQueueDeltaHelper declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement\r\n, XOriginBefore ) select 0, 0 , a.UID_AccProductGroupChild, a.UID_AccProductGroupParent, a.Levelnumber + 1  from AccProductGroupCollection a join @DBQueueCurrent\r\n x on a.UID_AccProductGroupChild = x.uid_parameter  insert into @QBMDeltaHelper (Element, AssignedElement, xOrigin) select uid_parameter, uid_parameter\r\n, 1 from @DBQueueCurrent p  select @lauf = 1 while @lauf > 0 begin insert into @QBMDeltaHelper (Element, AssignedElement, XOrigin) select distinct a.element\r\n, ag.UID_AccProductGroupParent, a.XOrigin +1 from @QBMDeltaHelper a join AccProductGroup ag on a.AssignedElement = ag.UID_AccProductGroup where ag.UID_AccProductGroupParent\r\n > ' ' and Not exists (select top 1 1 from @QBMDeltaHelper e where e.Element = a.Element and e.AssignedElement = ag.UID_AccProductGroupParent ) select \r\n@lauf = @@rowcount end insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 1,XOrigin , Element\r\n, AssignedElement, 0 from @QBMDeltaHelper exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 1, @DeltaDelete = 1, @DeltaInsert = 1, @DeltaOrigin\r\n = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , \r\n@DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaQantity > 0 begin declare @GenProcIDs_CountDeltaQuantity QBM_YCursorBuffer insert into @GenProcIDs_CountDeltaQuantity\r\n (UID1) select de.GenProcID from #QBMDeltaDelete de union select de.GenProcID from #QBMDeltaInsert de select @ElementCount = @@ROWCOUNT select @ElementIndex\r\n = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @GenProcID = bu.UID1 from @GenProcIDs_CountDeltaQuantity\r\n bu where bu.ElementIndex = @ElementIndex if exists (select top 1 1 from #QBMDeltaDelete x where x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID delete AccProductGroupCollection from AccProductGroupCollection co where exists (select top 1 1 from #QBMDeltaDelete d where d.AssignedElement\r\n = co.UID_AccProductGroupParent and d.Element = co.UID_AccProductGroupChild and d.GenProcID = @GenProcID ) end  if exists (select top 1 1 from #QBMDeltaInsert\r\n x where x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID insert into AccProductGroupCollection ( UID_AccProductGroupChild\r\n, UID_AccProductGroupParent, LevelNumber, XObjectKey ) select x.UID_AccProductGroupChild, x.UID_AccProductGroupParent, x.LevelNumber - 1 ,dbo.QBM_FCVElementToObjectKey2\r\n('AccProductGroupCollection', 'UID_AccProductGroupChild', x.UID_AccProductGroupChild, 'UID_AccProductGroupParent', x.UID_AccProductGroupParent) from ( \r\nselect Element as UID_AccProductGroupChild, AssignedElement as UID_AccProductGroupParent, xorigin as LevelNumber from #QBMDeltaInsert where GenProcID =\r\n @GenProcID ) as x end  select @ElementIndex += 1 end  end  if @CountDeltaOrigin > 0 begin declare @GenProcIDs_CountDeltaOrigin QBM_YCursorBuffer insert\r\n into @GenProcIDs_CountDeltaOrigin (UID1) select distinct de.GenProcID from #QBMDeltaOrigin de select @ElementCount = @@ROWCOUNT select @ElementIndex =\r\n @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @GenProcID = bu.UID1 from @GenProcIDs_CountDeltaOrigin\r\n bu where bu.ElementIndex = @ElementIndex exec QBM_PSessionContextSet 'GenProcID', @GenProcID update AccProductGroupCollection set LevelNumber = di.XOrigin\r\n -1 from AccProductGroupCollection co join #QBMDeltaOrigin di on co.UID_AccProductGroupChild = di.Element and co.UID_AccProductGroupParent = di.AssignedElement\r\n where di.GenProcID = @GenProcID select @ElementIndex += 1 end  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT\r\n END CATCH  endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZAllChildrenOfOrg",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.89",
      "ModifyDate": "2026-04-14T23:20:39.477",
      "Definition": "       create   procedure QER_ZAllChildrenOfOrg (@SlotNumber int) as begin declare @taskname varchar(38) declare @ElementBuffer QBM_YCursorBuffer\r\n declare @ElementCount int declare @ElementIndex int declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.object, null, x.GenProcID from ( select distinct oc.uid_org as object , p.genprocid from @DBQueueCurrent p join\r\n BaseTreeCollection oc on oc.uid_parentOrg = p.uid_parameter ) as x insert into @ElementBuffer (UID1) select distinct uid_subparameter from @DBQueueCurrent\r\n p select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @taskname = bu.UID1 from @ElementBuffer\r\n bu where bu.ElementIndex = @ElementIndex  exec QBM_PDBQueueInsert_Bulk @taskname, @DBQueueElements_01 select @ElementIndex += 1 end  END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZAllForOneHardware",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.907",
      "ModifyDate": "2026-04-14T23:20:39.507",
      "Definition": "       create   procedure QER_ZAllForOneHardware (@SlotNumber int) as begin BEGIN TRY declare @dummy int END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZAllForOneOrg",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.913",
      "ModifyDate": "2026-04-14T23:20:39.517",
      "Definition": "    create   procedure QER_ZAllForOneOrg (@SlotNumber int) as begin BEGIN TRY declare @dummy int  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd \r\ndefault RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZAllForOnePerson",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.897",
      "ModifyDate": "2026-04-14T23:20:39.487",
      "Definition": "     create   procedure QER_ZAllForOnePerson (@SlotNumber int) as begin BEGIN TRY declare @dummy int END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZAllForOneWorkDesk",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.9",
      "ModifyDate": "2026-04-14T23:20:39.497",
      "Definition": "       create   procedure QER_ZAllForOneWorkDesk (@SlotNumber int) as begin BEGIN TRY declare @dummy int END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZAllForPersonInBaseTree",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.39",
      "ModifyDate": "2026-04-14T23:20:40.14",
      "Definition": "     create   procedure QER_ZAllForPersonInBaseTree (@SlotNumber int) as begin  declare @IsCUNode bit declare @IsOrgNode bit select @IsCUNode = \r\n0 select @IsOrgNode = 0 declare @uid_personwantsorg varchar(38) declare @SQLCmd nvarchar(2000) declare @BasisObjectKey varchar(138) declare @GenProcID \r\nvarchar(38) declare @CfgUseGenProcID bit = dbo.QBM_FCVStringToBit(dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\UseGenProcIDFromPWO')) declare @BitpatternDynInv\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Dynamic|', 1) declare @UID_PWOStateFinalError varchar(38) declare @Parameter nvarchar(1000)  declare @Ident_OrgRoot\r\n nvarchar(64) declare @EntryAll QBM_YCursorBuffer      declare @ElementLast int declare @ElementCount int declare @ElementIndex int declare @XUser nvarchar\r\n(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() declare @UID_TaskFollow varchar(38) BEGIN TRY  insert into @EntryAll (UID1  , UID2 \r\n , ObjectKey1 , Bit1 , UID3  , Int1  ) select cu.UID_Parameter, cu.UID_SubParameter, pio.XObjectKey, sign(len(isnull(pio.UID_Person, ''))) ^1, cu.GenProcID\r\n , isnull(pio.XOrigin, 0) from QBMDBQueueCurrent cu with (readpast) left outer join PersonInBaseTree pio on cu.UID_Parameter = pio.UID_Person and cu.UID_SubParameter\r\n = pio.UID_Org and pio.XOrigin > 0 where cu.SlotNumber = @SlotNumber update @EntryAll set ObjectKey1  = dbo.QBM_FCVElementToObjectKey2('PersonIn'+dbo.QER_FGIOrgRootName\r\n(b.uid_orgroot), 'uid_person', d.UID1 , 'UID_' + dbo.QER_FGIOrgRootName(b.uid_orgroot) , b.uid_org) from @EntryAll d join BaseTree b on d.UID2  = b.UID_Org\r\n where d.Bit1  = 1   if exists (select top 1 1 from @EntryAll pio join BaseTree b on pio.UID2  = b.UID_Org join DynamicGroup dg on dg.ObjectKeyBaseTree\r\n = b.XObjectKey join QERDynamicGroupBlackList bl on bl.UID_DynamicGroup = dg.UID_DynamicGroup and bl.UID_Person = pio.UID1  ) begin update QERDynamicGroupBlackList\r\n set IsAssignedByOthers = case when pio.Bit1  = 1 then 0 when pio.Int1  & @BitpatternDynInv > 0 then 1 else bl.IsAssignedByOthers end  , XDateUpdated =\r\n @Xdate , XUserUpdated = @XUser from @EntryAll pio join BaseTree b on pio.UID2  = b.UID_Org join DynamicGroup dg on dg.ObjectKeyBaseTree = b.XObjectKey\r\n join QERDynamicGroupBlackList bl on bl.UID_DynamicGroup = dg.UID_DynamicGroup and bl.UID_Person = pio.UID1  end if exists (select top 1 1 from @EntryAll\r\n a where a.UID2  = 'QER-AEROLE-ITSHOP-INTERVENTION' ) begin select top 1 @GenProcID = a.UID3  from @EntryAll a where a.UID2  = 'QER-AEROLE-ITSHOP-INTERVENTION'\r\n   exec QBM_PDBQueueInsert_Single 'QBM-K-Commonrecalculate', 'QER-K-ShoppingRackPWOHelperPWO', '', @GenprocID end declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01(Object, SubObject, GenProcID) select distinct h.UID_PersonWantsOrg, '', cu.UID3  from @EntryAll cu join QERWorkingStep\r\n s on s.UID_AERoleFallBack = cu.UID2  join PWOHelperPWO h on h.UID_QERWorkingStep = s.UID_QERWorkingStep if @@ROWCOUNT > 0 begin   exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-ShoppingRackPWOHelperPWO-Cfg', @DBQueueElements_01 end        if exists (select top 1 1 from BaseTree b join @EntryAll i on b.uid_org = i.UID2 \r\n where b.uid_Orgroot = 'QER-V-ITShopOrg' and b.itShopInfo = 'CU' ) begin select @IsCUNode = 1 end      if exists (select top 1 1 from BaseTree b join @EntryAll\r\n i on b.uid_org = i.UID2  where (b.uid_orgroot like '____[^V]%' ) ) begin select @IsOrgNode = 1 end  declare @DBQueueElements_02 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, x.GenProcID from    ( select distinct d.UID1  as uid, d.UID3 as GenProcID \r\nfrom @EntryAll d join BaseTree b on d.UID2  = b.uid_org where b.uid_orgroot = 'QER-V-AERole' ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-PersonCheckDynUser'\r\n, @DBQueueElements_02                  declare @ElementClosing QBM_YCursorBuffer insert into @ElementClosing (UID1, ObjectKey1, UID2) select pwo.uid_personwantsorg\r\n, pwo.XObjectKey ,dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, x.UID3  , @CfgUseGenProcID) as GenProcID from @EntryAll x join Delegation d on d.ObjectKeyDelegated\r\n = x.ObjectKey1  and x.Bit1  = 1  join personwantsorg pwo on d.uid_personwantsorg = pwo.uid_personwantsorg      where pwo.OrderState in ('Assigned', 'Granted'\r\n, 'New', 'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting') select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount\r\n +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @uid_personwantsorg = bu.UID1 , @BasisObjectKey = bu.ObjectKey1\r\n , @GenProcID = bu.UID2 from @ElementClosing bu where bu.ElementIndex = @ElementIndex select @SQLcmd = N'uid_personwantsorg = ''' + rtrim(@uid_personwantsorg\r\n) + N'''' select @UID_PWOStateFinalError = dbo.QER_FGIPWOStateFinalError(@UID_PersonWantsOrg) exec QBM_PJobCreate_HOCallMethod @objecttype = 'personwantsorg'\r\n , @whereclause = @SQLcmd , @save = 1 , @MethodName = 'Abort' , @GenProcID = @GenprocID  , @ObjectKeysAffected = DEFAULT , @param1 = '#LDS#Closing delegation because its source was was deleted.|'\r\n , @Param2 = @UID_PWOStateFinalError , @Retries = 3 , @isToFreezeOnError = 1  , @WhereClauseAdditional = ' OrderState in (''Assigned'', ''Granted'', ''New'', ''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'', ''Waiting'')'\r\n  , @BasisObjectKey = @BasisObjectKey , @checkForExisting = 1 select @ElementIndex += 1 end  declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03\r\n (object, subobject, genprocid) select x.uid, null, x.GenProcID  from     ( select distinct d.UID1  as uid, d.UID3 as GenProcID from @EntryAll d left outer\r\n join BaseTree b on d.UID2  = b.uid_org where isnull(b.uid_orgroot, '') <> 'CPL-V-NonCompliance'  and isnull(b.IsNoInheriteToPerson, 0) = 0  ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'QER-K-AllForOnePerson', @DBQueueElements_03   declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04 (object\r\n, subobject, genprocid) select x.uid, null, x.GenProcID from ( select distinct d.UID1  as uid, d.UID3 as GenProcID from @EntryAll d ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-PersonHasObject', @DBQueueElements_04  if @IsCUNode = 1 begin  declare @DBQueueElements_05 QBM_YDBQueueRaw insert into @DBQueueElements_05 (object\r\n, subobject, genprocid) select x.uid, x.subobject, x.GenProcID       from ( select distinct pio.UID1  as uid, o.uid_parentorg as subobject, pio.UID3 as\r\n GenProcID from @EntryAll pio join BaseTree o on pio.UID2  = o.uid_Org and o.ITShopInfo = 'CU' and o.uid_orgroot = 'QER-V-ITShopOrg' and pio.Bit1  = 1 \r\n ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackMemberDel', @DBQueueElements_05  end    declare @ElementNacharbeit QBM_YCursorBuffer declare @ObjectKeyOrg\r\n varchar(138)  insert into @ElementNacharbeit (Ident1, UID3, ObjectKey1)  select distinct dbo.QER_FGIOrgRootName(b.UID_OrgRoot), p.UID3 , b.XObjectKey \r\n  from @EntryAll p join BaseTree b on p.UID2  = b.UID_Org select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select\r\n @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @Ident_OrgRoot = bu.Ident1 , @GenProcID = bu.UID3  , @ObjectKeyOrg = \r\nbu.ObjectKey1 from @ElementNacharbeit bu where bu.ElementIndex = @ElementIndex  declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01\r\n (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-OR', @ObjectKeyOrg, 'I' exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID  if @Ident_OrgRoot\r\n = 'AERole' begin  declare @RecalcParameter_02 QBM_YCursorBuffer  insert into @RecalcParameter_02 (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-OA'\r\n, @ObjectKeyOrg, 'I' union select 'TSB-PWODecisionRule-TO', @ObjectKeyOrg, 'I' union select 'AOB-PWODecisionRule-BA', @ObjectKeyOrg, 'I' union select 'AOB-PWODecisionRule-BE'\r\n, @ObjectKeyOrg, 'I' union select 'ARS-ITShopRule-KA', @ObjectKeyOrg, 'I' union select 'ARS-ITShopRule-PA', @ObjectKeyOrg, 'I' union select 'PAG-PWODecisionRule-PG'\r\n, @ObjectKeyOrg, 'I'  union select 'QER-PWODecisionRule-DI', @ObjectKeyOrg, 'I' union select 'QER-PWODecisionRule-DR', @ObjectKeyOrg, 'I' union select \r\n'QER-PWODecisionRule-ID', @ObjectKeyOrg, 'I' union select 'QER-PWODecisionRule-IL', @ObjectKeyOrg, 'I' union select 'QER-PWODecisionRule-IP', @ObjectKeyOrg\r\n, 'I' union select 'QER-PWODecisionRule-PI', @ObjectKeyOrg, 'I' union select 'QER-PWODecisionRule-PR', @ObjectKeyOrg, 'I' union select 'QER-PWODecisionRule-RD'\r\n, @ObjectKeyOrg, 'I' union select 'QER-PWODecisionRule-RL', @ObjectKeyOrg, 'I' union select 'QER-PWODecisionRule-RP', @ObjectKeyOrg, 'I' union select 'QER-PWODecisionRule-OX'\r\n, @ObjectKeyOrg, 'I' exec QER_PITShopHelperFill_Recalc @RecalcParameter_02, @GenprocID  end if @Ident_OrgRoot = 'Department' begin  declare @RecalcParameter_03\r\n QBM_YCursorBuffer insert into @RecalcParameter_03 (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-DI', @ObjectKeyOrg, 'I' union select 'QER-PWODecisionRule-DR'\r\n, @ObjectKeyOrg, 'I' union select 'QER-PWODecisionRule-ID', @ObjectKeyOrg, 'I' exec QER_PITShopHelperFill_Recalc @RecalcParameter_03, @GenprocID  end if\r\n @Ident_OrgRoot = 'ProfitCenter' begin  declare @RecalcParameter_04 QBM_YCursorBuffer insert into @RecalcParameter_04 (UID1, ObjectKey1, Ident1) select\r\n 'QER-PWODecisionRule-IP', @ObjectKeyOrg, 'I' union select 'QER-PWODecisionRule-PI', @ObjectKeyOrg, 'I' union select 'QER-PWODecisionRule-PR', @ObjectKeyOrg\r\n, 'I' exec QER_PITShopHelperFill_Recalc @RecalcParameter_04, @GenprocID  end if @Ident_OrgRoot = 'Locality' begin  declare @RecalcParameter_05 QBM_YCursorBuffer\r\n insert into @RecalcParameter_05 (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-IL', @ObjectKeyOrg, 'I' exec QER_PITShopHelperFill_Recalc @RecalcParameter_05\r\n, @GenprocID  end select @ElementIndex += 1 end     if @IsOrgNode = 1 begin     if exists (select top 1 1    from @EntryAll p join BaseTree b on p.UID2\r\n  = b.UID_Org  join pwodecisionstep s on b.XObjectKey = s.ObjectKeyOfAssignedOrg ) begin exec QBM_PDBQueueInsert_Single 'QER-K-ShoppingRackPWODecisionMaker'\r\n, '', '', @GenprocID end  end   declare @DBQueueElements_06 QBM_YDBQueueRaw insert into @DBQueueElements_06 (object, subobject, genprocid) select x.uid\r\n, x.subobject, x.GenProcID from ( select distinct pio.UID1  as uid, null as subobject, pio.UID3 as GenProcID from @EntryAll pio  where exists (select top\r\n 1 1 from BaseTree o where o.UID_AERoleManager = pio.UID2 ) ) as x  select @UID_TaskFollow = 'QER-K-HelperHeadOrg' exec QBM_PDBQueueInsert_Bulk @UID_TaskFollow\r\n, @DBQueueElements_06 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZBaseTreeCollectionF",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.983",
      "ModifyDate": "2026-04-14T23:20:39.61",
      "Definition": "     create   procedure QER_ZBaseTreeCollectionF (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @lauf int declare @ElementCount int declare @ElementIndex int declare @ElementLast int declare @GenProcID varchar(38) declare @GenProcID_R\r\n varchar(38) = dbo.QBM_FGISessionContext('') declare @QBMDeltaHelper QBM_YDBQueueDeltaHelper declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end insert into @SourceData( IsUpcommingContent\r\n, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 0, 0 , co.UID_Org, co.UID_ParentOrg, 1 from BaseTreeCollectionF co join @DBQueueCurrent\r\n x on co.UID_Org = x.uid_parameter  insert into @QBMDeltaHelper (Element, AssignedElement) select p.UID_Parameter, p.UID_Parameter from @DBQueueCurrent\r\n p  select @lauf = 1 while @lauf > 0 begin insert into @QBMDeltaHelper (Element, AssignedElement) select distinct a.Element, b.UID_ParentOrg from @QBMDeltaHelper\r\n a join BaseTree b on a.AssignedElement = b.UID_Org where b.UID_ParentOrg > ' ' and not exists (select top 1 1 from @QBMDeltaHelper h where h.Element =\r\n a.Element and h.AssignedElement = b.UID_ParentOrg ) select @lauf = @@rowcount end insert into @SourceData( IsUpcommingContent, XOriginAfter , Element,\r\n AssignedElement, XOriginBefore ) select 1, 1 , Element, AssignedElement, 0 from @QBMDeltaHelper exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity\r\n = 0, @DeltaDelete = 1, @DeltaInsert = 1, @DeltaOrigin = 0, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output\r\n , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaQantity > 0 begin declare @GenProcIDs_CountDeltaQuantity\r\n QBM_YCursorBuffer insert into @GenProcIDs_CountDeltaQuantity (UID1) select de.GenProcID from #QBMDeltaDelete de union select de.GenProcID from #QBMDeltaInsert\r\n de select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast\r\n begin select top 1 @GenProcID = bu.UID1 from @GenProcIDs_CountDeltaQuantity bu where bu.ElementIndex = @ElementIndex if exists (select top 1 1 from #QBMDeltaDelete\r\n x where x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID delete BaseTreeCollectionF from BaseTreeCollectionF co where\r\n exists (select top 1 1 from #QBMDeltaDelete d where d.AssignedElement = co.UID_ParentOrg and d.Element = co.UID_Org and d.GenProcID = @GenProcID ) end\r\n  if exists (select top 1 1 from #QBMDeltaInsert x where x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID insert into\r\n BaseTreeCollectionF ( UID_Org, UID_ParentOrg) select x.uid_org, x.uid_parentOrg from ( select Element as uid_Org, AssignedElement as uid_ParentOrg from\r\n #QBMDeltaInsert where GenProcID = @GenProcID ) as x end  select @ElementIndex += 1 end  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH  endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZBaseTreeHasObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.323",
      "ModifyDate": "2026-04-14T23:20:40.053",
      "Definition": "        create   procedure QER_ZBaseTreeHasObject (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @DBQueueCurrent QBM_YDBQueueCurrent declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0)  BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  insert into @SourceData( IsUpcommingContent\r\n, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 0, 0 , uid_Org, ObjectKey, bho.InheritInfo from BaseTreeHasObject bho join @DBQueueCurrent\r\n x on uid_Org = x.uid_parameter where bho.ObjectKey like '<Key><T>QERAssign</T>%' or bho.ObjectKey like '<Key><T>QERResource</T>%' or bho.ObjectKey like\r\n '<Key><T>QERReuse</T>%' or bho.ObjectKey like '<Key><T>QERReuseUS</T>%'  insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement\r\n, XOriginAfter ) select 1, 0 , y.UID_Org, z.XObjectKey, dbo.QER_FCVXOriginToInheritInfo(y.XOrigin) from BaseTreeHasQERAssign y join @DBQueueCurrent x on\r\n y.UID_Org= x.uid_parameter and y.XOrigin > 0 and y.XIsInEffect = 1 join QERAssign z on z.uid_QERAssign = y.uid_QERAssign union all select 1, 0 , y.UID_Org\r\n, z.XObjectKey, dbo.QER_FCVXOriginToInheritInfo(y.XOrigin) from BaseTreeHasQERResource y join @DBQueueCurrent x on y.UID_Org= x.uid_parameter and y.XOrigin\r\n > 0 and y.XIsInEffect = 1 join QERResource z on z.uid_QERResource = y.uid_QERResource union all select 1, 0 , y.UID_Org, z.XObjectKey, dbo.QER_FCVXOriginToInheritInfo\r\n(y.XOrigin) from BaseTreeHasQERReuse y join @DBQueueCurrent x on y.UID_Org= x.uid_parameter and y.XOrigin > 0 and y.XIsInEffect = 1 join QERReuse z on \r\nz.uid_QERReuse = y.uid_QERReuse union all select 1, 0 , y.UID_Org, z.XObjectKey, dbo.QER_FCVXOriginToInheritInfo(y.XOrigin) from BaseTreeHasQERReuseUS \r\ny join @DBQueueCurrent x on y.UID_Org= x.uid_parameter and y.XOrigin > 0 and y.XIsInEffect = 1 join QERReuseUS z on z.uid_QERReuseUS = y.uid_QERReuseUS\r\n if dbo.QBM_FGIModuleExists('RMS') = 1 begin insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select\r\n 1, 0 , y.UID_Org, ehe.Entitlement, dbo.QER_FCVXOriginToInheritInfo(@QBM_BitPatternXOrigin_Inherit) from BaseTreeHasESet y join @DBQueueCurrent x on y.UID_Org\r\n = x.uid_parameter and y.XOrigin > 0 and y.XIsInEffect = 1 join ESetHasEntitlement ehe on ehe.UID_ESet = y.UID_ESet and ehe.XOrigin > 0 and ehe.XIsInEffect\r\n = 1 join BaseTree b on y.UID_Org = b.UID_Org  and not (b.UID_OrgRoot in ( 'QER-V-ITShopOrg', 'QER-V-ITShopSrc') and b.ITShopInfo in ( 'BO', 'PR', 'BG'\r\n, 'BT') ) join OrgRootAssign oa on oa.UID_OrgRoot = b.UID_OrgRoot and oa.IsAssignmentAllowed = 1 where ((ehe.Entitlement like '<Key><T>QERAssign</T>%' \r\nand oa.UID_BaseTreeAssign = 'QER-AsgnBT-QERAssign') or (ehe.Entitlement like '<Key><T>QERResource</T>%' and oa.UID_BaseTreeAssign = 'QER-AsgnBT-QERResource'\r\n) or (ehe.Entitlement like '<Key><T>QERReuse</T>%' and oa.UID_BaseTreeAssign = 'QER-AsgnBT-QERReuse') or (ehe.Entitlement like '<Key><T>QERReuseUS</T>%'\r\n and oa.UID_BaseTreeAssign = 'QER-AsgnBT-QERReuseUS') )        end   berechnen: exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 1, @DeltaDelete\r\n = 1, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect\r\n = 0 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent exec QER_PBasetreeHasObjectPostProc @CountDeltaOrigin, @CountDeltaQantity END\r\n TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZBaseTreeHasObjectExtAtt",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.34",
      "ModifyDate": "2026-04-14T23:20:40.077",
      "Definition": "   create   procedure QER_ZBaseTreeHasObjectExtAtt (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @QER_BitPattern_Inherit_0 int = dbo.QER_FGIBitPatternInheritInfo('|Inherit|', 0) declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end insert into @SourceData( IsUpcommingContent\r\n, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 0, 0 , uid_Org, ObjectKey, InheritInfo from BaseTreeHasObject bho join @DBQueueCurrent\r\n x on uid_Org = x.uid_parameter where bho.ObjectKey like '<Key><T>ExtendedAttribute</T>%'  insert into @SourceData( IsUpcommingContent, XOriginBefore ,\r\n Element, AssignedElement, XOriginAfter ) select 1, 0 , y.UID_Org, ea.XObjectKey, @QER_BitPattern_Inherit_0 from BaseTreeHasObject y join @DBQueueCurrent\r\n x on y.UID_Org= x.uid_parameter join ObjectHasExtendedAttribute oha on oha.ObjectKeyOfObject = y.ObjectKey join ExtendedAttribute ea on oha.UID_ExtendedAttribute\r\n = ea.UID_ExtendedAttribute where y.ObjectKey not like '<Key><T>ExtendedAttribute</T>%' berechnen: exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity\r\n = 0, @DeltaDelete = 1, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output\r\n , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent exec QER_PBasetreeHasObjectPostProc @CountDeltaOrigin, @CountDeltaQantity\r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZDynamicGroupMakeProc",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.007",
      "ModifyDate": "2026-04-14T23:20:39.643",
      "Definition": "   create   procedure QER_ZDynamicGroupMakeProc (@SlotNumber int) as begin    declare @UID_DynamicGroup varchar(38) declare @Groups QBM_YSingleGUID\r\n  SET XACT_ABORT OFF BEGIN TRY insert into @Groups(UID_SingleGuid ) select UID_Parameter from QBMDBQueueCurrent p with (readpast) where p.SlotNumber = \r\n@SlotNumber while (exists (select top 1 1 from @Groups)) BEGIN select top 1 @UID_DynamicGroup = g.UID_SingleGuid  from @Groups g  if exists (select top\r\n 1 1 from DynamicGroup where UID_DynamicGroup = @UID_DynamicGroup ) begin exec QER_PDynamicGroupMakeProc_hlp @UID_DynamicGroup end else begin exec QER_PDynamicGroupMakeProc_Drop\r\n @UID_DynamicGroup end delete  @Groups  where UID_SingleGuid  = @UID_DynamicGroup END END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZDynamicGroupMakeTrigger",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.587",
      "ModifyDate": "2026-04-14T23:20:40.407",
      "Definition": "     create   procedure QER_ZDynamicGroupMakeTrigger (@SlotNumberDummy int , @parm1dummy varchar(38) , @parm2dummy varchar(38) , @GenProcIDdummy\r\n varchar(38) ) as begin declare @crlf varchar(2) = char(13) + char(10) declare @ElementCount int declare @ElementIndex int declare @TableName varchar(30\r\n) declare @Body nvarchar(max) declare @Triggername varchar(30) declare @SQLCmd nvarchar(max) declare @DebugSwitch int = 0  declare @Material table (ElementIndex\r\n int identity primary key , TableName varchar(30) collate database_default , TriggerInsert nvarchar(max) collate database_default , TriggerUpdate nvarchar\r\n(max) collate database_default , TriggerDelete nvarchar(max) collate database_default ) BEGIN TRY exec QBM_PTriggerDrop 'GEN_T[I,U,D]DYG%' insert into \r\n@Material(TableName, TriggerInsert, TriggerUpdate, TriggerDelete) select z.TableName, STRING_AGG(replace(z.WatchInsertDelete, '%opSynonym%', 'inserted'\r\n), @crlf) within group (order by z.Columnname) , STRING_AGG(z.Watchupdate, @crlf) within group (order by z.Columnname) , STRING_AGG(replace(z.WatchInsertDelete\r\n, '%opSynonym%', 'deleted'), @crlf) within group (order by z.Columnname) from ( select case when y.UID_DialogTable <> y.UID_DialogTableObjectClass and \r\ny.IsPKMember = 0 and y.JoinColumns > ' ' then concat(convert(nvarchar(max), '--\tdetail with join'), @crlf , 'if update(', y.ColumnName , ')', @crlf , ' begin'\r\n, @crlf ,'\tinsert into @ElementAndRule(Parameter1, Parameter2)',@crlf ,'\tselect ot.', oc.PKName1 ,' , ''', y.UID_DynamicGroup , ''' --', dyg.DisplayName\r\n, @crlf ,'\tfrom ', oc.TableName,' ot join inserted wt on ot.', oc.PKName1,' in (', y.JoinColumns,' )', @crlf , '\t union all ' , @crlf  ,'\tselect ot.', \r\noc.PKName1 ,' , ''', y.UID_DynamicGroup , '''', @crlf ,'\tfrom ', oc.TableName,' ot join deleted wt on ot.', oc.PKName1,' in (', y.JoinColumns,' )', @crlf\r\n , ' end', @crlf ) when y.UID_DialogTable <> y.UID_DialogTableObjectClass and y.IsPKMember = 0 and y.JoinColumns is null then concat(convert(nvarchar(max\r\n), '--\tfull'), @crlf , 'if update(', y.ColumnName , ')', @crlf , ' begin', @crlf , '\tinsert into @RuleOnly(Parameter1) select  ''', y.UID_DynamicGroup \r\n, ''' --', dyg.DisplayName , @crlf , ' end', @crlf ) when y.UID_DialogTable <> y.UID_DialogTableObjectClass and y.IsPKMember = 1 then null  when y.UID_DialogTable\r\n = y.UID_DialogTableObjectClass and y.IsPKMember = 0 then concat(convert(nvarchar(max), '--\tdetail without join'), @crlf , 'if update(', y.ColumnName ,\r\n ')', @crlf , ' begin', @crlf , '\tinsert into @ElementAndRule(Parameter1, Parameter2) ', @crlf ,'\tselect wt.', oc.PKName1 ,' , ''', y.UID_DynamicGroup \r\n, ''' --', dyg.DisplayName, @crlf ,'\tfrom inserted wt ', @crlf , '\t union all ' , @crlf  ,'\tselect wt.', oc.PKName1 ,' , ''', y.UID_DynamicGroup , ''''\r\n, @crlf ,'\tfrom deleted wt ', @crlf , ' end', @crlf ) else null end as WatchUpdate ,case   when y.UID_DialogTable <> y.UID_DialogTableObjectClass and y.JoinColumns\r\n > ' ' then concat(convert(nvarchar(max), '--\tdetail with join') , @crlf , 'insert into @ElementAndRule(Parameter1, Parameter2) select ot.', oc.PKName1\r\n ,' , ''', y.UID_DynamicGroup , ''' --', dyg.DisplayName, @crlf ,' from ', oc.TableName,' ot join %opSynonym% wt on ot.', oc.PKName1,' in (', y.JoinColumns\r\n,' )', @crlf ) when y.UID_DialogTable <> y.UID_DialogTableObjectClass and y.JoinColumns is null then concat(convert(nvarchar(max), '--\tfull'), @crlf , \r\n'insert into @RuleOnly(Parameter1) select  ''', y.UID_DynamicGroup , ''' --', dyg.DisplayName , @crlf ) when y.UID_DialogTable = y.UID_DialogTableObjectClass\r\n then concat(convert(nvarchar(max), '--\tdetail myself'), @crlf , 'insert into @ElementAndRule(Parameter1, Parameter2) select wt.', oc.PKName1 ,' , ''',\r\n y.UID_DynamicGroup , ''' --', dyg.DisplayName, @crlf ,' from %opSynonym% wt ', @crlf ) end as WatchInsertDelete , y.* from ( select x.*, STRING_AGG( 'wt.'\r\n + r.ChildColumn, ',') as JoinColumns from ( select dg.UID_DynamicGroup , dg.UID_DialogTableObjectClass, isnull(tb.TableName, t.TableName) as TableName\r\n, isnull(cb.ColumnName, c.ColumnName) as ColumnName, isnull(tb.UID_DialogTable, t.UID_DialogTable) as UID_DialogTable , c.IsPKMember from DynamicGroupHasImmediateColumn\r\n gc join DynamicGroup dg on gc.UID_DynamicGroup = dg.UID_DynamicGroup join DialogColumn c on gc.ObjectKeyDialogColumn = c.XObjectKey join DialogTable t\r\n with (readpast) on c.UID_DialogTable = t.UID_DialogTable  left outer join DialogColumn cb on c.UID_BaseColumn = cb.UID_DialogColumn left outer join DialogTable\r\n tb with (readpast) on t.UID_DialogTableBase = tb.UID_DialogTable where dg.IsCalculateImmediately = 1 and gc.IsInActive = 0 and t.TableType not in ('P'\r\n, 'U', 'R') and ( dbo.QBM_FGIConfigparmValue('QER\\Structures\\DynamicGroupCheck\\CalculateImmediately' + dbo.QBM_FGITableName(dg.UID_DialogTableObjectClass\r\n)) = '1' or dbo.QBM_FCVGUIDToModuleOwner(dg.UID_DynamicGroup) <> 'CCC'  ) ) as x left outer join QBM_VQBMRelation r on r.UID_DialogTableParent <> x.UID_DialogTable\r\n and r.UID_DialogTableParent = x.UID_DialogTableObjectClass and r.UID_DialogTableChild = x.UID_DialogTable group by x.UID_DynamicGroup, x.UID_DialogTableObjectClass\r\n, x.TableName, x.ColumnName, x.UID_DialogTable, x.IsPKMember ) as y join DialogTable oc with (readpast)  on y.UID_DialogTableObjectClass = oc.UID_DialogTable\r\n join DynamicGroup dyg on y.UID_DynamicGroup = dyg.UID_DynamicGroup ) as z group by z.TableName select @ElementCount = @@ROWCOUNT declare @Vars nvarchar\r\n(max) = '\t\r\n\tdeclare @RuleOnly QBM_YParameterList\t-- Parameter1 die UID_DynamicGroup\r\n\tdeclare @ElementAndRule QBM_YParameterList\t-- Parameter1 UIDPerson(Hardware / Workdesk)\r\n\t\t\t\t\t\t\t\t\t\t\t\t-- Parameter2 die UID_DynamicGroup\r\n\r\n'\r\n declare @PostProcessing nvarchar(max) = '\t\r\n\r\n\t-- postprocessing for all\r\n\r\n\tif exists (select top 1 1\r\n\t\t\t\tfrom @ElementAndRule\r\n\t\t\t)\r\n\t begin\r\n\t\tdeclare @DBQueueElements_detail QBM_YDBQueueRaw\r\n\t\r\n\t\tinsert into @DBQueueElements_detail (Object, SubObject, GenProcID)\r\n\t\tselect distinct x.Parameter1, x.Parameter2, @GenProcid\r\n\t\tfrom @ElementAndRule x\r\n\r\n\t\tif @@ROWCOUNT < 10000\r\n\t\t begin\r\n\t\t\texec QBM_PDBQueueInsert_Bulk ''QER-K-DynamicGroupSingleBasic'', @DBQueueElements_detail\r\n\t\t end\r\n\t\telse\r\n\t\t begin\r\n\t\t\tinsert into @RuleOnly(Parameter1)\r\n\t\t\tselect distinct x.Parameter2\r\n\t\t\tfrom @ElementAndRule x\r\n\t\t end\r\n\t end\r\n\r\n\tif exists (select top 1 1\r\n\t\t\t\tfrom @RuleOnly\r\n\t\t\t)\r\n\t begin\r\n\t\tdeclare @DBQueueElements_full QBM_YDBQueueRaw\r\n\t\r\n\t\tinsert into @DBQueueElements_full (Object, SubObject, GenProcID)\r\n\t\tselect distinct x.Parameter1, null, @GenProcid\r\n\t\tfrom @RuleOnly x\r\n\r\n\t\texec QBM_PDBQueueInsert_Bulk ''QER-K-DynamicGroupTest'', @DBQueueElements_full\r\n\t end\r\n'\r\n select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @TableName = bu.TableName , @Body = bu.TriggerInsert , @Triggername =\r\n dbo.QBM_FGICodeName('TIDYG', bu.TableName ) from @Material bu where bu.ElementIndex = @ElementIndex if @Body > ' ' begin select @SQLCmd = dbo.QBM_FSQTriggerDef\r\n(@Triggername, @TableName, 'Insert' ,concat(@Body , @PostProcessing) , @Vars, 'DynamicGroup immediate for ' + @TableName + ' Insert' ) if @DebugSwitch \r\n> 0 begin print @SQLCmd end exec QBM_PSQLCreate @TriggerName, 'T', @SQLCmd, 0,0 end select top 1 @Body = bu.TriggerUpdate , @Triggername = dbo.QBM_FGICodeName\r\n('TUDYG', bu.TableName ) from @Material bu where bu.ElementIndex = @ElementIndex if @Body > ' ' begin select @SQLCmd = dbo.QBM_FSQTriggerDef(@Triggername\r\n, @TableName, 'update' ,concat(@Body , @PostProcessing) , @Vars, 'DynamicGroup immediate for ' + @TableName + ' Update' ) if @DebugSwitch > 0 begin print\r\n @SQLCmd end exec QBM_PSQLCreate @TriggerName, 'T', @SQLCmd, 0,0 end select top 1 @Body = bu.TriggerDelete , @Triggername = dbo.QBM_FGICodeName('TDDYG'\r\n, bu.TableName ) from @Material bu where bu.ElementIndex = @ElementIndex if @Body > ' ' begin select @SQLCmd = dbo.QBM_FSQTriggerDef(@Triggername, @TableName\r\n, 'delete' ,concat(@Body , @PostProcessing) , @Vars, 'DynamicGroup immediate for ' + @TableName + ' delete' ) if @DebugSwitch > 0 begin print @SQLCmd end\r\n exec QBM_PSQLCreate @TriggerName, 'T', @SQLCmd, 0,0 end select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZDynamicGroupTest",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.017",
      "ModifyDate": "2026-04-14T23:20:39.657",
      "Definition": "      create   procedure QER_ZDynamicGroupTest (@SlotNumber int , @UID_DynamicGroup varchar(38) , @SubObject varchar(38) , @GenProcID varchar(38\r\n) ) as begin declare @procnameRechneAlle nvarchar(64) declare @Erg int = 0   declare @DebugLevel char(1) = 'W' declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext\r\n('') declare @SlotNumberSource int declare @SlotNumberTarget int declare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved int BEGIN TRY  select\r\n @ProcNameRechneAlle = dbo.QER_FCVDynGuidToProcName(@uid_DynamicGroup, 'All')  if not exists (select top 1 1 from sys.procedures where name = @ProcNameRechneAlle\r\n and type = 'P' ) begin goto endLabel end  exec QBM_PSessionContextSet 'GenProcID', @GenProcID exec @erg = @ProcNameRechneAlle @SlotNumber Nachbehandlung:\r\n if @erg > 0  begin delete @DBQueueToMove  insert into @DBQueueToMove(UID_DialogDBQueue) select cul.UID_DialogDBQueue from QBMDBQueueCurrent cul  where\r\n cul.SlotNumber = @SlotNumber and cul.UID_Parameter = @UID_DynamicGroup if @@ROWCOUNT > 0 begin select @SlotNumberSource = @SlotNumber  select @SlotnumberTarget\r\n = dbo.QBM_FGIDBQueueSlotResetType('DBQueue') exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget exec QBM_PJournal\r\n '#LDS#Deferring operations {0} because Jobs are still running for this dynamic role.|DynamicGroupTest|', @@procid, 'D', @DebugLevel end end END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZDynGroupSingleBasic",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.06",
      "ModifyDate": "2026-04-14T23:20:39.71",
      "Definition": "      create   procedure QER_ZDynGroupSingleBasic (@SlotNumber int )  as begin declare @uid_dynamicGroup varchar(38) declare @ProcNameRechneDetail\r\n nvarchar(64) declare @erg int = 0  declare @GenProcID varchar(38) declare @GroupsToInspect QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex\r\n int declare @DebugSwitch int = 0 declare @DebugLevel char(1) = 'W' declare @DebugMessage nvarchar(1000) declare @DebugCounter int BEGIN TRY insert into\r\n @GroupsToInspect(UID1, UID2) select cu.UID_SubParameter as UID_DynamicGroup , max(cu.GenProcID) from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber\r\n = @SlotNumber and dbo.QBM_FGIJobCreatedExists(cu.UID_SubParameter) = 0   and not exists (Select top 1 1 from DialogDBQueue q with (nolock) where q.UID_Task\r\n = 'QER-K-DynamicGroupTest' and q.Object = cu.UID_SubParameter  and q.Generation >= 0 )  and not exists (Select top 1 1 from QBMDBQueueCurrent cu2 with\r\n (nolock) where cu2.UID_Task = 'QER-K-DynamicGroupTest' and cu2.UID_Parameter = cu.UID_SubParameter and cu2.SlotNumber <> 0  ) group by cu.UID_SubParameter\r\n select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 if @DebugSwitch > 0 begin select @DebugCounter = COUNT(*) from @GroupsToInspect select @DebugMessage\r\n = 'dyngroups ' + STR(@DebugCounter) exec QBM_PJournal @debugmessage, @@procid, 'D', @DebugLevel end while @ElementIndex <= @ElementCount begin select \r\ntop 1 @uid_dynamicGroup = bu.uid1 , @GenProcID = bu.UID2 from @GroupsToInspect bu where bu.ElementIndex = @ElementIndex if @DebugSwitch > 0 begin select\r\n @DebugCounter = COUNT(*) from QBMDBQueueCurrent with (readpast) where SlotNumber = @SlotNumber select @DebugMessage = 'Basic ' + @uid_dynamicGroup + ' personen '\r\n + STR(@DebugCounter) exec QBM_PJournal @debugmessage, @@procid, 'D', @DebugLevel end  select @ProcNameRechneDetail = dbo.QER_FCVDynGuidToProcName(@uid_DynamicGroup\r\n, 'Detail')   if exists (select top 1 1 from sys.procedures where name = @ProcNameRechneDetail and type = 'P' ) begin exec QBM_PSessionContextSet 'GENPROCID'\r\n, @GenProcID exec @erg = @ProcNameRechneDetail @SlotNumber if @erg > 0  begin  exec QBM_PDBQueueInsert_Single 'QER-K-DynamicGroupTest', @uid_dynamicGroup\r\n, '', @GenprocID end  end  select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZDynGroupSingleHardware",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.05",
      "ModifyDate": "2026-04-14T23:20:39.697",
      "Definition": "    create   procedure QER_ZDynGroupSingleHardware (@SlotNumber int)  as begin BEGIN TRY declare @DBQueueElements_01 QBM_YDBQueueRaw insert into\r\n @DBQueueElements_01(Object, SubObject, GenProcID) select cu.UID_Parameter, dg.uid_dynamicGroup , cu.GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) cross join DynamicGroup dg join DialogTable t with (readpast) on dg.UID_DialogTableObjectClass = t.UID_DialogTable where t.TableName = 'Hardware' and\r\n cu.SlotNumber = @SlotNumber   and dbo.QBM_FGIJobCreatedExists(dg.XObjectKey) = 0   and not exists (Select top 1 1 from DialogDBQueue q with (nolock) where\r\n q.UID_Task = 'QER-K-DynamicGroupTest' and q.Object = dg.UID_DynamicGroup  and q.Generation >= 0 ) exec QBM_PDBQueueInsert_Bulk 'QER-K-DynamicGroupSingleBasic'\r\n, @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZDynGroupSinglePerson",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.04",
      "ModifyDate": "2026-04-14T23:20:39.687",
      "Definition": "     create   procedure QER_ZDynGroupSinglePerson (@SlotNumber int)  as begin declare @GenProcID varchar(38) declare @CountPerson_All float declare\r\n @CountPerson_ForDyna float declare @LimitForFullGroup float = 0.001 declare @LimitAbsolute float = 100  declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN\r\n TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter\r\n, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end select @CountPerson_All\r\n = convert(float, dbo.QBM_FGITableCountAll('Person')) if @CountPerson_All = 0.0 begin select @CountPerson_All = 1.0  end select @CountPerson_ForDyna = \r\nCOUNT(*) from QBMDBQueueCurrent o with (readpast) where o.UID_Task = 'QER-K-DynamicGroupSinglePerson' and o.SlotNumber > 0 select @CountPerson_ForDyna \r\n+= COUNT(*) from @DBQueueCurrent o if @CountPerson_ForDyna / @CountPerson_All > @LimitForFullGroup and @CountPerson_ForDyna > @LimitAbsolute begin declare\r\n @DBQueueElements_02 QBM_YDBQueueRaw select top 1 @GenProcID = cu.GenProcID from @DBQueueCurrent cu insert into @DBQueueElements_02(Object, SubObject, \r\nGenProcID) select d.UID_DynamicGroup, null, @GenProcID from DynamicGroup d where d.UID_DialogTableObjectClass = 'QER-T-Person' exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-DynamicGroupTest', @DBQueueElements_02 end else begin  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01(Object, SubObject\r\n, GenProcID) select cu.UID_Parameter, dg.uid_dynamicGroup , cu.GenProcID from @DBQueueCurrent cu cross join DynamicGroup dg join DialogTable t with (readpast\r\n) on dg.UID_DialogTableObjectClass = t.UID_DialogTable where t.TableName = 'Person'   and dbo.QBM_FGIJobCreatedExists(dg.XObjectKey) = 0   and not exists\r\n (Select top 1 1 from DialogDBQueue q with (nolock) where q.UID_Task = 'QER-K-DynamicGroupTest' and q.Object = dg.UID_DynamicGroup  and q.Generation >=\r\n 0 ) exec QBM_PDBQueueInsert_Bulk 'QER-K-DynamicGroupSingleBasic', @DBQueueElements_01 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZDynGroupSingleWorkDesk",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.03",
      "ModifyDate": "2026-04-14T23:20:39.673",
      "Definition": "     create   procedure QER_ZDynGroupSingleWorkDesk (@SlotNumber int)  as begin BEGIN TRY declare @DBQueueElements_01 QBM_YDBQueueRaw insert into\r\n @DBQueueElements_01(Object, SubObject, GenProcID) select cu.UID_Parameter, dg.uid_dynamicGroup , cu.GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) cross join DynamicGroup dg join DialogTable t with (readpast) on dg.UID_DialogTableObjectClass = t.UID_DialogTable where t.TableName = 'WorkDesk' and\r\n cu.SlotNumber = @SlotNumber   and dbo.QBM_FGIJobCreatedExists(dg.XObjectKey) = 0   and not exists (Select top 1 1 from DialogDBQueue q with (nolock) where\r\n q.UID_Task = 'QER-K-DynamicGroupTest' and q.Object = dg.UID_DynamicGroup  and q.Generation >= 0 ) exec QBM_PDBQueueInsert_Bulk 'QER-K-DynamicGroupSingleBasic'\r\n, @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZEntitlementSourceMakeProc",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.53",
      "ModifyDate": "2026-04-14T23:20:40.333",
      "Definition": "   create   procedure QER_ZEntitlementSourceMakeProc (@SlotNumber int , @dummy1 varchar(38) , @Dummy2 varchar(38) , @GenProcIDDummy varchar(38) \r\n) as begin declare @DebugSwitch int = 0 declare @FunctionNameWho nvarchar(64) = 'QER_FTEntitlementSourceWho' declare @FunctionNameWhy nvarchar(64) = 'QER_FTEntitlementSourceWhy'\r\n declare @FunctionNameWhat nvarchar(64) = 'QER_FTEntitlementSourceWhat' declare @HeaderWho nvarchar(max) = concat('create or alter function dbo.' , @FunctionNameWho\r\n , '(\r\n\t\t\t\t\t\t\t\t\t\t\t@ObjectKeyToInspect varchar(138)\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\treturns @erg table (\r\n\t\t\t\t\t\tUID_Person varchar(38) collate database_default\r\n\t\t\t\t\t\t)\r\n as\r\nbegin\r\n'\r\n ) declare @SubBodyWho nvarchar(max) = '\r\n\tif @ObjectKeyToInspect like ''<Key><T>@TableName@</T>%''\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.@FunctionWhoName (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- @TableName@\r\n'\r\n declare @FooterWho nvarchar(max) = '\r\n\t--insert into @erg(uid_person)\r\n\t--select distinct UID_Person\r\n\t-- from @work\r\n endLabel:\r\n\r\n return\r\nend\r\n' declare\r\n @FunctionWhoPattern nvarchar(max) = '\r\ncreate or alter function dbo.@FunctionWhoName (@ObjectKeyToInspect varchar(138)\r\n\t\t\t\t\t\t\t\t\t)\r\nreturns table\r\n \r\nas return(\r\n\t  select distinct xx.UID_Person\r\n\t   from (\r\n@CustomerCode\r\n\t\t\t) as xx\r\n\t   where xx.ObjectKeyToInspect = @ObjectKeyToInspect\r\n)\r\n'\r\n declare @FunctionWhoName varchar(30)  declare @HeaderWhy nvarchar(max) = concat('create or alter function dbo.' , @FunctionNameWhy , '(\r\n\t\t\t\t\t\t\t\t\t\t\t@UID_Person varchar(38) \r\n\t\t\t\t\t\t\t\t\t\t\t, @ObjectKeyToInspect varchar(138)\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\treturns @erg table (\r\n\t\t\t\t\t\tObjectKeyReason1 varchar(138) collate database_default\r\n\t\t\t\t\t\t, ObjectKeyReason2 varchar(138) collate database_default\r\n\t\t\t\t\t\t)\r\n as\r\nbegin\r\n'\r\n ) declare @SubBodyWhy nvarchar(max) = '\r\n\tif @ObjectKeyToInspect like ''<Key><T>@TableName@</T>%''\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.@FunctionWhyName (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- @TableName@\r\n'\r\n declare @FooterWhy nvarchar(max) = '\r\n\t--insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t--select distinct ObjectKeyReason1, ObjectKeyReason2\r\n\t-- from @work\r\n\r\n\tEndLabel:\r\n\r\n return\r\nend\r\n'\r\n declare @FunctionWhyPattern nvarchar(max) = '\r\ncreate or alter function dbo.@FunctionWhyName (@UID_Person varchar(38)\r\n\t\t\t\t\t\t\t\t, @ObjectKeyToInspect varchar(138)\r\n\t\t\t\t\t\t\t\t\t)\r\nreturns table\r\n \r\nas return(\r\n        select xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t\tfrom (                                                                                    \r\n@CustomerCode\t\t\t\r\n\t\t\t\t\t) as xx\r\n        where (xx.UID_Person = @UID_Person\r\n                  or (xx.UID_Person is null \r\n                      )\r\n               )\r\n         and xx.ObjectKeyToInspect = @ObjectKeyToInspect\r\n)\r\n'\r\n declare @FunctionWhyName varchar(30)  declare @HeaderWhat nvarchar(max) = concat('create or alter function dbo.' , @FunctionNameWhat , '(\r\n\t\t\t\t\t\t\t\t\t\t\t@UID_Person varchar(38) \r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\treturns @erg table (\r\n\t\t\t\t\t\tObjectKeyToInspect varchar(138) collate database_default\r\n\t\t\t\t\t\t)\r\n as\r\nbegin\r\n'\r\n ) declare @SubBodyWhat nvarchar(max) = '\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.@FunctionWhatName (@UID_Person) as xx\r\n'\r\n declare @FooterWhat nvarchar(max) = '\r\n\tinsert into @erg(ObjectKeyToInspect)\r\n\tselect distinct ObjectKeyToInspect\r\n\t from @work\r\n return\r\nend\r\n' declare\r\n @FunctionWhatPattern nvarchar(max) = '\r\ncreate or alter function dbo.@FunctionWhatName (@UID_Person varchar(38)\r\n\t\t\t\t\t\t\t\t\t)\r\nreturns table\r\n \r\nas return(\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from (\r\n@CustomerCode\r\n\t\t\t) as xx\r\n\t   where xx.UID_Person = @UID_Person\r\n)\r\n'\r\n declare @FunctionWhatName varchar(30)  declare @Declares nvarchar(max) = '\r\ndeclare @work QER_YEntitlementSource\r\n' declare @KlammerAuf nvarchar(max) \r\n= '\r\nselect \r\n\txx.UID_Person as UID_Person\r\n\t, xx.ObjectKeyToInspect as ObjectKeyToInspect\r\n\t, xx.ObjectKeyReason1 as ObjectKeyReason1\r\n\t, xx.ObjectKeyReason2 as ObjectKeyReason2\r\n\tfrom (\r\n'\r\n declare @KlammerZu nvarchar(max) = '\r\n\t) as xx\r\n' declare @cmdWho nvarchar(max) = '' declare @cmdWhy nvarchar(max) = '' declare @cmdWhat nvarchar(max)\r\n = '' declare @SQLQuery nvarchar(max) declare @Ident_QEREntitlementSource nvarchar(64) declare @TableName varchar(30) declare @ElementBuffer QBM_YCursorBuffer\r\n declare @ElementCount int declare @ElementIndex int declare @FunctionDef nvarchar(max) declare @ResetMessage nvarchar(4000) BEGIN TRY insert into @ElementBuffer\r\n (ContentFull, ContentShort, Ident1, UID1) select STRING_AGG( concat(@KlammerAuf , dbo.QBM_FCVStringToIndent(s.SQLQuery, 1) , @KlammerZu )  , '\r\n\tunion all \r\n\t'\r\n ) as SQLQuery , max(s.Ident_QEREntitlementSource) as Ident_QEREntitlementSource , t.TableName , max(s.UID_QEREntitlementSource) as UID_QEREntitlementSource\r\n from QEREntitlementSource s join DialogTable t with (readpast) on t.UID_DialogTable = s.UID_DialogTable group by t.TableName select @ElementCount = @@ROWCOUNT\r\n select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @SQLQuery = bu.ContentFull , @Ident_QEREntitlementSource = bu.ContentShort\r\n , @TableName = bu.Ident1 , @FunctionWhyName = dbo.QBM_FGICodeName('FTEY', bu.UID1 ) , @FunctionWhoName = dbo.QBM_FGICodeName('FTEO', bu.UID1 ) , @FunctionWhatName\r\n = dbo.QBM_FGICodeName('FTEA', bu.UID1 ) from @ElementBuffer bu where bu.ElementIndex = @ElementIndex select @FunctionDef = replace(REPLACE(@FunctionWhyPattern\r\n , '@CustomerCode' , dbo.QBM_FCVStringToIndent(@SQLQuery, 3) ) , '@FunctionWhyName', @FunctionWhyName)   exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement\r\n = @FunctionDef , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = default , @HandleErrorSilent = 0 , @ExecuteWithTransact\r\n = 0 select @FunctionDef = replace(REPLACE(@FunctionWhoPattern , '@CustomerCode' , dbo.QBM_FCVStringToIndent(@SQLQuery, 3) ) , '@FunctionWhoName', @FunctionWhoName\r\n)   exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @FunctionDef , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = \r\ndefault , @HandleErrorSilent = 0 , @ExecuteWithTransact = 0 select @FunctionDef = replace(REPLACE(@FunctionWhatPattern , '@CustomerCode' , dbo.QBM_FCVStringToIndent\r\n(@SQLQuery, 3) ) , '@FunctionWhatName', @FunctionWhatName)   exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @FunctionDef , @LockTimeout_ms = default\r\n , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = default , @HandleErrorSilent = 0 , @ExecuteWithTransact = 0 select @cmdWho = concat(@cmdWho , \r\nreplace(replace(@SubBodyWho, '@TableName@', @TableName) , '@FunctionWhoName', @FunctionWhoName) ) select @cmdWhy = concat(@cmdWhy , replace(replace(@SubBodyWhy\r\n, '@TableName@', @TableName) , '@FunctionWhyName', @FunctionWhyName) ) select @cmdWhat = concat(@cmdWhat , replace(replace(@SubBodyWhat, '@TableName@',\r\n @TableName) , '@FunctionWhatName', @FunctionWhatName) ) select @ElementIndex += 1 end  select @cmdWho = concat(@HeaderWho ,  @cmdWho , @FooterWho) select\r\n @cmdWhy = concat(@HeaderWhy ,  @cmdWhy , @FooterWhy) select @cmdWhat = concat(@HeaderWhat , @Declares , @cmdWhat , @FooterWhat)  if @DebugSwitch > 0 begin\r\n exec sp_helptext @FunctionNameWho exec sp_helptext @FunctionNameWhy exec sp_helptext @FunctionNameWhat end BEGIN TRY   exec QBM_PExecuteSQLWithRetry_LLP\r\n @SQLStatement = @cmdWho , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = default , @HandleErrorSilent = 0 , @ExecuteWithTransact\r\n = 0   exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @cmdWhy , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = default\r\n , @HandleErrorSilent = 0 , @ExecuteWithTransact = 0   exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @cmdWhat , @LockTimeout_ms = default , @MaxWaitTimeForLock_s\r\n = default , @ProcIDForJournal = default , @HandleErrorSilent = 0 , @ExecuteWithTransact = 0 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default select\r\n @ResetMessage = ERROR_MESSAGE() if @@TRANCOUNT > 0 begin rollback end  exec QBM_PDBQueueCurrentResetNGen @SlotNumber , @ResetMessage , @@PROCID END CATCH\r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZHelperHardwareOrg",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.41",
      "ModifyDate": "2026-04-14T23:20:40.163",
      "Definition": "       create   procedure QER_ZHelperHardwareOrg (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @DebugSwitch int = 0 declare @DebugMessage nvarchar(1000) declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent\r\n(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent\r\n cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  insert into @SourceData( IsUpcommingContent, XOriginAfter\r\n , Element, AssignedElement, XOriginBefore ) select 0, 0 , hho.uid_Hardware, hho.uid_Org, 1 from @DBQueueCurrent x join HelperHardwareOrg hho on uid_Hardware\r\n = x.uid_parameter  join BaseTree b on hho.uid_org = b.uid_org where b.uid_OrgRoot like '___-V-%'  if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\Hardware\\FromDepartment'\r\n) > ' ' begin insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement ) select 1, 0, 1 , p.uid_Hardware, p.uid_Department\r\n from Hardware p join @DBQueueCurrent x on p.UID_Hardware= x.uid_parameter where p.uid_Department > ' ' end if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\Hardware\\FromLocality'\r\n) > ' ' begin insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement ) select 1, 0, 1 , p.uid_Hardware, p.uid_Locality\r\n from Hardware p join @DBQueueCurrent x on p.UID_Hardware= x.uid_parameter where p.uid_Locality > ' ' end if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\Hardware\\FromProfitCenter'\r\n) > ' ' begin insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement ) select 1, 0, 1 , p.uid_Hardware, p.uid_ProfitCenter\r\n from Hardware p join @DBQueueCurrent x on p.UID_Hardware= x.uid_parameter where p.uid_ProfitCenter > ' ' end exec QBM_PDBQueueCalculateDelta @SourceData\r\n, @DeltaQuantity = 1, @DeltaDelete = 1, @DeltaInsert = 1, @DeltaOrigin = 0, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin\r\n output , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaQantity > 0 begin exec QBM_PMNTableInsert\r\n 'HelperHardwareOrg', 'UID_Hardware', 'UID_Org' exec QBM_PMNTableDelete 'HelperHardwareOrg', 'UID_Hardware', 'UID_Org'             declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select distinct q.Element as uid\r\n, q.GenProcID from #QBMDeltaQuantity q ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AllForOneHardware', @DBQueueElements_01  end  END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZHelperHeadOrg",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.46",
      "ModifyDate": "2026-04-14T23:20:40.233",
      "Definition": "       create   procedure QER_ZHelperHeadOrg (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @DebugSwitch int = 0 declare @DBQueueCurrent QBM_YDBQueueCurrent declare @QBM_BitPatternXOrigin_Direct int = dbo.QBM_FGIBitPatternXOrigin(\r\n'|Direct|', 0) declare @QBM_BitPatternXOrigin_PWO int = dbo.QBM_FGIBitPatternXOrigin('|PWO|', 0) declare @QBM_BitPatternXOrigin_Dynamic int = dbo.QBM_FGIBitPatternXOrigin\r\n('|Dynamic|', 0)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  insert\r\n into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 0, 0 , hho.UID_PersonHead, hho.UID_Org, hho.XOrigin\r\n from @DBQueueCurrent x join HelperHeadOrg hho on hho.uid_personHead = x.uid_parameter  if @DebugSwitch > 0 begin print 'vorher' select * from @SourceData\r\n end insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement ) select 1, 0, hho.XOrigin & @QBM_BitPatternXOrigin_PWO\r\n , hho.uid_personHead, hho.uid_Org from @DBQueueCurrent x join HelperHeadOrg hho on hho.uid_personHead = x.UID_Parameter    and exists (select top 1 1 \r\nfrom personwantsorg where ObjectKeyAssignment = hho.XObjectkey) if @DebugSwitch > 0 begin print 'nachher Delegierungen' select * from @SourceData end insert\r\n into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement ) select 1, 0, @QBM_BitPatternXOrigin_Direct , b.uid_personHead\r\n, b.uid_Org from @DBQueueCurrent x join BaseTree b on x.uid_parameter = b.uid_PersonHead  join Person p on x.UID_Parameter = p.UID_Person if @DebugSwitch\r\n > 0 begin print 'nachher direkt uid_personHead' select * from @SourceData end insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter\r\n , Element, AssignedElement ) select 1, 0, @QBM_BitPatternXOrigin_Direct , b.uid_personHeadSecond, b.uid_Org from @DBQueueCurrent x join BaseTree b on \r\nx.uid_parameter = b.uid_PersonHeadSecond  join Person p on x.UID_Parameter = p.UID_Person if @DebugSwitch > 0 begin print 'nachher direkt uid_personHeadSecond'\r\n select * from @SourceData end insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement ) select 1, 0, pio.XOrigin\r\n , x.UID_Parameter as UID_Person, b.uid_Org from @DBQueueCurrent x join PersonInBaseTree pio on x.uid_parameter = pio.UID_Person join BaseTree b on b.UID_AERoleManager\r\n = pio.UID_Org if @DebugSwitch > 0 begin print 'nachher mit UID_AERoleManager' select * from @SourceData end insert into @SourceData( IsUpcommingContent\r\n, XOriginBefore, XOriginAfter , Element, AssignedElement ) select 1, 0, @QBM_BitPatternXOrigin_Dynamic , us.UID_PersonReceiver as uid_personHead, b.UID_Org\r\n from @DBQueueCurrent x join QERUniversalSubstitute us on x.UID_Parameter = us.UID_PersonReceiver join BaseTree b on us.UID_PersonSender in (b.UID_PersonHead\r\n, b.UID_PersonHeadSecond) join QERUniversalSubstituteInRoot usr on usr.UID_QERUniversalSubstitute = us.UID_QERUniversalSubstitute and b.UID_OrgRoot = usr.UID_OrgRoot\r\n where us.IsCurrentlyActive = 1 and us.UseForHeadOrg = 1 insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement\r\n ) select 1, 0, @QBM_BitPatternXOrigin_Direct , x.UID_Parameter as UID_Person, b.uid_Org from @DBQueueCurrent x join QERUniversalSubstitute us on x.UID_Parameter\r\n = us.UID_PersonReceiver join PersonInBaseTree pio on us.UID_PersonSender = pio.UID_Person join BaseTree b on b.UID_AERoleManager = pio.UID_Org join QERUniversalSubstituteInRoot\r\n usr on usr.UID_QERUniversalSubstitute = us.UID_QERUniversalSubstitute and usr.UID_OrgRoot = 'QER-V-AERole' where us.IsCurrentlyActive = 1 and us.UseForHeadOrg\r\n = 1 if @DebugSwitch > 0 begin print 'nachher mit QERUniversalSubstitute' select * from @SourceData end exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity\r\n = 0, @DeltaDelete = 0, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output\r\n , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @DebugSwitch > 0 begin print 'nach Berechnung' print '@CountDeltaQantity'\r\n + str(@CountDeltaQantity) print '@CountDeltaOrigin' + str(@CountDeltaOrigin) end if @CountDeltaOrigin > 0 begin exec QBM_PMNTableOriginUpdate 'HelperHeadOrg'\r\n, 'uid_personHead', 'UID_Org' end if @CountDeltaQantity > 0 begin if @DebugSwitch > 0 begin print 'delta quantity gefunden' select * from @SourceData end\r\n exec QBM_PMNTableInsert 'HelperHeadOrg', 'uid_personHead', 'UID_Org'   end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1\r\n) WITH NOWAIT END CATCH  endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZHelperHeadPerson",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.48",
      "ModifyDate": "2026-04-14T23:20:40.26",
      "Definition": "      create   procedure QER_ZHelperHeadPerson (@SlotNumber int) AS begin  declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @DBQueueCurrent QBM_YDBQueueCurrent declare @QBM_BitPatternXOrigin_Direct int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_PWO\r\n int = dbo.QBM_FGIBitPatternXOrigin('|PWO|', 0) declare @QBM_BitPatternXOrigin_Dynamic int = dbo.QBM_FGIBitPatternXOrigin('|Dynamic|', 0)  BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  insert into @SourceData( IsUpcommingContent\r\n, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 0, 0 , hhp.uid_personHead, hhp.uid_person, hhp.XOrigin from @DBQueueCurrent x join HelperHeadPerson\r\n hhp on hhp.uid_personHead = x.uid_parameter  insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement ) select\r\n 1, 0, hho.XOrigin & @QBM_BitPatternXOrigin_PWO , hho.uid_personHead, hho.UID_Person from @DBQueueCurrent x join HelperHeadPerson hho on hho.uid_personHead\r\n = x.UID_Parameter  insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement ) select 1, 0, @QBM_BitPatternXOrigin_Direct\r\n , b.uid_personHead, b.uid_Person from @DBQueueCurrent x join Person b on x.uid_parameter = b.uid_PersonHead  join Person p on x.UID_Parameter = p.UID_Person\r\n  where b.uid_person <> b.uid_personHead insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement ) select 1\r\n, 0, @QBM_BitPatternXOrigin_Dynamic , us.UID_PersonReceiver as uid_personHead, b.uid_Person from @DBQueueCurrent x join QERUniversalSubstitute us on x.UID_Parameter\r\n = us.UID_PersonReceiver join Person b on b.UID_PersonHead = us.UID_PersonSender where us.IsCurrentlyActive = 1 and us.UseForHeadPerson = 1   and not exists\r\n (select top 1 1 from QER_VPersonsAreMe me where me.UID_PersonOrigin = b.UID_Person and me.UID_PersonAlsoMe = us.UID_PersonReceiver ) exec QBM_PDBQueueCalculateDelta\r\n @SourceData, @DeltaQuantity = 0, @DeltaDelete = 0, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin\r\n = @CountDeltaOrigin output , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaOrigin > 0 begin exec\r\n QBM_PMNTableOriginUpdate 'HelperHeadPerson', 'uid_personHead', 'UID_Person' end if @CountDeltaQantity > 0 begin exec QBM_PMNTableInsert 'HelperHeadPerson'\r\n, 'uid_personHead', 'UID_Person' end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: return\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZHelperPersonOrg",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.423",
      "ModifyDate": "2026-04-14T23:20:40.183",
      "Definition": "      create   procedure QER_ZHelperPersonOrg (@SlotNumber int ) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select\r\n UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end  insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 0, 0 , hpo.uid_person\r\n, hpo.uid_Org, 1 from @DBQueueCurrent x join HelperPersonOrg hpo on hpo.UID_Person = x.uid_parameter  join BaseTree b on hpo.uid_org = b.uid_org where \r\nb.uid_OrgRoot like '___-V-%'  if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\Person\\FromDepartment') > ' ' begin insert into @SourceData( IsUpcommingContent\r\n, XOriginBefore, XOriginAfter , Element, AssignedElement ) select 1, 0, 1 , p.uid_person, p.uid_Department from person p join @DBQueueCurrent x on uid_person=\r\n x.uid_parameter where p.uid_Department > ' ' end if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\Person\\FromLocality') > ' ' begin insert into \r\n@SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement ) select 1, 0, 1 , p.uid_person, p.uid_Locality from person p join\r\n @DBQueueCurrent x on uid_person= x.uid_parameter where p.uid_Locality > ' ' end if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\Person\\FromProfitCenter'\r\n) > ' ' begin insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement ) select 1, 0, 1 , p.uid_person, p.uid_ProfitCenter\r\n from person p join @DBQueueCurrent x on uid_person= x.uid_parameter where p.uid_ProfitCenter > ' ' end exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity\r\n = 0, @DeltaDelete = 1, @DeltaInsert = 1, @DeltaOrigin = 0, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output\r\n , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaQantity > 0 begin exec QBM_PMNTableDelete 'HelperPersonOrg'\r\n, 'UID_Person', 'UID_Org' exec QBM_PMNTableInsert 'HelperPersonOrg', 'UID_Person', 'UID_Org' end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZHelperWorkDeskOrg",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.44",
      "ModifyDate": "2026-04-14T23:20:40.207",
      "Definition": "      create   procedure QER_ZHelperWorkDeskOrg (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select\r\n UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end  insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 0, 0 , hwo.uid_WorkDesk\r\n, hwo.uid_Org, 1 from @DBQueueCurrent x join HelperWorkDeskOrg hwo on uid_WorkDesk = x.uid_parameter  join BaseTree b on hwo.uid_org = b.uid_org where \r\nb.uid_OrgRoot like '___-V-%'  if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\WorkDesk\\FromDepartment') > ' ' begin insert into @SourceData( IsUpcommingContent\r\n, XOriginBefore, XOriginAfter , Element, AssignedElement ) select 1, 0, 1 , p.uid_WorkDesk, p.uid_Department from WorkDesk p join @DBQueueCurrent x on \r\nuid_WorkDesk= x.uid_parameter where p.uid_Department > ' ' end if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\WorkDesk\\FromLocality') > ' ' begin\r\n insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement ) select 1, 0, 1 , p.uid_WorkDesk, p.uid_Locality \r\nfrom WorkDesk p join @DBQueueCurrent x on uid_WorkDesk= x.uid_parameter where p.uid_Locality > ' ' end if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\WorkDesk\\FromProfitCenter'\r\n) > ' ' begin insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement ) select 1, 0, 1 , p.uid_WorkDesk, p.uid_ProfitCenter\r\n from WorkDesk p join @DBQueueCurrent x on uid_WorkDesk= x.uid_parameter where p.uid_ProfitCenter > ' ' end exec QBM_PDBQueueCalculateDelta @SourceData\r\n, @DeltaQuantity = 0, @DeltaDelete = 1, @DeltaInsert = 1, @DeltaOrigin = 0, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin\r\n output , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaQantity > 0 begin exec QBM_PMNTableInsert\r\n 'HelperWorkDeskOrg', 'UID_WorkDesk', 'UID_Org' exec QBM_PMNTableDelete 'HelperWorkDeskOrg', 'UID_WorkDesk', 'UID_Org' end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZITShopCheck",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.583",
      "ModifyDate": "2026-04-14T23:20:39.183",
      "Definition": "  create   procedure QER_ZITShopCheck ( @Slotnumber int , @Dummy1 varchar(38) , @Dummy2 varchar(38) , @Dummy3 varchar(38) ) AS begin  declare @GenProcID\r\n varchar(38) = null declare @CfgUseGenProcID bit = dbo.QBM_FCVStringToBit(dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\UseGenProcIDFromPWO')) BEGIN \r\nTRY  select top 1 @GenProcID = cu.GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @Slotnumber if @GenProcID is null begin select\r\n @GenProcID = NEWID() end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid)  select x.uid, null\r\n, x.GenProcID from (select pwo.UID_PersonOrdered as uid, dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, @GenProcID, @CfgUseGenProcID) as GenProcID from personwantsorg\r\n pwo where pwo.OrderState = 'GRANTED' and isnull(pwo.validFrom , '1899-12-30') < getUTCDate() and isnull(pwo.validUntil , '2200-01-01') > getUTCDate() \r\n) as x union  select x.uid, null, x.GenProcID from (select pwo.UID_PersonOrdered as uid, dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, @GenProcID, @CfgUseGenProcID\r\n) as GenProcID from personwantsorg pwo where pwo.validUntil < getUTCDate()      and pwo.OrderState in ('Assigned', 'Granted', 'OrderProlongate', 'OrderUnsubscribe'\r\n, 'Waiting') ) as x union select x.uid, null, x.GenProcID from (select pwo.UID_PersonOrdered as uid, dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, @GenProcID\r\n, @CfgUseGenProcID) as GenProcID from personwantsorg pwo where pwo.OrderState in ( 'OrderProduct') and pwo.validUntil < getUTCDate()  ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-ShoppingRackCheckValid', @DBQueueElements_01    declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject,\r\n genprocid) select x.uid, null, x.GenProcID from (select distinct pwo.UID_PersonWantsOrg as uid, dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, @GenProcID, \r\n@CfgUseGenProcID) as GenProcID from Personwantsorg pwo join PWOHelperPWO h on pwo.uid_Personwantsorg = h.uid_Personwantsorg where (h.NextReminder < getutcdate\r\n() or h.NextAutomaticDecision < getutcdate() )  and pwo.UID_QERWorkingMethod > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackCheckDecision'\r\n, @DBQueueElements_02  declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, x.GenProcID\r\n from (select pwo.UID_PersonWantsOrg as uid, dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, @GenProcID, @CfgUseGenProcID) as GenProcID from Personwantsorg pwo\r\n join QERWorkingMethod wm on pwo.UID_QERWorkingMethod = wm.UID_QERWorkingMethod where dateadd(dd, wm.DaysToAbort, pwo.OrderDate) < getutcdate() and isnull\r\n(wm.DaysToAbort, 0) > 0  and pwo.Orderstate = 'OrderProduct' union select pwo.UID_PersonWantsOrg, max(dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, @GenProcID\r\n, @CfgUseGenProcID)) as GenProcID from PersonWantsOrg pwo join PWODecisionHistory h1 on pwo.UID_PersonWantsOrg = h1.UID_PersonWantsOrg join QERWorkingMethod\r\n wm on pwo.UID_QERWorkingMethod = wm.UID_QERWorkingMethod and wm.DaysToAbort > 0 where pwo.OrderState in ( 'OrderUnsubscribe', 'OrderProlongate') and (\r\n (h1.DecisionType = 'Unsubscribe' and pwo.OrderState = 'OrderUnsubscribe' and h1.OrderState = 'OrderUnsubscribe' ) or (h1.DecisionType = 'Prolongate' and\r\n pwo.OrderState = 'OrderProlongate' and h1.OrderState = 'OrderProlongate' ) ) group by pwo.UID_PersonWantsOrg, wm.DaysToAbort having dateadd(dd, wm.DaysToAbort\r\n,isnull(MAX(h1.XDateInserted), '1899-12-30')) < GETUTCDATE()  ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackCheckDecision', @DBQueueElements_03\r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZITShopCheckDecision",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.113",
      "ModifyDate": "2026-04-14T23:20:38.587",
      "Definition": "      create   procedure QER_ZITShopCheckDecision (@SlotNumber int) as begin  declare @SQLcmd nvarchar(1000) declare @uid_personwantsorg varchar\r\n(38) declare @GenProcID varchar(38) declare @BasisObjectKey varchar(138)  declare @AbortMethod nvarchar(64) declare @UID_PWOStateFinalError varchar(38)\r\n = null declare @EscalateIfNoApprover bit declare @UID_PWOHelperPWO varchar(38) declare @UID_PersonHead varchar(38) declare @MinutesReminder int declare\r\n @MailExists int declare @ObjectkeyForMail varchar(138) declare @ObjectkeySForMail QBM_YParameterList  declare @WhereclauseForMail nvarchar(1000) declare\r\n @CurrentDecisionLevel int declare @SubLevelNumberString varchar(16) declare @UID_Task varchar(38) declare @DBQueueElements_spezial QBM_YDBQueueRaw declare\r\n @Dummystring nvarchar(100) declare @MyName nvarchar(64) = object_name(@@procid) declare @DecisionLevel int declare @XUser nvarchar(64) = object_name(@@procid\r\n) declare @Debugswitch int = 0 declare @MaxDate2200 datetime = '2200-01-01' declare @Mindate1899 datetime = '1899-12-30' declare @GenProcID_R varchar(38\r\n) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser') declare @CfgUseGenProcID bit = dbo.QBM_FCVStringToBit\r\n(dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\UseGenProcIDFromPWO')) declare @ElementLast int declare @ElementCount int declare @ElementIndex int declare\r\n @DBQueueCurrent QBM_YDBQueueCurrent declare @DaysToAbort QBM_YDBQueueCurrent declare @Helper QER_YPWOHelperReminder BEGIN TRY insert into @DBQueueCurrent\r\n(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent\r\n cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  declare @DBQueueElements_36443 QBM_YDBQueueRaw declare\r\n @Task36443 varchar(38) = 'QER-K-ITSHOPOrder-RESET' insert into @DBQueueElements_36443(Object, GenProcID) select x.UID_PersonWantsOrg, x.GenProcID from\r\n ( select pwo.UID_PersonWantsOrg, pwo.OrderState, pwo.DecisionLevel, h.SubLevelNumber , sum( case h.Decision when 'P' then 1 else 0 end ) as CountPositive\r\n , COUNT(*) as CountDecider , max(ws.CountApprover) as CountApprover   , po.DecisionPossible  , max(dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, cu.GenProcID\r\n, @CfgUseGenProcID)) as GenProcID  from @DBQueueCurrent cu join PersonWantsOrg pwo with (readpast) on cu.UID_Parameter = pwo.UID_PersonWantsOrg join PWOHelperPWO\r\n h with (readpast) on pwo.UID_PersonWantsOrg = h.UID_PersonWantsOrg and pwo.DecisionLevel = h.LevelNumber join QERWorkingStep ws on ws.UID_QERWorkingMethod\r\n = pwo.UID_QERWorkingMethod and ws.LevelNumber = pwo.DecisionLevel and ws.SubLevelNumber = h.SubLevelNumber join PWODecisionRule ru on ws.UID_PWODecisionRule\r\n = ru.UID_PWODecisionRule and ru.UID_Task is null  cross apply dbo.QER_FTPWODecisionPossible(pwo.UID_PersonWantsOrg, pwo.DecisionLevel, h.SubLevelNumber\r\n) po where pwo.OrderState in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe') group by pwo.UID_PersonWantsOrg, pwo.OrderState, pwo.DecisionLevel\r\n, h.SubLevelNumber, po.DecisionPossible ) as x where x.CountApprover = -1 and x.DecisionPossible = 0 and x.CountPositive = x.CountDecider and x.CountPositive\r\n > 0 group by x.UID_PersonWantsOrg, x.GenProcID if @@ROWCOUNT > 0 begin exec QBM_PDBQueueInsert_Bulk @Task36443, @DBQueueElements_36443 delete  @DBQueueCurrent\r\n from @DBQueueCurrent cu join @DBQueueElements_36443 el on cu.UID_Parameter = el.Object end   Declare @PWOOhneEntscheider QBM_YCursorBuffer insert into\r\n @PWOOhneEntscheider (UID1, UID2, ObjectKey1, Ident1, Bit1, Int1) select pwo.uid_personwantsorg , dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, p.GenProcID\r\n, @CfgUseGenProcID) as GenProcID , pwo.XObjectKey, case pwo.Orderstate when 'OrderProduct' then 'Abort' else 'AbortOrder' end , ws.EscalateIfNoApprover\r\n , pwo.DecisionLevel   from @DBQueueCurrent p join personwantsorg pwo with (readpast) on p.uid_parameter = pwo.uid_personwantsorg join QERWorkingStep ws\r\n on pwo.UID_QERWorkingMethod = ws.UID_QERWorkingMethod and pwo.DecisionLevel = ws.LevelNumber where not exists ( select top 1 1 from PWOHelperPWO ph with\r\n (readpast) where pwo.uid_personwantsorg = ph.uid_personwantsorg and ws.LevelNumber = ph.LevelNumber and ws.SubLevelNumber = ph.SubLevelNumber and (ws.UID_PWODecisionRule\r\n = ph.UID_PWODecisionRule or ph.UID_PWODecisionRule = 'QER-PWODecisionRule-QP' )  and ph.RulerLevel in (0, 1) )    and pwo.OrderState in ('OrderProduct'\r\n, 'OrderProlongate', 'OrderUnsubscribe')  union select pwo.uid_personwantsorg , dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, p.GenProcID, @CfgUseGenProcID\r\n) as GenProcID , pwo.XObjectKey, case pwo.Orderstate when 'OrderProduct' then 'Abort' else 'AbortOrder' end , 0  , pwo.DecisionLevel   from @DBQueueCurrent\r\n p join personwantsorg pwo with (readpast) on p.uid_parameter = pwo.uid_personwantsorg where not exists (select top 1 1 from QERWorkingStep ws where pwo.UID_QERWorkingMethod\r\n = ws.UID_QERWorkingMethod ) and pwo.UID_QERWorkingMethod > ' ' and pwo.OrderState = 'OrderProduct'  select @ElementCount = @@ROWCOUNT select @ElementIndex\r\n = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @uid_personwantsorg = bu.UID1 \r\n, @GenProcID = bu.UID2 , @BasisObjectKey = bu.ObjectKey1 , @AbortMethod = bu.Ident1 , @EscalateIfNoApprover = bu.Bit1 , @DecisionLevel = bu.Int1 from @PWOOhneEntscheider\r\n bu where bu.ElementIndex = @ElementIndex  if @EscalateIfNoApprover = 0 begin select @SQLcmd = N'uid_personwantsorg = ''' + rtrim(@uid_personwantsorg) \r\n+ N'''' select @UID_PWOStateFinalError = dbo.QER_FGIPWOStateFinalError(@UID_PersonWantsOrg) exec QBM_PJobCreate_HOCallMethod 'personwantsorg', @SQLcmd,\r\n @save = 1 , @Methodname = @AbortMethod , @GenProcID = @GenProcID  , @ObjectKeysAffected = DEFAULT , @Param1 = '#LDS#Automatic system approval: No approver available (in this shop).|'\r\n , @Param2 = @UID_PWOStateFinalError , @Retries = 3 , @checkForExisting = 1  , @WhereClauseAdditional = ' OrderState in(''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'')'\r\n  , @BasisObjectKey = @BasisObjectKey end else begin select @SQLcmd = N'uid_personwantsorg = ''' + rtrim(@uid_personwantsorg) + N''' and DecisionLevel = '\r\n + STR(@DecisionLevel) exec QBM_PJobCreate_HOCallMethod 'personwantsorg', @SQLcmd, @save = 1 , @Methodname = 'ESCALATE' , @GenProcID = @GenProcID  , @ObjectKeysAffected\r\n = DEFAULT , @Param1 = 'sa' , @Param2 = '#LDS#Automatic system approval: Decision \"escalate\" due to no approver available.|' , @Retries = 3 , @checkForExisting\r\n = 1  , @WhereClauseAdditional = ' OrderState in(''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'')'  , @BasisObjectKey = @BasisObjectKey , @isToFreezeOnError\r\n = 1 end  delete  @DBQueueCurrent from @DBQueueCurrent cu where cu.UID_Parameter = @uid_personwantsorg if @Debugswitch > 0 begin print 'Zurücksetzen 1'\r\n end select @ElementIndex += 1 end    Declare @PWOZuWenigEntscheider QBM_YCursorBuffer insert into @PWOZuWenigEntscheider (UID1, UID2, ObjectKey1, Ident1\r\n, Bit1, Int1) select distinct pwo.uid_personwantsorg , dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, p.GenProcID, @CfgUseGenProcID) as GenProcID , pwo.XObjectKey\r\n, case pwo.Orderstate when 'OrderProduct' then 'Abort' else 'AbortOrder' end , ws.EscalateIfNoApprover , pwo.DecisionLevel from @DBQueueCurrent p join \r\npersonwantsorg pwo with (readpast) on p.uid_parameter = pwo.uid_personwantsorg join QERWorkingStep ws on pwo.UID_QERWorkingMethod = ws.UID_QERWorkingMethod\r\n and pwo.decisionlevel = ws.levelnumber cross apply dbo.QER_FTPWODecisionPossible(pwo.uid_personwantsorg, ws.LevelNumber, ws.SubLevelNumber) dp where dp.DecisionPossible\r\n = -1   and pwo.OrderState in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe') select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY\r\n - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @uid_personwantsorg = bu.UID1 , @GenProcID \r\n= bu.UID2 , @BasisObjectKey = bu.ObjectKey1 , @AbortMethod = bu.Ident1 , @EscalateIfNoApprover = bu.Bit1 , @DecisionLevel = bu.Int1 from @PWOZuWenigEntscheider\r\n bu where bu.ElementIndex = @ElementIndex  if @EscalateIfNoApprover = 0 begin select @SQLcmd = N'uid_personwantsorg = ''' + rtrim(@uid_personwantsorg) \r\n+ N'''' select @UID_PWOStateFinalError = dbo.QER_FGIPWOStateFinalError(@UID_PersonWantsOrg) exec QBM_PJobCreate_HOCallMethod 'personwantsorg', @SQLcmd,\r\n @save = 1 , @Methodname = @AbortMethod , @GenProcID = @GenProcID  , @ObjectKeysAffected = DEFAULT , @Param1 = '#LDS#Automatic system approval: Not enough approvers available.|'\r\n , @Param2 = @UID_PWOStateFinalError , @Retries = 3 , @checkForExisting = 1  , @WhereClauseAdditional = ' OrderState in(''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'')'\r\n  , @BasisObjectKey = @BasisObjectKey end else begin select @SQLcmd = N'uid_personwantsorg = ''' + rtrim(@uid_personwantsorg) + N''' and DecisionLevel = '\r\n + STR(@DecisionLevel) exec QBM_PJobCreate_HOCallMethod 'personwantsorg', @SQLcmd, @save = 1 , @Methodname = 'ESCALATE' , @GenProcID = @GenProcID  , @ObjectKeysAffected\r\n = DEFAULT , @Param1 = 'sa' , @Param2 = '#LDS#Automatic system approval: Decision \"escalate\" due to not enough approvers available.|' , @Retries = 3 , \r\n@checkForExisting = 1  , @WhereClauseAdditional = ' OrderState in(''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'')'  , @BasisObjectKey = @BasisObjectKey\r\n , @isToFreezeOnError = 1 end  delete  @DBQueueCurrent from @DBQueueCurrent cu where cu.UID_Parameter = @uid_personwantsorg if @Debugswitch > 0 begin print\r\n 'Zurücksetzen 2' end select @ElementIndex += 1 end   insert into @DaysToAbort(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID from @DBQueueCurrent Declare @PWOPositiv QBM_YCursorBuffer insert into @PWOPositiv (UID1) select distinct \r\ndr.UID_Task from @DBQueueCurrent p join personwantsorg pwo with (readpast) on p.uid_parameter = pwo.uid_personwantsorg join PWOHelperPWO ph with (readpast\r\n) on pwo.uid_personwantsorg = ph.uid_personwantsorg and pwo.decisionlevel = ph.levelnumber join pwodecisionrule dr on ph.UID_PWODecisionRule = dr.UID_PWODecisionRule\r\n where dr.UID_Task > ' '   and OrderState in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe') select @ElementCount = @@ROWCOUNT select @ElementIndex\r\n = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @UID_Task = bu.UID1 from @PWOPositiv\r\n bu where bu.ElementIndex = @ElementIndex delete  @DBQueueElements_spezial insert into @DBQueueElements_spezial (object, subobject, genprocid) select x.uid\r\n, null, x.GenProcID from ( select pwo.uid_personwantsorg as uid , dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, p.GenProcID, @CfgUseGenProcID) as GenProcID\r\n from @DBQueueCurrent p join personwantsorg pwo with (readpast) on p.uid_parameter = pwo.uid_personwantsorg join PWOHelperPWO ph with (readpast) on pwo.uid_personwantsorg\r\n = ph.uid_personwantsorg and pwo.decisionlevel = ph.levelnumber join pwodecisionrule dr on ph.UID_PWODecisionRule = dr.UID_PWODecisionRule   and OrderState\r\n in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe') and dr.UID_Task = @UID_Task ) as x  delete  @DBQueueCurrent from @DBQueueCurrent cu where cu.UID_Parameter\r\n in (select object from @DBQueueElements_spezial)  delete  @DBQueueElements_spezial  from @DBQueueElements_spezial e join PersonWantsOrg pwo with (readpast\r\n) on e.Object = pwo.UID_PersonWantsOrg where @UID_Task = 'QER-K-ShoppingRackMakeDecisionEX' and (pwo.DecisionLevel > 0 or (pwo.DecisionLevel = 0 and dbo.QBM_FGIConfigparmValue\r\n('QER\\ITShop\\DecisionOnInsert') > ' ' ) )   exec QBM_PDBQueueInsert_Bulk @UID_Task, @DBQueueElements_spezial  if @Debugswitch > 0 begin print 'Zurücksetzen 3'\r\n end select @ElementIndex += 1 end   Declare @PWOZeit QBM_YCursorBuffer insert into @PWOZeit (UID1, UID2, ObjectKey1, Ident1) select distinct p.uid_parameter\r\n , dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, p.GenProcID, @CfgUseGenProcID) as GenProcID , pwo.XObjectKey, case pwo.Orderstate when 'OrderProduct' then\r\n 'Abort' else 'AbortOrder' end from personwantsorg pwo with (readpast) join @DaysToAbort p on pwo.uid_personwantsorg = p.uid_parameter join PWOHelperPWO\r\n h with (readpast) on pwo.uid_personwantsorg = h.uid_personwantsorg join QERWorkingMethod wm on pwo.UID_QERWorkingMethod = wm.UID_QERWorkingMethod left\r\n outer join  ( select h1.UID_PersonWantsOrg, MAX(h1.XDateInserted) as OrderDate from @DaysToAbort p1 join PWODecisionHistory h1 on p1.UID_Parameter = h1.UID_PersonWantsOrg\r\n where h1.DecisionType = 'Prolongate' and h1.OrderState = 'OrderProlongate' group by h1.UID_PersonWantsOrg ) as hu on pwo.uid_PersonwantsOrg = hu.uid_PersonwantsOrg\r\n  left outer join ( select h1.UID_PersonWantsOrg, MAX(h1.XDateInserted) as OrderDate from @DaysToAbort p1 join PWODecisionHistory h1 on p1.UID_Parameter\r\n = h1.UID_PersonWantsOrg where h1.DecisionType = 'Unsubscribe' and h1.OrderState = 'OrderUnsubscribe' group by h1.UID_PersonWantsOrg ) as un on pwo.uid_PersonwantsOrg\r\n = un.uid_PersonwantsOrg where dateadd(dd, wm.DaysToAbort, case pwo.Orderstate when 'OrderProduct' then pwo.OrderDate when 'OrderProlongate' then isnull\r\n(hu.OrderDate, @Mindate1899) when 'OrderUnsubscribe' then isnull(un.OrderDate, @Mindate1899) else pwo.Orderdate end ) < getutcdate() and isnull(wm.DaysToAbort\r\n, 0) > 0   and pwo.OrderState in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe')   and not exists (select top 1 1 from JobQueue q join QBMElementAffectedByJob\r\n ebj on q.UID_Job = ebj.UID_Job where q.ComponentAssembly = 'HandleObjectComponent' and q.TaskName = 'CallMethod'  and ebj.ObjectKeyAffected = pwo.XObjectKey\r\n and q.Ready2EXE like '[^DH][^I] % '  ) select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY\r\n while @ElementIndex <= @ElementLast begin select top 1 @uid_personwantsorg = bu.UID1 , @GenProcID = bu.UID2 , @BasisObjectKey = bu.ObjectKey1 , @AbortMethod\r\n = bu.Ident1 from @PWOZeit bu where bu.ElementIndex = @ElementIndex select @SQLcmd = N'uid_personwantsorg = ''' + rtrim(@uid_personwantsorg) + N'''' select\r\n @UID_PWOStateFinalError = dbo.QER_FGIPWOStateFinalError(@UID_PersonWantsOrg) exec QBM_PJobCreate_HOCallMethod 'personwantsorg', @SQLcmd, @save = 1 , @Methodname\r\n = @AbortMethod , @GenProcID = @GenProcID  , @ObjectKeysAffected = DEFAULT , @Param1 = '#LDS#Automatic system approval: Number of days has been exceeded, as specified in decision method.|'\r\n , @Param2 = @UID_PWOStateFinalError , @Retries = 3 , @checkForExisting = 1  , @WhereClauseAdditional = ' OrderState in(''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'')'\r\n  , @BasisObjectKey = @BasisObjectKey  delete  @DBQueueCurrent from @DBQueueCurrent cu where cu.UID_Parameter = @uid_personwantsorg if @Debugswitch > 0\r\n begin print 'Zurücksetzen 4' end select @ElementIndex += 1 end    select @GenProcID = null select top 1 @GenProcID = GenProcID from @DBQueueCurrent p \r\nif @GenProcID is null begin  if @Debugswitch > 0 begin print 'ausstieg 4' end goto EndLabel end exec QBM_PSessionContextSet 'GenProcID', @GenProcID exec\r\n QBM_PSessionContextSet 'XUser', @XUser  insert into @Helper(UID_HelperKey, NextReminder, NextAutomaticDecision, UID_ElementKey, UID_PersonHead, UID_QERWorkingStep\r\n, Decision, LevelNumber, UID_PWODecisionRule, XObjectKey, RulerLevel) select h.UID_PWOHelperPWO, h.NextReminder, h.NextAutomaticDecision, h.UID_PersonWantsOrg\r\n, h.UID_PersonHead, h.UID_QERWorkingStep, h.Decision, h.LevelNumber, h.UID_PWODecisionRule, h.XObjectKey, h.RulerLevel from @DBQueueCurrent cu join PWOHelperPWO\r\n h with (readpast) on cu.UID_Parameter = h.UID_PersonWantsOrg  update @Helper set NextAutomaticDecision = dbo.QER_FCVTimeToWorkTimePerson(getutcdate(),\r\n ws.MinutesAutomaticDecision, h.UID_PersonHead) , IsToUpdateNextAutomaticDec = 1 from @Helper h join @DBQueueCurrent p on h.UID_ElementKey = p.UID_Parameter\r\n join QERWorkingStep ws on h.uid_QERWorkingStep = ws.UID_QERWorkingStep join PersonWantsOrg pwo with (readpast) on h.UID_ElementKey = pwo.UID_PersonWantsOrg\r\n join PWODecisionRule r on ws.UID_PWODecisionRule = r.UID_PWODecisionRule where ws.MinutesAutomaticDecision > 0 and h.NextAutomaticDecision = @MaxDate2200\r\n and isnull(h.Decision, '') = '' and r.UID_Task is null and h.levelnumber = pwo.DecisionLevel  select top 1 @GenProcID = GenProcID from @DBQueueCurrent\r\n p exec QBM_PSessionContextSet 'GenProcID', @GenProcID exec QBM_PSessionContextSet 'XUser', @XUser update @Helper set NextAutomaticDecision = @MaxDate2200\r\n , IsToUpdateNextAutomaticDec = 1 from @Helper h join @DBQueueCurrent p on h.UID_ElementKey = p.UID_Parameter join QERWorkingStep ws on h.uid_QERWorkingStep\r\n = ws.UID_QERWorkingStep join PersonWantsOrg pwo with (readpast) on h.UID_ElementKey = pwo.UID_PersonWantsOrg join PWODecisionRule r on ws.UID_PWODecisionRule\r\n = r.UID_PWODecisionRule where h.NextAutomaticDecision < @MaxDate2200 and ( ws.MinutesAutomaticDecision = 0 or isnull(h.Decision, '') > '' or h.levelnumber\r\n <> pwo.DecisionLevel or r.UID_Task > ' ' )  Declare @PWOAutomatic QBM_YCursorBuffer insert into @PWOAutomatic (UID1, UID2, ObjectKey1, Ident1, Int1, Ident2\r\n) select distinct p.UID_Parameter , dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, p.GenProcID, @CfgUseGenProcID) as GenProcID , pwo.XObjectKey, ws.AutomaticDecision\r\n , pwo.DecisionLevel , min(dbo.QBM_FCVIntToString(hp.SubLevelNumber)) from @DBQueueCurrent p join ( select h.UID_ElementKey as uid_personwantsorg, h.uid_QERWorkingStep\r\n  from @Helper h join @DBQueueCurrent p on h.UID_ElementKey = p.uid_parameter join PersonWantsOrg pwo with (readpast) on h.UID_ElementKey = pwo.UID_PersonWantsOrg\r\n and h.levelnumber = pwo.DecisionLevel join QERWorkingStep ws on ws.UID_QERWorkingStep = h.UID_QERWorkingStep where h.NextAutomaticDecision < @MaxDate2200\r\n     and h.RulerLevel <> 2 group by h.UID_ElementKey, h.uid_QERWorkingStep having max(NextAutomaticDecision) < getutcdate() ) as x on p.uid_parameter =\r\n x.uid_personwantsorg join PersonWantsOrg pwo on p.UID_Parameter = pwo.UID_PersonWantsOrg   and pwo.OrderState in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe'\r\n) join QERWorkingStep ws on ws.uid_QERWorkingStep = x.uid_QERWorkingStep join PWOHelperPWO hp on hp.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg and hp.UID_QERWorkingStep\r\n = ws.UID_QERWorkingStep where dbo.QBM_FGIJobCreatedExists(pwo.XObjectKey) = 0  and dbo.QER_FGIPWODecisionPossible(pwo.UID_PersonWantsOrg, hp.LevelNumber\r\n, hp.SubLevelNumber) = 1 group by p.UID_Parameter , dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, p.GenProcID, @CfgUseGenProcID) , pwo.XObjectKey, ws.AutomaticDecision\r\n , pwo.DecisionLevel select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex\r\n <= @ElementLast begin select top 1 @uid_personwantsorg = bu.UID1 , @GenProcID = bu.UID2 , @BasisObjectKey = bu.ObjectKey1 , @AbortMethod = bu.Ident1 ,\r\n @DecisionLevel = bu.Int1 , @SubLevelNumberString = bu.Ident2 from @PWOAutomatic bu where bu.ElementIndex = @ElementIndex select @SQLcmd = N'uid_personwantsorg = '''\r\n + rtrim(@uid_personwantsorg) + N''' and DecisionLevel = ' + STR(@DecisionLevel) select @UID_PWOStateFinalError = dbo.QER_FGIPWOStateFinalError(@UID_PersonWantsOrg\r\n)  if @AbortMethod in ('TRUE', 'FALSE') begin exec QBM_PJobCreate_HOCallMethod 'personwantsorg', @SQLcmd, @save = 1 , @Methodname = 'MakeDecision' , @ObjectKeysAffected\r\n = DEFAULT , @GenProcID = @GenProcID  , @Param1 = 'sa'  , @Param2 = @AbortMethod , @Param3 = '#LDS#Automatic system approval: Decision due to timeout.|'\r\n  , @Param5 = @SubLevelNumberString , @Retries = 3 , @checkForExisting = 1  , @WhereClauseAdditional = ' OrderState in(''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'')'\r\n  , @BasisObjectKey = @BasisObjectKey , @isToFreezeOnError = 1 end if @AbortMethod in ('ESCALATE')  and not exists (select top 1 1 from @PWOAutomatic bu\r\n where bu.ElementIndex < @ElementIndex and bu.UID1 = @uid_personwantsorg ) begin  exec QBM_PJobCreate_HOCallMethod 'personwantsorg', @SQLcmd, @save = 1\r\n , @Methodname = 'ESCALATE' , @GenProcID = @GenProcID  , @ObjectKeysAffected = DEFAULT , @Param1 = 'sa' , @Param2 = '#LDS#Automatic system approval: Decision \"escalate\" due to timeout.|'\r\n , @Retries = 3 , @checkForExisting = 1  , @WhereClauseAdditional = ' OrderState in(''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'')'  , @BasisObjectKey\r\n = @BasisObjectKey , @isToFreezeOnError = 1 end if @AbortMethod in ('Abort')  and not exists (select top 1 1 from @PWOAutomatic bu where bu.ElementIndex\r\n < @ElementIndex and bu.UID1 = @uid_personwantsorg ) begin  if not exists (select top 1 1 from personwantsorg with (readpast) where uid_personwantsorg \r\n= @uid_personwantsorg and orderstate = 'OrderProduct' ) begin select @AbortMethod = 'AbortOrder' end exec QBM_PJobCreate_HOCallMethod 'personwantsorg',\r\n @SQLcmd, @save = 1 , @Methodname = @AbortMethod , @GenProcID = @GenProcID  , @ObjectKeysAffected = DEFAULT , @Param1 = '#LDS#Automatic system approval: \"Abort\" due to timeout.|'\r\n , @Param2 = @UID_PWOStateFinalError , @Retries = 3 , @checkForExisting = 1  , @WhereClauseAdditional = ' OrderState in (''Assigned'', ''Granted'', ''New'', ''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'', ''Waiting'')'\r\n  , @BasisObjectKey = @BasisObjectKey , @isToFreezeOnError = 1 end   delete  @DBQueueCurrent from @DBQueueCurrent cu where cu.UID_Parameter = @uid_personwantsorg\r\n if @Debugswitch > 0 begin print 'Zurücksetzen 5' end select @ElementIndex += 1 end   select @GenProcID = null select top 1 @GenProcID = GenProcID from\r\n @DBQueueCurrent p if @GenProcID is null begin  if @Debugswitch > 0 begin print 'ausstieg 5' end goto EndLabel end exec QBM_PSessionContextSet 'GenProcID'\r\n, @GenProcID exec QBM_PSessionContextSet 'XUser', @XUser update @Helper set NextReminder = dbo.QER_FCVTimeToWorkTimePerson(getutcdate(), ws.MinutesReminder\r\n, h.UID_PersonHead     ) , IsToUpdateNextReminder = 1 from @Helper h join @DBQueueCurrent p on h.UID_ElementKey = p.UID_Parameter join QERWorkingStep ws\r\n on h.uid_QERWorkingStep = ws.uid_QERWorkingStep join PersonWantsOrg pwo with (readpast)on h.UID_ElementKey = pwo.UID_PersonWantsOrg join PWODecisionRule\r\n r on h.UID_PWODecisionRule = r.UID_PWODecisionRule where ws.MinutesReminder > 0 and isnull(h.NextReminder, @MaxDate2200) = @MaxDate2200 and isnull(h.Decision\r\n, '') in ('', 'Q') and r.UID_Task is null and h.levelnumber = pwo.DecisionLevel   update @Helper set NextReminder = @MaxDate2200 , IsToUpdateNextReminder\r\n = 1 from @Helper h join @DBQueueCurrent p on h.UID_ElementKey = p.UID_Parameter join QERWorkingStep ws on h.uid_QERWorkingStep = ws.UID_QERWorkingStep\r\n join PersonWantsOrg pwo with (readpast) on h.UID_ElementKey = pwo.UID_PersonWantsOrg join pwodecisionrule r on h.UID_PWODecisionRule = r.UID_PWODecisionRule\r\n where h.NextReminder < @MaxDate2200 and ( ws.MinutesReminder = 0 or isnull(h.Decision, '') not in ( '', 'Q') or h.levelnumber <> pwo.DecisionLevel or \r\nr.UID_Task > ' ' )  update @Helper set NextReminder = @MaxDate2200 , IsToUpdateNextReminder = 1 from @Helper h join @DBQueueCurrent p on h.UID_ElementKey\r\n = p.UID_Parameter join PersonWantsOrg pwo with (readpast) on h.UID_ElementKey = pwo.UID_PersonWantsOrg where h.NextReminder < @MaxDate2200 and isnull(h.Decision\r\n, '') = '' and h.levelnumber = pwo.DecisionLevel and exists (select top 1 1 from @Helper hq where hq.UID_ElementKey = h.UID_ElementKey and hq.Decision \r\n= 'Q' and hq.LevelNumber = h.LevelNumber )  Declare @PWOSenden QBM_YCursorBuffer insert into @PWOSenden (UID1, UID2, UID3, Int1, Bit1, ObjectKey1, Int2\r\n, UID4) select h.UID_HelperKey as UID_PWOHelperPWO , dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, p.GenProcID, @CfgUseGenProcID) as GenProcID , pe.UID_Person\r\n, ws.MinutesReminder, sign(len(isnull(ws.UID_DialogRichMailReminder, ''))), h.XObjectKey , pwo.DecisionLevel , pwo.UID_PersonWantsOrg from @Helper h join\r\n @DBQueueCurrent p on h.UID_ElementKey = p.UID_Parameter join PersonWantsOrg pwo with (readpast) on h.UID_ElementKey = pwo.UID_PersonWantsOrg and h.levelnumber\r\n = pwo.DecisionLevel join Person pe with (readpast) on pe.UID_Person = h.UID_PersonHead     join QERWorkingStep ws on h.uid_QERWorkingStep = ws.uid_QERWorkingStep\r\n where h.NextReminder < getutcdate() and dbo.QBM_FGIJobCreatedExists(h.XObjectKey) = 0  and h.RulerLevel < 2 select @ElementCount = @@ROWCOUNT select @ElementIndex\r\n = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @UID_PWOHelperPWO = bu.UID1 , \r\n@GenProcID = bu.UID2 , @UID_PersonHead = bu.UID3 , @MinutesReminder = bu.Int1 , @MailExists = bu.Bit1 , @ObjectkeyForMail = bu.ObjectKey1 , @CurrentDecisionLevel\r\n = bu.Int2 , @uid_Personwantsorg = bu.UID4 from @PWOSenden bu where bu.ElementIndex = @ElementIndex exec QBM_PSessionContextSet 'GenProcID', @GenProcID\r\n exec QBM_PSessionContextSet 'XUser', @XUser update @Helper set NextReminder = dbo.QER_FCVTimeToWorkTimePerson(getutcdate(), @MinutesReminder, @UID_PersonHead\r\n) , IsToUpdateNextReminder = 1 where UID_HelperKey = @UID_PWOHelperPWO if @MailExists > 0 begin  delete  @ObjectkeySForMail  insert into @ObjectkeySForMail\r\n(Parameter1) select @ObjectkeyForMail select @WhereclauseForMail = ' exists(select top 1 1 \r\n\t\t\t\t\t\t\t\t\t\t\t\tfrom personwantsorg pwo \r\n\t\t\t\t\t\t\t\t\t\t\t\twhere pwo.uid_personwantsorg  = '''\r\n + @uid_Personwantsorg + ''' \r\n\t\t\t\t\t\t\t\t\t\t\t\tand pwo.decisionlevel = ' + str(@CurrentDecisionLevel) + ' \r\n\t\t\t\t\t\t\t\t\t\t\t\t)' exec QBM_PJobCreate_HOFireEvent_L\r\n 'PWOHelperPWO', @ObjectkeySForMail, 'Remind' , @GenProcID  , @priority = 10  , @BasisObjectKey = @ObjectkeyForMail , @CheckForExisting = 1 , @whereclauseAdditional\r\n = @WhereclauseForMail , @AdditionalObjectKeysAffected = DEFAULT end select @ElementIndex += 1 end    update PWOHelperPWO set NextReminder = case h.IsToUpdateNextReminder\r\n when 1 then h.NextReminder else t.NextReminder end , NextAutomaticDecision = case h.IsToUpdateNextAutomaticDec when 1 then h.NextAutomaticDecision else\r\n t.NextAutomaticDecision end from PWOHelperPWO t join @Helper h on t.UID_PWOHelperPWO = h.UID_HelperKey where h.IsToUpdateNextReminder = 1 or h.IsToUpdateNextAutomaticDec\r\n = 1   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH EndLabel: exec QBM_PSessionContextSet 'GenProcID'\r\n, @GenProcID_R exec QBM_PSessionContextSet 'XUser', @XUser_R return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZITShopCheckMethodBO",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:05.963",
      "ModifyDate": "2026-04-14T23:20:38.087",
      "Definition": "create   procedure QER_ZITShopCheckMethodBO (@SlotNumber int) as begin declare @XUser nvarchar(64) = object_name(@@procid) declare @Boards QBM_YCursorBuffer\r\n BEGIN TRY insert into @Boards(UID1, UID2) select UID_Parameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber \r\nif @@rowcount = 0 begin goto EndLabel end exec QER_PITShopCheckMethodBO @Boards END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18\r\n, 1) WITH NOWAIT END CATCH  endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZITShopCheckMethodPR",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:05.993",
      "ModifyDate": "2026-04-14T23:20:38.133",
      "Definition": "   create   procedure QER_ZITShopCheckMethodPR (@SlotNumber int) as begin declare @GenprocID varchar(38) declare @XUser nvarchar(64) = object_name\r\n(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @PRNodes QBM_YSingleGUID BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber\r\n = @SlotNumber if @@rowcount = 0 begin goto EndLabel end insert into @PRNodes(UID_SingleGuid) select UID_Parameter from @DBQueueCurrent cu if @@rowcount\r\n = 0 begin goto EndLabel end  update BaseTree set UID_PWODecisionMethod = m.UID_PWODecisionMethod  , XDateUpdated = GETUTCDATE() , XUserUpdated = @XUser\r\n from BaseTree b join dbo.QER_FTMethodForPRNode(@PRNodes) m on b.UID_Org = m.UID_OrgPR where isnull(m.UID_PWODecisionMethod, '') <>isnull(m.UID_PWODecisionMethod_old\r\n, '') if @@ROWCOUNT > 0 begin select @GenprocID = max(cu.GenProcID) from @DBQueueCurrent cu if @GenprocID is null begin select @GenprocID = NEWID() end\r\n exec QBM_PDBQueueInsert_Single 'QER-K-ShoppingRackPWODecisionMaker', '', '', @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZITShopCheckStructure",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:05.95",
      "ModifyDate": "2026-04-14T23:20:38.06",
      "Definition": "    create   procedure QER_ZITShopCheckStructure (@SlotNumber int) as begin  declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent\r\n(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent\r\n cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into\r\n @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select o.uid_org as uid , x.GenProcID from @DBQueueCurrent x\r\n join BaseTree o on x.uid_parameter = o.uid_org and o.ITShopInfo = 'BO' union  select x.uid_parameter , x.GenProcID from @DBQueueCurrent x where not exists\r\n (select top 1 1 from BaseTree where uid_org = x.uid_parameter ) union  select b.uid_org, x.GenProcID from @DBQueueCurrent x join BaseTree o on x.uid_parameter\r\n = o.uid_org and o.ITShopInfo = 'SH' join BaseTree b on b.uid_parentorg = o.uid_org and b.ITShopInfo = 'BO' union  select b.uid_org, x.GenProcID from @DBQueueCurrent\r\n x join BaseTree o on x.uid_parameter = o.uid_org and o.ITShopInfo = 'SC' join BaseTree s on s.uid_parentorg = o.uid_org and s.ITShopInfo = 'SH' join BaseTree\r\n b on b.uid_parentorg = s.uid_org and b.ITShopInfo = 'BO' ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackMethod', @DBQueueElements_01 declare @DBQueueElements_02\r\n QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, x.GenProcID from (  select p.uid_org as uid , x.GenProcID\r\n from @DBQueueCurrent x join BaseTree p on x.uid_parameter = p.uid_org and p.ITShopInfo = 'PR' union  select p.uid_org as uid , x.GenProcID from @DBQueueCurrent\r\n x join BaseTree o on x.uid_parameter = o.uid_org and o.ITShopInfo = 'BO' join BaseTree p on p.uid_parentorg = o.uid_org and p.ITShopInfo = 'PR' union \r\n select p.uid_org, x.GenProcID from @DBQueueCurrent x join BaseTree o on x.uid_parameter = o.uid_org and o.ITShopInfo = 'SH' join BaseTree b on b.uid_parentorg\r\n = o.uid_org and b.ITShopInfo = 'BO' join BaseTree p on p.uid_parentorg = b.uid_org and p.ITShopInfo = 'PR' union  select p.uid_org, x.GenProcID from @DBQueueCurrent\r\n x join BaseTree o on x.uid_parameter = o.uid_org and o.ITShopInfo = 'SC' join BaseTree s on s.uid_parentorg = o.uid_org and s.ITShopInfo = 'SH' join BaseTree\r\n b on b.uid_parentorg = s.uid_org and b.ITShopInfo = 'BO' join BaseTree p on p.uid_parentorg = b.uid_org and p.ITShopInfo = 'PR' ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-ShoppingRackProductNode', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZITShopCheckValid",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.49",
      "ModifyDate": "2026-04-14T23:20:39.063",
      "Definition": "    create   procedure QER_ZITShopCheckValid ( @SlotNumber int )  as begin  declare @WhereClause nvarchar(1000) declare @uid_personwantsorg varchar\r\n(38) declare @BasisObjectKey varchar(138) declare @ObjectkeyOrdered varchar(138)  declare @ObjectKeyAssignment varchar(138)  declare @UID_OrgPR varchar\r\n(38) declare @ObjectKeyToTest varchar(138)  declare @IsReusePossible bit declare @IsReusePossibleUS bit declare @IsAssignment bit declare @uid_personOrdered\r\n varchar(38) declare @uid_PWOConflicted varchar(38) declare @Existiert int declare @Orderstate nvarchar(32) declare @GenProcID varchar(38) declare @CfgUseGenProcID\r\n bit = dbo.QBM_FCVStringToBit(dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\UseGenProcIDFromPWO')) declare @ExceededValidUntilUnsubscribe bit = dbo.QBM_FCVStringToBit\r\n(dbo.QBM_FGIConfigparmValue('QER\\ITShop\\ExceededValidUntilUnsubscribe'))     declare @UID_PWOStateFinalError varchar(38) declare @ElementLast int declare\r\n @ElementCount int declare @ElementIndex int declare @PersonOrdered QBM_YParameterlist   BEGIN TRY  insert into @PersonOrdered(Parameter1, Parameter2) \r\nselect distinct cu.UID_Parameter, cu.GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber   declare @ElementGranted QBM_YCursorBuffer\r\n insert into @ElementGranted ( UID1  , UID2  , ObjectKey1  , ObjectKey2  , ObjectKey3  , Ident1 , Ident2  , Ident3  , UID3  , UID4  ) select pwo.uid_PersonWantsOrg\r\n , dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, cu.Parameter2 , @CfgUseGenProcID) as GenProcID , pwo.XObjectKey, pwo.ObjectkeyOrdered, pwo.ObjectKeyAssignment\r\n , dbo.QBM_FCVBitToString( ba.IsReusePossible) , dbo.QBM_FCVBitToString(ba.IsReusePossibleUS) , dbo.QBM_FCVBitToString(sign(len(isnull(r.UID_QERAssign,\r\n '')))) as IsAssignment , pwo.uid_PersonOrdered, pwo.uid_Org from personwantsorg pwo join @PersonOrdered cu on pwo.UID_PersonOrdered = cu.Parameter1  join\r\n BaseTreeAssign ba on dbo.QBM_FCVObjectkeyToElement('UID_DialogTable', pwo.objectkeyordered) = ba.UID_DialogTableElement left outer join QERAssign r on\r\n pwo.ObjectkeyOrdered = r.XObjectKey where pwo.OrderState = 'GRANTED'  and (ba.IsReusePossible = 1 or (ba.IsReusePossible = 0 and pwo.UID_PersonWantsOrg\r\n in ( select MAX(pw.uid_personwantsorg) as uid_personwantsorg  from PersonWantsOrg pw join @PersonOrdered cu on pwo.UID_PersonOrdered = cu.Parameter1  \r\nwhere pw.OrderState = 'GRANTED' and isnull(pw.validFrom , '1899-12-30') < getUTCDate() and isnull(pw.validUntil , '2200-01-01') > getUTCDate() group by\r\n pw.UID_Org, pw.UID_PersonOrdered ) ) )  and isnull(validFrom , '1899-12-30') < getUTCDate() and isnull(validUntil , '2200-01-01') > getUTCDate()  and \r\ndbo.QBM_FGIJobCreatedExists(pwo.XObjectKey) = 0 select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast\r\n = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @uid_personwantsorg = bu.UID1  , @GenProcID = bu.UID2  , @BasisObjectKey = bu.ObjectKey1\r\n  , @ObjectkeyOrdered = bu.ObjectKey2  , @ObjectKeyAssignment = bu.ObjectKey3  , @IsReusePossible = dbo.QBM_FCVStringToBit(bu.Ident1) , @IsReusePossibleUS\r\n = dbo.QBM_FCVStringToBit(bu.Ident2) , @IsAssignment = dbo.QBM_FCVStringToBit(bu.Ident3) , @uid_PersonOrdered = bu.UID3  , @uid_OrgPR = bu.UID4  from @ElementGranted\r\n bu where bu.ElementIndex = @ElementIndex  select @ObjectkeyToTest = '' select @Existiert = 0 select @uid_PwoConflicted = null  if @IsReusePossible = 0\r\n begin  select @ObjectkeyToTest = dbo.QBM_FCVElementToObjectKey2('PersonInITShopOrg', 'uid_Person', @uid_PersonOrdered, 'UID_ITShopOrg', @uid_OrgPR) exec\r\n @existiert = QBM_PObjectExistsInDatabase @ObjectkeyToTest  if @Existiert = 1 begin select top 1 @uid_PwoConflicted = pwo.uid_personwantsorg from personwantsorg\r\n pwo   join personInBaseTree pio on pwo.uid_org = pio.uid_org and pio.XObjectKey = @ObjectkeyToTest and pio.XOrigin > 0  where isnull(pwo.validUntil, '2200-01-01'\r\n) > getUTCDate() and pwo.UID_PersonWantsOrg <> @uid_personwantsorg  order by pwo.XDateinserted end  end  else  begin if @IsAssignment = 1 begin select \r\n@ObjectkeyToTest = @ObjectKeyAssignment exec @existiert = QBM_PObjectExistsInDatabase @ObjectkeyToTest  if @Existiert = 1 begin select top 1 @uid_PwoConflicted\r\n = pwo.uid_personwantsorg from personwantsorg pwo   where ObjectKeyAssignment = @ObjectKeyAssignment   and OrderState in ('Assigned', 'OrderProlongate'\r\n, 'OrderUnsubscribe' )  and isnull(pwo.validUntil, '2200-01-01') > getUTCDate() and pwo.UID_PersonWantsOrg <> @uid_personwantsorg  order by pwo.XDateinserted\r\n end  end  end  select @WhereClause = 'uid_personwantsorg = ''' + rtrim(@uid_personwantsorg) + N'''' if @existiert = 1 begin if @uid_PwoConflicted is null\r\n begin  select @UID_PWOStateFinalError = dbo.QER_FGIPWOStateFinalError(@UID_PersonWantsOrg) exec QBM_PJobCreate_HOCallMethod @objecttype = 'personwantsorg'\r\n , @whereclause = @WhereClause , @save = 1 , @MethodName = 'Abort' , @GenProcID = @GenprocID  , @ObjectKeysAffected = DEFAULT , @param1 = '#LDS#Request has been closed because the requested assignment already exists as direct.|'\r\n , @param2 = @UID_PWOStateFinalError , @Retries = 3 , @isToFreezeOnError = 1 , @BasisObjectKey = @BasisObjectKey , @checkForExisting = 1  , @WhereClauseAdditional\r\n = ' OrderState in (''Assigned'', ''Granted'', ''New'', ''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'', ''Waiting'')'  end else begin exec\r\n QBM_PJobCreate_HOCallMethod @objecttype = 'personwantsorg' , @whereclause = @WhereClause , @save = 1 , @MethodName = 'Waiting' , @GenProcID = @GenprocID\r\n  , @ObjectKeysAffected = DEFAULT , @param1 = @uid_PwoConflicted , @param2 = '#LDS#Automatic system approval: Other similar requests have been enabled.|'\r\n , @Retries = 3 , @isToFreezeOnError = 1 , @BasisObjectKey = @BasisObjectKey , @checkForExisting = 1  , @WhereClauseAdditional = ' OrderState in (''Assigned'', ''Granted'', ''New'', ''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'', ''Waiting'')'\r\n  end end else begin exec QBM_PJobCreate_HOCallMethod @objecttype = 'personwantsorg' , @whereclause = @WhereClause , @save = 1 , @MethodName = 'Assign'\r\n , @GenProcID = @GenprocID  , @ObjectKeysAffected = DEFAULT , @param1 = '#LDS#Automatic system approval: ValidFrom time was reached.|' , @Retries = 3 ,\r\n @isToFreezeOnError = 1 , @BasisObjectKey = @BasisObjectKey , @checkForExisting = 1  , @WhereClauseAdditional = ' OrderState in (''Assigned'', ''Granted'', ''New'', ''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'', ''Waiting'')'\r\n  end select @ElementIndex += 1 end   declare @ElementZuAlt QBM_YCursorBuffer insert into @ElementZuAlt (UID1  , UID2  , ObjectKey1  , ObjectKey2  , ObjectKey3\r\n  , UID3  , UID4  , Ident1  ) select pwo.uid_PersonWantsOrg , dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, cu.Parameter2 , @CfgUseGenProcID) as GenProcID \r\n, pwo.XObjectKey, pwo.ObjectkeyOrdered, pwo.ObjectKeyAssignment , pwo.uid_PersonOrdered, pwo.uid_Org, pwo.Orderstate from personwantsorg pwo join @PersonOrdered\r\n cu on pwo.UID_PersonOrdered = cu.Parameter1  where pwo.validUntil < getUTCDate()      and pwo.OrderState in ('Assigned', 'Granted', 'OrderProlongate',\r\n 'OrderUnsubscribe', 'Waiting')  and dbo.QBM_FGIJobCreatedExists(pwo.XObjectKey) = 0 select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY\r\n - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @uid_personwantsorg = bu.UID1  , @GenProcID\r\n = bu.UID2  , @BasisObjectKey = bu.ObjectKey1  , @ObjectkeyOrdered = bu.ObjectKey2  , @ObjectKeyAssignment = bu.ObjectKey3  , @uid_PersonOrdered = bu.UID3\r\n  , @uid_OrgPR = bu.UID4  , @Orderstate = bu.Ident1  from @ElementZuAlt bu where bu.ElementIndex = @ElementIndex  select @IsAssignment = 0 if exists (select\r\n top 1 1 from QERAssign r where r.XObjectKey = @ObjectkeyOrdered ) begin select @IsAssignment = 1 end select top 1 @IsReusePossible = ba.IsReusePossible\r\n , @IsReusePossibleUS = ba.IsReusePossibleUS from personwantsorg pwo   join BaseTreeAssign ba on dbo.QBM_FCVObjectkeyToElement('UID_DialogTable', pwo.objectkeyordered\r\n) = ba.UID_DialogTableElement where pwo.uid_personwantsorg = @uid_personwantsorg   select @uid_PwoConflicted = null   if @OrderState in ('Assigned', 'OrderProlongate'\r\n, 'OrderUnsubscribe' ) begin  if @IsReusePossible = 0 begin select top 1 @uid_PwoConflicted = pwo.uid_personwantsorg from personwantsorg pwo   where orderstate\r\n = 'waiting' and uid_personOrdered = @uid_personOrdered and uid_Org = @uid_OrgPR  and isnull(pwo.validUntil, '2200-01-01') > getUTCDate() and pwo.UID_PersonWantsOrg\r\n <> @uid_personwantsorg  order by pwo.XDateinserted end  else begin  if @IsAssignment = 1 begin select top 1 @uid_PwoConflicted = pwo.uid_personwantsorg\r\n from personwantsorg pwo   where orderstate = 'waiting' and ObjectKeyAssignment = @ObjectKeyAssignment  and isnull(pwo.validUntil, '2200-01-01') > getUTCDate\r\n() and pwo.UID_PersonWantsOrg <> @uid_personwantsorg  order by pwo.XDateinserted end  end  end  select @WhereClause = N'uid_personwantsorg = ''' + rtrim\r\n(@uid_personwantsorg) + N'''' if @uid_PwoConflicted is null begin  select @UID_PWOStateFinalError = dbo.QER_FGIPWOStateFinalError(@UID_PersonWantsOrg) \r\n if @ExceededValidUntilUnsubscribe = 0 or (@ExceededValidUntilUnsubscribe = 1 and @Orderstate in( 'Waiting', 'Granted') ) begin exec QBM_PJobCreate_HOCallMethod\r\n @objecttype = 'personwantsorg' , @whereclause = @WhereClause , @save = 1 , @MethodName = 'Abort' , @GenProcID = @GenprocID , @ObjectKeysAffected = DEFAULT\r\n , @param1 = '#LDS#Automatic system approval: ValidUntil time period exceeded.|' , @param2 = @UID_PWOStateFinalError , @Retries = 3 , @isToFreezeOnError\r\n = 1 , @BasisObjectKey = @BasisObjectKey , @checkForExisting = 1  , @WhereClauseAdditional = ' OrderState in (''Assigned'', ''Granted'', ''New'', ''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'', ''Waiting'')'\r\n  end if @ExceededValidUntilUnsubscribe = 1 and @Orderstate in ('Assigned', 'OrderProlongate')  begin exec QBM_PJobCreate_HOCallMethod @objecttype = 'personwantsorg'\r\n , @whereclause = @WhereClause , @save = 1 , @MethodName = 'Unsubscribe' , @GenProcID = @GenprocID , @ObjectKeysAffected = DEFAULT , @param1 = 'sa'  , \r\n@param2 = '#LDS#Automatic system approval: ValidUntil time period exceeded.|'  , @param3 = 'QER-VALIDUNTIL-EXCEEDED'  , @Retries = 3 , @isToFreezeOnError\r\n = 1 , @BasisObjectKey = @BasisObjectKey , @checkForExisting = 1 , @WhereClauseAdditional = ' OrderState in (''Assigned'', ''OrderProlongate'')' end end\r\n else begin exec QBM_PJobCreate_HOCallMethod @objecttype = 'personwantsorg' , @whereclause = @WhereClause , @save = 1 , @MethodName = 'Replace' , @GenProcID\r\n = @GenprocID , @ObjectKeysAffected = DEFAULT , @param1 = @uid_PwoConflicted , @param2 = '#LDS#Automatic system approval: ValidUntil time period exceeded for the replaced order.|'\r\n , @Retries = 3 , @isToFreezeOnError = 1 , @BasisObjectKey = @BasisObjectKey , @checkForExisting = 1  , @WhereClauseAdditional = ' OrderState in (''Assigned'', ''Granted'', ''New'', ''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'', ''Waiting'')'\r\n  end select @ElementIndex += 1 end   declare @ElementVorbei QBM_YCursorBuffer insert into @ElementVorbei (UID1, UID2, ObjectKey1) select pwo.uid_PersonWantsOrg\r\n , dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, cu.Parameter2 , @CfgUseGenProcID) as GenProcID , pwo.XObjectKey from personwantsorg pwo join @PersonOrdered\r\n cu on pwo.UID_PersonOrdered = cu.Parameter1  where pwo.OrderState in ( 'OrderProduct') and pwo.validUntil < getUTCDate()  and dbo.QBM_FGIJobCreatedExists\r\n(pwo.XObjectKey) = 0 select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex\r\n <= @ElementLast begin select top 1 @uid_personwantsorg = bu.UID1 , @GenProcID = bu.UID2 , @BasisObjectKey = bu.ObjectKey1 from @ElementVorbei bu where\r\n bu.ElementIndex = @ElementIndex  select @WhereClause = 'uid_personwantsorg = ''' + rtrim(@uid_personwantsorg) + N''''  select @UID_PWOStateFinalError \r\n= dbo.QER_FGIPWOStateFinalError(@UID_PersonWantsOrg) exec QBM_PJobCreate_HOCallMethod @objecttype = 'personwantsorg' , @whereclause = @WhereClause , @save\r\n = 1 , @MethodName = 'Abort' , @GenProcID = @GenprocID , @ObjectKeysAffected = DEFAULT , @param1 = '#LDS#Automatic system approval: ValidUntil time period exceeded.|'\r\n , @param2 = @UID_PWOStateFinalError , @Retries = 3 , @isToFreezeOnError = 1 , @BasisObjectKey = @BasisObjectKey , @checkForExisting = 1  , @WhereClauseAdditional\r\n = ' OrderState in (''Assigned'', ''Granted'', ''New'', ''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'', ''Waiting'')'  select @ElementIndex\r\n += 1 end   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZITShopCheckWaiting",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.507",
      "ModifyDate": "2026-04-14T23:20:39.083",
      "Definition": "    create   procedure QER_ZITShopCheckWaiting (@SlotNumber int) as begin  declare @WhereClause nvarchar(1000) declare @uid_personwantsorg varchar\r\n(38) declare @GenProcID varchar(38) declare @CfgUseGenProcID bit = dbo.QBM_FCVStringToBit(dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\UseGenProcIDFromPWO'\r\n)) declare @BasisObjectKey varchar(138) declare @ObjectkeyOrdered varchar(138)  declare @ObjectKeyAssignment varchar(138)  declare @UID_OrgPR varchar(38\r\n) declare @ObjectKeyToTest varchar(138)  declare @IsReusePossible bit declare @IsAssignment bit declare @uid_personOrdered varchar(38) declare @uid_PwoToActivate\r\n varchar(38) declare @Existiert int declare @Orderstate nvarchar(32) declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex\r\n int declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select\r\n UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end  insert into @ElementBuffer ( UID1  , UID2  , ObjectKey1  , ObjectKey2  , ObjectKey3  , Bit1  , Ident1  , UID3  , UID4  ) \r\nselect pwo.uid_PersonWantsOrg ,   dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, p.GenProcID, @CfgUseGenProcID) as GenProcID , pwo.XObjectKey, pwo.ObjectkeyOrdered\r\n, pwo.ObjectKeyAssignment , ba.IsReusePossible , dbo.QBM_FCVBitToString( SIGN(LEN(ISNULL(r.uid_QERAssign, '')))) as IsAssignment , pwo.uid_PersonOrdered\r\n, pwo.uid_Org from @DBQueueCurrent p join personwantsorg pwo on p.uid_Parameter = pwo.uid_Personwantsorg join BaseTree pr on pwo.uid_org = pr.uid_org join\r\n BaseTreeAssign ba on dbo.QBM_FCVObjectkeyToElement('UID_DialogTable', pwo.ObjectkeyOrdered) = ba.UID_DialogTableElement   join ( select MAX(pw.uid_personwantsorg\r\n) as uid_personwantsorg  from @DBQueueCurrent p join PersonWantsOrg pw on p.UID_Parameter = pw.UID_PersonWantsOrg   where pw.OrderState in ('Aborted', \r\n'Dismissed', 'Unsubscribed' ) group by pw.UID_Org, pw.UID_PersonOrdered ) as z on z.uid_personwantsorg = pwo.UID_PersonWantsOrg  left outer join QERAssign\r\n r on pwo.ObjectkeyOrdered = r.XObjectKey   where pwo.OrderState in ('Aborted', 'Dismissed', 'Unsubscribed' ) and ba.IsReusePossible = 0 union select pwo.uid_PersonWantsOrg\r\n ,  dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, p.GenProcID, @CfgUseGenProcID) as GenProcID , pwo.XObjectKey, pwo.ObjectkeyOrdered, pwo.ObjectKeyAssignment\r\n , ba.IsReusePossible , sign(len(isnull(r.uid_qerassign, ''))) , pwo.uid_PersonOrdered, pwo.uid_Org from @DBQueueCurrent p join personwantsorg pwo on p.uid_Parameter\r\n = pwo.uid_Personwantsorg join BaseTree pr on pwo.uid_org = pr.uid_org join BaseTreeAssign ba on dbo.QBM_FCVObjectkeyToElement('UID_DialogTable', pwo.ObjectkeyOrdered\r\n) = ba.UID_DialogTableElement  left outer join QERAssign r on pwo.ObjectkeyOrdered = r.XObjectKey   where pwo.OrderState in ('Aborted', 'Dismissed', 'Unsubscribed'\r\n ) and ba.IsReusePossible = 1   select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @uid_personwantsorg\r\n = bu.UID1 , @GenProcID = bu.UID2 , @BasisObjectKey = bu.ObjectKey1 , @ObjectkeyOrdered = bu.ObjectKey2 , @ObjectKeyAssignment = ObjectKey3 , @IsReusePossible\r\n = bu.Bit1 , @IsAssignment = dbo.QBM_FCVStringToBit(bu.Ident1) , @uid_PersonOrdered = bu.UID3  , @uid_OrgPR = bu.UID4 from @ElementBuffer bu where bu.ElementIndex\r\n = @ElementIndex  select @uid_PwoToActivate = null  if @IsReusePossible = 0 begin  select @ObjectkeyToTest = dbo.QBM_FCVElementToObjectKey2('PersonInITShopOrg'\r\n, 'uid_Person', @uid_PersonOrdered, 'UID_ITShopOrg', @uid_OrgPR) exec @existiert = QBM_PObjectExistsInDatabase @ObjectkeyToTest  if @Existiert = 0 begin\r\n select top 1 @uid_PwoToActivate = pwo.uid_personwantsorg, @BasisObjectKey = pwo.XObjectKey from personwantsorg pwo where pwo.uid_personordered = @uid_personordered\r\n and pwo.ObjectkeyOrdered = @ObjectkeyOrdered and orderstate = 'Waiting'  and isnull(pwo.validUntil, '2200-01-01') > getUTCDate() and pwo.UID_PersonWantsOrg\r\n <> @uid_personwantsorg  and dbo.QBM_FGIJobCreatedExists(pwo.XObjectKey) = 0         order by pwo.XDateinserted end  end  else  begin if @IsAssignment \r\n= 1 begin select @ObjectkeyToTest = @ObjectKeyAssignment exec @existiert = QBM_PObjectExistsInDatabase @ObjectkeyToTest  if @Existiert = 0 begin select\r\n top 1 @uid_PwoToActivate = pwo.uid_personwantsorg, @BasisObjectKey = pwo.XObjectKey from personwantsorg pwo where ObjectKeyAssignment = @ObjectKeyAssignment\r\n and Orderstate = 'Waiting'  and isnull(pwo.validUntil, '2200-01-01') > getUTCDate() and pwo.UID_PersonWantsOrg <> @uid_personwantsorg  and dbo.QBM_FGIJobCreatedExists\r\n(pwo.XObjectKey) = 0         order by pwo.XDateinserted end  end  end  if @uid_PwoToActivate is not null begin select @WhereClause = 'uid_personwantsorg = '''\r\n + rtrim(@uid_PwoToActivate) + N'''' exec QBM_PJobCreate_HOCallMethod @objecttype = 'personwantsorg' , @whereclause = @WhereClause , @save = 1 , @MethodName\r\n = 'Assign' , @GenProcID = @GenprocID  , @ObjectKeysAffected = DEFAULT , @param1 = '#LDS#Automatic system approval: Other similar requests have been disabled.|'\r\n , @Retries = 3 , @isToFreezeOnError = 1 , @BasisObjectKey = @BasisObjectKey , @checkForExisting = 1  , @WhereClauseAdditional = ' OrderState in (''Assigned'', ''Granted'', ''New'', ''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'', ''Waiting'')'\r\n  end select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return\r\n end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZITShopDecisionMakerFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.24",
      "ModifyDate": "2026-04-14T23:20:38.747",
      "Definition": "       create   procedure QER_ZITShopDecisionMakerFill (@SlotNumberDummy int , @dummy1 varchar(38) , @dummy2 varchar(38) , @GenProcIDDummy varchar\r\n(38) ) as begin   declare @AfterAlle QBM_YDBQueueRaw  declare @AfterKomplett QBM_YSingleGUID  declare @alleRegeln QBM_YSingleGUID  declare @SQLTest nvarchar\r\n(max) = '' declare @GenProcID varchar(38) = newid() declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @DebugSwitch int = 0 BEGIN\r\n TRY insert into @alleRegeln(UID_SingleGuid ) select s.uid_PWODecisionRule from BaseTree b join pwodecisionmethod m on b.uid_pwoDecisionMethod = m.uid_pwodecisionMethod\r\n join pwodecisionstep s on m.UID_SubMethodOrderProduct = s.UID_PWODecisionSubMethod union select s.uid_PWODecisionRule from BaseTree b join pwodecisionmethod\r\n m on b.uid_pwoDecisionMethod = m.uid_pwodecisionMethod join pwodecisionstep s on m.UID_SubMethodOrderUnsubscribe = s.UID_PWODecisionSubMethod union select\r\n s.uid_PWODecisionRule from BaseTree b join pwodecisionmethod m on b.uid_pwoDecisionMethod = m.uid_pwodecisionMethod join pwodecisionstep s on m.UID_SubMethodOrderProlongate\r\n = s.UID_PWODecisionSubMethod insert into @AfterAlle (Object ) select pio.UID_Person from PWODecisionStep s join BaseTree b on s.ObjectKeyOfAssignedOrg\r\n = b.XObjectKey join PersonInBaseTree pio on b.UID_Org = pio.UID_Org and pio.XOrigin > 0 where s.usagearea = 'I'   select @SQLTest = string_agg( concat\r\n(convert(nvarchar(max), N''), 'select uid_person \r\n\t\t\tfrom dbo.' , rtrim(o.name) , '(null, null)' )  , '\r\n\t\tunion\r\n\t\t' )  from sys.objects o where o.name\r\n in (select dbo.QER_FCVRuleGUIDToFunctionName(r.UID_PWODecisionRule) from PWODecisionRule r where r.usagearea = 'I' ) and Not exists (select top 1 1 from\r\n sys.sql_modules m where m.object_id = o.object_id and ( charindex('@uid_PersonWantsOrg', left(m.definition, 8000)) > 0  or charindex('@UID_QERWorkingStep'\r\n, left(m.definition, 8000)) > 0 ) ) if @DebugSwitch > 0 begin print @SQLTest end  insert into @AfterAlle (Object ) exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement\r\n = @SQLTest , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = 4.0 , @ProcIDForJournal = @@PROCID , @HandleErrorSilent = 0   if exists (select top 1\r\n 1 from @alleRegeln s where s.UID_SingleGuid  = 'QER-PWODecisionRule-D0') begin insert into @AfterAlle (Object ) select hho.uid_personHead from BaseTree\r\n bo join helperheadOrg hho on BO.UID_OrgDepartment = hho.uid_org and hho.XOrigin > 0 and bo.ITShopInfo = 'BO' and bo.uid_OrgRoot = 'QER-V-ITShopOrg' end\r\n if exists (select top 1 1 from @alleRegeln s where s.UID_SingleGuid  = 'QER-PWODecisionRule-D1') begin insert into @AfterAlle (Object ) select distinct\r\n hho.uid_personHead from BaseTree bo join helperHeadOrg hho on BO.UID_OrgDepartment = hho.uid_org and hho.XOrigin > 0 and bo.ITShopInfo = 'SH' and bo.uid_OrgRoot\r\n = 'QER-V-ITShopOrg' end if exists (select top 1 1 from @alleRegeln s where s.UID_SingleGuid  = 'QER-PWODecisionRule-D2') begin insert into @AfterAlle \r\n(Object ) select distinct hho.uid_personHead from BaseTree bo join helperHeadOrg hho on BO.UID_OrgDepartment = hho.uid_org and hho.XOrigin > 0 and bo.ITShopInfo\r\n = 'SC' and bo.uid_OrgRoot = 'QER-V-ITShopOrg' end if exists (select top 1 1 from @alleRegeln s where s.UID_SingleGuid  = 'QER-PWODecisionRule-P0') begin\r\n insert into @AfterAlle (Object ) select distinct hho.uid_personHead from BaseTree bo join helperHeadOrg hho on BO.UID_OrgProfitCenter = hho.uid_org and\r\n hho.XOrigin > 0 and bo.ITShopInfo = 'BO' and bo.uid_OrgRoot = 'QER-V-ITShopOrg' end if exists (select top 1 1 from @alleRegeln s where s.UID_SingleGuid\r\n  = 'QER-PWODecisionRule-P1') begin insert into @AfterAlle (Object ) select distinct hho.uid_personHead from BaseTree bo join helperHeadOrg hho on BO.UID_OrgProfitCenter\r\n = hho.uid_org and hho.XOrigin > 0 and bo.ITShopInfo = 'SH' and bo.uid_OrgRoot = 'QER-V-ITShopOrg' end if exists (select top 1 1 from @alleRegeln s where\r\n s.UID_SingleGuid  = 'QER-PWODecisionRule-P2') begin insert into @AfterAlle (Object ) select distinct hho.uid_personHead from BaseTree bo join helperHeadOrg\r\n hho on BO.UID_OrgProfitCenter = hho.uid_org and hho.XOrigin > 0 and bo.ITShopInfo = 'SC' and bo.uid_OrgRoot = 'QER-V-ITShopOrg' end if exists (select \r\ntop 1 1 from @alleRegeln s where s.UID_SingleGuid  = 'QER-PWODecisionRule-H0') begin insert into @AfterAlle (Object ) select distinct hho.uid_PersonHead\r\n from BaseTree b join helperHeadOrg hho on b.uid_Org = hho.uid_org and hho.XOrigin > 0 where b.ITShopInfo = 'BO' and b.uid_OrgRoot = 'QER-V-ITShopOrg' \r\nend if exists (select top 1 1 from @alleRegeln s where s.UID_SingleGuid  = 'QER-PWODecisionRule-H1') begin insert into @AfterAlle (Object ) select distinct\r\n hho.uid_PersonHead from BaseTree b join helperHeadOrg hho on b.uid_Org = hho.uid_org and hho.XOrigin > 0 where b.ITShopInfo = 'SH' and b.uid_OrgRoot =\r\n 'QER-V-ITShopOrg' end if exists (select top 1 1 from @alleRegeln s where s.UID_SingleGuid  = 'QER-PWODecisionRule-H2') begin insert into @AfterAlle (Object\r\n ) select distinct hho.uid_PersonHead from BaseTree b join helperHeadOrg hho on b.uid_org = hho.uid_org and hho.XOrigin > 0 where b.ITShopInfo = 'SC' and\r\n b.uid_OrgRoot = 'QER-V-ITShopOrg' end if exists (select top 1 1 from @alleRegeln s where s.UID_SingleGuid  = 'QER-PWODecisionRule-DM') begin insert into\r\n @AfterAlle (Object ) select distinct hho.uid_personHead from BaseTree  d join helperHeadOrg hho on d.uid_org = hho.uid_Org and hho.XOrigin > 0 and d.uid_orgroot\r\n = 'QER-V-Department' end if exists (select top 1 1 from @alleRegeln s where s.UID_SingleGuid  = 'QER-PWODecisionRule-PM') begin insert into @AfterAlle\r\n (Object ) select distinct hho.uid_personHead from ProfitCenter p join helperHeadOrg hho on p.uid_ProfitCenter = hho.uid_org and hho.XOrigin > 0 end if\r\n exists (select top 1 1 from @alleRegeln s where s.UID_SingleGuid  = 'QER-PWODecisionRule-CM') begin insert into @AfterAlle (Object ) select distinct uid_personHead\r\n from helperHeadPerson where XOrigin > 0 end if exists (select top 1 1 from @alleRegeln s where s.UID_SingleGuid  = 'QER-PWODecisionRule-PP') begin insert\r\n into @AfterAlle (Object ) select distinct hho.uid_personHead from BaseTree  pr join helperHeadOrg hho on pr.UID_Org = hho.uid_org and hho.XOrigin > 0 \r\nand pr.UID_OrgRoot = 'QER-V-ProfitCenter' end if exists (select top 1 1 from @alleRegeln s where s.UID_SingleGuid  = 'QER-PWODecisionRule-DP') begin insert\r\n into @AfterAlle (Object ) select distinct hho.uid_personHead from BaseTree  pr join helperHeadOrg hho on pr.UID_Org = hho.uid_org and hho.XOrigin > 0 \r\nand pr.uid_orgroot = 'QER-V-Department' end if exists (select top 1 1 from @alleRegeln s where s.UID_SingleGuid  in( 'QER-PWODecisionRule-PR', 'QER-PWODecisionRule-RP'\r\n)) begin insert into @AfterAlle (Object ) select distinct pib.uid_person from BaseTree  pr join personinBaseTree pib on pr.UID_RulerContainer = pib.uid_org\r\n and pr.UID_OrgRoot = 'QER-V-ProfitCenter' and pib.XOrigin > 0 end if exists (select top 1 1 from @alleRegeln s where s.UID_SingleGuid  in( 'QER-PWODecisionRule-PI'\r\n, 'QER-PWODecisionRule-IP')) begin insert into @AfterAlle (Object ) select distinct pib.uid_person from BaseTree  pr join personinBaseTree pib on pr.UID_RulerContainerIT\r\n = pib.uid_org and pr.UID_OrgRoot = 'QER-V-ProfitCenter' and pib.XOrigin > 0 end if exists (select top 1 1 from @alleRegeln s where s.UID_SingleGuid  in\r\n( 'QER-PWODecisionRule-DR', 'QER-PWODecisionRule-RD')) begin insert into @AfterAlle (Object ) select distinct pib.uid_person from BaseTree  pr join personinBaseTree\r\n pib on pr.UID_RulerContainer = pib.uid_org and pr.uid_orgroot = 'QER-V-Department' and pib.XOrigin > 0 end if exists (select top 1 1 from @alleRegeln \r\ns where s.UID_SingleGuid  in( 'QER-PWODecisionRule-DI', 'QER-PWODecisionRule-ID')) begin insert into @AfterAlle (Object ) select distinct pib.uid_person\r\n from BaseTree  pr join personinBaseTree pib on pr.UID_RulerContainerIT = pib.uid_org and pr.uid_orgroot = 'QER-V-Department' and pib.XOrigin > 0 end if\r\n exists (select top 1 1 from @alleRegeln s where s.UID_SingleGuid  = 'QER-PWODecisionRule-IL') begin insert into @AfterAlle (Object ) select distinct pib.uid_person\r\n from BaseTree  pr join personinBaseTree pib on pr.UID_RulerContainerIT = pib.uid_org and pr.UID_OrgRoot = 'QER-V-Locality' and pib.XOrigin > 0 end if \r\nexists (select top 1 1 from @alleRegeln s where s.UID_SingleGuid  = 'QER-PWODecisionRule-RL') begin insert into @AfterAlle (Object ) select distinct pib.uid_person\r\n from BaseTree  pr join personinBaseTree pib on pr.UID_RulerContainer = pib.uid_org and pr.UID_OrgRoot = 'QER-V-Locality' and pib.XOrigin > 0 end if exists\r\n (select top 1 1 from @alleRegeln s where s.UID_SingleGuid  = 'RMB-PWODecisionRule-IO') begin insert into @AfterAlle (Object ) select distinct pib.uid_person\r\n from BaseTree  pr join personinBaseTree pib on pr.UID_RulerContainerIT = pib.uid_org and pr.UID_OrgRoot like '____[^V]%' and pib.XOrigin > 0 end if exists\r\n (select top 1 1 from @alleRegeln s where s.UID_SingleGuid  = 'RMB-PWODecisionRule-RO') begin insert into @AfterAlle (Object ) select distinct pib.uid_person\r\n from BaseTree  pr join personinBaseTree pib on pr.UID_RulerContainer = pib.uid_org and pr.UID_OrgRoot like '____[^V]%' and pib.XOrigin > 0 end if exists\r\n (select top 1 1 from @alleRegeln s where s.UID_SingleGuid  = 'QER-PWODecisionRule-OA') begin insert into @AfterAlle (Object ) select pio.uid_person from\r\n personinBaseTree pio join accproduct a on pio.uid_org = a.uid_orgruler and pio.XOrigin > 0  group by pio.uid_person  end      if exists (select top 1 \r\n1 from @alleRegeln s where s.UID_SingleGuid  in( 'CPL-PWODecisionRule-OC', 'CPL-PWODecisionRule-OH')) begin insert into @AfterAlle (Object ) select distinct\r\n pio.uid_person from personinBaseTree pio join compliancerule cr on cr.uid_orgruler = pio.uid_org and pio.XOrigin > 0 where cr.isinactive=0 and cr.isexceptionallowed=1\r\n and cr.isworkingcopy=0 end insert into @AfterKomplett (UID_SingleGuid ) select distinct Object  from @AfterAlle a where a.Object > ' '  exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID delete pwoHelperDecisionMaker where not exists (select top 1 1 from @AfterKomplett t where t.UID_SingleGuid  = pwoHelperDecisionMaker.uid_personhead\r\n ) insert into pwoHelperDecisionMaker (uid_personHead) select t.UID_SingleGuid  from @AfterKomplett t where not exists (select top 1 1 from pwoHelperDecisionMaker\r\n m where m.uid_personhead = t.UID_SingleGuid  ) END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  ende:\r\n exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZITShopDeleteClosed",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.68",
      "ModifyDate": "2026-04-14T23:20:39.193",
      "Definition": "     create   procedure QER_ZITShopDeleteClosed ( @Slotnumber int , @Dummy1 varchar(38) , @Dummy2 varchar(38) , @GenProcIDDummy varchar(38) ) AS\r\n begin declare @MaximumLifetime int = 99999 declare @MaximumRowcount int = 5000  declare @DeletePWO bit = dbo.QBM_FCVStringToBit(dbo.QBM_FGIConfigparmValue\r\n('QER\\ITShop\\DeleteClosed')) declare @DeleteShoppingCart bit = dbo.QBM_FCVStringToBit(dbo.QBM_FGIConfigparmValue('QER\\ITShop\\DeleteShoppingCarts')) declare\r\n @AbortedLifetime int = dbo.QBM_FCVStringToInt( dbo.QBM_FGIConfigparmValue('QER\\ITShop\\DeleteClosed\\Aborted') , @MaximumLifetime) declare @DismissedLifetime\r\n int = dbo.QBM_FCVStringToInt( dbo.QBM_FGIConfigparmValue('QER\\ITShop\\DeleteClosed\\Dismissed') , @MaximumLifetime) declare @UnsubscribedLifetime int = \r\ndbo.QBM_FCVStringToInt( dbo.QBM_FGIConfigparmValue('QER\\ITShop\\DeleteClosed\\Unsubscribed') , @MaximumLifetime) declare @DeleteShoppingCarts_Immediately\r\n bit = dbo.QBM_FCVStringToBit(dbo.QBM_FGIConfigparmValue('QER\\ITShop\\DeleteShoppingCarts\\DeleteEmptyShoppingCartsImmediately')) declare @DeleteShoppingCarts_LifeTime\r\n int = dbo.QBM_FCVStringToInt( dbo.QBM_FGIConfigparmValue('QER\\ITShop\\DeleteShoppingCarts\\LifeTime'), @MaximumLifetime) declare @ProcessState_PropertyLog\r\n int = dbo.QBM_FCVStringToInt( dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\PropertyLog') , 0) declare @DebugSwitch int = 0 declare @XUser nvarchar(64\r\n) = object_name(@@procid) declare @XDate datetime = getutcdate() declare @GenProcID varchar(38) = newid() declare @RowsAffected int = 0 declare @GenProcID_R\r\n varchar(38) = dbo.QBM_FGISessionContext('') declare @updateCount int = 0 SET XACT_ABORT OFF BEGIN TRY set nocount on exec QBM_PSessionContextSet 'GenProcID'\r\n, @GenProcID if @DeletePWO = 0 and @DeleteShoppingCart = 0 begin if @DebugSwitch > 0 begin print 'nichts zu tun' end goto EndLabel end update DialogColumn\r\n set IsToWatchDelete = 1  , XDateUpdated = @Xdate , XUserUpdated = @XUser from DialogColumn c join DialogTable t with (readpast) on c.UID_DialogTable =\r\n t.UID_DialogTable where t.TableName in ('PWODecisionHistory' , 'PersonWantsOrg' , 'Delegation'  , 'PAGAccessorder'   , 'AccProductParamCategory' , 'QERUniversalSubstitute'\r\n   , 'ShoppingCartOrder' ) and c.IsToWatchDelete = 0 and c.ColumnName not like 'X%'  and @ProcessState_PropertyLog = 1 select @updateCount = @@rowcount\r\n update DialogColumn set IsToWatchDelete = 1  , XDateUpdated = @Xdate , XUserUpdated = @XUser from DialogColumn c join DialogTable t with (readpast) on\r\n c.UID_DialogTable = t.UID_DialogTable join( values ('AccProductParameter', 'UID_AccProductParameter') , ('AccProductParameter', 'UID_AccProductParamCategory'\r\n) , ('AccProductParameter', 'ColumnName') , ('AccProductParameter', 'DisplayValue') , ('DialogParameterSet', 'ObjectKeyUsedBy') , ('DialogParameterSet'\r\n, 'UID_DialogParameterSetParent') , ('DialogParameter', 'ParameterName') , ('DialogParameter', 'DisplayName') , ('DialogParameter', 'ParameterValue') ,\r\n ('DialogParameter', 'UID_DialogParameterSet')  ) as v (TableName, ColumnName) on t.TableName = v.TableName and c.ColumnName = v.ColumnName and c.IsToWatchDelete\r\n = 0 and @ProcessState_PropertyLog = 1 select @updateCount += @@rowcount  if @updateCount > 0 begin if @DebugSwitch > 0 begin print 'IsToWatchDelete war noch zu setzen'\r\n end  exec QBM_PDBQueueInsert_Single 'QER-K-ITShopDeleteClosed', '', '', @GenProcID goto EndLabel end if @ProcessState_PropertyLog = 0 begin if @DebugSwitch\r\n > 0 begin print 'Propertylog ist aus' end goto endLabel end if @DebugSwitch > 0 begin print 'IsToWatchDelete ist gesetzt' end delete PersonWantsOrg from\r\n PersonWantsOrg pw where pw.UID_PersonWantsOrg in ( select top (@MaximumRowcount) pwo.UID_PersonWantsOrg from PersonWantsOrg pwo where pwo.OrderState in\r\n ('Aborted', 'Dismissed', 'Unsubscribed') and dateadd(dd , case pwo.OrderState when 'Aborted' then @AbortedLifetime when 'Dismissed' then @DismissedLifetime\r\n when 'Unsubscribed' then @UnsubscribedLifetime else @MaximumLifetime end , case when pwo.DateDeactivated is null then pwo.XDateUpdated else pwo.DateDeactivated\r\n end ) < dbo.QBM_FCVStringToDatetime(Convert(varchar(10), getutcdate(), 120))  and not exists (select top 1 1 from PersonWantsOrg c where c.UID_PersonWantsOrgParent\r\n = pwo.UID_PersonWantsOrg ) ) select @RowsAffected = @@ROWCOUNT if @DebugSwitch > 0 begin print 'pwo gelöscht : ' + str(@RowsAffected) end if @RowsAffected\r\n = @MaximumRowcount begin exec QBM_PDBQueueInsert_Single 'QER-K-ITShopDeleteClosed', '', '', @GenProcID if @DebugSwitch > 0 begin print 'neu eingestellt nach PWO'\r\n end goto endLabel end delete ShoppingCartOrder from ShoppingCartOrder so where so.UID_ShoppingCartOrder in ( select distinct top (@MaximumRowcount - @RowsAffected\r\n + 1) sco.UID_ShoppingCartOrder  from ShoppingCartOrder sco left outer join ShoppingCartItem si on sco.UID_ShoppingCartOrder = si.UID_ShoppingCartOrder\r\n left outer join PersonWantsOrg pwo on sco.UID_ShoppingCartOrder = pwo.UID_ShoppingCartOrder where ( pwo.UID_ShoppingCartOrder is null and si.UID_ShoppingCartOrder\r\n is null and @DeleteShoppingCarts_Immediately = 1 ) or (si.UID_ShoppingCartOrder is null and dateadd(dd, @DeleteShoppingCarts_LifeTime, sco.XDateUpdated\r\n) < getutcdate() ) ) select @RowsAffected += @@ROWCOUNT if @DebugSwitch > 0 begin print 'pwo  + SCO gelöscht : ' + str(@RowsAffected) end if @RowsAffected\r\n >= @MaximumRowcount begin exec QBM_PDBQueueInsert_Single 'QER-K-ITShopDeleteClosed', '', '', @GenProcID if @DebugSwitch > 0 begin print 'Neu eingestellt nach ShoppingCart'\r\n end goto endLabel end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZITShopHelperFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.007",
      "ModifyDate": "2026-04-14T23:20:38.15",
      "Definition": "     create   procedure QER_ZITShopHelperFill (@SlotNumber int) as begin  declare @PWOsToFill QBM_YParameterlist      declare @DebugSwitch int =\r\n 0 BEGIN TRY if @DebugSwitch > 0 begin exec QBM_PWaitForSeconds 0.5 end insert into @PWOsToFill(Parameter1, Parameter2, Parameter3, HasContentFull) select\r\n uid_parameter, GenprocID, '0', 0 from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end\r\n  exec QER_PITShopHelperFill_bulk @PWOsToFill  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZITShopHelperFill_Cfg",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.02",
      "ModifyDate": "2026-04-14T23:20:38.17",
      "Definition": "   create   procedure QER_ZITShopHelperFill_Cfg (@SlotNumber int) as begin  declare @uid_personwantsorg varchar(38) declare @GenProcID varchar(38\r\n) declare @MyName nvarchar(64) = object_name(@@procid) declare @reduce int = 0 declare @PWOsToFill QBM_YParameterlist      BEGIN TRY select @reduce = case\r\n dbo.QBM_FGIConfigparmValue('QER\\ITShop\\ReducedApproverCalculation') when 'NoRecalc' then 2 when 'CurrentLevel' then 1 else 0 end if @reduce = 2 begin \r\ngoto endLabel end  insert into @PWOsToFill(Parameter1, Parameter2, Parameter3, HasContentFull) select cu.UID_Parameter, cu.GenProcID, dbo.QBM_FCVIntToString\r\n(@reduce), 0 from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end exec QER_PITShopHelperFill_bulk\r\n @PWOsToFill  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZITShopHelperFill_Delete",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.05",
      "ModifyDate": "2026-04-14T23:20:38.217",
      "Definition": "create   procedure QER_ZITShopHelperFill_Delete ( @SlotNumberDummy int , @dummy1 varchar(38) , @Dummy2 varchar(38) , @GenProcIDDummy varchar(38)\r\n ) as begin SET XACT_ABORT OFF BEGIN TRY      exec QER_PQERBufferRecalcDMDel 'I' END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18\r\n, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZITShopHelperFill_Recalc",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.04",
      "ModifyDate": "2026-04-14T23:20:38.2",
      "Definition": "   create   procedure QER_ZITShopHelperFill_Recalc ( @SlotNumberDummy int , @dummy1 varchar(38) , @Dummy2 varchar(38) , @GenProcIDDummy varchar(38\r\n) ) as begin declare @DebugSwitch int = 0 declare @CfgUseGenProcID bit = dbo.QBM_FCVStringToBit(dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\UseGenProcIDFromPWO'\r\n)) declare @PWOTaskToUse varchar(38) = dbo.QER_FGIPWOTaskToUse() declare @ElementLast int declare @ElementCount int declare @ElementIndex int declare @RulesAndFunctions\r\n QBM_YCursorBuffer declare @FunctionName varchar(30) declare @SQLCmd nvarchar(max) declare @UID_PWODecisionRule varchar(38) declare @GenProcID varchar(38\r\n) BEGIN TRY if dbo.QBM_FGIConfigparmValue('QER\\ITShop') = '' begin goto endLabel end if @PWOTaskToUse > ' ' begin declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @RulesAndFunctions (UID1, Ident1, UID2) select UID_PWODecisionRule, dbo.QER_FCVRuleGUIDToFuncNameReclc(UID_PWODecisionRule), max(GenProcID\r\n) from QERBufferRecalcDecisionMaker with (readpast) where UsageArea = 'I' and ProcessState = 0 group by UID_PWODecisionRule, dbo.QER_FCVRuleGUIDToFuncNameReclc\r\n(UID_PWODecisionRule) select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex\r\n <= @ElementLast begin select top 1 @FunctionName = p.Ident1 , @UID_PWODecisionRule = p.UID1 , @GenProcID = p.UID2 from @RulesAndFunctions p where p.ElementIndex\r\n = @ElementIndex update QERBufferRecalcDecisionMaker set ProcessState = 1 from QERBufferRecalcDecisionMaker with (readpast) where UID_PWODecisionRule =\r\n @UID_PWODecisionRule and ProcessState = 0      if exists (select top 1 1 from sys.objects o where o.name = @FunctionName and o.type in ('IF'  , 'TF'  \r\n) ) begin select @SQLcmd = concat('\r\n\t\t\t\t\t\t\tselect x.uid, null,  x.GenProcID\r\n\t\t\t\t\t\t\tfrom (\t \r\n\t\t\t\t\t\t\t\t  select distinct pwo.UID_PersonWantsOrg as uid , dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, '''\r\n, @GenProcID, ''', ''', @CfgUseGenProcID, ''') as GenProcID\r\n\t\t\t\t\t\t\t\t\tfrom pwodecisionrule r join QERWorkingStep ps on  ps.UID_PWODecisionRule = r.UID_PWODecisionRule\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tjoin dbo.'\r\n, @FunctionName, ' () pwo on ps.UID_QERWorkingMethod = pwo.UID_QERWorkingMethod\r\n\t\t\t\t\t\t\t\t\twhere r.UID_PWODecisionRule = ''', @UID_PWODecisionRule, '''\r\n\t\t\t\t\t\t\t\t\t\tand r.UsageArea =''I''\r\n\t\t\t\t\t\t\t\t\t\tand r.UID_Task is null -- keine Systementscheidung\r\n\t\t\t\t\t\t\t\t\t\tand pwo.OrderState in (''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t-- oder es gibt potentiell was zu löschen\r\n\t\t\t\t\t\t\t\t\tor exists ( select top 1 1\r\n\t\t\t\t\t\t\t\t\t\t\t\tfrom PWOHelperPWO h\r\n\t\t\t\t\t\t\t\t\t\t\t\twhere h.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\r\n\t\t\t\t\t\t\t\t) as x\r\n\t\t\t\t\t\t\t-- 33082 hier haben wir uns wohl die Karten gelegt durch das Abschalten des CheckForExisting im QBM_PDBQueueInsert_Bulk\r\n\t\t\t\t\t\t\twhere not exists (select top 1 1\r\n\t\t\t\t\t\t\t\t\t\t\t\tfrom DialogDBQueue q with (nolock)\r\n\t\t\t\t\t\t\t\t\t\t\t\twhere q.UID_Task = '''\r\n, @PWOTaskToUse, '''\r\n\t\t\t\t\t\t\t\t\t\t\t\tand q.Object = x.uid\r\n\t\t\t\t\t\t\t\t\t\t\t\tand q.Generation >= 0\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t') delete @DBQueueElements_01 insert \r\ninto @DBQueueElements_01 (object, subobject, genprocid) exec sp_executesql @SQLcmd exec QBM_PDBQueueInsert_Bulk @PWOTaskToUse, @DBQueueElements_01 end \r\nelse  begin delete @DBQueueElements_01 insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select distinct\r\n pwo.UID_PersonWantsOrg as uid , dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, @GenProcID, @CfgUseGenProcID) as GenProcID from pwodecisionrule r join QERWorkingStep\r\n ps on ps.UID_PWODecisionRule = r.UID_PWODecisionRule join PersonWantsOrg pwo on ps.UID_QERWorkingMethod = pwo.UID_QERWorkingMethod where r.UID_PWODecisionRule\r\n = @UID_PWODecisionRule and r.UsageArea ='I' and r.UID_Task is null  and pwo.OrderState in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe')  or \r\nexists ( select top 1 1 from PWOHelperPWO h where h.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg ) ) as x  where not exists (select top 1 1 from DialogDBQueue\r\n q with (nolock) where q.UID_Task = @PWOTaskToUse and q.Object = x.uid and q.Generation >= 0 )  exec QBM_PDBQueueInsert_Bulk @PWOTaskToUse, @DBQueueElements_01\r\n end    update QERBufferRecalcDecisionMaker set ProcessState = 2 where UID_PWODecisionRule = @UID_PWODecisionRule and ProcessState = 1 select @ElementIndex\r\n += 1 end  end else begin update QERBufferRecalcDecisionMaker set ProcessState = 2 where UsageArea = 'I' and ProcessState = 0 end END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZITShopMakeDecisionCD",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.137",
      "ModifyDate": "2026-04-14T23:20:38.617",
      "Definition": "   create   procedure QER_ZITShopMakeDecisionCD (@SlotNumber int) as begin declare @UID_Personwantsorg varchar(38) declare @GenProcID varchar(38\r\n) declare @Decision nvarchar(16) declare @CfgUseGenProcID bit = dbo.QBM_FCVStringToBit(dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\UseGenProcIDFromPWO'\r\n)) declare @Reason nvarchar(255) declare @uid_person varchar(38) declare @cond nvarchar(max) declare @whereclause nvarchar(max) declare @SQLcmd nvarchar\r\n(max) declare @muster nvarchar(max) declare @BasisObjectKey varchar(138) declare @CountOfRows int declare @DecisionLevel int declare @ElementBuffer QBM_YCursorBuffer\r\n declare @ElementCount int declare @ElementIndex int declare @DBQueueCurrent QBM_YDBQueueCurrent SET XACT_ABORT OFF BEGIN TRY insert into @DBQueueCurrent\r\n(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent\r\n cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end select @muster = N'\r\nif exists (select top 1 1\r\n\t\t\t from Personwantsorg\r\n\t\t\t\twhere (\r\n-- die Kundenklausel\r\n@whereclause\r\n\t\t\t\t\t\t)\r\n\t\t\t\tand uid_personwantsorg = ''@uid_personwantsorg''\r\n\t\t\t)\r\n begin\r\n\tselect 1\r\n end\r\n'\r\n declare @AutomaticReasonTrue nvarchar(128) declare @AutomaticReasonFalse nvarchar(128) insert into @ElementBuffer (UID1  , UID2  , ContentFull  , LongIdent1\r\n  , LongIdent2  , ObjectKey1  , Int1  ) select pwo.uid_personwantsorg , dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, p.GenProcID, @CfgUseGenProcID) as GenProcID\r\n , isnull(ds.WhereClause, N'') , isnull(ds.AutomaticReasonTrue, ''), isnull(ds.AutomaticReasonFalse, ''), pwo.XObjectKey , pwo.DecisionLevel from @DBQueueCurrent\r\n p join personwantsorg pwo on p.uid_parameter = pwo.uid_personwantsorg join PWOHelperPWO ph on pwo.uid_personwantsorg = ph.uid_personwantsorg and pwo.decisionlevel\r\n = ph.levelnumber join QERWorkingStep ds on ph.UID_QERWorkingStep = ds.UID_QERWorkingStep  where ph.UID_PWODecisionRule = 'QER-PWODecisionRule-CD'   and\r\n OrderState in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe') select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <=\r\n @ElementCount begin select top 1 @uid_personwantsorg = bu.UID1  , @GenProcID = bu.UID2  , @whereclause = bu.ContentFull  , @AutomaticReasonTrue = bu.LongIdent1\r\n  , @AutomaticReasonFalse = bu.LongIdent2  , @BasisObjectKey = bu.ObjectKey1  , @DecisionLevel = Int1  from @ElementBuffer bu where bu.ElementIndex = @ElementIndex\r\n select @SQLcmd = @muster select @SQLcmd = replace(@SQLcmd , N'@whereclause', @whereclause) select @SQLcmd = replace(@SQLcmd, N'@uid_personwantsorg', @uid_personwantsorg\r\n)  BEGIN TRY exec sp_executesql @SQLcmd select @CountOfRows = @@Rowcount END TRY BEGIN CATCH select @CountOfRows = -1 END CATCH if @CountOfRows > 0 begin\r\n  select @decision = 'True'  if @AutomaticReasonTrue > ' ' begin select @Reason = @AutomaticReasonTrue end else begin select @reason = '#LDS#Automatic system approval with method CD : Condition was met.|'\r\n end end if @CountOfRows = 0  begin select @decision = 'False'  if @AutomaticReasonFalse > ' ' begin select @Reason = @AutomaticReasonFalse end else begin\r\n select @reason = '#LDS#Automatic system approval with method CD : Condition was not met.|' end end if @CountOfRows < 0  begin select @decision = 'False'\r\n select @reason = '#LDS#Automatic system approval: Condition caused runtime error using method CD.|' end  select @cond = 'uid_personwantsorg = ''' + rtrim\r\n(@uid_personwantsorg) + ''' and DecisionLevel = ' + STR(@DecisionLevel)  exec QBM_PJobCreate_HOCallMethod @objecttype = 'personwantsorg' , @whereclause\r\n = @cond , @save = 1 , @MethodName = 'MakeDecision' , @GenProcID = @GenprocID , @ObjectKeysAffected = DEFAULT , @param1 = 'sa' , @param2 = @decision , \r\n@param3 = @reason , @Retries = 3 , @isToFreezeOnError = 1  , @BasisObjectKey = @BasisObjectKey , @checkForExisting = 1  , @WhereClauseAdditional = ' OrderState in(''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'')'\r\n  select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default, @SQLcmd RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return\r\n end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZITShopMakeDecisionEX",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.21",
      "ModifyDate": "2026-04-14T23:20:38.717",
      "Definition": "    create   procedure QER_ZITShopMakeDecisionEX (@SlotNumber int) as begin  declare @UID_Personwantsorg varchar(38) declare @GenProcID varchar(38\r\n) declare @CfgUseGenProcID bit = dbo.QBM_FCVStringToBit(dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\UseGenProcIDFromPWO')) declare @cond nvarchar(max\r\n) declare @EventName nvarchar(max) declare @BasisObjectKey varchar(138) declare @SubLevelNumberString varchar(32) declare @ElementBuffer QBM_YCursorBuffer\r\n declare @ElementCount int declare @ElementIndex int BEGIN TRY insert into @ElementBuffer ( UID1 , UID2  , LongIdent1  , ObjectKey1  , Ident2 ) select \r\npwo.uid_personwantsorg , dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, p.GenProcID, @CfgUseGenProcID) as GenProcID , isnull(ds.WhereClause, N'') , pwo.XObjectKey\r\n , dbo.QBM_FCVIntToString(ds.SubLevelNumber) from QBMDBQueueCurrent p with (readpast) join personwantsorg pwo on p.uid_parameter = pwo.uid_personwantsorg\r\n and p.SlotNumber = @SlotNumber join PWOHelperPWO ph on pwo.uid_personwantsorg = ph.uid_personwantsorg and pwo.decisionlevel = ph.levelnumber join QERWorkingStep\r\n ds on ph.UID_QERWorkingStep = ds.UID_QERWorkingStep  where ph.UID_PWODecisionRule = 'QER-PWODecisionRule-EX'   and OrderState in ('OrderProduct', 'OrderProlongate'\r\n, 'OrderUnsubscribe')  and not exists (select top 1 1 from PWOHelperPWO ahe where ahe.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg and ahe.LevelNumber =\r\n ph.LevelNumber and ahe.UID_PWODecisionRule = 'QER-PWODecisionRule-EX' and ahe.Decision > ' ' ) select @ElementCount = @@ROWCOUNT select @ElementIndex \r\n= 1 while @ElementIndex <= @ElementCount begin select top 1 @uid_personwantsorg = bu.UID1 , @GenProcID = bu.UID2  , @EventName = bu.LongIdent1  , @BasisObjectKey\r\n = bu.ObjectKey1  , @SubLevelNumberString = bu.Ident2 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex select @cond = N'uid_personwantsorg = '''\r\n + rtrim(@uid_personwantsorg) + N''''  exec QBM_PJobCreate_HOFireEvent_B 'personwantsorg', @cond, @EventName , @GenProcID , @AdditionalObjectKeysAffected\r\n = DEFAULT , @checkForExisting = 0 , @BasisObjectKey = @BasisObjectKey , @p2 = '_ParamName1', @v2 = 'SubLevelNumber' , @p3 = '_ParamValue1' , @v3 = @SubLevelNumberString\r\n select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZITShopMakeDecisionRI",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.157",
      "ModifyDate": "2026-04-14T23:20:38.643",
      "Definition": "    create   procedure QER_ZITShopMakeDecisionRI (@SlotNumber int) as begin  declare @UID_Personwantsorg varchar(38) declare @GenProcID varchar(38\r\n) declare @CfgUseGenProcID bit = dbo.QBM_FCVStringToBit(dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\UseGenProcIDFromPWO')) declare @Decision nvarchar\r\n(16) declare @Reason nvarchar(255) declare @cond nvarchar(max) declare @BasisObjectKey varchar(138) declare @CountOfRows int declare @DecisionLevel int\r\n declare @RiskIndexLimit float declare @objectkeyassignment varchar(138) = null declare @TargetTableOrder varchar(30) = null declare @ObjectKeyOrder varchar\r\n(138) = null declare @ObjectKeyElementUsedInAssign varchar(138) = null declare @SQLCmd nvarchar(max) declare @AutomaticReasonTrue nvarchar(128) declare\r\n @AutomaticReasonFalse nvarchar(128) declare @DebugSwitch int = 0 declare @TargetTableAssign1 varchar(30) = null declare @TargetTableAssign2 varchar(30\r\n) = null declare @ObjectKeyFinal1 varchar(138) = null declare @ObjectKeyFinal2 varchar(138) = null declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount\r\n int declare @ElementIndex int declare @DBQueueCurrent QBM_YDBQueueCurrent SET XACT_ABORT OFF BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, \r\nUID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end insert into @ElementBuffer (UID1  , UID2  , LongIdent1  , LongIdent2  , ObjectKey1\r\n  , Int1  , Ident3  , ObjectKey2 , ObjectKey3  , ContentShort  ) select pwo.uid_personwantsorg , dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, p.GenProcID,\r\n @CfgUseGenProcID) as GenProcID , isnull(ds.AutomaticReasonTrue, ''), isnull(ds.AutomaticReasonFalse, ''), pwo.XObjectKey , pwo.DecisionLevel , dbo.QBM_FCVFloatToString\r\n( dbo.QBM_FCVStringToFloat( ds.WhereClause , 1.0))  , pwo.ObjectKeyAssignment, pwo.ObjectKeyOrdered , pwo.ObjectKeyElementUsedInAssign from @DBQueueCurrent\r\n p join personwantsorg pwo on p.uid_parameter = pwo.uid_personwantsorg join PWOHelperPWO ph on pwo.uid_personwantsorg = ph.uid_personwantsorg and pwo.decisionlevel\r\n = ph.levelnumber join QERWorkingStep ds on ph.UID_QERWorkingStep = ds.UID_QERWorkingStep where ph.UID_PWODecisionRule = 'QER-PWODecisionRule-RI'   and\r\n OrderState in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe') select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <=\r\n @ElementCount begin select top 1 @uid_personwantsorg = bu.UID1  , @GenProcID = bu.UID2  , @AutomaticReasonTrue = bu.LongIdent1  , @AutomaticReasonFalse\r\n = bu.LongIdent2  , @BasisObjectKey = bu.ObjectKey1  , @DecisionLevel = bu.Int1  , @RiskIndexLimit = dbo.QBM_FCVStringToFloat(bu.Ident3, 0)  , @ObjectKeyAssignment\r\n = bu.ObjectKey2 , @ObjectKeyOrder = bu.ObjectKey3  , @ObjectKeyElementUsedInAssign = bu.ContentShort from @ElementBuffer bu where bu.ElementIndex = @ElementIndex\r\n  select @TargetTableAssign1 = null select @TargetTableAssign2 = null select @ObjectKeyFinal1 = null select @ObjectKeyFinal2 = null if @objectkeyassignment\r\n > ' ' begin if dbo.QBM_FCVObjectkeyToElement('UID_DialogTable', @ObjectKeyAssignment) <> 'QER-T-ESetHasEntitlement' begin    select @ObjectKeyFinal1 =\r\n dbo.QBM_FCVObjectKeyMNToParentKey(@objectkeyassignment, 0) select top 1 @TargetTableAssign1 = r.ParentTable from QBM_VQBMRelation r join DialogColumn \r\nc on r.UID_DialogTableParent = c.UID_DialogTable and c.ColumnName = 'RiskIndex' where r.ChildTable = dbo.QBM_FCVObjectkeyToElement('TableName', @objectkeyassignment\r\n) and r.IsMNRelation = 1 and @ObjectKeyFinal1 like '<Key><T>' + r.ParentTable + '</T>%'  select @ObjectKeyFinal2 = dbo.QBM_FCVObjectKeyMNToParentKey(@objectkeyassignment\r\n, 1) select top 1 @TargetTableAssign2 = r.ParentTable from QBM_VQBMRelation r join DialogColumn c on r.UID_DialogTableParent = c.UID_DialogTable and c.ColumnName\r\n = 'RiskIndex' where r.ChildTable = dbo.QBM_FCVObjectkeyToElement('TableName', @objectkeyassignment) and r.IsMNRelation = 1 and @ObjectKeyFinal2 like '<Key><T>'\r\n + r.ParentTable + '</T>%' if @DebugSwitch > 0 begin print @TargetTableAssign1 print @objectkeyFinal1 print @TargetTableAssign2 print @objectkeyFinal2 \r\nend end else begin   select @ObjectKeyFinal1 = @ObjectKeyElementUsedInAssign select top 1 @TargetTableAssign1 = x.tab from ( select dbo.QBM_FCVObjectkeyToElement\r\n('TableName', @ObjectKeyElementUsedInAssign) as tab ) x join DialogTable t with (readpast) on x.tab = t.TableName join DialogColumn c on t.UID_DialogTable\r\n = c.UID_DialogTable and c.ColumnName = 'RiskIndex' if @DebugSwitch > 0 begin print @TargetTableAssign1 print @ObjectKeyFinal1 end end end else begin if\r\n @ObjectKeyOrder > ' ' begin select top 1 @TargetTableOrder = x.tab from ( select dbo.QBM_FCVObjectkeyToElement('TableName', @ObjectKeyOrder) as tab ) \r\nx join DialogTable t with (readpast) on x.tab = t.TableName join DialogColumn c on t.UID_DialogTable = c.UID_DialogTable and c.ColumnName = 'RiskIndex'\r\n if @DebugSwitch > 0 begin print @TargetTableOrder print @ObjectKeyOrder end end end if @TargetTableAssign1 > ' ' or @TargetTableAssign2 > ' ' or @TargetTableOrder\r\n > ' ' begin select @SQLCmd = '\r\n\t\t\t\tif 1 = 0\r\n\t\t\t\t  ' + case when @TargetTableAssign1 is null then '' else ' or ( select top 1 isnull(Riskindex, 0.0) \r\n\t\t\t\t\t\t\t\t\t\tfrom '\r\n + @TargetTableAssign1 + ' \r\n\t\t\t\t\t\t\t\t\t\twhere XObjectKey = ''' + @ObjectKeyFinal1 + ''' \r\n\t\t\t\t\t\t\t\t\t) >= ' + dbo.QBM_FCVFloatToString(@RiskIndexLimit) + \r\n'\r\n\t\t\t\t\t' end + case when @TargetTableAssign2 is null then '' else ' or ( select top 1 isnull(Riskindex, 0.0) \r\n\t\t\t\t\t\t\t\t\t\tfrom ' + @TargetTableAssign2 \r\n+ ' \r\n\t\t\t\t\t\t\t\t\t\twhere XObjectKey = ''' + @ObjectKeyFinal2 + ''' \r\n\t\t\t\t\t\t\t\t\t) >= ' + dbo.QBM_FCVFloatToString(@RiskIndexLimit) + '\r\n\t\t\t\t\t' end + case when\r\n @TargetTableOrder is null then '' else ' or ( select top 1 isnull(Riskindex, 0.0) \r\n\t\t\t\t\t\t\t\t\t\tfrom ' + @TargetTableOrder + ' \r\n\t\t\t\t\t\t\t\t\t\twhere XObjectKey = '''\r\n + @ObjectKeyOrder + ''' \r\n\t\t\t\t\t\t\t\t\t) >= ' + dbo.QBM_FCVFloatToString(@RiskIndexLimit) + '\r\n\t\t\t\t\t' end + '\r\n\t\t\t\t begin\r\n\t\t\t\t\tprint '''' -- 0 rows affected\r\n\t\t\t\t end\r\n\t\t\t\telse\r\n\t\t\t\t begin\r\n\t\t\t\t\tselect 1 as Decision\r\n\t\t\t\t end\r\n\t\t\t\t\t'\r\n end else begin  select @SQLCmd = '\r\n\t\t\t\t\tselect 1 as Decision' end if @DebugSwitch > 0 begin print @SQLCmd end  BEGIN TRY exec sp_executesql @SQLcmd select\r\n @CountOfRows = @@Rowcount END TRY BEGIN CATCH select @CountOfRows = -1 END CATCH if @CountOfRows > 0 begin  select @decision = 'True' if @AutomaticReasonTrue\r\n > ' ' begin select @Reason = @AutomaticReasonTrue end else begin select @reason = '#LDS#Automatic system approval with method RI : Riskindex lower then limit.|'\r\n end end if @CountOfRows = 0  begin select @decision = 'False'  if @AutomaticReasonFalse > ' ' begin select @Reason = @AutomaticReasonFalse end else begin\r\n select @reason = '#LDS#Automatic system approval with method RI : Riskindex equal or higher then limit.|' end end if @CountOfRows < 0  begin select @decision\r\n = 'False' select @reason = '#LDS#Automatic system approval: Condition caused runtime error using method RI.|' end  select @cond = 'uid_personwantsorg = '''\r\n + rtrim(@uid_personwantsorg) + ''' and DecisionLevel = ' + STR(@DecisionLevel)  exec QBM_PJobCreate_HOCallMethod @objecttype = 'personwantsorg' , @whereclause\r\n = @cond , @save = 1 , @MethodName = 'MakeDecision' , @GenProcID = @GenprocID , @ObjectKeysAffected = DEFAULT , @param1 = 'sa' , @param2 = @decision , \r\n@param3 = @reason , @Retries = 3 , @isToFreezeOnError = 1  , @BasisObjectKey = @BasisObjectKey , @checkForExisting = 1  , @WhereClauseAdditional = ' OrderState in(''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'')'\r\n  select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default, @SQLcmd RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return\r\n end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZITShopMakeDecisionSB",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.193",
      "ModifyDate": "2026-04-14T23:20:38.693",
      "Definition": "    create   procedure QER_ZITShopMakeDecisionSB (@SlotNumber int) as begin declare @UID_Personwantsorg varchar(38) declare @GenProcID varchar(38\r\n) declare @CfgUseGenProcID bit = dbo.QBM_FCVStringToBit(dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\UseGenProcIDFromPWO')) declare @Reason nvarchar\r\n(255) declare @cond nvarchar(max) declare @DecisionLevel int declare @BasisObjectKey varchar(138) declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount\r\n int declare @ElementIndex int BEGIN TRY insert into @ElementBuffer (UID1  , UID2  , ObjectKey1  , Int1  ) select pwo.uid_personwantsorg , dbo.QER_FGIGenProcIDForPWO\r\n(pwo.GenProcID, p.GenProcID, @CfgUseGenProcID) as GenProcID , pwo.XObjectKey , pwo.DecisionLevel from QBMDBQueueCurrent p with (readpast) join personwantsorg\r\n pwo on p.uid_parameter = pwo.uid_personwantsorg and p.SlotNumber = @SlotNumber join PWOHelperPWO ph on pwo.uid_personwantsorg = ph.uid_personwantsorg \r\nand pwo.decisionlevel = ph.levelnumber   where ph.UID_PWODecisionRule = 'QER-PWODecisionRule-SB'   and pwo.OrderState in ('OrderProduct', 'OrderProlongate'\r\n, 'OrderUnsubscribe') select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @uid_personwantsorg\r\n = bu.UID1  , @GenProcID = bu.UID2  , @BasisObjectKey = bu.ObjectKey1  , @DecisionLevel = bu.Int1  from @ElementBuffer bu where bu.ElementIndex = @ElementIndex\r\n select @reason = '#LDS#Automatic system approval with method SB: Condition was met.|' select @cond = N'uid_personwantsorg = ''' + rtrim(@uid_personwantsorg\r\n) + N''' and DecisionLevel = ' + STR(@DecisionLevel)  exec QBM_PJobCreate_HOCallMethod @objecttype = 'personwantsorg' , @whereclause = @cond , @save = \r\n1 , @MethodName = 'MakeDecision' , @ObjectKeysAffected = DEFAULT , @GenProcID = @GenprocID , @param1 = 'sa' , @param2 = 'True' , @param3 = @reason , @Retries\r\n = 3 , @isToFreezeOnError = 1  , @BasisObjectKey = @BasisObjectKey , @checkForExisting = 1  , @WhereClauseAdditional = ' OrderState in(''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'')'\r\n  select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end\r\n \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZITShopMakeDecisionWC",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.177",
      "ModifyDate": "2026-04-14T23:20:38.67",
      "Definition": "   create   procedure QER_ZITShopMakeDecisionWC (@SlotNumber int) as begin declare @UID_Personwantsorg varchar(38) declare @GenProcID varchar(38\r\n) declare @CfgUseGenProcID bit = dbo.QBM_FCVStringToBit(dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\UseGenProcIDFromPWO')) declare @Decision nvarchar\r\n(16) declare @Reason nvarchar(255) declare @uid_person varchar(38) declare @cond nvarchar(max) declare @whereclause nvarchar(max) declare @SQLcmd nvarchar\r\n(max) declare @muster nvarchar(max) declare @CountItems int declare @AutomaticReasonTrue nvarchar(128) declare @AutomaticReasonFalse nvarchar(128) declare\r\n @BasisObjectKey varchar(138) declare @DecisionLevel int declare @DebugLevel char(1) = 'W' declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount\r\n int declare @ElementIndex int  declare @SlotNumberSource int declare @SlotNumberTarget int declare @DBQueueToMove QBM_YDBQCSCurrentToMove declare @RowsMoved\r\n int SET XACT_ABORT OFF BEGIN TRY  select @muster = '\r\ndeclare @erg int\r\nselect @erg = \r\n-- die Kundenklausel\r\n@whereclause (''@uid_personwantsorg'')\r\n\r\n--print @erg\r\n\r\nif @erg > 0\r\n begin\r\n\tselect 1\r\n\t union all \r\n\tselect 2\r\n\t union all \r\n\tselect 3\r\n\t \r\n end\r\nelse --bleiben noch 0 und < 0\r\n begin\r\n\t if @erg < 0\r\n\t  begin\r\n\t\tselect 1\r\n\t  end\r\n\t else -- ist es gleich 0\r\n\t  begin\r\n\t\tselect 1\r\n\t\t union all\r\n\t\tselect 2\r\n\t  end\r\n end\r\n\t\t\r\n'\r\n insert into @ElementBuffer ( UID1  , UID2  , ContentFull  , LongIdent1  , LongIdent2  , ObjectKey1  , Int1  ) select pwo.uid_personwantsorg , dbo.QER_FGIGenProcIDForPWO\r\n(pwo.GenProcID, p.GenProcID, @CfgUseGenProcID) as GenProcID , isnull(ds.WhereClause, N'') , isnull(ds.AutomaticReasonTrue, ''), isnull(ds.AutomaticReasonFalse\r\n, ''), pwo.XObjectKey , pwo.DecisionLevel from QBMDBQueueCurrent p with (readpast) join personwantsorg pwo on p.uid_parameter = pwo.uid_personwantsorg \r\nand p.SlotNumber = @SlotNumber join PWOHelperPWO ph on pwo.uid_personwantsorg = ph.uid_personwantsorg and pwo.decisionlevel = ph.levelnumber join QERWorkingStep\r\n ds on ph.UID_QERWorkingStep = ds.UID_QERWorkingStep  where ph.UID_PWODecisionRule = 'QER-PWODecisionRule-WC'   and pwo.OrderState in ('OrderProduct', \r\n'OrderProlongate', 'OrderUnsubscribe') select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top\r\n 1 @uid_personwantsorg = bu.UID1  , @GenProcID = bu.UID2  , @whereclause = bu.ContentFull  , @AutomaticReasonTrue = bu.LongIdent1  , @AutomaticReasonFalse\r\n = bu.LongIdent2  , @BasisObjectKey = bu.ObjectKey1  , @DecisionLevel = bu.Int1  from @ElementBuffer bu where bu.ElementIndex = @ElementIndex select @SQLcmd\r\n = @muster select @SQLcmd = replace(@SQLcmd , N'@whereclause', @whereclause) select @SQLcmd = replace(@SQLcmd, N'@uid_personwantsorg', @uid_personwantsorg\r\n)  BEGIN TRY exec sp_executesql @SQLcmd select @CountItems = @@rowcount END TRY BEGIN CATCH select @CountItems = -1 END CATCH if @CountItems = 3  begin\r\n  select @decision = 'True'  if @AutomaticReasonTrue > ' ' begin select @Reason = @AutomaticReasonTrue end else begin select @reason = '#LDS#Automatic system approval with method WC: Condition was met.|'\r\n end end if @CountItems = 1  begin select @decision = 'False'  if @AutomaticReasonFalse > ' ' begin select @Reason = @AutomaticReasonFalse end else begin\r\n select @reason = '#LDS#Automatic system approval with method WC: Condition was not met.|' end end if @CountItems = 2  begin  delete @DBQueueToMove  insert\r\n into @DBQueueToMove(UID_DialogDBQueue) select cul.UID_DialogDBQueue from QBMDBQueueCurrent cul  where cul.SlotNumber = @SlotNumber and cul.UID_Parameter\r\n = @UID_Personwantsorg if @@ROWCOUNT > 0 begin select @SlotNumberSource = @SlotNumber  select @SlotnumberTarget = dbo.QBM_FGIDBQueueSlotResetType('Wait'\r\n) exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget exec QBM_PJournal '#LDS#Deferring operations resulting form the IT Shop procedure \"waiting for condition\".|'\r\n, @@procid, 'I', @DebugLevel end end  if @CountItems < 0  begin select @decision = 'False' select @reason = '#LDS#Automatic system approval: Condition caused runtime error using method WC.|'\r\n end if @CountItems = 3 or @CountItems = 1 or @CountItems < 0 begin select @cond = N'uid_personwantsorg = ''' + rtrim(@uid_personwantsorg) + N''' and DecisionLevel = '\r\n + STR(@DecisionLevel)  exec QBM_PJobCreate_HOCallMethod @objecttype = 'personwantsorg' , @whereclause = @cond , @save = 1 , @MethodName = 'MakeDecision'\r\n , @GenProcID = @GenprocID , @ObjectKeysAffected = DEFAULT , @param1 = 'sa' , @param2 = @decision , @param3 = @reason , @Retries = 3 , @isToFreezeOnError\r\n = 1  , @BasisObjectKey = @BasisObjectKey , @checkForExisting = 1  , @WhereClauseAdditional = ' OrderState in(''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'')'\r\n  end select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default, @SQLcmd RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel:\r\n return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZITShopMemberDelete",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.46",
      "ModifyDate": "2026-04-14T23:20:39.023",
      "Definition": "       create   procedure QER_ZITShopMemberDelete (@SlotNumber int) as begin declare @DebugLevel char(1) = 'W' declare @PWOsToMove QBM_YParameterList\r\n     BEGIN TRY insert into @PWOsToMove (Parameter1, Parameter2, Parameter3, HasContentFull) select pwo.UID_PersonWantsOrg, null , x.GenProcID, 1 from (\r\n select UID_Parameter as uid_person, UID_SubParameter as uid_OrgSH, GenProcID from QBMDBQueueCurrent p with (readpast) where p.SlotNumber = @SlotNumber\r\n ) as x join PersonWantsOrg pwo on x.uid_person = pwo.UID_PersonOrdered and x.uid_OrgSH = pwo.UID_OrgParentOfParent where not exists (select top 1 1 from\r\n BaseTree cu join personinBaseTree pio on cu.uid_parentorg = x.uid_OrgSH and cu.itshopInfo = 'CU' and pio.uid_org = cu.uid_org and pio.uid_person = x.uid_person\r\n and pio.XOrigin > 0 ) exec QER_PITShopOrderMove_bulk @PWOsToMove END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT\r\n END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZITShopOrderAbort",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.443",
      "ModifyDate": "2026-04-14T23:20:39.007",
      "Definition": "   create   procedure QER_ZITShopOrderAbort (@SlotNumber int)  as begin  declare @uid_personwantsorg varchar(38) declare @GenProcID varchar(38) \r\ndeclare @CfgUseGenProcID bit = dbo.QBM_FCVStringToBit(dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\UseGenProcIDFromPWO')) declare @cond nvarchar(1000\r\n) declare @BasisObjectKey varchar(138) declare @AbortMethod nvarchar(64)  declare @reason nvarchar(1000) declare @ElementBuffer QBM_YCursorBuffer declare\r\n @ElementCount int declare @ElementIndex int declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber\r\n = @SlotNumber if @@rowcount = 0 begin goto EndLabel end insert into @ElementBuffer (UID1, UID2, ObjectKey1, Ident1) select pwo.uid_Personwantsorg , dbo.QER_FGIGenProcIDForPWO\r\n(pwo.GenProcID, p.GenProcID, @CfgUseGenProcID) as GenProcID , PWO.XObjectKey     , 'Abort'  from @DBQueueCurrent p join personwantsorg pwo on p.uid_parameter\r\n = pwo.uid_personwantsorg select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @uid_personwantsorg\r\n = bu.UID1 , @GenProcID = bu.UID2 , @BasisObjectkey = bu.ObjectKey1 , @AbortMethod = bu.Ident1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex\r\n select @cond = N'uid_personwantsorg = ''' + rtrim(@uid_personwantsorg) + N'''' select @reason = dbo.QBM_FCVStringTrimLDSPrefix('#LDS#Automatic system approval: Assigned Element was deleted or workflow has changed.|'\r\n) exec QBM_PJobCreate_HOCallMethod 'PersonWantsOrg', @cond, @save = 1, @MethodName = @AbortMethod , @GenProcID = @GenProcID , @ObjectKeysAffected = DEFAULT\r\n , @param1 = @reason , @IsToFreezeOnError = 1 , @Retries = 3 , @checkForExisting = 1  , @WhereClauseAdditional = ' OrderState in (''Assigned'', ''Granted'', ''New'', ''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'', ''Waiting'')'\r\n  , @BasisObjectKey = @BasisObjectKey select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT\r\n END CATCH  endLabel: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZITShopOrderReset",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.347",
      "ModifyDate": "2026-04-14T23:20:38.88",
      "Definition": "      create   procedure QER_ZITShopOrderReset (@SlotNumber int)  as begin  declare @uid_personwantsorg varchar(38) declare @UID_PWODecisionHistory\r\n varchar(38) declare @GenProcID varchar(38) declare @cond nvarchar(1000) declare @BasisObjectKey varchar(138) declare @AbortMethod nvarchar(64)  declare\r\n @reason nvarchar(1000) declare @MyName nvarchar(64) = object_name(@@procid) declare @DecisionOnInsert int = 0 declare @UID_QERWorkingMethod varchar(38\r\n) declare @UID_PWODecisionMethod varchar(38) declare @OrderState varchar(16) declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @ElementLast\r\n int declare @ElementCount int declare @ElementIndex int declare @PWOsToFill QBM_YParameterlist      declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN \r\nTRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter\r\n, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end   declare @ElementReset\r\n QBM_YCursorBuffer insert into @ElementReset (UID1, UID2, UID3) select p.uid_parameter, newid(), p.GenProcID from @DBQueueCurrent p select @ElementCount\r\n = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top\r\n 1 @uid_personwantsorg = bu.UID1 , @UID_PWODecisionHistory = bu.UID2 , @GenProcID = bu.UID3 from @ElementReset bu where bu.ElementIndex = @ElementIndex\r\n exec QBM_PSessionContextSet 'GenProcID', @GenProcID insert into PWODecisionHistory (DecisionType, IsDecisionBySystem, UID_PWODecisionHistory, UID_PWOState\r\n, UID_PersonHead, UID_PersonWantsOrg, DisplayPersonHead, ReasonHead, DateHead, XDateInserted, XDateUpdated, XUserInserted, XUserUpdated, DecisionLevel,\r\n XTouched, ValidUntil, ValidFrom , XObjectKey  , UID_ITShopOrgFinal, OrderState) select 'Reset', 1, @UID_PWODecisionHistory, null, null, @uid_personwantsorg\r\n, dbo.QBM_FCVStringTrimLDSPrefix('#LDS#Automatic system approval.|') , dbo.QBM_FCVStringTrimLDSPrefix('#LDS#Procedure deferred due to changed decision.|'\r\n), GetUTCDate(), GetUTCDate(), GetUTCDate(), 'sa', 'sa', 0, null, null, null, dbo.QBM_FCVElementToObjectKey1('PWODecisionHistory', 'UID_PWODecisionHistory'\r\n, @UID_PWODecisionHistory)  , pwo.UID_ITShopOrgFinal, pwo.OrderState from PersonWantsOrg pwo where pwo.UID_PersonWantsOrg = @uid_personwantsorg select \r\n@ElementIndex += 1 end   if dbo.QBM_FGIConfigparmValue('QER\\ITShop\\DecisionOnInsert') > ' ' begin select @DecisionOnInsert = 1 end declare @ElementDieAnderen\r\n QBM_YCursorBuffer insert into @ElementDieAnderen (UID1, UID2, UID3, Ident1) select p.uid_parameter, p.GenProcID, pr.UID_PWODecisionMethod, pwo.OrderState\r\n from @DBQueueCurrent p join PersonWantsOrg pwo on p.uid_parameter = pwo.UID_PersonWantsOrg join BaseTree pr on pwo.UID_Org = pr.UID_Org and pr.ITShopInfo\r\n = 'PR' select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= \r\n@ElementLast begin select top 1 @UID_Personwantsorg = bu.UID1 , @GenProcID = bu.UID2 , @UID_PWODecisionMethod = bu.UID3 , @OrderState = bu.Ident1 from \r\n@ElementDieAnderen bu where bu.ElementIndex = @ElementIndex        exec QER_PGIQERWorkingMethod @UID_PWODecisionMethod, @OrderState, @UID_QERWorkingMethod\r\n output exec QBM_PSessionContextSet 'GenProcID', @GenProcID update personwantsorg set decisionlevel = 0, UID_PWOState = null, UID_PersonHead = null, DisplayPersonHead\r\n = null, DateHead = GetUTCDate(), OrderDate = GetUTCDate(), ReasonHead = dbo.QBM_FCVStringTrimLDSPrefix('#LDS#Procedure deferred due to changed decision.|'\r\n), XDateUpdated = GetUTCDate(), XUserUpdated = 'DBScheduler' , UID_QERWorkingMethod = @UID_QERWorkingMethod from PersonWantsOrg pwo where uid_personwantsorg\r\n = @UID_Personwantsorg exec QBM_PSessionContextSet 'GenProcID', @GenProcID  delete HelperPWOCompliance where uid_personwantsorg = @UID_Personwantsorg exec\r\n QBM_PSessionContextSet 'GenProcID', @GenProcID delete HelperPWOPersonhasObject where uid_personwantsorg = @UID_Personwantsorg exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID delete pwohelperpwo where uid_personwantsorg = @UID_Personwantsorg         select @ElementIndex += 1 end  if @DecisionOnInsert\r\n = 1 begin delete  @PWOsToFill  insert into @PWOsToFill(Parameter1, Parameter2, Parameter3, HasContentFull) select p.uid_parameter, p.GenProcID, '0', 1\r\n from @DBQueueCurrent p join PersonWantsOrg pwo on p.uid_parameter = pwo.UID_PersonWantsOrg join BaseTree pr on pwo.UID_Org = pr.UID_Org and pr.ITShopInfo\r\n = 'PR' exec QER_PITShopHelperFill_bulk @PWOsToFill exec QER_PITShopPersonHasObjFill_b @PWOsToFill end Restaufgaben: declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select uid_parameter as uid, genprocid as GenProcID\r\n from @DBQueueCurrent p ) as x  exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackPWOHelperPWO', @DBQueueElements_01  exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackPersonHasObject'\r\n, @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZITShopPersonHasObjectFill",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.553",
      "ModifyDate": "2026-04-14T23:20:39.143",
      "Definition": "    create   procedure QER_ZITShopPersonHasObjectFill (@SlotNumber int) as begin    declare @PWOsToFill QBM_YParameterlist   BEGIN TRY          \r\n       delete  @PWOsToFill  insert into @PWOsToFill (Parameter1, Parameter2) select p.uid_parameter, p.GenprocID from QBMDBQueueCurrent p with (readpast\r\n) join personwantsorg pwo on p.uid_parameter = pwo.uid_personwantsorg where p.SlotNumber = @SlotNumber exec QER_PITShopPersonHasObjFill_b @PWOsToFill END\r\n TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZITShopProductNodeCheck",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.3",
      "ModifyDate": "2026-04-14T23:20:38.827",
      "Definition": "create   procedure QER_ZITShopProductNodeCheck( @SlotNumber int , @UID_OrgBO varchar(38) , @dummy1 varchar(38) , @GenProcID varchar(38) )  AS begin\r\n declare @WirMachenDasNochEinmal bit = 0 BEGIN TRY  if exists (select top 1 1 from QBMDBQueueCurrent cu with(nolock) where cu.SlotNumber <> @SlotNumber\r\n and cu.SlotNumber > 0  and cu.UID_Parameter = @UID_OrgBO and cu.UID_Task = 'QER-K-OrgAutoChild' ) begin select @WirMachenDasNochEinmal = 1 goto NochMalEntscheidung\r\n end  exec QER_PITShopProductNodeCheck @UID_OrgBO, @GenProcID NochMalEntscheidung: if @WirMachenDasNochEinmal = 1 begin exec QBM_PDBQueueInsert_Single \r\n'QER-K-OrgAutoChild', @UID_OrgBO, '', @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH \r\nendLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZITShopRepairClosed",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.72",
      "ModifyDate": "2026-04-14T23:20:39.24",
      "Definition": "    create   procedure QER_ZITShopRepairClosed ( @Slotnumber int , @UID_PersonWantsOrg varchar(38) , @Dummy varchar(38) , @GenProcID varchar(38)\r\n ) AS begin declare @XUser nvarchar(64) = object_name(@@procid) declare @XDate datetime = getutcdate() declare @SetUIDPersonOrdered int , @SetUIDPersonInserted\r\n int , @SetUIDPersonHead int , @SetDisplayPersonOrdered int , @SetDisplayPersonInserted int , @SetDisplayPersonHead int declare @UID_DelegationToDelete\r\n varchar(38) declare @CfgUseGenProcID bit = dbo.QBM_FCVStringToBit(dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\UseGenProcIDFromPWO')) declare @GenProcID_R\r\n varchar(38) = dbo.QBM_FGISessionContext('') declare @GenProcIDToUse varchar(38) BEGIN TRY select top 1 @SetUIDPersonOrdered = r.SetUIDPersonOrdered , \r\n@SetUIDPersonInserted = r.SetUIDPersonInserted , @SetUIDPersonHead = r.SetUIDPersonHead , @SetDisplayPersonOrdered = r.SetDisplayPersonOrdered , @SetDisplayPersonInserted\r\n = r.SetDisplayPersonInserted , @SetDisplayPersonHead = r.SetDisplayPersonHead , @GenProcIDToUse = dbo.QER_FGIGenProcIDForPWO(r.GenProcID, @GenProcID, \r\n@CfgUseGenProcID) , @UID_DelegationToDelete = r.UID_DelegationToDelete from QER_VPWOPersonPropertyReset r where r.UID_PersonWantsOrg = @UID_PersonWantsOrg\r\n exec QBM_PSessionContextSet 'GenProcID', @GenProcIDToUse  if @SetUIDPersonOrdered = 1 begin update PersonWantsOrg set UID_PersonOrdered = null , XDateUpdated\r\n = @XDate , XUserUpdated = @XUser where UID_PersonWantsOrg = @UID_PersonWantsOrg end if @SetUIDPersonInserted = 1 begin update PersonWantsOrg set UID_PersonInserted\r\n = null , XDateUpdated = @XDate , XUserUpdated = @XUser where UID_PersonWantsOrg = @UID_PersonWantsOrg end if @SetUIDPersonHead = 1 begin update PersonWantsOrg\r\n set UID_PersonHead = null , XDateUpdated = @XDate , XUserUpdated = @XUser where UID_PersonWantsOrg = @UID_PersonWantsOrg end if @SetDisplayPersonOrdered\r\n = 1 begin update PersonWantsOrg set DisplayPersonOrdered = null , XDateUpdated = @XDate , XUserUpdated = @XUser where UID_PersonWantsOrg = @UID_PersonWantsOrg\r\n end if @SetDisplayPersonInserted = 1 begin update PersonWantsOrg set DisplayPersonInserted = null , XDateUpdated = @XDate , XUserUpdated = @XUser where\r\n UID_PersonWantsOrg = @UID_PersonWantsOrg end if @SetDisplayPersonHead = 1 begin update PersonWantsOrg set DisplayPersonHead = null , XDateUpdated = @XDate\r\n , XUserUpdated = @XUser where UID_PersonWantsOrg = @UID_PersonWantsOrg end if @UID_DelegationToDelete > ' ' begin delete Delegation where UID_Delegation\r\n = @UID_DelegationToDelete end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZOrgHasQERAssign",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.093",
      "ModifyDate": "2026-04-14T23:20:39.757",
      "Definition": "       create   procedure QER_ZOrgHasQERAssign (@SlotNumber int) AS begin declare @GenProcID varchar(38) declare @UID_BasetreeAssignToUse varchar\r\n(38) = 'QER-AsgnBT-QERAssign' declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin int declare @DBQueueCurrent QBM_YDBQueueCurrent\r\n declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin\r\n('|Inherit|', 1)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  insert\r\n into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore , XIsInEffectBefore ) select 0, 0 , oha.UID_Org, oha.UID_QERAssign\r\n as UID_QERAssign, oha.XOrigin , oha.XIsInEffect from BaseTreeHasQERAssign oha join @DBQueueCurrent x on UID_org =x.uid_parameter  insert into @SourceData\r\n( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement , XIsInEffectAfter ) select 1, 0, oha.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv\r\n , oha.uid_org, oha.UID_QERAssign , 1 from BaseTreeHasQERAssign oha join @DBQueueCurrent x on oha.UID_org = x.uid_parameter  where oha.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv\r\n > 0 insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectAfter ) select 1, 0 , x.UID_Parameter\r\n, oha.UID_QERAssign , @QBM_BitPatternXOrigin_Inherit , 1 from BaseTreeHasQERAssign oha join BaseTreeCollection oc on oha.UID_org = oc.UID_parentorg and\r\n oha.XOrigin > 0 and oha.XIsInEffect = 1 join @DBQueueCurrent x on oc.UID_org = x.uid_parameter where oc.UID_org <> oc.UID_parentorg  and oha.XOrigin &\r\n @QBM_BitPatternXOrigin_Inherit_inv > 0 if dbo.QBM_FGIModuleExists('RMS') = 1 begin if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\NoESetSplitting'\r\n) = '' begin insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectAfter ) select 1, 0 , x.uid_parameter\r\n,y.uid_QERAssign, @QBM_BitPatternXOrigin_Inherit  , 1 from @DBQueueCurrent x join BaseTreeHasEset bhe on x.UID_Parameter = bhe.uid_org and bhe.XOrigin \r\n> 0 and bhe.XIsInEffect = 1 join ESetHasEntitlement ehe on bhe.uid_ESet = ehe.uid_ESet and ehe.XOrigin > 0 and ehe.XIsInEffect = 1 join QERAssign y on \r\nehe.entitlement = y.XObjectKey join BaseTree b on bhe.UID_Org = b.UID_Org  and not (b.UID_OrgRoot in ( 'QER-V-ITShopOrg', 'QER-V-ITShopSrc') and b.ITShopInfo\r\n in ( 'BO', 'PR', 'BG', 'BT') ) join OrgRootAssign oa on oa.UID_OrgRoot = b.UID_OrgRoot and oa.UID_BaseTreeAssign = @UID_BasetreeAssignToUse and oa.IsAssignmentAllowed\r\n = 1 end else begin  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, x.GenProcID\r\n from ( select cu.UID_Parameter as uid, cu.GenProcID from @DBQueueCurrent cu ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-BaseTreeHasObject', @DBQueueElements_01\r\n end end  insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectAfter ) select 1, 0 , s.Element\r\n, pd.UID_QERAssignPredecessor, @QBM_BitPatternXOrigin_Inherit , s.XIsInEffectAfter from @SourceData s join BaseTree b on s.element = b.UID_Org and not \r\n(b.UID_OrgRoot in ( 'QER-V-ITShopOrg', 'QER-V-ITShopSrc') and b.ITShopInfo in ( 'BO', 'PR', 'BG', 'BT') ) cross apply dbo.QER_FTQERAssignPredecessor(s.AssignedElement\r\n) pd where s.IsUpcommingContent = 1 and pd.UID_QERAssign <> pd.UID_QERAssignPredecessor  exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = \r\n0, @DeltaDelete = 0, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output \r\n, @UseIsInEffect = 1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaOrigin > 0 begin exec QBM_PMNTableOriginUpdate\r\n 'BaseTreeHasQERAssign', 'UID_Org', 'uid_QERAssign' end if @CountDeltaQantity > 0 begin exec QER_PMNTableAddViewProperties 'BaseTreeHasQERAssign' exec \r\nQBM_PMNTableInsert 'BaseTreeHasQERAssign', 'UID_Org', 'uid_QERAssign', @TargetIsView = 1 , @FKTableNameElement = 'BaseTree' , @FKColumnNameElement = 'UID_Org'\r\n end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZOrgHasQERResource",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.24",
      "ModifyDate": "2026-04-14T23:20:39.947",
      "Definition": "       create   procedure QER_ZOrgHasQERResource (@SlotNumber int) AS begin declare @GenProcID varchar(38) declare @UID_BasetreeAssignToUse varchar\r\n(38) = 'QER-AsgnBT-QERResource' declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin int declare @DBQueueCurrent QBM_YDBQueueCurrent\r\n declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin\r\n('|Inherit|', 1)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  insert\r\n into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore , XIsInEffectBefore ) select 0, 0 , UID_org, UID_QERResource\r\n, XOrigin , XIsInEffect from BaseTreeHasQERResource join @DBQueueCurrent x on UID_org =x.uid_parameter insert into @SourceData( IsUpcommingContent, XOriginBefore\r\n, XOriginAfter , Element, AssignedElement , XIsInEffectAfter ) select 1, 0, oha.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv , oha.uid_org, oha.UID_QERResource\r\n , 1 from BaseTreeHasQERResource oha join @DBQueueCurrent x on oha.UID_org = x.uid_parameter  where oha.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > \r\n0 insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectAfter ) select 1, 0 , x.UID_Parameter\r\n, oha.UID_QERResource , @QBM_BitPatternXOrigin_Inherit , 1 from BaseTreeHasQERResource oha join BaseTreeCollection oc on oha.UID_org = oc.UID_parentorg\r\n and oha.XOrigin > 0 and oha.XIsInEffect = 1 join @DBQueueCurrent x on oc.UID_org = x.uid_parameter where oc.UID_org <> oc.UID_parentorg  and oha.XOrigin\r\n & @QBM_BitPatternXOrigin_Inherit_inv > 0 if dbo.QBM_FGIModuleExists('RMS') = 1 begin if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\NoESetSplitting'\r\n) = '' begin insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectAfter ) select 1, 0 , x.UID_Parameter\r\n, y.UID_QERResource, @QBM_BitPatternXOrigin_Inherit  , 1 from @DBQueueCurrent x join BaseTreeHasEset bhe on x.UID_Parameter = bhe.uid_org and bhe.XOrigin\r\n > 0 and bhe.XIsInEffect = 1 join ESetHasEntitlement ehe on bhe.uid_ESet = ehe.uid_ESet and ehe.XIsInEffect = 1 and ehe.XOrigin > 0 join QERResource y \r\non ehe.entitlement = y.XObjectKey join BaseTree b on bhe.UID_Org = b.UID_Org  and not (b.UID_OrgRoot in ( 'QER-V-ITShopOrg', 'QER-V-ITShopSrc') and b.ITShopInfo\r\n in ( 'BO', 'PR', 'BG', 'BT') ) join OrgRootAssign oa on oa.UID_OrgRoot = b.UID_OrgRoot and oa.UID_BaseTreeAssign = @UID_BasetreeAssignToUse and oa.IsAssignmentAllowed\r\n = 1 end else begin  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, x.GenProcID\r\n from ( select cu.UID_Parameter as uid, cu.GenProcID from @DBQueueCurrent cu ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-BaseTreeHasObject', @DBQueueElements_01\r\n end end  insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectAfter ) select 1, 0 , s.Element\r\n, pd.UID_QERResourcePredecessor, @QBM_BitPatternXOrigin_Inherit , s.XIsInEffectAfter from @SourceData s join BaseTree b on s.element = b.UID_Org and not\r\n (b.UID_OrgRoot in ( 'QER-V-ITShopOrg', 'QER-V-ITShopSrc') and b.ITShopInfo in ( 'BO', 'PR', 'BG', 'BT') ) cross apply dbo.QER_FTQERResourcePredecessor\r\n(s.AssignedElement) pd where s.IsUpcommingContent = 1 and pd.UID_QERResource <> pd.UID_QERResourcePredecessor  exec QBM_PDBQueueCalculateDelta @SourceData\r\n, @DeltaQuantity = 0, @DeltaDelete = 0, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin\r\n output , @UseIsInEffect = 1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaOrigin > 0 begin exec QBM_PMNTableOriginUpdate\r\n 'BaseTreeHasQERResource', 'UID_Org', 'uid_QERResource' end if @CountDeltaQantity > 0 begin exec QER_PMNTableAddViewProperties 'BaseTreeHasQERResource'\r\n exec QBM_PMNTableInsert 'BaseTreeHasQERResource', 'UID_Org', 'uid_QERResource', @TargetIsView = 1 , @FKTableNameElement = 'BaseTree' , @FKColumnNameElement\r\n = 'UID_Org' end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZOrgHasQERReuse",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.143",
      "ModifyDate": "2026-04-14T23:20:39.82",
      "Definition": "       create   procedure QER_ZOrgHasQERReuse (@SlotNumber int) AS begin declare @GenProcID varchar(38) declare @UID_BasetreeAssignToUse varchar\r\n(38) = 'QER-AsgnBT-QERReuse' declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin int declare @DBQueueCurrent QBM_YDBQueueCurrent\r\n declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin\r\n('|Inherit|', 1)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  insert\r\n into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore , XIsInEffectBefore ) select 0, 0 , UID_org, bha.UID_QERReuse\r\n as UID_QERReuse, XOrigin , XIsInEffect from BaseTreeHasQERReuse bha join @DBQueueCurrent x on bha.UID_org =x.uid_parameter  insert into @SourceData( IsUpcommingContent\r\n, XOriginBefore, XOriginAfter , Element, AssignedElement , XIsInEffectAfter ) select 1, 0, oha.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv , oha.uid_org\r\n, oha.UID_QERReuse , 1 from BaseTreeHasQERReuse oha join @DBQueueCurrent x on oha.UID_org = x.uid_parameter  where oha.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv\r\n > 0 insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectAfter ) select 1, 0 , x.uid_parameter\r\n, oha.UID_QERReuse as UID_QERReuse , @QBM_BitPatternXOrigin_Inherit , 1 from BaseTreeHasQERReuse oha join BaseTreeCollection oc on oha.UID_org = oc.UID_parentorg\r\n and oha.XOrigin > 0 and oha.XIsInEffect = 1 join @DBQueueCurrent x on oc.UID_org = x.uid_parameter where oc.UID_org <> oc.UID_parentorg  and oha.XOrigin\r\n & @QBM_BitPatternXOrigin_Inherit_inv > 0 if dbo.QBM_FGIModuleExists('RMS') = 1 begin if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\NoESetSplitting'\r\n) = '' begin insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectAfter ) select 1, 0 , x.UID_Parameter\r\n, y.UID_QERReuse, @QBM_BitPatternXOrigin_Inherit  , 1 from @DBQueueCurrent x join BaseTreeHasEset bhe on x.uid_Parameter = bhe.uid_org and bhe.XOrigin \r\n> 0 and bhe.XIsInEffect = 1 join ESetHasEntitlement ehe on bhe.uid_ESet = ehe.uid_ESet and ehe.XOrigin > 0 and ehe.XIsInEffect = 1 join QERReuse y on ehe.entitlement\r\n = y.XObjectKey join BaseTree b on bhe.UID_Org = b.UID_Org  and not (b.UID_OrgRoot in ( 'QER-V-ITShopOrg', 'QER-V-ITShopSrc') and b.ITShopInfo in ( 'BO'\r\n, 'PR', 'BG', 'BT') ) join OrgRootAssign oa on oa.UID_OrgRoot = b.UID_OrgRoot and oa.UID_BaseTreeAssign = @UID_BasetreeAssignToUse and oa.IsAssignmentAllowed\r\n = 1 end else begin  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, x.GenProcID\r\n from ( select cu.UID_Parameter as uid, cu.GenProcID from @DBQueueCurrent cu ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-BaseTreeHasObject', @DBQueueElements_01\r\n end end  insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectAfter ) select 1, 0 , s.Element\r\n, pd.UID_QERReusePredecessor, @QBM_BitPatternXOrigin_Inherit , s.XIsInEffectAfter from @SourceData s join BaseTree b on s.element = b.UID_Org and not (b.UID_OrgRoot\r\n in ( 'QER-V-ITShopOrg', 'QER-V-ITShopSrc') and b.ITShopInfo in ( 'BO', 'PR', 'BG', 'BT') ) cross apply dbo.QER_FTQERReusePredecessor(s.AssignedElement\r\n) pd where s.IsUpcommingContent = 1 and pd.UID_QERReuse <> pd.UID_QERReusePredecessor  exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0,\r\n @DeltaDelete = 0, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , \r\n@UseIsInEffect = 1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaOrigin > 0 begin exec QBM_PMNTableOriginUpdate 'BaseTreeHasQERReuse'\r\n, 'UID_Org', 'uid_QERReuse' end if @CountDeltaQantity > 0 begin exec QER_PMNTableAddViewProperties 'BaseTreeHasQERReuse' exec QBM_PMNTableInsert 'BaseTreeHasQERReuse'\r\n, 'UID_Org', 'uid_QERReuse', @TargetIsView = 1 , @FKTableNameElement = 'BaseTree' , @FKColumnNameElement = 'UID_Org' end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZOrgHasQERReuseUS",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.19",
      "ModifyDate": "2026-04-14T23:20:39.883",
      "Definition": "       create   procedure QER_ZOrgHasQERReuseUS (@SlotNumber int) AS begin declare @GenProcID varchar(38) declare @UID_BasetreeAssignToUse varchar\r\n(38) = 'QER-AsgnBT-QERReuseUS' declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin int declare @DBQueueCurrent QBM_YDBQueueCurrent\r\n declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin\r\n('|Inherit|', 1)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  insert\r\n into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore , XIsInEffectBefore ) select 0, 0 , UID_org, UID_QERReuseUS\r\n, XOrigin , XIsInEffect from BaseTreeHasQERReuseUS join @DBQueueCurrent x on UID_org =x.uid_parameter insert into @SourceData( IsUpcommingContent, XOriginBefore\r\n, XOriginAfter , Element, AssignedElement , XIsInEffectAfter ) select 1, 0, oha.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv , oha.uid_org, oha.UID_QERReuseUS\r\n , 1 from BaseTreeHasQERReuseUS oha join @DBQueueCurrent x on oha.UID_org = x.uid_parameter  where oha.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0\r\n insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectAfter ) select 1, 0 , x.UID_Parameter\r\n, oha.UID_QERReuseUS, @QBM_BitPatternXOrigin_Inherit , 1 from BaseTreeHasQERReuseUS oha join BaseTreeCollection oc on oha.UID_org = oc.UID_parentorg and\r\n oha.XOrigin > 0 and oha.XIsInEffect = 1 join @DBQueueCurrent x on oc.UID_org = x.uid_parameter where oc.UID_org <> oc.UID_parentorg  and oha.XOrigin &\r\n @QBM_BitPatternXOrigin_Inherit_inv > 0 if dbo.QBM_FGIModuleExists('RMS') = 1 begin if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\NoESetSplitting'\r\n) = '' begin insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectAfter ) select 1, 0 , x.UID_Parameter\r\n, y.UID_QERReuseUS, @QBM_BitPatternXOrigin_Inherit  , 1 from @DBQueueCurrent x join BaseTreeHasEset bhe on x.UID_Parameter = bhe.uid_org and bhe.XOrigin\r\n > 0 and bhe.XIsInEffect = 1 join ESetHasEntitlement ehe on bhe.uid_ESet = ehe.uid_ESet and ehe.XOrigin > 0 and ehe.XIsInEffect = 1 join QERReuseUS y on\r\n ehe.entitlement = y.XObjectKey join BaseTree b on bhe.UID_Org = b.UID_Org  and not (b.UID_OrgRoot in ( 'QER-V-ITShopOrg', 'QER-V-ITShopSrc') and b.ITShopInfo\r\n in ( 'BO', 'PR', 'BG', 'BT') ) join OrgRootAssign oa on oa.UID_OrgRoot = b.UID_OrgRoot and oa.UID_BaseTreeAssign = @UID_BasetreeAssignToUse and oa.IsAssignmentAllowed\r\n = 1 end else begin  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, x.GenProcID\r\n from ( select cu.UID_Parameter as uid, cu.GenProcID from @DBQueueCurrent cu ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-BaseTreeHasObject', @DBQueueElements_01\r\n end end  insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectAfter ) select 1, 0 , s.Element\r\n, pd.UID_QERReuseUSPredecessor, @QBM_BitPatternXOrigin_Inherit , s.XIsInEffectAfter from @SourceData s join BaseTree b on s.element = b.UID_Org and not\r\n (b.UID_OrgRoot in ( 'QER-V-ITShopOrg', 'QER-V-ITShopSrc') and b.ITShopInfo in ( 'BO', 'PR', 'BG', 'BT') ) cross apply dbo.QER_FTQERReuseUSPredecessor(s.AssignedElement\r\n) pd where s.IsUpcommingContent = 1 and pd.UID_QERReuseUS <> pd.UID_QERReuseUSPredecessor  exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity \r\n= 0, @DeltaDelete = 0, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output\r\n , @UseIsInEffect = 1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaOrigin > 0 begin exec QBM_PMNTableOriginUpdate\r\n 'BaseTreeHasQERReuseUS', 'UID_Org', 'uid_QERReuseUS' end if @CountDeltaQantity > 0 begin exec QER_PMNTableAddViewProperties 'BaseTreeHasQERReuseUS' exec\r\n QBM_PMNTableInsert 'BaseTreeHasQERReuseUS', 'UID_Org', 'uid_QERReuseUS', @TargetIsView = 1 , @FKTableNameElement = 'BaseTree' , @FKColumnNameElement =\r\n 'UID_Org' end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZOrgInherite",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.923",
      "ModifyDate": "2026-04-14T23:20:39.53",
      "Definition": "       create   procedure QER_ZOrgInherite (@SlotNumber int) AS begin declare @CurrentBulkRoot int declare @CurrentBulkSubTree int declare @uid_orgroot\r\n varchar(38) declare @CountItems int declare @CountOfSubtree int declare @IsTopDown bit declare @RootRechnen int declare @GenProcID varchar(38) declare\r\n @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into\r\n @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from\r\n QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end select @CurrentBulkRoot = m.CurrentBulk\r\n from QBMDBQueueTaskMetric m with (readpast) where UID_Task = 'QER-K-OrgROOT' select @CurrentBulkSubTree = m.CurrentBulk from QBMDBQueueTaskMetric m with\r\n (readpast) where UID_Task = 'QER-K-OrgSubTree'  insert into @ElementBuffer (UID1  , Int1  , Bit1  , UID2  ) select b.uid_orgroot, count(*) as CountItems\r\n , r.isTopdown, max(p.Genprocid) from @DBQueueCurrent p join BaseTree b on p.uid_parameter = b.uid_org join Orgroot r on r.uid_orgroot = b.uid_orgroot \r\ngroup by b.uid_orgroot, r.istopdown select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 \r\n@uid_OrgRoot = bu.UID1  , @CountItems = bu.Int1  , @IsTopDown = bu.Bit1  , @GenprocID = bu.UID2  from @ElementBuffer bu where bu.ElementIndex = @ElementIndex\r\n  select @RootRechnen = 0  if exists (select top 1 1 from DialogDBQueue q with (nolock) where q.UID_Task = 'QER-K-OrgROOT' and q.Object = @uid_OrgRoot \r\n and q.Generation >= 0 ) begin  select @RootRechnen = 1 goto einstellen end if @IsTopDown = 0 begin  select @RootRechnen = 1 goto einstellen end select\r\n @CountOfSubtree = count(*) from dialogdbqueue q with (nolock) join BaseTree bq on q.object = bq.uid_org and q.UID_Task = 'QER-K-OrgSubTree' and bq.uid_Orgroot\r\n = @uid_orgroot  where q.Generation >= 0  if @CountItems + @CountOfSubtree < 45 begin  goto einstellen end else begin  if @CurrentBulkRoot < 2  begin  \r\nselect @RootRechnen = 1 goto einstellen end if @CountOfSubtree > @CurrentBulkSubTree begin  select @RootRechnen = 1 goto einstellen end else begin  select\r\n @RootRechnen = 0 goto einstellen end end einstellen:  if @RootRechnen = 1 begin exec QBM_PDBQueueInsert_single 'QER-K-OrgROOT', @uid_OrgRoot, null, @GenProcID\r\n end else begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, x.GenProcID\r\n from ( select distinct p.uid_Parameter as uid , p.GenProcID from @DBQueueCurrent p join BaseTree b on p.uid_parameter = b.uid_org where b.uid_OrgRoot \r\n= @uid_OrgRoot ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgSubTree', @DBQueueElements_01 end select @ElementIndex += 1 end  END TRY BEGIN CATCH exec \r\nQBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZOrgRoot",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.937",
      "ModifyDate": "2026-04-14T23:20:39.55",
      "Definition": "      create   procedure QER_ZOrgRoot ( @SlotNumber int , @UID_OrgRoot varchar(38), @dummy varchar(38) , @GenProcID varchar(38) ) AS begin  declare\r\n @IsSimulationMode bit = dbo.QBM_FGIIsSimulationMode() declare @QBMDeltaHelper QBM_YDBQueueDeltaHelper BEGIN TRY declare @topdown bit declare @AnzahlRow\r\n int declare @Debugswitch int = 0 declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin int    select @topdown = isTopDown\r\n from orgroot where uid_orgroot = @UID_OrgRoot if @Debugswitch > 0 begin print 'QER_ZOrgRoot : ' + @uid_Orgroot end  insert into @SourceData( IsUpcommingContent\r\n, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 0, 2 , co.UID_Org , co.UID_ParentOrg, 0 from BaseTreeCollection co where co.uid_org in\r\n (select uid_org from BaseTree where uid_orgroot = @UID_OrgRoot )   insert into @QBMDeltaHelper (Element, AssignedElement, XOrigin) select uid_org, uid_org\r\n , 2 from BaseTree where uid_orgroot = @UID_OrgRoot   select @AnzahlRow = 1 while @AnzahlRow > 0 begin if @topdown = 1 begin  insert into @QBMDeltaHelper\r\n (Element, AssignedElement, XOrigin) select distinct y.Element, x.UId_parentorg , 2  from BaseTree x, @QBMDeltaHelper y where x.uid_orgroot = @UID_OrgRoot\r\n and x.uid_org = y.AssignedElement and x.uid_parentorg > ' ' and not exists (select top 1 1 from @QBMDeltaHelper h where h.Element = y.Element and h.AssignedElement\r\n = x.uid_parentorg ) and x.isCutNode = 0 select @AnzahlRow = @@rowcount end else  begin  insert into @QBMDeltaHelper (Element,AssignedElement, XOrigin)\r\n select distinct y.Element, x.uid_org , 2  from BaseTree x, @QBMDeltaHelper y where x.uid_orgroot = @UID_OrgRoot and x.uid_parentorg = y.AssignedElement\r\n  and not exists (select top 1 1 from @QBMDeltaHelper h where h.Element = y.Element and h.AssignedElement = x.uid_org ) and x.isCutNode = 0 select @AnzahlRow\r\n = @@rowcount end end   insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement ) select 1, 0, 2 , Element,\r\n AssignedElement from @QBMDeltaHelper if @Debugswitch > 0 begin select * from @SourceData end exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity\r\n = 1, @DeltaDelete = 0, @DeltaInsert = 0, @DeltaOrigin = 0, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output\r\n , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber  if @Debugswitch > 0 begin print '@CountDeltaQantity ' + str(@CountDeltaQantity) end if @CountDeltaQantity\r\n > 0 begin   delete from BaseTreeCollection where uid_org in (select uid_org from BaseTree where uid_orgroot = @UID_OrgRoot )  if @IsSimulationMode = 1\r\n begin declare @SimulationModeBuffer QBM_YTriggerOperation insert into @SimulationModeBuffer (operation, BaseObjectType, ColumnName, Objectkey, OldValue\r\n) select 'I', dbo.QER_FGIOrgRootName(b.uid_orgroot)+ 'Collection', '', dbo.QBM_FCVElementToObjectKey2(dbo.QER_FGIOrgRootName(b.uid_orgroot)+ 'Collection'\r\n, 'uid_' + dbo.QER_FGIOrgRootName(b.uid_orgroot), c.Element, 'uid_Parent' + dbo.QER_FGIOrgRootName(b.uid_orgroot), c.AssignedElement) , ''  from @QBMDeltaHelper\r\n c join BaseTree b on c.Element = b.uid_org exec QBM_PFESimulationFill @SimulationModeBuffer end  insert into BaseTreeCollection (uid_org, uid_parentorg\r\n) select Element, AssignedElement from @QBMDeltaHelper declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, \r\ngenprocid) select x.uid, null, x.GenProcID from ( select d.Element as uid, @GenProcID as GenProcID  from #QBMDeltaQuantity d ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-AllForOneOrg', @DBQueueElements_01 exec QBM_PDBQueueInsert_Bulk 'QER-K-BaseTreeCollectionF', @DBQueueElements_01 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende:    truncate table #QBMDeltaDelete return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZOrgSubTree",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.957",
      "ModifyDate": "2026-04-14T23:20:39.573",
      "Definition": "  create   procedure QER_ZOrgSubTree (@SlotNumber int) AS begin declare @uid_org varchar(38) declare @SubObject varchar(38) declare @GenProcID varchar\r\n(38) declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int SET XACT_ABORT OFF BEGIN TRY insert into @ElementBuffer\r\n (UID1, UID2, UID3) select UID_Parameter , UID_SubParameter, GenProcID from QBMDBQueueCurrent p with (readpast) where p.SlotNumber = @SlotNumber select\r\n @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @uid_org = bu.UID1 , @SubObject = bu.UID2 \r\n, @GenProcID = bu.UID3 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex exec QER_POrgSubTree @uid_org, @SubObject, @GenProcID select @ElementIndex\r\n += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZOrgTreeLevel",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.97",
      "ModifyDate": "2026-04-14T23:20:39.59",
      "Definition": "       create   procedure QER_ZOrgTreeLevel (@SlotNumber int) AS begin declare @CountItems int    declare @QBMDeltaHelper QBM_YDBQueueDeltaHelper\r\n declare @DBQueueCurrent QBM_YDBQueueCurrent declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end   insert into @QBMDeltaHelper(Element\r\n, AssignedElement, XOrigin) select b.uid_org, convert(varchar(38), isnull(b.treelevel, -1)) ,0 from @DBQueueCurrent p join BaseTree b on b.uid_org = p.uid_parameter\r\n where b.uid_parentorg is null select @CountItems = @@rowcount if @CountItems > 0 begin  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, x.GenProcID  from ( select b.uid_org as uid, p.genprocid from BaseTree b join @DBQueueCurrent p on \r\nb.uid_parentorg = p.uid_parameter  join @QBMDeltaHelper v on v.Element = p.uid_parameter and convert(int, v.AssignedElement) <> v.XOrigin ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-OrgTreeLEVEL', @DBQueueElements_01  update BaseTree set treelevel = 0   , XDateUpdated = @Xdate , XUserUpdated = @XUser where exists (select top\r\n 1 1 from @QBMDeltaHelper v where convert(int, v.AssignedElement) <> v.XOrigin and BaseTree.uid_org = v.Element ) end   insert into @QBMDeltaHelper(Element\r\n, AssignedElement, XOrigin) select b.uid_org, convert(varchar(38), isnull(b.treelevel, -3)) , isnull(pa.treelevel, -2) +1 from @DBQueueCurrent p join BaseTree\r\n b on b.uid_org = p.uid_parameter join BaseTree pa on b.uid_parentorg = pa.uid_org  declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select b.uid_org as uid, p.genprocid from BaseTree b join @DBQueueCurrent p on b.uid_parentorg\r\n = p.uid_parameter  join @QBMDeltaHelper v on v.Element = p.uid_parameter and convert(int, v.AssignedElement) <> v.XOrigin  and v.XOrigin <> 0  union select\r\n p.uid_parameter, p.genprocid  from @QBMDeltaHelper v join @DBQueueCurrent p on v.Element = p.uid_parameter and convert(int, v.AssignedElement) = -3 ) \r\nas x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgTreeLEVEL', @DBQueueElements_02  update BaseTree set treelevel = v.XOrigin   , XDateUpdated = @Xdate , XUserUpdated\r\n = @XUser from BaseTree, @QBMDeltaHelper v where v.Element = BaseTree.uid_org and convert(int, v.AssignedElement) <> v.XOrigin     and v.XOrigin >= 0  \r\nEND TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZPersonCheckDynUser",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.07",
      "ModifyDate": "2026-04-14T23:20:39.723",
      "Definition": "   create   procedure QER_ZPersonCheckDynUser (@SlotNumber int) AS begin declare @UID_DialogUser varchar(38) declare @UID_Person varchar(38) declare\r\n @ElementLast int declare @ElementBufferMulti QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int BEGIN TRY   insert into @ElementBufferMulti\r\n (UID1) select cu.UID_Parameter from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber select @ElementCount = @@ROWCOUNT select @ElementIndex\r\n = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY  while @ElementIndex <= @ElementLast begin select top 1 @UID_Person = bu.UID1 from @ElementBufferMulti\r\n bu where bu.ElementIndex = @ElementIndex exec QBM_PDynamicUserForPerson @UID_Person, null, @UID_DialogUser output      select @ElementIndex += 1 end  \r\nEND TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZPersonFindGenerateFunct",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.573",
      "ModifyDate": "2026-04-14T23:20:40.393",
      "Definition": "    create   procedure QER_ZPersonFindGenerateFunct (@SlotNumberDummy int , @dummy1 varchar(38) , @dummy2 varchar(38) , @dummyGenProcID varchar(38\r\n) ) as begin declare @DisabledBy varchar(1024) = dbo.QBM_FGIConfigparmValue('QER\\Person\\PasswordResetAuthenticator\\DisabledBy') declare @EnabledBy varchar\r\n(1024) = dbo.QBM_FGIConfigparmValue('QER\\Person\\PasswordResetAuthenticator\\EnabledBy') declare @SearchColumn varchar(1024) = dbo.QBM_FGIConfigparmValue\r\n('QER\\Person\\PasswordResetAuthenticator\\SearchColumn') declare @SearchTable varchar(30) = dbo.QBM_FGIConfigparmValue('QER\\Person\\PasswordResetAuthenticator\\SearchTable'\r\n) declare @DisabledConverted nvarchar(max) declare @EnabledConverted nvarchar(max) declare @PersonColumnName varchar(30) declare @FunctionName varchar(30\r\n) = 'QER_FTPersonFindByTSProp' declare @FunctionBody nvarchar(max) declare @header nvarchar(max) = 'create or alter function dbo.QER_FTPersonFindByTSProp( @CompareValue nvarchar(400) \r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\treturns @erg table (UID_Person varchar(38) \r\n\t\t\t\t\t\t)\r\nas \r\nbegin\r\n\tinsert into @erg(UID_Person)\r\n'\r\n declare @footer nvarchar(max) = '\r\n\r\nreturn\r\n\r\nend\r\n\r\n' declare @DebugSwitch int = 0 declare @ResetMessage nvarchar(4000) BEGIN TRY if @DebugSwitch > \r\n0 begin select @SearchColumn = 'cn|DistinguishedName|GivenName' select @SearchTable = 'ADSAccount' select @DisabledBy = 'AllowDialIn|IsGroupAccount'   \r\n    end select top 1 @PersonColumnName = r.ChildColumn from QBM_VQBMRelation r join QBMModuleDef d on dbo.QBM_FCVGUIDToModuleOwner(r.UID_QBMRelation) =\r\n d.ModuleName where r.ChildTable = @SearchTable and r.ParentTable = 'Person'  order by d.SortOrder asc if @SearchTable = 'Person' begin select @PersonColumnName\r\n = 'UID_Person' end  select @DisabledConverted =  concat('\r\n\t-- disabled\r\n\tand ' , replace(@DisabledBy, '|', ' = 0 and ') , ' = 0' ) select @EnabledConverted\r\n =  concat('\r\n\t-- enabled\r\n\tand ' , replace(@EnabledBy, '|', ' = 1 and ') , ' = 1' )  if @SearchColumn > ' ' and @SearchTable > ' ' begin select @FunctionBody\r\n = concat( @header, '\r\n\tselect ', @PersonColumnName , ' \r\n\tfrom ', @SearchTable , ' \r\n\twhere ', ( select concat( '(', String_agg(concat(s.Parameter1 , \r\n' = @CompareValue ') , ' or '), ')' ) from dbo.QBM_FCVStringToList_i(@SearchColumn, '|', 1, 0, '') s ), '  \r\n\t\t', case  when @EnabledBy > ' ' then @EnabledConverted\r\n else '' end , case when @DisabledBy > ' ' then @DisabledConverted else '' end , @footer )  end else begin  select @FunctionBody = concat(@header, ' select p.UID_Person\r\n\tfrom Person p\r\n\twhere p.CentralAccount = @CompareValue\r\n\r\n\t'\r\n, @footer ) end if @DebugSwitch > 0 begin print @functionbody end BEGIN TRY    if dbo.QBM_FGIDBOwner() = 'CCC' begin select @FunctionBody = dbo.QBM_FSQRemoveComment_i\r\n(@FunctionBody, 1) end exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @FunctionBody , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , \r\n@ProcIDForJournal = default , @HandleErrorSilent = 0 , @ExecuteWithTransact = 0 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default select @ResetMessage\r\n = ERROR_MESSAGE() if @@TRANCOUNT > 0 begin rollback end  exec QBM_PDBQueueCurrentResetNGen @SlotNumberDummy , @ResetMessage , @@PROCID END CATCH END TRY\r\n BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZPersonHasObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.283",
      "ModifyDate": "2026-04-14T23:20:40.003",
      "Definition": "      create   procedure QER_ZPersonHasObject (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @DBQueueCurrent QBM_YDBQueueCurrent declare @QER_BitPatternInherit_Direct int = dbo.QER_FGIBitPatternInheritInfo('|Direct|', 0) declare @QER_BitPatternInherit_Master\r\n int = dbo.QER_FGIBitPatternInheritInfo('|Master|', 0)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 0, 0 , uid_person\r\n, ObjectKey, InheritInfo from PersonHasObject pho join @DBQueueCurrent x on uid_person = x.uid_parameter cross join (select distinct dbo.QER_FGIOrgRootName\r\n(r.uid_orgRoot) as OrgRootName from OrgRoot r ) as rn where  pho.ObjectKey like '<Key><T>' + rn.OrgRootName + '</T>%' insert into @SourceData( IsUpcommingContent\r\n, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 0, 0 , uid_person, ObjectKey, InheritInfo from PersonHasObject pho join @DBQueueCurrent\r\n x on uid_person = x.uid_parameter where pho.ObjectKey like '<Key><T>QERAssign</T>%' or pho.ObjectKey like '<Key><T>QERResource</T>%' or pho.ObjectKey \r\nlike '<Key><T>QERReuse</T>%' or pho.ObjectKey like '<Key><T>QERReuseUS</T>%'  insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement\r\n, XOriginAfter ) select x.IsUpcommingContent, x.XOriginBefore, x.Element, x.AssignedElement, dbo.QER_FCVXOriginToInheritInfo(x.XOrigin) from ( select 1\r\n as IsUpcommingContent, 0 as XOriginBefore , y.uid_person as Element, z.XObjectKey as AssignedElement, y.XOrigin from PersonHasQERAssign y join @DBQueueCurrent\r\n x on y.uid_person= x.uid_parameter and y.XOrigin > 0 and y.XIsInEffect = 1 join QERAssign z on y.uid_QERAssign = z.uid_QERAssign union all select 1, 0\r\n , y.uid_person, z.XObjectKey, y.XOrigin from PersonHasQERResource y join @DBQueueCurrent x on y.uid_person= x.uid_parameter and y.XOrigin > 0 and y.XIsInEffect\r\n = 1  join QERResource z on y.uid_QERResource = z.uid_QERResource union all select 1, 0 , y.uid_person, z.XObjectKey, y.XOrigin from PersonHasQERReuse \r\ny join @DBQueueCurrent x on y.uid_person= x.uid_parameter and y.XOrigin > 0 and y.XIsInEffect = 1  join QERReuse z on y.uid_QERReuse = z.uid_QERReuse union\r\n all select 1, 0 , y.uid_person, z.XObjectKey, y.XOrigin from PersonHasQERReuseUS y join @DBQueueCurrent x on y.uid_person= x.uid_parameter and y.XOrigin\r\n > 0 and y.XIsInEffect = 1 join QERReuseUS z on y.uid_QERReuseUS = z.uid_QERReuseUS ) as x  insert into @SourceData( IsUpcommingContent, XOriginBefore \r\n, Element, AssignedElement, XOriginAfter ) select 1, 0 , y.uid_person, q.XObjectKey, dbo.QER_FCVXOriginToInheritInfo(y.XOrigin) from PersonInBaseTree y\r\n join @DBQueueCurrent x on y.uid_person= x.uid_parameter and y.XOrigin > 0 join BaseTree q on y.uid_org = q.uid_org  where q.UID_OrgRoot <> 'QER-V-ITShopOrg'\r\n insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , y.uid_person, q.XObjectKey, dbo.QER_FCVXOriginToInheritInfo\r\n(y.XOrigin) from PersonInBaseTree y join @DBQueueCurrent x on y.uid_person= x.uid_parameter and y.XOrigin > 0 join BaseTree q on y.uid_org = q.uid_org \r\n where q.UID_OrgRoot = 'QER-V-ITShopOrg' and q.ITShopInfo <> 'PR'  insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement\r\n, XOriginAfter ) select 1, 0 , y.uid_person, q.XObjectKey, @QER_BitPatternInherit_Direct from HelperPersonOrg y join @DBQueueCurrent x on y.uid_person=\r\n x.uid_parameter join BaseTree q on y.uid_org = q.uid_org   insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter\r\n )  select 1, 0 , m.uid_person, pho.objectkey, @QER_BitPatternInherit_Master FROM @DBQueueCurrent x JOIN person m with (readpast)ON m.UID_Person = x.uid_parameter\r\n JOIN person s with (readpast) ON s.UID_PersonMasterIdentity = m.uid_Person JOIN PersonHasObject pho with (readpast) ON pho.uid_person = s.uid_person join\r\n (SELECT DISTINCT dbo.QER_FGIOrgRootName(r.uid_orgRoot) AS OrgRootName FROM OrgRoot r ) AS rn on pho.ObjectKey LIKE '<Key><T>' + rn.OrgRootName + '</T>%'\r\n option (force order)   insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , m.uid_person\r\n, pho.objectkey, @QER_BitPatternInherit_Master from @DBQueueCurrent x join person m on m.UID_Person = x.uid_parameter  join person s on s.UID_PersonMasterIdentity\r\n = m.uid_Person join PersonHasObject pho on pho.uid_person = s.uid_person   where pho.ObjectKey like '<Key><T>QERAssign</T>%' or pho.ObjectKey like '<Key><T>QERResource</T>%'\r\n or pho.ObjectKey like '<Key><T>QERReuse</T>%' or pho.ObjectKey like '<Key><T>QERReuseUS</T>%'   berechnen: exec QBM_PDBQueueCalculateDelta @SourceData\r\n, @DeltaQuantity = 1, @DeltaDelete = 1, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin\r\n output , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent exec QER_PPersonHasObjectPostProc @SlotNumber , @CountDeltaOrigin\r\n , @CountDeltaQantity , 'QER-K-PersonHasObject' END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel:\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZPersonHasObjectExtAtt",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.303",
      "ModifyDate": "2026-04-14T23:20:40.03",
      "Definition": "   create   procedure QER_ZPersonHasObjectExtAtt (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @QER_BitPattern_Inherit_0 int = dbo.QER_FGIBitPatternInheritInfo('|Inherit|', 0) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @QER_BitPatternInherit_Master\r\n int = dbo.QER_FGIBitPatternInheritInfo('|Master|', 0)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 0, 0 , pho.UID_Person\r\n, pho.ObjectKey, pho.InheritInfo from PersonHasObject pho join @DBQueueCurrent x on pho.UID_Person = x.uid_parameter where pho.ObjectKey like '<Key><T>ExtendedAttribute</T>%'\r\n  insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , y.uid_person, ea.XObjectKey, @QER_BitPattern_Inherit_0\r\n from PersonHasObject y join @DBQueueCurrent x on y.uid_person= x.uid_parameter join ObjectHasExtendedAttribute oha on oha.ObjectKeyOfObject = y.ObjectKey\r\n join ExtendedAttribute ea on oha.UID_ExtendedAttribute = ea.UID_ExtendedAttribute where y.ObjectKey not like '<Key><T>ExtendedAttribute</T>%'  insert \r\ninto @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , m.uid_person, pho.objectkey, @QER_BitPatternInherit_Master\r\n from @DBQueueCurrent x join person m on m.UID_Person = x.uid_parameter join person s on s.UID_PersonMasterIdentity = m.uid_Person join PersonHasObject\r\n pho on pho.uid_person = s.uid_person where pho.ObjectKey like '<Key><T>ExtendedAttribute</T>%'  berechnen: exec QBM_PDBQueueCalculateDelta @SourceData\r\n, @DeltaQuantity = 1, @DeltaDelete = 1, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin\r\n output , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent exec QER_PPersonHasObjectPostProc @SlotNumber , @CountDeltaOrigin\r\n , @CountDeltaQantity , 'QER-K-PersonHasObjectExtAtt' END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZPersonHasQERAssign",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.12",
      "ModifyDate": "2026-04-14T23:20:39.787",
      "Definition": "        create   procedure QER_ZPersonHasQERAssign (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @GenProcID varchar(38) declare @Xdate datetime = getutcdate() declare @XUser nvarchar(64) = object_name(@@procid) declare @UID_BaseTreeAssignToUse\r\n varchar(38) = 'QER-AsgnBT-QERAssign' declare @DBQueueCurrent QBM_YDBQueueCurrent declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin\r\n('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement\r\n, XOriginBefore , XIsInEffectBefore, XIsInEffectAfter ) select 0, 0 , UID_person, UID_QERAssign, XOrigin , phr.XIsInEffect, 0 from PersonHasQERAssign phr\r\n join @DBQueueCurrent x on phr.UID_Person = x.uid_parameter if exists (select top 1 1 from DialogTable t where t.TableName = 'PersonHasQERAssign' and t.IsDeactivatedByPreProcessor\r\n = 1 ) begin goto berechnen end insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement , XIsInEffectBefore\r\n, XIsInEffectAfter ) select 1, 0, case when pd.UID_QERAssign = pd.UID_QERAssignPredecessor then phr.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv else @QBM_BitPatternXOrigin_Inherit\r\n end , phr.UID_person, pd.UID_QERAssignPredecessor as UID_QERAssign , 0, 1 from PersonHasQERAssign phr join @DBQueueCurrent x on UID_person = x.uid_parameter\r\n  join person p on phr.uid_person = p.uid_person  join QERAssign r on phr.uid_QERAssign = r.uid_QERAssign cross apply dbo.QER_FTQERAssignPredecessor(r.UID_QERAssign\r\n) pd  where phr.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement,\r\n XOriginAfter , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0 , pfo.UID_person, pd.UID_QERAssignPredecessor as UID_QERAssign , @QBM_BitPatternXOrigin_Inherit\r\n as XOrigin , 0, (eti.IsNoInheriteToSecurityIncident & pfo.IsSecurityIncident) ^1  from dbo.QER_FTPersonInheritFromOrg_L(@DBQueueCurrent, @UID_BaseTreeAssignToUse\r\n) pfo join BaseTreeHasQERAssign oha on oha.uid_org = pfo.uid_org and oha.XOrigin > 0 join QERAssign eti on oha.uid_QERAssign = eti.uid_QERAssign cross \r\napply dbo.QER_FTQERAssignPredecessor(eti.UID_QERAssign) pd berechnen: exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete = 0\r\n, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = \r\n1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaOrigin > 0 begin exec QBM_PMNTableOriginUpdate 'PersonHasQERAssign'\r\n, 'uid_Person', 'uid_QERAssign' end if @CountDeltaQantity > 0 begin exec QBM_PMNTableInsert 'PersonHasQERAssign', 'uid_Person', 'uid_QERAssign', @TargetIsView\r\n = 0 , @FKTableNameElement = 'Person' , @FKColumnNameElement = 'UID_Person' end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18\r\n, 1) WITH NOWAIT END CATCH  endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZPersonHasQERResource",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.26",
      "ModifyDate": "2026-04-14T23:20:39.977",
      "Definition": "       create   procedure QER_ZPersonHasQERResource (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , \r\n@CountDeltaOrigin int declare @GenProcID varchar(38) declare @Xdate datetime = getutcdate() declare @XUser nvarchar(64) = object_name(@@procid) declare\r\n @DebugSwitch int = 0 declare @DebugLevel varchar(1) = 'W' declare @CountRows int declare @DebugMessage nvarchar(1000) declare @UID_BaseTreeAssignToUse\r\n varchar(38) = 'QER-AsgnBT-QERResource' declare @DBQueueCurrent QBM_YDBQueueCurrent declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin\r\n('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement\r\n, XOriginBefore , XIsInEffectBefore, XIsInEffectAfter ) select 0, 0 , phr.UID_Person, phr.UID_QERResource as UID_QERResource, phr.XOrigin , phr.XIsInEffect\r\n, 0 from PersonHasQERResource phr join @DBQueueCurrent x on phr.UID_Person = x.uid_parameter  select @CountRows = @@ROWCOUNT if @DebugSwitch > 0 begin \r\nselect @DebugMessage = 'vorher ' + STR(@CountRows) exec QBM_PJournal @DebugMessage, @@PROCID, 'D', @DebugLevel end insert into @SourceData( IsUpcommingContent\r\n, XOriginBefore, XOriginAfter , Element, AssignedElement , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0, case when pd.UID_QERResource = pd.UID_QERResourcePredecessor\r\n then phr.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv else @QBM_BitPatternXOrigin_Inherit end , phr.UID_person, pd.UID_QERResourcePredecessor as UID_QERResource\r\n , 0,  case when pd.UID_QERResource = pd.UID_QERResourcePredecessor then 1 else (r.IsNoInheriteToSecurityIncident & p.IsSecurityIncident) ^1 end from PersonHasQERResource\r\n phr join @DBQueueCurrent x on UID_person = x.uid_parameter  join person p on phr.uid_person = p.uid_person  join QERResource r on phr.uid_QERResource \r\n= r.uid_QERResource cross apply dbo.QER_FTQERResourcePredecessor(r.UID_QERResource) pd  where phr.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 select\r\n @CountRows = @@ROWCOUNT if @DebugSwitch > 0 begin select @DebugMessage = 'direkt ' + STR(@CountRows) exec QBM_PJournal @DebugMessage, @@PROCID, 'D', @DebugLevel\r\n end insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectBefore, XIsInEffectAfter ) select\r\n 1, 0 , x.UID_person,pd.UID_QERResourcePredecessor as UID_QERResource , @QBM_BitPatternXOrigin_Inherit as XOrigin , 0, (r.IsNoInheriteToSecurityIncident\r\n & p.IsSecurityIncident) ^1 from ( select pha.UID_person, r.UID_QERResource from @DBQueueCurrent x join PersonHasESet pha on pha.UID_person = x.uid_parameter\r\n and pha.XOrigin > 0 and pha.XIsInEffect = 1  join person px on pha.uid_person = px.uid_person and px.isNoInherite = 0  join ESetHasEntitlement aha on \r\npha.UID_ESet = aha.UID_ESet and aha.XOrigin > 0 and aha.XIsInEffect = 1 and dbo.QBM_FGIModuleExists('RMS') = 1 Join QERResource r on aha.Entitlement = \r\nr.XObjectKey union all select pfo.UID_person, oha.UID_QERResource  from dbo.QER_FTPersonInheritFromOrg_L(@DBQueueCurrent, @UID_BaseTreeAssignToUse) pfo\r\n join BaseTreeHasQERResource oha on oha.uid_org = pfo.uid_org and oha.XOrigin > 0 and oha.XIsInEffect = 1 ) as x join person p on x.uid_person = p.uid_person\r\n join QERResource r on x.uid_QERResource = r.uid_QERResource cross apply dbo.QER_FTQERResourcePredecessor(r.UID_QERResource) pd select @CountRows = @@ROWCOUNT\r\n if @DebugSwitch > 0 begin select @DebugMessage = 'indirekt ' + STR(@CountRows) exec QBM_PJournal @DebugMessage, @@PROCID, 'D', @DebugLevel end  exec QBM_PDBQueueCalculateDelta\r\n @SourceData, @DeltaQuantity = 0, @DeltaDelete = 0, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin\r\n = @CountDeltaOrigin output , @UseIsInEffect = 1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaOrigin > 0 begin exec\r\n QBM_PMNTableOriginUpdate 'PersonHasQERResource', 'uid_Person', 'uid_QERResource' end if @CountDeltaQantity > 0 begin exec QBM_PMNTableInsert 'PersonHasQERResource'\r\n, 'uid_Person', 'uid_QERResource', @TargetIsView = 0 , @FKTableNameElement = 'Person' , @FKColumnNameElement = 'UID_Person' end END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZPersonHasQERReuse",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.167",
      "ModifyDate": "2026-04-14T23:20:39.85",
      "Definition": "       create   procedure QER_ZPersonHasQERReuse (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @GenProcID varchar(38) declare @Xdate datetime = getutcdate() declare @XUser nvarchar(64) = object_name(@@procid) declare @UID_BaseTreeAssignToUse\r\n varchar(38) = 'QER-AsgnBT-QERReuse' declare @DBQueueCurrent QBM_YDBQueueCurrent declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin\r\n('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement\r\n, XOriginBefore , XIsInEffectBefore, XIsInEffectAfter ) select 0, 0 , phr.UID_Person, phr.UID_QERReuse, phr.XOrigin , phr.XIsInEffect, 0 from PersonHasQERReuse\r\n phr join @DBQueueCurrent x on phr.UID_Person = x.uid_parameter  if exists (select top 1 1 from DialogTable t where t.TableName = 'PersonHasQERReuse' and\r\n t.IsDeactivatedByPreProcessor = 1 ) begin goto berechnen end insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement\r\n , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0, case when pd.UID_QERReuse = pd.UID_QERReusePredecessor then phr.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv\r\n else @QBM_BitPatternXOrigin_Inherit end , phr.UID_person,pd.UID_QERReusePredecessor as UID_QERReuse , 0, 1  from PersonHasQERReuse phr join @DBQueueCurrent\r\n x on UID_person = x.uid_parameter  join person p on phr.uid_person = p.uid_person  join QERReuse r on phr.uid_QERReuse = r.uid_QERReuse cross apply dbo.QER_FTQERReusePredecessor\r\n(r.UID_QERReuse) pd  where phr.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement\r\n, XOriginAfter , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0 , x.UID_person,pd.UID_QERReusePredecessor as UID_QERReuse , @QBM_BitPatternXOrigin_Inherit\r\n as XOrigin , 0, (r.IsNoInheriteToSecurityIncident & p.IsSecurityIncident) ^1 from ( select pha.UID_person, r.UID_QERReuse from @DBQueueCurrent x join \r\nPersonHasESet pha on pha.UID_person = x.uid_parameter and pha.XOrigin > 0 and pha.XIsInEffect = 1  join person px on pha.uid_person = px.uid_person and\r\n px.isNoInherite = 0  join ESetHasEntitlement aha on pha.UID_ESet = aha.UID_ESet and aha.XOrigin > 0 and aha.XIsInEffect = 1 and dbo.QBM_FGIModuleExists\r\n('RMS') = 1 Join QERReuse r on aha.Entitlement = r.XObjectKey union all select pfo.UID_person, oha.UID_QERReuse  from dbo.QER_FTPersonInheritFromOrg_L(@DBQueueCurrent\r\n, @UID_BaseTreeAssignToUse) pfo join BaseTreeHasQERReuse oha on oha.uid_org = pfo.uid_org and oha.XOrigin > 0 and oha.XIsInEffect = 1 ) as x join person\r\n p on x.uid_person = p.uid_person join QERReuse r on x.uid_QERReuse = r.uid_QERReuse cross apply dbo.QER_FTQERReusePredecessor(r.UID_QERReuse) pd berechnen:\r\n exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete = 0, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity\r\n output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaOrigin\r\n > 0 begin exec QBM_PMNTableOriginUpdate 'PersonHasQERReuse', 'uid_Person', 'uid_QERReuse' end if @CountDeltaQantity > 0 begin exec QBM_PMNTableInsert \r\n'PersonHasQERReuse', 'uid_Person', 'uid_QERReuse', @TargetIsView = 0 , @FKTableNameElement = 'Person' , @FKColumnNameElement = 'UID_Person' end END TRY\r\n BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZPersonHasQERReuseUS",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.213",
      "ModifyDate": "2026-04-14T23:20:39.91",
      "Definition": "       create   procedure QER_ZPersonHasQERReuseUS (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @GenProcID varchar(38) declare @Xdate datetime = getutcdate() declare @XUser nvarchar(64) = object_name(@@procid) declare @UID_BaseTreeAssignToUse\r\n varchar(38) = 'QER-AsgnBT-QERReuseUS' declare @DBQueueCurrent QBM_YDBQueueCurrent declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin\r\n('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement\r\n, XOriginBefore , XIsInEffectBefore, XIsInEffectAfter ) select 0, 0 , phr.UID_Person, phr.UID_QERReuseUS, phr.XOrigin , phr.XIsInEffect, 0 from PersonHasQERReuseUS\r\n phr join @DBQueueCurrent x on phr.UID_Person = x.uid_parameter if exists (select top 1 1 from DialogTable t where t.TableName = 'PersonHasQERReuseUS' \r\nand t.IsDeactivatedByPreProcessor = 1 ) begin goto berechnen end insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement\r\n , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0, case when pd.UID_QERReuseUS = pd.UID_QERReuseUSPredecessor then phr.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv\r\n else @QBM_BitPatternXOrigin_Inherit end , phr.UID_person, pd.UID_QERReuseUSPredecessor as UID_QERReuseUS , 0, 1  from PersonHasQERReuseUS phr join @DBQueueCurrent\r\n x on UID_person = x.uid_parameter  join person p on phr.uid_person = p.uid_person  join QERReuseUS r on phr.uid_QERReuseUS = r.uid_QERReuseUS cross apply\r\n dbo.QER_FTQERReuseUSPredecessor(r.UID_QERReuseUS) pd  where phr.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 insert into @SourceData( IsUpcommingContent\r\n, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0 , x.UID_person, pd.UID_QERReuseUSPredecessor\r\n as UID_QERReuseUS , @QBM_BitPatternXOrigin_Inherit as XOrigin , 0, (r.IsNoInheriteToSecurityIncident & p.IsSecurityIncident) ^1 from ( select pha.UID_person\r\n, r.UID_QERReuseUS from @DBQueueCurrent x join PersonHasESet pha on pha.UID_person = x.uid_parameter and pha.XOrigin > 0 and pha.XIsInEffect = 1  join \r\nperson px on pha.uid_person = px.uid_person and px.isNoInherite = 0  join ESetHasEntitlement aha on pha.UID_ESet = aha.UID_ESet and aha.XOrigin > 0 and\r\n aha.XIsInEffect = 1 and dbo.QBM_FGIModuleExists('RMS') = 1 Join QERReuseUS r on aha.Entitlement = r.XObjectKey union all select pfo.UID_person, oha.UID_QERReuseUS\r\n from dbo.QER_FTPersonInheritFromOrg_L(@DBQueueCurrent, @UID_BaseTreeAssignToUse) pfo join BaseTreeHasQERReuseUS oha on oha.uid_org = pfo.uid_org and oha.XOrigin\r\n > 0 and oha.XIsInEffect = 1 ) as x join person p on x.uid_person = p.uid_person join QERReuseUS r on x.uid_QERReuseUS = r.uid_QERReuseUS cross apply dbo.QER_FTQERReuseUSPredecessor\r\n(r.UID_QERReuseUS) pd berechnen: exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete = 0, @DeltaInsert = 1, @DeltaOrigin = 1,\r\n @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern\r\n = @DBQueueCurrent if @CountDeltaOrigin > 0 begin exec QBM_PMNTableOriginUpdate 'PersonHasQERReuseUS', 'uid_Person', 'uid_QERReuseUS' end if @CountDeltaQantity\r\n > 0 begin exec QBM_PMNTableInsert 'PersonHasQERReuseUS', 'uid_Person', 'uid_QERReuseUS', @TargetIsView = 0 , @FKTableNameElement = 'Person' , @FKColumnNameElement\r\n = 'UID_Person' end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZPWODecisionRuleMakeProc",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:05.857",
      "ModifyDate": "2026-04-14T23:20:37.947",
      "Definition": "      create   procedure QER_ZPWODecisionRuleMakeProc ( @SlotNumberDummy int , @UID_PWODecisionRule varchar(38) , @Dummy varchar(38) , @GenProcID\r\n varchar(38) ) as begin  declare @UsageArea char(1) declare @FunctionName varchar(30) declare @Komplett nvarchar(max) declare @DebugSwitch int = 0 declare\r\n @DebugLevel char(1) = 'W'  declare @Statements QBM_YCursorbuffer declare @ResetMessage nvarchar(4000) SET XACT_ABORT OFF BEGIN TRY select @FunctionName\r\n = dbo.QER_FCVRuleGUIDToFunctionName(@UID_PWODecisionRule) if @DebugSwitch > 0 begin print 'Codename ' + @FunctionName end select top 1 @UsageArea = r.UsageArea\r\n from PWODecisionRule r where r.UID_PWODecisionRule = @UID_PWODecisionRule if @UsageArea is null begin if @DebugSwitch > 0 begin print 'dann gibt es diese Regel nicht (mehr), gedropt haben wir, können wir Schluß machen'\r\n end goto DropOnly end insert into @Statements(ContentFull, UID1) select d.SQLQuery, d.UID_PWODecisionRuleRulerDetect from PWODecisionRuleRulerDetect d\r\n where d.UID_PWODecisionRule = @UID_PWODecisionRule BEGIN TRY  if exists (select top 1 1 from @Statements s where left(ltrim(s.ContentFull),4) = 'exec'\r\n ) begin  if @DebugSwitch > 0 begin print 'wir bauen das als Prozedur zusammen' end exec QER_P30907EB9FB8232867B_proc  @Statements  , @UsageArea  , @FunctionName\r\n  , @UID_PWODecisionRule  , @Komplett output  if @DebugSwitch > 0 begin select @Komplett end exec QBM_PProcedureDrop @FunctionName exec QBM_PSQLCreate \r\n@FunctionName, 'P', @komplett, @UnComment = 0, @unformat = 0 end else begin  if @DebugSwitch > 0 begin print 'das wird wine function' end exec QER_P30907EB9FB8232867B_func\r\n   @Statements  , @UsageArea  , @FunctionName  , @UID_PWODecisionRule  , @Komplett output  if @DebugSwitch > 0 begin select @Komplett end  exec QBM_PFunctionDrop\r\n @FunctionName exec QBM_PSQLCreate @FunctionName, 'F', @komplett, @UnComment = 0, @unformat = 0 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n select @ResetMessage = ERROR_MESSAGE() if @@TRANCOUNT > 0 begin rollback end  exec QBM_PDBQueueCurrentResetNGen @SlotNumberDummy , @ResetMessage , @@PROCID\r\n END CATCH END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return DropOnly:  exec QBM_PFunctionDrop\r\n @FunctionName exec QBM_PProcedureDrop @FunctionName return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZPWOHelperFillMakeProc",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.783",
      "ModifyDate": "2026-04-14T23:20:39.323",
      "Definition": "   create   procedure QER_ZPWOHelperFillMakeProc ( @SlotNumberDummy int , @UID_PWODecisionRule varchar(38) , @Dummy varchar(38) , @GenProcID varchar\r\n(38) ) as begin  declare @UsageArea char(1) declare @FunctionName varchar(30) declare @Komplett nvarchar(max) declare @DebugSwitch int = 0 declare @DebugLevel\r\n char(1) = 'W' declare @Body nvarchar(max) = N'' declare @OptionForceOrder nvarchar(1000) = 'option (force order)' declare @Muster nvarchar(max) declare\r\n @Statements QBM_YCursorbuffer declare @CountReferencedTables int = 0 declare @LimitOfTableReferences int = 800 declare @MakeInlineFunction bit = 1 declare\r\n @OpenParenthesis nvarchar(max) declare @ResetMessage nvarchar(4000) declare @MyTempElementName varchar(30) = left(concat('TST_FTemporaryElement', reverse\r\n(dbo.QBM_FGICodeName('V', NEWID()) )), 30) BEGIN TRY select @FunctionName = dbo.QER_FCVRuleGUIDToFuncNameReclc(@UID_PWODecisionRule) select top 1 @UsageArea\r\n = r.UsageArea from PWODecisionRule r where r.UID_PWODecisionRule = @UID_PWODecisionRule if @UsageArea is null begin if @DebugSwitch > 0 begin print 'dann gibt es diese Regel nicht (mehr), gedropt haben wir, können wir Schluß machen'\r\n end goto DropOnly end if @UsageArea <> 'I' begin goto endLabel end insert into @Statements(ContentFull, UID1) select d.SQLQueryObjectsToRecalc, d.UID_PWODecisionRuleRulerDetect\r\n from PWODecisionRuleRulerDetect d where d.UID_PWODecisionRule = @UID_PWODecisionRule and d.SQLQueryObjectsToRecalc > ' ' if @@rowcount > 0 begin select\r\n @OpenParenthesis = concat('create or alter function dbo.',@MyTempElementName,'  (@ObjectKeys QBM_YParameterList readonly)\r\n\treturns table \r\n\tas\r\n\treturn (\r\n\r\n\t'\r\n ) declare @CloseParenthesis nvarchar(max) = '\r\n\t)\r\n\t' exec @CountReferencedTables = QBM_PGICountTablesUsedByCode @Statements , @CodeName = @MyTempElementName\r\n , @CodeType = 'function' , @OpenParenthesis = @OpenParenthesis , @CloseParenthesis = '\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t' if @CountReferencedTables\r\n > @LimitOfTableReferences begin select @MakeInlineFunction = 0 end if @DebugSwitch > 0 begin print '@CountReferencedTables' + str(@CountReferencedTables\r\n) end end exec QBM_PFunctionDrop @MyTempElementName  if @MakeInlineFunction = 1  begin select @Muster = 'create function dbo.%FunctionName% ()\r\n\r\n\t-- definition for rule \t%UID_PWODecisionRule% , recalculation of helpertable\t\t\t\t\t\r\n\r\n\treturns @erg table (UID_PersonWantsOrg varchar(38) collate database_default\r\n\t\t\t\t\t\t\t\t\t\t\t, UID_QERWorkingMethod varchar(38) collate database_default\r\n\t\t\t\t\t\t\t\t\t\t\t, GenProcID  varchar(38) collate database_default\r\n\t\t\t\t\t\t\t\t\t\t\t, OrderState nvarchar(16)  collate database_default\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\r\n\tas\r\n\tbegin\r\n \r\n\t declare @ObjectKeys QBM_YParameterList\r\n\r\n\t\t   insert into @ObjectKeys(Parameter1) \r\n\t\t   select distinct ObjectKey \r\n\t\t\t\t from QERBufferRecalcDecisionMaker a with (readpast)\r\n\t\t\t\t where a.UID_PWODecisionRule = ''%UID_PWODecisionRule%''\r\n\t\t\t\t and a.ProcessState = 1\r\n\r\n\t\t   insert into @erg(UID_PersonWantsOrg, UID_QERWorkingMethod, GenProcID, OrderState)\r\n\t\t   select z.UID_PersonWantsOrg as UID_PersonWantsOrg, z.UID_QERWorkingMethod as UID_QERWorkingMethod, z.GenProcID as GenProcID, z.OrderState as OrderState\r\n\t\t   from (\r\n\r\n\t%body% \r\n\r\n\t\t\t\t ) as z \r\n\t\t   group by z.UID_PersonWantsOrg, z.UID_QERWorkingMethod, z.GenProcID, z.OrderState              \r\n\r\n\t\t   #option#\r\n\treturn\r\n\tend\r\n\r\n\t'\r\n select @Body = string_agg(concat( 'select x.UID_PersonWantsOrg, x.UID_QERWorkingMethod, x.GenProcID, x.OrderState' , '\r\n\t\tfrom (\r\n\t\t\t -- code from PWODecisionRuleRulerDetect: '\r\n , d.UID_PWODecisionRuleRulerDetect , '\r\n\t\t' , dbo.QBM_FCVStringToIndent(d.SQLQueryObjectsToRecalc, 3) , '\r\n\t\t\t -- / code from PWODecisionRuleRulerDetect\r\n\t\t\t) as x\t\r\n\t\t\t'\r\n )  ,  '\r\n\t\tunion all\r\n\t' )  from PWODecisionRuleRulerDetect d where d.UID_PWODecisionRule = @UID_PWODecisionRule and d.SQLQueryObjectsToRecalc > ' ' end\r\n else begin  select @Muster = 'create function dbo.%FunctionName% ()\r\n\r\n\t-- definition for rule \t%UID_PWODecisionRule% , recalculation of helpertable\t\t\t\t\t\r\n\r\n\treturns @erg table (UID_PersonWantsOrg varchar(38) collate database_default\r\n\t\t\t\t\t\t\t\t\t\t\t, UID_QERWorkingMethod varchar(38) collate database_default\r\n\t\t\t\t\t\t\t\t\t\t\t, GenProcID  varchar(38) collate database_default\r\n\t\t\t\t\t\t\t\t\t\t\t, OrderState nvarchar(16)  collate database_default\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\r\n\tas\r\n\tbegin\r\n\t declare @Puffer QBM_YParameterList\r\n\t declare @ObjectKeys QBM_YParameterList\r\n\r\n\t\t   insert into @ObjectKeys(Parameter1) \r\n\t\t   select distinct ObjectKey \r\n\t\t\t\t from QERBufferRecalcDecisionMaker a with (readpast)\r\n\t\t\t\t where a.UID_PWODecisionRule = ''%UID_PWODecisionRule%''\r\n\t\t\t\t and a.ProcessState = 1\r\n\r\n\t%body% \r\n\r\n\t\t   insert into @erg(UID_PersonWantsOrg, UID_QERWorkingMethod, GenProcID, OrderState)\r\n\t\t   select z.UID_PersonWantsOrg as UID_PersonWantsOrg, z.UID_QERWorkingMethod as UID_QERWorkingMethod, z.GenProcID as GenProcID, z.OrderState as OrderState\r\n\t\t   from (\r\n\r\n\t\t\tselect p.Parameter1 as UID_PersonWantsOrg, p.Parameter2 as UID_QERWorkingMethod, p.Parameter3 as GenProcID, p.ContentShort as OrderState\r\n\t\t\t\tfrom @Puffer p\r\n\r\n\t\t\t\t ) as z \r\n\t\t   group by z.UID_PersonWantsOrg, z.UID_QERWorkingMethod, z.GenProcID, z.OrderState              \r\n\r\n\t\t   #option#\r\n\treturn\r\n\tend\r\n\r\n\t'\r\n select @Body = string_agg(concat( 'insert into @Puffer (Parameter1, Parameter2, Parameter3, ContentShort)\r\n\t\t\t -- code from PWODecisionRuleRulerDetect: '\r\n , d.UID_PWODecisionRuleRulerDetect , '\r\n\t\t' , dbo.QBM_FCVStringToIndent(d.SQLQueryObjectsToRecalc, 3) , '\r\n\r\n\t\t\t#option#\r\n\r\n\t\t\t -- / code from PWODecisionRuleRulerDetect\r\n\t\t\t'\r\n )  ,  '\r\n\t' )  from PWODecisionRuleRulerDetect d where d.UID_PWODecisionRule = @UID_PWODecisionRule and d.SQLQueryObjectsToRecalc > ' ' end  if @DebugSwitch\r\n > 0 begin print '#####################' select @Body print '#####################' end if isnull(@Body, '') = '' begin  goto DropOnly end  select @Komplett\r\n = replace(replace(replace(replace(replace(@Muster , '%FunctionName%', @FunctionName) , '%parameters%', '@ObjectKey varchar(138)') , '%Body%', dbo.qbm_fcvstringtoindent\r\n( @Body, 3)) , '%UID_PWODecisionRule%', @UID_PWODecisionRule) , '#option#',  case when @Body like '%' + @OptionForceOrder + '%' then @OptionForceOrder \r\nelse '' end) if @DebugSwitch > 0 begin print @komplett end BEGIN TRY exec QBM_PSQLCreate @FunctionName, 'F', @komplett, @UnComment = 0, @unformat = 0 END\r\n TRY BEGIN CATCH exec QBM_PSessionErrorAdd default select @ResetMessage = ERROR_MESSAGE() if @@TRANCOUNT > 0 begin rollback end  exec QBM_PDBQueueCurrentResetNGen\r\n @SlotNumberDummy , @ResetMessage , @@PROCID END CATCH END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n endLabel: return DropOnly:  exec QBM_PFunctionDrop @FunctionName return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZQERWorkingMethodCleanUp",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:06.707",
      "ModifyDate": "2026-04-14T23:20:39.227",
      "Definition": "    create   procedure QER_ZQERWorkingMethodCleanUp ( @SlotnumberDummy int = 0 , @Dummy1 varchar(38) = null , @Dummy2 varchar(38) = null , @Dummy3\r\n varchar(38) = null ) AS begin  declare @SQLCMD nvarchar(max) declare @usedMethods QBM_YParameterList declare @UnUsedMethods QBM_YParameterList declare\r\n @DebugSwitch int = 0 BEGIN TRY insert into @usedMethods(Parameter1, Parameter2) select m.UID_QERWorkingMethod, dbo.QBM_FCVIntToString( m.RevisionNumber\r\n) from PersonWantsOrg pwo join QERWorkingMethod m on pwo.UID_QERWorkingMethod = m.UID_QERWorkingMethod union select distinct m.UID_QERWorkingMethod, dbo.QBM_FCVIntToString\r\n( m.RevisionNumber) from PWOHelperPWO h join QERWorkingStep s on s.UID_QERWorkingStep = h.UID_QERWorkingStep join QERWorkingMethod m on s.UID_QERWorkingMethod\r\n = m.UID_QERWorkingMethod if dbo.QBM_FGIModuleExists('ATT') = 1 begin select @SQLCMD = '\r\n\tselect m.UID_QERWorkingMethod, dbo.QBM_FCVIntToString( m.RevisionNumber)\r\n\tfrom AttestationCase pwo join QERWorkingMethod m on pwo.UID_QERWorkingMethod = m.UID_QERWorkingMethod\r\n\tunion\r\n\tselect m.UID_QERWorkingMethod, dbo.QBM_FCVIntToString( m.RevisionNumber)\r\n\tfrom AttestationHelper h join QERWorkingStep s on s.UID_QERWorkingStep = h.UID_QERWorkingStep\r\n\t\t\t\t\t\t\tjoin QERWorkingMethod m on s.UID_QERWorkingMethod = m.UID_QERWorkingMethod\r\n\t'\r\n insert into @usedMethods(Parameter1, Parameter2) exec sp_executesql @SQLCmd end insert into @UnUsedMethods(Parameter1, Parameter2) select m.UID_QERWorkingMethod\r\n, dbo.QBM_FCVIntToString( m.RevisionNumber) from QERWorkingMethod m left outer join @usedMethods u on m.UID_QERWorkingMethod = u.Parameter1 where u.Parameter1\r\n is null if @DebugSwitch > 0 begin print 'Used Methods' select * from @usedMethods print 'UnUsed Methods' select * from @UnUsedMethods end if @DebugSwitch\r\n > 0 begin print 'Löschkandidaten' select m.UID_QERWorkingMethod, m.RevisionNumber, s.RevisionNumber from QERWorkingMethod m join @UnUsedMethods u on u.Parameter1\r\n = m.UID_QERWorkingMethod join PWODecisionSubMethod s on m.UID_PWODecisionSubMethod = s.UID_PWODecisionSubMethod  where m.RevisionNumber < s.RevisionNumber\r\n end delete QERWorkingMethod from QERWorkingMethod m join @UnUsedMethods u on u.Parameter1 = m.UID_QERWorkingMethod left outer  join PWODecisionSubMethod\r\n s on m.UID_PWODecisionSubMethod = s.UID_PWODecisionSubMethod  where m.RevisionNumber < isnull(s.RevisionNumber, 1073741824) END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZRiskIndexCalculate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.513",
      "ModifyDate": "2026-04-14T23:20:40.31",
      "Definition": "     create   procedure QER_ZRiskIndexCalculate (@SlotNumber int , @UID_DialogColumn varchar(38) , @SubObject varchar(38) , @GenProcID varchar(38\r\n) ) as begin declare @procname nvarchar(64) declare @Erg int declare @DebugSwitch int = 0 declare @Debuglevel varchar(1) = 'W' declare @Debugmessage nvarchar\r\n(1000) declare @SlotResetType int = dbo.QBM_FGIDBQueueSlotResetType('Waiting')  declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare\r\n @UID_MeineTask varchar(38) = 'QER-K-QERRiskIndexCalculate'  BEGIN TRY if exists (select top 1 1 from QERRiskIndexColumnDepend dep join (  select q.Object\r\n as UID_DialogColumnPred from DialogDBQueue q with (readpast) where q.UID_Task = @UID_MeineTask and q.Generation >= 0 union select cu.UID_Parameter from\r\n QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber <> 0 and cu.UID_Task = @UID_MeineTask ) as act on act.UID_DialogColumnPred = dep.UID_DialogColumnSource\r\n where dep.UID_DialogColumnTarget = @UID_DialogColumn ) begin if @DebugSwitch > 0 begin select @Debugmessage = concat( @UID_DialogColumn, ' mich selber wieder einstellen für den nächsten Versuch'\r\n ) exec QBM_PJournal @Debugmessage, @@procid, 'D', @Debuglevel end          if not exists (select top 1 1 from QBMDBQueueCurrent cu with (readpast) where\r\n cu.UID_Task = @UID_MeineTask and cu.UID_Parameter = @UID_DialogColumn and cu.SlotNumber < 0 ) begin exec QBM_PDBQueueCurrentResetNGen @SlotNumber, 'waiting for predecessors'\r\n, 0  if @DebugSwitch > 0 begin select @Debugmessage = concat( @UID_DialogColumn, ' wirklich wieder eingestellt' ) exec QBM_PJournal @Debugmessage, @@procid\r\n, 'D', @Debuglevel end end goto endLabel end  select @erg = 0   select @procname = dbo.QER_FGIRiskIndexProcname(@UID_DialogColumn)   if not exists (select\r\n top 1 1 from sys.procedures where name = @procname and type = 'P' ) begin if @DebugSwitch > 0 begin print 'prozedur ' + @procname + 'existiert nicht' \r\nend goto endLabel end  exec QBM_PSessionContextSet 'GenProcID', @GenProcID exec @erg = @procname  if @DebugSwitch > 0 begin print 'geändert ' + str(@erg\r\n) end if @Erg = 0 begin goto endlabel end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: \r\nexec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZRiskIndexMakeProc",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.507",
      "ModifyDate": "2026-04-14T23:20:40.3",
      "Definition": "  create   procedure QER_ZRiskIndexMakeProc (@SlotNumber int , @UID_DialogColumn varchar(38) , @Dummy varchar(38) , @GenProcID varchar(38) ) as \r\nbegin    declare @Aktiv nvarchar(256) declare @ProcName nvarchar(128) declare @ResetMessage nvarchar(4000) SET XACT_ABORT OFF BEGIN TRY select @Aktiv =\r\n dbo.QBM_FGIConfigparmValue('QER\\CalculateRiskIndex')  select @ProcName = dbo.QER_FGIRiskIndexProcname( @uid_dialogcolumn ) if @Aktiv = '1'  and exists\r\n (select top 1 1 from DialogColumn with (readpast) where UID_DialogColumn = @uid_DialogColumn and IsDeactivatedByPreProcessor = 0 ) begin  if exists (select\r\n top 1 1 from DialogColumn c with (readpast) join dialogtable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable where c.uid_DialogColumn = @uid_DialogColumn\r\n  and t.tabletype in ('T', 'B')  and c.ColumnName in( 'RiskIndexCalculated', 'RiskIndexReduced') )      begin BEGIN TRY exec QER_PQERRiskIndexMakeProc \r\n@uid_DialogColumn END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default select @ResetMessage = ERROR_MESSAGE() if @@TRANCOUNT > 0 begin rollback end  exec\r\n QBM_PDBQueueCurrentResetNGen @SlotNumber , @ResetMessage , @@PROCID END CATCH end     end else begin goto dropOnly end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return dropOnly: exec QBM_PProcedureDrop @ProcName return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_ZScheduleStartDynamicGroup",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:07.493",
      "ModifyDate": "2026-04-14T23:20:40.277",
      "Definition": "  create   procedure QER_ZScheduleStartDynamicGroup ( @SlotNumber int ) AS begin declare @MyName nvarchar(64) = object_name(@@procid) BEGIN TRY \r\n   declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select\r\n uid_dynamicGroup as uid, cu.GenProcID from dynamicGroup dg join QBMDBQueueCurrent cu with (readpast) on dg.UID_DialogSchedule = cu.UID_Parameter where\r\n cu.SlotNumber = @SlotNumber ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-DynamicGroupTest', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMB_RHelperHardwareOrg",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:10.13",
      "ModifyDate": "2026-04-14T23:20:41.987",
      "Definition": "create   procedure RMB_RHelperHardwareOrg (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'Hardware', 'uid_Hardware', @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END \r\nCATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMB_RHelperPersonOrg",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:10.143",
      "ModifyDate": "2026-04-14T23:20:42.007",
      "Definition": "create   procedure RMB_RHelperPersonOrg (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'Person', 'uid_Person', @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMB_RHelperWorkDeskOrg",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:10.157",
      "ModifyDate": "2026-04-14T23:20:42.03",
      "Definition": "create   procedure RMB_RHelperWorkDeskOrg (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'WorkDesk', 'uid_WorkDesk', @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END \r\nCATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMB_ZAllForPersonInBaseTree",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:10.167",
      "ModifyDate": "2026-04-14T23:20:42.043",
      "Definition": "     create   procedure RMB_ZAllForPersonInBaseTree (@SlotNumber int) as begin  declare @GenProcID varchar(38) declare @Parameter nvarchar(1000)\r\n declare @Ident_OrgRoot nvarchar(64) declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int BEGIN TRY  insert into\r\n @ElementBuffer (Ident1, UID1)  select distinct dbo.QER_FGIOrgRootName(b.UID_OrgRoot), p.GenProcID from QBMDBQueueCurrent p with (readpast) join BaseTree\r\n b on p.UID_SubParameter = b.UID_Org and p.SlotNumber = @SlotNumber select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount\r\n begin select top 1 @Ident_OrgRoot = bu.Ident1 , @GenProcID = bu.UID1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex  select @ElementIndex\r\n += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMB_ZHelperHardwareOrg",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:10.127",
      "ModifyDate": "2026-04-14T23:20:41.98",
      "Definition": "       create   procedure RMB_ZHelperHardwareOrg (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select\r\n UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end  insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 0, 0 , hho.uid_Hardware\r\n, hho.uid_Org, 1 from @DBQueueCurrent x join HelperHardwareOrg hho on uid_Hardware = x.uid_parameter  join BaseTree b on hho.uid_org = b.uid_org where \r\nb.uid_OrgRoot like '____[^V]%' if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\Hardware\\FromOrg') > ' ' begin insert into @SourceData( IsUpcommingContent\r\n, XOriginBefore, XOriginAfter , Element, AssignedElement ) select 1, 0, 1 , p.uid_Hardware, p.uid_org from Hardware p join @DBQueueCurrent x on uid_Hardware=\r\n x.uid_parameter where p.uid_org > ' ' end exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete = 1, @DeltaInsert = 1, @DeltaOrigin\r\n = 0, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , \r\n@DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaQantity > 0 begin exec QBM_PMNTableInsert 'HelperHardwareOrg', 'UID_Hardware', 'UID_Org' exec QBM_PMNTableDelete\r\n 'HelperHardwareOrg', 'UID_Hardware', 'UID_Org' end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH \r\n endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMB_ZHelperPersonOrg",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:10.14",
      "ModifyDate": "2026-04-14T23:20:42",
      "Definition": "   create   procedure RMB_ZHelperPersonOrg (@SlotNumber int ) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select\r\n UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end  insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 0, 0 , hpo.uid_person\r\n, hpo.uid_Org, 1 from @DBQueueCurrent x join HelperPersonOrg hpo on hpo.UID_Person = x.uid_parameter  join BaseTree b on hpo.uid_org = b.uid_org where \r\nb.uid_OrgRoot like '____[^V]%' if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\Person\\FromOrg') > ' ' begin insert into @SourceData( IsUpcommingContent\r\n, XOriginBefore, XOriginAfter , Element, AssignedElement ) select 1, 0, 1 , p.uid_person, p.uid_org from person p join @DBQueueCurrent x on uid_person=\r\n x.uid_parameter where p.uid_org > ' ' end exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete = 1, @DeltaInsert = 1, @DeltaOrigin\r\n = 0, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , \r\n@DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaQantity > 0 begin exec QBM_PMNTableDelete 'HelperPersonOrg', 'UID_Person', 'UID_Org' exec QBM_PMNTableInsert\r\n 'HelperPersonOrg', 'UID_Person', 'UID_Org' end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMB_ZHelperWorkDeskOrg",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:10.153",
      "ModifyDate": "2026-04-14T23:20:42.02",
      "Definition": "    create   procedure RMB_ZHelperWorkDeskOrg (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select\r\n UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end  insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 0, 0 , hwo.uid_WorkDesk\r\n, hwo.uid_Org, 1 from @DBQueueCurrent x join HelperWorkDeskOrg hwo on uid_WorkDesk = x.uid_parameter  join BaseTree b on hwo.uid_org = b.uid_org where \r\nb.uid_OrgRoot like '____[^V]%' if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\WorkDesk\\FromOrg') > ' ' begin insert into @SourceData( IsUpcommingContent\r\n, XOriginBefore, XOriginAfter , Element, AssignedElement ) select 1, 0, 1 , p.uid_WorkDesk, p.uid_org from WorkDesk p join @DBQueueCurrent x on uid_WorkDesk=\r\n x.uid_parameter where p.uid_org > ' ' end exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete = 1, @DeltaInsert = 1, @DeltaOrigin\r\n = 0, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , \r\n@DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaQantity > 0 begin exec QBM_PMNTableInsert 'HelperWorkDeskOrg', 'UID_WorkDesk', 'UID_Org' exec QBM_PMNTableDelete\r\n 'HelperWorkDeskOrg', 'UID_WorkDesk', 'UID_Org' end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH \r\n endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_RBaseTreeHasObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:13.917",
      "ModifyDate": "2026-04-14T23:20:44.193",
      "Definition": "create   procedure RMS_RBaseTreeHasObject (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'BaseTree', 'UID_Org', @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_RESetHasEntitlement",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:13.807",
      "ModifyDate": "2026-04-14T23:20:43.753",
      "Definition": "create   procedure RMS_RESetHasEntitlement (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'ESet', 'UID_ESet', @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent\r\n cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end  insert into @ObjectKeysToCheck_Jobrunning\r\n(Parameter1, Parameter2) select cu.UID_Parameter, x.XObjectKey from @DBQueueCurrent cu join ESet x on cu.UID_Parameter = x.UID_ESet exec @resetted = QBM_PSlotResetWhileJobRun_L\r\n @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_ROrgHasESet",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:13.83",
      "ModifyDate": "2026-04-14T23:20:44.08",
      "Definition": "create   procedure RMS_ROrgHasESet (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @UID_BasetreeAssignToUse varchar(38) = 'RMS-AsgnBT-Eset' declare @DBQueueCurrent\r\n QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select \r\nUID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L @DBQueueCurrent, 'BaseTree', 'UID_Org', @SlotNumber if @resetted > 0 begin\r\n delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and \r\ncu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end exec @resetted = QER_PSlotResetOnInvalidRoot_L @DBQueueCurrent, @UID_BasetreeAssignToUse\r\n, @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue\r\n = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2\r\n) select cu.UID_Parameter, x.XObjectKey from @DBQueueCurrent cu join BaseTree x on cu.UID_Parameter = x.UID_Org exec @resetted = QBM_PSlotResetWhileJobRun_L\r\n @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_RPersonHasESet",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:13.86",
      "ModifyDate": "2026-04-14T23:20:44.12",
      "Definition": "create   procedure RMS_RPersonHasESet (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'Person', 'UID_Person', @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent\r\n cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end  insert into @ObjectKeysToCheck_Jobrunning\r\n(Parameter1, Parameter2) select cu.UID_Parameter, x.XObjectKey from @DBQueueCurrent cu join Person x on cu.UID_Parameter = x.UID_Person exec @resetted \r\n= QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_RPersonHasObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:13.9",
      "ModifyDate": "2026-04-14T23:20:44.17",
      "Definition": "create   procedure RMS_RPersonHasObject (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'Person', 'UID_Person', @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_RWorkDeskHasESet",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:13.883",
      "ModifyDate": "2026-04-14T23:20:44.147",
      "Definition": "create   procedure RMS_RWorkDeskHasESet (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'WorkDesk', 'uid_WorkDesk', @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent\r\n cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end  insert into @ObjectKeysToCheck_Jobrunning\r\n(Parameter1, Parameter2) select cu.UID_Parameter, x.XObjectKey from @DBQueueCurrent cu join WorkDesk x on cu.UID_Parameter = x.UID_WorkDesk exec @resetted\r\n = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_ZAllForOneOrg",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:13.923",
      "ModifyDate": "2026-04-14T23:20:44.203",
      "Definition": "  create   procedure RMS_ZAllForOneOrg (@SlotNumber int) as begin BEGIN TRY declare @dummy int END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_ZAllForOnePerson",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:13.93",
      "ModifyDate": "2026-04-14T23:20:44.21",
      "Definition": "   create   procedure RMS_ZAllForOnePerson (@SlotNumber int) as begin BEGIN TRY declare @dummy int END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_ZAllForOneWorkDesk",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:13.933",
      "ModifyDate": "2026-04-14T23:20:44.22",
      "Definition": "  create   procedure RMS_ZAllForOneWorkDesk (@SlotNumber int) as begin BEGIN TRY declare @dummy int END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_ZBaseTreeHasObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:13.91",
      "ModifyDate": "2026-04-14T23:20:44.187",
      "Definition": "      create   procedure RMS_ZBaseTreeHasObject (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @QER_BitPattern_Inherit_0 int = dbo.QER_FGIBitPatternInheritInfo('|Inherit|', 0) declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end insert into @SourceData( IsUpcommingContent\r\n, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 0, 0 , uid_Org, ObjectKey, InheritInfo from BaseTreeHasObject bho join @DBQueueCurrent\r\n x on uid_Org = x.uid_parameter where bho.ObjectKey like '<Key><T>ESet</T>%'  insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement\r\n, XOriginAfter ) select 1, 0 , y.UID_Org, z.XObjectKey, dbo.QER_FCVXOriginToInheritInfo(y.XOrigin) from BaseTreeHasESet y join @DBQueueCurrent x on y.UID_Org=\r\n x.uid_parameter and y.XOrigin > 0 and y.XIsInEffect = 1 join ESet z on z.uid_ESet = y.uid_ESet   berechnen: exec QBM_PDBQueueCalculateDelta @SourceData\r\n, @DeltaQuantity = 0, @DeltaDelete = 1, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin\r\n output , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent exec QER_PBasetreeHasObjectPostProc @CountDeltaOrigin\r\n, @CountDeltaQantity END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_ZESetCollection",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:13.787",
      "ModifyDate": "2026-04-14T23:20:43.727",
      "Definition": "        create   procedure RMS_ZESetCollection (@SlotNumber int)      AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , \r\n@CountDeltaOrigin int declare @AnzahlRow int declare @GenProcID varchar(38) declare @DebugSwitch int = 0 declare @DebugMessage nvarchar(max) declare @ElementCount\r\n int declare @ElementIndex int declare @ElementLast int declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @DBQueueCurrent QBM_YDBQueueCurrent\r\n declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin\r\n('|Inherit|', 1)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  select\r\n top 1 @GenProcID = GenProcID from @DBQueueCurrent p insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore\r\n ) select 0, 0 , ec.UID_ESet, ec.UID_EsetChild , @QBM_BitPatternXOrigin_Inherit from ESetCollection ec join @DBQueueCurrent p on ec.UID_ESet = p.UID_Parameter\r\n insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , es.UID_ESet, es.UID_ESet , @QBM_BitPatternXOrigin_Inherit\r\n from ESet es join @DBQueueCurrent p on es.UID_ESet = p.UID_Parameter  zyklus: select @AnzahlRow = 1 while @AnzahlRow > 0 begin select @AnzahlRow = 0  \r\ninsert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select distinct 1, 0 , y.Element, p.uid_ESet as UID_EsetChild\r\n , @QBM_BitPatternXOrigin_Inherit  from @SourceData y join ESet e on y.Element = e.UID_ESet and e.IsInActive = 0 and y.IsUpcommingContent = 1 join ESetHasEntitlement\r\n ehe on y.AssignedElement = ehe.uid_ESet  and ehe.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv> 0  join ESet p on p.XObjectKey = ehe.entitlement and p.IsInActive\r\n = 0 where Not exists (select top 1 1  from @SourceData where Element = y.Element and AssignedElement = p.uid_ESet and IsUpcommingContent = 1 ) select \r\n@AnzahlRow = @AnzahlRow + @@rowcount end  exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 1, @DeltaDelete = 1, @DeltaInsert = 1, @DeltaOrigin\r\n = 0, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , \r\n@DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaQantity > 0 begin if @DebugSwitch > 0 begin select @DebugMessage = object_name(@@procid) + '@CountDeltaQantity > 0 gefunden '\r\n print @DebugMessage end declare @GenProcIDs_CountDeltaQuantity QBM_YCursorBuffer insert into @GenProcIDs_CountDeltaQuantity (UID1) select de.GenProcID\r\n from #QBMDeltaDelete de union select de.GenProcID from #QBMDeltaInsert de select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount\r\n +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @GenProcID = bu.UID1 from @GenProcIDs_CountDeltaQuantity bu\r\n where bu.ElementIndex = @ElementIndex if exists (select top 1 1 from #QBMDeltaDelete x where x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet\r\n 'GenProcID', @GenProcID delete from ESetCollection where exists (select top 1 1 from #QBMDeltaDelete d where d.Element = ESetCollection.uid_ESet and d.AssignedElement\r\n = ESetCollection.UID_EsetChild and d.GenProcID = @GenProcID ) end  if exists (select top 1 1 from #QBMDeltaInsert x where x.GenProcID = @GenProcID ) begin\r\n exec QBM_PSessionContextSet 'GenProcID', @GenProcID insert into ESetCollection (UID_Eset, UID_EsetChild) select Element, AssignedElement from #QBMDeltaInsert\r\n where GenProcID = @GenProcID end  select @ElementIndex += 1 end   declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object,\r\n subobject, genprocid) select x.uid, null, x.GenProcID from (  select distinct ehe.uid_Eset as uid, d.GenProcID as GenProcID from ESetHasEntitlement ehe\r\n join ESet p on p.XObjectKey = ehe.entitlement and ehe.XOrigin > 0  join #QBMDeltaQuantity d on p.uid_ESet = d.Element where ehe.XIsInEffect = 1 ) as x\r\n exec QBM_PDBQueueInsert_Bulk 'RMS-K-ESetCollection', @DBQueueElements_01  declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 \r\n(object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select d.Element as uid, d.GenProcID as GenProcID from #QBMDeltaQuantity d ) as x\r\n exec QBM_PDBQueueInsert_Bulk 'RMS-K-ESetHasEntitlement', @DBQueueElements_02  declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03\r\n (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select distinct co.uid_org as uid, d.GenProcID as GenProcID from BaseTreeHasESet\r\n bhe join BaseTreecollection co on bhe.uid_Org = co.uid_parentOrg and bhe.XOrigin > 0  join #QBMDeltaQuantity d on bhe.uid_ESet = d.Element ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'RMS-K-OrgHasESet', @DBQueueElements_03  declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04 (object, \r\nsubobject, genprocid) select x.uid, null, x.GenProcID from ( select distinct phe.uid_Person as uid, d.GenProcID as GenProcID from PersonHasESet phe join\r\n #QBMDeltaQuantity d on phe.uid_ESet = d.Element where phe.XOrigin > 0  ) as x exec QBM_PDBQueueInsert_Bulk 'RMS-K-PersonHasESet', @DBQueueElements_04 \r\n declare @DBQueueElements_05 QBM_YDBQueueRaw insert into @DBQueueElements_05 (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select\r\n distinct whe.uid_WorkDesk as uid, d.GenProcID as GenProcID from WorkDeskHasESet whe join #QBMDeltaQuantity d on whe.uid_ESet = d.Element where whe.XOrigin\r\n > 0  ) as x exec QBM_PDBQueueInsert_Bulk 'RMS-K-WorkdeskHasESet', @DBQueueElements_05 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH  endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_ZESetHasEntitlement",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:13.803",
      "ModifyDate": "2026-04-14T23:20:43.743",
      "Definition": "        create   procedure RMS_ZESetHasEntitlement (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @GenProcID varchar(38) declare @DebugSwitch int = 0 declare @DBQueueCurrent QBM_YDBQueueCurrent declare @QBM_BitPatternXOrigin_Inherit int\r\n = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN TRY\r\n insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, \r\nGenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end               insert into\r\n @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore , XIsInEffectBefore, XIsInEffectAfter ) select 0, 0 , ehe.UID_ESet\r\n, ehe.Entitlement, ehe.XOrigin , ehe.XIsInEffect, 0 from ESetHasEntitlement ehe join @DBQueueCurrent x on ehe.uid_ESet = x.uid_parameter  where ehe.Entitlement\r\n like '<Key><T>ESet</T>%'  insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement , XIsInEffectBefore, XIsInEffectAfter\r\n ) select 1, 0, y.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv , y.UID_ESet, y.Entitlement , 0, (es.IsInActive ^ 1) * (pa.isInactive ^ 1) from ESetHasEntitlement\r\n y join @DBQueueCurrent x on y.UID_ESet= x.uid_parameter join ESet es on y.UID_ESet = es.uid_ESet  join ESet pa on y.Entitlement = pa.XObjectKey  where\r\n y.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 if @DebugSwitch > 0 begin print 'BasisInfo drin' select IsUpcommingContent , XOriginBefore , XOriginAfter\r\n , XIsInEffectBefore , XIsInEffectAfter, Element, AssignedElement from @SourceData s end insert into @SourceData( IsUpcommingContent, XOriginBefore , Element\r\n, AssignedElement, XOriginAfter , XIsInEffectBefore, XIsInEffectAfter ) select distinct 1, 0 , co.UID_ESet, pa.XObjectKey, @QBM_BitPatternXOrigin_Inherit\r\n , 0, (es.isinactive ^1) * (pa.isinactive ^ 1) from @DBQueueCurrent x join ESetCollection co on x.uid_parameter = co.uid_ESet and co.uid_ESet <> co.UID_EsetChild\r\n join ESet es on co.UID_ESet = es.uid_ESet  join ESet pa on co.UID_EsetChild = pa.uid_ESet   where not exists (select top 1 1 from @SourceData s where \r\ns.IsUpcommingContent = 1 and s.Element = co.UID_ESet and s.AssignedElement = pa.XObjectKey and s.XOriginAfter > 0 ) if @DebugSwitch > 0 begin print 'Nach Collection befüllen'\r\n select IsUpcommingContent , XOriginBefore , XOriginAfter , XIsInEffectBefore , XIsInEffectAfter, Element, AssignedElement from @SourceData s end  if @DebugSwitch\r\n > 0 begin   print 'die Exclude def' select l.uid_ESet as UID_Excluded, h.uid_Eset as UID_Excluding, h.XObjectKey as ObjectKeyExcluding, l.XObjectKey as\r\n ObjectKeyExcluded from ESetExcludesEset exe join Eset h on exe.uid_Eset = h.UID_ESet join ESet l on exe.UID_ESetExcluded = l.UID_ESet end if dbo.QBM_FGIConfigparmValue\r\n('QER\\Structures\\Inherite\\ESetExclusion') > ' '  begin if exists (select top 1 1 from ESetExcludesESet) begin     insert into @SourceData( IsUpcommingContent\r\n, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0 , e.UID_ESet, e.XObjectKey, 0 , 0, 0 from \r\n@DBQueueCurrent x join ESet e on x.uid_parameter = e.uid_ESet  update @Sourcedata set XIsInEffectAfter = 0 from @Sourcedata l  join (select sh.* from @Sourcedata\r\n sh where sh.IsUpcommingContent = 1 and sh.XOriginAfter > 0  and sh.XIsInEffectAfter = 1 ) as vh on l.Element = vh.Element join ( select l.uid_ESet as \r\nUID_Excluded, h.uid_Eset as UID_Excluding, h.XObjectKey as ObjectKeyExcluding, l.XObjectKey as ObjectKeyExcluded from ESetExcludesEset exe join Eset h \r\non exe.uid_Eset = h.UID_ESet join ESet l on exe.UID_ESetExcluded = l.UID_ESet ) as ex on l.AssignedElement = ex.ObjectKeyExcluded and vh.AssignedElement\r\n = ex.ObjectKeyExcluding where l.IsUpcommingContent = 1 and l.XOriginAfter > 0 and l.XIsInEffectAfter = 1  update @Sourcedata set XIsInEffectAfter = 0 \r\nfrom @Sourcedata l  join ( select l.uid_ESet as UID_Excluded, h.uid_Eset as UID_Excluding, h.XObjectKey as ObjectKeyExcluding, l.XObjectKey as ObjectKeyExcluded\r\n from ESetExcludesEset exe join Eset h on exe.uid_Eset = h.UID_ESet join ESet l on exe.UID_ESetExcluded = l.UID_ESet ) as ex on l.Element = ex.UID_Excluding\r\n and l.AssignedElement = ex.ObjectKeyExcluded where l.IsUpcommingContent = 1 and l.XOriginAfter > 0 and l.XIsInEffectAfter = 1 end  end  if @DebugSwitch\r\n > 0 begin print 'nach Exclude' select IsUpcommingContent , XOriginBefore , XOriginAfter , XIsInEffectBefore , XIsInEffectAfter, Element, AssignedElement\r\n from @SourceData s end  berechnen: exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete = 0, @DeltaInsert = 1, @DeltaOrigin =\r\n 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern\r\n = @DBQueueCurrent if @CountDeltaOrigin > 0 begin exec QBM_PMNTableOriginUpdate 'ESetHasEntitlement', 'uid_ESet', 'Entitlement' end if @CountDeltaQantity\r\n > 0 begin if @DebugSwitch > 0 begin print 'RMS_ZESetHasEntitlement einzufügende Sätze' select * from #QBMDeltaInsert end exec QBM_PMNTableInsertOwnPK \r\n'ESetHasEntitlement', 'uid_ESet', 'Entitlement' , @FKTableNameElement = 'ESet' , @FKColumnNameElement = 'uid_ESet'  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_ZOrgHasESet",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:13.827",
      "ModifyDate": "2026-04-14T23:20:44.073",
      "Definition": "       create   procedure RMS_ZOrgHasESet (@SlotNumber int) AS begin declare @GenProcID varchar(38) declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity\r\n int , @CountDeltaOrigin int declare @DebugSwitch int = 0 declare @UID_BasetreeAssignToUse varchar(38) = 'RMS-AsgnBT-Eset' declare @DBQueueCurrent QBM_YDBQueueCurrent\r\n declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin\r\n('|Inherit|', 1)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end if \r\ndbo.QBM_FGITableCountAll('Eset') = 0 begin goto endLabel end insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore\r\n , XIsInEffectBefore ) select 0, 0 , oha.uid_org, oha.uid_ESet, oha.XOrigin , oha.XIsInEffect from BaseTreeHasESet oha join @DBQueueCurrent x on oha.uid_org\r\n =x.uid_parameter insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement , XIsInEffectAfter ) select 1, 0,\r\n oha.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv , oha.uid_org, oha.uid_ESet , e.IsInActive ^ 1 from BaseTreeHasESet oha join @DBQueueCurrent x on oha.uid_org\r\n = x.uid_parameter  join ESet e on oha.UID_ESet = e.UID_ESet where oha.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 insert into @SourceData( IsUpcommingContent\r\n, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectAfter ) select 1, 0 , x.uid_parameter, e.UID_ESet, @QBM_BitPatternXOrigin_Inherit\r\n , e.IsInActive ^ 1 from @DBQueueCurrent x join BaseTreeCollection oc on oc.uid_org = x.uid_parameter and oc.uid_org <> oc.uid_parentorg join BaseTreeHasESet\r\n oha on oha.uid_org = oc.uid_parentorg and oha.XOrigin > 0 and oha.XIsInEffect = 1 join ESet e on oha.UID_ESet = e.UID_ESet where oha.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv\r\n > 0  insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectAfter ) select 1, 0 , x.uid_parameter\r\n, e.UID_Eset, @QBM_BitPatternXOrigin_Inherit , e.IsInActive ^ 1 from @DBQueueCurrent x join  @Sourcedata oha on oha.Element = x.uid_parameter and oha.IsUpcommingContent\r\n = 1 and oha.XOriginAfter > 0 and oha.XIsInEffectAfter = 1 join ESetCollection ec on oha.AssignedElement = ec.uid_ESet and ec.uid_eset <> ec.UID_EsetChild\r\n join ESet e on ec.UID_ESetChild = e.UID_ESet  join BaseTree b on oha.Element = b.UID_Org where not (b.UID_OrgRoot in ( 'QER-V-ITShopOrg', 'QER-V-ITShopSrc'\r\n) and b.ITShopInfo in ( 'BO', 'PR', 'BG', 'BT') ) if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\ESetExclusion') > ' '  begin if exists (select\r\n top 1 1 from ESetExcludesEset ex with (nolock) join @Sourcedata s on ex.UID_ESetExcluded  = s.AssignedElement where s.IsUpcommingContent = 1 and s.XOriginAfter\r\n > 0 and s.XIsInEffectAfter = 1 ) begin declare @ExcludeCandidate QER_YExcludeCandidate insert into @ExcludeCandidate(Element, AssignedElement, XIsInEffectAfter\r\n) select s.Element, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_ESetExcluded as UID_Excluded from ESetExcludesEset exe ) as ex on s.AssignedElement\r\n = ex.UID_Excluded where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 union all select s.Element, s.AssignedElement, 1 from\r\n @Sourcedata s join ( select exe.UID_ESet as UID_Excluding from ESetExcludesEset exe ) as ex on s.AssignedElement = ex.UID_Excluding where s.IsUpcommingContent\r\n = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1  delete  @ExcludeCandidate from @ExcludeCandidate ex where exists (select top 1 1 from BaseTree \r\nb where ex.Element = b.UID_Org and b.UID_OrgRoot in ( 'QER-V-ITShopOrg', 'QER-V-ITShopSrc') and b.ITShopInfo in ( 'BO',  'BG', 'BT') )  update @ExcludeCandidate\r\n set XIsInEffectAfter = 0 from @ExcludeCandidate l  join ( select exe.UID_ESetExcluded as UID_Excluded, exe.UID_ESet as UID_Excluding from ESetExcludesEset\r\n exe ) as ex on l.AssignedElement = ex.UID_Excluded join (select sh.* from @ExcludeCandidate sh  ) as h on l.Element = h.Element and h.AssignedElement \r\n= ex.UID_Excluding if @@ROWCOUNT > 0 begin update @Sourcedata set XIsInEffectAfter = 0 from @Sourcedata l join @ExcludeCandidate k on l.Element = k.Element\r\n and l.AssignedElement = k.AssignedElement and k.XIsInEffectAfter = 0 where l.IsUpcommingContent = 1 and l.XOriginAfter > 0 and l.XIsInEffectAfter = 1 \r\nend end  end   exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete = 0, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity\r\n = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = \r\n@DBQueueCurrent if @DebugSwitch = 1 begin print '#QBMDeltaOrigin' select * from #QBMDeltaOrigin print '#QBMDeltaInsert' select * from #QBMDeltaInsert print\r\n '#QBMDeltaDelete' select * from #QBMDeltaDelete end if @CountDeltaOrigin > 0 begin exec QBM_PMNTableOriginUpdate 'BaseTreeHasESet', 'UID_Org', 'UID_Eset'\r\n end if @CountDeltaQantity > 0 begin exec QER_PMNTableAddViewProperties 'BaseTreeHasESet' exec QBM_PMNTableInsert 'BaseTreeHasESet', 'UID_Org', 'UID_Eset'\r\n, @TargetIsView = 1 , @FKTableNameElement = 'BaseTree' , @FKColumnNameElement = 'UID_Org' end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_ZPersonHasESet",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:13.857",
      "ModifyDate": "2026-04-14T23:20:44.11",
      "Definition": "       create   procedure RMS_ZPersonHasESet (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @GenProcID varchar(38) declare @Xdate datetime = getutcdate() declare @XUser nvarchar(64) = object_name(@@procid) declare @MyName nvarchar\r\n(64) = object_name(@@procid) declare @UID_BaseTreeAssignToUse varchar(38) = 'RMS-AsgnBT-ESet' declare @DBQueueCurrent QBM_YDBQueueCurrent declare @QBM_BitPatternXOrigin_Inherit\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter\r\n, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end if dbo.QBM_FGITableCountAll\r\n('Eset') = 0 begin goto endLabel end  insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore , XIsInEffectBefore\r\n, XIsInEffectAfter ) select 0, 0 , uid_person, UID_ESet, XOrigin , phe.XIsInEffect, 0 from PersonHasESet phe join @DBQueueCurrent x on uid_person = x.uid_parameter\r\n insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement , XIsInEffectBefore, XIsInEffectAfter ) select 1, \r\n0, phe.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv , phe.UID_Person, e.UID_ESet , 0, e.IsInActive ^ 1 from PersonHasESet phe join @DBQueueCurrent x on\r\n uid_person= x.uid_parameter join ESet e on phe.UID_ESet = e.UID_ESet insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement\r\n, XOriginAfter , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0 , x.uid_person, x.UID_ESet, @QBM_BitPatternXOrigin_Inherit ,0 , x.IsInActive ^ 1 from\r\n ( select pfo.uid_person, e.UID_Eset as uid_ESet , e.IsInActive from  dbo.QER_FTPersonInheritFromOrg_L(@DBQueueCurrent, @UID_BaseTreeAssignToUse) pfo join\r\n BaseTreeHasESet oha on pfo.uid_org = oha.uid_org and oha.XOrigin > 0 and oha.XIsInEffect = 1 join ESet e on oha.UID_ESet = e.UID_ESet         ) as x  \r\ninsert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0\r\n , x.uid_person, x.UID_ESet, @QBM_BitPatternXOrigin_Inherit ,0 , x.IsInActive ^ 1 from ( select s.Element as uid_Person, e.UID_ESet as UID_Eset, e.IsInActive\r\n from @SourceData s join ESetCollection ec on s.AssignedElement = ec.uid_ESet and ec.uid_ESet <> ec.UID_EsetChild and s.XOriginAfter > 0 and s.IsUpcommingContent\r\n = 1 join ESet e on ec.UID_ESetChild = e.UID_ESet join Person p on p.UID_Person = s.Element and p.IsNoInherite = 0 where s.IsUpcommingContent = 1 ) as \r\nx if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\ESetExclusion') > ' '  begin if exists (select top 1 1 from ESetExcludesEset ex with (nolock) \r\njoin @Sourcedata s on ex.UID_ESetExcluded  = s.AssignedElement where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 ) begin\r\n declare @ExcludeCandidate QER_YExcludeCandidate insert into @ExcludeCandidate(Element, AssignedElement, XIsInEffectAfter) select s.Element, s.AssignedElement\r\n, 1 from @Sourcedata s join ( select exe.UID_ESetExcluded as UID_Excluded from ESetExcludesEset exe ) as ex on s.AssignedElement = ex.UID_Excluded where\r\n s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 union all select s.Element, s.AssignedElement, 1 from @Sourcedata s join ( \r\nselect exe.UID_ESet as UID_Excluding from ESetExcludesEset exe ) as ex on s.AssignedElement = ex.UID_Excluding where s.IsUpcommingContent = 1 and s.XOriginAfter\r\n > 0 and s.XIsInEffectAfter = 1 update @ExcludeCandidate set XIsInEffectAfter = 0 from @ExcludeCandidate l  join ( select exe.UID_ESetExcluded as UID_Excluded\r\n, exe.UID_ESet as UID_Excluding from ESetExcludesEset exe ) as ex on l.AssignedElement = ex.UID_Excluded join (select sh.* from @ExcludeCandidate sh  )\r\n as h on l.Element = h.Element and h.AssignedElement = ex.UID_Excluding if @@ROWCOUNT > 0 begin update @Sourcedata set XIsInEffectAfter = 0 from @Sourcedata\r\n l join @ExcludeCandidate k on l.Element = k.Element and l.AssignedElement = k.AssignedElement and k.XIsInEffectAfter = 0 where l.IsUpcommingContent = \r\n1 and l.XOriginAfter > 0 and l.XIsInEffectAfter = 1 end end  end   exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete = 0, @DeltaInsert\r\n = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 1 , @SlotNumber\r\n = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaOrigin > 0 begin exec QBM_PMNTableOriginUpdate 'personhasESet', 'uid_Person', 'uid_ESet'\r\n end if @CountDeltaQantity > 0 begin exec QBM_PMNTableInsert 'personhasESet', 'uid_Person', 'uid_ESet', @TargetIsView = 0 , @FKTableNameElement = 'Person'\r\n , @FKColumnNameElement = 'UID_Person' end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: \r\nend \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_ZPersonHasObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:13.897",
      "ModifyDate": "2026-04-14T23:20:44.163",
      "Definition": "      create   procedure RMS_ZPersonHasObject (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @QER_BitPattern_Inherit_0 int = dbo.QER_FGIBitPatternInheritInfo('|Inherit|', 0) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @QER_BitPatternInherit_Master\r\n int = dbo.QER_FGIBitPatternInheritInfo('|Master|', 0)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 0, 0 , pho.UID_Person\r\n, pho.ObjectKey, pho.InheritInfo from PersonHasObject pho join @DBQueueCurrent x on pho.UID_Person = x.uid_parameter where pho.ObjectKey like '<Key><T>ESet</T>%'\r\n  insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , y.uid_person, z.XObjectKey, dbo.QER_FCVXOriginToInheritInfo\r\n(y.XOrigin) from PersonHasESet y join @DBQueueCurrent x on y.uid_person= x.uid_parameter and y.XOrigin > 0 and y.XIsInEffect = 1 join ESet z on y.UID_ESet\r\n = z.UID_ESet    insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , m.uid_person, pho.objectkey\r\n, @QER_BitPatternInherit_Master from @DBQueueCurrent x join person m on m.UID_Person = x.uid_parameter  join person s on s.UID_PersonMasterIdentity = m.uid_Person\r\n join PersonHasObject pho on pho.uid_person = s.uid_person where pho.ObjectKey like '<Key><T>ESet</T>%'   berechnen: exec QBM_PDBQueueCalculateDelta @SourceData\r\n, @DeltaQuantity = 1, @DeltaDelete = 1, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin\r\n output , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent exec QER_PPersonHasObjectPostProc @SlotNumber , @CountDeltaOrigin\r\n , @CountDeltaQantity , 'RMS-K-PersonHasObject' END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel:\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_ZWorkDeskHasESet",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:13.877",
      "ModifyDate": "2026-04-14T23:20:44.14",
      "Definition": "       create   procedure RMS_ZWorkDeskHasESet (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @GenProcID varchar(38) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin\r\n('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement\r\n, XOriginBefore , XIsInEffectBefore, XIsInEffectAfter ) select 0, 0 , uid_WorkDesk, uid_ESet, XOrigin , whe.XIsInEffect, 0 from WorkDeskHasESet whe join\r\n @DBQueueCurrent x on uid_WorkDesk = x.uid_parameter  insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement\r\n , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0, whe.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv , uid_WorkDesk, e.UID_ESet , 0, e.IsInActive ^ 1\r\n from WorkDeskHasESet whe join @DBQueueCurrent x on uid_WorkDesk = x.uid_parameter  join ESet e on whe.UID_ESet = e.UID_ESet insert into @SourceData( IsUpcommingContent\r\n, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0 , x.uid_WorkDesk, x.uid_ESet, @QBM_BitPatternXOrigin_Inherit\r\n , 0, x.IsInActive ^ 1 from (      select distinct ph.uid_WorkDesk, e.UID_Eset as uid_ESet , e.IsInActive from  ( select hpo.uid_WorkDesk , hpo.uid_org\r\n from @DBQueueCurrent p join helperWorkDeskorg hpo on p.uid_parameter = hpo.uid_WorkDesk union select pio.uid_WorkDesk , pio.uid_org from @DBQueueCurrent\r\n p join WorkDeskinBaseTree pio on p.uid_parameter = pio.uid_WorkDesk and pio.XOrigin > 0   ) as ph  join WorkDesk w on w.uid_WorkDesk = ph.uid_WorkDesk\r\n and w.IsNoInherite = 0 join BaseTree b on b.uid_org = ph.uid_org and b.IsNoInheriteToWorkDesk = 0 join BaseTreeHasESet oha on oha.uid_org = ph.uid_org\r\n and oha.XOrigin > 0 and oha.XIsInEffect = 1 join ESet e on oha.UID_ESet = e.UID_ESet ) as x  insert into @SourceData( IsUpcommingContent, XOriginBefore\r\n , Element, AssignedElement, XOriginAfter , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0 , x.uid_WorkDesk, x.UID_ESet, @QBM_BitPatternXOrigin_Inherit\r\n ,0 , x.IsInActive ^ 1 from ( select s.Element as uid_WorkDesk, e.UID_ESet as UID_Eset, e.IsInActive from @SourceData s join ESetCollection ec on s.AssignedElement\r\n = ec.uid_ESet and ec.uid_ESet <> ec.UID_EsetChild and s.XOriginAfter > 0 and s.IsUpcommingContent = 1 join ESet e on ec.UID_ESetChild = e.UID_ESet join\r\n WorkDesk p on p.UID_WorkDesk = s.Element and p.IsNoInherite = 0 where s.IsUpcommingContent = 1 ) as x if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\ESetExclusion'\r\n) > ' '  begin if exists (select top 1 1 from ESetExcludesEset ex with (nolock) join @Sourcedata s on ex.UID_ESetExcluded  = s.AssignedElement where s.IsUpcommingContent\r\n = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 ) begin declare @ExcludeCandidate QER_YExcludeCandidate insert into @ExcludeCandidate(Element, AssignedElement\r\n, XIsInEffectAfter) select s.Element, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_ESetExcluded as UID_Excluded from ESetExcludesEset \r\nexe ) as ex on s.AssignedElement = ex.UID_Excluded where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 union all select s.Element\r\n, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_ESet as UID_Excluding from ESetExcludesEset exe ) as ex on s.AssignedElement = ex.UID_Excluding\r\n where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 update @ExcludeCandidate set XIsInEffectAfter = 0 from @ExcludeCandidate\r\n l  join ( select exe.UID_ESetExcluded as UID_Excluded, exe.UID_ESet as UID_Excluding from ESetExcludesEset exe ) as ex on l.AssignedElement = ex.UID_Excluded\r\n join (select sh.* from @ExcludeCandidate sh  ) as h on l.Element = h.Element and h.AssignedElement = ex.UID_Excluding if @@ROWCOUNT > 0 begin update @Sourcedata\r\n set XIsInEffectAfter = 0 from @Sourcedata l join @ExcludeCandidate k on l.Element = k.Element and l.AssignedElement = k.AssignedElement and k.XIsInEffectAfter\r\n = 0 where l.IsUpcommingContent = 1 and l.XOriginAfter > 0 and l.XIsInEffectAfter = 1 end end  end   exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity\r\n = 0, @DeltaDelete = 0, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output\r\n , @UseIsInEffect = 1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent  if @CountDeltaOrigin > 0 begin exec QBM_PMNTableOriginUpdate\r\n 'WorkDeskHasESet', 'uid_WorkDesk', 'uid_ESet' end if @CountDeltaQantity > 0 begin exec QBM_PMNTableInsert 'WorkDeskHasESet', 'uid_WorkDesk', 'uid_ESet'\r\n, @TargetIsView = 0 , @FKTableNameElement = 'WorkDesk' , @FKColumnNameElement = 'uid_WorkDesk' end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RPS_PAfterMigrationTasks",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:16.663",
      "ModifyDate": "2026-04-14T23:20:45.387",
      "Definition": " create   procedure RPS_PAfterMigrationTasks (@GenProcID varchar(38) ) as begin SET XACT_ABORT OFF BEGIN TRY  declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, x.subobject, @GenProcID from ( select y.UID_Org as uid , 'RPS-K-OrgHasRPSReport'\r\n as subobject from BaseTree y where y.UID_Org like '___-%'  and y.XUserUpdated like 'QBM_PBufferT_Process%' and y.XDateUpdated > GETUTCDATE() -1 union \r\nselect y.UID_Org as uid , 'RPS-K-OrgHasRPSReport' as subobject from BaseTreeHasRPSReport y where y.UID_Org like '___-%'  and y.XUserUpdated like 'QBM_PBufferT_Process%'\r\n and y.XDateUpdated > GETUTCDATE() -1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AllChildrenOfOrg', @DBQueueElements_01   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RPS_RBaseTreeHasObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:16.657",
      "ModifyDate": "2026-04-14T23:20:45.373",
      "Definition": "create   procedure RPS_RBaseTreeHasObject (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'BaseTree', 'UID_Org', @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RPS_ROrgHasRPSReport",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:16.553",
      "ModifyDate": "2026-04-14T23:20:45.263",
      "Definition": "create   procedure RPS_ROrgHasRPSReport (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @UID_BasetreeAssignToUse varchar(38) = 'RPS-AsgnBT-RPSReport' declare \r\n@DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L @DBQueueCurrent, 'BaseTree', 'UID_Org', @SlotNumber if @resetted > 0 begin\r\n delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and \r\ncu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end exec @resetted = QER_PSlotResetOnInvalidRoot_L @DBQueueCurrent, @UID_BasetreeAssignToUse\r\n, @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue\r\n = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2\r\n) select cu.UID_Parameter, x.XObjectKey from @DBQueueCurrent cu join BaseTree x on cu.UID_Parameter = x.UID_Org exec @resetted = QBM_PSlotResetWhileJobRun_L\r\n @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RPS_RPersonHasObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:16.63",
      "ModifyDate": "2026-04-14T23:20:45.35",
      "Definition": "create   procedure RPS_RPersonHasObject (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'Person', 'UID_Person', @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RPS_RPersonHasRPSReport",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:16.577",
      "ModifyDate": "2026-04-14T23:20:45.29",
      "Definition": "create   procedure RPS_RPersonHasRPSReport (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'Person', 'UID_Person', @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent\r\n cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end  insert into @ObjectKeysToCheck_Jobrunning\r\n(Parameter1, Parameter2) select cu.UID_Parameter, x.XObjectKey from @DBQueueCurrent cu join Person x on cu.UID_Parameter = x.UID_Person exec @resetted \r\n= QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RPS_ZAllForOneOrg",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:16.67",
      "ModifyDate": "2026-04-14T23:20:45.393",
      "Definition": "  create   procedure RPS_ZAllForOneOrg (@SlotNumber int) as begin BEGIN TRY declare @dummy int END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RPS_ZAllForOnePerson",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:16.677",
      "ModifyDate": "2026-04-14T23:20:45.403",
      "Definition": "   create   procedure RPS_ZAllForOnePerson (@SlotNumber int) as begin BEGIN TRY declare @dummy int END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RPS_ZAllForOneRPSReport",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:16.527",
      "ModifyDate": "2026-04-14T23:20:45.237",
      "Definition": "     create   procedure RPS_ZAllForOneRPSReport (@SlotNumber int , @uid_RPSReport varchar(38) , @dummy varchar(38) , @GenProcID varchar(38) ) as\r\n begin declare @MsgTxt nvarchar(1024) declare @DebugLevel char(1) = 'W' BEGIN TRY if not exists (select top 1 1 from RPSReport where uid_RPSReport = isnull\r\n(@uid_RPSReport,'')) begin select @MsgTxt = N'RPSReport ' + rtrim(@uid_RPSReport) + ' not exists, Job ALLFORONERPSReport was killed' exec QBM_PJournal \r\n@MsgTxt, @@procid, 'D', @DebugLevel goto ende  end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select co.UID_Org as uid from BaseTreeHasRPSReport bhr join BaseTreeCollection co on bhr.UID_Org = co.UID_ParentOrg\r\n where bhr.UID_RPSReport = @uid_RPSReport and bhr.XOrigin > 0  ) as x exec QBM_PDBQueueInsert_Bulk 'RPS-K-OrgHasRPSReport', @DBQueueElements_01 declare\r\n @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_person\r\n as uid from PersonHasRPSReport where uid_RPSReport = @uid_RPSReport and XOrigin > 0  union select pio.UID_Person from BaseTreeHasRPSReport bhr join PersonInBaseTree\r\n pio on bhr.UID_Org = pio.UID_Org and bhr.XOrigin > 0  where bhr.UID_RPSReport = @uid_RPSReport union select pio.UID_Person from BaseTreeHasRPSReport bhr\r\n join HelperPersonOrg pio on bhr.UID_Org = pio.UID_Org and bhr.XOrigin > 0  where bhr.UID_RPSReport = @uid_RPSReport ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'RPS-K-PersonHasRPSReport', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RPS_ZBaseTreeHasObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:16.65",
      "ModifyDate": "2026-04-14T23:20:45.367",
      "Definition": "      create   procedure RPS_ZBaseTreeHasObject (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @DBQueueCurrent QBM_YDBQueueCurrent declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0)  BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end insert into @SourceData( IsUpcommingContent\r\n, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 0, 0 , uid_Org, ObjectKey, InheritInfo from BaseTreeHasObject bho join @DBQueueCurrent\r\n x on uid_Org = x.uid_parameter where bho.ObjectKey like '<Key><T>RPSReport</T>%'  insert into @SourceData( IsUpcommingContent, XOriginBefore , Element\r\n, AssignedElement, XOriginAfter ) select 1, 0 , y.UID_Org, z.XObjectKey, dbo.QER_FCVXOriginToInheritInfo(y.XOrigin) from BaseTreeHasRPSReport y join @DBQueueCurrent\r\n x on y.UID_Org= x.uid_parameter and y.XOrigin > 0 and y.XIsInEffect = 1 join RPSReport z on z.uid_RPSReport = y.uid_RPSReport if dbo.QBM_FGIModuleExists\r\n('RMS') = 1 begin insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , y.UID_Org, ehe.Entitlement\r\n, dbo.QER_FCVXOriginToInheritInfo(@QBM_BitPatternXOrigin_Inherit) from BaseTreeHasESet y join @DBQueueCurrent x on y.UID_Org = x.uid_parameter and y.XOrigin\r\n > 0 and y.XIsInEffect = 1 join ESetHasEntitlement ehe on ehe.UID_ESet = y.UID_ESet and ehe.XOrigin > 0 and ehe.XIsInEffect = 1 join BaseTree b on y.UID_Org\r\n = b.UID_Org  and not (b.UID_OrgRoot in ( 'QER-V-ITShopOrg', 'QER-V-ITShopSrc') and b.ITShopInfo in ( 'BO', 'PR', 'BG', 'BT') ) join OrgRootAssign oa on\r\n oa.UID_OrgRoot = b.UID_OrgRoot and oa.IsAssignmentAllowed = 1 where (ehe.Entitlement like '<Key><T>RPSReport</T>%' and oa.UID_BaseTreeAssign = 'RPS-AsgnBT-RPSReport'\r\n)        end  berechnen: exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete = 1, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity\r\n = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = \r\n@DBQueueCurrent exec QER_PBasetreeHasObjectPostProc @CountDeltaOrigin, @CountDeltaQantity END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RPS_ZOrgHasRPSReport",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:16.55",
      "ModifyDate": "2026-04-14T23:20:45.257",
      "Definition": "    create   procedure RPS_ZOrgHasRPSReport(@SlotNumber int) AS begin declare @GenProcID varchar(38) declare @UID_BasetreeAssignToUse varchar(38\r\n) = 'RPS-AsgnBT-RPSReport' declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin int declare @DBQueueCurrent QBM_YDBQueueCurrent\r\n declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin\r\n('|Inherit|', 1)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end insert\r\n into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore , XIsInEffectBefore ) select 0, 0 , oha.uid_org, oha.uid_RPSReport\r\n, oha.XOrigin , oha.XIsInEffect from BaseTreeHasRPSReport oha join @DBQueueCurrent x on oha.uid_org =x.uid_parameter insert into @SourceData( IsUpcommingContent\r\n, XOriginBefore, XOriginAfter , Element, AssignedElement , XIsInEffectAfter ) select 1, 0, oha.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv , oha.uid_org\r\n, oha.uid_RPSReport , 1 from BaseTreeHasRPSReport oha join @DBQueueCurrent x on oha.uid_org = x.uid_parameter  join RPSReport r on oha.uid_RPSReport = \r\nr.UID_RPSReport     where oha.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement\r\n, XOriginAfter , XIsInEffectAfter ) select 1, 0 , x.uid_parameter, oha.uid_RPSReport, @QBM_BitPatternXOrigin_Inherit , 1 from @DBQueueCurrent x join BaseTreeCollection\r\n oc on oc.uid_org = x.uid_parameter and oc.uid_org <> oc.uid_parentorg join BaseTreeHasRPSReport oha on oha.uid_org = oc.uid_parentorg and oha.XOrigin \r\n> 0 and oha.XIsInEffect = 1 join RPSReport r on oha.uid_RPSReport = r.UID_RPSReport and r.IsInactive = 0 and r.IsDeactivatedByPreProcessor = 0  where oha.XOrigin\r\n & @QBM_BitPatternXOrigin_Inherit_inv > 0 if dbo.QBM_FGIModuleExists('RMS') = 1 begin if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\NoESetSplitting'\r\n) = '' begin insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectAfter ) select 1, 0 , x.uid_parameter\r\n, y.uid_RPSReport, @QBM_BitPatternXOrigin_Inherit  , 1 from @DBQueueCurrent x join BaseTreeHasEset bhe on x.uid_Parameter = bhe.uid_org and bhe.XOrigin\r\n > 0 and bhe.XIsInEffect = 1 join ESetHasEntitlement ehe on bhe.uid_ESet = ehe.uid_ESet and ehe.XOrigin > 0 and ehe.XIsInEffect = 1 join RPSReport y on\r\n ehe.entitlement = y.XObjectKey and y.IsInactive = 0 and y.IsDeactivatedByPreProcessor = 0 join BaseTree b on bhe.UID_Org = b.UID_Org  and not (b.UID_OrgRoot\r\n in ( 'QER-V-ITShopOrg', 'QER-V-ITShopSrc') and b.ITShopInfo in ( 'BO', 'PR', 'BG', 'BT') ) join OrgRootAssign oa on oa.UID_OrgRoot = b.UID_OrgRoot and\r\n oa.UID_BaseTreeAssign = @UID_BasetreeAssignToUse and oa.IsAssignmentAllowed = 1 end  else begin  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into\r\n @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select cu.UID_Parameter as uid, cu.GenProcID from @DBQueueCurrent\r\n cu ) as x exec QBM_PDBQueueInsert_Bulk 'RPS-K-BaseTreeHasObject', @DBQueueElements_01 end end  exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity\r\n = 0, @DeltaDelete = 0, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output\r\n , @UseIsInEffect = 1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaOrigin > 0 begin exec QBM_PMNTableOriginUpdate\r\n 'BaseTreeHasRPSReport', 'UID_Org', 'UID_RPSReport' end if @CountDeltaQantity > 0 begin exec QER_PMNTableAddViewProperties 'BaseTreeHasRPSReport' exec \r\nQBM_PMNTableInsert 'BaseTreeHasRPSReport', 'UID_Org', 'UID_RPSReport', @TargetIsView = 1 , @FKTableNameElement = 'BaseTree' , @FKColumnNameElement = 'UID_Org'\r\n end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RPS_ZPersonHasObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:16.627",
      "ModifyDate": "2026-04-14T23:20:45.343",
      "Definition": "      create   procedure RPS_ZPersonHasObject (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @DBQueueCurrent QBM_YDBQueueCurrent declare @QER_BitPatternInherit_Direct int = dbo.QER_FGIBitPatternInheritInfo('|Direct|', 0) declare @QER_BitPatternInherit_Master\r\n int = dbo.QER_FGIBitPatternInheritInfo('|Master|', 0)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 0, 0 , pho.UID_Person\r\n, pho.ObjectKey, pho.InheritInfo from PersonHasObject pho join @DBQueueCurrent x on pho.UID_Person = x.uid_parameter where pho.ObjectKey like '<Key><T>RPSReport</T>%'\r\n or pho.ObjectKey like '<Key><T>RPSSubscription</T>%'  insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter\r\n ) select 1, 0 , y.uid_person, z.XObjectKey, dbo.QER_FCVXOriginToInheritInfo(y.XOrigin) from PersonHasRPSReport y join @DBQueueCurrent x on y.uid_person=\r\n x.uid_parameter and y.XOrigin > 0 and y.XIsInEffect = 1  join RPSReport z on y.uid_RPSReport = z.uid_RPSReport insert into @SourceData( IsUpcommingContent\r\n, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , y.uid_person, y.XObjectKey, @QER_BitPatternInherit_Direct from RPSSubscription\r\n y join @DBQueueCurrent x on y.uid_person= x.uid_parameter   insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter\r\n ) select 1, 0 , m.uid_person, pho.objectkey, @QER_BitPatternInherit_Master from @DBQueueCurrent x join person m on m.UID_Person = x.uid_parameter  join\r\n person s on s.UID_PersonMasterIdentity = m.uid_Person join PersonHasObject pho on pho.uid_person = s.uid_person where pho.ObjectKey like '<Key><T>RPSReport</T>%'\r\n or pho.ObjectKey like '<Key><T>RPSSubscription</T>%'   berechnen: exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 1, @DeltaDelete = 1, @DeltaInsert\r\n = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 0 , @SlotNumber\r\n = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent exec QER_PPersonHasObjectPostProc @SlotNumber , @CountDeltaOrigin , @CountDeltaQantity , 'RPS-K-PersonHasObject'\r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RPS_ZPersonHasRPSReport",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:16.57",
      "ModifyDate": "2026-04-14T23:20:45.283",
      "Definition": "    create   procedure RPS_ZPersonHasRPSReport (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @GenProcID varchar(38) declare @UID_BaseTreeAssignToUse varchar(38) = 'RPS-AsgnBT-RPSReport' declare @DBQueueCurrent QBM_YDBQueueCurrent declare\r\n @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin\r\n('|Inherit|', 1)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  insert\r\n into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore , XIsInEffectBefore, XIsInEffectAfter ) select 0, 0 , uid_person\r\n, uid_RPSReport, phr.XOrigin , phr.XIsInEffect, 0 from PersonHasRPSReport phr join @DBQueueCurrent x on uid_person = x.uid_parameter insert into @SourceData\r\n( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0, r.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv\r\n , r.uid_person, r.uid_RPSReport , 0, (rr.IsInActive ^1 )  from PersonHasRPSReport r join @DBQueueCurrent x on uid_person= x.uid_parameter join RPSReport\r\n rr on r.UID_RPSReport = rr.UID_RPSReport  and rr.IsDeactivatedByPreProcessor = 0 join person px on r.uid_person = px.uid_person  insert into @SourceData\r\n( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0 , x.uid_person, x.uid_RPSReport\r\n, @QBM_BitPatternXOrigin_Inherit , 0, 1 from ( select pha.uid_person, a.uid_RPSReport from PersonHasESet pha join @DBQueueCurrent x on pha.uid_person =\r\n x.uid_parameter and pha.XOrigin > 0 and pha.XIsInEffect = 1  join person px on pha.uid_person = px.uid_person and px.isNoInherite = 0  join ESetHasEntitlement\r\n aha on aha.uid_Eset = pha.uid_Eset and aha.XOrigin > 0 and aha.XIsInEffect = 1 join RPSReport a on aha.Entitlement = a.XObjectKey and a.IsInactive = 0\r\n and a.IsDeactivatedByPreProcessor = 0 union all select pfo.uid_person, oha.uid_RPSReport  from dbo.QER_FTPersonInheritFromOrg_L(@DBQueueCurrent, @UID_BaseTreeAssignToUse\r\n) pfo join BaseTreeHasRPSReport oha on pfo.uid_org = oha.uid_org and oha.XOrigin > 0 and oha.XIsInEffect = 1 join RPSReport r on oha.uid_RPSReport = r.UID_RPSReport\r\n and r.IsInactive = 0 and r.IsDeactivatedByPreProcessor = 0 ) as x   exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete = 0,\r\n @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 1\r\n , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaOrigin > 0 begin exec QBM_PMNTableOriginUpdate 'PersonHasRPSReport'\r\n, 'uid_Person', 'uid_RPSReport' end if @CountDeltaQantity > 0 begin exec QBM_PMNTableInsert 'PersonHasRPSReport', 'uid_Person', 'uid_RPSReport', @TargetIsView\r\n = 0 , @FKTableNameElement = 'Person' , @FKColumnNameElement = 'UID_Person' end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18\r\n, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RPS_ZPrePropRPSReport",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:16.593",
      "ModifyDate": "2026-04-14T23:20:45.303",
      "Definition": "    create   procedure RPS_ZPrePropRPSReport (@SlotNumber int ) as begin  declare @GenProcID varchar(38) declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext\r\n('') declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select\r\n UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end select @GenProcID = max(GenProcID) from @DBQueueCurrent where GenProcID > ' ' if isnull(@Genprocid, '') = '' begin select \r\n@GenProcID = newid() end declare @PrePropHelper QBM_YPrepropHelper insert into @PrePropHelper (uid_parameter , isDeactivatedPrior , IsDeactivated , GenProcID\r\n , PreProcessorCondition, IsDeactivatedOld) select x.uid_parameter, 0, 0, x.GenProcID, isnull(c.PreProcessorCondition,N''), c.isDeactivatedByPreProcessor\r\n from @DBQueueCurrent x join RPSReport c on x.uid_parameter = c.uid_RPSReport  update @PrePropHelper set IsDeactivated = dbo.QBM_FGIPrepropConditionDeactiv\r\n(h.PreProcessorCondition) from @PrePropHelper h where h.PreProcessorCondition > ' ' and h.IsDeactivated = 0  exec QBM_PSessionContextSet 'GenProcID', @GenProcID\r\n update RPSReport set IsDeactivatedByPreProcessor = x.isDeactivated, xdateupdated = GetUTCDate(), xuserupdated = 'DBScheduler'  from RPSReport r join @PrePropHelper\r\n x on r.UID_RPSReport = x.uid_parameter where r.IsDeactivatedByPreProcessor <> x.IsDeactivated END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH  endLabel: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RPS_ZScheduleStart",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:16.61",
      "ModifyDate": "2026-04-14T23:20:45.323",
      "Definition": "  create   procedure RPS_ZScheduleStart ( @SlotNumber int ) AS begin declare @GenProcID varchar(38) declare @SQLcmd nvarchar(max) declare @BasisObjectKey\r\n varchar(138) declare @UID_RPSSubscription varchar(38) declare @UID_DialogParameterSet varchar(38) declare @MyName nvarchar(64) = object_name(@@procid)\r\n declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int BEGIN TRY   insert into @ElementBuffer (UID1, UID2, UID3)\r\n select rs.uid_RPSSubscription, ps.UID_DialogParameterSet, cu.GenProcID from RPSSubscription rs join DialogParameterset ps on rs.XObjectKey = ps.ObjectkeyUsedBy\r\n join QBMDBQueueCurrent cu with (readpast) on cu.UID_Parameter = rs.UID_DialogSchedule where rs.IsRejected = 0 and cu.SlotNumber = @SlotNumber select @ElementCount\r\n = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @UID_RPSSubscription = bu.UID1 , @UID_DialogParameterSet\r\n = bu.UID2 , @GenProcID = bu.UID3 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex select @SQLcmd = N'UID_RPSSubscription = ''' + rtrim(@UID_RPSSubscription\r\n) + N'''' select @BasisObjectKey = dbo.QBM_FCVElementToObjectKey1('RPSSubscription', 'UID_RPSSubscription', @UID_RPSSubscription)  exec QBM_PJobCreate_HOFireEvent_B\r\n 'RPSSubscription', @SQLcmd , 'GenerateMail', @GenProcID , @AdditionalObjectKeysAffected = DEFAULT , @p2 = N'_paramName1' , @v2 = N'ParameterSet' , @p3\r\n = N'_paramValue1' , @v3 = @UID_DialogParameterSet , @checkForExisting = 1 , @BasisObjectKey = @BasisObjectKey select @ElementIndex += 1 end  END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_PAfterMigrationJobCreate",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.05",
      "ModifyDate": "2026-04-14T23:20:46.72",
      "Definition": "  create   procedure TSB_PAfterMigrationJobCreate (@GenProcID varchar(38) ) as begin declare @MyModule varchar(3) = 'TSB' SET XACT_ABORT OFF BEGIN\r\n TRY declare @CountElements int declare @Puffer QBM_YCursorbuffer declare @ElementCount int declare @ElementIndex int declare @ElementLast int declare \r\n@SQL nvarchar(max) declare @Parameters QBM_YParameterList  insert into @Parameters (Parameter1, ContentFull) values ('SQLStmt', @SQL) , ('WithoutTransaction'\r\n, 'True')  select @CountElements = count(*) from UNSAccountB u where UID_Person is null and NeverConnectToPerson = 0 insert into @Puffer(ContentFull) select\r\n concat('exec QBM_PJobCreate_HOTemplate_B ''UNSAccountB'', ''UID_Person is null and NeverConnectToPerson = 0 and UID_UNSAccountB like ''''', hp.HexPattern\r\n, ''''' '', @Columns = ''NeverConnectToPerson''' , ',@GenProcID = ''', @Genprocid, '''' , ', @AdditionalObjectKeysAffected = default' ) from dbo.QBM_FTHexPattern\r\n( case when @CountElements > 20000000 then 3  when @CountElements > 3000000 then 2  else 1 end ) as hp select @ElementCount = @@ROWCOUNT select @ElementIndex\r\n = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @SQL = bu.ContentFull from @Puffer\r\n bu where bu.ElementIndex = @ElementIndex update @Parameters set ContentFull = @SQL where Parameter1 = 'SQLStmt' exec QBM_PJobCreate 'VI.JobService.JobComponents.SQLComponent'\r\n , 'Execute SQL' , @Parameters = @Parameters , @GenProcID = @Genprocid , @ObjectKeysAffected = default select @ElementIndex += 1 end  END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_PAfterMigrationTasks",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.02",
      "ModifyDate": "2026-04-14T23:20:46.673",
      "Definition": "  create   procedure TSB_PAfterMigrationTasks (@GenProcID varchar(38) ) as begin declare @MyModule varchar(3) = 'TSB' SET XACT_ABORT OFF BEGIN TRY\r\n               if exists (select top 1 1 from QBMModuleDef d where d.ModuleName = @MyModule and d.CheckSumForDelta = 0 ) begin  declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.UID_Element, null, @GenProcID from ( select y.UID_Org as UID_Element\r\n from BaseTree y where y.UID_Org like '___-%'  and y.XUserUpdated like 'QBM_PBufferT_Process%' and y.XDateUpdated > GETUTCDATE() -1 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'TSB-K-BaseTreeOwnsObject', @DBQueueElements_01 end else begin   if dbo.QBM_FGIDBOwner() not in ( @MyModule ) begin exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate'\r\n, 'TSB-K-BaseTreeOwnsObject', '', @GenProcID end  end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_PMapAccountToPerson",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:20.707",
      "ModifyDate": "2026-04-14T23:20:46.397",
      "Definition": "       create   procedure TSB_PMapAccountToPerson (@AccountTable varchar(30) , @JoinClause nvarchar(max) , @WhereClause nvarchar(max) ) as begin\r\n declare @cmd nvarchar(max) declare @DebugSwitch int = 0 SET XACT_ABORT OFF BEGIN TRY    declare @displayAccount nvarchar(max) declare @displayPerson nvarchar\r\n(max) declare @UID_DialogTableAccount varchar(38) select top 1 @displayAccount = t.DisplayPattern , @UID_DialogTableAccount = t.UID_DialogTable from DialogTable\r\n t where t.TableName = @AccountTable if @DebugSwitch > 0 begin print '@displayAccount ' + @displayAccount print '@UID_DialogTableAccount ' + @UID_DialogTableAccount\r\n end select @displayAccount = dbo.QBM_FSQTriggerWatchDisplay(@AccountTable, 'a') select @displayPerson = dbo.QBM_FSQTriggerWatchDisplay('Person', 'p') \r\nif @DebugSwitch > 0 begin print @displayAccount end select top 1 @cmd = concat('\r\nselect \r\n\tp.UID_Person as UID_Person, \r\n\t', @displayPerson , ' as InternalName, \r\n\ta.'\r\n, t.PKName1 , ' as UID_AccountTable, \r\n\t',  @displayAccount ,' as DisplayAccount, \r\n\t', case when ta.UID_DialogTableContainer is null then 'null' else \r\n'c.' + tc.PKName1 end, ' as UID_ContainerTable, \r\n\t',  case when ta.UID_DialogTableContainer is null then 'null' else dbo.QBM_FSQTriggerWatchDisplay(tc.TableName\r\n, 'c')  end, ' as DisplayContainer, \r\n\ta.', r.ChildColumn ,' as TSBAccountDefColumnName, \r\n\ta.XMarkedForDeletion, \r\n\t', case when ta.ColumnNameAccDisabled\r\n is null then 'null' else 'a.'+ ta.ColumnNameAccDisabled end, ' as AccountIsDisabled, \r\n\tp.IsInactive as PersonIsInactive\r\n\t\t\t\t\t\t   from ', @AccountTable\r\n , ' a \r\n\t\t\t\t\t\t\t\t\tleft outer join Person p on ', @JoinClause , '\r\n\t\t\t\t\t\t\t\t\t' , case when ta.UID_DialogTableContainer is null then '' else concat('left outer join '\r\n, tc.TableName , ' c on a.', ta.ColumnNameContainerFK, ' = c.' , tc.PKName1 ,'') end, '\r\n\t\t\t\t\t\t  where ', @WhereClause , ' and NeverConnectToPerson = 0\r\n\t\t\t\t\t\t  order by 6,5,4,3\r\n\t'\r\n ) from DialogTable t join QBM_VQBMRelation r on r.UID_DialogTableChild = t.UID_DialogTable join DialogTable tsba on r.UID_DialogTableParent = 'TSB-T-TSBAccountDef'\r\n left outer join TSBVAccountTable ta on ta.TableNameAccount = @AccountTable left outer join DialogTable tc on ta.UID_DialogTableContainer = tc.UID_DialogTable\r\n left outer join DialogColumn cc on replace(tc.DisplayPattern, '??', '%%') like '%[%]' + cc.columnname + N'[%]%' where t.TableName = @AccountTable if @DebugSwitch\r\n > 0 begin print @cmd end exec sp_executesql @cmd END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_PMemberOfSplitToGroups",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:20.693",
      "ModifyDate": "2026-04-14T23:20:46.38",
      "Definition": "  create   procedure TSB_PMemberOfSplitToGroups (@UID_UNSAccountB varchar(38) )as begin declare @Memberlist nvarchar(max) declare @UID_UNSRootB \r\nas varchar(38) declare @XUser nvarchar(64) declare @Xdate Datetime declare @Sollzustand QBM_YParameterList    declare @QBM_BitPatternXOrigin_Direct int\r\n = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Direct_inv int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 1) declare @QBM_BitPatternXOrigin_Inherit_inv\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  SET XACT_ABORT OFF BEGIN TRY select @Xdate = getUTCDate() select @XUser = 'sa' select @Memberlist \r\n= isnull(MemberOf,'') , @UID_UNSRootB = UID_UNSRootB from UNSAccountB where UID_UNSAccountB = @UID_UNSAccountB insert into @Sollzustand(ContentShort  )\r\n select distinct ParameterValue from dbo.QBM_FCVStringToList(@Memberlist, nchar(7), 0, 0 )  update @Sollzustand set Parameter1  = g.UID_UNSGroupB , Parameter2\r\n  = dbo.QBM_FCVElementToObjectKey2 ('UNSAccountBInUNSGroupB', 'UID_UNSAccountB', @UID_UNSAccountB , 'UID_UNSGroupB', g.UID_UNSGroupB) from @Sollzustand\r\n s , UNSGroupB g where s.ContentShort  = g.cn and g.UID_UNSRootB = @UID_UNSRootB  delete  @Sollzustand where Parameter1  is null   insert into UNSAccountBInUNSGroupB\r\n (UID_UNSAccountB , UID_UNSGroupB , XObjectKey, XDateInserted, XDateUpdated, XUserInserted, XUserUpdated, XOrigin) select @UID_UNSAccountB, s.Parameter1\r\n , s.Parameter2 , @Xdate, @Xdate, @XUser, @XUser, @QBM_BitPatternXOrigin_Direct from @Sollzustand s where Not exists (select top 1 1 from UNSAccountBInUNSGroupB\r\n uig where uig.XObjectKey = s.Parameter2  )    update UNSAccountBInUNSGroupB set XOrigin = XOrigin & @QBM_BitPatternXOrigin_Direct_inv  , XDateUpdated \r\n= @Xdate , XUserUpdated = @XUser where UID_UNSAccountB = @UID_UNSAccountB  and XOrigin & @QBM_BitPatternXOrigin_Direct > 0  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_PTargetSystemObjectCount",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:20.68",
      "ModifyDate": "2026-04-14T23:20:46.363",
      "Definition": "   create   procedure TSB_PTargetSystemObjectCount ( @XObjectKeyStart varchar(138) ) as begin declare @StartElements QBM_YParameterList set nocount\r\n on SET XACT_ABORT OFF BEGIN TRY drop table if exists #QBMCollectorReferenceElements create table #QBMCollectorReferenceElements (TableName varchar(30)\r\n collate database_default , Objectkey varchar(138) collate database_default , XMarkedForDeletion int , SortOrder int default 0 , IsInsertRestrict bit default\r\n 0 , IsDeleteRestrict bit default 0 primary key (ObjectKey) ) insert into @StartElements(Parameter1) select @XObjectKeyStart exec QBM_PTElementsReferenced_I\r\n @StartElements, @SameModule = 1, @TopDown = 1, @ExcludeDS = 0 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT \r\nEND CATCH ende:   select TableName, COUNT(*) as CountRecords from #QBMCollectorReferenceElements Group by TableName return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_PUNSAccountBInUNSGroupB_K",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.47",
      "ModifyDate": "2026-04-14T23:20:47.387",
      "Definition": "      create   procedure TSB_PUNSAccountBInUNSGroupB_K  (@DBQueueCurrent QBM_YDBQueueCurrent readonly , @Slotnumber int , @UserHasGroupList bit\r\n , @CountDeltaQantity int output , @CountDeltaOrigin int output ) as begin declare @PersonToCheck_L QBM_YSingleGUID declare @UID_BaseTreeAssignToUse varchar\r\n(38) = 'TSB-AsgnBT-UNSGroupB' declare @Sourcedata QBM_YDataForDelta declare @QBM_BitPatternXMarkedForDel_Delay int = dbo.QBM_FGIBitPatternXMarkedForDel\r\n('|Delay|', 0) declare @QBM_BitPatternXMarkedForDel_Out int = dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|', 0) declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1) declare @PMDKeepMembershipsOfLinkedAccount varchar(16) = left(dbo.QBM_FGIConfigparmValue('QER\\Person\\User\\KeepMembershipsOfLinkedAccount'\r\n), 16) SET XACT_ABORT OFF BEGIN TRY insert into @PersonToCheck_L(UID_SingleGuid) select distinct a.UID_Person from @DBQueueCurrent cu join UNSAccountB \r\na on cu.UID_Parameter = a.UID_UNSAccountB where a.UID_Person > ' '  if @UserHasGroupList = 0 begin insert into @SourceData( IsUpcommingContent, XOriginAfter\r\n , Element, AssignedElement, XOriginBefore , XIsInEffectBefore, XIsInEffectAfter ) select 0, 0 , aig.UID_UNSAccountB, aig.UID_UNSGroupB, aig.XOrigin\r\n , aig.XIsInEffect, 0 from UNSAccountBInUNSGroupB aig join @DBQueueCurrent x on aig.uid_UNSAccountB = x.uid_parameter join UNSGroupB g on aig.UID_UNSGroupB\r\n = g.UID_UNSGroupB and g.HasReadOnlyMemberships = 0  where aig.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0  and g.XMarkedForDeletion\r\n & @QBM_BitPatternXMarkedForDel_Out = 0  insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement , XIsInEffectBefore\r\n, XIsInEffectAfter ) select 1, 0, aig.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv , aig.uid_UNSAccountB, aig.uid_UNSGroupB , 0, dbo.TSB_FGIUserInGroupValid_OVR_Ke\r\n ( p.IsInActive, p.IsTemporaryDeactivated, p.XMarkedForDeletion, bh.PFDInheritGroup, bh.PTDInheritGroup, bh.PMDInheritGroup, 1, p.IsSecurityIncident, bh.PSIInheritGroup\r\n, n.AccountDisabled, bh.ADAInheritGroup , ovr.PFDInheritOverwrite, ovr.PTDInheritOverwrite, ovr.PSIInheritOverwrite, ovr.PMDInheritOverwrite, ovr.ADAInheritOverwrite\r\n, @PMDKeepMembershipsOfLinkedAccount)  & case when n.UID_UNSRootB = g.UID_UNSRootB then 1  when ns.IsExtendedInheritance = 0 then 0 when ns.IsExtendedInheritance\r\n = 1 and ns.UID_DPRNameSpace = rg.UID_DPRNameSpace then 1 else 0 end  from UNSAccountBInUNSGroupB aig join @DBQueueCurrent x on aig.uid_UNSAccountB \r\n= x.uid_parameter join UNSAccountB n on aig.uid_UNSAccountB = n.uid_UNSAccountB join UNSGroupB g on aig.UID_UNSGroupB = g.UID_UNSGroupB and g.HasReadOnlyMemberships\r\n = 0   and g.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0  join UNSRootB rn on n.UID_UNSRootB = rn.UID_UNSRootB join DPRNameSpace ns on rn.UID_DPRNameSpace\r\n = ns.UID_DPRNameSpace join UNSRootB rg on g.UID_UNSRootB = rg.UID_UNSRootB left outer join TSBSpecificGroupBehavior ovr on ovr.ObjectKeyGroup = g.XObjectKey\r\n  left outer join person p on n.uid_person = p.uid_person  left outer join TSBBehavior bh on n.UID_TSBBehavior = bh.UID_TSBBehavior  end else  begin insert\r\n into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore , XIsInEffectBefore, XIsInEffectAfter ) select 0, 0 , aig.UID_UNSAccountB\r\n, aig.UID_UNSGroupB, aig.XOrigin , aig.XIsInEffect, 0 from UNSAccountBHasUNSGroupB aig join @DBQueueCurrent x on aig.uid_UNSAccountB = x.uid_parameter\r\n join UNSGroupB g on aig.UID_UNSGroupB = g.UID_UNSGroupB and g.HasReadOnlyMemberships = 0   and g.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out\r\n = 0 where aig.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0  insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , \r\nElement, AssignedElement , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0, aig.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv , aig.uid_UNSAccountB, aig.uid_UNSGroupB\r\n , 0, dbo.TSB_FGIUserInGroupValid_OVR_Ke ( p.IsInActive, p.IsTemporaryDeactivated, p.XMarkedForDeletion, bh.PFDInheritGroup, bh.PTDInheritGroup, bh.PMDInheritGroup\r\n, 1, p.IsSecurityIncident, bh.PSIInheritGroup, n.AccountDisabled, bh.ADAInheritGroup , ovr.PFDInheritOverwrite, ovr.PTDInheritOverwrite, ovr.PSIInheritOverwrite\r\n, ovr.PMDInheritOverwrite, ovr.ADAInheritOverwrite, @PMDKeepMembershipsOfLinkedAccount)  & case when n.UID_UNSRootB = g.UID_UNSRootB then 1  when ns.IsExtendedInheritance\r\n = 0 then 0 when ns.IsExtendedInheritance = 1 and ns.UID_DPRNameSpace = rg.UID_DPRNameSpace then 1 else 0 end from UNSAccountBHasUNSGroupB aig join \r\n@DBQueueCurrent x on aig.uid_UNSAccountB = x.uid_parameter join UNSAccountB n on aig.uid_UNSAccountB = n.uid_UNSAccountB join UNSGroupB g on aig.UID_UNSGroupB\r\n = g.UID_UNSGroupB and g.HasReadOnlyMemberships = 0   and g.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0  join UNSRootB rn on n.UID_UNSRootB\r\n = rn.UID_UNSRootB join DPRNameSpace ns on rn.UID_DPRNameSpace = ns.UID_DPRNameSpace join UNSRootB rg on g.UID_UNSRootB = rg.UID_UNSRootB left outer join\r\n TSBSpecificGroupBehavior ovr on ovr.ObjectKeyGroup = g.XObjectKey  left outer join person p on n.uid_person = p.uid_person left outer join TSBBehavior\r\n bh on n.UID_TSBBehavior = bh.UID_TSBBehavior end  insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter \r\n, XIsInEffectBefore, XIsInEffectAfter ) select 1, 0 , x.uid_UNSAccountB, x.uid_UNSGroupB, @QBM_BitPatternXOrigin_Inherit , 0, dbo.TSB_FGIUserInGroupValid_OVR_Ke\r\n ( p.IsInActive, p.IsTemporaryDeactivated, p.XMarkedForDeletion, bh.PFDInheritGroup, bh.PTDInheritGroup, bh.PMDInheritGroup, 0, p.IsSecurityIncident, bh.PSIInheritGroup\r\n, x.AccountDisabled, bh.ADAInheritGroup , ovr.PFDInheritOverwrite, ovr.PTDInheritOverwrite, ovr.PSIInheritOverwrite, ovr.PMDInheritOverwrite, ovr.ADAInheritOverwrite\r\n, @PMDKeepMembershipsOfLinkedAccount)  from (  select nt.uid_UNSAccountB , ohg.uid_UNSGroupB , nt.UID_UNSRootB , nt.uid_person, nt.AccountDisabled ,\r\n nt.UID_TSBAccountDef, nt.UID_TSBBehavior, gg.XObjectKey from @DBQueueCurrent x join UNSAccountB nt on nt.uid_UNSAccountB = x.uid_parameter   and nt.IsGroupAccount_UNSGroupB\r\n = 1 join dbo.QER_FTAccountInheritFromOrg_L(@PersonToCheck_L , @UID_BaseTreeAssignToUse ) pfo on pfo.UID_Person = nt.UID_Person join BaseTreeHasUNSGroupB\r\n ohg on pfo.uid_org = ohg.uid_org and ohg.XOrigin > 0 and ohg.XIsInEffect = 1 join UNSGroupB gg on ohg.uid_UNSGroupB = gg.uid_UNSGroupB and gg.HasReadOnlyMemberships\r\n = 0   and gg.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0  join UNSRootB rn on nt.UID_UNSRootB = rn.UID_UNSRootB join DPRNameSpace ns on \r\nrn.UID_DPRNameSpace = ns.UID_DPRNameSpace join UNSRootB rg on gg.UID_UNSRootB = rg.UID_UNSRootB  where dbo.TSB_FGIGroupAccountMatching( gg.MatchPatternForMembership\r\n, nt.MatchPatternForMembership) = 1 and 1 = case when nt.UID_UNSRootB = gg.UID_UNSRootB then 1  when ns.IsExtendedInheritance = 0 then 0 when ns.IsExtendedInheritance\r\n = 1 and ns.UID_DPRNameSpace = rg.UID_DPRNameSpace then 1 else 0 end union all  select nt.uid_UNSAccountB , gg.uid_UNSGroupB , nt.UID_UNSRootB , nt.uid_person\r\n , nt.AccountDisabled , nt.UID_TSBAccountDef , nt.UID_TSBBehavior , gg.XObjectKey from @DBQueueCurrent x join UNSAccountB nt on nt.uid_UNSAccountB = x.uid_parameter\r\n  and nt.IsGroupAccount_UNSGroupB = 1 join personHasESet phe on nt.uid_person = phe.uid_person and phe.XOrigin > 0 and phe.XIsInEffect = 1  join person\r\n px on nt.UID_Person = px.uid_person and px.isNoInherite = 0  join ESetHasEntitlement ehe on phe.uid_ESet = ehe.uid_ESet and ehe.XOrigin > 0 and ehe.XIsInEffect\r\n = 1 and dbo.QBM_FGIModuleExists('RMS') = 1 join UNSGroupB gg on ehe.Entitlement = gg.XObjectKey and gg.HasReadOnlyMemberships = 0   and gg.XMarkedForDeletion\r\n & @QBM_BitPatternXMarkedForDel_Out = 0  join UNSRootB rn on nt.UID_UNSRootB = rn.UID_UNSRootB join DPRNameSpace ns on rn.UID_DPRNameSpace = ns.UID_DPRNameSpace\r\n join UNSRootB rg on gg.UID_UNSRootB = rg.UID_UNSRootB where dbo.TSB_FGIGroupAccountMatching( gg.MatchPatternForMembership, nt.MatchPatternForMembership\r\n) = 1 and 1 = case when nt.UID_UNSRootB = gg.UID_UNSRootB then 1  when ns.IsExtendedInheritance = 0 then 0 when ns.IsExtendedInheritance = 1 and ns.UID_DPRNameSpace\r\n = rg.UID_DPRNameSpace then 1 else 0 end ) as x join UNSRootb d on x.UID_UNSRootB = d.UID_UNSRootB left outer join person p on x.uid_person = p.uid_person\r\n  left outer join TSBBehavior bh on x.UID_TSBBehavior = bh.UID_TSBBehavior  left outer join TSBSpecificGroupBehavior ovr on ovr.ObjectKeyGroup = x.XObjectKey\r\n   where (not (isnull(p.XMarkedForDeletion, 0) & @QBM_BitPatternXMarkedForDel_Delay > 0 and bh.PMDInheritGroup is null and @PMDKeepMembershipsOfLinkedAccount\r\n <> 'ALL' and ovr.PMDInheritOverwrite is null ) )  if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\GroupExclusion') > ' ' begin if exists (select\r\n top 1 1 from UNSGroupBExclusion ex with (nolock) join @Sourcedata s on ex.UID_UNSGroupBLower  = s.AssignedElement where s.IsUpcommingContent = 1\r\n and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 ) begin declare @ExcludeCandidate QER_YExcludeCandidate insert into @ExcludeCandidate(Element, AssignedElement\r\n, XIsInEffectAfter) select s.Element, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_UNSGroupBLower as UID_Excluded from UNSGroupBExclusion\r\n exe ) as ex on s.AssignedElement = ex.UID_Excluded where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 union all select s.Element\r\n, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_UNSGroupBHigher as UID_Excluding from UNSGroupBExclusion exe ) as ex on s.AssignedElement\r\n = ex.UID_Excluding where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 update @ExcludeCandidate set XIsInEffectAfter = 0 \r\nfrom @ExcludeCandidate l  join ( select exe.UID_UNSGroupBLower as UID_Excluded, exe.UID_UNSGroupBHigher as UID_Excluding from UNSGroupBExclusion\r\n exe ) as ex on l.AssignedElement = ex.UID_Excluded join (select sh.* from @ExcludeCandidate sh  ) as h on l.Element = h.Element and h.AssignedElement \r\n= ex.UID_Excluding if @@ROWCOUNT > 0 begin update @Sourcedata set XIsInEffectAfter = 0 from @Sourcedata l join @ExcludeCandidate k on l.Element = k.Element\r\n and l.AssignedElement = k.AssignedElement and k.XIsInEffectAfter = 0 where l.IsUpcommingContent = 1 and l.XOriginAfter > 0 and l.XIsInEffectAfter = 1 \r\nend end  end   exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete = 0, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity\r\n = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = \r\n@DBQueueCurrent END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_PUNSAccountBInUNSGroupB1_K",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.697",
      "ModifyDate": "2026-04-14T23:20:47.737",
      "Definition": "      create   procedure TSB_PUNSAccountBInUNSGroupB1_K  (@DBQueueCurrent QBM_YDBQueueCurrent readonly , @Slotnumber int , @UserHasGroupList bit\r\n , @CountDeltaQantity int output , @CountDeltaOrigin int output ) as begin declare @PersonToCheck_L QBM_YSingleGUID declare @UID_BaseTreeAssignToUse varchar\r\n(38) = 'TSB-AsgnBT-UNSGroupB1' declare @Sourcedata QBM_YDataForDelta declare @QBM_BitPatternXMarkedForDel_Delay int = dbo.QBM_FGIBitPatternXMarkedForDel\r\n('|Delay|', 0) declare @QBM_BitPatternXMarkedForDel_Out int = dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|', 0) declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1) declare @PMDKeepMembershipsOfLinkedAccount varchar(16) = left(dbo.QBM_FGIConfigparmValue('QER\\Person\\User\\KeepMembershipsOfLinkedAccount'\r\n), 16) SET XACT_ABORT OFF BEGIN TRY insert into @PersonToCheck_L(UID_SingleGuid) select distinct a.UID_Person from @DBQueueCurrent cu join UNSAccountB \r\na on cu.UID_Parameter = a.UID_UNSAccountB where a.UID_Person > ' '  if @UserHasGroupList = 0 begin insert into @SourceData( IsUpcommingContent, XOriginAfter\r\n , Element, AssignedElement, XOriginBefore , XIsInEffectBefore, XIsInEffectAfter ) select 0, 0 , aig.UID_UNSAccountB, aig.UID_UNSGroupB1, aig.XOrigin\r\n , aig.XIsInEffect, 0 from UNSAccountBInUNSGroupB1 aig join @DBQueueCurrent x on aig.uid_UNSAccountB = x.uid_parameter join UNSGroupB1 g on aig.UID_UNSGroupB1\r\n = g.UID_UNSGroupB1 and g.HasReadOnlyMemberships = 0  where aig.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0  and g.XMarkedForDeletion\r\n & @QBM_BitPatternXMarkedForDel_Out = 0  insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement , XIsInEffectBefore\r\n, XIsInEffectAfter ) select 1, 0, aig.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv , aig.uid_UNSAccountB, aig.uid_UNSGroupB1 , 0, dbo.TSB_FGIUserInGroupValid_OVR_Ke\r\n ( p.IsInActive, p.IsTemporaryDeactivated, p.XMarkedForDeletion, bh.PFDInheritGroup, bh.PTDInheritGroup, bh.PMDInheritGroup, 1, p.IsSecurityIncident, bh.PSIInheritGroup\r\n, n.AccountDisabled, bh.ADAInheritGroup , ovr.PFDInheritOverwrite, ovr.PTDInheritOverwrite, ovr.PSIInheritOverwrite, ovr.PMDInheritOverwrite, ovr.ADAInheritOverwrite\r\n, @PMDKeepMembershipsOfLinkedAccount)  & case when n.UID_UNSRootB = g.UID_UNSRootB then 1  when ns.IsExtendedInheritance = 0 then 0 when ns.IsExtendedInheritance\r\n = 1 and ns.UID_DPRNameSpace = rg.UID_DPRNameSpace then 1 else 0 end  from UNSAccountBInUNSGroupB1 aig join @DBQueueCurrent x on aig.uid_UNSAccountB \r\n= x.uid_parameter join UNSAccountB n on aig.uid_UNSAccountB = n.uid_UNSAccountB join UNSGroupB1 g on aig.UID_UNSGroupB1 = g.UID_UNSGroupB1 and g.HasReadOnlyMemberships\r\n = 0   and g.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0  join UNSRootB rn on n.UID_UNSRootB = rn.UID_UNSRootB join DPRNameSpace ns on rn.UID_DPRNameSpace\r\n = ns.UID_DPRNameSpace join UNSRootB rg on g.UID_UNSRootB = rg.UID_UNSRootB left outer join TSBSpecificGroupBehavior ovr on ovr.ObjectKeyGroup = g.XObjectKey\r\n  left outer join person p on n.uid_person = p.uid_person  left outer join TSBBehavior bh on n.UID_TSBBehavior = bh.UID_TSBBehavior  end else  begin insert\r\n into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore , XIsInEffectBefore, XIsInEffectAfter ) select 0, 0 , aig.UID_UNSAccountB\r\n, aig.UID_UNSGroupB1, aig.XOrigin , aig.XIsInEffect, 0 from UNSAccountBHasUNSGroupB1 aig join @DBQueueCurrent x on aig.uid_UNSAccountB = x.uid_parameter\r\n join UNSGroupB1 g on aig.UID_UNSGroupB1 = g.UID_UNSGroupB1 and g.HasReadOnlyMemberships = 0   and g.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out\r\n = 0 where aig.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0  insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , \r\nElement, AssignedElement , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0, aig.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv , aig.uid_UNSAccountB, aig.uid_UNSGroupB1\r\n , 0, dbo.TSB_FGIUserInGroupValid_OVR_Ke ( p.IsInActive, p.IsTemporaryDeactivated, p.XMarkedForDeletion, bh.PFDInheritGroup, bh.PTDInheritGroup, bh.PMDInheritGroup\r\n, 1, p.IsSecurityIncident, bh.PSIInheritGroup, n.AccountDisabled, bh.ADAInheritGroup , ovr.PFDInheritOverwrite, ovr.PTDInheritOverwrite, ovr.PSIInheritOverwrite\r\n, ovr.PMDInheritOverwrite, ovr.ADAInheritOverwrite, @PMDKeepMembershipsOfLinkedAccount)  & case when n.UID_UNSRootB = g.UID_UNSRootB then 1  when ns.IsExtendedInheritance\r\n = 0 then 0 when ns.IsExtendedInheritance = 1 and ns.UID_DPRNameSpace = rg.UID_DPRNameSpace then 1 else 0 end from UNSAccountBHasUNSGroupB1 aig join \r\n@DBQueueCurrent x on aig.uid_UNSAccountB = x.uid_parameter join UNSAccountB n on aig.uid_UNSAccountB = n.uid_UNSAccountB join UNSGroupB1 g on aig.UID_UNSGroupB1\r\n = g.UID_UNSGroupB1 and g.HasReadOnlyMemberships = 0   and g.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0  join UNSRootB rn on n.UID_UNSRootB\r\n = rn.UID_UNSRootB join DPRNameSpace ns on rn.UID_DPRNameSpace = ns.UID_DPRNameSpace join UNSRootB rg on g.UID_UNSRootB = rg.UID_UNSRootB left outer join\r\n TSBSpecificGroupBehavior ovr on ovr.ObjectKeyGroup = g.XObjectKey  left outer join person p on n.uid_person = p.uid_person left outer join TSBBehavior\r\n bh on n.UID_TSBBehavior = bh.UID_TSBBehavior end  insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter \r\n, XIsInEffectBefore, XIsInEffectAfter ) select 1, 0 , x.uid_UNSAccountB, x.uid_UNSGroupB1, @QBM_BitPatternXOrigin_Inherit , 0, dbo.TSB_FGIUserInGroupValid_OVR_Ke\r\n ( p.IsInActive, p.IsTemporaryDeactivated, p.XMarkedForDeletion, bh.PFDInheritGroup, bh.PTDInheritGroup, bh.PMDInheritGroup, 0, p.IsSecurityIncident, bh.PSIInheritGroup\r\n, x.AccountDisabled, bh.ADAInheritGroup , ovr.PFDInheritOverwrite, ovr.PTDInheritOverwrite, ovr.PSIInheritOverwrite, ovr.PMDInheritOverwrite, ovr.ADAInheritOverwrite\r\n, @PMDKeepMembershipsOfLinkedAccount)  from (  select nt.uid_UNSAccountB , ohg.uid_UNSGroupB1 , nt.UID_UNSRootB , nt.uid_person, nt.AccountDisabled ,\r\n nt.UID_TSBAccountDef, nt.UID_TSBBehavior, gg.XObjectKey from @DBQueueCurrent x join UNSAccountB nt on nt.uid_UNSAccountB = x.uid_parameter   and nt.IsGroupAccount_UNSGroupB1\r\n = 1 join dbo.QER_FTAccountInheritFromOrg_L(@PersonToCheck_L , @UID_BaseTreeAssignToUse ) pfo on pfo.UID_Person = nt.UID_Person join BaseTreeHasUNSGroupB1\r\n ohg on pfo.uid_org = ohg.uid_org and ohg.XOrigin > 0 and ohg.XIsInEffect = 1 join UNSGroupB1 gg on ohg.uid_UNSGroupB1 = gg.uid_UNSGroupB1 and gg.HasReadOnlyMemberships\r\n = 0   and gg.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0  join UNSRootB rn on nt.UID_UNSRootB = rn.UID_UNSRootB join DPRNameSpace ns on \r\nrn.UID_DPRNameSpace = ns.UID_DPRNameSpace join UNSRootB rg on gg.UID_UNSRootB = rg.UID_UNSRootB  where dbo.TSB_FGIGroupAccountMatching( gg.MatchPatternForMembership\r\n, nt.MatchPatternForMembership) = 1 and 1 = case when nt.UID_UNSRootB = gg.UID_UNSRootB then 1  when ns.IsExtendedInheritance = 0 then 0 when ns.IsExtendedInheritance\r\n = 1 and ns.UID_DPRNameSpace = rg.UID_DPRNameSpace then 1 else 0 end union all  select nt.uid_UNSAccountB , gg.uid_UNSGroupB1 , nt.UID_UNSRootB , nt.uid_person\r\n , nt.AccountDisabled , nt.UID_TSBAccountDef , nt.UID_TSBBehavior , gg.XObjectKey from @DBQueueCurrent x join UNSAccountB nt on nt.uid_UNSAccountB = x.uid_parameter\r\n  and nt.IsGroupAccount_UNSGroupB1 = 1 join personHasESet phe on nt.uid_person = phe.uid_person and phe.XOrigin > 0 and phe.XIsInEffect = 1  join person\r\n px on nt.UID_Person = px.uid_person and px.isNoInherite = 0  join ESetHasEntitlement ehe on phe.uid_ESet = ehe.uid_ESet and ehe.XOrigin > 0 and ehe.XIsInEffect\r\n = 1 and dbo.QBM_FGIModuleExists('RMS') = 1 join UNSGroupB1 gg on ehe.Entitlement = gg.XObjectKey and gg.HasReadOnlyMemberships = 0   and gg.XMarkedForDeletion\r\n & @QBM_BitPatternXMarkedForDel_Out = 0  join UNSRootB rn on nt.UID_UNSRootB = rn.UID_UNSRootB join DPRNameSpace ns on rn.UID_DPRNameSpace = ns.UID_DPRNameSpace\r\n join UNSRootB rg on gg.UID_UNSRootB = rg.UID_UNSRootB where dbo.TSB_FGIGroupAccountMatching( gg.MatchPatternForMembership, nt.MatchPatternForMembership\r\n) = 1 and 1 = case when nt.UID_UNSRootB = gg.UID_UNSRootB then 1  when ns.IsExtendedInheritance = 0 then 0 when ns.IsExtendedInheritance = 1 and ns.UID_DPRNameSpace\r\n = rg.UID_DPRNameSpace then 1 else 0 end ) as x join UNSRootb d on x.UID_UNSRootB = d.UID_UNSRootB left outer join person p on x.uid_person = p.uid_person\r\n  left outer join TSBBehavior bh on x.UID_TSBBehavior = bh.UID_TSBBehavior  left outer join TSBSpecificGroupBehavior ovr on ovr.ObjectKeyGroup = x.XObjectKey\r\n   where (not (isnull(p.XMarkedForDeletion, 0) & @QBM_BitPatternXMarkedForDel_Delay > 0 and bh.PMDInheritGroup is null and @PMDKeepMembershipsOfLinkedAccount\r\n <> 'ALL' and ovr.PMDInheritOverwrite is null ) )  if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\GroupExclusion') > ' ' begin if exists (select\r\n top 1 1 from UNSGroupB1Exclusion ex with (nolock) join @Sourcedata s on ex.UID_UNSGroupB1Lower  = s.AssignedElement where s.IsUpcommingContent = 1\r\n and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 ) begin declare @ExcludeCandidate QER_YExcludeCandidate insert into @ExcludeCandidate(Element, AssignedElement\r\n, XIsInEffectAfter) select s.Element, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_UNSGroupB1Lower as UID_Excluded from UNSGroupB1Exclusion\r\n exe ) as ex on s.AssignedElement = ex.UID_Excluded where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 union all select s.Element\r\n, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_UNSGroupB1Higher as UID_Excluding from UNSGroupB1Exclusion exe ) as ex on s.AssignedElement\r\n = ex.UID_Excluding where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 update @ExcludeCandidate set XIsInEffectAfter = 0 \r\nfrom @ExcludeCandidate l  join ( select exe.UID_UNSGroupB1Lower as UID_Excluded, exe.UID_UNSGroupB1Higher as UID_Excluding from UNSGroupB1Exclusion\r\n exe ) as ex on l.AssignedElement = ex.UID_Excluded join (select sh.* from @ExcludeCandidate sh  ) as h on l.Element = h.Element and h.AssignedElement \r\n= ex.UID_Excluding if @@ROWCOUNT > 0 begin update @Sourcedata set XIsInEffectAfter = 0 from @Sourcedata l join @ExcludeCandidate k on l.Element = k.Element\r\n and l.AssignedElement = k.AssignedElement and k.XIsInEffectAfter = 0 where l.IsUpcommingContent = 1 and l.XOriginAfter > 0 and l.XIsInEffectAfter = 1 \r\nend end  end   exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete = 0, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity\r\n = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = \r\n@DBQueueCurrent END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_PUNSAccountBInUNSGroupB2_K",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.843",
      "ModifyDate": "2026-04-14T23:20:47.997",
      "Definition": "      create   procedure TSB_PUNSAccountBInUNSGroupB2_K  (@DBQueueCurrent QBM_YDBQueueCurrent readonly , @Slotnumber int , @UserHasGroupList bit\r\n , @CountDeltaQantity int output , @CountDeltaOrigin int output ) as begin declare @PersonToCheck_L QBM_YSingleGUID declare @UID_BaseTreeAssignToUse varchar\r\n(38) = 'TSB-AsgnBT-UNSGroupB2' declare @Sourcedata QBM_YDataForDelta declare @QBM_BitPatternXMarkedForDel_Delay int = dbo.QBM_FGIBitPatternXMarkedForDel\r\n('|Delay|', 0) declare @QBM_BitPatternXMarkedForDel_Out int = dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|', 0) declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1) declare @PMDKeepMembershipsOfLinkedAccount varchar(16) = left(dbo.QBM_FGIConfigparmValue('QER\\Person\\User\\KeepMembershipsOfLinkedAccount'\r\n), 16) SET XACT_ABORT OFF BEGIN TRY insert into @PersonToCheck_L(UID_SingleGuid) select distinct a.UID_Person from @DBQueueCurrent cu join UNSAccountB \r\na on cu.UID_Parameter = a.UID_UNSAccountB where a.UID_Person > ' '  if @UserHasGroupList = 0 begin insert into @SourceData( IsUpcommingContent, XOriginAfter\r\n , Element, AssignedElement, XOriginBefore , XIsInEffectBefore, XIsInEffectAfter ) select 0, 0 , aig.UID_UNSAccountB, aig.UID_UNSGroupB2, aig.XOrigin\r\n , aig.XIsInEffect, 0 from UNSAccountBInUNSGroupB2 aig join @DBQueueCurrent x on aig.uid_UNSAccountB = x.uid_parameter join UNSGroupB2 g on aig.UID_UNSGroupB2\r\n = g.UID_UNSGroupB2 and g.HasReadOnlyMemberships = 0  where aig.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0  and g.XMarkedForDeletion\r\n & @QBM_BitPatternXMarkedForDel_Out = 0  insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement , XIsInEffectBefore\r\n, XIsInEffectAfter ) select 1, 0, aig.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv , aig.uid_UNSAccountB, aig.uid_UNSGroupB2 , 0, dbo.TSB_FGIUserInGroupValid_OVR_Ke\r\n ( p.IsInActive, p.IsTemporaryDeactivated, p.XMarkedForDeletion, bh.PFDInheritGroup, bh.PTDInheritGroup, bh.PMDInheritGroup, 1, p.IsSecurityIncident, bh.PSIInheritGroup\r\n, n.AccountDisabled, bh.ADAInheritGroup , ovr.PFDInheritOverwrite, ovr.PTDInheritOverwrite, ovr.PSIInheritOverwrite, ovr.PMDInheritOverwrite, ovr.ADAInheritOverwrite\r\n, @PMDKeepMembershipsOfLinkedAccount)  & case when n.UID_UNSRootB = g.UID_UNSRootB then 1  when ns.IsExtendedInheritance = 0 then 0 when ns.IsExtendedInheritance\r\n = 1 and ns.UID_DPRNameSpace = rg.UID_DPRNameSpace then 1 else 0 end  from UNSAccountBInUNSGroupB2 aig join @DBQueueCurrent x on aig.uid_UNSAccountB \r\n= x.uid_parameter join UNSAccountB n on aig.uid_UNSAccountB = n.uid_UNSAccountB join UNSGroupB2 g on aig.UID_UNSGroupB2 = g.UID_UNSGroupB2 and g.HasReadOnlyMemberships\r\n = 0   and g.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0  join UNSRootB rn on n.UID_UNSRootB = rn.UID_UNSRootB join DPRNameSpace ns on rn.UID_DPRNameSpace\r\n = ns.UID_DPRNameSpace join UNSRootB rg on g.UID_UNSRootB = rg.UID_UNSRootB left outer join TSBSpecificGroupBehavior ovr on ovr.ObjectKeyGroup = g.XObjectKey\r\n  left outer join person p on n.uid_person = p.uid_person  left outer join TSBBehavior bh on n.UID_TSBBehavior = bh.UID_TSBBehavior  end else  begin insert\r\n into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore , XIsInEffectBefore, XIsInEffectAfter ) select 0, 0 , aig.UID_UNSAccountB\r\n, aig.UID_UNSGroupB2, aig.XOrigin , aig.XIsInEffect, 0 from UNSAccountBHasUNSGroupB2 aig join @DBQueueCurrent x on aig.uid_UNSAccountB = x.uid_parameter\r\n join UNSGroupB2 g on aig.UID_UNSGroupB2 = g.UID_UNSGroupB2 and g.HasReadOnlyMemberships = 0   and g.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out\r\n = 0 where aig.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0  insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , \r\nElement, AssignedElement , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0, aig.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv , aig.uid_UNSAccountB, aig.uid_UNSGroupB2\r\n , 0, dbo.TSB_FGIUserInGroupValid_OVR_Ke ( p.IsInActive, p.IsTemporaryDeactivated, p.XMarkedForDeletion, bh.PFDInheritGroup, bh.PTDInheritGroup, bh.PMDInheritGroup\r\n, 1, p.IsSecurityIncident, bh.PSIInheritGroup, n.AccountDisabled, bh.ADAInheritGroup , ovr.PFDInheritOverwrite, ovr.PTDInheritOverwrite, ovr.PSIInheritOverwrite\r\n, ovr.PMDInheritOverwrite, ovr.ADAInheritOverwrite, @PMDKeepMembershipsOfLinkedAccount)  & case when n.UID_UNSRootB = g.UID_UNSRootB then 1  when ns.IsExtendedInheritance\r\n = 0 then 0 when ns.IsExtendedInheritance = 1 and ns.UID_DPRNameSpace = rg.UID_DPRNameSpace then 1 else 0 end from UNSAccountBHasUNSGroupB2 aig join \r\n@DBQueueCurrent x on aig.uid_UNSAccountB = x.uid_parameter join UNSAccountB n on aig.uid_UNSAccountB = n.uid_UNSAccountB join UNSGroupB2 g on aig.UID_UNSGroupB2\r\n = g.UID_UNSGroupB2 and g.HasReadOnlyMemberships = 0   and g.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0  join UNSRootB rn on n.UID_UNSRootB\r\n = rn.UID_UNSRootB join DPRNameSpace ns on rn.UID_DPRNameSpace = ns.UID_DPRNameSpace join UNSRootB rg on g.UID_UNSRootB = rg.UID_UNSRootB left outer join\r\n TSBSpecificGroupBehavior ovr on ovr.ObjectKeyGroup = g.XObjectKey  left outer join person p on n.uid_person = p.uid_person left outer join TSBBehavior\r\n bh on n.UID_TSBBehavior = bh.UID_TSBBehavior end  insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter \r\n, XIsInEffectBefore, XIsInEffectAfter ) select 1, 0 , x.uid_UNSAccountB, x.uid_UNSGroupB2, @QBM_BitPatternXOrigin_Inherit , 0, dbo.TSB_FGIUserInGroupValid_OVR_Ke\r\n ( p.IsInActive, p.IsTemporaryDeactivated, p.XMarkedForDeletion, bh.PFDInheritGroup, bh.PTDInheritGroup, bh.PMDInheritGroup, 0, p.IsSecurityIncident, bh.PSIInheritGroup\r\n, x.AccountDisabled, bh.ADAInheritGroup , ovr.PFDInheritOverwrite, ovr.PTDInheritOverwrite, ovr.PSIInheritOverwrite, ovr.PMDInheritOverwrite, ovr.ADAInheritOverwrite\r\n, @PMDKeepMembershipsOfLinkedAccount)  from (  select nt.uid_UNSAccountB , ohg.uid_UNSGroupB2 , nt.UID_UNSRootB , nt.uid_person, nt.AccountDisabled ,\r\n nt.UID_TSBAccountDef, nt.UID_TSBBehavior, gg.XObjectKey from @DBQueueCurrent x join UNSAccountB nt on nt.uid_UNSAccountB = x.uid_parameter   and nt.IsGroupAccount_UNSGroupB2\r\n = 1 join dbo.QER_FTAccountInheritFromOrg_L(@PersonToCheck_L , @UID_BaseTreeAssignToUse ) pfo on pfo.UID_Person = nt.UID_Person join BaseTreeHasUNSGroupB2\r\n ohg on pfo.uid_org = ohg.uid_org and ohg.XOrigin > 0 and ohg.XIsInEffect = 1 join UNSGroupB2 gg on ohg.uid_UNSGroupB2 = gg.uid_UNSGroupB2 and gg.HasReadOnlyMemberships\r\n = 0   and gg.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0  join UNSRootB rn on nt.UID_UNSRootB = rn.UID_UNSRootB join DPRNameSpace ns on \r\nrn.UID_DPRNameSpace = ns.UID_DPRNameSpace join UNSRootB rg on gg.UID_UNSRootB = rg.UID_UNSRootB  where dbo.TSB_FGIGroupAccountMatching( gg.MatchPatternForMembership\r\n, nt.MatchPatternForMembership) = 1 and 1 = case when nt.UID_UNSRootB = gg.UID_UNSRootB then 1  when ns.IsExtendedInheritance = 0 then 0 when ns.IsExtendedInheritance\r\n = 1 and ns.UID_DPRNameSpace = rg.UID_DPRNameSpace then 1 else 0 end union all  select nt.uid_UNSAccountB , gg.uid_UNSGroupB2 , nt.UID_UNSRootB , nt.uid_person\r\n , nt.AccountDisabled , nt.UID_TSBAccountDef , nt.UID_TSBBehavior , gg.XObjectKey from @DBQueueCurrent x join UNSAccountB nt on nt.uid_UNSAccountB = x.uid_parameter\r\n  and nt.IsGroupAccount_UNSGroupB2 = 1 join personHasESet phe on nt.uid_person = phe.uid_person and phe.XOrigin > 0 and phe.XIsInEffect = 1  join person\r\n px on nt.UID_Person = px.uid_person and px.isNoInherite = 0  join ESetHasEntitlement ehe on phe.uid_ESet = ehe.uid_ESet and ehe.XOrigin > 0 and ehe.XIsInEffect\r\n = 1 and dbo.QBM_FGIModuleExists('RMS') = 1 join UNSGroupB2 gg on ehe.Entitlement = gg.XObjectKey and gg.HasReadOnlyMemberships = 0   and gg.XMarkedForDeletion\r\n & @QBM_BitPatternXMarkedForDel_Out = 0  join UNSRootB rn on nt.UID_UNSRootB = rn.UID_UNSRootB join DPRNameSpace ns on rn.UID_DPRNameSpace = ns.UID_DPRNameSpace\r\n join UNSRootB rg on gg.UID_UNSRootB = rg.UID_UNSRootB where dbo.TSB_FGIGroupAccountMatching( gg.MatchPatternForMembership, nt.MatchPatternForMembership\r\n) = 1 and 1 = case when nt.UID_UNSRootB = gg.UID_UNSRootB then 1  when ns.IsExtendedInheritance = 0 then 0 when ns.IsExtendedInheritance = 1 and ns.UID_DPRNameSpace\r\n = rg.UID_DPRNameSpace then 1 else 0 end ) as x join UNSRootb d on x.UID_UNSRootB = d.UID_UNSRootB left outer join person p on x.uid_person = p.uid_person\r\n  left outer join TSBBehavior bh on x.UID_TSBBehavior = bh.UID_TSBBehavior  left outer join TSBSpecificGroupBehavior ovr on ovr.ObjectKeyGroup = x.XObjectKey\r\n   where (not (isnull(p.XMarkedForDeletion, 0) & @QBM_BitPatternXMarkedForDel_Delay > 0 and bh.PMDInheritGroup is null and @PMDKeepMembershipsOfLinkedAccount\r\n <> 'ALL' and ovr.PMDInheritOverwrite is null ) )  if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\GroupExclusion') > ' ' begin if exists (select\r\n top 1 1 from UNSGroupB2Exclusion ex with (nolock) join @Sourcedata s on ex.UID_UNSGroupB2Lower  = s.AssignedElement where s.IsUpcommingContent = 1\r\n and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 ) begin declare @ExcludeCandidate QER_YExcludeCandidate insert into @ExcludeCandidate(Element, AssignedElement\r\n, XIsInEffectAfter) select s.Element, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_UNSGroupB2Lower as UID_Excluded from UNSGroupB2Exclusion\r\n exe ) as ex on s.AssignedElement = ex.UID_Excluded where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 union all select s.Element\r\n, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_UNSGroupB2Higher as UID_Excluding from UNSGroupB2Exclusion exe ) as ex on s.AssignedElement\r\n = ex.UID_Excluding where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 update @ExcludeCandidate set XIsInEffectAfter = 0 \r\nfrom @ExcludeCandidate l  join ( select exe.UID_UNSGroupB2Lower as UID_Excluded, exe.UID_UNSGroupB2Higher as UID_Excluding from UNSGroupB2Exclusion\r\n exe ) as ex on l.AssignedElement = ex.UID_Excluded join (select sh.* from @ExcludeCandidate sh  ) as h on l.Element = h.Element and h.AssignedElement \r\n= ex.UID_Excluding if @@ROWCOUNT > 0 begin update @Sourcedata set XIsInEffectAfter = 0 from @Sourcedata l join @ExcludeCandidate k on l.Element = k.Element\r\n and l.AssignedElement = k.AssignedElement and k.XIsInEffectAfter = 0 where l.IsUpcommingContent = 1 and l.XOriginAfter > 0 and l.XIsInEffectAfter = 1 \r\nend end  end   exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete = 0, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity\r\n = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = \r\n@DBQueueCurrent END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_PUNSAccountBInUNSGroupB3_K",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.987",
      "ModifyDate": "2026-04-14T23:20:48.257",
      "Definition": "      create   procedure TSB_PUNSAccountBInUNSGroupB3_K  (@DBQueueCurrent QBM_YDBQueueCurrent readonly , @Slotnumber int , @UserHasGroupList bit\r\n , @CountDeltaQantity int output , @CountDeltaOrigin int output ) as begin declare @PersonToCheck_L QBM_YSingleGUID declare @UID_BaseTreeAssignToUse varchar\r\n(38) = 'TSB-AsgnBT-UNSGroupB3' declare @Sourcedata QBM_YDataForDelta declare @QBM_BitPatternXMarkedForDel_Delay int = dbo.QBM_FGIBitPatternXMarkedForDel\r\n('|Delay|', 0) declare @QBM_BitPatternXMarkedForDel_Out int = dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|', 0) declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1) declare @PMDKeepMembershipsOfLinkedAccount varchar(16) = left(dbo.QBM_FGIConfigparmValue('QER\\Person\\User\\KeepMembershipsOfLinkedAccount'\r\n), 16) SET XACT_ABORT OFF BEGIN TRY insert into @PersonToCheck_L(UID_SingleGuid) select distinct a.UID_Person from @DBQueueCurrent cu join UNSAccountB \r\na on cu.UID_Parameter = a.UID_UNSAccountB where a.UID_Person > ' '  if @UserHasGroupList = 0 begin insert into @SourceData( IsUpcommingContent, XOriginAfter\r\n , Element, AssignedElement, XOriginBefore , XIsInEffectBefore, XIsInEffectAfter ) select 0, 0 , aig.UID_UNSAccountB, aig.UID_UNSGroupB3, aig.XOrigin\r\n , aig.XIsInEffect, 0 from UNSAccountBInUNSGroupB3 aig join @DBQueueCurrent x on aig.uid_UNSAccountB = x.uid_parameter join UNSGroupB3 g on aig.UID_UNSGroupB3\r\n = g.UID_UNSGroupB3 and g.HasReadOnlyMemberships = 0  where aig.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0  and g.XMarkedForDeletion\r\n & @QBM_BitPatternXMarkedForDel_Out = 0  insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement , XIsInEffectBefore\r\n, XIsInEffectAfter ) select 1, 0, aig.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv , aig.uid_UNSAccountB, aig.uid_UNSGroupB3 , 0, dbo.TSB_FGIUserInGroupValid_OVR_Ke\r\n ( p.IsInActive, p.IsTemporaryDeactivated, p.XMarkedForDeletion, bh.PFDInheritGroup, bh.PTDInheritGroup, bh.PMDInheritGroup, 1, p.IsSecurityIncident, bh.PSIInheritGroup\r\n, n.AccountDisabled, bh.ADAInheritGroup , ovr.PFDInheritOverwrite, ovr.PTDInheritOverwrite, ovr.PSIInheritOverwrite, ovr.PMDInheritOverwrite, ovr.ADAInheritOverwrite\r\n, @PMDKeepMembershipsOfLinkedAccount)  & case when n.UID_UNSRootB = g.UID_UNSRootB then 1  when ns.IsExtendedInheritance = 0 then 0 when ns.IsExtendedInheritance\r\n = 1 and ns.UID_DPRNameSpace = rg.UID_DPRNameSpace then 1 else 0 end  from UNSAccountBInUNSGroupB3 aig join @DBQueueCurrent x on aig.uid_UNSAccountB \r\n= x.uid_parameter join UNSAccountB n on aig.uid_UNSAccountB = n.uid_UNSAccountB join UNSGroupB3 g on aig.UID_UNSGroupB3 = g.UID_UNSGroupB3 and g.HasReadOnlyMemberships\r\n = 0   and g.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0  join UNSRootB rn on n.UID_UNSRootB = rn.UID_UNSRootB join DPRNameSpace ns on rn.UID_DPRNameSpace\r\n = ns.UID_DPRNameSpace join UNSRootB rg on g.UID_UNSRootB = rg.UID_UNSRootB left outer join TSBSpecificGroupBehavior ovr on ovr.ObjectKeyGroup = g.XObjectKey\r\n  left outer join person p on n.uid_person = p.uid_person  left outer join TSBBehavior bh on n.UID_TSBBehavior = bh.UID_TSBBehavior  end else  begin insert\r\n into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore , XIsInEffectBefore, XIsInEffectAfter ) select 0, 0 , aig.UID_UNSAccountB\r\n, aig.UID_UNSGroupB3, aig.XOrigin , aig.XIsInEffect, 0 from UNSAccountBHasUNSGroupB3 aig join @DBQueueCurrent x on aig.uid_UNSAccountB = x.uid_parameter\r\n join UNSGroupB3 g on aig.UID_UNSGroupB3 = g.UID_UNSGroupB3 and g.HasReadOnlyMemberships = 0   and g.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out\r\n = 0 where aig.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0  insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , \r\nElement, AssignedElement , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0, aig.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv , aig.uid_UNSAccountB, aig.uid_UNSGroupB3\r\n , 0, dbo.TSB_FGIUserInGroupValid_OVR_Ke ( p.IsInActive, p.IsTemporaryDeactivated, p.XMarkedForDeletion, bh.PFDInheritGroup, bh.PTDInheritGroup, bh.PMDInheritGroup\r\n, 1, p.IsSecurityIncident, bh.PSIInheritGroup, n.AccountDisabled, bh.ADAInheritGroup , ovr.PFDInheritOverwrite, ovr.PTDInheritOverwrite, ovr.PSIInheritOverwrite\r\n, ovr.PMDInheritOverwrite, ovr.ADAInheritOverwrite, @PMDKeepMembershipsOfLinkedAccount)  & case when n.UID_UNSRootB = g.UID_UNSRootB then 1  when ns.IsExtendedInheritance\r\n = 0 then 0 when ns.IsExtendedInheritance = 1 and ns.UID_DPRNameSpace = rg.UID_DPRNameSpace then 1 else 0 end from UNSAccountBHasUNSGroupB3 aig join \r\n@DBQueueCurrent x on aig.uid_UNSAccountB = x.uid_parameter join UNSAccountB n on aig.uid_UNSAccountB = n.uid_UNSAccountB join UNSGroupB3 g on aig.UID_UNSGroupB3\r\n = g.UID_UNSGroupB3 and g.HasReadOnlyMemberships = 0   and g.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0  join UNSRootB rn on n.UID_UNSRootB\r\n = rn.UID_UNSRootB join DPRNameSpace ns on rn.UID_DPRNameSpace = ns.UID_DPRNameSpace join UNSRootB rg on g.UID_UNSRootB = rg.UID_UNSRootB left outer join\r\n TSBSpecificGroupBehavior ovr on ovr.ObjectKeyGroup = g.XObjectKey  left outer join person p on n.uid_person = p.uid_person left outer join TSBBehavior\r\n bh on n.UID_TSBBehavior = bh.UID_TSBBehavior end  insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter \r\n, XIsInEffectBefore, XIsInEffectAfter ) select 1, 0 , x.uid_UNSAccountB, x.uid_UNSGroupB3, @QBM_BitPatternXOrigin_Inherit , 0, dbo.TSB_FGIUserInGroupValid_OVR_Ke\r\n ( p.IsInActive, p.IsTemporaryDeactivated, p.XMarkedForDeletion, bh.PFDInheritGroup, bh.PTDInheritGroup, bh.PMDInheritGroup, 0, p.IsSecurityIncident, bh.PSIInheritGroup\r\n, x.AccountDisabled, bh.ADAInheritGroup , ovr.PFDInheritOverwrite, ovr.PTDInheritOverwrite, ovr.PSIInheritOverwrite, ovr.PMDInheritOverwrite, ovr.ADAInheritOverwrite\r\n, @PMDKeepMembershipsOfLinkedAccount)  from (  select nt.uid_UNSAccountB , ohg.uid_UNSGroupB3 , nt.UID_UNSRootB , nt.uid_person, nt.AccountDisabled ,\r\n nt.UID_TSBAccountDef, nt.UID_TSBBehavior, gg.XObjectKey from @DBQueueCurrent x join UNSAccountB nt on nt.uid_UNSAccountB = x.uid_parameter   and nt.IsGroupAccount_UNSGroupB3\r\n = 1 join dbo.QER_FTAccountInheritFromOrg_L(@PersonToCheck_L , @UID_BaseTreeAssignToUse ) pfo on pfo.UID_Person = nt.UID_Person join BaseTreeHasUNSGroupB3\r\n ohg on pfo.uid_org = ohg.uid_org and ohg.XOrigin > 0 and ohg.XIsInEffect = 1 join UNSGroupB3 gg on ohg.uid_UNSGroupB3 = gg.uid_UNSGroupB3 and gg.HasReadOnlyMemberships\r\n = 0   and gg.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0  join UNSRootB rn on nt.UID_UNSRootB = rn.UID_UNSRootB join DPRNameSpace ns on \r\nrn.UID_DPRNameSpace = ns.UID_DPRNameSpace join UNSRootB rg on gg.UID_UNSRootB = rg.UID_UNSRootB  where dbo.TSB_FGIGroupAccountMatching( gg.MatchPatternForMembership\r\n, nt.MatchPatternForMembership) = 1 and 1 = case when nt.UID_UNSRootB = gg.UID_UNSRootB then 1  when ns.IsExtendedInheritance = 0 then 0 when ns.IsExtendedInheritance\r\n = 1 and ns.UID_DPRNameSpace = rg.UID_DPRNameSpace then 1 else 0 end union all  select nt.uid_UNSAccountB , gg.uid_UNSGroupB3 , nt.UID_UNSRootB , nt.uid_person\r\n , nt.AccountDisabled , nt.UID_TSBAccountDef , nt.UID_TSBBehavior , gg.XObjectKey from @DBQueueCurrent x join UNSAccountB nt on nt.uid_UNSAccountB = x.uid_parameter\r\n  and nt.IsGroupAccount_UNSGroupB3 = 1 join personHasESet phe on nt.uid_person = phe.uid_person and phe.XOrigin > 0 and phe.XIsInEffect = 1  join person\r\n px on nt.UID_Person = px.uid_person and px.isNoInherite = 0  join ESetHasEntitlement ehe on phe.uid_ESet = ehe.uid_ESet and ehe.XOrigin > 0 and ehe.XIsInEffect\r\n = 1 and dbo.QBM_FGIModuleExists('RMS') = 1 join UNSGroupB3 gg on ehe.Entitlement = gg.XObjectKey and gg.HasReadOnlyMemberships = 0   and gg.XMarkedForDeletion\r\n & @QBM_BitPatternXMarkedForDel_Out = 0  join UNSRootB rn on nt.UID_UNSRootB = rn.UID_UNSRootB join DPRNameSpace ns on rn.UID_DPRNameSpace = ns.UID_DPRNameSpace\r\n join UNSRootB rg on gg.UID_UNSRootB = rg.UID_UNSRootB where dbo.TSB_FGIGroupAccountMatching( gg.MatchPatternForMembership, nt.MatchPatternForMembership\r\n) = 1 and 1 = case when nt.UID_UNSRootB = gg.UID_UNSRootB then 1  when ns.IsExtendedInheritance = 0 then 0 when ns.IsExtendedInheritance = 1 and ns.UID_DPRNameSpace\r\n = rg.UID_DPRNameSpace then 1 else 0 end ) as x join UNSRootb d on x.UID_UNSRootB = d.UID_UNSRootB left outer join person p on x.uid_person = p.uid_person\r\n  left outer join TSBBehavior bh on x.UID_TSBBehavior = bh.UID_TSBBehavior  left outer join TSBSpecificGroupBehavior ovr on ovr.ObjectKeyGroup = x.XObjectKey\r\n   where (not (isnull(p.XMarkedForDeletion, 0) & @QBM_BitPatternXMarkedForDel_Delay > 0 and bh.PMDInheritGroup is null and @PMDKeepMembershipsOfLinkedAccount\r\n <> 'ALL' and ovr.PMDInheritOverwrite is null ) )  if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\GroupExclusion') > ' ' begin if exists (select\r\n top 1 1 from UNSGroupB3Exclusion ex with (nolock) join @Sourcedata s on ex.UID_UNSGroupB3Lower  = s.AssignedElement where s.IsUpcommingContent = 1\r\n and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 ) begin declare @ExcludeCandidate QER_YExcludeCandidate insert into @ExcludeCandidate(Element, AssignedElement\r\n, XIsInEffectAfter) select s.Element, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_UNSGroupB3Lower as UID_Excluded from UNSGroupB3Exclusion\r\n exe ) as ex on s.AssignedElement = ex.UID_Excluded where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 union all select s.Element\r\n, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_UNSGroupB3Higher as UID_Excluding from UNSGroupB3Exclusion exe ) as ex on s.AssignedElement\r\n = ex.UID_Excluding where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 update @ExcludeCandidate set XIsInEffectAfter = 0 \r\nfrom @ExcludeCandidate l  join ( select exe.UID_UNSGroupB3Lower as UID_Excluded, exe.UID_UNSGroupB3Higher as UID_Excluding from UNSGroupB3Exclusion\r\n exe ) as ex on l.AssignedElement = ex.UID_Excluded join (select sh.* from @ExcludeCandidate sh  ) as h on l.Element = h.Element and h.AssignedElement \r\n= ex.UID_Excluding if @@ROWCOUNT > 0 begin update @Sourcedata set XIsInEffectAfter = 0 from @Sourcedata l join @ExcludeCandidate k on l.Element = k.Element\r\n and l.AssignedElement = k.AssignedElement and k.XIsInEffectAfter = 0 where l.IsUpcommingContent = 1 and l.XOriginAfter > 0 and l.XIsInEffectAfter = 1 \r\nend end  end   exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete = 0, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity\r\n = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = \r\n@DBQueueCurrent END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_RBaseTreeHasObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:20.807",
      "ModifyDate": "2026-04-14T23:20:46.527",
      "Definition": "create   procedure TSB_RBaseTreeHasObject (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'BaseTree', 'UID_Org', @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_RBaseTreeOwnsObjectPrepair",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.01",
      "ModifyDate": "2026-04-14T23:20:46.66",
      "Definition": "create   procedure TSB_RBaseTreeOwnsObjectPrepair (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'BaseTree', 'UID_Org', @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent\r\n cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end  insert into @ObjectKeysToCheck_Jobrunning\r\n(Parameter1, Parameter2) select x.UID_Org, x.XObjectKey from @DBQueueCurrent cu join BaseTree x on cu.UID_Parameter = x.UID_Org exec @resetted = QBM_PSlotResetWhileJobRun_L\r\n @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ROrgHasTSBAccountDef",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:20.973",
      "ModifyDate": "2026-04-14T23:20:46.617",
      "Definition": "create   procedure TSB_ROrgHasTSBAccountDef (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @UID_BasetreeAssignToUse varchar(38) = 'TSB-AsgnBT-TSBAccountDef' declare\r\n @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L @DBQueueCurrent, 'BaseTree', 'UID_Org', @SlotNumber if @resetted > 0 begin\r\n delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and \r\ncu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end exec @resetted = QER_PSlotResetOnInvalidRoot_L @DBQueueCurrent, @UID_BasetreeAssignToUse\r\n, @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue\r\n = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2\r\n) select cu.UID_Parameter, x.XObjectKey from @DBQueueCurrent cu join BaseTree x on cu.UID_Parameter = x.UID_Org exec @resetted = QBM_PSlotResetWhileJobRun_L\r\n @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ROrgHasUNSGroupB",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.433",
      "ModifyDate": "2026-04-14T23:20:47.34",
      "Definition": "create   procedure TSB_ROrgHasUNSGroupB (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @UID_BasetreeAssignToUse varchar(38) = 'TSB-AsgnBT-UNSGroupB' declare\r\n @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L @DBQueueCurrent, 'BaseTree', 'UID_Org', @SlotNumber if @resetted > 0 begin\r\n delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and \r\ncu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end exec @resetted = QER_PSlotResetOnInvalidRoot_L @DBQueueCurrent, @UID_BasetreeAssignToUse\r\n, @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue\r\n = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2\r\n) select cu.UID_Parameter, x.XObjectKey from @DBQueueCurrent cu join BaseTree x on cu.UID_Parameter = x.UID_Org exec @resetted = QBM_PSlotResetWhileJobRun_L\r\n @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ROrgHasUNSGroupB1",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.673",
      "ModifyDate": "2026-04-14T23:20:47.703",
      "Definition": "create   procedure TSB_ROrgHasUNSGroupB1 (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @UID_BasetreeAssignToUse varchar(38) = 'TSB-AsgnBT-UNSGroupB1' declare\r\n @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L @DBQueueCurrent, 'BaseTree', 'UID_Org', @SlotNumber if @resetted > 0 begin\r\n delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and \r\ncu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end exec @resetted = QER_PSlotResetOnInvalidRoot_L @DBQueueCurrent, @UID_BasetreeAssignToUse\r\n, @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue\r\n = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2\r\n) select cu.UID_Parameter, x.XObjectKey from @DBQueueCurrent cu join BaseTree x on cu.UID_Parameter = x.UID_Org exec @resetted = QBM_PSlotResetWhileJobRun_L\r\n @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ROrgHasUNSGroupB2",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.82",
      "ModifyDate": "2026-04-14T23:20:47.963",
      "Definition": "create   procedure TSB_ROrgHasUNSGroupB2 (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @UID_BasetreeAssignToUse varchar(38) = 'TSB-AsgnBT-UNSGroupB2' declare\r\n @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L @DBQueueCurrent, 'BaseTree', 'UID_Org', @SlotNumber if @resetted > 0 begin\r\n delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and \r\ncu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end exec @resetted = QER_PSlotResetOnInvalidRoot_L @DBQueueCurrent, @UID_BasetreeAssignToUse\r\n, @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue\r\n = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2\r\n) select cu.UID_Parameter, x.XObjectKey from @DBQueueCurrent cu join BaseTree x on cu.UID_Parameter = x.UID_Org exec @resetted = QBM_PSlotResetWhileJobRun_L\r\n @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ROrgHasUNSGroupB3",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.963",
      "ModifyDate": "2026-04-14T23:20:48.223",
      "Definition": "create   procedure TSB_ROrgHasUNSGroupB3 (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @UID_BasetreeAssignToUse varchar(38) = 'TSB-AsgnBT-UNSGroupB3' declare\r\n @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L @DBQueueCurrent, 'BaseTree', 'UID_Org', @SlotNumber if @resetted > 0 begin\r\n delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and \r\ncu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end exec @resetted = QER_PSlotResetOnInvalidRoot_L @DBQueueCurrent, @UID_BasetreeAssignToUse\r\n, @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue\r\n = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2\r\n) select cu.UID_Parameter, x.XObjectKey from @DBQueueCurrent cu join BaseTree x on cu.UID_Parameter = x.UID_Org exec @resetted = QBM_PSlotResetWhileJobRun_L\r\n @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_RPersonHasObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:20.78",
      "ModifyDate": "2026-04-14T23:20:46.497",
      "Definition": "create   procedure TSB_RPersonHasObject (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'Person', 'UID_Person', @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_RPersonHasTSBAccountDef",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:20.947",
      "ModifyDate": "2026-04-14T23:20:46.587",
      "Definition": "create   procedure TSB_RPersonHasTSBAccountDef (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'Person', 'UID_Person', @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent\r\n cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end  insert into @ObjectKeysToCheck_Jobrunning\r\n(Parameter1, Parameter2) select cu.UID_Parameter, x.XObjectKey from @DBQueueCurrent cu join Person x on cu.UID_Parameter = x.UID_Person exec @resetted \r\n= QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_RUNSAccountBHasUNSItemB",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:20.723",
      "ModifyDate": "2026-04-14T23:20:46.427",
      "Definition": "create   procedure TSB_RUNSAccountBHasUNSItemB (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'UNSAccountB', 'UID_UNSAccountB', @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent\r\n cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end if 1 = dbo.DPR_FGIProjectionRootRunning\r\n ('UnsRootB') begin insert into @ObjectKeysToCheck_Projection(Parameter1, Parameter2) select cu.UID_Parameter, ro.XObjectKey from @DBQueueCurrent cu join\r\n UNSAccountB x on cu.UID_Parameter = x.UID_UNSAccountB join UNSRootB ro on x.UID_UNSRootB = ro.UID_UNSRootB exec @resetted = DPR_PSlotResetWhileProj_L \r\n@DBQueueCurrent, @ObjectKeysToCheck_Projection, @MyName, @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join\r\n QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null \r\nend end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2) select cu.UID_Parameter, x.XObjectKey from @DBQueueCurrent cu join UNSAccountB\r\n x on cu.UID_Parameter = x.UID_UNSAccountB exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber\r\n = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_RUNSAccountBInUNSGroupB",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.48",
      "ModifyDate": "2026-04-14T23:20:47.403",
      "Definition": "create   procedure TSB_RUNSAccountBInUNSGroupB (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int SET XACT_ABORT\r\n OFF BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter\r\n, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'UNSAccountB', 'uid_UNSAccountB', @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent\r\n cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end if 1 = dbo.DPR_FGIProjectionRootRunning\r\n ('UnsRootB') begin insert into @ObjectKeysToCheck_Projection(Parameter1, Parameter2) select cu.UID_Parameter, ro.XObjectKey from @DBQueueCurrent cu join\r\n UNSAccountB x on cu.UID_Parameter = x.UID_UNSAccountB join UNSRootB ro on x.UID_UNSRootB = ro.UID_UNSRootB exec @resetted = DPR_PSlotResetWhileProj_L \r\n@DBQueueCurrent, @ObjectKeysToCheck_Projection, @MyName, @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join\r\n QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null \r\nend end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2) select cu.UID_Parameter, x.XObjectKey from @DBQueueCurrent cu join UNSAccountB\r\n x on cu.UID_Parameter = x.UID_UNSAccountB exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber\r\n = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_RUNSAccountBInUNSGroupB1",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.707",
      "ModifyDate": "2026-04-14T23:20:47.753",
      "Definition": "create   procedure TSB_RUNSAccountBInUNSGroupB1 (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int SET XACT_ABORT\r\n OFF BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter\r\n, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'UNSAccountB', 'uid_UNSAccountB', @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent\r\n cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end if 1 = dbo.DPR_FGIProjectionRootRunning\r\n ('UnsRootB') begin insert into @ObjectKeysToCheck_Projection(Parameter1, Parameter2) select cu.UID_Parameter, ro.XObjectKey from @DBQueueCurrent cu join\r\n UNSAccountB x on cu.UID_Parameter = x.UID_UNSAccountB join UNSRootB ro on x.UID_UNSRootB = ro.UID_UNSRootB exec @resetted = DPR_PSlotResetWhileProj_L \r\n@DBQueueCurrent, @ObjectKeysToCheck_Projection, @MyName, @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join\r\n QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null \r\nend end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2) select cu.UID_Parameter, x.XObjectKey from @DBQueueCurrent cu join UNSAccountB\r\n x on cu.UID_Parameter = x.UID_UNSAccountB exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber\r\n = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_RUNSAccountBInUNSGroupB2",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.853",
      "ModifyDate": "2026-04-14T23:20:48.01",
      "Definition": "create   procedure TSB_RUNSAccountBInUNSGroupB2 (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int SET XACT_ABORT\r\n OFF BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter\r\n, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'UNSAccountB', 'uid_UNSAccountB', @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent\r\n cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end if 1 = dbo.DPR_FGIProjectionRootRunning\r\n ('UnsRootB') begin insert into @ObjectKeysToCheck_Projection(Parameter1, Parameter2) select cu.UID_Parameter, ro.XObjectKey from @DBQueueCurrent cu join\r\n UNSAccountB x on cu.UID_Parameter = x.UID_UNSAccountB join UNSRootB ro on x.UID_UNSRootB = ro.UID_UNSRootB exec @resetted = DPR_PSlotResetWhileProj_L \r\n@DBQueueCurrent, @ObjectKeysToCheck_Projection, @MyName, @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join\r\n QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null \r\nend end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2) select cu.UID_Parameter, x.XObjectKey from @DBQueueCurrent cu join UNSAccountB\r\n x on cu.UID_Parameter = x.UID_UNSAccountB exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber\r\n = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_RUNSAccountBInUNSGroupB3",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.997",
      "ModifyDate": "2026-04-14T23:20:48.273",
      "Definition": "create   procedure TSB_RUNSAccountBInUNSGroupB3 (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int SET XACT_ABORT\r\n OFF BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter\r\n, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'UNSAccountB', 'uid_UNSAccountB', @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent\r\n cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end if 1 = dbo.DPR_FGIProjectionRootRunning\r\n ('UnsRootB') begin insert into @ObjectKeysToCheck_Projection(Parameter1, Parameter2) select cu.UID_Parameter, ro.XObjectKey from @DBQueueCurrent cu join\r\n UNSAccountB x on cu.UID_Parameter = x.UID_UNSAccountB join UNSRootB ro on x.UID_UNSRootB = ro.UID_UNSRootB exec @resetted = DPR_PSlotResetWhileProj_L \r\n@DBQueueCurrent, @ObjectKeysToCheck_Projection, @MyName, @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join\r\n QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null \r\nend end  insert into @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2) select cu.UID_Parameter, x.XObjectKey from @DBQueueCurrent cu join UNSAccountB\r\n x on cu.UID_Parameter = x.UID_UNSAccountB exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber\r\n = @SlotNumber  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_RUNSGroupB1InUNSGroupB1",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.723",
      "ModifyDate": "2026-04-14T23:20:47.777",
      "Definition": "create   procedure TSB_RUNSGroupB1InUNSGroupB1 (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'UNSGroupB1', 'uid_UNSGroupB1', @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join\r\n QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null \r\nend if 1 = dbo.DPR_FGIProjectionRootRunning ('UnsRootB') begin insert into @ObjectKeysToCheck_Projection(Parameter1, Parameter2) select cu.UID_Parameter\r\n, ro.XObjectKey from @DBQueueCurrent cu join UNSGroupB1 x on cu.UID_Parameter = x.UID_UNSGroupB1 join UNSRootB ro on x.UID_UNSRootB = ro.UID_UNSRootB\r\n exec @resetted = DPR_PSlotResetWhileProj_L @DBQueueCurrent, @ObjectKeysToCheck_Projection, @MyName, @SlotNumber  end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_RUNSGroupB2InUNSGroupB2",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.87",
      "ModifyDate": "2026-04-14T23:20:48.037",
      "Definition": "create   procedure TSB_RUNSGroupB2InUNSGroupB2 (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'UNSGroupB2', 'uid_UNSGroupB2', @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join\r\n QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null \r\nend if 1 = dbo.DPR_FGIProjectionRootRunning ('UnsRootB') begin insert into @ObjectKeysToCheck_Projection(Parameter1, Parameter2) select cu.UID_Parameter\r\n, ro.XObjectKey from @DBQueueCurrent cu join UNSGroupB2 x on cu.UID_Parameter = x.UID_UNSGroupB2 join UNSRootB ro on x.UID_UNSRootB = ro.UID_UNSRootB\r\n exec @resetted = DPR_PSlotResetWhileProj_L @DBQueueCurrent, @ObjectKeysToCheck_Projection, @MyName, @SlotNumber  end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_RUNSGroupB3InUNSGroupB3",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:22.01",
      "ModifyDate": "2026-04-14T23:20:48.3",
      "Definition": "create   procedure TSB_RUNSGroupB3InUNSGroupB3 (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'UNSGroupB3', 'uid_UNSGroupB3', @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join\r\n QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null \r\nend if 1 = dbo.DPR_FGIProjectionRootRunning ('UnsRootB') begin insert into @ObjectKeysToCheck_Projection(Parameter1, Parameter2) select cu.UID_Parameter\r\n, ro.XObjectKey from @DBQueueCurrent cu join UNSGroupB3 x on cu.UID_Parameter = x.UID_UNSGroupB3 join UNSRootB ro on x.UID_UNSRootB = ro.UID_UNSRootB\r\n exec @resetted = DPR_PSlotResetWhileProj_L @DBQueueCurrent, @ObjectKeysToCheck_Projection, @MyName, @SlotNumber  end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_RUNSGroupBHasUNSItemB",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:20.743",
      "ModifyDate": "2026-04-14T23:20:46.457",
      "Definition": "create   procedure TSB_RUNSGroupBHasUNSItemB (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'UNSGroupB', 'UID_UNSGroupB', @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent\r\n cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end if 1 = dbo.DPR_FGIProjectionRootRunning\r\n ('UnsRootB') begin insert into @ObjectKeysToCheck_Projection(Parameter1, Parameter2) select cu.UID_Parameter, ro.XObjectKey from @DBQueueCurrent cu join\r\n UNSGroupB x on cu.UID_Parameter = x.UID_UNSGroupB join UNSRootB ro on x.UID_UNSRootB = ro.UID_UNSRootB exec @resetted = DPR_PSlotResetWhileProj_L @DBQueueCurrent\r\n, @ObjectKeysToCheck_Projection, @MyName, @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join QBMDBQueueCurrent\r\n cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null end end  insert into\r\n @ObjectKeysToCheck_Jobrunning(Parameter1, Parameter2) select cu.UID_Parameter, x.XObjectKey from @DBQueueCurrent cu join UNSGroupB x on cu.UID_Parameter\r\n = x.UID_UNSGroupB exec @resetted = QBM_PSlotResetWhileJobRun_L @DBQueueCurrent, @@PROCID, @ObjectKeysToCheck_Jobrunning, @SlotNumber = @SlotNumber  END\r\n TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_RUNSGroupBInUNSGroupB",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.503",
      "ModifyDate": "2026-04-14T23:20:47.44",
      "Definition": "create   procedure TSB_RUNSGroupBInUNSGroupB (@SlotNumber int) AS begin declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @ObjectKeysToCheck_Jobrunning\r\n QBM_YParameterList declare @MyName nvarchar(64) = object_name(@@procid) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @resetted int BEGIN TRY insert\r\n into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  exec @resetted = QBM_PSlotResetOnMissingItem_L\r\n @DBQueueCurrent, 'UNSGroupB', 'uid_UNSGroupB', @SlotNumber if @resetted > 0 begin delete  @DBQueueCurrent from @DBQueueCurrent v left outer join\r\n QBMDBQueueCurrent cu with (readpast) on v.UID_DialogDBQueue = cu.UID_DialogDBQueue and cu.SlotNumber = @SlotNumber where cu.UID_DialogDBQueue is null \r\nend if 1 = dbo.DPR_FGIProjectionRootRunning ('UnsRootB') begin insert into @ObjectKeysToCheck_Projection(Parameter1, Parameter2) select cu.UID_Parameter\r\n, ro.XObjectKey from @DBQueueCurrent cu join UNSGroupB x on cu.UID_Parameter = x.UID_UNSGroupB join UNSRootB ro on x.UID_UNSRootB = ro.UID_UNSRootB\r\n exec @resetted = DPR_PSlotResetWhileProj_L @DBQueueCurrent, @ObjectKeysToCheck_Projection, @MyName, @SlotNumber  end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZAllForOneOrg",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.027",
      "ModifyDate": "2026-04-14T23:20:46.683",
      "Definition": "  create   procedure TSB_ZAllForOneOrg (@SlotNumber int) as begin BEGIN TRY declare @dummy int END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZAllForOnePerson",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.033",
      "ModifyDate": "2026-04-14T23:20:46.69",
      "Definition": "  create   procedure TSB_ZAllForOnePerson (@SlotNumber int) as begin BEGIN TRY declare @dummy int END TRY BEGIN CATCH exec QBM_PSessionErrorAdd \r\ndefault RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZBaseTreeHasObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:20.8",
      "ModifyDate": "2026-04-14T23:20:46.52",
      "Definition": "      create   procedure TSB_ZBaseTreeHasObject (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @QER_BitPattern_Inherit_0 int = dbo.QER_FGIBitPatternInheritInfo('|Inherit|', 0) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @QBM_BitPatternXOrigin_Inherit\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 0, 0 , uid_Org\r\n, ObjectKey, InheritInfo from BaseTreeHasObject bho join @DBQueueCurrent x on uid_Org = x.uid_parameter where bho.ObjectKey like '<Key><T>UNSGroupB</T>%'\r\n or bho.ObjectKey like '<Key><T>UNSGroupB1</T>%' or bho.ObjectKey like '<Key><T>UNSGroupB2</T>%' or bho.ObjectKey like '<Key><T>UNSGroupB3</T>%' or bho.ObjectKey\r\n like '<Key><T>TSBAccountDef</T>%'  insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 ,\r\n y.UID_Org, z.XObjectKey, dbo.QER_FCVXOriginToInheritInfo(y.XOrigin) from BaseTreeHasUNSGroupB y join @DBQueueCurrent x on y.UID_Org= x.uid_parameter and\r\n y.XOrigin > 0 and y.XIsInEffect = 1 join UNSGroupB z on z.uid_UNSGroupB = y.uid_UNSGroupB union all select 1, 0 , y.UID_Org, z.XObjectKey, dbo.QER_FCVXOriginToInheritInfo\r\n(y.XOrigin) from BaseTreeHasUNSGroupB1 y join @DBQueueCurrent x on y.UID_Org= x.uid_parameter and y.XOrigin > 0 and y.XIsInEffect = 1 join UNSGroupB1 z\r\n on z.uid_UNSGroupB1 = y.uid_UNSGroupB1 union all select 1, 0 , y.UID_Org, z.XObjectKey, dbo.QER_FCVXOriginToInheritInfo(y.XOrigin) from BaseTreeHasUNSGroupB2\r\n y join @DBQueueCurrent x on y.UID_Org= x.uid_parameter and y.XOrigin > 0 and y.XIsInEffect = 1 join UNSGroupB2 z on z.uid_UNSGroupB2 = y.uid_UNSGroupB2\r\n union all select 1, 0 , y.UID_Org, z.XObjectKey, dbo.QER_FCVXOriginToInheritInfo(y.XOrigin) from BaseTreeHasUNSGroupB3 y join @DBQueueCurrent x on y.UID_Org=\r\n x.uid_parameter and y.XOrigin > 0 and y.XIsInEffect = 1 join UNSGroupB3 z on z.uid_UNSGroupB3 = y.uid_UNSGroupB3 insert into @SourceData( IsUpcommingContent\r\n, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , y.UID_Org, z.XObjectKey, dbo.QER_FCVXOriginToInheritInfo(y.XOrigin) from BaseTreeHasTSBAccountDef\r\n y join @DBQueueCurrent x on y.UID_Org= x.uid_parameter and y.XOrigin > 0 and y.XIsInEffect = 1 join TSBAccountDef z on z.UID_TSBAccountDef = y.UID_TSBAccountDef\r\n if dbo.QBM_FGIModuleExists('RMS') = 1 begin insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select\r\n 1, 0 , y.UID_Org, ehe.Entitlement, dbo.QER_FCVXOriginToInheritInfo(@QBM_BitPatternXOrigin_Inherit) from BaseTreeHasESet y join @DBQueueCurrent x on y.UID_Org\r\n = x.uid_parameter and y.XOrigin > 0 and y.XIsInEffect = 1 join ESetHasEntitlement ehe on ehe.UID_ESet = y.UID_ESet and ehe.XOrigin > 0 and ehe.XIsInEffect\r\n = 1 join BaseTree b on y.UID_Org = b.UID_Org  and not (b.UID_OrgRoot in ( 'QER-V-ITShopOrg', 'QER-V-ITShopSrc') and b.ITShopInfo in ( 'BO', 'PR', 'BG'\r\n, 'BT') ) join OrgRootAssign oa on oa.UID_OrgRoot = b.UID_OrgRoot and oa.IsAssignmentAllowed = 1 where ((ehe.Entitlement like '<Key><T>UNSGroupB</T>%' \r\nand oa.UID_BaseTreeAssign = 'TSB-AsgnBT-UNSGroupB') or (ehe.Entitlement like '<Key><T>UNSGroupB1</T>%' and oa.UID_BaseTreeAssign = 'TSB-AsgnBT-UNSGroupB1'\r\n) or (ehe.Entitlement like '<Key><T>UNSGroupB2</T>%' and oa.UID_BaseTreeAssign = 'TSB-AsgnBT-UNSGroupB2') or (ehe.Entitlement like '<Key><T>UNSGroupB3</T>%'\r\n and oa.UID_BaseTreeAssign = 'TSB-AsgnBT-UNSGroupB3') or (ehe.Entitlement like '<Key><T>TSBAccountDef</T>%' and oa.UID_BaseTreeAssign = 'TSB-AsgnBT-TSBAccountDef'\r\n) )        end   insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , t.Element, t.XObjectKey\r\n, @QER_BitPattern_Inherit_0 from ( select distinct ho.Element, p.XObjectKey from @SourceData ho join UNSGroupB g on ho.AssignedElement = g.XObjectKey  \r\njoin UNSGroupBCollection co on co.UID_UNSGroupBChild = g.uid_UNSGroupB join UNSGroupB p on co.UID_UNSGroupBParent = p.UID_UNSGroupB where ho.IsUpcommingContent\r\n = 1 and co.UID_UNSGroupBChild <> co.UID_UNSGroupBParent  ) as t         union all select 1, 0 , t.Element, t.XObjectKey, @QER_BitPattern_Inherit_0 from\r\n ( select distinct ho.Element, p.XObjectKey from @SourceData ho join UNSGroupB1 g on ho.AssignedElement = g.XObjectKey join UNSGroupB1Collection co on \r\nco.UID_UNSGroupB1Child = g.uid_UNSGroupB1 join UNSGroupB1 p on co.UID_UNSGroupB1Parent = p.UID_UNSGroupB1 where ho.IsUpcommingContent = 1 and co.UID_UNSGroupB1Child\r\n <> co.UID_UNSGroupB1Parent ) as t union all select 1, 0 , t.Element, t.XObjectKey, @QER_BitPattern_Inherit_0 from ( select distinct ho.Element, p.XObjectKey\r\n from @SourceData ho join UNSGroupB2 g on ho.AssignedElement = g.XObjectKey join UNSGroupB2Collection co on co.UID_UNSGroupB2Child = g.uid_UNSGroupB2 join\r\n UNSGroupB2 p on co.UID_UNSGroupB2Parent = p.UID_UNSGroupB2 where ho.IsUpcommingContent = 1 and co.UID_UNSGroupB2Child <> co.UID_UNSGroupB2Parent ) as \r\nt union all select 1, 0 , t.Element, t.XObjectKey, @QER_BitPattern_Inherit_0 from ( select distinct ho.Element, p.XObjectKey from @SourceData ho join UNSGroupB3\r\n g on ho.AssignedElement = g.XObjectKey join UNSGroupB3Collection co on co.UID_UNSGroupB3Child = g.uid_UNSGroupB3 join UNSGroupB3 p on co.UID_UNSGroupB3Parent\r\n = p.UID_UNSGroupB3 where ho.IsUpcommingContent = 1 and co.UID_UNSGroupB3Child <> co.UID_UNSGroupB3Parent ) as t berechnen: exec QBM_PDBQueueCalculateDelta\r\n @SourceData, @DeltaQuantity = 0, @DeltaDelete = 1, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin\r\n = @CountDeltaOrigin output , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent exec QER_PBasetreeHasObjectPostProc\r\n @CountDeltaOrigin, @CountDeltaQantity END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZBaseTreeOwnsObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:20.997",
      "ModifyDate": "2026-04-14T23:20:46.643",
      "Definition": "      create   procedure TSB_ZBaseTreeOwnsObject (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @DBQueueCurrent QBM_YDBQueueCurrent declare @QER_BitPatternOwnershipInfo_Top int = dbo.QER_FGIBitPatternOwnershipInfo('|Top|', 0) declare \r\n@QER_BitPatternOwnershipInfo_Lower int = dbo.QER_FGIBitPatternOwnershipInfo('|Lower|', 0) declare @QER_BitPatternOwnershipInfo_Higher int = dbo.QER_FGIBitPatternOwnershipInfo\r\n('|Higher|', 0) declare @QER_BitPatternOwnershipInfo_Lower_Top int = dbo.QER_FGIBitPatternOwnershipInfo('|Lower|Top|', 0) declare @QER_BitPatternOwnershipInfo_Higher_Top\r\n int = dbo.QER_FGIBitPatternOwnershipInfo('|Higher|Top|', 0)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter,\r\n GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber\r\n if @@rowcount = 0 begin goto EndLabel end  insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore ) select\r\n 0, 0 , bho.uid_Org, bho.ObjectKey, bho.OwnershipInfo from BaseTreeOwnsObject bho join UNSRootB a on bho.ObjectKey = a.XObjectKey join @DBQueueCurrent \r\nx on a.UID_UNSRootB = x.uid_parameter  insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, \r\n0 , bc.UID_ParentOrg, d.XObjectKey, case when d.UID_AERoleOwner > ' ' and bc.UID_ParentOrg = d.UID_AERoleOwner then @QER_BitPatternOwnershipInfo_Higher\r\n when d.UID_AERoleOwner > ' ' and bc.UID_ParentOrg <> d.UID_AERoleOwner then @QER_BitPatternOwnershipInfo_Higher_Top else @QER_BitPatternOwnershipInfo_Top\r\n end from UNSRootB d join @DBQueueCurrent x on d.UID_UNSRootB = x.uid_parameter cross join (select 'TSB-AEROLE-NAMESPACEADMIN-UNSB' as TopNode ) as o  \r\njoin BaseTree b on b.UID_Org = case when d.UID_AERoleOwner > ' ' then d.UID_AERoleOwner else o.TopNode end JOIN BaseTreeCollection bc on bc.UID_Org = b.UID_Org\r\n  and exists (select Top 1 1 from BaseTreeCollection up where up.UID_Org = bc.UID_Org and up.UID_ParentOrg = o.TopNode )  left outer join BaseTreeCollection\r\n up2 on bc.UID_ParentOrg = up2.UID_ParentOrg and up2.UID_Org <> up2.UID_ParentOrg and up2.UID_Org = o.TopNode where up2.UID_Org is null calculateDifference:\r\n exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete = 1, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity\r\n output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent exec \r\nQER_PBasetreeOwnsObjectPost_L @CountDeltaOrigin, @CountDeltaQantity, @DBQueueCurrent END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (''\r\n, 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZBaseTreeOwnsObjectPrepair",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.007",
      "ModifyDate": "2026-04-14T23:20:46.657",
      "Definition": "      create   procedure TSB_ZBaseTreeOwnsObjectPrepair (@SlotNumber int) AS begin declare @MyName nvarchar(64) = object_name(@@procid) declare \r\n@GenProcID varchar(38) declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter\r\n, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber\r\n if @@rowcount = 0 begin goto EndLabel end if exists (select top 1 1 from @DBQueueCurrent c join BaseTreeCollectionF b on c.UID_Parameter = b.UID_Org where\r\n b.UID_ParentOrg = 'TSB-AEROLE-NAMESPACEADMIN-UNSB' ) begin select top 1 @GenProcID = c.GenProcID from @DBQueueCurrent c join BaseTreeCollectionF b on \r\nc.UID_Parameter = b.UID_Org where b.UID_ParentOrg = 'TSB-AEROLE-NAMESPACEADMIN-UNSB' exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate', 'TSB-K-BaseTreeOwnsObject'\r\n, '', @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZOrgHasTSBAccountDef",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:20.97",
      "ModifyDate": "2026-04-14T23:20:46.61",
      "Definition": "       create   procedure TSB_ZOrgHasTSBAccountDef (@SlotNumber int) AS begin declare @GenProcID varchar(38) declare @UID_BasetreeAssignToUse varchar\r\n(38) = 'TSB-AsgnBT-TSBAccountDef' declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin int declare @DBQueueCurrent QBM_YDBQueueCurrent\r\n declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin\r\n('|Inherit|', 1)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  insert\r\n into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore , XIsInEffectBefore ) select 0, 0 , bha.UID_Org, bha.UID_TSBAccountDef\r\n as UID_TSBAccountDef, XOrigin , bha.XIsInEffect from BaseTreeHasTSBAccountDef bha join @DBQueueCurrent x on UID_org =x.uid_parameter  insert into @SourceData\r\n( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement , XIsInEffectAfter ) select 1, 0, oha.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv\r\n , oha.uid_org, oha.UID_TSBAccountDef , 1 from BaseTreeHasTSBAccountDef oha join @DBQueueCurrent x on oha.UID_org = x.uid_parameter  where oha.XOrigin \r\n& @QBM_BitPatternXOrigin_Inherit_inv > 0 insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectAfter\r\n ) select 1, 0 , x.uid_parameter, oha.UID_TSBAccountDef, @QBM_BitPatternXOrigin_Inherit , 1 from BaseTreeHasTSBAccountDef oha join BaseTreeCollection oc\r\n on oha.UID_org = oc.UID_parentorg and oha.XOrigin > 0 and oha.XIsInEffect = 1 join @DBQueueCurrent x on oc.UID_org = x.uid_parameter where oc.UID_org \r\n<> oc.UID_parentorg  and oha.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 if dbo.QBM_FGIModuleExists('RMS') = 1 begin if dbo.QBM_FGIConfigparmValue\r\n('QER\\Structures\\Inherite\\NoESetSplitting') = '' begin insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter\r\n , XIsInEffectAfter ) select 1, 0 , x.uid_parameter, y.UID_TSBAccountDef, @QBM_BitPatternXOrigin_Inherit  , 1 from @DBQueueCurrent x join BaseTreeHasEset\r\n bhe on x.UID_Parameter = bhe.uid_org and bhe.XOrigin > 0 and bhe.XIsInEffect = 1 join ESetHasEntitlement ehe on bhe.uid_ESet = ehe.uid_ESet and ehe.XOrigin\r\n > 0 and ehe.XIsInEffect = 1 join TSBAccountDef y on ehe.entitlement = y.XObjectKey join BaseTree b on bhe.UID_Org = b.UID_Org  and not (b.UID_OrgRoot \r\nin ( 'QER-V-ITShopOrg', 'QER-V-ITShopSrc') and b.ITShopInfo in ( 'BO', 'PR', 'BG', 'BT') ) join OrgRootAssign oa on oa.UID_OrgRoot = b.UID_OrgRoot and \r\noa.UID_BaseTreeAssign = @UID_BasetreeAssignToUse and oa.IsAssignmentAllowed = 1 end else begin  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into\r\n @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select cu.UID_Parameter as uid, cu.GenProcID from @DBQueueCurrent\r\n cu ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-BaseTreeHasObject', @DBQueueElements_01 end end  insert into @SourceData( IsUpcommingContent, XOriginBefore\r\n , Element, AssignedElement, XOriginAfter , XIsInEffectAfter ) select 1, 0 , s.Element, pd.UID_TSBAccountDefPredecessor, @QBM_BitPatternXOrigin_Inherit\r\n , s.XIsInEffectAfter from @SourceData s join BaseTree b on s.element = b.UID_Org and not (b.UID_OrgRoot in ( 'QER-V-ITShopOrg', 'QER-V-ITShopSrc') and\r\n b.ITShopInfo in ( 'BO', 'PR', 'BG', 'BT') ) cross apply dbo.TSB_FTTSBAccountDefPredecessor(s.AssignedElement) pd where s.IsUpcommingContent = 1 and pd.UID_TSBAccountDef\r\n <> pd.UID_TSBAccountDefPredecessor  exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete = 0, @DeltaInsert = 1, @DeltaOrigin \r\n= 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern\r\n = @DBQueueCurrent if @CountDeltaOrigin > 0 begin exec QBM_PMNTableOriginUpdate 'BaseTreeHasTSBAccountDef', 'UID_Org', 'uid_TSBAccountDef' end if @CountDeltaQantity\r\n > 0 begin exec QER_PMNTableAddViewProperties 'BaseTreeHasTSBAccountDef' exec QBM_PMNTableInsert 'BaseTreeHasTSBAccountDef', 'UID_Org', 'uid_TSBAccountDef'\r\n, @TargetIsView = 1 , @FKTableNameElement = 'BaseTree' , @FKColumnNameElement = 'UID_Org' end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZOrgHasUNSGroupB",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.43",
      "ModifyDate": "2026-04-14T23:20:47.323",
      "Definition": "          create   procedure TSB_ZOrgHasUNSGroupB (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int ,\r\n @CountDeltaOrigin int declare @GenProcID varchar(38) declare @UID_BasetreeAssignToUse varchar(38) = 'TSB-AsgnBT-UNSGroupB' declare @DBQueueCurrent \r\nQBM_YDBQueueCurrent declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end  insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore , XIsInEffectBefore )\r\n select 0, 0 , UID_org, UID_UNSGroupB, XOrigin , XIsInEffect from BaseTreeHasUNSGroupB join @DBQueueCurrent x on UID_org =x.UID_parameter insert \r\ninto @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement , XIsInEffectAfter ) select 1, 0, ohg.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv\r\n , x.UID_parameter, ohg.UID_UNSGroupB , 1 from BaseTreeHasUNSGroupB ohg join @DBQueueCurrent x on ohg.UID_org = x.UID_parameter  where ohg.XOrigin\r\n & @QBM_BitPatternXOrigin_Inherit_inv > 0 insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectAfter\r\n ) select 1, 0 , x.UID_parameter, ohg.UID_UNSGroupB, @QBM_BitPatternXOrigin_Inherit , 1 from BaseTreeHasUNSGroupB ohg join BaseTreeCollection oc \r\non ohg.UID_org = oc.UID_parentorg and oc.UID_org <> oc.UID_parentorg and ohg.XOrigin > 0 and ohg.XIsInEffect = 1 join UNSGroupB gg on ohg.UID_UNSGroupB\r\n = gg.UID_UNSGroupB join @DBQueueCurrent x on oc.UID_org = x.UID_parameter where  ohg.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 if dbo.QBM_FGIModuleExists\r\n('RMS') = 1 begin if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\NoESetSplitting') = '' begin insert into @SourceData( IsUpcommingContent, XOriginBefore\r\n , Element, AssignedElement, XOriginAfter , XIsInEffectAfter ) select 1, 0 , x.UID_parameter, y.UID_UNSGroupB, @QBM_BitPatternXOrigin_Inherit  , 1 from\r\n @DBQueueCurrent x join BaseTreeHasEset bhe on x.UID_Parameter = bhe.UID_org and bhe.XOrigin > 0 and bhe.XIsInEffect = 1 join ESetHasEntitlement ehe on\r\n bhe.UID_ESet = ehe.UID_ESet and ehe.XOrigin > 0 and ehe.XIsInEffect = 1 join UNSGroupB y on ehe.entitlement = y.XObjectKey join BaseTree b on bhe.UID_Org\r\n = b.UID_Org  and not (b.UID_OrgRoot in ( 'QER-V-ITShopOrg', 'QER-V-ITShopSrc') and b.ITShopInfo in ( 'BO', 'PR', 'BG', 'BT') ) join OrgRootAssign oa on\r\n oa.UID_OrgRoot = b.UID_OrgRoot and oa.UID_BaseTreeAssign = @UID_BasetreeAssignToUse and oa.IsAssignmentAllowed = 1 end else begin  declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.UID, null, x.GenProcID from ( select cu.UID_Parameter as UID, \r\ncu.GenProcID from @DBQueueCurrent cu ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-BaseTreeHasObject', @DBQueueElements_01 end end  if dbo.QBM_FGIConfigparmValue\r\n('QER\\Structures\\Inherite\\GroupExclusion') > ' ' begin if exists (select top 1 1 from UNSGroupBExclusion ex with (nolock) join @Sourcedata s on ex.UID_UNSGroupBLower\r\n  = s.AssignedElement where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 ) begin declare @ExcludeCandidate QER_YExcludeCandidate\r\n insert into @ExcludeCandidate(Element, AssignedElement, XIsInEffectAfter) select s.Element, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_UNSGroupBLower\r\n as UID_Excluded from UNSGroupBExclusion exe ) as ex on s.AssignedElement = ex.UID_Excluded where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and\r\n s.XIsInEffectAfter = 1 union all select s.Element, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_UNSGroupBHigher as UID_Excluding from\r\n UNSGroupBExclusion exe ) as ex on s.AssignedElement = ex.UID_Excluding where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter\r\n = 1  delete  @ExcludeCandidate from @ExcludeCandidate ex where exists (select top 1 1 from BaseTree b where ex.Element = b.UID_Org and b.UID_OrgRoot in\r\n ( 'QER-V-ITShopOrg', 'QER-V-ITShopSrc') and b.ITShopInfo in ( 'BO',  'BG', 'BT') )  update @ExcludeCandidate set XIsInEffectAfter = 0 from @ExcludeCandidate\r\n l  join ( select exe.UID_UNSGroupBLower as UID_Excluded, exe.UID_UNSGroupBHigher as UID_Excluding from UNSGroupBExclusion exe ) as ex on l.AssignedElement\r\n = ex.UID_Excluded join (select sh.* from @ExcludeCandidate sh  ) as h on l.Element = h.Element and h.AssignedElement = ex.UID_Excluding if @@ROWCOUNT \r\n> 0 begin update @Sourcedata set XIsInEffectAfter = 0 from @Sourcedata l join @ExcludeCandidate k on l.Element = k.Element and l.AssignedElement = k.AssignedElement\r\n and k.XIsInEffectAfter = 0 where l.IsUpcommingContent = 1 and l.XOriginAfter > 0 and l.XIsInEffectAfter = 1 end end  end   exec QBM_PDBQueueCalculateDelta\r\n @SourceData, @DeltaQuantity = 0, @DeltaDelete = 0, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin\r\n = @CountDeltaOrigin output , @UseIsInEffect = 1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaOrigin > 0 begin exec\r\n QBM_PMNTableOriginUpdate 'BaseTreeHasUNSGroupB', 'UID_Org', 'UID_UNSGroupB' end if @CountDeltaQantity > 0 begin exec QER_PMNTableAddViewProperties\r\n 'BaseTreeHasUNSGroupB' exec QBM_PMNTableInsert 'BaseTreeHasUNSGroupB', 'UID_Org', 'UID_UNSGroupB', @TargetIsView = 1 , @FKTableNameElement = \r\n'BaseTree' , @FKColumnNameElement = 'UID_Org' end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel:\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZOrgHasUNSGroupB1",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.67",
      "ModifyDate": "2026-04-14T23:20:47.693",
      "Definition": "          create   procedure TSB_ZOrgHasUNSGroupB1 (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int ,\r\n @CountDeltaOrigin int declare @GenProcID varchar(38) declare @UID_BasetreeAssignToUse varchar(38) = 'TSB-AsgnBT-UNSGroupB1' declare @DBQueueCurrent \r\nQBM_YDBQueueCurrent declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end  insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore , XIsInEffectBefore )\r\n select 0, 0 , UID_org, UID_UNSGroupB1, XOrigin , XIsInEffect from BaseTreeHasUNSGroupB1 join @DBQueueCurrent x on UID_org =x.UID_parameter insert \r\ninto @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement , XIsInEffectAfter ) select 1, 0, ohg.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv\r\n , x.UID_parameter, ohg.UID_UNSGroupB1 , 1 from BaseTreeHasUNSGroupB1 ohg join @DBQueueCurrent x on ohg.UID_org = x.UID_parameter  where ohg.XOrigin\r\n & @QBM_BitPatternXOrigin_Inherit_inv > 0 insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectAfter\r\n ) select 1, 0 , x.UID_parameter, ohg.UID_UNSGroupB1, @QBM_BitPatternXOrigin_Inherit , 1 from BaseTreeHasUNSGroupB1 ohg join BaseTreeCollection oc \r\non ohg.UID_org = oc.UID_parentorg and oc.UID_org <> oc.UID_parentorg and ohg.XOrigin > 0 and ohg.XIsInEffect = 1 join UNSGroupB1 gg on ohg.UID_UNSGroupB1\r\n = gg.UID_UNSGroupB1 join @DBQueueCurrent x on oc.UID_org = x.UID_parameter where  ohg.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 if dbo.QBM_FGIModuleExists\r\n('RMS') = 1 begin if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\NoESetSplitting') = '' begin insert into @SourceData( IsUpcommingContent, XOriginBefore\r\n , Element, AssignedElement, XOriginAfter , XIsInEffectAfter ) select 1, 0 , x.UID_parameter, y.UID_UNSGroupB1, @QBM_BitPatternXOrigin_Inherit  , 1 from\r\n @DBQueueCurrent x join BaseTreeHasEset bhe on x.UID_Parameter = bhe.UID_org and bhe.XOrigin > 0 and bhe.XIsInEffect = 1 join ESetHasEntitlement ehe on\r\n bhe.UID_ESet = ehe.UID_ESet and ehe.XOrigin > 0 and ehe.XIsInEffect = 1 join UNSGroupB1 y on ehe.entitlement = y.XObjectKey join BaseTree b on bhe.UID_Org\r\n = b.UID_Org  and not (b.UID_OrgRoot in ( 'QER-V-ITShopOrg', 'QER-V-ITShopSrc') and b.ITShopInfo in ( 'BO', 'PR', 'BG', 'BT') ) join OrgRootAssign oa on\r\n oa.UID_OrgRoot = b.UID_OrgRoot and oa.UID_BaseTreeAssign = @UID_BasetreeAssignToUse and oa.IsAssignmentAllowed = 1 end else begin  declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.UID, null, x.GenProcID from ( select cu.UID_Parameter as UID, \r\ncu.GenProcID from @DBQueueCurrent cu ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-BaseTreeHasObject', @DBQueueElements_01 end end  if dbo.QBM_FGIConfigparmValue\r\n('QER\\Structures\\Inherite\\GroupExclusion') > ' ' begin if exists (select top 1 1 from UNSGroupB1Exclusion ex with (nolock) join @Sourcedata s on ex.UID_UNSGroupB1Lower\r\n  = s.AssignedElement where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 ) begin declare @ExcludeCandidate QER_YExcludeCandidate\r\n insert into @ExcludeCandidate(Element, AssignedElement, XIsInEffectAfter) select s.Element, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_UNSGroupB1Lower\r\n as UID_Excluded from UNSGroupB1Exclusion exe ) as ex on s.AssignedElement = ex.UID_Excluded where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and\r\n s.XIsInEffectAfter = 1 union all select s.Element, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_UNSGroupB1Higher as UID_Excluding from\r\n UNSGroupB1Exclusion exe ) as ex on s.AssignedElement = ex.UID_Excluding where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter\r\n = 1  delete  @ExcludeCandidate from @ExcludeCandidate ex where exists (select top 1 1 from BaseTree b where ex.Element = b.UID_Org and b.UID_OrgRoot in\r\n ( 'QER-V-ITShopOrg', 'QER-V-ITShopSrc') and b.ITShopInfo in ( 'BO',  'BG', 'BT') )  update @ExcludeCandidate set XIsInEffectAfter = 0 from @ExcludeCandidate\r\n l  join ( select exe.UID_UNSGroupB1Lower as UID_Excluded, exe.UID_UNSGroupB1Higher as UID_Excluding from UNSGroupB1Exclusion exe ) as ex on l.AssignedElement\r\n = ex.UID_Excluded join (select sh.* from @ExcludeCandidate sh  ) as h on l.Element = h.Element and h.AssignedElement = ex.UID_Excluding if @@ROWCOUNT \r\n> 0 begin update @Sourcedata set XIsInEffectAfter = 0 from @Sourcedata l join @ExcludeCandidate k on l.Element = k.Element and l.AssignedElement = k.AssignedElement\r\n and k.XIsInEffectAfter = 0 where l.IsUpcommingContent = 1 and l.XOriginAfter > 0 and l.XIsInEffectAfter = 1 end end  end   exec QBM_PDBQueueCalculateDelta\r\n @SourceData, @DeltaQuantity = 0, @DeltaDelete = 0, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin\r\n = @CountDeltaOrigin output , @UseIsInEffect = 1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaOrigin > 0 begin exec\r\n QBM_PMNTableOriginUpdate 'BaseTreeHasUNSGroupB1', 'UID_Org', 'UID_UNSGroupB1' end if @CountDeltaQantity > 0 begin exec QER_PMNTableAddViewProperties\r\n 'BaseTreeHasUNSGroupB1' exec QBM_PMNTableInsert 'BaseTreeHasUNSGroupB1', 'UID_Org', 'UID_UNSGroupB1', @TargetIsView = 1 , @FKTableNameElement = \r\n'BaseTree' , @FKColumnNameElement = 'UID_Org' end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel:\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZOrgHasUNSGroupB2",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.817",
      "ModifyDate": "2026-04-14T23:20:47.953",
      "Definition": "          create   procedure TSB_ZOrgHasUNSGroupB2 (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int ,\r\n @CountDeltaOrigin int declare @GenProcID varchar(38) declare @UID_BasetreeAssignToUse varchar(38) = 'TSB-AsgnBT-UNSGroupB2' declare @DBQueueCurrent \r\nQBM_YDBQueueCurrent declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end  insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore , XIsInEffectBefore )\r\n select 0, 0 , UID_org, UID_UNSGroupB2, XOrigin , XIsInEffect from BaseTreeHasUNSGroupB2 join @DBQueueCurrent x on UID_org =x.UID_parameter insert \r\ninto @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement , XIsInEffectAfter ) select 1, 0, ohg.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv\r\n , x.UID_parameter, ohg.UID_UNSGroupB2 , 1 from BaseTreeHasUNSGroupB2 ohg join @DBQueueCurrent x on ohg.UID_org = x.UID_parameter  where ohg.XOrigin\r\n & @QBM_BitPatternXOrigin_Inherit_inv > 0 insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectAfter\r\n ) select 1, 0 , x.UID_parameter, ohg.UID_UNSGroupB2, @QBM_BitPatternXOrigin_Inherit , 1 from BaseTreeHasUNSGroupB2 ohg join BaseTreeCollection oc \r\non ohg.UID_org = oc.UID_parentorg and oc.UID_org <> oc.UID_parentorg and ohg.XOrigin > 0 and ohg.XIsInEffect = 1 join UNSGroupB2 gg on ohg.UID_UNSGroupB2\r\n = gg.UID_UNSGroupB2 join @DBQueueCurrent x on oc.UID_org = x.UID_parameter where  ohg.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 if dbo.QBM_FGIModuleExists\r\n('RMS') = 1 begin if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\NoESetSplitting') = '' begin insert into @SourceData( IsUpcommingContent, XOriginBefore\r\n , Element, AssignedElement, XOriginAfter , XIsInEffectAfter ) select 1, 0 , x.UID_parameter, y.UID_UNSGroupB2, @QBM_BitPatternXOrigin_Inherit  , 1 from\r\n @DBQueueCurrent x join BaseTreeHasEset bhe on x.UID_Parameter = bhe.UID_org and bhe.XOrigin > 0 and bhe.XIsInEffect = 1 join ESetHasEntitlement ehe on\r\n bhe.UID_ESet = ehe.UID_ESet and ehe.XOrigin > 0 and ehe.XIsInEffect = 1 join UNSGroupB2 y on ehe.entitlement = y.XObjectKey join BaseTree b on bhe.UID_Org\r\n = b.UID_Org  and not (b.UID_OrgRoot in ( 'QER-V-ITShopOrg', 'QER-V-ITShopSrc') and b.ITShopInfo in ( 'BO', 'PR', 'BG', 'BT') ) join OrgRootAssign oa on\r\n oa.UID_OrgRoot = b.UID_OrgRoot and oa.UID_BaseTreeAssign = @UID_BasetreeAssignToUse and oa.IsAssignmentAllowed = 1 end else begin  declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.UID, null, x.GenProcID from ( select cu.UID_Parameter as UID, \r\ncu.GenProcID from @DBQueueCurrent cu ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-BaseTreeHasObject', @DBQueueElements_01 end end  if dbo.QBM_FGIConfigparmValue\r\n('QER\\Structures\\Inherite\\GroupExclusion') > ' ' begin if exists (select top 1 1 from UNSGroupB2Exclusion ex with (nolock) join @Sourcedata s on ex.UID_UNSGroupB2Lower\r\n  = s.AssignedElement where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 ) begin declare @ExcludeCandidate QER_YExcludeCandidate\r\n insert into @ExcludeCandidate(Element, AssignedElement, XIsInEffectAfter) select s.Element, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_UNSGroupB2Lower\r\n as UID_Excluded from UNSGroupB2Exclusion exe ) as ex on s.AssignedElement = ex.UID_Excluded where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and\r\n s.XIsInEffectAfter = 1 union all select s.Element, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_UNSGroupB2Higher as UID_Excluding from\r\n UNSGroupB2Exclusion exe ) as ex on s.AssignedElement = ex.UID_Excluding where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter\r\n = 1  delete  @ExcludeCandidate from @ExcludeCandidate ex where exists (select top 1 1 from BaseTree b where ex.Element = b.UID_Org and b.UID_OrgRoot in\r\n ( 'QER-V-ITShopOrg', 'QER-V-ITShopSrc') and b.ITShopInfo in ( 'BO',  'BG', 'BT') )  update @ExcludeCandidate set XIsInEffectAfter = 0 from @ExcludeCandidate\r\n l  join ( select exe.UID_UNSGroupB2Lower as UID_Excluded, exe.UID_UNSGroupB2Higher as UID_Excluding from UNSGroupB2Exclusion exe ) as ex on l.AssignedElement\r\n = ex.UID_Excluded join (select sh.* from @ExcludeCandidate sh  ) as h on l.Element = h.Element and h.AssignedElement = ex.UID_Excluding if @@ROWCOUNT \r\n> 0 begin update @Sourcedata set XIsInEffectAfter = 0 from @Sourcedata l join @ExcludeCandidate k on l.Element = k.Element and l.AssignedElement = k.AssignedElement\r\n and k.XIsInEffectAfter = 0 where l.IsUpcommingContent = 1 and l.XOriginAfter > 0 and l.XIsInEffectAfter = 1 end end  end   exec QBM_PDBQueueCalculateDelta\r\n @SourceData, @DeltaQuantity = 0, @DeltaDelete = 0, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin\r\n = @CountDeltaOrigin output , @UseIsInEffect = 1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaOrigin > 0 begin exec\r\n QBM_PMNTableOriginUpdate 'BaseTreeHasUNSGroupB2', 'UID_Org', 'UID_UNSGroupB2' end if @CountDeltaQantity > 0 begin exec QER_PMNTableAddViewProperties\r\n 'BaseTreeHasUNSGroupB2' exec QBM_PMNTableInsert 'BaseTreeHasUNSGroupB2', 'UID_Org', 'UID_UNSGroupB2', @TargetIsView = 1 , @FKTableNameElement = \r\n'BaseTree' , @FKColumnNameElement = 'UID_Org' end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel:\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZOrgHasUNSGroupB3",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.96",
      "ModifyDate": "2026-04-14T23:20:48.213",
      "Definition": "          create   procedure TSB_ZOrgHasUNSGroupB3 (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int ,\r\n @CountDeltaOrigin int declare @GenProcID varchar(38) declare @UID_BasetreeAssignToUse varchar(38) = 'TSB-AsgnBT-UNSGroupB3' declare @DBQueueCurrent \r\nQBM_YDBQueueCurrent declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end  insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore , XIsInEffectBefore )\r\n select 0, 0 , UID_org, UID_UNSGroupB3, XOrigin , XIsInEffect from BaseTreeHasUNSGroupB3 join @DBQueueCurrent x on UID_org =x.UID_parameter insert \r\ninto @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement , XIsInEffectAfter ) select 1, 0, ohg.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv\r\n , x.UID_parameter, ohg.UID_UNSGroupB3 , 1 from BaseTreeHasUNSGroupB3 ohg join @DBQueueCurrent x on ohg.UID_org = x.UID_parameter  where ohg.XOrigin\r\n & @QBM_BitPatternXOrigin_Inherit_inv > 0 insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectAfter\r\n ) select 1, 0 , x.UID_parameter, ohg.UID_UNSGroupB3, @QBM_BitPatternXOrigin_Inherit , 1 from BaseTreeHasUNSGroupB3 ohg join BaseTreeCollection oc \r\non ohg.UID_org = oc.UID_parentorg and oc.UID_org <> oc.UID_parentorg and ohg.XOrigin > 0 and ohg.XIsInEffect = 1 join UNSGroupB3 gg on ohg.UID_UNSGroupB3\r\n = gg.UID_UNSGroupB3 join @DBQueueCurrent x on oc.UID_org = x.UID_parameter where  ohg.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 if dbo.QBM_FGIModuleExists\r\n('RMS') = 1 begin if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\NoESetSplitting') = '' begin insert into @SourceData( IsUpcommingContent, XOriginBefore\r\n , Element, AssignedElement, XOriginAfter , XIsInEffectAfter ) select 1, 0 , x.UID_parameter, y.UID_UNSGroupB3, @QBM_BitPatternXOrigin_Inherit  , 1 from\r\n @DBQueueCurrent x join BaseTreeHasEset bhe on x.UID_Parameter = bhe.UID_org and bhe.XOrigin > 0 and bhe.XIsInEffect = 1 join ESetHasEntitlement ehe on\r\n bhe.UID_ESet = ehe.UID_ESet and ehe.XOrigin > 0 and ehe.XIsInEffect = 1 join UNSGroupB3 y on ehe.entitlement = y.XObjectKey join BaseTree b on bhe.UID_Org\r\n = b.UID_Org  and not (b.UID_OrgRoot in ( 'QER-V-ITShopOrg', 'QER-V-ITShopSrc') and b.ITShopInfo in ( 'BO', 'PR', 'BG', 'BT') ) join OrgRootAssign oa on\r\n oa.UID_OrgRoot = b.UID_OrgRoot and oa.UID_BaseTreeAssign = @UID_BasetreeAssignToUse and oa.IsAssignmentAllowed = 1 end else begin  declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.UID, null, x.GenProcID from ( select cu.UID_Parameter as UID, \r\ncu.GenProcID from @DBQueueCurrent cu ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-BaseTreeHasObject', @DBQueueElements_01 end end  if dbo.QBM_FGIConfigparmValue\r\n('QER\\Structures\\Inherite\\GroupExclusion') > ' ' begin if exists (select top 1 1 from UNSGroupB3Exclusion ex with (nolock) join @Sourcedata s on ex.UID_UNSGroupB3Lower\r\n  = s.AssignedElement where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 ) begin declare @ExcludeCandidate QER_YExcludeCandidate\r\n insert into @ExcludeCandidate(Element, AssignedElement, XIsInEffectAfter) select s.Element, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_UNSGroupB3Lower\r\n as UID_Excluded from UNSGroupB3Exclusion exe ) as ex on s.AssignedElement = ex.UID_Excluded where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and\r\n s.XIsInEffectAfter = 1 union all select s.Element, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_UNSGroupB3Higher as UID_Excluding from\r\n UNSGroupB3Exclusion exe ) as ex on s.AssignedElement = ex.UID_Excluding where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter\r\n = 1  delete  @ExcludeCandidate from @ExcludeCandidate ex where exists (select top 1 1 from BaseTree b where ex.Element = b.UID_Org and b.UID_OrgRoot in\r\n ( 'QER-V-ITShopOrg', 'QER-V-ITShopSrc') and b.ITShopInfo in ( 'BO',  'BG', 'BT') )  update @ExcludeCandidate set XIsInEffectAfter = 0 from @ExcludeCandidate\r\n l  join ( select exe.UID_UNSGroupB3Lower as UID_Excluded, exe.UID_UNSGroupB3Higher as UID_Excluding from UNSGroupB3Exclusion exe ) as ex on l.AssignedElement\r\n = ex.UID_Excluded join (select sh.* from @ExcludeCandidate sh  ) as h on l.Element = h.Element and h.AssignedElement = ex.UID_Excluding if @@ROWCOUNT \r\n> 0 begin update @Sourcedata set XIsInEffectAfter = 0 from @Sourcedata l join @ExcludeCandidate k on l.Element = k.Element and l.AssignedElement = k.AssignedElement\r\n and k.XIsInEffectAfter = 0 where l.IsUpcommingContent = 1 and l.XOriginAfter > 0 and l.XIsInEffectAfter = 1 end end  end   exec QBM_PDBQueueCalculateDelta\r\n @SourceData, @DeltaQuantity = 0, @DeltaDelete = 0, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin\r\n = @CountDeltaOrigin output , @UseIsInEffect = 1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaOrigin > 0 begin exec\r\n QBM_PMNTableOriginUpdate 'BaseTreeHasUNSGroupB3', 'UID_Org', 'UID_UNSGroupB3' end if @CountDeltaQantity > 0 begin exec QER_PMNTableAddViewProperties\r\n 'BaseTreeHasUNSGroupB3' exec QBM_PMNTableInsert 'BaseTreeHasUNSGroupB3', 'UID_Org', 'UID_UNSGroupB3', @TargetIsView = 1 , @FKTableNameElement = \r\n'BaseTree' , @FKColumnNameElement = 'UID_Org' end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel:\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZPersonHasObject",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:20.773",
      "ModifyDate": "2026-04-14T23:20:46.487",
      "Definition": "      create   procedure TSB_ZPersonHasObject (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @QER_BitPattern_Inherit_0 int = dbo.QER_FGIBitPatternInheritInfo('|Inherit|', 0) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @QBM_BitPatternXMarkedForDel_Delay\r\n int = dbo.QBM_FGIBitPatternXMarkedForDel('|Delay|', 0) declare @QER_BitPatternInherit_Direct int = dbo.QER_FGIBitPatternInheritInfo('|Direct|', 0) declare\r\n @QER_BitPatternInherit_Master int = dbo.QER_FGIBitPatternInheritInfo('|Master|', 0)  declare @IncludeTSBPersonUsesAccount nvarchar(1024) = dbo.QBM_FGIConfigparmValue\r\n('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount') BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore ) select 0, 0 , pho.UID_Person\r\n, pho.ObjectKey, pho.InheritInfo from PersonHasObject pho join @DBQueueCurrent x on pho.UID_Person = x.uid_parameter where pho.ObjectKey like '<Key><T>UNSAccountB</T>%'\r\n or pho.ObjectKey like '<Key><T>UNSGroupB</T>%' or pho.ObjectKey like '<Key><T>UNSGroupB1</T>%' or pho.ObjectKey like '<Key><T>UNSGroupB2</T>%' or pho.ObjectKey\r\n like '<Key><T>UNSGroupB3</T>%' or pho.ObjectKey like '<Key><T>TSBAccountDef</T>%'  insert into @SourceData( IsUpcommingContent, XOriginBefore , Element\r\n, AssignedElement, XOriginAfter ) select 1, 0 , y.uid_person, y.XObjectKey, @QER_BitPatternInherit_Direct from UNSAccountB y join @DBQueueCurrent x on \r\ny.uid_person= x.uid_parameter and y.UID_Person > ' '  if @IncludeTSBPersonUsesAccount = '1' begin insert into @SourceData( IsUpcommingContent, XOriginBefore\r\n , Element, AssignedElement, XOriginAfter ) select 1, 0 , y.uid_person, y.ObjectKeyAccount, @QER_BitPattern_Inherit_0 from TSBPersonUsesAccount y join \r\n@DBQueueCurrent x on y.uid_person= x.uid_parameter join UNSAccountB a on y.ObjectKeyAccount = a.XObjectKey end  insert into @SourceData( IsUpcommingContent\r\n, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , y.uid_person, q.XObjectKey, dbo.QER_FCVXOriginToInheritInfo(z.XOrigin) from UNSAccountB\r\n y join @DBQueueCurrent x on y.uid_person= x.uid_parameter and y.UID_Person > ' ' join UNSAccountBInUNSGroupB z on y.uid_UNSAccountB = z.uid_UNSAccountB\r\n and z.XOrigin > 0 and z.XIsInEffect = 1  join UNSGroupB q on q.uid_UNSGroupB = z.uid_UNSGroupB where z.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay\r\n = 0 union all select 1, 0 , y.uid_person, q.XObjectKey, dbo.QER_FCVXOriginToInheritInfo(z.XOrigin) from UNSAccountB y join @DBQueueCurrent x on y.uid_person=\r\n x.uid_parameter and y.UID_Person > ' ' join UNSAccountBInUNSGroupB1 z on y.uid_UNSAccountB = z.uid_UNSAccountB and z.XOrigin > 0 and z.XIsInEffect = 1\r\n  join UNSGroupB1 q on q.uid_UNSGroupB1 = z.uid_UNSGroupB1 where z.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0 union all select 1, 0 , \r\ny.uid_person, q.XObjectKey, dbo.QER_FCVXOriginToInheritInfo(z.XOrigin) from UNSAccountB y join @DBQueueCurrent x on y.uid_person= x.uid_parameter and y.UID_Person\r\n > ' ' join UNSAccountBInUNSGroupB2 z on y.uid_UNSAccountB = z.uid_UNSAccountB and z.XOrigin > 0 and z.XIsInEffect = 1  join UNSGroupB2 q on q.uid_UNSGroupB2\r\n = z.uid_UNSGroupB2 where z.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0 union all select 1, 0 , y.uid_person, q.XObjectKey, dbo.QER_FCVXOriginToInheritInfo\r\n(z.XOrigin) from UNSAccountB y join @DBQueueCurrent x on y.uid_person= x.uid_parameter and y.UID_Person > ' ' join UNSAccountBInUNSGroupB3 z on y.uid_UNSAccountB\r\n = z.uid_UNSAccountB and z.XOrigin > 0 and z.XIsInEffect = 1  join UNSGroupB3 q on q.uid_UNSGroupB3 = z.uid_UNSGroupB3 where z.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay\r\n = 0  insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , y.uid_person, q.XObjectKey, dbo.QER_FCVXOriginToInheritInfo\r\n(z.XOrigin) from UNSAccountB y join @DBQueueCurrent x on y.uid_person= x.uid_parameter and y.UID_Person > ' ' join UNSAccountBHasUNSGroupB z on y.uid_UNSAccountB\r\n = z.uid_UNSAccountB and z.XOrigin > 0 and z.XIsInEffect = 1  join UNSGroupB q on q.uid_UNSGroupB = z.uid_UNSGroupB where z.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay\r\n = 0  union all select 1, 0 , y.uid_person, q.XObjectKey, dbo.QER_FCVXOriginToInheritInfo(z.XOrigin) from UNSAccountB y join @DBQueueCurrent x on y.uid_person=\r\n x.uid_parameter and y.UID_Person > ' ' join UNSAccountBHasUNSGroupB1 z on y.uid_UNSAccountB = z.uid_UNSAccountB and z.XOrigin > 0 and z.XIsInEffect = \r\n1  join UNSGroupB1 q on q.uid_UNSGroupB1 = z.uid_UNSGroupB1 where z.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0 union all select 1, 0 ,\r\n y.uid_person, q.XObjectKey, dbo.QER_FCVXOriginToInheritInfo(z.XOrigin) from UNSAccountB y join @DBQueueCurrent x on y.uid_person= x.uid_parameter and \r\ny.UID_Person > ' ' join UNSAccountBHasUNSGroupB2 z on y.uid_UNSAccountB = z.uid_UNSAccountB and z.XOrigin > 0 and z.XIsInEffect = 1  join UNSGroupB2 q \r\non q.uid_UNSGroupB2 = z.uid_UNSGroupB2 where z.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0 union all select 1, 0 , y.uid_person, q.XObjectKey\r\n, dbo.QER_FCVXOriginToInheritInfo(z.XOrigin) from UNSAccountB y join @DBQueueCurrent x on y.uid_person= x.uid_parameter and y.UID_Person > ' ' join UNSAccountBHasUNSGroupB3\r\n z on y.uid_UNSAccountB = z.uid_UNSAccountB and z.XOrigin > 0 and z.XIsInEffect = 1  join UNSGroupB3 q on q.uid_UNSGroupB3 = z.uid_UNSGroupB3 where z.XMarkedForDeletion\r\n & @QBM_BitPatternXMarkedForDel_Delay = 0  if @IncludeTSBPersonUsesAccount = '1' begin insert into @SourceData( IsUpcommingContent, XOriginBefore , Element\r\n, AssignedElement, XOriginAfter ) select 1, 0 , y.uid_person, q.XObjectKey, @QER_BitPattern_Inherit_0 from TSBPersonUsesAccount y join @DBQueueCurrent \r\nx on y.uid_person = x.uid_parameter join UNSAccountB a on y.ObjectKeyAccount = a.XObjectKey join UNSAccountBInUNSGroupB z on a.uid_UNSAccountB = z.uid_UNSAccountB\r\n and z.XOrigin > 0 and z.XIsInEffect = 1  join UNSGroupB q on q.uid_UNSGroupB = z.uid_UNSGroupB where z.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay\r\n = 0 union all select 1, 0 , y.uid_person, q.XObjectKey, @QER_BitPattern_Inherit_0 from TSBPersonUsesAccount y join @DBQueueCurrent x on y.uid_person =\r\n x.uid_parameter join UNSAccountB a on y.ObjectKeyAccount = a.XObjectKey join UNSAccountBInUNSGroupB1 z on a.uid_UNSAccountB = z.uid_UNSAccountB and z.XOrigin\r\n > 0 and z.XIsInEffect = 1  join UNSGroupB1 q on q.uid_UNSGroupB1 = z.uid_UNSGroupB1 where z.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = \r\n0 union all select 1, 0 , y.uid_person, q.XObjectKey, @QER_BitPattern_Inherit_0 from TSBPersonUsesAccount y join @DBQueueCurrent x on y.uid_person = x.uid_parameter\r\n join UNSAccountB a on y.ObjectKeyAccount = a.XObjectKey join UNSAccountBInUNSGroupB2 z on a.uid_UNSAccountB = z.uid_UNSAccountB and z.XOrigin > 0 and \r\nz.XIsInEffect = 1  join UNSGroupB2 q on q.uid_UNSGroupB2 = z.uid_UNSGroupB2 where z.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0 union all\r\n select 1, 0 , y.uid_person, q.XObjectKey, @QER_BitPattern_Inherit_0 from TSBPersonUsesAccount y join @DBQueueCurrent x on y.uid_person = x.uid_parameter\r\n join UNSAccountB a on y.ObjectKeyAccount = a.XObjectKey join UNSAccountBInUNSGroupB3 z on a.uid_UNSAccountB = z.uid_UNSAccountB and z.XOrigin > 0 and \r\nz.XIsInEffect = 1  join UNSGroupB3 q on q.uid_UNSGroupB3 = z.uid_UNSGroupB3 where z.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0  insert\r\n into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , y.uid_person, q.XObjectKey, @QER_BitPattern_Inherit_0\r\n from TSBPersonUsesAccount y join @DBQueueCurrent x on y.uid_person = x.uid_parameter join UNSAccountB a on y.ObjectKeyAccount = a.XObjectKey join UNSAccountBHasUNSGroupB\r\n z on a.uid_UNSAccountB = z.uid_UNSAccountB and z.XOrigin > 0 and z.XIsInEffect = 1  join UNSGroupB q on q.uid_UNSGroupB = z.uid_UNSGroupB where z.XMarkedForDeletion\r\n & @QBM_BitPatternXMarkedForDel_Delay = 0  union all select 1, 0 , y.uid_person, q.XObjectKey, @QER_BitPattern_Inherit_0 from TSBPersonUsesAccount y join\r\n @DBQueueCurrent x on y.uid_person = x.uid_parameter join UNSAccountB a on y.ObjectKeyAccount = a.XObjectKey join UNSAccountBHasUNSGroupB1 z on a.uid_UNSAccountB\r\n = z.uid_UNSAccountB and z.XOrigin > 0 and z.XIsInEffect = 1  join UNSGroupB1 q on q.uid_UNSGroupB1 = z.uid_UNSGroupB1 where z.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay\r\n = 0 union all select 1, 0 , y.uid_person, q.XObjectKey, @QER_BitPattern_Inherit_0 from TSBPersonUsesAccount y join @DBQueueCurrent x on y.uid_person =\r\n x.uid_parameter join UNSAccountB a on y.ObjectKeyAccount = a.XObjectKey join UNSAccountBHasUNSGroupB2 z on a.uid_UNSAccountB = z.uid_UNSAccountB and z.XOrigin\r\n > 0 and z.XIsInEffect = 1  join UNSGroupB2 q on q.uid_UNSGroupB2 = z.uid_UNSGroupB2 where z.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = \r\n0 union all select 1, 0 , y.uid_person, q.XObjectKey, @QER_BitPattern_Inherit_0 from TSBPersonUsesAccount y join @DBQueueCurrent x on y.uid_person = x.uid_parameter\r\n join UNSAccountB a on y.ObjectKeyAccount = a.XObjectKey join UNSAccountBHasUNSGroupB3 z on a.uid_UNSAccountB = z.uid_UNSAccountB and z.XOrigin > 0 and\r\n z.XIsInEffect = 1  join UNSGroupB3 q on q.uid_UNSGroupB3 = z.uid_UNSGroupB3 where z.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0 end  insert\r\n into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , y.uid_person, z.XObjectKey, dbo.QER_FCVXOriginToInheritInfo\r\n(y.XOrigin) from PersonHasTSBAccountDef y join @DBQueueCurrent x on y.uid_person= x.uid_parameter and y.XOrigin > 0 and y.XIsInEffect = 1  join TSBAccountDef\r\n z on y.UID_TSBAccountDef = z.UID_TSBAccountDef where z.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0  insert into @SourceData( IsUpcommingContent\r\n, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , t.Element, t.XObjectKey, @QER_BitPattern_Inherit_0 from ( select  ho.Element, \r\np.XObjectKey from @SourceData ho join UNSGroupB g on ho.AssignedElement = g.XObjectKey  join UNSGroupBCollection co on co.UID_UNSGroupBChild = g.uid_UNSGroupB\r\n join UNSGroupB p on co.UID_UNSGroupBParent = p.UID_UNSGroupB where ho.IsUpcommingContent = 1 and co.UID_UNSGroupBChild <> co.UID_UNSGroupBParent  union\r\n select  ho.Element, p.XObjectKey from @SourceData ho join UNSGroupB1 g on ho.AssignedElement = g.XObjectKey join UNSGroupB1Collection co on co.UID_UNSGroupB1Child\r\n = g.uid_UNSGroupB1 join UNSGroupB1 p on co.UID_UNSGroupB1Parent = p.UID_UNSGroupB1 where ho.IsUpcommingContent = 1 and co.UID_UNSGroupB1Child <> co.UID_UNSGroupB1Parent\r\n union select  ho.Element, p.XObjectKey from @SourceData ho join UNSGroupB2 g on ho.AssignedElement = g.XObjectKey join UNSGroupB2Collection co on co.UID_UNSGroupB2Child\r\n = g.uid_UNSGroupB2 join UNSGroupB2 p on co.UID_UNSGroupB2Parent = p.UID_UNSGroupB2 where ho.IsUpcommingContent = 1 and co.UID_UNSGroupB2Child <> co.UID_UNSGroupB2Parent\r\n union select  ho.Element, p.XObjectKey from @SourceData ho join UNSGroupB3 g on ho.AssignedElement = g.XObjectKey join UNSGroupB3Collection co on co.UID_UNSGroupB3Child\r\n = g.uid_UNSGroupB3 join UNSGroupB3 p on co.UID_UNSGroupB3Parent = p.UID_UNSGroupB3 where ho.IsUpcommingContent = 1 and co.UID_UNSGroupB3Child <> co.UID_UNSGroupB3Parent\r\n ) as t          insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , m.uid_person, pho.objectkey\r\n, @QER_BitPatternInherit_Master from @DBQueueCurrent x join person m on m.UID_Person = x.uid_parameter  join person s on s.UID_PersonMasterIdentity = m.uid_Person\r\n join PersonHasObject pho on pho.uid_person = s.uid_person where pho.ObjectKey like '<Key><T>UNSAccountB</T>%' or pho.ObjectKey like '<Key><T>UNSGroupB</T>%'\r\n or pho.ObjectKey like '<Key><T>UNSGroupB1</T>%' or pho.ObjectKey like '<Key><T>UNSGroupB2</T>%' or pho.ObjectKey like '<Key><T>UNSGroupB3</T>%'   if @IncludeTSBPersonUsesAccount\r\n = '1' begin insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter ) select 1, 0 , m.uid_person, pho.ObjectKey\r\n, @QER_BitPatternInherit_Master from TSBPersonUsesAccount y join @DBQueueCurrent x on y.uid_person = x.uid_parameter join person m on m.UID_Person = y.uid_person\r\n join person s on s.UID_PersonMasterIdentity = m.uid_Person join PersonHasObject pho on pho.uid_person = s.uid_person where pho.ObjectKey like '<Key><T>UNSAccountB</T>%'\r\n or pho.ObjectKey like '<Key><T>UNSGroupB</T>%' or pho.ObjectKey like '<Key><T>UNSGroupB1</T>%' or pho.ObjectKey like '<Key><T>UNSGroupB2</T>%' or pho.ObjectKey\r\n like '<Key><T>UNSGroupB3</T>%' end   berechnen: exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 1, @DeltaDelete = 1, @DeltaInsert = 1, @DeltaOrigin\r\n = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , \r\n@DBQueueCurrentExtern = @DBQueueCurrent exec QER_PPersonHasObjectPostProc @SlotNumber , @CountDeltaOrigin , @CountDeltaQantity , 'TSB-K-PersonHasObject'\r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZPersonHasTSBAccountDef",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:20.94",
      "ModifyDate": "2026-04-14T23:20:46.58",
      "Definition": "     create   procedure TSB_ZPersonHasTSBAccountDef (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , \r\n@CountDeltaOrigin int declare @GenProcID varchar(38) declare @UID_BaseTreeAssignToUse varchar(38) = 'TSB-AsgnBT-TSBAccountDef' declare @DBQueueCurrent \r\nQBM_YDBQueueCurrent declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID\r\n) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount\r\n = 0 begin goto EndLabel end  insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore , XIsInEffectBefore, \r\nXIsInEffectAfter ) select 0, 0 , UID_person, UID_TSBAccountDef, XOrigin , phr.XIsInEffect , 0 from PersonHasTSBAccountDef phr join @DBQueueCurrent x on\r\n phr.UID_Person = x.uid_parameter insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement , XIsInEffectBefore\r\n, XIsInEffectAfter ) select 1, 0, case when pd.UID_TSBAccountDef = pd.UID_TSBAccountDefPredecessor then phr.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv\r\n else @QBM_BitPatternXOrigin_Inherit end as XOriginAfter , phr.UID_person, rv.UID_TSBAccountDef , 0  , dbo.TSB_FGIPersonHasTSBAccountDef ( p.IsInActive\r\n , p.IsTemporaryDeactivated , p.XMarkedForDeletion , r.PFDInheritAccountDef & rv.PFDInheritAccountDef , r.PTDInheritAccountDef & rv.PTDInheritAccountDef\r\n , r.PMDInheritAccountDef & rv.PMDInheritAccountDef , p.IsSecurityIncident , r.PSIInheritAccountDef & rv.PSIInheritAccountDef ) as XIsInEffectAfter from\r\n PersonHasTSBAccountDef phr join @DBQueueCurrent x on UID_person = x.uid_parameter  join person p on phr.uid_person = p.uid_person  join TSBAccountDef \r\nr on phr.uid_TSBAccountDef = r.uid_TSBAccountDef cross apply dbo.TSB_FTTSBAccountDefPredecessor(r.UID_TSBAccountDef) pd join TSBAccountDef rv on pd.UID_TSBAccountDefPredecessor\r\n = rv.UID_TSBAccountDef where phr.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 insert into @SourceData( IsUpcommingContent, XOriginBefore , Element\r\n, AssignedElement, XOriginAfter , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0 , x.UID_person, rv.UID_TSBAccountDef , @QBM_BitPatternXOrigin_Inherit\r\n as XOrigin , 0 , dbo.TSB_FGIPersonHasTSBAccountDef ( p.IsInActive , p.IsTemporaryDeactivated , p.XMarkedForDeletion , r.PFDInheritAccountDef & rv.PFDInheritAccountDef\r\n , r.PTDInheritAccountDef & rv.PTDInheritAccountDef , r.PMDInheritAccountDef & rv.PMDInheritAccountDef , p.IsSecurityIncident , r.PSIInheritAccountDef \r\n& rv.PSIInheritAccountDef ) as XIsInEffectAfter from ( select pha.UID_person, r.UID_TSBAccountDef from @DBQueueCurrent x join PersonHasESet pha on pha.UID_person\r\n = x.uid_parameter and pha.XOrigin > 0 and pha.XIsInEffect = 1  join person px on pha.uid_person = px.uid_person and px.isNoInherite = 0  join ESetHasEntitlement\r\n aha on pha.UID_ESet = aha.UID_ESet and aha.XOrigin > 0 and aha.XIsInEffect = 1 and dbo.QBM_FGIModuleExists('RMS') = 1 Join TSBAccountDef r on aha.Entitlement\r\n = r.XObjectKey union all select pfo.UID_person, oha.UID_TSBAccountDef  from dbo.QER_FTPersonInheritFromOrg_L(@DBQueueCurrent, @UID_BaseTreeAssignToUse\r\n) pfo join BaseTreeHasTSBAccountDef oha on oha.uid_org = pfo.uid_org and oha.XOrigin > 0 and oha.XIsInEffect = 1 ) as x join Person p on x.uid_person =\r\n p.uid_person join TSBAccountDef r on x.uid_TSBAccountDef = r.uid_TSBAccountDef cross apply dbo.TSB_FTTSBAccountDefPredecessor(r.UID_TSBAccountDef) pd \r\njoin TSBAccountDef rv on pd.UID_TSBAccountDefPredecessor = rv.UID_TSBAccountDef  exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete\r\n = 0, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect\r\n = 1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaOrigin > 0 begin exec QBM_PMNTableOriginUpdate 'PersonHasTSBAccountDef'\r\n, 'uid_Person', 'uid_TSBAccountDef' end if @CountDeltaQantity > 0 begin exec QBM_PMNTableInsert 'PersonHasTSBAccountDef', 'uid_Person', 'uid_TSBAccountDef'\r\n, @TargetIsView = 0 , @FKTableNameElement = 'Person' , @FKColumnNameElement = 'UID_Person' end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH  endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZPersonHasUNSGroupB",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.44",
      "ModifyDate": "2026-04-14T23:20:47.35",
      "Definition": "         create   procedure TSB_ZPersonHasUNSGroupB (@SlotNumber int) AS begin BEGIN TRY declare @DBQueueElements_01 QBM_YDBQueueRaw insert into\r\n @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select distinct a.uid_UNSAccountB as uid, p.GenProcID from QBMDBQueueCurrent\r\n p with (readpast) join UNSAccountB a on a.uid_person = p.uid_Parameter and p.SlotNumber = @SlotNumber and a.UID_Person > ' ' join UNSRootB r on a.UID_UNSRootB\r\n = r.UID_UNSRootB and r.GroupUsageMask & 0x01 > 0 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB', @DBQueueElements_01\r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZPersonHasUNSGroupB1",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.677",
      "ModifyDate": "2026-04-14T23:20:47.71",
      "Definition": "         create   procedure TSB_ZPersonHasUNSGroupB1 (@SlotNumber int) AS begin BEGIN TRY declare @DBQueueElements_01 QBM_YDBQueueRaw insert into\r\n @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select distinct a.uid_UNSAccountB as uid, p.GenProcID from QBMDBQueueCurrent\r\n p with (readpast) join UNSAccountB a on a.uid_person = p.uid_Parameter and p.SlotNumber = @SlotNumber and a.UID_Person > ' ' join UNSRootB r on a.UID_UNSRootB\r\n = r.UID_UNSRootB and r.GroupUsageMask & 0x02 > 0 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB1', @DBQueueElements_01\r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZPersonHasUNSGroupB2",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.823",
      "ModifyDate": "2026-04-14T23:20:47.967",
      "Definition": "         create   procedure TSB_ZPersonHasUNSGroupB2 (@SlotNumber int) AS begin BEGIN TRY declare @DBQueueElements_01 QBM_YDBQueueRaw insert into\r\n @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select distinct a.uid_UNSAccountB as uid, p.GenProcID from QBMDBQueueCurrent\r\n p with (readpast) join UNSAccountB a on a.uid_person = p.uid_Parameter and p.SlotNumber = @SlotNumber and a.UID_Person > ' ' join UNSRootB r on a.UID_UNSRootB\r\n = r.UID_UNSRootB and r.GroupUsageMask & 0x04 > 0 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB2', @DBQueueElements_01\r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZPersonHasUNSGroupB3",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.967",
      "ModifyDate": "2026-04-14T23:20:48.23",
      "Definition": "         create   procedure TSB_ZPersonHasUNSGroupB3 (@SlotNumber int) AS begin BEGIN TRY declare @DBQueueElements_01 QBM_YDBQueueRaw insert into\r\n @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, x.GenProcID from ( select distinct a.uid_UNSAccountB as uid, p.GenProcID from QBMDBQueueCurrent\r\n p with (readpast) join UNSAccountB a on a.uid_person = p.uid_Parameter and p.SlotNumber = @SlotNumber and a.UID_Person > ' ' join UNSRootB r on a.UID_UNSRootB\r\n = r.UID_UNSRootB and r.GroupUsageMask & 0x08 > 0 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB3', @DBQueueElements_01\r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZTSBAccountDefFlags",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:20.817",
      "ModifyDate": "2026-04-14T23:20:46.537",
      "Definition": "       create   procedure TSB_ZTSBAccountDefFlags (@SlotNumber int , @uid_TSBAccountDef varchar(38) , @SubObject varchar(38) , @GenProcID varchar\r\n(38) ) AS begin    declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate \r\ndatetime = getutcdate() BEGIN TRY  exec QBM_PSessionContextSet 'GenProcID', @GenProcID  exec QBM_PSessionContextSet 'GenProcID', @GenProcID update TSBAccountDef\r\n set PFDInheritAccountDef = cast(sign(cast(isnull(TSBAccountDef.PFDInheritAccountDef,0) as int) & cast(isnull(v.PFDInheritAccountDef,0) as int)) as bit\r\n)  , XDateUpdated = @Xdate , XUserUpdated = @XUser  from TSBAccountDef , TSBAccountDef v  where TSBAccountDef.UID_TSBAccountDefPredecessor = v.uid_TSBAccountDef\r\n and TSBAccountDef.uid_TSBAccountDef = @uid_TSBAccountDef and cast(sign(cast(isnull(TSBAccountDef.PFDInheritAccountDef,0) as int) & cast(isnull(v.PFDInheritAccountDef\r\n,0) as int)) as bit) <> isnull(TSBAccountDef.PFDInheritAccountDef,0) exec QBM_PSessionContextSet 'GenProcID', @GenProcID update TSBAccountDef set PMDInheritAccountDef\r\n = cast(sign(cast(isnull(TSBAccountDef.PMDInheritAccountDef,0) as int) & cast(isnull(v.PMDInheritAccountDef,0) as int)) as bit)  , XDateUpdated = @Xdate\r\n , XUserUpdated = @XUser  from TSBAccountDef , TSBAccountDef v  where TSBAccountDef.UID_TSBAccountDefPredecessor = v.uid_TSBAccountDef and TSBAccountDef.uid_TSBAccountDef\r\n = @uid_TSBAccountDef and cast(sign(cast(isnull(TSBAccountDef.PMDInheritAccountDef,0) as int) & cast(isnull(v.PMDInheritAccountDef,0) as int)) as bit) \r\n<> isnull(TSBAccountDef.PMDInheritAccountDef,0) exec QBM_PSessionContextSet 'GenProcID', @GenProcID update TSBAccountDef set PTDInheritAccountDef = cast\r\n(sign(cast(isnull(TSBAccountDef.PTDInheritAccountDef,0) as int) & cast(isnull(v.PTDInheritAccountDef,0) as int)) as bit)  , XDateUpdated = @Xdate , XUserUpdated\r\n = @XUser  from TSBAccountDef , TSBAccountDef v  where TSBAccountDef.UID_TSBAccountDefPredecessor = v.uid_TSBAccountDef and TSBAccountDef.uid_TSBAccountDef\r\n = @uid_TSBAccountDef and cast(sign(cast(isnull(TSBAccountDef.PTDInheritAccountDef,0) as int) & cast(isnull(v.PTDInheritAccountDef,0) as int)) as bit) \r\n<> isnull(TSBAccountDef.PTDInheritAccountDef,0) exec QBM_PSessionContextSet 'GenProcID', @GenProcID update TSBAccountDef set PSIInheritAccountDef = cast\r\n(sign(cast(isnull(TSBAccountDef.PSIInheritAccountDef,0) as int) & cast(isnull(v.PSIInheritAccountDef,0) as int)) as bit)  , XDateUpdated = @Xdate , XUserUpdated\r\n = @XUser  from TSBAccountDef , TSBAccountDef v  where TSBAccountDef.UID_TSBAccountDefPredecessor = v.uid_TSBAccountDef and TSBAccountDef.uid_TSBAccountDef\r\n = @uid_TSBAccountDef and cast(sign(cast(isnull(TSBAccountDef.PSIInheritAccountDef,0) as int) & cast(isnull(v.PSIInheritAccountDef,0) as int)) as bit) \r\n<> isnull(TSBAccountDef.PTDInheritAccountDef,0)   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  ende:\r\n exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZUNSAccountBHasUNSItemB",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:20.72",
      "ModifyDate": "2026-04-14T23:20:46.417",
      "Definition": "       create   procedure TSB_ZUNSAccountBHasUNSItemB (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int \r\n, @CountDeltaOrigin int declare @GenProcID varchar(38) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin\r\n('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement\r\n, XOriginBefore , XIsInEffectBefore, XIsInEffectAfter ) select 0, 0 , aig.UID_UNSAccountB, aig.UID_UNSItemB, aig.XOrigin , aig.XIsInEffect, 0 from UNSAccountBHasUNSItemB\r\n aig join @DBQueueCurrent x on UID_UNSAccountB = x.UID_parameter insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement\r\n , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0, aig.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv , aig.UID_UNSAccountB, aig.UID_UNSItemB , aig.XIsInEffect\r\n, case when n.UID_UNSRootB = g.UID_UNSRootB then 1  when ns.IsExtendedInheritance = 0 then 0 when ns.IsExtendedInheritance = 1 and ns.UID_DPRNameSpace \r\n= rg.UID_DPRNameSpace then 1 else 0 end from UNSAccountBHasUNSItemB aig join @DBQueueCurrent x on aig.UID_UNSAccountB = x.UID_parameter  join UNSAccountB\r\n n on aig.UID_UNSAccountB = n.UID_UNSAccountB join UNSItemB g on aig.UID_UNSItemB = g.UID_UNSItemB   join UNSRootB rn on n.UID_UNSRootB = rn.UID_UNSRootB\r\n join DPRNameSpace ns on rn.UID_DPRNameSpace = ns.UID_DPRNameSpace join UNSRootB rg on g.UID_UNSRootB = rg.UID_UNSRootB insert into @SourceData( IsUpcommingContent\r\n, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0 , va.UID_UNSAccountB, t.uid_UnsItemB, @QBM_BitPatternXOrigin_Inherit\r\n , 0, 1 from (  select uig.UID_UNSGroupB, uig.UID_UNSAccountB from UNSAccountBInUNSGroupB uig join @DBQueueCurrent x on uig.UID_UNSAccountB = x.UID_parameter\r\n and uig.XOrigin > 0 and uig.XIsInEffect = 1 union select uig.UID_UNSGroupB, uig.UID_UNSAccountB from UNSAccountBHasUNSGroupB uig join @DBQueueCurrent \r\nx on uig.UID_UNSAccountB = x.UID_parameter and uig.XOrigin > 0 and uig.XIsInEffect = 1 ) as va join UNSGroupBHasUNSItemB t on t.uid_UNSGroupB = va.UID_UNSGroupB\r\n and t.XIsInEffect = 1 and t.XOrigin > 0 and t.XIsInEffect = 1  join UNSAccountB n on va.UID_UNSAccountB = n.UID_UNSAccountB join UNSItemB g on t.UID_UNSItemB\r\n = g.UID_UNSItemB  join UNSRootB rn on n.UID_UNSRootB = rn.UID_UNSRootB join DPRNameSpace ns on rn.UID_DPRNameSpace = ns.UID_DPRNameSpace join UNSRootB\r\n rg on g.UID_UNSRootB = rg.UID_UNSRootB where 1 = case when n.UID_UNSRootB = g.UID_UNSRootB then 1  when ns.IsExtendedInheritance = 0 then 0 when ns.IsExtendedInheritance\r\n = 1 and ns.UID_DPRNameSpace = rg.UID_DPRNameSpace then 1 else 0 end   exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete = \r\n0, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect =\r\n 1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaOrigin > 0 begin exec QBM_PMNTableOriginUpdate 'UNSAccountBHasUNSItemB'\r\n, 'UID_UNSAccountB', 'UID_UNSItemB' end if @CountDeltaQantity > 0 begin exec QBM_PMNTableInsert 'UNSAccountBHasUNSItemB', 'UID_UNSAccountB', 'UID_UNSItemB'\r\n, @TargetIsView = 0 , @FKTableNameElement = 'UNSAccountB' , @FKColumnNameElement = 'UID_UNSAccountB' end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd \r\ndefault RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZUNSAccountBInUNSGroupB",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.477",
      "ModifyDate": "2026-04-14T23:20:47.397",
      "Definition": "     create   procedure TSB_ZUNSAccountBInUNSGroupB (@SlotNumber int) AS begin declare @DBQueueCurrent_A QBM_YDBQueueCurrent declare @Anzahl_Current\r\n int declare @DBQueueCurrent_G QBM_YDBQueueCurrent declare @Anzahl_GroupContainsUserList int declare @DBQueueCurrent_U QBM_YDBQueueCurrent declare @Anzahl_UserContainsGroupList\r\n int = 0 declare @CountDeltaQantity int declare @CountDeltaOrigin int SET XACT_ABORT OFF BEGIN TRY insert into @DBQueueCurrent_A(UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber\r\n = @SlotNumber select @Anzahl_Current = @@ROWCOUNT if @Anzahl_Current = 0 begin goto EndLabel end insert into @DBQueueCurrent_G(UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from @DBQueueCurrent_A cu join UNSAccountB u on cu.UID_Parameter\r\n = u.UID_UNSAccountB join UNSRootB r on u.UID_UNSRootB = r.UID_UNSRootB where r.UserContainsGroupList & 0x01 = 0 and r.GroupUsageMask \r\n& 0x01 > 0 select @Anzahl_GroupContainsUserList = @@rowcount if @Anzahl_GroupContainsUserList < @Anzahl_Current begin  insert into @DBQueueCurrent_U\r\n(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from @DBQueueCurrent_A\r\n cu join UNSAccountB u on cu.UID_Parameter = u.UID_UNSAccountB join UNSRootB r on u.UID_UNSRootB = r.UID_UNSRootB where r.UserContainsGroupList & 0x01\r\n > 0 and r.GroupUsageMask & 0x01 > 0 select @Anzahl_UserContainsGroupList = @@rowcount end  if @Anzahl_GroupContainsUserList > 0 begin\r\n exec TSB_PUNSAccountBInUNSGroupB_K @DBQueueCurrent_G , @Slotnumber , @UserHasGroupList = 0 , @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin\r\n = @CountDeltaOrigin output  if @CountDeltaOrigin > 0 begin exec QBM_PMNTableOriginUpdate 'UNSAccountBInUNSGroupB', 'UID_UNSAccountB', 'UID_UNSGroupB'\r\n end if @CountDeltaQantity > 0 begin exec QBM_PMNTableInsert 'UNSAccountBInUNSGroupB', 'UID_UNSAccountB', 'UID_UNSGroupB', @TargetIsView = 0 , @FKTableNameElement\r\n = 'UNSAccountB' , @FKColumnNameElement = 'UID_UNSAccountB' end end  if @Anzahl_UserContainsGroupList > 0 begin exec TSB_PUNSAccountBInUNSGroupB_K @DBQueueCurrent_U\r\n , @Slotnumber , @UserHasGroupList = 1 , @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output  if @CountDeltaOrigin\r\n > 0 begin exec QBM_PMNTableOriginUpdate 'UNSAccountBHasUNSGroupB', 'UID_UNSAccountB', 'UID_UNSGroupB' end if @CountDeltaQantity > 0 begin exec QBM_PMNTableInsert\r\n 'UNSAccountBHasUNSGroupB', 'UID_UNSAccountB', 'UID_UNSGroupB', @TargetIsView = 0 , @FKTableNameElement = 'UNSGroupB' , @FKColumnNameElement =\r\n 'UID_UNSGroupB' end end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZUNSAccountBInUNSGroupB1",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.703",
      "ModifyDate": "2026-04-14T23:20:47.743",
      "Definition": "     create   procedure TSB_ZUNSAccountBInUNSGroupB1 (@SlotNumber int) AS begin declare @DBQueueCurrent_A QBM_YDBQueueCurrent declare @Anzahl_Current\r\n int declare @DBQueueCurrent_G QBM_YDBQueueCurrent declare @Anzahl_GroupContainsUserList int declare @DBQueueCurrent_U QBM_YDBQueueCurrent declare @Anzahl_UserContainsGroupList\r\n int = 0 declare @CountDeltaQantity int declare @CountDeltaOrigin int SET XACT_ABORT OFF BEGIN TRY insert into @DBQueueCurrent_A(UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber\r\n = @SlotNumber select @Anzahl_Current = @@ROWCOUNT if @Anzahl_Current = 0 begin goto EndLabel end insert into @DBQueueCurrent_G(UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from @DBQueueCurrent_A cu join UNSAccountB u on cu.UID_Parameter\r\n = u.UID_UNSAccountB join UNSRootB r on u.UID_UNSRootB = r.UID_UNSRootB where r.UserContainsGroupList & 0x02 = 0 and r.GroupUsageMask \r\n& 0x02 > 0 select @Anzahl_GroupContainsUserList = @@rowcount if @Anzahl_GroupContainsUserList < @Anzahl_Current begin  insert into @DBQueueCurrent_U\r\n(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from @DBQueueCurrent_A\r\n cu join UNSAccountB u on cu.UID_Parameter = u.UID_UNSAccountB join UNSRootB r on u.UID_UNSRootB = r.UID_UNSRootB where r.UserContainsGroupList & 0x02\r\n > 0 and r.GroupUsageMask & 0x02 > 0 select @Anzahl_UserContainsGroupList = @@rowcount end  if @Anzahl_GroupContainsUserList > 0 begin\r\n exec TSB_PUNSAccountBInUNSGroupB1_K @DBQueueCurrent_G , @Slotnumber , @UserHasGroupList = 0 , @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin\r\n = @CountDeltaOrigin output  if @CountDeltaOrigin > 0 begin exec QBM_PMNTableOriginUpdate 'UNSAccountBInUNSGroupB1', 'UID_UNSAccountB', 'UID_UNSGroupB1'\r\n end if @CountDeltaQantity > 0 begin exec QBM_PMNTableInsert 'UNSAccountBInUNSGroupB1', 'UID_UNSAccountB', 'UID_UNSGroupB1', @TargetIsView = 0 , @FKTableNameElement\r\n = 'UNSAccountB' , @FKColumnNameElement = 'UID_UNSAccountB' end end  if @Anzahl_UserContainsGroupList > 0 begin exec TSB_PUNSAccountBInUNSGroupB1_K @DBQueueCurrent_U\r\n , @Slotnumber , @UserHasGroupList = 1 , @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output  if @CountDeltaOrigin\r\n > 0 begin exec QBM_PMNTableOriginUpdate 'UNSAccountBHasUNSGroupB1', 'UID_UNSAccountB', 'UID_UNSGroupB1' end if @CountDeltaQantity > 0 begin exec QBM_PMNTableInsert\r\n 'UNSAccountBHasUNSGroupB1', 'UID_UNSAccountB', 'UID_UNSGroupB1', @TargetIsView = 0 , @FKTableNameElement = 'UNSGroupB1' , @FKColumnNameElement =\r\n 'UID_UNSGroupB1' end end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZUNSAccountBInUNSGroupB2",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.847",
      "ModifyDate": "2026-04-14T23:20:48.003",
      "Definition": "     create   procedure TSB_ZUNSAccountBInUNSGroupB2 (@SlotNumber int) AS begin declare @DBQueueCurrent_A QBM_YDBQueueCurrent declare @Anzahl_Current\r\n int declare @DBQueueCurrent_G QBM_YDBQueueCurrent declare @Anzahl_GroupContainsUserList int declare @DBQueueCurrent_U QBM_YDBQueueCurrent declare @Anzahl_UserContainsGroupList\r\n int = 0 declare @CountDeltaQantity int declare @CountDeltaOrigin int SET XACT_ABORT OFF BEGIN TRY insert into @DBQueueCurrent_A(UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber\r\n = @SlotNumber select @Anzahl_Current = @@ROWCOUNT if @Anzahl_Current = 0 begin goto EndLabel end insert into @DBQueueCurrent_G(UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from @DBQueueCurrent_A cu join UNSAccountB u on cu.UID_Parameter\r\n = u.UID_UNSAccountB join UNSRootB r on u.UID_UNSRootB = r.UID_UNSRootB where r.UserContainsGroupList & 0x04 = 0 and r.GroupUsageMask \r\n& 0x04 > 0 select @Anzahl_GroupContainsUserList = @@rowcount if @Anzahl_GroupContainsUserList < @Anzahl_Current begin  insert into @DBQueueCurrent_U\r\n(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from @DBQueueCurrent_A\r\n cu join UNSAccountB u on cu.UID_Parameter = u.UID_UNSAccountB join UNSRootB r on u.UID_UNSRootB = r.UID_UNSRootB where r.UserContainsGroupList & 0x04\r\n > 0 and r.GroupUsageMask & 0x04 > 0 select @Anzahl_UserContainsGroupList = @@rowcount end  if @Anzahl_GroupContainsUserList > 0 begin\r\n exec TSB_PUNSAccountBInUNSGroupB2_K @DBQueueCurrent_G , @Slotnumber , @UserHasGroupList = 0 , @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin\r\n = @CountDeltaOrigin output  if @CountDeltaOrigin > 0 begin exec QBM_PMNTableOriginUpdate 'UNSAccountBInUNSGroupB2', 'UID_UNSAccountB', 'UID_UNSGroupB2'\r\n end if @CountDeltaQantity > 0 begin exec QBM_PMNTableInsert 'UNSAccountBInUNSGroupB2', 'UID_UNSAccountB', 'UID_UNSGroupB2', @TargetIsView = 0 , @FKTableNameElement\r\n = 'UNSAccountB' , @FKColumnNameElement = 'UID_UNSAccountB' end end  if @Anzahl_UserContainsGroupList > 0 begin exec TSB_PUNSAccountBInUNSGroupB2_K @DBQueueCurrent_U\r\n , @Slotnumber , @UserHasGroupList = 1 , @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output  if @CountDeltaOrigin\r\n > 0 begin exec QBM_PMNTableOriginUpdate 'UNSAccountBHasUNSGroupB2', 'UID_UNSAccountB', 'UID_UNSGroupB2' end if @CountDeltaQantity > 0 begin exec QBM_PMNTableInsert\r\n 'UNSAccountBHasUNSGroupB2', 'UID_UNSAccountB', 'UID_UNSGroupB2', @TargetIsView = 0 , @FKTableNameElement = 'UNSGroupB2' , @FKColumnNameElement =\r\n 'UID_UNSGroupB2' end end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZUNSAccountBInUNSGroupB3",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.99",
      "ModifyDate": "2026-04-14T23:20:48.267",
      "Definition": "     create   procedure TSB_ZUNSAccountBInUNSGroupB3 (@SlotNumber int) AS begin declare @DBQueueCurrent_A QBM_YDBQueueCurrent declare @Anzahl_Current\r\n int declare @DBQueueCurrent_G QBM_YDBQueueCurrent declare @Anzahl_GroupContainsUserList int declare @DBQueueCurrent_U QBM_YDBQueueCurrent declare @Anzahl_UserContainsGroupList\r\n int = 0 declare @CountDeltaQantity int declare @CountDeltaOrigin int SET XACT_ABORT OFF BEGIN TRY insert into @DBQueueCurrent_A(UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber\r\n = @SlotNumber select @Anzahl_Current = @@ROWCOUNT if @Anzahl_Current = 0 begin goto EndLabel end insert into @DBQueueCurrent_G(UID_DialogDBQueue, UID_Parameter\r\n, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from @DBQueueCurrent_A cu join UNSAccountB u on cu.UID_Parameter\r\n = u.UID_UNSAccountB join UNSRootB r on u.UID_UNSRootB = r.UID_UNSRootB where r.UserContainsGroupList & 0x08 = 0 and r.GroupUsageMask \r\n& 0x08 > 0 select @Anzahl_GroupContainsUserList = @@rowcount if @Anzahl_GroupContainsUserList < @Anzahl_Current begin  insert into @DBQueueCurrent_U\r\n(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from @DBQueueCurrent_A\r\n cu join UNSAccountB u on cu.UID_Parameter = u.UID_UNSAccountB join UNSRootB r on u.UID_UNSRootB = r.UID_UNSRootB where r.UserContainsGroupList & 0x08\r\n > 0 and r.GroupUsageMask & 0x08 > 0 select @Anzahl_UserContainsGroupList = @@rowcount end  if @Anzahl_GroupContainsUserList > 0 begin\r\n exec TSB_PUNSAccountBInUNSGroupB3_K @DBQueueCurrent_G , @Slotnumber , @UserHasGroupList = 0 , @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin\r\n = @CountDeltaOrigin output  if @CountDeltaOrigin > 0 begin exec QBM_PMNTableOriginUpdate 'UNSAccountBInUNSGroupB3', 'UID_UNSAccountB', 'UID_UNSGroupB3'\r\n end if @CountDeltaQantity > 0 begin exec QBM_PMNTableInsert 'UNSAccountBInUNSGroupB3', 'UID_UNSAccountB', 'UID_UNSGroupB3', @TargetIsView = 0 , @FKTableNameElement\r\n = 'UNSAccountB' , @FKColumnNameElement = 'UID_UNSAccountB' end end  if @Anzahl_UserContainsGroupList > 0 begin exec TSB_PUNSAccountBInUNSGroupB3_K @DBQueueCurrent_U\r\n , @Slotnumber , @UserHasGroupList = 1 , @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output  if @CountDeltaOrigin\r\n > 0 begin exec QBM_PMNTableOriginUpdate 'UNSAccountBHasUNSGroupB3', 'UID_UNSAccountB', 'UID_UNSGroupB3' end if @CountDeltaQantity > 0 begin exec QBM_PMNTableInsert\r\n 'UNSAccountBHasUNSGroupB3', 'UID_UNSAccountB', 'UID_UNSGroupB3', @TargetIsView = 0 , @FKTableNameElement = 'UNSGroupB3' , @FKColumnNameElement =\r\n 'UID_UNSGroupB3' end end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZUNSGroupB1InUNSGroupB1",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.72",
      "ModifyDate": "2026-04-14T23:20:47.77",
      "Definition": "      create   procedure TSB_ZUNSGroupB1InUNSGroupB1 (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int\r\n , @CountDeltaOrigin int declare @lauf int declare @GenProcID varchar(38) declare @ElementCount int declare @ElementIndex int declare @ElementLast int \r\ndeclare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement\r\n, XOriginBefore , XIsInEffectBefore, XIsInEffectAfter ) select 0, 0 , UID_UNSGroupB1Parent, UID_UNSGroupB1Child, Levelnumber + 1  , 1,1 from UNSGroupB1Collection\r\n join @DBQueueCurrent x on UID_UNSGroupB1Parent = x.uid_parameter  declare @QBMDeltaHelper_01 QBM_YDBQueueDeltaHelper insert into @QBMDeltaHelper_01(Element\r\n, AssignedElement, XOrigin) select uid_parameter, uid_parameter, 1  from @DBQueueCurrent p  select @lauf = 1 while @lauf > 0 begin  insert into @QBMDeltaHelper_01\r\n (Element, AssignedElement, XOrigin) select distinct a.Element, gig.uid_UNSGroupB1Child, a.XOrigin +1 from @QBMDeltaHelper_01 a join UNSGroupB1InUNSGroupB1\r\n gig on a.AssignedElement = gig.uid_UNSGroupB1Parent where Not exists (select top 1 1 from @QBMDeltaHelper_01 e where e.Element = a.Element and e.AssignedElement\r\n = gig.uid_UNSGroupB1Child ) select @lauf = @@rowcount end insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement\r\n , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0, p.XOrigin , p.Element, p.AssignedElement , 1 , 1 from @QBMDeltaHelper_01 p exec QBM_PDBQueueCalculateDelta\r\n @SourceData, @DeltaQuantity = 0, @DeltaDelete = 1, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin\r\n = @CountDeltaOrigin output , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaQantity > 0 begin \r\ndeclare @GenProcIDs_CountDeltaQantity QBM_YCursorBuffer insert into @GenProcIDs_CountDeltaQantity (UID1) select de.GenProcID from #QBMDeltaDelete de union\r\n select de.GenProcID from #QBMDeltaInsert de select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast\r\n = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @GenProcID = bu.UID1 from @GenProcIDs_CountDeltaQantity bu where bu.ElementIndex =\r\n @ElementIndex if exists (select top 1 1 from #QBMDeltaDelete x where x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID\r\n delete UNSGroupB1Collection where exists (select top 1 1 from #QBMDeltaDelete d where d.AssignedElement = UNSGroupB1Collection.uid_UNSGroupB1Child\r\n and d.Element = UNSGroupB1Collection.uid_UNSGroupB1Parent and d.GenProcID = @GenProcID ) end  if exists (select top 1 1 from #QBMDeltaInsert x where\r\n x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID insert into UNSGroupB1Collection ( UID_UNSGroupB1Parent, UID_UNSGroupB1Child\r\n, LevelNumber , XObjectKey ) select x.uid_UNSGroupB1Parent, x.uid_UNSGroupB1Child, x.LevelNumber - 1  ,dbo.QBM_FCVElementToObjectKey2('UNSGroupB1Collection'\r\n, 'UID_UNSGroupB1Parent', x.UID_UNSGroupB1Parent, 'UID_UNSGroupB1Child', x.UID_UNSGroupB1Child) from ( select Element as uid_UNSGroupB1Parent\r\n, AssignedElement as uid_UNSGroupB1Child, XOrigin as LevelNumber from #QBMDeltaInsert where GenProcID = @GenProcID ) as x join UNSGroupB1 p on p.uid_UNSGroupB1\r\n = x.uid_UNSGroupB1Parent end  exec QBM_PDBQueueInsert_Single 'TSB-K-UNSGroupB1InUNSGroupB1-C', '', '', @GenProcID select @ElementIndex += 1 end \r\n end  if @CountDeltaOrigin > 0 begin declare @GenProcIDs_CountDeltaOrigin QBM_YCursorBuffer insert into @GenProcIDs_CountDeltaOrigin (UID1) select distinct\r\n de.GenProcID from #QBMDeltaOrigin de select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY\r\n while @ElementIndex <= @ElementLast begin select top 1 @GenProcID = bu.UID1 from @GenProcIDs_CountDeltaOrigin bu where bu.ElementIndex = @ElementIndex\r\n exec QBM_PSessionContextSet 'GenProcID', @GenProcID update UNSGroupB1Collection set Levelnumber = x.LevelNumber - 1 from UNSGroupB1Collection co join\r\n ( select Element as uid_UNSGroupB1Parent, AssignedElement as uid_UNSGroupB1Child, XOrigin as LevelNumber from #QBMDeltaOrigin where GenProcID = @GenProcID\r\n ) as x on co.uid_UNSGroupB1Parent = x.uid_UNSGroupB1Parent and co.UID_UNSGroupB1Child = x.UID_UNSGroupB1Child where co.LevelNumber <> x.Levelnumber\r\n -1  select @ElementIndex += 1 end  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: exec\r\n QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZUNSGroupB1InUNSGroupB1_C",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.723",
      "ModifyDate": "2026-04-14T23:20:47.78",
      "Definition": "         create   procedure TSB_ZUNSGroupB1InUNSGroupB1_C ( @SlotNumberDummy int , @dummy1 varchar(38) , @Dummy2 varchar(38) , @GenProcIDDummy\r\n varchar(38) ) as begin  BEGIN TRY update UNSGroupB1Collection set IsCircular = 1 from UNSGroupB1Collection co where co.UID_UNSGroupB1Child <> co.UID_UNSGroupB1Parent\r\n and exists (select top 1 1 from UNSGroupB1Collection ce where co.UID_UNSGroupB1Child = ce.UID_UNSGroupB1Parent and co.UID_UNSGroupB1Parent = ce.UID_UNSGroupB1Child\r\n ) and IsCircular = 0  update UNSGroupB1Collection set IsCircular = 0 from UNSGroupB1Collection co where co.UID_UNSGroupB1Child <> co.UID_UNSGroupB1Parent\r\n and not exists (select top 1 1 from UNSGroupB1Collection ce where co.UID_UNSGroupB1Child = ce.UID_UNSGroupB1Parent and co.UID_UNSGroupB1Parent\r\n = ce.UID_UNSGroupB1Child ) and IsCircular = 1  update UNSGroupB1Collection set IsCircular = 1 from UNSGroupB1Collection co where co.UID_UNSGroupB1Child\r\n = co.UID_UNSGroupB1Parent and exists (select top 1 1 from UNSGroupB1Collection ce where co.UID_UNSGroupB1Parent = ce.UID_UNSGroupB1Parent and \r\nce.UID_UNSGroupB1Child <> ce.UID_UNSGroupB1Parent and IsCircular = 1 ) and IsCircular = 0 update UNSGroupB1Collection set IsCircular = 0 from UNSGroupB1Collection\r\n co where co.UID_UNSGroupB1Child = co.UID_UNSGroupB1Parent and not exists (select top 1 1 from UNSGroupB1Collection ce where co.UID_UNSGroupB1Parent\r\n = ce.UID_UNSGroupB1Parent and ce.UID_UNSGroupB1Child <> ce.UID_UNSGroupB1Parent and IsCircular = 1 ) and IsCircular = 1 update UNSGroupB1Collection\r\n set IsCircular = x.IsCircular from UNSGroupB1Collection co join (select y.UID_UNSGroupB1Child, y.IsCircular from UNSGroupB1Collection y where y.UID_UNSGroupB1Child\r\n = y.UID_UNSGroupB1Parent ) as x on x.UID_UNSGroupB1Child = co.UID_UNSGroupB1Child where co.IsCircular <> x.IsCircular  END TRY BEGIN CATCH exec \r\nQBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZUNSGroupB2InUNSGroupB2",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.863",
      "ModifyDate": "2026-04-14T23:20:48.03",
      "Definition": "      create   procedure TSB_ZUNSGroupB2InUNSGroupB2 (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int\r\n , @CountDeltaOrigin int declare @lauf int declare @GenProcID varchar(38) declare @ElementCount int declare @ElementIndex int declare @ElementLast int \r\ndeclare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement\r\n, XOriginBefore , XIsInEffectBefore, XIsInEffectAfter ) select 0, 0 , UID_UNSGroupB2Parent, UID_UNSGroupB2Child, Levelnumber + 1  , 1,1 from UNSGroupB2Collection\r\n join @DBQueueCurrent x on UID_UNSGroupB2Parent = x.uid_parameter  declare @QBMDeltaHelper_01 QBM_YDBQueueDeltaHelper insert into @QBMDeltaHelper_01(Element\r\n, AssignedElement, XOrigin) select uid_parameter, uid_parameter, 1  from @DBQueueCurrent p  select @lauf = 1 while @lauf > 0 begin  insert into @QBMDeltaHelper_01\r\n (Element, AssignedElement, XOrigin) select distinct a.Element, gig.uid_UNSGroupB2Child, a.XOrigin +1 from @QBMDeltaHelper_01 a join UNSGroupB2InUNSGroupB2\r\n gig on a.AssignedElement = gig.uid_UNSGroupB2Parent where Not exists (select top 1 1 from @QBMDeltaHelper_01 e where e.Element = a.Element and e.AssignedElement\r\n = gig.uid_UNSGroupB2Child ) select @lauf = @@rowcount end insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement\r\n , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0, p.XOrigin , p.Element, p.AssignedElement , 1 , 1 from @QBMDeltaHelper_01 p exec QBM_PDBQueueCalculateDelta\r\n @SourceData, @DeltaQuantity = 0, @DeltaDelete = 1, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin\r\n = @CountDeltaOrigin output , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaQantity > 0 begin \r\ndeclare @GenProcIDs_CountDeltaQantity QBM_YCursorBuffer insert into @GenProcIDs_CountDeltaQantity (UID1) select de.GenProcID from #QBMDeltaDelete de union\r\n select de.GenProcID from #QBMDeltaInsert de select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast\r\n = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @GenProcID = bu.UID1 from @GenProcIDs_CountDeltaQantity bu where bu.ElementIndex =\r\n @ElementIndex if exists (select top 1 1 from #QBMDeltaDelete x where x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID\r\n delete UNSGroupB2Collection where exists (select top 1 1 from #QBMDeltaDelete d where d.AssignedElement = UNSGroupB2Collection.uid_UNSGroupB2Child\r\n and d.Element = UNSGroupB2Collection.uid_UNSGroupB2Parent and d.GenProcID = @GenProcID ) end  if exists (select top 1 1 from #QBMDeltaInsert x where\r\n x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID insert into UNSGroupB2Collection ( UID_UNSGroupB2Parent, UID_UNSGroupB2Child\r\n, LevelNumber , XObjectKey ) select x.uid_UNSGroupB2Parent, x.uid_UNSGroupB2Child, x.LevelNumber - 1  ,dbo.QBM_FCVElementToObjectKey2('UNSGroupB2Collection'\r\n, 'UID_UNSGroupB2Parent', x.UID_UNSGroupB2Parent, 'UID_UNSGroupB2Child', x.UID_UNSGroupB2Child) from ( select Element as uid_UNSGroupB2Parent\r\n, AssignedElement as uid_UNSGroupB2Child, XOrigin as LevelNumber from #QBMDeltaInsert where GenProcID = @GenProcID ) as x join UNSGroupB2 p on p.uid_UNSGroupB2\r\n = x.uid_UNSGroupB2Parent end  exec QBM_PDBQueueInsert_Single 'TSB-K-UNSGroupB2InUNSGroupB2-C', '', '', @GenProcID select @ElementIndex += 1 end \r\n end  if @CountDeltaOrigin > 0 begin declare @GenProcIDs_CountDeltaOrigin QBM_YCursorBuffer insert into @GenProcIDs_CountDeltaOrigin (UID1) select distinct\r\n de.GenProcID from #QBMDeltaOrigin de select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY\r\n while @ElementIndex <= @ElementLast begin select top 1 @GenProcID = bu.UID1 from @GenProcIDs_CountDeltaOrigin bu where bu.ElementIndex = @ElementIndex\r\n exec QBM_PSessionContextSet 'GenProcID', @GenProcID update UNSGroupB2Collection set Levelnumber = x.LevelNumber - 1 from UNSGroupB2Collection co join\r\n ( select Element as uid_UNSGroupB2Parent, AssignedElement as uid_UNSGroupB2Child, XOrigin as LevelNumber from #QBMDeltaOrigin where GenProcID = @GenProcID\r\n ) as x on co.uid_UNSGroupB2Parent = x.uid_UNSGroupB2Parent and co.UID_UNSGroupB2Child = x.UID_UNSGroupB2Child where co.LevelNumber <> x.Levelnumber\r\n -1  select @ElementIndex += 1 end  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: exec\r\n QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZUNSGroupB2InUNSGroupB2_C",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.87",
      "ModifyDate": "2026-04-14T23:20:48.04",
      "Definition": "         create   procedure TSB_ZUNSGroupB2InUNSGroupB2_C ( @SlotNumberDummy int , @dummy1 varchar(38) , @Dummy2 varchar(38) , @GenProcIDDummy\r\n varchar(38) ) as begin  BEGIN TRY update UNSGroupB2Collection set IsCircular = 1 from UNSGroupB2Collection co where co.UID_UNSGroupB2Child <> co.UID_UNSGroupB2Parent\r\n and exists (select top 1 1 from UNSGroupB2Collection ce where co.UID_UNSGroupB2Child = ce.UID_UNSGroupB2Parent and co.UID_UNSGroupB2Parent = ce.UID_UNSGroupB2Child\r\n ) and IsCircular = 0  update UNSGroupB2Collection set IsCircular = 0 from UNSGroupB2Collection co where co.UID_UNSGroupB2Child <> co.UID_UNSGroupB2Parent\r\n and not exists (select top 1 1 from UNSGroupB2Collection ce where co.UID_UNSGroupB2Child = ce.UID_UNSGroupB2Parent and co.UID_UNSGroupB2Parent\r\n = ce.UID_UNSGroupB2Child ) and IsCircular = 1  update UNSGroupB2Collection set IsCircular = 1 from UNSGroupB2Collection co where co.UID_UNSGroupB2Child\r\n = co.UID_UNSGroupB2Parent and exists (select top 1 1 from UNSGroupB2Collection ce where co.UID_UNSGroupB2Parent = ce.UID_UNSGroupB2Parent and \r\nce.UID_UNSGroupB2Child <> ce.UID_UNSGroupB2Parent and IsCircular = 1 ) and IsCircular = 0 update UNSGroupB2Collection set IsCircular = 0 from UNSGroupB2Collection\r\n co where co.UID_UNSGroupB2Child = co.UID_UNSGroupB2Parent and not exists (select top 1 1 from UNSGroupB2Collection ce where co.UID_UNSGroupB2Parent\r\n = ce.UID_UNSGroupB2Parent and ce.UID_UNSGroupB2Child <> ce.UID_UNSGroupB2Parent and IsCircular = 1 ) and IsCircular = 1 update UNSGroupB2Collection\r\n set IsCircular = x.IsCircular from UNSGroupB2Collection co join (select y.UID_UNSGroupB2Child, y.IsCircular from UNSGroupB2Collection y where y.UID_UNSGroupB2Child\r\n = y.UID_UNSGroupB2Parent ) as x on x.UID_UNSGroupB2Child = co.UID_UNSGroupB2Child where co.IsCircular <> x.IsCircular  END TRY BEGIN CATCH exec \r\nQBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZUNSGroupB3InUNSGroupB3",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:22.007",
      "ModifyDate": "2026-04-14T23:20:48.293",
      "Definition": "      create   procedure TSB_ZUNSGroupB3InUNSGroupB3 (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int\r\n , @CountDeltaOrigin int declare @lauf int declare @GenProcID varchar(38) declare @ElementCount int declare @ElementIndex int declare @ElementLast int \r\ndeclare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement\r\n, XOriginBefore , XIsInEffectBefore, XIsInEffectAfter ) select 0, 0 , UID_UNSGroupB3Parent, UID_UNSGroupB3Child, Levelnumber + 1  , 1,1 from UNSGroupB3Collection\r\n join @DBQueueCurrent x on UID_UNSGroupB3Parent = x.uid_parameter  declare @QBMDeltaHelper_01 QBM_YDBQueueDeltaHelper insert into @QBMDeltaHelper_01(Element\r\n, AssignedElement, XOrigin) select uid_parameter, uid_parameter, 1  from @DBQueueCurrent p  select @lauf = 1 while @lauf > 0 begin  insert into @QBMDeltaHelper_01\r\n (Element, AssignedElement, XOrigin) select distinct a.Element, gig.uid_UNSGroupB3Child, a.XOrigin +1 from @QBMDeltaHelper_01 a join UNSGroupB3InUNSGroupB3\r\n gig on a.AssignedElement = gig.uid_UNSGroupB3Parent where Not exists (select top 1 1 from @QBMDeltaHelper_01 e where e.Element = a.Element and e.AssignedElement\r\n = gig.uid_UNSGroupB3Child ) select @lauf = @@rowcount end insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement\r\n , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0, p.XOrigin , p.Element, p.AssignedElement , 1 , 1 from @QBMDeltaHelper_01 p exec QBM_PDBQueueCalculateDelta\r\n @SourceData, @DeltaQuantity = 0, @DeltaDelete = 1, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin\r\n = @CountDeltaOrigin output , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaQantity > 0 begin \r\ndeclare @GenProcIDs_CountDeltaQantity QBM_YCursorBuffer insert into @GenProcIDs_CountDeltaQantity (UID1) select de.GenProcID from #QBMDeltaDelete de union\r\n select de.GenProcID from #QBMDeltaInsert de select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast\r\n = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @GenProcID = bu.UID1 from @GenProcIDs_CountDeltaQantity bu where bu.ElementIndex =\r\n @ElementIndex if exists (select top 1 1 from #QBMDeltaDelete x where x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID\r\n delete UNSGroupB3Collection where exists (select top 1 1 from #QBMDeltaDelete d where d.AssignedElement = UNSGroupB3Collection.uid_UNSGroupB3Child\r\n and d.Element = UNSGroupB3Collection.uid_UNSGroupB3Parent and d.GenProcID = @GenProcID ) end  if exists (select top 1 1 from #QBMDeltaInsert x where\r\n x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID insert into UNSGroupB3Collection ( UID_UNSGroupB3Parent, UID_UNSGroupB3Child\r\n, LevelNumber , XObjectKey ) select x.uid_UNSGroupB3Parent, x.uid_UNSGroupB3Child, x.LevelNumber - 1  ,dbo.QBM_FCVElementToObjectKey2('UNSGroupB3Collection'\r\n, 'UID_UNSGroupB3Parent', x.UID_UNSGroupB3Parent, 'UID_UNSGroupB3Child', x.UID_UNSGroupB3Child) from ( select Element as uid_UNSGroupB3Parent\r\n, AssignedElement as uid_UNSGroupB3Child, XOrigin as LevelNumber from #QBMDeltaInsert where GenProcID = @GenProcID ) as x join UNSGroupB3 p on p.uid_UNSGroupB3\r\n = x.uid_UNSGroupB3Parent end  exec QBM_PDBQueueInsert_Single 'TSB-K-UNSGroupB3InUNSGroupB3-C', '', '', @GenProcID select @ElementIndex += 1 end \r\n end  if @CountDeltaOrigin > 0 begin declare @GenProcIDs_CountDeltaOrigin QBM_YCursorBuffer insert into @GenProcIDs_CountDeltaOrigin (UID1) select distinct\r\n de.GenProcID from #QBMDeltaOrigin de select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY\r\n while @ElementIndex <= @ElementLast begin select top 1 @GenProcID = bu.UID1 from @GenProcIDs_CountDeltaOrigin bu where bu.ElementIndex = @ElementIndex\r\n exec QBM_PSessionContextSet 'GenProcID', @GenProcID update UNSGroupB3Collection set Levelnumber = x.LevelNumber - 1 from UNSGroupB3Collection co join\r\n ( select Element as uid_UNSGroupB3Parent, AssignedElement as uid_UNSGroupB3Child, XOrigin as LevelNumber from #QBMDeltaOrigin where GenProcID = @GenProcID\r\n ) as x on co.uid_UNSGroupB3Parent = x.uid_UNSGroupB3Parent and co.UID_UNSGroupB3Child = x.UID_UNSGroupB3Child where co.LevelNumber <> x.Levelnumber\r\n -1  select @ElementIndex += 1 end  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: exec\r\n QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZUNSGroupB3InUNSGroupB3_C",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:22.013",
      "ModifyDate": "2026-04-14T23:20:48.303",
      "Definition": "         create   procedure TSB_ZUNSGroupB3InUNSGroupB3_C ( @SlotNumberDummy int , @dummy1 varchar(38) , @Dummy2 varchar(38) , @GenProcIDDummy\r\n varchar(38) ) as begin  BEGIN TRY update UNSGroupB3Collection set IsCircular = 1 from UNSGroupB3Collection co where co.UID_UNSGroupB3Child <> co.UID_UNSGroupB3Parent\r\n and exists (select top 1 1 from UNSGroupB3Collection ce where co.UID_UNSGroupB3Child = ce.UID_UNSGroupB3Parent and co.UID_UNSGroupB3Parent = ce.UID_UNSGroupB3Child\r\n ) and IsCircular = 0  update UNSGroupB3Collection set IsCircular = 0 from UNSGroupB3Collection co where co.UID_UNSGroupB3Child <> co.UID_UNSGroupB3Parent\r\n and not exists (select top 1 1 from UNSGroupB3Collection ce where co.UID_UNSGroupB3Child = ce.UID_UNSGroupB3Parent and co.UID_UNSGroupB3Parent\r\n = ce.UID_UNSGroupB3Child ) and IsCircular = 1  update UNSGroupB3Collection set IsCircular = 1 from UNSGroupB3Collection co where co.UID_UNSGroupB3Child\r\n = co.UID_UNSGroupB3Parent and exists (select top 1 1 from UNSGroupB3Collection ce where co.UID_UNSGroupB3Parent = ce.UID_UNSGroupB3Parent and \r\nce.UID_UNSGroupB3Child <> ce.UID_UNSGroupB3Parent and IsCircular = 1 ) and IsCircular = 0 update UNSGroupB3Collection set IsCircular = 0 from UNSGroupB3Collection\r\n co where co.UID_UNSGroupB3Child = co.UID_UNSGroupB3Parent and not exists (select top 1 1 from UNSGroupB3Collection ce where co.UID_UNSGroupB3Parent\r\n = ce.UID_UNSGroupB3Parent and ce.UID_UNSGroupB3Child <> ce.UID_UNSGroupB3Parent and IsCircular = 1 ) and IsCircular = 1 update UNSGroupB3Collection\r\n set IsCircular = x.IsCircular from UNSGroupB3Collection co join (select y.UID_UNSGroupB3Child, y.IsCircular from UNSGroupB3Collection y where y.UID_UNSGroupB3Child\r\n = y.UID_UNSGroupB3Parent ) as x on x.UID_UNSGroupB3Child = co.UID_UNSGroupB3Child where co.IsCircular <> x.IsCircular  END TRY BEGIN CATCH exec \r\nQBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZUNSGroupBHasUNSItemB",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:20.737",
      "ModifyDate": "2026-04-14T23:20:46.447",
      "Definition": "     create   procedure TSB_ZUNSGroupBHasUNSItemB (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin\r\n int declare @GenProcID varchar(38) declare @UID_UNSRootB varchar(38) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @QBM_BitPatternXOrigin_Inherit\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter\r\n, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end  insert into @SourceData\r\n( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore , XIsInEffectBefore, XIsInEffectAfter ) select 0, 0 , aig.UID_UNSGroupB, aig.UID_UNSItemB\r\n, aig.XOrigin , aig.XIsInEffect, 0 from UNSGroupBHasUNSItemB aig join @DBQueueCurrent x on UID_UNSGroupB = x.UID_parameter insert into @SourceData( IsUpcommingContent\r\n, XOriginBefore, XOriginAfter , Element, AssignedElement , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0, aig.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv\r\n , aig.UID_UNSGroupB, aig.UID_UNSItemB  , aig.XIsInEffect, case when n.UID_UNSRootB = g.UID_UNSRootB then 1  when ns.IsExtendedInheritance = 0 then 0 when\r\n ns.IsExtendedInheritance = 1 and ns.UID_DPRNameSpace = rg.UID_DPRNameSpace then 1 else 0 end from UNSGroupBHasUNSItemB aig join @DBQueueCurrent x on aig.UID_UNSGroupB\r\n = x.UID_parameter join UNSGroupB n on aig.UID_UNSGroupB = n.UID_UNSGroupB join UNSItemB g on aig.UID_UNSItemB = g.UID_UNSItemB  join UNSRootB rn on n.UID_UNSRootB\r\n = rn.UID_UNSRootB join DPRNameSpace ns on rn.UID_DPRNameSpace = ns.UID_DPRNameSpace join UNSRootB rg on g.UID_UNSRootB = rg.UID_UNSRootB insert into @SourceData\r\n( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0 , gig.uid_UNSGroupBChild\r\n, t.uid_UnsItemB, @QBM_BitPatternXOrigin_Inherit , 0, 1 from UNSGroupBInUNSGroupB gig join @DBQueueCurrent x on gig.UID_UNSGroupBChild = x.UID_parameter\r\n  and gig.UID_UNSGroupBChild <> gig.UID_UNSGroupBParent join UNSGroupBHasUNSItemB t on t.uid_UNsGroupB = gig.uid_UNSGroupBParent and XIsInEffect = 1  join\r\n UNSGroupB n on t.UID_UNSGroupB = n.UID_UNSGroupB join UNSItemB g on t.UID_UNSItemB = g.UID_UNSItemB  join UNSRootB rn on n.UID_UNSRootB = rn.UID_UNSRootB\r\n join DPRNameSpace ns on rn.UID_DPRNameSpace = ns.UID_DPRNameSpace join UNSRootB rg on g.UID_UNSRootB = rg.UID_UNSRootB where 1 = case when n.UID_UNSRootB\r\n = g.UID_UNSRootB then 1  when ns.IsExtendedInheritance = 0 then 0 when ns.IsExtendedInheritance = 1 and ns.UID_DPRNameSpace = rg.UID_DPRNameSpace then\r\n 1 else 0 end  exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete = 0, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity\r\n = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = \r\n@DBQueueCurrent if @CountDeltaOrigin > 0 begin exec QBM_PMNTableOriginUpdate 'UNSGroupBHasUNSItemB', 'UID_UNSGroupB', 'UID_UNSItemB' end if @CountDeltaQantity\r\n > 0 begin exec QBM_PMNTableInsert 'UNSGroupBHasUNSItemB', 'UID_UNSGroupB', 'UID_UNSItemB', @TargetIsView = 0 , @FKTableNameElement = 'UNSGroupB' , @FKColumnNameElement\r\n = 'UID_UNSGroupB' end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZUNSGroupBInUNSGroupB",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.5",
      "ModifyDate": "2026-04-14T23:20:47.43",
      "Definition": "      create   procedure TSB_ZUNSGroupBInUNSGroupB (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int\r\n , @CountDeltaOrigin int declare @lauf int declare @GenProcID varchar(38) declare @ElementCount int declare @ElementIndex int declare @ElementLast int \r\ndeclare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @DBQueueCurrent QBM_YDBQueueCurrent BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue\r\n, UID_Parameter, UID_SubParameter, GenProcID) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast\r\n) where cu.SlotNumber = @SlotNumber if @@rowcount = 0 begin goto EndLabel end insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement\r\n, XOriginBefore , XIsInEffectBefore, XIsInEffectAfter ) select 0, 0 , UID_UNSGroupBParent, UID_UNSGroupBChild, Levelnumber + 1  , 1,1 from UNSGroupBCollection\r\n join @DBQueueCurrent x on UID_UNSGroupBParent = x.uid_parameter  declare @QBMDeltaHelper_01 QBM_YDBQueueDeltaHelper insert into @QBMDeltaHelper_01(Element\r\n, AssignedElement, XOrigin) select uid_parameter, uid_parameter, 1  from @DBQueueCurrent p  select @lauf = 1 while @lauf > 0 begin  insert into @QBMDeltaHelper_01\r\n (Element, AssignedElement, XOrigin) select distinct a.Element, gig.uid_UNSGroupBChild, a.XOrigin +1 from @QBMDeltaHelper_01 a join UNSGroupBInUNSGroupB\r\n gig on a.AssignedElement = gig.uid_UNSGroupBParent where Not exists (select top 1 1 from @QBMDeltaHelper_01 e where e.Element = a.Element and e.AssignedElement\r\n = gig.uid_UNSGroupBChild ) select @lauf = @@rowcount end insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement\r\n , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0, p.XOrigin , p.Element, p.AssignedElement , 1 , 1 from @QBMDeltaHelper_01 p exec QBM_PDBQueueCalculateDelta\r\n @SourceData, @DeltaQuantity = 0, @DeltaDelete = 1, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin\r\n = @CountDeltaOrigin output , @UseIsInEffect = 0 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaQantity > 0 begin \r\ndeclare @GenProcIDs_CountDeltaQantity QBM_YCursorBuffer insert into @GenProcIDs_CountDeltaQantity (UID1) select de.GenProcID from #QBMDeltaDelete de union\r\n select de.GenProcID from #QBMDeltaInsert de select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast\r\n = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @GenProcID = bu.UID1 from @GenProcIDs_CountDeltaQantity bu where bu.ElementIndex =\r\n @ElementIndex if exists (select top 1 1 from #QBMDeltaDelete x where x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID\r\n delete UNSGroupBCollection where exists (select top 1 1 from #QBMDeltaDelete d where d.AssignedElement = UNSGroupBCollection.uid_UNSGroupBChild\r\n and d.Element = UNSGroupBCollection.uid_UNSGroupBParent and d.GenProcID = @GenProcID ) end  if exists (select top 1 1 from #QBMDeltaInsert x where\r\n x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID insert into UNSGroupBCollection ( UID_UNSGroupBParent, UID_UNSGroupBChild\r\n, LevelNumber , XObjectKey ) select x.uid_UNSGroupBParent, x.uid_UNSGroupBChild, x.LevelNumber - 1  ,dbo.QBM_FCVElementToObjectKey2('UNSGroupBCollection'\r\n, 'UID_UNSGroupBParent', x.UID_UNSGroupBParent, 'UID_UNSGroupBChild', x.UID_UNSGroupBChild) from ( select Element as uid_UNSGroupBParent\r\n, AssignedElement as uid_UNSGroupBChild, XOrigin as LevelNumber from #QBMDeltaInsert where GenProcID = @GenProcID ) as x join UNSGroupB p on p.uid_UNSGroupB\r\n = x.uid_UNSGroupBParent end  exec QBM_PDBQueueInsert_Single 'TSB-K-UNSGroupBInUNSGroupB-C', '', '', @GenProcID select @ElementIndex += 1 end \r\n end  if @CountDeltaOrigin > 0 begin declare @GenProcIDs_CountDeltaOrigin QBM_YCursorBuffer insert into @GenProcIDs_CountDeltaOrigin (UID1) select distinct\r\n de.GenProcID from #QBMDeltaOrigin de select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY\r\n while @ElementIndex <= @ElementLast begin select top 1 @GenProcID = bu.UID1 from @GenProcIDs_CountDeltaOrigin bu where bu.ElementIndex = @ElementIndex\r\n exec QBM_PSessionContextSet 'GenProcID', @GenProcID update UNSGroupBCollection set Levelnumber = x.LevelNumber - 1 from UNSGroupBCollection co join\r\n ( select Element as uid_UNSGroupBParent, AssignedElement as uid_UNSGroupBChild, XOrigin as LevelNumber from #QBMDeltaOrigin where GenProcID = @GenProcID\r\n ) as x on co.uid_UNSGroupBParent = x.uid_UNSGroupBParent and co.UID_UNSGroupBChild = x.UID_UNSGroupBChild where co.LevelNumber <> x.Levelnumber\r\n -1  select @ElementIndex += 1 end  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  endLabel: exec\r\n QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_ZUNSGroupBInUNSGroupB_C",
      "ObjectType": "P ",
      "ObjectTypeDesc": "SQL_STORED_PROCEDURE",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T18:01:21.513",
      "ModifyDate": "2026-04-14T23:20:47.45",
      "Definition": "         create   procedure TSB_ZUNSGroupBInUNSGroupB_C ( @SlotNumberDummy int , @dummy1 varchar(38) , @Dummy2 varchar(38) , @GenProcIDDummy\r\n varchar(38) ) as begin  BEGIN TRY update UNSGroupBCollection set IsCircular = 1 from UNSGroupBCollection co where co.UID_UNSGroupBChild <> co.UID_UNSGroupBParent\r\n and exists (select top 1 1 from UNSGroupBCollection ce where co.UID_UNSGroupBChild = ce.UID_UNSGroupBParent and co.UID_UNSGroupBParent = ce.UID_UNSGroupBChild\r\n ) and IsCircular = 0  update UNSGroupBCollection set IsCircular = 0 from UNSGroupBCollection co where co.UID_UNSGroupBChild <> co.UID_UNSGroupBParent\r\n and not exists (select top 1 1 from UNSGroupBCollection ce where co.UID_UNSGroupBChild = ce.UID_UNSGroupBParent and co.UID_UNSGroupBParent\r\n = ce.UID_UNSGroupBChild ) and IsCircular = 1  update UNSGroupBCollection set IsCircular = 1 from UNSGroupBCollection co where co.UID_UNSGroupBChild\r\n = co.UID_UNSGroupBParent and exists (select top 1 1 from UNSGroupBCollection ce where co.UID_UNSGroupBParent = ce.UID_UNSGroupBParent and \r\nce.UID_UNSGroupBChild <> ce.UID_UNSGroupBParent and IsCircular = 1 ) and IsCircular = 0 update UNSGroupBCollection set IsCircular = 0 from UNSGroupBCollection\r\n co where co.UID_UNSGroupBChild = co.UID_UNSGroupBParent and not exists (select top 1 1 from UNSGroupBCollection ce where co.UID_UNSGroupBParent\r\n = ce.UID_UNSGroupBParent and ce.UID_UNSGroupBChild <> ce.UID_UNSGroupBParent and IsCircular = 1 ) and IsCircular = 1 update UNSGroupBCollection\r\n set IsCircular = x.IsCircular from UNSGroupBCollection co join (select y.UID_UNSGroupBChild, y.IsCircular from UNSGroupBCollection y where y.UID_UNSGroupBChild\r\n = y.UID_UNSGroupBParent ) as x on x.UID_UNSGroupBChild = co.UID_UNSGroupBChild where co.IsCircular <> x.IsCircular  END TRY BEGIN CATCH exec \r\nQBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_FTDomainTree",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:48.497",
      "ModifyDate": "2026-04-14T23:20:48.497",
      "Definition": "create function dbo.ADS_FTDomainTree (@UID_ADSDomain varchar(38) ) returns @sammel table (Ident_Domain nvarchar(64) collate database_default , UID_ADSDomain\r\n varchar(38) collate database_default primary key (UID_ADSDomain) ) with schemabinding as begin insert into @sammel(Ident_Domain, UID_ADSDomain) select\r\n ident_domain, @UID_ADSDomain from dbo.ADSDomain where UID_ADSDomain = @UID_ADSDomain declare @lauf int = 1 while @lauf > 0 begin insert into @sammel (Ident_Domain\r\n, UID_ADSDomain) select distinct p.Ident_Domain, p.UID_ADSDomain from dbo.ADSDomain d join @sammel s on d.UID_ADSDomain = s.UID_ADSDomain join dbo.ADSDomain\r\n p on d.UID_ADSDomainParent = p.UID_ADSDomain where Not exists(select top 1 1 from @sammel e where e.UID_ADSDomain = p.UID_ADSDomain ) select @lauf = @@ROWCOUNT\r\n insert into @sammel (Ident_Domain, UID_ADSDomain) select distinct d.Ident_Domain, d.uid_adsdomain from dbo.ADSDomain d join @sammel s on d.UID_ADSDomainParent\r\n = s.UID_ADSDomain where Not exists(select top 1 1 from @sammel e where e.UID_ADSDomain = d.UID_ADSDomain ) select @lauf += @@ROWCOUNT end endLabel: return\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_FTGroupCollection",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:19:33.157",
      "ModifyDate": "2026-04-14T23:19:33.157",
      "Definition": "create function dbo.ADS_FTGroupCollection (@ObjectKeyAccountOrGroup varchar(138) ) returns @erg table (UID_ADSGroup varchar(38) collate database_default\r\n ) with schemabinding as begin  declare @lauf int  insert into @erg (UID_ADSGroup) select uid_ADSGroup from dbo.ADSGroup where XObjectKey = @ObjectKeyAccountOrGroup\r\n insert into @erg (UID_ADSGroup) select aig.uid_ADSGroup from dbo.ADSAccount a join dbo.ADSAccountInADSGroup aig on a.uid_ADSAccount = aig.uid_ADSAccount\r\n and aig.XOrigin > 0 and aig.XIsInEffect = 1 where a.XObjectKey = @ObjectKeyAccountOrGroup select @lauf = 1 while @lauf > 0 begin insert into @erg(UID_ADSGroup\r\n) select distinct gig.uid_ADSGroupParent from @erg e join dbo.ADSGroupInADSGroup gig on e.uid_ADSGroup = gig.uid_ADSGroupChild where Not exists (select\r\n top 1 1 from @erg b where b.uid_ADSGroup = gig.uid_ADSGroupParent ) select @lauf = @@rowcount end  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_FTGroupMembersValid_G_OC",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:19:33.263",
      "ModifyDate": "2026-04-14T23:19:33.263",
      "Definition": "create function dbo.ADS_FTGroupMembersValid_G_OC (@UID_ADSGroup varchar(38) , @TableName varchar(30)  ) returns @erg table (UID_ADSGroup varchar(38) collate\r\n database_default , UID_ADSDomainMember varchar(38) collate database_default , ObjectKeyMember varchar(138) collate database_default ) as begin if @TableName\r\n = 'ADSAccount' begin insert into @erg(UID_ADSGroup, UID_ADSDomainMember, ObjectKeyMember) select @UID_ADSGroup, v.UID_ADSDomainMember, v.XObjectKeyMember\r\n from ADS_VGroupMemberValid_Account v where v.UID_ADSGroupContainer = @UID_ADSGroup goto Endlabel end if @TableName = 'ADSContact' begin insert into @erg\r\n(UID_ADSGroup, UID_ADSDomainMember, ObjectKeyMember) select @UID_ADSGroup, v.UID_ADSDomainMember, v.XObjectKeyMember from ADS_VGroupMemberValid_Contact\r\n v where v.UID_ADSGroupContainer = @UID_ADSGroup goto Endlabel end if @TableName = 'ADSMachine' begin insert into @erg(UID_ADSGroup, UID_ADSDomainMember\r\n, ObjectKeyMember) select @UID_ADSGroup, v.UID_ADSDomainMember, v.XObjectKeyMember from ADS_VGroupMemberValid_Machine v where v.UID_ADSGroupContainer =\r\n @UID_ADSGroup goto Endlabel end if @TableName = 'ADSGroup' begin insert into @erg(UID_ADSGroup, UID_ADSDomainMember, ObjectKeyMember) select @UID_ADSGroup\r\n, v.UID_ADSDomainMember, v.XObjectKeyMember from ADS_VGroupMemberValid_Group v where v.UID_ADSGroupContainer = @UID_ADSGroup goto Endlabel end endLabel:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_FTGroupMembersValid_M",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:19:33.25",
      "ModifyDate": "2026-04-14T23:19:33.25",
      "Definition": "create function dbo.ADS_FTGroupMembersValid_M (@ObjectKeyMember varchar(138) ) returns @erg table (UID_ADSGroup varchar(38) collate database_default , \r\nUID_ADSDomainMember varchar(38) collate database_default , ObjectKeyMember varchar(138) collate database_default ) as begin declare @UID_ADSDomainMember\r\n varchar(38) declare @ObjectClassMember nvarchar(256) declare @IsDistribution_M int, @IsGlobal_M int, @IsLocal_M int, @IsUniversal_M int, @IsSecurity_M\r\n int if @ObjectKeyMember like '<Key><T>ADSAccount</T>%' begin insert into @erg(UID_ADSGroup, UID_ADSDomainMember, ObjectKeyMember) select v.UID_ADSGroupContainer\r\n, v.UID_ADSDomainMember, @ObjectKeyMember from ADS_VGroupMemberValid_Account v where v.XObjectKeyMember = @ObjectKeyMember goto endLabel end if @ObjectKeyMember\r\n like '<Key><T>ADSContact</T>%' begin insert into @erg(UID_ADSGroup, UID_ADSDomainMember, ObjectKeyMember) select v.UID_ADSGroupContainer, v.UID_ADSDomainMember\r\n, @ObjectKeyMember from ADS_VGroupMemberValid_Contact v where v.XObjectKeyMember = @ObjectKeyMember goto endLabel end if @ObjectKeyMember like '<Key><T>ADSMachine</T>%'\r\n begin insert into @erg(UID_ADSGroup, UID_ADSDomainMember, ObjectKeyMember) select v.UID_ADSGroupContainer, v.UID_ADSDomainMember, @ObjectKeyMember from\r\n ADS_VGroupMemberValid_Machine v where v.XObjectKeyMember = @ObjectKeyMember goto endLabel end if @ObjectKeyMember like '<Key><T>ADSGroup</T>%' begin insert\r\n into @erg(UID_ADSGroup, UID_ADSDomainMember, ObjectKeyMember) select v.UID_ADSGroupContainer, v.UID_ADSDomainMember, @ObjectKeyMember from ADS_VGroupMemberValid_Group\r\n v where v.XObjectKeyMember = @ObjectKeyMember goto endLabel end endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ARS_FTAttestationRulerPA",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:50.523",
      "ModifyDate": "2026-04-14T23:20:50.523",
      "Definition": "create function dbo.ARS_FTAttestationRulerPA (@UID_AttestationCase varchar(38) ) returns @erg table ( UID_Person varchar(38) collate database_default )\r\n AS begin declare @Ownerlist nvarchar(max) = null declare @ObjectKeyBase varchar(138) = null select top 1 @ObjectKeyBase = ac.ObjectKeyBase from AttestationCase\r\n ac where ac.UID_AttestationCase = @UID_AttestationCase if @ObjectKeyBase is null begin goto endlabel end if @ObjectKeyBase like '<Key><T>ADSGroup</T>%'\r\n begin select top 1 @Ownerlist = g.edsvaSecondaryOwners from ADSGroup g where g.XObjectKey = @ObjectKeyBase end if @ObjectKeyBase like '<Key><T>ADSAccountInADSGroup</T>%'\r\n begin select top 1 @Ownerlist = g.edsvaSecondaryOwners from ADSAccountInADSGroup gig join ADSGroup g on g.UID_ADSGroup = gig.UID_ADSGroup where gig.XObjectKey\r\n = @ObjectKeyBase end If @ObjectKeyBase like '<Key><T>ADSGroupInADSGroup</T>%' begin select top 1 @Ownerlist = g.edsvaSecondaryOwners from ADSGroupInADSGroup\r\n gg JOIN ADSGroup g on g.UID_ADSGroup = gg.UID_ADSGroupParent where gg.XObjectKey = @ObjectKeyBase end if @Ownerlist is null begin goto endLabel end insert\r\n into @erg(UID_Person) select l.UID_Person from dbo.ARS_FTPersonFromEdsva(@Ownerlist) l endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ARS_FTITShopRulerPA",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:50.42",
      "ModifyDate": "2026-04-14T23:20:50.42",
      "Definition": "create function dbo.ARS_FTITShopRulerPA (@uid_personwantsorg varchar(38) ) returns @erg table ( UID_Person varchar(38) collate database_default , UID_PWORulerOrigin\r\n varchar(38) collate database_default ) AS begin declare @Ownerlist nvarchar(max) = null  select top 1 @Ownerlist = g.edsvaSecondaryOwners from PersonWantsOrg\r\n pwo join BaseTreeHasADSGroup ohg on pwo.UID_ITShopOrgFinal = ohg.UID_Org and ohg.XOrigin > 0 and ohg.XIsInEffect = 1 join ADSGroup g on ohg.uid_ADSGroup\r\n = g.uid_ADSGroup where pwo.UID_PersonWantsOrg = @uid_personwantsorg if @Ownerlist is null begin goto endLabel end insert into @erg(UID_Person, UID_PWORulerOrigin\r\n) select l.UID_Person, null from dbo.ARS_FTPersonFromEdsva(@Ownerlist) l endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ARS_FTPersonFromEdsva",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:50.413",
      "ModifyDate": "2026-04-14T23:20:50.413",
      "Definition": "create function dbo.ARS_FTPersonFromEdsva(@Ownerlist nvarchar(max) ) returns @erg table ( UID_Person varchar(38) collate database_default ) AS begin declare\r\n @Objects table (element nvarchar(1024) collate database_default  , ElementType int default 0   ) declare @SumDistinct int declare @t1 QBM_YParameterList\r\n declare @t2 QBM_YParameterList declare @t3 QBM_YParameterList declare @t4 QBM_YParameterList  insert into @objects (element, ElementType) select e.value\r\n, case when e.value like 'CN=%' then 1 else 2 end as ElementType from string_split( @Ownerlist, nchar(7)) e where e.value > ' ' select @SumDistinct = sum\r\n(distinct o.ElementType) from @Objects o  if @SumDistinct in (1,3) begin insert into @t1(Parameter1) select a.UID_Person from @Objects o join ADSAccount\r\n a on o.element = a.DistinguishedName where o.ElementType = 1 end if @SumDistinct in (2,3) begin insert into @t2(Parameter1) select a.UID_Person from @Objects\r\n o join ADSAccount a on o.element = a.ObjectSID where o.ElementType = 2 end if @SumDistinct in (1,3) begin insert into @t3(Parameter1) select a.UID_Person\r\n from @Objects o join ADSGroup g on o.element = g.DistinguishedName join ADSVAccountInADSGroup aig on g.UID_ADSGroup = aig.UID_ADSGroup and aig.XOrigin\r\n > 0 and aig.XIsInEffect = 1 join ADSAccount a on aig.UID_ADSAccount = a.UID_ADSAccount where o.ElementType = 1 end if @SumDistinct in (2,3) begin insert\r\n into @t4(Parameter1) select a.UID_Person from @Objects o join ADSGroup g on o.element = g.ObjectSID join ADSVAccountInADSGroup aig on g.UID_ADSGroup =\r\n aig.UID_ADSGroup and aig.XOrigin > 0 and aig.XIsInEffect = 1 join ADSAccount a on aig.UID_ADSAccount = a.UID_ADSAccount where o.ElementType = 2 end insert\r\n into @erg(UID_Person) select t.Parameter1 from @t1 t where t.Parameter1 > ' ' union select t.Parameter1 from @t2 t where t.Parameter1 > ' ' union select\r\n t.Parameter1 from @t3 t where t.Parameter1 > ' ' union select t.Parameter1 from @t4 t where t.Parameter1 > ' ' endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_FTAttCasesForManager",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:43.183",
      "ModifyDate": "2026-04-14T23:20:43.183",
      "Definition": "create function dbo.ATT_FTAttCasesForManager(@UID_PersonHead varchar(38)) returns @erg table (UID_AttestationCase varchar(38) collate database_default)\r\n as begin if dbo.QBM_FGISessionContext('ATTCaseAccessAsManagerReduced') = '' begin insert into @erg(UID_AttestationCase) select ac.UID_AttestationCase \r\nfrom BaseTree bt join HelperHeadOrg hho on bt.UID_Org = hho.UID_Org join AttestationCase ac on bt.XObjectKey = ac.ObjectKeyBase where hho.UID_PersonHead\r\n = @UID_PersonHead end endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_FTAttNextDecisionMaker",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:42.897",
      "ModifyDate": "2026-04-14T23:20:42.897",
      "Definition": "create function dbo.ATT_FTAttNextDecisionMaker (@uid_AttestationCase varchar(38)) returns @erg table ( Ordernumber int , UID_AttestationHelper varchar(38\r\n) collate database_default , UID_PersonHead varchar(38) collate database_default , UID_PWODecisionRule varchar(38) collate database_default , LevelNumber\r\n int , SubLevelNumber int , UID_QERWorkingStep varchar(38) collate database_default , RulerLevel int ) as begin declare @CurrentLevel int declare @uid_QERWorkingMethod\r\n varchar(38) declare @lauf int = 1 declare @work QER_YPWONextDecisionMaker select top 1 @CurrentLevel = decisionlevel from AttestationCase where uid_AttestationCase\r\n = @uid_AttestationCase  select top 1 @uid_QERWorkingMethod = pwo.UID_QERWorkingMethod from AttestationCase pwo where pwo.uid_AttestationCase = @uid_AttestationCase;\r\n   insert into @work (UID_QERWorkingStep, LevelNumber, positivesteps, Ordernumber) select ws.UID_QERWorkingStep, LevelNumber, positivesteps, 1 as Ordernumber\r\n from QERWorkingStep ws where ws.UID_QERWorkingMethod = @uid_QERWorkingMethod and ws.levelnumber = @CurrentLevel    while @Lauf > 0 begin insert into @work\r\n (UID_QERWorkingStep, LevelNumber, positivesteps, Ordernumber) select distinct a.UID_QERWorkingStep, a.LevelNumber, a.positivesteps, h.ordernumber +1 from\r\n QERWorkingStep a join @work h on a.levelnumber = h.levelnumber + h.positiveSteps where a.UID_QERWorkingMethod = @UID_QERWorkingMethod and h.positiveSteps\r\n <> 0 and not exists (select top 1 1 from @work w where w.UID_QERWorkingStep = a.UID_QERWorkingStep ) select @lauf = @@rowcount end insert into @erg ( \r\nOrdernumber, UID_AttestationHelper, UID_PersonHead, UID_PWODecisionRule, LevelNumber, SubLevelNumber, UID_QERWorkingStep , RulerLevel) select distinct \r\nsNext.Ordernumber, hNext.UID_AttestationHelper, hNext.UID_PersonHead, hNext.UID_PWODecisionRule, hNext.LevelNumber, hNext.SubLevelNumber, hNext.UID_QERWorkingStep\r\n , hNext.RulerLevel from (select UID_QERWorkingStep, LevelNumber, positivesteps , ordernumber from @work ) as sNext  join ATT_VAttDecisionPerson_I hNext\r\n on hNext.uid_AttestationCase = @uid_AttestationCase and sNext.levelnumber = hNext.Levelnumber and sNext.UID_QERWorkingStep = hNext.UID_QERWorkingStep \r\nreturn end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_FTCCSOrgCheckWithPWO_",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:18:41.74",
      "ModifyDate": "2026-04-14T23:18:41.74",
      "Definition": "create function dbo.CPL_FTCCSOrgCheckWithPWO_ (@ObjecKeysOfPWO nvarchar(max) ) returns @erg table (UID_Org varchar(38) collate database_default , UID_ComplianceRule\r\n varchar(38) collate database_default ) as begin declare @ObjecKeysOfPWO_L QBM_YParameterList insert into @ObjecKeysOfPWO_L(Parameter1) select y.ParameterValue\r\n from dbo.QBM_FCVStringToList( @ObjecKeysOfPWO, '|' , 1, 0) as y insert into @erg(UID_Org, UID_ComplianceRule) select a.UID_Org, a.UID_ComplianceRule from\r\n dbo.CPL_FTCCSOrgCheckWithPWO(@ObjecKeysOfPWO_L) a endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_FTCCSOrgCheckWithPWODetai_",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:18:41.767",
      "ModifyDate": "2026-04-14T23:18:41.767",
      "Definition": "create function dbo.CPL_FTCCSOrgCheckWithPWODetai_ (@ObjecKeysOfPWO nvarchar(max) ) returns @erg table (UID_Org varchar(38) collate database_default , \r\nUID_ComplianceRule varchar(38) collate database_default , UID_ComplianceSubrule varchar(38) collate database_default , ObjectKeyElement varchar(138) collate\r\n database_default ) as begin declare @ObjecKeysOfPWO_L QBM_YParameterList insert into @ObjecKeysOfPWO_L(Parameter1) select y.ParameterValue from dbo.QBM_FCVStringToList\r\n( @ObjecKeysOfPWO, '|' , 1, 0) as y insert into @erg(UID_Org, UID_ComplianceRule, UID_ComplianceSubrule, ObjectKeyElement) select a.UID_Org,a.UID_ComplianceRule\r\n, a.UID_ComplianceSubrule, a.ObjectKeyElement from dbo.CPL_FTCCSOrgCheckWithPWODetail(@ObjecKeysOfPWO_L) a endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_FTCCSPersonsForPWO",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:18:41.62",
      "ModifyDate": "2026-04-14T23:18:41.62",
      "Definition": "create function dbo.CPL_FTCCSPersonsForPWO(@UID_PersonWantsOrg varchar(38) , @IsCrossPersonCheck bit  ) returns @Persons table (UID_Person varchar(38) \r\ncollate database_default primary key (UID_Person) ) as begin if @IsCrossPersonCheck = 1 begin insert into @persons(UID_Person ) select distinct me.UID_PersonAlsoMe\r\n from HelperPWOPersonHasObject pho join QER_VPersonsAreMe me on pho.UID_Person = me.UID_PersonOrigin where pho.uid_personwantsorg = @uid_personwantsorg\r\n end else begin insert into @persons(UID_Person ) select distinct pho.UID_Person from HelperPWOPersonHasObject pho where pho.uid_personwantsorg = @uid_personwantsorg\r\n end return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_FTCCSPWOCheck",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:18:41.677",
      "ModifyDate": "2026-04-14T23:18:41.677",
      "Definition": " create function dbo.CPL_FTCCSPWOCheck(@uid_personwantsorg varchar(38)) returns @erg table ( UID_PersonWantsOrg varchar(38) collate database_default , \r\nUID_Person varchar(38) collate database_default , UID_ComplianceRule varchar(38) collate database_default , UID_NonCompliance varchar(38) collate database_default\r\n , IsExceptionGranted bit , IsNewObject bit , IsNewRule bit ) as begin declare @PersonsPossible QBM_YParameterList insert into @PersonsPossible (Parameter1\r\n ) select me.UID_PersonAlsoMe from HelperPWOPersonHasObject pho join QER_VPersonsAreMe me on pho.UID_Person = me.UID_PersonOrigin where pho.uid_personwantsorg\r\n = @uid_personwantsorg union select pho.UID_Person from HelperPWOPersonHasObject pho where pho.uid_personwantsorg = @uid_personwantsorg declare @ComRuleforPerson\r\n QBM_YParameterList  insert into @ComRuleforPerson (Parameter1, Parameter2) select per.Parameter1, csrp.UID_ComplianceRule from @PersonsPossible per join\r\n ComplianceSubRulePerson csrp with (readpast, forceSeek) on per.Parameter1 = csrp.UID_Person join ComplianceRule cr with (readpast, forceSeek) on csrp.UID_ComplianceRule\r\n = cr.UID_ComplianceRule and cr.IsPersonStoreInverted = 0 and cr.IsWorkingCopy = 0 and cr.IsInActive = 0 union select per.Parameter1, cr.UID_ComplianceRule\r\n from @PersonsPossible per join ComplianceRule cr on cr.IsPersonStoreInverted = 1 and cr.IsWorkingCopy = 0 and cr.IsInActive = 0 left outer join ComplianceSubRulePerson\r\n csrp with (readpast, forceSeek) on per.Parameter1 = csrp.UID_Person and csrp.UID_ComplianceRule = cr.UID_ComplianceRule where csrp.UID_Person is null \r\n DECLARE @InnerData TABLE ( UID_ComplianceRule VARCHAR(38) collate database_default ,UID_ComplianceSubRule VARCHAR(38) collate database_default ,UID_Person\r\n VARCHAR(38) collate database_default ,IsNew int ,CountMatchesMin int ,ObjectKeyElement VARCHAR(138) collate database_default ) INSERT INTO @innerData(UID_ComplianceRule\r\n, UID_ComplianceSubRule, UID_Person, IsNew, CountMatchesMin, ObjectKeyElement) SELECT sr.UID_ComplianceRule, sr.UID_ComplianceSubRule, pho.UID_Person, \r\npho.IsNew, sr.CountMatchesMin, cm.ObjectKeyElement FROM @ComRuleforPerson ptoc JOIN ComplianceRule cr on ptoc.Parameter2 = cr.UID_ComplianceRule AND cr.IsCrossPersonCheck\r\n = 1 JOIN ComplianceSubRule sr on cr.UID_ComplianceRule = sr.UID_ComplianceRule JOIN ComplianceSubRuleObject cm on sr.UID_ComplianceSubRule = cm.UID_ComplianceSubRule\r\n JOIN dbo.CPL_FTCCSPersonHasObjectWPWO(@UID_PersonWantsOrg, 1) pho ON pho.uid_person = ptoc.Parameter1  AND pho.Objectkey = cm.ObjectKeyElement AND ( pho.isNew\r\n = 1 AND pho.uid_personwantsorg = @uid_personwantsorg OR pho.isNew = 0 ) UNION ALL SELECT sr.UID_ComplianceRule, sr.UID_ComplianceSubRule, pho.UID_Person\r\n, pho.IsNew, sr.CountMatchesMin, cm.ObjectKeyElement FROM @ComRuleforPerson ptoc JOIN ComplianceRule cr on ptoc.Parameter2 = cr.UID_ComplianceRule AND \r\ncr.IsCrossPersonCheck = 0 JOIN ComplianceSubRule sr on cr.UID_ComplianceRule = sr.UID_ComplianceRule JOIN ComplianceSubRuleObject cm on sr.UID_ComplianceSubRule\r\n = cm.UID_ComplianceSubRule JOIN dbo.CPL_FTCCSPersonHasObjectWPWO(@UID_PersonWantsOrg, 0) pho ON pho.uid_person = ptoc.Parameter1  AND pho.Objectkey = \r\ncm.ObjectKeyElement AND ( pho.isNew = 1 AND pho.uid_personwantsorg = @uid_personwantsorg OR pho.isNew = 0 )  insert into @erg(UID_PersonWantsOrg , UID_Person\r\n , UID_ComplianceRule , UID_NonCompliance , IsExceptionGranted , IsNewObject , IsNewRule) select @UID_PersonWantsOrg as uid_personwantsOrg, yy.uid_person\r\n, yy.uid_ComplianceRule, yy.uid_noncompliance, yy.isExceptionGranted, max(yy.isNewObject) as isNewObject, max(yy.isNewRule) as isNewRule from ( select \r\n ps.uid_person, ps.uid_ComplianceRule, isnull(pinc.uid_org,'') as uid_noncompliance, isnull(pinc.isexceptiongranted, 0) as isExceptionGranted, ps.isNew\r\n as isNewObject, (sign(len(isnull(pinc.uid_org,''))) ^1 ) & ps.isNew as isNewRule, ps.uid_complianceSubrule  from ( select y.UID_ComplianceRule, y.UID_ComplianceSubRule\r\n, y.UID_Person, MAX(y.IsNew) as IsNew    FROM @InnerData as y  group by y.UID_ComplianceRule, y.UID_ComplianceSubRule, y.CountMatchesMin, y.UID_Person \r\nhaving COUNT(y.ObjectKeyElement) >= case y.CountMatchesMin when 0 then 1 else y.CountMatchesMin end ) as ps join compliancerule cr on ps.uid_complianceRule\r\n = cr.uid_complianceRule  and cr.IsInActive = 0 and cr.IsWorkingCopy = 0   left outer join PersonInBaseTree pinc on pinc.UID_Person = ps.UID_Person and\r\n pinc.UID_Org = cr.uid_noncompliance ) as yy group by  yy.uid_person, yy.uid_ComplianceRule, yy.uid_noncompliance , yy.isexceptiongranted having count(distinct\r\n yy.uid_ComplianceSubRule) = (select count( * ) from ComplianceSubrule where uid_complianceRule = yy.uid_complianceRule ) return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "DPR_FTGetColsHandledByWorkflow",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:16:47.3",
      "ModifyDate": "2026-04-14T23:16:47.3",
      "Definition": "create function dbo.DPR_FTGetColsHandledByWorkflow(@TableName varchar(30) , @UID_Config varchar(38) ) returns @erg table(ColumnName varchar(30) collate\r\n database_default , UID_DialogColumn varchar(38) collate database_default ) as begin declare @merk QBM_YParameterlist insert into @merk(Parameter1, Parameter2\r\n) select h.PropertyName  , h.UIDConfig from DPR_VWorkflowHandlesProperty h where h.SystemType = N'OneIM' and h.SchemaTypeName = @TableName and h.UIDConfig\r\n = @UID_Config group by h.PropertyName, h.UIDConfig insert into @erg(ColumnName, UID_DialogColumn) select c.ColumnName, c.UID_DialogColumn from DialogColumn\r\n c with (readpast) join DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable join @merk m on c.ColumnName = m.Parameter1 where t.TableName\r\n = @TableName return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "DPR_FTGetColsReadByWorkflow",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:16:47.383",
      "ModifyDate": "2026-04-14T23:16:47.383",
      "Definition": "create function dbo.DPR_FTGetColsReadByWorkflow(@TableName varchar(30) , @UID_Config varchar(38) ) returns @erg table(ColumnName varchar(30) collate database_default\r\n , UID_DialogColumn varchar(38) collate database_default ) as begin declare @merk QBM_YParameterlist insert into @merk(Parameter1, Parameter2) select h.PropertyName\r\n  , h.UIDConfig from DPR_VWorkflowReadsProperty h where h.SystemType = N'OneIM' and h.SchemaTypeName = @TableName and h.UIDConfig = @UID_Config group by\r\n h.PropertyName, h.UIDConfig insert into @erg(ColumnName, UID_DialogColumn) select c.ColumnName, c.UID_DialogColumn from DialogColumn c with (readpast)\r\n join DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable join @merk m on c.ColumnName = m.Parameter1 where t.TableName = @TableName\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "DPR_FTSchemaAccessChildren",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:16:47.173",
      "ModifyDate": "2026-04-14T23:16:47.173",
      "Definition": "create function dbo.DPR_FTSchemaAccessChildren (@UID_Property1 varchar(38) , @UID_Property2 varchar(38) ) returns @erg table (UIDChild varchar(38) collate\r\n database_default primary key  ) with schemabinding as begin declare @Anzahl int declare @work dbo.QBM_YSingleGUID insert into @work(UID_SingleGuid) select\r\n @UID_Property1 union select @UID_Property2 select @Anzahl = 1 while @Anzahl > 0 begin insert into @work(UID_SingleGuid) select distinct acc.UID_DPRSchemaPropertyTrg\r\n  from dbo.DPRSchemaAccess acc join @work ph on ph.UID_SingleGuid = acc.UID_DPRSchemaPropertySrc where acc.AccessType = 'Direct' and not exists (select\r\n top 1 1 from @work e where e.UID_SingleGuid = acc.UID_DPRSchemaPropertyTrg  ) select @Anzahl = @@ROWCOUNT end insert into @erg(UIDChild) select UID_SingleGuid\r\n from @work endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "DPR_FTSchemaPropertyAccessColl",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:16:47.14",
      "ModifyDate": "2026-04-14T23:16:47.14",
      "Definition": "create function dbo.DPR_FTSchemaPropertyAccessColl () returns @erg table (UID_DPRSchemaPropertySrc varchar(38) collate database_default  , UID_DPRSchemaPropertyTrg\r\n varchar(38) collate database_default  , ObjectKeyAccessor varchar(138) collate database_default  ) with schemabinding as begin declare @lauf int declare\r\n @work dbo.QBM_YParameterList insert into @work (Parameter1 , Parameter2 , Parameter3 ) select UID_DPRSchemaPropertySrc, UID_DPRSchemaPropertyTrg, ObjectKeyAccessor\r\n from dbo.DPRSchemaAccess where AccessType = 'Direct' select @lauf = 1 while @lauf > 0 begin insert into @work (Parameter1  , Parameter2 , Parameter3 )\r\n select distinct e.Parameter1  , dpr.UID_DPRSchemaPropertyTrg, dpr.ObjectKeyAccessor from @work e join dbo.DPRSchemaAccess dpr on e.Parameter2  = dpr.UID_DPRSchemaPropertySrc\r\n where Not exists (select top 1 1 from @work b where b.Parameter1  = e.Parameter1  and b.Parameter2  = dpr.UID_DPRSchemaPropertyTrg ) and dpr.AccessType\r\n = 'Direct' select @lauf = @@rowcount end  insert into @erg (UID_DPRSchemaPropertySrc, UID_DPRSchemaPropertyTrg, ObjectKeyAccessor) select w.Parameter1\r\n, w.Parameter2, w.Parameter3 from @work w return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "DPR_FTSystemMapChildren",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:16:47.19",
      "ModifyDate": "2026-04-14T23:16:47.19",
      "Definition": "create function dbo.DPR_FTSystemMapChildren (@UID_Property1 varchar(38) ) returns @erg table (UIDChild varchar(38) collate database_default primary key\r\n ) with schemabinding as begin declare @Anzahl int declare @work dbo.QBM_YSingleGUID insert into @work(UID_SingleGuid) select @UID_Property1 select @Anzahl\r\n = 1 while @Anzahl > 0 begin insert into @work(UID_SingleGuid) select distinct sm.UID_BaseDPRSystemMap from dbo.DPRSystemMap sm join @work ph on ph.UID_SingleGuid\r\n = sm.UID_DPRSystemMap where sm.MappingDirection <> 'DoNotMap' and sm.UID_BaseDPRSystemMap > ' ' and not exists (select top 1 1 from @work e where e.UID_SingleGuid\r\n = sm.UID_BaseDPRSystemMap ) select @Anzahl = @@ROWCOUNT end insert into @erg(UIDChild) select w.UID_SingleGuid from @work w endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "DPR_FTSystemMappingRuleEffect",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:16:47.157",
      "ModifyDate": "2026-04-14T23:16:47.157",
      "Definition": "create function dbo.DPR_FTSystemMappingRuleEffect () returns @erg table (UID_DPRSystemMap varchar(38) collate database_default , UID_DPRSystemMappingRule\r\n varchar(38) collate database_default , Name nvarchar(256) collate database_default ) with schemabinding as begin declare @lauf int declare @help dbo.QBM_YParameterList\r\n  insert into @help (Parameter1 , Parameter2 , ContentShort , Parameter3 ) select m.UID_DPRSystemMap, r.UID_DPRSystemMappingRule, r.Name, m.UID_BaseDPRSystemMap\r\n from dbo.DPRSystemMap m join dbo.DPRSystemMappingRule r on m.UID_DPRSystemMap = r.UID_DPRSystemMap select @lauf = 1 while @lauf > 0 begin insert into \r\n@help (Parameter1 , Parameter2 , ContentShort , Parameter3 ) select distinct e.Parameter1 , br.UID_DPRSystemMappingRule, br.Name, e.Parameter3  from @help\r\n e join dbo.DPRSystemMappingRule br on e.Parameter3  = br.UID_DPRSystemMap where Not exists (select top 1 1 from @help b where b.Parameter1  = e.Parameter1\r\n  and b.ContentShort  = br.Name ) select @lauf = @@rowcount  update @help set Parameter3  = b.UID_BaseDPRSystemMap from @help m join dbo.DPRSystemMap b\r\n on m.Parameter3  = b.UID_DPRSystemMap where isnull(m.Parameter3 , '') <> isnull(b.UID_BaseDPRSystemMap, '') select @lauf += @@rowcount  end  insert into\r\n @erg (UID_DPRSystemMap, UID_DPRSystemMappingRule, Name) select Parameter1 , Parameter2 , ContentShort  from @help return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVJobParameterToList",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:14:09.943",
      "ModifyDate": "2026-04-14T23:14:09.943",
      "Definition": "create function dbo.QBM_FCVJobParameterToList (@paramin nvarchar(max)) returns @parameters table(SortOrder int identity, ParameterName nvarchar(200) collate\r\n database_Default, ParameterValue nvarchar(max) collate database_Default, isCrypted bit, isHidden bit , LengthCheck int ) as begin insert into @parameters\r\n ( ParameterName, ParameterValue, isCrypted, isHidden, LengthCheck)  select left(ParameterName, 200), ParameterValue, isCrypted, isHidden, LengthCheck \r\nfrom dbo.QBM_FCVJobParameterToList_fa (@paramin) p order by p.SortOrder if not exists (select top 1 1 from @parameters p where isnull(p.LengthCheck, -1\r\n) <> 0 ) begin return end delete  @parameters insert into @parameters (ParameterName, ParameterValue, isCrypted, isHidden, LengthCheck) select ParameterName\r\n, ParameterValue, isCrypted, isHidden, 0 as LengthCheck from dbo.QBM_FCVJobParameterToList_cl (@paramin) EndLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVJobParameterToList_cl",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:14:09.933",
      "ModifyDate": "2026-04-14T23:14:09.933",
      "Definition": "create function dbo.QBM_FCVJobParameterToList_cl (@paramin nvarchar(max)) returns @parameters table(SortOrder int identity, ParameterName nvarchar(200)\r\n collate database_Default, ParameterValue nvarchar(max) collate database_Default, isCrypted bit, isHidden bit ) with schemabinding as begin declare @len\r\n int select @len = len(isnull(@paramin, '')) declare @posi int select @posi = 1 declare @lenElem int declare @ParameterName nvarchar(200) declare @ParameterValue\r\n nvarchar(max) declare @crypthide nvarchar(100) declare @isCrypted bit declare @ishidden bit if @len < 2 begin  goto ende end if substring(@paramin, @posi\r\n, 1) <> N'~' begin  goto ende end select @posi = 2 while @posi <= @len begin  select @lenelem = convert(int, substring(@paramin, @posi, charindex(N'~',\r\n substring(@paramin, @posi, 10)) -1 ))  select @posi = @posi  + len(trim(str(@lenelem))) + 1 select @ParameterName = substring (@paramin, @posi, @lenelem\r\n) select @Posi = @posi + @lenelem +1  select @lenelem = convert(int, substring(@paramin, @posi, charindex(N'~', substring(@paramin, @posi, 10)) -1 )) select\r\n @posi = @posi  + len(trim(str(@lenelem))) + 1 select @ParameterValue = substring (@paramin, @posi, @lenelem) select @Posi = @posi + @lenelem +1  select\r\n @lenelem = convert(int, substring(@paramin, @posi, charindex(N'~', substring(@paramin, @posi, 10)) -1 )) select @posi = @posi  + len(trim(str(@lenelem\r\n))) + 1 select @crypthide = substring (@paramin, @posi, @lenelem) select @Posi = @posi + @lenelem +1 if @crypthide like N'%Crypted%' begin select @isCrypted\r\n = 1 end else begin select @isCrypted = 0 end if @crypthide like N'%Hidden%' begin select @isHidden = 1 end else begin select @isHidden = 0 end insert \r\ninto @parameters (ParameterName, ParameterValue, isCrypted, isHidden) select @ParameterName, @ParameterValue, @isCrypted, @isHidden  end ende: return end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringToList_i",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:14:09.76",
      "ModifyDate": "2026-04-14T23:14:09.76",
      "Definition": "create function dbo.QBM_FCVStringToList_i(@InString nvarchar(max) , @Delimiter nvarchar(64) , @SuppressEmpty bit = 0 , @CaseSensitive bit = 0 , @DelimiterInRow\r\n nvarchar(1) ) returns @parameters table( OrderNumber int identity , Parameter1 nvarchar(max) collate database_Default , Parameter2 nvarchar(max) collate\r\n database_Default , OrderNumberReverse int ) with schemabinding as begin  declare @i int declare @l int declare @SoFar nvarchar(max) declare @char nvarchar\r\n(64) declare @CountElements int = 0 declare @charindex_DelimiterInRow_Sofar int declare @lenDelim int select @lenDelim = len(@Delimiter) if isnull(@InString\r\n, N'') = N'' begin goto ende end if trim(isnull(convert(nvarchar(64), @Delimiter), N'')) = N'' begin if len(@Delimiter + '#') > 1  begin select @lenDelim\r\n = len(@Delimiter + '#') - 1 end else begin    select @Delimiter = nchar(7) select @lenDelim = 1 end end  if @lendelim = 1 begin  if @CaseSensitive = 0\r\n begin if @SuppressEmpty = 1 begin insert into @parameters(Parameter1) select trim(x.value) from string_split (@InString, @Delimiter) x where x.value >\r\n ' ' select @CountElements = @@ROWCOUNT end else begin insert into @parameters(Parameter1) select trim(x.value) from string_split (@InString, @Delimiter\r\n) x select @CountElements = @@ROWCOUNT end end else begin if @SuppressEmpty = 1 begin insert into @parameters(Parameter1) select trim(x.value) from string_split\r\n (@InString, @Delimiter collate SQL_Latin1_General_CP1_CS_AS ) x where x.value > ' ' select @CountElements = @@ROWCOUNT end else begin insert into @parameters\r\n(Parameter1) select trim(x.value) from string_split (@InString, @Delimiter collate SQL_Latin1_General_CP1_CS_AS ) x select @CountElements = @@ROWCOUNT \r\nend end if @DelimiterInRow > ' ' begin  update @parameters set Parameter1 = trim(substring(Parameter1, 1, charindex(@DelimiterInRow, Parameter1)-1) ) ,\r\n Parameter2 = trim(substring(Parameter1, charindex(@DelimiterInRow, Parameter1) +1 , len(Parameter1))) where charindex(@DelimiterInRow, Parameter1) > 0\r\n end goto setReverse end select @l = len(@InString) select @Sofar = N'' select @i = 1 while @i <= @l begin select @Char = substring(@InString, @i, @lenDelim\r\n)  if ( @CaseSensitive = 1 and @Char = @Delimiter collate SQL_Latin1_General_CP1_CS_AS ) or (@CaseSensitive = 0 and @Char = @Delimiter collate SQL_Latin1_General_CP1_CI_AS\r\n ) begin select @Sofar = trim(@Sofar) if @Sofar > ' ' or @SuppressEmpty = 0 begin if @DelimiterInRow > ' ' begin select @charindex_DelimiterInRow_Sofar\r\n = charindex(@DelimiterInRow, @Sofar) if @charindex_DelimiterInRow_Sofar > 0 begin insert into @parameters(Parameter1, Parameter2) select substring(@Sofar\r\n, 1, @charindex_DelimiterInRow_Sofar-1), substring(@Sofar, @charindex_DelimiterInRow_Sofar + 1, len(@sofar)) end else begin insert into @parameters(Parameter1\r\n) values( @Sofar) end end else begin insert into @parameters(Parameter1) values( @Sofar) end  select @CountElements += 1 end select @SoFar = N'' select\r\n @i += @lenDelim end else begin select @Sofar = concat(@Sofar , left(@char, 1)) select @i += 1 end  end select @Sofar = trim(@Sofar) if @Sofar > ' ' begin\r\n if @DelimiterInRow > ' ' begin select @charindex_DelimiterInRow_Sofar = charindex(@DelimiterInRow, @Sofar) if @charindex_DelimiterInRow_Sofar > 0 begin\r\n insert into @parameters(Parameter1, Parameter2) select substring(@Sofar, 1, @charindex_DelimiterInRow_Sofar-1), substring(@Sofar, @charindex_DelimiterInRow_Sofar\r\n + 1, len(@sofar)) end else begin insert into @parameters(Parameter1) values( @Sofar) end end else begin insert into @parameters(Parameter1) values( @Sofar\r\n) end  select @CountElements += 1 end setReverse: update @parameters set OrderNumberReverse = @CountElements - Ordernumber +1 ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FCVStringToListSQLMo_int",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:14:09.917",
      "ModifyDate": "2026-04-14T23:14:09.917",
      "Definition": "create function dbo.QBM_FCVStringToListSQLMo_int(@SQLIn nvarchar(max) , @CurrentLevel int , @Check int      , @withLiteralTopDown bit ) returns @erg table\r\n ( SortOrder int , MorphemType nvarchar(16) collate Database_default , MorphemSubType nvarchar(16) collate Database_default , isConflicted bit default \r\n0 , CurrentLevel int default 0 , Morphem nvarchar(max) collate Database_default , p1 nvarchar(256) collate Database_default  , p2 nvarchar(256) collate\r\n Database_default  , LenMorphem int not null , TargetLine int not null  primary key (SortOrder) ) as begin declare @Element nvarchar(max) declare @i int\r\n declare @len int declare @Zustand int declare @Nesting int  declare @NextChar nvarchar(1) declare @Next2Char nvarchar(2)  declare @MaxlenAlias int = 10\r\n declare @SourceCode nvarchar(max) select @SourceCode = concat(@sqlIn , nchar(13) , nchar(10)) select @Element = N'' select @len = len(@SourceCode) declare\r\n @TargetLine int = 0 declare @LineLength int = 0 declare @LineLengthMax int = 150 declare @result QBM_YMorphemInformation  declare @TwoCharMorphem QBM_YSingleGUID\r\n insert into @TwoCharMorphem(UID_SingleGuid )  values ('+=') , ('-=') , ('<>') , ('!=') , ('<=') , ('>=') declare @OneCharMorphem QBM_YSingleGUID insert\r\n into @OneCharMorphem(UID_SingleGuid )   Values ( '(') ,(')') ,('=') ,(',') ,(';') ,('+') ,('-') ,('*') ,('/') ,('%') ,('<') ,('>') ,(':') ,('^') ,('!'\r\n) ,('~') ,('&') ,('|') select @Zustand = 0  select @i = 1 while @i <= @len begin select @Next2Char = substring(@SourceCode , @i, 2) if len(@Next2Char) \r\n< 2 begin select @Next2Char = left(concat(@Next2Char , nchar(13) , nchar(10)), 2) end select @NextChar = left(@Next2Char, 1)  if @Zustand = 0  begin if\r\n @Next2Char = N'--' begin select @Zustand = 1 select @i += 2 continue end if @Next2Char = N'/*' begin select @Zustand = 2 select @Nesting = 1 select @i\r\n += 2 continue end if @Next2Char = N'N''' begin select @Zustand = 3 select @Element += @Next2Char select @i += 2 continue end if @NextChar = N'''' begin\r\n select @Zustand = 3 select @Element += @NextChar select @i += 1 continue end if @next2char in (select UID_SingleGuid  from @TwoCharMorphem) begin  insert\r\n into @result(Morphemtype, MorphemSubType, morphem, CurrentLevel, LenMorphem, TargetLine) values( 'Morphem' , '2 Chars', @next2char, @CurrentLevel, len\r\n(@Next2Char), @TargetLine)  select @LineLength += len(@Next2Char) +1 if @LineLength > @LineLengthMax begin select @LineLength = 0 select @TargetLine +=\r\n 1 end  select @i += 2 select @Zustand = 0 select @element = N''  continue end if @nextChar in (select UID_SingleGuid  from @OneCharMorphem) begin  insert\r\n into @result(Morphemtype, MorphemSubType, morphem, CurrentLevel, LenMorphem, TargetLine) values( 'Morphem', '1 Char', @NextChar, @CurrentLevel, len(@NextChar\r\n), @TargetLine)  select @LineLength += len(@NextChar)+1 if @LineLength > @LineLengthMax begin select @LineLength = 0 select @TargetLine += 1 end  select\r\n @i += 1 select @Zustand = 0 select @element = N''  continue end if @NextChar in (N' ', nchar(9)) begin select @Zustand = 4  select @i += 1 continue end\r\n  if @NextChar = nchar(13) begin  select @i += 1 continue end if @NextChar = nchar(10) begin select @i += 1 continue end  select @Zustand = 5 select @i\r\n += 1 select @Element += @NextChar continue end   if @Zustand = 1 begin if @nextchar in ( nchar(13), nchar(10)) begin select @Zustand = 0 continue end \r\nselect @i += 1 continue end   if @Zustand = 2 begin if @next2char = N'/*' begin select @Nesting += 1 select @i = @i+2 continue end if @next2char = N'*/'\r\n begin select @Nesting -= 1 if @nesting = 0 begin select @Zustand = 0 end select @i = @i+2 continue end  select @i += 1 continue end   if @Zustand = 3 \r\nbegin if @Next2Char = N'''''' begin select @Element += @next2char select @i += 2 continue end if @nextchar = N'''' begin select @Zustand = 0 select @i \r\n+= 1 select @Element += @nextchar  insert into @result(Morphemtype,MorphemSubType, morphem, CurrentLevel, LenMorphem, TargetLine) values( 'Literal', 'String'\r\n, @Element, @CurrentLevel, len(@Element), @TargetLine)  select @LineLength += len(@Element)+1 if @LineLength > @LineLengthMax begin select @LineLength \r\n= 0 select @TargetLine += 1 end   if @withLiteralTopDown = 1 begin if left(@element, 2) = 'N''' begin select @element = substring(@element, 3,len(@element\r\n) - 3) end else begin select @element = substring(@element, 2,len(@element) - 2) end select @element = replace(@element, '''''', '''')  insert into @result\r\n(Morphemtype, MorphemSubType, morphem, CurrentLevel, LenMorphem, TargetLine) select x.Morphemtype, x.MorphemSubType, x.morphem, x.CurrentLevel, len(x.morphem\r\n), @TargetLine from dbo.QBM_FCVStringToListSQLMo_int (@element , @CurrentLevel + 1, @Check, @withLiteralTopDown) x    end select @element = N'' continue\r\n end  select @i += 1 select @Element += @nextchar continue end   if @Zustand = 4 begin if @nextchar in (N' ', nchar(9), nchar(13), nchar(10) ) begin select\r\n @i += 1  continue end  select @zustand = 0 continue end   if @zustand = 5 begin if @next2Char in (N'--', N'/*') or @nextchar in (N'''', nchar(10), nchar\r\n(13), N' ', nchar(9)) or @next2char in (select UID_SingleGuid  from @TwoCharMorphem) or @nextChar in (select UID_SingleGuid  from @OneCharMorphem) begin\r\n  select @Zustand = 0  insert into @result(Morphemtype, MorphemSubType, morphem, CurrentLevel, LenMorphem, TargetLine) values( 'Morphem', null, @Element\r\n, @CurrentLevel, len(@element), @TargetLine)  select @LineLength += len(@Element)+1 if @LineLength > @LineLengthMax begin select @LineLength = 0 select\r\n @TargetLine += 1 end  select @element = N''  continue end  select @i += 1 select @Element += @nextchar continue end    end  if @Check = -1 begin goto \r\nEndLabel end  update @result set p1 = substring(Morphem, 1, PATINDEX(N'%..%', Morphem)-1) , p2 = substring(Morphem, PATINDEX(N'%..%', Morphem)+2, 256) \r\n where morphemtype = 'Morphem' and morphemsubtype is null and PATINDEX(N'%..%', Morphem) > 0 and CurrentLevel = @CurrentLevel update @result set p1 = substring\r\n(Morphem, 1, PATINDEX(N'%.%', Morphem)-1) , p2 = substring(Morphem, PATINDEX(N'%.%', Morphem)+1, 256)  where morphemtype = 'Morphem' and morphemsubtype\r\n is null and p1 is null and PATINDEX(N'%.%', Morphem) > 0 and CurrentLevel = @CurrentLevel  update @result set MorphemType = 'Literal' , MorphemSubType\r\n = 'Float' , p1 = null ,p2 = null where morphemtype = 'Morphem' and morphemSubtype is null and isnumeric(p1) = 1 and isnumeric(p2) = 1 and CurrentLevel\r\n = @CurrentLevel update @result set morphemType = 'Literal' , MorphemSubtype = 'Int' where morphemtype = 'Morphem' and isnumeric(morphem) = 1 and morphemSubtype\r\n is null and CurrentLevel = @CurrentLevel update @result set morphemType = 'Literal' , MorphemSubtype = 'binary' where morphemtype = 'Morphem' and morphem\r\n like '0' + 'x%' and morphemSubtype is null and CurrentLevel = @CurrentLevel  update @result set morphemType = 'Variable' , MorphemSubtype = '' where morphemtype\r\n = 'Morphem' and left(Morphem, 1) = '@' and substring(Morphem, 2,1) <> '@' and CurrentLevel = @CurrentLevel if @Check = 0 begin goto endLabel end  update\r\n @result set Morphemtype = 'KeyWord' , MorphemSubtype = x.KeywordArea from @Result r join dbo.QBM_FTSQLKeywords(1) x on r.MorphemType = 'Morphem' and r.MorphemSubtype\r\n is null and r.Morphem = x.Keyword and x.KeywordArea = 'T-SQL' where r.CurrentLevel = @CurrentLevel update @result set Morphemtype = case when x.system_type_id\r\n = x.user_type_id then 'SystemObject' else 'SchemaObject' end , MorphemSubtype = 'Type' from @Result r join sys.types x on r.MorphemType = 'Morphem' and\r\n r.MorphemSubtype is null and (r.Morphem = x.name or r.p2 = x.name ) where r.CurrentLevel = @CurrentLevel if @Check = 2 begin goto EndLabel end update \r\n@result set Morphemtype = 'SchemaObject' , MorphemSubtype = 'Table' from @Result r join sys.tables x with (readpast) on r.MorphemType = 'Morphem' and r.MorphemSubtype\r\n is null and (r.Morphem = x.name or r.p2 = x.name ) where r.CurrentLevel = @CurrentLevel  update @result set Morphemtype = 'SchemaObject' , MorphemSubtype\r\n = 'Table' from @Result r where r.MorphemType = 'Morphem' and r.MorphemSubtype is null and (r.Morphem like '#%' or r.p2 like '#%' ) and r.CurrentLevel \r\n= @CurrentLevel update @result set Morphemtype = 'SchemaObject' , MorphemSubtype = 'View' from @Result r join sys.views x with (readpast) on r.MorphemType\r\n = 'Morphem' and r.MorphemSubtype is null and (r.Morphem = x.name or r.p2 = x.name ) where r.CurrentLevel = @CurrentLevel update @result set Morphemtype\r\n = 'SchemaObject' , MorphemSubtype = 'TableFunction' from @Result r join sys.objects x with (readpast) on r.MorphemType = 'Morphem' and r.MorphemSubtype\r\n is null and (r.Morphem = x.name or r.p2 = x.name ) where x.type in ('IF', 'TF') and r.CurrentLevel = @CurrentLevel update @result set Morphemtype = 'SchemaObject'\r\n , MorphemSubtype = 'Function' from @Result r join sys.objects x with (readpast) on r.MorphemType = 'Morphem' and r.MorphemSubtype is null and (r.Morphem\r\n = x.name or r.p2 = x.name ) where x.type in ('FN') and r.CurrentLevel = @CurrentLevel update @result set Morphemtype = 'SchemaObject' , MorphemSubtype\r\n = 'Procedure' from @Result r join sys.objects x with (readpast) on r.MorphemType = 'Morphem' and r.MorphemSubtype is null and (r.Morphem = x.name or r.p2\r\n = x.name ) where x.type in ('P') and r.CurrentLevel = @CurrentLevel  update @result set morphemtype = 'SystemObject' , MorphemSubType = 'Table' where \r\np1 in (select name from sys.schemas with (readpast) ) and p1 <> 'dbo' and p2 > ' ' and CurrentLevel = @CurrentLevel and p2 not like 'sp[_]%'  and morphemtype\r\n = 'Morphem' and morphemsubtype is null update @result set morphemtype = 'SystemObject' , MorphemSubType = 'Table' where exists (select top 1 1 from sys.databases\r\n sd  where p1 = sd.name collate database_default ) and p2 > ' ' and CurrentLevel = @CurrentLevel and p2 not like 'sp[_]%'  and morphemtype = 'Morphem' \r\nand morphemsubtype is null  update @result set MorphemSubtype = 'Table' where MorphemType = 'Variable' and morphem in (select r1.Morphem from @Result r1\r\n join @Result r2 on r1.SortOrder + 1 = r2.SortOrder and r1.Morphemtype = 'Variable' and r2.Morphem = 'Table' join @Result r3 on r2.SortOrder + 1 = r3.SortOrder\r\n and r3.Morphem = '(' ) and CurrentLevel = @CurrentLevel update @result set Morphemtype = 'ProgramElement' , MorphemSubtype = 'Label' from @Result r join\r\n (select * from @result where CurrentLevel = @CurrentLevel) as r2 on r.SortOrder +1 = r2.SortOrder where r.MorphemType = 'Morphem' and r.MorphemSubtype\r\n is null and r2.Morphem = ':' and r.CurrentLevel = @CurrentLevel update @result set Morphemtype = 'ProgramElement' , MorphemSubtype = 'Label' from @Result\r\n r2 join (select * from @result where CurrentLevel = @CurrentLevel) as r1 on r1.SortOrder +1 = r2.SortOrder where r2.MorphemType = 'Morphem' and r2.MorphemSubtype\r\n is null and r1.Morphem = 'Goto' and r2.CurrentLevel = @CurrentLevel   update @result set Morphemtype = r1.Morphemtype , MorphemSubtype = 'TableAlias1'\r\n from @Result r2 join (select * from @result where CurrentLevel = @CurrentLevel) as r1 on r1.morphemSubtype in ('Table', 'view', 'TableFunction') and r1.SortOrder\r\n + 1 = r2.SortOrder where r2.MorphemType = 'Morphem' and r2.MorphemSubtype is null and len(r2.morphem) <= @MaxlenAlias and r2.p1 is null and r2.CurrentLevel\r\n = @CurrentLevel  update @result set Morphemtype = r1.Morphemtype , MorphemSubtype = 'TableAlias2' from @Result r3 join (select * from @result where CurrentLevel\r\n = @CurrentLevel) as r1 on r1.morphemSubtype in ('Table', 'view', 'TableFunction') join (select * from @result where CurrentLevel = @CurrentLevel) as r2\r\n on r2.Morphem = 'AS' and r1.SortOrder + 1 = r2.SortOrder and r2.SortOrder +1 = r3.SortOrder where r3.MorphemType = 'Morphem' and r3.MorphemSubtype is \r\nnull and len(r3.morphem) <= @MaxlenAlias and r3.p1 is null and r3.CurrentLevel = @CurrentLevel  update @result set Morphemtype = r1.Morphemtype , MorphemSubtype\r\n = 'TableAlias3' from @Result r2 join (select * from @result where CurrentLevel = @CurrentLevel) r1 on r1.morphem = ')' and r1.SortOrder + 1 = r2.SortOrder\r\n where r2.MorphemType = 'Morphem' and r2.MorphemSubtype is null and len(r2.morphem) <= @MaxlenAlias and r2.p1 is null and r2.CurrentLevel = @CurrentLevel\r\n and r2.morphem <> 'returns'  update @result set Morphemtype = r1.Morphemtype , MorphemSubtype = 'TableAlias4' from @Result r3 join (select * from @result\r\n where CurrentLevel = @CurrentLevel) as r1 on r1.morphem = ')' join (select * from @result where CurrentLevel = @CurrentLevel) as r2 on r2.Morphem = 'AS'\r\n and r1.SortOrder + 1 = r2.SortOrder and r2.SortOrder +1 = r3.SortOrder where r3.MorphemType = 'Morphem' and r3.MorphemSubtype is null and len(r3.morphem\r\n) <= @MaxlenAlias and r3.p1 is null and r3.CurrentLevel = @CurrentLevel  update @Result set Morphemtype = b.Morphemtype , MorphemSubtype = 'TableAlias5'\r\n from @Result a join (select * from @result where CurrentLevel = @CurrentLevel) as b on b.MorphemSubtype like 'TableAlias_' and b.Morphem = a.Morphem where\r\n a.MorphemType = 'Morphem' and a.MorphemSubtype is null and not exists (select top 1 1 from @Result c where c.Morphem = a.Morphem and (c.MorphemSubtype\r\n not like 'TableAlias_' ) ) and a.CurrentLevel = @CurrentLevel   update @result set Morphemtype = te.Morphemtype , MorphemSubtype = 'Column' from @Result\r\n r join sys.columns x with (readpast) on r.MorphemType = 'Morphem' and r.MorphemSubtype is null and (r.Morphem = x.name or r.p2 = x.name ) join sys.objects\r\n t with (readpast) on x.Object_id = t.Object_id join (select * from @result where CurrentLevel = @CurrentLevel) as te on te.MorphemSubtype in ('table',\r\n 'View', 'TableFunction') and ( te.morphem = t.name or te.p2 = t.name ) where r.CurrentLevel = @CurrentLevel  update @result set Morphemtype = ta.Morphemtype\r\n , MorphemSubtype = 'Column' from @Result r join (select * from @result where CurrentLevel = @CurrentLevel) as ta on ta.MorphemSubtype like ('tableAlias_'\r\n) and r.p1 = ta.morphem where r.CurrentLevel = @CurrentLevel  update @Result set Morphemtype = r1.Morphemtype , MorphemSubtype = 'ColumnAlias' from @Result\r\n r3 join (select * from @result where CurrentLevel = @CurrentLevel) as r2 on r2.SortOrder +1 = r3.SortOrder join (select * from @result where CurrentLevel\r\n = @CurrentLevel) as r1 on r1.SortOrder +1 = r2.SortOrder where r1.MorphemSubtype = 'Column' and r2.Morphem = 'as' and r3.MorphemType = 'Morphem' and r3.MorphemSubtype\r\n is null and r3.CurrentLevel = @CurrentLevel  update @Result set Morphemtype = r1.Morphemtype , MorphemSubtype = 'ColumnAlias' from @Result r2 join (select\r\n * from @result where CurrentLevel = @CurrentLevel) as r1 on r1.SortOrder +1 = r1.SortOrder where r1.MorphemSubtype = 'Column' and r2.MorphemType = 'Morphem'\r\n and r2.MorphemSubtype is null and r2.CurrentLevel = @CurrentLevel update @result set Morphemtype = 'ProgramElement' , MorphemSubtype = 'Cur' + 'sor' from\r\n @Result r where r.MorphemType = 'Morphem' and r.MorphemSubtype is null and exists (select top 1 1 from @Result r1 join @result r2 on r1.SortOrder +1 =\r\n r2.SortOrder and r1.CurrentLevel = @CurrentLevel and r2.CurrentLevel = @CurrentLevel where r2.Morphem = r.Morphem and r2.MorphemType = 'Morphem' and r2.MorphemSubType\r\n is null and r1.MorphemType = 'Keyword' and r1.Morphem = 'DECLARE' ) and exists (select top 1 1 from @Result r1 join @result r2 on r1.SortOrder +1 = r2.SortOrder\r\n and r1.CurrentLevel = @CurrentLevel and r2.CurrentLevel = @CurrentLevel where r2.Morphem = r.Morphem and r2.MorphemType = 'Morphem' and r2.MorphemSubType\r\n is null and r1.MorphemType = 'Keyword' and r1.Morphem = 'OPEN' ) and exists (select top 1 1 from @Result r1 join @result r2 on r1.SortOrder +1 = r2.SortOrder\r\n and r1.CurrentLevel = @CurrentLevel and r2.CurrentLevel = @CurrentLevel where r2.Morphem = r.Morphem and r2.MorphemType = 'Morphem' and r2.MorphemSubType\r\n is null and r1.MorphemType = 'Keyword' and r1.Morphem = 'FROM' ) and exists (select top 1 1 from @Result r1 join @result r2 on r1.SortOrder +1 = r2.SortOrder\r\n and r1.CurrentLevel = @CurrentLevel and r2.CurrentLevel = @CurrentLevel where r2.Morphem = r.Morphem and r2.MorphemType = 'Morphem' and r2.MorphemSubType\r\n is null and r1.MorphemType = 'Keyword' and r1.Morphem = 'Close' ) and exists (select top 1 1 from @Result r1 join @result r2 on r1.SortOrder +1 = r2.SortOrder\r\n and r1.CurrentLevel = @CurrentLevel and r2.CurrentLevel = @CurrentLevel where r2.Morphem = r.Morphem and r2.MorphemType = 'Morphem' and r2.MorphemSubType\r\n is null and r1.MorphemType = 'Keyword' and r1.Morphem = 'deallocate' ) and r.CurrentLevel = @CurrentLevel  update @result set Morphemtype = 'KeyWord' \r\n, MorphemSubtype = x.KeywordArea from @Result r join dbo.QBM_FTSQLKeywords(1) x on r.MorphemType = 'Morphem' and r.MorphemSubtype is null and r.Morphem\r\n = x.Keyword where r.CurrentLevel = @CurrentLevel update @result set isConflicted = 1 from @Result r join dbo.QBM_FTSQLKeywords(1) x on r.MorphemType <>\r\n 'KeyWord' and r.Morphem = x.Keyword where r.Morphemtype not in ('SystemObject') and r.CurrentLevel = @CurrentLevel endLabel: insert into @erg( SortOrder\r\n , MorphemType , MorphemSubType , isConflicted , CurrentLevel , Morphem , p1 , p2 , LenMorphem , TargetLine ) select SortOrder , MorphemType , MorphemSubType\r\n , isConflicted , CurrentLevel , Morphem , p1 , p2 , LenMorphem , TargetLine from @result return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FTColumnsToWatch",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:26.73",
      "ModifyDate": "2026-04-14T23:20:26.73",
      "Definition": "create function dbo.QBM_FTColumnsToWatch(@TableName varchar(32) , @Operation varchar(16) ) returns @erg table ( TableName nvarchar(32) collate database_default\r\n , ColumnName nvarchar(32) collate database_default , TableNameView nvarchar(32) collate database_default , ColumnNameView nvarchar(32) collate database_default\r\n ) as begin declare @UeberhauptWas int = 0 if '' = dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\PropertyLog') begin goto ende end if not exists (select\r\n top 1 1 from DialogColumn c with (readpast) join DialogTable t with (readpast) on c.UID_DialogTable = t.UID_DialogTable where t.TableName = @TableName\r\n and c.ColumnName = 'XObjectKey' ) begin goto ende end   insert into @erg (TableName, ColumnName, TableNameView, ColumnNameView) select bt.TableName, bc.ColumnName\r\n, t.TableName, c.ColumnName from DialogColumn bc with (readpast) join DialogTable bt with (readpast) on bc.UID_DialogTable = bt.UID_DialogTable and bt.TableName\r\n = @TableName and bc.IsDeactivatedByPreProcessor = 0 and bt.IsDeactivatedByPreProcessor = 0 join DialogTable t with (readpast) on ( t.TableType = 'T' and\r\n t.UID_DialogTable = bt.UID_DialogTable or t.TableType = 'V' and t.UID_DialogTableBase = bt.UID_DialogTable ) and t.IsDeactivatedByPreProcessor = 0 join\r\n DialogColumn c with (readpast) on c.UID_DialogTable = t.UID_DialogTable and ( t.TableType = 'T' and c.ColumnName = bc.ColumnName or t.TableType = 'V' \r\nand c.UID_BaseColumn = bc.UID_DialogColumn ) and c.IsDeactivatedByPreProcessor = 0 where ( (c.IsToWatch = 1 and @Operation in ('INSERT', 'UPDATE') and \r\nt.UsageType in ('CONFIGURATION', 'USERDATA', 'MATERIAL') ) or (c.IsToWatchDelete = 1 and @Operation in ('DELETE') and ( t.UsageType in ('CONFIGURATION'\r\n, 'USERDATA', 'MATERIAL') or ( t.UsageType = 'HISTORY'  and left(t.UID_DialogTable, 3) <> 'QBM' ) ) ) ) select @UeberhauptWas = @@ROWCOUNT if @UeberhauptWas\r\n > 0 begin insert into @erg (TableName, ColumnName, TableNameView, ColumnNameView) select bt.TableName, bc.ColumnName, t.TableName, c.ColumnName from DialogColumn\r\n bc with (readpast) join DialogTable bt with (readpast) on bc.UID_DialogTable = bt.UID_DialogTable and bt.TableName = @TableName join DialogTable t with\r\n (readpast) on ( t.TableType = 'T' and t.UID_DialogTable = bt.UID_DialogTable or t.TableType = 'V' and t.UID_DialogTableBase = bt.UID_DialogTable ) join\r\n DialogColumn c with (readpast) on c.UID_DialogTable = t.UID_DialogTable and ( t.TableType = 'T' and c.ColumnName = bc.ColumnName or t.TableType = 'V' \r\nand c.UID_BaseColumn = bc.UID_DialogColumn ) where c.IsAlternatePKMember = 1 and t.IsTransportDisabled = 0 and ( left(t.UID_DialogTable, 3) = 'QBM' and\r\n '1' = dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\PropertyLog\\AutoTrackAlternatePK') or left(t.UID_DialogTable, 3) <> 'QBM' and '1' = dbo.QBM_FGIConfigparmValue\r\n('Common\\ProcessState\\PropertyLog\\AutoTrackAlternatePK\\PayLoad') ) and Not exists (select top 1 1 from @erg e where e.ColumnName = c.ColumnName and e.TableName\r\n = @TableName ) end  if @UeberhauptWas > 0 and @Operation = 'Delete' begin insert into @erg (TableName, ColumnName, TableNameView, ColumnNameView) select\r\n bt.TableName, bc.ColumnName, t.TableName, c.ColumnName from DialogColumn bc with (readpast) join DialogTable bt with (readpast) on bc.UID_DialogTable \r\n= bt.UID_DialogTable and bt.TableName = @TableName and bc.IsDeactivatedByPreProcessor = 0 and bt.IsDeactivatedByPreProcessor = 0 join DialogTable t with\r\n (readpast) on ( t.TableType = 'T' and t.UID_DialogTable = bt.UID_DialogTable or t.TableType = 'V' and t.UID_DialogTableBase = bt.UID_DialogTable ) and\r\n t.IsDeactivatedByPreProcessor = 0 join DialogColumn c with (readpast) on c.UID_DialogTable = t.UID_DialogTable and ( t.TableType = 'T' and c.ColumnName\r\n = bc.ColumnName or t.TableType = 'V' and c.UID_BaseColumn = bc.UID_DialogColumn ) and c.IsDeactivatedByPreProcessor = 0 where c.IsPKMember = 1 and not\r\n exists (Select top 1 1 from @erg e where e.TableName = bt.TableName and e.ColumnName = bc.ColumnName and e.TableNameView = t.TableName and e.ColumnNameView\r\n = c.ColumnName ) end delete  @erg from @erg e where exists (select top 1 1 from DialogColumn cc with (readpast) join DialogTable t with (readpast) on \r\ncc.UID_DialogTable = t.UID_DialogTable where e.TableName = t.TableName and e.ColumnName= cc.COLUMNNAME and cc.SchemaDataType in ('text', 'ntext', 'image'\r\n)  ) ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FTDBQCSOverviewLoad",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:16:08.96",
      "ModifyDate": "2026-04-14T23:16:08.96",
      "Definition": "create function dbo.QBM_FTDBQCSOverviewLoad (@LastDBQueueChecksum int  , @ExecutionType int    ) returns @erg table (UID_Task varchar(38) collate database_default\r\n not null , CountElements int default 0  , HasRecalculate bit default 0  , CountReset int default 0   , PreliminaryPathLength int default 0   , CountProcessing\r\n int default 0  primary key nonclustered (UID_Task) ) as begin declare @CurrentDBQueueChecksum int declare @CurrentTaskDefChecksum int declare @CurrentDBQueueCount\r\n int declare @ExecutionTypeToHandle int = 0 declare @IsDBSchedulerDisabled bit declare @UID_CutOffTask varchar(38) declare @SingleUserProcess int declare\r\n @UpdatePhase int declare @MaxPathlength int declare @Einschluß QBM_YSingleGUID declare @Uebervoll_Lademenge int = 250000 declare @Uebervoll_Nachlademenge\r\n int = 75000 declare @UbervollLimit int = @Uebervoll_Lademenge + @Uebervoll_Nachlademenge select top 1 @IsDBSchedulerDisabled = d.IsDBSchedulerDisabled\r\n , @SingleUserProcess = d.SingleUserProcess , @UpdatePhase = d.UpdatePhase , @UID_CutOffTask = d.UID_CutOffTask from DialogDatabase d with (readpast) where\r\n d.IsMainDatabase = 1 select top 1 @CurrentTaskDefChecksum = abs(abs(CHECKSUM_AGG(x.cs)) - dbo.QBM_FGITableCountAll('QBMDBQueueTaskDepend'))  from ( select\r\n checksum(concat(t.UID_Task , str(t.CustomWeight))) as cs from QBMDBQueueTask t with (readpast)  ) as x insert into @erg (UID_Task, CountElements) select\r\n 'TASKCHECKSUM' , @CurrentTaskDefChecksum if @UID_CutOffTask > ' ' begin insert into @erg (UID_Task, CountElements) select 'CutOffTaskLevel', m.PathLength\r\n from QBMDBQueueTaskMetric m with (readpast) where m.UID_Task = @UID_CutOffTask end if  @IsDBSchedulerDisabled = 1 or @SingleUserProcess > 0 begin insert\r\n into @erg (UID_Task, CountElements) select 'EmergencyOff', 1 if @ExecutionType >= 0  begin insert into @erg (UID_Task, CountElements) values ('CountTotal'\r\n, 0) , ('CurrentChecksum' , 111) , ('NoChange' , 1) goto endLabel end else begin  select @ExecutionTypeToHandle = 0  end end  select @CurrentDBQueueCount\r\n = dbo.QBM_FGITableCountAll('DialogDBQueue') select top 1 @CurrentDBQueueChecksum = abs(abs(isnull(CHECKSUM_AGG(x.cs), 0)) - @CurrentDBQueueCount + (datepart\r\n(ss, getutcdate()) / 5)) from ( select top 500 checksum( concat(q.UID_DialogDBQueue, str(q.Generation) )) as cs from DialogDBQueue q with (readpast) order\r\n by q.UID_DialogDBQueue ) as x insert into @erg(UID_Task, CountElements) select 'CountTotal', @CurrentDBQueueCount insert into @erg(UID_Task, CountElements\r\n) select 'CurrentChecksum', @CurrentDBQueueChecksum   if @CurrentDBQueueChecksum = @LastDBQueueChecksum begin insert into @erg(UID_Task, CountElements)\r\n select 'NoChange', 0 goto endLabel end if @ExecutionTypeToHandle = 0 begin if @CurrentDBQueueCount < @UbervollLimit and @CurrentDBQueueCount >= 0   begin\r\n insert into @erg (UID_Task , CountElements) select q.UID_Task, q.CountRecords from ( select dq.UID_Task , count(*) CountRecords from DialogDBQueue dq \r\nwith (readpast, index (QBM_XC5DialogDBQueue)) where dq.Generation >= 0 group by dq.UID_Task ) q  end else begin   insert into @erg (UID_Task, CountElements\r\n) select y.UID_Task, count(*) from ( select top (@Uebervoll_Lademenge) q.UID_Task, q.Generation from DialogDBQueue q with (readpast , index (QBM_XC7DialogDBQueue\r\n) )    where q.Generation >= 0 order by PathLength  ) as y   group by y.UID_Task option (maxdop 1)   if @@ROWCOUNT <= 3  begin  insert into @Einschluß(UID_SingleGuid\r\n) select top 10 UID_Task from QBMDBQueueTaskMetric m with (readpast) where m.PathLength >= ( select  max(m.PathLength) from QBMDBQueueTaskMetric m with\r\n (readpast) join @erg e on m.UID_Task = e.UID_Task ) and not exists (select top 1 1 from @erg e where e.UID_Task = m.UID_Task ) order by m.PathLength asc\r\n   if (select sum(me.MaxInstanceEffective) as Summe from @erg e join QBMDBQueueTaskMetric me with (readpast) on e.UID_Task = me.UID_Task ) < dbo.QBM_FGIDBQueueSlotsMax\r\n() begin  insert into @erg (UID_Task, CountElements) select y.UID_Task, count(*) from ( select top (@Uebervoll_Nachlademenge) q.UID_Task, q.Generation \r\nfrom DialogDBQueue q with (readpast , index (QBM_XC5DialogDBQueue), ForceSeek) join @Einschluß e on e.UID_SingleGuid = q.UID_Task order by q.PathLength\r\n ) as y where y.Generation >= 0 group by y.UID_Task option (maxdop 1) end end end  end  if exists (select top 1 1 from @erg e where e.UID_Task in ('QBM-K-CommonReCalculate'\r\n  ) ) begin  delete @erg where UID_Task in ('QBM-K-CommonReCalculate'  ) merge into @erg as t using ( select q.Object as UID_Task from DialogDBQueue q \r\nwith(readpast)  where q.UID_Task in ('QBM-K-CommonReCalculate'  ) and q.Generation >= 0        group by q.Object ) as s on t.UID_Task = s.UID_Task when\r\n matched then update set t.HasRecalculate = 1 when not matched by target then insert (UID_Task , CountElements, HasRecalculate ) values (s.UID_Task, 1,\r\n 1) ; end if exists (select top 1 1 from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber < 0 ) begin merge into @erg as t using ( select z.UID_Task\r\n, sum (AnzahlReset) as AnzahlReset, sum(AnzahlProcessing) as AnzahlProcessing from ( select cu.UID_Task, count(*) as AnzahlReset, 0 as AnzahlProcessing\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber < 0 group by cu.UID_Task union all select cu.UID_Task, 0 as AnzahlReset, count(*) as AnzahlProcessing\r\n from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber > 0 group by cu.UID_Task ) as z group by z.UID_Task ) as s on t.UID_Task = s.UID_Task when\r\n matched then update set t.CountReset = s.AnzahlReset , t.CountProcessing = s.AnzahlProcessing when not matched by target then insert (UID_Task , CountElements\r\n, HasRecalculate, CountReset, CountProcessing ) values (s.UID_Task, 0, 0, s.AnzahlReset, s.AnzahlProcessing) ; end if @UpdatePhase > 0 begin select @MaxPathlength\r\n = -1 select top 1 @MaxPathlength = m.PathLength from QBMDBQueueTaskMetric m with (readpast) where m.UID_Task = 'QBM-K-QBMSystemCompiled' if @MaxPathlength\r\n > 0 begin update @erg set PreliminaryPathLength = m.PathLength from @erg e join QBMDBQueueTaskMetric m with (readpast) on e.UID_Task = m.UID_Task delete\r\n @erg from @erg e where e.PreliminaryPathLength > @MaxPathlength end end  endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FTDialogProcessReady",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:25.897",
      "ModifyDate": "2026-04-14T23:20:25.897",
      "Definition": "create function dbo.QBM_FTDialogProcessReady (@ProcessesToCheck dbo.QBM_YSingleGUID readonly  ) returns @erg table( GenProcID varchar(38) collate database_default\r\n , ReadyForDeleteOrExport int default 0 ) as begin declare @Worktable dbo.QBM_YSingleGUID    insert into @Worktable(UID_SingleGuid  , IntProperty  ) select\r\n p.UID_SingleGuid , 4 from @ProcessesToCheck p  update @Worktable set IntProperty = 0  from @Worktable p where p.IntProperty = 4 and exists (select top\r\n 1 1 from dbo.DialogDBQueue q with (nolock) where q.GenProcID = p.UID_SingleGuid   and q.Generation >= 0 )  update @Worktable set IntProperty = 0  from\r\n @Worktable p where p.IntProperty = 4 and exists (select top 1 1 from dbo.QBMDBQueueCurrent cu with (nolock) where cu.GenProcID = p.UID_SingleGuid  )  \r\nupdate @Worktable set IntProperty = 0  from @Worktable p where p.IntProperty = 4 and exists (select top 1 1 from dbo.DialogDeferredOperation de with (nolock\r\n) where de.GenProcID = p.UID_SingleGuid  )  update @Worktable set IntProperty = 0  from @Worktable p where p.IntProperty = 4 and exists (select top 1 1\r\n from dbo.JobQueue q with (readpast) where q.GenProcID = p.UID_SingleGuid  ) if dbo.QBM_FGIModuleExists('QER') = 1 begin update @Worktable set IntProperty\r\n = 0  from @Worktable p where p.IntProperty = 4 and exists (select top 1 1 from dbo.PersonWantsOrg q with (readpast) where q.GenProcID = p.UID_SingleGuid\r\n  ) end  update @Worktable set IntProperty = 0  from @Worktable p where p.IntProperty = 4 and exists (select top 1 1 from dbo.DialogWatchOperation w with\r\n (nolock) where w.GenProcID = p.UID_SingleGuid  and w.ReadyForDeleteOrExport in( 0, 1) )  update @Worktable set IntProperty = 6 from @Worktable p where\r\n IntProperty >= 4 and IntProperty <> 6 and exists (select top 1 1 from dbo.DialogWatchOperation w with (nolock) where w.GenProcID = p.UID_SingleGuid  and\r\n w.ReadyForDeleteOrExport = 2 )  update @Worktable set IntProperty = 0  from @Worktable p where p.IntProperty >= 4 and exists (select top 1 1 from dbo.DialogProcessChain\r\n c with (nolock) where c.GenProcID = p.UID_SingleGuid  and c.ReadyForDeleteOrExport in ( 0, 1) ) update @Worktable set IntProperty = 6 from @Worktable \r\np where p.IntProperty >= 4 and p.IntProperty <> 6 and exists (select top 1 1 from dbo.DialogProcessChain c with (nolock) where c.GenProcID = p.UID_SingleGuid\r\n  and c.ReadyForDeleteOrExport = 2 )  update @Worktable set IntProperty = 0  from @Worktable p where p.IntProperty >= 4 and exists (select top 1 1 from\r\n dbo.JobHistory h with (nolock) where h.GenProcID = p.UID_SingleGuid  and h.ReadyForDeleteOrExport in ( 0, 1) ) update @Worktable set IntProperty = 6 from\r\n @Worktable p where p.IntProperty >= 4 and p.IntProperty <> 6 and exists (select top 1 1 from dbo.JobHistory h with (nolock) where h.GenProcID = p.UID_SingleGuid\r\n  and h.ReadyForDeleteOrExport = 2 )  update @Worktable set IntProperty = 1 from @Worktable p where p.IntProperty = 4 update @Worktable set IntProperty\r\n = 2  from @Worktable p where p.IntProperty = 6   insert into @erg (GenProcID, ReadyForDeleteOrExport) select w.UID_SingleGuid, w.IntProperty from @Worktable\r\n w where w.IntProperty > 0 return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FTDialogProcessSelect",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:32.163",
      "ModifyDate": "2026-04-14T23:20:32.163",
      "Definition": "create function dbo.QBM_FTDialogProcessSelect(@ObjectKey varchar(138)  , @XUserInserted nvarchar(64)  , @ChildrenList varchar(max)  , @IncludeSubstitution\r\n bit ) returns @erg table ( BasisObjectType nvarchar(32) collate database_default , CustomComment nvarchar(256) collate database_default , GenProcID varchar\r\n(38) collate database_default , ObjectKey varchar(138) collate database_default , DisplayName nvarchar(1024) collate database_default , ProcessState nchar\r\n(1) collate database_default , XUserInserted nvarchar(64) collate database_default , XUserUpdated nvarchar(64) collate database_default , XDateInserted\r\n datetime , XDateUpdated datetime , Origin int ) with schemabinding as begin  declare @Work dbo.QBM_YCursorBuffer  declare @Children dbo.QBM_YParameterList\r\n if @ChildrenList > ' ' begin insert into @Children(Parameter1) select y.Value from string_split(@ChildrenList, char(7)) as y where y.value > ' '  if @@ROWCOUNT\r\n > 0  begin insert into @Work(UID1 , Int1 ) select p.GenProcID , 17 as Origin from dbo.DialogProcess p with (readpast) join @Children l on p.ObjectKey \r\n= l.Parameter1 union all select p.GenProcID , 18 as Origin from dbo.DialogProcessChain p with (readpast) join @Children l on p.ObjectKey = l.Parameter1\r\n end end if @ObjectKey > ' ' begin insert into @Work(UID1 , Int1 ) select p.GenProcID , 1 as Origin from dbo.DialogProcess p with (readpast) where p.ObjectKey\r\n = @ObjectKey union all select p.GenProcID , 2 as Origin from dbo.DialogProcessChain p with (readpast) where p.ObjectKey = @ObjectKey end if @XUserInserted\r\n > ' ' begin insert into @Work(UID1 , Int1 ) select p.GenProcID , 1 as Origin from dbo.DialogProcess p with (readpast) where p.XUserInserted = @XUserInserted\r\n union all select p.GenProcID , 2 as Origin from dbo.DialogProcessChain p with (readpast) where p.XUserInserted = @XUserInserted end if @ObjectKey > ' '\r\n and @IncludeSubstitution = 1 begin  insert into @Work(UID1 , Int1 ) select s.GenProcIDNew as GenProcID , 4 as Origin from dbo.DialogProcessSubstitute \r\ns with (readpast) where exists (select top 1 1 from dbo.DialogProcess p with (readpast) where p.ObjectKey = @ObjectKey  and p.GenProcID = s.GenProcIDOrigin\r\n )  and s.ReadyForDeleteOrExport = 0 union all  select s.GenProcIDOrigin as GenProcID , 8 as Origin from dbo.DialogProcessSubstitute s with (readpast) \r\nwhere exists (select top 1 1 from dbo.DialogProcess p with (readpast) where p.ObjectKey = @ObjectKey  and p.genprocId = s.GenProcIDNew )  and s.ReadyForDeleteOrExport\r\n = 0 end if @XUserInserted > ' ' and @IncludeSubstitution = 1 begin  insert into @Work(UID1 , Int1 ) select s.GenProcIDNew as GenProcID , 4 as Origin from\r\n dbo.DialogProcessSubstitute s with (readpast) where exists (select top 1 1 from dbo.DialogProcess p with (readpast) where p.XUserInserted = @XUserInserted\r\n  and p.GenProcID = s.GenProcIDOrigin )  and s.ReadyForDeleteOrExport = 0 union all  select s.GenProcIDOrigin as GenProcID , 8 as Origin from dbo.DialogProcessSubstitute\r\n s with (readpast) where exists (select top 1 1 from dbo.DialogProcess p with (readpast) where p.XUserInserted = @XUserInserted  and p.genprocId = s.GenProcIDNew\r\n )  and s.ReadyForDeleteOrExport = 0 end insert into @erg(BasisObjectType, CustomComment, GenProcID, ObjectKey, DisplayName , ProcessState, XUserInserted\r\n, XDateInserted, XDateUpdated, Origin , XUserUpdated ) select d.BasisObjectType, d.CustomComment, d.GenProcID, d.ObjectKey, d.DisplayName ,d.ProcessState\r\n, d.XUserInserted, d.XDateInserted, d.XDateUpdated, x.Origin , d.XUserUpdated from dbo.DialogProcess d with (readpast) join ( select w.UID1  , MAX(w.Int1\r\n  & 1) + MAX(w.Int1  & 2) +MAX(w.Int1  & 4) + MAX(w.Int1  & 8) + MAX(w.Int1  & 16) as Origin from @Work w group by w.UID1  ) as x on d.GenProcID = x.UID1\r\n  where exists  ( select top 1 1 from dbo.DialogProcessChain pc with (readpast) where pc.GenProcID = d.GenProcID )   return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FTIndexesForColumns",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:14:10.207",
      "ModifyDate": "2026-04-14T23:14:10.207",
      "Definition": "create function dbo.QBM_FTIndexesForColumns ( @TableName varchar(30)   , @Columns varchar(max)    , @Includes varchar(max)  ) returns @erg table (IndexName\r\n varchar(256) collate database_default  , IsPK bit , IsUnique bit , HasMoreColumns bit , HasAllIncludes bit , HasMoreIncludes bit ) as begin declare @ColumnsList\r\n QBM_YParameterList   declare @IncludesList QBM_YParameterList  declare @CountColumns int declare @CountIncludes int insert into @ColumnsList(Parameter1\r\n, Parameter2) select trim(l.ParameterValue), dbo.QBM_FCVStringPadLeft( dbo.QBM_FCVIntToString(l.OrderNumber), 3, '0') from dbo.QBM_FCVStringToList(@columns\r\n, ',', 1, 0) l select @CountColumns = @@ROWCOUNT  update @ColumnsList set Parameter3 = 'desc' ,Parameter1 = trim(left(Parameter1, patindex('% desc%', Parameter1\r\n))) from @ColumnsList l where l.Parameter1 like '% desc%' insert into @IncludesList(Parameter1) select l.ParameterValue from dbo.QBM_FCVStringToList(@Includes\r\n, ',', 1, 0) l select @CountIncludes = @@ROWCOUNT   insert into @erg(IndexName, IsPK, IsUnique, HasMoreColumns, HasAllIncludes, HasMoreIncludes) select\r\n ali.indexname , ali.IsPK, ali.IsUnique  , mai.HasMoreColumns , case when @CountIncludes > 0 then sign(len(isnull(inx.indexname, ''))) else 1 end as HasAllIncludes\r\n , isnull(inx.HasMoreIncludes, 0) as HasMoreIncludes from ( select i.name as indexname, i.is_primary_key as IsPK, i.is_unique as IsUnique from sys.objects\r\n t with (readpast) join sys.indexes i with (readpast) on i.object_id = t.object_id where t.name = @TableName  and i.is_hypothetical = 0  and i.type not\r\n in (3,4,5,6)  ) as ali  join ( select ec.indexname , sign(count(*) - @CountColumns) as HasMoreColumns  from (select i.name as indexname, concat(dbo.QBM_FCVStringPadLeft\r\n( dbo.QBM_FCVIntToString( ic.key_ordinal), 3, '0') , c.name, case ic.is_descending_key when 1 then 'desc' else '' end ) as columnname from sys.index_columns\r\n ic with (readpast) join sys.objects t with (readpast) on t.object_id = ic.object_id and t.name = @TableName and ic.is_included_column = 0 join sys.indexes\r\n i with (readpast) on ic.index_id = i.index_id and i.object_id = t.object_id  and i.is_hypothetical = 0   and i.type not in (3,4,5,6) join sys.columns \r\nc with (readpast) on t.object_id = c.Object_id and c.column_id = ic.column_id ) ec left outer join @ColumnsList cl on concat(cl.Parameter2 , cl.Parameter1\r\n, cl.Parameter3 ) = ec.columnname group by ec.indexname having count(distinct cl.Parameter1) = @CountColumns ) as mai  on ali.indexname = mai.indexname\r\n left outer join ( select ei.indexname , sign(count(*) - @CountIncludes) as HasMoreIncludes from (select i.name as indexname, c.name as columnname from\r\n sys.index_columns ic with (readpast) join sys.objects t with (readpast) on t.object_id = ic.object_id and t.name = @TableName and ic.is_included_column\r\n = 1 join sys.indexes i with (readpast) on ic.index_id = i.index_id and i.object_id = t.object_id  and i.is_hypothetical = 0   and i.type not in (3,4,5\r\n,6) join sys.columns c with (readpast) on t.object_id = c.Object_id and c.column_id = ic.column_id ) as ei left outer join @IncludesList il on il.Parameter1\r\n = ei.columnname group by ei.indexname having count(distinct il.Parameter1) >= @CountIncludes ) as inx  on mai.indexname = inx.indexname return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FTJobQueueSetSameServer",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:31.85",
      "ModifyDate": "2026-04-14T23:20:31.85",
      "Definition": "create function dbo.QBM_FTJobQueueSetSameServer (@UID_Job varchar(38) ) returns @erg table (UID_Job varchar(38) collate database_default , UID_JobSameServerOld\r\n varchar(38) collate database_default , UID_JobSameServerNew varchar(38) collate database_default , UID_JobSuccess varchar(38) collate database_default\r\n , UID_JobError varchar(38) collate database_default ) with schemabinding as begin  declare @UID_JobSameServerExists varchar(38) declare @UID_Tree varchar\r\n(38) declare @CountItems int if isnull(@UID_Job, '') = '' begin goto endLabel end select top 1 @UID_JobSameServerExists = uid_jobsameserver, @UID_Tree \r\n= uid_tree from dbo.JobQueue with (nolock) where uid_job = @UID_Job if isnull(@UID_JobSameServerExists, '') = '' begin goto endLabel end if @UID_JobSameServerExists\r\n = @UID_Job begin goto endLabel end insert into @erg(UID_Job, UID_JobSameServerOld, UID_JobSuccess, UID_JobError) select q.UID_Job, q.UID_JobSameServer\r\n, q.UID_JobSuccess, q.UID_JobError from dbo.JobQueue q with (nolock) where q.UID_Tree = @UID_Tree update @erg set UID_JobSameServerNew = @UID_Job where\r\n UID_Job = @UID_Job select @CountItems = 1 while @CountItems > 0 begin update @erg set UID_JobSameServerNew = @UID_Job from @erg t join (select m.UID_JobSuccess\r\n from @erg m where m.UID_JobSameServerNew > ' ' ) as s on t.UID_Job = s.UID_JobSuccess where t.UID_JobSameServerOld = @UID_JobSameServerExists and t.UID_JobSameServerNew\r\n is null         select @CountItems = @@rowcount update @erg set UID_JobSameServerNew = @UID_Job from @erg t join (select m.UID_JobError from @erg m where\r\n m.UID_JobSameServerNew > ' ' ) as s on t.UID_Job = s.UID_JobError where t.UID_JobSameServerOld = @UID_JobSameServerExists and t.UID_JobSameServerNew is\r\n null         select @CountItems += @@rowcount end   update @erg set UID_JobSameServerNew = UID_Job where UID_JobSameServerNew is null and UID_JobSameServerOld\r\n = @UID_JobSameServerExists endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FTSessionError_Split",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:14:10.44",
      "ModifyDate": "2026-04-14T23:14:10.44",
      "Definition": "create function dbo.QBM_FTSessionError_Split(@string varchar(8000) ) returns @SessionError table ( ErrorMessage varchar(2047) collate database_default \r\n, ErrorSeverity int default 0 , ErrorState int default 0  , ErrorNumber int default 0 , ProcedureName varchar(30) collate database_default , ProcedureLine\r\n int default 0 , MessageDate datetime , GenProcID varchar(38) collate database_default , RepeatCounter int default 0  , IsReThrow bit default 0 , SourceCode\r\n varchar(max) collate database_default  ) as begin declare @zerlegt table (ElementIndex int identity , Wert varchar(8000) ) declare @ZerlegteElemente int\r\n declare @SollElemente int = 11 insert into @zerlegt (Wert) select value as wert from string_split(@string, CHAR(7) , 1   ) x order by x.ordinal select\r\n @ZerlegteElemente = @@ROWCOUNT while @ZerlegteElemente < @SollElemente begin insert into @zerlegt(Wert) select '' select @ZerlegteElemente += 1 end  insert\r\n into @SessionError(ErrorMessage, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow\r\n, SourceCode ) select p1.ErrorMessage, p2.ErrorSeverity, p3.ErrorState, p4.ErrorNumber , p5.ProcedureName, p6.ProcedureLine, p7.MessageDate , p8.GenProcID\r\n, p9.RepeatCounter, p10.IsReThrow, p11.SourceCode from ( select convert(varchar(2047), LEFT(z.Wert, 2047)) as ErrorMessage from @zerlegt z where z.ElementIndex\r\n = 1 ) as p1 cross join (select dbo.QBM_FCVStringToInt(z.wert, 0) as ErrorSeverity from @zerlegt z where z.ElementIndex = 2 ) as p2 cross join (select \r\ndbo.QBM_FCVStringToInt(z.wert, 0) as ErrorState from @zerlegt z where z.ElementIndex = 3 ) as p3 cross join (select dbo.QBM_FCVStringToInt(z.wert, 0) as\r\n ErrorNumber from @zerlegt z where z.ElementIndex = 4 ) as p4 cross join (select convert(varchar(30), z.wert) as ProcedureName from @zerlegt z where z.ElementIndex\r\n = 5 ) as p5 cross join (select dbo.QBM_FCVStringToInt(z.wert, 0) as ProcedureLine from @zerlegt z where z.ElementIndex = 6 ) as p6 cross join (select \r\ndbo.QBM_FCVStringToDatetime(z.wert) as MessageDate from @zerlegt z where z.ElementIndex = 7 ) as p7 cross join (select convert(varchar(38), z.wert) as \r\nGenProcID from @zerlegt z where z.ElementIndex = 8 ) as p8 cross join (select dbo.QBM_FCVStringToInt(z.wert, 0) as RepeatCounter from @zerlegt z where \r\nz.ElementIndex = 9 ) as p9 cross join (select dbo.QBM_FCVStringToBit(z.wert) as IsReThrow from @zerlegt z where z.ElementIndex = 10 ) as p10 cross join\r\n (select convert(varchar(8000), z.wert) as SourceCode from @zerlegt z where z.ElementIndex = 11 ) as p11 return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FTSessionErrorLoad",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2025-06-27T17:57:01.457",
      "ModifyDate": "2026-04-14T23:14:10.447",
      "Definition": " create   function dbo.QBM_FTSessionErrorLoad() returns  @SessionError table ( ErrorMessage varchar(2047) collate database_default  , ErrorSeverity\r\n int default 0 , ErrorState int default 0  , ErrorNumber int default 0 , ProcedureName varchar(30) collate database_default , ProcedureLine int default\r\n 0 , MessageDate datetime , GenProcID varchar(38) collate database_default , RepeatCounter int default 0  , IsReThrow bit default 0 , SourceCode varchar\r\n(max) collate database_default   , RecordNumber int default 0 ) as begin declare @MessageKey varchar(30) declare @LastMessage varchar(8000) = '#' declare\r\n @Number int = 1 while @number < 1000 and @LastMessage > ' ' begin select @MessageKey = CONCAT('ErrorMessage', dbo.QBM_FCVStringPadLeft( dbo.QBM_FCVIntToString\r\n(@number), 3, '0') )  select @LastMessage = left(dbo.QBM_FGISessionContext(@MessageKey) , 8000)   if ISNULL(@LastMessage, '') = '' begin continue end insert\r\n into @SessionError(ErrorMessage, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow\r\n, SourceCode, RecordNumber) select ErrorMessage, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter\r\n, IsReThrow, SourceCode, @Number from dbo.QBM_FTSessionError_Split(@LastMessage)  select @Number += 1 end  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_FTString_Split_Ordinal",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:24.233",
      "ModifyDate": "2026-04-14T23:20:24.233",
      "Definition": "create function dbo.QBM_FTString_Split_Ordinal(@in varchar(max) , @Separator varchar(1) ) returns @erg table (Value varchar(256) collate database_default\r\n , Ordinal int identity ) with SCHEMABINDING as begin insert into @Erg (Value) select left(v.value, 256) from string_split(@in, @Separator) v return end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTDynGroupColForImmediate",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:35.843",
      "ModifyDate": "2026-04-14T23:20:35.843",
      "Definition": "create function dbo.QER_FTDynGroupColForImmediate(@UID_DynamicGroup varchar(38) ) returns @erg table ( TableName varchar(30) collate database_default ,\r\n ColumnName varchar(30) collate database_default , CaptureInsert bit , CaptureUpdate bit , CaptureDelete bit , UID_DialogTable varchar(38) collate database_default\r\n , UID_DialogColumn varchar(38) collate database_default ) as begin declare @TablenameObjectClass varchar(30) declare @whereClause nvarchar(max) declare\r\n @AnalysePrefix nvarchar(max) declare @elemente table( TableName varchar(30) collate database_default , ColumnName varchar(30) collate database_default\r\n , WatchInsertDelete varchar(30) collate database_default , WatchUpdate varchar(30) collate database_default , RelationInfo varchar(30) collate database_default\r\n ) declare @Morpheme QBM_YParameterList declare @UID_DialogTableObjectClass varchar(38) select top 1 @whereClause = g.WhereClause , @UID_DialogTableObjectClass\r\n = g.UID_DialogTableObjectClass , @TablenameObjectClass = dbo.QBM_FGITableName(g.UID_DialogTableObjectClass) from DynamicGroup g where g.UID_DynamicGroup\r\n = @UID_DynamicGroup select @AnalysePrefix = concat('select * from ', @TablenameObjectClass ,' where ')  insert into @Morpheme(Parameter1  , Parameter2\r\n ) select case when mo.Morphem like '%.%' then mo.p2 else mo.Morphem end ,  mo.MorphemSubType from dbo.QBM_FCVStringToListSQLMo_int(@AnalysePrefix + @whereClause\r\n, 0,1,0) mo where mo.MorphemType = 'SchemaObject' and mo.MorphemSubType in ( 'Table', 'Column', 'view') union select @TablenameObjectClass, 'Table' union\r\n select c.PKName1, 'Column' from DialogTable c with (readpast) where c.UID_DialogTable = @UID_DialogTableObjectClass insert into @Morpheme(Parameter1, \r\nParameter2) select c.ColumnName, 'Column' from @Morpheme mo join DialogTable t with (readpast) on mo.Parameter1 = t.TableName join DialogColumn c on t.UID_DialogTable\r\n = c.UID_DialogTable and c.IsPKMember = 1 where mo.Parameter2 in ('Table', 'View') and not exists (Select top 1 1 from @Morpheme e where e.Parameter1 =\r\n c.ColumnName and e.Parameter2 = 'Column' )  insert into @elemente (Tablename , Columnname , WatchInsertDelete, WatchUpdate) select distinct t.TableName\r\n, c.ColumnName, case when t.TableName <> @TablenameObjectClass and c.IsPKMember = 0 then 'no'  when t.TableName <> @TablenameObjectClass and c.IsPKMember\r\n = 1 then 'Full' when t.TableName = @TablenameObjectClass and c.IsPKMember = 0 then 'no'  else 'Detail' end as WatchInsertDelete , case when t.TableName\r\n <> @TablenameObjectClass and c.IsPKMember = 0 then 'Full'  when t.TableName <> @TablenameObjectClass and c.IsPKMember = 1 then 'no' when t.TableName =\r\n @TablenameObjectClass and c.IsPKMember = 0 then 'Detail' else 'no' end as WatchUpdate from @Morpheme m join DialogTable t with (readpast) on (m.Parameter1\r\n  = t.TableName and m.Parameter2 in ('Table', 'View') and (exists (select top 1 1 from QBM_VQBMRelation r where @TablenameObjectClass in (r.ParentTable\r\n, r.ChildTable) ) ) ) or t.TableName = @TablenameObjectClass  join DialogColumn c on t.UID_DialogTable = c.UID_DialogTable join @Morpheme mc on mc.Parameter1\r\n  = c.ColumnName and mc.Parameter2 = 'column' insert into @erg(TableName, ColumnName, CaptureInsert, CaptureDelete, CaptureUpdate, UID_DialogTable, UID_DialogColumn\r\n) select y.TableName, y.ColumnName, sign(len(REPLACE(y.WatchInsertDelete, 'no', ''))) , sign(len(REPLACE(y.WatchInsertDelete, 'no', ''))) , sign(len(REPLACE\r\n(y.WatchUpdate, 'no', ''))) , t.UID_DialogTable, c.UID_DialogColumn from ( select x.TableName, x.ColumnName  , MIN(x.WatchInsertDelete) as WatchInsertDelete\r\n, MIN(x.WatchUpdate) as WatchUpdate from ( select TableName, Columnname , WatchInsertDelete, WatchUpdate from @elemente tc union select r.ChildTable as\r\n TableToWatch, r.ChildColumn , 'Detail', 'Detail' from QBM_VQBMRelationALL r  join @elemente tc on tc.TableName = r.ChildTable where r.UID_DialogTableParent\r\n = @UID_DialogTableObjectClass and r.UID_DialogTableChild <> @UID_DialogTableObjectClass ) as x group by x.TableName, x.ColumnName ) as y join DialogTable\r\n t with (readpast) on t.TableName = y.TableName join DialogColumn c on t.UID_DialogTable = c.UID_DialogTable and c.ColumnName = y.ColumnName endLabel: \r\nreturn end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTEntitlementSourceOrg",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:35.78",
      "ModifyDate": "2026-04-14T23:20:35.78",
      "Definition": "create function dbo.QER_FTEntitlementSourceOrg ( @ObjectKeyToInspect varchar(138)  , @uid_Org varchar(38)   ) returns @result table (UID_Org varchar(38\r\n) collate database_default  , UID_ParentOrg varchar(38) collate database_default  , Ident_Org nvarchar(256) collate database_default  , AssignType int \r\n , ObjectKeyOrg varchar(138) collate database_default  ) as begin  declare @erg QBM_YSingleGUID  declare @Person QBM_YSingleGUID  declare @QER_VBaseTreeCollection_Root\r\n QBM_YMNTable  insert into @person(UID_SingleGuid ) select w.UID_Person from dbo.QER_FTEntitlementSourceWho(@ObjectKeyToInspect ) w group by w.UID_Person\r\n insert into @QER_VBaseTreeCollection_Root(UID_Element1 , UID_Element2 ) select v.UID_Org, v.UID_ParentOrg from QER_VBaseTreeCollection_Root v where v.UID_ParentOrg\r\n = @uid_org  insert into @QER_VBaseTreeCollection_Root(UID_Element1 , UID_Element2 ) select distinct v.UID_Org, v.UID_ParentOrg from @QER_VBaseTreeCollection_Root\r\n e join QER_VBaseTreeCollection_Root v on e.UID_Element1  = v.UID_Org join QER_VBaseTreeCollection_Root v2 on v.UID_ParentOrg = v2.UID_Org and e.UID_Element2\r\n  = v2.UID_ParentOrg where not exists (select top 1 1 from @QER_VBaseTreeCollection_Root x where x.UID_Element1  = v.UID_Org and x.UID_Element2  = v.UID_ParentOrg\r\n )  insert into @erg (UID_SingleGuid , IntProperty ) select co.UID_Element1 , sign(max(sign(len(isnull(x.uid_org, '')))) ) from @QER_VBaseTreeCollection_Root\r\n co left outer join ( select pio.uid_org from personinBaseTree pio join @Person p on pio.uid_person = p.UID_SingleGuid  and pio.XOrigin > 0  union select\r\n pio.uid_org from helperPersonOrg pio join @Person p on pio.uid_person = p.UID_SingleGuid  ) as x on co.UID_Element1  = x.uid_org  group by co.UID_Element1\r\n   update @erg set IntProperty  += 2 from @erg e join @QER_VBaseTreeCollection_Root co on co.UID_Element2  = e.UID_SingleGuid  where exists (select top\r\n 1 1 from @erg e2 where e2.UID_SingleGuid  = co.UID_Element1  and e2.IntProperty  = 1 and e2.UID_SingleGuid  <> e.UID_SingleGuid  )  insert into @result\r\n (uid_org, uid_parentorg, ident_org, assigntype, ObjectkeyOrg ) select e.UID_SingleGuid , b.uid_parentorg, b.ident_org, e.IntProperty , b.XObjectKey from\r\n @erg e left outer join BaseTree b on e.UID_SingleGuid  = b.uid_org update @result set ident_org = r.ident_orgroot, ObjectKeyOrg = r.XObjectKey from @result\r\n rx , Orgroot r where rx.uid_org = r.uid_orgroot if @@rowcount > 0 begin update @result set uid_parentorg = b.uid_orgroot from @result rx, BaseTree b where\r\n rx.uid_parentorg is null and rx.uid_org = b.uid_org end ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTEntitlementSourceOrgWho",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:35.8",
      "ModifyDate": "2026-04-14T23:20:35.8",
      "Definition": "create function dbo.QER_FTEntitlementSourceOrgWho ( @ObjectKeyToInspect varchar(138)  , @uid_Org varchar(38)   ) returns @result table (UID_Org varchar\r\n(38) collate database_default  , UID_Person varchar(38) collate database_default  , UID_ParentOrg varchar(38) collate database_default  , Ident_Org nvarchar\r\n(256) collate database_default  , AssignType int  , ObjectKeyOrg varchar(138) collate database_default  ) as begin   declare @erg QBM_YCursorBuffer    \r\ndeclare @Person QBM_YSingleGUID  declare @QER_VBaseTreeCollection_Root QBM_YMNTable  insert into @person(UID_SingleGuid ) select distinct uid_person from\r\n dbo.QER_FTEntitlementSourceWho(@ObjectKeyToInspect ) insert into @QER_VBaseTreeCollection_Root(UID_Element1, UID_Element2 ) select v.UID_Org, v.UID_ParentOrg\r\n from QER_VBaseTreeCollection_Root v where v.UID_ParentOrg = @uid_org  insert into @QER_VBaseTreeCollection_Root(UID_Element1, UID_Element2 ) select distinct\r\n v.UID_Org, v.UID_ParentOrg from @QER_VBaseTreeCollection_Root e join QER_VBaseTreeCollection_Root v on e.UID_Element1 = v.UID_Org join QER_VBaseTreeCollection_Root\r\n v2 on v.UID_ParentOrg = v2.UID_Org and e.UID_Element2  = v2.UID_ParentOrg where not exists (select top 1 1 from @QER_VBaseTreeCollection_Root x where \r\nx.UID_Element1 = v.UID_Org and x.UID_Element2  = v.UID_ParentOrg ) insert into @erg (UID1 , Int1 , UID2  ) select co.UID_Element1, sign(max(sign(len(isnull\r\n(x.uid_org, '')))) ), x.UID_Person from @QER_VBaseTreeCollection_Root co left outer join ( select pio.uid_org, pio.UID_Person from personinBaseTree pio\r\n join @Person p on pio.uid_person = p.UID_SingleGuid  and pio.XOrigin > 0  union select pio.uid_org, pio.UID_Person from helperPersonOrg pio join @Person\r\n p on pio.uid_person = p.UID_SingleGuid  ) as x on co.UID_Element1 = x.uid_org  group by co.UID_Element1, x.UID_Person update @erg set Int1  = e.Int1  \r\n+2 from @erg e join @QER_VBaseTreeCollection_Root co on co.UID_Element2  = e.UID1  where exists (select top 1 1 from @erg e2 where e2.UID1  = co.UID_Element1\r\n and e2.Int1  = 1 and e2.UID1  <> e.UID1  ) insert into @result (uid_org, uid_parentorg, ident_org, assigntype, ObjectkeyOrg, UID_Person ) select e.UID1\r\n , b.uid_parentorg, b.ident_org, e.Int1 , b.XObjectKey, e.UID2  from @erg e left outer join BaseTree b on e.UID1 = b.uid_org update @result set ident_org\r\n = r.ident_orgroot, ObjectKeyOrg = r.XObjectKey from @result rx , Orgroot r where rx.uid_org = r.uid_orgroot if @@rowcount > 0 begin update @result set\r\n uid_parentorg = b.uid_orgroot from @result rx, BaseTree b where rx.uid_parentorg is null and rx.uid_org = b.uid_org end ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTEntitlementSourceWhat",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:17:26.423",
      "ModifyDate": "2026-04-14T23:30:47.54",
      "Definition": "create   function dbo.QER_FTEntitlementSourceWhat(\r\n\t\t\t\t\t\t\t\t\t\t\t@UID_Person varchar(38) \r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\treturns @erg table (\r\n\t\t\t\t\t\tObjectKeyToInspect varchar(138) collate database_default\r\n\t\t\t\t\t\t)\r\n as\r\nbegin\r\n\r\ndeclare @work QER_YEntitlementSource\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA26AE8653CE34A60AD13BC5 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA19278B9A1A963F887B7D68 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAE0243565BE6703FE18220D (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA8AEAF9E5D09259EDA878DF (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAE19993A21305768BC67BA1 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA69C7D693E3A511EB0EEF22 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA255A0285DD402BFAB93B25 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAEB1F7431C6117548A68D7D (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA78E3752AE40219C83E30A1 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA4BD8D70C0473E3B5530A24 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA6366D8CFF73CE96E6798C9 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAC4C366EB5254B225BF5305 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA6ED883FB726365FEE502C2 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA40DAF2BBFD8F3E76465F07 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA6634AAB5446A6F027C3DDD (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA717DA0B73310E9B176E430 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA38B9ED76E7AC8770650C35 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA9D6B5B4563C99194FBEE76 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA3BA487D25E0B51EEA031BA (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAD3B3D4A4AAE3E77B7F745E (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAD7441E90FFE1AE74985684 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA0D4ED3FA20B8B03D99F9EA (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA927634F409219D76930307 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAE24C7689C983E5CB872211 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAE94A2AB5EF5E2BADE9B1BB (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA1216AC32F7DDFD2F28A5A0 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA90AFB2C2D494ADEEDA79F8 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEABD70E8CEFB7F495A4BF5E8 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA8AE88188E25DEB8FE0FEB9 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAB2CB5AD948E0645C782DA8 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA226D96A5F34CEF70AB82F9 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA47E4D1BAE6544A9A61145D (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAEF8461936F1EDDAA2786EE (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEADE4559DC2647E1BE849894 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA0DC791D52212F3160F6126 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA44C75AAD712A4B5352C267 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAAFB9EC93A3D280D5FE7BE4 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA75D7AD4A6AC2166A58F18B (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAF29EA2DA76C6EC02CFA694 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA5ACA6175D73BE289D55766 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAEFA354DB5BB55501D2E20F (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA532B9A3E14A9D7429B5D48 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA79B4104C58AE0D64794CC5 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA6A86F8A746859114FF8FEE (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA971064C4D84C7F5C831A38 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAF8A64AD7505FEFD6CA66F0 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAF7C9B410A1B1C80C52DC2D (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA052C57FFC38328DEBA32A9 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEADD732A0666B3CFF1F55F32 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEACE29B499D46B63085B019F (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA370D1058470A9CD26BDA5D (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEADE880E3AF4EE9AA85A729C (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAFC326AB61853A5350E3D2C (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAB8A4C56A3BCAE4E1CC8CB9 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEADDFFE62F7C862D8EFE9F7E (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA3506D39B51979D4C46E482 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAF375C8DA6762C3F41D8CD0 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAE3032C0FADEE6588E30677 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA0903650603CEE51D0D8E99 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA199E3E6A7A8E311D20E166 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAB4B3FCC3F35FE97044F114 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAD6C8AFC6E23E46E496EAC8 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA39F97BA14C3AF610AF805D (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAD390D8E019F927E8C5D7ED (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA4D3DEDD0A0680B32BDC19C (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA4B00D2AD20943F16077A89 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEACA40EFDEFD73519CB8686E (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAF648DFCDF3FE983A928268 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAC30B841562FBB6AD83DD64 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA76EA96C7866686065CF072 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA1F4A4D596754E8C86BFEA9 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA5422151F788E3664457CFE (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA9F694BE52B00F0CAD2C28C (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAA6BEB2C92454EB95ADBFCE (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEACEAEF6307F54578E77C1CB (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA46F00D80E21C1022CB5C08 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA18204A66ECAA552D7FF404 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA9CC8C922010CFFAA6F4D1C (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAE4CB6083ECBBAB532F8C8D (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA36E3A728F88E62CF1CFB95 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA832B0D8B81E9925C62D16E (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA5B82EF66EAC4FEF9A609A7 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAF2A8B3614E3CB9B9ACDB42 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAE7168DED6199B6A2FA6211 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAC3ADCB5E377B40F83363AD (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAD6FE70DA25EEF93CA9D2B9 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEADB0B0EC871449B1B49BEF1 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAFBEAF4BE6580A2C3226736 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA68DE2FD4D90FC662383EB2 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAB7DBF0F7F222EB264AEFE2 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA5EA3EF0E9FC80233ADD9EE (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAAC15AF9D41DD5F69733C77 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA78C3BCC907CEF155050D0B (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAB1A242CBE16829A0713754 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA4016135529BB929BEC7812 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA84A7FC7FA31458F2267433 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAC92179345E716BD560B0CF (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEACC0A0F161C5139A85978D6 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA4EA5D15C763E3C3011039A (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA6DF38142688310E1CF5D0D (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAD301F9FF7A083E43F9504C (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA7D76E1B7A58049F385BDD1 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAF53ED6416AEF3C9155D8DB (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAE955BD06F7AE35BED30834 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA9E586A06923CD160E03E59 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA643EA6D1A37B3B2AB34742 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA0562242E3BC4136BCA1CE9 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEABF977C3E8CA5B9E2A0D17C (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEACE3DC70A9B100D72DAA13F (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAF07589AAAA0DEC628A9266 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA67C57A8217994EA861D49A (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA84471BDD3A80C274B3CB95 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAD520395E68C42A43B324B0 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAE471A89D763769CBFA1C40 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA4A5469920A88A862DC456E (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAC00CD2AABC9A393205CAD7 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAE70F7C7DC007D2525BE642 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEADE1E3A590507E281619BA6 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA0645E8C2F9B5D85DEBA328 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAAB5A6D24DC44B6BA4A9D69 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA4D4D5421CC31A2B100D047 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA733D5A2F74AC441DC72FDA (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA0D9141B00DE6C703F65CD1 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEACFBED7D30C98E347C66961 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA310165B25E4563AF303EE0 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA5025B50316612A9FC934B6 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA39A8D48FB403F03563737A (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA59458D9947154584635039 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA6A68701D09FEC5A029AF12 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA0AFEF484D24111A0AD05D7 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAE6BFA2A0EEBD07BFB948B0 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEADB5747C14BDA36B438D93E (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA45A311C91FBA41355532B8 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA2BA18D91752F1D5C38D151 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAD8BB649D76CAA69B89A966 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA6FF83AAA6C0196BAABFBA1 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA611AC9FE209B209D6BA5B6 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA7753660E27005EE52B37B7 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAD7000AD9C38ECA30590962 (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEA6B0C73DBB737AB994BFB9E (@UID_Person) as xx\r\n\r\n\t  insert into @work(ObjectKeyToInspect)\r\n\t  select xx.ObjectKeyToInspect\r\n\t   from dbo.GEN_FTEAB9E86C9E57B65A3C36124A (@UID_Person) as xx\r\n\r\n\tinsert into @erg(ObjectKeyToInspect)\r\n\tselect distinct ObjectKeyToInspect\r\n\t from @work\r\n return\r\nend\r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTEntitlementSourceWho",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:17:26.437",
      "ModifyDate": "2026-04-14T23:30:46.527",
      "Definition": "create   function dbo.QER_FTEntitlementSourceWho(\r\n\t\t\t\t\t\t\t\t\t\t\t@ObjectKeyToInspect varchar(138)\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\treturns @erg table (\r\n\t\t\t\t\t\tUID_Person varchar(38) collate database_default\r\n\t\t\t\t\t\t)\r\n as\r\nbegin\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ADSAccount</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOE3FC1F72D986050366C6F0 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ADSAccount\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ADSAccountInADSGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOCBE1F5EFEA131E8729A6FF (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ADSAccountInADSGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ADSContact</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO232AA5350399AF5B5E7FC8 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ADSContact\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ADSContactInADSGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOC7B20A6BD971728008EA89 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ADSContactInADSGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ADSContainer</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO9EF81AB6EE40C7C1070D2B (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ADSContainer\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ADSDomain</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO23E9A1A9473A3635194231 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ADSDomain\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ADSGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO6FE29BD24EE8070A0F58FF (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ADSGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>DepartmentHasADSGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO1A5AB0AC4F306F2C2F87EF (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- DepartmentHasADSGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrgHasADSGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO006D3653F3A90269D7477C (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrgHasADSGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopSrcHasADSGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO78008E5B70C578F9A41FB2 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopSrcHasADSGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LocalityHasADSGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO571DE06F0F845F2770450A (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LocalityHasADSGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>OrgHasADSGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO9D98EE26C0BD92E6C753ED (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- OrgHasADSGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ProfitCenterHasADSGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO6127AC664CEAB79755A263 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ProfitCenterHasADSGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>PersonInNonCompliance</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO02CBE2B071CB6020466EA6 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- PersonInNonCompliance\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>DepartmentHasLDAPGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO0EDC8574A3FA2D64F9D50A (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- DepartmentHasLDAPGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrgHasLDAPGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOAF1EC18D18BF11B4872359 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrgHasLDAPGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopSrcHasLDAPGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO3D188781B44D49B2F0B86D (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopSrcHasLDAPGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LDAPAccount</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO8EA948B41AC2A60335AE0F (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LDAPAccount\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LDAPAccountInLDAPGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO88C3252E4822EEB5E56129 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LDAPAccountInLDAPGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LDAPContainer</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO3077299134008999AC844A (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LDAPContainer\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LDAPGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO441C2F873660C363A87E18 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LDAPGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LDPDomain</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOADB5D482192FECE896DB8D (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LDPDomain\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LocalityHasLDAPGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO56BF6085851555680F56E2 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LocalityHasLDAPGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>OrgHasLDAPGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOD6B7883AF33FD1CE427C46 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- OrgHasLDAPGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ProfitCenterHasLDAPGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOB2D535C0B0425DCAA6927A (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ProfitCenterHasLDAPGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>AccProduct</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOD74410BBDA5C1BE51102F6 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- AccProduct\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>AERole</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOC4405A4105AF7A5C86BF0B (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- AERole\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>AERoleHasQERResource</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOB5C679685E9F8BFB80D9AF (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- AERoleHasQERResource\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ComplianceRule</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOB965962346D1874BF023AB (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ComplianceRule\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>Department</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO5A5E2E14035E407A3503D1 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- Department\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>DepartmentHasQERAssign</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO7850C0E557233D1B42CCBF (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- DepartmentHasQERAssign\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>DepartmentHasQERResource</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOF8181E29775D04AE6D5526 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- DepartmentHasQERResource\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>DepartmentHasQERReuse</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO28A2459499E91085A71994 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- DepartmentHasQERReuse\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>DepartmentHasQERReuseUS</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEODC415EB845AEA9700D4736 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- DepartmentHasQERReuseUS\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ESet</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO1F6AADC53DA5B3F53E4D4D (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ESet\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ESetHasEntitlement</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO3108D0E5786C74FD0F6143 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ESetHasEntitlement\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>HelperHeadOrg</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO51124460D781C27F2EB0B7 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- HelperHeadOrg\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrg</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO0B25503331E8414BA325BE (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrg\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrgHasPWODecisionMethod</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOF3648634FE1AE4CC04D6E3 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrgHasPWODecisionMethod\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrgHasQERAssign</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO124603C4ECA4923BA02CD1 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrgHasQERAssign\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrgHasQERResource</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO77A9FDA5C1EA828F236BDD (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrgHasQERResource\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrgHasQERReuse</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO7C273B59BCD5A19218AD6E (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrgHasQERReuse\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrgHasQERReuseUS</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO600EF8000C21B93AD22340 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrgHasQERReuseUS\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopSrcHasPWODecisionMethod</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOF8EB48BC7A2AB71231077A (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopSrcHasPWODecisionMethod\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopSrcHasQERAssign</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO4FAD48B2C16719AA6AA10A (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopSrcHasQERAssign\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopSrcHasQERResource</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO2C7526BB07DB9C7586664C (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopSrcHasQERResource\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopSrcHasQERReuse</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEODE642CEE7EF80F321AEF2B (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopSrcHasQERReuse\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopSrcHasQERReuseUS</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOA707EB18AFD3AEB659DC74 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopSrcHasQERReuseUS\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>Locality</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO283DABF5CB0C2E27D0F558 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- Locality\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LocalityHasQERAssign</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO39066D8F7C9AD7CEAEF3FF (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LocalityHasQERAssign\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LocalityHasQERResource</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO876EEF41AC6D6820E6BF7A (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LocalityHasQERResource\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LocalityHasQERReuse</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO367CE1B2CFF414B5FB884A (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LocalityHasQERReuse\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LocalityHasQERReuseUS</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO561124721D666224302112 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LocalityHasQERReuseUS\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>PersonHasESet</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO43DA50DFD7474F509FE625 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- PersonHasESet\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>PersonHasQERAssign</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO2449A21EFB122D2AF3B920 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- PersonHasQERAssign\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>PersonHasQERResource</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO2DFFC3597F23CBA73DEBA2 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- PersonHasQERResource\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>PersonHasQERReuse</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO4F410D16844712C63A98BA (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- PersonHasQERReuse\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>PersonHasQERReuseUS</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOFCDDA80E733A80CFE09BC5 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- PersonHasQERReuseUS\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>PersonInAERole</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO9AF242348875AFC053A649 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- PersonInAERole\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>PersonInDepartment</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO04F18550BAA5EF552107EF (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- PersonInDepartment\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>PersonInITShopOrg</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOD2110A8D430CBD7D961961 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- PersonInITShopOrg\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>PersonInLocality</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOB37287BA6CF952714E9E05 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- PersonInLocality\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>PersonInProfitCenter</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO8864B48D6F511D0508888B (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- PersonInProfitCenter\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ProfitCenter</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOD1E38A3A879DDF3DAB838E (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ProfitCenter\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ProfitCenterHasQERAssign</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO1AD7DE86A579FA2409914E (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ProfitCenterHasQERAssign\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ProfitCenterHasQERResource</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO25BCD2079C53589A9285E1 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ProfitCenterHasQERResource\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ProfitCenterHasQERReuse</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOEC43185C598C8AD42BBAC7 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ProfitCenterHasQERReuse\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ProfitCenterHasQERReuseUS</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOB6B06C1E337B666C531D2A (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ProfitCenterHasQERReuseUS\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>QERAssign</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOBEBB8A4A554D3F83C9F986 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- QERAssign\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>QERResource</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOF378BB872D5FCEAED0E90F (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- QERResource\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>QERReuse</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO4E5921D551EC885BEFB26E (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- QERReuse\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>QERReuseUS</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO29472A7EC8BF68D730175A (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- QERReuseUS\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>Org</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOD8B0B6D2BA27064DB4C878 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- Org\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>OrgHasQERAssign</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO9EBFD3FDDDC9D840459B1C (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- OrgHasQERAssign\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>OrgHasQERResource</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOCA638CE8E06208A9F58B78 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- OrgHasQERResource\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>OrgHasQERReuse</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO0EAA3325F4B764158A37C9 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- OrgHasQERReuse\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>OrgHasQERReuseUS</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO706B2DAD7C59B720D3AB83 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- OrgHasQERReuseUS\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>PersonInOrg</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO41BDBF3DEDBD7A3EDBE1DF (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- PersonInOrg\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>DepartmentHasESet</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO0C997F262B960A18247092 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- DepartmentHasESet\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrgHasESet</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO813E7E2CD1CCFDDA1FB4B0 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrgHasESet\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopSrcHasESet</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEODBCCF0ACCB4C6C4A2652F1 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopSrcHasESet\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LocalityHasESet</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO26A4E144352362B3E4284C (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LocalityHasESet\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>OrgHasESet</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO97D908781BC9D443D0401D (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- OrgHasESet\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ProfitCenterHasESet</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO68C1DBD023EDBEBC483394 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ProfitCenterHasESet\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>AERoleHasRPSReport</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO10971C9480677C7F862216 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- AERoleHasRPSReport\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>DepartmentHasRPSReport</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO1D1CA7D5FD62681C041DEC (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- DepartmentHasRPSReport\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrgHasRPSReport</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOF3591ACC43EAD381AF1626 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrgHasRPSReport\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopSrcHasRPSReport</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOA3730A0231D3DD7638F7BC (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopSrcHasRPSReport\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LocalityHasRPSReport</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO9E905677168B2599FECD5F (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LocalityHasRPSReport\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>OrgHasRPSReport</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO6224CD38BD1B4497851790 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- OrgHasRPSReport\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>PersonHasRPSReport</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO9D4FD2292EFC748015E780 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- PersonHasRPSReport\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ProfitCenterHasRPSReport</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO8E13F4963076C7F5D04DB8 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ProfitCenterHasRPSReport\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>RPSReport</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO8EDF537F72D2FFD396F085 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- RPSReport\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>AERoleHasTSBAccountDef</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO7AD62C2E28328C7A2F99F7 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- AERoleHasTSBAccountDef\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>DepartmentHasTSBAccountDef</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOA8C482BC8C48F3C962FF50 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- DepartmentHasTSBAccountDef\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>DepartmentHasUNSGroupB</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO2CE4612D8CC0CDCDA47E09 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- DepartmentHasUNSGroupB\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>DepartmentHasUNSGroupB1</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOA9BD5D5E2DDEA5B88787B8 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- DepartmentHasUNSGroupB1\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>DepartmentHasUNSGroupB2</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO63E550B307F1843BBAEA41 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- DepartmentHasUNSGroupB2\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>DepartmentHasUNSGroupB3</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOBF13787D687DDE946FAC9E (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- DepartmentHasUNSGroupB3\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrgHasTSBAccountDef</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOB80009FA08F681D63B4108 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrgHasTSBAccountDef\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrgHasUNSGroupB</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO4E10ADF9DCFEF7C9C58342 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrgHasUNSGroupB\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrgHasUNSGroupB1</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO32A5C78A846D6205D96590 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrgHasUNSGroupB1\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrgHasUNSGroupB2</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOAD799FB98908DDB42033D6 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrgHasUNSGroupB2\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrgHasUNSGroupB3</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOB3B2560AB2854AC430D072 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrgHasUNSGroupB3\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopSrcHasTSBAccountDef</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOA951733A12082916D3851A (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopSrcHasTSBAccountDef\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopSrcHasUNSGroupB</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO4F21B63459864B663447DB (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopSrcHasUNSGroupB\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopSrcHasUNSGroupB1</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO65CF709953376CFE851623 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopSrcHasUNSGroupB1\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopSrcHasUNSGroupB2</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOA2CD631FB056F00F8EB771 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopSrcHasUNSGroupB2\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopSrcHasUNSGroupB3</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO3B9C6D580006D4DD813B7E (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopSrcHasUNSGroupB3\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LocalityHasTSBAccountDef</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOD0D66D215B55F3F96C96AD (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LocalityHasTSBAccountDef\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LocalityHasUNSGroupB</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOFD1EFA425BAA6B7E15ADE3 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LocalityHasUNSGroupB\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LocalityHasUNSGroupB1</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO5D16B76C939BD16B7F25EC (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LocalityHasUNSGroupB1\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LocalityHasUNSGroupB2</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO61B64082003B832769B7DF (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LocalityHasUNSGroupB2\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LocalityHasUNSGroupB3</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO90AA6311D0390A1E4D5F33 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LocalityHasUNSGroupB3\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>OrgHasTSBAccountDef</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOF79E5B68763946AD37AC2D (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- OrgHasTSBAccountDef\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>OrgHasUNSGroupB</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO964FB112702DE4BFCBC649 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- OrgHasUNSGroupB\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>OrgHasUNSGroupB1</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO21EE4A2BA66BA2714303E5 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- OrgHasUNSGroupB1\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>OrgHasUNSGroupB2</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOEE436F5AE4FD21173A888F (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- OrgHasUNSGroupB2\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>OrgHasUNSGroupB3</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEODB55B8F6DCCF7F77DBFE9B (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- OrgHasUNSGroupB3\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>PersonHasTSBAccountDef</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO25F2BE28B359A147002484 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- PersonHasTSBAccountDef\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ProfitCenterHasTSBAccountDef</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOF8865C9F0579C831B69628 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ProfitCenterHasTSBAccountDef\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ProfitCenterHasUNSGroupB</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO837FD4744287294377BA88 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ProfitCenterHasUNSGroupB\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ProfitCenterHasUNSGroupB1</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO35B790B0C5AAABB0EBD859 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ProfitCenterHasUNSGroupB1\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ProfitCenterHasUNSGroupB2</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO8B96783B24FC6E0786844D (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ProfitCenterHasUNSGroupB2\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ProfitCenterHasUNSGroupB3</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOCCEC6FAAAADDAE4E64A778 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ProfitCenterHasUNSGroupB3\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>TSBAccountDef</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO921D2C20632DB6993D8D70 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- TSBAccountDef\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSAccountB</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOA46777E2E24BAD58D2DC9B (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSAccountB\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSAccountBHasUNSGroupB</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO79FCA5E06289E312186F5F (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSAccountBHasUNSGroupB\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSAccountBHasUNSGroupB1</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO4A7CF4B45C2D7BC9EDAD37 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSAccountBHasUNSGroupB1\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSAccountBHasUNSGroupB2</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOE03F4413CB822BD15BB87C (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSAccountBHasUNSGroupB2\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSAccountBHasUNSGroupB3</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOA7A83C03AC63E92F4E255A (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSAccountBHasUNSGroupB3\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSAccountBInUNSGroupB</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEODFBC578DBC3E90294FC921 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSAccountBInUNSGroupB\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSAccountBInUNSGroupB1</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO4CA65D90167B38E40B176D (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSAccountBInUNSGroupB1\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSAccountBInUNSGroupB2</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOCC97ED88B89CA73E2DA389 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSAccountBInUNSGroupB2\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSAccountBInUNSGroupB3</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO747E5F4E3A4061542A3456 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSAccountBInUNSGroupB3\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSContainerB</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO6FA34C069DA6C1F7D48FBE (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSContainerB\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSGroupB</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOB7D443E409F1129BFD9922 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSGroupB\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSGroupB1</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOACC993FDAF5792E1B59AE0 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSGroupB1\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSGroupB2</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOD48DD3E8DD9E49B431EC66 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSGroupB2\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSGroupB3</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEO9226A461259BE698109D7C (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSGroupB3\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSRootB</T>%'\r\n\t begin\r\n\t  insert into @erg(uid_person)\r\n\t  select /*distinct */ xx.UID_Person\r\n\t   from dbo.GEN_FTEOD0423232E940C76F51DB95 (@ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSRootB\r\n\r\n\t--insert into @erg(uid_person)\r\n\t--select distinct UID_Person\r\n\t-- from @work\r\n endLabel:\r\n\r\n return\r\nend\r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTEntitlementSourceWhy",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:17:26.453",
      "ModifyDate": "2026-04-14T23:30:46.777",
      "Definition": "create   function dbo.QER_FTEntitlementSourceWhy(\r\n\t\t\t\t\t\t\t\t\t\t\t@UID_Person varchar(38) \r\n\t\t\t\t\t\t\t\t\t\t\t, @ObjectKeyToInspect varchar(138)\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\treturns @erg table (\r\n\t\t\t\t\t\tObjectKeyReason1 varchar(138) collate database_default\r\n\t\t\t\t\t\t, ObjectKeyReason2 varchar(138) collate database_default\r\n\t\t\t\t\t\t)\r\n as\r\nbegin\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ADSAccount</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY04ACC922CE0D679BFBDF68 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ADSAccount\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ADSAccountInADSGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYBC1B1E1153DA0887D6F11C (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ADSAccountInADSGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ADSContact</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYAFC2B1B0AA231EB7202E0A (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ADSContact\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ADSContactInADSGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY6CF75B30295FEFA8CD3709 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ADSContactInADSGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ADSContainer</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYD067DDDE01113A49AB7F4F (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ADSContainer\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ADSDomain</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYD1FF94E385FADA2276090E (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ADSDomain\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ADSGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYEB1C7B5195AE3821552788 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ADSGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>DepartmentHasADSGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYF1D845A502E28AB8F8B8FA (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- DepartmentHasADSGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrgHasADSGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY625B5F1743A4CD81DB1A7A (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrgHasADSGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopSrcHasADSGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYBE4C4D5B55E47B4A37030F (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopSrcHasADSGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LocalityHasADSGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY3503043CCF5F62E3FC1EC7 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LocalityHasADSGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>OrgHasADSGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY11C75B4ECD9BB22D2D748B (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- OrgHasADSGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ProfitCenterHasADSGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYE80DDBCEAAA13F1979E711 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ProfitCenterHasADSGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>PersonInNonCompliance</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYDEBA0F85E016415BA14437 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- PersonInNonCompliance\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>DepartmentHasLDAPGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY780D32B60508B96FB55733 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- DepartmentHasLDAPGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrgHasLDAPGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY714650F04D0D2C9ADFD428 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrgHasLDAPGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopSrcHasLDAPGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYFED8D3214C9C1DAFEE2EB0 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopSrcHasLDAPGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LDAPAccount</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY3660BE5A72C51D09E109D2 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LDAPAccount\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LDAPAccountInLDAPGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY510EB2AF297B8F844C83DA (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LDAPAccountInLDAPGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LDAPContainer</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYF9B5B0718078CC8E220CB4 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LDAPContainer\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LDAPGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYA5065182EC53F911A8AB59 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LDAPGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LDPDomain</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY95BE8166C29BD1FD6991CC (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LDPDomain\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LocalityHasLDAPGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYAC13F21E0D4DB4DD55310E (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LocalityHasLDAPGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>OrgHasLDAPGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY6CBBED4521EDE5C5B61A02 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- OrgHasLDAPGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ProfitCenterHasLDAPGroup</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYA60CCE102C52A5B0014C2D (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ProfitCenterHasLDAPGroup\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>AccProduct</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY06423E1553D20332D88F9A (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- AccProduct\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>AERole</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY703F1F5EE8D64B7DB79B18 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- AERole\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>AERoleHasQERResource</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY81C940D082F32291EFCE78 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- AERoleHasQERResource\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ComplianceRule</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYF61C4144CE8FABBC866272 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ComplianceRule\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>Department</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYC50E4CC8188C7D5B7DCD71 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- Department\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>DepartmentHasQERAssign</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYD5D72E6FA335696FA50D11 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- DepartmentHasQERAssign\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>DepartmentHasQERResource</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY0F8CCEAC5542AB58BC6783 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- DepartmentHasQERResource\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>DepartmentHasQERReuse</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYFF99B6B069C342288C6BA9 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- DepartmentHasQERReuse\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>DepartmentHasQERReuseUS</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYF9571F25A9F1882987B829 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- DepartmentHasQERReuseUS\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ESet</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY3252DCA9E44227685CE446 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ESet\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ESetHasEntitlement</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY63E94516858277C9BB4F5A (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ESetHasEntitlement\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>HelperHeadOrg</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYCACD53376979AEB4951686 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- HelperHeadOrg\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrg</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY8FEF93B7440FEF03F2412C (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrg\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrgHasPWODecisionMethod</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY3652C1025CCBFA75922279 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrgHasPWODecisionMethod\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrgHasQERAssign</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY959435F6DBCCA9EB3EB28D (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrgHasQERAssign\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrgHasQERResource</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY57D0C486EFB83A7F90C10D (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrgHasQERResource\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrgHasQERReuse</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY4855C755CA9487EA21B72A (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrgHasQERReuse\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrgHasQERReuseUS</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYD1C52DE6CB749CD02A401C (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrgHasQERReuseUS\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopSrcHasPWODecisionMethod</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY802A83C3E07BD2831C4DF1 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopSrcHasPWODecisionMethod\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopSrcHasQERAssign</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY16F46EAC98E87C927E087B (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopSrcHasQERAssign\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopSrcHasQERResource</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYECAD876E5948B1A0FEF889 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopSrcHasQERResource\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopSrcHasQERReuse</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYFAEF8CACEA5085E028D489 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopSrcHasQERReuse\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopSrcHasQERReuseUS</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY46244768898D6B348324B5 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopSrcHasQERReuseUS\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>Locality</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYF021722B8C41E69A21F5BA (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- Locality\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LocalityHasQERAssign</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY8BF540F72028620D497ABE (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LocalityHasQERAssign\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LocalityHasQERResource</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY63EBFB5F389C2C71565877 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LocalityHasQERResource\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LocalityHasQERReuse</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY41843567E57D1397868D56 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LocalityHasQERReuse\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LocalityHasQERReuseUS</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY8D93A3D46765A5490FA4FC (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LocalityHasQERReuseUS\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>PersonHasESet</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY9C5A940806B98C76B45A28 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- PersonHasESet\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>PersonHasQERAssign</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY6A4C3C6E502E007685003B (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- PersonHasQERAssign\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>PersonHasQERResource</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYE3300D332EFDFCD61A0A1F (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- PersonHasQERResource\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>PersonHasQERReuse</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY603E46E7D17851CEECD074 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- PersonHasQERReuse\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>PersonHasQERReuseUS</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY32246AB0D1EBEA0EF689F3 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- PersonHasQERReuseUS\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>PersonInAERole</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYC455A197F1F99E91DE3119 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- PersonInAERole\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>PersonInDepartment</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY4926D9B896C39764C9EF8F (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- PersonInDepartment\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>PersonInITShopOrg</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYF919254F951A7A5DF6B821 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- PersonInITShopOrg\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>PersonInLocality</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY44E94D0D92A82BFECD72B7 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- PersonInLocality\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>PersonInProfitCenter</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY95A0CB3F5C230BAF81B16E (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- PersonInProfitCenter\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ProfitCenter</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY7FBACBED2AE88C3A9756AD (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ProfitCenter\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ProfitCenterHasQERAssign</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYB84C3B21509F1AA07885F7 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ProfitCenterHasQERAssign\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ProfitCenterHasQERResource</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYD1337EF6C6FC4CB197D0D2 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ProfitCenterHasQERResource\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ProfitCenterHasQERReuse</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY362F968B4687C8212EF4EF (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ProfitCenterHasQERReuse\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ProfitCenterHasQERReuseUS</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYF710376B9619AA2464A2B2 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ProfitCenterHasQERReuseUS\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>QERAssign</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY7C0A8CD265F459125E08F4 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- QERAssign\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>QERResource</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY57C35E74C42BCE83936653 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- QERResource\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>QERReuse</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYB8BBCF8E8E26BBED8671F5 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- QERReuse\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>QERReuseUS</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY0D204A0FA588A619EB3F7B (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- QERReuseUS\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>Org</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYFECC3EA95617D69C0478E1 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- Org\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>OrgHasQERAssign</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYED8E405E523D8D627BD65F (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- OrgHasQERAssign\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>OrgHasQERResource</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY5F7DBF32525FD5E76002A3 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- OrgHasQERResource\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>OrgHasQERReuse</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY3119E9B9D28BDAB8DBBB2F (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- OrgHasQERReuse\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>OrgHasQERReuseUS</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYF7783E5B8726C9CAE353D8 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- OrgHasQERReuseUS\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>PersonInOrg</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY365A3E48EE0118A0F8B4E2 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- PersonInOrg\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>DepartmentHasESet</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY9E3743EF4FD0926C4FD5DE (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- DepartmentHasESet\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrgHasESet</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY0BCBB74461782A260ACBBA (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrgHasESet\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopSrcHasESet</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY08F52C68A60DA875F2F6BB (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopSrcHasESet\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LocalityHasESet</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY54D7FCA2E89FC59ACF04B8 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LocalityHasESet\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>OrgHasESet</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY654CCD699AC827FB59CD22 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- OrgHasESet\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ProfitCenterHasESet</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYFA544B1011E4A042348A0E (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ProfitCenterHasESet\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>AERoleHasRPSReport</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY01FB8D175B472AFAC4FBBD (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- AERoleHasRPSReport\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>DepartmentHasRPSReport</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY5A3D5445A31314E3C80820 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- DepartmentHasRPSReport\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrgHasRPSReport</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYA98DB5E80EFE54297AA0A8 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrgHasRPSReport\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopSrcHasRPSReport</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY896E146F4F840E422CCBA3 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopSrcHasRPSReport\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LocalityHasRPSReport</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY680B289738F51B38B41A7B (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LocalityHasRPSReport\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>OrgHasRPSReport</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY5082C636ECA32E1D797C16 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- OrgHasRPSReport\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>PersonHasRPSReport</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY94A1455D19630D9B5E3446 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- PersonHasRPSReport\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ProfitCenterHasRPSReport</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY334AF4B7AAF5D1C1085331 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ProfitCenterHasRPSReport\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>RPSReport</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYD9F80E09EE41CB3418962A (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- RPSReport\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>AERoleHasTSBAccountDef</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY197EC6A22EFCA0F37E16F8 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- AERoleHasTSBAccountDef\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>DepartmentHasTSBAccountDef</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYAD3637368C48BBEA6B8D71 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- DepartmentHasTSBAccountDef\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>DepartmentHasUNSGroupB</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY8B9BB6E0E5756FA8FC6CBF (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- DepartmentHasUNSGroupB\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>DepartmentHasUNSGroupB1</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY93C83068790E482B9BC48A (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- DepartmentHasUNSGroupB1\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>DepartmentHasUNSGroupB2</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYF56DD909CB94BEEC756652 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- DepartmentHasUNSGroupB2\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>DepartmentHasUNSGroupB3</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY6A01F15B07CC9CBEDA919D (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- DepartmentHasUNSGroupB3\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrgHasTSBAccountDef</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY7E63AC104BE0F8468C3926 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrgHasTSBAccountDef\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrgHasUNSGroupB</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYFCC9AEDF028F5733EA1762 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrgHasUNSGroupB\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrgHasUNSGroupB1</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYE5C106C07A55319D2D1F4C (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrgHasUNSGroupB1\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrgHasUNSGroupB2</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYA0EB22774E297DA91E86F4 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrgHasUNSGroupB2\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopOrgHasUNSGroupB3</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYD9E45B5BA3CF3011E79360 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopOrgHasUNSGroupB3\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopSrcHasTSBAccountDef</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYAF3582CAD04010AC5744C9 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopSrcHasTSBAccountDef\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopSrcHasUNSGroupB</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY921BCCEECC644676A5E2D4 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopSrcHasUNSGroupB\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopSrcHasUNSGroupB1</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYDE839AC5FDDF3A157A16AF (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopSrcHasUNSGroupB1\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopSrcHasUNSGroupB2</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY0BA325EDC97A6511B77954 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopSrcHasUNSGroupB2\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ITShopSrcHasUNSGroupB3</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY1259C3D6106F88D3FE81C1 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ITShopSrcHasUNSGroupB3\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LocalityHasTSBAccountDef</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY1C7461F2680F62B272D390 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LocalityHasTSBAccountDef\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LocalityHasUNSGroupB</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYACAC5700ABF0D42F65529A (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LocalityHasUNSGroupB\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LocalityHasUNSGroupB1</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYF634ACF893A3AC13026A99 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LocalityHasUNSGroupB1\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LocalityHasUNSGroupB2</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY15CB642D7F87E41BF86FE8 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LocalityHasUNSGroupB2\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>LocalityHasUNSGroupB3</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYAD6AB0B9B040433F113D36 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- LocalityHasUNSGroupB3\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>OrgHasTSBAccountDef</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY6899BC09F309C000CB6007 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- OrgHasTSBAccountDef\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>OrgHasUNSGroupB</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY0BAF2057553029E6B0BFCD (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- OrgHasUNSGroupB\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>OrgHasUNSGroupB1</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY9AA9267513A52C463DBAB1 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- OrgHasUNSGroupB1\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>OrgHasUNSGroupB2</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYB5C2BEFDF41A038B6E4E8F (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- OrgHasUNSGroupB2\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>OrgHasUNSGroupB3</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY53D8D792B6515142C31909 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- OrgHasUNSGroupB3\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>PersonHasTSBAccountDef</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYD1570666C15F0F46905354 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- PersonHasTSBAccountDef\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ProfitCenterHasTSBAccountDef</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY75C7B00B32C74FA8C734A8 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ProfitCenterHasTSBAccountDef\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ProfitCenterHasUNSGroupB</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY73F83A16FCB3159A7F6DF1 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ProfitCenterHasUNSGroupB\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ProfitCenterHasUNSGroupB1</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYA17794B9D95EE8DD144E94 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ProfitCenterHasUNSGroupB1\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ProfitCenterHasUNSGroupB2</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY68B364EED5084A7D5D23F3 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ProfitCenterHasUNSGroupB2\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>ProfitCenterHasUNSGroupB3</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYB7D9F2A88D2BEE2704FF81 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- ProfitCenterHasUNSGroupB3\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>TSBAccountDef</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY7166BBF7E8B4003DCA4B3D (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- TSBAccountDef\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSAccountB</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY60473E8B8DB38BF7C1CCE3 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSAccountB\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSAccountBHasUNSGroupB</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY1651DF0943C389DD296ADE (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSAccountBHasUNSGroupB\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSAccountBHasUNSGroupB1</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY8E0532B844467344E61179 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSAccountBHasUNSGroupB1\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSAccountBHasUNSGroupB2</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYCB57F36D8B554BDAEF804B (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSAccountBHasUNSGroupB2\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSAccountBHasUNSGroupB3</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYF4FA37E77329315C33C8D5 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSAccountBHasUNSGroupB3\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSAccountBInUNSGroupB</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY0122181C230044398280FE (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSAccountBInUNSGroupB\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSAccountBInUNSGroupB1</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY7705EAA3F767C86779D0BD (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSAccountBInUNSGroupB1\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSAccountBInUNSGroupB2</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY87AE45C88F8A7904BD9510 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSAccountBInUNSGroupB2\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSAccountBInUNSGroupB3</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYDAF6E4727A8EAE717E59D7 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSAccountBInUNSGroupB3\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSContainerB</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYCECC6DB926BCF9648F456B (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSContainerB\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSGroupB</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY19AE465A1AEDCAF37D47AC (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSGroupB\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSGroupB1</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEYB5B79D3FB317B463216F71 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSGroupB1\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSGroupB2</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY8C8C8E4B72714983D306FB (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSGroupB2\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSGroupB3</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY9D970CBAA569CA4712CE1A (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSGroupB3\r\n\r\n\tif @ObjectKeyToInspect like '<Key><T>UNSRootB</T>%'\r\n\t begin\r\n\t  insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t  select distinct xx.ObjectKeyReason1, xx.ObjectKeyReason2\r\n\t   from dbo.GEN_FTEY9C537565E770C30AA1EC81 (@uid_person, @ObjectKeyToInspect) as xx\r\n\r\n\t   goto EndLabel\r\n\r\n\t end -- UNSRootB\r\n\r\n\t--insert into @erg(ObjectKeyReason1, ObjectKeyReason2)\r\n\t--select distinct ObjectKeyReason1, ObjectKeyReason2\r\n\t-- from @work\r\n\r\n\tEndLabel:\r\n\r\n return\r\nend\r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTLicenseOverview",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:23:18.823",
      "ModifyDate": "2026-04-14T23:23:18.823",
      "Definition": "create function dbo.QER_FTLicenseOverview () RETURNS @ergFinal TABLE ( SortOrder Int ,ObjectClass VARCHAR(32) collate database_default ,Object VARCHAR(256\r\n) collate database_default ,CountObjects int ) AS BEGIN declare @LiteLimit int = 3, @ProdLevel int = 2 declare @erg TABLE ( SortOrder Int ,ObjectClass \r\nVARCHAR(256) collate database_default ,Object VARCHAR(256) collate database_default ,CountObjects int ) If exists (select top 1 1 from dialogdatabase where\r\n ismaindatabase = 1 and ProductionLevel = @prodlevel) Begin IF exists (select top 1 1 from qbmmoduledef where ModuleName = 'TSB')  Begin Insert into @Erg\r\n select Sortorder, ObjectClass, Object, sum(CountObjects) as CountObjects from ( select 1 as Sortorder, N'LicenseType' as ObjectClass, N'Managed Person'\r\n as Object, 0 as CountObjects union select 2 as Sortorder, N'LicenseType' as ObjectClass, N'Managed Lite Person' as Object, 0 as CountObjects union select\r\n 3 as Sortorder, N'LicenseType' as ObjectClass, N'Managed External Person' as Object, 0 as CountObjects union select 4 as Sortorder, N'LicenseType' as \r\nObjectClass, N'Managed Thing' as Object, 0 as CountObjects union  select Sortorder, N'LicenseType' as ObjectClass, LicenseType as Object, count(*) as CountObjects\r\n from (  select 1 as Sortorder, N'Managed Person' as LicenseType, * from (select count(*) as CountAccounts, UID_PersonMasterIdentity, EmployeeType, IdentityType\r\n from ( select isnull(p.uid_personmasteridentity, p.uid_person) as uid_personmasteridentity, p.uid_person, v2.uid_unsaccount, pm.EmployeeType, pm.IdentityType\r\n from person p join person pm on pm.uid_person = isnull(p.uid_personmasteridentity, p.uid_person) join unsaccount v2 on v2.UID_Person = p.UID_Person and\r\n p.IsInActive = 0 where isnull(pm.employeetype,'None') in ('Employee', 'Apprentice', 'Contractor', 'Other', 'None')  and pm.IdentityType not in ('Sponsored'\r\n, 'Shared', 'Service', 'Machine') ) v3 group by UID_PersonMasterIdentity, EmployeeType, IdentityType) v  Union all  select 1 as Sortorder, N'Managed Person'\r\n as LicenseType, * from (select count(*) as CountAccounts, UID_PersonMasterIdentity, EmployeeType, IdentityType from ( select isnull(p.uid_personmasteridentity\r\n, p.uid_person) as uid_personmasteridentity, p.uid_person, v2.uid_unsaccount, pm.EmployeeType, pm.IdentityType from person p join person pm on pm.uid_person\r\n = isnull(p.uid_personmasteridentity, p.uid_person) join unsaccount v2 on v2.UID_Person = p.UID_Person and p.IsInActive = 0 where isnull(pm.employeetype\r\n,'None') in ('manual')  and pm.IdentityType not in ('Sponsored', 'Shared', 'Service', 'Machine') ) v3 group by UID_PersonMasterIdentity, EmployeeType, \r\nIdentityType) v where CountAccounts > @LiteLimit union all  select 2 as Sortorder, N'Managed Lite Person' as LicenseType, * from (select count(*) as CountAccounts\r\n, UID_PersonMasterIdentity, EmployeeType, IdentityType from ( select isnull(p.uid_personmasteridentity, p.uid_person) as uid_personmasteridentity, p.uid_person\r\n, v2.uid_unsaccount, pm.EmployeeType, pm.IdentityType from person p join person pm on pm.uid_person = isnull(p.uid_personmasteridentity, p.uid_person) \r\njoin unsaccount v2 on v2.UID_Person = p.UID_Person and p.IsInActive = 0  where isnull(pm.employeetype,'None') in ('manual') and pm.IdentityType not in \r\n('Sponsored', 'Shared', 'Service', 'Machine') ) v3 group by UID_PersonMasterIdentity, EmployeeType, IdentityType) v where CountAccounts < @LiteLimit + \r\n1 union all  select 3 as Sortorder, N'Managed External Person' as LicenseType, * from (select count(*) as CountAccounts, UID_PersonMasterIdentity, EmployeeType\r\n, IdentityType from ( select isnull(p.uid_personmasteridentity, p.uid_person) as uid_personmasteridentity, p.uid_person, v2.uid_unsaccount, pm.EmployeeType\r\n, pm.IdentityType from person p join person pm on pm.uid_person = isnull(p.uid_personmasteridentity, p.uid_person) join unsaccount v2 on v2.UID_Person \r\n= p.UID_Person and p.IsInActive = 0 where pm.employeetype in ('Consultant', 'Partner', 'Customer')  and pm.IdentityType not in ('Sponsored', 'Shared', \r\n'Service', 'Machine') ) v3 group by UID_PersonMasterIdentity, EmployeeType, IdentityType) v  union all  select 4 as Sortorder, N'Managed Thing' as LicenseType\r\n, * from (select count(*) as CountAccounts, UID_PersonMasterIdentity, EmployeeType, IdentityType from ( select isnull(p.uid_personmasteridentity, p.uid_person\r\n) as uid_personmasteridentity, p.uid_person, v2.uid_unsaccount, pm.EmployeeType, pm.IdentityType from person p join person pm on pm.uid_person = isnull\r\n(p.uid_personmasteridentity, p.uid_person) join unsaccount v2 on v2.UID_Person = p.UID_Person and p.IsInActive = 0 where pm.IdentityType in ('Sponsored'\r\n, 'Shared', 'Service', 'Machine') ) v3 group by UID_PersonMasterIdentity, EmployeeType, IdentityType) v ) x group by Sortorder,LicenseType ) v1 group by\r\n Sortorder, ObjectClass, Object Insert into @Erg select 9 +ROW_NUMBER() OVER(ORDER BY md.DisplayValue ASC) AS Sortorder, N'Addon License Modules' as ObjectClass\r\n, md.DisplayValue as Object, 1 as CountObjects from QBMModuleDef md where Left(md.UID_ModuleDef,3) in ('EBS', 'EPC', 'SAP', 'ACN', 'QAM') Insert into @Erg\r\n Select 21 as Sortorder, N'IdentityObjectClass' as ObjectClass, N'Active Identities' as Object, count(*) as CountObjects from person where IsInActive =\r\n 0 Insert into @Erg Select 22 as Sortorder, N'IdentityObjectClass' as ObjectClass, N'Active Identities having user account' as Object , count(*) as CountObjects\r\n from person where IsInActive = 0 and uid_person in (select uid_person from unsaccount) Insert into @Erg Select 23 as Sortorder, N'IdentityObjectClass'\r\n as ObjectClass, N'Internal Active Identities' as Object, count(*) as CountObjects from person where isnull(employeetype,'None') in ('Employee', 'Apprentice'\r\n, 'Contractor', 'Other', 'None') and IsInactive = 0 Insert into @Erg Select 24 as Sortorder, N'IdentityObjectClass' as ObjectClass, N'Internal Active Identities having user Account'\r\n as Object, count(*) as CountObjects from person where isnull(employeetype,'None') in ('Employee', 'Apprentice', 'Contractor', 'Other', 'None') and IsInactive\r\n = 0 and uid_person in (select uid_person from unsaccount) Insert into @Erg Select 25 as Sortorder, N'IdentityObjectClass' as ObjectClass, N'External Active Identities'\r\n as Object, count(*) as CountObjects from person where employeetype in ('Consultant', 'Partner', 'Customer') and IsInactive = 0 Insert into @Erg Select\r\n 26 as Sortorder, N'IdentityObjectClass' as ObjectClass, N'External Active Identities having user Account' as Object, count(*) as CountObjects from person\r\n where employeetype in ('Consultant', 'Partner', 'Customer') and IsInactive = 0 and uid_person in (select uid_person from unsaccount) Insert into @Erg \r\nSelect 27 as Sortorder, N'IdentityObjectClass' as ObjectClass, N'Active Main Identities' as Object, count(*) as CountObjects from person where isnull(uid_personmasteridentity\r\n,'') = '' and IsInActive = 0 Insert into @Erg Select 28 as Sortorder, N'IdentityObjectClass' as ObjectClass, N'Active Main Identities having user account'\r\n as Object, count(*) as CountObjects from person where isnull(uid_personmasteridentity,'') = '' and IsInActive = 0 and uid_person in (select uid_person\r\n from unsaccount) Insert into @Erg Select 29 as Sortorder, N'IdentityObjectClass' as ObjectClass, N'Inactive Main Identities' as Object, count(*) as CountObjects\r\n from person where isnull(uid_personmasteridentity,'') = '' and IsInActive = 1 Insert into @Erg Select 30 as Sortorder, N'IdentityObjectClass' as ObjectClass\r\n, N'Inactive Main Identities having user account' as Object, count(*) as CountObjects from person where isnull(uid_personmasteridentity,'') = '' and IsInActive\r\n = 1 and uid_person in (select uid_person from unsaccount) Insert into @Erg Select 31 as Sortorder, N'IdentityObjectClass' as ObjectClass, N'Active Sub Identities'\r\n as Object, count(*) as CountObjects from person where isnull(uid_personmasteridentity,'') <> '' and IsInActive = 0 Insert into @Erg Select 32 as Sortorder\r\n, N'IdentityObjectClass' as ObjectClass, N'Active Sub Identities having user account' as Object, count(*) as CountObjects from person where isnull(uid_personmasteridentity\r\n,'') <> '' and IsInActive = 0 and uid_person in (select uid_person from unsaccount) Insert into @Erg Select 33 as Sortorder, N'IdentityObjectClass' as \r\nObjectClass, N'Inactive Sub Identities' as Object, count(*) as CountObjects from person where isnull(uid_personmasteridentity,'') <> '' and IsInActive \r\n= 1 Insert into @Erg Select 34 as Sortorder, N'IdentityObjectClass' as ObjectClass, N'Inactive Sub Identities having user account' as Object, count(*) \r\nas CountObjects from person where isnull(uid_personmasteridentity,'') <> '' and IsInActive = 1 and uid_person in (select uid_person from unsaccount) Insert\r\n into @Erg Select 35 as Sortorder, N'IdentityObjectClass' as ObjectClass, N'Active Sub Identities having Inactive Main Identity' as Object, count(*) as\r\n CountObjects from person where isnull(uid_personmasteridentity,'') <> '' and IsInActive = 0 and UID_PersonMasterIdentity in (select uid_person from person\r\n where IsInActive=1) Insert into @Erg SELECT 39+ROW_NUMBER() OVER(ORDER BY IdentityType ASC) AS Sortorder, N'IdentityClassification' as ObjectClass, 'Identities IdentityType '\r\n + Identitytype as Object, count(*) as CountObjects from person where IsInActive = 0 group by IdentityType Insert into @Erg SELECT 59+ROW_NUMBER() OVER\r\n(ORDER BY EmployeeType ASC) AS Sortorder, N'IdentityClassification' as ObjectClass, 'Identities EmployeeType '+ EmployeeType as Object, count(*) as CountObjects\r\n from person where IsInActive = 0 group by EmployeeType Insert into @Erg SELECT convert(int, 69 + row_number() OVER (ORDER BY x.object)) AS SortOrder ,\r\nN'IdentityClassification' AS Objectclass , x.OBJECT ,count(*) AS CountObjects from ( select concat('Identities ' , p.IdentityType , ', ' , p.EmployeeType\r\n , ', ' , case p.IsInActive when 0 then 'active' else 'inactive' end, ' having user account' ) AS OBJECT from person p where uid_person in (select UID_Person\r\n from unsaccount) ) as x GROUP BY x.OBJECT Insert into @Erg SELECT convert(int, 79 + row_number() OVER (ORDER BY x.object)) AS SortOrder ,N'IdentityClassification'\r\n AS Objectclass , x.OBJECT ,count(*) AS CountObjects from ( select concat('Identities ' , p.IdentityType , ', ' , p.EmployeeType , ', ' , case p.IsInActive\r\n when 0 then 'active' else 'inactive' end ) AS OBJECT from person p ) as x GROUP BY x.OBJECT Insert into @Erg select 100 as SortOrder , N'DBCount' as ObjectClass\r\n, N'History Databases' as Object, Count(*) as CountObjects from DialogHistoryDB Insert into @Erg select 101 as SortOrder , N'DBCount' as ObjectClass, N'Custom Target Systems'\r\n as Object, Count(*) as CountObjects from UNSRoot where dbo.QBM_FCVGUIDToModuleOwner(UID_UNSRoot) = 'CCC' Insert into @Erg select 102 as SortOrder , N'DBCount'\r\n as ObjectClass, N'Business Roles ' as Object, Count(*) as CountObjects from Basetree where UID_OrgRoot like '____[^V]%' Insert into @Erg select 103 as\r\n SortOrder , N'DBCount' as ObjectClass, N'System Roles' as Object, Count(*) as CountObjects from ESet where dbo.QBM_FCVGUIDToModuleOwner(UID_Eset) = 'CCC'\r\n If exists (select top 1 1 from QBMModuleDef where ModuleName = 'AOB') begin Insert into @Erg select 104 as SortOrder , N'DBCount' as ObjectClass, N'Business Applications'\r\n as Object, Count(*) as CountObjects from AOBApplication where dbo.QBM_FCVGUIDToModuleOwner(UID_AOBApplication) = 'CCC' Insert into @Erg select 105 as \r\nSortOrder , N'DBCount' as ObjectClass, N'Business Application Entitlements' as Object, Count(*) as CountObjects from AOBEntitlement where dbo.QBM_FCVGUIDToModuleOwner\r\n(UID_AOBEntitlement) = 'CCC' end Insert into @Erg select 106 as SortOrder , N'DBCount' as ObjectClass, N'Service Items' as Object, CountRows as CountObjects\r\n from dialogtable where tablename = 'AccProduct' Insert into @Erg select 112 as SortOrder , N'ObjectCount' as ObjectClass, N'Hardware PC' as Object, Count\r\n(*) as CountObjects from Hardware where (ispc = 1 ) Insert into @Erg select 113 as SortOrder , N'ObjectCount' as ObjectClass, N'Hardware Server' Object\r\n, Count(*) as CountObjects from Hardware where (isserver = 1 ) If exists (select top 1 1 from QBMModuleDef where ModuleName = 'ADS') begin Insert into \r\n@Erg select 114 as SortOrder, N'ObjectCount' as Object, N'Hardware having Active Directory account' as Object, Count (*) as CountObjects from ADSMachine\r\n end Insert into @Erg select 115 as SortOrder , N'ObjectCount' as ObjectClass, N'Hardware VM Host' as Object, Count(*) as CountObjects from Hardware where\r\n (ispc = 1 or isServer = 1) and IsVMHost = 1 Insert into @Erg select 116 as SortOrder , N'ObjectCount' as ObjectClass, N'Hardware VM Client' as Object,\r\n Count(*) as CountObjects from Hardware where (ispc = 1 or isServer = 1) and IsVMClient = 1 If exists (select top 1 1 from QBMModuleDef where ModuleName\r\n = 'QAM') begin Insert into @Erg select 117 as SortOrder, N'ObjectCount' as Object, N'Data objects under Governance' as Object, Count (*) as CountObjects\r\n from QAMDuG where dbo.QBM_FCVGUIDToModuleOwner(UID_QAMDuG) = 'CCC' end end end insert into @ergFinal( SortOrder  , ObjectClass  , Object  ,CountObjects\r\n ) select e.SortOrder  , isnull(left(e.ObjectClass,32), '')  , isnull(left(e.Object, 256), '')  ,e.CountObjects  from @erg e order by e.SortOrder RETURN\r\n END \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTMethodForPRNode",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:38.107",
      "ModifyDate": "2026-04-14T23:20:38.107",
      "Definition": "create function dbo.QER_FTMethodForPRNode (@PRNodes QBM_YSingleGUID readonly  ) returns @erg table( UID_OrgPR varchar(38) collate database_default , UID_PWODecisionMethod\r\n varchar(38) collate database_default  , UID_PWODecisionMethod_old varchar(38) collate database_default  ) as begin declare @MaxAccProductGroupLevel int\r\n declare @i int declare @ProductNodeHasPWODecisionMethod QBM_YCursorBuffer   insert into @ProductNodeHasPWODecisionMethod ( UID1  , UID2 , UID3  , UID4\r\n , UID5 ) select b.UID_Org, b.UID_PWODecisionMethod , null, b.UID_AccProduct, b.UID_ParentOrg from @PRNodes p join BaseTree b on p.UID_SingleGuid = b.UID_Org\r\n   where b.UID_AccProduct > ' ' update @ProductNodeHasPWODecisionMethod set UID3  = a.UID_PWODecisionMethod from @ProductNodeHasPWODecisionMethod b join\r\n AccProduct a on b.UID4  = a.UID_AccProduct  where b.UID3  is null  select @MaxAccProductGroupLevel = MAX(v.CountSteps) from QER_VACCProductGroupCollection\r\n v select @i= 0 while @i <= @MaxAccProductGroupLevel and exists (select top 1 1 from @ProductNodeHasPWODecisionMethod b where b.UID3  is null ) begin update\r\n @ProductNodeHasPWODecisionMethod set UID3  = gp.UID_PWODecisionMethod from @ProductNodeHasPWODecisionMethod b join accproduct a on b.UID4  = a.UID_AccProduct\r\n join accproductGroup g on a.uid_accproductGroup = g.uid_accproductGroup join QER_VACCProductGroupCollection co on co.UID_ACCProductGroup = g.UID_AccProductGroup\r\n and co.CountSteps = @i and co.UID_AccProductGroupParent > ' ' join AccProductGroup gp on co.UID_AccProductGroupParent = gp.UID_AccProductGroup where b.UID3\r\n  is null and gp.UID_PWODecisionMethod > ' ' select @i += 1 end update @ProductNodeHasPWODecisionMethod set UID3  = h.UID_PWODecisionMethod from @ProductNodeHasPWODecisionMethod\r\n b join PWOHelperBoardMethod h on h.uid_OrgBO = b.UID5   where b.UID3  is null insert into @erg(UID_OrgPR, UID_PWODecisionMethod, UID_PWODecisionMethod_old\r\n) select h.UID1 as UID_OrgPR , UID3 as UID_PWODecisionMethod_new , UID2 as UID_PWODecisionMethod_old   from @ProductNodeHasPWODecisionMethod h return end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTOrgAttestatorHighest",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:36.333",
      "ModifyDate": "2026-04-14T23:20:36.333",
      "Definition": "create function dbo.QER_FTOrgAttestatorHighest (@uid_org varchar(38) , @uid_personinserted varchar(38)  , @uid_personordered varchar(38) , @WithFallBackRoot\r\n bit  ) returns @erg table (UID_Person varchar(38) collate database_default , UID_Org varchar(38) collate database_default , UID_PWORulerOrigin varchar\r\n(38) collate database_default ) as begin  declare @UID_Rulerorg varchar(38) declare @QER_ITShop_PersonInsertedNoDecide nvarchar(256) = '' declare @QER_ITShop_PersonOrderedNoDecide\r\n nvarchar(256) = '' declare @allPersonsOrdered QBM_YSingleGUID declare @allPersonsInserted QBM_YSingleGUID   if @uid_personinserted > ' ' begin select \r\n@QER_ITShop_PersonInsertedNoDecide = dbo.QBM_FGIConfigparmValue('QER\\ITShop\\PersonInsertedNoDecide') end if @QER_ITShop_PersonInsertedNoDecide = '1' and\r\n @uid_personinserted > ' ' begin  insert into @allPersonsInserted(UID_SingleGuid ) select distinct me.UID_PersonAlsoMe from QER_VPersonsAreMe me where \r\nme.UID_PersonOrigin = @uid_personinserted end if @uid_personordered > ' ' begin select @QER_ITShop_PersonOrderedNoDecide = dbo.QBM_FGIConfigparmValue('QER\\ITShop\\PersonOrderedNoDecide'\r\n) end if @QER_ITShop_PersonOrderedNoDecide = '1' and @uid_personordered > ' ' begin insert into @allPersonsOrdered(UID_SingleGuid ) select distinct me.UID_PersonAlsoMe\r\n from QER_VPersonsAreMe me where me.UID_PersonOrigin = @uid_personordered end select top 1 @UID_Rulerorg = SUBSTRING(y.zusammen, 6,38) from ( select max\r\n( dbo.QBM_FCVStringPadLeft( dbo.QBM_FCVIntToString(x.treelevel),5, '0') + x.UID_Org) as zusammen from (select distinct b.treelevel + 1 as treelevel, b.UID_OrgAttestator\r\n as UID_Org from BaseTreeCollection co join BaseTree b on co.UID_Org = @uid_org and co.UID_ParentOrg = b.UID_Org  join PersonInBaseTree pio on b.UID_OrgAttestator\r\n = pio.UID_Org and pio.XOrigin > 0 where (@QER_ITShop_PersonInsertedNoDecide = '' or not exists (select top 1 1 from @allPersonsInserted me where me.UID_SingleGuid\r\n  = pio.uid_person ) ) and ( @QER_ITShop_PersonOrderedNoDecide = '' or not exists (select top 1 1 from @allPersonsOrdered me where me.UID_SingleGuid  =\r\n pio.uid_person ) ) union all select 0, r.UID_OrgAttestator as uid_org from OrgRoot r join BaseTree b on b.UID_OrgRoot = r.UID_OrgRoot and b.UID_Org = \r\n@uid_org join PersonInBaseTree pio on r.UID_OrgAttestator = pio.UID_Org and pio.XOrigin > 0 where ( @QER_ITShop_PersonInsertedNoDecide = '' or not exists\r\n (select top 1 1 from @allPersonsInserted me where me.UID_SingleGuid  = pio.uid_person ) ) and ( @QER_ITShop_PersonOrderedNoDecide = '' or not exists (select\r\n top 1 1 from @allPersonsOrdered me where me.UID_SingleGuid  = pio.uid_person ) ) and @WithFallBackRoot = 1 ) as x ) as y insert into @erg (UID_Org, UID_Person\r\n, UID_PWORulerOrigin) select pib.UID_Org, pib.UID_Person, pwo.UID_PersonWantsOrg from PersonInBaseTree pib left outer join PersonWantsOrg pwo on pwo.ObjectKeyAssignment\r\n = pib.XObjectKey and pib.XOrigin > 0   and pwo.OrderState in ('Assigned', 'OrderProlongate', 'OrderUnsubscribe' ) where pib.UID_Org = @UID_Rulerorg and\r\n ( @QER_ITShop_PersonInsertedNoDecide = '' or not exists (select top 1 1 from @allPersonsInserted me where me.UID_SingleGuid  = pib.uid_person ) ) and \r\n( @QER_ITShop_PersonOrderedNoDecide = '' or not exists (select top 1 1 from @allPersonsOrdered me where me.UID_SingleGuid  = pib.uid_person ) ) return \r\nend \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTOrgHighestRulerContainer",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:36.317",
      "ModifyDate": "2026-04-14T23:20:36.317",
      "Definition": "create function dbo.QER_FTOrgHighestRulerContainer (@uid_org varchar(38)  , @uid_personinserted varchar(38)  , @uid_personordered varchar(38) , @WithFallBackRoot\r\n bit  , @UseRulerContainerIT int    ) returns @erg table (UID_Person varchar(38) collate database_default , UID_Org varchar(38) collate database_default\r\n , UID_PWORulerOrigin varchar(38) collate database_default ) as begin declare @UID_Rulerorg varchar(38) declare @QER_ITShop_PersonInsertedNoDecide nvarchar\r\n(256) = '' declare @QER_ITShop_PersonOrderedNoDecide nvarchar(256) = '' declare @allPersonsOrdered QBM_YSingleGUID declare @allPersonsInserted QBM_YSingleGUID\r\n   if @uid_personinserted > ' ' begin select @QER_ITShop_PersonInsertedNoDecide = dbo.QBM_FGIConfigparmValue('QER\\ITShop\\PersonInsertedNoDecide') end if\r\n @QER_ITShop_PersonInsertedNoDecide = '1' and @uid_personinserted > ' ' begin  insert into @allPersonsInserted(UID_SingleGuid ) select distinct me.UID_PersonAlsoMe\r\n from QER_VPersonsAreMe me where me.UID_PersonOrigin = @uid_personinserted end if @uid_personordered > ' ' begin select @QER_ITShop_PersonOrderedNoDecide\r\n = dbo.QBM_FGIConfigparmValue('QER\\ITShop\\PersonOrderedNoDecide') end if @QER_ITShop_PersonOrderedNoDecide = '1' and @uid_personordered > ' ' begin insert\r\n into @allPersonsOrdered(UID_SingleGuid ) select distinct me.UID_PersonAlsoMe from QER_VPersonsAreMe me where me.UID_PersonOrigin = @uid_personordered \r\nend select top 1 @UID_Rulerorg = SUBSTRING(y.zusammen, 6,38) from ( select max( dbo.QBM_FCVStringPadLeft( dbo.QBM_FCVIntToString(x.treelevel),5, '0') +\r\n x.UID_Org) as zusammen from (select distinct b.treelevel + 1 as treelevel, case @UseRulerContainerIT when 1 then b.UID_RulerContainerIT when -1 then b.UID_Org\r\n else b.UID_RulerContainer end as UID_Org from BaseTreeCollection co join BaseTree b on co.UID_Org = @uid_org and co.UID_ParentOrg = b.UID_Org join PersonInBaseTree\r\n pio on pio.UID_Org = case @UseRulerContainerIT when 1 then b.UID_RulerContainerIT when -1 then b.UID_Org else b.UID_RulerContainer end and pio.XOrigin\r\n > 0 where (@QER_ITShop_PersonInsertedNoDecide <> '1' or not exists (select top 1 1 from @allPersonsInserted me where me.UID_SingleGuid  = pio.uid_person\r\n ) ) and ( @QER_ITShop_PersonOrderedNoDecide <> '1' or not exists (select top 1 1 from @allPersonsOrdered me where me.UID_SingleGuid  = pio.uid_person \r\n) ) union all select 0, r.UID_OrgAttestator as uid_org from OrgRoot r join BaseTree b on b.UID_OrgRoot = r.UID_OrgRoot and b.UID_Org = @uid_org join PersonInBaseTree\r\n pio on r.UID_OrgAttestator = pio.UID_Org and pio.XOrigin > 0 where ( @QER_ITShop_PersonInsertedNoDecide <> '1' or not exists (select top 1 1 from @allPersonsInserted\r\n me where me.UID_SingleGuid  = pio.uid_person ) ) and ( @QER_ITShop_PersonOrderedNoDecide <> '1' or not exists (select top 1 1 from @allPersonsOrdered \r\nme where me.UID_SingleGuid  = pio.uid_person ) ) and @WithFallBackRoot = 1 ) as x ) as y insert into @erg (UID_Org, UID_Person, UID_PWORulerOrigin) select\r\n pib.UID_Org, pib.UID_Person, pwo.UID_PersonWantsOrg from PersonInBaseTree pib left outer join PersonWantsOrg pwo on pwo.ObjectKeyAssignment = pib.XObjectKey\r\n   and pwo.OrderState in ('Assigned', 'OrderProlongate', 'OrderUnsubscribe' ) and pib.XOrigin > 0 where pib.UID_Org = @UID_Rulerorg and pib.XOrigin > 0\r\n and ( @QER_ITShop_PersonInsertedNoDecide <> '1' or not exists (select top 1 1 from @allPersonsInserted me where me.UID_SingleGuid  = pib.uid_person ) \r\n) and ( @QER_ITShop_PersonOrderedNoDecide <> '1' or not exists (select top 1 1 from @allPersonsOrdered me where me.UID_SingleGuid  = pib.uid_person ) )\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTPersonFindByTSProp",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:35.88",
      "ModifyDate": "2026-04-14T23:30:48.473",
      "Definition": "create   function dbo.QER_FTPersonFindByTSProp( @CompareValue nvarchar(400) ) returns @erg table (UID_Person varchar(38) ) as begin insert into \r\n@erg(UID_Person) select p.UID_Person from Person p where p.CentralAccount = @CompareValue return end ",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTPersonHeadCirc_All",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:36.46",
      "ModifyDate": "2026-04-14T23:20:36.46",
      "Definition": "create function dbo.QER_FTPersonHeadCirc_All() returns @erg table ( UID_Person varchar(38) collate database_default Not Null , UID_PersonHead varchar(38\r\n) collate database_default Not Null , IsDirectReportsContained bit default 0 , IsDirectReportsOnly bit default 0  , IsHeadOrgContained bit default 0 , \r\nIsDelegationContained bit default 0  ) as begin declare @Heads QBM_YSingleGUID declare @work QER_YPersonHeadCircular insert into @Heads (UID_SingleGuid\r\n) select h.UID_PersonHead from HelperHeadOrg h union select h.UID_PersonHead from HelperHeadPerson h insert into @work(uid_person, uid_personhead , IsDirectReportsContained\r\n , IsHeadOrgContained  , IsCircular , IsDelegationContained , IsDirectReportsOnly  ) select x.UID_Person, x.UID_PersonHead , MAX(x.IsDirectReportsContained\r\n) , max(x.IsHeadOrgContained )  , 0 as IsCircular , max(IsDelegationContained) , min(IsDirectReportsOnly)  from (  select h.UID_Person, h.UID_PersonHead\r\n , 1 as IsDirectReportsContained , 0 as IsHeadOrgContained  , 0 as IsCircular , sign(len(isnull(d1.UID_PersonWantsOrg, ''))) as IsDelegationContained ,\r\n sign(h.XOrigin & dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0)) as IsDirectReportsOnly  from HelperHeadPerson h join @Heads o on h.UID_Person = o.UID_SingleGuid\r\n left outer join PersonWantsOrg d1 on d1.ObjectKeyAssignment = h.XObjectKey and d1.OrderState in ('OrderProlongate', 'Assigned', 'OrderUnsubscribe') union\r\n all  select pio.UID_Person, h.UID_PersonHead , 0 as IsDirectReportsContained , 1 as IsHeadOrgContained  , 0 as IsCircular , sign(len(isnull(d1.UID_PersonWantsOrg\r\n, ''))) as IsDelegationContained , 0 as IsDirectReportsOnly  from HelperPersonOrg pio join @Heads o on pio.UID_Person = o.UID_SingleGuid join HelperHeadOrg\r\n h on pio.UID_Org = h.UID_Org left outer join PersonWantsOrg d1 on d1.ObjectKeyAssignment = h.XObjectKey and d1.OrderState in ('OrderProlongate', 'Assigned'\r\n, 'OrderUnsubscribe')  and not exists (select top 1 1 from HelperPersonOrg po where po.UID_Org = h.UID_Org and po.UID_Person = pio.UID_Person )  union \r\nall select h.UID_PersonHead as UID_Person, ho.UID_PersonHead , 0 as IsDirectReportsContained , 1 as IsHeadOrgContained  , 0 as IsCircular , sign(len(isnull\r\n(d1.UID_PersonWantsOrg, '')) + len(isnull(d2.UID_PersonWantsOrg, ''))) as IsDelegationContained , 0 as IsDirectReportsOnly  from HelperHeadOrg h join BaseTreeCollectionF\r\n co on h.UID_Org = co.UID_Org and co.UID_Org <> co.UID_ParentOrg join HelperHeadOrg ho on co.UID_ParentOrg = ho.UID_Org left outer join PersonWantsOrg \r\nd1 on d1.ObjectKeyAssignment = h.XObjectKey and d1.OrderState in ('OrderProlongate', 'Assigned', 'OrderUnsubscribe') left outer join PersonWantsOrg d2 \r\non d2.ObjectKeyAssignment = ho.XObjectKey and d2.OrderState in ('OrderProlongate', 'Assigned', 'OrderUnsubscribe') ) as x group by x.UID_Person, x.UID_PersonHead\r\n having x.UID_Person <> x.UID_PersonHead insert into @erg( UID_Person , UID_PersonHead , IsDirectReportsContained , IsDirectReportsOnly , IsHeadOrgContained\r\n , IsDelegationContained  ) select c.UID_Person , UID_PersonHead , IsDirectReportsContained , IsDirectReportsOnly , IsHeadOrgContained , IsDelegationContained\r\n  from dbo.QER_FTPersonHeadCirc_calc(@work) c return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTPersonHeadCirc_BaseTree",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:36.427",
      "ModifyDate": "2026-04-14T23:20:36.427",
      "Definition": "create function dbo.QER_FTPersonHeadCirc_BaseTree( @UID_OrgRoot varchar(38) = null  ) returns @erg table ( UID_Person varchar(38) collate database_default\r\n Not Null , UID_PersonHead varchar(38) collate database_default Not Null    , IsDelegationContained bit default 0  ) as begin declare @work QER_YPersonHeadCircular\r\n insert into @work(uid_person, uid_personhead , IsDirectReportsContained , IsHeadOrgContained  , IsCircular , IsDelegationContained , IsDirectReportsOnly\r\n  ) select x.UID_Person, x.UID_PersonHead , MAX(x.IsDirectReportsContained) , max(x.IsHeadOrgContained )  , 0 as IsCircular , max(IsDelegationContained\r\n) , min(IsDirectReportsOnly)  from (  select pio.UID_Person, h.UID_PersonHead , 0 as IsDirectReportsContained , 1 as IsHeadOrgContained , 0 as LevelNumber\r\n , 0 as IsCircular , sign(len(isnull(d1.UID_PersonWantsOrg, ''))) as IsDelegationContained , 0 as IsDirectReportsOnly  from HelperPersonOrg pio join HelperHeadOrg\r\n h on pio.UID_Org = h.UID_Org join BaseTree b on h.UID_Org = b.UID_Org left outer join PersonWantsOrg d1 on d1.ObjectKeyAssignment = h.XObjectKey and d1.OrderState\r\n in ('OrderProlongate', 'Assigned', 'OrderUnsubscribe') where isnull(@UID_OrgRoot, b.UID_OrgRoot) = b.UID_OrgRoot and exists (select top 1 1 from HelperHeadOrg\r\n ha where ha.UID_PersonHead = pio.UID_Person )  and not exists (select top 1 1 from HelperPersonOrg po where po.UID_Org = h.UID_Org and po.UID_Person =\r\n pio.UID_Person )  union all select h.UID_PersonHead as UID_Person, ho.UID_PersonHead , 0 as IsDirectReportsContained , 1 as IsHeadOrgContained , 0 as \r\nLevelNumber , 0 as IsCircular , sign(len(isnull(d1.UID_PersonWantsOrg, '')) + len(isnull(d2.UID_PersonWantsOrg, ''))) as IsDelegationContained , 0 as IsDirectReportsOnly\r\n  from HelperHeadOrg h join BaseTreeCollectionF co on h.UID_Org = co.UID_Org  and co.UID_Org <> co.UID_ParentOrg join HelperHeadOrg ho on co.UID_ParentOrg\r\n = ho.UID_Org join BaseTree b on h.UID_Org = b.UID_Org left outer join PersonWantsOrg d1 on d1.ObjectKeyAssignment = h.XObjectKey and d1.OrderState in \r\n('OrderProlongate', 'Assigned', 'OrderUnsubscribe') left outer join PersonWantsOrg d2 on d2.ObjectKeyAssignment = ho.XObjectKey and d2.OrderState in ('OrderProlongate'\r\n, 'Assigned', 'OrderUnsubscribe') where isnull(@UID_OrgRoot, b.UID_OrgRoot) = b.UID_OrgRoot ) as x group by x.UID_Person, x.UID_PersonHead having x.UID_Person\r\n <> x.UID_PersonHead insert into @erg( UID_Person , UID_PersonHead    , IsDelegationContained  ) select c.UID_Person , UID_PersonHead    , IsDelegationContained\r\n  from dbo.QER_FTPersonHeadCirc_calc(@work) c return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTPersonHeadCirc_calc",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:36.353",
      "ModifyDate": "2026-04-14T23:20:36.353",
      "Definition": "create function dbo.QER_FTPersonHeadCirc_calc(@soFar dbo.QER_YPersonHeadCircular readonly ) returns @erg table ( UID_Person varchar(38) collate database_default\r\n Not Null , UID_PersonHead varchar(38) collate database_default Not Null   , IsDirectReportsContained bit default 0 , IsDirectReportsOnly bit default 0\r\n  , IsHeadOrgContained bit default 0 , IsDelegationContained bit default 0  ) with schemabinding as begin declare @work dbo.QER_YPersonHeadCircular declare\r\n @lauf int insert into @work( UID_Person , UID_PersonHead , IsDirectReportsContained , IsHeadOrgContained  , IsCircular , IsDelegationContained , IsDirectReportsOnly\r\n  ) select UID_Person , UID_PersonHead , IsDirectReportsContained , IsHeadOrgContained  , IsCircular , IsDelegationContained , IsDirectReportsOnly from\r\n @soFar select @lauf = 1 while @lauf > 0 begin insert into @work(uid_person, uid_personhead , IsDirectReportsContained , IsHeadOrgContained  , IsCircular\r\n , IsDelegationContained , IsDirectReportsOnly  ) select l.uid_person, h.uid_personhead , max(convert(int, l.IsDirectReportsContained | h.IsDirectReportsContained\r\n)) as IsDirectReportsContained , max(convert(int, l.IsHeadOrgContained | h.IsHeadOrgContained)) as IsHeadOrgContained      , 0 as IsCircular , max(convert\r\n(int, l.IsDelegationContained | h.IsDelegationContained )) as IsDelegationContained , Min(convert(int, l.IsDirectReportsOnly & h.IsDirectReportsOnly)) \r\nas IsDirectReportsOnly  from @work l join @work h on l.UID_PersonHead = h.UID_Person group by l.UID_Person, h.UID_PersonHead having not exists (select \r\ntop 1 1 from @work e where e.UID_Person = l.UID_Person and e.UID_PersonHead = h.uid_personhead ) and l.UID_Person <> h.UID_PersonHead select @lauf = @@ROWCOUNT\r\n end update @work set IsCircular = 1 , IsDelegationContained = l.IsDelegationContained | h.IsDelegationContained , IsDirectReportsContained = l.IsDirectReportsContained\r\n | h.IsDirectReportsContained , IsDirectReportsOnly = l.IsDirectReportsOnly & h.IsDirectReportsOnly , IsHeadOrgContained = l.IsHeadOrgContained | h.IsHeadOrgContained\r\n from @work l join (select e.UID_PersonHead, e.UID_Person , e.IsDelegationContained, e.IsDirectReportsContained, e.IsDirectReportsOnly, e.IsHeadOrgContained\r\n from @work e ) as h on l.uid_person = h.uid_personhead and l.uid_personhead = h.uid_person insert into @erg(UID_Person, UID_PersonHead, IsDirectReportsContained\r\n, IsDirectReportsOnly , IsDelegationContained, IsHeadOrgContained  ) select UID_Person, UID_PersonHead, IsDirectReportsContained, IsDirectReportsOnly ,\r\n IsDelegationContained, IsHeadOrgContained  from @work w where w.IsCircular = 1    return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTPersonHeadCirc_Person_i",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:36.39",
      "ModifyDate": "2026-04-14T23:20:36.39",
      "Definition": "create function dbo.QER_FTPersonHeadCirc_Person_i( @UID_Person varchar(38) , @UID_PersonHead varchar(38) , @fall int  ) returns @erg table ( UID_Person\r\n varchar(38) collate database_default Not Null , UID_PersonHead varchar(38) collate database_default Not Null , IsDirectReportsOnly bit default 0  , IsDelegationContained\r\n bit default 0 ) as begin declare @work QER_YPersonHeadCircular declare @HeadOld varchar(38) = null  if @Fall = 1 begin goto endLabel end if @Fall in (0\r\n,2)  begin insert into @work(uid_person, uid_personhead , IsDirectReportsContained , IsHeadOrgContained  , IsCircular , IsDelegationContained , IsDirectReportsOnly\r\n  ) select x.UID_Person, x.UID_PersonHead , MAX(x.IsDirectReportsContained) , max(x.IsHeadOrgContained )  , 0 as IsCircular , max(IsDelegationContained\r\n) , min(IsDirectReportsOnly)  from (  select h.UID_Person, h.UID_PersonHead , 1 as IsDirectReportsContained , 0 as IsHeadOrgContained  , 0 as IsCircular\r\n , sign(len(isnull(d1.UID_PersonWantsOrg, ''))) as IsDelegationContained , sign(h.XOrigin & dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0)) as IsDirectReportsOnly\r\n from HelperHeadPerson h left outer join PersonWantsOrg d1 on d1.ObjectKeyAssignment = h.XObjectKey and d1.OrderState in ('OrderProlongate', 'Assigned'\r\n, 'OrderUnsubscribe')      union all  select h.UID_Person, h.UID_PersonHead , 1 as IsDirectReportsContained , 0 as IsHeadOrgContained  , 0 as IsCircular\r\n , 0 as IsDelegationContained , 1 as IsDirectReportsOnly from Person h where h.UID_Person = @UID_Person or h.UID_PersonHead = @UID_Person            ) \r\nas x group by x.UID_Person, x.UID_PersonHead having x.UID_Person <> x.UID_PersonHead end else  begin  select top 1 @HeadOld = p.UID_PersonHead from Person\r\n p where p.UID_Person = @UID_Person select @HeadOld = ISNULL(@HeadOld, '#') insert into @work(uid_person, uid_personhead , IsDirectReportsContained , IsHeadOrgContained\r\n  , IsCircular , IsDelegationContained , IsDirectReportsOnly  ) select x.UID_Person, x.UID_PersonHead , MAX(x.IsDirectReportsContained) , max(x.IsHeadOrgContained\r\n )  , 0 as IsCircular , max(IsDelegationContained) , min(IsDirectReportsOnly)  from (  select h.UID_Person, h.UID_PersonHead , 1 as IsDirectReportsContained\r\n , 0 as IsHeadOrgContained  , 0 as IsCircular , sign(len(isnull(d1.UID_PersonWantsOrg, ''))) as IsDelegationContained , sign(h.XOrigin & dbo.QBM_FGIBitPatternXOrigin\r\n('|Direct|', 0)) as IsDirectReportsOnly from HelperHeadPerson h left outer join PersonWantsOrg d1 on d1.ObjectKeyAssignment = h.XObjectKey and d1.OrderState\r\n in ('OrderProlongate', 'Assigned', 'OrderUnsubscribe')  where not (h.UID_Person = @UID_Person and h.UID_PersonHead = @HeadOld )   and h.XOrigin & dbo.QBM_FGIBitPatternXOrigin\r\n('|Pwo|', 1) > 0              union all select @UID_Person, @UID_PersonHead , 1 as IsDirectReportsContained , 0 as IsHeadOrgContained  , 0 as IsCircular\r\n , 0 as IsDelegationContained , 1 as IsDirectReportsOnly ) as x group by x.UID_Person, x.UID_PersonHead having x.UID_Person <> x.UID_PersonHead  if @UID_Person\r\n = @UID_PersonHead  begin insert into @work(uid_person, uid_personhead , IsDirectReportsContained , IsHeadOrgContained , IsCircular , IsDelegationContained\r\n , IsDirectReportsOnly ) select @UID_Person, @UID_PersonHead, 1, 0, 1, 0, 1 end end Berechnung: insert into @erg( UID_Person , UID_PersonHead  , IsDirectReportsOnly\r\n  , IsDelegationContained  ) select c.UID_Person , UID_PersonHead  , IsDirectReportsOnly  , IsDelegationContained  from dbo.QER_FTPersonHeadCirc_calc(@work\r\n) c where ( c.UID_Person = @UID_Person or c.UID_PersonHead = @UID_Person or @UID_Person is null ) endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTPwoNextDecisionMaker",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:17:27.243",
      "ModifyDate": "2026-04-14T23:17:27.243",
      "Definition": "create function dbo.QER_FTPwoNextDecisionMaker (@uid_personwantsorg varchar(38)) returns @erg table ( Ordernumber int , UID_PWOHelperPWO varchar(38) collate\r\n database_default , UID_PersonHead varchar(38) collate database_default , UID_PWODecisionRule varchar(38) collate database_default , LevelNumber int , \r\nSubLevelNumber int , UID_QERWorkingStep varchar(38) collate database_default , RulerLevel int    ) as begin declare @CurrentLevel int declare @UID_QERWorkingMethod\r\n varchar(38) declare @lauf int = 1 declare @work QER_YPWONextDecisionMaker   select top 1 @UID_QERWorkingMethod = pwo.UID_QERWorkingMethod , @CurrentLevel\r\n = pwo.DecisionLevel from personwantsorg pwo where pwo.uid_personwantsorg = @uid_personwantsorg;    insert into @work (UID_QERWorkingStep, LevelNumber,\r\n positivesteps, Ordernumber) select s.UID_QERWorkingStep, s.LevelNumber, s.PositiveSteps, 1 as Ordernumber from QERWorkingStep s where s.UID_QERWorkingMethod\r\n = @UID_QERWorkingMethod and s.LevelNumber = @CurrentLevel while @Lauf > 0 begin insert into @work (UID_QERWorkingStep, LevelNumber, positivesteps, Ordernumber\r\n) select distinct a.UID_QERWorkingStep, a.LevelNumber, a.positivesteps, h.ordernumber +1 from QERWorkingStep a join @work h on a.levelnumber = h.levelnumber\r\n + h.positiveSteps where a.UID_QERWorkingMethod = @UID_QERWorkingMethod and h.positiveSteps <> 0 and not exists (select top 1 1 from @work w where w.UID_QERWorkingStep\r\n = a.UID_QERWorkingStep ) select @lauf = @@rowcount end insert into @erg ( Ordernumber, UID_PWOHelperPWO, UID_PersonHead, UID_PWODecisionRule, LevelNumber\r\n, SubLevelNumber, UID_QERWorkingStep , RulerLevel) select distinct sNext.Ordernumber, hNext.UID_PWOHelperPWO, hNext.UID_Person  , hNext.UID_PWODecisionRule\r\n, hNext.LevelNumber, hNext.SubLevelNumber, hNext.UID_QERWorkingStep , hnext.RulerLevel from (select UID_QERWorkingStep, LevelNumber, positivesteps , ordernumber\r\n from @work ) as sNext  join QER_VITShopDecisionPerson_IS hNext on hNext.uid_personwantsorg = @uid_personwantsorg and sNext.levelnumber = hNext.Levelnumber\r\n and sNext.UID_QERWorkingStep = hNext.UID_QERWorkingStep return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTPWOOrderPerson",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:17:27.457",
      "ModifyDate": "2026-04-14T23:17:27.457",
      "Definition": "create function dbo.QER_FTPWOOrderPerson (@UID_PersonOrdered varchar(38)   , @UID_ITShopOrgPR varchar(38)   , @UID_ACCProduct varchar(38)   , @ValidFrom\r\n datetime   , @ValidUntil datetime   ) returns @erg table  (UID_PersonOrdered varchar(38) collate database_default  , UID_ITShopOrgPR varchar(38) collate\r\n database_default  , UID_ITShopOrgBO varchar(38) collate database_default  , UID_ITShopOrgSH varchar(38) collate database_default  , UID_AccProduct varchar\r\n(38) collate database_default , IsReusePossible bit , Ident_AccProduct nvarchar(256) collate database_default , Description nvarchar(max) collate database_default\r\n  , UID_AccproductGroup varchar(38) collate database_default  ) as begin    if @UID_PersonOrdered is null and @UID_ITShopOrgPR is null and @UID_ACCProduct\r\n is null begin insert into @erg (UID_PersonOrdered , UID_ITShopOrgPR , UID_ITShopOrgBO , UID_ITShopOrgSH , UID_AccProduct, IsReusePossible, Ident_AccProduct\r\n , Description , UID_AccproductGroup ) select UID_PersonOrdered , UID_ITShopOrgPR , UID_ITShopOrgBO , UID_ITShopOrgSH , UID_AccProduct, IsReusePossible\r\n, Ident_AccProduct , Description , UID_AccproductGroup from dbo.QER_FTPWOOrderPerson_000(@UID_PersonOrdered, @UID_ITShopOrgPR, @UID_ACCProduct,@ValidFrom\r\n, @ValidUntil, 1073741824) goto endLabel end if @UID_PersonOrdered is null and @UID_ITShopOrgPR is null and @UID_ACCProduct > ' ' begin insert into @erg\r\n (UID_PersonOrdered , UID_ITShopOrgPR , UID_ITShopOrgBO , UID_ITShopOrgSH , UID_AccProduct, IsReusePossible, Ident_AccProduct , Description , UID_AccproductGroup\r\n ) select UID_PersonOrdered , UID_ITShopOrgPR , UID_ITShopOrgBO , UID_ITShopOrgSH , UID_AccProduct, IsReusePossible, Ident_AccProduct , Description , UID_AccproductGroup\r\n from dbo.QER_FTPWOOrderPerson_001(@UID_PersonOrdered, @UID_ITShopOrgPR, @UID_ACCProduct,@ValidFrom, @ValidUntil, 1073741824) goto endLabel end if @UID_PersonOrdered\r\n is null and @UID_ITShopOrgPR > ' ' and @UID_ACCProduct is null begin insert into @erg (UID_PersonOrdered , UID_ITShopOrgPR , UID_ITShopOrgBO , UID_ITShopOrgSH\r\n , UID_AccProduct, IsReusePossible, Ident_AccProduct , Description , UID_AccproductGroup ) select UID_PersonOrdered , UID_ITShopOrgPR , UID_ITShopOrgBO\r\n , UID_ITShopOrgSH , UID_AccProduct, IsReusePossible, Ident_AccProduct , Description , UID_AccproductGroup from dbo.QER_FTPWOOrderPerson_010(@UID_PersonOrdered\r\n, @UID_ITShopOrgPR, @UID_ACCProduct,@ValidFrom, @ValidUntil, 1073741824) goto endLabel end if @UID_PersonOrdered is null and @UID_ITShopOrgPR > ' ' and\r\n @UID_ACCProduct > ' ' begin insert into @erg (UID_PersonOrdered , UID_ITShopOrgPR , UID_ITShopOrgBO , UID_ITShopOrgSH , UID_AccProduct, IsReusePossible\r\n, Ident_AccProduct , Description , UID_AccproductGroup ) select UID_PersonOrdered , UID_ITShopOrgPR , UID_ITShopOrgBO , UID_ITShopOrgSH , UID_AccProduct\r\n, IsReusePossible, Ident_AccProduct , Description , UID_AccproductGroup from dbo.QER_FTPWOOrderPerson_011(@UID_PersonOrdered, @UID_ITShopOrgPR, @UID_ACCProduct\r\n,@ValidFrom, @ValidUntil, 1073741824) goto endLabel end if @UID_PersonOrdered > ' ' and @UID_ITShopOrgPR is null and @UID_ACCProduct is null begin insert\r\n into @erg (UID_PersonOrdered , UID_ITShopOrgPR , UID_ITShopOrgBO , UID_ITShopOrgSH , UID_AccProduct, IsReusePossible, Ident_AccProduct , Description ,\r\n UID_AccproductGroup ) select UID_PersonOrdered , UID_ITShopOrgPR , UID_ITShopOrgBO , UID_ITShopOrgSH , UID_AccProduct, IsReusePossible, Ident_AccProduct\r\n , Description , UID_AccproductGroup from dbo.QER_FTPWOOrderPerson_100(@UID_PersonOrdered, @UID_ITShopOrgPR, @UID_ACCProduct,@ValidFrom, @ValidUntil, 1073741824\r\n) goto endLabel end if @UID_PersonOrdered > ' ' and @UID_ITShopOrgPR is null and @UID_ACCProduct > ' ' begin insert into @erg (UID_PersonOrdered , UID_ITShopOrgPR\r\n , UID_ITShopOrgBO , UID_ITShopOrgSH , UID_AccProduct, IsReusePossible, Ident_AccProduct , Description , UID_AccproductGroup ) select UID_PersonOrdered\r\n , UID_ITShopOrgPR , UID_ITShopOrgBO , UID_ITShopOrgSH , UID_AccProduct, IsReusePossible, Ident_AccProduct , Description , UID_AccproductGroup from dbo.QER_FTPWOOrderPerson_101\r\n(@UID_PersonOrdered, @UID_ITShopOrgPR, @UID_ACCProduct,@ValidFrom, @ValidUntil, 1073741824) goto endLabel end if @UID_PersonOrdered > ' ' and @UID_ITShopOrgPR\r\n > ' ' and @UID_ACCProduct is null begin insert into @erg (UID_PersonOrdered , UID_ITShopOrgPR , UID_ITShopOrgBO , UID_ITShopOrgSH , UID_AccProduct, IsReusePossible\r\n, Ident_AccProduct , Description , UID_AccproductGroup ) select UID_PersonOrdered , UID_ITShopOrgPR , UID_ITShopOrgBO , UID_ITShopOrgSH , UID_AccProduct\r\n, IsReusePossible, Ident_AccProduct , Description , UID_AccproductGroup from dbo.QER_FTPWOOrderPerson_110(@UID_PersonOrdered, @UID_ITShopOrgPR, @UID_ACCProduct\r\n,@ValidFrom, @ValidUntil, 1073741824) goto endLabel end if @UID_PersonOrdered > ' ' and @UID_ITShopOrgPR > ' ' and @UID_ACCProduct > ' ' begin insert into\r\n @erg (UID_PersonOrdered , UID_ITShopOrgPR , UID_ITShopOrgBO , UID_ITShopOrgSH , UID_AccProduct, IsReusePossible, Ident_AccProduct , Description , UID_AccproductGroup\r\n ) select UID_PersonOrdered , UID_ITShopOrgPR , UID_ITShopOrgBO , UID_ITShopOrgSH , UID_AccProduct, IsReusePossible, Ident_AccProduct , Description , UID_AccproductGroup\r\n from dbo.QER_FTPWOOrderPerson_111(@UID_PersonOrdered, @UID_ITShopOrgPR, @UID_ACCProduct,@ValidFrom, @ValidUntil, 1073741824)  end endlabel: return end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTPwoValidDateRangeAssign",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:17:27.35",
      "ModifyDate": "2026-04-14T23:17:27.35",
      "Definition": "create function dbo.QER_FTPwoValidDateRangeAssign( @ObjectKeyAssignment varchar(138)  ) returns @erg table(FromDatetime datetime , UntilDatetime datetime\r\n ) as begin declare @heute datetime = getutcdate() declare @ist QBM_YDateTimePair declare @GapDefinition int = 0 select @GapDefinition = dbo.QBM_FCVStringToInt\r\n(dbo.QBM_FGIConfigparmValue('QER\\ITShop\\GapBehavior\\GapDefinition'), 0) insert into @ist (FromDate , ToDate) select case when isnull(pwo.ValidFrom, '1899-12-30'\r\n) < @heute then @heute else pwo.ValidFrom end , dbo.QBM_FCVDatetimeToDatetimeEve(isnull(pwo.ValidUntil, '2200-01-01')) from PersonWantsOrg pwo where pwo.ObjectKeyAssignment\r\n = @ObjectKeyAssignment        and (pwo.OrderState in ('Assigned', 'Granted', 'New', 'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting') \r\nand @GapDefinition = 0  or pwo.OrderState in ('Assigned', 'Granted', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting') and @GapDefinition = 1  or pwo.OrderState\r\n in ('Assigned', 'OrderProlongate', 'OrderUnsubscribe' ) and @GapDefinition = 2  ) insert into @erg(FromDatetime, UntilDatetime) select g.GapStart, g.GapEnd\r\n from dbo.QBM_FTDateTimeGaps(@ist) g endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTPwoValidDateRanges",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:17:27.317",
      "ModifyDate": "2026-04-14T23:17:27.317",
      "Definition": "create function dbo.QER_FTPwoValidDateRanges(@UID_PersonOrdered varchar(38)  , @UID_ITShopOrgPR varchar(38)  ) returns @erg table(FromDatetime datetime\r\n , UntilDatetime datetime ) as begin declare @heute datetime = getutcdate() declare @ObjectKeyAnPR varchar(138) declare @QER_BitPatternInheritInfo int \r\n= dbo.QER_FGIBitPatternInheritInfo('|Direct|', 0) declare @ist QBM_YDateTimePair declare @GapDefinition int = 0 select @GapDefinition = dbo.QBM_FCVStringToInt\r\n(dbo.QBM_FGIConfigparmValue('QER\\ITShop\\GapBehavior\\GapDefinition'), 0) select top 1 @ObjectKeyAnPR = bho.ObjectKey from BaseTreeHasObject bho where bho.UID_Org\r\n = @UID_ITShopOrgPR and bho.InheritInfo = @QER_BitPatternInheritInfo insert into @ist (FromDate , ToDate) select case when isnull(pwo.ValidFrom, '1899-12-30'\r\n) < @heute then @heute else pwo.ValidFrom end , dbo.QBM_FCVDatetimeToDatetimeEve(isnull(pwo.ValidUntil, '2200-01-01')) from PersonWantsOrg pwo join BaseTreeHasObject\r\n bho on pwo.UID_Org = bho.UID_Org and bho.InheritInfo = @QER_BitPatternInheritInfo where  bho.ObjectKey = @ObjectKeyAnPR and pwo.UID_PersonOrdered = @UID_PersonOrdered\r\n        and (pwo.Orderstate in ('Assigned', 'Granted', 'New', 'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting') and @GapDefinition = 0 \r\n or pwo.OrderState in ('Assigned', 'Granted', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting') and @GapDefinition = 1  or pwo.OrderState in ('Assigned'\r\n, 'OrderProlongate', 'OrderUnsubscribe' ) and @GapDefinition = 2  ) insert into @erg(FromDatetime, UntilDatetime) select g.GapStart, g.GapEnd from dbo.QBM_FTDateTimeGaps\r\n(@ist) g endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTPWOVisibleForPerson_I",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:37.903",
      "ModifyDate": "2026-04-14T23:20:37.903",
      "Definition": "create function dbo.QER_FTPWOVisibleForPerson_I (@uid_person varchar(38) , @AsManager bit   , @UID_PersonWantsOrg varchar(38)   ) returns @erg table (UID_PersonWantsOrg\r\n varchar(38) collate database_default , IsClosed bit primary key (UID_PersonWantsOrg) ) as begin       declare @erg_01orderd QBM_YParameterList declare\r\n @erg_01inserted QBM_YParameterList declare @erg_02 QBM_YParameterList declare @erg_03 QBM_YParameterList declare @erg_04 QBM_YParameterList declare @erg_05\r\n QBM_YParameterList declare @erg_06 QBM_YParameterList declare @erg_07 QBM_YParameterList declare @MyReports QBM_YSingleGUID   declare @MyOrgs QBM_YSingleGUID\r\n   declare @MyOrgsBasis QBM_YSingleGUID   declare @PersonsMe QBM_YSingleGUID   declare @ShowClosedAssignment int declare @ReduceMyReports bit = dbo.QBM_FCVStringToBit\r\n( dbo.QBM_FGISessionContext('PWOAccessAsManagerReduced')) select @ShowClosedAssignment = dbo.QBM_FCVStringToInt( dbo.QBM_FGIConfigparmValue('QER\\ITShop\\ShowClosedAssignmentOrders'\r\n) , 0) if @UID_PersonWantsOrg > ' ' begin  if dbo.QER_FGIPWOVisibleForPerson(@uid_person, @UID_PersonWantsOrg, @AsManager) = 1 begin insert into @erg_01orderd\r\n(Parameter1, Parameter2) select top 1  pwo.UID_PersonWantsOrg, pwo.OrderState  from PersonWantsOrg pwo  where pwo.UID_PersonWantsOrg = @UID_PersonWantsOrg\r\n goto TestsDone end end insert into @PersonsMe (UID_SingleGuid ) select distinct me.UID_PersonAlsoMe from QER_VPersonsAreMe me where me.UID_PersonOrigin\r\n = @uid_person     if @AsManager = 1 begin                insert into @MyOrgsBasis(UID_SingleGuid) select x.UID_Org from( select hho.UID_Org from HelperHeadOrg\r\n hho join @PersonsMe me on hho.UID_PersonHead = me.UID_SingleGuid where hho.XOrigin > 0  union all select UID_Org from BaseTree b join @PersonsMe me on\r\n b.UID_PersonHead = me.UID_SingleGuid union all select UID_Org f from BaseTree b join @PersonsMe me on b.UID_PersonHeadSecond = me.UID_SingleGuid ) as \r\nx group by x.UID_Org  insert into @MyOrgs (UID_SingleGuid, BitProperty) select x.UID_SingleGuid, min(x.isParent) from ( select b.UID_SingleGuid , 0 as \r\nisParent from @MyOrgsBasis b union all select co.UID_Org, 0 from @MyOrgsBasis b join BaseTreeCollectionF co on b.UID_SingleGuid = co.UID_ParentOrg and \r\nco.UID_Org <> co.UID_ParentOrg union all select co.UID_ParentOrg, case when co.UID_Org = co.UID_ParentOrg then 0 else 1 end from @MyOrgsBasis b join BaseTreeCollectionF\r\n co on b.UID_SingleGuid = co.UID_Org and co.UID_Org <> co.UID_ParentOrg ) as x group by x.UID_SingleGuid if @ReduceMyReports = 0 begin  insert into @MyReports\r\n(UID_SingleGuid)  select hpo.uid_person from @MyOrgs c join helperpersonorg hpo on hpo.uid_org = c.UID_SingleGuid  where BitProperty = 0 union  select \r\nhhp.UID_Person from @PersonsMe me join HelperHeadPerson hhp on hhp.UID_PersonHead = me.UID_SingleGuid where hhp.XOrigin > 0  union select me.UID_SingleGuid\r\n from @PersonsMe me end else begin  insert into @MyReports(UID_SingleGuid)  select hpo.uid_person from @MyOrgsBasis c join HelperPersonOrg hpo on hpo.UID_Org\r\n = c.UID_SingleGuid union  select hhp.UID_Person from @PersonsMe me join HelperHeadPerson hhp on hhp.UID_PersonHead = me.UID_SingleGuid where hhp.XOrigin\r\n > 0  union select me.UID_SingleGuid from @PersonsMe me end end else begin  insert into @MyReports(UID_SingleGuid) select me.UID_SingleGuid from @PersonsMe\r\n me end                               if @AsManager = 1 begin if @ShowClosedAssignment = 1 begin insert into @erg_01orderd( Parameter1, Parameter2) select\r\n pwo.UID_PersonWantsOrg, pwo.OrderState from PersonWantsOrg pwo join @MyReports p on pwo.UID_PersonOrdered = p.UID_SingleGuid  where pwo.OrderState in \r\n('Assigned', 'Granted', 'New', 'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting')   or pwo.ObjectKeyAssignment is null or ( pwo.OrderState\r\n in ('Aborted', 'Dismissed', 'Unsubscribed' )  and pwo.ObjectKeyAssignment > ' '  ) insert into @erg_01inserted( Parameter1, Parameter2) select pwo.UID_PersonWantsOrg\r\n, pwo.OrderState from PersonWantsOrg pwo join @MyReports p on pwo.UID_PersonInserted = p.UID_SingleGuid and pwo.UID_PersonInserted <> pwo.UID_PersonOrdered\r\n   where pwo.OrderState in ('Assigned', 'Granted', 'New', 'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting')   or pwo.ObjectKeyAssignment\r\n is null or ( pwo.OrderState in ('Aborted', 'Dismissed', 'Unsubscribed' )  and pwo.ObjectKeyAssignment > ' '  ) end  else begin insert into @erg_01orderd\r\n( Parameter1, Parameter2) select pwo.UID_PersonWantsOrg, pwo.OrderState from PersonWantsOrg pwo join @MyReports p on pwo.UID_PersonOrdered = p.UID_SingleGuid\r\n   where pwo.OrderState in ('Assigned', 'Granted', 'New', 'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting')   or pwo.ObjectKeyAssignment\r\n is null      insert into @erg_01inserted( Parameter1, Parameter2) select pwo.UID_PersonWantsOrg, pwo.OrderState from PersonWantsOrg pwo join @MyReports\r\n p on pwo.UID_PersonInserted = p.UID_SingleGuid and pwo.UID_PersonInserted <> pwo.UID_PersonOrdered    where pwo.OrderState in ('Assigned', 'Granted', \r\n'New', 'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting')   or pwo.ObjectKeyAssignment is null     end  end else begin  insert into @erg_01orderd\r\n( Parameter1, Parameter2) select pwo.UID_PersonWantsOrg, pwo.OrderState from PersonWantsOrg pwo join @MyReports p on pwo.UID_PersonOrdered = p.UID_SingleGuid\r\n   insert into @erg_01inserted( Parameter1, Parameter2) select pwo.UID_PersonWantsOrg, pwo.OrderState from PersonWantsOrg pwo join @MyReports p on pwo.UID_PersonInserted\r\n = p.UID_SingleGuid and pwo.UID_PersonInserted <> pwo.UID_PersonOrdered    end if @AsManager = 1 begin    if @ReduceMyReports = 0 begin  insert into @erg_02\r\n(Parameter1, Parameter2) select x.UID_PersonWantsOrg, x.OrderState from ( select pwo.UID_PersonWantsOrg, pwo.OrderState from PersonWantsOrg pwo    join\r\n BaseTree b on pwo.ObjectKeyOrgUsedInAssign = b.XObjectKey join @MyOrgs mc on b.uid_org = mc.UID_SingleGuid where (pwo.OrderState in ('Assigned', 'Granted'\r\n, 'New', 'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting')  or @ShowClosedAssignment = 1 ) ) as x  end else begin  insert into @erg_02(Parameter1\r\n, Parameter2) select x.UID_PersonWantsOrg, x.OrderState from ( select pwo.UID_PersonWantsOrg, pwo.OrderState from PersonWantsOrg pwo join BaseTree b on\r\n pwo.ObjectKeyOrgUsedInAssign = b.XObjectKey join @MyOrgsBasis mc on b.uid_org = mc.UID_SingleGuid where (pwo.OrderState in ('Assigned', 'Granted', 'New'\r\n, 'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting')  or @ShowClosedAssignment = 1 ) ) as x end  end  if @AsManager = 0 begin    insert \r\ninto @erg_03 (Parameter1) select h.UID_PersonWantsOrg from PWOHelperPWO h join @PersonsMe me on me.UID_SingleGuid = h.UID_PersonHead group by h.UID_PersonWantsOrg\r\n update @erg_03 set Parameter3 = pwo.UID_ShoppingCartOrder , Parameter2 = pwo.OrderState from @erg_03 w join personwantsorg pwo on pwo.uid_personwantsorg\r\n = w.Parameter1     insert into @erg_04 (Parameter1, Parameter2) select x.UID_PersonWantsOrg, x.OrderState from ( select pwo.UID_PersonWantsorg , pwo.OrderState\r\n from PersonWantsOrg pwo join ( select distinct h.UID_PersonWantsOrg from PWODecisionHistory h join @PersonsMe me on me.UID_SingleGuid = h.UID_PersonHead\r\n ) hp on hp.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg  ) as x      insert into @erg_05 (Parameter1) select x.UID_PersonWantsOrg from ( select distinct\r\n d.UID_PersonWantsOrg from Delegation d join @PersonsMe me on d.UID_PersonReceiver = me.UID_SingleGuid ) as x   update @erg_05 set Parameter2 = pwo.OrderState\r\n from @erg_05 w join personwantsorg pwo on pwo.uid_personwantsorg = w.Parameter1    insert into @erg_07 (Parameter1) select x.UID_PersonWantsOrg from (\r\n select distinct d.UID_PersonWantsOrg from QERUniversalSubstitute d join @PersonsMe me on d.UID_PersonReceiver = me.UID_SingleGuid ) as x   update @erg_07\r\n set Parameter2 = pwo.OrderState from @erg_07 w join personwantsorg pwo on pwo.uid_personwantsorg = w.Parameter1    insert into @erg_06 (Parameter1, Parameter2\r\n) select x.UID_PersonWantsOrg, x.OrderState from ( select pwo.UID_PersonWantsOrg, pwo.OrderState from PersonWantsOrg pwo       join ( select hp.Parameter3\r\n from @erg_03 hp group by hp.Parameter3 ) as so on pwo.UID_ShoppingCartOrder = so.Parameter3      ) as x   end   if @AsManager = 1 begin INSERT INTO @erg_05\r\n(Parameter1, Parameter2)         SELECT d.UID_PersonWantsOrg, pwo.OrderState FROM Delegation d JOIN @MyReports mr ON d.UID_PersonReceiver = mr.UID_SingleGuid\r\n  join PersonWantsOrg pwo on d.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg  where (pwo.OrderState in ('Assigned', 'Granted', 'New', 'OrderProduct', 'OrderProlongate'\r\n, 'OrderUnsubscribe', 'Waiting')  or @ShowClosedAssignment = 1 )  end   TestsDone: if @AsManager = 0 begin insert into @erg (UID_PersonWantsOrg, IsClosed\r\n) select z.UID_PersonWantsOrg, case when z.OrderState in ('Aborted', 'Dismissed', 'Unsubscribed' ) then 1 else 0 end as IsClosed from ( select y.Parameter1\r\n as UID_PersonWantsOrg, max(y.Parameter2) as OrderState from ( select x.Parameter1, x.Parameter2 from @erg_01orderd x union all select x.Parameter1, x.Parameter2\r\n from @erg_01inserted x union all    select x.Parameter1, x.Parameter2 from @erg_03 x union all select x.Parameter1, x.Parameter2 from @erg_04 x union \r\nall select x.Parameter1, x.Parameter2 from @erg_05 x union all select x.Parameter1, x.Parameter2 from @erg_06 x union all select x.Parameter1, x.Parameter2\r\n from @erg_07 x ) as y group by y.Parameter1 ) as z end else  begin insert into @erg (UID_PersonWantsOrg, IsClosed) select z.UID_PersonWantsOrg, case when\r\n z.OrderState in ('Aborted', 'Dismissed', 'Unsubscribed' ) then 1 else 0 end as IsClosed from ( select y.Parameter1 as UID_PersonWantsOrg, max(y.Parameter2\r\n) as OrderState from ( select x.Parameter1, x.Parameter2 from @erg_01orderd x union all select x.Parameter1, x.Parameter2 from @erg_01inserted x union \r\nall select x.Parameter1, x.Parameter2 from @erg_02 x  union all select x.Parameter1, x.Parameter2 from @erg_05 x  ) as y group by y.Parameter1 ) as z end\r\n endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTQERAssignPredecessor",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:36.51",
      "ModifyDate": "2026-04-14T23:20:36.51",
      "Definition": "create function dbo.QER_FTQERAssignPredecessor(@UID_QERAssign varchar(38) ) returns @erg table (UID_QERAssignPredecessor varchar(38) collate database_default\r\n , UID_QERAssign varchar(38) collate database_default ) with schemabinding as begin declare @UID_QERAssignSearch varchar(38) declare @UID_QERAssignPredecessor\r\n varchar(38) select @UID_QERAssignSearch = @UID_QERAssign insert into @erg (UID_QERAssignPredecessor, UID_QERAssign) select @UID_QERAssign, @UID_QERAssign\r\n marke: select @UID_QERAssignPredecessor = null select top 1 @UID_QERAssignPredecessor = r.UID_QERAssignPredecessor from dbo.QERAssign r where r.UID_QERAssign\r\n = @UID_QERAssignSearch if @UID_QERAssignPredecessor > ' ' begin insert into @erg (UID_QERAssignPredecessor, UID_QERAssign) select @UID_QERAssignPredecessor\r\n, @UID_QERAssign where Not exists (select top 1 1 from @erg e where e.UID_QERAssignPredecessor = @UID_QERAssignPredecessor ) if @@ROWCOUNT > 0 begin select\r\n @UID_QERAssignSearch = @UID_QERAssignPredecessor goto marke end end EndLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTQERResourcePredecessor",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:36.497",
      "ModifyDate": "2026-04-14T23:20:36.497",
      "Definition": "create function dbo.QER_FTQERResourcePredecessor(@UID_QERResource varchar(38) ) returns @erg table (UID_QERResource varchar(38) collate database_default\r\n , UID_QERResourcePredecessor varchar(38) collate database_default ) with schemabinding as begin declare @UID_QERResourceSearch varchar(38) declare @UID_QERResourcePredecessor\r\n varchar(38) select @UID_QERResourceSearch = @UID_QERResource insert into @erg (UID_QERResourcePredecessor, UID_QERResource) select @UID_QERResource, @UID_QERResource\r\n marke: select @UID_QERResourcePredecessor = null select top 1 @UID_QERResourcePredecessor = r.UID_QERResourcePredecessor from dbo.QERResource r where \r\nr.UID_QERResource = @UID_QERResourceSearch if @UID_QERResourcePredecessor > ' ' begin insert into @erg (UID_QERResourcePredecessor, UID_QERResource) select\r\n @UID_QERResourcePredecessor, @UID_QERResource where Not exists (select top 1 1 from @erg e where e.UID_QERResourcePredecessor = @UID_QERResourcePredecessor\r\n ) if @@ROWCOUNT > 0 begin select @UID_QERResourceSearch = @UID_QERResourcePredecessor goto marke end end EndLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTQERReusePredecessor",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:36.523",
      "ModifyDate": "2026-04-14T23:20:36.523",
      "Definition": "create function dbo.QER_FTQERReusePredecessor(@UID_QERReuse varchar(38) ) returns @erg table (UID_QERReusePredecessor varchar(38) collate database_default\r\n , UID_QERReuse varchar(38) collate database_default ) with schemabinding as begin declare @UID_QERReuseSearch varchar(38) declare @UID_QERReusePredecessor\r\n varchar(38) select @UID_QERReuseSearch = @UID_QERReuse insert into @erg (UID_QERReusePredecessor, UID_QERReuse) select @UID_QERReuse, @UID_QERReuse marke:\r\n select @UID_QERReusePredecessor = null select top 1 @UID_QERReusePredecessor = r.UID_QERReusePredecessor from dbo.QERReuse r where r.UID_QERReuse = @UID_QERReuseSearch\r\n if @UID_QERReusePredecessor > ' ' begin insert into @erg (UID_QERReusePredecessor, UID_QERReuse) select @UID_QERReusePredecessor, @UID_QERReuse where \r\nNot exists (select top 1 1 from @erg e where e.UID_QERReusePredecessor = @UID_QERReusePredecessor ) if @@ROWCOUNT > 0 begin select @UID_QERReuseSearch \r\n= @UID_QERReusePredecessor goto marke end end EndLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_FTQERReuseUSPredecessor",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:36.537",
      "ModifyDate": "2026-04-14T23:20:36.537",
      "Definition": "create function dbo.QER_FTQERReuseUSPredecessor(@UID_QERReuseUS varchar(38) ) returns @erg table (UID_QERReuseUSPredecessor varchar(38) collate database_default\r\n , UID_QERReuseUS varchar(38) collate database_default ) with schemabinding as begin declare @UID_QERReuseUSSearch varchar(38) declare @UID_QERReuseUSPredecessor\r\n varchar(38) select @UID_QERReuseUSSearch = @UID_QERReuseUS insert into @erg (UID_QERReuseUSPredecessor, UID_QERReuseUS) select @UID_QERReuseUS, @UID_QERReuseUS\r\n marke: select @UID_QERReuseUSPredecessor = null select top 1 @UID_QERReuseUSPredecessor = r.UID_QERReuseUSPredecessor from dbo.QERReuseUS r where r.UID_QERReuseUS\r\n = @UID_QERReuseUSSearch if @UID_QERReuseUSPredecessor > ' ' begin insert into @erg (UID_QERReuseUSPredecessor, UID_QERReuseUS) select @UID_QERReuseUSPredecessor\r\n, @UID_QERReuseUS where Not exists (select top 1 1 from @erg e where e.UID_QERReuseUSPredecessor = @UID_QERReuseUSPredecessor ) if @@ROWCOUNT > 0 begin\r\n select @UID_QERReuseUSSearch = @UID_QERReuseUSPredecessor goto marke end end EndLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_FTAttCasesForManager",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:47.3",
      "ModifyDate": "2026-04-14T23:20:47.3",
      "Definition": "create function dbo.TSB_FTAttCasesForManager(@UID_PersonHead varchar(38)) returns @erg table (UID_AttestationCase varchar(38) collate database_default)\r\n as begin if dbo.QBM_FGISessionContext('ATTCaseAccessAsManagerReduced') = '' begin insert into @erg(UID_AttestationCase) select ac.UID_AttestationCase \r\nfrom ( select h1.UID_Person from HelperPersonOrg h1 join HelperHeadOrg hho on h1.UID_Org = hho.UID_Org where hho.UID_PersonHead = @UID_PersonHead union\r\n select h2.UID_Person from PersonInBaseTree h2 join HelperHeadOrg hho on h2.UID_Org = hho.UID_Org where hho.UID_PersonHead = @UID_PersonHead union select\r\n h3.UID_Person from HelperHeadPerson h3 where h3.UID_PersonHead = @UID_PersonHead ) as pe join UNSAccount u on u.UID_Person = pe.UID_Person left outer \r\njoin UNSAccountInUNSGroup uig on u.UID_UNSAccount = uig.UID_UNSAccount join AttestationCase ac on ac.ObjectKeyBase = u.XObjectKey or ac.ObjectKeyBase =\r\n uig.XObjectKey end endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_FTMembershipWithoutPerson",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:46.207",
      "ModifyDate": "2026-04-14T23:20:46.207",
      "Definition": "create function dbo.TSB_FTMembershipWithoutPerson (@objectkeybase varchar(138) ) returns @erg table (UID_UNSAccount varchar(38) collate database_default\r\n , UID_UNSGroup varchar(38) collate database_default , XObjectKey varchar(138) collate database_default primary key (UID_UNSAccount, UID_UNSGroup) ) as\r\n begin if isnull(@objectkeybase, '') = '' begin insert into @erg(UID_UNSAccount, UID_UNSGroup, XObjectKey) select uig.UID_UNSAccount, uig.UID_UNSGroup,\r\n uig.XObjectKey from UNSAccountInUNSGroup uig join UNSAccount a on uig.UID_UNSAccount = a.UID_UNSAccount where a.UID_Person is null end else begin insert\r\n into @erg(UID_UNSAccount, UID_UNSGroup, XObjectKey) select uig.UID_UNSAccount, uig.UID_UNSGroup, uig.XObjectKey from UNSAccountInUNSGroup uig join UNSAccount\r\n a on uig.UID_UNSAccount = a.UID_UNSAccount join TSBVDomainAndContainer v on v.UID_Container = a.UID_UNSContainer where a.UID_Person is null and v.ObjectkeyDomain\r\n = @ObjectKeyBase end return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_FTTSBAccountDefPredecessor",
      "ObjectType": "TF",
      "ObjectTypeDesc": "SQL_TABLE_VALUED_FUNCTION",
      "ParentSchemaName": null,
      "ParentTableName": null,
      "CreateDate": "2026-04-14T23:20:46.317",
      "ModifyDate": "2026-04-14T23:20:46.317",
      "Definition": "create function dbo.TSB_FTTSBAccountDefPredecessor(@UID_TSBAccountDef varchar(38) ) returns @erg table ( UID_TSBAccountDef varchar(38) collate database_default\r\n , UID_TSBAccountDefPredecessor varchar(38) collate database_default ) with schemabinding as begin declare @UID_TSBAccountDefSearch varchar(38) declare\r\n @UID_TSBAccountDefPredecessor varchar(38) select @UID_TSBAccountDefSearch = @UID_TSBAccountDef insert into @erg (UID_TSBAccountDefPredecessor, UID_TSBAccountDef\r\n) select @UID_TSBAccountDef, @UID_TSBAccountDef marke: select @UID_TSBAccountDefPredecessor = null select top 1 @UID_TSBAccountDefPredecessor = r.UID_TSBAccountDefPredecessor\r\n from dbo.TSBAccountDef r where r.UID_TSBAccountDef = @UID_TSBAccountDefSearch if @UID_TSBAccountDefPredecessor > ' ' begin insert into @erg (UID_TSBAccountDefPredecessor\r\n, UID_TSBAccountDef) select @UID_TSBAccountDefPredecessor, @UID_TSBAccountDef where Not exists (select top 1 1 from @erg e where e.UID_TSBAccountDefPredecessor\r\n = @UID_TSBAccountDefPredecessor ) if @@ROWCOUNT > 0 begin select @UID_TSBAccountDefSearch = @UID_TSBAccountDefPredecessor goto marke end end EndLabel:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TATTUADSAccount",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSAccount",
      "CreateDate": "2025-06-27T18:01:25.26",
      "ModifyDate": "2026-04-14T23:23:07.867",
      "Definition": "    create   trigger ADS_TATTUADSAccount on ADSAccount  for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(UID_Person\r\n) begin  declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select dbo.QBM_FCVElementToObjectKey1\r\n('Person', '', i.UID_Person), v.UID_PWODecisionRule, 'A' from inserted i cross join (values ('ATT-PWODecisionRule-XM') ) as v (UID_PWODecisionRule) exec\r\n QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT\r\n END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TATTUADSContainer",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSContainer",
      "CreateDate": "2025-09-22T13:35:14.03",
      "ModifyDate": "2026-04-14T23:23:07.883",
      "Definition": "    create   trigger ADS_TATTUADSContainer on ADSContainer  for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(uid_AERoleOwner\r\n) begin  declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select i.XobjectKey , 'TSB-PWODecisionRule-EN'\r\n, 'A' from inserted i  insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select bt.XobjectKey, 'TSB-PWODecisionRule-SO', 'A' from inserted i join\r\n basetree bt on i.uid_AERoleOwner = bt.UID_Org insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select bt.XobjectKey, 'TSB-PWODecisionRule-SO'\r\n, 'A' from deleted d join basetree bt on d.uid_AERoleOwner = bt.UID_Org exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID end  END TRY \r\nBEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TATTUADSGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSGroup",
      "CreateDate": "2025-06-27T18:01:25.25",
      "ModifyDate": "2026-04-14T23:23:07.893",
      "Definition": "    create   trigger ADS_TATTUADSGroup on ADSGroup  for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(UID_AccProduct\r\n) begin   declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select i.XObjectKey , 'ATT-PWODecisionRule-AN'\r\n, 'A' from inserted i exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID  declare @RecalcParameter_02 QBM_YCursorBuffer insert into @RecalcParameter_02\r\n (ObjectKey1, UID1, Ident1) select b.XObjectKey, c.DecisionRule, 'A' from (select a.XObjectKey from AccProduct a join inserted i on a.UID_AccProduct = \r\ni.UID_AccProduct union select a.XObjectKey from AccProduct a join deleted d on a.UID_AccProduct = d.UID_AccProduct ) b cross join (select 'ATT-PWODecisionRule-OA'\r\n as DecisionRule union select 'ATT-PWODecisionRule-OrgATT' ) c exec QER_PITShopHelperFill_Recalc @RecalcParameter_02, @GenprocID end  END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TATTUDomain",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSDomain",
      "CreateDate": "2025-06-27T18:01:25.233",
      "ModifyDate": "2026-04-14T23:23:07.887",
      "Definition": "    create   trigger ADS_TATTUDomain on adsdomain  for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(uid_AERoleOwner\r\n) begin     declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select i.XobjectKey , 'TSB-PWODecisionRule-EN'\r\n, 'A' from inserted i  insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select bt.XobjectKey, 'TSB-PWODecisionRule-SO', 'A' from inserted i join\r\n basetree bt on i.uid_AERoleOwner = bt.UID_Org insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select bt.XobjectKey, 'TSB-PWODecisionRule-SO'\r\n, 'A' from deleted d join basetree bt on d.uid_AERoleOwner = bt.UID_Org exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID  end  END TRY\r\n BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TCPLUADSContainer",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSContainer",
      "CreateDate": "2025-09-22T13:35:14.05",
      "ModifyDate": "2026-04-14T23:23:07.883",
      "Definition": "    create   trigger ADS_TCPLUADSContainer on ADSContainer for Update not for Replication as begin BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') declare @Parameter nvarchar(1000) if update(uid_AERoleOwner) begin select @Parameter = '|' +  'CPL-PWODecisionRule-OC|' +  'CPL-PWODecisionRule-OH|'\r\n  exec QER_PITShopHelperFillAll @parameter, @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END \r\nCATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TCPLUDomain",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSDomain",
      "CreateDate": "2025-06-27T18:01:25.27",
      "ModifyDate": "2026-04-14T23:23:07.887",
      "Definition": "    create   trigger ADS_TCPLUDomain on adsdomain  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted) goto\r\n start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext(''\r\n) declare @Parameter nvarchar(1000) if update(uid_AERoleOwner) begin select @Parameter = '|' +  'CPL-PWODecisionRule-OC|' +  'CPL-PWODecisionRule-OH|' \r\n exec QER_PITShopHelperFillAll @parameter, @GenProcID end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END \r\nCATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TDADSAccount",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSAccount",
      "CreateDate": "2025-06-27T18:01:23.357",
      "ModifyDate": "2026-04-14T23:23:07.867",
      "Definition": "create   trigger ADS_TDADSAccount on ADSAccount  for DELETE not for Replication as begin  if exists (select top 1 1 from deleted) goto start return\r\n start: declare @GenProcID varchar(38) BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext('')  if exists (select top 1 1 from deleted d join PersonHasTSBAccountDef\r\n pha on d.UID_Person = pha.UID_Person and d.UID_TSBAccountDef = pha.UID_TSBAccountDef where pha.XOrigin > 0 and pha.XIsInEffect = 1  ) begin raiserror(\r\n'#LDS#Delete Accounts with existing PersonHasTSBAccountDef is not permitted.|', 18, 1) with nowait end   if exists (select top 1 1 from deleted d where\r\n d.ObjectSID > ' ' ) begin insert into ADSOtherSID (UID_ADSOtherSID, ObjectSID , DistinguishedName, canonicalName, Ident_ADSOtherSID , XDateInserted, XDateUpdated\r\n, XUserInserted, XUserUpdated, XObjectKey) select x.UID_ADSOtherSID, x.ObjectSID , x.DistinguishedName, x.canonicalName, x.Ident_ADSOtherSID , x.XDateInserted\r\n, x.XDateUpdated, x.XUserInserted, x.XUserUpdated, dbo.QBM_FCVElementToObjectKey1('ADSOtherSID', 'UID_ADSOtherSID', x.UID_ADSOtherSID) from ( select newid\r\n() as UID_ADSOtherSID, d.ObjectSID , d.DistinguishedName, d.canonicalName, d.cn as Ident_ADSOtherSID , d.XDateInserted, d.XDateUpdated, d.XUserInserted\r\n, d.XUserUpdated from deleted d where d.ObjectSID > ' ' and not exists (select top 1 1 from ADSOtherSID x where x.ObjectSID = d.ObjectSID ) ) as x end \r\n   declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select\r\n distinct uid_person as uid from deleted where uid_person > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-PersonHasObject', @DBQueueElements_01 END TRY\r\n BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TDADSContact",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSContact",
      "CreateDate": "2025-06-27T18:01:23.4",
      "ModifyDate": "2026-04-14T23:23:07.877",
      "Definition": "create   trigger ADS_TDADSContact on ADSContact  for DELETE not for Replication as begin  if exists (select top 1 1 from deleted) goto start return\r\n start: declare @GenProcID varchar(38) BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext('')  if exists (select top 1 1 from deleted d join PersonHasTSBAccountDef\r\n pha on d.XObjectKey = pha.XObjectKey where pha.XOrigin > 0 and pha.XIsInEffect = 1  ) begin raiserror('#LDS#Delete Accounts with existing PersonHasTSBAccountDef is not permitted.|'\r\n, 18, 1) with nowait end   declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null\r\n, @GenProcID from ( select distinct uid_person as uid from deleted where uid_person > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-PersonHasObject', \r\n@DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TDADSContainer",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSContainer",
      "CreateDate": "2025-06-27T18:01:23.66",
      "ModifyDate": "2026-04-14T23:23:07.883",
      "Definition": "create   trigger ADS_TDADSContainer on ADSContainer  for Delete not for Replication as begin declare @GenProcID varchar(38) BEGIN TRY if exists \r\n(select top 1 1 from deleted) goto start return start: select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select d.UID_ADSDomain as uid from deleted d ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'ADS-K-BaseTreeOwnsObject', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH\r\n NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TDADSDomain",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSDomain",
      "CreateDate": "2025-06-27T18:01:23.42",
      "ModifyDate": "2026-04-14T23:23:07.887",
      "Definition": "    create   trigger ADS_TDADSDomain on ADSDomain  for Delete not for Replication as begin declare @GenProcID varchar(38) BEGIN TRY if exists (select\r\n top 1 1 from deleted) goto start return start: select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw insert into\r\n @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select d.UID_ADSDomain as uid from deleted d ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'ADS-K-BaseTreeOwnsObject', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TDAdsGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSGroup",
      "CreateDate": "2025-06-27T18:01:23.433",
      "ModifyDate": "2026-04-14T23:23:07.893",
      "Definition": "    create   trigger ADS_TDAdsGroup on AdsGroup  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted) goto\r\n start return start: declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('')  if exists (select top 1 1 from deleted d where d.ObjectSID > ' ' )\r\n begin insert into ADSOtherSID (UID_ADSOtherSID, ObjectSID , DistinguishedName, canonicalName, Ident_ADSOtherSID , XDateInserted, XDateUpdated, XUserInserted\r\n, XUserUpdated, XObjectKey) select x.UID_ADSOtherSID, x.ObjectSID , x.DistinguishedName, x.canonicalName, x.Ident_ADSOtherSID , x.XDateInserted, x.XDateUpdated\r\n, x.XUserInserted, x.XUserUpdated, dbo.QBM_FCVElementToObjectKey1('ADSOtherSID', 'UID_ADSOtherSID', x.UID_ADSOtherSID) from ( select newid() as UID_ADSOtherSID\r\n, d.ObjectSID , d.DistinguishedName, d.canonicalName, d.cn as Ident_ADSOtherSID , d.XDateInserted, d.XDateUpdated, d.XUserInserted, d.XUserUpdated from\r\n deleted d where d.ObjectSID > ' ' and not exists (select top 1 1 from ADSOtherSID x where x.ObjectSID = d.ObjectSID ) ) as x end    declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct a.uid_person as uid\r\n from adsaccountinadsgroup aig join adsaccount a on aig.uid_adsaccount = a.uid_adsaccount and aig.XOrigin > 0  join deleted g on aig.uid_adsGroup = g.uid_adsGroup\r\n where a.uid_person > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-PersonHasObject', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw \r\ninsert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct a.uid_person as uid from ADSContactInADSGroup\r\n aig join ADSContact a on aig.UID_ADSContact = a.uid_ADSContact and aig.XOrigin > 0  join deleted g on aig.uid_adsGroup = g.uid_adsGroup where a.uid_person\r\n > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-PersonHasObject', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TDADSGroupCollection",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSGroupCollection",
      "CreateDate": "2025-06-27T18:01:23.48",
      "ModifyDate": "2026-04-14T23:23:07.897",
      "Definition": "create   trigger ADS_TDADSGroupCollection on ADSGroupCollection  for Delete not for Replication as begin  if exists (select top 1 1 from deleted\r\n) goto start return start: BEGIN TRY declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select a.uid_person as uid from ADSAccountInADSGroup\r\n uig join (select uid_ADSGroupParent as UID_Group from deleted union select UID_ADSGroupChild from deleted ) as x on x.uid_group = uig.uid_ADSGroup and\r\n uig.XOrigin > 0 and uig.XIsInEffect = 1 join ADSAccount a on uig.UID_ADSAccount = a.uid_ADSaccount where a.uid_person > ' ' union select a.uid_person \r\nas uid from ADSContactInADSGroup uig join (select uid_ADSGroupParent as UID_Group from deleted union select UID_ADSGroupChild from deleted ) as x on x.uid_group\r\n = uig.uid_ADSGroup and uig.XOrigin > 0 and uig.XIsInEffect = 1 join ADSContact a on uig.UID_ADSContact = a.uid_ADSContact where a.uid_person > ' ' ) as\r\n x exec QBM_PDBQueueInsert_Bulk 'ADS-K-PersonHasObject', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uig.UID_Org as uid from BaseTreeHasADSGroup uig join (select uid_ADSGroupParent\r\n as UID_Group from deleted union select UID_ADSGroupChild from deleted ) as x on x.uid_group = uig.uid_ADSGroup and uig.XOrigin > 0  ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'ADS-K-BaseTreeHasObject', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TDADSGroupExclusion",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSGroupExclusion",
      "CreateDate": "2025-06-27T18:01:23.493",
      "ModifyDate": "2026-04-14T23:23:07.9",
      "Definition": "create   trigger ADS_TDADSGroupExclusion on ADSGroupExclusion  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from\r\n deleted) goto start return start:  declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n  insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uig.UID_ADSAccount as uid from ( select UID_ADSGroupLower\r\n as UID_ADSGroup from deleted union select UID_ADSGroupHigher from deleted ) as y  join ADSGroupCollection coll on y.UID_ADSGroup = coll.UID_ADSGroupParent\r\n join ADSAccountInADSGroup uig on coll.UID_ADSGroupChild = uig.UID_ADSGroup and uig.XOrigin > 0 ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSAccountInADSGroup'\r\n, @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select uig.UID_ADSContact as uid from ( select UID_ADSGroupLower as UID_ADSGroup from deleted union select UID_ADSGroupHigher from deleted ) as\r\n y  join ADSGroupCollection coll on y.UID_ADSGroup = coll.UID_ADSGroupParent join ADSContactInADSGroup uig on coll.UID_ADSGroupChild = uig.UID_ADSGroup\r\n and uig.XOrigin > 0 ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSContactInADSGroup', @DBQueueElements_02  declare @DBQueueElements_03 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uig.UID_ADSMachine as uid from ( select UID_ADSGroupLower\r\n as UID_ADSGroup from deleted union select UID_ADSGroupHigher from deleted ) as y  join ADSGroupCollection coll on y.UID_ADSGroup = coll.UID_ADSGroupParent\r\n join ADSMachineInADSGroup uig on coll.UID_ADSGroupChild = uig.UID_ADSGroup and uig.XOrigin > 0 ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup'\r\n, @DBQueueElements_03  declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select g.UID_Org as uid from ( select UID_ADSGroupLower as UID_ADSGroup from deleted union select UID_ADSGroupHigher from deleted ) as y join BaseTreeHasADSGroup\r\n g on y.UID_ADSGroup = g.UID_ADSGroup ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-OrgHasADSGroup', @DBQueueElements_04 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TDADSGroupInADSGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSGroupInADSGroup",
      "CreateDate": "2025-06-27T18:01:23.51",
      "ModifyDate": "2026-04-14T23:23:07.9",
      "Definition": "create   trigger ADS_TDADSGroupInADSGroup on ADSGroupInADSGroup  for Delete not for Replication as begin  if exists (select top 1 1 from deleted\r\n) goto start return start: BEGIN TRY declare @QBM_BitPatternXMarkedForDel_OutStanding int = dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|', 0)  declare\r\n @GenProcID varchar(38) = dbo.QBM_FGISessionContext('')  if exists (select top 1 1 from deleted i join ADSGroup g on i.UID_ADSGroupParent = g.UID_ADSGroup\r\n and 1 = g.HasReadOnlyMemberships and dbo.QBM_FGISessionContext ('Fullsync') = '' and i.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_OutStanding =\r\n 0 ) begin raiserror( '#LDS#Cannot delete {0} because assignment to groups with read only memberships are not permitted.|ADSGroupInADSGroup|', 18, 2) with\r\n nowait end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from\r\n ( select uid_ADSGroupParent as uid from deleted union select UID_ADSGroupChild from deleted union  select co.uid_ADSGroupParent as uid from deleted i \r\njoin ADSGroupcollection co on i.UID_ADSGroupChild = co.UID_ADSGroupChild  union select co.uid_ADSGroupParent from deleted i join ADSGroupcollection co \r\non i.UID_ADSGroupParent = co.UID_ADSGroupChild  union select co.UID_ADSGroupChild from deleted i join ADSGroupcollection co on i.UID_ADSGroupChild = co.UID_ADSGroupParent\r\n  union select co.UID_ADSGroupChild from deleted i join ADSGroupcollection co on i.UID_ADSGroupParent = co.UID_ADSGroupParent ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'ADS-K-ADSGroupInADSGroup', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TDADSMachine",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSMachine",
      "CreateDate": "2025-06-27T18:01:23.61",
      "ModifyDate": "2026-04-14T23:23:07.907",
      "Definition": "create   trigger ADS_TDADSMachine on ADSMachine  for delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted) goto\r\n start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  if exists (select top 1 1 from deleted d where d.ObjectSID\r\n > ' ' ) begin insert into ADSOtherSID (UID_ADSOtherSID, ObjectSID , DistinguishedName, canonicalName, Ident_ADSOtherSID , XDateInserted, XDateUpdated,\r\n XUserInserted, XUserUpdated, XObjectKey) select x.UID_ADSOtherSID, x.ObjectSID , x.DistinguishedName, x.canonicalName, x.Ident_ADSOtherSID , x.XDateInserted\r\n, x.XDateUpdated, x.XUserInserted, x.XUserUpdated, dbo.QBM_FCVElementToObjectKey1('ADSOtherSID', 'UID_ADSOtherSID', x.UID_ADSOtherSID) from( select newid\r\n() as UID_ADSOtherSID, d.ObjectSID , d.DistinguishedName, d.canonicalName, d.cn as Ident_ADSOtherSID , d.XDateInserted, d.XDateUpdated, d.XUserInserted\r\n, d.XUserUpdated from deleted d where d.ObjectSID > ' ' and not exists (select top 1 1 from ADSOtherSID x where x.ObjectSID = d.ObjectSID ) ) as x end \r\n  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TDADSOtherSID",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSOtherSID",
      "CreateDate": "2025-06-27T18:01:23.517",
      "ModifyDate": "2026-04-14T23:23:07.913",
      "Definition": " create   trigger ADS_TDADSOtherSID on ADSOtherSID  for delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted) goto\r\n start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TDDomainTrustsDomain",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DomainTrustsDomain",
      "CreateDate": "2025-06-27T18:01:23.557",
      "ModifyDate": "2026-04-14T23:23:08.203",
      "Definition": "    create   trigger ADS_TDDomainTrustsDomain on DomainTrustsDomain  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 \r\n1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select a.uid_adsaccount as uid  from deleted i join\r\n ADSDomain d on i.UID_ADSDomainTrusted = d.UID_ADSDomain join adsaccount a on a.UID_ADSDomain = d.UID_ADSDomain ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSAccountInADSGroup'\r\n, @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select a.UID_ADSContact as uid  from deleted i join ADSDomain d on i.UID_ADSDomainTrusted = d.UID_ADSDomain join ADSContact a on d.UID_ADSDomain\r\n = a.UID_ADSDomain ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSContactInADSGroup', @DBQueueElements_02  declare @DBQueueElements_03 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select a.uid_ADSMachine as uid  from deleted i join ADSDomain\r\n d on i.UID_ADSDomainTrusted = d.UID_ADSDomain join ADSMachine a on d.UID_ADSDomain = a.UID_ADSDomain ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup'\r\n, @DBQueueElements_03  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TDTSBPersonUsesAccount",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "TSBPersonUsesAccount",
      "CreateDate": "2025-06-27T18:01:23.67",
      "ModifyDate": "2026-04-14T23:23:08.827",
      "Definition": "create   trigger ADS_TDTSBPersonUsesAccount on TSBPersonUsesAccount  for Delete not for Replication as begin if exists (select top 1 1 from deleted\r\n) goto start return start: declare @GenProcID varchar(38) BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext('') if '1' = dbo.QBM_FGIConfigparmValue\r\n('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount') begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject\r\n, genprocid) select x.uid, null, @GenProcID from ( select distinct uid_person as uid from deleted where ObjectKeyAccount like '<Key><T>ADSAccount</T>%'\r\n or ObjectKeyAccount like '<Key><T>ADSContact</T>%' ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-PersonHasObject', @DBQueueElements_01 end END TRY BEGIN \r\nCATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TDTSBSpecificGroupBehavior",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "TSBSpecificGroupBehavior",
      "CreateDate": "2025-06-27T18:01:23.7",
      "ModifyDate": "2026-04-14T23:23:08.83",
      "Definition": "create   trigger ADS_TDTSBSpecificGroupBehavior on TSBSpecificGroupBehavior  for delete not for Replication as begin declare @GenProcID varchar(38\r\n) = dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: declare @GUIDADSGroup QBM_YSingleGUID insert\r\n into @GUIDADSGroup(UID_SingleGuid) select g.UID_ADSGroup from ADSGroup g join deleted i on g.XObjectKey = i.ObjectKeyGroup if @@ROWCOUNT > 0 begin declare\r\n @DBQueueElements_ADSContactInADSGroup QBM_YDBQueueRaw insert into @DBQueueElements_ADSContactInADSGroup (object, subobject, genprocid) select x.uid, null\r\n, @GenProcID from ( select uig.UID_ADSContact as uid from ADSContactInADSGroup uig join @GUIDADSGroup gg on uig.UID_ADSGroup = gg.UID_SingleGuid ) as x\r\n exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSContactInADSGroup', @DBQueueElements_ADSContactInADSGroup declare @DBQueueElements_ADSAccountInADSGroup QBM_YDBQueueRaw\r\n insert into @DBQueueElements_ADSAccountInADSGroup (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uig.UID_ADSAccount as uid\r\n from ADSAccountInADSGroup uig join @GUIDADSGroup gg on uig.UID_ADSGroup = gg.UID_SingleGuid ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSAccountInADSGroup'\r\n, @DBQueueElements_ADSAccountInADSGroup end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH EndLabel:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TIADSAccount",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSAccount",
      "CreateDate": "2025-06-27T18:01:23.337",
      "ModifyDate": "2026-04-14T23:23:07.867",
      "Definition": "     create   trigger ADS_TIADSAccount on ADSAccount  for Insert not for Replication as begin  if exists (select top 1 1 from inserted) goto start\r\n return start: declare @GenProcID varchar(38) BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext('')   if exists (select top 1 1 from inserted i join\r\n ADSGroup g on i.UID_ADSGroupPrimary = g.UID_ADSGroup where g.IsITshopOnly = 1 ) begin raiserror( '#LDS#The definition of a group as \"IsITshopOnly = 1\" and simultaneous use as primary group is not allowed.|'\r\n, 18, 2) with nowait end   if exists (select top 1 1 from ADSOtherSID a join inserted d on a.ObjectSID = d.ObjectSID ) begin delete ADSOtherSID where objectSID\r\n in (select ObjectSID from inserted ) and UID_ADSOtherSID not like 'ADS-%' end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uid_person as uid from inserted where uid_person > ' ' ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'ADS-K-PersonHasObject', @DBQueueElements_01    declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object\r\n, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct i.UID_ADSAccount as uid from inserted i where i.UID_ADSGroupPrimary > ' '\r\n  or i.UID_Person > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSAccountInADSGroup', @DBQueueElements_03  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TIADSAccountInADSGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSAccountInADSGroup",
      "CreateDate": "2025-06-27T18:01:23.373",
      "ModifyDate": "2026-04-14T23:23:07.87",
      "Definition": "    create   trigger ADS_TIADSAccountInADSGroup on ADSAccountInADSGroup  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser nvarchar\r\n(64) = dbo.QBM_FGISessionContext('XUser')  if exists (select top 1 1 from inserted i   join ADSGroup elem on i.uid_ADSGroup = elem.uid_ADSGroup where dbo.QER_FGIITShopFlagCombineValid\r\n(i.XObjectKey, null, null, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0  and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 and dbo.QBM_FGISessionContext\r\n ('Fullsync') = '' ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|', 18, 2) with nowait end  if exists \r\n(select top 1 1 from inserted i join ADSGroup g on i.UID_ADSGroup = g.UID_ADSGroup and 1 = g.HasReadOnlyMemberships and dbo.QBM_FGISessionContext ('Fullsync'\r\n) = '' ) begin raiserror( '#LDS#Cannot add {0} because assignment to groups with read only memberships are not permitted.|ADSAccountInADSGroup|', 18, 2\r\n) with nowait end   declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select distinct i.UID_ADSAccount as uid from inserted i   where i.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'ADS-K-ADSAccountInADSGroup', @DBQueueElements_01  declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select distinct u.UID_Person as uid from inserted i join ADSAccount u on i.UID_ADSAccount = u.UID_ADSAccount where\r\n u.UID_Person > ' ' and i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-PersonHasObject', @DBQueueElements_02  if '1' = dbo.QBM_FGIConfigparmValue\r\n('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount') begin declare @DBQueueElements_PersonUsesAccount QBM_YDBQueueRaw insert into @DBQueueElements_PersonUsesAccount\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct t.uid_person as uid from inserted i join ADSAccount a on i.UID_ADSAccount\r\n = a.UID_ADSAccount join TSBPersonUsesAccount t on a.XObjectKey = t.ObjectKeyAccount where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-PersonHasObject'\r\n, @DBQueueElements_PersonUsesAccount end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TIADSContact",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSContact",
      "CreateDate": "2025-06-27T18:01:23.39",
      "ModifyDate": "2026-04-14T23:23:07.877",
      "Definition": "    create   trigger ADS_TIADSContact on ADSContact  for Insert not for Replication as begin  if exists (select top 1 1 from inserted) goto start\r\n return start: declare @GenProcID varchar(38) BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext('')  declare @DBQueueElements_01 QBM_YDBQueueRaw \r\ninsert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uid_person as uid from inserted where\r\n uid_person > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-PersonHasObject', @DBQueueElements_01  declare @DBQueueElements_02 QBM_YDBQueueRaw insert \r\ninto @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select i.UID_ADSContact as uid from inserted i where i.UID_Person\r\n > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSContactInADSGroup', @DBQueueElements_02  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TIADSContactInADSGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSContactInADSGroup",
      "CreateDate": "2025-06-27T18:01:23.637",
      "ModifyDate": "2026-04-14T23:23:07.88",
      "Definition": "    create   trigger ADS_TIADSContactInADSGroup on ADSContactInADSGroup  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser nvarchar\r\n(64) = dbo.QBM_FGISessionContext('XUser')  if exists (select top 1 1 from inserted i   join ADSGroup elem on i.uid_ADSGroup = elem.uid_ADSGroup where dbo.QER_FGIITShopFlagCombineValid\r\n(i.XObjectKey, null, null, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0  and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 and dbo.QBM_FGISessionContext\r\n ('Fullsync') = '' ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|', 18, 2) with nowait end  if exists \r\n(select top 1 1 from inserted i join ADSGroup g on i.UID_ADSGroup = g.UID_ADSGroup and 1 = g.HasReadOnlyMemberships and dbo.QBM_FGISessionContext ('Fullsync'\r\n) = '' ) begin raiserror( '#LDS#Cannot add {0} because assignment to groups with read only memberships are not permitted.|ADSContactInADSGroup|', 18, 2\r\n) with nowait end   declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select distinct i.UID_ADSContact as uid from inserted i   where i.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'ADS-K-ADSContactInADSGroup', @DBQueueElements_01  declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select distinct u.UID_Person as uid from inserted i join ADSContact u on i.UID_ADSContact = u.UID_ADSContact where\r\n u.UID_Person > ' ' and i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-PersonHasObject', @DBQueueElements_02  if '1' = dbo.QBM_FGIConfigparmValue\r\n('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount') begin declare @DBQueueElements_PersonUsesAccount QBM_YDBQueueRaw insert into @DBQueueElements_PersonUsesAccount\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct t.uid_person as uid from inserted i join ADSContact a on i.UID_ADSContact\r\n = a.UID_ADSContact join TSBPersonUsesAccount t on a.XObjectKey = t.ObjectKeyAccount where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-PersonHasObject'\r\n, @DBQueueElements_PersonUsesAccount end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TIADSContainer",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSContainer",
      "CreateDate": "2025-06-27T18:01:23.653",
      "ModifyDate": "2026-04-14T23:23:07.883",
      "Definition": " create   trigger ADS_TIADSContainer on ADSContainer  for Insert not for Replication as begin declare @GenProcID varchar(38) BEGIN TRY if exists\r\n (select top 1 1 from inserted) goto start return start: select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw \r\ninsert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select i.UID_ADSDomain as uid from inserted i ) as\r\n x exec QBM_PDBQueueInsert_Bulk 'ADS-K-BaseTreeOwnsObject', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18\r\n, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TIADSDomain",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSDomain",
      "CreateDate": "2025-06-27T18:01:23.41",
      "ModifyDate": "2026-04-14T23:23:07.887",
      "Definition": "    create   trigger ADS_TIADSDomain on ADSDomain  for Insert not for Replication as begin declare @GenProcID varchar(38) BEGIN TRY if exists (select\r\n top 1 1 from inserted) goto start return start: select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw insert into\r\n @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select i.UID_ADSDomain as uid from inserted i ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'ADS-K-BaseTreeOwnsObject', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TIAdsGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSGroup",
      "CreateDate": "2025-06-27T18:01:23.437",
      "ModifyDate": "2026-04-14T23:23:07.893",
      "Definition": "create   trigger ADS_TIAdsGroup on AdsGroup  for Insert not for Replication as begin  declare @errno int BEGIN TRY if exists (select top 1 1 from\r\n inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')   if exists (select top 1 1 from ADSOtherSID\r\n a join inserted d on a.ObjectSID = d.ObjectSID ) begin delete ADSOtherSID where objectSID in (select ObjectSID from inserted ) and UID_ADSOtherSID not\r\n like 'ADS-%'  end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select uid_ADSGroup as uid from inserted ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSGroupInADSGroup', @DBQueueElements_01  END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TIADSGroupCollection",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSGroupCollection",
      "CreateDate": "2025-06-27T18:01:23.473",
      "ModifyDate": "2026-04-14T23:23:07.897",
      "Definition": "  create   trigger ADS_TIADSGroupCollection on ADSGroupCollection  for Insert not for Replication as begin  if exists (select top 1 1 from inserted\r\n) goto start return start: BEGIN TRY declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select a.uid_person as uid from ADSAccountInADSGroup\r\n uig join (select uid_ADSGroupParent as UID_Group from inserted union select UID_ADSGroupChild from inserted ) as x on x.uid_group = uig.uid_ADSGroup and\r\n uig.XOrigin > 0 and uig.XIsInEffect = 1 join ADSAccount a on uig.UID_ADSAccount = a.uid_ADSaccount where a.uid_person > ' ' union select a.uid_person \r\nas uid from ADSContactInADSGroup uig join (select uid_ADSGroupParent as UID_Group from inserted union select UID_ADSGroupChild from inserted ) as x on \r\nx.uid_group = uig.uid_ADSGroup and uig.XOrigin > 0 and uig.XIsInEffect = 1 join ADSContact a on uig.UID_ADSContact = a.uid_ADSContact where a.uid_person\r\n > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-PersonHasObject', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uig.UID_Org as uid from BaseTreeHasADSGroup uig join (select uid_ADSGroupParent\r\n as UID_Group from inserted union select UID_ADSGroupChild from inserted ) as x on x.uid_group = uig.uid_ADSGroup and uig.XOrigin > 0  ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'ADS-K-BaseTreeHasObject', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TIADSGroupExclusion",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSGroupExclusion",
      "CreateDate": "2025-06-27T18:01:23.49",
      "ModifyDate": "2026-04-14T23:23:07.9",
      "Definition": "    create   trigger ADS_TIADSGroupExclusion on ADSGroupExclusion  for Insert not for Replication as begin  declare @exclusions QBM_YParameterList\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start return start:  declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\GroupExclusion') = '' begin raiserror( '#LDS#Cannot make a definition because exclusion is not enabled by config parm.|'\r\n, 18, 2) with nowait end  if exists (select top 1 1 from ADSGroup t join inserted i on t.uid_ADSGroup = i.uid_ADSGroupLower and 1 = t.HasReadOnlyMemberships\r\n ) or exists (select top 1 1 from ADSGroup t join inserted i on t.uid_ADSGroup = i.uid_ADSGroupHigher and 1 = t.HasReadOnlyMemberships ) begin raiserror\r\n('#LDS#Cannot make assignment because groups with read only memberships are involved.|', 18, 1) with nowait end insert into @exclusions (Parameter1, Parameter2\r\n) select UID_ADSGroupHigher, UID_ADSGroupLower from inserted exec QER_PExclusionCheckCircular @TargetTable = 'ADSGroupExclusion' , @HigherColumn = 'UID_ADSGroupHigher'\r\n , @LowerColumn = 'UID_ADSGroupLower' , @exclusions = @exclusions declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, \r\nsubobject, genprocid) select x.uid, null, @GenProcID from ( select uig.uid_ADSAccount as uid from ( select UID_ADSGroupLower as UID_ADSGroup from inserted\r\n union select UID_ADSGroupHigher from inserted ) as y  join ADSGroupCollection coll on y.UID_ADSGroup = coll.UID_ADSGroupParent join ADSAccountInADSGroup\r\n uig on coll.UID_ADSGroupChild = uig.UID_ADSGroup and uig.XOrigin > 0 ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSAccountInADSGroup', @DBQueueElements_01\r\n declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select\r\n uig.UID_ADSContact as uid from ( select UID_ADSGroupLower as UID_ADSGroup from inserted union select UID_ADSGroupHigher from inserted ) as y  join ADSGroupCollection\r\n coll on y.UID_ADSGroup = coll.UID_ADSGroupParent join ADSContactInADSGroup uig on coll.UID_ADSGroupChild = uig.UID_ADSGroup and uig.XOrigin > 0 ) as x\r\n exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSContactInADSGroup', @DBQueueElements_02  declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uig.uid_ADSMachine as uid from ( select UID_ADSGroupLower as UID_ADSGroup \r\nfrom inserted union select UID_ADSGroupHigher from inserted ) as y  join ADSGroupCollection coll on y.UID_ADSGroup = coll.UID_ADSGroupParent join ADSMachineInADSGroup\r\n uig on coll.UID_ADSGroupChild = uig.UID_ADSGroup and uig.XOrigin > 0 ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_03\r\n  declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select\r\n g.UID_Org as uid from ( select UID_ADSGroupLower as UID_ADSGroup from inserted union select UID_ADSGroupHigher from inserted ) as y join BaseTreeHasADSGroup\r\n g on y.UID_ADSGroup = g.UID_ADSGroup ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-OrgHasADSGroup', @DBQueueElements_04 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TIADSGroupInADSGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSGroupInADSGroup",
      "CreateDate": "2025-06-27T18:01:23.507",
      "ModifyDate": "2026-04-14T23:23:07.9",
      "Definition": "  create   trigger ADS_TIADSGroupInADSGroup on ADSGroupInADSGroup  for Insert not for Replication as begin  if exists (select top 1 1 from inserted\r\n) goto start return start: BEGIN TRY declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('')  if exists (select top 1 1 from inserted i join ADSGroup\r\n g on i.UID_ADSGroupParent = g.UID_ADSGroup and 1 = g.HasReadOnlyMemberships and dbo.QBM_FGISessionContext ('Fullsync') = '' ) begin raiserror( '#LDS#Cannot add {0} because assignment to groups with read only memberships are not permitted.|ADSGroupInADSGroup|'\r\n, 18, 2) with nowait end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null,\r\n @GenProcID from ( select uid_ADSGroupParent as uid from inserted union select UID_ADSGroupChild from inserted union  select co.uid_ADSGroupParent as uid\r\n from inserted i join ADSGroupcollection co on i.UID_ADSGroupChild = co.UID_ADSGroupChild  union select co.uid_ADSGroupParent from inserted i join ADSGroupcollection\r\n co on i.UID_ADSGroupParent = co.UID_ADSGroupChild  union select co.UID_ADSGroupChild from inserted i join ADSGroupcollection co on i.UID_ADSGroupChild\r\n = co.UID_ADSGroupParent  union select co.UID_ADSGroupChild from inserted i join ADSGroupcollection co on i.UID_ADSGroupParent = co.UID_ADSGroupParent \r\n) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSGroupInADSGroup', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (''\r\n, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TIADSMachine",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSMachine",
      "CreateDate": "2025-06-27T18:01:23.6",
      "ModifyDate": "2026-04-14T23:23:07.907",
      "Definition": "    create   trigger ADS_TIADSMachine on ADSMachine  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted)\r\n goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')   if exists (select top 1 1 from ADSOtherSID\r\n a join inserted d on a.ObjectSID = d.ObjectSID ) begin delete ADSOtherSID where objectSID in (select ObjectSID from inserted ) and UID_ADSOtherSID not\r\n like 'ADS-%' end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01(object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select uid_ADSMachine as uid from inserted i ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_01 END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TIADSMachineInADSGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSMachineInADSGroup",
      "CreateDate": "2025-06-27T18:01:23.573",
      "ModifyDate": "2026-04-14T23:23:07.91",
      "Definition": "    create   trigger ADS_TIADSMachineInADSGroup on ADSMachineInADSGroup  for Insert not for Replication as begin  declare @GenProcID varchar(38)\r\n declare @XUser nvarchar(64) declare @QBM_BitPatternXOrigin_Direct int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: select @GenProcID = dbo.QBM_FGISessionContext\r\n('') select @XUser = dbo.QBM_FGISessionContext('XUser')  if exists (select top 1 1 from inserted i   join ADSGroup elem on i.uid_ADSGroup = elem.uid_ADSGroup\r\n where dbo.QER_FGIITShopFlagCombineValid (i.XObjectKey, null, null, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0  and i.XOrigin & @QBM_BitPatternXOrigin_Direct\r\n > 0 and dbo.QBM_FGISessionContext ('Fullsync') = '' ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|', \r\n18, 2) with nowait end  if exists (select top 1 1 from inserted i join ADSGroup g on i.UID_ADSGroup = g.UID_ADSGroup and 1 = g.HasReadOnlyMemberships and\r\n dbo.QBM_FGISessionContext ('Fullsync') = '' ) begin raiserror( '#LDS#Cannot add {0} because assignment to groups with read only memberships are not permitted.|ADSMachineInADSGroup|'\r\n, 18, 2) with nowait end   declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null\r\n, @GenProcID from ( select distinct i.UID_ADSMachine as uid from inserted i   where i.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TIBaseTreeHasADSGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasADSGroup",
      "CreateDate": "2025-06-27T18:01:23.537",
      "ModifyDate": "2026-04-14T23:23:07.97",
      "Definition": "  create   trigger ADS_TIBaseTreeHasADSGroup on BaseTreeHasADSGroup  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n declare @AssignCheckValues QBM_YparameterList insert into @AssignCheckValues(Parameter1, Parameter2) select i.UID_Org, i.XOrigin from inserted i exec \r\nQER_PAssignmentCheckValid 'ADS-AsgnBT-ADSGroup', @AssignCheckValues, @GenProcID   if exists (select top 1 1 from inserted i join BaseTree dest on i.uid_Org\r\n = dest.uid_Org  join ADSGroup elem on i.uid_ADSGroup = elem.uid_ADSGroup where dbo.QER_FGIITShopFlagCombineValid(dest.XObjectKey, null, null, elem.XObjectKey\r\n, elem.IsForITShop, elem.IsITShopOnly) = 0 and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|'\r\n, 18, 2) with nowait end   if exists (select top 1 1 from inserted i join ADSGroup t on i.UID_ADSGroup = t.UID_ADSGroup and 1 = t.HasReadOnlyMemberships\r\n ) begin raiserror( '#LDS#Cannot make assignment because it involves a group with read only memberships.|', 18, 2) with nowait end    declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, 'ADS-K-OrgHasADSGroup', @GenProcID from ( select distinct\r\n d.uid_org as uid from inserted d  where d.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0  ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AllChildrenOfOrg'\r\n, @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select distinct b.uid_org as uid from inserted d join BaseTree b on d.uid_org = b.uid_org where b.ITShopInfo = 'BO' and d.XIsInEffect = 1 ) as \r\nx exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgAutoChild', @DBQueueElements_02 declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object\r\n, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct ADS.uid_ADSaccount as uid from inserted i join (select pio.uid_person, pio.uid_org\r\n from personinBaseTree pio where pio.XOrigin > 0 union all select uid_person, uid_org from helperPersonOrg ) hpo on i.uid_org = hpo.uid_org join ADSaccount\r\n ADS on ADS.uid_person = hpo.uid_person and ADS.isgroupaccount = 1 where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSAccountInADSGroup'\r\n, @DBQueueElements_03 declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select distinct ADS.uid_ADSContact as uid from inserted i join (select pio.uid_person, pio.uid_org from personinBaseTree pio where pio.XOrigin \r\n> 0 union all select uid_person, uid_org from helperPersonOrg ) hpo on i.uid_org = hpo.uid_org join ADSContact ADS on ADS.uid_person = hpo.uid_person and\r\n ADS.isgroupaccount = 1 where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSContactInADSGroup', @DBQueueElements_04 declare @DBQueueElements_05\r\n QBM_YDBQueueRaw insert into @DBQueueElements_05 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct i.uid_org as uid \r\nfrom inserted i where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-BaseTreeHasObject', @DBQueueElements_05 declare @DBQueueElements_06 \r\nQBM_YDBQueueRaw insert into @DBQueueElements_06 (object, subobject, genprocid) select x.uid, null, @GenProcID from (  select m.uid_ADSMachine as uid from\r\n inserted i join (select pio.uid_WorkDesk, pio.uid_org from WorkDeskinBaseTree pio where pio.XOrigin > 0 union all select uid_WorkDesk, uid_org from helperWorkDeskOrg\r\n ) hwo on hwo.uid_org = i.uid_org join Hardware ADS on ADS.uid_WorkDesk = hwo.uid_WorkDesk join ADSMachine m on ADS.uid_Hardware = m.uid_Hardware and '1'\r\n = dbo.QBM_FGIConfigparmValue('TargetSystem\\ADS\\HardwareInGroupFromOrg') where i.XIsInEffect = 1 union   select m.uid_ADSMachine from inserted i join (select\r\n pio.uid_Hardware, pio.uid_org from HardwareinBaseTree pio where pio.XOrigin > 0 union all select uid_Hardware, uid_org from helperHardwareOrg ) hho on\r\n hho.uid_org = i.uid_org join Hardware ADS on hho.uid_Hardware = ADS.uid_Hardware join ADSMachine m on m.uid_Hardware = ads.uid_Hardware where '1' = dbo.QBM_FGIConfigparmValue\r\n('TargetSystem\\ADS\\HardwareInGroupFromOrg') and i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_06\r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TIDomainTrustsDomain",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DomainTrustsDomain",
      "CreateDate": "2025-06-27T18:01:23.56",
      "ModifyDate": "2026-04-14T23:23:08.203",
      "Definition": "create   trigger ADS_TIDomainTrustsDomain on DomainTrustsDomain  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from\r\n inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select a.uid_adsaccount as uid  from inserted i join\r\n ADSDomain d on i.UID_ADSDomainTrusted= d.UID_ADSDomain join adsaccount a on d.UID_ADSDomain = a.UID_ADSDomain ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSAccountInADSGroup'\r\n, @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select a.UID_ADSContact as uid  from inserted i join ADSDomain d on i.UID_ADSDomainTrusted = d.UID_ADSDomain join ADSContact a on d.UID_ADSDomain\r\n = a.UID_ADSDomain ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSContactInADSGroup', @DBQueueElements_02  declare @DBQueueElements_03 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select a.uid_ADSMachine as uid  from inserted i join ADSDomain\r\n d on i.UID_ADSDomainTrusted = d.UID_ADSDomain join ADSMachine a on d.UID_ADSDomain = a.UID_ADSDomain ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup'\r\n, @DBQueueElements_03   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TIRMSESetHasEntitlement",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ESetHasEntitlement",
      "CreateDate": "2025-06-27T18:01:25.277",
      "ModifyDate": "2026-04-14T23:23:08.32",
      "Definition": "create   trigger ADS_TIRMSESetHasEntitlement on ESetHasEntitlement  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1\r\n from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  if exists (select top 1 1 from\r\n inserted i join ADSGroup x on i.Entitlement = x.XObjectKey and x.HasReadOnlyMemberships = 1) begin raiserror( '#LDS#Cannot make assignment because it involves a group with read only memberships.|'\r\n, 18, 2) with nowait end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TITSBPersonUsesAccount",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "TSBPersonUsesAccount",
      "CreateDate": "2025-06-27T18:01:23.67",
      "ModifyDate": "2026-04-14T23:23:08.823",
      "Definition": "    create   trigger ADS_TITSBPersonUsesAccount on TSBPersonUsesAccount  for Insert not for Replication as begin if exists (select top 1 1 from \r\ninserted) goto start return start: declare @GenProcID varchar(38) BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext('') if '1' = dbo.QBM_FGIConfigparmValue\r\n('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount') begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject\r\n, genprocid) select x.uid, null, @GenProcID from ( select distinct uid_person as uid from inserted where ObjectKeyAccount like '<Key><T>ADSAccount</T>%'\r\n or ObjectKeyAccount like '<Key><T>ADSContact</T>%' ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-PersonHasObject', @DBQueueElements_01 end END TRY BEGIN \r\nCATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TITSBSpecificGroupBehavior",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "TSBSpecificGroupBehavior",
      "CreateDate": "2025-06-27T18:01:23.69",
      "ModifyDate": "2026-04-14T23:23:08.83",
      "Definition": " create   trigger ADS_TITSBSpecificGroupBehavior on TSBSpecificGroupBehavior  for insert not for Replication as begin declare @GenProcID varchar\r\n(38) = dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @GUIDADSGroup QBM_YSingleGUID \r\ninsert into @GUIDADSGroup(UID_SingleGuid) select g.UID_ADSGroup from ADSGroup g join inserted i on g.XObjectKey = i.ObjectKeyGroup if @@ROWCOUNT > 0 begin\r\n declare @DBQueueElements_ADSContactInADSGroup QBM_YDBQueueRaw insert into @DBQueueElements_ADSContactInADSGroup (object, subobject, genprocid) select \r\nx.uid, null, @GenProcID from ( select uig.UID_ADSContact as uid from ADSContactInADSGroup uig join @GUIDADSGroup gg on uig.UID_ADSGroup = gg.UID_SingleGuid\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSContactInADSGroup', @DBQueueElements_ADSContactInADSGroup declare @DBQueueElements_ADSAccountInADSGroup \r\nQBM_YDBQueueRaw insert into @DBQueueElements_ADSAccountInADSGroup (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uig.UID_ADSAccount\r\n as uid from ADSAccountInADSGroup uig join @GUIDADSGroup gg on uig.UID_ADSGroup = gg.UID_SingleGuid ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSAccountInADSGroup'\r\n, @DBQueueElements_ADSAccountInADSGroup end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH EndLabel:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TRMBUDomain",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSDomain",
      "CreateDate": "2025-06-27T18:01:25.287",
      "ModifyDate": "2026-04-14T23:23:07.887",
      "Definition": "    create   trigger ADS_TRMBUDomain on adsdomain  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted) goto\r\n start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext(''\r\n) declare @Parameter nvarchar(1000) END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TUADSAccount",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSAccount",
      "CreateDate": "2025-06-27T18:01:23.353",
      "ModifyDate": "2026-04-14T23:23:07.867",
      "Definition": "create   trigger ADS_TUADSAccount on ADSAccount  for Update not for Replication as begin  if exists (select top 1 1 from inserted) goto start if\r\n exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) declare @parameter nvarchar(1024) declare @QBM_BitPatternXMarkedForDel_OutStanding\r\n int = dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|', 0)  declare @QBM_BitPatternXOrigin_Direct int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) \r\n declare @QBM_BitPatternXOrigin_Direct_inv int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 1)  declare @XUser nvarchar(64) = object_name(@@procid) declare\r\n @Xdate datetime = getutcdate() BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext('')  if update (UID_ADSGroupPrimary) begin if exists (select top\r\n 1 1 from inserted i join ADSGroup g on i.UID_ADSGroupPrimary = g.UID_ADSGroup where g.IsITshopOnly = 1 ) begin raiserror( '#LDS#The definition of a group as \"IsITshopOnly = 1\" and simultaneous use as primary group is not allowed.|'\r\n, 18, 2) with nowait end  if exists (select top 1 1 from deleted d join ADSAccount a on d.UID_ADSAccount = a.UID_ADSAccount where isnull(d.UID_aDSGroupPrimary\r\n, '') <> isnull(a.UID_ADSGroupPrimary, '') ) begin if dbo.QBM_FGISessionContext ('Fullsync') = '' begin update ADSAccountInADSGroup set XOrigin = case \r\nwhen d.UID_ADSDomain = aneu.UID_ADSDomain then aig.XOrigin | @QBM_BitPatternXOrigin_Direct  else 0  end , XIsInEffect = case when d.UID_ADSDomain = aneu.UID_ADSDomain\r\n then 1  else 0  end  , XDateUpdated = @Xdate , XUserUpdated = @XUser from deleted d join ADSAccountInADSGroup aig on d.UID_ADSAccount = aig.UID_ADSAccount\r\n and d.UID_ADSGroupPrimary = aig.UID_ADSGroup join ADSAccount aneu on d.UID_ADSAccount = aneu.UID_ADSAccount where aig.XIsInEffect = 0 end else begin  \r\nupdate ADSAccountInADSGroup set XOrigin = aig.XOrigin & @QBM_BitPatternXOrigin_Direct_inv  , XDateUpdated = @Xdate , XUserUpdated = @XUser from deleted\r\n d join ADSAccountInADSGroup aig on d.UID_ADSAccount = aig.UID_ADSAccount and d.UID_ADSGroupPrimary = aig.UID_ADSGroup where aig.XIsInEffect = 0 and aig.XOrigin\r\n & @QBM_BitPatternXOrigin_Direct > 0 end end  end if update(ObjectSID) begin  if exists (select top 1 1 from ADSAccount x join deleted d on x.uid_ADSAccount=\r\n d.uid_ADSAccount where isnull(d.ObjectSID, N'') <> isnull(x.ObjectSID, N'') ) begin insert into ADSOtherSID (UID_ADSOtherSID, ObjectSID , DistinguishedName\r\n, canonicalName, Ident_ADSOtherSID , XDateInserted, XDateUpdated, XUserInserted, XUserUpdated, XObjectKey) select x.UID_ADSOtherSID, x.ObjectSID , x.DistinguishedName\r\n, x.CanonicalName, x.Ident_ADSOtherSID , x.XDateInserted, x.XDateUpdated, x.XUserInserted, x.XUserUpdated, dbo.QBM_FCVElementToObjectKey1('ADSOtherSID'\r\n, 'UID_ADSOtherSID', x.UID_ADSOtherSID) from (select newid() as UID_ADSOtherSID, d.ObjectSID , d.DistinguishedName, d.canonicalName, d.cn as Ident_ADSOtherSID\r\n , d.XDateInserted, d.XDateUpdated, d.XUserInserted, d.XUserUpdated from ADSAccount x join deleted d on x.uid_ADSAccount= d.uid_ADSAccount where d.ObjectSID\r\n > ' ' and isnull(d.ObjectSID, N'') <> isnull(x.ObjectSID, N'') and not exists (select top 1 1 from ADSOtherSID x where x.ObjectSID = d.ObjectSID ) ) as\r\n x end   if exists (select top 1 1 from ADSOtherSID a join inserted d on a.ObjectSID = d.ObjectSID ) begin delete ADSOtherSID where objectSID in (select\r\n x.ObjectSID from ADSAccount x join deleted d on x.uid_ADSAccount = d.uid_ADSAccount where isnull(x.ObjectSID, N'') <> isnull(d.ObjectSID, N'') ) and UID_ADSOtherSID\r\n not like 'ADS-%'  end  end  if update(UID_Person) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject\r\n, genprocid) select x.uid, null, @GenProcID from ( select uid_person as uid from inserted where uid_person > ' ' union select uid_person from deleted where\r\n uid_person > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-PersonHasObject', @DBQueueElements_01   end if  update(UID_Person) or update(IsGroupAccount\r\n)  or update(UID_TSBBehavior)  or update(UID_ADSGroupPrimary) or update(MatchPatternForMembership) or update(AccountDisabled)  or update(objectclass)  \r\nor update(XMarkedForDeletion) begin declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid\r\n, null, @GenProcID from (select a.UID_ADSAccount as uid from ADSAccount a join deleted d on a.UID_ADSAccount = d.UID_ADSAccount where   isnull(d.UID_Person\r\n,'') <> isnull(a.UID_Person,'') or isnull(d.IsGroupAccount,0) <> isnull(a.IsGroupAccount,0)  or isnull(d.UID_TSBBehavior,'') <> isnull(a.UID_TSBBehavior\r\n,'')  or isnull(d.MatchPatternForMembership,0) <> isnull(a.MatchPatternForMembership,0) or isnull(d.AccountDisabled,0) <> isnull(a.AccountDisabled,0)  \r\nor isnull(d.UID_ADSGroupPrimary, '') <> isnull(a.UID_ADSGroupPrimary, '')  or isnull(d.objectclass,'') <> isnull(a.objectclass,'')  or (d.XMarkedForDeletion\r\n ^ a.XMarkedForDeletion ) & @QBM_BitPatternXMarkedForDel_OutStanding > 0 ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSAccountInADSGroup', @DBQueueElements_03\r\n end  if update(XMarkedForDeletion) and dbo.QBM_FGISessionContext ('Fullsync') > ' ' begin update ADSAccountInADSGroup set XMarkedForDeletion = aig.XMarkedForDeletion\r\n | @QBM_BitPatternXMarkedForDel_OutStanding  , XDateUpdated = @Xdate , XUserUpdated = @XUser from deleted d join ADSAccount a on d.UID_ADSAccount = a.UID_ADSAccount\r\n join ADSAccountInADSGroup aig on d.UID_ADSAccount = aig.UID_ADSAccount where d.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_OutStanding = 0 and a.XMarkedForDeletion\r\n & @QBM_BitPatternXMarkedForDel_OutStanding > 0 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  \r\nreturn end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TUADSAccountInADSGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSAccountInADSGroup",
      "CreateDate": "2025-06-27T18:01:23.38",
      "ModifyDate": "2026-04-14T23:23:07.87",
      "Definition": "create   trigger ADS_TUADSAccountInADSGroup on ADSAccountInADSGroup  for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') declare @XUser nvarchar(64) = dbo.QBM_FGISessionContext('XUser') declare @QBM_BitPatternXMarkedForDel_OutStanding int = dbo.QBM_FGIBitPatternXMarkedForDel\r\n('|OutStanding|', 0)  BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if\r\n update(XOrigin) or update(XIsInEffect) begin  if exists (select top 1 1 from deleted d join ADSAccountInADSGroup dd on d.XObjectKey = dd.XObjectKey join\r\n ADSGroup g on d.UID_ADSGroup = g.UID_ADSGroup where 1 = g.HasReadOnlyMemberships and d.XOrigin <> dd.XOrigin and dbo.QBM_FGISessionContext ('Fullsync'\r\n) = '' and d.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_OutStanding = 0  and exists (select top 1 1 from ADSAccount a where a.UID_ADSAccount = d.UID_ADSAccount\r\n and a.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_OutStanding = 0 ) ) begin raiserror( '#LDS#Cannot update {0} because assignment to groups with read only memberships are not permitted.|ADSAccountInADSGroup|'\r\n, 18, 2) with nowait end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null,\r\n @GenProcID from ( select distinct d.UID_ADSAccount as uid from deleted d join ADSAccountInADSGroup dd on d.XObjectKey = dd.XObjectKey where dbo.QBM_FGIXOriginChanged_Except2\r\n(d.XOrigin, dd.XOrigin) = 1  or (d.XIsInEffect <> dd.XIsInEffect and dbo.QBM_FGISessionContext ('Fullsync') > ' ' ) ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'ADS-K-ADSAccountInADSGroup', @DBQueueElements_01 end  if update(XIsInEffect) or update(XOrigin) begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct x.UID_Person as uid from ADSAccountInADSGroup\r\n a join deleted d on a.XObjectKey = d.XObjectKey join ADSAccount x on a.UID_ADSAccount = x.UID_ADSAccount where x.UID_Person > ' ' and ( dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(a.XOrigin) ) \r\n) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-PersonHasObject', @DBQueueElements_02  if '1' = dbo.QBM_FGIConfigparmValue('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount'\r\n) begin declare @DBQueueElements_PersonUsesAccount QBM_YDBQueueRaw insert into @DBQueueElements_PersonUsesAccount (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct t.uid_person as uid from ADSAccountInADSGroup aig join deleted d on aig.XObjectKey = d.XObjectKey join \r\nADSAccount a on aig.UID_ADSAccount = a.UID_ADSAccount join TSBPersonUsesAccount t on a.XObjectKey = t.ObjectKeyAccount where ( dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, aig.XOrigin, d.XIsInEffect, aig.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(aig.XOrigin\r\n) ) ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-PersonHasObject', @DBQueueElements_PersonUsesAccount end  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TUADSContact",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSContact",
      "CreateDate": "2025-06-27T18:01:23.397",
      "ModifyDate": "2026-04-14T23:23:07.877",
      "Definition": "create   trigger ADS_TUADSContact on ADSContact  for Update not for Replication as begin  if exists (select top 1 1 from inserted) goto start if\r\n exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) declare @QBM_BitPatternXMarkedForDel_OutStanding int = dbo.QBM_FGIBitPatternXMarkedForDel\r\n('|OutStanding|', 0)  BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext('') if update(UID_Person) begin declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_person as uid from inserted where uid_person\r\n > ' ' union select uid_person from deleted where uid_person > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-PersonHasObject', @DBQueueElements_01   end\r\n if  update(UID_Person) or update(IsGroupAccount)  or update(UID_TSBBehavior) or update(MatchPatternForMembership)  or update(objectclass)  or update(XMarkedForDeletion\r\n) begin declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from \r\n(select a.UID_ADSContact as uid from ADSContact a join deleted d on a.UID_ADSContact = d.UID_ADSContact where   isnull(d.UID_Person,'') <> isnull(a.UID_Person\r\n,'') or isnull(d.IsGroupAccount,0) <> isnull(a.IsGroupAccount,0)  or isnull(d.UID_TSBBehavior,'') <> isnull(a.UID_TSBBehavior,'')  or isnull(d.MatchPatternForMembership\r\n,0) <> isnull(a.MatchPatternForMembership,0)  or isnull(d.objectclass,'') <> isnull(a.objectclass,'')  or (d.XMarkedForDeletion ^ a.XMarkedForDeletion \r\n) & @QBM_BitPatternXMarkedForDel_OutStanding > 0 ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSContactInADSGroup', @DBQueueElements_03 end END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TUADSContactInADSGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSContactInADSGroup",
      "CreateDate": "2025-06-27T18:01:23.643",
      "ModifyDate": "2026-04-14T23:23:07.88",
      "Definition": "create   trigger ADS_TUADSContactInADSGroup on ADSContactInADSGroup  for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') declare @XUser nvarchar(64) = dbo.QBM_FGISessionContext('XUser') declare @QBM_BitPatternXMarkedForDel_OutStanding int = dbo.QBM_FGIBitPatternXMarkedForDel\r\n('|OutStanding|', 0)  BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if\r\n update(XOrigin) or update(XIsInEffect) begin  if exists (select top 1 1 from deleted d join ADSContactInADSGroup dd on d.XObjectKey = dd.XObjectKey join\r\n ADSGroup g on d.UID_ADSGroup = g.UID_ADSGroup where 1 = g.HasReadOnlyMemberships and d.XOrigin <> dd.XOrigin and dbo.QBM_FGISessionContext ('Fullsync'\r\n) = ''  and exists (select top 1 1 from ADSContact a where a.UID_ADSContact = d.UID_ADSContact and a.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_OutStanding\r\n = 0 ) ) begin raiserror( '#LDS#Cannot update {0} because assignment to groups with read only memberships are not permitted.|ADSContactInADSGroup|', 18\r\n, 2) with nowait end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select distinct d.UID_ADSContact as uid from deleted d join ADSContactInADSGroup dd on d.XObjectKey = dd.XObjectKey where dbo.QBM_FGIXOriginChanged_Except2\r\n(d.XOrigin, dd.XOrigin) = 1  or (d.XIsInEffect <> dd.XIsInEffect and dbo.QBM_FGISessionContext ('Fullsync') > ' ' ) ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'ADS-K-ADSContactInADSGroup', @DBQueueElements_01 end  if update(XIsInEffect) or update(XOrigin) begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct x.UID_Person as uid from ADSContactInADSGroup\r\n a join deleted d on a.XObjectKey = d.XObjectKey join ADSContact x on a.UID_ADSContact = x.UID_ADSContact where x.UID_Person > ' ' and ( dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(a.XOrigin) ) \r\n) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-PersonHasObject', @DBQueueElements_02  if '1' = dbo.QBM_FGIConfigparmValue('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount'\r\n) begin declare @DBQueueElements_PersonUsesAccount QBM_YDBQueueRaw insert into @DBQueueElements_PersonUsesAccount (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct t.uid_person as uid from ADSContactInADSGroup aig join deleted d on aig.XObjectKey = d.XObjectKey join \r\nADSContact a on aig.UID_ADSContact = a.UID_ADSContact join TSBPersonUsesAccount t on a.XObjectKey = t.ObjectKeyAccount where ( dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, aig.XOrigin, d.XIsInEffect, aig.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(aig.XOrigin\r\n) ) ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-PersonHasObject', @DBQueueElements_PersonUsesAccount end  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TUADSContainer",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSContainer",
      "CreateDate": "2025-06-27T18:01:23.66",
      "ModifyDate": "2026-04-14T23:23:07.883",
      "Definition": "create   trigger ADS_TUADSContainer on ADSContainer  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted)\r\n goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if update(uid_AERoleOwner) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select d.UID_ADSDomain as uid from deleted d ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-BaseTreeOwnsObject', @DBQueueElements_01\r\n declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (UID1, ObjectKey1, Ident1) select 'TSB-PWODecisionRule-TO', i.XObjectKey\r\n, 'I' from inserted i union all select 'QER-PWODecisionRule-OX', i.XObjectKey, 'I'  from inserted i exec QER_PITShopHelperFill_Recalc @RecalcParameter_01\r\n, @GenprocID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TUAdsGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSGroup",
      "CreateDate": "2025-06-27T18:01:23.46",
      "ModifyDate": "2026-04-14T23:23:07.893",
      "Definition": "create   trigger ADS_TUAdsGroup on AdsGroup  for Update not for Replication as begin  declare @Parameter nvarchar(256) declare @LoadLimit int = \r\n75000 declare @LoadSumme int declare @GroupsChanged QBM_YParameterList declare @DebugSwitch int = 0 declare @ObjectkeyOrdered varchar(138) declare @UID_AccProduct\r\n varchar(38) declare @whereclauseOrg nvarchar(max) declare @whereclauseMuster nvarchar(max) = ' UID_ITShopOrg in ( select UID_OrgPR \r\n\t\t\t\t\t\t\tfrom QER_VPWOProductNodesSlim\r\n\t\t\t\t\t\t\twhere ObjectkeyOrdered = ''@ObjectkeyOrdered'' \r\n\t\t\t\t\t\t\t\tand isnull(UID_AccProduct, '''') <> ''@UID_AccProduct''\r\n\t\t\t\t\t)\r\n'\r\n declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @QBM_BitPatternXMarkedForDel_Out int = dbo.QBM_FGIBitPatternXMarkedForDel\r\n('|OutStanding|', 0)  BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare\r\n @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(HasReadOnlyMemberships) begin if exists (select top 1 1 from deleted\r\n d join ADSGroup g on d.uid_ADSGroup = g.uid_ADSGroup and d.HasReadOnlyMemberships = 0 and g.HasReadOnlyMemberships = 1 join ADSGroupExclusion bhg on g.uid_ADSGroup\r\n = bhg.uid_ADSGroupLower ) or exists (select top 1 1 from deleted d join ADSGroup g on d.uid_ADSGroup = g.uid_ADSGroup and d.HasReadOnlyMemberships = 0\r\n and g.HasReadOnlyMemberships = 1 join ADSGroupExclusion bhg on g.uid_ADSGroup = bhg.uid_ADSGroupHigher ) begin if dbo.QBM_FGISessionContext ('Fullsync'\r\n) > ' ' begin delete ADSGroupExclusion from deleted d join ADSGroup g on d.uid_ADSGroup = g.uid_ADSGroup and d.HasReadOnlyMemberships = 0 and g.HasReadOnlyMemberships\r\n = 1 join ADSGroupExclusion bhg on g.uid_ADSGroup in( bhg.uid_ADSGroupLower, bhg.UID_ADSGroupHigher) end else begin raiserror( '#LDS#Changes can not be made because there are still assignments in group exclusion.|'\r\n, 18, 2) with nowait end end  if exists (select top 1 1 from deleted d join ADSGroup g on d.uid_ADSGroup = g.uid_ADSGroup and d.HasReadOnlyMemberships \r\n= 0 and g.HasReadOnlyMemberships = 1 join BaseTreeHasADSGroup bhg on g.uid_ADSGroup = bhg.uid_ADSGroup and bhg.XOrigin > 0  ) begin if dbo.QBM_FGISessionContext\r\n ('Fullsync') > ' ' begin update BaseTreeHasADSGroup set XOrigin = 0 , XIsInEffect = 0 from deleted d join ADSGroup g on d.uid_ADSGroup = g.uid_ADSGroup\r\n and d.HasReadOnlyMemberships = 0 and g.HasReadOnlyMemberships = 1 join BaseTreeHasADSGroup bhg on g.uid_ADSGroup = bhg.uid_ADSGroup end else begin raiserror\r\n( '#LDS#Changes cannot be made because assignment still exist for {0}.|BaseTree|', 18, 1) with nowait end end if exists (select top 1 1 from deleted d \r\njoin ADSGroup g on d.uid_ADSGroup = g.uid_ADSGroup and d.HasReadOnlyMemberships = 0 and g.HasReadOnlyMemberships = 1 join ADSAccountInADSGroup bhg on g.uid_ADSGroup\r\n = bhg.uid_ADSGroup and bhg.XOrigin > 0  ) begin if dbo.QBM_FGISessionContext ('Fullsync') > ' ' begin update ADSAccountInADSGroup set XOrigin = 0 , XIsInEffect\r\n = 0 from deleted d join ADSGroup g on d.uid_ADSGroup = g.uid_ADSGroup and d.HasReadOnlyMemberships = 0 and g.HasReadOnlyMemberships = 1 join ADSAccountInADSGroup\r\n bhg on g.uid_ADSGroup = bhg.uid_ADSGroup end else begin raiserror( '#LDS#Changes cannot be made because assignment still exist for {0}.|ADSAccount|', \r\n18, 1) with nowait end end if exists (select top 1 1 from deleted d join ADSGroup g on d.uid_ADSGroup = g.uid_ADSGroup and d.HasReadOnlyMemberships = 0\r\n and g.HasReadOnlyMemberships = 1 join ADSContactInADSGroup bhg on g.uid_ADSGroup = bhg.uid_ADSGroup and bhg.XOrigin > 0  ) begin if dbo.QBM_FGISessionContext\r\n ('Fullsync') > ' ' begin update ADSContactInADSGroup set XOrigin = 0 , XIsInEffect = 0 from deleted d join ADSGroup g on d.uid_ADSGroup = g.uid_ADSGroup\r\n and d.HasReadOnlyMemberships = 0 and g.HasReadOnlyMemberships = 1 join ADSContactInADSGroup bhg on g.uid_ADSGroup = bhg.uid_ADSGroup end else begin raiserror\r\n( '#LDS#Changes cannot be made because assignment still exist for {0}.|ADSContact|', 18, 1) with nowait end end if exists (select top 1 1 from deleted \r\nd join ADSGroup g on d.uid_ADSGroup = g.uid_ADSGroup and d.HasReadOnlyMemberships = 0 and g.HasReadOnlyMemberships = 1 join ADSGroupInADSGroup bhg on g.uid_ADSGroup\r\n = bhg.UID_ADSGroupParent ) begin if dbo.QBM_FGISessionContext ('Fullsync') > ' ' begin delete ADSGroupInADSGroup from deleted d join ADSGroup g on d.uid_ADSGroup\r\n = g.uid_ADSGroup and d.HasReadOnlyMemberships = 0 and g.HasReadOnlyMemberships = 1 join ADSGroupInADSGroup bhg on g.uid_ADSGroup = bhg.UID_ADSGroupParent\r\n end else begin raiserror( '#LDS#Changes cannot be made because assignment still exist for {0}.|ADSGroupInADSGroup|', 18, 1) with nowait end end if exists\r\n (select top 1 1 from deleted d join ADSGroup g on d.uid_ADSGroup = g.uid_ADSGroup and d.HasReadOnlyMemberships = 0 and g.HasReadOnlyMemberships = 1 join\r\n ADSMachineInADSGroup bhg on g.uid_ADSGroup = bhg.uid_ADSGroup and bhg.XOrigin > 0  ) begin if dbo.QBM_FGISessionContext ('Fullsync') > ' ' begin update\r\n ADSMachineInADSGroup set XOrigin = 0 , XIsInEffect = 0 from deleted d join ADSGroup g on d.uid_ADSGroup = g.uid_ADSGroup and d.HasReadOnlyMemberships \r\n= 0 and g.HasReadOnlyMemberships = 1 join ADSMachineInADSGroup bhg on g.uid_ADSGroup = bhg.uid_ADSGroup end else begin raiserror( '#LDS#Changes cannot be made because assignment still exist for {0}.|ADSMachine|'\r\n, 18, 1) with nowait end end if exists (select top 1 1 from deleted d join ADSGroup g on d.uid_ADSGroup = g.uid_ADSGroup and d.HasReadOnlyMemberships =\r\n 0 and g.HasReadOnlyMemberships = 1 join EsetHasEntitlement bhg on g.XObjectKey = bhg.Entitlement and bhg.XOrigin > 0  ) begin if dbo.QBM_FGISessionContext\r\n ('Fullsync') > ' ' begin update EsetHasEntitlement set XOrigin = 0 , XIsInEffect = 0 from deleted d join ADSGroup g on d.uid_ADSGroup = g.uid_ADSGroup\r\n and d.HasReadOnlyMemberships = 0 and g.HasReadOnlyMemberships = 1 join EsetHasEntitlement bhg on g.XObjectKey = bhg.Entitlement end else begin raiserror\r\n( '#LDS#Changes cannot be made because assignment still exist for {0}.|Eset|', 18, 1) with nowait end end end   if update (isITShopOnly) begin if exists\r\n (select top 1 1 from deleted d join ADSGroup g on d.UID_ADSGroup = g.UID_ADSGroup where g.IsITshopOnly = 1 and exists (select top 1 1 from ADSAccount \r\nu where u.UID_ADSGroupPrimary = g.UID_ADSGroup ) ) begin raiserror( '#LDS#The definition of a group as \"IsITshopOnly = 1\" and simultaneous use as primary group is not allowed.|'\r\n, 18, 2) with nowait end end if update(ObjectSID) begin  if exists (select top 1 1 from ADSGroup x join deleted d on x.uid_ADSGroup= d.uid_ADSGroup where\r\n isnull(d.ObjectSID, N'') <> isnull(x.ObjectSID, N'') ) begin insert into ADSOtherSID (UID_ADSOtherSID, ObjectSID , DistinguishedName, canonicalName, Ident_ADSOtherSID\r\n , XDateInserted, XDateUpdated, XUserInserted, XUserUpdated, XObjectKey) select x.UID_ADSOtherSID, x.ObjectSID , x.DistinguishedName, x.canonicalName, \r\nx.Ident_ADSOtherSID , x.XDateInserted, x.XDateUpdated, x.XUserInserted, x.XUserUpdated, dbo.QBM_FCVElementToObjectKey1('ADSOtherSID', 'UID_ADSOtherSID'\r\n, x.UID_ADSOtherSID) from ( select newid() as UID_ADSOtherSID, d.ObjectSID , d.DistinguishedName, d.canonicalName, d.cn as Ident_ADSOtherSID , d.XDateInserted\r\n, d.XDateUpdated, d.XUserInserted, d.XUserUpdated from ADSGroup x join deleted d on x.uid_ADSGroup= d.uid_ADSGroup where d.ObjectSID > ' ' and isnull(d.ObjectSID\r\n, N'') <> isnull(x.ObjectSID, N'') and not exists (select top 1 1 from ADSOtherSID x where x.ObjectSID = d.ObjectSID ) ) as x end   if exists (select top\r\n 1 1 from ADSOtherSID a join inserted d on a.ObjectSID = d.ObjectSID ) begin delete ADSOtherSID where objectSID in (select x.ObjectSID from ADSGroup x \r\njoin deleted d on x.uid_ADSGroup = d.uid_ADSGroup where isnull(x.ObjectSID, N'') <> isnull(d.ObjectSID, N'') ) and UID_ADSOtherSID not like 'ADS-%' end\r\n  end  if update(isForITShop) or update(isITShopOnly) begin declare @FlagTest QBM_YParameterlist insert into @FlagTest(Parameter1, Parameter2, HasContentFull\r\n, e.Parameter3) select i.UID_AdsGroup, i.XObjectKey, i.IsForITShop, dbo.QBM_FCVBigIntToString(i.IsITShopOnly) from inserted i exec QER_PIsForITShopFlagCheck\r\n 'AdsGroup', @FlagTest, 'ADSAccountInADSGroup|ADSMachineInADSGroup' end  if update(uid_accproduct) begin insert into @elementbuffer( ObjectKey1, uid1) \r\nselect x.XObjectKey, isnull(x.uid_accproduct,'') from ADSGroup x join deleted d on x.uid_ADSGroup = d.uid_ADSGroup and isnull(x.uid_accproduct,'') <> isnull\r\n(d.uid_accproduct,'')  and d.uid_accproduct > ' '  join dialogColumn c on c.UID_DialogTable = 'QER-T-ITShopOrg' and c.columnname = 'uid_ACCProduct' and\r\n c.IsDeactivatedByPreProcessor = 0  select @ElementCount = @@rowcount select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 \r\n@ObjectkeyOrdered = bu.Objectkey1 , @UID_AccProduct = bu.uid1 from @elementbuffer bu where bu.ElementIndex = @ElementIndex select @whereclauseOrg = @whereclauseMuster\r\n select @whereclauseOrg = replace(@whereclauseOrg, N'@ObjectkeyOrdered' , @ObjectkeyOrdered) select @whereclauseOrg = replace(@whereclauseOrg, N'@uid_accproduct'\r\n , rtrim(@uid_accproduct))    exec QBM_PJobCreate_HOUpdate_B N'ITShopOrg', @whereclauseOrg, @GenProcID , @p1 = 'uid_ACCProduct', @v1 = @uid_accproduct \r\n, @AdditionalObjectKeysAffected = DEFAULT select @ElementIndex += 1 end   end  if update (UID_AccProduct) begin declare @RecalcParameter_OA QBM_YCursorBuffer\r\n insert into @RecalcParameter_OA (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-OA', a.XObjectKey, 'I' from inserted i join ADSGroup g on i.UID_ADSGroup\r\n = g.UID_ADSGroup join QERAccProductUsage u on g.XObjectKey = u.XObjectKey join AccProduct a on u.UID_AccProduct = a.UID_AccProduct union select 'QER-PWODecisionRule-OA'\r\n, a.XObjectKey, 'I' from deleted d join ADSGroup g on d.UID_ADSGroup = g.UID_ADSGroup join QERAccProductUsage u on g.XObjectKey = u.XObjectKey join AccProduct\r\n a on u.UID_AccProduct = a.UID_AccProduct exec QER_PITShopHelperFill_Recalc @RecalcParameter_OA, @GenprocID declare @RecalcParameter_OA2 QBM_YCursorBuffer\r\n insert into @RecalcParameter_OA2 (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-OA', pwo.XObjectKey, 'I' from inserted i join ADSGroup g on i.UID_ADSGroup\r\n = g.UID_ADSGroup join AccProduct a on i.UID_AccProduct = a.UID_AccProduct join PersonWantsOrg pwo on g.XObjectKey = pwo.ObjectKeyElementUsedInAssign union\r\n select 'QER-PWODecisionRule-OA', pwo.XObjectKey, 'I' from deleted d join ADSGroup g on d.UID_ADSGroup = g.UID_ADSGroup join AccProduct a on d.UID_AccProduct\r\n = a.UID_AccProduct join PersonWantsOrg pwo on g.XObjectKey = pwo.ObjectKeyElementUsedInAssign exec QER_PITShopHelperFill_Recalc @RecalcParameter_OA2, \r\n@GenprocID end  if update(islocal) or update(isuniversal)  or update(isGlobal) or update(isSecurity) or update(IsDistributionGroup)  or update(MatchPatternForMembership\r\n)  or update(XMarkedForDeletion) begin insert into @GroupsChanged (Parameter1, Parameter2) select g.uid_ADSGroup as uid, g.XObjectKey from ADSGroup g join\r\n deleted d on g.UID_ADSGroup = d.UID_ADSGroup where ( g.islocal <> d.islocal or g.isGlobal <> d.isGlobal or g.isuniversal <> d.isuniversal or g.isSecurity\r\n <> d.isSecurity or g.IsDistributionGroup <> d.IsDistributionGroup or g.MatchPatternForMembership <> d.MatchPatternForMembership or (g.XMarkedForDeletion\r\n & @QBM_BitPatternXMarkedForDel_Out = 0 and d.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out > 0 ) ) if @DebugSwitch > 0 begin print 'Groups ' select\r\n Parameter1, parameter2, parameter3 from @GroupsChanged end if (select count(*) from @GroupsChanged) > 0 begin    declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (  select distinct top (@LoadLimit) aig.uid_ADSAccount\r\n as uid from @GroupsChanged g join adsAccountInADSGroup aig on g.Parameter1 = aig.uid_ADSGroup and aig.XOrigin > 0  ) as x select @LoadSumme = @@ROWCOUNT\r\n if @debugSwitch > 0 begin print 'Accounts zugewiesen, @LoadSumme ' + str(@LoadSumme) end if @LoadSumme >= @loadlimit begin exec QBM_PDBQueueInsert_Single\r\n 'QBM-K-CommonReCalculate', 'ADS-K-ADSAccountInADSGroup', '', @genprocid end else begin exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSAccountInADSGroup', @DBQueueElements_01\r\n end       if @LoadSumme < @LoadLimit begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) \r\nselect x.uid, null, @GenProcID from ( select top (@LoadLimit) u.UID_ADSAccount as uid from @GroupsChanged g join BaseTreeHasObject bho on g.Parameter2 \r\n = bho.ObjectKey join PersonInBaseTree pho on bho.UID_Org = pho.UID_Org join ADSAccount u on u.UID_Person = pho.UID_Person union select top (@LoadLimit\r\n) u.UID_ADSAccount as uid from @GroupsChanged g join BaseTreeHasObject bho on g.Parameter2  = bho.ObjectKey join HelperPersonOrg pho on bho.UID_Org = pho.UID_Org\r\n join ADSAccount u on u.UID_Person = pho.UID_Person union select top (@LoadLimit) u.UID_ADSAccount as uid from @GroupsChanged g join ESetHasEntitlement\r\n ehe on g.Parameter2  = ehe.Entitlement join PersonHasESet phe on phe.UID_ESet = ehe.UID_ESet join ADSAccount u on u.UID_Person = phe.UID_Person ) as x\r\n select @LoadSumme += @@ROWCOUNT end  if @debugSwitch > 0 begin print 'Accounts irgendwie geerbt, @LoadSumme ' + str(@LoadSumme) end  if @LoadSumme >= \r\n@loadlimit begin exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate', 'ADS-K-ADSAccountInADSGroup', '', @genprocid end else begin exec QBM_PDBQueueInsert_Bulk\r\n 'ADS-K-ADSAccountInADSGroup', @DBQueueElements_02 end    declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject\r\n, genprocid) select x.uid, null, @GenProcID from (  select distinct top (@LoadLimit) aig.uid_ADSContact as uid from @GroupsChanged g join ADSContactInADSGroup\r\n aig on g.Parameter1 = aig.uid_ADSGroup and aig.XOrigin > 0  ) as x select @LoadSumme = @@ROWCOUNT if @debugSwitch > 0 begin print 'Contacts zugewiesen, @LoadSumme '\r\n + str(@LoadSumme) end if @LoadSumme >= @loadlimit begin exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate', 'ADS-K-ADSContactInADSGroup', '', @genprocid\r\n end else begin exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSContactInADSGroup', @DBQueueElements_03 end    if @LoadSumme < @LoadLimit begin declare @DBQueueElements_04\r\n QBM_YDBQueueRaw insert into @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select top (@LoadLimit) u.UID_ADSContact\r\n as uid from @GroupsChanged g join BaseTreeHasObject bho on g.Parameter2  = bho.ObjectKey join PersonInBaseTree pho on bho.UID_Org = pho.UID_Org join ADSContact\r\n u on u.UID_Person = pho.UID_Person union select top (@LoadLimit) u.UID_ADSContact as uid from @GroupsChanged g join BaseTreeHasObject bho on g.Parameter2\r\n  = bho.ObjectKey join HelperPersonOrg pho on bho.UID_Org = pho.UID_Org join ADSContact u on u.UID_Person = pho.UID_Person union select top (@LoadLimit\r\n) u.UID_ADSContact as uid from @GroupsChanged g join ESetHasEntitlement ehe on g.Parameter2  = ehe.Entitlement join PersonHasESet phe on phe.UID_ESet =\r\n ehe.UID_ESet join ADSContact u on u.UID_Person = phe.UID_Person ) as x select @LoadSumme += @@ROWCOUNT end  if @debugSwitch > 0 begin print 'Contacts irgendwie geerbt @LoadSumme '\r\n + str(@LoadSumme) end  if @LoadSumme >= @loadlimit begin exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate', 'ADS-K-ADSContactInADSGroup', '', @genprocid\r\n end else begin exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSContactInADSGroup', @DBQueueElements_04 end    declare @DBQueueElements_05 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_05 (object, subobject, genprocid) select x.uid, null, @GenProcID from (  select distinct top (@LoadLimit) aig.uid_ADSMachine as \r\nuid from @GroupsChanged g join ADSMachineInADSGroup aig on g.Parameter1 = aig.uid_ADSGroup and aig.XOrigin > 0  ) as x select @LoadSumme = @@ROWCOUNT if\r\n @debugSwitch > 0 begin print 'Machines zugewiesen @LoadSumme ' + str(@LoadSumme) end if @LoadSumme >= @loadlimit begin exec QBM_PDBQueueInsert_Single \r\n'QBM-K-CommonReCalculate', 'ADS-K-ADSMachineInADSGroup', '', @genprocid end else begin exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_05\r\n end    if @LoadSumme < @LoadLimit begin declare @DBQueueElements_06 QBM_YDBQueueRaw insert into @DBQueueElements_06 (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct top (@LoadLimit) m.UID_ADSMachine as uid from @GroupsChanged g join BaseTreeHasObject bho on g.Parameter2\r\n  = bho.ObjectKey join ( select hpo.UID_WorkDesk , hpo.UID_Org from HelperWorkDeskOrg hpo union select pio.UID_WorkDesk , pio.UID_Org from WorkDeskInBaseTree\r\n pio ) as hwo on bho.UID_Org = hwo.UID_Org join Hardware h on h.UID_WorkDesk = hwo.UID_WorkDesk join ADSMachine m on m.UID_Hardware = h.UID_Hardware ) \r\nas x select @LoadSumme += @@ROWCOUNT end  if @debugSwitch > 0 begin print 'Machines irgendwie geerbt @LoadSumme ' + str(@LoadSumme) end if @LoadSumme >=\r\n @loadlimit begin exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate', 'ADS-K-ADSMachineInADSGroup', '', @genprocid end else begin exec QBM_PDBQueueInsert_Bulk\r\n 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_06 end  end  end   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT\r\n END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TUADSMachine",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSMachine",
      "CreateDate": "2025-06-27T18:01:23.61",
      "ModifyDate": "2026-04-14T23:23:07.907",
      "Definition": "create   trigger ADS_TUADSMachine on ADSMachine  for Update not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct int = dbo.QBM_FGIBitPatternXOrigin\r\n('|Direct|', 0)  declare @QBM_BitPatternXOrigin_Direct_inv int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 1)  declare @XUser nvarchar(64) = object_name\r\n(@@procid) declare @Xdate datetime = getutcdate() BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted)\r\n goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(UID_ADSGroupPrimary) begin declare\r\n @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select a.UID_ADSMachine\r\n as uid from ADSMachine a join deleted d on a.UID_ADSMachine = d.UID_ADSMachine where isnull(d.UID_ADSGroupPrimary, '') <> isnull(a.UID_ADSGroupPrimary\r\n, '') ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_01  if exists (select top 1 1 from deleted d join ADSMachine a\r\n on d.UID_ADSMachine = a.UID_ADSMachine where isnull(d.UID_aDSGroupPrimary, '') <> isnull(a.UID_ADSGroupPrimary, '') ) begin if dbo.QBM_FGISessionContext\r\n ('Fullsync') = '' begin update ADSMachineInADSGroup set XOrigin = aig.XOrigin | @QBM_BitPatternXOrigin_Direct , XIsInEffect = 1  , XDateUpdated = @Xdate\r\n , XUserUpdated = @XUser from deleted d join ADSMachineInADSGroup aig on d.UID_ADSMachine = aig.UID_ADSMachine and d.UID_ADSGroupPrimary = aig.UID_ADSGroup\r\n where aig.XIsInEffect = 0 end else begin  update ADSMachineInADSGroup set XOrigin = aig.XOrigin & @QBM_BitPatternXOrigin_Direct_inv  , XDateUpdated = \r\n@Xdate , XUserUpdated = @XUser from deleted d join ADSMachineInADSGroup aig on d.UID_ADSMachine = aig.UID_ADSMachine and d.UID_ADSGroupPrimary = aig.UID_ADSGroup\r\n where aig.XIsInEffect = 0 and aig.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 end end  end if update(ObjectSID) begin  if exists (select top 1 1 from \r\nADSMachine x join deleted d on x.uid_ADSMachine= d.uid_ADSMachine where isnull(d.ObjectSID, N'') <> isnull(x.ObjectSID, N'') ) begin insert into ADSOtherSID\r\n (UID_ADSOtherSID, ObjectSID , DistinguishedName, canonicalName, Ident_ADSOtherSID , XDateInserted, XDateUpdated, XUserInserted, XUserUpdated, XObjectKey\r\n) select x.UID_ADSOtherSID, x.ObjectSID , x.DistinguishedName, x.canonicalName, x.Ident_ADSOtherSID , x.XDateInserted, x.XDateUpdated, x.XUserInserted,\r\n x.XUserUpdated, dbo.QBM_FCVElementToObjectKey1('ADSOtherSID', 'UID_ADSOtherSID', x.UID_ADSOtherSID) from ( select newid() as UID_ADSOtherSID, d.ObjectSID\r\n , d.DistinguishedName, d.canonicalName, d.cn as Ident_ADSOtherSID , d.XDateInserted, d.XDateUpdated, d.XUserInserted, d.XUserUpdated from ADSMachine x\r\n join deleted d on x.uid_ADSMachine= d.uid_ADSMachine where d.ObjectSID > ' ' and isnull(d.ObjectSID, N'') <> isnull(x.ObjectSID, N'') and not exists (select\r\n top 1 1 from ADSOtherSID x where x.ObjectSID = d.ObjectSID ) ) as x end   if exists (select top 1 1 from ADSOtherSID a join inserted d on a.ObjectSID \r\n= d.ObjectSID ) begin delete ADSOtherSID where objectSID in (select x.ObjectSID from ADSMachine x join deleted d on x.uid_ADSMachine = d.uid_ADSMachine\r\n where isnull(x.ObjectSID, N'') <> isnull(d.ObjectSID, N'') ) and UID_ADSOtherSID not like 'ADS-%' end  end  if update(UID_Hardware) begin declare @DBQueueElements_02\r\n QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select d.UID_ADSMachine as uid from\r\n deleted d join ADSMachine m on d.UID_ADSMachine = m.UID_ADSMachine where isnull(d.UID_Hardware, '') <> isnull(m.UID_Hardware, '') ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_02 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TUADSMachineInADSGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSMachineInADSGroup",
      "CreateDate": "2025-06-27T18:01:23.58",
      "ModifyDate": "2026-04-14T23:23:07.91",
      "Definition": "create   trigger ADS_TUADSMachineInADSGroup on ADSMachineInADSGroup  for update not for Replication as begin  declare @GenProcID varchar(38) declare\r\n @XUser nvarchar(64) declare @QBM_BitPatternXMarkedForDel_OutStanding int = dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|', 0)  BEGIN TRY if exists\r\n (select top 1 1 from deleted) goto start if exists (select top 1 1 from inserted) goto start return start: select @GenProcID = dbo.QBM_FGISessionContext\r\n('') select @XUser = dbo.QBM_FGISessionContext('XUser') if update(XOrigin) or update(XIsInEffect) begin  if exists (select top 1 1 from deleted d join \r\nADSMachineInADSGroup dd on d.XObjectKey = dd.XObjectKey join ADSGroup g on d.UID_ADSGroup = g.UID_ADSGroup where 1 = g.HasReadOnlyMemberships and d.XOrigin\r\n <> dd.XOrigin and dbo.QBM_FGISessionContext ('Fullsync') = ''  and exists (select top 1 1 from ADSMachine a where a.UID_ADSMachine = d.UID_ADSMachine \r\nand a.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_OutStanding = 0 ) ) begin raiserror( '#LDS#Cannot update {0} because assignment to groups with read only memberships are not permitted.|ADSMachineInADSGroup|'\r\n, 18, 2) with nowait end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null,\r\n @GenProcID from ( select distinct d.UID_ADSMachine as uid from deleted d join ADSMachineInADSGroup dd on d.XObjectKey = dd.XObjectKey where dbo.QBM_FGIXOriginChanged_Except2\r\n(d.XOrigin, dd.XOrigin) = 1  or (d.XIsInEffect <> dd.XIsInEffect and dbo.QBM_FGISessionContext ('Fullsync') > ' ' ) ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_01 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TUADSOtherSID",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSOtherSID",
      "CreateDate": "2025-06-27T18:01:23.52",
      "ModifyDate": "2026-04-14T23:23:07.913",
      "Definition": "create   trigger ADS_TUADSOtherSID on ADSOtherSID  for update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted) goto\r\n start if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext(''\r\n) if update(ObjectSID) begin if exists (select top 1 1 from ADSOtherSID a join deleted d on a.UID_ADSOtherSID = d.UID_ADSOtherSID where isnull(a.ObjectSID\r\n, N'') <> isnull(d.ObjectSID, N'') ) begin raiserror( '#LDS#Changing the SID of an object cannot take place.|', 18, 2) with nowait end end  END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TUBaseTreeHasADSGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasADSGroup",
      "CreateDate": "2025-06-27T18:01:23.547",
      "ModifyDate": "2026-04-14T23:23:07.97",
      "Definition": "create   trigger ADS_TUBaseTreeHasADSGroup on BaseTreeHasADSGroup  for Update not for Replication as begin  declare @ChangedOrg QBM_YSingleGUID \r\nBEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar\r\n(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(XOrigin) or update(XIsInEffect) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct a.UID_Org as uid from BaseTreeHasADSGroup\r\n a join deleted d on a.XObjectKey = d.XObjectKey where ( dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo\r\n(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(a.XOrigin) ) ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-BaseTreeHasObject', @DBQueueElements_01 insert into\r\n @ChangedOrg (UID_SingleGuid) select distinct d.UID_Org as uid from BaseTreeHasADSGroup a join deleted d on a.XObjectKey = d.XObjectKey where dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 if @@ROWCOUNT > 0  begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.uid, 'ADS-K-OrgHasADSGroup', @GenProcID from ( select c.UID_SingleGuid as uid from @ChangedOrg c ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-AllChildrenOfOrg', @DBQueueElements_02 declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select b.UID_Org as uid from @ChangedOrg c join BaseTree b on c.UID_SingleGuid = b.UID_Org where b.ITShopInfo =\r\n 'BO' ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgAutoChild', @DBQueueElements_03 declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select ADS.UID_ADSAccount as uid from @ChangedOrg c join PersoninBaseTree pio on \r\nc.UID_SingleGuid = pio.UID_Org and pio.XOrigin > 0 join ADSaccount ADS on ADS.UID_Person = pio.UID_Person and ADS.IsGroupAccount = 1 union select ADS.UID_ADSAccount\r\n as uid from @ChangedOrg c join HelperPersonOrg hpo on c.UID_SingleGuid = hpo.UID_Org join ADSaccount ADS on ADS.UID_Person = hpo.UID_Person and ADS.IsGroupAccount\r\n = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSAccountInADSGroup', @DBQueueElements_04 declare @DBQueueElements_05 QBM_YDBQueueRaw insert into @DBQueueElements_05\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select ADS.UID_ADSContact as uid from @ChangedOrg c join PersoninBaseTree pio on \r\nc.UID_SingleGuid = pio.UID_Org and pio.XOrigin > 0 join ADSContact ADS on ADS.UID_Person = pio.UID_Person and ADS.IsGroupAccount = 1 union select ADS.UID_ADSContact\r\n as uid from @ChangedOrg c join HelperPersonOrg hpo on c.UID_SingleGuid = hpo.UID_Org join ADSContact ADS on ADS.UID_Person = hpo.UID_Person and ADS.IsGroupAccount\r\n = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSContactInADSGroup', @DBQueueElements_05 if '1' = dbo.QBM_FGIConfigparmValue('TargetSystem\\ADS\\HardwareInGroupFromOrg'\r\n) begin declare @DBQueueElements_06 QBM_YDBQueueRaw insert into @DBQueueElements_06 (object, subobject, genprocid) select x.uid, null, @GenProcID from \r\n(  select m.UID_ADSMachine as uid from @ChangedOrg c join WorkDeskinBaseTree pio on c.UID_SingleGuid = pio.UID_Org and pio.XOrigin > 0 join Hardware ADS\r\n on ADS.uid_WorkDesk = pio.uid_WorkDesk join ADSMachine m on ADS.UID_Hardware = m.UID_Hardware union select m.UID_ADSMachine as uid from @ChangedOrg c \r\njoin HelperWorkDeskOrg hpo on c.UID_SingleGuid = hpo.UID_Org join Hardware ADS on ADS.uid_WorkDesk = hpo.uid_WorkDesk join ADSMachine m on ADS.UID_Hardware\r\n = m.UID_Hardware union  select m.UID_ADSMachine as uid from @ChangedOrg c join HardwareinBaseTree pio on c.UID_SingleGuid = pio.UID_Org and pio.XOrigin\r\n > 0 join Hardware ADS on pio.uid_Hardware = ADS.uid_Hardware join ADSMachine m on ADS.UID_Hardware = m.uid_Hardware union select m.UID_ADSMachine as uid\r\n from @ChangedOrg c join HelperHardwareOrg hpo on c.UID_SingleGuid = hpo.UID_Org join Hardware ADS on hpo.uid_Hardware = ADS.uid_Hardware join ADSMachine\r\n m on ADS.UID_Hardware = m.uid_Hardware ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_06 end  end  end  END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TUDialogConfigParm",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogConfigParm",
      "CreateDate": "2025-06-27T18:01:23.68",
      "ModifyDate": "2026-04-14T23:23:08.047",
      "Definition": " create   trigger ADS_TUDialogConfigParm on DialogConfigParm  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from \r\ninserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if update(value) or update(IsEnabledResulting) begin if exists ( select top 1 1 from DialogConfigParm p join deleted d on p.UID_ConfigParm = d.UID_ConfigParm\r\n and ( isnull(d.Value,N'') <> isnull(p.Value,N'') or isnull(d.IsEnabledResulting,0) <> isnull(p.IsEnabledResulting,0) ) where d.FullPath = 'TargetSystem\\ADS\\PersonExcludeList'\r\n ) begin  exec QBM_PJobCreate_HOTemplate_B 'ADSAccount', '1=1', @Columns = 'NeverConnectToPerson' , @GenProcID = @GenprocID , @AdditionalObjectKeysAffected\r\n = default end end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TUDomain",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSDomain",
      "CreateDate": "2025-06-27T18:01:23.42",
      "ModifyDate": "2026-04-14T23:23:07.887",
      "Definition": "create   trigger ADS_TUDomain on adsdomain  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted) goto start\r\n if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare\r\n @errno int declare @errmsg nvarchar(255) declare @Parameter nvarchar(1000) if update(uid_AERoleOwner) begin declare @RecalcParameter_01 QBM_YCursorBuffer\r\n insert into @RecalcParameter_01 (UID1, ObjectKey1, Ident1) select 'TSB-PWODecisionRule-TO', i.XObjectKey, 'I' from inserted i union all select 'QER-PWODecisionRule-OX'\r\n, i.XObjectKey, 'I'  from inserted i exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID end  if update(uid_AERoleOwner) begin declare @DBQueueElements_02\r\n QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select d.UID_ADSDomain as uid from\r\n deleted d ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-BaseTreeOwnsObject', @DBQueueElements_02 end  if update(UID_ADSForest)  begin          if exists \r\n(select top 1 1 from ADSDomain neu join deleted alt on neu.UID_ADSDomain = alt.UID_ADSDomain and isnull(alt.UID_ADSForest,'') <> isnull(neu.UID_ADSForest\r\n,'') ) begin  declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from (  select a.UID_ADSAccount as uid from ADSDomain n join deleted d on n.UID_ADSDomain = d.UID_ADSDomain and isnull(d.UID_ADSForest,'') <> isnull(n.UID_ADSForest\r\n,'')  join ADSAccount a on a.UID_ADSDomain = n.UID_ADSDomain join ADSAccountInADSGroup uig on a.UID_ADSAccount = uig.UID_ADSAccount and uig.XOrigin > 0\r\n  join ADSGroup g on uig.UID_ADSGroup = g.UID_ADSGroup  and g.UID_ADSDomain <> n.UID_ADSDomain  union select a.UID_ADSAccount as uid from ADSDomain n join\r\n deleted d on n.UID_ADSDomain = d.UID_ADSDomain and isnull(d.UID_ADSForest,'') <> isnull(n.UID_ADSForest,'')  join ADSGroup g on g.UID_ADSDomain = n.UID_ADSDomain\r\n join ADSAccountInADSGroup uig on uig.UID_ADSGroup = g.UID_ADSGroup and uig.XOrigin > 0  join ADSAccount a on a.UID_ADSAccount = uig.UID_ADSAccount  and\r\n a.UID_ADSDomain <> n.UID_ADSDomain  ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSAccountInADSGroup', @DBQueueElements_03 end end END TRY BEGIN CATCH \r\nexec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TUHardware",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "Hardware",
      "CreateDate": "2025-06-27T18:01:23.62",
      "ModifyDate": "2026-04-14T23:23:08.333",
      "Definition": "    create   trigger ADS_TUHardware on Hardware  for Update not for Replication as begin BEGIN TRY if exists (select top 1 1 from inserted) goto\r\n start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext(''\r\n)  if update(UID_Workdesk) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid\r\n, null, @GenProcID from ( select distinct m.uid_adsmachine as uid from Hardware h join deleted d on h.UID_Hardware = d.UID_Hardware join ADSMachine m on\r\n h.UID_Hardware = m.uid_Hardware where isnull(d.UID_Workdesk, '') <> isnull(h.UID_Workdesk, '') ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup'\r\n , @DBQueueElements_01 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TUTSBBehavior",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "TSBBehavior",
      "CreateDate": "2025-06-27T18:01:23.59",
      "ModifyDate": "2026-04-14T23:23:08.813",
      "Definition": " create   trigger ADS_TUTSBBehavior on TSBBehavior  for Update not for Replication as begin  declare @TSBBehaviorsToCheck QBM_YSingleGUID     BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38\r\n) select @GenProcID = dbo.QBM_FGISessionContext('')  if update(PTDInheritGroup) or update(PFDInheritGroup) or update(PMDInheritGroup) or update(PSIInheritGroup\r\n) or update(ADAInheritGroup) begin insert into @TSBBehaviorsToCheck (UID_SingleGuid ) select distinct r.uid_TSBBehavior from TSBBehavior r join deleted\r\n d on r.uid_TSBBehavior = d.uid_TSBBehavior where (isnull(r.PTDInheritGroup,0) <> isnull(d.PTDInheritGroup,0) or isnull(r.PFDInheritGroup,0) <> isnull(d.PFDInheritGroup\r\n,0) or isnull(r.PMDInheritGroup,0) <> isnull(d.PMDInheritGroup,0) or isnull(r.PSIInheritGroup,0) <> isnull(d.PSIInheritGroup,0) or isnull(r.ADAInheritGroup\r\n,0) <> isnull(d.ADAInheritGroup,0) ) if 0 < (select count(*) from @TSBBehaviorsToCheck) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from (  select a.UID_ADSAccount as uid from ADSAccount a join @TSBBehaviorsToCheck c on \r\na.UID_TSBBehavior = c.UID_SingleGuid  ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSAccountInADSGroup', @DBQueueElements_01 declare @DBQueueElements_02\r\n QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from (  select a.UID_ADSContact as uid from\r\n ADSContact a join @TSBBehaviorsToCheck c on a.UID_TSBBehavior = c.UID_SingleGuid  ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSContactInADSGroup', @DBQueueElements_02\r\n end end    END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ADS_TUTSBSpecificGroupBehavior",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "TSBSpecificGroupBehavior",
      "CreateDate": "2025-06-27T18:01:23.693",
      "ModifyDate": "2026-04-14T23:23:08.83",
      "Definition": "create   trigger ADS_TUTSBSpecificGroupBehavior on TSBSpecificGroupBehavior  for update not for Replication as begin declare @GenProcID varchar(38\r\n) = dbo.QBM_FGISessionContext('') declare @ReallyChanged QBM_YParameterList  BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select\r\n top 1 1 from deleted) goto start return start: if not (update( PFDInheritOverwrite ) or update( PTDInheritOverwrite ) or update( PSIInheritOverwrite )\r\n or update( PMDInheritOverwrite ) or update( ADAInheritOverwrite ) ) begin goto EndLabel end insert into @ReallyChanged(Parameter1) select ovr.ObjectKeyGroup\r\n from TSBSpecificGroupBehavior ovr join deleted i on ovr.UID_TSBSpecificGroupBehavior = i.UID_TSBSpecificGroupBehavior where isnull(ovr.PFDInheritOverwrite\r\n,0) <> isnull(i.PFDInheritOverwrite, 0) or isnull(ovr.PTDInheritOverwrite,0) <> isnull(i.PTDInheritOverwrite, 0) or isnull(ovr.PSIInheritOverwrite,0) <>\r\n isnull(i.PSIInheritOverwrite, 0) or isnull(ovr.PMDInheritOverwrite,0) <> isnull(i.PMDInheritOverwrite, 0) or isnull(ovr.ADAInheritOverwrite,0) <> isnull\r\n(i.ADAInheritOverwrite, 0) if @@ROWCOUNT = 0 begin goto EndLabel end declare @GUIDADSGroup QBM_YSingleGUID insert into @GUIDADSGroup(UID_SingleGuid) select\r\n g.UID_ADSGroup from ADSGroup g join @ReallyChanged ch on g.XObjectKey = ch.Parameter1 if @@ROWCOUNT > 0 begin declare @DBQueueElements_ADSContactInADSGroup\r\n QBM_YDBQueueRaw insert into @DBQueueElements_ADSContactInADSGroup (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uig.UID_ADSContact\r\n as uid from ADSContactInADSGroup uig join @GUIDADSGroup gg on uig.UID_ADSGroup = gg.UID_SingleGuid ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSContactInADSGroup'\r\n, @DBQueueElements_ADSContactInADSGroup declare @DBQueueElements_ADSAccountInADSGroup QBM_YDBQueueRaw insert into @DBQueueElements_ADSAccountInADSGroup\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uig.UID_ADSAccount as uid from ADSAccountInADSGroup uig join @GUIDADSGroup\r\n gg on uig.UID_ADSGroup = gg.UID_SingleGuid ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSAccountInADSGroup', @DBQueueElements_ADSAccountInADSGroup end\r\n  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH EndLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ARS_TATTUADSAccount",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSAccount",
      "CreateDate": "2025-06-27T18:01:26.68",
      "ModifyDate": "2026-04-14T23:23:07.867",
      "Definition": " create   trigger dbo.ARS_TATTUADSAccount on ADSAccount  for update not for replication as begin  declare @GenProcID varchar(38) declare @ErrorMessage\r\n nvarchar(4000) declare @ErrorSeverity int declare @ErrorState int declare @ret int   if exists (select top 1 1 from inserted) goto start if exists (select\r\n top 1 1 from deleted) goto start goto endLabel start: BEGIN TRY if update(UID_Person) begin    declare @RecalcParameter_01 QBM_YCursorBuffer insert into\r\n @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select 'irgendwas', 'ARS-AttestationRule-PA', 'A' exec QER_PITShopHelperFill_Recalc @RecalcParameter_01\r\n, @GenprocID declare @RecalcParameter_02 QBM_YCursorBuffer insert into @RecalcParameter_02 (ObjectKey1, UID1, Ident1) select p.ObjectKey, 'ARS-AttestationRule-KA'\r\n, 'A' from (select per.XObjectKey as ObjectKey from person per join inserted i on per.UID_Person = i.UID_Person union all select per.XObjectKey as ObjectKey\r\n from person per join deleted d on per.UID_Person = d.UID_Person ) p exec QER_PITShopHelperFill_Recalc @RecalcParameter_02, @GenprocID  end END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ARS_TATTUAdsGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSGroup",
      "CreateDate": "2025-06-27T18:01:26.667",
      "ModifyDate": "2026-04-14T23:23:07.893",
      "Definition": " create   trigger ARS_TATTUAdsGroup on AdsGroup  for Update not for Replication as begin declare @Parameter nvarchar(256) BEGIN TRY if exists (select\r\n top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = \r\ndbo.QBM_FGISessionContext('') if update(edsvaSecondaryOwners) begin    declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1\r\n, UID1, Ident1) select 'irgendwas' as Objectkey, 'ARS-AttestationRule-PA', 'A' exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID  end  \r\nif update(edsvaSecondaryOwners) or update (UID_AccProduct) begin declare @RecalcParameter_02 QBM_YCursorBuffer insert into @RecalcParameter_02 (ObjectKey1\r\n, UID1, Ident1) select i.XObjectKey as Objectkey, 'ARS-AttestationRule-KA', 'A' from inserted i exec QER_PITShopHelperFill_Recalc @RecalcParameter_02, \r\n@GenprocID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ARS_TUAccProduct",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "AccProduct",
      "CreateDate": "2025-06-27T18:01:26.637",
      "ModifyDate": "2026-04-14T23:23:07.85",
      "Definition": " create   trigger ARS_TUAccProduct on AccProduct  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted) goto\r\n start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext(''\r\n)  if update(UID_OrgRuler) begin declare @RecalcParameter_01 QBM_YCursorBuffer  insert into @RecalcParameter_01 (UID1, ObjectKey1, Ident1) select 'ARS-ITShopRule-KA'\r\n, i.XobjectKey, 'I' from inserted i insert into @RecalcParameter_01 (UID1, ObjectKey1, Ident1) select 'ARS-ITShopRule-PA', i.XobjectKey, 'I' from inserted\r\n i exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH\r\n NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ARS_TUADSAccount",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSAccount",
      "CreateDate": "2025-06-27T18:01:26.65",
      "ModifyDate": "2026-04-14T23:23:07.867",
      "Definition": " create   trigger ARS_TUADSAccount on ADSAccount  for Update not for Replication as begin  if exists (select top 1 1 from inserted) goto start if\r\n exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext(''\r\n) if update(UID_Person) begin declare @RecalcParameter_01 QBM_YCursorBuffer  insert into @RecalcParameter_01 (UID1, ObjectKey1, Ident1) select 'ARS-ITShopRule-KA'\r\n, i.XobjectKey, 'I' from inserted i insert into @RecalcParameter_01 (UID1, ObjectKey1, Ident1) select 'ARS-ITShopRule-PA', i.XobjectKey, 'I' from inserted\r\n i exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH\r\n NOWAIT END CATCH  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ARS_TUAdsGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ADSGroup",
      "CreateDate": "2025-06-27T18:01:26.623",
      "ModifyDate": "2026-04-14T23:23:07.893",
      "Definition": "    create   trigger ARS_TUAdsGroup on AdsGroup  for Update not for Replication as begin  declare @Parameter nvarchar(256) BEGIN TRY if exists (select\r\n top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = \r\ndbo.QBM_FGISessionContext('')  if update(edsvaSecondaryOwners) begin declare @RecalcParameter_01 QBM_YCursorBuffer  insert into @RecalcParameter_01 (UID1\r\n, ObjectKey1, Ident1) select 'ARS-ITShopRule-KA', i.XobjectKey, 'I' from inserted i insert into @RecalcParameter_01 (UID1, ObjectKey1, Ident1) select 'ARS-ITShopRule-PA'\r\n, i.XobjectKey, 'I' from inserted i exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID end  if update(UID_AccProduct) begin declare @RecalcParameter_02\r\n QBM_YCursorBuffer  insert into @RecalcParameter_02 (UID1, ObjectKey1, Ident1) select 'ARS-ITShopRule-KA', i.XobjectKey, 'I' from inserted i insert into\r\n @RecalcParameter_02 (UID1, ObjectKey1, Ident1) select 'ARS-ITShopRule-PA', i.XobjectKey, 'I' from inserted i exec QER_PITShopHelperFill_Recalc @RecalcParameter_02\r\n, @GenprocID end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TDAttestationCase",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "AttestationCase",
      "CreateDate": "2025-06-27T18:01:12.06",
      "ModifyDate": "2026-04-14T23:23:07.933",
      "Definition": "create   trigger ATT_TDAttestationCase on AttestationCase  for DELETE not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  declare @errno int declare @errmsg nvarchar\r\n(255) declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select\r\n d.UID_AttestationCase as uid from deleted d ) as x  exec QBM_PDBQueueInsert_Bulk 'ATT-K-AttestationHelper', @DBQueueElements_01  END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TDAttestationHelper",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "AttestationHelper",
      "CreateDate": "2025-06-27T18:01:12.247",
      "ModifyDate": "2026-04-14T23:23:07.933",
      "Definition": " create   trigger ATT_TDAttestationHelper on AttestationHelper  for delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from\r\n deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if exists (select top 1 1 from deleted\r\n d where d.Decision = 'Q' ) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid\r\n, null, @GenProcID from (select distinct d.UID_AttestationCase as uid from deleted d where d.Decision = 'Q' ) as x exec QBM_PDBQueueInsert_Bulk 'ATT-K-AttestationCheckValid'\r\n, @DBQueueElements_01 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TDAttestationObject",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "AttestationObject",
      "CreateDate": "2025-06-27T18:01:12.077",
      "ModifyDate": "2026-04-14T23:23:07.94",
      "Definition": "create   trigger ATT_TDAttestationObject on AttestationObject  for delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from\r\n deleted) goto start return start:  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TDAttestationPolicyHasAppr",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "AttestationPolicyHasApprover",
      "CreateDate": "2025-06-27T18:01:12.11",
      "ModifyDate": "2026-04-14T23:23:07.947",
      "Definition": "  create   trigger ATT_TDAttestationPolicyHasAppr  on AttestationPolicyHasApprover  for Delete not for Replication as begin   BEGIN TRY if exists\r\n (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('')  declare @RecalcParameter_01 QBM_YCursorBuffer\r\n insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select dbo.QBM_FCVElementToObjectKey1('Person', '', d.UID_Person), 'ATT-PWODecisionRule-AS'\r\n, 'A' from deleted d exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TDAttestationType",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "AttestationType",
      "CreateDate": "2025-06-27T18:01:12.12",
      "ModifyDate": "2026-04-14T23:23:07.953",
      "Definition": " create   trigger ATT_TDAttestationType on AttestationType  for delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted\r\n) goto start return start:  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TDAttestationWizardParm",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "AttestationWizardParm",
      "CreateDate": "2025-06-27T18:01:12.133",
      "ModifyDate": "2026-04-14T23:23:07.957",
      "Definition": "create   trigger ATT_TDAttestationWizardParm on AttestationWizardParm  for delete not for Replication as begin  BEGIN TRY if exists (select top \r\n1 1 from deleted) goto start return start:  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  return end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TDAttestationWizardParmOpt",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "AttestationWizardParmOpt",
      "CreateDate": "2025-06-27T18:01:12.14",
      "ModifyDate": "2026-04-14T23:23:07.96",
      "Definition": " create   trigger ATT_TDAttestationWizardParmOpt on AttestationWizardParmOpt  for delete not for Replication as begin  BEGIN TRY if exists (select\r\n top 1 1 from deleted) goto start return start:  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  return\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TDBaseTree",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTree",
      "CreateDate": "2025-06-27T18:01:12.223",
      "ModifyDate": "2026-04-14T23:23:07.96",
      "Definition": "     create   trigger ATT_TDBaseTree on BaseTree  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted) goto\r\n start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct ac.uid_AttestationCase as uid from AttestationCase\r\n ac join deleted d on ac.ObjectKeyBase = d.XObjectKey or ac.ObjectKey1 = d.XObjectKey or ac.ObjectKey2 = d.XObjectKey or ac.ObjectKey3 = d.XObjectKey where\r\n ac.isclosed = 0 ) as x  exec QBM_PDBQueueInsert_Bulk 'ATT-K-AttestationHelper-Cfg', @DBQueueElements_01  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TDPWODecisionRuleRulerDete",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PWODecisionRuleRulerDetect",
      "CreateDate": "2025-06-27T18:01:12.327",
      "ModifyDate": "2026-04-14T23:23:08.477",
      "Definition": "create   trigger ATT_TDPWODecisionRuleRulerDete  on PWODecisionRuleRulerDetect for Delete not for Replication as begin  BEGIN TRY if exists (select\r\n top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_02\r\n QBM_YDBQueueRaw insert into @DBQueueElements_02(Object, SubObject, GenProcID) select distinct i.UID_PWODecisionRule, null, @GenProcID from deleted i exec\r\n QBM_PDBQueueInsert_bulk 'ATT-K-AttHelperFillMakeProc', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1)\r\n WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TDQERUniversalSubstitute",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QERUniversalSubstitute",
      "CreateDate": "2025-06-27T18:01:12.277",
      "ModifyDate": "2026-04-14T23:23:08.77",
      "Definition": "create   trigger ATT_TDQERUniversalSubstitute on QERUniversalSubstitute  for delete not for Replication as begin declare @GenProcID varchar(38) \r\n= dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: declare @DBQueueElements_01 QBM_YDBQueueRaw \r\ninsert into @DBQueueElements_01(object, subobject, genprocid) select x.uid, null, @GenProcID from(  select ac.UID_AttestationCase as uid from deleted d\r\n join AttestationHelper h on d.UID_PersonReceiver = h.UID_PersonHead join AttestationCase ac on h.UID_AttestationCase = ac.UID_AttestationCase and h.LevelNumber\r\n = ac.DecisionLevel where d.IsCurrentlyActive = 1 and d.UseForAttestation = 1 and ac.IsClosed = 0 ) as x exec QBM_PDBQueueInsert_Bulk 'ATT-K-AttestationHelper'\r\n, @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TIAttestationCase",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "AttestationCase",
      "CreateDate": "2025-06-27T18:01:12.047",
      "ModifyDate": "2026-04-14T23:23:07.93",
      "Definition": "    create   trigger ATT_TIAttestationCase on AttestationCase  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from\r\n inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  if exists (select top 1 1  from inserted\r\n i where  sign(len(isnull(i.UID_QERWorkingMethod, ''))) ^ i.IsClosed = 0 ) begin raiserror('#LDS#Invalid combination of IsClosed and QERWorkingMethod.|'\r\n, 18, 1) with nowait end      if exists (select top 1 1 from inserted i where i.IsUnderConstruction = 0  ) begin declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uid_AttestationCase as uid from inserted\r\n where isclosed = 0 and IsUnderConstruction = 0 ) as x  exec QBM_PDBQueueInsert_Bulk 'ATT-K-AttestationHelper', @DBQueueElements_01  exec QBM_PDBQueueInsert_Bulk\r\n 'ATT-K-AttestationCheckValid', @DBQueueElements_01 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TIAttestationObject",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "AttestationObject",
      "CreateDate": "2025-06-27T18:01:12.073",
      "ModifyDate": "2026-04-14T23:23:07.937",
      "Definition": " create   trigger ATT_TIAttestationObject on AttestationObject  for INSERT not for Replication as begin  declare @ConditionsToCheck QBM_YParameterList\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('')  insert into @ConditionsToCheck (ContentFull) select i.PreProcessorCondition from inserted i exec QBM_PPrePropCheckSyntax @ConditionsToCheck  if exists\r\n (select top 1 1 from inserted i left outer join DialogColumn c on i.UID_DialogTable = c.UID_DialogTable and c.ColumnName = 'XObjectKey' where c.columnname\r\n is null ) begin  raiserror( '#LDS#Non-valid table selected (no XObjectKey exists).|', 18, 2) with nowait end declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select i.UID_AttestationObject as uid from inserted\r\n i ) as x exec QBM_PDBQueueInsert_Bulk 'ATT-K-PrepropAttestationObject', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TIAttestationPolicy",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "AttestationPolicy",
      "CreateDate": "2025-06-27T18:01:12.087",
      "ModifyDate": "2026-04-14T23:23:07.943",
      "Definition": "    create   trigger ATT_TIAttestationPolicy on AttestationPolicy  for INSERT not for Replication as begin  declare @SQLToCheck QBM_YParameterList\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('')  insert into @SQLToCheck(Parameter1, ContentFull) select c.XObjectKey, 'select top 1 1 as columnvalue from ' + t.TableName + '\r\n\t\t where (\r\n\t\t ' +\r\n c.WhereClause + '\r\n\t\t )' from inserted c  join AttestationObject o on c.UID_AttestationObject = o.UID_AttestationObject join DialogTable t on o.UID_DialogTable\r\n = t.UID_DialogTable where c.WhereClause > ' '  update @SQLToCheck set ContentFull = REPLACE (replace(ContentFull , '@UID_QERPickCategory', '''#''') , \r\n'@UID_AttestationPolicy', '''#''') exec QBM_PSQLCheckExecutable @SQLToCheck, @RaiseError = 1 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH  endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TIAttestationPolicyHasAppr",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "AttestationPolicyHasApprover",
      "CreateDate": "2025-06-27T18:01:12.113",
      "ModifyDate": "2026-04-14T23:23:07.947",
      "Definition": "create   trigger ATT_TIAttestationPolicyHasAppr  on AttestationPolicyHasApprover  for Insert not for Replication as begin  BEGIN TRY if exists (select\r\n top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('')  declare @RecalcParameter_01 QBM_YCursorBuffer\r\n insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select dbo.QBM_FCVElementToObjectKey1('Person', '', i.UID_Person), 'ATT-PWODecisionRule-AS'\r\n, 'A' from inserted i exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TIAttestationWizardParm",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "AttestationWizardParm",
      "CreateDate": "2025-06-27T18:01:12.13",
      "ModifyDate": "2026-04-14T23:23:07.957",
      "Definition": " create   trigger ATT_TIAttestationWizardParm on AttestationWizardParm  for INSERT not for Replication as begin  declare @ConditionsToCheck QBM_YParameterList\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('')  insert into @ConditionsToCheck (ContentFull) select i.PreProcessorCondition from inserted i exec QBM_PPrePropCheckSyntax @ConditionsToCheck  declare\r\n @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select i.UID_AttestationWizardParm\r\n as uid from inserted i ) as x exec QBM_PDBQueueInsert_Bulk 'ATT-K-PrepropAttestationWizardParm', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TIDialogTable",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogTable",
      "CreateDate": "2025-06-27T18:01:12.153",
      "ModifyDate": "2026-04-14T23:23:08.17",
      "Definition": " create   trigger ATT_TIDialogTable on DialogTable  for Insert not for Replication as begin BEGIN TRY if exists (select top 1 1 from inserted) goto\r\n start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  if exists (select top 1 1 from inserted i where \r\ndbo.QBM_FCVGUIDToModuleOwner(i.UID_DialogTable) = 'CCC' ) begin insert into ATTBaseObjectHasDecisionRule (UID_PWODecisionRule, UID_DialogTable, XObjectKey\r\n , XUserInserted, XUserUpdated, XDateInserted, XDateUpdated) select x.UID_PWODecisionRule, i.UID_DialogTable , dbo.QBM_FCVElementToObjectKey2('ATTBaseObjectHasDecisionRule'\r\n, 'UID_DialogTable', i.UID_DialogTable, 'UID_PWODecisionRule', x.UID_PWODecisionRule) , i.XUserInserted, i.XUserUpdated, i.XDateInserted, i.XDateUpdated\r\n from inserted i cross join (values ( 'ATT-PWODecisionRule-AS') , ('ATT-PWODecisionRule-CD') , ('ATT-PWODecisionRule-EX') , ('ATT-PWODecisionRule-OM') \r\n, ('ATT-PWODecisionRule-OR') , ('ATT-PWODecisionRule-WC') ) as x (UID_PWODecisionRule) where dbo.QBM_FCVGUIDToModuleOwner(i.UID_DialogTable) = 'CCC' and\r\n dbo.QBM_FGIPrepropConditionDeactiv('ATTESTATION') = 0 and not exists (select top 1 1 from ATTBaseObjectHasDecisionRule o where o.UID_DialogTable = i.UID_DialogTable\r\n and o.UID_PWODecisionRule = x.UID_PWODecisionRule ) end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TIHelperHeadOrg",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "HelperHeadOrg",
      "CreateDate": "2025-06-27T18:01:12.18",
      "ModifyDate": "2026-04-14T23:23:08.35",
      "Definition": "    create   trigger ATT_TIHelperHeadOrg on HelperHeadOrg  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start return start: declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('')    declare @RecalcParameter_01 QBM_YCursorBuffer insert into \r\n@RecalcParameter_01 (ObjectKey1, UID1, Ident1) select bt.XObjectKey, v.Regel, 'A' from inserted i join BaseTree bt on i.UID_Org = bt.UID_Org join (values\r\n ('ATT-PWODecisionRule-PM', 'QER-V-ProfitCenter') , ('ATT-PWODecisionRule-OM', '____[^V]%') , ('ATT-PWODecisionRule-RM', '%') , ('ATT-PWODecisionRule-RR'\r\n, '%') , ('ATT-PWODecisionRule-LM', 'QER-V-Locality') , ('ATT-PWODecisionRule-DM', 'QER-V-Department') , ('ATT-PWODecisionRule-ED', 'QER-V-Department')\r\n ) as v (Regel, RootMuster) on bt.UID_OrgRoot like v.RootMuster exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID  END TRY BEGIN CATCH \r\nexec QBM_PSessionErrorAdd default if @@TRANCOUNT > 0 BEGIN ROLLBACK TRANSACTION; END RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TIHelperHeadPerson",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "HelperHeadPerson",
      "CreateDate": "2025-06-27T18:01:12.167",
      "ModifyDate": "2026-04-14T23:23:08.353",
      "Definition": "    create   trigger ATT_TIHelperHeadPerson on HelperHeadPerson  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from\r\n inserted) goto start return start: declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('')    declare @RecalcParameter_01 QBM_YCursorBuffer insert\r\n into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select dbo.QBM_FCVElementToObjectKey1('Person', '', i.UID_Person), v.UID_PWODecisionRule, 'A' from\r\n inserted i cross join (values ('ATT-PWODecisionRule-CM') , ('ATT-PWODecisionRule-EM') , ('ATT-PWODecisionRule-XM') , ('ATT-PWODecisionRule-AM') ) as v\r\n (UID_PWODecisionRule) exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default if @@TRANCOUNT\r\n > 0 BEGIN ROLLBACK TRANSACTION; END RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TIPWODecisionRuleRulerDete",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PWODecisionRuleRulerDetect",
      "CreateDate": "2025-06-27T18:01:12.32",
      "ModifyDate": "2026-04-14T23:23:08.473",
      "Definition": "  create   trigger ATT_TIPWODecisionRuleRulerDete  on PWODecisionRuleRulerDetect  for Insert not for Replication as begin  BEGIN TRY if exists (select\r\n top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  declare @DBQueueElements_02\r\n QBM_YDBQueueRaw insert into @DBQueueElements_02(Object, SubObject, GenProcID) select distinct i.UID_PWODecisionRule, null, @GenProcID from inserted i \r\nexec QBM_PDBQueueInsert_bulk 'ATT-K-AttHelperFillMakeProc', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18\r\n, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TIQERUniversalSubstitute",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QERUniversalSubstitute",
      "CreateDate": "2025-06-27T18:01:12.27",
      "ModifyDate": "2026-04-14T23:23:08.77",
      "Definition": "    create   trigger ATT_TIQERUniversalSubstitute on QERUniversalSubstitute  for Insert not for Replication as begin declare @GenProcID varchar(38\r\n) = dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01(object, subobject, genprocid) select x.uid, null, @GenProcID from(  select ac.UID_AttestationCase as uid from inserted\r\n i join AttestationHelper h on i.UID_PersonSender = h.UID_PersonHead join AttestationCase ac on h.UID_AttestationCase = ac.UID_AttestationCase and h.LevelNumber\r\n = ac.DecisionLevel where i.IsCurrentlyActive = 1 and i.UseForAttestation = 1 and ac.IsClosed = 0 ) as x exec QBM_PDBQueueInsert_Bulk 'ATT-K-AttestationHelper'\r\n, @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TRMBDHelperHeadOrg",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "HelperHeadOrg",
      "CreateDate": "2025-06-27T18:01:12.4",
      "ModifyDate": "2026-04-14T23:23:08.35",
      "Definition": "create   trigger ATT_TRMBDHelperHeadOrg on HelperHeadOrg  for delete not for replication as begin  declare @GenProcID varchar(38)   if exists (select\r\n top 1 1 from deleted) goto start goto endLabel start: BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext('')  declare @RecalcParameter_01 QBM_YCursorBuffer\r\n insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select dep.XObjectKey, 'ATT-PWODecisionRule-MO ', 'A' from deleted d join BaseTree dep on d.UID_Org\r\n = dep.UID_Org and dep.UID_OrgRoot = '____[^V]%' exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TRMBIHelperHeadOrg",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "HelperHeadOrg",
      "CreateDate": "2025-06-27T18:01:12.397",
      "ModifyDate": "2026-04-14T23:23:08.35",
      "Definition": " create   trigger ATT_TRMBIHelperHeadOrg on HelperHeadOrg  for insert not for replication as begin  declare @GenProcID varchar(38) if exists (select\r\n top 1 1 from inserted) goto start goto endLabel start: BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext('')    declare @RecalcParameter_01 QBM_YCursorBuffer\r\n insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select dep.XObjectKey, 'ATT-PWODecisionRule-MO ', 'A' from inserted i join BaseTree dep on \r\ni.UID_Org = dep.UID_Org and dep.UID_OrgRoot = '____[^V]%' exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TUAccProduct",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "AccProduct",
      "CreateDate": "2025-06-27T18:01:12.29",
      "ModifyDate": "2026-04-14T23:23:07.85",
      "Definition": "    create   trigger ATT_TUAccProduct on AccProduct  for UPDATE not for Replication as begin  declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start:  if update(UID_OrgAttestator\r\n) begin declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1)  select dbo.QBM_FCVElementToObjectKey1\r\n('Person', '', pio.UID_Person), 'ATT-PWODecisionRule-AN' ,'A' from inserted i join PersonInBaseTree pio on i.UID_OrgAttestator = pio.UID_Org union all \r\nselect dbo.QBM_FCVElementToObjectKey1('Person', '', pio.UID_Person), 'ATT-PWODecisionRule-AN' , 'A' from deleted d join PersonInBaseTree pio on d.UID_OrgAttestator\r\n = pio.UID_Org exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID end  if update(UID_OrgRuler) begin declare @RecalcParameter_03 QBM_YCursorBuffer\r\n insert into @RecalcParameter_03 (ObjectKey1, UID1, Ident1)  select i.XObjectKey , v.UID_PWODecisionRule, 'A' from inserted i cross join ( values ('ARS-AttestationRule-KA'\r\n ) , ('ATT-PWODecisionRule-OA') , ('ATT-PWODecisionRule-EO') ) as v (UID_PWODecisionRule) exec QER_PITShopHelperFill_Recalc @RecalcParameter_03, @GenprocID\r\n end  if update(UID_OrgAttestator) begin declare @RecalcParameter_02 QBM_YCursorBuffer insert into @RecalcParameter_02 (ObjectKey1, UID1, Ident1)  select\r\n i.XObjectKey, 'ATT-PWODecisionRule-OrgATT', 'A' from inserted i exec QER_PITShopHelperFill_Recalc @RecalcParameter_02, @GenprocID end   END TRY BEGIN \r\nCATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TUAccProductGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "AccProductGroup",
      "CreateDate": "2025-06-27T18:01:12.3",
      "ModifyDate": "2026-04-14T23:23:07.853",
      "Definition": "    create   trigger ATT_TUAccProductGroup on AccProductGroup  for UPDATE not for Replication as begin  BEGIN TRY if exists (select top 1 1 from\r\n inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('')  \r\nif update(UID_OrgAttestator) begin    declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1)  select \r\ni.xobjectkey , 'ATT-PWODecisionRule-OrgATT', 'A' from inserted i exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID  end  END TRY BEGIN \r\nCATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TUAttestationCase",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "AttestationCase",
      "CreateDate": "2025-06-27T18:01:12.057",
      "ModifyDate": "2026-04-14T23:23:07.933",
      "Definition": "create   trigger ATT_TUAttestationCase on AttestationCase  for UPDATE not for Replication as begin declare @uid_AttestationCase varchar(38) declare\r\n @DecisionLevelNew int declare @attBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @ElementLast int  BEGIN TRY if \r\nexists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select\r\n @GenProcID = dbo.QBM_FGISessionContext('') if UPDATE (DecisionLevel) begin if exists (select top 1 1 from AttestationCase a join deleted d on a.UID_AttestationCase\r\n = d.UID_AttestationCase and a.DecisionLevel <> d.DecisionLevel join AttestationHelper h on h.UID_AttestationCase = a.UID_AttestationCase and h.LevelNumber\r\n = a.DecisionLevel and h.UID_PWODecisionRule = 'ATT-PWODecisionRule-EX' and h.ReasonHead > ' ' ) begin update AttestationHelper set ReasonHead = '' from\r\n AttestationHelper h join deleted d on h.UID_AttestationCase = d.UID_AttestationCase join AttestationCase a on d.UID_AttestationCase = a.UID_AttestationCase\r\n and a.DecisionLevel = h.LevelNumber and a.DecisionLevel <> d.DecisionLevel and h.UID_PWODecisionRule = 'ATT-PWODecisionRule-EX' and h.ReasonHead > ' '\r\n end end  if update(IsClosed) or update(UID_QERWorkingMethod) begin if exists (select top 1 1  from inserted i where  sign(len(isnull(i.UID_QERWorkingMethod\r\n, ''))) ^ i.IsClosed = 0 ) begin raiserror('#LDS#Invalid combination of IsClosed and QERWorkingMethod.|', 18, 1) with nowait end end if UPDATE(IsUnderConstruction\r\n) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from \r\n( select c.UID_AttestationCase as uid from deleted d join AttestationCase c on d.UID_AttestationCase = c.UID_AttestationCase where d.IsUnderConstruction\r\n = 1 and c.IsUnderConstruction = 0 ) as x exec QBM_PDBQueueInsert_Bulk 'ATT-K-AttestationHelper', @DBQueueElements_01   end if update(IsClosed) or update\r\n(IsGranted) or update(DecisionLevel) begin delete AttestationHelper where UID_PWODecisionRule = 'ATT-PWODecisionRule-QP' and exists (select top 1 1 from\r\n inserted i where i.uid_AttestationCase = AttestationHelper.uid_AttestationCase) end if update(isReserved) begin  delete AttestationHelper where UID_PWOdecisionRule\r\n = 'ATT-PWODecisionRule-QP' and exists (select top 1 1 from deleted d join AttestationCase pwo on d.uid_AttestationCase = pwo.uid_AttestationCase and d.isreserved\r\n = 1 and pwo.isReserved = 0 where pwo.uid_AttestationCase = AttestationHelper.uid_AttestationCase ) end if update(isclosed)  begin declare @DBQueueElements_02\r\n QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select i.UID_AttestationCase as uid\r\n from inserted i ) as x  exec QBM_PDBQueueInsert_Bulk 'ATT-K-AttestationHelper', @DBQueueElements_02 end  if dbo.QBM_FGIColumnUpdatedOthers ('AttestationCase'\r\n, 'isclosed', columns_updated()) = 1 and dbo.QBM_FGIColumnUpdatedOthers ('AttestationCase', 'DecisionLevel', columns_updated()) = 1 and not update(IsUnderConstruction\r\n)  and (update(UID_PersonHead) or update(ReasonHead) or update(DateHead) ) begin declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from (select distinct pwo.uid_AttestationCase as uid from deleted d join AttestationCase\r\n pwo on d.uid_AttestationCase = pwo.uid_AttestationCase where (isnull(d.DateHead, '1899-12-30') <> isnull(pwo.DateHead, '1899-12-30') or isnull(d.ReasonHead\r\n, N'') <> isnull(pwo.ReasonHead, N'') ) and ( isnull(d.UID_PersonHead, '') <> isnull(pwo.UID_PersonHead, '')   or exists (select top 1 1 from AttestationHelper\r\n h where h.uid_AttestationCase = pwo.uid_AttestationCase and h.LevelNumber = pwo.decisionlevel  and (h.UID_PersonAdditional > ' ' or h.UID_PersonInsteadOf\r\n > ' '  or h.Decision = '-' ) ) ) ) as x  exec QBM_PDBQueueInsert_Bulk 'ATT-K-AttestationHelper', @DBQueueElements_03  exec QBM_PDBQueueInsert_Bulk 'ATT-K-AttestationReminder'\r\n, @DBQueueElements_03 end  if update(DecisionLevel) begin delete  @attBuffer  insert into @attBuffer(UID1 , Int1 ) select pwo.uid_Attestationcase, pwo.DecisionLevel\r\n from deleted d join Attestationcase pwo on d.uid_Attestationcase = pwo.uid_Attestationcase where d.DecisionLevel <> pwo.DecisionLevel select @ElementCount\r\n = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top\r\n 1 @uid_AttestationCase = bu.UID1  , @DecisionLevelNew = bu.Int1  from @attBuffer bu where bu.ElementIndex = @ElementIndex   exec ATT_PAttestationResetOneLevel\r\n @uid_Attestationcase, @DecisionLevelNew, @GenProcID    select @ElementIndex += 1 end  declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from (select bu.UID1  as uid from @attBuffer bu ) as x exec QBM_PDBQueueInsert_Bulk 'ATT-K-AttestationHelperNewLevel'\r\n, @DBQueueElements_04 exec QBM_PDBQueueInsert_Bulk 'ATT-K-AttestationCheckValid', @DBQueueElements_04  declare @DBQueueElements_05 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_05 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select pwo.uid_Attestationcase as uid from deleted d join\r\n Attestationcase pwo on d.uid_Attestationcase = pwo.uid_Attestationcase where d.DecisionLevel = pwo.DecisionLevel ) as x exec QBM_PDBQueueInsert_Bulk 'ATT-K-AttestationHelper'\r\n, @DBQueueElements_05 exec QBM_PDBQueueInsert_Bulk 'ATT-K-AttestationCheckValid', @DBQueueElements_05 end      END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TUAttestationObject",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "AttestationObject",
      "CreateDate": "2025-06-27T18:01:12.07",
      "ModifyDate": "2026-04-14T23:23:07.94",
      "Definition": "   create   trigger ATT_TUAttestationObject on AttestationObject for Update not for Replication as begin  declare @ConditionsToCheck QBM_YParameterList\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar\r\n(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(UID_DialogTable) begin  if exists (select top 1 1 from inserted i left outer join DialogColumn\r\n c on i.UID_DialogTable = c.UID_DialogTable and c.ColumnName = 'XObjectKey' where c.columnname is null ) begin  raiserror( '#LDS#Non-valid table selected (no XObjectKey exists).|'\r\n, 18, 2) with nowait end end  if update(PreProcessorCondition) begin  insert into @ConditionsToCheck (ContentFull) select i.PreProcessorCondition from \r\ninserted i exec QBM_PPrePropCheckSyntax @ConditionsToCheck  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject\r\n, genprocid) select x.uid, null, @GenProcID from ( select ao.UID_AttestationObject as uid from deleted i join AttestationObject ao on ao.UID_AttestationObject\r\n = i.UID_AttestationObject where isnull(i.PreProcessorCondition, N'') <> isnull(ao.PreProcessorCondition, N'') ) as x exec QBM_PDBQueueInsert_Bulk 'ATT-K-PrepropAttestationObject'\r\n, @DBQueueElements_01 end  if update(IsDeactivatedByPreProcessor) begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object\r\n, subobject, genprocid) select x.uid, null, @GenProcID from ( select wp.UID_AttestationWizardParm as uid from deleted i join AttestationObject ao on ao.UID_AttestationObject\r\n = i.UID_AttestationObject join AttestationWizardParm wp on wp.UID_AttestationObject = i.UID_AttestationObject where i.IsDeactivatedByPreProcessor <> ao.IsDeactivatedByPreProcessor\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'ATT-K-PrepropAttestationWizardParm', @DBQueueElements_02 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TUAttestationPolicy",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "AttestationPolicy",
      "CreateDate": "2025-06-27T18:01:12.097",
      "ModifyDate": "2026-04-14T23:23:07.943",
      "Definition": "create   trigger ATT_TUAttestationPolicy on AttestationPolicy  for UPDATE not for Replication as begin  declare @SQLToCheck QBM_YParameterList declare\r\n @QER_Attestation_OnWorkflowAssign varchar(16) BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto\r\n start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  if update(WhereClause) begin insert into @SQLToCheck\r\n(Parameter1, ContentFull) select c.XObjectKey, 'select top 1 1 as columnvalue from ' + t.TableName + '\r\n\t\t where (\r\n\t\t ' + c.WhereClause + '\r\n\t\t )' from\r\n inserted c  join AttestationObject o on c.UID_AttestationObject = o.UID_AttestationObject join DialogTable t on o.UID_DialogTable = t.UID_DialogTable \r\nwhere c.WhereClause > ' '  update @SQLToCheck set ContentFull = REPLACE (replace(ContentFull , '@UID_QERPickCategory', '''#''') , '@UID_AttestationPolicy'\r\n, '''#''') exec QBM_PSQLCheckExecutable @SQLToCheck, @RaiseError = 1 end if dbo.QBM_FGIConfigparmValue('QER\\Attestation') = '' begin goto endLabel end \r\nif update(UID_PWODecisionMethod) begin select @QER_Attestation_OnWorkflowAssign = dbo.QBM_FGIConfigparmValue('QER\\Attestation\\OnWorkflowAssign') if @QER_Attestation_OnWorkflowAssign\r\n in ('RESET', 'ABORT') begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01(Object, SubObject, GenProcID) select x.uid, null\r\n, @GenProcID from ( select ac.UID_AttestationCase as uid from AttestationPolicy po join deleted d on po.UID_AttestationPolicy = d.UID_AttestationPolicy\r\n and isnull(po.UID_PWODecisionMethod, '') <> isnull(d.UID_PWODecisionMethod, '') and po.UID_PWODecisionMethod > ' ' join PWODecisionMethod m on d.UID_PWODecisionMethod\r\n = m.UID_PWODecisionMethod join QERWorkingMethod wm on wm.UID_PWODecisionSubMethod = m.UID_SubMethodOrderProduct join AttestationCase ac on ac.UID_QERWorkingMethod\r\n = wm.UID_QERWorkingMethod and ac.IsClosed = 0 ) as x if @QER_Attestation_OnWorkflowAssign = 'RESET' begin exec QBM_PDBQueueInsert_Bulk 'ATT-K-Attestation-RESET'\r\n, @DBQueueElements_01 end if @QER_Attestation_OnWorkflowAssign = 'ABORT' begin exec QBM_PDBQueueInsert_Bulk'ATT-K-Attestation-ABORT', @DBQueueElements_01\r\n end end   declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02(Object, SubObject, GenProcID) select x.uid, null, @GenProcID from\r\n ( select ac.UID_AttestationCase as uid from AttestationPolicy po join deleted d on po.UID_AttestationPolicy = d.UID_AttestationPolicy and isnull(po.UID_PWODecisionMethod\r\n, '') <> isnull(d.UID_PWODecisionMethod, '') and po.UID_PWODecisionMethod is null join PWODecisionMethod m on d.UID_PWODecisionMethod = m.UID_PWODecisionMethod\r\n join QERWorkingMethod wm on wm.UID_PWODecisionSubMethod = m.UID_SubMethodOrderProduct join AttestationCase ac on ac.UID_QERWorkingMethod = wm.UID_QERWorkingMethod\r\n and ac.IsClosed = 0 ) as x exec QBM_PDBQueueInsert_Bulk'ATT-K-Attestation-ABORT', @DBQueueElements_02 end  if update(IsInactive) begin declare @DBQueueElements_03\r\n QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_AttestationPolicy as uid\r\n from inserted ) as x exec QBM_PDBQueueInsert_Bulk 'ATT-K-HelperAttestationPolicy', @DBQueueElements_03 end if UPDATE(UID_AERoleOwner) begin declare @RecalcParameter_01\r\n QBM_YCursorBuffer  insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select dbo.QBM_FCVElementToObjectKey1('AERole', '', i.UID_AERoleOwner), \r\nv.UID_PWODecisionRule, 'A' from inserted i cross join (values ('ATT-PWODecisionRule-PW') ) as v (UID_PWODecisionRule) exec QER_PITShopHelperFill_Recalc\r\n @RecalcParameter_01, @GenprocID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TUAttestationWizardParm",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "AttestationWizardParm",
      "CreateDate": "2025-06-27T18:01:12.13",
      "ModifyDate": "2026-04-14T23:23:07.957",
      "Definition": "  create   trigger ATT_TUAttestationWizardParm on AttestationWizardParm for Update not for Replication as begin  declare @ConditionsToCheck QBM_YParameterList\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar\r\n(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(PreProcessorCondition) begin  insert into @ConditionsToCheck (ContentFull) select i.PreProcessorCondition\r\n from inserted i exec QBM_PPrePropCheckSyntax @ConditionsToCheck  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, \r\nsubobject, genprocid) select x.uid, null, @GenProcID from ( select ao.UID_AttestationWizardParm as uid from deleted i join AttestationWizardParm ao on \r\nao.UID_AttestationWizardParm = i.UID_AttestationWizardParm where isnull(i.PreProcessorCondition, N'') <> isnull(ao.PreProcessorCondition, N'') ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'ATT-K-PrepropAttestationWizardParm', @DBQueueElements_01 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TUBaseTree",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTree",
      "CreateDate": "2025-06-27T18:01:12.227",
      "ModifyDate": "2026-04-14T23:23:07.96",
      "Definition": "create   trigger ATT_TUBaseTree on BaseTree  for UPDATE not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted) goto start\r\n if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  if \r\n update(uid_orgdepartment) or update(uid_orgProfitCenter) or update(UID_orgtype) or update(uid_rulercontainer) or update(uid_rulercontainerIT) or update\r\n(uid_parentorg)  or update(UID_OrgAttestator) begin if exists (select top 1 1 from BaseTree b join deleted d on b.uid_org = d.uid_org where ( isnull(b.UID_RulerContainer\r\n,'') <> isnull(d.UID_RulerContainer,'') or isnull(b.UID_RulerContainerIT,'') <> isnull(d.UID_RulerContainerIT,'') or isnull(b.uid_orgdepartment,'') <> \r\nisnull(d.uid_orgdepartment,'') or isnull(b.uid_orgProfitCenter,'') <> isnull(d.uid_orgProfitCenter,'') or isnull(b.uid_parentorg,'') <> isnull(d.uid_parentorg\r\n,'') or isnull(b.UID_OrgAttestator,'') <> isnull(d.UID_OrgAttestator,'') ) ) begin  exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate', 'ATT-K-AttestationHelper-Cfg'\r\n, '', @GenProcID end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TUDialogConfigParm",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogConfigParm",
      "CreateDate": "2025-06-27T18:01:12.147",
      "ModifyDate": "2026-04-14T23:23:08.047",
      "Definition": " create   trigger ATT_TUDialogConfigParm on DialogConfigParm  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from \r\ninserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if exists (select top 1 1 from dialogconfigparm p join deleted d on p.uid_configparm = d.uid_configparm and ( isnull(d.value,N'') <> isnull(p.value\r\n,N'') or isnull(d.IsEnabledResulting,0)<> isnull(p.IsEnabledResulting,0) ) where p.IsPreprocessorCondition = 1 ) begin  exec QBM_PDBQueueInsert_Single \r\n'QBM-K-CommonReCalculate', 'ATT-K-PrepropAttestationObject', '', @GenProcID exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate', 'ATT-K-PrepropAttestationWizardParm'\r\n, '', @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TUDialogParameter",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogParameter",
      "CreateDate": "2025-06-27T18:01:12.313",
      "ModifyDate": "2026-04-14T23:23:08.12",
      "Definition": " create   trigger ATT_TUDialogParameter on DialogParameter  for update not for replication as begin  declare @GenProcID varchar(38)   if exists \r\n(select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start goto endLabel start: BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if UPDATE(ParameterValue) begin    declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select\r\n dbo.QBM_FCVElementToObjectKey1('Person', '', i.ParameterValue) as ObjectKey , 'ATT-DB3656229AB30E439BAB4F6B23873A0E' as UID_PWODecisionRule, 'A' from \r\ninserted i where i.ParameterName = 'UID_PROPOSED_OWNER' union all select dbo.QBM_FCVElementToObjectKey1('Person', '', i.ParameterValue) as ObjectKey , \r\n'ATT-DB3656229AB30E439BAB4F6B23873A0E' as UID_PWODecisionRule, 'A' from deleted i where i.ParameterName = 'UID_PROPOSED_OWNER' exec QER_PITShopHelperFill_Recalc\r\n @RecalcParameter_01, @GenprocID  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TUDialogTable",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogTable",
      "CreateDate": "2025-06-27T18:01:12.157",
      "ModifyDate": "2026-04-14T23:23:08.17",
      "Definition": "create   trigger ATT_TUDialogTable on DialogTable  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted) goto\r\n start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext(''\r\n) if update(isdeactivatedByPreprocessor) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select distinct ao.UID_AttestationObject as uid from deleted i join dialogTable t on i.UID_DialogTable = t.UID_DialogTable\r\n join AttestationObject ao on ao.UID_DialogTable = t.UID_DialogTable where i.IsDeactivatedByPreProcessor <> t.IsDeactivatedByPreProcessor ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'ATT-K-PrepropAttestationObject', @DBQueueElements_01 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END \r\nCATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TUHardware",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "Hardware",
      "CreateDate": "2025-06-27T18:01:12.263",
      "ModifyDate": "2026-04-14T23:23:08.333",
      "Definition": " create   trigger ATT_TUHardware on Hardware  for Update not for Replication as begin  declare @Parameter nvarchar(1000) declare @GenProcID varchar\r\n(38) = dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return\r\n start: if update(UID_PersonOwner) begin    declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select\r\n dbo.QBM_FCVElementToObjectKey1('Person', 'UID_Person', i.UID_PersonOwner) as ObjectKey , 'ATT-DB3656229AB30E439BAB4F6B23873A0E' as UID_PWODecisionRule\r\n, 'A' from inserted i union all select dbo.QBM_FCVElementToObjectKey1('Person', 'UID_Person', d.UID_PersonOwner) as ObjectKey , 'ATT-DB3656229AB30E439BAB4F6B23873A0E'\r\n as UID_PWODecisionRule, 'A' from deleted d exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TUHelperHeadOrg",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "HelperHeadOrg",
      "CreateDate": "2025-06-27T18:01:12.187",
      "ModifyDate": "2026-04-14T23:23:08.35",
      "Definition": "create   trigger ATT_TUHelperHeadOrg on HelperHeadOrg  for update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted\r\n) goto start return start: declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('') if update(XOrigin) begin    declare @RecalcParameter_01 QBM_YCursorBuffer\r\n insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select bt.XObjectKey, v.Regel, 'A' from deleted d join HelperHeadOrg a on a.UID_Org = d.UID_Org\r\n and a.UID_PersonHead = d.UID_PersonHead and dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, 1, 1) = 1 join BaseTree bt on d.UID_Org = bt.UID_Org\r\n join (values ('ATT-PWODecisionRule-PM', 'QER-V-ProfitCenter') , ('ATT-PWODecisionRule-OM', '____[^V]%') , ('ATT-PWODecisionRule-RM', '%') , ('ATT-PWODecisionRule-RR'\r\n, '%') , ('ATT-PWODecisionRule-LM', 'QER-V-Locality') , ('ATT-PWODecisionRule-DM', 'QER-V-Department') , ('ATT-PWODecisionRule-ED', 'QER-V-Department')\r\n ) as v (Regel, RootMuster) on bt.UID_OrgRoot like v.RootMuster exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID  end  END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TUHelperHeadPerson",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "HelperHeadPerson",
      "CreateDate": "2025-06-27T18:01:12.17",
      "ModifyDate": "2026-04-14T23:23:08.353",
      "Definition": "create   trigger ATT_TUHelperHeadPerson on HelperHeadPerson  for Update not for Replication as begin  declare @SQLcmd nvarchar(1000) declare @uid_personwantsorg\r\n varchar(38) declare @BasisObjectKey varchar(138) declare @UID_PWOStateFinalError nvarchar(64) declare @Parameter nvarchar(1000) BEGIN TRY if exists (select\r\n top 1 1 from deleted) goto start if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = \r\ndbo.QBM_FGISessionContext('') if update(XOrigin) begin    declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1, UID1\r\n, Ident1) select dbo.QBM_FCVElementToObjectKey1('Person', '', d.UID_Person), v.UID_PWODecisionRule, 'A' from deleted d join HelperHeadPerson a on d.XObjectKey\r\n = a.XObjectKey and d.XOrigin > 0 and a.XOrigin = 0 cross join (values ('ATT-PWODecisionRule-CM') , ('ATT-PWODecisionRule-EM') , ('ATT-PWODecisionRule-XM'\r\n) , ('ATT-PWODecisionRule-AM') ) as v (UID_PWODecisionRule) exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID  end END TRY BEGIN CATCH \r\nexec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TUOrgRoot",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "OrgRoot",
      "CreateDate": "2025-06-27T18:01:12.233",
      "ModifyDate": "2026-04-14T23:23:08.42",
      "Definition": "    create   trigger ATT_TUOrgRoot on OrgRoot  for UPDATE not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted) goto \r\nstart if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n if update(UID_OrgAttestator) begin   exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate', 'ATT-K-AttestationHelper', '', @GenProcID end  END TRY \r\nBEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TUPerson",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "Person",
      "CreateDate": "2025-06-27T18:01:12.213",
      "ModifyDate": "2026-04-14T23:23:08.43",
      "Definition": "    create   trigger ATT_TUPerson on Person  for Update not for Replication as begin  declare @Elements QBM_YParameterList declare @XUser nvarchar\r\n(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top\r\n 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('')    if UPDATE(UID_Department) begin declare @RecalcParameter_01\r\n QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select dep.XObjectKey , 'ATT-PWODecisionRule-DM', 'A' from inserted i join\r\n BaseTree dep on i.UID_Department = dep.UID_Org union all select dep.XObjectKey , 'ATT-PWODecisionRule-DM', 'A' from deleted d join BaseTree dep on d.UID_Department\r\n = dep.UID_Org union all  select i.XObjectKey, 'ATT-PWODecisionRule-ED', 'A' from inserted i union all select i.XObjectKey, 'ATT-PWODecisionRule-AD', 'A'\r\n from inserted i exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID end if UPDATE(UID_Locality) begin declare @RecalcParameter_02 QBM_YCursorBuffer\r\n  insert into @RecalcParameter_02 (ObjectKey1, UID1, Ident1) select i.XObjectKey, 'ATT-PWODecisionRule-LM', 'A' from inserted i union all select i.XObjectKey\r\n, 'ATT-PWODecisionRule-AL', 'A' from inserted i exec QER_PITShopHelperFill_Recalc @RecalcParameter_02, @GenprocID end if UPDATE(UID_Profitcenter) begin\r\n declare @RecalcParameter_03 QBM_YCursorBuffer  insert into @RecalcParameter_03 (ObjectKey1, UID1, Ident1) select i.XObjectKey, 'ATT-PWODecisionRule-PM'\r\n, 'A' from inserted i union all select i.XObjectKey, 'ATT-PWODecisionRule-AP', 'A' from inserted i exec QER_PITShopHelperFill_Recalc @RecalcParameter_03\r\n, @GenprocID end  if update(UID_PersonMasterIdentity) begin   exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate', 'ATT-K-AttestationHelper-Cfg', \r\n'', @GenProcID end if update(IsInActive) begin if dbo.QBM_FGIConfigparmValue('QER\\Attestation\\AutoCloseInactivePerson') > ' ' begin insert into @Elements\r\n(Parameter1, Parameter3) select distinct ac.XObjectKey, ac.UID_AttestationCase from Person p join deleted d on p.UID_Person = d.UID_Person and p.IsInActive\r\n = 1 and d.IsInActive = 0 join AttestationCase ac on p.XObjectKey in (ac.ObjectKey1, ac.ObjectKeyBase , ac.ObjectKey2 , ac.ObjectKey3 ) where ac.IsClosed\r\n = 0  exec QBM_PJobCreate_HOUpdate_L 'AttestationCase', @elements, @GenProcID , DEFAULT , @p1 = 'IsClosed' , @v1 = '1'  update AttestationCase set ReasonHead\r\n = '#LDS#Automatic system approval: Case closed due to identity becoming inactive.|' , DateHead = @Xdate , XDateUpdated = @Xdate , XUserUpdated = @XUser\r\n from AttestationCase ac join @Elements e on ac.XObjectKey = e.Parameter1 update @Elements set Parameter2 = NEWID()  insert into AttestationHistory (DecisionType\r\n, IsDecisionBySystem, UID_AttestationHistory, UID_PersonHead, UID_AttestationCase, DisplayPersonHead, ReasonHead, DateHead, XDateInserted, XDateUpdated\r\n, XUserInserted, XUserUpdated, DecisionLevel, XTouched, XObjectKey) select 'Abort', 1, e.Parameter2 as UID_AttestationHistory, null, e.Parameter3 as UID_AttestationCase\r\n, dbo.QBM_FCVStringTrimLDSPrefix('#LDS#Automatic system approval.|') , dbo.QBM_FCVStringTrimLDSPrefix('#LDS#Automatic system approval: Case closed due to identity becoming inactive.|'\r\n), GetUTCDate(), @Xdate, @Xdate, @XUser, @XUser, 0, '', dbo.QBM_FCVElementToObjectKey1('AttestationHistory', 'UID_AttestationHistory', e.Parameter2) from\r\n @Elements e  end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select distinct ph.UID_AttestationCase as uid from deleted d join Person p on d.UID_Person = p.UID_Person join AttestationHelper ph on ph.UID_PersonHead\r\n = p.UID_Person where d.IsInActive = 0 and p.IsInActive = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'ATT-K-AttestationHelper', @DBQueueElements_01  end  if\r\n UPDATE(UID_PersonHead) begin declare @RecalcParameter_04 QBM_YCursorBuffer insert into @RecalcParameter_04 (ObjectKey1, UID1, Ident1)  select i.XObjectKey\r\n, 'ATT-PWODecisionRule-XM', 'A' from inserted i exec QER_PITShopHelperFill_Recalc @RecalcParameter_04, @GenprocID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TUPWODecisionMethod",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PWODecisionMethod",
      "CreateDate": "2025-06-27T18:01:12.24",
      "ModifyDate": "2026-04-14T23:23:08.47",
      "Definition": "    create   trigger ATT_TUPWODecisionMethod on PWODecisionMethod for Update not for Replication as begin  declare @QER_Attestation_OnWorkflowAssign\r\n varchar(16) BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID\r\n varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(UID_SubMethodOrderProduct) begin select @QER_Attestation_OnWorkflowAssign = dbo.QBM_FGIConfigparmValue\r\n('QER\\Attestation\\OnWorkflowAssign') if @QER_Attestation_OnWorkflowAssign in ('RESET', 'ABORT') begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01(Object, SubObject, GenProcID) select x.uid, null, @GenProcID from ( select ac.UID_AttestationCase as uid from PWODecisionMethod\r\n m join deleted d on m.UID_PWODecisionMethod = d.UID_PWODecisionMethod and isnull(m.UID_SubMethodOrderProduct, '') <> isnull(d.UID_SubMethodOrderProduct\r\n, '') join QERWorkingMethod wm on wm.UID_PWODecisionSubMethod = d.UID_SubMethodOrderProduct  join AttestationCase ac on ac.UID_QERWorkingMethod = wm.UID_QERWorkingMethod\r\n and ac.IsClosed = 0 ) as x if @QER_Attestation_OnWorkflowAssign = 'RESET' begin exec QBM_PDBQueueInsert_Bulk 'ATT-K-Attestation-RESET', @DBQueueElements_01\r\n end if @QER_Attestation_OnWorkflowAssign = 'ABORT' begin exec QBM_PDBQueueInsert_Bulk'ATT-K-Attestation-ABORT', @DBQueueElements_01 end end  end  END \r\nTRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TUPWODecisionRuleRulerDete",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PWODecisionRuleRulerDetect",
      "CreateDate": "2025-06-27T18:01:12.323",
      "ModifyDate": "2026-04-14T23:23:08.473",
      "Definition": "create   trigger ATT_TUPWODecisionRuleRulerDete  on PWODecisionRuleRulerDetect for Update not for Replication as begin  BEGIN TRY if exists (select\r\n top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = \r\ndbo.QBM_FGISessionContext('') declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02(Object, SubObject, GenProcID) select distinct\r\n i.UID_PWODecisionRule, null, @GenProcID from inserted i exec QBM_PDBQueueInsert_bulk 'ATT-K-AttHelperFillMakeProc', @DBQueueElements_02 END TRY BEGIN \r\nCATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TUPWODecisionSubmethod",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PWODecisionSubMethod",
      "CreateDate": "2025-06-27T18:01:12.253",
      "ModifyDate": "2026-04-14T23:23:08.48",
      "Definition": "    create   trigger ATT_TUPWODecisionSubmethod on PWODecisionSubmethod for Update not for Replication as begin  declare @QER_Attestation_OnWorkflowUpdate\r\n varchar(16) BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID\r\n varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  if update(RevisionNumber) begin select @QER_Attestation_OnWorkflowUpdate = dbo.QBM_FGIConfigparmValue\r\n('QER\\Attestation\\OnWorkflowUpdate') if @QER_Attestation_OnWorkflowUpdate in ('RESET', 'ABORT') begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01(Object, SubObject, GenProcID) select x.uid, null, @GenProcID from ( select ac.UID_AttestationCase as uid from PWODecisionSubmethod\r\n sm join deleted d on sm.UID_PWODecisionSubMethod = d.UID_PWODecisionSubMethod and sm.RevisionNumber <> d.RevisionNumber join QERWorkingMethod wm on wm.UID_PWODecisionSubMethod\r\n = sm.UID_PWODecisionSubMethod join AttestationCase ac on ac.UID_QERWorkingMethod = wm.UID_QERWorkingMethod ) as x if @QER_Attestation_OnWorkflowUpdate\r\n = 'RESET' begin exec QBM_PDBQueueInsert_Bulk 'ATT-K-Attestation-RESET', @DBQueueElements_01 end if @QER_Attestation_OnWorkflowUpdate = 'ABORT' begin exec\r\n QBM_PDBQueueInsert_Bulk 'ATT-K-Attestation-ABORT', @DBQueueElements_01 end end  end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (''\r\n, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TUQERAssign",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QERAssign",
      "CreateDate": "2025-06-27T18:01:12.347",
      "ModifyDate": "2026-04-14T23:23:08.713",
      "Definition": "    create   trigger ATT_TUQERAssign on QERAssign  for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(UID_AccProduct\r\n) begin   declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select a.XObjectKey , 'ATT-PWODecisionRule-OrgATT'\r\n, 'A' from AccProduct a join inserted i on a.UID_AccProduct = i.UID_AccProduct union all select a.XObjectKey , 'ATT-PWODecisionRule-OrgATT', 'A' from AccProduct\r\n a join deleted d on a.UID_AccProduct = d.UID_AccProduct exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID end  END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TUQERResource",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QERResource",
      "CreateDate": "2025-06-27T18:01:12.337",
      "ModifyDate": "2026-04-14T23:23:08.75",
      "Definition": "    create   trigger ATT_TUQERResource on QERResource  for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(UID_AccProduct\r\n) begin   declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select a.XObjectKey , 'ATT-PWODecisionRule-OrgATT'\r\n, 'A' from AccProduct a join inserted i on a.UID_AccProduct = i.UID_AccProduct union all select a.XObjectKey , 'ATT-PWODecisionRule-OrgATT', 'A' from AccProduct\r\n a join deleted d on a.UID_AccProduct = d.UID_AccProduct exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID end  END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TUQERReuse",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QERReuse",
      "CreateDate": "2025-06-27T18:01:12.357",
      "ModifyDate": "2026-04-14T23:23:08.753",
      "Definition": "    create   trigger ATT_TUQERReuse on QERReuse  for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(UID_AccProduct\r\n) begin   declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select a.XObjectKey , 'ATT-PWODecisionRule-OrgATT'\r\n, 'A' from AccProduct a join inserted i on a.UID_AccProduct = i.UID_AccProduct union all select a.XObjectKey , 'ATT-PWODecisionRule-OrgATT', 'A' from AccProduct\r\n a join deleted d on a.UID_AccProduct = d.UID_AccProduct exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID end  END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TUQERReuseUS",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QERReuseUS",
      "CreateDate": "2025-06-27T18:01:12.367",
      "ModifyDate": "2026-04-14T23:23:08.757",
      "Definition": "    create   trigger ATT_TUQERReuseUS on QERReuseUS  for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(UID_AccProduct\r\n) begin   declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select a.XObjectKey , 'ATT-PWODecisionRule-OrgATT'\r\n, 'A' from AccProduct a join inserted i on a.UID_AccProduct = i.UID_AccProduct union all select a.XObjectKey , 'ATT-PWODecisionRule-OrgATT', 'A' from AccProduct\r\n a join deleted d on a.UID_AccProduct = d.UID_AccProduct exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID end  END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TUQERUniversalSubstitute",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QERUniversalSubstitute",
      "CreateDate": "2025-06-27T18:01:12.273",
      "ModifyDate": "2026-04-14T23:23:08.77",
      "Definition": "create   trigger ATT_TUQERUniversalSubstitute on QERUniversalSubstitute  for Update not for Replication as begin declare @GenProcID varchar(38) \r\n= dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return\r\n start: if update(IsCurrentlyActive) or UPDATE(UseForAttestation) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01(object\r\n, subobject, genprocid) select x.uid, null, @GenProcID from(  select ac.UID_AttestationCase as uid from deleted d join QERUniversalSubstitute su on d.UID_QERUniversalSubstitute\r\n = su.UID_QERUniversalSubstitute join AttestationHelper h on su.UID_PersonReceiver = h.UID_PersonHead join AttestationCase ac on h.UID_AttestationCase \r\n= ac.UID_AttestationCase and h.LevelNumber = ac.DecisionLevel where( (d.IsCurrentlyActive = 1 and su.IsCurrentlyActive = 0) or (d.UseForAttestation = 1\r\n and su.UseForAttestation = 0) ) and ac.IsClosed = 0 union  select ac.UID_AttestationCase as uid from deleted d join QERUniversalSubstitute su on d.UID_QERUniversalSubstitute\r\n = su.UID_QERUniversalSubstitute join AttestationHelper h on d.UID_PersonSender = h.UID_PersonHead join AttestationCase ac on h.UID_AttestationCase = ac.UID_AttestationCase\r\n and h.LevelNumber = ac.DecisionLevel where( (d.IsCurrentlyActive = 0 and su.IsCurrentlyActive = 1 ) or (d.UseForAttestation = 0 and su.UseForAttestation\r\n = 1) ) and ac.IsClosed = 0 ) as x exec QBM_PDBQueueInsert_Bulk 'ATT-K-AttestationHelper' , @DBQueueElements_01 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "ATT_TURMBPerson",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "Person",
      "CreateDate": "2025-06-27T18:01:12.387",
      "ModifyDate": "2026-04-14T23:23:08.43",
      "Definition": "    create   trigger ATT_TURMBPerson on Person  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted) goto\r\n start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('')   if update(uid_Org\r\n) begin    declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select i.XObjectKey, 'ATT-PWODecisionRule-MO'\r\n, 'A' from inserted i insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select i.XObjectKey, 'ATT-PWODecisionRule-AO', 'A' from inserted i exec\r\n QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT\r\n END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_TDComplianceRule",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ComplianceRule",
      "CreateDate": "2025-06-27T18:01:18.107",
      "ModifyDate": "2026-04-14T23:23:08.017",
      "Definition": "create   trigger CPL_TDComplianceRule on ComplianceRule  for Delete not for Replication as begin  if exists (select top 1 1 from deleted) goto start\r\n return start: BEGIN TRY declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  declare @errno int declare @errmsg nvarchar(255\r\n) declare @UID_NonCompliance varchar(38) declare @whereclause nvarchar(1024)  if exists (select top 1 1 from deleted r where r.IsInactive = 0 and r.IsWorkingCopy\r\n = 0 ) begin  raiserror( '#LDS#Enabled compliance rules cannot be deleted.|', 18, 3) with nowait end if exists (select top 1 1 from deleted r join personInBaseTree\r\n pio on r.UID_NonCompliance = pio.uid_org and pio.XOrigin > 0  and r.IsWorkingCopy = 0 and r.IsInactive = 0 ) begin  raiserror( '#LDS#Compliance rules cannot be deleted after disabling until there are no more violations.|'\r\n, 18, 3) with nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null\r\n, @GenProcID from ( select d.uid_ComplianceRule as uid from deleted d ) as x exec QBM_PDBQueueInsert_Bulk 'CPL-K-ComplianceCheckMakeProc', @DBQueueElements_01\r\n update PersonInBaseTree set XOrigin = 0 where uid_org in (select d.UID_NonCompliance from deleted d where d.IsWorkingCopy = 0 ) delete PersonInBaseTree\r\n where uid_org in (select d.UID_NonCompliance from deleted d where d.IsWorkingCopy = 0 ) delete BaseTree from BaseTree b join deleted d on b.UID_Org = \r\nd.UID_NonCompliance left outer join ComplianceRule r on d.UID_NonCompliance = r.UID_NonCompliance  and r.UID_ComplianceRule <> d.UID_ComplianceRule where\r\n r.UID_NonCompliance is null    END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_TDHelperPWOCompliance",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "HelperPWOCompliance",
      "CreateDate": "2025-06-27T18:01:18.127",
      "ModifyDate": "2026-04-14T23:23:08.357",
      "Definition": "  create   trigger CPL_TDHelperPWOCompliance on HelperPWOCompliance  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 \r\n1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  declare @errno int declare @errmsg\r\n nvarchar(255) declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from (select distinct d.UID_PersonWantsOrg as uid from deleted d ) as x  exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackPWOHelperPWO', @DBQueueElements_01\r\n  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_TDPersonHasObject",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PersonHasObject",
      "CreateDate": "2025-06-27T18:01:18.183",
      "ModifyDate": "2026-04-14T23:23:08.437",
      "Definition": "create   trigger CPL_TDPersonHasObject on PersonHasObject  for delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if '1' = dbo.QBM_FGIConfigparmValue('QER\\ComplianceCheck\\CalculateImmediately'\r\n)  begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from\r\n ( select distinct m.uid_person as uid from deleted m ) as x exec QBM_PDBQueueInsert_Bulk 'CPL-K-ComplianceCheckForPerson', @DBQueueElements_01 end END\r\n TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_TIComplianceRule",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ComplianceRule",
      "CreateDate": "2025-06-27T18:01:18.087",
      "ModifyDate": "2026-04-14T23:23:08.017",
      "Definition": "    create   trigger CPL_TIComplianceRule on ComplianceRule  for Insert not for Replication as begin  declare @SQLToCheck QBM_YParameterList BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n  insert into @SQLToCheck(Parameter1, ContentFull) select c.XObjectKey, 'select top 1 1 as columnvalue from ' + 'Person' + '\r\n\t\t where ( \r\n\t\t ' + c.WhereClause\r\n + '\r\n\t\t )' from inserted c  where c.WhereClause > ' ' and c.IsSimpleMode = 0  insert into @SQLToCheck(Parameter1, ContentFull) select c.XObjectKey, 'select top 1 1 as columnvalue from '\r\n + 'Person' + '\r\n\t\t where (\r\n\t\t ' + c.WhereClausePerson + '\r\n\t\t )' from inserted c  where c.WhereClausePerson > ' ' exec QBM_PSQLCheckExecutable @SQLToCheck\r\n, @RaiseError = 1 declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select i.uid_ComplianceRule as uid from inserted i where  isnull(IsInactive,0) = 0 ) as x exec QBM_PDBQueueInsert_Bulk 'CPL-K-ComplianceSubRuleFillPerson'\r\n, @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select i.uid_ComplianceRule as uid from inserted i where isnull(IsInactive,0) = 0 and isnull(IsWorkingCopy,0) = 0 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'CPL-K-ComplianceCheckMakeProc', @DBQueueElements_02 exec QBM_PDBQueueInsert_Bulk 'CPL-K-ComplianceCheckForRule', @DBQueueElements_02    END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_TIComplianceSubRule",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ComplianceSubRule",
      "CreateDate": "2025-06-27T18:01:18.117",
      "ModifyDate": "2026-04-14T23:23:08.02",
      "Definition": "    create   trigger CPL_TIComplianceSubRule on ComplianceSubRule  for Insert not for Replication as begin  declare @SQLToCheck QBM_YParameterList\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('')  insert into @SQLToCheck(Parameter1, ContentFull) select c.XObjectKey, c.WhereClause from inserted c  where c.WhereClause > ' ' exec QBM_PSQLCheckExecutable\r\n @SQLToCheck, @RaiseError = 1 declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, \r\nnull, @GenProcID from ( select i.uid_ComplianceSubRule as uid from inserted i ) as x exec QBM_PDBQueueInsert_Bulk 'CPL-K-ComplianceSubRuleFillObject', \r\n@DBQueueElements_01  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_TIHelperPWOCompliance",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "HelperPWOCompliance",
      "CreateDate": "2025-06-27T18:01:18.13",
      "ModifyDate": "2026-04-14T23:23:08.357",
      "Definition": "create   trigger CPL_TIHelperPWOCompliance on HelperPWOCompliance  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 \r\nfrom inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  declare @errno int declare @errmsg\r\n nvarchar(255) declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from (select distinct i.UID_PersonWantsOrg as uid from inserted i ) as x  exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackPWOHelperPWO', @DBQueueElements_01\r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_TIPerson",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "Person",
      "CreateDate": "2025-06-27T18:01:18.147",
      "ModifyDate": "2026-04-14T23:23:08.43",
      "Definition": "    create   trigger CPL_TIPerson on Person  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted) goto start\r\n return start: declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('') declare @ValidRules QBM_YParameterList insert into @ValidRules (Parameter1\r\n) select r.UID_ComplianceRule  from ComplianceRule r where r.IsInactive = 0 and r.IsWorkingCopy = 0 and ( r.IsPersonStoreInverted = 0 or (r.IsPersonStoreInverted\r\n = 1 and N'1=1' <> replace(trim(isnull(r.WhereClausePerson, N'1=1'))  , N' '  , N'') ) )  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, x.UID_Person, @GenProcID from ( select c.Parameter1 as uid, i.UID_Person from inserted i , @ValidRules c \r\n) as x exec QBM_PDBQueueInsert_Bulk 'CPL-K-ComplianceSubRuleFillPersonS', @DBQueueElements_01   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_TIPersonHasObject",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PersonHasObject",
      "CreateDate": "2025-06-27T18:01:18.183",
      "ModifyDate": "2026-04-14T23:23:08.437",
      "Definition": "  create   trigger CPL_TIPersonHasObject on PersonHasObject  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if '1' = dbo.QBM_FGIConfigparmValue('QER\\ComplianceCheck\\CalculateImmediately'\r\n)  begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from\r\n ( select distinct m.uid_person as uid from inserted m ) as x exec QBM_PDBQueueInsert_Bulk 'CPL-K-ComplianceCheckForPerson', @DBQueueElements_01 end END\r\n TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_TIPersonInBaseTree",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PersonInBaseTree",
      "CreateDate": "2025-06-27T18:01:18.17",
      "ModifyDate": "2026-04-14T23:23:08.45",
      "Definition": "    create   trigger CPL_TIPersonInBaseTree on PersonInBaseTree  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from\r\n inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  if dbo.QBM_FGIConfigparmValue('QER\\ComplianceCheck\\DisableSelfExceptionGranting'\r\n) = '1' begin if exists (select top 1 1 from inserted i join BaseTree b on i.uid_org = b.uid_org and b.uid_orgRoot = 'CPL-V-NonCompliance' join QER_VPersonsAreMe\r\n me on i.UID_PersonDecisionMade = me.UID_PersonOrigin and i.UID_Person = me.UID_PersonAlsoMe where i.IsDecisionMade = 1 and i.IsExceptionGranted = 1 ) \r\nbegin raiserror( '#LDS#Cannot make assignment because not permitted according to configuration of DisableSelfExceptionGranting.|', 18, 3) with nowait end\r\n end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_TUATTComplianceRule",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ComplianceRule",
      "CreateDate": "2025-06-27T18:01:18.207",
      "ModifyDate": "2026-04-14T23:23:08.017",
      "Definition": " create   trigger CPL_TUATTComplianceRule on ComplianceRule  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') declare @errno int declare @errmsg nvarchar(255)  if update(UID_OrgAttestator) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select ac.UID_attestationcase as uid from inserted i join attestationcase ac on ac.ObjectkeyBase\r\n = i.XObjectKey join AttestationHelper ah on ac.uid_attestationCase = ah.uid_attestationcase and ah.UID_PWODecisionRule in ('CPL-PWODecisionRule-AR') union\r\n select ac.UID_attestationcase as uid from inserted i join personinBaseTree  pin on i.uid_NonCompliance = pin.uid_org  and pin.XOrigin > 0 join attestationcase\r\n ac on ac.ObjectkeyBase = pin.XObjectKey join AttestationHelper ah on ac.uid_attestationCase = ah.uid_attestationcase and ah.UID_PWODecisionRule in ('CPL-PWODecisionRule-AR'\r\n) ) as x  exec QBM_PDBQueueInsert_Bulk 'ATT-K-AttestationHelper', @DBQueueElements_01 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_TUComplianceRule",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ComplianceRule",
      "CreateDate": "2025-06-27T18:01:18.1",
      "ModifyDate": "2026-04-14T23:23:08.017",
      "Definition": "create   trigger CPL_TUComplianceRule on ComplianceRule  for Update not for Replication as begin  declare @SQLToCheck QBM_YParameterList declare\r\n @CursorBuffer QBM_YParameterList declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() BEGIN TRY if exists (select\r\n top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = \r\ndbo.QBM_FGISessionContext('') declare @errno int declare @errmsg nvarchar(255) declare @UID_NonCompliance varchar(38) declare @UID_ComplianceRule varchar\r\n(38) declare @WhereClause nvarchar(1024)  if update(WhereClause) or update(WhereClausePerson) begin insert into @SQLToCheck(Parameter1, ContentFull) select\r\n c.XObjectKey, 'select top 1 1 as columnvalue from ' + 'Person' + '\r\n\t\t where (\r\n\t\t ' + c.WhereClause + '\r\n\t\t )' from inserted c  where c.WhereClause >\r\n ' ' and c.IsSimpleMode = 0   insert into @SQLToCheck(Parameter1, ContentFull) select c.XObjectKey, 'select top 1 1 as columnvalue from ' + 'Person' + \r\n'\r\n\t\t where (\r\n\t\t ' + c.WhereClausePerson + '\r\n\t\t )' from inserted c  where c.WhereClausePerson > ' ' exec QBM_PSQLCheckExecutable @SQLToCheck, @RaiseError\r\n = 1 end if update(WhereClausePerson)  or update(IsInactive) or update(IsWorkingCopy) or update(IsPersonStoreInverted)  begin declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select i.uid_ComplianceRule as uid\r\n from inserted i ) as x exec QBM_PDBQueueInsert_Bulk 'CPL-K-ComplianceSubRuleFillPerson', @DBQueueElements_01 end if update(IsSimpleMode) or update(IsInactive\r\n) or update(IsWorkingCopy) begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid\r\n, null, @GenProcID from ( select s.uid_ComplianceSubRule as uid from inserted i join ComplianceSubrule s on i.uid_complianceRule = s.uid_complianceRule\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'CPL-K-ComplianceSubRuleFillObject', @DBQueueElements_02 end  if (update(WhereClause) or update(UID_NonCompliance)\r\n or update(UID_OrgRuler) or update(IsExceptionAllowed) or update(RuleSeverity)  or update(DetectRuleTypeForPWO) or update(isToGrantEver) or update(IsCrossPersonCheck\r\n)  or update(IsSimpleMode) ) and  ( update(IsInactive) or exists (select top 1 1 from inserted where isnull(IsInactive, 0) = 0 and isnull(IsWorkingCopy\r\n, 0) = 0 ) ) begin declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select t.UID_ComplianceRule as uid from ComplianceRule t join deleted d on t.UID_ComplianceRule = d.UID_ComplianceRule ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'CPL-K-ComplianceCheckMakeProc', @DBQueueElements_03 end   if (update(WhereClause) or update(IsInactive) or update(UID_NonCompliance) or update(IsExceptionAllowed\r\n)  or update(DetectRuleTypeForPWO) or update(isToGrantEver) or update(IsCrossPersonCheck)  or update(IsWorkingCopy)  or update(IsCrossPersonCheck) or update\r\n(IsSimpleMode) ) begin declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select t.UID_ComplianceRule as uid from ComplianceRule t join deleted d on t.UID_ComplianceRule = d.UID_ComplianceRule ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'CPL-K-ComplianceCheckMakeProc', @DBQueueElements_04  declare @DBQueueElements_05 QBM_YDBQueueRaw insert into @DBQueueElements_05 (object, subobject, \r\ngenprocid) select x.uid, null, @GenProcID from ( select t.UID_ComplianceRule as uid from ComplianceRule t join deleted d on t.UID_ComplianceRule = d.UID_ComplianceRule\r\n where isnull(t.IsInactive, 0) = 0 and isnull(t.IsWorkingCopy, 0) = 0 ) as x exec QBM_PDBQueueInsert_Bulk 'CPL-K-ComplianceCheckForRule', @DBQueueElements_05\r\n end    if update(UID_NonCompliance) or update(IsInActive) or update(IsWorkingCopy) begin update PersonInBaseTree set XOrigin = pio.XOrigin & dbo.QBM_FGIBitPatternXOrigin\r\n('|Dynamic|', 1)    , XDateUpdated = @Xdate , XUserUpdated = @XUser from PersonInBaseTree pio join ( select distinct d.UID_NonCompliance from deleted d\r\n join ComplianceRule r on d.uid_ComplianceRule = r.uid_ComplianceRule where isnull(d.UID_NonCompliance,'') <> isnull(r.UID_NonCompliance,'') or (isnull\r\n(d.IsInActive, 0) = 0 and isnull(r.IsInActive, 0) = 1) or (isnull(d.IsWorkingCopy, 0) = 0 and isnull(r.IsWorkingCopy, 0) = 1) ) as x on pio.UID_Org = x.UID_NonCompliance\r\n end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_TUComplianceSubRule",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ComplianceSubRule",
      "CreateDate": "2025-06-27T18:01:18.12",
      "ModifyDate": "2026-04-14T23:23:08.02",
      "Definition": "create   trigger CPL_TUComplianceSubRule on ComplianceSubRule  for Update not for Replication as begin  declare @SQLToCheck QBM_YParameterList BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38\r\n) select @GenProcID = dbo.QBM_FGISessionContext('')  if update(WhereClause) begin insert into @SQLToCheck(Parameter1, ContentFull) select c.XObjectKey,\r\n c.WhereClause from inserted c  where c.WhereClause > ' ' exec QBM_PSQLCheckExecutable @SQLToCheck, @RaiseError = 1 end if update(WhereClause) begin declare\r\n @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select i.uid_ComplianceSubRule\r\n as uid from inserted i ) as x exec QBM_PDBQueueInsert_Bulk 'CPL-K-ComplianceSubRuleFillObject', @DBQueueElements_01 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_TUDialogConfigParm",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogConfigParm",
      "CreateDate": "2025-06-27T18:01:18.137",
      "ModifyDate": "2026-04-14T23:23:08.047",
      "Definition": " create   trigger CPL_TUDialogConfigParm on DialogConfigParm  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from \r\ninserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if exists (select top 1 1 from dialogconfigparm p join deleted d on p.uid_configparm = d.uid_configparm and ( isnull(d.value,N'') <> isnull(p.value\r\n,N'') or isnull(d.IsEnabledResulting,0)<> isnull(p.IsEnabledResulting,0) ) where p.IsPreprocessorCondition = 1 ) begin  exec QBM_PDBQueueInsert_Single \r\n'QBM-K-CommonReCalculate', 'CPL-K-ComplianceCheckMakeProc', '', @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18,\r\n 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_TUPerson",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "Person",
      "CreateDate": "2025-06-27T18:01:18.157",
      "ModifyDate": "2026-04-14T23:23:08.43",
      "Definition": "create   trigger CPL_TUPerson on Person  for Update not for Replication as begin  declare @Parameter nvarchar(1000) declare @QBM_BitPatternXMarkedForDel_Delay\r\n int = dbo.QBM_FGIBitPatternXMarkedForDel('|Delay|', 0)  BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted\r\n) goto start return start: declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('') declare @ValidRules QBM_YParameterList  if dbo.QBM_FGIColumnUpdatedOthers\r\n ('Person', 'XTouched', columns_updated()) = 1 and (dbo.QBM_FGIColumnUpdatedOthers ('Person', 'XMarkedForDeletion', columns_updated()) = 1 or exists (select\r\n top 1 1 from deleted i join person p on i.uid_person = p.uid_person  where  sign(i.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay) <> sign(p.XMarkedForDeletion\r\n & @QBM_BitPatternXMarkedForDel_Delay) ) ) begin   if '1' = dbo.QBM_FGIConfigparmValue('QER\\ComplianceCheck\\CalculateImmediately')  begin insert into @ValidRules\r\n (Parameter1) select r.UID_ComplianceRule  from ComplianceRule r where r.IsInactive = 0 and r.IsWorkingCopy = 0 and ( r.IsPersonStoreInverted = 0 or (r.IsPersonStoreInverted\r\n = 1 and N'1=1' <> replace(trim(isnull(r.WhereClausePerson, N'1=1'))  , N' '  , N'') ) ) declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, x.UID_Person, @GenProcID from ( select c.Parameter1 as uid, i.UID_Person from inserted i , @ValidRules c \r\n) as x exec QBM_PDBQueueInsert_Bulk 'CPL-K-ComplianceSubRuleFillPersonS', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select m.uid_person as uid from deleted m     ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'CPL-K-ComplianceCheckForPerson', @DBQueueElements_02 end end if update(uid_department) or update(uid_ProfitCenter) or update(uid_Locality)  begin  select\r\n @Parameter = '|' +  'CPL-PWODecisionRule-OC|' +  'CPL-PWODecisionRule-OH|'  exec QER_PITShopHelperFillAll @Parameter, @GenProcID end END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "CPL_TUPersonInBaseTree",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PersonInBaseTree",
      "CreateDate": "2025-06-27T18:01:18.173",
      "ModifyDate": "2026-04-14T23:23:08.45",
      "Definition": "create   trigger CPL_TUPersonInBaseTree on PersonInBaseTree  for Update not for Replication as begin   declare @XUser nvarchar(64) = object_name\r\n(@@procid) declare @Xdate datetime = getutcdate() BEGIN TRY if exists (select top 1 1 from deleted) goto start if exists (select top 1 1 from inserted)\r\n goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(IsDecisionMade) or update(IsExceptionGranted\r\n) or update(UID_PersonDecisionMade) begin if dbo.QBM_FGIConfigparmValue('QER\\ComplianceCheck\\DisableSelfExceptionGranting') = '1' begin if exists (select\r\n top 1 1 from deleted i join personInBaseTree pio on i.XObjectKey = pio.XObjectKey join BaseTree b on pio.uid_org = b.uid_org and b.uid_orgRoot = 'CPL-V-NonCompliance'\r\n join QER_VPersonsAreMe me on pio.UID_PersonDecisionMade = me.UID_PersonOrigin and pio.UID_Person = me.UID_PersonAlsoMe where pio.IsDecisionMade = 1 and\r\n pio.IsExceptionGranted = 1 ) begin raiserror( '#LDS#Cannot make assignment because not permitted according to configuration of DisableSelfExceptionGranting.|'\r\n, 18, 3) with nowait end end end   if update(XOrigin) begin if exists (select top 1 1 from deleted d join PersonInBaseTree pio on d.XObjectKey = pio.XObjectKey\r\n join BaseTree b on pio.UID_Org = b.UID_Org and b.UID_OrgRoot = 'CPL-V-NonCompliance' where d.XOrigin > 0 and pio.XOrigin = 0 ) begin   delete PersonInNCHasMControl\r\n from PersonInNCHasMControl pmc join deleted d on pmc.ObjectKeyPersonInNonCompliance = d.XObjectKey join PersonInBaseTree pio on d.XObjectKey = pio.XObjectKey\r\n join BaseTree b on pio.UID_Org = b.UID_Org and b.UID_OrgRoot = 'CPL-V-NonCompliance' where d.XOrigin > 0 and pio.XOrigin = 0 and pmc.UID_PersonWantsOrg\r\n is null   update PersonInNCHasMControl set IsInActive = 1  , XDateUpdated = @Xdate , XUserUpdated = @XUser from PersonInNCHasMControl pmc join deleted\r\n d on pmc.ObjectKeyPersonInNonCompliance = d.XObjectKey join PersonInBaseTree pio on d.XObjectKey = pio.XObjectKey join BaseTree b on pio.UID_Org = b.UID_Org\r\n and b.UID_OrgRoot = 'CPL-V-NonCompliance' where d.XOrigin > 0 and pio.XOrigin = 0 and pmc.UID_PersonWantsOrg > ' ' end end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "DPR_TDDPRNameSpaceHasDialogTab",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DPRNameSpaceHasDialogTable",
      "CreateDate": "2025-06-27T18:01:03.203",
      "ModifyDate": "2026-04-14T23:23:08.223",
      "Definition": "  create   trigger DPR_TDDPRNameSpaceHasDialogTab on DPRNameSpaceHasDialogTable  for Delete not for Replication as begin  BEGIN TRY if exists (select\r\n top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select dbo.QBM_FGITableName(x.uid), null, @GenProcID from (select d.UID_DialogTable\r\n as UID from deleted d ) as x exec QBM_PDBQueueInsert_Bulk 'DPR-K-TriggerCreateMembership', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "DPR_TDDPRProjectionConfigStep",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DPRProjectionConfigStep",
      "CreateDate": "2025-06-27T18:01:03.173",
      "ModifyDate": "2026-04-14T23:23:08.233",
      "Definition": " create   trigger DPR_TDDPRProjectionConfigStep on DPRProjectionConfigStep  for delete not for replication as begin  BEGIN TRY if exists (select\r\n top 1 1 from deleted d where d.UID_LeftDPRProjectionQuota > ' ' ) begin delete DPRProjectionStepQuota from DPRProjectionStepQuota x join deleted d on \r\nx.UID_DPRProjectionStepQuota = d.UID_LeftDPRProjectionQuota end if exists (select top 1 1 from deleted d where d.UID_RightDPRProjectionQuota > ' ' ) begin\r\n delete DPRProjectionStepQuota from DPRProjectionStepQuota x join deleted d on x.UID_DPRProjectionStepQuota = d.UID_RightDPRProjectionQuota end if exists\r\n (select top 1 1 from deleted d where d.UID_DPRSystemObjectMatchSets > ' ' ) begin delete DPRSystemObjectMatchSets from DPRSystemObjectMatchSets x join\r\n deleted d on x.UID_DPRSystemObjectMatchSets = d.UID_DPRSystemObjectMatchSets end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', \r\n18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "DPR_TDDPRSchemaProperty",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DPRSchemaProperty",
      "CreateDate": "2025-06-27T18:01:03.167",
      "ModifyDate": "2026-04-14T23:23:08.26",
      "Definition": " create   trigger DPR_TDDPRSchemaProperty on DPRSchemaProperty  for delete not for replication as begin  BEGIN TRY if exists (select top 1 1 from\r\n deleted d where d.UID_DPRSchemaPropertyReference > ' ' ) begin goto start end else begin goto endLabel end start: delete DPRSchemaPropertyReference from\r\n DPRSchemaPropertyReference x join deleted d  on x.UID_DPRSchemaPropertyReference = d.UID_DPRSchemaPropertyReference END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "DPR_TDDPRSystemObjectMatchSets",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DPRSystemObjectMatchSets",
      "CreateDate": "2025-06-27T18:01:03.183",
      "ModifyDate": "2026-04-14T23:23:08.293",
      "Definition": " create   trigger DPR_TDDPRSystemObjectMatchSets on DPRSystemObjectMatchSets  for delete not for replication as begin  BEGIN TRY if exists (select\r\n top 1 1 from deleted d where d.UID_DifferenceLeftToRightSet > ' ' ) begin delete DPRSystemObjectMatchSet from DPRSystemObjectMatchSet x join deleted d\r\n on x.UID_DPRSystemObjectMatchSet = d.UID_DifferenceLeftToRightSet end if exists (select top 1 1 from deleted d where d.UID_DifferenceRightToLeftSet > \r\n' ' ) begin delete DPRSystemObjectMatchSet from DPRSystemObjectMatchSet x join deleted d on x.UID_DPRSystemObjectMatchSet = d.UID_DifferenceRightToLeftSet\r\n end if exists (select top 1 1 from deleted d where d.UID_IntersectionDifferenceSet > ' ' ) begin delete DPRSystemObjectMatchSet from DPRSystemObjectMatchSet\r\n x join deleted d on x.UID_DPRSystemObjectMatchSet = d.UID_IntersectionDifferenceSet end if exists (select top 1 1 from deleted d where d.UID_IntersectionEqualitySet\r\n > ' ' ) begin delete DPRSystemObjectMatchSet from DPRSystemObjectMatchSet x join deleted d on x.UID_DPRSystemObjectMatchSet = d.UID_IntersectionEqualitySet\r\n end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "DPR_TDDPRSystemSyncDependency",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DPRSystemSyncDependency",
      "CreateDate": "2025-06-27T18:01:03.23",
      "ModifyDate": "2026-04-14T23:23:08.3",
      "Definition": " create   trigger DPR_TDDPRSystemSyncDependency on DPRSystemSyncDependency  for delete not for Replication as begin declare @Starten datetime = \r\ndateadd(ss, 100, getutcdate()) declare @UID_Job varchar(38) = null declare @GenProcID varchar(38)= dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select\r\n top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: select top 1 @UID_Job = q.UID_Job from JobQueue q where\r\n q.JobChainName = 'Created by QBMDBQueueProcess: fire event UpdateSystemSyncs for object type DialogDatabase' and q.Ready2EXE = N'TRUE' if @UID_Job > ' '\r\n  begin  update JobQueue set StartAt = @Starten where UID_Job = @UID_Job end else begin   exec QBM_PJobCreate_HOFireEvent 'DialogDatabase', 'IsMainDatabase = 1'\r\n, 'UpdateSystemSyncs', @GenProcID, @ObjectKeysAffected = default , @Startat = @Starten end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "DPR_TIDPRNameSpaceHasDialogTab",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DPRNameSpaceHasDialogTable",
      "CreateDate": "2025-06-27T18:01:03.197",
      "ModifyDate": "2026-04-14T23:23:08.223",
      "Definition": "  create   trigger DPR_TIDPRNameSpaceHasDialogTab on DPRNameSpaceHasDialogTable  for Insert not for Replication as begin  declare @SQLToCheck QBM_YParameterList\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if exists (select top 1 1 from inserted i where i.IsAdHocSingleMemberShip = 0 and i.WhereClause > ' ' ) begin RAISERROR ('#LDS#Whereclauses only allowed for IsAdHocSingleMemberShip = 1.|'\r\n, 18, 1) WITH NOWAIT end insert into @SQLToCheck(Parameter1, ContentFull) select x.XObjectKey, 'select top 1 1 as columnvalue from ' + x.MemberTable + \r\n' as i\r\n\t\twhere(\r\n\t\t'+ x.WhereClause + '\r\n\t\t)' from ( select r.ParentTable as ContainerTable , r.childtable as MemberTable, i.WhereClause, i.XObjectKey\r\n from QBM_VQBMRelation r join DPRNameSpaceHasDialogTable nht on r.UID_DialogTableChild = nht.UID_DialogTable and r.IsForUpdateXDateSubItem = 1 join QBM_VQBMRelation\r\n rm on r.UID_QBMRelationMN = rm.UID_QBMRelation join DialogTable tc on r.ChildTable = tc.TableName and tc.isMNTable = 1 join inserted i on i.UID_DialogTable\r\n = r.UID_DialogTableChild where r.IsForUpdateXDateSubItem = 1 and nht.IsAdHocSingleMemberShip = 1 and i.WhereClause > ' ' union select r.ParentTable as\r\n ContainerTable , dbo.QBM_FGITableName(rm.UID_DialogTableReference) as MemberTable, i.WhereClause, i.XObjectKey from QBM_VQBMRelation r join DPRNameSpaceHasDialogTable\r\n nht on r.UID_DialogTableChild = nht.UID_DialogTable and r.IsForUpdateXDateSubItem = 1 join DialogColumn ok on ok.UID_DialogTable = r.UID_DialogTableChild\r\n join DialogValidDynamicRef rm on ok.UID_DialogColumn = rm.UID_DialogColumn join DialogTable tc on ok.UID_DialogTable = tc.UID_DialogTable and tc.IsMAllTable\r\n = 1 join inserted i on i.UID_DialogTable = r.UID_DialogTableChild where r.IsForUpdateXDateSubItem = 1 and nht.IsAdHocSingleMemberShip = 1 and i.WhereClause\r\n > ' ' ) as x exec QBM_PSQLCheckExecutable @SQLToCheck, @RaiseError = 1 declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object\r\n, subobject, genprocid) select dbo.QBM_FGITableName(x.uid), null, @GenProcID from (select i.UID_DialogTable as UID from inserted i ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'DPR-K-TriggerCreateMembership', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "DPR_TIDPRSystemSyncDependency",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DPRSystemSyncDependency",
      "CreateDate": "2025-06-27T18:01:03.23",
      "ModifyDate": "2026-04-14T23:23:08.3",
      "Definition": "  create   trigger DPR_TIDPRSystemSyncDependency on DPRSystemSyncDependency  for insert not for Replication as begin declare @Starten datetime =\r\n dateadd(ss, 100, getutcdate()) declare @UID_Job varchar(38) = null declare @GenProcID varchar(38)= dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select\r\n top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: select top 1 @UID_Job = q.UID_Job from JobQueue q where\r\n q.JobChainName = 'Created by QBMDBQueueProcess: fire event UpdateSystemSyncs for object type DialogDatabase' and q.Ready2EXE = N'TRUE' if @UID_Job > ' '\r\n  begin  update JobQueue set StartAt = @Starten where UID_Job = @UID_Job end else begin   exec QBM_PJobCreate_HOFireEvent 'DialogDatabase', 'IsMainDatabase = 1'\r\n, 'UpdateSystemSyncs', @GenProcID, @ObjectKeysAffected = default , @Startat = @Starten end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "DPR_TUDialogColumn",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogColumn",
      "CreateDate": "2025-06-27T18:01:03.22",
      "ModifyDate": "2026-04-14T23:23:08.037",
      "Definition": "  create   trigger DPR_TUDialogColumn on DialogColumn  for Update not for Replication as begin declare @Starten datetime = dateadd(ss, 100, getutcdate\r\n()) declare @UID_Job varchar(38) = null declare @GenProcID varchar(38)= dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start if exists (select top 1 1 from deleted) goto start return start: if update(SystemSyncDirection) begin if exists (select top 1 1 from DialogColumn\r\n c join deleted d on c.uid_DialogColumn = d.uid_dialogcolumn where c.SystemSyncDirection <> d.SystemSyncDirection ) begin select top 1 @UID_Job = q.UID_Job\r\n from JobQueue q where q.JobChainName = 'Created by QBMDBQueueProcess: fire event UpdateSystemSyncs for object type DialogDatabase' and q.Ready2EXE = N'TRUE'\r\n  if @UID_Job > ' '  begin  update JobQueue set StartAt = @Starten where UID_Job = @UID_Job end else begin   exec QBM_PJobCreate_HOFireEvent 'DialogDatabase'\r\n, 'IsMainDatabase = 1', 'UpdateSystemSyncs', @GenProcID, @ObjectKeysAffected = default , @Startat = @Starten end end end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "DPR_TUDialogTable",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogTable",
      "CreateDate": "2025-06-27T18:01:03.213",
      "ModifyDate": "2026-04-14T23:23:08.17",
      "Definition": "  create   trigger DPR_TUDialogTable on DialogTable  for Update not for Replication as begin declare @Starten datetime = dateadd(ss, 100, getutcdate\r\n()) declare @UID_Job varchar(38) = null declare @GenProcID varchar(38)= dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start if exists (select top 1 1 from deleted) goto start return start: if update(SystemSyncMode) or UPDATE(SystemSyncKeyColumns) or UPDATE(UID_SystemSyncConfigCLRType\r\n) begin if exists (select top 1 1 from DialogTable t join deleted d on t.UID_DialogTable = d.UID_DialogTable where t.SystemSyncMode <> d.SystemSyncMode\r\n or ISNULL(t.SystemSyncKeyColumns,'') <> ISNULL(d.SystemSyncKeyColumns,'') or ISNULL(t.UID_SystemSyncConfigCLRType,'') <> ISNULL(d.UID_SystemSyncConfigCLRType\r\n,'') ) begin select top 1 @UID_Job = q.UID_Job from JobQueue q where q.JobChainName = 'Created by QBMDBQueueProcess: fire event UpdateSystemSyncs for object type DialogDatabase'\r\n and q.Ready2EXE = N'TRUE'  if @UID_Job > ' '  begin  update JobQueue set StartAt = @Starten where UID_Job = @UID_Job end else begin   exec QBM_PJobCreate_HOFireEvent\r\n 'DialogDatabase', 'IsMainDatabase = 1', 'UpdateSystemSyncs', @GenProcID, @ObjectKeysAffected = default , @Startat = @Starten end end end  END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "DPR_TUDPRNameSpaceHasDialogTab",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DPRNameSpaceHasDialogTable",
      "CreateDate": "2025-06-27T18:01:03.2",
      "ModifyDate": "2026-04-14T23:23:08.223",
      "Definition": " create   trigger DPR_TUDPRNameSpaceHasDialogTab on DPRNameSpaceHasDialogTable  for Update not for Replication as begin declare @SQLToCheck QBM_YParameterList\r\n declare @Debugswitch int = 0 BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start:\r\n declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  if update(IsAdHocSingleMemberShip) or update (whereclause) begin if \r\nexists (select top 1 1 from inserted i where i.IsAdHocSingleMemberShip = 0 and i.WhereClause > ' ' ) begin RAISERROR ('#LDS#Whereclauses only allowed for IsAdHocSingleMemberShip = 1.|'\r\n, 18, 1) WITH NOWAIT end if @Debugswitch > 0 begin print 'update whereclause' select * from inserted end insert into @SQLToCheck(Parameter1, ContentFull\r\n) select x.XObjectKey, 'select top 1 1 as columnvalue from ' + x.MemberTable + ' as i\r\n\t\twhere(\r\n\t\t'+ x.WhereClause + '\r\n\t\t)' from ( select r.ParentTable\r\n as ContainerTable , r.childtable as MemberTable, i.WhereClause, i.XObjectKey from QBM_VQBMRelation r join DPRNameSpaceHasDialogTable nht on r.UID_DialogTableChild\r\n = nht.UID_DialogTable and r.IsForUpdateXDateSubItem = 1 join QBM_VQBMRelation rm on r.UID_QBMRelationMN = rm.UID_QBMRelation join DialogTable tc on r.ChildTable\r\n = tc.TableName and tc.isMNTable = 1 join inserted i on i.UID_DialogTable = r.UID_DialogTableChild where r.IsForUpdateXDateSubItem = 1 and nht.IsAdHocSingleMemberShip\r\n = 1 and i.WhereClause > ' ' union select r.ParentTable as ContainerTable , dbo.QBM_FGITableName(rm.UID_DialogTableReference) as MemberTable, i.WhereClause\r\n, i.XObjectKey from QBM_VQBMRelation r join DPRNameSpaceHasDialogTable nht on r.UID_DialogTableChild = nht.UID_DialogTable and r.IsForUpdateXDateSubItem\r\n = 1 join DialogColumn ok on ok.UID_DialogTable = r.UID_DialogTableChild join DialogValidDynamicRef rm on ok.UID_DialogColumn = rm.UID_DialogColumn join\r\n DialogTable tc on ok.UID_DialogTable = tc.UID_DialogTable and tc.IsMAllTable = 1 join inserted i on i.UID_DialogTable = r.UID_DialogTableChild where r.IsForUpdateXDateSubItem\r\n = 1 and nht.IsAdHocSingleMemberShip = 1 and i.WhereClause > ' ' ) as x if @Debugswitch > 0 begin select c.ContentFull from @SQLToCheck c end exec QBM_PSQLCheckExecutable\r\n @SQLToCheck, @RaiseError = 1 declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select dbo.QBM_FGITableName\r\n(x.uid), null, @GenProcID from (select i.UID_DialogTable as UID from DPRNameSpaceHasDialogTable i join deleted d on i.UID_DialogTable = d.UID_DialogTable\r\n and i.UID_DPRNameSpace = d.UID_DPRNameSpace where isnull(i.IsAdHocSingleMemberShip ,0) <> isnull(d.IsAdHocSingleMemberShip ,0) or isnull(i.WhereClause\r\n , '') <> isnull(d.WhereClause , '') ) as x exec QBM_PDBQueueInsert_Bulk 'DPR-K-TriggerCreateMembership', @DBQueueElements_01 end  END TRY BEGIN CATCH \r\nexec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "DPR_TUDPRSystemSyncDependency",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DPRSystemSyncDependency",
      "CreateDate": "2025-06-27T18:01:03.23",
      "ModifyDate": "2026-04-14T23:23:08.3",
      "Definition": " create   trigger DPR_TUDPRSystemSyncDependency on DPRSystemSyncDependency  for Update not for Replication as begin declare @Starten datetime = \r\ndateadd(ss, 100, getutcdate()) declare @UID_Job varchar(38) = null declare @GenProcID varchar(38)= dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select\r\n top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(UID_DialogTablePrior) or UPDATE(UID_DialogTable\r\n) or update(DependencyType) or update(Name) or update(Description) begin if exists (select top 1 1 from DPRSystemSyncDependency c join deleted d on c.uid_DPRSystemSyncDependency\r\n = d.uid_DPRSystemSyncDependency where c.UID_DialogTablePrior <> d.UID_DialogTablePrior or c.UID_DialogTable <> d.UID_DialogTable or c.DependencyType <>\r\n d.DependencyType or ISNULL(c.name, '') <> ISNULL(d.name, '') or ISNULL(c.Description, '') <> ISNULL(d.Description, '') ) begin select top 1 @UID_Job =\r\n q.UID_Job from JobQueue q where q.JobChainName = 'Created by QBMDBQueueProcess: fire event UpdateSystemSyncs for object type DialogDatabase' and q.Ready2EXE\r\n = N'TRUE' if @UID_Job > ' '  begin  update JobQueue set StartAt = @Starten where UID_Job = @UID_Job end else begin   exec QBM_PJobCreate_HOFireEvent 'DialogDatabase'\r\n, 'IsMainDatabase = 1', 'UpdateSystemSyncs', @GenProcID, @ObjectKeysAffected = default , @Startat = @Starten end end end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TATTULDAPAccount",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDAPAccount",
      "CreateDate": "2026-04-14T23:20:50.33",
      "ModifyDate": "2026-04-14T23:23:08.39",
      "Definition": "    create   trigger LDP_TATTULDAPAccount on LDAPAccount  for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(UID_Person\r\n) begin  declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select dbo.QBM_FCVElementToObjectKey1\r\n('Person', '', i.UID_Person), v.UID_PWODecisionRule, 'A' from inserted i cross join (values ('ATT-PWODecisionRule-XM') ) as v (UID_PWODecisionRule) exec\r\n QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT\r\n END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TATTULDAPContainer",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDAPContainer",
      "CreateDate": "2026-04-14T23:20:50.347",
      "ModifyDate": "2026-04-14T23:23:08.397",
      "Definition": "    create   trigger LDP_TATTULDAPContainer on LDAPContainer for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(uid_AERoleOwner\r\n) begin  declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select i.XobjectKey , 'TSB-PWODecisionRule-EN'\r\n, 'A' from inserted i  insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select bt.XobjectKey, 'TSB-PWODecisionRule-SO', 'A' from inserted i join\r\n basetree bt on i.uid_AERoleOwner = bt.UID_Org insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select bt.XobjectKey, 'TSB-PWODecisionRule-SO'\r\n, 'A' from deleted d join basetree bt on d.uid_AERoleOwner = bt.UID_Org exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID end  END TRY \r\nBEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TATTULDAPGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDAPGroup",
      "CreateDate": "2026-04-14T23:20:50.313",
      "ModifyDate": "2026-04-14T23:23:08.4",
      "Definition": "    create   trigger LDP_TATTULDAPGroup on LDAPGroup  for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(UID_AccProduct\r\n) begin   declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select i.XobjectKey , 'ATT-PWODecisionRule-AN'\r\n, 'A' from inserted i exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID  declare @RecalcParameter_02 QBM_YCursorBuffer insert into @RecalcParameter_02\r\n (ObjectKey1, UID1, Ident1) select b.XObjectKey, c.DecisionRule, 'A' from (select a.XObjectKey from AccProduct a join inserted i on a.UID_AccProduct = \r\ni.UID_AccProduct union select a.XObjectKey from AccProduct a join deleted d on a.UID_AccProduct = d.UID_AccProduct ) b cross join (select 'ATT-PWODecisionRule-OA'\r\n as DecisionRule union select 'ATT-PWODecisionRule-OrgATT' ) c exec QER_PITShopHelperFill_Recalc @RecalcParameter_02, @GenprocID end  END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TATTULDPDomain",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDPDomain",
      "CreateDate": "2026-04-14T23:20:50.293",
      "ModifyDate": "2026-04-14T23:23:08.407",
      "Definition": "    create   trigger LDP_TATTULDPDomain on LDPDomain  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if update(uid_AERoleOwner) begin     declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select\r\n i.XobjectKey , 'TSB-PWODecisionRule-EN', 'A' from inserted i  insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select bt.XobjectKey, 'TSB-PWODecisionRule-SO'\r\n, 'A' from inserted i join basetree bt on i.uid_AERoleOwner = bt.UID_Org insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select bt.XobjectKey\r\n, 'TSB-PWODecisionRule-SO', 'A' from deleted d join basetree bt on d.uid_AERoleOwner = bt.UID_Org exec QER_PITShopHelperFill_Recalc @RecalcParameter_01\r\n, @GenprocID  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TCPLULDAPContainer",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDAPContainer",
      "CreateDate": "2026-04-14T23:20:50.37",
      "ModifyDate": "2026-04-14T23:23:08.397",
      "Definition": "    create   trigger LDP_TCPLULDAPContainer on LDAPContainer for Update not for Replication as begin BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') declare @Parameter nvarchar(1000) if update(uid_AERoleOwner) begin select @Parameter = '|' +  'CPL-PWODecisionRule-OC|' +  'CPL-PWODecisionRule-OH|'\r\n  exec QER_PITShopHelperFillAll @parameter, @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END \r\nCATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TCPLULDPDomain",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDPDomain",
      "CreateDate": "2026-04-14T23:20:50.36",
      "ModifyDate": "2026-04-14T23:23:08.407",
      "Definition": "    create   trigger LDP_TCPLULDPDomain on LDPDomain  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') declare @errno int declare @errmsg nvarchar(255) declare @Parameter nvarchar(1000) if update(uid_AERoleOwner) begin select @Parameter = '|' + 'CPL-PWODecisionRule-OC|'\r\n +  'CPL-PWODecisionRule-OH|'  exec QER_PITShopHelperFillAll @parameter, @GenProcID end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TDLDAPAccount",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDAPAccount",
      "CreateDate": "2026-04-14T23:20:50",
      "ModifyDate": "2026-04-14T23:23:08.39",
      "Definition": "create   trigger LDP_TDLDAPAccount on LDAPAccount  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted) goto\r\n start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  if exists (select top 1 1 from deleted d join PersonHasTSBAccountDef\r\n pha on d.XObjectKey = pha.XObjectKey where pha.XOrigin > 0 and pha.XIsInEffect = 1  ) begin raiserror('#LDS#Delete Accounts with existing PersonHasTSBAccountDef is not permitted.|'\r\n, 18, 1) with nowait end   declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null\r\n, @GenProcID from ( select distinct uid_person as uid from Deleted where uid_person > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-PersonHasObject', \r\n@DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TDLDAPContainer",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDAPContainer",
      "CreateDate": "2026-04-14T23:20:50.237",
      "ModifyDate": "2026-04-14T23:23:08.397",
      "Definition": "create   trigger LDP_TDLDAPContainer on LDAPContainer  for Delete not for Replication as begin declare @GenProcID varchar(38) BEGIN TRY if exists\r\n (select top 1 1 from deleted) goto start return start: select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select d.UID_LDPDomain as uid from deleted d ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'LDP-K-BaseTreeOwnsObject', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH\r\n NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TDLDAPGroupCollection",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDAPGroupCollection",
      "CreateDate": "2026-04-14T23:20:50.107",
      "ModifyDate": "2026-04-14T23:23:08.4",
      "Definition": "create   trigger LDP_TDLDAPGroupCollection on LDAPGroupCollection  for Delete not for Replication as begin  if exists (select top 1 1 from deleted\r\n) goto start return start: BEGIN TRY declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct a.uid_person as uid from LDAPaccountInLDAPGroup\r\n uig join (select uid_LDAPGroupParent as UID_Group from deleted union select UID_LDAPGroupChild from deleted ) as x on x.uid_group = uig.uid_LDAPGroup \r\nand uig.XOrigin > 0  join LDAPAccount a on uig.UID_LDAPAccount = a.uid_LDAPaccount where a.uid_person > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-PersonHasObject'\r\n, @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select distinct uig.UID_Org as uid from BaseTreeHasLDAPGroup uig join (select uid_LDAPGroupParent as UID_Group from deleted union select UID_LDAPGroupChild\r\n from deleted ) as x on x.uid_group = uig.uid_LDAPGroup and uig.XOrigin > 0  ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-BaseTreeHasObject', @DBQueueElements_02\r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TDLDAPGroupExclusion",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDAPGroupExclusion",
      "CreateDate": "2026-04-14T23:20:50.13",
      "ModifyDate": "2026-04-14T23:23:08.403",
      "Definition": "create   trigger LDP_TDLDAPGroupExclusion on LDAPGroupExclusion  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from\r\n deleted) goto start return start:  declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n  insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uig.UID_LDAPAccount as uid from ( select \r\nUID_LDAPGroupLower as UID_LDAPGroup from deleted union select UID_LDAPGroupHigher from deleted ) as y  join LDAPGroupCollection coll on y.UID_LDAPGroup\r\n = coll.UID_LDAPGroupParent join LDAPAccountInLDAPGroup uig on coll.UID_LDAPGroupChild = uig.uid_LDAPGroup and uig.XOrigin > 0  ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'LDP-K-LDAPAccountInLDAPGroup', @DBQueueElements_01  declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select uig.UID_LDPMachine as uid from ( select UID_LDAPGroupLower as UID_LDAPGroup from deleted union select UID_LDAPGroupHigher\r\n from deleted ) as y  join LDAPGroupCollection coll on y.UID_LDAPGroup = coll.UID_LDAPGroupParent join LDPMachineInLDAPGroup uig on coll.UID_LDAPGroupChild\r\n = uig.uid_LDAPGroup and uig.XOrigin > 0  ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-LDPMachineInLDAPGroup', @DBQueueElements_02  declare @DBQueueElements_03\r\n QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select g.UID_Org as uid from ( select\r\n UID_LDAPGroupLower as UID_LDAPGroup from deleted union select UID_LDAPGroupHigher from deleted ) as y join BaseTreeHasLDAPGroup g on y.UID_LDAPGroup =\r\n g.UID_LDAPGroup ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-OrgHasLDAPGroup', @DBQueueElements_03 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TDLDAPGroupInLDAPGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDAPGroupInLDAPGroup",
      "CreateDate": "2026-04-14T23:20:50.143",
      "ModifyDate": "2026-04-14T23:23:08.407",
      "Definition": "create   trigger LDP_TDLDAPGroupInLDAPGroup on LDAPGroupInLDAPGroup  for Delete not for Replication as begin  if exists (select top 1 1 from deleted\r\n) goto start return start: BEGIN TRY declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_LDAPGroupParent as uid from deleted union\r\n select UID_LDAPGroupChild from deleted union  select co.uid_LDAPGroupParent as uid from deleted i join LDAPGroupcollection co on i.UID_LDAPGroupChild \r\n= co.UID_LDAPGroupChild  union select co.uid_LDAPGroupParent from deleted i join LDAPGroupcollection co on i.UID_LDAPGroupParent = co.UID_LDAPGroupChild\r\n  union select co.UID_LDAPGroupChild from deleted i join LDAPGroupcollection co on i.UID_LDAPGroupChild = co.UID_LDAPGroupParent  union select co.UID_LDAPGroupChild\r\n from deleted i join LDAPGroupcollection co on i.UID_LDAPGroupParent = co.UID_LDAPGroupParent ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-LDAPGroupInLDAPGroup'\r\n, @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TDLDPDomain",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDPDomain",
      "CreateDate": "2026-04-14T23:20:50.167",
      "ModifyDate": "2026-04-14T23:23:08.41",
      "Definition": "    create   trigger LDP_TDLDPDomain on LDPDomain  for Delete not for Replication as begin declare @GenProcID varchar(38) BEGIN TRY if exists (select\r\n top 1 1 from deleted) goto start return start: select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw insert into\r\n @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select d.UID_LDPDomain as uid from deleted d ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'LDP-K-BaseTreeOwnsObject', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TDTSBPersonUsesAccount",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "TSBPersonUsesAccount",
      "CreateDate": "2026-04-14T23:20:50.25",
      "ModifyDate": "2026-04-14T23:23:08.827",
      "Definition": "create   trigger LDP_TDTSBPersonUsesAccount on TSBPersonUsesAccount  for Delete not for Replication as begin if exists (select top 1 1 from deleted\r\n) goto start return start: declare @GenProcID varchar(38) BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext('') if '1' = dbo.QBM_FGIConfigparmValue\r\n('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount') begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject\r\n, genprocid) select x.uid, null, @GenProcID from ( select distinct uid_person as uid from deleted where ObjectKeyAccount like '<Key><T>LDAPAccount</T>%'\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-PersonHasObject', @DBQueueElements_01 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TDTSBSpecificGroupBehavior",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "TSBSpecificGroupBehavior",
      "CreateDate": "2026-04-14T23:20:50.277",
      "ModifyDate": "2026-04-14T23:23:08.83",
      "Definition": "create   trigger LDP_TDTSBSpecificGroupBehavior on TSBSpecificGroupBehavior  for delete not for Replication as begin declare @GenProcID varchar(38\r\n) = dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: declare @GUIDLDAPGroup QBM_YSingleGUID insert\r\n into @GUIDLDAPGroup(UID_SingleGuid) select g.UID_LDAPGroup from LDAPGroup g join deleted i on g.XObjectKey = i.ObjectKeyGroup if @@ROWCOUNT > 0 begin \r\ndeclare @DBQueueElements_LDAPAccountInLDAPGroup QBM_YDBQueueRaw insert into @DBQueueElements_LDAPAccountInLDAPGroup (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select uig.UID_LDAPAccount as uid from LDAPAccountInLDAPGroup uig join @GUIDLDAPGroup gg on uig.UID_LDAPGroup = gg.UID_SingleGuid\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-LDAPAccountInLDAPGroup', @DBQueueElements_LDAPAccountInLDAPGroup end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH EndLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TIBaseTreeHasLDAPGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasLDAPGroup",
      "CreateDate": "2026-04-14T23:20:49.947",
      "ModifyDate": "2026-04-14T23:23:07.977",
      "Definition": "    create   trigger LDP_TIBaseTreeHasLDAPGroup on BaseTreeHasLDAPGroup  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n declare @AssignCheckValues QBM_YparameterList insert into @AssignCheckValues(Parameter1, Parameter2) select i.UID_Org, i.XOrigin from inserted i exec \r\nQER_PAssignmentCheckValid 'LDP-AsgnBT-LDAPGroup', @AssignCheckValues, @GenProcID  if exists (select top 1 1 from inserted i join LDAPGroup t on i.uid_LDAPGroup\r\n = t.uid_LDAPGroup and t.IsDynamicGroup = 1 ) begin  raiserror( '#LDS#Cannot make assignment because it involves a dynamic LDAP group.|', 18, 2) with nowait\r\n end  if exists (select top 1 1 from inserted i join BaseTree dest on i.uid_Org = dest.uid_Org  join LDAPGroup elem on i.uid_LDAPGroup = elem.uid_LDAPGroup\r\n where dbo.QER_FGIITShopFlagCombineValid(dest.XObjectKey, null, null, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0 and i.XOrigin & @QBM_BitPatternXOrigin_Direct\r\n > 0 ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|', 18, 2) with nowait end  if exists (select top 1 \r\n1 from inserted i join LDAPGroup g on i.uid_LDAPGroup = g.uid_LDAPGroup and g.IsDynamicGroup = 1 ) begin  raiserror( '#LDS#Cannot add {0} because assignments for dynamic groups are not permitted.|BaseTreeHasLDAPGroup|'\r\n, 18, 2) with nowait end   declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, 'LDP-K-OrgHasLDAPGroup'\r\n, @GenProcID from ( select distinct d.uid_org as uid from inserted d  where d.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0  ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-AllChildrenOfOrg', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select distinct b.uid_org as uid from inserted d join BaseTree b on d.uid_org = b.uid_org where b.ITShopInfo = \r\n'BO' and d.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgAutoChild', @DBQueueElements_02 declare @DBQueueElements_03 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uid_org as uid from inserted where XIsInEffect\r\n = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-BaseTreeHasObject', @DBQueueElements_03  declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct LDAP.uid_LDAPaccount as uid from inserted i join (select pio.uid_person\r\n, pio.uid_org from personinBaseTree pio where pio.XOrigin > 0 union all select uid_person, uid_org from helperPersonOrg ) hpo on i.uid_org = hpo.uid_org\r\n join LDAPaccount LDAP on LDAP.uid_person = hpo.uid_person and LDAP.isgroupaccount = 1 where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-LDAPAccountInLDAPGroup'\r\n, @DBQueueElements_04  declare @DBQueueElements_05 QBM_YDBQueueRaw insert into @DBQueueElements_05 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select m.uid_LDPMachine as uid from inserted i join (select pio.uid_WorkDesk, pio.uid_org from WorkDeskinBaseTree pio where pio.XOrigin > 0 union\r\n all select uid_WorkDesk, uid_org from helperWorkDeskOrg ) hwo on hwo.uid_org = i.uid_org join Hardware LDAP on LDAP.uid_WorkDesk = hwo.uid_WorkDesk join\r\n LDPMachine m on LDAP.uid_Hardware = m.uid_Hardware where '1' = dbo.QBM_FGIConfigparmValue('TargetSystem\\LDAP\\HardwareInGroupFromOrg') and i.XIsInEffect\r\n = 1 union  select m.uid_LDPMachine from inserted i join (select pio.uid_Hardware, pio.uid_org from HardwareinBaseTree pio where pio.XOrigin > 0 union \r\nall select uid_Hardware, uid_org from helperHardwareOrg ) hwo on hwo.uid_org = i.uid_org join Hardware LDAP on LDAP.uid_Hardware = hwo.uid_Hardware join\r\n LDPMachine m on LDAP.uid_Hardware = m.uid_Hardware where '1' = dbo.QBM_FGIConfigparmValue('TargetSystem\\LDAP\\HardwareInGroupFromOrg') and i.XIsInEffect\r\n = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-LDPMachineInLDAPGroup', @DBQueueElements_05 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TILDAPAccount",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDAPAccount",
      "CreateDate": "2026-04-14T23:20:49.99",
      "ModifyDate": "2026-04-14T23:23:08.39",
      "Definition": "    create   trigger LDP_TILDAPAccount on LDAPAccount  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uid_person as uid from inserted where\r\n uid_person > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-PersonHasObject', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into\r\n @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select i.UID_LDAPAccount as uid from inserted i    where i.uid_person\r\n > ' '  ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-LDAPAccountInLDAPGroup', @DBQueueElements_02  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default \r\nRAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TILDAPAccountInLDAPGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDAPAccountInLDAPGroup",
      "CreateDate": "2026-04-14T23:20:50.013",
      "ModifyDate": "2026-04-14T23:23:08.393",
      "Definition": "    create   trigger LDP_TILDAPAccountInLDAPGroup on LDAPAccountInLDAPGroup  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser nvarchar\r\n(64) = dbo.QBM_FGISessionContext('XUser')  if exists (select top 1 1 from inserted i   join LDAPGroup elem on i.uid_LDAPGroup = elem.uid_LDAPGroup where\r\n dbo.QER_FGIITShopFlagCombineValid(i.XObjectKey, null, null, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0  and i.XOrigin & @QBM_BitPatternXOrigin_Direct\r\n > 0 and dbo.QBM_FGISessionContext ('Fullsync') = '' ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|', \r\n18, 2) with nowait end   if exists (select top 1 1 from inserted i join LDAPGroup g on i.uid_LDAPGroup = g.uid_LDAPGroup and g.IsDynamicGroup = 1 and dbo.QBM_FGISessionContext\r\n ('Fullsync') = '' ) begin  raiserror( '#LDS#Cannot add {0} because assignments for dynamic groups are not permitted.|LDAPAccountInLDAPGroup|', 18, 2) \r\nwith nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select distinct i.UID_LDAPAccount as uid from inserted i   where i.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'LDP-K-LDAPAccountInLDAPGroup', @DBQueueElements_01  declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select distinct u.UID_Person as uid from inserted i join LDAPAccount u on i.UID_LDAPAccount = u.UID_LDAPAccount\r\n where u.UID_Person > ' ' and i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-PersonHasObject', @DBQueueElements_02  if '1' = dbo.QBM_FGIConfigparmValue\r\n('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount') begin declare @DBQueueElements_PersonUsesAccount QBM_YDBQueueRaw insert into @DBQueueElements_PersonUsesAccount\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct t.uid_person as uid from inserted i join LDAPAccount a on i.UID_LDAPAccount\r\n = a.UID_LDAPAccount join TSBPersonUsesAccount t on a.XObjectKey = t.ObjectKeyAccount where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-PersonHasObject'\r\n, @DBQueueElements_PersonUsesAccount end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TILDAPContainer",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDAPContainer",
      "CreateDate": "2026-04-14T23:20:50.223",
      "ModifyDate": "2026-04-14T23:23:08.397",
      "Definition": " create   trigger LDP_TILDAPContainer on LDAPContainer  for Insert not for Replication as begin declare @GenProcID varchar(38) BEGIN TRY if exists\r\n (select top 1 1 from inserted) goto start return start: select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw \r\ninsert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select i.UID_LDPDomain as uid from inserted i ) as\r\n x exec QBM_PDBQueueInsert_Bulk 'LDP-K-BaseTreeOwnsObject', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18\r\n, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TILDAPGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDAPGroup",
      "CreateDate": "2026-04-14T23:20:50.037",
      "ModifyDate": "2026-04-14T23:23:08.397",
      "Definition": "    create   trigger LDP_TILDAPGroup on LDAPGroup  for Insert not for Replication as begin  declare @errno int BEGIN TRY if exists (select top 1\r\n 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_LDAPGroup as uid from \r\ninserted ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-LDAPGroupInLDAPGroup', @DBQueueElements_01   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default \r\nRAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TILDAPGroupCollection",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDAPGroupCollection",
      "CreateDate": "2026-04-14T23:20:50.1",
      "ModifyDate": "2026-04-14T23:23:08.4",
      "Definition": " create   trigger LDP_TILDAPGroupCollection on LDAPGroupCollection  for Insert not for Replication as begin  if exists (select top 1 1 from inserted\r\n) goto start return start: BEGIN TRY declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct a.uid_person as uid from LDAPaccountInLDAPGroup\r\n uig join (select uid_LDAPGroupParent as UID_Group from inserted union select UID_LDAPGroupChild from inserted ) as x on x.uid_group = uig.uid_LDAPGroup\r\n and uig.XOrigin > 0  join LDAPAccount a on uig.UID_LDAPAccount = a.uid_LDAPaccount where a.uid_person > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-PersonHasObject'\r\n, @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select distinct uig.UID_Org as uid from BaseTreeHasLDAPGroup uig join (select uid_LDAPGroupParent as UID_Group from inserted union select UID_LDAPGroupChild\r\n from inserted ) as x on x.uid_group = uig.uid_LDAPGroup and uig.XOrigin > 0  ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-BaseTreeHasObject', @DBQueueElements_02\r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TILDAPGroupExclusion",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDAPGroupExclusion",
      "CreateDate": "2026-04-14T23:20:50.123",
      "ModifyDate": "2026-04-14T23:23:08.403",
      "Definition": "    create   trigger LDP_TILDAPGroupExclusion on LDAPGroupExclusion  for Insert not for Replication as begin  declare @exclusions QBM_YParameterList\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start return start:  declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\GroupExclusion') = '' begin raiserror( '#LDS#Cannot make a definition because exclusion is not enabled by config parm.|'\r\n, 18, 2) with nowait end insert into @exclusions (Parameter1, Parameter2) select UID_LDAPGroupHigher, UID_LDAPGroupLower from inserted exec QER_PExclusionCheckCircular\r\n @TargetTable = 'LDAPGroupExclusion' , @HigherColumn = 'UID_LDAPGroupHigher' , @LowerColumn = 'UID_LDAPGroupLower' , @exclusions = @exclusions  if exists\r\n (select top 1 1 from LDAPGroup t join inserted i on t.uid_LDAPGroup = i.uid_LDAPGroupLower and t.IsDynamicGroup = 1 ) or exists (select top 1 1 from LDAPGroup\r\n t join inserted i on t.uid_LDAPGroup = i.uid_LDAPGroupHigher and t.IsDynamicGroup = 1 ) begin  raiserror('#LDS#Cannot make assignment because dynamic groups are involved.|'\r\n, 18, 1) with nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null\r\n, @GenProcID from ( select uig.uid_LDAPAccount as uid from ( select UID_LDAPGroupLower as UID_LDAPGroup from inserted union select UID_LDAPGroupHigher \r\nfrom inserted ) as y  join LDAPGroupCollection coll on y.UID_LDAPGroup = coll.UID_LDAPGroupParent join LDAPAccountInLDAPGroup uig on coll.UID_LDAPGroupChild\r\n = uig.uid_LDAPGroup and uig.XOrigin > 0  ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-LDAPAccountInLDAPGroup', @DBQueueElements_01  declare @DBQueueElements_02\r\n QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uig.uid_LDPMachine as uid \r\nfrom ( select UID_LDAPGroupLower as UID_LDAPGroup from inserted union select UID_LDAPGroupHigher from inserted ) as y  join LDAPGroupCollection coll on\r\n y.UID_LDAPGroup = coll.UID_LDAPGroupParent join LDPMachineInLDAPGroup uig on coll.UID_LDAPGroupChild = uig.uid_LDAPGroup and uig.XOrigin > 0  ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'LDP-K-LDPMachineInLDAPGroup', @DBQueueElements_02  declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select g.UID_Org as uid from ( select UID_LDAPGroupLower as UID_LDAPGroup from inserted\r\n union select UID_LDAPGroupHigher from inserted ) as y join BaseTreeHasLDAPGroup g on y.UID_LDAPGroup = g.UID_LDAPGroup ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'LDP-K-OrgHasLDAPGroup', @DBQueueElements_03 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TILDAPGroupInLDAPGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDAPGroupInLDAPGroup",
      "CreateDate": "2026-04-14T23:20:50.14",
      "ModifyDate": "2026-04-14T23:23:08.403",
      "Definition": "  create   trigger LDP_TILDAPGroupInLDAPGroup on LDAPGroupInLDAPGroup  for Insert not for Replication as begin  if exists (select top 1 1 from inserted\r\n) goto start return start: BEGIN TRY declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_LDAPGroupParent as uid from inserted union\r\n select UID_LDAPGroupChild from inserted union  select co.uid_LDAPGroupParent as uid from inserted i join LDAPGroupcollection co on i.UID_LDAPGroupChild\r\n = co.UID_LDAPGroupChild  union select co.uid_LDAPGroupParent from inserted i join LDAPGroupcollection co on i.UID_LDAPGroupParent = co.UID_LDAPGroupChild\r\n  union select co.UID_LDAPGroupChild from inserted i join LDAPGroupcollection co on i.UID_LDAPGroupChild = co.UID_LDAPGroupParent  union select co.UID_LDAPGroupChild\r\n from inserted i join LDAPGroupcollection co on i.UID_LDAPGroupParent = co.UID_LDAPGroupParent ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-LDAPGroupInLDAPGroup'\r\n, @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TILDPDomain",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDPDomain",
      "CreateDate": "2026-04-14T23:20:50.157",
      "ModifyDate": "2026-04-14T23:23:08.407",
      "Definition": "    create   trigger LDP_TILDPDomain on LDPDomain  for Insert not for Replication as begin declare @GenProcID varchar(38) BEGIN TRY if exists (select\r\n top 1 1 from inserted) goto start return start: select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw insert into\r\n @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select i.UID_LDPDomain as uid from inserted i ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'LDP-K-BaseTreeOwnsObject', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TILDPMachine",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDPMachine",
      "CreateDate": "2026-04-14T23:20:50.18",
      "ModifyDate": "2026-04-14T23:23:08.41",
      "Definition": "    create   trigger LDP_TILDPMachine on LDPMachine  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted)\r\n goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') select top 1 * from LDPMachine if update(uid_LDAPcontainer\r\n)  or update(UID_LDPDomain) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid\r\n, null, @GenProcID from ( select uid_LDPMachine as uid from inserted i ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-LDPMachineInLDAPGroup', @DBQueueElements_01\r\n end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TILDPMachineInLDAPGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDPMachineInLDAPGroup",
      "CreateDate": "2026-04-14T23:20:49.973",
      "ModifyDate": "2026-04-14T23:23:08.413",
      "Definition": "    create   trigger LDP_TILDPMachineInLDAPGroup on LDPMachineInLDAPGroup  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser nvarchar\r\n(64) = dbo.QBM_FGISessionContext('XUser')  if exists (select top 1 1 from inserted i   join LDAPGroup elem on i.uid_LDAPGroup = elem.uid_LDAPGroup where\r\n dbo.QER_FGIITShopFlagCombineValid(i.XObjectKey, null, null, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0  and i.XOrigin & @QBM_BitPatternXOrigin_Direct\r\n > 0 and dbo.QBM_FGISessionContext ('Fullsync') = '' ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|', \r\n18, 2) with nowait end   if exists (select top 1 1 from inserted i join LDAPGroup g on i.uid_LDAPGroup = g.uid_LDAPGroup and g.IsDynamicGroup = 1 and dbo.QBM_FGISessionContext\r\n ('Fullsync') = '' ) begin  raiserror( '#LDS#Cannot add {0} because assignments for dynamic groups are not permitted.|LDPMachineInLDAPGroup|', 18, 2) with\r\n nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID \r\nfrom ( select distinct i.UID_LDPMachine as uid from inserted i   where i.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'LDP-K-LDPMachineInLDAPGroup', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TIRMSESetHasEntitlement",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ESetHasEntitlement",
      "CreateDate": "2026-04-14T23:20:50.38",
      "ModifyDate": "2026-04-14T23:23:08.32",
      "Definition": "  create   trigger LDP_TIRMSESetHasEntitlement on ESetHasEntitlement  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1\r\n 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  if exists (select top 1 1 \r\nfrom inserted i join LDAPGroup x on i.Entitlement = x.XObjectKey and x.IsDynamicGroup = 1) begin  raiserror( '#LDS#Cannot add {0} because assignments for dynamic groups are not permitted.|EsetHasEntitlement|'\r\n, 18, 2) with nowait end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TITSBPersonUsesAccount",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "TSBPersonUsesAccount",
      "CreateDate": "2026-04-14T23:20:50.25",
      "ModifyDate": "2026-04-14T23:23:08.823",
      "Definition": "    create   trigger LDP_TITSBPersonUsesAccount on TSBPersonUsesAccount  for Insert not for Replication as begin if exists (select top 1 1 from \r\ninserted) goto start return start: declare @GenProcID varchar(38) BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext('') if '1' = dbo.QBM_FGIConfigparmValue\r\n('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount') begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject\r\n, genprocid) select x.uid, null, @GenProcID from ( select distinct uid_person as uid from inserted where ObjectKeyAccount like '<Key><T>LDAPAccount</T>%'\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-PersonHasObject', @DBQueueElements_01 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TITSBSpecificGroupBehavior",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "TSBSpecificGroupBehavior",
      "CreateDate": "2026-04-14T23:20:50.263",
      "ModifyDate": "2026-04-14T23:23:08.83",
      "Definition": " create   trigger LDP_TITSBSpecificGroupBehavior on TSBSpecificGroupBehavior  for insert not for Replication as begin declare @GenProcID varchar\r\n(38) = dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @GUIDLDAPGroup QBM_YSingleGUID\r\n insert into @GUIDLDAPGroup(UID_SingleGuid) select g.UID_LDAPGroup from LDAPGroup g join inserted i on g.XObjectKey = i.ObjectKeyGroup if @@ROWCOUNT > \r\n0 begin declare @DBQueueElements_LDAPAccountInLDAPGroup QBM_YDBQueueRaw insert into @DBQueueElements_LDAPAccountInLDAPGroup (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select uig.UID_LDAPAccount as uid from LDAPAccountInLDAPGroup uig join @GUIDLDAPGroup gg on uig.UID_LDAPGroup =\r\n gg.UID_SingleGuid ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-LDAPAccountInLDAPGroup', @DBQueueElements_LDAPAccountInLDAPGroup end  END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH EndLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TRMBULDPDomain",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDPDomain",
      "CreateDate": "2026-04-14T23:20:50.39",
      "ModifyDate": "2026-04-14T23:23:08.407",
      "Definition": "    create   trigger LDP_TRMBULDPDomain on LDPDomain  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') declare @errno int declare @errmsg nvarchar(255) declare @Parameter nvarchar(1000) END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TUBaseTreeHasLDAPGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasLDAPGroup",
      "CreateDate": "2026-04-14T23:20:49.957",
      "ModifyDate": "2026-04-14T23:23:07.977",
      "Definition": "create   trigger LDP_TUBaseTreeHasLDAPGroup on BaseTreeHasLDAPGroup  for Update not for Replication as begin  declare @ChangedOrg QBM_YSingleGUID\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar\r\n(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(XOrigin) or update(XIsInEffect) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct a.UID_Org as uid from BaseTreeHasLDAPGroup\r\n a join deleted d on a.XObjectKey = d.XObjectKey where ( dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo\r\n(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(a.XOrigin) ) ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-BaseTreeHasObject', @DBQueueElements_01 insert into\r\n @ChangedOrg (UID_SingleGuid) select distinct d.UID_Org as uid from BaseTreeHasLDAPGroup a join deleted d on a.XObjectKey = d.XObjectKey where dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 if @@ROWCOUNT > 0  begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.uid, 'LDP-K-OrgHasLDAPGroup', @GenProcID from ( select c.UID_SingleGuid as uid from @ChangedOrg c ) as x exec \r\nQBM_PDBQueueInsert_Bulk 'QER-K-AllChildrenOfOrg', @DBQueueElements_02 declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object\r\n, subobject, genprocid) select x.uid, null, @GenProcID from ( select b.UID_Org as uid from @ChangedOrg c join BaseTree b on c.UID_SingleGuid = b.UID_Org\r\n where b.ITShopInfo = 'BO' ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgAutoChild', @DBQueueElements_03  declare @DBQueueElements_04 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select LDAP.uid_LDAPaccount as uid from @ChangedOrg c join\r\n PersoninBaseTree pio on c.UID_SingleGuid = pio.UID_Org and pio.XOrigin > 0 join LDAPaccount LDAP on LDAP.uid_person = pio.uid_person and LDAP.isgroupaccount\r\n = 1 union select LDAP.uid_LDAPaccount as uid from @ChangedOrg c join HelperPersonOrg hpo on c.UID_SingleGuid = hpo.UID_Org join LDAPaccount LDAP on LDAP.uid_person\r\n = hpo.uid_person and LDAP.isgroupaccount = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-LDAPAccountInLDAPGroup', @DBQueueElements_04  if '1' = dbo.QBM_FGIConfigparmValue\r\n('TargetSystem\\LDAP\\HardwareInGroupFromOrg') begin declare @DBQueueElements_05 QBM_YDBQueueRaw insert into @DBQueueElements_05 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select m.uid_LDPMachine as uid from @ChangedOrg c join WorkDeskinBaseTree pio on c.UID_SingleGuid = pio.UID_Org\r\n and pio.XOrigin > 0 join Hardware LDAP on LDAP.uid_WorkDesk = pio.uid_WorkDesk join LDPMachine m on LDAP.uid_Hardware = m.UID_Hardware union select m.uid_LDPMachine\r\n as uid from @ChangedOrg c join HelperWorkDeskOrg hpo on c.UID_SingleGuid = hpo.UID_Org join Hardware LDAP on LDAP.uid_WorkDesk = hpo.uid_WorkDesk join\r\n LDPMachine m on LDAP.uid_Hardware = m.UID_Hardware union select m.uid_LDPMachine as uid from @ChangedOrg c join HardwareinBaseTree pio on c.UID_SingleGuid\r\n = pio.UID_Org and pio.XOrigin > 0 join Hardware LDAP on LDAP.uid_Hardware = pio.uid_Hardware join LDPMachine m on LDAP.UID_Hardware = m.uid_Hardware union\r\n select m.uid_LDPMachine as uid from @ChangedOrg c join HelperHardwareOrg hpo on c.UID_SingleGuid = hpo.UID_Org join Hardware LDAP on LDAP.uid_Hardware\r\n = hpo.uid_Hardware join LDPMachine m on LDAP.UID_Hardware = m.uid_Hardware ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-LDPMachineInLDAPGroup', @DBQueueElements_05\r\n end  end  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TUHardware",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "Hardware",
      "CreateDate": "2026-04-14T23:20:50.21",
      "ModifyDate": "2026-04-14T23:23:08.333",
      "Definition": "     create   trigger LDP_TUHardware on Hardware  for Update not for Replication as begin BEGIN TRY if exists (select top 1 1 from inserted) goto\r\n start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext(''\r\n)  if update(UID_Workdesk) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid\r\n, null, @GenProcID from ( select distinct m.uid_LDPmachine as uid from Hardware h join deleted d on h.UID_Hardware = d.UID_Hardware join LDPMachine m on\r\n h.UID_Hardware = m.uid_Hardware where isnull(d.UID_Workdesk, '') <> isnull(h.UID_Workdesk, '') ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-LDPMachineInLDAPGroup'\r\n , @DBQueueElements_01 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TULDAPAccount",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDAPAccount",
      "CreateDate": "2026-04-14T23:20:49.997",
      "ModifyDate": "2026-04-14T23:23:08.39",
      "Definition": "create   trigger LDP_TULDAPAccount on LDAPAccount  for Update not for Replication as begin  declare @QBM_BitPatternXMarkedForDel_OutStanding int\r\n = dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|', 0)  BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from\r\n deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  if update(uid_person) begin declare\r\n @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_person\r\n as uid from inserted where uid_person > ' ' union select uid_person as uid from deleted where uid_person > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-PersonHasObject'\r\n, @DBQueueElements_01 end if update(uid_person)  or update(IsGroupAccount) or update(uid_LDAPContainer) or update(UID_TSBBehavior) or update(MatchPatternForMembership\r\n) or update(AccountDisabled)  or update(XMarkedForDeletion) begin declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, \r\nsubobject, genprocid) select x.uid, null, @GenProcID from (select a.UID_LDAPAccount as uid from LDAPAccount a join deleted d on a.UID_LDAPAccount = d.UID_LDAPAccount\r\n where   isnull(d.UID_Person,'') <> isnull(a.UID_Person,'') or isnull(d.IsGroupAccount,0) <> isnull(a.IsGroupAccount,0) or isnull(d.uid_LDAPContainer,''\r\n) <> isnull(a.uid_LDAPContainer,'') or isnull(d.UID_TSBBehavior,'') <> isnull(a.UID_TSBBehavior,'') or isnull(d.MatchPatternForMembership,0) <> isnull(a.MatchPatternForMembership\r\n,0) or isnull(d.AccountDisabled,0) <> isnull(a.AccountDisabled,0)  or (d.XMarkedForDeletion ^ a.XMarkedForDeletion ) & @QBM_BitPatternXMarkedForDel_OutStanding\r\n > 0 ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-LDAPAccountInLDAPGroup', @DBQueueElements_03 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default \r\nRAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TULDAPAccountInLDAPGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDAPAccountInLDAPGroup",
      "CreateDate": "2026-04-14T23:20:50.023",
      "ModifyDate": "2026-04-14T23:23:08.393",
      "Definition": "create   trigger LDP_TULDAPAccountInLDAPGroup on LDAPAccountInLDAPGroup  for Update not for Replication as begin  declare @GenProcID varchar(38)\r\n declare @XUser nvarchar(64) declare @QBM_BitPatternXMarkedForDel_OutStanding int = dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|', 0)  BEGIN TRY if\r\n exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: select @GenProcID = dbo.QBM_FGISessionContext\r\n('') select @XUser = dbo.QBM_FGISessionContext('XUser') if update(XOrigin) or update(XIsInEffect) begin  if exists (select top 1 1 from deleted d join \r\nLDAPAccountInLDAPGroup dd on d.XObjectKey = dd.XObjectKey join LDAPGroup g on d.UID_LDAPGroup = g.uid_LDAPGroup where g.IsDynamicGroup = 1 and d.XOrigin\r\n <> dd.XOrigin and dbo.QBM_FGISessionContext ('Fullsync') = ''  and exists (select top 1 1 from LDAPAccount a where a.UID_LDAPAccount = d.UID_LDAPAccount\r\n and a.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_OutStanding = 0 ) ) begin raiserror( '#LDS#Cannot update {0} because it is assignments for dynamic groups.|LDAPAccountInLDAPGroup|'\r\n, 18, 2) with nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null\r\n, @GenProcID from ( select distinct d.UID_LDAPAccount as uid from deleted d join LDAPAccountInLDAPGroup dd on d.XObjectKey = dd.XObjectKey where dbo.QBM_FGIXOriginChanged_Except2\r\n(d.XOrigin, dd.XOrigin) = 1  or (d.XIsInEffect <> dd.XIsInEffect and dbo.QBM_FGISessionContext ('Fullsync') > ' ' ) ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'LDP-K-LDAPAccountInLDAPGroup', @DBQueueElements_01 end  if update(XIsInEffect) or update(XOrigin) begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct x.UID_Person as uid from LDAPAccountInLDAPGroup\r\n a join deleted d on a.XObjectKey = d.XObjectKey join LDAPAccount x on a.UID_LDAPAccount = x.UID_LDAPAccount where x.UID_Person > ' ' and ( dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(a.XOrigin) ) \r\n) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-PersonHasObject', @DBQueueElements_02  if '1' = dbo.QBM_FGIConfigparmValue('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount'\r\n) begin declare @DBQueueElements_PersonUsesAccount QBM_YDBQueueRaw insert into @DBQueueElements_PersonUsesAccount (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct t.uid_person as uid from LDAPAccountInLDAPGroup aig join deleted d on aig.XObjectKey = d.XObjectKey join\r\n LDAPAccount a on aig.UID_LDAPAccount = a.UID_LDAPAccount join TSBPersonUsesAccount t on a.XObjectKey = t.ObjectKeyAccount where ( dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, aig.XOrigin, d.XIsInEffect, aig.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(aig.XOrigin\r\n) ) ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-PersonHasObject', @DBQueueElements_PersonUsesAccount end  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TULDAPContainer",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDAPContainer",
      "CreateDate": "2026-04-14T23:20:50.23",
      "ModifyDate": "2026-04-14T23:23:08.397",
      "Definition": "create   trigger LDP_TULDAPContainer on LDAPContainer  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if update(uid_AERoleOwner) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select d.UID_LDPDomain as uid from deleted d ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-BaseTreeOwnsObject', @DBQueueElements_01\r\n declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (UID1, ObjectKey1, Ident1) select 'TSB-PWODecisionRule-TO', i.XObjectKey\r\n, 'I' from inserted i union all select 'QER-PWODecisionRule-OX', i.XObjectKey, 'I'  from inserted i exec QER_PITShopHelperFill_Recalc @RecalcParameter_01\r\n, @GenprocID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TULDAPGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDAPGroup",
      "CreateDate": "2026-04-14T23:20:50.087",
      "ModifyDate": "2026-04-14T23:23:08.4",
      "Definition": "create   trigger LDP_TULDAPGroup on LDAPGroup  for Update not for Replication as begin declare @Parameter nvarchar(256) declare @ObjectkeyOrdered\r\n varchar(138) declare @UID_AccProduct varchar(38) declare @whereclauseOrg nvarchar(max) declare @whereclauseMuster nvarchar(max) = ' UID_ITShopOrg in ( select UID_OrgPR \r\n\t\t\t\t\t\t\tfrom QER_VPWOProductNodesSlim\r\n\t\t\t\t\t\t\twhere ObjectkeyOrdered = ''@ObjectkeyOrdered'' \r\n\t\t\t\t\t\t\t\tand isnull(UID_AccProduct, '''') <> ''@UID_AccProduct''\r\n\t\t\t\t\t)\r\n'\r\n declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @QBM_BitPatternXMarkedForDel_Out int = dbo.QBM_FGIBitPatternXMarkedForDel\r\n('|OutStanding|', 0)  BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare\r\n @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(isForITShop) or update(isITShopOnly) begin declare @FlagTest QBM_YParameterlist\r\n insert into @FlagTest(Parameter1, Parameter2, HasContentFull, e.Parameter3) select i.UID_LDAPGroup, i.XObjectKey, i.IsForITShop, dbo.QBM_FCVBigIntToString\r\n(i.IsITShopOnly) from inserted i exec QER_PIsForITShopFlagCheck 'LDAPGroup', @FlagTest, 'LDAPAccountInLDAPGroup|LDPMachineInLDAPGroup' end  if update(IsDynamicGroup\r\n) begin  if exists (select top 1 1 from deleted d join LDAPGroup g on d.uid_LDAPGroup = g.uid_LDAPGroup and d.IsDynamicGroup = 0 and g.IsDynamicGroup =\r\n 1 join LDAPGroupExclusion bhg on g.uid_LDAPGroup = bhg.uid_LDAPGroupLower ) or exists (select top 1 1 from deleted d join LDAPGroup g on d.uid_LDAPGroup\r\n = g.uid_LDAPGroup and d.IsDynamicGroup = 0 and g.IsDynamicGroup = 1 join LDAPGroupExclusion bhg on g.uid_LDAPGroup = bhg.uid_LDAPGroupHigher ) begin  \r\nif dbo.QBM_FGISessionContext ('Fullsync') > ' ' begin delete LDAPGroupExclusion from deleted d join LDAPGroup g on d.uid_LDAPGroup = g.uid_LDAPGroup and\r\n d.IsDynamicGroup = 0 and g.IsDynamicGroup = 1 join LDAPGroupExclusion bhg on g.uid_LDAPGroup in( bhg.uid_LDAPGroupHigher, bhg.UID_LDAPGroupLower) end \r\nelse begin raiserror( '#LDS#Changes can not be made because there are still assignments in group exclusion.|', 18, 2) with nowait end end  if exists (select\r\n top 1 1 from deleted d join LDAPGroup g on d.uid_LDAPGroup = g.uid_LDAPGroup and d.IsDynamicGroup = 0 and g.IsDynamicGroup = 1 join LDPMachineInLDAPGroup\r\n bhg on g.uid_LDAPGroup = bhg.uid_LDAPGroup and bhg.XOrigin > 0  ) begin  if dbo.QBM_FGISessionContext ('Fullsync') > ' ' begin update LDPMachineInLDAPGroup\r\n set XOrigin = 0 , XIsInEffect = 0 from deleted d join LDAPGroup g on d.uid_LDAPGroup = g.uid_LDAPGroup and d.IsDynamicGroup = 0 and g.IsDynamicGroup =\r\n 1 join LDPMachineInLDAPGroup bhg on g.uid_LDAPGroup = bhg.uid_LDAPGroup end else begin raiserror( '#LDS#Changes cannot be made because assignment still exist for {0}.|LDPMachine|'\r\n, 18, 1) with nowait end end  if exists (select top 1 1 from deleted d join LDAPGroup g on d.uid_LDAPGroup = g.uid_LDAPGroup and d.IsDynamicGroup = 0 and\r\n g.IsDynamicGroup = 1 join BaseTreeHasLDAPGroup bhg on g.uid_LDAPGroup = bhg.uid_LDAPGroup and bhg.XOrigin > 0  ) begin  if dbo.QBM_FGISessionContext (\r\n'Fullsync') > ' ' begin update BaseTreeHasLDAPGroup set XOrigin = 0 , XIsInEffect = 0 from deleted d join LDAPGroup g on d.uid_LDAPGroup = g.uid_LDAPGroup\r\n and d.IsDynamicGroup = 0 and g.IsDynamicGroup = 1 join BaseTreeHasLDAPGroup bhg on g.uid_LDAPGroup = bhg.uid_LDAPGroup end else begin raiserror( '#LDS#Changes cannot be made because assignment still exist for {0}.|BaseTree|'\r\n, 18, 1) with nowait end end if exists (select top 1 1 from deleted d join LDAPGroup g on d.uid_LDAPGroup = g.uid_LDAPGroup and d.IsDynamicGroup = 0 and\r\n g.IsDynamicGroup = 1 join LDAPAccountInLDAPGroup bhg on g.uid_LDAPGroup = bhg.uid_LDAPGroup and bhg.XOrigin > 0  ) begin  if dbo.QBM_FGISessionContext\r\n ('Fullsync') > ' ' begin update LDAPAccountInLDAPGroup set XOrigin = 0 , XIsInEffect = 0 from deleted d join LDAPGroup g on d.uid_LDAPGroup = g.uid_LDAPGroup\r\n and d.IsDynamicGroup = 0 and g.IsDynamicGroup = 1 join LDAPAccountInLDAPGroup bhg on g.uid_LDAPGroup = bhg.uid_LDAPGroup end else begin raiserror( '#LDS#Changes cannot be made because assignment still exist for {0}.|LDAPAccount|'\r\n, 18, 1) with nowait end end if exists (select top 1 1 from deleted d join LDAPGroup g on d.uid_LDAPGroup = g.uid_LDAPGroup and d.IsDynamicGroup = 0 and\r\n g.IsDynamicGroup = 1 join EsetHasEntitlement bhg on g.XObjectKey = bhg.Entitlement and bhg.XOrigin > 0  ) begin  if dbo.QBM_FGISessionContext ('Fullsync'\r\n) > ' ' begin update EsetHasEntitlement set XOrigin = 0 , XIsInEffect = 0 from deleted d join LDAPGroup g on d.uid_LDAPGroup = g.uid_LDAPGroup and d.IsDynamicGroup\r\n = 0 and g.IsDynamicGroup = 1 join EsetHasEntitlement bhg on g.XObjectKey = bhg.Entitlement end else begin raiserror( '#LDS#Changes cannot be made because assignment still exist for {0}.|Eset|'\r\n, 18, 1) with nowait end end end   if update(uid_accproduct) begin insert into @ElementBuffer(ObjectKey1, UID1) select x.XObjectKey, isnull(x.uid_accproduct\r\n,'') from LDAPGroup x join deleted d on x.uid_LDAPGroup = d.uid_LDAPGroup and isnull(x.uid_accproduct,'') <> isnull(d.uid_accproduct,'')  and d.uid_accproduct\r\n > ' '  join dialogColumn c on c.UID_DialogTable = 'QER-T-ITShopOrg' and c.columnname = 'uid_ACCProduct' and c.IsDeactivatedByPreProcessor = 0  select \r\n@ElementCount = @@rowcount select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @ObjectkeyOrdered = bu.ObjectKey1 , @UID_AccProduct\r\n = bu.UID1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex select @whereclauseOrg = @whereclauseMuster select @whereclauseOrg = replace(@whereclauseOrg\r\n, N'@ObjectkeyOrdered' , @ObjectkeyOrdered) select @whereclauseOrg = replace(@whereclauseOrg, N'@uid_accproduct' , rtrim(@uid_accproduct))    exec QBM_PJobCreate_HOUpdate_B\r\n 'ITShopOrg', @whereclauseOrg, @GenProcID , @p1 = 'uid_ACCProduct', @v1 = @uid_accproduct , @AdditionalObjectKeysAffected = DEFAULT select @ElementIndex\r\n += 1 end  end   if update (UID_AccProduct) begin declare @RecalcParameter_OA QBM_YCursorBuffer insert into @RecalcParameter_OA (UID1, ObjectKey1, Ident1\r\n) select 'QER-PWODecisionRule-OA', a.XObjectKey, 'I' from inserted i join LDAPGroup g on i.UID_LDAPGroup = g.UID_LDAPGroup join QERAccProductUsage u on\r\n g.XObjectKey = u.XObjectKey join AccProduct a on u.UID_AccProduct = a.UID_AccProduct union select 'QER-PWODecisionRule-OA', a.XObjectKey, 'I' from deleted\r\n d join LDAPGroup g on d.UID_LDAPGroup = g.UID_LDAPGroup join QERAccProductUsage u on g.XObjectKey = u.XObjectKey join AccProduct a on u.UID_AccProduct\r\n = a.UID_AccProduct exec QER_PITShopHelperFill_Recalc @RecalcParameter_OA, @GenprocID declare @RecalcParameter_OA2 QBM_YCursorBuffer insert into @RecalcParameter_OA2\r\n (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-OA', pwo.XObjectKey, 'I' from inserted i join LDAPGroup g on i.UID_LDAPGroup = g.UID_LDAPGroup \r\njoin AccProduct a on i.UID_AccProduct = a.UID_AccProduct join PersonWantsOrg pwo on g.XObjectKey = pwo.ObjectKeyElementUsedInAssign union select 'QER-PWODecisionRule-OA'\r\n, pwo.XObjectKey, 'I' from deleted d join LDAPGroup g on d.UID_LDAPGroup = g.UID_LDAPGroup join AccProduct a on d.UID_AccProduct = a.UID_AccProduct join\r\n PersonWantsOrg pwo on g.XObjectKey = pwo.ObjectKeyElementUsedInAssign exec QER_PITShopHelperFill_Recalc @RecalcParameter_OA2, @GenprocID end  if update\r\n(MatchPatternForMembership)  or update(XMarkedForDeletion) begin  declare @GroupsChanged QBM_YParameterList insert into @GroupsChanged (Parameter1, Parameter2\r\n) select g.uid_LDAPGroup as uid, g.XObjectKey from LDAPGroup g join deleted d on g.UID_LDAPGroup = d.UID_LDAPGroup and ( g.MatchPatternForMembership <>\r\n d.MatchPatternForMembership or (g.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0 and d.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out\r\n > 0 ) ) declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from\r\n (  select aig.UID_LDAPAccount as uid from @GroupsChanged g join LDAPAccountInLDAPGroup aig on g.Parameter1 = aig.UID_LDAPAccount and aig.XOrigin > 0  \r\nunion select u.UID_LDAPAccount as uid from @GroupsChanged g join BaseTreeHasObject bho on g.Parameter2  = bho.ObjectKey join PersonInBaseTree pho on bho.UID_Org\r\n = pho.UID_Org join LDAPAccount u on u.UID_Person = pho.UID_Person union select u.UID_LDAPAccount as uid from @GroupsChanged g join BaseTreeHasObject bho\r\n on g.Parameter2  = bho.ObjectKey join HelperPersonOrg pho on bho.UID_Org = pho.UID_Org join LDAPAccount u on u.UID_Person = pho.UID_Person  union select\r\n u.UID_LDAPAccount as uid from @GroupsChanged g join ESetHasEntitlement ehe on g.Parameter2  = ehe.Entitlement join PersonHasESet phe on phe.UID_ESet =\r\n ehe.UID_ESet join LDAPAccount u on u.UID_Person = phe.UID_Person ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-LDAPAccountInLDAPGroup', @DBQueueElements_01\r\n end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TULDPDomain",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDPDomain",
      "CreateDate": "2026-04-14T23:20:50.163",
      "ModifyDate": "2026-04-14T23:23:08.407",
      "Definition": "create   trigger LDP_TULDPDomain on LDPDomain  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted) goto \r\nstart if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n declare @errno int declare @errmsg nvarchar(255) declare @Parameter nvarchar(1000) if update(uid_AERoleOwner) begin declare @RecalcParameter_01 QBM_YCursorBuffer\r\n insert into @RecalcParameter_01 (UID1, ObjectKey1, Ident1) select 'TSB-PWODecisionRule-TO', i.XObjectKey, 'I' from inserted i union all select 'QER-PWODecisionRule-OX'\r\n, i.XObjectKey, 'I'  from inserted i exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID end  if update(uid_AERoleOwner) begin declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select d.UID_LDPDomain as uid from\r\n deleted d ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-BaseTreeOwnsObject', @DBQueueElements_01 end            END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TULDPMachine",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDPMachine",
      "CreateDate": "2026-04-14T23:20:50.183",
      "ModifyDate": "2026-04-14T23:23:08.41",
      "Definition": "create   trigger LDP_TULDPMachine on LDPMachine  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted) goto\r\n start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext(''\r\n)    if update(UID_LDAPContainer) or update(UID_LDPDomain) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject\r\n, genprocid) select x.uid, null, @GenProcID from ( select h.uid_LDPMachine as uid from LDPMachine h join deleted d on h.uid_LDPMachine = d.uid_LDPMachine\r\n and (isnull(h.UID_LDAPContainer,'') <> isnull(d.UID_LDAPContainer,'') or isnull(h.UID_LDPDomain,'') <> isnull(d.UID_LDPDomain,'') ) ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'LDP-K-LDPMachineInLDAPGroup', @DBQueueElements_01 end if update(UID_Hardware) begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select d.UID_LDPMachine as uid from deleted d join LDPMachine m on d.UID_LDPMachine\r\n = m.UID_LDPMachine where isnull(d.UID_Hardware, '') <> isnull(m.UID_Hardware, '') ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-LDPMachineInLDAPGroup', @DBQueueElements_02\r\n end   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TULDPMachineInLDAPGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "LDPMachineInLDAPGroup",
      "CreateDate": "2026-04-14T23:20:49.977",
      "ModifyDate": "2026-04-14T23:23:08.413",
      "Definition": "create   trigger LDP_TULDPMachineInLDAPGroup on LDPMachineInLDAPGroup  for update not for Replication as begin  declare @GenProcID varchar(38) declare\r\n @XUser nvarchar(64) BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext('') select @XUser = dbo.QBM_FGISessionContext('XUser') if exists (select top\r\n 1 1 from deleted) goto start if exists (select top 1 1 from inserted) goto start return start: if update(XOrigin) or update(XIsInEffect) begin declare\r\n @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct\r\n d.UID_LDPMachine as uid from deleted d join LDPMachineInLDAPGroup dd on d.XObjectKey = dd.XObjectKey where dbo.QBM_FGIXOriginChanged_Except2(d.XOrigin\r\n, dd.XOrigin) = 1  or (d.XIsInEffect <> dd.XIsInEffect and dbo.QBM_FGISessionContext ('Fullsync') > ' ' ) ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-LDPMachineInLDAPGroup'\r\n, @DBQueueElements_01 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TUTSBBehavior",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "TSBBehavior",
      "CreateDate": "2026-04-14T23:20:50.2",
      "ModifyDate": "2026-04-14T23:23:08.813",
      "Definition": " create   trigger LDP_TUTSBBehavior on TSBBehavior  for Update not for Replication as begin  declare @TSBBehaviorsToCheck QBM_YSingleGUID     BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38\r\n) select @GenProcID = dbo.QBM_FGISessionContext('')  if update(PTDInheritGroup) or update(PFDInheritGroup) or update(PMDInheritGroup) or update(PSIInheritGroup\r\n) or update(ADAInheritGroup) begin insert into @TSBBehaviorsToCheck (UID_SingleGuid ) select distinct r.uid_TSBBehavior from TSBBehavior r join deleted\r\n d on r.uid_TSBBehavior = d.uid_TSBBehavior where (isnull(r.PTDInheritGroup,0) <> isnull(d.PTDInheritGroup,0) or isnull(r.PFDInheritGroup,0) <> isnull(d.PFDInheritGroup\r\n,0) or isnull(r.PMDInheritGroup,0) <> isnull(d.PMDInheritGroup,0) or isnull(r.PSIInheritGroup,0) <> isnull(d.PSIInheritGroup,0) or isnull(r.ADAInheritGroup\r\n,0) <> isnull(d.ADAInheritGroup,0) ) if 0 < (select count(*) from @TSBBehaviorsToCheck) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from (  select a.UID_LDAPAccount as uid from LDAPAccount a join @TSBBehaviorsToCheck c on\r\n a.UID_TSBBehavior = c.UID_SingleGuid  ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-LDAPAccountInLDAPGroup', @DBQueueElements_01 end end    END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "LDP_TUTSBSpecificGroupBehavior",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "TSBSpecificGroupBehavior",
      "CreateDate": "2026-04-14T23:20:50.27",
      "ModifyDate": "2026-04-14T23:23:08.83",
      "Definition": "create   trigger LDP_TUTSBSpecificGroupBehavior on TSBSpecificGroupBehavior  for update not for Replication as begin declare @GenProcID varchar(38\r\n) = dbo.QBM_FGISessionContext('') declare @ReallyChanged QBM_YParameterList  BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select\r\n top 1 1 from deleted) goto start return start: if not (update( PFDInheritOverwrite ) or update( PTDInheritOverwrite ) or update( PSIInheritOverwrite )\r\n or update( PMDInheritOverwrite ) or update( ADAInheritOverwrite ) ) begin goto EndLabel end insert into @ReallyChanged(Parameter1) select ovr.ObjectKeyGroup\r\n from TSBSpecificGroupBehavior ovr join deleted i on ovr.UID_TSBSpecificGroupBehavior = i.UID_TSBSpecificGroupBehavior where isnull(ovr.PFDInheritOverwrite\r\n,0) <> isnull(i.PFDInheritOverwrite, 0) or isnull(ovr.PTDInheritOverwrite,0) <> isnull(i.PTDInheritOverwrite, 0) or isnull(ovr.PSIInheritOverwrite,0) <>\r\n isnull(i.PSIInheritOverwrite, 0) or isnull(ovr.PMDInheritOverwrite,0) <> isnull(i.PMDInheritOverwrite, 0) or isnull(ovr.ADAInheritOverwrite,0) <> isnull\r\n(i.ADAInheritOverwrite, 0) if @@ROWCOUNT = 0 begin goto EndLabel end declare @GUIDLDAPGroup QBM_YSingleGUID insert into @GUIDLDAPGroup(UID_SingleGuid) \r\nselect g.UID_LDAPGroup from LDAPGroup g join @ReallyChanged ch on g.XObjectKey = ch.Parameter1 if @@ROWCOUNT > 0 begin declare @DBQueueElements_LDAPAccountInLDAPGroup\r\n QBM_YDBQueueRaw insert into @DBQueueElements_LDAPAccountInLDAPGroup (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uig.UID_LDAPAccount\r\n as uid from LDAPAccountInLDAPGroup uig join @GUIDLDAPGroup gg on uig.UID_LDAPGroup = gg.UID_SingleGuid ) as x exec QBM_PDBQueueInsert_Bulk 'LDP-K-LDAPAccountInLDAPGroup'\r\n, @DBQueueElements_LDAPAccountInLDAPGroup end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH EndLabel:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "POL_TDQERPolicy",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QERPolicy",
      "CreateDate": "2025-06-27T18:01:19.257",
      "ModifyDate": "2026-04-14T23:23:08.737",
      "Definition": "create   trigger POL_TDQERPolicy on QERPolicy  for Delete not for Replication as begin  if exists (select top 1 1 from deleted) goto start return\r\n start: BEGIN TRY declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @whereclause nvarchar(1024)  if exists (select\r\n top 1 1 from deleted r where r.IsInactive = 0 and r.IsWorkingCopy = 0 ) begin  raiserror( '#LDS#Enabled policies cannot be deleted.|', 18, 3) with nowait\r\n end   declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (\r\n select d.uid_QERPolicy as uid from deleted d ) as x exec QBM_PDBQueueInsert_Bulk 'POL-K-QERPolicyMakeProc', @DBQueueElements_01 END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "POL_TIATTPersonInBaseTree",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PersonInBaseTree",
      "CreateDate": "2025-06-27T18:01:19.283",
      "ModifyDate": "2026-04-14T23:23:08.45",
      "Definition": "    create   trigger POL_TIATTPersonInBaseTree on PersonInBaseTree  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1\r\n from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (  select ac.UID_attestationcase as uid from inserted\r\n i join QERPolicy qp on i.UID_Org = qp.UID_AERoleAttestator join attestationcase ac on ac.ObjectkeyBase = qp.XObjectKey join AttestationHelper ah on ac.uid_attestationCase\r\n = ah.uid_attestationcase and ah.UID_PWODecisionRule in ('POL-PWODecisionRule-AY') union  select ac.UID_attestationcase as uid from inserted i join QERPolicy\r\n qp on i.UID_Org = qp.UID_AERoleAttestator join QERPolicyHasObject pho on qp.UID_QERPolicy = pho.UID_QERPolicy join attestationcase ac on ac.ObjectkeyBase\r\n = pho.XObjectKey join AttestationHelper ah on ac.uid_attestationCase = ah.uid_attestationcase and ah.UID_PWODecisionRule in ('POL-PWODecisionRule-AY')\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'ATT-K-AttestationHelper', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (''\r\n, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "POL_TIQERPolicy",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QERPolicy",
      "CreateDate": "2025-06-27T18:01:19.25",
      "ModifyDate": "2026-04-14T23:23:08.737",
      "Definition": "  create   trigger POL_TIQERPolicy on QERPolicy  for Insert not for Replication as begin  declare @SQLToCheck QBM_YParameterList BEGIN TRY if exists\r\n (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  insert into \r\n@SQLToCheck(Parameter1, ContentFull) select c.XObjectKey, 'select top 1 1 as columnvalue from ' + t.TableName + '\r\n\t\t where (\r\n\t\t ' + c.WhereClause + '\r\n\t\t )'\r\n from inserted c  join DialogTable t on c.UID_DialogTable = t.UID_DialogTable where c.WhereClause > ' ' exec QBM_PSQLCheckExecutable @SQLToCheck, @RaiseError\r\n = 1 declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select\r\n i.uid_QERPolicy as uid from inserted i where isnull(IsInactive,0) = 0 and isnull(IsWorkingCopy,0) = 0 ) as x exec QBM_PDBQueueInsert_Bulk 'POL-K-QERPolicyFill'\r\n, @DBQueueElements_01 exec QBM_PDBQueueInsert_Bulk 'POL-K-QERPolicyMakeProc', @DBQueueElements_01  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "POL_TUATTPersonInBaseTree",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PersonInBaseTree",
      "CreateDate": "2025-06-27T18:01:19.287",
      "ModifyDate": "2026-04-14T23:23:08.45",
      "Definition": "create   trigger POL_TUATTPersonInBaseTree on PersonInBaseTree  for Update not for Replication as begin   declare @XUser nvarchar(64) = object_name\r\n(@@procid) declare @Xdate datetime = getutcdate() BEGIN TRY if exists (select top 1 1 from deleted) goto start if exists (select top 1 1 from inserted)\r\n goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(XOrigin) begin if exists (select top\r\n 1 1 from deleted d join PersonInBaseTree pio on d.XObjectKey = pio.XObjectKey join BaseTree b on pio.UID_Org = b.UID_Org and b.UID_OrgRoot = 'QER-V-AERole'\r\n where d.XOrigin > 0 and pio.XOrigin = 0 ) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from (  select ac.UID_attestationcase as uid from deleted d join PersonInBaseTree pio on d.XObjectKey = pio.XObjectKey\r\n join QERPolicy qp on d.UID_Org = qp.UID_AERoleAttestator join attestationcase ac on ac.ObjectkeyBase = qp.XObjectKey join AttestationHelper ah on ac.uid_attestationCase\r\n = ah.uid_attestationcase and ah.UID_PWODecisionRule in ('POL-PWODecisionRule-AY') where d.XOrigin > 0 and pio.XOrigin = 0 union  select ac.UID_attestationcase\r\n as uid from deleted d join PersonInBaseTree pio on d.XObjectKey = pio.XObjectKey join QERPolicy qp on d.UID_Org = qp.UID_AERoleAttestator join QERPolicyHasObject\r\n pho on qp.UID_QERPolicy = pho.UID_QERPolicy join attestationcase ac on ac.ObjectkeyBase = pho.XObjectKey join AttestationHelper ah on ac.uid_attestationCase\r\n = ah.uid_attestationcase and ah.UID_PWODecisionRule in ('POL-PWODecisionRule-AY') where d.XOrigin > 0 and pio.XOrigin = 0 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'ATT-K-AttestationHelper', @DBQueueElements_01 end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "POL_TUATTQERPolicy",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QERPolicy",
      "CreateDate": "2025-06-27T18:01:19.273",
      "ModifyDate": "2026-04-14T23:23:08.737",
      "Definition": "  create   trigger POL_TUATTQERPolicy on QERPolicy  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted) \r\ngoto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('')  if update(UID_AERoleAttestator) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) \r\nselect x.uid, null, @GenProcID from (  select ac.UID_attestationcase as uid from inserted i join attestationcase ac on ac.ObjectkeyBase = i.XObjectKey \r\njoin AttestationHelper ah on ac.uid_attestationCase = ah.uid_attestationcase and ah.UID_PWODecisionRule in ('POL-PWODecisionRule-AY') union   select ac.UID_attestationcase\r\n as uid from inserted i join QERPolicyHasObject pho on i.UID_QERPolicy = pho.UID_QERPolicy join attestationcase ac on ac.ObjectkeyBase = pho.XObjectKey\r\n join AttestationHelper ah on ac.uid_attestationCase = ah.uid_attestationcase and ah.UID_PWODecisionRule in ('POL-PWODecisionRule-AY')  ) as x  exec QBM_PDBQueueInsert_Bulk\r\n 'ATT-K-AttestationHelper', @DBQueueElements_01 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH \r\nende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "POL_TUQERPolicy",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QERPolicy",
      "CreateDate": "2025-06-27T18:01:19.257",
      "ModifyDate": "2026-04-14T23:23:08.737",
      "Definition": "create   trigger POL_TUQERPolicy on QERPolicy  for Update not for Replication as begin  declare @SQLToCheck QBM_YParameterList declare @XObjectKeys\r\n QBM_YParameterList BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare\r\n @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @UID_QERPolicy varchar(38) declare @WhereClause nvarchar(1024) if update\r\n(WhereClause) begin insert into @SQLToCheck(Parameter1, ContentFull) select c.XObjectKey, 'select top 1 1 as columnvalue from ' + t.TableName + '\r\n\t\t where (\r\n\t\t '\r\n + c.WhereClause + '\r\n\t\t )' from inserted c  join DialogTable t on c.UID_DialogTable = t.UID_DialogTable where c.WhereClause > ' ' exec QBM_PSQLCheckExecutable\r\n @SQLToCheck, @RaiseError = 1 end  if (update(WhereClause) or update(IsInactive) or update(IsNoWhereClause) ) begin declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select t.UID_QERPolicy as uid from QERPolicy t join\r\n deleted d on t.UID_QERPolicy = d.UID_QERPolicy ) as x exec QBM_PDBQueueInsert_Bulk 'POL-K-QERPolicyMakeProc', @DBQueueElements_01  declare @DBQueueElements_02\r\n QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select t.UID_QERPolicy as uid from\r\n QERPolicy t join deleted d on t.UID_QERPolicy = d.UID_QERPolicy where isnull(t.IsInactive, 0) = 0 ) as x exec QBM_PDBQueueInsert_Bulk 'POL-K-QERPolicyFill'\r\n, @DBQueueElements_02 end   if update(IsInActive) begin insert into @XObjectKeys (Parameter1) select pho.XObjectKey from deleted d join QERPolicy r on \r\nd.uid_QERPolicy = r.uid_QERPolicy join QERPolicyHasObject pho on pho.UID_QERPolicy = r.UID_QERPolicy where (isnull(d.IsInActive, 0) = 0 and isnull(r.IsInActive\r\n, 0) = 1) exec QBM_PJobCreate_HODelete_L 'QERPolicyHasObject', @XObjectKeys, @GenProcID , @AdditionalObjectKeysAffected = DEFAULT end END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDAssembly_DialogColHasSem",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogColumnHasSemaphor",
      "CreateDate": "2025-06-27T18:01:01.597",
      "ModifyDate": "2026-04-14T23:23:08.043",
      "Definition": " create   trigger QBM_TDAssembly_DialogColHasSem on DialogColumnHasSemaphor  for Delete not for Replication as begin  declare @GenProcID varchar\r\n(38) = dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start:   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDAssembly_DialogColumn",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogColumn",
      "CreateDate": "2025-06-27T18:01:01.583",
      "ModifyDate": "2026-04-14T23:23:08.037",
      "Definition": "  create   trigger QBM_TDAssembly_DialogColumn on DialogColumn  for Delete not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'Tmpl', '#'\r\n, @GenProcID  exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'TypedWrappers', '#', @GenProcID  declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select d.UID_DialogTable as UID from deleted d union\r\n select t.UID_DialogTableBase from DialogTable t join deleted d on d.UID_DialogTable = t.UID_DialogTable where t.UID_DialogTableBase > ' ' union select\r\n t.UID_DialogTable from DialogTable t join deleted d on d.UID_DialogTable = t.UID_DialogTableBase union select t.UID_DialogTableunion from DialogTable \r\nt join deleted d on d.UID_DialogTable = t.UID_DialogTable where t.UID_DialogTableunion > ' ' ) as x  where x.uid  in (select UID_DialogTable from dialogtable\r\n where tabletype in ('V', 'P') ) exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonRebuildView', @DBQueueElements_01  declare @DBQueueElements_02 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_02 (object, subobject, genprocid) select dbo.QBM_FGITableName(x.uid), null, @GenProcID from (select  d.UID_DialogTable as\r\n UID from deleted d union  select t.UID_DialogTable from dialogtable t join deleted c on c.UID_DialogTable = t.UID_DialogTableUnion  union select t.UID_DialogTableBase\r\n from DialogTable t join deleted d on d.UID_DialogTable = t.UID_DialogTable where t.UID_DialogTableBase > ' ' union select t.UID_DialogTable from DialogTable\r\n t join deleted d on d.UID_DialogTable = t.UID_DialogTableBase ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonMakeWatchtrigger', @DBQueueElements_02 \r\n  exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonMakeRITrigger' , @DBQueueElements_02   exec QBM_PDBQueueInsert_Single 'QBM-K-CommonMakeRITriggerPre', '', ''\r\n, @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDAssembly_DialogConfig",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogConfigParm",
      "CreateDate": "2025-06-27T18:01:01.607",
      "ModifyDate": "2026-04-14T23:23:08.047",
      "Definition": " create   trigger QBM_TDAssembly_DialogConfig on DialogConfigParm  for Delete not for Replication as begin  declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'TypedWrappers'\r\n, '#', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDAssembly_DialogMethod",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogMethod",
      "CreateDate": "2025-06-27T18:01:01.617",
      "ModifyDate": "2026-04-14T23:23:08.107",
      "Definition": " create   trigger QBM_TDAssembly_DialogMethod on DialogMethod  for Delete not for Replication as begin  declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'DlgMth', '#'\r\n, @GenProcID  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDAssembly_DialogObject",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogObject",
      "CreateDate": "2025-06-27T18:01:01.627",
      "ModifyDate": "2026-04-14T23:23:08.117",
      "Definition": " create   trigger QBM_TDAssembly_DialogObject on DialogObject  for Delete not for Replication as begin  declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'DlgObj', '#'\r\n, @GenProcID  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDAssembly_DialogObjHasM",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogObjectHasMethod",
      "CreateDate": "2025-06-27T18:01:01.633",
      "ModifyDate": "2026-04-14T23:23:08.117",
      "Definition": " create   trigger QBM_TDAssembly_DialogObjHasM on DialogObjectHasMethod  for Delete not for Replication as begin  declare @GenProcID varchar(38)\r\n = dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset'\r\n, 'DlgMth', '#', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDAssembly_DialogParameter",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogParameter",
      "CreateDate": "2025-06-27T18:01:01.643",
      "ModifyDate": "2026-04-14T23:23:08.123",
      "Definition": " create   trigger QBM_TDAssembly_DialogParameter on DialogParameter  for Delete not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: if exists (select top 1 1 from deleted where ValidationScript > ' ' or \r\nValueScript > ' ' or OnPropertyChangedScript > ' ' ) begin exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'Parameters', '#', @GenProcID  end\r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDAssembly_DialogScript",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogScript",
      "CreateDate": "2025-06-27T18:01:01.657",
      "ModifyDate": "2026-04-14T23:23:08.153",
      "Definition": " create   trigger QBM_TDAssembly_DialogScript on DialogScript  for Delete not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n(Object, SubObject, GenProcID) select 'Scripts', d.UID_DialogScript , @GenProcID from deleted d exec QBM_PDBQueueInsert_Bulk 'QBM-K-ScriptAssemblyReset'\r\n, @DBQueueElements_01  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDAssembly_DialogSheet",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogSheet",
      "CreateDate": "2025-06-27T18:01:01.667",
      "ModifyDate": "2026-04-14T23:23:08.16",
      "Definition": " create   trigger QBM_TDAssembly_DialogSheet on DialogSheet  for Delete not for Replication as begin  declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'SheetIV', \r\n'#', @GenProcID  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDAssembly_DialogTable",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogTable",
      "CreateDate": "2025-06-27T18:01:01.69",
      "ModifyDate": "2026-04-14T23:23:08.17",
      "Definition": " create   trigger QBM_TDAssembly_DialogTable on DialogTable  for Delete not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: if exists (select top 1 1 from deleted i where i.TableType in ('T', 'V'\r\n) ) begin exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'Table', '#', @GenProcID  end exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset'\r\n, 'TypedWrappers', '#', @GenProcID  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid\r\n, null, @GenProcID from (select d.UID_DialogTable as UID from deleted d union select d.UID_DialogTableBase from deleted d where d.UID_DialogTableBase >\r\n ' ' union select d.UID_DialogTableUnion from deleted d where d.UID_DialogTableUnion > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonRebuildViewR'\r\n, @DBQueueElements_01 exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonRebuildViewU', @DBQueueElements_01 exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonRebuildView'\r\n, @DBQueueElements_01  declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select dbo.QBM_FGITableName\r\n(x.uid), null, @GenProcID from (select d.UID_DialogTable as UID from deleted d union select d.UID_DialogTableBase from deleted d where d.UID_DialogTableBase\r\n > ' ' union select d.UID_DialogTableUnion from deleted d where d.UID_DialogTableUnion > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonMakeWatchtrigger'\r\n, @DBQueueElements_02  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDAssembly_DialogWebServ",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogWebService",
      "CreateDate": "2025-06-27T18:01:01.717",
      "ModifyDate": "2026-04-14T23:23:08.2",
      "Definition": " create   trigger QBM_TDAssembly_DialogWebServ on DialogWebService  for Delete not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'WebServices'\r\n, '#', @GenProcID  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDAssembly_DialValDynRef",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogValidDynamicRef",
      "CreateDate": "2025-06-27T18:01:01.71",
      "ModifyDate": "2026-04-14T23:23:08.193",
      "Definition": " create   trigger QBM_TDAssembly_DialValDynRef on DialogValidDynamicRef  for Delete not for Replication as begin declare @GenProcID varchar(38) \r\n= dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start:  exec QBM_PDBQueueInsert_Single 'QBM-K-CommonMakeRITriggerPre'\r\n, '', '', @GenProcID  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from (select t.TableName as UID from deleted i join DialogColumn c on i.UID_DialogColumn = c.UID_DialogColumn join DialogTable t on c.UID_DialogTable \r\n= t.UID_DialogTable  where ParentExecuteBy in ('T', 'D') union select t.TableName as UID from deleted i join DialogTable t on i.UID_DialogTableReference\r\n = t.UID_DialogTable  where ParentExecuteBy in ('T', 'D') ) as x  insert into @DBQueueElements_01 (object, subobject, genprocid) select b.TableName, null\r\n, e.GenProcID from @DBQueueElements_01 e join DialogTable v on e.Object = v.TableName join DialogTable b on v.UID_DialogTableBase = b.UID_DialogTable exec\r\n QBM_PDBQueueInsert_Bulk 'QBM-K-CommonMakeWatchtrigger', @DBQueueElements_01 exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonMakeRITrigger' , @DBQueueElements_01\r\n  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDAssembly_Job",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "Job",
      "CreateDate": "2025-06-27T18:01:01.733",
      "ModifyDate": "2026-04-14T23:23:08.363",
      "Definition": " create   trigger QBM_TDAssembly_Job on Job  for Delete not for Replication as begin  declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n(Object, SubObject, GenProcID) select distinct 'JobGen', dbo.QBM_FGITableName(c.UID_DialogTable) , @GenProcID from deleted i join Jobchain c on i.uid_Jobchain\r\n = c.uid_Jobchain join JobEventGen e on e.UID_JobChain = c.UID_JobChain where c.IsDeactivatedByPreProcessor = 0 and c.NoGenerate = 0 exec QBM_PDBQueueInsert_Bulk\r\n 'QBM-K-ScriptAssemblyReset', @DBQueueElements_01  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 1,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDAssembly_Jobchain",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "JobChain",
      "CreateDate": "2025-06-27T18:01:01.74",
      "ModifyDate": "2026-04-14T23:23:08.37",
      "Definition": "   create   trigger QBM_TDAssembly_Jobchain on Jobchain  for Delete not for Replication as begin  declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n(Object, SubObject, GenProcID) select distinct 'JobGen', dbo.QBM_FGITableName(i.UID_DialogTable) , @GenProcID from deleted i join JobEventGen e on i.UID_JobChain\r\n = e.UID_JobChain where i.IsDeactivatedByPreProcessor = 0 and i.NoGenerate = 0 exec QBM_PDBQueueInsert_Bulk 'QBM-K-ScriptAssemblyReset', @DBQueueElements_01\r\n  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 1,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDAssembly_jobcomponent",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "JobComponent",
      "CreateDate": "2025-06-27T18:01:01.76",
      "ModifyDate": "2026-04-14T23:23:08.373",
      "Definition": " create   trigger QBM_TDAssembly_jobcomponent on JobComponent  for delete not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start:  exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'JobGen', \r\n'%', @GenProcID  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDAssembly_JobEventGen",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "JobEventGen",
      "CreateDate": "2025-06-27T18:01:01.767",
      "ModifyDate": "2026-04-14T23:23:08.373",
      "Definition": "   create   trigger QBM_TDAssembly_JobEventGen on JobEventGen  for Delete not for Replication as begin  declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n(Object, SubObject, GenProcID) select distinct 'JobGen', dbo.QBM_FGITableName(e.UID_DialogTable), @GenProcID from deleted i join QBMEvent e on i.UID_QBMEvent\r\n = e.UID_QBMEvent exec QBM_PDBQueueInsert_Bulk 'QBM-K-ScriptAssemblyReset', @DBQueueElements_01  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default \r\nRAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 1,
      "HasQBMEvent": 1
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDAssembly_JobRunparameter",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "JobRunParameter",
      "CreateDate": "2025-06-27T18:01:01.777",
      "ModifyDate": "2026-04-14T23:23:08.383",
      "Definition": "   create   trigger QBM_TDAssembly_JobRunparameter on JobRunparameter  for Delete not for Replication as begin  declare @GenProcID varchar(38) =\r\n dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01(Object, SubObject, GenProcID) select distinct 'JobGen', dbo.QBM_FGITableName(c.UID_DialogTable) , @GenProcID from deleted i join\r\n job j on i.uid_Job = j.uid_job join Jobchain c on j.uid_Jobchain = c.uid_Jobchain join JobEventGen e on e.UID_JobChain = c.UID_JobChain where c.IsDeactivatedByPreProcessor\r\n = 0 and c.NoGenerate = 0 exec QBM_PDBQueueInsert_Bulk 'QBM-K-ScriptAssemblyReset', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 1,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDAssembly_JobTask",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "JobTask",
      "CreateDate": "2025-06-27T18:01:01.793",
      "ModifyDate": "2026-04-14T23:23:08.387",
      "Definition": " create   trigger QBM_TDAssembly_JobTask on JobTask  for delete not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start:  exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'JobGen', \r\n'%', @GenProcID  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDAssembly_QBMAttribute",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMAttribute",
      "CreateDate": "2025-12-15T18:08:00.743",
      "ModifyDate": "2026-04-14T23:23:08.497",
      "Definition": "create   trigger QBM_TDAssembly_QBMAttribute on QBMAttribute for Delete not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'Attributes'\r\n, '#', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDAssembly_QBMEvent",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMEvent",
      "CreateDate": "2025-06-27T18:01:01.803",
      "ModifyDate": "2026-04-14T23:23:08.56",
      "Definition": " create   trigger QBM_TDAssembly_QBMEvent on QBMEvent  for Delete not for Replication as begin  declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n(Object, SubObject, GenProcID) select  'JobGen', dbo.QBM_FGITableName(d.UID_DialogTable), @GenProcID from deleted d  union select 'TypedWrappers', '#',\r\n @GenProcID exec QBM_PDBQueueInsert_Bulk 'QBM-K-ScriptAssemblyReset', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 1
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDAssembly_QBMRelation",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMRelation",
      "CreateDate": "2025-06-27T18:01:01.823",
      "ModifyDate": "2026-04-14T23:23:08.633",
      "Definition": "  create   trigger QBM_TDAssembly_QBMRelation on QBMRelation  for Delete not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'TypedWrappers'\r\n, '#', @GenProcID  exec QBM_PDBQueueInsert_Single 'QBM-K-CommonMakeRITriggerPre', '', '', @GenProcID declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select t.TableName as UID from deleted d join DialogColumn\r\n c on d.UID_ParentColumn = c.UID_DialogColumn join DialogTable t on c.UID_DialogTable = t.UID_DialogTable  where d.ParentExecuteBy in ('T', 'D') union \r\nselect t.TableName as UID from deleted d join DialogColumn c on d.UID_ChildColumn = c.UID_DialogColumn join DialogTable t on c.UID_DialogTable = t.UID_DialogTable\r\n  where d.ParentExecuteBy in ('T', 'D') ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonMakeWatchtrigger', @DBQueueElements_01 exec QBM_PDBQueueInsert_Bulk\r\n 'QBM-K-CommonMakeRITrigger' , @DBQueueElements_01  declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from (select t.TableName as UID from deleted d join DialogColumn c on d.UID_ParentColumn = c.UID_DialogColumn join DialogTable\r\n t on c.UID_DialogTable = t.UID_DialogTable  ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonMakeRITrigger' , @DBQueueElements_02  END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDAssembly_QBMScriptHasFea",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMScriptHasFeature",
      "CreateDate": "2025-06-27T18:01:01.837",
      "ModifyDate": "2026-04-14T23:23:08.64",
      "Definition": " create   trigger QBM_TDAssembly_QBMScriptHasFea on QBMScriptHasFeature  for Delete not for Replication as begin declare @GenProcID varchar(38) \r\n= dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: declare @DBQueueElements_01 QBM_YDBQueueRaw \r\ninsert into @DBQueueElements_01(Object, SubObject, GenProcID) select distinct 'Scripts', d.UID_DialogScript , @GenProcID from deleted d exec QBM_PDBQueueInsert_Bulk\r\n 'QBM-K-ScriptAssemblyReset', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDAssembly_QBMTree",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMTree",
      "CreateDate": "2025-06-27T18:01:01.86",
      "ModifyDate": "2026-04-14T23:23:08.667",
      "Definition": "create   trigger QBM_TDAssembly_QBMTree on QBMTree  for Delete not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'Tree', '#'\r\n, @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDAssembly_QBMTreeResult",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMTreeResult",
      "CreateDate": "2025-06-27T18:01:01.87",
      "ModifyDate": "2026-04-14T23:23:08.68",
      "Definition": "create   trigger QBM_TDAssembly_QBMTreeResult on QBMTreeResult  for Delete not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'Tree', '#'\r\n, @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDAssembly_QBMViewAddOn",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMViewAddOn",
      "CreateDate": "2025-06-27T18:01:01.85",
      "ModifyDate": "2026-04-14T23:23:08.703",
      "Definition": " create   trigger QBM_TDAssembly_QBMViewAddOn on QBMViewAddOn  for Delete not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start:  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from (select t.UID_DialogTable as UID from deleted i join DialogTable t on i.UID_DialogTable\r\n = t.UID_DialogTable where i.IsGenerated = 0 union select t2.UID_DialogTable from deleted i join DialogTable t on i.UID_DialogTable = t.UID_DialogTable\r\n join DialogTable t2 on t.UID_DialogTableBase = t2.UID_DialogTable where i.IsGenerated = 0 union select t2.UID_DialogTableUnion from deleted i join DialogTable\r\n t on i.UID_DialogTable = t.UID_DialogTable join DialogTable t2 on t.UID_DialogTableUnion = t2.UID_DialogTable where i.IsGenerated = 0 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QBM-K-CommonRebuildView', @DBQueueElements_01  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDDialogAuthentifier",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogAuthentifier",
      "CreateDate": "2025-06-27T18:01:01.043",
      "ModifyDate": "2026-04-14T23:23:08.03",
      "Definition": " create   trigger QBM_TDDialogAuthentifier on DialogAuthentifier  for Delete not for Replication as begin  declare @GenProcID varchar(38) BEGIN \r\nTRY if exists (select top 1 1 from deleted) goto start return start: select @GenProcID = dbo.QBM_FGISessionContext('') exec QBM_PDBQueueInsert_Single 'QBM-K-CommonInitialAuthentifier'\r\n, '', '', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDDialogColumn",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogColumn",
      "CreateDate": "2025-06-27T18:01:00.837",
      "ModifyDate": "2026-04-14T23:23:08.037",
      "Definition": "  create   trigger QBM_TDDialogColumn on DialogColumn  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted\r\n) goto start return start: declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('')  declare @DBQueueElements_36836 QBM_YDBQueueRaw insert into @DBQueueElements_36836\r\n(Object, SubObject, GenProcID) select x.uid, null, @GenProcID from ( select ra.UID_DialogTableParent as uid from deleted t join QBM_VQBMRelationALL ra \r\non t.UID_DialogTable = ra.UID_DialogTableChild union select ra.UID_DialogTableChild from deleted t join QBM_VQBMRelationALL ra on t.UID_DialogTable = ra.UID_DialogTableParent\r\n union select t.UID_DialogTable from deleted t ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-MissingDisplayRightFill', @DBQueueElements_36836   declare @DBQueueElements_478459\r\n QBM_YDBQueueRaw insert into @DBQueueElements_478459 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select distinct t.TableName as\r\n UID from deleted d join DialogTable t on d.UID_DialogTable = t.UID_DialogTable ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-IndexCreateGenerated', @DBQueueElements_478459\r\n  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDDialogColumnGroupRight",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogColumnGroupRight",
      "CreateDate": "2025-06-27T18:01:01.503",
      "ModifyDate": "2026-04-14T23:23:08.04",
      "Definition": "create   trigger QBM_TDDialogColumnGroupRight on DialogColumnGroupRight  for Delete not for Replication as begin  BEGIN TRY if exists (select top\r\n 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('')  declare @DBQueueElements_36836 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_36836(Object, SubObject, GenProcID) select x.uid, null, @GenProcID from ( select ra.UID_DialogTableParent as uid from deleted\r\n t join DialogColumn c on t.UID_DialogColumn = c.UID_DialogColumn join QBM_VQBMRelationALL ra on c.UID_DialogTable = ra.UID_DialogTableChild union select\r\n ra.UID_DialogTableChild from deleted t join DialogColumn c on t.UID_DialogColumn = c.UID_DialogColumn join QBM_VQBMRelationALL ra on c.UID_DialogTable\r\n = ra.UID_DialogTableParent union select c.UID_DialogTable from deleted t join DialogColumn c on t.UID_DialogColumn = c.UID_DialogColumn ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QBM-K-MissingDisplayRightFill', @DBQueueElements_36836  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDDialogColumnHasSemaphor",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogColumnHasSemaphor",
      "CreateDate": "2025-06-27T18:01:01.31",
      "ModifyDate": "2026-04-14T23:23:08.043",
      "Definition": " create   trigger QBM_TDDialogColumnHasSemaphor on DialogColumnHasSemaphor  for Delete not for Replication as begin  BEGIN TRY if exists (select\r\n top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDDialogConfigParm",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogConfigParm",
      "CreateDate": "2025-06-27T18:01:00.853",
      "ModifyDate": "2026-04-14T23:23:08.047",
      "Definition": " create   trigger QBM_TDDialogConfigParm on DialogConfigParm  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from \r\ndeleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') exec QBM_PDBQueueInsert_Single 'QBM-K-CommonConfigParm'\r\n, '', '', @GenProcID if exists (select top 1 1 from deleted i where i.IsPreprocessorCondition = 1 ) begin exec QBM_PDBQueueInsert_Single 'QBM-K-PrepropGenerateFunction'\r\n, '', '', @GenProcID    end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDDialogConfigParmOption",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogConfigParmOption",
      "CreateDate": "2025-06-27T18:01:00.867",
      "ModifyDate": "2026-04-14T23:23:08.05",
      "Definition": "  create   trigger QBM_TDDialogConfigParmOption on DialogConfigParmOption  for Delete not for Replication as begin  BEGIN TRY if exists (select \r\ntop 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  if exists (select top \r\n1 1 from deleted d join dialogConfigparm c on d.uid_configparm = c.uid_configparm where c.isPreprocessorCondition = 1 ) begin exec QBM_PDBQueueInsert_Single\r\n 'QBM-K-PrepropGenerateFunction', '', '', @GenProcID   end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END \r\nCATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDDialogCountryHasTimeZone",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogCountryHasTimeZone",
      "CreateDate": "2025-06-27T18:01:01.12",
      "ModifyDate": "2026-04-14T23:23:08.057",
      "Definition": "create   trigger QBM_TDDialogCountryHasTimeZone on DialogCountryHasTimeZone  for Delete not for Replication as begin  BEGIN TRY if exists (select\r\n top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select distinct i.UID_DialogCountry\r\n as uid from deleted i ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonCountryUTCOffset', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDDialogDashBoardDef",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogDashBoardDef",
      "CreateDate": "2025-06-27T18:01:01.067",
      "ModifyDate": "2026-04-14T23:23:08.063",
      "Definition": " create   trigger QBM_TDDialogDashBoardDef on DialogDashBoardDef  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from\r\n deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select uid_DialogDashBoardDef as UID from deleted \r\n) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonDashboardDef', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (''\r\n, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDDialogGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogGroup",
      "CreateDate": "2025-06-27T18:01:00.877",
      "ModifyDate": "2026-04-14T23:23:08.077",
      "Definition": " create   trigger QBM_TDDialogGroup on DialogGroup  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted) goto\r\n start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate'\r\n, 'QBM-K-CommonGroupNumber', '', @GenProcID exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate', 'QBM-K-CommonGroupPattern', '', @GenProcID exec QBM_PDBQueueInsert_Single\r\n 'QBM-K-CommonReCalculate', 'QBM-K-CommonGroupCollection', '', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH\r\n NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDDialogGroupCollection",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogGroupCollection",
      "CreateDate": "2025-06-27T18:01:01.513",
      "ModifyDate": "2026-04-14T23:23:08.08",
      "Definition": " create   trigger QBM_TDDialogGroupCollection on DialogGroupCollection  for Delete not for Replication as begin  BEGIN TRY if exists (select top\r\n 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('')  exec QBM_PDBQueueInsert_Single 'QBM-K-CommonRecalculate'\r\n, 'QBM-K-MissingDisplayRightFill', '', @GenProcID  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDDialogGroupHasFeature",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogGroupHasFeature",
      "CreateDate": "2025-06-27T18:01:01.023",
      "ModifyDate": "2026-04-14T23:23:08.083",
      "Definition": "  create   trigger QBM_TDDialogGroupHasFeature on DialogGroupHasFeature  for Delete not for Replication as begin  BEGIN TRY if exists (select top\r\n 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDDialogGroupInGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogGroupInGroup",
      "CreateDate": "2025-06-27T18:01:00.89",
      "ModifyDate": "2026-04-14T23:23:08.09",
      "Definition": "  create   trigger QBM_TDDialogGroupInGroup on DialogGroupInGroup  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 \r\nfrom deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') exec QBM_PDBQueueInsert_Single \r\n'QBM-K-CommonReCalculate', 'QBM-K-CommonGroupCollection', '', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH\r\n NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDDialogMultiLanguage",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogMultiLanguage",
      "CreateDate": "2025-06-27T18:01:00.9",
      "ModifyDate": "2026-04-14T23:23:08.11",
      "Definition": "  create   trigger QBM_TDDialogMultiLanguage on DialogMultiLanguage  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 \r\n1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if exists (select top 1 1 from\r\n deleted d join dialogcolumn c on d.uid_dialogcolumn = c.uid_dialogcolumn and c.UID_DialogTable in ('QBM-T-QBMTree', 'QBM-T-DialogMethod', 'QBM-T-DialogSheet'\r\n) ) begin         exec QBM_PDBQueueInsert_single 'QBM-K-CommonIncSemaphor', 'DIALOG', '', @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd \r\ndefault RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDDialogObjectHasSheet",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogObjectHasSheet",
      "CreateDate": "2025-06-27T18:01:01.01",
      "ModifyDate": "2026-04-14T23:23:08.12",
      "Definition": " create   trigger QBM_TDDialogObjectHasSheet on DialogObjectHasSheet  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1\r\n 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 \r\nQBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uid_DialogSheet as\r\n uid from deleted ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropSheet', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDDialogProcessChain",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogProcessChain",
      "CreateDate": "2025-06-27T18:01:01.177",
      "ModifyDate": "2026-04-14T23:23:08.13",
      "Definition": "  create   trigger QBM_TDDialogProcessChain on DialogProcessChain  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 \r\nfrom deleted) goto start return start:  delete DialogProcessStep from DialogProcessStep p join deleted d on p.UID_Tree = d.UID_Tree where d.ReadyForDeleteOrExport\r\n = 1 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDDialogScriptAssembly",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogScriptAssembly",
      "CreateDate": "2025-06-27T18:01:01.383",
      "ModifyDate": "2026-04-14T23:23:08.157",
      "Definition": " create   trigger QBM_TDDialogScriptAssembly on DialogScriptAssembly  for Delete not for Replication as begin declare @xdate datetime = getutcdate\r\n() declare @XUser nvarchar(64) BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: select @xuser = dbo.QBM_FGISessionContext('XUser'\r\n) update dialogSemaphor set ChangeCounter = ChangeCounter +1 , XDateUpdated = @XDate , XUserUpdated = @XUser where ChangeContext = 'ASSEMBLY' END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDDialogState",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogState",
      "CreateDate": "2025-06-27T18:01:01.097",
      "ModifyDate": "2026-04-14T23:23:08.163",
      "Definition": "create   trigger QBM_TDDialogState on DialogState  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted) goto\r\n start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (Object, SubObject, GenProcID) select x.uid, null, @GenProcID from (select i.UID_DialogState as uid from deleted i ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'QBM-K-CommonStateUTCOffset2', @DBQueueElements_01 exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonStateUTCOffset', @DBQueueElements_01\r\n declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (Object, SubObject, GenProcID) select x.uid, null, @GenProcID from (select\r\n distinct i.UID_DialogCountry as uid from deleted i ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonCountryUTCOffset', @DBQueueElements_02 END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDDialogStateHasTimeZone",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogStateHasTimeZone",
      "CreateDate": "2025-06-27T18:01:01.113",
      "ModifyDate": "2026-04-14T23:23:08.167",
      "Definition": "create   trigger QBM_TDDialogStateHasTimeZone on DialogStateHasTimeZone  for Delete not for Replication as begin  BEGIN TRY if exists (select top\r\n 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select distinct i.UID_DialogState \r\nas uid from deleted i ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonStateUTCOffset2', @DBQueueElements_01 exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonStateUTCOffset'\r\n, @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from (select distinct s.UID_Dialogcountry as uid from deleted i join dialogstate s on i.uid_dialogState = s.uid_dialogstate ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QBM-K-CommonCountryUTCOffset', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH \r\nend \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDDialogTable",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogTable",
      "CreateDate": "2025-06-27T18:01:00.963",
      "ModifyDate": "2026-04-14T23:23:08.17",
      "Definition": "  create   trigger QBM_TDDialogTable on DialogTable  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted) \r\ngoto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  exec QBM_PGUIDReplaceCustomizerFill    exec \r\nQBM_PDBQueueInsert_Single 'QBM-K-TableRevisionFill', null, null, @GenProcID  declare @DBQueueElements_36836 QBM_YDBQueueRaw insert into @DBQueueElements_36836\r\n(Object, SubObject, GenProcID) select x.uid, null, @GenProcID from ( select ra.UID_DialogTableParent as uid from deleted t join QBM_VQBMRelationALL ra \r\non t.UID_DialogTable = ra.UID_DialogTableChild union select ra.UID_DialogTableChild from deleted t join QBM_VQBMRelationALL ra on t.UID_DialogTable = ra.UID_DialogTableParent\r\n union select t.UID_DialogTable from deleted t ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-MissingDisplayRightFill', @DBQueueElements_36836  END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDDialogTableGroupRight",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogTableGroupRight",
      "CreateDate": "2025-06-27T18:01:01.487",
      "ModifyDate": "2026-04-14T23:23:08.173",
      "Definition": "create   trigger QBM_TDDialogTableGroupRight on DialogTableGroupRight  for Delete not for Replication as begin  BEGIN TRY if exists (select top \r\n1 1 from deleted) goto start return start: declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('')  declare @DBQueueElements_36836 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_36836(Object, SubObject, GenProcID) select x.uid, null, @GenProcID from ( select ra.UID_DialogTableParent as uid from deleted\r\n t join QBM_VQBMRelationALL ra on t.UID_DialogTable = ra.UID_DialogTableChild union select ra.UID_DialogTableChild from deleted t join QBM_VQBMRelationALL\r\n ra on t.UID_DialogTable = ra.UID_DialogTableParent union select t.UID_DialogTable from deleted t ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-MissingDisplayRightFill'\r\n, @DBQueueElements_36836  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDDialogUser",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogUser",
      "CreateDate": "2025-06-27T18:01:00.98",
      "ModifyDate": "2026-04-14T23:23:08.183",
      "Definition": "  create   trigger QBM_TDDialogUser on DialogUser  for Delete not for Replication as begin  declare @ProcName nvarchar(64) = object_name(@@procid\r\n) declare @DebugSwitch int = 0 BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: if @Debugswitch > 0 begin print 'entry : ' + \r\n@ProcName end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH if @Debugswitch > 0 begin print 'exit : '\r\n + @ProcName end end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDDialogUserInGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogUserInGroup",
      "CreateDate": "2025-06-27T18:01:00.99",
      "ModifyDate": "2026-04-14T23:23:08.19",
      "Definition": "  create   trigger QBM_TDDialogUserInGroup on DialogUserInGroup  for Delete not for Replication as begin  declare @ProcName nvarchar(64) = object_name\r\n(@@procid) declare @DebugSwitch int = 0 declare @XUser nvarchar(64) BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: declare \r\n@GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if @Debugswitch > 0 begin print 'entry : ' + @ProcName end if @XUser = 'QBM_PDialogUserInGroupCorrect'\r\n begin if @Debugswitch > 0 begin print 'recursion exit  : ' + @ProcName end goto endlabel end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct UID_DialogUser as uid from deleted ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QBM-K-DialogUserInGroup', @DBQueueElements_01 if @Debugswitch > 0 begin print 'ready : ' + @ProcName end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH if @Debugswitch > 0 begin print 'entry : ' + @ProcName end endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDDialogValidDynamicRef",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogValidDynamicRef",
      "CreateDate": "2025-06-27T18:01:01.323",
      "ModifyDate": "2026-04-14T23:23:08.193",
      "Definition": "  create   trigger QBM_TDDialogValidDynamicRef on DialogValidDynamicRef  for Delete not for Replication as begin  BEGIN TRY if exists (select top\r\n 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDDialogWatchOperation",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogWatchOperation",
      "CreateDate": "2025-06-27T18:01:01.17",
      "ModifyDate": "2026-04-14T23:23:08.197",
      "Definition": "  create   trigger QBM_TDDialogWatchOperation on DialogWatchOperation  for Delete not for Replication as begin  BEGIN TRY if exists (select top \r\n1 1 from deleted) goto start return start:  delete DialogWatchProperty from DialogWatchProperty p join deleted d on p.UID_DialogWatchOperation = d.UID_DialogWatchOperation\r\n where d.ReadyForDeleteOrExport = 1 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDjobcomponent",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "JobComponent",
      "CreateDate": "2025-06-27T18:01:01.183",
      "ModifyDate": "2026-04-14T23:23:08.373",
      "Definition": " create   trigger QBM_TDjobcomponent on JobComponent  for delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted)\r\n goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') exec QBM_PDBQueueInsert_Single 'QBM-K-JobPerformanceFill'\r\n, '', '', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDJobqueue",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "JobQueue",
      "CreateDate": "2025-06-27T18:01:01.21",
      "ModifyDate": "2026-04-14T23:23:08.383",
      "Definition": "  create   trigger QBM_TDJobqueue on JobQueue  for delete not for Replication as begin   declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') declare @CountElementAffected int = 0 declare @DeletedElements QBM_YParameterList    BEGIN TRY if exists (select top 1 1 from deleted) goto start \r\nreturn start: insert into @DeletedElements (Parameter1, Parameter2, ContentShort) select d.UID_Job, d.UID_Tree, d.Queue from deleted d  declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01(Object, SubObject, GenProcID) select dbo.QBM_FCVStringToGUID('', x.QueueName), null, @GenProcID from (\r\n select d.ContentShort as QueueName from @DeletedElements d group by d.ContentShort  ) as x  delete  @DBQueueElements_01 from @DBQueueElements_01 q join\r\n QBMJobqueueOverview o with (readpast) on q.Object = o.UID_QBMJobqueueOverview where o.IsInvalid = 1 if exists (select top 1 1 from @DBQueueElements_01\r\n ) begin   exec QBM_PJobQueueOverviewSetInv @DBQueueElements_01 end    delete QBMElementAffectedByJob from @DeletedElements d join QBMElementAffectedByJob\r\n a on d.Parameter1  = a.UID_Job select @CountElementAffected = @@rowcount   delete JobtreeParamColl from @DeletedElements d join JobtreeParamColl a on \r\nd.Parameter2  = a.UID_Tree  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDJobTask",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "JobTask",
      "CreateDate": "2025-06-27T17:58:55.14",
      "ModifyDate": "2026-04-14T23:23:08.387",
      "Definition": " create   trigger QBM_TDJobTask on JobTask  for delete not for Replication as begin   BEGIN TRY if exists (select top 1 1 from deleted) goto start\r\n return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') exec QBM_PDBQueueInsert_Single 'QBM-K-JobPerformanceFill'\r\n, '', '', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDQBMCEFDefinition",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMCEFDefinition",
      "CreateDate": "2025-12-15T18:08:02.763",
      "ModifyDate": "2026-04-14T23:23:08.503",
      "Definition": "create   trigger QBM_TDQBMCEFDefinition on QBMCEFDefinition  for Delete not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start:  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct isnull(b.TableName, tv.TableName ) as uid from deleted c  join DialogTable\r\n tv on c.UID_DialogTable = tv.UID_DialogTable left outer join DialogTable b on tv.UID_DialogTableBase = b.UID_DialogTable ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QBM-K-CommonMakeWatchtrigger', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH \r\nende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDQBMDBPrincipal",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMDBPrincipal",
      "CreateDate": "2025-06-27T18:01:01.443",
      "ModifyDate": "2026-04-14T23:23:08.537",
      "Definition": " create   trigger QBM_TDQBMDBPrincipal on QBMDBPrincipal  for delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted\r\n) goto start return start: if exists (select top 1 1 from deleted where LoginName > ' ' and dbo.QBM_FCVGUIDToModuleOwner(UID_QBMDBPrincipal) <> dbo.QBM_FGIDBOwner\r\n()) begin raiserror('#LDS#Deletion on permission table {0} is not allowed.|QBMDBPrincipal|', 18, 1) with nowait end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDQBMDBPrincipalHasRoleDef",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMDBPrincipalHasRoleDef",
      "CreateDate": "2025-06-27T18:01:01.45",
      "ModifyDate": "2026-04-14T23:23:08.537",
      "Definition": " create   trigger QBM_TDQBMDBPrincipalHasRoleDef on QBMDBPrincipalHasRoleDef for Delete not for Replication as begin BEGIN TRY if exists (select\r\n top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct UID_QBMDBRoleDef \r\nas uid from deleted ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-DBRoleDefCreate', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDQBMDBRightsAddOn",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMDBRightsAddOn",
      "CreateDate": "2025-06-27T18:01:01.46",
      "ModifyDate": "2026-04-14T23:23:08.547",
      "Definition": " create   trigger QBM_TDQBMDBRightsAddOn on QBMDBRightsAddOn for Delete not for Replication as begin BEGIN TRY if exists (select top 1 1 from deleted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct UID_QBMDBRoleDef as uid from deleted\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-DBRoleDefPropagate', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (''\r\n, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDQBMDBRoleDef",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMDBRoleDef",
      "CreateDate": "2025-06-27T18:01:01.467",
      "ModifyDate": "2026-04-14T23:23:08.55",
      "Definition": " create   trigger QBM_TDQBMDBRoleDef on QBMDBRoleDef  for delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted)\r\n goto start return start: if exists (select top 1 1 from deleted where dbo.QBM_FCVGUIDToModuleOwner(UID_QBMDBRoleDef) <> dbo.QBM_FGIDBOwner()) begin raiserror\r\n('#LDS#Deletion on permission table {0} is not allowed.|QBMDBRoleDef|', 18, 1) with nowait end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDQBMFileHasDeployTarget",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMFileHasDeployTarget",
      "CreateDate": "2025-06-27T18:01:01.417",
      "ModifyDate": "2026-04-14T23:23:08.57",
      "Definition": " create   trigger QBM_TDQBMFileHasDeployTarget on QBMFileHasDeployTarget  for delete not for Replication as begin  declare @GenProcID varchar(38\r\n) BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: select @GenProcID = dbo.QBM_FGISessionContext('') exec QBM_PDBQueueInsert_Single\r\n 'QBM-K-CommonSoftwareRevision', '', '', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDQBMFileRevision",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMFileRevision",
      "CreateDate": "2025-06-27T18:01:01.343",
      "ModifyDate": "2026-04-14T23:23:08.573",
      "Definition": " create   trigger QBM_TDQBMFileRevision on QBMFileRevision  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') exec QBM_PDBQueueInsert_Single 'QBM-K-CommonSoftwareRevision'\r\n, '', '', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDQBMRelation",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMRelation",
      "CreateDate": "2025-06-27T18:01:01.277",
      "ModifyDate": "2026-04-14T23:23:08.633",
      "Definition": "  create   trigger QBM_TDQBMRelation on QBMRelation  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted) \r\ngoto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select t.TableName as UID from deleted d join DialogColumn\r\n c on d.UID_ParentColumn = c.UID_DialogColumn join DialogTable t on c.UID_DialogTable = t.UID_DialogTable  where d.ParentExecuteBy in ('T', 'D') union \r\nselect t.TableName as UID from deleted d join DialogColumn c on d.UID_ChildColumn = c.UID_DialogColumn join DialogTable t on c.UID_DialogTable = t.UID_DialogTable\r\n  where d.ParentExecuteBy in ('T', 'D') ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropTable', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDQBMServer",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMServer",
      "CreateDate": "2025-06-27T18:01:01.223",
      "ModifyDate": "2026-04-14T23:23:08.643",
      "Definition": " create   trigger QBM_TDQBMServer on QBMServer  for delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted) goto \r\nstart return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') exec QBM_PDBQueueInsert_Single 'QBM-K-JobPerformanceFill'\r\n, '', '', @GenProcID    delete QBMJobqueueOverview from QBMJobqueueOverview o join deleted d on o.UID_QBMJobqueueOverview = dbo.QBM_FCVStringToGUID('',\r\n d.QueueName) END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDQBMServerHasDeployTarget",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMServerHasDeployTarget",
      "CreateDate": "2025-06-27T18:01:01.407",
      "ModifyDate": "2026-04-14T23:23:08.647",
      "Definition": " create   trigger QBM_TDQBMServerHasDeployTarget on QBMServerHasDeployTarget  for Delete not for Replication as begin  declare @GenProcID varchar\r\n(38) = dbo.QBM_FGISessionContext('')  declare @EntriesToFire QBM_YParameterList declare @DebugSwitch int = 0 declare @ConfigparmAutoupdate int BEGIN TRY\r\n if exists (select top 1 1 from deleted) goto start return start: select @ConfigparmAutoupdate = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue('Common\\Autoupdate'\r\n), 0)  if dbo.QBM_FGISessionContext ('Fullsync') = '' begin insert into @EntriesToFire (Parameter1) select distinct q.XObjectKey from deleted x join QBMServer\r\n q on x.UID_QBMServer = q.UID_QBMServer where @ConfigparmAutoupdate = 1 if @DebugSwitch > 0 begin print '@EntriesToFire ' select * from @EntriesToFire \r\nend exec QBM_PJobCreate_HOFireEvent_L 'QBMServer', @EntriesToFire ,'DeployTargetChanged', @GenProcID , @CheckForExisting = 1 , @AdditionalObjectKeysAffected\r\n = DEFAULT end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDQBMTreeHasSheet",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMTreeHasSheet",
      "CreateDate": "2025-06-27T18:01:01.547",
      "ModifyDate": "2026-04-14T23:23:08.673",
      "Definition": "create   trigger QBM_TDQBMTreeHasSheet on QBMTreeHasSheet  for Delete not for Replication as begin BEGIN TRY if exists (select top 1 1 from deleted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uid_DialogSheet as uid from deleted\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropSheet', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (''\r\n, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDQBMTreeResultHasSheet",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMTreeResultHasSheet",
      "CreateDate": "2025-06-27T18:01:01.553",
      "ModifyDate": "2026-04-14T23:23:08.687",
      "Definition": "create   trigger QBM_TDQBMTreeResultHasSheet on QBMTreeResultHasSheet  for Delete not for Replication as begin BEGIN TRY if exists (select top 1\r\n 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 \r\nQBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uid_DialogSheet as\r\n uid from deleted ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropSheet', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDQBMUniqueGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMUniqueGroup",
      "CreateDate": "2025-06-27T18:01:01.37",
      "ModifyDate": "2026-04-14T23:23:08.693",
      "Definition": " create   trigger QBM_TDQBMUniqueGroup on QBMUniqueGroup  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select distinct dbo.QBM_FGITableName(i.UID_DialogTable\r\n) as UID from deleted i ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-IndexCreateGenerated', @DBQueueElements_01   declare @TableName varchar(30) while exists\r\n (select top 1 1 from @DBQueueElements_01 ) begin select @TableName = null select top 1 @TableName = e.Object from @DBQueueElements_01 e if @TableName \r\nis null begin continue end exec QBM_PIndexDrop @TableName, 'GEN[_]XA%' delete @DBQueueElements_01 where Object = @TableName end END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TDQBMUniqueGroupHasColumn",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMUniqueGroupHasColumn",
      "CreateDate": "2025-06-27T18:01:01.36",
      "ModifyDate": "2026-04-14T23:23:08.7",
      "Definition": " create   trigger QBM_TDQBMUniqueGroupHasColumn on QBMUniqueGroupHasColumn  for Delete not for Replication as begin  BEGIN TRY if exists (select\r\n top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select distinct dbo.QBM_FGITableName\r\n(g.UID_DialogTable) as UID from deleted i join QBMUniqueGroup g on i.UID_QBMUniqueGroup = g.UID_QBMUniqueGroup ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-IndexCreateGenerated'\r\n, @DBQueueElements_01   declare @TableName varchar(30) while exists (select top 1 1 from @DBQueueElements_01 ) begin select @TableName = null select top\r\n 1 @TableName = e.Object from @DBQueueElements_01 e if @TableName is null begin continue end exec QBM_PIndexDrop @TableName, 'GEN[_]XA%' delete @DBQueueElements_01\r\n where Object = @TableName end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIAssembly_DialogColHasSem",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogColumnHasSemaphor",
      "CreateDate": "2025-06-27T18:01:01.593",
      "ModifyDate": "2026-04-14T23:23:08.043",
      "Definition": "  create   trigger QBM_TIAssembly_DialogColHasSem on DialogColumnHasSemaphor  for Insert not for Replication as begin declare @GenProcID varchar\r\n(38) = dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start:  declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.UID, null, @GenProcID from (select distinct t.TableName as uid from inserted i\r\n join DialogColumn c on c.UID_DialogColumn = i.UID_DialogColumn join DialogTable t on c.UID_DialogTable = t.UID_DialogTable ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QBM-K-CommonMakeWatchtrigger', @DBQueueElements_01  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIAssembly_DialogColumn",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogColumn",
      "CreateDate": "2025-06-27T18:01:01.57",
      "ModifyDate": "2026-04-14T23:23:08.033",
      "Definition": "   create   trigger QBM_TIAssembly_DialogColumn on DialogColumn  for Insert not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: if exists (select top 1 1 from inserted i join dialogtable t on i.UID_DialogTable\r\n = t.UID_DialogTable where t.TableType in ('T', 'V') and i.Template > ' ' ) begin  exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'Tmpl', \r\n'#', @genProcID  end  exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'TypedWrappers', '#', @GenProcID  declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select i.UID_DialogTable as UID from inserted i union\r\n select t.UID_DialogTableBase from inserted i join dialogtable t on i.UID_DialogTable = t.UID_DialogTable where t.UID_DialogTableBase > ' ' union select\r\n t.UID_DialogTableUnion from inserted i join dialogtable t on i.UID_DialogTable = t.UID_DialogTable where t.UID_DialogTableUnion > ' ' ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QBM-K-CommonRebuildView', @DBQueueElements_01  declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from (select dbo.QBM_FGITableName(i.UID_DialogTable) as UID from inserted i union select dbo.QBM_FGITableName(t.UID_DialogTableBase\r\n) from dialogtable t join inserted c on c.UID_DialogTable = t.UID_DialogTable where t.UID_DialogTableBase > ' ' union  select dbo.QBM_FGITableName(t.UID_DialogTable\r\n) from dialogtable t join inserted c on c.UID_DialogTable = t.UID_DialogTableUnion  ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonMakeWatchtrigger',\r\n @DBQueueElements_02 exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonMakeRITrigger', @DBQueueElements_02  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIAssembly_DialogConfig",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogConfigParm",
      "CreateDate": "2025-06-27T18:01:01.603",
      "ModifyDate": "2026-04-14T23:23:08.047",
      "Definition": "   create   trigger QBM_TIAssembly_DialogConfig on DialogConfigParm  for Insert not for Replication as begin  declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'TypedWrappers'\r\n, '#', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIAssembly_DialogMethod",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogMethod",
      "CreateDate": "2025-06-27T18:01:01.617",
      "ModifyDate": "2026-04-14T23:23:08.107",
      "Definition": " create   trigger QBM_TIAssembly_DialogMethod on DialogMethod  for Insert not for Replication as begin  declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'DlgMth', \r\n'#', @GenProcID  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIAssembly_DialogObject",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogObject",
      "CreateDate": "2025-06-27T18:01:01.623",
      "ModifyDate": "2026-04-14T23:23:08.113",
      "Definition": "  create   trigger QBM_TIAssembly_DialogObject on DialogObject  for Insert not for Replication as begin  declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start:  if exists (select top 1 1 from inserted i where i.SelectScript > ' ' \r\nor i.InsertValues > ' ' ) begin exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'DlgObj', '#', @GenProcID  end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIAssembly_DialogObjHasM",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogObjectHasMethod",
      "CreateDate": "2025-06-27T18:01:01.63",
      "ModifyDate": "2026-04-14T23:23:08.117",
      "Definition": "  create   trigger QBM_TIAssembly_DialogObjHasM on DialogObjectHasMethod  for insert not for Replication as begin  declare @GenProcID varchar(38\r\n) = dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset'\r\n, 'DlgMth', '#', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIAssembly_DialogParameter",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogParameter",
      "CreateDate": "2025-06-27T18:01:01.64",
      "ModifyDate": "2026-04-14T23:23:08.12",
      "Definition": "  create   trigger QBM_TIAssembly_DialogParameter on DialogParameter  for Insert not for Replication as begin  declare @GenProcID varchar(38) = \r\ndbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: if exists (select top 1 1 from inserted where\r\n ValidationScript > ' ' or ValueScript > ' ' or OnPropertyChangedScript > ' ' ) begin exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'Parameters'\r\n, '#', @GenProcID  end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIAssembly_DialogScript",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogScript",
      "CreateDate": "2025-06-27T18:01:01.65",
      "ModifyDate": "2026-04-14T23:23:08.153",
      "Definition": "  create   trigger QBM_TIAssembly_DialogScript on DialogScript  for Insert not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n(Object, SubObject, GenProcID) select 'Scripts', i.UID_DialogScript , @GenProcID from inserted i exec QBM_PDBQueueInsert_Bulk 'QBM-K-ScriptAssemblyReset'\r\n, @DBQueueElements_01  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIAssembly_DialogSheet",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogSheet",
      "CreateDate": "2025-06-27T18:01:01.663",
      "ModifyDate": "2026-04-14T23:23:08.16",
      "Definition": "  create   trigger QBM_TIAssembly_DialogSheet on DialogSheet  for Insert not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'SheetIV',\r\n '#', @GenProcID  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIAssembly_DialogTable",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogTable",
      "CreateDate": "2025-06-27T18:01:01.68",
      "ModifyDate": "2026-04-14T23:23:08.17",
      "Definition": "   create   trigger QBM_TIAssembly_DialogTable on DialogTable  for Insert not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: if exists (select top 1 1 from inserted i where i.TableType in ('T', 'V'\r\n) ) begin exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'Table', '#', @GenProcID  end exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset'\r\n, 'TypedWrappers', '#', @GenProcID  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid\r\n, null, @GenProcID from (select i.UID_DialogTable as UID from inserted i union select i.UID_DialogTableBase from inserted i where i.UID_DialogTableBase\r\n > ' ' union select i.UID_DialogTableUnion from inserted i where i.UID_DialogTableUnion > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonRebuildView'\r\n, @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select dbo.QBM_FGITableName\r\n(x.uid), null, @GenProcID from (select i.UID_DialogTable as UID from inserted i  union select t.UID_DialogTable from dialogtable t join inserted c on c.UID_DialogTable\r\n = t.UID_DialogTableUnion  ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonMakeWatchtrigger', @DBQueueElements_02 exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonMakeRITrigger'\r\n, @DBQueueElements_02  declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from (select i.UID_DialogTable as UID from inserted i where TableType = 'R' ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonRebuildViewR', @DBQueueElements_03\r\n  declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select\r\n i.UID_DialogTable as UID from inserted i where TableType = 'U' ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonRebuildViewU', @DBQueueElements_04  exec\r\n QBM_PDBQueueInsert_Single 'QBM-K-DBRoleDefFill', '', '', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT\r\n END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIAssembly_DialogWebServ",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogWebService",
      "CreateDate": "2025-06-27T18:01:01.717",
      "ModifyDate": "2026-04-14T23:23:08.2",
      "Definition": "  create   trigger QBM_TIAssembly_DialogWebServ on DialogWebService  for Insert not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'WebServices'\r\n, '#', @GenProcID  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIAssembly_DialValDynRef",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogValidDynamicRef",
      "CreateDate": "2025-06-27T18:01:01.703",
      "ModifyDate": "2026-04-14T23:23:08.193",
      "Definition": "  create   trigger QBM_TIAssembly_DialValDynRef on DialogValidDynamicRef  for Insert not for Replication as begin declare @GenProcID varchar(38)\r\n = dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start:  exec QBM_PDBQueueInsert_Single 'QBM-K-CommonMakeRITriggerPre'\r\n, '', '', @GenProcID  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from (select t.TableName as UID from inserted i join DialogColumn c on i.UID_DialogColumn = c.UID_DialogColumn join DialogTable t on c.UID_DialogTable\r\n = t.UID_DialogTable  where ParentExecuteBy in ('T', 'D') union select t.TableName as UID from inserted i join DialogTable t on i.UID_DialogTableReference\r\n = t.UID_DialogTable  where ParentExecuteBy in ('T', 'D') ) as x  insert into @DBQueueElements_01 (object, subobject, genprocid) select b.TableName, null\r\n, e.GenProcID from @DBQueueElements_01 e join DialogTable v on e.Object = v.TableName join DialogTable b on v.UID_DialogTableBase = b.UID_DialogTable exec\r\n QBM_PDBQueueInsert_Bulk 'QBM-K-CommonMakeWatchtrigger', @DBQueueElements_01 exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonMakeRITrigger' , @DBQueueElements_01\r\n  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIAssembly_Job",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "Job",
      "CreateDate": "2025-06-27T18:01:01.727",
      "ModifyDate": "2026-04-14T23:23:08.363",
      "Definition": "   create   trigger QBM_TIAssembly_Job on Job  for Insert not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n(Object, SubObject, GenProcID) select distinct 'JobGen', dbo.QBM_FGITableName(c.UID_DialogTable) , @GenProcID from inserted i join Jobchain c on i.uid_Jobchain\r\n = c.uid_Jobchain join JobEventGen e on e.UID_JobChain = c.UID_JobChain where c.IsDeactivatedByPreProcessor = 0 and c.NoGenerate = 0 exec QBM_PDBQueueInsert_Bulk\r\n 'QBM-K-ScriptAssemblyReset', @DBQueueElements_01  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 1,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIAssembly_JobChain",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "JobChain",
      "CreateDate": "2025-06-27T18:01:01.747",
      "ModifyDate": "2026-04-14T23:23:08.37",
      "Definition": " create   trigger QBM_TIAssembly_JobChain on JobChain  for Insert not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n(Object, SubObject, GenProcID) select distinct 'JobGen', dbo.QBM_FGITableName(i.UID_DialogTable) , @GenProcID from inserted i join JobEventGen e on i.UID_JobChain\r\n = e.UID_JobChain where i.IsDeactivatedByPreProcessor = 0 and i.NoGenerate = 0 exec QBM_PDBQueueInsert_Bulk 'QBM-K-ScriptAssemblyReset', @DBQueueElements_01\r\n  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 1,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIAssembly_jobcomponent",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "JobComponent",
      "CreateDate": "2025-06-27T18:01:01.757",
      "ModifyDate": "2026-04-14T23:23:08.37",
      "Definition": "  create   trigger QBM_TIAssembly_jobcomponent on JobComponent  for insert not for Replication as begin  declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start:  exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'JobGen',\r\n '%', @GenProcID  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIAssembly_JobEventGen",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "JobEventGen",
      "CreateDate": "2025-06-27T18:01:01.77",
      "ModifyDate": "2026-04-14T23:23:08.373",
      "Definition": " create   trigger QBM_TIAssembly_JobEventGen on JobEventGen  for Insert not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n(Object, SubObject, GenProcID) select distinct 'JobGen', dbo.QBM_FGITableName(e.UID_DialogTable) , @GenProcID from inserted i join QBMEvent e on i.UID_QBMEvent\r\n = e.UID_QBMEvent exec QBM_PDBQueueInsert_Bulk 'QBM-K-ScriptAssemblyReset', @DBQueueElements_01  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default \r\nRAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 1,
      "HasQBMEvent": 1
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIAssembly_JobRunparameter",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "JobRunParameter",
      "CreateDate": "2025-06-27T18:01:01.78",
      "ModifyDate": "2026-04-14T23:23:08.383",
      "Definition": " create   trigger QBM_TIAssembly_JobRunparameter on JobRunparameter  for Insert not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (Object, SubObject, GenProcID) select distinct 'JobGen', dbo.QBM_FGITableName(c.UID_DialogTable) , @GenProcID from inserted i join job j on i.uid_Job \r\n= j.uid_job join Jobchain c on j.uid_Jobchain = c.uid_Jobchain join JobEventGen e on e.UID_JobChain = c.UID_JobChain where c.NoGenerate = 0 and c.IsDeactivatedByPreProcessor\r\n = 0 and j.IsDeactivatedByPreProcessor = 0 exec QBM_PDBQueueInsert_Bulk 'QBM-K-ScriptAssemblyReset', @DBQueueElements_01  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 1,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIAssembly_JobTask",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "JobTask",
      "CreateDate": "2025-06-27T18:01:01.79",
      "ModifyDate": "2026-04-14T23:23:08.387",
      "Definition": "  create   trigger QBM_TIAssembly_JobTask on JobTask  for insert not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start:  exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'JobGen',\r\n '%', @GenProcID  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIAssembly_QBMAttribute",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMAttribute",
      "CreateDate": "2025-12-15T18:08:00.72",
      "ModifyDate": "2026-04-14T23:23:08.497",
      "Definition": " create   trigger QBM_TIAssembly_QBMAttribute on QBMAttribute for Insert not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: if exists (select top 1 1 from inserted i where i.SelectScript > ' ' )\r\n begin exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'Attributes', '#', @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIAssembly_QBMEvent",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMEvent",
      "CreateDate": "2025-06-27T18:01:01.8",
      "ModifyDate": "2026-04-14T23:23:08.56",
      "Definition": "   create   trigger QBM_TIAssembly_QBMEvent on QBMEvent  for Insert not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n(Object, SubObject, GenProcID) select  'JobGen', dbo.QBM_FGITableName(i.UID_DialogTable) , @GenProcID from inserted i  union select 'TypedWrappers', '#'\r\n, @GenProcID exec QBM_PDBQueueInsert_Bulk 'QBM-K-ScriptAssemblyReset', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 1
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIAssembly_QBMRelation",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMRelation",
      "CreateDate": "2025-06-27T18:01:01.813",
      "ModifyDate": "2026-04-14T23:23:08.633",
      "Definition": "   create   trigger QBM_TIAssembly_QBMRelation on QBMRelation  for Insert not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'TypedWrappers'\r\n, '#', @GenProcID  exec QBM_PDBQueueInsert_Single 'QBM-K-CommonMakeRITriggerPre', '', '', @GenProcID  declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select t.TableName as UID from inserted i join DialogColumn\r\n c on i.UID_ChildColumn = c.UID_DialogColumn join DialogTable t on c.UID_DialogTable = t.UID_DialogTable  where ParentExecuteBy in ('T', 'D') union select\r\n t.TableName as UID from inserted i join DialogColumn c on i.UID_ParentColumn = c.UID_DialogColumn join DialogTable t on c.UID_DialogTable = t.UID_DialogTable\r\n  where ParentExecuteBy in ('T', 'D') ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonMakeWatchtrigger', @DBQueueElements_01 exec QBM_PDBQueueInsert_Bulk\r\n 'QBM-K-CommonPrepropTable', @DBQueueElements_01 exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonMakeRITrigger' , @DBQueueElements_01  END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIAssembly_QBMScriptHasFea",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMScriptHasFeature",
      "CreateDate": "2025-06-27T18:01:01.833",
      "ModifyDate": "2026-04-14T23:23:08.64",
      "Definition": "  create   trigger QBM_TIAssembly_QBMScriptHasFea on QBMScriptHasFeature  for Insert not for Replication as begin declare @GenProcID varchar(38)\r\n = dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01(Object, SubObject, GenProcID) select distinct 'Scripts', i.UID_DialogScript , @GenProcID from inserted i exec QBM_PDBQueueInsert_Bulk\r\n 'QBM-K-ScriptAssemblyReset', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIAssembly_QBMTree",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMTree",
      "CreateDate": "2025-06-27T18:01:01.86",
      "ModifyDate": "2026-04-14T23:23:08.667",
      "Definition": " create   trigger QBM_TIAssembly_QBMTree on QBMTree  for Insert not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'Tree', '#'\r\n, @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIAssembly_QBMTreeResult",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMTreeResult",
      "CreateDate": "2025-06-27T18:01:01.867",
      "ModifyDate": "2026-04-14T23:23:08.68",
      "Definition": " create   trigger QBM_TIAssembly_QBMTreeResult on QBMTreeResult  for Insert not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'Tree', '#'\r\n, @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIAssembly_QBMViewAddOn",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMViewAddOn",
      "CreateDate": "2025-06-27T18:01:01.847",
      "ModifyDate": "2026-04-14T23:23:08.703",
      "Definition": "  create   trigger QBM_TIAssembly_QBMViewAddOn on QBMViewAddOn  for Insert not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start:   declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from (select t.UID_DialogTable as UID from inserted i join DialogTable t on i.UID_DialogTable\r\n = t.UID_DialogTable where i.IsGenerated = 0 union select t2.UID_DialogTable from inserted i join DialogTable t on i.UID_DialogTable = t.UID_DialogTable\r\n join DialogTable t2 on t.UID_DialogTableBase = t2.UID_DialogTable where i.IsGenerated = 0 union select t2.UID_DialogTableUnion from inserted i join DialogTable\r\n t on i.UID_DialogTable = t.UID_DialogTable join DialogTable t2 on t.UID_DialogTableUnion = t2.UID_DialogTable where i.IsGenerated = 0 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QBM-K-CommonRebuildView', @DBQueueElements_01  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogAuthentifier",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogAuthentifier",
      "CreateDate": "2025-06-27T18:01:01.043",
      "ModifyDate": "2026-04-14T23:23:08.03",
      "Definition": "  create   trigger QBM_TIDialogAuthentifier on DialogAuthentifier  for Insert not for Replication as begin  declare @GenProcID varchar(38) BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: select @GenProcID = dbo.QBM_FGISessionContext('') exec QBM_PDBQueueInsert_Single\r\n 'QBM-K-CommonInitialAuthentifier', '', '', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogColumn",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogColumn",
      "CreateDate": "2025-06-27T18:01:00.807",
      "ModifyDate": "2026-04-14T23:23:08.033",
      "Definition": "   create   trigger QBM_TIDialogColumn on DialogColumn  for Insert not for Replication as begin  declare @ConditionsToCheck QBM_YParameterList declare\r\n @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() BEGIN TRY if exists (select top 1 1 from inserted) goto start return\r\n start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  insert into @ConditionsToCheck (ContentFull) select i.PreProcessorCondition\r\n from inserted i exec QBM_PPrePropCheckSyntax @ConditionsToCheck  update dialogcolumn set Datatype = dbo.QBM_FCVSchemaDatatypeToIntern(cc.DATA_TYPE, cc.CHARACTER_MAXIMUM_LENGTH\r\n) , SchemaDataType = cc.DATA_TYPE , schemaDataLen = cc.CHARACTER_MAXIMUM_LENGTH , XDateUpdated = @Xdate , XUserUpdated = @XUser from dialogcolumn c join\r\n inserted i on c.uid_dialogcolumn = i.uid_dialogcolumn join DialogTable t on c.UID_DialogTable = t.UID_DialogTable join information_schema.columns cc on\r\n cc.table_name = t.TableName and cc.column_name = i.columnname where isnull(i.datatype, 0) <> isnull(dbo.QBM_FCVSchemaDatatypeToIntern(cc.DATA_TYPE, cc.CHARACTER_MAXIMUM_LENGTH\r\n), 0) or isnull(i.SchemaDataType, '') <> cc.DATA_TYPE or isnull(i.SchemaDatalen, 0) <> isnull(cc.CHARACTER_MAXIMUM_LENGTH, 0)  declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select uid_dialogColumn as UID from\r\n inserted ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropColumn', @DBQueueElements_01   declare @DBQueueElements_02 QBM_YDBQueueRaw insert into\r\n @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select i.UID_DialogColumn as UID from inserted i where i.SplittedLookupSupport\r\n > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-SplittedLookupFill', @DBQueueElements_02  declare @DBQueueElements_36836 QBM_YDBQueueRaw insert into \r\n@DBQueueElements_36836(Object, SubObject, GenProcID) select x.uid, null, @GenProcID from ( select ra.UID_DialogTableParent as uid from inserted t join \r\nQBM_VQBMRelationALL ra on t.UID_DialogTable = ra.UID_DialogTableChild union select ra.UID_DialogTableChild from inserted t join QBM_VQBMRelationALL ra \r\non t.UID_DialogTable = ra.UID_DialogTableParent union select t.UID_DialogTable from inserted t ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-MissingDisplayRightFill'\r\n, @DBQueueElements_36836   declare @DBQueueElements_478459 QBM_YDBQueueRaw insert into @DBQueueElements_478459 (object, subobject, genprocid) select x.uid\r\n, null, @GenProcID from (select distinct t.TableName as UID from inserted i join DialogTable t on i.UID_DialogTable = t.UID_DialogTable ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QBM-K-IndexCreateGenerated', @DBQueueElements_478459  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogColumnGroupRight",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogColumnGroupRight",
      "CreateDate": "2025-06-27T18:01:01.497",
      "ModifyDate": "2026-04-14T23:23:08.04",
      "Definition": "  create   trigger QBM_TIDialogColumnGroupRight on DialogColumnGroupRight  for Insert not for Replication as begin  BEGIN TRY if exists (select \r\ntop 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('')  declare @DBQueueElements_36836 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_36836(Object, SubObject, GenProcID) select x.uid, null, @GenProcID from ( select ra.UID_DialogTableParent as uid from inserted\r\n i join DialogColumn c on i.UID_DialogColumn = c.UID_DialogColumn join QBM_VQBMRelationALL ra on c.UID_DialogTable = ra.UID_DialogTableChild union select\r\n ra.UID_DialogTableChild from inserted i join DialogColumn c on i.UID_DialogColumn = c.UID_DialogColumn join QBM_VQBMRelationALL ra on c.UID_DialogTable\r\n = ra.UID_DialogTableParent union select c.UID_DialogTable from inserted i join DialogColumn c on i.UID_DialogColumn = c.UID_DialogColumn ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QBM-K-MissingDisplayRightFill', @DBQueueElements_36836  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogColumnHasSemaphor",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogColumnHasSemaphor",
      "CreateDate": "2025-06-27T18:01:01.31",
      "ModifyDate": "2026-04-14T23:23:08.043",
      "Definition": "  create   trigger QBM_TIDialogColumnHasSemaphor on DialogColumnHasSemaphor  for Insert not for Replication as begin  BEGIN TRY if exists (select\r\n top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogConfigParm",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogConfigParm",
      "CreateDate": "2025-06-27T18:01:00.85",
      "ModifyDate": "2026-04-14T23:23:08.047",
      "Definition": "   create   trigger QBM_TIDialogConfigParm on DialogConfigParm  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from\r\n inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') exec QBM_PDBQueueInsert_Single 'QBM-K-CommonConfigParm'\r\n, '', '', @GenProcID if exists (select top 1 1 from inserted i where i.IsPreprocessorCondition = 1 ) begin exec QBM_PDBQueueInsert_Single 'QBM-K-PrepropGenerateFunction'\r\n, '', '', @GenProcID    end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogConfigParmOption",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogConfigParmOption",
      "CreateDate": "2025-06-27T18:01:00.863",
      "ModifyDate": "2026-04-14T23:23:08.05",
      "Definition": "   create   trigger QBM_TIDialogConfigParmOption on DialogConfigParmOption  for Insert not for Replication as begin  BEGIN TRY if exists (select\r\n top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  if exists (select top\r\n 1 1 from inserted i join dialogConfigparm c on i.uid_configparm = c.uid_configparm where c.isPreprocessorCondition = 1 ) begin exec QBM_PDBQueueInsert_Single\r\n 'QBM-K-PrepropGenerateFunction', '', '', @GenProcID   end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END \r\nCATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogCountryHasTimeZone",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogCountryHasTimeZone",
      "CreateDate": "2025-06-27T18:01:01.12",
      "ModifyDate": "2026-04-14T23:23:08.057",
      "Definition": " create   trigger QBM_TIDialogCountryHasTimeZone on DialogCountryHasTimeZone  for Insert not for Replication as begin  BEGIN TRY if exists (select\r\n top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select distinct i.UID_DialogCountry\r\n as uid from inserted i ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonCountryUTCOffset', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogCustomizer",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogCustomizer",
      "CreateDate": "2025-06-27T18:01:01.333",
      "ModifyDate": "2026-04-14T23:23:08.06",
      "Definition": "  create   trigger QBM_TIDialogCustomizer on DialogCustomizer  for Insert not for Replication as begin  declare @ConditionsToCheck QBM_YParameterList\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('')  insert into @ConditionsToCheck (ContentFull) select i.PreProcessorCondition from inserted i exec QBM_PPrePropCheckSyntax @ConditionsToCheck  declare\r\n @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select i.UID_Customizer\r\n as UID from inserted i ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrePropCustomizer', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogDashBoardDef",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogDashBoardDef",
      "CreateDate": "2025-06-27T18:01:01.057",
      "ModifyDate": "2026-04-14T23:23:08.063",
      "Definition": "  create   trigger QBM_TIDialogDashBoardDef on DialogDashBoardDef  for Insert not for Replication as begin  declare @SQLToCheck QBM_YParameterList\r\n declare @ConditionsToCheck QBM_YParameterList BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38\r\n) select @GenProcID = dbo.QBM_FGISessionContext('')  insert into @ConditionsToCheck (ContentFull) select i.PreProcessorCondition from inserted i exec QBM_PPrePropCheckSyntax\r\n @ConditionsToCheck   insert into @SQLToCheck(Parameter1, ContentFull) select c.XObjectKey, c.QueryDefinition100 from inserted c  where c.QueryDefinition100\r\n > ' '  insert into @SQLToCheck(Parameter1, ContentFull) select c.XObjectKey, c.QueryDefinition from inserted c  where c.QueryDefinition > ' '  insert \r\ninto @SQLToCheck(Parameter1, ContentFull) select c.XObjectKey, 'select top 1 1 as columnvalue from ' + 'DialogDashBoardContent' + ' \r\n\t\twhere (\r\n\t\t' + \r\nc.AccessWhereClause + '\r\n\t\t)' from inserted c  where c.AccessWhereClause > ' ' exec QBM_PSQLCheckExecutable @SQLToCheck, @RaiseError = 1 declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_DialogDashBoardDef as \r\nuid from inserted ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonDashboardDef', @DBQueueElements_01 exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropDashboardDef'\r\n, @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogDBQueue",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogDBQueue",
      "CreateDate": "2025-06-27T18:01:01.077",
      "ModifyDate": "2026-04-14T23:23:08.07",
      "Definition": "  create   trigger QBM_TIDialogDBQueue on DialogDBQueue  for Insert not for Replication as begin  declare @GenProcID varchar(38) declare @XUser \r\nnvarchar(64) declare @DebugSwitch int = 0 declare @errmsg nvarchar(1000) BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: select\r\n @GenProcID = dbo.QBM_FGISessionContext('') select @XUser = dbo.QBM_FGISessionContext('XUser') if @DebugSwitch > 0 begin prinT 'trigger QBM_TIDialogDBQueue  '\r\n print 'Procedure ' + object_name(@@procid) print '@GenProcID ' + @GenProcID print '@XUser ' + @XUser end if  @xuser not in ( 'QBM_PDBQueueInsert_Bulk'\r\n ) begin  select @errmsg = '#LDS#Internal error: No valid insert Operation|' RAISERROR(@errmsg, 18, 1) with nowait end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogGroup",
      "CreateDate": "2025-06-27T18:01:00.877",
      "ModifyDate": "2026-04-14T23:23:08.077",
      "Definition": "  create   trigger QBM_TIDialogGroup on DialogGroup  for Insert not for Replication as begin  declare @ConditionsToCheck QBM_YParameterList BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n  insert into @ConditionsToCheck (ContentFull) select i.PreProcessorCondition from inserted i exec QBM_PPrePropCheckSyntax @ConditionsToCheck  declare \r\n@DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select uid_dialogGroup\r\n as UID from inserted ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonGroupNumber', @DBQueueElements_01 exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonGroupCollection'\r\n, @DBQueueElements_01  exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropGroup', @DBQueueElements_01  exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate'\r\n, 'QBM-K-CommonGroupPattern', '', @GenProcID  exec QBM_PDBQueueInsert_Single 'QBM-K-CommonRecalculate', 'QBM-K-DialogUserInGroup', '', @GenProcID END TRY\r\n BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogGroupCollection",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogGroupCollection",
      "CreateDate": "2025-06-27T18:01:01.51",
      "ModifyDate": "2026-04-14T23:23:08.08",
      "Definition": " create   trigger QBM_TIDialogGroupCollection on DialogGroupCollection  for Insert not for Replication as begin  BEGIN TRY if exists (select top\r\n 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('')  exec QBM_PDBQueueInsert_Single 'QBM-K-CommonRecalculate'\r\n, 'QBM-K-MissingDisplayRightFill', '', @GenProcID  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogGroupHasFeature",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogGroupHasFeature",
      "CreateDate": "2025-06-27T18:01:01.02",
      "ModifyDate": "2026-04-14T23:23:08.083",
      "Definition": "   create   trigger QBM_TIDialogGroupHasFeature on DialogGroupHasFeature  for Insert not for Replication as begin  BEGIN TRY if exists (select top\r\n 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') END TRY BEGIN CATCH exec \r\nQBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogGroupInGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogGroupInGroup",
      "CreateDate": "2025-06-27T18:01:00.89",
      "ModifyDate": "2026-04-14T23:23:08.09",
      "Definition": "   create   trigger QBM_TIDialogGroupInGroup on DialogGroupInGroup  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1\r\n from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') exec QBM_PDBQueueInsert_Single\r\n 'QBM-K-CommonReCalculate', 'QBM-K-CommonGroupCollection', '', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH\r\n NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogMultiLanguage",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogMultiLanguage",
      "CreateDate": "2025-06-27T18:01:00.897",
      "ModifyDate": "2026-04-14T23:23:08.107",
      "Definition": "   create   trigger QBM_TIDialogMultiLanguage on DialogMultiLanguage  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1\r\n 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  if exists (select top 1 1 \r\nfrom dialogmultilanguage m join inserted i on m.UID_DialogMultiLanguage = i.UID_DialogMultiLanguage join dialogcolumn c on m.uid_dialogcolumn = c.uid_dialogcolumn\r\n and c.UID_DialogTable in ('QBM-T-QBMTree', 'QBM-T-DialogMethod', 'QBM-T-DialogSheet' ) ) begin         exec QBM_PDBQueueInsert_single 'QBM-K-CommonIncSemaphor'\r\n, 'DIALOG', '', @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogObject",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogObject",
      "CreateDate": "2025-06-27T18:01:00.91",
      "ModifyDate": "2026-04-14T23:23:08.113",
      "Definition": "  create   trigger QBM_TIDialogObject on DialogObject  for Insert not for Replication as begin  declare @SQLToCheck QBM_YParameterList declare @ConditionsToCheck\r\n QBM_YParameterList BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('')  insert into @ConditionsToCheck (ContentFull) select i.PreProcessorCondition from inserted i exec QBM_PPrePropCheckSyntax @ConditionsToCheck   insert\r\n into @SQLToCheck(Parameter1, ContentFull) select c.XObjectKey, 'select top 1 1 as columnvalue from ' + t.TableName + '\r\n\t\t where (\r\n\t\t ' + c.WhereClause\r\n + '\r\n\t\t )' from inserted c  join DialogTable t on c.UID_DialogTable = t.UID_DialogTable where c.WhereClause > ' ' exec QBM_PSQLCheckExecutable @SQLToCheck\r\n, @RaiseError = 1  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from (select uid_dialogObject as UID from inserted ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropObject', @DBQueueElements_01  END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogObjectHasSheet",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogObjectHasSheet",
      "CreateDate": "2025-06-27T18:01:01.01",
      "ModifyDate": "2026-04-14T23:23:08.12",
      "Definition": "  create   trigger QBM_TIDialogObjectHasSheet on DialogObjectHasSheet  for Insert not for Replication as begin  BEGIN TRY if exists (select top \r\n1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uid_DialogSheet as\r\n uid from inserted ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropSheet', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogParameter",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogParameter",
      "CreateDate": "2025-06-27T18:01:01.16",
      "ModifyDate": "2026-04-14T23:23:08.12",
      "Definition": "  create   trigger QBM_TIDialogParameter on DialogParameter  for Insert not for Replication as begin  declare @SQLToCheck QBM_YParameterList declare\r\n @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start:  \r\ninsert into @SQLToCheck(Parameter1, ContentFull) select c.XObjectKey, 'select top 1 1 as columnvalue from ' + t.TableName + '\r\n\t\t where (\r\n\t\t ' + c.QueryWhereClause\r\n + '\r\n\t\t )' from inserted c  join DialogColumn cc on c.UID_DialogColumnQuery = cc.UID_DialogColumn join DialogTable t on t.UID_DialogTable = cc.UID_DialogTable\r\n where c.QueryWhereClause > ' ' exec QBM_PSQLCheckExecutable @SQLToCheck, @RaiseError = 1 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogReport",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogReport",
      "CreateDate": "2025-06-27T18:01:01.147",
      "ModifyDate": "2026-04-14T23:23:08.137",
      "Definition": " create   trigger QBM_TIDialogReport on DialogReport  for insert not for Replication as begin declare @ConditionsToCheck QBM_YParameterList BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n  insert into @ConditionsToCheck (ContentFull) select i.PreProcessorCondition from inserted i exec QBM_PPrePropCheckSyntax @ConditionsToCheck  declare \r\n@DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_DialogReport\r\n as uid from inserted ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropReport', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogReportQueryModule",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogReportQueryModule",
      "CreateDate": "2025-06-27T18:01:01.43",
      "ModifyDate": "2026-04-14T23:23:08.143",
      "Definition": " create   trigger QBM_TIDialogReportQueryModule on DialogReportQueryModule  for insert not for Replication as begin declare @ConditionsToCheck QBM_YParameterList\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('')  insert into @ConditionsToCheck (ContentFull) select i.PreProcessorCondition from inserted i exec QBM_PPrePropCheckSyntax @ConditionsToCheck  END \r\nTRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogSchedule",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogSchedule",
      "CreateDate": "2025-06-27T18:01:01.03",
      "ModifyDate": "2026-04-14T23:23:08.15",
      "Definition": "  create   trigger QBM_TIDialogSchedule on DialogSchedule  for insert not for Replication as begin declare @jetzt datetime = getutcdate() declare\r\n @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() BEGIN TRY if exists (select top 1 1 from inserted) goto start return\r\n start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if exists (select top 1 1 from inserted i where dbo.QBM_FGITimeIsValid\r\n(i.starttime) < 0 ) begin  raiserror( '#LDS#The time entered is not valid, must be between 00:00 and 23:59 or empty.|', 18, 3) with nowait end  update \r\nDialogSchedule set EndDate = '2200-01-01' , XDateUpdated = @Xdate , XUserUpdated = @XUser from DialogSchedule s join inserted i on s.UID_DialogSchedule\r\n = i.UID_DialogSchedule where s.EndDate is null update DialogSchedule set NextRun = dbo.QBM_FGIScheduleNextRun ('1899-12-31'  , '1899-12-31'  , case  when\r\n isnull(s.StartDate, '1900-01-01') > @jetzt and s.FrequencyType not in ('Week', 'Month', 'Year', 'Day') then s.StartDate when isnull(s.StartDate, '1900-01-01'\r\n) > @jetzt and s.FrequencyType in ('Week', 'Month', 'Year') then dateadd (dd, -1, s.StartDate) when isnull(s.StartDate, '1900-01-01') > @jetzt and s.FrequencyType\r\n in ('Day') then dateadd (hh, -1, s.StartDate) else @jetzt end , s.StartTime  , s.FrequencyType  ,  case when isnull(s.StartDate, '1900-01-01') > @jetzt\r\n  and s.FrequencyType not in ('Week', 'Month', 'Year', 'Day') and s.FrequencyType not like 'WD[_]%' then 0 when s.FrequencyType like 'WD[_]%' then s.Frequency\r\n else 1 end , s.FrequencySubType  , isnull(tz.CurrentUTCOffset, 0)  ) , XDateUpdated = @Xdate , XUserUpdated = @XUser from DialogSchedule s join inserted\r\n i on s.UID_DialogSchedule = i.UID_DialogSchedule left outer join DialogTimeZone tz on s.UID_DialogTimeZone = tz.UID_DialogTimeZone where isnull(s.EndDate\r\n, '2200-01-01') > @jetzt  and s.Enabled = 1 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogScriptAssembly",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogScriptAssembly",
      "CreateDate": "2025-06-27T18:01:01.383",
      "ModifyDate": "2026-04-14T23:23:08.157",
      "Definition": "    create   trigger QBM_TIDialogScriptAssembly on DialogScriptAssembly  for Insert not for Replication as begin declare @xdate datetime = getutcdate\r\n() declare @XUser nvarchar(64) BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: select @xuser = dbo.QBM_FGISessionContext('XUser'\r\n) update dialogSemaphor set ChangeCounter = ChangeCounter +1 , XDateUpdated = @XDate , XUserUpdated = @XUser where ChangeContext = 'ASSEMBLY' END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogSheet",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogSheet",
      "CreateDate": "2025-06-27T18:01:01",
      "ModifyDate": "2026-04-14T23:23:08.16",
      "Definition": " create   trigger QBM_TIDialogSheet on DialogSheet  for Insert not for Replication as begin declare @ConditionsToCheck QBM_YParameterList BEGIN \r\nTRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') \r\n insert into @ConditionsToCheck (ContentFull) select i.PreProcessorCondition from inserted i exec QBM_PPrePropCheckSyntax @ConditionsToCheck END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogState",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogState",
      "CreateDate": "2025-06-27T18:01:01.087",
      "ModifyDate": "2026-04-14T23:23:08.163",
      "Definition": " create   trigger QBM_TIDialogState on DialogState  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted) \r\ngoto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (Object, SubObject, GenProcID) select x.uid, null, @GenProcID from (select i.UID_DialogState as uid from inserted i ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'QBM-K-CommonStateUTCOffset2', @DBQueueElements_01 exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonStateUTCOffset', @DBQueueElements_01\r\n  declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (Object, SubObject, GenProcID) select x.uid, null, @GenProcID from (select\r\n distinct i.UID_DialogCountry as uid from inserted i ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonCountryUTCOffset', @DBQueueElements_02 END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogStateHasTimeZone",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogStateHasTimeZone",
      "CreateDate": "2025-06-27T18:01:01.11",
      "ModifyDate": "2026-04-14T23:23:08.167",
      "Definition": " create   trigger QBM_TIDialogStateHasTimeZone on DialogStateHasTimeZone  for Insert not for Replication as begin  BEGIN TRY if exists (select top\r\n 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select distinct i.UID_DialogState \r\nas uid from inserted i ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonStateUTCOffset2', @DBQueueElements_01 exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonStateUTCOffset'\r\n, @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from (select distinct s.UID_Dialogcountry as uid from inserted i join dialogstate s on i.uid_dialogState = s.uid_dialogstate ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QBM-K-CommonCountryUTCOffset', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH \r\nend \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogTable",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogTable",
      "CreateDate": "2025-06-27T18:01:00.937",
      "ModifyDate": "2026-04-14T23:23:08.17",
      "Definition": "   create   trigger QBM_TIDialogTable on DialogTable  for Insert not for Replication as begin  declare @SQLToCheck QBM_YParameterList declare @DebugSwitch\r\n int = 0 declare @ConditionsToCheck QBM_YParameterList BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: if @DebugSwitch > 0 \r\nbegin print '### im Insert trigger angekommen' end declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  insert into @ConditionsToCheck\r\n (ContentFull) select i.PreProcessorCondition from inserted i exec QBM_PPrePropCheckSyntax @ConditionsToCheck   delete  @SQLToCheck  insert into @SQLToCheck\r\n(Parameter1, ContentFull) select c.XObjectKey, 'select top 1 1 as columnvalue from ' + b.TableName + '\r\n\t\t where (\r\n\t\t ' + c.ViewWhereClause + '\r\n\t\t )'\r\n from inserted c  join DialogTable b on b.UID_DialogTable = c.UID_DialogTableBase where c.ViewWhereClause > ' ' exec QBM_PSQLCheckExecutable @SQLToCheck\r\n, @RaiseError = 1  delete  @SQLToCheck  insert into @SQLToCheck(Parameter1, ContentFull) select i.XObjectKey, concat('select top 1 1 as columnvalue \r\n\t\t\t\t\t\t\t\t\tfrom ('\r\n , ' select ', i.ExtensionForProxyTable, '\r\n\t\t\t\t\t\t\t\t\t\t\tfrom ' , i.tablename , '\r\n\t\t\t\t\t\t\t\t\t\t\twhere 1 = 0\r\n\t\t\t\t\t\t\t\t\t\t) as x' ) from inserted i  where i.ExtensionForProxyTable\r\n > ' ' exec QBM_PSQLCheckExecutable @SQLToCheck, @RaiseError = 1 if @DebugSwitch > 0 begin print '### vor dem 26 Test' end  if exists ( select substring\r\n(TableName,1,26), count(*) from dialogtable group by substring(TableName,1,26) having count(*) > 1 ) begin  raiserror( '#LDS#The first 26 characters of a table name have to be unique.|'\r\n, 18, 2) end if @DebugSwitch > 0 begin print '### nach dem 26 test' end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object\r\n, subobject, genprocid) select dbo.QBM_FGITableName(x.uid), null, @GenProcID from (select i.UID_DialogTable as UID from inserted i ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QBM-K-CommonPrepropTable', @DBQueueElements_01 exec QBM_PGUIDReplaceCustomizerFill    exec QBM_PDBQueueInsert_Single 'QBM-K-TableRevisionFill', null,\r\n null, @GenProcID  declare @DBQueueElements_36836 QBM_YDBQueueRaw insert into @DBQueueElements_36836(Object, SubObject, GenProcID) select x.uid, null, \r\n@GenProcID from ( select ra.UID_DialogTableParent as uid from inserted t join QBM_VQBMRelationALL ra on t.UID_DialogTable = ra.UID_DialogTableChild union\r\n select ra.UID_DialogTableChild from inserted t join QBM_VQBMRelationALL ra on t.UID_DialogTable = ra.UID_DialogTableParent union select t.UID_DialogTable\r\n from inserted t ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-MissingDisplayRightFill', @DBQueueElements_36836  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogTableGroupRight",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogTableGroupRight",
      "CreateDate": "2025-06-27T18:01:01.48",
      "ModifyDate": "2026-04-14T23:23:08.173",
      "Definition": "  create   trigger QBM_TIDialogTableGroupRight on DialogTableGroupRight  for Insert not for Replication as begin  BEGIN TRY if exists (select top\r\n 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('')  declare @DBQueueElements_36836 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_36836(Object, SubObject, GenProcID) select x.uid, null, @GenProcID from ( select ra.UID_DialogTableParent as uid from inserted\r\n t join QBM_VQBMRelationALL ra on t.UID_DialogTable = ra.UID_DialogTableChild union select ra.UID_DialogTableChild from inserted t join QBM_VQBMRelationALL\r\n ra on t.UID_DialogTable = ra.UID_DialogTableParent union select t.UID_DialogTable from inserted t ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-MissingDisplayRightFill'\r\n, @DBQueueElements_36836  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogUser",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogUser",
      "CreateDate": "2025-06-27T18:01:00.977",
      "ModifyDate": "2026-04-14T23:23:08.183",
      "Definition": "   create   trigger QBM_TIDialogUser on DialogUser  for Insert not for Replication as begin  declare @ProcName nvarchar(64) = object_name(@@procid\r\n) declare @DebugSwitch int = 0 declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() BEGIN TRY if exists (select top\r\n 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if @Debugswitch > 0 begin\r\n print 'entry : ' + @ProcName end    declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01(Object, SubObject, GenProcID) select i.UID_DialogUser\r\n, null, @GenProcID from inserted i exec QBM_PDBQueueInsert_Bulk 'QBM-K-DialogUserInGroup', @DBQueueElements_01  update DialogUser set PasswordLastSet =\r\n getutcdate() , XDateUpdated = @Xdate , XUserUpdated = @XUser from DialogUser u join inserted i on u.UID_DialogUser = i.UID_DialogUser where i.PasswordLastSet\r\n is null END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH if @Debugswitch > 0 begin print 'exit : ' + \r\n@ProcName end end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogUserInGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogUserInGroup",
      "CreateDate": "2025-06-27T18:01:00.99",
      "ModifyDate": "2026-04-14T23:23:08.19",
      "Definition": "   create   trigger QBM_TIDialogUserInGroup on DialogUserInGroup  for Insert not for Replication as begin  declare @ProcName nvarchar(64) = object_name\r\n(@@procid) declare @XUser nvarchar(64) declare @DebugSwitch int = 0 BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare\r\n @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if @Debugswitch > 0 begin print 'entry : ' + @ProcName end if @XUser = 'QBM_PDialogUserInGroupCorrect'\r\n begin if @Debugswitch > 0 begin print 'recursion exit  : ' + @ProcName end goto endlabel end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct UID_DialogUser as uid from inserted ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QBM-K-DialogUserInGroup', @DBQueueElements_01 if @Debugswitch > 0 begin print 'ready : ' + @ProcName end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH if @Debugswitch > 0 begin print 'exit : ' + @ProcName end endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIDialogValidDynamicRef",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogValidDynamicRef",
      "CreateDate": "2025-06-27T18:01:01.323",
      "ModifyDate": "2026-04-14T23:23:08.193",
      "Definition": "  create   trigger QBM_TIDialogValidDynamicRef on DialogValidDynamicRef  for Insert not for Replication as begin  BEGIN TRY if exists (select top\r\n 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  if not exists (select top\r\n 1 1 from inserted i join DialogTable t on i.UID_DialogTableReference = t.UID_DialogTable where t.TableType in ('T', 'V') ) begin raiserror( '#LDS#Referenced table has to be of type T or V.|'\r\n, 18, 2) with nowait end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIJob",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "Job",
      "CreateDate": "2025-06-27T18:01:01.24",
      "ModifyDate": "2026-04-14T23:23:08.363",
      "Definition": " create   trigger QBM_TIJob on Job  for Insert not for Replication as begin declare @GenProcID varchar(38)  declare @ConditionsToCheck QBM_YParameterList\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: select @GenProcID = dbo.QBM_FGISessionContext('')  insert into @ConditionsToCheck\r\n (ContentFull) select i.PreProcessorCondition from inserted i exec QBM_PPrePropCheckSyntax @ConditionsToCheck  declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select uid_Job as UID from inserted ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QBM-K-CommonPrepropJob', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIJobAutoStart",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "JobAutoStart",
      "CreateDate": "2025-06-27T18:01:01.263",
      "ModifyDate": "2026-04-14T23:23:08.367",
      "Definition": "   create   trigger QBM_TIJobAutoStart on JobAutoStart  for INSERT not for Replication as begin declare @SQLToCheck QBM_YParameterList BEGIN TRY\r\n if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  insert\r\n into @SQLToCheck(Parameter1, ContentFull) select c.XObjectKey, 'select top 1 1 as columnvalue from ' + t.TableName + '\r\n\t\t where (\r\n\t\t ' + c.WhereClause\r\n + '\r\n\t\t )' from inserted c  join QBMEvent et on et.UID_QBMEvent = c.UID_QBMEvent join DialogTable t on et.UID_DialogTable = t.UID_DialogTable where c.WhereClause\r\n > ' ' exec QBM_PSQLCheckExecutable @SQLToCheck, @RaiseError = 1 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT\r\n END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 1
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIJobChain",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "JobChain",
      "CreateDate": "2025-06-27T18:01:01.25",
      "ModifyDate": "2026-04-14T23:23:08.37",
      "Definition": " create   trigger QBM_TIJobChain on JobChain  for Insert not for Replication as begin declare @GenProcID varchar(38)  declare @ConditionsToCheck\r\n QBM_YParameterList BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: select @GenProcID = dbo.QBM_FGISessionContext('')  insert\r\n into @ConditionsToCheck (ContentFull) select i.PreProcessorCondition from inserted i exec QBM_PPrePropCheckSyntax @ConditionsToCheck  declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select uid_Jobchain as UID from inserted\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropJobChain', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIjobcomponent",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "JobComponent",
      "CreateDate": "2025-06-27T18:01:01.18",
      "ModifyDate": "2026-04-14T23:23:08.37",
      "Definition": "  create   trigger QBM_TIjobcomponent on JobComponent  for insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') exec QBM_PDBQueueInsert_Single 'QBM-K-JobPerformanceFill'\r\n, '', '', @GenProcID  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIJobqueue",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "JobQueue",
      "CreateDate": "2025-06-27T18:01:01.203",
      "ModifyDate": "2026-04-14T23:23:08.383",
      "Definition": "    create   trigger QBM_TIJobqueue on JobQueue  for Insert not for Replication as begin declare @JobchainName nvarchar(255) declare @uid_job varchar\r\n(38) declare @SQLWhereClause nvarchar(1000) declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('') declare @JustNow datetime = getutcdate()   declare\r\n @LimitedChains QBM_YParameterList    declare @ElementLast int declare @ElementCount int declare @ElementIndex int declare @XUser nvarchar(64) = object_name\r\n(@@procid) declare @Xdate datetime = getutcdate() BEGIN TRY if exists (select top 1 1 from inserted) goto start return start:  declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01(Object, SubObject, GenProcID) select dbo.QBM_FCVStringToGUID('', x.QueueName), null, @GenProcID from (\r\n select i.Queue as QueueName from inserted i group by i.Queue ) as x  delete  @DBQueueElements_01 from @DBQueueElements_01 q join QBMJobqueueOverview o\r\n with (readpast) on q.Object = o.UID_QBMJobqueueOverview where o.IsInvalid = 1 if exists (select top 1 1 from @DBQueueElements_01 ) begin   exec QBM_PJobQueueOverviewSetInv\r\n @DBQueueElements_01 end  if '1' = dbo.QBM_FGIConfigparmValue('Common\\JobQueueStats') begin select @JustNow = GetUTCDate() insert into JobQueueStats (UID_JobQueueStats\r\n, queue , jobYear, jobMonth , jobDay , jobHour , countInserted, countActivated, countDeleted ) select 'XX'+convert(varchar(64), newid()), d.queue , year\r\n(@JustNow) ,month(@JustNow) ,day( @JustNow) , datepart(hh,@JustNow) , (-1) * count(*) , 0, 0 from inserted d group by d.queue end  if exists (select top\r\n 1 1 from inserted i where i.LimitationWarning + i.LimitationCount > 0 ) begin    if exists (select top 1 1 from inserted i where i.LimitationCount > 0\r\n ) begin  insert into @limitedChains (ContentShort ) select name from jobchain where limitationcount > 0 if @@rowcount = 0 begin goto NachLimitationCount\r\n end  merge into jobqueue as t using  ( select z.Jobchainname, max(z.AltBestand) * (-1) as AlteOverlimit from ( select q.limitationcount, l.ContentShort\r\n as Jobchainname , case ready2exe when N'OVERLIMIT' then 1 else 0 end as altbestand from Jobqueue q with (readpast, index (QBM_XI7JobQueue)) join @limitedChains\r\n l on q.jobchainname = l.ContentShort  where q.Ready2EXE like N'[^DH][^A]%'  and q.IsRootJob = 1 and q.limitationcount > 0  and q.JobChainName in (select\r\n distinct i.JobChainName from inserted i ) ) as z group by z.Jobchainname having count(*) > max(z.LimitationCount) ) as s on t.JobChainName = s.JobChainName\r\n and t.Ready2EXE = N'TRUE' and t.IsRootJob = 1 and t.LimitationCount > 0 when matched then update set t.ready2exe = N'OVERLIMIT' , t.xtouched = 'N' , t.xdateupdated\r\n = dateadd(ss, s.alteOverlimit , @JustNow) ; if @@rowcount > 0 begin  declare @ElementBufferMulti_01 QBM_YCursorBuffer insert into @ElementBufferMulti_01\r\n (UID1) select min(q.UID_Job)  from JobQueue q with (readpast) where q.IsRootJob = 1 and q.Ready2EXE = N'OVERLIMIT' and q.XDateUpdated = @JustNow group\r\n by q.Queue, q.JobChainName select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while\r\n @ElementIndex <= @ElementLast begin select top 1 @uid_job = bu.UID1 from @ElementBufferMulti_01 bu where bu.ElementIndex = @ElementIndex select @SQLWhereClause\r\n = N' uid_job = ''' + rtrim(@uid_job) + N''''  exec QBM_PJobCreate_HOFireEvent 'JobQueue', @SQLWhereClause, 'OVERLIMITDETECT', @GenProcID = @GenProcID \r\n, @ObjectKeysAffected = DEFAULT select @ElementIndex += 1 end  end end     NachLimitationCount:    if exists (select top 1 1 from inserted i where i.LimitationWarning\r\n > 0 ) begin declare @ElementBufferMulti_02 QBM_YCursorBuffer insert into @ElementBufferMulti_02 (ContentShort, UID1) select x.JobChainName, min(x.UID_Job\r\n)  from (  select i.JobChainName, i.UID_Job, i.LimitationWarning, 1 As IsNew, 0 as IsOverlimitRaised from inserted i where i.IsRootJob = 1 and i.Ready2EXE\r\n like N'[^DH][^A]%'  and i.LimitationWarning > 0 union all select j.JobChainName, j.UID_Job, j.LimitationWarning, 0 as isNew ,case j.Ready2EXE when N'OVERLIMIT'\r\n then 1 else 0 end as IsOverlimitRaised from JobQueue j with (readpast) join ( select distinct ii.JobChainName from inserted ii ) i on j.JobChainName =\r\n i.JobChainName   where j.IsRootJob = 1 and j.Ready2EXE like N'[^DH][^A]%'  and j.LimitationWarning > 0  and Not exists (select top 1 1 from inserted i2\r\n where i2.UID_Job = j.UID_Job ) ) as x group by x.JobChainName having count(*) > max(x.LimitationWarning)  and MAX(x.IsNew ) = 1  and MAX(x.IsOverlimitRaised\r\n) = 0 select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast\r\n begin select top 1 @JobchainName = bu.ContentShort , @uid_job = bu.UID1 from @ElementBufferMulti_02 bu where bu.ElementIndex = @ElementIndex update JobQueue\r\n set StartAt = dateadd(mi, 1, StartAt) , XDateUpdated = @Xdate , XUserUpdated = @XUser where UID_Job = @uid_job select @SQLWhereClause = N' uid_job = '''\r\n + rtrim(@uid_job) + N'''' exec QBM_PJobCreate_HOFireEvent 'JobQueue', @SQLWhereClause, 'OVERLIMITWARNING', @GenProcID = @GenProcID , @ObjectKeysAffected\r\n = DEFAULT , @checkForExisting = 1 select @ElementIndex += 1 end  end     end   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18\r\n, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIJobTask",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "JobTask",
      "CreateDate": "2026-04-14T23:15:55.197",
      "ModifyDate": "2026-04-14T23:23:08.387",
      "Definition": "  create   trigger QBM_TIJobTask on JobTask  for insert not for Replication as begin   BEGIN TRY if exists (select top 1 1 from inserted) goto start\r\n return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') exec QBM_PDBQueueInsert_Single 'QBM-K-JobPerformanceFill'\r\n, '', '', @GenProcID  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIQBMCEFDefinition",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMCEFDefinition",
      "CreateDate": "2025-12-15T18:08:02.693",
      "ModifyDate": "2026-04-14T23:23:08.503",
      "Definition": "    create   trigger QBM_TIQBMCEFDefinition on QBMCEFDefinition  for Insert not for Replication as begin  declare @SQLToCheck QBM_YParameterList\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') insert into @SQLToCheck(Parameter1, ContentFull) select c.XObjectKey, dbo.QBM_FSQTriggerPartCEF(isnull(b.TableName, tv.TableName ), c.OperationType\r\n, 1) from inserted c  join DialogTable tv on c.UID_DialogTable = tv.UID_DialogTable left outer join DialogTable b on tv.UID_DialogTableBase = b.UID_DialogTable\r\n exec QBM_PSQLCheckExecutable @SQLToCheck, @RaiseError = 1  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject\r\n, genprocid) select x.uid, null, @GenProcID from ( select distinct isnull(b.TableName, tv.TableName ) as uid from inserted c  join DialogTable tv on c.UID_DialogTable\r\n = tv.UID_DialogTable left outer join DialogTable b on tv.UID_DialogTableBase = b.UID_DialogTable ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonMakeWatchtrigger'\r\n, @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIQBMDBPrincipal",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMDBPrincipal",
      "CreateDate": "2025-06-27T18:01:01.44",
      "ModifyDate": "2026-04-14T23:23:08.533",
      "Definition": "  create   trigger QBM_TIQBMDBPrincipal on QBMDBPrincipal for Insert not for Replication as begin BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select UID_QBMDBPrincipal as uid from inserted where\r\n LoginName > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-DBPrincipalCreate', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIQBMDBPrincipalHasRoleDef",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMDBPrincipalHasRoleDef",
      "CreateDate": "2025-06-27T18:01:01.45",
      "ModifyDate": "2026-04-14T23:23:08.537",
      "Definition": "  create   trigger QBM_TIQBMDBPrincipalHasRoleDef on QBMDBPrincipalHasRoleDef for Insert not for Replication as begin BEGIN TRY if exists (select\r\n top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct UID_QBMDBRoleDef \r\nas uid from inserted ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-DBRoleDefCreate', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIQBMDBRightsAddOn",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMDBRightsAddOn",
      "CreateDate": "2025-06-27T18:01:01.46",
      "ModifyDate": "2026-04-14T23:23:08.547",
      "Definition": "  create   trigger QBM_TIQBMDBRightsAddOn on QBMDBRightsAddOn for Insert not for Replication as begin BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct UID_QBMDBRoleDef as uid from inserted\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-DBRoleDefPropagate', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (''\r\n, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIQBMDeployTargetHasSrvTag",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMDeployTargetHasServerTag",
      "CreateDate": "2025-06-27T18:01:01.35",
      "ModifyDate": "2026-04-14T23:23:08.553",
      "Definition": "  create   trigger QBM_TIQBMDeployTargetHasSrvTag on QBMDeployTargetHasServerTag  for Insert not for Replication as begin  BEGIN TRY if exists (select\r\n top 1 1 from inserted) goto start return start:  if exists (select top 1 1 from inserted i where i.UID_QBMServerTag in ('QBM-ST-Is07'  , 'QBM-ST-Is20'\r\n  ) ) begin raiserror('UID_QBMServerTag invalid', 18, 1) with nowait end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH\r\n NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIQBMFileHasDeployTarget",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMFileHasDeployTarget",
      "CreateDate": "2025-06-27T18:01:01.417",
      "ModifyDate": "2026-04-14T23:23:08.57",
      "Definition": "  create   trigger QBM_TIQBMFileHasDeployTarget on QBMFileHasDeployTarget  for Insert not for Replication as begin  declare @GenProcID varchar(38\r\n) BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: select @GenProcID = dbo.QBM_FGISessionContext('')  exec QBM_PDBQueueInsert_Single\r\n 'QBM-K-CommonSoftwareRevision', '', '', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIQBMFileRevision",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMFileRevision",
      "CreateDate": "2025-06-27T18:01:01.343",
      "ModifyDate": "2026-04-14T23:23:08.573",
      "Definition": "  create   trigger QBM_TIQBMFileRevision on QBMFileRevision  for Insert not for Replication as begin BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') exec QBM_PDBQueueInsert_Single 'QBM-K-CommonSoftwareRevision'\r\n, '', '', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIQBMGuidReplace",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMGuidReplace",
      "CreateDate": "2025-06-27T18:01:01.317",
      "ModifyDate": "2026-04-14T23:23:08.58",
      "Definition": "  create   trigger QBM_TIQBMGuidReplace on QBMGuidReplace  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if exists (select top 1 1 from QBMDBQueueCurrent\r\n cu with (nolock) where cu.SlotNumber <> 0 and cu.UID_Task in ('QBM-K-TableReload' , 'QBM-K-TableReplace' ) ) or exists (select top 1 1 from DialogDBQueue\r\n q with(nolock) where q.UID_Task in ('QBM-K-TableReload' , 'QBM-K-TableReplace', 'QBM-K-GUIDReplaceReady' )  and q.Generation >= 0 ) begin raiserror('#LDS#Making a replacement is impossible because of a running replacement job. Try again later.|'\r\n, 18, 2) with nowait end if exists (select top 1 1 from DialogDatabase d with (readpast) where d.IsMainDatabase = 1 and d.ProductionLevel = 2  ) begin \r\nraiserror('#LDS#Making a replacement is not permitted in production environments.|', 18, 2) with nowait end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIQBMRelation",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMRelation",
      "CreateDate": "2025-06-27T18:01:01.273",
      "ModifyDate": "2026-04-14T23:23:08.633",
      "Definition": "   create   trigger QBM_TIQBMRelation on QBMRelation  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIQBMServer",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMServer",
      "CreateDate": "2025-06-27T18:01:01.22",
      "ModifyDate": "2026-04-14T23:23:08.643",
      "Definition": "  create   trigger QBM_TIQBMServer on QBMServer  for INSERT not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted) goto\r\n start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  if exists (select top 1 1 from inserted i where \r\ni.QueueName = 'QBM_PWorkMaintenance' ) begin raiserror('#LDS#Invalid queue name inserted.|', 18, 1) with nowait end exec QBM_PDBQueueInsert_Single 'QBM-K-JobPerformanceFill'\r\n, '', '', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIQBMServerHasDeployTarget",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMServerHasDeployTarget",
      "CreateDate": "2025-06-27T18:01:01.403",
      "ModifyDate": "2026-04-14T23:23:08.647",
      "Definition": "   create   trigger QBM_TIQBMServerHasDeployTarget on QBMServerHasDeployTarget  for Insert not for Replication as begin  declare @GenProcID varchar\r\n(38) declare @XUser nvarchar(64) declare @EntriesToFire QBM_YParameterList declare @ConfigparmAutoupdate int BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start return start: select @GenProcID = dbo.QBM_FGISessionContext('') select @XUser = dbo.QBM_FGISessionContext('XUser') select @ConfigparmAutoupdate\r\n = dbo.QBM_FCVStringToInt(dbo.QBM_FGIConfigparmValue('Common\\Autoupdate'), 0)  if dbo.QBM_FGISessionContext ('Fullsync') = '' begin insert into @EntriesToFire\r\n (Parameter1) select distinct q.XObjectKey from inserted x join QBMServer q on x.UID_QBMServer = q.UID_QBMServer where @ConfigparmAutoupdate = 1 exec QBM_PJobCreate_HOFireEvent_L\r\n 'QBMServer', @EntriesToFire ,'DeployTargetChanged', @GenProcID , @CheckForExisting = 1 , @AdditionalObjectKeysAffected = DEFAULT end END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIQBMTree",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMTree",
      "CreateDate": "2025-06-27T18:01:01.523",
      "ModifyDate": "2026-04-14T23:23:08.667",
      "Definition": "create   trigger QBM_TIQBMTree on QBMTree  for Insert not for Replication as begin declare @ConditionsToCheck QBM_YParameterList BEGIN TRY if exists\r\n (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  insert into \r\n@ConditionsToCheck (ContentFull) select i.PreProcessorCondition from inserted i exec QBM_PPrePropCheckSyntax @ConditionsToCheck   declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_QBMTree as uid from inserted\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropTree', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (''\r\n, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIQBMTreeHasSheet",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMTreeHasSheet",
      "CreateDate": "2025-06-27T18:01:01.543",
      "ModifyDate": "2026-04-14T23:23:08.673",
      "Definition": " create   trigger QBM_TIQBMTreeHasSheet on QBMTreeHasSheet  for Insert not for Replication as begin BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uid_DialogSheet as uid from inserted\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropSheet', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (''\r\n, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIQBMTreeResult",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMTreeResult",
      "CreateDate": "2025-06-27T18:01:01.537",
      "ModifyDate": "2026-04-14T23:23:08.68",
      "Definition": "create   trigger QBM_TIQBMTreeResult on QBMTreeResult  for Insert not for Replication as begin declare @ConditionsToCheck QBM_YParameterList BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n  insert into @ConditionsToCheck (ContentFull) select i.PreProcessorCondition from inserted i exec QBM_PPrePropCheckSyntax @ConditionsToCheck   declare\r\n @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_QBMTreeResult\r\n as uid from inserted ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropTreeResult', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIQBMTreeResultHasSheet",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMTreeResultHasSheet",
      "CreateDate": "2025-06-27T18:01:01.553",
      "ModifyDate": "2026-04-14T23:23:08.687",
      "Definition": " create   trigger QBM_TIQBMTreeResultHasSheet on QBMTreeResultHasSheet  for Insert not for Replication as begin BEGIN TRY if exists (select top \r\n1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uid_DialogSheet as\r\n uid from inserted ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropSheet', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIQBMUniqueGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMUniqueGroup",
      "CreateDate": "2025-06-27T18:01:01.367",
      "ModifyDate": "2026-04-14T23:23:08.693",
      "Definition": "  create   trigger QBM_TIQBMUniqueGroup on QBMUniqueGroup  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select distinct dbo.QBM_FGITableName(i.UID_DialogTable\r\n) as UID from inserted i ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-IndexCreateGenerated', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIQBMUniqueGroupHasColumn",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMUniqueGroupHasColumn",
      "CreateDate": "2025-06-27T18:01:01.357",
      "ModifyDate": "2026-04-14T23:23:08.697",
      "Definition": "  create   trigger QBM_TIQBMUniqueGroupHasColumn on QBMUniqueGroupHasColumn  for Insert not for Replication as begin  BEGIN TRY if exists (select\r\n top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select distinct dbo.QBM_FGITableName\r\n(g.UID_DialogTable) as UID from inserted i join QBMUniqueGroup g on i.UID_QBMUniqueGroup = g.UID_QBMUniqueGroup ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-IndexCreateGenerated'\r\n, @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TIQBMViewAddOn",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMViewAddOn",
      "CreateDate": "2025-06-27T18:01:01.287",
      "ModifyDate": "2026-04-14T23:23:08.703",
      "Definition": "  create   trigger QBM_TIQBMViewAddOn on QBMViewAddOn  for Insert not for Replication as begin  declare @SQLToCheck QBM_YParameterList declare @UID_QBMViewAddOn\r\n varchar(38) BEGIN TRY if exists (select top 1 1 from inserted) goto start return start:  insert into @SQLToCheck(Parameter1, ContentFull, Parameter2) \r\nselect c.XObjectKey, c.QueryString, c.UID_QBMViewAddOn from inserted c  where c.QueryString > ' ' and c.IsGenerated = 0 if @@ROWCOUNT = 0 begin goto endLabel\r\n end exec QBM_PSQLCheckExecutable @SQLToCheck, @RaiseError = 1 select @UID_QBMViewAddOn = '#' while @UID_QBMViewAddOn > ' ' begin select @UID_QBMViewAddOn\r\n = null select top 1 @UID_QBMViewAddOn = c.Parameter2 from @SQLToCheck c if @UID_QBMViewAddOn is null begin continue end exec QBM_PViewBuildCheckCCCExtend\r\n @UID_QBMViewAddOn  delete  @SQLToCheck where Parameter2 = @UID_QBMViewAddOn end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18\r\n, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUAssembly_DialogColHasSem",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogColumnHasSemaphor",
      "CreateDate": "2025-06-27T18:01:01.597",
      "ModifyDate": "2026-04-14T23:23:08.043",
      "Definition": " create   trigger QBM_TUAssembly_DialogColHasSem on DialogColumnHasSemaphor  for Update not for Replication as begin declare @GenProcID varchar(38\r\n) = dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return\r\n start:  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.UID, null, @GenProcID from\r\n (select distinct t.TableName as uid from deleted i join DialogColumn c on c.UID_DialogColumn = i.UID_DialogColumn join DialogTable t on c.UID_DialogTable\r\n = t.UID_DialogTable ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonMakeWatchtrigger', @DBQueueElements_01  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUAssembly_DialogColumn",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogColumn",
      "CreateDate": "2025-06-27T18:01:01.577",
      "ModifyDate": "2026-04-14T23:23:08.037",
      "Definition": " create   trigger QBM_TUAssembly_DialogColumn on DialogColumn  for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() BEGIN TRY if exists (select top 1 1 from inserted) goto\r\n start if exists (select top 1 1 from deleted) goto start return start: if update(FormatScript) or update(IsDeactivatedByPreProcessor) or update(Template\r\n) or update(CanSeeScript) or update(CanEditScript) begin if exists (select top 1 1 from deleted d join DialogColumn c on d.UID_DialogColumn = c.UID_DialogColumn\r\n where ( ISNULL(d.FormatScript, '') <> ISNULL(c.FormatScript, '') or d.IsDeactivatedByPreProcessor <> c.IsDeactivatedByPreProcessor or ISNULL(d.Template\r\n, '') <> ISNULL(c.Template, '') or ISNULL(d.CanSeeScript, '') <> ISNULL(c.CanSeeScript, '') or ISNULL(d.CanEditScript, '') <> ISNULL(c.CanEditScript, ''\r\n) ) ) begin  exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'Tmpl', '#', @GenProcID  end end  if update(IsOverwritingTemplate) or update(Template\r\n) or update(Format) or update(FormatScript) begin update dialogcolumn set IsTemplateChanged = 1 , XDateUpdated = @Xdate , XUserUpdated = @XUser where uid_dialogcolumn\r\n in (select uid_dialogcolumn from inserted) and isnull(IsTemplateChanged,0) = 0 end if update(Columnname) or update(DataType) or update(CustomComment) \r\nor update(Commentary) or update(IsDeactivatedByPreProcessor) begin exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'TypedWrappers', '#', @GenProcID\r\n end   if update(UID_DialogTable) or update(ColumnName) or update(uid_basecolumn)  or update(UID_DialogColumnUnionView) or update(IsDeactivatedByPreprocessor\r\n)  or update(IsNoAutoExtendPermissions) begin  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from (select i.UID_DialogTable as UID from inserted i union select d.UID_DialogTable as UID from deleted d union select\r\n t.UID_DialogTableBase from dialogtable t join inserted i on i.UID_DialogTable = t.UID_DialogTable where t.UID_DialogTableBase > ' ' union select t.UID_DialogTableBase\r\n from dialogtable t join deleted d on d.UID_DialogTable = t.UID_DialogTable where t.UID_DialogTableBase > ' '  union select t.UID_DialogTableUnion from\r\n dialogtable t join deleted d on d.UID_DialogTable = t.UID_DialogTable where t.UID_DialogTableUnion > ' ' union select t.UID_DialogTableUnion from dialogtable\r\n t join inserted d on d.UID_DialogTable = t.UID_DialogTable where t.UID_DialogTableUnion > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonRebuildView'\r\n, @DBQueueElements_01 end  if update(datatype) or update(isPkmember) or update(isAlternatePkmember) or update(IsToWatch)  or update(IsToWatchDelete) or\r\n update(IsCustomConfigurable) or update(IsDeactivatedByPreProcessor)  or update(SplittedLookupSupport) begin declare @DBQueueElements_02 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_02 (object, subobject, genprocid) select dbo.QBM_FGITableName(x.uid), null, @GenProcID from (select i.UID_DialogTable as \r\nUID from Dialogcolumn i join deleted d on i.UID_DialogColumn = d.UID_DialogColumn where isnull(i.datatype,0) <> isnull(d.datatype,0) or isnull(i.isPkmember\r\n,0) <> isnull(d.isPkmember,0) or isnull(i.isAlternatePkmember,0) <> isnull(d.isAlternatePkmember,0) or isnull(i.IsToWatch,0) <> isnull(d.IsToWatch,0)  \r\nor isnull(i.IsToWatchDelete,0) <> isnull(d.IsToWatchDelete,0) or isnull(i.IsCustomConfigurable,0) <> isnull(d.IsCustomConfigurable,0) or isnull(i.IsDeactivatedByPreProcessor\r\n,0) <> isnull(d.IsDeactivatedByPreProcessor,0) or isnull(i.SplittedLookupSupport, '') <> isnull(d.SplittedLookupSupport, '') union select t.UID_DialogTableBase\r\n from dialogtable t join inserted i on i.UID_DialogTable = t.UID_DialogTable where t.UID_DialogTableBase > ' ' union select t.UID_DialogTableBase from \r\ndialogtable t join deleted d on d.UID_DialogTable = t.UID_DialogTable where t.UID_DialogTableBase > ' ' union  select t.UID_DialogTable from dialogtable\r\n t join inserted c on c.UID_DialogTable = t.UID_DialogTableUnion  ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonMakeWatchtrigger', @DBQueueElements_02\r\n end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUAssembly_DialogConfig",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogConfigParm",
      "CreateDate": "2025-06-27T18:01:01.603",
      "ModifyDate": "2026-04-14T23:23:08.047",
      "Definition": " create   trigger QBM_TUAssembly_DialogConfig on DialogConfigParm  for Update not for Replication as begin  declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(UID_ParentConfigparm\r\n) or update(ConfigParm) or update(FullPath) or update(IsPreprocessorCondition) begin exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'TypedWrappers'\r\n, '#', @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUAssembly_DialogMethod",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogMethod",
      "CreateDate": "2025-06-27T18:01:01.613",
      "ModifyDate": "2026-04-14T23:23:08.107",
      "Definition": "   create   trigger QBM_TUAssembly_DialogMethod on DialogMethod  for Update not for Replication as begin  declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(IsDeactivated\r\n) or update(MethodScript) or update(MethodName) or update (IsVisibleScript) begin exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'DlgMth',\r\n '#', @GenProcID  end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUAssembly_DialogObject",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogObject",
      "CreateDate": "2025-06-27T18:01:01.623",
      "ModifyDate": "2026-04-14T23:23:08.117",
      "Definition": " create   trigger QBM_TUAssembly_DialogObject on DialogObject  for Update not for Replication as begin  declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(InsertValues\r\n) or update(IsDeactivatedByPreProcessor) or update(SelectScript) begin exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'DlgObj', '#', @GenProcID\r\n  end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUAssembly_DialogParameter",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogParameter",
      "CreateDate": "2025-06-27T18:01:01.643",
      "ModifyDate": "2026-04-14T23:23:08.12",
      "Definition": " create   trigger QBM_TUAssembly_DialogParameter on DialogParameter  for Update not for Replication as begin  declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(ValidationScript\r\n) or update(ValueScript) or update(OnPropertyChangedScript) begin if exists (select top 1 1 from deleted d join dialogparameter p on d.uid_DialogParameter\r\n = p.uid_DialogParameter where isnull(d.ValidationScript, N'') <> isnull(p.ValidationScript, N'') or isnull(d.ValueScript, N'') <> isnull(p.ValueScript\r\n, N'') or isnull(d.OnPropertyChangedScript, N'') <> isnull(p.OnPropertyChangedScript, N'') ) begin exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset'\r\n, 'Parameters', '#', @GenProcID  end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUAssembly_DialogScript",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogScript",
      "CreateDate": "2025-06-27T18:01:01.653",
      "ModifyDate": "2026-04-14T23:23:08.153",
      "Definition": " create   trigger QBM_TUAssembly_DialogScript on DialogScript  for Update not for Replication as begin  declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(IsLocked)\r\n or update(ScriptCode) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01(Object, SubObject, GenProcID) select 'Scripts'\r\n, s.UID_DialogScript , @GenProcID from DialogScript s join deleted d on s.UID_DialogScript = d.UID_DialogScript where ISNULL(s.ScriptCode, '') <> ISNULL\r\n(d.ScriptCode, '') or ISNULL(s.IsLocked, 0) <> ISNULL(d.IsLocked, 0) exec QBM_PDBQueueInsert_bulk 'QBM-K-ScriptAssemblyReset', @DBQueueElements_01  end\r\n  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUAssembly_DialogSheet",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogSheet",
      "CreateDate": "2025-06-27T18:01:01.667",
      "ModifyDate": "2026-04-14T23:23:08.16",
      "Definition": " create   trigger QBM_TUAssembly_DialogSheet on DialogSheet  for Update not for Replication as begin  declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(InsertValues\r\n) or update(IsDeactivated) or update(IsDeactivatedByPreProcessor) begin exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'SheetIV', '#', @GenProcID\r\n  end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUAssembly_DialogTable",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogTable",
      "CreateDate": "2025-06-27T18:01:01.687",
      "ModifyDate": "2026-04-14T23:23:08.17",
      "Definition": "  create   trigger QBM_TUAssembly_DialogTable on DialogTable  for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(InsertValues\r\n) or update(IsDeactivatedByPreProcessor) or update(OnDiscardedScript) or update(OnDiscardingScript) or update(OnLoadedScript)  or update(OnSavedScript)\r\n or update(OnSavingScript) or update(SelectScript) or update(DeleteDelayScript) begin if exists (select top 1 1 from deleted d join DialogTable t on d.UID_DialogTable\r\n = t.UID_DialogTable where ( d.IsDeactivatedByPreProcessor <> t.IsDeactivatedByPreProcessor or isnull(d.OnDiscardedScript, '') <> isnull(t.OnDiscardedScript\r\n, '') or isnull(d.OnDiscardingScript, '') <> isnull(t.OnDiscardingScript, '') or isnull(d.OnLoadedScript, '') <> isnull(t.OnLoadedScript, '')  or isnull\r\n(d.OnSavedScript, '') <> isnull(t.OnSavedScript, '') or isnull(d.OnSavingScript, '') <> isnull(t.OnSavingScript, '') or isnull(d.SelectScript, '') <> isnull\r\n(t.SelectScript, '') or isnull(d.DeleteDelayScript, '') <> isnull(t.DeleteDelayScript, '') ) ) begin exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset'\r\n, 'Table', '#', @GenProcID  end end if update(IsDeactivatedByPreProcessor) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n(Object, SubObject, GenProcID) select distinct 'JobGen', t.TableName , @GenProcID from deleted d join DialogTable t on d.UID_DialogTable = t.UID_DialogTable\r\n where ( d.IsDeactivatedByPreProcessor <> t.IsDeactivatedByPreProcessor ) exec QBM_PDBQueueInsert_Bulk 'QBM-K-ScriptAssemblyReset', @DBQueueElements_01\r\n end  if update(IsDeactivatedByPreProcessor) begin if exists (select top 1 1 from deleted d join DialogTable t on d.UID_DialogTable = t.UID_DialogTable\r\n where ( d.IsDeactivatedByPreProcessor <> t.IsDeactivatedByPreProcessor ) ) begin exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'Scripts'\r\n, '#', @GenProcID  end end if update(tablename) or update(IsDeactivatedByPreProcessor) begin exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset'\r\n, 'TypedWrappers', '#', @GenProcID end  if update(TableName) or update(UID_DialogTableBase) or update(viewwhereclause) or update(UID_DialogTableUnion) \r\nor update(UID_DialogTableBase) or update(IsDeactivatedByPreProcessor) or update(ExtensionForProxyTable) begin  declare @DBQueueElements_02 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select i.UID_DialogTable as UID from inserted i union\r\n select i.UID_DialogTableBase from inserted i where i.UID_DialogTableBase > ' ' union select i.UID_DialogTableUnion from inserted i where i.UID_DialogTableUnion\r\n > ' ' union select d.UID_DialogTable as UID from deleted d union select d.UID_DialogTableBase from deleted d where d.UID_DialogTableBase > ' ' union select\r\n d.UID_DialogTableUnion from deleted d where d.UID_DialogTableUnion > ' ' union select t.UID_DialogTable from DialogTable t join deleted d on t.UID_DialogTable\r\n = d.UID_DialogTable where ISNULL(t.ExtensionForProxyTable, '') <> isnull(d.ExtensionForProxyTable, '') union select t.UID_DialogTable from DialogTable\r\n t join inserted i on t.UID_DialogTableBase = i.UID_DialogTable union select t.UID_DialogTable from DialogTable t join deleted i on t.UID_DialogTableBase\r\n = i.UID_DialogTable ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonRebuildView', @DBQueueElements_02 end  if update(UID_DialogTableBase) or update(isdeactivatedbypreprocessor\r\n) or update(DisplayPattern) or update(IsTransportDisabled) or update(isResident) or update(isAssignmentWithEvent) or update(PendingChangeBehavior) begin\r\n declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select dbo.QBM_FGITableName(x.uid), null, @GenProcID\r\n from (select i.UID_DialogTable as UID from DialogTable i join deleted d on i.UID_DialogTable = d.UID_DialogTable where isnull(i.UID_DialogTableBase,''\r\n) <> isnull(d.UID_DialogTableBase,'') or isnull(i.isdeactivatedbypreprocessor,0) <> isnull(d.isdeactivatedbypreprocessor,0) or isnull(i.DisplayPattern,\r\nN'') <> isnull(d.DisplayPattern,N'') or isnull(i.IsTransportDisabled,0) <> isnull(d.IsTransportDisabled,0) or isnull(i.isResident, 0) <> isnull(d.isResident\r\n, 0) or isnull(i.isAssignmentWithEvent, 0) <> isnull(d.isAssignmentWithEvent, 0) or isnull(i.PendingChangeBehavior, 0) <> isnull(d.PendingChangeBehavior\r\n, 0) union select i.UID_DialogTableBase as UID from DialogTable i join deleted d on i.UID_DialogTable = d.UID_DialogTable where ( isnull(i.UID_DialogTableBase\r\n,'') <> isnull(d.UID_DialogTableBase,'') or isnull(i.isResident, 0) <> isnull(d.isResident, 0) or isnull(i.isAssignmentWithEvent, 0) <> isnull(d.isAssignmentWithEvent\r\n, 0) or isnull(i.PendingChangeBehavior, 0) <> isnull(d.PendingChangeBehavior, 0) ) and i.UID_DialogTableBase > ' ' union select d.UID_DialogTableBase as\r\n UID from DialogTable i join deleted d on i.UID_DialogTable = d.UID_DialogTable where ( isnull(i.UID_DialogTableBase,'') <> isnull(d.UID_DialogTableBase\r\n,'') or isnull(i.isResident, 0) <> isnull(d.isResident, 0) or isnull(i.isAssignmentWithEvent, 0) <> isnull(d.isAssignmentWithEvent, 0) or isnull(i.PendingChangeBehavior\r\n, 0) <> isnull(d.PendingChangeBehavior, 0) ) and d.UID_DialogTableBase > ' ' union  select t.UID_DialogTable from dialogtable t join deleted c on c.UID_DialogTable\r\n = t.UID_DialogTableUnion join dialogTable t2 on c.UID_DialogTable = t2.UID_DialogTable   ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonMakeWatchtrigger'\r\n, @DBQueueElements_03 end if update(viewwhereclause) begin exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate', 'QBM-K-CommonRebuildViewR', '', @GenProcID\r\n exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate', 'QBM-K-CommonRebuildViewU', '', @GenProcID end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUAssembly_DialogWebServ",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogWebService",
      "CreateDate": "2025-06-27T18:01:01.717",
      "ModifyDate": "2026-04-14T23:23:08.2",
      "Definition": " create   trigger QBM_TUAssembly_DialogWebServ on DialogWebService  for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(CustomCMD\r\n) or update(IsLocked) or update(LastProxyCodeUpdate) or update(ProxyCode) begin exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'WebServices'\r\n, '#', @GenProcID  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUAssembly_DialValDynRef",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogValidDynamicRef",
      "CreateDate": "2025-06-27T18:01:01.707",
      "ModifyDate": "2026-04-14T23:23:08.193",
      "Definition": " create   trigger QBM_TUAssembly_DialValDynRef on DialogValidDynamicRef  for Update not for Replication as begin declare @GenProcID varchar(38) \r\n= dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return\r\n start:  if update(ParentRestriction) or update(ParentExecuteBy)  or update(ChildExecuteBy) begin exec QBM_PDBQueueInsert_Single 'QBM-K-CommonMakeRITriggerPre'\r\n, '', '', @GenProcID end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null\r\n, @GenProcID from (select t.TableName as UID from DialogValidDynamicRef i join deleted d on i.XObjectKey = d.XObjectKey join DialogColumn c on i.UID_DialogColumn\r\n = c.UID_DialogColumn join DialogTable t on c.UID_DialogTable = t.UID_DialogTable where isnull(i.ChildExecuteBy,'') <> isnull(d.ChildExecuteBy,'') or isnull\r\n(i.ParentExecuteBy,'') <> isnull(d.ParentExecuteBy,'')  or isnull(i.ParentRestriction,'') <> isnull(d.ParentRestriction,'') union select t.TableName as\r\n UID from DialogValidDynamicRef i join deleted d on i.XObjectKey = d.XObjectKey join DialogTable t on i.UID_DialogTableReference = t.UID_DialogTable where\r\n isnull(i.ChildExecuteBy,'') <> isnull(d.ChildExecuteBy,'') or isnull(i.ParentExecuteBy,'') <> isnull(d.ParentExecuteBy,'')  or isnull(i.ParentRestriction\r\n,'') <> isnull(d.ParentRestriction,'') ) as x  insert into @DBQueueElements_01 (object, subobject, genprocid) select b.TableName, null, e.GenProcID from\r\n @DBQueueElements_01 e join DialogTable v on e.Object = v.TableName join DialogTable b on v.UID_DialogTableBase = b.UID_DialogTable exec QBM_PDBQueueInsert_Bulk\r\n 'QBM-K-CommonMakeWatchtrigger', @DBQueueElements_01 exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonMakeRITrigger' , @DBQueueElements_01  END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUAssembly_Job",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "Job",
      "CreateDate": "2025-06-27T18:01:01.73",
      "ModifyDate": "2026-04-14T23:23:08.363",
      "Definition": " create   trigger QBM_TUAssembly_Job on Job  for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext(\r\n'') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(GenCondition\r\n) or update(NotifyAddress) or update(NotifyAddressSuccess) or update(NotifyBody) or update(NotifyBodySuccess) or update(NotifySender) or update(NotifySenderSuccess\r\n) or update(NotifySubject) or update(NotifySubjectSuccess) or update(PreCode) or update(ProcessDisplay) or update(ServerDetectScript) or update(ProcessInfoLevel\r\n) or update(IsToFreezeOnError) or update(IgnoreErrors) or update(DeferOnError) or update(MinutesToDefer) or update(IsSplitOnly) or update(Name) or update\r\n(PreProcessorCondition) or update(UID_Job) or update(UID_JobTask) or update(Retries) or update(Priority) or update(PriorityDefinition) or update(UID_SuccessJob\r\n) or update(UID_ErrorJob) or update(LogMode) or update(ProcessTracking) or update(IsForHistory) or update(IsNoDBQueueDefer)  or update(UID_QBMServerTag\r\n) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01(Object, SubObject, GenProcID) select distinct 'JobGen', dbo.QBM_FGITableName\r\n(c.UID_DialogTable) , @GenProcID from inserted i join Jobchain c on i.uid_Jobchain = c.uid_Jobchain join JobEventGen e on e.UID_JobChain = c.UID_JobChain\r\n where c.IsDeactivatedByPreProcessor = 0 and c.NoGenerate = 0 exec QBM_PDBQueueInsert_Bulk 'QBM-K-ScriptAssemblyReset', @DBQueueElements_01  end if update\r\n(IsDeactivatedByPreProcessor) begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02(Object, SubObject, GenProcID) select distinct\r\n 'JobGen', dbo.QBM_FGITableName(c.UID_DialogTable) , @GenProcID from inserted i join Jobchain c on i.uid_Jobchain = c.uid_Jobchain join JobEventGen e on\r\n e.UID_JobChain = c.UID_JobChain exec QBM_PDBQueueInsert_Bulk 'QBM-K-ScriptAssemblyReset', @DBQueueElements_02 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 1,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUAssembly_JobChain",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "JobChain",
      "CreateDate": "2025-06-27T18:01:01.747",
      "ModifyDate": "2026-04-14T23:23:08.37",
      "Definition": " create   trigger QBM_TUAssembly_JobChain on JobChain  for Update not for Replication as begin  declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(GenCondition\r\n) or update(PreCode) or update(ProcessDisplay) or update(Name) or update(UID_Job) or update(LimitationCount) or update(LimitationWarning) or update(PreProcessorCondition\r\n) or update(NoGenerate) or update(UID_DialogTable) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01(Object, SubObject,\r\n GenProcID) select 'JobGen', dbo.QBM_FGITableName(i.UID_DialogTable) , @GenProcID from inserted i join JobEventGen e on i.UID_JobChain = e.UID_JobChain\r\n where i.IsDeactivatedByPreProcessor = 0 and i.NoGenerate = 0 union select 'JobGen', dbo.QBM_FGITableName(i.UID_DialogTable) , @GenProcID from deleted \r\ni join JobChain c on i.UID_JobChain = c.UID_JobChain join JobEventGen e on i.UID_JobChain = e.UID_JobChain where i.IsDeactivatedByPreProcessor = 0 and \r\n(i.NoGenerate = 0 or c.NoGenerate = 0 ) exec QBM_PDBQueueInsert_Bulk 'QBM-K-ScriptAssemblyReset', @DBQueueElements_01  end if update(IsDeactivatedByPreProcessor\r\n) begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02(Object, SubObject, GenProcID) select 'JobGen', dbo.QBM_FGITableName\r\n(i.UID_DialogTable) , @GenProcID from inserted i join JobEventGen e on i.UID_JobChain = e.UID_JobChain exec QBM_PDBQueueInsert_Bulk 'QBM-K-ScriptAssemblyReset'\r\n, @DBQueueElements_02 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 1,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUAssembly_jobcomponent",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "JobComponent",
      "CreateDate": "2025-06-27T18:01:01.757",
      "ModifyDate": "2026-04-14T23:23:08.373",
      "Definition": " create   trigger QBM_TUAssembly_jobcomponent on JobComponent  for update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start:  exec QBM_PDBQueueInsert_Single\r\n 'QBM-K-ScriptAssemblyReset', 'JobGen', '%', @GenProcID  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUAssembly_JobEventGen",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "JobEventGen",
      "CreateDate": "2025-06-27T18:01:01.77",
      "ModifyDate": "2026-04-14T23:23:08.373",
      "Definition": " create   trigger QBM_TUAssembly_JobEventGen on JobEventGen  for Update not for Replication as begin  declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(ProcessDisplay\r\n) or update(UID_QBMEvent) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01(Object, SubObject, GenProcID) select 'JobGen'\r\n, dbo.QBM_FGITableName(x.UID_DialogTable) , @GenProcID from ( select e.UID_DialogTable from deleted d join JobEventGen je on d.UID_JobEventGen = je.UID_JobEventGen\r\n join QBMEvent e on d.UID_QBMEvent = e.UID_QBMEvent union select e.UID_DialogTable from deleted d join JobEventGen je on d.UID_JobEventGen = je.UID_JobEventGen\r\n join QBMEvent e on je.UID_QBMEvent = e.UID_QBMEvent ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-ScriptAssemblyReset', @DBQueueElements_01  end END TRY \r\nBEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 1,
      "HasQBMEvent": 1
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUAssembly_JobRunparameter",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "JobRunParameter",
      "CreateDate": "2025-06-27T18:01:01.78",
      "ModifyDate": "2026-04-14T23:23:08.383",
      "Definition": " create   trigger QBM_TUAssembly_JobRunparameter on JobRunparameter  for Update not for Replication as begin  declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start:  if update(ValueTemplate\r\n)  or update(Name) or update(IsCrypted) or update(IsHidden) or update(UID_JobParameter) or update(UID_Job) or update(IsPartialCrypted) begin declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (Object, SubObject, GenProcID) select distinct 'JobGen', dbo.QBM_FGITableName(c.UID_DialogTable) , @GenProcID\r\n from inserted i join job j on i.uid_Job = j.uid_job join Jobchain c on j.uid_Jobchain = c.uid_Jobchain join JobEventGen e on e.UID_JobChain = c.UID_JobChain\r\n where c.IsDeactivatedByPreProcessor = 0 and j.IsDeactivatedByPreProcessor = 0 and c.NoGenerate = 0 exec QBM_PDBQueueInsert_Bulk 'QBM-K-ScriptAssemblyReset'\r\n, @DBQueueElements_01  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 1,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUAssembly_JobTask",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "JobTask",
      "CreateDate": "2025-06-27T18:01:01.79",
      "ModifyDate": "2026-04-14T23:23:08.387",
      "Definition": " create   trigger QBM_TUAssembly_JobTask on JobTask  for update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start:  exec QBM_PDBQueueInsert_Single\r\n 'QBM-K-ScriptAssemblyReset', 'JobGen', '%', @GenProcID  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUAssembly_QBMAttribute",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMAttribute",
      "CreateDate": "2025-12-15T18:08:00.733",
      "ModifyDate": "2026-04-14T23:23:08.497",
      "Definition": "create   trigger QBM_TUAssembly_QBMAttribute on QBMAttribute for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(SelectScript\r\n) begin exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'Attributes', '#', @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUAssembly_QBMEvent",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMEvent",
      "CreateDate": "2025-06-27T18:01:01.803",
      "ModifyDate": "2026-04-14T23:23:08.56",
      "Definition": " create   trigger QBM_TUAssembly_QBMEvent on QBMEvent  for Update not for Replication as begin  declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(EventName\r\n) or update(UID_DialogTable) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01(Object, SubObject, GenProcID) select 'JobGen'\r\n, dbo.QBM_FGITableName(x.UID_DialogTable) , @GenProcID from ( select d.UID_DialogTable from deleted d join QBMEvent e on d.UID_QBMEvent = e.UID_QBMEvent\r\n union select e.UID_DialogTable from deleted d join QBMEvent e on d.UID_QBMEvent = e.UID_QBMEvent ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-ScriptAssemblyReset'\r\n, @DBQueueElements_01 end if update(EventName) or update(UID_DialogTable) or update(DisplayName) begin exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset'\r\n, 'TypedWrappers', '#', @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 1
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUAssembly_QBMRelation",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMRelation",
      "CreateDate": "2025-06-27T18:01:01.82",
      "ModifyDate": "2026-04-14T23:23:08.633",
      "Definition": "  create   trigger QBM_TUAssembly_QBMRelation on QBMRelation  for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() BEGIN TRY if exists (select top 1 1 from inserted) goto\r\n start if exists (select top 1 1 from deleted) goto start return start: if update(ParentRestriction) or update(ChildRestriction) or update(ParentExecuteBy\r\n) or update(ChildExecuteBy) begin exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'TypedWrappers', '#', @GenProcID end  if UPDATE(ismnrelation\r\n) begin  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from\r\n (select t.TableName as UID from QBMRelation i join deleted d on i.UID_QBMRelation = d.UID_QBMRelation join DialogColumn c on i.UID_ChildColumn = c.UID_DialogColumn\r\n join DialogTable t on c.UID_DialogTable = t.UID_DialogTable where isnull(i.ismnRelation,0) <> isnull(d.ismnRelation,0)  and i.ParentExecuteBy in ('T',\r\n 'D') union select t.TableName as UID from QBMRelation i join deleted d on i.UID_QBMRelation = d.UID_QBMRelation join DialogColumn c on i.UID_ParentColumn\r\n = c.UID_DialogColumn join DialogTable t on c.UID_DialogTable = t.UID_DialogTable where isnull(i.ismnRelation,0) <> isnull(d.ismnRelation,0)  and i.ParentExecuteBy\r\n in ('T', 'D') ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonMakeWatchtrigger', @DBQueueElements_01 end if UPDATE(ParentRestriction) or UPDATE(ParentExecuteBy\r\n) or UPDATE(ChildRestriction) or UPDATE(ChildExecuteBy) or UPDATE(IsForUpdateXDateSubItem) begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into\r\n @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select t.TableName as UID from deleted i join QBMRelation r on\r\n i.UID_QBMRelation = r.UID_QBMRelation join DialogColumn c on i.UID_ParentColumn = c.UID_DialogColumn join DialogTable t on c.UID_DialogTable = t.UID_DialogTable\r\n where (r.ParentRestriction <> i.ParentRestriction or r.ParentExecuteBy <> i.ParentExecuteBy or r.ChildRestriction <> i.ChildRestriction or r.ChildExecuteBy\r\n <> i.ChildExecuteBy or r.IsForUpdateXDateSubItem <> i.IsForUpdateXDateSubItem )  and r.ParentExecuteBy in ('T', 'D') union select t.TableName as UID from\r\n deleted i join QBMRelation r on i.UID_QBMRelation = r.UID_QBMRelation join DialogColumn c on i.UID_ChildColumn = c.UID_DialogColumn join DialogTable t\r\n on c.UID_DialogTable = t.UID_DialogTable where (r.ParentRestriction <> i.ParentRestriction or r.ParentExecuteBy <> i.ParentExecuteBy or r.ChildRestriction\r\n <> i.ChildRestriction or r.ChildExecuteBy <> i.ChildExecuteBy or r.IsForUpdateXDateSubItem <> i.IsForUpdateXDateSubItem )  and r.ParentExecuteBy in ('T'\r\n, 'D') ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonMakeWatchtrigger', @DBQueueElements_02 end if update(ParentRestriction) or update(ParentExecuteBy\r\n) or update(ChildRestriction) or update(ChildExecuteBy) or update(ParentAllowUpdate) begin   if exists (select top 1 1 from QBMRelation r join deleted \r\nd on r.UID_QBMRelation = d.UID_QBMRelation where (isnull(r.ParentRestriction, '') <> isnull(d.ParentRestriction, '') or isnull(r.ParentExecuteBy, '') <>\r\n isnull(d.ParentExecuteBy, '') or isnull(r.ChildRestriction, '') <> isnull(d.ChildRestriction, '') or isnull(r.ChildExecuteBy, '') <> isnull(d.ChildExecuteBy\r\n, '') ) ) begin update QBMRelation set ParentExecuteBy = case v.ParentExecuteBy when 'N' then 'N' else 'T' end , ParentAllowUpdate = 0 , ParentRestriction\r\n = b.ParentRestriction , XDateUpdated = @Xdate , XUserUpdated = @XUser  from QBMRelation v join inserted  b on v.UID_QBMRelationBase = b.UID_QBMRelation\r\n where b.ParentExecuteBy = 'T' and ( v.ParentExecuteBy not in ('T', 'N') or v.ParentAllowUpdate = 1 or v.ParentRestriction <> b.ParentRestriction ) update\r\n QBMRelation set ParentExecuteBy = case v.ParentExecuteBy when 'N' then 'N' else 'D' end , ParentAllowUpdate = b.ParentAllowUpdate , ParentRestriction \r\n= case b.ParentAllowUpdate when 1 then v.ParentRestriction else b.ParentRestriction end , XDateUpdated = @Xdate , XUserUpdated = @XUser  from QBMRelation\r\n v join inserted  b on v.UID_QBMRelationBase = b.UID_QBMRelation where b.ParentExecuteBy = 'D' and ( v.ParentExecuteBy not in ('D', 'N') or v.ParentAllowUpdate\r\n <> b.ParentAllowUpdate or ( b.ParentAllowUpdate = 0 and b.ParentRestriction <> v.ParentRestriction ) ) end exec QBM_PDBQueueInsert_Single 'QBM-K-CommonMakeRITriggerPre'\r\n, '', '', @GenProcID end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUAssembly_QBMTree",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMTree",
      "CreateDate": "2025-06-27T18:01:01.86",
      "ModifyDate": "2026-04-14T23:23:08.667",
      "Definition": "create   trigger QBM_TUAssembly_QBMTree on QBMTree  for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(IsDeactivated\r\n) or update(IsDeactivatedByPreProcessor) or update(StateScript) or update(InitScript) begin exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset',\r\n 'Tree', '#', @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUAssembly_QBMTreeResult",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMTreeResult",
      "CreateDate": "2025-06-27T18:01:01.87",
      "ModifyDate": "2026-04-14T23:23:08.68",
      "Definition": "create   trigger QBM_TUAssembly_QBMTreeResult on QBMTreeResult  for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(IsDeactivated\r\n) or update(IsDeactivatedByPreProcessor) or update(InsertValuesScript) begin exec QBM_PDBQueueInsert_Single 'QBM-K-ScriptAssemblyReset', 'Tree', '#', @GenProcID\r\n end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUAssembly_QBMViewAddOn",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMViewAddOn",
      "CreateDate": "2025-06-27T18:01:01.85",
      "ModifyDate": "2026-04-14T23:23:08.703",
      "Definition": " create   trigger QBM_TUAssembly_QBMViewAddOn on QBMViewAddOn  for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start:  if dbo.QBM_FGIColumnUpdatedOthers\r\n('QBMViewAddOn', 'IsGenerated', columns_updated()) = 1 begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject\r\n, genprocid) select x.uid, null, @GenProcID from (select t.UID_DialogTable as UID from inserted i join DialogTable t on i.UID_DialogTable = t.UID_DialogTable\r\n where i.IsGenerated = 0 union select t2.UID_DialogTable from inserted i join DialogTable t on i.UID_DialogTable = t.UID_DialogTable join DialogTable t2\r\n on t.UID_DialogTableBase = t2.UID_DialogTable where i.IsGenerated = 0 union select t2.UID_DialogTableUnion from inserted i join DialogTable t on i.UID_DialogTable\r\n = t.UID_DialogTable join DialogTable t2 on t.UID_DialogTableUnion = t2.UID_DialogTable where i.IsGenerated = 0 ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonRebuildView'\r\n, @DBQueueElements_01 end   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUDialogAuthentifier",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogAuthentifier",
      "CreateDate": "2025-06-27T18:01:01.047",
      "ModifyDate": "2026-04-14T23:23:08.03",
      "Definition": " create   trigger QBM_TUDialogAuthentifier on DialogAuthentifier  for Update not for Replication as begin  declare @GenProcID varchar(38) BEGIN \r\nTRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if update(IsEnabled) begin exec QBM_PDBQueueInsert_Single 'QBM-K-CommonInitialAuthentifier', '', '', @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUDialogColumn",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogColumn",
      "CreateDate": "2025-06-27T18:01:00.83",
      "ModifyDate": "2026-04-14T23:23:08.037",
      "Definition": "  create   trigger QBM_TUDialogColumn on DialogColumn  for Update not for Replication as begin      declare @ConditionsToCheck QBM_YParameterList\r\n declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() BEGIN TRY if exists (select top 1 1 from inserted) goto start\r\n if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')   if\r\n update(isDynamicFK) begin if exists (select top 1 1 from dialogColumn c join deleted d on c.uid_DialogColumn = d.uid_dialogcolumn join dialogtable t on\r\n c.uid_dialogtable = t.uid_dialogtable  join (select 'WatchOperation' as TableName, 'ObjectKey' as Columnname   union all select 'QBMTaggedChange', 'ObjectKey'\r\n union all select 'DialogTaggedItem', 'ObjectKey' union all select 'DialogWatchOperation', 'ObjectKeyOfRow' ) as x on x.TableName = t.TableName and x.columnname\r\n = c.columnname where c.isDynamicFK = 1 ) begin RAISERROR( '#LDS#Cannot set property isDynamicFK to true in this column|' , 18, 2) WITH NOWAIT end end \r\n     if update(preprocessorcondition) begin if exists (select top 1 1 from dialogcolumn c join deleted d on c.uid_dialogColumn = d.uid_dialogcolumn and\r\n isnull(c.preprocessorcondition,N'') > ' ' and isnull(d.preprocessorcondition,N'') = N'' join DialogTable t on c.UID_DialogTable = t.UID_DialogTable join\r\n information_schema.columns sc on t.TableName = sc.table_name and c.columnname = sc.column_name and sc.IS_NULLABLE = 'No' ) begin  raiserror('#LDS#Preprocessor conditions on columns without null are not allowed.|'\r\n , 18,1) end end if update(preprocessorcondition) begin  insert into @ConditionsToCheck (ContentFull) select i.PreProcessorCondition from inserted i exec\r\n QBM_PPrePropCheckSyntax @ConditionsToCheck  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid)\r\n select x.uid, null, @GenProcID from (select i.uid_dialogColumn as UID from DialogColumn i join deleted d on d.uid_dialogColumn = i.uid_dialogColumn and\r\n isnull(d.PreprocessorCondition,N'') <> isnull(i.PreprocessorCondition,N'') ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropColumn', @DBQueueElements_01\r\n declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select dbo.QBM_FGITableName(x.uid), null, @GenProcID\r\n from (select distinct i.UID_DialogTable as UID from DialogColumn i join deleted d on d.uid_dialogColumn = i.uid_dialogColumn and isnull(d.PreprocessorCondition\r\n,N'') <> isnull(i.PreprocessorCondition,N'')  and isnull(i.ispkmember,0) = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropTable', @DBQueueElements_02\r\n end  if update(IsOverwritingTemplate) or update(Template) or update(Format) or update(FormatScript) begin update dialogcolumn set IsTemplateChanged = \r\n1 , XDateUpdated = @Xdate , XUserUpdated = @XUser where uid_dialogcolumn in (select uid_dialogcolumn from inserted) and isnull(IsTemplateChanged,0) = 0\r\n end   if update(SplittedLookupSupport) begin declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from (select c.UID_DialogColumn as UID from deleted d join DialogColumn c on d.UID_DialogColumn = c.UID_DialogColumn where\r\n isnull(d.SplittedLookupSupport, '') <> isnull(c.SplittedLookupSupport, '') ) as x  delete QBMSplittedLookup from QBMSplittedLookup s join @DBQueueElements_03\r\n e on s.UID_DialogColumn = e.Object  delete @DBQueueElements_03 from @DBQueueElements_03 e join DialogColumn c on c.UID_DialogColumn = e.Object where isnull\r\n(c.SplittedLookupSupport, '') = '' exec QBM_PDBQueueInsert_Bulk 'QBM-K-SplittedLookupFill', @DBQueueElements_03 end  if update (IsDeactivatedByPreProcessor\r\n) or update (IsForeignKey) or update(IsDynamicFK) begin declare @DBQueueElements_36836 QBM_YDBQueueRaw insert into @DBQueueElements_36836(Object, SubObject\r\n, GenProcID) select x.uid, null, @GenProcID from ( select ra.UID_DialogTableParent as uid from deleted d join DialogColumn c on d.UID_DialogColumn = c.UID_DialogColumn\r\n join QBM_VQBMRelationALL ra on c.UID_DialogTable = ra.UID_DialogTableChild where isnull(d.IsDeactivatedByPreProcessor, 0) <> isnull(c.IsDeactivatedByPreProcessor\r\n, 0) or isnull(d.IsForeignKey, '') <> isnull(c.IsForeignKey, '') or isnull(d.IsDynamicFK, '') <> isnull(c.IsDynamicFK, '') union select ra.UID_DialogTableChild\r\n from deleted d join DialogColumn c on d.UID_DialogColumn = c.UID_DialogColumn join QBM_VQBMRelationALL ra on c.UID_DialogTable = ra.UID_DialogTableParent\r\n where isnull(d.IsDeactivatedByPreProcessor, 0) <> isnull(c.IsDeactivatedByPreProcessor, 0) or isnull(d.IsForeignKey, '') <> isnull(c.IsForeignKey, '')\r\n or isnull(d.IsDynamicFK, '') <> isnull(c.IsDynamicFK, '') union select c.UID_DialogTable from deleted d join DialogColumn c on d.UID_DialogColumn = c.UID_DialogColumn\r\n where isnull(d.IsDeactivatedByPreProcessor, 0) <> isnull(c.IsDeactivatedByPreProcessor, 0) or isnull(d.IsForeignKey, '') <> isnull(c.IsForeignKey, '')\r\n or isnull(d.IsDynamicFK, '') <> isnull(c.IsDynamicFK, '') ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-MissingDisplayRightFill', @DBQueueElements_36836 \r\n declare @DBQueueElements_478459 QBM_YDBQueueRaw insert into @DBQueueElements_478459 (object, subobject, genprocid) select x.uid, null, @GenProcID from\r\n (select distinct t.TableName as UID from inserted i join DialogTable t on i.UID_DialogTable = t.UID_DialogTable ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-IndexCreateGenerated'\r\n, @DBQueueElements_478459  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUDialogColumnGroupRight",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogColumnGroupRight",
      "CreateDate": "2025-06-27T18:01:01.5",
      "ModifyDate": "2026-04-14T23:23:08.04",
      "Definition": "create   trigger QBM_TUDialogColumnGroupRight on DialogColumnGroupRight  for Update not for Replication as begin BEGIN TRY if exists (select top\r\n 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') if update (CanSee) begin declare @DBQueueElements_36836 QBM_YDBQueueRaw insert into @DBQueueElements_36836(Object, SubObject, GenProcID) select x.uid\r\n, null, @GenProcID from ( select ra.UID_DialogTableParent as uid from deleted d join DialogColumnGroupRight t on d.UID_DialogColumn = t.UID_DialogColumn\r\n join DialogColumn c on t.UID_DialogColumn = c.UID_DialogColumn join QBM_VQBMRelationALL ra on c.UID_DialogTable = ra.UID_DialogTableChild where isnull\r\n(d.CanSee, 0) <> isnull(t.CanSee, 0) union select ra.UID_DialogTableChild from deleted d join DialogColumnGroupRight t on d.UID_DialogColumn = t.UID_DialogColumn\r\n join DialogColumn c on t.UID_DialogColumn = c.UID_DialogColumn join QBM_VQBMRelationALL ra on c.UID_DialogTable = ra.UID_DialogTableParent where isnull\r\n(d.CanSee, 0) <> isnull(t.CanSee, 0) union select c.UID_DialogTable from deleted d join DialogColumnGroupRight t on d.UID_DialogColumn = t.UID_DialogColumn\r\n join DialogColumn c on t.UID_DialogColumn = c.UID_DialogColumn where isnull(d.CanSee, 0) <> isnull(t.CanSee, 0) ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-MissingDisplayRightFill'\r\n, @DBQueueElements_36836 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUDialogConfigParm",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogConfigParm",
      "CreateDate": "2025-06-27T18:01:00.85",
      "ModifyDate": "2026-04-14T23:23:08.047",
      "Definition": " create   trigger QBM_TUDialogConfigParm on DialogConfigParm  for Update not for Replication as begin   BEGIN TRY if exists (select top 1 1 from\r\n inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('')  if exists ( select top 1 1 from dialogconfigparm p join deleted d on p.uid_configparm = d.uid_configparm where p.fullpath = 'Common\\ProcessState\\PropertyLog\\AllDefaultPropertiesForModel'\r\n and isnull(d.IsEnabledResulting,0) = 0 and isnull(p.IsEnabledResulting,0) = 1 ) begin exec QBM_PHistoryColumnSetDefault end  if update(Enabled) begin \r\nexec QBM_PDBQueueInsert_Single 'QBM-K-CommonConfigParm', '', '', @GenProcID  end if update(Value) or update(IsEnabledResulting) or update(IsPreprocessorCondition\r\n) begin    if exists (select top 1 1 from DialogConfigParm i join deleted d on d.UID_ConfigParm = i.UID_ConfigParm where i.IsPreprocessorCondition <> d.IsPreprocessorCondition\r\n or ( (i.IsEnabledResulting <> d.IsEnabledResulting or ISNULL(d.value, '') <> ISNULL(i.value, '') ) and i.IsPreprocessorCondition = 1 ) ) begin exec QBM_PDBQueueInsert_Single\r\n 'QBM-K-PrepropGenerateFunction', '', '', @GenProcID  end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (Object, SubObject\r\n, GenProcID) select distinct ht.UID_Task, null, @GenProcID from DialogConfigParm i join deleted d on d.UID_ConfigParm = i.UID_ConfigParm join QBMConfigParmHasTask\r\n ht on i.UID_ConfigParm = ht.UID_ConfigParm where i.IsEnabledResulting <> d.IsEnabledResulting or ISNULL(d.value, '') <> ISNULL(i.value, '') exec QBM_PDBQueueInsert_bulk\r\n 'QBM-K-CommonReCalculate', @DBQueueElements_01  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUDialogConfigParmOption",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogConfigParmOption",
      "CreateDate": "2025-06-27T18:01:00.863",
      "ModifyDate": "2026-04-14T23:23:08.05",
      "Definition": "  create   trigger QBM_TUDialogConfigParmOption on DialogConfigParmOption  for Update not for Replication as begin  BEGIN TRY if exists (select \r\ntop 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('')  if exists (select top 1 1 from DialogConfigParmOption i join deleted d on i.uid_dialogConfigParmOption = d.uid_dialogConfigParmOption join dialogConfigparm\r\n c on i.uid_configparm = c.uid_configparm and c.isPreprocessorCondition = 1 where isnull(i.PreProcessorstring,N'') <> isnull(d.PreProcessorstring,N'') \r\n) begin exec QBM_PDBQueueInsert_Single 'QBM-K-PrepropGenerateFunction', '', '', @GenProcID   end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default \r\nRAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUDialogCountry",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogCountry",
      "CreateDate": "2025-06-27T18:01:01.14",
      "ModifyDate": "2026-04-14T23:23:08.053",
      "Definition": " create   trigger QBM_TUDialogCountry on DialogCountry  for Update not for Replication as begin declare @SQLCmd nvarchar(max) declare @DebugSwitch\r\n int = 0 declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select\r\n top 1 1 from deleted) goto start return start:  if UPDATE(IsInUse) begin if exists (select top 1 1 from deleted d join DialogCountry x on d.UID_DialogCountry\r\n = x.UID_DialogCountry where d.IsInUse = 1 and x.IsInUse = 0 ) begin   drop table if exists #Verwaltungseinheit create table #Verwaltungseinheit(UID_PK\r\n varchar(38) collate database_default)  insert into #Verwaltungseinheit(UID_PK) select d.UID_DialogCountry from deleted d join DialogCountry x on d.UID_DialogCountry\r\n = x.UID_DialogCountry where d.IsInUse = 1 and x.IsInUse = 0  select top 1 @SQLCmd = CONCAT( 'declare @ElemKey varchar(138) = null\r\n\t\t\t\t\tdeclare @Message nvarchar(1000)\r\n\t\t\t\t\t'\r\n , string_agg( convert(nvarchar(max), CONCAT(N'\r\n\t\t\t\t\tselect @ElemKey = null\r\n\t\t\t\t\tselect top 1 @ElemKey = x.XObjectKey\r\n\t\t\t\t\tfrom ', r.ChildTable , ' x join #Verwaltungseinheit y on x.'\r\n, r.ChildColumn ,' = y.UID_PK\r\n\t\t\t\t\tif @ElemKey > '' ''\r\n\t\t\t\t\t begin\r\n\t\t\t\t\t\tselect @Message = CONCAT( ''#LDS#Changes cannot take place because assignments still exist. Table: {0} Element: {1}.|'' , '''\r\n, r.ChildTable , ''' , ''|'' , @ElemKey , ''|'' )\r\n\t\t\t\t\t\traiserror( @message, 18, 2) with nowait\r\n\t\t\t\t\t end\r\n\t\t\t\t\t ' ))  , convert(nvarchar(10), NCHAR(13\r\n) + nchar(10)) )  )  from QBM_VQBMRelation r join DialogTable t on r.UID_DialogTableChild = t.UID_DialogTable where r.ParentTable = 'DialogCountry' and\r\n t.TableType in ('B', 'T') and r.IsMNRelation = 0 and t.IsMAllTable = 0  and r.ChildTable not in ('UCIUser'  , 'DialogState', 'DialogCountryHoliday' ) \r\n if @DebugSwitch > 0 begin print @SQLCmd end exec sp_executesql @SQLCmd end  end   if UPDATE(IsInUse) begin declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (Object, SubObject, GenProcID) select x.uid, null, @GenProcID from (select i.UID_DialogCountry as uid from DialogCountry\r\n i join deleted d on i.UID_DialogCountry = d.UID_DialogCountry where isnull(i.IsInUse, 0) <> isnull(d.IsInUse, 0) ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonCountryUTCOffset'\r\n, @DBQueueElements_01 end  if UPDATE(AvgUTCOffset) or UPDATE(IsDayLightSaving) begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (Object, SubObject, GenProcID) select x.uid, null, @GenProcID from (select s.uid_DialogState as uid from DialogCountry i join deleted d on i.UID_DialogCountry\r\n = d.UID_DialogCountry join DialogState s on s.UID_DialogCountry = i.UID_DialogCountry where isnull(i.AvgUTCOffset, 0) <> isnull(d.AvgUTCOffset, 0) or \r\nisnull(i.IsDayLightSaving, 0) <> isnull(d.IsDayLightSaving, 0) ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonStateUTCOffset2', @DBQueueElements_02 end\r\n  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH EndLabel:  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUDialogCustomizer",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogCustomizer",
      "CreateDate": "2025-06-27T18:01:01.337",
      "ModifyDate": "2026-04-14T23:23:08.06",
      "Definition": " create   trigger QBM_TUDialogCustomizer on DialogCustomizer  for Update not for Replication as begin  declare @ConditionsToCheck QBM_YParameterList\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar\r\n(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(preprocessorcondition) begin  insert into @ConditionsToCheck (ContentFull) select i.PreProcessorCondition\r\n from inserted i exec QBM_PPrePropCheckSyntax @ConditionsToCheck  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, \r\nsubobject, genprocid) select x.uid, null, @GenProcID from (select i.UID_Customizer as UID from DialogCustomizer i join deleted d on i.UID_Customizer = \r\nd.UID_Customizer and isnull(i.preprocessorcondition,N'') <> isnull(d.preprocessorcondition,N'') ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrePropCustomizer'\r\n, @DBQueueElements_01 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUDialogDashBoardDef",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogDashBoardDef",
      "CreateDate": "2025-06-27T18:01:01.063",
      "ModifyDate": "2026-04-14T23:23:08.063",
      "Definition": " create   trigger QBM_TUDialogDashBoardDef on DialogDashBoardDef  for Update not for Replication as begin  declare @SQLToCheck QBM_YParameterList\r\n declare @ConditionsToCheck QBM_YParameterList BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto\r\n start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  if update(QueryDefinition100) or update(QueryDefinition\r\n) or update(AccessWhereClause) begin insert into @SQLToCheck(Parameter1, ContentFull) select c.XObjectKey, c.QueryDefinition100 from inserted c  where \r\nc.QueryDefinition100 > ' '  insert into @SQLToCheck(Parameter1, ContentFull) select c.XObjectKey, c.QueryDefinition from inserted c  where c.QueryDefinition\r\n > ' '  insert into @SQLToCheck(Parameter1, ContentFull) select c.XObjectKey, 'select top 1 1 as columnvalue from ' + 'DialogDashBoardContent' + '\r\n\t\t where (\r\n\t\t '\r\n + c.AccessWhereClause + '\r\n\t\t )' from inserted c  where c.AccessWhereClause > ' ' exec QBM_PSQLCheckExecutable @SQLToCheck, @RaiseError = 1 end if update\r\n(PreprocessorCondition) begin  insert into @ConditionsToCheck (ContentFull) select i.PreProcessorCondition from inserted i exec QBM_PPrePropCheckSyntax\r\n @ConditionsToCheck  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select t.uid_DialogDashBoardDef as uid from deleted d join DialogDashBoardDef t on d.uid_DialogDashBoardDef = t.UID_DialogDashBoardDef where isnull\r\n(d.PreprocessorCondition, N'') <> isnull(t.PreprocessorCondition, N'') ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropDashboardDef', @DBQueueElements_01\r\n end if update(IsDeactivatedByPreprocessor) begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select t.uid_DialogDashBoardDef as uid from deleted d join DialogDashBoardDef t on d.uid_DialogDashBoardDef = t.UID_DialogDashBoardDef\r\n where isnull(d.IsDeactivatedByPreprocessor, 0) <> isnull(t.IsDeactivatedByPreprocessor, 0) ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonDashboardDef'\r\n, @DBQueueElements_02 end if update(QueryDefinition) or update(QueryDefinition100) or update(isInactive) or update(isManual) begin declare @DBQueueElements_03\r\n QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select uid_DialogDashBoardDef as UID\r\n from inserted union select uid_DialogDashBoardDef as UID from deleted ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonDashboardDef', @DBQueueElements_03\r\n end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUDialogDatabase",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogDatabase",
      "CreateDate": "2025-06-27T18:01:01.3",
      "ModifyDate": "2026-04-14T23:23:08.067",
      "Definition": "  create   trigger QBM_TUDialogDatabase on DialogDatabase  for Update not for Replication as begin  SET XACT_ABORT OFF declare @NewProductionlevel\r\n int declare @ErrorMessage nvarchar(1000)  BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start\r\n return start:  if not dbo.QBM_FGIUserAccessLevel() > 3 and not (update(FESimulationStarted) or update(XUserUpdated) or update(XDateUpdated) ) begin raiserror\r\n ('#LDS#Access denied with AccessLevel <= 3|', 18, 1) with nowait end declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') \r\nif update(ProductionLevel) begin select @NewProductionlevel = null select top 1 @NewProductionlevel = db.ProductionLevel from DialogDatabase db join deleted\r\n d on db.UID_Database = d.UID_Database where db.IsMainDatabase = 1 and isnull(db.ProductionLevel, 0) <> isnull(d.ProductionLevel, 0) if @NewProductionlevel\r\n > ' ' begin update DialogConfigParm set Value = case @NewProductionlevel when 0 then 5  when 1 then 7  else 0  end where FullPath = 'QBM\\DBQueue\\CountSlotsMax'\r\n update DialogConfigParm set Value = case @NewProductionlevel when 0 then 20  when 1 then 40  else 120  end where FullPath = 'QBM\\DBQueue\\KeepAlive' end\r\n end if UPDATE(DataOrigin) begin exec QBM_PDBQueueInsert_Single 'QBM-K-GetServerProperties', '', '', @GenProcID end if update(UID_CutOffTask) begin if \r\n(select top 1 i.UID_CutOffTask from inserted i ) is null  begin exec QBM_PSessionContextSet 'INSERTEDINTODBQUEUE', '1' end else  begin if exists (select\r\n top 1 1 from deleted d join DialogDatabase i on d.UID_Database = i.UID_Database where i.UID_CutOffTask in ('QBM-K-CommonWaitForCompiler', 'QBM-K-BaseMigrationReady'\r\n)  and (d.UID_CutOffTask is null or i.UID_CutOffTask = d.UID_CutOffTask ) ) begin  exec QBM_PSessionContextSet 'INSERTEDINTODBQUEUE', '1' end else begin\r\n  select top 1 @ErrorMessage = concat('#LDS#Invalid Update in column UID_CutOffTask. Old task: {0}, New task {1}.|' , isnull(d.UID_CutOffTask, '<empty>'\r\n), '|' , isnull(i.UID_CutOffTask, '<empty>'), '|' ) from deleted d join DialogDatabase i on d.UID_Database = i.UID_Database where i.IsMainDatabase = 1 \r\nif @@TRANCOUNT > 0 begin rollback end raiserror (@ErrorMessage, 18, 1) with nowait end end end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare\r\n @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUDialogGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogGroup",
      "CreateDate": "2025-06-27T18:01:00.88",
      "ModifyDate": "2026-04-14T23:23:08.077",
      "Definition": " create   trigger QBM_TUDialogGroup on DialogGroup  for Update not for Replication as begin  declare @ConditionsToCheck QBM_YParameterList declare\r\n @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists\r\n (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(PreprocessorCondition\r\n) begin  insert into @ConditionsToCheck (ContentFull) select i.PreProcessorCondition from inserted i exec QBM_PPrePropCheckSyntax @ConditionsToCheck  declare\r\n @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_DialogGroup\r\n as uid from inserted ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropGroup', @DBQueueElements_01 end  if update(GroupNumber) begin if exists (select\r\n top 1 1 from deleted d join DialogGroup g on g.UID_DialogGroup = d.uid_dialogGroup where d.groupnumber > 0 and g.groupnumber > 0 and d.groupnumber <> \r\ng.groupnumber ) begin  declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select g.uid_DialogGroup as uid from deleted d join DialogGroup g on g.UID_DialogGroup = d.uid_dialogGroup where d.groupnumber > 0 and g.groupnumber\r\n > 0 and d.groupnumber <> g.groupnumber ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonGroupNumber', @DBQueueElements_02 exec QBM_PDBQueueInsert_Bulk\r\n 'QBM-K-CommonGroupPattern', @DBQueueElements_02 update dialoggroup set groupnumber = 0 , XDateUpdated = @Xdate , XUserUpdated = @XUser from dialogGroup\r\n join deleted d on dialogGroup.UID_DialogGroup = d.uid_dialogGroup where d.groupnumber > 0 and dialoggroup.groupnumber > 0 and d.groupnumber <> dialoggroup.groupnumber\r\n end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUDialogMultiLanguage",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogMultiLanguage",
      "CreateDate": "2025-06-27T18:01:00.9",
      "ModifyDate": "2026-04-14T23:23:08.11",
      "Definition": "  create   trigger QBM_TUDialogMultiLanguage on DialogMultiLanguage  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 \r\n1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('')  if exists (select top 1 1 from dialogmultilanguage m join deleted d on m.UID_DialogMultiLanguage = d.UID_DialogMultiLanguage join dialogcolumn c \r\non m.uid_dialogcolumn = c.uid_dialogcolumn and c.UID_DialogTable in ('QBM-T-QBMTree', 'QBM-T-DialogMethod', 'QBM-T-DialogSheet' ) ) begin         exec \r\nQBM_PDBQueueInsert_single 'QBM-K-CommonIncSemaphor', 'DIALOG', '', @GenProcID end if exists (select top 1 1 from dialogmultilanguage m join deleted d on\r\n m.UID_DialogMultiLanguage = d.UID_DialogMultiLanguage join dialogcolumn c on m.uid_dialogcolumn = c.uid_dialogcolumn and c.UID_DialogTable in ('QBM-T-dialogdashboardcontent'\r\n ) ) begin exec QBM_PDBQueueInsert_Single 'QBM-K-CommonIncSemaphor', 'DASHBOARDCONTENT', '', @GenProcID end if exists (select top 1 1 from dialogmultilanguage\r\n m join deleted d on m.UID_DialogMultiLanguage = d.UID_DialogMultiLanguage join dialogcolumn c on m.uid_dialogcolumn = c.uid_dialogcolumn and c.UID_DialogTable\r\n in ('QBM-T-dialogdashboarddef' ) ) begin exec QBM_PDBQueueInsert_Single 'QBM-K-CommonIncSemaphor', 'DASHBOARDDEF', '', @GenProcID end END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUDialogObject",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogObject",
      "CreateDate": "2025-06-27T18:01:00.917",
      "ModifyDate": "2026-04-14T23:23:08.117",
      "Definition": " create   trigger QBM_TUDialogObject on DialogObject  for Update not for Replication as begin  declare @SQLToCheck QBM_YParameterList declare @ConditionsToCheck\r\n QBM_YParameterList BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare\r\n @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  if update(WhereClause) begin insert into @SQLToCheck(Parameter1, ContentFull\r\n) select c.XObjectKey, 'select top 1 1 as columnvalue from ' + t.TableName + '\r\n\t\t where (\r\n\t\t ' + c.WhereClause + '\r\n\t\t )' from inserted c  join DialogTable\r\n t on c.UID_DialogTable = t.UID_DialogTable where c.WhereClause > ' ' exec QBM_PSQLCheckExecutable @SQLToCheck, @RaiseError = 1 end  if update(PreprocessorCondition\r\n) begin  insert into @ConditionsToCheck (ContentFull) select i.PreProcessorCondition from inserted i exec QBM_PPrePropCheckSyntax @ConditionsToCheck  declare\r\n @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select i.uid_dialogObject\r\n as UID from DialogObject i join deleted d on i.uid_dialogObject = d.uid_dialogObject where isnull(i.PreprocessorCondition,N'') <> isnull(d.PreprocessorCondition\r\n,N'') ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropObject', @DBQueueElements_01 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUDialogParameter",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogParameter",
      "CreateDate": "2025-06-27T18:01:01.163",
      "ModifyDate": "2026-04-14T23:23:08.12",
      "Definition": " create   trigger QBM_TUDialogParameter on DialogParameter  for Update not for Replication as begin  declare @SQLToCheck QBM_YParameterList BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38\r\n) select @GenProcID = dbo.QBM_FGISessionContext('')   if update(QueryWhereClause) begin insert into @SQLToCheck(Parameter1, ContentFull) select c.XObjectKey\r\n, 'select top 1 1 as columnvalue from ' + t.TableName + '\r\n\t\t where (\r\n\t\t ' + c.QueryWhereClause + '\r\n\t\t )' from inserted c  join DialogColumn cc on c.UID_DialogColumnQuery\r\n = cc.UID_DialogColumn join DialogTable t on t.UID_DialogTable = cc.UID_DialogTable where c.QueryWhereClause > ' ' exec QBM_PSQLCheckExecutable @SQLToCheck\r\n, @RaiseError = 1 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUDialogReport",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogReport",
      "CreateDate": "2025-06-27T18:01:01.15",
      "ModifyDate": "2026-04-14T23:23:08.14",
      "Definition": "create   trigger QBM_TUDialogReport on DialogReport  for Update not for Replication as begin declare @ConditionsToCheck QBM_YParameterList BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38\r\n) select @GenProcID = dbo.QBM_FGISessionContext('') if update(PreprocessorCondition) begin  insert into @ConditionsToCheck (ContentFull) select i.PreProcessorCondition\r\n from inserted i exec QBM_PPrePropCheckSyntax @ConditionsToCheck  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, \r\nsubobject, genprocid) select x.uid, null, @GenProcID from ( select t.uid_DialogReport as uid from deleted d join DialogReport t on d.uid_DialogReport =\r\n t.UID_DialogReport where isnull(d.PreprocessorCondition, N'') <> isnull(t.PreprocessorCondition, N'') ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropReport'\r\n, @DBQueueElements_01 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUDialogReportQueryModule",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogReportQueryModule",
      "CreateDate": "2025-06-27T18:01:01.43",
      "ModifyDate": "2026-04-14T23:23:08.143",
      "Definition": "create   trigger QBM_TUDialogReportQueryModule on DialogReportQueryModule  for Update not for Replication as begin declare @ConditionsToCheck QBM_YParameterList\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar\r\n(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(PreprocessorCondition) begin  insert into @ConditionsToCheck (ContentFull) select i.PreProcessorCondition\r\n from inserted i exec QBM_PPrePropCheckSyntax @ConditionsToCheck  end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH \r\nNOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUDialogSchedule",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogSchedule",
      "CreateDate": "2025-06-27T18:01:01.033",
      "ModifyDate": "2026-04-14T23:23:08.15",
      "Definition": "  create   trigger QBM_TUDialogSchedule on DialogSchedule  for update not for Replication as begin declare @jetzt datetime = getutcdate() declare\r\n @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() BEGIN TRY if exists (select top 1 1 from inserted) goto start return\r\n start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(StartTime) begin if exists (select top 1 1 from inserted\r\n i where dbo.QBM_FGITimeIsValid(i.starttime) < 0 ) begin  raiserror( '#LDS#The time entered is not valid, must be between 00:00 and 23:59 or empty.|', \r\n18, 3) with nowait end end if update(Enabled) or update(StartDate) or update(EndDate) or update(Frequency) or update(FrequencyType) or update(FrequencySubType\r\n) or update(StartTime) or update(UID_DialogTimeZone) begin        update DialogSchedule set EndDate = '2200-01-01' , XDateUpdated = @Xdate , XUserUpdated\r\n = @XUser from DialogSchedule s join deleted i on s.UID_DialogSchedule = i.UID_DialogSchedule where s.EndDate is null update DialogSchedule set NextRun\r\n = dbo.QBM_FGIScheduleNextRun ('1899-12-31'  , '1899-12-31'  , case  when isnull(s.StartDate, '1900-01-01') > @jetzt and s.FrequencyType not in ('Week'\r\n, 'Month', 'Year', 'Day') then s.StartDate when isnull(s.StartDate, '1900-01-01') > @jetzt and s.FrequencyType in ('Week', 'Month', 'Year') then dateadd\r\n (dd, -1, s.StartDate) when isnull(s.StartDate, '1900-01-01') > @jetzt and s.FrequencyType in ('Day') then dateadd (hh, -1, s.StartDate) else @jetzt end\r\n , s.StartTime  , s.FrequencyType  ,  case when isnull(s.StartDate, '1900-01-01') > @jetzt  and s.FrequencyType not in ('Week', 'Month', 'Year', 'Day')\r\n and s.FrequencyType not like 'WD[_]%' then 0 when s.FrequencyType like 'WD[_]%' then s.Frequency else 1 end , s.FrequencySubType  , isnull(tz.CurrentUTCOffset\r\n, 0)  ) , XDateUpdated = @Xdate , XUserUpdated = @XUser from DialogSchedule s join deleted i on s.UID_DialogSchedule = i.UID_DialogSchedule left outer \r\njoin DialogTimeZone tz on s.UID_DialogTimeZone = tz.UID_DialogTimeZone where isnull(s.EndDate, '2200-01-01') > @jetzt  and s.Enabled = 1 update DialogSchedule\r\n set nextrun = '2200-01-01' , LastRun = '1900-01-02' , XDateUpdated = @Xdate , XUserUpdated = @XUser from DialogSchedule s join deleted d on s.UID_DialogSchedule\r\n = d.UID_DialogSchedule where s.EndDate < @jetzt or s.Enabled = 0 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH \r\nNOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUDialogScriptAssembly",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogScriptAssembly",
      "CreateDate": "2025-06-27T18:01:01.383",
      "ModifyDate": "2026-04-14T23:23:08.157",
      "Definition": " create   trigger QBM_TUDialogScriptAssembly on DialogScriptAssembly  for Update not for Replication as begin declare @xdate datetime = getutcdate\r\n() declare @XUser nvarchar(64) BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return \r\nstart: select @xuser = dbo.QBM_FGISessionContext('XUser') if update(Assembly) begin update dialogSemaphor set ChangeCounter = ChangeCounter +1 , XDateUpdated\r\n = @XDate , XUserUpdated = @XUser where ChangeContext = 'ASSEMBLY' end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH\r\n NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUDialogSheet",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogSheet",
      "CreateDate": "2025-06-27T18:01:01",
      "ModifyDate": "2026-04-14T23:23:08.16",
      "Definition": "  create   trigger QBM_TUDialogSheet on DialogSheet  for Update not for Replication as begin  declare @ConditionsToCheck QBM_YParameterList BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38\r\n) select @GenProcID = dbo.QBM_FGISessionContext('') if update(preprocessorcondition) begin  insert into @ConditionsToCheck (ContentFull) select i.PreProcessorCondition\r\n from inserted i exec QBM_PPrePropCheckSyntax @ConditionsToCheck  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, \r\nsubobject, genprocid) select x.uid, null, @GenProcID from (select i.uid_dialogSheet as UID from DialogSheet i join deleted d on i.uid_dialogSheet = d.uid_dialogSheet\r\n where isnull(i.PreprocessorCondition,N'') <> isnull(d.PreprocessorCondition,N'') ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropSheet', @DBQueueElements_01\r\n end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUDialogState",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogState",
      "CreateDate": "2025-06-27T18:01:01.093",
      "ModifyDate": "2026-04-14T23:23:08.163",
      "Definition": "create   trigger QBM_TUDialogState on DialogState  for Update not for Replication as begin  declare @SQLCmd nvarchar(max) declare @DebugSwitch int\r\n = 0 declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top\r\n 1 1 from deleted) goto start return start:  if UPDATE(IsInUse) begin if exists (select top 1 1 from deleted d join DialogState x on d.UID_DialogState \r\n= x.UID_DialogState where d.IsInUse = 1 and x.IsInUse = 0 ) begin   drop table if exists #Verwaltungseinheit create table #Verwaltungseinheit(UID_PK varchar\r\n(38) collate database_default)  insert into #Verwaltungseinheit(UID_PK) select d.UID_DialogState from deleted d join DialogState x on d.UID_DialogState\r\n = x.UID_DialogState where d.IsInUse = 1 and x.IsInUse = 0  select top 1 @SQLCmd = CONCAT( 'declare @ElemKey varchar(138) = null\r\n\t\t\t\t\tdeclare @Message nvarchar(1000)\r\n\t\t\t\t\t'\r\n , string_agg( convert(nvarchar(max), CONCAT(N'\r\n\t\t\t\t\tselect @ElemKey = null\r\n\t\t\t\t\tselect top 1 @ElemKey = x.XObjectKey\r\n\t\t\t\t\tfrom ', r.ChildTable , ' x join #Verwaltungseinheit y on x.'\r\n, r.ChildColumn ,' = y.UID_PK\r\n\t\t\t\t\tif @ElemKey > '' ''\r\n\t\t\t\t\t begin\r\n\t\t\t\t\t\tselect @Message = CONCAT( ''#LDS#Changes cannot take place because assignments still exist. Table: {0} Element: {1}.|'' , '''\r\n, r.ChildTable , ''' , ''|'' , @ElemKey , ''|'' )\r\n\t\t\t\t\t\traiserror( @message, 18, 2) with nowait\r\n\t\t\t\t\t end\r\n\t\t\t\t\t ' ))  , convert(nvarchar(10), NCHAR(13\r\n) + nchar(10)) )  )  from QBM_VQBMRelation r join DialogTable t on r.UID_DialogTableChild = t.UID_DialogTable where r.ParentTable = 'DialogState' and t.TableType\r\n in ('B', 'T') and r.IsMNRelation = 0 and t.IsMAllTable = 0  and r.ChildTable not in ('UCIUser'  , 'DialogStateHoliday' )  if @DebugSwitch > 0 begin print\r\n @SQLCmd end exec sp_executesql @SQLCmd end  end   if UPDATE(IsInUse) or UPDATE(UID_DialogCountry) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (Object, SubObject, GenProcID) select x.uid, null, @GenProcID from (select i.UID_DialogState as uid from DialogState i join deleted\r\n d on i.UID_DialogState = d.UID_DialogState where isnull(i.IsInUse, 0) <> isnull(d.IsInUse, 0) or isnull(i.UID_DialogCountry, '') <> isnull(d.UID_DialogCountry\r\n, '') ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonStateUTCOffset2', @DBQueueElements_01 exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonStateUTCOffset',\r\n @DBQueueElements_01 end if UPDATE(IsInUse) or UPDATE(UID_DialogCountry) begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (Object, SubObject, GenProcID) select x.uid, null, @GenProcID from (select i.UID_DialogCountry as uid from DialogState i join deleted d on i.UID_DialogState\r\n = d.UID_DialogState where isnull(i.IsInUse, 0) <> isnull(d.IsInUse, 0) or isnull(i.UID_DialogCountry, '') <> isnull(d.UID_DialogCountry, '') union select\r\n d.UID_DialogCountry as uid from DialogState i join deleted d on i.UID_DialogState = d.UID_DialogState where isnull(i.IsInUse, 0) <> isnull(d.IsInUse, \r\n0) or isnull(i.UID_DialogCountry, '') <> isnull(d.UID_DialogCountry, '') ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonCountryUTCOffset', @DBQueueElements_02\r\n end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH EndLabel:   return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUDialogTable",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogTable",
      "CreateDate": "2025-06-27T18:01:00.957",
      "ModifyDate": "2026-04-14T23:23:08.17",
      "Definition": "  create   trigger QBM_TUDialogTable on DialogTable  for Update not for Replication as begin declare @msg nvarchar(1000) declare @SQLToCheck QBM_YParameterList\r\n declare @ConditionsToCheck QBM_YParameterList BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto\r\n start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(UID_QBMDiskStoreLogical) begin if exists\r\n (select top 1 1 from deleted d join DialogTable t on d.UID_DialogTable = t.UID_DialogTable where t.TableName in (select TableName from QBM_VStartupTables\r\n union select 'QBMDiskStoreLogical' union select 'QBMDiskStorePhysical' ) and d.UID_QBMDiskStoreLogical is null and t.UID_QBMDiskStoreLogical > ' ' ) begin\r\n  select @msg = '#LDS#Cannot move the selected Table(s) to other filegroup.|' raiserror (@msg, 18, 1) with nowait end end if update(UID_DialogTable) or\r\n update(TableName) begin if exists (select top 1 1 from inserted i where i.UID_DialogTable not like '___-T-' + i.TableName ) begin raiserror ('#LDS#TableName and UID_DialogTable mismatch|'\r\n, 18, 1) with nowait end end  if update(ViewWhereClause) begin delete  @SQLToCheck  insert into @SQLToCheck(Parameter1, ContentFull) select c.XObjectKey\r\n, 'select top 1 1 as columnvalue from ' + b.TableName + '\r\n\t\t where (\r\n\t\t ' + c.ViewWhereClause + '\r\n\t\t )' from inserted c  join DialogTable b on b.UID_DialogTable\r\n = c.UID_DialogTableBase where c.ViewWhereClause > ' ' exec QBM_PSQLCheckExecutable @SQLToCheck, @RaiseError = 1 end  if update(ExtensionForProxyTable)\r\n begin delete  @SQLToCheck insert into @SQLToCheck(Parameter1, ContentFull) select i.XObjectKey, concat('select top 1 1 as columnvalue \r\n\t\t\t\t\t\t\t\t\tfrom ('\r\n , ' select ', i.ExtensionForProxyTable, '\r\n\t\t\t\t\t\t\t\t\t\t\tfrom ' , i.tablename , '\r\n\t\t\t\t\t\t\t\t\t\t\twhere 1 = 0\r\n\t\t\t\t\t\t\t\t\t\t) as x' ) from inserted i  where i.ExtensionForProxyTable\r\n > ' ' exec QBM_PSQLCheckExecutable @SQLToCheck, @RaiseError = 1 end if update(preprocessorcondition) begin  insert into @ConditionsToCheck (ContentFull\r\n) select i.PreProcessorCondition from inserted i exec QBM_PPrePropCheckSyntax @ConditionsToCheck  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into\r\n @DBQueueElements_01 (object, subobject, genprocid) select dbo.QBM_FGITableName(x.uid), null, @GenProcID from (select i.UID_DialogTable as UID from DialogTable\r\n i join deleted d on i.UID_DialogTable = d.UID_DialogTable and isnull(i.preprocessorcondition,N'') <> isnull(d.preprocessorcondition,N'') ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QBM-K-CommonPrepropTable', @DBQueueElements_01 end if update(IsModuleGUIDAllowed) begin exec QBM_PGUIDReplaceCustomizerFill end  if update(IsMAllTable\r\n) or update(IsMNTable) begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null\r\n, @GenProcID from (select i.Tablename as UID from DialogTable i join deleted d on i.UID_DialogTable = d.UID_DialogTable where isnull(i.IsMAllTable, 0) \r\n<> isnull(d.IsMAllTable, 0) or isnull(i.IsMNTable, 0) <> isnull(d.IsMNTable, 0) ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonMakeWatchtrigger', @DBQueueElements_02\r\n end     if update (IsDeactivatedByPreProcessor) or update (DisplayPattern) or update(DisplayPatternLong) begin declare @DBQueueElements_36836 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_36836(Object, SubObject, GenProcID) select x.uid, null, @GenProcID from ( select ra.UID_DialogTableParent as uid from deleted\r\n d join DialogTable t on d.UID_DialogTable = t.UID_DialogTable join QBM_VQBMRelationALL ra on t.UID_DialogTable = ra.UID_DialogTableChild where isnull(d.IsDeactivatedByPreProcessor\r\n, 0) <> isnull(t.IsDeactivatedByPreProcessor, 0) or isnull(d.DisplayPattern, '') <> isnull(t.DisplayPattern, '') or isnull(d.DisplayPatternLong, '') <>\r\n isnull(t.DisplayPatternLong, '') union select ra.UID_DialogTableChild from deleted d join DialogTable t on d.UID_DialogTable = t.UID_DialogTable join \r\nQBM_VQBMRelationALL ra on t.UID_DialogTable = ra.UID_DialogTableParent where isnull(d.IsDeactivatedByPreProcessor, 0) <> isnull(t.IsDeactivatedByPreProcessor\r\n, 0) or isnull(d.DisplayPattern, '') <> isnull(t.DisplayPattern, '') or isnull(d.DisplayPatternLong, '') <> isnull(t.DisplayPatternLong, '') union select\r\n t.UID_DialogTable from deleted d join DialogTable t on d.UID_DialogTable = t.UID_DialogTable where isnull(d.IsDeactivatedByPreProcessor, 0) <> isnull(t.IsDeactivatedByPreProcessor\r\n, 0) or isnull(d.DisplayPattern, '') <> isnull(t.DisplayPattern, '') or isnull(d.DisplayPatternLong, '') <> isnull(t.DisplayPatternLong, '') ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'QBM-K-MissingDisplayRightFill', @DBQueueElements_36836 end  if update (DisplayPattern) or update(DisplayPatternLong) begin declare\r\n @DBQueueElements_478791 QBM_YDBQueueRaw insert into @DBQueueElements_478791(Object, SubObject, GenProcID) select x.uid, null, @GenProcID from ( select\r\n d.TableName as uid from deleted d join DialogTable t on d.UID_DialogTable = t.UID_DialogTable where isnull(d.DisplayPattern, '') <> isnull(t.DisplayPattern\r\n, '') or isnull(d.DisplayPatternLong, '') <> isnull(t.DisplayPatternLong, '') union select r.ChildTable from QBM_VQBMRelation r join deleted d on r.ParentTable\r\n = d.TableName join DialogTable t on d.UID_DialogTable = t.UID_DialogTable where isnull(d.DisplayPattern, '') <> isnull(t.DisplayPattern, '') or isnull\r\n(d.DisplayPatternLong, '') <> isnull(t.DisplayPatternLong, '') union select r2.ChildTable from QBM_VQBMRelation r1 join QBM_VQBMRelation r2 on r1.ChildTable\r\n = r2.ParentTable join deleted d on r1.ParentTable = d.TableName join DialogTable t on d.UID_DialogTable = t.UID_DialogTable where isnull(d.DisplayPattern\r\n, '') <> isnull(t.DisplayPattern, '') or isnull(d.DisplayPatternLong, '') <> isnull(t.DisplayPatternLong, '') ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonMakeWatchtrigger'\r\n, @DBQueueElements_478791 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUDialogTableGroupRight",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogTableGroupRight",
      "CreateDate": "2025-06-27T18:01:01.483",
      "ModifyDate": "2026-04-14T23:23:08.173",
      "Definition": "create   trigger QBM_TUDialogTableGroupRight on DialogTableGroupRight  for Update not for Replication as begin BEGIN TRY if exists (select top 1\r\n 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') if update (CanSee) or update(SelectWhereClause) begin declare @DBQueueElements_36836 QBM_YDBQueueRaw insert into @DBQueueElements_36836(Object, SubObject\r\n, GenProcID) select x.uid, null, @GenProcID from ( select ra.UID_DialogTableParent as uid from deleted d join DialogTableGroupRight t on d.UID_DialogTable\r\n = t.UID_DialogTable join QBM_VQBMRelationALL ra on t.UID_DialogTable = ra.UID_DialogTableChild where isnull(d.CanSee, 0) <> isnull(t.CanSee, 0) or isnull\r\n(d.SelectWhereClause, '') <> isnull(t.SelectWhereClause, '') union select ra.UID_DialogTableChild from deleted d join DialogTableGroupRight t on d.UID_DialogTable\r\n = t.UID_DialogTable join QBM_VQBMRelationALL ra on t.UID_DialogTable = ra.UID_DialogTableParent where isnull(d.CanSee, 0) <> isnull(t.CanSee, 0) or isnull\r\n(d.SelectWhereClause, '') <> isnull(t.SelectWhereClause, '') union select t.UID_DialogTable from deleted d join DialogTableGroupRight t on d.UID_DialogTable\r\n = t.UID_DialogTable where isnull(d.CanSee, 0) <> isnull(t.CanSee, 0) or isnull(d.SelectWhereClause, '') <> isnull(t.SelectWhereClause, '') ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'QBM-K-MissingDisplayRightFill', @DBQueueElements_36836 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUDialogTimeZone",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogTimeZone",
      "CreateDate": "2025-06-27T18:01:01.13",
      "ModifyDate": "2026-04-14T23:23:08.18",
      "Definition": " create   trigger QBM_TUDialogTimeZone on DialogTimeZone  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select\r\n distinct h.uid_DialogState as uid from dialogTimeZone i join deleted d on i.uid_DialogTimeZone = d.uid_DialogTimeZone join dialogStateHasTimezone h on\r\n i.uid_DialogTimeZone = h.uid_DialogTimeZone where isnull(i.UTCOffset, 0) <> isnull(d.UTCOffset, 0) or isnull(i.IsDayLightSaving, 0) <> isnull(d.IsDayLightSaving\r\n, 0) ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonStateUTCOffset', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from (select distinct h.uid_DialogCountry as uid from dialogTimeZone i join deleted d on\r\n i.uid_DialogTimeZone = d.uid_DialogTimeZone join DialogCountryHasTimezone h on i.uid_DialogTimeZone = h.uid_DialogTimeZone where isnull(i.UTCOffset, 0\r\n) <> isnull(d.UTCOffset, 0) or isnull(i.IsDayLightSaving, 0) <> isnull(d.IsDayLightSaving, 0) ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonCountryUTCOffset'\r\n, @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUDialogUser",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogUser",
      "CreateDate": "2025-06-27T18:01:00.977",
      "ModifyDate": "2026-04-14T23:23:08.183",
      "Definition": "  create   trigger QBM_TUDialogUser on DialogUser  for Update not for Replication as begin  declare @ProcName nvarchar(64) = object_name(@@procid\r\n) declare @DebugSwitch int = 0 BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return \r\nstart: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if @Debugswitch > 0 begin print 'entry : ' + @ProcName end if update\r\n(UserName) begin if exists (select top 1 1 from dialogUser u join deleted d on u.UID_DialogUser = d.UID_DialogUser where isnull(u.UserName, N'') <> isnull\r\n(d.Username, N'') and d.Username > ' '  ) begin raiserror( '#LDS#Cannot rename property Username.|', 18, 2) with nowait end end if update(IsAdmin) begin\r\n  delete DialogUserInGroup from DialogUserInGroup uig join deleted d on d.UID_DialogUser = uig.UID_DialogUser join DialogUser u on d.UID_DialogUser = u.UID_DialogUser\r\n and d.IsAdmin = 1 and u.IsAdmin = 0  end if update(IsServiceAccount) or update(IsAdmin) begin   declare @DBQueueElements_01 QBM_YDBQueueRaw insert into\r\n @DBQueueElements_01(Object, SubObject, GenProcID) select x.uid, null, @GenProcID from ( select distinct u.UID_DialogUser as uid from deleted d join DialogUser\r\n u on d.UID_DialogUser = u.UID_DialogUser where d.IsAdmin <> u.IsAdmin or d.IsServiceAccount <> u.IsServiceAccount ) as x exec QBM_PDBQueueInsert_Bulk \r\n'QBM-K-DialogUserInGroup', @DBQueueElements_01 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH if\r\n @Debugswitch > 0 begin print 'exit : ' + @ProcName end end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUDialogValidDynamicRef",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogValidDynamicRef",
      "CreateDate": "2025-06-27T18:01:01.323",
      "ModifyDate": "2026-04-14T23:23:08.193",
      "Definition": " create   trigger QBM_TUDialogValidDynamicRef on DialogValidDynamicRef  for Update not for Replication as begin  BEGIN TRY if exists (select top\r\n 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUIndicator474488",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogDatabase",
      "CreateDate": "2025-09-22T13:34:58.577",
      "ModifyDate": "2026-04-14T23:23:08.067",
      "Definition": " create   Trigger QBM_TUIndicator474488 on DialogDatabase  for Update not for replication as begin BEGIN TRY  goto endLabel END TRY BEGIN CATCH \r\nEND CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUJob",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "Job",
      "CreateDate": "2025-06-27T18:01:01.237",
      "ModifyDate": "2026-04-14T23:23:08.363",
      "Definition": "  create   trigger QBM_TUJob on Job  for Update not for Replication as begin   declare @GenProcID varchar(38) declare @ConditionsToCheck QBM_YParameterList\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if update(PreProcessorCondition) or update(UID_Jobchain) begin  insert into @ConditionsToCheck (ContentFull) select i.PreProcessorCondition from inserted\r\n i exec QBM_PPrePropCheckSyntax @ConditionsToCheck  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from (select uid_Job as UID from inserted ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropJob', @DBQueueElements_01\r\n end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUJobAutoStart",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "JobAutoStart",
      "CreateDate": "2025-06-27T18:01:01.263",
      "ModifyDate": "2026-04-14T23:23:08.367",
      "Definition": "  create   trigger QBM_TUJobAutoStart on JobAutoStart  for update not for Replication as begin declare @SQLToCheck QBM_YParameterList BEGIN TRY \r\nif exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  if \r\nupdate(WhereClause) begin insert into @SQLToCheck(Parameter1, ContentFull) select c.XObjectKey, 'select top 1 1 as columnvalue from ' + t.TableName + '\r\n\t\t where (\r\n\t\t '\r\n + c.WhereClause + '\r\n\t\t )' from inserted c  join QBMEvent et on et.UID_QBMEvent = c.UID_QBMEvent join DialogTable t on et.UID_DialogTable = t.UID_DialogTable\r\n where c.WhereClause > ' ' exec QBM_PSQLCheckExecutable @SQLToCheck, @RaiseError = 1 end  if update(UID_QBMEvent) begin update DialogSchedule set nextrun\r\n = null where uid_DialogSchedule in (select uid_DialogSchedule from inserted) end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', \r\n18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 1
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUJobChain",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "JobChain",
      "CreateDate": "2025-06-27T18:01:01.25",
      "ModifyDate": "2026-04-14T23:23:08.37",
      "Definition": "  create   trigger QBM_TUJobChain on JobChain  for Update not for Replication as begin  declare @GenProcID varchar(38) declare @ConditionsToCheck\r\n QBM_YParameterList BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: select\r\n @GenProcID = dbo.QBM_FGISessionContext('') if update(PreProcessorCondition) begin  insert into @ConditionsToCheck (ContentFull) select i.PreProcessorCondition\r\n from inserted i exec QBM_PPrePropCheckSyntax @ConditionsToCheck  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, \r\nsubobject, genprocid) select x.uid, null, @GenProcID from (select uid_Jobchain as UID from inserted ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropJobChain'\r\n, @DBQueueElements_01 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUjobcomponent",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "JobComponent",
      "CreateDate": "2025-06-27T18:01:01.183",
      "ModifyDate": "2026-04-14T23:23:08.37",
      "Definition": " create   trigger QBM_TUjobcomponent on JobComponent  for update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') exec QBM_PDBQueueInsert_Single 'QBM-K-JobPerformanceFill', '', '', @GenProcID  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (''\r\n, 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUJobParameter",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "JobParameter",
      "CreateDate": "2025-06-27T18:01:01.393",
      "ModifyDate": "2026-04-14T23:23:08.38",
      "Definition": "  create   trigger QBM_TUJobParameter on JobParameter  for Update not for Replication as begin declare @XUser nvarchar(64) = object_name(@@procid\r\n) declare @Xdate datetime = getutcdate() BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start\r\n return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(IsCrypted) begin update JobRunParameter set IsCrypted\r\n = 1 , XDateUpdated = @Xdate , XUserUpdated = @XUser  from JobParameter p join deleted d on p.UID_JobParameter = d.UID_JobParameter  join Job j on j.UID_JobTask\r\n = p.UID_JobTask join JobRunParameter rp on rp.UID_Job = j.UID_Job and rp.UID_JobParameter = p.UID_JobParameter where p.IsCrypted = 1 and rp.IsCrypted \r\n= 0 and d.IsCrypted = 0 end if update(IsHidden) begin update JobRunParameter set IsHidden = 1 , XDateUpdated = @Xdate , XUserUpdated = @XUser  from JobParameter\r\n p join deleted d on p.UID_JobParameter = d.UID_JobParameter  join Job j on j.UID_JobTask = p.UID_JobTask join JobRunParameter rp on rp.UID_Job = j.UID_Job\r\n and rp.UID_JobParameter = p.UID_JobParameter where p.IsHidden = 1 and rp.IsHidden = 0 and d.IsHidden = 0 end if update(IsPartialCrypted) begin update \r\nJobRunParameter set IsPartialCrypted = 1 , XDateUpdated = @Xdate , XUserUpdated = @XUser  from JobParameter p join deleted d on p.UID_JobParameter = d.UID_JobParameter\r\n  join Job j on j.UID_JobTask = p.UID_JobTask join JobRunParameter rp on rp.UID_Job = j.UID_Job and rp.UID_JobParameter = p.UID_JobParameter where p.IsPartialCrypted\r\n = 1 and rp.IsPartialCrypted = 0 and d.IsPartialCrypted = 0 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT\r\n END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUJobqueue",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "JobQueue",
      "CreateDate": "2025-06-27T18:01:01.207",
      "ModifyDate": "2026-04-14T23:23:08.383",
      "Definition": "create   trigger QBM_TUJobqueue on JobQueue  for update not for Replication as begin declare @QueuesToNotify QBM_YParameterList declare @Debugswitch\r\n int = 0 declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select\r\n top 1 1 from deleted) goto start return start:  if update(Ready2EXE) begin if @Debugswitch > 0 begin print 'Ready2EXE change detected' end         declare\r\n @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01(Object, SubObject, GenProcID) select dbo.QBM_FCVStringToGUID('', x.QueueName), null\r\n, @GenProcID from ( select distinct a.Queue as QueueName  from deleted a join JobQueue n on a.UID_Job = n.UID_Job where a.Ready2EXE <> n.Ready2EXE and \r\nn.Ready2EXE = N'TRUE' ) as x  delete  @DBQueueElements_01 from @DBQueueElements_01 q join QBMJobqueueOverview o with (readpast) on q.Object = o.UID_QBMJobqueueOverview\r\n where o.IsInvalid = 1 if exists (select top 1 1 from @DBQueueElements_01 ) begin   exec QBM_PJobQueueOverviewSetInv @DBQueueElements_01 end  end  if update\r\n(ParamIN) begin if exists (select top 1 1 from deleted d join Jobqueue q on d.UID_Job = q.uid_job where  isnull(d.ParamIN, N'') <> isnull(q.ParamIN, N''\r\n) and d.ParamIN > ' '  ) begin raiserror( '#LDS#Invalid changes of properties in jobqueue.|', 18, 2) with nowait end end if update(UID_Tree) or (update\r\n(Queue)  ) or update(ComponentClass) or update(ExecutionType) or update(ComponentAssembly) or update(TaskName) or update(UID_JobError) or update(UID_JobSuccess\r\n) begin if exists (select top 1 1 from deleted d join Jobqueue q on d.UID_Job = q.uid_job where d.UID_Tree <> q.UID_Tree or isnull(d.Queue, N'') <> isnull\r\n(q.Queue, N'') or isnull(d.ComponentClass, N'') <> isnull(q.ComponentClass, N'') or isnull(d.ExecutionType, N'') <> isnull(q.ExecutionType, N'') or isnull\r\n(d.ComponentAssembly, N'') <> isnull(q.ComponentAssembly, N'') or isnull(d.TaskName, N'') <> isnull(q.TaskName, N'') or isnull(d.UID_JobError, '') <> isnull\r\n(q.UID_JobError, '') or isnull(d.UID_JobSuccess, '') <> isnull(q.UID_JobSuccess, '') ) begin raiserror( '#LDS#Invalid changes of properties in jobqueue.|'\r\n, 18, 2) with nowait end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUJobTask",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "JobTask",
      "CreateDate": "2025-06-27T17:58:55.137",
      "ModifyDate": "2026-04-14T23:23:08.387",
      "Definition": " create   trigger QBM_TUJobTask on JobTask  for update not for Replication as begin   BEGIN TRY if exists (select top 1 1 from inserted) goto start\r\n if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') exec\r\n QBM_PDBQueueInsert_Single 'QBM-K-JobPerformanceFill', '', '', @GenProcID  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) \r\nWITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUQBMCEFDefinition",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMCEFDefinition",
      "CreateDate": "2025-12-15T18:08:02.74",
      "ModifyDate": "2026-04-14T23:23:08.503",
      "Definition": "create   trigger QBM_TUQBMCEFDefinition on QBMCEFDefinition  for Update not for Replication as begin  declare @SQLToCheck QBM_YParameterList declare\r\n @GenProcID varchar(38) = dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted\r\n) goto start return start: if update(UID_DialogTable) or update(UID_DialogColumn) or update(EventClassID) or update(ActivityName) or update(LogSeverity\r\n) or update(MessageString) or update(Param01) or update(Param02) or update(Param03) or update(Param04) or update(Param05) or update(OperationType) or update\r\n(IsInActive) or update(WhereClause) begin insert into @SQLToCheck(Parameter1, ContentFull) select c.XObjectKey, dbo.QBM_FSQTriggerPartCEF(isnull(b.TableName\r\n, tv.TableName ), c.OperationType, 1) from inserted c  join DialogTable tv on c.UID_DialogTable = tv.UID_DialogTable left outer join DialogTable b on tv.UID_DialogTableBase\r\n = b.UID_DialogTable exec QBM_PSQLCheckExecutable @SQLToCheck, @RaiseError = 1  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select isnull(b.TableName, tv.TableName ) as uid from inserted c  join DialogTable\r\n tv on c.UID_DialogTable = tv.UID_DialogTable left outer join DialogTable b on tv.UID_DialogTableBase = b.UID_DialogTable union select isnull(b.TableName\r\n, tv.TableName ) as uid from deleted c  join DialogTable tv on c.UID_DialogTable = tv.UID_DialogTable left outer join DialogTable b on tv.UID_DialogTableBase\r\n = b.UID_DialogTable ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonMakeWatchtrigger', @DBQueueElements_01 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUQBMDBPrincipal",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMDBPrincipal",
      "CreateDate": "2025-06-27T18:01:01.44",
      "ModifyDate": "2026-04-14T23:23:08.533",
      "Definition": " create   trigger QBM_TUQBMDBPrincipal on QBMDBPrincipal for Update not for Replication as begin BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if update(LoginName) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid\r\n, null, @GenProcID from ( select UID_QBMDBPrincipal as uid from inserted  ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-DBPrincipalCreate', @DBQueueElements_01\r\n end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUQBMFileHasDeployTarget",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMFileHasDeployTarget",
      "CreateDate": "2025-06-27T18:01:01.417",
      "ModifyDate": "2026-04-14T23:23:08.57",
      "Definition": " create   trigger QBM_TUQBMFileHasDeployTarget on QBMFileHasDeployTarget  for update not for Replication as begin  declare @GenProcID varchar(38\r\n) BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: select @GenProcID = dbo.QBM_FGISessionContext\r\n('')          exec QBM_PDBQueueInsert_Single 'QBM-K-CommonSoftwareRevision', '', '', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUQBMFileRevision",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMFileRevision",
      "CreateDate": "2025-06-27T18:01:01.343",
      "ModifyDate": "2026-04-14T23:23:08.573",
      "Definition": " create   trigger QBM_TUQBMFileRevision on QBMFileRevision  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') exec QBM_PDBQueueInsert_Single 'QBM-K-CommonSoftwareRevision', '', '', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR \r\n('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUQBMRelation",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMRelation",
      "CreateDate": "2025-06-27T18:01:01.273",
      "ModifyDate": "2026-04-14T23:23:08.633",
      "Definition": "  create   trigger QBM_TUQBMRelation on QBMRelation  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted)\r\n goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if UPDATE(ParentRestriction) or UPDATE(ParentExecuteBy) or UPDATE(ChildRestriction) or UPDATE(ChildExecuteBy) or UPDATE(IsForUpdateXDateSubItem) begin\r\n declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select\r\n t.TableName as UID from deleted i join QBMRelation r on i.UID_QBMRelation = r.UID_QBMRelation join DialogColumn c on i.UID_ParentColumn = c.UID_DialogColumn\r\n join DialogTable t on c.UID_DialogTable = t.UID_DialogTable where (r.ParentRestriction <> i.ParentRestriction or r.ParentExecuteBy <> i.ParentExecuteBy\r\n or r.ChildRestriction <> i.ChildRestriction or r.ChildExecuteBy <> i.ChildExecuteBy or r.IsForUpdateXDateSubItem <> i.IsForUpdateXDateSubItem )  and r.ParentExecuteBy\r\n in ('T', 'D') union select t.TableName as UID from deleted i join QBMRelation r on i.UID_QBMRelation = r.UID_QBMRelation join DialogColumn c on i.UID_ChildColumn\r\n = c.UID_DialogColumn join DialogTable t on c.UID_DialogTable = t.UID_DialogTable where (r.ParentRestriction <> i.ParentRestriction or r.ParentExecuteBy\r\n <> i.ParentExecuteBy or r.ChildRestriction <> i.ChildRestriction or r.ChildExecuteBy <> i.ChildExecuteBy or r.IsForUpdateXDateSubItem <> i.IsForUpdateXDateSubItem\r\n )  and r.ParentExecuteBy in ('T', 'D') ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropTable', @DBQueueElements_01 end END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUQBMServer",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMServer",
      "CreateDate": "2025-06-27T18:01:01.22",
      "ModifyDate": "2026-04-14T23:23:08.643",
      "Definition": " create   trigger QBM_TUQBMServer on QBMServer  for update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted) goto\r\n start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext(''\r\n)  if update(QueueName) begin if exists (select top 1 1 from inserted i where i.QueueName ='QBM_PWorkMaintenance' ) begin raiserror('#LDS#Invalid queue name inserted.|'\r\n, 18, 1) with nowait end end if update(UID_QBMServer) or update(Ident_Server) or update(QueueName) begin exec QBM_PDBQueueInsert_Single 'QBM-K-JobPerformanceFill'\r\n, '', '', @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUQBMTree",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMTree",
      "CreateDate": "2025-06-27T18:01:01.52",
      "ModifyDate": "2026-04-14T23:23:08.667",
      "Definition": " create   trigger QBM_TUQBMTree on QBMTree  for Update not for Replication as begin declare @ConditionsToCheck QBM_YParameterList BEGIN TRY if exists\r\n (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID\r\n = dbo.QBM_FGISessionContext('')  if update(UID_QBMTreeParent) or update(PreprocessorCondition) begin  insert into @ConditionsToCheck (ContentFull) select\r\n i.PreProcessorCondition from inserted i exec QBM_PPrePropCheckSyntax @ConditionsToCheck  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_QBMTree as uid from inserted ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropTree'\r\n, @DBQueueElements_01 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUQBMTreeResult",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMTreeResult",
      "CreateDate": "2025-06-27T18:01:01.533",
      "ModifyDate": "2026-04-14T23:23:08.68",
      "Definition": " create   trigger QBM_TUQBMTreeResult on QBMTreeResult  for Update not for Replication as begin declare @ConditionsToCheck QBM_YParameterList BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38\r\n) select @GenProcID = dbo.QBM_FGISessionContext('')  if update(UID_DialogObject) or update(PreprocessorCondition) begin  insert into @ConditionsToCheck\r\n (ContentFull) select i.PreProcessorCondition from inserted i exec QBM_PPrePropCheckSyntax @ConditionsToCheck  declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_QBMTreeResult as uid from inserted ) as\r\n x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropTreeResult', @DBQueueElements_01 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUQBMUniqueGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMUniqueGroup",
      "CreateDate": "2025-06-27T18:01:01.37",
      "ModifyDate": "2026-04-14T23:23:08.693",
      "Definition": " create   trigger QBM_TUQBMUniqueGroup on QBMUniqueGroup  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if update(IgnoreEmptyValues) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from (select distinct dbo.QBM_FGITableName(i.UID_DialogTable) as UID from deleted d join QBMUniqueGroup i on i.UID_QBMUniqueGroup\r\n = d.UID_QBMUniqueGroup where d.IgnoreEmptyValues <> i.IgnoreEmptyValues ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-IndexCreateGenerated', @DBQueueElements_01\r\n   declare @TableName varchar(30) while exists (select top 1 1 from @DBQueueElements_01 ) begin select @TableName = null select top 1 @TableName = e.Object\r\n from @DBQueueElements_01 e if @TableName is null begin continue end exec QBM_PIndexDrop @TableName, 'GEN[_]XA%' delete @DBQueueElements_01 where Object\r\n = @TableName end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QBM_TUQBMViewAddOn",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QBMViewAddOn",
      "CreateDate": "2025-06-27T18:01:01.29",
      "ModifyDate": "2026-04-14T23:23:08.703",
      "Definition": "  create   trigger QBM_TUQBMViewAddOn on QBMViewAddOn  for Update not for Replication as begin declare @SQLToCheck QBM_YParameterList declare @UID_QBMViewAddOn\r\n varchar(38) BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start:  if update(QueryString\r\n) begin insert into @SQLToCheck(Parameter1, ContentFull, Parameter2) select c.XObjectKey, c.QueryString, c.UID_QBMViewAddOn from inserted c  where c.QueryString\r\n > ' ' and c.IsGenerated = 0 if @@ROWCOUNT = 0 begin goto endLabel end exec QBM_PSQLCheckExecutable @SQLToCheck, @RaiseError = 1 end select @UID_QBMViewAddOn\r\n = '#' while @UID_QBMViewAddOn > ' ' begin select @UID_QBMViewAddOn = null select top 1 @UID_QBMViewAddOn = c.Parameter2 from @SQLToCheck c if @UID_QBMViewAddOn\r\n is null begin continue end exec QBM_PViewBuildCheckCCCExtend @UID_QBMViewAddOn  delete  @SQLToCheck where Parameter2 = @UID_QBMViewAddOn end END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TDAccProductGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "AccProductGroup",
      "CreateDate": "2025-06-27T18:01:07.727",
      "ModifyDate": "2026-04-14T23:23:07.853",
      "Definition": "create   trigger QER_TDAccProductGroup on AccProductGroup  for delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select d.UID_AccProductGroup as uid from deleted \r\nd union select d.UID_AccProductGroupParent as uid from deleted d where d.UID_AccProductGroupParent > ' ' union select co.UID_AccProductGroupChild from \r\ndeleted d join AccProductGroupCollection co on d.UID_AccProductGroupParent = co.UID_AccProductGroupParent ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AccProductGroupCollection'\r\n, @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TDBaseTree",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTree",
      "CreateDate": "2025-06-27T18:01:07.743",
      "ModifyDate": "2026-04-14T23:23:07.96",
      "Definition": "     create   trigger QER_TDBaseTree on BaseTree  for Delete not for Replication as begin   BEGIN TRY if exists (select top 1 1 from deleted) goto\r\n start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  declare @alt_uid_orgroot varchar(38)  declare @alt_uid_org\r\n varchar(38) declare @uid_personwantsorg varchar(38) declare @datum datetime declare @SQLcmd nvarchar(max) declare @alt_uid_ParentOrg varchar(38) declare\r\n @alt_IsTopDown bit declare @uid_subOrg varchar(38) declare @betroffenePWO QBM_YParameterList    if exists (select top 1 1 from QERAssign a join deleted\r\n d on a.ObjectKeyAssignTarget = d.XObjectKey ) begin RAISERROR( '#LDS#Cannot delete {1}, because {2} does exist. Rule {0}|DynamicFK|BaseTree|QERAssign|'\r\n , 18, 2) WITH NOWAIT end                               DECLARE @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (Object, SubObject,\r\n GenProcID) select x.uid, null, @GenProcID from( select distinct pwo.UID_PersonWantsOrg as uid from PersonWantsOrg pwo join deleted d on pwo.UID_Org = \r\nd.UID_Org where pwo.OrderState IN ('Assigned', 'Granted', 'New', 'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting') union select distinct\r\n pwo.UID_PersonWantsOrg as uid from PersonWantsOrg pwo join deleted d on pwo.UID_OrgParent = d.UID_Org where pwo.OrderState IN ('Assigned', 'Granted', \r\n'New', 'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting') union select distinct pwo.UID_PersonWantsOrg as uid from PersonWantsOrg pwo join\r\n deleted d on pwo.UID_OrgParentOfParent = d.UID_Org where pwo.OrderState IN ('Assigned', 'Granted', 'New', 'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe'\r\n, 'Waiting') union select distinct pwo.UID_PersonWantsOrg as uid from PersonWantsOrg pwo join deleted d on pwo.UID_ITShopOrgFinal = d.UID_Org where pwo.OrderState\r\n IN ('Assigned', 'Granted', 'New', 'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting') ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-ITSHOPOrder-ABORT'\r\n, @DBQueueElements_01                           declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select d.uid_org as uid from deleted d ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgInherite', @DBQueueElements_02\r\n  declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select\r\n d.uid_org as uid from deleted d where d.uid_OrgRoot = 'QER-V-ITShopOrg' and d.itshopinfo in ('SC', 'SH', 'BO', 'PR') ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-ShoppingRack-All', @DBQueueElements_03  declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select d.uid_parentorg as uid from deleted d where d.uid_parentorg > ' ' union  select o.uid_org as uid from deleted\r\n d join BaseTree o with(nolock) on o.uid_parentorg = d.uid_org ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgTreeLEVEL', @DBQueueElements_04         declare\r\n @DBQueueElements_05 QBM_YDBQueueRaw insert into @DBQueueElements_05 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_personHead\r\n as uid from deleted where uid_personHead > ' ' union select uid_personHeadSecond as uid from deleted where uid_personHeadSecond > ' '  union select pio.UID_Person\r\n from deleted d join PersonInBaseTree pio on d.UID_AERoleManager = pio.UID_Org  union select us.UID_PersonReceiver as uid from deleted d join QERUniversalSubstitute\r\n us on us.UID_PersonSender in (d.UID_PersonHead, d.UID_PersonHeadSecond) where (d.UID_PersonHeadSecond > ' ' or d.UID_PersonHead > ' ' ) and us.IsCurrentlyActive\r\n = 1 and us.UseForHeadOrg = 1  union select us.UID_PersonReceiver as uid from deleted d join PersonInBaseTree pio on d.UID_AERoleManager = pio.UID_Org \r\njoin QERUniversalSubstitute us on us.UID_PersonSender = pio.UID_Person where us.IsCurrentlyActive = 1 and us.UseForHeadOrg = 1 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-HelperHeadOrg', @DBQueueElements_05 declare @RecalcParameter_01 QBM_YCursorBuffer  insert into @RecalcParameter_01 (UID1, ObjectKey1, Ident1) select\r\n y.DecisionRule, x.XObjectKey, 'I' from (select b.XObjectKey from deleted d join BaseTree b on d.UID_Org = b.UID_OrgDepartment where b.UID_OrgRoot = 'QER-V-ITShopOrg'\r\n and d.UID_OrgRoot = 'QER-V-Department' ) as x join (select 'QER-PWODecisionRule-D0' as DecisionRule union select 'QER-PWODecisionRule-D1' union select\r\n 'QER-PWODecisionRule-D2' ) as y on 1 = 1 exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TDBaseTreeExcludesBaseTree",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeExcludesBasetree",
      "CreateDate": "2025-06-27T18:01:07.817",
      "ModifyDate": "2026-04-14T23:23:07.97",
      "Definition": "create   trigger QER_TDBaseTreeExcludesBaseTree on BaseTreeExcludesBaseTree  for delete not for Replication as begin declare @GenProcID varchar(38\r\n) = dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start:  declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select g.UID_DynamicGroup as uid from deleted d join\r\n BaseTree b on d.UID_Org = b.UID_Org join DynamicGroup g on b.XObjectKey = g.ObjectKeyBaseTree union select g.UID_DynamicGroup as uid from deleted d join\r\n BaseTree b on d.UID_OrgExcluded = b.UID_Org join DynamicGroup g on b.XObjectKey = g.ObjectKeyBaseTree ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-DynamicGroupTest'\r\n, @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TDBaseTreeHasObject",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasObject",
      "CreateDate": "2025-06-27T18:01:07.827",
      "ModifyDate": "2026-04-14T23:23:07.98",
      "Definition": " create   trigger QER_TDBaseTreeHasObject on BaseTreeHasObject  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from\r\n deleted) goto start return start:  declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if dbo.QBM_FGITableCountAll('ObjectHasExtendedAttribute'\r\n) > 0 begin  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null,@GenProcID from\r\n ( select distinct d.UID_Org as uid from deleted d where d.ObjectKey not like '<Key><T>ExtendedAttribute</T>%' ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-BaseTreeHasObjectExtAtt'\r\n, @DBQueueElements_01 end declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null\r\n,@GenProcID from ( select distinct pho.uid_Personwantsorg as uid from deleted d join HelperPWOPersonHasObject pho on d.UID_Org = pho.uid_OrgRelated ) as\r\n x exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackPersonHasObject', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TDBaseTreeHasPWODecisionme",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasPWODecisionMethod",
      "CreateDate": "2025-06-27T18:01:07.837",
      "ModifyDate": "2026-04-14T23:23:07.98",
      "Definition": "  create   trigger QER_TDBaseTreeHasPWODecisionme  on BaseTreeHasPWODecisionMethod for Delete not for Replication as begin  BEGIN TRY if exists \r\n(select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01(Object, SubObject, GenProcID) select deleted.UID_Org, null, @GenProcID from deleted exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-ShoppingRack-All', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: \r\nreturn end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TDDialogProcess",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogProcess",
      "CreateDate": "2025-06-27T18:01:08.617",
      "ModifyDate": "2026-04-14T23:23:08.13",
      "Definition": "  create   trigger QER_TDDialogProcess on DialogProcess  for delete not for Replication as begin declare @XUser nvarchar(64) = object_name(@@procid\r\n) declare @Xdate datetime = getutcdate() BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: update PersonWantsOrg set GenProcID\r\n = null  , XDateUpdated = @Xdate , XUserUpdated = @XUser from PersonWantsOrg pwo join deleted p on pwo.GenProcID = p.GenProcID END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TDDynamicGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DynamicGroup",
      "CreateDate": "2025-06-27T18:01:07.957",
      "ModifyDate": "2026-04-14T23:23:08.31",
      "Definition": "create   trigger QER_TDDynamicGroup on DynamicGroup  for Delete not for Replication as begin  declare @StringPatternDynamic varchar(16) = dbo.QBM_FCVBinaryToString\r\n( CONVERT(varbinary, dbo.QBM_FGIBitPatternXOrigin('|Dynamic|',0)), 0) declare @StringPatternDynamicInv varchar(16) = dbo.QBM_FCVBinaryToString( CONVERT\r\n(varbinary, dbo.QBM_FGIBitPatternXOrigin('|Dynamic|',1)), 0) declare @ElementBuffer QBM_YCursorBuffer BEGIN TRY if exists (select top 1 1 from deleted)\r\n goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  insert into @ElementBuffer(ContentFull) select\r\n concat( 'update ' , case d.UID_DialogTableObjectClass when 'QER-T-Hardware' then 'HardwareInBaseTree' when 'QER-T-WorkDesk' then 'WorkDeskInBaseTree' \r\nwhen 'QER-T-Person' then 'PersonInBaseTree' else '' end , ' set XOrigin = XOrigin & ' , @StringPatternDynamicInv , ' where uid_org = ''' , rtrim(dbo.QBM_FCVObjectkeyToElement\r\n('Columnvalue1', d.ObjectKeyBaseTree)) , ''' ' ) from deleted d exec QBM_PExecuteSQLMulti @ElementBuffer  declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select UID_DynamicGroup as uid from deleted ) as x exec \r\nQBM_PDBQueueInsert_Bulk 'QER-K-DynamicGroupMakeProc', @DBQueueElements_01   exec QBM_PDBQueueInsert_Single 'QER-K-DynamicGroupMakeTrigger', '', '', @GenProcID\r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TDDynamicGroupHasImmediate",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DynamicGroupHasImmediateColumn",
      "CreateDate": "2025-06-27T18:01:08.67",
      "ModifyDate": "2026-04-14T23:23:08.31",
      "Definition": "create   trigger QER_TDDynamicGroupHasImmediate on DynamicGroupHasImmediateColumn  for delete not for Replication as begin  declare @GenProcID varchar\r\n(38) = dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start:  exec QBM_PDBQueueInsert_Single 'QER-K-DynamicGroupMakeTrigger'\r\n, '', '', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TDHardwareType",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "HardwareType",
      "CreateDate": "2025-06-27T18:01:07.997",
      "ModifyDate": "2026-04-14T23:23:08.343",
      "Definition": "create   trigger QER_TDHardwareType on HardwareType  for delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted) \r\ngoto start return start:  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TDHelperHardwareOrg",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "HelperHardwareOrg",
      "CreateDate": "2025-06-27T18:01:08.007",
      "ModifyDate": "2026-04-14T23:23:08.347",
      "Definition": "  create   trigger QER_TDHelperHardwareOrg on HelperHardwareOrg  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from\r\n deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct d.UID_Hardware as uid from deleted\r\n d ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AllForOneHardware', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TDHelperPersonOrg",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "HelperPersonOrg",
      "CreateDate": "2025-06-27T18:01:08.1",
      "ModifyDate": "2026-04-14T23:23:08.357",
      "Definition": "  create   trigger QER_TDHelperPersonOrg on HelperPersonOrg  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct d.UID_Person as uid from deleted \r\nd left outer join BaseTree b on d.UID_Org = b.UID_Org  where isnull(b.IsNoInheriteToPerson, 0) = 0  ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AllForOnePerson'\r\n, @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select distinct d.UID_Person as uid from deleted d ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-PersonHasObject', @DBQueueElements_02 END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TDHelperWorkDeskOrg",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "HelperWorkDeskOrg",
      "CreateDate": "2025-06-27T18:01:08.11",
      "ModifyDate": "2026-04-14T23:23:08.36",
      "Definition": "  create   trigger QER_TDHelperWorkDeskOrg on HelperWorkDeskOrg  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from\r\n deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct d.UID_WorkDesk as uid from deleted\r\n d ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AllForOneWorkdesk', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TDObjectHasExtendedAtt",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ObjectHasExtendedAttribute",
      "CreateDate": "2025-06-27T18:01:08.627",
      "ModifyDate": "2026-04-14T23:23:08.417",
      "Definition": " create   trigger QER_TDObjectHasExtendedAtt on ObjectHasExtendedAttribute  for Delete not for Replication as begin  BEGIN TRY if exists (select\r\n top 1 1 from deleted) goto start return start:  declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null,@GenProcID from ( select distinct ho.UID_Org as uid \r\nfrom deleted d join BaseTreeHasObject ho on d.ObjectKeyOfObject = ho.ObjectKey ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-BaseTreeHasObjectExtAtt', @DBQueueElements_01\r\n declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null,@GenProcID from ( select\r\n distinct ho.UID_Person as uid from deleted d join PersonHasObject ho on d.ObjectKeyOfObject = ho.ObjectKey ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-PersonHasObjectExtAtt'\r\n, @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TDOrgRoot",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "OrgRoot",
      "CreateDate": "2025-06-27T18:01:08.123",
      "ModifyDate": "2026-04-14T23:23:08.42",
      "Definition": "create   trigger QER_TDOrgRoot on OrgRoot  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted) goto start\r\n return start:  if exists(select top 1 1 from deleted d join QBMModuleDef f on dbo.QBM_FCVGUIDToModuleOwner(d.UID_OrgRoot) = f.ModuleName and f.ModuleName\r\n <> 'CCC' ) begin  raiserror('#LDS#Default roles cannot be deleted.|', 18, 2) with nowait end  exec QER_POrgRootAssignFill END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TDPerson",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "Person",
      "CreateDate": "2025-06-27T18:01:08.223",
      "ModifyDate": "2026-04-14T23:23:08.43",
      "Definition": "create   trigger QER_TDPerson on Person  for delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted) goto start return\r\n start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_personHead as uid from deleted where uid_personHead > ' '  union select\r\n us.UID_PersonReceiver as uid from deleted d join QERUniversalSubstitute us on d.UID_PersonHead = us.UID_PersonSender where d.UID_PersonHead > ' ' and \r\nus.IsCurrentlyActive = 1 and us.UseForHeadPerson = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-HelperHeadPerson', @DBQueueElements_01 if exists (select\r\n 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_PersonWantsOrg\r\n = pwo.UID_PersonWantsOrg    where pwo.OrderState in ('Assigned', 'Granted', 'New', 'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting') )\r\n begin    raiserror( '#LDS#Cannot delete person, because active delegation(s) are existing.|', 18, 3) with nowait end delete delegation where UID_PersonReceiver\r\n in (select uid_person from deleted ) delete delegation where UID_PersonSender in (select uid_person from deleted )  exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate'\r\n, 'QER-K-ITShopRepairClosed', '', @GenProcID  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TDPersonHasObject",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PersonHasObject",
      "CreateDate": "2025-06-27T18:01:08.24",
      "ModifyDate": "2026-04-14T23:23:08.437",
      "Definition": "create   trigger QER_TDPersonHasObject on PersonHasObject  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted\r\n) goto start return start:  declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if dbo.QBM_FGITableCountAll('ObjectHasExtendedAttribute'\r\n) > 0 begin  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null,@GenProcID from\r\n ( select distinct d.UID_Person as uid from deleted d where d.ObjectKey not like '<Key><T>ExtendedAttribute</T>%' ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-PersonHasObjectExtAtt'\r\n, @DBQueueElements_01 end declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null\r\n, @GenProcID from ( select distinct pho.uid_Personwantsorg as uid from deleted d join HelperPWOPersonHasObject pho on d.UID_Person = pho.uid_Person ) as\r\n x exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackPersonHasObject', @DBQueueElements_02  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TDPersonWantsOrg",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PersonWantsOrg",
      "CreateDate": "2025-06-27T18:01:08.403",
      "ModifyDate": "2026-04-14T23:23:08.457",
      "Definition": "create   trigger QER_TDPersonWantsOrg on PersonWantsOrg  for DELETE not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select d.UID_PersonWantsOrg as uid from deleted d \r\n) as x  exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackPWOHelperPWO', @DBQueueElements_01  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TDPWODecisionmethod",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PWODecisionMethod",
      "CreateDate": "2025-06-27T18:01:08.42",
      "ModifyDate": "2026-04-14T23:23:08.47",
      "Definition": "create   trigger QER_TDPWODecisionmethod on PWODecisionmethod for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from \r\ndeleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01(Object, SubObject, GenProcID)  select rtrim(isnull(ohm.uid_org, '')), null, @GenProcID from PWODecisionMethod join deleted\r\n on PWODecisionMethod.UID_PWODecisionMethod = deleted.UID_PWODecisionMethod join BaseTreeHasPWODecisionMethod ohm on PWODecisionMethod.uid_PWODecisionmethod\r\n = ohm.uid_PWODecisionmethod exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRack-All', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TDPWODecisionRule",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PWODecisionRule",
      "CreateDate": "2025-06-27T18:01:08.433",
      "ModifyDate": "2026-04-14T23:23:08.473",
      "Definition": "create   trigger QER_TDPWODecisionRule on PWODecisionRule for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01(Object, SubObject, GenProcID) select i.UID_PWODecisionRule, null, @GenProcID from deleted i exec QBM_PDBQueueInsert_bulk\r\n 'QER-K-PWODecisionRuleMakeProc', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TDPWODecisionRuleRulerDete",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PWODecisionRuleRulerDetect",
      "CreateDate": "2025-06-27T18:01:08.453",
      "ModifyDate": "2026-04-14T23:23:08.477",
      "Definition": "create   trigger QER_TDPWODecisionRuleRulerDete  on PWODecisionRuleRulerDetect for Delete not for Replication as begin  BEGIN TRY if exists (select\r\n top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01(Object, SubObject, GenProcID) select distinct i.UID_PWODecisionRule, null, @GenProcID from deleted i exec\r\n QBM_PDBQueueInsert_bulk 'QER-K-PWODecisionRuleMakeProc', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n(Object, SubObject, GenProcID) select distinct i.UID_PWODecisionRule, null, @GenProcID from deleted i exec QBM_PDBQueueInsert_bulk 'QER-K-PWOHelperFillMakeProc'\r\n, @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TDPWOHelperPWO",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PWOHelperPWO",
      "CreateDate": "2025-06-27T18:01:08.483",
      "ModifyDate": "2026-04-14T23:23:08.487",
      "Definition": "create   trigger QER_TDPWOHelperPWO on PWOHelperPWO  for delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted) \r\ngoto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if exists (select top 1 1 from deleted d where\r\n d.Decision = 'Q' ) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null\r\n, @GenProcID from (select distinct d.UID_PersonWantsOrg as uid from deleted d where d.Decision = 'Q' ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackCheckDecision'\r\n, @DBQueueElements_01 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TDQERDynamicGroupBlackList",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QERDynamicGroupBlackList",
      "CreateDate": "2025-06-27T18:01:08.637",
      "ModifyDate": "2026-04-14T23:23:08.72",
      "Definition": "create   trigger QER_TDQERDynamicGroupBlackList on QERDynamicGroupBlackList  for Delete not for Replication as begin  declare @GenProcID varchar\r\n(38) = dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select d.UID_Person, d.UID_DynamicGroup , @GenProcID from deleted d exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-DynamicGroupSingleBasic', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TDQEREntitlementSource",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QEREntitlementSource",
      "CreateDate": "2025-06-27T18:01:08.603",
      "ModifyDate": "2026-04-14T23:23:08.72",
      "Definition": "create   trigger QER_TDQEREntitlementSource on QEREntitlementSource  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 \r\n1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') exec QBM_PDBQueueInsert_Single\r\n 'QER-K-EntitlementSourceMakeProc', '', '', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TDQERRiskIndex",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QERRiskIndex",
      "CreateDate": "2025-06-27T18:01:08.497",
      "ModifyDate": "2026-04-14T23:23:08.76",
      "Definition": "create   trigger QER_TDQERRiskIndex on QERRiskIndex  for Delete not for Replication as begin  if exists (select top 1 1 from deleted) goto start\r\n return start: BEGIN TRY declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  declare @DBQueueElements_01 QBM_YDBQueueRaw \r\ninsert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct d.uid_dialogColumn as uid from deleted\r\n d where d.uid_dialogColumn > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-QERRiskIndexMakeProc', @DBQueueElements_01  exec QBM_PDBQueueInsert_Bulk 'QER-K-QERRiskIndexCalculate'\r\n, @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TDQERUniversalSubstitute",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QERUniversalSubstitute",
      "CreateDate": "2025-06-27T18:01:08.66",
      "ModifyDate": "2026-04-14T23:23:08.77",
      "Definition": "create   trigger QER_TDQERUniversalSubstitute on QERUniversalSubstitute  for delete not for Replication as begin declare @GenProcID varchar(38) \r\n= dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: declare @DBQueueElements_01 QBM_YDBQueueRaw \r\ninsert into @DBQueueElements_01(object, subobject, genprocid) select x.uid, null, @GenProcID from(  select pwo.UID_PersonWantsOrg as uid from deleted d\r\n join PWOHelperPWO h on d.UID_PersonReceiver = h.UID_PersonHead join PersonWantsOrg pwo on h.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg and h.LevelNumber\r\n = pwo.DecisionLevel where d.IsCurrentlyActive = 1 and (d.UseForITShop = 1 or d.UseForITShopCompliance = 1) and pwo.OrderState in ('OrderProduct', 'OrderProlongate'\r\n, 'OrderUnsubscribe') ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackPWOHelperPWO', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_02(object, subobject, genprocid) select x.uid, null, @GenProcID from(  select d.UID_PersonReceiver as uid from deleted d \r\nwhere d.IsCurrentlyActive = 1 and d.UseForHeadOrg = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-HelperHeadOrg', @DBQueueElements_02 declare @DBQueueElements_03\r\n QBM_YDBQueueRaw insert into @DBQueueElements_03(object, subobject, genprocid) select x.uid, null, @GenProcID from(  select d.UID_PersonReceiver as uid\r\n from deleted d where d.IsCurrentlyActive = 1 and d.UseForHeadPerson = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-HelperHeadPerson', @DBQueueElements_03\r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIAccProductGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "AccProductGroup",
      "CreateDate": "2025-06-27T18:01:07.72",
      "ModifyDate": "2026-04-14T23:23:07.853",
      "Definition": "    create   trigger QER_TIAccProductGroup on AccProductGroup  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from\r\n inserted) goto start return start: declare @GenProcID varchar(38) declare @XUser nvarchar(64) select @GenProcID = dbo.QBM_FGISessionContext('') declare\r\n @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select i.UID_AccProductGroup\r\n as uid from inserted i union select i.UID_AccProductGroupParent as uid from inserted i where i.UID_AccProductGroupParent > ' ' union select co.UID_AccProductGroupChild\r\n from inserted i join AccProductGroupCollection co on i.UID_AccProductGroupParent = co.UID_AccProductGroupParent ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AccProductGroupCollection'\r\n, @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIBaseTree",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTree",
      "CreateDate": "2025-06-27T18:01:07.753",
      "ModifyDate": "2026-04-14T23:23:07.96",
      "Definition": "create   trigger QER_TIBaseTree on BaseTree  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted) goto start\r\n return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  if exists (select top 1 1 from inserted i join DialogGroup\r\n g on i.UID_DialogGroup = g.UID_DialogGroup where g.IsRoleBasedOnly = 0 ) begin raiserror( '#LDS#Assigment is only permitted for DialogGroup.IsRoleBasedOnly true.|'\r\n, 18, 2) with nowait end                    declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) \r\nselect x.uid, null, @GenProcID from ( select i.uid_org as uid from inserted i ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgTreeLEVEL', @DBQueueElements_01\r\n   declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select\r\n i.uid_org as uid from inserted i ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgInherite', @DBQueueElements_02  insert into BaseTreeCollectionF (UID_Org\r\n, UID_ParentOrg) select x.UID_Org, x.UID_ParentOrg from ( select i.UID_Org, i.UID_Org as UID_ParentOrg from inserted i union select i.UID_Org, e.UID_ParentOrg\r\n from inserted i join BaseTreeCollectionF e on i.UID_ParentOrg = e.UID_Org ) as x where not exists (select top 1 1 from BaseTreeCollectionF f where f.UID_Org\r\n = x.UID_Org and f.UID_ParentOrg = x.UID_ParentOrg )  declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select i.uid_org as uid from inserted i       ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-BaseTreeCollectionF', \r\n@DBQueueElements_03  declare @DBQueueElements_05 QBM_YDBQueueRaw insert into @DBQueueElements_05 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select i.uid_org as uid from inserted i where i.uid_orgroot = 'QER-V-ITShopOrg' and i.itshopinfo in ('SC', 'SH', 'BO', 'PR')  ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-ShoppingRack-All', @DBQueueElements_05  if exists (select top 1 1 from inserted i where i.ITShopInfo > ' ' and i.UID_OrgRoot not in ('QER-V-ITShopOrg'\r\n, 'QER-V-ITShopSrc') ) begin  raiserror('#LDS#Cannot set IT Shop information, because role class is not suitable for IT Shop.|', 18, 2) with nowait end\r\n if exists (select top 1 1 from inserted i left outer join BaseTree p on i.UID_ParentOrg = p.UID_Org and i.UID_OrgRoot = p.UID_OrgRoot where i.UID_ParentOrg\r\n > ' ' and p.UID_Org is null ) begin raiserror( '#LDS#Cannot insert node, because predecessor does not exist in the same role class.|', 18, 2) with nowait\r\n end  insert into BaseTreecollection (uid_org, uid_parentorg) select x.uid_org, x.uid_parentorg from ( select i.UID_Org as UID_Org, i.UID_Org as UID_ParentOrg\r\n from inserted i join OrgRoot r on i.UID_OrgRoot = r.UID_OrgRoot union select i.UID_Org, c.UID_ParentOrg from BaseTreeCollection c join inserted i on c.UID_Org\r\n = i.UID_ParentOrg join OrgRoot r on i.UID_OrgRoot = r.UID_OrgRoot where i.IsCutNode = 0 and r.IsTopDown = 1 and i.UID_ParentOrg > ' ' ) as x where not\r\n exists (select top 1 1 from BaseTreecollection bc where bc.uid_org = x.uid_org and bc.uid_parentorg = x.uid_parentorg ) declare @DBQueueElements_06 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_06 (Object, SubObject, GenProcID) select x.uid, null, @GenProcID from ( select i.UID_Org as uid from inserted i   ) as x \r\nexec QBM_PDBQueueInsert_Bulk 'QER-K-AllForOneOrg', @DBQueueElements_06 declare @DBQueueElements_07 QBM_YDBQueueRaw insert into @DBQueueElements_07 (object\r\n, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_personHead as uid from inserted where uid_personHead > ' ' union select uid_personHeadSecond\r\n as uid from Inserted where uid_personHeadSecond > ' '  union select us.UID_PersonReceiver as uid from inserted i join QERUniversalSubstitute us on us.UID_PersonSender\r\n in (i.UID_PersonHead, i.UID_PersonHeadSecond) where us.IsCurrentlyActive = 1 and us.UseForHeadOrg = 1  union select pio.UID_Person from inserted i join\r\n PersonInBaseTree pio on i.UID_AERoleManager = pio.UID_Org  union select us.UID_PersonReceiver as uid from inserted i join PersonInBaseTree pio on i.UID_AERoleManager\r\n = pio.UID_Org join QERUniversalSubstitute us on us.UID_PersonSender = pio.UID_Person where us.IsCurrentlyActive = 1 and us.UseForHeadOrg = 1 ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'QER-K-HelperHeadOrg', @DBQueueElements_07 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT\r\n END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIBaseTreeAssign",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeAssign",
      "CreateDate": "2025-06-27T18:01:07.803",
      "ModifyDate": "2026-04-14T23:23:07.963",
      "Definition": " create   trigger QER_TIBaseTreeAssign on BaseTreeAssign  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start return start:  exec QER_POrgRootAssignFill END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIBaseTreeExcludesBaseTree",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeExcludesBasetree",
      "CreateDate": "2025-06-27T18:01:07.813",
      "ModifyDate": "2026-04-14T23:23:07.97",
      "Definition": "  create   trigger QER_TIBaseTreeExcludesBaseTree on BaseTreeExcludesBaseTree  for Insert not for Replication as begin declare @GenProcID varchar\r\n(38) = dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: if exists (select top 1 1 from inserted\r\n i join personinBaseTree pio1 on i.uid_org = pio1.uid_org and pio1.XOrigin > 0 join personinBaseTree pio2 on pio1.uid_person = pio2.uid_person and pio2.uid_org\r\n = i.uid_orgExcluded and pio2.XOrigin > 0  join BaseTree b1 on pio1.UID_Org = b1.UID_Org join BaseTree b2 on pio2.UID_Org = b2.UID_Org left outer join \r\nDynamicGroup d1 on b1.XObjectKey = d1.ObjectKeyBaseTree left outer join DynamicGroup d2 on b2.XObjectKey = d2.ObjectKeyBaseTree where d1.UID_DynamicGroup\r\n is null and d2.UID_DynamicGroup is null )  begin  raiserror( '#LDS#Cannot make a definition because there are already identity assignments to both roles.|'\r\n, 18, 3) with nowait end if exists (select top 1 1 from inserted i join WorkDeskinBaseTree pio1 on i.uid_org = pio1.uid_org  join WorkDeskinBaseTree pio2\r\n on pio1.uid_WorkDesk = pio2.uid_WorkDesk and pio2.uid_org = i.uid_orgExcluded   join BaseTree b1 on pio1.UID_Org = b1.UID_Org join BaseTree b2 on pio2.UID_Org\r\n = b2.UID_Org left outer join DynamicGroup d1 on b1.XObjectKey = d1.ObjectKeyBaseTree left outer join DynamicGroup d2 on b2.XObjectKey = d2.ObjectKeyBaseTree\r\n where d1.UID_DynamicGroup is null and d2.UID_DynamicGroup is null )  begin  raiserror( '#LDS#Cannot make a definition because there are already WorkDesk assignments to both roles.|'\r\n, 18, 3) with nowait end if exists (select top 1 1 from inserted i join HardwareinBaseTree pio1 on i.uid_org = pio1.uid_org and pio1.XOrigin > 0 join HardwareinBaseTree\r\n pio2 on pio1.uid_Hardware = pio2.uid_Hardware and pio2.XOrigin > 0 and pio2.uid_org = i.uid_orgExcluded  join BaseTree b1 on pio1.UID_Org = b1.UID_Org\r\n join BaseTree b2 on pio2.UID_Org = b2.UID_Org left outer join DynamicGroup d1 on b1.XObjectKey = d1.ObjectKeyBaseTree left outer join DynamicGroup d2 \r\non b2.XObjectKey = d2.ObjectKeyBaseTree where d1.UID_DynamicGroup is null and d2.UID_DynamicGroup is null )  begin  raiserror( '#LDS#Cannot make a definition because there are already device assignments to both roles.|'\r\n, 18, 3) with nowait end if exists (select top 1 1 from inserted i join BaseTree b1 on i.uid_org = b1.UID_Org join BaseTree b2 on i.uid_orgExcluded = b2.UID_Org\r\n join DynamicGroup d1 on b1.XObjectKey = d1.ObjectKeyBaseTree join DynamicGroup d2 on b2.XObjectKey = d2.ObjectKeyBaseTree ) begin raiserror( '#LDS#Cannot make a definition because there are already dynamic role assignments to both roles.|'\r\n, 18, 3) with nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null\r\n, @GenProcID from ( select g.UID_DynamicGroup as uid from inserted i join BaseTree b on i.UID_Org = b.UID_Org join DynamicGroup g on b.XObjectKey = g.ObjectKeyBaseTree\r\n union select g.UID_DynamicGroup as uid from inserted i join BaseTree b on i.UID_OrgExcluded = b.UID_Org join DynamicGroup g on b.XObjectKey = g.ObjectKeyBaseTree\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-DynamicGroupTest', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('',\r\n 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIBaseTreeHasObject",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasObject",
      "CreateDate": "2025-06-27T18:01:07.823",
      "ModifyDate": "2026-04-14T23:23:07.98",
      "Definition": "   create   trigger QER_TIBaseTreeHasObject on BaseTreeHasObject  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from\r\n inserted) goto start return start:  declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if dbo.QBM_FGITableCountAll('ObjectHasExtendedAttribute'\r\n) > 0 begin  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null,@GenProcID from\r\n ( select distinct d.UID_Org as uid from inserted d where d.ObjectKey not like '<Key><T>ExtendedAttribute</T>%' ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-BaseTreeHasObjectExtAtt'\r\n, @DBQueueElements_01 end declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null\r\n,@GenProcID from ( select distinct pho.uid_Personwantsorg as uid from inserted d join HelperPWOPersonHasObject pho on d.UID_Org = pho.uid_OrgRelated ) \r\nas x exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackPersonHasObject', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIBaseTreeHasPWODecisionme",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasPWODecisionMethod",
      "CreateDate": "2025-06-27T18:01:07.837",
      "ModifyDate": "2026-04-14T23:23:07.98",
      "Definition": "create   trigger QER_TIBaseTreeHasPWODecisionme  on BaseTreeHasPWODecisionMethod  for Insert not for Replication as begin  BEGIN TRY if exists (select\r\n top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01(Object, SubObject, GenProcID) select inserted.UID_Org, null, @GenProcID from inserted exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-ShoppingRack-All', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: \r\nreturn end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIBaseTreeHasQERAssign",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasQERAssign",
      "CreateDate": "2025-06-27T18:01:07.85",
      "ModifyDate": "2026-04-14T23:23:07.983",
      "Definition": "  create   trigger QER_TIBaseTreeHasQERAssign on BaseTreeHasQERAssign  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n  declare @AssignCheckValues QBM_YparameterList insert into @AssignCheckValues(Parameter1, Parameter2) select i.UID_Org, i.XOrigin from inserted i exec\r\n QER_PAssignmentCheckValid 'QER-AsgnBT-QERAssign', @AssignCheckValues, @GenProcID  if exists (select top 1 1 from inserted i join BaseTree dest on i.uid_Org\r\n = dest.uid_Org  join QERAssign elem on i.uid_QERAssign = elem.uid_QERAssign where dbo.QER_FGIITShopFlagCombineValid(dest.XObjectKey, null, null, elem.XObjectKey\r\n, elem.IsForITShop, elem.IsITShopOnly) = 0 and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|'\r\n, 18, 2) with nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, 'QER-K-OrgHasQERAssign'\r\n, @GenProcID from ( select distinct d.uid_org as uid from inserted d  where d.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0  ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-AllChildrenOfOrg', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select distinct b.uid_org as uid from inserted d join BaseTree b on d.uid_org = b.uid_org where b.ITShopInfo = \r\n'BO' and d.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgAutoChild', @DBQueueElements_02  declare @DBQueueElements_03 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uid_org as uid from inserted where XIsInEffect\r\n = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-BaseTreeHasObject', @DBQueueElements_03  declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct hpo.uid_person as uid from inserted i join (select pio.uid_person\r\n, pio.uid_org from personinBaseTree pio where pio.XOrigin > 0 union all select uid_person, uid_org from helperPersonOrg ) hpo on hpo.uid_org = i.uid_org\r\n where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-PersonHasQERAssign', @DBQueueElements_04 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIBaseTreeHasQERResource",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasQERResource",
      "CreateDate": "2025-06-27T18:01:07.873",
      "ModifyDate": "2026-04-14T23:23:07.987",
      "Definition": "  create   trigger QER_TIBaseTreeHasQERResource on BaseTreeHasQERResource  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n  declare @AssignCheckValues QBM_YparameterList insert into @AssignCheckValues(Parameter1, Parameter2) select i.UID_Org, i.XOrigin from inserted i exec\r\n QER_PAssignmentCheckValid 'QER-AsgnBT-QERResource', @AssignCheckValues, @GenProcID  if exists (select top 1 1 from inserted i join BaseTree dest on i.uid_Org\r\n = dest.uid_Org  join QERResource elem on i.uid_QERResource = elem.uid_QERResource where dbo.QER_FGIITShopFlagCombineValid(dest.XObjectKey, null, null,\r\n elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0 and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|'\r\n, 18, 2) with nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, 'QER-K-OrgHasQERResource'\r\n, @GenProcID from ( select distinct d.uid_org as uid from inserted d  where d.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0  ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-AllChildrenOfOrg', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select distinct b.uid_org as uid from inserted d join BaseTree b on d.uid_org = b.uid_org where b.ITShopInfo = \r\n'BO' and d.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgAutoChild', @DBQueueElements_02  declare @DBQueueElements_03 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uid_org as uid from inserted where XIsInEffect\r\n = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-BaseTreeHasObject', @DBQueueElements_03  declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct hpo.uid_person as uid from inserted i join (select pio.uid_person\r\n, pio.uid_org from personinBaseTree pio where pio.XOrigin > 0 union all select uid_person, uid_org from helperPersonOrg ) hpo on hpo.uid_org = i.uid_org\r\n where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-PersonHasQERResource', @DBQueueElements_04 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIBaseTreeHasQERReuse",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasQERReuse",
      "CreateDate": "2025-06-27T18:01:07.893",
      "ModifyDate": "2026-04-14T23:23:07.99",
      "Definition": "  create   trigger QER_TIBaseTreeHasQERReuse on BaseTreeHasQERReuse  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n  declare @AssignCheckValues QBM_YparameterList insert into @AssignCheckValues(Parameter1, Parameter2) select i.UID_Org, i.XOrigin from inserted i exec\r\n QER_PAssignmentCheckValid 'QER-AsgnBT-QERReuse', @AssignCheckValues, @GenProcID  if exists (select top 1 1 from inserted i join BaseTree dest on i.uid_Org\r\n = dest.uid_Org  join QERReuse elem on i.uid_QERReuse = elem.uid_QERReuse where dbo.QER_FGIITShopFlagCombineValid(dest.XObjectKey, null, null, elem.XObjectKey\r\n, elem.IsForITShop, elem.IsITShopOnly) = 0 and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|'\r\n, 18, 2) with nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, 'QER-K-OrgHasQERReuse'\r\n, @GenProcID from ( select distinct d.uid_org as uid from inserted d  where d.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0  ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-AllChildrenOfOrg', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select distinct b.uid_org as uid from inserted d join BaseTree b on d.uid_org = b.uid_org where b.ITShopInfo = \r\n'BO' and d.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgAutoChild', @DBQueueElements_02  declare @DBQueueElements_03 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uid_org as uid from inserted where XIsInEffect\r\n = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-BaseTreeHasObject', @DBQueueElements_03  declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct hpo.uid_person as uid from inserted i join (select pio.uid_person\r\n, pio.uid_org from personinBaseTree pio where pio.XOrigin > 0 union all select uid_person, uid_org from helperPersonOrg ) hpo on hpo.uid_org = i.uid_org\r\n where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-PersonHasQERReuse', @DBQueueElements_04 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIBaseTreeHasQERReuseUS",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasQERReuseUS",
      "CreateDate": "2025-06-27T18:01:07.913",
      "ModifyDate": "2026-04-14T23:23:07.99",
      "Definition": "  create   trigger QER_TIBaseTreeHasQERReuseUS on BaseTreeHasQERReuseUS  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n  declare @AssignCheckValues QBM_YparameterList insert into @AssignCheckValues(Parameter1, Parameter2) select i.UID_Org, i.XOrigin from inserted i exec\r\n QER_PAssignmentCheckValid 'QER-AsgnBT-QERReuseUS', @AssignCheckValues, @GenProcID  if exists (select top 1 1 from inserted i join BaseTree dest on i.uid_Org\r\n = dest.uid_Org  join QERReuseUS elem on i.uid_QERReuseUS = elem.uid_QERReuseUS where dbo.QER_FGIITShopFlagCombineValid(dest.XObjectKey, null, null, elem.XObjectKey\r\n, elem.IsForITShop, elem.IsITShopOnly) = 0 and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|'\r\n, 18, 2) with nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, 'QER-K-OrgHasQERReuseUS'\r\n, @GenProcID from ( select distinct d.uid_org as uid from inserted d  where d.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0  ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-AllChildrenOfOrg', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select distinct b.uid_org as uid from inserted d join BaseTree b on d.uid_org = b.uid_org where b.ITShopInfo = \r\n'BO' and d.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgAutoChild', @DBQueueElements_02  declare @DBQueueElements_03 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uid_org as uid from inserted where XIsInEffect\r\n = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-BaseTreeHasObject', @DBQueueElements_03  declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct hpo.uid_person as uid from inserted i join (select pio.uid_person\r\n, pio.uid_org from personinBaseTree pio where pio.XOrigin > 0 union all select uid_person, uid_org from helperPersonOrg ) hpo on hpo.uid_org = i.uid_org\r\n where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-PersonHasQERReuseUS', @DBQueueElements_04 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIDialogGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogGroup",
      "CreateDate": "2025-06-27T18:01:07.683",
      "ModifyDate": "2026-04-14T23:23:08.077",
      "Definition": " create   trigger QER_TIDialogGroup on DialogGroup  for insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted) \r\ngoto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')                END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIDialogUserInGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogUserInGroup",
      "CreateDate": "2025-06-27T18:01:08.61",
      "ModifyDate": "2026-04-14T23:23:08.19",
      "Definition": " create   trigger QER_TIDialogUserInGroup on DialogUserInGroup  for insert not for Replication as begin  declare @QBM_BaseRight varchar(38) = 'QBM-1CA5B3F72AD35643BEDB25511BB6DBF5'\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if exists (select top 1 1  from inserted  uig join DialogUser u on uig.UID_DialogUser = u.UID_DialogUser join DialogGroup g on uig.UID_DialogGroup\r\n = g.UID_DialogGroup and g.UID_DialogGroup <> @QBM_BaseRight  where g.IsRoleBasedOnly <> u.IsDynamicUser  and u.IsAdmin = 0 ) begin raiserror( '#LDS#Assigment not permitted because of different flags in DialogUser.IsDynamicUser and DialogGroup.IsRoleBasedOnly.|'\r\n, 18, 2) with nowait end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIDynamicGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DynamicGroup",
      "CreateDate": "2025-06-27T18:01:07.933",
      "ModifyDate": "2026-04-14T23:23:08.31",
      "Definition": "    create   trigger QER_TIDynamicGroup on DynamicGroup  for Insert not for Replication as begin  declare @SQLToCheck QBM_YParameterList declare\r\n @ErrorMessage nvarchar(4000) declare @ErrorSeverity int declare @ErrorState int BEGIN TRY if exists (select top 1 1 from inserted) goto start return start:\r\n declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  if exists (select top 1 1 from inserted i join BaseTree b on i.ObjectKeyBaseTree\r\n = b.XObjectKey where b.IsInvalidForDynamicGroup = 1 ) begin raiserror( '#LDS#Selected BaseTree is invalid for dynamic groups.|', 18, 1) with nowait end\r\n  if update(WhereClause) begin insert into @SQLToCheck(Parameter1, ContentFull) select c.XObjectKey, 'select top 1 1 as columnvalue from ' + t.TableName\r\n + ' \r\n\t\twhere(\r\n\t\t'+ c.WhereClause + '\r\n\t\t)' from inserted c  join DialogTable t on c.UID_DialogTableObjectClass = t.uid_dialogtable where c.WhereClause\r\n > ' '  update @SQLToCheck set ContentFull = REPLACE(contentFull , '@UID_Org', '''#''') exec QBM_PSQLCheckExecutable @SQLToCheck, @RaiseError = 1 end  \r\nif exists (select i.UID_DynamicGroup, i.UID_DialogTableObjectClass, a.* from inserted i join BaseTree b on i.ObjectKeyBaseTree = b.XObjectKey join orgrootassign\r\n a on b.UID_OrgRoot = a.UID_OrgRoot join BaseTreeAssign ba on ba.UID_BaseTreeAssign = a.UID_BaseTreeAssign join DialogTable t on ba.UID_DialogTableElement\r\n = t.UID_DialogTable and i.UID_DialogTableObjectClass = t.UID_DialogTable where a.IsAssignmentAllowed = 0  )  and dbo.QBM_FGISessionContext ('Transport'\r\n) = '' begin  raiserror( '#LDS#Combinations of role and object classes are not permitted because (direct) assignment are not allowed according to OrgRoot.|'\r\n, 18, 1) with nowait end  if exists (select top 1 1 from inserted i join BaseTree b1 on i.ObjectKeyBaseTree = b1.XObjectKey join BaseTreeExcludesBaseTree\r\n exc on exc.uid_org = b1.UID_Org join BaseTree b2 on b2.UID_Org = exc.uid_orgExcluded join DynamicGroup d on b2.XObjectKey = d.ObjectKeyBaseTree ) or exists\r\n (select top 1 1 from inserted i join BaseTree b1 on i.ObjectKeyBaseTree = b1.XObjectKey join BaseTreeExcludesBaseTree exc on exc.uid_orgExcluded = b1.UID_Org\r\n join BaseTree b2 on b2.UID_Org = exc.uid_org join DynamicGroup d on b2.XObjectKey = d.ObjectKeyBaseTree ) begin raiserror( '#LDS#Cannot make a definition because there is a role exclusion with another dynamic role.|'\r\n, 18, 1) with nowait end if exists (select top 1 1 from inserted i join DialogTable t on i.UID_DialogTableObjectClass = t.UID_DialogTable where t.TableName\r\n not in ('Hardware' , 'Person' , 'WorkDesk' ) ) begin select @ErrorMessage = '#LDS#Object category is not permitted for dynamic groups:.|'  raiserror( \r\n@ErrorMessage, 18, 1) with nowait end    declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select UID_DynamicGroup as uid from inserted ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-DynamicGroupMakeProc', @DBQueueElements_01\r\n exec QBM_PDBQueueInsert_Bulk 'QER-K-DynamicGroupTest', @DBQueueElements_01  exec QBM_PDBQueueInsert_Single 'QER-K-DynamicGroupMakeTrigger', '', '', @GenProcID\r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIDynamicGroupHasImmediate",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DynamicGroupHasImmediateColumn",
      "CreateDate": "2025-06-27T18:01:08.67",
      "ModifyDate": "2026-04-14T23:23:08.31",
      "Definition": " create   trigger QER_TIDynamicGroupHasImmediate on DynamicGroupHasImmediateColumn  for Insert not for Replication as begin  declare @GenProcID \r\nvarchar(38) = dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start:  exec QBM_PDBQueueInsert_Single\r\n 'QER-K-DynamicGroupMakeTrigger', '', '', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH \r\nende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIHardware",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "Hardware",
      "CreateDate": "2025-06-27T18:01:07.967",
      "ModifyDate": "2026-04-14T23:23:08.333",
      "Definition": "    create   trigger QER_TIHardware on Hardware  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted) goto\r\n start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')   if exists(select top 1 1 from inserted i join Hardwaretype\r\n p on i.UID_Hardwaretype = p.UID_Hardwaretype and p.isInactive = 1 ) begin  raiserror( '#LDS#Assignment cannot take place, because the device type is disabled.|'\r\n, 18, 2) with nowait end if dbo.QBM_FGIColumnUpdatedOthers ('Hardware', 'XTouched', columns_updated()) = 1 begin   declare @maxAnzahl int select @maxAnzahl\r\n = 100 if 100 < (select count(*) from inserted) begin select top 1 @maxAnzahl = ( (Count(*)) /10 + 1) from Hardware end else begin select @maxAnzahl = \r\n1073741824  end end declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select inserted.uid_Hardware as uid from inserted ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-HelperHardwareOrg', @DBQueueElements_02   END TRY \r\nBEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIHardwareInBaseTree",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "HardwareInBaseTree",
      "CreateDate": "2025-06-27T18:01:07.987",
      "ModifyDate": "2026-04-14T23:23:08.337",
      "Definition": "    create   trigger QER_TIHardwareInBaseTree on HardwareInBaseTree  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 \r\n1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @AssignCheckValues QBM_YparameterList\r\n insert into @AssignCheckValues(Parameter1, Parameter2) select i.UID_Org, i.XOrigin from inserted i exec QER_PAssignmentCheckValid 'QER-AsgnBT-Hardware'\r\n, @AssignCheckValues, @GenProcID if exists (select top 1 1 from BaseTreeExcludesBasetree ) begin  if exists (select top 1 1 from inserted i join HardwareinBaseTree\r\n pio on i.uid_Hardware = pio.uid_Hardware and pio.XOrigin > 0  join BaseTreeExcludesBaseTree beb on pio.uid_org = beb.uid_org and beb.uid_OrgExcluded =\r\n 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_DynamicGroup\r\n is null )  or exists (select top 1 1 from inserted i join HardwareinBaseTree pio on i.uid_Hardware = pio.uid_Hardware and pio.XOrigin > 0  join BaseTreeExcludesBaseTree\r\n 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 DynamicGroup\r\n g on g.ObjectKeyBaseTree = bex.XObjectKey where g.UID_DynamicGroup is null ) begin  raiserror( '#LDS#Cannot make assignment because there are already device assignments to roles that exclude the role(s) to be added.|'\r\n, 18, 2) with nowait end end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, \r\nnull, @GenProcID from ( select distinct inserted.uid_Hardware as uid from inserted ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AllForOneHardware', @DBQueueElements_01\r\n  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIHardwareType",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "HardwareType",
      "CreateDate": "2025-06-27T18:01:07.993",
      "ModifyDate": "2026-04-14T23:23:08.34",
      "Definition": "    create   trigger QER_TIHardwareType on HardwareType  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  declare @errno int declare @errmsg nvarchar\r\n(255)  if exists(select top 1 1 from inserted i join HardwareType p on i.UID_HardwareTypeAlternate = p.UID_HardwareType and p.isInactive = 1 ) begin  raiserror\r\n( '#LDS#Assignment cannot take place, because the device type is disabled.|', 18, 1) with nowait end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIHelperHardwareOrg",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "HelperHardwareOrg",
      "CreateDate": "2025-06-27T18:01:08.007",
      "ModifyDate": "2026-04-14T23:23:08.347",
      "Definition": "create   trigger QER_TIHelperHardwareOrg on HelperHardwareOrg  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from\r\n inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct d.UID_Hardware as uid from inserted\r\n d ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AllForOneHardware', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIHelperHeadOrg",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "HelperHeadOrg",
      "CreateDate": "2025-06-27T18:01:08.033",
      "ModifyDate": "2026-04-14T23:23:08.35",
      "Definition": "    create   trigger QER_TIHelperHeadOrg on HelperHeadOrg  for Insert not for Replication as begin declare @Parameter nvarchar(1000)  BEGIN TRY \r\nif exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare\r\n @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (UID1, ObjectKey1, Ident1) select y.DecisionRule, x.XObjectKey, 'I' from (select\r\n e.XObjectKey from inserted i join Basetree e on i.UID_Org = e.UID_Org and e.UID_OrgRoot = 'QER-V-Department' ) as x join (select 'QER-PWODecisionRule-D0'\r\n as DecisionRule union select 'QER-PWODecisionRule-D1' union select 'QER-PWODecisionRule-D2' union select 'QER-PWODecisionRule-DM' union select 'QER-PWODecisionRule-DP'\r\n ) as y on 1 = 1 exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID declare @RecalcParameter_02 QBM_YCursorBuffer insert into @RecalcParameter_02\r\n (UID1, ObjectKey1, Ident1) select y.DecisionRule, x.XObjectKey, 'I' from (select e.XObjectKey from inserted i join Basetree e on i.UID_Org = e.UID_Org\r\n and e.UID_OrgRoot = 'QER-V-ITShopOrg' ) as x join (select 'QER-PWODecisionRule-H0' as DecisionRule union select 'QER-PWODecisionRule-H1' union select \r\n'QER-PWODecisionRule-H2' ) as y on 1 = 1 exec QER_PITShopHelperFill_Recalc @RecalcParameter_02, @GenprocID declare @RecalcParameter_03 QBM_YCursorBuffer\r\n insert into @RecalcParameter_03 (UID1, ObjectKey1, Ident1) select y.DecisionRule, i.XObjectKey, 'I' from inserted i join (select 'QER-PWODecisionRule-MS'\r\n as DecisionRule ) as y on 1 = 1 exec QER_PITShopHelperFill_Recalc @RecalcParameter_03, @GenprocID declare @RecalcParameter_04 QBM_YCursorBuffer insert\r\n into @RecalcParameter_04 (UID1, ObjectKey1, Ident1) select y.DecisionRule, x.XObjectKey, 'I' from (select e.XObjectKey from inserted i join Basetree e\r\n on i.UID_Org = e.UID_Org ) as x join (select 'QER-PWODecisionRule-OM' as DecisionRule ) as y on 1 = 1 exec QER_PITShopHelperFill_Recalc @RecalcParameter_04\r\n, @GenprocID declare @RecalcParameter_05 QBM_YCursorBuffer insert into @RecalcParameter_05 (UID1, ObjectKey1, Ident1) select y.DecisionRule, x.XObjectKey\r\n, 'I' from (select e.XObjectKey from inserted i join Basetree e on i.UID_Org = e.UID_Org and e.UID_OrgRoot = 'QER-V-ProfitCenter' ) as x join (select 'QER-PWODecisionRule-P0'\r\n as DecisionRule union select 'QER-PWODecisionRule-P1' union select 'QER-PWODecisionRule-P2' union select 'QER-PWODecisionRule-PM' union select 'QER-PWODecisionRule-PP'\r\n ) as y on 1 = 1 exec QER_PITShopHelperFill_Recalc @RecalcParameter_05, @GenprocID     exec QBM_PDBQueueInsert_Single 'QER-K-ShoppingRackPWODecisionMaker'\r\n, '', '', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default if @@TRANCOUNT > 0 BEGIN ROLLBACK TRANSACTION; END RAISERROR ('', 18, 1) WITH\r\n NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIHelperHeadPerson",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "HelperHeadPerson",
      "CreateDate": "2025-06-27T18:01:08.077",
      "ModifyDate": "2026-04-14T23:23:08.353",
      "Definition": "    create   trigger QER_TIHelperHeadPerson on HelperHeadPerson  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from\r\n inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @RecalcParameter QBM_YCursorBuffer\r\n insert into @RecalcParameter (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-CM', e.XObjectKey, 'I' from (select i.UID_Person from inserted i )\r\n x join Person e on x.UID_Person = e.UID_Person exec QER_PITShopHelperFill_Recalc @RecalcParameter, @GenprocID exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate'\r\n, 'QER-K-ShoppingRackPWODecisionMaker', '', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default if @@TRANCOUNT > 0 BEGIN ROLLBACK TRANSACTION;\r\n  END RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIHelperPersonOrg",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "HelperPersonOrg",
      "CreateDate": "2025-06-27T18:01:08.1",
      "ModifyDate": "2026-04-14T23:23:08.357",
      "Definition": "create   trigger QER_TIHelperPersonOrg on HelperPersonOrg  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct d.UID_Person as uid from inserted\r\n d join BaseTree b on d.UID_Org = b.UID_Org where b.IsNoInheriteToPerson = 0 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AllForOnePerson', @DBQueueElements_01\r\n declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select\r\n distinct d.UID_Person as uid from inserted d ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-PersonHasObject', @DBQueueElements_02 END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIHelperWorkDeskOrg",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "HelperWorkDeskOrg",
      "CreateDate": "2025-06-27T18:01:08.113",
      "ModifyDate": "2026-04-14T23:23:08.36",
      "Definition": "create   trigger QER_TIHelperWorkDeskOrg on HelperWorkDeskOrg  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from\r\n inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct d.UID_WorkDesk as uid from inserted\r\n d ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AllForOneWorkdesk', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIObjectHasExtendedAtt",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ObjectHasExtendedAttribute",
      "CreateDate": "2025-06-27T18:01:08.623",
      "ModifyDate": "2026-04-14T23:23:08.417",
      "Definition": " create   trigger QER_TIObjectHasExtendedAtt on ObjectHasExtendedAttribute  for Insert not for Replication as begin  BEGIN TRY if exists (select\r\n top 1 1 from inserted) goto start return start:  declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null,@GenProcID from ( select distinct ho.UID_Org as uid \r\nfrom inserted d join BaseTreeHasObject ho on d.ObjectKeyOfObject = ho.ObjectKey ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-BaseTreeHasObjectExtAtt', @DBQueueElements_01\r\n declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null,@GenProcID from ( select\r\n distinct ho.UID_Person as uid from inserted d join PersonHasObject ho on d.ObjectKeyOfObject = ho.ObjectKey ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-PersonHasObjectExtAtt'\r\n, @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIOrgRoot",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "OrgRoot",
      "CreateDate": "2025-06-27T18:01:08.12",
      "ModifyDate": "2026-04-14T23:23:08.42",
      "Definition": "    create   trigger QER_TIOrgRoot on OrgRoot  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted) goto \r\nstart return start:  exec QER_POrgRootAssignFill END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIPerson",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "Person",
      "CreateDate": "2025-06-27T18:01:08.163",
      "ModifyDate": "2026-04-14T23:23:08.43",
      "Definition": "    create   trigger QER_TIPerson on Person  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted) goto start\r\n return start: declare @GenProcID varchar(38) declare @XUser nvarchar(64) select @GenProcID = dbo.QBM_FGISessionContext('') select @XUser = dbo.QBM_FGISessionContext\r\n('XUser') declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from\r\n ( select uid_person as uid from inserted  ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-PersonHasObject', @DBQueueElements_01                     declare\r\n @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_personHead\r\n as uid from inserted where uid_personHead > ' ' union  select us.UID_PersonReceiver as uid from inserted i join QERUniversalSubstitute us on i.UID_PersonHead\r\n = us.UID_PersonSender where i.UID_PersonHead > ' ' and us.IsCurrentlyActive = 1 and us.UseForHeadPerson = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-HelperHeadPerson'\r\n, @DBQueueElements_02 declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select inserted.uid_person as uid from inserted ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AllForOnePerson', @DBQueueElements_03 exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-HelperPersonOrg', @DBQueueElements_03    update Person set PasswordLastSet = getutcdate()  , XDateUpdated = GETUTCDATE() , XUserUpdated = @XUser\r\n from Person p join inserted i on p.UID_Person = i.UID_Person where i.PasswordLastSet is null  if exists (select top 1 1 from inserted i where i.UID_PersonHead\r\n > ' ' ) begin insert into HelperHeadPerson(UID_Person, UID_PersonHead, XOrigin , XDateInserted, XDateUpdated, XUserInserted, XUserUpdated , XObjectKey\r\n ) select i.UID_Person, i.UID_PersonHead, 1 , GETUTCDATE(), GETUTCDATE(), @XUser, @XUser , dbo.QBM_FCVElementToObjectKey2('HelperHeadPerson', 'UID_Person'\r\n, i.UID_Person, 'UID_PersonHead', i.UID_PersonHead) from inserted i where i.UID_PersonHead > ' ' and not exists (select top 1 1 from HelperHeadPerson e\r\n where e.UID_Person = i.UID_Person and e.UID_PersonHead = i.UID_PersonHead )  declare @EntriesToFire QBM_YParameterList insert into @EntriesToFire(Parameter1\r\n) select dbo.QBM_FCVElementToObjectKey2('HelperHeadPerson', 'UID_Person', i.UID_Person, 'UID_PersonHead', i.UID_PersonHead) from inserted i where i.UID_PersonHead\r\n > ' ' exec QBM_PJobCreate_HOFireEvent_L 'HelperHeadPerson', @EntriesToFire, 'Insert', @GenProcID , @AdditionalObjectkeysAffected = default , @isToFreezeOnError\r\n = 1  end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 1,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIPersonHasObject",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PersonHasObject",
      "CreateDate": "2025-06-27T18:01:08.237",
      "ModifyDate": "2026-04-14T23:23:08.437",
      "Definition": "  create   trigger QER_TIPersonHasObject on PersonHasObject  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start return start:  declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if dbo.QBM_FGITableCountAll('ObjectHasExtendedAttribute'\r\n) > 0 begin  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null,@GenProcID from\r\n ( select distinct d.UID_Person as uid from inserted d where d.ObjectKey not like '<Key><T>ExtendedAttribute</T>%' ) as x exec QBM_PDBQueueInsert_Bulk \r\n'QER-K-PersonHasObjectExtAtt', @DBQueueElements_01 end declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, \r\ngenprocid) select x.uid, null, @GenProcID from ( select distinct pho.uid_Personwantsorg as uid from inserted d join HelperPWOPersonHasObject pho on d.UID_Person\r\n = pho.uid_Person ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackPersonHasObject', @DBQueueElements_02  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIPersonHasQERAssign",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PersonHasQERAssign",
      "CreateDate": "2025-06-27T18:01:08.253",
      "ModifyDate": "2026-04-14T23:23:08.437",
      "Definition": "    create   trigger QER_TIPersonHasQERAssign on PersonHasQERAssign  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n  declare @neu_uid_person varchar(38)  declare @operation nvarchar(64) declare @zeilen int declare @errno int declare @errmsg nvarchar(255)  if exists \r\n(select top 1 1 from inserted i   join QERAssign elem on i.uid_QERAssign = elem.uid_QERAssign where dbo.QER_FGIITShopFlagCombineValid(i.XObjectKey, null\r\n, null, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0 and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|'\r\n, 18, 2) with nowait end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null,\r\n @GenProcID from ( select distinct i.uid_person as uid from inserted i   where i.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-PersonHasQERAssign', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select distinct i.uid_person as uid from inserted i where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-PersonHasObject', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIPersonHasQERResource",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PersonHasQERResource",
      "CreateDate": "2025-06-27T18:01:08.267",
      "ModifyDate": "2026-04-14T23:23:08.44",
      "Definition": "    create   trigger QER_TIPersonHasQERResource on PersonHasQERResource  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n  declare @neu_uid_person varchar(38)  declare @operation nvarchar(64) declare @zeilen int declare @errno int declare @errmsg nvarchar(255)  if exists \r\n(select top 1 1 from inserted i   join QERResource elem on i.uid_QERResource = elem.uid_QERResource where dbo.QER_FGIITShopFlagCombineValid(i.XObjectKey\r\n, null, null, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0 and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|'\r\n, 18, 2) with nowait end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null,\r\n @GenProcID from ( select distinct i.uid_person as uid from inserted i   where i.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-PersonHasQERResource', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select distinct i.uid_person as uid from inserted i where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-PersonHasObject', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIPersonHasQERReuse",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PersonHasQERReuse",
      "CreateDate": "2025-06-27T18:01:08.283",
      "ModifyDate": "2026-04-14T23:23:08.44",
      "Definition": "    create   trigger QER_TIPersonHasQERReuse on PersonHasQERReuse  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) declare @XUser nvarchar(64) select @GenProcID = dbo.QBM_FGISessionContext\r\n('')  declare @neu_uid_person varchar(38)  declare @operation nvarchar(64) declare @zeilen int declare @errno int declare @errmsg nvarchar(255)  if exists\r\n (select top 1 1 from inserted i   join QERReuse elem on i.uid_QERReuse = elem.uid_QERReuse where dbo.QER_FGIITShopFlagCombineValid(i.XObjectKey, null,\r\n null, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0 and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|'\r\n, 18, 2) with nowait end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null,\r\n @GenProcID from ( select distinct i.uid_person as uid from inserted i   where i.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-PersonHasQERReuse', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select distinct i.uid_person as uid from inserted i where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-PersonHasObject', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIPersonHasQERReuseUS",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PersonHasQERReuseUS",
      "CreateDate": "2025-06-27T18:01:08.3",
      "ModifyDate": "2026-04-14T23:23:08.443",
      "Definition": "    create   trigger QER_TIPersonHasQERReuseUS on PersonHasQERReuseUS  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n  declare @neu_uid_person varchar(38)  declare @operation nvarchar(64) declare @zeilen int declare @errno int declare @errmsg nvarchar(255)  if exists \r\n(select top 1 1 from inserted i   join QERReuseUS elem on i.uid_QERReuseUS = elem.uid_QERReuseUS where dbo.QER_FGIITShopFlagCombineValid(i.XObjectKey, \r\nnull, null, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0 and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|'\r\n, 18, 2) with nowait end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null,\r\n @GenProcID from ( select distinct i.uid_person as uid from inserted i   where i.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-PersonHasQERReuseUS', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select distinct i.uid_person as uid from inserted i where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-PersonHasObject', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIPersonInBaseTree",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PersonInBaseTree",
      "CreateDate": "2025-06-27T18:01:08.317",
      "ModifyDate": "2026-04-14T23:23:08.45",
      "Definition": "     create   trigger QER_TIPersonInBaseTree on PersonInBaseTree  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0)  BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar\r\n(38) select @GenProcID = dbo.QBM_FGISessionContext('')   declare @AssignCheckValues QBM_YparameterList insert into @AssignCheckValues(Parameter1, Parameter2\r\n) select i.UID_Org, i.XOrigin from inserted i exec QER_PAssignmentCheckValid 'QER-AsgnBT-Person', @AssignCheckValues, @GenProcID if exists (select top \r\n1 1 from inserted i where isnull(i.uid_org, '') = '' ) begin  raiserror( '#LDS#Empty values not permitted.|', 18, 1) with nowait end if exists (select \r\ntop 1 1 from BaseTreeExcludesBasetree ) begin  if exists (select top 1 1 from inserted i join PersonInBaseTree pio  on i.uid_person = pio.uid_person and\r\n pio.XOrigin > 0  join BaseTreeExcludesBaseTree beb on pio.uid_org = beb.uid_org and beb.uid_OrgExcluded = i.uid_org  join BaseTree bex on beb.UID_OrgExcluded\r\n = bex.UID_Org left outer join DynamicGroup g on g.ObjectKeyBaseTree = bex.XObjectKey where g.UID_DynamicGroup is null )  or exists (select top 1 1 from\r\n inserted i join PersonInBaseTree pio  on i.uid_person = pio.uid_person and pio.XOrigin > 0  join BaseTreeExcludesBaseTree beb on pio.uid_org = beb.uid_orgExcluded\r\n and beb.uid_Org = i.uid_org  join BaseTree bex on beb.UID_OrgExcluded = bex.UID_Org left outer join DynamicGroup g on g.ObjectKeyBaseTree = bex.XObjectKey\r\n where g.UID_DynamicGroup is null ) begin  raiserror( '#LDS#Cannot make assignment because there are already identity assignments to roles that exclude the role(s) to be added.|'\r\n, 18, 2) with nowait end end   if exists (select top 1 1 from inserted i join BaseTree n on i.UID_Org = n.UID_Org and i.XOrigin & @QBM_BitPatternXOrigin_Direct\r\n = 1 join OrgRoot r on n.UID_OrgRoot = r.UID_OrgRoot and r.IsPersonAssignOnce = 1 join PersonInBaseTree pib on i.UID_Person = pib.UID_Person join BaseTree\r\n o on pib.UID_Org = o.UID_Org and o.UID_OrgRoot = r.UID_OrgRoot group by pib.uid_person having count(*) > 1 ) begin raiserror( '#LDS#Cannot make direct assignment because there are already assignments of this person to roles in this role class with IsPersonAssignOnce.|'\r\n, 18, 2) with nowait end if exists (select top 1 1 from inserted i join BaseTree n on i.UID_Org = n.UID_Org and i.XOrigin & @QBM_BitPatternXOrigin_Direct\r\n = 1 join OrgRoot rn on n.UID_OrgRoot = rn.UID_OrgRoot join Orgtype t on rn.UID_OrgType = t.UID_OrgType and t.IsPersonAssignOnce = 1 join PersonInBaseTree\r\n pib on i.UID_Person = pib.UID_Person join BaseTree o on pib.UID_Org = o.UID_Org join OrgRoot ro on o.UID_OrgRoot = ro.UID_OrgRoot and ro.UID_OrgType =\r\n t.UID_OrgType group by pib.uid_person having count(*) > 1 ) begin raiserror( '#LDS#Cannot make direct assignment because there are already assignments of this person to roles in a role class in this role type with IsPersonAssignOnce.|'\r\n, 18, 2) with nowait end if exists (select top 1 1 from inserted i join BaseTree n on i.UID_Org = n.UID_Org and i.XOrigin & @QBM_BitPatternXOrigin_Direct\r\n = 1 join Orgtype t on n.UID_OrgType = t.UID_OrgType and t.IsPersonAssignOnce = 1 join PersonInBaseTree pib on i.UID_Person = pib.UID_Person join BaseTree\r\n o on pib.UID_Org = o.UID_Org and o.UID_OrgType = t.UID_OrgType group by pib.uid_person having count(*) > 1 ) begin raiserror( '#LDS#Cannot make direct assignment because there are already assignments of this person to roles in this role type with IsPersonAssignOnce.|'\r\n, 18, 2) with nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid_parameter\r\n, x.uid_SubParameter, @GenProcID from ( select m.uid_person as uid_parameter, m.uid_org as uid_subparameter from inserted m ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-AllForPersonInBaseTree', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH \r\nende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIPersonWantsOrg",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PersonWantsOrg",
      "CreateDate": "2025-06-27T18:01:08.34",
      "ModifyDate": "2026-04-14T23:23:08.457",
      "Definition": "    create   trigger QER_TIPersonWantsOrg on PersonWantsOrg  for Insert not for Replication as begin  declare @DecisionOnInsert int = 0 declare \r\n@uid_personwantsorg varchar(38)  declare @isMassInsert bit = 0 declare @XUser nvarchar(64) declare @heute datetime = getutcdate() declare @Processes QBM_YParameterList\r\n   declare @PWOsToFillObject QBM_YParameterlist      BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar\r\n(38) select @GenProcID = dbo.QBM_FGISessionContext('') select @XUser = dbo.QBM_FGISessionContext('XUser') if exists (select top 1 1  from inserted i join\r\n PersonWantsOrg pwo on i.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg join QER_VPWOOrderState s on pwo.OrderState = s.OrderState where  sign(len(isnull(pwo.UID_QERWorkingMethod\r\n, ''))) ^ s.HasWorkingMethod = 1 ) begin raiserror('#LDS#Invalid combination of Orderstate and QERWorkingMethod.|', 18, 1) with nowait end  if dbo.QBM_FGIConfigparmValue\r\n('Common\\ProcessState') > ' ' begin if dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\UseGenProcIDFromPWO') > ' ' begin insert into @Processes(Parameter1\r\n, Parameter2) select isnull(i.GenProcID, @GenProcID) , min(i.XObjectKey)  from inserted i group by i.GenProcID  end else begin  insert into @Processes(Parameter1\r\n, Parameter2) select @GenProcID , min(i.XObjectKey) from inserted i end delete  @Processes from @Processes p where exists (select top 1 1 from DialogProcess\r\n e with (nolock) where e.GenProcID = p.Parameter1 ) if exists (select top 1 1 from @Processes ) begin insert into DialogProcess (GenProcID, BasisObjectType\r\n , ObjectKey, ProcessState , XDateInserted, XDateUpdated , XUserInserted , XUserUpdated , CustomComment, DisplayName ) select p.Parameter1 , 'PersonWantsOrg'\r\n as BasisObjectType , p.Parameter2 as ObjectKey, 'E'  , @heute, @heute , @XUser , @XUser , '' as CustomComment, 'Insert PersonWantsOrg' as DisplayName \r\nfrom @Processes p  where not exists (select top 1 1 from Dialogprocess where GenProcID = p.Parameter1) end end    if dbo.QBM_FGIConfigparmValue('QER\\ITShop\\DecisionOnInsert'\r\n) > ' ' begin select @DecisionOnInsert = 1 end if (select count(*) from inserted) > 500 begin select @isMassInsert = 1 end  if exists (select top 1 1 from\r\n inserted i where i.UID_ITShopOrgFinal is null ) begin update personwantsorg set UID_ITShopOrgFinal = Personwantsorg.uid_Org  , XDateUpdated = @heute ,\r\n XUserUpdated = @XUser from Personwantsorg join inserted i on Personwantsorg.uid_personwantsorg = i.uid_Personwantsorg where i.UID_ITShopOrgFinal is null\r\n end    if @isMassInsert = 0 begin delete  @PWOsToFillObject insert into @PWOsToFillObject(Parameter1, Parameter2, Parameter3, HasContentFull) select UID_PersonWantsOrg\r\n, @GenProcID  , '1' as CurrentLevelOnly , 1 as isNewDecisionLevel from inserted   where OrderState in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe'\r\n)  exec QER_PITShopPersonHasObjFill_b @PWOsToFillObject, @IsCalledFromTrigger = 1 end  if @DecisionOnInsert = 1 begin  declare @PWOsToFire QBM_YParameterList\r\n  insert into @PWOsToFire(Parameter1) select i.XObjectKey from inserted i where OrderState in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe') exec\r\n QBM_PJobCreate_HOCallMethod_L @objecttype = 'PersonWantsOrg' , @XObjectKeys = @PWOsToFire  , @save = 1 , @MethodName = 'MakeDecisionOnInsertAsync' , @GenProcID\r\n = @GenProcID , @AdditionalObjectKeysAffected = default , @Retries = 3 , @isToFreezeOnError = 1 , @WhereClauseAdditional = 'DecisionLevel = 0 and  OrderState in (''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'')'\r\n , @checkForExisting = 1 end  if @DecisionOnInsert = 0 or @isMassInsert = 1 begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from (select i.UID_PersonWantsOrg as uid from inserted i   where i.OrderState in ('OrderProduct'\r\n, 'OrderProlongate', 'OrderUnsubscribe') ) as x  exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackPWOHelperPWO', @DBQueueElements_01 exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-ShoppingRackPersonHasObject', @DBQueueElements_01    end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT\r\n END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIPWODecisionmethod",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PWODecisionMethod",
      "CreateDate": "2025-06-27T18:01:08.413",
      "ModifyDate": "2026-04-14T23:23:08.47",
      "Definition": "    create   trigger QER_TIPWODecisionmethod on PWODecisionmethod  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 \r\nfrom inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01(Object, SubObject, GenProcID)  select rtrim(isnull(ohm.uid_org, '')), null, @GenProcID from PWODecisionMethod join inserted\r\n on PWODecisionMethod.UID_PWODecisionMethod = inserted.UID_PWODecisionMethod join BaseTreeHasPWODecisionMethod ohm on PWODecisionMethod.uid_PWODecisionmethod\r\n = ohm.uid_PWODecisionmethod exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRack-All', @DBQueueElements_01  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd \r\ndefault RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIPWODecisionRule",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PWODecisionRule",
      "CreateDate": "2025-06-27T18:01:08.43",
      "ModifyDate": "2026-04-14T23:23:08.47",
      "Definition": "  create   trigger QER_TIPWODecisionRule on PWODecisionRule  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01(Object, SubObject, GenProcID) select i.UID_PWODecisionRule, null, @GenProcID from inserted i exec QBM_PDBQueueInsert_bulk\r\n 'QER-K-PWODecisionRuleMakeProc', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIPWODecisionRuleRulerDete",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PWODecisionRuleRulerDetect",
      "CreateDate": "2025-06-27T18:01:08.447",
      "ModifyDate": "2026-04-14T23:23:08.473",
      "Definition": "  create   trigger QER_TIPWODecisionRuleRulerDete  on PWODecisionRuleRulerDetect  for Insert not for Replication as begin  BEGIN TRY if exists (select\r\n top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  declare @SQLToCheck_01\r\n QBM_YParameterList insert into @SQLToCheck_01(Parameter1, ContentFull) select c.XObjectKey, replace(replace(replace(c.SQLQuery , '@UID_AttestationCase'\r\n, '''123''') , '@UID_PersonWantsorg', '''123''')  , '@UID_QERWorkingStep', '''123''') from inserted c where c.SQLQuery > ' ' and left(ltrim(c.SQLQuery)\r\n, 4) <> 'exec' exec QBM_PSQLCheckExecutable @SQLToCheck_01, @RaiseError = 1 declare @SQLToCheck_02 QBM_YParameterList insert into @SQLToCheck_02(Parameter1\r\n, ContentFull) select c.XObjectKey, c.SQLQueryObjectsToRecalc from inserted c where c.SQLQueryObjectsToRecalc > ' ' exec QBM_PSQLCheckExecutable @SQLToCheck_02\r\n, @RaiseError = 1 declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01(Object, SubObject, GenProcID) select distinct i.UID_PWODecisionRule\r\n, null, @GenProcID from inserted i exec QBM_PDBQueueInsert_bulk 'QER-K-PWODecisionRuleMakeProc', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_02(Object, SubObject, GenProcID) select distinct i.UID_PWODecisionRule, null, @GenProcID from inserted i exec QBM_PDBQueueInsert_bulk\r\n 'QER-K-PWOHelperFillMakeProc', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIPWODecisionStep",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PWODecisionStep",
      "CreateDate": "2025-06-27T18:01:08.46",
      "ModifyDate": "2026-04-14T23:23:08.477",
      "Definition": "    create   trigger QER_TIPWODecisionStep on PWODecisionStep  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from\r\n inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  if exists (select top 1 1 from inserted\r\n where dbo.QBM_FCVGUIDToModuleOwner(UID_PWODecisionSubMethod) <> 'CCC'  and dbo.QBM_FCVGUIDToModuleOwner(UID_PWODecisionStep) = 'CCC'  ) begin raiserror\r\n('#LDS#Custom defined steps are not permitted in predefined workflows.|', 18, 2) with nowait end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIQERDynamicGroupBlackList",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QERDynamicGroupBlackList",
      "CreateDate": "2025-06-27T18:01:08.633",
      "ModifyDate": "2026-04-14T23:23:08.72",
      "Definition": "  create   trigger QER_TIQERDynamicGroupBlackList on QERDynamicGroupBlackList  for Insert not for Replication as begin  declare @GenProcID varchar\r\n(38) = dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select d.UID_Person, d.UID_DynamicGroup , @GenProcID from inserted d exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-DynamicGroupSingleBasic', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIQEREntitlementSource",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QEREntitlementSource",
      "CreateDate": "2025-06-27T18:01:08.6",
      "ModifyDate": "2026-04-14T23:23:08.72",
      "Definition": "  create   trigger QER_TIQEREntitlementSource on QEREntitlementSource  for Insert not for Replication as begin  declare @SQLToCheck QBM_YParameterList\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('')  insert into @SQLToCheck(Parameter1, ContentFull) select c.XObjectKey, c.SQLQuery from inserted c  where c.SQLQuery > ' ' exec QBM_PSQLCheckExecutable\r\n @SQLToCheck, @RaiseError = 1 exec QBM_PDBQueueInsert_Single 'QER-K-EntitlementSourceMakeProc', '', '', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIQERRiskIndex",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QERRiskIndex",
      "CreateDate": "2025-06-27T18:01:08.493",
      "ModifyDate": "2026-04-14T23:23:08.76",
      "Definition": "  create   trigger QER_TIQERRiskIndex on QERRiskIndex  for Insert not for Replication as begin  declare @SQLToCheck QBM_YParameterList BEGIN TRY\r\n if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  insert\r\n into @SQLToCheck(Parameter1, ContentFull) select c.XObjectKey, c.QueryString from inserted c  where c.QueryString > ' ' exec QBM_PSQLCheckExecutable @SQLToCheck\r\n, @RaiseError = 1 declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select distinct d.uid_dialogColumn as uid from inserted d where d.uid_dialogColumn > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-QERRiskIndexMakeProc'\r\n, @DBQueueElements_01  exec QBM_PDBQueueInsert_Bulk 'QER-K-QERRiskIndexCalculate', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIQERUniversalSubstitute",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QERUniversalSubstitute",
      "CreateDate": "2025-06-27T18:01:08.653",
      "ModifyDate": "2026-04-14T23:23:08.77",
      "Definition": "    create   trigger QER_TIQERUniversalSubstitute on QERUniversalSubstitute  for Insert not for Replication as begin declare @GenProcID varchar(38\r\n) = dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01(object, subobject, genprocid) select x.uid, null, @GenProcID from(  select pwo.UID_PersonWantsOrg as uid from inserted\r\n i join PWOHelperPWO h on i.UID_PersonSender = h.UID_PersonHead join PersonWantsOrg pwo on h.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg and h.LevelNumber\r\n = pwo.DecisionLevel where i.IsCurrentlyActive = 1 and (i.UseForITShop = 1 or i.UseForITShopCompliance = 1) and pwo.OrderState in ('OrderProduct', 'OrderProlongate'\r\n, 'OrderUnsubscribe') ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackPWOHelperPWO', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_02(object, subobject, genprocid) select x.uid, null, @GenProcID from(  select i.UID_PersonReceiver as uid from inserted i\r\n where i.IsCurrentlyActive = 1 and i.UseForHeadOrg = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-HelperHeadOrg', @DBQueueElements_02 declare @DBQueueElements_03\r\n QBM_YDBQueueRaw insert into @DBQueueElements_03(object, subobject, genprocid) select x.uid, null, @GenProcID from(  select i.UID_PersonReceiver as uid\r\n from inserted i where i.IsCurrentlyActive = 1 and i.UseForHeadPerson = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-HelperHeadPerson', @DBQueueElements_03\r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIWorkDesk",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "WorkDesk",
      "CreateDate": "2025-06-27T18:01:08.577",
      "ModifyDate": "2026-04-14T23:23:08.93",
      "Definition": "    create   trigger QER_TIWorkDesk on WorkDesk  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted) goto\r\n start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')   if dbo.QBM_FGIColumnUpdatedOthers ('WorkDesk', \r\n'XTouched', columns_updated()) = 1 begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select inserted.uid_WorkDesk as uid from inserted ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AllForOneWorkdesk', @DBQueueElements_02\r\n exec QBM_PDBQueueInsert_Bulk 'QER-K-HelperWorkdeskOrg', @DBQueueElements_02  end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', \r\n18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TIWorkDeskInBaseTree",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "WorkDeskInBaseTree",
      "CreateDate": "2025-06-27T18:01:08.587",
      "ModifyDate": "2026-04-14T23:23:08.937",
      "Definition": "    create   trigger QER_TIWorkDeskInBaseTree on WorkDeskInBaseTree  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 \r\n1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  declare @AssignCheckValues \r\nQBM_YparameterList insert into @AssignCheckValues(Parameter1, Parameter2) select i.UID_Org, i.XOrigin from inserted i exec QER_PAssignmentCheckValid 'QER-AsgnBT-WorkDesk'\r\n, @AssignCheckValues, @GenProcID if exists (select top 1 1 from BaseTreeExcludesBasetree ) begin  if exists (select top 1 1 from inserted i join WorkDeskinBaseTree\r\n 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 =\r\n 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_DynamicGroup\r\n 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 BaseTreeExcludesBaseTree\r\n 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 DynamicGroup\r\n 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.|'\r\n, 18, 2) with nowait end end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, \r\nnull, @GenProcID from ( select distinct inserted.uid_WorkDesk as uid from inserted ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AllForOneWorkdesk', @DBQueueElements_01\r\n  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUAccProduct",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "AccProduct",
      "CreateDate": "2025-06-27T18:01:07.71",
      "ModifyDate": "2026-04-14T23:23:07.85",
      "Definition": "    create   trigger QER_TUAccProduct on AccProduct  for UPDATE not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted)\r\n goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if update(UID_OrgRuler) begin declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-OA'\r\n, i.XObjectKey, 'I' from inserted i exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID end if update(UID_PWODecisionMethod) begin declare\r\n @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select b.uid_org\r\n as uid from BaseTree b join inserted i on b.uid_accproduct = i.uid_accproduct union select b.uid_org as uid from BaseTree b join deleted i on b.uid_accproduct\r\n = i.uid_accproduct ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackProductNode', @DBQueueElements_01 end if update(UID_AccProductGroup) begin declare\r\n @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select b.uid_org\r\n as uid from BaseTree b join inserted i on b.uid_accproduct = i.uid_accproduct ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackProductNode', @DBQueueElements_02\r\n end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUAccProductGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "AccProductGroup",
      "CreateDate": "2025-06-27T18:01:07.723",
      "ModifyDate": "2026-04-14T23:23:07.853",
      "Definition": "create   trigger QER_TUAccProductGroup on AccProductGroup  for UPDATE not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') declare @DebugSwitch int = 0 if update(UID_PWODecisionMethod) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object\r\n, subobject, genprocid) select x.uid, null, @GenProcID from ( select b.uid_org as uid from inserted i join QER_VACCProductGroupCollection co on i.UID_AccProductGroup\r\n = co.UID_AccProductGroupParent join AccProduct a on co.UID_ACCProductGroup = a.uid_AccProductGroup join BaseTree b on b.uid_AccProduct = a.uid_AccProduct\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackProductNode', @DBQueueElements_01 end if update(UID_AccProductGroupParent) begin declare @DBQueueElements_02\r\n QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select b.uid_org as uid from deleted\r\n d join AccProductGroup g on d.UID_AccProductGroup = g.UID_AccProductGroup and ISNULL(d.UID_AccProductGroupParent , '') <> ISNULL(g.UID_AccProductGroupParent\r\n, '') join QER_VACCProductGroupCollection co on g.UID_AccProductGroup = co.UID_AccProductGroupParent join AccProduct a on co.UID_ACCProductGroup = a.uid_AccProductGroup\r\n join BaseTree b on b.uid_AccProduct = a.uid_AccProduct ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackProductNode', @DBQueueElements_02 declare\r\n @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select d.UID_AccProductGroup\r\n as uid from deleted d join AccProductGroup g on d.UID_AccProductGroup = g.UID_AccProductGroup and isnull(d.UID_AccProductGroupParent, '') <> isnull(g.UID_AccProductGroupParent\r\n, '') union select co.UID_AccProductGroupChild from deleted d join AccProductGroup g on d.UID_AccProductGroup = g.UID_AccProductGroup and isnull(d.UID_AccProductGroupParent\r\n, '') <> isnull(g.UID_AccProductGroupParent, '') join AccProductGroupCollection co on d.UID_AccProductGroupParent = co.UID_AccProductGroupParent union \r\nselect co.UID_AccProductGroupChild from deleted d join AccProductGroup g on d.UID_AccProductGroup = g.UID_AccProductGroup and isnull(d.UID_AccProductGroupParent\r\n, '') <> isnull(g.UID_AccProductGroupParent, '') join AccProductGroupCollection co on g.UID_AccProductGroup = co.UID_AccProductGroupParent union select\r\n co.UID_AccProductGroupChild from deleted d join AccProductGroup g on d.UID_AccProductGroup = g.UID_AccProductGroup and isnull(d.UID_AccProductGroupParent\r\n, '') <> isnull(g.UID_AccProductGroupParent, '') join AccProductGroupCollection co on g.UID_AccProductGroupParent = co.UID_AccProductGroupParent ) as x\r\n exec QBM_PDBQueueInsert_Bulk 'QER-K-AccProductGroupCollection', @DBQueueElements_03                       end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUBaseTree",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTree",
      "CreateDate": "2025-06-27T18:01:07.793",
      "ModifyDate": "2026-04-14T23:23:07.96",
      "Definition": "create   trigger QER_TUBaseTree on BaseTree  for UPDATE not for Replication as begin  declare @PWOTaskToUse varchar(38) = dbo.QER_FGIPWOTaskToUse\r\n() BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar\r\n(38) select @GenProcID = dbo.QBM_FGISessionContext('')   declare @alt_uid_Org varchar(38) declare @alt_uid_Orgroot varchar(38) declare @neu_uid_Orgroot\r\n varchar(38) declare @alt_uid_Parentorg varchar(38) declare @neu_uid_Parentorg varchar(38) declare @Ordernumber int declare @OL_only_Upper bit declare \r\n@alt_isCutNode bit declare @neu_isCutNode bit declare @alt_ITShopInfo nvarchar(2) declare @neu_ITShopInfo nvarchar(2)  declare @alt_ident_orgtype nvarchar\r\n(64) declare @neu_ident_orgtype nvarchar(64) declare @IsTopDown bit declare @QER_ITShop_OnWorkflowAssign varchar(16) if update(UID_PWODecisionMethod) begin\r\n select @QER_ITShop_OnWorkflowAssign = dbo.QBM_FGIConfigparmValue('QER\\ITShop\\OnWorkflowAssign') if @QER_ITShop_OnWorkflowAssign in ('RESET', 'ABORT') \r\nbegin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01(Object, SubObject, GenProcID) select x.uid, null, @GenProcID from ( select\r\n pwo.UID_PersonWantsOrg as uid from BaseTree b join deleted d on b.UID_Org = d.UID_Org and isnull(b.UID_PWODecisionMethod, '') <> isnull(d.UID_PWODecisionMethod\r\n, '') and b.UID_PWODecisionMethod > ' ' join PersonWantsOrg pwo on pwo.UID_Org = b.UID_Org      and pwo.OrderState in ('Assigned', 'Granted', 'New', 'OrderProduct'\r\n, 'OrderProlongate', 'OrderUnsubscribe', 'Waiting') ) as x if @QER_ITShop_OnWorkflowAssign = 'RESET' begin exec QBM_PDBQueueInsert_Bulk 'QER-K-ITSHOPOrder-RESET'\r\n, @DBQueueElements_01 end if @QER_ITShop_OnWorkflowAssign = 'ABORT' begin exec QBM_PDBQueueInsert_Bulk 'QER-K-ITSHOPOrder-ABORT', @DBQueueElements_01 end\r\n end   declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02(Object, SubObject, GenProcID) select x.uid, null, @GenProcID from ( \r\nselect pwo.UID_PersonWantsOrg as uid from BaseTree b join deleted d on b.UID_Org = d.UID_Org and isnull(b.UID_PWODecisionMethod, '') <> isnull(d.UID_PWODecisionMethod\r\n, '') and b.UID_PWODecisionMethod is null join PersonWantsOrg pwo on pwo.UID_Org = b.UID_Org      and pwo.OrderState in ('Assigned', 'Granted', 'New', \r\n'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting') ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-ITSHOPOrder-ABORT', @DBQueueElements_02 end\r\n  if update(IsInvalidForDynamicGroup) begin if exists (select top 1 1 from deleted d join BaseTree b on d.UID_Org = b.UID_Org join DynamicGroup g on b.XObjectKey\r\n = g.ObjectKeyBaseTree where d.IsInvalidForDynamicGroup = 0 and b.IsInvalidForDynamicGroup = 1 ) begin raiserror( '#LDS#Change of IsInvalidForDynamicGroup is invalid because element is used for dynamic groups.|'\r\n, 18, 1) with nowait end end if update(UID_DialogGroup)  begin  if exists (select top 1 1 from inserted i join DialogGroup g on i.UID_DialogGroup = g.UID_DialogGroup\r\n where g.IsRoleBasedOnly = 0 ) begin raiserror('#LDS#Assigment is only permitted for DialogGroup.IsRoleBasedOnly true.|', 18, 2) with nowait end  declare\r\n @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct\r\n pio.uid_person as uid from BaseTree b join deleted d on b.uid_org = d.uid_org and isnull(b.UID_DialogGroup, '') <> isnull(d.UID_DialogGroup, '') and b.uid_orgroot\r\n = 'QER-V-AERole'  join BaseTreecollection co on b.uid_org = co.uid_ParentOrg join personinBaseTree pio on pio.uid_org = co.uid_org and pio.XOrigin > 0\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-PersonCheckDynUser', @DBQueueElements_03 end  if update(uid_orgroot) begin  if exists (select top 1 1 from \r\ndeleted d join BaseTree b on d.UID_Org = b.UID_Org where d.UID_OrgRoot <> b.UID_OrgRoot ) begin  raiserror('#LDS#Cannot update node because OrgRoot was changed.|'\r\n, 18, 1) with nowait end end  if update(uid_Parentorg) begin  if exists (select top 1 1 from deleted d join BaseTree b on d.UID_Org = b.UID_Org left outer\r\n join BaseTree p on b.UID_ParentOrg = p.UID_Org and b.UID_OrgRoot = p.UID_OrgRoot where b.UID_ParentOrg > ' ' and p.UID_Org is null ) begin raiserror( \r\n'#LDS#Cannot change node, because predecessor does not exist in same role class.|', 18, 1) with nowait end   if exists (select top 1 1 from deleted d join\r\n BaseTree b on d.UID_Org = b.UID_Org left outer join BaseTree sh on b.UID_ParentOrg = sh.UID_Org and sh.ITShopInfo = 'SH' where b.UID_OrgRoot = 'QER-V-ITShopOrg'\r\n and d.ITShopInfo = 'BO' and isnull(d.UID_ParentOrg, '') <> isnull(b.UID_ParentOrg, '') and sh.UID_Org is null ) begin raiserror( '#LDS#Cannot change shelf properties, because predecessor is not a Shop.|'\r\n, 18, 2) with nowait end end  if update(ITShopInfo) begin  if exists (select top 1 1 from deleted d join BaseTree b on d.UID_Org = b.UID_Org where b.ITShopInfo\r\n > ' ' and b.UID_OrgRoot not in ('QER-V-ITShopOrg', 'QER-V-ITShopSrc') ) begin raiserror( '#LDS#Cannot set IT Shop information, because role class is not suitable for IT Shop.|'\r\n, 18, 2) with nowait end   if exists (select top 1 1 from deleted d join BaseTree b on d.UID_Org = b.UID_Org join BaseTree pr on pr.UID_ParentOrg = d.UID_Org\r\n where d.ITShopInfo = 'BO' and isnull( b.ITShopInfo , '') <> 'BO' )  begin raiserror( '#LDS#Cannot change shelf in IT Shop, because product nodes still exist.|'\r\n, 18, 2) with nowait end if exists (select top 1 1 from deleted d join BaseTree b on d.UID_Org = b.UID_Org join BaseTree pa with (nolock) on ( b.UID_ParentOrg\r\n = pa.UID_Org or d.UID_ParentOrg = pa.UID_Org ) where isnull(d.ITShopInfo, '') <> isnull(b.ITShopInfo, '') and pa.ITShopInfo = 'BO' ) begin raiserror( \r\n'#LDS#Cannot change shelf property, because predecessor already is a shelf.|', 18, 2) with nowait end  if exists (select top 1 1 from deleted d join BaseTree\r\n b on d.UID_Org = b.UID_Org where b.UID_OrgRoot = 'QER-V-ITShopSrc' and isnull(d.ITShopInfo, '') <> isnull(b.ITShopInfo, '') ) begin raiserror( '#LDS#Cannot change shelf properties, because changing the type of template is not suitable for IT Shop Source.|'\r\n, 18, 2) with nowait end   if exists (select top 1 1 from deleted d join BaseTree b on d.UID_Org = b.UID_Org join PersonInBaseTree pio on b.UID_Org = pio.UID_Org\r\n where b.UID_OrgRoot = 'QER-V-ITShopOrg' and isnull(d.ITShopInfo, '') <> isnull(b.ITShopInfo, '') and d.ITShopInfo = 'CU' ) begin raiserror( '#LDS#Cannot change IT Shop information, because customer assignment in shop already exists.|'\r\n, 18, 2) with nowait end end  if update(uid_personhead) or update(uid_personheadSecond) begin                                declare @DBQueueElements_04\r\n QBM_YDBQueueRaw insert into @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_personHead as uid from\r\n inserted where uid_personHead > ' ' union select uid_personHeadSecond as uid from Inserted where uid_personHeadSecond > ' ' union select uid_personHead\r\n as uid from deleted where uid_personHead > ' ' union select uid_personHeadSecond as uid from deleted where uid_personHeadSecond > ' '  union select us.UID_PersonReceiver\r\n as uid from inserted i join QERUniversalSubstitute us on us.UID_PersonSender in (i.UID_PersonHead, i.UID_PersonHeadSecond) where us.IsCurrentlyActive \r\n= 1 and us.UseForHeadOrg = 1 union select us.UID_PersonReceiver as uid from deleted d join QERUniversalSubstitute us on us.UID_PersonSender in (d.UID_PersonHead\r\n, d.UID_PersonHeadSecond) where us.IsCurrentlyActive = 1 and us.UseForHeadOrg = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-HelperHeadOrg', @DBQueueElements_04\r\n end if UPDATE(UID_AERoleManager) begin declare @DBQueueElements_05 QBM_YDBQueueRaw insert into @DBQueueElements_05 (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from( select pio.UID_Person as uid from inserted i join PersonInBaseTree pio on i.UID_AERoleManager = pio.UID_Org union select\r\n us.UID_PersonReceiver as uid from inserted i join PersonInBaseTree pio on i.UID_AERoleManager = pio.UID_Org join QERUniversalSubstitute us on us.UID_PersonSender\r\n = pio.UID_Person where us.IsCurrentlyActive = 1 and us.UseForHeadOrg = 1 union select pio.UID_Person as uid from deleted d join PersonInBaseTree pio on\r\n d.UID_AERoleManager = pio.UID_Org union select us.UID_PersonReceiver as uid from deleted d join PersonInBaseTree pio on d.UID_AERoleManager = pio.UID_Org\r\n join QERUniversalSubstitute us on us.UID_PersonSender = pio.UID_Person where us.IsCurrentlyActive = 1 and us.UseForHeadOrg = 1 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-HelperHeadOrg', @DBQueueElements_05 end if update(UID_AERoleManager) begin declare @RecalcParameter_OX QBM_YCursorBuffer insert into @RecalcParameter_OX\r\n (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-OX', i.XObjectKey, 'I'  from inserted i exec QER_PITShopHelperFill_Recalc @RecalcParameter_OX, \r\n@GenprocID end  if update(UID_OrgDepartment) begin declare @RecalcParameter_01 QBM_YCursorBuffer  insert into @RecalcParameter_01 (UID1, ObjectKey1, Ident1\r\n) select y.DecisionRule, x.XObjectKey, 'I' from (select i.XObjectKey from inserted i where i.UID_OrgRoot = 'QER-V-ITShopOrg' ) as x join (select 'QER-PWODecisionRule-D0'\r\n as DecisionRule union select 'QER-PWODecisionRule-D1' union select 'QER-PWODecisionRule-D2' ) as y on 1 = 1 exec QER_PITShopHelperFill_Recalc @RecalcParameter_01\r\n, @GenprocID end  if update(UID_OrgProfitCenter) begin declare @RecalcParameter_02 QBM_YCursorBuffer  insert into @RecalcParameter_02 (UID1, ObjectKey1\r\n, Ident1) select y.DecisionRule, x.XObjectKey, 'I' from (select i.XObjectKey from inserted i where i.UID_OrgRoot = 'QER-V-ITShopOrg' ) as x join (select\r\n 'QER-PWODecisionRule-P0' as DecisionRule union select 'QER-PWODecisionRule-P1' union select 'QER-PWODecisionRule-P2' ) as y on 1 = 1 exec QER_PITShopHelperFill_Recalc\r\n @RecalcParameter_02, @GenprocID end  if update(UID_AccProduct) begin declare @RecalcParameter_03 QBM_YCursorBuffer  insert into @RecalcParameter_03 (UID1\r\n, ObjectKey1, Ident1) select y.DecisionRule, x.XObjectKey, 'I' from (select i.XObjectKey from inserted i where i.UID_OrgRoot = 'QER-V-ITShopOrg' ) as x\r\n join (select 'QER-PWODecisionRule-OA' as DecisionRule ) as y on 1 = 1 exec QER_PITShopHelperFill_Recalc @RecalcParameter_03, @GenprocID end  if   update\r\n(UID_OrgType) or update(uid_rulercontainer) or update(uid_rulercontainerIT) or update(uid_parentorg)  begin if @PWOTaskToUse > ' ' begin  declare @DBQueueElements_06\r\n QBM_YDBQueueRaw insert into @DBQueueElements_06 (object, subobject, genprocid) select x.uid, null, @GenProcID from (  select pwo.UID_PersonWantsOrg as\r\n uid from BaseTree b join deleted d on b.uid_org = d.uid_org and isnull(b.uid_accproduct,'') <> isnull(d.uid_accproduct,'') join PersonWantsOrg pwo on \r\n(b.UID_Org = pwo.UID_Org or b.UID_Org = pwo.UID_ITShopOrgFinal ) where b.ItshopInfo = 'PR' and b.uid_OrgRoot = 'QER-V-ITShopOrg' union select pwo.UID_PersonWantsOrg\r\n as uid from BaseTree b join deleted d on b.uid_org = d.uid_org and ( isnull(b.uid_rulercontainer,'') <> isnull(d.uid_rulercontainer,'') or isnull(b.uid_rulercontainerIT\r\n,'') <> isnull(d.uid_rulercontainerIT,'') or isnull(b.uid_orgdepartment,'') <> isnull(d.uid_orgdepartment,'') or isnull(b.uid_orgProfitCenter,'') <> isnull\r\n(d.uid_orgProfitCenter,'') ) join PersonWantsOrg pwo on (b.UID_Org = pwo.UID_Org or b.UID_Org = pwo.UID_OrgParent or b.UID_Org = pwo.UID_OrgParentOfParent\r\n ) where b.ItshopInfo in ( 'PR', 'BO', 'SH') and b.uid_OrgRoot = 'QER-V-ITShopOrg' and pwo.OrderState like 'Order%' ) as x  exec QBM_PDBQueueInsert_Bulk\r\n @PWOTaskToUse, @DBQueueElements_06 if exists (select top 1 1 from BaseTree b join deleted d on b.uid_org = d.uid_org where (b.uid_OrgRoot <> 'QER-V-ITShopOrg'\r\n or isnull(b.ItshopInfo, '') = 'SC' ) and ( isnull(b.uid_rulercontainer,'') <> isnull(d.uid_rulercontainer,'') or isnull(b.uid_rulercontainerIT,'') <> \r\nisnull(d.uid_rulercontainerIT,'') or isnull(b.uid_orgdepartment,'') <> isnull(d.uid_orgdepartment,'') or isnull(b.uid_orgProfitCenter,'') <> isnull(d.uid_orgProfitCenter\r\n,'') or isnull(b.uid_parentorg,'') <> isnull(d.uid_parentorg,'') ) ) begin  exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate', @PWOTaskToUse, ''\r\n, @GenProcID end end  exec QBM_PDBQueueInsert_Single 'QER-K-ShoppingRackPWODecisionMaker', '', '', @GenProcID end  if update(uid_Accproduct) begin declare\r\n @DBQueueElements_07 QBM_YDBQueueRaw insert into @DBQueueElements_07 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select d.uid_org\r\n as uid from BaseTree b join deleted d on b.uid_org = d.uid_org and isnull(b.uid_accproduct,'') <> isnull(d.uid_accproduct,'') where b.ItshopInfo = 'PR'\r\n  and b.uid_OrgRoot = 'QER-V-ITShopOrg'  ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackProductNode', @DBQueueElements_07 end  if update(uid_parentorg\r\n) begin   declare @DBQueueElements_08 QBM_YDBQueueRaw insert into @DBQueueElements_08 (object, subobject, genprocid) select x.uid, null, @GenProcID from\r\n ( select d.uid_org as uid from BaseTree b join deleted d on b.uid_org = d.uid_org and isnull(b.uid_parentorg,'') <> isnull(d.uid_parentorg,'') ) as x \r\nexec QBM_PDBQueueInsert_Bulk 'QER-K-OrgTreeLEVEL', @DBQueueElements_08 declare @DBQueueElements_09 QBM_YDBQueueRaw insert into @DBQueueElements_09 (object\r\n, subobject, genprocid) select x.uid, null, @GenProcID from ( select d.UID_Org as uid from deleted d union select co.UID_Org  from deleted d join BaseTree\r\n i on d.UID_Org = i.UID_Org join BaseTreeCollectionF co on co.UID_ParentOrg = d.UID_Org where isnull(d.UID_ParentOrg, '') <> isnull(i.UID_ParentOrg, ''\r\n) ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-BaseTreeCollectionF', @DBQueueElements_09 end if update(uid_parentorg) or update(UID_OrgType) begin if exists\r\n (select top 1 1 from inserted i where i.uid_OrgRoot = 'QER-V-ITShopOrg'  ) begin declare @DBQueueElements_10 QBM_YDBQueueRaw insert into @DBQueueElements_10\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select  pr.uid_org as uid from ( select uid_org from inserted union select uid_org\r\n from deleted union select uid_parentorg from deleted union select uid_parentorg from inserted ) as o    join BaseTreecollection co on o.uid_org = co.uid_parentorg\r\n join BaseTree bo on co.uid_org = bo.uid_org and bo.ITShopInfo = 'BO'  and bo.uid_OrgRoot = 'QER-V-ITShopOrg'  join BaseTree pr on pr.uid_parentorg = bo.uid_Org\r\n and pr.ITShopInfo = 'PR'  union select uid_Org from inserted pr where pr.ITShopInfo = 'PR' and pr.uid_OrgRoot = 'QER-V-ITShopOrg' ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-ShoppingRackProductNode', @DBQueueElements_10 declare @DBQueueElements_11 QBM_YDBQueueRaw insert into @DBQueueElements_11 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select  b.uid_org as uid from ( select uid_org from inserted union select uid_org from deleted union select uid_parentorg\r\n from deleted union select uid_parentorg from inserted ) as o    join BaseTreecollection co on o.uid_org = co.uid_parentorg join BaseTree b on co.uid_org\r\n = b.uid_org and b.ITShopInfo = 'BO'  and b.uid_OrgRoot = 'QER-V-ITShopOrg'  ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackMethod', @DBQueueElements_11\r\n end  end if update(uid_parentorg) or update(isCutnode) begin  declare @DBQueueElements_12 QBM_YDBQueueRaw insert into @DBQueueElements_12 (object, subobject\r\n, genprocid) select x.uid, null, @GenProcID from ( select distinct d.uid_org as uid from BaseTree b join deleted d on b.uid_org = d.uid_org where isnull\r\n(b.uid_parentorg,'') <> isnull(d.uid_parentorg,'') or isnull(d.isCutnode,0) <> isnull(b.isCutnode,0) ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgInherite'\r\n, @DBQueueElements_12 end   if update(ITShopInfo) begin  declare @DBQueueElements_13 QBM_YDBQueueRaw insert into @DBQueueElements_13 (object, subobject\r\n, genprocid) select x.uid, null, @GenProcID from ( select d.uid_org as uid from BaseTree b join deleted d on b.uid_org = d.uid_org and d.uid_orgroot = \r\n'QER-V-ITShopOrg' and isnull(d.ITShopInfo,'') <> 'BO' and isnull(b.ITShopInfo,'') = 'BO' ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgAutoChild', @DBQueueElements_13\r\n end  if update(IsNoInheriteToPerson) begin declare @DBQueueElements_14 QBM_YDBQueueRaw insert into @DBQueueElements_14 (object, subobject, genprocid) \r\nselect x.uid, null, @GenProcID from ( select h.uid_person as uid from BaseTree b join deleted d on b.uid_org = d.uid_org join helperPersonOrg h on h.uid_org\r\n = b.uid_org where isnull(d.IsNoInheriteToPerson,0) <> isnull(b.IsNoInheriteToPerson,0) union select pio.uid_person as uid from BaseTree b join deleted\r\n d on b.uid_org = d.uid_org join personinBaseTree pio on pio.uid_org = b.uid_org and pio.XOrigin > 0 where isnull(d.IsNoInheriteToPerson,0) <> isnull(b.IsNoInheriteToPerson\r\n,0) ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AllForOnePerson', @DBQueueElements_14 end  if update(IsNoInheriteToHardware) begin declare @DBQueueElements_15\r\n QBM_YDBQueueRaw insert into @DBQueueElements_15 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select h.uid_Hardware as uid from\r\n BaseTree b join deleted d on b.uid_org = d.uid_org join helperHardwareOrg h on h.uid_org = b.uid_org where isnull(d.IsNoInheriteToHardware,0) <> isnull\r\n(b.IsNoInheriteToHardware,0) union select pio.uid_Hardware as uid from BaseTree b join deleted d on b.uid_org = d.uid_org join HardwareinBaseTree pio on\r\n pio.uid_org = b.uid_org and pio.XOrigin > 0 where isnull(d.IsNoInheriteToHardware,0) <> isnull(b.IsNoInheriteToHardware,0) ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-AllForOneHardware', @DBQueueElements_15 end  if update(IsNoInheriteToWorkDesk) begin declare @DBQueueElements_16 QBM_YDBQueueRaw insert into @DBQueueElements_16\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select h.uid_WorkDesk as uid from BaseTree b join deleted d on b.uid_org = d.uid_org\r\n join helperWorkDeskOrg h on h.uid_org = b.uid_org where isnull(d.IsNoInheriteToWorkDesk,0) <> isnull(b.IsNoInheriteToWorkDesk,0) union select pio.uid_WorkDesk\r\n as uid from BaseTree b join deleted d on b.uid_org = d.uid_org join WorkDeskinBaseTree pio on pio.uid_org = b.uid_org and pio.XOrigin > 0 where isnull\r\n(d.IsNoInheriteToWorkDesk,0) <> isnull(b.IsNoInheriteToWorkDesk,0) ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AllForOneWorkdesk', @DBQueueElements_16 end\r\n    END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUBaseTreeHasESet",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasESet",
      "CreateDate": "2025-06-27T18:01:08.643",
      "ModifyDate": "2026-04-14T23:23:07.973",
      "Definition": "create   trigger QER_TUBaseTreeHasESet on BaseTreeHasESet  for Update not for Replication as begin  endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUBaseTreeHasQERAssign",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasQERAssign",
      "CreateDate": "2025-06-27T18:01:07.857",
      "ModifyDate": "2026-04-14T23:23:07.983",
      "Definition": " create   trigger QER_TUBaseTreeHasQERAssign on BaseTreeHasQERAssign  for update not for Replication as begin declare @ChangedOrg QBM_YSingleGUID\r\n BEGIN TRY if exists (select top 1 1 from deleted) goto start if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar\r\n(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(XOrigin) or update(XIsInEffect) begin insert into @ChangedOrg (UID_SingleGuid) select \r\ndistinct d.UID_Org as uid from BaseTreeHasQERAssign a join deleted d on a.XObjectKey = d.XObjectKey where dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin\r\n, d.XIsInEffect, a.XIsInEffect) = 1 if @@ROWCOUNT > 0  begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject\r\n, genprocid) select x.uid, 'QER-K-OrgHasQERAssign', @GenProcID from ( select c.UID_SingleGuid as uid from @ChangedOrg c ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-AllChildrenOfOrg', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select b.UID_Org as uid from @ChangedOrg c join BaseTree b on c.UID_SingleGuid = b.UID_Org where b.ITShopInfo =\r\n 'BO' ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgAutoChild', @DBQueueElements_02   declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select c.UID_SingleGuid as uid from @ChangedOrg c ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-BaseTreeHasObject', @DBQueueElements_03  declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select pio.UID_Person as uid from @ChangedOrg c join PersoninBaseTree pio on c.UID_SingleGuid = pio.UID_Org and\r\n pio.XOrigin > 0 union select hpo.UID_Person as uid from @ChangedOrg c join HelperPersonOrg hpo on c.UID_SingleGuid = hpo.UID_Org ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-PersonHasQERAssign', @DBQueueElements_04 end  end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUBaseTreeHasQERResource",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasQERResource",
      "CreateDate": "2025-06-27T18:01:07.88",
      "ModifyDate": "2026-04-14T23:23:07.987",
      "Definition": "create   trigger QER_TUBaseTreeHasQERResource on BaseTreeHasQERResource  for Update not for Replication as begin  declare @ChangedOrg QBM_YSingleGUID\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar\r\n(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(XOrigin) or update(XIsInEffect) begin insert into @ChangedOrg (UID_SingleGuid) select \r\ndistinct d.UID_Org as uid from BaseTreeHasQERResource a join deleted d on a.XObjectKey = d.XObjectKey where dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin,\r\n a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 if @@ROWCOUNT > 0  begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object\r\n, subobject, genprocid) select x.uid, 'QER-K-OrgHasQERResource', @GenProcID from ( select c.UID_SingleGuid as uid from @ChangedOrg c ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-AllChildrenOfOrg', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select b.UID_Org as uid from @ChangedOrg c join BaseTree b on c.UID_SingleGuid = b.UID_Org where b.ITShopInfo =\r\n 'BO' ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgAutoChild', @DBQueueElements_02   declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select c.UID_SingleGuid as uid from @ChangedOrg c ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-BaseTreeHasObject', @DBQueueElements_03  declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select pio.UID_Person as uid from @ChangedOrg c join PersoninBaseTree pio on c.UID_SingleGuid = pio.UID_Org and\r\n pio.XOrigin > 0 union select hpo.UID_Person as uid from @ChangedOrg c join HelperPersonOrg hpo on c.UID_SingleGuid = hpo.UID_Org ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-PersonHasQERResource', @DBQueueElements_04 end  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END\r\n CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUBaseTreeHasQERReuse",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasQERReuse",
      "CreateDate": "2025-06-27T18:01:07.9",
      "ModifyDate": "2026-04-14T23:23:07.99",
      "Definition": "create   trigger QER_TUBaseTreeHasQERReuse on BaseTreeHasQERReuse  for Update not for Replication as begin  declare @ChangedOrg QBM_YSingleGUID \r\nBEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar\r\n(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(XOrigin) or update(XIsInEffect) begin insert into @ChangedOrg (UID_SingleGuid) select \r\ndistinct d.UID_Org as uid from BaseTreeHasQERReuse a join deleted d on a.XObjectKey = d.XObjectKey where dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin\r\n, d.XIsInEffect, a.XIsInEffect) = 1 if @@ROWCOUNT > 0  begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject\r\n, genprocid) select x.uid, null, @GenProcID from ( select c.UID_SingleGuid as uid from @ChangedOrg c ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-BaseTreeHasObject'\r\n, @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, 'QER-K-OrgHasQERReuse'\r\n, @GenProcID from ( select c.UID_SingleGuid as uid from @ChangedOrg c ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AllChildrenOfOrg', @DBQueueElements_02\r\n declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select\r\n b.UID_Org as uid from @ChangedOrg c join BaseTree b on c.UID_SingleGuid = b.UID_Org where b.ITShopInfo = 'BO' ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgAutoChild'\r\n, @DBQueueElements_03  declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select pio.UID_Person as uid from @ChangedOrg c join PersoninBaseTree pio on c.UID_SingleGuid = pio.UID_Org and pio.XOrigin > 0 union select hpo.UID_Person\r\n as uid from @ChangedOrg c join HelperPersonOrg hpo on c.UID_SingleGuid = hpo.UID_Org ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-PersonHasQERReuse', @DBQueueElements_04\r\n end  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUBaseTreeHasQERReuseUS",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasQERReuseUS",
      "CreateDate": "2025-06-27T18:01:07.92",
      "ModifyDate": "2026-04-14T23:23:07.99",
      "Definition": "create   trigger QER_TUBaseTreeHasQERReuseUS on BaseTreeHasQERReuseUS  for Update not for Replication as begin  declare @ChangedOrg QBM_YSingleGUID\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar\r\n(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(XOrigin) or update(XIsInEffect) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct a.UID_Org as uid from BaseTreeHasQERReuseUS\r\n a join deleted d on a.XObjectKey = d.XObjectKey where dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 ) as x \r\nexec QBM_PDBQueueInsert_Bulk 'QER-K-BaseTreeHasObject', @DBQueueElements_01 insert into @ChangedOrg (UID_SingleGuid) select distinct d.UID_Org as uid from\r\n BaseTreeHasQERReuseUS a join deleted d on a.XObjectKey = d.XObjectKey where dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect\r\n) = 1 if @@ROWCOUNT > 0  begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid,\r\n 'QER-K-OrgHasQERReuseUS', @GenProcID from ( select c.UID_SingleGuid as uid from @ChangedOrg c ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AllChildrenOfOrg'\r\n, @DBQueueElements_02 declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select b.UID_Org as uid from @ChangedOrg c join BaseTree b on c.UID_SingleGuid = b.UID_Org where b.ITShopInfo = 'BO' ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-OrgAutoChild', @DBQueueElements_03  declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04 (object, subobject, genprocid) \r\nselect x.uid, null, @GenProcID from ( select c.UID_SingleGuid as uid from @ChangedOrg c ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-BaseTreeHasObject', \r\n@DBQueueElements_04  declare @DBQueueElements_05 QBM_YDBQueueRaw insert into @DBQueueElements_05 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select pio.UID_Person as uid from @ChangedOrg c join PersoninBaseTree pio on c.UID_SingleGuid = pio.UID_Org and pio.XOrigin > 0 union select hpo.UID_Person\r\n as uid from @ChangedOrg c join HelperPersonOrg hpo on c.UID_SingleGuid = hpo.UID_Org ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-PersonHasQERReuseUS', \r\n@DBQueueElements_05 end  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUDialogColumn",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogColumn",
      "CreateDate": "2025-06-27T18:01:07.693",
      "ModifyDate": "2026-04-14T23:23:08.037",
      "Definition": " create   trigger QER_TUDialogColumn on DialogColumn  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if update(isdeactivatedByPreprocessor) begin if exists (select top 1 1 from DialogColumn c join deleted d on c.UID_DialogColumn = d.UID_DialogColumn\r\n where c.IsDeactivatedByPreProcessor <> d.IsDeactivatedByPreProcessor ) begin exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate', 'QER-K-QERRiskIndexMakeProc'\r\n, '', @GenProcID exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate', 'QER-K-QERRiskIndexCalculate', '', @GenProcID end end END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUDialogConfigParm",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogConfigParm",
      "CreateDate": "2025-06-27T18:01:07.677",
      "ModifyDate": "2026-04-14T23:23:08.047",
      "Definition": " create   trigger QER_TUDialogConfigParm on DialogConfigParm  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from \r\ninserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if update(value) or update(IsEnabledResulting) begin   if exists ( select top 1 1 from dialogconfigparm p join deleted d on p.uid_configparm = d.uid_configparm\r\n and ( isnull(d.value,N'') <> isnull(p.value,N'') or isnull(d.IsEnabledResulting,0)<> isnull(p.IsEnabledResulting,0) ) where p.IsPreprocessorCondition \r\n= 1 ) begin  exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate', 'QER-K-DynamicGroupMakeProc', '', @GenProcID exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate'\r\n, 'QER-K-DynamicGroupTest', '', @GenProcID end end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUDialogGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogGroup",
      "CreateDate": "2025-06-27T18:01:07.687",
      "ModifyDate": "2026-04-14T23:23:08.077",
      "Definition": "create   trigger QER_TUDialogGroup on DialogGroup  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted) goto\r\n start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext(''\r\n) if update(IsRoleBasedOnly) begin  if exists (select top 1 1 from inserted i join BaseTree b on i.UID_DialogGroup = b.UID_DialogGroup where i.IsRoleBasedOnly\r\n = 0 ) begin raiserror( '#LDS#Cannot change DialogGroup.IsRoleBasedOnly because it''s assigned to BaseTree.|', 18, 2) with nowait end         if exists\r\n (select top 1 1 from deleted d join DialogGroup i on d.UID_DialogGroup = i.UID_DialogGroup where d.IsRoleBasedOnly = 1 and i.IsRoleBasedOnly = 0 ) begin\r\n raiserror( '#LDS#Cannot change DialogGroup.IsRoleBasedOnly from true to false. Create a new group instead.|', 18, 2) with nowait end   declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct u.UID_DialogUser \r\nas uid from deleted d join DialogGroup i on d.UID_DialogGroup = i.UID_DialogGroup join DialogUserInGroup uig on uig.UID_DialogGroup = i.UID_DialogGroup\r\n join DialogUser u on uig.UID_DialogUser = u.UID_DialogUser where d.IsRoleBasedOnly = 0 and i.IsRoleBasedOnly = 1 and u.IsAdmin = 1 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QBM-K-DialogUserInGroup', @DBQueueElements_01 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH \r\nend \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUDialogTable",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogTable",
      "CreateDate": "2025-06-27T18:01:07.7",
      "ModifyDate": "2026-04-14T23:23:08.17",
      "Definition": " create   trigger QER_TUDialogTable on DialogTable  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted) \r\ngoto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if update(isdeactivatedByPreprocessor) begin if exists (select top 1 1 from DialogTable t join deleted d on t.UID_DialogTable = d.UID_DialogTable \r\nwhere t.IsDeactivatedByPreProcessor <> d.IsDeactivatedByPreProcessor ) begin exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate', 'QER-K-DynamicGroupMakeProc'\r\n, '', @GenProcID end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUDynamicGroup",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DynamicGroup",
      "CreateDate": "2025-06-27T18:01:07.947",
      "ModifyDate": "2026-04-14T23:23:08.31",
      "Definition": "create   trigger QER_TUDynamicGroup on DynamicGroup  for Update not for Replication as begin  declare @SQLToCheck QBM_YParameterList declare @StringPatternDynamic\r\n varchar(16) = dbo.QBM_FCVBinaryToString( CONVERT(varbinary, dbo.QBM_FGIBitPatternXOrigin('|Dynamic|',0)), 0) declare @StringPatternDynamicInv varchar(16\r\n) = dbo.QBM_FCVBinaryToString( CONVERT(varbinary, dbo.QBM_FGIBitPatternXOrigin('|Dynamic|',1)), 0) declare @ElementBufferMulti QBM_YCursorBuffer declare\r\n @ErrorMessage nvarchar(4000) declare @ErrorSeverity int declare @ErrorState int BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists\r\n (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(ObjectKeyBaseTree\r\n) begin if exists (select top 1 1 from deleted d join DynamicGroup g on d.UID_DynamicGroup = g.UID_DynamicGroup join BaseTree b on g.ObjectKeyBaseTree \r\n= b.XObjectKey where b.IsInvalidForDynamicGroup = 1 and isnull(d.ObjectKeyBaseTree, '') <> isnull(g.ObjectKeyBaseTree, '') ) begin raiserror( '#LDS#Selected BaseTree is invalid for dynamic groups.|'\r\n, 18, 1) with nowait end end  if update(WhereClause) begin insert into @SQLToCheck(Parameter1, ContentFull) select c.XObjectKey, 'select top 1 1 as columnvalue from '\r\n + t.TableName + '\r\n\t\t where(\r\n\t\t' + c.WhereClause + '\r\n\t\t)' from inserted c  join DialogTable t on c.UID_DialogTableObjectClass = t.uid_dialogtable where\r\n c.WhereClause > ' '  update @SQLToCheck set ContentFull = REPLACE(contentFull , '@UID_Org', '''#''') exec QBM_PSQLCheckExecutable @SQLToCheck, @RaiseError\r\n = 1 end if update(ObjectKeyBaseTree) or update(UID_DialogTableObjectClass) or update(WhereClause) begin  if exists (select i.UID_DynamicGroup, i.UID_DialogTableObjectClass\r\n, a.* from inserted i join BaseTree b on i.ObjectKeyBaseTree = b.XObjectKey join orgrootassign a on b.UID_OrgRoot = a.UID_OrgRoot join BaseTreeAssign ba\r\n on ba.UID_BaseTreeAssign = a.UID_BaseTreeAssign join DialogTable t on ba.UID_DialogTableElement = t.UID_DialogTable and i.UID_DialogTableObjectClass =\r\n t.UID_DialogTable where a.IsAssignmentAllowed = 0  )  and dbo.QBM_FGISessionContext ('Transport') = '' begin  raiserror( '#LDS#Combinations of role and object classes are not permitted because (direct) assignment are not allowed according to OrgRoot.|'\r\n, 18, 1) with nowait end  if exists (select top 1 1 from inserted i join DialogTable t on i.UID_DialogTableObjectClass = t.UID_DialogTable where t.TableName\r\n not in ('Hardware' , 'Person' , 'WorkDesk' ) ) begin select @ErrorMessage = '#LDS#Object category is not permitted for dynamic groups:.|'  raiserror( \r\n@ErrorMessage, 18, 1) with nowait end   declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select t.UID_DynamicGroup as uid from DynamicGroup t join deleted d on t.UID_DynamicGroup = d.UID_DynamicGroup ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'QER-K-DynamicGroupMakeProc', @DBQueueElements_01 exec QBM_PDBQueueInsert_Bulk 'QER-K-DynamicGroupTest', @DBQueueElements_01  \r\ndelete  @ElementBufferMulti insert into @ElementBufferMulti(ContentFull) select concat( 'update ' , case d.UID_DialogTableObjectClass when 'QER-T-Hardware'\r\n then 'HardwareInBaseTree' when 'QER-T-WorkDesk' then 'WorkDeskInBaseTree' when 'QER-T-Person' then 'PersonInBaseTree' else '' end , ' set XOrigin = XOrigin & '\r\n , @StringPatternDynamicInv , ' where uid_org = ''' , rtrim(dbo.QBM_FCVObjectkeyToElement('Columnvalue1', d.ObjectKeyBaseTree)) , ''' ' ) from DynamicGroup\r\n dg join deleted d on dg.uid_DynamicGroup = d.UID_DynamicGroup where dg.ObjectKeyBaseTree <> d.ObjectKeyBaseTree or dg.UID_DialogTableObjectClass <> d.UID_DialogTableObjectClass\r\n exec QBM_PExecuteSQLMulti @ElementBufferMulti end  if UPDATE(whereclause) or UPDATE(IsCalculateImmediately) begin  exec QBM_PDBQueueInsert_Single 'QER-K-DynamicGroupMakeTrigger'\r\n, '', '', @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUDynamicGroupHasImmediate",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DynamicGroupHasImmediateColumn",
      "CreateDate": "2025-06-27T18:01:08.67",
      "ModifyDate": "2026-04-14T23:23:08.31",
      "Definition": "create   trigger QER_TUDynamicGroupHasImmediate on DynamicGroupHasImmediateColumn  for update not for Replication as begin  declare @GenProcID varchar\r\n(38) = dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return\r\n start: if exists (select top 1 1 from DynamicGroupHasImmediateColumn i join deleted d on i.XObjectKey = d.XObjectKey where i.IsInActive <> d.IsInActive\r\n ) begin exec QBM_PDBQueueInsert_Single 'QER-K-DynamicGroupMakeTrigger', '', '', @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUESetHasEntitlement",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ESetHasEntitlement",
      "CreateDate": "2025-06-27T18:01:08.64",
      "ModifyDate": "2026-04-14T23:23:08.32",
      "Definition": "   create   trigger QER_TUESetHasEntitlement on ESetHasEntitlement  for Update not for Replication as begin  endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUHardware",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "Hardware",
      "CreateDate": "2025-06-27T18:01:07.973",
      "ModifyDate": "2026-04-14T23:23:08.333",
      "Definition": "create   trigger QER_TUHardware on Hardware  for Update not for Replication as begin declare @XDateInserted datetime , @XDateUpdated datetime , \r\n@XUserInserted nvarchar(64) , @XUserUpdated nvarchar(64) declare @QBM_BitPatternXMarkedForDel_Delay int = dbo.QBM_FGIBitPatternXMarkedForDel('|Delay|',\r\n 0)  BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID \r\nvarchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')   if update(uid_Hardwaretype) begin if exists(select top 1 1 from Hardware i join deleted\r\n d on i.uid_Hardware = d.uid_Hardware and isnull(i.uid_Hardwaretype,'') <> isnull(d.uid_Hardwaretype,'') join Hardwaretype p on i.UID_Hardwaretype = p.UID_Hardwaretype\r\n and p.isInactive = 1 ) begin  raiserror( '#LDS#Assignment cannot take place, because the device type is disabled.|', 18, 2) with nowait end end  if dbo.QBM_FGIColumnUpdatedOthers\r\n ('Hardware', 'XTouched', columns_updated()) = 1 and (dbo.QBM_FGIColumnUpdatedOthers ('Hardware', 'XMarkedForDeletion', columns_updated()) = 1 or exists\r\n ( select top 1 1 from inserted i join Hardware p on i.uid_Hardware = p.uid_Hardware  where  sign(i.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay\r\n) <> sign(p.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay) ) ) begin   declare @maxAnzahl int select @maxAnzahl = 100 if 100 < (select count(*\r\n) from inserted) + (select count(*) from deleted) begin select top 1 @maxAnzahl = ( (Count(*)) /10 + 1) from Hardware end else begin select @maxAnzahl \r\n= 1073741824  end end  if update(uid_department) or update(uid_locality) or update(uid_ProfitCenter) or update(XMarkedForDeletion) or update(IsNoInherite\r\n) begin declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, @GenProcID from \r\n( select distinct h.uid_Hardware as uid from deleted d join Hardware h on d.uid_Hardware = h.uid_Hardware where isnull(d.uid_department,'') <> isnull(h.uid_department\r\n,'') or isnull(d.uid_locality,'') <> isnull(h.uid_locality,'') or isnull(d.uid_ProfitCenter,'') <> isnull(h.uid_ProfitCenter,'') or isnull(d.IsNoInherite\r\n,0) <> isnull(h.IsNoInherite,0)  or  sign(d.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay) <> sign(h.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay\r\n) ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AllForOneHardware', @DBQueueElements_04 exec QBM_PDBQueueInsert_Bulk 'QER-K-HelperHardwareOrg', @DBQueueElements_04\r\n end   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUHardwareInBaseTree",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "HardwareInBaseTree",
      "CreateDate": "2025-06-27T18:01:07.987",
      "ModifyDate": "2026-04-14T23:23:08.337",
      "Definition": "create   trigger QER_TUHardwareInBaseTree on HardwareInBaseTree  for update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from\r\n deleted) goto start if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('')  if update(XOrigin) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid,\r\n null, @GenProcID from ( select distinct d.uid_Hardware as uid from deleted d join HardwareInBaseTree a on d.XObjectKey = a.XObjectKey where dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, a.XOrigin, 1, 1) = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AllForOneHardware', @DBQueueElements_01 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUHardwareType",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "HardwareType",
      "CreateDate": "2025-06-27T18:01:07.997",
      "ModifyDate": "2026-04-14T23:23:08.34",
      "Definition": "create   trigger QER_TUHardwareType on HardwareType  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted)\r\n goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('')   declare @zeilen int declare @errno int declare @errmsg nvarchar(255)  if exists(select top 1 1 from HardwareType i join deleted d on i.uid_HardwareType\r\n = d.uid_HardwareType and isnull(i.uid_HardwareTypeAlternate,'') <> isnull(d.uid_HardwareTypeAlternate,'') join HardwareType p on i.UID_HardwareTypeAlternate\r\n = p.UID_HardwareType and p.isInactive = 1 ) begin  raiserror( '#LDS#Assignment cannot take place, because the device type is disabled.|', 18, 2) with \r\nnowait end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUHelperHeadOrg",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "HelperHeadOrg",
      "CreateDate": "2025-06-27T18:01:08.06",
      "ModifyDate": "2026-04-14T23:23:08.35",
      "Definition": "create   trigger QER_TUHelperHeadOrg on HelperHeadOrg  for update not for Replication as begin  declare @GenProcID varchar(38) declare @GenProcIDToUse\r\n varchar(38) declare @CfgUseGenProcID bit = dbo.QBM_FCVStringToBit(dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\UseGenProcIDFromPWO')) declare @SQLcmd\r\n nvarchar(1000) declare @uid_personwantsorg varchar(38) declare @BasisObjectKey varchar(138) declare @UID_PWOStateFinalError varchar(38) declare @Parameter\r\n nvarchar(1000) declare @DebugSwitch int = 0 declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @DebugLevel\r\n char(1) = 'W' declare @ChangedPersonHead QBM_YSingleGUID  BEGIN TRY if exists (select top 1 1 from deleted) goto start if exists (select top 1 1 from \r\ninserted) goto start return start: select @GenProcID = dbo.QBM_FGISessionContext('') if @DebugSwitch > 0 begin exec QBM_PJournal 'Update trigger HelperheadOrg'\r\n, @@procid, 'D', @DebugLevel end if update(XOrigin) begin if @DebugSwitch > 0 begin exec QBM_PJournal 'In der XOrigin-Klausel', @@procid, 'D', @DebugLevel\r\n end insert into @ChangedPersonHead (UID_SingleGuid) select distinct d.UID_PersonHead as uid from HelperHeadOrg a join deleted d on a.XObjectKey = d.XObjectKey\r\n where dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, 1, 1) = 1 if @@ROWCOUNT > 0  begin if @DebugSwitch > 0 begin exec QBM_PJournal 'In der Exists-Klausel'\r\n, @@procid, 'D', @DebugLevel end declare @RecalcParameter_01 QBM_YCursorBuffer  insert into @RecalcParameter_01 (UID1, ObjectKey1, Ident1) select y.DecisionRule\r\n, x.XObjectKey, 'I' from (select e.XObjectKey from HelperHeadOrg a join deleted d on a.XObjectKey = d.XObjectKey join Basetree e on d.UID_Org = e.UID_Org\r\n and e.UID_OrgRoot = 'QER-V-Department' where dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, 1, 1) = 1 ) as x join (select 'QER-PWODecisionRule-D0'\r\n as DecisionRule union select 'QER-PWODecisionRule-D1' union select 'QER-PWODecisionRule-D2' union select 'QER-PWODecisionRule-DM' union select 'QER-PWODecisionRule-DP'\r\n ) as y on 1 = 1 exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID declare @RecalcParameter_02 QBM_YCursorBuffer insert into @RecalcParameter_02\r\n (UID1, ObjectKey1, Ident1) select y.DecisionRule, x.XObjectKey, 'I' from (select e.XObjectKey from HelperHeadOrg a join deleted d on a.XObjectKey = d.XObjectKey\r\n join Basetree e on d.UID_Org = e.UID_Org and e.UID_OrgRoot = 'QER-V-ITShopOrg' where dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, 1, 1) = 1 \r\n) as x join (select 'QER-PWODecisionRule-H0' as DecisionRule union select 'QER-PWODecisionRule-H1' union select 'QER-PWODecisionRule-H2' ) as y on 1 = \r\n1 exec QER_PITShopHelperFill_Recalc @RecalcParameter_02, @GenprocID declare @RecalcParameter_03 QBM_YCursorBuffer insert into @RecalcParameter_03 (UID1\r\n, ObjectKey1, Ident1) select y.DecisionRule, x.XObjectKey, 'I' from (select a.XObjectKey from HelperHeadOrg a join deleted d on a.XObjectKey = d.XObjectKey\r\n where dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, 1, 1) = 1 ) as x join (select 'QER-PWODecisionRule-MS' as DecisionRule ) as y on 1 = 1 exec\r\n QER_PITShopHelperFill_Recalc @RecalcParameter_03, @GenprocID declare @RecalcParameter_04 QBM_YCursorBuffer insert into @RecalcParameter_04 (UID1, ObjectKey1\r\n, Ident1) select y.DecisionRule, x.XObjectKey, 'I' from (select e.XObjectKey from HelperHeadOrg a join deleted d on a.XObjectKey = d.XObjectKey join Basetree\r\n e on d.UID_Org = e.UID_Org where dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, 1, 1) = 1 ) as x join (select 'QER-PWODecisionRule-OM' as DecisionRule\r\n ) as y on 1 = 1 exec QER_PITShopHelperFill_Recalc @RecalcParameter_04, @GenprocID declare @RecalcParameter_05 QBM_YCursorBuffer insert into @RecalcParameter_05\r\n (UID1, ObjectKey1, Ident1) select y.DecisionRule, x.XObjectKey, 'I' from (select e.XObjectKey from HelperHeadOrg a join deleted d on a.XObjectKey = d.XObjectKey\r\n join Basetree e on d.UID_Org = e.UID_Org and e.UID_OrgRoot = 'QER-V-ProfitCenter' where dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, 1, 1) =\r\n 1 ) as x join (select 'QER-PWODecisionRule-P0' as DecisionRule union select 'QER-PWODecisionRule-P1' union select 'QER-PWODecisionRule-P2' union select\r\n 'QER-PWODecisionRule-PM' union select 'QER-PWODecisionRule-PP' ) as y on 1 = 1 exec QER_PITShopHelperFill_Recalc @RecalcParameter_05, @GenprocID exec \r\nQBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate', 'QER-K-ShoppingRackPWODecisionMaker', '', @GenProcID  end   insert into @ElementBuffer(UID1, ObjectKey1\r\n, UID2) select pwo.uid_personwantsorg, pwo.XObjectKey, dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, @GenProcID, @CfgUseGenProcID) as GenProcID from HelperHeadOrg\r\n a join deleted y on a.XObjectKey = y.XObjectKey join Delegation d on d.ObjectKeyDelegated = y.XObjectKey join personwantsorg pwo on d.uid_personwantsorg\r\n = pwo.uid_personwantsorg    where dbo.QBM_FGIXOriginChanged_Effect(y.XOrigin, a.XOrigin, 1, 1) = 1 and pwo.OrderState in ('Assigned', 'Granted', 'New'\r\n, 'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting') select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount\r\n begin select top 1 @uid_personwantsorg = bu.UID1 , @BasisObjectKey = bu.ObjectKey1 , @GenProcIDToUse = bu.UID2 from @ElementBuffer bu where bu.ElementIndex\r\n = @ElementIndex select @SQLcmd = N'uid_personwantsorg = ''' + rtrim(@uid_personwantsorg) + N'''' select @UID_PWOStateFinalError = dbo.QER_FGIPWOStateFinalError\r\n(@UID_PersonWantsOrg) exec QBM_PJobCreate_HOCallMethod @objecttype = 'personwantsorg' , @whereclause = @SQLcmd , @save = 1 , @MethodName = 'Abort' , @GenProcID\r\n = @GenProcIDToUse , @ObjectKeysAffected = DEFAULT , @param1 = '#LDS#Closing delegation because its source was deleted.|' , @param2 = @UID_PWOStateFinalError\r\n , @Retries = 3 , @isToFreezeOnError = 1 , @BasisObjectKey = @BasisObjectKey , @checkForExisting = 1  , @WhereClauseAdditional = ' OrderState in (''Assigned'', ''Granted'', ''New'', ''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'', ''Waiting'')'\r\n  select @ElementIndex += 1 end    delete Delegation from deleted d join HelperHeadOrg i on i.XObjectKey = d.XObjectKey join Delegation dl on d.XObjectKey\r\n = dl.ObjectKeyDelegated where i.XOrigin = 0 and d.XOrigin > 0  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT\r\n END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUHelperHeadPerson",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "HelperHeadPerson",
      "CreateDate": "2025-06-27T18:01:08.09",
      "ModifyDate": "2026-04-14T23:23:08.353",
      "Definition": "create   trigger QER_TUHelperHeadPerson on HelperHeadPerson  for update not for Replication as begin  declare @GenProcID varchar(38) declare @GenProcIDToUse\r\n varchar(38) declare @CfgUseGenProcID bit = dbo.QBM_FCVStringToBit(dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\UseGenProcIDFromPWO')) declare @SQLcmd\r\n nvarchar(1000) declare @uid_personwantsorg varchar(38) declare @BasisObjectKey varchar(138) declare @UID_PWOStateFinalError nvarchar(64) declare @ElementBuffer\r\n QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @ChangedPersonHead QBM_YSingleGUID BEGIN TRY if exists (select top 1 1 from\r\n deleted) goto start return start: select @GenProcID = dbo.QBM_FGISessionContext('') if update(XOrigin) begin insert into @ChangedPersonHead (UID_SingleGuid\r\n) select distinct d.UID_PersonHead as uid from HelperHeadPerson a join deleted d on a.XObjectKey = d.XObjectKey where dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin\r\n, a.XOrigin, 1, 1) = 1 if @@ROWCOUNT > 0  begin declare @RecalcParameter QBM_YCursorBuffer insert into @RecalcParameter (UID1, ObjectKey1, Ident1) select\r\n 'QER-PWODecisionRule-CM', e.XObjectKey, 'I' from (select d.UID_Person from HelperHeadPerson a join deleted d on a.XObjectKey = d.XObjectKey where dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, a.XOrigin, 1, 1) = 1 ) x join Person e on x.UID_Person = e.UID_Person exec QER_PITShopHelperFill_Recalc @RecalcParameter, @GenprocID end   \r\ninsert into @ElementBuffer(UID1, ObjectKey1, UID2) select pwo.uid_personwantsorg, pwo.XObjectKey, dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, @GenProcID,\r\n @CfgUseGenProcID) as GenProcID from HelperHeadPerson a join deleted y on a.XObjectKey = y.XObjectKey join Delegation d on d.ObjectKeyDelegated = y.XObjectKey\r\n join personwantsorg pwo on d.uid_personwantsorg = pwo.uid_personwantsorg    where dbo.QBM_FGIXOriginChanged_Effect(y.XOrigin, a.XOrigin, 1, 1) = 1 and\r\n pwo.OrderState in ('Assigned', 'Granted', 'New', 'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting') select @ElementCount = @@ROWCOUNT select\r\n @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @uid_personwantsorg = bu.UID1 , @BasisObjectKey = bu.ObjectKey1 ,@GenProcIDToUse\r\n = bu.UID2 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex select @SQLcmd = N'uid_personwantsorg = ''' + rtrim(@uid_personwantsorg) + N''''\r\n select @UID_PWOStateFinalError = dbo.QER_FGIPWOStateFinalError(@UID_PersonWantsOrg) exec QBM_PJobCreate_HOCallMethod @objecttype = 'personwantsorg' , \r\n@whereclause = @SQLcmd , @save = 1 , @MethodName = 'Abort' , @GenProcID = @GenProcIDToUse , @ObjectKeysAffected = DEFAULT , @param1 = '#LDS#Closing delegation because its source was deleted.|'\r\n , @param2 = @UID_PWOStateFinalError , @Retries = 3 , @isToFreezeOnError = 1 , @BasisObjectKey = @BasisObjectKey , @checkForExisting = 1  , @WhereClauseAdditional\r\n = ' OrderState in (''Assigned'', ''Granted'', ''New'', ''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'', ''Waiting'')'  select @ElementIndex\r\n += 1 end     delete Delegation from deleted d join HelperHeadPerson i on i.XObjectKey = d.XObjectKey join Delegation dl on d.XObjectKey = dl.ObjectKeyDelegated\r\n where i.XOrigin = 0 and d.XOrigin > 0  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return\r\n end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUOrgRoot",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "OrgRoot",
      "CreateDate": "2025-06-27T18:01:08.12",
      "ModifyDate": "2026-04-14T23:23:08.42",
      "Definition": "create   trigger QER_TUOrgRoot on OrgRoot  for UPDATE not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted) goto start\r\n if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if exists\r\n (select top 1 1 from OrgRoot r join deleted d on r.UID_OrgRoot = d.UID_OrgRoot where d.IsTopDown <> r.IsTopDown and d.UID_OrgRoot like '___-V-%' ) begin\r\n raiserror( '#LDS#Direction of inheritance cannot be changed, because it''s a default role.|', 18, 2) with nowait end  if update (IsPersonAssignOnce) begin\r\n if exists (select top 1 1 from OrgRoot r join deleted d on r.UID_OrgRoot = d.UID_OrgRoot where r.IsPersonAssignOnce = 1 and d.UID_OrgRoot like '___-V-%'\r\n ) begin raiserror( '#LDS#IsPersonAssignOnce cannot be set, because it''s a default role.|', 18, 2) with nowait end end if update (IsPersonAssignOnce) \r\nbegin if exists (select top 1 1 from OrgRoot r join deleted d on r.UID_OrgRoot = d.UID_OrgRoot where r.IsPersonAssignOnce = 1 and exists (select top 1 \r\n1 from PersonInBaseTree pib join BaseTree b on pib.UID_Org = b.UID_Org and b.UID_OrgRoot = r.UID_OrgRoot group by pib.UID_Person having count(*) > 1 ) \r\n) begin raiserror( '#LDS#IsPersonAssignOnce cannot be set, because at least one person is assigned more than once.|', 18, 2) with nowait end end  declare\r\n @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select r.UID_OrgRoot\r\n as uid from OrgRoot r join deleted d on r.UID_OrgRoot = d.UID_OrgRoot where d.IsTopDown <> r.IsTopDown and d.UID_OrgRoot not like '___-V-%' ) as x exec\r\n QBM_PDBQueueInsert_bulk 'QER-K-OrgROOT', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END\r\n CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUOrgRootAssign",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "OrgRootAssign",
      "CreateDate": "2025-06-27T18:01:08.14",
      "ModifyDate": "2026-04-14T23:23:08.42",
      "Definition": " create   trigger QER_TUOrgRootAssign on OrgRootAssign for update not for Replication as begin declare @uid_orgroot varchar(38) declare @uid_BaseTreeAssign\r\n varchar(38) declare @TableNameMN varchar(30) declare @CountItems int declare @SQLcmd nvarchar(max) declare @UID_DialogTableElement varchar(38) declare\r\n @StringPatternDirect varchar(16) declare @ElementLast int declare @ElementBufferMulti QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex\r\n int BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID \r\nvarchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') select @StringPatternDirect = dbo.QBM_FCVBinaryToString( CONVERT(varbinary, dbo.QBM_FGIBitPatternXOrigin\r\n('|Direct|',0)), 0) if update(IsAssignmentAllowed) or update(IsDirectAssignmentAllowed) begin if exists (select top 1 1 from OrgRootAssign r join deleted\r\n d on d.XObjectKey = r.XObjectKey join ( select 'QER-V-ITShopOrg' as uid_Orgroot, 'QER-T-Hardware' as UID_BaseTreeAssign union all select 'QER-V-ITShopOrg'\r\n, 'QER-T-WorkDesk' union all select 'QER-V-ITShopOrg', 'QER-T-Person' union all select 'QER-V-ITShopSrc', 'QER-T-Hardware' union all select 'QER-V-ITShopSrc'\r\n, 'QER-T-WorkDesk' union all select 'QER-V-ITShopSrc', 'QER-T-Person' union all select 'CPL-V-NonCompliance', '%' union all select 'QER-V-AERole', 'QER-T-Hardware'\r\n union all select 'QER-V-AERole', 'QER-T-WorkDesk' union all select 'QER-V-AERole', 'QER-T-Person' ) as x on r.UID_OrgRoot = x.uid_Orgroot and r.UID_BaseTreeAssign\r\n like x.UID_BaseTreeAssign where (r.IsAssignmentAllowed <> d.IsAssignmentAllowed or r.IsDirectAssignmentAllowed <> d.IsDirectAssignmentAllowed ) ) begin\r\n raiserror( '#LDS#Changes cannot be made, otherwise the default assignment possibilities are violated.|', 18, 1) with nowait end end   if update(IsAssignmentAllowed\r\n) begin delete  @ElementBufferMulti insert into @ElementBufferMulti(UID1, UID2, Ident1, UID3) select r.uid_Orgroot, r.UID_BaseTreeAssign, t.TableName as\r\n TableNameMN  , a.UID_DialogTableElement from OrgRootAssign r join deleted d on d.XObjectKey = r.XObjectKey join BaseTreeAssign a on a.UID_BaseTreeAssign\r\n = r.UID_BaseTreeAssign join DialogTable t with (readpast) on a.UID_DialogTableMN = t.UID_DialogTable where convert(int, d.IsAssignmentAllowed) & (convert\r\n(int, d.IsAssignmentAllowed) ^ convert(int, r.IsAssignmentAllowed)) > 0 select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount\r\n +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @uid_OrgRoot = bu.UID1 , @uid_BaseTreeAssign = bu.UID2 , @TableNameMN\r\n = bu.Ident1 , @UID_DialogTableElement = bu.UID3 from @ElementBufferMulti bu where bu.ElementIndex = @ElementIndex select @SQLcmd = 'select 1 \r\n\t\t\t\t\t\t\t\t\twhere exists (select top 1 1 \r\n\t\t\t\t\t\t\t\t\t\t\t\t\tfrom BaseTree b join '\r\n + @TableNameMN + ' pio on b.uid_org = pio.uid_org\r\n\t\t\t\t\t\t\t\t\t\t\t\t\twhere b.uid_OrgRoot = ''' + @uid_OrgRoot + '''\r\n\t\t\t\t\t\t\t\t\t\t\t\t)' exec @CountItems = QBM_PExecuteSQLWithRetry_LLP\r\n @SQLStatement = @SQLcmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@procid , @HandleErrorSilent = 0 if @CountItems\r\n > 0 begin raiserror( '#LDS#Changes cannot be made because there are assignments for the membership.|', 18, 1) with nowait end if exists (select top 1 \r\n1 from DynamicGroup dg join BaseTree b on dg.ObjectKeyBaseTree = b.XObjectKey where dg.UID_DialogTableObjectClass = @UID_DialogTableElement and b.UID_OrgRoot\r\n = @uid_OrgRoot ) begin  raiserror( '#LDS#Changes can not be made because the affected roles are used in dynamic groups.|', 18, 1) with nowait end select\r\n @ElementIndex += 1 end  end  if update(IsDirectAssignmentAllowed) begin delete  @ElementBufferMulti insert into @ElementBufferMulti(UID1, UID2, Ident1\r\n, UID3) select r.uid_Orgroot, r.UID_BaseTreeAssign, t.TableName as TableNameMN  , a.UID_DialogTableElement from OrgRootAssign r join deleted d on d.XObjectKey\r\n = r.XObjectKey join BaseTreeAssign a on a.UID_BaseTreeAssign = r.UID_BaseTreeAssign join DialogTable t with (readpast) on a.UID_DialogTableMN = t.UID_DialogTable\r\n where convert(int, d.IsDirectAssignmentAllowed) & (convert(int, d.IsDirectAssignmentAllowed) ^ convert(int, r.IsDirectAssignmentAllowed)) > 0 select @ElementCount\r\n = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top\r\n 1 @uid_OrgRoot = bu.UID1 , @uid_BaseTreeAssign = bu.UID2 , @TableNameMN = bu.Ident1 , @UID_DialogTableElement = bu.UID3 from @ElementBufferMulti bu where\r\n bu.ElementIndex = @ElementIndex select @SQLcmd = concat('select 1 \r\n\t\t\t\t\t\t\t\t\twhere exists (select top 1 1 \r\n\t\t\t\t\t\t\t\t\t\t\t\t\tfrom BaseTree b join ' , @TableNameMN\r\n , ' pio on b.uid_org = pio.uid_org\r\n\t\t\t\t\t\t\t\t\t\t\t\t\twhere b.uid_OrgRoot = ''' , @uid_OrgRoot , '''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t', case when dbo.QBM_FGIColumnExists(@TableNameMN\r\n, 'XOrigin' ) = 1 then concat(' and pio.XOrigin & ' , @StringPatternDirect , ' > 0') else '' end , '\r\n\t\t\t\t\t\t\t\t\t\t\t\t)' )  exec @CountItems = QBM_PExecuteSQLWithRetry_LLP\r\n @SQLStatement = @SQLcmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@procid , @HandleErrorSilent = 0 if @CountItems\r\n > 0 begin raiserror( '#LDS#Changes cannot be made because there are direct assignments for the membership.|', 18, 1) with nowait end  select @ElementIndex\r\n += 1 end  end   if update(IsAssignmentAllowed) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select distinct pio.uid_person as uid from OrgRootAssign x join deleted d on x.XObjectKey = d.XObjectKey and (convert\r\n(int, d.IsAssignmentAllowed) ^ convert(int, x.IsAssignmentAllowed) ) & 1 > 0 join BaseTree b on b.uid_orgroot = x.uid_orgroot join personinBaseTree pio\r\n on b.uid_org = pio.uid_org and pio.XOrigin > 0 where b.IsNoInheriteToPerson = 0 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AllForOnePerson', @DBQueueElements_01\r\n declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select\r\n distinct pio.uid_WorkDesk as uid from OrgRootAssign x join deleted d on x.XObjectKey = d.XObjectKey and (convert(int, d.IsAssignmentAllowed) ^ convert\r\n(int, x.IsAssignmentAllowed) ) & 1 > 0 join BaseTree b on b.uid_orgroot = x.uid_orgroot join WorkDeskinBaseTree pio on b.uid_org = pio.uid_org and pio.XOrigin\r\n > 0 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AllForOneWorkdesk', @DBQueueElements_02 declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct pio.uid_Hardware as uid from OrgRootAssign x join deleted d on x.XObjectKey\r\n = d.XObjectKey and (convert(int, d.IsAssignmentAllowed) ^ convert(int, x.IsAssignmentAllowed) ) & 1 > 0 join BaseTree b on b.uid_orgroot = x.uid_orgroot\r\n join HardwareinBaseTree pio on b.uid_org = pio.uid_org and pio.XOrigin > 0 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AllForOneHardware', @DBQueueElements_03\r\n end   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUOrgType",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "OrgType",
      "CreateDate": "2025-06-27T18:01:08.15",
      "ModifyDate": "2026-04-14T23:23:08.423",
      "Definition": "    create   trigger QER_TUOrgType on OrgType  for UPDATE not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted) goto \r\nstart if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n  if update (IsPersonAssignOnce) begin if exists (select top 1 1 from OrgType t join deleted d on t.UID_OrgType = d.UID_OrgType where t.IsPersonAssignOnce\r\n = 1 and exists (select top 1 1 from PersonInBaseTree pib join BaseTree b on pib.UID_Org = b.UID_Org join OrgRoot r on b.UID_OrgRoot = r.UID_OrgRoot and\r\n r.UID_OrgType = t.UID_OrgType group by pib.UID_Person having count(*) > 1 ) ) begin raiserror( '#LDS#IsPersonAssignOnce cannot be set, because at least one person is assigned to a role class in this role type more than once.|'\r\n, 18, 2) with nowait end end if update (IsPersonAssignOnce) begin if exists (select top 1 1 from OrgType t join deleted d on t.UID_OrgType = d.UID_OrgType\r\n where t.IsPersonAssignOnce = 1 and exists (select top 1 1 from PersonInBaseTree pib join BaseTree b on pib.UID_Org = b.UID_Org where b.UID_OrgType = t.UID_OrgType\r\n group by pib.UID_Person having count(*) > 1 ) ) begin raiserror( '#LDS#IsPersonAssignOnce cannot be set, because at least one person is assigned to roles in this role type more than once.|'\r\n, 18, 2) with nowait end end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUPerson",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "Person",
      "CreateDate": "2025-06-27T18:01:08.22",
      "ModifyDate": "2026-04-14T23:23:08.43",
      "Definition": "create   trigger QER_TUPerson on Person  for Update not for Replication as begin  declare @Parameter nvarchar(1000) declare @Elements QBM_YParameterList\r\n declare @UID_Person varchar(38) declare @JournalMessage nvarchar(1000) declare @QBM_BitPatternXMarkedForDel_Delay int = dbo.QBM_FGIBitPatternXMarkedForDel\r\n('|Delay|', 0) declare @QBM_BitPatternXMarkedForDel_OutStanding int = dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|', 0) declare @PWOTaskToUse varchar\r\n(38) = dbo.QER_FGIPWOTaskToUse() declare @AbortWhereAddOn nvarchar(1000) = ' OrderState in (''Assigned'', ''Granted'', ''New'', ''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'', ''Waiting'')'\r\n declare @PWOToAbort QBM_YParameterList declare @DebugLevel varchar(1) = 'I' BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select\r\n top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(UID_PersonMasterIdentity\r\n) begin  if @PWOTaskToUse > ' ' begin  exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate', @PWOTaskToUse, '', @GenProcID end  if exists (select top\r\n 1 1 from inserted i where i.UID_PersonMasterIdentity > ' ' ) begin insert into @PWOToAbort(Parameter1) select x.XObjectKey from ( select pwo.XObjectKey\r\n from inserted p join QER_VPersonsAreMe me on p.UID_Person = me.UID_PersonOrigin join QERUniversalSubstitute su on su.UID_PersonSender = me.UID_PersonOrigin\r\n and su.UID_PersonReceiver = me.UID_PersonAlsoMe join PersonWantsOrg pwo on su.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg union select pwo.XObjectKey \r\nfrom inserted p join QER_VPersonsAreMe me on p.UID_Person = me.UID_PersonOrigin join QERUniversalSubstitute su on su.UID_PersonReceiver = me.UID_PersonOrigin\r\n and su.UID_PersonSender = me.UID_PersonAlsoMe join PersonWantsOrg pwo on su.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg union select pwo.XObjectKey from\r\n inserted p join QER_VPersonsAreMe me on p.UID_PersonMasterIdentity = me.UID_PersonOrigin join QERUniversalSubstitute su on su.UID_PersonSender = me.UID_PersonOrigin\r\n and su.UID_PersonReceiver = me.UID_PersonAlsoMe join PersonWantsOrg pwo on su.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg union select pwo.XObjectKey \r\nfrom inserted p join QER_VPersonsAreMe me on p.UID_PersonMasterIdentity = me.UID_PersonOrigin join QERUniversalSubstitute su on su.UID_PersonReceiver =\r\n me.UID_PersonOrigin and su.UID_PersonSender = me.UID_PersonAlsoMe join PersonWantsOrg pwo on su.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg ) as x if \r\n@@ROWCOUNT > 0 begin  exec QBM_PJobCreate_HOCallMethod_L 'PersonWantsOrg', @pwoToAbort, 1, 'Abort' , @GenProcID , @AdditionalObjectKeysAffected = DEFAULT\r\n , @param1 = '#LDS#Substitution no longer allowed because of definition of subidentities.|' , @Retries = 3 , @checkForExisting = 1 , @WhereClauseAdditional\r\n = @AbortWhereAddOn end end  declare @DBQueueElements_updateMasterIdentity QBM_YDBQueueRaw insert into @DBQueueElements_updateMasterIdentity (object, subobject\r\n, genprocid) select x.uid, null, @GenProcID from ( select UID_PersonMasterIdentity as uid from inserted where UID_PersonMasterIdentity > ' ' union select\r\n UID_PersonMasterIdentity as uid from deleted where UID_PersonMasterIdentity > ' ' union select p.UID_Person as uid from deleted d join Person p on d.UID_Person\r\n = p.UID_Person where isnull(d.UID_PersonMasterIdentity, '') <> isnull(p.UID_PersonMasterIdentity,'') ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-HelperHeadPerson'\r\n, @DBQueueElements_updateMasterIdentity end   if update(uid_personHead) begin                   declare @DBQueueElements_01 QBM_YDBQueueRaw insert into\r\n @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_personHead as uid from inserted where uid_personHead\r\n > ' ' union select uid_personHead as uid from deleted where uid_personHead > ' '  union select us.UID_PersonReceiver as uid from inserted i join QERUniversalSubstitute\r\n us on i.UID_PersonHead = us.UID_PersonSender where i.UID_PersonHead > ' ' and us.IsCurrentlyActive = 1 and us.UseForHeadPerson = 1 union select us.UID_PersonReceiver\r\n as uid from deleted d join QERUniversalSubstitute us on d.UID_PersonHead = us.UID_PersonSender where d.UID_PersonHead > ' ' and us.IsCurrentlyActive =\r\n 1 and us.UseForHeadPerson = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-HelperHeadPerson', @DBQueueElements_01 end           if update(UID_PersonMasterIdentity\r\n) begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from \r\n( select UID_PersonMasterIdentity as uid from inserted where UID_PersonMasterIdentity > ' ' union select UID_PersonMasterIdentity as uid from deleted where\r\n UID_PersonMasterIdentity > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-PersonHasObject', @DBQueueElements_02 end                  if update(IsInActive\r\n) or update(IsExternal) or update(UID_PersonMasterIdentity) begin declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, \r\nsubobject, genprocid) select x.uid, y.UID_DynamicGroup, @GenProcID from ( select p.uid_person as uid from deleted d join Person p on d.UID_Person = p.UID_Person\r\n where ( isnull(d.IsInActive, 0) <> isnull(p.IsInActive, 0) or isnull(d.IsExternal, 0) <> isnull(p.IsExternal, 0) or isnull(d.UID_PersonMasterIdentity,\r\n '') <> isnull(p.UID_PersonMasterIdentity, '') ) ) as x , (select g.UID_DynamicGroup from DynamicGroup g where dbo.QBM_FCVGUIDToModuleOwner(g.UID_DynamicGroup\r\n ) <> 'CCC' and g.UID_DialogTableObjectClass = 'QER-T-Person' ) as y exec QBM_PDBQueueInsert_Bulk 'QER-K-DynamicGroupSingleBasic', @DBQueueElements_03 \r\nend  if dbo.QBM_FGIColumnUpdatedOthers ('Person', 'XTouched', columns_updated()) = 1 and (dbo.QBM_FGIColumnUpdatedOthers ('Person', 'XMarkedForDeletion'\r\n, columns_updated()) = 1 or exists ( select top 1 1 from deleted i join person p on i.uid_person = p.uid_person  where  sign(i.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay\r\n) <> sign(p.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay) ) ) begin   declare @maxAnzahl int select @maxAnzahl = 100 if 100 < (select count(*\r\n) from inserted) + (select count(*) from deleted) begin select top 1 @maxAnzahl = ( (Count(*)) /10 + 1) from person end else begin select @maxAnzahl = \r\n1073741824  end end if update(IsInActive) or update(IsTemporaryDeactivated) or update(XMarkedForDeletion) or update(IsSecurityIncident) or update(IsNoInherite\r\n) begin declare @DBQueueElements_05 QBM_YDBQueueRaw insert into @DBQueueElements_05 (object, subobject, genprocid) select x.uid, null, @GenProcID from \r\n( select p.uid_person as uid from person p join deleted d on p.uid_person = d.uid_person where (   isnull(p.IsInActive,0) <> isnull(d.IsInActive,0) or \r\nisnull(p.IsTemporaryDeactivated,0) <> isnull(d.IsTemporaryDeactivated,0) or isnull(p.IsSecurityIncident,0) <> isnull(d.IsSecurityIncident,0) or isnull(p.IsNoInherite\r\n,0) <> isnull(d.IsNoInherite,0)  or  sign(p.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay) <> sign(d.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay\r\n) ) ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AllForOnePerson', @DBQueueElements_05 end if update(XMarkedForDeletion) begin declare @DBQueueElements_06\r\n QBM_YDBQueueRaw insert into @DBQueueElements_06 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select p.uid_person as uid from person\r\n p join deleted d on p.uid_person = d.uid_person where p.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_OutStanding = 0 and d.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_OutStanding\r\n > 0 union  select us.UID_PersonReceiver as uid from Person p join deleted d on p.UID_Person = d.UID_Person join QERUniversalSubstitute us on p.UID_Person\r\n = us.UID_PersonSender where p.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_OutStanding = 0 and d.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_OutStanding\r\n > 0 and us.IsCurrentlyActive = 1 and (us.UseForHeadPerson = 1 or us.UseForHeadOrg = 1 ) ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AllForOnePerson', @DBQueueElements_06\r\n exec QBM_PDBQueueInsert_Bulk 'QER-K-HelperHeadPerson', @DBQueueElements_06 exec QBM_PDBQueueInsert_Bulk 'QER-K-HelperPersonOrg', @DBQueueElements_06 exec\r\n QBM_PDBQueueInsert_Bulk 'QER-K-HelperHeadOrg', @DBQueueElements_06 end  if update(uid_department) or update(uid_ProfitCenter) or update(uid_locality) \r\nbegin declare @DBQueueElements_07 QBM_YDBQueueRaw insert into @DBQueueElements_07 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( \r\nselect p.uid_person as uid from person p join deleted d on p.uid_person = d.uid_person where (isnull(p.uid_department,'') <> isnull(d.uid_department,''\r\n) or isnull(p.uid_ProfitCenter,'') <> isnull(d.uid_ProfitCenter,'') or isnull(p.uid_locality,'') <> isnull(d.uid_locality,'') ) ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-HelperPersonOrg', @DBQueueElements_07 end  if update(Passcode) begin delete  @Elements insert into @Elements (Parameter1, ContentFull) select d.UID_Person\r\n, isnull(p.InternalName, '<no InternalName>') from deleted d join Person p on d.UID_Person = p.UID_Person where d.Passcode is null and p.Passcode > ' '\r\n while exists (select top 1 1 from @Elements) begin select top 1 @UID_Person = e.Parameter1 , @JournalMessage = concat('#LDS#Passcode issued for identity: {0}, UID: {1}.|'\r\n , e.ContentFull , '|' , e.Parameter1 , '|' ) from @Elements e exec QBM_PJournal @JournalMessage, @@ProcID, 'I', @DebugLevel delete  @elements where Parameter1\r\n = @UID_Person end  end  pwotest:   if update(uid_department) begin declare @RecalcParameter_01 QBM_YCursorBuffer  insert into @RecalcParameter_01 (UID1\r\n, ObjectKey1, Ident1) select 'QER-PWODecisionRule-DM', i.XobjectKey, 'I' from inserted i union all select 'QER-PWODecisionRule-ID', i.XobjectKey, 'I' from\r\n inserted i union all select 'QER-PWODecisionRule-RD', i.XobjectKey, 'I' from inserted i exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID\r\n end  if update(uid_ProfitCenter) begin declare @RecalcParameter_02 QBM_YCursorBuffer  insert into @RecalcParameter_02 (UID1, ObjectKey1, Ident1) select\r\n 'QER-PWODecisionRule-IP', i.XobjectKey, 'I' from inserted i union all select 'QER-PWODecisionRule-PM', i.XobjectKey, 'I' from inserted i union all select\r\n 'QER-PWODecisionRule-RP', i.XobjectKey, 'I' from inserted i exec QER_PITShopHelperFill_Recalc @RecalcParameter_02, @GenprocID end  if update(uid_Locality\r\n) begin declare @RecalcParameter_03 QBM_YCursorBuffer  insert into @RecalcParameter_03 (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-IL', i.XobjectKey\r\n, 'I' from inserted i union all select 'QER-PWODecisionRule-RL', i.XobjectKey, 'I' from inserted i exec QER_PITShopHelperFill_Recalc @RecalcParameter_03\r\n, @GenprocID end  if update(IsInActive) begin if dbo.QBM_FGIConfigparmValue('QER\\ITSHop\\AutoCloseInactivePerson') > ' ' begin insert into @Elements(Parameter1\r\n) select pio.XObjectKey from Person p join deleted d on p.UID_Person = d.UID_Person and p.IsInActive = 1 and d.IsInActive = 0 join PersonInBaseTree pio\r\n on pio.UID_Person = p.UID_Person join BaseTree b on pio.UID_Org = b.UID_Org left outer join DynamicGroup dg on b.XObjectKey = dg.ObjectKeyBaseTree where\r\n b.ITShopInfo = 'CU' and b.UID_OrgRoot = 'QER-V-ITShopOrg' and dg.UID_DynamicGroup is null exec QBM_PJobCreate_HODelete_L 'PersonInITShopOrg', @elements\r\n, @GenProcID , DEFAULT end  declare @DBQueueElements_08 QBM_YDBQueueRaw insert into @DBQueueElements_08 (object, subobject, genprocid) select x.uid, null\r\n, @GenProcID from ( select distinct ph.UID_PersonWantsOrg as uid from deleted d join Person p on d.UID_Person = p.UID_Person join PWOHelperPWO ph on ph.UID_PersonHead\r\n = p.UID_Person where d.IsInActive = 0 and p.IsInActive = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackPWOHelperPWO', @DBQueueElements_08  \r\nend  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUPersonHasESet",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PersonHasESet",
      "CreateDate": "2025-06-27T18:01:08.643",
      "ModifyDate": "2026-04-14T23:23:08.433",
      "Definition": "create   trigger QER_TUPersonHasESet on PersonHasESet  for Update not for Replication as begin  endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUPersonHasQERAssign",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PersonHasQERAssign",
      "CreateDate": "2025-06-27T18:01:08.257",
      "ModifyDate": "2026-04-14T23:23:08.437",
      "Definition": "create   trigger QER_TUPersonHasQERAssign on PersonHasQERAssign  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from\r\n inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if update(XOrigin) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, \r\nnull, @GenProcID from ( select distinct d.UID_Person as uid from deleted d join PersonHasQERAssign dd on d.XObjectKey = dd.XObjectKey where dbo.QBM_FGIXOriginChanged_Except2\r\n(d.XOrigin, dd.XOrigin) = 1  ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-PersonHasQERAssign', @DBQueueElements_01 end  if update(XIsInEffect) or update(XOrigin\r\n) begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from \r\n( select distinct a.UID_Person as uid from PersonHasQERAssign a join deleted d on a.XObjectKey = d.XObjectKey where dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin\r\n, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(a.XOrigin) ) as x exec \r\nQBM_PDBQueueInsert_Bulk 'QER-K-PersonHasObject', @DBQueueElements_02 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH\r\n NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUPersonHasQERResource",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PersonHasQERResource",
      "CreateDate": "2025-06-27T18:01:08.27",
      "ModifyDate": "2026-04-14T23:23:08.44",
      "Definition": "create   trigger QER_TUPersonHasQERResource on PersonHasQERResource  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 \r\n1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if update(XOrigin) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, \r\nnull, @GenProcID from ( select distinct d.UID_Person as uid from deleted d join PersonHasQERResource dd on d.XObjectKey = dd.XObjectKey where dbo.QBM_FGIXOriginChanged_Except2\r\n(d.XOrigin, dd.XOrigin) = 1  ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-PersonHasQERResource', @DBQueueElements_01 end  if update(XIsInEffect) or update\r\n(XOrigin) begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select distinct a.UID_Person as uid from PersonHasQERResource a join deleted d on a.XObjectKey = d.XObjectKey where dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(a.XOrigin) ) \r\nas x exec QBM_PDBQueueInsert_Bulk 'QER-K-PersonHasObject', @DBQueueElements_02 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (''\r\n, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUPersonHasQERReuse",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PersonHasQERReuse",
      "CreateDate": "2025-06-27T18:01:08.287",
      "ModifyDate": "2026-04-14T23:23:08.44",
      "Definition": "create   trigger QER_TUPersonHasQERReuse on PersonHasQERReuse  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from\r\n inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if update(XOrigin) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, \r\nnull, @GenProcID from ( select distinct d.UID_Person as uid from deleted d join PersonHasQERReuse dd on d.XObjectKey = dd.XObjectKey where dbo.QBM_FGIXOriginChanged_Except2\r\n(d.XOrigin, dd.XOrigin) = 1  ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-PersonHasQERReuse', @DBQueueElements_01 end  if update(XIsInEffect) or update(XOrigin\r\n) begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from \r\n( select distinct a.UID_Person as uid from PersonHasQERReuse a join deleted d on a.XObjectKey = d.XObjectKey where dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin\r\n, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(a.XOrigin) ) as x exec \r\nQBM_PDBQueueInsert_Bulk 'QER-K-PersonHasObject', @DBQueueElements_02 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH\r\n NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUPersonHasQERReuseUS",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PersonHasQERReuseUS",
      "CreateDate": "2025-06-27T18:01:08.303",
      "ModifyDate": "2026-04-14T23:23:08.443",
      "Definition": "create   trigger QER_TUPersonHasQERReuseUS on PersonHasQERReuseUS  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 \r\nfrom inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if update(XOrigin) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, \r\nnull, @GenProcID from ( select distinct d.UID_Person as uid from deleted d join PersonHasQERReuseUS dd on d.XObjectKey = dd.XObjectKey where dbo.QBM_FGIXOriginChanged_Except2\r\n(d.XOrigin, dd.XOrigin) = 1  ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-PersonHasQERReuseUS', @DBQueueElements_01 end  if update(XIsInEffect) or update\r\n(XOrigin) begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select distinct a.UID_Person as uid from PersonHasQERReuseUS a join deleted d on a.XObjectKey = d.XObjectKey where dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(a.XOrigin) ) \r\nas x exec QBM_PDBQueueInsert_Bulk 'QER-K-PersonHasObject', @DBQueueElements_02 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (''\r\n, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUPersonInBaseTree",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PersonInBaseTree",
      "CreateDate": "2025-06-27T18:01:08.327",
      "ModifyDate": "2026-04-14T23:23:08.45",
      "Definition": "create   trigger QER_TUPersonInBaseTree on PersonInBaseTree  for Update not for Replication as begin   declare @CfgUseGenProcID bit = dbo.QBM_FCVStringToBit\r\n(dbo.QBM_FGIConfigparmValue('Common\\ProcessState\\UseGenProcIDFromPWO')) declare @uid_personwantsorg varchar(38) declare @BasisObjectKey varchar(138) declare\r\n @GenProcIDToUse varchar(38) declare @SQLcmd nvarchar(1000) declare @UID_PWOStateFinalError nvarchar(64) declare @ElementBuffer QBM_YCursorBuffer declare\r\n @ElementCount int declare @ElementIndex int BEGIN TRY if exists (select top 1 1 from deleted) goto start if exists (select top 1 1 from inserted) goto\r\n start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  if update(XOrigin) begin  if exists (select top \r\n1 1 from deleted d join PersonInBaseTree i on i.XObjectKey = d.XObjectKey join Delegation dl on d.XObjectKey = dl.ObjectKeyDelegated where i.XOrigin = \r\n0 and d.XOrigin > 0 ) begin    insert into @ElementBuffer(UID1, ObjectKey1, UID2) select pwo.uid_personwantsorg, pwo.XObjectKey , dbo.QER_FGIGenProcIDForPWO\r\n(pwo.GenProcID, @GenProcID, @CfgUseGenProcID) as GenProcID from deleted d join PersonInBaseTree i on i.XObjectKey = d.XObjectKey join Delegation dl on \r\nd.XObjectKey = dl.ObjectKeyDelegated join PersonWantsOrg pwo on dl.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg   where  pwo.OrderState in ('Assigned', \r\n'Granted', 'New', 'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting') and i.XOrigin = 0 and d.XOrigin > 0 select @ElementCount = @@ROWCOUNT\r\n select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @uid_personwantsorg = bu.UID1 , @BasisObjectKey = bu.ObjectKey1 , @GenProcIDToUse\r\n = bu.UID2 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex select @SQLcmd = N'uid_personwantsorg = ''' + rtrim(@uid_personwantsorg) + N''''\r\n select @UID_PWOStateFinalError = dbo.QER_FGIPWOStateFinalError(@UID_PersonWantsOrg)  exec QBM_PJobCreate_HOCallMethod @objecttype = 'personwantsorg' ,\r\n @whereclause = @SQLcmd , @save = 1 , @MethodName = 'Abort' , @GenProcID = @GenProcIDToUse , @ObjectKeysAffected = default , @param1 = '#LDS#Closing delegation because its source was deleted.|'\r\n , @param2 = @UID_PWOStateFinalError , @Retries = 3 , @isToFreezeOnError = 1 , @BasisObjectKey = @BasisObjectKey , @checkForExisting = 1  , @WhereClauseAdditional\r\n = ' OrderState in (''Assigned'', ''Granted'', ''New'', ''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'', ''Waiting'')'  select @ElementIndex\r\n += 1 end   delete Delegation from deleted d join PersonInBaseTree i on i.XObjectKey = d.XObjectKey join Delegation dl on d.XObjectKey = dl.ObjectKeyDelegated\r\n where i.XOrigin = 0 and d.XOrigin > 0 end   declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid)\r\n select x.uid_parameter, x.uid_SubParameter, @GenProcID from ( select d.uid_person as uid_parameter, d.uid_org as uid_subparameter from deleted d join \r\nPersonInBaseTree a on d.XObjectKey = a.XObjectKey where dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, 1, 1) = 1 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-AllForPersonInBaseTree', @DBQueueElements_02 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUPersonWantsOrg",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PersonWantsOrg",
      "CreateDate": "2025-06-27T18:01:08.4",
      "ModifyDate": "2026-04-14T23:23:08.457",
      "Definition": "create   trigger QER_TUPersonWantsOrg on PersonWantsOrg  for UPDATE not for Replication as begin  declare @uid_Personwantsorg varchar(38) declare\r\n @isNewDecisionLevel bit declare @DecisionOnInsert int = 0 declare @IsOrderStarted bit declare @PWOBuffer QBM_YCursorBuffer declare @ElementCount int declare\r\n @ElementIndex int declare @ElementLast int declare @SQLCmd nvarchar(max) declare @CursorBuffer QBM_YCursorBuffer declare @BasisObjectKey varchar(138) \r\ndeclare @PWOsAreFinished QBM_YParameterList declare @CountPWOsAreFinished int declare @PWOsToResetGenProcID QBM_YParameterList declare @CountPWOsToResetGenProcID\r\n int declare @GenProcIDToUse varchar(38) declare @UID_PWOStateFinalError varchar(64) declare @CfgUseGenProcID bit = dbo.QBM_FCVStringToBit(dbo.QBM_FGIConfigparmValue\r\n('Common\\ProcessState\\UseGenProcIDFromPWO')) declare @PWOsToFillHelper QBM_YParameterlist      declare @PWOsToFillHasObject QBM_YParameterlist declare \r\n@PWOHelperPWOToDeleteImmediate QBM_YParameterList declare @PWOHelperPWOToDeleteLater QBM_YParameterList declare @DeleteWhereClause nvarchar(max) declare\r\n @newDecisionLevel int declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('') declare @PWOTaskToUse varchar(38) = dbo.QER_FGIPWOTaskToUse() declare\r\n @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists\r\n (select top 1 1 from deleted) goto start return start:  if update(UID_ITShopOrgFinal) and dbo.QBM_FGIColumnUpdatedOthers ('PersonWantsOrg', 'UID_ITShopOrgFinal'\r\n, columns_updated()) = 0 and not exists (select top 1 1 from inserted i where i.DecisionLevel > 0 ) begin  goto ende end if dbo.QBM_FGIConfigparmValue(\r\n'QER\\ITShop\\DecisionOnInsert') > ' ' begin select @DecisionOnInsert = 1 end if update(Orderstate) or update(UID_QERWorkingMethod) begin if exists (select\r\n top 1 1  from inserted i join PersonWantsOrg pwo on i.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg join QER_VPWOOrderState s on pwo.OrderState = s.OrderState\r\n where  sign(len(isnull(pwo.UID_QERWorkingMethod, ''))) ^ s.HasWorkingMethod = 1 ) begin raiserror('#LDS#Invalid combination of Orderstate and QERWorkingMethod.|'\r\n, 18, 1) with nowait end end if update(uid_Org) or update(UID_ITShopOrgFinal)  or update(OrderState) begin insert into @PWOsToFillHasObject(Parameter1,\r\n Parameter2) select pwo.UID_PersonWantsOrg , @GenProcID from personwantsorg pwo join deleted d on pwo.uid_personwantsorg = d.uid_personwantsorg   and pwo.OrderState\r\n in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe') where (isnull(pwo.uid_Org, '') <> isnull(d.UID_Org, '') or isnull(pwo.UID_ITShopOrgFinal, ''\r\n) <> isnull(d.UID_ITShopOrgFinal, '')  or ( isnull(pwo.OrderState, '') = 'OrderProlongate' and isnull(d.OrderState, '') <> 'OrderProlongate' )  ) end  \r\nif not update(UID_PersonWantsOrgParent) begin      if dbo.QBM_FGIColumnUpdatedOthers ('PersonWantsOrg', 'OrderState', columns_updated()) = 1 and dbo.QBM_FGIColumnUpdatedOthers\r\n ('PersonWantsOrg', 'DecisionLevel', columns_updated()) = 1 begin insert into @PWOsToFillHelper(Parameter1, Parameter2, Parameter3, HasContentFull) select\r\n pwo.uid_personwantsorg , @GenProcID  , '1' as CurrentLevelOnly  , case when isnull(d.DecisionLevel,0) <> isnull(pwo.DecisionLevel, 0) then 1 when d.OrderState\r\n not in ( 'OrderProlongate' , 'OrderUnsubscribe') and pwo.OrderState in ( 'OrderProlongate' , 'OrderUnsubscribe') then 1 else 0 end as isNewDecisionLevel\r\n from deleted d join personwantsorg pwo on d.uid_personwantsorg = pwo.uid_personwantsorg where datediff(ss, isnull(d.Xdateinserted, '1997-01-01') , getUTCDate\r\n()) < 10 end  end    if dbo.QBM_FGIColumnUpdatedOthers ('PersonWantsOrg', 'OrderState', columns_updated()) = 1 and dbo.QBM_FGIColumnUpdatedOthers ('PersonWantsOrg'\r\n, 'DecisionLevel', columns_updated()) = 1  and (update(UID_PersonHead) or update(ReasonHead) or update(DateHead) ) begin declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select pwo.uid_personwantsorg as uid from deleted \r\nd join personwantsorg pwo on d.uid_personwantsorg = pwo.uid_personwantsorg where (isnull(d.DateHead, '1899-12-30') <> isnull(pwo.DateHead, '1899-12-30'\r\n) or isnull(d.ReasonHead, N'') <> isnull(pwo.ReasonHead, N'') ) and ( isnull(d.UID_PersonHead, '') <> isnull(pwo.UID_PersonHead, '')   or exists (select\r\n top 1 1 from pwohelperpwo h where h.uid_personwantsorg = pwo.uid_personwantsorg and h.LevelNumber = pwo.decisionlevel  and (h.UID_PersonAdditional > ' '\r\n or h.UID_PersonInsteadOf > ' '  or h.Decision = '-' ) ) ) union select h.UID_PersonWantsOrg from deleted d join PersonWantsOrg pwo on d.uid_personwantsorg\r\n = pwo.uid_personwantsorg join PWOHelperPWO h on h.UID_PWORulerOrigin = pwo.UID_PersonWantsOrg    where d.OrderState in ('Assigned', 'Granted', 'New', \r\n'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting') and pwo.OrderState in ('Aborted', 'Dismissed', 'Unsubscribed' ) ) as x  exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-ShoppingRackPWOHelperPWO', @DBQueueElements_01 end  if update(UID_Department) or update(UID_ProfitCenter) begin if @PWOTaskToUse > ' ' begin declare\r\n @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select d.UID_PersonWantsOrg\r\n as uid from deleted d join PersonWantsOrg pwo on d.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg where isnull(d.UID_Department, '') <> isnull(pwo.UID_Department\r\n, '') or isnull(d.UID_ProfitCenter, '') <> isnull(pwo.UID_ProfitCenter, '') ) as x  exec QBM_PDBQueueInsert_Bulk @PWOTaskToUse, @DBQueueElements_02 end\r\n  end  if update(OrderState) begin  declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid\r\n, null, @GenProcID from (select pwo.UID_PersonWantsOrg as uid from deleted d join personwantsorg pwo on d.uid_personwantsorg = pwo.uid_Personwantsorg  \r\n  where d.OrderState in ('Assigned', 'OrderProlongate', 'OrderUnsubscribe' ) and pwo.OrderState in ('Aborted', 'Dismissed', 'Unsubscribed' ) ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackCheckWaiting', @DBQueueElements_03  declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from (select pwo.UID_PersonWantsOrg as uid from deleted d join personwantsorg pwo on d.uid_PersonWantsOrg\r\n = pwo.uid_PersonWantsOrg   join QER_VPWOPersonPropertyReset r on pwo.UID_PersonWantsOrg = r.UID_PersonWantsOrg where d.OrderState in ('Assigned', 'Granted'\r\n, 'New', 'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting') ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-ITShopRepairClosed', @DBQueueElements_04\r\n  insert into @PWOsAreFinished(Parameter1) select pwo.uid_personwantsorg from personwantsorg pwo join deleted d on pwo.uid_Personwantsorg = d.uid_personwantsorg\r\n    where pwo.OrderState in ('Aborted', 'Assigned', 'Dismissed', 'Granted', 'New', 'Unsubscribed', 'Waiting') and d.OrderState in ('OrderProduct', 'OrderProlongate'\r\n, 'OrderUnsubscribe') select @CountPWOsAreFinished = @@ROWCOUNT  declare @DBQueueElements_05 QBM_YDBQueueRaw insert into @DBQueueElements_05 (object, subobject\r\n, genprocid) select x.uid, null, @GenProcID from (select d.UID_PersonWantsOrg as uid from deleted d join PersonWantsOrg pwo on d.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg\r\n  left outer join @PWOsAreFinished fi on fi.Parameter1 = d.UID_PersonWantsOrg where isnull(d.OrderState, '') <> isnull(pwo.OrderState, '') and fi.Parameter1\r\n is null ) as x  exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackPWOHelperPWO', @DBQueueElements_05  insert into @PWOsToResetGenProcID(Parameter1) select\r\n pwo.uid_personwantsorg from personwantsorg pwo join deleted d on pwo.uid_Personwantsorg = d.uid_personwantsorg  where pwo.OrderState in ('Aborted', 'Assigned'\r\n, 'Dismissed', 'Unsubscribed') and d.OrderState in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe', 'Granted', 'New', 'Waiting') select @CountPWOsToResetGenProcID\r\n = @@ROWCOUNT if @CountPWOsAreFinished > 0 begin  insert into @PWOHelperPWOToDeleteLater(Parameter1) select  h.XObjectKey  from PWOHelperPWO h with (readpast\r\n) where uid_Personwantsorg in ( select Parameter1 from @PWOsAreFinished ) if @@ROWCOUNT > 0 begin exec QBM_PJobCreate_SQLDel_L 'PWOHelperPWO', @PWOHelperPWOToDeleteLater\r\n , @GenProcID = @GenProcID , @AdditionalObjectKeysAffected = default , @Retries = 5 , @isToFreezeOnError = 1 end  if exists (select top 1 1 from HelperPWOPersonHasObject\r\n h with (readpast) join @PWOsAreFinished f on h.UID_PersonWantsOrg = f.Parameter1 ) begin select @DeleteWhereClause = 'UID_PersonWantsOrg in ' + dbo.QBM_FCVParameter1AsOneInClause\r\n(@PWOsAreFinished) exec QBM_PJobCreate_SQLDel_B 'HelperPWOPersonHasObject' , @whereclause = @DeleteWhereClause , @GenProcID = @GenProcID , @AdditionalObjectKeysAffected\r\n = default , @isToFreezeOnError = 1 , @Retries = 5 end  if exists (select top 1 1 from HelperPWOCompliance h with (readpast) join @PWOsAreFinished f on\r\n h.UID_PersonWantsOrg = f.Parameter1 ) begin select @DeleteWhereClause = 'UID_PersonWantsOrg in ' + dbo.QBM_FCVParameter1AsOneInClause(@PWOsAreFinished\r\n) exec QBM_PJobCreate_SQLDel_B 'HelperPWOCompliance' , @whereclause = @DeleteWhereClause , @GenProcID = @GenProcID , @AdditionalObjectKeysAffected = default\r\n , @isToFreezeOnError = 1 , @Retries = 5 end  end  if @CountPWOsToResetGenProcID > 0 begin update PersonWantsOrg set GenProcID = null  , XDateUpdated =\r\n @Xdate , XUserUpdated = @XUser where uid_Personwantsorg in ( select Parameter1 from @PWOsToResetGenProcID ) end   end  if update(DecisionLevel) or update\r\n(OrderState)  or update(UID_PersonInserted) or update(UID_PersonOrdered) begin  delete  @PWOBuffer insert into @PWOBuffer(UID1 , Bit1 , int1 , Int2  ) \r\nselect pwo.uid_personwantsorg  , case  when isnull(d.DecisionLevel,0) <> isnull(pwo.DecisionLevel, 0) then 1  when d.OrderState not in ( 'OrderProlongate'\r\n , 'OrderUnsubscribe') and pwo.OrderState in ( 'OrderProlongate' , 'OrderUnsubscribe') then 1 else 0 end as isNewDecisionLevel  , pwo.DecisionLevel   ,\r\n case when d.OrderState not in ( 'OrderProlongate' , 'OrderUnsubscribe') and pwo.OrderState in ( 'OrderProlongate' , 'OrderUnsubscribe') then 1 else 0 \r\nend as IsOrderStarted  from deleted d join Personwantsorg pwo on d.uid_personwantsorg = pwo.uid_personwantsorg  left outer join @PWOsAreFinished fi on \r\nfi.Parameter1 = d.UID_PersonWantsOrg where d.DecisionLevel <> pwo.DecisionLevel and fi.Parameter1 is null   or pwo.OrderState in ('OrderProduct', 'OrderProlongate'\r\n, 'OrderUnsubscribe')  select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex\r\n <= @ElementLast begin select top 1 @uid_Personwantsorg = bu.UID1  , @isNewDecisionLevel = bu.bit1  , @newDecisionLevel = bu.int1  , @IsOrderStarted = \r\nsign(bu.Int2)  from @PWOBuffer bu where bu.ElementIndex = @ElementIndex if @isNewDecisionLevel = 1 begin   exec QER_PITShopOrderResetOneLevel @uid_personwantsorg\r\n, @newDecisionLevel, @GenProcID end select @ElementIndex += 1 end   insert into @PWOsToFillHelper(Parameter1, Parameter2, Parameter3, HasContentFull) select\r\n bu.UID1 as UID_PersonwantsOrg , @GenProcID  , '1' as CurrentLevelOnly , bu.bit1 as IsNewDecisionLevel from @PWOBuffer bu where (sign(bu.Int2)  = 1 and\r\n @DecisionOnInsert = 1 or sign(bu.Int2)  = 0 ) and not exists (select top 1 1 from @PWOsToFillHelper e where e.Parameter1 = bu.UID1 )  declare @DBQueueElements_06\r\n QBM_YDBQueueRaw insert into @DBQueueElements_06 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select i.UID_PersonWantsOrg as uid\r\n from inserted i  left outer join @PWOsAreFinished fi on fi.Parameter1 = i.UID_PersonWantsOrg where fi.Parameter1 is null ) as x  exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-ShoppingRackPWOHelperPWO', @DBQueueElements_06 exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackCheckDecision', @DBQueueElements_06  end  if update\r\n(OrderState) or update(DecisionLevel) begin  insert into @PWOHelperPWOToDeleteImmediate(Parameter1) select h.UID_PWOHelperPWO from PWOHelperPWO h with \r\n(readpast) join inserted i on i.uid_PersonWantsOrg = h.uid_PersonWantsOrg  left outer join @PWOsAreFinished fi on fi.Parameter1 = i.UID_PersonWantsOrg \r\nwhere UID_PWODecisionRule = 'QER-PWODecisionRule-QP' and fi.Parameter1 is null end if update(isReserved) begin   insert into @PWOHelperPWOToDeleteImmediate\r\n(Parameter1) select h.UID_PWOHelperPWO from PWOHelperPWO h with (readpast)  left outer join @PWOsAreFinished fi on fi.Parameter1 = h.UID_PersonWantsOrg\r\n where h.UID_PWODecisionRule = 'QER-PWODecisionRule-QP' and fi.Parameter1 is null and exists (select top 1 1 from deleted d join personwantsorg pwo on \r\nd.uid_PersonWantsOrg = pwo.uid_PersonWantsOrg and d.isreserved = 1 and pwo.isReserved = 0 where pwo.UID_PersonWantsOrg = h.UID_PersonWantsOrg ) end if \r\nexists (select top 1 1 from @PWOHelperPWOToDeleteImmediate ) begin delete PWOHelperPWO from PWOHelperPWO h where h.UID_PWOHelperPWO in (select d.Parameter1\r\n from @PWOHelperPWOToDeleteImmediate d ) end if exists (select top 1 1 from @PWOsToFillHelper h join @PWOsAreFinished fi on h.Parameter1 = fi.Parameter1\r\n ) begin delete @PWOsToFillHelper where Parameter1 in (select Parameter1 from @PWOsAreFinished) end  if exists (select top 1 1 from @PWOsToFillHelper )\r\n begin  if @DecisionOnInsert = 1 begin  declare @PWOsToFire QBM_YParameterList  insert into @PWOsToFire(Parameter1) select pwo.XObjectKey from @PWOsToFillHelper\r\n i join PersonWantsOrg pwo on i.Parameter1 = pwo.UID_PersonWantsOrg join deleted d on d.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg where pwo.OrderState\r\n in ('OrderProlongate', 'OrderUnsubscribe') and d.OrderState not in ('OrderProlongate', 'OrderUnsubscribe') exec QBM_PJobCreate_HOCallMethod_L @objecttype\r\n = 'PersonWantsOrg' , @XObjectKeys = @PWOsToFire  , @save = 1 , @MethodName = 'MakeDecisionOnInsertAsync' , @GenProcID = @GenProcID , @AdditionalObjectKeysAffected\r\n = default , @Retries = 3 , @isToFreezeOnError = 1 , @WhereClauseAdditional = 'DecisionLevel = 0 and OrderState in (''OrderProlongate'', ''OrderUnsubscribe'')'\r\n , @checkForExisting = 1  delete @PWOsToFillHelper from @PWOsToFillHelper i join PersonWantsOrg pwo on i.Parameter1 = pwo.UID_PersonWantsOrg join deleted\r\n d on d.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg where pwo.OrderState in ('OrderProlongate', 'OrderUnsubscribe') and d.OrderState not in ('OrderProlongate'\r\n, 'OrderUnsubscribe')  end  exec QER_PITShopHelperFill_bulk @PWOsToFillHelper end if exists (select top 1 1 from @PWOsToFillHasObject ) begin exec QER_PITShopPersonHasObjFill_b\r\n @PWOsToFillHasObject, @IsCalledFromTrigger = 0  end  if update(OrderState) or update(UID_PersonHead) or update(UID_PersonOrdered) or update(UID_PersonInserted\r\n) begin delete  @CursorBuffer insert into @CursorBuffer(UID1, ObjectKey1, UID2) select pwo.uid_personwantsorg, pwo.XObjectKey , dbo.QER_FGIGenProcIDForPWO\r\n(pwo.GenProcID, @GenProcID, @CfgUseGenProcID) as GenProcID from deleted d join PersonWantsOrg pwo on pwo.UID_PersonWantsOrg = d.UID_PersonWantsOrg     \r\n and pwo.OrderState in ('Assigned', 'Granted', 'New', 'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting') join Delegation de on pwo.UID_PersonWantsOrg\r\n = de.UID_PersonWantsOrg left outer join Person p1 on de.UID_PersonSender = p1.UID_Person left outer join Person p2 on de.UID_PersonReceiver = p2.UID_Person\r\n where p1.UID_Person is null or p2.UID_Person is null select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast\r\n = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @uid_personwantsorg = bu.UID1 , @BasisObjectKey = bu.ObjectKey1 ,@GenProcIDToUse =\r\n bu.UID2 from @CursorBuffer bu where bu.ElementIndex = @ElementIndex select @SQLcmd = N'uid_personwantsorg = ''' + rtrim(@uid_personwantsorg) + N'''' select\r\n @UID_PWOStateFinalError = dbo.QER_FGIPWOStateFinalError(@UID_PersonWantsOrg) exec QBM_PJobCreate_HOCallMethod @objecttype = 'personwantsorg' , @whereclause\r\n = @SQLcmd , @save = 1 , @MethodName = 'Abort' , @GenProcID = @GenProcIDToUse , @ObjectKeysAffected = default , @param1 = '#LDS#Closing delegation because its source was deleted.|'\r\n , @param2 = @UID_PWOStateFinalError , @Retries = 3 , @isToFreezeOnError = 1 , @BasisObjectKey = @BasisObjectKey , @checkForExisting = 1  , @WhereClauseAdditional\r\n = ' OrderState in (''Assigned'', ''Granted'', ''New'', ''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'', ''Waiting'')'  select @ElementIndex\r\n += 1 end   end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 1,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUPWODecisionMethod",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PWODecisionMethod",
      "CreateDate": "2025-06-27T18:01:08.42",
      "ModifyDate": "2026-04-14T23:23:08.47",
      "Definition": "create   trigger QER_TUPWODecisionMethod on PWODecisionMethod for Update not for Replication as begin  declare @QER_ITShop_OnWorkflowAssign varchar\r\n(16) BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID \r\nvarchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')   if update(UID_SubMethodOrderProduct) or update(UID_SubMethodOrderUnsubscribe) or update\r\n(UID_SubMethodOrderProlongate) begin select @QER_ITShop_OnWorkflowAssign = dbo.QBM_FGIConfigparmValue('QER\\ITShop\\OnWorkflowAssign') if @QER_ITShop_OnWorkflowAssign\r\n in ('RESET', 'ABORT') begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01(Object, SubObject, GenProcID) select x.uid, null\r\n, @GenProcID from ( select pwo.UID_PersonWantsOrg as uid from PWODecisionMethod m join deleted d on m.UID_PWODecisionMethod = d.UID_PWODecisionMethod and\r\n isnull(m.UID_SubMethodOrderProduct, '') <> isnull(d.UID_SubMethodOrderProduct, '') join QERWorkingMethod wm on wm.UID_PWODecisionSubMethod = d.UID_SubMethodOrderProduct\r\n  join PersonWantsOrg pwo on pwo.UID_QERWorkingMethod = wm.UID_QERWorkingMethod union select pwo.UID_PersonWantsOrg as uid from PWODecisionMethod m join\r\n deleted d on m.UID_PWODecisionMethod = d.UID_PWODecisionMethod and isnull(m.UID_SubMethodOrderProlongate, '') <> isnull(d.UID_SubMethodOrderProlongate\r\n, '') join QERWorkingMethod wm on wm.UID_PWODecisionSubMethod = d.UID_SubMethodOrderProlongate  join PersonWantsOrg pwo on pwo.UID_QERWorkingMethod = wm.UID_QERWorkingMethod\r\n union select pwo.UID_PersonWantsOrg as uid from PWODecisionMethod m join deleted d on m.UID_PWODecisionMethod = d.UID_PWODecisionMethod and isnull(m.UID_SubMethodOrderUnsubscribe\r\n, '') <> isnull(d.UID_SubMethodOrderUnsubscribe, '') join QERWorkingMethod wm on wm.UID_PWODecisionSubMethod = d.UID_SubMethodOrderUnsubscribe  join PersonWantsOrg\r\n pwo on pwo.UID_QERWorkingMethod = wm.UID_QERWorkingMethod ) as x if @QER_ITShop_OnWorkflowAssign = 'RESET' begin exec QBM_PDBQueueInsert_Bulk 'QER-K-ITSHOPOrder-RESET'\r\n, @DBQueueElements_01 end if @QER_ITShop_OnWorkflowAssign = 'ABORT' begin exec QBM_PDBQueueInsert_Bulk 'QER-K-ITSHOPOrder-ABORT', @DBQueueElements_01 end\r\n end end  if update(UID_OrgType) or update(Priority) or update(UID_SubMethodOrderProduct) or update(UID_SubMethodOrderUnsubscribe) or update(UID_SubMethodOrderProlongate\r\n) begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02(Object, SubObject, GenProcID)  select rtrim(isnull(ohm.uid_org, '')\r\n), null, @GenProcID from PWODecisionMethod join deleted on PWODecisionMethod.UID_PWODecisionMethod = deleted.UID_PWODecisionMethod join BaseTreeHasPWODecisionMethod\r\n ohm on PWODecisionMethod.uid_PWODecisionmethod = ohm.uid_PWODecisionmethod union select rtrim(isnull(ohm.uid_org, '')), null, @GenProcID from PWODecisionMethod\r\n join inserted on PWODecisionMethod.UID_PWODecisionMethod = inserted.UID_PWODecisionMethod join BaseTreeHasPWODecisionMethod ohm on PWODecisionMethod.uid_PWODecisionmethod\r\n = ohm.uid_PWODecisionmethod  exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRack-All', @DBQueueElements_02 end   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUPWODecisionRule",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PWODecisionRule",
      "CreateDate": "2025-06-27T18:01:08.433",
      "ModifyDate": "2026-04-14T23:23:08.473",
      "Definition": "create   trigger QER_TUPWODecisionRule on PWODecisionRule for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01(Object, SubObject, GenProcID) select i.UID_PWODecisionRule, null, @GenProcID\r\n from inserted i exec QBM_PDBQueueInsert_bulk 'QER-K-PWODecisionRuleMakeProc', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUPWODecisionRuleRulerDete",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PWODecisionRuleRulerDetect",
      "CreateDate": "2025-06-27T18:01:08.45",
      "ModifyDate": "2026-04-14T23:23:08.473",
      "Definition": "create   trigger QER_TUPWODecisionRuleRulerDete  on PWODecisionRuleRulerDetect for Update not for Replication as begin  BEGIN TRY if exists (select\r\n top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = \r\ndbo.QBM_FGISessionContext('') declare @SQLToCheck_01 QBM_YParameterList insert into @SQLToCheck_01(Parameter1, ContentFull) select c.XObjectKey, replace\r\n(replace(replace(c.SQLQuery , '@UID_AttestationCase', '''123''') , '@UID_PersonWantsorg', '''123''')  , '@UID_QERWorkingStep', '''123''') from deleted \r\nd join PWODecisionRuleRulerDetect c on d.UID_PWODecisionRuleRulerDetect = c.UID_PWODecisionRuleRulerDetect where isnull(d.SQLQuery, '') <> isnull(c.SQLQuery\r\n, '') and c.SQLQuery > ' ' and left(ltrim(c.SQLQuery), 4) <> 'exec' exec QBM_PSQLCheckExecutable @SQLToCheck_01, @RaiseError = 1 declare @SQLToCheck_02\r\n QBM_YParameterList insert into @SQLToCheck_02(Parameter1, ContentFull) select c.XObjectKey, c.SQLQueryObjectsToRecalc from deleted d join PWODecisionRuleRulerDetect\r\n c on d.UID_PWODecisionRuleRulerDetect = c.UID_PWODecisionRuleRulerDetect where isnull(d.SQLQueryObjectsToRecalc, '') <> isnull(c.SQLQueryObjectsToRecalc\r\n, '') and c.SQLQueryObjectsToRecalc > ' ' exec QBM_PSQLCheckExecutable @SQLToCheck_02, @RaiseError = 1 declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01(Object, SubObject, GenProcID) select distinct i.UID_PWODecisionRule, null, @GenProcID from inserted i exec QBM_PDBQueueInsert_bulk\r\n 'QER-K-PWODecisionRuleMakeProc', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02(Object, SubObject, GenProcID\r\n) select distinct i.UID_PWODecisionRule, null, @GenProcID from inserted i exec QBM_PDBQueueInsert_bulk 'QER-K-PWOHelperFillMakeProc', @DBQueueElements_02\r\n END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUPWODecisionSubmethod",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PWODecisionSubMethod",
      "CreateDate": "2025-06-27T18:01:08.473",
      "ModifyDate": "2026-04-14T23:23:08.48",
      "Definition": "    create   trigger QER_TUPWODecisionSubmethod on PWODecisionSubmethod for Update not for Replication as begin  declare @QER_ITShop_OnWorkflowUpdate\r\n varchar(16) BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID\r\n varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  if update(RevisionNumber) begin select @QER_ITShop_OnWorkflowUpdate = dbo.QBM_FGIConfigparmValue\r\n('QER\\ITShop\\OnWorkflowUpdate') if @QER_ITShop_OnWorkflowUpdate in ('RESET', 'ABORT') begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n(Object, SubObject, GenProcID) select x.uid, null, @GenProcID from ( select pwo.UID_PersonWantsOrg as uid from PWODecisionSubmethod sm join deleted d on\r\n sm.UID_PWODecisionSubMethod = d.UID_PWODecisionSubMethod and sm.RevisionNumber <> d.RevisionNumber join QERWorkingMethod wm on wm.UID_PWODecisionSubMethod\r\n = sm.UID_PWODecisionSubMethod join PersonWantsOrg pwo on pwo.UID_QERWorkingMethod = wm.UID_QERWorkingMethod ) as x if @QER_ITShop_OnWorkflowUpdate = 'RESET'\r\n begin exec QBM_PDBQueueInsert_Bulk 'QER-K-ITSHOPOrder-RESET', @DBQueueElements_01 end if @QER_ITShop_OnWorkflowUpdate = 'ABORT' begin exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-ITSHOPOrder-ABORT', @DBQueueElements_01 end end   declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02(Object, SubObject\r\n, GenProcID) select distinct ohm.UID_Org, null, @GenProcID from PWODecisionSubMethod s join deleted d on s.UID_PWODecisionSubMethod = d.UID_PWODecisionSubMethod\r\n join PWODecisionMethod m on m.UID_SubMethodOrderProduct = s.UID_PWODecisionSubMethod or m.UID_SubMethodOrderProlongate = s.UID_PWODecisionSubMethod or\r\n m.UID_SubMethodOrderUnsubscribe = s.UID_PWODecisionSubMethod join BaseTreeHasPWODecisionMethod ohm on m.UID_PWODecisionMethod = ohm.uid_PWODecisionmethod\r\n exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRack-All', @DBQueueElements_02 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18\r\n, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUPWOHelperPWO",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PWOHelperPWO",
      "CreateDate": "2025-06-27T18:01:08.48",
      "ModifyDate": "2026-04-14T23:23:08.487",
      "Definition": " create   trigger QER_TUPWOHelperPWO on PWOHelperPWO  for Update not for Replication as begin BEGIN TRY if exists (select top 1 1 from inserted)\r\n goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if update(Decision) begin  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid\r\n, null, @GenProcID from (select distinct i.UID_PersonWantsOrg as uid from PWOHelperPWO i join deleted d on i.uid_PWOHelperPWO = d.uid_PWOHelperPWO where\r\n isnull(i.Decision, '') <> isnull(d.Decision, '') ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackCheckDecision', @DBQueueElements_01  end  END \r\nTRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUQERAssign",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QERAssign",
      "CreateDate": "2025-06-27T18:01:08.513",
      "ModifyDate": "2026-04-14T23:23:08.713",
      "Definition": " create   trigger QER_TUQERAssign on QERAssign  for Update not for Replication as begin  declare @ObjectkeyOrdered varchar(138) declare @UID_AccProduct\r\n varchar(38) declare @whereclauseOrg nvarchar(max) declare @whereclauseMuster nvarchar(max) = ' UID_ITShopOrg in ( select UID_OrgPR \r\n\t\t\t\t\t\t\tfrom QER_VPWOProductNodesSlim\r\n\t\t\t\t\t\t\twhere ObjectkeyOrdered = ''@ObjectkeyOrdered'' \r\n\t\t\t\t\t\t\t\tand isnull(UID_AccProduct, '''') <> ''@UID_AccProduct''\r\n\t\t\t\t\t)\r\n'\r\n declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int BEGIN TRY if exists (select top 1 1 from inserted) goto start\r\n if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update\r\n(UID_QERAssignPredecessor) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid\r\n, null, @GenProcID from ( select distinct phr.UID_Person as uid from QERAssign v join deleted d on d.uid_QERAssign = v.UID_QERAssign and isnull(v.UID_QERAssignPredecessor\r\n, '') <> ISNULL(d.UID_QERAssignPredecessor, '') join PersonHasQERAssign phr on phr.UID_QERAssign = v.UID_QERAssign and phr.XOrigin > 0  ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-PersonHasQERAssign', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select distinct phr.UID_org as uid from QERAssign v join deleted d on d.uid_QERAssign = v.UID_QERAssign and isnull\r\n(v.UID_QERAssignPredecessor, '') <> ISNULL(d.UID_QERAssignPredecessor, '') join BaseTreeHasQERAssign phr on phr.UID_QERAssign = v.UID_QERAssign and phr.XOrigin\r\n > 0  ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgHasQERAssign', @DBQueueElements_02 end if update(isForITShop) or update(isITShopOnly) begin declare\r\n @FlagTest QBM_YParameterlist insert into @FlagTest(Parameter1, Parameter2, HasContentFull, e.Parameter3) select i.UID_QERAssign, i.XObjectKey, i.IsForITShop\r\n, dbo.QBM_FCVBitToString(i.IsITShopOnly) from inserted i exec QER_PIsForITShopFlagCheck 'QERAssign', @FlagTest end  if update(IsNoInheriteToSecurityIncident\r\n) begin declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from \r\n( select distinct phr.UID_Person as uid from QERAssign v join deleted d on d.uid_QERAssign = v.UID_QERAssign join PersonHasQERAssign phr on phr.UID_QERAssign\r\n = v.UID_QERAssign and phr.XOrigin > 0  where (d.IsNoInheriteToSecurityIncident = 1 and v.IsNoInheriteToSecurityIncident = 0 and phr.XIsInEffect = 0 ) \r\nor (d.IsNoInheriteToSecurityIncident = 0 and v.IsNoInheriteToSecurityIncident = 1 and phr.XIsInEffect = 1 ) ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-PersonHasQERAssign'\r\n, @DBQueueElements_03 end if update(uid_accproduct) begin insert into @ElementBuffer(ObjectKey1, UID1) select x.XObjectKey, isnull(x.uid_accproduct,'')\r\n from QERAssign x join deleted d on x.uid_QERAssign = d.uid_QERAssign and isnull(x.uid_accproduct,'') <> isnull(d.uid_accproduct,'')  and d.uid_accproduct\r\n > ' '  join dialogColumn c on c.UID_DialogTable = 'QER-T-ITShopOrg' and c.columnname = 'uid_ACCProduct' and c.IsDeactivatedByPreProcessor = 0  select \r\n@ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @ObjectkeyOrdered = bu.ObjectKey1 , @UID_AccProduct\r\n = bu.UID1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex select @whereclauseOrg = @whereclauseMuster select @whereclauseOrg = replace(@whereclauseOrg\r\n, N'@ObjectkeyOrdered' , @ObjectkeyOrdered) select @whereclauseOrg = replace(@whereclauseOrg, N'@uid_accproduct' , rtrim(@uid_accproduct))    exec QBM_PJobCreate_HOUpdate_B\r\n N'ITShopOrg', @whereclauseOrg, @GenProcID , @p1 = 'uid_ACCProduct', @v1 = @uid_accproduct , @AdditionalObjectKeysAffected = DEFAULT select @ElementIndex\r\n += 1 end  end  if update (UID_AccProduct) begin declare @RecalcParameter_OA QBM_YCursorBuffer insert into @RecalcParameter_OA (UID1, ObjectKey1, Ident1\r\n) select 'QER-PWODecisionRule-OA', a.XObjectKey, 'I' from inserted i join QERAssign g on i.UID_QERAssign = g.UID_QERAssign join QERAccProductUsage u on\r\n g.XObjectKey = u.XObjectKey join AccProduct a on u.UID_AccProduct = a.UID_AccProduct union select 'QER-PWODecisionRule-OA', a.XObjectKey, 'I' from deleted\r\n d join QERAssign g on d.UID_QERAssign = g.UID_QERAssign join QERAccProductUsage u on g.XObjectKey = u.XObjectKey join AccProduct a on u.UID_AccProduct\r\n = a.UID_AccProduct exec QER_PITShopHelperFill_Recalc @RecalcParameter_OA, @GenprocID declare @RecalcParameter_OA2 QBM_YCursorBuffer insert into @RecalcParameter_OA2\r\n (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-OA', pwo.XObjectKey, 'I' from inserted i join QERAssign g on i.UID_QERAssign = g.UID_QERAssign \r\njoin AccProduct a on i.UID_AccProduct = a.UID_AccProduct join PersonWantsOrg pwo on g.XObjectKey = pwo.ObjectKeyElementUsedInAssign union select 'QER-PWODecisionRule-OA'\r\n, pwo.XObjectKey, 'I' from deleted d join QERAssign g on d.UID_QERAssign = g.UID_QERAssign join AccProduct a on d.UID_AccProduct = a.UID_AccProduct join\r\n PersonWantsOrg pwo on g.XObjectKey = pwo.ObjectKeyElementUsedInAssign exec QER_PITShopHelperFill_Recalc @RecalcParameter_OA2, @GenprocID end  END TRY \r\nBEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUQEREntitlementSource",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QEREntitlementSource",
      "CreateDate": "2025-06-27T18:01:08.6",
      "ModifyDate": "2026-04-14T23:23:08.72",
      "Definition": "create   trigger QER_TUQEREntitlementSource on QEREntitlementSource  for Update not for Replication as begin  declare @SQLToCheck QBM_YParameterList\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar\r\n(38) select @GenProcID = dbo.QBM_FGISessionContext('')  if update(SQLQuery) begin insert into @SQLToCheck(Parameter1, ContentFull) select c.XObjectKey,\r\n c.SQLQuery from inserted c  where c.SQLQuery > ' ' exec QBM_PSQLCheckExecutable @SQLToCheck, @RaiseError = 1 end if update(UID_DialogTable) or update(SQLQuery\r\n) or update(Ident_QEREntitlementSource) begin exec QBM_PDBQueueInsert_Single 'QER-K-EntitlementSourceMakeProc', '', '', @GenProcID end  END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUQERResource",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QERResource",
      "CreateDate": "2025-06-27T18:01:08.53",
      "ModifyDate": "2026-04-14T23:23:08.747",
      "Definition": " create   trigger QER_TUQERResource on QERResource  for Update not for Replication as begin  declare @ObjectkeyOrdered varchar(138) declare @UID_AccProduct\r\n varchar(38) declare @whereclauseOrg nvarchar(max) declare @whereclauseMuster nvarchar(max) = ' UID_ITShopOrg in ( select UID_OrgPR \r\n\t\t\t\t\t\t\tfrom QER_VPWOProductNodesSlim\r\n\t\t\t\t\t\t\twhere ObjectkeyOrdered = ''@ObjectkeyOrdered'' \r\n\t\t\t\t\t\t\t\tand isnull(UID_AccProduct, '''') <> ''@UID_AccProduct''\r\n\t\t\t\t\t)\r\n'\r\n declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int BEGIN TRY if exists (select top 1 1 from inserted) goto start\r\n if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update\r\n(isForITShop) or update(isITShopOnly) begin declare @FlagTest QBM_YParameterlist insert into @FlagTest(Parameter1, Parameter2, HasContentFull, e.Parameter3\r\n) select i.UID_QERResource, i.XObjectKey, i.IsForITShop, dbo.QBM_FCVBigIntToString(i.IsITShopOnly) from inserted i exec QER_PIsForITShopFlagCheck 'QERResource'\r\n, @FlagTest end  if update(IsNoInheriteToSecurityIncident) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject\r\n, genprocid) select x.uid, null, @GenProcID from ( select distinct phr.UID_Person as uid from QERResource v join deleted d on d.uid_QERResource = v.UID_QERResource\r\n join PersonHasQERResource phr on phr.UID_QERResource = v.UID_QERResource and phr.XOrigin > 0  where (d.IsNoInheriteToSecurityIncident = 1 and v.IsNoInheriteToSecurityIncident\r\n = 0 and phr.XIsInEffect = 0 ) or (d.IsNoInheriteToSecurityIncident = 0 and v.IsNoInheriteToSecurityIncident = 1 and phr.XIsInEffect = 1 ) ) as x exec \r\nQBM_PDBQueueInsert_Bulk 'QER-K-PersonHasQERResource', @DBQueueElements_01 end if update(UID_QERResourcePredecessor) begin declare @DBQueueElements_02 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct phr.UID_Person as uid from QERResource\r\n v join deleted d on d.uid_QERResource = v.UID_QERResource and isnull(v.UID_QERResourcePredecessor, '') <> ISNULL(d.UID_QERResourcePredecessor, '') join\r\n PersonHasQERResource phr on phr.UID_QERResource = v.UID_QERResource and phr.XOrigin > 0  ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-PersonHasQERResource'\r\n, @DBQueueElements_02 declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select distinct phr.UID_org as uid from QERResource v join deleted d on d.uid_QERResource = v.UID_QERResource and isnull(v.UID_QERResourcePredecessor\r\n, '') <> ISNULL(d.UID_QERResourcePredecessor, '') join BaseTreeHasQERResource phr on phr.UID_QERResource = v.UID_QERResource and phr.XOrigin > 0  ) as \r\nx exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgHasQERResource', @DBQueueElements_03 end if update(uid_accproduct) begin insert into @ElementBuffer(ObjectKey1\r\n, UID1) select x.XObjectKey, isnull(x.uid_accproduct,'') from QERResource x join deleted d on x.uid_QERResource = d.uid_QERResource and isnull(x.uid_accproduct\r\n,'') <> isnull(d.uid_accproduct,'')  and d.uid_accproduct > ' '  join dialogColumn c on c.UID_DialogTable = 'QER-T-ITShopOrg' and c.columnname = 'uid_ACCProduct'\r\n and c.IsDeactivatedByPreProcessor = 0  select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top\r\n 1 @ObjectkeyOrdered = bu.ObjectKey1 , @UID_AccProduct = bu.UID1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex select @whereclauseOrg = \r\n@whereclauseMuster select @whereclauseOrg = replace(@whereclauseOrg, N'@ObjectkeyOrdered' , @ObjectkeyOrdered) select @whereclauseOrg = replace(@whereclauseOrg\r\n, N'@uid_accproduct' , rtrim(@uid_accproduct))    exec QBM_PJobCreate_HOUpdate_B N'ITShopOrg', @whereclauseOrg, @GenProcID , @p1 = 'uid_ACCProduct', @v1\r\n = @uid_accproduct , @AdditionalObjectKeysAffected = DEFAULT select @ElementIndex += 1 end  end  if update (UID_AccProduct) begin declare @RecalcParameter_OA\r\n QBM_YCursorBuffer insert into @RecalcParameter_OA (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-OA', a.XObjectKey, 'I' from inserted i join QERResource\r\n g on i.UID_QERResource = g.UID_QERResource join QERAccProductUsage u on g.XObjectKey = u.XObjectKey join AccProduct a on u.UID_AccProduct = a.UID_AccProduct\r\n union select 'QER-PWODecisionRule-OA', a.XObjectKey, 'I' from deleted d join QERResource g on d.UID_QERResource = g.UID_QERResource join QERAccProductUsage\r\n u on g.XObjectKey = u.XObjectKey join AccProduct a on u.UID_AccProduct = a.UID_AccProduct exec QER_PITShopHelperFill_Recalc @RecalcParameter_OA, @GenprocID\r\n declare @RecalcParameter_OA2 QBM_YCursorBuffer insert into @RecalcParameter_OA2 (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-OA', pwo.XObjectKey\r\n, 'I' from inserted i join QERResource g on i.UID_QERResource = g.UID_QERResource join AccProduct a on i.UID_AccProduct = a.UID_AccProduct join PersonWantsOrg\r\n pwo on g.XObjectKey = pwo.ObjectKeyElementUsedInAssign union select 'QER-PWODecisionRule-OA', pwo.XObjectKey, 'I' from deleted d join QERResource g on\r\n d.UID_QERResource = g.UID_QERResource join AccProduct a on d.UID_AccProduct = a.UID_AccProduct join PersonWantsOrg pwo on g.XObjectKey = pwo.ObjectKeyElementUsedInAssign\r\n exec QER_PITShopHelperFill_Recalc @RecalcParameter_OA2, @GenprocID end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH\r\n NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUQERReuse",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QERReuse",
      "CreateDate": "2025-06-27T18:01:08.547",
      "ModifyDate": "2026-04-14T23:23:08.753",
      "Definition": " create   trigger QER_TUQERReuse on QERReuse  for Update not for Replication as begin  declare @ObjectkeyOrdered varchar(138) declare @UID_AccProduct\r\n varchar(38) declare @whereclauseOrg nvarchar(max) declare @whereclauseMuster nvarchar(max) = ' UID_ITShopOrg in ( select UID_OrgPR \r\n\t\t\t\t\t\t\tfrom QER_VPWOProductNodesSlim\r\n\t\t\t\t\t\t\twhere ObjectkeyOrdered = ''@ObjectkeyOrdered'' \r\n\t\t\t\t\t\t\t\tand isnull(UID_AccProduct, '''') <> ''@UID_AccProduct''\r\n\t\t\t\t\t)\r\n'\r\n declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int BEGIN TRY if exists (select top 1 1 from inserted) goto start\r\n if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update\r\n(UID_QERReusePredecessor) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid\r\n, null, @GenProcID from ( select distinct phr.UID_Person as uid from QERReuse v join deleted d on d.uid_QERReuse = v.UID_QERReuse and isnull(v.UID_QERReusePredecessor\r\n, '') <> ISNULL(d.UID_QERReusePredecessor, '') join PersonHasQERReuse phr on phr.UID_QERReuse = v.UID_QERReuse and phr.XOrigin > 0  ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-PersonHasQERReuse', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select distinct phr.UID_org as uid from QERReuse v join deleted d on d.uid_QERReuse = v.UID_QERReuse and isnull\r\n(v.UID_QERReusePredecessor, '') <> ISNULL(d.UID_QERReusePredecessor, '') join BaseTreeHasQERReuse phr on phr.UID_QERReuse = v.UID_QERReuse and phr.XOrigin\r\n > 0  ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgHasQERReuse', @DBQueueElements_02 end if update(isForITShop) or update(isITShopOnly) begin declare \r\n@FlagTest QBM_YParameterlist insert into @FlagTest(Parameter1, Parameter2, HasContentFull, e.Parameter3) select i.UID_QERReuse, i.XObjectKey, i.IsForITShop\r\n, dbo.QBM_FCVBigIntToString(i.IsITShopOnly) from inserted i exec QER_PIsForITShopFlagCheck 'QERReuse', @FlagTest end  if update(IsNoInheriteToSecurityIncident\r\n) begin declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from \r\n( select distinct phr.UID_Person as uid from QERReuse v join deleted d on d.uid_QERReuse = v.UID_QERReuse join PersonHasQERReuse phr on phr.UID_QERReuse\r\n = v.UID_QERReuse and phr.XOrigin > 0  where (d.IsNoInheriteToSecurityIncident = 1 and v.IsNoInheriteToSecurityIncident = 0 and phr.XIsInEffect = 0 ) or\r\n (d.IsNoInheriteToSecurityIncident = 0 and v.IsNoInheriteToSecurityIncident = 1 and phr.XIsInEffect = 1 ) ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-PersonHasQERReuse'\r\n, @DBQueueElements_03 end if update(uid_accproduct) begin insert into @ElementBuffer(ObjectKey1, UID1) select x.XObjectKey, isnull(x.uid_accproduct,'')\r\n from QERReuse x join deleted d on x.uid_QERReuse = d.uid_QERReuse and isnull(x.uid_accproduct,'') <> isnull(d.uid_accproduct,'')  and d.uid_accproduct\r\n > ' '  join dialogColumn c on c.UID_DialogTable = 'QER-T-ITShopOrg' and c.columnname = 'uid_ACCProduct' and c.IsDeactivatedByPreProcessor = 0  select \r\n@ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @ObjectkeyOrdered = bu.ObjectKey1 , @UID_AccProduct\r\n = bu.UID1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex select @whereclauseOrg = @whereclauseMuster select @whereclauseOrg = replace(@whereclauseOrg\r\n, N'@ObjectkeyOrdered' , @ObjectkeyOrdered) select @whereclauseOrg = replace(@whereclauseOrg, N'@uid_accproduct' , rtrim(@uid_accproduct))    exec QBM_PJobCreate_HOUpdate_B\r\n N'ITShopOrg', @whereclauseOrg, @GenProcID , @p1 = 'uid_ACCProduct', @v1 = @uid_accproduct , @AdditionalObjectKeysAffected = DEFAULT select @ElementIndex\r\n += 1 end  end if update (UID_AccProduct) begin declare @RecalcParameter_OA QBM_YCursorBuffer insert into @RecalcParameter_OA (UID1, ObjectKey1, Ident1\r\n) select 'QER-PWODecisionRule-OA', a.XObjectKey, 'I' from inserted i join QERReuse g on i.UID_QERReuse = g.UID_QERReuse join QERAccProductUsage u on g.XObjectKey\r\n = u.XObjectKey join AccProduct a on u.UID_AccProduct = a.UID_AccProduct union select 'QER-PWODecisionRule-OA', a.XObjectKey, 'I' from deleted d join QERReuse\r\n g on d.UID_QERReuse = g.UID_QERReuse join QERAccProductUsage u on g.XObjectKey = u.XObjectKey join AccProduct a on u.UID_AccProduct = a.UID_AccProduct\r\n exec QER_PITShopHelperFill_Recalc @RecalcParameter_OA, @GenprocID declare @RecalcParameter_OA2 QBM_YCursorBuffer insert into @RecalcParameter_OA2 (UID1\r\n, ObjectKey1, Ident1) select 'QER-PWODecisionRule-OA', pwo.XObjectKey, 'I' from inserted i join QERReuse g on i.UID_QERReuse = g.UID_QERReuse join AccProduct\r\n a on i.UID_AccProduct = a.UID_AccProduct join PersonWantsOrg pwo on g.XObjectKey = pwo.ObjectKeyElementUsedInAssign union select 'QER-PWODecisionRule-OA'\r\n, pwo.XObjectKey, 'I' from deleted d join QERReuse g on d.UID_QERReuse = g.UID_QERReuse join AccProduct a on d.UID_AccProduct = a.UID_AccProduct join PersonWantsOrg\r\n pwo on g.XObjectKey = pwo.ObjectKeyElementUsedInAssign exec QER_PITShopHelperFill_Recalc @RecalcParameter_OA2, @GenprocID end  END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUQERReuseUS",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QERReuseUS",
      "CreateDate": "2025-06-27T18:01:08.563",
      "ModifyDate": "2026-04-14T23:23:08.757",
      "Definition": " create   trigger QER_TUQERReuseUS on QERReuseUS  for Update not for Replication as begin  declare @ObjectkeyOrdered varchar(138) declare @UID_AccProduct\r\n varchar(38) declare @whereclauseOrg nvarchar(max) declare @whereclauseMuster nvarchar(max) = ' UID_ITShopOrg in ( select UID_OrgPR \r\n\t\t\t\t\t\t\tfrom QER_VPWOProductNodesSlim\r\n\t\t\t\t\t\t\twhere ObjectkeyOrdered = ''@ObjectkeyOrdered'' \r\n\t\t\t\t\t\t\t\tand isnull(UID_AccProduct, '''') <> ''@UID_AccProduct''\r\n\t\t\t\t\t)\r\n'\r\n declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int BEGIN TRY if exists (select top 1 1 from inserted) goto start\r\n if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update\r\n(UID_QERReuseUSPredecessor) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid\r\n, null, @GenProcID from ( select distinct phr.UID_Person as uid from QERReuseUS v join deleted d on d.uid_QERReuseUS = v.UID_QERReuseUS and isnull(v.UID_QERReuseUSPredecessor\r\n, '') <> ISNULL(d.UID_QERReuseUSPredecessor, '') join PersonHasQERReuseUS phr on phr.UID_QERReuseUS = v.UID_QERReuseUS and phr.XOrigin > 0  ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'QER-K-PersonHasQERReuseUS', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object\r\n, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct phr.UID_org as uid from QERReuseUS v join deleted d on d.uid_QERReuseUS =\r\n v.UID_QERReuseUS and isnull(v.UID_QERReuseUSPredecessor, '') <> ISNULL(d.UID_QERReuseUSPredecessor, '') join BaseTreeHasQERReuseUS phr on phr.UID_QERReuseUS\r\n = v.UID_QERReuseUS and phr.XOrigin > 0  ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgHasQERReuseUS', @DBQueueElements_02 end if update(isForITShop) or\r\n update(isITShopOnly) begin declare @FlagTest QBM_YParameterlist insert into @FlagTest(Parameter1, Parameter2, HasContentFull, e.Parameter3) select i.UID_QERReuseUS\r\n, i.XObjectKey, i.IsForITShop, dbo.QBM_FCVBigIntToString(i.IsITShopOnly) from inserted i exec QER_PIsForITShopFlagCheck 'QERReuseUS', @FlagTest end    \r\n if update(IsNoInheriteToSecurityIncident) begin declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select distinct phr.UID_Person as uid from QERReuseUS v join deleted d on d.uid_QERReuseUS = v.UID_QERReuseUS join\r\n PersonHasQERReuseUS phr on phr.UID_QERReuseUS = v.UID_QERReuseUS and phr.XOrigin > 0  where (d.IsNoInheriteToSecurityIncident = 1 and v.IsNoInheriteToSecurityIncident\r\n = 0 and phr.XIsInEffect = 0 ) or (d.IsNoInheriteToSecurityIncident = 0 and v.IsNoInheriteToSecurityIncident = 1 and phr.XIsInEffect = 1 ) ) as x exec \r\nQBM_PDBQueueInsert_Bulk 'QER-K-PersonHasQERReuseUS', @DBQueueElements_03 end if update(uid_accproduct) begin insert into @ElementBuffer(ObjectKey1, UID1\r\n) select x.XObjectKey, isnull(x.uid_accproduct,'') from QERReuseUS x join deleted d on x.uid_QERReuseUS = d.uid_QERReuseUS and isnull(x.uid_accproduct,\r\n'') <> isnull(d.uid_accproduct,'')  and d.uid_accproduct > ' '  join dialogColumn c on c.UID_DialogTable = 'QER-T-ITShopOrg' and c.columnname = 'uid_ACCProduct'\r\n and c.IsDeactivatedByPreProcessor = 0  select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top\r\n 1 @ObjectkeyOrdered = bu.ObjectKey1 , @UID_AccProduct = bu.UID1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex select @whereclauseOrg = \r\n@whereclauseMuster select @whereclauseOrg = replace(@whereclauseOrg, N'@ObjectkeyOrdered' , @ObjectkeyOrdered) select @whereclauseOrg = replace(@whereclauseOrg\r\n, N'@uid_accproduct' , rtrim(@uid_accproduct))    exec QBM_PJobCreate_HOUpdate_B N'ITShopOrg', @whereclauseOrg, @GenProcID , @p1 = 'uid_ACCProduct', @v1\r\n = @uid_accproduct , @AdditionalObjectKeysAffected = DEFAULT select @ElementIndex += 1 end  end    if update (UID_AccProduct) begin declare @RecalcParameter_OA\r\n QBM_YCursorBuffer insert into @RecalcParameter_OA (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-OA', a.XObjectKey, 'I' from inserted i join QERReuseUS\r\n g on i.UID_QERReuseUS = g.UID_QERReuseUS join QERAccProductUsage u on g.XObjectKey = u.XObjectKey join AccProduct a on u.UID_AccProduct = a.UID_AccProduct\r\n union select 'QER-PWODecisionRule-OA', a.XObjectKey, 'I' from deleted d join QERReuseUS g on d.UID_QERReuseUS = g.UID_QERReuseUS join QERAccProductUsage\r\n u on g.XObjectKey = u.XObjectKey join AccProduct a on u.UID_AccProduct = a.UID_AccProduct exec QER_PITShopHelperFill_Recalc @RecalcParameter_OA, @GenprocID\r\n declare @RecalcParameter_OA2 QBM_YCursorBuffer insert into @RecalcParameter_OA2 (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-OA', pwo.XObjectKey\r\n, 'I' from inserted i join QERReuseUS g on i.UID_QERReuseUS = g.UID_QERReuseUS join AccProduct a on i.UID_AccProduct = a.UID_AccProduct join PersonWantsOrg\r\n pwo on g.XObjectKey = pwo.ObjectKeyElementUsedInAssign union select 'QER-PWODecisionRule-OA', pwo.XObjectKey, 'I' from deleted d join QERReuseUS g on \r\nd.UID_QERReuseUS = g.UID_QERReuseUS join AccProduct a on d.UID_AccProduct = a.UID_AccProduct join PersonWantsOrg pwo on g.XObjectKey = pwo.ObjectKeyElementUsedInAssign\r\n exec QER_PITShopHelperFill_Recalc @RecalcParameter_OA2, @GenprocID end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH\r\n NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUQERRiskIndex",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QERRiskIndex",
      "CreateDate": "2025-06-27T18:01:08.497",
      "ModifyDate": "2026-04-14T23:23:08.76",
      "Definition": "create   trigger QER_TUQERRiskIndex on QERRiskIndex  for Update not for Replication as begin  declare @SQLToCheck QBM_YParameterList BEGIN TRY if\r\n exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select\r\n @GenProcID = dbo.QBM_FGISessionContext('')  if update(QueryString) begin insert into @SQLToCheck(Parameter1, ContentFull) select c.XObjectKey, c.QueryString\r\n from inserted c  where c.QueryString > ' ' exec QBM_PSQLCheckExecutable @SQLToCheck, @RaiseError = 1 end declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct d.uid_dialogColumn as uid from deleted d\r\n where d.uid_dialogColumn > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-QERRiskIndexMakeProc', @DBQueueElements_01  exec QBM_PDBQueueInsert_Bulk 'QER-K-QERRiskIndexCalculate'\r\n, @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUQERUniversalSubstitute",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QERUniversalSubstitute",
      "CreateDate": "2025-06-27T18:01:08.657",
      "ModifyDate": "2026-04-14T23:23:08.77",
      "Definition": "create   trigger QER_TUQERUniversalSubstitute on QERUniversalSubstitute  for Update not for Replication as begin declare @GenProcID varchar(38) \r\n= dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return\r\n start: if update(IsCurrentlyActive) or UPDATE(UseForITShopCompliance) or UPDATE(UseForITShop) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01(object, subobject, genprocid) select x.uid, null, @GenProcID from(  select pwo.UID_PersonWantsOrg as uid from deleted d join \r\nQERUniversalSubstitute su on d.UID_QERUniversalSubstitute = su.UID_QERUniversalSubstitute join PWOHelperPWO h on su.UID_PersonReceiver = h.UID_PersonHead\r\n join PersonWantsOrg pwo on h.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg and h.LevelNumber = pwo.DecisionLevel where( (d.IsCurrentlyActive = 1 and su.IsCurrentlyActive\r\n = 0) or (d.UseForITShop = 1 and su.UseForITShop = 0) or (d.UseForITShopCompliance = 1 and su.UseForITShopCompliance = 0) ) and pwo.OrderState in ('OrderProduct'\r\n, 'OrderProlongate', 'OrderUnsubscribe') union  select pwo.UID_PersonWantsOrg as uid from deleted d join QERUniversalSubstitute su on d.UID_QERUniversalSubstitute\r\n = su.UID_QERUniversalSubstitute join PWOHelperPWO h on d.UID_PersonSender = h.UID_PersonHead join PersonWantsOrg pwo on h.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg\r\n and h.LevelNumber = pwo.DecisionLevel where( (d.IsCurrentlyActive = 0 and su.IsCurrentlyActive = 1 ) or (d.UseForITShop = 0 and su.UseForITShop = 1) or\r\n (d.UseForITShopCompliance = 0 and su.UseForITShopCompliance = 1) ) and pwo.OrderState in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe') ) as \r\nx exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackPWOHelperPWO' , @DBQueueElements_01 end  if update(IsCurrentlyActive) or UPDATE(UseForHeadOrg) begin \r\ndeclare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02(object, subobject, genprocid) select x.uid, null, @GenProcID from(  select \r\nd.UID_PersonReceiver as uid from deleted d join QERUniversalSubstitute su on d.UID_QERUniversalSubstitute = su.UID_QERUniversalSubstitute where( (d.IsCurrentlyActive\r\n <> su.IsCurrentlyActive ) and (d.UseForHeadOrg = 1 or su.UseForHeadOrg = 1) ) or ( (d.UseForHeadOrg <> su.UseForHeadOrg) and (d.IsCurrentlyActive = 1 \r\nor su.IsCurrentlyActive = 1 ) ) ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-HelperHeadOrg', @DBQueueElements_02 end if update(IsCurrentlyActive) or UPDATE\r\n(UseForHeadPerson) begin declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03(object, subobject, genprocid) select x.uid, null, \r\n@GenProcID from(  select d.UID_PersonReceiver as uid from deleted d join QERUniversalSubstitute su on d.UID_QERUniversalSubstitute = su.UID_QERUniversalSubstitute\r\n where( (d.IsCurrentlyActive <> su.IsCurrentlyActive ) and (d.UseForHeadPerson = 1 or su.UseForHeadPerson = 1) ) or ((d.UseForHeadPerson <> su.UseForHeadPerson\r\n) and (d.IsCurrentlyActive = 1 or su.IsCurrentlyActive = 1 ) ) ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-HelperHeadPerson', @DBQueueElements_03 end END\r\n TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUQERWorkingMethod",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QERWorkingMethod",
      "CreateDate": "2025-06-27T18:01:07.67",
      "ModifyDate": "2026-04-14T23:23:08.777",
      "Definition": " create   trigger QER_TUQERWorkingMethod on QERWorkingMethod  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from \r\ninserted) goto start if exists (select top 1 1 from deleted) goto start return start: if dbo.QBM_FGISessionContext('QER_PGIQERWorkingMethod') > ' ' begin\r\n goto endlabel end if dbo.QBM_FGIColumnUpdatedOthers('QERWorkingMethod', 'XObjectKey', COLUMNS_UPDATED()) = 1 begin if exists (select top 1 1 from inserted\r\n ) begin raiserror('#LDS#Changes on working table {0} are not allowed.|QERWorkingMethod|', 18, 1) with nowait end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUQERWorkingStep",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "QERWorkingStep",
      "CreateDate": "2025-06-27T18:01:07.663",
      "ModifyDate": "2026-04-14T23:23:08.777",
      "Definition": " create   trigger QER_TUQERWorkingStep on QERWorkingStep  for Update not for Replication as begin  declare @Message nvarchar(1000) = '#LDS#Changes on working table {0} are not allowed.|QERWorkingStep|'\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if dbo.QBM_FGISessionContext\r\n('QER_PGIQERWorkingMethod') > ' ' begin goto endlabel end if dbo.QBM_FGIColumnUpdatedOthers('QERWorkingStep', 'XObjectKey', COLUMNS_UPDATED()) = 1  and\r\n dbo.QBM_FGIColumnUpdatedOthers('QERWorkingStep', 'UID_PWODecisionStep', COLUMNS_UPDATED()) = 1 begin if exists (select top 1 1 from inserted ) begin raiserror\r\n(@Message, 18, 1) with nowait end end if UPDATE (UID_PWODecisionStep) begin if exists (select top 1 1 from deleted d join QERWorkingStep s on d.UID_QERWorkingStep\r\n = s.UID_QERWorkingStep where ISNULL(d.UID_PWODecisionStep, '') <> ISNULL(s.UID_PWODecisionStep, '') and s.UID_PWODecisionStep > ' ' ) begin raiserror(@Message\r\n, 18, 1) with nowait end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUWorkDesk",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "WorkDesk",
      "CreateDate": "2025-06-27T18:01:08.577",
      "ModifyDate": "2026-04-14T23:23:08.93",
      "Definition": "create   trigger QER_TUWorkDesk on WorkDesk  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted) goto start\r\n if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update\r\n(uid_department) or update(uid_locality) or update(uid_ProfitCenter) or update(IsNoInherite) begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into\r\n @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct w.uid_WorkDesk as uid from deleted d join WorkDesk\r\n w on d.uid_WorkDesk = w.uid_WorkDesk where isnull(d.uid_department,'') <> isnull(w.uid_department,'') or isnull(d.uid_locality,'') <> isnull(w.uid_locality\r\n,'') or isnull(d.uid_ProfitCenter,'') <> isnull(w.uid_ProfitCenter,'') or isnull(d.IsNoInherite,0) <> isnull(w.IsNoInherite,0) ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-HelperWorkdeskOrg', @DBQueueElements_02 exec QBM_PDBQueueInsert_Bulk 'QER-K-AllForOneWorkdesk', @DBQueueElements_02 end    END TRY BEGIN CATCH \r\nexec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUWorkDeskHasESet",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "WorkDeskHasESet",
      "CreateDate": "2025-06-27T18:01:08.643",
      "ModifyDate": "2026-04-14T23:23:08.933",
      "Definition": "create   trigger QER_TUWorkDeskHasESet on WorkDeskHasESet  for Update not for Replication as begin  endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "QER_TUWorkDeskInBaseTree",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "WorkDeskInBaseTree",
      "CreateDate": "2025-06-27T18:01:08.59",
      "ModifyDate": "2026-04-14T23:23:08.937",
      "Definition": "create   trigger QER_TUWorkDeskInBaseTree on WorkDeskInBaseTree  for update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from\r\n deleted) goto start if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('')  if update(XOrigin) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid,\r\n null, @GenProcID from ( select distinct d.uid_WorkDesk as uid from deleted d join WorkDeskInBaseTree a on d.XObjectKey = a.XObjectKey where dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, a.XOrigin, 1, 1) = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AllForOneWorkdesk', @DBQueueElements_01 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMB_TUHardware",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "Hardware",
      "CreateDate": "2025-06-27T18:01:10.19",
      "ModifyDate": "2026-04-14T23:23:08.333",
      "Definition": "    create   trigger RMB_TUHardware on Hardware  for Update not for Replication as begin declare @XDateInserted datetime , @XDateUpdated datetime\r\n , @XUserInserted nvarchar(64) , @XUserUpdated nvarchar(64) BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from\r\n deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(uid_org) begin declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct h.uid_Hardware as\r\n uid from deleted d join Hardware h on d.uid_Hardware = h.uid_Hardware where isnull(d.uid_org, '') <> isnull(h.uid_org, '') ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'RMB-K-HelperHardwareOrg', @DBQueueElements_01 end   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMB_TUPerson",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "Person",
      "CreateDate": "2025-06-27T18:01:10.177",
      "ModifyDate": "2026-04-14T23:23:08.43",
      "Definition": "    create   trigger RMB_TUPerson on Person  for Update not for Replication as begin  declare @Parameter nvarchar(1000) BEGIN TRY if exists (select\r\n top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = \r\ndbo.QBM_FGISessionContext('') if update(uid_org) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, \r\ngenprocid) select x.uid, null, @GenProcID from ( select p.uid_person as uid from person p join deleted d on p.uid_person = d.uid_person where isnull(p.uid_org\r\n, '') <> isnull(d.uid_org, '') ) as x exec QBM_PDBQueueInsert_Bulk 'RMB-K-HelperPersonOrg', @DBQueueElements_01 end pwotest:   if update(uid_Org) begin\r\n declare @RecalcParameter_01 QBM_YCursorBuffer  insert into @RecalcParameter_01 (UID1, ObjectKey1, Ident1) select 'RMB-PWODecisionRule-IO', i.XobjectKey\r\n, 'I' from inserted i union all select 'RMB-PWODecisionRule-RO', i.XobjectKey, 'I' from inserted i exec QER_PITShopHelperFill_Recalc @RecalcParameter_01\r\n, @GenprocID end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMB_TUWorkDesk",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "WorkDesk",
      "CreateDate": "2025-06-27T18:01:10.197",
      "ModifyDate": "2026-04-14T23:23:08.93",
      "Definition": "    create   trigger RMB_TUWorkDesk on WorkDesk  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted) goto\r\n start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext(''\r\n) if update(uid_org) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null\r\n, @GenProcID from ( select distinct w.uid_WorkDesk as uid from deleted d join WorkDesk w on d.uid_WorkDesk = w.uid_WorkDesk where isnull(d.uid_department\r\n,'') <> isnull(w.uid_department,'') or isnull(d.uid_locality,'') <> isnull(w.uid_locality,'') or isnull(d.uid_ProfitCenter,'') <> isnull(w.uid_ProfitCenter\r\n,'') or isnull(d.uid_org,'') <> isnull(w.uid_org,'') or isnull(d.IsNoInherite,0) <> isnull(w.IsNoInherite,0) ) as x exec QBM_PDBQueueInsert_Bulk 'RMB-K-HelperWorkdeskOrg'\r\n, @DBQueueElements_01 end    END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_TATTUESet",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ESet",
      "CreateDate": "2025-06-27T18:01:15.127",
      "ModifyDate": "2026-04-14T23:23:08.313",
      "Definition": "    create   trigger RMS_TATTUESet on ESet  for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext(''\r\n) BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(UID_AccProduct\r\n) begin   declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select i.XobjectKey , 'ATT-PWODecisionRule-AN'\r\n, 'A' from inserted i exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID  declare @RecalcParameter_02 QBM_YCursorBuffer insert into @RecalcParameter_02\r\n (ObjectKey1, UID1, Ident1) select b.XObjectKey, c.DecisionRule, 'A' from (select a.XObjectKey from AccProduct a join inserted i on a.UID_AccProduct = \r\ni.UID_AccProduct union select a.XObjectKey from AccProduct a join deleted d on a.UID_AccProduct = d.UID_AccProduct ) b cross join (select 'ATT-PWODecisionRule-OA'\r\n as DecisionRule union select 'ATT-PWODecisionRule-OrgATT' ) c exec QER_PITShopHelperFill_Recalc @RecalcParameter_02, @GenprocID end  END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_TATTUPersonHasESet",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PersonHasESet",
      "CreateDate": "2025-06-27T18:01:15.14",
      "ModifyDate": "2026-04-14T23:23:08.433",
      "Definition": "    create   trigger RMS_TATTUPersonHasESet on PersonHasESet  for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(XIsInEffect\r\n) or update(XOrigin) begin  declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select dbo.QBM_FCVElementToObjectKey1\r\n('Person', '', i.UID_Person), v.UID_PWODecisionRule, 'A' from inserted i cross join (values ('ATT-PWODecisionRule-XM') ) as v (UID_PWODecisionRule) exec\r\n QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT\r\n END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_TDESet",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ESet",
      "CreateDate": "2025-06-27T18:01:13.977",
      "ModifyDate": "2026-04-14T23:23:08.313",
      "Definition": "    create   trigger RMS_TDESet on ESet  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted) goto start return\r\n start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  declare @alt_Ident_ESetType varchar(38)  declare @alt_UID_ESet\r\n varchar(38) declare @datum datetime declare @SQLcmd nvarchar(max) declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object,\r\n subobject, genprocid) select x.uid, null, @GenProcID from ( select d.UID_ESet as uid from deleted d union select co.UID_ESet as uid from deleted d join\r\n ESetCollection co on d.uid_ESet = co.UID_EsetChild union select co.UID_ESet as uid from deleted d join (select ehe.uid_ESet, p.uid_ESet as UID_EsetChild\r\n from esethasEntitlement ehe join ESet p on ehe.entitlement = p.XObjectKey and ehe.XOrigin > 0  ) as co on d.uid_ESet = co.UID_EsetChild ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'RMS-K-ESetCollection', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_TDESetCollection",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ESetCollection",
      "CreateDate": "2025-06-27T18:01:14",
      "ModifyDate": "2026-04-14T23:23:08.317",
      "Definition": "  create   trigger RMS_TDESetCollection on ESetCollection  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select d.UID_ESet as uid from deleted d union select\r\n d.UID_EsetChild as uid from deleted d ) as x exec QBM_PDBQueueInsert_Bulk 'RMS-K-ESetHasEntitlement', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_TDESetExcludesESet",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ESetExcludesESet",
      "CreateDate": "2025-06-27T18:01:14.017",
      "ModifyDate": "2026-04-14T23:23:08.317",
      "Definition": "create   trigger RMS_TDESetExcludesESet on ESetExcludesESet  for delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uig.UID_Person as uid from ( select\r\n UID_ESet as UID_ESet from deleted union all select UID_ESetExcluded from deleted ) as y join PersonHasEset uig on y.UID_ESet = uig.UID_ESet  ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'RMS-K-PersonHasESet', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object\r\n, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uig.UID_Org as uid from ( select UID_ESet as UID_ESet from deleted union \r\nall select UID_ESetExcluded from deleted ) as y join BaseTreeHasEset uig on y.UID_ESet = uig.UID_ESet  ) as x exec QBM_PDBQueueInsert_Bulk 'RMS-K-OrgHasESet'\r\n, @DBQueueElements_02 declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select distinct uig.UID_WorkDesk as uid from ( select UID_ESet as UID_ESet from deleted union all select UID_ESetExcluded from deleted ) as y join\r\n WorkDeskHasESet uig on y.UID_ESet = uig.UID_ESet  ) as x exec QBM_PDBQueueInsert_Bulk 'RMS-K-WorkdeskHasESet', @DBQueueElements_03 declare @DBQueueElements_04\r\n QBM_YDBQueueRaw insert into @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uig.UID_ESet as uid from (\r\n select UID_ESet as UID_ESet from deleted union all select UID_ESetExcluded from deleted ) as y join ESetHasEntitlement uig on y.UID_ESet = uig.UID_ESet\r\n union select distinct uig.UID_ESet as uid from ( select UID_ESet as UID_ESet from deleted union all select UID_ESetExcluded from deleted ) as y join Eset\r\n z on y.UID_ESet = z.UID_ESet join ESetHasEntitlement uig on z.XObjectKey = uig.Entitlement ) as x exec QBM_PDBQueueInsert_Bulk 'RMS-K-ESetHasEntitlement'\r\n, @DBQueueElements_04 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_TIBaseTreeHasESet",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasESet",
      "CreateDate": "2025-06-27T18:01:13.95",
      "ModifyDate": "2026-04-14T23:23:07.973",
      "Definition": "  create   trigger RMS_TIBaseTreeHasESet on BaseTreeHasESet  for Insert not for Replication as begin  declare @EsetOperation varchar(38) declare\r\n @EsetTable varchar(30) declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1) declare\r\n @DBQueueElements_spezial QBM_YDBQueueRaw BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select\r\n @GenProcID = dbo.QBM_FGISessionContext('')  declare @AssignCheckValues QBM_YparameterList insert into @AssignCheckValues(Parameter1, Parameter2) select\r\n i.UID_Org, i.XOrigin from inserted i exec QER_PAssignmentCheckValid 'RMS-AsgnBT-Eset', @AssignCheckValues, @GenProcID  if exists (select top 1 1 from \r\ninserted i join BaseTree dest on i.uid_Org = dest.uid_Org  join ESet elem on i.uid_ESet = elem.uid_ESet where dbo.QER_FGIITShopFlagCombineValid(dest.XObjectKey\r\n, null, null, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0 and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|'\r\n, 18, 2) with nowait end         declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01(object, subobject, genprocid) select x.uid\r\n, 'RMS-K-OrgHasESet', @GenProcID from ( select distinct d.UID_Org as uid from inserted d where d.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0  ) as\r\n x exec QBM_PDBQueueInsert_Bulk 'QER-K-AllChildrenOfOrg', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct d.UID_Org as uid from inserted d join BaseTree b on d.uid_Org = b.uid_Org\r\n where b.ITShopInfo = 'BO' and d.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgAutoChild', @DBQueueElements_02 declare @DBQueueElements_03\r\n QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct i.uid_org as uid \r\nfrom inserted i where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'RMS-K-BaseTreeHasObject', @DBQueueElements_03 declare @DBQueueElements_04 \r\nQBM_YDBQueueRaw insert into @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct hpo.uid_person as \r\nuid from inserted i join (select pio.uid_person, pio.uid_org from personinBaseTree pio where pio.XOrigin > 0 union all select uid_person, uid_org from \r\nhelperPersonOrg ) hpo on hpo.uid_org = i.uid_org where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'RMS-K-PersonHasESet', @DBQueueElements_04\r\n declare @DBQueueElements_05 QBM_YDBQueueRaw insert into @DBQueueElements_05 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select\r\n distinct hwo.uid_WorkDesk as uid from inserted i join (select pio.uid_WorkDesk, pio.uid_org from WorkDeskinBaseTree pio where pio.XOrigin > 0 union all\r\n select uid_WorkDesk, uid_org from helperWorkDeskOrg ) hwo on hwo.uid_org = i.uid_org where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'RMS-K-WorkdeskHasESet'\r\n, @DBQueueElements_05   insert into @ElementBuffer(UID1, Ident1) select distinct v.UID_TaskBaseTree, t.TableName from inserted i join ESetHasEntitlement\r\n ehe on i.uid_ESet = ehe.uid_ESet and ehe.XOrigin > 0  join DialogTable t on  ehe.Entitlement like '<Key><T>' + t.TableName + '</T>%' and t.TableName <>\r\n 'ESet' join BaseTreeAssign v on t.UID_DialogTable = v.UID_DialogTableElement where v.UID_TaskBaseTree > ' ' select @ElementCount = @@rowcount select @ElementIndex\r\n = 1 while @ElementIndex <= @ElementCount begin select top 1 @EsetOperation = bu.UID1 , @EsetTable = bu.Ident1 from @ElementBuffer bu where bu.ElementIndex\r\n = @ElementIndex   delete  @DBQueueElements_spezial insert into @DBQueueElements_spezial (object, subobject, genprocid) select x.uid, null, @GenProcID \r\nfrom ( select distinct i.uid_org as uid from inserted i join ESetHasEntitlement ehe on i.uid_ESet = ehe.uid_ESet and ehe.XOrigin > 0  where  ehe.Entitlement\r\n like '<Key><T>' + @EsetTable + '</T>%' and i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk @EsetOperation, @DBQueueElements_spezial select @ElementIndex\r\n += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_TIESet",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ESet",
      "CreateDate": "2025-06-27T18:01:13.98",
      "ModifyDate": "2026-04-14T23:23:08.313",
      "Definition": "create   trigger RMS_TIESet on ESet  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted) goto start return\r\n start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct i.UID_ESet as uid from inserted i ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'RMS-K-ESetCollection', @DBQueueElements_01  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_TIESetCollection",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ESetCollection",
      "CreateDate": "2025-06-27T18:01:14",
      "ModifyDate": "2026-04-14T23:23:08.317",
      "Definition": "create   trigger RMS_TIESetCollection on ESetCollection  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select d.UID_ESet as uid from inserted d union select\r\n d.UID_EsetChild as uid from inserted d ) as x exec QBM_PDBQueueInsert_Bulk 'RMS-K-ESetHasEntitlement', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_TIESetExcludesESet",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ESetExcludesESet",
      "CreateDate": "2025-06-27T18:01:14.013",
      "ModifyDate": "2026-04-14T23:23:08.317",
      "Definition": "  create   trigger RMS_TIESetExcludesESet on ESetExcludesESet  for Insert not for Replication as begin  declare @exclusions QBM_YParameterList BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\ESetExclusion') = ''  begin raiserror( '#LDS#Cannot make a definition because exclusion is not enabled by config parm.|'\r\n, 18, 2) with nowait end insert into @exclusions (Parameter1, Parameter2) select UID_ESet, UID_ESetExcluded from inserted exec QER_PExclusionCheckCircular\r\n @TargetTable = 'ESetExcludesESet' , @HigherColumn = 'UID_ESet' , @LowerColumn = 'UID_ESetExcluded' , @exclusions = @exclusions declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uig.UID_Person as\r\n uid from ( select UID_ESet as UID_ESet from inserted union all select UID_ESetExcluded from inserted ) as y join PersonHasEset uig on y.UID_ESet = uig.UID_ESet\r\n  ) as x exec QBM_PDBQueueInsert_Bulk 'RMS-K-PersonHasESet', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uig.UID_Org as uid from ( select UID_ESet as UID_ESet from inserted\r\n union all select UID_ESetExcluded from inserted ) as y join BaseTreeHasEset uig on y.UID_ESet = uig.UID_ESet  ) as x exec QBM_PDBQueueInsert_Bulk 'RMS-K-OrgHasESet'\r\n, @DBQueueElements_02 declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select distinct uig.UID_WorkDesk as uid from ( select UID_ESet as UID_ESet from inserted union all select UID_ESetExcluded from inserted ) as y\r\n join WorkDeskHasESet uig on y.UID_ESet = uig.UID_ESet  ) as x exec QBM_PDBQueueInsert_Bulk 'RMS-K-WorkdeskHasESet', @DBQueueElements_03 declare @DBQueueElements_04\r\n QBM_YDBQueueRaw insert into @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uig.UID_ESet as uid from (\r\n select UID_ESet as UID_ESet from inserted union all select UID_ESetExcluded from inserted ) as y join ESetHasEntitlement uig on y.UID_ESet = uig.UID_ESet\r\n union select distinct uig.UID_ESet as uid from ( select UID_ESet as UID_ESet from inserted union all select UID_ESetExcluded from inserted ) as y join\r\n Eset z on y.UID_ESet = z.UID_ESet join ESetHasEntitlement uig on z.XObjectKey = uig.Entitlement ) as x exec QBM_PDBQueueInsert_Bulk 'RMS-K-ESetHasEntitlement'\r\n, @DBQueueElements_04 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_TIESetHasEntitlement",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ESetHasEntitlement",
      "CreateDate": "2025-06-27T18:01:14.037",
      "ModifyDate": "2026-04-14T23:23:08.32",
      "Definition": "  create   trigger RMS_TIESetHasEntitlement on ESetHasEntitlement  for Insert not for Replication as begin declare @EsetOperation varchar(38) declare\r\n @EsetTable varchar(30) declare @ElementLast int declare @ElementBufferMulti QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare\r\n @SQLCmd nvarchar(max) declare @Entitlement varchar(138) , @ObjectkeyESet varchar(138) declare @Pattern nvarchar(max) declare @DebugSwitch int = 0 declare\r\n @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1) declare @DBQueueElements_spezial QBM_YDBQueueRaw declare @UID_TaskFollow\r\n varchar(38) BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('')   if exists (select top 1 1 from inserted i left outer join BaseTreeAssign a on  i.Entitlement like '<Key><T>' + dbo.QBM_FGITableName(a.UID_DialogTableElement\r\n) + '</T>%' and a.IsEsetEnabled = 1 where a.UID_BaseTreeAssign is null ) begin raiserror( '#LDS#Assignment cannot be made because the assigned Element is not permittet for assignments to system roles.|'\r\n, 18, 2) with nowait end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null,\r\n @GenProcID from ( select distinct i.UID_ESet as uid from inserted i  where i.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0  ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'RMS-K-ESetHasEntitlement', @DBQueueElements_01   delete  @ElementBufferMulti insert into @ElementBufferMulti(UID1, Ident1) select distinct v.UID_TaskBaseTree\r\n, t.TableName from inserted i join DialogTable t on  i.Entitlement like '<Key><T>' + t.TableName + '</T>%' join BaseTreeAssign v on t.UID_DialogTable =\r\n v.UID_DialogTableElement where v.UID_TaskBaseTree > ' ' and i.XIsInEffect = 1 select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount\r\n +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @EsetOperation = bu.UID1 , @EsetTable = bu.Ident1 from @ElementBufferMulti\r\n bu where bu.ElementIndex = @ElementIndex   delete  @DBQueueElements_spezial insert into @DBQueueElements_spezial (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct ehe.uid_org as uid from inserted i join BaseTreehaseset ehe on i.uid_ESet = ehe.uid_ESet and ehe.XOrigin\r\n > 0  where  i.Entitlement like '<Key><T>' + @EsetTable + '</T>%' ) as x exec QBM_PDBQueueInsert_Bulk @EsetOperation, @DBQueueElements_spezial select @ElementIndex\r\n += 1 end   delete  @ElementBufferMulti insert into @ElementBufferMulti(UID1, Ident1) select distinct v.UID_TaskPerson, t.TableName from inserted i join\r\n DialogTable t on  i.Entitlement like '<Key><T>' + t.TableName + '</T>%' join BaseTreeAssign v on t.UID_DialogTable = v.UID_DialogTableElement where v.UID_TaskPerson\r\n > ' ' and i.XIsInEffect = 1 select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while\r\n @ElementIndex <= @ElementLast begin select top 1 @EsetOperation = bu.UID1 , @EsetTable = bu.Ident1 from @ElementBufferMulti bu where bu.ElementIndex =\r\n @ElementIndex   delete  @DBQueueElements_spezial insert into @DBQueueElements_spezial (object, subobject, genprocid) select x.uid, null, @GenProcID from\r\n ( select distinct ehe.UID_Person as uid from inserted i join PersonHasESet ehe on i.uid_ESet = ehe.uid_ESet and ehe.XOrigin > 0  where  i.Entitlement \r\nlike '<Key><T>' + @EsetTable + '</T>%' ) as x exec QBM_PDBQueueInsert_Bulk @EsetOperation, @DBQueueElements_spezial select @ElementIndex += 1 end   delete\r\n  @ElementBufferMulti insert into @ElementBufferMulti (UID1, Ident1) select distinct v.UID_TaskWorkDesk, t.TableName from inserted i join DialogTable t\r\n on  i.Entitlement like '<Key><T>' + t.TableName + '</T>%' join BaseTreeAssign v on t.UID_DialogTable = v.UID_DialogTableElement where v.UID_TaskWorkDesk\r\n > ' ' and i.XIsInEffect = 1 select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while\r\n @ElementIndex <= @ElementLast begin select top 1 @EsetOperation = bu.UID1 , @EsetTable = bu.Ident1 from @ElementBufferMulti bu where bu.ElementIndex =\r\n @ElementIndex   delete  @DBQueueElements_spezial insert into @DBQueueElements_spezial (object, subobject, genprocid) select x.uid, null, @GenProcID from\r\n ( select distinct ehe.UID_WorkDesk as uid from inserted i join WorkDeskHasESet ehe on i.uid_ESet = ehe.uid_ESet and ehe.XOrigin > 0  where  i.Entitlement\r\n like '<Key><T>' + @EsetTable + '</T>%' ) as x exec QBM_PDBQueueInsert_Bulk @EsetOperation, @DBQueueElements_spezial select @ElementIndex += 1 end   select\r\n @Pattern = '\r\n if exists (select top 1 1\r\n\t\t\t\tfrom @Tabelle@ x with (readpast)\r\n\t\t\t\twhere x.XObjectKey = ''@Entitlement@''\r\n\t\t\t\tand dbo.QER_FGIITShopFlagCombineValid(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t''@ObjectkeyESet@''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t, @IsForITShop@\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t, @IsITShopOnly@\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t, ''@Entitlement@''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t, @ElementIsForITShop@\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t, @ElementIsITShopOnly@\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t) = 0\r\n\t\t\t)\r\n\tbegin\r\n\t\traiserror (''#LDS#Assignment is not permitted due to the combination of IT Shop flags.|'', 18, 2) with nowait\r\n\tend\r\n\t'\r\n  delete  @ElementBufferMulti insert into @ElementBufferMulti(ObjectKey1, ObjectKey2, ContentFull) select e.XObjectKey, i.Entitlement , replace(replace\r\n(replace(replace(replace(replace(replace(@Pattern , '@tabelle@', dbo.QBM_FCVObjectkeyToElement('TableName', i.Entitlement)) , '@Entitlement@', i.Entitlement\r\n) , '@ObjectkeyESet@', e.XObjectKey) , '@IsForITShop@', str(e.IsForITShop)) , '@IsITShopOnly@', str(e.IsITShopOnly)) , '@ElementIsForITShop@', case dbo.QBM_FGIColumnExists\r\n( dbo.QBM_FCVObjectkeyToElement('TableName', i.Entitlement), 'IsForITShop' ) when 1 then 'x.IsForITShop' else '0' end ) , '@ElementIsITShopOnly@', case\r\n dbo.QBM_FGIColumnExists( dbo.QBM_FCVObjectkeyToElement('TableName', i.Entitlement), 'IsITShopOnly' ) when 1 then 'x.IsITShopOnly' else '0' end )  from\r\n inserted i join ESet e on i.UID_ESet = e.UID_ESet select @ElementCount = @@ROWCOUNT if @ElementCount > 0 begin exec QBM_PExecuteSQLMulti @ElementBufferMulti\r\n end declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select\r\n d.UID_ESet as uid from inserted d  where d.XIsInEffect = 1 union select p.UID_ESet as uid from inserted d join Eset p on d.Entitlement = p.XObjectKey \r\nwhere d.XIsInEffect = 1 union select ehe.uid_ESet from inserted d join ESet p on d.Entitlement = p.XObjectKey join EsetHasEntitlement ehe on ehe.Entitlement\r\n = p.XObjectKey and ehe.XOrigin > 0  where d.XIsInEffect = 1 ) as x  select @UID_TaskFollow = 'RMS-K-ESetCollection' exec QBM_PDBQueueInsert_Bulk @UID_TaskFollow\r\n, @DBQueueElements_03  declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select distinct ec.UID_ESet as uid from inserted d join ESetCollection ec on d.uid_ESet = ec.UID_EsetChild where d.XIsInEffect = 1 ) as x exec \r\nQBM_PDBQueueInsert_Bulk 'RMS-K-ESetHasEntitlement', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH\r\n NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_TIPersonHasESet",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PersonHasESet",
      "CreateDate": "2025-06-27T18:01:14.073",
      "ModifyDate": "2026-04-14T23:23:08.433",
      "Definition": "  create   trigger RMS_TIPersonHasESet on PersonHasESet  for Insert not for Replication as begin  declare @EsetOperation varchar(38) declare @EsetTable\r\n varchar(30) declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @QBM_BitPatternXOrigin_Direct int = dbo.QBM_FGIBitPatternXOrigin\r\n('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  declare @DBQueueElements_spezial QBM_YDBQueueRaw\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('')   if exists (select top 1 1 from inserted i   join ESet elem on i.uid_ESet = elem.uid_ESet where dbo.QER_FGIITShopFlagCombineValid(i.XObjectKey, null\r\n, null, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0 and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|'\r\n, 18, 2) with nowait end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null,\r\n @GenProcID from ( select distinct i.UID_Person as uid from inserted i   where i.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'RMS-K-PersonHasESet', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) \r\nselect x.uid, null, @GenProcID from ( select distinct uid_person as uid from inserted i  ) as x exec QBM_PDBQueueInsert_Bulk 'RMS-K-PersonHasObject', @DBQueueElements_02\r\n  insert into @ElementBuffer(UID1, Ident1) select distinct v.UID_TaskPerson, t.TableName from inserted i join ESetHasEntitlement ehe on i.uid_ESet = ehe.uid_ESet\r\n join DialogTable t on  ehe.Entitlement like '<Key><T>' + t.TableName + '</T>%' and t.TableName <> 'ESet' join BaseTreeAssign v on t.UID_DialogTable = \r\nv.UID_DialogTableElement where v.UID_TaskPerson > ' ' and i.XIsInEffect = 1 select @ElementCount = @@rowcount select @ElementIndex = 1 while @ElementIndex\r\n <= @ElementCount begin select top 1 @EsetOperation = bu.UID1 , @EsetTable = bu.Ident1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex   delete\r\n  @DBQueueElements_spezial insert into @DBQueueElements_spezial (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct i.uid_Person\r\n as uid from inserted i join ESetHasEntitlement ehe on i.uid_ESet = ehe.uid_ESet and ehe.XOrigin > 0  where  ehe.Entitlement like '<Key><T>' + @EsetTable\r\n + '</T>%'  ) as x exec QBM_PDBQueueInsert_Bulk @EsetOperation, @DBQueueElements_spezial select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_TIWorkDeskHasESet",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "WorkDeskHasESet",
      "CreateDate": "2025-06-27T18:01:14.1",
      "ModifyDate": "2026-04-14T23:23:08.933",
      "Definition": "  create   trigger RMS_TIWorkDeskHasESet on WorkDeskHasESet  for Insert not for Replication as begin  declare @EsetOperation varchar(38) declare\r\n @EsetTable varchar(30) declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  declare\r\n @DBQueueElements_spezial QBM_YDBQueueRaw BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select\r\n @GenProcID = dbo.QBM_FGISessionContext('')   if exists (select top 1 1 from inserted i   join ESet elem on i.uid_ESet = elem.uid_ESet where dbo.QER_FGIITShopFlagCombineValid\r\n(i.XObjectKey, null, null, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0 and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 ) begin  raiserror\r\n ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|', 18, 2) with nowait end declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct i.UID_WorkDesk as uid from inserted i   \r\nwhere i.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 ) as x exec QBM_PDBQueueInsert_Bulk 'RMS-K-WorkdeskHasESet', @DBQueueElements_01  insert into \r\n@ElementBuffer(UID1, Ident1) select distinct v.UID_TaskWorkDesk, t.TableName from inserted i join ESetHasEntitlement ehe on i.uid_ESet = ehe.uid_ESet and\r\n ehe.XOrigin > 0  join DialogTable t on  ehe.Entitlement like '<Key><T>' + t.TableName + '</T>%' and t.TableName <> 'ESet' join BaseTreeAssign v on t.UID_DialogTable\r\n = v.UID_DialogTableElement where v.UID_TaskWorkDesk > ' ' and i.XIsInEffect = 1 select @ElementCount = @@rowcount select @ElementIndex = 1 while @ElementIndex\r\n <= @ElementCount begin select top 1 @EsetOperation = bu.UID1 , @EsetTable = bu.Ident1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex    \r\ndelete  @DBQueueElements_spezial insert into @DBQueueElements_spezial (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct\r\n i.uid_WorkDesk as uid from inserted i join ESetHasEntitlement ehe on i.uid_ESet = ehe.uid_ESet and ehe.XOrigin > 0  where  ehe.Entitlement like '<Key><T>'\r\n + @EsetTable + '</T>%' and i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk @EsetOperation, @DBQueueElements_spezial select @ElementIndex += 1 end\r\n  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_TUBaseTreeHasESet",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasESet",
      "CreateDate": "2025-06-27T18:01:13.963",
      "ModifyDate": "2026-04-14T23:23:07.973",
      "Definition": "create   trigger RMS_TUBaseTreeHasESet on BaseTreeHasESet  for Update not for Replication as begin  declare @EsetOperation varchar(38) declare @EsetTable\r\n varchar(30) declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @ChangedOrg QBM_YSingleGUID declare @DBQueueElements_spezial\r\n QBM_YDBQueueRaw BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare\r\n @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(XOrigin) or update(XIsInEffect) begin declare @DBQueueElements_01 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct a.UID_Org as uid from BaseTreeHasESet\r\n a join deleted d on a.XObjectKey = d.XObjectKey where ( dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo\r\n(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(a.XOrigin) ) ) as x exec QBM_PDBQueueInsert_Bulk 'RMS-K-BaseTreeHasObject', @DBQueueElements_01 insert into\r\n @ChangedOrg (UID_SingleGuid) select distinct d.UID_Org as uid from BaseTreeHasESet a join deleted d on a.XObjectKey = d.XObjectKey where dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 if @@ROWCOUNT > 0  begin  declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct co.uid_org as uid from @ChangedOrg c join BaseTreecollection co on\r\n c.UID_SingleGuid = co.uid_parentorg ) as x exec QBM_PDBQueueInsert_Bulk 'RMS-K-OrgHasESet', @DBQueueElements_02 declare @DBQueueElements_03 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select b.UID_Org as uid from @ChangedOrg c join BaseTree\r\n b on c.UID_SingleGuid = b.UID_Org where b.ITShopInfo = 'BO' ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgAutoChild', @DBQueueElements_03 declare @DBQueueElements_04\r\n QBM_YDBQueueRaw insert into @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select pio.UID_Person as uid from\r\n @ChangedOrg c join PersoninBaseTree pio on c.UID_SingleGuid = pio.UID_Org and pio.XOrigin > 0 union select hpo.UID_Person as uid from @ChangedOrg c join\r\n HelperPersonOrg hpo on c.UID_SingleGuid = hpo.UID_Org ) as x exec QBM_PDBQueueInsert_Bulk 'RMS-K-PersonHasESet', @DBQueueElements_04 declare @DBQueueElements_05\r\n QBM_YDBQueueRaw insert into @DBQueueElements_05 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select pio.UID_WorkDesk as uid from\r\n @ChangedOrg c join WorkDeskinBaseTree pio on c.UID_SingleGuid = pio.UID_Org and pio.XOrigin > 0 union select hpo.UID_WorkDesk as uid from @ChangedOrg \r\nc join HelperWorkDeskOrg hpo on c.UID_SingleGuid = hpo.UID_Org ) as x exec QBM_PDBQueueInsert_Bulk 'RMS-K-WorkdeskHasESet', @DBQueueElements_05 end    \r\ninsert into @ElementBuffer(UID1, Ident1) select distinct v.UID_TaskBaseTree, t.TableName from deleted d join BaseTreeHasESet a on d.XObjectKey = a.XObjectKey\r\n join ESetHasEntitlement ehe on d.uid_ESet = ehe.uid_ESet and ehe.XOrigin > 0  join DialogTable t on  ehe.Entitlement like '<Key><T>' + t.TableName + '</T>%'\r\n and t.TableName <> 'ESet' join BaseTreeAssign v on t.UID_DialogTable = v.UID_DialogTableElement where v.UID_TaskBaseTree > ' ' and dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 select @ElementCount = @@rowcount select @ElementIndex = 1 while @ElementIndex <= @ElementCount\r\n begin select top 1 @EsetOperation = bu.UID1 , @EsetTable = bu.Ident1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex   delete  @DBQueueElements_spezial\r\n insert into @DBQueueElements_spezial (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct d.uid_org as uid from deleted\r\n d join BaseTreeHasESet a on d.XObjectKey = a.XObjectKey join ESetHasEntitlement ehe on d.uid_ESet = ehe.uid_ESet and ehe.XOrigin > 0  where  ehe.Entitlement\r\n like '<Key><T>' + @EsetTable + '</T>%' and dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 ) as x exec QBM_PDBQueueInsert_Bulk\r\n @EsetOperation, @DBQueueElements_spezial select @ElementIndex += 1 end  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, \r\n1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_TUESet",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ESet",
      "CreateDate": "2025-06-27T18:01:13.99",
      "ModifyDate": "2026-04-14T23:23:08.313",
      "Definition": "create   trigger RMS_TUESet on ESet  for UPDATE not for Replication as begin  declare @ObjectkeyOrdered varchar(138) declare @uid_accproduct varchar\r\n(38) declare @whereclauseOrg nvarchar(max) declare @whereclauseMuster nvarchar(max) = ' UID_ITShopOrg in ( select UID_OrgPR \r\n\t\t\t\t\t\t\tfrom QER_VPWOProductNodesSlim\r\n\t\t\t\t\t\t\twhere ObjectkeyOrdered = ''@ObjectkeyOrdered'' \r\n\t\t\t\t\t\t\t\tand isnull(UID_AccProduct, '''') <> ''@UID_AccProduct''\r\n\t\t\t\t\t)\r\n'\r\n declare @ElementLast int declare @ElementBufferMulti QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int BEGIN TRY if exists (select\r\n top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = \r\ndbo.QBM_FGISessionContext('')  declare @vgl QBM_YParameterList   declare @TableName varchar(30) declare @sqlcmd nvarchar(max) = '' if update(isForITShop\r\n) or update(isITShopOnly) begin declare @FlagTest QBM_YParameterlist insert into @FlagTest(Parameter1, Parameter2, HasContentFull, e.Parameter3) select\r\n i.UID_ESet, i.XObjectKey, i.IsForITShop, dbo.QBM_FCVBigIntToString(i.IsITShopOnly) from inserted i exec QER_PIsForITShopFlagCheck 'ESet', @FlagTest  if\r\n exists (select top 1 1 from inserted i join ESetHasEntitlement ehe on i.XObjectKey = ehe.Entitlement and ehe.XOrigin > 0  join ESet e on ehe.uid_ESet \r\n= e.uid_Eset  and e.IsITShopOnly = 0 where i.IsForITShop = 1 and i.IsITShopOnly = 1 ) begin  raiserror( '#LDS#Changes cannot take place, because assignments to system roles still exist that may not be used exclusively in IT Shop.|'\r\n, 18, 2) with nowait end     select @sqlcmd = STRING_AGG(convert(nvarchar(max), N'\r\n\t\tselect ehe.uid_ESet, ehe.Entitlement -- , elem.IsForITShop , elem.IsITShopOnly\r\n\t\t\tfrom ESetHasEntitlement ehe join '\r\n + t.TableName + ' elem on ehe.Entitlement = elem.XObjectKey \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand ehe.XOrigin > 0 -- ohne XIsInEffect-Test, könnte ja jederzeit wieder angehen\r\n\t\t\twhere elem.IsForITShop = 1\r\n\t\t\t and elem.IsITShopOnly = 1\r\n\t\t'\r\n )  , concat(nCHAR(13) , NCHAR(10) , NCHAR(9) , 'union all') )  from DialogValidDynamicRef vr join DialogTable t on vr.UID_DialogTableReference = t.UID_DialogTable\r\n where vr.UID_DialogColumn in (select c.UID_DialogColumn from DialogColumn c join DialogTable t on c.UID_DialogTable = t.UID_DialogTable where c.ColumnName\r\n = 'Entitlement' and t.TableName = 'EsetHasEntitlement' ) and exists (select top 1 1 from DialogColumn cr where cr.UID_DialogTable = t.UID_DialogTable \r\nand cr.ColumnName = 'IsForITShop' )  insert into @vgl (Parameter1  , Parameter2  )  exec sp_executesql @SQLcmd  if exists (select top 1 1 from inserted\r\n i join @vgl as x on x.Parameter1  = i.uid_Eset where  i.IsITShopOnly = 0    ) begin  raiserror( '#LDS#Changes cannot take place because products are assigned to the EntitlementSet that are only valid in IT Shop.|'\r\n, 18, 2) with nowait end end   if update(IsInactive) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject\r\n, genprocid) select x.uid, null, @GenProcID from ( select co.uid_Eset as uid from ESet es join deleted d on es.uid_ESet = d.uid_ESet join ESetCollection\r\n co on co.UID_EsetChild = es.uid_ESet where es.isinactive <> d.isInactive  union select es.uid_ESet from ESet es join deleted d on es.uid_ESet = d.uid_ESet\r\n where es.isinactive <> d.isInactive  union select ehe.uid_ESet from ESet es join deleted d on es.uid_ESet = d.uid_ESet join ESetHasEntitlement ehe on \r\nehe.entitlement = es.XObjectKey and ehe.XOrigin > 0  where es.isinactive <> d.isInactive ) as x  exec QBM_PDBQueueInsert_Bulk 'RMS-K-ESetCollection', @DBQueueElements_01\r\n  declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select\r\n he.UID_Org as uid from deleted d join ESet e on d.uid_ESet = e.uid_ESet join BaseTreeHasESet he on e.UID_ESet = he.UID_ESet where e.IsInActive <> d.IsInActive\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'RMS-K-OrgHasESet', @DBQueueElements_02 declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select he.UID_Person as uid from deleted d join ESet e on d.uid_ESet = e.uid_ESet\r\n join PersonHasESet he on e.UID_ESet = he.UID_ESet where e.IsInActive <> d.IsInActive ) as x exec QBM_PDBQueueInsert_Bulk 'RMS-K-PersonHasESet', @DBQueueElements_03\r\n declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select\r\n he.UID_WorkDesk as uid from deleted d join ESet e on d.uid_ESet = e.uid_ESet join WorkDeskHasESet he on e.UID_ESet = he.UID_ESet where e.IsInActive <>\r\n d.IsInActive ) as x exec QBM_PDBQueueInsert_Bulk 'RMS-K-WorkdeskHasESet', @DBQueueElements_04  end  if update(uid_accproduct) begin delete  @ElementBufferMulti\r\n insert into @ElementBufferMulti(ObjectKey1, UID1) select x.XObjectKey, isnull(x.uid_accproduct,'') from ESet x join deleted d on x.uid_ESet = d.uid_ESet\r\n and isnull(x.uid_accproduct,'') <> isnull(d.uid_accproduct,'')  and d.uid_accproduct > ' '  join dialogColumn c on c.UID_DialogTable = 'QER-T-ITShopOrg'\r\n and c.columnname = 'uid_ACCProduct' and c.IsDeactivatedByPreProcessor = 0  select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount\r\n +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @ObjectkeyOrdered = bu.ObjectKey1 , @UID_AccProduct = bu.UID1\r\n from @ElementBufferMulti bu where bu.ElementIndex = @ElementIndex select @whereclauseOrg = @whereclauseMuster select @whereclauseOrg = replace(@whereclauseOrg\r\n, N'@ObjectkeyOrdered' , @ObjectkeyOrdered) select @whereclauseOrg = replace(@whereclauseOrg, N'@uid_accproduct' , rtrim(@uid_accproduct))    exec QBM_PJobCreate_HOUpdate_B\r\n 'ITShopOrg', @whereclauseOrg, @GenProcID , @p1 = 'uid_ACCProduct', @v1 = @uid_accproduct , @AdditionalObjectKeysAffected = DEFAULT select @ElementIndex\r\n += 1 end  end  if update (UID_AccProduct) begin declare @RecalcParameter_OA QBM_YCursorBuffer insert into @RecalcParameter_OA (UID1, ObjectKey1, Ident1\r\n) select 'QER-PWODecisionRule-OA', a.XObjectKey, 'I' from inserted i join ESet g on i.UID_ESet = g.UID_ESet join QERAccProductUsage u on g.XObjectKey =\r\n u.XObjectKey join AccProduct a on u.UID_AccProduct = a.UID_AccProduct union select 'QER-PWODecisionRule-OA', a.XObjectKey, 'I' from deleted d join ESet\r\n g on d.UID_ESet = g.UID_ESet join QERAccProductUsage u on g.XObjectKey = u.XObjectKey join AccProduct a on u.UID_AccProduct = a.UID_AccProduct exec QER_PITShopHelperFill_Recalc\r\n @RecalcParameter_OA, @GenprocID declare @RecalcParameter_OA2 QBM_YCursorBuffer insert into @RecalcParameter_OA2 (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-OA'\r\n, pwo.XObjectKey, 'I' from inserted i join ESet g on i.UID_ESet = g.UID_ESet join AccProduct a on i.UID_AccProduct = a.UID_AccProduct join PersonWantsOrg\r\n pwo on g.XObjectKey = pwo.ObjectKeyElementUsedInAssign union select 'QER-PWODecisionRule-OA', pwo.XObjectKey, 'I' from deleted d join ESet g on d.UID_ESet\r\n = g.UID_ESet join AccProduct a on d.UID_AccProduct = a.UID_AccProduct join PersonWantsOrg pwo on g.XObjectKey = pwo.ObjectKeyElementUsedInAssign exec \r\nQER_PITShopHelperFill_Recalc @RecalcParameter_OA2, @GenprocID end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT\r\n END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_TUESetHasEntitlement",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ESetHasEntitlement",
      "CreateDate": "2025-06-27T18:01:14.05",
      "ModifyDate": "2026-04-14T23:23:08.32",
      "Definition": "create   trigger RMS_TUESetHasEntitlement on ESetHasEntitlement  for update not for Replication as begin declare @EsetOperation varchar(38) declare\r\n @EsetTable varchar(30) declare @DebugSwitch int = 0 declare @DebugMessage nvarchar(max) declare @ElementLast int declare @ElementBufferMulti QBM_YCursorBuffer\r\n declare @ElementCount int declare @ElementIndex int declare @QBM_BitPatternXOrigin_Direct int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @DBQueueElements_spezial\r\n QBM_YDBQueueRaw declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() declare @UID_TaskFollow varchar(38) BEGIN TRY\r\n if exists (select top 1 1 from deleted) goto start if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select\r\n @GenProcID = dbo.QBM_FGISessionContext('') if update(XOrigin) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object\r\n, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct d.UID_ESet as uid from deleted d join ESetHasEntitlement dd on d.XObjectKey\r\n = dd.XObjectKey where dbo.QBM_FGIXOriginChanged_Except2(d.XOrigin, dd.XOrigin ) = 1  ) as x exec QBM_PDBQueueInsert_Bulk 'RMS-K-ESetHasEntitlement', @DBQueueElements_01\r\n end   if update(XOrigin) and not update(XIsInEffect) begin update ESetHasEntitlement set XIsInEffect = 1  , XDateUpdated = @Xdate , XUserUpdated = @XUser\r\n from ESetHasEntitlement ehe join deleted d on ehe.UID_ESetHasEntitlement = d.UID_ESetHasEntitlement where d.XOrigin = 0 and ehe.XOrigin & @QBM_BitPatternXOrigin_Direct\r\n > 0 and ehe.Entitlement not like '<Key><T>ESet</T>%' end if update(XIsInEffect) or update(XOrigin) begin if @DebugSwitch > 0 begin select @DebugMessage\r\n = OBJECT_NAME(@@procid) + ' stelle 1' print @DebugMessage end  declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject\r\n, genprocid) select x.uid, null, @GenProcID from ( select d.UID_ESet as uid from deleted d join ESetHasEntitlement dd on d.XObjectKey = dd.XObjectKey and\r\n dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, dd.XOrigin, d.XIsInEffect, dd.XIsInEffect) = 1 union select p.UID_ESet as uid from deleted d join ESetHasEntitlement\r\n dd on d.XObjectKey = dd.XObjectKey and dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, dd.XOrigin, d.XIsInEffect, dd.XIsInEffect) = 1 join Eset p on d.Entitlement\r\n = p.XObjectKey union select ehe.uid_ESet from deleted d join ESetHasEntitlement dd on d.XObjectKey = dd.XObjectKey and dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, dd.XOrigin, d.XIsInEffect, dd.XIsInEffect) = 1 join ESet p on d.Entitlement = p.XObjectKey join EsetHasEntitlement ehe on ehe.Entitlement =\r\n p.XObjectKey ) as x if @DebugSwitch > 0 begin select @DebugMessage = OBJECT_NAME(@@procid) + ' stelle 2' print @DebugMessage select * from deleted select\r\n * from inserted select * from @DBQueueElements_02 end  select @UID_TaskFollow = 'RMS-K-ESetCollection' exec QBM_PDBQueueInsert_Bulk @UID_TaskFollow, @DBQueueElements_02\r\n  declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select\r\n distinct ec.UID_ESet as uid from deleted d join ESetHasEntitlement dd on d.XObjectKey = dd.XObjectKey join ESetCollection ec on d.uid_ESet = ec.UID_EsetChild\r\n where dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, dd.XOrigin, d.XIsInEffect, dd.XIsInEffect) = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'RMS-K-ESetHasEntitlement'\r\n, @DBQueueElements_03  delete  @ElementBufferMulti insert into @ElementBufferMulti(UID1, Ident1) select distinct v.UID_TaskBaseTree, t.TableName from deleted\r\n i join ESetHasEntitlement dd on i.XObjectKey = dd.XObjectKey and dbo.QBM_FGIXOriginChanged_Effect(i.XOrigin, dd.XOrigin, i.XIsInEffect, dd.XIsInEffect\r\n) = 1 join DialogTable t on  i.Entitlement like '<Key><T>' + t.TableName + '</T>%' join BaseTreeAssign v on t.UID_DialogTable = v.UID_DialogTableElement\r\n where v.UID_TaskBaseTree > ' ' select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY\r\n while @ElementIndex <= @ElementLast begin select top 1 @EsetOperation = bu.UID1 , @EsetTable = bu.Ident1 from @ElementBufferMulti bu where bu.ElementIndex\r\n = @ElementIndex if @DebugSwitch > 0 begin print '@EsetOperation ' + @EsetOperation+ ' -- ' + @EsetTable end  delete  @DBQueueElements_spezial insert into\r\n @DBQueueElements_spezial (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct ehe.uid_org as uid from deleted i join ESetHasEntitlement\r\n dd on i.XObjectKey = dd.XObjectKey and dbo.QBM_FGIXOriginChanged_Effect(i.XOrigin, dd.XOrigin, i.XIsInEffect, dd.XIsInEffect) = 1 join BaseTreehaseset\r\n ehe on i.uid_ESet = ehe.uid_ESet and ehe.XOrigin > 0  where  i.Entitlement like '<Key><T>' + @EsetTable + '</T>%' ) as x exec QBM_PDBQueueInsert_Bulk \r\n@EsetOperation, @DBQueueElements_spezial select @ElementIndex += 1 end   delete  @ElementBufferMulti insert into @ElementBufferMulti(UID1, Ident1) select\r\n distinct v.UID_TaskPerson, t.TableName from deleted i join ESetHasEntitlement dd on i.XObjectKey = dd.XObjectKey and dbo.QBM_FGIXOriginChanged_Effect(i.XOrigin\r\n, dd.XOrigin, i.XIsInEffect, dd.XIsInEffect) = 1 join DialogTable t on  i.Entitlement like '<Key><T>' + t.TableName + '</T>%' join BaseTreeAssign v on \r\nt.UID_DialogTable = v.UID_DialogTableElement where v.UID_TaskPerson > ' ' select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount\r\n +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @EsetOperation = bu.UID1 , @EsetTable = bu.Ident1 from @ElementBufferMulti\r\n bu where bu.ElementIndex = @ElementIndex   delete  @DBQueueElements_spezial insert into @DBQueueElements_spezial (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct ehe.UID_Person as uid from deleted i join ESetHasEntitlement dd on i.XObjectKey = dd.XObjectKey and dbo.QBM_FGIXOriginChanged_Effect\r\n(i.XOrigin, dd.XOrigin, i.XIsInEffect, dd.XIsInEffect) = 1 join PersonHasESet ehe on i.uid_ESet = ehe.uid_ESet and ehe.XOrigin > 0  where  i.Entitlement\r\n like '<Key><T>' + @EsetTable + '</T>%' ) as x exec QBM_PDBQueueInsert_Bulk @EsetOperation, @DBQueueElements_spezial select @ElementIndex += 1 end   delete\r\n  @ElementBufferMulti insert into @ElementBufferMulti(UID1, Ident1) select distinct v.UID_TaskWorkDesk, t.TableName from deleted i join ESetHasEntitlement\r\n dd on i.XObjectKey = dd.XObjectKey and dbo.QBM_FGIXOriginChanged_Effect(i.XOrigin, dd.XOrigin, i.XIsInEffect, dd.XIsInEffect) = 1 join DialogTable t on\r\n  i.Entitlement like '<Key><T>' + t.TableName + '</T>%' join BaseTreeAssign v on t.UID_DialogTable = v.UID_DialogTableElement where v.UID_TaskWorkDesk \r\n> ' ' select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast\r\n begin select top 1 @EsetOperation = bu.UID1 , @EsetTable = bu.Ident1 from @ElementBufferMulti bu where bu.ElementIndex = @ElementIndex   delete  @DBQueueElements_spezial\r\n insert into @DBQueueElements_spezial (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct ehe.UID_WorkDesk as uid from\r\n deleted i join ESetHasEntitlement dd on i.XObjectKey = dd.XObjectKey and dbo.QBM_FGIXOriginChanged_Effect(i.XOrigin, dd.XOrigin, i.XIsInEffect, dd.XIsInEffect\r\n) = 1 join WorkDeskHasESet ehe on i.uid_ESet = ehe.uid_ESet and ehe.XOrigin > 0  where  i.Entitlement like '<Key><T>' + @EsetTable + '</T>%' ) as x exec\r\n QBM_PDBQueueInsert_Bulk @EsetOperation, @DBQueueElements_spezial select @ElementIndex += 1 end  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_TUPersonHasESet",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PersonHasESet",
      "CreateDate": "2025-06-27T18:01:14.08",
      "ModifyDate": "2026-04-14T23:23:08.433",
      "Definition": "create   trigger RMS_TUPersonHasESet on PersonHasESet  for Update not for Replication as begin  declare @EsetOperation varchar(38) declare @EsetTable\r\n varchar(30) declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @DBQueueElements_spezial QBM_YDBQueueRaw\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar\r\n(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(XOrigin) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct d.UID_Person as uid from deleted d join PersonHasESet dd on d.XObjectKey\r\n = dd.XObjectKey where dbo.QBM_FGIXOriginChanged_Except2(d.XOrigin, dd.XOrigin) = 1  ) as x exec QBM_PDBQueueInsert_Bulk 'RMS-K-PersonHasESet', @DBQueueElements_01\r\n end  if update(XIsInEffect) or update(XOrigin) begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select distinct a.UID_Person as uid from PersonHasESet a join deleted d on a.XObjectKey = d.XObjectKey where ( \r\ndbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo\r\n(a.XOrigin) ) ) as x exec QBM_PDBQueueInsert_Bulk 'RMS-K-PersonHasObject', @DBQueueElements_02 end if update(XIsInEffect) or update(XOrigin) begin  insert\r\n into @ElementBuffer(UID1, Ident1) select distinct v.UID_TaskPerson, t.TableName from deleted i join PersonHasESet dd on i.XObjectKey = dd.XObjectKey and\r\n dbo.QBM_FGIXOriginChanged_Effect(i.XOrigin, dd.XOrigin, i.XIsInEffect, dd.XIsInEffect) = 1 join ESetHasEntitlement ehe on i.uid_ESet = ehe.uid_ESet and\r\n ehe.XOrigin > 0  join DialogTable t on  ehe.Entitlement like '<Key><T>' + t.TableName + '</T>%' and t.TableName <> 'ESet' join BaseTreeAssign v on t.UID_DialogTable\r\n = v.UID_DialogTableElement where v.UID_TaskPerson > ' ' select @ElementCount = @@rowcount select @ElementIndex = 1 while @ElementIndex <= @ElementCount\r\n begin select top 1 @EsetOperation = bu.UID1 , @EsetTable = bu.Ident1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex   delete  @DBQueueElements_spezial\r\n insert into @DBQueueElements_spezial (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct i.uid_person as uid from deleted\r\n i join PersonHasESet dd on i.XObjectKey = dd.XObjectKey and dbo.QBM_FGIXOriginChanged_Effect(i.XOrigin, dd.XOrigin, i.XIsInEffect, dd.XIsInEffect) = 1\r\n join ESetHasEntitlement ehe on i.uid_ESet = ehe.uid_ESet and ehe.XOrigin > 0  where  ehe.Entitlement like '<Key><T>' + @EsetTable + '</T>%' ) as x exec\r\n QBM_PDBQueueInsert_Bulk @EsetOperation, @DBQueueElements_spezial select @ElementIndex += 1 end  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default\r\n RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RMS_TUWorkDeskHasESet",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "WorkDeskHasESet",
      "CreateDate": "2025-06-27T18:01:14.107",
      "ModifyDate": "2026-04-14T23:23:08.933",
      "Definition": "create   trigger RMS_TUWorkDeskHasESet on WorkDeskHasESet  for update not for Replication as begin  declare @EsetOperation varchar(38) declare @EsetTable\r\n varchar(30) declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @DBQueueElements_spezial QBM_YDBQueueRaw\r\n BEGIN TRY if exists (select top 1 1 from deleted) goto start if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar\r\n(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(XOrigin) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct d.UID_WorkDesk as uid from deleted d join WorkDeskHasESet dd on d.XObjectKey\r\n = dd.XObjectKey where dbo.QBM_FGIXOriginChanged_Except2(d.XOrigin, dd.XOrigin) = 1  ) as x exec QBM_PDBQueueInsert_Bulk 'RMS-K-WorkdeskHasESet', @DBQueueElements_01\r\n end  if update(XIsInEffect) or update(XOrigin) begin  insert into @ElementBuffer(UID1, Ident1) select distinct v.UID_TaskWorkDesk, t.TableName from deleted\r\n i join WorkDeskHasESet dd on i.XObjectKey = dd.XObjectKey and dbo.QBM_FGIXOriginChanged_Effect(i.XOrigin, dd.XOrigin, i.XIsInEffect, dd.XIsInEffect) =\r\n 1 join ESetHasEntitlement ehe on i.uid_ESet = ehe.uid_ESet and ehe .XOrigin > 0  join DialogTable t on  ehe.Entitlement like '<Key><T>' + t.TableName \r\n+ '</T>%' and t.TableName <> 'ESet' join BaseTreeAssign v on t.UID_DialogTable = v.UID_DialogTableElement where v.UID_TaskWorkDesk > ' ' select @ElementCount\r\n = @@rowcount select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @EsetOperation = bu.UID1 , @EsetTable = bu.Ident1 from @ElementBuffer\r\n bu where bu.ElementIndex = @ElementIndex    delete  @DBQueueElements_spezial insert into @DBQueueElements_spezial (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct i.uid_WorkDesk as uid from deleted i join WorkDeskHasESet dd on i.XObjectKey = dd.XObjectKey and dbo.QBM_FGIXOriginChanged_Effect\r\n(i.XOrigin, dd.XOrigin, i.XIsInEffect, dd.XIsInEffect) = 1 join ESetHasEntitlement ehe on i.uid_ESet = ehe.uid_ESet and ehe.XOrigin > 0  where  ehe.Entitlement\r\n like '<Key><T>' + @EsetTable + '</T>%' ) as x exec QBM_PDBQueueInsert_Bulk @EsetOperation, @DBQueueElements_spezial select @ElementIndex += 1 end  end\r\n  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RPS_TATTURPSReport",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "RPSReport",
      "CreateDate": "2025-06-27T18:01:16.77",
      "ModifyDate": "2026-04-14T23:23:08.78",
      "Definition": "    create   trigger RPS_TATTURPSReport on RPSReport  for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(UID_AccProduct\r\n) begin   declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select a.XObjectKey , 'ATT-PWODecisionRule-OrgATT'\r\n, 'A' from AccProduct a join inserted i on a.UID_AccProduct = i.UID_AccProduct union all select a.XObjectKey , 'ATT-PWODecisionRule-OrgATT', 'A' from AccProduct\r\n a join deleted d on a.UID_AccProduct = d.UID_AccProduct exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID end  END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RPS_TDRPSSubscription",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "RPSSubscription",
      "CreateDate": "2025-09-22T13:35:10.36",
      "ModifyDate": "2026-04-14T23:23:08.783",
      "Definition": "create   trigger RPS_TDRPSSubscription on RPSSubscription  for delete not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start:  declare @DBQueueElements_PHO QBM_YDBQueueRaw insert into @DBQueueElements_PHO\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct d.UID_Person as uid from deleted d ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'RPS-K-PersonHasObject', @DBQueueElements_PHO  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RPS_TIBaseTreeHasRPSReport",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasRPSReport",
      "CreateDate": "2025-06-27T18:01:16.693",
      "ModifyDate": "2026-04-14T23:23:07.993",
      "Definition": "  create   trigger RPS_TIBaseTreeHasRPSReport on BaseTreeHasRPSReport  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n declare @AssignCheckValues QBM_YparameterList insert into @AssignCheckValues(Parameter1, Parameter2) select i.UID_Org, i.XOrigin from inserted i exec \r\nQER_PAssignmentCheckValid 'RPS-AsgnBT-RPSReport', @AssignCheckValues, @GenProcID  if exists (select top 1 1 from inserted i join RPSReport p on i.UID_RPSReport\r\n = p.UID_RPSReport and p.isInactive = 1 join BaseTree b on i.uid_org = b.uid_org and (b.uid_orgroot < 'QER-V-ITShopOrg' or b.uid_orgroot > 'QER-V-ITShopOrg'\r\n ) ) begin  raiserror( '#LDS#Assignment cannot take place, because the object to be assigned is disabled.|', 18, 3) with nowait end declare @ITShopInfo\r\n nvarchar(2)  if exists (select top 1 1 from inserted i join BaseTree dest on i.uid_org = dest.uid_Org  join RPSReport elem on i.uid_RPSReport = elem.uid_RPSReport\r\n where dbo.QER_FGIITShopFlagCombineValid(dest.XObjectKey, null, null, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0 and i.XOrigin & @QBM_BitPatternXOrigin_Direct\r\n > 0 ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|', 18, 2) with nowait end  declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, x.subobject, @GenProcID from ( select distinct i.uid_org \r\nas uid , 'RPS-K-OrgHasRPSReport' as subobject from inserted i  where i.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0  ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-AllChildrenOfOrg', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select distinct i.uid_org as uid from inserted i join BaseTree b on i.uid_Org = b.uid_org where b.ITShopInfo = \r\n'BO' and i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgAutoChild', @DBQueueElements_02 declare @DBQueueElements_03 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct i.uid_org as uid from inserted i where i.XIsInEffect\r\n = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'RPS-K-BaseTreeHasObject', @DBQueueElements_03 declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct hpo.uid_person as uid from inserted i join (select pio.uid_person\r\n, pio.uid_org from personinBaseTree pio where pio.XOrigin > 0 union all select uid_person, uid_org from helperPersonOrg ) hpo on hpo.uid_org = i.uid_org\r\n where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'RPS-K-PersonHasRPSReport', @DBQueueElements_04 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RPS_TIPersonHasRPSReport",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PersonHasRPSReport",
      "CreateDate": "2025-06-27T18:01:16.713",
      "ModifyDate": "2026-04-14T23:23:08.447",
      "Definition": "  create   trigger RPS_TIPersonHasRPSReport on PersonHasRPSReport  for Insert not for Replication as begin declare @XUser nvarchar(64) = object_name\r\n(@@procid) declare @Xdate datetime = getutcdate() declare @QBM_BitPatternXOrigin_Direct int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0)  BEGIN TRY if\r\n exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  if exists\r\n (select top 1 1 from inserted i join RPSReport p on i.UID_RPSReport = p.UID_RPSReport and p.isInactive = 1 ) begin  raiserror( '#LDS#Assignment cannot take place, because the object to be assigned is disabled.|'\r\n, 18, 3) with nowait end  if exists (select top 1 1 from inserted i   join RPSReport elem on i.uid_RPSReport = elem.uid_RPSReport where dbo.QER_FGIITShopFlagCombineValid\r\n(i.XObjectKey, null, null, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0 and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 ) begin  raiserror\r\n ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|', 18, 2) with nowait end declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct i.UID_Person as uid from inserted i where\r\n i.XIsInEffect = 0 ) as x exec QBM_PDBQueueInsert_Bulk 'RPS-K-PersonHasRPSReport', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uid_person as uid from inserted i where \r\ni.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'RPS-K-PersonHasObject', @DBQueueElements_02  update RPSSubscription set isRejected = 0  , XDateUpdated\r\n = @Xdate , XUserUpdated = @XUser where exists (select top 1 1 from inserted d where d.uid_person = RPSSubscription.uid_person and d.uid_RPSReport = RPSSubscription.uid_RPSReport\r\n and d.XIsInEffect = 1 ) and isRejected = 1 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return\r\n end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RPS_TIRPSReport",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "RPSReport",
      "CreateDate": "2025-06-27T18:01:16.733",
      "ModifyDate": "2026-04-14T23:23:08.78",
      "Definition": "  create   trigger RPS_TIRPSReport on RPSReport  for INSERT not for Replication as begin  declare @ConditionsToCheck QBM_YParameterList BEGIN TRY\r\n if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  insert\r\n into @ConditionsToCheck (ContentFull) select i.PreProcessorCondition from inserted i exec QBM_PPrePropCheckSyntax @ConditionsToCheck  declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select i.UID_RPSReport as uid from\r\n inserted i ) as x exec QBM_PDBQueueInsert_Bulk 'RPS-K-PrepropRPSReport', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RPS_TIRPSSubscription",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "RPSSubscription",
      "CreateDate": "2025-06-27T18:01:16.75",
      "ModifyDate": "2026-04-14T23:23:08.783",
      "Definition": "  create   trigger RPS_TIRPSSubscription on RPSSubscription  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start return start:  declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if exists (select top 1 1 from inserted i \r\njoin RPSSubscription s on i.UID_RPSSubscription = s.UID_RPSSubscription left outer join PersonHasRPSReport t on t.uid_RPSReport = s.UID_RPSReport and t.UID_Person\r\n = s.UID_Person and t.XOrigin > 0  where t.uid_person is null  ) begin raiserror ('#LDS#Assignment is not permitted due to missing combination of person and report.|'\r\n, 18, 2) with nowait end  declare @DBQueueElements_PHO QBM_YDBQueueRaw insert into @DBQueueElements_PHO (object, subobject, genprocid) select x.uid, null\r\n, @GenProcID from ( select distinct i.UID_Person as uid from inserted i ) as x exec QBM_PDBQueueInsert_Bulk 'RPS-K-PersonHasObject', @DBQueueElements_PHO\r\n  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RPS_TUBaseTreeHasRPSReport",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasRPSReport",
      "CreateDate": "2025-06-27T18:01:16.7",
      "ModifyDate": "2026-04-14T23:23:07.993",
      "Definition": "create   trigger RPS_TUBaseTreeHasRPSReport on BaseTreeHasRPSReport  for Update not for Replication as begin  declare @ChangedOrg QBM_YSingleGUID\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar\r\n(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(XOrigin) or update(XIsInEffect) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct a.UID_Org as uid from BaseTreeHasRPSReport\r\n a join deleted d on a.XObjectKey = d.XObjectKey where ( dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo\r\n(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(a.XOrigin) ) ) as x exec QBM_PDBQueueInsert_Bulk 'RPS-K-BaseTreeHasObject', @DBQueueElements_01 insert into\r\n @ChangedOrg (UID_SingleGuid) select distinct d.UID_Org as uid from BaseTreeHasRPSReport a join deleted d on a.XObjectKey = d.XObjectKey where dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 if @@ROWCOUNT > 0  begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.uid, 'RPS-K-OrgHasRPSReport', @GenProcID from ( select c.UID_SingleGuid as uid from @ChangedOrg c ) as x exec \r\nQBM_PDBQueueInsert_Bulk 'QER-K-AllChildrenOfOrg', @DBQueueElements_02 declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object\r\n, subobject, genprocid) select x.uid, null, @GenProcID from ( select b.UID_Org as uid from @ChangedOrg c join BaseTree b on c.UID_SingleGuid = b.UID_Org\r\n where b.ITShopInfo = 'BO' ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgAutoChild', @DBQueueElements_03 declare @DBQueueElements_04 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select pio.UID_Person as uid from @ChangedOrg c join PersoninBaseTree\r\n pio on c.UID_SingleGuid = pio.UID_Org and pio.XOrigin > 0 union select hpo.UID_Person as uid from @ChangedOrg c join HelperPersonOrg hpo on c.UID_SingleGuid\r\n = hpo.UID_Org ) as x exec QBM_PDBQueueInsert_Bulk 'RPS-K-PersonHasRPSReport', @DBQueueElements_04 end  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RPS_TUDialogConfigParm",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogConfigParm",
      "CreateDate": "2025-06-27T18:01:16.76",
      "ModifyDate": "2026-04-14T23:23:08.047",
      "Definition": " create   trigger RPS_TUDialogConfigParm on DialogConfigParm  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from \r\ninserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if exists (select top 1 1 from dialogconfigparm p join deleted d on p.uid_configparm = d.uid_configparm and ( isnull(d.value,N'') <> isnull(p.value\r\n,N'') or isnull(d.IsEnabledResulting,0)<> isnull(p.IsEnabledResulting,0) ) where p.IsPreprocessorCondition = 1 ) begin  exec QBM_PDBQueueInsert_Single \r\n'QBM-K-CommonReCalculate', 'RPS-K-PrepropRPSReport', '', @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH\r\n NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 1,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RPS_TUPersonHasRPSReport",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PersonHasRPSReport",
      "CreateDate": "2025-06-27T18:01:16.72",
      "ModifyDate": "2026-04-14T23:23:08.447",
      "Definition": "create   trigger RPS_TUPersonHasRPSReport on PersonHasRPSReport  for Update not for Replication as begin  declare @XUser nvarchar(64) = object_name\r\n(@@procid) declare @Xdate datetime = getutcdate() BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted)\r\n goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(XOrigin) begin declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct d.UID_Person as uid\r\n from deleted d join PersonHasRPSReport dd on d.XObjectKey = dd.XObjectKey where dbo.QBM_FGIXOriginChanged_Except2(d.XOrigin, dd.XOrigin) = 1  ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'RPS-K-PersonHasRPSReport', @DBQueueElements_01 end  if update(XIsInEffect) or update(XOrigin) begin declare @DBQueueElements_02\r\n QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct a.UID_Person as uid\r\n from PersonHasRPSReport a join deleted d on a.XObjectKey = d.XObjectKey where ( dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, d.XIsInEffect, \r\na.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(a.XOrigin) ) ) as x exec QBM_PDBQueueInsert_Bulk 'RPS-K-PersonHasObject'\r\n, @DBQueueElements_02 end if update(XIsInEffect) or update(XOrigin) begin  update RPSSubscription set isRejected = 0  , XDateUpdated = @Xdate , XUserUpdated\r\n = @XUser where exists (select top 1 1 from deleted d join PersonHasRPSReport phr on d.XObjectKey = phr.XObjectKey where d.uid_person = RPSSubscription.uid_person\r\n and d.uid_RPSReport = RPSSubscription.uid_RPSReport and d.XIsInEffect = 0 and phr.XIsInEffect = 1 ) and isRejected = 1  update RPSSubscription set isRejected\r\n = 1  , XDateUpdated = @Xdate , XUserUpdated = @XUser where exists (select top 1 1 from deleted d join PersonHasRPSReport phr on d.XObjectKey = phr.XObjectKey\r\n where d.uid_person = RPSSubscription.uid_person and d.uid_RPSReport = RPSSubscription.uid_RPSReport and ( (d.XIsInEffect = 1 and phr.XIsInEffect = 0) \r\n or (d.XOrigin > 0 and phr.XOrigin = 0) ) ) and isRejected = 0 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT\r\n END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RPS_TURPSReport",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "RPSReport",
      "CreateDate": "2025-06-27T18:01:16.743",
      "ModifyDate": "2026-04-14T23:23:08.78",
      "Definition": "create   trigger RPS_TURPSReport on RPSReport for Update not for Replication as begin  declare @ObjectkeyOrdered varchar(138) declare @uid_accproduct\r\n varchar(38) declare @whereclauseOrg nvarchar(max) declare @whereclauseMuster nvarchar(max) = ' UID_ITShopOrg in ( select UID_OrgPR \r\n\t\t\t\t\t\t\tfrom QER_VPWOProductNodesSlim\r\n\t\t\t\t\t\t\twhere ObjectkeyOrdered = ''@ObjectkeyOrdered'' \r\n\t\t\t\t\t\t\t\tand isnull(UID_AccProduct, '''') <> ''@UID_AccProduct''\r\n\t\t\t\t\t)\r\n'\r\n declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @ConditionsToCheck QBM_YParameterList BEGIN TRY if\r\n exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select\r\n @GenProcID = dbo.QBM_FGISessionContext('')  declare @uid_RPSReport varchar(38) if update(isForITShop) or update(isITShopOnly) begin declare @FlagTest \r\nQBM_YParameterlist insert into @FlagTest(Parameter1, Parameter2, HasContentFull, e.Parameter3) select i.UID_RPSReport, i.XObjectKey, i.IsForITShop, dbo.QBM_FCVBigIntToString\r\n(i.IsITShopOnly) from inserted i exec QER_PIsForITShopFlagCheck 'RPSReport', @FlagTest end   if update(uid_accproduct) begin insert into @ElementBuffer\r\n(ObjectKey1, UID1) select x.XObjectKey, isnull(x.uid_accproduct,'') from RPSReport x join deleted d on x.uid_RPSReport = d.uid_RPSReport  and d.uid_accproduct\r\n > ' ' and isnull(x.uid_accproduct,'') <> isnull(d.uid_accproduct,'')  join dialogColumn c on c.UID_DialogTable = 'QER-T-ITShopOrg' and c.columnname = \r\n'uid_ACCProduct' and c.IsDeactivatedByPreProcessor = 0  select @ElementCount = @@rowcount select @ElementIndex = 1 while @ElementIndex <= @ElementCount\r\n begin select top 1 @ObjectkeyOrdered = bu.ObjectKey1 , @UID_AccProduct = bu.UID1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex select @whereclauseOrg\r\n = @whereclauseMuster select @whereclauseOrg = replace(@whereclauseOrg, N'@ObjectkeyOrdered' , @ObjectkeyOrdered) select @whereclauseOrg = replace(@whereclauseOrg\r\n, N'@uid_accproduct' , rtrim(@uid_accproduct))    exec QBM_PJobCreate_HOUpdate_B 'ITShopOrg', @whereclauseOrg, @GenProcID , @p1 = 'uid_ACCProduct', @v1\r\n = @uid_accproduct , @AdditionalObjectKeysAffected = DEFAULT select @ElementIndex += 1 end  end  if update (UID_AccProduct) begin declare @RecalcParameter_OA\r\n QBM_YCursorBuffer insert into @RecalcParameter_OA (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-OA', a.XObjectKey, 'I' from inserted i join RPSReport\r\n g on i.UID_RPSReport = g.UID_RPSReport join QERAccProductUsage u on g.XObjectKey = u.XObjectKey join AccProduct a on u.UID_AccProduct = a.UID_AccProduct\r\n union select 'QER-PWODecisionRule-OA', a.XObjectKey, 'I' from deleted d join RPSReport g on d.UID_RPSReport = g.UID_RPSReport join QERAccProductUsage \r\nu on g.XObjectKey = u.XObjectKey join AccProduct a on u.UID_AccProduct = a.UID_AccProduct exec QER_PITShopHelperFill_Recalc @RecalcParameter_OA, @GenprocID\r\n declare @RecalcParameter_OA2 QBM_YCursorBuffer insert into @RecalcParameter_OA2 (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-OA', pwo.XObjectKey\r\n, 'I' from inserted i join RPSReport g on i.UID_RPSReport = g.UID_RPSReport join AccProduct a on i.UID_AccProduct = a.UID_AccProduct join PersonWantsOrg\r\n pwo on g.XObjectKey = pwo.ObjectKeyElementUsedInAssign union select 'QER-PWODecisionRule-OA', pwo.XObjectKey, 'I' from deleted d join RPSReport g on d.UID_RPSReport\r\n = g.UID_RPSReport join AccProduct a on d.UID_AccProduct = a.UID_AccProduct join PersonWantsOrg pwo on g.XObjectKey = pwo.ObjectKeyElementUsedInAssign \r\nexec QER_PITShopHelperFill_Recalc @RecalcParameter_OA2, @GenprocID end  if update(IsInactive) or update(IsDeactivatedByPreProcessor) begin declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select d.uid_RPSReport as uid from\r\n deleted d join RPSReport r on d.uid_RPSReport = r.UID_RPSReport where d.IsInactive <> r.IsInactive or d.IsDeactivatedByPreProcessor <> r.IsDeactivatedByPreProcessor\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'RPS-K-AllForOneRPSReport', @DBQueueElements_01 end if update(PreProcessorCondition) begin  insert into @ConditionsToCheck\r\n (ContentFull) select i.PreProcessorCondition from inserted i exec QBM_PPrePropCheckSyntax @ConditionsToCheck  declare @DBQueueElements_02 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select ao.UID_RPSReport as uid from deleted i join\r\n RPSReport ao on ao.UID_RPSReport = i.UID_RPSReport where isnull(i.PreProcessorCondition, N'') <> isnull(ao.PreProcessorCondition, N'') ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'RPS-K-PrepropRPSReport', @DBQueueElements_02 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende:\r\n return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "RPS_TURPSSubscription",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "RPSSubscription",
      "CreateDate": "2025-06-27T18:01:16.753",
      "ModifyDate": "2026-04-14T23:23:08.783",
      "Definition": "create   trigger RPS_TURPSSubscription on RPSSubscription  for update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start if exists (select top 1 1 from deleted) goto start return start:  declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if update(UID_Person) or update(UID_RPSReport) begin if exists (select top 1 1 from inserted i join RPSSubscription s on i.UID_RPSSubscription = s.UID_RPSSubscription\r\n left outer join PersonHasRPSReport t on t.uid_RPSReport = s.UID_RPSReport and t.UID_Person = s.UID_Person and t.XOrigin > 0  where t.uid_person is null\r\n  ) begin raiserror ('#LDS#Assignment is not permitted due to missing combination of person and report.|', 18, 2) with nowait end end if update(isRejected\r\n) begin if exists (select top 1 1 from deleted d join RPSSubscription s on d.UID_RPSSubscription = s.UID_RPSSubscription and d.isRejected = 1 and isnull\r\n(s.isRejected, 0) = 0 left outer join PersonHasRPSReport t on t.uid_RPSReport = s.UID_RPSReport and t.UID_Person = s.UID_Person and t.XOrigin > 0  where\r\n t.uid_person is null  ) begin raiserror ('#LDS#Assignment is not permitted due to missing combination of person and report.|', 18, 2) with nowait end \r\nend if update(UID_Person) begin declare @DBQueueElements_PHO QBM_YDBQueueRaw insert into @DBQueueElements_PHO (object, subobject, genprocid) select x.uid\r\n, null, @GenProcID from ( select distinct d.UID_Person as uid from deleted d join RPSSubscription r on d.UID_RPSSubscription = r.UID_RPSSubscription where\r\n isnull(d.UID_Person, '') <> isnull(r.UID_Person, '') ) as x exec QBM_PDBQueueInsert_Bulk 'RPS-K-PersonHasObject', @DBQueueElements_PHO end  END TRY BEGIN\r\n CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TATTUTSBAccountDef",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "TSBAccountDef",
      "CreateDate": "2025-06-27T18:01:21.363",
      "ModifyDate": "2026-04-14T23:23:08.807",
      "Definition": "    create   trigger TSB_TATTUTSBAccountDef on TSBAccountDef  for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(UID_AccProduct\r\n) begin   declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select a.XObjectKey , 'ATT-PWODecisionRule-OrgATT'\r\n, 'A' from AccProduct a join inserted i on a.UID_AccProduct = i.UID_AccProduct union all select a.XObjectKey , 'ATT-PWODecisionRule-OrgATT', 'A' from AccProduct\r\n a join deleted d on a.UID_AccProduct = d.UID_AccProduct exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID end  END TRY BEGIN CATCH exec\r\n QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TATTUUNSAccountB",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSAccountB",
      "CreateDate": "2025-06-27T18:01:21.373",
      "ModifyDate": "2026-04-14T23:23:08.833",
      "Definition": "    create   trigger TSB_TATTUUNSAccountB on UNSAccountB  for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(UID_Person\r\n) begin  declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select dbo.QBM_FCVElementToObjectKey1\r\n('Person', '', i.UID_Person), v.UID_PWODecisionRule, 'A' from inserted i cross join (values ('ATT-PWODecisionRule-XM') ) as v (UID_PWODecisionRule) exec\r\n QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT\r\n END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TATTUUNSGroupB",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB",
      "CreateDate": "2025-06-27T18:01:21.33",
      "ModifyDate": "2026-04-14T23:23:08.873",
      "Definition": "    create   trigger TSB_TATTUUNSGroupB on UNSGroupB  for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(UID_AccProduct\r\n) begin   declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select i.XobjectKey , 'ATT-PWODecisionRule-AN'\r\n, 'A' from inserted i exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID  declare @RecalcParameter_02 QBM_YCursorBuffer insert into @RecalcParameter_02\r\n (ObjectKey1, UID1, Ident1) select b.XObjectKey, c.DecisionRule, 'A' from (select a.XObjectKey from AccProduct a join inserted i on a.UID_AccProduct = \r\ni.UID_AccProduct union select a.XObjectKey from AccProduct a join deleted d on a.UID_AccProduct = d.UID_AccProduct ) b cross join (select 'ATT-PWODecisionRule-OA'\r\n as DecisionRule union select 'ATT-PWODecisionRule-OrgATT' ) c exec QER_PITShopHelperFill_Recalc @RecalcParameter_02, @GenprocID end  END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TATTUUNSGroupB1",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB1",
      "CreateDate": "2025-06-27T18:01:21.337",
      "ModifyDate": "2026-04-14T23:23:08.877",
      "Definition": "   create   trigger TSB_TATTUUNSGroupB1 on UNSGroupB1  for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(UID_AccProduct\r\n) begin   declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select i.XobjectKey , 'ATT-PWODecisionRule-AN'\r\n, 'A' from inserted i exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID  declare @RecalcParameter_02 QBM_YCursorBuffer insert into @RecalcParameter_02\r\n (ObjectKey1, UID1, Ident1) select b.XObjectKey, c.DecisionRule, 'A' from (select a.XObjectKey from AccProduct a join inserted i on a.UID_AccProduct = \r\ni.UID_AccProduct union select a.XObjectKey from AccProduct a join deleted d on a.UID_AccProduct = d.UID_AccProduct ) b cross join (select 'ATT-PWODecisionRule-OA'\r\n as DecisionRule union select 'ATT-PWODecisionRule-OrgATT' ) c exec QER_PITShopHelperFill_Recalc @RecalcParameter_02, @GenprocID end  END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TATTUUNSGroupB2",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB2",
      "CreateDate": "2025-06-27T18:01:21.347",
      "ModifyDate": "2026-04-14T23:23:08.887",
      "Definition": "   create   trigger TSB_TATTUUNSGroupB2 on UNSGroupB2  for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(UID_AccProduct\r\n) begin   declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select i.XobjectKey , 'ATT-PWODecisionRule-AN'\r\n, 'A' from inserted i exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID  declare @RecalcParameter_02 QBM_YCursorBuffer insert into @RecalcParameter_02\r\n (ObjectKey1, UID1, Ident1) select b.XObjectKey, c.DecisionRule, 'A' from (select a.XObjectKey from AccProduct a join inserted i on a.UID_AccProduct = \r\ni.UID_AccProduct union select a.XObjectKey from AccProduct a join deleted d on a.UID_AccProduct = d.UID_AccProduct ) b cross join (select 'ATT-PWODecisionRule-OA'\r\n as DecisionRule union select 'ATT-PWODecisionRule-OrgATT' ) c exec QER_PITShopHelperFill_Recalc @RecalcParameter_02, @GenprocID end  END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TATTUUNSGroupB3",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB3",
      "CreateDate": "2025-06-27T18:01:21.353",
      "ModifyDate": "2026-04-14T23:23:08.9",
      "Definition": "   create   trigger TSB_TATTUUNSGroupB3 on UNSGroupB3  for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext\r\n('') BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if update(UID_AccProduct\r\n) begin   declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select i.XobjectKey , 'ATT-PWODecisionRule-AN'\r\n, 'A' from inserted i exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID  declare @RecalcParameter_02 QBM_YCursorBuffer insert into @RecalcParameter_02\r\n (ObjectKey1, UID1, Ident1) select b.XObjectKey, c.DecisionRule, 'A' from (select a.XObjectKey from AccProduct a join inserted i on a.UID_AccProduct = \r\ni.UID_AccProduct union select a.XObjectKey from AccProduct a join deleted d on a.UID_AccProduct = d.UID_AccProduct ) b cross join (select 'ATT-PWODecisionRule-OA'\r\n as DecisionRule union select 'ATT-PWODecisionRule-OrgATT' ) c exec QER_PITShopHelperFill_Recalc @RecalcParameter_02, @GenprocID end  END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TATTUUNSRootB",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSRootB",
      "CreateDate": "2025-06-27T18:01:21.317",
      "ModifyDate": "2026-04-14T23:23:08.927",
      "Definition": "    create   trigger TSB_TATTUUNSRootB on UNSRootB  for Update not for Replication as begin  declare @Parameter nvarchar(1000) BEGIN TRY if exists\r\n (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID\r\n = dbo.QBM_FGISessionContext('') if update(uid_AERoleOwner) begin     declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_01 (ObjectKey1\r\n, UID1, Ident1) select i.XobjectKey , 'TSB-PWODecisionRule-EN', 'A' from inserted i  insert into @RecalcParameter_01 (ObjectKey1, UID1, Ident1) select \r\nbt.XobjectKey, 'TSB-PWODecisionRule-SO', 'A' from inserted i join basetree bt on i.uid_AERoleOwner = bt.UID_Org insert into @RecalcParameter_01 (ObjectKey1\r\n, UID1, Ident1) select bt.XobjectKey, 'TSB-PWODecisionRule-SO', 'A' from deleted d join basetree bt on d.uid_AERoleOwner = bt.UID_Org exec QER_PITShopHelperFill_Recalc\r\n @RecalcParameter_01, @GenprocID  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end\r\n \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TCPLUUNSRootB",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSRootB",
      "CreateDate": "2025-06-27T18:01:21.38",
      "ModifyDate": "2026-04-14T23:23:08.927",
      "Definition": "    create   trigger TSB_TCPLUUNSRootB on UNSRootB  for Update not for Replication as begin  declare @Parameter nvarchar(1000) BEGIN TRY if exists\r\n (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID\r\n = dbo.QBM_FGISessionContext('')  if update(uid_AERoleOwner) begin select @Parameter = '|' + 'CPL-PWODecisionRule-OC|' +  'CPL-PWODecisionRule-OH|'  exec\r\n QER_PITShopHelperFillAll @parameter, @GenProcID end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH \r\nende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TDTSBPersonUsesAccount",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "TSBPersonUsesAccount",
      "CreateDate": "2025-06-27T18:01:21.257",
      "ModifyDate": "2026-04-14T23:23:08.827",
      "Definition": "create   trigger TSB_TDTSBPersonUsesAccount on TSBPersonUsesAccount  for Delete not for Replication as begin if exists (select top 1 1 from deleted\r\n) goto start return start: declare @GenProcID varchar(38) BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext('') if '1' = dbo.QBM_FGIConfigparmValue\r\n('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount') begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject\r\n, genprocid) select x.uid, null, @GenProcID from ( select distinct uid_person as uid from deleted where ObjectKeyAccount like '<Key><T>UNSAccountB</T>%'\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_01 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TDTSBSpecificGroupBehavior",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "TSBSpecificGroupBehavior",
      "CreateDate": "2025-06-27T18:01:21.303",
      "ModifyDate": "2026-04-14T23:23:08.83",
      "Definition": "create   trigger TSB_TDTSBSpecificGroupBehavior on TSBSpecificGroupBehavior  for delete not for Replication as begin declare @GenProcID varchar(38\r\n) = dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from deleted) goto start return start: declare @GUIDUnsGroupB00 QBM_YSingleGUID insert\r\n into @GUIDUnsGroupB00(UID_SingleGuid) select g.UID_UNSGroupB from UNSGroupB g join deleted i on g.XObjectKey = i.ObjectKeyGroup if @@ROWCOUNT > 0 begin\r\n declare @DBQueueElements_00 QBM_YDBQueueRaw insert into @DBQueueElements_00 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select\r\n uig.UID_UNSAccountB as uid from UNSAccountBInUNSGroupB uig join @GUIDUnsGroupB00 gg on uig.UID_UNSGroupB = gg.UID_SingleGuid union select uig.UID_UNSAccountB\r\n as uid from UNSAccountBHasUNSGroupB uig join @GUIDUnsGroupB00 gg on uig.UID_UNSGroupB = gg.UID_SingleGuid ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB'\r\n, @DBQueueElements_00 end  declare @GUIDUnsGroupB01 QBM_YSingleGUID insert into @GUIDUnsGroupB01(UID_SingleGuid) select g.UID_UNSGroupB1 from UNSGroupB1\r\n g join deleted i on g.XObjectKey = i.ObjectKeyGroup if @@ROWCOUNT > 0 begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uig.UID_UNSAccountB as uid from UNSAccountBInUNSGroupB1 uig join @GUIDUnsGroupB01\r\n gg on uig.UID_UNSGroupB1 = gg.UID_SingleGuid union select uig.UID_UNSAccountB as uid from UNSAccountBHasUNSGroupB1 uig join @GUIDUnsGroupB01 gg on uig.UID_UNSGroupB1\r\n = gg.UID_SingleGuid ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB1', @DBQueueElements_01 end  declare @GUIDUnsGroupB02 QBM_YSingleGUID\r\n insert into @GUIDUnsGroupB02(UID_SingleGuid) select g.UID_UNSGroupB2 from UNSGroupB2 g join deleted i on g.XObjectKey = i.ObjectKeyGroup if @@ROWCOUNT\r\n > 0 begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from\r\n ( select uig.UID_UNSAccountB as uid from UNSAccountBInUNSGroupB2 uig join @GUIDUnsGroupB02 gg on uig.UID_UNSGroupB2 = gg.UID_SingleGuid union select uig.UID_UNSAccountB\r\n as uid from UNSAccountBHasUNSGroupB2 uig join @GUIDUnsGroupB02 gg on uig.UID_UNSGroupB2 = gg.UID_SingleGuid ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB2'\r\n, @DBQueueElements_02 end  declare @GUIDUnsGroupB03 QBM_YSingleGUID insert into @GUIDUnsGroupB03(UID_SingleGuid) select g.UID_UNSGroupB3 from UNSGroupB3\r\n g join deleted i on g.XObjectKey = i.ObjectKeyGroup if @@ROWCOUNT > 0 begin declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uig.UID_UNSAccountB as uid from UNSAccountBInUNSGroupB3 uig join @GUIDUnsGroupB03\r\n gg on uig.UID_UNSGroupB3 = gg.UID_SingleGuid union select uig.UID_UNSAccountB as uid from UNSAccountBHasUNSGroupB3 uig join @GUIDUnsGroupB03 gg on uig.UID_UNSGroupB3\r\n = gg.UID_SingleGuid ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB3', @DBQueueElements_03 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TDUNSAccountB",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSAccountB",
      "CreateDate": "2025-06-27T18:01:21.08",
      "ModifyDate": "2026-04-14T23:23:08.833",
      "Definition": "create   trigger TSB_TDUNSAccountB on UNSAccountB  for DELETE not for Replication as begin  if exists (select top 1 1 from deleted) goto start return\r\n start: declare @GenProcID varchar(38) BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext('')  if exists (select top 1 1 from deleted d join PersonHasTSBAccountDef\r\n pha on d.XObjectKey = pha.XObjectKey where pha.XOrigin > 0 and pha.XIsInEffect = 1  ) begin raiserror('#LDS#Delete Accounts with existing PersonHasTSBAccountDef is not permitted.|'\r\n, 18, 1) with nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null\r\n, @GenProcID from ( select distinct uid_person as uid from deleted where uid_person > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', \r\n@DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TDUNSGroupB",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB",
      "CreateDate": "2025-06-27T18:01:21.6",
      "ModifyDate": "2026-04-14T23:23:08.873",
      "Definition": "create   trigger TSB_TDUNSGroupB on UNSGroupB  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted) \r\ngoto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select  a.uid_person as uid from deleted d join UNSaccountBinUNSGroupB\r\n aig on d.uid_UNSGroupB = aig.uid_UNSGroupB and aig.XOrigin > 0  join UNSaccountB a on aig.uid_UNSaccountB = a.uid_UNSaccountB  where a.uid_person\r\n > ' '  union select a.uid_person as uid from deleted d join UNSAccountBHasUNSGroupB aig on d.uid_UNSGroupB = aig.uid_UNSGroupB and aig.XOrigin\r\n > 0  join UNSaccountB a on aig.uid_UNSaccountB = a.uid_UNSaccountB  where a.uid_person > ' '  ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject'\r\n, @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TDUNSGroupB1",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB1",
      "CreateDate": "2025-06-27T18:01:21.777",
      "ModifyDate": "2026-04-14T23:23:08.877",
      "Definition": "create   trigger TSB_TDUNSGroupB1 on UNSGroupB1  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted) \r\ngoto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select  a.uid_person as uid from deleted d join UNSaccountBinUNSGroupB1\r\n aig on d.uid_UNSGroupB1 = aig.uid_UNSGroupB1 and aig.XOrigin > 0  join UNSaccountB a on aig.uid_UNSaccountB = a.uid_UNSaccountB  where a.uid_person\r\n > ' '  union select a.uid_person as uid from deleted d join UNSAccountBHasUNSGroupB1 aig on d.uid_UNSGroupB1 = aig.uid_UNSGroupB1 and aig.XOrigin\r\n > 0  join UNSaccountB a on aig.uid_UNSaccountB = a.uid_UNSaccountB  where a.uid_person > ' '  ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject'\r\n, @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TDUNSGroupB1Collection",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB1Collection",
      "CreateDate": "2025-06-27T18:01:21.793",
      "ModifyDate": "2026-04-14T23:23:08.88",
      "Definition": "create   trigger TSB_TDUNSGroupB1Collection on UNSGroupB1Collection  for Delete not for Replication as begin  if exists (select top 1 1 from\r\n deleted) goto start return start: BEGIN TRY declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct a.uid_person as uid\r\n from UNSAccountBInUNSGroupB1 uig join (select uid_UNSGroupB1Parent as UID_Group from deleted union select UID_UNSGroupB1Child from deleted ) as \r\nx on x.uid_group = uig.uid_UNSGroupB1 and uig.XOrigin > 0  join UNSAccountB a on uig.UID_UNSAccountB = a.uid_UNSAccountB where a.uid_person > ' '  union\r\n select a.uid_person as uid from UNSAccountBHasUNSGroupB1 uig join (select uid_UNSGroupB1Parent as UID_Group from deleted union select UID_UNSGroupB1Child\r\n from deleted ) as x on x.uid_group = uig.uid_UNSGroupB1 and uig.XOrigin > 0  join UNSAccountB a on uig.UID_UNSAccountB = a.uid_UNSAccountB where a.uid_person\r\n > ' '  ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uig.UID_Org as uid from BaseTreeHasUNSGroupB1 uig join (select \r\nuid_UNSGroupB1Parent as UID_Group from deleted union select UID_UNSGroupB1Child from deleted ) as x on x.uid_group = uig.uid_UNSGroupB1 and uig.XOrigin\r\n > 0  ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-BaseTreeHasObject', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TDUNSGroupB1Exclusion",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB1Exclusion",
      "CreateDate": "2025-06-27T18:01:21.8",
      "ModifyDate": "2026-04-14T23:23:08.88",
      "Definition": "create   trigger TSB_TDUNSGroupB1Exclusion on UNSGroupB1Exclusion  for Delete not for Replication as begin  BEGIN TRY if exists (select top \r\n1 1 from deleted) goto start return start:  declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw  insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uig.UID_UNSAccountB as uid\r\n from ( select UID_UNSGroupB1Lower as UID_UNSGroupB1 from deleted union select UID_UNSGroupB1Higher from deleted ) as y  join UNSGroupB1Collection\r\n coll on y.uid_UNSGroupB1 = coll.UID_UNSGroupB1Parent join UNSAccountBInUNSGroupB1 uig on coll.UID_UNSGroupB1Child = uig.uid_UNSGroupB1    union\r\n select uig.UID_UNSAccountB as uid from ( select UID_UNSGroupB1Lower as UID_UNSGroupB1 from deleted union select UID_UNSGroupB1Higher from deleted\r\n ) as y  join UNSGroupB1Collection coll on y.uid_UNSGroupB1 = coll.UID_UNSGroupB1Parent join UNSAccountBHasUNSGroupB1 uig on coll.UID_UNSGroupB1Child\r\n = uig.uid_UNSGroupB1  ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB1', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select g.UID_Org as uid from ( select UID_UNSGroupB1Lower\r\n as UID_UNSGroupB1 from deleted union select UID_UNSGroupB1Higher from deleted ) as y join BaseTreeHasUNSGroupB1 g on y.UID_UNSGroupB1 = g.UID_UNSGroupB1\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-OrgHasUNSGroupB1', @DBQueueElements_02  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TDUNSGroupB1InUNSGroupB1",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB1InUNSGroupB1",
      "CreateDate": "2025-06-27T18:01:21.803",
      "ModifyDate": "2026-04-14T23:23:08.883",
      "Definition": "create   trigger TSB_TDUNSGroupB1InUNSGroupB1 on UNSGroupB1InUNSGroupB1  for Delete not for Replication as begin  if exists (select top \r\n1 1 from deleted) goto start return start: BEGIN TRY declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_UNSGroupB1Parent as \r\nuid from deleted union select UID_UNSGroupB1Child from deleted union  select co.uid_UNSGroupB1Parent as uid from deleted i join UNSGroupB1collection\r\n co on i.UID_UNSGroupB1Child = co.UID_UNSGroupB1Child  union select co.uid_UNSGroupB1Parent from deleted i join UNSGroupB1collection co on i.UID_UNSGroupB1Parent\r\n = co.UID_UNSGroupB1Child  union select co.UID_UNSGroupB1Child from deleted i join UNSGroupB1collection co on i.UID_UNSGroupB1Child = co.UID_UNSGroupB1Parent\r\n  union select co.UID_UNSGroupB1Child from deleted i join UNSGroupB1collection co on i.UID_UNSGroupB1Parent = co.UID_UNSGroupB1Parent ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'TSB-K-UNSGroupB1InUNSGroupB1', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18\r\n, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TDUNSGroupB2",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB2",
      "CreateDate": "2025-06-27T18:01:21.92",
      "ModifyDate": "2026-04-14T23:23:08.887",
      "Definition": "create   trigger TSB_TDUNSGroupB2 on UNSGroupB2  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted) \r\ngoto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select  a.uid_person as uid from deleted d join UNSaccountBinUNSGroupB2\r\n aig on d.uid_UNSGroupB2 = aig.uid_UNSGroupB2 and aig.XOrigin > 0  join UNSaccountB a on aig.uid_UNSaccountB = a.uid_UNSaccountB  where a.uid_person\r\n > ' '  union select a.uid_person as uid from deleted d join UNSAccountBHasUNSGroupB2 aig on d.uid_UNSGroupB2 = aig.uid_UNSGroupB2 and aig.XOrigin\r\n > 0  join UNSaccountB a on aig.uid_UNSaccountB = a.uid_UNSaccountB  where a.uid_person > ' '  ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject'\r\n, @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TDUNSGroupB2Collection",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB2Collection",
      "CreateDate": "2025-06-27T18:01:21.937",
      "ModifyDate": "2026-04-14T23:23:08.89",
      "Definition": "create   trigger TSB_TDUNSGroupB2Collection on UNSGroupB2Collection  for Delete not for Replication as begin  if exists (select top 1 1 from\r\n deleted) goto start return start: BEGIN TRY declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct a.uid_person as uid\r\n from UNSAccountBInUNSGroupB2 uig join (select uid_UNSGroupB2Parent as UID_Group from deleted union select UID_UNSGroupB2Child from deleted ) as \r\nx on x.uid_group = uig.uid_UNSGroupB2 and uig.XOrigin > 0  join UNSAccountB a on uig.UID_UNSAccountB = a.uid_UNSAccountB where a.uid_person > ' '  union\r\n select a.uid_person as uid from UNSAccountBHasUNSGroupB2 uig join (select uid_UNSGroupB2Parent as UID_Group from deleted union select UID_UNSGroupB2Child\r\n from deleted ) as x on x.uid_group = uig.uid_UNSGroupB2 and uig.XOrigin > 0  join UNSAccountB a on uig.UID_UNSAccountB = a.uid_UNSAccountB where a.uid_person\r\n > ' '  ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uig.UID_Org as uid from BaseTreeHasUNSGroupB2 uig join (select \r\nuid_UNSGroupB2Parent as UID_Group from deleted union select UID_UNSGroupB2Child from deleted ) as x on x.uid_group = uig.uid_UNSGroupB2 and uig.XOrigin\r\n > 0  ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-BaseTreeHasObject', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TDUNSGroupB2Exclusion",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB2Exclusion",
      "CreateDate": "2025-06-27T18:01:21.943",
      "ModifyDate": "2026-04-14T23:23:08.893",
      "Definition": "create   trigger TSB_TDUNSGroupB2Exclusion on UNSGroupB2Exclusion  for Delete not for Replication as begin  BEGIN TRY if exists (select top \r\n1 1 from deleted) goto start return start:  declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw  insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uig.UID_UNSAccountB as uid\r\n from ( select UID_UNSGroupB2Lower as UID_UNSGroupB2 from deleted union select UID_UNSGroupB2Higher from deleted ) as y  join UNSGroupB2Collection\r\n coll on y.uid_UNSGroupB2 = coll.UID_UNSGroupB2Parent join UNSAccountBInUNSGroupB2 uig on coll.UID_UNSGroupB2Child = uig.uid_UNSGroupB2    union\r\n select uig.UID_UNSAccountB as uid from ( select UID_UNSGroupB2Lower as UID_UNSGroupB2 from deleted union select UID_UNSGroupB2Higher from deleted\r\n ) as y  join UNSGroupB2Collection coll on y.uid_UNSGroupB2 = coll.UID_UNSGroupB2Parent join UNSAccountBHasUNSGroupB2 uig on coll.UID_UNSGroupB2Child\r\n = uig.uid_UNSGroupB2  ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB2', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select g.UID_Org as uid from ( select UID_UNSGroupB2Lower\r\n as UID_UNSGroupB2 from deleted union select UID_UNSGroupB2Higher from deleted ) as y join BaseTreeHasUNSGroupB2 g on y.UID_UNSGroupB2 = g.UID_UNSGroupB2\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-OrgHasUNSGroupB2', @DBQueueElements_02  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TDUNSGroupB2InUNSGroupB2",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB2InUNSGroupB2",
      "CreateDate": "2025-06-27T18:01:21.95",
      "ModifyDate": "2026-04-14T23:23:08.897",
      "Definition": "create   trigger TSB_TDUNSGroupB2InUNSGroupB2 on UNSGroupB2InUNSGroupB2  for Delete not for Replication as begin  if exists (select top \r\n1 1 from deleted) goto start return start: BEGIN TRY declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_UNSGroupB2Parent as \r\nuid from deleted union select UID_UNSGroupB2Child from deleted union  select co.uid_UNSGroupB2Parent as uid from deleted i join UNSGroupB2collection\r\n co on i.UID_UNSGroupB2Child = co.UID_UNSGroupB2Child  union select co.uid_UNSGroupB2Parent from deleted i join UNSGroupB2collection co on i.UID_UNSGroupB2Parent\r\n = co.UID_UNSGroupB2Child  union select co.UID_UNSGroupB2Child from deleted i join UNSGroupB2collection co on i.UID_UNSGroupB2Child = co.UID_UNSGroupB2Parent\r\n  union select co.UID_UNSGroupB2Child from deleted i join UNSGroupB2collection co on i.UID_UNSGroupB2Parent = co.UID_UNSGroupB2Parent ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'TSB-K-UNSGroupB2InUNSGroupB2', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18\r\n, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TDUNSGroupB3",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB3",
      "CreateDate": "2025-06-27T18:01:22.067",
      "ModifyDate": "2026-04-14T23:23:08.9",
      "Definition": "create   trigger TSB_TDUNSGroupB3 on UNSGroupB3  for Delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted) \r\ngoto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select  a.uid_person as uid from deleted d join UNSaccountBinUNSGroupB3\r\n aig on d.uid_UNSGroupB3 = aig.uid_UNSGroupB3 and aig.XOrigin > 0  join UNSaccountB a on aig.uid_UNSaccountB = a.uid_UNSaccountB  where a.uid_person\r\n > ' '  union select a.uid_person as uid from deleted d join UNSAccountBHasUNSGroupB3 aig on d.uid_UNSGroupB3 = aig.uid_UNSGroupB3 and aig.XOrigin\r\n > 0  join UNSaccountB a on aig.uid_UNSaccountB = a.uid_UNSaccountB  where a.uid_person > ' '  ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject'\r\n, @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TDUNSGroupB3Collection",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB3Collection",
      "CreateDate": "2025-06-27T18:01:22.083",
      "ModifyDate": "2026-04-14T23:23:08.903",
      "Definition": "create   trigger TSB_TDUNSGroupB3Collection on UNSGroupB3Collection  for Delete not for Replication as begin  if exists (select top 1 1 from\r\n deleted) goto start return start: BEGIN TRY declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct a.uid_person as uid\r\n from UNSAccountBInUNSGroupB3 uig join (select uid_UNSGroupB3Parent as UID_Group from deleted union select UID_UNSGroupB3Child from deleted ) as \r\nx on x.uid_group = uig.uid_UNSGroupB3 and uig.XOrigin > 0  join UNSAccountB a on uig.UID_UNSAccountB = a.uid_UNSAccountB where a.uid_person > ' '  union\r\n select a.uid_person as uid from UNSAccountBHasUNSGroupB3 uig join (select uid_UNSGroupB3Parent as UID_Group from deleted union select UID_UNSGroupB3Child\r\n from deleted ) as x on x.uid_group = uig.uid_UNSGroupB3 and uig.XOrigin > 0  join UNSAccountB a on uig.UID_UNSAccountB = a.uid_UNSAccountB where a.uid_person\r\n > ' '  ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uig.UID_Org as uid from BaseTreeHasUNSGroupB3 uig join (select \r\nuid_UNSGroupB3Parent as UID_Group from deleted union select UID_UNSGroupB3Child from deleted ) as x on x.uid_group = uig.uid_UNSGroupB3 and uig.XOrigin\r\n > 0  ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-BaseTreeHasObject', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TDUNSGroupB3Exclusion",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB3Exclusion",
      "CreateDate": "2025-06-27T18:01:22.09",
      "ModifyDate": "2026-04-14T23:23:08.907",
      "Definition": "create   trigger TSB_TDUNSGroupB3Exclusion on UNSGroupB3Exclusion  for Delete not for Replication as begin  BEGIN TRY if exists (select top \r\n1 1 from deleted) goto start return start:  declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw  insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uig.UID_UNSAccountB as uid\r\n from ( select UID_UNSGroupB3Lower as UID_UNSGroupB3 from deleted union select UID_UNSGroupB3Higher from deleted ) as y  join UNSGroupB3Collection\r\n coll on y.uid_UNSGroupB3 = coll.UID_UNSGroupB3Parent join UNSAccountBInUNSGroupB3 uig on coll.UID_UNSGroupB3Child = uig.uid_UNSGroupB3    union\r\n select uig.UID_UNSAccountB as uid from ( select UID_UNSGroupB3Lower as UID_UNSGroupB3 from deleted union select UID_UNSGroupB3Higher from deleted\r\n ) as y  join UNSGroupB3Collection coll on y.uid_UNSGroupB3 = coll.UID_UNSGroupB3Parent join UNSAccountBHasUNSGroupB3 uig on coll.UID_UNSGroupB3Child\r\n = uig.uid_UNSGroupB3  ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB3', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select g.UID_Org as uid from ( select UID_UNSGroupB3Lower\r\n as UID_UNSGroupB3 from deleted union select UID_UNSGroupB3Higher from deleted ) as y join BaseTreeHasUNSGroupB3 g on y.UID_UNSGroupB3 = g.UID_UNSGroupB3\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-OrgHasUNSGroupB3', @DBQueueElements_02  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TDUNSGroupB3InUNSGroupB3",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB3InUNSGroupB3",
      "CreateDate": "2025-06-27T18:01:22.097",
      "ModifyDate": "2026-04-14T23:23:08.91",
      "Definition": "create   trigger TSB_TDUNSGroupB3InUNSGroupB3 on UNSGroupB3InUNSGroupB3  for Delete not for Replication as begin  if exists (select top \r\n1 1 from deleted) goto start return start: BEGIN TRY declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_UNSGroupB3Parent as \r\nuid from deleted union select UID_UNSGroupB3Child from deleted union  select co.uid_UNSGroupB3Parent as uid from deleted i join UNSGroupB3collection\r\n co on i.UID_UNSGroupB3Child = co.UID_UNSGroupB3Child  union select co.uid_UNSGroupB3Parent from deleted i join UNSGroupB3collection co on i.UID_UNSGroupB3Parent\r\n = co.UID_UNSGroupB3Child  union select co.UID_UNSGroupB3Child from deleted i join UNSGroupB3collection co on i.UID_UNSGroupB3Child = co.UID_UNSGroupB3Parent\r\n  union select co.UID_UNSGroupB3Child from deleted i join UNSGroupB3collection co on i.UID_UNSGroupB3Parent = co.UID_UNSGroupB3Parent ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'TSB-K-UNSGroupB3InUNSGroupB3', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18\r\n, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TDUNSGroupBCollection",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupBCollection",
      "CreateDate": "2025-06-27T18:01:21.627",
      "ModifyDate": "2026-04-14T23:23:08.91",
      "Definition": "create   trigger TSB_TDUNSGroupBCollection on UNSGroupBCollection  for Delete not for Replication as begin  if exists (select top 1 1 from\r\n deleted) goto start return start: BEGIN TRY declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct a.uid_person as uid\r\n from UNSAccountBInUNSGroupB uig join (select uid_UNSGroupBParent as UID_Group from deleted union select UID_UNSGroupBChild from deleted ) as \r\nx on x.uid_group = uig.uid_UNSGroupB and uig.XOrigin > 0  join UNSAccountB a on uig.UID_UNSAccountB = a.uid_UNSAccountB where a.uid_person > ' '  union\r\n select a.uid_person as uid from UNSAccountBHasUNSGroupB uig join (select uid_UNSGroupBParent as UID_Group from deleted union select UID_UNSGroupBChild\r\n from deleted ) as x on x.uid_group = uig.uid_UNSGroupB and uig.XOrigin > 0  join UNSAccountB a on uig.UID_UNSAccountB = a.uid_UNSAccountB where a.uid_person\r\n > ' '  ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uig.UID_Org as uid from BaseTreeHasUNSGroupB uig join (select \r\nuid_UNSGroupBParent as UID_Group from deleted union select UID_UNSGroupBChild from deleted ) as x on x.uid_group = uig.uid_UNSGroupB and uig.XOrigin\r\n > 0  ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-BaseTreeHasObject', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TDUNSGroupBExclusion",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupBExclusion",
      "CreateDate": "2025-06-27T18:01:21.64",
      "ModifyDate": "2026-04-14T23:23:08.913",
      "Definition": "create   trigger TSB_TDUNSGroupBExclusion on UNSGroupBExclusion  for Delete not for Replication as begin  BEGIN TRY if exists (select top \r\n1 1 from deleted) goto start return start:  declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw  insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uig.UID_UNSAccountB as uid\r\n from ( select UID_UNSGroupBLower as UID_UNSGroupB from deleted union select UID_UNSGroupBHigher from deleted ) as y  join UNSGroupBCollection\r\n coll on y.uid_UNSGroupB = coll.UID_UNSGroupBParent join UNSAccountBInUNSGroupB uig on coll.UID_UNSGroupBChild = uig.uid_UNSGroupB    union\r\n select uig.UID_UNSAccountB as uid from ( select UID_UNSGroupBLower as UID_UNSGroupB from deleted union select UID_UNSGroupBHigher from deleted\r\n ) as y  join UNSGroupBCollection coll on y.uid_UNSGroupB = coll.UID_UNSGroupBParent join UNSAccountBHasUNSGroupB uig on coll.UID_UNSGroupBChild\r\n = uig.uid_UNSGroupB  ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select g.UID_Org as uid from ( select UID_UNSGroupBLower\r\n as UID_UNSGroupB from deleted union select UID_UNSGroupBHigher from deleted ) as y join BaseTreeHasUNSGroupB g on y.UID_UNSGroupB = g.UID_UNSGroupB\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-OrgHasUNSGroupB', @DBQueueElements_02  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TDUNSGroupBInUNSGroupB",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupBInUNSGroupB",
      "CreateDate": "2025-06-27T18:01:21.657",
      "ModifyDate": "2026-04-14T23:23:08.92",
      "Definition": "create   trigger TSB_TDUNSGroupBInUNSGroupB on UNSGroupBInUNSGroupB  for Delete not for Replication as begin  if exists (select top \r\n1 1 from deleted) goto start return start: BEGIN TRY declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_UNSGroupBParent as \r\nuid from deleted union select UID_UNSGroupBChild from deleted union  select co.uid_UNSGroupBParent as uid from deleted i join UNSGroupBcollection\r\n co on i.UID_UNSGroupBChild = co.UID_UNSGroupBChild  union select co.uid_UNSGroupBParent from deleted i join UNSGroupBcollection co on i.UID_UNSGroupBParent\r\n = co.UID_UNSGroupBChild  union select co.UID_UNSGroupBChild from deleted i join UNSGroupBcollection co on i.UID_UNSGroupBChild = co.UID_UNSGroupBParent\r\n  union select co.UID_UNSGroupBChild from deleted i join UNSGroupBcollection co on i.UID_UNSGroupBParent = co.UID_UNSGroupBParent ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'TSB-K-UNSGroupBInUNSGroupB', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18\r\n, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TDUNSRootB",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSRootB",
      "CreateDate": "2025-06-27T18:01:21.14",
      "ModifyDate": "2026-04-14T23:23:08.927",
      "Definition": "create   trigger TSB_TDUNSRootB on UNSRootB  for Delete not for Replication as begin declare @GenProcID varchar(38) BEGIN TRY if exists (select \r\ntop 1 1 from deleted) goto start return start: select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw insert into\r\n @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select d.UID_UNSRootB as uid from deleted d ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'TSB-K-BaseTreeOwnsObject', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIBaseTreeHasTSBAccountDef",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasTSBAccountDef",
      "CreateDate": "2025-06-27T18:01:21.157",
      "ModifyDate": "2026-04-14T23:23:07.997",
      "Definition": "  create   trigger TSB_TIBaseTreeHasTSBAccountDef on BaseTreeHasTSBAccountDef  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n  declare @AssignCheckValues QBM_YparameterList insert into @AssignCheckValues(Parameter1, Parameter2) select i.UID_Org, i.XOrigin from inserted i exec\r\n QER_PAssignmentCheckValid 'TSB-AsgnBT-TSBAccountDef', @AssignCheckValues, @GenProcID  if exists (select top 1 1 from inserted i join BaseTree dest on \r\ni.uid_Org = dest.uid_Org  join TSBAccountDef elem on i.uid_TSBAccountDef = elem.uid_TSBAccountDef where dbo.QER_FGIITShopFlagCombineValid(dest.XObjectKey\r\n, null, null, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0 and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|'\r\n, 18, 2) with nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, 'TSB-K-OrgHasTSBAccountDef'\r\n, @GenProcID from ( select distinct d.uid_org as uid from inserted d  where d.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0  ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-AllChildrenOfOrg', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select distinct b.uid_org as uid from inserted d join BaseTree b on d.uid_org = b.uid_org where b.ITShopInfo = \r\n'BO' and d.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgAutoChild', @DBQueueElements_02  declare @DBQueueElements_03 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uid_org as uid from inserted where XIsInEffect\r\n = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-BaseTreeHasObject', @DBQueueElements_03  declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct hpo.uid_person as uid from inserted i join (select pio.uid_person\r\n, pio.uid_org from personinBaseTree pio where pio.XOrigin > 0 union all select uid_person, uid_org from helperPersonOrg ) hpo on hpo.uid_org = i.uid_org\r\n where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasTSBAccountDef', @DBQueueElements_04 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIBaseTreeHasUNSGroupB",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasUNSGroupB",
      "CreateDate": "2025-06-27T18:01:21.527",
      "ModifyDate": "2026-04-14T23:23:08",
      "Definition": "  create   trigger TSB_TIBaseTreeHasUNSGroupB on BaseTreeHasUNSGroupB  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n declare @AssignCheckValues QBM_YparameterList insert into @AssignCheckValues(Parameter1, Parameter2) select i.UID_Org, i.XOrigin from inserted i exec \r\nQER_PAssignmentCheckValid 'TSB-AsgnBT-UNSGroupB', @AssignCheckValues, @GenProcID  if exists (select top 1 1 from inserted i join BaseTree dest on i.uid_Org\r\n = dest.uid_Org  join UNSGroupB elem on i.uid_UNSGroupB = elem.uid_UNSGroupB where dbo.QER_FGIITShopFlagCombineValid(dest.XObjectKey, null, null\r\n, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0 and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|'\r\n, 18, 2) with nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, 'TSB-K-OrgHasUNSGroupB'\r\n, @GenProcID from ( select distinct d.uid_org as uid from inserted d  where d.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0  ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-AllChildrenOfOrg', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select distinct b.uid_org as uid from inserted d join BaseTree b on d.uid_org = b.uid_org where b.ITShopInfo = \r\n'BO' and d.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgAutoChild', @DBQueueElements_02 declare @DBQueueElements_03 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct UNS.UID_UNSAccountB as uid from inserted\r\n i join (select pio.uid_person, pio.uid_org from personinBaseTree pio where pio.XOrigin > 0 union all select uid_person, uid_org from helperPersonOrg )\r\n hpo on hpo.uid_org = i.uid_org join UNSAccountB UNS on UNS.uid_person = hpo.uid_person and UNS.IsGroupAccount_UNSGroupB = 1 where i.XIsInEffect = 1\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB', @DBQueueElements_03  declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct i.uid_org as uid from inserted i where i.XIsInEffect = 1 ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'TSB-K-BaseTreeHasObject', @DBQueueElements_04 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH\r\n NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIBaseTreeHasUNSGroupB1",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasUNSGroupB1",
      "CreateDate": "2025-06-27T18:01:21.733",
      "ModifyDate": "2026-04-14T23:23:08",
      "Definition": "  create   trigger TSB_TIBaseTreeHasUNSGroupB1 on BaseTreeHasUNSGroupB1  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n declare @AssignCheckValues QBM_YparameterList insert into @AssignCheckValues(Parameter1, Parameter2) select i.UID_Org, i.XOrigin from inserted i exec \r\nQER_PAssignmentCheckValid 'TSB-AsgnBT-UNSGroupB1', @AssignCheckValues, @GenProcID  if exists (select top 1 1 from inserted i join BaseTree dest on i.uid_Org\r\n = dest.uid_Org  join UNSGroupB1 elem on i.uid_UNSGroupB1 = elem.uid_UNSGroupB1 where dbo.QER_FGIITShopFlagCombineValid(dest.XObjectKey, null, null\r\n, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0 and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|'\r\n, 18, 2) with nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, 'TSB-K-OrgHasUNSGroupB1'\r\n, @GenProcID from ( select distinct d.uid_org as uid from inserted d  where d.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0  ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-AllChildrenOfOrg', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select distinct b.uid_org as uid from inserted d join BaseTree b on d.uid_org = b.uid_org where b.ITShopInfo = \r\n'BO' and d.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgAutoChild', @DBQueueElements_02 declare @DBQueueElements_03 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct UNS.UID_UNSAccountB as uid from inserted\r\n i join (select pio.uid_person, pio.uid_org from personinBaseTree pio where pio.XOrigin > 0 union all select uid_person, uid_org from helperPersonOrg )\r\n hpo on hpo.uid_org = i.uid_org join UNSAccountB UNS on UNS.uid_person = hpo.uid_person and UNS.IsGroupAccount_UNSGroupB1 = 1 where i.XIsInEffect = 1\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB1', @DBQueueElements_03  declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct i.uid_org as uid from inserted i where i.XIsInEffect = 1 ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'TSB-K-BaseTreeHasObject', @DBQueueElements_04 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH\r\n NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIBaseTreeHasUNSGroupB2",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasUNSGroupB2",
      "CreateDate": "2025-06-27T18:01:21.88",
      "ModifyDate": "2026-04-14T23:23:08.003",
      "Definition": "  create   trigger TSB_TIBaseTreeHasUNSGroupB2 on BaseTreeHasUNSGroupB2  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n declare @AssignCheckValues QBM_YparameterList insert into @AssignCheckValues(Parameter1, Parameter2) select i.UID_Org, i.XOrigin from inserted i exec \r\nQER_PAssignmentCheckValid 'TSB-AsgnBT-UNSGroupB2', @AssignCheckValues, @GenProcID  if exists (select top 1 1 from inserted i join BaseTree dest on i.uid_Org\r\n = dest.uid_Org  join UNSGroupB2 elem on i.uid_UNSGroupB2 = elem.uid_UNSGroupB2 where dbo.QER_FGIITShopFlagCombineValid(dest.XObjectKey, null, null\r\n, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0 and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|'\r\n, 18, 2) with nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, 'TSB-K-OrgHasUNSGroupB2'\r\n, @GenProcID from ( select distinct d.uid_org as uid from inserted d  where d.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0  ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-AllChildrenOfOrg', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select distinct b.uid_org as uid from inserted d join BaseTree b on d.uid_org = b.uid_org where b.ITShopInfo = \r\n'BO' and d.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgAutoChild', @DBQueueElements_02 declare @DBQueueElements_03 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct UNS.UID_UNSAccountB as uid from inserted\r\n i join (select pio.uid_person, pio.uid_org from personinBaseTree pio where pio.XOrigin > 0 union all select uid_person, uid_org from helperPersonOrg )\r\n hpo on hpo.uid_org = i.uid_org join UNSAccountB UNS on UNS.uid_person = hpo.uid_person and UNS.IsGroupAccount_UNSGroupB2 = 1 where i.XIsInEffect = 1\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB2', @DBQueueElements_03  declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct i.uid_org as uid from inserted i where i.XIsInEffect = 1 ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'TSB-K-BaseTreeHasObject', @DBQueueElements_04 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH\r\n NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIBaseTreeHasUNSGroupB3",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasUNSGroupB3",
      "CreateDate": "2025-06-27T18:01:22.023",
      "ModifyDate": "2026-04-14T23:23:08.007",
      "Definition": "  create   trigger TSB_TIBaseTreeHasUNSGroupB3 on BaseTreeHasUNSGroupB3  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n declare @AssignCheckValues QBM_YparameterList insert into @AssignCheckValues(Parameter1, Parameter2) select i.UID_Org, i.XOrigin from inserted i exec \r\nQER_PAssignmentCheckValid 'TSB-AsgnBT-UNSGroupB3', @AssignCheckValues, @GenProcID  if exists (select top 1 1 from inserted i join BaseTree dest on i.uid_Org\r\n = dest.uid_Org  join UNSGroupB3 elem on i.uid_UNSGroupB3 = elem.uid_UNSGroupB3 where dbo.QER_FGIITShopFlagCombineValid(dest.XObjectKey, null, null\r\n, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0 and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|'\r\n, 18, 2) with nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, 'TSB-K-OrgHasUNSGroupB3'\r\n, @GenProcID from ( select distinct d.uid_org as uid from inserted d  where d.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0  ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'QER-K-AllChildrenOfOrg', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from ( select distinct b.uid_org as uid from inserted d join BaseTree b on d.uid_org = b.uid_org where b.ITShopInfo = \r\n'BO' and d.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgAutoChild', @DBQueueElements_02 declare @DBQueueElements_03 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct UNS.UID_UNSAccountB as uid from inserted\r\n i join (select pio.uid_person, pio.uid_org from personinBaseTree pio where pio.XOrigin > 0 union all select uid_person, uid_org from helperPersonOrg )\r\n hpo on hpo.uid_org = i.uid_org join UNSAccountB UNS on UNS.uid_person = hpo.uid_person and UNS.IsGroupAccount_UNSGroupB3 = 1 where i.XIsInEffect = 1\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB3', @DBQueueElements_03  declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct i.uid_org as uid from inserted i where i.XIsInEffect = 1 ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'TSB-K-BaseTreeHasObject', @DBQueueElements_04 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH\r\n NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIPersonHasTSBAccountDef",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PersonHasTSBAccountDef",
      "CreateDate": "2025-06-27T18:01:21.18",
      "ModifyDate": "2026-04-14T23:23:08.45",
      "Definition": "    create   trigger TSB_TIPersonHasTSBAccountDef on PersonHasTSBAccountDef  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n  if exists (select top 1 1 from inserted i   join TSBAccountDef elem on i.uid_TSBAccountDef = elem.uid_TSBAccountDef where dbo.QER_FGIITShopFlagCombineValid\r\n(i.XObjectKey, null, null, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0 and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 ) begin  raiserror\r\n ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|', 18, 2) with nowait end declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct i.uid_person as uid from inserted i   where\r\n i.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasTSBAccountDef', @DBQueueElements_01 declare @DBQueueElements_02\r\n QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct i.uid_person as uid\r\n from inserted i where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIRMSESetHasEntitlement",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "ESetHasEntitlement",
      "CreateDate": "2025-06-27T18:01:21.39",
      "ModifyDate": "2026-04-14T23:23:08.32",
      "Definition": "  create   trigger TSB_TIRMSESetHasEntitlement on ESetHasEntitlement  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1\r\n 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  if exists (select top 1 1 \r\nfrom inserted i join UNSGroupB x on i.Entitlement = x.XObjectKey and x.HasReadOnlyMemberships = 1) or exists (select top 1 1 from inserted i join UNSGroupB1\r\n x on i.Entitlement = x.XObjectKey and x.HasReadOnlyMemberships = 1) or exists (select top 1 1 from inserted i join UNSGroupB2 x on i.Entitlement = x.XObjectKey\r\n and x.HasReadOnlyMemberships = 1) or exists (select top 1 1 from inserted i join UNSGroupB3 x on i.Entitlement = x.XObjectKey and x.HasReadOnlyMemberships\r\n = 1) begin raiserror( '#LDS#Cannot make assignment because it involves a group with read only memberships.|', 18, 2) with nowait end END TRY BEGIN CATCH\r\n exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TITSBPersonUsesAccount",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "TSBPersonUsesAccount",
      "CreateDate": "2025-06-27T18:01:21.25",
      "ModifyDate": "2026-04-14T23:23:08.823",
      "Definition": "    create   trigger TSB_TITSBPersonUsesAccount on TSBPersonUsesAccount  for Insert not for Replication as begin if exists (select top 1 1 from \r\ninserted) goto start return start: declare @GenProcID varchar(38) BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext('') if '1' = dbo.QBM_FGIConfigparmValue\r\n('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount') begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject\r\n, genprocid) select x.uid, null, @GenProcID from ( select distinct uid_person as uid from inserted where ObjectKeyAccount like '<Key><T>UNSAccountB</T>%'\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_01 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TITSBSpecificGroupBehavior",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "TSBSpecificGroupBehavior",
      "CreateDate": "2025-06-27T18:01:21.283",
      "ModifyDate": "2026-04-14T23:23:08.83",
      "Definition": " create   trigger TSB_TITSBSpecificGroupBehavior on TSBSpecificGroupBehavior  for insert not for Replication as begin declare @GenProcID varchar\r\n(38) = dbo.QBM_FGISessionContext('') BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @GUIDUnsGroupB00 QBM_YSingleGUID\r\n insert into @GUIDUnsGroupB00(UID_SingleGuid) select g.UID_UNSGroupB from UNSGroupB g join inserted i on g.XObjectKey = i.ObjectKeyGroup if @@ROWCOUNT \r\n> 0 begin declare @DBQueueElements_00 QBM_YDBQueueRaw insert into @DBQueueElements_00 (object, subobject, genprocid) select x.uid, null, @GenProcID from\r\n ( select uig.UID_UNSAccountB as uid from UNSAccountBInUNSGroupB uig join @GUIDUnsGroupB00 gg on uig.UID_UNSGroupB = gg.UID_SingleGuid union select uig.UID_UNSAccountB\r\n as uid from UNSAccountBHasUNSGroupB uig join @GUIDUnsGroupB00 gg on uig.UID_UNSGroupB = gg.UID_SingleGuid ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB'\r\n, @DBQueueElements_00 end  declare @GUIDUnsGroupB01 QBM_YSingleGUID insert into @GUIDUnsGroupB01(UID_SingleGuid) select g.UID_UNSGroupB1 from UNSGroupB1\r\n g join inserted i on g.XObjectKey = i.ObjectKeyGroup if @@ROWCOUNT > 0 begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uig.UID_UNSAccountB as uid from UNSAccountBInUNSGroupB1 uig join @GUIDUnsGroupB01\r\n gg on uig.UID_UNSGroupB1 = gg.UID_SingleGuid union select uig.UID_UNSAccountB as uid from UNSAccountBHasUNSGroupB1 uig join @GUIDUnsGroupB01 gg on uig.UID_UNSGroupB1\r\n = gg.UID_SingleGuid ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB1', @DBQueueElements_01 end  declare @GUIDUnsGroupB02 QBM_YSingleGUID\r\n insert into @GUIDUnsGroupB02(UID_SingleGuid) select g.UID_UNSGroupB2 from UNSGroupB2 g join inserted i on g.XObjectKey = i.ObjectKeyGroup if @@ROWCOUNT\r\n > 0 begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from\r\n ( select uig.UID_UNSAccountB as uid from UNSAccountBInUNSGroupB2 uig join @GUIDUnsGroupB02 gg on uig.UID_UNSGroupB2 = gg.UID_SingleGuid union select uig.UID_UNSAccountB\r\n as uid from UNSAccountBHasUNSGroupB2 uig join @GUIDUnsGroupB02 gg on uig.UID_UNSGroupB2 = gg.UID_SingleGuid ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB2'\r\n, @DBQueueElements_02 end  declare @GUIDUnsGroupB03 QBM_YSingleGUID insert into @GUIDUnsGroupB03(UID_SingleGuid) select g.UID_UNSGroupB3 from UNSGroupB3\r\n g join inserted i on g.XObjectKey = i.ObjectKeyGroup if @@ROWCOUNT > 0 begin declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uig.UID_UNSAccountB as uid from UNSAccountBInUNSGroupB3 uig join @GUIDUnsGroupB03\r\n gg on uig.UID_UNSGroupB3 = gg.UID_SingleGuid union select uig.UID_UNSAccountB as uid from UNSAccountBHasUNSGroupB3 uig join @GUIDUnsGroupB03 gg on uig.UID_UNSGroupB3\r\n = gg.UID_SingleGuid ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB3', @DBQueueElements_03 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIUNSAccountB",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSAccountB",
      "CreateDate": "2025-06-27T18:01:21.067",
      "ModifyDate": "2026-04-14T23:23:08.833",
      "Definition": "    create   trigger TSB_TIUNSAccountB on UNSAccountB  for Insert not for Replication as begin  if exists (select top 1 1 from inserted) goto start\r\n return start: declare @GenProcID varchar(38) BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext('')  declare @DBQueueElements_01 QBM_YDBQueueRaw \r\ninsert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uid_person as uid from inserted where\r\n uid_person > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into\r\n @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select i.UID_UNSAccountB as uid from inserted i join UNSRootB \r\nr on i.UID_UNSRootB = r.UID_UNSRootB where r.GroupUsageMask & 0x01 > 0 and uid_person > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB'\r\n, @DBQueueElements_02 declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from (select i.UID_UNSAccountB as uid from inserted i join UNSRootB r on i.UID_UNSRootB = r.UID_UNSRootB where r.GroupUsageMask & 0x02 > 0 and uid_person\r\n > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB1', @DBQueueElements_03 declare @DBQueueElements_04 QBM_YDBQueueRaw insert into\r\n @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select i.UID_UNSAccountB as uid from inserted i join UNSRootB \r\nr on i.UID_UNSRootB = r.UID_UNSRootB where r.GroupUsageMask & 0x04 > 0 and uid_person > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB2'\r\n, @DBQueueElements_04 declare @DBQueueElements_05 QBM_YDBQueueRaw insert into @DBQueueElements_05 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from (select i.UID_UNSAccountB as uid from inserted i join UNSRootB r on i.UID_UNSRootB = r.UID_UNSRootB where r.GroupUsageMask & 0x08 > 0 and uid_person\r\n > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB3', @DBQueueElements_05  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default \r\nRAISERROR ('', 18, 1) WITH NOWAIT END CATCH return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIUNSAccountBHasUNSGroupB",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSAccountBHasUNSGroupB",
      "CreateDate": "2025-06-27T18:01:21.58",
      "ModifyDate": "2026-04-14T23:23:08.84",
      "Definition": "   create   trigger TSB_TIUNSAccountBHasUNSGroupB on UNSAccountBHasUNSGroupB  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n  if exists (select top 1 1 from inserted i join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB join UNSRootB r on u.UID_UNSRootB = r.UID_UNSRootB\r\n where r.UserContainsGroupList & 0x01 = 0 ) begin raiserror ('#LDS#Assignment is not permitted due to the Value of UNSRootB.UserContainsGroupList.|'\r\n, 18, 2) with nowait end   if exists (select top 1 1 from inserted i   join UNSGroupB elem on i.uid_UNSGroupB = elem.uid_UNSGroupB where dbo.QER_FGIITShopFlagCombineValid\r\n(i.XObjectKey, null, null, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0  and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 and dbo.QBM_FGISessionContext\r\n ('Fullsync') = '' ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|', 18, 2) with nowait end  if exists \r\n(select top 1 1 from inserted i join UNSGroupB g on i.UID_UNSGroupB = g.UID_UNSGroupB join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB\r\n join UNSRootB ru on u.UID_UNSRootB = ru.UID_UNSRootB join DPRNameSpace ns on ru.UID_DPRNameSpace = ns.UID_DPRNameSpace join UNSRootB rg on g.UID_UNSRootB\r\n = rg.UID_UNSRootB where 0 = case when u.UID_UNSRootB = g.UID_UNSRootB then 1  when ns.IsExtendedInheritance = 0 then 0 when ns.IsExtendedInheritance =\r\n 1 and ns.UID_DPRNameSpace = rg.UID_DPRNameSpace then 1 else 0 end ) begin raiserror ('#LDS#Assignment is not permitted due to the configuration of related UNSRoots.|'\r\n, 18, 2) with nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null\r\n, @GenProcID from (  select distinct i.UID_UNSAccountB as uid from inserted i   where i.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'TSB-K-UNSAccountBInUNSGroupB', @DBQueueElements_01 if 'UNSGroupB' = 'UNSGroupB'  begin if exists (select top 1 1 from UNSItemB ) begin declare \r\n@DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from (  select distinct\r\n i.UID_UNSAccountB as uid from inserted i where i.XIsInEffect = 1 and exists (select top 1 1 from UNSItemB b join UNSAccountB acc on b.UID_UNSRootB = acc.UID_UNSRootB\r\n and acc.UID_UNSAccountB = i.UID_UNSAccountB) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBHasUNSItemB', @DBQueueElements_02 end end  declare \r\n@DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct\r\n u.UID_Person as uid from inserted i join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB where u.UID_Person > ' ' and i.XIsInEffect = 1 ) as x \r\nexec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_03  if '1' = dbo.QBM_FGIConfigparmValue('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount'\r\n) begin declare @DBQueueElements_PersonUsesAccount QBM_YDBQueueRaw insert into @DBQueueElements_PersonUsesAccount (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct t.uid_person as uid from inserted i join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB join TSBPersonUsesAccount\r\n t on u.XObjectKey = t.ObjectKeyAccount where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_PersonUsesAccount\r\n end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIUNSAccountBHasUNSGroupB1",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSAccountBHasUNSGroupB1",
      "CreateDate": "2025-06-27T18:01:21.763",
      "ModifyDate": "2026-04-14T23:23:08.843",
      "Definition": "   create   trigger TSB_TIUNSAccountBHasUNSGroupB1 on UNSAccountBHasUNSGroupB1  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n  if exists (select top 1 1 from inserted i join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB join UNSRootB r on u.UID_UNSRootB = r.UID_UNSRootB\r\n where r.UserContainsGroupList & 0x02 = 0 ) begin raiserror ('#LDS#Assignment is not permitted due to the Value of UNSRootB.UserContainsGroupList.|'\r\n, 18, 2) with nowait end   if exists (select top 1 1 from inserted i   join UNSGroupB1 elem on i.uid_UNSGroupB1 = elem.uid_UNSGroupB1 where dbo.QER_FGIITShopFlagCombineValid\r\n(i.XObjectKey, null, null, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0  and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 and dbo.QBM_FGISessionContext\r\n ('Fullsync') = '' ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|', 18, 2) with nowait end  if exists \r\n(select top 1 1 from inserted i join UNSGroupB1 g on i.UID_UNSGroupB1 = g.UID_UNSGroupB1 join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB\r\n join UNSRootB ru on u.UID_UNSRootB = ru.UID_UNSRootB join DPRNameSpace ns on ru.UID_DPRNameSpace = ns.UID_DPRNameSpace join UNSRootB rg on g.UID_UNSRootB\r\n = rg.UID_UNSRootB where 0 = case when u.UID_UNSRootB = g.UID_UNSRootB then 1  when ns.IsExtendedInheritance = 0 then 0 when ns.IsExtendedInheritance =\r\n 1 and ns.UID_DPRNameSpace = rg.UID_DPRNameSpace then 1 else 0 end ) begin raiserror ('#LDS#Assignment is not permitted due to the configuration of related UNSRoots.|'\r\n, 18, 2) with nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null\r\n, @GenProcID from (  select distinct i.UID_UNSAccountB as uid from inserted i   where i.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'TSB-K-UNSAccountBInUNSGroupB1', @DBQueueElements_01 if 'UNSGroupB1' = 'UNSGroupB'  begin if exists (select top 1 1 from UNSItemB ) begin declare \r\n@DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from (  select distinct\r\n i.UID_UNSAccountB as uid from inserted i where i.XIsInEffect = 1 and exists (select top 1 1 from UNSItemB b join UNSAccountB acc on b.UID_UNSRootB = acc.UID_UNSRootB\r\n and acc.UID_UNSAccountB = i.UID_UNSAccountB) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBHasUNSItemB', @DBQueueElements_02 end end  declare \r\n@DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct\r\n u.UID_Person as uid from inserted i join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB where u.UID_Person > ' ' and i.XIsInEffect = 1 ) as x \r\nexec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_03  if '1' = dbo.QBM_FGIConfigparmValue('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount'\r\n) begin declare @DBQueueElements_PersonUsesAccount QBM_YDBQueueRaw insert into @DBQueueElements_PersonUsesAccount (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct t.uid_person as uid from inserted i join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB join TSBPersonUsesAccount\r\n t on u.XObjectKey = t.ObjectKeyAccount where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_PersonUsesAccount\r\n end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIUNSAccountBHasUNSGroupB2",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSAccountBHasUNSGroupB2",
      "CreateDate": "2025-06-27T18:01:21.91",
      "ModifyDate": "2026-04-14T23:23:08.847",
      "Definition": "   create   trigger TSB_TIUNSAccountBHasUNSGroupB2 on UNSAccountBHasUNSGroupB2  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n  if exists (select top 1 1 from inserted i join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB join UNSRootB r on u.UID_UNSRootB = r.UID_UNSRootB\r\n where r.UserContainsGroupList & 0x04 = 0 ) begin raiserror ('#LDS#Assignment is not permitted due to the Value of UNSRootB.UserContainsGroupList.|'\r\n, 18, 2) with nowait end   if exists (select top 1 1 from inserted i   join UNSGroupB2 elem on i.uid_UNSGroupB2 = elem.uid_UNSGroupB2 where dbo.QER_FGIITShopFlagCombineValid\r\n(i.XObjectKey, null, null, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0  and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 and dbo.QBM_FGISessionContext\r\n ('Fullsync') = '' ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|', 18, 2) with nowait end  if exists \r\n(select top 1 1 from inserted i join UNSGroupB2 g on i.UID_UNSGroupB2 = g.UID_UNSGroupB2 join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB\r\n join UNSRootB ru on u.UID_UNSRootB = ru.UID_UNSRootB join DPRNameSpace ns on ru.UID_DPRNameSpace = ns.UID_DPRNameSpace join UNSRootB rg on g.UID_UNSRootB\r\n = rg.UID_UNSRootB where 0 = case when u.UID_UNSRootB = g.UID_UNSRootB then 1  when ns.IsExtendedInheritance = 0 then 0 when ns.IsExtendedInheritance =\r\n 1 and ns.UID_DPRNameSpace = rg.UID_DPRNameSpace then 1 else 0 end ) begin raiserror ('#LDS#Assignment is not permitted due to the configuration of related UNSRoots.|'\r\n, 18, 2) with nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null\r\n, @GenProcID from (  select distinct i.UID_UNSAccountB as uid from inserted i   where i.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'TSB-K-UNSAccountBInUNSGroupB2', @DBQueueElements_01 if 'UNSGroupB2' = 'UNSGroupB'  begin if exists (select top 1 1 from UNSItemB ) begin declare \r\n@DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from (  select distinct\r\n i.UID_UNSAccountB as uid from inserted i where i.XIsInEffect = 1 and exists (select top 1 1 from UNSItemB b join UNSAccountB acc on b.UID_UNSRootB = acc.UID_UNSRootB\r\n and acc.UID_UNSAccountB = i.UID_UNSAccountB) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBHasUNSItemB', @DBQueueElements_02 end end  declare \r\n@DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct\r\n u.UID_Person as uid from inserted i join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB where u.UID_Person > ' ' and i.XIsInEffect = 1 ) as x \r\nexec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_03  if '1' = dbo.QBM_FGIConfigparmValue('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount'\r\n) begin declare @DBQueueElements_PersonUsesAccount QBM_YDBQueueRaw insert into @DBQueueElements_PersonUsesAccount (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct t.uid_person as uid from inserted i join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB join TSBPersonUsesAccount\r\n t on u.XObjectKey = t.ObjectKeyAccount where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_PersonUsesAccount\r\n end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIUNSAccountBHasUNSGroupB3",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSAccountBHasUNSGroupB3",
      "CreateDate": "2025-06-27T18:01:22.053",
      "ModifyDate": "2026-04-14T23:23:08.85",
      "Definition": "   create   trigger TSB_TIUNSAccountBHasUNSGroupB3 on UNSAccountBHasUNSGroupB3  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n  if exists (select top 1 1 from inserted i join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB join UNSRootB r on u.UID_UNSRootB = r.UID_UNSRootB\r\n where r.UserContainsGroupList & 0x08 = 0 ) begin raiserror ('#LDS#Assignment is not permitted due to the Value of UNSRootB.UserContainsGroupList.|'\r\n, 18, 2) with nowait end   if exists (select top 1 1 from inserted i   join UNSGroupB3 elem on i.uid_UNSGroupB3 = elem.uid_UNSGroupB3 where dbo.QER_FGIITShopFlagCombineValid\r\n(i.XObjectKey, null, null, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0  and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 and dbo.QBM_FGISessionContext\r\n ('Fullsync') = '' ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|', 18, 2) with nowait end  if exists \r\n(select top 1 1 from inserted i join UNSGroupB3 g on i.UID_UNSGroupB3 = g.UID_UNSGroupB3 join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB\r\n join UNSRootB ru on u.UID_UNSRootB = ru.UID_UNSRootB join DPRNameSpace ns on ru.UID_DPRNameSpace = ns.UID_DPRNameSpace join UNSRootB rg on g.UID_UNSRootB\r\n = rg.UID_UNSRootB where 0 = case when u.UID_UNSRootB = g.UID_UNSRootB then 1  when ns.IsExtendedInheritance = 0 then 0 when ns.IsExtendedInheritance =\r\n 1 and ns.UID_DPRNameSpace = rg.UID_DPRNameSpace then 1 else 0 end ) begin raiserror ('#LDS#Assignment is not permitted due to the configuration of related UNSRoots.|'\r\n, 18, 2) with nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null\r\n, @GenProcID from (  select distinct i.UID_UNSAccountB as uid from inserted i   where i.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'TSB-K-UNSAccountBInUNSGroupB3', @DBQueueElements_01 if 'UNSGroupB3' = 'UNSGroupB'  begin if exists (select top 1 1 from UNSItemB ) begin declare \r\n@DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from (  select distinct\r\n i.UID_UNSAccountB as uid from inserted i where i.XIsInEffect = 1 and exists (select top 1 1 from UNSItemB b join UNSAccountB acc on b.UID_UNSRootB = acc.UID_UNSRootB\r\n and acc.UID_UNSAccountB = i.UID_UNSAccountB) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBHasUNSItemB', @DBQueueElements_02 end end  declare \r\n@DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct\r\n u.UID_Person as uid from inserted i join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB where u.UID_Person > ' ' and i.XIsInEffect = 1 ) as x \r\nexec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_03  if '1' = dbo.QBM_FGIConfigparmValue('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount'\r\n) begin declare @DBQueueElements_PersonUsesAccount QBM_YDBQueueRaw insert into @DBQueueElements_PersonUsesAccount (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct t.uid_person as uid from inserted i join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB join TSBPersonUsesAccount\r\n t on u.XObjectKey = t.ObjectKeyAccount where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_PersonUsesAccount\r\n end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIUNSAccountBHasUNSItemB",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSAccountBHasUNSItemB",
      "CreateDate": "2025-06-27T18:01:21.093",
      "ModifyDate": "2026-04-14T23:23:08.853",
      "Definition": "  create   trigger TSB_TIUNSAccountBHasUNSItemB on UNSAccountBHasUNSItemB  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Inherit_inv\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar\r\n(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, \r\ngenprocid) select x.uid, null, @GenProcID from (  select distinct i.UID_UNSAccountB as uid from inserted i   where i.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv\r\n > 0 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBHasUNSItemB', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIUNSAccountBInUNSGroupB",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSAccountBInUNSGroupB",
      "CreateDate": "2025-06-27T18:01:21.553",
      "ModifyDate": "2026-04-14T23:23:08.857",
      "Definition": "  create   trigger TSB_TIUNSAccountBInUNSGroupB on UNSAccountBInUNSGroupB  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n  if exists (select top 1 1 from inserted i join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB join UNSRootB r on u.UID_UNSRootB = r.UID_UNSRootB\r\n where r.UserContainsGroupList & 0x01 > 0 ) begin raiserror ('#LDS#Assignment is not permitted due to the Value of UNSRootB.UserContainsGroupList.|'\r\n, 18, 2) with nowait end   if exists (select top 1 1 from inserted i   join UNSGroupB elem on i.uid_UNSGroupB = elem.uid_UNSGroupB where dbo.QER_FGIITShopFlagCombineValid\r\n(i.XObjectKey, null, null, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0  and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 and dbo.QBM_FGISessionContext\r\n ('Fullsync') = '' ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|', 18, 2) with nowait end   if exists\r\n (select top 1 1 from inserted i join UNSGroupB g on i.UID_UNSGroupB = g.UID_UNSGroupB and g.HasReadOnlyMemberships = 1 and dbo.QBM_FGISessionContext\r\n ('Fullsync') = '' ) begin  raiserror( '#LDS#Cannot add {0} because assignments for groups with read only memberships are not permitted.|UNSAccountBInUNSGroupB|'\r\n, 18, 2) with nowait end   if exists (select top 1 1 from inserted i join UNSGroupB g on i.UID_UNSGroupB = g.UID_UNSGroupB join UNSAccountB u \r\non i.UID_UNSAccountB = u.UID_UNSAccountB join UNSRootB ru on u.UID_UNSRootB = ru.UID_UNSRootB join DPRNameSpace ns on ru.UID_DPRNameSpace = ns.UID_DPRNameSpace\r\n join UNSRootB rg on g.UID_UNSRootB = rg.UID_UNSRootB where 0 = case when u.UID_UNSRootB = g.UID_UNSRootB then 1  when ns.IsExtendedInheritance = 0 then\r\n 0 when ns.IsExtendedInheritance = 1 and ns.UID_DPRNameSpace = rg.UID_DPRNameSpace then 1 else 0 end ) begin raiserror ('#LDS#Assignment is not permitted due to the configuration of related UNSRoots.|'\r\n, 18, 2) with nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null\r\n, @GenProcID from (  select distinct i.UID_UNSAccountB as uid from inserted i   where i.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'TSB-K-UNSAccountBInUNSGroupB', @DBQueueElements_01 if 'UNSGroupB' = 'UNSGroupB'  begin if exists (select top 1 1 from UNSItemB ) begin declare \r\n@DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from (  select distinct\r\n i.UID_UNSAccountB as uid from inserted i where i.XIsInEffect = 1 and exists (select top 1 1 from UNSItemB b join UNSAccountB acc on b.UID_UNSRootB = acc.UID_UNSRootB\r\n and acc.UID_UNSAccountB = i.UID_UNSAccountB) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBHasUNSItemB', @DBQueueElements_02 end end  declare \r\n@DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct\r\n u.UID_Person as uid from inserted i join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB where u.UID_Person > ' ' and i.XIsInEffect = 1 ) as x \r\nexec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_03  if '1' = dbo.QBM_FGIConfigparmValue('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount'\r\n) begin declare @DBQueueElements_PersonUsesAccount QBM_YDBQueueRaw insert into @DBQueueElements_PersonUsesAccount (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct t.uid_person as uid from inserted i join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB join TSBPersonUsesAccount\r\n t on u.XObjectKey = t.ObjectKeyAccount where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_PersonUsesAccount\r\n end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIUNSAccountBInUNSGroupB1",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSAccountBInUNSGroupB1",
      "CreateDate": "2025-06-27T18:01:21.75",
      "ModifyDate": "2026-04-14T23:23:08.86",
      "Definition": "  create   trigger TSB_TIUNSAccountBInUNSGroupB1 on UNSAccountBInUNSGroupB1  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n  if exists (select top 1 1 from inserted i join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB join UNSRootB r on u.UID_UNSRootB = r.UID_UNSRootB\r\n where r.UserContainsGroupList & 0x02 > 0 ) begin raiserror ('#LDS#Assignment is not permitted due to the Value of UNSRootB.UserContainsGroupList.|'\r\n, 18, 2) with nowait end   if exists (select top 1 1 from inserted i   join UNSGroupB1 elem on i.uid_UNSGroupB1 = elem.uid_UNSGroupB1 where dbo.QER_FGIITShopFlagCombineValid\r\n(i.XObjectKey, null, null, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0  and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 and dbo.QBM_FGISessionContext\r\n ('Fullsync') = '' ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|', 18, 2) with nowait end   if exists\r\n (select top 1 1 from inserted i join UNSGroupB1 g on i.UID_UNSGroupB1 = g.UID_UNSGroupB1 and g.HasReadOnlyMemberships = 1 and dbo.QBM_FGISessionContext\r\n ('Fullsync') = '' ) begin  raiserror( '#LDS#Cannot add {0} because assignments for groups with read only memberships are not permitted.|UNSAccountBInUNSGroupB1|'\r\n, 18, 2) with nowait end   if exists (select top 1 1 from inserted i join UNSGroupB1 g on i.UID_UNSGroupB1 = g.UID_UNSGroupB1 join UNSAccountB u \r\non i.UID_UNSAccountB = u.UID_UNSAccountB join UNSRootB ru on u.UID_UNSRootB = ru.UID_UNSRootB join DPRNameSpace ns on ru.UID_DPRNameSpace = ns.UID_DPRNameSpace\r\n join UNSRootB rg on g.UID_UNSRootB = rg.UID_UNSRootB where 0 = case when u.UID_UNSRootB = g.UID_UNSRootB then 1  when ns.IsExtendedInheritance = 0 then\r\n 0 when ns.IsExtendedInheritance = 1 and ns.UID_DPRNameSpace = rg.UID_DPRNameSpace then 1 else 0 end ) begin raiserror ('#LDS#Assignment is not permitted due to the configuration of related UNSRoots.|'\r\n, 18, 2) with nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null\r\n, @GenProcID from (  select distinct i.UID_UNSAccountB as uid from inserted i   where i.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'TSB-K-UNSAccountBInUNSGroupB1', @DBQueueElements_01 if 'UNSGroupB1' = 'UNSGroupB'  begin if exists (select top 1 1 from UNSItemB ) begin declare \r\n@DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from (  select distinct\r\n i.UID_UNSAccountB as uid from inserted i where i.XIsInEffect = 1 and exists (select top 1 1 from UNSItemB b join UNSAccountB acc on b.UID_UNSRootB = acc.UID_UNSRootB\r\n and acc.UID_UNSAccountB = i.UID_UNSAccountB) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBHasUNSItemB', @DBQueueElements_02 end end  declare \r\n@DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct\r\n u.UID_Person as uid from inserted i join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB where u.UID_Person > ' ' and i.XIsInEffect = 1 ) as x \r\nexec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_03  if '1' = dbo.QBM_FGIConfigparmValue('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount'\r\n) begin declare @DBQueueElements_PersonUsesAccount QBM_YDBQueueRaw insert into @DBQueueElements_PersonUsesAccount (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct t.uid_person as uid from inserted i join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB join TSBPersonUsesAccount\r\n t on u.XObjectKey = t.ObjectKeyAccount where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_PersonUsesAccount\r\n end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIUNSAccountBInUNSGroupB2",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSAccountBInUNSGroupB2",
      "CreateDate": "2025-06-27T18:01:21.893",
      "ModifyDate": "2026-04-14T23:23:08.863",
      "Definition": "  create   trigger TSB_TIUNSAccountBInUNSGroupB2 on UNSAccountBInUNSGroupB2  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n  if exists (select top 1 1 from inserted i join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB join UNSRootB r on u.UID_UNSRootB = r.UID_UNSRootB\r\n where r.UserContainsGroupList & 0x04 > 0 ) begin raiserror ('#LDS#Assignment is not permitted due to the Value of UNSRootB.UserContainsGroupList.|'\r\n, 18, 2) with nowait end   if exists (select top 1 1 from inserted i   join UNSGroupB2 elem on i.uid_UNSGroupB2 = elem.uid_UNSGroupB2 where dbo.QER_FGIITShopFlagCombineValid\r\n(i.XObjectKey, null, null, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0  and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 and dbo.QBM_FGISessionContext\r\n ('Fullsync') = '' ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|', 18, 2) with nowait end   if exists\r\n (select top 1 1 from inserted i join UNSGroupB2 g on i.UID_UNSGroupB2 = g.UID_UNSGroupB2 and g.HasReadOnlyMemberships = 1 and dbo.QBM_FGISessionContext\r\n ('Fullsync') = '' ) begin  raiserror( '#LDS#Cannot add {0} because assignments for groups with read only memberships are not permitted.|UNSAccountBInUNSGroupB2|'\r\n, 18, 2) with nowait end   if exists (select top 1 1 from inserted i join UNSGroupB2 g on i.UID_UNSGroupB2 = g.UID_UNSGroupB2 join UNSAccountB u \r\non i.UID_UNSAccountB = u.UID_UNSAccountB join UNSRootB ru on u.UID_UNSRootB = ru.UID_UNSRootB join DPRNameSpace ns on ru.UID_DPRNameSpace = ns.UID_DPRNameSpace\r\n join UNSRootB rg on g.UID_UNSRootB = rg.UID_UNSRootB where 0 = case when u.UID_UNSRootB = g.UID_UNSRootB then 1  when ns.IsExtendedInheritance = 0 then\r\n 0 when ns.IsExtendedInheritance = 1 and ns.UID_DPRNameSpace = rg.UID_DPRNameSpace then 1 else 0 end ) begin raiserror ('#LDS#Assignment is not permitted due to the configuration of related UNSRoots.|'\r\n, 18, 2) with nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null\r\n, @GenProcID from (  select distinct i.UID_UNSAccountB as uid from inserted i   where i.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'TSB-K-UNSAccountBInUNSGroupB2', @DBQueueElements_01 if 'UNSGroupB2' = 'UNSGroupB'  begin if exists (select top 1 1 from UNSItemB ) begin declare \r\n@DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from (  select distinct\r\n i.UID_UNSAccountB as uid from inserted i where i.XIsInEffect = 1 and exists (select top 1 1 from UNSItemB b join UNSAccountB acc on b.UID_UNSRootB = acc.UID_UNSRootB\r\n and acc.UID_UNSAccountB = i.UID_UNSAccountB) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBHasUNSItemB', @DBQueueElements_02 end end  declare \r\n@DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct\r\n u.UID_Person as uid from inserted i join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB where u.UID_Person > ' ' and i.XIsInEffect = 1 ) as x \r\nexec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_03  if '1' = dbo.QBM_FGIConfigparmValue('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount'\r\n) begin declare @DBQueueElements_PersonUsesAccount QBM_YDBQueueRaw insert into @DBQueueElements_PersonUsesAccount (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct t.uid_person as uid from inserted i join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB join TSBPersonUsesAccount\r\n t on u.XObjectKey = t.ObjectKeyAccount where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_PersonUsesAccount\r\n end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIUNSAccountBInUNSGroupB3",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSAccountBInUNSGroupB3",
      "CreateDate": "2025-06-27T18:01:22.04",
      "ModifyDate": "2026-04-14T23:23:08.867",
      "Definition": "  create   trigger TSB_TIUNSAccountBInUNSGroupB3 on UNSAccountBInUNSGroupB3  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN\r\n TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')\r\n  if exists (select top 1 1 from inserted i join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB join UNSRootB r on u.UID_UNSRootB = r.UID_UNSRootB\r\n where r.UserContainsGroupList & 0x08 > 0 ) begin raiserror ('#LDS#Assignment is not permitted due to the Value of UNSRootB.UserContainsGroupList.|'\r\n, 18, 2) with nowait end   if exists (select top 1 1 from inserted i   join UNSGroupB3 elem on i.uid_UNSGroupB3 = elem.uid_UNSGroupB3 where dbo.QER_FGIITShopFlagCombineValid\r\n(i.XObjectKey, null, null, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0  and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 and dbo.QBM_FGISessionContext\r\n ('Fullsync') = '' ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|', 18, 2) with nowait end   if exists\r\n (select top 1 1 from inserted i join UNSGroupB3 g on i.UID_UNSGroupB3 = g.UID_UNSGroupB3 and g.HasReadOnlyMemberships = 1 and dbo.QBM_FGISessionContext\r\n ('Fullsync') = '' ) begin  raiserror( '#LDS#Cannot add {0} because assignments for groups with read only memberships are not permitted.|UNSAccountBInUNSGroupB3|'\r\n, 18, 2) with nowait end   if exists (select top 1 1 from inserted i join UNSGroupB3 g on i.UID_UNSGroupB3 = g.UID_UNSGroupB3 join UNSAccountB u \r\non i.UID_UNSAccountB = u.UID_UNSAccountB join UNSRootB ru on u.UID_UNSRootB = ru.UID_UNSRootB join DPRNameSpace ns on ru.UID_DPRNameSpace = ns.UID_DPRNameSpace\r\n join UNSRootB rg on g.UID_UNSRootB = rg.UID_UNSRootB where 0 = case when u.UID_UNSRootB = g.UID_UNSRootB then 1  when ns.IsExtendedInheritance = 0 then\r\n 0 when ns.IsExtendedInheritance = 1 and ns.UID_DPRNameSpace = rg.UID_DPRNameSpace then 1 else 0 end ) begin raiserror ('#LDS#Assignment is not permitted due to the configuration of related UNSRoots.|'\r\n, 18, 2) with nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null\r\n, @GenProcID from (  select distinct i.UID_UNSAccountB as uid from inserted i   where i.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'TSB-K-UNSAccountBInUNSGroupB3', @DBQueueElements_01 if 'UNSGroupB3' = 'UNSGroupB'  begin if exists (select top 1 1 from UNSItemB ) begin declare \r\n@DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from (  select distinct\r\n i.UID_UNSAccountB as uid from inserted i where i.XIsInEffect = 1 and exists (select top 1 1 from UNSItemB b join UNSAccountB acc on b.UID_UNSRootB = acc.UID_UNSRootB\r\n and acc.UID_UNSAccountB = i.UID_UNSAccountB) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBHasUNSItemB', @DBQueueElements_02 end end  declare \r\n@DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct\r\n u.UID_Person as uid from inserted i join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB where u.UID_Person > ' ' and i.XIsInEffect = 1 ) as x \r\nexec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_03  if '1' = dbo.QBM_FGIConfigparmValue('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount'\r\n) begin declare @DBQueueElements_PersonUsesAccount QBM_YDBQueueRaw insert into @DBQueueElements_PersonUsesAccount (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct t.uid_person as uid from inserted i join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB join TSBPersonUsesAccount\r\n t on u.XObjectKey = t.ObjectKeyAccount where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_PersonUsesAccount\r\n end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIUNSGroupB",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB",
      "CreateDate": "2025-06-27T18:01:21.6",
      "ModifyDate": "2026-04-14T23:23:08.873",
      "Definition": "    create   trigger TSB_TIUNSGroupB on UNSGroupB  for insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if exists (select top 1 1 from inserted i join\r\n UNSRootB r on i.UID_UNSRootB = r.UID_UNSRootB where r.GroupUsageMask & 0x01 = 0 ) begin raiserror('#LDS#Insert ist not allowed because of Root.GroupUsageMask.|'\r\n, 18, 1) with nowait end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null,\r\n @GenProcID from ( select uid_UNSGroupB as uid from inserted ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSGroupBInUNSGroupB', @DBQueueElements_01\r\n  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIUNSGroupB1",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB1",
      "CreateDate": "2025-06-27T18:01:21.773",
      "ModifyDate": "2026-04-14T23:23:08.877",
      "Definition": "    create   trigger TSB_TIUNSGroupB1 on UNSGroupB1  for insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if exists (select top 1 1 from inserted i join\r\n UNSRootB r on i.UID_UNSRootB = r.UID_UNSRootB where r.GroupUsageMask & 0x02 = 0 ) begin raiserror('#LDS#Insert ist not allowed because of Root.GroupUsageMask.|'\r\n, 18, 1) with nowait end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null,\r\n @GenProcID from ( select uid_UNSGroupB1 as uid from inserted ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSGroupB1InUNSGroupB1', @DBQueueElements_01\r\n  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIUNSGroupB1Collection",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB1Collection",
      "CreateDate": "2025-06-27T18:01:21.79",
      "ModifyDate": "2026-04-14T23:23:08.88",
      "Definition": "  create   trigger TSB_TIUNSGroupB1Collection on UNSGroupB1Collection  for Insert not for Replication as begin  if exists (select top 1 1 from\r\n inserted) goto start return start: BEGIN TRY declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select  a.uid_person as uid from \r\nUNSAccountBInUNSGroupB1 uig join (select uid_UNSGroupB1Parent as UID_Group from inserted union select UID_UNSGroupB1Child from inserted ) as x on\r\n x.uid_group = uig.uid_UNSGroupB1 and uig.XOrigin > 0  join UNSAccountB a on uig.UID_UNSAccountB = a.uid_UNSAccountB where a.uid_person > ' '  union \r\nselect a.uid_person as uid from UNSAccountBHasUNSGroupB1 uig join (select uid_UNSGroupB1Parent as UID_Group from inserted union select UID_UNSGroupB1Child\r\n from inserted ) as x on x.uid_group = uig.uid_UNSGroupB1 and uig.XOrigin > 0  join UNSAccountB a on uig.UID_UNSAccountB = a.uid_UNSAccountB where a.uid_person\r\n > ' '  ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uig.UID_Org as uid from BaseTreeHasUNSGroupB1 uig join (select \r\nuid_UNSGroupB1Parent as UID_Group from inserted union select UID_UNSGroupB1Child from inserted ) as x on x.uid_group = uig.uid_UNSGroupB1 and uig.XOrigin\r\n > 0  ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-BaseTreeHasObject', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIUNSGroupB1Exclusion",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB1Exclusion",
      "CreateDate": "2025-06-27T18:01:21.797",
      "ModifyDate": "2026-04-14T23:23:08.88",
      "Definition": "    create   trigger TSB_TIUNSGroupB1Exclusion on UNSGroupB1Exclusion  for Insert not for Replication as begin  declare @exclusions QBM_YParameterList\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start return start:  declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\GroupExclusion') = '' begin raiserror( '#LDS#Cannot make a definition because exclusion is not enabled by config parm.|'\r\n, 18, 2) with nowait end insert into @exclusions (Parameter1, Parameter2) select UID_UNSGroupB1Higher, UID_UNSGroupB1Lower from inserted exec QER_PExclusionCheckCircular\r\n @TargetTable = 'UNSGroupB1Exclusion' , @HigherColumn = 'UID_UNSGroupB1Higher' , @LowerColumn = 'UID_UNSGroupB1Lower' , @exclusions = @exclusions\r\n declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select\r\n uig.uid_unsaccountB as uid from ( select UID_UNSGroupB1Lower as UID_UNSGroupB1 from inserted union select UID_UNSGroupB1Higher from inserted ) as\r\n y  join UNSGroupB1Collection coll on y.uid_UNSGroupB1 = coll.UID_UNSGroupB1Parent join UNSAccountBInUNSGroupB1 uig on coll.UID_UNSGroupB1Child\r\n = uig.uid_UNSGroupB1   union select uig.uid_unsaccountB as uid from ( select UID_UNSGroupB1Lower as UID_UNSGroupB1 from inserted union select UID_UNSGroupB1Higher\r\n from inserted ) as y  join UNSGroupB1Collection coll on y.uid_UNSGroupB1 = coll.UID_UNSGroupB1Parent join UNSAccountBHasUNSGroupB1 uig on coll.UID_UNSGroupB1Child\r\n = uig.uid_UNSGroupB1   ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB1', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select g.UID_Org as uid from ( select UID_UNSGroupB1Lower\r\n as UID_UNSGroupB1 from inserted union select UID_UNSGroupB1Higher from inserted ) as y join BaseTreeHasUNSGroupB1 g on y.UID_UNSGroupB1 = g.UID_UNSGroupB1\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-OrgHasUNSGroupB1', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (''\r\n, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIUNSGroupB1InUNSGroupB1",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB1InUNSGroupB1",
      "CreateDate": "2025-06-27T18:01:21.803",
      "ModifyDate": "2026-04-14T23:23:08.883",
      "Definition": "  create   trigger TSB_TIUNSGroupB1InUNSGroupB1 on UNSGroupB1InUNSGroupB1  for Insert not for Replication as begin  if exists (select top\r\n 1 1 from inserted) goto start return start: BEGIN TRY  if exists (select top 1 1 from inserted i join UNSGroupB1 g on i.UID_UNSGroupB1Child = g.UID_UNSGroupB1\r\n join UNSGroupB1 u on i.UID_UNSGroupB1Parent = u.UID_UNSGroupB1 join UNSRootB ru on u.UID_UNSRootB = ru.UID_UNSRootB join DPRNameSpace ns on ru.UID_DPRNameSpace\r\n = ns.UID_DPRNameSpace join UNSRootB rg on g.UID_UNSRootB = rg.UID_UNSRootB where 0 = case when u.UID_UNSRootB = g.UID_UNSRootB then 1  when ns.IsExtendedInheritance\r\n = 0 then 0 when ns.IsExtendedInheritance = 1 and ns.UID_DPRNameSpace = rg.UID_DPRNameSpace then 1 else 0 end ) begin raiserror ('#LDS#Assignment is not permitted due to the configuration of related UNSRoots.|'\r\n, 18, 2) with nowait end  declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw \r\ninsert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_UNSGroupB1Parent as uid from inserted\r\n union select UID_UNSGroupB1Child from inserted union  select co.uid_UNSGroupB1Parent as uid from inserted i join UNSGroupB1collection co on i.UID_UNSGroupB1Child\r\n = co.UID_UNSGroupB1Child  union select co.uid_UNSGroupB1Parent from inserted i join UNSGroupB1collection co on i.UID_UNSGroupB1Parent = co.UID_UNSGroupB1Child\r\n  union select co.UID_UNSGroupB1Child from inserted i join UNSGroupB1collection co on i.UID_UNSGroupB1Child = co.UID_UNSGroupB1Parent  union select\r\n co.UID_UNSGroupB1Child from inserted i join UNSGroupB1collection co on i.UID_UNSGroupB1Parent = co.UID_UNSGroupB1Parent ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'TSB-K-UNSGroupB1InUNSGroupB1', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIUNSGroupB2",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB2",
      "CreateDate": "2025-06-27T18:01:21.917",
      "ModifyDate": "2026-04-14T23:23:08.887",
      "Definition": "    create   trigger TSB_TIUNSGroupB2 on UNSGroupB2  for insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if exists (select top 1 1 from inserted i join\r\n UNSRootB r on i.UID_UNSRootB = r.UID_UNSRootB where r.GroupUsageMask & 0x04 = 0 ) begin raiserror('#LDS#Insert ist not allowed because of Root.GroupUsageMask.|'\r\n, 18, 1) with nowait end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null,\r\n @GenProcID from ( select uid_UNSGroupB2 as uid from inserted ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSGroupB2InUNSGroupB2', @DBQueueElements_01\r\n  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIUNSGroupB2Collection",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB2Collection",
      "CreateDate": "2025-06-27T18:01:21.933",
      "ModifyDate": "2026-04-14T23:23:08.89",
      "Definition": "  create   trigger TSB_TIUNSGroupB2Collection on UNSGroupB2Collection  for Insert not for Replication as begin  if exists (select top 1 1 from\r\n inserted) goto start return start: BEGIN TRY declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select  a.uid_person as uid from \r\nUNSAccountBInUNSGroupB2 uig join (select uid_UNSGroupB2Parent as UID_Group from inserted union select UID_UNSGroupB2Child from inserted ) as x on\r\n x.uid_group = uig.uid_UNSGroupB2 and uig.XOrigin > 0  join UNSAccountB a on uig.UID_UNSAccountB = a.uid_UNSAccountB where a.uid_person > ' '  union \r\nselect a.uid_person as uid from UNSAccountBHasUNSGroupB2 uig join (select uid_UNSGroupB2Parent as UID_Group from inserted union select UID_UNSGroupB2Child\r\n from inserted ) as x on x.uid_group = uig.uid_UNSGroupB2 and uig.XOrigin > 0  join UNSAccountB a on uig.UID_UNSAccountB = a.uid_UNSAccountB where a.uid_person\r\n > ' '  ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uig.UID_Org as uid from BaseTreeHasUNSGroupB2 uig join (select \r\nuid_UNSGroupB2Parent as UID_Group from inserted union select UID_UNSGroupB2Child from inserted ) as x on x.uid_group = uig.uid_UNSGroupB2 and uig.XOrigin\r\n > 0  ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-BaseTreeHasObject', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIUNSGroupB2Exclusion",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB2Exclusion",
      "CreateDate": "2025-06-27T18:01:21.94",
      "ModifyDate": "2026-04-14T23:23:08.893",
      "Definition": "    create   trigger TSB_TIUNSGroupB2Exclusion on UNSGroupB2Exclusion  for Insert not for Replication as begin  declare @exclusions QBM_YParameterList\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start return start:  declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\GroupExclusion') = '' begin raiserror( '#LDS#Cannot make a definition because exclusion is not enabled by config parm.|'\r\n, 18, 2) with nowait end insert into @exclusions (Parameter1, Parameter2) select UID_UNSGroupB2Higher, UID_UNSGroupB2Lower from inserted exec QER_PExclusionCheckCircular\r\n @TargetTable = 'UNSGroupB2Exclusion' , @HigherColumn = 'UID_UNSGroupB2Higher' , @LowerColumn = 'UID_UNSGroupB2Lower' , @exclusions = @exclusions\r\n declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select\r\n uig.uid_unsaccountB as uid from ( select UID_UNSGroupB2Lower as UID_UNSGroupB2 from inserted union select UID_UNSGroupB2Higher from inserted ) as\r\n y  join UNSGroupB2Collection coll on y.uid_UNSGroupB2 = coll.UID_UNSGroupB2Parent join UNSAccountBInUNSGroupB2 uig on coll.UID_UNSGroupB2Child\r\n = uig.uid_UNSGroupB2   union select uig.uid_unsaccountB as uid from ( select UID_UNSGroupB2Lower as UID_UNSGroupB2 from inserted union select UID_UNSGroupB2Higher\r\n from inserted ) as y  join UNSGroupB2Collection coll on y.uid_UNSGroupB2 = coll.UID_UNSGroupB2Parent join UNSAccountBHasUNSGroupB2 uig on coll.UID_UNSGroupB2Child\r\n = uig.uid_UNSGroupB2   ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB2', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select g.UID_Org as uid from ( select UID_UNSGroupB2Lower\r\n as UID_UNSGroupB2 from inserted union select UID_UNSGroupB2Higher from inserted ) as y join BaseTreeHasUNSGroupB2 g on y.UID_UNSGroupB2 = g.UID_UNSGroupB2\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-OrgHasUNSGroupB2', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (''\r\n, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIUNSGroupB2InUNSGroupB2",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB2InUNSGroupB2",
      "CreateDate": "2025-06-27T18:01:21.947",
      "ModifyDate": "2026-04-14T23:23:08.897",
      "Definition": "  create   trigger TSB_TIUNSGroupB2InUNSGroupB2 on UNSGroupB2InUNSGroupB2  for Insert not for Replication as begin  if exists (select top\r\n 1 1 from inserted) goto start return start: BEGIN TRY  if exists (select top 1 1 from inserted i join UNSGroupB2 g on i.UID_UNSGroupB2Child = g.UID_UNSGroupB2\r\n join UNSGroupB2 u on i.UID_UNSGroupB2Parent = u.UID_UNSGroupB2 join UNSRootB ru on u.UID_UNSRootB = ru.UID_UNSRootB join DPRNameSpace ns on ru.UID_DPRNameSpace\r\n = ns.UID_DPRNameSpace join UNSRootB rg on g.UID_UNSRootB = rg.UID_UNSRootB where 0 = case when u.UID_UNSRootB = g.UID_UNSRootB then 1  when ns.IsExtendedInheritance\r\n = 0 then 0 when ns.IsExtendedInheritance = 1 and ns.UID_DPRNameSpace = rg.UID_DPRNameSpace then 1 else 0 end ) begin raiserror ('#LDS#Assignment is not permitted due to the configuration of related UNSRoots.|'\r\n, 18, 2) with nowait end  declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw \r\ninsert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_UNSGroupB2Parent as uid from inserted\r\n union select UID_UNSGroupB2Child from inserted union  select co.uid_UNSGroupB2Parent as uid from inserted i join UNSGroupB2collection co on i.UID_UNSGroupB2Child\r\n = co.UID_UNSGroupB2Child  union select co.uid_UNSGroupB2Parent from inserted i join UNSGroupB2collection co on i.UID_UNSGroupB2Parent = co.UID_UNSGroupB2Child\r\n  union select co.UID_UNSGroupB2Child from inserted i join UNSGroupB2collection co on i.UID_UNSGroupB2Child = co.UID_UNSGroupB2Parent  union select\r\n co.UID_UNSGroupB2Child from inserted i join UNSGroupB2collection co on i.UID_UNSGroupB2Parent = co.UID_UNSGroupB2Parent ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'TSB-K-UNSGroupB2InUNSGroupB2', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIUNSGroupB3",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB3",
      "CreateDate": "2025-06-27T18:01:22.063",
      "ModifyDate": "2026-04-14T23:23:08.9",
      "Definition": "    create   trigger TSB_TIUNSGroupB3 on UNSGroupB3  for insert not for Replication as begin  BEGIN TRY if exists (select top 1 1 from inserted\r\n) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if exists (select top 1 1 from inserted i join\r\n UNSRootB r on i.UID_UNSRootB = r.UID_UNSRootB where r.GroupUsageMask & 0x08 = 0 ) begin raiserror('#LDS#Insert ist not allowed because of Root.GroupUsageMask.|'\r\n, 18, 1) with nowait end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null,\r\n @GenProcID from ( select uid_UNSGroupB3 as uid from inserted ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSGroupB3InUNSGroupB3', @DBQueueElements_01\r\n  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIUNSGroupB3Collection",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB3Collection",
      "CreateDate": "2025-06-27T18:01:22.08",
      "ModifyDate": "2026-04-14T23:23:08.9",
      "Definition": "  create   trigger TSB_TIUNSGroupB3Collection on UNSGroupB3Collection  for Insert not for Replication as begin  if exists (select top 1 1 from\r\n inserted) goto start return start: BEGIN TRY declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select  a.uid_person as uid from \r\nUNSAccountBInUNSGroupB3 uig join (select uid_UNSGroupB3Parent as UID_Group from inserted union select UID_UNSGroupB3Child from inserted ) as x on\r\n x.uid_group = uig.uid_UNSGroupB3 and uig.XOrigin > 0  join UNSAccountB a on uig.UID_UNSAccountB = a.uid_UNSAccountB where a.uid_person > ' '  union \r\nselect a.uid_person as uid from UNSAccountBHasUNSGroupB3 uig join (select uid_UNSGroupB3Parent as UID_Group from inserted union select UID_UNSGroupB3Child\r\n from inserted ) as x on x.uid_group = uig.uid_UNSGroupB3 and uig.XOrigin > 0  join UNSAccountB a on uig.UID_UNSAccountB = a.uid_UNSAccountB where a.uid_person\r\n > ' '  ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uig.UID_Org as uid from BaseTreeHasUNSGroupB3 uig join (select \r\nuid_UNSGroupB3Parent as UID_Group from inserted union select UID_UNSGroupB3Child from inserted ) as x on x.uid_group = uig.uid_UNSGroupB3 and uig.XOrigin\r\n > 0  ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-BaseTreeHasObject', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIUNSGroupB3Exclusion",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB3Exclusion",
      "CreateDate": "2025-06-27T18:01:22.087",
      "ModifyDate": "2026-04-14T23:23:08.903",
      "Definition": "    create   trigger TSB_TIUNSGroupB3Exclusion on UNSGroupB3Exclusion  for Insert not for Replication as begin  declare @exclusions QBM_YParameterList\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start return start:  declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\GroupExclusion') = '' begin raiserror( '#LDS#Cannot make a definition because exclusion is not enabled by config parm.|'\r\n, 18, 2) with nowait end insert into @exclusions (Parameter1, Parameter2) select UID_UNSGroupB3Higher, UID_UNSGroupB3Lower from inserted exec QER_PExclusionCheckCircular\r\n @TargetTable = 'UNSGroupB3Exclusion' , @HigherColumn = 'UID_UNSGroupB3Higher' , @LowerColumn = 'UID_UNSGroupB3Lower' , @exclusions = @exclusions\r\n declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select\r\n uig.uid_unsaccountB as uid from ( select UID_UNSGroupB3Lower as UID_UNSGroupB3 from inserted union select UID_UNSGroupB3Higher from inserted ) as\r\n y  join UNSGroupB3Collection coll on y.uid_UNSGroupB3 = coll.UID_UNSGroupB3Parent join UNSAccountBInUNSGroupB3 uig on coll.UID_UNSGroupB3Child\r\n = uig.uid_UNSGroupB3   union select uig.uid_unsaccountB as uid from ( select UID_UNSGroupB3Lower as UID_UNSGroupB3 from inserted union select UID_UNSGroupB3Higher\r\n from inserted ) as y  join UNSGroupB3Collection coll on y.uid_UNSGroupB3 = coll.UID_UNSGroupB3Parent join UNSAccountBHasUNSGroupB3 uig on coll.UID_UNSGroupB3Child\r\n = uig.uid_UNSGroupB3   ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB3', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select g.UID_Org as uid from ( select UID_UNSGroupB3Lower\r\n as UID_UNSGroupB3 from inserted union select UID_UNSGroupB3Higher from inserted ) as y join BaseTreeHasUNSGroupB3 g on y.UID_UNSGroupB3 = g.UID_UNSGroupB3\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-OrgHasUNSGroupB3', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (''\r\n, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIUNSGroupB3InUNSGroupB3",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB3InUNSGroupB3",
      "CreateDate": "2025-06-27T18:01:22.093",
      "ModifyDate": "2026-04-14T23:23:08.907",
      "Definition": "  create   trigger TSB_TIUNSGroupB3InUNSGroupB3 on UNSGroupB3InUNSGroupB3  for Insert not for Replication as begin  if exists (select top\r\n 1 1 from inserted) goto start return start: BEGIN TRY  if exists (select top 1 1 from inserted i join UNSGroupB3 g on i.UID_UNSGroupB3Child = g.UID_UNSGroupB3\r\n join UNSGroupB3 u on i.UID_UNSGroupB3Parent = u.UID_UNSGroupB3 join UNSRootB ru on u.UID_UNSRootB = ru.UID_UNSRootB join DPRNameSpace ns on ru.UID_DPRNameSpace\r\n = ns.UID_DPRNameSpace join UNSRootB rg on g.UID_UNSRootB = rg.UID_UNSRootB where 0 = case when u.UID_UNSRootB = g.UID_UNSRootB then 1  when ns.IsExtendedInheritance\r\n = 0 then 0 when ns.IsExtendedInheritance = 1 and ns.UID_DPRNameSpace = rg.UID_DPRNameSpace then 1 else 0 end ) begin raiserror ('#LDS#Assignment is not permitted due to the configuration of related UNSRoots.|'\r\n, 18, 2) with nowait end  declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw \r\ninsert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_UNSGroupB3Parent as uid from inserted\r\n union select UID_UNSGroupB3Child from inserted union  select co.uid_UNSGroupB3Parent as uid from inserted i join UNSGroupB3collection co on i.UID_UNSGroupB3Child\r\n = co.UID_UNSGroupB3Child  union select co.uid_UNSGroupB3Parent from inserted i join UNSGroupB3collection co on i.UID_UNSGroupB3Parent = co.UID_UNSGroupB3Child\r\n  union select co.UID_UNSGroupB3Child from inserted i join UNSGroupB3collection co on i.UID_UNSGroupB3Child = co.UID_UNSGroupB3Parent  union select\r\n co.UID_UNSGroupB3Child from inserted i join UNSGroupB3collection co on i.UID_UNSGroupB3Parent = co.UID_UNSGroupB3Parent ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'TSB-K-UNSGroupB3InUNSGroupB3', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIUNSGroupBCollection",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupBCollection",
      "CreateDate": "2025-06-27T18:01:21.623",
      "ModifyDate": "2026-04-14T23:23:08.91",
      "Definition": "  create   trigger TSB_TIUNSGroupBCollection on UNSGroupBCollection  for Insert not for Replication as begin  if exists (select top 1 1 from\r\n inserted) goto start return start: BEGIN TRY declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01\r\n QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select  a.uid_person as uid from \r\nUNSAccountBInUNSGroupB uig join (select uid_UNSGroupBParent as UID_Group from inserted union select UID_UNSGroupBChild from inserted ) as x on\r\n x.uid_group = uig.uid_UNSGroupB and uig.XOrigin > 0  join UNSAccountB a on uig.UID_UNSAccountB = a.uid_UNSAccountB where a.uid_person > ' '  union \r\nselect a.uid_person as uid from UNSAccountBHasUNSGroupB uig join (select uid_UNSGroupBParent as UID_Group from inserted union select UID_UNSGroupBChild\r\n from inserted ) as x on x.uid_group = uig.uid_UNSGroupB and uig.XOrigin > 0  join UNSAccountB a on uig.UID_UNSAccountB = a.uid_UNSAccountB where a.uid_person\r\n > ' '  ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct uig.UID_Org as uid from BaseTreeHasUNSGroupB uig join (select \r\nuid_UNSGroupBParent as UID_Group from inserted union select UID_UNSGroupBChild from inserted ) as x on x.uid_group = uig.uid_UNSGroupB and uig.XOrigin\r\n > 0  ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-BaseTreeHasObject', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIUNSGroupBExclusion",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupBExclusion",
      "CreateDate": "2025-06-27T18:01:21.637",
      "ModifyDate": "2026-04-14T23:23:08.913",
      "Definition": "    create   trigger TSB_TIUNSGroupBExclusion on UNSGroupBExclusion  for Insert not for Replication as begin  declare @exclusions QBM_YParameterList\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start return start:  declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if dbo.QBM_FGIConfigparmValue('QER\\Structures\\Inherite\\GroupExclusion') = '' begin raiserror( '#LDS#Cannot make a definition because exclusion is not enabled by config parm.|'\r\n, 18, 2) with nowait end insert into @exclusions (Parameter1, Parameter2) select UID_UNSGroupBHigher, UID_UNSGroupBLower from inserted exec QER_PExclusionCheckCircular\r\n @TargetTable = 'UNSGroupBExclusion' , @HigherColumn = 'UID_UNSGroupBHigher' , @LowerColumn = 'UID_UNSGroupBLower' , @exclusions = @exclusions\r\n declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select\r\n uig.uid_unsaccountB as uid from ( select UID_UNSGroupBLower as UID_UNSGroupB from inserted union select UID_UNSGroupBHigher from inserted ) as\r\n y  join UNSGroupBCollection coll on y.uid_UNSGroupB = coll.UID_UNSGroupBParent join UNSAccountBInUNSGroupB uig on coll.UID_UNSGroupBChild\r\n = uig.uid_UNSGroupB   union select uig.uid_unsaccountB as uid from ( select UID_UNSGroupBLower as UID_UNSGroupB from inserted union select UID_UNSGroupBHigher\r\n from inserted ) as y  join UNSGroupBCollection coll on y.uid_UNSGroupB = coll.UID_UNSGroupBParent join UNSAccountBHasUNSGroupB uig on coll.UID_UNSGroupBChild\r\n = uig.uid_UNSGroupB   ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select g.UID_Org as uid from ( select UID_UNSGroupBLower\r\n as UID_UNSGroupB from inserted union select UID_UNSGroupBHigher from inserted ) as y join BaseTreeHasUNSGroupB g on y.UID_UNSGroupB = g.UID_UNSGroupB\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-OrgHasUNSGroupB', @DBQueueElements_02 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (''\r\n, 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIUNSGroupBHasUNSItemB",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupBHasUnsItemB",
      "CreateDate": "2025-06-27T18:01:21.113",
      "ModifyDate": "2026-04-14T23:23:08.917",
      "Definition": "  create   trigger TSB_TIUNSGroupBHasUNSItemB on UNSGroupBHasUNSItemB  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Inherit_inv\r\n int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar\r\n(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, \r\ngenprocid) select x.uid, null, @GenProcID from (  select distinct i.UID_UNSGroupB as uid from inserted i   where i.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv\r\n > 0 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSGroupBHasUNSItemB', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select  t.UID_UNSAccountB as uid from inserted m join UnsAccountBinUnsGroupB t on\r\n m.uid_UnsGroupB = t.uid_UnsGroupB and t.XOrigin > 0  where m.XIsInEffect = 1  union select t.UID_UNSAccountB as uid from inserted m join UNSAccountBHasUNSGroupB\r\n t on m.UID_UNSGroupB = t.UID_UNSGroupB and t.XOrigin > 0  where m.XIsInEffect = 1  ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBHasUNSItemB',\r\n @DBQueueElements_02 declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select distinct t.UID_UNSGroupBChild as uid from inserted m join UnsGroupBinUnsGroupB t on m.uid_UnsGroupB = t.uid_UnsGroupBParent where m.XIsInEffect\r\n = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSGroupBHasUNSItemB', @DBQueueElements_03 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIUNSGroupBInUNSGroupB",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupBInUNSGroupB",
      "CreateDate": "2025-06-27T18:01:21.653",
      "ModifyDate": "2026-04-14T23:23:08.92",
      "Definition": "  create   trigger TSB_TIUNSGroupBInUNSGroupB on UNSGroupBInUNSGroupB  for Insert not for Replication as begin  if exists (select top\r\n 1 1 from inserted) goto start return start: BEGIN TRY  if exists (select top 1 1 from inserted i join UNSGroupB g on i.UID_UNSGroupBChild = g.UID_UNSGroupB\r\n join UNSGroupB u on i.UID_UNSGroupBParent = u.UID_UNSGroupB join UNSRootB ru on u.UID_UNSRootB = ru.UID_UNSRootB join DPRNameSpace ns on ru.UID_DPRNameSpace\r\n = ns.UID_DPRNameSpace join UNSRootB rg on g.UID_UNSRootB = rg.UID_UNSRootB where 0 = case when u.UID_UNSRootB = g.UID_UNSRootB then 1  when ns.IsExtendedInheritance\r\n = 0 then 0 when ns.IsExtendedInheritance = 1 and ns.UID_DPRNameSpace = rg.UID_DPRNameSpace then 1 else 0 end ) begin raiserror ('#LDS#Assignment is not permitted due to the configuration of related UNSRoots.|'\r\n, 18, 2) with nowait end  declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw \r\ninsert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_UNSGroupBParent as uid from inserted\r\n union select UID_UNSGroupBChild from inserted union  select co.uid_UNSGroupBParent as uid from inserted i join UNSGroupBcollection co on i.UID_UNSGroupBChild\r\n = co.UID_UNSGroupBChild  union select co.uid_UNSGroupBParent from inserted i join UNSGroupBcollection co on i.UID_UNSGroupBParent = co.UID_UNSGroupBChild\r\n  union select co.UID_UNSGroupBChild from inserted i join UNSGroupBcollection co on i.UID_UNSGroupBChild = co.UID_UNSGroupBParent  union select\r\n co.UID_UNSGroupBChild from inserted i join UNSGroupBcollection co on i.UID_UNSGroupBParent = co.UID_UNSGroupBParent ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'TSB-K-UNSGroupBInUNSGroupB', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TIUNSRootB",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSRootB",
      "CreateDate": "2025-06-27T18:01:21.13",
      "ModifyDate": "2026-04-14T23:23:08.927",
      "Definition": "    create   trigger TSB_TIUNSRootB on UNSRootB  for Insert not for Replication as begin declare @GenProcID varchar(38) BEGIN TRY if exists (select\r\n top 1 1 from inserted) goto start return start: select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw insert into\r\n @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select i.UID_UNSRootB as uid from inserted i ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'TSB-K-BaseTreeOwnsObject', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel:\r\n return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TRMBUUNSRootB",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSRootB",
      "CreateDate": "2025-06-27T18:01:21.393",
      "ModifyDate": "2026-04-14T23:23:08.927",
      "Definition": "    create   trigger TSB_TRMBUUNSRootB on UNSRootB  for Update not for Replication as begin  declare @Parameter nvarchar(1000) BEGIN TRY if exists\r\n (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID\r\n = dbo.QBM_FGISessionContext('')  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TUBaseTreeHasTSBAccountDef",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasTSBAccountDef",
      "CreateDate": "2025-06-27T18:01:21.163",
      "ModifyDate": "2026-04-14T23:23:07.997",
      "Definition": "create   trigger TSB_TUBaseTreeHasTSBAccountDef on BaseTreeHasTSBAccountDef  for Update not for Replication as begin  BEGIN TRY if exists (select\r\n top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = \r\ndbo.QBM_FGISessionContext('') if update(XOrigin) or update(XIsInEffect) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct a.UID_Org as uid from BaseTreeHasTSBAccountDef a join deleted d on\r\n a.XObjectKey = d.XObjectKey where ( dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo\r\n(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(a.XOrigin) ) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-BaseTreeHasObject', @DBQueueElements_01 declare \r\n@ChangedOrg QBM_YSingleGUID insert into @ChangedOrg (UID_SingleGuid) select distinct d.UID_Org as uid from BaseTreeHasTSBAccountDef a join deleted d on\r\n a.XObjectKey = d.XObjectKey where dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 if @@ROWCOUNT > 0  begin declare\r\n @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, 'TSB-K-OrgHasTSBAccountDef', @GenProcID\r\n from ( select c.UID_SingleGuid as uid from @ChangedOrg c ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AllChildrenOfOrg', @DBQueueElements_02 declare @DBQueueElements_03\r\n QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select b.UID_Org as uid from @ChangedOrg\r\n c join BaseTree b on c.UID_SingleGuid = b.UID_Org where b.ITShopInfo = 'BO' ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgAutoChild', @DBQueueElements_03\r\n  declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select\r\n pio.UID_Person as uid from @ChangedOrg c join PersoninBaseTree pio on c.UID_SingleGuid = pio.UID_Org and pio.XOrigin > 0 union select hpo.UID_Person as\r\n uid from @ChangedOrg c join HelperPersonOrg hpo on c.UID_SingleGuid = hpo.UID_Org ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PERSONHASTSBAccountDef', \r\n@DBQueueElements_04 end  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TUBaseTreeHasUNSGroupB",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasUNSGroupB",
      "CreateDate": "2025-06-27T18:01:21.533",
      "ModifyDate": "2026-04-14T23:23:08",
      "Definition": "create   trigger TSB_TUBaseTreeHasUNSGroupB on BaseTreeHasUNSGroupB  for Update not for Replication as begin  declare @ChangedOrg QBM_YSingleGUID\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar\r\n(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(XOrigin) or update(XIsInEffect) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct a.UID_Org as uid from BaseTreeHasUNSGroupB\r\n a join deleted d on a.XObjectKey = d.XObjectKey where ( dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo\r\n(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(a.XOrigin) ) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-BaseTreeHasObject', @DBQueueElements_01 insert into\r\n @ChangedOrg (UID_SingleGuid) select distinct d.UID_Org as uid from BaseTreeHasUNSGroupB a join deleted d on a.XObjectKey = d.XObjectKey where dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 if @@ROWCOUNT > 0  begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.uid, 'TSB-K-OrgHasUNSGroupB', @GenProcID from ( select c.UID_SingleGuid as uid from @ChangedOrg c ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'QER-K-AllChildrenOfOrg', @DBQueueElements_02 declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object\r\n, subobject, genprocid) select x.uid, null, @GenProcID from ( select b.UID_Org as uid from @ChangedOrg c join BaseTree b on c.UID_SingleGuid = b.UID_Org\r\n where b.ITShopInfo = 'BO' ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgAutoChild', @DBQueueElements_03 declare @DBQueueElements_04 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select ac.UID_UNSAccountB as uid from @ChangedOrg c join\r\n PersoninBaseTree pio on c.UID_SingleGuid = pio.UID_Org and pio.XOrigin > 0 join UNSAccountB ac on ac.UID_Person = pio.UID_Person and ac.IsGroupAccount_UNSGroupB\r\n = 1 union select ac.UID_UNSAccountB as uid from @ChangedOrg c join HelperPersonOrg hpo on c.UID_SingleGuid = hpo.UID_Org join UNSAccountB ac on ac.UID_Person\r\n = hpo.UID_Person and ac.IsGroupAccount_UNSGroupB = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB', @DBQueueElements_04 end\r\n  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TUBaseTreeHasUNSGroupB1",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasUNSGroupB1",
      "CreateDate": "2025-06-27T18:01:21.74",
      "ModifyDate": "2026-04-14T23:23:08",
      "Definition": "create   trigger TSB_TUBaseTreeHasUNSGroupB1 on BaseTreeHasUNSGroupB1  for Update not for Replication as begin  declare @ChangedOrg QBM_YSingleGUID\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar\r\n(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(XOrigin) or update(XIsInEffect) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct a.UID_Org as uid from BaseTreeHasUNSGroupB1\r\n a join deleted d on a.XObjectKey = d.XObjectKey where ( dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo\r\n(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(a.XOrigin) ) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-BaseTreeHasObject', @DBQueueElements_01 insert into\r\n @ChangedOrg (UID_SingleGuid) select distinct d.UID_Org as uid from BaseTreeHasUNSGroupB1 a join deleted d on a.XObjectKey = d.XObjectKey where dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 if @@ROWCOUNT > 0  begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.uid, 'TSB-K-OrgHasUNSGroupB1', @GenProcID from ( select c.UID_SingleGuid as uid from @ChangedOrg c ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'QER-K-AllChildrenOfOrg', @DBQueueElements_02 declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object\r\n, subobject, genprocid) select x.uid, null, @GenProcID from ( select b.UID_Org as uid from @ChangedOrg c join BaseTree b on c.UID_SingleGuid = b.UID_Org\r\n where b.ITShopInfo = 'BO' ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgAutoChild', @DBQueueElements_03 declare @DBQueueElements_04 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select ac.UID_UNSAccountB as uid from @ChangedOrg c join\r\n PersoninBaseTree pio on c.UID_SingleGuid = pio.UID_Org and pio.XOrigin > 0 join UNSAccountB ac on ac.UID_Person = pio.UID_Person and ac.IsGroupAccount_UNSGroupB1\r\n = 1 union select ac.UID_UNSAccountB as uid from @ChangedOrg c join HelperPersonOrg hpo on c.UID_SingleGuid = hpo.UID_Org join UNSAccountB ac on ac.UID_Person\r\n = hpo.UID_Person and ac.IsGroupAccount_UNSGroupB1 = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB1', @DBQueueElements_04 end\r\n  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TUBaseTreeHasUNSGroupB2",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasUNSGroupB2",
      "CreateDate": "2025-06-27T18:01:21.883",
      "ModifyDate": "2026-04-14T23:23:08.003",
      "Definition": "create   trigger TSB_TUBaseTreeHasUNSGroupB2 on BaseTreeHasUNSGroupB2  for Update not for Replication as begin  declare @ChangedOrg QBM_YSingleGUID\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar\r\n(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(XOrigin) or update(XIsInEffect) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct a.UID_Org as uid from BaseTreeHasUNSGroupB2\r\n a join deleted d on a.XObjectKey = d.XObjectKey where ( dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo\r\n(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(a.XOrigin) ) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-BaseTreeHasObject', @DBQueueElements_01 insert into\r\n @ChangedOrg (UID_SingleGuid) select distinct d.UID_Org as uid from BaseTreeHasUNSGroupB2 a join deleted d on a.XObjectKey = d.XObjectKey where dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 if @@ROWCOUNT > 0  begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.uid, 'TSB-K-OrgHasUNSGroupB2', @GenProcID from ( select c.UID_SingleGuid as uid from @ChangedOrg c ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'QER-K-AllChildrenOfOrg', @DBQueueElements_02 declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object\r\n, subobject, genprocid) select x.uid, null, @GenProcID from ( select b.UID_Org as uid from @ChangedOrg c join BaseTree b on c.UID_SingleGuid = b.UID_Org\r\n where b.ITShopInfo = 'BO' ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgAutoChild', @DBQueueElements_03 declare @DBQueueElements_04 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select ac.UID_UNSAccountB as uid from @ChangedOrg c join\r\n PersoninBaseTree pio on c.UID_SingleGuid = pio.UID_Org and pio.XOrigin > 0 join UNSAccountB ac on ac.UID_Person = pio.UID_Person and ac.IsGroupAccount_UNSGroupB2\r\n = 1 union select ac.UID_UNSAccountB as uid from @ChangedOrg c join HelperPersonOrg hpo on c.UID_SingleGuid = hpo.UID_Org join UNSAccountB ac on ac.UID_Person\r\n = hpo.UID_Person and ac.IsGroupAccount_UNSGroupB2 = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB2', @DBQueueElements_04 end\r\n  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TUBaseTreeHasUNSGroupB3",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "BaseTreeHasUNSGroupB3",
      "CreateDate": "2025-06-27T18:01:22.03",
      "ModifyDate": "2026-04-14T23:23:08.007",
      "Definition": "create   trigger TSB_TUBaseTreeHasUNSGroupB3 on BaseTreeHasUNSGroupB3  for Update not for Replication as begin  declare @ChangedOrg QBM_YSingleGUID\r\n BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar\r\n(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(XOrigin) or update(XIsInEffect) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct a.UID_Org as uid from BaseTreeHasUNSGroupB3\r\n a join deleted d on a.XObjectKey = d.XObjectKey where ( dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo\r\n(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(a.XOrigin) ) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-BaseTreeHasObject', @DBQueueElements_01 insert into\r\n @ChangedOrg (UID_SingleGuid) select distinct d.UID_Org as uid from BaseTreeHasUNSGroupB3 a join deleted d on a.XObjectKey = d.XObjectKey where dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 if @@ROWCOUNT > 0  begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02\r\n (object, subobject, genprocid) select x.uid, 'TSB-K-OrgHasUNSGroupB3', @GenProcID from ( select c.UID_SingleGuid as uid from @ChangedOrg c ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'QER-K-AllChildrenOfOrg', @DBQueueElements_02 declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object\r\n, subobject, genprocid) select x.uid, null, @GenProcID from ( select b.UID_Org as uid from @ChangedOrg c join BaseTree b on c.UID_SingleGuid = b.UID_Org\r\n where b.ITShopInfo = 'BO' ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-OrgAutoChild', @DBQueueElements_03 declare @DBQueueElements_04 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select ac.UID_UNSAccountB as uid from @ChangedOrg c join\r\n PersoninBaseTree pio on c.UID_SingleGuid = pio.UID_Org and pio.XOrigin > 0 join UNSAccountB ac on ac.UID_Person = pio.UID_Person and ac.IsGroupAccount_UNSGroupB3\r\n = 1 union select ac.UID_UNSAccountB as uid from @ChangedOrg c join HelperPersonOrg hpo on c.UID_SingleGuid = hpo.UID_Org join UNSAccountB ac on ac.UID_Person\r\n = hpo.UID_Person and ac.IsGroupAccount_UNSGroupB3 = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB3', @DBQueueElements_04 end\r\n  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TUDialogConfigParm",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DialogConfigParm",
      "CreateDate": "2025-06-27T18:01:21.267",
      "ModifyDate": "2026-04-14T23:23:08.047",
      "Definition": " create   trigger TSB_TUDialogConfigParm on DialogConfigParm  for Update not for Replication as begin  BEGIN TRY if exists (select top 1 1 from \r\ninserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if update(value) or update(IsEnabledResulting) begin if exists ( select top 1 1 from DialogConfigParm p join deleted d on p.UID_ConfigParm = d.UID_ConfigParm\r\n and ( isnull(d.Value,N'') <> isnull(p.Value,N'') or isnull(d.IsEnabledResulting,0) <> isnull(p.IsEnabledResulting,0) ) where d.FullPath = 'TargetSystem\\UNS\\PersonExcludeList'\r\n ) begin exec QBM_PJobCreate_HOTemplate_B 'UNSAccountB', '1=1', @Columns = 'NeverConnectToPerson' , @GenProcID = @GenprocID , @AdditionalObjectKeysAffected\r\n = default end end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 0,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TUDPRNameSpace",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "DPRNameSpace",
      "CreateDate": "2025-06-27T18:01:21.24",
      "ModifyDate": "2026-04-14T23:23:08.22",
      "Definition": "  create   trigger TSB_TUDPRNameSpace on DPRNameSpace  for Update not for Replication as begin  if exists (select top 1 1 from inserted) goto start\r\n if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if not update(IsExtendedInheritance) begin goto naechsterTest end  declare @AccountsFuerGroupB0 QBM_YParameterList  declare @AccountsFuerGroupB1 QBM_YParameterList\r\n declare @AccountsFuerGroupB2 QBM_YParameterList declare @AccountsFuerGroupB3 QBM_YParameterList  declare @DBQueueElements_GroupB0 QBM_YDBQueueRaw declare\r\n @DBQueueElements_GroupB1 QBM_YDBQueueRaw declare @DBQueueElements_GroupB2 QBM_YDBQueueRaw declare @DBQueueElements_GroupB3 QBM_YDBQueueRaw   insert into\r\n @AccountsFuerGroupB0(Parameter1) select distinct ac.UID_UNSAccountB from DPRNameSpace a join deleted d on a.UID_DPRNameSpace = d.UID_DPRNameSpace join\r\n UNSRootB r on r.UID_DPRNameSpace = a.UID_DPRNameSpace join UNSRootB r2 on r2.UID_DPRNameSpace = a.UID_DPRNameSpace and r.UID_UNSRootB <> r2.UID_UNSRootB\r\n join UNSAccountB ac on r.UID_UNSRootB = ac.UID_UNSRootB where isnull(d.IsExtendedInheritance,0) <> isnull(a.IsExtendedInheritance,0) and r2.GroupUsageMask\r\n & 0x01 > 0 insert into @AccountsFuerGroupB1(Parameter1) select distinct ac.UID_UNSAccountB from DPRNameSpace a join deleted d on a.UID_DPRNameSpace = \r\nd.UID_DPRNameSpace join UNSRootB r on r.UID_DPRNameSpace = a.UID_DPRNameSpace join UNSRootB r2 on r2.UID_DPRNameSpace = a.UID_DPRNameSpace and r.UID_UNSRootB\r\n <> r2.UID_UNSRootB join UNSAccountB ac on r.UID_UNSRootB = ac.UID_UNSRootB where isnull(d.IsExtendedInheritance,0) <> isnull(a.IsExtendedInheritance,0\r\n) and r2.GroupUsageMask & 0x02 > 0 insert into @AccountsFuerGroupB2(Parameter1) select distinct ac.UID_UNSAccountB from DPRNameSpace a join deleted d on\r\n a.UID_DPRNameSpace = d.UID_DPRNameSpace join UNSRootB r on r.UID_DPRNameSpace = a.UID_DPRNameSpace join UNSRootB r2 on r2.UID_DPRNameSpace = a.UID_DPRNameSpace\r\n and r.UID_UNSRootB <> r2.UID_UNSRootB join UNSAccountB ac on r.UID_UNSRootB = ac.UID_UNSRootB where isnull(d.IsExtendedInheritance,0) <> isnull(a.IsExtendedInheritance\r\n,0) and r2.GroupUsageMask & 0x04 > 0 insert into @AccountsFuerGroupB3(Parameter1) select distinct ac.UID_UNSAccountB from DPRNameSpace a join deleted d\r\n on a.UID_DPRNameSpace = d.UID_DPRNameSpace join UNSRootB r on r.UID_DPRNameSpace = a.UID_DPRNameSpace join UNSRootB r2 on r2.UID_DPRNameSpace = a.UID_DPRNameSpace\r\n and r.UID_UNSRootB <> r2.UID_UNSRootB join UNSAccountB ac on r.UID_UNSRootB = ac.UID_UNSRootB where isnull(d.IsExtendedInheritance,0) <> isnull(a.IsExtendedInheritance\r\n,0) and r2.GroupUsageMask & 0x08 > 0  insert into @AccountsFuerGroupB0(Parameter1)  select aig.UID_UNSAccountB as uid from DPRNameSpace a join deleted \r\nd on a.UID_DPRNameSpace = d.UID_DPRNameSpace join UNSRootB r on r.UID_DPRNameSpace = a.UID_DPRNameSpace and r.GroupUsageMask & 0x01 > 0 join UNSGroupB \r\nac on r.UID_UNSRootB = ac.UID_UNSRootB join UNSAccountBInUNSGroupB aig on ac.UID_UNSGroupB = aig.UID_UNSGroupB where isnull(d.IsExtendedInheritance,0) \r\n<> isnull(a.IsExtendedInheritance,0)  union  select aig.UID_UNSAccountB as uid from DPRNameSpace a join deleted d on a.UID_DPRNameSpace = d.UID_DPRNameSpace\r\n join UNSRootB r on r.UID_DPRNameSpace = a.UID_DPRNameSpace and r.GroupUsageMask & 0x01 > 0 join UNSGroupB ac on r.UID_UNSRootB = ac.UID_UNSRootB join \r\nUNSAccountBHasUNSGroupB aig on ac.UID_UNSGroupB = aig.UID_UNSGroupB where isnull(d.IsExtendedInheritance,0) <> isnull(a.IsExtendedInheritance,0)  insert\r\n into @AccountsFuerGroupB1(Parameter1)  select aig.UID_UNSAccountB as uid from DPRNameSpace a join deleted d on a.UID_DPRNameSpace = d.UID_DPRNameSpace\r\n join UNSRootB r on r.UID_DPRNameSpace = a.UID_DPRNameSpace and r.GroupUsageMask & 0x02 > 0 join UNSGroupB1 ac on r.UID_UNSRootB = ac.UID_UNSRootB join\r\n UNSAccountBInUNSGroupB1 aig on ac.UID_UNSGroupB1 = aig.UID_UNSGroupB1 where isnull(d.IsExtendedInheritance,0) <> isnull(a.IsExtendedInheritance,0)  union\r\n  select aig.UID_UNSAccountB as uid from DPRNameSpace a join deleted d on a.UID_DPRNameSpace = d.UID_DPRNameSpace join UNSRootB r on r.UID_DPRNameSpace\r\n = a.UID_DPRNameSpace and r.GroupUsageMask & 0x02 > 0 join UNSGroupB1 ac on r.UID_UNSRootB = ac.UID_UNSRootB join UNSAccountBHasUNSGroupB1 aig on ac.UID_UNSGroupB1\r\n = aig.UID_UNSGroupB1 where isnull(d.IsExtendedInheritance,0) <> isnull(a.IsExtendedInheritance,0)  insert into @AccountsFuerGroupB2(Parameter1)  select\r\n aig.UID_UNSAccountB as uid from DPRNameSpace a join deleted d on a.UID_DPRNameSpace = d.UID_DPRNameSpace join UNSRootB r on r.UID_DPRNameSpace = a.UID_DPRNameSpace\r\n and r.GroupUsageMask & 0x04 > 0 join UNSGroupB2 ac on r.UID_UNSRootB = ac.UID_UNSRootB join UNSAccountBInUNSGroupB2 aig on ac.UID_UNSGroupB2 = aig.UID_UNSGroupB2\r\n where isnull(d.IsExtendedInheritance,0) <> isnull(a.IsExtendedInheritance,0)  union  select aig.UID_UNSAccountB as uid from DPRNameSpace a join deleted\r\n d on a.UID_DPRNameSpace = d.UID_DPRNameSpace join UNSRootB r on r.UID_DPRNameSpace = a.UID_DPRNameSpace and r.GroupUsageMask & 0x04 > 0 join UNSGroupB2\r\n ac on r.UID_UNSRootB = ac.UID_UNSRootB join UNSAccountBHasUNSGroupB2 aig on ac.UID_UNSGroupB2 = aig.UID_UNSGroupB2 where isnull(d.IsExtendedInheritance\r\n,0) <> isnull(a.IsExtendedInheritance,0)  insert into @AccountsFuerGroupB3(Parameter1)  select aig.UID_UNSAccountB as uid from DPRNameSpace a join deleted\r\n d on a.UID_DPRNameSpace = d.UID_DPRNameSpace join UNSRootB r on r.UID_DPRNameSpace = a.UID_DPRNameSpace and r.GroupUsageMask & 0x08 > 0 join UNSGroupB3\r\n ac on r.UID_UNSRootB = ac.UID_UNSRootB join UNSAccountBInUNSGroupB3 aig on ac.UID_UNSGroupB3 = aig.UID_UNSGroupB3 where isnull(d.IsExtendedInheritance\r\n,0) <> isnull(a.IsExtendedInheritance,0)  union  select aig.UID_UNSAccountB as uid from DPRNameSpace a join deleted d on a.UID_DPRNameSpace = d.UID_DPRNameSpace\r\n join UNSRootB r on r.UID_DPRNameSpace = a.UID_DPRNameSpace and r.GroupUsageMask & 0x08 > 0 join UNSGroupB3 ac on r.UID_UNSRootB = ac.UID_UNSRootB join\r\n UNSAccountBHasUNSGroupB3 aig on ac.UID_UNSGroupB3 = aig.UID_UNSGroupB3 where isnull(d.IsExtendedInheritance,0) <> isnull(a.IsExtendedInheritance,0)   \r\ninsert into @DBQueueElements_GroupB0 (object, subobject, genprocid) select distinct x.Parameter1, null, @GenProcID from @AccountsFuerGroupB0 x exec QBM_PDBQueueInsert_Bulk\r\n 'TSB-K-UNSAccountBInUNSGroupB', @DBQueueElements_GroupB0 insert into @DBQueueElements_GroupB1 (object, subobject, genprocid) select distinct x.Parameter1\r\n, null, @GenProcID from @AccountsFuerGroupB1 x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB1', @DBQueueElements_GroupB1 insert into @DBQueueElements_GroupB2\r\n (object, subobject, genprocid) select distinct x.Parameter1, null, @GenProcID from @AccountsFuerGroupB2 x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB2'\r\n, @DBQueueElements_GroupB2 insert into @DBQueueElements_GroupB3 (object, subobject, genprocid) select distinct x.Parameter1, null, @GenProcID from @AccountsFuerGroupB3\r\n x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB3', @DBQueueElements_GroupB3   declare @DBQueueElements_06 QBM_YDBQueueRaw insert into @DBQueueElements_06\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from (  select ac.UID_UNSAccountB as uid from DPRNameSpace a join deleted d on a.UID_DPRNameSpace\r\n = d.UID_DPRNameSpace join UNSRootB r on r.UID_DPRNameSpace = a.UID_DPRNameSpace join UNSAccountB ac on r.UID_UNSRootB = ac.UID_UNSRootB where isnull(d.IsExtendedInheritance\r\n,0) <> isnull(a.IsExtendedInheritance,0) union  select aig.UID_UNSAccountB as uid from DPRNameSpace a join deleted d on a.UID_DPRNameSpace = d.UID_DPRNameSpace\r\n join UNSRootB r on r.UID_DPRNameSpace = a.UID_DPRNameSpace join UNSItemB ac on r.UID_UNSRootB = ac.UID_UNSRootB join UNSAccountBHasUNSItemB aig on ac.UID_UNSItemB\r\n = aig.UID_UNSItemB where isnull(d.IsExtendedInheritance,0) <> isnull(a.IsExtendedInheritance,0) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBHasUNSItemB'\r\n, @DBQueueElements_06 declare @DBQueueElements_07 QBM_YDBQueueRaw insert into @DBQueueElements_07 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from (  select ac.UID_UNSGroupB as uid from DPRNameSpace a join deleted d on a.UID_DPRNameSpace = d.UID_DPRNameSpace join UNSRootB r on r.UID_DPRNameSpace\r\n = a.UID_DPRNameSpace join UNSGroupB ac on r.UID_UNSRootB = ac.UID_UNSRootB where isnull(d.IsExtendedInheritance,0) <> isnull(a.IsExtendedInheritance,0\r\n)  union select aig.UID_UNSGroupB as uid from DPRNameSpace a join deleted d on a.UID_DPRNameSpace = d.UID_DPRNameSpace join UNSRootB r on r.UID_DPRNameSpace\r\n = a.UID_DPRNameSpace join UNSItemB ac on r.UID_UNSRootB = ac.UID_UNSRootB join UNSGroupBHasUnsItemB aig on ac.UID_UNSItemB = aig.UID_UNSItemB where isnull\r\n(d.IsExtendedInheritance,0) <> isnull(a.IsExtendedInheritance,0) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSGroupBHasUNSItemB', @DBQueueElements_07 \r\n naechsterTest: END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TUPersonHasTSBAccountDef",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "PersonHasTSBAccountDef",
      "CreateDate": "2025-06-27T18:01:21.183",
      "ModifyDate": "2026-04-14T23:23:08.45",
      "Definition": "create   trigger TSB_TUPersonHasTSBAccountDef on PersonHasTSBAccountDef  for Update not for Replication as begin  BEGIN TRY if exists (select top\r\n 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if update(XOrigin) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, \r\nnull, @GenProcID from ( select distinct d.UID_Person as uid from deleted d join PersonHasTSBAccountDef dd on d.XObjectKey = dd.XObjectKey where dbo.QBM_FGIXOriginChanged_Except2\r\n(d.XOrigin, dd.XOrigin) = 1  ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasTSBAccountDef', @DBQueueElements_01 end  if update(XIsInEffect) or update\r\n(XOrigin) begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select distinct a.UID_Person as uid from PersonHasTSBAccountDef a join deleted d on a.XObjectKey = d.XObjectKey where ( dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(a.XOrigin) ) \r\n) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_02 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (\r\n'', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TUTSBAccountDef",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "TSBAccountDef",
      "CreateDate": "2025-06-27T18:01:21.203",
      "ModifyDate": "2026-04-14T23:23:08.807",
      "Definition": " create   trigger TSB_TUTSBAccountDef on TSBAccountDef  for Update not for Replication as begin  declare @ObjectkeyOrdered varchar(138) declare \r\n@uid_accproduct varchar(38) declare @whereclauseOrg nvarchar(max) declare @whereclauseMuster nvarchar(max) = ' UID_ITShopOrg in ( select UID_OrgPR \r\n\t\t\t\t\t\t\tfrom QER_VPWOProductNodesSlim\r\n\t\t\t\t\t\t\twhere ObjectkeyOrdered = ''@ObjectkeyOrdered'' \r\n\t\t\t\t\t\t\t\tand isnull(UID_AccProduct, '''') <> ''@UID_AccProduct''\r\n\t\t\t\t\t)\r\n'\r\n declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int BEGIN TRY if exists (select top 1 1 from inserted) goto start\r\n if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare\r\n @TSBAccountDefsToCheck QBM_YSingleGUID    if update(isForITShop) or update(isITShopOnly) begin declare @FlagTest QBM_YParameterlist insert into @FlagTest\r\n(Parameter1, Parameter2, HasContentFull, e.Parameter3) select i.UID_TSBAccountDef, i.XObjectKey, i.IsForITShop, dbo.QBM_FCVBigIntToString(i.IsITShopOnly\r\n) from inserted i exec QER_PIsForITShopFlagCheck 'TSBAccountDef', @FlagTest end  if update(PTDInheritAccountDef) or update(PFDInheritAccountDef) or update\r\n(PMDInheritAccountDef) or update(PSIInheritAccountDef) or update(UID_TSBAccountDefPredecessor) begin insert into @TSBAccountDefsToCheck(UID_SingleGuid \r\n) select r.uid_TSBAccountDef from TSBAccountDef r join deleted d on r.uid_TSBAccountDef = d.uid_TSBAccountDef where (isnull(r.PTDInheritAccountDef,0) <>\r\n isnull(d.PTDInheritAccountDef,0) or isnull(r.PFDInheritAccountDef,0) <> isnull(d.PFDInheritAccountDef,0) or isnull(r.PMDInheritAccountDef,0) <> isnull\r\n(d.PMDInheritAccountDef,0) or isnull(r.PSIInheritAccountDef,0) <> isnull(d.PSIInheritAccountDef,0) or isnull(r.UID_TSBAccountDefPredecessor,'') <> isnull\r\n(d.UID_TSBAccountDefPredecessor,'') ) union select r.UID_TSBAccountDefPredecessor from TSBAccountDef r join deleted d on r.uid_TSBAccountDef = d.uid_TSBAccountDef\r\n where isnull(r.UID_TSBAccountDefPredecessor,'') <> isnull(d.UID_TSBAccountDefPredecessor,'') and r.UID_TSBAccountDefPredecessor > ' ' union select d.UID_TSBAccountDefPredecessor\r\n from TSBAccountDef r join deleted d on r.uid_TSBAccountDef = d.uid_TSBAccountDef where isnull(r.UID_TSBAccountDefPredecessor,'') <> isnull(d.UID_TSBAccountDefPredecessor\r\n,'') and d.UID_TSBAccountDefPredecessor > ' ' if 0 < (select count(*) from @TSBAccountDefsToCheck) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (  select distinct a.UID_TSBAccountDef as uid from TSBAccountDef\r\n a join @TSBAccountDefsToCheck c on a.UID_TSBAccountDefPredecessor = c.UID_SingleGuid  ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-TSBAccountDefFlags', \r\n@DBQueueElements_01  declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select distinct a.UID_Person as uid from PersonHasTSBAccountDef a join @TSBAccountDefsToCheck c on a.UID_TSBAccountDef = c.UID_SingleGuid  ) as\r\n x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasTSBAccountDef', @DBQueueElements_02 declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from (  select distinct a.UID_Org as uid from BaseTreeHasTSBAccountDef a join @TSBAccountDefsToCheck\r\n c on a.UID_TSBAccountDef = c.UID_SingleGuid  and a.XOrigin > 0 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-OrgHasTSBAccountDef', @DBQueueElements_03 end\r\n end    if update(uid_accproduct) begin insert into @ElementBuffer(ObjectKey1, UID1) select x.XObjectKey, isnull(x.uid_accproduct,'') from TSBAccountDef\r\n x join deleted d on x.uid_TSBAccountDef = d.uid_TSBAccountDef and isnull(x.uid_accproduct,'') <> isnull(d.uid_accproduct,'')  and d.uid_accproduct > ' '\r\n  join dialogColumn c on c.UID_DialogTable = 'QER-T-ITShopOrg' and c.columnname = 'uid_ACCProduct' and c.IsDeactivatedByPreProcessor = 0  select @ElementCount\r\n = @@rowcount select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @ObjectkeyOrdered = bu.ObjectKey1 , @UID_AccProduct = bu.UID1\r\n from @ElementBuffer bu where bu.ElementIndex = @ElementIndex select @whereclauseOrg = @whereclauseMuster select @whereclauseOrg = replace(@whereclauseOrg\r\n, N'@ObjectkeyOrdered' , @ObjectkeyOrdered) select @whereclauseOrg = replace(@whereclauseOrg, N'@uid_accproduct' , rtrim(@uid_accproduct))    exec QBM_PJobCreate_HOUpdate_B\r\n 'ITShopOrg', @whereclauseOrg, @GenProcID , @p1 = 'uid_ACCProduct', @v1 = @uid_accproduct , @AdditionalObjectKeysAffected = DEFAULT select @ElementIndex\r\n += 1 end  end  if update (UID_AccProduct) begin declare @RecalcParameter_OA QBM_YCursorBuffer insert into @RecalcParameter_OA (UID1, ObjectKey1, Ident1\r\n) select 'QER-PWODecisionRule-OA', a.XObjectKey, 'I' from inserted i join TSBAccountDef g on i.UID_TSBAccountDef = g.UID_TSBAccountDef join QERAccProductUsage\r\n u on g.XObjectKey = u.XObjectKey join AccProduct a on u.UID_AccProduct = a.UID_AccProduct union select 'QER-PWODecisionRule-OA', a.XObjectKey, 'I' from\r\n deleted d join TSBAccountDef g on d.UID_TSBAccountDef = g.UID_TSBAccountDef join QERAccProductUsage u on g.XObjectKey = u.XObjectKey join AccProduct a\r\n on u.UID_AccProduct = a.UID_AccProduct exec QER_PITShopHelperFill_Recalc @RecalcParameter_OA, @GenprocID declare @RecalcParameter_OA2 QBM_YCursorBuffer\r\n insert into @RecalcParameter_OA2 (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-OA', pwo.XObjectKey, 'I' from inserted i join TSBAccountDef g \r\non i.UID_TSBAccountDef = g.UID_TSBAccountDef join AccProduct a on i.UID_AccProduct = a.UID_AccProduct join PersonWantsOrg pwo on g.XObjectKey = pwo.ObjectKeyElementUsedInAssign\r\n union select 'QER-PWODecisionRule-OA', pwo.XObjectKey, 'I' from deleted d join TSBAccountDef g on d.UID_TSBAccountDef = g.UID_TSBAccountDef join AccProduct\r\n a on d.UID_AccProduct = a.UID_AccProduct join PersonWantsOrg pwo on g.XObjectKey = pwo.ObjectKeyElementUsedInAssign exec QER_PITShopHelperFill_Recalc \r\n@RecalcParameter_OA2, @GenprocID end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end\r\n \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TUTSBBehavior",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "TSBBehavior",
      "CreateDate": "2025-06-27T18:01:21.217",
      "ModifyDate": "2026-04-14T23:23:08.813",
      "Definition": " create   trigger TSB_TUTSBBehavior on TSBBehavior  for Update not for Replication as begin  declare @TSBBehaviorToCheck QBM_YSingleGUID  BEGIN \r\nTRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38)\r\n select @GenProcID = dbo.QBM_FGISessionContext('') if update(PTDInheritGroup) or update(PFDInheritGroup) or update(PMDInheritGroup) or update(PSIInheritGroup\r\n) or update(ADAInheritGroup) begin insert into @TSBBehaviorToCheck (UID_SingleGuid ) select distinct r.uid_TSBBehavior from TSBBehavior r join deleted \r\nd on r.uid_TSBBehavior = d.uid_TSBBehavior where (isnull(r.PTDInheritGroup,0) <> isnull(d.PTDInheritGroup,0) or isnull(r.PFDInheritGroup,0) <> isnull(d.PFDInheritGroup\r\n,0) or isnull(r.PMDInheritGroup,0) <> isnull(d.PMDInheritGroup,0) or isnull(r.PSIInheritGroup,0) <> isnull(d.PSIInheritGroup,0) or isnull(r.ADAInheritGroup\r\n,0) <> isnull(d.ADAInheritGroup,0) ) if 0 < (select count(*) from @TSBBehaviorToCheck) begin  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from (  select a.UID_UNSAccountB as uid from UNSAccountB a join @TSBBehaviorToCheck c on\r\n a.UID_TSBBehavior = c.UID_SingleGuid  join UNSRootB r on a.UID_UNSRootB = r.UID_UNSRootB and r.GroupUsageMask & 0x01 > 0 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'TSB-K-UNSAccountBInUNSGroupB', @DBQueueElements_01 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from (  select a.UID_UNSAccountB as uid from UNSAccountB a join @TSBBehaviorToCheck c on a.UID_TSBBehavior = c.UID_SingleGuid\r\n  join UNSRootB r on a.UID_UNSRootB = r.UID_UNSRootB and r.GroupUsageMask & 0x02 > 0 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB1'\r\n, @DBQueueElements_02 declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from (  select a.UID_UNSAccountB as uid from UNSAccountB a join @TSBBehaviorToCheck c on a.UID_TSBBehavior = c.UID_SingleGuid  join UNSRootB r on a.UID_UNSRootB\r\n = r.UID_UNSRootB and r.GroupUsageMask & 0x04 > 0 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB2', @DBQueueElements_03 declare @DBQueueElements_04\r\n QBM_YDBQueueRaw insert into @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, @GenProcID from (  select a.UID_UNSAccountB as uid \r\nfrom UNSAccountB a join @TSBBehaviorToCheck c on a.UID_TSBBehavior = c.UID_SingleGuid  join UNSRootB r on a.UID_UNSRootB = r.UID_UNSRootB and r.GroupUsageMask\r\n & 0x08 > 0 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB3', @DBQueueElements_04 end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TUTSBSpecificGroupBehavior",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "TSBSpecificGroupBehavior",
      "CreateDate": "2025-06-27T18:01:21.293",
      "ModifyDate": "2026-04-14T23:23:08.83",
      "Definition": "create   trigger TSB_TUTSBSpecificGroupBehavior on TSBSpecificGroupBehavior  for update not for Replication as begin declare @GenProcID varchar(38\r\n) = dbo.QBM_FGISessionContext('') declare @ReallyChanged QBM_YParameterList  BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select\r\n top 1 1 from deleted) goto start return start: if not (update( PFDInheritOverwrite ) or update( PTDInheritOverwrite ) or update( PSIInheritOverwrite )\r\n or update( PMDInheritOverwrite ) or update( ADAInheritOverwrite ) ) begin goto EndLabel end insert into @ReallyChanged(Parameter1) select ovr.ObjectKeyGroup\r\n from TSBSpecificGroupBehavior ovr join deleted i on ovr.UID_TSBSpecificGroupBehavior = i.UID_TSBSpecificGroupBehavior where isnull(ovr.PFDInheritOverwrite\r\n,0) <> isnull(i.PFDInheritOverwrite, 0) or isnull(ovr.PTDInheritOverwrite,0) <> isnull(i.PTDInheritOverwrite, 0) or isnull(ovr.PSIInheritOverwrite,0) <>\r\n isnull(i.PSIInheritOverwrite, 0) or isnull(ovr.PMDInheritOverwrite,0) <> isnull(i.PMDInheritOverwrite, 0) or isnull(ovr.ADAInheritOverwrite,0) <> isnull\r\n(i.ADAInheritOverwrite, 0) if @@ROWCOUNT = 0 begin goto EndLabel end declare @GUIDUnsGroupB00 QBM_YSingleGUID insert into @GUIDUnsGroupB00(UID_SingleGuid\r\n) select g.UID_UNSGroupB from UNSGroupB g join @ReallyChanged ch on g.XObjectKey = ch.Parameter1 if @@ROWCOUNT > 0 begin declare @DBQueueElements_00 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_00 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uig.UID_UNSAccountB as uid from UNSAccountBInUNSGroupB\r\n uig join @GUIDUnsGroupB00 gg on uig.UID_UNSGroupB = gg.UID_SingleGuid union select uig.UID_UNSAccountB as uid from UNSAccountBHasUNSGroupB uig join @GUIDUnsGroupB00\r\n gg on uig.UID_UNSGroupB = gg.UID_SingleGuid ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB', @DBQueueElements_00 end  declare @GUIDUnsGroupB01\r\n QBM_YSingleGUID insert into @GUIDUnsGroupB01(UID_SingleGuid) select g.UID_UNSGroupB1 from UNSGroupB1 g join @ReallyChanged ch on g.XObjectKey = ch.Parameter1\r\n if @@ROWCOUNT > 0 begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null,\r\n @GenProcID from ( select uig.UID_UNSAccountB as uid from UNSAccountBInUNSGroupB1 uig join @GUIDUnsGroupB01 gg on uig.UID_UNSGroupB1 = gg.UID_SingleGuid\r\n union select uig.UID_UNSAccountB as uid from UNSAccountBHasUNSGroupB1 uig join @GUIDUnsGroupB01 gg on uig.UID_UNSGroupB1 = gg.UID_SingleGuid ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB1', @DBQueueElements_01 end  declare @GUIDUnsGroupB02 QBM_YSingleGUID insert into @GUIDUnsGroupB02\r\n(UID_SingleGuid) select g.UID_UNSGroupB2 from UNSGroupB2 g join @ReallyChanged ch on g.XObjectKey = ch.Parameter1 if @@ROWCOUNT > 0 begin declare @DBQueueElements_02\r\n QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uig.UID_UNSAccountB as uid\r\n from UNSAccountBInUNSGroupB2 uig join @GUIDUnsGroupB02 gg on uig.UID_UNSGroupB2 = gg.UID_SingleGuid union select uig.UID_UNSAccountB as uid from UNSAccountBHasUNSGroupB2\r\n uig join @GUIDUnsGroupB02 gg on uig.UID_UNSGroupB2 = gg.UID_SingleGuid ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB2', @DBQueueElements_02\r\n end  declare @GUIDUnsGroupB03 QBM_YSingleGUID insert into @GUIDUnsGroupB03(UID_SingleGuid) select g.UID_UNSGroupB3 from UNSGroupB3 g join @ReallyChanged\r\n ch on g.XObjectKey = ch.Parameter1 if @@ROWCOUNT > 0 begin declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject\r\n, genprocid) select x.uid, null, @GenProcID from ( select uig.UID_UNSAccountB as uid from UNSAccountBInUNSGroupB3 uig join @GUIDUnsGroupB03 gg on uig.UID_UNSGroupB3\r\n = gg.UID_SingleGuid union select uig.UID_UNSAccountB as uid from UNSAccountBHasUNSGroupB3 uig join @GUIDUnsGroupB03 gg on uig.UID_UNSGroupB3 = gg.UID_SingleGuid\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB3', @DBQueueElements_03 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TUUNSAccountB",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSAccountB",
      "CreateDate": "2025-06-27T18:01:21.077",
      "ModifyDate": "2026-04-14T23:23:08.833",
      "Definition": "create   trigger TSB_TUUNSAccountB on UNSAccountB  for Update not for Replication as begin  if exists (select top 1 1 from inserted) goto start \r\nif exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) declare @QBM_BitPatternXMarkedForDel_OutStanding int = \r\ndbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|', 0) BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext('') if update(UID_Person) begin declare \r\n@DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_person\r\n as uid from inserted where uid_person > ' ' union select uid_person from deleted where uid_person > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject'\r\n, @DBQueueElements_01 end if update(UID_Person)   or update(UID_TSBBehavior) or update(MatchPatternForMembership) or update(AccountDisabled)  or update\r\n(XMarkedForDeletion) begin declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null\r\n, @GenProcID from (select a.UID_UNSAccountB as uid from UNSAccountB a join deleted d on a.UID_UNSAccountB = d.UID_UNSAccountB join UNSRootB r on a.UID_UNSRootB\r\n = r.UID_UNSRootB and r.GroupUsageMask & 0x01 > 0 where isnull(d.UID_Person,'') <> isnull(a.UID_Person,'') or isnull(d.UID_UNSContainerB,'') <> isnull(a.UID_UNSContainerB\r\n,'') or isnull(d.UID_TSBBehavior,'') <> isnull(a.UID_TSBBehavior,'') or isnull(d.MatchPatternForMembership,0) <> isnull(a.MatchPatternForMembership,0) \r\nor isnull(d.AccountDisabled,0) <> isnull(a.AccountDisabled,0)  or (d.XMarkedForDeletion ^ a.XMarkedForDeletion ) & @QBM_BitPatternXMarkedForDel_OutStanding\r\n > 0 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB', @DBQueueElements_03 declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04\r\n (object, subobject, genprocid) select x.uid, null, @GenProcID from (select a.UID_UNSAccountB as uid from UNSAccountB a join deleted d on a.UID_UNSAccountB\r\n = d.UID_UNSAccountB join UNSRootB r on a.UID_UNSRootB = r.UID_UNSRootB and r.GroupUsageMask & 0x02 > 0 where isnull(d.UID_Person,'') <> isnull(a.UID_Person\r\n,'') or isnull(d.UID_UNSContainerB,'') <> isnull(a.UID_UNSContainerB,'') or isnull(d.UID_TSBBehavior,'') <> isnull(a.UID_TSBBehavior,'') or isnull(d.MatchPatternForMembership\r\n,0) <> isnull(a.MatchPatternForMembership,0) or isnull(d.AccountDisabled,0) <> isnull(a.AccountDisabled,0)  or (d.XMarkedForDeletion ^ a.XMarkedForDeletion\r\n ) & @QBM_BitPatternXMarkedForDel_OutStanding > 0 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB1', @DBQueueElements_04 declare @DBQueueElements_05\r\n QBM_YDBQueueRaw insert into @DBQueueElements_05 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select a.UID_UNSAccountB as uid from\r\n UNSAccountB a join deleted d on a.UID_UNSAccountB = d.UID_UNSAccountB join UNSRootB r on a.UID_UNSRootB = r.UID_UNSRootB and r.GroupUsageMask & 0x04 >\r\n 0 where isnull(d.UID_Person,'') <> isnull(a.UID_Person,'') or isnull(d.UID_UNSContainerB,'') <> isnull(a.UID_UNSContainerB,'') or isnull(d.UID_TSBBehavior\r\n,'') <> isnull(a.UID_TSBBehavior,'') or isnull(d.MatchPatternForMembership,0) <> isnull(a.MatchPatternForMembership,0) or isnull(d.AccountDisabled,0) <>\r\n isnull(a.AccountDisabled,0)  or (d.XMarkedForDeletion ^ a.XMarkedForDeletion ) & @QBM_BitPatternXMarkedForDel_OutStanding > 0 ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'TSB-K-UNSAccountBInUNSGroupB2', @DBQueueElements_05 declare @DBQueueElements_06 QBM_YDBQueueRaw insert into @DBQueueElements_06 (object, subobject, genprocid\r\n) select x.uid, null, @GenProcID from (select a.UID_UNSAccountB as uid from UNSAccountB a join deleted d on a.UID_UNSAccountB = d.UID_UNSAccountB join \r\nUNSRootB r on a.UID_UNSRootB = r.UID_UNSRootB and r.GroupUsageMask & 0x08 > 0 where isnull(d.UID_Person,'') <> isnull(a.UID_Person,'') or isnull(d.UID_UNSContainerB\r\n,'') <> isnull(a.UID_UNSContainerB,'') or isnull(d.UID_TSBBehavior,'') <> isnull(a.UID_TSBBehavior,'') or isnull(d.MatchPatternForMembership,0) <> isnull\r\n(a.MatchPatternForMembership,0) or isnull(d.AccountDisabled,0) <> isnull(a.AccountDisabled,0)  or (d.XMarkedForDeletion ^ a.XMarkedForDeletion ) & @QBM_BitPatternXMarkedForDel_OutStanding\r\n > 0 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB3', @DBQueueElements_06 end if update(IsGroupAccount_UNSGroupB) begin declare @DBQueueElements_07\r\n QBM_YDBQueueRaw insert into @DBQueueElements_07 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select a.UID_UNSAccountB as uid from\r\n UNSAccountB a join deleted d on a.UID_UNSAccountB = d.UID_UNSAccountB join UNSRootB r on a.UID_UNSRootB = r.UID_UNSRootB and r.GroupUsageMask & 0x01 >\r\n 0 where isnull(d.IsGroupAccount_UNSGroupB,0) <> isnull(a.IsGroupAccount_UNSGroupB,0) and a.UID_Person > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB'\r\n, @DBQueueElements_07 end if update(IsGroupAccount_UNSGroupB1) begin declare @DBQueueElements_08 QBM_YDBQueueRaw insert into @DBQueueElements_08 (object\r\n, subobject, genprocid) select x.uid, null, @GenProcID from (select a.UID_UNSAccountB as uid from UNSAccountB a join deleted d on a.UID_UNSAccountB = d.UID_UNSAccountB\r\n join UNSRootB r on a.UID_UNSRootB = r.UID_UNSRootB and r.GroupUsageMask & 0x02 > 0 where isnull(d.IsGroupAccount_UNSGroupB1,0) <> isnull(a.IsGroupAccount_UNSGroupB1\r\n,0) and a.UID_Person > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB1', @DBQueueElements_08 end if update(IsGroupAccount_UNSGroupB2\r\n) begin declare @DBQueueElements_09 QBM_YDBQueueRaw insert into @DBQueueElements_09 (object, subobject, genprocid) select x.uid, null, @GenProcID from \r\n(select a.UID_UNSAccountB as uid from UNSAccountB a join deleted d on a.UID_UNSAccountB = d.UID_UNSAccountB join UNSRootB r on a.UID_UNSRootB = r.UID_UNSRootB\r\n and r.GroupUsageMask & 0x04 > 0 where isnull(d.IsGroupAccount_UNSGroupB2,0) <> isnull(a.IsGroupAccount_UNSGroupB2,0) and a.UID_Person > ' ' ) as x exec\r\n QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB2', @DBQueueElements_09 end if update(IsGroupAccount_UNSGroupB3) begin declare @DBQueueElements_10\r\n QBM_YDBQueueRaw insert into @DBQueueElements_10 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select a.UID_UNSAccountB as uid from\r\n UNSAccountB a join deleted d on a.UID_UNSAccountB = d.UID_UNSAccountB join UNSRootB r on a.UID_UNSRootB = r.UID_UNSRootB and r.GroupUsageMask & 0x08 >\r\n 0 where isnull(d.IsGroupAccount_UNSGroupB3,0) <> isnull(a.IsGroupAccount_UNSGroupB3,0) and a.UID_Person > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB3'\r\n, @DBQueueElements_10 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TUUNSAccountBHasUNSGroupB",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSAccountBHasUNSGroupB",
      "CreateDate": "2025-06-27T18:01:21.587",
      "ModifyDate": "2026-04-14T23:23:08.84",
      "Definition": "create   trigger TSB_TUUNSAccountBHasUNSGroupB on UNSAccountBHasUNSGroupB  for Update not for Replication as begin  declare @GenProcID varchar\r\n(38) declare @XUser nvarchar(64) BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return\r\n start: select @GenProcID = dbo.QBM_FGISessionContext('') select @XUser = dbo.QBM_FGISessionContext('XUser') if update(XOrigin) or update(XIsInEffect) \r\nbegin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( \r\nselect distinct d.UID_UNSAccountB as uid from deleted d join UNSAccountBHasUNSGroupB dd on d.XObjectKey = dd.XObjectKey where dbo.QBM_FGIXOriginChanged_Except2\r\n(d.XOrigin, dd.XOrigin) = 1  or (d.XIsInEffect <> dd.XIsInEffect and dbo.QBM_FGISessionContext ('Fullsync') > ' ' ) ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'TSB-K-UNSAccountBInUNSGroupB', @DBQueueElements_01 end  if update(XIsInEffect) or update(XOrigin) begin declare @DBQueueElements_02 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct x.UID_Person as uid from UNSAccountBHasUNSGroupB\r\n a join deleted d on a.XObjectKey = d.XObjectKey join UNSAccountB x on a.UID_UNSAccountB = x.UID_UNSAccountB where x.UID_Person > ' ' and ( dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(a.XOrigin) ) \r\n) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_02  if '1' = dbo.QBM_FGIConfigparmValue('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount'\r\n) begin declare @DBQueueElements_PersonUsesAccount QBM_YDBQueueRaw insert into @DBQueueElements_PersonUsesAccount (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct t.uid_person as uid from UNSAccountBHasUNSGroupB aig join deleted d on aig.XObjectKey = d.XObjectKey\r\n join UNSAccountB a on aig.UID_UNSAccountB = a.UID_UNSAccountB join TSBPersonUsesAccount t on a.XObjectKey = t.ObjectKeyAccount where ( dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, aig.XOrigin, d.XIsInEffect, aig.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(aig.XOrigin\r\n) ) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_PersonUsesAccount end  if 'UNSGroupB' = 'UNSGroupB'  begin if exists\r\n (select top 1 1 from UNSItemB ) begin declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct d.UID_UNSAccountB as uid from UNSAccountBHasUNSGroupB a join deleted d on a.XObjectKey = d.XObjectKey\r\n and dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 where exists (select top 1 1 from UNSAccountB acc join UNSItemB\r\n b on acc.UID_UNSRootB = b.UID_UNSRootB and acc.UID_UNSAccountB = a.UID_UNSAccountB) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBHasUNSItemB'\r\n, @DBQueueElements_03 end end end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TUUNSAccountBHasUNSGroupB1",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSAccountBHasUNSGroupB1",
      "CreateDate": "2025-06-27T18:01:21.77",
      "ModifyDate": "2026-04-14T23:23:08.843",
      "Definition": "create   trigger TSB_TUUNSAccountBHasUNSGroupB1 on UNSAccountBHasUNSGroupB1  for Update not for Replication as begin  declare @GenProcID varchar\r\n(38) declare @XUser nvarchar(64) BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return\r\n start: select @GenProcID = dbo.QBM_FGISessionContext('') select @XUser = dbo.QBM_FGISessionContext('XUser') if update(XOrigin) or update(XIsInEffect) \r\nbegin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( \r\nselect distinct d.UID_UNSAccountB as uid from deleted d join UNSAccountBHasUNSGroupB1 dd on d.XObjectKey = dd.XObjectKey where dbo.QBM_FGIXOriginChanged_Except2\r\n(d.XOrigin, dd.XOrigin) = 1  or (d.XIsInEffect <> dd.XIsInEffect and dbo.QBM_FGISessionContext ('Fullsync') > ' ' ) ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'TSB-K-UNSAccountBInUNSGroupB1', @DBQueueElements_01 end  if update(XIsInEffect) or update(XOrigin) begin declare @DBQueueElements_02 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct x.UID_Person as uid from UNSAccountBHasUNSGroupB1\r\n a join deleted d on a.XObjectKey = d.XObjectKey join UNSAccountB x on a.UID_UNSAccountB = x.UID_UNSAccountB where x.UID_Person > ' ' and ( dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(a.XOrigin) ) \r\n) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_02  if '1' = dbo.QBM_FGIConfigparmValue('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount'\r\n) begin declare @DBQueueElements_PersonUsesAccount QBM_YDBQueueRaw insert into @DBQueueElements_PersonUsesAccount (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct t.uid_person as uid from UNSAccountBHasUNSGroupB1 aig join deleted d on aig.XObjectKey = d.XObjectKey\r\n join UNSAccountB a on aig.UID_UNSAccountB = a.UID_UNSAccountB join TSBPersonUsesAccount t on a.XObjectKey = t.ObjectKeyAccount where ( dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, aig.XOrigin, d.XIsInEffect, aig.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(aig.XOrigin\r\n) ) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_PersonUsesAccount end  if 'UNSGroupB1' = 'UNSGroupB'  begin if exists\r\n (select top 1 1 from UNSItemB ) begin declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct d.UID_UNSAccountB as uid from UNSAccountBHasUNSGroupB1 a join deleted d on a.XObjectKey = d.XObjectKey\r\n and dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 where exists (select top 1 1 from UNSAccountB acc join UNSItemB\r\n b on acc.UID_UNSRootB = b.UID_UNSRootB and acc.UID_UNSAccountB = a.UID_UNSAccountB) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBHasUNSItemB'\r\n, @DBQueueElements_03 end end end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TUUNSAccountBHasUNSGroupB2",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSAccountBHasUNSGroupB2",
      "CreateDate": "2025-06-27T18:01:21.917",
      "ModifyDate": "2026-04-14T23:23:08.847",
      "Definition": "create   trigger TSB_TUUNSAccountBHasUNSGroupB2 on UNSAccountBHasUNSGroupB2  for Update not for Replication as begin  declare @GenProcID varchar\r\n(38) declare @XUser nvarchar(64) BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return\r\n start: select @GenProcID = dbo.QBM_FGISessionContext('') select @XUser = dbo.QBM_FGISessionContext('XUser') if update(XOrigin) or update(XIsInEffect) \r\nbegin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( \r\nselect distinct d.UID_UNSAccountB as uid from deleted d join UNSAccountBHasUNSGroupB2 dd on d.XObjectKey = dd.XObjectKey where dbo.QBM_FGIXOriginChanged_Except2\r\n(d.XOrigin, dd.XOrigin) = 1  or (d.XIsInEffect <> dd.XIsInEffect and dbo.QBM_FGISessionContext ('Fullsync') > ' ' ) ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'TSB-K-UNSAccountBInUNSGroupB2', @DBQueueElements_01 end  if update(XIsInEffect) or update(XOrigin) begin declare @DBQueueElements_02 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct x.UID_Person as uid from UNSAccountBHasUNSGroupB2\r\n a join deleted d on a.XObjectKey = d.XObjectKey join UNSAccountB x on a.UID_UNSAccountB = x.UID_UNSAccountB where x.UID_Person > ' ' and ( dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(a.XOrigin) ) \r\n) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_02  if '1' = dbo.QBM_FGIConfigparmValue('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount'\r\n) begin declare @DBQueueElements_PersonUsesAccount QBM_YDBQueueRaw insert into @DBQueueElements_PersonUsesAccount (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct t.uid_person as uid from UNSAccountBHasUNSGroupB2 aig join deleted d on aig.XObjectKey = d.XObjectKey\r\n join UNSAccountB a on aig.UID_UNSAccountB = a.UID_UNSAccountB join TSBPersonUsesAccount t on a.XObjectKey = t.ObjectKeyAccount where ( dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, aig.XOrigin, d.XIsInEffect, aig.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(aig.XOrigin\r\n) ) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_PersonUsesAccount end  if 'UNSGroupB2' = 'UNSGroupB'  begin if exists\r\n (select top 1 1 from UNSItemB ) begin declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct d.UID_UNSAccountB as uid from UNSAccountBHasUNSGroupB2 a join deleted d on a.XObjectKey = d.XObjectKey\r\n and dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 where exists (select top 1 1 from UNSAccountB acc join UNSItemB\r\n b on acc.UID_UNSRootB = b.UID_UNSRootB and acc.UID_UNSAccountB = a.UID_UNSAccountB) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBHasUNSItemB'\r\n, @DBQueueElements_03 end end end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TUUNSAccountBHasUNSGroupB3",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSAccountBHasUNSGroupB3",
      "CreateDate": "2025-06-27T18:01:22.06",
      "ModifyDate": "2026-04-14T23:23:08.85",
      "Definition": "create   trigger TSB_TUUNSAccountBHasUNSGroupB3 on UNSAccountBHasUNSGroupB3  for Update not for Replication as begin  declare @GenProcID varchar\r\n(38) declare @XUser nvarchar(64) BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return\r\n start: select @GenProcID = dbo.QBM_FGISessionContext('') select @XUser = dbo.QBM_FGISessionContext('XUser') if update(XOrigin) or update(XIsInEffect) \r\nbegin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( \r\nselect distinct d.UID_UNSAccountB as uid from deleted d join UNSAccountBHasUNSGroupB3 dd on d.XObjectKey = dd.XObjectKey where dbo.QBM_FGIXOriginChanged_Except2\r\n(d.XOrigin, dd.XOrigin) = 1  or (d.XIsInEffect <> dd.XIsInEffect and dbo.QBM_FGISessionContext ('Fullsync') > ' ' ) ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'TSB-K-UNSAccountBInUNSGroupB3', @DBQueueElements_01 end  if update(XIsInEffect) or update(XOrigin) begin declare @DBQueueElements_02 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct x.UID_Person as uid from UNSAccountBHasUNSGroupB3\r\n a join deleted d on a.XObjectKey = d.XObjectKey join UNSAccountB x on a.UID_UNSAccountB = x.UID_UNSAccountB where x.UID_Person > ' ' and ( dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(a.XOrigin) ) \r\n) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_02  if '1' = dbo.QBM_FGIConfigparmValue('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount'\r\n) begin declare @DBQueueElements_PersonUsesAccount QBM_YDBQueueRaw insert into @DBQueueElements_PersonUsesAccount (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct t.uid_person as uid from UNSAccountBHasUNSGroupB3 aig join deleted d on aig.XObjectKey = d.XObjectKey\r\n join UNSAccountB a on aig.UID_UNSAccountB = a.UID_UNSAccountB join TSBPersonUsesAccount t on a.XObjectKey = t.ObjectKeyAccount where ( dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, aig.XOrigin, d.XIsInEffect, aig.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(aig.XOrigin\r\n) ) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_PersonUsesAccount end  if 'UNSGroupB3' = 'UNSGroupB'  begin if exists\r\n (select top 1 1 from UNSItemB ) begin declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct d.UID_UNSAccountB as uid from UNSAccountBHasUNSGroupB3 a join deleted d on a.XObjectKey = d.XObjectKey\r\n and dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 where exists (select top 1 1 from UNSAccountB acc join UNSItemB\r\n b on acc.UID_UNSRootB = b.UID_UNSRootB and acc.UID_UNSAccountB = a.UID_UNSAccountB) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBHasUNSItemB'\r\n, @DBQueueElements_03 end end end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TUUNSAccountBHasUNSItemB",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSAccountBHasUNSItemB",
      "CreateDate": "2025-06-27T18:01:21.1",
      "ModifyDate": "2026-04-14T23:23:08.853",
      "Definition": "create   trigger TSB_TUUNSAccountBHasUNSItemB on UNSAccountBHasUNSItemB  for update not for Replication as begin  BEGIN TRY if exists (select top\r\n 1 1 from deleted) goto start if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if update(XOrigin) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, \r\nnull, @GenProcID from ( select distinct d.UID_UNSAccountB as uid from deleted d join UNSAccountBHasUNSItemB dd on d.XObjectKey = dd.XObjectKey where dbo.QBM_FGIXOriginChanged_Except2\r\n(d.XOrigin, dd.XOrigin) = 1  ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBHasUNSItemB', @DBQueueElements_01 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd\r\n default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TUUNSAccountBInUNSGroupB",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSAccountBInUNSGroupB",
      "CreateDate": "2025-06-27T18:01:21.563",
      "ModifyDate": "2026-04-14T23:23:08.857",
      "Definition": "create   trigger TSB_TUUNSAccountBInUNSGroupB on UNSAccountBInUNSGroupB  for Update not for Replication as begin  declare @GenProcID varchar\r\n(38) declare @XUser nvarchar(64) declare @QBM_BitPatternXMarkedForDel_OutStanding int = dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|', 0)  BEGIN TRY\r\n if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: select @GenProcID = dbo.QBM_FGISessionContext\r\n('') select @XUser = dbo.QBM_FGISessionContext('XUser') if update(XOrigin) or update(XIsInEffect) begin  if exists (select top 1 1 from deleted d join \r\nUNSAccountBInUNSGroupB dd on d.XObjectKey = dd.XObjectKey join UNSGroupB g on d.UID_UNSGroupB = g.UID_UNSGroupB where g.HasReadOnlyMemberships\r\n = 1 and d.XOrigin <> dd.XOrigin and dbo.QBM_FGISessionContext ('Fullsync') = '' and exists (select top 1 1 from UNSAccountB a where a.UID_UNSAccountB \r\n= d.UID_UNSAccountB and a.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_OutStanding = 0 ) ) begin raiserror( '#LDS#Cannot update {0} because it is assignment to group with read only memberships.|UNSAccountBInUNSGroupB|'\r\n, 18, 2) with nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null\r\n, @GenProcID from ( select distinct d.UID_UNSAccountB as uid from deleted d join UNSAccountBInUNSGroupB dd on d.XObjectKey = dd.XObjectKey where dbo.QBM_FGIXOriginChanged_Except2\r\n(d.XOrigin, dd.XOrigin) = 1  or (d.XIsInEffect <> dd.XIsInEffect and dbo.QBM_FGISessionContext ('Fullsync') > ' ' ) ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'TSB-K-UNSAccountBInUNSGroupB', @DBQueueElements_01 end  if update(XIsInEffect) or update(XOrigin) begin declare @DBQueueElements_02 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct x.UID_Person as uid from UNSAccountBInUNSGroupB\r\n a join deleted d on a.XObjectKey = d.XObjectKey join UNSAccountB x on a.UID_UNSAccountB = x.UID_UNSAccountB where x.UID_Person > ' ' and ( dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(a.XOrigin) ) \r\n) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_02  if '1' = dbo.QBM_FGIConfigparmValue('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount'\r\n) begin declare @DBQueueElements_PersonUsesAccount QBM_YDBQueueRaw insert into @DBQueueElements_PersonUsesAccount (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct t.uid_person as uid from UNSAccountBInUNSGroupB aig join deleted d on aig.XObjectKey = d.XObjectKey \r\njoin UNSAccountB a on aig.UID_UNSAccountB = a.UID_UNSAccountB join TSBPersonUsesAccount t on a.XObjectKey = t.ObjectKeyAccount where ( dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, aig.XOrigin, d.XIsInEffect, aig.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(aig.XOrigin\r\n) ) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_PersonUsesAccount end  if 'UNSGroupB' = 'UNSGroupB'  begin if exists\r\n (select top 1 1 from UNSItemB ) begin declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct d.UID_UNSAccountB as uid from UNSAccountBInUNSGroupB a join deleted d on a.XObjectKey = d.XObjectKey\r\n and dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 where exists (select top 1 1 from UNSAccountB acc join UNSItemB\r\n b on acc.UID_UNSRootB = b.UID_UNSRootB and acc.UID_UNSAccountB = a.UID_UNSAccountB) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBHasUNSItemB'\r\n, @DBQueueElements_03 end end end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TUUNSAccountBInUNSGroupB1",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSAccountBInUNSGroupB1",
      "CreateDate": "2025-06-27T18:01:21.757",
      "ModifyDate": "2026-04-14T23:23:08.86",
      "Definition": "create   trigger TSB_TUUNSAccountBInUNSGroupB1 on UNSAccountBInUNSGroupB1  for Update not for Replication as begin  declare @GenProcID varchar\r\n(38) declare @XUser nvarchar(64) declare @QBM_BitPatternXMarkedForDel_OutStanding int = dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|', 0)  BEGIN TRY\r\n if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: select @GenProcID = dbo.QBM_FGISessionContext\r\n('') select @XUser = dbo.QBM_FGISessionContext('XUser') if update(XOrigin) or update(XIsInEffect) begin  if exists (select top 1 1 from deleted d join \r\nUNSAccountBInUNSGroupB1 dd on d.XObjectKey = dd.XObjectKey join UNSGroupB1 g on d.UID_UNSGroupB1 = g.UID_UNSGroupB1 where g.HasReadOnlyMemberships\r\n = 1 and d.XOrigin <> dd.XOrigin and dbo.QBM_FGISessionContext ('Fullsync') = '' and exists (select top 1 1 from UNSAccountB a where a.UID_UNSAccountB \r\n= d.UID_UNSAccountB and a.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_OutStanding = 0 ) ) begin raiserror( '#LDS#Cannot update {0} because it is assignment to group with read only memberships.|UNSAccountBInUNSGroupB1|'\r\n, 18, 2) with nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null\r\n, @GenProcID from ( select distinct d.UID_UNSAccountB as uid from deleted d join UNSAccountBInUNSGroupB1 dd on d.XObjectKey = dd.XObjectKey where dbo.QBM_FGIXOriginChanged_Except2\r\n(d.XOrigin, dd.XOrigin) = 1  or (d.XIsInEffect <> dd.XIsInEffect and dbo.QBM_FGISessionContext ('Fullsync') > ' ' ) ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'TSB-K-UNSAccountBInUNSGroupB1', @DBQueueElements_01 end  if update(XIsInEffect) or update(XOrigin) begin declare @DBQueueElements_02 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct x.UID_Person as uid from UNSAccountBInUNSGroupB1\r\n a join deleted d on a.XObjectKey = d.XObjectKey join UNSAccountB x on a.UID_UNSAccountB = x.UID_UNSAccountB where x.UID_Person > ' ' and ( dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(a.XOrigin) ) \r\n) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_02  if '1' = dbo.QBM_FGIConfigparmValue('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount'\r\n) begin declare @DBQueueElements_PersonUsesAccount QBM_YDBQueueRaw insert into @DBQueueElements_PersonUsesAccount (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct t.uid_person as uid from UNSAccountBInUNSGroupB1 aig join deleted d on aig.XObjectKey = d.XObjectKey \r\njoin UNSAccountB a on aig.UID_UNSAccountB = a.UID_UNSAccountB join TSBPersonUsesAccount t on a.XObjectKey = t.ObjectKeyAccount where ( dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, aig.XOrigin, d.XIsInEffect, aig.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(aig.XOrigin\r\n) ) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_PersonUsesAccount end  if 'UNSGroupB1' = 'UNSGroupB'  begin if exists\r\n (select top 1 1 from UNSItemB ) begin declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct d.UID_UNSAccountB as uid from UNSAccountBInUNSGroupB1 a join deleted d on a.XObjectKey = d.XObjectKey\r\n and dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 where exists (select top 1 1 from UNSAccountB acc join UNSItemB\r\n b on acc.UID_UNSRootB = b.UID_UNSRootB and acc.UID_UNSAccountB = a.UID_UNSAccountB) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBHasUNSItemB'\r\n, @DBQueueElements_03 end end end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TUUNSAccountBInUNSGroupB2",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSAccountBInUNSGroupB2",
      "CreateDate": "2025-06-27T18:01:21.9",
      "ModifyDate": "2026-04-14T23:23:08.863",
      "Definition": "create   trigger TSB_TUUNSAccountBInUNSGroupB2 on UNSAccountBInUNSGroupB2  for Update not for Replication as begin  declare @GenProcID varchar\r\n(38) declare @XUser nvarchar(64) declare @QBM_BitPatternXMarkedForDel_OutStanding int = dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|', 0)  BEGIN TRY\r\n if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: select @GenProcID = dbo.QBM_FGISessionContext\r\n('') select @XUser = dbo.QBM_FGISessionContext('XUser') if update(XOrigin) or update(XIsInEffect) begin  if exists (select top 1 1 from deleted d join \r\nUNSAccountBInUNSGroupB2 dd on d.XObjectKey = dd.XObjectKey join UNSGroupB2 g on d.UID_UNSGroupB2 = g.UID_UNSGroupB2 where g.HasReadOnlyMemberships\r\n = 1 and d.XOrigin <> dd.XOrigin and dbo.QBM_FGISessionContext ('Fullsync') = '' and exists (select top 1 1 from UNSAccountB a where a.UID_UNSAccountB \r\n= d.UID_UNSAccountB and a.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_OutStanding = 0 ) ) begin raiserror( '#LDS#Cannot update {0} because it is assignment to group with read only memberships.|UNSAccountBInUNSGroupB2|'\r\n, 18, 2) with nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null\r\n, @GenProcID from ( select distinct d.UID_UNSAccountB as uid from deleted d join UNSAccountBInUNSGroupB2 dd on d.XObjectKey = dd.XObjectKey where dbo.QBM_FGIXOriginChanged_Except2\r\n(d.XOrigin, dd.XOrigin) = 1  or (d.XIsInEffect <> dd.XIsInEffect and dbo.QBM_FGISessionContext ('Fullsync') > ' ' ) ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'TSB-K-UNSAccountBInUNSGroupB2', @DBQueueElements_01 end  if update(XIsInEffect) or update(XOrigin) begin declare @DBQueueElements_02 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct x.UID_Person as uid from UNSAccountBInUNSGroupB2\r\n a join deleted d on a.XObjectKey = d.XObjectKey join UNSAccountB x on a.UID_UNSAccountB = x.UID_UNSAccountB where x.UID_Person > ' ' and ( dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(a.XOrigin) ) \r\n) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_02  if '1' = dbo.QBM_FGIConfigparmValue('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount'\r\n) begin declare @DBQueueElements_PersonUsesAccount QBM_YDBQueueRaw insert into @DBQueueElements_PersonUsesAccount (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct t.uid_person as uid from UNSAccountBInUNSGroupB2 aig join deleted d on aig.XObjectKey = d.XObjectKey \r\njoin UNSAccountB a on aig.UID_UNSAccountB = a.UID_UNSAccountB join TSBPersonUsesAccount t on a.XObjectKey = t.ObjectKeyAccount where ( dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, aig.XOrigin, d.XIsInEffect, aig.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(aig.XOrigin\r\n) ) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_PersonUsesAccount end  if 'UNSGroupB2' = 'UNSGroupB'  begin if exists\r\n (select top 1 1 from UNSItemB ) begin declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct d.UID_UNSAccountB as uid from UNSAccountBInUNSGroupB2 a join deleted d on a.XObjectKey = d.XObjectKey\r\n and dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 where exists (select top 1 1 from UNSAccountB acc join UNSItemB\r\n b on acc.UID_UNSRootB = b.UID_UNSRootB and acc.UID_UNSAccountB = a.UID_UNSAccountB) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBHasUNSItemB'\r\n, @DBQueueElements_03 end end end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TUUNSAccountBInUNSGroupB3",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSAccountBInUNSGroupB3",
      "CreateDate": "2025-06-27T18:01:22.047",
      "ModifyDate": "2026-04-14T23:23:08.867",
      "Definition": "create   trigger TSB_TUUNSAccountBInUNSGroupB3 on UNSAccountBInUNSGroupB3  for Update not for Replication as begin  declare @GenProcID varchar\r\n(38) declare @XUser nvarchar(64) declare @QBM_BitPatternXMarkedForDel_OutStanding int = dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|', 0)  BEGIN TRY\r\n if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: select @GenProcID = dbo.QBM_FGISessionContext\r\n('') select @XUser = dbo.QBM_FGISessionContext('XUser') if update(XOrigin) or update(XIsInEffect) begin  if exists (select top 1 1 from deleted d join \r\nUNSAccountBInUNSGroupB3 dd on d.XObjectKey = dd.XObjectKey join UNSGroupB3 g on d.UID_UNSGroupB3 = g.UID_UNSGroupB3 where g.HasReadOnlyMemberships\r\n = 1 and d.XOrigin <> dd.XOrigin and dbo.QBM_FGISessionContext ('Fullsync') = '' and exists (select top 1 1 from UNSAccountB a where a.UID_UNSAccountB \r\n= d.UID_UNSAccountB and a.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_OutStanding = 0 ) ) begin raiserror( '#LDS#Cannot update {0} because it is assignment to group with read only memberships.|UNSAccountBInUNSGroupB3|'\r\n, 18, 2) with nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null\r\n, @GenProcID from ( select distinct d.UID_UNSAccountB as uid from deleted d join UNSAccountBInUNSGroupB3 dd on d.XObjectKey = dd.XObjectKey where dbo.QBM_FGIXOriginChanged_Except2\r\n(d.XOrigin, dd.XOrigin) = 1  or (d.XIsInEffect <> dd.XIsInEffect and dbo.QBM_FGISessionContext ('Fullsync') > ' ' ) ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'TSB-K-UNSAccountBInUNSGroupB3', @DBQueueElements_01 end  if update(XIsInEffect) or update(XOrigin) begin declare @DBQueueElements_02 QBM_YDBQueueRaw\r\n insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct x.UID_Person as uid from UNSAccountBInUNSGroupB3\r\n a join deleted d on a.XObjectKey = d.XObjectKey join UNSAccountB x on a.UID_UNSAccountB = x.UID_UNSAccountB where x.UID_Person > ' ' and ( dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(a.XOrigin) ) \r\n) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_02  if '1' = dbo.QBM_FGIConfigparmValue('QER\\ComplianceCheck\\IncludeTSBPersonUsesAccount'\r\n) begin declare @DBQueueElements_PersonUsesAccount QBM_YDBQueueRaw insert into @DBQueueElements_PersonUsesAccount (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct t.uid_person as uid from UNSAccountBInUNSGroupB3 aig join deleted d on aig.XObjectKey = d.XObjectKey \r\njoin UNSAccountB a on aig.UID_UNSAccountB = a.UID_UNSAccountB join TSBPersonUsesAccount t on a.XObjectKey = t.ObjectKeyAccount where ( dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, aig.XOrigin, d.XIsInEffect, aig.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(aig.XOrigin\r\n) ) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_PersonUsesAccount end  if 'UNSGroupB3' = 'UNSGroupB'  begin if exists\r\n (select top 1 1 from UNSItemB ) begin declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select\r\n x.uid, null, @GenProcID from ( select distinct d.UID_UNSAccountB as uid from UNSAccountBInUNSGroupB3 a join deleted d on a.XObjectKey = d.XObjectKey\r\n and dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 where exists (select top 1 1 from UNSAccountB acc join UNSItemB\r\n b on acc.UID_UNSRootB = b.UID_UNSRootB and acc.UID_UNSAccountB = a.UID_UNSAccountB) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBHasUNSItemB'\r\n, @DBQueueElements_03 end end end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TUUNSGroupB",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB",
      "CreateDate": "2025-06-27T18:01:21.61",
      "ModifyDate": "2026-04-14T23:23:08.873",
      "Definition": "create   trigger TSB_TUUNSGroupB on UNSGroupB  for Update not for Replication as begin declare @parameter nvarchar(256) declare @ObjectkeyOrdered\r\n varchar(138) declare @uid_accproduct varchar(38) declare @whereclauseOrg nvarchar(max) declare @whereclauseMuster nvarchar(max) = ' UID_ITShopOrg in ( select UID_OrgPR \r\n\t\t\t\t\t\t\tfrom QER_VPWOProductNodesSlim\r\n\t\t\t\t\t\t\twhere ObjectkeyOrdered = ''@ObjectkeyOrdered'' \r\n\t\t\t\t\t\t\t\tand isnull(UID_AccProduct, '''') <> ''@UID_AccProduct''\r\n\t\t\t\t\t)\r\n'\r\n declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @QBM_BitPatternXMarkedForDel_Out int = dbo.QBM_FGIBitPatternXMarkedForDel\r\n('|OutStanding|', 0)  BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare\r\n @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(isForITShop) or update(isITShopOnly) begin declare @FlagTest QBM_YParameterlist\r\n insert into @FlagTest(Parameter1, Parameter2, HasContentFull, e.Parameter3) select i.UID_UNSGroupB, i.XObjectKey, i.IsForITShop, dbo.QBM_FCVBigIntToString\r\n(i.IsITShopOnly) from inserted i exec QER_PIsForITShopFlagCheck 'UNSGroupB', @FlagTest, 'UNSAccountBInUNSGroupB'  exec QER_PIsForITShopFlagCheck \r\n'UNSGroupB', @FlagTest, 'UNSAccountBHasUNSGroupB'  end   if update(uid_accproduct) begin insert into @ElementBuffer(ObjectKey1, UID1) select X.XObjectKey\r\n, isnull(x.uid_accproduct,'') from UNSGroupB x join deleted d on x.uid_UNSGroupB = d.uid_UNSGroupB and isnull(x.uid_accproduct,'') <> isnull(d.uid_accproduct\r\n,'')  and d.uid_accproduct > ' '  join dialogColumn c on c.UID_DialogTable = 'QER-T-ITShopOrg' and c.columnname = 'uid_ACCProduct' and c.IsDeactivatedByPreProcessor\r\n = 0  select @ElementCount = @@rowcount select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @ObjectkeyOrdered = bu.ObjectKey1\r\n , @UID_AccProduct = bu.UID1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex select @whereclauseOrg = @whereclauseMuster select @whereclauseOrg\r\n = replace(@whereclauseOrg, N'@ObjectkeyOrdered' , @ObjectkeyOrdered) select @whereclauseOrg = replace(@whereclauseOrg, N'@uid_accproduct' , rtrim(@uid_accproduct\r\n))    exec QBM_PJobCreate_HOUpdate_B 'ITShopOrg', @whereclauseOrg, @GenProcID , @p1 = 'uid_ACCProduct', @v1 = @uid_accproduct , @AdditionalObjectKeysAffected\r\n = DEFAULT select @ElementIndex += 1 end   end  if update (UID_AccProduct) begin declare @RecalcParameter_OA QBM_YCursorBuffer insert into @RecalcParameter_OA\r\n (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-OA', a.XObjectKey, 'I' from inserted i join UNSGroupB g on i.UID_UNSGroupB = g.UID_UNSGroupB\r\n join QERAccProductUsage u on g.XObjectKey = u.XObjectKey join AccProduct a on u.UID_AccProduct = a.UID_AccProduct union select 'QER-PWODecisionRule-OA'\r\n, a.XObjectKey, 'I' from deleted d join UNSGroupB g on d.UID_UNSGroupB = g.UID_UNSGroupB join QERAccProductUsage u on g.XObjectKey = u.XObjectKey\r\n join AccProduct a on u.UID_AccProduct = a.UID_AccProduct exec QER_PITShopHelperFill_Recalc @RecalcParameter_OA, @GenprocID declare @RecalcParameter_OA2\r\n QBM_YCursorBuffer insert into @RecalcParameter_OA2 (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-OA', pwo.XObjectKey, 'I' from inserted i join\r\n UNSGroupB g on i.UID_UNSGroupB = g.UID_UNSGroupB join AccProduct a on i.UID_AccProduct = a.UID_AccProduct join PersonWantsOrg pwo on g.XObjectKey\r\n = pwo.ObjectKeyElementUsedInAssign union select 'QER-PWODecisionRule-OA', pwo.XObjectKey, 'I' from deleted d join UNSGroupB g on d.UID_UNSGroupB\r\n = g.UID_UNSGroupB join AccProduct a on d.UID_AccProduct = a.UID_AccProduct join PersonWantsOrg pwo on g.XObjectKey = pwo.ObjectKeyElementUsedInAssign\r\n exec QER_PITShopHelperFill_Recalc @RecalcParameter_OA2, @GenprocID end  if update(MatchPatternForMembership)  or update(XMarkedForDeletion) begin  declare\r\n @GroupsChanged QBM_YParameterList insert into @GroupsChanged (Parameter1, Parameter2) select g.UID_UNSGroupB as uid, g.XObjectKey from UNSGroupB\r\n g join deleted d on g.UID_UNSGroupB = d.UID_UNSGroupB where ( g.MatchPatternForMembership <> d.MatchPatternForMembership ) or (g.XMarkedForDeletion\r\n & @QBM_BitPatternXMarkedForDel_Out = 0 and d.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out > 0 ) declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (  select aig.UID_UNSAccountB as uid from @GroupsChanged g\r\n join UNSAccountBInUNSGroupB aig on g.Parameter1 = aig.UID_UNSGroupB and aig.XOrigin > 0  union select aig.UID_UNSAccountB as uid from @GroupsChanged\r\n g join UNSAccountBHasUNSGroupB aig on g.Parameter1 = aig.UID_UNSGroupB and aig.XOrigin > 0   union select u.UID_UNSAccountB as uid from @GroupsChanged\r\n g join BaseTreeHasObject bho on g.Parameter2  = bho.ObjectKey join PersonInBaseTree pho on bho.UID_Org = pho.UID_Org join UNSAccountB u on u.UID_Person\r\n = pho.UID_Person union select u.UID_UNSAccountB as uid from @GroupsChanged g join BaseTreeHasObject bho on g.Parameter2  = bho.ObjectKey join HelperPersonOrg\r\n pho on bho.UID_Org = pho.UID_Org join UNSAccountB u on u.UID_Person = pho.UID_Person  union select u.UID_UNSAccountB as uid from @GroupsChanged g join\r\n ESetHasEntitlement ehe on g.Parameter2  = ehe.Entitlement join PersonHasESet phe on phe.UID_ESet = ehe.UID_ESet join UNSAccountB u on u.UID_Person = phe.UID_Person\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB', @DBQueueElements_01 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TUUNSGroupB1",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB1",
      "CreateDate": "2025-06-27T18:01:21.787",
      "ModifyDate": "2026-04-14T23:23:08.877",
      "Definition": "create   trigger TSB_TUUNSGroupB1 on UNSGroupB1  for Update not for Replication as begin declare @parameter nvarchar(256) declare @ObjectkeyOrdered\r\n varchar(138) declare @uid_accproduct varchar(38) declare @whereclauseOrg nvarchar(max) declare @whereclauseMuster nvarchar(max) = ' UID_ITShopOrg in ( select UID_OrgPR \r\n\t\t\t\t\t\t\tfrom QER_VPWOProductNodesSlim\r\n\t\t\t\t\t\t\twhere ObjectkeyOrdered = ''@ObjectkeyOrdered'' \r\n\t\t\t\t\t\t\t\tand isnull(UID_AccProduct, '''') <> ''@UID_AccProduct''\r\n\t\t\t\t\t)\r\n'\r\n declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @QBM_BitPatternXMarkedForDel_Out int = dbo.QBM_FGIBitPatternXMarkedForDel\r\n('|OutStanding|', 0)  BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare\r\n @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(isForITShop) or update(isITShopOnly) begin declare @FlagTest QBM_YParameterlist\r\n insert into @FlagTest(Parameter1, Parameter2, HasContentFull, e.Parameter3) select i.UID_UNSGroupB1, i.XObjectKey, i.IsForITShop, dbo.QBM_FCVBigIntToString\r\n(i.IsITShopOnly) from inserted i exec QER_PIsForITShopFlagCheck 'UNSGroupB1', @FlagTest, 'UNSAccountBInUNSGroupB1'  exec QER_PIsForITShopFlagCheck \r\n'UNSGroupB1', @FlagTest, 'UNSAccountBHasUNSGroupB1'  end   if update(uid_accproduct) begin insert into @ElementBuffer(ObjectKey1, UID1) select X.XObjectKey\r\n, isnull(x.uid_accproduct,'') from UNSGroupB1 x join deleted d on x.uid_UNSGroupB1 = d.uid_UNSGroupB1 and isnull(x.uid_accproduct,'') <> isnull(d.uid_accproduct\r\n,'')  and d.uid_accproduct > ' '  join dialogColumn c on c.UID_DialogTable = 'QER-T-ITShopOrg' and c.columnname = 'uid_ACCProduct' and c.IsDeactivatedByPreProcessor\r\n = 0  select @ElementCount = @@rowcount select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @ObjectkeyOrdered = bu.ObjectKey1\r\n , @UID_AccProduct = bu.UID1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex select @whereclauseOrg = @whereclauseMuster select @whereclauseOrg\r\n = replace(@whereclauseOrg, N'@ObjectkeyOrdered' , @ObjectkeyOrdered) select @whereclauseOrg = replace(@whereclauseOrg, N'@uid_accproduct' , rtrim(@uid_accproduct\r\n))    exec QBM_PJobCreate_HOUpdate_B 'ITShopOrg', @whereclauseOrg, @GenProcID , @p1 = 'uid_ACCProduct', @v1 = @uid_accproduct , @AdditionalObjectKeysAffected\r\n = DEFAULT select @ElementIndex += 1 end   end  if update (UID_AccProduct) begin declare @RecalcParameter_OA QBM_YCursorBuffer insert into @RecalcParameter_OA\r\n (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-OA', a.XObjectKey, 'I' from inserted i join UNSGroupB1 g on i.UID_UNSGroupB1 = g.UID_UNSGroupB1\r\n join QERAccProductUsage u on g.XObjectKey = u.XObjectKey join AccProduct a on u.UID_AccProduct = a.UID_AccProduct union select 'QER-PWODecisionRule-OA'\r\n, a.XObjectKey, 'I' from deleted d join UNSGroupB1 g on d.UID_UNSGroupB1 = g.UID_UNSGroupB1 join QERAccProductUsage u on g.XObjectKey = u.XObjectKey\r\n join AccProduct a on u.UID_AccProduct = a.UID_AccProduct exec QER_PITShopHelperFill_Recalc @RecalcParameter_OA, @GenprocID declare @RecalcParameter_OA2\r\n QBM_YCursorBuffer insert into @RecalcParameter_OA2 (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-OA', pwo.XObjectKey, 'I' from inserted i join\r\n UNSGroupB1 g on i.UID_UNSGroupB1 = g.UID_UNSGroupB1 join AccProduct a on i.UID_AccProduct = a.UID_AccProduct join PersonWantsOrg pwo on g.XObjectKey\r\n = pwo.ObjectKeyElementUsedInAssign union select 'QER-PWODecisionRule-OA', pwo.XObjectKey, 'I' from deleted d join UNSGroupB1 g on d.UID_UNSGroupB1\r\n = g.UID_UNSGroupB1 join AccProduct a on d.UID_AccProduct = a.UID_AccProduct join PersonWantsOrg pwo on g.XObjectKey = pwo.ObjectKeyElementUsedInAssign\r\n exec QER_PITShopHelperFill_Recalc @RecalcParameter_OA2, @GenprocID end  if update(MatchPatternForMembership)  or update(XMarkedForDeletion) begin  declare\r\n @GroupsChanged QBM_YParameterList insert into @GroupsChanged (Parameter1, Parameter2) select g.UID_UNSGroupB1 as uid, g.XObjectKey from UNSGroupB1\r\n g join deleted d on g.UID_UNSGroupB1 = d.UID_UNSGroupB1 where ( g.MatchPatternForMembership <> d.MatchPatternForMembership ) or (g.XMarkedForDeletion\r\n & @QBM_BitPatternXMarkedForDel_Out = 0 and d.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out > 0 ) declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (  select aig.UID_UNSAccountB as uid from @GroupsChanged g\r\n join UNSAccountBInUNSGroupB1 aig on g.Parameter1 = aig.UID_UNSGroupB1 and aig.XOrigin > 0  union select aig.UID_UNSAccountB as uid from @GroupsChanged\r\n g join UNSAccountBHasUNSGroupB1 aig on g.Parameter1 = aig.UID_UNSGroupB1 and aig.XOrigin > 0   union select u.UID_UNSAccountB as uid from @GroupsChanged\r\n g join BaseTreeHasObject bho on g.Parameter2  = bho.ObjectKey join PersonInBaseTree pho on bho.UID_Org = pho.UID_Org join UNSAccountB u on u.UID_Person\r\n = pho.UID_Person union select u.UID_UNSAccountB as uid from @GroupsChanged g join BaseTreeHasObject bho on g.Parameter2  = bho.ObjectKey join HelperPersonOrg\r\n pho on bho.UID_Org = pho.UID_Org join UNSAccountB u on u.UID_Person = pho.UID_Person  union select u.UID_UNSAccountB as uid from @GroupsChanged g join\r\n ESetHasEntitlement ehe on g.Parameter2  = ehe.Entitlement join PersonHasESet phe on phe.UID_ESet = ehe.UID_ESet join UNSAccountB u on u.UID_Person = phe.UID_Person\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB1', @DBQueueElements_01 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TUUNSGroupB2",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB2",
      "CreateDate": "2025-06-27T18:01:21.93",
      "ModifyDate": "2026-04-14T23:23:08.887",
      "Definition": "create   trigger TSB_TUUNSGroupB2 on UNSGroupB2  for Update not for Replication as begin declare @parameter nvarchar(256) declare @ObjectkeyOrdered\r\n varchar(138) declare @uid_accproduct varchar(38) declare @whereclauseOrg nvarchar(max) declare @whereclauseMuster nvarchar(max) = ' UID_ITShopOrg in ( select UID_OrgPR \r\n\t\t\t\t\t\t\tfrom QER_VPWOProductNodesSlim\r\n\t\t\t\t\t\t\twhere ObjectkeyOrdered = ''@ObjectkeyOrdered'' \r\n\t\t\t\t\t\t\t\tand isnull(UID_AccProduct, '''') <> ''@UID_AccProduct''\r\n\t\t\t\t\t)\r\n'\r\n declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @QBM_BitPatternXMarkedForDel_Out int = dbo.QBM_FGIBitPatternXMarkedForDel\r\n('|OutStanding|', 0)  BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare\r\n @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(isForITShop) or update(isITShopOnly) begin declare @FlagTest QBM_YParameterlist\r\n insert into @FlagTest(Parameter1, Parameter2, HasContentFull, e.Parameter3) select i.UID_UNSGroupB2, i.XObjectKey, i.IsForITShop, dbo.QBM_FCVBigIntToString\r\n(i.IsITShopOnly) from inserted i exec QER_PIsForITShopFlagCheck 'UNSGroupB2', @FlagTest, 'UNSAccountBInUNSGroupB2'  exec QER_PIsForITShopFlagCheck \r\n'UNSGroupB2', @FlagTest, 'UNSAccountBHasUNSGroupB2'  end   if update(uid_accproduct) begin insert into @ElementBuffer(ObjectKey1, UID1) select X.XObjectKey\r\n, isnull(x.uid_accproduct,'') from UNSGroupB2 x join deleted d on x.uid_UNSGroupB2 = d.uid_UNSGroupB2 and isnull(x.uid_accproduct,'') <> isnull(d.uid_accproduct\r\n,'')  and d.uid_accproduct > ' '  join dialogColumn c on c.UID_DialogTable = 'QER-T-ITShopOrg' and c.columnname = 'uid_ACCProduct' and c.IsDeactivatedByPreProcessor\r\n = 0  select @ElementCount = @@rowcount select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @ObjectkeyOrdered = bu.ObjectKey1\r\n , @UID_AccProduct = bu.UID1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex select @whereclauseOrg = @whereclauseMuster select @whereclauseOrg\r\n = replace(@whereclauseOrg, N'@ObjectkeyOrdered' , @ObjectkeyOrdered) select @whereclauseOrg = replace(@whereclauseOrg, N'@uid_accproduct' , rtrim(@uid_accproduct\r\n))    exec QBM_PJobCreate_HOUpdate_B 'ITShopOrg', @whereclauseOrg, @GenProcID , @p1 = 'uid_ACCProduct', @v1 = @uid_accproduct , @AdditionalObjectKeysAffected\r\n = DEFAULT select @ElementIndex += 1 end   end  if update (UID_AccProduct) begin declare @RecalcParameter_OA QBM_YCursorBuffer insert into @RecalcParameter_OA\r\n (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-OA', a.XObjectKey, 'I' from inserted i join UNSGroupB2 g on i.UID_UNSGroupB2 = g.UID_UNSGroupB2\r\n join QERAccProductUsage u on g.XObjectKey = u.XObjectKey join AccProduct a on u.UID_AccProduct = a.UID_AccProduct union select 'QER-PWODecisionRule-OA'\r\n, a.XObjectKey, 'I' from deleted d join UNSGroupB2 g on d.UID_UNSGroupB2 = g.UID_UNSGroupB2 join QERAccProductUsage u on g.XObjectKey = u.XObjectKey\r\n join AccProduct a on u.UID_AccProduct = a.UID_AccProduct exec QER_PITShopHelperFill_Recalc @RecalcParameter_OA, @GenprocID declare @RecalcParameter_OA2\r\n QBM_YCursorBuffer insert into @RecalcParameter_OA2 (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-OA', pwo.XObjectKey, 'I' from inserted i join\r\n UNSGroupB2 g on i.UID_UNSGroupB2 = g.UID_UNSGroupB2 join AccProduct a on i.UID_AccProduct = a.UID_AccProduct join PersonWantsOrg pwo on g.XObjectKey\r\n = pwo.ObjectKeyElementUsedInAssign union select 'QER-PWODecisionRule-OA', pwo.XObjectKey, 'I' from deleted d join UNSGroupB2 g on d.UID_UNSGroupB2\r\n = g.UID_UNSGroupB2 join AccProduct a on d.UID_AccProduct = a.UID_AccProduct join PersonWantsOrg pwo on g.XObjectKey = pwo.ObjectKeyElementUsedInAssign\r\n exec QER_PITShopHelperFill_Recalc @RecalcParameter_OA2, @GenprocID end  if update(MatchPatternForMembership)  or update(XMarkedForDeletion) begin  declare\r\n @GroupsChanged QBM_YParameterList insert into @GroupsChanged (Parameter1, Parameter2) select g.UID_UNSGroupB2 as uid, g.XObjectKey from UNSGroupB2\r\n g join deleted d on g.UID_UNSGroupB2 = d.UID_UNSGroupB2 where ( g.MatchPatternForMembership <> d.MatchPatternForMembership ) or (g.XMarkedForDeletion\r\n & @QBM_BitPatternXMarkedForDel_Out = 0 and d.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out > 0 ) declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (  select aig.UID_UNSAccountB as uid from @GroupsChanged g\r\n join UNSAccountBInUNSGroupB2 aig on g.Parameter1 = aig.UID_UNSGroupB2 and aig.XOrigin > 0  union select aig.UID_UNSAccountB as uid from @GroupsChanged\r\n g join UNSAccountBHasUNSGroupB2 aig on g.Parameter1 = aig.UID_UNSGroupB2 and aig.XOrigin > 0   union select u.UID_UNSAccountB as uid from @GroupsChanged\r\n g join BaseTreeHasObject bho on g.Parameter2  = bho.ObjectKey join PersonInBaseTree pho on bho.UID_Org = pho.UID_Org join UNSAccountB u on u.UID_Person\r\n = pho.UID_Person union select u.UID_UNSAccountB as uid from @GroupsChanged g join BaseTreeHasObject bho on g.Parameter2  = bho.ObjectKey join HelperPersonOrg\r\n pho on bho.UID_Org = pho.UID_Org join UNSAccountB u on u.UID_Person = pho.UID_Person  union select u.UID_UNSAccountB as uid from @GroupsChanged g join\r\n ESetHasEntitlement ehe on g.Parameter2  = ehe.Entitlement join PersonHasESet phe on phe.UID_ESet = ehe.UID_ESet join UNSAccountB u on u.UID_Person = phe.UID_Person\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB2', @DBQueueElements_01 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TUUNSGroupB3",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupB3",
      "CreateDate": "2025-06-27T18:01:22.077",
      "ModifyDate": "2026-04-14T23:23:08.9",
      "Definition": "create   trigger TSB_TUUNSGroupB3 on UNSGroupB3  for Update not for Replication as begin declare @parameter nvarchar(256) declare @ObjectkeyOrdered\r\n varchar(138) declare @uid_accproduct varchar(38) declare @whereclauseOrg nvarchar(max) declare @whereclauseMuster nvarchar(max) = ' UID_ITShopOrg in ( select UID_OrgPR \r\n\t\t\t\t\t\t\tfrom QER_VPWOProductNodesSlim\r\n\t\t\t\t\t\t\twhere ObjectkeyOrdered = ''@ObjectkeyOrdered'' \r\n\t\t\t\t\t\t\t\tand isnull(UID_AccProduct, '''') <> ''@UID_AccProduct''\r\n\t\t\t\t\t)\r\n'\r\n declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @QBM_BitPatternXMarkedForDel_Out int = dbo.QBM_FGIBitPatternXMarkedForDel\r\n('|OutStanding|', 0)  BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare\r\n @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(isForITShop) or update(isITShopOnly) begin declare @FlagTest QBM_YParameterlist\r\n insert into @FlagTest(Parameter1, Parameter2, HasContentFull, e.Parameter3) select i.UID_UNSGroupB3, i.XObjectKey, i.IsForITShop, dbo.QBM_FCVBigIntToString\r\n(i.IsITShopOnly) from inserted i exec QER_PIsForITShopFlagCheck 'UNSGroupB3', @FlagTest, 'UNSAccountBInUNSGroupB3'  exec QER_PIsForITShopFlagCheck \r\n'UNSGroupB3', @FlagTest, 'UNSAccountBHasUNSGroupB3'  end   if update(uid_accproduct) begin insert into @ElementBuffer(ObjectKey1, UID1) select X.XObjectKey\r\n, isnull(x.uid_accproduct,'') from UNSGroupB3 x join deleted d on x.uid_UNSGroupB3 = d.uid_UNSGroupB3 and isnull(x.uid_accproduct,'') <> isnull(d.uid_accproduct\r\n,'')  and d.uid_accproduct > ' '  join dialogColumn c on c.UID_DialogTable = 'QER-T-ITShopOrg' and c.columnname = 'uid_ACCProduct' and c.IsDeactivatedByPreProcessor\r\n = 0  select @ElementCount = @@rowcount select @ElementIndex = 1 while @ElementIndex <= @ElementCount begin select top 1 @ObjectkeyOrdered = bu.ObjectKey1\r\n , @UID_AccProduct = bu.UID1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex select @whereclauseOrg = @whereclauseMuster select @whereclauseOrg\r\n = replace(@whereclauseOrg, N'@ObjectkeyOrdered' , @ObjectkeyOrdered) select @whereclauseOrg = replace(@whereclauseOrg, N'@uid_accproduct' , rtrim(@uid_accproduct\r\n))    exec QBM_PJobCreate_HOUpdate_B 'ITShopOrg', @whereclauseOrg, @GenProcID , @p1 = 'uid_ACCProduct', @v1 = @uid_accproduct , @AdditionalObjectKeysAffected\r\n = DEFAULT select @ElementIndex += 1 end   end  if update (UID_AccProduct) begin declare @RecalcParameter_OA QBM_YCursorBuffer insert into @RecalcParameter_OA\r\n (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-OA', a.XObjectKey, 'I' from inserted i join UNSGroupB3 g on i.UID_UNSGroupB3 = g.UID_UNSGroupB3\r\n join QERAccProductUsage u on g.XObjectKey = u.XObjectKey join AccProduct a on u.UID_AccProduct = a.UID_AccProduct union select 'QER-PWODecisionRule-OA'\r\n, a.XObjectKey, 'I' from deleted d join UNSGroupB3 g on d.UID_UNSGroupB3 = g.UID_UNSGroupB3 join QERAccProductUsage u on g.XObjectKey = u.XObjectKey\r\n join AccProduct a on u.UID_AccProduct = a.UID_AccProduct exec QER_PITShopHelperFill_Recalc @RecalcParameter_OA, @GenprocID declare @RecalcParameter_OA2\r\n QBM_YCursorBuffer insert into @RecalcParameter_OA2 (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-OA', pwo.XObjectKey, 'I' from inserted i join\r\n UNSGroupB3 g on i.UID_UNSGroupB3 = g.UID_UNSGroupB3 join AccProduct a on i.UID_AccProduct = a.UID_AccProduct join PersonWantsOrg pwo on g.XObjectKey\r\n = pwo.ObjectKeyElementUsedInAssign union select 'QER-PWODecisionRule-OA', pwo.XObjectKey, 'I' from deleted d join UNSGroupB3 g on d.UID_UNSGroupB3\r\n = g.UID_UNSGroupB3 join AccProduct a on d.UID_AccProduct = a.UID_AccProduct join PersonWantsOrg pwo on g.XObjectKey = pwo.ObjectKeyElementUsedInAssign\r\n exec QER_PITShopHelperFill_Recalc @RecalcParameter_OA2, @GenprocID end  if update(MatchPatternForMembership)  or update(XMarkedForDeletion) begin  declare\r\n @GroupsChanged QBM_YParameterList insert into @GroupsChanged (Parameter1, Parameter2) select g.UID_UNSGroupB3 as uid, g.XObjectKey from UNSGroupB3\r\n g join deleted d on g.UID_UNSGroupB3 = d.UID_UNSGroupB3 where ( g.MatchPatternForMembership <> d.MatchPatternForMembership ) or (g.XMarkedForDeletion\r\n & @QBM_BitPatternXMarkedForDel_Out = 0 and d.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out > 0 ) declare @DBQueueElements_01 QBM_YDBQueueRaw insert\r\n into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (  select aig.UID_UNSAccountB as uid from @GroupsChanged g\r\n join UNSAccountBInUNSGroupB3 aig on g.Parameter1 = aig.UID_UNSGroupB3 and aig.XOrigin > 0  union select aig.UID_UNSAccountB as uid from @GroupsChanged\r\n g join UNSAccountBHasUNSGroupB3 aig on g.Parameter1 = aig.UID_UNSGroupB3 and aig.XOrigin > 0   union select u.UID_UNSAccountB as uid from @GroupsChanged\r\n g join BaseTreeHasObject bho on g.Parameter2  = bho.ObjectKey join PersonInBaseTree pho on bho.UID_Org = pho.UID_Org join UNSAccountB u on u.UID_Person\r\n = pho.UID_Person union select u.UID_UNSAccountB as uid from @GroupsChanged g join BaseTreeHasObject bho on g.Parameter2  = bho.ObjectKey join HelperPersonOrg\r\n pho on bho.UID_Org = pho.UID_Org join UNSAccountB u on u.UID_Person = pho.UID_Person  union select u.UID_UNSAccountB as uid from @GroupsChanged g join\r\n ESetHasEntitlement ehe on g.Parameter2  = ehe.Entitlement join PersonHasESet phe on phe.UID_ESet = ehe.UID_ESet join UNSAccountB u on u.UID_Person = phe.UID_Person\r\n ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB3', @DBQueueElements_01 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR\r\n ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 1,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TUUNSGroupBHasUNSItemB",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSGroupBHasUnsItemB",
      "CreateDate": "2025-06-27T18:01:21.12",
      "ModifyDate": "2026-04-14T23:23:08.917",
      "Definition": "create   trigger TSB_TUUNSGroupBHasUNSItemB on UNSGroupBHasUNSItemB  for update not for Replication as begin  BEGIN TRY if exists (select top 1 \r\n1 from deleted) goto start if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext\r\n('') if update(XOrigin) begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, \r\nnull, @GenProcID from ( select distinct d.UID_UNSGroupB as uid from deleted d join UNSGroupBHasUNSItemB dd on d.XObjectKey = dd.XObjectKey where dbo.QBM_FGIXOriginChanged_Except2\r\n(d.XOrigin, dd.XOrigin) = 1  ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSGroupBHasUNSItemB', @DBQueueElements_01 end  if update(XIsInEffect) or update\r\n(XOrigin) begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from (  select distinct d.UID_UNSGroupB as uid from deleted d join UNSGroupBHasUNSItemB dd on d.XObjectKey = dd.XObjectKey and dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, dd.XOrigin, d.XIsInEffect, dd.XIsInEffect) = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSGroupBHasUNSItemB', @DBQueueElements_02 declare\r\n @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select  t.UID_UNSAccountB\r\n as uid from deleted d join UNSGroupBHasUNSItemB dd on d.XObjectKey = dd.XObjectKey and dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, dd.XOrigin, d.XIsInEffect\r\n, dd.XIsInEffect) = 1 join UnsAccountBinUnsGroupB t on d.uid_UnsGroupB = t.uid_UnsGroupB and t.XOrigin > 0   union select t.UID_UNSAccountB as uid from\r\n deleted d join UNSGroupBHasUNSItemB dd on d.XObjectKey = dd.XObjectKey and dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, dd.XOrigin, d.XIsInEffect, dd.XIsInEffect\r\n) = 1 join UNSAccountBHasUNSGroupB t on d.UID_UNSGroupB = t.UID_UNSGroupB and t.XOrigin > 0   ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBHasUNSItemB'\r\n, @DBQueueElements_03 declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, @GenProcID\r\n from ( select distinct t.UID_UNSGroupBChild as uid from deleted d join UNSGroupBHasUNSItemB dd on d.XObjectKey = dd.XObjectKey and dbo.QBM_FGIXOriginChanged_Effect\r\n(d.XOrigin, dd.XOrigin, d.XIsInEffect, dd.XIsInEffect) = 1 join UnsGroupBinUnsGroupB t on d.uid_UnsGroupB = t.uid_UnsGroupBParent ) as x exec QBM_PDBQueueInsert_Bulk\r\n 'TSB-K-UNSGroupBHasUNSItemB', @DBQueueElements_04 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH\r\n ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    },
    {
      "SchemaName": "dbo",
      "ObjectName": "TSB_TUUNSRootB",
      "ObjectType": "TR",
      "ObjectTypeDesc": "SQL_TRIGGER",
      "ParentSchemaName": "dbo",
      "ParentTableName": "UNSRootB",
      "CreateDate": "2025-06-27T18:01:21.14",
      "ModifyDate": "2026-04-14T23:23:08.927",
      "Definition": "create   trigger TSB_TUUNSRootB on UNSRootB  for Update not for Replication as begin  declare @Parameter nvarchar(1000) BEGIN TRY if exists (select\r\n top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = \r\ndbo.QBM_FGISessionContext('') if update(UserContainsGroupList) begin  if (exists (select top 1 1 from deleted d join UNSRootB r on d.UID_UNSRootB = r.UID_UNSRootB\r\n join UNSAccountB a on a.UID_UNSRootB = r.UID_UNSRootB join UNSGroupB g on a.UID_UNSRootB = r.UID_UNSRootB left outer join UNSAccountBInUNSGroupB uig on\r\n a.UID_UNSAccountB = uig.UID_UNSAccountB and g.UID_UNSGroupB = uig.UID_UNSGroupB left outer join UNSAccountBHasUNSGroupB uhg on a.UID_UNSAccountB = uhg.UID_UNSAccountB\r\n and g.UID_UNSGroupB = uhg.UID_UNSGroupB where d.UserContainsGroupList & 0x01 <> r.UserContainsGroupList & 0x01 and ( uig.UID_UNSAccountB > ' ' or uhg.UID_UNSAccountB\r\n > ' ' ) ) )  or (exists (select top 1 1 from deleted d join UNSRootB r on d.UID_UNSRootB = r.UID_UNSRootB join UNSAccountB a on a.UID_UNSRootB = r.UID_UNSRootB\r\n join UNSGroupB1 g on a.UID_UNSRootB = r.UID_UNSRootB left outer join UNSAccountBInUNSGroupB1 uig on a.UID_UNSAccountB = uig.UID_UNSAccountB and g.UID_UNSGroupB1\r\n = uig.UID_UNSGroupB1 left outer join UNSAccountBHasUNSGroupB1 uhg on a.UID_UNSAccountB = uhg.UID_UNSAccountB and g.UID_UNSGroupB1 = uhg.UID_UNSGroupB1\r\n where d.UserContainsGroupList & 0x02 <> r.UserContainsGroupList & 0x02 and ( uig.UID_UNSAccountB > ' ' or uhg.UID_UNSAccountB > ' ' ) ) ) or (exists (select\r\n top 1 1 from deleted d join UNSRootB r on d.UID_UNSRootB = r.UID_UNSRootB join UNSAccountB a on a.UID_UNSRootB = r.UID_UNSRootB join UNSGroupB2 g on a.UID_UNSRootB\r\n = r.UID_UNSRootB left outer join UNSAccountBInUNSGroupB2 uig on a.UID_UNSAccountB = uig.UID_UNSAccountB and g.UID_UNSGroupB2 = uig.UID_UNSGroupB2 left\r\n outer join UNSAccountBHasUNSGroupB2 uhg on a.UID_UNSAccountB = uhg.UID_UNSAccountB and g.UID_UNSGroupB2 = uhg.UID_UNSGroupB2 where d.UserContainsGroupList\r\n & 0x04 <> r.UserContainsGroupList & 0x04 and ( uig.UID_UNSAccountB > ' ' or uhg.UID_UNSAccountB > ' ' ) ) ) or (exists (select top 1 1 from deleted d \r\njoin UNSRootB r on d.UID_UNSRootB = r.UID_UNSRootB join UNSAccountB a on a.UID_UNSRootB = r.UID_UNSRootB join UNSGroupB3 g on a.UID_UNSRootB = r.UID_UNSRootB\r\n left outer join UNSAccountBInUNSGroupB3 uig on a.UID_UNSAccountB = uig.UID_UNSAccountB and g.UID_UNSGroupB3 = uig.UID_UNSGroupB3 left outer join UNSAccountBHasUNSGroupB3\r\n uhg on a.UID_UNSAccountB = uhg.UID_UNSAccountB and g.UID_UNSGroupB3 = uhg.UID_UNSGroupB3 where d.UserContainsGroupList & 0x08 <> r.UserContainsGroupList\r\n & 0x08 and ( uig.UID_UNSAccountB > ' ' or uhg.UID_UNSAccountB > ' ' ) ) ) begin raiserror('#LDS#Change of {0} not allowed because of existing data.|UserContainsGroupList|'\r\n, 18, 1) with nowait end end if update(GroupUsageMask) begin if ( (exists (select top 1 1 from deleted d join UNSRootB r on d.UID_UNSRootB = r.UID_UNSRootB\r\n join UNSGroupB g on r.UID_UNSRootB = g.UID_UNSRootB where d.GroupUsageMask & 0x01 > 0 and r.GroupUsageMask & 0x01 = 0 ) ) or (exists (select top 1 1 from\r\n deleted d join UNSRootB r on d.UID_UNSRootB = r.UID_UNSRootB join UNSGroupB1 g on r.UID_UNSRootB = g.UID_UNSRootB where d.GroupUsageMask & 0x02 > 0 and\r\n r.GroupUsageMask & 0x02 = 0 ) ) or (exists (select top 1 1 from deleted d join UNSRootB r on d.UID_UNSRootB = r.UID_UNSRootB join UNSGroupB2 g on r.UID_UNSRootB\r\n = g.UID_UNSRootB where d.GroupUsageMask & 0x04 > 0 and r.GroupUsageMask & 0x04 = 0 ) ) or (exists (select top 1 1 from deleted d join UNSRootB r on d.UID_UNSRootB\r\n = r.UID_UNSRootB join UNSGroupB3 g on r.UID_UNSRootB = g.UID_UNSRootB where d.GroupUsageMask & 0x08 > 0 and r.GroupUsageMask & 0x08 = 0 ) ) ) begin raiserror\r\n('#LDS#Change of {0} not allowed because of existing data.|GroupUsageMask|', 18, 1) with nowait end end if update(uid_AERoleOwner) begin declare @RecalcParameter_01\r\n QBM_YCursorBuffer insert into @RecalcParameter_01 (UID1, ObjectKey1, Ident1) select 'TSB-PWODecisionRule-TO', i.XObjectKey, 'I' from inserted i union \r\nall select 'QER-PWODecisionRule-OX', i.XObjectKey, 'I'  from inserted i exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID end  if update\r\n(uid_AERoleOwner) begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, \r\n@GenProcID from ( select d.UID_UNSRootB as uid from deleted d ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-BaseTreeOwnsObject', @DBQueueElements_02 end END\r\n TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end \r\n",
      "HasQbmPJobCreate": 0,
      "HasHOCallMethod": 0,
      "HasHOFireEvent": 0,
      "HasDBQueueInsertSingle": 0,
      "HasDBQueueInsertBulk": 1,
      "HasChangeLimit": 0,
      "HasJobEventGen": 0,
      "HasQBMEvent": 0
    }
  ]
}
