Performance: Customer developments in PP/PM(摘自SAP Note 187906)

本文介绍如何通过改进查询方式提高SAP系统的物流表访问效率。针对不同场景提供了具体的优化建议,例如订单确认表AFRU、PPS订单表AFKO等的查询优化方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
Symptom
Customer programs and program enhancements ("user exits") have a bad performance. The bad performance can be seen when accessing the following SAP logistic tables:
AFRU, AFKO, AUFK, CAUFV, RESB
Additional key words
Cause and prerequisites
The R/3 System does not contain secondary indexes to the most important PP / PM flow tables.
To access them effectively you need a basic knowledge of the SAP data model. This notes contains information on the most important errors and provides alternatives.

However, note the following WARNINGS:
- Before you use the suggested alternatives check your program for functional correctness.

Pay attention to the following NOTES:
In the following examples, you often find accesses to several
e.g..:
  SELECT aufnr FROM resb WHERE rsnum = <afko-rsnum>
    SELECT ..... FROM afko WHERE aufnr = <resb-aufnr>
To increase the performance you should define a selection view on the corresponding tables (here: resb and afko) to combine the accesses to both table into one.
Solution
1. Access to order confirmation (table AFRU)
a) Search for confirmation of orders (field AFRU-AUFNR):
Incorrect:
  SELECT FROM afru WHERE aufnr = ...
Correct:
  SELECT aufpl FROM afko WHERE aufnr = <afru-aufnr>
    SELECT rueck FROM afvc WHERE aufpl = <afko-aufpl>
      SELECT ..... FROM afru WHERE rueck = <afvc-rueck>
Caution:
From table AFVC, you receive one value per operation for "RUECK".
2. Access to PPS orders (tables AFKO, CAUFV, AUFK)
a) Find orders for reservation (field AFKO-RSNUM; CAUFV-RSNUM):
Incorrect:
  SELECT FROM afko WHERE rsnum = ...
Correct:
  SELECT aufnr FROM resb WHERE rsnum = <afko-rsnum>
    SELECT ..... FROM afko WHERE aufnr = <resb-aufnr>
Note:
The same access path applies to CAUFV and AUFK.
Search for sales orders (tables VBAP-VBELN, VBAP-POSNR; VBFA-VBELN, VBFA-POSNN; and so on.)
Incorrect:
  SELECT FROM AUFK WHERE KDAUF = <VBAP-VBELN>
                    AND KDPOS = <VBAP-POSNR>
Correct:
   SELECT FROM AFPO WHERE KDAUF = <VBAP-VBELN>
                      AND KDPOS = <VBAP-POSNR>
    SELECT FROM AUFK WHERE AUFNR = AFPO-AUFNR.
Note:
The tables AFKO and CAUFV can be selected analogously to the AUFK access using order number AUFNR.
3. Access to reservations and dependent requirement (table: RESB, MDRS ATP _RESB)
a) Search for reservation for PPS orders (field RESB-AUFNR):
Incorrect:
  SELECT FROM resb WHERE AUFNR = ...
Correct:
  SELECT rsnum FROM afko WHERE aufnr = <resb-aufnr>
    SELECT ..... FROM resb WHERE rsnum = <afko-rsnum>
Note:
The same access path applies to MDRS and ATP_RESB.
b) Search for reservation for Planned orders (field RESB-PLNUM):
Incorrect:
  SELECT FROM resb WHERE PLNUM = ...
Correct:
  SELECT rsnum FROM plaf WHERE plnum = <resb-plnum>
    SELECT ..... FROM resb WHERE rsnum = <plaf-rsnum>
Note:
The same access path applies to MDRS and ATP_RESB.
 
 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值