AS/400上发送短信命令的简单封装[clp]

时间:2016-10-28 ┊ 阅读:7,441 次 ┊ 标签: 编程 , 命令 , 短信

机器上一直用一个很复杂的命令来发送短信到手机上,真心不容易记。近来有空就自己改写了一翻重新封装起来,很方便的用上了。

现在只需要下面一句简单的命令就可以发送短信到我们手机上了。哈哈。原谅我用xxx替换了隐私信息。

SNDSMS SENDTO(xxxxxx) MESSAGE('good test pager by Kevin.')

sndsms.png

CLP的源码:

PGM        PARM(&SENDTO &MESSAGE)                        
DCL        VAR(&SENDTO)  TYPE(*CHAR) LEN(17)             
DCL        VAR(&MESSAGE) TYPE(*CHAR) LEN(200)            
DCL        VAR(&MSGID)   TYPE(*CHAR) LEN(7)              
XXXPROD/XXXXXMSG SENDTO(&SENDTO) MESSAGE(&MESSAGE)       
MONMSG     MSGID(HMC0000) EXEC(DO)                       
RCVMSG     MSGID(&MSGID)                                 
IF         COND(&MSGID *EQ 'xxxxxxx') THEN(DO)           
SNDPGMMSG  MSG('Device' |> &SENDTO |> 'not found, short +
             message not sent.')                         
GOTO       CMDLBL(END)                                   
ENDDO                                                    
ELSE DO                                                  
SNDPGMMSG  MSG('Error encountered, the code is' |> +     
             &MSGID || ', please check it in Xxxxxxx.')  
GOTO       CMDLBL(END)                                   
ENDDO                                                    
ENDDO                                                    
RCVMSG     MSGTYPE(*COMP) MSGID(&MSGID)                  
GOTO       CMDLBL(OK)                                 
                                                      
OK:                                                   
SNDPGMMSG  MSG('Send short message to' |> &SENDTO |> +
             'success!') MSGTYPE(*COMP)               
                                                      
END:                                                  
ENDPGM

CMD的源码:

CMD        PROMPT('SEND SHORT MESSAGE')                 
                                                        
PARM       KWD(SENDTO) TYPE(*CHAR) LEN(17) +            
             DFT(AVPRODNITE) PROMPT('TO MESSAGE DEVICE')
                                                        
PARM       KWD(MESSAGE) TYPE(*CHAR) LEN(200) +          
             PROMPT('MESSAGE TEXT')                     

另外我还给命令加了帮助的提示文档:
sndsms_help.png
Member Type Text
SNDSMS UIM Send Short Message
源码太长就不在这添加了,以后有空讲一下命令的帮助面板实现方法。

文章评论

添加新评论

温馨提醒:如果您是第一次在本站留言,需要审核后才能显示哦!

相关文章

Mac电脑一直显示有未读信息怎么解决?

Mac电脑一直显示有未读信息怎么解决?

上次还是macOS14,一直没有解决。索性放着不管了,反正把所有没用的信息都清理了,已经确认没有未读信息了。 最近升级了macOS15最新版本,但还是提示有6条未读信息,百思不得其姐! 查了一下网上不少人遇到此问题,有说有bug,有说点掉过滤未知联系人信息啥,都不好用。 最后查到了Apple社...
阅读全文>>
ValueError: Error getting directory

ValueError: Error getting directory

ssl证书过期了 明明自动renew的 然后看log已经好久没更新成功了 查半天是当前server不信任远程连接 只能自己改代码 报错: 21-12-17 13:01:11 Generate CSR...amkevin.csr amkevin.csr generated. /home/www...
阅读全文>>
popup.js怎么和content.js通信?[JQuery]

popup.js怎么和content.js通信?[JQuery]

这两天为了实现一个谷歌浏览器插件功能,研究了半天怎么让插件来改特定网页里的特定字段的值,而这个值又来自popup的网页预先设定,下一步实现动态加载,可以让更多组实现便利。 目的很简单,我们有一个list,需要填到网页的某个字段,当然是好几个,这些值是设定好的,网页系统我们没法改,input想...
阅读全文>>
Office 2016 Client Software License Management Tool

Office 2016 Client Software License Management Tool

Office 2016 Client Software License Management Tool Usage cscript ospp.vbs /Option:Value ComputerName User Password ComputerName: Name of remote c...
阅读全文>>
office2016 产品已激活 却同时显示需要激活(解决办法)

office2016 产品已激活 却同时显示需要激活(解决办法)

直接上命令吧: c:\Program Files\Microsoft Office\Office16>cscript.exe ospp.vbs /dstatus Microsoft (R) Windows Script Host Version 5.812 版权所有(C) Microso...
阅读全文>>