Saturday, August 7, 2010

FND LOADER


FNDLOAD - Menu Driven

Hi friends, before I proceed thanks to everyone reading and supporting the blog.

Here is another new post on FNDLOAD which provides a menu to select the option and execute FNDLOAD Command.
Below are the screenshots of how screen looks
1)Accepts the apps password. Note that the password is hidden and not displayed on the screen.

2)Displays a menu to select an option and Downloads/Uploads a .ldt file


Below is the script
#The script that Displays a Menu and calls FNDLOAD command accordingly. 
#Created by       Date            Version
#Suresh Vaishya   29-Jul-09       1.0
#http://sureshvaishya.blogspot.com

#Suresh Vaishya. Reading apps password outside loop to avoid entering same thing again and again.
echo "Enter APPS Password: "
stty -echo             #Turns echo off
read appspwd
stty echo              #Turns echo on

sel='123456789'
while true
do  
if [ $sel -ne '123456789' ]
then
echo "Press ENTER key to continue"
read key
fi

tput clear
echo "1.  Download Concurrent Program"
echo "2.  Upload   Concurrent Program"
echo "3.  Download Request Group for a program"
echo "4.  Upload   Request Group for  a program"
echo "5.  Download Value Set"
echo "6.  Upload   Value Set"
echo "7.  Download Menu"
echo "8.  Upload   Menu"
echo "9.  Download Descriptive Flexfield Definition"
echo "10. Upload   Descriptive Flexfield Definition"
echo "11.  Download Descriptive Flexfield Definition"
echo "12. Upload   Descriptive Flexfield Definition"
echo "13. Download Lookup Definition and Values"
echo "14. Upload   Lookup Definition and Values"
echo "15. Download Forms Personalization"
echo "16. Upload   Forms Personalization"
echo "17. Download Responsibility"
echo "18. Upload   Responsibility"
echo "q or Q. Quit"

echo "Enter your selection  "
read sel

#echo "You entered $sel"
if [ "$sel" = 'q' ] || [ "$sel" = 'Q' ]
then
exit
fi

if [ $sel -gt 0 ] && [ $sel -lt 19 ]
then
if [ `printf "%d\n" "'$sel"` -gt 57 ] || [ `printf "%d\n" "'$sel"` -lt 49 ] # Suresh Vaishya. Using the ascii value to check valid values
then
echo "You entered $sel"
echo "Invalid selection. Valid value are from 1 to 18."
else
echo "Enter .ldt Name: "
read ldtname

#Suresh Vaishya   Download Concurrent program
if [ $sel -eq 1 ]
then
echo "Enter Application Short Name: "
read applname

echo "Enter Concurrent Program Short Name: "
read cpname

FNDLOAD apps/$appspwd O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct $ldtname PROGRAM APPLICATION_SHORT_NAME="$applname" CONCURRENT_PROGRAM_NAME="$cpname"

echo "LDT File $ldtname created"
#Suresh Vaishya Upload Concurrent program
elif [ $sel -eq 2 ]
then
FNDLOAD apps/$appspwd O Y UPLOAD $FND_TOP/patch/115/import/afcpprog.lct $ldtname - CUSTOM_MODE=FORCE
echo "LDT File $ldtname uploaded"
#Suresh Vaisha Download Request Group
elif [ $sel -eq 3 ]
then
echo "Enter Request Group Application Short Name"
read applname

echo "Enter Request Group Name"
read rgname

echo "Enter Program Short Name"
read cpname

FNDLOAD apps/$appspwd O Y DOWNLOAD $FND_TOP/patch/115/import/afcpreqg.lct $ldtname REQUEST_GROUP REQUEST_GROUP_NAME="$rgname" APPLICATION_SHORT_NAME="$applname" REQUEST_GROUP_UNIT UNIT_NAME="$cpname"
#Suresh Vaishya Upload Request Group
elif [ $sel -eq 4 ]
then
FNDLOAD apps/$appspwd O Y UPLOAD $FND_TOP/patch/115/import/afcpreqg.lct $ldtname
echo "LDT File $ldtname uploaded"
#Suresh Vaishya   download Value Set
elif [ $sel -eq 5 ]
then
echo "Enter Value set Short Name"
read vsname

FNDLOAD apps/$appspwd 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct $ldtname VALUE_SET FLEX_VALUE_SET_NAME="$vsname"
echo "LDT File $ldtname created"
#Suresh Vaishya Upload Value Set
elif [ $sel -eq 6 ]
then
FNDLOAD apps/$appspwd 0 Y UPLOAD $FND_TOP/patch/115/import/afffload.lct $ldtname
echo "LDT File $ldtname uploaded"
#Suresh  Vaishya Download Menu 
elif [ $sel -eq 7 ]
then
echo "Enter Menu Name"
read mname
FNDLOAD apps/$appspwd O Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct $ldtname MENU MENU_NAME="$mname"
#Suresh Vaishya Upload Menu 
elif [ $sel -eq 8 ]
then
FNDLOAD apps/$appspwd O Y UPLOAD $FND_TOP/patch/115/import/afsload.lct $ldtname
#Suresh    Vaishya Download DFF
elif [ $sel -eq 9 ]
then
echo "Enter Application Name"
read applname
echo "Enter Descriptive Flexfield Name"
read dff
FNDLOAD apps/$appspwd 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct $ldtname DESC_FLEX APPLICATION_SHORT_NAME="$applname" DESCRIPTIVE_FLEXFIELD_NAME="$dff"
#Suresh  Vaishya Upload DFF
elif [ $sel -eq 10 ]
then
FNDLOAD apps/$appspwd 0 Y UPLOAD $FND_TOP/patch/115/import/afffload.lct $ldtname
#Suresh Vaishya Download KFF
elif [ $sel -eq 11 ]
then
echo "Enter Application Name"
read applname
echo "Enter Key Flexfield Name"
read dff
FNDLOAD apps/$appspwd 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct $ldtname KEY_FLEX APPLICATION_SHORT_NAME="$applname" DESCRIPTIVE_FLEXFIELD_NAME="$dff"
#Suresh  Vaishya Upload KFF
elif [ $sel -eq 12 ]
then
FNDLOAD apps/$appspwd 0 Y UPLOAD $FND_TOP/patch/115/import/afffload.lct $ldtname

#Suresh Vaishay Download Lookup type
elif [ $sel -eq 13 ]
then
echo "Enter Application Name"
read applname
echo "Enter Lookup Type Name"
read lname
FNDLOAD apps/$appspwd O Y DOWNLOAD $FND_TOP/patch/115/import/aflvmlu.lct $ldtname FND_LOOKUP_TYPE APPLICATION_SHORT_NAME="$applname" LOOKUP_TYPE="$lname"
#Suresh Vaishya Upload Lookup Type
elif [ $sel -eq 14 ]
then
FNDLOAD apps/$appspwd O Y UPLOAD $FND_TOP/patch/115/import/aflvmlu.lct $ldtname
#Suresh Vaishya Download Forms Personalization
elif [ $sel -eq 15 ]
then
echo "Enter Function Name for the form"
read fname
FNDLOAD apps/$appspwd 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct $ldtname FND_FORM_CUSTOM_RULES FUNCTION_NAME="$fname"
#http://sureshvaishya.blogspot.com Upload forms personalization
elif [ $sel -eq 16 ]
then
FNDLOAD apps/$appspwd 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct $ldtname
#Suresh Download Responsibility
elif [ $sel -eq 17 ]
then
echo "Enter Responsibility Key"
read rname
FNDLOAD apps/$appspwd O Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct $ldtname FND_RESPONSIBILITY RESP_KEY="$rname"
#Suersh Upload Responsibility
elif [ $sel -eq 18 ]
then
FNDLOAD apps/$appspwd O Y UPLOAD $FND_TOP/patch/115/import/afscursp.lct $ldtname
fi

fi # ascii if
else
echo "You entered $sel"
echo "Invalid selection. Valid value are from 1 to 18."
fi # number check if
done
# End of Script. http://sureshvaishya.blogspot.com

FNDLOAD using Shell Script

Whenever we use FNDLOAD at times it becomes difficult to remember the .lct name.
Here I have tried to create a shell script which can be used to DOWNLOAD or UPLOAD concurrent program definitions using FNDLOAD. The shell script prompts for necessary parameter needed to perform specific action.

Shell Script Code
-----------------
Download concurrent program definition using FNDLOAD. Create a shell script FNDCPDOWN using following code.
echo "Enter APPS Password: "
 stty -echo             #Turns echo off
 read appspwd
 stty echo              #Turns echo on
 
 echo "Enter .ldt Name: "
 read ldtname
 
 echo "Enter Application Short Name: "
 read applname
 
 echo "Enter Concurrent Program Short Name: "
 read cpname
 
 FNDLOAD apps/$appspwd O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct $ldtname PROGRAM APPLICATION_SHORT_NAME="$applname"
 CONCURRENT_PROGRAM_NAME="$cpname"
 
 echo "LDT File $ldtname created"


Upload Concurrent Program using FNDLOAD. Create a shell script FNDCPUP using following code.
echo "Enter APPS Password"
 stty -echo                  #Turns echo off
 read appspwd
 stty echo                   #Turns echo on
 echo 'Enter .ldt file name to upload'
 read ldt_name
 
 FNDLOAD apps/$appspwd O Y UPLOAD $FND_TOP/patch/115/import/afcpprog.lct $ldt_name


Test the above created shell script.
For downloading the script will prompt for APPS password, .ldt file name, application name and Concurrent program short name.
For uploading the script will prompt for APPS password and .ldt file name.

FNDLOAD in a nutshell
In the following links I have discussed on how to migrate
1) Concurrent Programs
2) Value sets
from one instance to another using FNDLOAD.

Now I will try to cover several other objects that can be migrated using FNDLOAD.
The syntax for moving any objects using FNDLOAD is almost the same except few changes. Following is the list of .lct files that are used for different objects
1) Concurrent Program --> afcpprog.lct
2) Value Sets --> afffload.lct
3) Menus --> afsload.lct

Download
FNDLOAD apps/APPS_PWD O Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct file_name.ldt MENU MENU_NAME='XXXX'
Upload
FNDLOAD apps/APPS_PWD O Y UPLOAD $FND_TOP/patch/115/import/afsload.lct file_name.ldt
4) Lookups --> aflvmlu.lct
Download
FNDLOAD apps/APPS_PWD O Y DOWNLOAD $FND_TOP/patch/115/import/aflvmlu.lct file_name.ldt FND_LOOKUP_TYPE APPLICATION_SHORT_NAME='XXXX' LOOKUP_TYPE='XXXX'
Upload
FNDLOAD apps/APPS_PWD O Y UPLOAD $FND_TOP/patch/115/import/aflvmlu.lct file_name.ldt
5) Flexfield --> afffload.lct
Descriptive Flexfield
Download
FNDLOAD apps/APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt DESC_FLEX APPLICATION_SHORT_NAME='XXXX' DESCRIPTIVE_FLEXFIELD_NAME='XXXX'
Upload
FNDLOAD apps/APPS_PWD 0 Y UPLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt
Key Flexfield
Download
FNDLOAD apps/APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt KEY_FLEX APPLICATION_SHORT_NAME='XXXX' DESCRIPTIVE_FLEXFIELD_NAME='XXXX'
Upload
FNDLOAD apps/APPS_PWD 0 Y UPLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt
6) Profile Options --> afscprof.lct
Download
FNDLOAD apps/APPS_PWD O Y DOWNLOAD $FND_TOP/patch/115/import/afscprof.lct file_name.ldt PROFILE PROFILE_NAME='XXXX' APPLICATION_SHORT_NAME='XXXX'
Upload
FNDLOAD apps/APPS_PWD O Y UPLOAD $FND_TOP/patch/115/import/afscprof.lct file_name.ldt
7) Responsibility --> afscursp.lct
FNDLOAD apps/APPS_PWD O Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct file_name.ldt FND_RESPONSIBILITY RESP_KEY='XXXX'
Upload
FNDLOAD apps/APPS_PWD O Y UPLOAD $FND_TOP/patch/115/import/afscursp.lct file_name.ldt
8) Request Groups --> afcpreqg.lct
Download
FNDLOAD apps/APPS_PWD O Y DOWNLOAD $FND_TOP/patch/115/import/afcpreqg.lct file_name.ldt REQUEST_GROUP REQUEST_GROUP_NAME='XXXX' APPLICATION_SHORT_NAME='XXXX' REQUEST_GROUP_UNIT UNIT_NAME='XXXX'
Upload
FNDLOAD apps/APPS_PWD O Y UPLOAD $FND_TOP/patch/115/import/afcpreqg.lct file_name.ldt
9) Menus --> afsload.lct
Download
FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct file_name.ldt MENU MENU_NAME='XXXX'
Upload
FNDLOAD apps/apps O Y UPLOAD $FND_TOP/patch/115/import/afsload.lct file_name.ldt
10) Forms Personalization --> affrmcus.lct
Download
FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct file_name.ldt FND_FORM_CUSTOM_RULES FUNCTION_NAME='XXXX'
Upload
FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct file_name.ldt

FNDLOAD to create value sets

Download a Value Set:
FNDLOAD apps/APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct VALUE_SET_XXXX.ldt VALUE_SET FLEX_VALUE_SET_NAME='XXXX'

Download Value Set Values:
FNDLOAD apps/APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct VALUE_SET_XXXX.ldt VALUE_SET_VALUE FLEX_VALUE_SET_NAME='XXXX'

Upload a Value Set:
FNDLOAD apps/APPS_PWD 0 Y UPLOAD $FND_TOP/patch/115/import/afffload.lct VALUE_SET_XXXX.ldt 


FNDLOAD to create concurrent programs

The FNDLOAD can be used to create several oracle objects like Menu, Concurrent program, request sets, DFF, Responsibility, Messages, forms personaliztion etc. from one instance to another.
Here I will discuss how to create concurrent program using FNDLOADS

Download the program definition
FNDLOAD apps/APPS_PWD O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct FNDLOAD_CONC_PRG_NAME.ldt PROGRAM APPLICATION_SHORT_NAME='XXXX' CONCURRENT_PROGRAM_NAME='CONC_PRG_NAME'


FNDLOAD_CONC_PRG_NAME.ldt is the file where concurrent program information is extracted. This file will be used to create same definition in any other instance.

Upload the Program definition
FNDLOAD apps/APPS_PWD O Y UPLOAD $FND_TOP/patch/115/import/afcpprog.lct FNDLOAD_CONC_PRG_NAME.ldt


Note: Any value set that needs to be created along with concurrent program is downloaded and created automatically by FNDLOAD.

No comments:

Post a Comment