1. 程式人生 > 實用技巧 >生產訂單結算規則新增、修改、刪除 K_SRULE_SAVE_UTASK

生產訂單結算規則新增、修改、刪除 K_SRULE_SAVE_UTASK

轉自:https://www.cnblogs.com/StephenAmell/p/13296353.html

效果(不同型別的生產訂單結算方式會不一樣):

①將生產訂單建立預設帶出的MAT型別結算規則的結算百分率改成0,

②新增G/L結算型別結算規則

*&---------------------------------------------------------------------*
*& Report ZPPRTEST
*&---------------------------------------------------------------------*
*& *&---------------------------------------------------------------------* REPORT ZPPRTEST. DATA: lt_cobrb_update LIKE TABLE OF cobrb, ls_cobrb_update LIKE LINE OF lt_cobrb_update, lt_cobrb_insert LIKE TABLE OF cobrb, ls_cobrb_insert LIKE LINE OF lt_cobrb_insert. SELECT * INTO
TABLE lt_cobrb_update FROM cobrb WHERE objnr = 'OR000020040327' AND lfdnr = '001'. LOOP AT lt_cobrb_update INTO ls_cobrb_update. ls_cobrb_insert = ls_cobrb_update. "MAT結算規則的結算百分比 = 0 ls_cobrb_update-prozs = 0. MODIFY lt_cobrb_update FROM ls_cobrb_update. ENDLOOP.
"新增的結算規則 ls_cobrb_insert-lfdnr = '002'. "順序號碼 ls_cobrb_insert-prozs = 100. "百分比 ls_cobrb_insert-dfreg = space. "預設規則 ls_cobrb_insert-avorg = 'KOAO'. "結算交易 ls_cobrb_insert-konty = 'SK'. "科目指派種類 ls_cobrb_insert-werks = space. "工廠 ls_cobrb_insert-gsber = 'NCIP'. "業務範圍 ls_cobrb_insert-hkont = '6188200007'. "總賬科目 ls_cobrb_insert-prctr = 'PC21'. "利潤中心 ls_cobrb_insert-kostl = 'DR0000'. "成本中心 ls_cobrb_insert-matnr = space. "物料 ls_cobrb_insert-rec_objnr1 = 'SK20006188200007NCIP'. "結算接收者物件號碼 ls_cobrb_insert-extnr = '002'. "分發規則號碼 APPEND ls_cobrb_insert TO lt_cobrb_insert. CALL FUNCTION 'K_SRULE_SAVE_UTASK' TABLES t_cobrb_insert = lt_cobrb_insert t_cobrb_update = lt_cobrb_update EXCEPTIONS SRULE_UTASK_ERROR = 1 OTHERS = 2. IF sy-subrc <> 0. WRITE '修改失敗'. ELSE. WRITE '修改成功'. ENDIF.