4 Replies Latest reply on Apr 24, 2014 8:20 AM by user12023130

    Migration to OPA v10.4 from Haley v9.4


      Hi All,


      I am currently in the progress of migrating haley v9.4 to Opa v10.4.

      I  imported the v9.4 project into OPM v10.4 and created the new rulebases (v10.4) for the OPA v10.4 to process.

      Is this the correct way to upgrade the projects and rulebases? Thanks.


      As currently for Haley V9.4, we are actually using the config xml file, thus we need to migrate this to the new xml config recognised by v10.4. However I only migrate portion of it and try to process the new xml, the output are all empty so I am wondering if there is anything wrong with the new config xml syntax.


      Here the example:


      Old config attribute:


      <attribute type="Boolean" source-field="account_mssl" source-table="account" target-attr="account_mssl" target-entity="account" ordinality=
      "1" output="true"/>


      New Config attribute


      <mapping entity="account" table="account" primary-key="#">
      <attribute type="Boolean" name="account_mssl" field="account_mssl" output="true" />



      For the relationship mapping, is the new syntax correct for the onetomany relationship?
      Old config
      <relationship source-table="global" target-table="account" source-entity="global" target-entity="account" type="1m" source-key="sett_run_id" target-key="account_str_id" name="settlementaccounts" reverse-name="global_settlementaccounts_rev"/>


      new config
      <relationship name="settlementaccounts" source-entity="global" target-entity="account" type="1m" source-key="sett_run_id" target-key="account_str_id" reverse-name="global_settlementaccounts_rev" ?>


      Need some help here.




        • 1. Re: Migration to OPA v10.4 from Haley v9.4



          The Batch Processor, is a very different application from the old Data Source Connector from 9.4. Its much more powerful and much easier to configure.


          From the Batch Processor documentation at: Oracle Policy Automation Developer's Guide


          For a one-to-many relationship, the relationship mapping should be placed in the entity which has the foreign key, this is usually the entity on the "to-many" side of the relationship


          • name attribute - defines relationship public name.
          • source-entity attribute - defines the source entity for the relationship.
          • foreign-key attribute - defines the column in which the foreign-key for the source entity is stored. This field must be a integer field which references a primary key in the source entity table (or csv file).


          So I think your configuration should probably be the following

          1. put the relationship" element in the "mapping" element for the entity "account"
          2. make sure to define the "name" (public name of the relationship), source-entity (the one side of the one-to-many), and the "foreign-key (database column which is the foreign key).


          In you case that should look something like.


          <mapping entity="account" ....>


               <relationship name="settlementaccounts" source-entity="global" type="1m" foreign-key="sett_run_id" />


          for more information, have a look at:

          http://docs.oracle.com/html/E48376_01/toc.htm#Batch Processor/Configure_the_Batch_Processor.htm%3FTocPath%3DBatch%20Processor%7C_____5

          For more information have a look at: Batch Processor, and, in particular, Configure the Batch Processor, in the Developers Guide.

          • 2. Re: Migration to OPA v10.4 from Haley v9.4

            Hi Frank,


            Thanks a lot for your advice.

            I did try for the new relationship syntax you suggested before, however the "sett_run_id" is not an integer, it a string, thus it is having error. Need your advice.


            As for the attributes, may I know the new syntax which I configured is correct?


            Beside that, while processing the rulebase, there are java jar file to be processed as well by calling the "CallCustomFunction".

            the interval’s  EGA IEQ = Number(CallCustomFunction("EGAMinimumSum", "intervalsmarket,market_number,marketsintervals,interval_number,interval_account,interval_ega_id,interval_wpq,interval_ieqp"))"


            Is there any way in which we can confirm the  jar file is been called while processing the rule base as I can't see anything from the log?
                <function platform="Java" library-path="SettlementFunctions.jar"       class="com.emc.sett.SettlementFunctions"/>


            Thanks for your help once again.

            • 3. Re: Migration to OPA v10.4 from Haley v9.4

              Sorry for the late reply, a nasty flu had me in its grasp.


              If you are using the 10.4.4 version of the batch processor, you should have no problem handling string based ids. Can you confirm your version?


              With regards to your custom function, if you turn the debugging up to to level="debug" in the log4j.xml of the batch processor, you should be able to see if the custom function is being loaded from the. Also, I would expect an error to be thrown if a custom function was not loaded.




              1 person found this helpful
              • 4. Re: Migration to OPA v10.4 from Haley v9.4

                Hi Frank,


                Sorry for the very late reply as I am busy with other things.

                Yest, our batch processor s actually 10.4.4 version.

                I having this error in the log file:

                "Stored error message: Error parsing value in column 'interval_account' in table 'interval'. Value 'XXXXXX' is not a number"


                And also I notice that when I run for the batch processor, it only processed the Global entities and skipped the rest.

                How can I go about resolving this?


                Need your advice.

                Many Thanks!