Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
Showing results for 
Search instead for 
Did you mean: 

Formulae activation in VOFM

Former Member
0 Kudos

HI Experts,

I have added 2 formulae in VOFM=> formulas=>Condition value for conditional sub totals.

I Have activated them in VOFM(Check box).

Still these formulae are not getting triggered. Is there any thing more that i need to do for activating the same?

I did execute the program "RV80HGEN" also.

***Help ful suggestions will be rewarded.




Active Contributor
0 Kudos

U have to look the config detail.

Former Member
0 Kudos

can you suggest me what config should i Look at?

Active Contributor
0 Kudos


The VOFM needs to be assigned to particular condition to execute in order, this will be done by functional consultant usually. U can ask your Fuctional guys.

Former Member
0 Kudos

Thank you.

Former Member
0 Kudos


refer to the following documentation

Object carriers are required to make a VOFM object 'known' in the main program of the calling program (refer to section 2.4). The object carrier is integrated in the main program of the calling program as an independent include (for example SAPLV61A, SAPMV45A and so on).

Example: Inclusion of object carriers for word processing in SD

documents; Program 'SAPLV45T'



  • System-defined Include-files. *


INCLUDE LV45TTOP. "Global Data


INCLUDE LV45TUXX. "Function Modules

INCLUDE LV45TNNN. <<< 'carrier' copy requirements for texts

INCLUDE LV45TENN. <<< 'carrier' copy routines for texts


Every active VOFM object (for an explanation on the active indicator refer to section 2.3.2) must be registered in the 'carrier'.

The system writes standard VOFM objects delivered by SAP directly into the 'carrier', VOFM objects from the number range reserved for customers (refer to section 2.2 'Namespaces') are sorted into a 'sub-include' included in the carrier.

Exactly one carrier exists per group indicator. The names of all defined object carriers are hard-coded in program MV80HF0A, form routine 'AKTIVIEREN_TRAEGER_SETZEN'.

Here the names of the sub-include for customer-specific VOFM objects belonging to the main carrier are also defined.

Example: Carrier object 'FV63ANNN' for the registration of condition basis formulas in the pricing (Program SAPLV61A)


<<< main


|-INCLUDE RV63ANNN. "User-Routinen <<< sub-include customer objects

| |- INCLUDE RV63A910. "Customer specific

| |- INCLUDE RV63A911. "Customer specific

| |- INCLUDE RV63A912. "Customer specific

| |- ...

|- INCLUDE FV63A001. "Volume

|- INCLUDE FV63A002. "Net value

|- INCLUDE FV63A003. "Net Price

|- INCLUDE FV63A004. "Net Value Plus Tax


|- ...

Because the content of the VOFM object carriers is automatically created source code, you should avoid manual changes to them.

SAP notes, which suggest manual changes to the object carriers, are therefore also incorrect. However, if you nevertheless receive such a note to solve a problem, contact the SAP

Support with a reference to this note.

2.5 Activation, generation and RV80HGEN

The 'activation' is the inclusion of an VOFM object in an object carrier. A 'deactivation' results in the removal of the VOFM object from the object carrier.

The overall process for the creation of a current object carrier is often called 'generation'.

Generally the activation or generation fall into three types.

- Individual activation

- Collective activation

- Generation of object carriers via report RV80HGEN

The 'individual activation' causes the registration of an individual VOFM object in the corresponding object carrier. Which object carrier is relevant is determined with the aid of the group indicator and the group number. In addition to the entry of the VOFM object in the object carrier the system writes the date and time of the generation into table TFRM (refer also to section 2.3.2).

You can start the individual activation only manually. It is always always executed when a user selects a line within the VOFM editing interfaces and afterwards selects activity

'Activate' from the 'Edit' menu.

The 'collective activation' causes the registration of all VOFM objects that belong to a certain group indicator. Analog to the individual activation the system determines the relevant object carrier automatically and writes date and time into table TFRM. The 'collective activation' is a process which you can start also only manually. For this purpose, choose activity

'Activate all' from the 'Edit' menu.

During the generation via report RV80HGEN the system sets up the object carriers of all defined group indicators again. However, the system includes only those VOFM objects that have set the 'active' indicator in the corresponding TFRM table entry. Nonactive VOFM objects are not included in object carriers during the generation via report RV80HGEN.

Due to the quantity of the data to be processed,

the generation via RV80HGEN can take between 0,5 and >5 minutes (depending on the system and the constellation).

Because the RV80HGEN is defined as 'XPRA', it is executed automatically during a system upgrade.

You can also use this XPRA feature for the transport of VOFM objects in order to implement an automatic update of the object carriers after the import of VOFM objects into the target system (section 2.6 provides more details on the transport).

Both the collective activation and the activation via report RV80HGEN technically revert to the program components of the individual activation. For the separate control of the individual activation types form routine AKTIVIEREN_EINZELN (Include MV80HF0A) has a 'USING' parameter, which can have the following characteristic values:

'E' Activate individually

'A' Activate all (= collective activation)

' ' Deactivate individually

During the generation via RV80HGEN the system executes a collective activation for every group indicator sequentially, that means a call of form routine

AKTIVIEREN_EINZELN with characteristic value 'A'.

hope it will clear all ur doubts

u can refer to the link as well given below



<b>plz reward if helpful</b>

Former Member
0 Kudos


Whatever condition this "routines" trigger for, you have to assing this routines to pricing procdure.

so, this is how you do it.

- SPRO --> Sales and distribution --> basic functions --> Pricing --> pricing control --> Define and assign pricing procedure.

- In the "choose activity" dialog select first option 'Maintain pricing procedure'.

- Select your pricing procedure and select 'control data' for it.

- Look for the conditions for which you want this routines to trigger.

- On the same line look for the field AltCty ( 13th field - Alternative calculation type  - KOFRM )

- In this field, you select your routine.

- Save your entries as you come out.

Now your routines should trigger.

Let me know if you have any question.