cancel
Showing results for 
Search instead for 
Did you mean: 
Subscribe

Hello experts,

I have a requirement to build a fiori application where user will upload excel file containing purchase orders and we need to post supplier confirmation after some initial validations. 
I have done one POC to consume api API_SUPPLIERCONFIRMATION to post supplier confirmation in RAP action and it is working fine. I wanted to know whether it is a recommended approach to consume released api from ABAP as it introduces a http overhead? If we cannot find any released BO then can we go with calling released api from ABAP?

Thank you in advance for your support.

Imteyaz

0 Likes
View Entire Topic
AlexandrePassarelli
Contributor
0 Likes

Hi Imteyaz,

Short answer: for supplier confirmations there is no released RAP BO you could call with EML, so the released API is the way, and yes, you pay the HTTP round trip. I checked the release states on S/4HANA 2023 and 2025, and both look the same.

What the release information says (table ARS_W_API_STATE, in both releases)

  • The service group API_SUPPLIERCONFIRMATION and the entities A_SupplierConfirmation, A_SupplierConfirmationItem and A_SupplierConfirmationLine are released with contract C2, which is the contract for remote use.
  • No supplier confirmation behavior definition is released with C1, the contract for local use that EML needs in ABAP Cloud. The behavior definition A_SUPPLIERCONFIRMATION exists but has no release state, and neither do the RAP BOs of the apps, R_SupplierConfirmationTP and C_SupplierConfirmationTP.
  • I_PurchaseOrderTP_2 is released C1, but it has no confirmation entity, in 2023 or in 2025. It covers header, item, schedule line, account assignment, pricing element, notes, partner, supplier address, invoicing plan and subcontracting component.
  • For reading there is good news: I_POSupplierConfirmationAPI01 is released C1. Your checks after the Excel upload can read the existing confirmations with a normal SELECT, without HTTP.
  • For the call itself, /IWBEP/CL_CP_FACTORY_REMOTE is released C1, with CREATE_V2_REMOTE_PROXY and CREATE_V4_REMOTE_PROXY. A local client proxy also exists (/IWBEP/CL_CP_CLIENT_PROXY_FACT, CREATE_V4_LOCAL_PROXY), and it would skip HTTP, but it has no release state. So it is not an option for ABAP Cloud.

So, is it a good approach?

When there is no released BO, the released remote API is the way that keeps you on released objects only. The other way out, EML on R_SupplierConfirmationTP from classic ABAP, would work against an object without any contract, and an upgrade can change it without notice. I would not go there for something that posts documents.

What I would do in your case: keep all the validations on the C1 views (I_POSupplierConfirmationAPI01 and the purchase order views), and call the API only for the write, through the remote proxy and a communication arrangement. Then the HTTP part is only the posting, not the reads.

What I did not test: the API call itself through the remote proxy, how long it takes per confirmation, and S/4HANA Cloud Public Edition, where the list of released objects can be different. If your system is a newer release, check the release state of R_SupplierConfirmationTP there, because SAP keeps releasing BOs.