VOFM-requirements, data transfer, formulas

Hi experts,
I am now learning how to create pricing procedure. The part that remains still unclear to me is the requirement part. I tried to find some documentation of it but failed. I want to a systematical understanding about how pricing procedure works with the requirement, which conventions the requirement (VOFM: also data transfer,formulas) has, and how can I create my own requirement, data transfer and formulas.
Does anyone know any good documentation on subject?
Thank you in advance.
Best regards,
Fan

Hi  Prasad ,
thank you very much for your reply.
This is indeed what I need. However, this is only the VOFM part 1. Do you have the link to part 2, 3, 4? I think there will be four parts of this documentation. Each specifies one subject regarding VOFM:  copying requirements, data transfer,
requirements, and formulas.
Best regards,
Fan
Edited by: Fan Mou on Oct 23, 2009 5:19 PM

Similar Messages

  • VOFM - Shipment Data Transfer Routine

    Hi Guru,
    I have a requirement to create a routine in VOFM - Data Transfer - Shipment to copy the INCO1 to VTTS-INCO1 (item level). I have the checked the standard routine and it is all changing the header. Can anyone tell me the coding to use? Many many thanks.
    Regards,
    Janet

    Hi.
    The standard routine is as follows:
    FORM DATEN_KOPIEREN_900
                       USING    c_XVTTP   TYPE v56i1_vttp_tab
                                c_XVTTS   TYPE v56i1_vtts_tab
                                c_XVTSP   TYPE v56i1_vtsp_tab
                                c_XTRLK   type v56i1_vtrlk_tab
                                c_XTRLP   type v56i1_vTRLP_tab
                                I_XVTTK   STRUCTURE VTTKVB
                                VALUE(I_TVTK)  LIKE TVTK
                                g_imp_data type v56I1_IMP_DATA
                       CHANGING C_XVTTK_tmp structure VTTKVB
                                g_exp_data type v56I1_exp_DATA.
    VTTKVB is the header structure. Doesn't seems to have a item structure.
    Regards,
    Janet

  • VOFM Orders Data Transfer (307)

    Hi all,
    During a copy, we would like the line items pricing conditions to copy through, specifically the condition amounts. We've created a copy of routine 307 but in the comments it says that "The pricing data was not copied, it is redetermined."
    How can we get the pricing to copy for each line item?
    Thanks in advance! Helpful answers will be awarded points.

    Hi,
    Are you trying to copy the orders data transfer routine..FV45C307..
    If so..Comment the LOCAL statements..so that the data is copied..
    Thanks,
    Naren
    Message was edited by: Narendran Muthukumaran

  • VOFM on data transfer: shipments causing short dump

    I created two new requirements as copies of routine 008 and 012 into 908 and 912. Both routines are activated and I even ran the RV80HGEN.
    Although code is the same as the original routines, short dump is being produced. (The original code was unmodified to test that the new routine would work the same).
    I also noticed that if I use the 'where-used', the system comes back to say it is not found in selected search area, but otherwise would be.
    The include RV56CNNN has the two includes listed in it and is also active.
    What is missing?

    Hello,
    I removed this from being a thread and closed it, but it apparently is still showing somewhere.
    I was able to figure it out. The internal table in the SAP logic was i_, but when the custom requirement was created, it is c_ so that is why it wouldn't work. It did activate regardless but still had other issues. Once I updated the internal table reference, it was fine.
    Thanks to all who responded. Unfortuntaley points may not be awarded since it was removed early on from being a thread.

  • Data transfer from External Bluetooth device to iPhone

    Dear Team,
    We have a requirement, Data Transfer from a SIB (CAN to Bluetooth) to iPhone.
    As we know in iPhone Bluetooth is support for Audio devices.
    Is there any way to achieve the data transfer from an external Bluetooth device to iPhone/iPad?
    With Thanks and Regards
    Chandan Prakash
    Renault Nissan
    Chennai, India

    Ok. There are some apps where we can send and receive data like photos, contacts, etc. We can chat also. So is there any way to receive data?

  • What is the difference between copy requirement and data transfer routines

    Hi Experts,
    I am writing a copy control routine for maintainence quote
    from sales quote.Where do i have to write it in VOFM?
    Is it in copying requirements or data transfer.
    Actually according to the business all the line items from the sales quote are copied
    into the maintainence quote and additional line items are added into maintainence quote
    and the line items copied from the source document are linked to the two newly added
    line items.
    Please advise.
    And is it possible to add the 2 new line items to the new document into VBAP at the runtime?
    Regards,
    Chitrasen

    First of all you have to have a link between the sales documents. You can check it in Tcode: VTAA. if not, talk to your functional people. Try to make this equal to quote to order but instead make it quote to quote.
    You need to put break point in copy requirement as well as in data transfers and check for your requirement.
    Well, the code you want to put in will be the requirement
    I am not sure if you can add 2 line items runtime into quote. this has to go through different checks and i dont think it is possible.
    Good luck

  • How to create data transfer and copying requirements

    Hi Gurus,
    Can you tell me how to create data transfer and copying requirements in copying control for SD?
    Thanks,
    pAUL

    Hi John,
    Go to Transaction code - VOFM.
    In the menu select Data Transfer and select where you want maintain the copying requirements i.e. at the order level, delivery level etc.
    Here, you can either create a new routine or change the existing routine according to your requirement.
    Make sure you activate the routine (click on Edit - Activate from menu) once you are done with the routine.
    REWARD POINTS IF HELPFUL
    Regards
    Sai

  • Field symbols not working in data transfer VOFM routine

    Hi,
    I have been trying to set a value using field symbols, however for some reasons its not working. I am using a field symbol in a data transfer routine and the value which I am trying to set is a standard field outside the VOFM routine code.
    I am trying to set a  field gla_subrc which is actually a changing parameter.
    The actual paramter is gn_subrc of type sy-subrc and within the form the name is gla_subrc. I need to set this changing parameter gla_subrc using the data transfer routine.
    Is there a specific rule that field symbols dont work for changing paramters within subroutine or is there a specific syntax.
    The syntax I am using is
    ASSIGN ('(SAPLV50S)gla_subrc')  to <fs>. 
    I also used the local program name instead of main program but still that does not work. Tried using the actual parameter as well.
    Can someone please help me in this.
    Thanks & Regards,
    Naresh.

    I need to stop outbound delivery creation against STO using vl10b transaction. The only way to stop creation is using data transfer delivery VOFM routine.
    If i give an error message MESSAGE E001, this will give a hard error which is not acceptable. To avoid this, i use a perform message statment with message id and certain parameters which can displayed in a log.
    However to make sure this message is displayed in log, I am clearing a work area having specific data needed for delivery creation.
    Because of this clear, my error message gets captured in log but along with this another fake message is displayed in log which caused by the clear message.
    The user gets confused as he now sees 2 messages, 1 which is correct and other 1 which is fake and that confuses him.
    Data transfer routine is not the best place to give messages in log but we have very few options. The only way the system can give 1 message is if i set gla_subrc to 1. This is a variable which will help the system understand that the delivery should not be created as there is something wrong because the value is 1. Hence it will stop the creation and instead display whatever message i had passed to the log.
    I need to somehow set this variable to 1 based on lot of analysis that has been done in the past.
    Please let me know if there is any way by which we can fix this.
    Thanks & Regards,
    Naresh.

  • GarageBand error after data transfer that states "This song requires a newer version of GarageBand. Please update to the latest version of GarageBand before opening this song". Please Help!

    I recently had a data transfer from my older mac to my newer one. After the transfer I logged into my new account and opened up my GarageBand. It worked perfectly fine, however when I logged into my old account with all my older data that I just transferred over, I could not open my GarageBand files and there is an error that states "GarageBand error after data transfer that states "This song requires a newer version of GarageBand. Please update to the latest version of GarageBand before opening this song".If anyone could please help me with this issue, I'd greatly appreciate it. Thank You!

    When you transferred your data from your old mac, you may have accidentally transferred an older GarageBand version and either overwritten your newer version, or your old account still has the old GarageBand icon in the Dock.
    Search with SpotLight, if you have more than one Garageband version on your new Mac (type "GarageBand" into the SpotLight search field). Does it list more than one GarageBand version? Then delete the older GarageBand.app.
    What GarageBand version have you been using at your old mac, and what is the version on your new mac? If it has been bought recently, it should have come with GarageBand '11.
    Regards
    Léonie

  • Error during data transfer from Lotus Notes to SAP via JCO - Urgent Help Required

    Dear SAP Expert:
    I need your help! Recently getting error during data transfer to SAP. I need your suggestion!
    I am transferring Lotus Notes data to SAP via JCO, recently getting the below error msg, could you pls tell me what could be the reason?
    Please suggest me how to fix that kind of issue.
    "com.sap.mw.jco.JCO$Exception: (104) RFC_ERROR_SYSTEM_FAILURE: Error in ABAP/4 statement when processing an internal table. table.
    at com.sap.mw.jco.rfc.MiddlewareRFC$Client.nativeExecute(Native Method)
    at com.sap.mw.jco.rfc.MiddlewareRFC$Client.execute(MiddlewareRFC.java:1244)
    at com.sap.mw.jco.JCO$Client.execute(JCO.java:3842)
    at com.sap.mw.jco.JCO$Client.execute(JCO.java:3287)
    at SAPAdapter.execute(Unknown Source)
    at JavaAgent.fillBapiAndWriteBackToNotes(Unknown Source)
    at JavaAgent.NotesMain(Unknown Source)
    at lotus.domino.AgentBase.runNotes(Unknown Source)
    at lotus.domino.NotesThread.run(NotesThread.java:249)
    Thanks in advance! Your help would be highly appreciated! Thanks again!

    error is clear, check your abap code.

  • Data transfer VBRK/VBRP - copying requriement (VOFM)

    Hi I need help in defining data transfer for copy control between delivery to billing documents.
    Currently i want to change the parameters for which it is doing invoice split. It is considering few set of feilds like billing date, and foriegn trade data.
    I want to create new data transfer to by pass billing date and forieng trade data.
    Anyone who is experienced in this, please help.
    Regards,
    Neil

    Thanks, Tamas,
    This is a useful suggestion.
    With your suggestion, we can include the splitting criterias. But how to exclude them is where i am stuck at.
    I looked at control routine 007, it includes certain set of fields with help of VBRK-ZUKRI. How do i exclude certain fileds.
    Any suggestions are welcome from your end. Thanks for the help.
    Neil

  • 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.

  • VOFM - to create a formula / routine

    Hi,
    Could someone write a sample formula for pricing to read Gross Price from the sales order and pass it on to a variable.
    Also if this variable can be read from the alt cond base value.
    Or if any link to documentation where I can read some info on VOFM and related paths / steps.
    Thanks very much for the help.

    Hi,
    Take a look at SAP Note 327220 (and subsequent related OSS Notes). It is an explanation of function "Maintain: Requirements and Formulas", which is also known as "VOFM".
    Here are a few links which I think might be of interest to you:
    1. SD  QUATATION CREATE WITH REFERENCE PROBS
    2. VL10 (VL04)  problem
    3. This is the best thing for you to do, I guess:
    when you go to the transaction VOFM, you will just be seeing a blank screen with some menus at the top. Right? Now just select an of the menu items , Let us say Data- Transfer->Deliveries. You would see a screen with a table and an icon for documentation. Just read that documentation.
    Furthermore, this documentation has hyperlinks which will actually take you to the corresponding node in the IMG where the particular activity is performed. And you can get further information from the IMG.
    Reward points if this is helpful.
    Regards,
    Naveen.

  • Data transfer routine in copy control

    Hi Need to spli deliveries based on danger and non-danger goods.
    Could any one suggest me on this.
    I know that we have t-code VOFM.
    But i am unable to know how should i proceed in this.

    Hi,
    It seems that you have good knowledge of data transfer routines.
    I have a requirement to transfer LIKP-WADAT_IST into billing date in VF01 T-code to create invoice.I am passing this date into VBRK-FKDAT in data transfer routine.,but it is  not not getting copied.Plet let me know the correct way of doing it.
    My routine looks like this:
    DATA: BEGIN OF ZUK,
              MODUL(3) VALUE '001',
              VTWEG LIKE VBAK-VTWEG,
              SPART LIKE VBAK-SPART,
            END OF ZUK.
            break SHARMAM.
       IF VBRK IS NOT INITIAL.
      ZUK-SPART = VBAK-SPART.
      ZUK-VTWEG = VBAK-VTWEG.
      VBRK-ZUKRI = ZUK.
      VBRK-FKDAT = LIKP-WADAT.
      ENDIF.
    Thanks in advance,
    Meena

  • Data transfer b/w SAP to Java using IDOC and Interface SAP Jco

    Dear Experts,
    The challenging requirement we are having is, we need to create the interface for data transfer between SAP system and the Java system. The data will be transferred from SAP to java and similarly once some processing done in Java again the details needs to be transferred from Java to SAP.
    For this data transferred we are planning to use IDOC process and for interface "SAP Java connector (Version 3.0.5)" we are planning to use. As per our understanding, from Java side one program needs to be written to connect with SAP as "Registered program". This registered program will appear in SAP GATEWAY automatically and using tRFC, TCP/IP connection both SAP and Java system will be connected.
    In this case we are having some doubts.
    1. The data from SAP is going to be transfered from one Custom transaction (Z tcode). Once "Outbound IDOC" will get triggered and will carry the details. Now the doubt is, whether the data / details will get transfered to JAVA system automatically or we need to perform any other steps from SAP ABAP coding...(like converting in to flat file, XML file and etc) ??
    2. We are planning to install "SAP Jco" in Java server. Is this correct...??
    3. Other than SAP Jco any other softwares needs to be installed or not..??
    4. Since we are going to trigger the "outbound IDOC" from custom transaction, we are planning to develope one program in SE37. Other than this any other program we need to develop or not..??
    5. Any sample Java program for the SAP Jco version 3.0.5 to create the "Registered program" with SAP..? (e.g. SAP Listener program).?
    If anybody has detailed steps or explanation please share it with us.
    Thanks in advance
    Warm Regards,
    VEL

    Hi All,
      For the above mentioned issue, we implemented JCo software in JAVA system and created the JAVA program including SAP logon credential details like Client, User name, password and Language details.
    When this JAVA program was compiled successfully then, that non SAP system will appear in SAP gateway Tcode.
    Once non SAP system started appearing in SAP gateway that means, both SAP & Non SAP are connected automatically.
    Regards,
    Velmurugan P

Maybe you are looking for