February 26th, 2009

OSB or OESB

Oracle’s place in the Enterprise Service Bus market has been significantly strengthened through the acquisition of BEA and the incorporation of AquaLogic Service Bus into the Oracle SOA Suite product family alongside the Oracle ESB. But now a days (temporarily) we have a problem which one to choose in new projects.

February 16th, 2009

Making a list of values context-sensitive using forms personalization.

In Oracle EBS there are lots of list of values. Most of the times you can change these values by editing the lookup values. In some cases you want to show a subset of the lookup-values based on another field in the same form. In this blog-entry there will be an example how to do this based on the fields user status and employment category for contingent workers in Oracle HR. The case is that we only want to show the values in the list of values for the employment category that are eligible with the chosen user status.

January 30th, 2009

L’ERP est mort, vive L’AIA!?

AIA2Many say that the ICT landscape are on the eve of yet another major revolution. Yes, another. The Internet hype is just behind us and the financial implications have been cleaned up. The SOA (service oriented architecture) hype hasn’t even had its peak. And now is the latest developments passing us from the right. The developments in the ICT industry are faster than cars are leaving the first Ford  factory.

L’ERP est mort, vive L’AIA!?
The scholars have not yet agreed whether all dinosaurs died via a big bang or that this is done gradually. Thus, the trend watchers cannot even agree where ERP will extinct. It’s clear that these systems have had their longest time. As the newest ICT generation now looks pity at the Mainframe cowboys, over 20 years we will look with great surprise to the ERP people.

December 29th, 2008

Fusion Apps delayed, what to do next….

Tour de FusionAbout a year ago I raised the question how to prepare for Oracle Fusion Applications. Within Logica we had chosen to focus on creating awareness for the changes Fusion Apps would bring. In this so called Tour de Fusion programme we focused on several topics like SOA, BPEL and BPM. Topics which not only existed in theory, but already were supported with tools by Oracle. For instance the Oracle SOA suite or Oracle BPA suite. This allowed our consultants to work (‘to stand with their feet in the mud’) with these products in our skill centre environment. Examples are interfaces between PeopleSoft and eBusiness Suite based on BPEL. A rudimentary way of application integration.

At Openworld 2008 Oracle delayed the launch of Fusion Apps until end 2009 / beginning 2010. What is the impact on our competence development in general and the Tour de Fusion programme in particular?

December 18th, 2008

PeopleSoft export to formatted MS Word file using XML templates

You don’t need a program like Oracle XML Publisher to present a PeopleSoft user a formatted MS Word file, filled with PeopleSoft data. If you want to export PeopleSoft data to a formatted MS Word file, just follow these few simple steps:

  1. create a formatted xml file in MS Word containing placeholders for the PeopleSoft data. Store this xml in the database.
  2. Create a page containing an export button, which calls an IScript
  3. Create an IScript which retrieves the template from the database, fetches the data to be inserted from the database and substitutes the placeholders for the data.

In detail:

  1. Open MS Word and create and format a page normally. Create placeholders that will contain the data from the database or PeopleCode. For example {NAME}. Be sure to save the file as an XML document. We want to store the plain text “source” of the formatted XML document in the database. For this reason open the file in a plain text editor like Notepad. You can check your placeholder(s) here. Copy the contents and save them in the database. This can be in a custom table or perhaps in the message catalog. In this example we’ll use the message catalog 20.000 and item 1.
  2. Create a page in Application Designer and insert a button or hyperlink. The destination of the button is a PeopleCode command of a field in a derived record. For example DERIVED_REC.CALL_ISCRIPT. In the FieldChange event of the above mentioned field, call the ViewURL(URL_str) function. The parameter of this function is an IScript which we’ll create in the next step.
  3. Example:

    &sUrl = %Request.RequestURI | “?ICType=Script&ICScriptProgramName=DERIVED_REC.CALL_ISCRIPT.FieldFormula.ISCRIPT_XML_RESPONSE”;

    ViewURL(&sUrl);

    In newer versions you can use functions like GenerateScriptContentURL to compose the IScript URL.

  4. Create an IScript with the following content:

Function ISCRIPT_XML_RESPONSE

/* set filename */

&XMLFileName = “xml_export”;

/* set headers so the browser sends a save dialog box */

&contDisposition = “attachment; filename=” | &XMLFileName | “.doc”;

%Response.SetHeader(“content-disposition”, &contDisposition);

/* set content type to word, so MS Word can be opened */

%Response.SetContentType(“application/msword”);

/* get the template xml file */

&sXMLTpl = MsgGetExplainText(20000, 1, “XML not found”);

/* get the data */

&sName = “John Doe”;

/* substitute placeholder for the data */

&sXMLTpl = Substitute(&sXMLTpl, “{NAME}”, &sName);

/* send to browser */

%Response.Write(&sXMLTpl);

End-Function;

A couple of notes:

  • Because we are using an IScript we can’t access the component buffer data. So if you want to use content specific variables in your IScript, create some global variables in step 2 which can be addressed in the IScript.
  • Don’t forget to add the IScript to the weblibrary of your permission list.
  • When creating the xml template, turn off any spelling or grammar checks for this can disturb the xml placeholders.
  • When you’ve made an error in a placeholder, completely retype the placeholder. A partial correction can disturb the xml.