如何实现输入的密码显示为*号

本文介绍了在ABAP中如何实现输入密码显示为星号的效果。通过设置选择屏幕和屏幕设计器中I/O字段的“不可见”属性,达到密码隐藏的目的。虽然在ABAP中没有直接的“Password”框选项,但通过设置`screen-invisible = '1'`可以实现这一功能。同时,建议使用SAP数据字典中的`XUNCODE`文本元素处理密码数据类型。


几天做一个系统维护的程序,需要用户输入用名和密。可怎样实现输入密码显示星号的框呢?在其它言中简单那个文本框控件作“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

总结

1SAP个属性搞的变态(不想一下,也有道理);

2)自己以后可不能想当然了,要注重践。

3)上面密数据型我使用了stringSAP数据字典中提供了个叫“XUNCODE”的文本元素专门用于密数据型,可以使用它。

(4)如果要实现屏幕某个元素不显示的话,screen-invisible = '1'.必须与screen-input搭配使用,如果单独使用screen-invisible = '1'.的话

  只能实现显示密码为星号这种style

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值