cancel
Showing results for 
Search instead for 
Did you mean: 

Calling on-premise ODATA from SAP CAP

sandeepmalhotra
Participant
0 Kudos
730

Hello Folks,

I am calling on-premise ODATA in SAP CAP ( via destination) and got the issues while using filter on Edm.DateTimeOffset property

Following are steps I have done 

1 Imported the edmx via cds import

2 Created the wrapper Entity set in the SAP CAP service

3 In on handler call the function cds.connect.to to read data

I tried following URL but got error

 

URL Issue
EntitySet?fitler=someProperty eq '00206566' and (startDate gt datetime 2021-11-25T00:00:00 and endDate lt datetime 2021-11-26T00:00:00 )Property 'datetime' does not exist in type
$filter=someProperty eq '00204966' and (startDate ge 2021-11-25T00:00:00 and endDate le 2021-11-25T00:00:00)The type 'Edm.DateTimeOffset' is not compatible to 'Edm.Date' 

In on-premise system following URL works perfectly

EntitySet?$filter=someProperty eq '00204966'and startDate ge datetime'2021-11-25T00:00:00' and endDate le datetime'2021-11-25T00:00:00' & $format=json

Kindly let me know 

Thanks in advance

P.S Please make a note that am using odata v4 in SAP CAP and on-premise ODATA is v2. Also data type of date field is Edm.Date with precision 7 in on-premise odata but it is Edm.DateTimeOffset in SAP CAP odata metadata

 

 

 

View Entire Topic
junwu
Active Contributor
0 Kudos

seems you are missing ' in your odata url startDate gt datetime 2021-11-25T00:00:00

sandeepmalhotra
Participant
0 Kudos
I got the error Property 'datetime' does not exist in type after using $filter=someProperty eq '00204966' and (startDate ge datetime'2021-11-25T00:00:00' and endDate le datetime'2021-11-25T00:00:00')
junwu
Active Contributor
0 Kudos
how about this? startDate ge 2021-11-25T00:00:00Z
sandeepmalhotra
Participant
0 Kudos

I found the cause SAP CAP framework send the date 2024-05-23T00:00Z to SAP on-premise system But SAP on-premise system accepts date 2024-05-23T00:00 ( without Z) . So I removed the Z from the date before calling on -premise .