When you process large SD documents or a large number of documents in a collective processing, the processing time increases disproportionately faster than the number of items to be processed.
Documents with several hundreds or thousands of items are processed.
When you process large documents, a very large part of the runtime is used for the comparison of different internal tables. The processing time required for this increases squarefold to the number of processed items and can dominate the entire runtime for large documents.
Related: Table to Find Invoice and Document Number with Respective Sales Order Number
You can generally change the squarefold increase of the runtime to the number of line items (n) with program changes to an increase proportional to n * log(n). For small documents (smaller than 50 items), a change like this means only a hardly measurable increase in runtime. However, without these program changes large documents cannot be processed.
You can recognize a performance problem of this category when the system displays the same report name for a long time while you process large documents in the process overview (Transaction SM50). That means that if you want to analyze performance problems you should use Transaction SM50 first to monitor the reports which are called, for example during billing, to find out which report uses a large amount of runtime.
In the following places problems were recognized and eliminated. The specified notes each describe the necessary source code changes. Depending on the process, one or more of the following notes can be relevant. You can usually identify them by the report name displayed in the process overview.
a) Report name which is displayed in the process overview
b) Note which contains the correction
c) SAP Release as of which the correction is part of the standard system
d) Text for the note
a) b) c) d)
SAPLV61A 63070 Group condition processing in sales order
'' 311911 50A Performance (prices) in general billing interface
'' 423088 50A Condition screen: Function update/performance
SAPLMCS1 70091 31H Performance SIS sales order, delivery, billing doc.
'' 326647 50A Performance probs when creating billing documents
SAPLMCS5 70091 31H Performance SIS sales order, delivery, billing.doc
SAPLMCS6 70091 31H Performance SIS sales order, delivery, billing doc.
'' 186019 46C Performance of billing update
'' 326647 50A Performance probs when creating billing documents
SAPLRWCL 79873 40A Performance in the FI/CO interface
'' 320959 Collective note: memory problems in AC interface
SAPLSTXD 84661 45A Performance SD texts (for collective processing)
'' 185081 46C Collective processing: Performance
'' 300725 50A Performance: Documents with many items
'' 309225 50A Runtime during collective billing run (texts)
'' 362057 50A Runtime error w/ collectv billing, text determinatn
'' 377274 50A Performance prob drng collective billing&delivery
SAPLV45T 84661 45A Performance SD texts (for collective processing)
'' 185081 46C Collective processing: Performance
'' 300725 50A Performance: Documents with many items
'' 309225 50A Runtime during collective billing run (texts)
'' 362057 50A Runtime error w/ collectv billing, text determinatn
'' 377274 50A Performance prob drng collective billing&delivery
SAPLSCD1 92597 45A Read change documents - performance improvement
SAPLV60A 163348 45A Perfrmnc doc. flow, file VBFA (billng doc) 2. part
'' 97509 45A Billing performance (account determination)
'' 127139 45A Document flow performance, file VBFA (billing doc.)
'' 135122 45B Performance during collective billing
'' 174537 46B Performance of billing (partners)
'' 160226 46B Performance billing (customer hierarchy)
'' 309225 50A Runtime during collective billing run (texts)
'' 315236 50A Performance probs cancelling order-relatd bill.docs
'' 311911 50A Performance (prices) in general billing interface
'' 392867 50A SD-billing document: Performance problems reading
partners
SAPFV45K 99581 45A Perform. for EDI inbound process. of sales orders
SAPFV45P 183809 46B Performance optimization when reading sales doc.
SAPLV45P 426373 50A Performance problems with the general billing
interface
SAPLATP2 122153 45B ATP: bad performance for large SD documents
SAPLV60B 118394 40A SD FI interface : Performance improvement
'' 100093 45A Performance problem during transfer from SD to FI
'' 146542 46A SD-FI interface: Performance improvement (2)
'' 136281 46A Runt. prob. w. reposting billing documents into CO
'' 316001 50A RevRec:Improved reading/processing of billing items
SAPLFCCR 171760 46B Transf.bill.doc SD/FI:Perf.probl.dur.pymt card chck
'' 173374 46B Incorrect secured values in FI
SAPLKEII 174327 46A Processing FI/CO document: Performance improvement
SAPLFACI 172676 46C Freeing up memory space
'' 209207 50A Performnce problm w.transfer to Financal Accountng
'' 324026 50A Performance improvement when creating FI documents
SAPLKAID 171295 46B CO interface: performance of availability control
SAPLPC45 184207 46C Partner profit center derivation /customer /vendor
SAPLPCRW 184207 46C Partner profit center derivation /customer /vendor
'' 141379 46A Long runtime of COPCA_DOCUMENT_CHECK
SAPLVFRR 315463 50A RevRec:Improved reading of conditions (performance)
'' 316001 50A RevRec:Improved reading/processing of billing items
'' 317545 50A RevRec:Imprvd readng contr lines drng crtn of post
line
'' 337299 50A RevRec: Impvd DB access of control, revenue + ref
tab
SAPLV45V 105512 Performance in contract document flows
SAPLV60F 319126 50A Performance billing plans
SD70AV3A 353518 50A Selection of outputs takes much time
SAPLV05I 357643 50A Performance bil.doc cancellation - index update
SAPLV05N 396737 50A Bill.doc.messages: Performance problem dur. print
Remarks:
In the case of performance problems during billing, to analyze the problem, you should first try to split up the process of billing into individual steps. That is, you should not perform the billing document print at time '4' ('4' = print immediately, that is update), but at time '1'. As a result, you can see whether the long processing times are caused by the billing document print.
In addition, you should separate billing document creation and the creation of FI documents, that is in Customizing of the billing document types (Transaction VOFA), set the 'Posting block' flag. As a result, you can find out whether the long processing times occur in SD, FI or CO. You can subsequently release the billing documents created this way with Transaction VF02 or VFX3 to accounting.
For large documents, of course, all the notes are interesting which cause a performance improvement linear to the document size. 91830, for example, is used as a collective note for performance improvements in pricing.
Otherwise, the maximum size of a document is limited either by the number of conditions per document which must not exceed a maximum number, or by the maximum of memory which a single process can allocate on an application server.