文章轉自http://blog.csdn.net/wengyupeng/article/details/6418559?reload
SAP Classification 為了方便查詢定義的一套技術體系。其實是建立了一個大樹(根節點在上面),大致層次 Class Type>Class>characteristics .參見:
一 、Purpose
The classification system allows you to use characteristics to describe all types of objects, and to group similar objects in classes –to classify objects, in other words, so that you can find them more easily later.
You then use the classes to help you to find objects more easily,using the characteristics defined in them as search criteria. This ensures that you can find objects with similar or identical characteristics as quickly as
possible.
二 、Features
Before you can use classification functions, you need to set up your classification system.
The there are three steps tosetting up a classification system:
...
1、Defining the Properties of Objects
You use characteristics to describe the properties of objects. You create characteristics centrally in the system.
See the SAP Library,Characteristics (CA-CL-CHR).
2、Creating Classes
You need classes to classify objects. These classes must be set up. During set up you must assign characteristics to the classes.
3、Assigning Objects
Once you have created the classes you require for classification, you can assign objects to these classes. You use the characteristics of the class to describe the objects you classify.
三、樣本
通過分類中的自訂特徵(Characteristics)來對物料、客戶、供應商、文檔、批次、檢驗特性等進行自訂分類,系統通過類類型Class Type來區分不同的應用,譬如類類型001為物料分類,類類型010為供應商分類,類類型022/023為批次分類。
Characteristic是sap用來描述物料特性的,這裡所說的物料包含原材料,機械裝置等。
對於一個原材料,它的密度,比熱,儲存溫度等都是它的特性。可以根據這個原材料的特性來判斷它生產出來的產品的等級。
對於一台機械裝置,它的功耗,一次最長使用時間,以及生產的產品規格等都是它的屬性。可以根據它的特性來制定生產計劃,工藝流程等。
這就是Characteristic存在的意義。
通常的過程是 建立一個或多個Characteristics(CT04),把它組合成一個Class(即分配給一個或多個Class)(CL01/CL02),然後將這個包含多個特性的class分配給Material。即維護的MM01 Create Material時的Classification View.
Table: CABN – Characteristic
KLAH – Class Header Data
KSSK – Allocation Table: Object to Class
T-cd: CT04 – Create/change the characteristics
CL01/ CL02/ CL03 – Create/change/display the class
四 、其它參考
官方介紹:
http://help.sap.com/saphelp_erp60_sp/helpdata/en/24/47633a416711d189ec0000e81ddfac/frameset.htm
應用介紹:
http://mfg.kingdee.com/pages/frankyue2001/blog/archive/2011/05/10/546231.aspx
文章轉自
http://www.cnblogs.com/t-bug/archive/2012/05/17/2505938.html
BAPI :
BAPI_OBJCL_GETDETAIL 讀取Classification
BAPI_OBJCL_CHANGE 修改Classification
如果Material Master data的Classification不存在,則在建立新的classification之後,
需要更新mara中 pstat ,vpsta 欄位,將‘C‘ 添加到該字串之後。
CONCATENATE wa_mara-pstat 'C'INTO wa_mara-pstat.
CONCATENATE wa_mara-vpsta 'C'INTO wa_mara-vpsta.
DATA :wa_class_char LIKE bapi1003_alloc_values_char,"Alphanumeric Values wa_class_curr LIKE bapi1003_alloc_values_curr,"Currency Values wa_class_err LIKE bapiret2."Error Messages i_class_num LIKE TABLE OF wa_class_plmd, i_class_char LIKE TABLE OF wa_class_char, i_class_curr LIKE TABLE OF wa_class_curr, i_class_err LIKE TABLE OF wa_class_err.*'C'表示classificationFIND 'C' IN wa_mara-vpsta.IF sy-subrc <> 0. CONCATENATE wa_mara-pstat 'C' INTO wa_mara-pstat. CONCATENATE wa_mara-vpsta 'C' INTO wa_mara-vpsta.ELSE.*讀取classification的資訊 CALL FUNCTION 'BAPI_OBJCL_GETDETAIL' EXPORTING objectkey = g_objectkey objecttable = 'MARA' classnum = 'MATL_INFO' classtype = '001'* KEYDATE = SY-DATUM* UNVALUATED_CHARS = ' '* LANGUAGE = SY-LANGU* IMPORTING* STATUS =* STANDARDCLASS = TABLES allocvaluesnum = i_class_num allocvalueschar = i_class_char allocvaluescurr = i_class_curr return = i_class_err .ENDIF.*------------------------------------------------------***修改或新增 classification**------------------------------------------------------**更新Classification CALL FUNCTION 'BAPI_OBJCL_CHANGE' EXPORTING objectkey = g_objectkey objecttable = 'MARA' classnum = 'MATL_INFO' classtype = '001'* STATUS = '1'* STANDARDCLASS =* CHANGENUMBER =* KEYDATE = SY-DATUM* NO_DEFAULT_VALUES = ' '* IMPORTING* CLASSIF_STATUS = TABLES allocvaluesnumnew = i_class_num allocvaluescharnew = i_class_char allocvaluescurrnew = i_class_curr return = i_class_err . READ TABLE i_class_err INTO wa_class_err WITH KEY type = 'E'. IF syst-subrc = 0. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. ELSE. ELSE.*****UPDATE MARA TBALE*********** UPDATE mara FROM wa_mara. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'. ENDIF.
文章轉自http://blog.sina.com.cn/s/blog_701594f40100l8gy.html
FORM CREATE_BATCH_CLASSFICATION USING P_WERKS
P_MATNR
P_CHARG
P_VALUE1
P_VALUE2
CHANGING EX_ERROR_FLAG.
data: objectkey like BAPI1003_KEY-OBJECT,
objectkeytable like TABLE OF BAPI1003_OBJECT_KEYS with HEADER LINE,
allocvaluesnumnew like table of BAPI1003_ALLOC_VALUES_NUM with header line,
allocvaluescharnew like TABLE OF BAPI1003_ALLOC_VALUES_char with header line,
allocvaluescurrnew like TABLE OF BAPI1003_ALLOC_VALUES_curr with header line,
return like table of BAPIRET2 with header line.
CLEAR: objectkey, objectkeytable, objectkeytable[],
allocvaluesnumnew, allocvaluesnumnew[],
return.
data: l_matnr like mara-matnr,
l_charg like aufm-charg,
l_werks like aufm-werks.
l_matnr = P_MATNR.
l_charg = P_CHARG.
l_werks = P_WERKS.
objectkeytable-key_field = 'MATNR'.
objectkeytable-value_int = l_matnr.
APPEND objectkeytable.
objectkeytable-key_field = 'CHARG'.
objectkeytable-value_int = l_charg.
APPEND objectkeytable.
* Only if Batch management is Plant dependant
objectkeytable-key_field = 'WERKS'.
objectkeytable-value_int = l_werks.
APPEND objectkeytable.
CALL FUNCTION 'BAPI_OBJCL_CONCATENATEKEY'
EXPORTING
objecttable = 'MCH1' "-objecttable
IMPORTING
objectkey_conc = objectkey
TABLES
objectkeytable = objectkeytable
return = return.
* allocvaluesnumnew-charact = "characteristic name goes here".
* allocvaluesnumnew-value_from = "characteristic value goes here".
* APPEND allocvaluesnumnew.
* allocvaluesnumnew-charact = 'Z_BATCH_CNPC_001'.
* allocvaluesnumnew-value_from = '20101010'.
* APPEND allocvaluesnumnew.