BAPI_OBJCL_CHANGE - ooxxvv/MySAPnotes GitHub Wiki
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. }}}