TIPTOP ERP系统用户可视化界面修改账号密码

客制一支作业p_pw,用于登录用户自行更改密码

--------------------华--------------------丽---------------------分--------------------割--------------------线--------------------

代码下载地址:http://pan.baidu.com/share/link?shareid=87591&uk=4060653789

画面档代码,代码复制到编辑器中请保存为p_pw.per

SCHEMA dsLAYOUTVBOXFOLDERPAGE page01 (TEXT="Main")GRID{Oldpassword           [old             ] Newpassword           [new             ] REPassword            [renew           ] }END --GRIDEND --PAGEEND --FOLDEREND --VBOX
END --LAYOUTTABLES azb_fileATTRIBUTESold     = FORMONLY.old;new     = FORMONLY.new; renew   = FORMONLY.renew;
END

--------------------华--------------------丽---------------------分--------------------割--------------------线--------------------

4GL代码,复制到编辑器中,保存为p_pw.4gl

# Prog. Version..: '3.10.02-06.08.23(00005)'     #
# Pattern name...: p_pw.4gl
# Descriptions...: 可视化界面修改用户密码
# Date & Author..: 2012/09/24 By CondorDATABASE ds
GLOBALS "../../config/top.global"DEFINE p_row,p_col     SMALLINT,g_oldpwd        VARCHAR(50),      g_newpwd        VARCHAR(50),     g_repwd         VARCHAR(50)
MAINOPTIONSFORM LINE     FIRST + 2,               #鐣潰闁嬪鐨勪綅缃?      MESSAGE LINE  LAST,                    #瑷婃伅椤ず鐨勪綅缃?       PROMPT LINE   LAST,                    #鎻愮ず瑷婃伅鐨勪綅缃?        INPUT NO WRAP                          #杓稿叆鐨勬柟寮? 涓嶆墦杞?    DEFER INTERRUPT                        #鎿峰彇涓柗閸?IF (NOT cl_user()) THENEXIT PROGRAMEND IFWHENEVER ERROR CALL cl_err_msg_logIF (NOT cl_setup("CZZ")) THENEXIT PROGRAMEND IFLET p_row = ARG_VAL(1)LET p_col = ARG_VAL(2)CALL  cl_used(g_prog,g_time,1) RETURNING g_time #No:MOD-580088  HCN 20050818  #No.FUN-6A0081LET p_row = 2 LET p_col = 4  OPEN WINDOW p_pw_w AT p_row,p_col WITH FORM "czz/42f/p_pw"ATTRIBUTE (STYLE = g_win_style CLIPPED) #No:FUN-580092 HCNCALL cl_ui_init()LET g_action_choice = ""CALL p_pw_i()CALL p_pw_menu()CLOSE WINDOW p_pw_wCALL  cl_used(g_prog,g_time,2) RETURNING g_time #No:MOD-580088  HCN 20050818  #No.FUN-6A0081
END MAIN
FUNCTION p_pw_menu()MENU ""BEFORE MENUON ACTION pwdCALL p_pw_modify()ON ACTION exitLET g_action_choice = "exit"EXIT MENUON ACTION controlgCALL cl_cmdask()ON IDLE g_idle_secondsCALL cl_on_idle()CONTINUE MENUCOMMAND KEY(INTERRUPT)LET INT_FLAG=FALSELET g_action_choice = "exit"EXIT MENUEND MENU
END FUNCTIONFUNCTION p_pw_i()INPUT g_oldpwd,g_newpwd,g_repwd FROM old,new,renew#INPUT g_newpwd FORM new#INPUT g_repwd FORM renewBEFORE INPUTCALL cl_set_comp_entry("old,new,renew",TRUE)AFTER FIELD renewIF g_repwd <> g_newpwd THENCALL cl_err('','czz-101',1)NEXT FIELD newEND IFON ACTION CANCELLET g_action_choice = "exit"CALL cl_set_act_visible("pwd", FALSE)EXIT INPUTEND INPUTIF INT_FLAG THENLET INT_FLAG = 0CLOSE WINDOW p_pw_wCALL cl_used(g_prog,g_time,2) RETURNING g_time  EXIT PROGRAM END IF
END FUNCTIONFUNCTION p_pw_modify()
DEFINE l_script    STRING,      l_execute   STRING,      l_return    STRINGDEFINE  ch                            base.Channel,       l_status                      SMALLINT,l_index                       SMALLINT,l_temp                        STRING,l_text                        STRING RUN "rm -rf /u1/topprod/tiptop/asf/4gl/pwd"RUN "rm -rf /u1/topprod/tiptop/asf/4gl/pwd.log"LET l_script = '#!usr/bin/expect ','\n','  set old [lindex $argv 0]','\n','  set new [lindex $argv 1]','\n','  spawn   passwd ','\n','  expect "password:" ','\n','  send "$old\\r"   ','\n','  sleep 1','\n','  expect "password:"','\n','  send "$new\\r"       ','\n','  sleep 1        ','\n','  expect "password:"','\n','  send "$new\\r"  ','\n','  expect eof','\n','  exit'RUN "echo '"||l_script||"' > /u1/topprod/tiptop/asf/4gl/pwd"RUN "chmod 777 /u1/topprod/tiptop/asf/4gl/pwd"RUN "chmod 777 /u1/topprod/tiptop/asf/4gl/pwd.log"LET l_execute = "expect /u1/topprod/tiptop/asf/4gl/pwd ",g_oldpwd," ",g_newpwd," > /u1/topprod/tiptop/asf/4gl/pwd.log"RUN l_executeSLEEP 2LET ch = base.Channel.create()CALL ch.openFile('/u1/topprod/tiptop/asf/4gl/pwd.log','r')LET l_status = ch.read(l_temp)WHILE l_status LET l_text = l_text.trim(),l_temp.trim()LET l_status = ch.read(l_temp) END WHILE  LET l_index = 0LET l_index = l_text.getIndexOf('successfully',1)IF l_index > 0 THENCALL cl_err('successfully','!',1)EXIT PROGRAMELSELET l_index = l_text.getIndexOf('Authentication token manipulation error',1)IF l_index > 0 THENCALL cl_err('','czz-102',1)        #认证令牌操作错误ELSELET l_index = l_text.getIndexOf('too short',1)IF l_index > 0 THENCALL cl_err('','czz-103',1)     #新输入的密码太短ELSELET l_index = l_text.getIndexOf('Password unchanged',1)IF l_index > 0 THENCALL cl_err('','czz-108',1)  #密码未改变ELSELET l_index = l_text.getIndexOf('too similar to the old',1)IF l_index > 0 THENCALL cl_err('','czz-107',1) #新密码与旧密码太相似了ELSELET l_index = l_text.getIndexOf('not contain enough DIFFERENT characters',1)IF l_index > 0 THENCALL cl_err('','czz-104',1)  #密码不包含足够的不同字符ELSELET l_index = l_text.getIndexOf('too simplistic',1)IF l_index > 0 THENCALL cl_err('','czz-105',1) #新密码太过简单化ELSELET l_index = l_text.getIndexOf('based on a dictionary word',1)IF l_index > 0 THENCALL cl_err('','czz-106',1) #新密码包含了基于字典中的单词ELSECALL cl_err(l_text,'!',1)END IFEND IFEND IFEND IFEND IFEND IFEND IF#CALL cl_err(l_text,'!',1)CALL p_pw_i()IF g_action_choice = "exit" THENCALL cl_set_act_visible("pwd", FALSE)END IFCALL p_pw_menu()IF INT_FLAG OR g_action_choice = "exit" THENEXIT PROGRAMEND IFEND IF END FUNCTION

--------------------华--------------------丽---------------------分--------------------割--------------------线--------------------

效果图如下:

 

TIPTOP ERP系统用户可视化界面修改账号密码相关推荐

  1. 计算机的用户账户无法更改密码,Win7系统无法修改账号密码怎么办?电脑不能修改账号密码解决方法...

    我们在使用电脑的时候,设置电脑系统密码是为了不让他人使用自己的计算机,只有知道开机密码的用户才可以顺利进入系统桌面,但是如果你打算修改登录密码的时候,却发现系统无法修改密码.那么Win7系统无法修改账 ...

  2. 腾讯云轻量级服务器Ubuntu系统搭建可视化界面

    前言: 以云服务器的方式搭建Linux workstation对比在电脑本地安装虚拟机的优势在于,不需要占用本地电脑资源空间,网络环境等相对稳定,可以用手机等轻量移动设备连接管理等.本文主要介绍使用腾 ...

  3. 计算机登陆用户显示黑屏,win7系统电脑开机输入登录账号密码后出现黑屏的原因分析及两种解决方法...

    一位用户说win7开机输入登录账号密码后出现黑屏,这是怎么回事呢?这种情况怎么解决呢?下面脚本之家的小编就带来win7系统电脑开机输入登录账号密码后出现黑屏的原因分析及解决方法,一起来看看吧. 故障原 ...

  4. 第三节:TIPTOP ERP系统成本问题集

    [第三节:TIPTOP ERP系统成本问题集] <1>      成本阶不在料件成本阶数设定作业(axcp012) 答:检查axcp012的成本阶数,检查axci020是否有这个成本阶数 ...

  5. 生产制造业ERP系统车间可视化看板的作用

    可视化管理做得好,可以使一个工厂的管理化繁为简,将复杂的现场人.机.料.法.环简单化.条理化.利用生产制造业ERP系统与大数据分析平台,实现将采集到数据进行加工处理.分析挖掘,用更为直观的可视化看板的 ...

  6. linux进入单用户模式改密码,1.4linux单用户模式下修改root密码和救援模式修改root密码...

    在忘记root密码无法登入系统的情况下,有两种修改root密码的方法. 第一种:进入单用户模式下,直接修改root密码,前提是grub没有设置密码. 第二种:使用安装光盘启动,进入救援模式更改root ...

  7. fedora mysql默认密码忘记_Linux fedora 24 忘记密码图形化界面修改root密码的方法

    方法及其简单,只需要两步即可: 1.第一步: 打开终端,输入sudo su命令. –此处的密码为普通用户的密码,也就是开机时输入的密码. 2.第二步: 直接sudo passwd root就重置了ro ...

  8. Mysql---之Mysqladmin修改账号密码方式

    2019独角兽企业重金招聘Python工程师标准>>> Mysql DDL--数据定义语言(create.alter.drop.declare) DML--数据操作语言(select ...

  9. 优酷视频如何修改账号密码?

    一.pc端:您能够立即登陆[点一下这儿]密码重置哦~或是能够按下列方式实际操作哦. 1.登陆本站,网页页面最上边[登陆]功能键,登陆界面右下角点一下[密码忘了]. 优酷视频如何修改账号密码? 2.请输 ...

最新文章

  1. java fx配置_JavaFX系列-配置开发环境
  2. 德州农工大学 计算机排名,德州农工大学美国大学排名及专业排名汇总(USNEWS美国大学排名版)...
  3. R语言sys方法:sys.info函数获取系统和用户信息、sys.localeConv函数获取当前区域中的数字和货币表示的详细信息、sys.setFileTime函数更改文件的时间
  4. 陶大程院士:深度学习“泛化”理论的回顾与前沿
  5. ThreadLocal内存泄漏问题
  6. php kafka 日志系统,kafka-PHP客户端库(Composer)
  7. 【Netty】主从反应器 ( Reactor ) 多线程模型
  8. linux命令tcpdump
  9. qt 信号多个链接槽_Qt原理窥探信号槽的实现细节
  10. 数据分析工具篇pyspark应用详解——Pyspark实现PCA主成分
  11. python原理书籍_python书籍推荐:《深入浅出深度学习:原理剖析与Python实践》
  12. 手写一个promise用法_手写一个自己的 JavaScript Promise 类库
  13. IT报表开发者必看:别加班了,真正解放双手的低代码开发神器来了
  14. Android View 的scrollTo 和 scrollBy方法
  15. java long 除法运算_java基础知识学习文档二
  16. 神经网络算法开篇——逻辑回归
  17. 你知道什么是MEMS传感器吗?
  18. 计算机专业读研期间的规划,计算机专业研究生的读研规划
  19. Java基础——类与对象
  20. java sql date 时分秒_java.sql.date与java.util.date区别以及数据库中插入带时分秒的时间...

热门文章

  1. Kratos Quick Start
  2. 知乎上关于应用分身的问答
  3. 分布式认知在计算机应用系统,心理学什么叫分布式认知
  4. ANSYS经典界面参数类型、定义及赋值
  5. 猎豹免费WiFi V4.0
  6. 墨菲定律(Murphy’s Law)
  7. springcloud Feign动态调用url,动态header,踩坑401及400报错
  8. 为什么何炅收粉丝礼物这个事情,会这么严重?
  9. 潘凯:C++对象布局及多态实现的探索(三)
  10. 蜗牛学院:程序员这个高薪职业只有科班的人才能做吗?