BAPI replacement for the transaction VT02

Hi All,
We are doing upgrade from 4.6C to ECC 6.0 version where we need to replace existing BDC with BAPI or a function module.
In a program we are using BDC for the transaction VT02 to update the fields End date (VTTK-DATEN) and End time (VTTK-UATEN) for the given shipments. Please suggest a BAPI or Function module to replace the existing BDC for VT02 transaction.
The BAPI 'BAPI_SHIPMENT_CHANGE' is not released officially in ECC 6.0 version. Can we use it in ECC 6.0 version? If yes, please let me know how to call this BAPI with only these three fields(Shipment number-TKNUM, Shipment end date-DATEN and Shipment end time-UATEN).
Thanks in advance.
Regards,
Siva.

hi,
try this...
SD_SHIPMENT_HEADERS_CHANGE_DIA
Prabhudas

Similar Messages

  • BAPI(s) for the Transaction Codes  - FB60 & F-47

    Hi,
      I would like to know the BAPIs which can be used for the transactions FB60 & F-47. I have used the method BDC for data transferring, but I have heard that BAPIs are faster than BDCs. So I thought of testing BAPIs instead of BDCs. Please give me a clue.
    Thanks,
    Yohan.

    BAPI for FB60
    Reward points..

  • BAPI Replacement for the BDC calling XK01, XK02 tcodes

    Hi,
    I am in an Upgrade project. I need to replace a BDC which is calling the transaction codes XK01 and XK02 with BAPI.
    I found two BAPIs 'BAPI_VENDOR_CREATE' and 'BAPI_VENDOR_EDIT' but they are used to create and change Vendor master online.
    Please let me know if you know any BAPI which I can use to replace my BDC.
    Thanks & Regards,
    Siva.

    Hi,
    The function modules VENDOR_INSERT/ VENDOR_UPDATE are not robust; there is direct table update with no locking mechanism. Please let me know if there is any other solution for this.
    Thanks & Regards,
    Siva.

  • Bapi fm for the transaction FS10n

    Hi friends,
    Can any ine tell the bapi fm for t code FS10n.
    Thanks ,
    Ankitha

    IS There is any Function Module available Exactly Like FS10N selection Screen as it is Having Business area as well . I want to get G/L Balance with the Business Area as an Input.
    Please help me As soon as Possible .
    Thanks In Advance

  • How can i identifiy the BAPI Name for particular transaction.?

    Hi friends ,
    In  data upload by BAPI How can i identifiy the BAPI Name for particular transaction.?
    For example ME21 How can i identifiy the BAPI Name?
    arun

    hi,
    check the link:
    ME21 tcode for Purchase Order creation so u can make use of BAPI f4 help i.e. ex-BAPIpo
    for list of all bapis
    http://www.planetsap.com/LIST_ALL_BAPIs.htm
    BAPI-step by step
    http://www.sapgenie.com/abap/bapi/example.htm

  • How we can find BAPI's for a transactions?

    hi
    how we can find BAPI's for a transactions?
    thanks in advance

    hi,
    use this function module SXV_GET_CLIF_BY_NAME
    function sxv_get_clif_by_name .
    ""Lokale Schnittstelle:
    *" IMPORTING
    *" VALUE(NAME)
    *" VALUE(PREFIX) TYPE SEEX_CLIF_PREFIX
    *" EXPORTING
    *" VALUE(CLIF) TYPE SEOCLSNAME
    call function 'SXV_ADD_PREFIX'
    exporting
    name = name
    prefix = prefix
    importing
    new_name = clif.
    endfunction.
    debug the function module you will get name of bapi  , badi  used for transaction  which ever operation you perform
    it will call this function module and will give you name 
    regards
    Deepak.

  • How to find the BADI for the transaction CRM_IC in CRm 5.0

    Hi all,
    I have a issue:
    in CRM 5.0, for the transaction CRM_IC (IC Web tcode), i need to do an enhancement for that tcode.
    In crm_ic, we can enter Business partner and product id data,whenever we provide the inputs for BP and Product id and if we press enter then it displays the details like product description, UOM etc.
    what i need to do is when we enter product id which is not available in Product Master,develop an enhancement which get those details from Cust / Dist chain and replace the entered value with retrieved value.
    For this CRM_IC, I need to find the correct BADI.
    Can any one send me out the Exact BADI for this requirement.

    spro> crm > transactions > basic settings > badi's
    BAdI: Product Processing at Item Level
    In this step, you can create enhancements for product processing at item level in the business transaction The following methods are available to you in the Business Add-In CRM_PRODUCT_I_BADI:
    CRM_PRODUCT_I_CHECK: BAdI to check object PRODUCT_I
    CRM_PRODUCT_I_MERGE: BAdI to merge object PRODUCT_I

  • Error while running a BDC for the Transaction F-02

    Hi,
           I'm getting an error <b><i>"Parking not possible during Batch Input"</i></b> while running a BDC for the transaction F-02.
           When i click on the error message it displays the message [b<i>]"In Customizing, you can control whether an error message is issued."</b></i>
            How to solve this issue?.
            Waiting for ur replies.........
    Regards
    N.Senthil

    Hi,
    When you are doing the recording in SHDB, and in the same screen where the TCODE to be recorded is given, there are options that you can choose called "Recording Parameters"...Select the checkbox which says "Not a Batch Input Session", this will set the sy-binpt variable to " "(in a recording by default it is "X")...and you will not get this error...
    Also make sure while writing the BDC program to make use of the "bdc options" parameter which has this property to switch of sy-binpt...
        Refer below theard for sample bdc code for f-02.
    https://forums.sdn.sap.com/click.jspa?searchID=5126766&messageID=1538409
    Regards

  • A replacement for the Quicksort function in the C++ library

    Hi every one,
    I'd like to introduce and share a new Triple State Quicksort algorithm which was the result of my research in sorting algorithms during the last few years. The new algorithm reduces the number of swaps to about two thirds (2/3) of classical Quicksort. A multitude
    of other improvements are implemented. Test results against the std::sort() function shows an average of 43% improvement in speed throughout various input array types. It does this by trading space for performance at the price of n/2 temporary extra spaces.
    The extra space is allocated automatically and efficiently in a way that reduces memory fragmentation and optimizes performance.
    Triple State Algorithm
    The classical way of doing Quicksort is as follows:
    - Choose one element p. Called pivot. Try to make it close to the median.
    - Divide the array into two parts. A lower (left) part that is all less than p. And a higher (right) part that is all greater than p.
    - Recursively sort the left and right parts using the same method above.
    - Stop recursion when a part reaches a size that can be trivially sorted.
     The difference between the various implementations is in how they choose the pivot p, and where equal elements to the pivot are placed. There are several schemes as follows:
    [ <=p | ? | >=p ]
    [ <p | >=p | ? ]
    [ <=p | =p | ? | >p ]
    [ =p | <p | ? | >p ]  Then swap = part to middle at the end
    [ =p | <p | ? | >p | =p ]  Then swap = parts to middle at the end
    Where the goal (or the ideal goal) of the above schemes (at the end of a recursive stage) is to reach the following:
    [ <p | =p | >p ]
    The above would allow exclusion of the =p part from further recursive calls thus reducing the number of comparisons. However, there is a difficulty in reaching the above scheme with minimal swaps. All previous implementation of Quicksort could not immediately
    put =p elements in the middle using minimal swaps, first because p might not be in the perfect middle (i.e. median), second because we don’t know how many elements are in the =p part until we finish the current recursive stage.
    The new Triple State method first enters a monitoring state 1 while comparing and swapping. Elements equal to p are immediately copied to the middle if they are not already there, following this scheme:
    [ <p | ? | =p | ? | >p ]
    Then when either the left (<p) part or the right (>p) part meet the middle (=p) part, the algorithm will jump to one of two specialized states. One state handles the case for a relatively small =p part. And the other state handles the case for a relatively
    large =p part. This method adapts to the nature of the input array better than the ordinary classical Quicksort.
    Further reducing number of swaps
    A typical quicksort loop scans from left, then scans from right. Then swaps. As follows:
    while (l<=r)
    while (ar[l]<p)
    l++;
    while (ar[r]>p)
    r--;
    if (l<r)
    { Swap(ar[l],ar[r]);
    l++; r--;
    else if (l==r)
    { l++; r--; break;
    The Swap macro above does three copy operations:
    Temp=ar[l]; ar[l]=ar[r]; ar[r]=temp;
    There exists another method that will almost eliminate the need for that third temporary variable copy operation. By copying only the first ar[r] that is less than or equal to p, to the temp variable, we create an empty space in the array. Then we proceed scanning
    from left to find the first ar[l] that is greater than or equal to p. Then copy ar[r]=ar[l]. Now the empty space is at ar[l]. We scan from right again then copy ar[l]=ar[r] and continue as such. As long as the temp variable hasn’t been copied back to the array,
    the empty space will remain there juggling left and right. The following code snippet explains.
    // Pre-scan from the right
    while (ar[r]>p)
    r--;
    temp = ar[r];
    // Main loop
    while (l<r)
    while (l<r && ar[l]<p)
    l++;
    if (l<r) ar[r--] = ar[l];
    while (l<r && ar[r]>p)
    r--;
    if (l<r) ar[l++] = ar[r];
    // After loop finishes, copy temp to left side
    ar[r] = temp; l++;
    if (temp==p) r--;
    (For simplicity, the code above does not handle equal values efficiently. Refer to the complete code for the elaborate version).
    This method is not new, a similar method has been used before (read: http://www.azillionmonkeys.com/qed/sort.html)
    However it has a negative side effect on some common cases like nearly sorted or nearly reversed arrays causing undesirable shifting that renders it less efficient in those cases. However, when used with the Triple State algorithm combined with further common
    cases handling, it eventually proves more efficient than the classical swapping approach.
    Run time tests
    Here are some test results, done on an i5 2.9Ghz with 6Gb of RAM. Sorting a random array of integers. Each test is repeated 5000 times. Times shown in milliseconds.
    size std::sort() Triple State QuickSort
    5000 2039 1609
    6000 2412 1900
    7000 2733 2220
    8000 2993 2484
    9000 3361 2778
    10000 3591 3093
    It gets even faster when used with other types of input or when the size of each element is large. The following test is done for random large arrays of up to 1000000 elements where each element size is 56 bytes. Test is repeated 25 times.
    size std::sort() Triple State QuickSort
    100000 1607 424
    200000 3165 845
    300000 4534 1287
    400000 6461 1700
    500000 7668 2123
    600000 9794 2548
    700000 10745 3001
    800000 12343 3425
    900000 13790 3865
    1000000 15663 4348
    Further extensive tests has been done following Jon Bentley’s framework of tests for the following input array types:
    sawtooth: ar[i] = i % arange
    random: ar[i] = GenRand() % arange + 1
    stagger: ar[i] = (i* arange + i) % n
    plateau: ar[i] = min(i, arange)
    shuffle: ar[i] = rand()%arange? (j+=2): (k+=2)
    I also add the following two input types, just to add a little torture:
    Hill: ar[i] = min(i<(size>>1)? i:size-i,arange);
    Organ Pipes: (see full code for details)
    Where each case above is sorted then reordered in 6 deferent ways then sorted again after each reorder as follows:
    Sorted, reversed, front half reversed, back half reversed, dithered, fort.
    Note: GenRand() above is a certified random number generator based on Park-Miller method. This is to avoid any non-uniform behavior in C++ rand().
    The complete test results can be found here:
    http://solostuff.net/tsqsort/Tests_Percentage_Improvement_VC++.xls
    or:
    https://docs.google.com/spreadsheets/d/1wxNOAcuWT8CgFfaZzvjoX8x_WpusYQAlg0bXGWlLbzk/edit?usp=sharing
    Theoretical Analysis
    A Classical Quicksort algorithm performs less than 2n*ln(n) comparisons on the average (check JACEK CICHON’s paper) and less than 0.333n*ln(n) swaps on the average (check Wild and Nebel’s paper). Triple state will perform about the same number of comparisons
    but with less swaps of about 0.222n*ln(n) in theory. In practice however, Triple State Quicksort will perform even less comparisons in large arrays because of a new 5 stage pivot selection algorithm that is used. Here is the detailed theoretical analysis:
    http://solostuff.net/tsqsort/Asymptotic_analysis_of_Triple_State_Quicksort.pdf
    Using SSE2 instruction set
    SSE2 uses the 128bit sized XMM registers that can do memory copy operations in parallel since there are 8 registers of them. SSE2 is primarily used in speeding up copying large memory blocks in real-time graphics demanding applications.
    In order to use SSE2, copied memory blocks have to be 16byte aligned. Triple State Quicksort will automatically detect if element size and the array starting address are 16byte aligned and if so, will switch to using SSE2 instructions for extra speedup. This
    decision is made only once when the function is called so it has minor overhead.
    Few other notes
    - The standard C++ sorting function in almost all platforms religiously takes a “call back pointer” to a comparison function that the user/programmer provides. This is obviously for flexibility and to allow closed sourced libraries. Triple State
    defaults to using a call back function. However, call back functions have bad overhead when called millions of times. Using inline/operator or macro based comparisons will greatly improve performance. An improvement of about 30% to 40% can be expected. Thus,
    I seriously advise against using a call back function when ever possible. You can disable the call back function in my code by #undefining CALL_BACK precompiler directive.
    - Like most other efficient implementations, Triple State switches to insertion sort for tiny arrays, whenever the size of a sub-part of the array is less than TINY_THRESH directive. This threshold is empirically chosen. I set it to 15. Increasing this
    threshold will improve the speed when sorting nearly sorted and reversed arrays, or arrays that are concatenations of both cases (which are common). But will slow down sorting random or other types of arrays. To remedy this, I provide a dual threshold method
    that can be enabled by #defining DUAL_THRESH directive. Once enabled, another threshold TINY_THRESH2 will be used which should be set lower than TINY_THRESH. I set it to 9. The algorithm is able to “guess” if the array or sub part of the array is already sorted
    or reversed, and if so will use TINY_THRESH as it’s threshold, otherwise it will use the smaller threshold TINY_THRESH2. Notice that the “guessing” here is NOT fool proof, it can miss. So set both thresholds wisely.
    - You can #define the RANDOM_SAMPLES precompiler directive to add randomness to the pivoting system to lower the chances of the worst case happening at a minor performance hit.
    -When element size is very large (320 bytes or more). The function/algorithm uses a new “late swapping” method. This will auto create an internal array of pointers, sort the pointers array, then swap the original array elements to sorted order using minimal
    swaps for a maximum of n/2 swaps. You can change the 320 bytes threshold with the LATE_SWAP_THRESH directive.
    - The function provided here is optimized to the bone for performance. It is one monolithic piece of complex code that is ugly, and almost unreadable. Sorry about that, but inorder to achieve improved speed, I had to ignore common and good coding standards
    a little. I don’t advise anyone to code like this, and I my self don’t. This is really a special case for sorting only. So please don’t trip if you see weird code, most of it have a good reason.
    Finally, I would like to present the new function to Microsoft and the community for further investigation and possibly, inclusion in VC++ or any C++ library as a replacement for the sorting function.
    You can find the complete VC++ project/code along with a minimal test program here:
    http://solostuff.net/tsqsort/
    Important: To fairly compare two sorting functions, both should either use or NOT use a call back function. If one uses and another doesn’t, then you will get unfair results, the one that doesn’t use a call back function will most likely win no matter how bad
    it is!!
    Ammar Muqaddas

    Thanks for your interest.
    Excuse my ignorance as I'm not sure what you meant by "1 of 5" optimization. Did you mean median of 5 ?
    Regarding swapping pointers, yes it is common sense and rather common among programmers to swap pointers instead of swapping large data types, at the small price of indirect access to the actual data through the pointers.
    However, there is a rather unobvious and quite terrible side effect of using this trick. After the pointer array is sorted, sequential (sorted) access to the actual data throughout the remaining of the program will suffer heavily because of cache misses.
    Memory is being accessed randomly because the pointers still point to the unsorted data causing many many cache misses, which will render the program itself slow, although the sort was fast!!.
    Multi-threaded qsort is a good idea in principle and easy to implement obviously because qsort itself is recursive. The thing is Multi-threaded qsort is actually just stealing CPU time from other cores that might be busy running other apps, this might slow
    down other apps, which might not be ideal for servers. The thing researchers usually try to do is to do the improvement in the algorithm it self.
    I Will try to look at your sorting code, lets see if I can compile it.

  • Running BDC program in background for the transaction VL02N

    Hi All,
    I have coded a BDC program (call transaction method) for the transaction code VL02N. I can able to run the program manually & successfully. But if I execute the program in background(SM36), it is going to dump giving CNTL_ERROR.
    Note: I am not using any of the GUI_UPLOAD, GUI_DOWNLOAD funciton modules in the program. But I am using the FTP command funtion modules like( FTP_COMMAND, FTP_CONNECT, FTP_DISCONNECT and FTP_SERVER_TO_R/3).
    <removed_by_moderator>
    Thanks in advance.
    Ramesh.
    Edited by: Julius Bussche on Jul 8, 2008 5:55 PM

    VL02N is an enjoy transaction. You cant run it in background. Please try VL02.
    Thanks
    Romit

  • Replacement for the Replacement? help!! 1st generation program

    Hi my name is Juan Robles I recently enter to the 1st generation ipod program replacement, and they do send me a better ipod touch nano 8 gb 6 generation.
    but it doesn't charge, i let it charge for a hole day and I even try it with a usb cable and a wall charger and once you  disconected, it goes dead not even a blink... but if i plug it back to the cable it turn on very fast in less than 5 seconds.
    My question is do they support a replacement for the replacement they send me, it is less than 90 days of from the date of service.
    The Fedex box, the one with the replacement new ipod don't have the return address like the first one, the one where i send my 1st generation ipod. So any one  resolve a similar issue , i will love to have the return address. I allready try the thec phone support but they put me on hold for more tha a hour and nothing.
    Thanks in advance...

    Apple Service Operations
    3011 Laguna Blvd., Building A
    ELk Grove, CA 95758

  • Err in PO creation-Sales document item is not defined for the transaction

    Hi,
    I am getting the following error while creating PO
    "Sales document item 30000183 000100 is not defined for the transaction
    Message no. V1 198
    Diagnosis
    You have tried to carry out a business transaction for this sales and distribution document item which, for this item, is not allowed.
    This may be due to the fact that this item is not part of a make-to-order production with cost management in the sales order."
    I have used an item category which is copy of TAB and the sales order line item is attached to WBS element.
    can any one guide me what needs to be done.
    thanks

    If you want the sales order creation to initiate a PO creation automatically, check if the "Create PO Automatically" button is ticked on for the item category in Transaction flow tab in tcode VOV7
    This will solve your problem, provided your configuration for PO on the MM side is fine.
    Reward if this helps.

  • Finding output type and form for the transaction

    hi all,
       i have a problem finding output type and form for the transaction j1iv .actually i need to find the standard output type and form name for the transaction j1iv. how can we do it.

    Hi Abinash,
         Go through the following steps.
                     1 . Go to the transaction <b>NACE.</b>
                     2. You will be able to see the <b>Application and description</b> tab over  
                         there. Select the Application for which you need the output type.
                     3. After selecting the Application..on the top you can see the tab--
                        output types...click in that..here you will be able to see all the <b>output
                        types for that application.</b>
                    4. Now select a output type ..and on the left side u will be able to see
                       the tab for processing routines...double click on it...
                    5. Here you will be able to see the standard SAP program...the form
                       routine...the form..attached to it..
                Please Reward..if helpful..
    Regards,
    Himanshu.

  • Cancel an invoice for the transaction MR8M

    I want to cancel an invoice for the transaction MR8M but when canceling the system displays a message blocking  « No reversal possible. Reverse value must be reset », Can you help me please ?

    Check if that Invoice has been already cleared for pay.
    Regards
    TGB

  • Table name for the transaction data

    Hello Gurus,
        what is the table name for the transaction data which we have created through t.code PRO5. we are generating report for the total kms per vehicle type for a employee. these data in which tables can i get? the data related to trips ? 
    thanks in advance
    regds
    ramachandra

    Hi,
    Pl use RPR_TRIP_HEADER_DATA programme for getting general trip data, which will have details about number of KM travelled by employee for each trip, amount to reimbursed to the employee etc.
    Thanks,
    Nandagopal C

Maybe you are looking for

  • Opening multiple instances of the same vi

    Hi, I am having trouble opening multiple instances of the same vi. This vi that I am trying to create can be used like a message display window to display numbers, strings etc (just like labVIEW's display message control except that this vi will upda

  • Headphones show on won't switch to speakers?

    Speakers stopped working, volume control shows headphones are on. Checked switch settings, checked sound controls under "settings". Tried reset several times. I understand this is not an exclusive problem. Please don't tell me to do a full reset. I c

  • Steps to configure forms6i with oracle 9i

    hi,i have installed forms6i, oracle 9i in my system.how to connect forms6i with oracle9i becos if i open formbuilder and follo the steps it tells no listner.so please give steps to connect oracle 9i with forms6i.how to avoid this no listner.

  • Itunes freezes when i try to download tracks

    I purchased an album on the itunes store and when i tryed to download it the application froze. i quit the ap and even tryed to reboot the computer and it still freezes everytime i try. if it would be of any help to figure out whats wrong, when i go

  • How to delete an installed printer driver on imac

    I have installed a new printer through on my imac (10.6) and it does not work. how can I delete this installed printer driver (without affecting anything else)?