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.

Similar Messages

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

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

  • 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

  • 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

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

  • 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

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

  • Transfer Routine for Master Data

    I want to write a transfer routine to load the text.
    I want to load Short text as some word 'EXACT' in the T-table, if the value of that attribute is blank. While loading the master data.
    Eg: In 0Equipment there is some attribute say ZEQUI .
         I want a routine where: If ZEQUI is blank then load the Short text as 'EXACT'
    Please its urgent, can anybody tell me how to do this & some sample code....
    Thanks
    Regards,
    Maddy

    Texts are language specific so you will need to decide on what languages you want 'EXACT' to appear.
    Once you have that done, you can create a flexible update and write a transfer or update rule to read the attributes before populating the text table.
    some pseudo code would be:
    1) Select equipment and attributes into internal table
    2) Read internal table for specific record
    3) determine if the attribute field is blank
    4) If blank, return 'EXACT'

  • How to get data in a cube in transfer routine

    i have to get some data from another cube to compute some numbers in a transfer routine
    is there some function modules to do this?
    thank you for your help

    Hi Zelphar,
    You can use this function : RSDRI_INFOPROV_READ
    In ur routine ..
    And there is sample of code regarding that, you can open :
    1. t-code se38
    2. Open this program: RSDRI_INFOPROV_READ_DEMO
    Hopefully it can help you a lot .
    Best regards,
    Niel.

  • Info object transfer routine

    Hi,
    i had infoobject ZEBAY01 and need to write global transfer routine for this infoobject. Now the infoobject value is comming 0000999999 but the business wants the output value as 009999. They want to see output value as 6digit like (009999).can someone help me how to write code here
    ROGRAM CONVERSION_ROUTINE.
    Type pools used by conversion program
    TYPE-POOLS: RSD, RSARC, RSARR.
    TYPES: DE_ZEBAY01(000015) TYPE C.
    Conversion rule for InfoObject ZEBAY01
    Data type = CHAR
    ABAP type = C
    ABAP length = 000015
    FORM CONVERT_ZEBAY01
    USING RECORD_NO LIKE SY-TABIX
    SOURCE_SYSTEM TYPE RSA_LOGSYS
    IOBJ_NAME TYPE RSIOBJNM
    CHANGING RESULT TYPE DE_ZEBAY01 " InfoObject value
    RETURNCODE LIKE SY-SUBRC.
    $$ begin of routine - insert your code only below this line

    Hi Laxmi
    Use the below code.
    RESULT = RESULT+2(8).
      RESULT = RESULT(6).
      RETURNCODE = 0.
    First Result will take from 8 characters starting from first position. So you get rid of first two leading zeroes.
    Then take first 6 character from the result of above operation from the first character. You get rid off last 2 digits.
    Regards
    Anindya

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

  • Which is better transfer routine or update routine???

    HI ALL,
    I have read some documents, but I didnt get the real concept.
    Can any one explain in detail as to how do we decide where to write the code i.e a start routine or transfer routine or update routine...and which one is better  for a given scenario..
    with example?

    My scenario is like this:
    master data InfoObject for e.g. Z_MATERIAL1 with 10 fields as attributes. It has two Source Systems feeding it; SAP and a flat file from a system called Product Catalog (PCAT).
    The PCAT data is generally more reliable, hence, if a material XYZ comes from PCAT then PCAT is the owner of the material. SAP should not be able to update five critical fields of that material if PCAT owns the material.
    For e.g. the below values comes from PCAT and Master data is updated.
    PCAT
    Material Group Type Price Curr Unit Prod Desc. Lang Class
    XYZ      ABC   BRU  10.00 USD  PC  Inh   To    EN   001
    When the data comes from SAP R/3, it should not update anything other than the last 4 fields.
    SAP
    Material Group Type Price Curr Unit Prod Desc. Lang Class
    XYZ      ABC    BRU 20.00 USD  BOX  In   The    DE   003
    Finally the data in the Master Data Object should be as below.
    Material Group Type Price Curr Unit Prod Desc. Lang Class
    XYZ      ABC   BRU 10.00  USD  PC  In    The    DE   003
    where do i write the code...i have written this in start routine of transfer rules...i want to know the performance issues...

Maybe you are looking for

  • 64 Bit OS Drivers

    Does anyone know if the SATA drivers offered for download will work (properly) with the 64 bit versions of XP and Win 2k3 server? I want to go ahead and at least put the 64 bit XP (Extended Systems) on there, but I don't want to waste my time if it w

  • I am trying to find a manual in Spanish for a g4 imac

    I am trying to fin a manual in Spanish for a g4 imac. The apple websites list manuals for newer models but not for a g4 (bought in 2002)

  • IC Eliminations and Org by Period

    My metadata includes a company Co.A which in common with Co.B is a child of Co.X in 2006. In 2007 Co.A is inactive under Co.X but active in a new branch under a parent Co.Y. When I consolidate in 2007 I find an intercompany elimination entry in Co.B.

  • Getting info about a particular property of an object....

    Hi , How to get info/help about a particular property of an object...???? I mean that if all the properties of an object displayed in the property palette(for example an iterator) how to get info about and only about RefreshCondition property , witho

  • Captivate Crashes when Changing Existing Projects

    Hi I've created 9 Captivate Projects using Captivate 4.  I'm now going back to change some of them.  With 4 of them, every time I duplicate a slide or add new recorded slides, Captivate crashes.  I don't have time to recreate them from scratch. The f