Panggilan Fungsi Jarak Jauh (RFC) masuk SAP Tutorial

Apa itu RFC?

RFC adalah mekanisme yang memungkinkan aplikasi bisnis untuk berkomunikasi dan bertukar informasi (dalam format yang telah ditentukan sebelumnya) dengan sistem lain. RFC adalah singkatan dari 'Panggilan Fungsi Jarak Jauh'

RFC terdiri dari dua antarmuka:

  1. Antarmuka panggilan untuk Program ABAP
  2. Antarmuka panggilan untuk Non-SAP program.

Apa saja program ABAP dapat memanggil fungsi jarak jauh menggunakan FUNGSI PANGGILAN…TUJUAN penyataan. NS TUJUAN parameter memberitahu SAP Sistem yang fungsi yang dipanggil berjalan di sistem selain pemanggil.

Sintaksis-

CALL FUNCTION 'remotefunction'

DESTINATION dest

EXPORTING f1 =

IMPORTING f2 =

TABLES t1 =

EXCEPTIONS

Tujuan Logis ditentukan melalui transaksi SM59 dan disimpan dalam Tabel RFCDES

Fungsi antarmuka RFC

  • Mengubah semua data parameter menjadi representasi yang diperlukan dalam sistem jarak jauh
  • Memanggil rutinitas komunikasi diperlukan untuk berbicara dengan sistem jarak jauh.
  • Menangani kesalahan komunikasi, dan memberi tahu penelepon, jika diinginkan (menggunakan parameter PENGECUALIAN dari FUNGSI PANGGILAN).

Fungsi Antarmuka RFC

RFC adalah SAP protokol untuk menangani komunikasi antar sistem untuk menyederhanakan pemrograman terkait. Ini adalah proses pemanggilan modul fungsi yang berada di mesin berbeda dari program pemanggil. RFC juga dapat digunakan untuk memanggil program berbeda pada mesin yang sama, tetapi biasanya digunakan ketika modul/program fungsi 'memanggil' dan 'memanggil' dijalankan pada mesin yang berbeda.

Fungsi Antarmuka RFC

In SAP, Sistem Antarmuka RFC digunakan untuk mengatur koneksi RFC antar yang berbeda SAP sistem, dan juga antara a SAP dan eksternal (non-SAP) sistem.

Hal-hal yang Harus Diketahui Tentang RFC

  • SAP Menggunakan Protokol CPIC (Common Programming Interface for Communication) untuk mentransfer data antar Sistem. Dia SAP Protokol khusus. Panggilan Fungsi Jarak Jauh (RFC) adalah antarmuka komunikasi berdasarkan CPI-C, tetapi dengan lebih banyak fungsi dan lebih mudah digunakan oleh pemrogram aplikasi
  • Fungsi perpustakaan RFC mendukung bahasa pemrograman C dan Visual Basic (aktif Windows platform)
  • Koneksi RFC selalu dapat digunakan di seluruh sistem. Ini berarti koneksi RFC yang Anda tentukan di klien 000 juga dapat digunakan dari klien 100 (tanpa perbedaan apa pun).
  • RFC adalah protokol untuk memanggil subrutin khusus (modul fungsi) melalui jaringan. Modul fungsi sebanding dengan fungsi C atau prosedur PASCAL. Mereka memiliki antarmuka yang ditentukan melalui mana data, tabel, dan kode pengembalian dapat dipertukarkan. Modul fungsi dikelola dalam Sistem R/3 di pustaka fungsinya sendiri, yang disebut Pembangun Fungsi.
  • Function Builder (transaksi SE37) menyediakan lingkungan yang berguna bagi pemrogram aplikasi untuk pemrograman, pendokumentasian, dan pengujian modul fungsi yang dapat dipanggil secara lokal maupun jarak jauh. Sistem R/3 secara otomatis menghasilkan kode tambahan (rintisan RFC) yang diperlukan untuk panggilan jarak jauh.
  • Anda mempertahankan parameter untuk koneksi RFC menggunakan transaksi SM59. Sistem R/3 juga dilengkapi dengan RFC-SDK (Software Development Kit) yang menggunakan perpustakaan C yang luas untuk memungkinkan program eksternal dihubungkan ke Sistem R/3.
  • Satu-satunya perbedaan antara panggilan jarak jauh modul fungsi ke server lain dan panggilan lokal adalah parameter khusus (tujuan) yang menentukan server target di mana program akan dijalankan.

Keuntungan RFC

RFC membantu mengurangi upaya pemrogram, dengan membiarkan mereka menghindari pengembangan kembali modul dan metode pada sistem jarak jauh. Ia cukup mampu untuk:

  • Ubah data ke dalam format yang dapat dimengerti oleh sistem jarak jauh (target).
  • Ubah data ke dalam format yang dapat dimengerti oleh sistem jarak jauh (target).
  • Memanggil rutinitas tertentu yang diperlukan untuk memulai komunikasi dengan sistem jarak jauh.
  • Menangani kesalahan yang mungkin terjadi dalam proses komunikasi.

Jenis RFC

Jenis RFC

Synchonous

Mengharuskan kedua sistem (klien dan server) tersedia pada saat komunikasi atau transfer data. Ini adalah tipe yang paling umum dan diperlukan ketika hasilnya diperlukan segera setelah eksekusi sRFC.

sRFC adalah sarana komunikasi antar sistem yang memerlukan pengakuan. Sumber daya Sistem Sumber menunggu sistem target dan memastikan bahwa mereka mengirimkan pesan/data dengan ACKD. Data konsisten dan dapat diandalkan untuk komunikasi.

Masalahnya adalah jika sistem target tidak tersedia, sumber daya sistem sumber menunggu hingga sistem target tersedia. Hal ini dapat menyebabkan Proses sistem sumber masuk ke Mode Tidur/RFC/CPIC pada sistem target dan karenanya memblokir sumber daya ini.

Digunakan untuk

  • Untuk komunikasi antar sistem
  • Untuk komunikasi antar SAP Server Aplikasi Web ke SAP GUI

Asinkron

Ini adalah komunikasi antar sistem di mana pengakuan tidak diperlukan (mirip dengan pengiriman kartu pos). Ini tidak mengharuskan kedua sistem tersedia pada saat eksekusi dan hasilnya tidak harus segera dikirim kembali ke sistem pemanggil .

Sumber daya Sistem Sumber tidak menunggu sistem target saat mereka mengirimkan pesan/data tanpa menunggu pengakuan apa pun. Hal ini tidak dapat diandalkan untuk komunikasi karena data mungkin hilang jika sistem target tidak tersedia. Digunakan untuk -

  • Untuk komunikasi antar sistem
  • Untuk pemrosesan paralel

Transaksional

Ini adalah bentuk khusus dari aRFC. RFC Transaksional memastikan penanganan langkah-langkah pemrosesan seperti transaksi yang awalnya bersifat otonom.

RFC Transaksional adalah metode komunikasi asinkron yang mengeksekusi modul fungsi yang dipanggil di server RFC hanya sekali, meskipun data dikirim beberapa kali karena beberapa masalah jaringan. Sistem jarak jauh tidak perlu tersedia pada saat program klien RFC mengeksekusi tRFC. Komponen tRFC menyimpan fungsi RFC yang dipanggil, bersama dengan data terkait, di SAP basis data dengan ID transaksi unik (TID). tRFC mirip dengan aRFC karena tidak menunggu di sistem target (Mirip dengan pos terdaftar). Jika sistem tidak tersedia, sistem akan menulis Data ke dalam Tabel aRFC dengan ID transaksi (SM58) yang dipilih oleh penjadwal RSARFCSE (yang berjalan setiap 60 detik). Digunakan untuk-

  • Perpanjangan RFC Asinkron
  • Untuk komunikasi yang aman antar sistem

antri

RFC yang antri adalah perpanjangan dari tRFC. Hal ini juga memastikan bahwa setiap langkah diproses secara berurutan. Untuk menjamin beberapa LUW (Unit Kerja Logis/Transaksi) diproses sesuai urutan yang ditentukan oleh aplikasi. tRFC dapat diserialkan menggunakan antrian (antrian masuk dan keluar). Oleh karena itu nama antrian RFC (qRFC). Digunakan untuk-

  • Perpanjangan RFC Transaksional
  • Untuk urutan pemrosesan yang ditentukan
  • Penerapan qRFC disarankan jika Anda ingin menjamin bahwa beberapa transaksi diproses dalam urutan yang telah ditentukan.

Jenis Koneksi RFC

Jenis Koneksi RFC

Ketik 3 – entri menentukan hubungan antara sistem ABAP. Di sini, kita harus menentukan nama host/alamat IP. Namun Anda dapat menentukan informasi masuk jika diinginkan. Hal ini berlaku untuk kedua jenis RFC, antara sistem ABAP dan panggilan eksternal ke sistem ABAP

Tipe I – entri menentukan sistem ABAP yang terhubung ke database yang sama dengan sistem saat ini. Entri ini sudah ditentukan sebelumnya dan tidak dapat diubah. Contoh nama entri: ws0015_K18_24

  • ws0015=nama host
  • K18=nama sistem (nama basis data)
  • 24=Nama layanan TCP

Tipe T – tujuan adalah koneksi ke program eksternal yang menggunakan RFC API untuk menerima RFC. Jenis aktivasi dapat berupa Mulai atau Registrasi. Jika Start, Anda harus menentukan nama host dan nama jalur program yang akan dimulai.

Bagaimana Cara Membuat Kode RFC?

1) Di tab atribut modul fungsi (kode transaksi SE37), atur jenis pemrosesan sebagai Modul yang diaktifkan jarak jauh untuk membuat modul fungsi jarak jauh.

Cara Membuat Kode RFC

2) Tulis kode untuk modul fungsi.

Cara Membuat Kode RFC

3) Tentukan tujuan server RFC di sistem klien RFC yang memanggil fungsi jarak jauh (melalui transaksi SM59).

Cara Membuat Kode RFC

4) Mendeklarasikan Parameter: Semua kolom parameter untuk modul fungsi jarak jauh harus didefinisikan sebagai kolom referensi, seperti kolom Kamus ABAP.

5) Pengecualian: Sistem memunculkan COMMUNICATION_FAILURE dan SYSTEM_FAILURE secara internal. Anda dapat memunculkan pengecualian dalam fungsi jarak jauh seperti yang Anda lakukan pada fungsi yang dipanggil secara lokal.

Men-debug Panggilan Fungsi Jarak Jauh

  • Hal ini tidak mungkin untuk di-debug panggilan fungsi jarak jauh ke sistem lain.
  • Namun, saat menguji panggilan RFC ABAP-ke-ABAP, Anda dapat menggunakan debugger ABAP untuk memantau pelaksanaan fungsi RFC di sistem jarak jauh.
  • Dengan panggilan jarak jauh, debugger ABAP (termasuk antarmuka debugging) berjalan di sistem lokal. Nilai data dan informasi proses lainnya untuk fungsi jarak jauh diteruskan dari sistem jarak jauh.