Tutorial Pemrograman Dialog: Kumpulan Modul di SAP ABAP

⚡ Ringkasan Cerdas

Pemrograman Dialog dalam SAP ABAP membangun program-program dalam module pool yang berinteraksi dengan pengguna melalui layar dan mengubah isi database. Halaman ini menjelaskan kode transaksi, layar, status GUI, logika alur layar, dynpro, dan struktur module pool.

  • 💬 Definisi Inti: Program dialog menangani setiap interaksi pengguna, seperti memasukkan data, memilih item menu, atau mengklik tombol, dan dapat memperbarui basis data.
  • 🅼 Jenis Program: Program dialog adalah kumpulan modul tipe M, tidak dapat berjalan sendiri, dan harus dilampirkan ke setidaknya satu kode transaksi dengan layar awal.
  • 🧩 Komponen: Kode transaksi, layar, status GUI, kumpulan modul ABAP, dan logika alur secara bersama-sama membentuk satu aplikasi dialog.
  • 🔄 Logika Alur: PBO berjalan sebelum layar muncul, PAI berjalan setelah tindakan pengguna, POH menjawab F1, dan POV menjawab F4.
  • ️ Dynpro: Sebuah layar beserta logika alurnya disebut dynpro, dan setiap dynpro mengontrol tepat satu langkah dari dialog tersebut.
  • 📦 Kumpulan Modul: Semua dynpro yang dipanggil dalam satu transaksi merujuk ke kumpulan modul umum yang menyimpan modul dialog.
  • ️ Jalur Pembuatan: SE80 membuat kumpulan modul, SE51 mendesain layar, SE41 membangun status GUI, dan SE93 menghubungkan kode transaksi.

SAP Pemrograman Dialog ABAP

Apa itu Pemrograman Dialog?

SAP-ABAP mendukung dua jenis program – Program Laporan dan Program Dialog.

Jika program ABAP Anda memerlukan input pengguna, pemrograman Dialog digunakan.

Dialog pengguna adalah segala bentuk interaksi antara pengguna dan program dan dapat berupa salah satu dari hal-hal berikut:

  • Memasukkan data
  • Memilih item menu
  • Mengklik tombol
  • Mengklik atau mengklik dua kali entri

Program dialog juga digunakan ketika kita perlu bernavigasi bolak-balik antar layar

Program dialog dibuat dengan tipe 'M' – Module Pool. Mereka tidak dapat dieksekusi secara independen dan harus dilampirkan ke setidaknya satu kode transaksi yang Anda tentukan pada layar awal.

Perbedaan antara Program Laporan dan Dialog

Perbedaan antara Program Laporan dan Dialog

Program Laporan:

Laporan adalah program yang biasanya membaca dan menganalisis data dalam tabel database tanpa mengubah Database.

Program Dialog:

Program dialog memungkinkan Anda bekerja secara interaktif dengan sistem dan mengubah konten tabel database. Setiap program dialog memiliki urutan layar tertentu yang diproses oleh sistem satu demi satu.

Kriteria Laporan Program Program Dialog
Jenis program Tipe 1, dapat dieksekusi Tipe M, kumpulan modul
Akses basis data Membaca dan menganalisis data Membaca dan mengubah data
Execution Berjalan dengan sendirinya Hanya berjalan melalui kode transaksi.
kontrol Peristiwa-peristiwa dalam laporan tersebut Logika alur layar dari setiap dynpro

Urutan tampilan layar dalam transaksi dialog lebih mudah dipahami dengan sebuah contoh.

Contoh pemrosesan transaksi dalam Pemrograman Dialog

Contoh pemrosesan transaksi

Diagram ini mengikuti satu transaksi dari layar pertama hingga pembaruan basis data. Pengguna memasukkan data di layar 100, PAI memvalidasi entri dan menentukan layar berikutnya, layar 200 mengumpulkan data yang tersisa, dan tugas pembaruan akhirnya menulis catatan. Setiap langkah tersebut dihasilkan oleh komponen-komponen yang tercantum di bawah ini.

Komponen Program Dialog

Berbeda melaporkan yang secara umum memerlukan pembuatan satu program otonom yang dapat dijalankan secara independen dari objek lain, pengembangan program dialog memerlukan pengembangan beberapa objek yang tidak satupun dapat dijalankan sendiri. Sebaliknya semua objek dihubungkan secara hierarkis ke program utama dan dieksekusi dalam urutan yang ditentukan oleh Program Utama Dialog.

Komponen program dialog adalah:

Kode transaksi

  • Kode transaksi memulai urutan layar.
  • Anda membuat kode transaksi di Repository Browser di ABAP Workbench atau menggunakan Transaction SE93.
  • Kode transaksi ditautkan ke program ABAP dan layar awal.
  • Anda dapat memulai urutan layar dari program ABAP mana pun menggunakan pernyataan CALL SCREEN.

Layar

  • Setiap dialog dalam sebuah SAP sistem dikendalikan oleh satu atau lebih layar.
  • Anda membuat layar menggunakan Layar Painter di ABAP Workbench melalui transaksi SE51
  • Setiap layar milik an program ABAP.
  • Layar ini terdiri dari "screen mask" atau "layout" dan logika alirannya. Layar memiliki tata letak yang menentukan posisi bidang input/output dan elemen grafis lainnya seperti kotak centang dan tombol radio. Logika aliran menentukan pemrosesan logis dalam layar.

Status GUI

  • Setiap layar memiliki status GUI yang merupakan komponen independen dari suatu program.
  • Ini mengontrol bilah menu, toolbar standar, toolbar aplikasi, yang dengannya pengguna dapat memilih fungsi dalam aplikasi.
  • Anda membuatnya di ABAP Workbench menggunakan Menu Painter.

Program ABAP

  • Setiap layar dan status GUI di Sistem R/3 dimiliki oleh satu program ABAP.
  • Program ABAP berisi modul dialog yang dipanggil oleh logika aliran layar, dan juga memproses input pengguna dari status GUI.
  • Program ABAP yang menggunakan layar disebut juga program dialog.
  • Dalam kumpulan modul (program tipe M); blok pemrosesan pertama yang dipanggil selalu berupa modul dialog. Namun, Anda juga dapat menggunakan layar di program ABAP lainnya, seperti program yang dapat dijalankan atau modul fungsi. Blok pemrosesan pertama kemudian dipanggil secara berbeda; misalnya, oleh lingkungan runtime atau panggilan prosedur. Urutan layar kemudian dimulai menggunakan pernyataan CALL SCREEN.

Logika Aliran Layar

Logika Screen Flow pada dasarnya dibagi menjadi empat komponen.

  • Proses Sebelum Keluaran (PBO) event: yang diproses sebelum layar ditampilkan
  • Proses Setelah Masukan (PAI) acara: yang diproses setelah tindakan pengguna di layar
  • Proses berdasarkan permintaan bantuan (P.O.H.): yang diproses ketika F1 ditekan
  • Proses berdasarkan permintaan nilai (POV):yang diproses ketika F4 ditekan

POH dan POV dijelaskan secara detail di halaman tentang proses pada permintaan nilai dan proses pada permintaan bantuan.

Dynpro

  • Sebuah layar beserta logika alurnya disebut Dynpro (“Program Dinamis” karena logika alur layar memengaruhi alur program).
  • Setiap dynpro mengontrol tepat satu langkah Program Dialog Anda.
  • Layar milik suatu program adalah bernomorAlur proses layar dapat berupa linear atau siklik. Dari dalam rantai layar, Anda bahkan dapat memanggil rantai layar lain dan, setelah memprosesnya, kembali ke rantai semula. Anda juga dapat menimpa layar berikutnya yang didefinisikan secara statis dari dalam modul dialog program ABAP.

Kumpulan Modul ABAP

  • Pada suatu kejadian PBO atau PAI, Dynpro memanggil program dialog ABAP. Kumpulan program-program tersebut disebut kumpulan modul ABAP.
  • Misalnya modul yang dipanggil pada acara PAI digunakan untuk memeriksa input pengguna dan memicu langkah-langkah dialog yang sesuai, seperti tugas pembaruan.
  • Semua dynpro dipanggil dari dalam satu transaksi mengacu pada kumpulan modul umum.

Struktur Program Dialog

Struktur Program Dialog

Diagram struktur menunjukkan bagaimana kode transaksi, layar, status GUI, dan kumpulan modul terhubung ke program utama yang sama.

Alur Proses untuk Program Dialog

Alur Proses untuk Program Dialog

Diagram alur proses menunjukkan pergantian antara layar dan program ABAP: PBO mengisi kolom layar, pengguna melakukan tindakan, dan PAI memproses input sebelum layar berikutnya dipanggil.

Cara Membuat Program Kumpulan Modul

Komponen-komponen di atas dibuat dalam urutan tetap. Langkah-langkah di bawah ini membangun transaksi yang berfungsi dari kumpulan modul kosong.

  1. Buat kumpulan modul: Di SE80, atau di SE38, buat program yang namanya diawali dengan SAPMZ dan atur tipe program ke M – Kumpulan modulTipe tersebut tidak dapat diubah kemudian tanpa menghapus objek tersebut.
  2. Nyatakan data global: Letakkan pernyataan TABLES dan variabel global di dalam include TOP, yang dapat dibaca oleh setiap modul dialog dalam pool tersebut.
  3. Rancang layarnya: Buat layar 100 dengan Layar Painter (SE51), tempatkan kolom input pada tata letak, dan masukkan nomor layar berikutnya di atribut layar.
  4. Tuliskan logika alurnya: Pada tab Logika Alur, panggil satu modul untuk PBO dan satu untuk PAI, seperti yang ditunjukkan di bawah ini.
  5. Buat status GUI: Buat status dengan Menu Painter (SE41) dan atur di modul PBO dengan pernyataan SET PF-STATUS, sehingga Save, Back, dan Exit mencapai program sebagai kode fungsi.
  6. Tautkan kode transaksi: Di SE93, buat transaksi dialog, beri nama module pool, dan masukkan 100 sebagai layar awal.
* Screen 100, flow logic
PROCESS BEFORE OUTPUT.
  MODULE status_0100.

PROCESS AFTER INPUT.
  MODULE user_command_0100.

* Module pool SAPMZDEMO
MODULE status_0100 OUTPUT.
  SET PF-STATUS 'STATUS_100'.
  SET TITLEBAR 'TITLE_100'.
ENDMODULE.

MODULE user_command_0100 INPUT.
  CASE sy-ucomm.
    WHEN 'SAVE'.
      PERFORM save_data.
    WHEN 'BACK' OR 'EXIT'.
      LEAVE TO SCREEN 0.
  ENDCASE.
ENDMODULE.

💡 Kiat: LEAVE TO SCREEN 0 mengakhiri layar saat ini dan kembali ke titik pemanggilan, yang merupakan cara standar untuk meninggalkan transaksi dialog dengan bersih.

Pertanyaan Umum Demo Slot

Perintah CALL SCREEN membuka layar baru dan mempertahankan layar pemanggil di tumpukan, sehingga pemrosesan kembali ke layar tersebut. Perintah LEAVE TO SCREEN mengganti layar saat ini, dan tidak ada yang kembali ke pemanggil.

Kumpulan modul bernama SAPMZDEMO dibagi menjadi MZDEMOTOP untuk data global, MZDEMOO01 untuk modul PBO, MZDEMOI01 untuk modul PAI, dan MZDEMOF01 untuk subrutin. Workbench membuatnya secara otomatis.

Berikan tipe fungsi tombol E pada status GUI dan panggil modulnya dengan MODULE exit AT EXIT-COMMAND. Modul tersebut kemudian akan berjalan sebelum validasi field, sehingga pengguna dapat meninggalkan layar dengan entri yang tidak valid.

Ya. Asisten AI di dalam alat pengembangan ABAP menyusun modul PBO dan PAI, pernyataan CASE pada SY-UCOMM, dan validasi field dari deskripsi layar. Tata letaknya sendiri masih digambar di Layar. Painter.

Dynpro masih menjalankan setiap mesin klasik. SAP Transaksi GUI. Antarmuka pengguna baru biasanya dibangun dengan Fiori, dan alat AI membantu dengan membaca logika alur yang ada dan mengusulkan desain layanan dan aplikasi yang setara.

Ringkaslah postingan ini dengan: