Skip to Content
0

How do you trace OData for HANA XSOData?

Mar 07 at 08:46 PM

102

avatar image

What is the best way to trace a OData call via PostMan in HANA Studio?

Without getting into the specifics of our environment, we have created OData Services on HANA using XSOData. I use postman to test custom procedures used for create/update and most everything works fine except for two PUTs (Updates) that run until timed out (10 minutes). I would like to know how to trace, to find out IF there is anything I can do about these statements, or if it is a problem with OData itself. The updates work well as stored procedure calls within HANA, but fail to get called from OData before the time out. The reason I know they aren't getting called is because I forced an immediate error at the beginning of the update procedure and it never gets to that statement.

One side question, what takes place when a PUT is issued? Is the process running its own GET to get the "old" information? Is there a way, through PostMan to provide both the old and new data?

We are running HANA 1.0 SPS12 and the OData is v2.0.

Thanks

Dan

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

1 Answer

Sergio Guerrero Mar 07 at 09:51 PM
0

in order to trace, see if you can add a user trace.... that way when the user executes it.. it should be logged... alternatively, see if the xsengine trace contains this information.

I found a few blogs while searching for this topic - try this one: https://blogs.sap.com/2014/06/11/introduction-to-hana-xs-application-development-part-5-blogproject-exposing-data-with-odata-services-and-performing-crud-operations-from-ui/

make sure you have your table exposed like the syntax on the blog i added here

service {

yourTable as tbl

create using "yourStoredPRoc";

}

hope this works - in your stored proc.. make sure your sql procedure has invoker and make sure the user has execute privileges to this stored proc and insert/update privileges to the table

Show 3 Share
10 |10000 characters needed characters left characters exceeded

Hi Sergio,

Thanks for your response. I used that blog last year to help create the OData Service we have had. Again I have had success with posts/puts (creates/updates) and have other entities work, but for two in particular. I don't think it has anything to do with the syntax, but more of our environment. All the privileges have been set and the procedure is pretty much a replica of one that is working, but for using a slight different view.

We are also running SDA (Smart Data Access) against a SQL database where the real data resides. I have a feeling that when HANA chooses to run its Execute Plan and/or passes information through SDA, the whole thing is hanging. Yet it works for some tables and not for others.

I'll try the xsengine trace again. I recall doing it before but can't recall if the results were helpful. The fact that we are also going through ODBC complicates matters.

Part of what I would like to know, in the tracing, is whether OData is first doing a read of the table to get the old information and that something in that read is not right.

Thanks,

Dan

1

Hi Sergio,

Do you know what trace settings would be best to track OData calls? What components and at what level?

Thanks,

Dan

0

hi Dan, I only know how to read the xs engine trace --- but i am not sure if it will capture all of the odata calls.

another option, ask your admin to trace it by the user .. maybe that trace will have additional details

0