Regarding line #6, which of the following are valid statements?

Given the following code in an SAP S/4HANA Cloud private edition tenant:

The class zcl_demo_class is in a software component with the language version set to "ABAP Cloud". The function module ZF1′ is in a different software component with the language version set to "Standard ABAP". Both the class and function module are customer created.

Regarding line #6, which of the following are valid statements? Note: There are 2 correct answers to this question.
A . ZF1′ can be called only if it is released for cloud development.
B . ‘ZF1’ can be called if a wrapper is created for it and the wrapper itself is released for cloud development.
C . "ZF1" can be called whether it is released or not for cloud development
D . ZF1" can be called if a wrapper is created for it but the wrapper itself is not released for cloud development.

Answer: AB

Explanation:

The ABAP Cloud Development Model requires that only public SAP APIs and extension points are used to access SAP functionality and data. These APIs and extension points are released by SAP and documented in the SAP API Business Hub1. Customer-created function modules are not part of the public SAP APIs and are not released for cloud development. Therefore, calling a function module directly from an ABAP Cloud class is not allowed and will result in a syntax error. However, there are two possible ways to call a function module indirectly from an ABAP Cloud class:

Create a wrapper class or interface for the function module and release it for cloud development. A wrapper is a class or interface that encapsulates the function module and exposes its functionality through public methods or attributes. The wrapper must be created in a software component with the language version set to “Standard ABAP” and must be marked as released for cloud development using the annotation @EndUserText.label. The wrapper can then be called from an ABAP Cloud class using the public methods or attributes2.

Use the ABAP Cloud Connector to call the function module as a remote function call (RFC) from an

ABAP Cloud class. The ABAP Cloud Connector is a service that enables the secure and reliable

communication between SAP BTP, ABAP environment and on-premise systems. The function module

must be exposed as an RFC-enabled function module in the on-premise system and must be

registered in the ABAP Cloud Connector. The ABAP Cloud class can then use the class

cl_rfc_destination_service to get the destination name and the class cl_abap_system to create a

proxy object for the function module. The proxy object can then be used to call the function

module3.

Reference: 1: SAP API Business Hub 2: Creating an ABAP Cloud Project | SAP Help Portal 3: Calling Remote Function Modules | SAP Help Portal

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments