原文链接:https://blog.****.net/wtxhai/article/details/90698683
1.2、SAP屏幕框架的创建
SAP页面设计中的框架不但可以保证SAP程序外观设计的美观大方,并可以提供诸如按钮,页签等功能组件。
1.2.1、创建包含文本的基本框架
基本框架的创建语法如下:
SELECTION-SCREEN BEGIN OF BLOCK block [ WITH FRAME [ TITLE title ] ] [ NO INTERVALS ]. “限制所创建的框架只有一个输入项”
SELEDTION-SCREEN END OF BLOCK block.
1.2.2、实现屏幕元素质检的换行
通过在框架结构中嵌入代码:SELECTION-SCREEN SKIP [ n ],能实现屏幕元素间的换行,n表示换行数目。
1.2.3、在屏幕上输出直线
通过语句SELECTION-SCREEN ULINE 1(79) [ / ][ pos ] ( len )可以实现在屏幕上画出一条直长度直线,其中[ / ]表示换行,[ pos ]表示直线起始的位置,( len )表示长度。
1.2.4、在屏幕上输出自定义文本及图表
SELECTION-SCREEN BEGION OF LINE.
SELECTION-SCREEN COMMENT [ / ] [ pos ] ( len ) text. "len限制输入文本的长度
SELECTION-SCREEN END OF LINE.
1.2.5、在屏幕中实现按钮效果
很多桌面程序的设计习惯通过按钮来实现与用户动作的交互。在SAP选择开发中也可以实现按钮功能。
SELECTION-SCREEN PUSHBUTTON [ \ ] [ pos ] ( len ) button_text "按钮的位置
USER-COMMAND fcode "为按钮分配事件功能代码
[ VISIBLE LENGTH vlen ] "输出长度
[ MODIFY ID modid ] "编辑组ID号码
1.2.9、在屏幕上创建页签
SAP允许直接通过ABAP代码在屏幕上创建一个页签。
语法:SELECTION-SCREEN BEGIN OF TABBED BLOCK <block> FOR n LINES
每个页签都是由一个单独的子屏幕控制,n代表分页控件的高度,屏幕载入时必须先通过INITIALIZATION事件对其初始化。
*&---------------------------------------------------------------------*
*& Report ZTEST_SELECTION_SCREEN
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ztest_selection_screen. TABLES : mara. SELECTION-SCREEN BEGIN OF SCREEN AS SUBSCREEN. "定义子屏幕100
SELECTION-SCREEN BEGIN OF BLOCK a1 WITH FRAME TITLE TEXT-.
SELECT-OPTIONS : mat1 FOR mara-matnr NO INTERVALS.
SELECTION-SCREEN SKIP .
PARAMETERS chk1 AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK a1.
SELECTION-SCREEN END OF SCREEN .
*定义子屏幕200
SELECTION-SCREEN BEGIN OF SCREEN AS SUBSCREEN.
PARAMETERS : mat2 LIKE mara-matnr.
SELECTION-SCREEN END OF SCREEN .
*定义一个TAB空间,取名为MYTAB,空间高度为5,共分为两个页签,BUTTON1,BUTTON2.
*两个也签的功能代码分别为PUSH1,PUSH2
SELECTION-SCREEN : BEGIN OF TABBED BLOCK mytab FOR LINES,
TAB () button1 USER-COMMAND push1,
TAB () button2 USER-COMMAND push2,
END OF BLOCK mytab.
*为TAB控件分配初始化值,引用TEXT element定义为本
INITIALIZATION.
button1 = TEXT-.
button2 = TEXT-.
mytab-prog = sy-repid.
mytab-dynnr = .
*为TAB控件页签单击事件,选择不同的页签显示不同的子屏幕
AT SELECTION-SCREEN.
CASE sy-ucomm.
WHEN 'PUSH1'.
mytab-dynnr = .
mytab-activetab = 'BUTTON1'.
WHEN 'PUSH2'.
mytab-dynnr = .
mytab-activetab = 'BUTTON2'.
ENDCASE.
版权声明:本文为****博主「wtxhai」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.****.net/wtxhai/article/details/90698683