Tutorial Sublayar ABAP: Panggil Sublayar masuk SAP

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

PANGGILAN SUBSKREEN

  • Sublayar adalah layar independen yang ditampilkan di area layar (“utama”) lainnya.
  • Sublayar memungkinkan Anda menyematkan satu layar ke layar lain saat runtime. Anda dapat memasukkan beberapa sub-layar di layar utama.
  • Istilah sublayar berlaku untuk layar yang Anda sematkan, dan area di layar utama tempat Anda menempatkannya. Tutorial ini tentang area sublayar. Layar sebenarnya yang dibuat melalui transaksi SE51, disebut layar sublayar jika ditentukan dalam atribut layar.
  • Saat Anda menggunakan sublayar, logika aliran layar yang tertanam juga tertanam dalam logika aliran layar utama. Oleh karena itu, Menggunakan sublayar pada layar seperti menggunakan penyertaan dalam program ABAP.

Untuk menggunakan sublayar, Anda harus mengikuti tiga langkah sederhana

  1. Tentukan area sublayar pada layar
  2. Tentukan layar sublayar yang sesuai
  3. Sertakan layar sublayar di area sublayar.

Selain itu, Anda perlu menyesuaikan bingkai sub-layar dan layar utama. Anda perlu memberi nama di bidang nama bidang.

Selanjutnya, Anda juga perlu menyesuaikan bidang dalam sublayar agar muncul di layar utama. Jika sub-layar ditentukan lebih besar dari area yang tersedia di layar utama, hanya bagian sub-layar yang sesuai dengan area yang tersedia yang akan terlihat. Luas 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 kita telah mendefinisikan dua area sub-layar di layar utama dan telah melampirkan dua Sub-layar berbeda ke area terkait. Setiap kali layar utama dipanggil, PBO layar utama dipanggil. Namun sebelum ditampilkan, PBO setiap layar yang dilengkapi dengan area sub-layar pada layar utama juga disebut.

Panggil Sublayar masuk SAP

Anda dapat menyertakan layar sublayar menggunakan pernyataan CALL SUBSCREEN dalam logika aliran layar utama.

Untuk menyertakan layar sublayar di area sublayar layar utama dan memanggil logika aliran PBO-nya, gunakan pernyataan berikut dalam acara PBO layar utama:

PROCESS BEFORE OUTPUT.

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

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

Nama area sublayar harus dimasukkan langsung tanpa koma terbalik. Anda dapat menentukan namanya Dan baik sebagai literal atau variabel. Jika Anda menggunakan variabel, Anda harus mendeklarasikan dan mengisi variabel dengan nama yang sama di program ABAP. Nomor layar harus terdiri dari 4 karakter. Jika Anda tidak menetapkan layar sublayar ke suatu area, layar tersebut tetap kosong.

Untuk memanggil logika aliran PAI pada layar sublayar, gunakan pernyataan berikut dalam logika aliran PAI pada layar utama:

PROCESS AFTER INPUT.

CALL SUBSCREEN <area>.

Pernyataan ini mencakup logika aliran PAI dari layar sublayar yang termasuk dalam area sublayar dalam acara PBO. Ini dapat disebut modul PAI dari program ABAP yang layar sub-layarnya ditentukan. Data diangkut antara bidang dengan nama yang sama di layar sublayar dan program ABAP baik saat peristiwa PAI dipicu, atau pada pernyataan FIELD yang sesuai dalam logika aliran PAI di layar sublayar.

Poin yang perlu diingat

  • Nama elemen sub-layar dalam layar harus unik
  • Anda tidak boleh memasang OK_CODE atau FCODE dengan sub-layar. OK_CODE layar utama itu sendiri adalah OK_CODE sub-layar
  • Sub-layar tidak boleh memiliki modul dialog apa pun 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 (PBO dan PAI) di layar utama.
  • CALL SUBSCREEN tidak diperbolehkan dalam pernyataan CHAIN..ENDCHAIN ​​dan LOOP ENDLOOP
  • Tidak dapat memiliki modul AT EXIT-COMMAND
  • Bidang yang Anda gunakan adalah bidang global. Mereka harus dinyatakan di bagian atas
  • Jika menggunakan sublayar dari yang lain program dialog transfer data tidak akan terjadi kecuali Anda menambahkan kode tertentu.