VOFM - Data transfer billing routine

I have copied standard routine 6 into a new custom routine 906.  This routine splits a billing document into multiple billing documents once it reaches its limit for how many items are allowed.  My problem is standard routine 6 splits just fine as expected. My routine, however, is not splitting because the internal table it uses to keep track of what item it is on is being refreshed.  Any ideas what I might be missing?
Thanks,
Jeremy

1 Did u activate the routine ?
2. How are u doing this from VTFA / VTFL transaction plz confirm .
If it is from VTFL
did u assign the copuing requirements in the header as well as transfer (item level) by enabing the copying requirements.
please tell ur navigation.
regards,
vijay

Similar Messages

  • VOFM- Data Transfer- Billing Rouitnes

    Hi Please help me in the issue . Created a custom routine with namespace 901 in vofm- datatrasfer i activated the routine and generated the same usiing RV80HGEN but still in syntax check of the routine its showing its not includeed in main program . I checked the entry in TFRM . Please help me to solve the issue.

    Solved self

  • 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

  • Pricing date of billing

    Hi experts:
                    In our Delivery-Related sales,the pricing date in billing comes from the PGI date of delivery actually.
                    Now,i want the pricing date in billing comes from pricing date in sales order, i try it  many times,but all failed.
                    In VOV8 i can Propose the pricing date in sales order.
                    How does the Pricing date come from in billing in SAP Std?
                    Pls give me some advice.
                                                  Thank you very much.

    Use t.code VTFL (Copy control from delivery to billing document).
    Select the source and target document types.
    Then go to item details. You need to select appropriate routine in the field Data VBRK/VBRP. This routine should have coding to propose the price data from the order.
    If you don't find a routine to suit your requirement, then you can develop the routine in t.code VOFM - Menu Data Transfer ->Billing documents.
    The coding logic can be;
      IF NOT VBKD-PRSDT IS INITIAL.
         VBRP-PRSDT = VBKD-PRSDT.
      ENDIF.
    There is an OSS  Note 130339 - Pricing date in the billing document, but this refers to versions upto 4.5b.
    Regards,

  • Data transfer schedule run error-object variable/with block variable no set

    I want to automate a Data Transfer Workbench routine.
    I created the appropriate xml file but when I run the .bat file I get the following error: "Object variable or with variable not set."
    I think that the problem resides in the xml file but there is no documentation for the xml syntax so it's impossible to correct it.
    thanks in advance

    Solved.
    The problem was in the .bat syntax.
    At the -s option the filename doesnt need quotation marks.

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

  • 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

  • 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

  • Is there any documentation for filter routine in Data Transfer Process?

    I am trying to create a filter routine in the Data Transfer Process to select different billing types depending on what date the Data Transfer Process is running....
    I have searched through SDN and found some examples, but some formal documentation would help.
    Is there any documention on filtering in a Data Transfer Process using a routine?
    I am in 7.0

    data: l_dow TYPE I,
          L_S_RANGE TYPE rssdlrange.
    l_s_range-iobjnm = '0BILL_TYPE'.
    l_S_range-fieldname = 'BILL_TYPE'.
    l_S_range-sign = 'I'.
    l_S_range-option = 'EQ'.
    l_S_range-low = 'F2'.
    APPEND L_S_RANGE TO l_t_range.
    l_s_range-iobjnm = '0BILL_TYPE'.
    l_S_range-fieldname = 'BILL_TYPE'.
    l_S_range-sign = 'I'.
    l_S_range-option = 'EQ'.
    l_S_range-low = 'G2'.
    APPEND L_S_RANGE TO l_t_range.
    l_s_range-iobjnm = '0BILL_TYPE'.
    l_S_range-fieldname = 'BILL_TYPE'.
    l_S_range-sign = 'I'.
    l_S_range-option = 'EQ'.
    l_S_range-low = 'L2'.
    APPEND L_S_RANGE TO l_t_range.
    l_s_range-iobjnm = '0BILL_TYPE'.
    l_S_range-fieldname = 'BILL_TYPE'.
    l_S_range-sign = 'I'.
    l_S_range-option = 'EQ'.
    l_S_range-low = 'ZCDD'.
    APPEND L_S_RANGE TO l_t_range.
    l_s_range-iobjnm = '0BILL_TYPE'.
    l_S_range-fieldname = 'BILL_TYPE'.
    l_S_range-sign = 'I'.
    l_S_range-option = 'EQ'.
    l_S_range-low = 'ZCDI'.
    APPEND L_S_RANGE TO l_t_range.
    l_s_range-iobjnm = '0BILL_TYPE'.
    l_S_range-fieldname = 'BILL_TYPE'.
    l_S_range-sign = 'I'.
    l_S_range-option = 'EQ'.
    l_S_range-low = 'ZCR1'.
    APPEND L_S_RANGE TO l_t_range.
    l_s_range-iobjnm = '0BILL_TYPE'.
    l_S_range-fieldname = 'BILL_TYPE'.
    l_S_range-sign = 'I'.
    l_S_range-option = 'EQ'.
    l_S_range-low = 'ZCR2'.
    APPEND L_S_RANGE TO l_t_range.
    l_s_range-iobjnm = '0BILL_TYPE'.
    l_S_range-fieldname = 'BILL_TYPE'.
    l_S_range-sign = 'I'.
    l_S_range-option = 'EQ'.
    l_S_range-low = 'ZDR1'.
    APPEND L_S_RANGE TO l_t_range.
    l_s_range-iobjnm = '0BILL_TYPE'.
    l_S_range-fieldname = 'BILL_TYPE'.
    l_S_range-sign = 'I'.
    l_S_range-option = 'EQ'.
    l_S_range-low = 'ZEDI'.
    APPEND L_S_RANGE TO l_t_range.
    l_s_range-iobjnm = '0BILL_TYPE'.
    l_S_range-fieldname = 'BILL_TYPE'.
    l_S_range-sign = 'I'.
    l_S_range-option = 'EQ'.
    l_S_range-low = 'ZMD'.
    APPEND L_S_RANGE TO l_t_range.
    l_s_range-iobjnm = '0BILL_TYPE'.
    l_S_range-fieldname = 'BILL_TYPE'.
    l_S_range-sign = 'I'.
    l_S_range-option = 'EQ'.
    l_S_range-low = 'ZRE'.
    APPEND L_S_RANGE TO l_t_range.
    l_s_range-iobjnm = '0BILL_TYPE'.
    l_S_range-fieldname = 'BILL_TYPE'.
    l_S_range-sign = 'I'.
    l_S_range-option = 'EQ'.
    l_S_range-low = 'ZRE1'.
    APPEND L_S_RANGE TO l_t_range.
    l_s_range-iobjnm = '0BILL_TYPE'.
    l_S_range-fieldname = 'BILL_TYPE'.
    l_S_range-sign = 'I'.
    l_S_range-option = 'EQ'.
    l_S_range-low = 'ZRED'.
    APPEND L_S_RANGE TO l_t_range.
    l_s_range-iobjnm = '0BILL_TYPE'.
    l_S_range-fieldname = 'BILL_TYPE'.
    l_S_range-sign = 'I'.
    l_S_range-option = 'EQ'.
    l_S_range-low = 'ZSMP'.
    APPEND L_S_RANGE TO l_t_range.
    l_s_range-iobjnm = '0BILL_TYPE'.
    l_S_range-fieldname = 'BILL_TYPE'.
    l_S_range-sign = 'I'.
    l_S_range-option = 'EQ'.
    l_S_range-low = 'ZUSD'.
    APPEND L_S_RANGE TO l_t_range.
    l_s_range-iobjnm = '0BILL_TYPE'.
    l_S_range-fieldname = 'BILL_TYPE'.
    l_S_range-sign = 'I'.
    l_S_range-option = 'EQ'.
    l_S_range-low = 'ZUSI'.
    APPEND L_S_RANGE TO l_t_range.
    CALL FUNCTION 'DATE_COMPUTE_DAY'
      EXPORTING
        date = sy-datum
      IMPORTING
        day = L_DOW.
    IF l_Dow EQ 5.
      l_s_range-iobjnm = '0BILL_TYPE'.
      l_S_range-fieldname = 'BILL_TYPE'.
      l_S_range-sign = 'I'.
      l_S_range-option = 'EQ'.
      l_S_range-low = 'S1'.
      APPEND L_S_RANGE TO l_t_range.
      l_s_range-iobjnm = '0BILL_TYPE'.
      l_S_range-fieldname = 'BILL_TYPE'.
      l_S_range-sign = 'I'.
      l_S_range-option = 'EQ'.
      l_S_range-low = 'S2'.
      APPEND L_S_RANGE TO l_t_range.
    ENDIF.

  • 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

  • Data Transfer Routine

    Hi,
    We have a requirement i,e In third party sales scenario we want to make a invoice based on each Good's Receipt Document ( Material Document ) for this we are trying to write a routine but could not able to succeed as we are not able to restrict one GR in invoicing its clubbing all the GR's happened.
    Ex: If there is one Sales Ord with one line item and coressponding one Purcase order based on SO & If there are two GR's happened against this PO. Then while invoicing it is clubbing the material in the two GR documents, Where as we want only only invoice for one GR. ( One unique invoice for one unique GR )
    If anybody finds solution for this kindly help us. Point's rewarded.
    Thank's
    Chakri

    Hi Kishore,
    It is not possible to make an invoice in Sales using the Goods Receipt which happens in MM. If it happens in your project, I am sure it happens through some IDOCs or background jobs and when invoice is created, the data is taken either from order or from delivery, not at all from Goods receipt document.
    If you want to create different invoices for different deliveries of a single sales order, you should go for delivery related billing and want one invoice per each delivery document, then you have to do a Copying requirement routine in VOFM and assign teh routine to copy control between delivery and billing in VTFL at item category level.
    You may also have to work on the invoice split routine by copying the routine 007 and modify it to your reqmt.
    Hope this helps.

  • Copy data transfer routine.

    13.01.2009
    Hello Gurus,
    How do we make a copy of data transfer routine ??? I dont find any copy option ??
    Regards,

    There is sort of a trick you can use. In VOFM transaction, find the routine you wish to copy. Switch to Change mode (Ctrl-F1), then place the cursor in the field with the routine number and simply type the new routine number (e.g. 901) over the existing one. When you hit Enter, you'll be prompted to enter an access key to create a new routine.
    Access key may be obtained on the SAP's website (if you have an authorization) or from your Basis admin, as mentioned above.
    Copy/paste would also work, of course, after you have created a new, blank routine.

  • LBBIL_INVOICE. Billing Data: Transfer Structure to Smart Forms

    Hi...
    Can u please help me out in my query regading how the data passes to
    LBBIL_INVOICE. Billing Data: Transfer Structure to Smart Forms.
    I have an smartform which runs through VF01/VF02/ VF03 while pressing the print preview button.
    But if i try to run it directly from driver program, no data wil be displayed. Now i have the requirement to detach from VF03.. and make it to run directly from my driver program.
    what shall i have to do to achieve this. Should i have to take all the internal tables saparately or else can i use LBBIL_invoice structure itself.
    If i can use that structure itself, how to make the data flow into it.  Pls help me.
    In my codeing these includes were there. is there anything related , is the data passes because of these includes
    INCLUDE rlb_invoice_data_declare.
    definition of forms
    INCLUDE rlb_invoice_form01.
    INCLUDE rlb_print_forms.
    Pls clarify my dobut...
    Thanks in advance,
    Hema

    1. These are normal structure
    2. you can use anywhere but they designed for forms currently.
    3. Yes ,it works like it will look at NAST Table -> nast table will connect the TNAPR Table -> tnapr will have smart form print program.
        so smart form program calls smartform and it will show output
    4. you can create your own structure and use them into anywhere like report program or forms..
    5. you can see example simple form name SF_EXAMPLE_01 ,program name is SF_EXAMPLE_01 ,you can design your own form and print program.
    Thanks
    Seshu

  • Data transfer process: use values of filter in routine

    Hi,
    I create a filter in the data transfer process (RSA1). There are two infoobjects (ZABC, ZXYZ) in the filter.
    I fill the first select-option (parameter) with the value u2018AAAAu2019. At the second line I create the filter routine:
    form compute_/BIC/ZXYZ
       tables l_t_range structure rssdlrange
       changing p_subrc like sy-subrc.
    In this routine I want to use the value u2018AAAAu2019 of ZABC:
    SELECT SINGLE *
    INTO lw_test
    FROM /BIC/MZXYZ
    WHERE
       /BIC/ZBCA =  (Select-option value from ZABC = u2018AAAAu2019)
    Then I want to make a new entry in l_t_range from lw_test.
    I thought that the Select-option will be in the table l_t_range. But there is only a record when it was also set by an ABAP-Routine but not the manual entries in RSA1.
    How can I use the select-option from the filter?
    Thanks in advance
    Tobias Mattes
    Edited by: Tobias Mattes on Jan 30, 2009 1:33 PM
    Edited by: Tobias Mattes on Jan 30, 2009 1:34 PM

    Can you try to combine them into one routine?  In other words, fill the range for both in the same routine - that way, you'll have all the values available to you.
    For example:
    l_t_range-iobjnm = 'ZABC'.
    l_t_range-fieldname = 'ZABC'.
    l_t_range-sign = 'I'.
    l_t_range-option = 'BT'.
    l_t_range-low = '2006001'.
    l_t_range-high = '2006012'.
    l_t_range-iobjnm = 'ZXYZ'.
    l_t_range-fieldname = 'ZXYZ'.
    l_t_range-sign = 'I'.
    l_t_range-option = 'BT'.
    l_t_range-low = '0101010'.
    l_t_range-high = '0101099'.

  • Regd Data Transfer routine Transport

    Hello All,
    I have created a Copy Control Data Transfer routine 60X in the Development System. This created a Include RV45C60X in the Include RV45CNNN. When I check the where used list for RV45C60X it shows Include RV45CNNN. When I transported it to Quality System this Include was created but it was not in the Include RV45CNNN and the system was giving a short dump when SO created with reference to Quote.
    I executed the program RV80HGEN and than also generated the Program RV45CNNN in the Quality system. Than the Include RV45C60X was shown in Include RV45CNNN and the system works fine. The where used list for RV45C60X does not show RV45CNNN even though it is in the Include RV45CNNN. Is that ok or something more needs to be done.
    Can you please clarify.
    Thanks,
    SNK.

    Hello friends,
    Any suggestions for this. Or is this not an issue.
    Thanks,
    SNK.

Maybe you are looking for

  • Can anyone assist me in opening a pdf file once it is saved to my pc?

    I cannot seem to be able to open a pdf once it is saved to my pc. It says that the file is damaged. I was able to save AND OPEN my pdf files on my old laptop. I have Adobe Reader X. I am beyond frustrated. I am a student and require access to my file

  • 'In' operator in an expression

    I want to use an expression with an 'In' operator like: "IIF(Month(Fields!xyz_date.value) in (3,6,9,12), False, True)" but seems like 'In' operator is not available in ssrs expression. Please confirm it this true and what's the alternative (other tha

  • Dashboard Prompts How to call in report

    Dear All, I created one dashboard prompts. How to call this prompts in report. Thanks Edited by: 816377 on Dec 12, 2010 11:01 PM Edited by: 816377 on Dec 12, 2010 11:28 PM

  • Iphoto corrupting photos from iPhone?

    Some others have mentioned similar problems: anyone find a good solution? Running iphoto 08, when uploading photos from iphone 4s about 1 in 4 get corrupted: lines or washed out colors and many videos fail to import. It seems hit or miss: does not al

  • Calling a certain object

    If you have lots of objects created in a class, how can you easilly call a certain object based on the user's input? All I can think of is an awfully long if-structure. For example: private Creature xA = new Creature(); private Creature xB = new Crea