7 Replies Latest reply: Sep 11, 2013 12:52 AM by DilipG RSS

    VO Substitution - methods

    680096
      Hi,

      Can any one explain the methods involved in VO substitution. I would like to know if JPX Import Command is mandatory for a VO substitution. In one of the articles I read, it just mentions about substituting a VO (jpx file creation) but no where I came across the import command.

      I would like to know if a VO extension can happen without this.


      Thanks,
      Padmaja
        • 1. Re: VO Substitution - methods
          AnilSharma
          You need to run the JPX importer command to effect the VO substitution.


          Thanks
          --Anil                                                                                                                                                                                       
          • 2. Re: VO Substitution - methods
            593476
            You need to run the JPX import command for your VO Substitution to take effect.

            JPX Importer will import the BC4J substitution information as a site level personalization.

            http://www.oraclearea51.com/oracle-technical-articles/oa-framework/oa-framework-beginners-guide/293-deploying-the-vo-substitution.html


            During runtime OAF will substitute the old VO with your newly extended VO.

            Regards
            Sudhakar

            Edited by: user590473 on Jan 4, 2010 9:37 AM
            • 3. Re: VO Substitution - methods
              Jcgeorge-Oracle
              Since the JPX file is imported into the MDS Repository , its always better to have a middle tier bounce after the import for VO Substitution.
              • 4. Re: VO Substitution - methods
                Cornell

                I'm new to OAF, and the only one in the company working with it.  I understand that, when deploying from JDeveloper to a development platform, jpximport is used to import the substitutions contained in the project jpx file.

                 

                Our general procedure to deploy to QA is to migrate from Dev, and to Prod, migrate from QA.  So I'd rather get the substitutions from Dev and put them into QA, etc.

                 

                I notice when exporting personalizations, from Dev, substitutions are exported as server site personalizations, like this:

                <?xml version = '1.0' encoding = 'UTF-8'?>

                <customization xmlns="http://xmlns.oracle.com/jrad" xmlns:ui="http://xmlns.oracle.com/uix/ui" xmlns:oa="http://xmlns.oracle.com/oa" xmlns:user="http://xmlns.oracle.com/user" version="10.1.3_1312" xml:lang="en-US" customizes="/oracle/apps/per/selfservice/mgrviews/server/AbsenceDetailsVO">

                   <replace with="/myCompany/oracle/apps/per/selfservice/mgrviews/server/MyCompanyAbsenceDetailsVO"/>

                </customization>

                 

                Can I then just import them into QA?  Or am I going to have to use jpximport on QA as well?

                • 5. Re: VO Substitution - methods
                  DilipG

                  Hi Cornell,

                   

                  You need to Import Jpx file and need  to bounce apache for change effect.

                  Please check below steps for more understanding.

                  Deploying Your ViewObject Extensions

                   

                  Deploying Your ViewObject Extensions

                   

                  Step 1:  Compile your Java in JDeveloper and copy ur .xml and .class files to Server

                   

                              <$JAVA_TOP>/<CompanyIdentifier>/oracle/apps/<AppsProductShortName>/server (BC4J files)

                              so, if you extend a "so" view object, and your company's name is "xyz," a subclass of the Ordervompl

                                view object would be in the following directory:

                               <$JAVA_TOP>/xyz/oracle/apps/so/server/xyzOrderVOImpl.class

                               Set the permissions on $JAVA_TOP/

                   

                  Step 2:  Copy the .jpx definition file to the Top.

                                In my case I have creataed JpxFile Folder on JAVA_TOP  and Copied my .jpx file there .jpx file,

                                which should be located under <JDEV_USER_HOME>\myprojects, to the following   staging area:

                   

                                 $JAVA_top/JpxFile/

                   

                  Step 3:  Run the jpx import utility from JAVA_TOP to import substitutions specified in the .jpx definition

                                file to the MDS repository.

                                The import utility, jpximport.bat or the jpximport shell script. You run this utility from the command

                                line  by specifying:

                              

                                A. The database credentials of the MDS repository on your target instance

                                B. The fully-qualified location of your .jpx file, which should be located under

                                $JAVA_top/JpxFile/

                   

                              Using the example on substituting the OrderVo view object from  Order.jpx, your command line

                               would look something like the following:

                   

                              java oracle.jrad.tools.xml.importer.JPXImporter $JAVA_TOP/xyz/jpxFiles/Order.jpx \

                             -username <apps username> \

                             -password <apps password> \

                            -dbconnection "(description=(address_list=(address=(community=tcp.world)(protocol=tcp)

                             (host=<Host Name>)        (port=<PortNumber>)))(connect_data=(sid=<SID Name>)))"

                   

                   

                   

                  Step 4: Bounce the web server

                   

                  step  5: Do Personalization If Required

                   

                  Step 6: Review your deployed extensions

                   

                     At this point the deployment of your extension is complete, and you should be able to login to your

                     application to verify that your changes have successfully taken effect.

                     You can check you Extension Using JDR_util Package

                   

                   

                  Thanks,

                  Dilip

                  • 6. Re: VO Substitution - methods
                    Cornell

                    Thank you DilipG, but I don't understand why it is necessary to import from jpx for each platform, as in migrating/deploying from Dev to QA to Prod.

                     

                    I understand that JDeveloper keeps the substitution to itself, in jpx.  And that to get it into the database so the middle tier can use it, one needs to use jpximport to import it from the jpx.  So when deploying from JDeveloper to Dev, one would use jpximport.

                     

                    But once that is done, the substitutions are in the MDS repository, in the database.  If one then exports the Dev personalizations, the substitutions also export, in xml files as above.

                     

                    Why can we not then simply import the personalizations, including the substitutions, into QA?  The export mechanism takes things from their proper place in the database and puts them into files.  The import mechanism must certainly do the opposite, taking things from files and putting them into their proper place in the database.  If substitutions can be exported as personalizations, then they should be able to be imported as personalizations.  By the same token, if they can't be imported as substitutions, then the export mechanism should not export them.

                    • 7. Re: VO Substitution - methods
                      DilipG

                      Yes your are right.

                       

                      1)Please check VO personalization is imported  in destination MDS by below command (note: change your VO path)

                       

                      DECLARE

                      BEGIN

                      jdr_utils.printdocument(p_document => '/oracle/apps/per/selfservice/mgrviews/server/customizations/site/0/SalaryDetailsVO);

                      END;

                       

                       

                       

                      2) Do Clear cache by Functional Administrator and check.

                       

                       

                        Functional Administrator ->Coreserviced-->Caching Framework-->Global Configuration-->Clear All Cache

                        Functional Administrator ->Coreserviced-->Caching Framework-->Global Configuration-->Clear All Statics

                       

                       

                       

                      3)If not succeed Please  Try one bounce Apache and check.

                       

                       

                      Refer below link for more understanding

                       

                      https://forums.oracle.com/thread/1114198

                       

                       

                      Thanks,

                      Dilip