zoukankan      html  css  js  c++  java
  • 如何取SO中的特性

    方法一、从VBAP中取得cuobj,然后调用FM:VC_I_GET_CONFIGURATION;

    image

    但是如果数据量大,那么程序效率会有影响;另外一个问题,这种方法只能获取SO现在的特性值,看不到特性修改的状态;

    方法二、

    经过上网查资料和反复验证,终于找到了相关的数据库表了。如下表可以使用:

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

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

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

    相关取值代码的片段:

    SELECT VBAP-EBELN, VBAP-POSNR,

    CABN~ATINN"内部特性

    CABN

    ~ATNAM"特性名称

    IBSYMBOL

    ~ATWRT"特性值APPENDING CORRESPONDING FIELDS OF TABLE ITAB_TX

    FROM VBAP

    INNER

    JOIN IBIN ON IBIN~INSTANCE = VBAP~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 VBAP-CUOBJ = cuobj_list.

    通过SE16N看,先从VBAP中得到CUOBJ,然后 = INSTANCE 得到IN_RECNO.

    image

    进入表IBINVALUES根据IN_RECNO = IBIN-IN_RECNO;可以得到SYMBOL_ID.

    image

    再进表IBSYMBOL根据SYMBOL_ID = 上面的,得到ATWRT ;

    这样不必反复调用FM,实际上这个FM也是要去查询相关的数据库表,经过计算后返回特性值。即是减少了大大的数据库查询交互次数,性能当然能得到提升了。

  • 相关阅读:
    内部排序一
    安全的文件访问方式
    Json序列化
    对进度条的通用封装实现
    关于'//'解答
    jquery中美元符号($)命名冲突
    linux 文件属性与权限
    【层次查询】Hierarchical Queries之亲兄弟间的排序(ORDER SIBLINGS BY)
    How to create a freehand tool
    C# 获取COM对象 ProgId ClsId
  • 原文地址:https://www.cnblogs.com/chrisrockdl/p/13156491.html
Copyright © 2011-2022 走看看