Memecahkan masalah ABAP SDK di infrastruktur lokal atau edisi cloud apa pun untuk Google Cloud

Anda dapat memecahkan masalah terkait ABAP SDK untuk Google Cloud edisi cloud atau lokal atau apa pun menggunakan log aplikasi SAP untuk meninjau error dan mencatat pesan.

Memeriksa persyaratan dan prasyarat software

Pastikan semua software sistem berjalan pada versi minimum yang diperlukan dan semua prasyarat ABAP SDK untuk Google Cloud telah terpenuhi.

Untuk mengetahui informasi tentang prasyarat penginstalan SDK, lihat Sebelum memulai.

Membaca dokumentasi dukungan SAP

Jika Anda memiliki akun pengguna SAP, Anda dapat menemukan solusi untuk banyak masalah software SAP dengan membaca SAP Notes dan SAP Knowledge Base Articles yang tersedia di SAP ONE Support Launchpad.

Logging

Saat logging dikonfigurasi, ABAP SDK untuk Google Cloud akan mencatat pesan error ke log aplikasi SAP. Untuk mengetahui informasi selengkapnya tentang logging, lihat Logging aplikasi.

Untuk melihat pesan log, ikuti langkah-langkah berikut:

  1. Di SAP GUI, masukkan kode transaksi SLG1.
  2. Masukkan nama objek log dan nama subobjek.
  3. Pilih rentang tanggal dan waktu yang valid.
  4. Jalankan transaksi. Semua pesan log yang dibuat oleh SDK akan ditampilkan.

Pesan log biasanya terdiri dari dua entri berikut:

  • Entering: memberikan informasi tentang lokasi kode tempat terjadinya error. Untuk pemecahan masalah, Anda dapat menggunakan lokasi kode ini sebagai titik henti sementara saat proses debug.
  • Pesan error: memberikan informasi tentang error yang terjadi saat menjalankan operasi.

Proses Debug

Jika memiliki otorisasi yang diperlukan, Anda dapat men-debug class klien API.

Untuk men-debug class klien API, gunakan salah satu opsi berikut:

  • Tambahkan titik henti sementara ke konstruktor class /GOOG/CL_HTTP_CLIENT, lalu jalankan program Anda.

  • Atau, tambahkan titik henti sementara ke metode yang Anda gunakan, lalu jalankan program.

Pelacakan HTTP

Saat memecahkan masalah error, Anda dapat mengaktifkan pelacakan HTTP dalam transaksi SMICM atau ST05. Untuk membatasi dampak pada performa, nonaktifkan pelacakan HTTP segera setelah Anda selesai.

Masalah konfigurasi umum

/GOOG/MSG 461: Insufficient privileges for execution

Masalah: Pengguna tidak dapat menjalankan konfigurasi SDK, menjalankan program utilitas, atau program demo.

Penyebab: Tidak ada otorisasi untuk pengguna.

Penyelesaian: Identifikasi otorisasi yang hilang yang diperlukan untuk SDK menggunakan transaksi SU53. Untuk mendapatkan otorisasi yang diperlukan untuk ID pengguna Anda, hubungi administrator keamanan SAP Anda. Untuk mengetahui informasi selengkapnya, lihat Mengelola otorisasi.

/GOOG/MSG: 403 - Permission iam.serviceAccountTokenCreator denied on resource (or it may not exist)

Masalah: Untuk sistem SAP yang dihosting di VM Compute Engine, saat Anda menggunakan metode autentikasi berbasis token, Anda tidak dapat mengakses Google Cloud API.

Penyebab: Untuk sistem SAP Anda yang dihosting di VM Compute Engine, dalam konfigurasi kunci klien, akun layanan yang ditentukan dibuat di project Google Cloud yang berbeda dengan project yang berisi VM host SAP.

Penyelesaian: Untuk menyelesaikan masalah ini, lakukan langkah-langkah berikut:

  1. Pada project Google Cloud yang berisi VM host SAP Anda, berikan peran Service Account Token Creator ke akun layanan VM host. Untuk mengetahui informasi selengkapnya tentang langkah-langkahnya, lihat Memberikan satu peran.
  2. Di project Google Cloud yang berisi VM host SAP Anda:
    1. Buat akun layanan. Catat nama akun layanan. Anda menentukan nama ini saat menambahkan akun layanan sebagai prinsip ke project lain yang berisi Google Cloud API. Untuk mengetahui informasi tentang cara membuat akun layanan, lihat Membuat akun layanan.
    2. Dalam konfigurasi kunci klien untuk SDK, tentukan akun layanan ini.
  3. Di project lain yang berisi Google Cloud API:
    1. Tambahkan akun layanan sebagai prinsip.
    2. Berikan peran yang sesuai untuk terhubung ke Google Cloud API. Untuk mengetahui informasi selengkapnya tentang peran bawaan khusus API, lihat Referensi peran dasar dan bawaan IAM.

Untuk mengetahui informasi selengkapnya, lihat Mengautentikasi menggunakan token untuk SAP di VM Compute Engine.

Masalah operasional umum

Saat menggunakan Google Cloud API melalui metode publik stub klien, developer mungkin mengalami error dan pengecualian. Error dan pengecualian ini secara luas diklasifikasikan menjadi dua kategori:

  • Error dan pengecualian yang dipicu oleh ABAP SDK untuk Google Cloud
  • Error yang ditampilkan oleh Google Cloud API

Bagian ini membahas error dan pengecualian yang dipicu oleh SDK. Untuk error yang ditampilkan oleh API, sebaiknya periksa dokumentasi publik API yang sesuai.

/GOOG/MSG : 461 - Bad Request: Client key is not found in /GOOG/CLIENT_KEY table

Masalah: Anda tidak dapat membuat instance objek stub klien API.

Penyebab: Tabel kunci klien /GOOG/CLIENT_KEY tidak berisi kunci klien yang valid.

Penyelesaian: Pada tabel kunci klien /GOOG/CLIENT_KEY, pertahankan kunci klien yang valid. Saat membuat instance stub klien API, teruskan kunci klien yang valid dengan parameter impor iv_key_name.

Anda mengonfigurasi kunci klien menggunakan detail khusus untuk metode autentikasi Anda. Untuk mengetahui informasi tentang metode autentikasi dan konfigurasi kunci klien yang terkait, lihat Autentikasi.

Untuk mengetahui informasi tentang cara meneruskan kunci klien dengan parameter impor iv_key_name, lihat Konstruktor.

/GOOG/MSG : 461 - Log Object not maintained in TCode SLG0

Masalah: Anda tidak dapat membuat instance objek stub klien API.

Penyebab: Objek log default yang tidak valid dipertahankan dalam tabel /GOOG/LOG_CONFIG atau objek log yang tidak valid diteruskan ke parameter impor iv_log_object.

Penyelesaian: Pastikan objek log yang valid ada di sistem SAP.

Untuk mengetahui informasi tentang logging, lihat Logging aplikasi.

Untuk mengetahui informasi tentang cara meneruskan objek log, lihat Konstruktor.

/GOOG/MSG : 461 - Log SubObject not maintained in TCode SLG0

Masalah: Anda tidak dapat membuat instance objek stub klien API.

Penyebab: Subobjek log default yang tidak valid dipertahankan dalam tabel /GOOG/LOG_CONFIG atau subobjek log yang tidak valid diteruskan ke parameter impor iv_log_subobject.

Penyelesaian: Pastikan bahwa subobjek log yang valid ada di sistem SAP.

Untuk mengetahui informasi tentang logging, lihat Logging aplikasi.

Untuk mengetahui informasi tentang cara meneruskan subobjek log, lihat Konstruktor.

/GOOG/MSG : 461 - Destination does not exist exception occurred in reading RFC destination

Masalah: Anda tidak dapat membuat instance objek stub klien API.

Penyebab: Dalam tabel /GOOG/SERVIC_MAP, untuk kunci klien yang ditentukan, tujuan RFC tidak ada dalam sistem SAP.

Penyelesaian: Buat tujuan RFC yang diperlukan. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi tujuan RFC.

/GOOG/MSG : 461 - Invalid RFC Destination GOOGLE_API exception occurred in reading RFC destination

Masalah: Anda tidak dapat terhubung ke GOOGLE_API.

Penyebab: Masalah ini dapat disebabkan oleh salah satu penyebab berikut:

  • Jenis koneksi RFC bukan G - HTTP connection to external server.
  • No. layanan 443 tidak ditentukan.
  • Klien SSL Default (Standar) tidak aktif.

Penyelesaian: Untuk tujuan RFC yang diperlukan, lakukan hal berikut:

  • Perbarui jenis koneksi RFC ke G - HTTP connection to external server.
  • Pastikan no. layanannya adalah 443.
  • Untuk kolom SSL Certificate, pastikan opsi DFAULT SSL Client (Standard) telah dipilih.
  • Untuk SAP di lingkungan Google Cloud, jika Anda telah membuat tujuan RFC untuk server metadata, pastikan no. layanannya adalah 80.

Untuk mengetahui informasi tentang cara membuat tujuan RFC, lihat:

/GOOG/MSG : 461 - ERROR_MESSAGE exception occurred during the request creation

Masalah: Anda tidak dapat terhubung ke Google Cloud API.

Penyebab: Sistem SAP tidak dapat membuat objek klien HTTP.

Penyelesaian: Pastikan ICM Anda dikonfigurasi untuk berkomunikasi melalui HTTP dengan server eksternal. Untuk mengetahui informasi selengkapnya, lihat Memvalidasi Internet Communication Manager (ICM).

/GOOG/MSG: 461 - Secret Manager Client Key not maintained in table /GOOG/CLIENT_KEY ERROR_MESSAGE

Masalah: Anda tidak dapat terhubung ke Google Cloud API menggunakan class otorisasi Secret Manager /GOOG/CL_AUTH_API_KEY_SM.

Penyebab: Dalam konfigurasi kunci klien, Authorization Parameter 1 atau Authorization Parameter 2 tidak ada.

Penyelesaian Di tabel kunci klien, perbarui Authorization Parameter 1 atau Authorization Parameter 2 yang diperlukan. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi kunci klien untuk akses Secret Manager.

/GOOG/MSG: 461 - SSF Application APPLICATION_NAME is not set up in the system ERROR_MESSAGE

Masalah: Anda tidak dapat terhubung ke Google Cloud API menggunakan class otorisasi SSF /GOOG/CL_AUTH_API_KEY_SSF.

Penyebab: Dalam konfigurasi kunci klien, Authorization Parameter 1 tidak ada.

Penyelesaian Di tabel kunci klien, perbarui Authorization Parameter 1 yang diperlukan. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi kunci klien untuk SSF.

/GOOG/MSG: 461 - Method call of /GOOG/IF_AUTH~GET_ACCESS_TOKEN failed; the class CLASS_NAME does not exist

Masalah: Anda tidak dapat terhubung ke Google Cloud API menggunakan konfigurasi yang dipertahankan di tabel kunci klien.

Penyebab: Authorization Class tidak benar di tabel kunci klien.

Penyelesaian: Pertahankan Authorization Class yang benar. Untuk mengetahui informasi selengkapnya, lihat Mengautentikasi menggunakan token.

/GOOG/MSG: 404 - Not Found

Masalah: Anda tidak dapat terhubung ke Google Cloud API. Endpoint API tidak dapat dijangkau.

Penyebab: Tujuan RFC yang digunakan SDK untuk terhubung ke Google Cloud API tidak dikonfigurasi dengan benar. Misalnya, endpoint yang tidak valid dikonfigurasi di tujuan RFC.

Penyelesaian: Periksa apakah tujuan RFC sudah dikonfigurasi dengan benar. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi tujuan RFC.

DESCRIPTION_OF_ISSUE while signing JWT using profile KEY_FILE_NAME.pse. Check JWT config in STRUST

Masalah: Anda tidak dapat terhubung ke Google Cloud API.

Penyebab: Setelan kunci akun layanan dan konfigurasi JWT tidak dikonfigurasi dengan benar di STRUST.

Penyelesaian: Pastikan kunci akun layanan dan konfigurasi JWT dikonfigurasi seperti yang dijelaskan di Authentication.

Bad Request invalid_grant. Invalid JWT Signature

Masalah: Anda tidak dapat terhubung ke Google Cloud API.

Penyebab: File kunci PSE atau P12 yang diimpor ke STRUST bukan milik akun layanan yang Anda gunakan untuk menandatangani JWT.

Penyelesaian: Pastikan Anda mengimpor file kunci akun layanan yang benar ke STRUST. Untuk mengetahui informasi tentang cara mengimpor kunci akun layanan ke STRUST, lihat Mengimpor kunci akun layanan ke STRUST.

/GOOG/MSG : 417 - Direct connect to googleapis.com/oauth:443 failed: NIEHOST_UNKNOWN (-2)

Masalah: Autentikasi ke Google Cloud gagal dengan pesan error /GOOG/MSG : 417 - Direct connect to googleapis.com/oauth:443 failed: NIEHOST_UNKNOWN (-2).

Penyebab: Dalam tujuan RFC yang digunakan ABAP SDK untuk Google Cloud untuk melakukan autentikasi ke Google Cloud, host target tidak valid.

Penyelesaian: Untuk mengatasi masalah ini, selesaikan beberapa langkah berikut:

  1. Buat tujuan RFC menggunakan contoh tujuan RFC GOOG_OAUTH2_TOKEN. Untuk informasi tentang pembuatan tujuan RFC, lihat Tujuan RFC.

  2. Pastikan tujuan RFC Anda menggunakan nilai berikut:

    • Pembawa acara: oauth2.googleapis.com
    • Awalan Jalur: /token.
  3. Jika sistem SAP Anda menggunakan proxy untuk terhubung ke Internet, pertahankan detail proxy yang diperlukan dalam tujuan RFC.

OAuth RFC HTTP Destination not maintained in /GOOG/SERVIC_MAP

Masalah: Anda tidak dapat terhubung ke Google Cloud API.

Penyebab: Tujuan RFC untuk OAuth 2.0 tidak tersedia di tabel pemetaan layanan /GOOG/SERVIC_MAP.

Penyelesaian: Perbarui tujuan RFC untuk OAuth 2.0 di tabel pemetaan layanan /GOOG/SERVIC_MAP. Untuk mengetahui informasi tentang cara menentukan tujuan RFC, lihat Menentukan tujuan RFC di /GOOG/SERVIC_MAP.

/GOOG/MSG: 503 - HTTP Communication Failure - SSL client SSL Client (Standard)

Masalah: Permintaan HTTP ke metode API gagal.

Penyebab: Untuk workload SAP Anda yang berjalan di Google Cloud, di tujuan RFC yang digunakan SDK untuk terhubung ke Google Cloud API tempat konfigurasinya dipertahankan dalam tabel /GOOG/SERVIC_MAP, nilai kolom Host Target salah.

Penyelesaian: Periksa apakah tujuan RFC sudah dikonfigurasi dengan benar. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi tujuan RFC.

/GOOG/MSG: 503 - HTTP Communication Failure exception occurred during the request sending

Masalah: Permintaan HTTP ke metode API gagal.

Penyebab: Masalah ini dapat disebabkan oleh masalah konektivitas.

Penyelesaian: Validasi koneksi Anda dan pastikan jaringan disiapkan dengan benar, berjalan tanpa error, dan tidak macet.

Untuk mengidentifikasi masalah konektivitas jaringan, periksa file pelacakan ICM menggunakan transaksi SMICM. Untuk mengetahui informasi selengkapnya, lihat 2351619 - Bagaimana cara melakukan pelacakan SMICM?.

/GOOG/MSG: 503 - HTTP Communication Failure exception occurred during the response receiving

Masalah: Permintaan HTTP ke metode API gagal.

Masalah ini dapat disebabkan oleh keadaan berikut:

SSL tidak diaktifkan di tujuan RFC Anda

Penyebab: Di tujuan RFC yang digunakan SDK untuk terhubung ke Google Cloud API, opsi keamanan untuk menggunakan sertifikat SSL tidak diaktifkan.

Penyelesaian: Periksa apakah tujuan RFC sudah dikonfigurasi dengan benar. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi tujuan RFC.

Handshake SSL gagal

Penyebab: Saat handshake SSL gagal antara host SAP dan endpoint Google Cloud API. Hal ini terjadi saat sertifikat yang ditampilkan oleh server TLS tidak valid untuk nama host target yang disediakan oleh server SAP, mungkin karena pengiriman sisi klien ekstensi TLS opsional SNI tidak diterapkan pada kernel NetWeaver.

Penyelesaian: Di transaksi SMICM, cari kode pengembalian, SSLERR_SERVER_CERT_MISMATCH. Jika menemukan kode pengembalian SSLERR_SERVER_CERT_MISMATCH, Anda harus mengaktifkan pengiriman ekstensi TLS SNI. Selain itu, pastikan kernel NetWeaver Anda menerapkan pengiriman sisi klien untuk ekstensi TLS opsional SNI.

Untuk mengaktifkan pengiriman ekstensi TLS SNI, tetapkan parameter profil icm/HTTPS/client_sni_enabled atau ssl/client_sni_enabled ke TRUE, tergantung versi kernel NetWeaver Anda. Untuk mengetahui informasi selengkapnya dari SAP, lihat:

The caller does not have permission

Masalah: Meskipun Anda berhasil diautentikasi, Anda tidak dapat mengakses resource Google Cloud API.

Penyebab: Anda tidak memiliki izin untuk melihat resource API.

Penyelesaian: Untuk mengatasi masalah ini, selesaikan beberapa langkah berikut:

  1. Pastikan resource API dibagikan dengan kredensial Akun Google Anda.
  2. Buat permintaan ke API dan periksa responsnya.

Google API_NAME API has not been used in project PROJECT_ID before or it is disabled

Masalah: Anda tidak dapat mengakses Google Cloud API menggunakan kredensial klien OAuth 2.0.

Penyebab: Anda menggunakan client ID yang dibuat dalam satu project Google Cloud untuk memanggil API yang diaktifkan di project Google Cloud lainnya.

Client ID dari satu project Google Cloud tidak dapat digunakan untuk memanggil API dari project lain, meskipun keduanya berada di organisasi yang sama.

Penyelesaian: Buat client ID di project Google Cloud tempat API diaktifkan. Untuk informasi selengkapnya, lihat Membuat kredensial client ID OAuth 2.0.

/GOOG/MSG : 461 - OAuth 2.0 Client Profile CLIENT_PROFILE_NAME is assigned to multiple OAuth 2.0 clients

Masalah: Anda tidak dapat mengakses Google Cloud API menggunakan kredensial klien OAuth 2.0.

Penyebab: Anda memanggil Google Cloud API menggunakan profil OAuth 2.0 yang ditetapkan ke lebih dari satu klien OAuth 2.0. Namun, nama konfigurasi klien OAuth 2.0 tidak ditentukan dalam kolom Authorization Parameter 2 tabel kunci klien /GOOG/CLIENT_KEY.

Penyelesaian:Untuk menetapkan profil OAuth 2.0 ke lebih dari satu klien OAuth 2.0, Anda harus menetapkan nama konfigurasi yang unik untuk setiap klien OAuth 2.0, dan menentukan nama konfigurasi di kolom Authorization Parameter 2 pada tabel kunci klien /GOOG/CLIENT_KEY. Untuk informasi selengkapnya, lihat Skenario beberapa project Google Cloud.

/GOOG/MSG : 461 - No refresh token available for current user

Masalah: Anda tidak dapat mengakses Google Cloud API menggunakan kredensial klien OAuth 2.0.

Penyebab: Anda memanggil Google Cloud API menggunakan kredensial klien OAuth 2.0 tanpa memberikan token refresh OAuth 2.0 untuk client ID.

Penyelesaian: Minta token OAuth 2.0 untuk client ID menggunakan kredensial Akun Google Anda. Untuk mengetahui informasi selengkapnya, lihat Meminta token akses OAuth 2.0.

Access blocked: This app's request is invalid (Error 400: redirect_uri_mismatch)

Masalah: Saat Anda meminta token akses OAuth 2.0, layar Login dengan Google akan ditampilkan dengan pesan error Access blocked: This app's request is invalid (Error 400: redirect_uri_mismatch).

Penyebab: URI pengalihan yang diotorisasi di kredensial client ID OAuth 2.0 salah atau tidak dikelola.

Penyelesaian: Untuk mengatasi masalah ini, selesaikan beberapa langkah berikut:

  1. Di sistem SAP Anda, masukkan kode transaksi OA2C_CONFIG. Halaman login SAP akan terbuka di browser default Anda.
  2. Masuk dengan kredensial SAP Anda.
  3. Pilih client ID yang diperlukan.
  4. Dari kolom Redirection URI, catat URI pengalihan SAP Anda.
  5. Di konsol Google Cloud, buka Menu  > APIs & Services > Credentials.

    Buka Kredensial

  6. Pilih client ID aplikasi Web Anda.

  7. Di kolom Authorized redirect URI, masukkan URI pengalihan SAP.

  8. Simpan perubahan.

/GOOG/MSG : 406 - IcmIConnCheckClientEnabled: Connect for protocol HTTP denied by configuration HTTP Response

Masalah: Anda tidak dapat mengakses Google Cloud API.

Penyebab: Konfigurasi port HTTP tidak ada di sistem SAP.

Penyelesaian: Port HTTP dan HTTPS harus dibuat dan aktif di sistem SAP Anda.

Metadata VM disimpan di server metadata, yang hanya dapat diakses melalui port HTTP. Oleh karena itu, untuk mengakses metadata VM, Anda harus memastikan bahwa port HTTP aktif. Anda juga harus memastikan bahwa port HTTPS aktif untuk panggilan API berikutnya.

Untuk mengatasi masalah ini, selesaikan beberapa langkah berikut:

  1. Di SAP GUI, masukkan kode transaksi SMICM.

  2. Pada panel menu, klik Goto > Services.

  3. Pastikan port HTTP dan HTTPS dibuat dan aktif. Tanda centang hijau di kolom Actv menunjukkan bahwa port HTTP dan HTTPS aktif.

Untuk informasi tentang cara mengonfigurasi port HTTP dan HTTPS, lihat Setelan HTTP(S) di ICM.

Masalah: /GOOG/MSG: 403 - Request had insufficient authentication scopes

Masalah: Panggilan API gagal dengan pesan error /GOOG/MSG: 403 - Request had insufficient authentication scopes.

Penyebab: Untuk beban kerja SAP yang berjalan di Google Cloud, dalam tabel /GOOG/CLIENT_KEY, akun layanan yang ditentukan tidak memiliki cakupan yang diperlukan untuk mengakses Google Cloud API.

Penyelesaian: Untuk mengatasi masalah ini, selesaikan beberapa langkah berikut:

  1. Di konsol Google Cloud, buka halaman VM instances Compute Engine.

    Buka instance VM

  2. Klik instance VM tempat workload SAP Anda berjalan.

  3. Klik Stop, lalu ikuti petunjuk untuk menghentikan instance VM.

  4. Klik Edit.

  5. Untuk akun layanan terkait, edit Cakupan akses untuk mengizinkan akses penuh ke semua Cloud API.

  6. Klik Save.

  7. Klik Start / Resume untuk memulai ulang instance VM.

Pesan error yang ditampilkan oleh Google Cloud API

Setiap stub klien API memiliki parameter ekspor yang memberikan kode pengembalian API dan pesan error.

  • ev_ret_code berisi kode status HTTP. Jika terjadi error yang ditampilkan oleh API, parameter ini berisi nilai 4XX.

  • ev_err_resp berisi kategori error dan pesan error yang ditampilkan oleh API.

Contoh berikut menunjukkan API yang menampilkan error saat Anda membuat topik Pub/Sub baru dengan nama topik yang sudah ada.

  • ERROR_TEXT: Konflik
  • ERROR_DESCRIPTION: Resource sudah ada di project (resource=SAMPLE_TOPIC_01)

Mendapatkan dukungan dari komunitas

Ajukan pertanyaan dan diskusikan ABAP SDK untuk Google Cloud dengan komunitas di Cloud Forums.

Dapatkan dukungan

Jika Anda memerlukan bantuan untuk menyelesaikan masalah terkait ABAP SDK untuk Google Cloud, kumpulkan semua informasi diagnostik yang tersedia dan hubungi Cloud Customer Care.

Untuk mengetahui informasi selengkapnya tentang cara menghubungi Cloud Customer Care, lihat Mendapatkan dukungan untuk SAP di Google Cloud.