SAP ABAP - Modul Fungsi
Modul fungsi merupakan bagian utama dari sistem SAP, karena selama bertahun-tahun SAP telah memodulasi kode menggunakan modul fungsi, memungkinkan kode digunakan kembali, oleh mereka sendiri, oleh pengembang mereka dan juga oleh pelanggan mereka.
Modul fungsi adalah sub-program yang berisi sekumpulan pernyataan yang dapat digunakan kembali dengan parameter impor dan ekspor. Tidak seperti program Include, modul fungsi dapat dijalankan secara independen. Sistem SAP berisi beberapa modul fungsi yang telah ditentukan yang dapat dipanggil dari program ABAP apa pun. Grup fungsi bertindak sebagai semacam wadah untuk sejumlah modul fungsi yang secara logis akan dimiliki bersama. Misalnya, modul fungsi untuk sistem penggajian SDM akan disatukan ke dalam grup fungsi.
Untuk melihat cara membuat modul fungsi, pembuat fungsi harus dieksplorasi. Anda dapat menemukan pembuat fungsi dengan kode transaksi SE37. Cukup ketikkan bagian dari nama modul fungsi dengan karakter wild card untuk mendemonstrasikan cara mencari modul fungsi. Ketik * jumlah * lalu tekan tombol F4.
Hasil pencarian akan ditampilkan di jendela baru. Modul fungsi ditampilkan dalam garis dengan latar belakang biru dan grup fungsinya dalam garis merah muda. Anda dapat melihat lebih jauh pada grup fungsi ISOC dengan menggunakan layar Object Navigator (Transaction SE80). Anda dapat melihat daftar modul fungsi dan juga objek lain yang disimpan di grup fungsi. Mari kita pertimbangkan modul fungsi SPELL_AMOUNT. Modul fungsi ini mengubah angka menjadi kata-kata.
Membuat Program Baru
Step 1 - Buka transaksi SE38 dan buat program baru bernama Z_SPELLAMOUNT.
Step 2- Masukkan beberapa kode sehingga parameter dapat diatur di mana nilai dapat dimasukkan dan diteruskan ke modul fungsi. Elemen teks text-001 di sini berbunyi 'Masukkan Nilai'.
Step 3- Untuk menulis kode ini, gunakan CTRL + F6. Setelah ini, jendela akan muncul di mana 'CALL FUNCTION' adalah opsi pertama dalam daftar. Masukkan 'spell_amount' di kotak teks dan klik tombol lanjutkan.
Step 4- Beberapa kode dibuat secara otomatis. Tapi kita perlu meningkatkan pernyataan IF untuk memasukkan kode untuk MENULIS pesan ke layar untuk mengatakan "Modul fungsi mengembalikan nilai: sy-subrc” dan menambahkan pernyataan ELSE untuk menulis hasil yang benar saat fungsi modul berhasil. Di sini, variabel baru harus disiapkan untuk menampung nilai yang dikembalikan dari modul fungsi. Mari kita sebut ini sebagai 'hasil'.
Berikut adalah kodenya -
REPORT Z_SPELLAMOUNT.
data result like SPELL.
selection-screen begin of line.
selection-screen comment 1(15) text-001.
parameter num_1 Type I.
selection-screen end of line.
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
AMOUNT = num_1
IMPORTING
IN_WORDS = result.
IF SY-SUBRC <> 0.
Write: 'Value returned is:', SY-SUBRC.
else.
Write: 'Amount in words is:', result-word.
ENDIF.
Step 5- Variabel yang dikembalikan oleh modul fungsi disebut IN_WORDS. Siapkan variabel terkait dalam program yang disebut 'hasil'. Definisikan IN_WORDS dengan menggunakan pernyataan LIKE untuk merujuk ke struktur yang disebut SPELL.
Step 6- Simpan, aktifkan dan jalankan program. Masukkan nilai seperti yang ditunjukkan pada tangkapan layar berikut dan tekan F8.
Kode di atas menghasilkan keluaran sebagai berikut -
Spelling the Amount
Amount in words is:
FIVE THOUSAND SIX HUNDRED EIGHTY