IBM Enterprise Records, Version 5.1.+            

Exemple de requêtes sur des rapports

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.

Requête d'audit

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'

Requête de conteneur

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.

Requête d'élimination

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  

Requête de mise en attente

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') 


Commentaires

Dernière mise à jour : Août 2011


© Copyright IBM Corp. 2011.
Ce centre de documentation est basé sur la Technologie Eclipse. (http://www.eclipse.org)