diff --git a/.doc_gen/metadata/comprehend_metadata.yaml b/.doc_gen/metadata/comprehend_metadata.yaml
index b2590b3d34f..f8a44b912f8 100644
--- a/.doc_gen/metadata/comprehend_metadata.yaml
+++ b/.doc_gen/metadata/comprehend_metadata.yaml
@@ -291,6 +291,14 @@ comprehend_DetectSentiment:
snippet_tags:
- python.example_code.comprehend.ComprehendDetect
- python.example_code.comprehend.DetectSentiment
+ SAP ABAP:
+ versions:
+ - sdk_version: 1
+ github: sap-abap/services/cpd
+ excerpts:
+ - description:
+ snippet_tags:
+ - cpd.abapv1.detect_sentiment
services:
comprehend: {DetectSentiment}
comprehend_DetectSyntax:
diff --git a/sap-abap/services/cpd/package.devc.xml b/sap-abap/services/cpd/package.devc.xml
new file mode 100644
index 00000000000..c5fef40c774
--- /dev/null
+++ b/sap-abap/services/cpd/package.devc.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ Package for Amazon Comprehend
+
+
+
+
diff --git a/sap-abap/services/cpd/zcl_aws1_cpd_actions.clas.abap b/sap-abap/services/cpd/zcl_aws1_cpd_actions.clas.abap
new file mode 100644
index 00000000000..5b0de5e3f2b
--- /dev/null
+++ b/sap-abap/services/cpd/zcl_aws1_cpd_actions.clas.abap
@@ -0,0 +1,47 @@
+" Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+" SPDX-License-Identifier: Apache-2.0
+
+class ZCL_AWS1_CPD_ACTIONS definition
+ public
+ final
+ create public .
+
+public section.
+ METHODS detectsentiment
+ EXPORTING VALUE(oo_result) TYPE REF TO /aws1/cl_cpddetectsentimentrsp .
+protected section.
+private section.
+
+ENDCLASS.
+
+
+
+CLASS ZCL_AWS1_CPD_ACTIONS IMPLEMENTATION.
+
+
+ METHOD detectsentiment.
+ CONSTANTS cv_pfl TYPE /aws1/rt_profile_id VALUE 'ZCODE_DEMO'.
+
+ DATA(lo_session) = /aws1/cl_rt_session_aws=>create( cv_pfl ).
+ DATA(lo_cpd) = /aws1/cl_cpd_factory=>create( lo_session ).
+
+ DATA(lv_text) = |I love unicorns!| .
+ DATA(lv_language_code) = |en| .
+
+
+ " snippet-start:[cpd.abapv1.detect_sentiment]
+ TRY.
+ oo_result = lo_cpd->detectsentiment(
+ iv_languagecode = lv_language_code
+ iv_text = lv_text
+ ).
+
+ MESSAGE |Detected sentiment: { oo_result->get_sentiment( ) }| TYPE 'I'.
+
+ CATCH /aws1/cx_cpdtextsizelmtexcdex INTO DATA(lo_cpdex) .
+ MESSAGE 'The size of the input text exceeds the limit. Use a smaller document.' TYPE 'E'.
+
+ ENDTRY.
+ " snippet-end:[cpd.abapv1.detect_sentiment]
+ ENDMETHOD.
+ENDCLASS.
diff --git a/sap-abap/services/cpd/zcl_aws1_cpd_actions.clas.testclasses.abap b/sap-abap/services/cpd/zcl_aws1_cpd_actions.clas.testclasses.abap
new file mode 100644
index 00000000000..29af606d68b
--- /dev/null
+++ b/sap-abap/services/cpd/zcl_aws1_cpd_actions.clas.testclasses.abap
@@ -0,0 +1,37 @@
+" Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+" SPDX-License-Identifier: Apache-2.0
+
+CLASS ltc_zcl_aws1_cpd_actions DEFINITION FOR TESTING
+ DURATION SHORT
+ RISK LEVEL HARMLESS.
+
+ PRIVATE SECTION.
+ DATA ao_cpd_actions TYPE REF TO zcl_aws1_cpd_actions.
+ METHODS: detectsentiment FOR TESTING.
+ENDCLASS. "ltc_Zcl_Aws1_Cpd_Actions
+
+
+CLASS ltc_zcl_aws1_cpd_actions IMPLEMENTATION.
+
+ METHOD detectsentiment.
+ ao_cpd_actions = NEW zcl_aws1_cpd_actions( ).
+ DATA lo_output TYPE REF TO /aws1/cl_cpddetectsentimentrsp.
+ DATA(lv_expected_output) = |POSITIVE|.
+
+ ao_cpd_actions->detectsentiment(
+ IMPORTING
+ oo_result = lo_output ).
+
+ DATA(lv_found) = abap_true.
+ IF lo_output->has_sentiment( ) = abap_true.
+ IF lo_output->ask_sentiment( ) = lv_expected_output.
+ lv_found = abap_true.
+ ENDIF.
+ ENDIF.
+
+ cl_abap_unit_assert=>assert_true(
+ act = lv_found
+ msg = |Sentiment detection failed| ).
+ ENDMETHOD.
+
+ENDCLASS.
diff --git a/sap-abap/services/cpd/zcl_aws1_cpd_actions.clas.xml b/sap-abap/services/cpd/zcl_aws1_cpd_actions.clas.xml
new file mode 100644
index 00000000000..cf647da1aa3
--- /dev/null
+++ b/sap-abap/services/cpd/zcl_aws1_cpd_actions.clas.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+ ZCL_AWS1_CPD_ACTIONS
+ E
+ Comprehend Code Example
+ 1
+ X
+ X
+ X
+ X
+
+
+
+