Diyalog Programlama Eğitimi: Modül Havuzu SAP ABAP
⚡ Akıllı Özet
Diyalog Programlamada SAP ABAP, kullanıcıyla ekranlar aracılığıyla etkileşim kuran ve veritabanı içeriğini değiştiren modül havuzu programları oluşturur. Bu sayfa, işlem kodlarını, ekranları, GUI durumunu, ekran akış mantığını, dynpro'ları ve modül havuzu yapısını açıklamaktadır.
Diyalog Programlama Nedir?
SAP-ABAP iki tür programı destekler – Rapor Programı ve Diyalog Programı.
ABAP programınız kullanıcı girişi gerektiriyorsa Dialog programlama kullanılır.
Kullanıcı diyaloğu, kullanıcı ile program arasındaki her türlü etkileşim biçimidir ve aşağıdakilerden herhangi biri olabilir.
- Veri giriliyor
- Bir menü öğesi seçme
- Bir düğmeye tıklamak
- Bir girdiye tıklama veya çift tıklama
Diyalog programı aynı zamanda ekranlar arasında ileri geri gitmemiz gerektiğinde de kullanılır.
Diyalog programları 'M' – Modül Havuzu tipinde oluşturulur. Bağımsız olarak yürütülemezler ve başlangıç ekranını belirttiğiniz en az bir işlem koduna eklenmeleri gerekir.
Rapor ve Diyalog Programları Arasındaki Fark
Rapor Programı:
Rapor, genellikle veritabanı tablolarındaki verileri, tabloların içeriğini değiştirmeden okuyan ve analiz eden bir programdır. veritabanı.
Diyalog Programı:
Bir diyalog programı, sistemle etkileşimli olarak çalışmanıza ve veritabanı tablolarının içeriğini değiştirmenize olanak tanır. Her diyalog programında sistem tarafından birbiri ardına işlenen belirli bir ekran dizisi bulunur.
| Kriterler | Raporlama Programı | Diyalog Programı |
|---|---|---|
| Program türü | Tip 1, çalıştırılabilir | Tip M, modül havuzu |
| Veritabanı erişimi | Verileri okur ve analiz eder. | Verileri okur ve değiştirir. |
| infaz | Kendi kendine çalışır | Yalnızca işlem kodu üzerinden çalışır. |
| Control | Rapordaki olaylar | Her bir Dynpro'nun ekran akış mantığı |
Bir diyalog işleminin ekran dizisini bir örnekle takip etmek daha kolaydır.
Diyalog Programlamada Örnek işlem işleme
Şema, ilk ekrandan veritabanı güncellemesine kadar bir işlemi takip eder. Kullanıcı 100 numaralı ekranda veri girer, PAI girişi doğrular ve bir sonraki ekranı belirler, 200 numaralı ekran kalan verileri toplar ve güncelleme görevi nihayet kaydı yazar. Bu adımların her biri aşağıda listelenen bileşenler tarafından üretilir.
Diyalog Programının Bileşenleri
aksine rapor Genellikle diğer nesnelerden bağımsız olarak yürütülebilen tek bir otonom programın oluşturulmasını gerektiren diyalog programı geliştirme, hiçbiri kendi başına yürütülemeyen birden fazla nesnenin geliştirilmesini gerektirir. Bunun yerine tüm nesneler hiyerarşik olarak ana programa bağlanır ve Dialog Ana Programı tarafından belirlenen bir sırayla yürütülür..
Bir diyalog programının bileşenleri şunlardır:
İşlem kodu
- İşlem kodu bir ekran dizisini başlatır.
- ABAP Workbench'teki Depo Tarayıcısında veya İşlem SE93'ü kullanarak işlem kodları oluşturursunuz.
- Bir işlem kodu bir ABAP programına ve bir başlangıç ekranına bağlanır.
- CALL SCREEN deyimini kullanarak herhangi bir ABAP programından bir ekran dizisi başlatabilirsiniz.
Ekranlar
- Her bir diyalogda SAP Sistem bir veya daha fazla ekran tarafından kontrol edilir.
- Ekranı kullanarak ekranlar oluşturursunuz Painter ABAP Workbench'te SE51 işlemi aracılığıyla
- Her ekran bir kişiye aittir. ABAP programı.
- Bu ekranlar bir "ekran maskesi" veya "düzen" ve onun akış mantığından oluşur. Ekranın giriş/çıkış alanlarının ve onay kutuları ve radyo düğmeleri gibi diğer grafiksel öğelerin konumlarını belirleyen bir düzeni vardır. Bir akış mantığı ekran içindeki mantıksal işlemeyi belirler.
GUI durumu
- Her ekranın, bir programın bağımsız bileşenleri olan bir GUI durumu/durumları vardır.
- Bu, kullanıcının uygulamadaki işlevleri seçebileceği menü çubuklarını, standart araç çubuğunu ve uygulama araç çubuğunu kontrol eder.
- Bunları ABAP Workbench'te Menüyü kullanarak oluşturursunuz Painter.
ABAP Programı
- R/3 Sistemindeki her ekran ve GUI durumu bir ABAP programına aittir.
- ABAP programı, ekran akış mantığı tarafından çağrılan diyalog modüllerini içerir ve ayrıca GUI durumundan kullanıcı girişini işler.
- Ekranları kullanan ABAP programlarına diyalog programları da denir.
- Bir modül havuzunda (M tipi program); çağrılacak ilk işlem bloğu her zaman bir diyalog modülüdür. Ancak çalıştırılabilir programlar veya fonksiyon modülleri gibi diğer ABAP programlarındaki ekranları da kullanabilirsiniz. İlk işlem bloğu daha sonra farklı şekilde çağrılır; örneğin, çalışma zamanı ortamı veya bir prosedür çağrısı tarafından. Daha sonra CALL SCREEN ifadesi kullanılarak ekran dizisi başlatılır.
Ekran Akış Mantığı
Ekran Akışı mantığı öncelikle dört bileşene ayrılmıştır.
- Çıkış Öncesi İşlem (Kamu Yararına Çalışan Kuruluş) olay: ekran görüntülenmeden önce işlenen olay
- Giriş Sonrası İşlem (PAI) olay: ekrandaki bir kullanıcı eyleminden sonra işlenen olay
- Yardım isteği üzerine işlem (P.O.H.): F1'e basıldığında işlenir
- Değer isteği üzerine işlem (POV):F4 tuşuna basıldığında işlenir
POH ve POV, ilgili sayfada ayrıntılı olarak açıklanmıştır. değer talebi süreci ve yardım talebi süreci.
Dinpro
- Ekran ve akış mantığı birlikte ele alındığında, ekrana "Dinamik Program" (Dynpro) adı verilir; çünkü ekran akış mantığı program akışını etkiler.
- Her dynpro, Diyalog Programınızın tam olarak bir adımını kontrol eder.
- Bir programa ait ekranlar sayılıEkran akış sırası doğrusal veya döngüsel olabilir. Bir ekran zinciri içinden başka bir ekran zincirini çağırabilir ve işledikten sonra orijinal zincire geri dönebilirsiniz. Ayrıca ABAP programının diyalog modülleri içinden statik olarak tanımlanmış bir sonraki ekranı geçersiz kılabilirsiniz.
ABAP Modül Havuzu
- Bir PBO veya PAI olayında, Dynpro bir ABAP diyalog programını çağırır. Bu tür programların koleksiyonuna ABAP modül havuzu denir.
- Örneğin PAI olayında çağrılan modüller, kullanıcı girişini kontrol etmek ve güncelleme görevi gibi uygun diyalog adımlarını tetiklemek için kullanılır.
- Tüm dynpro'lar içeriden çağrılacak bir işlem ortak bir modül havuzuna atıfta bulunur.
Diyalog Programının Yapısı
Yapı diyagramı, işlem kodunun, ekranların, GUI durumunun ve modül havuzunun aynı ana programa nasıl bağlandığını gösterir.
Bir Diyalog Programı için Süreç Akışı
Süreç akış diyagramı, ekran ve ABAP programı arasındaki geçişi göstermektedir: PBO ekran alanlarını doldurur, kullanıcı işlem yapar ve PAI bir sonraki ekran çağrılmadan önce girişi işler.
Modül Havuzu Programı Nasıl Oluşturulur?
Yukarıdaki bileşenler sabit bir sırayla oluşturulur. Aşağıdaki adımlar, boş bir modül havuzundan çalışan bir işlem oluşturur.
- Modül havuzunu oluşturun: SE80 veya SE38'de adı "..." ile başlayan bir program oluşturun. SAPMZ'yi seçin ve program türünü ayarlayın. M – Modül havuzuNesne silinmeden türü daha sonra değiştirilemez.
- Küresel verileri tanımlayın: TABLES ifadesini ve genel değişkenleri, havuzun her diyalog modülünün okuyabileceği TOP include dosyasına yerleştirin.
- Ekranı tasarlayın: Ekran ile 100 numaralı ekranı oluşturun. Painter (SE51) giriş alanlarını düzene yerleştirin ve ekran özelliklerine bir sonraki ekran numarasını girin.
- Akış mantığını yazın: Akış mantığı sekmesinde, aşağıda gösterildiği gibi bir modülü PBO için, diğerini ise PAI için çağırın.
- GUI durumunu oluşturun: Menü ile bir durum oluşturun Painter (SE41) ve bunu PBO modülünde SET PF-STATUS ifadesiyle ayarlayın, böylece Kaydet, Geri ve Çıkış komutları programa fonksiyon kodları olarak ulaşsın.
- İşlem kodunu bağlayın: SE93'te bir diyalog işlemi oluşturun, modül havuzuna bir ad verin ve başlangıç ekranı olarak 100 girin.
* 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.
💡 İpucu: LEAVE TO SCREEN 0 komutu, geçerli ekranı sonlandırır ve çağrı noktasına geri döner; bu, bir diyalog işleminden düzgün bir şekilde ayrılmanın standart yoludur.





