23.2.11

SAP Note 23154 - VF04 SAPMV60S: Tuning > Checklist + Notes

Symptom:

VF04, SAPMV60S, billing document, performance, tuning

Checklist for tuning VF04 - Basis for VF04 tuning notes

Cause and prerequisites

Performance problems

Solution
General remarks
----------------------
VF04 and SAPMV60S perform collective billing. Normally, data is transferred simultaneously to CO-PA and FI.

Checklist
---------

1. Buffering number range objects
**********************************************************************
CAUTION: For buffering releases lower than Release 2.2C, be sure to
read Notes 15945 and 12983.
a) Objects in SD
- RV_SAMMG
--> buffering
Buffering volume: Minimum number of VF04 executed in
parallel on an application server
(for example 10)
- RV_BELEG
--> see Notes 23835 and 37844

b) Objects in FI
- RF_BELEG
--> see Note 37844


c) Objects in CO-PA
---> See Note 23028

2. SAPMV60S (collective run via background job request)
**********************************************************************
a) The block 'flow control' has the following parameters:
- List display
The parameter should not be selected, otherwise the
list of selected documents is printed into the SPOOL. This
undermines the performance level.
- Selecting the display variant for list display
Regardless of whether or not the list is printed, the data is
selected according to this display variant.
==> The display variant should be 'simple' and should not
read further data such as 'Address / Customer name / ...'.
Set display variants in SD Customizing.
See Note 27454.
- Printing a collective processing log
The parameter should not be selected, otherwise the
log is printed into SPOOL. This undermines the level of
performance. Supplementary check of the log with report
RVSAMPRO.
b) Collective procesing works in blocks:
Up to and including Release 2.2, at least 20 orders or deliveries
(billing document triggers) are processed at a COMMIT WORK.
This can cause the internal tables to become very large under
certain circumstances.

As of Release 3.0, the minimum number of 20 billing triggers no
longer exists. Only billing triggers belonging to the same sold-to
party are processed in a COMMIT WORK.

- Problems with large documents: Notes 18756, 7499
(a large document is a document larger than 7.5 MB)
- Collective processing log tables
VBSK Log header
VBSS Billing documents created
VBFS Errors
Display the log with report RVSAMPRO.
The log in table VBFS of occurring notes can be very long. Among
other things, it contains all third-party items which have not yet
been processed for invoice receipt at the vendor.

- Suppress undesirable collective processing messages:
Most errors in VBFS come from the copying requirements for the
billing documents and are created there by VBFS_HUNZUFUEGEN.
- Copy the standard copying requirement
- Change this copying requirement: Remove VBFS_HINZUFUEGEN
- Enter the new copying requirement into copying control
---> Note 50742
c) Problems with texts (Note 18756)

3. Printing invoices
**********************************************************************
Invoices should not be printed at time '4' ('4' =
Print immediately, that is update) but instead at time '1'. The
processing should then be carried out with RSNAST00.
(Set the point of execution in SD Customizing and in the condition
records.)

4. US Taxes
**********************************************************************
Conspicuous table in trace A053.
--> Note 23623

5. Transfer to FI, CO-PA
**********************************************************************
Splitting creation of the billing document and the FI document into
separate steps.
- In Customizing: Switch on table TVFK, field 'posting block'
- Supplementary transfer (Note 15236)
The split causes high CPU load in Sums.
The advantage is that the work steps required after creation of the
billing document can be done earlier.

6. Parallel VF04
**********************************************************************
Parallel VF04 are only reasonable with disjunctive VKDFS selections,
especially when VKDFS refers to documents blocked for billing.
In releases lower than Release 2.2F, you can differentiate only
between order-related and delivery-related billing documents.
Changes have been made starting with Release 2.2F --> Note 23433
(via report RV60SBAT, background jobs are generated for SAPMV60S)

7. Improved performance in selection of VKDFS
**********************************************************************
--> See Note 23113
Part 1: Relevant up to Release 2.2F
Part 2: Modification
Part 3: Modification

8. Deadlocks and situations requiring a wait in update program
**********************************************************************
a) Number range object --> Item 1.
b) Deadlock GLT0 -> Note 7499
c) Deadlock KNKK -> Note 26031

9. Statistics
**********************************************************************
a) Check whether only the most required statistics are saved.
Common error: the standard statistics released as examples are
also updated
b) V2 update program
If the data bank load is too large, you can, in certain
circumstances, change the update to V1. See Note 32809.
Disadvantages:
- The UPDATE TASK runs longer --> blocks are held longer

10. Pricing
**********************************************************************

a) Check condition determination procedure
--> remove unnecessary conditions
b) Pricing works with WAs KOMK and KOMP. KOMKs are administered in
internal table TKOMK. It is undesirable when KOMKs are not
created due to fields relevant to pricing.
Better: Initialize these fields. This way, TKOMK is not so large
(routine USEREXIT_PRICING_PREPARE_TKOMK in RV60AFZZ).
--> Note 43002

11. General SD performance handling note
**********************************************************************
---> Note 16430

12. Check modifications / enhancements
**********************************************************************
a) VOFM routines: copying requirements, data transfer, formulas,...
b) it is common to read further data, and so on, in order to get
more selection criteria which are not in VKDFS
c) check any print programs you have written (unfavorable
SELECT,..)

No comments:

Post a Comment