SAP 特征 Classification

一、前言

SAP Classification 为了方便查询定义的一套技术体系。其实是建立了一个大树(根节点在上面),大致层次 Class Type>Class>characteristics .参见下图:

分类系统允许您使用特征来描述所有类型的对象,并将类似的对象分组到类中——换句话说,就是对对象进行分类,以便稍后更容易地找到它们。

然后使用这些类帮助您更容易地找到对象,使用它们中定义的特征作为搜索条件。这确保您可以尽可能快地找到具有相似或相同特征的对象。

二、批次管理

批次管理(特性、类):
业务场景:通常批次管理是为了控制某些属性,例如先进先出(先入库的先出库)。即入库批次需要关联相关属性。

业务举例:批次A:2019.12.21入库、B:2020.12.22入库。现要求先发货入库时间早的批次,此时出库就需要先发A批次,为了实现上述,将特性指定到批次,再将特性关联到类class。

业务模拟:

(工厂层级批次管理参考表MCHA,物料层级批次管理参考表MCH1,可通过SE11查看该表字段,对其进行批次管理)

1、建立批次特性(本文采用表MCH1中字段LWEDT最近的收货日期建立特性)

  

2、建立类,并将特性关联该类:

其中分类的类型022(如果你的批次层次是工厂级别的),其他情况选择023.

   

 

 3、进入物料主数据,为物料建立分类(分配类别、关联特性,不用手工输入特性值),激活批次管理:

        

通过以上3步骤配置,就可以做批次管理业务了。

4、ME21N建立采购订单,MIGO将所有未清采购都入库时,系统自动输入最后收货时间作为批次的特性:

 入库的时候,会自动将最后的收货日期写到对应生成的批次属性。至于哪些属性/特性关联该批次,取决于物料主数据分类是否分配类类型和特性。

5、MSC3N可以查看批次(由批次查看到批次对应的特性值,即最后的收货日期)

(下图来源与别处。为何我在模拟业务时,使用ME21N创建PO再MIGO全部收货或者MB1C使用MVT561做业务都生成了批次,但在批次中未产生最后收货日期特性值?不能自动生成如下的特性值)

 有了批次258: 2010.3.1,259:2010.3.2,只需要后台配置策略,即可实现先进先出--根据最近的收货日期,值越小先出库。具体配置见下文。

三、创建特征特性

系统通过类类型Class Type来区分不同的应用,譬如类类型001为物料分类,类类型010为供应商分类,类类型022/023为批次分类。

Characteristic是sap用来描述物料特性的,这里所说的物料包含原材料,机械设备等。

对于一个原材料,它的密度,比热,存储温度等都是它的特性。可以根据这个原材料的特性来判断它生产出来的产品的等级。

对于一台机械设备,它的功耗,一次最长使用时间,以及生产的产品规格等都是它的属性。可以根据它的特性来制定生产计划,工艺流程等。

这就是Characteristic存在的意义。

1、Defining the Properties of Objects 自定义特征(Characteristics)

事务: CT04

2、Creating Classes

  3、Assigning Objects

 然后把特性分配给物料MM01或者CL20N

 四、注意

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

  • 特征属性

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

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

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

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

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

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

 五、查询

1、查询特性分类 

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

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

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

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

 b) 根据特征值查找对象

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

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

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

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

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

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

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

六、代码

1、获取类别

方法一、

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读取分类对象号的特征、特征值以及默认特征值。

SQL

SELECT               "取特征值
    OBJEK ,
    ATNAM,
    ATFOR,       " 数据类型
    MSEHI,       "单位
    ATINT,       "间隔值
    ATWRT,        "char特性值
    ATFLV,         "num特性值从
    ATFLB         "num间隔特性值到
    INTO TABLE @DATA(LT_AUSP)
    FROM AUSP
    INNER JOIN CABN ON CABN~ATINN = AUSP~ATINN
    INNER JOIN MARA ON AUSP~OBJEK = MARA~MATNR
    WHERE MATNR IN @S_MATNR
    AND MARA~MATNR IN @S_MATNR
      AND MARA~MTART IN @S_MTART
      AND MARA~MATKL IN @S_MATKL
    AND    KLART = '001'.

七、相关表

特性和分类所在table

      KLAH -- 分类和分类类型的表头

     KSML -- 类和分类类型对应的特性流水码

     SWOR -- 类的描述

     CABN -- 特性流水码和特性及特性描述

     CAWN -- 特新的值

     INOB -- 分配给物料的特性

     AUSP -- 物料的特性值和描述

KLAH:记录用事务代码CL01在每个类类行下边建立的类别的相关信息.关键字为内部类号.

在创建类别时需要指定类别的特性.特性用事物代码CT04创建.

 KSML:记录了每个类别下的特性值.已内部类别号为关键字段和表KLAH相关.

TCLA:记录了类类型的相关信息包括表信息.

CABN:记录了内部特性编号和特性名称的转换关系,以及特性的数据类型,长度,小数位,单位以及是否为范围值,字段:ATINT='X'.特性的格式信息可以用于通过RTTS(Runtime type services)动态生成变量. 

 

CABNT:记录了特性的描述信息:主键为内部特性号和语言代码

AUSP:特性值:记录了特性的值,如果特性值是char类型则存放在ATWRT(特征值)字段,如果是num类型则存放在ATFLV(值从),如果特性为范围则结束值存放在ATFLB(值到)字段.主键为objek(对象,对于物料分类来说就是物料编码),ATINN(内部特性号).

Demo 

function zpp_trace_c_batch_class.
*"----------------------------------------------------------------------
*"*"Local Interface:
*"  IMPORTING
*"     VALUE(I_MATNR) TYPE  MARA-MATNR
*"     VALUE(I_CHARG) TYPE  MCHA-CHARG
*"     VALUE(I_WERKS) TYPE  MCHA-WERKS
*"  EXPORTING
*"     REFERENCE(O_INOB) TYPE  INOB
*"     REFERENCE(O_KSSK) TYPE  KSSK
*"     REFERENCE(O_KLAH) TYPE  KLAH
*"     REFERENCE(O_OBJEK) TYPE  OBJNUM
*"     REFERENCE(O_OBTAB) TYPE  TABELLE
*"     REFERENCE(O_KLART) TYPE  KLASSENART
*"     REFERENCE(O_CLASS) TYPE  KLASSE_D
*"  EXCEPTIONS
*"      BATCH_CLASS_NOT_EXSIT
*"      CLASS_NOT_IN_ZPP_TRACE_12
*"      NON_HEAT_OR_COIL
*"      INCORRECT_CLASS
*"----------------------------------------------------------------------
*  data:l_objek  type  objnum,
*       l_obtab  type  tabelle,
*       l_klart  type  klassenart,
*       l_class  type  klasse_d.

*  data ls_inob type inob.
*  data ls_kssk type kssk.
*  data ls_klah type klah.

  call function 'VB_BATCH_2_CLASS_OBJECT'
    exporting
      i_matnr       = i_matnr
      i_charg       = i_charg
      i_werks       = i_werks
    importing
      e_objek       = o_objek
      e_obtab       = o_obtab
      e_klart       = o_klart
      e_class       = o_class
    exceptions
      error_message = 99
      others        = 1.

  select single * from inob into o_inob
    where klart = o_klart and obtab = o_obtab and objek = o_objek.
  if sy-subrc ne 0.
    message e181 with i_charg raising batch_class_not_exsit.
  endif.

  select single * from kssk into o_kssk where objek = o_inob-cuobj.
  select single * from klah into o_klah where clint = o_kssk-clint.

  if i_werks = '1721' and ( o_class = zph_trace_batch_class=>c_characteristic-class1
                         or o_class = zph_trace_batch_class=>c_characteristic-class2 ).

    if o_klah-class is initial.
      o_klah-class = o_class.
    endif.
  else.
    select count(*) from zpp_trace_12 where class = o_klah-class.
    if sy-subrc ne 0 AND i_werks ne '1701'.
      "Class &1 is not belong to PP traceablility. (Check table ZPP_TRACE_12
      message e088 with o_klah-class raising class_not_in_zpp_trace_12.
    endif.
  endif.

  data lt_char  type table of bapi_char with header line.
  data lt_char_value  type table of bapi_char_values with header line.

  clear:lt_char[],lt_char_value[].

  call function 'BAPI_CLASS_GET_CHARACTERISTICS'
    exporting
      classnum        = o_klah-class
      classtype       = o_inob-klart
    tables
      characteristics = lt_char
      char_values     = lt_char_value.

  data l_atnam_heat type cabn-atnam."
  data l_atnam_coil type cabn-atnam."
  data l_atnam_SUPP type cabn-atnam."

  if i_werks = '1721' and ( o_class = zph_trace_batch_class=>c_characteristic-class1
                         or o_class = zph_trace_batch_class=>c_characteristic-class2 ).
    if o_class = zph_trace_batch_class=>c_characteristic-class1."'TKPHS_SELECTION'.
      l_atnam_heat = zph_trace_batch_class=>c_characteristic-heatn1.
      l_atnam_coil = zph_trace_batch_class=>c_characteristic-coiln1.
    endif.

    if o_class = zph_trace_batch_class=>c_characteristic-class2."'TKPPIN_BATCH'.
      l_atnam_heat = zph_trace_batch_class=>c_characteristic-heatn2.
      l_atnam_coil = zph_trace_batch_class=>c_characteristic-coiln2.
    endif.
  endif.

  if i_werks = '1701' and o_class = zly_batch_class=>c_characteristic-class1."'TKLY_BATCH_CLASS'.
*    l_atnam_heat = c_tkly_characteristic-tkly_heat_number.
*    l_atnam_coil = c_tkly_characteristic-tkly_coil_number.
    l_atnam_heat = zly_batch_class=>c_characteristic-heatn1.
    l_atnam_coil = zly_batch_class=>c_characteristic-coiln1.
  endif.

  if i_werks = '1711' and
    ( o_class = 'PRO_2102_BATCH'
   or o_class = 'PRO_2104_BATCH'
   or o_class = 'PRO_2106_BATCH'
   or o_class = 'PRO_2108_BATCH'
   or o_class = 'PRO_2202_BATCH'
   or o_class = 'PRO_2204_BATCH'
   or o_class = 'PRO_2208_BATCH'
   or o_class = 'PRO_2210_BATCH'
   or o_class = 'PRO_2302_BATCH'
   or o_class = 'PRO_2304_BATCH'
   or o_class = 'PRO_2306_BATCH'
   or o_class = 'PRO_2308_BATCH'
   or o_class = 'PRO_2310_BATCH'
   or o_class = 'PUR_MAIN_BATCH' ).
    l_atnam_heat = c_characteristic-heatn.
    l_atnam_coil = c_characteristic-coiln.
**begin*******INS***********zhangyu******11.12.2020 09:15:07********************
    l_atnam_SUPP = c_characteristic-SUPPL.
**end*********INS***********zhangyu******11.12.2020 09:15:07********************
  endif.

  read table lt_char with key name_char = l_atnam_heat.
  if sy-subrc ne 0.
    "class &1 not contains heat or Coil/bundle characteristic.
*    message e105 with o_klah-class raising non_heat_or_coil.
  endif.

  read table lt_char with key name_char = l_atnam_coil.
  if sy-subrc ne 0.
    "class &1 not contains heat or Coil/bundle characteristic.
*    message e105 with o_klah-class raising non_heat_or_coil.
  endif.

  "Some times o_class from VB_BATCH_2_CLASS_OBJECT buffer not from DB. Need adjust it.
  if o_class ne o_klah-class and o_klah-class is not initial.
    o_class = o_klah-class.
  endif.
endfunction.
function zpp_trace_u_batch_character .
*"----------------------------------------------------------------------
*"*"Local Interface:
*"  IMPORTING
*"     VALUE(I_MATNR) TYPE  MARA-MATNR
*"     VALUE(I_CHARG) TYPE  MCHA-CHARG
*"     VALUE(I_WERKS) TYPE  MCHA-WERKS
*"     VALUE(I_CHARACTER) TYPE  ZPP_TRACE_PROCESS_CHARACTERS
*"     VALUE(NOT_COMMIT) TYPE  CHAR01 DEFAULT ''
*"  TABLES
*"      BAPIRET2 STRUCTURE  BAPIRET2 OPTIONAL
*"  EXCEPTIONS
*"      INCORRECT_MATERIAL_CLASS
*"      NON_PP_TRACE_CLASS
*"      BATCH_CHARACTER_UPDATE_ERROR
*"----------------------------------------------------------------------
  data:l_class type klah-class,
       l_obtab type tclt-obtab,
       l_cuobj type inob-cuobj.

  data: l_batch_objek type objnum,
        l_batch_klart type klassenart,
        l_batch_obtab type tabelle,
        l_batch_class type klasse_d,
        l_batch_cuobj type inob-cuobj.

  data ls_inob type inob.
  data ls_kssk type kssk.
  data ls_klah type klah.

  data ls_20 type zpp_trace_20.

  data l_numc type n length 8.

  data lt_characteristics type table of bapi_char with header line.
  data lt_char_value type table of bapi_char_values with header line.

  data lt_bapiret2           type table of bapiret2 with header line.
  data lt_alloc_values_num   type table of bapi1003_alloc_values_num  with header line.
  data lt_alloc_values_char  type table of bapi1003_alloc_values_char with header line.
  data lt_alloc_values_curr  type table of bapi1003_alloc_values_curr with header line.

  data l_text_info type c length 100.

  select single * from zpp_trace_20 into ls_20 where heatn = i_character-heatno.
  if sy-subrc eq 0.
    i_character-in_grdate = ls_20-fstgr.
  endif.

  message s142 with i_matnr i_charg into l_text_info.

  call function 'SAPGUI_PROGRESS_INDICATOR'
    exporting
      text = l_text_info.

  call function 'ZPP_TRACE_C_MATERIAL_CLASS'
    exporting
      i_matnr                   = i_matnr
    importing
      o_class                   = l_class
      o_obtab                   = l_obtab
      o_cuobj                   = l_cuobj
    exceptions
      material_class_not_exsit  = 1
      class_not_in_zpp_trace_12 = 2
      non_heat_or_coil          = 3
      others                    = 4.
  if sy-subrc <> 0.
*    message id sy-msgid type sy-msgty number sy-msgno
*            with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
*            raising incorrect_material_class.

    clear bapiret2.
    bapiret2-type       = sy-msgty.
    bapiret2-id         = sy-msgid.
    bapiret2-number     = sy-msgno.
    bapiret2-message_v1 = sy-msgv1.
    bapiret2-message_v2 = sy-msgv2.
    bapiret2-message_v3 = sy-msgv3.
    bapiret2-message_v4 = sy-msgv4.
    message id sy-msgid type 'S' number sy-msgno
            with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 into bapiret2-message.
    append bapiret2.

    message id bapiret2-id type bapiret2-type number bapiret2-number
            with bapiret2-message_v1
                 bapiret2-message_v2
                 bapiret2-message_v3
                 bapiret2-message_v4
            raising incorrect_material_class.
  endif.

  call function 'ZPP_TRACE_C_BATCH_CLASS'
    exporting
      i_matnr                   = i_matnr
      i_charg                   = i_charg
      i_werks                   = i_werks
    importing
      o_inob                    = ls_inob
      o_kssk                    = ls_kssk
      o_klah                    = ls_klah
      o_objek                   = l_batch_objek
      o_obtab                   = l_batch_obtab
      o_klart                   = l_batch_klart
      o_class                   = l_batch_class
    exceptions
      batch_class_not_exsit     = 1
      class_not_in_zpp_trace_12 = 2
      non_heat_or_coil          = 3
      incorrect_class           = 4
      others                    = 5.
  if sy-subrc ne 0 and sy-subrc ne 1.
*    message id sy-msgid type sy-msgty number sy-msgno
*            with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
*            raising incorrect_material_class.
    clear bapiret2.
    bapiret2-type       = sy-msgty.
    bapiret2-id         = sy-msgid.
    bapiret2-number     = sy-msgno.
    bapiret2-message_v1 = sy-msgv1.
    bapiret2-message_v2 = sy-msgv2.
    bapiret2-message_v3 = sy-msgv3.
    bapiret2-message_v4 = sy-msgv4.
    message id sy-msgid type 'S' number sy-msgno
            with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 into bapiret2-message.
    append bapiret2.

    message id bapiret2-id type bapiret2-type number bapiret2-number
            with bapiret2-message_v1
                 bapiret2-message_v2
                 bapiret2-message_v3
                 bapiret2-message_v4
            raising incorrect_material_class.
  endif.

  call function 'BAPI_CLASS_GET_CHARACTERISTICS'
    exporting
      classnum        = l_batch_class
      classtype       = l_batch_klart
    tables
      characteristics = lt_characteristics
      char_values     = lt_char_value.

  loop at lt_characteristics.
    call function 'ZPP_TRACE_CONVERSION_CHAR_OUT'
      exporting
        i_atnam   = lt_characteristics-name_char
        i_charact = i_character
      tables
        ot_num    = lt_alloc_values_num
        ot_char   = lt_alloc_values_char
        ot_curr   = lt_alloc_values_curr.
  endloop.


  call function 'CUOB_GET_NUMBER'
    exporting
      class_type       = l_batch_klart
      object_id        = l_batch_objek
      table            = l_batch_obtab
    importing
      object_number    = l_batch_cuobj
    exceptions
      lock_problem     = 1
      object_not_found = 2
      others           = 3.
  if l_batch_cuobj is initial.
    "Create batch character
    call function 'BAPI_OBJCL_CREATE'
      exporting
        objectkeynew    = l_batch_objek
        objecttablenew  = l_batch_obtab
        classnumnew     = l_batch_class
        classtypenew    = l_batch_klart
      tables
        allocvaluesnum  = lt_alloc_values_num
        allocvalueschar = lt_alloc_values_char
        allocvaluescurr = lt_alloc_values_curr
        return          = lt_bapiret2.

    call function 'ZPP_TRACE_U_CUOBJ_BM' in update task
      exporting
        i_matnr = i_matnr
        i_werks = i_werks
        i_charg = i_charg.
  else.
    "Update batch
    call function 'BAPI_OBJCL_CHANGE'
      exporting
        objectkey          = l_batch_objek
        objecttable        = l_batch_obtab
        classnum           = l_batch_class
        classtype          = l_batch_klart
      tables
        allocvaluesnumnew  = lt_alloc_values_num
        allocvaluescharnew = lt_alloc_values_char
        allocvaluescurrnew = lt_alloc_values_curr
        return             = lt_bapiret2.
  endif.

  clear bapiret2[].
  bapiret2[] = lt_bapiret2[].

  loop at lt_bapiret2 where type = 'A' or type = 'E'.
  endloop.
  if sy-subrc eq 0.
    if not_commit ne 'X'.
      call function 'BAPI_TRANSACTION_ROLLBACK'.
    endif.

    clear bapiret2.
    bapiret2-type       = 'E'.
    bapiret2-id         = 'ZPP_TRACE'.
    bapiret2-number     = '089'.
    bapiret2-message_v1 = i_matnr.
    bapiret2-message_v2 = i_charg.
    message s089 with i_matnr i_charg into bapiret2-message.
    append bapiret2.

    message e089 with i_matnr i_charg raising batch_character_update_error.


  else.
    if not_commit ne 'X'.
      call function 'BAPI_TRANSACTION_COMMIT'
        exporting
          wait = 'X'.
    endif.

    clear bapiret2.
    bapiret2-type       = 'S'.
    bapiret2-id         = 'ZPP_TRACE'.
    bapiret2-number     = '090'.
    bapiret2-message_v1 = i_matnr.
    bapiret2-message_v2 = i_charg.
    message s090 with i_matnr i_charg into bapiret2-message.
    append bapiret2.
  endif.

endfunction.

  • 6
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Table of Contents 2 General Settings 16 检查度量单位(Check Units of Measurement) 16 Financial Accounting 19 Financial Accounting Global Settings 19 例1功能范围的应用. 19 例2业务范围(Business Area) 19 年度变式(Fiscal Year) 19 会计凭证(Document) 如何限制不同财务用户使用不同的财务凭证类型 22 Field status和Coding block subscreen 30 Validation凭证的确认 35 Substitution凭证的退代 40 3 几个相关函数FI_VALIDATION_DOC|FI_VALIDATION_HEADER 45 货币类型和外币评估 50 ERP货币类型和外币业务 56 (一)ERP货币设置 57 (二)汇率类型和汇率换算表(Tcode:OB07|OB08) 59 (三)平行货币 62 汇率与外币评估 63 财务分类帐 92 Tax on Purchase & Sales 100 大话MM定价增值税处理 100 SAP 税务配置. 108 SD篇 tax 112 SD一周通系列 114 SD定价实例 118 收入科目确定. 119 税务设置 119 特别总帐 (Special Purpose Ledger) 128 1基本设置(Basic Settings) 129 (1)Perform Preparation 129 (2) Maintain Coding Block 130 (3) Tables 133 (4) Maintain Table Directory 139 (5) Maintain Fixed Field Movements 139 (6) Master Data 140 (7) Production Start-Up Preparation 148 (8) Validation 148 (9) Substitution 148 (10) User Exits 148 2计划(Planning) 148 3实际过帐(Actual Posting) 148 4期间处理(Periodic Processing) 148 5信息系统(Information System) 148 6工具(Tools) 149 例1 使用SPL出中方会计报表 149 例2 维护coding block screen 151 EC-CS Consolidation 151 合并会计处理方法 151 第14夜:合并数据建模 152 一.建立合并源数据基础信息立方体(Tcode:RSA1). 152 二.建立合并数据基础信息立方体(Tcode:RSA1) 153 三.BCS建模(Tcode:UCWB,UCWB01,UCMP0) 154 (1).建立合并数据基础 154 (2).设置合并范围 158 (3).设置合并参数(Tcode:UCMP0) 160 (4).设置合并源数据基础 160 (5).合并会计科目表和合并频率设置 161 (6).BCS60数据增强的功能 161 例1 使用混合合并单元 162 例2 BCS和ECCS等合并系统简单对比 163 第五节 子分配和细分类别 164 SAP会计科目自动分配配置大全 170 1 Maintain Accounting Configuration(概览) 170 2 Automatic Posting Configuration (MM Module) 171 例1:如何使用Valuation group code 180 例2 PO condition和OBYC 182 例3使用PO处理委外加工 182 例4 Account assignment的逻辑分析 182 例5采购运费处理 182 例6:P&L科目和成本要素的建立 183 例7采购科目分配设置 183 例8汇率变更影响发票校验. 183 例9月结GR/IR处理 183 戏说一下SAP的清帐 183 Vendor的AP和Customer的AR能被对清,需要在Vendor和customer主数据设置一下, 189 如图7-[2],在vendor的control页的Account control的Customer填上Customer name 80005803. 189 如图8-[2],在payment transaction accountings页选上Clng with Cust.标志 189 Asset Accounting 197 折旧方法和折旧码 197 使用Substitution退还固定资产折旧某资产折旧的费用科目和折旧金额 204 FB08如何reverse多余的折旧凭证. 218 应收应付(Accounts Receivable and Accounts Payable)配置 226 Report painter外资公司如何出中方式报表. 234 FICO统驭和中间清算 245 Field status and Coding block subscreen 字段状态组实例 250 特别总帐标识 255 预付款处理 258 目的 258 流程 258 预付款结帐 258 发票冻结(Invoice Block) 259 Dunning AR催款配置 262 浅谈表结法和帐结法 269 1.结转收入 270 2. 结转费用. 270 营业管理财务各期间费用 270 所得税费用等等 270 Company和Company Code的区别 272 Investment Management 273 投资管理 273 投资计量 276 投资订单预算 278 Treasury 281 现金管理和预算控制 281 第一节 现金管理配置 282 第二节 现金管理业务操作 290 现金管理一日通 295 CO - Controlling 306 Internal Order 内部订单 306 第一节 订单主数据 308 第二节 订单审批 311 第三节 订单计划 317 第四节 内部订单预算 317 第五节 结算规则自动生成 320 内部订单(Internal Orders) 审批流程配置 322 1 订单主数据 323 [1]激活订单管理(Tcode:OKKP) 323 [2]定义订单类型(Tcode: KOT2|KOT2-OPA|KOT2_FUNCAREA) 324 [3]维护订单编号范围(Tcode:KONK) 326 [4]定义状态主文件(Tcode:OK02|BS02) 326 [5]定义受权码(Tcode:BS52/BS53) 328 [6](Tcode:KOV2) 328 [7]分配状态管理给订单类型(Tcode: 328 例1.设置订单审批流程 328 例2.使用投资订单管理固定资产项目 332 CO-CCA Cost Center Accounting 332 分配分摊 332 最牛B最灵活的分配分摊依据--统计指标 340 作业类型 352 一 建立type 43次级成本要素(Tcode:KA06) 353 Act Ind. deter&Alloc 353 二 建立作业类型(Tcode:KL01) 353 三 建立生产成本中心(Tcode:KS02) 356 四 成本中心作业量计划(Tcode:KP26|KP27) 357 Cost center CCTR3 has none of the activity types used here 357 五 建立成本中心费用计划(Tcode:KP06|KP16/KP17/KP36/KP37) 359 六 计算计划价格(Tcode:KSPI) 361 七 维护分割结构(Tcode:OKES/OKEW) 362 八 建立工作中心. 371 Activity type ACTMN is not allowed for business transaction RKL 371 九 建立统计指标 372 十 重过帐和直接作业分摊 372 十一 分配分摊 372 CO-PC 381 Costing Sheet 成本核算单 381 [1].Define Origin Groups(Tcode:OKZ1) 382 [2].Maintain Overhead Cost Elements(Tcode:KA06) 383 [3].Define Costing sheets 383 [4].Define Calculation Bases 385 [5].Define Percentage Overhead Rates(Tcode:S_ALR_87008275) 386 [6].Define Quantity_Based Overhead Rates 387 [7].Define Credits 388 [8].Develop Enhancement 388 [9].Define Overhead Key 389 [10].Define Overhead Group 389 [11].Define Cost Component Structure(Tcode:OKTZ) 390 [12].Error Management 390 使用成本核算单的标准成本估算实例。 390 标准成本Cost variant的Valuation Variant 001(Tcode:OKK4) . 390 作业计划价格和Routing检查(CA03). 390 作业计划价格检查(KP26) 391 成本核算单和成本组件结构 393 例1 Origin group的使用 402 例2 Costing sheet结构和成本估算实例 404 例3 407 例4 ZROY Calculation Base增强 407 例5 细说Cost component Structure和Cost Variant关系 411 生产成本控制(Product Cost Controlling)后台配置 411 6.1 Product Cost Planning 412 6.1.1 Basic Settings for Material Costing 412 Plan, Target, Actual and Control Cost 421 [1]Basic Settings 423 [2]Cost Variants for Manufacturing Orders 423 [3]Valuation Varaint 427 [7] Define Cost-Accounting-Relevant Default Values 430 [9] Error message 管理 431 [10] 431 (一) Work in Process 433 (2) Variance Calculation 439 Variances = actual debit – actual credit. 用中国的话来说就是FUl settlement的工单差异一定等于实际的生产成本投入和产出之差. 那么我还要target cost 干什么? 444 (3) Settlement 452 Future costing 方案(技术篇). 460 业务背景: 460 业务未定部分 461 解决方案 462 CO-PC部分 462 (1)Creating costing type (Tcode:OKKI) 462 (2)Create Valuation variant Z03 (Tcode:OKK4). 463 (3)建立成本估算变式(Tcode:OKKN) 463 (4)按业务背景编写取价逻辑(Tcode:SMOD/SE38) 464 CO-PA部分 465 (1) 建立销售计划版本(Tcode:OKEQN/OKEVN) 465 (2) 定义评估策略(Tcode:KE4U) 467 (3) 自定义评估策略(Tcode:SMOD/SE38) 467 需要确定因素: 467 CK11N取info record 分析报告(注:相当于某地方级政府GDP报告) 468 Purchase Info record tables : 468 取什么info record 470 Cost Estimation 成本估算 471 1成本估算变式 472 [1]Define Costing Types 472 [2]Define Valuation Variants 473 (1)Material valuation 473 (2)Actity Type/Process 475 (3)Subcontracting 475 (4)External Processing 475 (5)Overhead 476 (6)Price Factors 476 [3]Define Date Control 477 [4]Define Quantity Structure Control 477 [5]Define Transfer Strategy 478 [6]Define Reference Variants 478 [7]Define Costing Variants 478 2.标准成本估算 479 例1. Last PO Price Cost Estimate 479 例2. Future Costing for COPA 479 例3. 479 数量结果控制设置 479 重复制造生产配置. 482 按库存生产配置(Make-to-Stock). 482 按订单生产配置(Make-to-order). 483 CO-PA 483 7.利润分析(Profitability Analysis)后台配置 483 7.1 Structures 484 7.1.1 Maintain Characteristics 485 7.1.2 Maintain Value Fields 488 7.1.3 Maintain Operating Concern 490 7.1.4 Sample Operating Concerns 492 7.1.5 Define profitability Segment Char. 493 7.1.6 Set Operating Concern 493 7.2 Master Data 493 7.2.1 Maintain Characteristic Values 493 7.2.2 Define Characteristics Hierarchy 494 7.2.3 Define Characteristic Derivation 494 7.2.4 Valuation Strategies 498 7.2.5 Set Up Valuation Using Material Cost Estimate 498 7.2.6 Set Up Conditions and Costing Sheets 498 7.3 Planning 499 7.3.1 Initial Steps 499 7.3.1.1 Define Number Ranges for Planning Data 499 7.3.1.2 Maintain Versions 499 7..3.1.3 Assign Quantity Fields 499 7.3.2 Planning Framework 499 7.3.2.1 Set Up Planning Framework 499 7.3.2.2 Create Planning Level fro Planning Layout 500 7.3.2.3 Display Planner Profiles 500 7.3.3 Manual Entry of Planning Data 500 7.3.3.1 Define Planning layout 500 7.3.3.2 Define Value Field Assignments 500 7.3.3.3 Define Distribution Profiles 500 7.3.3.4 Calculated Values as Reference 500 7.3.4 Integrated Planning 500 7.3.5 Planning Aids 500 7.3.6 Reorganization 500 7.4 Flows of Actual Values 500 7.4.1 Initial Steps 501 7.4.1.1 Define Number Ranges for Actual Postings 501 7.4.1.2 Maintain Characteristic Groups 502 7.4.1.3 Assign Cha. Grp. for Assignment Screen 502 7.4.1.4 Assing Char. Grp. For Line Item Screen 503 7.4.1.5 Maintain Value Field Groups 503 7.4.1.7 Summarize Data During Update 505 7.4.1.8 Store Quantities In CO-PA Std. Unit of Measure 505 7.4.2 Transfer of Incoming Sales Orders 506 7.4.3 Transfer of Billing Documents 507 7.4.4 Order and Project Settlement 508 7.4.5 Direct Posting from FI/MM 508 7.4.6 Settlement of Production Variances 508 7.4.7 Transfer of Overhead 508 7.4.8 Transfer Customer Rebate Agreements 508 7.4.9 Multiple Valuation Approaches/Transfer Price 508 7.4.10 Periodic Adjustments 508 7.4.11 Activate Profitability Analysis 508 1.定义经营范围 511 2.获利分析段PSG 518 3.特征值派生和值字段评估 519 1 基本设置(Basic Settings) 530 2 企业组织(Enterprise Organization) 535 3 主数据(Master Data) 536 4 利润中心分配(Assignments to Profit Centers) 539 SAP屠宰行业CO解决方案 540 业务背景: 540 SAP实现 542 1建立物料 543 2建立BOM 543 3.外包给屠夫宰 545 4.使用外包工序 549 关于联产品工单成本怎么结算?你整一个Allocation structure, SAPhelp. Create Allocation Structure 551 5工单 552 Material Ledger 物料分类账详解 552 一.ML功能简介 552 二.标准价Pk加权平均价 559 三.差异来源和差异处理 564 四.SAP差异科目设置 565 利润中心(Profit Center Accounting) 565 1 基本设置(Basic Settings) 566 2 企业组织(Enterprise Organization) 571 3 主数据(Master Data) 572 4 利润中心分配(Assignments to Profit Centers) 575 5 转移价格(Transfer Prices) 576 Logistics - General 576 销售运作计划(SOP)和利润计划 576 LIS配置 578 (2)应用Sales Flexible Planning 584 (3)使用PA Planning Framework(KEPM ) 589 (4)PA Valuation Stratege 595 MM Material Management 595 PO Account Assignment 增强 Coding Block 596 Background: 599 1.Related IMG 599 Step 1.Define valuation class for those non-material 599 Step 2.Define PO Account Assignment Categories 602 Step 3. Assign account to VBR 604 Step 4.Where we define valuation class 604 2.Q&A 605 1.How to Activate Direct Posting to G/L Accounts and Material Account 605 2.What will Happen? 607 3.Mark delv. Completed 607 物料移动类型和后勤自动科目设置 608 分割评估和混合成本 620 业务背景: 620 配置分割评估 620 建立物料主数据 624 建立cosing mix ratio (Tcode:CK91/CK91N|CK94) 627 Valuation variant分析 632 后勤一般设置(Logsticis-General) 638 物料主数据(Material Master) 638 MM Condition配置 647 PO审批流程 661 一 定义Release group 661 二 定义Release code 661 三 定义Release indictor 662 四 定义Release Strategy 663 五 建立分类Z_PUR_DOC_RELEASE 667 Stock Transfer Order 669 MM PO配置 670 跨公司transfer order 681 两种外包方式比较 686 业务背景: 686 1.直接使用外包PO 687 (1)成本核单(Costing sheet)设置 687 (2)成本部件(Cost component structure) 688 (3)维护物料info record 690 (4)标准成本估算 690 (5)外包PO无Condition流程 692 (6)应用PO condition 694 (7)外包科目设置 695 (8)外包PO带4个condition流程. 696 (9)存在的问题 698 2.使用工单混合作业外包 699 (1)建立作业外包info record 699 (2)建立外包工序 700 (3)标准成本估算 701 (4)建立工单和作业PR转PO 702 (5)作业外包PO收货 704 (6)配置PO Account assignment 704 (7)工单收货外包料的价格处理 706 (8)自定义逻辑 708 (9)存在的问题 709 委外加工的种类和处理方法(使用prod. Order和purchase order) -2 709 1.Related IMG 710 Step 1.Define valuation class for those non-material 710 Step 2.Define PO Account Assignment Categories 712 Step 3. Assign account to VBR 714 Step 4.Where we define valuation class 714 2.Q&A 715 1.How to Activate Direct Posting to G/L Accounts and Material Account 715 2.What will Happen? 717 3.Mark delv. Completed 717 MM Condition MM采购定价 720 透视条件(Condition)技术 725 (1)定义采购定价控制级别(SE16:V_001W_K) 727 (2)熟悉采购定价过程 728 物料主数据 739 (1).物料主数据配置 739 (2).为用户设置可维护主数据屏幕 739 (3).限制维护物料字段 743 (4).设置物料交易状态(Tcode:OMS4) 746 (5).特殊物料处理 747 SAP相关打印编程- PO打印 751 物料管理(Material Management) 后台配置 761 物料管理一般设置 761 采购环境数据(Environment Data) 762 物料采购数据(Material Data) 762 分隔评估(Split Valuation) 765 供应商和合作伙伴确定(Vendor Master| Parter Determination) 765 后勤发票校验(Logistics Invoice Verification) 765 收进发票处理(Incoming Invoice) 767 Valuation and Account Assignment 772 例1:如何使用Valuation group code 781 例2 PO condition和OBYC 783 例3 移动类型如何取得自动配置科目 ? 783 运杂费处理 788 (一)方法1:直接列入期间费用 789 (二)方法2:使用事后借记和计划外运输费用 789 (三)方法3:应计条件类型处理运杂费. 791 (四)方法4:建立厂外临时工厂. 799 (五)其他方法 800 GR/IR科目拆分 801 Background 801 OMSF define additional material group ZSTONE 802 Define additional valuation class ZSTV (OMSK) 802 OMQW define additional material group 804 Define another GR/IR account with OBYC->WRX 804 ME21N/MIGO test 805 正解方案: 808 物料类型 810 管道物料(Pipeline Material) 810 供应商寄存物料(Consignment Stock) 811 委外加工物资 811 寄售给客户物料 811 客户维修物料 812 更改物料Valuation class 812 GR/IR 的绝妙应用 814 PP - Production 817 使用外包工序 817 (1)建立作业外包信息记录 817 (2).建立外包工序 818 (3)外包标准成本估算 819 (4).建立外包工单 820 (5).外包采购单收货 822 (6).外包工单收货外包件价格设置 823 Super BOM(Configurable material BOM)的应用 824 一 Classification System(分类系统)简介 824 二 Super BOM和配置BOM应用举例 825 建立物料(Tcode:MM01) 827 建立Super BOM(CS01) 829 建立configurable profile (Tcode:CU41) 830 例1- Phantom Part的使用. 834 例2 配置BOM的成本估算 834 SD - Sales & Distribution 834 SD Condition SD销售定价 834 BC - Basis 840 How to Archive material master data or inventory data? 840 Relatd T-codes: 840 2. How to change valuation category with existed transaction data . 840 3. How to archive the batch data . 842 4.Unit test OK ! 845 How to delete a change request 846 How to set required fields for material master 847 1. Self define a Sel. Group and Re-assign Fields to Field Selection Groups 847 2. Maintain Field Selection for Data Screens 849 3. Unit test result . 850 Little SAP tips 851 How to add a search Help? 853 How to add field MARA-ZEIAR(Document type ) as a search help 853 1.What is so-called a search help 853 2.How to add a search help for material master data 854 How to add code for SAP Query 857 Case 1. change fields sign . 858 Case 2. Add additional Tables and fields . 859 Case 3.Coding using work area or internal table for additional fields. 860 Case 4: Use alias table to add a same table for query twice or multiple times. 863 Case5. User cluster table BSEG with logical database 864 1. use logical database, such as BRF 866 2. direct read of table BSEG 866 Case6. Use left outer join to avoid query data missing 867 Case7.Change Query Program with SE38 868 大话ERP权限控制 870 IMG剖析和SE16 878 如何收集常用事务码? 880 ABAP 882 ABAP开发三月通 882 前 言 882 一.基础篇 883 1.什么是ABAP ? 884 2.ABAP开发环境的建立 887 3.获得Access Key . 887 4.ABAP workbench和ABAP dictionary 887 5.第一个程序-Hello World. 888 6.ABAP语法简介 889 7.Open SQL和Native SQL 889 8.内表和工作区 889 9.使用字段符号 889 10.模块化程序 889 11.文件处理 889 12.簇数据库和逻辑消息和错误处理数据库 889 13. 889 14.使用用户授权 897 15.调用外部程序和程序动态生产 897 16.选择屏幕 897 17.使用程序运行变式 897 18.制作Tcode 897 二.加强篇. 898 1.CATT 898 2.BDC 898 3.制作程序的background job 898 4.SapScript 898 5.Smartform 898 6.SAP Query 898 7.ALV编程 898 8.ALE/iDoc 898 9.Report painter和Drilldown Report 898 10.RFC/BAPI 898 11.编写用户增强 898 12.深入ABAP工作台 898 13.传输请求 899 14.和其它语言的交互 901 三.实战篇 901 1.MM模块开发实例. 901 一.MM常用表格及其关联关系图 901 二.开发实例 901 1.MM相关单据打印 902 2.PO增强编程 902 自动建立PO和SO 903 SE11建立一记录表ZPOSO 904 使用PO User_exit 904 3.物料主数据编程 915 4.供应商列表分析 (No Content) 915 5.收货检测增强 (No Content) 915 6.库存分析报表 (No Content) 916 7.GR/IR报表 (No Content) 916 8.报废流程增强 (No Content) 916 2.SD模块开发实例. 916 3.PP模块开发实例. 916 4.FI模块开发实例. 917 1.编写财务报表 917 2.财务凭证的确定(Validation) 917 3.财务凭证的退代(Substitution) 924 4.BKPF|BSEG浅析 937 5.Dunning催款 937 6.支票打印 937 7. 937 8. 937 5.CO模块开发实例 (No Content). 937 6.Basis相关开发实例 937 1.删除传输请求 937 2.检测用户授权列表 940 3.致命SAP权限控制漏洞 940 4.再谈开发权限漏洞 945 开发项目流程简介 (No Content). 951 附录: 951 ABAPer 常用Tcode 951 编写用户增强 953 操作最简单的欺骗Access Key的文档 957 (1)SE38 :输入LSKEYF00按display 957 (2)/n 或者/O开新窗口,SE38再输入LSKEYF00这次按change按钮. 957 (3)SE16: progdir,准备请空PROGDIR-EDTX 958 4.插入一行SY-SUBRC = 0 .到LSKEYF00就可. 960 快速修改表内容 961 如何快速找到增强 964 Message消息控制 966 BW 969 第一篇 BW篇 969 第1夜 数据仓库知识 969 一.什么是数据仓库(Data Warehouse)? 969 二.为什么使用SAP BW 970 三.数据仓库架构理论(附) 973 四.OLTP&OLAP(附) 973 五SAP BW(Business Information Warehouse)实施方法论 975 a. SAP BW的版本历史 976 第2夜ABAP基础 977 第3夜 逻辑系统和数据源 977 一.建立逻辑系统 977 思考:如何建立R/3和BW的数据交换通信? 980 二.将配置Tcode整成前台执行 982 三.建立数据源(Data Source) 985 思考: 如何增强0FI_GL_1? 989 四.数据源传输模式 994 五.SAP发展简史(附) 995 第4夜BW管理员工作台 997 第5夜 数据抽取准备 1001 一.建立源系统(Source System) 1001 SEM - Strategic Enterprise Management 1004 第22夜 SEM模块简介 1005 Procedure for System Administration 1009 第23夜 使用BPS制定销售计划 1010 一.SAP R/3 的LIS->SOP->KEPM实例回顾 1010 1.建立LIS表格 1010 2.SOP 1018 二.使用BPS制定销售计划 1019 1.建立销售计划信息立方体 1019 2.启动BPS工作台(Tcode:BPS0) (1)Create Planning Area 1020 BCS 混合合并疑问 1022 例1 使用混合合并单元 1022 一.合并版本(Verions) 1026 例2 使用混合版本 1026 SAP上线期初初始数据如何导入(尤其是针对以前有老系统的情况) 1029 MM 1029 SD: 1030 PP 1031 FICO 1031

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值