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 prêts à l'emploi fournis avec IBM Enterprise Records Crystal Report.
Cette requête renvoie les événements audités qui se sont produits sur les instances de catégorie d'enregistrement situées sous le noeud de plan de fichiers spécifié et dans 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 la jointure externe sur l'élément de gauche 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
Notez que 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 ont été associés à une mise en attente spécifique durant une période spécifique et qui sont 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')