Symptom
Customer-specific programs and program enhancements ("User Exits") have a bad performance. The bad performance is noticed during accesses to the following SAP SD tables: VBAK, VBAP, VMVA, LIKP, LIPS, VBRK, VBRP, VBFA
Additional key words Cause and prerequisites
The R/3 System contains no secondary indexes to the most important SD transaction data tables in the delivery. Instead, the R/3 System has proprietary index tables (sales document indexes, for example the tables VAKPA and VAPMA, matchcode tables for example M_VMVAB, M_VMVAC or matchcode views for example M_VMVAA, M_VMVAE), which allow an efficient access.
In order to use these efficiently a certain basic knowledge of the SAP data model is required. For this this note lists the most important errors which are made and it offers alternatives.
However note the following WARNINGS:
- Before you use the listed alternatives productively, you must check your program closely for functional accuracy.
- The sales document indexes must be maintained correctly in your system. This is usually automatically the case, however, there can be inconsistencies. Carefully read and follow Notes 128947 and 178328.
Consider the following NOTES:
In the following examples, there are often accesses to several tables, for example:
SELECT FROM vakpa WHERE kunde = ... SELECT FROM vbak WHERE vbeln = vakpa-vbeln.
It can increase the performance, to define a selection view on the corresponding tables (here: VAKPA and VBAK) in order to combine the accesses to the two tables in one access.
Solution
1. Accesses to sales orders (tables VBAK, VBAP)
a) Search orders for customer number (field VBAK-KUNNR):
Incorrect: SELECT FROM vbak WHERE kunnr = ...
Correct: SELECT FROM vakpa WHERE kunde = ...
SELECT FROM vbak WHERE vbeln = vakpa-vbeln.
b) Search order items for material number (field VBAP-MATNR):
Incorrect: SELECT FROM vbap WHERE matnr = ...
Correct: SELECT FROM vapma WHERE matnr = ... SELECT FROM vbap WHERE vbeln = vapma-vbeln
AND posnr = vapma-posnr
c) Other search helps for sales orders offer the matchcode tables and views M_VMVAx, x. = A, B, C, ... M; for example search for purchase order number of the customer, description and so on
2. Accesses to deliveries (tables LIKP, LIPS)
a) Search for deliveries with customer number (field LIKP-KUNNR):
Incorrect: SELECT FROM likp WHERE kunnr = ...
Correct: SELECT FROM vlkpa WHERE kunde = ... SELECT FROM likp WHERE vbeln = vlkpa-vbeln.
b) Search for delivery items with material number (field LIKP-MATNR):
Incorrect: SELECT FROM lips WHERE matnr = ...
Correct: SELECT FROM vlpma WHERE matnr = ... SELECT FROM lips WHERE vbeln = vlpma-vbeln
AND posnr = vlpma-posnr
c) Search for deliveries with sales order number (preceding document, field LIPS-VGBEL):
Incorrect: SELECT FROM lips WHERE vgbel = ...
Correct: SELECT FROM vbfa WHERE VBELV = ... and VBTYP_N = 'J' SELECT FROM lips WHERE vbeln = vbfa-vbeln
AND posnr = vbfa-posnn
d) Other search helps for deliveries offer matchcode tables and views M_VMVLx, x. = A, B, C, ... M; for example search for goods issue date, picking date, transportation planning date and so on.
3. Accesses to invoices (tables VBRK, VBRP)
a) Search for invoices with customer number ("payer") (field VBRK-KUNRG):
Incorrect: SELECT FROM vbrk WHERE kunrg = ...
Correct: SELECT FROM vrkpa WHERE kunde = ... SELECT FROM vbrk WHERE vbeln = vrkpa-vbeln
b) Search for invoice items with material number (field VBRP-MATNR):
Incorrect: SELECT FROM vbrp WHERE matnr = ...
Correct: SELECT FROM vrpma WHERE matnr = ... SELECT FROM vbrp WHERE vbeln = vrpma-vbeln
AND posnr = vrpma-posnr
c) Search for invoices with delivery number (preceding document, field VBRP-VGBEL):
Incorrect: SELECT FROM vbrp WHERE vgbel = ...
Correct: SELECT FROM vbfa WHERE vbtyp_n = 'M'
AND vbelv = ... SELECT FROM vbrp WHERE vbeln = vbfa-vbeln
AND posnr = vbfa-posnn
d) Search for invoices with order number (preceding document, field VBRP-AUBEL):
Incorrect: SELECT FROM vbrp WHERE aubel = ...
Correct: SELECT FROM vbfa WHERE vbtyp_n = 'M' AND vbelv = ...
SELECT FROM vbrp WHERE vbeln = vbfa-vbeln
AND posnr = vbfa-posnn
4. Other accesses in SD:
a) Document flow:
Incorrect: SELECT vbelv FROM vbfa WHERE vbeln ...
In table VBFA only the preceeding document is used to search for the subsequent document (for example, delivery for order). Searching the other way makes no sense with this table since the preceding documents (for example, order for delivery) are stored directly in the document tables. Thus reading in table VBFA is a one-way street.
Correct: SELECT vgbel FROM lips WHERE vbeln = ...; or SELECT vgbel FROM vbrp WHERE vbeln = ...; or
SELECT aubel FROM vbrp WHERE vbeln = ...
b) Search for shipping unit item with delivery
Incorrect: SELECT FROM vepo WHERE vbtyp = 'J' AND vbeln = i_lips-vbeln
Correct: SELECT FROM vbfa WHERE vbtyp_n = 'X' AND vbelv = i_lips-vbeln
SELECT FROM vepo WHERE venum = vbfa-vbeln
相关连接:
http://blog.csdn.net/CompassButton/archive/2007/01/26/1494627.aspx
分享到:
相关推荐
该文档来自于Senior Member of Technical Staff @ Hortonworks Ted Yu在2014中国大数据技术大会主会的演讲“Recent Developments in Apache Hbase”。
VMworld 2009 – SS5240: Engineering Developments enabling the Virtual Datacenter
Cultural diversity and learning efficiency: Recent developments in assessment. New York: Macmillan, 192 pp., 29.50 Psychologv in rhe Schw[s Volume 29, January 1992 B O O K R E V I E W S ...
VMworld 2009 - TP03:Engineering Developments Enabling the 100% Virtualized Datacenter
VMworld 2009 - TP03 :Engineering Developments Enabling the 100% Virtualized Datacenter
VMworld 2009 – SS5240 Engineering Developments enabling the Virtual Datacenter
Recent Developments in Real and Harmonic Analysis:In Honor of Carlos Segovia springer
储粮害虫检测技术研究进展,蔡立君,翁琪,储粮从收获到加工至食用的各个环节均会容易因害虫为害而降低品质。快速、高效、且简便的检测手段对国际进出口检验检疫、存储、以
Idea Group - Recent Developments in Biologically Inspired Computing
New developments in cryptology
项目:TCA开发网站一,概述内容描述: TCA Developments&Consultant Ltd. 是一家总承包公司,专门从事商业建筑和装修。 作者: Tristan Deane 网址: : 当前版本: 0.12二。 分析与设计我受命改造TCA的现有网站。 ...
(2019,FSB,金融稳定委员会)【重点阅读】_FinTech and market structure in financial services_Market developments and potential financial stability implications.pdf
Networkers2009:BRKIPM-3014 - Advanced New Developments in BGP
粒子图像测速技术的新发展和最新应用,PIV领域的权威著作
天线分析和设计的发展2
Carbohydrates on cell surfaces play a crucial role in a wide variety of biological processes, including cell adhesion, recognition and signaling, viral and bacterial infection, inflammation and ...
Cultural diversity and learning efficiency: Recent developments in assessment. New York: Macmillan, 192 pp., 29.50 Psychologv in rhe Schw[s Volume 29, January 1992 B O O K R E V I E W S ...
In the past two decades, two-photon microscopy (TPM) transforms biomedical research, allowing nondestructive high-resolution fluorescent molecular imaging and label-free imaging in vivo and in real ...
Recent developments in standardization of high efficiency video coding (HEVC) 一篇关于H.265(HEVC)的论文 ABSTRACT This paper reports on recent developments in video coding standardization, ...
Developments in computer Baduk 计算机围棋的发展.doc