視圖維護-創建、增強與過濾

 在我們日常的開發和運維中,需要做維護的時候難免會遇到各種問題。今天就來告訴大家如何生成維護視圖、如何增強視圖事件,以及在創建事件中需要注意的事項,和發生問題時的解決方案。以下開始乾貨滿滿的教學!

1 維護視圖生成

1.1 創建表

事務代碼:se11,創建結構“YYS_TIMESTAMP”如下

 

創建數據庫表‘YDEMO01’,輸入描述,交付類選擇“C”,選擇“X允許顯示/維護”

 

創建數據庫表‘YDEMO02’,輸入描述,交付類選擇“C”,選擇“X允許顯示/維護”

 

1.2 創建外鍵

YDEMO02,選中“UNAME”點擊“外鍵”

 

系統會自動推送匹配的檢查表,配置後表中的“UNAME”字段將被限定。限定了將來這張透明表所存儲的數據的這個字段必須在有外鍵關係的那張表(USR02)中存在,否則會報錯。

 

表示外鍵已加。

同樣對“STATUS”進行外鍵設置,當系統沒有推薦的外鍵表時,可手動輸入表名,點擊“創建建議”

 

設置“設置技術設置”,數據類選擇“APPL0”,大小類別選擇“0”即可,當數據條超過預期數量,將自動擴大表大小。

 

 

激活表。

 

1.3 創建視圖

 

解釋:

  • “權限組”:給一個值,此例使用“&NC&”(無授權組);
  • “函數組”:給一個自定義函數組名稱,此例爲“YYDEMO02”;
  • “維護類型”:可選一步法或二步法,一步法只維護條目概覽部分,而二步法除概覽外還可維護條目明細,此欄選一步法;
  • 無論一步法或二步法,“概述屏幕”欄均需給一個屏幕編號,此例給“2”,由於是一步法故第一屏幕欄不需要輸入;
  • 記錄例程:此例不需要生成傳輸請求,故選擇第二項,如需生成傳輸請求則選另一項。

點擊左上角 “創建”,此例保存在本地,將創建函數組,需多次點擊保存,直至完成。

2 視圖事件增強

2.1 01事件在保存數據前

 

  1. 如何自動記錄時間戳呢?

 

用的比較多的是01,03,05,21這4個事件。

01 用於數據保存數據庫前觸發

03 在刪除數據庫數據之前觸發

05 當建立新的條目時觸發

21 不希望某些字段在前臺顯示,但仍需記錄信息時採用

 

推薦將所有事件放到一個INCLUDE程序下,激活事件後,將在主程序名爲SAPL+函數組,此處爲SAPLYYDEMO02,下創建INCLUDE程序,後續加事件後推薦都放到同一個INCLUDE程序下。

此處創建01事件。

 

(如需源代碼,請轉發此文章至朋友圈,截圖給助理)

創建完成後SM30維護視圖,輸入用戶和狀態後,點擊保存,自動帶出創建人、創建日期創建時間等信息。

  1. 如果某些字段不允許輸入,只允許顯示,例如描述字段,可以採用如下方法:

 

(此時對象描述不能自動帶出)

2.2 05事件創建新數據時觸發

創建數據時,自動帶出YYDEMO01表中的描述,此事件在更新時不觸發。

選擇與上步相同的INCLUDE程序。

 

 

2.3 21事件在更新數據時觸發

當更新數據時,不觸發05事件,以2.2步驟數據爲例,當狀態3更改爲2時,對象描述不會隨着改變,因此需要21事件。

 

當狀態從‘03’變更爲‘01’對象描述也隨之改變。

 

2.4 03事件在刪除數據前

  1. 如果我們不希望他人刪除自己維護的信息該如何操作呢?

 

2.5 維護視圖事件注意事項

相同的事件只能維護一個。

2.6 表結構變更,如何調整視圖

在視圖維護界面,點擊更改

 

更改後需到SE38,找到對應主程序(SAPL+函數名),添加INCLUDE LYYDEMO02F01程序。

 

3 視圖選擇過濾

3.1 將選擇屏幕與視圖維護相結合

 

(如需源代碼,請轉發此文章至朋友圈,截圖給助理)

 

3.2 外鍵在選擇界面的作用value-check

如果希望在選擇屏幕上對輸入的信息進行校驗,可採用value check。

注:字段必須在定義的表中設置外鍵纔可實現

 

3.3 如何設置某個字段的默認值

找到字段的MEMORY ID,在事務代碼:SU3中設置默認值。

 

程序運行時將自動輸入默認值。

 

此字段如果輸入其他值,下次執行時將自動輸入上次的值。

3.4 自定義字段如何設置MEMORY ID

在SM30中維護TPARA表。

 

  創作不易,覺得有用的小夥伴一定要收藏轉發分享!

 

圖文來源:Goldan、Lisa

圖文編輯:Yannick 

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章