As noted in the last section of
ABAP & Excel, why can’t we just have something nice? its not only Excel that is a challenge, its the same with JSON and http. This blog post focuses on http, which is difficult to get working everywhere.
As noted by
martin-pankraz in
SAP S/4HANA Cloud ABAP Environment integration journey with Microsoft – Part 1 – Microsoft Teams app..., there is currently no http client released in S/4 HANA Private Cloud.
It is, however, possible to do a wrapper as per
Enable HTTP Communication in Your ABAP Code
Released APIs?
Until now, I've assumed that logic implemented in
ABAP Cloud in SAP BTP ABAP Environment would automatically be compatible with
S/4 HANA Cloud Public Edition and
S/4 HANA Private Edition, assuming its the same quarterly/yearly/bi-yearly release. But looks like the picture is more like,
With CL_HTTP_CLIENT not released, and CL_HTTP_DESTINATION_PROVIDER released in
ABAP Cloud in SAP BTP ABAP Environment and
S/4HANA Cloud Public Edition.
The diagram might be incorrect, but there is no transparency was to what is released when/where.
api.sap.com only includes a subset of the released objects, and it's not versioned or machine readable. As
noted in 2020 this is a challenge to the ABAP ecosystem, making it difficult for partners and customers to write future compatible code.
Lets do it?
So what's the fix? CL_HTTP_CLIENT and CL_HTTP_DESTINATION_PROVIDER has small differences to the method signatures making them incompatible seen from a consumer perspective.
from xkcd.com
My suggestion would be to write a new
nice http client library, which can be used anywhere, but it does require a http client to be released in
S/4 HANA Cloud Private Edition.
Pull requests welcome,
https://github.com/open-abap/cross-http-client
🤠