OData v4 via Excel - The required attribute Relationship is missing - excel

I'm trying to test a new OData v4 web API I'm building with Excel and LinqPad but I'm getting the following error:
The required attribute Relationship is missing
The API seems correctly built, but "Relationship" never turns up in metadata, no matter how I structure the model.
What's going on? I'm sensing that v3 and 4 are not compatible.

PowerQuery does not yet support OData v4. You can harrass the development team here: :)
https://social.technet.microsoft.com/Forums/en-US/2169958f-9e2a-4fc2-a844-c0dce4c17a19/support-of-odata-v40?forum=powerquery
LinqPad's driver is clearly v3, but a search on linqpad.net reveals no mention of v4.

Related

I can't find any documentation for chrome.favicon API

I'm upgrading my extensions to manifest v3 however the API documentation and migration documentation is less than useful in most cases. Yet the manifest v3 have been enabled on Chrome version 88.
Can someone provide the chrome.favicon API documentation, please?
According to the document "coming soon".^^
they said to build the new API this api, but it seems like they forget to build it.

Guidance Required - Approach to consume ODATA Service

We understand that these are the options available from SDK to connect to ODATA Service
Option 1 - If the ODATA Service is not supported implicitly by SDK, Use com.sap.cloud.sdk.odatav2.connectivity.1.ODataCreateRequestBuilder
Option 2 - If the ODATA Service is not supported implicitly by SDK, Use VDM generation approach.
Call the services using generated Java classes
Option 3 - If the ODATA Service is supported implicitly by SDK, Use the already available class
e.g. 2> com.sap.cloud.sdk.s4hana.datamodel.odata.services.OutboundDeliveryService
Now we have have some questions and need expert guidance here
Question 1 - We have a use case where we need to call oDATA Services from a third party system
which option we should go for Option 1 or Option 2 ?
Question 2 - What are these cases where Option 1 is preferred over Option 2?
Question 3 - We also have a use case where we need to call S4HANA ODATA service related to OutboundDelivery. Service is supported by SDK by class com.sap.cloud.sdk.s4hana.datamodel.odata.services.OutboundDeliveryService
But there is one new field is getting added to the service during current release. We need to update this field
In this case which option is suggested?
Question 4 - How frequently new fields on existing S4HANA odata services are included in SDK?
I hope I can enlighten you a little here:
Regarding 1: Personally, I'd still recommend going with option 2 and generate client code using our generator. This will give you the same convenience that you know from the S/4 services for any other OData service. If, for some reason, the generated code does not work against your third party service, you can still use option 1 as a fallback.
Generally speaking, our generator should work for any OData v2 service, not just SAP services.
Regarding 2: As already mentioned, the generic OData client always works well as a fallback, if the generated client does not work whatever reason.
The other case I can think of (and this should be rather rare), is that you yourself are exposing one service that retrieves it data from several downstream OData services. In this case, the generic client might give you some advantages over the generated one.
Apart from that, I'm not aware of any use cases where I'd personally go with the generic client over the generated one.
Regarding 3 and 4: The VDM packages that we ship as part of the SAP Cloud SDK contain the OData client code for the current release of SAP S/4HANA Cloud. So if the services in SAP S/4HANA Cloud are updated, our packages will reflect that update. If you're working with SAP S/4HANA On-Premise, there's generally a good chance that the service is compatible with the Cloud version. If not, you can still use our generator to generate client code with the metadata of the respective On-Premise service.

Is Odata Filter functions supported in SAP Cloud SDK -Java

I want to use the OData function SubstringOf in our filter expression. As of now I do not see any relevant api against GeneratedEntityName.PROPERTYNAME.
Is there a workaround to use substringOf incase the API is unavailable.
Using Java SAP Cloud SDK version 3.7.0
Unfortunately the feature you are requesting is currently not implemented. Due to dependency restrictions the SAP Cloud SDK will not be able to provide a native solution to use custom filter expressions.
new DefaultGeneratedService()
.getAllEntities()
.select(Entity.PROPERTY_NAME)
.withQueryParameter("$filter", "substringof('SAP', CompanyName)")
You will not be able to use other filter expressions by the VDM. So you have to construct the query string yourself.
We are planning to enable custom and type based filters sometime this year.

chrome.permissions is not available in Edge extension

I am porting my Chrome extension to work in Microsoft Edge. I used Microsoft's toolkit and bridged the code. But i get an error is console saying "SCRIPT5007: Unable to get property 'contains' of undefined or null reference". This is thrown at the place where i have called chrome.permissions.contains.
Let me know if there is a solution for this or if there is a documentation for all these incompatibilities.
The API is not currently supported by Edge. Microsoft lists it as "Under consideration".
So the only solutions are:
Do not use chrome.permissions in your port. Probably by granting the widest permissions possible. Unpleasant, but you have to explain to users that it's a platform limitation.
Wait until it is supported (which is not guaranteed; FF's WebExtension platform doesn't support them yet either).
The roadmap of API support is here: Microsoft Edge extension API roadmap
Detailed list of supported APIs with known issues/incompatibilities: Supported APIs

Missing Authentication Request/Response POCOs in ServiceStack Clients

After reading a lot about ServiceStack, I think it's such a beautiful work of art and I decided to use it for our upcoming Xamarin iOS App.
The problem currently is that after installing the ServiceStack.Client for Xamarin.iOS, I can't find the Request/Response DTOs (i.e POCOs) that are used for registration or authentication given that I have enabled the Authentication and Registration Plugins in the service host.
After digging into the source code, I found those Request/Response DTOs to reside in ServiceStack assembly which is a huge dependency and I don't think I can include it in our iOS App.
is there a way around that ? shouldn't these DTOs be shipped as well with the ServiceStack clients themselves under maybe ServiceStack.Client.Auth ?
Thanks
Sorry, I guess I found them already available inside ServiceStack.Client .. what confused me is that I took some sample code from the C# client wiki and the DTOs were named differently and not available .. Thanks –

Resources