1. Pengantar
Codelab ini memberikan 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 mencantumkan 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 untuk Google Cloud yang diinstal.
- Anda dapat melihat codelab " Menginstal Uji Coba Platform ABAP di Google Cloud Platform dan Menginstal ABAP SDK" untuk menyiapkan sistem baru.
Yang akan Anda build
Anda akan membuat program berikut di sistem SAP menggunakan ABAP SDK untuk Google Cloud:
- Menerjemahkan teks ke dalam beberapa bahasa menggunakan Cloud Translation API V3 Google
- Mendeteksi bahasa teks sumber menggunakan Google Cloud Translation API V3
- Mencantumkan 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.
- SAP GUI (Windows atau Java) yang diinstal di sistem Anda. Jika SAP GUI sudah diinstal di komputer 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 untuk Google Cloud yang diinstal.
- Anda dapat melihat codelab " Menginstal Uji Coba Platform ABAP di Google Cloud Platform dan Menginstal ABAP SDK" untuk menyiapkan 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, lingkungan command line yang berjalan di Google Cloud. Dari Cloud Console, klik Activate Cloud Shell di pojok kanan atas:
- Jalankan perintah berikut untuk melakukan autentikasi untuk akun Anda dan menetapkan project default ke
abap-sdk-poc
. Zonaus-west4-b
digunakan sebagai contoh. Jika diperlukan, ubah project dan zona dalam perintah berikut berdasarkan 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 telah menginstal ABAP SDK untuk 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 dengan codelab ini.
- Jika Anda telah menyelesaikan codelab 1 dan codelab 2, Anda akan mendapatkan Sistem Uji Coba Platform ABAP 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 diberikan dalam codelab ini. Oleh karena itu, Anda harus menyelesaikan codelab 1 dan codelab 2 sebelum melanjutkan codelab ini.
4. Mengaktifkan 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 berhasil dieksekusi, Anda akan melihat pesan yang ditampilkan seperti yang ditunjukkan di bawah ini:
Sekarang Anda seharusnya 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 bahwa peran telah ditambahkan, buka halaman IAM. Akun layanan yang Anda buat akan tercantum beserta peran yang telah ditetapkan seperti yang ditunjukkan di bawah ini:
6. Membuat Konfigurasi Kunci Klien
Setelah Anda menyiapkan prasyarat di sisi Google Cloud, kita dapat melanjutkan konfigurasi di sisi SAP.
Untuk konfigurasi terkait autentikasi dan konektivitas, ABAP SDK untuk Google Cloud menggunakan tabel /GOOG/CLIENT_KEY
Untuk mempertahankan konfigurasi di tabel /GOOG/CLIENT_KEY
, lakukan langkah-langkah berikut:
- Di SAP GUI, masukkan kode transaksi
SPRO
. - Klik IMG Referensi SAP.
- Klik ABAP SDK for Google Cloud > Basic Settings > Configure Client Key.
- Pertahankan nilai berikut terhadap kolom:
Kolom | Nilai |
Google Cloud Key Name | TEST_TRANSLATION |
Nama Akun Layanan Google Cloud |
|
Google Cloud Scope |
|
ID Project | abap-sdk-poc |
Class Otorisasi |
|
Biarkan semua kolom lain 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 pop-up yang terbuka, berikan detail seperti yang ditunjukkan di bawah, lalu klik Simpan.
Di 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.
- Jalankan laporan (F8).
Jika berhasil dieksekusi, Anda akan melihat output laporan seperti yang ditunjukkan di bawah ini:
8. Membuat Z-Report untuk memanggil Cloud Translation API V3 dan Mendeteksi bahasa
- Login ke sistem SAP Anda.
- Buka kode transaksi
SE38
dan buat Program Laporan dengan namaZDEMO_DETECT_LANGUAGE.
- Di pop-up yang terbuka, berikan detail seperti yang ditunjukkan di bawah, lalu klik Simpan:
Di 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.
- Jalankan laporan (F8).
Jika berhasil dieksekusi, Anda akan melihat output laporan seperti yang ditunjukkan di bawah ini:
9. Membuat 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 pop-up yang terbuka, berikan detail seperti yang ditunjukkan di bawah, lalu klik Simpan.
Di 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.
- Jalankan laporan (F8).
Jika berhasil dieksekusi, Anda akan melihat output laporan seperti yang ditunjukkan di bawah ini:
10. Selamat
Selamat! Anda telah berhasil menyelesaikan codelab "Menggunakan Translation API dengan ABAP SDK untuk Google Cloud".
Cloud Translation API V3 yang juga dikenal sebagai Cloud Translation API Advanced memiliki banyak fitur, termasuk:
- Menerjemahkan dengan Model kustom
- Menerjemahkan 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 chunking
- Menggunakan DLP API untuk penyamaran PII
- Memanggil BigQuery ML dari ABAP
11. Pembersihan
Jika Anda tidak ingin melanjutkan codelab tambahan yang terkait dengan ABAP SDK untuk Google Cloud, lanjutkan 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