Friday, March 8, 2013

Write Back in OBI 11g

       


Steps to implement Writeback functionality:

 1)    Navigate to the instanceconfig.xml and add the following xml snippet.


Path for instanceconfig.xml :

$(ORACLE_INSTANCE)\config\OracleBIPresentationServicesComponent\coreapplication_obips1\instanceconfig.xml   

XML to be added:

<WebConfig xmlns="oracle.bi.presentation.services/config/v1.1">
   <ServerInstance>
      <LightWriteback>true</LightWriteback>
</ServerInstance>
</WebConfig>

         2)    In Physical layer, Disable  Cache Option in Physical Tables

      3)   In BMM layer, Enable ‘Writeable’ option in the corresponding  BMM columns



 4)    In Presentation Layer, Grant  ‘Read/Write’  access  for the corresponding Users/Groups

       5)      In Identity Manager, Navigate to the corresponding Groups/Users permissions and  Change from Execute Direct DB Request  from ‘Ignore’  to ‘Allow’





 In the Analysis:

           6)  In table properties, Goto ‘Write back’ tab & provide a ‘Template Name’







      7) Goto the ‘Advanced Tab’ in the same Analysis. For every column added,in XML,  there would ne an unique column id. Make a note of these column id’s .


     8)  Create a XML with the Template name provided in the write back table properties and place it in the following path :

$(ORACLE_INSTANCE)\bifoundation\OracleBIPresentationServicesComponent\coreapplication_obips1\analyticsRes\customMessages

In our case, the XML is WriteBack.xml:

 <?xml version="1.0" encoding="utf-8" ?>
<WebMessageTables xmlns:sawm="com.siebel.analytics.web/message/v1">
<WebMessageTable lang="en-us" system="WriteBack" table="Messages">
<WebMessage name="WriteBack">
<XML>
<writeBack connectionPool="ConnectionPool">
<insert> </insert>
<update>
UPDATE SCOTT.TWRITEBACK SET remote_value=@{cbeb7d58868b076fb} WHERE id =@{c3942f60cab957128} and id_2 = @{c006487670b2ecc7c}
</update>
</writeBack>
</XML>
</WebMessage>
</WebMessageTable>
</WebMessageTables>
    



Things to take care in the XML :
     * The Webmessage tag in the above XML is the name of our Template and also the XML file name
       * There should be a space between <insert>  </insert> ; even though we are not using insert command.
         * Please check whether the connection Pool Name is unique in the RPD. If we have multiple connection pool with the same name this would throw an error !
           * Please make sure the XML file is in UNIX format.
             * Ensure the appropriate column id is inserted in the XML.




            No comments:

            Post a Comment