このクイックスタートでは、ABAP SDK for Google Cloud の SAP BTP エディションを利用して Cloud Translation API v2 を使用し、英語からドイツ語にテキストを翻訳するプログラムの作成方法について説明します。
始める前に
このクイックスタートを実行する前に、自身または管理者によって次の事前準備が完了していることを確認してください。
Google Cloud アカウントとプロジェクトがある。
プロジェクトで課金が有効になっている。プロジェクトに対して課金が有効になっていることを確認する方法をご覧ください。
SAP BTP エディションの ABAP SDK for Google Cloud がインストールされ、構成されている。ABAP SDK for Google Cloud の SAP BTP エディションをインストールして構成する方法をご覧ください。
Google Cloud APIs にアクセスするための認証が設定されている。認証の設定方法をご覧ください。
SAP BTP、ABAP 環境にアクセスできる。
最新の Eclipse プラットフォームに最新の ABAP Development Tools(ADT)をダウンロードしてインストールしている。
ABAP Cloud プロジェクトを作成している。
Google Cloud プロジェクトで Cloud Translation API が有効になっていることを確認する。
テキストを翻訳する ABAP クラスを作成する
パッケージを作成します。
- ADT で、Project Explorer に移動します。
- パッケージ
ZLOCAL
を右クリックし、[新規] > [ABAP パッケージ] を選択します。 パッケージの次の詳細情報を入力します。
- 名前: 「
ZABAPSDK_TEST
」と入力します。 - 説明: 「
ABAP SDK Test Package
」と入力します。
- 名前: 「
[次へ] をクリックします。
[トランスポート リクエストを選択] ダイアログで、[新しいリクエストを作成] チェックボックスをオンにします。
トランスポート リクエストの説明を入力します。
[完了] をクリックします。
Cloud Translation API を呼び出す ABAP クラスを作成します。
- ABAP パッケージを右クリックし、[新規] > [ABAP クラス] を選択します。
ABAP クラスの次の詳細を入力します。
- 名前: 「
ZGOOG_CL_QS_TRANSLATION
」と入力します。 - 説明: 「
Quick start for Translation API
」と入力します。
- 名前: 「
[次へ] をクリックします。
トランスポート リクエストを選択し、[完了] をクリックします。
コードエディタで、デフォルトのコードを次のコード スニペットに置き換えます。
CLASS zcl_qs_translate_test DEFINITION PUBLIC FINAL CREATE PUBLIC. PUBLIC SECTION. INTERFACES if_oo_adt_classrun. ENDCLASS. CLASS zcl_qs_translate_test IMPLEMENTATION. METHOD if_oo_adt_classrun~main. DATA ls_input TYPE /goog/cl_translation_v2=>ty_006. DATA lt_translations TYPE /goog/cl_translation_v2=>ty_translations. DATA ls_texts TYPE /goog/cl_translation_v2=>ty_008. DATA lo_translate TYPE REF TO /goog/cl_translation_v2. TRY. " Instantiate API client stub lo_translate = NEW #( iv_key_name = 'DEMO_TRANSLATE' ). " Pass the text to be translated to the required parameter ls_input = VALUE #( format = 'text' source = 'en' target = 'de' q = VALUE #( ( |The Earth is the third planet from the Sun| ) ) ). " Call the API method to translate text lo_translate->translate_translations( EXPORTING is_input = ls_input IMPORTING es_output = DATA(ls_output) ev_ret_code = DATA(lv_ret_code) ev_err_text = DATA(lv_err_text) es_err_resp = DATA(ls_err_resp) ). IF lo_translate->is_success( lv_ret_code ) = abap_true. lt_translations = ls_output-data. TRY. ls_texts = lt_translations-translations[ 1 ]. out->write( |Translation Successful| ). out->write( |Translated Text is: { ls_texts-translated_text }| ). CATCH cx_sy_itab_line_not_found. out->write( |Translation not fetched| ). ENDTRY. ENDIF. " Close HTTP connection lo_translate->close( ). CATCH /goog/cx_sdk INTO DATA(lo_exception). " Handle exception here ENDTRY. ENDMETHOD. ENDCLASS.
DEMO_TRANSLATE
はクライアント キー名に置き換えます。変更を保存して有効にします。
アプリケーションを実行します。
- ABAP クラス
ZGOOG_CL_QS_TRANSLATION
を選択します。 - [実行] > [実行形式] > [ABAP アプリケーション(コンソール)] をクリックします。または、
F9
キーを押します。成功すると、次の出力が表示されます。'Translation Successful' 'Translated Text is: Die Erde ist der dritte Planet von der Sonne'
- ABAP クラス
次のステップ
- ABAP SDK for Google Cloud の SAP BTP エディションによるアプリケーション開発ガイドを確認する。
- Cloud フォーラムのコミュニティで ABAP SDK for Google Cloud について質問したり、ディスカッションに参加する。