免费注册 查看新帖 |

Chinaunix

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

CL中,*DEC的类型的变量,在参数调用时应该怎样写?求助 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-05-27 20:49 |只看该作者 |倒序浏览
call pgmabc  parm('char',1)

这样不行。

那么,是不是应该写成

call pgmabc  parm('char',00001),但还是不对,是不是DEC类型的参数的长度是固定的呢?

请高手指点。

论坛徽章:
0
2 [报告]
发表于 2005-05-27 22:55 |只看该作者

CL中,*DEC的类型的变量,在参数调用时应该怎样写?求助

在命令行直接CALL是比较麻烦的,一般是input parm定义成Character,然后在CL里面用CHGVAR给Numeric赋值.如果一定要传Numeric,只能用HEX了.
比如

PGM PARM(&A)

DCL &A *DEC (5 2)
.......


比如要传进25.5就用
CALL PGMA PARM(X'02550F')

论坛徽章:
0
3 [报告]
发表于 2005-05-29 00:50 |只看该作者

CL中,*DEC的类型的变量,在参数调用时应该怎样写?求助

以前的帖子里有,所以说,有事没事我们都应该看看以前的东西:

          设程序 PgmA 有参数 Parm1, Parm2:

            1)parm1(7S 0) = 276,parm2(7S 2) = 15.73

            传递方式:CALL PGMA PARM('0000276' '0001573')

            2)parm1(7S 0) = -276,parm2(6S 2) = -15.73

            传递方式:CALL PGMA PARM('-000276' '-01573')

            3)parm1(7P 0) = 276, parm2(7P 2) = 15.73

            传递方式:CALL PGMA PARM( X'0000276F' X'0001573F')

            4)parm1(6P 0) = 276 , parm2(6P 2)=15.73

            传递方式:CALL PGMA PARM( X'F000276F' X'F001573F')

            5)parm1(7P 0) = -276 , parm2(6P 2)=-15.73

            传递方式:CALL PGMA PARM( X'0000276B' X'F001573B')

            总结:

            对于S类型的参数,只要按照字符串的形式,在没有数字的位置补0,不用输入小数点,就可以得到正确的结果,如果是负数,在第一位输入负号 -
            即可,但是会占用一个数字位,7位的负数就只能输入6位数字了。

            对于P类型的参数,数字部分按照S类型的一样输入,还需要在字符串前加 X,并且如果长度为奇数,需要给字符串加 F
            后缀,如果长度为偶数,需要在字符串的前后都加
            F。如果是负数的,需要把字符串后面的F变为B。(X表示按16进制取值,由于P类型的数据存储方式是半个字节存储一个数字,所以需要在前后加其它的字母补齐空位。)

论坛徽章:
0
4 [报告]
发表于 2005-05-29 18:45 |只看该作者

CL中,*DEC的类型的变量,在参数调用时应该怎样写?求助

谢谢两位。

该问题我明白了。

也请两位关注我新发的关于存储过程的问题。——我问这个问题,其实就是因为在运用存储过程中遇到了障碍。

再次感谢!

论坛徽章:
0
5 [报告]
发表于 2005-05-30 09:17 |只看该作者

CL中,*DEC的类型的变量,在参数调用时应该怎样写?求助

原帖由 "胖有型" 发表:
以前的帖子里有,所以说,有事没事我们都应该看看以前的东西:

          设程序 PgmA 有参数 Parm1, Parm2:

            1)parm1(7S 0) = 276,parm2(7S 2) = 15.73

            传递方式:CALL PGMA ..........


好东东.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP