In diesem Abschnitt werden die SQL-Musterabfragen aufgeführt, die für die Berichtserstellung von IBM® Enterprise Records verwendet werden. Diese Beispiele basieren auf den bereitgestellten Crystal Report-Vorlagen von IBM Enterprise Records.
Die folgende Abfrage gibt geprüfte Ereignisse zurück, die in Schriftstückkategorie-Instanzen unter dem angegebenen Aktenplanknoten und im angegebenen Zeitrahmen auftreten:
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'
Die folgende Abfrage gibt geprüfte Aktionen von einem bestimmten Benutzer an Schriftstücken in einem bestimmten Aktenplan-Speicherort während eines bestimmten Zeitrahmens zurück:
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'
Die folgende Abfrage gibt Schriftstückordner zurück, die sich unter dem angegebenen Aktenplanknoten befinden und die vom angegebenen Benutzer im angegebenen Zeitrahmen erstellt wurden:
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'
Beachten Sie die Verwendung von LEFT OUTER JOIN zum Einschluss den Namens jeder HomeLocation-Instanz, die einer bestimmten Schriftstückordnerinstanz zugeordnet sein könnte.
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}')
Beachten Sie die Verwendung des effizienteren Volume.Parent-Eigenschaftsvergleichs in der WHERE-Klausel anstelle des alternativen Operators INFOLDER.
Die folgende Abfrage gibt Informationen zurück, die Aussonderungszeitplandaten mit Schriftstücken verbinden, die einen zugeordneten Schriftstücktyp verwenden.
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
Wenn eine Abfrage mehrere Joins umfasst, müssen diese durch Klammern getrennt sein.
Im Folgenden sehen Sie eine Variante, die Container zurückgibt, die einem angegebenen Aussonderungszeitplan zugeordnet sind.
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'
Die folgende Abfrage gibt notwendige Schriftstücke zurück, die zur Aussonderung in einem angegebenen Zeitraum fällig sind:
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
Die folgende Abfrage findet Schriftstücke, die während eines bestimmten Zeitraums einer bestimmten Rückstellung zugeordnet werden. Diese Schriftstücke sind auch in einem angegebenen Teil des Aktenplans enthalten.
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')