在X3里读取不到sql语句查询中有中文的记录

在客户采购订单中,客户,客户采购订单号,客户型号,交货期确定唯一,在客户采购订单功能生成销售订单时,如果用sql语句写,当客户采购订单号或客户型号没有中文时,可根据这四个字段可找到销售订单号,但如果有中文sql语句就不能查到该生成的销售订单号

错误写法:

 REQUEST(0)="select SR.SOHNUM_0 from    SORDER  sr  left join  SORDERQ sq  on  sq.sohnum_0=sr.sohnum_0  where sr.cusordref_0='"+[YSD0]YSOHNUM+"'  "
 REQUEST(1)=" and  sr.bpcord_0='"+[M:YSD0]YBPCNUM+"' AND  SQ.YBPCPOH_0='"+[M:YSD1]YBPCPOH(Y)+"'  "
 REQUEST(2)=" and  SQ.YBPCIT_0='"+[M:YSD1]YBPCIT(Y)+"' and  SQ.DEMDLVDAT_0=to_date('"+[M:YSD1]YJIAODATE(Y)+"','YYYYMMDD')  "
    

解决办法,把客户采购订单的流水号和行号传递到销售订单行中,就可找到该销售订单号

If !clalev([DSOQ]) : Local File SORDERQ[DSOQ] : Endif                                                   #打开SORDERQ
Read [DSOQ]SOQ9=[YSD0]YSOHNUM;[M:YSD1]YBDLIN(Y);[M:YSD1]ITMREF(Y)       #读取该流水号,行号,产品的记录
    If !fstat
        If !clalev([YABP]) : Local File YBPCTEMD[YABP] : Endif
                 Trbegin [YABP] 
                  Readlock [YABP]YBD4=[M:YSD1]YSOHNUM(Y);[M:YSD1]YBPCPOH(Y);[M:YSD1]YBPCIT(Y);[M:YSD1]YJIAODATE(Y)
                 If fstat > 1
                     Rollback
                 Elsif fstat = 1
                      Rollback
                   Else
                      [YABP]YYSOHS=[F:DSOQ]SOHNUM               #把读取到的销售订单号保存到客户采购订单明细表里
                      [M:YSD1]YYSOHS(Y)=[F:DSOQ]SOHNUM      #把读取到的销售订单号显示在客户采购订单明细行里
                  Rewrite [YABP]
                      Commit
      Endif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值