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


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

①將生產訂單建立默認帶出的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.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM