Este tópico indica exemplos de consultas SQL aplicáveis à criação de relatórios no IBM® Enterprise Records. Estes exemplos baseiam-se nos modelos prontos a utilizar do IBM Enterprise Records Crystal Report.
Esta consulta devolve eventos auditados que ocorreram nas instâncias da categoria de registo localizadas no nó do plano de ficheiros especificado e no período especificado:
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'
A consulta seguinte devolve acções auditadas por um utilizador especifico em registos localizados numa localização de plano de ficheiros específica durante um período específico:
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'
A consulta seguinte devolve as pastas de registos localizadas no nó do plano de ficheiros especificado e criado pelo utilizador especificado no período especificado:
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'
A junção exterior esquerda é utilizada para incluir o nome de qualquer instância de HomeLocation que possa estar atribuída a uma determinada instância de pasta de registo.
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}')
Neste exemplo é utilizada a comparação de propriedade mais eficiente Volume.Parent na cláusula WHERE, em vez do operador INFOLDER alternativo.
Esta consulta devolve informações sobre dados de agenda de eliminação com registos que utilizam um RecordType associado.
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
Quando uma consulta inclui mais de uma junção, é necessário utilizar parênteses para indicar a separação.
É indicada em seguida uma variação que devolve contentores associados a uma agenda de eliminação especificada.
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'
Esta consulta inclui no relatório registos vitais com eliminação prevista num período especificado:
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
Esta consulta localiza registos associados a uma retenção específica durante um período específico e que estão incluídas num porção especificada do plano de ficheiros.
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')