Tuesday, June 20, 2017

adcgnjar Utility

adcgnjar utility

Oracle has introduced a new utility called "adcgnjar" from R12.2 onwards.
This is required for deploying custom Oracle Application Framework (OAF) Controllers/View
Object /Entity Object Extensions.
This utility is used when custom java files are placed in the standard location for custom
applications namely $JAVA_TOP/<Company identifier>/*.
This utility generates and signs a file named customall.jar file containing the custom Java and
BC4J code and extensions. This customall.jar file is included in the ebsProductManifest.xml so
that the customall.jar will be in the CLASSPATH through the ebs-product shared library and
available for the WebLogic server to pick up.
The adcgnjar utility is run on the command line without any parameters.
When run, it will prompt for user name and password of the APPS user.
The utility performs the following steps:
1. Creates a temporary custom.zip file that contains all the directories under $JAVA_TOP
2. Generates and signs the customall.jar file with the contents of the custom.zip
When custom java files are placed in any other non-standard locations, for example,
• $JAVA_TOP/oracle/<company identifier >
• $JAVA_TOP/oracle/java/<company identifier>
• and so on
adcgnjar utility cannot be used. Instead, the custom jar file must be created manually
and it must be made available for WebLogic to pick up

Detailed steps for creating custom jar file manually are given below.

1. Create a temporary custom.zip file which contains all the custom application's
directories/files at the non-standard location. The commands are:
1. cd $JAVA_TOP
2. zip -r customprod.zip <directory list> where the <directory list> is
the list of all the directory paths, relative to $JAVA_TOP, for custom application's
java files at the non-standard location.
2. Generate and sign the customprod.jar file.
Command: adjava oracle.apps.ad.jri.adjmx -areas
$JAVA_TOP/customprod.zip -outputFile $JAVA_TOP/customprod.jar -jar
$CONTEXT_NAME 1 CUST jarsigner -storePass <KeyStore Password> -keyPass
<Key Password>
3. Delete the temporary customprod.zip. Command: rm $JAVA_TOP/customprod.zip
4. Include the entry for customprod.jar in the ebsProductManifest.xml and bounce the web
tier.

Below is a summary of steps to deploy custom OAF extensions:

1. Run the adop prepare phase.
2. Source the patch edition environment.
3. For OA Extension Controller Java class file changes and BC4J XML file changes,
copy the .class and .xml files to $JAVA_TOP/<Company identifier>/*.
4. Run the adcgnjar utility
5. For BC4J substitutions and JRAD XML file changes, copy the JPX and XML files to
the $<CUSTOM>_TOP/mds directory, where $<CUSTOM>_TOP refers to your
custom product top.
6. Invoke the JPXImporter and XMLImporter utilities in the Patch file system to load
the contents of the JPX and XML files to the MDS repository
7. Run the adop cutover phase.

Custom synchronization driver file

To ensure that the custom java extension files are synchronized between the Run and
Patch file systems the next time you run the adop prepare phase, You should add entries
for all your custom files to the custom synchronization driver file located at
$APPL_TOP_NE/ad/custom/adop_sync.drv .The adop utility uses this driver file to synchronize
files between the run file system and the patch file system.
Add your entries in the section marked by the '#Begin Customization' and '#End
Customization' comments.
When adding your entries, follow the syntax of the examples provided in the
%s_adtop%/admin/template/adop_sync_drv.tmp template file. For example, if you have
custom java class files under the $JAVA_TOP/<Company identifier>/* directory, and if
all the files under this directory need to be synchronized between the patch file system
and the run file system, then add the following entry in the custom synchronization
driver file:
rsync -zr %s_current_base%/EBSapps/comn/java/classes/<Company identifier>
%s_other_base%/EBSapps/comn/java/classes
Any paths you include in your entries should be specified relative to s_current_base
and s_other_base.
Following the steps above will ensure that all OAF customizations are made correctly as
per Oracle guidelines.

5 comments:

  1. I wish to show thanks to you just for bailing me out of this particular trouble. As a result of checking through the net and meeting techniques that were not productive, Same as your blog I found another one Oracle Fusion Product Hub.Actually I was looking for the same information on internet for Oracle PPM Cloud and came across your blog. I am impressed by the information that you have on this blog. Thanks once more for all the details.

    ReplyDelete
  2. Thanks for sharing this blog. The content is beneficial and useful. Very informative post. Visit here to learn more about Data Mining companies and Data analytics Companies.

    ReplyDelete
  3. It's really a great and helpful piece of info. I'm glad that you just shared this useful information with us. Please keep us up to date like this. Thank you for sharing.Here is the right place to Submit Guest Post Big Data.

    ReplyDelete
  4. I wanted to leave a little comment to support you and wish you a good continuation. Wishing you the best of luck for all your blogging efforts. Application

    ReplyDelete
  5. Learnt something new today...Thanks.

    ReplyDelete