Showing posts with label R12. Show all posts
Showing posts with label R12. Show all posts

Wednesday, January 1, 2014

Host Programs - calling shell script as concurrent program

There are multiple scenarios when we want to have a shell script as a concurrent program. Some of the very common reasons to go for shell scripts could be –
-          Involves file operations like loading a file and then processing it or generating an output file
-          Involves Encryption and or transmission
-          Involves multithreading

Disadvantages of having a Host Program:
-          Impact analysis is a little cumbersome since all our code is present in a host file. Searching through the text is required for analysis
-          Since it requires unix skill as well along with the database programming, effort required is more

Below are the steps to be followed to create host based programs:

1.       Create a shell script
Create a shell script which fulfills the business needs. The program is not required to be having extension .prog though it is the most commonly used extension. Once the script is ready, FTP the script in ASCII mode to corresponding application TOP’s bin folder ie if I’m developing under custom PO, I might place the file under $XXPO_TOP/bin location. The script should be given read and execute permission

2.       Create symbolic link to fndcpesr
To execute a script via Oracle apps, we need to pass 4 mandatory parameters. Alternatively (and most commonly) we create a link to the fndcpesr file present in $FND_TOP/bin. fndcpesr takes care of passing these 4 parameters to the script

ln –fs $FND_TOP/bin/fndcpesr $XX_TOP/bin/XX_CUSTOM

Once the link is created first 4 parameters will always be passed to the shell script ie $1 to $4:
$1 -> User Password
$2 -> User ID
$3 -> User Name
$4 -> Request ID
All other parameters will be taken

3.       Create executable, concurrent program and assign it to the request group

Notes:
  • If there are more than 5 parameters, then you might have to use {} to fetch the values Eg: xx_val=${10}
  • We can connect to DB using below command:

Xx_value=`sqlplus -s <<EOSQL
$APPSLOGIN
SET SERVEROUTPUT ON SIZE 1000000
WHENEVER SQLERROR EXIT SQL.SQLCODE
DECLARE
….
BEGIN
…..
DBMS_OUTPUT.PUT_LINE(‘Y’); -- this is the value which will be assigned to the variable Xx_value from sqlplus
EXCEPTION
               WHEN OTHERS THEN
               DBMS_OUTPUT.PUT_LINE('SQLERRM: '||SQLERRM);
               END;
               /
EXIT
EOSQL`
  • We can mark the program as success, error or warning by exiting with the value 0, 1 and 2 respectively Eg: exit 0 at the end of the code will complete the concurrent program with success
  • We can use commonly used utilities like sqlldr or ftp or sftp or mail etc in the host scripts
  • We can submit child concurrent programs from host programs in two ways. 
  1. By connecting to DB and submitting the concurrent program via fnd_request.submit_request 
  2. By using CONCSUB utility


Sunday, February 1, 2009

Why upgrade to Oracle R12?

This is one of the common doubts in everyone's mind; Why we should upgrade to R12? Is it worth spending so much of money and effort? Following are few important reasons:

1. Oracle will no longer support 11i. As per one of the oracle releases, following are the support termination dates for different versions of 11i


2. R12 is the Global Business Release
  • R12 enables you to think, work and manage systems globally
  • Management can make more informed decisions because of better business intelligence capabilities
  • Comprehensive integration capability by adopting industry standards like XML, messages, webservices and Java &amp;PL/SQL APIs
  • Integrate Oracle, 3rd party and legacy applications via BPEL(Business Process Execution Language) to extend process automation
  • Supports all languages and localizations in the same database. Scales to very large volumes via RAC and Grid computing
3. R12 is more comprehensive solution. It comes up with more than 2350 new capabilities/functionality. It has few new modules like Ebusiness Tax, Payment etc.

4. It has centralized the scattered data Eg: Banks Accounts, Suppliers, Tax etc. This has improved the ability to meet statutory requirements and provides more comprehensive reports. Centralized data maintenance has reduced the user load also allowed Oracle to introduce new functionality like AP/AR Netting, Refund etc

5. Improved user experience.
  • Many screens have moved from Forms based UI to self service OAF pages. This has allowed better look and feel and has given more freedom to personalize the screen as per user likings
  • Reduced pop-ups and duplicate screens
  • Redesigned and streamlined UI for easier data entry and access
  • Reduced number of steps to complete key activities. Guided navigation to assist even new users
6. Features like Multi Org Access Control or Data Access Sets etc improve user productivity significantly and also comply regulatory requirements

7. Business and Industry specific processes are streamlined and incorporated in R12. This helps customers to comply with International Regulations and Standards

8. There are more options to configure the system as per company processes, reducing the customizations

9. Keep yourself updated with changing technology trends and reap the benefits of latest technology via improved security, usability and productivity. R12 comes up with new technologies like XML Publisher, OAF, BPEL, OBIEE etc

10. R12 comes with significant application and architecture changes. Moving to R12 will build a foundation to prepare for Fusion, minimizing the Risk

11. R12 has centralized some of the scattered functions. Eg:

  • E-Biz Tax module replaces individual tax modules within AR, AP, PO etc and acts as central repository for all tax data and integration with 3rd party tax service providers
  • Sub Ledger Accounting module acts as accounting repository before interfacing to GL. This configurable module allows companies to implement complex accounting and reporting rules
  • Payments module now consists of funds disbursement (previously part of AP) and funds capture (previously part of AR) functions
  • Cash Management module is made as owner of all internal bank accounts and external (Customer and supplier) bank accounts are stored separately