AS400 SERVICE PROGRAM服务程式简易例子
本帖最后由 fusl520 于 2010-04-13 17:25 编辑
以下例子演示取得当天的一年前的日期值,希望对初学者有帮助。
1. SEU录入程式RPG11,RPG22
2. 分别将RPG11和RPG22建立成MODULE,
3. 建立服务程式SRPG1
CRTSRVPGM SRVPGM(PCEDP09/SRPG1) MODULE(PCEDP09/RPG11) EXPORT(*ALL)
4. 建立程式RPG22
CRTPGM PGM(PCEDP09/RPG22) MODULE(PCEDP09/RPG22) BNDSRVPGM(SRPG1) OPTION(*DUPPROC)
5. 运行 RPG22即可
以下例子演示取得当天的一年前的日期值,希望对初学者有帮助。
1. SEU录入程式RPG11,RPG22
1.jpg (46.66 KB, 下载次数: 11)
程式RPG11
RPG112.jpg (11.87 KB, 下载次数: 5)
程式RPG22
RPG222. 分别将RPG11和RPG22建立成MODULE,
3. 建立服务程式SRPG1
CRTSRVPGM SRVPGM(PCEDP09/SRPG1) MODULE(PCEDP09/RPG11) EXPORT(*ALL)
4. 建立程式RPG22
CRTPGM PGM(PCEDP09/RPG22) MODULE(PCEDP09/RPG22) BNDSRVPGM(SRPG1) OPTION(*DUPPROC)
5. 运行 RPG22即可
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
看不懂,做个记号,下次再看.
谢谢passthru 建议,看来内部函数有时用起来更简捷
本帖最后由 passthru 于 2010-04-14 11:16 编辑
sorry,刚才又认真看了你的svrpgm代码。你的代码就是把当前的日期改为*iso格式。呵呵,我想,应该srvpgm中,用一个输字符串入项,用%date(c_date:*iso),转换就可以了,无需用代码来转换。
本帖最后由 digitalchina 于 2010-04-14 09:35 编辑
收藏.
此例我今天又换了一种方法,用到RTVBNDSRC命令。
程式代码不需要改变,仍然创建RPG11,RPG22为模块。
然后分别执行以下命令:
RTVBNDSRC MODULE(PCEDP09/RPG11) SRCFILE(PCEDP09/QSRVSRC)
* 自动建立PCEDP09/QSRVSRC,以及在其中建立成员RPG11
CRTSRVPGM SRVPGM(PCEDP09/RPG11) SRCFILE(PCEDP09/QSRVSRC) OPTION(*GEN)
*用上面的成员RPG11建立服务程序RPG11
CRTPGM PGM(PCEDP09/RPG22) MODULE(PCEDP09/RPG22) BNDSRVPGM(PCEDP09/RPG11) OPTION(*GEN)
*用服务程序RPG11为模块RPG22建立程序
CALL RPG22即可。
谢谢楼上关注
此例的RPG22中的语句EVAL rs=Result的功能正是
相当于date2 = BEFORE1YEAR(date1)之类代码。
呵呵,楼主是不是忘了什么?比如,RPG22中定义了procedures的prototype:BEFORE1YEAR,在C表处理中没有看到date2 = BEFORE1YEAR(date1)之类的代码呀?
按LS的提议,搜索了一下编程的好字体:
下载Yahei Consolas Hybrid字体
参阅:
http://www.cnblogs.com/webflash/archive/2009/07/05/1517291.html
建议楼主下个YaHei Consolas Hybrid字体,把pcomm的字体换成这个看,很不错