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.

  • 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.

  • Menambahkan pemicu ERP SAP

    Untuk menambahkan pemicu SAP ERP ke integrasi Anda, lakukan langkah-langkah berikut:

    1. Di konsol Google Cloud, buka halaman Application Integration.

      Buka Application Integration

    2. Di menu navigasi, klik Integrations

      Halaman Integrations List akan muncul yang mencantumkan semua integrasi yang tersedia di project Google Cloud.

    3. Pilih integrasi yang ada atau klik Buat integrasi untuk membuat integrasi baru.

      Jika Anda membuat integrasi baru:

      1. Masukkan nama dan deskripsi di panel Create Integration.
      2. Pilih region untuk integrasi.
      3. Pilih akun layanan untuk integrasi. Anda dapat mengubah atau memperbarui detail akun layanan dari integrasi kapan saja dari panel Integration Summary di toolbar integrasi.
      4. Klik Create.

      Tindakan ini akan membuka integrasi di editor integrasi.

    4. Di menu navigasi editor integrasi, klik Pemicu untuk melihat daftar pemicu yang tersedia.
    5. Klik dan tempatkan elemen SAP ERP trigger di editor integrasi.
    6. 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:

    1. Klik elemen SAP ERP trigger di editor integrasi untuk membuka panel konfigurasi pemicu.
    2. Klik Konfigurasi pemicu.
    3. Berikan detail konfigurasi berikut di halaman Editor Pemicu Peristiwa Konektor:
      1. Region: Pilih region koneksi SAP ERP Anda.
      2. Connection: Pilih koneksi SAP ERP yang ingin Anda gunakan.

        Application Integration hanya menampilkan koneksi SAP ERP yang aktif dan mengaktifkan langganan peristiwa.

      3. Masukkan nama kolom jenis peristiwa. Kolom ini mengidentifikasi jenis peristiwa yang terkait dengan permintaan peristiwa yang masuk.
        {
            "event_type": "user.created",
            ...
            // other request fields
            ...
            }
      4. Service Account: Pilih akun layanan dengan peran IAM yang diperlukan untuk pemicu SAP ERP.
    4. Klik Done untuk menyelesaikan konfigurasi pemicu dan menutup halaman.

    Mengonfigurasi pemicu ERP SAP menggunakan koneksi baru

    1. Klik elemen SAP ERP trigger di editor integrasi untuk membuka panel konfigurasi pemicu.
    2. Klik Konfigurasi pemicu.
    3. Lewati kolom Region.
    4. Klik Connection, lalu pilih opsi Create Connection dari menu drop-down.
    5. Di bagian Connection Details, selesaikan langkah-langkah berikut:
      1. Connector: Pilih SAP ERP dari menu drop-down Konektor yang tersedia.
      2. Versi konektor: Pilih versi Konektor dari menu drop-down versi yang tersedia.
      3. 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.
      4. Jika perlu, masukkan Description untuk koneksi.
      5. Secara opsional, aktifkan Cloud logging.
      6. Akun Layanan: Pilih akun layanan yang memiliki peran yang diperlukan.
      7. Agar dapat menggunakan koneksi untuk langganan acara, pilih Aktifkan langganan acara. Jika dipilih, opsi berikut akan ditampilkan:
        • Aktifkan langganan peristiwa dengan entity dan tindakan: Pilih opsi ini agar dapat 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.
      8. Klien: Klien yang mengautentikasi ke sistem SAP.
      9. ID Sistem: ID Sistem atau R3Name Sistem SAP adalah string dengan maksimum tiga karakter. Ini sering digunakan dalam koneksi load balancing.
      10. Nomor Sistem: Nomor yang digunakan untuk menentukan sistem target. Digunakan saat menetapkan properti Koneksi host.
      11. Project ID: ID project Google Cloud tempat bucket GCS yang berisi jar SAP JCo berada.
      12. Bucket: Nama bucket yang berisi file sapjco3.jar dan libsapjco3.so.
      13. ID objek Jaco jar: ID objek stoples JCo.
      14. libsapjco3 object ID: ID objek dari libsapjco3 jar.
      15. Table mode: Pilih tabel SAP yang akan ditampilkan sebagai tampilan.
      16. SNC_LIB object ID: ID objek library SNC.
      17. PSE name: 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.
      18. Grup: Nama grup untuk login. Hal ini biasanya ditentukan saat sistem SAP Anda menggunakan load balancer.
      19. Server pesan: Nama server pesan yang akan digunakan saat terhubung ke sistem SAP yang menggunakan load balancer.
      20. Fungsi baca tabel: Nama fungsi yang akan digunakan untuk membaca tabel. Untuk mengetahui informasi selengkapnya, lihat Menggunakan fungsi tabel baca kustom.
      21. Connection scheme: Pilih skema koneksi yang akan digunakan untuk terhubung ke sistem SAP Anda.
      22. System ID: ID sistem atau R3Name sistem SAP. Anda dapat memasukkan maksimum 3 karakter.
      23. Kode sandi SNC: Pilih rahasia Secret Manager dari kode sandi library SNC.
      24. Secret Version: Pilih versi secret.
      25. SNC mode: Pilih opsi ini untuk mengaktifkan SNC untuk autentikasi antara Application Integration dan sistem SAP Anda.
      26. Nama SNC: Masukkan nama untuk koneksi SNC.
      27. SNC qop: Memilih tingkat perlindungan. Berikut adalah level 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.
      28. Nama partner SNC: Masukkan nama SNC server aplikasi.
      29. Query mode: Pilih tabel SAP yang akan ditampilkan sebagai tampilan.
      30. Tampilan yang dapat dijelajahi: Masukkan daftar tampilan yang dipisahkan koma untuk ditampilkan. Contoh, ViewA,ViewB,ViewC.
      31. Tingkat verbositas: Masukkan tingkat verbositas untuk logging. Nilai yang didukung adalah dari 1 sampai 5. Nilai yang lebih tinggi berarti detail lebih lanjut akan tersedia dalam log.
      32. 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. Lebih banyak node diperlukan untuk memproses lebih banyak transaksi untuk koneksi, dan sebaliknya, node yang diperlukan untuk memproses lebih sedikit transaksi adalah lebih sedikit. 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.

      33. Anda juga dapat mengklik + TAMBAHKAN LABEL untuk menambahkan label ke Koneksi dalam bentuk pasangan kunci/nilai.
      34. Klik Next.
    6. Di bagian Destinations, masukkan detail host jarak jauh (sistem backend) yang ingin Anda hubungkan.
      1. 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, pilih Endpoint attachment dari daftar, lalu pilih lampiran endpoint yang diperlukan dari daftar Endpoint Lampiran.

        Jika Anda ingin membuat koneksi publik ke sistem backend dengan keamanan tambahan, Anda dapat mempertimbangkan untuk mengonfigurasi alamat IP keluar statis untuk koneksi Anda, lalu mengonfigurasi aturan firewall agar hanya mengizinkan alamat IP statis tertentu.

        Untuk memasukkan tujuan tambahan, klik +Tambahkan tujuan.

      2. Klik Next.
    7. Di bagian Authentication, masukkan detail autentikasi.
      1. Pilih Jenis autentikasi, lalu masukkan detail yang relevan.

        Jenis autentikasi berikut didukung oleh koneksi SAP ERP:

        • Nama pengguna dan {i>password<i}
      2. Untuk memahami cara mengonfigurasi jenis autentikasi ini, lihat Mengonfigurasi autentikasi.

      3. Klik Next.
    8. 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.
    9. Peninjauan: Tinjau detail koneksi dan autentikasi Anda.
    10. Klik Create.

    Mengonfigurasi autentikasi

    Masukkan detail berdasarkan autentikasi yang ingin Anda gunakan.

    • Nama pengguna dan sandi
      • Nama pengguna: Nama pengguna untuk konektor
      • Password: Rahasia Secret Manager yang berisi sandi yang terkait dengan konektor.

    Konfigurasi untuk langganan acara

    Jika Anda telah mengaktifkan langganan acara, masukkan nilai berikut di bagian Detail Langganan Peristiwa:

    1. Pilih salah satu jenis autentikasi berikut untuk pemroses peristiwa.
    2. Masukkan nama kolom jenis peristiwa. Kolom ini mengidentifikasi jenis peristiwa yang terkait dengan permintaan peristiwa yang masuk.
      {
      "event_type": "user.created",
      ...
      // other request fields
      ...
      }
    3. 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.
    4. 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:
      1. Dead-letter project ID: The Google Cloud project ID where you have configured the dead-letter Pub/Sub topic.
      2. Dead-letter topic: The Pub/Sub topic where you want to write the details of the unprocessed event.

    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:

    1. Use the RFC_READ_TABLE function as a template for the new function. Select transaction code SE37 and the SDTX function group and copy RFC_READ_TABLE to a new function group or your working function group. In this example, RFC_READ_TABLE is copied to Z_CUSTOM_READ_TABLE.
    2. On the Attributes tab of the SAP screen, select Remote Enabled Module.
    3. On the Tables tab, set the DATA parameter to CHAR8000. Right-click on the screen and then click Display -> Change.
    4. On the Source Code tab, paste the example source code for the replacement RFC_READ_TABLE function module located in the db subfolder of the installation directory. The code is located in Z_CUSTOM_READ_TABLE.txt, though Z_CUSTOM_READ_TABLE_752.txt is preferred if your SAP ERP instance is running ABAP version 7.52 or later.
    5. Click Save.
    6. Define the imports, tables, and exceptions as documented in the provided custom read table.
    7. Activate the function module and in your connection string set ReadTableFunction to Z_CUSTOM_READ_TABLE, or the name of your function module.

    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.