+ All Categories
Home > Documents > Modul Praktek ABAP I v1

Modul Praktek ABAP I v1

Date post: 17-Feb-2016
Category:
Upload: rangga-dov
View: 170 times
Download: 37 times
Share this document with a friend
Description:
Abap 1
Popular Tags:
67
ABAP MODUL PRAKTIKUM 1 Version 1.0 (2012) SAP University Partnership Program Politeknik Pos Indonesia Disusun Oleh: Ari Yanuar Ridwan, S.T.,M.T.
Transcript
Page 1: Modul Praktek ABAP I v1

ABAP MODUL PRAKTIKUM 1 Version 1.0 (2012)

SAP University Partnership Program

Politeknik Pos Indonesia

Disusun Oleh: Ari Yanuar Ridwan, S.T.,M.T.

Page 2: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 2

Daftar ISi

1 Pendahuluan ......................................................................................................................................... 4

1.1 Mempersiapkan Sistem Sap Netweaver 7 Pada VM Ware ........................................................... 4

1.2 Tujuan ........................................................................................................................................... 4

1.3 Praktek .......................................................................................................................................... 4

1.3.1 Menjalankan SAP ABAP Netweaver pada VMWare .............................................................. 4

1.3.2 Melakukan Log on kepada sistem untuk pertama kali ......................................................... 9

1.3.3 Menjalankan Object navigator ............................................................................................ 12

1.4 Tugas 1. ....................................................................................................................................... 13

2 Membuat Package, Program dan Transaction .................................................................................... 14

2.1 Tujuan ......................................................................................................................................... 14

2.2 Praktek ........................................................................................................................................ 14

2.2.1 Membuat Package .............................................................................................................. 14

2.2.2 Membuat Program ABAP Sederhana Z#_GS ....................................................................... 18

2.2.3 Aktivasi Objek ...................................................................................................................... 22

2.2.4 Membuat Transactions. ...................................................................................................... 22

2.3 Tugas 2. ....................................................................................................................................... 27

3 Elemen Dasar dalam Bahasa Pemrograman ABAB ............................................................................. 28

3.1 Tujuan ......................................................................................................................................... 28

3.2 Praktek ........................................................................................................................................ 28

3.2.1 Membuat Program Z#_COMPUTE ...................................................................................... 28

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) ........................ 32

3.3 Tugas 3 ........................................................................................................................................ 35

4 Working With Structure And Internal Table ....................................................................................... 36

4.1 Tujuan ......................................................................................................................................... 36

4.2 Praktek ........................................................................................................................................ 36

Page 3: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 3

4.2.1 Membuat program Z##_SELECT_SFLIGHT (select loop) ..................................................... 36

4.2.2 Membuat program Z##_SELECT_SFLIGHT_ITAB (menggunakan struktur dan internal

tabel) 39

4.3 Tugas 4 ........................................................................................................................................ 42

5 Event And List...................................................................................................................................... 43

5.1 Tujuan ......................................................................................................................................... 43

5.2 Praktek. ....................................................................................................................................... 43

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) ........................................ 52

6.2.3 PROGRAM Z##_DYNPRO_2 (DATA TRANSPORT) ................................................................ 60

6.2.4 PROGRAM Z##_DYNPRO_3 (Membuat pushtutton) ......................................................... 63

Page 4: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 4

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.

Page 5: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 5

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

Page 6: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 6

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

Page 7: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 7

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

Page 8: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 8

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

Page 9: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 9

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

Page 10: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 10

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

Page 11: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 11

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.

Page 12: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 12

1.3.3 Menjalankan Object navigator

1. Object Navigator adalah linkungan pengembangan yang biasa digunakan untuk mengelola ABAP. 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.

Page 13: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 13

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.

Page 14: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 14

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.

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.

Page 15: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 15

b) Dari Edit Object:

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 Component CA Komponen aplikasi dimana package yang dibuat ini berada

Software Development HOME

Transport Layer ZNSP Kemana development object akan ditransport

Page 16: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 16

Package Type No Main Package

3. Assign package kepada change request. Bisa dengan membuat change request baru atau di-assign 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

Page 17: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 17

4. Access Key

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

Page 18: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 18

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.

Page 19: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 19

c. Cara ketiga, melalui Edit Object, dengan cara yang sama seperti pada membuat package.

- Masukkan nama program, pilih radio button Program, lalu enter.

Page 20: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 20

- Masukkan nama program, lalu enter.

- Isi atribut program, lalu save

- Assign program kepada package, lalu save

Page 21: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 21

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

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

- Buat program seperti berikut, lalu save.

Page 22: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 22

- 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 juga misalnya untuk membuat transaction seperti pada latihannya berikutnya. Proses mengkatifkan objek tersebut adalah dengan menggunakan tombol active

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.

Page 23: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 23

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

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

Page 24: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 24

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.

6. Menjalankan transaki bisa dilakukan dengan cara beriku: a. Dari transaction screen jalankan menu direct transaction

Page 25: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 25

b. Dari context menu pada transaction

7. Untuk menjalankan transaction dari SAP Easy Access menu bisa dilakukan dengan cara: a. Menjalankan langsung dari command fied.

Page 26: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 26

b. Menambahkan menjadi favorites. - Jalankan contex menu pada favorites, lalu pilih insert transaction

- Lalu akan muncul dialog untuk memasukkan nama transaction, lalu tekan enter.

Page 27: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 27

- 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.

Page 28: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 28

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.

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

Page 29: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 29

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.

Page 30: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 30

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,

' = ' ,

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,

Page 31: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 31

' = ',

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.

* 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:

Page 32: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 32

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.

Page 33: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 33

* (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.

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,

Page 34: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 34

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:

Page 35: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 35

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

Page 36: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 36

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. Solusi:

Page 37: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 37

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

Page 38: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 38

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.

*menghitung persentase okupasi untuk setiap penerbangan

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

Page 39: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 39

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:

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).

Page 40: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 40

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:

10. Jalankan program tersebut

Solusi:

Page 41: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 41

Solusi lengkap:

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

*& Report Z10578094_SELECT_SFLIGHT_ITAB

*&

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

*&

*&

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

REPORT z10578094_select_sflight_itab.

Page 42: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 42

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.

Page 43: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 43

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 sy-lsind 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:

AT LINE-SELECTION.

IF sy-lsind = 1.

WRITE: wa_flight-carrid,

Page 44: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 44

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.

Page 45: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 45

Page 46: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 46

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.

Page 47: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 47

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.

Page 48: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 48

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:

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.

Page 49: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 49

Page 50: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 50

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

Page 51: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 51

FROM sflight

INTO CORRESPONDING FIELDS OF wa_flight

WHERE carrid = pa_car

AND 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.

Page 52: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 52

6.2.2 PROGRAM Z##_DYNPRO_1 (CREATING AND CALLING SCREEN)

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

Page 53: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 53

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.

Page 54: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 54

Atribut Value

Short Descripton Mengubah booking data Z##

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:

Page 55: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 55

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:

Page 56: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 56

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

Page 57: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 57

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

Page 58: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 58

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 non-changeable display field without “field box” (atribut: Output Only). Seperti terlihat pada gambar berikut.

Page 59: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 59

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

Page 60: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 60

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

AND fldate = wa_sbook-fldate

AND bookid = wa_sbook-bookid.

ENDIF.

CLEAR wa_sbook.

Page 61: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 61

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

*&

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

*

*&

*&

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

*

REPORT z10578094_dynpro.

Page 62: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 62

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.

IF sy-subrc = 0.

MOVE-CORRESPONDING wa_sbook TO sdyn_book.

CALL SCREEN 100.

ENDIF.

ENDIF.

CLEAR wa_sbook.

Page 63: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 63

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 Button Text Function Code PUSH_BACK Back BACK PUSH_SAVE Save (atau dengan menggunakan icon

ICON_SYSTEM_SAVE) SAVE

3. Sehingga tampilan screen 100 kita menjadi seperti berikut.

Page 64: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 64

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.

Page 65: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 65

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'.

MOVE-CORRESPONDING sdyn_book TO wa_sbook.

SET SCREEN 100.

ENDCASE.

Page 66: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 66

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.

Page 67: Modul Praktek ABAP I v1

ABAP Programming Modul Praktikum I

© Ari Yanuar Ridwan 2012

SAP University Partnership Program Politeknik Pos Indonesia - 67


Recommended