Преди да прочетете този урок, уверете се, че е програма за диалог ...
ПОЗВИВАЙТЕ ПОДКРИНЕН
- Подекранът е независим екран, който се показва в област на друг ("основен") екран.
- Под екраните ви позволяват да вграждате един екран в друг по време на изпълнение. Можете да включите множество под-екрани на главния екран.
- Терминът подекран се отнася както за екрана, който сте вградили, така и за областта на главния екран, в която го поставяте. Този урок е за областите на подекрана. Действителните екрани, създадени чрез транзакция SE51, се наричат подекранни екрани, ако са дефинирани в атрибутите на екрана.
- Когато използвате подекран, логиката на потока на вградения екран също е вградена в логиката на потока на основния екран. Следователно използването на под екрани на екрани е като използването на включване в програмите ABAP.
За да използвате подекран, трябва да изпълните три прости стъпки
- Определете зоната (ите) на подекрана на екрана
- Определете подходящи подекранни екрани
- Включете екрана на подекрана в областта на подекрана.
Освен това трябва да настроите рамката на под-екрана и основния екран. Трябва да го наименувате в полето за име на поле.
Освен това трябва да коригирате полетата в подекрана, за да се появят в главния екран. В случай, че под-екранът е дефиниран като по-голям от наличната площ в основния екран, ще се вижда само частта от под-екрана, която се побира в наличната зона. Площта винаги се измерва от горния ляв ъгъл на екрана. Следователно трябва да полагате адекватни грижи, докато дефинирате областите на под-екрана и създавате под-екрани.
ПРИМЕР
Например тук дефинирахме две области на под-екрана на главния екран и прикачихме два различни под-екрана към съответните области. Когато се извика основният екран, се извиква PBO на главния екран. Но преди показването се извикват и PBO на всеки екран, прикрепен с под-екранни области на главния екран.
Можете да включите подекранен екран, като използвате оператора CALL SUBSCREEN в логиката на потока на главния екран.
За да включите подекранен екран в областта на подекрана на главния екран и да извикаме неговата PBO логическа схема, използвайте следния израз в PBO събитието на главния екран:
ПРОЦЕС ПРЕДИ ИЗХОД.ОБАДАЙТЕ ПОДКРИНЕН ВКЛЮЧИТЕЛНО [] .
Това изявление присвоява екрана на подекрана с номер
Името на областта на подекрана трябва да се въведе директно без обърнати запетаи. Можете да посочите имената
За да извикате логиката на потока 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
- Полетата, които използвате, са глобалните полета. Те трябва да бъдат декларирани в горната част
- Ако използвате под екрани от друга диалогова програма, прехвърлянето на данни няма да стане, освен ако не добавите конкретен код.