天天看點

SAP應用界面開發:3)SELECTION-SCREEN 對象(1)

      SELECT-SCREEN語句用于建立螢幕的架構結構,主要包括螢幕元素的建立、子螢幕的建立等。子程式主要分為兩種,一種為Include Screen,可以通過Report端程式直接調用;另一種為SubScreen,需要通過Screen Painter所建立的螢幕調用。SELECT-SCREEN具體的應用文法如下:

       (1)SELECTION-SCREEN BEGIN OF SCREEN src.

               .......

               SELECTION-SCREEN END OF SCREEN src.

       該文法用于定義一個INCLUDE SUREEN,可通過CALL方法在Report程式中引用,CALL螢幕窗體時加入STARTING AT ...  ENDING AT ...參數可以将所定義螢幕窗體作為一個新的對話框窗體來引用,并指定期建立的具體大小及位置,如下代碼所示:

     REPORT  ZZWEISTSCREEN.

SELECTION-SCREEN BEGIN OF SCREEN 1314 AS WINDOW TITLE TEXT-W01. "TEXT-W01為對話框的标題,在文本符号中可以設定

      PARAMETERS:MATNR LIKE MARA-MATNR.

      PARAMETERS:T AS CHECKBOX.

SELECTION-SCREEN END OF SCREEN 1314.

CALL SCREEN 1314 STARTING AT 30 5 ENDING AT 90 5.  "調用SELECTION-SCREEN

     程式執行結果如下:

     需要注意的是,此時窗體的名稱必須為Numeric(數字)類型的的,如将上面代碼中的1314改為myscreen,那麼程式将提示以下錯誤:

     注意:當從一個主螢幕中來調用其程式中的另一窗體時,必須使用CALL SELECTION-SCREEN方法,如下通過SELECTION-SCREEN調用Include Screen。

PARAMETERS:T AS CHECKBOX. "第一個窗體元素

CALL SELECTION-SCREEN 1314."SELECTION-SCREEN調用另一個窗體

SELECTION-SCREEN BEGIN OF SCREEN 1314 AS WINDOW TITLE TEXT-W01.

      PARAMETERS:MATNR LIKE MARA-MATNR.

     (2)SELECTION-SCREEN BEGIN OF SCREEN sra AS SUBSCREEN.

     該文法用于定義一個SUBSCREEN,SUBSCREEN主要用于SCREEN PAINTER所建立螢幕。

     (3)SELECTION-SCREEN BEGIN OF BLOCK block.

        ......

        SELECTION-SCREEN END OF BLOCK.

      該文法在螢幕中定義一個BLOCK,其擴充文法包括:

      ...WITH FRAME:建立一個架構

      ...TITLE title:建立一個帶标題的架構。

      ...NO INTERVALS:所建立的架構中限制SELECT隻有一個輸入項。

      以下為示例代碼:

      DATA MAT LIKE MARA-MATNR.

*不包含擴充文法

SELECTION-SCREEN BEGIN OF BLOCK block1.

       SELECT-OPTIONS:MATNR1 FOR MAT.

SELECTION-SCREEN END OF BLOCK block1.

*包含架構

SELECTION-SCREEN BEGIN OF BLOCK block2 WITH FRAME.

       SELECT-OPTIONS:MATNR2 FOR MAT.

SELECTION-SCREEN END OF BLOCK block2.

*包含架構及标頭

      SELECTION-SCREEN BEGIN OF BLOCK block3 WITH FRAME TITLE TEXT-W01.

       SELECT-OPTIONS:MATNR3 FOR MAT.

SELECTION-SCREEN END OF BLOCK block3.

      *包含架構及标頭且隻有一個輸入框

SELECTION-SCREEN BEGIN OF BLOCK block4 WITH FRAME TITLE TEXT-W01 NO INTERVALS.

       SELECT-OPTIONS:MATNR4 FOR MAT.

SELECTION-SCREEN END OF BLOCK block4.

      代碼運作界面如下:

下一篇,我們将繼續講解,盡請期待!