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.

Similar Messages

  • 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

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

  • 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

  • Copying/Data Transfer from JTable

    I have an application that allows the user to copy data from a JTable. I am using the native TransferHandler for JTable . . . not writing my own (see below for code). However, the JTable has values in the table model that are not strings. So, when the values are copied from the table and then copied into Excel the user gets the toString value of GregorianCalendar, for example.
    (java.util.GregorianCalendar[time=1078163098275,areFieldsSet=true,areAllFieldsSet=true,lenient=true,
    zone=sun.util.calendar.ZoneInfo[id="America/New_York",offset=-18000000,dstSavings=3600000,
    useDaylight=true,transitions=235,lastRule=java.util.SimpleTimeZone[id=America/New_York,offset=-18000000,
    dstSavings=3600000,useDaylight=true,startYear=0,startMode=3,startMonth=3,startDay=1,
    startDayOfWeek=1,startTime=7200000,startTimeMode=0,endMode=2,endMonth=9,endDay=-1,
    endDayOfWeek=1,endTime=7200000,endTimeMode=0]],firstDayOfWeek=1,minimalDaysInFirstWeek=1,
    ERA=1,YEAR=2004,MONTH=2,WEEK_OF_YEAR=10,WEEK_OF_MONTH=1,DAY_OF_MONTH=1,
    DAY_OF_YEAR=61,DAY_OF_WEEK=2,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=0,
    HOUR_OF_DAY=12,MINUTE=44,SECOND=58,MILLISECOND=275,ZONE_OFFSET=-18000000,
    DST_OFFSET=0]).
    The values are in the table model in that way b/c of the sorting that is allowed on the data. So, I have a CellRenderer that actually converts the value from the table model into a displayable string. What I would like to see is for the copy action to get the data from the CellRenderer and not the TableModel. Does anyone know how to do that??
    Code to implement copy action:
    ************* In the JTabbedPane that holds the JTable ***********
    private void drawPopupMenu() {
    TransferActionListener transferActionListener = new TransferActionListener();
    mPopupMenu = new JPopupMenu();
    menuSelectAll.addActionListener(this);
    menuSelectAll.setActionCommand(SELECTALL_CMD);
    menuSelectAll.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, ActionEvent.CTRL_MASK));
    mPopupMenu.add(menuSelectAll);
    menuCopy.setActionCommand((String)TransferHandler.getCopyAction().getValue(Action.NAME));
    menuCopy.addActionListener(transferActionListener);
    menuCopy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, ActionEvent.CTRL_MASK));
    mPopupMenu.add(menuCopy);
    menuPaste.setActionCommand((String)TransferHandler.getPasteAction().getValue(Action.NAME));
    menuPaste.addActionListener(transferActionListener);
    menuPaste.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, ActionEvent.CTRL_MASK));
    mPopupMenu.add(menuPaste);
    } //drawPopupMenu
    public class TransferActionListener implements ActionListener,
    PropertyChangeListener {
    private JComponent focusOwner = null;
    public TransferActionListener() {
    KeyboardFocusManager manager = KeyboardFocusManager.getCurrentKeyboardFocusManager();
    manager.addPropertyChangeListener("permanentFocusOwner", this);
    } //constructor
    public void actionPerformed(ActionEvent e) {
    if (focusOwner == null) return;
    String action = (String)e.getActionCommand();
    Action a = focusOwner.getActionMap().get(action);
    if (a != null) {
    a.actionPerformed(new ActionEvent(focusOwner,
    ActionEvent.ACTION_PERFORMED,
    null));
    } //actionPerformed
    public void propertyChange(PropertyChangeEvent e) {
    Object currentObject = e.getNewValue();
    if (currentObject instanceof JComponent) {
    focusOwner = (JComponent)currentObject;
    } else {
    focusOwner = null;
    } //propertyChange
    } //TransferActionListener
    Thanks for any help!

    iTunes does transfer files like pictures, music, video, and I believe under the apps section it should transfer specific app files too.
    otherwise I don't know. I tried to get my ipad to link to my computer with bluetooth (it saiys it is linked now) but when I try to transfer a file or browse the device it won't work.... I dunno!

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

  • 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

  • How redetermine Partners in Copy controls (VOFM Routines) ?

    Hi All,
    I have a requirement.
    In all Sales to Sales copy control (all documents included) we need to redetermine Partner data from Customer Master on the creation date of new sales order. Basically partner data will not be copied from Old referenced document (except for sold to party)
    please reply .
    Thanks
    Revanth

    Hello,
    you could use some own data transfer routines ( in VOFM -> data tansfer -> orders).
    In standard there are the routines 1 (Partners Header) and 2 (Partners Item), which you could copy
    into the customer namespace and adjust to your requirements.
    In the customing of the copy control you only maintain the number of
    your data transfer routine on header  and /or on Item level.
    Regards Wolfgang

  • 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

  • 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

  • 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 Workbench can copy sales & purchase modules's data?

    Hi,
    Just wondering that,any way to copy the Sales & Purchase Modules's data from existing company to new company? Copy Express can't do it. But how about Data Transfer Workbench can copy?
    Thanks
    Regards,
    Danny
    Edited by: Danny Gan on Mar 18, 2008 5:21 AM

    Danny,
    How many field from the ORDR or RDR1 have to exported depends on the business logic implemented and what was being used.  No one can really provide a standard set of 5 or 10 fields as you know the clients business better than anyone in the Forum.
    If the Client used User fields then data from the user fields should also be exported.
    The base fields from ORDR would be CardCode, DocDate, DocDueDate, Transpcode (shipping code), SlpCode, GroupNum (Payment terms code), etc.
    Similarly on RDR1, ItemCode, Quantity, Price and any additional row level information that may pertain to their business
    Suda

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

Maybe you are looking for