CK11N 成本滚算

58 篇文章 3 订阅

CK11N 成本滚算

一、BAPI :CK_F_MATERIAL_CALC

1、使用BAPI跑CK11N,如果数据错误会导致自建程序直接退出,在循环中不会继续向下执行。

 CALL FUNCTION 'CK_F_MATERIAL_CALC'
      EXPORTING
        klvar          = 'PPC1'
        matnr          = gs_data-matnr
        werks          = gs_data-werks
        losgr          = '1.0'
        tvers          = '01'
        kadat          = sy-datum
        bidat          = '99991231'
        aldat          = sy-datum
        bwdat          = sy-datum
        s_dunkel       = 'X'
        s_update       = 'S'
*       s_no_commit    = ' '
*       s_repetitive   = ' '
*       s_sngl_lock    = 'X'
*       u_kalsm        = ' '
      IMPORTING
        f_keko_exp     = lkeko
      TABLES
        t_keph_exp     = lkeph
      EXCEPTIONS
        wrong_call     = 1
        keph_not_found = 2
        locked         = 3
        OTHERS         = 4.

    IF lkeko-kalnr IS NOT INITIAL.
      gs_data-msage = '成本估算成功!'.
      gs_data-flag1 = 'X'.
    ELSE.
      gs_data-msage = '成本估算失败!'.
      gs_data-flag1 = ''.
    ENDIF.
二、BDC

1、使用BDC跑CK11N没有发现报错信息(如果有遇到能带出报错信息的望指点),只能在跑CK11后对表KEKO进行验证是否跑成功.

*BDC录屏,按照顺序填
  PERFORM bdc_dynpro USING 'SAPLCKDI'     '4610'.
  PERFORM bdc_field USING  'BDC_OKCODE'   '/00'.
  PERFORM bdc_field USING  'CKI64A-KLVAR' 'PPC1'.
  PERFORM bdc_field USING  'CKI64A-TVERS' '1'.
  PERFORM bdc_field USING  'CKI64A-MATNR' p_matnr.
  PERFORM bdc_field USING  'CKI64A-WERKS' p_werks.

  PERFORM bdc_dynpro USING 'SAPLCKDI'     '4610'.
  PERFORM bdc_field USING  'BDC_OKCODE'   '/00'.
  PERFORM bdc_field USING  'BDC_CURSOR'   'CKI64A-BWDAT'.
  PERFORM bdc_field USING  'CKI64A-KADAT' sy-datum.
  PERFORM bdc_field USING  'CKI64A-BIDAT' '99991231'.
  PERFORM bdc_field USING  'CKI64A-ALDAT' sy-datum.
  PERFORM bdc_field USING  'CKI64A-BWDAT' sy-datum.

  PERFORM  bdc_dynpro USING 'SAPLCKDI' '4610'.
  PERFORM bdc_field USING  'BDC_OKCODE' '=SAVE'.
  PERFORM bdc_field USING  'CKI64A-MATNR' p_matnr.
  PERFORM bdc_field USING  'CKI64A-WERKS' p_werks.
  PERFORM bdc_field USING  'CKI64A-BEZUG' '1'.
  PERFORM bdc_field USING  'CKI64A-SICHT' '1'.
*然后是调用事物代码:
  CALL TRANSACTION 'CK11N' USING gt_bdcdata
                              MODE p_mode
                              MESSAGES INTO gt_msgtab
                              UPDATE 'S'.      "批导更新模式(A = '异步',S = '同步')

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值