Menggunakan Translation API dengan ABAP SDK untuk Google Cloud

1. Pengantar

Codelab ini menyediakan langkah-langkah untuk memanggil metode Translation API V3 (Lanjutan) menggunakan ABAP SDK untuk Google Cloud. Dalam codelab ini, kita akan melihat cara menerjemahkan teks, mendeteksi bahasa teks, dan membuat daftar bahasa yang didukung menggunakan Translation API V3

Layanan Google Cloud berikut digunakan dalam codelab ini:

  • Compute Engine
  • Layanan Jaringan
  • Cloud Shell
  • Cloud Translation API V3

Prasyarat

Yang akan Anda build

Anda akan membuat program berikut di sistem SAP menggunakan ABAP SDK untuk Google Cloud:

  • Menerjemahkan teks ke dalam berbagai bahasa menggunakan Cloud Translation API V3 dari Google
  • Mendeteksi bahasa teks sumber menggunakan Google Cloud Translation API V3
  • Membuat daftar bahasa yang didukung Google Cloud Translation API V3

2. Persyaratan

  • Browser, seperti Chrome atau Firefox.
  • Project Google Cloud dengan penagihan diaktifkan atau Buat akun Uji Coba Gratis 90 Hari untuk Google Cloud Platform.
  • GUI SAP (Windows atau Java) yang diinstal di sistem Anda. Jika SAP GUI sudah diinstal di mesin Anda, hubungkan ke SAP menggunakan alamat IP eksternal VM sebagai IP Server Aplikasi. Jika menggunakan Mac, Anda juga dapat menginstal SAP GUI untuk Java yang tersedia di link ini.

3. Sebelum memulai

6757b2fb50ddcc2d.png

  • Jalankan perintah berikut untuk mengautentikasi akun Anda dan tetapkan project default ke abap-sdk-poc. Zona us-west4-b digunakan sebagai contoh. Jika perlu, ubah project dan zona dalam perintah berikut sesuai preferensi Anda.
gcloud auth login
gcloud config set project abap-sdk-poc
gcloud config set compute/zone us-west4-b
  • Anda harus memiliki akses ke sistem SAP yang sudah menginstal ABAP SDK for Google Cloud.
  • Anda harus menyelesaikan codelab 1 (Menginstal Uji Coba Platform ABAP 1909 di Google Cloud Platform dan Menginstal ABAP SDK untuk Google Cloud) dan codelab 2 (Mengonfigurasi Autentikasi ABAP SDK menggunakan token untuk SAP yang Dihosting di VM Compute Engine) sebelum melanjutkan codelab ini.
  • Jika Anda telah menyelesaikan codelab 1 dan codelab 2, langkah ini akan memberi Anda Sistem ABAP Platform Trial 1909 di Google Cloud, beserta penyiapan yang diperlukan untuk autentikasi dan konektivitas.
  • Jika belum menyelesaikan codelab 1 dan codelab 2, Anda tidak akan memiliki semua infrastruktur dan konektivitas yang diperlukan untuk melakukan langkah-langkah yang disediakan dalam codelab ini. Oleh karena itu, Anda harus menyelesaikan codelab 1 dan codelab 2 sebelum melanjutkan codelab ini.

4. Aktifkan Cloud Translation API V3 di Project Google Cloud Anda

  1. Jalankan perintah di bawah ini di Cloud Shell. Tindakan ini akan mengaktifkan Cloud Translation API di Project Google Cloud Anda:
gcloud services enable translate.googleapis.com

Setelah eksekusi berhasil, Anda akan melihat pesan yang ditampilkan seperti yang ditunjukkan di bawah ini:

b5f52859df2c2f56.png

Sekarang Anda telah mengaktifkan Cloud Translation API di Project Google Cloud

5. Membuat Akun Layanan dengan Peran Pengguna Cloud Translation

Untuk membuat akun layanan dengan peran yang diperlukan, lakukan langkah-langkah berikut:

  1. Jalankan perintah berikut di terminal Cloud Shell:
gcloud iam service-accounts create abap-sdk-translation-tester \
--display-name="Service Account for Translation"
  1. Sekarang tambahkan peran yang diperlukan ke akun layanan yang dibuat pada langkah di atas
gcloud projects add-iam-policy-binding abap-sdk-poc\
--member='serviceAccount:abap-sdk-translation-tester@abap-sdk-poc.iam.gserviceaccount.com' \
--role='roles/cloudtranslate.user'

Perintah di atas menggunakan abap-sdk-poc sebagai nama template untuk Project Google Cloud. Ganti dengan project ID Anda.

  1. Untuk memverifikasi, peran telah ditambahkan, buka halaman IAM. Akun layanan yang Anda buat akan tercantum bersama dengan peran yang telah ditetapkan, seperti yang ditunjukkan di bawah:

6af77a519ed3e357.pngS

6. Membuat Konfigurasi Kunci Klien

Setelah Anda menyiapkan prasyarat di sisi Google Cloud, kita dapat melanjutkan dengan konfigurasi pada sisi SAP.

Untuk konfigurasi terkait autentikasi dan konektivitas, ABAP SDK untuk Google Cloud menggunakan tabel /GOOG/CLIENT_KEY

Untuk mempertahankan konfigurasi dalam tabel /GOOG/CLIENT_KEY, lakukan langkah-langkah berikut:

  1. Di SAP GUI, masukkan kode transaksi SPRO.
  2. Klik SAP Reference IMG.
  3. Klik ABAP SDK for Google Cloud > Setelan Dasar > Konfigurasi Kunci Klien.
  4. Pertahankan nilai berikut terhadap kolom:

Kolom

Nilai

Nama Kunci Google Cloud

TEST_TRANSLATION

Nama Akun Layanan Google Cloud

abap-sdk-translation-tester@abap-sdk-poc.iam.gserviceaccount.com

Google Cloud Scope

https://www.googleapis.com/auth/cloud-platform

ID Project

abap-sdk-poc

Class Otorisasi

/GOOG/CL_AUTH_GOOGLE

Biarkan semua kolom lainnya kosong

7. Membuat Z-Report untuk memanggil Cloud Translation API V3 dan Menerjemahkan Teks

  1. Login ke sistem SAP Anda.
  2. Buka kode transaksi SE38 dan buat Program Laporan dengan nama ZDEMO_TRANSLATE_TEXT.
  3. Di jendela pop-up yang terbuka, berikan detail seperti yang ditunjukkan di bawah, lalu klik Simpan.

6ba124f9187d1fc0.pngS

Pada pop-up berikutnya, pilih Objek Lokal atau Berikan nama paket sesuai pilihan Anda.

  1. Di ABAP Editor, tambahkan kode berikut:
DATA lo_translate TYPE REF TO /goog/cl_translation_v3.
DATA ls_input TYPE /goog/cl_translation_v3=>ty_050.

TRY.
    lo_translate = NEW #( iv_key_name = 'TEST_TRANSLATION').

    ls_input = VALUE #(  mime_type = 'text/plain'
                         source_language_code = 'en-US'
                         target_language_code = 'es-ES'
                         contents =  VALUE #( ( |Sun is our nearest star| ) ) ).

    lo_translate->translate_text_projects(
      EXPORTING
        iv_p_projects_id = CONV #( lo_translate->gv_project_id )
        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(lv_err_resp)
    ).
    IF lo_translate->is_success( lv_ret_code ) = abap_true.
      cl_demo_output=>new(
      )->begin_section( 'API Call Successful:'
      )->write_text( 'Translated Text:'
      )->write_data( ls_output-translations[ 1 ]-translated_text
      )->display( ).
    ELSE.
      cl_demo_output=>new(
      )->begin_section( 'API Call Unsuccessful:'
      )->write_text( 'Error Message:'
      )->write_text( lv_err_text
      )->display( ).
    ENDIF.
  CATCH /goog/cx_sdk INTO DATA(lo_sdk_excp).
    DATA(lv_error) = lo_sdk_excp->get_text( ).
    cl_demo_output=>new(
     )->begin_section( 'Exception Occured:'
     )->write_text( lv_error
     )->display( ).
ENDTRY.
  1. Simpan dan aktifkan Laporan.
  2. Menjalankan laporan (F8).

Setelah eksekusi berhasil, Anda akan melihat output laporan seperti yang ditunjukkan di bawah ini:

2dd3bf270d2b1477.png

8. Buat Z-Report untuk memanggil Cloud Translation API V3 dan Deteksi bahasanya

  1. Login ke sistem SAP Anda.
  2. Buka kode transaksi SE38 dan buat Program Laporan dengan nama ZDEMO_DETECT_LANGUAGE.
  3. Di jendela pop-up yang terbuka, berikan detail seperti yang ditunjukkan di bawah, lalu klik Simpan:

64c2eb0e0173ae51.pngS

Pada pop-up berikutnya, pilih Objek Lokal atau Berikan nama paket sesuai pilihan Anda.

  1. Di ABAP Editor, tambahkan kode berikut:
DATA lo_translate TYPE REF TO /goog/cl_translation_v3.
DATA ls_input TYPE /goog/cl_translation_v3=>ty_009.

TRY.
    lo_translate = NEW #( iv_key_name = 'TEST_TRANSLATION').

    ls_input = VALUE #(  mime_type = |text/plain|
                         content =  |La luce viaggia più veloce del suono| ).

    lo_translate->detect_language_projects(
      EXPORTING
        iv_p_projects_id = CONV #( lo_translate->gv_project_id )
        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(lv_err_resp)
    ).
    IF lo_translate->is_success( lv_ret_code ) = abap_true.
      cl_demo_output=>new(
      )->begin_section( 'API Call Successful:'
      )->write_text( 'Detected Language:'
      )->write_data( ls_output-languages[ 1 ]-language_code
      )->display( ).
    ELSE.
      cl_demo_output=>new(
      )->begin_section( 'API Call Unsuccessful:'
      )->write_text( 'Error Message:'
      )->write_text( lv_err_text
      )->display( ).
    ENDIF.
  CATCH /goog/cx_sdk INTO DATA(lo_sdk_excp).
    DATA(lv_error) = lo_sdk_excp->get_text( ).
    cl_demo_output=>new(
     )->begin_section( 'Exception Occured:'
     )->write_text( lv_error
     )->display( ).
ENDTRY.
  1. Simpan dan aktifkan Laporan.
  2. Menjalankan laporan (F8).

Setelah eksekusi berhasil, Anda akan melihat output laporan seperti yang ditunjukkan di bawah ini:

a36e48bded53e62d.png

9. Buat Laporan Z untuk Memanggil Metode GET_SUPPORTED_LANGUAGES

  1. Login ke Sistem SAP Anda
  2. Buka kode transaksi SE38 dan buat Program Laporan dengan nama ZDEMO_GET_LANGUAGES.
  3. Di jendela pop-up yang terbuka, berikan detail seperti yang ditunjukkan di bawah, lalu klik Simpan.

3819fc355cf2cd4d.png

Pada pop-up berikutnya, pilih Objek Lokal atau Berikan nama paket sesuai pilihan Anda.

  1. Di ABAP Editor, tambahkan kode berikut:
DATA lo_translate TYPE REF TO /goog/cl_translation_v3.

TRY.
    lo_translate = NEW #( iv_key_name = 'TEST_TRANSLATION').

    lo_translate->get_supported_languages_pro(
      EXPORTING
        iv_q_displaylanguagecode = 'en-US'
        iv_p_projects_id         =  CONV #( lo_translate->gv_project_id )
      IMPORTING
        es_output        =  DATA(ls_output)
        ev_ret_code      =  DATA(lv_ret_code)
        ev_err_text      =  DATA(lv_err_text)
        es_err_resp      =  DATA(lv_err_resp)
    ).

    IF lo_translate->is_success( lv_ret_code ) = abap_true.
      cl_demo_output=>new(
      )->begin_section( 'API Call Successful:'
      )->write_text( 'Supported Languages:'
      )->write_data( ls_output-languages
      )->display( ).
    ELSE.
      cl_demo_output=>new(
      )->begin_section( 'API Call Unsuccessful:'
      )->write_text( 'Error Message:'
      )->write_text( lv_err_text
      )->display( ).
    ENDIF.
  CATCH /goog/cx_sdk INTO DATA(lo_sdk_excp).
    DATA(lv_error) = lo_sdk_excp->get_text( ).
    cl_demo_output=>new(
     )->begin_section( 'Exception Occured:'
     )->write_text( lv_error
     )->display( ).
ENDTRY.
  1. Simpan dan aktifkan Laporan.
  2. Menjalankan laporan (F8).

Setelah eksekusi berhasil, Anda akan melihat output laporan seperti yang ditunjukkan di bawah ini:

78199926919e7801.png

10. Selamat

Selamat! Anda berhasil menyelesaikan kursus "Menggunakan Translation API dengan ABAP SDK for Google Cloud" codelab.

Cloud Translation API V3 yang juga dikenal sebagai Cloud Translation API Advanced memiliki banyak fitur di antaranya:

  • Menerjemahkan dengan Model kustom
  • Terjemahkan menggunakan Glosarium
  • Dukungan transliterasi
  • Terjemahan Dokumen

Sekarang Anda dapat melanjutkan dengan codelab berikut untuk melanjutkan perjalanan pembelajaran Anda dalam menggunakan ABAP SDK untuk Google Cloud guna mengakses berbagai Layanan Google Cloud.

  • Mengirim peristiwa ke Pub/Sub
  • Menerima peristiwa dari Cloud Pub/Sub
  • Mengupload objek besar ke bucket Cloud Storage menggunakan pemotongan
  • Menggunakan DLP API untuk penyamaran PII
  • Panggil BigQuery ML dari ABAP

11. Pembersihan

Jika Anda tidak ingin melanjutkan codelab tambahan terkait ABAP SDK untuk Google Cloud, lanjutkan dengan pembersihan.

Menghapus project

  • Hapus project Google Cloud:
gcloud projects delete abap-sdk-poc

Menghapus resource satu per satu

  1. Hapus instance komputasi:
gcloud compute instances delete abap-trial-docker
  1. Hapus aturan firewall:
gcloud compute firewall-rules delete sapmachine
  1. Hapus akun layanan:
gcloud iam service-accounts delete \
    abap-sdk-dev@abap-sdk-poc.iam.gserviceaccount.com