Skip to content

Upgrade R12.1.1 To R12.1.3 (PART 5 in “11i to R12.1.3 upgrade” series)

This post is part 5 of the “11i to R12.1.3 upgrade” series. For other parts click on below links.

1) Install Fresh EBS 11i on Linux 5 32 Bit (PART 1 in “11i to R12.1.3 upgrade” series)
2) Upgrade database 9.2.0.6 to 11.2.0.4 in 11i (PART 2 in “11i to R12.1.3 upgrade” series)
3) 11i Split configuration- Move 11g Database to Linux 6 64Bit (PART 3 in “11i to R12.1.3 upgrade” series)
4) Upgrade 11i TO R12.1.1 (PART 4 in “11i to R12.1.3 upgrade” series)
5) Upgrade R12.1.1 To R12.1.3 (PART 5 in “11i to R12.1.3 upgrade” series)

The objective of the document is to provide all the required setup steps for upgrading EBS R12.1.1 to R12.1.3. We will be applying few patches first to all ORACLE_HOMEs (database, forms 10.1.2, web 10.1.3) before we apply the R12.1.3 upgrade patch.

This document covers below steps:

1. Apply patches to Database oracle home
2. Apply the recommended patches for 10.1.2 oracle home
3. Upgrade Oracle Home 10.1.3 to 10.1.3.5
4. Apply R12.1.3 upgrade patch
5. Apply post-install Oracle E-Business Suite Applications Technology patches
6. Update database tier nodes with the Oracle E-Business Suite Release 12.1.3 code level
7. Other Possible Steps
8. Verify


 

1. Apply patches to Database oracle home

Some patches are required to be applied before we start the upgrade process.

Stop application and database.

A) Patch 4247037: RFID-EPC GENERATION FEATURE FROM DATABASE SERVER. TO BE USED WITH APPS WMS R12

% opatch apply

Once applied with opatch, the files are located in $ORACLE_HOME/md/admin and $ORACLE_HOME/md/support for patchset_mgdsys_validity.sql

To install:

Startup the databse.
connect to the database using sqlplus / as sysdba

$ cd $ORACLE_HOME/md/admin
 sqlplus> @catmgdidcode

If checking with patchset_mgdapp_validity.sql you find invalid objects please run

$ORACLE_HOME/rdbms/admin/utlrp.sql which should resolve any issues.

$ cd $ORACLE_HOME/md/support
 SQL> @patchset_mgdapp_validity.sql
 SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql

 

B) Patch 17402822: ENABLE 3RD PARTY INXIGHT LINGUISTX TECHNOLOGY IN 11.2.0.4

 $ opatch prereq CheckConflictAgainstOHWithDetail -ph ./

The report will indicate the patches that conflict with this patch and the patches for which the current 17402822 is a superset.

$ opatch apply

 

C) Patch 17468141: PL/SQL COMPILATION THROWS ERROR ORA-4063

$ opatch apply

 

D) Patch 17501296: UNABLE TO DELETE ROWS FROM TABLE WITH TEXT INDEX AFTER UPGRADE TO 11.2.0.4

$ opatch apply

startup database
Connect as SYSDBA and run the below script as follows:

$ sqlplus /nolog
 SQL> CONNECT / AS SYSDBA
 SQL> @?/sqlpatch/17501296/postinstall.sql

 

E) Patch 17892268: ORA-600 [KOKLREAD1-CALLBACK WITH CONV FLG] RUNNING SOME PL/SQL CODE

$ opatch apply

2. Apply the recommended patches for 10.1.2 oracle home

A) STOP ALL SERVICES AND APPLY MAINTENANCE MODE

stop all application and database services

Apply maintenance mode using ADADMIN.

 

B) APPLY PREREQUISITE TECHNOLOGY STACK PATCHES

Patch 8919489 Oracle E-Business Suite Techstack 12.1.3 Product Release Update Pack (R12.TXK.B.Delta.3)

PRE STEPS

Merge 8919489 with patch 9583541:R12.TXK.B and apply both or apply one by one.

APPLY PATCH

$ adpatch

POST STEPS:

1. Update the RDBMS ORACLE_HOME file system with the AutoConfig files by

1.1. On the Application Tier (as the APPLMGR user):
$ADPERLPRG $AD_TOP/bin/admkappsutil.pl
This will create appsutil.zip under $INST_TOP/admin/out

1.2. On the Database Tier (as the ORACLE user):
Copy or FTP the appsutil.zip file to the $ORACLE_HOME
unzip -o appsutil.zip

1.3 Run AutoConfig by executing:
$ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME/adautocfg.sh
Run AutoConfig on applications tier node

$ cd $ADMIN_SCRIPTS_HOME
 $ ./adautocfg

 

C) BACK UP ORACLEAS 10.1.2 ORACLE_HOME AND INVENTORY FOLDER

Oracle recommends that you make a backup of your existing environment before you install Oracle Application Server 10g Release 2 patchset 3 (10.1.2.3.0).This will enable you to restore your original environment if you encounter a problem with application of the patch, or need to remove the patch for some reason.
You are also advised to take a complete backup of the Inventory folder (either global or local) that contains the OracleAS 10.1.2 ORACLE_HOME inventory details.

 

D) INSTALL THE APPLICATION SERVER LATEST CERTIFIED PATCHSET (10.1.2.3.0)

<SKIP!!> < THIS STEP IS NOT REQUIRED. WE ARE ALREADY ON 10.1.2.3.0>

 

E) INSTALL FORMS BUNDLE PATCH

Use opatch to install forms bundle patch 14825718

> Patch 14825718 is the latest forms bundle patch that includes the JRE 7 fix from Patch 14614795.

> You can safely ignore conflicts against the following MLRs while applying Forms Bundle Patch:
List of MLRs: 7229760, 8217396, 8374931, 8920655, 8970798, 9044638, 9126011, 9295268, 9569336, 9727465, 9768296, 9876820, 9593176, 10081297, 12881480,13808590, 14041415, 14262118, 14614795, 14577216.
Patch 14825718: ORACLE FORMS BUNDLE PATCH 10.1.2.3.2

 

Pre-Step:

a) You must upgrade OUI to the latest version before upgrading opatch version. Follow the README to install the OUI 10.1 upgrade patch 6640838. Please ignore the note “Oracle Installation Libraries is selected by default and should be deselected” in patch README.

Note: If you are on a more recent operating system OUI upgrade patch 6640838 may fail in checking the operating system. In case of such failure, it is safe to invoke ‘runInstaller’ with the ‘ignoreSysPrereqs’ flag and ignore operating system version check. It can be used as follows:

$ ./runInstaller -ignoreSysPrereqs

b) Patch ID 7121788 must be installed on all Unix platforms.
<ALREADY PRESENT>

c) Patch 6995251 is applicable only to Linux x86-64 customers. This patch must be applied before applying the latest forms bundle patch 14825718.
<ALREADY PRESENT>

 

d) Customers who have applied overlay patches 14577216, 14262118 or 14614795 on previous bundle patch 9593176, must rollback the overlay patches explicitly before applying the latest forms bundle patch 14825718 that already contains them.

Apply Patch:
$ cd $ORACLE_HOME/bin
$ chmod +x genshlib
$ opatch apply

Post-Step:
SPECIAL POST PATCH APPLY INSTRUCTIONS FOR APPLICATION SERVER

F) INSTALL THE ADDITIONAL PATCHES

1) Patch 17303472 MERGE REQUEST ON TOP OF 10.1.2.3.2PSU FOR BUGS 16784403 6166808 13913713

Pre-Steps:
i. Please ensure the patch for bug 14825718 is already applied before you proceed.
ii. Upgrade to the latest OUI 10.1 by downloading and installing the same from bug 6640838
Please make sure you have the latest OPATCH 10.1 that’s available from metalink via bug number 6880880.
% opatch apply

POST-STEPS:
check if you know oc4jadmin password:
$ java -jar $IAS_ORACLE_HOME/j2ee/home/jazn.jar -checkpasswd jazn.com oc4jadmin -pw welcome1

IF NOT go with below steps:
___________________________________________________________________
a) Back Up The Original system-jazn-data.xml File
Example:
% cp $INST_TOP/ora/10.1.3/j2ee/forms/config/system-jazn-data.xml \
$INST_TOP/ora/10.1.3/j2ee/forms/config/system-jazn-data.xml.ori
___________________________________________________________________
b) Change oc4jadmin Password in system-jazn-data.xml
========= file snippet original =================
<user>
<name>oc4jadmin</name>
<display-name>OC4J Administrator</display-name>
<name>oc4jadmin</name>
<display-name>OC4J Administrator</display-name>
<description>OC4J Administrator</description>
<credentials>{903}9VrhYTuhd7DyBJf7J/4KwbSEIlETQJOO</credentials>
</user>
==================================================
========= with change ============================
<user>
<name>oc4jadmin</name>
<display-name>OC4J Administrator</display-name>
<name>oc4jadmin</name>
<display-name>OC4J Administrator</display-name>
<description>OC4J Administrator</description>
<credentials>!welcome</credentials>
</user>
==================================================
___________________________________________________________________
c) Run Deployment Script
correct $ORACLE_HOME entry in /u01/oracle/find/apps/tech_st/10.1.3/opmn/bin/opmnctl
txkCfgOC4JApp.pl is a perl script that installs the .ear file in the proper location and configures the Forms J2EE group correctly.
% $FND_TOP/bin/txkrun.pl -script=CfgOC4JApp
Enter Application name for re-deployment ? forms
Enter Oc4j Instance password for re-deployment ? welcome (or current password)
Run Autoconfig <Yes/No> ? No
>>> oc4jadmin account password IS REQUIRED
$FND_TOP/bin/txkrun.pl -script=CfgOC4JApp -applicationname=forms -oc4jpass=welcome -runautoconfig=No
_________________________________________________________________
d) Restore the original system-jazn-data.xml file
cd $INST_TOP/ora/10.1.3/j2ee/forms/config/
___________________________________________________________________
e) Run AutoConfig on the instance by running the command:
$ADMIN_SCRIPTS_HOME/adautocfg.sh
___________________________________________________________________

2) Patch 7121788 APPS6: GENSHLIB FOR FORMS INSTALLATION 10.1.2.3

<ALREADY APPLIED>

3) Patch 8528194 APPS6: SCRIPT CHANGES FROM 5456500 NOT INCLUDED IN 10.1.2.3

% opatch apply

4) Patch 8557019 APPSPERF: ONE SQL USING ALL_OBJECTS HAS PERFORMANCE ISSUE UNDER 11G INSTANCE.

Pre-Steps

Please Apply Mandatory Patch 8551790.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Patch 8551790: IN LINUX INS_PROCBUILDER.MK FILE NEEDS LIBDIR=LIB AND PASTA_LIBDIR=LIB
% opatch apply
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Please apply 10123 genshlib Mandatory patch before applying this patch.
Bug:7121788
chmod +x $ORACLE_HOME/bin/genshlib
# ====================================================================
# Please define environment variable DE_ALL_OBJECTS_HINT=YES at the Unix prompt
# to enable this fix before invoking forms designer/compiler.
# ====================================================================
% opatch apply

5) Patch 7016961 FUNCTION CACLPSQ CANNOT PARSE COMMAND LINE WITH TURKISH CHARACTERS

<ALREADY APPLIED>

6) Patch 5917053 APPS1012: SRW.DO_SQL GENERATES UNPREDICTABLE RESULTS FOR NULL

<ALREADY APPLIED>

7) Patch 6371228 APPS1012: JVMCI161: FATAL ERROR IN NATIVE METHOD ON AIX

<ALREADY APPLIED>

 

8) Patch 10152652 MERGE REQUEST ON TOP OF 10.1.2.3.0 FOR BUGS 6497684 9726201

Pre-Steps:

chmod +x $ORACLE_HOME/bin/genshlib
% opatch apply
% sh ./patch.sh

9) Patch 11780669 REP-56048:ENGINE RWENG-0 CRASHED AFTER INSTALLING PATCH 9774440

% opatch apply

10) Patch 12379038 – APPS6: RDFS FAILING TO GENERATE USING RWCONVERTER- BAD WINDOW

% opatch apply

11) Patch 12887068 APPS6: REPORT FAIL WITH REP-1510 FOR SUMMARY COLUMN AFTER SETTING CA_FILEIO_64=Y

% opatch apply

12) Patch 12898423 CA FUNCTION CADCMRFPBLB DOES NOT SUPPORT FILES LARGER THAN 2GB
chmod +x $ORACLE_HOME/bin/genshlib
% opatch apply
% sh ./patch.sh

13) Patch 8339196 DESFORMAT=XML FAILS WITH REP-271504897 WITH LONG COLUMN AND LONG DATA
% opatch apply

14) Patch 16778382 APPS6 REPORT SERVER PRODUCES AN OUTPUT PDF 1.4 NOT COMPLIANT TO ITS SPECS
% opatch apply

15) Patch 7140392 APPS1012: MLR 6116405,6764875 FOR LINUX ON TOP OF 10.1.2.3
$ cd 7140405
% opatch apply

 

16) Patch 14374587 APPS6:REP-57054 REP-50159 REP-54002 ERROR WHEN RUNNING REPORT IN BATCH

% opatch apply

17) Patch 8300196: APPS1012: REPORTS.SH MISSING FROM 10.1.2.3 PATCHSET
<ALREADY APPLIED>

 

G) DOWNLOAD AND APPLY 10.1.0.5 RSF FIXES

Required Support Files (RSF) are the set of files which are “required” to communicate using SQL*Net and access the Oracle database.
The RSF is sometimes referred to as the Oracle Client, however the RSF is only a portion of an Oracle Client installation. All Oracle products which are intended to connect to an Oracle database using SQL*Net include a specific RSF set unless otherwise noted in the product documentation.

You must select 10.1.0.5 from the Release dropdown list before downloading.
You must download 32-bit RSF patch even if the hosted server is 64-bit.

1) patch 3559326
<ALREADY APPLIED>

2) patch 5394728
<ALREADY APPLIED>

3) patch 5261796 BUNDLED PATCH FOR RDBMS AND CORE FIXES FOR 10.1.4IM

% cd 5261796

% opatch apply

4) patch 5651245 ATG120XB14FUNC CP SQL*LOADER REGRESSION TEST WITH ORA-01801 IN ARABIC SESSION

Note: If you are upgrading from 10.1.2.0.2 version, please execute the following steps as applications file system owner before applying 5651245.
touch $ORACLE_HOME/bin/genoccish; chmod +x $ORACLE_HOME/bin/genoccish
% opatch apply

5) patch 4047619 SVRMAN TUNE – TUNING DBA_IND_COLUMNS CRASHES ORACLE SHADOW – TMANDTSD.DIF

$ opatch apply

6) patch 5604120 SIGNIFICANT PERFORMANCE PROBLEMS AFTER APPLYING CALENDAR DEVIATION

$ opatch apply

7) patch 16275529 ERROR WHEN PASSING COMPOSITE PARAMETERS TO SP FROM 64BIT CLIENT

% opatch apply

POST-STEPS:
Note: E-Business Suite uses the legacy locale definitions in 10.1.2 ORACLE_HOME and its resource files must be regenerated. After applying patch 16275529 perform this task in 10.1.2 ORACLE_HOME using below step:

cd $ORACLE_HOME/nls/data/old
perl cr9idata.pl

 

H) DOWNLOAD AND APPLY PATCH 6400501 (ORACLE DATABASE 11G CUSTOMERS ONLY)

Customers who are running Oracle Database 11g need to download patch 6400501 for Database 10.1.0.5, and apply it to the OracleAS 10.1.2 Oracle Home. This one-off is originally applied as part of the 11g database upgrade, which is rolled back by the OracleAS 10.1.2.3 patchset.
<ALREADY PRESENT>

check again and if still not present then apply as below:
% opatch apply

post steps:

$ cd $ORACLE_HOME/forms/lib32
Note: if this directory does not exist: cd $ORACLE_HOME/forms/lib
$ make -f ins_forms.mk install
$ cd $ORACLE_HOME/reports/lib32
Note: if this directory does not exist: cd $ORACLE_HOME/reports/lib
$ make -f ins_reports.mk install

I) APPLY THE ORACLE E-BUSINESS SUITE RELEASE 12 INTEROPERABILITY PATCH

Enable Maintenance Mode from adadmin
Apply patch 14837539
Adpatch

J) REBUILD FORMS AND REPORTS EXECUTABLES

Source the environment (under $INST_TOP/ora/10.1.2) to point to the 10.1.2 Oracle Home before relinking forms and reports executables.
Rebuild Forms and Reports executables:

cd $ORACLE_HOME/forms/lib32
 Note: if this directory does not exist: cd $ORACLE_HOME/forms/lib
 $ make -f ins_forms.mk install
cd $ORACLE_HOME/reports/lib32
 Note: if this directory does not exist: cd $ORACLE_HOME/reports/lib
 $ make -f ins_reports.mk install

K) REGENERATE JAR FILES

Run the AD Administration Utility to regenerate the JAR files:
Run the AD Administration Utility (adadmin)
Select Generate Applications Files
Generate Product JAR Files
Note: Do not opt to force the regeneration of all JAR files.

L) VERIFY
disable maintenance mode, start services.

Check “About Applications”

Log on to E-Business Suite as any user, launch any form, select “About Applications” from the Help menu, and confirm that the Forms version (under Forms Server) shows as 10.1.2.3.0.

Run the following command to display various component versions, and confirm that the Forms version shows as 10.1.2.3.0. This command requires the DISPLAY environment variable to be set correctly.

 $ORACLE_HOME/bin/frmcmp help=y

Run the following command and confirm that the Reports Version shows as 10.1.2.3.0. This command requires the DISPLAY environment variable to be set correctly.

$ORACLE_HOME/bin/rwrun ?|grep Release

 

3. Upgrade Oracle Home 10.1.3 to 10.1.3.5

A) TAKE A BACKUP OF THE ORACLE E-BUSINESS SUITE RELEASE 12 10.1.3 ORACLE HOME AND INVENTORY

 

B) UPGRADE ORACLE E-BUSINESS SUITE RELEASE 12 JDK TO JAVA 6.0 LATEST UPDATE (RECOMMENDED)

<ALREADY DONE>

C) SET YOUR ENVIRONMENT TO 10.1.3 ORACLE_HOME

Log in to the application tier as the OS user who owns the application tier file system. Navigate to the $INST_TOP/ora/10.1.3 and source the <sid_machine>.env file to set your 10.1.3 ORACLE_HOME.
Ensure that the location of the <1013_ORACLE_HOME>/ant/bin directory is included in the PATH Environment variable.
$ export PATH=$PATH:$ORACLE_HOME/ant/bin

 

D) APPLY ORACLEAS 10.1.3.5 PATCH SET

Use the following command to specify 32bit shell emulation, before running the installer as detailed below:

$ linux32 bash
Change directory to <patch-top>/Disk1(for patch 8626084)
$ ./runInstaller

NOTE 1: For installations of AS 10.1.3.5 on more recent operating systems such as AIX 7, Solaris 11, Red Hat/Oracle Linux 6, and SLES 11, the OU Installer may fail when checking the operating system version. On these newer operating systems, it is necessary to invoke ‘runInstaller’ with the ‘ignoreSysPrereqs’ flag, as follows:

$ ./runInstaller -ignoreSysPrereqs

NOTE 2: During the Installation, OUI may display the following warning messages.
1) Ensure that all OC4J instances are up and running prior to applying this patch.
2) At this time, Oracle Application Tier will be shut down. There will be a brief pause in the installer when the application tier processes are stopped.
Click the ‘OK’ button to proceed with the installation.
Provide the Release 12 10.1.3 Oracle Home Name and Path as a value in ‘Name’ and ‘Path’ field of ‘Destination region’. If you set the Release 12 10.1.3 Oracle Home properly, you will see Oracle Home name in the drop down list of ‘Name’ field.
Enter the <oc4jadmin> user password for the OracleAS 10g 10.1.3 instance that is being patched. If you are upgrading from OracleAS 10g 10.1.3.0, the default password is ‘secret’. Otherwise the default password is ‘oafm’, if it was not changed after Release 12 installation. Proceed to the end of the installation.

1_R1213_UPGRADE 2_R1213_UPGRADE 3_R1213_UPGRADE

Password is oafm or secret

5_R1213_UPGRADE 6_R1213_UPGRADE 7_R1213_UPGRADE 8_R1213_UPGRADE

Check root.sh for any wrong ORACLE_HOME path

9_R1213_UPGRADE

 

E) SHUT DOWN ANY SERVICES STARTED BY OUI DURING 10.1.3.5 PATCH SET INSTALLATION

During 10.1.3.5 patchset installation, Oracle Universal Installer may have started some process from the OracleAS Oracle Home. Before proceeding further, shut down any processes started by the installer.

F) RUN AUTOCONFIG

Run autoconfig on the application tier.
G) APPLY ANY ADDITIONAL ORACLEAS 10G PATCHES

1) Patch 8999551: REQEUST TO EVALUATE TO REV UP THE JAVA MAILER APIS TO LATEST TO SUPPORT SSL
% opatch apply

2) Patch 12965674: NULLPOINTEREXCEPTION WHEN DEPLOYING APPLICATIOINS AT OC4J
% opatch apply
H) REGENERATE APPSBORG.ZIP AND APPSBORG2.ZIP FILES

Run adadmin, and choose Generate product JAR files (with the no force option) to generate the appsborg.zip and appsborg2.zip files.

 

I) VERIFY

Run the command opatch lsinventory -detail
Look for ‘Oracle Application Server PatchSet’ in the ‘Product’ column. ‘Version’ should show 10.1.3.5.0.
[oracle@r12server 10.1.3]$ opatch lsinventory -detail|grep -i patchset

Oracle Application Server PatchSet 10.1.3.5.0

NOTE: If any further OracleAS 10g patches are applied, ensure that you repeat the tasks in the Post-Installation Steps to regenerate appsborg.zip and appsborg2.zip and restart the application tier services.

 

4. Apply R12.1.3 upgrade patch

This step took took 24 hrs  for us (6 workers, 10gb ram, 2 CPU)

A) R12.AD.B.DELTA.3 Patch 9239089

Do not merge this patch with any other patch. R12.AD.B.Delta.3 must be applied separately.
PRE-STEP:
Copy adgrants.sql (UNIX) from this patch directory to
$ORACLE_HOME/appsutil/admin.
Use SQL*Plus to run the script:
UNIX:
$ sqlplus /nolog
SQL> @$ORACLE_HOME/appsutil/admin/adgrants.sql <APPS schema name>

Apply using adpatch

B) Oracle E-Business Suite Release 12.1.3 Patch 9239090

Follow the instructions in the patch readme file.
Apply using  adpatch

C) Patch 9239095: Oracle E-Business Suite Online Help for 12.1.3 Release Update Pack

Apply using adpatch

 

5. Apply post-install Oracle E-Business Suite Applications Technology patches

A) Apply mandatory Patch 9817770 (9817770:R12.ATG_PF.B [POST-R12.ATG_PF.B.DELTA.3 CONSOLIDATED PATCH].)

Apply using adpatch

B) Apply mandatory Patch 9966055 (9966055:R12.FND.B [TRANSLATED VERSION OF FNDSCSGN NOT LAUNCHED].)

Apply using adpatch

 

6. Update database tier nodes with the Oracle E-Business Suite Release 12.1.3 code level

After you have upgraded to Oracle E-Business Suite Release 12.1.3, perform the following post-update steps to update all database tier nodes with the code level, provided by Oracle E-Business Suite Release 12.1.3:

Run AutoConfig on the APPL_TOP.

Run the admkappsutil.pl utility to create the file appsutil.zip
$ perl $AD_TOP/bin/admkappsutil.pl

On database node:
Copy or FTP the appsutil.zip file to the <RDBMS ORACLE_HOME>.
Uncompress appsutil.zip under the <RDBMS ORACLE_HOME>.

cd $ORACLE_HOME
unzip -o appsutil.zip

Run AutoConfig on the <RDBMS ORACLE_HOME> and application home.

Re-run adpreclone.pl on the database tier and the application tier.

Since updates included in Oracle E-Business Suite Release 12.1.3 were applied to the system, adpreclone must be run again to apply the updates to the clone directory structures that were used during cloning.

$ perl adpreclone.pl dbTier
$ perl adpreclone.pl appsTier

7. Other Possible Steps

There may be some other NLS or product related steps that you need to do.
For more details, see “Oracle E-Business Suite Release 12.1.3 Readme (Doc ID 1080973.1)”

8. Verify

Start services and verify.

10_R1213_UPGRADE 11_R1213_UPGRADE 12_R1213_UPGRADE

 

Brijesh Gogia

One Comment

  1. Rahul Mahajan Rahul Mahajan

    Very helpful Document .
    Thanks Brijesh Sir .

Leave a Reply to Rahul Mahajan Cancel reply