Cette rubrique présente des exemples de requêtes SQL qui sont applicables à la génération de rapports IBM® Enterprise Records. Ces exemples sont basés sur les modèles IBM Enterprise Records Crystal Report fournis.
Cette requête renvoie les événements audités qui se produisent sur les instances de catégorie d'enregistrement situées sous le noeud de plan de fichiers spécifié et au cours de la période indiquée :
SELECT rc.PathName, ra.DateLastModified, ra.LastModifier, ra.AuditActionType
FROM RMAudit ra
INNER JOIN RecordCategory rc ON ra.SourceObjectId = rc.Id
WHERE ra.DateLastModified >= 20090101T000000Z AND ra.DateLastModified <= 20090131T000000Z
AND rc.This INSUBFOLDER '/Records Management/File Plan'
La requête suivante renvoie les actions auditées par un utilisateur spécifique sur les enregistrements situés dans un emplacement de plan de fichiers spécifique durant une période spécifique :
SELECT ra.DateLastModified, ra.LastModifier, ra.AuditActionType, ri.DocumentTitle, rmf.PathName
FROM ((RMAudit ra INNER JOIN RecordInfo ri ON ra.SourceObjectId = ri.Id)
INNER JOIN ReferentialContainmentRelationship RCR on ri.This = rcr.Head)
INNER JOIN RMFolder rmf ON rcr.Tail = rmf.This
WHERE ra.DateLastModified >= 2009-01-01 AND ra.DateLastModified <= 2009-01-12
AND ra.LastModifier = 'rangelj'
AND ri.This INFOLDER '/Records Management/File Plan/Cat1'
La requête suivante renvoie les dossiers d'enregistrement situées sous le noeud de plan de fichiers spécifié et créés par l'utilisateur spécifié durant la période indiquée :
SELECT rf.PathName, rf.DateCreated, l.LocationName As HomeLocation
FROM RecordFolder rf
LEFT OUTER JOIN Location l ON rf.HomeLocation = l.This
WHERE rf.DateCreated >= 2009-01-01 AND rf.DateCreated <= 2009-01-31
AND rf.Creator = 'rangelj'
AND rf.This INSUBFOLDER '/Records Management/File Plan'
Notez l'utilisation de LEFT OUTER JOIN en vue d'inclure le nom d'une instance HomeLocation pouvant être affectée à une instance de dossier d'enregistrement particulière.
SELECT v.DateClosed, v.ReOpenedDate, v.VolumeName
FROM Volume v
WHERE v.DateClosed IS NOT NULL AND v.ReOpenedDate IS NOT NULL
AND v.Parent = OBJECT('{24D91623-6C0A-4DB7-9C87-5C172F4A09D2}')
Notez aussi l'utilisation de la comparaison de propriété Volume.Parent dans la clause WHERE à la place de l'opérateur INFOLDER. Cette méthode est plus efficace.
Cette requête renvoie des informations mettant en relation les données de planning d'élimination et les enregistrements qui utilisent un RecordType associé.
SELECT ds.DisposalScheduleName, a1.ActionType, rc.PathName, rcr.ContainmentName, rt.RecordTypeName
FROM (((( RecordInfo ri INNER JOIN RecordType rt ON ri.AssociatedRecordType = rt.This )
INNER JOIN DisposalSchedule ds ON rt.DisposalSchedule = ds.This )
LEFT OUTER JOIN Action1 a1 ON ri.CurrentPhaseAction = a1.This )
INNER JOIN ReferentialContainmentRelationship rcr ON ri.This = rcr.Head )
INNER JOIN RMFolder rc ON rcr.Tail = rc.This
WHERE ri.IsDeleted = FALSE
Lorsqu'une requête comporte plusieurs jointures, des parenthèses doivent être utilisées comme séparation.
Voici une variante de cette même requête qui renvoie les conteneurs associés à un planning d'élimination spécifique.
SELECT rc.PathName, rc.Aggregation, rc.DateCreated, ds.DisposalScheduleName, A1.ActionType
FROM (RMFolder rc INNER JOIN DisposalSchedule ds ON rc.DisposalSchedule = ds.This)
LEFT OUTER JOIN Action1 a1 ON rc.CurrentPhaseAction = a1.This
WHERE rc.IsDeleted = FALSE AND ds.DisposalScheduleName = 'Sch_PreDefDate'
Cette requête signale les enregistrements référents dont l'élimination est prévue dans une période spécifique :
SELECT ri.VitalRecordNextReviewDate, rc.PathName, rcr.ContainmentName, ri.DateCreated, ri.Creator,
ri.VitalRecordReviewDate
FROM (RecordInfo ri INNER JOIN ReferentialContainmentRelationship rcr ON ri.This = rcr.Head)
INNER JOIN RMFolder rc ON rcr.tail = rc.This
WHERE ri.IsDeleted = FALSE AND ri.IsVitalRecord = TRUE
AND ri.VitalRecordNextReviewDate >= 2008-01-01
AND ri.VitalRecordNextReviewDate <= 2009-12-31
Cette requête recherche les enregistrements qui sont associés à une mise en attente spécifique au cours d'une période spécifique. Ces enregistrements sont également contenus dans une portion spécifique du plan de fichiers.
SELECT ri.DocumentTitle, ri.DateCreated, rh.HoldName, rhl.DateCreated As HoldEstablishedOn
FROM (RecordHold rh INNER JOIN RecordHoldLink rhl ON rh.This = rhl.Tail)
INNER JOIN RecordInfo ri ON rhl.Head = ri.This
WHERE ri.IsDeleted = FALSE AND rh.HoldName = 'Smith vs. Jones'
AND rhl.DateCreated >= 2008-10-01 AND rhl.DateCreated <= 2008-12-31
AND ri.This INSUBFOLDER ('/Records Management/File Plan/ABC')