{"id":3622,"date":"2025-09-22T23:20:04","date_gmt":"2025-09-22T16:20:04","guid":{"rendered":"https:\/\/www.linuxid.net\/istilah\/?p=3622"},"modified":"2025-09-22T23:20:04","modified_gmt":"2025-09-22T16:20:04","slug":"sap-bapi-business-application-programming-interface","status":"publish","type":"post","link":"https:\/\/www.linuxid.net\/istilah\/sap-bapi-business-application-programming-interface\/","title":{"rendered":"SAP BAPI (Business Application Programming Interface)"},"content":{"rendered":"<p>SAP BAPI (Business Application Programming Interface) adalah antarmuka standar untuk business object model di produk <a href=\"https:\/\/www.linuxid.net\/istilah\/SAP\/\">SAP<\/a>.<\/p>\n<p>BAPI adalah cara utama yang dipakai kode kustom maupun aplikasi pihak ketiga untuk berinteraksi dengan produk SAP. BAPI membungkus layer internal dari business object model SAP supaya semua business logic, validasi, dan pengecekan otorisasi tetap dijalankan dengan benar saat mengakses atau mengubah business object.<\/p>\n<h2>Bagaimana cara kerja BAPI<\/h2>\n<p>BAPI diimplementasikan sebagai function module yang memanggil kode internal SAP. Tergantung set BAPI yang dipakai, mereka bisa memanggil business object model yang didefinisikan lewat Business Objects Processing Framework (BOPF) atau model lama (legacy) yang berbasis program, tabel, dan function module.<\/p>\n<p>BAPI menyediakan antarmuka yang formal dan stabil, sehingga developer (baik dari customer maupun pihak ketiga) bisa mengakses business object SAP dengan cara yang dijamin SAP tetap kompatibel di masa depan. Memang bisa saja langsung akses tabel atau function module non-BAPI di SAP, tapi cara itu tidak dijamin akan tetap bekerja di masa depan, bahkan object-nya bisa saja hilang.<\/p>\n<p>Kalau pakai non-BAPI interface, bisa muncul masalah waktu upgrade, atau butuh patch tambahan kalau ada perubahan signature pada function module internal, sehingga kode yang bergantung padanya jadi invalid.<\/p>\n<h2>Penggunaan SAP BAPI<\/h2>\n<p>BAPI hanya boleh digunakan oleh developer (customer atau pihak ketiga) kalau statusnya sudah &#8220;released&#8221;, artinya SAP sudah menandainya siap dipakai dan dijamin stabil di masa depan. Status release bisa dicek lewat field <i>Released On<\/i> di atribut function module BAPI. Kalau field kosong, berarti BAPI itu belum dirilis dan sebaiknya tidak dipakai.<\/p>\n<p>Untuk menggunakan SAP BAPI di bahasa Advanced Business Application Programming (<a href=\"https:\/\/www.linuxid.net\/istilah\/ABAP\/\">ABAP<\/a>), developer bisa menggunakan statement <code>CALL FUNCTION<\/code> untuk memanggil function module (lihat screenshot 1). Alternatifnya, sebagian besar BAPI sudah remote-enabled, artinya bisa dipanggil lewat Remote Function Call (RFC), web services, atau SAP <a href=\"https:\/\/www.linuxid.net\/istilah\/Java\/\">Java<\/a> connector.<\/p>\n<figure class=\"main-article-image full-col\" data-img-fullsize=\"https:\/\/www.techtarget.com\/rms\/editorial\/sSAP_ABAP_call_function.png\/\"><img decoding=\"async\" class=\"lazy\" src=\"https:\/\/www.techtarget.com\/rms\/editorial\/sSAP_ABAP_call_function_mobile.png\" srcset=\"https:\/\/www.techtarget.com\/rms\/editorial\/sSAP_ABAP_call_function_mobile.png 960w,https:\/\/www.techtarget.com\/rms\/editorial\/sSAP_ABAP_call_function.png 1280w\" alt=\"ABAP CALL FUNCTION\" width=\"519\/\" height=\"242\" data-credit=\"Ethan Jewett\" \/><figcaption><i class=\"icon pictures\" data-icon=\"z\/\"><\/i>Screenshot penggunaan ABAP CALL FUNCTION untuk mengubah alamat<\/figcaption><div class=\"main-article-image-enlarge\/\"><\/div>\n<\/figure>\n<h2>Fitur SAP BAPI<\/h2>\n<p>Ada banyak BAPI yang bisa dipakai untuk otomatisasi penuh sebagian besar business process di setiap produk SAP berbasis ABAP. Dokumentasi setiap produk SAP biasanya menyertakan daftar BAPI yang tersedia. Alternatif lain, bisa juga cari function module yang prefix-nya &#8220;BAPI&#8221; lewat transaction code SE37 atau SE80 di SAP, atau via ABAP for <a href=\"https:\/\/www.linuxid.net\/istilah\/Eclipse-Eclipse-Foundation\/\">Eclipse<\/a>.<\/p>\n<p>Setiap function module BAPI harus punya dokumentasi detail dalam berbagai bahasa, bisa diakses lewat menu Function Module Documentation di SE37. Dokumentasi ini penting dibaca karena struktur dan perilaku tiap BAPI bisa sangat berbeda, dan kadang bisa error dengan pesan yang susah dimengerti kalau requirement-nya tidak terpenuhi.<\/p>\n<figure class=\"main-article-image full-col\" data-img-fullsize=\"https:\/\/www.techtarget.com\/rms\/editorial\/sSAP_BAPI_code.png\/\"><img decoding=\"async\" class=\"lazy\" src=\"https:\/\/www.techtarget.com\/rms\/editorial\/sSAP_BAPI_code_mobile.png\" srcset=\"https:\/\/www.techtarget.com\/rms\/editorial\/sSAP_BAPI_code_mobile.png 960w,https:\/\/www.techtarget.com\/rms\/editorial\/sSAP_BAPI_code.png 1280w\" alt=\"SAP BAPI code for changing an address\" width=\"519\/\" height=\"190\" data-credit=\"Ethan Jewett\" \/><figcaption><i class=\"icon pictures\" data-icon=\"z\/\"><\/i>Contoh kode BAPI untuk mengubah alamat<\/figcaption><div class=\"main-article-image-enlarge\/\"><\/div>\n<\/figure>\n<p>Banyak BAPI yang punya struktur kompleks untuk merepresentasikan business object. Misalnya BAPI untuk update alamat business partner (screenshot 2, sama dengan <code>CALL FUNCTION<\/code> di screenshot 1) biasanya punya banyak struktur <i>importing<\/i> dan parameter tabel untuk kirim data tambahan ke\/dari BAPI.<\/p>\n<p>Dua parameter penting di screenshot 2 adalah <code>ADDRESSDATA<\/code> dan <code>ADDRESSDATA_X<\/code>. Pola seperti ini umum di BAPI, di mana struktur dengan suffix <code>_X<\/code> berfungsi sebagai flag penanda field mana saja yang harus di-update.<\/p>\n<h2>Praktik penggunaan BAPI<\/h2>\n<p>Karena BAPI diimplementasikan sebagai function module, mereka tidak sepenuhnya cocok dengan paradigma <a href=\"https:\/\/www.linuxid.net\/istilah\/object-oriented-programming-OOP\/\">object-oriented programming (OOP)<\/a> di ABAP yang berbasis class, method, dan interface. Tapi pada praktiknya, BAPI tetap diorganisir dengan cara yang mirip OOP karena mereka bertindak sebagai interface ke business object SAP.<\/p>\n<p>Di ABAP, function module ini bisa dipanggil dari program, function module lain, atau class. Best practice-nya, BAPI biasanya dibungkus dalam <i>Data Access Object (DAO)<\/i>, yaitu class yang mengenkapsulasi pemanggilan BAPI. Dengan cara ini, developer bisa melakukan <a href=\"https:\/\/www.linuxid.net\/istilah\/unit-testing\/\">unit testing<\/a> pakai mock DAO, sehingga kode developer bisa dites terpisah dari pemanggilan BAPI-nya langsung.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>SAP BAPI (Business Application Programming Interface) adalah antarmuka standar untuk business object model di produk SAP. BAPI adalah cara utama yang dipakai kode kustom maupun aplikasi pihak ketiga untuk berinteraksi dengan produk SAP. BAPI membungkus layer internal dari business object model SAP supaya semua business logic, validasi, dan pengecekan otorisasi tetap dijalankan dengan benar saat [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[195],"class_list":["post-3622","post","type-post","status-publish","format-standard","hentry","category-business-software","tag-sap-development-and-programming-languages"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Apa itu SAP BAPI (Business Application Programming Interface)? - Istilah Komputer<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.linuxid.net\/istilah\/sap-bapi-business-application-programming-interface\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apa itu SAP BAPI (Business Application Programming Interface)? - Istilah Komputer\" \/>\n<meta property=\"og:description\" content=\"SAP BAPI (Business Application Programming Interface) adalah antarmuka standar untuk business object model di produk SAP. BAPI adalah cara utama yang dipakai kode kustom maupun aplikasi pihak ketiga untuk berinteraksi dengan produk SAP. BAPI membungkus layer internal dari business object model SAP supaya semua business logic, validasi, dan pengecekan otorisasi tetap dijalankan dengan benar saat [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.linuxid.net\/istilah\/sap-bapi-business-application-programming-interface\/\" \/>\n<meta property=\"og:site_name\" content=\"Istilah Komputer\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-22T16:20:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.techtarget.com\/rms\/editorial\/sSAP_ABAP_call_function_mobile.png\" \/>\n<meta name=\"author\" content=\"adhit\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Ditulis oleh\" \/>\n\t<meta name=\"twitter:data1\" content=\"adhit\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 menit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.linuxid.net\/istilah\/sap-bapi-business-application-programming-interface\/\",\"url\":\"https:\/\/www.linuxid.net\/istilah\/sap-bapi-business-application-programming-interface\/\",\"name\":\"Apa itu SAP BAPI (Business Application Programming Interface)? - Istilah Komputer\",\"isPartOf\":{\"@id\":\"https:\/\/linuxid.net\/istilah\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.linuxid.net\/istilah\/sap-bapi-business-application-programming-interface\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.linuxid.net\/istilah\/sap-bapi-business-application-programming-interface\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.techtarget.com\/rms\/editorial\/sSAP_ABAP_call_function_mobile.png\",\"datePublished\":\"2025-09-22T16:20:04+00:00\",\"author\":{\"@id\":\"https:\/\/linuxid.net\/istilah\/#\/schema\/person\/ec7c6c711087fb70886ff5a4fe68e83d\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.linuxid.net\/istilah\/sap-bapi-business-application-programming-interface\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.linuxid.net\/istilah\/sap-bapi-business-application-programming-interface\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.linuxid.net\/istilah\/sap-bapi-business-application-programming-interface\/#primaryimage\",\"url\":\"https:\/\/www.techtarget.com\/rms\/editorial\/sSAP_ABAP_call_function_mobile.png\",\"contentUrl\":\"https:\/\/www.techtarget.com\/rms\/editorial\/sSAP_ABAP_call_function_mobile.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.linuxid.net\/istilah\/sap-bapi-business-application-programming-interface\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/linuxid.net\/istilah\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SAP BAPI (Business Application Programming Interface)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/linuxid.net\/istilah\/#website\",\"url\":\"https:\/\/linuxid.net\/istilah\/\",\"name\":\"Istilah Komputer\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/linuxid.net\/istilah\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"id\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/linuxid.net\/istilah\/#\/schema\/person\/ec7c6c711087fb70886ff5a4fe68e83d\",\"name\":\"adhit\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/linuxid.net\/istilah\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.linuxid.net\/istilah\/wp-content\/litespeed\/avatar\/808829c8eb1b70c161b392916104c2ba.jpg?ver=1776588601\",\"contentUrl\":\"https:\/\/www.linuxid.net\/istilah\/wp-content\/litespeed\/avatar\/808829c8eb1b70c161b392916104c2ba.jpg?ver=1776588601\",\"caption\":\"adhit\"},\"sameAs\":[\"https:\/\/linuxid.net\/istilah\"],\"url\":\"https:\/\/www.linuxid.net\/istilah\/author\/xsandradietsax\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Apa itu SAP BAPI (Business Application Programming Interface)? - Istilah Komputer","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.linuxid.net\/istilah\/sap-bapi-business-application-programming-interface\/","og_locale":"id_ID","og_type":"article","og_title":"Apa itu SAP BAPI (Business Application Programming Interface)? - Istilah Komputer","og_description":"SAP BAPI (Business Application Programming Interface) adalah antarmuka standar untuk business object model di produk SAP. BAPI adalah cara utama yang dipakai kode kustom maupun aplikasi pihak ketiga untuk berinteraksi dengan produk SAP. BAPI membungkus layer internal dari business object model SAP supaya semua business logic, validasi, dan pengecekan otorisasi tetap dijalankan dengan benar saat [&hellip;]","og_url":"https:\/\/www.linuxid.net\/istilah\/sap-bapi-business-application-programming-interface\/","og_site_name":"Istilah Komputer","article_published_time":"2025-09-22T16:20:04+00:00","og_image":[{"url":"https:\/\/www.techtarget.com\/rms\/editorial\/sSAP_ABAP_call_function_mobile.png","type":"","width":"","height":""}],"author":"adhit","twitter_card":"summary_large_image","twitter_misc":{"Ditulis oleh":"adhit","Estimasi waktu membaca":"4 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.linuxid.net\/istilah\/sap-bapi-business-application-programming-interface\/","url":"https:\/\/www.linuxid.net\/istilah\/sap-bapi-business-application-programming-interface\/","name":"Apa itu SAP BAPI (Business Application Programming Interface)? - Istilah Komputer","isPartOf":{"@id":"https:\/\/linuxid.net\/istilah\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.linuxid.net\/istilah\/sap-bapi-business-application-programming-interface\/#primaryimage"},"image":{"@id":"https:\/\/www.linuxid.net\/istilah\/sap-bapi-business-application-programming-interface\/#primaryimage"},"thumbnailUrl":"https:\/\/www.techtarget.com\/rms\/editorial\/sSAP_ABAP_call_function_mobile.png","datePublished":"2025-09-22T16:20:04+00:00","author":{"@id":"https:\/\/linuxid.net\/istilah\/#\/schema\/person\/ec7c6c711087fb70886ff5a4fe68e83d"},"breadcrumb":{"@id":"https:\/\/www.linuxid.net\/istilah\/sap-bapi-business-application-programming-interface\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.linuxid.net\/istilah\/sap-bapi-business-application-programming-interface\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.linuxid.net\/istilah\/sap-bapi-business-application-programming-interface\/#primaryimage","url":"https:\/\/www.techtarget.com\/rms\/editorial\/sSAP_ABAP_call_function_mobile.png","contentUrl":"https:\/\/www.techtarget.com\/rms\/editorial\/sSAP_ABAP_call_function_mobile.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.linuxid.net\/istilah\/sap-bapi-business-application-programming-interface\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/linuxid.net\/istilah\/"},{"@type":"ListItem","position":2,"name":"SAP BAPI (Business Application Programming Interface)"}]},{"@type":"WebSite","@id":"https:\/\/linuxid.net\/istilah\/#website","url":"https:\/\/linuxid.net\/istilah\/","name":"Istilah Komputer","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/linuxid.net\/istilah\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"id"},{"@type":"Person","@id":"https:\/\/linuxid.net\/istilah\/#\/schema\/person\/ec7c6c711087fb70886ff5a4fe68e83d","name":"adhit","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/linuxid.net\/istilah\/#\/schema\/person\/image\/","url":"https:\/\/www.linuxid.net\/istilah\/wp-content\/litespeed\/avatar\/808829c8eb1b70c161b392916104c2ba.jpg?ver=1776588601","contentUrl":"https:\/\/www.linuxid.net\/istilah\/wp-content\/litespeed\/avatar\/808829c8eb1b70c161b392916104c2ba.jpg?ver=1776588601","caption":"adhit"},"sameAs":["https:\/\/linuxid.net\/istilah"],"url":"https:\/\/www.linuxid.net\/istilah\/author\/xsandradietsax\/"}]}},"_links":{"self":[{"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/posts\/3622","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/comments?post=3622"}],"version-history":[{"count":1,"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/posts\/3622\/revisions"}],"predecessor-version":[{"id":6263,"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/posts\/3622\/revisions\/6263"}],"wp:attachment":[{"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/media?parent=3622"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/categories?post=3622"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/tags?post=3622"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}