This script is quite generic and can be used with little modifications to move XML Document in OAF from one environment to another.
Eventually, the XML data will be loaded into MDS Repository within tables JDR_ATTRIBUTES, JDR_COMPONENTS, JDR_PATHS & JDR_ATTRIBUTES_TRANS(if applicable).
In order to Load the XML Document, you will require the Machine Name where the Oracle DB is hosted.
This script will require the DB port number and the machine name where XML Document is being loaded. For this I have written a simple Unix Function, given that the XMLImporter will be run from Unix in this example. This function was written to make this script machine independent. Surely there are other ways to fetch these values.
However, I will be using below profile options :-
Profile option "CSF: eLocation Map host name" to get the host name of Oracle Database.
Profile option "CSF: Database port to receive data" to get the port number.
Please ensure that these two profile options are set before invoking XMLImporter. On 11.5.7 onwards, you will certainly have values in these profiles.
getPortMachine() being a Unix function, connects to the database and populates two Unix Environment variables.
For simplicity, I have taken an example of a Standard XML Document from iProcurement.
This will illustrate the full/relative path one needs to use in XMLImporter script
The document in the example is located at $ICX_TOP/mds/por/req/webui/CheckoutSummaryPG.xml
#############################
Script begins below
#############################
MACHINE_NAME=0
PORT_NUMBER=0
export MACHINE_NAME
export PORT_NUMBER
getPortMachine()
{
MACHINE_NAME=`sqlplus -s apps/$APPS_PWD <<EOF
set pages 0
set lines 1023
select fnd_profile.value('CSF_EMAP_DS_HOST') from dual ;
exit
EOF`
PORT_NUMBER=`sqlplus -s apps/$APPS_PWD <<EOF
set pages 0
set feed off
select fnd_profile.value('CSF_MAP_DB_PORT') from dual ;
exit
EOF`
}
getPortMachine
echo "**********************************"
echo $MACHINE_NAME is Machine Name
echo "**********************************"
sleep 5
echo $PORT_NUMBER is port number
echo "**********************************"
sleep 5
"Echo import CheckoutSummaryPG.xml"
adjava \
oracle.jrad.tools.xml.importer.XMLImporter $ICX_TOP/mds/por/req/webui/CheckoutSummaryPG.xml \
-rootdir $ICPO_TOP/bin \
-username apps \
-password $APPS_PWD \
-dbconnection "(description=(address_list=(address=(community=tcp.world)(protocol=tcp)(host=$MACHINE_NAME)(port=$PORT_NUMBER)))(connect_data=(sid=$TWO_TASK)))" \
-rootPackage /oracle/apps/icx/por/req/webui
############
End Of Script
############
Thanks,
Anil Passi
Comments
What is the significance of rootDir and rootPackage options. rootDir seems to be a required option.
When I use different combination of these two, I get different qualified document names.
Kindl y explain in details these two options.
Tha nks-
Ashish.
What is -rootdir $ICPO_TOP/bin here, I could not figure this in the unix file system
Thanks in advance
sanjeeb
Regards
c .sudarshan Reddy
From the above example:
For registering CheckoutSummary PG as a function.
HTML URL in WebHTML Tab of Function Reg. Page looks like below:
OA.jsp?page=/oracle/apps/icx/por/req/webui/CheckoutSummary PG
I created one Java Con Program and the program needs 15 to 16 Third party jar fiiles.
When i enter the classpath in OPTIONS column of CONCURRENT PROGRAMS form, it is giving error saying the OPTIONS field contains not more than 250 character.
But our classpath exceeds 600 character.
Ple ase help us to resolve this issue.
Thanks in advance.
oracle.apps.pe r.irc.api.offer s.create_offer and fetching the event data using l_event_data := p_event.getEven tData(); expression but it does not contain Basic Salary details into event data........can u please help me know about the business event name which is responsible of inserting record into HR_API_TRANSACT ION. It seems that system inserts record into HR_API_TRANSACT ION in later stage after above business event is fired. i Have to knw the next event name whcih i could not find by searching into WF_EVENTS table 'of;fer%'.
RSS feed for comments to this post