<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Technovolve</title>
	<atom:link href="http://blog.technovolve.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.technovolve.com</link>
	<description>Where technology evolves</description>
	<lastBuildDate>Fri, 19 Jun 2009 13:57:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Deleted document participating in a workflow</title>
		<link>http://blog.technovolve.com/2008/10/29/deleted-document-participating-in-a-workflow/</link>
		<comments>http://blog.technovolve.com/2008/10/29/deleted-document-participating-in-a-workflow/#comments</comments>
		<pubDate>Wed, 29 Oct 2008 16:52:40 +0000</pubDate>
		<dc:creator>Sarath Akkineni</dc:creator>
				<category><![CDATA[DCTM]]></category>

		<guid isPermaLink="false">http://blog.technovolve.com/?p=24</guid>
		<description><![CDATA[Many of you would have already encountered this issue dealing with workflows in Documentum. Deleted documents in a workflow can be an administrative nightmare! Documentum does not gracefully handle deleted documents participating in a workflow. The following errors are encountered when users try to complete tasks with deleted documents in them: [DM_WORKFLOW_E_MANU_PACKAGE]error:  &#8221;Failed to manufacture [...]]]></description>
			<content:encoded><![CDATA[<p>Many of you would have already encountered this issue dealing with workflows in Documentum. Deleted documents in a workflow can be an administrative nightmare! Documentum does not gracefully handle deleted documents participating in a workflow.</p>
<p>The following errors are encountered when users try to complete tasks with deleted documents in them:</p>
<p>[DM_WORKFLOW_E_MANU_PACKAGE]error:  &#8221;Failed to manufacture packages for activity Review (20) of workflow (<strong>4dxxxxxxx0002500</strong>).&#8221;</p>
<p>[DM_WORKFLOW_E_BINDING_PACKAGE]error:  &#8221;Package binding failed because no object could be identified by package ID (<strong>09xxxxxxx000b3a9</strong>) with package label CURRENT.&#8221;</p>
<p>4d01817c80002500 &#8211; Identifies the workflow in progress and</p>
<p>0901817c8000b3a9 &#8211; Identifies the document that was deleted</p>
<p>The following procedures can be followed to handle this issue:</p>
<p><strong><span style="text-decoration: underline;">Procedure 1:</span></strong></p>
<p class="MsoNormal" style="margin-bottom: 12pt;">This procedure is executed strictly using Documentum DQL and API with no direct updates to the database.</p>
<ul type="disc">
<li class="MsoNormal" style="margin-bottom: 12pt;">Removing the packages      affected from the work items</li>
<li class="MsoNormal" style="margin-bottom: 12pt;">Add existing documents into      new packages</li>
<li class="MsoNormal" style="margin-bottom: 12pt;">Attach the package to the      work items</li>
<li class="MsoNormal" style="margin-bottom: 12pt;">Attach the existing comments      (notes) to the packages</li>
</ul>
<ol type="1">
<li class="MsoNormal" style="margin-bottom: 12pt;">Get the workitem detailsselect wi.r_object_id from dmi_workitem wi, dm_activity act where      wi.r_workflow_id=&#8217;4d01817c80002500&#8242; and act.object_name = &#8216;&lt;name of the      task that &gt;&#8217; and wi.r_act_def_id = act.r_object_id</li>
<li class="MsoNormal">Get the package details and</li>
</ol>
<p>select r_object_id, r_component_id, r_note_id, r_package_name, r_package_type, r_port_name, r_note_flag from dmi_package WHERE r_object_id IN (select pack.r_object_id from dmi_workitem wi, dm_activity act, dmi_package pack where wi.r_workflow_id=&#8217;4d01817c80002500&#8242; and act.object_name = &#8216;OPS Review&#8217; and wi.r_act_def_id = act.r_object_id and pack.r_workflow_id = wi.r_workflow_id and pack.r_act_seqno = wi.r_act_seqno)</p>
<p>Remove the package<br />
removepackage,c,4a01817c80002d04,&#8217;DocumentPackage&#8217;</p>
<p>addpackage,c,4a01817c80002d04,&#8217;DocumentPackage&#8217;,'gf_document&#8217;,&#8217;0901817c8000b3c0,0901817c8000b3a9,0901817c8000b53d&#8217;</p>
<p>addnote,c,4101817c8000bd13,4901817c80002d0b</p>
<p><strong><span style="text-decoration: underline;">Procedure 2: </span></strong></p>
<p class="MsoNormal"><span style="color: black;">This procedure involves retrieving all the packages that contain the deleted document and updating the database. </span></p>
<p class="MsoNormal"><span style="color: black;">Execute the following DQL statements: </span></p>
<ol type="1">
<li class="MsoNormal" style="color: black;">Retrieve the Chronicle      ID of the document deleted.SELECT DISTINCT r_component_chron_id FROM dmi_package WHERE ANY r_component_id      = &#8216;<strong><em>09xxxxxxx000b3a9</em></strong>&#8216;<br />
<!--[if !supportLineBreakNewLine]--><br />
<!--[endif]--></li>
<li class="MsoNormal" style="color: black;">Review the state of the      workflow and gather the list of activity sequence numbers of the packages      and the list of work items that need to be cleaned up.SELECT wi.r_object_id, act.object_name, wi.r_act_seqno, pack.r_object_id FROM      dmi_workitem wi, dm_activity act, dmi_package pack WHERE      wi.r_workflow_id=&#8217;<strong><em>4dxxxxxxx0002500</em></strong>&#8216;      AND wi.r_act_def_id = act.r_object_id AND pack.r_workflow_id =      wi.r_workflow_id AND pack.r_act_seqno = wi.r_act_seqno<br />
<!--[if !supportLineBreakNewLine]--><br />
<!--[endif]--></li>
<li class="MsoNormal" style="color: black;">Query the packages that      need to be cleaned up using the list of activity sequence numbers and the      chronicle ID of the document retrieved above.SELECT pack.r_object_id FROM dmi_workitem wi, dm_activity act,      dmi_package pack WHERE wi.r_workflow_id=&#8217;<strong><em>4dxxxxxxx0002500</em></strong>&#8216; AND wi.r_act_def_id =      act.r_object_id AND pack.r_workflow_id = wi.r_workflow_id AND      pack.r_act_seqno = wi.r_act_seqno AND wi.r_act_seqno IN (<em><strong>list of      activity sequence numbers retrieved above</strong></em>) AND ANY      pack.r_component_chron_id = &#8216;<em><strong>Chronicle ID retrieved above</strong></em>&#8216;</li>
</ol>
<p class="MsoNormal"><strong><span style="font-weight: normal; color: black;">The r_component_id and r_component_chronicle_id in the package play the following roles:</span></strong></p>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="color: black;"><strong><span style="font-weight: normal;">r_component_id is      used by Documentum Webtop to list all the documents in the package</span></strong></li>
<li class="MsoNormal" style="color: black;"><strong><span style="font-weight: normal;">r_component_chron_id      is used by the Documentum Webtop to group workflow comments displayed in      the task manager</span></strong></li>
</ul>
<p class="MsoNormal"><strong><span style="font-weight: normal; color: black;">Both these attributes need to be updated to NULL for Documentum Webtop to process the workflow without any problems. </span></strong></p>
<p class="MsoNormal"><strong><span style="font-weight: normal; color: black;">Execute the following SQL statements on the database:</span></strong><strong></strong></p>
<ol type="1">
<li class="MsoNormal" style="color: black;">Update the package list      retrieved aboveUPDATE dmi_package_r<br />
SET r_component_id = NULL, r_component_chron_id = NULL<br />
WHERE<br />
r_object_id IN (<em><strong>List of Package IDs retrieved above</strong></em>)<br />
AND r_component_chron_id = &#8216;<em><strong>Chronicle ID retrieved above</strong></em>&#8216;</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.technovolve.com/2008/10/29/deleted-document-participating-in-a-workflow/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Intelligent Documents</title>
		<link>http://blog.technovolve.com/2008/01/24/intelligent-documents/</link>
		<comments>http://blog.technovolve.com/2008/01/24/intelligent-documents/#comments</comments>
		<pubDate>Thu, 24 Jan 2008 19:00:17 +0000</pubDate>
		<dc:creator>Sarath Akkineni</dc:creator>
				<category><![CDATA[ECM]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://blog.technovolve.com/?p=16</guid>
		<description><![CDATA[Many ECM vendors have tried integrating their systems with Microsoft Office Applications, building custom plug-ins, and add-ons to have users work with content/meta-data from the office applications. This was the only feasible solution with pre-Office 2003 limitations to develop intelligent documents. With Microsoft Office 2007 (MOSS), Microsoft offers a framework which is more usuable and [...]]]></description>
			<content:encoded><![CDATA[<p>Many ECM vendors have tried integrating their systems with Microsoft Office Applications, building custom plug-ins, and add-ons to have users work with content/meta-data from the office applications. This was the only feasible solution with pre-Office 2003 limitations to develop intelligent documents.</p>
<p>With Microsoft Office 2007 (MOSS), Microsoft offers a framework which is more usuable and in-line with the business needs.  Intelligent documents can be developed in organizations using the following features:</p>
<ul>
<li>InfoPath 2007 extended capabilities</li>
<li>Visual Studio support for Office Applications</li>
<li>Document Information Panels</li>
<li>Custom Task Pane (CTP)</li>
<li>Custom Ribbons</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.technovolve.com/2008/01/24/intelligent-documents/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing multiple Apache Tomcat instances for WDK Applications</title>
		<link>http://blog.technovolve.com/2007/12/21/installing-multiple-apache-tomcat-instances-for-wdk-applications/</link>
		<comments>http://blog.technovolve.com/2007/12/21/installing-multiple-apache-tomcat-instances-for-wdk-applications/#comments</comments>
		<pubDate>Fri, 21 Dec 2007 20:49:53 +0000</pubDate>
		<dc:creator>Sarath Akkineni</dc:creator>
				<category><![CDATA[DCTM]]></category>
		<category><![CDATA[ECM]]></category>

		<guid isPermaLink="false">http://blog.technovolve.com/?p=15</guid>
		<description><![CDATA[Let us assume that an Apache Tomcat instance (Tomcat1) is currently installed as a windows service on an application server that uses port 80. There is a need to launch another Apache Tomcat instance (Tomcat2) as a windows service that uses port 7001.    The following steps need to be performed: Download the Tomcat deployment package [...]]]></description>
			<content:encoded><![CDATA[<p>Let us assume that an Apache Tomcat instance (Tomcat1) is currently installed as a windows service on an application server that uses port 80. There is a need to launch another Apache Tomcat instance (Tomcat2) as a windows service that uses port 7001.   </p>
<p>The following steps need to be performed:</p>
<ol>
<li>Download the Tomcat deployment package and extract it onto the application server, say <em>C:\jakarta-tomcat-5.0.28 (Tomcat2)</em></li>
<li>Modify the <em>server.xml (Tomcat2)</em> changing the port numbers making sure they do not colliode with the port numbers specified in <em>server.xml (Tomcat1)</em></li>
<li>Create a environment variable <em>CATALINA_HOME2=C:\jakarta-tomcat-5.0.28</em></li>
<li>Modify the Tomcat startup/shutdown scripts to change the <em>CATALINA_HOME</em> to <em>CATALINA_HOME2</em></li>
<li>Install the windows service using the following command:<br />
<blockquote><p>Tomcat5.exe //IS//Tomcat51 &#8211;StartClass org.apache.catalina.startup.Bootstrap &#8211;StopClass org.apache.catalina.startup.Bootstrap &#8211;StartParams &#8220;-config;C:\jakarta-tomcat-5.0.28\conf\server.xml;start&#8221; &#8211;StopParams stop &#8211;StartMode jvm &#8211;StopMode jvm &#8211;Startup Manual &#8211;Description &#8220;Another Tomcat Instance&#8221; &#8211;DisplayName &#8220;Apache Tomcat51&#8243; &#8211;JvmOptions &#8220;-Dcatalina.home=C:\jakarta-tomcat-5.0.28;-Djava.endorsed.dirs=C:\jakarta-tomcat-5.0.28\common\endorsed;-Djava.io.tmpdir=C:\jakarta-tomcat-5.0.28;-Djava.library.path=C:\Program Files\Documentum\shared&#8221; &#8211;LogPath &#8220;C:\jakarta-tomcat-5.0.28\logs&#8221; &#8211;LogPrefix &#8220;tomcat51_&#8221; &#8211;StdOutput &#8220;C:\jakarta-tomcat-5.0.28\logs\Tomcat51_out.log&#8221; &#8211;StdError &#8220;C:\jakarta-tomcat-5.0.28\logs\Tomcat51_err.log&#8221; &#8211;Jvm &#8220;C:\j2sdk1.4.2_05\jre\bin\server\jvm.dll&#8221; &#8211;JvmSs 256KB &#8211;JvmMx 128MB &#8211;JvmMs 256MB &#8211;JavaHome &#8220;C:\j2sdk1.4.2_05\jre&#8221; &#8211;Classpath &#8220;C:\jakarta-tomcat-5.0.28\bin\bootstrap.jar;C:\Documentum\config&#8221;</p></blockquote>
</li>
<li>Install the WDK applications</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.technovolve.com/2007/12/21/installing-multiple-apache-tomcat-instances-for-wdk-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deleting a user from the Documentum repository</title>
		<link>http://blog.technovolve.com/2007/09/28/deleting-a-user-from-the-documentum-repository/</link>
		<comments>http://blog.technovolve.com/2007/09/28/deleting-a-user-from-the-documentum-repository/#comments</comments>
		<pubDate>Fri, 28 Sep 2007 15:22:58 +0000</pubDate>
		<dc:creator>Sarath Akkineni</dc:creator>
				<category><![CDATA[DCTM]]></category>

		<guid isPermaLink="false">http://blog.technovolve.com/?p=6</guid>
		<description><![CDATA[Deleting a user from the repository is highly not recommended Prior to deleting an user from the repository, the ownership of all the objects owned by the user needs to be changed When a user is deleted from the repository, his memberships in groups and permission sets are not effected. The memberships need to be [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li>Deleting a user from the repository is highly not recommended</li>
<li>Prior to deleting an user from the repository, the ownership of all the objects owned by the user needs to be changed</li>
<li>When a user is deleted from the repository, his memberships in groups and permission sets are not effected. The memberships need to be altered by using DQL and API</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.technovolve.com/2007/09/28/deleting-a-user-from-the-documentum-repository/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DQL to uninstall Workflows</title>
		<link>http://blog.technovolve.com/2007/09/12/dql-to-uninstall-workflows/</link>
		<comments>http://blog.technovolve.com/2007/09/12/dql-to-uninstall-workflows/#comments</comments>
		<pubDate>Wed, 12 Sep 2007 18:45:35 +0000</pubDate>
		<dc:creator>Sarath Akkineni</dc:creator>
				<category><![CDATA[DCTM]]></category>
		<category><![CDATA[ECM]]></category>

		<guid isPermaLink="false">http://blog.technovolve.com/?p=5</guid>
		<description><![CDATA[Retrieve the workflow that needs to be uninstalled SELECT r_object_id, object_name, r_definition_state FROM dm_process WHERE object_name = &#8216;&#60;Name of Workflow&#62;&#8216; Change the definition of the workflow to DRAFT (0 = Draft) UPDATE dm_process OBJECT SET r_definition_state = 0 WHERE r_object_id = &#8216;&#60;r_object_id retrieved in step 1&#62;&#8216; Change the definition of the activities corresponding the above [...]]]></description>
			<content:encoded><![CDATA[<ol>
<li>Retrieve the workflow  that needs to be uninstalled<br />
<blockquote><p>SELECT r_object_id, object_name, r_definition_state FROM <strong>dm_process</strong> WHERE object_name = &#8216;<em>&lt;Name of Workflow&gt;</em>&#8216;</p></blockquote>
</li>
<li>Change the  definition of the workflow to DRAFT <em>(0 = Draft)<br />
</em></p>
<blockquote><p>UPDATE <strong>dm_process</strong> OBJECT SET r_definition_state = 0 WHERE r_object_id = &#8216;<em>&lt;r_object_id retrieved in step 1&gt;</em>&#8216;</p></blockquote>
</li>
<li>Change the definition of the activities corresponding the above workflow to DRAFT <em>(0 = Draft)<br />
</em></p>
<blockquote><p>UPDATE <strong>dm_activity</strong> OBJECT SET r_definition_state = 0 WHERE r_object_id IN (SELECT r_object_id FROM dm_activity WHERE r_object_id IN (SELECT r_act_def_id FROM dm_process WHERE r_object_id = &#8216;<em>&lt;r_object_id retrieved in step 1&gt;</em>&#8216;))</p></blockquote>
</li>
<li>Verify that all activities are in the DRAFT state<br />
<blockquote><p>SELECT object_name, r_definition_state FROM <strong>dm_activity</strong> WHERE r_object_id IN (SELECT r_act_def_id FROM dm_process WHERE r_object_id = &#8216;<em>&lt;r_object_id retieved in step 1&gt;</em>&#8216;)</p></blockquote>
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.technovolve.com/2007/09/12/dql-to-uninstall-workflows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Install DCTM on Ubuntu</title>
		<link>http://blog.technovolve.com/2007/07/27/install-dctm-on-ubuntu/</link>
		<comments>http://blog.technovolve.com/2007/07/27/install-dctm-on-ubuntu/#comments</comments>
		<pubDate>Fri, 27 Jul 2007 15:02:37 +0000</pubDate>
		<dc:creator>Sarath Akkineni</dc:creator>
				<category><![CDATA[ECM]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://blog.technovolve.com/?p=4</guid>
		<description><![CDATA[Finally got Documentum successfully installed on an Ubuntu platform. The Content Server software got installed with no issues. Keep in mind to run the dm_root_task before configuring any repositories When configuring a new repository, the installation fails to execute the scripts after creating the database for the repository. Failure &#8211; Authentication failure for the repository [...]]]></description>
			<content:encoded><![CDATA[<p>Finally got Documentum successfully installed on an Ubuntu platform.</p>
<ul>
<li>The Content Server software got installed with no issues.</li>
<li>Keep in mind to run the dm_root_task before configuring any repositories</li>
</ul>
<p>When configuring a new repository, the installation fails to execute the scripts after creating the database for the repository. Failure &#8211; Authentication failure for the repository owner with a blank password. Follow the following steps to turn off authentication, until the repository is successfully installed:</p>
<ol>
<li>Change directory to the Documentum dba location ($DOCUMENTUM/dba in a default installation):<br />
<blockquote><p>cd $DOCUMENTUM/dba</p></blockquote>
</li>
<li>Create a script that will be called by the server to validate passwords and always return success. Create a file named &#8216;dm_nocheck_password&#8217; with the following lines:<br />
<blockquote><p>#!/bin/sh<br />
exit 0</p></blockquote>
</li>
<li>Change permissions on this file so it is executable and read/write by the dmadmin account:<br />
<blockquote><p>chmod 4750 dm_nocheck_password</p></blockquote>
</li>
<li>If the headstar.dql, formats.dql and wsconfig.api script have been executed (or a custom version of them) then skip to the next step. Otherwise, execute these scripts now. The script &#8216;dm_apply_headstart&#8217; in DOCMENTUM/dba/config/<docbase_name></docbase_name> will execute all three. If you cannot connect to the docbase, log into the UNIX host machine directly as the docbase owner. You will then not have to supply a password for IDQL or IAPI since you already did logging into the server.</li>
<li>In IDQL execute the following DQL as the Docbase owner or dmadmin superuser:# Substitute in the full path for the file_system_path directory<br />
<blockquote><p>create dm_location object<br />
set object_name=&#8217;novalidate_user&#8217;,<br />
set path_type=&#8217;file&#8217;,<br />
set file_system_path=&#8217;&lt;file_system_path&gt;/dba/dm_nocheck_password&#8217;<br />
goupdate dm_server_config object<br />
set user_validation_location = &#8216;novalidate_user&#8217;<br />
goexec reinit<br />
go</p></blockquote>
</li>
<li>This changes the user validation location in the server config object to point to a new location object which is the file we created in step 2.</li>
</ol>
<p>To turn the password validation back on, do the following:</p>
<ol>
<li>In IDQL execute the following DQL as the Docbase owner or dmadmin superuser:<br />
<blockquote><p>update dm_server_config object<br />
set user_validation_location = &#8216;validate_user&#8217;<br />
goexec reinit<br />
go</p></blockquote>
</li>
</ol>
<p><font color="red">Note: Sometimes the validation does not work as expected! You will have to keep logging into the repository using IDQL or IAPI so you could keep a session active for the installer to use. Try re-executing the scripts until success.</font></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.technovolve.com/2007/07/27/install-dctm-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>SAS 70 in ECM World</title>
		<link>http://blog.technovolve.com/2007/07/17/sas-70-in-ecm-world/</link>
		<comments>http://blog.technovolve.com/2007/07/17/sas-70-in-ecm-world/#comments</comments>
		<pubDate>Tue, 17 Jul 2007 20:31:04 +0000</pubDate>
		<dc:creator>Sarath Akkineni</dc:creator>
				<category><![CDATA[Compliance]]></category>
		<category><![CDATA[ECM]]></category>

		<guid isPermaLink="false">http://blog.technovolve.com/?p=3</guid>
		<description><![CDATA[Statement on Auditing Standards (SAS) No. 70, Service Organizations, is a widely recognized auditing standard developed by the American Institute of Certified Public Accountants (AICPA).Â Service organizations or service providers must demonstrate that they have adequate controls and safeguards when they host or process data belonging to their customers. The issuance of a service auditor&#8217;s report [...]]]></description>
			<content:encoded><![CDATA[<p>Statement on Auditing Standards (SAS) No. 70, <em>Service Organizations,</em> is a widely recognized auditing standard developed by the American Institute of Certified Public Accountants (AICPA).Â Service organizations or service providers must demonstrate that they have adequate controls and safeguards when they host or process data belonging to their customers.</p>
<ul>
<li>The issuance of a service auditor&#8217;s report prepared in accordance with SAS No. 70 signifies that a service organization has had its control objectives and control activities examined by an independent accounting and auditing firm.</li>
<li>SAS No. 70 provides guidance to enable an independent auditor (&#8220;service auditor&#8221;) to issue an opinion on a service organization&#8217;s description of controls through a Service Auditor&#8217;s Report.</li>
<li>SAS No. 70 is generally applicable when an independent auditor (&#8220;user auditor&#8221;) is planning the financial statement audit of an entity (&#8220;user organization&#8221;) that obtains services from another organization (&#8220;service organization&#8221;).</li>
</ul>
<p>In addition, the requirements of Section 404 of the Sarbanes-Oxley Act of 2002 make SAS 70 audit reports even more important to the process of reporting on the effectiveness of internal control over financial reporting.</p>
<p>Source: <a href="http://www.sas70.com/">http://www.sas70.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.technovolve.com/2007/07/17/sas-70-in-ecm-world/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

