rss
SOATUBE
Oracle
Custom Search SOABYTE here

Friday, October 12, 2012

CHANGES IN AIA 11.2 VS AIA 11.1 WRT BRM MULTI-SCHEMA SUPPORT

CHANGE ANALYASIS WITH A EXAMPLE


Changes in services\industry\Communications\BRM\ProviderABCS\ProcessFulfillmentOrderBillingBRMCommsAddSubProcess\xsl\XFrmSearchInput.xsl

AIA 11.1 version

<xsl:param name="OwnerAccId"/>
  <xsl:param name="BillProfileId"/>
  <xsl:template match="/">
      <PCM_OP_SEARCH_inputFlist xmlns="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes">
       <ARGS elem="1">
          <AR_BILLINFO_OBJ>
            <xsl:value-of select="$BillProfileId"/>
          </AR_BILLINFO_OBJ>
       </ARGS>
       <ARGS elem="2">
          <ACCOUNT_OBJ>
            <xsl:value-of select="$OwnerAccId"/>
          </ACCOUNT_OBJ>
       </ARGS>
       <ARGS elem="3">
          <PAY_TYPE>10007</PAY_TYPE>
       </ARGS>
       <FLAGS>256</FLAGS>
       <POID>0.0.0.1 /search -1 0</POID>
       <RESULTS elem="0">
          <POID>0.0.0.1 /billinfo 0 0</POID>
       </RESULTS>
       <TEMPLATE>select X from /billinfo where F1 = V1 and F2 = V2 and F3 = V3</TEMPLATE>
    </PCM_OP_SEARCH_inputFlist>
  </xsl:template>
</xsl:stylesheet>

 AIA 11.2 version

<xsl:param name="OwnerAccId"/>
  <xsl:param name="BillProfileId"/>
  <xsl:param name="TargetId"/>
  <xsl:variable name="DVMTargetCol" select="$TargetId"/>
  <xsl:variable name="DVMSourceCol">COMMON</xsl:variable>
  <xsl:variable name="GetBRMSchemaStringValue">
  <xsl:choose>
    <xsl:when test="boolean($OwnerAccId != '')">
        <xsl:value-of select="substring-before($OwnerAccId,' /')"/>
    </xsl:when>
    <xsl:otherwise/>
    </xsl:choose>
  </xsl:variable>
  <xsl:template match="/">
      <PCM_OP_SEARCH_inputFlist xmlns="http://xmlns.oracle.com/BRM/schemas/BusinessOpcodes">
       <ARGS elem="1">
          <AR_BILLINFO_OBJ>
            <xsl:value-of select="$BillProfileId"/>
          </AR_BILLINFO_OBJ>
       </ARGS>
       <ARGS elem="2">
          <ACCOUNT_OBJ>
            <xsl:value-of select="$OwnerAccId"/>
          </ACCOUNT_OBJ>
       </ARGS>
       <ARGS elem="3">
          <PAY_TYPE>
            <xsl:value-of select ="dvm:lookupValue('oramds:/apps/AIAMetaData/dvm/CUSTOMERPARTY_PAYPROFILE_PAYMETHODCODE.dvm',$DVMSourceCol,'SUBORDINATE',$DVMTargetCol,'')"/>
          </PAY_TYPE>
       </ARGS>
       <FLAGS>256</FLAGS>
       <POID>
            <xsl:value-of select="concat($GetBRMSchemaStringValue,' /search -1 0')"/>
       </POID>
       <RESULTS elem="0">
         <POID>
            <xsl:value-of select="concat($GetBRMSchemaStringValue,' /billinfo -1 0')"/>
          </POID>
       </RESULTS>
       <TEMPLATE>select X from /billinfo where F1 = V1 and F2 = V2 and F3 = V3</TEMPLATE>
    </PCM_OP_SEARCH_inputFlist>
  </xsl:template>
</xsl:stylesheet>


In the second case, the variable GetBRMSchemaStringValue is passed instead of passing the Hard-coded value as in AIA 11.1. So, when BRMCAVS_SEARCH is invoked in the bpel process, a dynamic value is populated to <POID> rather than a hard-coded value as before.





Likewise GetBRMSchemaStringValue finds references in following files:--

Looking for GetBRMSchemaStringValue in D:\Oracle\Middleware\AIA_HOME1\services\industry\Communications\BRM

D:\Oracle\Middleware\AIA_HOME1\services\industry\Communications\BRM\ProviderABCS\QueryInstalledProductListBRMCommsProvABCSImpl\xsl\QueryInstalledProductListEBM_to_PCM_OP_SEARCH.xsl
(46,27):       <xsl:variable name="GetBRMSchemaStringValue">
(54,39):         <xsl:value-of select="concat($GetBRMSchemaStringValue,' /search -1 0')"/>
D:\Oracle\Middleware\AIA_HOME1\services\industry\Communications\BRM\ProviderABCS\ProcessFulfillmentOrderBillingBRMCommsMoveAddSubProcess\xsl\XFrmSearchInput.xsl
(40,23):   <xsl:variable name="GetBRMSchemaStringValue">
(67,43):             <xsl:value-of select="concat($GetBRMSchemaStringValue,' /search -1 0')"/>
(71,43):             <xsl:value-of select="concat($GetBRMSchemaStringValue,' /billinfo -1 0')"/>
D:\Oracle\Middleware\AIA_HOME1\services\industry\Communications\BRM\ProviderABCS\ProcessFulfillmentOrderBillingBRMCommsAddSubProcess\xsl\OrderEBMToModifyCustomer.xsl
(61,23):   <xsl:variable name="GetBRMSchemaStringValue">
(151,39):         <xsl:value-of select="concat($GetBRMSchemaStringValue,' ')"/>
D:\Oracle\Middleware\AIA_HOME1\services\industry\Communications\BRM\ProviderABCS\ProcessFulfillmentOrderBillingBRMCommsAddSubProcess\xsl\XFrmSearchInput.xsl
(40,23):   <xsl:variable name="GetBRMSchemaStringValue">
(67,43):             <xsl:value-of select="concat($GetBRMSchemaStringValue,' /search -1 0')"/>
(71,43):             <xsl:value-of select="concat($GetBRMSchemaStringValue,' /billinfo -1 0')"/>
D:\Oracle\Middleware\AIA_HOME1\services\industry\Communications\BRM\ProviderABCS\ProcessFulfillmentOrderBillingBRMCommsUpdateSubProcess\xsl\XFrmSearchInput.xsl
(40,23):   <xsl:variable name="GetBRMSchemaStringValue">
(67,43):             <xsl:value-of select="concat($GetBRMSchemaStringValue,' /search -1 0')"/>
(71,43):             <xsl:value-of select="concat($GetBRMSchemaStringValue,' /billinfo -1 0')"/>
D:\Oracle\Middleware\AIA_HOME1\services\industry\Communications\BRM\ProviderABCS\SyncCustomerPartyListBRMCommsProvABCSImpl\xsl\XFrmSearchInput.xsl
(40,23):   <xsl:variable name="GetBRMSchemaStringValue">
(62,43):             <xsl:value-of select="concat($GetBRMSchemaStringValue,' /search -1 0')"/>
(66,37):       <xsl:value-of select="concat($GetBRMSchemaStringValue,' /billinfo -1 0')"/>
D:\Oracle\Middleware\AIA_HOME1\services\industry\Communications\BRM\ProviderABCS\SyncCustomerPartyListBRMCommsProvABCSImpl\xsl\XFrmSearchBillProfInput.xsl
(39,23):   <xsl:variable name="GetBRMSchemaStringValue">
(61,43):             <xsl:value-of select="concat($GetBRMSchemaStringValue,' /search -1 0')"/>
D:\Oracle\Middleware\AIA_HOME1\services\industry\Communications\BRM\ProviderABCS\ProcessFulfillmentOrderBillingBRMCommsProvABCSImpl\xsl\OrderEBMToPromotionSETBundle.xsl
(45,23):   <xsl:variable name="GetBRMSchemaStringValue">
(56,32):  <xsl:value-of select="concat($GetBRMSchemaStringValue,' /purchased_bundle -1 0')"/>
D:\Oracle\Middleware\AIA_HOME1\services\industry\Communications\BRM\ProviderABCS\ProcessFulfillmentOrderBillingBRMCommsProvABCSImpl\xsl\OrderEBMToCreateProfile.xsl
(42,23):   <xsl:variable name="GetBRMSchemaStringValue">
(52,37):       <xsl:value-of select="concat($GetBRMSchemaStringValue,' /profile/serv_extrating -1 0')"/>
(56,32):  <xsl:value-of select="concat($GetBRMSchemaStringValue,' /profile/acct_extrating -1 0')"/>

1 comments:

NicWebbo said...

I think that only the search supports the multischema. Can you explain me where is the dynamic code to create a customer in one specific schema?
For example the SyncCustomerPartyListEBM_to_PCM_OP_CUST_COMMIT_CUSTOMER.xsl and SyncCustomerPartyListEBM_To_PCM_OP_CUST_UPDATE_CUSTOMER_inputFlist.xsl have hardcode the value 0.0.0.1 it means that the customer will be always created in the same schema?

Post a Comment

 
Blogger Profile