Урок за ABAP Subscreens: Обадете се на Subscreen в SAP

Съдържание:

Anonim

Преди да прочетете този урок, уверете се, че е програма за диалог ...

ПОЗВИВАЙТЕ ПОДКРИНЕН

  • Подекранът е независим екран, който се показва в област на друг ("основен") екран.
  • Под екраните ви позволяват да вграждате един екран в друг по време на изпълнение. Можете да включите множество под-екрани на главния екран.
  • Терминът подекран се отнася както за екрана, който сте вградили, така и за областта на главния екран, в която го поставяте. Този урок е за областите на подекрана. Действителните екрани, създадени чрез транзакция SE51, се наричат ​​подекранни екрани, ако са дефинирани в атрибутите на екрана.
  • Когато използвате подекран, логиката на потока на вградения екран също е вградена в логиката на потока на основния екран. Следователно използването на под екрани на екрани е като използването на включване в програмите ABAP.

За да използвате подекран, трябва да изпълните три прости стъпки

  1. Определете зоната (ите) на подекрана на екрана
  2. Определете подходящи подекранни екрани
  3. Включете екрана на подекрана в областта на подекрана.

Освен това трябва да настроите рамката на под-екрана и основния екран. Трябва да го наименувате в полето за име на поле.
Освен това трябва да коригирате полетата в подекрана, за да се появят в главния екран. В случай, че под-екранът е дефиниран като по-голям от наличната площ в основния екран, ще се вижда само частта от под-екрана, която се побира в наличната зона. Площта винаги се измерва от горния ляв ъгъл на екрана. Следователно трябва да полагате адекватни грижи, докато дефинирате областите на под-екрана и създавате под-екрани.
ПРИМЕР

Например тук дефинирахме две области на под-екрана на главния екран и прикачихме два различни под-екрана към съответните области. Когато се извика основният екран, се извиква PBO на главния екран. Но преди показването се извикват и PBO на всеки екран, прикрепен с под-екранни области на главния екран.

Можете да включите подекранен екран, като използвате оператора CALL SUBSCREEN в логиката на потока на главния екран.
За да включите подекранен екран в областта на подекрана на главния екран и да извикаме неговата PBO логическа схема, използвайте следния израз в PBO събитието на главния екран:

ПРОЦЕС ПРЕДИ ИЗХОД.ОБАДАЙТЕ ПОДКРИНЕН  ВКЛЮЧИТЕЛНО [
] .

Това изявление присвоява екрана на подекрана с номер на областта на подекрана, наречена . Можете също така да посочите програмата, в която е дефиниран подекранният екран (по избор). Ако не посочите програмата изрично, системата търси екрана на подекрана в същата програма ABAP като основната програма. Ако не намери съответния подекранен екран, възниква грешка по време на изпълнение. В същата точка е включена и логиката на потока PBO на екрана на подекрана. Това може да извика PBO модули на програмата ABAP, в които е дефиниран подекранният екран. В края на PBO на подекрана, глобалните полета от програмата се предават на всички идентични имена на екранните полета на подекранния екран. Логиката на потока PBO на екрана на под-екрана може сама да включва допълнителни под-екрани.

Името на областта на подекрана трябва да се въведе директно без обърнати запетаи. Можете да посочите имената и или като литерали, или като променливи. Ако използвате променливи, трябва да декларирате и попълните едноименни променливи в програмата ABAP. Номерът на екрана трябва да е с дължина 4 знака. Ако не зададете под-екран на дадена област, той остава празен.
За да извикате логиката на потока PAI на екрана на подекрана, използвайте следния израз в логиката на потока PAI на основния екран:

ПРОЦЕС СЛЕД ВХОД.ОБАДАЙТЕ ПОДКРИНЕН .

Това изявление включва логиката на потока PAI на екрана на подекрана, включен в областта на подекрана в събитието PBO. Това може да извика PAI модули на програмата ABAP, в които е дефиниран подекранният екран. Данните се транспортират между идентично наименовани полета на екрана на подекрана и програмата ABAP или когато се задейства събитието PAI, или в съответните изрази FIELD в логиката на потока PAI на екрана на под екрана.
Точки за запомняне

  • Имената на елементите на под-екрани в един екран трябва да бъдат уникални
  • Не трябва да имате OK_CODE или FCODE, прикрепени с под-екран. Самият OK_CODE на основния екран е OK_CODE на под-екрана
  • Под-екраните не могат да имат диалогови модули, съдържащи SET TITLEBAR, SET PF-STATUS, SET SCREEN, LEAVE SCREEN или LEAVE TO SCREEN. Това ще доведе до грешка при изпълнението.
  • Трябва да го извикате в логиката на потока (както PBO, така и PAI) на главния екран.
  • CALL SUBSCREEN не е позволено в CHAIN ​​... ENDCHAIN ​​и LOOP ENDLOOP изрази
  • Не може да има модул AT EXIT-COMMAND
  • Полетата, които използвате, са глобалните полета. Те трябва да бъдат декларирани в горната част
  • Ако използвате под екрани от друга диалогова програма, прехвърлянето на данни няма да стане, освен ако не добавите конкретен код.