SAP程序调用函数CUAB_DISPLAY_CD_CONFIGURATION取订单配置变更时的注意事项

在对程序具体跟踪到没条数据的时候,发现有少量的意向订单没有配置号,而导致传进函数的配置号参数为空,这个时候函数就一致运行不出来而占用系统内存导致。
解决方案:在取订单的配置号(VBAP-CUOBJ)的时候,加上非空的判断即可。
代码摘录如下:
 DATA: l_cuobj LIKE vbap-cuobj .

 REFRESH: it_cdhdr , it_pos_conf , pos_conf .
 change_rec-neutr_charac = 'X' .
 change_rec-neutr_value = '' .
 change_rec-no_display = 'X' .
 SELECT SINGLE cuobj
   INTO l_cuobj
   FROM vbap
   WHERE vbeln = vbeln AND
         posnr = posnr .
 IF sy-subrc = 0 AND l_cuobj IS NOT INITIAL.
   FREE: it_cdhdr,it_pos_conf,pos_conf.
   CALL FUNCTION 'CUAB_DISPLAY_CD_CONFIGURATION'
     EXPORTING
       i_instance     = l_cuobj
       i_change_rec   = change_rec
     IMPORTING
       e_tab_cdhdr    = it_cdhdr
       e_tab_pos_conf = it_pos_conf
     EXCEPTIONS
       no_data        = 1
       internal_error = 2
       OTHERS         = 3.

   LOOP AT it_pos_conf INTO wa_pos_conf .
     pos_conf = wa_pos_conf .
     READ TABLE it_cdhdr INTO wa_cdhdr
     WITH KEY changenr = wa_pos_conf .
     IF sy-subrc = 0 .
       MOVE-CORRESPONDING wa_cdhdr TO pos_conf .
     ENDIF .
     APPEND pos_conf .
   ENDLOOP .

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值