ABAP - MACRO

Tau kan macro ?, di SAP ada RMAC module disitu kumpulan macro yang dibuat khusus untuk memudahkan pembuatan program/Abap sehingga coding tidak terlalu panjang dengan fungsi yang dipakai berulang-ulang.

Macro berisi cuplikan code program yang dibuat untuk melakukan suatu pekerjaan sehingga dapat dipakai berkali-kali, seperti function module.

SAP sih sudah membuatkan standard macro yang sudah ada tapi kalo kita mau nambah dan bikin sendiri tinggal di masukin ke tabel TRMAC, atau bisa di lihat di program include DBPNPMAC , yang bisa kita pakai macro nya dengan mendeklarasikan include DBPNPMAC terlebih dahulu diatas program..


biar lebih jelas ada contoh yang aye dapet dari baca-baca terus dipake di program. contohnya :

  • Macro untuk baca(read) infotype. Nama macronya -> RP-READ-INFOTYPE
REPORT ZHR00001.
INFOTYPE: 0002.
PARAMETERS: PERNR LIKE P0002-PERNR.
RP-READ-INFOTYPE PERNR 0002 P0002 .
PROVIDE * FROM P0002
if ... then ...endif.
ENDPROVIDE.

keliatan kan huruf yg di tebelin, perintahnya kalo pake macro cuma 1 baris, kalo gak pake macro bisa lebih dari 4 baris.
artinya : program membaca infotype 00002 yang akan di tampung di internal table P0002 dengan kriteria periode data mulai dari tanggal sampai .
  • Macro untuk ubah(update) infotype. Nama macronya -> RP-UPDATE
Sebelum update data infotype, data harus di baca dulu supaya ada di internal table. kemudian data di ubah yang ada di internal table baru nanti di save ke table infotype dengan conding kayak gini nih.

INFOTYPES: Pnnnn NAME OLD, "nyiapin internal table buat tampungan
Pnnnn NAME NEW. "sama ini juga internal table untuk tampungan data
GET PERNR. "nah yang ini baca data menggunakan LDB ( logical database )
PROVIDE * FROM OLD "awal blok ini untuk menyaring data sesuai kriteria yang diinginkan
WHERE .... = ... "Change old record
*Save old record in alternate table
NEW = OLD.
ENDPROVIDE. "Akhir blok
RP-UPDATE OLD NEW. "Update changed record

Dengan macro data yang kita baca lebih akurat, code jadi lebih singkat, program berjalan lebih cepat.




0 Responses to "ABAP - MACRO"