Program Bootcamp Technical SAP ABAP Batch 96 Part 1

Part 1 ini akan dibahas mengenai materi yang diajarkan. Penjelasan saya rangkum dari hari pertama sampai hari kelima (1 minggu).

 

BC400

Seperti halnya pembelajaran pemogramman lainnya seperti Java, C, C+, C# dan banyak lagi, kita diajarkan mengenai berbagai tipe data seperti char, string, integer, numeric text, date, float dan time.

Tipe Data ABAP :

  • Character (c)
  • Integer (i)
  • Numeric text (N). contoh kode pos
  • packed (p)
  • Floating decimal point (f)
  • Date (d)
  • Time (T)
  • Hexadecimal (x)
  • String

Kita kemudian belajar mengenai syntax dan symbol di ABAP.

” – Comment Line
. – End Line
Length – Long character
, – Continue Statement
float – decimal
value – default value
write – Print
/ – New Line
/o – Open file in new tab
/n – Open file in current tab

 

Bagaimana seorang ABAP akan melakukan koding di aplikasi SAP ?

Pertama hal yang kita lakukan tentu mengakses SAP LOGON, kemudian login menggunakan user id dan password. Setelah itu, kita mengenal yang namanya T-Code, T-Code adalah singkatan dari Transaction Code. Pada T-Code tersebut dapat mengakses masing-masing library yang ada dalam SAP.

Untuk minggu pertama ini T-code yang kami pakai adalah :

  • SE38 -> digunakan untuk melakukan coding program / ABAP editor.
  • SE11 -> Data dictionary. Terdapat database table.

Kita menggunakan SE38 untuk membuat suatu program. Di SAP sendiri sudah menyediakan banyak library yang dapat digunakan seperti Eclipse di Java. Untuk nama program yang kita custom (buat baru / bukan program buatan dari SAP) harus diawali dengan huruf ‘Z’ atau ‘Y’. Umumnya digunakan huruf ‘Z’.

Di SAP sendiri mempunyai standar penamaan coding agar mudah dipahami oleh ABAPer lainnya. Misal Program yang diawali dengan ‘ZR’ sering digunakan sebagai ‘Report’, ‘ZFM’ digunakan untuk menamai Function Module (akan dibahas nanti), dan lainnya.

 

Di ABAP, kita masih menggunakan compile dan execute. Untuk Compile, shortcut di keyboard adalah alt+F3, Compile akan sekaligus mengecek apabila ada kesalahan penulisan / logic syntax program. Jika berhasil tanpa error maka dapat melanjutkan ke execute dengan menekan shortcut keyboard, F8. Untuk dapat menjalankan program/execute haruslah melakukan Compile terlebih dahulu, apabila tidak dilakukan maka program akan tetap melakukan execute namun menggunakan compile terakhir. Apabila compile berhasil akan muncul status active. Dimana status active ini menandakan program berhasil di compile.

 

Terkadang di execute program berhasil dilakukan namun tidak dapat muncul saat hasil akhir / tidak sesuai keinginan. Padahal saat melakukan compile tidak ada kesalahan yang terjadi, di situasi seperti ini kita akan melakukan yang namanya Debugger. Debug digunakan untuk mengecek satu per satu line yang ada saat program dijalankan. Dengan ini kita dapat mengetahui kesalahan logic yang telah dibuat. Compile hanya dapat mengecek validasi penulisan syntax namun tidak dapat mengecek apakah logic tersebut sudah sesuai keinginan.

 

 

Saya akan memberi sedikit contoh program yang sudah saya buat di kelas bootcamp.

Report ‘ZR_Test_Part1’

TYPES: BEGIN OF ty_mara,
matnr TYPE mara-matnr,
mtart TYPE mara-mtart,
mblnr TYPE mara-mblnr,
END OF ty_mara.

DATA: gt_mara TYPE TABLE OF mara WITH HEADER LINE,
gt_mara TYPE ty_mara.

SELECTION-SCREEN BEGIN OF BLOCK Main WITH FRAME TITLE text-001.
PARAMETERS: p_matnr TYPE mara-matnr.
SELECTION-SCREEN END OF BLOCK Main.

[Put Logic here]

WRITE gt_mara-matnr.

 

Penjelasan :

INTERNAL TABLE

Report ‘ZR_Test_Part1’ adalah nama program

TYPES dan isinya untuk mendefinisikan variabel yang akan diproses.

ty_mara adalah penamaan untuk types.

DATA digunakan untuk menentukan internal tabel dari tabel mara. Header line menandakan internal tabel.

SELECTION-SCREEN adalah membuat semacam bentuk Form untuk mempercantik tampilan input data.

Parameters menandakan bahwa input data disini hanya satu field. Untuk 2 field kita menggunakan Select-option.

Write untuk menampilkan data yang disebutkan pada case ini gt_mara-matnr.

 

LOOP, IF, CASE

Pengulangan. biasa digunakan pada logic area. Anggap [ logic here ] diatas kita masukkan loop.

LOOP AT gt_mara
IF matnr = 490
WRITE ‘490’.
ELSE IF matnr = 390
WRITE ‘390’.
ELSE
WRITE ‘ unknown’.
ENDIF.

ENDLOOP.

Untuk CASE akan jarang ditemui di ABAP. berikut contoh syntax :

CASE 1 : [variabel] [simbol = < >] [angka atau kata]
WRITE [output].
CASE 2 : [variabel] [simbol = < >] [angka atau kata]
WRITE [output].
….. dst.

 

Subroutine

Declaration :

FORM [name]
[Logic]
ENDFORM.

Subroutine digunakan untuk merapikan koding dan juga mudah untuk mengecek apabila terjadi error.

PERFORM [name] untuk mengeksekusi Subroutine yang sudah dibuat.

 

BC401

SELECT SINGLE DATABASE RECORD

SELECT SINGLE * FROM <dtab01> INTO <workarea01> WHERE <field01> = ‘ABC’ AND <field02> = ‘BCD’.

Atau

SELECT SINGLE <field01> <field02> <field03> FROM <dtab01> INTO CORRESPONDING FIELDS OF <workarea01> WHERE <field05> = ‘ABC’ AND <field06> = ‘BCD’.

Baris pertama digunakan untuk memilih semua field yang ada di tabel dtab01 dengan kondisi field 01 = ABC dan field no 2 = BCD.

Baris kedua digunakan untuk memilih beberapa field yang ada di tabel dtab01 dengan kondisi field 01 = ABC dan field no 2 = BCD.

Lebih efisien yang mana ? Tentu baris kedua lebih efisien performa.

 

SELECT MULTIPLE DATABASE RECORD

SELECT  * FROM <dtab01> INTO CORRESPONDING FIELDS OF TABLE <itab01> WHERE <field01> = ‘ABC’ AND <field02> = ‘BCD’.

Atau

SELECT <field01> <field02> FROM <dtab01> INTO CORRESPONDING FIELDS OF TABLE <itab01> WHERE <field05> = ‘ABC’ AND <field06> = ‘BCD’.

Perbedaan nya adalah penyimpanan data variabel dilakukan di internal tabel. work area hanya dapat menampung satu variabel sedangkan itab dapat menampung banyak variabel.

 

Radiobutton

Umumnya digunakan untuk menentukan jenis kelamin atau display all

Declaration :

PARAMETERS: [rdb01] RADIOBUTTON GROUP [gr01],
[rdb02] RADIOBUTTON GROUP [gr02],
[rdb03] RADIOBUTTON GROUP [gr03].

FUNCTION MODULE

Jika subroutine adalah local, function adalah global. Fungsi mereka sama.

T-Code SE37 untuk membuat function. Setelah dibuat akan muncul di baris paling bawah program di Report Function yang telah dibuat.

 

Minggu ke-2 akan dilanjutkan ke Post Part 2

One thought on “Program Bootcamp Technical SAP ABAP Batch 96 Part 1

Leave a comment