Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: Azure Logic Apps (Konsumsi + Standar)
Panduan cara ini menunjukkan cara membuat contoh alur kerja aplikasi logika untuk beberapa skenario integrasi SAP umum menggunakan Azure Logic Apps dan konektor SAP.
Alur kerja aplikasi logika Standar dan Konsumsi menawarkan konektor terkelola SAP yang dihosting dan dijalankan di Azure multipenyewa. Alur kerja standar juga menawarkan konektor penyedia layanan bawaan SAP yang dihosting dan dijalankan di Azure Logic Apps penyewa tunggal. Untuk informasi selengkapnya, lihat Referensi teknis konektor.
Prasyarat
- Sebelum memulai, pastikan untuk meninjau dan memenuhi persyaratan konektor SAP untuk skenario spesifik Anda.
Instal atau gunakan alat yang dapat mengirim permintaan HTTP untuk menguji solusi Anda, misalnya:
- Visual Studio Code dengan ekstensi dari Visual Studio Marketplace
- PowerShell Invoke-RestMethod
- Microsoft Edge - Alat Konsol Jaringan
- Bruno
- Curl
Perhatian
Untuk skenario di mana Anda memiliki data sensitif, seperti kredensial, rahasia, token akses, kunci API, dan informasi serupa lainnya, pastikan untuk menggunakan alat yang melindungi data Anda dengan fitur keamanan yang diperlukan. Alat ini harus berfungsi secara offline atau lokal, dan tidak memerlukan masuk ke akun online atau menyinkronkan data ke cloud. Saat Anda menggunakan alat dengan karakteristik ini, Anda mengurangi risiko mengekspos data sensitif ke publik.
Terima pesan dari SAP
Contoh alur kerja aplikasi logika berikut memicu saat pemicu SAP alur kerja menerima pesan dari server SAP.
Menambahkan pemicu SAP
Berdasarkan apakah Anda memiliki alur kerja Konsumsi di Azure Logic Apps multipenyewa atau alur kerja Standar di Azure Logic Apps penyewa tunggal, ikuti langkah-langkah yang sesuai:
Di portal Azure, buka aplikasi logika Konsumsi dan alur kerja kosong di perancang.
Di perancang, ikuti langkah-langkah umum ini untuk menambahkan pemicu konektor terkelola SAP bernama Saat pesan diterima.
Jika diminta, berikan informasi koneksi berikut untuk server SAP lokal Anda. Jika sudah selesai, pilih Buat. Jika tidak, lanjutkan dengan langkah berikutnya untuk menyiapkan pemicu SAP Anda.
Pengaturan Wajib Deskripsi Nama Koneksi Ya Masukkan nama untuk koneksi. Klien Ya ID klien SAP yang digunakan untuk menyambungkan ke server SAP Anda Jenis Autentikasi Ya Jenis autentikasi yang digunakan untuk koneksi Anda, yang harus Dasar (nama pengguna dan kata sandi). Untuk membuat koneksi SNC, lihat Mengaktifkan Secure Network Communications (SNC). Nama Pengguna SAP Ya Nama pengguna untuk server SAP Anda Kata Sandi SAP Ya Kata sandi untuk server SAP Anda Jenis Masuk Ya Pilih Server Aplikasi atau Grup (Server Pesan), lalu konfigurasikan parameter yang diperlukan terkait, meskipun muncul opsional:
Server Aplikasi:
- As Host: Nama host untuk Server Aplikasi SAP Anda
- Layanan AS: Nama layanan atau nomor port untuk Server Aplikasi SAP Anda
- Nomor Sistem AS: Nomor sistem server SAP Anda, yang berkisar antara 00 hingga 99
Grup:
- Host Server MS: Nama host untuk Server Pesan SAP Anda
- Nama Layanan MS atau Nomor Port: Nama layanan atau nomor port untuk Server Pesan SAP Anda
- ID Sistem MS: ID sistem untuk server SAP Anda
- Grup Masuk MS: Grup masuk untuk server SAP Anda. Di server SAP, Anda dapat menemukan atau mengedit nilai Grup Masuk dengan membuka kotak dialog CCMS: Pertahankan Grup Masuk (T-Code SMLG). Untuk informasi selengkapnya, tinjau SAP Note 26317 - Siapkan untuk grup LOGON untuk penyeimbangan beban otomatis.Pengetikan Aman Tidak. Opsi ini tersedia untuk kompatibilitas mundur dan hanya memeriksa panjang string. Secara default, pengetikan yang kuat digunakan untuk memeriksa nilai yang tidak valid dengan melakukan validasi XML terhadap skema. Perilaku ini dapat membantu Anda mendeteksi masalah sebelumnya. Pelajari selengkapnya tentang pengaturan Pengetikan Aman. Menggunakan SNC Tidak. Untuk membuat koneksi SNC, lihat Mengaktifkan Secure Network Communications (SNC). Untuk informasi selengkapnya tentang SNC, lihat Mulai menggunakan SAP SNC untuk integrasi RFC - blog SAP. Data Gateway Ya 1. Untuk Langganan, pilih langganan Azure untuk sumber daya gateway data yang Anda buat di portal Azure untuk penginstalan gateway data Anda.
2. Untuk Gateway, pilih sumber daya gateway data Anda di Azure.Untuk parameter koneksi opsional lainnya yang tersedia, lihat Informasi koneksi default.
Setelah Azure Logic Apps menyiapkan dan menguji koneksi Anda, kotak informasi pemicu muncul. Untuk informasi selengkapnya tentang masalah koneksi apa pun yang mungkin terjadi, lihat Memecahkan masalah koneksi.
Berdasarkan konfigurasi dan skenario server SAP Anda, berikan nilai parameter yang diperlukan untuk pemicu Saat pesan diterima, dan tambahkan parameter pemicu lain yang tersedia yang ingin Anda gunakan dalam skenario Anda.
Catatan
Pemicu SAP ini adalah pemicu berbasis webhook, bukan pemicu polling, dan tidak menyertakan opsi untuk menentukan jadwal polling. Misalnya, saat Anda menggunakan konektor SAP terkelola dengan gateway data lokal, pemicu dipanggil dari gateway data hanya ketika pesan tiba, sehingga tidak diperlukan polling.
Pengaturan Wajib Deskripsi GatewayHost Ya Host gateway pendaftaran untuk server SAP RFC GatewayService Ya Layanan gateway pendaftaran untuk server SAP RFC ProgramId Ya ID program gateway pendaftaran untuk server SAP RFC.
Catatan: Nilai ini peka huruf besar/kecil. Pastikan Anda secara konsisten menggunakan format kasus yang sama untuk nilai ID Program saat mengonfigurasi alur kerja aplikasi logika dan server SAP. Jika tidak, ketika Anda mencoba mengirim IDoc ke SAP, Monitor tRFC (T-Code SM58) mungkin menunjukkan kesalahan berikut (tautan memerlukan login SAP):
- Fungsi IDOC_INBOUND_ASYNCHRONOUS tidak ditemukan (2399329)
- Klien RFC non-ABAP (jenis mitra) tidak didukung (353597)DegreeOfParallelism Tidak. Jumlah panggilan untuk diproses secara paralel. Untuk menambahkan parameter ini dan mengubah nilai, dari daftar Parameter tingkat lanjut, pilih DegreeOfParallelism, dan masukkan nilai baru. SapActions Tidak. Filter pesan yang Anda terima dari server SAP Anda berdasarkan daftar tindakan SAP. Untuk menambahkan parameter ini, dari daftar Parameter tingkat lanjut, pilih SapActions. Di bagian SapActions baru, untuk parameter SapActions - 1, gunakan pemilih file untuk memilih tindakan SAP atau tentukan tindakan secara manual. Untuk informasi selengkapnya tentang tindakan SAP, lihat Skema pesan untuk operasi IDoc. IDoc Format Tidak. Format yang digunakan untuk menerima IDocs. Untuk menambahkan parameter ini, dari daftar Parameter tingkat lanjut, pilih Format IDoc.
- Untuk menerima IDocs sebagai XML biasa SAP, dari daftar Format IDoc, pilih SapPlainXml.
- Untuk menerima IDocs sebagai file datar, dari daftar Format IDoc, pilih FlatFile.
- Catatan: Jika Anda juga menggunakan tindakan Dekode File Datar di alur kerja Anda, dalam skema file datar, Anda harus menggunakan properti early_terminate_optional_fields dan mengatur nilainya ke true. Persyaratan ini diperlukan karena rekaman data IDoc file datar yang dikirim oleh SAP pada panggilan tRFC bernamaIDOC_INBOUND_ASYNCHRONOUS
tidak diisi ke panjang bidang SDATA lengkap. Azure Logic Apps menyediakan data asli IDoc file datar tanpa padding seperti yang diterima dari SAP. Juga, ketika Anda menggabungkan pemicu SAP ini dengan tindakan Flat File Decode, skema yang diberikan pada tindakan harus cocok.Menerima IDOCS dengan segmen yang belum dilepas Tidak. Terima IDoc dengan atau tanpa segmen yang belum dilepas. Untuk menambahkan parameter ini dan mengubah nilai, dari daftar Parameter tingkat lanjut, pilih Terima IDOCS dengan segmen yang belum dilepaskan, dan pilih Ya atau Tidak. SncPartnerNames Tidak. Daftar mitra SNC yang memiliki izin untuk memanggil pemicu di tingkat pustaka klien SAP. Hanya mitra yang terdaftar yang diotorisasi oleh koneksi SNC server SAP. Untuk menambahkan parameter ini, dari daftar Parameter tingkat lanjut, pilih SncPartnerNames. Pastikan untuk memasukkan setiap nama yang dipisahkan oleh bilah vertikal (|). Contoh berikut menunjukkan pemicu terkelola SAP yang dikonfigurasi minimal dalam alur kerja:
Contoh berikut menunjukkan pemicu terkelola SAP tempat Anda dapat memfilter pesan dengan memilih tindakan SAP:
Atau, dengan menentukan tindakan SAP secara manual:
Contoh berikut menunjukkan bagaimana tindakan SAP muncul saat Anda menyiapkan pemicu konektor terkelola SAP untuk menerima beberapa pesan:
Simpan alur kerja Anda sehingga Anda dapat mulai menerima pesan dari server SAP Anda. Di bar alat perancang, pilih Simpan.
Alur kerja Anda sekarang siap untuk menerima pesan dari server SAP Anda.
Setelah pemicu diaktifkan dan menjalankan alur kerja Anda, tinjau riwayat pemicu alur kerja untuk mengonfirmasi bahwa pendaftaran pemicu berhasil.
Menerima paket IDoc dari SAP
Untuk menerima paket IDoc, yang merupakan batch atau grup IDoc, pemicu SAP tidak memerlukan konfigurasi tambahan. Namun, untuk memproses setiap item dalam paket IDoc setelah pemicu menerima paket, Anda harus menerapkan beberapa langkah lagi untuk membagi paket menjadi IDoc individual dengan menyiapkan SAP untuk mengirim IDoc dalam paket.
Contoh alur kerja berikut menunjukkan cara mengekstrak IDoc individual dari paket dengan menggunakan xpath()
fungsi :
Sebelum memulai, Anda memerlukan alur kerja aplikasi logika Konsumsi atau Standar dengan pemicu SAP. Jika alur kerja Anda belum dimulai dengan pemicu ini, ikuti langkah-langkah sebelumnya dalam panduan ini untuk menambahkan pemicu SAP yang dapat menerima pesan ke alur kerja Anda.
Untuk segera membalas server SAP Anda dengan status permintaan SAP, tambahkan tindakan respons berikut, berdasarkan apakah Anda menggunakan pemicu terkelola SAP atau pemicu bawaan SAP:
Pemicu terkelola SAP: Untuk pemicu ini, tambahkan tindakan Respons ke alur kerja Anda.
Dalam tindakan Respons, gunakan salah satu kode status berikut (
statusCode
):Kode status Deskripsi 202 Diterima Permintaan diterima untuk diproses, tetapi pemrosesan belum selesai. 204 Tanpa Konten Server berhasil memenuhi permintaan, dan tidak ada konten lain yang tersedia untuk dikirim dalam isi payload respons. 200 OK Kode status ini selalu berisi payload, bahkan meskipun server menghasilkan isi payload dengan panjang nol. Pemicu bawaan SAP: Untuk pemicu ini, tambahkan tindakan Respons server SAP ke alur kerja Anda.
Catatan
Sebagai praktik terbaik, tambahkan tindakan respons segera setelah pemicu untuk membebaskan saluran komunikasi dengan server SAP Anda.
Dapatkan namespace layanan akar dari XML IDoc yang diterima alur kerja Anda dari SAP.
Untuk mengekstrak namespace layanan ini dari dokumen XML dan menyimpan namespace dalam variabel string lokal, tambahkan tindakan Inisialisasi variabel .
Ganti nama judul tindakan menjadi Dapatkan namespace layanan untuk simpul akar di IDoc yang diterima.
Berikan nama untuk variabel, dan atur jenis ke String.
Dalam tindakan, pilih di dalam kotak Edit nilai untuk memperlihatkan opsi untuk daftar konten dinamis (ikon petir) dan editor ekspresi (ikon fungsi).
Pilih ikon fungsi untuk membuka editor ekspresi, dan buat ekspresi berikut menggunakan
xpath()
fungsi :xpath(xml(triggerBody()?['Content']), 'namespace-uri(/*)')
Setelah selesai, ekspresi diselesaikan dan sekarang muncul sebagai format berikut:
Untuk mengekstrak IDoc individual dengan menyimpan koleksi IDoc dalam variabel array lokal, ikuti langkah-langkah berikut:
Tambahkan tindakan Inisialisasi variabel lainnya.
Ganti nama judul tindakan menjadi Dapatkan array dengan elemen data IDoc.
Berikan nama untuk variabel, dan atur jenis ke Array.
Variabel array membuat setiap IDoc tersedia bagi alur kerja Anda untuk diproses satu per satu dengan menghitung koleksi.
Dalam tindakan, pilih di dalam kotak Edit nilai untuk memperlihatkan opsi untuk daftar konten dinamis (ikon petir) dan editor ekspresi (ikon fungsi).
Pilih ikon kilat untuk membuka editor ekspresi, dan buat ekspresi berikut
xpath()
:xpath(xml(triggerBody()?['Content']), '/*[local-name()="Receive"]/*[local-name()="idocData"]')
Setelah selesai, ekspresi diselesaikan dan sekarang muncul sebagai format berikut:
Dalam contoh ini, alur kerja berikut mentransfer setiap IDoc ke server SFTP dengan menggunakan tindakan Kontrol bernama Untuk masing-masing dan tindakan SFTP-SSH bernama Buat file. Setiap IDoc harus menyertakan kumpulan namespace layanan akar, yang merupakan alasan mengapa konten file dibungkus di dalam elemen
<Receive></Receive>
bersama dengan kumpulan namespace layanan akar sebelum mengirim IDoc ke aplikasi downstream, atau dalam hal ini, server SFTP.
Memfilter pesan yang diterima dengan tindakan SAP
Jika Anda menggunakan konektor terkelola SAP di bawah pemicu dalam alur kerja Anda, siapkan cara untuk secara eksplisit memfilter tindakan yang tidak diinginkan dari server SAP Anda, berdasarkan namespace layanan simpul akar di payload XML yang diterima. Anda dapat menyediakan daftar (array) dengan satu atau beberapa tindakan SAP. Secara default, array ini kosong, yang berarti alur kerja Anda menerima semua pesan dari server SAP Anda tanpa pemfilteran. Saat Anda menyiapkan filter array, pemicu hanya menerima pesan dari jenis tindakan SAP yang ditentukan dan menolak semua pesan lain dari server SAP Anda. Namun, filter ini tidak memengaruhi apakah pengetikan payload yang diterima lemah atau kuat. Semua pemfilteran tindakan SAP terjadi pada tingkat Adapter SAP untuk gateway data lokal Anda. Untuk informasi selengkapnya, tinjau cara menguji pengiriman IDocs ke Azure Logic Apps dari SAP.
Menyiapkan pola balasan permintaan asinkron untuk pemicu
Konektor terkelola SAP mendukung pola balasan permintaan asinkron Azure untuk pemicu Azure Logic Apps. Anda dapat menggunakan pola ini untuk membuat permintaan yang berhasil yang akan gagal dengan pola balasan permintaan sinkron default.
Catatan
Dalam alur kerja dengan beberapa tindakan Respons , semua tindakan Respons harus menggunakan pola balasan permintaan yang sama. Misalnya, jika alur kerja Anda menggunakan kontrol pengalihan dengan beberapa kemungkinan tindakan Respons , Anda harus menyiapkan semua tindakan Respons untuk menggunakan pola balasan permintaan yang sama, baik sinkron atau asinkron.
Jika Anda mengaktifkan respons asinkron untuk tindakan Respons , alur kerja Anda dapat merespons dengan balasan 202 Diterima setelah menerima permintaan pemrosesan. Balasan berisi header lokasi yang bisa Anda gunakan untuk mengambil status akhir permintaan Anda.
Untuk mengonfigurasi pola balasan permintaan asinkron untuk alur kerja Anda menggunakan konektor SAP, ikuti langkah-langkah berikut:
Di perancang, buka alur kerja aplikasi logika Anda. Konfirmasikan bahwa alur kerja Anda dimulai dengan pemicu SAP.
Di alur kerja Anda, temukan tindakan Respons, dan buka pengaturan tindakan tersebut.
Berdasarkan apakah Anda memiliki alur kerja Konsumsi atau Standar, ikuti langkah-langkah yang sesuai:
- Konsumsi: Di bawah Respons Asinkron, ubah pengaturan dari Nonaktif ke Aktif, dan pilih Selesai.
- Standar: Perluas Jaringan, dan di bawah Respons Asinkron, ubah pengaturan dari Nonaktif ke Aktif.
Simpan alur kerja Anda.
Kirim IDocs ke SAP
Untuk membuat alur kerja aplikasi logika yang mengirim IDoc ke server SAP dan mengembalikan respons, ikuti contoh berikut:
- Buat alur kerja aplikasi logika yang dipicu oleh permintaan HTTP.
- Tambahkan tindakan SAP ke alur kerja Anda untuk mengirim IDoc ke SAP.
- Tambahkan tindakan respons ke alur kerja Anda.
- Buat pola respons permintaan panggilan fungsi jarak jauh (RFC), jika Anda menggunakan RFC untuk menerima balasan dari SAP ABAP.
- Uji alur kerja Anda.
Menambahkan pemicu Permintaan
Agar alur kerja Anda menerima IDocs dari SAP melalui XML HTTP, Anda dapat menggunakan pemicu bawaan Permintaan. Pemicu ini membuat titik akhir dengan URL tempat server SAP Anda dapat mengirim permintaan HTTP POST ke alur kerja Anda. Saat alur kerja Anda menerima permintaan ini, pemicu akan diaktifkan dan menjalankan langkah berikutnya dalam alur kerja Anda.
Untuk menerima IDocs melalui Common Programming Interface Communication (CPIC) sebagai XML biasa atau sebagai file datar, tinjau bagian, Terima pesan dari SAP.
Berdasarkan apakah Anda memiliki alur kerja Konsumsi di Azure Logic Apps multipenyewa atau alur kerja Standar di Azure Logic Apps penyewa tunggal, ikuti langkah-langkah yang sesuai:
Di portal Azure, buat sumber daya aplikasi logika Konsumsi dan alur kerja kosong di perancang.
Di perancang, ikuti langkah-langkah umum ini untuk menemukan dan menambahkan pemicu bawaan Permintaan bernama Saat permintaan HTTP diterima.
Simpan alur kerja Anda. Di bar alat perancang, pilih Simpan.
Langkah ini menghasilkan URL titik akhir tempat pemicu Anda dapat menerima permintaan dari server SAP Anda, misalnya:
Menambahkan tindakan SAP untuk mengirim IDoc
Selanjutnya, buat tindakan untuk mengirim IDoc Anda ke SAP saat pemicu Permintaan alur kerja diaktifkan. Berdasarkan apakah Anda memiliki alur kerja Konsumsi di Azure Logic Apps multipenyewa atau alur kerja Standar di Azure Logic Apps penyewa tunggal, ikuti langkah-langkah yang sesuai:
Di perancang alur kerja, di bawah pemicu Permintaan , ikuti langkah-langkah umum ini untuk menemukan dan menambahkan tindakan terkelola SAP bernama Kirim pesan ke SAP.
Jika diminta, berikan informasi koneksi berikut untuk server SAP lokal Anda. Jika sudah selesai, pilih Buat. Jika tidak, lanjutkan dengan langkah berikutnya untuk menyiapkan tindakan SAP.
Pengaturan Wajib Deskripsi Nama koneksi Ya Masukkan nama untuk koneksi. Data Gateway Ya 1. Untuk Langganan, pilih langganan Azure untuk sumber daya gateway data yang Anda buat di portal Azure untuk penginstalan gateway data Anda.
2. Untuk Gateway Koneksi, pilih sumber daya gateway data Anda di Azure.Klien Ya ID klien SAP yang digunakan untuk menyambungkan ke server SAP Anda Jenis Autentikasi Ya Jenis autentikasi yang digunakan untuk koneksi Anda, yang harus Dasar (nama pengguna dan kata sandi). Untuk membuat koneksi SNC, lihat Mengaktifkan Secure Network Communications (SNC). Nama Pengguna SAP Ya Nama pengguna untuk server SAP Anda Kata Sandi SAP Ya Kata sandi untuk server SAP Anda Jenis Masuk Ya Pilih Server Aplikasi atau Grup (Server Pesan), lalu konfigurasikan parameter yang diperlukan terkait, meskipun muncul opsional:
Server Aplikasi:
- As Host: Nama host untuk Server Aplikasi SAP Anda
- Layanan AS: Nama layanan atau nomor port untuk Server Aplikasi SAP Anda
- Nomor Sistem AS: Nomor sistem server SAP Anda, yang berkisar antara 00 hingga 99
Grup:
- Host Server MS: Nama host untuk Server Pesan SAP Anda
- Nama Layanan MS atau Nomor Port: Nama layanan atau nomor port untuk Server Pesan SAP Anda
- ID Sistem MS: ID sistem untuk server SAP Anda
- Grup Masuk MS: Grup masuk untuk server SAP Anda. Di server SAP, Anda dapat menemukan atau mengedit nilai Grup Masuk dengan membuka kotak dialog CCMS: Pertahankan Grup Masuk (T-Code SMLG). Untuk informasi selengkapnya, tinjau SAP Note 26317 - Siapkan untuk grup LOGON untuk penyeimbangan beban otomatis.Pengetikan Aman Tidak. Opsi ini tersedia untuk kompatibilitas mundur dan hanya memeriksa panjang string. Secara default, pengetikan yang kuat digunakan untuk memeriksa nilai yang tidak valid dengan melakukan validasi XML terhadap skema. Perilaku ini dapat membantu Anda mendeteksi masalah sebelumnya. Pelajari selengkapnya tentang pengaturan Pengetikan Aman. Menggunakan SNC Tidak. Untuk membuat koneksi SNC, lihat Mengaktifkan Secure Network Communications (SNC). Untuk informasi selengkapnya tentang SNC, lihat Mulai menggunakan SAP SNC untuk integrasi RFC - blog SAP. Untuk parameter koneksi opsional lainnya yang tersedia, lihat Informasi koneksi default.
Setelah Azure Logic Apps menyiapkan dan menguji koneksi Anda, kotak informasi tindakan SAP muncul. Untuk informasi selengkapnya tentang masalah koneksi apa pun yang mungkin terjadi, lihat Memecahkan masalah koneksi.
Dalam tindakan Kirim pesan ke SAP, temukan dan pilih tindakan SAP yang tersedia di server SAP Anda untuk mengirim IDoc.
Tindakan Kirim pesan ke SAP bersifat umum dan dapat mengirim pesan untuk BAPI, IDoc, RFC, atau tRFC, tetapi Anda harus terlebih dahulu memilih jenis pesan dan tindakan SAP untuk digunakan.
Dalam kotak Tindakan SAP, pilih ikon folder. Dari daftar yang terbuka, pilih BAPI, IDOC, RFC, atau TRFC.
Contoh ini memilih IDOC. Jika Anda memilih jenis yang berbeda, tindakan SAP yang tersedia akan berubah berdasarkan pilihan Anda.
Catatan
Jika Anda mendapatkan kesalahan Gateway Buruk (500) atau Kesalahan permintaan buruk (400), lihat Kesalahan 500 Gateway Buruk atau Permintaan Buruk 400.
Telusuri folder jenis tindakan SAP menggunakan panah untuk menemukan dan memilih tindakan SAP yang ingin Anda gunakan.
Contoh ini memilih folder berikut hingga tindakan SAP bernama Kirim: PESANan
Jika Anda tidak dapat menemukan tindakan yang Diinginkan, Anda dapat memasukkan jalur secara manual di kotak Tindakan SAP, misalnya:
Petunjuk / Saran
Untuk parameter Tindakan SAP, Anda dapat menggunakan editor ekspresi untuk memberikan nilai parameter. Dengan demikian, Anda dapat menggunakan tindakan SAP yang sama untuk jenis pesan yang berbeda.
Untuk informasi selengkapnya tentang pesan IDoc, lihat Skema pesan untuk operasi IDoc.
Dalam tindakan Kirim pesan ke SAP, sertakan output isi dari pemicu Permintaan.
Pilih di dalam kotak edit Pesan Input untuk memperlihatkan opsi untuk daftar konten dinamis (ikon kilat) dan editor ekspresi (ikon fungsi).
Pilih ikon kilat untuk daftar konten dinamis.
Dalam daftar, di bawah Saat permintaan HTTP diterima, pilih Isi. Bidang Isi berisi output isi dari pemicu Permintaan .
Catatan
Jika bidang Isi tidak muncul dalam daftar, di samping label Saat permintaan HTTP diterima, pilih Lihat selengkapnya.
Tindakan Kirim pesan ke SAP sekarang menyertakan output isi dari pemicu Permintaan dan mengirim output tersebut ke server SAP Anda, misalnya:
Simpan alur kerja Anda.
Mengirim file datar IDocs ke server SAP (Konektor terkelola saja)
Untuk mengirim IDoc menggunakan skema file datar saat Anda menggunakan konektor terkelola SAP, Anda dapat membungkus IDoc dalam amplop XML dan mengikuti langkah-langkah umum untuk menambahkan tindakan SAP untuk mengirim IDoc, tetapi dengan perubahan berikut.
Catatan
Jika Anda menggunakan konektor bawaan SAP, pastikan Anda tidak membungkus IDoc file datar dalam amplop XML.
Bungkus IDoc dengan amplop XML
Dalam tindakan SAP yang Anda gunakan untuk mengirim pesan, gunakan URI berikut:
http://Microsoft.LobServices.Sap/2007/03/Idoc/SendIdoc
Format pesan input Anda dengan amplop XML.
Contoh berikut menunjukkan contoh payload XML:
<SendIdoc xmlns="http://Microsoft.LobServices.Sap/2007/03/Idoc/">
<idocData>EDI_DC 3000000001017945375750 30INVOIC011BTSVLINV30KUABCABCFPPC LDCA X004010810 4 SAPMSX LSEDI ABCABCFPPC 000d3ae4-723e-1edb-9ca4-cc017365c9fd 20210217054521INVOICINVOIC01ZINVOIC2RE 20210217054520
E2EDK010013000000001017945375000001E2EDK01001000000010 ABCABC1.00000 0060 INVO9988298128 298.000 298.000 LB Z4LR EN 0005065828 L
E2EDKA1 3000000001017945375000002E2EDKA1 000000020 RS ABCABCFPPC 0005065828 ABCABCABC ABCABC Inc. Limited Risk Distributor ABCABC 1950 ABCABCABCA Blvd ABCABAABCAB L5N8L9 CA ABCABC E ON V-ABCABC LDCA
E2EDKA1 3000000001017945375000003E2EDKA1 000000020 AG 0005065828 ABCABCFPPC ABCABC ABCABC ABCABC - FPP ONLY 88 ABCABC Crescent ABCABAABCAB L5R 4A2 CA ABCABC 111 111 1111 E ON ABCABCFPPC EN
E2EDKA1 3000000001017945375000004E2EDKA1 000000020 RE 0005065828 ABCABCFPPC ABCABC ABCABC ABCABC - FPP ONLY 88 ABCABC Crescent ABCABAABCAB L5R 4A2 CA ABCABC 111 111 1111 E ON ABCABCFPPC EN
E2EDKA1 3000000001017945375000005E2EDKA1 000000020 RG 0005065828 ABCABCFPPC ABCABC ABCABC ABCABC - FPP ONLY 88 ABCABC Crescent ABCABAABCAB L5R 4A2 CA ABCABC 111 111 1111 E ON ABCABCFPPC EN
E2EDKA1 3000000001017945375000006E2EDKA1 000000020 WE 0005001847 41 ABCABC ABCABC INC (ABCABC) DC A. ABCABCAB 88 ABCABC CRESCENT ABCABAABCAB L5R 4A2 CA ABCABC 111-111-1111 E ON ABCABCFPPC EN
E2EDKA1 3000000001017945375000007E2EDKA1 000000020 Z3 0005533050 ABCABCABC ABCABC Inc. ABCA Bank Swift Code -ABCABCABCAB Sort Code - 1950 ABCABCABCA Blvd. Acc No -1111111111 ABCABAABCAB L5N8L9 CA ABCABC E ON ABCABCFPPC EN
E2EDKA1 3000000001017945375000008E2EDKA1 000000020 BK 1075 ABCABCABC ABCABC Inc 1950 ABCABCABCA Blvd ABCABAABCAB ON L5N 8L9 CA ABCABC (111) 111-1111 (111) 111-1111 ON
E2EDKA1 3000000001017945375000009E2EDKA1 000000020 CR 1075 CONTACT ABCABCABC 1950 ABCABCABCA Blvd ABCABAABCAB ON L5N 8L9 CA ABCABC (111) 111-1111 (111) 111-1111 ON
E2EDK02 3000000001017945375000010E2EDK02 000000020 0099988298128 20210217
E2EDK02 3000000001017945375000011E2EDK02 000000020 00140-N6260-S 20210205
E2EDK02 3000000001017945375000012E2EDK02 000000020 0026336270425 20210217
E2EDK02 3000000001017945375000013E2EDK02 000000020 0128026580537 20210224
E2EDK02 3000000001017945375000014E2EDK02 000000020 01740-N6260-S
E2EDK02 3000000001017945375000015E2EDK02 000000020 900IAC
E2EDK02 3000000001017945375000016E2EDK02 000000020 901ZSH
E2EDK02 3000000001017945375000017E2EDK02 000000020 9078026580537 20210217
E2EDK03 3000000001017945375000018E2EDK03 000000020 02620210217
E2EDK03 3000000001017945375000019E2EDK03 000000020 00120210224
E2EDK03 3000000001017945375000020E2EDK03 000000020 02220210205
E2EDK03 3000000001017945375000021E2EDK03 000000020 01220210217
E2EDK03 3000000001017945375000022E2EDK03 000000020 01120210217
E2EDK03 3000000001017945375000023E2EDK03 000000020 02420210217
E2EDK03 3000000001017945375000024E2EDK03 000000020 02820210418
E2EDK03 3000000001017945375000025E2EDK03 000000020 04820210217
E2EDK17 3000000001017945375000026E2EDK17 000000020 001DDPDelivered Duty Paid
E2EDK17 3000000001017945375000027E2EDK17 000000020 002DDPdestination
E2EDK18 3000000001017945375000028E2EDK18 000000020 00160 0 Up to 04/18/2021 without deduction
E2EDK28 3000000001017945375000029E2EDK28 000000020 CA BOFACATT Bank of ABCABAB ABCABC ABCABAB 50127217 ABCABCABC ABCABC Inc.
E2EDK28 3000000001017945375000030E2EDK28 000000020 CA 026000082 ABCAbank ABCABC ABCABAB 201456700OLD ABCABCABC ABCABC Inc.
E2EDK28 3000000001017945375000031E2EDK28 000000020 GB ABCAGB2L ABCAbank N.A ABCABA E14, 5LB GB63ABCA18500803115593 ABCABCABC ABCABC Inc. GB63ABCA18500803115593
E2EDK28 3000000001017945375000032E2EDK28 000000020 CA 020012328 ABCABANK ABCABC ABCABAB ON M5J 2M3 2014567007 ABCABCABC ABCABC Inc.
E2EDK28 3000000001017945375000033E2EDK28 000000020 CA 03722010 ABCABABC ABCABABC Bank of Commerce ABCABAABCAB 64-04812 ABCABCABC ABCABC Inc.
E2EDK28 3000000001017945375000034E2EDK28 000000020 IE IHCC In-House Cash Center IHCC1075 ABCABCABC ABCABC Inc.
E2EDK28 3000000001017945375000035E2EDK28 000000020 CA 000300002 ABCAB Bank of ABCABC ABCABAB 0021520584OLD ABCABCABC ABCABC Inc.
E2EDK28 3000000001017945375000036E2EDK28 000000020 US USCC US Cash Center (IHC) city USCC1075 ABCABCABC ABCABC Inc.
E2EDK29 3000000001017945375000037E2EDK29 000000020 0064848944US A CAD CA ABCABC CA United States US CA A Air Air
E2EDKT1 3000000001017945375000038E2EDKT1 000000020 ZJ32E EN
E2EDKT2 3000000001017945375000039E2EDKT2 000038030 GST/HST877845941RT0001 *
E2EDKT2 3000000001017945375000040E2EDKT2 000038030 QST1021036966TQ0001 *
E2EDKT1 3000000001017945375000041E2EDKT1 000000020 Z4VL
E2EDKT2 3000000001017945375000042E2EDKT2 000041030 0.000 *
E2EDKT1 3000000001017945375000043E2EDKT1 000000020 Z4VH
E2EDKT2 3000000001017945375000044E2EDKT2 000043030 *
E2EDK14 3000000001017945375000045E2EDK14 000000020 008LDCA
E2EDK14 3000000001017945375000046E2EDK14 000000020 00710
E2EDK14 3000000001017945375000047E2EDK14 000000020 00610
E2EDK14 3000000001017945375000048E2EDK14 000000020 015Z4F2
E2EDK14 3000000001017945375000049E2EDK14 000000020 0031075
E2EDK14 3000000001017945375000050E2EDK14 000000020 021M
E2EDK14 3000000001017945375000051E2EDK14 000000020 0161075
E2EDK14 3000000001017945375000052E2EDK14 000000020 962M
E2EDP010013000000001017945375000053E2EDP01001000000020 000011 2980.000 EA 298.000 LB MOUSE 298.000 Z4TN 4260
E2EDP02 3000000001017945375000054E2EDP02 000053030 00140-N6260-S 00000120210205 DFUE
E2EDP02 3000000001017945375000055E2EDP02 000053030 0026336270425 00001120210217
E2EDP02 3000000001017945375000056E2EDP02 000053030 0168026580537 00001020210224
E2EDP02 3000000001017945375000057E2EDP02 000053030 9100000 00000120210205 DFUE
E2EDP02 3000000001017945375000058E2EDP02 000053030 911A 00000120210205 DFUE
E2EDP02 3000000001017945375000059E2EDP02 000053030 912PP 00000120210205 DFUE
E2EDP02 3000000001017945375000060E2EDP02 000053030 91300 00000120210205 DFUE
E2EDP02 3000000001017945375000061E2EDP02 000053030 914CONTACT ABCABCABC 00000120210205 DFUE
E2EDP02 3000000001017945375000062E2EDP02 000053030 963 00000120210205 DFUE
E2EDP02 3000000001017945375000063E2EDP02 000053030 965 00000120210205 DFUE
E2EDP02 3000000001017945375000064E2EDP02 000053030 9666336270425 00000120210205 DFUE
E2EDP02 3000000001017945375000065E2EDP02 000053030 9078026580537 00001020210205 DFUE
E2EDP03 3000000001017945375000066E2EDP03 000053030 02920210217
E2EDP03 3000000001017945375000067E2EDP03 000053030 00120210224
E2EDP03 3000000001017945375000068E2EDP03 000053030 01120210217
E2EDP03 3000000001017945375000069E2EDP03 000053030 02520210217
E2EDP03 3000000001017945375000070E2EDP03 000053030 02720210217
E2EDP03 3000000001017945375000071E2EDP03 000053030 02320210217
E2EDP03 3000000001017945375000072E2EDP03 000053030 02220210205
E2EDP19 3000000001017945375000073E2EDP19 000053030 001418VVZ
E2EDP19 3000000001017945375000074E2EDP19 000053030 002RJR-00001 AB ABCABCABC Mouse FORBUS BLUETOOTH
E2EDP19 3000000001017945375000075E2EDP19 000053030 0078471609000
E2EDP19 3000000001017945375000076E2EDP19 000053030 003889842532685
E2EDP19 3000000001017945375000077E2EDP19 000053030 011CN
E2EDP26 3000000001017945375000078E2EDP26 000053030 00459064.20
E2EDP26 3000000001017945375000079E2EDP26 000053030 00352269.20
E2EDP26 3000000001017945375000080E2EDP26 000053030 01052269.20
E2EDP26 3000000001017945375000081E2EDP26 000053030 01152269.20
E2EDP26 3000000001017945375000082E2EDP26 000053030 0126795.00
E2EDP26 3000000001017945375000083E2EDP26 000053030 01552269.20
E2EDP26 3000000001017945375000084E2EDP26 000053030 00117.54
E2EDP26 3000000001017945375000085E2EDP26 000053030 00252269.20
E2EDP26 3000000001017945375000086E2EDP26 000053030 940 2980.000
E2EDP26 3000000001017945375000087E2EDP26 000053030 939 2980.000
E2EDP05 3000000001017945375000088E2EDP05 000053030 + Z400MS List Price 52269.20 17.54 1 EA CAD 2980
E2EDP05 3000000001017945375000089E2EDP05 000053030 + XR1 Tax Jur Code Level 6795.00 13.000 52269.20
E2EDP05 3000000001017945375000090E2EDP05 000053030 + Tax Subtotal1 6795.00 2.28 1 EA CAD 2980
E2EDP05 3000000001017945375000091E2EDP05 000053030 + Taxable Amount + TaxSubtotal1 59064.20 19.82 1 EA CAD 2980
E2EDP04 3000000001017945375000092E2EDP04 000053030 CX 13.000 6795.00 7000000000
E2EDP04 3000000001017945375000093E2EDP04 000053030 CX 0 0 7001500000
E2EDP04 3000000001017945375000094E2EDP04 000053030 CX 0 0 7001505690
E2EDP28 3000000001017945375000095E2EDP28 000053030 00648489440000108471609000 CN CN ABCAB ZZ 298.000 298.000 LB US 400 United Stat KY
E2EDPT1 3000000001017945375000096E2EDPT1 000053030 0001E EN
E2EDPT2 3000000001017945375000097E2EDPT2 000096040 AB ABCABCABC Mouse forBus Bluetooth EN/XC/XD/XX Hdwr Black For Bsnss *
E2EDS01 3000000001017945375000098E2EDS01 000000020 0011
E2EDS01 3000000001017945375000099E2EDS01 000000020 01259064.20 CAD
E2EDS01 3000000001017945375000100E2EDS01 000000020 0056795.00 CAD
E2EDS01 3000000001017945375000101E2EDS01 000000020 01159064.20 CAD
E2EDS01 3000000001017945375000102E2EDS01 000000020 01052269.20 CAD
E2EDS01 3000000001017945375000103E2EDS01 000000020 94200000 CAD
E2EDS01 3000000001017945375000104E2EDS01 000000020 9440.00 CAD
E2EDS01 3000000001017945375000105E2EDS01 000000020 9450.00 CAD
E2EDS01 3000000001017945375000106E2EDS01 000000020 94659064.20 CAD
E2EDS01 3000000001017945375000107E2EDS01 000000020 94752269.20 CAD
E2EDS01 3000000001017945375000108E2EDS01 000000020 EXT
Z2XSK010003000000001017945375000109Z2XSK01000000108030 Z400 52269.20
Z2XSK010003000000001017945375000110Z2XSK01000000108030 XR1 13.000 6795.00 CX
</idocData>
</SendIdoc>
Menambahkan tindakan respons
Sekarang, siapkan alur kerja Anda untuk mengembalikan hasil dari server SAP Anda ke pemohon asli. Untuk tugas ini, ikuti langkah-langkah berikut:
Di perancang, di bawah tindakan SAP, ikuti langkah-langkah umum ini untuk menemukan dan menambahkan tindakan bawaan Permintaan bernama Respons.
Dalam tindakan Respons, pilih di dalam kotak Edit isi untuk memperlihatkan opsi untuk daftar konten dinamis (ikon kilat) dan editor ekspresi (ikon fungsi).
Pilih ikon kilat untuk daftar konten dinamis.
Dari daftar, di bawah Kirim pesan ke SAP, pilih Isi. Bidang Isi berisi output isi dari tindakan SAP.
Simpan alur kerja Anda.
Membuat pola respons permintaan panggilan fungsi jarak jauh (RFC)
Untuk alur kerja Konsumsi yang menggunakan konektor terkelola SAP, jika Anda harus menerima balasan dengan menggunakan panggilan fungsi jarak jauh (RFC) ke Azure Logic Apps dari SAP ABAP, Anda harus menerapkan pola permintaan dan respons. Untuk menerima IDocs dalam alur kerja saat Anda menggunakan pemicu Permintaan, pastikan bahwa tindakan pertama alur kerja adalah tindakan Respons yang menggunakan kode status OK 200 tanpa konten apa pun. Langkah yang direkomendasikan ini segera menyelesaikan transfer asinkron SAP Logical Unit of Work (LUW) melalui tRFC, yang membuat percakapan SAP CPIC tersedia lagi. Anda kemudian dapat menambahkan lebih banyak tindakan ke alur kerja Anda untuk memproses IDoc yang diterima tanpa memblokir transfer nanti.
Catatan
Pemicu SAP menerima IDocs melalui tRFC, yang tidak memiliki parameter respons, berdasarkan desain.
Untuk menerapkan pola permintaan dan respons, Anda harus terlebih dahulu menemukan skema RFC menggunakan perintah generate schema
. Skema yang dihasilkan memiliki dua kemungkinan simpul akar:
- Simpul permintaan, yang merupakan panggilan yang Anda terima dari SAP
- Simpul respons, yang merupakan balasan Anda kembali ke SAP
Dalam contoh berikut, STFC_CONNECTION
modul RFC menghasilkan pola permintaan dan respons. XML permintaan diurai untuk mengekstrak nilai simpul tempat SAP meminta <ECHOTEXT>
. Respons menyisipkan tanda waktu saat ini sebagai nilai dinamis. Anda menerima respons serupa saat mengirim RFC STFC_CONNECTION
dari alur kerja aplikasi logika ke SAP.
<STFC_CONNECTIONResponse xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">
<ECHOTEXT>@{first(xpath(xml(triggerBody()?['Content']), '/*[local-name()="STFC_CONNECTION"]/*[local-name()="REQUTEXT"]/text()'))}</ECHOTEXT>
<RESPTEXT>Azure Logic Apps @{utcNow()}</RESPTEXT>
</STFC_CONNECTIONResponse>
Menguji alur kerja
Jika sumber daya aplikasi logika Konsumsi Anda belum diaktifkan, pada menu aplikasi logika Anda, pilih Gambaran Umum. Pada bar alat, pilih Aktifkan.
Pada toolbar Gambaran Umum atau perancang, pilih Jalankan Jalankan> untuk memulai alur kerja Anda secara manual.
Untuk mensimulasikan payload pemicu webhook dan memicu alur kerja, kirim permintaan HTTP ke URL titik akhir yang dibuat oleh pemicu Permintaan alur kerja Anda, termasuk metode yang diharapkan pemicu Permintaan, dengan menggunakan alat permintaan HTTP Anda dan instruksinya. Pastikan untuk menyertakan konten pesan Anda dengan permintaan Anda.
Contoh ini menggunakan metode POST dan URL titik akhir untuk mengirim file IDoc, yang harus dalam format XML dan menyertakan namespace layanan untuk tindakan SAP yang Anda pilih, misalnya:
<?xml version="1.0" encoding="UTF-8" ?> <Send xmlns="http://Microsoft.LobServices.Sap/2007/03/Idoc/2/ORDERS05//720/Send"> <idocData> <...> </idocData> </Send>
Setelah Anda mengirim permintaan HTTP, tunggu respons dari alur kerja Anda.
Anda sekarang telah membuat alur kerja yang dapat mengirim IDocs dan berkomunikasi dengan server SAP Anda. Setelah menyiapkan koneksi SAP untuk alur kerja, Anda dapat mencoba bereksperimen dengan BAPI dan RFC.
Masalah batas waktu alur kerja
Waktu alur kerja Anda habis dalam salah satu skenario berikut:
Semua langkah yang diperlukan untuk respons tidak selesai dalam batas waktu permintaan habis. Jika kondisi ini terjadi, permintaan mungkin terblokir. Untuk membantu Anda mendiagnosis masalah, pelajari cara memeriksa status alur kerja dan melihat riwayat eksekusi untuk alur kerja Anda.
Mode pemrosesan sistem SAP Anda diatur ke pengaturan Pemicu langsung default, yang menyebabkan sistem SAP Anda memblokir panggilan masuk untuk transmisi IDoc hingga IDoc selesai diproses.
Jika sistem SAP Anda dimuat, misalnya, ketika alur kerja Anda mengirim batch IDocs sekalian ke SAP, IDoc yang diantrekan memanggil waktu habis. Mode pemrosesan default menyebabkan sistem SAP Anda memblokir panggilan masuk untuk transmisi IDoc hingga IDoc selesai diproses. Di Azure Logic Apps, tindakan alur kerja memiliki waktu habis 2 menit, secara default.
Untuk mengatasi masalah ini, ikuti langkah-langkah di bagian Prasyarat yang mengubah pengaturan menjadi Program pemicu menurut latar belakang.
Pengetikan aman
Secara default, saat Anda membuat koneksi untuk operasi terkelola SAP, pengetikan yang kuat digunakan untuk memeriksa nilai yang tidak valid dengan melakukan validasi XML terhadap skema. Perilaku ini dapat membantu Anda mendeteksi masalah sebelumnya. Opsi Pengetikan Aman tersedia untuk kompatibilitas mundur dan hanya memeriksa panjang untai. Jika Anda memilih Pengetikan Aman, jenis DATS dan jenis TIMS di SAP diperlakukan lebih sebagai untai (karakter) daripada sebagai XML setara seperti xs:date
dan xs:time
, di mana xmlns:xs="http://www.w3.org/2001/XMLSchema"
. Pengetikan yang aman mempengaruhi perilaku untuk semua generasi skema, pesan kirim untuk payload " telah dikirim" dan respons "telah diterima", dan pemicunya.
Saat pengetikan yang kuat digunakan (Pengetikan Aman tidak diaktifkan), skema memetakan jenis DATS dan TIMS ke tipe XML yang lebih sederhana:
<xs:element minOccurs="0" maxOccurs="1" name="UPDDAT" nillable="true" type="xs:date"/>
<xs:element minOccurs="0" maxOccurs="1" name="UPDTIM" nillable="true" type="xs:time"/>
Saat Anda mengirim pesan menggunakan pengetikan yang kuat, respons DATS dan TIMS mematuhi pada format tipe XML yang cocok:
<DATE>9999-12-31</DATE>
<TIME>23:59:59</TIME>
Saat Pengetikan Aman diaktifkan, skema memetakan jenis DATS dan TIMS ke bidang untai XML dengan batasan panjang saja, misalnya:
<xs:element minOccurs="0" maxOccurs="1" name="UPDDAT" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="8" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="UPDTIM" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="6" />
</xs:restriction>
</xs:simpleType>
</xs:element>
Ketika pesan dikirim dengan Pengetikan Aman diaktifkan, respons DATS dan TIMS terlihat seperti contoh berikut:
<DATE>99991231</DATE>
<TIME>235959</TIME>
Skenario tingkat lanjut
Mengubah header bahasa untuk mengirim data ke SAP
Saat Anda terhubung ke SAP dari Azure Logic Apps, bahasa Inggris adalah bahasa default yang digunakan oleh koneksi SAP untuk mengirim data ke server SAP Anda. Namun, konektor terkelola SAP dan handel konektor bawaan SAP mengubah dan menyimpan bahasa yang digunakan dengan cara yang berbeda.
Saat Anda membuat koneksi dengan konektor bawaan SAP, parameter koneksi memungkinkan Anda menentukan dan menyimpan nilai parameter bahasa sebagai bagian dari parameter koneksi SAP.
Saat Anda membuat koneksi dengan konektor terkelola SAP, parameter koneksi tidak memiliki parameter bahasa. Jadi, selama waktu ini, Anda tidak dapat menentukan atau bahasa yang akan digunakan untuk mengirim data ke server SAP Anda. Sebagai gantinya, pada waktu desain alur kerja dan waktu proses, konektor menggunakan bahasa lokal browser web Anda dari setiap permintaan yang dikirim ke server Anda. Misalnya, jika browser Anda diatur ke Bahasa Portugis, Azure Logic Apps membuat dan menguji koneksi SAP dengan bahasa Portugis, tetapi tidak menyimpan koneksi dengan bahasa tersebut.
Namun, Anda dapat mengatur bahasa untuk koneksi Anda dengan menggunakan header
Accept-Language
HTTP standar dengan permintaan masuk Anda. Sebagian besar browser web menambahkanAccept-Language
header berdasarkan pengaturan lokal Anda. Browser web menerapkan header ini saat Anda membuat koneksi SAP baru di perancang alur kerja. Jadi, Anda dapat memperbarui pengaturan browser web untuk menggunakan bahasa pilihan Anda, atau Anda dapat membuat koneksi SAP menggunakan Azure Resource Manager alih-alih perancang alur kerja.Misalnya, Anda dapat mengirim permintaan dengan
Accept-Language
header ke alur kerja aplikasi logika Anda dengan menggunakan pemicu Permintaan bernama Saat permintaan HTTP diterima. Semua tindakan dalam alur kerja Anda menerima header. Kemudian, SAP menggunakan bahasa yang ditentukan dalam pesan sistemnya, seperti pesan kesalahan BAPI. Jika Anda tidak meneruskanAccept-Language
header pada waktu proses, secara default, bahasa Inggris digunakan.Jika Anda menggunakan
Accept-Language
header, Anda mungkin mendapatkan kesalahan berikut: Silakan periksa info dan/atau izin akun Anda dan coba lagi. Dalam hal ini, periksa log kesalahan komponen SAP sebagai gantinya. Kesalahan sebenarnya terjadi pada komponen SAP yang menggunakan header, sehingga Anda mungkin mendapatkan salah satu pesan kesalahan berikut:"SAP. Middleware.Connector.RfcLogonException: Pilih salah satu bahasa yang diinstal"
"SAP. Middleware.Connector.RfcAbapMessageException: Pilih salah satu bahasa yang diinstal"
Mengonfirmasi transaksi secara terpisah dan eksplisit
Saat Anda mengirim transaksi ke SAP dari Azure Logic Apps, pertukaran ini terjadi dalam dua langkah seperti yang dijelaskan dalam dokumen SAP, Transactional RFC Server Programs.
Secara default, tindakan konektor terkelola SAP bernama Kirim pesan ke SAP menangani kedua langkah untuk mentransfer fungsi dan mengonfirmasi transaksi dalam satu panggilan. Anda juga dapat memisahkan langkah-langkah ini. Kemampuan untuk memisahkan langkah-langkah transfer dan konfirmasi berguna untuk skenario di mana Anda tidak ingin menduplikasi transaksi di SAP. Skenario tersebut termasuk kegagalan yang terjadi karena penyebab seperti masalah jaringan.
Anda dapat mengirim IDoc tanpa mengonfirmasi transaksi secara otomatis menggunakan tindakan konektor terkelola SAP bernama [IDOC] Kirim dokumen ke SAP. Anda kemudian dapat secara eksplisit mengonfirmasi transaksi menggunakan tindakan konektor terkelola SAP bernama [IDOC - RFC] Konfirmasi id transaksi. Ketika alur kerja Anda secara terpisah mengonfirmasi transaksi dalam langkah yang berbeda, sistem SAP menyelesaikan transaksi hanya sekali.
Dalam alur kerja Standar, konektor bawaan SAP juga memiliki tindakan yang secara terpisah menangani langkah-langkah transfer dan konfirmasi, khususnya, [IDoc] Kirim dokumen ke SAP dan [IDOC - RFC] Konfirmasi Id transaksi.
Contoh alur kerja berikut menunjukkan pola ini:
Buat dan buka aplikasi logika Konsumsi atau Standar dengan alur kerja kosong di perancang. Tambahkan pemicu Permintaan .
Untuk membantu menghindari pengiriman IDoc duplikat ke SAP, ikuti langkah-langkah alternatif ini untuk membuat dan menggunakan ID transaksi IDoc dalam tindakan SAP Anda.
Tambahkan tindakan SAP bernama [IDOC] Kirim dokumen ke SAP ke alur kerja Konsumsi Anda. Untuk alur kerja Standar, tambahkan versi "dalam aplikasi" tindakan bernama [IDoc] Kirim dokumen ke SAP, bukan versi "bersama".
Berikan informasi untuk IDoc yang Anda kirim ke sistem SAP Anda ditambah nilai berikut:
Catatan
Jika parameter berikut tidak muncul secara otomatis, buka daftar Parameter tingkat lanjut, dan pilih parameter.
Pengaturan Nilai Deskripsi Konfirmasi TID Tidak Jangan mengonfirmasi ID transaksi secara otomatis, yang secara eksplisit terjadi dalam langkah terpisah. GUID Id Transaksi < IDoc-transaction-ID> Anda dapat menentukan nilai ini secara manual, atau konektor dapat secara otomatis menghasilkan GUID ini sebagai output dari tindakan Kirim dokumen [IDOC] ke SAP . Contoh ini membuat parameter ini kosong untuk menghasilkan GUID secara otomatis. Alur kerja konsumsi dengan tindakan SAP bersama
Alur kerja standar dengan tindakan SAP dalam aplikasi
Pada tindakan SAP bernama [IDOC] Kirim dokumen ke SAP, buka Pengaturan untuk meninjau kebijakan Coba Lagi.
Opsi Default adalah kebijakan yang direkomendasikan, tetapi Anda dapat memilih kebijakan kustom untuk kebutuhan spesifik Anda. Jika Anda memilih untuk menggunakan kebijakan kustom, siapkan setidaknya satu coba lagi untuk mengatasi pemadaman jaringan sementara.
Sekarang, tambahkan tindakan SAP bernama [IDOC - RFC] Konfirmasi id transaksi.
Pilih di dalam kotak edit ID Transaksi untuk memperlihatkan opsi untuk daftar konten dinamis (ikon kilat) dan editor ekspresi (ikon fungsi).
Pilih ikon kilat untuk daftar konten dinamis.
Berdasarkan alur kerja Anda, ikuti langkah yang sesuai untuk menyertakan nilai output ID transaksi dari tindakan SAP sebelumnya.
Alur kerja konsumsi dengan tindakan SAP bersama
Dalam daftar konten dinamis, di bawah [IDOC] Kirim dokumen ke SAP, pilih nilai Id Transaksi. Contohnya sekarang terlihat seperti sampel berikut:
Alur kerja standar dengan tindakan SAP dalam aplikasi
Dalam daftar konten dinamis, di bawah [IDoc] Kirim dokumen ke SAP, pilih nilai GUID Id Transaksi. Contohnya sekarang terlihat seperti sampel berikut:
Setelah langkah ini berjalan, transaksi saat ini ditandai selesai di kedua ujungnya, di sisi konektor SAP dan di sisi sistem SAP.
Hindari mengirim IDoc duplikat dengan variabel ID transaksi
Jika Anda mengalami masalah dengan alur kerja yang mengirim IDoc duplikat ke SAP, Anda dapat membuat variabel string yang berfungsi sebagai pengidentifikasi transaksi IDoc. Anda kemudian dapat menggunakan pengidentifikasi ini untuk membantu mencegah transmisi jaringan duplikat dalam kondisi seperti pemadaman sementara, masalah jaringan, atau pengakuan yang hilang.
Di perancang, setelah Anda menambahkan pemicu Permintaan , dan sebelum Anda menambahkan tindakan SAP bernama [IDOC] Kirim dokumen ke SAP, tambahkan tindakan bernama Inisialisasi variabel ke alur kerja Anda.
Ganti nama tindakan menjadi Buat ID transaksi IDoc.
Dalam kotak informasi tindakan, berikan nilai parameter berikut:
Pengaturan Nilai Deskripsi Nama < nama variabel> Nama untuk variabel Anda, misalnya, IDocTransactionID Jenis Tali Jenis variabel Nilai guid() 1. Pilih di dalam kotak Edit nilai untuk menampilkan opsi untuk daftar konten dinamis (ikon kilat) dan editor ekspresi (ikon fungsi).
2. Pilih ikon fungsi untuk membuka editor ekspresi.
3. Di editor, masukkan guid(), dan pilih Tambahkanguid.
Parameter Nilai sekarang diatur ke fungsi guid(), yang menghasilkan GUID.Catatan
Sistem SAP melupakan pengidentifikasi transaksi setelah waktu yang ditentukan, atau 24 jam secara default. Akibatnya, SAP tidak pernah gagal mengonfirmasi pengidentifikasi transaksi jika ID atau GUID tidak diketahui. Jika konfirmasi untuk pengidentifikasi transaksi gagal, kegagalan ini menunjukkan bahwa komunikasi dengan sistem SAP gagal sebelum SAP dapat mengakui konfirmasi.
Tambahkan tindakan SAP bernama [IDOC] Kirim dokumen ke SAP ke alur kerja Konsumsi Anda. Untuk alur kerja Standar, tambahkan versi "dalam aplikasi" tindakan bernama [IDoc] Kirim dokumen ke SAP, bukan versi "bersama".
Berikan informasi untuk IDoc yang Anda kirim ke sistem SAP Anda ditambah nilai berikut:
Catatan
Jika parameter berikut tidak muncul secara otomatis, buka daftar Parameter tingkat lanjut, dan pilih parameter.
Pengaturan Nilai Deskripsi Konfirmasi TID Tidak Jangan mengonfirmasi ID transaksi secara otomatis, yang secara eksplisit terjadi dalam langkah terpisah. GUID Id Transaksi < IDoc-transaction-ID> Untuk memilih variabel ID transaksi yang Anda buat, ikuti langkah-langkah berikut:
1. Pilih di dalam kotak edit GUID Id Transaksi untuk menampilkan opsi untuk daftar konten dinamis (ikon petir) dan editor ekspresi (ikon fungsi).
2. Pilih ikon kilat untuk membuka daftar konten dinamis.
3. Dari daftar, di bawah Variabel, pilih variabel yang sebelumnya Anda buat, yaitu IDocTransactionID dalam contoh ini.Alur kerja konsumsi dengan tindakan SAP bersama
Contohnya sekarang terlihat seperti sampel berikut:
Alur kerja standar dengan tindakan SAP dalam aplikasi
Contohnya sekarang terlihat seperti sampel berikut:
Untuk tindakan SAP bernama [IDOC] Kirim dokumen ke SAP, buka Pengaturan untuk meninjau kebijakan Coba Lagi.
Opsi Default adalah kebijakan yang direkomendasikan, tetapi Anda dapat memilih kebijakan kustom untuk kebutuhan spesifik Anda. Jika Anda memilih untuk menggunakan kebijakan kustom, siapkan setidaknya satu coba lagi untuk mengatasi pemadaman jaringan sementara.
Sekarang, tambahkan tindakan SAP bernama [IDOC - RFC] Konfirmasi id transaksi.
Dalam tindakan, pilih di dalam kotak edit ID Transaksi untuk memperlihatkan opsi untuk daftar konten dinamis (ikon petir) dan editor ekspresi (ikon fungsi).
Pilih ikon kilat untuk membuka daftar konten dinamis. Dari daftar, di bawah Variabel, masukkan nama untuk variabel yang Anda buat, yaitu IDocTransactionID dalam contoh ini.
Alur kerja konsumsi dengan tindakan SAP bersama
Contohnya sekarang terlihat seperti sampel berikut:
Alur kerja standar dengan tindakan SAP dalam aplikasi
Contohnya sekarang terlihat seperti sampel berikut:
Secara opsional, validasi deduplikasi di lingkungan pengujian Anda.
Tambahkan tindakan SAP lain bernama [IDOC] Kirim dokumen ke SAP. Di parameter ID Transaksi, pilih GUID ID Transaksi yang Anda gunakan di langkah sebelumnya.
Untuk memvalidasi nomor IDoc mana yang akan ditetapkan setelah setiap panggilan ke tindakan bernama [IDOC] Kirim dokumen ke SAP, tambahkan tindakan bernama [IDOC] Dapatkan daftar IDOC untuk transaksi ke alur kerja Anda dengan ID Transaksi yang sama dan arah Terima.
Jika nomor IDoc yang sama dikembalikan untuk kedua panggilan, IDoc dideduplikasi.
Jika Anda mengirim IDoc yang sama dua kali, Anda dapat memvalidasi bahwa SAP dapat mengidentifikasi duplikasi panggilan tRFC, dan menyelesaikan dua panggilan ke satu pesan IDoc masuk.
Memecahkan masalah
Masalah koneksi
Selama pembuatan koneksi, jika Anda menerima kesalahan berikut, masalah ada pada penginstalan pustaka klien SAP NCo Anda:
Pengujian koneksi gagal. Kesalahan 'Gagal memproses permintaan. Detail kesalahan: 'tidak dapat memuat file atau Majelis' sapnco, Versi=3.0.0.42, Culture=neutral, PublicKeyToken 50436dca5c7f7d23' atau salah satu dependensinya. Sistem tidak dapat menemukan berkas yang dicari.'.'
Pastikan untuk memasang versi yang diperlukan dari pustaka klien SAP NCo dan memenuhi semua prasyarat lainnya.
Kesalahan 500 Bad Gateway atau 400 Permintaan Buruk
Jika Anda menerima kesalahan 500 Gateway Buruk atau 400 Permintaan Buruk dengan pesan yang sama dengan layanan ‘sapgw00’ tidak diketahui, resolusi nama layanan jaringan ke nomor port, contohnya:
{
"body": {
"error": {
"code": 500,
"source": "EXAMPLE-FLOW-NAME.eastus.environments.microsoftazurelogicapps.net",
"clientRequestId": "00000000-0000-0000-0000-000000000000",
"message": "BadGateway",
"innerError": {
"error": {
"code": "UnhandledException",
"message": "\nERROR service 'sapgw00' unknown\nTIME Wed Nov 11 19:37:50 2020\nRELEASE 721\nCOMPONENT NI (network interface)\nVERSION 40\nRC -3\nMODULE ninti.c\nLINE 933\nDETAIL NiPGetServByName: 'sapgw00' not found\nSYSTEM CALL getaddrinfo\nCOUNTER 1\n\nRETURN CODE: 20"
}
}
}
}
}
Opsi 1: Dalam koneksi API dan konfigurasi pemicu Anda, ganti nama layanan gateway Anda dengan nomor portnya. Dalam contoh kesalahan,
sapgw00
perlu diganti dengan nomor port nyata, misalnya3300
.Opsi 2: Jika Anda menggunakan gateway data di tempat, Anda dapat menambahkan nama layanan gateway ke pemetaan port
%windir%\System32\drivers\etc\services
dan kemudian memulai ulang layanan gateway data di tempat, misalnya:sapgw00 3300/tcp
Anda mungkin mendapatkan kesalahan serupa ketika server Aplikasi SAP atau nama server Pesan diselesaikan ke alamat IP. Untuk gateway data di tempat, Anda dapat menambahkan nama ke pemetaan alamat IP di %windir%\System32\drivers\etc\hosts
, misalnya:
10.0.1.9 SAPDBSERVER01 # SAP System Server VPN IP by computer name
10.0.1.9 SAPDBSERVER01.someguid.xx.xxxxxxx.cloudapp.net # SAP System Server VPN IP by fully qualified computer name
Kesalahan saat mengirim paket IDoc dari SAP ke pemicu Anda
Jika Anda tidak dapat mengirim paket IDoc dari SAP ke pemicu Anda, tinjau pesan penolakan panggilan Transactional RFC (tRFC) dalam kotak dialog SAP tRFC (T-Code SM58). Di antarmuka SAP, Anda mungkin mendapatkan pesan kesalahan berikut, yang diklip karena batas substring pada bidang Teks Status.
Definisi segmen atau grup E2EDK36001 tidak ditemukan dalam meta IDoc
Pesan kesalahan ini berarti kegagalan yang diharapkan terjadi dengan kesalahan lain. Misalnya, kegagalan menghasilkan payload XML IDoc karena segmennya tidak dirilis oleh SAP. Akibatnya, metadata jenis segmen yang diperlukan untuk konversi hilang.
Agar segmen ini dirilis oleh SAP, hubungi teknis ABAP untuk sistem SAP Anda.
RequestContext di IReplyChannel ditutup tanpa balasan yang dikirim
Untuk konektor terkelola SAP, pesan kesalahan ini berarti kegagalan tak terduga terjadi ketika handler catch-all untuk saluran menghentikan saluran karena kesalahan, dan membangun kembali saluran untuk memproses pesan lain.
Catatan
Pemicu yang dikelola SAP adalah pemicu webhook yang menggunakan adaptor SAP berbasis SOAP. Namun, pemicu bawaan SAP adalah pemicu berbasis Azure Functions yang tidak menggunakan adaptor SAP SOAP dan tidak mendapatkan pesan kesalahan ini.
Untuk mengakui bahwa alur kerja Anda menerima IDoc, tambahkan tindakan Respons yang mengembalikan kode status OK 200. Biarkan isi kosong dan jangan ubah atau tambahkan ke header. IDoc dipindah melalui tRFC, yang tidak memungkinkan untuk payload respons.
Untuk menolak IDoc sebagai gantinya, tanggapi dengan kode status HTTP selain 200 OK. Adapter SAP kemudian menampilkan pengecualian kembali ke SAP atas nama Anda. Anda seharusnya hanya menolak IDoc untuk memberi sinyal kesalahan transportasi kembali ke SAP, seperti IDoc yang salah rute sehingga aplikasi Anda tidak dapat memprosesnya. Anda tidak boleh menolak IDoc untuk kesalahan tingkat aplikasi, seperti masalah dengan data yang terkandung dalam IDoc. Jika Anda menunda penerimaan transportasi untuk validasi tingkat aplikasi, Anda mungkin mengalami performa negatif karena memblokir koneksi Anda karena pemindahan IDoc lain.
Jika Anda menerima pesan kesalahan ini dan mengalami kegagalan sistemik saat memanggil Azure Logic Apps, periksa apakah Anda telah mengonfigurasi pengaturan jaringan untuk layanan gateway data lokal untuk lingkungan spesifik Anda. Misalnya, jika lingkungan jaringan Anda memerlukan penggunaan proksi untuk memanggil titik akhir Azure, Anda perlu mengonfigurasi layanan gateway data lokal Anda untuk menggunakan proksi Anda. Untuk informasi selengkapnya, tinjauKonfigurasi Proksi.
Jika Anda menerima pesan kesalahan ini dan mengalami kegagalan terputus-terputus memanggil Azure Logic Apps, Anda mungkin perlu meningkatkan jumlah coba lagi atau juga mencoba kembali interval dengan mengikuti langkah-langkah berikut:
Periksa pengaturan SAP di file konfigurasi layanan gateway data lokal Anda bernama Microsoft.PowerBI.EnterpriseGateway.exe.config.
Di bawah simpul akar
configuration
, tambahkan elemenconfigSections
, jika tidak ada.Di bawah simpul
configSections
, tambahkansection
elemen dengan atribut berikut, jika tidak ada:name="SapAdapterSection" type="Microsoft.Adapters.SAP.Common.SapAdapterSection, Microsoft.Adapters.SAP.Common"
Penting
Jangan ubah atribut pada elemen
section
yang ada, jika elemen tersebut sudah ada.Elemen
configSections
Anda terlihat seperti versi berikut ini, jika tidak terdapat bagian atau grup bagian lainnya yang dideklarasikan dalam konfigurasi layanan gateway:<configSections> <section name="SapAdapterSection" type="Microsoft.Adapters.SAP.Common.SapAdapterSection, Microsoft.Adapters.SAP.Common"/> </configSections>
Di bawah simpul akar
configuration
, tambahkan elemenSapAdapterSection
, jika tidak ada.Di bawah simpul
SapAdapterSection
, tambahkanBroker
elemen dengan atribut berikut, jika tidak ada:WebhookRetryDefaultDelay="00:00:00.10" WebhookRetryMaximumCount="2"
Penting
Ubah atribut untuk elemen
Broker
, bahkan jika elemen sudah ada.Elemen
SapAdapterSection
terlihat seperti versi berikut, jika tidak terdapat elemen atau atribut lain yang dideklarasikan dalam konfigurasi adaptor SAP:<SapAdapterSection> <Broker WebhookRetryDefaultDelay="00:00:00.10" WebhookRetryMaximumCount="2" /> </SapAdapterSection>
Pengaturan jumlah percobaan ulang terlihat seperti
WebhookRetryMaximumCount="2"
. Pengaturan interval coba lagi terlihat sepertiWebhookRetryDefaultDelay="00:00:00.10"
, dan format jangka waktunya adalahHH:mm:ss.ff
.
Catatan
Untuk informasi selengkapnya mengenai file konfigurasi, harap tinjau Skema file konfigurasi untuk .NET Framework.
Simpan perubahan Anda.
Jika Anda menggunakan gateway data lokal, mulai ulang gateway Anda.