Bootcamp SAP ABAP #7

Hari ke-7 bootcamp. Sunyi banget hari ini, tapi tak pape, yang penting semuanya masuk dalam keadaan sehat wal’afiat. Pagi ini materi udah kerasa makin banyak. Masih ringan-ringan sih, tapi karena banyak jadi berat. Nah lo!

Koko masuk tepat waktu nih, jam 09.00. Ternyata tugas menampilkan item kemaren belom sepenuhnya kelar. Kata Koko mesti level item, sedangkan saya masih looping level sebiji-sebiji. Setelah diperbaiki ternyata jalan keluarnya cukup sederhana. VBAK sebagai header, sedangkan VBAP sebagai list itemnya. Sebelumnya saya melakukan looping dengan VBAK sebagai parameternya, ternyata tinggal ganti menjadi VBAP sebagai parameternya, kelar deh.

Selanjutnya ada beberapa tips menarik dari Koko nih.

1. Mengambil Nilai Maksimum dari sebuah tabel. Caranya menggunakan fungsi DESCENDING saat melakukan SORT tabel. Saya juga baru sadar, ternyata cara ini bisa dilakukan. Begitu pula halnya dengan mengambil nilai minimum. (ga perlu dijelaskan lah ya haha)

2. Menggunakan tabel sebagai parameter WHERE. Trik ini dilakukan menggunakan fungsi FOR ALL ENTRIES. Contohnya nih ya.

SELECT * FROM vbak INTO TABLE gt_vbak.

IF gt_vbak[] IS NOT INITIAL.

SELECT * FROM kna1 INTO TABLE gt_kna1

FOR ALL ENTRIES IN gt_vbak

WHERE kunnr = gt_vbak-kunnr.

ENDIF.

Jangan lupa ya diberi error prevention seperti kode diatas agar kode kita terhindar dari kesalahan yang tidak kita kehendaki.

Selanjutnya, ada cara untuk membuat kita lebih mudah dalam menampilkan data jika kita menggunakan ALV, yaitu dengan membuat sebuah structure sendiri dengan type data yang sesuai. Kemudian menggunakan fungsi REUSE_ALV_FIELDCATALOG_MERGE.

CALL FUNCTION ‘REUSE_ALV_FIELDCATALOG_MERGE’

EXPORTING

i_program_name         = sy-repid

i_internal_tabname    = ‘gt_data’

i_structure_name        = ‘zst_namastructure’

CHANGING

ct_fieldcat    = gt_field

EXCEPTION

inconsistent_interface    = 1

program_error                   = 2

OTHERS                                = 3

NB: ganti deklarasi katalog di ALV menjadi fungsi tersebut.

One thought on “Bootcamp SAP ABAP #7

Leave a comment