<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Oracle Designer and Oracle SCM &#8211; Last Date Modified and querying in the ROB</title>
	<atom:link href="http://technology.amis.nl/2005/09/28/oracle-designer-and-oracle-scm-last-date-modified-and-querying-in-the-rob/feed/" rel="self" type="application/rss+xml" />
	<link>http://technology.amis.nl/2005/09/28/oracle-designer-and-oracle-scm-last-date-modified-and-querying-in-the-rob/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=oracle-designer-and-oracle-scm-last-date-modified-and-querying-in-the-rob</link>
	<description></description>
	<lastBuildDate>Fri, 12 Apr 2013 10:04:09 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
	<item>
		<title>By: Peter Wenker</title>
		<link>http://technology.amis.nl/2005/09/28/oracle-designer-and-oracle-scm-last-date-modified-and-querying-in-the-rob/#comment-2479</link>
		<dc:creator>Peter Wenker</dc:creator>
		<pubDate>Thu, 23 Mar 2006 04:11:50 +0000</pubDate>
		<guid isPermaLink="false">/?p=818#comment-2479</guid>
		<description><![CDATA[Lucas,

Thanks for posting this; I was able to use this information as a starting point to write my own (primitive but reasonably effective) set of queries.

Have you checked out sdd_version_associations? It has a date_changed column that *does* behave reasonably: it gets updated when an *existing* object is versioned. Between sdd_version_associations and I$SDD_OBJECT_VERSIONS I&#039;m able to get a pretty good picture of versioning activity, without adding a trigger anywhere.  Here&#039;s a quick report of recent versioning of existing objects:

select trunc(date_changed), count(*) from sdd_version_associations
where date_changed &gt;= trunc(sysdate - 3)
group by trunc(date_changed) order by trunc(date_changed) asc;

Also, you are probably aware of this already  but I thought I&#039;d mention the fact that Designer registers user/session information with v$session via the dbms_application_info package:

column username format a20
column module format a40
column action format a30
set linesize 99

--This works because Designer registers with v$session via the DBMS_APPLICATION_INFO package
select username, module, action from v$session where username is not null
order by username, module;

I have also found the following useful in reporting Designer activity (I use them in a LOOP):

jr_version.is_any_version_checked_out(v_irid)
jr_name.get_path_no_context(X.ivid, &#039;MAIN&#039;,&#039;VLABELTYPE&#039;,&#039;/&#039;,0);

One last thing: I&#039;ve been using I$SDD_FOLDERS instead of CI_APPLICATION_SYSTEMS.

Referencing only the things I&#039;ve posted here I&#039;ve written a primitive yet effective set of &quot;dashboard&quot; queries:

1. &quot;big picture&quot; stuff: number of elements per folder, etc.
2. who&#039;s logged into Designer and what they&#039;re currently doing
3. Current checkouts (elements and containers)
4. Recently created objects
5. Recently versioned existing objects

I&#039;ll post the whole thing if it&#039;s of interest; if not I don&#039;t want to clutter up your blog :-)

Oh - any tips for reporting on deleted elements and containers?

*Thanks again* I feel so much more secure now, because I can tell what&#039;s going on in my Repository without having to walk around and ask people!]]></description>
		<content:encoded><![CDATA[<p>Lucas,</p>
<p>Thanks for posting this; I was able to use this information as a starting point to write my own (primitive but reasonably effective) set of queries.</p>
<p>Have you checked out sdd_version_associations? It has a date_changed column that *does* behave reasonably: it gets updated when an *existing* object is versioned. Between sdd_version_associations and I$SDD_OBJECT_VERSIONS I&#8217;m able to get a pretty good picture of versioning activity, without adding a trigger anywhere.  Here&#8217;s a quick report of recent versioning of existing objects:</p>
<p>select trunc(date_changed), count(*) from sdd_version_associations<br />
where date_changed &gt;= trunc(sysdate &#8211; 3)<br />
group by trunc(date_changed) order by trunc(date_changed) asc;</p>
<p>Also, you are probably aware of this already  but I thought I&#8217;d mention the fact that Designer registers user/session information with v$session via the dbms_application_info package:</p>
<p>column username format a20<br />
column module format a40<br />
column action format a30<br />
set linesize 99</p>
<p>&#8211;This works because Designer registers with v$session via the DBMS_APPLICATION_INFO package<br />
select username, module, action from v$session where username is not null<br />
order by username, module;</p>
<p>I have also found the following useful in reporting Designer activity (I use them in a LOOP):</p>
<p>jr_version.is_any_version_checked_out(v_irid)<br />
jr_name.get_path_no_context(X.ivid, &#8216;MAIN&#8217;,'VLABELTYPE&#8217;,'/&#8217;,0);</p>
<p>One last thing: I&#8217;ve been using I$SDD_FOLDERS instead of CI_APPLICATION_SYSTEMS.</p>
<p>Referencing only the things I&#8217;ve posted here I&#8217;ve written a primitive yet effective set of &#8220;dashboard&#8221; queries:</p>
<p>1. &#8220;big picture&#8221; stuff: number of elements per folder, etc.<br />
2. who&#8217;s logged into Designer and what they&#8217;re currently doing<br />
3. Current checkouts (elements and containers)<br />
4. Recently created objects<br />
5. Recently versioned existing objects</p>
<p>I&#8217;ll post the whole thing if it&#8217;s of interest; if not I don&#8217;t want to clutter up your blog <img src='http://technology.amis.nl/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Oh &#8211; any tips for reporting on deleted elements and containers?</p>
<p>*Thanks again* I feel so much more secure now, because I can tell what&#8217;s going on in my Repository without having to walk around and ask people!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lucas</title>
		<link>http://technology.amis.nl/2005/09/28/oracle-designer-and-oracle-scm-last-date-modified-and-querying-in-the-rob/#comment-2478</link>
		<dc:creator>Lucas</dc:creator>
		<pubDate>Sun, 02 Oct 2005 21:12:02 +0000</pubDate>
		<guid isPermaLink="false">/?p=818#comment-2478</guid>
		<description><![CDATA[My previous comments appears incorrect: new columns are not feasible as some INSERT statements in core SCM code do not list column names and will therefore fail with too few values provided!

So my alternative approach is to abuse column COMMENTS in table i$sdd_object_versions that does not seem to be used at all. Use this column to keep track of the most recent change to the object version:

CREATE OR REPLACE TRIGGER I$SDD_OBJECT_VERSIONS_NOTM
BEFORE UPDATE
OF OBJ_NOTM
ON I$SDD_OBJECT_VERSIONS
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
/******************************************************************************
   NAME:       I$SDD_OBJECT_VERSIONS_NOTM
   PURPOSE:    Ensure that DATE_CHANGED is updated whenever OBJ_NOTM is updated
   REVISIONS:
   Ver        Date        Author           Description
   ---------  ----------  ---------------  ------------------------------------
   1.2        10/02/2005  Lucas            Replaced new columns with use of column COMMENTS;
                                                                  note: new columns are not feasible as some INSERT statements in core SCM code do not
                                                                  list column names and will therefore fail with too few values provided!
   1.1        10/02/2005  Lucas            Added support for new columns OBJ_DATE_CHANGED and OBJ_CHANGED_BY
   1.0        9/28/2005   Lucas            Created this trigger.
   NOTES: This is an unsupported extension to Oracle 10g SCM

******************************************************************************/ BEGIN
  :new.comments := to_char(SYSDATE,&#039;DD-MM-YYYY HH24:MI:SS&#039;)&#124;&#124;USER;
END ;
/
This allows me to see the last time the object version state was changed (merge, check in) as well as the last time the underlying Designer object itself was modified. With the previously proposed solution, I could not have discerned between the check in date and the last modified date.]]></description>
		<content:encoded><![CDATA[<p>My previous comments appears incorrect: new columns are not feasible as some INSERT statements in core SCM code do not list column names and will therefore fail with too few values provided!</p>
<p>So my alternative approach is to abuse column COMMENTS in table i$sdd_object_versions that does not seem to be used at all. Use this column to keep track of the most recent change to the object version:</p>
<p>CREATE OR REPLACE TRIGGER I$SDD_OBJECT_VERSIONS_NOTM<br />
BEFORE UPDATE<br />
OF OBJ_NOTM<br />
ON I$SDD_OBJECT_VERSIONS<br />
REFERENCING NEW AS NEW OLD AS OLD<br />
FOR EACH ROW<br />
/******************************************************************************<br />
   NAME:       I$SDD_OBJECT_VERSIONS_NOTM<br />
   PURPOSE:    Ensure that DATE_CHANGED is updated whenever OBJ_NOTM is updated<br />
   REVISIONS:<br />
   Ver        Date        Author           Description<br />
   &#8212;&#8212;&#8212;  &#8212;&#8212;&#8212;-  &#8212;&#8212;&#8212;&#8212;&#8212;  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
   1.2        10/02/2005  Lucas            Replaced new columns with use of column COMMENTS;<br />
                                                                  note: new columns are not feasible as some INSERT statements in core SCM code do not<br />
                                                                  list column names and will therefore fail with too few values provided!<br />
   1.1        10/02/2005  Lucas            Added support for new columns OBJ_DATE_CHANGED and OBJ_CHANGED_BY<br />
   1.0        9/28/2005   Lucas            Created this trigger.<br />
   NOTES: This is an unsupported extension to Oracle 10g SCM</p>
<p>******************************************************************************/ BEGIN<br />
  :new.comments := to_char(SYSDATE,&#8217;DD-MM-YYYY HH24:MI:SS&#8217;)||USER;<br />
END ;<br />
/<br />
This allows me to see the last time the object version state was changed (merge, check in) as well as the last time the underlying Designer object itself was modified. With the previously proposed solution, I could not have discerned between the check in date and the last modified date.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lucas</title>
		<link>http://technology.amis.nl/2005/09/28/oracle-designer-and-oracle-scm-last-date-modified-and-querying-in-the-rob/#comment-2477</link>
		<dc:creator>Lucas</dc:creator>
		<pubDate>Sun, 02 Oct 2005 19:09:49 +0000</pubDate>
		<guid isPermaLink="false">/?p=818#comment-2477</guid>
		<description><![CDATA[I am actually proposing to go one step further: Add columns obj_date_changed and obj_changed_by tp table i$sdd_object_versions. Then rewrite the above trigger as follows:

CREATE OR REPLACE TRIGGER I$SDD_OBJECT_VERSIONS_NOTM
BEFORE UPDATE
OF OBJ_NOTM
ON I$SDD_OBJECT_VERSIONS
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
/******************************************************************************
   NAME:       I$SDD_OBJECT_VERSIONS_NOTM
   PURPOSE:    Ensure that DATE_CHANGED is updated whenever OBJ_NOTM is updated
   REVISIONS:
   Ver        Date        Author           Description
   ---------  ----------  ---------------  ------------------------------------
   1.1        10/02/2005  Lucas            Added support for new columns OBJ_DATE_CHANGED and OBJ_CHANGED_BY
   1.0        9/28/2005   Lucas            Created this trigger.
   NOTES: This is an unsupported extension to Oracle 10g SCM

******************************************************************************/ BEGIN
  :new.OBJ_DATE_CHANGED := SYSDATE;
  :new.OBJ_CHANGED_BY := USER;
END ;
/
This allows me to see the last time the object version state was changed (merge, check in) as well as the last time the underlying Designer object itself was modified. With the previously proposed solution, I could not have discerned between the check in date and the last modified date.]]></description>
		<content:encoded><![CDATA[<p>I am actually proposing to go one step further: Add columns obj_date_changed and obj_changed_by tp table i$sdd_object_versions. Then rewrite the above trigger as follows:</p>
<p>CREATE OR REPLACE TRIGGER I$SDD_OBJECT_VERSIONS_NOTM<br />
BEFORE UPDATE<br />
OF OBJ_NOTM<br />
ON I$SDD_OBJECT_VERSIONS<br />
REFERENCING NEW AS NEW OLD AS OLD<br />
FOR EACH ROW<br />
/******************************************************************************<br />
   NAME:       I$SDD_OBJECT_VERSIONS_NOTM<br />
   PURPOSE:    Ensure that DATE_CHANGED is updated whenever OBJ_NOTM is updated<br />
   REVISIONS:<br />
   Ver        Date        Author           Description<br />
   &#8212;&#8212;&#8212;  &#8212;&#8212;&#8212;-  &#8212;&#8212;&#8212;&#8212;&#8212;  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
   1.1        10/02/2005  Lucas            Added support for new columns OBJ_DATE_CHANGED and OBJ_CHANGED_BY<br />
   1.0        9/28/2005   Lucas            Created this trigger.<br />
   NOTES: This is an unsupported extension to Oracle 10g SCM</p>
<p>******************************************************************************/ BEGIN<br />
  :new.OBJ_DATE_CHANGED := SYSDATE;<br />
  :new.OBJ_CHANGED_BY := USER;<br />
END ;<br />
/<br />
This allows me to see the last time the object version state was changed (merge, check in) as well as the last time the underlying Designer object itself was modified. With the previously proposed solution, I could not have discerned between the check in date and the last modified date.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
