Lihat konektor yang didukung untuk Application Integration.
Pemicu SAP ERP
Pemicu SAP ERP adalah pemicu Peristiwa Konektor. Konektor ERP SAP memungkinkan Anda melakukan operasi penyisipan, penghapusan, pembaruan, dan pembacaan pada data SAP ERP.
Sebelum memulai
- Jika Anda berencana membuat atau mengonfigurasi koneksi baru untuk pemicu SAP ERP, pastikan Anda memiliki peran IAM berikut pada project:
- Admin Konektor (
roles/connectors.admin
)
Untuk mengetahui informasi tentang cara memberikan peran, lihat Mengelola akses.
- Admin Konektor (
- Berikan peran IAM berikut ke akun layanan yang ingin Anda gunakan untuk pemicu SAP ERP:
- Invoker Integrasi Aplikasi (
roles/integrations.integrationInvoker
)
Untuk mengetahui informasi tentang cara memberikan peran ke akun layanan, lihat Mengelola akses ke akun layanan.
- Invoker Integrasi Aplikasi (
- Di konsol Google Cloud, buka halaman Application Integration.
- Di menu navigasi, klik Integrations
Halaman Integrations List akan muncul yang mencantumkan semua integrasi yang tersedia di project Google Cloud.
- Pilih integrasi yang ada atau klik Buat integrasi untuk membuat integrasi baru.
Jika Anda membuat integrasi baru:
- Masukkan nama dan deskripsi di panel Create Integration.
- Pilih region untuk integrasi.
- Pilih akun layanan untuk integrasi. Anda dapat mengubah atau memperbarui detail akun layanan dari integrasi kapan saja dari panel Integration Summary di toolbar integrasi.
- Klik Create.
Tindakan ini akan membuka integrasi di editor integrasi.
- Di menu navigasi editor integrasi, klik Pemicu untuk melihat daftar pemicu yang tersedia.
- Klik dan tempatkan elemen SAP ERP trigger di editor integrasi.
- Klik elemen SAP ERP trigger di editor integrasi untuk membuka panel konfigurasi pemicu.
- Klik Konfigurasi pemicu.
- Berikan detail konfigurasi berikut di halaman Editor Pemicu Peristiwa Konektor:
- Region: Pilih region koneksi SAP ERP Anda.
- Connection: Pilih koneksi SAP ERP yang ingin Anda gunakan.
Application Integration hanya menampilkan koneksi SAP ERP yang aktif dan mengaktifkan langganan peristiwa.
- Masukkan nama kolom jenis peristiwa. Kolom ini mengidentifikasi jenis peristiwa
yang terkait dengan permintaan
peristiwa yang masuk.
{ "event_type": "user.created", ... // other request fields ... }
- Service Account: Pilih akun layanan dengan peran IAM yang diperlukan untuk pemicu SAP ERP.
- Klik Done untuk menyelesaikan konfigurasi pemicu dan menutup halaman.
- Klik elemen SAP ERP trigger di editor integrasi untuk membuka panel konfigurasi pemicu.
- Klik Konfigurasi pemicu.
- Lewati kolom Region.
- Klik Connection, lalu pilih opsi Create Connection dari menu drop-down.
- Di bagian Connection Details, selesaikan langkah-langkah berikut:
- Connector: Pilih SAP ERP dari menu drop-down Konektor yang tersedia.
- Versi konektor: Pilih versi Konektor dari menu drop-down versi yang tersedia.
- Di kolom Connection Name, masukkan nama untuk instance Koneksi.
Nama koneksi harus memenuhi kriteria berikut:
- Nama koneksi dapat menggunakan huruf, angka, atau tanda hubung.
- Huruf harus huruf kecil.
- Nama koneksi harus dimulai dengan huruf dan diakhiri dengan huruf atau angka.
- Nama koneksi tidak boleh lebih dari 63 karakter.
- Jika perlu, masukkan Description untuk koneksi.
- Secara opsional, aktifkan Cloud logging,
dan kemudian pilih level log. Secara default, level log disetel ke
Error
. - Akun Layanan: Pilih akun layanan yang memiliki peran yang diperlukan.
- Agar dapat menggunakan koneksi untuk langganan acara, pilih Aktifkan langganan acara. Memilih
ini, menampilkan opsi berikut:
- Aktifkan langganan acara dengan entitas dan tindakan: Pilih opsi ini untuk menggunakan koneksi untuk operasi konektor dan langganan peristiwa (entity dan tindakan).
- Aktifkan langganan acara saja: Pilih opsi ini untuk menggunakan koneksi hanya untuk langganan acara. Jika Anda memilih opsi ini, klik Berikutnya, lalu konfigurasi langganan peristiwa.
- Klien: Klien yang mengautentikasi ke sistem SAP.
- ID Sistem: ID Sistem atau R3Name Sistem SAP adalah string dengan maksimum tiga karakter. Ini sering digunakan dalam koneksi load balancing.
- Nomor Sistem: Nomor yang digunakan untuk menentukan sistem target. Digunakan saat menetapkan properti Koneksi host.
- Project ID: ID project Google Cloud tempat bucket GCS yang berisi jar SAP JCo berada.
- Bucket: Nama bucket yang berisi file sapjco3.jar dan libsapjco3.so.
- ID objek Jaco jar: ID objek stoples JCo.
- libsapjco3 object ID: ID objek dari libsapjco3 jar.
- Table mode: Pilih tabel SAP yang akan ditampilkan sebagai tampilan.
- SNC_LIB object ID: ID objek library SNC.
- Nama PSE: Nama file Personal Security Environment (PSE) yang berlaku untuk bucket. File PSE menyimpan pasangan kunci publik dan pribadi serta sertifikat X.509 dalam struktur ASN.1.
- Grup: Nama grup untuk login. Hal ini biasanya ditentukan saat sistem SAP menggunakan load balancer.
- Server pesan: Nama server pesan yang akan digunakan saat terhubung ke sistem SAP yang menggunakan load balancer.
- Fungsi baca tabel: Nama fungsi yang akan digunakan untuk membaca tabel. Untuk selengkapnya informasi tambahan, lihat Menggunakan fungsi tabel baca kustom.
- Connection scheme: Pilih skema koneksi yang akan digunakan untuk terhubung ke sistem SAP Anda.
- System ID: ID sistem atau R3Name sistem SAP. Anda dapat memasukkan maksimum 3 karakter.
- Kode sandi SNC: Pilih rahasia Secret Manager dari kode sandi library SNC.
- Secret Version: Pilih versi secret.
- SNC mode: Pilih opsi ini untuk mengaktifkan SNC untuk autentikasi antara Application Integration dan sistem SAP Anda.
- Nama SNC: Masukkan nama untuk koneksi SNC.
-
SNC qop: Memilih tingkat perlindungan. Berikut adalah tingkat yang didukung:
- 1 - Hanya terapkan autentikasi.
- 2 - Menerapkan perlindungan integritas. Hal ini juga mencakup perlindungan otentikasi.
- 3 - Menerapkan perlindungan privasi. Hal ini juga mencakup perlindungan integritas dan otentikasi.
- 8 - Terapkan perlindungan default.
- 9 - Menerapkan perlindungan maksimum.
- Nama partner SNC: Masukkan nama SNC server aplikasi.
- Query mode: Pilih tabel SAP yang akan ditampilkan sebagai tampilan.
-
Tampilan yang dapat dijelajahi: Masukkan daftar tampilan yang dipisahkan koma untuk ditampilkan.
Contoh,
ViewA,ViewB,ViewC
. - Tingkat verbositas: Masukkan tingkat verbositas untuk logging. Platform yang didukung nilainya adalah dari 1 hingga 5. Nilai yang lebih tinggi berarti detail yang lebih banyak akan tersedia pada log.
- Anda juga dapat mengonfigurasi Setelan node koneksi:
- Jumlah minimum node: Masukkan jumlah minimum node koneksi.
- Jumlah maksimum node: Masukkan jumlah maksimum node koneksi.
Simpul adalah unit (atau replika) koneksi yang memproses transaksi. Diperlukan lebih banyak {i>node<i} untuk memproses lebih banyak transaksi untuk koneksi dan sebaliknya, lebih sedikit node yang diperlukan untuk memproses lebih sedikit transaksi. Untuk memahami pengaruh node terhadap harga konektor Anda, lihat Harga untuk node koneksi. Jika Anda tidak memasukkan nilai apa pun, secara default node minimum ditetapkan ke 2 (untuk ketersediaan yang lebih baik) dan node maksimum ditetapkan ke 50.
- Anda juga dapat mengklik + TAMBAHKAN LABEL untuk menambahkan label ke Koneksi dalam bentuk pasangan kunci/nilai.
- Klik Berikutnya.
- Di bagian Destinations, masukkan detail host jarak jauh (sistem backend) yang ingin Anda hubungkan.
- Jenis Tujuan: Pilih Jenis Tujuan.
- Pilih Host address dari daftar untuk menentukan nama host atau alamat IP tujuan.
- Jika Anda ingin membuat koneksi pribadi ke sistem backend Anda, pilih Endpoint attachment dari daftar, lalu pilih lampiran endpoint yang diperlukan dari daftar Endpoint Lampiran.
Jika Anda ingin membuat koneksi publik ke sistem {i> backend<i} dengan keamanan tambahan, Anda dapat pertimbangkan untuk mengonfigurasi jaringan keluar statis alamat IP untuk koneksi Anda, lalu konfigurasikan aturan firewall untuk hanya mengizinkan alamat IP statis tertentu ke daftar yang diizinkan.
Untuk memasukkan tujuan tambahan, klik +Tambahkan tujuan.
- Klik Berikutnya.
- Jenis Tujuan: Pilih Jenis Tujuan.
-
Di bagian Authentication, masukkan detail autentikasi.
- Pilih Jenis autentikasi, lalu masukkan detail yang relevan.
Jenis autentikasi berikut didukung oleh koneksi SAP ERP:
- Nama pengguna dan {i>password<i}
- Klik Berikutnya.
Untuk memahami cara mengonfigurasi jenis autentikasi ini, lihat Mengonfigurasi autentikasi.
- Pilih Jenis autentikasi, lalu masukkan detail yang relevan.
- Jika Anda telah mengaktifkan langganan peristiwa, bagian Detail Langganan Acara akan muncul di halaman pembuatan koneksi. Untuk memahami cara mengonfigurasi detail langganan peristiwa, lihat Mengonfigurasi langganan peristiwa.
- Peninjauan: Tinjau detail koneksi dan autentikasi Anda.
- Klik Create.
-
Nama pengguna dan sandi
- Nama pengguna: Nama pengguna untuk konektor
- Password: Secret Manager yang berisi sandi yang terkait dengan konektor 20%.
-
Pilih salah satu jenis autentikasi berikut untuk pemroses peristiwa.
- Autentikasi Google. Jika Anda mengaktifkan opsi ini, ikuti langkah-langkah di Autentikasi menggunakan Token Web JSON untuk mengonfigurasi autentikasi ABAP SDK. Pastikan juga bahwa akun layanan memiliki roles/connectors.listener peran yang token aksesnya digunakan untuk otentikasi.
- Autentikasi Kunci API. Jika Anda memilih opsi ini, Anda seharusnya sudah membuat kunci API, lalu menyimpan kunci tersebut sebagai rahasia Secret Manager. Untuk informasi selengkapnya, lihat Membuat kunci API.
-
Masukkan nama kolom jenis peristiwa. Kolom ini mengidentifikasi jenis peristiwa yang terkait dengan
permintaan aktivitas yang masuk.
{ "event_type": "user.created", ... // other request fields ... }
- Select Enable private connectivity for secured connectivity between your backend application and your connection. If you select this option, you must perform additional configuration steps after creating the connection. For more information, see Private connectivity for event subscription.
- Enter the dead-letter configuration. If you configure dead-letter, the connection writes
the unprocessed events to the specified Pub/Sub topic. Enter the following details:
- Dead-letter project ID: The Google Cloud project ID where you have configured the dead-letter Pub/Sub topic.
- Dead-letter topic: The Pub/Sub topic where you want to write the details of the unprocessed event.
- Use the
RFC_READ_TABLE
function as a template for the new function. Select transaction codeSE37
and theSDTX
function group and copyRFC_READ_TABLE
to a new function group or your working function group. In this example,RFC_READ_TABLE
is copied toZ_CUSTOM_READ_TABLE
. - On the Attributes tab of the SAP screen, select
Remote Enabled Module
. - On the Tables tab, set the
DATA
parameter toCHAR8000
. Right-click on the screen and then click Display -> Change. - On the Source Code tab, paste the example source code for the replacement
RFC_READ_TABLE
function module located in thedb
subfolder of the installation directory. The code is located inZ_CUSTOM_READ_TABLE.txt
, thoughZ_CUSTOM_READ_TABLE_752.txt
is preferred if your SAP ERP instance is running ABAP version 7.52 or later. - Click Save.
- Define the imports, tables, and exceptions as documented in the provided custom read table.
- Activate the function module and in your connection string set
ReadTableFunction
toZ_CUSTOM_READ_TABLE
, or the name of your function module.
Menambahkan pemicu ERP SAP
Untuk menambahkan pemicu SAP ERP ke integrasi Anda, lakukan langkah-langkah berikut:
Untuk mengonfigurasi pemicu SAP ERP, Anda dapat menggunakan koneksi SAP ERP yang ada dan tersedia di Integration Connectors, atau membuat koneksi SAP ERP baru menggunakan opsi pembuatan koneksi inline.
Mengonfigurasi pemicu ERP SAP menggunakan koneksi yang ada
Pemicu SAP ERP adalah pemicu Peristiwa Konektor, sehingga Anda hanya dapat menggunakan koneksi SAP ERP dengan langganan peristiwa yang diaktifkan untuk mengonfigurasi pemicu tersebut.
Untuk mengetahui informasi tentang cara mengonfigurasi pemicu SAP ERP menggunakan koneksi SAP ERP baru, baca artikel Mengonfigurasi pemicu SAP ERP menggunakan koneksi baru
Untuk mengonfigurasi pemicu SAP ERP menggunakan koneksi SAP ERP yang ada, lakukan langkah-langkah berikut:
Mengonfigurasi pemicu ERP SAP menggunakan koneksi baru
Mengonfigurasi autentikasi
Masukkan detail berdasarkan autentikasi yang ingin Anda gunakan.
Konfigurasi untuk langganan acara
Jika Anda telah mengaktifkan langganan acara, masukkan nilai berikut di bagian Bagian Detail Langganan Acara:
Use a custom read table function
RFC_READ_TABLE
The connector uses the SAP RFC_READ_TABLE
function to get data from SAP tables.
However, it has certain limitations. As an example, consider the DATA_BUFFER_EXCEEDED
exception. The SAP RFC_READ_TABLE
has a fixed size of 512 bytes. It can buffer for
each row of data, and thus you cannot select more columns than the amount that would
fit in this buffer. If you select more than 512 bytes, an exception occurs
indicating that you have exceeded the maximum buffer size allowed per row and need
to select fewer columns.
RFC_READ_TABLE2
The SAP ERP connector supports the RFC_READ_TABLE2
table read function. You can switch
the active table read function to RFC_READ_TABLE2
by setting ReadTableFunction
to /SAPDS/RFC_READ_TABLE2
.
Custom read table functions
The connector includes a custom read-table RFC, Z_CUSTOM_READ_TABLE
that is similar
to the SAP RFC_READ_TABLE
, but with a larger buffer to address the DATA_BUFFER_EXCEEDED
problem and bypass RFC_READ_TABLE
limitations.
To use the included custom read-table RFC to bypass limitations with the default RFC_READ_TABLE
, follow these steps:
The ABAP 7.52 Custom Read Table
Along with Z_CUSTOM_READ_TABLE.txt
, there is also a Z_CUSTOM_READ_TABLE_752.txt
file, for ABAP version 7.52 and above. It is similar to Z_CUSTOM_READ_TABLE
, but it takes advantage of the newly available keywords in ABAP 7.52 to perform paging within the database
instead of in the ABAP script itself. This makes paging efficient when working with large tables.
It is recommended to use the Z_CUSTOM_READ_TABLE_752
RFC.
Configure authentication in SAP
Configure the authentication in SAP by following the instructions in the Authentication overview for the on-premises or any cloud edition of ABAP SDK for Google Cloud guide.
Validate the trigger
To validate the trigger, you can create an ABAP program. The following is a sample ABAP program that you can use as a reference. The ls_event_payload
field changes based on your requirements:
*&---------------------------------------------------------------------* *& Report ZR_TEST_INT_CONNECTOR *&---------------------------------------------------------------------* *& *&---------------------------------------------------------------------* REPORT zr_test_int_connector. PARAMETERS: p_auth TYPE char1 RADIOBUTTON GROUP rbg1 USER-COMMAND uc DEFAULT 'X', p_apik TYPE char1 RADIOBUTTON GROUP rbg1. DATA: lv_p_projects_id TYPE string, lv_p_locations_id TYPE string, lv_p_connections_id TYPE string, ls_input TYPE /goog/cl_connectors_v1=>ty_103. TYPES: BEGIN OF event_payload, event_type TYPE string, event_id TYPE string, name TYPE string, org_id TYPE string, END OF event_payload. DATA: ls_event_payload TYPE event_payload. ls_event_payload = VALUE #( event_type = 'create-entity' event_id = '1' name = 'demo-org' org_id = 'SAP' ). TRY. IF p_Auth = abap_true. DATA(lv_client_key) = 'IC_DEMO_GOOGLE_AUTH'. lv_p_connections_id = 'conn-event-triggers-from-sap-erp'. ELSE. lv_client_key = 'IC_DEMO_GOOGLE_APIK'. lv_p_connections_id = 'conn-event-triggers-from-sap-erp-apik'. ENDIF. * Open HTTP Connection DATA(lo_client) = NEW /goog/cl_connectors_v1( iv_key_name = CONV #( lv_client_key ) ). * Populate relevant parameters lv_p_projects_id = lo_client->gv_project_id. lv_p_locations_id = 'us-central1'. GET REFERENCE OF ls_event_payload INTO ls_input-payload . * Call API method: connectors.projects.locations.connections.listenEvent CALL METHOD lo_client->listen_event_connections EXPORTING iv_p_projects_id = lv_p_projects_id iv_p_locations_id = lv_p_locations_id iv_p_connections_id = lv_p_connections_id is_input = ls_input IMPORTING * es_raw = 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_client->is_success( lv_ret_code ). MESSAGE 'Success' TYPE 'S'. ELSE. MESSAGE lv_err_text TYPE 'E'. ENDIF. * Close HTTP Connection lo_client->close( ). CATCH /goog/cx_sdk INTO DATA(lo_exception). MESSAGE lo_exception->get_text( ) TYPE 'E'. ENDTRY.
Kuota dan batas
Untuk mengetahui informasi tentang kuota dan batas, lihat Kuota dan batas.
Langkah selanjutnya
- Pelajari semua tugas dan pemicu.
- Pelajari cara menguji dan memublikasikan integrasi.
- Pelajari penanganan error.
- Pelajari log eksekusi integrasi.