Oracle Analytics Cloud and Server

Welcome to the Oracle Analytics Community: Please complete your User Profile and upload your Profile Picture

Write Back Error in OBIEE 12.2.1

Received Response
244
Views
14
Comments
Venkata Rachuri
Venkata Rachuri Rank 5 - Community Champion

Hi All,

I am trying to create a write back form in OBIEE . My template

My Template :

<?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="SetQuotaUseID">

<XML>

<writeBack connectionPool="OrgHierarchy">

<insert>INSERT INTO OBIEE_EMPLOYEE_WRITEBACK VALUES(obieewrite_seq.nextval,@{c1})</insert>

<update> </update>

</writeBack>

</XML>

</WebMessage>

</WebMessageTable>

</WebMessageTables>

I am getting attached error

pastedImage_1.png

Saw Log Error :

[2016-11-16T14:17:03-06:00] [OBIPS] [ERROR:31] [] [saw.writeback.execute] [ecid: 2279be29-9b7e-4dbe-bb6c-3a0f43c7d1e5-000005ed,0:1] [tid: 2238666496] [SI-Name: ] [IDD-Name: ] [IDD-GUID: ] [userId: weblogic] Could not find privilege: Delete[[

File:coprivilegemap.cpp

Line:149

Location:

  saw.writeback.execute

  saw.httpserver.processrequest

  saw.rpc.server.responder

  saw.rpc.server

  saw.rpc.server.handleConnection

  saw.rpc.server.dispatch

  saw.threadpool.socketrpcserver

  saw.threads

HttpCommand: WriteBack

[OBIPS] [ERROR:10] [] [saw.writeback.action.execute] [ecid: 2279be29-9b7e-4dbe-bb6c-3a0f43c7d1e5-000005ed,0:1] [tid: 2238666496] [SI-Name: ] [IDD-Name: ] [IDD-GUID: ] [userId: weblogic] The system was unable to generate appropriate SQL.  Please contact your system administrator.

Template: 'INSERT INTO OBIEE_EMPLOYEE_WRITEBACK VALUES(obieewrite_seq.nextval,@{c1})'<br><br>Record: '&lt;record type=&quot;update&quot;&gt;&lt;value columnID=&quot;cf4e17e03339d1164&quot;&gt;&lt;sawx:expr xmlns:sawx=&quot;com.siebel.analytics.web/expression/v1.1&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance" xsi:type=&quot;xsd:decimal&quot;/&gt;&lt;/value&gt;&lt;value columnID=&quot;cb75a98a50e5559eb&quot; type=&quot;update&quot;&gt;&lt;newValue&gt;&lt;sawx:expr xmlns:sawx=&quot;com.siebel.analytics.web/expression/v1.1&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance" xsi:type=&quot;xsd:decimal&quot;&gt;236955&lt;/sawx:expr&gt;&lt;/newValue&gt;&lt;oldValue&gt;&lt;sawx:expr xmlns:sawx=&quot;com.siebel.analytics.web/expression/v1.1&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance" xsi:type=&quot;sawx:null&quot;/&gt;&lt;/oldValue&gt;&lt;/value&gt;&lt;/record&gt;'[[

File:writebackaction.cpp

Line:287

Location:

  saw.writeback.action.execute

  saw.writeback.execute

  saw.httpserver.processrequest

  saw.rpc.server.responder

  saw.rpc.server

  saw.rpc.server.handleConnection

  saw.rpc.server.dispatch

  saw.threadpool.socketrpcserver

  saw.threads

HttpCommand: WriteBack

HttpArgs: type='update',SearchID='6ju9pjfh6hr962u3n4mh0j1c2a',_scid='TmjvwzzET7JNSMTjo7Xi',ButtonClicked='save',WriteBackXML='<writeback template="SetQuotaUseID"><record type="update"><value columnID="cf4e17e03339d1164"><sawx:expr xmlns:sawx="com.siebel.analytics.web/expression/v1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:decimal"/></value><value columnID="cb75a98a50e5559eb" type="update"><newValue><sawx:expr xmlns:sawx="com.siebel.analytics.web/expression/v1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:decimal">236955</sawx:expr></newValue><oldValue><sawx:expr xmlns:sawx="com.siebel.analytics.web/expression/v1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="sawx:null"/></oldValue></value></record></writeback>',icharset='utf-8',ViewState='acogfk80aqvlekk6j9affghbra',TableId='saw_502_4',StatePath='d:dashboard~p:h56vca5hge5k90tl~r:dog9s4o44ifr6mti~v:compoundView!1~v:tableView!1'

Any help is appreciated

«1

Answers

  • cesar.advincula.o
    cesar.advincula.o Rank 6 - Analytics Lead

    1. Ensure that you have the NAME OF THE CONNECTION POOL of your ADMIN TOOL in the <writeBack connectionPool="OrgHierarchy"> TAG

    Screen Shot 2016-11-16 at 3.40.45 PM.png

    2. Check about your Privileges (  Administration -> Manage Privileges )

    Screen Shot 2016-11-16 at 3.35.20 PM.png

    3. Check the permissions "Execute Direct Database Request" of your Application Role has "Allow".

    Screen+Shot+2016-11-16+at+3.43.28+PM.png

  • Venkata Rachuri
    Venkata Rachuri Rank 5 - Community Champion

    Hi ,

    Thanks for your reply

    Those are all taken care

    Privi.png

    pastedImage_1.png

    Thanks

    V

  • cesar.advincula.o
    cesar.advincula.o Rank 6 - Analytics Lead

    -Check the permissions "Execute Direct Database Request" of your Application Role should be "Allow".

    Screen+Shot+2016-11-16+at+3.43.28+PM.png

    - When you use the <INSERT> you should has a NULL ROW to insert.

    Check the example  (17.8.3) in the documentation https://docs.oracle.com/middleware/1221/biee/BIESG/answersconfigset.htm#BIESG1356

    1. The Oracle BI Administrator of the repository does the following:
      • Creates a physical table called regiontypequota that includes the YR, Quarter, Region, ItemType, and Dollars columns
      • Selects the Allow direct database request by default option in the General tab of the Database dialog
    2. Using the Oracle BI Administration Tool, the Oracle BI Administrator of the repository:
      • Makes the WriteBack table noncacheable in the Physical layer
      • Makes the Dollars column in the WriteBack table writeable in the Business Model layer
      • Enables Read/Write permission on the Dollars column in the WriteBack table in the Presentation layer to the BI Author and Authenticated User

      Restart and Test Again.

    1. Venkata Rachuri
      Venkata Rachuri Rank 5 - Community Champion

      Yes those all are taken care.

      Priv1.png

      Thanks

      V

    2. cesar.advincula.o
      cesar.advincula.o Rank 6 - Analytics Lead

      Did you check the example  in the documentation in the link 17.8.3 ? https://docs.oracle.com/middleware/1221/biee/BIESG/answersconfigset.htm#BIESG1356

      It has almost a step by step.

    3. Venkata Rachuri
      Venkata Rachuri Rank 5 - Community Champion

      Yes I did create my Template referring to that example.

      My Template :

      <?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="SetQuotaUseID">

      <XML>

      <writeBack connectionPool="OrgHierarchy">

      <insert>INSERT INTO OBIEE_EMPLOYEE_WRITEBACK VALUES(obieewrite_seq.nextval,@{c1})</insert>

      <update> </update>

      </writeBack>

      </XML>

      </WebMessage>

      </WebMessageTable>

      </WebMessageTables>

      I left blank between update tags as I am just doing insert.

      Thanks

      V

    4. cesar.advincula.o
      cesar.advincula.o Rank 6 - Analytics Lead

      Do you check database permissions for insert in the schema using the sequence? Do you restart the presentation service to apply the changes that you made?

    5. Venkata Rachuri
      Venkata Rachuri Rank 5 - Community Champion

      Yes. If I excute the  sql statement directly on the database it inserts 1 row in to the table. So it works.

      INSERT INTO OBIEE_EMPLOYEE_WRITEBACK VALUES(obieewrite_seq.nextval,1);

      Thanks

      V

    6. 3310714
      3310714 Rank 6 - Analytics Lead

      Just curious, your statement is INSERT, but I see the record type = UPDATE?  Is that normal?

    7. Venkata Rachuri
      Venkata Rachuri Rank 5 - Community Champion

      If you create write back form you will see update button. when you click on it, it will open another form inside where you will do insert (or) update.

      Even I put update statement I am seeing the this update thing. So I am guessing this is picking from GUI I guess.

      Thanks

      V