SAP屏幕设计器专题:编写控件代码(三)
? ? 上一篇博文我只是畫了一個屏幕,一個外殼而已,真正要實現我們需要的功能還需要寫相應的代碼。
? ? 輸入SE51,打開我們的例子程序,切換到“流程邏輯”,默認的屏幕代碼如下圖所示:
? ? 第一個PROCESS BEFORE OUTPUT(PBO)的意思是畫面載入時所做的動作。
? ? 第二個PROCESS AFTER INPUT(PAI)的意思是用戶在屏幕上輸入之后獲取屏幕的動作。
? ? 我們把注釋掉的代碼去掉注釋,然后保存,并雙擊“STATUS_0100”字符串,出現如下對話框:
下圖提示我們是否
是要新增一個INCLUDE還是
在原有的程序上新增代碼段,我們選擇第二個:
這個時候畫面自動切換到SE38并打開我們的程序,自動加入如下代碼(去掉相應的注釋并填入內容):
我們雙擊上面的“ZCREEN0100”,出現一下畫面:
填入相應內容之后:
上面第一個代表菜單欄;第二個代表自定義工具欄,第三個代表系統工具欄(ENTER,保存,退出,返回):
點擊第二個,輸入SUM,然后點擊“SUM”下方圖示的位置,進入如下圖:
繼續:
設定快捷鍵:
繼續:
于是,自定義按鈕算是好了。
第三個,系統工具欄,輸入如下名稱:
還需要點擊進去進行設置,都一樣的,這里我們點擊“SAVE”,其他照做:
于是,這個系統工具欄算是弄好了。記得保存并激活。回到程序畫面。雙擊“TITLE0100”,彈出下列對話框:
這個是畫面的標題:
點擊全部顯示,進入之后激活:
返回SE51畫面激活屏幕,回到程序試運行程序:
發現屏幕都有工具按鈕了,但是點擊沒反應!接下去添加控件代碼了!
雙擊下面的“USER_COMMAND_0100”,跟STATUS_0100一樣:
輸入如下代碼:
WHEN后面的內容都是控件的名稱!!!
還記得我們屏幕上那個按鈕的“功能代碼”嗎?參照上一篇博文,我們的按鈕功能代碼是“OK”,于是我們在CASE里添加如下代碼:
WHEN?'OK'.
...
我們在程序中怎么獲得屏幕上控件的值呢?起始很好辦,只要我們在程序中新建一個變量,類型和長度以及名稱都跟屏幕上控件對應屬性一致就可以了。
比如屏幕上那個文本框名稱是:TXT。我們要獲取這個文本框的內容,就需要新建一個TXT的變量,長度最好一直,類型要一樣:
DATA:TXT(9) TYPE C.
而復選框和單選框的聲明也是類似,名稱要一樣(大寫),變量的類型是C,長度是1。如下:
DATA:C1?TYPE?C,
?????C2?TYPE?C,
?????R1?TYPE?C,
?????R2?TYPE?C.
一旦復選框和單選被選擇,它們的值是‘X’。
? WHEN?'OK'.
??????MESSAGE?TXT?TYPE?'I'.
??????IF?C1?=?'X'.
?????????MESSAGE?'復選框1被選中'?TYPE?'I'.
??????ENDIF.
??????IF?C2?=?'X'.
?????????MESSAGE?'復選框2被選中'?TYPE?'I'.
??????ENDIF.
??????IF?R1?=?'X'.
?????????MESSAGE?'單選框1被選中'?TYPE?'I'.
??????ELSEIF?R2?=?'X'.
?????????MESSAGE?'單選框2被選中'?TYPE?'I'.
??????ENDIF.
我們在SE51中屏幕設計器上畫出一個文本框,只作為輸出,即內容說明:
此文本框名稱是TXT1,長度是14,于是我們定義變量如下:
DATA:TXT1(14)?TYPE?C.
CASE代碼塊更改如下:
??CASE?OK_CODE.
????WHEN?'ENTER'.
??????MESSAGE?'CLICK?ENTER'?TYPE?'I'.
????WHEN?'SUM'.
??????MESSAGE?'CLICK?SUM'?TYPE?'I'.
????WHEN?'SAVE'.
??????MESSAGE?'CLICK?SAVE'?TYPE?'I'.
????WHEN?'BACK'.
??????LEAVE?TO?SCREEN?0.
????WHEN?'OK'.
??????MESSAGE?TXT?TYPE?'I'.
??????IF?C1?=?'X'.
?????????MESSAGE?'復選框1被選中'?TYPE?'I'.
??????ENDIF.
??????IF?C2?=?'X'.
?????????MESSAGE?'復選框2被選中'?TYPE?'I'.
??????ENDIF.
??????IF?R1?=?'X'.
?????????MESSAGE?'單選框1被選中'?TYPE?'I'.
??????ELSEIF?R2?=?'X'.
?????????MESSAGE?'單選框2被選中'?TYPE?'I'.
??????ENDIF.
??????TXT1?=?'填充內容!'.
????WHEN?'EXIT'?OR?'CANCEL'.
??????LEAVE?PROGRAM.
????WHEN?OTHERS.
??ENDCASE.
本文主要是講解基本控件的使用。接下去一片博文要講述下拉框的使用。
轉載于:https://www.cnblogs.com/saper/archive/2011/05/21/2052596.html
總結
以上是生活随笔為你收集整理的SAP屏幕设计器专题:编写控件代码(三)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 酉水河的倾诉
- 下一篇: Cocoa Touch 层