FNDLOAD is a powerful Oracle utility, providing significant time saving while migrating application objects from instance to instance. The downside is mandatory knowledge of all configuration files and parameters. In all the resourses dedicated to FNDLOAD which are available on the internet I haven't seen so far any suggestions to organize it in a simple and easy accesible way. Below is the code which can be turned into UNIX shell script and can help combine easy usage and power of FNDLOAD.
This is not something of industrial grade and I wasn't able to test it in full scale.
Any suggestion or errors reported will be greatly appreciated.
Lets say - if it is saved under name MyFNDLOAD_D, then to execute it , simply do
. MyFNDLOAD_D CP CONCURRENT_PROGRAM_SHORT_NAME APPLICATION_SHORT_NAME
As you can see there is no need to remember configuration file or the internal naming parameters.
Note: There is an error cloned from Metalink by multiple bloggers on Value Set with Values and Value Set migration parameter.
For Value Set it is really VALUE_SET.
For Value Set with Independent Values it is VALUE_SET_VALUE.
#!/bin/ksh
output_dir='apps_objects_download_dir'
login=apps/password
action='DOWNLOAD'
type=`echo $1 | tr [a-z] [A-Z]`
object=$2
app=$3
case $type in
help)
echo ' Use the following format: MyFNDLOAD_D [help|RS|CP] short_object_name application_short entity_short'
echo ' RSET - Request set ';
echo ' CP - Concurrent Program';
echo ' PO - Profile option';
echo ' VS - Value Set definition';
echo ' MN - Menu';
echo ' RG - Request Group';
echo ' LKP - FND Lookup TYPEs';
;;
RSET)
FNDLOAD $login O Y $action $FND_TOP/patch/115/import/afcprset.lct $output_dir/$object.ldt REQ_SET REQUEST_SET_NAME=$object
FNDLOAD $login O Y $action $FND_TOP/patch/115/import/afcprset.lct $object_links.ldt REQ_SET_LINKS REQUEST_SET_NAME=$object
;;
CP)
FNDLOAD $login O Y $action $FND_TOP/patch/115/import/afcpprog.lct $output_dir/$object.ldt PROGRAM APPLICATION_SHORT_NAME=$app CONCURRENT_PROGRAM_NAME=$object
;;
PO)
FNDLOAD $login O Y $action $FND_TOP/patch/115/import/afscprof.lct $output_dir/$object.ldt PROFILE PROFILE_NAME=$object APPLICATION_SHORT_NAME=$app
;;
VS)
FNDLOAD $login O Y $action $FND_TOP/patch/115/import/afffload.lct $output_dir/$object.ldt VALUE_SET FLEX_VALUE_SET_NAME=$object
;;
VSV)
FNDLOAD $login O Y $action $FND_TOP/patch/115/import/afffload.lct $output_dir/$object.ldt VALUE_SET_VALUE FLEX_VALUE_SET_NAME=$object
;;
RSP)
FNDLOAD $login O Y $action $FND_TOP/patch/115/import/afscursp.lct $output_dir/$object.ldt FND_RESPONSIBILITY RESP_KEY=$object
;;
MN)
FNDLOAD $login O Y $action $FND_TOP/patch/115/import/afsload.lct $output_dir/$object.ldt MENU MENU_NAME=$object
;;
RG)
FNDLOAD $login O Y $action $FND_TOP/patch/115/import/afcpreqg.lct $output_dir/$object.ldt REQUEST_GROUP REQUEST_GROUP_CODE=$object APPLICATION_SHORT_NAME=$app
;;
LKP)
FNDLOAD $login O Y $action $FND_TOP/patch/115/import/aflvmlu.lct $output_dir/$object.ldt FND_LOOKUP_TYPE APPLICATION_SHORT_NAME=$app LOOKUP_TYPE=$object
;;
DFF)
FNDLOAD $login 0 Y $action $FND_TOP/patch/115/import/afffload.lct $output_dir/$object.ldt DESC_FLEX APPLICATION_SHORT_NAME=PO DESCRIPTIVE_FLEXFIELD_NAME=$object
;;
MSG)
FNDLOAD $login 0 Y $action $FND_TOP/patch/115/import/afmdmsg.lct $output_dir/$object.ldt FND_NEW_MESSAGES APPLICATION_SHORT_NAME=$app MESSAGE_NAME=$object
;;
USER)
FNDLOAD $login 0 Y $action $FND_TOP/patch/115/import/afscursp.lct $output_dir/$object.ldt FND_USER USER_NAME=$object
;;
*) ;;
esac
# Now let change the OWNER name to ANONYMOUS if desired
cat $output_dir/$object.ldt | sed 's/OWNER.*=.*\".*\"/OWNER = \"ANONYMOUS\"/' > xx
# Move the files into output directory
mv xx $output_dir/$object.ldt
0 comments:
Post a Comment