我也分享了许多篇性能优化的帖子,主要集中在sql、语法及合理的索引方面。我们在表上加索引确实能大幅提升性能,但是索引的数量、所需字段及利用率都是我们在新建索引时需要考虑的,对于大多数abaper而言,也就是稀里糊涂的新建了索引。这里我不对新建索引进行展开讲解,建议没有深厚功底的小粉不要乱建索引。
其实在sql优化上还有一个大招,只是他需要我们实际项目去积累,就是找到相应的替代表,而替代表中最好的莫过于索引表了。SAP在标准程序中也新建了一些索引表来提升标准程序的性能,下面我们来看一个销售订单取数优化的例子。

场景:根据合作伙伴、物料或者交货到期时间来获取销售订单号

分析:合作伙伴VBPA,物料VBAP,交货到期时间在交货单上,很明显我们这样也是可以取到SO,但是性能就很差了

优化方法:很幸运SAP为这些条件新建了索引表

VAKPA       客户索引表
VAPMA      物料索引表
VEPVG      交货到期索引表

附销售订单相关表:
VBAK         订单头
VBAP         订单行
VBUK         订单头状态
VBUP         订单行状态
VBBE         占用库存(订单做了交货单后会转到交货单上,发货过账后消失)
VBPA         合作伙伴
VBEP         计划行数据
VBUV         如果订单项不完整会把不完整数据放到这个表
VBKD         订单的采购订单号码等
KONV         价格
JSTO         状态对象信息
JEST         单独对象状态
JCDS        为系统/用户状态更改文档(表 JEST)
S066         未清订单: 信贷管理
S009         CAS: 最后的凭证
S014         CAS 凭证信息

J开头的三个表是状态表,S开头的三个是信息结构表。

[性能] SAP销售订单取数逻辑优化---索引表相关推荐

  1. SAP销售订单历史修改后台表

    SAP销售订单历史修改后台表 The change history will be stored into these tables only if the data element for the ...

  2. 【ABAP】SAP销售订单定价值变更

    SAP销售订单定价值变更 大家在日常业务中是否碰到过下图这样的情况,增值税专用发票上的单价小数位有8位(因为这个价格是不含税单价,是在开发票时输入含税单价后系统自动算出来的),然后在SAP中做销售订单 ...

  3. 信贷额度UKM_BP_DISPLAY的报表中信贷额度使用率和敞口金额的取数逻辑

    1.DEBUG程序 UKM_BP_DISPLAY 从程序中可以追寻到调用了函数UKM_GET_COMMTS_RULEBASED获取已使用信贷额度 然后再追寻到函数UKM_CALCULATE_EXPOS ...

  4. 目前为止的所有取数逻辑收集

    取数逻辑基本模板如下 第一种方法(优先) SELECT - FROM - INNER JOIN- ON - WHERE IN @s_XXXXX INTO CORRESPONDING FIELDS OF ...

  5. SAP销售订单创建与销售开票定价日期取值逻辑

    SAP销售开票定价日期取值逻辑 销售订单的定价日期的优先级: 1 -Pricing date proposal for price condition defined in customizing ( ...

  6. SAP License:客户特别总帐统驭科目某天余额取数逻辑

    1.期初余额=年初余额+本年初至发生日余额 2.确定年初余额,根据选择屏幕中公司代码.客户代码.会计年度.特别总账标志字段取KNC3-SALDV即为特别总账科目查询出的余额 特别总账标识查询: 2.1 ...

  7. SAP License:客户统驭科目某天余额取数逻辑

    1.期初余额=年初余额+本年至查询上月余额+本月初至发生日余额 2.确定年初余额,根据选择屏幕中公司代码.客户代码.会计年度字段取KNC1-UMSAV值即为会计年度年初余额 3.确定年初至查询上月余额 ...

  8. 【备用】关于BOM替代物料与CK11N取数逻辑

    一.如何设置BOM替代物料组及优先级 涉及事务代码(T-Code):CS02 其中下面三个物料的"替代项目组"做如下设置: 二.CK11N取数BOM替代物料成本逻辑 涉及事务代码( ...

  9. SAP 销售订单冻结无法交货问题

    1 报错 :作为信用检查结果,销售订单为交货而冻结 解决办法: (1) 事务码 VKM3 :将冻结的订单解冻. (2)打上√ 后,点击绿色小旗子,再点保存. 如果是信贷余额不足,需要先增加信贷额度,f ...

最新文章

  1. 手机屏幕的物理分辨率和逻辑分辨率
  2. 【中文字幕】加州理工《数据学习:机器学习课程》视频及ppt分享
  3. 数据机房建设常用材料有哪些?
  4. c语言构造插值多项式,拉格朗日多项式插值(C语言).docx
  5. android 不可点击状态,Android系统.如何使用setClickable同时设置所有按钮可点击或不可点击?...
  6. C语言僵尸进程,C/C++网络编程8——多进程服务器端之销毁僵尸进程
  7. MySQL 高级 - 触发器 - 介绍
  8. springboot入门(项目)
  9. Qt 【关于控件样式,鼠标进入、离开、点击】
  10. java自定义 filter,HBase自定义Filter
  11. matlab如何绘制函数方程,如何使用MatLab来绘制函数曲线方程图像?
  12. 【证明】—— 矩阵秩的相关证明
  13. JDK各个版本的特性分析|JDK7|JDK8|JDK9|JDK10|JDK11|JDK12|JDK13特性分析
  14. 思维▍决定你视野和眼光的16个顶级思维模型
  15. 路由器信号分为2.4G和5G,有什么区别?
  16. 小程序入口传参:关于带参数的小程序扫码进入的方法
  17. java测试性能代码_关于性能:Java代码内部的基准测试
  18. apk protect下载地址
  19. 使用高德SDK开发安卓地图应用软件
  20. t检验中的t值和p值是什么关系_t检验和p值的关系

热门文章

  1. How to become the truely yourself?
  2. PMCAFF产品经理社区原创专栏,产品圈的干货看这儿就够了
  3. 如何判断网站是否启用HTTP2
  4. LSM 自适应信号处理代码
  5. 数据结构学习笔记(2)
  6. Linux软件安装小结
  7. 集合objectjava_collection
  8. 在虚拟机中安装gentoo简化步骤(基于官方手册)
  9. JavaScript事件循环探索
  10. Nginx入门到实战(1)基础篇