<?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>Navigo HR News &#187; technology</title>
	<atom:link href="http://news.navigo.com.au/hr/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://news.navigo.com.au</link>
	<description>Supporting Australasian HR with the latest news on HR technology and processes.</description>
	<lastBuildDate>Sun, 13 Nov 2011 23:59:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Bulking up your PL/SQL</title>
		<link>http://news.navigo.com.au/2010/09/bulking-up-your-plsql/</link>
		<comments>http://news.navigo.com.au/2010/09/bulking-up-your-plsql/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 23:31:36 +0000</pubDate>
		<dc:creator>Matt Barker</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[plsql]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://news.navigo.com.au/?p=944</guid>
		<description><![CDATA[You don’t know what you don’t know. It’s one of those annoyingly obvious statements people will often say when you’ve discovered something new that you had no idea existed. In the vast world of Oracle, this can often be the case. I had this exact same situation recently during a data conversion process. I needed [...]]]></description>
			<content:encoded><![CDATA[<p>You don’t know what you don’t know. It’s one of those annoyingly obvious statements people will often say when you’ve discovered something new that you had no idea existed. In the vast world of Oracle, this can often be the case.</p>
<p>I had this exact same situation recently during a data conversion process. I needed a way to insert all the good records into a table, and identify those that failed.</p>
<p>My initial approach was to place the inserts in a for loop, wrapping the insert statement in its own block. When an exception is raised, it will be recorded and control will pass to the encompassing block allowing the loop to continue:</p>
<pre>For i in 1..pi_employee_data.last loop
  Begin
    Insert into new_employees values pi_employee_data(i);
  Exception
    When others then
      dbms_output.put_line('Insert data '||SQLERRM
                           ||' Employee#'||pi_employee_data(i).employee_id);
  End;

End loop;

commit;</pre>
<p>Now, this is all well and good. But what if you want to stick to “best practice” and use bulk statements. I’d been making use of collections, so using a forall statement seemed a better approach. Problem being, you can’t wrap the insert statement into its own SQL block. This is where SQL%BULK_EXCEPTIONS comes in.</p>
<p>Note the addition of ‘save exceptions’ to the following forall statement. If any exceptions are encountered when inserting into the new_employees table, they will be saved to the SQL%BULK_EXCEPTIONS object. Only when the forall statement is finished will the exception handler be called. We’re then free to extract any data regarding the particular record that caused the exception.</p>
<pre>function insert_data (pi_employee_data in employee_records)
  return varchar2 is

  l_no_errors number;
  dml_errors  exception;

  PRAGMA EXCEPTION_INIT(dml_errors, -24381);

begin

  forall i in 1..pi_employee_data.count save exceptions
      insert into new_employees values pi_employee_data(i);

  commit;

exception
    when dml_errors then
      l_no_errors := SQL%BULK_EXCEPTIONS.count;
      for i in 1 .. l_no_errors loop
        dbms_output.put_line('Bulk insert error: '||
           SQLERRM(-1 * SQL%BULK_EXCEPTIONS(i).ERROR_CODE)||
           ' Employee:'||
           pi_employee_data(SQL%BULK_EXCEPTIONS(i).ERROR_INDEX).employee_id);
      end loop;

    when others then
      dbms_output.put_line('Error:'||SQLERRM||
         ' '||dbms_utility.format_error_backtrace);

end;</pre>
<p>As mentioned in a recent article by <a href="http://www.oracle-base.com/blog/2010/08/09/learn-to-search-the-oracle-docs/">Tim Place</a>, knowing the problem is one thing, knowing where to find the solution is the other. Using the <a href="http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14261/tuning.htm#i49099">Oracle documentation</a> and having an idea which keywords to use when looking for a solution makes problems such as the above that much easier.</p>
<p>Conincidently, SQL%BULK_EXCEPTIONS also made an appearance in one of Steve Feuerstein&#8217;s talks at the recent InSync conference in Melbourne. As anyone who&#8217;s seen Steve before will know, collections and bulk operations should be two of the staples of any piece of PL/SQL code you write. Now with SQL%BULK_EXCEPTIONS, you&#8217;ll be able to use them much more effectively.</p>
]]></content:encoded>
			<wfw:commentRss>http://news.navigo.com.au/2010/09/bulking-up-your-plsql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle Application Server Timezone Changes &#8211; No time like the present</title>
		<link>http://news.navigo.com.au/2009/11/oracle-application-server-timezone-changes/</link>
		<comments>http://news.navigo.com.au/2009/11/oracle-application-server-timezone-changes/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 22:15:42 +0000</pubDate>
		<dc:creator>Matt Barker</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Alesco]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://news.navigo.com.au/?p=450</guid>
		<description><![CDATA[Have you ever had trouble with daylight savings? No, I&#8217;m not talking about sleeping in and being an hour late for work. Have you ever had your system show the wrong time, scheduled jobs in Alesco or Oracle not run when they&#8217;re meant to, or seen conflicting reports of what the current time is in [...]]]></description>
			<content:encoded><![CDATA[<p>Have you ever had trouble with daylight savings? No, I&#8217;m not talking about sleeping in and being an hour late for work.</p>
<p>Have you ever had your system show the wrong time, scheduled jobs in Alesco or Oracle not run when they&#8217;re meant to, or seen conflicting reports of what the current time is in different applications on the one system?</p>
<p>Well, I did recently while administering one of our client&#8217;s Alesco environments. The trace outputs for their Alesco reports were showing conflicting runtimes. Surprise, surprise there was an hour difference, and daylight savings was to blame.</p>
<p>Off the top of my head, there were only two places the times could be incorrect:</p>
<ul>
<li>on the database, and</li>
<li>on the application server</li>
</ul>
<p>So, I logged in and checked the database time. All good on that front.<br />
Next, I logged into the application server and checked the system time. That was correct as well. </p>
<p>It seemed that my assumption was incorrect, there was a third place the time could be incorrect, in the Oracle Application Server software. A quick visit to the Oracle Application Server Control Console confirmed this. It turns out the Oracle Application Server software doesn&#8217;t use the underlying system&#8217;s timezone settings.</p>
<p>Metalink, the Oracle forums and Google were the next ports of call. After a lot of digging (the majority of timezone information I came across dealt with Oracle Databases, not Oracle Application Servers), I discovered that the problem was not specifically with Oracle. Both the Oracle Application Server Control Console and the Oracle Reports Server are Java apps, and it was the Java Runtimes they were using that were causing the timezone issue.</p>
<p>Java (along with Unix/Linux) measures time in milliseconds from January 1st 1970. Once this number has been converted into a human readable time, the timezone adjustments are applied. In Unix/Linux, these timezone settings can be found under /usr/share/zoneinfo (or /usr/share/lib/zoneinfo on some systems). However Java won&#8217;t use this system timezone database, it uses it&#8217;s own.</p>
<p>Inside your Oracle home, there are a number of java executables. Executing <i>java -version</i> told me I was on 1.4.2_12. A quick comparison with the <a href="http://java.sun.com/javase/timezones/tzdata_versions.html" rel="nofollow">Java Timezone Data Versions</a> showed this release did not include the Australian 2008 timezone changes. Luckily Sun provides the <a href="http://java.sun.com/javase/tzupdater_README.html#remove" rel="nofollow">Timezone Updater Tool</a> to bring us up to speed.</p>
<p>Once you&#8217;ve downloaded and unzipped the tool, you can update a single JRE/JDK with the following command:</p>
<pre>&gt; java -jar tupdater.jar -U -v</pre>
<p>This assumes the java executable is in the home you want to update (type <i>which java</i> to check)</p>
<p>As I said, there&#8217;s multiple JRE/JDK homes in the Oracle Application Server homes, so why not update them all at the one time:</p>
<pre>&gt; /usr/bin/find DIRPATH -fstype nfs -prune -o -fstype autofs -prune
-o -name java -print -exec {} -jar /ABSOLUTEPATH/tzupdater.jar -u \;</pre>
<p>Then it was just a matter of bouncing the Oracle processes again. </p>
<p>Ta-da, the times are now correct.</p>
<p><i><b>Note</b><br />
I did receive a number of warnings when updating the timezone. It turns out they were Solaris specific and could be ignored, eg:</p>
<p><b>Q.</b><br />
I get the following message after running the TZ Updater Tool v1.1.0 on Solaris, what does it mean?<br />
<b><br />
/jre/bin/java not directly found in contents file, no package resolution performed.<br />
(May not be in PKG form, not an absolute path, or is a symlink.)<br />
</b><br />
<b>A.</b><br />
This message indicates that the JDK/JRE software just updated was not part of a Solaris package. No step was necessary to update the OS with the fact that files under package management have changed, that is, jre/lib/zi directory contents. The update of the timezone data has been successful in this case.</i></p>
]]></content:encoded>
			<wfw:commentRss>http://news.navigo.com.au/2009/11/oracle-application-server-timezone-changes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Future of HR Technology?</title>
		<link>http://news.navigo.com.au/2009/06/the-future-of-hr-technology/</link>
		<comments>http://news.navigo.com.au/2009/06/the-future-of-hr-technology/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 23:16:00 +0000</pubDate>
		<dc:creator>Peter Forbes</dc:creator>
				<category><![CDATA[Navigo]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://news.navigo.com.au/2009/06/hr/131/</guid>
		<description><![CDATA[Did you know that the top 10 in-demand jobs in 2010 did not exist in 2004? Play the video below for that and many other thoughts on the future of HR technology in our rapidly changing world&#8230;]]></description>
			<content:encoded><![CDATA[<p>Did you know that the top 10 in-demand jobs in 2010 did not exist in 2004? Play the video below for that and many other thoughts on the future of HR technology in our rapidly changing world&#8230;</p>
<p><object width="556" height="453"><param name="movie" value="http://youtube.com/v/pB60LhJMd24"></param><embed src="http://youtube.com/v/pB60LhJMd24" type="application/x-shockwave-flash" width="556" height="453"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://news.navigo.com.au/2009/06/the-future-of-hr-technology/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Business Process Improvement with Alesco</title>
		<link>http://news.navigo.com.au/2007/04/business-process-improvement-using-alesco-and-oracle/</link>
		<comments>http://news.navigo.com.au/2007/04/business-process-improvement-using-alesco-and-oracle/#comments</comments>
		<pubDate>Tue, 03 Apr 2007 03:07:43 +0000</pubDate>
		<dc:creator>Rod Bishop</dc:creator>
				<category><![CDATA[HRIS]]></category>
		<category><![CDATA[Alesco]]></category>
		<category><![CDATA[HR]]></category>
		<category><![CDATA[process improvement]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://news.navigo.com.au/?p=38</guid>
		<description><![CDATA[Overview Organisations face increasing demand to automate complex business processes that span multiple back office systems and can adapt to change. Historically deploying complex workflows was tough &#8211; developing interfaces, customising the application, and developing software to schedule and monitor the process. If the process changed, this required more effort&#8230; Fortunately Oracle has solutions for [...]]]></description>
			<content:encoded><![CDATA[<h3>Overview</h3>
<p>Organisations face increasing demand to automate complex business processes that span multiple back office systems and can adapt to change. Historically deploying complex workflows was tough &#8211; developing interfaces, customising the application, and developing software to schedule and monitor the process. If the process changed, this required more effort&#8230;</p>
<p>Fortunately Oracle has solutions for integrating applications to manage complex processes.</p>
<p>Talent2&#8242;s Alesco HRIS provides an inbuilt workflow solution to cater for the common business transaction process flow. Customers often require tailored process solutions that suit their individual business requirements. The use of additional Workflow products allow customers to tailor the Workflow process without the need for customizations.</p>
<p>This white paper looks at the two major business process management tools from Oracle and how they can be used with Alesco&#8217;s Web Kiosk.</p>
]]></content:encoded>
			<wfw:commentRss>http://news.navigo.com.au/2007/04/business-process-improvement-using-alesco-and-oracle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alesco and Linux &#8211; A winning combination</title>
		<link>http://news.navigo.com.au/2004/07/alesco-and-linux-a-winning-combination/</link>
		<comments>http://news.navigo.com.au/2004/07/alesco-and-linux-a-winning-combination/#comments</comments>
		<pubDate>Tue, 13 Jul 2004 18:44:10 +0000</pubDate>
		<dc:creator>Peter Forbes</dc:creator>
				<category><![CDATA[Navigo]]></category>
		<category><![CDATA[Alesco]]></category>
		<category><![CDATA[HR]]></category>
		<category><![CDATA[HRIS]]></category>
		<category><![CDATA[process improvement]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://news.navigo.com.au/?p=6</guid>
		<description><![CDATA[Last week I attended Oracle Open World in Melbourne, a three day event highlighting the latest Oracle tools and the future direction for Oracle. A major feature of Open World was the latest database release, 10g, with features including Grid computing (the g in 10g). Grid computing is basically clusters of cheap servers acting as [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I attended Oracle Open World in Melbourne, a three day event highlighting the latest Oracle tools and the future direction for Oracle.</p>
<p>A major feature of Open World was the latest database release, 10g, with features including Grid computing (the g in 10g). Grid computing is basically clusters of cheap servers acting as one virtual server sharing disk space. This reduces the single point of failure and also allows the application to be easily scaled in terms of CPU and memory. Other nice features in 10g is the self managing and tuning of the database, aimed at making it easier to administer and troubleshoot &#8211; watchout DBA&#8217;s.</p>
<p>A strong message given at Open World was Oracle&#8217;s support and encouragement for running the Linux operating system on Intel hardware, a combination referred to as Lintel. Oracle develops on and runs the majority of their internal apps on Lintel and is talking up the combination for clients. Dell has also started selling servers bundled with Red Hat Linux and Oracle 10g at very low prices.</p>
<p>Within the Alesco community there is already a number of sites successfully running Linux, a supported platform on the e807 version of Alesco.</p>
<p>If you&#8217;re thinking of moving to Linux for your Alesco install, here&#8217;s a couple of reasons why you should:</p>
<h3>Lower TCO for existing UNIX sites</h3>
<p>Those sites with proprietary UNIX environments (HP, AIX, Solaris) should be able to lower their TCO with a move to Linux and Intel. Existing staff skilled in UNIX require minimal training to move to Linux. Custom programs and tools that have been written should migrate with no effort. It&#8217;s a fair bet that most UNIX techs have already experienced Linux and have installed it on a server somewhere in your organisation!</p>
<p>Replicating your production instance for testing and development environments can also be achieved using nothing more than desktop PC&#8217;s running Linux.</p>
<h3>More bang for your buck</h3>
<p>The experiences Navigo has had running Alesco on Linux and Intel all point to quicker report processing times. Previously Intel had been disadvantaged by the 32 bit architecture, meaning SGA&#8217;s for database could not grow beyond 4gb. Now with the release of 64 bit architecture, Intel can now compete with the proprietary UNIX servers.</p>
<p>At the recent benchmark for the PNG Government, we processed 66,000 employees in under 3 hours. This was on a cluster of two 4CPU Intel Itanium Servers with 64 bit Red Hat Linux with a 7GB SGA. The payrun was split into 8 streams using the standard Alesco functionality which balanced nicely across the CPU&#8217;s.</p>
<p>With a cluster of Intel servers being considerably cheaper, sometimes one-tenth that of proprietary UNIX vendors, the cost savings to organisations are substantial.</p>
<h3>Simplify the support process</h3>
<p>Different flavours of UNIX, multiple versions of the OS, multiple versions of Oracle. Most sites have probably experienced certification problems and Oracle/Alesco bugs that only appear in their version/flavour of UNIX. Sometimes even trying to get a copy of the Oracle software for that version is a nightmare.</p>
<p>Running Linux, sites benefit from strong Oracle support for Linux issues and the availability of Oracle software on the OTN website.</p>
<p>For the Alesco application, more sites running the one operating system allows for quicker identification and resolution of Alesco/Oracle issues and simplifies the compatibility problems.</p>
<p>Come upgrade time, Alesco sites also benefit from the testing that more pro-active sites have already performed on the latest Alesco/Oracle combination.</p>
<p>For most organisations the challenge is reduce IT costs and deliver &#8220;unbreakable&#8221; systems. Running Alesco on a Lintel platform is certainly a step in the right direction.</p>
<p>For more info about Oracle on Linux see Oracle&#8217;s Linux FAQ</p>
]]></content:encoded>
			<wfw:commentRss>http://news.navigo.com.au/2004/07/alesco-and-linux-a-winning-combination/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

