Routine development in vofm

in tcode VOFM goto in formula -->cond value --> u can find some rouitnes there is a routine 356 .i want to create another routine 956 , 955, after wrintg the code when i am going to activate  it is giving a synatctical erorr that specify the report name.how can i solve it? how cna i get the report name coz 356 & 355 is a include prog.
plz help

Can you activate the VOFM after the u getting the error, becasue its the include prog.
The procedure to create the new VOFM.
1.     Go to VOFM transaction
2.     Page down until you find a new spot on the page to put in the VOFM number and description.
3.     Put in the VOFM number and the description of the VOFM.
4.     Now the VERY IMPORTANT part of the process. Double click on the VOFM description not the VOFM number to create this as a Development/Correction and not as a repair. If you double click on the number then this copies some existing code and prompts you for a repair.
5.     Activate and generate the VOFM routine. Note: Configuration must be setup by the OM team for this step.

Similar Messages

  • How to analyze routine in  SD (VOFM)

    Hi,
    how to find out why a SD routine is developed and what its doing?
    I'm preparing some specs and need this info.
    all i knew is 5 routines RV60B900, RV60C900, RV45C900, RV45C911, RV45C912 have been developed......
    I don't have knowledge on the SD routines. so pls help me in this.
    thanks and regards,
    Ravi.
    poitns guaranteed!

    Most probably these are copy control routines.
    Copy controls routines are used when we create a document with ref to another. Code in these copy routines decide what values to copy from source document to target document.
    For example if you are creating a delivery from sales order then one of these copy control routine will be invoked and which in turn will copy the values from sales order into your delivery.
    Often customer defne their own copy control routines based on their requirement. After new copy control routine is defined in VOFM, it is then configured in SPRO. Where you can defined to use your custom copy control routine instead of sap standard one.
    These copy routines can be defined for various document e.g. sales order, deliveries , billing doc.
    Respectively they are configured in SPRO..
    Just to give you an example for sales order you can configure in spro at following path
    Sales and Distribution->Sales->Sales Document->Maintain Copy control for Sales Document.

  • Enable and Disable Pricing Condition Type thru Routine in Tcode: VOFM

    Hi
    I have a scenario while creating a new sales order using Tcode: VA01. The conditions at line item are as follows:
    Condition Type----Amount----Condition Value
    ZBR5--4.000%----0.66
    ZBS1--8.000%----1.31
    Now the above case, my requirement is Condition Type ZBS1 should be displayed or calculated only when first condition type i.e. ZBR5 has amount more than 8.000%.
    In case it is less than 8.000%, the Condition Type ZBS1 should be ZERO or (would be better if not displayed).
    What i have tried till now is, created a new Routine in VOFM but after creating a new routine, i am unable to check the Amount fo Condition Type ZBR5 at runtime, as the Internal Table : XKOMV holds the details of Header data only, whereas my requirement is of Conditions at Line Item.
    Inputs on this will be helpful.
    Regards
    Masoom
    Edited by: Masoom_Infosys on Oct 3, 2011 2:24 PM

    Hi Naimesh
    Apology, i missed this point. I have alredy tried what you have suggested. I made a Condition Value and change value of XKWERT. The output of this change was:
    Condition Type----Amount----Condition Value
    ZBR5--4.000%----0.66
    ZBS1--8.000%----0.00
    If you observe above, the Condition Value is ZERO but the Amount remains as it is , that is 8.000%. In the code, i have tried to change the value of XKOMV-KBETR to 0.00, but still the output remains as:
    Condition Type----Amount----Condition Value
    ZBR5--4.000%----0.66
    ZBS1--8.000%----0.00
    Could you suggest some other way so that the output becomes:
    Condition Type----Amount----Condition Value
    ZBR5--4.000%----0.66
    ZBS1--0.000%----0.00
    Regards
    Masoom

  • Add a routine in tcode vofm

    HI all
    Ive copied a routine under Billing Documents in tcode VOFM
    but the code are in grey and I cant insert any of my code
    can anybody help me plz?

    Hi Sia,
    You need access key for changing this code, If you already have that , I think it might be due modification operation mode.
    In that case from the menu choose this option.
    Edit - Modification operations - Switch off assitant.
    then you can get into change mode.
    Regards,
    Sudheer

  • VK11 condition check against MEK1 conditions: VOFM routins or UserExit/BADI

    We have Z condition types for prices(SD side)..and some Z condition types for Costs (MM side). My requirement is to check costs assosciated with the Material based on MM condition types when creating SD prices (condition records) and do vice versa and throw information/warning/error messages...
    In otherwords...when creating condition records from VK11 check against costs that are created in MEK1 and Vice Versa.
    I am trying to accomplish this in VOFM routines partially if not fully.
    Can this be achieved through VOFM routines.
    If VOFM is not the right place..what is the correct UE/BADI for this.
    Thanks.

    You already received an answer on this yesterday in a different post - why the new post?
    That aside, you don't understand the purpose of a requirement against an access in an access sequence.  The requirement prevents the access from being triggered (or allows it) at the time that the line item condition is analyzed for pricing (during the creation of an order/contract/etc.).  If the access is prevented, then the existing condition records for the access are never analyzed for a match.  It has nothing to do with condition record entry in VK11.  If you need to change the behavior of VK11, then use Runtime Analysis to check for BADI's or enhancement points in the transaction by analyzing the call stack.

  • What is the Procedure to Create "Condition Value" Routine Using VOFM

    Dear Guru,
    I want to know Step-By-Step Procedure to Create "Condition Value" Routine Using VOFM.
    Give me guideline how it will link to program RV64ANNN.
    and if it doesnot link to RV64ANNN
    what might be the possible reason and how to make it link with RV64ANNN.

    Dear Guru.
    I have encountered a technical issue related to Creation of User Routine for pricing procedure
    (Routine :: RV64A978).
    Before coming to issue I want to give you slight glance on my requirement.
    I have got two requirements to write two routines for a new condition type -->> packing type .
    >>Routine Number  One First  I Have wrote  Requirement Routine         RV61A943
    Routine Number two  Other I Have wrote  calculate condition value  RV64A978
    So as usual normal procedure of writing a routine I followed VOFM for writing routine for pricing procedure and routine for calculation (condition value).
    I performed above respective process for both routines in VOFM.
    And I have activated both routine from going VOFMMenu bar edit  Activate.
    After activation automatic include is generated in both case .
    INCLUDE RV61A943 .  "FAMD PAckage Wt        
    Is generated in RV61ANNN
    INCLUDE RV64A978 .  "FAMD Package-Rate     
    Is generated in RV64ANNN
    In case of Routine  RV61A943
    I can able to find the main include routine RV61ANNN from where used function in SE38 and able to trace it.        
    And I am able to find it in the lists of Includes of RV61ANNN.
    But In case of Routine  RV64A978
    I can not able to find the main include routine RV64ANNN from where used function and able to trace it. Pls refer below picture.
    But in RV64ANNN it is showing that routine RV64A978 is there 
    So Guru I want to know following things >
    1.     What might be the main reason in case of RV64A978 ??
    2.     How I should approach to solve this issue??
    Because what I understood unless routine RV64A978 is traceable  from u201Cwhere usedu201D to find out its main routine RV64ANNN , the routine RV64A978 wont work in pricing procedure (I believe).

  • Pricing routine 901 in the pricing procedure

    Can you tell me in detail (step by step) How to write pricing routine 901 in the pricing procedure?
    I know ABAP coding. I am new to SD (pricing).
    The only thing I know is the VOFM 901 Pricing Routine development is in ABAP program RV64A901.
    Purpose : Pricing Routine for calculating the price difference due to increase or decrease in the copal contract price from the copal actual price
    Description :
    Routine 901 : Copal Difference Calculation
    The formula to be used is : Copal Adjustment = ( Copal Contract Price + Copal Actual Price ) x Amount of Copal / 1000
    Where
    Copal Contract price is the condition type Y001 from the pricing procedure Z00003.
    Copal Actual price is the condition type Y002 from the pricing procedure Z00003.
    Amount of Copal is the condition type Y005 from the pricing procedure Z00003.
    Copal Adjustment is the condition type Y003 from the pricing procedure Z00003.

    Hi,
    Go to the transaction VOFM.
    In the menu..Choose...Formulas -> Condition value
    At the of the table ..Enter 901 and give the description..
    Then select that row and press source text button or F5.
    It will ask for the access key...
    Get the access key for the corresponding object
    R3TR PROG RV64A901
    Then in the code..
    READ TABLE XKOMV INTO LWA_Y001 WITH KEY KSCHL = 'Y001'
                                                      KPOSN = KOMP-POSNR.
    READ TABLE XKOMV INTO LWA_Y002 WITH KEY KSCHL = 'Y002'
                                                      KPOSN = KOMP-POSNR.
    READ TABLE XKOMV INTO LWA_Y005 WITH KEY KSCHL = 'Y005'
                                                      KPOSN = KOMP-POSNR.
    Sum up the values in LWA_Y001, LWA_Y002 & LWA_Y005
    And then move it to XKWERT
    Thanks,
    Naren

  • Add a new field in va02,va03 and vf02 & data tran. in these fields VOFM

    Hi All,
    I have a requirement, I need to add a new field in the sales order header part and even a field in the billing document, once I add this field up in both the documents in the header part i need to create a copy routine using the VOFM transaction,
    Can any body help me on what's the procedure to add a field in billing document as i dont find any screen exit for doing it and does the copy routine transfer the data ( Custom Field ) from Sales Order to the Billing Document, if yes can somebody help me with the procedure on how to and code of it.
    Regards.

    Hi,
      The procedure to create the new VOFM.
    1. Go to VOFM transaction
    2. Page down until you find a new spot on the page to put in the VOFM number and description.
    3. Put in the VOFM number and the description of the VOFM.
    4. Now the VERY IMPORTANT part of the process. Double click on the VOFM description not the VOFM number to create this as a Development/Correction and not as a repair. If you double click on the number then this copies some existing code and prompts you for a repair.
    5. Activate and generate the VOFM routine. Note: Configuration must be setup by the OM team for this step.
    for example Go to the routine number that needs to be copied.
    Put your cursor on the routine number field that needs to be copied.
    Overwrite that number with your new routine number and hit enter.
    The new routine will be created as a copy of the old routine and you can modify the new routine as you need it.
    Ex.
    You have to copy routine 104 to 904
    Routine number Description Active
    104 Bill.bus.item data X
    Put your cursor on 104 and then change it to 904 and hit enter.
    904 will be created as a copy of 104 and you can make your changes in 904.
    Don't forget to activate it after you are done.
    refer the below link
    https://forums.sdn.sap.com/click.jspa?searchID=3604222&messageID=994791
    Regards

  • VOFM - Requirements

    Hi Folks,
    I am working on requirements.
    I am a bit new to this process.I wud like to have some detailed info on the same.Please clarify the below mentioned.
    1.I've seen Requirements in VOFM only for some areas..like output control,pricing,material determination etc. <b>what is the working mechanism</b> of this? How is it different from USER EXITS?
    2.The same piece of code appears twice in the same requirement under to differnet form definitions,namely form KOMBD and KOMBV ? <b>why this is required twice</b>?
    3.why do we need to run <b>RV80HGEN</b> after creating a requirement?
    4.From where the number series starts for newly defined routines apart from standard requirements?
    5.If we want to modify the standard exist <b>what are the precaution to take?</b> what i heard is ..once we give the access key for it...there is some icons apper on tool bar like INSERT DELETE etc..
    Your help is appreciated.
    Thanks
    Raja

    Hello Raja,
    As indicated only for the following as indicated number range is allowed for rest it is 600-999.
    Name                                          Number  
    Subsequent functions                         900 - 999
    Group key routines                            50 -  99
    Data transfer routines f. texts               50 -  99
    <b></b>all other group indicators                   600 - 999
    <b></b>
    I am attaching another note which deals with VOFM problem. Keep this with u as it will prove useful.
    <b></b> SAP Note 327220<b></b>
    This note is an explanation of function "Maintain: Requirements and Formulas", which is also known as "VOFM".
    By using descriptions and examples, this note explains how the VOFM function works in the R/3 Standard System, which objects are related to it and which restrictions exist.
    Chapter 2.7 explains possible causes of errors and solutions for problems with the VOFM function.
    To provide a good overview, this note is subdivided into the following subareas:
       1.    General information
       1.1   Definition of terms
       1.2   Application areas
       1.3   A frank word on the "source code responsibility"
       2.    Technology
       2.1   Introduction
       2.2   Namespaces
       2.2.1 SSCR object registration
       2.3   Structure of a VOFM object
       2.3.1 Include file with ABAP form routine
       2.3.2 Table entries in TFRM and TFRMT
       2.4   Calling VOFM objects
       2.4.1 VOFM object carrier
       2.5   Activation, generation and RV80HGEN
       2.6   Transport
       2.7   FAQs: Possible causes of errors and problems
    Technical field names are displayed in angle brackets [].
    Note that this note only explains the mode of operation of the VOFM in an R/3 Standard Core System. For R/3 industry solutions or Add-Ons the VOFM function displays a different behavior in subareas, however, this is not dealt with in this note.
    Additional key words
    VOFM, SAPMV80H, TFRM, TFRMT, RV80HGEN, XPRA, formulas, requirements, data transport routine, copy routine, data transfer.
    Cause and prerequisites
    1. General information
    1.1 Definition of terms
    Depending on the business processes used it may be necessary to influence the standard behavior of R/3 applications. For that purpose the VOFM function provides a corresponding environment in order to be able to develop and manage customer-specific logic simply.
    The system stores the objects generated via the VOFM in the Customizing of the respective application area (Pricing, message determination and so on) and its programs call the objects correspondingly.
    Also SAP delivers certain functions in the form of VOFM objects.
    Consequently, the VOFM is an exit technology as explained in more detail in Note 381348.
    1.2 Application areas
    Typical VOFM objects are requirements, formulas and data transfer routines.
    These are used in processes of the purchase order, the delivery, billing, price determination, material determination, message determination, the free goods, the pricing and of others.
    In the entries of the R/3 core menu of Transaction VOFM you can find a precise overview of the supported application areas.
    1.3 A frank word on the "source code responsibility"
    As in user exits, in VOFM objects are many fields and tables available. Thus, the use of VOFM objects is very versatile and consequently also very critical under certain circumstances. For the use of "customer-specific" VOFM objects the statements in Note 381348 regarding the responsibility for customer enhancements (Maintenance responsibility, problems during the upgrade and so on) apply. Read this note carefully before you decide on the use of customer-specific VOFM objects. Errors and data inconsistencies that are caused by improper application or implementation of VOFM objects are not processed by the SAP Support but exclusively within the framework of the Consulting that has to be purchased separately.
    2. Technology
    2.1 Introduction
    A VOFM object is uniquely defined via characteristics "group indicator" [GRPZE] and "group number" [GRPNO].
    Here the group indicator, technically represented by a character field of length 4, is the logical connection to the calling environment.
    Examples:
       ABED   copying requirement in the order
       ADAT   data transfer in the order
       PBED   requirements pricing
       CASC   Data transfer for sales activities
       PBEK   requirements account determination
       CHRG   requirements batches
       REAK   archiving for orders
       VFCL   Multi-dimensional scales
    You can find all defined group indicators in the allowed values of the "GRPZE" domain in the ABAP Dictionary (Transaction SE11).
    The group number can have a value from 1 to 999.
    Exceptions are group indicators "PSTK" (= group key routine pricing) and "TDAT" (= data transfer for texts). For these the system can only assign group numbers from 1 to 99.
    2.2 Namespaces
    The VOFM has separate number ranges in order to distinguish VOFM objects delivered by SAP from customer-specific VOFM objects. These number ranges are often also called "VOFM namespaces".
    However, note that this is not a "real namespace" that is protected by corresponding entries in system table "TRESC" (= reserved names for Customizing tables and Customizing objects). Instead, only the VOFM logic itself does the definition and check of the number ranges.
    The following list displays the customer number ranges sorted according to group indicators:
      Indicator    Name                              Number range customer
      FOFU         Subsequent functions             900 - 999
      PSTK         Group key routines               50 -  99
      TDAT         Data transfer routines f. texts  50 -  99
      all other group indicators                     600 - 999
    In Note 356737 you can find more information on the available VOFM number ranges.
    2.2.1 SSCR object registration
    VOFM objects are subject to SSCR registration (= SAP Software Change Registration).
    The reason for that is the necessity that every VOFM object is physically assigned to that SAP development class, from whose programs a corresponding jump into the VOFM object later occurs.
    If you use the VOFM interface the system makes the assignment automatically. An assignment of customer-specific development classes is not possible.
    2.3 Structure of a VOFM object
    A VOFM object consists of the following parts:
      Include file with ABAP form routine
      TFRM table entry
      TFRMT table entry
    2.3.1 Include file with ABAP form routine
    In the ABAP form routine the desired function is programmed.
    Example pricing value formula number 001:
      Include name  :  FV64A001
      Form routine  :  FRM_KONDI_WERT_001
      Implementation:  * * Profit margin considering rebate agreements
                         form frm_kondi_wert_001.
                            xkwert = komp-kzwi3 - komp-wavwr.
                          endform.
    Dependending on the selected group indicator, the group number and the system type (SAP or customer system), the system assigns and generates the include name and form routine name automatically.
    For this reason, standard routines delivered by SAP generally have a different structure of the include name than customer-specific routines.
    Example:
      SAP standard value formula for the pricing
         => prefix FV64A + object number with 3 places from 'SAP namespace'
         => for example FV64A001
      Customer-specific value formula for the pricing
         => prefix RV64A + object number with 3 places from 'customer namespace'
         => for example RV64A905
    2.3.2 Table entries in TFRM and TFRMT
    The entries in tables TFRM and TFRMT belonging to a VOFM object are used for the status management and assignment. The system always analyzes them if the user calls Transaction VOFM or if a generation operation occurs (for details refer to section 2.5).
    The system generates exactly one TFRM table entry per VOFM OBjekt. In this TFRM entry the following information is stored:
       - Group indicator             [GRPZE]
       - Group number                [GRPNO]
       - Routine 'active' indicator  [AKTIV_TFRM]
       - Application                 [KAPPL]
       - Date of the last generation [GNDAT]
       - Time of the last generation [GNZEI]
    Examples:   GRPZE    GRPNE AKTIV_TFRM  KAPPL  GNDAT       GNZEI
                PBED     001   X           V      06/13/2001 09:06:39
                TDAT     001   X                  06/13/2001 09:06:39
                CHRG     003   X                  06/13/2001 09:06:39
    The meaning of group indicators and group numbers has already been dealt with.
    The 'active indicator' controls whether a VOFM object is 'active' or 'inactive'. Active VOFM objects have characteristic value AKTIV_TFRM = 'X', inactive objects have characteristic value AKTIV_TFRM = initial.
    VOFM objects flagged as 'active' are 'known' to the calling program logic, that means they were included in the main program of the 'calling program' and can thus be addressed and processed during the runtime.
    You cannot delete VOFM objects that are still 'active'. In this case you have to reset the active indicator manually before.
    The content of the 'Application' field serves to filter the relevant VOFM objects in various display functions and Customizing functions.
    Example: Condition value formula 010 'Relevant Price'. This formula has characteristic value 'MS' for the 'Application' field (= External Services Management purchasing). Therefore the object is not open for selection in the input help during the maintenance of pricing procedure SD (Transaction V/08), because this is a Customizing transaction assigned to application 'V' (= Sales and Distribution). Storing an application key is optional.
    The generation date and the generation time record the time of the last registration of the VOFM object (the object carrier, refer to section 2.4.1).
    In addition to the respective TFRM entry a VOFM object can have 'n' entries in table TFRMT. The entries are used for the storage of language-dependent object descriptions, which are structured as follows:
       - Language key           [SPRAS]
       - Group indicator        [GRPZE]
       - Group number           [GRPNO]
       - Description            [BEZEI]
    Examples:     SPRAS   GRPZE   GRPNO   BEZEI
                  D       PBED    001    Regulierer abweich.
                   E       PBED    001    Different payer
    The system supplies the language key automatically with the logon language of the user during the creation of a new VOFM object.
    The length of the object description is limited to 20 characters.
    Important! A VOFM object is only consistent if both the Include file with ABAP form routine and a corresponding TFRM table entry exist. Entries in table TFRMT are optional.
    2.4 Calling VOFM objects
    As mentioned above, VOFM objects are called directly by the application logic of R/3 standard programs. Technically this is implemented by ABAP statement 'PERFORM ... IN PROGRAM'. With the aid of this statement you can specify both the name of the subroutine and the main program dynamically (during the runtime).
    Example: Call of a condition value formula from the pricing
    if xkomv-kofrm ne 0.                <<< formula reference existing?
       xkwert = xkomv-kwert.             <<< act. value in work variable
       frm_kondi_wert-nr = xkomv-kofrm.  <<< set up object names
       perform (frm_kondi_wert) in program saplv61a if found.  <<<call
       xkomv-kwert = xkwert.             <<<result value assignment
    endif.
    In the example above the subroutine is determined by the contents of variable 'FRM_KONDI_WERT'; the main program, which is to be searched for the form routine, is SAPLV61A.
    If the called routine is not known in the main program, a program termination with the title 'PERFORM_NOT_FOUND' occurs. Therefore some users of the VOFM technology call ABAP statement 'PERFORM ... IN PROGRAM' together with the addition 'IF FOUND', which has the effect that a jump into the form routine is only executed if this in fact exists in the main program. This does indeed prevent a program termination, however, the result of the overall process may deviate from the result expected by the user, because in this case the system does not execute the source code implemented in the VOFM object.
    2.4.1 VOFM 'object carrier'
    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 LV45TDEF.
         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)
      FV63ANNN      
    <<< main
    carrier-include
      |-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
      |- INCLUDE FV63A005.  "KZWI1
      |- ...
    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'.
    2.6 Transport
    If you want to transfer VOFM objects from one system (= source) into another system (= target), this is generally made with an object transport. As of Release 4.0, the VOFM function has a connection to the SAP 'Change and Transport System' (CTS) in order to simplify the transfer process for the user. By the transport connection the system automatically adds newly created or changed VOFM objects to the object list of a transport request which was selected by the user before.
    All steps necessary for the execution of a VOFM transport are described in detail in Note 22808 'Transferring formulas'. Note that steps 1-4 are only needed if the VOFM maintenance environment providesno automatic connection to the transport system or if you want to combine a transport request manually. In any case you must execute step 5, regardless of how the transport request was created.
    In addition to Note 22808, Note 385067 contains an overview for releases >= 4.6C regarding which sorts of tasks and object entries are required in a transport request (depending on the activity carried out (create/change/activate/deactivate/delete)) in order to transport a VOFM object successfully.
    2.7 FAQs: Possible causes of errors and problems
    This chapter deals with the most frequent errors and problems that occur when using the VOFM function and its objects. If problems arise for which this note provides no explanation or solution, create an OSS message on component CA-GTF-BS-VOFM and send it to the SAP Support.
    (01) Question/problem:
                During the order processing, in the shipping, LIS, billing and so on a program termination with error message: PERFORM_NOT_FOUND occurs when you call a VOFM object. This symptom can occur for all users of VOFM objects.
    (01) Answer:
                The used VOFMobject is not known in the main program of the calling program and thus cannot be addressed. Details on the call method of VOFMobjects are described in section 2.4 of this note. Note 28683 describes how to correct this error.
    (02) Question/problem:
                Even though report RV80HGEN was executed, the VOFMobject is not registered in the object carrier. Why?
    (02) Answer:
                During the setup of the object carriers via RV80HGEN the system includes only VOFMobjects which have set the 'active indicator' (refer to section 2.3.2). If the active indicator for the corresponding object is not set, the RV80HGEN does not process the VOFMobject. Solution: Set the active indicator for the respective object and start the RV80HGEN again.
    (03) Question/problem:
                The syntax check in the ABAP form routine of an VOFM object displays syntax errors.
    (03) Answer:
                Note the explanations on the work method of the syntax check in Note 393012. In addition, the restrictions of the SAP maintenance responsibility to customer-specific VOFM objects (described in section 1.3) apply.
    (04) Question/problem:
               When you create/change VOFM objects the system requires an SSCRregistration key, even though the VOFM is within the 'customer namespace'.
    (04) Answer:
               Refer to the explanations given in section 2.2. 1 'Registration'.
    (05) Question/problem:
               In which namespace can I create customer-specific VOFM objects? Or: Which routine numbers are reserved for customers?
    (05) Answer:
                Refer to Note 356737, in addition refer to the explanations in section 2.2 'Namespaces'.
    (06) Question/problem:
                Is it possible to assign VOFM objects to own development classes?
    (06) Answer:
               No. Refer also to section 2.2.1
    (07) Question/problem:
                When you create a VOFM object the system displays information message TR 015 'Object can only be created in SAP development class'.
    (07) Answer:
               This is no error. Refer to section 2.2.1. and the answer to question number 5.
    (08) Question/problem:
                How can I transport VOFM objects via the Change and Transport System ?
    (08) Answer:
                The steps necessary for a successful transport are described in detail in Note 22808.
    (09) Question/problem:
                The used transport request does not contain an entry for the VOFM object carrier in the object list (for example RV61ANNN, FV45ANNN ...)
    (09) Answer:
               The object carriers must not be transported. Instead, a setup of a current object carrier suitable for this system is required in the target system. For details refer to Note 22808, step 5 as well as section 2.4.1 and 2.5 of this note.
    (10) Question/problem:
                How are VOFM objects deleted? And can deletions of VOFM objects also be transported?
    (10) Answer:
                You should delete VOFM objects only via the editing interface of the VOFM function. Only this way it is ensured that all subobjects (ABAP form routine, TFRM and TFRMT table entries) are completely removed.
                You can also transport the deletion youmade into an additional system. For that purpose, the setup of an object list in a transport request analog to the creation (refer to Note 22808) is required.
                During the deletion of objects the system deletes the object in the source system. At the time of the export the export program (R3trans) notes that the object does not exist any more. In this case the system enters a "D" into the 'Object function' field in the corresponding entry in the object list of the transport request.
                The deletion of table entries is made analog to the deletion of objects. First delete the keys in the source system. Then specify the deleted keys in the request. At the time of the export the transport program notes that the specified keys do not exist any more and deletes them in the target system. If you combine the object list of the transport request manually, you must set the object function of the individual entries correspondingly. To do that, proceed as described in the F1 help of the 'Object function' field.
    (11) Question/problem:
                During the creation of VOFMobjects the system requires a transport request which contains a task of the 'Repair' category. The system displays message TK 181 'Repair &1 may only contain repaired objects'.
    (11) Answer
               This problem is caused by a program error. Implement the corrections of Note 326560 or Note 385067 depending on your release.
    (12) Question/problem:
                During the creation the system displays message TK 112 'Edit objects separately since they belong to different original systems'.
    (12) Answer:
               This problem is caused by a program error. Implement the corrections of Note 326560 or Note 385067 depending on your release.
    (13) Question/problem:
                When you create or activate VOFM objects the system displays message: 'Report/PROGRAM statement is missing or program type is INCLUDE?'.
    (13) Answer:
               This problem is caused by a program error. Implement the corrections of Note 326560 or Note 385067 depending on your release.
    (14) Question/problem:
                Why does the system generate VOFM objects with source system 'SAP'?
    (14) Answer:
               Design. The entire VOFM logic depends extremely on basis functions like transport, object directory entries, generation and so on. Because VOFM objects are inserted in SAP standard development classes, these receive ID 'SAP' for source system during the generation process. This cannot be avoided and does not affect the VOFM function.
    (15) Question/problem
                The system does not insert report RV80HGEN automatically as XPRA into the object list of a transport request.
    (15) Answer
                Whether the system inserts report RV80HGEN automatically into the object list of the transport request depends on the release you use. For Releases 4.0A to 4.6B the system generates a corresponding entry, provided that all corrections for the VOFM function exist in the system. As of Release 4.6C the basis function of the 'Change & Transport System' (CTS) does not support the automatic insertion of objects of the 'XPRA' category into an object list any more.  If you want an automatic registration of the transported routines in the target system, proceed as described in Note 22808, step 5.
    (16) Question/problem:
                During the activation of VOFM objectsa termination occurs or the system requires a registration key for additional VOFM objects, even if they were not changed.
    (16) Answer:
                There are inconsistent VOFM objects in the system (refer also to section 2.3.), that means table TFRMcontains entries for which no include with corresponding ABAP form routine exist.
                If the termination occurs for VOFM objectsfrom the SAP namespace, this is normally due to a delivery error as described, for example, in Notes 395600 and 0403705. Check whether already a corresponding note exists for the affected VOFMobject. If not, contact the SAP Support.
                If the problem occurs for customer-specific routines, the inconsistency is mostly due to a handling or transport error. For example the deletion of VOFMincludes via Transaction SE38has the effect that the system does delete the form routine and the corresponding include, however the system does not delete the entries in tables TFRM and TFRMT. Inconsistencies can also occur due to incomplete or incorrect object lists in transport requests. You can make a correction by newly creating the same object via the VOFM interface or be deletion analog to the method described in Note 395600.
    (17) Question/problem:
                During the import of Support Packages or during the system upgrade, customer-specific VOFM objects were overwritten or are missing completely.
    (17) Answer:
                First, check whether the missing VOFMobjects are really missing and if yes, whether all or only certain subobjects do not exist anymore (refer to section 2.3). if the VOFMobject is completely there, generally only a new setup of the object carriers is required. Read section 2.5 'Activation, generation and RV80HGEN' to learn which options exist for this purpose.
                If there is indeed a VOFM object but ifthe source code of the ABAP form routine does not correspond to the customer-specific, this is a delivery error. However, you can reconstruct the customer-specific source code with the version management. Proceed as follows: call the ABAP Editor for the affected objects by using Transaction SE38. Afterwards branch into menu 'UTILITIES' -> 'VERSIONS' -> 'VERSION MANAGEMENT'. Deselect the version delivered by SAP and select your original, customer-specific version instead. Choose 'RETRIEVE' to restore this version.
               Delivery errors of this type are documented by notes. If there is no corresponding note for the overwritten object in the OSS, contact the SAP Support.
    (18) Question/problem:
                In the display of the Object Navigator (Transaction SE80) the system does not display newly created VOFM objects. On the other hand, it can also occur that deleted VOFM objects are still contained in the Object Navigator.
    (18) Answer:
                The Object Navigator displays an obsolete status (refer also to Note 15447). Choose button 'Refresh object list' above the tree structure in order to correct this inconsistency.
    (19) Question/problem:
                Is it possible to delete VOFM objects delivered by SAP in the standard?
    (19) Answer:
               Yes. However, because of separate number ranges for VOFM objects SAP does not recommend a deletion of SAP standard objects.
    (20) Question/problem:
                Which maintenance responsibility has SAP for customer-specific VOFM objects?
    (20) Answer:
               None. Refer to the explanations in section '1. 3 A frank word on the "source code responsibility"'. According to Note 381348 this includes also VOFMobjects whose creation wasbased on notes of the 'Consulting' or 'Workaround for missing function' category.
    (21) Question/problem:
                Where can I get help, if my customer-specific VOFM object does not work as expected?
    (21) Answer:
                If you need support during the implementation of customer-specific VOFM objects you can contact the SAP Remote Consulting. Please understand that SAP cannot check VOFM objectswithin the framework of the normal support.

  • Get Delivery date(EKET-EINDT) in MM Pricing routine(group condition)

    Hi All,
    I have created an MM pricing routine RV65A092 in VOFM. So when creating PO(ME21n), this routine will trigger..
    Now the problem is I need EKET-EINDT for grouping condition. It was mentioned to call program SAPLMEPO and get EKET data.
    Please help me how to get delivery date in that routine  which is filled in Item level during PO creation
    Thanks
    Ram

    Hi Ram,
    For SD you have the SAP Note 531835 - Using field PSTYV in the condition access. For MM is simmilar, although you must use the enahncements. Instead use the userexits that note says, use the enhancement LMEKO001 (EXIT_SAPLMEKO_001) to populate fields ZZ in KOMK and LMEKO002 to populate KOMP.
    I hope this helps you
    Regards
    Eduardo

  • Configure Routine of VL02N with output type

    Hi,
    I need to create a routine for VL02N for goods issue and configure it with an output type....can anybody please provide the config steps .
    How to link the routine with the output type.....
    I have created routine in tcode VOFM under output control with application area V2 (shipping).. Next what are the steps i need to follow
    Edited by: subhajit bhadra on May 12, 2010 7:53 AM

    Hi,
    Go to NACE -> Select application V2(for delivery) -> Click on Procedures -> Select the procedure -> click on controls -> Add the output type -> Assign the routine .  I think routine '1' will serve your requirement.
    Regards
    Vinod

  • Assign the routine against ZY06 output type in output procedure

    Hi
    I am creating one routine for Tcode VOFM and requirements Output control and I have to assign this reoutin against ZY06 output type in output procedure.Now How can I assign this to output type in output procedure?
    Can anyone tell me all procedure.
    thanks

    hi patel,
    chck with this link
    VOFM Transaction
    Reward with points if it is helpful.
    Regards
    Alfred

  • Cannot generate and find the include Routine in saplv61A

    Hi all,
       I  am not sure if i have created the routine correctly using VOFM/ Formula/ Condition Value.  I have a new routine 992 which i got it created and put my own coding.  Then i activated it.  Then open the routine, I goto Program /  Generate.  At first, no message came out.  Somehowafter a few times, i got the message "Program SAPLV61A successfully generaeted".
    However, when I do a seach to see where this routine is found, i got mesage " Include RV64A992 was not found in Program".
    WHen i go to RV64ANNN,  i saw the 'Include RV64A993' which is in saplv61A.
    So what did I do wrong ?  Why i could not search the program ? 
    thanks
    Joyce

    Hi Frisoni,
      I create RV64A993 thru VOFM.  When i double click on the 993, it brought me to the abap editor screen.
    I cannot find a place to copy from a standard routine.
      I try to do my search of the RV64A993 include screen from VOFM and got 'Include RV64A993 not found in selected search area.
       If i try to search the RV64AA993 in SAPLV61A, it found the include.
    thanks
    Joyce

  • What is the Difference 'VOFM' and 'User-Exit' ?

    What is the Difference 'VOFM' and 'User-Exit' ?

    If you need to implement any of these User exits, you first create a project for the user exit, then assign the user exit(s) to your project. Then you write the coding for the user exit, and finally activate the project.
    For general information about user exits, in the R/3 Library, go to Basis components and look at the Enhancements section. In addition there is detailed information about each user exit that you can access when you assign it to your project (see below).
    Activities
    Start by creating your project.
    1. Enter a name for your project.
    2. Select Modification -> Create.
    3. Enter a short text for your project and select save.
    Next assign the user exit to your project.
    4. Select Components.
    5. Enter the name(s) of the user exits you want to implement.
    6. Select SAP documentation, if you want detailed information on this user exit.
    7. Select save.
    8. Select back.
    Next make your coding modifications.
    9. Select enhancement components.
    10. Select change.
    11. Select the user exit you want to write code for.
    12. Select the include zxpbco01.
    The system will then prompt you to create this include, and you can continue to write your coding in it.
    Next activate your project.
    13. Return to the initial screen and select activate project.
    Routines
    Routines are short sub-programs that carry out various checks during document processing. In the SD module, you can create and process routines for copying requirements, data transfer, requirements and formulas using transaction VOFM. Besides the routines delivered to you with the system, you can create your own individual routines.
    Transaction VOFM allows you to follow a standardized procedure for creating routines. The name ranges are predefined for routines delivered to you with the system and for routines created by the customer. This name convention guarantees that your own routines are not overwritten during a Release upgrade.
    Copying requirements and data transfer
    The routines for coying requirements and data transfer are defined for the document types sales orders, deliveries, billing documents, sales activities, as well as for texts. You specify copying requirements and the data transfers when defining the document flow for each document type. You enter the routines for texts in the access sequences for texts.
    o Copying requirements determine which data is copied during the copying of documents. A copying requirement could define, for example, that the same customer must appear in the document header when you copy an inquiry to a quotation.
    o Routines for data transfer make a detailed control of the copying of fields possible. A data transfer could define, for example, that particular item fields can only be copied in combination with other particular fields and can only be copied into contracts or credit and debit memos.
    Requirements and formulas
    Routines for requirements and formulas are used for functions using the condition technique. You enter these routines in the pricing procedure or the condition types. Requirements are also used for statistics.
    o A requirement in pricing can determine that an access is dependent on a particular precondition. It can carry out a check of the document currency, for example, and, depending on whether it is a foreign or the local currency, allow or deny the access.
    o Formulas are used in pricing to define various factors for pricing. Formulas are defined for scale base value, condition base value, condition amount, group key, and rounding rules. The formula for a rounding rule could define, for example, that all calculated amounts are rounded to two places behind the decimal point during a price change of the condition record. The formula for a condition base value could define, that the header discount is distributed among the order items according to volume an not value of the item, as is the case in the standard SAP R/3 System.
    Creating routines
    There are two methods to create a routine
    1. Creating by overwriting
    When using this method, a note appears as a commentary in the routine to be newly created.
    2. Creating
    When creating a new routine, an ABAP with internal number assignment is created.
    You always have to activate a new routine before using it. Each routine for requirements and formulas, copying requirements and data transfers is stored in a separate program. For each new routine an entry is added in table TFRM and TFRMT. For each routine, a long text can be stored as a text module.
    Most routines must be changed in client 000. Transaction VOFM can be transported as XPRAs, which means that after the import all routines can be activated.
    Name ranges for routines
    The standard routines are to be within the number range 001-599 (for 2 digit formula numbers, 01-49)
    The user routines are to be within the number range 600-999 (for 2 digit formula numbers, 50-99).

  • Copy routine

    Hi,
    i need to copy routines available in vofm through user exit how can i do that ?
    Regards

    Check this thread.U can find steps to create copy routine.
    creating a new routine using vofm

Maybe you are looking for

  • Ipod only says "ok to disconnect" when plugged into mac

    When I plug my 1st gen. 5g ipod into the Mac it only reads "ok to disconnect". I have tried on several Mascs with the same result. Diagnostics run on it and everything is fine. I can listen to music, just can't get the Mac to see it.

  • Target Disc Mode + Disc Mounting issues

    I hope this is a suitable forum for this topic. Anyway, I recently posted a question concerning the connection of 2 Mac's (one disabled), in order to save the contents of the disabled MBP. I have since obtained a 6 pin to 9 pin cable (to connect my M

  • How change sStart and End Date and time in the Audit log ???

    Install C2S BM39SP1. Work. Go to the: https://bmserver:8009 Open : VPN Monitor | Audit log information. Problem - can not cahnge Date and time in the Audit Log Start(End) How i vcan do this ? How i can get every day stat log: login ; date_time_login

  • Importing deleted project from IDE

    actually i have deleted my prject from the IDE but it remain in the my work sapce. i want to import it again..can anybody pls tell me..i am new to this IDE

  • Using fotos from aperture in indesign

    how can i use pictures from my aperture-library in indesign? when i create a frame in indesign, press cmd-d for placing an object in the frame, i'd like to navigate to the picture i want. but that's not possible any more since the aperture library is