ABAP制作密码输入框
? 這幾天做一個系統維護的程序,需要用戶輸入用戶名和密碼登錄。可怎樣實現輸入密碼顯示星號的框呢?在其它語言中簡單的選那個文本框控件作為 “Password”框顯示就OK了(一般會有單行、密碼和多行供選)。可在ABAP中,把I/O字段屬性查了個遍,沒找見類似的屬性,郁悶!
網上一搜,前人已經實現了。一看,更郁悶!居然是設置“不可見”屬性!!(原以為選上他控件會消失呢!)寫在這里,留個備份,也給需要的朋友作個參考。
下面分別介紹不同界面編程的具體實現方法:
(1)選擇屏幕(Selection-Screen)中實現密碼框:
假設選擇屏幕中有如下聲明:
PARAMETERS: txt_pass type string.
“txt_pass“是要接收密碼的字段,則在選擇屏幕的輸出事件中加入如下代碼,修改這個字段“不可見”:
AT SELECTION-SCREEN OUTPUT.?
loop at screen.
??? if screen-name = 'TXT_PASS'.
????? screen-invisible = '1'.
????? modify screen.
??? endif.
? endloop.
經過上面修改,txt_pass在界面上將顯示成帶星號的文本域。
(2)在屏幕(Screen)中實現密碼框:
與選擇屏幕上面一樣,還是設置“不可見”屬性,只是更簡單(不用寫代碼了)。
假設在屏幕設計器上放了個名叫“txt_pass”的I/O域來接收密碼輸入,則雙擊這個字段,在屬性窗口下面的“顯示”頁勾選“不可見”(如右圖所示),激活,OK!
總結:
(1)SAP這個屬性搞的變態(不過想一下,也有道理);
(2)自己以后可不能想當然了,要注重動手實踐。
(3)上面密碼數據類型我使用了string,SAP數據字典中還提供了個叫“XUNCODE”的文本元素專門用于密碼數據類型,可以使用它。
總結
以上是生活随笔為你收集整理的ABAP制作密码输入框的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ABAP中的F4帮助怎么用?
- 下一篇: SAP 甘特图