Anda di halaman 1dari 71

ABAP

MODUL PRAKTIKUM
Version 1.0 (2012)

SAP University
Partnership Program
Politeknik Pos Indonesia

Disusun Oleh:
Ari Yanuar Ridwan
, S.T.,M.T
.
ABAP Programming Modul
Praktikum I

Daftar ISi

1 Pendahuluan............................................................................................................. 5
1.1 Mempersiapkan Sistem Sap Netweaver 7 Pada VM Ware....................................5
1.2 Tujuan................................................................................................................. 5
1.3 Praktek................................................................................................................ 5
1.3.1 Menjalankan SAP ABAP Netweaver pada VMWare........................................5
1.3.2 Melakukan Log on kepada sistem untuk pertama kali................................11
1.3.3 Menjalankan Object navigator....................................................................13
1.4 Tugas 1.............................................................................................................. 15
2 Membuat Package, Program dan Transaction..........................................................15
2.1 Tujuan............................................................................................................... 15
2.2 Praktek.............................................................................................................. 15
2.2.1 Membuat Package....................................................................................... 15
2.2.2 Membuat Program ABAP Sederhana Z#_GS...............................................19
2.2.3 Aktivasi Objek............................................................................................. 23
2.2.4 Membuat Transactions................................................................................ 23
2.3 Tugas 2.............................................................................................................. 28
3 Elemen Dasar dalam Bahasa Pemrograman ABAB..................................................28
3.1 Tujuan............................................................................................................... 28
3.2 Praktek.............................................................................................................. 29
3.2.1 Membuat Program Z#_COMPUTE...............................................................29
3.2.2 Membuat Program Z#_CALC_I (Menghitung data obje bertipe integer)......30
3.2.3 Membuat Program Z#_CALC_P (Menghitung data objek bertipe Packed).. .33
3.3 Tugas 3.............................................................................................................. 36
4 Working With Structure And Internal Table..............................................................37
4.1 Tujuan............................................................................................................... 37
4.2 Praktek.............................................................................................................. 37

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 2
ABAP Programming Modul
Praktikum I

4.2.1 Membuat program Z##_SELECT_SFLIGHT (select


loop) 37
4.2.2 Membuat program Z##_SELECT_SFLIGHT_ITAB (menggunakan struktur
dan internal............................................................................................................. 40
tabel)....................................................................................................................... 40
4.3 Tugas 4.............................................................................................................. 43
5 Event And List......................................................................................................... 44
5.1 Tujuan............................................................................................................... 44
5.2 Praktek.............................................................................................................. 44
6 SCREEN................................................................................................................... 48
6.1 Tujuan............................................................................................................... 48
6.2 Praktek.............................................................................................................. 48
6.2.1 PROGRAM Z##_SEL_SCREEN......................................................................48
6.2.2 PROGRAM Z##_DYNPRO_1 (CREATING AND CALLING SCREEN)................53
6.2.3 PROGRAM Z##_DYNPRO_2 (DATA TRANSPORT)..........................................61
6.2.4 PROGRAM Z##_DYNPRO_3 (Membuat pushtutton)..................................64

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 3
ABAP Programming Modul
Praktikum I

1 Pendahuluan
1.1 Mempersiapkan Sistem Sap Netweaver 7 Pada VM Ware

1.2 Tujuan
Setelah melaksanakan Praktikum ini mahasiswa diharapkan dapat:
1. Menjalankan SAP ABAP Netweaver 7.0 pada VMWare
2. Logon pada sistem SAP ABAP Netweaver 7.0
3. Membuat user pada sistem SAP ABAP Netweaver 7.0

1.3 Praktek

1.3.1 Menjalankan SAP ABAP Netweaver pada VMWare


1. Pada praktikum ini, SAP ABAP Netweaver 7.0 akan dijalankan pada Virtual
machine yaitu VM Ware. Bila belum ada Vmware Player, Install Vmware Player.

2. Setealah VM Ware terinstal, Open virtual machine, pilih sapides, lalu jalankan
Vmware sapides tersebut seperti pada gambar-gambar berikut. Sapides adalah
nama VMWare Image dimana SAP ABAP sudah diinstal pada sistem operasi
Windows XP.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 4
ABAP Programming Modul
Praktikum I

3. Sesudah berhasil menjalankan sistem opersi Windows XP, logon pada user
nspadm, dengan passord P0lt3kP05. Seperti pada gamba di bawah berikut.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 5
ABAP Programming Modul
Praktikum I

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 6
ABAP Programming Modul
Praktikum I

4. Sesudah berhasil logon ke dalam windows sebagai user nspadm, lalu jalankan
SAP Management Console untuk menjalankan message server dan dispatcher.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 7
ABAP Programming Modul
Praktikum I

5. Pada Management consoe Jalankan NSP server dengen cara klik kanan lalu pilih
start.

6. Masukkan password yang sama dengan password OS administrator, yaitu


P0lt3kP05

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 8
ABAP Programming Modul
Praktikum I

7. Tunggu hingga semua process list berwarna hijau, dalam kasus ini terdapat dua
buah proses, yaitu msg_server.exe (message server) dan disp+work.exe
(dispatcher).

8. Sesudah process liset semuanya berwarna hijau, maka kita bisa logon ke dalam
sistem SAP ABAP Netweaver 7.0

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 9
ABAP Programming Modul
Praktikum I

1.3.2 Melakukan Log on kepada sistem untuk pertama kali


1. Untuk bisa Logon kedalam sistem SAP maka pertama jalankan SAP Logon GUI,
dalam kasus ini versi 7.2
2. Bila belum ada varibel logon, buat variabel Log on baru dengan system
connection paramater, seperti pada gambar dan tabel berikut.

Connection Paramater value


Description SAPIDES
Application server SAPIDES
Instance Number 00
System ID NSP

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 10
ABAP Programming Modul
Praktikum I

3. Sesudah variabel logon dengan nama sapides dibuat, maka Log on dengan user
dan password nirwan.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 11
ABAP Programming Modul
Praktikum I

4. Sesudah berhasil logon, maka akan tampil SAP Easy Access. Perlu diketahui
bahwa menu SAP IDES screen yang ada adalah khusus untuk ABAP. Karena
pada sistem ini yang terintal hanya sistem ABAP.

1.3.3 Menjalankan Object navigator


1. Object Navigator adalah linkungan pengembangan yang biasa digunakan untuk
mengelola ABAP.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 12
ABAP Programming Modul
Praktikum I

Untuk menjalankan object navigator dari SAP Easy


Access, pilih menu Tools > ABAP Workbench > Overview >
Object Navigator, atau bisa dengan transaksi SE80. Sehingga tampilan screen
seperti gambar berikut.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 13
ABAP Programming Modul
Praktikum I

1.4 Tugas 1.
1. Akses SAP IDES di internet pada alamat www.consolut.net
2. Buat userid dan password pada situs tersebut
3. Logon kepada sistem
4. Print screen langkah-langkahnya lalu hasilnya dikumpulkan pada pertemuan
berikutnya.

2 Membuat Package, Program dan Transaction


2.1 Tujuan
Setelah mengikuti praktikum ini, mahasiswa diharapkan dapat:
1. Membuat package dalam ABAP.
2. Membuat program ABAP sederhana untuk menampilkan suatu teks.
3. Mengatifkan program ABAP.
4. Membuat dan menjalankan transaksi.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 14
ABAP Programming Modul
Praktikum I

2.2 Praktek

2.2.1 Membuat Package


1. Setiap object dalam ABAP disimpan secara lojik pada package. Package bisa
dibuat melalui Object Novigator, bisa dilakukan dengan dua cara:
a) Dari navigation area:
i. pilih object type package lalu masukan nama package yang akan
dibuat pada input field. Tekan enter.

ii. Jika package tersebut belum ada maka akan ditampilkan dialog
untuk membuat package tersebut. Tetapi jika nama package yang
kita masukkan sudah ada maka akan ditampilkan package tersebut.

b) Dari Edit Object:

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 15
ABAP Programming Modul
Praktikum I

i. Pada dialog box, cari option terkait package lalu masukan nama
package.

ii. Pilih Button Create, Atau tekan F5 untuk membuat object baru
tersebut.

2. Selanjutnya adalah mengisi atribut dari package yang akan dibuat.

Atribut Value Keterangan


Package Z## ## isi dengan NPM
Short Description ABAP Programming ## ## isi dengan NPM
Application CA Komponen aplikasi
Component dimana package yang
dibuat ini berada
Software HOME
Development
Transport Layer ZNSP Kemana development
object akan ditransport
Package Type No Main Package

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 16
ABAP Programming Modul
Praktikum I

3. Assign package kepada change request. Bisa dengan membuat change request
baru atau diassign kepada change request yang sudah ada. Berikut adalah
langkah ketika di-assign kepada change request baru.
a) Masukkan deskripsi dari request

b) Otomatis oleh sistem akan dibuatkan request baru. Sesudah itu enter.

c) Hasil dari package yang sudah dibuat pada object navigator

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 17
ABAP Programming Modul
Praktikum I

4. Access Key
Ketika pertama kali membuat object, maka akan diinta untuk memasukkan access key.
Access Key Untuk user Nirwan adalah: 25500393221492440973

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 18
ABAP Programming Modul
Praktikum I

2.2.2 Membuat Program ABAP Sederhana


Z#_GS
1. Untuk membuat ABAP Program melalui Object Navigator, bisa dengan 3 cara:
a. Cara pertama, pada navigation area, pilih object type Program, masukan
nama program yang akan dibuat pada input field. Jika program belum ada
maka akan muncul dialog untuk membuat program baru.

b. Cara kedua, tampilkan package dimana program tersebut akan disimpan.


Kemudian dari kontek menu pada package tersebut terdapat menu Create
Program.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 19
ABAP Programming Modul
Praktikum I

c. Cara ketiga, melalui Edit Object, dengan cara yang sama seperti pada
membuat package.
- Masukkan nama program, pilih radio button Program, lalu enter.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 20
ABAP Programming Modul
Praktikum I

- Masukkan nama program, lalu enter.

- Isi atribut program, lalu save

- Assign program kepada package, lalu save

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 21
ABAP Programming Modul
Praktikum I

- Tambahkan request (terima nilai default dari system), lalu enter

- Maka akan ditampilan layar ABAP Editor untuk program yang baru
dibuat.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 22
ABAP Programming Modul
Praktikum I

- Buat program seperti berikut, lalu save.

- Jalankan program yang baru dibuat dengan menggunakan direct


processing (atau F8), maka tampilannya adalah sebagai berikut:

2.2.3 Aktivasi Objek


a. Setiap membuat suatu development object baru, atau mengubah yang sudah
ada, sistem hanya menyimpan inactive version dari development object yang
kita buat pada repository. Sehinngga ketika proses pengembangan selesai,
maka harus melakukan aktivasi terhadap inactive version dari object tersebut
untuk menjadi active version. Request release dan transport teradap objek
yang sudah dikembangkan hanya bisa jika objek tersebut sudah active, begitu

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 23
ABAP Programming Modul
Praktikum I

juga misalnyauntuk membuattransactionseperti pada latihannyaberikutnya.Proses


mengkatifkan objek tersebut adalah dengan menggunakan
active tombol
b. Maka akan ditampilan object yang incative, pilih program yang baru dibuat, lalu enter.

2.2.4 Membuat Transactions.


Untuk membuat role based menu atau favorite, maka program tersebut harus
memiliki transaction. Transaction juga bisa digunakan untuk memanggil program
melalui command field. Cara untuk membuat transaction adalah:
1. Tampilkan program pada object navigator.
2. Pada navitation area, gunakan context menu lalu pilih Create | More |
Transaction.

3. Masukkan transaction code yang akan digunakan. Tambahkan short text dan pilih
Program and Selection Screen (Report Transaction).

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 24
ABAP Programming Modul
Praktikum I

4. Pada screen berikutnya, masukan nama program dan pilih Professional User
Transaction. Pada GUI Enabled pilih indikator SAP GUI for Windows.

5. Simpan transaction, akan muncul dialog untuk assign package, pastikan


transaction yang dibuat di-assign kepada package yang sesuai. Lalu simpan. Lalu
akan muncul dialog request, tekan enter.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 25
ABAP Programming Modul
Praktikum I

6. Menjalankan transaki bisa dilakukan dengan cara beriku:


a. Dari transaction screen jalankan menu direct transaction

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 26
ABAP Programming Modul
Praktikum I

b. Dari context menu pada transaction

7. Untuk menjalankan transaction dari SAP Easy Access menu bisa dilakukan
dengan cara:

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 27
ABAP Programming Modul
Praktikum I

a. Menjalankan langsung dari command fied.

b. Menambahkan menjadi favorites.


- Jalankan contex menu pada favorites, lalu pilih insert transaction

- Lalu akan muncul dialog untuk memasukkan nama transaction,


lalu tekan enter.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 28
ABAP Programming Modul
Praktikum I

- Sekarang pada favorites sudah ada transaction yang baru dibuat,


dan short description pada transaction tersebut ditampilkan pada
favorites.

- Ketika kita jalankan maka hasilnya adalah:

2.3 Tugas 2.
1. Buat Program untuk menampilkan
a. nama dan NPM.
b. parameter pada System (minimal 5 parameter), contoh: siapa yang logon,
waktu, bahasa yang digunakan, dll.
2. Kumpulkan pada pertemuannya berikutnya dalam bentuk hardcopy.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 29
ABAP Programming Modul
Praktikum I

3 Elemen Dasar dalam Bahasa Pemrograman


ABAB
3.1 Tujuan
Setelah melaksanakan praktikum ini mahasiswa diharapkan dapat:
1. Mendefinisikan objek data elementer.
2. Memberi nilai kepada suatu objek data
3. Memham statemen dasar pemrograman ABAP.
4. Membuat dan menjalankan program contoh untuk perhitungan

3.2 Praktek

3.2.1 Membuat Program Z#_COMPUTE


1. Buat Program dengan nama Z##_COMPUTE (## ganti dengan NPM) tanpa TOP
Include

2. Definisikan dua input parameter untuk dua buah nilai integer dengan nama
pa_int1 dan pa_int2 dan satu operator aritmetika dengan nama pa_op.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 30
ABAP Programming Modul
Praktikum I

3. Definikan satu elementary data object dengan nama result dan memiliki dua
desimal.

4. Buat program untuk menjalankan operasi aritmetika dengan menggunakan CASE


untuk menentukan pilihan dan IF untuk mengelola bila terjadi ERROR lalu save.

5. Jalankan program tersebut untuk menjalankan operator aritmetika.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 31
ABAP Programming Modul
Praktikum I

3.2.2 Membuat Program Z#_CALC_I (Menghitung data obje


bertipe integer)
1. Buat program dengan nama Z#_CALC_I
2. Lengkapi source code-nya seperti berikut

REPORT z10578094_calc_i.

PARAMETERS:
pa_val1 TYPE i DEFAULT 5, " input variable 1
pa_val2 TYPE i DEFAULT 3. " input variable 2
DATA:
gv_result TYPE i. " result variable
START-OF-SELECTION.
WRITE: / text-001 COLOR COL_HEADING.
* (001) EN: 'calculate with
integer data'

SKIP 1.
WRITE: / text-002, pa_val1 COLOR COL_KEY,
/ text-003, pa_val2 COLOR COL_KEY.
* (002) EN: 'operand 1 = '
* (003) EN: 'operand 2 = '
SKIP 2.

* addition: a + b
gv_result = pa_val1 + pa_val2.

WRITE: / pa_val1 COLOR COL_KEY,


' + ' COLOR COL_NORMAL,
pa_val2 COLOR COL_KEY,

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 32
ABAP Programming Modul
Praktikum I
' = ' ,
gv_result COLOR COL_TOTAL.
SKIP 1.

* subtraction: a - b
gv_result = pa_val1 - pa_val2.

WRITE: / pa_val1 COLOR COL_KEY,


' - ' COLOR COL_NORMAL,
pa_val2 COLOR COL_KEY,
' = ' ,
gv_result COLOR COL_TOTAL.
SKIP 1.

* division: a / b
gv_result = pa_val1 / pa_val2.

WRITE: / pa_val1 COLOR COL_KEY,


' / ' COLOR COL_NORMAL,
pa_val2 COLOR COL_KEY,
' = ', gv_result
COLOR COL_TOTAL.
SKIP 1.

* multiplication: a * b
gv_result = pa_val1 * pa_val2.

WRITE: / pa_val1 COLOR COL_KEY,


' * ' COLOR COL_NORMAL,
pa_val2 COLOR COL_KEY,
' = ', gv_result
COLOR COL_TOTAL.
SKIP 1.

ULINE. * div gv_result =


pa_val1 DIV pa_val2.

WRITE: / pa_val1 COLOR COL_KEY,


' div ' COLOR COL_NORMAL,
pa_val2 COLOR COL_KEY,
' = ', gv_result
COLOR COL_TOTAL.
SKIP 1.
* mod gv_result = pa_val1 MOD
pa_val2.

WRITE: / pa_val1 COLOR COL_KEY,


' mod ' COLOR COL_NORMAL,
pa_val2 COLOR COL_KEY,
' = ', gv_result
COLOR COL_TOTAL.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 33
ABAP Programming Modul
Praktikum I
SKIP 1.

* exponent a**b gv_result =


pa_val1 ** pa_val2.

WRITE: / pa_val1 COLOR COL_KEY,


' hoch' COLOR COL_NORMAL,
pa_val2 COLOR COL_KEY,
' = ', gv_result
COLOR COL_TOTAL.
SKIP 1.

3. Jalankan program tersebut, hasilnya akan seperti berikut:

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 34
ABAP Programming Modul
Praktikum I

3.2.3 Membuat Program Z#_CALC_P


(Menghitung data objek bertipe Packed)
1. Buat program dengan nama Z#_CALC_p
2. Lengkapi source code-nya seperti berikut

REPORT z10578094_calc_p.

PARAMETERS:
pa_val1 TYPE p LENGTH 8 DECIMALS 2 DEFAULT 5, " input variable 1
pa_val2 TYPE p LENGTH 8 DECIMALS 3 DEFAULT 3. " input variable 2 DATA:
gv_result TYPE p LENGTH 8 DECIMALS 4. " result variable

START-OF-SELECTION.
WRITE: / text-001 COLOR COL_HEADING.
* (001) EN: 'calculate with
packed data'
SKIP 1.
WRITE: / text-002, pa_val1 COLOR COL_KEY,
/ text-003, pa_val2 COLOR COL_KEY.
* (002) EN: 'operand 1 = '
* (003) EN: 'operand 2 = '
SKIP 2.

* addition: a + b
gv_result = pa_val1 + pa_val2.

WRITE: / pa_val1 COLOR COL_KEY,


' + ' COLOR COL_NORMAL,
pa_val2 COLOR COL_KEY,
' = ' ,
gv_result COLOR COL_TOTAL.
SKIP 1.

* subtraction: a - b
gv_result = pa_val1 - pa_val2.

WRITE: / pa_val1 COLOR COL_KEY,


' - ' COLOR COL_NORMAL,
pa_val2 COLOR COL_KEY,
' = ' ,
gv_result COLOR COL_TOTAL.
SKIP 1.

* division: a / b
gv_result = pa_val1 / pa_val2.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 35
ABAP Programming Modul
Praktikum I

WRITE: / pa_val1 COLOR


COL_KEY, ' / '
COLOR COL_NORMAL,
pa_val2 COLOR COL_KEY,
' = ', gv_result
COLOR COL_TOTAL.
SKIP 1.

* multiplication: a * b
gv_result = pa_val1 * pa_val2.

WRITE: / pa_val1 COLOR COL_KEY,


' * ' COLOR COL_NORMAL,
pa_val2 COLOR COL_KEY,
' = ', gv_result
COLOR COL_TOTAL.
SKIP 1.

ULINE. * div gv_result =


pa_val1 DIV pa_val2.

WRITE: / pa_val1 COLOR COL_KEY,


' div ' COLOR COL_NORMAL,
pa_val2 COLOR COL_KEY,
' = ', gv_result
COLOR COL_TOTAL.
SKIP 1.
* mod gv_result = pa_val1 MOD
pa_val2.

WRITE: / pa_val1 COLOR COL_KEY,


' mod ' COLOR COL_NORMAL,
pa_val2 COLOR COL_KEY,
' = ', gv_result
COLOR COL_TOTAL.
SKIP 1.

4. Jalankan program tersebut, hasilnya akan seperti berikut:

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 36
ABAP Programming Modul
Praktikum I

3.3 Tugas 3
1. Buat program untuk menghitung IPK dari tiga mata kuliah
2. Kumpulkan dalam bentuk hardcopy pada pertemuan berikutnya.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 37
ABAP Programming Modul
Praktikum I

4 Working With Structure And Internal Table


4.1 Tujuan
Setelah melaksanakan Praktikum ini mahasiswa diharapkan dapat:
1. Memahami konsep tipe objek data struktur
2. Memahami konsep internal table dalam ABAP
3. Membuat program sederhana dengan menggunakan struktur dan internal table.

4.2 Praktek

4.2.1 Membuat program Z##_SELECT_SFLIGHT (select loop)


1. Buat Program dengan nama Z##_SELECT_SFLIGHT (## ganti dengan NPM) tanpa TOP
Include.
2. Deklarasikan sebuah tipe strukutr lokal dengan nama Z##_SBC400F0CC dengan
komponen sebagai berikut:

Komponen Tipe
Carrid s_carr_id
connid s_conn_id
Fldate s_date
Seatsmax s_seatsmax
Seatsocc s_seatcocc
Percentage P decimals 2, length 3

Solusi:

3. Definisikan sebuah work area dengan nama wa_flight untuk tipe struktur di atas.

Solusi:

4. Buar parameter input dengan nama pa_car dengan tipe s_carr_id.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 38
ABAP Programming Modul
Praktikum I

Solusi:

5. Buat select loop untuk mengambil data dari tabel sflight lalu disimpan dalam wa_flihgt,
dihitung persentasi penumpang pada setiap penerbang, lalu ditampilkan ke layar.

Solusi:

6. Jalankan program tersebut

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 39
ABAP Programming Modul
Praktikum I

Solusi lengkap:

*&---------------------------------------------------------------------*
*& Report Z10578094_SELECT_SFLIGHT
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT z10578094_select_sflight.

TYPES: BEGIN OF z10578094_sbc400focc,


carrid TYPE s_carr_id, connid TYPE
s_conn_id, fldate TYPE s_date,
seatsmax TYPE s_seatsmax, seatsocc
TYPE s_seatsocc, percentage(3) TYPE p
DECIMALS 2,
END OF z10578094_sbc400focc.

DATA wa_flight TYPE z10578094_sbc400focc.


PARAMETERS pa_car TYPE s_carr_id.

SELECT carrid connid fldate seatsmax seatsocc


FROM sflight
INTO CORRESPONDING FIELDS OF wa_flight
WHERE carrid = pa_car.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 40
ABAP Programming Modul
Praktikum I

*menghitung persentase okupasi untuk setiap


penerbangan
wa_flight-percentage = wa_flight-seatsocc / wa_flight-seatsmax.

WRITE: / wa_flight-carrid,
wa_flight-connid, wa_flight-fldate,
wa_flight-seatsmax, wa_flight-
seatsocc, wa_flight-percentage.

ENDSELECT.

IF sy-subrc NE 0.
WRITE: ' No ', pa_car, 'flight found !'. ENDIF.

4.2.2 Membuat program Z##_SELECT_SFLIGHT_ITAB


(menggunakan struktur dan internal

tabel)

1. Buat Program dengan nama Z##_SELECT_SFLIGHT_ITAB (## ganti dengan NPM) tanpa
TOP Include.
2. Deklarasikan sebuah tipe strukutr lokal dengan nama Z##_SBC400F0CC dengan
komponen sebagai berikut:

Komponen Tipe
Carrid s_carr_id
Connid s_conn_id
Fldate s_date
Seatsmax s_seatsmax
Seatsocc s_seatcocc

Solusi:

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 41
ABAP Programming Modul
Praktikum I
3. Buat sebuah local internal table type dengan row type
Z##_SBC400FOCC (structure type yang dibuat sebelumnya), dengan
key type non-unique, dan key component carrid, connid, dan
fldate.

Solusi:

4. Definisikan sebuah variabel internal tabel dengan nama ITAB_Z##_SBC400FOCC dari


table type lokal Z##SBC400FOCC (table type yang dibuat sebelumnya).

Solusi:

5. Definisikan sebuah work area dengan nama wa_flight untuk variabel struktur yang
memiliki tipe yang sama dengan line type dari internal tabe ITAB_Z##_SBC400FOCC.

Solusi:

6. Buar parameter input dengan nama pa_car dengan tipe s_carr_id.

Solusi:

7. Lakukan perintah select terhadap tabel sflight untuk field carrid, connid, fldate,
seatsmax, seatsocc untuk ditamping dalam wa_flight dimana carrid = pa_car.
8. Insert wa_flight ke dalam internal tabel ITAB_Z##_SBC400FOCC untuk menampung
semua nilai yang ada

Solusi:

9. Lalu tampilkan nilai yang ada pada internal tabel ITAB_Z##_SBC400FOCC tersebut.

Solusi:

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 42
ABAP Programming Modul
Praktikum I

10. Jalankan program tersebut

Solusi:

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 43
ABAP Programming Modul
Praktikum I

Solusi lengkap:

*&---------------------------------------------------------------------*
*& Report Z10578094_SELECT_SFLIGHT_ITAB
*&
*&---------------------------------------------------------------------*
*&

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 44
ABAP Programming Modul
Praktikum I
*&

*&---------------------------------------------------------------------*

REPORT z10578094_select_sflight_itab.

TYPES: BEGIN OF z10578094_sbc400focc,


carrid TYPE s_carr_id, connid TYPE
s_conn_id, fldate TYPE s_date,
seatsmax TYPE s_seatsmax, seatsocc
TYPE s_seatsocc, END OF
z10578094_sbc400focc.
TYPES z10578094_t_sbc400focc
TYPE STANDARD TABLE OF z10578094_sbc400focc
WITH NON-UNIQUE KEY carrid connid fldate.

DATA itab_z10578094_sbc400focc TYPE z10578094_t_sbc400focc.

DATA wa_flight LIKE LINE OF itab_z10578094_sbc400focc.

PARAMETERS pa_car TYPE s_carr_id.

SELECT carrid connid fldate seatsmax seatsocc


FROM sflight
INTO CORRESPONDING FIELDS OF wa_flight
WHERE carrid = pa_car.

INSERT wa_flight INTO TABLE itab_z10578094_sbc400focc.


ENDSELECT.

IF sy-subrc = 0.

LOOP AT itab_z10578094_sbc400focc INTO wa_flight.


WRITE: / wa_flight-carrid,
wa_flight-connid, wa_flight-fldate,
wa_flight-seatsmax, wa_flight-
seatsocc.
ENDLOOP.
ELSE.
WRITE: ' No ', pa_car, 'flight found !'. ENDIF.

4.3 Tugas 4
1. Buat program untuk menampung dan menampilkan data struktur yang
memiliki komponen nama dan NPM
2. Kumpulkan pada pertemuan berikutnya.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 45
ABAP Programming Modul
Praktikum I

5 Event And List


5.1 Tujuan
Setelah melaksanakan praktikum ini mahasiswa diharapkan dapat:
1. Mememahi konsep event dan list dalam ABAP
2. Membuat program ABAP sederhana menggunakan event dan list.

5.2 Praktek.
1. Salin program Z##_SELECT_SFLIGHT yang sudah dibuat sebelumnya ke dalam
program Z##_DETAIL_LIST.
2. Buat variabel working area wa_sbook dengan table type sbook.

Solusi:

wa_sbook TYPE sbook

3. Tambahkan START-OF-SELECTION event untuk menampilkan output yang terdapat


pada write statement pada list buffer.
Solusi:

START-OF-SELECTION.

4. Supaya dapat mengakses key values dari setiap baris ketika basic list row dipilih,
buat Hide area dalam program sesudah blok program untuk menampilkan basic
list. Key values yang relevan dalam hal ini adalah wa_flight-carrid, wa_flight-
connid, wa_flight-fldate
Solusi:

HIDE: wa_flight-carrid, wa_flight-connid, wa_flight-fldate.

5. Buat event AT LINE-SELECTION untuk implementasi list dari basic list diatas dan
gunakan sy-lsind untuk memilih list yang akan ditampilkan (dalam kasus ini karena
hanya ada satu list, maka sylsind nilainya 1). Sy-lsind ini digunakan sebagai kontrol
untuk pengaturan list dalam blok AT LINE-SELECTION. Gunakan uline skip untuk
menstrukturkan list. Lalu retrieve semua data booking dari jadwal penerbangan
yang dipilih dari database table sbook dan tampilkan dalam detail list. Tampilkan
hanya field Bookid, customid, custtype, class, order_date, smoker, cancelled.

Solusi:

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 46
ABAP Programming Modul
Praktikum I

AT LINE-SELECTION.
IF sy-lsind = 1.
WRITE: wa_flight-carrid,
wa_flight-connid, wa_flight-
fldate.

ULINE.
SKIP.

* daftar booking dari penerbangan yang dipilih


SELECT bookid customid custtype class order_date smoker
cancelled
FROM sbook INTO CORRESPONDING FIELDS OF wa_sbook
WHERE carrid = wa_flight-carrid
AND connid = wa_flight-connid
AND fldate = wa_flight-fldate.

* menampilkan list
WRITE: / wa_sbook-bookid,
wa_sbook-customid, wa_sbook-
custtype, wa_sbook-class,
wa_sbook-order_date, wa_sbook-
smoker, wa_sbook-cancelled.
ENDSELECT.
ENDIF.
CLEAR wa_flight.

6. Jalankan program tersebut.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 47
ABAP Programming Modul
Praktikum I

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 48
ABAP Programming Modul
Praktikum I

Solusi Lengkap:

*&---------------------------------------------------------------------*
*& Report Z10578094_DETAIL_LIST
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT Z10578094_DETAIL_LIST.

TYPES: BEGIN OF z10578094_sbc400focc,


carrid TYPE s_carr_id, connid TYPE
s_conn_id, fldate TYPE s_date,
seatsmax TYPE s_seatsmax, seatsocc
TYPE s_seatsocc, percentage(3) TYPE p
DECIMALS 2, END OF
z10578094_sbc400focc.

DATA: wa_flight TYPE z10578094_sbc400focc,


wa_sbook type sbook.

PARAMETERS pa_car TYPE s_carr_id.


start-of-selection.

SELECT carrid connid fldate seatsmax seatsocc


FROM sflight
INTO CORRESPONDING FIELDS OF wa_flight
WHERE carrid = pa_car.

*menghitung persentase okupasi untuk setiap penerbangan


wa_flight-percentage = wa_flight-seatsocc / wa_flight-seatsmax.

WRITE: / wa_flight-carrid,
wa_flight-connid, wa_flight-fldate,
wa_flight-seatsmax, wa_flight-
seatsocc, wa_flight-percentage.
hide: wa_flight-carrid, wa_flight-connid, wa_flight-fldate.

ENDSELECT.
IF sy-subrc NE 0.
WRITE: ' No ', pa_car, 'flight found !'.
ENDIF.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 49
ABAP Programming Modul
Praktikum I
at line-selection.
if sy-lsind = 1.
write: wa_flight-carrid,
wa_flight-connid, wa_flight-fldate.

uline.
skip.

* daftar booking dari penerbangan yang dipilih


select bookid customid custtype class order_date smoker cancelled
from sbook into corresponding fields of wa_sbook where carrid =
wa_flight-carrid and connid = wa_flight-connid and fldate
= wa_flight-fldate.

* menampilkan list
write: / wa_sbook-bookid,
wa_sbook-customid,
wa_sbook-custtype,
wa_sbook-class, wa_sbook-
order_date, wa_sbook-
smoker, wa_sbook-
cancelled. endselect.
endif. clear wa_flight.

6 SCREEN
6.1 Tujuan
Setelah melaksanakan praktikum ini mahasiswa diharapkan dapat:
1. Memhami konsep screen dalam ABAP
2. Membuat screen dan memanggilnya
3. Melakukan transfer data antar screen
4. Melengkapi screen dengan pushbutton

6.2 Praktek

6.2.1 PROGRAM Z##_SEL_SCREEN


1. Salin program Z##_DETAIL_LIST yang sudah dibuat sebelumnya ke dalam program
Z##_SEL_SCREEN.
2. Buat SELECT-OPTION pada variabel so_con untuk wa_flight-carrid.

Solusi:

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 50
ABAP Programming Modul
Praktikum I

SELECT-OPTIONS so_con FOR wa_flight-connid

3. Tambahkan kondisi connid untuk so_con pada blok select.

Solusi:

SELECT carrid connid fldate seatsmax seatsocc


FROM sflight
INTO CORRESPONDING FIELDS OF wa_flight
WHERE carrid = pa_car AND connid IN
so_con.

4. Jalankan program tersebut.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 51
ABAP Programming Modul
Praktikum I

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 52
ABAP Programming Modul
Praktikum I

Solusi Lengkap:

*&---------------------------------------------------------------------*
*& Report Z10578094_SEL_SCREEN
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT z10578094_sel_screen.

TYPES: BEGIN OF z10578094_sbc400focc,


carrid TYPE s_carr_id, connid TYPE
s_conn_id, fldate TYPE s_date,
seatsmax TYPE s_seatsmax, seatsocc
TYPE s_seatsocc, percentage(3) TYPE p
DECIMALS 2, END OF
z10578094_sbc400focc.

DATA: wa_flight TYPE z10578094_sbc400focc,


wa_sbook TYPE sbook.

PARAMETERS pa_car TYPE s_carr_id.

SELECT-OPTIONS so_con FOR wa_flight-connid.

START-OF-SELECTION.

SELECT carrid connid fldate seatsmax seatsocc


FROM sflight
INTO CORRESPONDING FIELDS OF wa_flight
WHERE carrid = pa_car AND

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 53
ABAP Programming Modul
Praktikum I
connid IN so_con.

*menghitung persentase okupasi untuk setiap penerbangan


wa_flight-percentage = wa_flight-seatsocc / wa_flight-seatsmax.

WRITE: / wa_flight-carrid,
wa_flight-connid, wa_flight-fldate,
wa_flight-seatsmax, wa_flight-seatsocc,
wa_flight-percentage.

HIDE: wa_flight-carrid, wa_flight-connid, wa_flight-fldate.

ENDSELECT.
IF sy-subrc NE 0.
WRITE: ' No ', pa_car, 'flight found !'.
ENDIF.

AT LINE-SELECTION.
IF sy-lsind = 1.
WRITE: wa_flight-carrid, wa_flight-
connid, wa_flight-fldate.

ULINE.
SKIP.

* daftar booking dari penerbangan yang dipilih


SELECT bookid customid custtype class order_date smoker cancelled
FROM sbook INTO CORRESPONDING FIELDS OF wa_sbook
WHERE carrid = wa_flight-carrid
AND connid = wa_flight-connid
AND fldate = wa_flight-fldate.

* menampilkan list
WRITE: / wa_sbook-bookid,
wa_sbook-customid, wa_sbook-custtype,
wa_sbook-class, wa_sbook-order_date,
wa_sbook-smoker, wa_sbook-cancelled.
ENDSELECT.
ENDIF.
CLEAR wa_flight.

6.2.2 PROGRAM Z##_DYNPRO_1 (CREATING AND CALLING


SCREEN)

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 54
ABAP Programming Modul
Praktikum I

1. Buat program Z##_DYNPRO_1 sebagai berikut:

*&---------------------------------------------------------------------*
*& Report Z10578094_DYNPRO_1 *
*&---------------------------------------------------------------------*
REPORT z10578094_dynpro_1.

PARAMETERS pa_anum TYPE sbook-agencynum.

* workarea for SELECT DATA


wa_sbook TYPE sbook.

START-OF-SELECTION.

SELECT carrid connid fldate bookid


FROM sbook
INTO CORRESPONDING FIELDS OF wa_sbook
WHERE agencynum = pa_anum.

IF sy-subrc = 0.
WRITE: / wa_sbook-carrid COLOR col_key,
wa_sbook-connid COLOR col_key,
wa_sbook-fldate COLOR col_key,
wa_sbook-bookid COLOR col_key. ENDIF.

ENDSELECT.

2. Jalankan program tersebut dengan dimana travel agency number adalah 188

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 55
ABAP Programming Modul
Praktikum I

3. Tambahkan kode pada event AT LINE-SELECTION sehingga ketika suatu baris dalam
basic list (booking data) dipilih maka akan memanggil screen. Buat screen ini
dengan menggunakan forward navigation. Beri nomor screen tersebut 100.

AT LINE-SELECTION.

CALL SCREEN 100.

4. Double click 100, akan muncul dialog untuk membuat screen baru, pilih yes.

5. Isi atribut pada screen tersebut sebagai berikut.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 56
ABAP Programming Modul
Praktikum I

Atribut Value
Short Mengubah booking data Z##
Descripton
Next Screen 0
Mainten 21
83

6. Save, lalu jalankan program tersebut. Maka ketika melakukan double click pada
basic list akan memanggil screen 100.
7. Kembali ke program, lalu panggi kembali screen 100, pilih Grapich Layout Editor,
sehingga akan tampil gambar seperti berikut:

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 57
ABAP Programming Modul
Praktikum I

8. Pada Screen Painter tersebut Panggil dictionary/Program Field Window (atau F6),
lalu isi table/field Name dengan sdyn_book, lalu pilih Get From Dictionary. Maka
akan muncul layar sebagai berikut:

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 58
ABAP Programming Modul
Praktikum I

9. Pilih Field berikut: CARRID, CONNID, FLDATE, BOOKID, CUTOMID, dan LOCCURAM
disalin dengan field label-nya, sedangkan LOCCURKEY disalin tanpa dengan field
label-nya.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 59
ABAP Programming Modul
Praktikum I

10.Setelah itu enter, lalu drag and drop field kepada screen.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 60
ABAP Programming Modul
Praktikum I

11.Kelola screen element attribute, dimana CARRID, CONNID, FLDATE, BOOKID, dan
CUSTOMID, ditampilkan sebagai output fields, atribut LOCCURAM ditampilkan
sebagai as changeable (atribut: Input Field + Output Field), dan atribut LOCCURKEY
ditampillkan sebagai as a nonchangeable display field without field box (atribut:
Output Only). Seperti terlihat pada gambar berikut.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 61
ABAP Programming Modul
Praktikum I

12.Save, lalu jalankan program. Ketika basic list di-double click, maka akan muncul
screen baru. Seperti pada gambar berikut.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 62
ABAP Programming Modul
Praktikum I

6.2.3 PROGRAM Z##_DYNPRO_2 (DATA


TRANSPORT)
1. Buat program beru dengan nama Z##_DYNPRO_2 dengan menyalin dari
program sebelumnya atau dengan cara melanjutkan program sebelumnya
(Z##_DYNPRO_1).
2. Pada program ini gunakan TABLES statement untuk membuat suatu work
area. Work area ini akan digunakan untuk keperluan tranport data dari/ke
screen. Work area yang dibuat harus memiliki nama yang sama dengan
struktur yang digunakan dalam screen.

* workarea for data communication with screen TABLES sdyn_book.

3. Tambahkan program sehingga ketika memilih basic list (carrid, connid, fldate, dan
bookid), maka akan menampilkan data detail list pada screen 100.

START-OF-SELECTION.

SELECT carrid connid fldate bookid


FROM sbook
INTO CORRESPONDING FIELDS OF wa_sbook
WHERE agencynum = pa_anum.

IF sy-subrc = 0.
WRITE: / wa_sbook-carrid COLOR COL_KEY,
wa_sbook-connid COLOR COL_KEY,
wa_sbook-fldate COLOR COL_KEY,
wa_sbook-bookid COLOR COL_KEY. HIDE:
wa_sbook-carrid, wa_sbook-connid,
wa_sbook-fldate, wa_sbook-bookid.
ENDIF.

ENDSELECT.

CLEAR wa_sbook.

AT LINE-SELECTION.

IF sy-subrc = 0.

SELECT SINGLE * FROM sbook INTO wa_sbook


WHERE carrid = wa_sbook-carrid
AND connid = wa_sbook-connid

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 63
ABAP Programming Modul
Praktikum I
AND fldate =
wa_sbook-fldate AND
bookid = wa_sbook-bookid.
ENDIF.

CLEAR wa_sbook.

4. Sebelum memanggil screen salin data dari work area (dalam hal ini adalah
wa_sbook) ketika kondisi pada point 3 di atas terpenuhi ke dalam TABLES work area
sehingga data tersebut ditranspor kepada screen secara otomatis.

IF sy-subrc = 0.
MOVE-CORRESPONDING wa_sbook TO sdyn_book.
CALL SCREEN 100.
ENDIF.

5. Jalankan program tersebut, sehingga ketika suat baris pada basicl list dipilih akan
menampilkan data detil list di screen 100 sebagaimana gambar berikut:

6. Berikut program lengkapnya.

*&---------------------------------------------------------------------
*
*& Report Z10578094_DYNPRO
*&
*&---------------------------------------------------------------------

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 64
ABAP Programming Modul
Praktikum I

*
*&
*&
*&---------------------------------------------------------------------
*

REPORT z10578094_dynpro.
PARAMETERS pa_anum TYPE sbook-agencynum.

* workarea for SELECT


DATA wa_sbook TYPE
sbook.

* workarea for data


communication with
screen TABLES
sdyn_book.

START-OF-SELECTION.

SELECT carrid connid fldate bookid


FROM sbook
INTO CORRESPONDING FIELDS OF wa_sbook
WHERE agencynum = pa_anum.

IF sy-subrc = 0.
WRITE: / wa_sbook-carrid COLOR COL_KEY,
wa_sbook-connid COLOR COL_KEY,
wa_sbook-fldate COLOR COL_KEY,
wa_sbook-bookid COLOR COL_KEY. HIDE:
wa_sbook-carrid, wa_sbook-connid,
wa_sbook-fldate, wa_sbook-bookid.
ENDIF.

ENDSELECT.

CLEAR wa_sbook.

AT LINE-SELECTION.

IF sy-subrc = 0.

SELECT SINGLE * FROM sbook INTO wa_sbook


WHERE carrid = wa_sbook-carrid
AND connid = wa_sbook-connid
AND fldate = wa_sbook-fldate
AND bookid = wa_sbook-bookid.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 65
ABAP Programming Modul
Praktikum I

IF sy-subrc = 0.
MOVE-CORRESPONDING wa_sbook TO sdyn_book.
CALL SCREEN 100.
ENDIF.
ENDIF.

CLEAR wa_sbook.

6.2.4 PROGRAM Z##_DYNPRO_3 (Membuat pushtutton)


1. Buat program beru dengan nama Z##_DYNPRO_2 dengan menyalin dari program
sebelumnya atau dengan cara menglanjutkan program sebelumnya
(Z##_DYNPRO_1).
2. Pada screen tambahkan pushbutton untuk mengembalikan screen ke basic list
(Back) dan untuk menyimpan data ke data base (Save).

Nama of Push Text Function


Button Code
PUSH_BACK Back BACK
PUSH_SAVE Save (atau dengan menggunakan SAVE
icon ICON_SYSTEM_SAVE)

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 66
ABAP Programming Modul
Praktikum I

3. Sehingga tampilan screen 100 kita menjadi seperti berikut.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 67
ABAP Programming Modul
Praktikum I

4. Lihat tab element list pada screen layout, maka terlihat pushbutton tersebut sudah
ditambahkan pada element list. Lalu Beri nama OK type field pada baris terakhir
misalnya dengan OK_CODE seperti terlihat pada gambar.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 68
ABAP Programming Modul
Praktikum I

5. Buat model clear_ok_ok dan modul user_command_0100 berikut yang ditempatkan


pada akhir source program.

*&---------------------------------------------------------------------*
*& Module CLEAR_OK_CODE OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE clear_ok_code OUTPUT.
CLEAR ok_code.
ENDMODULE. " CLEAR_OK_CODE OUTPUT

*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT *
*&---------------------------------------------------------------------*
* text *
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.

CASE ok_code.
WHEN 'BACK'.
SET SCREEN 0.
WHEN 'SAVE'.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 69
ABAP Programming Modul
Praktikum I
MOVE-CORRESPONDING sdyn_book TO wa_sbook.
SET SCREEN 100.
ENDCASE.

ENDMODULE. " USER_COMMAND_0100 INPUT

6. Implementasikan flow logic PAI (Process After Input) modul dan PBO (Process Before
Output) module sebagai berikut dengan memanggil modul di atas.

PROCESS BEFORE OUTPUT.


* MODULE STATUS_0100.
MODULE clear_ok_code.

PROCESS AFTER INPUT.


MODULE user_command_0100.

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 70
ABAP Programming Modul
Praktikum I

Ari Yanuar Ridwan 2012


SAP University Partnership Program Politeknik Pos Indonesia - 71

Anda mungkin juga menyukai