zoukankan      html  css  js  c++  java
  • ABAP制作密码输入框

    【转自 http://blog.csdn.net/saphome/article/details/6956911】

    这几天做一个系统维护的程序,需要用户输入用户名和密码登录。可怎样实现输入密码显示星号的框呢?在其它语言中简单的选那个文本框控件作为 “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”的文本元素专门用于密码数据类型,可以使用它。

  • 相关阅读:
    nmake不是内部或外部命令,也不是可运行的程序
    MinGW下载和安装教程
    Qt接单
    C++ web 框架
    原型链
    ssh: Could not resolve hostname的一种解决方案
    oracle客户端安装配置
    linux安装go
    golang 为什么结构体方法要写成指针传递
    traceback模块
  • 原文地址:https://www.cnblogs.com/rainysblog/p/4141255.html
Copyright © 2011-2022 走看看