Categories
- All Categories
- 15 Oracle Analytics Sharing Center
- 14 Oracle Analytics Lounge
- 212 Oracle Analytics News
- 42 Oracle Analytics Videos
- 15.7K Oracle Analytics Forums
- 6.1K Oracle Analytics Idea Labs
- Oracle Analytics User Groups
- 78 Oracle Analytics Trainings
- 14 Oracle Analytics Data Visualizations Challenge
- Find Partners
- For Partners
Write Back Error in OBIEE 12.2.1

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
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: '<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>'[[
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
Answers
-
1. Ensure that you have the NAME OF THE CONNECTION POOL of your ADMIN TOOL in the <writeBack connectionPool="OrgHierarchy"> TAG
2. Check about your Privileges ( Administration -> Manage Privileges )
3. Check the permissions "Execute Direct Database Request" of your Application Role has "Allow".
0 -
Hi ,
Thanks for your reply
Those are all taken care
Thanks
V
0 -
-Check the permissions "Execute Direct Database Request" of your Application Role should be "Allow".
- 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
- 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
- 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.
0 - The Oracle BI Administrator of the repository does the following:
-
Yes those all are taken care.
Thanks
V
0 -
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.
0 -
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
0 -
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?
0 -
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
0 -
Just curious, your statement is INSERT, but I see the record type = UPDATE? Is that normal?
0 -
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
0