SAP Tutorial BAPI – Cara Membuat BAPI di ABAP

⚡ Ringkasan Cerdas

BAPI di SAP ABAP adalah metode terstandarisasi dan berkemampuan RFC untuk objek bisnis yang memungkinkan aplikasi eksternal mengakses proses dan data R/3. Halaman ini menjelaskan BAPI terstandarisasi, cara membuatnya di SWO1, pengujian, perilisan, dan cara memanggil BAPI dari ABAP.

  • 🔌 Definisi Inti: Antarmuka Pemrograman Aplikasi Bisnis (Business Application Programming Interface/BPI) adalah metode stabil yang memberikan akses standar kepada sistem eksternal. SAP proses bisnis dan data.
  • Repositori Objek Bisnis: BAPI didefinisikan dalam BOR sebagai metode dari tipe objek bisnis dan diimplementasikan sebagai modul fungsi yang diaktifkan RFC.
  • 📚 BAPI yang terstandarisasi: GetList, GetDetail, Create, Change, Delete, dan varian Multiple menyediakan metode baca, tulis, dan pemrosesan massal yang dapat digunakan kembali.
  • Penciptaan: BAPI dibangun di transaksi SWO1 dengan menambahkan metode API yang mengarah ke modul fungsi yang mendukung RFC.
  • Uji dan Rilis: Metode tersebut diuji di Business Object Builder atau SWUD, kemudian dirilis dengan merilis modul fungsi dan mengatur status metode.
  • 📞 Memanggil BAPI: Program ABAP memanggil modul fungsi dan kemudian melakukan commit dengan BAPI_TRANSACTION_COMMIT, karena BAPI tidak melakukan commit dengan sendirinya.

Cara Membuat BAPI di SAP ABAP

Apa itu BAPI?

Antarmuka Pemrograman Aplikasi Bisnis (BAPI) adalah antarmuka pemrograman (metode) standar yang memungkinkan aplikasi eksternal mengakses proses bisnis dan data dalam Sistem R/3.

Mereka menyediakan metode yang stabil dan terstandarisasi untuk mencapai integrasi yang mulus antara Sistem R/3 dan aplikasi eksternal, sistem lama, dan add-on.

BAPI didefinisikan dalam BOR (Repositori objek bisnis) sebagai metode SAP Tipe objek bisnis yang menjalankan fungsi bisnis tertentu. Objek-objek ini diimplementasikan sebagai berikut: Fungsi berkemampuan RFC modul dan dibuat di Pembuat Fungsi di Meja Kerja ABAP.

Beberapa BAPI dan metode menyediakan fungsi dasar dan dapat digunakan untuk sebagian besar orang SAP Objek Bisnis. Ini disebut BAPI TERSTANDARDISASI.

Daftar BAPI Terstandar:

  • BAPI untuk Membaca Data – GetList() , GetDetail() , GetStatus() , ExistenceCheck()
  • BAPI untuk Membuat atau Mengubah Data- Create() ,Change(),Delete() dan Undelete() ,
  • BAPI untuk Pemrosesan Massal -ChangeMultiple(), CreateMultiple(), DeleteMultiple().

Keunggulan BAPI

BAPI lebih disukai daripada teknik berbasis layar karena merupakan antarmuka yang terdokumentasi dan dirilis. SAP Tetap stabil di setiap rilis. Hal ini memberikan beberapa manfaat praktis.

  • Antarmuka yang stabil: Tanda tangan BAPI yang telah dirilis tidak berubah saat dilakukan peningkatan versi, sehingga program yang memanggilnya tetap berfungsi.
  • Penggunaan kembali logika bisnis: BAPI menjalankan validasi yang sama seperti transaksi, sehingga data yang ditambahkan melaluinya tetap konsisten.
  • Akses jarak jauh diaktifkan: Karena BAPI adalah modul fungsi yang mendukung RFC, maka BAPI dapat dipanggil dari modul fungsi lain. SAP sistem, a Java atau program .NET, atau layanan web.
  • Tidak ada ketergantungan pada layar: Tidak seperti perekaman input batch, BAPI tidak akan rusak ketika tata letak layar berubah.

Setelah konsep dan manfaatnya jelas, bagian selanjutnya akan membangun BAPI langkah demi langkah.

Cara membuat BAPI

Langkah 1) Buka transaksi swo1 (Alat->Kerangka Bisnis -> Pengembangan BAPI -> Pembuat Objek Bisnis). Pilih objek bisnis, sesuai dengan persyaratan fungsional yang membuat BAPI dibuat.

Buat BAPI di ABAP

Langkah 2) Buka objek bisnis dalam mode perubahan. Kemudian Pilih Utilitas -> Metode API -> Tambahkan metode. Kemudian masukkan nama modul fungsi dan pilih Lanjutkan.

Buat BAPI di ABAP

Langkah 3) Pada kotak dialog berikutnya, informasi berikut perlu ditentukan:

  • Metode : Sarankan nama yang sesuai untuk metode tersebut,
  • Teks : Masukkan deskripsi untuk BAPI,
  • Tombol radio : Dialog, Synckronik, Tidak bergantung pada instans. BAPI biasanya diimplementasikan secara sinkron.

Buat BAPI di ABAP

Langkah 4) Untuk membuat metode pilih Ya di kotak dialog berikutnya.

Buat BAPI di ABAP

Langkah 5) Setelah program dibuat dan dieksekusi, periksa program pada metode yang baru saja dibuat. Dengan demikian, BAPI dibuat.

Buat BAPI di ABAP

Menguji BAPI

Anda dapat menguji BAPI dengan pengujian metode individual Objek Bisnis di Pembuat Objek Bisnis. (atau seseorang dapat menggunakan transaksi 'SWUD' untuk menguji metode ini).

Melepaskan dan membekukan BAPI

  • Untuk melepaskan BAPI, pertama lepaskan modul fungsi (menggunakan transaksi se37).
  • Tetapkan status metode menjadi 'dirilis' di Business Object Builder (menggunakan transaksi SWO1 – Edit-> ubah status-> dirilis. )

Anda juga dapat menggunakan BAPI Explorer (Kode Transaksi BAPI) untuk tampilan 360′ di BAPI

Cara Memanggil BAPI di ABAP

BAPI dipanggil seperti modul fungsi berkemampuan RFC lainnya. Aturan pentingnya adalah BAPI tidak pernah mengeluarkan perintah COMMIT WORK sendiri, sehingga pemanggil harus mengkonfirmasi perubahan dengan BAPI_TRANSACTION_COMMIT, atau membatalkannya dengan BAPI_TRANSACTION_ROLLBACK. Contoh di bawah ini membuat pesanan penjualan dengan BAPI standar.

DATA: ls_header  TYPE bapisdhd1,
      lt_items   TYPE STANDARD TABLE OF bapisditm,
      lt_return  TYPE STANDARD TABLE OF bapiret2,
      lv_order   TYPE vbeln.

* Fill the header and item structures, then call the BAPI
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
  EXPORTING
    order_header_in = ls_header
  IMPORTING
    salesdocument   = lv_order
  TABLES
    order_items_in  = lt_items
    return          = lt_return.

* A BAPI does not commit on its own - decide based on the return table
READ TABLE lt_return WITH KEY type = 'E' TRANSPORTING NO FIELDS.
IF sy-subrc = 0.
  CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ELSE.
  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
      wait = 'X'.
ENDIF.

⚠️ Peringatan: Selalu periksa tabel RETURN untuk pesan bertipe E atau A sebelum melakukan commit. Memanggil BAPI_TRANSACTION_COMMIT setelah terjadi kesalahan akan menyimpan dokumen yang tidak lengkap, yang merupakan salah satu kesalahan BAPI yang paling umum.

BAPI vs BDC vs RFC

BAPI, sebuah BDC, dan RFC biasa semuanya memindahkan data ke SAPNamun, keduanya berbeda dalam hal stabilitas dan apa yang mereka gunakan kembali. Tabel di bawah ini membandingkannya.

Kriteria BAPI BDC RFC (kustom)
Antarmuka Metode yang dirilis dari sebuah objek bisnis Urutan tampilan layar suatu transaksi Modul fungsi kustom apa pun
Stabilitas saat peningkatan Dijamin untuk BAPI yang dirilis Akan error jika layar berubah. Tergantung pada pengembangnya
Akses jarak jauh diaktifkan Ya Tidak Ya
Validasi bisnis Lengkap, sama seperti transaksi. Penuh, menampilkan layar sebenarnya Hanya apa yang dikodekan oleh pengembang.
Terbaik untuk Integrasi dan antarmuka yang stabil Muatan yang tidak memiliki BAPI. Layanan titik ke titik khusus

Aturan umumnya adalah menggunakan BAPI yang sudah dirilis jika ada, beralih ke BDC jika tidak ada, dan menyimpan RFC kustom untuk layanan khusus.

Pertanyaan Umum Demo Slot

Sebuah BAPI melakukan pembaruan tetapi menyerahkan tugas COMMIT WORK kepada pemanggil, sehingga beberapa BAPI dapat digabungkan menjadi satu unit kerja logis. BAPI_TRANSACTION_COMMIT kemudian menyimpannya bersama-sama, menjagaping Data tersebut konsisten.

Tabel RETURN bertipe BAPIRET2 memuat pesan-pesan dari panggilan tersebut. Baris bertipe S berarti sukses, E berarti error, W berarti peringatan, dan A berarti pembatalan. Pemanggil membacanya untuk memutuskan apakah akan melakukan commit atau tidak.

Transaksi BAPI membuka BAPI Explorer, yang mencantumkan setiap objek bisnis dan metodenya beserta dokumentasi dan alat pengujian. SE37 juga menampilkan BAPI, karena setiap BAPI merupakan modul fungsi yang diaktifkan RFC.

Ya. Asisten AI dalam alat pengembangan ABAP menyarankan BAPI standar untuk objek bisnis, dan menyusun peta parameter.ping, dan menambahkan commit dan penanganan error. Pengembang mengkonfirmasi field dan menguji panggilan tersebut.

Ya. Banyak layanan OData dan integrasi AI menggunakan BAPI di bawahnya, karena BAPI tersebut sudah membawa logika bisnis. Lapisan yang lebih baru menambahkan akses REST dan pemrosesan bahasa alami di atas antarmuka BAPI yang sudah stabil.

Ringkaslah postingan ini dengan: