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

posted @ 2019-09-29 15:54  不渡之人  阅读(834)  评论(0编辑  收藏  举报