Tutorial Subscreen ABAP: Panggil Subscreen dalam SAP

Isi kandungan:

Anonim

Sebelum membaca tutorial ini, pastikan anda Program Dialog…

CALL SUBSCREEN

  • Subskrin adalah skrin bebas yang dipaparkan di kawasan lain ("utama") skrin.
  • Subscreen membolehkan anda menyematkan satu skrin dalam skrin yang lain pada waktu runtime. Anda boleh memasukkan beberapa sub-skrin di skrin utama.
  • Istilah subskrin berlaku untuk layar yang anda masukkan, dan kawasan di layar utama tempat anda meletakkannya. Tutorial ini adalah mengenai kawasan subscreen. Skrin sebenar yang dibuat melalui transaksi SE51, disebut layar bawah layar jika ditentukan dalam atribut layar.
  • Apabila anda menggunakan subskrin, logik aliran dari layar terbenam juga disertakan dalam logika aliran pada layar utama. Oleh itu, Menggunakan subskrin pada skrin seperti menggunakan termasuk dalam program ABAP.

Untuk menggunakan subskrin, anda mesti mengikuti tiga langkah mudah

  1. Tentukan kawasan subscreen pada skrin
  2. Tentukan skrin bawah skrin yang sesuai
  3. Sertakan skrin subskrin di kawasan subscreen.

Anda juga perlu menyesuaikan bingkai sub-skrin dan layar utama. Anda perlu menamakannya di medan nama bidang.
Selanjutnya, anda juga perlu menyesuaikan medan dalam subskrin untuk membuatnya muncul di layar utama. Sekiranya sub-skrin didefinisikan lebih besar daripada area yang tersedia di layar utama, hanya bahagian bawah layar yang akan terlihat yang sesuai dengan area yang tersedia. Kawasan selalu diukur dari sudut kiri atas skrin. Oleh itu, anda harus berhati-hati semasa menentukan kawasan sub-skrin dan membuat sub-skrin.
CONTOH

Contohnya di sini kita telah menentukan dua kawasan sub-skrin pada layar utama dan telah melampirkan dua Sub-skrin yang berbeza ke kawasan-kawasan yang sesuai. Setiap kali skrin utama dipanggil, PBO skrin utama dipanggil. Tetapi sebelum paparan, PBO dari setiap skrin yang dilampirkan dengan kawasan sub-skrin pada skrin utama juga dipanggil.

Anda boleh memasukkan skrin bawah layar menggunakan pernyataan CALL SUBSCREEN dalam logik aliran skrin utama.
Untuk memasukkan skrin subkawasan di kawasan subscreen pada skrin utama dan memanggil logik aliran PBOnya, gunakan pernyataan berikut dalam acara PBO pada skrin utama:

PROSES SEBELUM OUTPUT.CALL SUBSCREEN  TERMASUK [
] .

Pernyataan ini memberikan skrin bawah skrin dengan nombor ke kawasan subscreen yang disebut . Anda juga dapat menentukan program di mana skrin subskrin ditentukan (pilihan). Sekiranya anda tidak menentukan program secara eksplisit, sistem akan mencari skrin bawah skrin dalam program ABAP yang sama dengan program utama. Sekiranya tidak menemui skrin bawah skrin yang sesuai, ralat runtime akan berlaku. Logik aliran PBO skrin subkrin juga disertakan pada titik yang sama. Ini boleh memanggil modul PBO program ABAP di mana skrin subskrin ditentukan. Pada akhir PBO subskrin, medan global dari program diserahkan ke medan skrin yang diberi nama yang sama di layar subscreen. Logik aliran PBO dari skrin subskrin sendiri boleh merangkumi subskrin lebih lanjut.

Nama kawasan subscreen mesti dimasukkan secara langsung tanpa koma terbalik. Anda boleh menentukan nama dan sama ada sebagai literal atau pemboleh ubah. Sekiranya anda menggunakan pemboleh ubah, anda mesti menyatakan dan mengisi pemboleh ubah yang diberi nama yang sama dalam program ABAP. Nombor skrin mestilah panjang 4 aksara. Sekiranya anda tidak menetapkan skrin bawah layar ke suatu kawasan, ia akan kosong.
Untuk memanggil logik aliran PAI dari skrin subskrin, gunakan pernyataan berikut dalam logik aliran PAI pada skrin utama:

PROSES SELEPAS INPUT.CALL SUBSCREEN .

Pernyataan ini merangkumi logik aliran PAI dari skrin subscreen yang termasuk dalam area subscreen dalam acara PBO. Ini boleh memanggil modul PAI dari program ABAP di mana skrin subskrin ditentukan. Data diangkut antara bidang yang diberi nama yang sama di layar subkrin dan program ABAP sama ada ketika peristiwa PAI dipicu, atau pada pernyataan FIELD yang sesuai dalam logika aliran PAI dari layar subscreen.
Perkara yang Perlu Diingat

  • Nama elemen sub-skrin dalam skrin harus unik
  • Anda tidak boleh memasang OK_CODE atau FCODE dengan sub-skrin. OK_CODE skrin utama itu sendiri adalah OK_CODE sub-skrin
  • Sub-skrin tidak boleh mempunyai modul dialog yang mengandungi SET TITLEBAR, SET PF-STATUS, SET SCREEN, LEAVE SCREEN atau LEAVE TO SCREEN. Ini akan menyebabkan ralat runtime.
  • Anda perlu memanggilnya dalam logik aliran (baik PBO dan PAI) pada skrin utama.
  • CALL SUBSCREEN tidak dibenarkan dalam pernyataan CHAIN… ENDCHAIN ​​dan LOOP ENDLOOP
  • Tidak boleh mempunyai modul AT EXIT-COMMAND
  • Medan yang anda gunakan adalah bidang global. Mereka mesti dinyatakan di bahagian atas termasuk
  • Sekiranya menggunakan subskrin dari program dialog lain, pemindahan data tidak akan berlaku melainkan anda menambahkan kod tertentu.