BAPI_OBJCL_CHANGE - ooxxvv/MySAPnotes GitHub Wiki

PageOutline

BAPI_OBJCL_CHANGE

  • Classification BAPI/ Change Assignment
  • 用來 Assign Class 、 Classification
  • 當使用時,會把原有的資料全部刪除,再新增
  • The information transferred by this BAPI replaces all old information. An empty field means "delete entry!", not "no change".
  • 可參考系統中的文件
  • 在之後需呼叫 BAPI_TRANSACTION_COMMIT,否則不會有效果
  • 可參考系統的 standard 程式 => RCCLBI03

EXPORTING

  • objectkey

  • LIKE BAPI1003_KEY-OBJECT

  • 如果是要修改 Material Master 的 Classification -> Material number

  • objecttable

  • LIKE BAPI1003_KEY-OBJECTTABLE

  • 如果是要修改 Material Master 的 Classification → 'MARA'

  • classnum

  • LIKE BAPI1003_KEY-CLASSNUM

  • Class Number (Class Name)

  • classtype

  • LIKE BAPI1003_KEY-CLASSTYPE

IMPORTING

TABLES

EXCEPTIONS

Attributes

Methods

Code

{{{#!abap DATA: l_objectkey LIKE bapi1003_key-object, lt_allocvaluesnumnew LIKE bapi1003_alloc_values_num OCCURS 0 WITH HEADER LINE, lt_allocvaluescharnew LIKE bapi1003_alloc_values_char OCCURS 0 WITH HEADER LINE, lt_allocvaluescrrnew LIKE bapi1003_alloc_values_curr OCCURS 0 WITH HEADER LINE, lt_return LIKE bapiret2 OCCURS 0 WITH HEADER LINE. DATA: ls_return LIKE bapiret2 . DATA: l_msg(250) TYPE c.

l_objectkey=lw_zpmara-matnr.

CALL FUNCTION 'BAPI_OBJCL_CHANGE' EXPORTING *---Material Number objectkey =l_objectkey *---固定為 MARA objecttable ='MARA' *---Class Number classnum =lw_zpmara-class *---Class Type classtype =lw_zpmara-klart

  • STATUS ='1'
  • STANDARDCLASS =
  • CHANGENUMBER =
  • KEYDATE =SY-DATUM
  • NO_DEFAULT_VALUES =' '
  • IMPORTING
  • CLASSIF_STATUS = TABLES allocvaluesnumnew =lt_allocvaluesnumnew allocvaluescharnew =lt_allocvaluescharnew allocvaluescurrnew =lt_allocvaluescrrnew return =lt_return . *------------Check Error Message LOOP AT lt_return. IF lt_return-type='E'. CLEAR l_msg. CONCATENATE '(' lt_return-type ')' lt_return-message INTO l_msg. CONDENSE l_msg. lw_zpmara-msg=l_msg. EXIT. ENDIF. ENDLOOP.

IF lw_zpmara-msg NE space. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'. ENDIF. }}}

{{{#!comment -------------------- 以下的部份是固定的,不要變動 ----- }}}