Source: projects/identity-management/oim-kb-update/sandbox-db/2026-04-27-pjobcreate-method-event-evidence.md

> Source: projects/identity-management/oim-kb-update/sandbox-db/2026-04-27-pjobcreate-method-event-evidence.md

Sandbox DB Evidence - QBM_PJobCreate Methods and Events

Scope: SELECT-only metadata inspection in live sandbox OneIM DB on im.sandbox.local.

Procedure Interfaces

QBM_PJobCreate_HOCallMethod, _B, and _L accept:

QBM_PJobCreate_HOFireEvent, _B, and _L accept:

Parameter-count summary:

Procedure familyParameter countExplicit payload slots
QBM_PJobCreate_HOCallMethod*2910 method params
QBM_PJobCreate_HOFireEvent*7830 event parameter pairs (2..31)

Metadata Tables

Catalog counts in this sandbox:

CatalogCount
DialogMethod45
DialogObjectHasMethod71
QBMEvent353
JobEventGen400

Relevant table roles:

Dialog Methods Assigned to Objects

Examples from DialogMethod joined to DialogObjectHasMethod / DialogObject / DialogTable:

MethodTable/object examples
ITShop_Cancel_OpenOrderPersonWantsOrg_Open_NotMy, PersonWantsOrg_PendingOrder
ITShop_ChangeBoardITShopOrg_PR_NoDefault
ITShop_ChangeBoardMultipleITShopOrg_Regal
ITShop_ChangeShopITShopOrg_BO_NoDefault
ITShop_ChangeShoppingCenterITShopOrg_SH_NoDefault
ITShop_ExpiredProductAccProduct
RemoveFromITShopBoardsADSGroup, ESet, LDAPGroup, QERAssign, QERResource, QERReuse, UNSGroupB*, ...
ADS_Deprovision / ADS_UndoDeprovisionADSAccount, ADSGroup
RevokeAccountDefADSAccount, ADSContact, LDAPAccount, UNSAccountB
DialogSchedule_StartNowDialogSchedule
QERPolicy.CreateAttestationsQERPolicy

Important observation: the object-layer methods used by shipped SQL are not limited to DialogMethod. A direct query for Abort, MakeDecision, PrepareAttestations, and related shipped SQL method names returned no DialogMethod rows. Those are object-layer/customizer methods invoked by job creation.

Literal Method Names Used by Shipped SQL

Extracted from SQL modules containing QBM_PJobCreate_HOCallMethod*:

MethodObserved call-site pattern
AbortAttestation and IT Shop cleanup/validation (ATT_ZAttestationAbort, QER_ZITShopCheckValid, helper-head triggers, GDPR person delete).
AssignIT Shop validation/waiting procedures.
CompleteCasesUnderConstructionATT_PAttestationCaseCreate_i.
ESCALATEAttestation / IT Shop decision escalation.
MakeDecisionAutomatic approval decisions in IT Shop and attestation.
MakeDecisionOnInsertAsyncPersonWantsOrg insert/update triggers.
PrepareAttestationsSchedule-driven attestation preparation.
Replace, Unsubscribe, WaitingIT Shop request-state transitions.

Events Available Through QBMEvent

Events are table-scoped: use (DialogTable.TableName, QBMEvent.EventName), not just the event string.

Examples from QBMEvent / JobEventGen:

TableEvent examples
ADSAccountINSERT, UPDATE, DELETE, DEACTIVATE, DEPROVISION, UNDO DEPROVISION, HANDLEOUTSTANDING, Read, home/profile events.
ADSGroupINSERT, UPDATE, DELETE, DEPROVISION, UNDO DEPROVISION, HANDLEOUTSTANDING, OVERLIMIT, Read.
ADSDomainPOSTSYNC, Read, UPDATE.
ITShopOrgINSERT, UPDATE, DELETEBOARD, DeletePRNode, PROCESS_MAILAPPROVALS, RECALC_DECISIONMAKER.
PersonWantsOrgapproval/request events such as GRANTED, DENY, DISMISSED, ESCALATE, ORDERGRANTED, ORDERREFUSED, QUERYTOPERSON, REMEMBER_VALIDUNTIL, PRODUCTEXPIRESSOON, UNSUBSCRIBEGRANTED.
PWOHelperPWO / AttestationHelperDECISIONCOLLECTION, DECISIONREQUIRED, REMIND.
QBMServerCHECKVERSION, DEPLOYTARGETCHANGED, GETCONFIG, GETDEPLOYTARGETS, SETCONFIG, SetPort, NotifyRequestStall.
assignment tablesAssign / Remove or uppercase ASSIGN / REMOVE, depending on table/module.

Literal Event Names Used by Shipped SQL

Extracted from SQL modules containing QBM_PJobCreate_HOFireEvent*:

EventObserved call-site pattern
Assign / RemoveGenerated assignment triggers for XOrigin/XIsInEffect transitions.
InsertGenerated/manual insert-related event firing, including helper objects.
DecisionRequired / RemindIT Shop / attestation helper mail and decision workflows.
DeletePRNodeIT Shop product-node cleanup.
DeployTargetChangedQBMServer deployment target trigger handling.
EXECUTEDeferred operation execution.
FROZENDETECT, OVERLIMITDETECT, OVERLIMITWARNINGJob queue monitoring events.
Checkversion, GetDeployTargetsJob server / QBMServer operational events.
GenerateMail, SendMail, SendRichMailReport/mail generation paths.
UpdateSystemSyncsDialog table/system-sync maintenance.

Practical Lookup Queries

Find UI/dialog methods for a table:

SELECT dm.MethodName, dm.Caption, dt.TableName, dob.ObjectName, dm.MethodBehavior, dm.MethodEnabledFor
FROM DialogMethod dm
JOIN DialogObjectHasMethod dohm ON dohm.UID_DialogMethod = dm.UID_DialogMethod
JOIN DialogObject dob ON dob.UID_DialogObject = dohm.UID_DialogObject
JOIN DialogTable dt ON dt.UID_DialogTable = dob.UID_DialogTable
WHERE dt.TableName = N'ITShopOrg'
ORDER BY dm.MethodName, dob.ObjectName;

Find events and generated processes for a table:

SELECT qe.EventName, dt.TableName, jc.Name AS ProcessName, jeg.OrderNr,
       jc.NoGenerate, jc.IsDeactivatedByPreProcessor
FROM QBMEvent qe
JOIN DialogTable dt ON dt.UID_DialogTable = qe.UID_DialogTable
LEFT JOIN JobEventGen jeg ON jeg.UID_QBMEvent = qe.UID_QBMEvent
LEFT JOIN JobChain jc ON jc.UID_JobChain = jeg.UID_JobChain
WHERE dt.TableName = N'PersonWantsOrg'
ORDER BY qe.EventName, jeg.OrderNr;

Find shipped SQL that calls methods/events:

SELECT OBJECT_NAME(m.object_id) AS ObjectName, o.type_desc
FROM sys.sql_modules m
JOIN sys.objects o ON o.object_id = m.object_id
WHERE m.definition LIKE '%QBM_PJobCreate_HOCallMethod%'
   OR m.definition LIKE '%QBM_PJobCreate_HOFireEvent%'
ORDER BY o.type_desc, ObjectName;

Interpretation