SAP ABAP Rapor Programlama
⚡ Akıllı Özet
ABAP Rapor Programlama, büyük miktarda veriyi seçen, işleyen ve görüntüleyen yürütülebilir programlar oluşturur. SAP Bu sayfa, rapor başlığı eklemelerini, seçim ekranını, olay dizisini, biçimlendirme komutlarını, etkileşimli listeleri ve mantıksal veritabanlarını açıklamaktadır.

ABAP Rapor Programlama Nedir?
SAP-ABAP iki tür programı destekler: Rapor Programları ve Diyalog Programları. Rapor Programları, büyük miktarda verinin görüntülenmesi gerektiğinde kullanılır.
Rapor Programlarının Amacı/Kullanımı
- Bu yöntemler, sunulmadan önce birden fazla tablodan veri seçilip işlenmesi gerektiğinde kullanılır.
- Raporların özel bir format gerektirmesi durumunda kullanılır.
- Raporun indirilmesi gerektiğinde kullanılır SAP dağıtılacak bir Excel sayfasına.
- Raporun belirli bir kişiye postalanması gerektiğinde kullanılır.
Rapor Programı Hakkında Dikkat Edilmesi Gereken Önemli Noktalar
- Rapor Programları her zaman Yürütülebilir Programlardır. Program Türü her zaman 1'dir.
- Her Rapor programı, Satış ve Dağıtım, FI – CO vb. gibi belirli bir Uygulama Türüne karşılık gelir. Ayrıca Çapraz Uygulama da olabilir, yani '*' türü.
- Rapor Programlama Olay odaklı bir programlamadır.
- Bir rapor programının ilk satırı her zaman Rapor'dur .
- Liste başlığını veya programın adını gizlemek için ekleme Standart Sayfa Başlığı Yok kullanıldı.
- Belirli bir raporun satır boyutu, ekleme kullanılarak ayarlanabilir. çizgi boyutu .
- Belirli bir sayfanın satır sayısı, ekleme kullanılarak ayarlanabilir. satır sayısı n(n1). N, sayfanın satır sayısıdır ve N1, sayfa altbilgisi için ayrılan satır sayısıdır.
- Herhangi bir bilgiyi veya hata mesajını görüntülemek için programa aşağıdaki eklemeyi kullanarak bir mesaj sınıfı ekliyoruz: Mesaj Kimliği . Mesaj sınıfları SE91'de korunur.
Bu nedenle ideal bir rapor programı şunlarla başlamalıdır:
Report <report name> no standard page heading line-size <size> line-count <n(n1)> message-id <message class>.
Raporlama Programı ile Diyalog Programı Karşılaştırması
Her iki program türü de aynı sistemde çalışır, ancak zıt sorunları çözerler. Bir rapor verileri okur ve görüntülerken, bir diyalog programı kullanıcının verileri ekranlar aracılığıyla yönetmesine olanak tanır.
| Kriterler | Raporlama Programı | Diyalog Programı |
|---|---|---|
| Program türü | Tip 1, çalıştırılabilir | Tip M, modül havuzu |
| Başlatan | Program adı veya işlem kodu | Sadece bir işlem kodu |
| Akış kontrolü | Başlatma ve Seçimin Başlangıcı gibi olaylar | PBO ve PAI modülleriyle ekran akışı mantığı |
| Kullanıcı girişi | Oluşturulan bir seçim ekranı | Ekran tasarımı Painter |
| Tipik kullanım | Büyük veri hacimlerinin görüntülenmesi ve indirilmesi | İş verilerinin oluşturulması ve değiştirilmesi |
Raporun girdi verilerini topladığı yer seçim ekranıdır, bu nedenle aşağıda açıklanmaktadır.
Seçim Ekranı
“Seçim ekranı”, programın çalışması için gereken giriş değerlerinin belirtildiği ekrandır.
Seçim ekranı normalde şu adresten oluşturulur:
- Parametreler
- Seçenekler
Sözdizimi
Selection-screen begin of screen <screen #> selection-screen begin of block <#> with frame title <text> ......... ......... selection-screen end of block <#> selection-screen end of screen <screen #>
Parametreler
Parametreler dinamik seçim yapılmasına yardımcı olur. Programın bir yürütme döngüsü için yalnızca bir değeri barındırabilirler.
Sözdizimi
Parametreleri veri türü olarak tanımlama
Parameters p_id(30) type c.
Tablo alanı gibi parametrelerin tanımlanması.
Parameter p_id like <table name>-<field name>.
Parametreler Onay Kutuları ve Radyo Düğmeleri olabilir.
Parameters p_id as checkbox.Parameters p_id1 radiobutton group <group name>. Parameters p_id2 radiobutton group <group name>.
Parametreler listbox olabilir.
Parameter p_id like <table name>-<field name> as listbox
Seçenekleri Seç
Bir programa bir değer aralığı veya bir dizi değer girmek için bir Seçenek Seçme kullanılır
Sözdizimi
select-options s_vbeln for vbak-vbeln.
Ekran görüntüsü, bir seçim seçeneğinin oluşturduğu düşük ve yüksek giriş alanlarını ve çoklu seçim düğmesini göstermektedir.
Ayrıca değişken gibi bir seçme seçeneği de tanımlayabilirsiniz.
select-options s_vbeln for vbak-vbeln no intervals no-extension
Giriş verileri toplandıktan sonra, program önceden belirlenmiş bir olay dizisine göre tepki verir.
ABAP Rapor Programındaki Etkinlikler
ABAP rapor programları olaya dayalı programlar. Bir rapor Programındaki farklı olaylar şunlardır:
Program yükleme
- İlgili olayı, tip 1, M, F veya S tipi bir program yüklendikten sonra dahili bir oturumda tetikler.
- Ayrıca ilgili işlem bloğunu her program ve dahili oturum için yalnızca bir kez çalıştırır.
- LOAD-OF-PROGRAM işlem bloğu, bir program için kabaca aynı işleve sahiptir. ABAP programı ABAP Nesnelerindeki sınıflar için bir kurucunun sahip olduğu tip 1, M, F veya S
Başlatma.
- Bu olay, seçim ekranı görüntülenmeden önce yürütülür.
- Tüm değerlerin başlatılması.
- Seçim ekranında varsayılan değerler dışında farklı değerler atayabilirsiniz.
- Seçim ekranınızı çalışma zamanında bazı değerlerle doldurabilirsiniz.
Seçim Ekranında.
- Olay, seçim ekranı işlendiğinde (PAI'nin sonunda) işlenir.
- Girilen değerlerin Doğrulanması ve Kontrolleri burada gerçekleşir
Seçimin Başlangıcı.
- Burada program tablolardan değer seçmeye başlar.
Seçim sonu.
- Tüm veriler seçildikten sonra bu olay verileri ekrana yazar.
Etkileşimli Etkinlikler
- Etkileşimli raporlama için kullanılır. Temel bir listeden ayrıntılı bir liste oluşturmak için kullanılır.
💡 İpucu: Olay anahtar kelimesi olmadan yazılan ifadeler varsayılan olarak START-OF-SELECTION'a aittir; bu nedenle olay eksik olsa bile rapor yine de çalıştırılır.
Örnek: Basit Bir ABAP Raporlama Programı
Aşağıdaki program, eklemeleri, seçim ekranını ve olayları tek bir çalışan raporda birleştirir. Seçim ekranında girilen numaralar için VBAK'tan satış siparişi başlıklarını okur ve bunları bir liste olarak yazar.
REPORT z_sales_order_list NO STANDARD PAGE HEADING LINE-SIZE 80 LINE-COUNT 65(3) MESSAGE-ID zsd. TABLES: vbak. DATA: lt_vbak TYPE STANDARD TABLE OF vbak, ls_vbak TYPE vbak. * Selection screen SELECT-OPTIONS: s_vbeln FOR vbak-vbeln. PARAMETERS: p_erdat LIKE vbak-erdat. INITIALIZATION. p_erdat = sy-datum. AT SELECTION-SCREEN. IF p_erdat > sy-datum. MESSAGE e001(zsd). " Date must not lie in the future ENDIF. START-OF-SELECTION. SELECT * FROM vbak INTO TABLE lt_vbak WHERE vbeln IN s_vbeln AND erdat LE p_erdat. END-OF-SELECTION. LOOP AT lt_vbak INTO ls_vbak. WRITE: / ls_vbak-vbeln, ls_vbak-erdat, ls_vbak-netwr. HIDE ls_vbak-vbeln. ENDLOOP.
Üç ayrıntıya dikkat çekmekte fayda var. INITIALIZATION, seçim ekranı görünmeden önce tarih parametresini doldurur. AT SELECTION-SCREEN, girişi doğrular ve ZSD sınıfından bir mesaj gönderir. HIDE, yazılan her satırın sıra numarasını saklar, böylece çift tıklama ile bundan ikincil bir liste oluşturulabilir; bu da bir sonraki bölümün konusudur.
Raporu biçimlendirme
ABAP, raporların kullanıcının istediği şekilde biçimlendirilmesine olanak tanır. Örneğin “Alternatif Satırlar” farklı renklerde, “Toplamlar” satırı ise Sarı renkte görünmelidir.
Sözdizimi
Format Color n Format Color n Intensified On
n çeşitli sayılara karşılık gelebilir
Lütfen formatın yanı sıra başka eklemelerin de olduğunu unutmayın.
FORMAT COLOR OFF INTENSIFIED OFF INVERSE OFF HOTSPOT OFF INPUT OFF
İnteraktif Rapor Programlama
- Etkileşimli Programlama kullanarak kullanıcılar, veri alımını ve veri görüntülemeyi aktif olarak kontrol edebilirler.
- Çok temel bir listeden detaylı bir liste oluşturmak için kullanılır.
- Ayrıntılı veriler ikincil bir listeye yazılır.
- İkincil liste ya tamamen ilk ekranın üzerine yerleştirilebilir ya da yeni bir ekranda görüntülenebilir
- İkincil listelerin kendileri etkileşimli olabilir.
- İlk liste aynı zamanda bir işlemi de çağırabilir.
- Etkileşimli programlamayla ilişkili farklı etkinlikler vardır.
Etkileşimli programlama için kullanılan bazı komutlar
hotspot
Fare raporda görüntülenen verinin üzerine sürüklenirse imleç Uzatılmış İşaret Parmağı olan El'e dönüşür. FORMAT deyimi kullanılarak bir sıcak noktaya ulaşılabilir.
Syntax: Format Hotspot On (Off).
gizlemek
Bu komut, ayrıntılı bir liste elde etmek için hangisinin daha fazla işlem yapacağına bağlı olarak alan adlarını saklamanıza yardımcı olur. Bir alan için WRITE deyiminden hemen sonra yazılır. Bir satır seçildiğinde değerler daha sonra kullanılmak üzere değişkenlere otomatik olarak doldurulur.
Syntax: Hide <field-name>.
Birden fazla tabloyu okuyan raporlar, SELECT ifadelerini aşağıda açıklanan mantıksal bir veritabanıyla değiştirebilirler.
Mantıksal Veritabanları
- Bir programın verilerini almak için “Seç” sorgularını kullanmak yerine mantıksal veritabanını kullanabilirsiniz.
- Mantıksal veritabanları işlemlerle oluşturulur SE36
- Mantıksal bir veritabanının adı en fazla 20 karakter uzunluğunda olabilir. Bir ad alanı önekiyle başlayabilir.
- Veriler başka bir program tarafından seçilir ve verilere GET kullanılarak erişilebilir. verileri çalışma alanına yerleştiren komut .
Mantıksal veritabanının normal Select sorgularına göre avantajları.
- Girişin doğru, eksiksiz ve makul olup olmadığını görmek için kontrol koşulları sunar
- Veritabanı erişimi için merkezi yetkilendirme kontrollerini içerir
- Performansın iyileştirilmesi gibi iyileştirmeler, mantıksal veritabanı kullanan tüm raporlara anında uygulanır.
Not: Karmaşıklıklar nedeniyle mantıksal veritabanları çoğu durumda kullanılmaz
