免费注册 查看新帖 |

Chinaunix

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

求助!不能修改物理的记录! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-24 16:18 |只看该作者 |倒序浏览
物理文件如下:
0001.00      A                                      UNIQUE                     
0002.00      A          R FLXXR                                                
0003.00      A            FBM            8A                                    
0004.00      A            FMC           60O         CCSID(138                 
0005.00      A          K FBM  
FMC 字段存储汉字的 。                                 
在交互方式下,用RPG做的程序,增、删、改记录都没问题。现在用RPG程序读取数据队列中的数据项,增加记录没问题。在调试环境下观察了,对数据队列数据项分解后, 相应字符变量是汉字串。write没问题。update也没报错呀!可是相应记录就是没有变! 在交互模式编了一段程序,update FMC成功。增、删都没问题,怎么改不了呀?:(
数据队列中数据项是用activex接口放入的。codepage=1388.
简单的问题怎么却不简单了呢?   高手帮忙呀!

论坛徽章:
0
2 [报告]
发表于 2006-03-24 16:26 |只看该作者
都没看明白你的环境到底是怎样的...........

我觉得问题出在RPG程序上...........RPG中有ACTIVEX??

论坛徽章:
0
3 [报告]
发表于 2006-03-24 16:35 |只看该作者
原帖由 xuguopeng 于 2006-3-24 16:26 发表
都没看明白你的环境到底是怎样的...........

我觉得问题出在RPG程序上...........RPG中有ACTIVEX??

activex是客户端的接口,我现在用vb调用的。只是向数据队列写入数据串。
RPG程序读取队列,写入表。过程就这么简单。

论坛徽章:
0
4 [报告]
发表于 2006-03-24 16:41 |只看该作者
你单独调试RPG程序是没问题的?

论坛徽章:
0
5 [报告]
发表于 2006-03-24 16:42 |只看该作者
当update的时候,dspjoblog里也没有提示信息吗

论坛徽章:
0
6 [报告]
发表于 2006-03-24 16:44 |只看该作者
是呀!在debug下看了,我是用数据结构分解数据项的。其中一个字段是汉字串没问题(现在就不是汉字都更新不了了)。
又编了个小程序,update FMC 字段可以呀!(在交互模式下)

[ 本帖最后由 sunokla 于 2006-3-24 16:50 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2006-03-24 16:48 |只看该作者
原帖由 xf001 于 2006-3-24 16:42 发表
当update的时候,dspjoblog里也没有提示信息吗

在调试模式下 dspjoblog吗?

论坛徽章:
0
8 [报告]
发表于 2006-03-24 16:51 |只看该作者
把你的RPG帖出来看看吧..............

现在看来,如果RPG取得的数据没有问题的话,那就是UPDATE部分的代码有问题

论坛徽章:
0
9 [报告]
发表于 2006-03-24 16:54 |只看该作者
0001.00 Fdflxx     uf a e           k disk    prefix(fl_)                       
0006.00 D************************************************************           
0007.00 D* 分解参数结构                                                         
0008.00 D***********************************************                        
0009.00 Dflxxds           ds                                                   
0010.00 D fbm                            8a                                    
0011.00 D fmc                           60a                                    
0012.00 Dinpssr           s              1p 0                                   
0013.00 C     *entry        plist                                               
0014.00 C                   parm                    opdecide          1         
0015.00 C                   parm                    indata          900         
0016.00 C                   parm                    return          150         
0017.00 C                   eval      flxxds=indata                             
0018.00 C************************************************************           
0019.00 C*opdecide 为1增加,2修改,3删除                                    
0020.00 C******************************************************                 
0021.00 C                   if        opdecide='1'                              
0022.00 C                   eval      fl_fbm=fbm                                
0023.00 C                   eval      fl_fmc=fmc                                
0024.00 C                   write     flxxr                                    
0025.00 C                   eval      return='FLXXAD    0'                     
0026.00 C                   endif                                               
0027.00 C                   if        opdecide='2'                              
0028.00 C                   eval      fl_fmc=fmc                                
0029.00 C     fbm           chain     flxxr                              50     
0030.00 C                   if        *in50=*off                                
0031.00 C                   update    flxxr                                    
0032.00 C                   eval      return='FLXXMD    0'                     
0033.00 C                   endif                                               
0034.00 C                   endif                                               
0035.00 C                   if        opdecide='3'                              
0036.00 C     fbm           chain     flxxr                              51     
0037.00 C                   if        *in51=*off                                
0038.00 C                   delete    flxxr                                    
0039.00 C                   eval      return='FLXXDL    0'                     
0040.00 C                   endif                                               
0041.00 C                   endif                                               
0042.00 C                   seton                                        lr     
0043.00 C                   return                                             
0044.00 C     *pssr         begsr                                               
0045.00 C                   if        inpssr=1                                 
0046.00 C                   move      '*CANCL'      returnpt          6         
0047.00 C                   z-add     0             inpssr                     
0048.00 C                   else                                                
0049.00 C                   move      '*CANCL'      returnpt          6         
0050.00 C                   z-add     1             inpssr                     
0051.00 C                   endif                                               
0052.00 C                   endsr     returnpt                                 

谢谢大家了!是另一程序读取数据队列,然后call 这个程序的。flxxds结构中的fmc是分解存储汉字的项。调试下看是汉字串的。

[ 本帖最后由 sunokla 于 2006-3-24 16:56 编辑 ]

论坛徽章:
0
10 [报告]
发表于 2006-03-24 17:04 |只看该作者
eval      fl_fmc=fmc                                方到update上面
字段被覆盖了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP