SAP选择屏幕开发(二)(转)
原文链接:https://blog.csdn.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 100 AS SUBSCREEN. "定义子屏幕100 SELECTION-SCREEN BEGIN OF BLOCK a1 WITH FRAME TITLE TEXT-001. SELECT-OPTIONS : mat1 FOR mara-matnr NO INTERVALS. SELECTION-SCREEN SKIP 1. PARAMETERS chk1 AS CHECKBOX DEFAULT 'X'. SELECTION-SCREEN END OF BLOCK a1. SELECTION-SCREEN END OF SCREEN 100. *定义子屏幕200 SELECTION-SCREEN BEGIN OF SCREEN 200 AS SUBSCREEN. PARAMETERS : mat2 LIKE mara-matnr. SELECTION-SCREEN END OF SCREEN 200. *定义一个TAB空间,取名为MYTAB,空间高度为5,共分为两个页签,BUTTON1,BUTTON2. *两个也签的功能代码分别为PUSH1,PUSH2 SELECTION-SCREEN : BEGIN OF TABBED BLOCK mytab FOR 5 LINES, TAB (20) button1 USER-COMMAND push1, TAB (20) button2 USER-COMMAND push2, END OF BLOCK mytab. *为TAB控件分配初始化值,引用TEXT element定义为本 INITIALIZATION. button1 = TEXT-010. button2 = TEXT-020. mytab-prog = sy-repid. mytab-dynnr = 100. *为TAB控件页签单击事件,选择不同的页签显示不同的子屏幕 AT SELECTION-SCREEN. CASE sy-ucomm. WHEN 'PUSH1'. mytab-dynnr = 100. mytab-activetab = 'BUTTON1'. WHEN 'PUSH2'. mytab-dynnr = 200. mytab-activetab = 'BUTTON2'. ENDCASE.
版权声明:本文为CSDN博主「wtxhai」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wtxhai/article/details/90698683