Tässä ohjeaiheessa on SQL-kyselyesimerkkejä, joita voi soveltaa IBM Enterprise Records -raportoinnissa. Esimerkit perustuvat toimitettuihin IBM Enterprise Records Crystal Report -malleihin.
Tämä kysely palauttaa kirjatut tapahtumat, jotka ovat ilmenneet määritetyssä arkistonmuodostussuunnitelman solmussa sijaitsevissa asiakirjaluokan ilmentymissä ja määritetyllä aikavälillä:
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'
Seuraava kysely palauttaa tietyn käyttäjän kirjatut toiminnot, jotka ovat kohdistuneet tietyssä arkistonmuodostussuunnitelman sijainnissa oleviin asiakirjoihin tietyllä aikavälillä:
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'
Seuraava kysely palauttaa asiakirjakansiot, jotka sijaitsevat määritetyssä arkistonmuodostussuunnitelman solmussa ja jotka määritetty käyttäjä on luonut määritetyn aikavälin kuluessa:
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'
Huomaa LEFT OUTER JOIN -lausekkeen käyttö, jolla sisällytetään minkä tahansa HomeLocation-ilmentymän nimi, joka mahdollisesti on määritetty tietylle asiakirjakansion ilmentymälle.
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}')
Huomaa, että WHERE-lausekkeessa on käytetty tehokkaampaa Volume.Parent-ominaisuusvertailua vaihtoehtoisen INFOLDER-operaattorin sijasta.
Tämä kysely palauttaa tietoja, jotka yhdistävät arkistostapoistoaikataulun tiedot kyseiseen RecordType-tyyppiin liittyviin asiakirjoihin.
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
Jos kysely sisältää useita JOIN-lausekkeita, suljetta on käytettävä erotinmerkkinä.
Seuraavassa on muunnelma, joka palauttaa määritettyyn arkistostapoistoaikatauluun liittyvät säilöt.
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'
Tämä kysely palauttaa tärkeät asiakirjat, jotka on määrä poistaa arkistosta tietyn ajanjakson kuluessa:
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
Tämä kysely etsii asiakirjoja, jotka on liitetty tiettyyn pitoon tietyn ajanjakson kuluessa. Nämä asiakirjat ovat myös arkistonmuodostussuunnitelman määritetyssä osassa.
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')