Friday 18 April 2014

Copy Control Routine in SAP

We can make the required business data (customers, plant, materials, pricing ..) available from a certain source (sales order, delivery, billing) to a sales order or delivery or billing, like copy and paste without human intervention.

Here the benefit is like:
  • No human intervention to put all the data to create a sales order or delivery or billing.
  • Less hit of database table which would improve the program performance.
  • We can put certain rules based on certain condition to automatically fill up the required data while creating order or delivery or billing.


There are several types to control copy control of sales documents:
VTAA – control for copying from sales order to sales order
VTLA – control for copying from sales order to delivery
VTFL – control for copying from delivery to billing doc
VTAF – control for copying from billing doc to sales order
VTFA – control for copying from sales order to billing doc
VTFF – control for copying from billing doc to billing doc


We can also achieve the same using SPRO. Like below.









How to use copy control for our custom business logic :

We can use copy control by two ways like below:

  1. We can copy the standard routine and add our own custom logic. Then need to configure the routine. Generally functional ppl will do the configuration after our coding part will be complete.
  2. We can write our own custom logic inside the standard copy control routine (if there we can find the perfect place like implicit or explicit enhancements).






Let’s go through one requirement that I have done few days back.
A copy control routine was already there for copying the data from billing document to sales order while creating sales order with using ‘Create with Reference’ option.

Need to mention that we are going to create return order based on the previous billing document.

But the problem was certain data was not copying from billing to sales order because the fields are custom (Z fields).

Here we have the solution.

Functional guy told me to copy the standard routine 153 (include - FV45C153) and create a custom routine.

When I go inside the include I found there we have certain implicit and explicit enhancements.

At last I have written the custom filed population logic inside a enhancement-point with using the billing data.





Please Note:
You can also do the same by copying the 153 routine and configure the custom routine.

1 comment: