Perspektif SAP ABAP untuk Programmer Pemula

SAP ABAP menjadi bahasa pemograman yang tak asing bagi saya karena saya sudah menggelutinya selama hampir 8 tahun. Namun jujur awalnya sebelum berkecimpung di bidang ini saya bahkan tidak tahu apa itu SAP. Didasarkan atas kebutuhan mempunyai pendapatan sendiri dan minat atas bidang pemograman saya mendaftarkan diri pada bidang SAP ABAP dan Alhamdulillah bidang ini menjadi mata pencaharian saya hingga sekarang.

Secuil informasi yang saya gali saat melamar di bidang ini adalah SAP ABAP adalah bahasa pemograman SAP. Setelah mendalaminya, ternyata ada perbedaan perspektif yang saya rasakan antara SAP ABAP dengan bahasa pemograman lain (waktu itu saya terbiasa dengan bahasa pemograman PHP dan JAVA). Melalui tulisan ini saya mencoba sharing informasi yang mungkin berguna bagi individu yang hendak berkecimpung di bidang SAP ABAP karena adanya perbedaan perspektif tadi.

DISCLAIMER: Durasi saya menggeluti bidang ini tidak semerta-merta menjadi tolak ukur keahlian atau pemahaman saya tentang SAP ABAP. Tulisan saya hanya refleksi pengamatan yang tentunya bisa berbeda atau bahkan keliru. Any input regarding this is welcome :)

Apa itu SAP ABAP?

Secara sederhana, SAP ABAP itu adalah bahasa pemograman, sebagaimana bahasa pemograman lain yang mungkin lebih dikenal seperti Java, Python, PHP, Javascript, dan lain-lain. Namun, hal yang membedakan antara SAP ABAP dengan bahasa pemograman lain adalah ABAP digunakan khusus untuk mengembangkan program atau software SAP.

Seiring berkembangnya waktu, memang SAP sudah banyak menghasilkan berbagai produk yang pengembangannya tidak lagi sepenuhnya bergantung dengan ABAP. Namun ABAP sendiri sampai sekarang masih terus relevan karena fungsionalitas inti dari SAP bahkan core SAP sebagai software sendiri dibangun oleh serangkaian program-program dengan bahasa pemograman ABAP. Jika diilustrasikan, kira-kira begini:

SAP ABAP sebagai Bahasa Pemograman

Seperti penjabaran di atas, ABAP adalah bahasa pemograman yang digunakan pada SAP dimana SAP sendiri adalah produk digital atau software yang ready-to-use. Oleh karena itu tanpa adanya andil tambahan dari programmer SAP ABAP pun, SAP sudah bisa digunakan dengan fungsi-fungsi standar (default mode). Namun jika semua pengguna puas dengan ini, tentu tidak dibutuhkan lagi jasa programmer SAP ABAP.

Ya, kenyataannya pengguna atau client punya preferensi sendiri bagaimana mereka menggunakan SAP sesuai kebutuhan dan proses bisnis mereka. Ada yang bisa menggunakan fungsi standar SAP, ada juga yang tidak atau mungkin perlu ada penambahan dari fungsi standar. Di sinilah peran SAP ABAP agar bisa membuat program SAP baru atau melakukan penambahan-penambahan terhadap fungsionalitas standar yang telah disediakan.

Fokus ke “R” Bukan “CRUD”

Istilah CRUD tentunya tidak asing bagi yang sudah menggeluti bahasa pemograman lain yang berkaitan dengan sistem berbasis data. Create, Read, Update, dan Delete adalah inti dari mayoritas software. Oleh karena itu setelah mempelajari dasar-dasar sintaks bahasa pemograman, cara melakukan CRUD -lah hal berikutnya yang biasanya dipelajari. Biasanya fungsi CRUD ini erat pula kaitannya dengan SQL atau query language.

Sesuai penjelasan singkat di atas, SAP secara keseluruhan sudah dilengkapi dengan fungsionalitas-fungsionalitas standar. Hal ini meliputi database, program, data, tabel, dan lain-lain. Oleh karena itu, sebagai programmer SAP ABAP pemula, sebaiknya kita fokus kepada Read pada CRUD saja. Hal ini dikarenakan aksi Create, Update, atau Delete tergolong mempunyai risiko yang lebih tinggi pada pemula. Ini didasari oleh database atau table yang sudah terisi oleh data-data secara default yang berkaitan satu sama lain (relationship antar table). Penambahan, perubahan, atau bahkan penghapusan data dapat berakibat fatal pada kekonsistenan SAP secara keseluruhan.

Note: Di SAP kita juga dapat membuat Table sendiri (di luar standar). Saran ini tidak berlaku untuk skenario ini karena interaksi kita kepada table custom ini tidak akan berujung kepada inkonsistensi fungsionalitas standar SAP. Oleh karena itu CRUD bebas dilakukan.

Apa yang Bisa Dibangun Hanya Dengan “R” ?

Setelah perspektif atau mindset difokuskan ke Read saja, maka hal berikutnya mempelajari apa saja yang bisa dibangun dengan Read data. Hal termudah tentunya menggunakan query dan menampilkan datanya di screen. Namun bentuk output sederhana lainnya yang sudah bisa digolongkan sebagai finish product adalah menampilkan data dalam bentuk Report seperti gambar di bawah menggunakan fungsi standar atau library bernama ALV.

Source: https://www.saphub.com/wp-content/uploads/2012/02/create-simple-abap-alv-1.png

Selain sebagai Report, ada banyak lagi opsi output yang dapat dikembangkan untuk menampilkan data bagi programmer ABAP pemula. Beberapa diantaranya adalah:

  1. Form, salah satunya dengan fungsi standar atau library Smartform. Outputnya berupa form atau data dalam bentuk cetak (printout).
  2. Conversion, salah satunya dengan fungsi atau library ABAP2XLSX (jika berhubungan dengan Excel file). Outputnya berupa file (Excel file, txt file, atau yang lainnya) yang intinya mengkonversi data dari SAP menjadi bentuk yang lain.

Saya sama sekali tidak melarang programmer SAP ABAP pemula untuk sekaligus explore CRUD dengan table-table standar SAP, hanya saja tentunya harus dengan kehati-hatian yang lebih. Demi menjaga kekonsistenan, dalam SAP ABAP tersedia fungsi atau library khusus yang berkaitan dengan Create, Update dan Delete sesuai data di table standar masing-masing. Library ini biasanya dalam wujud yang bernama BAPI atau Function Module. Cara ini lebih aman dibandingkan dengan command query biasa, berbeda halnya dengan Read.

Semoga tulisan ini dapat membantu calon programmer ABAP. Saran dan masukan dipersilahkan di kolom komentar.

Happy Coding!

--

--

Indonesian. A Dad. SAP ABAP Developer. Geek. Meme Ehthusiast. Creator of https://www.instagram.com/sapabap101/; Profile card https://adityaaufar.netlify.app

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store