免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2543 | 回复: 3
打印 上一主题 下一主题

紧急 , 在线等啊。给过程传递参数问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-02-24 12:12 |只看该作者 |倒序浏览
本帖最后由 wyd1003 于 2010-02-24 12:15 编辑

D  CZQ09001       PR             1A
     D  A                            15A   VALUE
     P  CZQ09001       B                   EXPORT
     D*
     D  CZQ09001       PI             1A
     D  UKNO                         15A   VALUE

把上面的编译成服务程序,然后连接到一个程序中
请问怎么调用过程CZQ09001,怎么给他传递参数,怎么获得他的返回值?
谢谢大家了 ,,着急啊。

论坛徽章:
0
2 [报告]
发表于 2010-02-24 12:27 |只看该作者
讲的不清不楚的,怎么回答

论坛徽章:
0
3 [报告]
发表于 2010-02-24 12:43 |只看该作者
回复 2# simonshen
就是把 过程都写在一个程序中,,然后编译成模块,在编译成服务程序,这样别的程序不就可以调用这个程序中的过程了么,,

然后建立一个应用程序,要用到上面的过程,把应用程序和过程建立联系用下面的命令
       CRTPGM PGM(MYLIB/MYPGM)
                 BNDSRVPGM(MYLIB/MYP)
我在调用的时候是用的 callb(d)

但是参数没传进去啊,用callb也得不到返回值啊,请问怎么解决啊?? 谢谢了

论坛徽章:
0
4 [报告]
发表于 2010-02-24 21:08 |只看该作者
D  CZQ09001       PR             1A
     D  A                            15A   VALUE
     P  CZQ09 ...
wyd1003 发表于 2010-02-24 12:12


前两行是编译下面procedure CZQ09001需要的匹配原型:
     D  CZQ09001       PR             1A
     D  A                            15A   VALUE

下面代码是CZQ09001的代码:
     P  CZQ09001       B                   EXPORT
     D*
     D  CZQ09001       PI             1A
     D  UKNO                         15A   VALUE

这里定义的CZQ09001 procedure是一位输出值,15位字符的输入值。不能使用callp,直接对CZQ09001进行调用,如下:

d c@Value                 s          15    inz
d Rc                           s           1     inz

    ......
      c@value = 'A23456' ;
      Rc = CZQ09001(c@value);
     .......
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP