Tag Archives: R12

R12.1 R12.2 Oracle eBusiness Suite – Moving FNDLOAD files by script

Oracle eBusiness Suite Logo
Oracle eBusiness Suite Logo

Most administrators become familiar with the FNDLOAD utility ($FND_TOP/bin/FNDLOAD) which is used to move various objects between instances that have been defined and set up using the front-end (Menus, FlexField setups, Users, Alerts, Concurrent Programs, et.al.)

Yes, you can manually re-enter all that information using the front-end forms and OAF pages, but you do have a utility to do that for you: FNDLOAD.

Typing FNDLOAD by itself with no parameters gives you a general idea of what kinds of parameters it takes:

You have not provided the required arguments for this program.
Usage: FNDLOAD logon 0 Y mode configfile datafile [ entity [ param ... ] ]

where
logon is username/password[@connect]
mode is either UPLOAD or DOWNLOAD
configfile is the configuration file
datafile is the data file
entity is an entity name, or - to specify all values in an upload
param is a NAME=VALUE string used for parameter substitution

But you can, like most of these utilities, create a script wrapper which makes the process more driven to support repetitive change migrations.

Here’s an example using many of the various parameters in a format that simply downloads the object from the source instance and uploads the resulting *.ldt file into the target instance.  Just comment out things you don’t want (or isn’t supported by your particular EBS version) and add new objects as they become supported by FNDLOAD in the future.

# $1 FRSID From Instance sample: apps/apps@DEV1.world
# $2 TYPE: CONC Concurrent Program
# RGRP Request Group
# FORM Form Function
# FDFF Descriptive FlexField
# VSET FND Value Set
# MENU Menu
# ALRT Oracle Alert
# FLDR Folder
# MESG Oracle Message
# LKUP Lookup Values
# USER FND User
# RPROF Responsibility Profile Level
# PROF Profile with no Level specific
# RSET RequestSet
# RSLK RequestSet Links
# RESP Responsibility
# FPER Form Personalization
# XMLT XML Template
# XLAD XLA Definitions
# WADIINTG Web ADI Integrator
# WADILAYO Web ADI Layout
# WADIMAPC Web ADI Mapping Code
# WADISTYL Web ADI Style
# PJSTAT Project Statuses
# ATTCAT Attachment Categories
# $3 OBJECT Object Short Name, Function Name, Responsibility Key, Etc.
# $4 APPL_SN Application ShortName
# $5 TOSID Destination Instance sample: apps/apps@DEV2.world
#
FRSID=$1
ATYP=$2
AOBJ="$3"
AASN=$4
TOSID=$5

fpwd=`echo $FRSID|awk '{FS="/"} {print $2}'|awk '{FS="@"} {print $1}'`
fsid=`echo $FRSID|awk '{FS="@"} {print toupper($2)}'`

tpwd=`echo $TOSID|awk '{FS="/"} {print $2}'|awk '{FS="@"} {print $1}'`
tsid=`echo $TOSID|awk '{FS="@"} {print toupper($2)}'`


fdbline=`tnsping $fsid|awk '/Attempting/ {print $0}'`
ffullhname=`echo $fdbline|awk '{print $5}'|awk '{FS="="} {print $4}'|awk '{FS=")"} {print $1}'`
fhport=`echo $fdbline|awk '{print $5}'|awk '{FS="="} {print $5}'|awk '{FS=")"} {print $1}'`
fhname=`echo $ffullhname|awk '{print $1}'|awk '{FS="."} {print $1}'`

tdbline=`tnsping $tsid|awk '/Attempting/ {print $0}'`
tfullhname=`echo $tdbline|awk '{print $5}'|awk '{FS="="} {print $4}'|awk '{FS=")"} {print $1}'`
thport=`echo $tdbline|awk '{print $5}'|awk '{FS="="} {print $5}'|awk '{FS=")"} {print $1}'`
thname=`echo $tfullhname|awk '{print $1}'|awk '{FS="."} {print $1}'`


tdbline=`tnsping $tsid|awk '/Attempting/ {print $0}'`
tfullhname=`echo $tdbline|awk '{print $5}'|awk '{FS="="} {print $4}'|awk '{FS=")"} {print $1}'`
thport=`echo $tdbline|awk '{print $5}'|awk '{FS="="} {print $5}'|awk '{FS=")"} {print $1}'`
thname=`echo $tfullhname|awk '{print $1}'|awk '{FS="."} {print $1}'`

sqlsmt=""
sqlsmt=$sqlsmt" select 'XMLT:'||DS_APP_SHORT_NAME||':'||DATA_SOURCE_CODE||': '"
sqlsmt=$sqlsmt" from xdo.xdo_templates_b "
sqlsmt=$sqlsmt" where template_code = '"$AOBJ"' "
sqlsmt=$sqlsmt" and application_short_name = '"$AASN"';"
sqlout=`echo $sqlsmt | sqlplus -s $FRSID`

DSASN=`echo $sqlout|awk '{FS=":"} {print $5}'`
DSCODE=`echo $sqlout|awk '{FS=":"} {print $6}'`

rtime=`date +%m%d%H%M%S`

if (test $ATYP = "CONC") then
FNDLOAD $FRSID 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct "$AOBJ".ldt PROGRAM APPLICATION_SHORT_NAME=$AASN CONCURRENT_PROGRAM_NAME="$AOBJ"
FNDLOAD $TOSID 0 Y UPLOAD $FND_TOP/patch/115/import/afcpprog.lct "$AOBJ".ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE
elif (test $ATYP = "FORM") then
FNDLOAD $FRSID 0 Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct "$AOBJ".ldt FUNCTION FUNCTION_NAME="$AOBJ"
FNDLOAD $TOSID 0 Y UPLOAD $FND_TOP/patch/115/import/afsload.lct "$AOBJ".ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE
elif (test $ATYP = "ATTCAT") then
FNDLOAD $FRSID 0 Y DOWNLOAD $FND_TOP/patch/115/import/afattach.lct "$AOBJ".ldt FND_DOCUMENT_CATEGORIES CATEGORY_NAME="$AOBJ"
FNDLOAD $TOSID 0 Y UPLOAD $FND_TOP/patch/115/import/afattach.lct "$AOBJ".ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE
elif (test $ATYP = "RGRP") then
FNDLOAD $FRSID 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcpreqg.lct "$AOBJ".ldt REQUEST_GROUP APPLICATION_SHORT_NAME=$AASN REQUEST_GROUP_NAME="$AOBJ"
FNDLOAD $TOSID 0 Y UPLOAD $FND_TOP/patch/115/import/afcpreqg.lct "$AOBJ".ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE
elif (test $ATYP = "FDFF") then
FNDLOAD $FRSID O Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct "$AOBJ".ldt DESC_FLEX APPLICATION_SHORT_NAME=$AASN DESCRIPTIVE_FLEXFIELD_NAME="$AOBJ"
FNDLOAD $TOSID 0 Y UPLOAD $FND_TOP/patch/115/import/afffload.lct "$AOBJ".ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE
elif (test $ATYP = "VSET") then
FNDLOAD $FRSID O Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct "$AOBJ".ldt VALUE_SET FLEX_VALUE_SET_NAME="$AOBJ"
FNDLOAD $TOSID 0 Y UPLOAD $FND_TOP/patch/115/import/afffload.lct "$AOBJ".ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE
elif (test $ATYP = "MENU") then
FNDLOAD $FRSID 0 Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct "$AOBJ".ldt MENU MENU_NAME="$AOBJ"
FNDLOAD $TOSID 0 Y UPLOAD $FND_TOP/patch/115/import/afsload.lct "$AOBJ".ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=REPLACE
elif (test $ATYP = "ALRT") then
FNDLOAD $FRSID 0 Y DOWNLOAD $ALR_TOP/patch/115/import/alr.lct "$AOBJ".ldt ALR_ALERTS APPLICATION_SHORT_NAME=$AASN ALERT_NAME="$AOBJ"
FNDLOAD $TOSID 0 Y UPLOAD $ALR_TOP/patch/115/import/alr.lct "$AOBJ".ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE
elif (test $ATYP = "FLDR") then
FNDLOAD $FRSID 0 Y DOWNLOAD $FND_TOP/patch/115/import/fndfold.lct "$AOBJ".ldt FND_FOLDERS NAME="$AOBJ"
FNDLOAD $TOSID 0 Y UPLOAD $FND_TOP/patch/115/import/fndfold.lct "$AOBJ".ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE
elif (test $ATYP = "MESG") then
FNDLOAD $FRSID 0 Y DOWNLOAD $FND_TOP/patch/115/import/afmdmsg.lct "$AOBJ".ldt FND_NEW_MESSAGES APPLICATION_SHORT_NAME=$AASN MESSAGE_NAME="$AOBJ"
FNDLOAD $TOSID 0 Y UPLOAD $FND_TOP/patch/115/import/afmdmsg.lct "$AOBJ".ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE
elif (test $ATYP = "LKUP") then
FNDLOAD $FRSID 0 Y DOWNLOAD $FND_TOP/patch/115/import/aflvmlu.lct "$AOBJ".ldt FND_LOOKUP_TYPE APPLICATION_SHORT_NAME=$AASN LOOKUP_TYPE="$AOBJ"
FNDLOAD $TOSID 0 Y UPLOAD $FND_TOP/patch/115/import/aflvmlu.lct "$AOBJ".ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE
elif (test $ATYP = "USER") then
FNDLOAD $FRSID 0 Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct "$AOBJ".ldt FND_USER USER_NAME="$AOBJ"
FNDLOAD $TOSID 0 Y UPLOAD $FND_TOP/patch/115/import/afscursp.lct "$AOBJ".ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE
elif (test $ATYP = "PROF") then
FNDLOAD $FRSID 0 Y DOWNLOAD $FND_TOP/patch/115/import/afscprof.lct "$AOBJ".ldt PROFILE APPLICATION_SHORT_NAME=$AASN PROFILE_NAME="$AOBJ"
FNDLOAD $TOSID 0 Y UPLOAD $FND_TOP/patch/115/import/afscprof.lct "$AOBJ".ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE
elif (test $ATYP = "RPROF") then
FNDLOAD $FRSID 0 Y DOWNLOAD afscprofr.lct "$AOBJ".ldt PROFILE APPLICATION_SHORT_NAME=$AASN PROFILE_NAME="$AOBJ" FND_PROFILE_OPTION_VALUES LEV="10003"
FNDLOAD $TOSID 0 Y UPLOAD $FND_TOP/patch/115/import/afscprof.lct "$AOBJ".ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE
elif (test $ATYP = "RSET") then
FNDLOAD $FRSID 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcprset.lct "$AOBJ".ldt REQ_SET REQUEST_SET_NAME="$AOBJ"
FNDLOAD $TOSID 0 Y UPLOAD $FND_TOP/patch/115/import/afcprset.lct "$AOBJ".ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE
FNDLOAD $FRSID 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcprset.lct "$AOBJ"_LINK.ldt REQ_SET_LINKS REQUEST_SET_NAME="$AOBJ"
FNDLOAD $TOSID 0 Y UPLOAD $FND_TOP/patch/115/import/afcprset.lct "$AOBJ"_LINK.ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE
elif (test $ATYP = "RELK") then
FNDLOAD $FRSID 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcprset.lct "$AOBJ".ldt REQ_SET_LINKS REQUEST_SET_NAME="$AOBJ"
FNDLOAD $TOSID 0 Y UPLOAD $FND_TOP/patch/115/import/afcprset.lct "$AOBJ".ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE
elif (test $ATYP = "RESP") then
FNDLOAD $FRSID 0 Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct "$AOBJ".ldt FND_RESPONSIBILITY RESP_KEY="$AOBJ"
FNDLOAD $TOSID 0 Y UPLOAD $FND_TOP/patch/115/import/afscursp.lct "$AOBJ".ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE
elif (test $ATYP = "FPER") then
FNDLOAD $FRSID 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct "$AOBJ".ldt FND_FORM_CUSTOM_RULES function_name="$AOBJ"
FNDLOAD $TOSID 0 Y UPLOAD $FND_TOP/patch/115/import/affrmcus.lct "$AOBJ".ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE
elif (test $ATYP = "XMLT") then
FNDLOAD $FRSID 0 Y DOWNLOAD $XDO_TOP/patch/115/import/xdotmpl.lct "$AOBJ".ldt XDO_DS_DEFINITIONS APPLICATION_SHORT_NAME=$AASN DATA_SOURCE_CODE="$DSCODE" TMPL_APP_SHORT_NAME=$DSASN TEMPLATE_CODE="$AOBJ"
FNDLOAD $TOSID 0 Y UPLOAD $XDO_TOP/patch/115/import/xdotmpl.lct "$AOBJ".ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE

sqlsmt=""
sqlsmt=$sqlsmt"select distinct 'XMLTYPE:'||xdo_file_type||':'||file_content_type||':'||"'\n'
sqlsmt=$sqlsmt" decode(file_content_type,'application/rtf','rtf', "'\n'
sqlsmt=$sqlsmt" 'text/xml', 'xml', "'\n'
sqlsmt=$sqlsmt" lower(xdo_file_type))||':'||territory||':'||replace(file_name,' ','_')||':' xtype"'\n'
sqlsmt=$sqlsmt" from xdo.xdo_lobs "'\n'
sqlsmt=$sqlsmt" where application_short_name = '"$AASN"' "'\n'
sqlsmt=$sqlsmt" and lob_type = 'TEMPLATE_SOURCE' "'\n'
sqlsmt=$sqlsmt" and lob_code = '"$AOBJ"'; "'\n'
sqlsmt=$sqlsmt"exit "'\n'
echo $sqlsmt > $rtime.sql
sqlplus -s $FRSID @$rtime.sql > $rtime.out

for i in `awk '/XMLTYPE/ {print $0}' $rtime.out`
do
ftype=`echo $i|awk '{FS=":"} {print $2}'`
ctype=`echo $i|awk '{FS=":"} {print $3}'`
fext=`echo $i|awk '{FS=":"} {print $4}'`
terr=`echo $i|awk '{FS=":"} {print $5}'`
filename=`echo $i|awk '{FS=":"} {print $6}'|awk '{FS="."} {print $1}'`
sname=`echo $i|awk '{FS=":"} {print $6}'`
if (test $terr = "00") then
fname="TEMPLATE_SOURCE_"$AASN"_"$AOBJ"_en".$fext
else
fname="TEMPLATE_SOURCE_"$AASN"_"$AOBJ"_en_"$terr.$fext
fi
java oracle.apps.xdo.oa.util.XDOLoader DOWNLOAD -DB_USERNAME apps -DB_PASSWORD $fpwd -JDBC_CONNECTION "$fhname:$fhport:$fsid" -APPS_SHORT_NAME $AASN -LOB_TYPE TEMPLATE_SOURCE -LOB_CODE "$AOBJ" -XDO_FILE_TYPE $ftype -FILE_NAME $sname -LANGUAGE en -TERRITORY $terr -LCT_FILE $XDO_TOP/patch/115/import/xdotmpl.lct -LOG_FILE "$filename".log
mv "$fname" "$sname"
java oracle.apps.xdo.oa.util.XDOLoader UPLOAD -DB_USERNAME apps -DB_PASSWORD $tpwd -JDBC_CONNECTION "$thname:$thport:$tsid" -APPS_SHORT_NAME $AASN -LOB_TYPE TEMPLATE_SOURCE -LOB_CODE "$AOBJ" -XDO_FILE_TYPE $ftype -FILE_CONTENT_TYPE "$ctype" -FILE_NAME "$sname" -LANGUAGE en -TERRITORY $terr -LCT_FILE $XDO_TOP/patch/115/import/xdotmpl.lct -LDT_FILE "$AOBJ".ldt -DRVX_FILE "$AOBJ".drvx -LOG_FILE "$filename".log -CUSTOM_MODE FORCE
done
elif (test $ATYP = "XMLD") then
sqlsmt=""
sqlsmt=$sqlsmt"select distinct 'XMLTYPE:'||xdo_file_type||':'||file_content_type||':'||"'\n'
sqlsmt=$sqlsmt" decode(file_content_type,'application/rtf','rtf', "'\n'
sqlsmt=$sqlsmt" 'text/xml', 'xml', "'\n'
sqlsmt=$sqlsmt" lower(xdo_file_type))||':'||territory||':'||replace(file_name,' ','_')||':' xtype"'\n'
sqlsmt=$sqlsmt" from xdo.xdo_lobs "'\n'
sqlsmt=$sqlsmt" where application_short_name = '"$AASN"' "'\n'
sqlsmt=$sqlsmt" and lob_type = 'DATA_TEMPLATE' "'\n'
sqlsmt=$sqlsmt" and lob_code = '"$AOBJ"'; "'\n'
sqlsmt=$sqlsmt"exit "'\n'
echo $sqlsmt > $rtime.sql
sqlplus -s $FRSID @$rtime.sql > $rtime.out

for i in `awk '/XMLTYPE/ {print $0}' $rtime.out`
do
ftype=`echo $i|awk '{FS=":"} {print $2}'`
ctype=`echo $i|awk '{FS=":"} {print $3}'`
fext=`echo $i|awk '{FS=":"} {print $4}'`
terr=`echo $i|awk '{FS=":"} {print $5}'`
filename=`echo $i|awk '{FS=":"} {print $6}'|awk '{FS="."} {print $1}'`
sname=`echo $i|awk '{FS=":"} {print $6}'`
fname="DATA_TEMPLATE_"$AASN"_$AOBJ"
java oracle.apps.xdo.oa.util.XDOLoader DOWNLOAD -DB_USERNAME apps -DB_PASSWORD $fpwd -JDBC_CONNECTION "$fhname:$fhport:$fsid" -APPS_SHORT_NAME $AASN -LOB_TYPE DATA_TEMPLATE -LOB_CODE "$AOBJ" -XDO_FILE_TYPE $ftype -FILE_NAME $sname -LANGUAGE en -TERRITORY $terr -LCT_FILE $XDO_TOP/patch/115/import/xdotmpl.lct -LDT_FILE "$AOBJ".ldt -DRVX_FILE "$AOBJ".drvx -LOG_FILE "$filename".log
mv "$fname".xml "$sname"
java oracle.apps.xdo.oa.util.XDOLoader UPLOAD -DB_USERNAME apps -DB_PASSWORD $tpwd -JDBC_CONNECTION "$thname:$thport:$tsid" -LOB_TYPE DATA_TEMPLATE -LOB_CODE "$AOBJ" -XDO_FILE_TYPE $ftype -FILE_NAME "$sname" -APPS_SHORT_NAME $AASN -LANGUAGE en -TERRITORY US -LCT_FILE $XDO_TOP/patch/115/import/xdotmpl.lct -LDT_FILE "$AOBJ".ldt -DRVX_FILE "$AOBJ".drvx -LOG_FILE "$filename".log -CUSTOM_MODE FORCE
done
# WADIINTG Web ADI Integrator
# WADILAYO Web ADI Layout
# WADIMAPC Web ADI Mapping Code
# WADISTYL Web ADI Style
elif (test $ATYP = "WADIINTG") then
# FNDLOAD $FRSID 0 Y DOWNLOAD $BNE_TOP/patch/115/import/bneint.lct "$AOBJ".ldt BNE_INTEGRATORS INTEGRATOR_ASN=$AASN INTEGRATOR_CODE="$AOBJ"
# FNDLOAD $TOSID 0 Y UPLOAD $BNE_TOP/patch/115/import/bneint.lct "$AOBJ".ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE
FNDLOAD $FRSID 0 Y DOWNLOAD $BNE_TOP/patch/115/import/bneintegrator.lct "$AOBJ".ldt BNE_INTEGRATORS INTEGRATOR_ASN=$AASN INTEGRATOR_CODE="$AOBJ"
FNDLOAD $TOSID 0 Y UPLOAD $BNE_TOP/patch/115/import/bneintegrator.lct "$AOBJ".ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE
elif (test $ATYP = "WADILAYO") then
FNDLOAD $FRSID 0 Y DOWNLOAD $BNE_TOP/patch/115/import/bnelay.lct "$AOBJ".ldt BNE_LAYOUTS LAYOUT_ASN=$AASN LAYOUT_CODE="$AOBJ"
FNDLOAD $TOSID 0 Y UPLOAD $BNE_TOP/patch/115/import/bnelay.lct "$AOBJ".ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE
elif (test $ATYP = "WADIMAPC") then
FNDLOAD $FRSID 0 Y DOWNLOAD $BNE_TOP/patch/115/import/bnemap.lct "$AOBJ".ldt BNE_MAPPINGS MAPPING_ASN=$AASN MAPPING_CODE="$AOBJ"
FNDLOAD $TOSID 0 Y UPLOAD $BNE_TOP/patch/115/import/bnemap.lct "$AOBJ".ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE
elif (test $ATYP = "WADISTYL") then
FNDLOAD $FRSID 0 Y DOWNLOAD $BNE_TOP/patch/115/import/bness.lct "$AOBJ".ldt BNE_STYLESHEETS CONTENT_ASN=$AASN STYLESHEET_CODE="$AOBJ" STYLESHEET_ASN=$AASN
FNDLOAD $TOSID 0 Y UPLOAD $BNE_TOP/patch/115/import/bness.lct "$AOBJ".ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE
elif (test $ATYP = "XLAD") then
sqlsmt=""
sqlsmt=$sqlsmt"select distinct 'APPLID:'||application_id"'\n'
sqlsmt=$sqlsmt" from applsys.fnd_application "'\n'
sqlsmt=$sqlsmt" where application_short_name = '"$AASN"'; "'\n'
sqlsmt=$sqlsmt"exit "'\n'
echo $sqlsmt > $rtime.sql
sqlplus -s $FRSID @$rtime.sql > $rtime.out
for i in `awk '/APPLID/ {print $0}' $rtime.out`
do
APPLID=`echo $i|awk '{FS=":"} {print $2}'`
done

FNDLOAD $FRSID 0 Y DOWNLOAD $MWD_TOP/admin/ldt/xlaaadrule.lct "$AOBJ".ldt XLA_AAD APPLICATION_ID=$APPLID AMB_CONTEXT_CODE=DEFAULT FEDERAL=N
FNDLOAD $TOSID 0 Y UPLOAD $MWD_TOP/admin/ldt/xlaaadrule.lct "$AOBJ".ldt XLA_AAD APPLICATION_ID=$APPLID AMB_CONTEXT_CODE=DEFAULT UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE
elif (test $ATYP = "PJSTAT") then
FNDLOAD $FRSID 0 Y DOWNLOAD $PA_TOP/patch/115/import/paprjsta.lct "$AOBJ".ldt PA_PROJECT_STATUSES
FNDLOAD $TOSID 0 Y UPLOAD $PA_TOP/patch/115/import/paprjsta.lct "$AOBJ".ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE
FNDLOAD $FRSID 0 Y DOWNLOAD $PA_TOP/patch/115/import/paprjsta.lct "$AOBJ"_CONTROLS.ldt PA_PROJECT_STATUS_CONTROLS
FNDLOAD $TOSID 0 Y UPLOAD $PA_TOP/patch/115/import/paprjsta.lct "$AOBJ"_CONTROLS.ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE
FNDLOAD $FRSID 0 Y DOWNLOAD $PA_TOP/patch/115/import/pacinest.lct "$AOBJ"_ALLOW.ldt PA_NEXT_ALLOW_STATUSES
FNDLOAD $TOSID 0 Y UPLOAD $PA_TOP/patch/115/import/pacinest.lct "$AOBJ"_ALLOW.ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE
fi
rm $rtime.sql
rm $rtime.out
#chmod 777 *.log
#chmod 777 *.rtf
#chmod 777 *.ldt
#chmod 777 *.xml
Advertisement

Oracle OpenWorld 2016 in 5 Pages

 

All of Oracle Cloud on a Page
Oracle OpenWorld 2016 Cloud Services and Products Summary

4 Days (almost 7 for me) of Product Directors and Managers spinning as many plates in the air as humanly possible, all being tossed into the Cloud with a fervor only matched by the lack of compensation being provided for conventional technology stack sales, left me with some specific value-adds for my time spent (not including the Safe Harbor information, we can’t say anything about….sshhhh.)

Note: (I’m EBS-centric and we have very little budget for hardware, so while I was amazed at the new SPARC S7 processors with on-board encryption and J/SQL optimization, alas they didn’t make it into my summary pages this year.)

AD/TXK Delta.8
Oracle E-Business Suite Applications DBA and Technology Stack Release Notes for R12.AD.C.Delta.8 and R12.TXK.C.Delta.8 (Doc ID 2159750.1)

Configuring Oracle E-Business Suite Release 12.x Using Logical Host Names (Doc ID 1968231.1)

  • e-Mail Notifications at Parent and Child Levels for Request Sets
  • Save and Re-use Concurrent Program Parameters (CP Templates)
  • Regex Support in Profile Option Values and FND_MESSAGES
  • Multiple OA Framework Windows and Tabs in Multiple Browser Windows
  • EBS Healthcheck Diagnostics
  • 64-bit JDK’s on CM Tier
  • adop Improvements
  • Delta Sync Mode (syncmode=patch/delta) – changed rows only
  • Rsync support in phase=prepare
  • Custom module sync auto-supported (no custom drivers req’d)
  • Standardized logging SessionID/ExecutionID/phase/node

EBS 12.2.6.AD Oracle E-Business Suite 12.2.6 Readme (Doc ID 2114016.1)

  • Security Configuration Console
  • JSP Whitelisting
  • Redirection Whitelisting
  • AD/TKX.Delta.8 incorporated
  • More HTML User Interfaces: HTML alternatives to several existing Forms; interfaces offer simpler layouts and more modern user interactions.

–Examples include the Update Assets UI in Enterprise Asset Management, and AOL setup UIs for Users, Responsibilities, and Flexfields.

SecureFiles does not allow shrinking of the tablespace after deletions (AP Imaging)

Available Interconnect Cloud Service adapters:

  • –PL/SQL
  • –Java Beans
  • –Apps Modules

Roadmap ICS adapters:

  • –REST
  • –Concurrent Programs
  • –XML Gateway
  • –BPEL/Business Services

CAAS (Cloud Adaptive Assistant Service) – The widget Larry was text-chatting with.

Mobile Foundation and Mobile Application Framework

Foundation v6 released August 2016

–Incorporates MAF 2.3.2

–Enhancements for Approvals (HR, Projects, Service Centers, Quoting, Custom Approvals)

Foundation v7 scheduled for April 2017

MAF Roadmap items:

–Airwatch and MobileIron support

–Mobile REST API’s

–EBS Integrated Service Gateway support (SOA)

PDF Version for download:       oracle_oow16_summary_jlui

Investigating an OEM 12c E-Business Suite Alert (AMS 12.1.0.x)

OEM 12 Home Page
OEM 12 Home Page

The Applications Management Suite plug-in for Oracle Enterprise Manager simplifies discovery of the myriad of subtargets that make up an Oracle E-Business Suite instance.  Correspondingly, the number of alerts sent out can rise dramatically because of the inter-relationships between the components.

For example, the outage of a single Apache process triggers all of the following associated targets also to flag as a service Down status:

INSTANCE-Oracle E-Business Suite
INSTANCE-Infrastructure INSTANCE_host-APPL_TOP Context
HTTP_Server

The number of downed targets increases if a subcomponent of a primary component (such as a single JVM thread under the OACore process) experiences an outage.

This is a simple walk-through of navigating one of the e-mail alerts to start figuring out what happened.

The e-mail alert looks like this:

From: OEM12 Burbank
Sent: Monday, December 07, 2015 8:30 AM
To: DBAs
Subject: EM Event: Fatal:INSTANCE-Oracle E-Business Suite – Target is down; 1 member is down: INSTANCE_EBS Availability System

Host=hostname
Target type=Oracle E-Business Suite
Target name=INSTANCE-Oracle E-Business Suite
Categories=Availability
Message=Target is down; 1 member is down: INSTANCE_EBS Availability System
Severity=Fatal
Event reported time=Dec 7, 2015 8:29:14 AM PST
Target Lifecycle Status=Production
Operating System=Linux
Platform=x86_64
Associated Incident Id=390885
Associated Incident Status=New
Associated Incident Owner=
Associated Incident Acknowledged By Owner=No
Associated Incident Priority=None
Associated Incident Escalation Level=0
Event Type=Target Availability
Event name=Status
Availability status=Down
Root Cause Analysis Status=Symptom
Rule Name=EBS Notifications,Rule_EBS_Notifications
(to get notified, you set up Rule Sets that tell OEM when and what to notify you about)

Rule Owner=DBA
Update Details:
Target is down; 1 member is down: INSTANCE_EBS Availability System
Incident created by rule (Name = Incident management rule set for all targets, Incident creation rule for a Target Down availability status [System generated rule]).


To investigate an event alert, click on the Associated Incident ID (e.g. the 390885 which on your system will be a URL taking you into OEM) which will take you to the associated Incident Summary page.

Click on Related Events to investigate what raised the event alert (there may be more than one cause):

ss1
OEM 12c AMS 12.1.0.4 – Incident Details

From the screen, it shows the red mark on PRODARMK-Infrastructure PRODARMK_ascopofinm01-APPL_TOP Context (Oracle E-Business Suite Node).

Click on that link in the list of Targets.

Navigate to Monitoring -> Status History:

ss2
OEM 12c AMS 12.1.0.4 – Navigation Target: Monitoring -> Status History

Change the Availability History view to All History (the related underlying event caused is displayed.)

ss3
OEM 12c AMS 12.1.0.4 – Target: Status History Details

If you click on the related Message (e.g. Target is down; 1 member is down: INSTANCE_hostname.auca.corp_oacore_JVM_…); you will then be shown the related Event page for that target:

ss4
OEM 12c AMS 12.1.0.4 – Target: Event Details

Click on the Related Events tab for this target, to confirm the service alert recorded:

ss5
OEM 12c AMS 12.1.0.4 – Target: Event Details -> Related Events Timeline

If this is a recurring issue, by sliding the timeline back and forth (and adjusting the period view to a larger sample) you can see if there are any associated time-related occurrences that can be used to identify root cause.

For the specific issue, login to the associated host, and view the output and error logs for the process itself to determine what triggered the alert (in this case, the JVM automatically restarted the OACore process that had run out of memory.)

@Oracle R12 EBS HTTP Server Error Child Could Not Open Sslmutex Lockfile

HTTP Server Error “Child Could Not Open Sslmutex Lockfile” (Doc ID 562624.1) addresses a non-critical, but annoying issue (because it tends to fill up the $INST_TOP/logs/ora/10.1.3/Apache directory with big error logs every day – every mouse click on a OA Framework page generates an error entry).

mod_ossl: Child could not open SSLMutex lockfile /apps/oracle/oas/10.1.3.1/Apache/Apache/logs/ssl_mutex.10549 (System error follows)
System: No such file or directory (errno: 2)

And sort of randomly, your HTTP service will show “Stop” on the adapcctl.sh status screen. But it’s probably still actually running (the processes still show up when ps -ef | grep httpd – and the OA Framework still seems to be responding).

applmgr@myhostname$> $SCRIPT_TOP/adapcctl.sh status

You are running adapcctl.sh version 120.7.12010000.2
Checking status of OPMN managed Oracle HTTP Server (OHS) instance ...
Processes in Instance: ENV_ID.myhostname
---------------------------------+--------------------+---------+---------
ias-component                    | process-type       |     pid | status 
---------------------------------+--------------------+---------+---------
OC4JGroup:default_group          | OC4J:oafm          |   16788 | Alive  
OC4JGroup:default_group          | OC4J:forms         |   16709 | Alive  
OC4JGroup:default_group          | OC4J:oacore        |   21689 | Alive  
HTTP_Server                      | HTTP_Server        |   16494 | Stop

OEM will show the HTTP service as being down, even though the pages are probably still responding:

R12 EBS OEM AMS monitor HTTP Service down screenshot
R12 EBS OEM AMS monitor HTTP Service down screenshot

Implementation for e-Business Suite R12 is relatively easy (just modify 2 configuration files and bounce Apache), but making sure the changes stick after AutoConfig runs means you do need to learn about the configuration templates in $FND_TOP/admin/templates.

These are the skeletal files used during AutoConfig (adautocfg.sh) that regenerate all those files used to control the middleware and database software configuration.  These are the files you that contain warning headers written into each and every one of them warning you not to make direct changes to the configuration file itself like:

# ###############################################################
#
# This file is automatically generated by AutoConfig.  It will be read and
# overwritten.  If you were instructed to edit this file, or if you are not
# able to use the settings created by AutoConfig, refer to Metalink Note
# 387859.1 for assistance.
#
# ###############################################################
)

## Execute on every R12 MT server running HTTP/web services – Apache downtime required during change.
# Stop Apache
$SCRIPT_TOP/adapcctl.sh stop

#  Before change
applmgr@myhostname $> cd $INST_TOP/ora/10.1.3/Apache/Apache/conf
applmgr@myhostname $> grep mutex *

ssl.conf:SSLMutex  file:/ptcharmk/inst/apps/${ENV_ID}/logs/ora/10.1.3/Apache/ssl_mutex

# Append a line to the existing custom template
echo -e “\nAcceptMutex pthread\n” >> $FND_TOP/admin/template/custom_conf_1013.tmp

# Modify the existing SSL template (doesn’t seem to have a custom include on this one)
vi $FND_TOP/admin/template/ssl_conf_1013.tmp
=============

Comment:  # SSLMutex  file:${INST_TOP}/logs/ora/10.1.3/Apache/ssl_mutex
Insert:     SSLMutex sem

# Execute AutoConfig

$SCRIPT_TOP/adautocfg.sh -appspass=$APPS_PW

# Re-Start Apache
$SCRIPT_TOP/adapcctl.sh start

# After Change
applmgr@myhostname $> cd $INST_TOP/ora/10.1.3/Apache/Apache/conf
applmgr@myhostname $> grep -i utex $INST_TOP/ora/10.1.3/Apache/Apache/conf/*

custom.conf:AcceptMutex pthread
ssl.conf:# SSLMutex  file:${INST_TOP}/logs/ora/10.1.3/Apache/ssl_mutex
ssl.conf:SSLMutex  sem

# Confirm semaphore mode is activated

applmgr@myhostname $> grep -i mutex $INST_TOP/logs/ora/10.1.3/Apache/*
$INST_TOP/logs/ora/10.1.3/Apache/error_log.1437091200:[Fri Jul 17 11:58:14 2015] [notice] Accept mutex: pthread (Default: fcntl)
$INST_TOP/logs/ora/10.1.3/Apache/error_log.1437091200:[Fri Jul 17 12:12:12 2015] [notice] Accept mutex: pthread (Default: fcntl)

As mentioned in the MOS document (Doc ID 562624.1), you may need to use ipcs -a to view hanging semaphore processes after making this change, and use ipcrm -s to kill the hanging processes if Apache refuses to startup after making this change and a different issue causes Apache’s processes to hang.

e-Business Suite Patches ONE-OFF, or Family Pack – My @Oracle Support Searches

One-off patch, then [Search]

Patches & Updates Name or Bug Number (Simple)
Patches & Updates Name or Bug Number (Simple)

Click on the Patch# (link):

Patch Search Results
Patch Search Results

Showing that this particular patch was not superceded by a Family pack release:Patch DescriptionBut in the README.txt – the giveaway is the “Target Mini-pack/Family Pack/Release” – 12.1.4/12.2 means this won’t be incorporated into a 12.1.3 Family pack and will only be included in an eventual 12.1.4 upgrade, or in the 12.2 upgrade.  It would remain a ONE-OFF status for 12.1.3.

Patch README.txt
Patch README.txt

The other approach is going from the RPC downward:

Patches & Updates Product or Family (Advanced)
Patches & Updates Product or Family (Advanced)

For a Functional Overview of this patch please review EBS: R12.1: Receivables

Recommended Patch Collection (RPC), Feb 2015  (Doc ID 1980300.1)

Refer to Doc ID 954704.1 for all Financials Feb 2015 RPCs.

nb – In case it’s useful – you can make a browser shortcut for any My Oracle Support Document ID’s by using the search URL: https://support.oracle.com/epmos/faces/DocContentDisplay?id=(documentID#)

R12 e-Business Suite and OEM Monitoring – Oracle Spins Freezes

Every so often, system load on an e-Business Suite instance ramps up and response time to users starts climbing, often resulting in user observed errors such as:

  • FRM-92100 Your connect to the server has been interrupted
  • FRM-92102 A network error has occurred

    FRM-92102 Forms Error R12 EBS
    That dreaded FRM-91201 / FRM-91200 error causing you to restart your session.

Or sometimes, the screen just freezes (aka spins, stops, is broken, stuck, motionless, looks like a screen saver,can’t do anything, won’t work, froze-up, etc.) and the person has to close their browser, or even shut-down their workstation and restart.

It's simply not doing anything - Nothing to see here, just move your cursor around. And wait... and wait.
It’s simply not doing anything – Nothing to see here, just move your cursor around. And wait… and wait.

Old technology often barks with unrelated error messages to the actual cause.  If there’s a lot going on with concurrent requests, or interfaces, or analytic extracts running, the front-end response-time slows down, sometimes sufficiently to trigger these kinds of Form errors, even though technically there was no interruption to the network connectivity, either between the hosts, nor the workstation and the middle-tier application server.

However, on the database, the user-experience can be seen, although not necessarily in the place you might expect.  OEM  had introduced it’s Adaptive Metric Thresholds technology back in OEM 11g (in a slightly different place than in 12c (in Oracle Management Server/OMS 12.1.0.4.0).  In OEM 11g, they were a link under the AWR Baseline Reports page.

OEM 11g AWR Baselines Page
See the Baseline Metric Thresholds link at the bottom.

In OEM 12c, you’ll find them under

Targets -> Database -> Peformance -> Adaptive Thresholds -> Baseline Metric Thresholds -> Edit Thresholds:

OEM 12c Baseline Metric Thresholds
Where those adaptive metric thresholds moved in 12c.

 

 

On this page and in the list of Baseline Metrics, when you click into them, you can access the trending statistics being gathered for each metric.  Many times this will provide direct insight into what a user experiences as the “the system is frozen” translates into “the back-end database response time is incredibly bad.”

OEM 12c Baseline Metric Response Time per Transaction vs. Baseline
See the spikes around 7AM and 11:30AM? Those are being associated with “System Froze” reports.

 

In the example here, the database experienced a dramatic slow-down in response almost 5 to 10 times slower than usual, which only lasted a few seconds. But that can be enough to show up in many users’ sessions who might have just kicked off a query, or were trying to save something.  Based upon the information gathered, we set the Warning and Critical thresholds to 1500ms and 2000ms respectively to start sending e-mail alert notifications upon breach of the levels. If the settings are left at “None”, no incident would be raised, and thus, no notification would be sent.

If you’re experiencing odd transient outages or sluggish behavior that defies the normal AWR and ADDM snapshot analysis, go take a look at what OEM has been gathering in the background over time and see if the statistics correlate to any of your issues.  There’s value in that data. Just mine it.

Using Demo Data for Oracle Data Mining Tools

With the forthcoming (but already available) SQLDeveloper 4.1 edition, an improved version of the Oracle Data Miner tools is incorporated into the SQLDeveloper console.  However, I found that there were a number of steps needed to actually use this new data modeling product other than just responding ‘Yes’ to the “Do you wish to enable the Data Miner Repository on this database?” prompt.

Here’s what I ended up doing to get things up and running (so that I could play with data modeling and visualization using Excel and the new SQLDeveloper DM extensions.)

#In this case, I’m adding back the demonstration data (i.e. EMP, DEPTNO type tables; the SH, OE, HR, et.al. schemas) into an existing R12 e-Business Suite (12.1.3) instance.

# Installing the Oracle Demo data in an R12 instance.

# Use the runInstaller from the R12 $ORACLE_HOME
cd $ORACLE_HOME/oui/bin
export DISPLAY=<workstation IP>:0.0
./runInstaller

# Choose the source products.xml from the staging area – Download and stage the DB Examples CD from OTN
/mnt/nfs/database/11203/examples/stage/products.xml

# Complete the OUI installation through [Finish]

cd $ORACLE_HOME/demo/schema
mkdir -p $ORACLE_HOME/demo/schema/log
echo $ORACLE_HOME/demo/schema/log/     ## used to respond to the Log Directory prompt during mksample.sql

sqlplus “/ as sysdba”
— will need passwords for: SYS/SYSTEM and APPS (used for all of the demo schemas, some of which pre-exist such as, HR, OE (PM, IX, SH and BI were okay for 12.1.3).

— ## Be sure to comment out any DROP USER <HR, OE, etc.) commands in this script (or you will be restoring your EBS instance from a backup because it just dropped your Module schema tables…) ##
— They look like this:
/*
mksample.sql:– DROP USER hr CASCADE;
mksample.sql:– DROP USER oe CASCADE;
mksample.sql:DROP USER pm CASCADE;
mksample.sql:DROP USER ix CASCADE;
mksample.sql:DROP USER sh CASCADE;
mksample.sql:DROP USER bi CASCADE;
*/

–Similarly – if/when you decide you no longer need the data – do NOT just use the $ORACLE_HOME/demo/schema/drop_sch.sql script
–or you just dropped your HR/OE/BI EBS schemas; don’t do that.
/*
drop_sch.sql:PROMPT Dropping Sample Schemas
drop_sch.sql:– DROP USER hr CASCADE;
drop_sch.sql:– DROP USER oe CASCADE;
drop_sch.sql:DROP USER pm CASCADE;
drop_sch.sql:DROP USER ix CASCADE;
drop_sch.sql:DROP USER sh CASCADE;
drop_sch.sql:DROP USER bi CASCADE;

order_entry/oe_main.sql:– Dropping the user with all its objects
order_entry/oe_main.sql:– DROP USER oe CASCADE;
order_entry/oe_main.sql:– ALTER USER oe DEFAULT TABLESPACE &tbs QUOTA UNLIMITED ON &tbs;

*/
— in this instance the $APPS_PW is synchronized to all application module schemas (i.e. AR, HR, GL, etc.)
— log directory would be the actual path from echo $ORACLE_HOME/demo/schema/log/ (including the trailing slash)
SQL> @mksample.sql

# to additionally create the Data Mining user (DM in this case)

create user &&dmuser identified by &&dmuserpwd
default tablespace &&usertblspc
temporary tablespace &&temptblspc
quota unlimited on &&usertblspc;

GRANT CREATE JOB TO &&dmuser;
GRANT CREATE MINING MODEL TO &&dmuser;       — required for creating models
GRANT CREATE PROCEDURE TO &&dmuser;
GRANT CREATE SEQUENCE TO &&dmuser;
GRANT CREATE SESSION TO &&dmuser;
GRANT CREATE SYNONYM TO &&dmuser;
GRANT CREATE TABLE TO &&dmuser;
GRANT CREATE TYPE TO &&dmuser;
GRANT CREATE VIEW TO &&dmuser;
GRANT EXECUTE ON ctxsys.ctx_ddl TO &&dmuser;
GRANT CREATE ANY DIRECTORY TO &&dmuser;
— Grant the SH Demo table and package objects to the DM user
@?/rdbms/demo/dmshgrants.sql &&dmuser

connect &&dmuser/&&dmuserpwd
— Create the Data Mining Views against the  SH Demo table and package objects
@?/rdbms/demo/dmsh.sql

@?/rdbms/demo/dmabdemo.sql — Builds the Adaptive Baynes Model demo
@?/rdbms/demo/dmaidemo.sql — Builds the Attribute Importance demo
@?/rdbms/demo/dmardemo.sql — Builds the Association Rules demo
@?/rdbms/demo/dmdtdemo.sql — Builds the Decision Tree demo
@?/rdbms/demo/dmdtxvlddemo.sql — Builds the Cross Validation demo
@?/rdbms/demo/dmglcdem.sql — Builds the Generalized Linear model demo
@?/rdbms/demo/dmglrdem.sql — Builds the General Linear Regression model demo
@?/rdbms/demo/dmhpdemo.sql — not a Data Mining program – Hierarchical Profiler
@?/rdbms/demo/dmkmdemo.sql — Builds the K-Means Clustering model demo
@?/rdbms/demo/dmnbdemo.sql — Builds the Naive Baynes Model data
@?/rdbms/demo/dmnmdemo.sql — Builds the Non-negative Matrix Factorization model
@?/rdbms/demo/dmocdemo.sql — Builds the O-Cluster model Demo
@?/rdbms/demo/dmsvcdem.sql — Builds the Support Vector Machine model demo
@?/rdbms/demo/dmsvodem.sql — Builds the One-Class Support Vector Machine model demo
@?/rdbms/demo/dmsvrdem.sql — Builds the Support Vector Regression model demo
@?/rdbms/demo/dmtxtfe.sql — Builds the Oracle Text Term Feature Extractor demo
@?/rdbms/demo/dmtxtnmf.sql — Builds the Text Mining Non-Negative Matrix Factorization model demo
@?/rdbms/demo/dmtxtsvm.sql — Builds the Text Mining Support Vector Machine model demo

## End of Data Mining Demo user (DM) setup and configuration for use of Oracle Demo Data

Java 7 (1.7.0_) and Java 6 on the Same Workstation for R12 e-Business Suite EBS and other Apps

The challenge: We have a number of 3rd party Cloud applications that are still on Java 6, so we have that version (1.6.0_26 specifically) deployed to our workstations. We configured R12 to use 1.6.0_26 on the server side to minimize impact to the users. We are now implementing Informatica Information Lifecycle Management (an archive and purge technology), which has a component (the Enterprise Data Manager – EDM) which is a Java 7-based application used by certain administrative and analyst users. We needed to have those users support both Java 7 and Java 6 on the same workstation for the browsers (Internet Explorer, Firefox, Chrome).

Starting with a Windows 7 (32-bit) workstation with a working Java 1.6.0_26 installed (and 1.6.0_7 disabled).

Used the Java SE 7 SDK from the Oracle Java Archive (staged to the DBA Share /Software/Java because the 7 downloadables will be pulled from the site as of April-2015):

http://www.oracle.com/technetwork/java/javase/archive-139210.html

Chose: Java SE Development Kit 7u25 (includes the JRE runtime edition) – newer versions (post- and including update 40) contain an non-bypassable Security Warning message for using Java 6 applications.

Installed Java 7 using default parameters and completed successfully.

Open the Java Control Panel (available in the Toolbar, as the Java coffee cup icon, if a Java application is already running – e.g. EBS; or via Control Panel -> Java)

Preferred Enabled settings under the [Java] tab -> View…

06a_java_cpanel

06_java_7_and_6_versions_cpanel

De-select the Java Plug-in (next-generation) features (due to co-existence with Java 6) – we also turn off Automatic Java Updates, and default the automatic JNLP MIME/execution association setting to make it easier for users:

07_java_7_adv_tab_disable_next_gen_cpanel

Launch Informatica EDM:

04_java_launch_ilm_edm_ss

Java Update Needed – Check (Do not ask again) -> Select -> Later

01_java_upd_needed_ss

Choose default launcher for EDM’s JNLP (also can be defaulted in the Java Control Panel -> Advanced settings)

05_java_launch_ilm_edm_pick_app_ss

EDM Launches:

02_java_launch_edm_ss

03_java_launch_edm__success_ss

Launching R12 e-Business Suite under Java 6:

Launch Forms Session (Profile -> System used as an example)

Security Warning – due to Java having incomplete Certificate Authority trust to the Aramark Hosts (can be addressed also via Control Panel -> Java -> [Security] -> Manage Certificates -> Import Certificate -> add certificates provided by AUS Server Team (password required).

The Java 7 update 25 warning looks like this (click the Activate Java link; then on the next pop-up click Allow and Remember – to suppress future warning messages):

01b_java_upd_needed_pre40_ss

The post-Java 7 update 40 warning looks like this (select – I accept the risk; click [Run]):

08_java_launch_ebs_sec_warn_ss

Ref: http://java.com/en/download/faq/signed_code.xml

Why don’t I see the option to select Do not show this again for this app in the security dialog for an unsigned application?

Starting with Java 7 Update 40, the option to select Do not show this again for this app is no longer available. Unlike previous versions a user cannot suppress the security dialog for an unsigned application and will have to select the option, I accept the risk and want to run this app, each time to run the unsigned application.

Security Warning – these will come up twice in a row – once when the R12 forms servlet is instantiating and a second time when the actual Forms launch. Once Allow this application to run with the requested version (1.6.0_26) is selected, these warnings should be suppressed in future sessions.

09_java_launch_ebs_sec_warn2_run_6_ss

R12 and EDM simultaneously launched successfully.

11_java_launch_ebs_ilm_success_ss

R12.2.3 / R12.2.x Oracle e-Business Suite – Resetting the WebLogic Password

…because occasionally you either forget it (or in my case, a technology patch reset it to something I wasn’t sure about.)wls_denied_ss

There are 2 basic routes:


The “short” process – re-run the post-clone config (adcfgclone.pl):

# Have to remove the existing FMW home because it will re-unzip a new one from the clone staging archive
applptch@aburpaofinm01 $> cd /u01/fs2
applptch@aburpaofinm01 $> ls
EBSapps  FMW_Home  inst
applptch@aburpaofinm01 $> ls -latr
total 24
drwxrwxr-x  8 applptch oinstall 4096 May  8 21:49 ..
drwxr-xr-x  5 applptch oinstall 4096 May  9 12:33 EBSapps
drwxr-xr-x  3 applptch oinstall 4096 Jul 16 15:30 inst
drwxr-xr-x  6 applptch oinstall 4096 Jul 16 15:41 .
drwxr-x— 13 applptch oinstall 4096 Jul 16 16:16 FMW_Home
applptch@aburpaofinm01 $> rm -rf FMW_HOME_BAK
# Check that the Oracle Homes are not in the OraInventory
# Or you will receive the error:
# Below Oracle Homes are already registered in the global inventory:
#/u01/fs2/FMW_Home/Oracle_EBS-app1
#/u01/fs2/FMW_Home/webtier
#/u01/fs2/FMW_Home/oracle_common
#
# Exiting Cloning…
#
# Ensure that the above Oracle Homes are unregistered from the global inventory “/u01/oraInventory/ContentsXML/inventory.xml” and re-run adcfgclone.pl script
vi /u01/oraInventory/ContentsXML/inventory.xml
# and remove the <HOME> through </HOME> entries for the 3 listed entries
# Begin the clone – needs the APPS password
applptch@aburpaofinm01 $> cd $COMMON_TOP/clone/bin
applptch@aburpaofinm01 $> perl adcfgclone.pl appsTier


The “long” process – by manually manipulating the admin account in the /u01/<fs#>/FMW_Home:

# Verify your Weblogic Environment home
applptch@aburpaofinm01 $> set | grep EBS

EBS_DOMAIN_HOME=/u01/fs2/FMW_Home/user_projects/domains/EBS_domain_PTCHARMK

# Stop Weblogic
$ADMIN_SCRIPTS_HOME/adstpall.sh apps/$APPS_PW
Weblogic Password: [anything because you don’t know it]

# Set your environment
cd $EBS_DOMAIN_HOME/bin
. setDomainEnv.sh

# Remove the existing LDIFT’s, boot.properties and LDAP directory
rm -rf $EBS_DOMAIN_HOME/security/DefaultAuthenticatorInit.ldift ; \
rm -rf $EBS_DOMAIN_HOME/servers/AdminServer/security/boot.properties ; \
rm -rf $EBS_DOMAIN_HOME/servers/oacore_server?/security/boot.properties ; \
rm -rf $EBS_DOMAIN_HOME/servers/forms_server?/security/boot.properties ; \
rm -rf $EBS_DOMAIN_HOME/servers/oafm_server?/security/boot.properties ; \
rm -rf $EBS_DOMAIN_HOME/servers/forms-c4ws_server?/security/boot.properties ; \
rm -rf $EBS_DOMAIN_HOME/servers/oaea_server?/security/boot.properties ; \
rm -rf $EBS_DOMAIN_HOME/servers/AdminServer/data/nodemanager/boot.properties ; \
rm -rf $EBS_DOMAIN_HOME/servers/AdminServer/data/ldap

# Start AdminServer from command line manually
cd $EBS_DOMAIN_HOME ;\
startWebLogic.sh

# Enter new credentials as above
<Sep 16, 2014 4:58:09 PM PDT> <Info> <Security> <BEA-090065> <Getting boot identity from user.>
Enter username to boot WebLogic server:weblogic
Enter password to boot WebLogic server:

Change NodeManager password

Log in to the WebLogic Administration console.
Click the Lock & Edit button.
In the left panel, click on the EBS Domain link.
Select the Security tab.
Click on the ‘Advanced’ link.
Edit the ‘Node Manager password’ field and set it to the new WebLogic Server password. The password should be same as set in Step 3.
Edit the ‘Confirm NodeManager Password’ field and set it to the new WebLogic Server password. The password should be same as set in Step 3.
Save and activate the changes.

Shut down AdminServer from the console. For the first time, AdminServer has to be stopped from the Admin console. Follow these steps:

Log in to the WebLogic Administration console.
Shut down AdminServer.

Shut down NodeManager using the normal AD script.

$ADMIN_SCRIPTS_HOME/adnodemgrctl.sh stop

Copy the boot.properties file for all managed servers.

cp $EBS_DOMAIN_HOME/servers/AdminServer/data/nodemanager/boot.properties \
$EBS_DOMAIN_HOME/servers/oacore_server?/security/boot.properties  \
$EBS_DOMAIN_HOME/servers/forms_server?/security/boot.properties  \
$EBS_DOMAIN_HOME/servers/oafm_server?/security/boot.properties  \
$EBS_DOMAIN_HOME/servers/forms-c4ws_server?/security/boot.properties  \
$EBS_DOMAIN_HOME/servers/oaea_server?/security/boot.properties

The EBS WebLogic Server domain password has now been changed, and all servers can now be started using the normal AD scripts.

To start AdminServer:

$ADMIN_SCRIPTS_HOME/adadminsrvctl.sh start

# Start it all back up again
$ADMIN_SCRIPTS_HOME/adstrtal.sh apps/$APPS_PW
Weblogic Password: [weblogic pwd]

Now your password change is complete (or at least you can get back into your Admin Console).

# Clone the working result from the run filesystem to the patch filesystem
$ adop phase=fs_clone

** Based upon a regular WebLogic post by:

http://shivabizint.wordpress.com/2012/10/15/how-to-reset-the-lost-weblogic-admin-user-password/

**And an R12.2 version by:

http://nagendrachillale.wordpress.com/2014/08/22/if-the-admin-password-of-an-ebs-weblogic-domain-is-lost-or-forgotten/

R12.1.3 Patch Warnings during AutoPatch – Fixed

If you’ve been bothered by these warning messages that come up during every AutoPatch (adpatch) session in Oracle e-Business Release 12.1.x:

AutoPatch warning:
Product Data File
/ptcharmk/apps/apps_st/appl/admin/zfaprod.txt
does not exist for product “zfa”.
This product is registered in the database but the
above file does not exist in APPL_TOP. The product
will be ignored without error.

AutoPatch warning:
Product Data File
/ptcharmk/apps/apps_st/appl/admin/zsaprod.txt
does not exist for product “zsa”.
This product is registered in the database but the
above file does not exist in APPL_TOP. The product
will be ignored without error.

AutoPatch warning:
Product Data File
/ptcharmk/apps/apps_st/appl/admin/jtsprod.txt
does not exist for product “jts”.
This product is registered in the database but the
above file does not exist in APPL_TOP. The product
will be ignored without error.

AutoPatch warning:
Territory Data File
/ptcharmk/apps/apps_st/appl/admin/zfaterr.txt
does not exist for product “zfa”.
This product is registered in the database but the
above file does not exist in APPL_TOP. The product
will be ignored without error.

AutoPatch warning:
Territory Data File
/ptcharmk/apps/apps_st/appl/admin/zsaterr.txt
does not exist for product “zsa”.
This product is registered in the database but the
above file does not exist in APPL_TOP. The product
will be ignored without error.
AutoPatch warning:
Territory Data File
/ptcharmk/apps/apps_st/appl/admin/jtsterr.txt
does not exist for product “jts”.
This product is registered in the database but the
above file does not exist in APPL_TOP. The product
will be ignored without error.

Simply Create the following text files. The contents should be respectively:

$APPL_TOP/admin/jtsprod.txt
%%% Single-product product data file format 12.0.A
jts 875
END_OF_PRODUCT_ABBREVIATIONS -999
875 jts JTS APP
No No No No
Yes Yes
875 JTS JTS
0
1.0.0 1.0.0
none
none
none
none
END_OF_PRODUCTS
Release 12.0.0
12.0.0
R120 R120_ additional-this-mpl
JTS 12.0.0
END_OF_RELEASE 0.0.0

$APPL_TOP/admin/jtsterr.txt (or substitute your own NLS_LANG and NLS_CHARACTERSET settings localized for your instance)
%%% Single-product territory data file format 12.0.A
R120
0 usaeng US AMERICAN EN US American_English
appltape.txt appltape.txt AL32UTF8
Yes Standard Data_Group
none
none
none
none
none
c jts Oracle_CRM_Self_Service_Admin
END_OF_PRODUCT_NAMES
END_OF_LANGUAGE_INFO

$APPL_TOP/admin/zsaprod.txt
%%% Single-product product data file format 12.0.A
zsa 506
END_OF_PRODUCT_ABBREVIATIONS -999
506 zsa ZSA APP
No No No No
Yes Yes
506 ZSA ZSA
0
1.0.0 1.0.0
none
none
none
none
END_OF_PRODUCTS
Release 12.0.0
12.0.0
R120 R120_ additional-this-mpl
ZSA 12.0.0
END_OF_RELEASE 0.0.0

$APPL_TOP/admin/zsaterr.txt
%%% Single-product territory data file format 12.0.A
R120
0 usaeng US AMERICAN EN US American_English
appltape.txt appltape.txt AL32UTF8
Yes Standard Data_Group
none
none
none
none
none
c zsa Oracle_Sales_Analyzer
END_OF_PRODUCT_NAMES
END_OF_LANGUAGE_INFO

$APPL_TOP/admin/zfaprod.txt
%%% Single-product product data file format 12.0.A
zfa 505
END_OF_PRODUCT_ABBREVIATIONS -999
505 zfa ZFA APP
No No No No
Yes Yes
505 ZFA ZFA
0
1.0.0 1.0.0
none
none
none
none
END_OF_PRODUCTS
Release 12.0.0
12.0.0
R120 R120_ additional-this-mpl
ZFA 12.0.0
END_OF_RELEASE 0.0.0

$APPL_TOP/admin/zfaterr.txt
%%% Single-product territory data file format 12.0.A
R120
0 usaeng US AMERICAN EN US American_English
appltape.txt appltape.txt AL32UTF8
Yes Standard Data_Group
none
none
none
none
none
c zfa Oracle_Financial_Analyzer
END_OF_PRODUCT_NAMES
END_OF_LANGUAGE_INFO

Repeat the following dummy file creations for each product you’re registering above:

Create directory $APPL_TOP/zfa/12.0.0/admin

Create directory $APPL_TOP/zfa/12.0.0/admin/driver

Create directory $APPL_TOP/zfa/12.0.0/admin/sql

Create file $APPL_TOP/zfa/12.0.0/admin/driver/zfafile.drv with following contents:
# Dummy xxadfile.drv

Create file $APPL_TOP/zfa/12.0.0/sql/ZFANLINS.sql with following contents:
commit;
exit;

Create file $APPL_TOP/zfa/12.0.0/admin/sql/ZFANLADD.sql with following contents:
commit;
exit;

 

That’s it – no more warnings during AutoPatch. (they are all legacy products anyway)

Oracle e-Business Suite Release R12.2 (.2) Upgrade – New Features Summary

Because my company asked for this, and I couldn’t find a readily available My Oracle Support document that is concise enough.

Based primarly upon:

Oracle E-Business Suite Release 12.2 Release Value Propositions (Doc ID 1580742.1)

With additions from notes by Steve Sutphin on LearningWerks.

Modules Being Covered in this Summary

  • Application Technology
  • Asset Lifecycle Management
  • Customer Relationship Management
  • Financials
  • Procurement
  • Human Capital Management

Not all modules are covered herein (e.g. Supply Chain, Project Billing, Project Management, Value Chain) simply because we don’t have them in-use, so I couldn’t validate the accuracy of those modules.

Applications Technology - User Interfaces, Infrastructure

Oracle EBS Release 12.2 Technology Stack
Oracle EBS Release 12.2 Technology Stack
  • WebLogic Server (11.1.1.6) replacing iAS (10.1.3)
    • [10.1.2 stays for Forms and Reports]
  • Mobile Certification for OA Framework
    • iPad, iPhone, Android
  • Report Manager and Web ADI
    • Certified for MS Office 2010/32-bit
  • Integrated SOA Gateway
    • Now on WebLogic for improved integration
  • Online Patching
    • Editioned filesystem and DB objects allow side-by-side Production and Test codesets with minimal switchover downtime.

Oracle EBS Release 12.2 Online Patching Process

  • Numerous OAFramework User Interface Cosmetic and Usability Improvements

Assets (Asset Lifecycle Management,  not FA) - Workflow, Productivity

  • Support for Asset Moves
    • Transactable Assets Allows Users To Move Assets In And Out Of Inventory, Transfer Assets From One Inventory Organization To Another, And Transfer Assets From One External Location To Another External Location
  • Enhanced Integration/Ease of Use
    • Asset Sale
    • Asset Retirements
    • Project-to-Project Material Transfers
    • Grouping of Serialized Items
  • Asset Tracking Mass Update

Customer Relationship Management - Revenue Tracking

  • Channel Revenue Management
    • Increased Automation in AR Deductions Settlement
    • Accrual Accounting with Trade Profiles
    • Extended Business Processes for Supplier Ship and Debit
    • Price Protection Agreements
  • Oracle Telesales
    • Visibility to Activities across Operating Units
    • Competitor Tracking at Product Level

Financials - Productivity, Controls

  • Cross-Module Enhancements
    • Multi-Org Access Control Security profiles that now support a list of operating units
    • Ledger Sets Ledgers sharing the same Chart of Accounts, Calendar and Period Type
    • Advanced Global Intercompany System (AGIS)
    • New Bank Account Model Single access point for defining and maintaining bank accounts in AP, AR, Collections, Payroll, CashMgt, & Treasury
  • Advanced Collections
    • Party (Customer) Level Bankruptcy Tracking
    • Support for Partial Disputed Transaction Amounts
  • Assets
    • Enh. Mass Additions I/F for Legacy Conversions
    • Automated Depr. Rollback for Selected Assets
    • Impairments/Unplanned Depreciation Visibility
    • Addl. BI Publisher Reports
  • Cash Management
    • Simplified Setup and Streamlined Bank Account Reconciliation
    • Reconciliation Success Rates for First Notice Items (FlexMatch)
    • Centrally-stored Balance History – Trends and Cash Positions
    • Flexible Cash Pooling
    • Maintain and Report on Authorized Signatories
  • Customer Data Hub
    • Tax Validation Management with Tax Geography Hierarchy
    • DQM Overview Dashboard
    • DQM public Application Programming Interface
    • Real-time Address Validation for Tax Purposes
  • e-Business Tax
    • Application of Specific Tax Configs to Business Entities
    • Tax Simulator and Determination Services
    • Customer Tax Information Import
  • General Ledger
    • Allocate Financial Data From One Or More Ledgers To A Different Target Ledger
    • Data Access Sets and Ledger Sets
    • Journal Batch Copy
    • Alternate Account UI
    • New Web-based Account Analysis & Drilldown
    • Flaggable As Non-Reversable Journal Sources
    • Integration to Hyperion DRM and Fusion Acctg Hub
  • Internet Expenses (iExpense)
    • Global Per Diem and Mileage Rates
    • Mileage Accumulation
    • Automatic Matching of Advance Payments
    • Flexible Application of Cash Advances
    • Payment Holds and Automatic Notifications
    • Enhanced Itemization Controls
    • New Audit Expense Report
    • Auto-Itemization of Expenses from Visa/AMEX
    • Parallel Approvals
    • New Header-level Document Attachments
    • Support for new iOS/Android Mobile Expenses
  • Payables
    • New User Interface For Supplier Entry And Maintenance
    • Centralized Bank Account Definitions (see Summary)
    • Improved Invoice Processing with Invoice Lines
    • Contract Financing, Retainage, and Progress Terms
    • Line-Level Invoice Approval Workflows
    • Self-Service Entry for Non-PO Invoices
    • Improved iSupplier Portal
    • Scheduled AP/AR Netting Batches
  • Receivables
    • Partial Period Revenue Recognition
    • Event-based Revenue Management
    • New Credit Card Error Handling
    • Improved Chargeback Reconciliation
    • Oracle Bill Presentment Architecture (BPA)
    • Customer Communication – Auto PDF Printing
    • New Sweep Invalid Distributions Report Details of the accounting exceptions that are holding the period close for review and action. If the amount involved is not material from the reporting perspective and resolving the accounting exceptions is likely to delay the period close, then the transactions with invalid accounting can be swept to the next open period.
    • Automated Auto Lockbox Processing (via CP)
    • API Support for Unidentified Receipt Assignments
  • Subledger Accounting
    • Enhanced Multi-Reporting Currency Functionality
    • Improved Reporting and Analysis with Supporting References
  • Treasury
    • New Automatic Floating Rate Reset for Bonds
    • Automated Cash Pooling Across Legal Entities
    • Automatic Bank Account Update for Redirecting Payments to a New Bank Account

Projects - Efficiencies

  • Project Costing
    • Labor Rate Schedules by Criteria
    • Enhanced Payroll Integration
    • Total Time Costing
    • Increased Control and Visibility for Multi-Funded Contingent Workers
    • Allocate Funding Based On Time And Expense Entry
    • Batch Processing of Mass Adjustments

Procurement - Efficiencies

  • iProcurement
    • Automatic Updates of Encumbrance Dates
    • Eligible Information Template Information Stored as Attachments
    • Override Employee Charge Account Preference
    • Dual Budgetary Controls (Encumbrance Acctg)
    • Item Master Attachments Support
    • Post-Approved PO Requisition Attachment Support
    • PO Import Process Can Use Account Generator Auto-generate Charge Accounts during Requisition Import (blank charge accounts)
  • iSupplier Portal
    • Enhanced Prospective Supplier Registration – Adaptive Supplier Onboarding
    • E-Kanban Support (Flow Manufacturing)
    • Enh. Supplier Contact Information Data URL, Alt. Contact Name/Phone
  • Purchasing
    • Automatic Updates of Encumbrance Dates
    • Additional WF Extensions for Custom Validations
  • Procurement Contracts
    • Multiple Templates Applied to Purchasing Docs
    • New API’s for Templates, Questions and Constants
    • New Clause Descriptor Field
    • Clause Mandatory Attribute at Rule Level
    • Clause Section Placement by Contract Expert
    • Deletion of Provisional Sections from Solicitation to Award
    • Instruction Text including URLs
    • Multi-Row Contract Clause Variables
    • Display and Sort by Clause Number
    • Enh. Repository Contracts License Agreements, Nondisclosure Agreements, Merger Contracts, Misc. Agreements (user-defined)
    • User Defined Attribute support for Deliverables
    • Sync/Down/Upload: MS Word 2010 Certification
    • Contract Expert Performance Improvements
  • Sourcing
    • Add Requisition lines to a Draft Negotiation
    • Ability To Withdraw Responses Submitted On An RFI/RFQ
    • Track Supplier Amendment Acknowledgements
    • Staggered Awards on Split Negotiations
    • Import of Price Breaks and Tiers via Excel
    • Negative Cost Factor Support
    • New API’s to Create RFIs, RFQs, Auctions and Negotiations
    • Online Discussions Attachments and Messaging
    • Terms and Conditions Display Controls
    • Lot Pricing Summaries (also by Lot Line)
  • Spend Classification
    • Reclassify Historical Data
    • Asynchronous Classified Batch Approval Flows
    • Enhanced Training Data Upload (up to 100MB)
    • Enhanced Knowledge Base Tracking Capability
    • Improvements in Analyzing KPI Batches with Excel Export
    • Classification Code Reset by Ranges

Human Capital Management - Streamlining, Efficiency

  • Cross-Module Enhancements
    • 30 Country Localization Support
    • Managerial Task Checklists
    • Bulk Synchronization -> Incremental Sync API
    • Future-Dated Terminations, Reversals, Rehires
  • Payroll
    • Purge Process Events
    • Quick Retro Pay (single assignment)
    • Self-Service Element Entry (w/WF approvals)
  • Human Resources
    • Streamlined Re-hire Processes
    • Self-Service Internal Hire Support