Professional Documents
Culture Documents
Reporting Services
Version 6.7
Development Guide
EMC Corporation
Corporate Headquarters:
Hopkinton, MA 01748-9103
1-508-435-1000
www.EMC.com
EMC believes the information in this publication is accurate as of its publication date. The information is subject to change
without notice.
The information in this publication is provided as is. EMC Corporation makes no representations or warranties of any kind
with respect to the information in this publication, and specifically disclaims implied warranties of merchantability or fitness
for a particular purpose. Use, copying, and distribution of any EMC software described in this publication requires an
applicable software license.
For the most up-to-date listing of EMC product names, see EMC Corporation Trademarks on EMC.com. All other trademarks
used herein are the property of their respective owners.
Copyright 2011 EMC Corporation. All rights reserved.
Table of Contents
................................................................................................................................
Chapter 1
Introduction .................................................................................................
Prerequisites ....................................................................................................
9
9
Chapter 2
11
12
12
14
14
14
15
17
17
18
23
29
43
49
49
49
50
50
51
51
Preface
Chapter 3
12
Table of Contents
List of Figures
Figure 1.
Figure 2.
DRS architecture...................................................................................................
Documentum Reporting Services on Documentum Java Method Server
Environment ....................................................................................................
11
13
Table of Contents
List of Tables
Table 1.
Table 2.
Table 3.
Table 4.
18
23
29
43
Table of Contents
Preface
This document contains requisite information for EMC Documentum Reporting Services developers,
business users, and software engineers who wish to extend the platform delivered to them by EMC.
To ensure that you install the current version of Documentum Reporting Services application, visit
the Powerlink website: http://powerlink.emc.com and review the product versions available for your
platform. The release notes and any applicable installation guide appear as separately downloadable
items. Any product documentation that is available from the application as online help does not
appear as a separate item; it is automatically downloaded and installed with the software.
Documentums technical support services are designed to make your deployment and management
of Documentum products as effective as possible. The Customer Guide to EMC Software Support
Services provides a thorough explanation of Documentums support services and policies. You can
download this document from the Powerlink website (http://powerlink.emc.com) by navigating to:
SupportAbout EMC Customer ServiceSoftware Customer Guide.
Intended audience
This document is intended for the following audiences who primarily work with report data:
Crystal Reports developers who design reports on predefined metric for consumptions by
business users (typically managers or information analysts). This community needs to access
various data sources, integrate data from these sources in a unified view on enterprise operations,
and present data in a business-friendly format.
Business users who execute the available reports and take actions based on up-to-date
information. These users can personalize and configure report data.
Software engineers who integrate Documentum Reporting Services with Documentum Webtop
and Documentum Java Method Server Environment.
Preface
Revision history
This section contains a description of this documents revision history.
Revision Date
Description
April 2011
Initial Publication
Related documentation
The Documentum Reporting Services User Guide, version 6.7 contains details on how to design a report
by using DJDBC.
The following lists other documentation you must be familiar with, before installing Documentum
Reporting Services:
Content Services for JDBC Driver User Guide
Content Services for JDBC Driver Release Notes
Chapter 1
Introduction
Documentum Reporting Services is a reporting solution that helps you to access the Documentum
metadata and retrieve information in the form of reports. Using DRS, the administrators and business
users can create new reports, view, run, and edit the Out Of The Box (OOTB) reports in the repository,
and import existing reports into the repository. Currently, DRS supports report formats that can be
created only through Crystal Reports.
Documentum Reporting Services integrates with Documentum Java Method Server Environment.
Therefore, with Documentum Reporting Services, you can use Documentum Administrator or any
WDK application to create and schedule a job to generate a report.
Note: EMC Documentum does not provide support or training for SAP Crystal Report Designer
issues. It is recommended that customers have a trained SAP Crystal Report Designer Administrator.
Prerequisites
To design Documentum Reporting Services reports, you must install the following software:
Content Server on a client machine.
Crystal Reports Designer 2008 on a client machine.
Sun JDK 1.5 on a client machine.
Documentum Java Database Connectivity (JDBC) on a client machine.
Documentum Foundation Classes 6.7 on a client machine.
To run reports through Documentum Webtop, Documentum Webtop 6.7 is required.
To run reports through Documentum Administrator, Documentum Administrator 6.7 is required.
To run reports through any other WDK based Documentum client applications, perform the
following:
Deploy Documentum Reporting Services on the repository.
Deploy Documentum Reporting Services on the Documentum client application that you
want to use for running the report.
To schedule a report, you require the following:
Content Server 6.7.
Introduction
Note: Ensure Agentexec and Documentum Java Method server environment are up and running.
Deployment of Documentum Reporting Services on repository.
Deployment of Documentum Reporting Services on Documentum Java Method server
environment.
Documentum Adminstrator 6.7 is required for scheduling reports using Documentum
Adminstrator
To create, edit, and import reports in repository, Documentum Reporting Services must be
deployed on the repository.
The Documentum Reporting Services Installation Guide, version 6.7 contains more details on how to
setup SAP Crystal Reports Designer to use Documentum JDBC. The Documentum Reporting Services
Release Notes, version 6.7 contains details on known issues and workarounds.
10
Chapter 2
The Documentum Reporting Services
Architecture
The following graphic depicts the high-level architecture of Documentum Reporting Services:
Figure 1. DRS architecture
11
12
The main components of Documentum Reporting Services on Documentum Java Method server
environment are as follows:
Documentum Reporting Services DAR file. For more information, see Documentum Reporting
Services DAR file, page 14.
Documentum Reporting Services Designer. For more information, see Documentum Reporting
Services Designer, page 15
Documentum Reporting Services Run time (Documentum Reporting Services Java Method
server environment). For more information, see Documentum Reporting Services run time
(Documentum Reporting Services Java Method Server environment), page 14.
13
14
last_run_date - TIME
vendor_name - CHAR (100)
Configures a new reporting format for SAP Crystal Reports with the following values:
Format name - rpt
Default file extension - rpt
Description - Crystal Report
Mime type - magnus-internal/rpt
Imports CrystalReportTemplate.rpt into the Templates directory, of the repository, as drs_report
document type. If this file already exists, the latest file is saved as a new version.
Imports all Documentum Reporting Services 6.7 OOTB reports into the Reports cabinet of the
repository as drs_report document. If these files already exist, latest files are saved as new version.
Creates a new dm_method object by name drs_RunReportMethod for running the Documentum Java
Method com.documentum.drs.method.RunReportMethod. This method runs the specified report
templates and saves the report output in the docbase.
Creates a new job (dm_job) objects for each OOTB report. You can use Documentum Administrator
to modify the job scheduler and report parameter details as per your requirement. If Documentum
Reporting Services jobs already exist, the jobs are overwritten. DRS OOTB jobs have to be
reconfigured with requisite report and job parameter values.
15
16
Chapter 3
Documentum Reporting Services
Reports
This chapter gives details on Documentum Reporting Services Reports. It contains the following
main sections:
Out-Of-The-Box Reports, page 17
Report Design and Development, page 49
Security, page 50
Out-Of-The-Box Reports
You can install Out-of-the-box (OOTB) / preconfigured reports to simplify the report configuration
process (Documentum Reporting Services Installation Guide describes the installation procedure). These
reports are designed based on customer inputs and are packaged with the Documentum Reporting
Services DAR file. Each OOTB report is defined with a DQL statement and a visual layout formatting
using SAP Crystal Reports Designer. The preconfigured/OOTB reports provide two benefits:
A faster way to work with Documentum Reporting Services reporting.
A starter set of reports that help you create your own set of reports.
OOTB reports only contain reports defined with common data available across all implementations
of Documentum. This section addresses each category of OOTB reports with a description of each
report DQL query.
OOTB reports can be categorized as follows:
Repository Objects Reports
Repository Objects is a family of reports that display details pertaining to documents that have
the maximum size (in bytes). All reports in this category display data in a tabular format, and
include pie charts for graphical representation of information.
Workflow Reports
Workflow is a family of reports that display details pertaining to workflows, current state of
workflows (such as Unknown, Dormant, Running, Finished, Terminated, Running, Active,
Acquired, and Dpaused states), start and end dates, and details about Workflow owner. All
reports in this category display data in a tabular format, and include pie chart for graphical
representation of information.
17
18
Query
Query Description
select object_name,
r_content_size,
a_content_type,
owner_name, r_
creation_date from
dm_document (all) where
r_content_size > 0 and
UPPER(object_name) like
UPPER('%{?Document
Name}%') ORDER BY
r_content_size DESC
enable (return_top
{?Top N Records})
select object_name,
r_content_size,
a_content_type,
r_object_type,
r_creation_date,
owner_name from
dm_sysobject (all)
where r_content_size
> 0 and cabinet('/
{?Cabinet}',DESCEND)
ORDER BY r_content_size
DESC
select object_name,
r_content_size,
a_content_type,
r_creation_date,
owner_name from
dm_document (ALL) where
r_content_size > 0
and folder ('{?Folder
Name}', DESCEND) ORDER
BY r_content_size DESC
enable (return_top
{?Top N Records})
select a_content_
type,r_object_type,
object_name, r_content_
size, owner_name,
r_creation_date from
dm_sysobject (ALL)
where r_content_size >
0 and folder ('{?Folder
Name}',DESCEND) ORDER
BY r_content_size DESC
enable (return_top
{?Top N Records})
19
20
select r_object_id,
object_name,
r_content_size,
a_content_type,
r_object_type,
r_creation_date,
owner_name from dm_
sysobject (all) where
(r_is_virtual_doc=1
OR r_link_cnt > 0) and
UPPER (object_name)
like UPPER('%{?VDM}%')
select r_creation_date,
count(r_version_label)
as CNT, object_
name, owner_name,
r_object_type from
dm_document (all)
where dm_document.
i_chronicle_id=dm_
document.i_chronicle_id
group by object_name,
r_creation_date, owner_
name, r_object_type
order by 1 DESC
select count(r_
version_label) as
CNT, object_name,r_
object_type,owner_
name,r_creation_
date,i_contents_id
from dm_document (all)
where dm_document.
i_chronicle_id=dm_
document.i_chronicle_id
group by object_name,r_
object_type,owner_
name,r_creation_date,i_
contents_id order by 1
DESC
select count(r_
version_label) as CNT,
object_name,owner_
name,r_object_type,r_
creation_date from
dm_document (all)
where dm_document.
i_chronicle_id=dm_
document.i_chronicle_id
group by object_
name,owner_name,r_
object_type,r_creation_
date order by 1 DESC
enable(return_top {?Top
N Records})
select object_name,
a_content_type,r_
object_type,
r_content_size from
dm_document (ALL) where
cabinet('/{?Cabinet
Name}',DESCEND) order
by a_content_type
SELECT object_name,
a_content_type,
r_content_size FROM
dm_document (ALL)
SELECT object_name,
r_object_type,
r_content_size FROM
dm_document (ALL) ORDER
BY r_object_type
Let us consider Largest Document by Document Name report as an example, in this category of
reports.
This report displays the following information:
Top <N> largest documents having Document Name as a filter (in tabular format)
Count of elements for each document type (as a piechart)
Total space taken by each document type (as a piechart)
21
22
Workflow Reports
Workflow reports display details pertaining to workflows, current state of workflows, start and end
dates, and details about Workflow owner. This family of reports has the following common report
parameters:
Show Chart: displays chart(s) based on the position you want the chart to be displayed (Top,
Bottom). You can also choose not to display the chart by selecting Dont Display from the
drop-down list.
Workflow: is the Dimension for the Workflow family of reports.
Chart: Pie chart for displaying Count of workflows by workflow state.
The following table lists various OOTB reports that belong to this family of reports:
Table 2. Workflow Reports
Query
select object_name,
r_creation_date, r_due_
date, r_performer_name,
r_runtime_state,
'Dormant' as rtext
from dm_workflow,
dmi_workitem
where r_object_id
=r_workflow_id and
dm_workflow.r_runtime_
state in(1,3) and
dmi_workitem.r_runtime_
state=0 union all
Query Description
This DQL contains subqueries
that query for the different
Workflows in Dormant,
Acquired, Finished, Paused,
Dpaused, and Apaused states,
and construct a union of all
Workflows.
23
select object_name,
r_creation_date, r_due_
date, r_performer_name,
r_runtime_state,
'Acquired' as
rtext from dm_
workflow,dmi_workitem
where r_object_id
=r_workflow_id and
dm_workflow.r_runtime_
state in(1,3) and
dmi_workitem.r_runtime_
state=1 union all
select object_name,
r_creation_date, r_due_
date, r_performer_name,
r_runtime_state,
'Finished' as rtext
from dm_workflow,
dmi_workitem
where r_object_id
=r_workflow_id and
dm_workflow.r_runtime_
state in(1,3) and
dmi_workitem.r_runtime_
state=2 union all
select object_name,
r_creation_date, r_due_
date, r_performer_name,
r_runtime_state,
'Paused' as rtext
from dm_workflow,
dmi_workitem
where r_object_id
=r_workflow_id and
dm_workflow.r_runtime_
state in(1,3) and
dmi_workitem.r_runtime_
state=3 union all
select object_name,
r_creation_date, r_due_
date, r_performer_name,
r_runtime_state,
'Dpaused' as rtext
from dm_workflow,dmi_
workitem where
r_object_id =
r_workflow_id and
24
dm_workflow.r_runtime_
state in(1,3) and
dmi_workitem.r_runtime_
state=4 union all
select object_name,
r_creation_date, r_due_
date, r_performer_name,
r_runtime_state,
'Apaused' as rtext
from dm_workflow,
dmi_workitem
where r_object_id
=r_workflow_id and
dm_workflow.r_runtime_
state in(1,3) and
dmi_workitem.r_runtime_
state=5
select object_name,
r_runtime_state,
'Dormant' as rtext,
r_start_date,
supervisor_name FROM
dm_workflow where
r_runtime_state=0 union
all
select object_name,
r_runtime_state,
'Running' as
rtext,r_start_date,
supervisor_name FROM
dm_workflow where
r_runtime_state=1 union
all
select object_name, r_
runtime_state, 'Halted'
as rtext,r_start_
date,supervisor_name
FROM dm_workflow where
r_runtime_state=3
select object_name,
r_creator_name,
supervisor_name,
r_start_date from
dm_workflow
25
select r_runtime_state,
'Dormant' as
rtext,r_runtime_state
from dm_workflow where
r_runtime_state=0 union
all select r_runtime_
state,'Active' as
rtext,r_runtime_state
from dm_workflow where
r_runtime_state=1 union
all select r_runtime_
state,'Halted'as
rtext,r_runtime_state
from dm_workflow where
r_runtime_state=3
select object_name,
r_start_date,
r_runtime_state,
'Dormant' as rtext,
COUNT(*) from
dm_workflow where
r_runtime_state = 0
GROUP BY r_runtime_
state, object_name,
r_start_date union all
select object_name,
r_start_date,
r_runtime_state,
'Active' as rtext,
COUNT(*) from
dm_workflow where
r_runtime_state = 1
GROUP BY r_runtime_
state, object_name
,r_start_date union all
select object_name,
r_start_date,
r_runtime_state,
'Finished' as
rtext, COUNT(*) from
dm_workflow where
r_runtime_state = 2
GROUP BY r_runtime_
state, object_name,
r_start_date union all
select object_name,
r_start_date,
26
r_runtime_state,
'Halted' as rtext,
COUNT(*) from
dm_workflow where
r_runtime_state = 3
GROUP BY r_runtime_
state, object_name,
r_start_date union all
select object_name,
r_start_date,
r_runtime_state,
'Failed' as rtext,
COUNT(*) from
dm_workflow where
r_runtime_state = 4
GROUP BY r_runtime_
state, object_name,
r_start_date order by 2
Let us consider All outstanding workflow actions report as an example, in this category of reports.
This report displays the following information:
All outstanding workflow actions having Workflow State as a filter (in tabular format)
Count of workflows by workflow state (as a piechart)
27
28
Query
select a.r_object_id,
a.phase_name, a.entry_
date, a.event_date,
a.qualification_date,
s.r_version_label,
s.r_is_virtual_doc,
s.r_link_cnt,
s.a_content_type,s.
r_has_frzn_assembly,
s.i_is_reference,
s.i_is_replica,
r.object_name
as policy_name,
s.object_name as
retained_object_name,
s.r_object_type as
retained_object_type,
s.r_object_id as
retained_object_id
from dm_sysobject (all)
s, dmc_rps_retainer
a, dmc_rps_phase_rel
b, dmc_rps_retention_
strategy c, dmc_rps_
retention_policy
r where (any
s.i_retainer_id
is not null) and
(a.retainer_root_id
= s.r_object_id) and
(a.retention_policy_id
= r.r_object_id)
and (a.r_policy_id
= b.parent_id) and
(a.retention_policy_id
= b.child_id) and
(a.phase_name =
b.phase_name) and
Query Description
This query displays a list of
objects under retention, which
can be manually qualified for
promotion if the retention
policy has been changed.
This DQL performs the
following tasks:
Fetch all phases related
to the current retainers
retention policy
(a.retention_policy_
id=b.child_id)
29
(not (a.event_date
is nulldate and
b.r_object_id in
(select parent_id
from dm_relation
where relation_name
= 'dmc_rps_phase_
condition_rel_type')))
and (b.r_object_id
in (select parent_id
from dm_relation
where relation_name
= 'dmc_rps_phase_
authority_rel_type'
and child_id in (select
r_object_id from
dmc_rps_authority where
is_authority_valid
= TRUE))) and
(a.qualification_date
is nulldate) and
(a.retention_policy_id
= r.r_object_id) and
(r.retention_strategy_
id = c.r_object_id) and
(not (s.r_object_type
in (select r_type_name
from dmi_type_info
where any r_supertype =
'dm_folder') and c.is_
container_aging = 0))
and (s.r_version_label
!= 'CURRENT') enable
(ROW_BASED)
Promotion Manager
30
select a.r_object_id,
s.r_version_label,
s.object_name,
s.r_is_virtual_doc,
s.r_link_cnt,
s.a_content_type,
s.r_object_id,
s.r_has_frzn_assembly,
s.i_is_reference,
s.i_is_replica,
a.phase_name, a.entry_
date, a.event_date,
a.global_event_date,
a.qualification_date,
s.r_object_type,
(b.r_object_id =
dm_relation.parent_
id) and dm_relation.
relation_name
=dmc_rps_phase_
authority_rel_type
a.retainer_root_id,
b.is_final_phase,
c.is_container_aging,
r.object_name as
policy_name from
dm_sysobject (all)
s, dmc_rps_retainer
a, dmc_rps_phase_rel
b, dmc_rps_retention_
strategy c, dmc_rps_
retention_policy
r where (any
s.i_retainer_id is
not null) and (NOT
ANY s.dmc_markup_
coordinator.markup_
retainer_id IN (select
r_object_id from
dmc_rps_markup_retainer
where is_freeze=TRUE))
and (NOT ANY
s.dmc_folder_markup_
coordinator.markup_
retainer_id IN (select
r_object_id from
dmc_rps_markup_retainer
where is_freeze=TRUE))
and (NOT ANY s.dmc_
lso_markup_coordinator.
markup_retainer_id IN
(select r_object_id
from dmc_rps_markup_
retainer where
is_freeze=TRUE)) and
(a.qualification_date
is not nulldate) and
(a.retainer_root_id
= s.r_object_id) and
(a.retention_policy_id
= r.r_object_id) and
(r.retention_strategy_
id = c.r_object_id) and
(not (s.r_object_type
in (select distinct
r_type_name from
dmi_type_info where
any r_supertype =
'dm_folder') and
c.is_container_aging =
0)) and (a.r_policy_id
(a.retainer_root_id =
s.r_object_id)
31
= b.parent_id) and
(a.retention_policy_id
= b.child_id) and
(a.phase_name =
b.phase_name) and
(b.is_final_phase = 0)
and (s.r_version_label
!= 'CURRENT') union
select a.r_object_id,
s.r_version_label,
s.object_name,
s.r_is_virtual_doc,
s.r_link_cnt,
s.a_content_type,
s.r_assembled_from_id,
s.r_has_frzn_assembly,
s.i_is_reference,
s.i_is_replica,
a.phase_name, a.entry_
date, a.event_date,
global_event_date,
a.qualification_date,
s.r_object_type,
a.retainer_root_id,
b.is_final_phase,
c.is_container_aging,
r.object_name as
policy_name from
dm_sysobject (all)
s, dmc_rps_retainer
a, dmc_rps_phase_rel
b, dmc_rps_retention_
strategy c, dmc_rps_
retention_policy
r where (any
s.i_retainer_id
is not null) and
(a.qualification_date
is nulldate) and
(a.global_event_date
is not nulldate) and
(a.retainer_root_id
= s.r_object_id) and
(a.retention_policy_id
= r.r_object_id) and
(r.retention_strategy_
id = c.r_object_id) and
(not (s.r_object_type
in (select distinct
r_type_name from
32
Enable (ROW_BASED)
is a DQL hint because
r_version_label is a
multi-valued attribute.
UNION
Check if the object contains
at least one retainer object
(any s.i_retainer_id
is not null)
dmi_type_info where
any r_supertype =
'dm_folder') and
c.is_container_aging =
0)) and (a.r_policy_id
= b.parent_id) and
(a.retention_policy_id
= b.child_id) and
(a.phase_name =
b.phase_name) and
(b.is_final_phase = 0)
and (s.r_version_label
!= 'CURRENT') and
(( r.r_object_id in
( select parent_id
from dm_relation
where relation_name
= 'dmc_rps_ret_policy_
authority_rel' and
child_id in ( select
r_object_id from
dmc_rps_authority where
is_authority_valid
= TRUE )))) enable
(ROW_BASED)
33
is_authority_valid =
TRUE))))
Enable (ROW_BASED)
is a DQL hint because
r_version_label is a
multi-valued attribute.
Disposition Manager
34
select a.r_object_id,
a.retainer_root_id,
d.r_object_type,
d.object_name,
d.r_object_id as
object_id, c.object_
name as policy_name,
a.qualification_date,
c.disposition_strategy_
id, b.object_name as
disposition_strategy,
a.disposition_status,
a.disposition_
export_location,
a.is_promote_global
as global_promotion,
d.a_content_type,
d.r_link_cnt,
d.r_is_virtual_doc,
d.r_has_frzn_assembly,
d.i_is_replica,
d.i_is_reference,
d.r_lock_owner,
a.approval_required,
a.approval_status,
d.dmc_prm_physical_
proxy.export_state,
d.dmc_prm_physical_
proxy.destruction_state
from dm_sysobject
(ALL) d, dmc_rps_
retainer a, dmc_rps_
retention_policy c,
dmc_rps_disp_strategy b
where d.r_lock_owner
is nullstring and
a.r_object_id in
(select i_retainer_id
from dm_sysobject
where r_object_id=a.
retainer_root_id) and
a.disposition_status
in (0,2,-1,1) and
a.qualification_date
is not nulldate
and (true=(select
is_final_phase from
dmc_rps_phase_rel
where a.current_
phase_id=r_object_id))
and (0<(select
count(au.r_object_id)
from dmc_rps_authority
au where au.is_
authority_valid=true
and au.r_object_id
in (select child_id
from dm_relation
where relation_name
= 'dmc_rps_phase_
authority_rel_type'
and parent_id = a.
current_phase_id))) and
c.disposition_strategy_
id=b.r_object_id and
a.retention_policy_
id=c.r_object_id and
a.retainer_root_id
= d.r_object_id and
a.retainer_root_id in
(select r_object_id
from dm_sysobject
(ALL) where NOT ANY i_
retainer_id IN (select
r_object_id from
dmc_rps_markup_retainer
where is_permanent=TRUE
or is_hold=TRUE))
35
a.retainer_root_id in
(select r_object_id from
dm_sysobject (ALL) where
NOT ANY i_retainer_id
IN (select r_object_id from
dmc_rps_markup_retainer
where is_permanent=TRUE
or is_hold=TRUE))
Barcode Manager
Physical Record
36
select dmc_prm_
physical_proxy.
physical_barcode,
'NONE' as availability,
'NONE' as dest_state,
'NONE' as exp_state,
dmc_prm_chargeoutable.
is_available,
dmc_prm_physical_proxy.
destruction_state,
dmc_prm_physical_
proxy.export_state,
dmc_prm_chargeoutable.
recalled_date, object_
name, r_object_id,
r_object_type from
dm_sysobject where any
r_aspect_name='dmc_
prm_physical_proxy' and
dmc_prm_physical_proxy.
physical_barcode!= ''
select r_object_id,
r_object_type, object_
name, r_link_cnt,
r_is_virtual_doc,
r_assembled_from_id,
r_has_frzn_assembly,
i_is_replica,
i_is_reference,
r_version_label,
a_content_type,
dmc_prm_physical_
proxy.export_state,
'NONE' as exp_state,
dmc_prm_physical_proxy.
destruction_state,
dmc_prm_physical_
proxy.is_lost,
dmc_prm_physical_
proxy.home_location_id,
dmc_prm_physical_proxy.
current_location_id,
dmc_prm_physical_
proxy.next_location_id,
dmc_prm_chargeoutable.
is_available, 'NONE'
as availability,
dmc_prm_chargeoutable.
shipping_state, 'NONE'
as ship_state from
dm_sysobject where (any
r_aspect_name = 'dmc_
prm_physical_proxy')
and ((dmc_prm_physical_
proxy.export_state = 1)
or (dmc_prm_physical_
proxy.export_state = 2)
or (dmc_prm_physical_
proxy.destruction_state
= 1) or (dmc_prm_
physical_proxy.
destruction_state = 2)
or (dmc_prm_physical_
proxy.export_state = 0
and dmc_prm_physical_
proxy.destruction_state
= 0) or (dmc_prm_
chargeoutable.
shipping_state = 0) or
(dmc_prm_chargeoutable.
shipping_state = 1) or
(dmc_prm_chargeoutable.
shipping_state = 2) or
(dmc_prm_chargeoutable.
shipping_state = 3))
Library Request
select a.r_object_
id,s.object_name,
s.r_version_label,
s.a_content_
type,a.phase_name,
a.disposition_status,
a.entry_date,
a.event_date,
a.global_event_date,
a.qualification_date,
a.r_creation_date as
application_date,
s.r_object_id as
37
sysobject_id,
s.r_object_type,
a.retainer_root_id,
b.is_final_phase,
c.is_container_aging,
r.object_name
as policy_name,
r.disposition_strategy_
id, d.object_name
as disposition_
strategy,s.r_lock_
owner,s.owner_name,s.
r_content_size,s.a_
content_type,s.r_
is_virtual_doc,s.i_
is_reference,s.i_is_
replica,s.r_has_frzn_
assembly,s.a_compound_
architecture,s.
r_link_cnt from
dmc_rps_retainer a,
dm_sysobject (all)
s, dmc_rps_phase_rel
b, dmc_rps_retention_
strategy c, dmc_rps_
retention_policy r,
dmc_rps_disp_strategy d
where (a.retainer_root_
id = s.r_object_id)
and (a.retainer_
root_id in (select
r_object_id from
dm_sysobject (all)))
and (a.r_policy_id
= b.parent_id) and
(a.retention_policy_id
= b.child_id) and
(a.phase_name =
b.phase_name) and
(a.retention_policy_id
= r.r_object_id and a.
r_policy_id=r.retainer_
lifecycle_id) and
(r.retention_strategy_
id=c.r_object_id) and
(not(s.r_object_type
in (select r_type_name
from dmi_type_info
where any r_supertype=
'dm_folder') and
38
Completed: r_current_state
=2
Check if the version
label of the retained
object is not CURRENT
(s.r_version_label !=
CURRENT)
Enable (ROW_BASED)
is a DQL hint because
r_version_label is a
multi-valued attribute.
c.is_container_
aging=0)) and (r.
disposition_strategy_id
= d.r_object_id) and
(s.r_version_label !=
'CURRENT') order by 2
enable (ROW_BASED)
Retention
select a.r_object_id,
a.object_name,
b.object_name as
requestor_name,
a.r_object_type,
a.r_current_state,
a.requested_date,
a.send_all_together,
a.requestor_id,
a.r_policy_id,
a.shipping_location,
a.shipping_preference,
a.request_note FROM
dmc_prm_library_request
a, dmc_rps_contact
b, dm_policy p
where requestor_id
= b.r_object_id
and a.r_policy_id =
p.r_object_id and (any
(p.state_type='dmc_
prm_submitted' and
p.i_state_no=(select
r_current_state from
dmc_prm_library_request
where r_object_id=
a.r_object_id)) or
any (p.state_type=
'dmc_prm_pending' and
p.i_state_no=(select
r_current_state from
dmc_prm_library_request
where r_object_id=a.
r_object_id)) or any
(p.state_type='dmc_
prm_processed' and
p.i_state_no=(select
r_current_state from
dmc_prm_library_request
39
where r_object_id=a.r_
object_id))) order by 1
40
and p.i_state_no=(select
r_current_state from dmc_
prm_library_request where
r_object_id=a.r_object_id))
Check if there are any
objects in Processed
state. any (p.state_
type=dmc_prm_processed
and p.i_state_no=(select
r_current_state from dmc_
prm_library_request where
r_object_id=a.r_object_id)))
Retention Notification
select n.target_object_
id, s.r_object_type as
target_object_type,
n.object_name,
s.r_version_label,s.
a_content_type,
r.object_name
as policy_name,
ph.phase_name,
ac.object_name
as action_name,
n.a_last_review_date
as sent_date,
n.number_sent,
n.r_object_id as
r_object_id ,true as
action_image_enabled
from dmc_rps_phase_rel
ph, dmc_rps_
retention_policy r,
dmc_rps_action ac,
dmc_rps_notification
n, dmc_rps_action_rel
ar, dm_sysobject (all)
s where ( n.target_
object_id=s.r_object_id
) and (ph.child_id
= r.r_object_id)
and (ar.r_object_id
= n.action_rel_id
and ph.r_object_id
= ar.parent_id) and
(ac.r_object_id =
ar.child_id) and
(s.r_version_label
41
!= 'CURRENT') order by
3 enable (ROW_BASED)
42
select n.target_object_
id, s.r_object_type as
target_object_type,
n.object_name,s.
a_content_type,
ar.trigger_reason
as review_reason,
rm.object_name
as markup_name,
ac.object_name as
action_name,ar.
trigger_period as
review_period,
'NONE' as rev_period,
ar.trigger_month
as review_month,
ar.trigger_day
as review_day,
n.number_sent,
rm.r_object_id
as rm_object_id,
n.r_object_id as
r_object_id from
dmc_rps_notification
n, dmc_rps_action_rel
ar, dmc_rps_action
ac, dmc_rps_retention_
markup rm, dm_sysobject
(all) s where
(n.target_object_
id=s.r_object_id)
and (ar.r_object_id
= n.action_rel_id)
and (ac.r_object_id
= ar.child_id) and
(rm.r_object_id =
ar.parent_id) order
by 3
r_version_label is a
multi-valued attribute.
This query displays the list of
objects retained by retention
policies, which have Review
selected as a Disposition
Strategy.
This DQL specifies the
following actions:
Fetch all the objects which
must be notified
(n.target_object_id=
s.r_object_id)
Administrative Reports
Administration reports specify details to administration. This family of reports has the following
common report parameters:
Show Chart: displays chart(s) based on the position you want the chart to be displayed (Top,
Bottom). You can also choose not to display the chart by selecting Dont Display from the
drop-down list.
Note:
Registered User reports include a pie chart for graphical representation of information.
Audit Trail reports do not include pie chart.
Chart: Pie chart for displaying Count of Users by privileges.
The following table lists various OOTB reports that belong to this family of reports:
Table 4. Administrative Reports
Query
select user_name, user_
state, user_login_name,
user_privileges, 'None'
as rtext from dm_user
where user_state=0 and
user_privileges=0 union
all
Query Description
This DQL contains subqueries
that query for user details
and construct a union of the
following user privileges:
None
Create Type
select user_
name,user_state,user_
login_name,user_
privileges,'Create
Type' as rtext
from dm_user where
user_state=0 and
user_privileges=1 union
all
Create Cabinet
select user_
name,user_state,user_
login_name,user_
privileges,'Create
Cabinet' as rtext
from dm_user where
user_state=0 and
user_privileges=2 union
all
select user_name,
user_state, user_login_
name,user_privileges,
'Create Group' as
Create Group
Sysadmin
Superuser
Create Type and Create
Cabinet
43
select user_name,
user_state, user_login_
name, user_privileges,
'Create Type and
Create Cabinet' as
rtext from dm_user
where user_state=0 and
user_privileges=3 union
all
select user_name,
user_state, user_login_
name,user_privileges,
'Create Type and
Sysadmin' as rtext
from dm_user where
user_state=0 and
user_privileges=7 union
all
select user_
name,user_state,user_
login_name,user_
privileges,'Create
Type and Super User'
as rtext from dm_user
where user_state=0
and user_privileges=17
union all
44
select user_name,
user_state, user_login_
name,user_privileges,
'Create Cabinet and
Create Group' as
rtext from dm_user
where user_state=0 and
user_privileges=6 union
all
select user_name,
user_state, user_login_
name, user_privileges,
'Create Cabinet and
Sysadmin' as rtext
from dm_user where
user_state=0 and
user_privileges=10
union all
select user_
name,user_state,user_
login_name,user_
privileges,'Create
Cabinet and Superuser'
as rtext from dm_user
where user_state=0
and user_privileges=18
union all
select user_name,
user_state, user_login_
name, user_privileges,
'Create Group and
Sysadmin' as rtext
from dm_user where
user_state=0 and
user_privileges=12
union all
select user_
name,user_state,user_
login_name,user_
privileges,'Create
Group and Superuser'
as rtext from dm_user
where user_state=0
and user_privileges=20
union all
select user_name,
user_state, user_login_
45
name,user_privileges,
'Sysadmin and
Superuser' as rtext
from dm_user where
user_state=0 and
user_privileges=24
union all
select user_
name,user_state,user_
login_name,user_
privileges,'Create
Type, Create Cabinet
and Sysadmin' as
rtext from dm_user
where user_state=0 and
user_privileges=9 union
all
select user_
name,user_state,user_
login_name,user_
privileges,'Create
Type, Create Cabinet
and Superuser' as
rtext from dm_user
where user_state=0
and user_privileges=19
union all
select user_name,
user_state, user_login_
name, user_privileges,
'Create Type, Create
Cabinet, Create Group
and Sysadmin' as rtext
from dm_user where
user_state=0 and
user_privileges=15
union all
select user_
name,user_state,user_
login_name,user_
privileges,'Create
Type, Create Cabinet,
Create Group and
Super User' as rtext
from dm_user where
user_state=0 and
user_privileges=23
union all
46
select user_name,
user_state, user_login_
name, user_privileges,
'Create Type, Create
Cabinet, Create
Group,Sysadmin and
Super User' as rtext
from dm_user where
user_state=0 and
user_privileges=31
Audit Trail
select r_object_id,
event_name, user_name,
object_name,
object_type, version_
label, time_stamp,
string_1, string_2,
attribute_list from
dm_audittrail
47
48
2.
Documentum Types: These types then can be used in conjunction with more efficient DQL
queries.
3.
Database Tables: For a customer who has an enterprise wide reporting framework, it is important
to export Documentum data to a reporting environment.
49
Security
This section provides requisite information on Documentum Reporting Services security. It
comprises the following:
Access Control List, page 50
Single Sign-On Support, page 51
Securing Report Files, page 51
50
Create an ACL.
2.
3.
Attach the ACL to drs_report type. (All DRS report template files are saved, in the repository,
as drs_report type.)
All report templates of type drs_report will use ACLs associated with users.
Create an ACL.
2.
3.
Attach the ACL to a folder in which all report outputs are saved.
All objects in the folder will use the ACL associated. Documentum Administration Guide provides
more details on how to create an ACL and associate it with folders and types.
51
52
Index
A
architecture
components, 12
Java Method Server environment, 12
C
components
web components, 12
preconfigured, 17
P
preface
intended audience, 7
related documentation,
required reading, 7
R
D
DAR file
drs DAR File, 14
drs
architecture, 11
introduction, 9
prerequisites, 9
reports
data extraction, 49
data source, 49
design, 49
design, development, 17
Run time
components, 14
O
Out-of-the-box reports
53