Chinaunix首页 | 论坛 | 博客
  • 博客访问: 150305
  • 博文数量: 54
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 508
  • 用 户 组: 普通用户
  • 注册时间: 2013-09-18 09:25
个人简介

好男人就是我,我就是你兵哥

文章分类

全部博文(54)

我的朋友

分类: Web开发

2016-06-29 17:30:29

SAP中不管是特性还是分类在系统里都是经过内部变换转换的,相关表如下:

KLAH:分类名称(CL03)与内部编号的转换表

KSML:分类所分配的特性(CT04)

TCLA:类类型,分类类型(比如:023批次分类)所对应的表(调用标准bapi必要的参数)

CABN:特性名称(CT04)与内部编号的转换表

CABNT:特性的文本

CAWNT: 特性值描述

AUSP:对象所对应的特性值

例子:

SELECT INOB~OBJEK"物料代码
       CABN~ATINN"内部特性
       CABN~ATNAM"特性名称
       AUSP~ATWRT"特性值
      INTO CORRESPONDING FIELDS OF TABLE ITAB_TX
      FROM INOB
      INNER JOIN AUSP ON INOB~CUOBJ AUSP~OBJEK
      INNER JOIN CABN ON CABN~ATINN AUSP~ATINN
      WHERE INOB~OBJEK in S_MATNR.

此处取的是某个物料所有的特性值,如果要取某个分类的话,可以配合KSML表使用。

也可以调用BAPI:BAPI_OBJCL_GETDETAIL 获取

相关参数说明:

OBJECTKEY:物料代码

OBJECTTABLE:根据分类视图中分类类型从TCLA找到对应的值

CLASSNUM:通过分类去KLAH找

CLASSTYPE:分类类型

此处OBJECTKEY对于不同的类类型,参数值所对应的格式还不一致,比如:物料分类--物料代码,批次分类--物料+批次。具体什么格式我也比较疑惑,只能凭借经验了。

以上方式只是取出“分类”视图中所维护的信息,但有个NB项目上使用了变式物料,是通过在“MRP3”视图中“配置变量”中维护的数据,这样维护的数据通过以上方式是取不出来滴,利用周末整整研究了一上午才找到了对应的相关表,一并分享~~
调用函数 CUCB_GET_SINGLE_VALUES_OF_INST  取所有值

MRAC:物料工厂数据表,主要是通过里面CUOBJ(内部对象号)与其他表关联
或者MARA   通过 CUOBF 与其他表关联

IBIN:中间转换表,主要通过INSTANCE转换

IBINVALUES:记录所维护的特性清单

IBSYMBOL:存储具体特性值的表(类似于AUSP)

例子:

 SELECT MARC~MATNR AS OBJEK"物料代码
          CABN~ATINN"内部特性
          CABN~ATNAM"特性名称
          IBSYMBOL~ATWRT"特性值
    APPENDING CORRESPONDING FIELDS OF TABLE ITAB_TX
    FROM MARC
    INNER JOIN IBIN ON IBIN~INSTANCE MARC~CUOBJ
    INNER JOIN IBINVALUES ON IBINVALUES~IN_RECNO IBIN~IN_RECNO
    INNER JOIN IBSYMBOL ON IBSYMBOL~SYMBOL_ID IBINVALUES~SYMBOL_ID
    INNER JOIN CABN ON CABN~ATINN IBSYMBOL~ATINN
    WHERE MARC~MATNR IN S_MATNR.



阅读(1899) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~