SAP Classification(物料特性)

文章转自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'表示classification
FIND '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.
allocvaluescharnew-CHARACT = 'Z_BATCH_PVD_003'.
allocvaluescharnew-VALUE_CHAR = P_VALUE1.
append allocvaluescharnew.
allocvaluescharnew-CHARACT = 'Z_BATCH_PVD_004'.
allocvaluescharnew-VALUE_CHAR = P_VALUE2.
append allocvaluescharnew.
CALL FUNCTION 'BAPI_OBJCL_CHANGE'
EXPORTING
objectkey = objectkey
objecttable = 'MCH1' "objecttable
classnum = 'Z_BATCH_PVD_RM_01' "classnum
classtype = '023' "classtype
* STATUS = '1'
* STANDARDCLASS = STANDARDCLASS
* CHANGENUMBER = CHANGENUMBER
* KEYDATE = SY-DATUM
* NO_DEFAULT_VALUES = ' '
* IMPORTING
* CLASSIF_STATUS = CLASSIF_STATUS
TABLES
allocvaluesnumnew = allocvaluesnumnew
allocvaluescharnew = allocvaluescharnew
allocvaluescurrnew = allocvaluescurrnew
return = return.
call FUNCTION 'BAPI_TRANSACTION_COMMIT'.
READ TABLE RETURN WITH KEY TYPE = 'E'.
if sy-subrc eq 0.
EX_ERROR_FLAG = 'X'.
else.
EX_ERROR_FLAG = ''.
ENDIF.

Endform.

image

 

 

转自http://blog.csdn.net/frankyue2001/article/details/6409241

1. 总揽

分类(Classification)的应用非常广泛 ,基本在SAP的所有模块中都有应用。

通过分类中的自定义特征(Characteristics)来对物料、客户、供应商、文档、批次、检验特性等进行自定义分类,系统通过类类型Class Type来区分不同的应用,譬如类类型001为物料分类,类类型010为供应商分类,类类型022/023为批次分类,不同的类类型操作方式大体相同,下文中以最常见的物料分类为例介绍分类功能。

2. 分类的用途

a) 查找对象:分类与搜索帮助集成在一起

b) 报表分析:SAP提供一些标准的报表查询;

c) 为采购审批、批次管理、可配置物料等功能做准备;

3. 物料分类应用

a) 概览

想象一下,如何从成千上万个产品中找到我们希望的物料,物料分类就是途径之一。

某公司将销售的产品按照以下特征进行分类,用于查找以及进一步分析;

根据分类中包含的特征,我们可以用来查找对象,如创建订单、查询库存时查找颜色为红色、适用人群为男的产品,SAP中的搜索帮助中包括了物料分类,也就是说,无论在SAP的何界面,只要可以输入物料的地方,就可以用下面的特征来查找物料。   

 

特征代码

特征描述

特征数据类型

特征长度

特征值

属性

检查表

参考表字段

Z101

颜色

CHAR

10

Z1:红色;Z2:黄色等

单选

  

Z102

适用人群类别

NUM

2

10~20;20~30等

间隔

  

Z103

适用人群性别

CHAR

2

男;女

可多选

  

Z104

适用人群地区

CHAR

6

从销售地区中进行选择

可多选

T171

 

Z105

产品网络推广供应商

CHAR

10

从供应商主数据中进行选择

可多选

LFA1

 

Z106

总货架寿命

NUM

4

取自物料主数据中的货架寿命

  

MARA-MHDHB

b) 操作步骤简述;

事务代码CT05创建上述六个特征;

事务代码CL02创建分类Z100,包括上述六个特征

事务代码MM01或者CL20N将分类分配给物料(如Zbatch001,Zbatch002)

最终维护结果如下

clip_image002

c) 创建特征和分类时的注意点

  • 特征属性

应根据需要设置特征的格式、属性、长度、是否允许多选;

系统支持输入大于、小于等符号。

  • 值检查     
    值检查时指系统进行检查输入值是否在允许的值中,同时为输入提供搜索帮助,应尽量设置只能从可选值中进行选择,系统支持有四种方法进行限制,如      
    创建特征时输入允许的特征值(如特征Z101),为了便于输入特征值,系统还支持层次式的特征值,如销售地区,第一层为大区,第二层为省份,第三层为城市,这样选择起来就非常方便。      
    设置检查表Check Table(如特征Z105,系统限制只能从供应商主数据中选择供应商代码);      
    在必要的情况下,我们可以建立自定义视图、函数(Function module)来对特征允许输入的值进行限制;
  • 附加数据中的参考表字段起着二个作用。

1)参考表字段的格式将作为特征的格式;

2)在特定条件下,可以将参考字段的值复制到特征的值   
对于物料而言,系统可以将表MARA中的值复制到物料分类的特征值中。    
对于批次管理,系统可以将表MCH1/MCHA(批次主数据表)的字段值复制到特征。    
对于采购审批,系统可以将表CEBAN/CEKKO(采购凭证表)的字段值复制到特征中,用于采购审批.

3)注意不起限制字段值(Check Table)的作用;

clip_image004

4. 分类信息报表查询

a) 查看对象的特征值(事务代码CL6BN)

该报表可以查看物料分类、供应商分类、客户分类等各种类型的分类的特征值,并可将结果导出。在本例中,我们查看物料分类,输入类Z100,类对象001,对象表MARA。(供应商对象分类为010,对象表LFA1)

如果仅需显示某个特征的值,如使用人群,则可以勾选“选择特性“

如果需要显示特定物料的值,则可以勾选“选择对象“,通过在对象输入框中点击”下一页”从而支持输入多个范围值。

clip_image006

b) 根据特征值查找对象

事务代码:CL30N,输入譬如颜色为红色的查询条件,查询到相应的物料。

注意类有三个状态:审批、锁定、未完成,只有审批的才会在本报表中出现。

clip_image008

5. 报表查询-根据分类中的特征查询库存和对象。

事务代码:MMCL可以根据特征值查询库存。

事务代码:OMILL_MMCL用来定义选择参数文件。

clip_image010

执行结果如下,可以查看到所有红色的物料的库存

clip_image012

备注:该功能需启用离散行业DIMP组件,未启用的话,可以通过先输入SE93,然后输入事务代码MMCL,执行效果稍有差异。

 

 

 

文章转自 http://blog.csdn.net/wangjolly/article/details/16948953

*****************

物料特性定义

****************

通过分类中的自定义特征(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://blog.csdn.net/yuqinying112/article/details/8973083

*****************************************************************************************************************************

获取类别

************

方法一:

L_OBJECTNAME = MARA-MATNR.
CALL FUNCTION ‘BAPI_OBJCL_GET_KEY_OF_OBJECT
EXPORTING
OBJECTNAME = L_OBJECTNAME
OBJECTTABLE = ‘MARA’
CLASSTYPE = ‘300′
IMPORTING
CLOBJECTKEYOUT = L_CLOBJECTKEYOUT
TABLES
RETURN = LT_RETURN.


CALL FUNCTION ‘BAPI_OBJCL_GETCLASSES_KEY
EXPORTING
CLOBJECTKEYIN = L_CLOBJECTKEYOUT
READ_VALUATIONS = ‘X’
TABLES
ALLOCLIST = LT_ALLOC_LIST
ALLOCVALUESCHAR = LT_ALLOCVALUESCHAR
RETURN = LT_RETURN.

第一个Function获取物料的分类对象号,第二个Function读取对象的分类值


方法二:

还有另外一个方式获取物料的默认特征值配置,此方法一般用于通过物料特征创建车辆、销售订单等对象的BAPI处理

CALL FUNCTION 'BAPI_OBJCL_GET_KEY_OF_OBJECT'
        EXPORTING
          OBJECTNAME     = MARA-MATNR "物料号
          OBJECTTABLE    = 'MARA'     "
          CLASSTYPE      = '300'      "类别种类(具体值参考表TCLA)
        IMPORTING
          CLOBJECTKEYOUT = G_CLASS
        TABLES
          RETURN         = IT_RETURN.


CALL FUNCTION 'BAPI_CLASS_GETDETAIL'
        EXPORTING
          CLASSTYPE            = '300'
          CLASSNUM             = G_CLASS
        TABLES
          CLASSCHARACTERISTICS = IT_REF "特征
          CLASSCHARVALUES      = IT_VAL.     "默认特征值

第一个Function获取物料的分类对象号,第二个Function读取分类对象号的特征特征值以及默认特征值

 

 

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值