ABAP Alt Ekranları Eğitimi: Alt Ekranı Arama SAP

Bu öğreticiyi okumadan önce bir Diyalog Programının ne olduğundan emin olun…

ALT EKRANI ÇAĞIR

  • Alt ekran, başka bir (“ana”) ekranın bir alanında görüntülenen bağımsız bir ekrandır.
  • Alt ekranlar, çalışma zamanında bir ekranı diğerinin içine yerleştirmenize olanak tanır. Ana ekrana birden fazla alt ekran ekleyebilirsiniz.
  • Alt ekran terimi hem yerleştirdiğiniz ekran hem de onu yerleştirdiğiniz ana ekrandaki alan için geçerlidir. Bu eğitim alt ekran alanları hakkındadır. SE51 işlemiyle oluşturulan gerçek ekranlara, ekran niteliklerinde tanımlandığı takdirde alt ekran ekranları adı verilir.
  • Bir alt ekran kullandığınızda, gömülü ekranın akış mantığı da ana ekranın akış mantığına gömülür. Dolayısıyla, ekranlarda alt ekranları kullanmak, içindekileri kullanmaya benzer. ABAP programları.

Bir alt ekranı kullanmak için üç basit adımı izlemelisiniz

  1. Bir ekrandaki alt ekran alanlarını tanımlama
  2. Uygun alt ekran ekranlarını tanımlayın
  3. Alt ekran ekranını alt ekran alanına ekleyin.

Ayrıca alt ekranın ve ana ekranın çerçevesini de ayarlamanız gerekir. Alan adı alanına isim vermeniz gerekmektedir.

Ayrıca alt ekrandaki alanları da ana ekranda görünecek şekilde ayarlamanız gerekir. Alt ekranın ana ekranda mevcut alandan daha büyük olarak tanımlanması durumunda, alt ekranın yalnızca mevcut alana sığan kısmı görünecektir. Alan her zaman ekranın sol üst köşesinden ölçülür. Bu nedenle alt ekran alanlarını tanımlarken ve alt ekranları oluştururken yeterli özeni göstermelisiniz.

ÖRNEK

Örneğin burada ana ekranda iki alt ekran alanı tanımladık ve ilgili alanlara iki farklı Alt ekran ekledik. Ana ekran her çağrıldığında ana ekranın PBO'su çağrılır. Ancak görüntülemeden önce, ana ekrandaki alt ekran alanlarına eklenen her ekranın PBO'ları da çağrılır.

Alt Ekranı Ara SAP

Ana ekranın akış mantığında CALL SUBSCREEN ifadesini kullanarak bir alt ekran ekranı dahil edebilirsiniz.

Ana ekranın alt ekran alanına bir alt ekran ekranı eklemek ve onun PBO akış mantığını çağırmak için, ana ekranın PBO olayında aşağıdaki ifadeyi kullanın:

PROCESS BEFORE OUTPUT.

CALL SUBSCREEN <area> INCLUDING [<prog>] <dynp>.

Bu ifade alt ekran ekranına numarayı atar adı verilen alt ekran alanına . Alt ekran ekranının tanımlandığı programı da belirtebilirsiniz (isteğe bağlı). Programı açıkça belirtmezseniz sistem alt ekran ekranını ana programla aynı ABAP programında arar. İlgili alt ekran ekranını bulamazsa çalışma zamanı hatası oluşur. Alt ekran ekranının PBO akış mantığı da aynı noktada yer almaktadır. Bu, alt ekran ekranının tanımlandığı ABAP programının PBO modüllerini çağırabilir. PBO alt ekranının sonunda, programdaki genel alanlar, alt ekran ekranındaki aynı isimli ekran alanlarına aktarılır. Alt ekran ekranının PBO akış mantığının kendisi başka alt ekranlar da içerebilir.

İsim alt ekran alanına ters virgül olmadan doğrudan girilmelidir. İsimleri belirtebilirsiniz Ve değişmez değerler veya değişkenler olarak. Değişkenler kullanıyorsanız ABAP programında aynı isimli değişkenleri bildirmeli ve doldurmalısınız. Ekran numarası 4 karakter uzunluğunda olmalıdır. Bir alana alt ekran ekranı atamazsanız boş kalır.

Alt ekran ekranının PAI akış mantığını çağırmak için, ana ekranın PAI akış mantığında aşağıdaki ifadeyi kullanın:

PROCESS AFTER INPUT.

CALL SUBSCREEN <area>.

Bu ifade, alt ekran alanında yer alan alt ekran ekranının PAI akış mantığını içerir PBO etkinliğinde. Bu, alt ekran ekranının tanımlandığı ABAP programının PAI modüllerini çağırabilir. Veriler, alt ekran ekranındaki aynı isimli alanlar ile ABAP programı arasında, PAI olayı tetiklendiğinde veya alt ekran ekranının PAI akış mantığındaki karşılık gelen SAHA ifadelerinde aktarılır.

Hatırlanacak noktalar

  • Bir ekran içindeki alt ekranların öğelerinin adları benzersiz olmalıdır
  • Alt ekrana OK_CODE veya FCODE eklenmemelidir. Ana ekranın OK_CODE'u, alt ekranın OK_CODE'udur
  • Alt ekranlarda SET TITLEBAR, SET PF-STATUS, SET SCREEN, LEAVE SCREEN veya LEAVE TO SCREEN içeren herhangi bir iletişim modülü bulunamaz. Bu çalışma zamanı hatasına neden olur.
  • Bunu ana ekranın akış mantığında (hem PBO hem de PAI) çağırmanız gerekir.
  • CHAIN..ENDCHAIN ​​ve LOOP ENDLOOP ifadelerinde CALL SUBSCREEN'e izin verilmez
  • AT EXIT-COMMAND modülüne sahip olamaz
  • Kullandığınız alanlar global alanlardır. Üstteki dahilde beyan edilmelidirler
  • Başka birinden alt ekranlar kullanılıyorsa diyalog programı belirli bir kod eklemediğiniz sürece veri aktarımı gerçekleşmez.