Tutorial Langganan ABAP: Panggil Sub layar di SAP

Daftar Isi:

Anonim

Sebelum Anda membaca tutorial ini, pastikan Anda mengetahui apa itu Program Dialog…

HUBUNGI LANGSUNG

  • Sub layar adalah layar independen yang ditampilkan di area layar ("utama") lainnya.
  • Langganan memungkinkan Anda untuk menyematkan satu layar ke dalam yang lain pada saat runtime. Anda dapat menyertakan beberapa sub-layar di layar utama.
  • Istilah sub-layar berlaku untuk layar yang Anda sematkan, dan area di layar utama tempat Anda meletakkannya. Tutorial ini tentang area sub-layar. Layar aktual yang dibuat melalui transaksi SE51, disebut layar sub-layar jika ditentukan dalam atribut layar.
  • Saat Anda menggunakan sub layar, logika aliran dari layar yang disematkan juga tertanam dalam logika aliran layar utama. Oleh karena itu, Menggunakan sub-layar pada layar seperti menggunakan include dalam program ABAP.

Untuk menggunakan sub-layar, Anda harus mengikuti tiga langkah sederhana

  1. Tentukan area sub layar di layar
  2. Tentukan layar sub-layar yang sesuai
  3. Sertakan layar sub-layar di area sub-layar.

Selain itu, Anda perlu menyesuaikan bingkai sub-layar dan layar utama. Anda harus menamainya di bidang nama bidang.
Selanjutnya, Anda juga perlu menyesuaikan bidang di dalam sub layar untuk membuatnya muncul di layar utama. Jika sub-layar ditetapkan lebih besar dari area yang tersedia di layar utama, hanya bagian dari sub-layar yang akan terlihat sesuai dengan area yang tersedia. Area selalu diukur dari sudut kiri atas layar. Oleh karena itu, Anda harus berhati-hati saat menentukan area sub-layar dan membuat sub-layar.
CONTOH

Misalnya di sini kami telah menetapkan dua area sub-layar pada layar utama dan telah memasang dua Sub-layar yang berbeda ke area yang sesuai. Setiap kali layar utama dipanggil, PBO layar utama dipanggil. Namun sebelum ditampilkan, PBO masing-masing layar yang terpasang dengan area sub-layar pada layar utama juga disebut.

Anda dapat menyertakan layar sub-layar menggunakan pernyataan CALL SUBSCREEN dalam logika aliran layar utama.
Untuk menyertakan layar sub-layar di area sub-layar dari layar utama dan memanggil logika aliran PBO-nya, gunakan pernyataan berikut dalam peristiwa PBO layar utama:

PROSES SEBELUM OUTPUT.HUBUNGI SUBSCREEN  TERMASUK [
] .

Pernyataan ini menetapkan layar sub-layar dengan nomor . Anda juga dapat menentukan program di mana layar sub-layar ditentukan (opsional). Jika Anda tidak menentukan program secara eksplisit, sistem akan mencari layar sub-layar dalam program ABAP yang sama dengan program utama. Jika tidak menemukan layar sub-layar yang sesuai, kesalahan runtime terjadi. Logika aliran PBO dari layar sub layar juga disertakan pada titik yang sama. Ini dapat memanggil modul PBO dari program ABAP di mana layar sub-layar ditentukan. Di akhir PBO sub-layar, field global dari program diteruskan ke field layar dengan nama yang sama di layar sub-layar. Logika aliran PBO dari layar sub-layar itu sendiri dapat mencakup sub-layar lebih lanjut.

Nama dan harus terdiri dari 4 karakter. Jika Anda tidak menetapkan layar sub-layar ke suatu area, itu tetap kosong.
Untuk memanggil logika aliran PAI layar sub-layar, gunakan pernyataan berikut dalam logika aliran PAI layar utama:

PROSES SETELAH MASUKAN.HUBUNGI SUBSCREEN 

Pernyataan ini menyertakan logika aliran PAI dari layar sub-layar yang termasuk dalam area sub-layar dalam acara PBO. Ini dapat memanggil modul PAI dari program ABAP di mana layar sub-layar ditentukan. Data diangkut antara bidang dengan nama yang sama di layar sub-layar dan program ABAP baik ketika peristiwa PAI dipicu, atau pada pernyataan FIELD yang sesuai dalam logika aliran PAI layar sub-layar.
Poin untuk Diingat

  • Nama elemen sublayar dalam layar harus unik
  • Anda tidak boleh memasang OK_CODE atau FCODE dengan sub-layar. OK_CODE layar utama itu sendiri adalah OK_CODE dari sub-layar
  • Sub-layar tidak dapat memiliki modul dialog yang berisi SET TITLEBAR, SET PF-STATUS, SET SCREEN, LEAVE SCREEN atau LEAVE TO SCREEN. Ini akan menyebabkan kesalahan runtime.
  • Anda perlu memanggilnya dalam logika aliran (baik PBO dan PAI) di layar utama.
  • CALL SUBSCREEN tidak diperbolehkan dalam pernyataan CHAIN… ENDCHAIN ​​dan LOOP ENDLOOP
  • Tidak boleh memiliki modul AT EXIT-COMMAND
  • Bidang yang Anda gunakan adalah bidang global. Mereka harus dideklarasikan di bagian atas termasuk
  • Jika menggunakan sub-layar dari program dialog lain, transfer data tidak akan terjadi kecuali Anda menambahkan kode tertentu.