關於螢幕程式設計(轉)
REPORT事件流大概如下:INITIALIZATION——》AT-SELECTION——》AT-SELECTION-OUTPUT ——》START-OF-SELECTION——》AT USER_COMMAND——》AT LINE-SELECTION.——》TOP-OF-PGAE——》END-OF-PAGE ——END-OF-SELECTION.
DIALOG中由flow logic 控制, flow logic分成PBO(Process Before Output)與PAI(Process After Input)。一個螢幕流的執行過程是:螢幕對應的PBO(螢幕輸出前處理塊)——》輸出相應的螢幕——》 PAI(螢幕輸出後處理塊)。如果在PAI中沒有去觸發執行下一個螢幕事件的話,會在當前的螢幕流中進行迴圈,也就是當前PBO->顯示螢幕->PAI進行迴圈。
PBO過程中處理的大部分是內表資料填充到要顯示的螢幕欄位中。
PAI過程中處理的大部分是把更新的螢幕資料更新到內表,根據相應的螢幕命令動作做相應的事件。比如儲存按鈕的畫,要把資料從內表更新到資料庫中。
如果輸出螢幕是數字的畫,在SE51製作的螢幕欄位中,後面要加大寫的‘V’,否則負數會導致系統的SHORT DUMP.
在一個dialog中一個內表很有可能貫穿好幾個螢幕,這時就要非常小心螢幕的流向了。比如這樣一個場景:在500中抓取資料放入一個內表中,在600螢幕中發生一個動作到螢幕700進行一個資料的更新,資料跟新完之後跳回螢幕600,螢幕600進行儲存後返回到螢幕500。而這時又開始執行螢幕500的PBO,這時這個內表資料照理說要重新抓取的哦!但是問題是如果在螢幕500中抓取的這個內表資料是根據後續的一些條件來抓取的話就會產生一些問題。這時候千萬要注意的是在抓取資料到這個內表要進行內表清空的動作。否則這個內表在第二次進入500螢幕時是還存在值的,不一定是我們想要的!所以在抓取資料到一個內表前對內表的清空操作是必要的。以免引起不必要的麻煩!
區別於REPORT的一點是REPORT就按事件流執行下來完就完成了,而在DIALOG中常常存在著殺回馬槍的動作,而這時資料該是什麼樣的要非常小心,就因為沒寫一個CLEAR就會要了你的命!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16794144/viewspace-681304/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【求助】關於響應式設計螢幕解析度和螢幕尺寸的問題
- abap screnn螢幕程式設計,對螢幕中的欄位追加多選search help程式設計
- Nimda程式設計內幕 (轉)程式設計
- 設定div高度等於螢幕高度
- 動態改變螢幕設定 (轉)
- 從學生到程式設計師(一) 關於程式設計 (轉)程式設計師
- 蘋果iPhone螢幕朗讀怎麼關閉?iPhone設定螢幕朗讀方法蘋果iPhone
- ubuntu螢幕旋轉Ubuntu
- 螢幕取詞核心內幕 (轉)
- 判斷螢幕旋轉的事件程式碼事件
- 用VB製作螢幕保護程式 (轉)
- 利用VB編寫螢幕保護程式 (轉)
- 關於VC中的DLL的程式設計 (轉)程式設計
- 關於程式設計風格的討論 (轉)程式設計
- UI篇-關於單個頁面螢幕旋轉要注意的問題UI
- sap abap螢幕程式設計中使用的table 和call子程式的程式設計
- UI設計:螢幕閱讀用字法則UI
- orientationchange 螢幕旋轉事件事件
- 關於拉幕程式的討論和原始碼 (轉)原始碼
- ios一句程式碼搞定螢幕旋轉iOS
- 讓應用程式禁止Windows螢幕保護 (轉)Windows
- 360奇酷手機自動旋轉螢幕怎麼關閉 360奇酷手機自動旋轉螢幕關閉教程
- 關於程式設計師寫文件(網路轉載)程式設計師
- 螢幕控制示例程式
- Android 禁止螢幕旋轉Android
- mui 控制旋轉螢幕方向UI
- 滑鼠螢幕取詞 原理 (轉)
- js判斷螢幕是否旋轉程式碼例項JS
- 用C#Builder編寫螢幕保護程式 (轉)UI
- 樂1s自動旋轉螢幕怎麼關閉 樂視超級手機1s自動旋轉螢幕關閉教程
- 如何將 MacBook 的外接螢幕設定為主螢幕的方法Mac
- Mac蓋上螢幕不休眠技巧,教你關閉螢幕不進入黑屏!Mac
- win10怎麼關閉螢幕鍵盤_win10如何關閉螢幕鍵盤Win10
- 關於ByteCode程式設計程式設計
- 關於 App 程式設計師泡沫APP程式設計師
- 關於App程式設計師泡沫APP程式設計師
- WebRTC本地分享螢幕,錄製螢幕Web
- iOS螢幕旋轉解決方案iOS