IBM Enterprise Records, Версия 5.1.2    

Примеры запросов к отчетам

В этой теме представлены примеры запросов SQL, применимые к созданию отчетов IBM® Enterprise Records. Эти примеры основаны на предоставленных шаблонах IBM Enterprise Records Crystal Report.

Запросы, связанные с аудитом

Этот запрос возвращает события, регистрируемые для аудита и произошедшие в экземплярах категорий записей, расположенных в заданном узле планов размещения и в заданный промежуток времени:

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'

Следующий запрос возвращает действия, регистрируемые для аудита и выполненные конкретным пользователем для записей, расположенных в конкретном положении планов размещения в течение заданного промежутка времени:

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'

Запросы, связанные с контейнерами

Следующий запрос возвращает папки записей, расположенные в заданном узле планов размещения и созданные указанным пользователем в течение заданного промежутка времени:

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'

Обратите внимание на использование условия LEFT OUTER JOIN для включения имени любого экземпляра HomeLocation, которое может быть назначено конкретному экземпляру папок записей.

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

Обратите внимание на использование более эффективного сравнения свойств Volume.Parent в условии WHERE вместо альтернативного оператора INFOLDER.

Запросы, связанные с утилизацией

Этот запрос возвращает информацию, устанавливающую соответствие между данными расписания утилизации и записями, использующими связанный RecordType.

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

Когда запрос включает в себя несколько объединений, надо использовать скобки, чтобы отделить их друг от друга.

Ниже представлены варианты, где возвращаются контейнеры, связанные с заданным расписанием утилизации.

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' 

Этот запрос сообщает о важных записях, обязательных для утилизации в заданный период времени:

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  

Запросы, связанные с удержанием

Этот запрос находит записи, связанные с конкретным удержанием в заданный промежуток времени. Эти записи содержатся также в заданной части плана размещения.

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


Отзыв

Последнее обновление: Ноябрь 2013 г.
report_query_examples.htm

© Copyright IBM Corp. 2013