Tässä ohjeaiheessa on SQL-kyselyesimerkkejä, joita voi soveltaa IBM Enterprise Records -raportoinnissa. Esimerkit perustuvat valmiisiin 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
Huomaa, että 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 ja jotka ovat 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')