OIM KB Update — Run 2026 04 27 27 Goal Close a concrete troubleshooting gap: explain why ITShopOrgHasADSGroup / BaseTreeHasADSGroup often shows “double” rows per published AD group, and document the precise DB link semantics between: ADSGroup entitlement AccProduct service item BaseTree / ITShopOrg PR nodes BaseTreeHas
ADSGroup Publication
Saved relation query: ADSGroup AccProduct ITShopOrg BaseTreeHasADSGroup
Related Evidence
Database Trigger on ADSGroup. Single DBQueue insert -> QBM-K-CommonReCalculate / QBM_ZRecalculate at line 81; Bulk DBQueue insert -> ADS-K-ADSAccountInADSGroup / ADS_ZAccountInADSGroup at line 81; Single DBQueue insert -> QBM-K-CommonReCalculate / QBM_ZRecalculate at line 81; Bulk DBQueue insert -> ADS-K-ADSAccountInADSGroup / ADS_ZAccountInADSGroup at line 81
Open sourceTable Function.
Open sourceOIM KB Update Run 24 Goal Clarify the sandbox specific “availability wiring” around AccProductInBaseTree / AccProductInITShopOrg , and record the concrete trigger/procedure hooks that fire when: ADSGroup IT Shop flags change, ADSGroup.UID AccProduct changes, AccProductGroup service category hierarchy/decision method ch
Sandbox DB Evidence — AccProductInBaseTree, views, and trigger hooks 2026 04 27 Scope This note captures live sandbox DB evidence about: why some “availability” views can appear empty AccProductInITShopOrg , which views back common troubleshooting queries ITShopOrg , ITShopOrgHasADSGroup , which triggers/procs are dire
UI-visible method assignment. Behavior: 5. Enabled for: 1. Decompiled registrations: 0.
Stored Procedure. References QBM_PJobCreate*
Open sourceDatabase Trigger on ADSGroup. Trigger parent table: ADSGroup
Open sourceDatabase Trigger on BaseTreeHasADSGroup. Bulk DBQueue insert -> QER-K-AllChildrenOfOrg / QER_ZAllChildrenOfOrg at line 11; Bulk DBQueue insert -> QER-K-OrgAutoChild / QER_ZITShopProductNodeCheck at line 11; Bulk DBQueue insert -> ADS-K-ADSAccountInADSGroup / ADS_ZAccountInADSGroup at line 11; Bulk DBQueue insert -> ADS-K-ADSContactInADSGroup / ADS_ZContactInADSGroup at line 11
Open sourceDatabase Trigger on BaseTreeHasADSGroup. Bulk DBQueue insert -> ADS-K-BaseTreeHasObject / ADS_ZBaseTreeHasObject at line 6; Bulk DBQueue insert -> QER-K-AllChildrenOfOrg / QER_ZAllChildrenOfOrg at line 6; Bulk DBQueue insert -> QER-K-OrgAutoChild / QER_ZITShopProductNodeCheck at line 6; Bulk DBQueue insert -> ADS-K-ADSAccountInADSGroup / ADS_ZAccountInADSGroup at line 6
Open sourceDatabase Trigger on ADSGroup. Trigger parent table: ADSGroup
Open sourceDatabase Trigger on ADSGroup. Trigger parent table: ADSGroup
Open sourceDatabase Trigger on LDAPGroup. Bulk DBQueue insert -> LDP-K-LDAPAccountInLDAPGroup / LDP_ZAccountInLDAPGroup at line 60; References QBM_PJobCreate*; References QBM_PDBQueueInsert_Bulk; Trigger parent table: LDAPGroup
Open sourceDatabase Trigger on QERAssign. Bulk DBQueue insert -> QER-K-PersonHasQERAssign / QER_ZPersonHasQERAssign at line 12; Bulk DBQueue insert -> QER-K-OrgHasQERAssign / QER_ZOrgHasQERAssign at line 12; Bulk DBQueue insert -> QER-K-PersonHasQERAssign / QER_ZPersonHasQERAssign at line 12; Bulk DBQueue insert -> QER-K-OrgHasQERAssign / QER_ZOrgHasQERAssign at line 16
Open sourceDatabase Trigger on QERResource. Bulk DBQueue insert -> QER-K-PersonHasQERResource / QER_ZPersonHasQERResource at line 16; Bulk DBQueue insert -> QER-K-PersonHasQERResource / QER_ZPersonHasQERResource at line 16; Bulk DBQueue insert -> QER-K-OrgHasQERResource / QER_ZOrgHasQERResource at line 16; Bulk DBQueue insert -> QER-K-PersonHasQERResource / QER_ZPersonHasQERResource at line 19
Open sourceDatabase Trigger on QERReuse. Bulk DBQueue insert -> QER-K-PersonHasQERReuse / QER_ZPersonHasQERReuse at line 12; Bulk DBQueue insert -> QER-K-OrgHasQERReuse / QER_ZOrgHasQERReuse at line 12; Bulk DBQueue insert -> QER-K-PersonHasQERReuse / QER_ZPersonHasQERReuse at line 12; Bulk DBQueue insert -> QER-K-OrgHasQERReuse / QER_ZOrgHasQERReuse at line 16
Open sourceDatabase Trigger on QERReuseUS. Bulk DBQueue insert -> QER-K-PersonHasQERReuseUS / QER_ZPersonHasQERReuseUS at line 13; Bulk DBQueue insert -> QER-K-OrgHasQERReuseUS / QER_ZOrgHasQERReuseUS at line 13; Bulk DBQueue insert -> QER-K-PersonHasQERReuseUS / QER_ZPersonHasQERReuseUS at line 13; Bulk DBQueue insert -> QER-K-OrgHasQERReuseUS / QER_ZOrgHasQERReuseUS at line 16
Open sourceDatabase Trigger on ESet. Bulk DBQueue insert -> RMS-K-ESetCollection / RMS_ZESetCollection at line 32; Bulk DBQueue insert -> RMS-K-OrgHasESet / RMS_ZOrgHasESet at line 32; Bulk DBQueue insert -> RMS-K-PersonHasESet / RMS_ZPersonHasESet at line 32; Bulk DBQueue insert -> RMS-K-WorkdeskHasESet / RMS_ZWorkDeskHasESet at line 32
Open sourceDatabase Trigger on RPSReport. Bulk DBQueue insert -> RPS-K-AllForOneRPSReport / RPS_ZAllForOneRPSReport at line 31; Bulk DBQueue insert -> RPS-K-PrepropRPSReport / RPS_ZPrePropRPSReport at line 31; Bulk DBQueue insert -> RPS-K-PrepropRPSReport / RPS_ZPrePropRPSReport at line 34; References QBM_PJobCreate*
Open sourceDatabase Trigger on TSBAccountDef. Bulk DBQueue insert -> TSB-K-TSBAccountDefFlags / TSB_ZTSBAccountDefFlags at line 22; Bulk DBQueue insert -> TSB-K-PersonHasTSBAccountDef / TSB_ZPersonHasTSBAccountDef at line 22; Bulk DBQueue insert -> TSB-K-OrgHasTSBAccountDef / TSB_ZOrgHasTSBAccountDef at line 22; Bulk DBQueue insert -> TSB-K-PersonHasTSBAccountDef / TSB_ZPersonHasTSBAccountDef at line 25
Open sourceDatabase Trigger on UNSGroupB. Bulk DBQueue insert -> TSB-K-UNSAccountBInUNSGroupB / TSB_ZUNSAccountBInUNSGroupB at line 40; References QBM_PJobCreate*; References QBM_PDBQueueInsert_Bulk; Trigger parent table: UNSGroupB
Open sourceDatabase Trigger on UNSGroupB1. Bulk DBQueue insert -> TSB-K-UNSAccountBInUNSGroupB1 / TSB_ZUNSAccountBInUNSGroupB1 at line 40; References QBM_PJobCreate*; References QBM_PDBQueueInsert_Bulk; Trigger parent table: UNSGroupB1
Open sourceDatabase Trigger on UNSGroupB2. Bulk DBQueue insert -> TSB-K-UNSAccountBInUNSGroupB2 / TSB_ZUNSAccountBInUNSGroupB2 at line 40; References QBM_PJobCreate*; References QBM_PDBQueueInsert_Bulk; Trigger parent table: UNSGroupB2
Open sourceDatabase Trigger on UNSGroupB3. Bulk DBQueue insert -> TSB-K-UNSAccountBInUNSGroupB3 / TSB_ZUNSAccountBInUNSGroupB3 at line 40; References QBM_PJobCreate*; References QBM_PDBQueueInsert_Bulk; Trigger parent table: UNSGroupB3
Open sourceOrder 0; noGenerate=false; preprocessor-deactivated=true. Value = $UID_OrgRuler[o]$ = "ADS-AEROLE-ADSGROUP-OWNER-EMPTY" _ AndAlso $UID_OrgRuler[o]$ <> $UID_OrgRuler$ _ AndAlso $UID_OrgRuler$ <> "" _ AndAlso N
Order 0; noGenerate=false; preprocessor-deactivated=true. Value = $IsForITShop:Bool$ _ AndAlso ($FK(UID_AccProduct).UID_AccProductGroup$ = "ADS-C2C72EBAEC53472F971B2D53EF0051E9" _ Or $FK(UID_AccProduct).UID_A
References: QBM_PDBQueueInsert_Bulk.
Open sourceReferences: QBM_PDBQueueInsert_Bulk.
Open sourceScalar Function.
Open sourceTable Function.
Open sourceTable Function.
Open sourceInline Table Function.
Open sourceInline Table Function.
Open sourceInline Table Function.
Open sourceInline Table Function.
Open sourceInline Table Function.
Open sourceInline Table Function.
Open sourceInline Table Function.
Open sourceInline Table Function.
Open sourceReferences: QBM_PJobCreate.
uidserviceitem: string accproduct, itshoporg
filter: FilterData[] accproduct, itshoporg
UID_Person: string, uid: string accproduct, itshoporg
UID_AccProduct: string, OrderBy: string, StartIndex: number, PageSize: number, filter: FilterData[], withProperties: string, search: string, ParentKey: string accproduct, itshoporg
UID_Person: string, UID_AccProductGroup: string, IncludeChildCategories: boolean, UID_AccProductParent: string, UID_PersonReference: string, UID_PersonPeerGroup: string, OrderBy: string, StartIndex: number, PageSize: number, filter: FilterData[], withProperti... accproduct, itshoporg
by: string, def: string, filter: FilterData[], StartIndex: number, PageSize: number, withcount: boolean accproduct, itshoporg
QBM_PDBQueueInsert_Bulk 'ADS-K-ADSAccountInADSGroup' , @DBQueueElements_03 declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct ADS…
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-ADSAccountInADSGroup' , @DBQueueElements_03 declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct ADS…
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-ADSAccountInADSGroup' , @DBQueueElements_03 declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct ADS…
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-ADSAccountInADSGroup', @DBQueueElements_04 declare @DBQueueElements_05 QBM_YDBQueueRaw insert into @DBQueueElements_05 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select ADS.UID_ADSCo…
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-ADSAccountInADSGroup', @DBQueueElements_04 declare @DBQueueElements_05 QBM_YDBQueueRaw insert into @DBQueueElements_05 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select ADS.UID_ADSCo…
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-ADSAccountInADSGroup', @DBQueueElements_04 declare @DBQueueElements_05 QBM_YDBQueueRaw insert into @DBQueueElements_05 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select ADS.UID_ADSCo…
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-ADSAccountInADSGroup', @DBQueueElements_04 declare @DBQueueElements_05 QBM_YDBQueueRaw insert into @DBQueueElements_05 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select ADS.UID_ADSCo…
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-ADSContactInADSGroup', @DBQueueElements_04 declare @DBQueueElements_05 QBM_YDBQueueRaw insert into @DBQueueElements_05 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct i.ui…
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-ADSContactInADSGroup', @DBQueueElements_04 declare @DBQueueElements_05 QBM_YDBQueueRaw insert into @DBQueueElements_05 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct i.ui…
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-ADSContactInADSGroup', @DBQueueElements_04 declare @DBQueueElements_05 QBM_YDBQueueRaw insert into @DBQueueElements_05 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct i.ui…
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-ADSContactInADSGroup', @DBQueueElements_04 declare @DBQueueElements_05 QBM_YDBQueueRaw insert into @DBQueueElements_05 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct i.ui…
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-ADSContactInADSGroup', @DBQueueElements_05 if '1' = dbo.QBM_FGIConfigparmValue('TargetSystem\ADS\HardwareInGroupFromOrg' ) begin declare @DBQueueElements_06 QBM_YDBQueueRaw insert into @DBQueueElements_06 (ob…
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-ADSContactInADSGroup', @DBQueueElements_05 if '1' = dbo.QBM_FGIConfigparmValue('TargetSystem\ADS\HardwareInGroupFromOrg' ) begin declare @DBQueueElements_06 QBM_YDBQueueRaw insert into @DBQueueElements_06 (ob…
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-ADSContactInADSGroup', @DBQueueElements_05 if '1' = dbo.QBM_FGIConfigparmValue('TargetSystem\ADS\HardwareInGroupFromOrg' ) begin declare @DBQueueElements_06 QBM_YDBQueueRaw insert into @DBQueueElements_06 (ob…
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-ADSContactInADSGroup', @DBQueueElements_05 if '1' = dbo.QBM_FGIConfigparmValue('TargetSystem\ADS\HardwareInGroupFromOrg' ) begin declare @DBQueueElements_06 QBM_YDBQueueRaw insert into @DBQueueElements_06 (ob…
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-ADSContactInADSGroup', @DBQueueElements_05 if '1' = dbo.QBM_FGIConfigparmValue('TargetSystem\ADS\HardwareInGroupFromOrg' ) begin declare @DBQueueElements_06 QBM_YDBQueueRaw insert into @DBQueueElements_06 (ob…
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_06 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_06 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_06 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_06 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_06 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_06 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_06 end end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_06 end end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_06 end end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_06 end end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_06 end end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_06 end end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-BaseTreeHasObject', @DBQueueElements_05 declare @DBQueueElements_06 QBM_YDBQueueRaw insert into @DBQueueElements_06 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select m.uid_ADSMachine…
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-BaseTreeHasObject', @DBQueueElements_05 declare @DBQueueElements_06 QBM_YDBQueueRaw insert into @DBQueueElements_06 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select m.uid_ADSMachine…
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-BaseTreeHasObject', @DBQueueElements_05 declare @DBQueueElements_06 QBM_YDBQueueRaw insert into @DBQueueElements_06 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select m.uid_ADSMachine…
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-BaseTreeHasObject', @DBQueueElements_05 declare @DBQueueElements_06 QBM_YDBQueueRaw insert into @DBQueueElements_06 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select m.uid_ADSMachine…
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-BaseTreeHasObject', @DBQueueElements_05 declare @DBQueueElements_06 QBM_YDBQueueRaw insert into @DBQueueElements_06 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select m.uid_ADSMachine…
Open sourceQBM_PDBQueueInsert_Bulk 'ADS-K-BaseTreeHasObject', @DBQueueElements_01 insert into @ChangedOrg (UID_SingleGuid) select distinct d.UID_Org as uid from BaseTreeHasADSGroup a join deleted d on a.XObjectKey = d.XObjectKey where dbo.QBM_FGIXOri…
Open source