zl程序教程

您现在的位置是:首页 >  其他

当前栏目

SAP ABAP 特性相关表取数逻辑详解编程语言

SAP逻辑编程语言 详解 特性 相关 ABAP
2023-06-13 09:11:52 时间

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

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

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

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

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

CABN:特性的文本

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”视图中“配置变量”中维护的数据,这样维护的数据通过以上方式是取不出来滴,利用周末整整研究了一上午才找到了对应的相关表,一并分享~~

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

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.

19736.html

c