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
- Pastikan Anda memiliki akses ke sistem SAP dengan ABAP SDK for Google Cloud terinstal.
- Anda dapat melihat codelab " Instal Uji Coba ABAP Platform di Google Cloud Platform dan Instal ABAP SDK" untuk menyiapkan sebuah sistem baru.
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
- Pastikan Anda memiliki akses ke sistem SAP dengan ABAP SDK for Google Cloud terinstal.
- Anda dapat melihat codelab " Instal Uji Coba ABAP Platform di Google Cloud Platform dan Instal ABAP SDK" untuk menyiapkan sebuah sistem baru.
- Di Konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud (Misalnya:
abap-sdk-poc).
- Pastikan penagihan diaktifkan untuk project Cloud Anda. Pelajari cara memeriksa apakah penagihan telah diaktifkan pada suatu project. Lewati langkah ini jika Anda menggunakan Akun Uji Coba Gratis 90 Hari.
- Anda akan menggunakan Cloud Shell, yakni lingkungan command line yang berjalan di Google Cloud. Dari Cloud Console, klik Activate Cloud Shell di pojok kanan atas:
- Jalankan perintah berikut untuk mengautentikasi akun Anda dan tetapkan project default ke
abap-sdk-poc
. Zonaus-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
- 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:
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:
- Jalankan perintah berikut di terminal Cloud Shell:
gcloud iam service-accounts create abap-sdk-translation-tester \
--display-name="Service Account for Translation"
- 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.
- 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:
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:
- Di SAP GUI, masukkan kode transaksi
SPRO
. - Klik SAP Reference IMG.
- Klik ABAP SDK for Google Cloud > Setelan Dasar > Konfigurasi Kunci Klien.
- Pertahankan nilai berikut terhadap kolom:
Kolom | Nilai |
Nama Kunci Google Cloud | TEST_TRANSLATION |
Nama Akun Layanan Google Cloud |
|
Google Cloud Scope |
|
ID Project | abap-sdk-poc |
Class Otorisasi |
|
Biarkan semua kolom lainnya kosong
7. Membuat Z-Report untuk memanggil Cloud Translation API V3 dan Menerjemahkan Teks
- Login ke sistem SAP Anda.
- Buka kode transaksi
SE38
dan buat Program Laporan dengan namaZDEMO_TRANSLATE_TEXT.
- Di jendela pop-up yang terbuka, berikan detail seperti yang ditunjukkan di bawah, lalu klik Simpan.
Pada pop-up berikutnya, pilih Objek Lokal atau Berikan nama paket sesuai pilihan Anda.
- 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.
- Simpan dan aktifkan Laporan.
- Menjalankan laporan (F8).
Setelah eksekusi berhasil, Anda akan melihat output laporan seperti yang ditunjukkan di bawah ini:
8. Buat Z-Report untuk memanggil Cloud Translation API V3 dan Deteksi bahasanya
- Login ke sistem SAP Anda.
- Buka kode transaksi
SE38
dan buat Program Laporan dengan namaZDEMO_DETECT_LANGUAGE.
- Di jendela pop-up yang terbuka, berikan detail seperti yang ditunjukkan di bawah, lalu klik Simpan:
Pada pop-up berikutnya, pilih Objek Lokal atau Berikan nama paket sesuai pilihan Anda.
- 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.
- Simpan dan aktifkan Laporan.
- Menjalankan laporan (F8).
Setelah eksekusi berhasil, Anda akan melihat output laporan seperti yang ditunjukkan di bawah ini:
9. Buat Laporan Z untuk Memanggil Metode GET_SUPPORTED_LANGUAGES
- Login ke Sistem SAP Anda
- Buka kode transaksi
SE38
dan buat Program Laporan dengan namaZDEMO_GET_LANGUAGES.
- Di jendela pop-up yang terbuka, berikan detail seperti yang ditunjukkan di bawah, lalu klik Simpan.
Pada pop-up berikutnya, pilih Objek Lokal atau Berikan nama paket sesuai pilihan Anda.
- 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.
- Simpan dan aktifkan Laporan.
- Menjalankan laporan (F8).
Setelah eksekusi berhasil, Anda akan melihat output laporan seperti yang ditunjukkan di bawah ini:
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
- Hapus instance komputasi:
gcloud compute instances delete abap-trial-docker
- Hapus aturan firewall:
gcloud compute firewall-rules delete sapmachine
- Hapus akun layanan:
gcloud iam service-accounts delete \
abap-sdk-dev@abap-sdk-poc.iam.gserviceaccount.com