RPGLE调用C程序的问题

类别:编程语言 点击:0 评论:0 推荐:

 
。 说:
张工,你好!
。 说:
有一个怪问题
张(修身养性) 说:
嗯,谢工,^_^
张(修身养性) 说:
你说
。 说:
往账发送程序,CALL 'CLIENT3TST' 后,变量V@WTDT的值被改变,在CALL之前它的值为20040101之后变成00050101,但V@WTDT只是RPG局部变量。
。 说:
之前是20050101(前面写错了)

张(修身养性) 说:
呵呵..怎么就成了20050101了?
。 说:
之后变成00050101
。 说:
他们测试时没改日期
张(修身养性) 说:
就是那个2没了,是吧
。 说:

张(修身养性) 说:
什么报文?
张(修身养性) 说:
所有的吗?
。 说:
好像日期匹配时不会改,我还没去测一下
。 说:
CMT1000
。 说:
CMT100
张(修身养性) 说:
我们以前测试不是好着的吗?^_^
张(修身养性) 说:
不是你发往帐过去,前置机都可以查的到啊,
张(修身养性) 说:
没有说会有这个错误的呀,^_^
。 说:
对呀,那是委托日期和我们前台交易日一致的情况
张(修身养性) 说:
委托日期和前台日期不一致会出现这个错误吗?
张(修身养性) 说:
^_^..
张(修身养性) 说:
你的00050101是在那里看到的啊?
。 说:
这回是发上来的日期和模拟环境的日期不一致,模拟环境的日期还是20041214
。 说:
debug
张(修身养性) 说:
那你看MBFE接口那段收到的日期显示是几号?
。 说:
MapASCII ]'s output[20050101]
张(修身养性) 说:
对啊,那不就是对的嘛
张(修身养性) 说:
^_^..
张(修身养性) 说:
那MBFE肯定收到不能处理啊,你日期都不对,
。 说:
我是说是不是“CLIENT3TST”内存泄漏
张(修身养性) 说:
^_^..应该不是,
张(修身养性) 说:
这个我查以下成讯,那个client3tst只是个通讯程序
张(修身养性) 说:
不对报文做处理的
。 说:
可是call了“CIENT3TST”之后,变量值V@WTDT被改变了
。 说:
C     SNDPAK        BEGSR                                       
C                                                               
C                   DOW       1=1                               
C                   MOVE      X'00'         OUTPUTD             
C                   CALLB     'CLIENT3GO'                       
C                   PARM                    OUTPUTD             
C  
张(修身养性) 说:
^_^..首先呢,接口交给MBFE的日期跟你行内输入的是一致的吧?
。 说:
调用“CLIENT3GO”之前我看了一下V@WTDT的值是20050101,之后就变成了00050101
。 说:
是一致的
张(修身养性) 说:
哎,明白了,client3tst只是个通讯程序,
张(修身养性) 说:
你指的是zfsend程序
。 说:

。 说:
怎么回事呢
张(修身养性) 说:
你是不是看错程序了?
。 说:
就是ZFSND
。 说:
内存泄漏
张(修身养性) 说:
你把3TST改成3GO了,是吧
。 说:
对呀
张(修身养性) 说:
服了你了,就认准一个内存泄漏,^_^
张(修身养性) 说:
WTDT是在那个里面呢?谢工,^_^
。 说:
ZFSND中的
张(修身养性) 说:
你把那个字段改成这个了?
。 说:
不应在调用一个C程序后被改变
。 说:
一个变量而已
张(修身养性) 说:
我知道是你调用的一个变量
张(修身养性) 说:
但那个变量是做什么用的,在那里用的你得告诉我啊,^_^
。 说:
DV@WTDT           S              8P 0  
。 说:
C     'DEMAK'       CAT       FFCMTN        @@PRG            10     
C                   CALL      @@PRG                                 
C                   PARM                    V@WTDT                  
C                   PARM                    V@FQHH                  
C                   PARM                    V@JYZL                  
C                   PARM                    V@MBSQ
。 说:
组包时用的
张(修身养性) 说:
你把你得client3tst发给我看看
张(修身养性) 说:
不是,是你写得zfsend给我看看
。 说:
组完包后它的值没变,而发送了之后就变了
。 说:

张(修身养性) 说:
那你发一笔日期一致得,也会变吗?^_^
。 说:
还没试呢
张(修身养性) 说:
你也试试吧,^_^
。 说:

张(修身养性) 说:
你发到我公司邮箱,^_^.那个快,
张(修身养性) 说:
你要吃饭了吧,
张(修身养性) 说:
我中午看
张(修身养性) 说:
下午我们在讨论,^_^
。 说:

。 说:
好了,没问题了
张(修身养性,无欲无求) 说:
嗯?
张(修身养性,无欲无求) 说:
怎么没问题了? ^_^
。 说:
V@RTCOD的长度改成5即可
张(修身养性,无欲无求) 说:
嗯?有个长度定义错了,是吧
。 说:
是的
张(修身养性,无欲无求) 说:
你可真厉害啊,^_^..我再查查,

本文地址:http://com.8s8s.com/it/it24003.htm