XDOLoader : Wrapper Tool

The attached tool is a wrapper on top of XDOLoader. This is a convenience tool to scan all files in the directory from which the command is run and uploads them to the database.
Download here (https://sites.google.com/a/applikast.net/applikast/file-cabinet/xdoload.pl?attredirects=0&d=1)
Also create a file called install.txt in your installation directory with the following contents and replace with the appropriate values:

db_sid=mydb
db_port=1561
db_server=localhost

Ensure that each entry remains on a different line in the text file. It is also important that the text file doesn't have any ^M characters.

Please note that the xml publisher files should follow the naming convention that is followed by XDOLoader DOWNLOAD. This helps the tool identify the Product short name/ lob code and the lob type as well. Once these are derived the only parameter that is needed to run xdoloader is the apps password that is passed as a commandline argument.
Sample files names when downloaded using XDOLoader download are:
BURSTING_FILE_AR_ARDLP_NON_SRS.xml
TEMPLATE_SOURCE_AR_ARDLP_NON_SRS_en.rtf

The file in the link needs to be downloaded and renamed as xdoload.pl

Once this is done you can run this in your unix shell as
perl xdoload.pl apps_pwd

You can put this in the /bin directory and create an alias so that you don't need to type perl xdoload.pl all the time.
eg. cp xdoload.pl $CUSTOM_TOP/bin
alias xdoload='perl $CUSTOM_TOP/bin/xdoload.pl'.
Then run the command using xdoload directly

This wrapper internally calls out to the XDOLoader class with the appropriate parameters as described in the post: Migrating BI Publisher Files: using XDOLoader FNDLOAD
Please do leave your feedback and comments it will help me provide something more meaningful going forward.

Migrating BI Publisher Files: using XDOLoader FNDLOAD

BI Publisher reports are typically made up of several components:

• Metadata that defines the details about the data definition and templates
• BI Publisher files i.e Data Definition Files/RTF Template/Bursting file etc
• RDF files in case of reports based BI Files
• Concurrent programs to run the report.

In Order to move the entire definition of the BI Publisher report from one instance to other you need to move each of the components described above. The tools namely XDOLoader and FNDLOAD are used to migrate these files across instances.

You can use the following commands to download :
Metadata:
FNDLOAD apps/****0 Y DOWNLOAD $XDO_TOP/patch/115/import/xdotmpl.lct XXJW_ARDLP_NON_SRS.ldt XDO_DS_DEFINITIONS APPLICATION_SHORT_NAME=AR DATA_SOURCE_CODE=ARDLP_NON_SRS

BI Publisher files i.e BI Publisher Data definition template/Bursting File/RTF Template for ARDLP_NON_SRS Data definition:

java oracle.apps.xdo.oa.util.XDOLoader DOWNLOAD \
-DB_USERNAME apps \
-DB_PASSWORD ***** \
-JDBC_CONNECTION db_server:db_port:db_sid \
-APPS_SHORT_NAME AR \
-LCT_FILE ${XDO_TOP}/patch/115/import/xdotmpl.lct \
-DS_CODE ARDLP_NON_SRS

Copy the RFD file if any from the instance directly

Download the concurrent program using:
FNDLOAD apps/**** 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct XX_ARDLP_NON_SRS.ldt PROGRAM CONCURRENT_PROGRAM_NAME="ARDLP_NON_SRS"

Once the files have all been downloaded you need to take them to the middle tier of another instance and upload them back. This can be done using the following commands:

Metadata:

FNDLOAD apps/****0 Y UPLOAD $XDO_TOP/patch/115/import/xdotmpl.lct XXJW_ARDLP_NON_SRS.ldt

• Upload each of the xml publisher files using commands below:

o Bursting File:
java oracle.apps.xdo.oa.util.XDOLoader UPLOAD \ -DB_USERNAME apps \ -DB_PASSWORD **** \ -JDBC_CONNECTION db_server:db_port:instance_sid \ -LOB_TYPE BURSTING_FILE \ -APPS_SHORT_NAME AR \ -LOB_CODE ARDLP_NON_SRS \ -LANGUAGE en \ -TERRITORY US \ -NLS_LANG American_America.WE8ISO8859P1 \ -XDO_FILE_TYPE XML-BURSTING-FILE \ -FILE_CONTENT_TYPE 'text/html' \ -FILE_NAME ./xmlpub/BURSTING_FILE_AR_ARDLP_NON_SRS.xml

o RTF Template:
java oracle.apps.xdo.oa.util.XDOLoader UPLOAD \ -DB_USERNAME apps \ -DB_PASSWORD **** \ -JDBC_CONNECTION db_server:db_port:instance_sid \ -LOB_TYPE TEMPLATE_SOURCE \ -APPS_SHORT_NAME AR \ -LOB_CODE ARDLP_NON_SRS \ -LANGUAGE en \ -TERRITORY US \ -NLS_LANG American_America.WE8ISO8859P1 \ -XDO_FILE_TYPE RTF \ -FILE_CONTENT_TYPE 'text/html' \ -FILE_NAME ./xmlpub/TEMPLATE_SOURCE_AR_ARDLP_NON_SRS_en.rtf

o Data Definition Template:
java oracle.apps.xdo.oa.util.XDOLoader UPLOAD \ -DB_USERNAME apps \ -DB_PASSWORD **** \ -JDBC_CONNECTION :: \ -LOB_TYPE DATA_TEMPLATE \ -APPS_SHORT_NAME AR \ -LOB_CODE ARDLP_NON_SRS \ -LANGUAGE en \ -TERRITORY US \ -NLS_LANG American_America\.WE8ISO8859P1 \ -XDO_FILE_TYPE XML-DATA-TEMPLATE \ -FILE_CONTENT_TYPE 'text/html' \ -FILE_NAME DATA_TEMPLATE.xml

• Copy the RFD file if any to the reports/US folder directly. If it is customised then copy to /reports/US and then create a soft link in /reports/US directory.

• Upload the concurrent program using:
FNDLOAD apps/**** 0 Y UPLOAD $FND_TOP/patch/115/import/afcpprog.lct .ldt

You can find a wrapper program to the xdoloader methods here:
XDOLoader : Wrapper Tool

iStore - The beginners guide


iStore for Beginners
What is iStore ?

Fully integrated with the Oracle E-Business Suite, Oracle iStore 11i is a powerful tool that allows businesses to create and manage online ecommerce sites. A highly configurable Java application, Oracle iStore employs Oracle foundation and back-end applications along with its own comprehensive Java and PL/SQL programming and logic to deliver a high-end  application that responds to the growing need for online commerce in business-to-business (B2B), business partner, and business-to-consumer (B2C) electronic scenarios. Oracle iStore lets businesses create, manage, and personalize powerful Internet storefronts in a secure and scalable environment.

Oracle iStore contains two user interfaces:

_ The Site Administration Application:
The Site Administration Application allows site administrators to create and maintain multiple sites, catalogs, and related business rules, as well as access business and operational reports.

_ The Customer Application:
This is the customer-facing application which features shopping carts and lists, cart sharing, a full range of order taking and tracking capabilities, e-mail notifications of user events, quote retrieval and updates, marketing, guided selling, and more.

Background / Overview

In this article we would concentrate on the Site Administration Application and in particular features that deal with the Customer Site Look and feel related features. I have chosen to concentrate on the look and feel related areas because this is where the developer usually comes into the picture and perhaps is the first pain point whenever someone starts off learning the iStore application. We would deal with the nuances of the iStore technical pieces in articles that are to come in the future.

Customer Application Display

Oracle iStore utilizes JavaServer Pages (JSPs), which combine Application Programming Interfaces (APIs) to call dynamic data and HTML to present static data. A robust PL/SQL layer interfaces with the Oracle database to provide consistent and accurate data storage and retrieval.

In the Customer Application, each web page is made up of an overall JSP (for example the seeded Site Home Page, ibeCZzpHome.jsp) that calls other JSPs to display the various areas of the page. Oracle iStore uses templates and other components to present the Customer Application.

Display Templates

The bulk of the Customer Application display is presented through the hundreds of Display Templates that are seeded in Oracle iStore. Display Templates are of various types, depending upon which areas of the Customer Application they are meant to display. For example, some templates display the shopping cart pages, some display the catalog pages, and other templates display the order tracking pages. Each template used in the online sites links to a JSP which provides the actual display content. By mapping your own JSPs to the seeded templates, you can provide your own customized content in the sites.

Section and Product Template Gallery

Using sections and their products organized into a hierarchal structure, your product catalog is presented through a powerful section and product catalog building tool. Display Templates for sections and products are presented in the Site Administration Application in WYSIWYG fashion, allowing you to easily select how your sections and products actually display to customers.

Bin Display

Oracle iStore’s Display Template functionality allows you to map bins with specific JSP content into the top, bottom, and sides of the catalog, shopping cart, and registration pages. Section page bins can be configured in two ways -- using fixed layout, where every catalog section page shows the mapped bins in the same location on every page, or using configurable layout, where bins can be placed on the page of a specific section and in a specific location.

Images, Messages, and HTML Content

Oracle iStore features flexible and reusable content tools. To present product images and HTML content in your specialty sites, you map seeded content components to seeded or new media objects, which are in turn linked to the content files (e.g., .gif, .htm) which you supply. To present messages, you utilize hundreds of seeded text messages, some of which are also reusable media objects. See the Implementing Content chapter of the Oracle iStore Implementation and Administration Guide for details. The seeded Customer Application text messages can be altered.


Content Repository
The Content Repository in the Site Administration Application allows you to view and upload the source files used in your site pages. The Content Repository page lists the source files in your Content Repository, and allows you to preview the files. It also allows access to other pages where you can upload and update source files.
In the Content Repository page you can:
_ View all source files that have been uploaded to the Content Repository
_ Delete source files from the Content Repository
_ Search for source files within the Content Repository
_ Access the Upload/Update Source File pages, where you can upload source
files for the repository

Content Components and Media Objects
Oracle iStore’s content components and media objects are reusable content placeholders in the seeded JSPs that allow you to define content for the Customer Application beyond that provided by section or product description information.
This content can be image or html files that you associate with a section or product in order to provide your customers with additional information. It also can be text messages used to prompt or guide the user.




Deep Dive – Catalog and configuring the catalog display

To implement iStore you would typically have to do the following:
·         You would create a customer site that any given customer has access to.
·         Each site has a catalog
·         Each catalog has sections
·         And each section displays products under it along with access to search functionality.

The catalog hierarchy is divided in the following:

·         Sections
o        Root Section: This is the top most section in the hierarchy and the Site gets associated with a root section. All sections are directly or indirectly children of the root section.

o        Navigable Section: This is defined to be any section under the root section(and root section included) that a user can browse and navigate to. Each navigable section can have subsections defined under it and can also have products.



o        Leaf Section:  This is a navigable section itself but cannot have any further navigable section defined under it it can contain only products



o       Featured Section: This is a special section which cannot be part of a browsing hierarchy. Each featured section is rendered automatically on the home page of each navigable section. Featured sections can contain only products and cannot have sub sections.




For a clear description of rules pertaining to each section type please refer to the administrative guide.



·         Section and Product Display Profile Options
Several profile options control how sections and products appear in the specialty
site sections. These are discussed in this section.
·         Setting the Number of Home Page Tabs and Subtabs
Top-level sections of a site’s root node become tabs across the top of the Site Home Page. The second-level sections become the subtabs across the top of the Site Home Page.
The number of tabs and subtabs is controlled by these profile options:
_ IBE: Number of Menu Tabs --- Specifies the number of menu tabs across the
top of the Site Home Page. 




_ IBE: Number of Menu Subtabs --- Specifies the number of menu subtabs below
the menu tabs on the Site Home Page.




·         Setting the Number of Child Sections Per Page
The profile option, IBE: Sections Per Page for Display, allows you to set the maximum number of subsections to display on a page before the subsections fall to a new page.
·         Displaying the Section Path
The profile option, IBE: Use Section Path, determines whether the section path displays in those catalog templates which can display a section path.
·         Displaying Bins with Seeded Content
Three bins with seeded JSP content are controlled by profile options when using Fixed Layout for sections. These bins are:
1. Browse Bin
2. Global Bin
3. Welcome Bin
·         Displaying a Set Number of Items in Leaf Sections
The profile option, IBE: Items Per Page for Display, specifies number of items to display in Leaf sections of the hierarchy (the ending sections of a node).
·         Displaying a Set Number of Items in Sections
The profile option, IBE: Items Per Section for Display, specifies the number of items to display in sections of the hierarchy that contain products.
·         Displaying a Set Number of Items in Multiple-Section Template
The profile option, IBE: Lines Per Section for Multiple Section Display, specifies the number of items to display per section in Display Templates that show multiple sections.

·         Section Templates Overview
The structure of your catalog sections as they display on Customer UI pages is determined by your layout and template choices for the sections. To aid your understanding of the options involved, following is a process flow for building section structure.
Process Flow for Building Section Structure
In this process, you associate each section to:
A Layout Template --- This choice determines whether all sections have the same bin locations (Fixed Layout) or whether each section can have separate bin locations (Configurable Layout).
For e.g with Fixed layout the Browser Bin would always be to the left and the welcome bin would always be to the right.
Fixed layout:





Configurable Layout




and ---

A Display Template --- This choice determines which section elements (name, description, content components) display for each section and how the section looks.
One template could show the section to display such that only the navigable subsections show up as links so that you can navigate the:




Alternately another template could show the sections along with the products in a products drop down:



You could alternately have a layout where the subsections and their products are listed as shown below:




These different layouts can be achieved with the help of templates.
Similarly there are different templates for rendering product information as well. You could for example have product information with product detail/ with picture/ with large picture so on and so forth.
There are several such templates that are shipped by default by Oracle. If none of these layouts suit your requirement you would need to go in for a customization.

Oracle SOA suite Installation (Developer)

1.       To Install Oracle SOA you need the following to be installed in the order specified. The Oracle SOA suite page can be found here: SOA Suite. Also refer to the link Oracle Fusion Middleware 11gR1 Software Downloads for each of the components detailed below. Please note that the software needs to be installed in the order provided below:
a.       Oracle DB(You can use XE edition). This database would store the schemas for various products that get installed as part of the SOA installation. You can get the latest version of the XE Database here : 
                                                               i.      This is a fairly straightforward process if you are installing XE edition.
                                                             ii.      Once installed ensure that you set the following environment variables:
1.       ORACLE_HOME: I installed this on windows and the value I set for this was: C:\oraclexe\app\oracle\product\10.2.0\server
2.       TNS_ADMIN: This value was set to: C:\oraclexe\app\oracle\product\10.2.0\server\NETWORK\ADMIN
3.       Navigate to the directory $ORACLE_TOP\dbs and modify the file:
a.       SPFILEXE.ora and set the parameters:
b.      Processes to 500
c.       Open_cursors to 500. This is essential when the repository creation utility is run.
b.      Oracle Repository Creation Utility
                                                               i.      This is responsible for creating the various schemas for the products to be installed. The repository creation utility does a check on the database to see if it is the right version . If it finds that the database is not the right version it might fail with an error message. To circumvent this problem you need to modify the ComponentInfo.xml file that is located under : \rcu\config\ComponentInfo.xml
                                   You need to find the following text and modify the pre-req value from 0 to 1. This is a hack to ensure that the installation succeeds on an XE database without requiring a full blown db. The check is merely performed to ensure that this db is not used as a production database. As such databases beyond 10.2.0.4.0 are supported for SOA installation but in a development environment it is not required.

01 <DBPrerequisite PREREQ_TYPE="CustomSQL" DATA_TYPE="NUMBER"COMPARE_OPERATOR="EQ">
02         <ValidIf  DBTYPE="ORACLE" >
03         <CustomQueryFilter DATA_TYPE="NUMBER" COMPARE_OPERATOR="EQ"VALUE="0">
04             select 1 from dual where exists (select column_name from dba_tab_columns where table_name(+) like 'V_$INSTANCE' and column_name(+) = 'EDITION') union select 0 from dual where not exists (select column_name from dba_tab_columns where table_name(+) like 'V_$INSTANCE' and column_name(+) = 'EDITION')
05           CustomQueryFilter>
06         ValidIf>
07         <PrereqIdentifier>select count(*) from product_component_version  where product like 'Oracle%Database%'  AND version BETWEEN '11' AND '11.1.0.6.0' PrereqIdentifier>
08         <PrereqValue>0PrereqValue>
09         <PrereqErrorMsg>
10                 The database you are connecting is not a supported version.  Enter Database with version equal to or higher than 10.2.0.4.0 in 10g or version equal to higher than 11.1.0.7.0 in 11g. Refer to the certification matrix for supported DB versions
11           PrereqErrorMsg>
12     DBPrerequisite>


                                    Modify the PreReq value from 0 to 1 and the installation would go through. Ignore the warning message.
c.       Oracle Weblogic webserver : This is the application server that hosts all the applications and plugins that you wish to install and deploy.
d.      Oracle SOA suite. This is the application provided by Oracle to support the Oracle SOA infrastructure.
e.      Oracle Jdeveloper: This is the development tool to develop SOA / FMW applications
f.        Oracle SOA extension for Jdeveloper: This is required if you need to develop SOA based applications.