货铺QQ群号:834508274
微信群不能扫码进了,可以加我微信SAPliumeng拉进群,申请时请提供您哪个模块顾问,否则是一律不通过的。
进群统一修改群名片,例如BJ_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
”的文本元素专门用于密码数据类型,可以使用它。
From <</span>http://blog.csdn.net/saphome/article/details/6956911>