TIPTOP ERP 用户密码修改
来源:互联网 发布:数组指针指向一维数组 编辑:程序博客网 时间:2024/04/30 00:24
由于TIPTOP ERP 用户更改口令不是很方便,所以写了个程序用来更改用户口令
(按理来说不是自己亲自写的,是从别人那里要来改过后的,
好东西总是要共享的嘛)
以前的修改界面如下:【输入的内容是看不到的,造成用户有时候不知所措】
运行p_pw界面及操作如下:
程序信息如下:(per文件与4gl文件)
*********************************************************************************************************************程序编号: p_pw.4gl程序说明:TIPTOP ERP用户密码修改程序所在目录4gl文件:/u1/topprod/topcust/czz/4gl/p_pw.4glper文件:/u1/topprod/topcust/czz/per/p_pw.per*********************************************************************************************************************
.per文件
SCHEMA FORMONLYLAYOUT VBOX FOLDER PAGE page01 (TEXT="Main") GRID { username [username ][name ] Oldpassword [old ] Newpassword [new ] REPassword [renew ] } END --GRID END --PAGE END --FOLDER END --VBOXEND --LAYOUT ATTRIBUTES username = FORMONLY.username,NOENTRY; name = FORMONLY.name,NOENTRY; old = FORMONLY.old; new = FORMONLY.new; renew = FORMONLY.renew;END
.4gl文件
# Prog. Version..: '3.10.02-06.08.23(00005)' ## Pattern name...: p_pw.4gl# Descriptions...: 可视化界面修改用户密码# Date & Author..: 2012/09/26 By XXXXDATABASE dsGLOBALS "../../config/top.global"DEFINE p_row,p_col SMALLINT, g_oldpwd VARCHAR(50), g_newpwd VARCHAR(50), g_repwd VARCHAR(50), g_zx02 LIKE zx_file.zx02 MAIN OPTIONS #改变一些系统预设值 FORM LINE FIRST + 2, #画面开始的位置 MESSAGE LINE LAST, #讯息显示的位置 PROMPT LINE LAST, #提示讯息的位置 INPUT NO WRAP #输入的方式: 不打转 DEFER INTERRUPT #撷取中断键, 由程式处理 IF (NOT cl_user()) THEN EXIT PROGRAM END IF WHENEVER ERROR CALL cl_err_msg_log IF (NOT cl_setup("CZZ")) THEN EXIT PROGRAM END IF LET 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-6A0081 OPEN WINDOW p_pw_w AT p_row,p_col WITH FORM "czz/42f/p_pw" ATTRIBUTE (STYLE="chpw", TEXT="chpw") #No:FUN-580092 HCN CALL cl_ui_init() LET g_action_choice = ""##显示用户账号和姓名******************************************* SELECT zx02 INTO g_zx02 FROM zx_file WHERE zx01=g_user IF (SQLCA.SQLCODE) THEN DISPLAY g_user CLIPPED," has no data in zx_file." RETURN FALSE END IF DISPLAY g_user TO FORMONLY.username ATTRIBUTE(REVERSE,BOLD,GREEN) DISPLAY g_zx02 TO FORMONLY.name ATTRIBUTE(REVERSE,BOLD,GREEN) ##END********************************************************** CALL p_pw_i() CALL p_pw_menu() CLOSE WINDOW p_pw_w CALL cl_used(g_prog,g_time,2) RETURNING g_time #No:MOD-580088 HCN 20050818 #No.FUN-6A0081END MAINFUNCTION p_pw_menu() MENU "" BEFORE MENU ON ACTION pwd CALL p_pw_modify() ON ACTION exit LET g_action_choice = "exit" EXIT MENU ON ACTION controlg CALL cl_cmdask() ON IDLE g_idle_seconds CALL cl_on_idle() CONTINUE MENU COMMAND KEY(INTERRUPT) LET INT_FLAG=FALSE LET g_action_choice = "exit" EXIT MENU END MENUEND FUNCTIONFUNCTION p_pw_i() INPUT g_oldpwd,g_newpwd,g_repwd FROM old,new,renew BEFORE INPUT CALL cl_set_comp_entry("old,new,renew",TRUE) AFTER FIELD renew IF g_repwd <> g_newpwd THEN CALL cl_err('','czz-101',1) NEXT FIELD new END IF ON ACTION CANCEL LET g_action_choice = "exit" CALL cl_set_act_visible("pwd", FALSE) EXIT INPUT END INPUT IF INT_FLAG THEN LET INT_FLAG = 0 CLOSE WINDOW p_pw_w CALL 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/azz/4gl/pwd" RUN "rm -rf /u1/topprod/tiptop/azz/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/azz/4gl/pwd" RUN "chmod 777 /u1/topprod/tiptop/azz/4gl/pwd" RUN "chmod 777 /u1/topprod/tiptop/azz/4gl/pwd.log" LET l_execute = "expect /u1/topprod/tiptop/azz/4gl/pwd ",g_oldpwd," ",g_newpwd," > /u1/topprod/tiptop/azz/4gl/pwd.log" RUN l_execute SLEEP 2 LET ch = base.Channel.create() CALL ch.openFile('/u1/topprod/tiptop/azz/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 = 0 LET l_index = l_text.getIndexOf('successfully',1) IF l_index > 0 THEN CALL cl_err('successfully','!',1) EXIT PROGRAM ELSE LET l_index = l_text.getIndexOf('Authentication token manipulation error',1) IF l_index > 0 THEN CALL cl_err('','czz-102',1) #认证令牌操作错误 ELSE LET l_index = l_text.getIndexOf('too short',1) IF l_index > 0 THEN CALL cl_err('','czz-103',1) #新输入的密码太短 ELSE LET l_index = l_text.getIndexOf('Password unchanged',1) IF l_index > 0 THEN CALL cl_err('','czz-108',1) #密码未改变 ELSE LET l_index = l_text.getIndexOf('too similar to the old',1) IF l_index > 0 THEN CALL cl_err('','czz-107',1) #新密码与旧密码太相似了 ELSE LET l_index = l_text.getIndexOf('not contain enough DIFFERENT characters',1) IF l_index > 0 THEN CALL cl_err('','czz-104',1) #密码不包含足够的不同字符 ELSE LET l_index = l_text.getIndexOf('too simplistic',1) IF l_index > 0 THEN CALL cl_err('','czz-105',1) #新密码太过简单化 ELSE LET l_index = l_text.getIndexOf('based on a dictionary word',1) IF l_index > 0 THEN CALL cl_err('','czz-106',1) #新密码包含了基于字典中的单词 ELSE CALL cl_err(l_text,'!',1) END IF END IF END IF END IF END IF END IF END IF #CALL cl_err(l_text,'!',1) CALL p_pw_i() IF g_action_choice = "exit" THEN CALL cl_set_act_visible("pwd", FALSE) END IF CALL p_pw_menu() IF INT_FLAG OR g_action_choice = "exit" THEN EXIT PROGRAM END IF END IF END FUNCTION
- TIPTOP ERP 用户密码修改
- TIPTOP ERP系统用户可视化界面修改账号密码
- TIPTOP ERP界面风格设置
- TIPTOP ERP 开发视频教程
- erp---tiptop内置函数
- TIPTOP ERP 删除tiptop库资料
- 【Tiptop ERP M】Tiptop GP ERP ASF生产管理系统
- 【Tiptop ERP M】Tiptop GP ERP APM采购管理系统
- tiptop erp 销售系统设定
- tiptop erp 采购系统设定
- TIPTOP ERP 常用SQL总结
- TIPTOP ERP Program Life Cycle
- TIPTOP ERP 5.X GP快捷键
- TIPTOP ERP上线-财务端辅导讲义
- EXCEL数据导入TIPTOP ERP 系统
- TIPTOP ERP GP3.0导入excel文件
- TIPTOP ERP ——创建GDC快捷方式
- TIPTOP ERP ——License 管理
- 链接服务器获取EXCEL数据
- Gauss-Jordan 消元法 解方程组
- 设计模式笔记之---命令模式
- Eclipse快捷键大全
- 修改Eclipse的默认工作目录
- TIPTOP ERP 用户密码修改
- 网购火车票攻略(十一长假版)
- java流
- android PULL 解析XML
- QML使用WebView遇到的QSslSocket问题解决
- Find命令--1
- UIMenuController控件的使用及菜单调不出的解决方法
- hdu 4419 Colourful Rectangle
- 一个简单的中文自动转拼音