You are on page 1of 6

Install Perl Modules in Linux:

The steps are as followed1. Set the Oracle E-Business Suite application environment. 2. Set 10.1.3 ORACLE_HOME: Go to cd <INST_TOP>/ora/10.1.3 ls -lrt . ./. .env 3. Find the physical path of $FND_TOP/perl to set environment variable PERL5LIB. Steps to be followed for the above are as follows: a. Find physical path of $FND_TOP/perl. cd $FND_TOP/perl pwd c. Add this physical path in PERL5LIB variable. echo $PERL5LIB PERL5LIB=$PERL5LIB:Physica path of $FND_TOP/perl d. Export 4. Use the following steps for installation on UNIX a. Find the value of $IAS_ORACLE_HOME/perl echo $IAS_ORACLE_HOME/perl Example: /r12/VIS/applr12/apps/tech_st/10.1.3/perl. b.Locate the $IAS_ORACLE_HOME/perl/lib/5.8.3/i686-linux-thread-multi/Config.pm. cd IAS_ORACLE_HOME/perl/lib/5.8.3/i686-linux-thread-multi ls lrt Config.pm c.Take backup of this file. cp Config.pm Config.pm.bkp d. In Config.pm Replace all occurrences of /ade/smayer_perl58_main_linux/perl58/bin/Linux/Opt with value of $IAS_ORACLE_HOME/perl. Example: In config.pm replace, /ade/smayer_perl58_main_linux/perl58/bin/Linux/Opt with /r12/VIS/applr12/apps/tech_st/10.1.3/perl. 5. Download the following Perl modules that are required to be installed manually from CPAN: Compress-Raw-Zlib-2.009 (http://search.cpan.org/~pmqs/Compress-Raw-Zlib-2.009)

Compress-Zlib-2.009 (http://search.cpan.org/~pmqs/Compress-Zlib-2.009) Class-MethodMaker-1.12 (http://search.cpan.org/~fluffy/Class-MethodMaker-1.12) 6.Use the below steps to Install on UNIX. #gzip -d Compress-Raw-Zlib-2.009.tar.gz tar -xvf Compress-Raw-Zlib-2.009.tar cd Compress-Raw-Zlib-2.009 perl Makefile.PL make make install #gzip -d Compress-Zlib-2.009.tar.gz tar -xvf Compress-Zlib-2.009.tar cd Compress-Zlib-2.009 perl Makefile.PL make make install #gzip -d Class-MethodMaker-1.12.tar.gz tar -xvf Class-MethodMaker-1.12.tar cd Class-MethodMaker-1.12 perl Makefile.PL make make install
Note: Ignore any warning in make command.

Technical Activity for Custom Package creation:


1. Create Package Sample: CREATE OR REPLACE package XYZ_SALES_ORDER as /*# * This package updates a Sales Order in Order Management. * @rep:scope public * @rep:product po * @rep:displayname XYZ SALES ORDER * @rep:lifecycle active * @rep:compatibility S * @rep:category BUSINESS_ENTITY ONT_SALES_ORDER */ /*# * Returns Updated Ordered Quantity * @param LINE_ID varchar2 Line ID * @param ORDERED_QUANTITY varchar2 Ordered Quantity * @return Updated Ordered Quantity * @rep:scope public * @rep:lifecycle active

* @rep:displayname Update Sales Order */ function UPDATE_ORDER (LINE_ID varchar2, ORDERED_QUANTITY varchar2) return number; end XYZ_SALES_ORDER; / CREATE OR REPLACE package body XYZ_SALES_ORDER as function UPDATE_ORDER (LINE_ID varchar2, ORDERED_QUANTITY varchar2) return number is v_num number; begin select 2 into v_num from dual; return v_num; end; end XYZ_SALES_ORDER; /

2. Save the below code as <package_name>.pls to tmp folder


CREATE OR REPLACE package XYZ_SALES_ORDER as /*# * This package updates a Sales Order in Order Management. * @rep:scope public * @rep:product po * @rep:displayname XYZ SALES ORDER * @rep:lifecycle active * @rep:compatibility S * @rep:category BUSINESS_ENTITY ONT_SALES_ORDER */ /*# * Returns Updated Ordered Quantity * @param LINE_ID varchar2 Line ID * @param ORDERED_QUANTITY varchar2 Ordered Quantity * @return Updated Ordered Quantity * @rep:scope public * @rep:lifecycle active * @rep:displayname Update Sales Order */ function UPDATE_ORDER (LINE_ID varchar2, ORDERED_QUANTITY varchar2) return number; end XYZ_SALES_ORDER; 3. Grant all on <Package Name> to <User Name> Grant all on XYZ_SALES_ORDER to PO

4. Syntax For Generating ILDT: $IAS_ORACLE_HOME/perl/bin/perl $FND_TOP/bin/irep_parser.pl -g -v -username=<a fnd username> <product>:<relative path from product top>:<fileName>:<version>=<Complete File Path, if not in current directory> Note:
In the above command, 'sysadmin' is the Oracle Applications (fnd) user running this command. 'po' is the product short name. 'patch/115/sql' is the relative path from $PO_TOP. 'XYZ_SALES_ORDER.pls' is the file name as it appears on Integration Repository UI. '12.0 is the file version of XYZ_SALES_ORDER.pls. '/tmp/XYZ_SALES_ORDER.pls' is the physical location of XYZ_SALES_ORDER.pls file on server. 5.This command should generate file XYZ_SALES_ORDER_pls.ildt in /tmp directory

Validating Integration Repository Parser (irep_parser.pl):


The metadata or the loader file (ildt), which is kind of ldt file, is generated by parser which needs to be loaded into Oracle Applications. FNDLOAD utility is used to load any ldt file in Oracle Applications. Use FNDLOAD to upload generated ildt file into Oracle Applications.

$FND_TOP/bin/FNDLOAD apps/apps@vis 0 Y UPLOAD $FND_TOP/patch/115/import/wfirep.lct XYZ_SALES_ORDER_pls.ildt

Technical Activity for generating the WSDL from the Custom Package:
1. Login to Oracle E-Business Suite & then click on Integrated SOA Gateway 2. Click on Integrated Repository
3. Click on Search button & Advanced search hyperlink

4. Enter the package name and Interface source as custom and click Go
5. Package name comes as hyperlink. Click on the package name 6. Click on generate WSDL and the web service will be created. Once created the Generate WSDL changes to Regenerate WSDL Once the WSDL is generated under the WSDL 2 buttons will popup Deploy and Undeploy Once the WSDL is deployed Deploy changes to Redeploy. Click on Deploy Click the checkbox beside the package name and click on Create Grant.

Testing the Web Service with SOAP UI:


SOAP UI1. Download SOAP UI 3.0.1 from the below link. http://www.qweas.com/downloads/web/other/downloads-soapui.html 2. 3. 4. 5. 6. Follow steps getting started in SOAPUI Create a SOAPUI project From frontend get the full WSDL path and open it from SOAPUI. Expand the WSDL and click on Request1,It will open a xml. Now Edit the XML (e.g Provide user name,password etc..) PFB

Payload to execute the WSDL through SOAP UI<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xyz="http://xmlns.oracle.com/apps/po/soaprovider/plsql/xyz_sales_order/" xmlns:upd="http://xmlns.oracle.com/apps/po/soaprovider/plsql/xyz_sales_order/update_order/"> <soapenv:Header> <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wsswssecurity-secext-1.0.xsd"> <wsse:UsernameToken> <wsse:Username>sysadmin</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wssusername-token-profile-1.0#PasswordText">sysadmin_vis</wsse:Password> </wsse:UsernameToken> </wsse:Security> <xyz:SOAHeader> <!--Optional:--> <xyz:ResponsibilityName>System Administrator</xyz:ResponsibilityName> <!--Optional:--> <xyz:ResponsibilityApplName>SYSADMIN</xyz:ResponsibilityApplName> <!--Optional:--> <xyz:SecurityGroupName>STANDARD</xyz:SecurityGroupName> <!--Optional:--> <xyz:NLSLanguage>AMERICAN</xyz:NLSLanguage> </xyz:SOAHeader> </soapenv:Header> <soapenv:Body> <upd:InputParameters> <!--Optional:--> <upd:LINE_ID>1</upd:LINE_ID> <!--Optional:--> <upd:ORDERED_QUANTITY>1</upd:ORDERED_QUANTITY> </upd:InputParameters> </soapenv:Body> </soapenv:Envelope>

Test using SOAP UI7. Click on submit request as shown below. 8. It will show the output in right hand panel. (Show error if the WSDL is not correct).

You might also like