How to avoid that two or more people alter the same Sales Order same time

I'm looking for a way to avoid that two or more people altering the same Sales Order at the same time.
If someone has entered a Sales Order in the system and something needs to be adjust it can be done by two or more people at the same time. The problem is that when someone is saving these changes, the changes of another person, who is still working on the same order, get lost.
So what we need is an alert that someone is already using this order and that no other person can make any changes at that time. So the order needs to be blocked for altering for any other person at that time.
To avoid this I think you have to do something with the Stored Procedure. Or has someone a more simple and better solution.
I've already put this thread in the Business One forum and someone suggested to put it in the Business One SDK forum, as there isn't a solution in Business One itself.
So if someone can give me a direction for a solution I would be very pleased.
Best regards,
Tim

Hi Tim,
The only thing that comes close to what you want in standard SBO is Data Ownership. However, this can't stop someone editing a document that is already being edited.
You can't use stored procedures to track which document is open because the SBO_SP_TransactionNotification proc (which is the only one that you are able to customise) is triggered when a document is updated or added (or cancelled or closed) and not when the document is actually being edited in the user-interface.
You could do this by writing an addon that uses the UI API to trap events in the sales order form. In theory, a sales order is being edited if the sales order form is in Update mode (ie in order for the form to be in Update mode, the user must have selected an existing document and changed the value of at least one field). You can trap the event of the user changing a value and then log the user and document in a table. When other users try to edit the same document, you could check the table and then prevent them changing values. When the first user clicks on the update button (or cancels the update or closes the form etc etc) you can remove the lock on the document. However, I have doubts as to how robust it would be. The problem with this kind of locking solution is that you sometimes get 'stranded' locks (eg user was editing a document when their workstation crashed) and the solution can end up being more troublesome than it is worth.
Kind Regards,
Owen

Similar Messages

  • How to avoid that two or more people altering the same Sales Order

    I'm looking for a way to avoid that two or more people altering the same Sales Order at the same time.
    If someone has entered a Sales Order in the system and something needs to be adjust it can be done by two or more people at the same time. The problem is that when someone is saving these changes, the changes of another person, who is still working on the same order, get lost.
    So what we need is an alert that someone is already using this order and that no other person can make any changes at that time. So the order needs to be blocked for altering for any other person at that time.
    To avoid this I think you have to do something with the Stored Procedure. Or has someone a more simple and better solution. So far I didn't find a standard option in Business One neither a solution in this forum.
    Best regards,
    Tim

    Tim,
    There is nothing in the application settings in Business One that could be used to prevent this.  You may post this to the SDK forum as well and perhaps there is a way to achieve this through SDK.

  • How can i get two or more people on the same call on iPhone 5

    On my blackberry I can make a call, and then call other people and add them to the call so we have several people on the same line. Is it possible to do this with an
    iphone 5?

    See page 51 of the iPhone User Manual.
    You can add folks to a call only if you use a GSM carrier.
    iPhone User Guide for iOS 8.1

  • How can I rotate two or more photos at the same time

    That´s what I do: I select various images and then apply a rotation, but only image rotates.
    I have tried too applying it to one image and "lift and stamp" to the rest,but this doesn´t work.
    Please, how can I do it?

    You have got a good answer from Claire, but if you are using a keyboard with a standard Spanish layout, you have to use SHIFT + [ to rotate to the right.
    You can also use ´ and ` (to the right of the letter P) to rotate the image. This is the location of the [ and ] on the US layout.
    If you use a Spanish ISO Layout on your keyboard, then you have to use ´ or ` since the [ is replaced by the º in the layout.
    You can also use the buttons for rotation in the Control Bar at the bottom of the window
    Regards
    paul k
      Mac OS X (10.4.8)  

  • How can I Resize Two or More Shapes At The Same Time?

    I've got text over a rectangle over another rectangle. When I change my text, the size of the boxes needs to change and it's a drag ot have to do each one separately and constantly realign. Is there a way I can resize both of them at the same time tokeep the proportions the same?
    Or is there a way I can enter #s to resize, so I could just enter the same #s for each shape?
    Thanks,
    Amanda

    Here's an example of what Wyodor is referring to: text in shapes within another shape.. It goes one step further and adds the first shape+text into another shape but the concept is the same.
    OT

  • Is there a way to work with two or more app at the same time on iPhone or iPad

    Is there a way to work with two or more app at the same time on iPhone or iPad?

    What i am attempting to achieve is to work with at least two app at the same time. For example: select any picture from my albums to attach them in an email. Another example is get data from an app to use it with the calc app. And there are more exaples for it. And for sure I need support for an iPad air. I mencioned the other tablet just to try to be a bit clearer.

  • How do you keep two users logged in at the same time?

    How do I keep two users logged in at the same time to be able to access home sharing?

    Fast User Switching in Users & Groups or Accounts preferences in Login Options.

  • FEBA - How to post two or more transactions at the same time?

    Hi,
        one of our banks sends the statemets with many lines that belongs to the same transaction. We have to post partially one line, and afterwards the other line. Any of you know how to post two lines at the same time from the bank statement?
    Thank you in advance,
    Miguel

    Hi,
    I'm sorry for replying so late.
    The solution I reached was to change the a few things in the standard.
    Now I have a new "context menu item". I select two or more transactions and I right-click the mouse. I select that "context menu item" and the next part of the code adds the total amount of the transactions to look for the correct post for the first transaction. Once posted automatically, the next transaction is posted automatically by the system.
    I hope you understand my English. I've problem with technical FI terms.
    Here you are the code:
    First I added a new contextual menu item:
    CL_FEBAN_ALV_GRID=============CCIMP
    call method e_object->add_function
        EXPORTING
            fcode = 'BS_POST_ITEMS'
            text = text-002.
    *{ INSERT DHTK904078 1
    *--> Miguel Estu00E9vez - 16/06/2008
    * RIPI 24/04/2008 - Conciliaciones
    * Permitir conciliar mu00E1s de un apunte a la vez
        call method e_object->add_function
            EXPORTING
                fcode = 'ZBS_POST_ITEMS'
                text = text-Z02.
    *<-- Miguel Estu00E9vez - 16/06/2008
    *} INSERT
        call method e_object->add_function
            EXPORTING
                fcode = 'BS_KILL_ADVICE'
                text = text-004.
    CL_FEBAN_ALV_GRID=============CCIMP
    when 'BS_POST_ITEMS'.
        call method cl_feban_propagator=>raise_event
            EXPORTING
                i_event = 'POST_ITEMS'
                i_ref_to_item = l_ref_to_item.
    *{ INSERT DHTK904078 2
    *--> Miguel Estu00E9vez - 16/06/2008
    * RIPI 24/04/2008 - Conciliaciones
    * Permitir conciliar mu00E1s de un apunte a la vez
        when 'ZBS_POST_ITEMS'.
            call method cl_feban_propagator=>raise_event
                EXPORTING
                    i_event = 'ZPOST_ITEMS'
                    i_ref_to_item = l_ref_to_item.
    *<-- Miguel Estu00E9vez - 16/06/2008
    *} INSERT
        when 'BS_LOCK_ITEMS'.
            call method cl_feban_propagator=>raise_event
                EXPORTING
                    i_event = 'LOCK_ITEMS'
                    i_ref_to_item = l_ref_to_item.
    CL_FEBAN_PROPAGATOR===========CM001
        when 'POST_ITEMS'.
            raise event post_items
                exporting i_ref_to_item = i_ref_to_item.
    *{ INSERT DHTK904078 1
    *--> Miguel Estu00E9vez - 16/06/2008
    * RIPI 24/04/2008 - Conciliaciones
    * Permitir conciliar mu00E1s de un apunte a la vez
        when 'ZPOST_ITEMS'.
            data: zvalor(1) value '' .
                export zvalor from 'X' to memory ID 'ZFEBA01'.
                raise event post_items
                    exporting i_ref_to_item = i_ref_to_item.
    *<-- Miguel Estu00E9vez - 16/06/2008
    *} INSERT
        when 'LOCK_ITEMS'.
            raise event lock_items
                exporting i_ref_to_item = i_ref_to_item.
    Now, I proceed to calculate the total amount of the selected transactions to look for the correct one to post.
    LNEW_FEBAF01
    *     user parameter
            l_feban_position type c.
            field-symbols: <items> type item_tab_type.
    *{ INSERT DHTK904077 1
    *--> Miguel Estu00E9vez - 16/06/2008
    * RIPI 24/04/2008 - Conciliaciones
    * Permitir conciliar mu00E1s de un apunte a la vez
        data: zvalor(1) value '',
            zkwbtr type kwbtr,
            kwb type kwbtr.
        import zvalor to zvalor from memory ID 'ZFEBA01'.
        if ( zvalor is not initial ).
            if not i_ref_to_item is initial.
                assign i_ref_to_item->* to <items>.
                loop at <items> into h_item.
                    select single kwbtr
                        into kwb
                        from febep
                        where kukey = h_item-kukey and
                            esnum = h_item-esnum.
                            zkwbtr = zkwbtr + kwb.
                endloop.
            endif.
            export zkwbtr from zkwbtr to memory ID 'ZKWBTR'.
        endif.
    *<-- Miguel Estu00E9vez - 16/06/2008
    *} INSERT
        refresh g_picked_items.
        if not i_ref_to_item is initial.
            assign i_ref_to_item->* to <items>.
            loop at <items> into h_item.
                move-corresponding h_item to h_picked_items.
                append h_picked_items to g_picked_items.
            endloop.
        endif.
        submit rfebbu00 and return
            user sy-uname
            with anwnd = r_doc->*-anwnd
            with s_kukey in s_kukey
            with s_esnum in s_esnum
            with buber = g_posting_area
            with mregel = '1'
            with function = 'C'
            with mode = g_mode
            with p_bupro = g_bupro.
    *{ INSERT DHTK904077 2
    *--> Miguel Estu00E9vez - 17/06/2008
    * RIPI 24/04/2008 - Conciliaciones
    * Permitir conciliar mu00E1s de un apunte a la vez
        if ( zkwbtr is not initial ).
            select single kwbtr
                into kwb
                from febep
                where kukey = h_kukey-low and
                    esnum = h_esnum-low.
                    zkwbtr = zkwbtr - kwb.
            export zkwbtr from zkwbtr to memory ID 'ZKWBTR'.
        endif.
    *<-- Miguel Estu00E9vez - 17/06/2008
    *} INSERT
        refresh s_kukey.
        refresh s_esnum.
        clear h_kukey.
        clear h_esnum.
    endloop. "loop over all picked items
    call function 'CUSTOMIZED_MESSAGE'
        EXPORTING
            i_arbgb = 'NEW_FEBA'
            i_dtype = '-'
            i_msgnr = '110'.
    RFEBBU00
    * original transaction currency provided and posting area = 2.
            ftclear-selvon = febep-fwbtr. "INSERT - mpEURO
        ENDIF. "INSERT - mpEURO
        CONDENSE ftclear-selvon NO-GAPS.
    *{ INSERT DHTK903977 1
    *--> Miguel Estu00E9vez - 16/06/2008
    * RIPI 24/04/2008 - Conciliaciones
    * Permitir conciliar mu00E1s de un apunte a la vez
        data: zkwbtr type kwbtr.
        import zkwbtr to zkwbtr from memory ID 'ZKWBTR'.
        if ( zkwbtr is not initial ).
            ftclear-selvon = zkwbtr.
            clear zkwbtr.
        endif.
    *<-- Miguel Estu00E9vez - 16/06/2008
    *} INSERT
    APPEND ftclear.
    ** Begin of comment C5053248
    * perform druck_buzei_ftclear using ftclear-agkon.

  • How to start two or more tasks at the same time?

    Hi all,
      I have few tasks setup to send analog and digital output to different channel with buffer and given sampling rate. I need to precisely control the timing of samples output to each channel. But if I start the task in labwindows
        DAQmxStartTask(taskHandle1)
        DAQmxStartTask(taskHandle2)
        DAQmxStartTask(taskHandle3)
    they actually not start at the same time since they are exectued in sequence. I wonder how much time delay will be if I start each task in sequence. Also, is it possible to have 2 or more tasks started at the same time?
    p.s. I think it will be easier if I could bind different channels to a single virtual channel but I don't think it is possible to create a signle virtual channel with analog channel and digitial channel.

    RobertoBozzolo wrote:
    I had success in doing something similar on the input side by sharing the same sample clock across the tasks with:
    DAQmxCfgSampClkTiming (DigitalTaskHandle, "/Dev1/ai/SampleClock", 1000, DAQmx_Val_Rising, DAQmx_Val_FiniteSamps, 1000);
    In my application I had the power to have the same acquisition speed on all tasks, so that the sample clock could be same on all of them.
    The conceptual framework is this one (pay attention to the step order):
    Setup your AO task
    Setup your DO task
    Set the DO task to share the AO sample clock with the instruction given above
    Start the DO task (IMPORTANT: it must precede the AO task start, so that DO task is started but does not generate samples)
    Start the AO task
    If you have different sample speed on the tasks, I suppose an alternative is to use a start trigger sharing some digital signal among them. I have seen examples that use a separate counter output as a start trigger.
    Thanks a lot. It gives me a good information, I think that will help. I am encountering another sitution, if task1 is analog output with continuous samples with rate 100000 samples/second and task2 and task3 are a single digital sample (i.e. write only 1 sample to one digital line). In task1, I write continuous samples and there will be a spike (of 2.2V) at the time 1.2ms after the task started. And I want to write to the digital channels (task2 and task3) at 0.2ms before the spike was set in task1. In this case, there is only one sample written to DO task, so how does it work to use the sample clock source?
    In your last suggestion, we could use tirgger but how does it help? Is there any example I can follow? Thanks.

  • It is necessary for me to have more than one window open in Firefox, and the command (New Window) no longer works. How do I have two different websites open at the same time on separate displays?

    I used to be able to open two Firefox windows at a time, with one website on one display and another website on another display. Now when I select New Window, nothing happens.

    You can tear off a tab (right-click: Move to New Window) to open it in another window and resize both windows so you see them at the same time.
    *Fox Splitter: https://addons.mozilla.org/firefox/addon/fox-splitter/
    *Split Pannel: https://addons.mozilla.org/firefox/addon/split-pannel

  • How can I get two cameras to aquire at the same time rather than one after the other

    I've got (2) PCI-1428 cards, Two Uniq Vision cameras with power supplies, cameralink cables, and IMAQ-D6804 cables. Both cameras are being triggered by the same switch, but they are not grabbing images at the same time. Right now it is triggering one camera as desired, but the other doesn't aquire until after the time-sensitive event. On the next test, the two camera will trade these roles. I am using 2 cards, so they should acquire at the same time. How do I change it so that they grab images at the same time? Thank you for your help.
                                                      ​            Deater

    Hi Deater,
    Thank  you for your post.  Triggering from two cameras at the same time may be a little trickey, but it can be done.  There are multiple ways to tackle this problem.  If you have a RTSI cable, you can RTSI the two PCI boards together internally to lock them in HW.  You should also be able to use the triggering line on each board.
    One of the best methods for triggering multiple boards is called GenLocking.  The following Developer Zone page describes GenLocking more fully and has several examples to help you out: http://zone.ni.com/devzone/conceptd.nsf/webmain/a3​87b5c0ac6f6f4e86256c87005fcddf.
    The "HL Grab with two boards.vi" shipping example is also a good example of the code needed to trigger two individual boards in LV.  I found a similar post that may be of some help as well: http://forums.ni.com/ni/board/message?board.id=230​&message.id=2691&requireLogin=False
    Hope this helps!
    Thanks,
    Scott Savage
    National Instruments
    Applications Engineering
    www.ni.com/support

  • How do I use two computers in logic at the same time?

    I would like to find out how to make two computers work in the same project, both having logic installed.

    No that is not possible.
    You talk about a synchronized system. iCloud is doing something similar to work on the same document on different computers and have them synchronized. However that creates a problem if two computers (users) updating the same file which creates a conflict because the computer doesn't know which file to update wiht what.
    However, Logic has a very easy feature to import tracks from one Project to another. It is the Browser window.
    Mount each other's computer so you have access to the individual Project on each other's computer
    Open the Browser window in Logic in your Project and navigate to to your friends Project
    Select that Project and pick any Track (optional: content, plugin, settings, etc)
    If you want to update only the data, just select that track and only its content and choose overwrite existing Track.
    Play around a bit and you will see that it is an amazing (often overlooked and underrated) feature.
    Hope that helps
    Edgar Rothermich
    http://DingDingMusic.com/Manuals
    'I may receive some form of compensation, financial or otherwise, from my recommendation or link.'

  • How can i run two iphone 5 sims at the same time?

    I have 2 iphone 5 sim cards, one for business and one personal. Is there a way to run both on one phone? also be able to accept calls from either sim?
    Thanks.
    Tim

    Does anyone have any experience with the Magic-sim elite? It's a strip that fits inside any iphone case as far as I can see. £24.95 in the UK.
    http://www.magic-sim.com/product/id/15/MAGICSIM_ELITE_-_iPHONE_5_DUAL_SIM_ADAPTE R.html

  • I am doing two people's jobs and I need to use two separate log-ins on the same website. How can I keep both log-ins open at the same time. Everytime I switch tabs I have to log in again.

    I am doing two people's jobs and I need to use two separate log-ins on the same website. How can I keep both log-ins open at the same time. Everytime I switch tabs I have to log in again.

    Try one of these extensions for multiple cookie sessions.
    Multifox: <br />
    http://br.mozdev.org/multifox/ <br />
    Cookie Swap extension: <br />
    https://addons.mozilla.org/firefox/3255/ <br />
    Cookie Pie extension: <br />
    http://www.nektra.com/oss/firefox/extensions/cookiepie/

  • ERROR: MyService.jws:715:There are two or more operations with the same schema-element 'ns0:MyNameSpace' on the input message in a web service file or callback interface.

    I have two web service operations that have the same complex type as their input
    parameter. I want to map this type to an existing schema. I can successfully
    do this with the first operation using XQuery but when I attempt to do this with
    the second operation I get the following error:
    ERROR: MyService.jws:715:There are two or more operations with the same schema-element
    'ns0:MyNamespace' on the input message in a web service file or callback interface.
    ERROR:      SUGGESTION: Use different schema-element values for each of those operations.
    How can I use different schema-element values? The input parameters are to be
    mapped to the same schema and same element since they are the same for both operations....

    I am having the same problem. How did you resolve this..?? could you please tell me the solution??
    Thanks
    Shari

Maybe you are looking for

  • BW Server Error when running Query in BEx Analyzer

    Hi All, We are currently trying to run a custom Consolidation query in Bex Analyzer but coming across this error below. We are on BI 7.0 (SAP NetWeaver 2004s), BEx Analyzer 2004s Release, Support Pack 9, Patch 4, Revision 372. This error message is o

  • Why does my paragraph break before and after a subscript?

    RH 9.0.2.271, Word 2010, Windows 7, 64-bit PC This is an intermittent problem occurring in the Word output. The WebHelp is fine. In the following image you can see that the subscripts worked in the early part of the paragraph, but then split. Here is

  • Uploading music CD's to itunes

    Two issues.  The first one is that when I upload some music cd's into my itunes library, itunes wants to place the songs in a compilations folder.  Sometimes this occurs even with a 2 or 3 cd set.  One CD will be filed under the artists name and the

  • Flashing Border in Java ...

    I've spent about three days looking for a way to make a flashing border in Java. I want to be able to play the game while this border flashes around the title. What is the best recommended method to do this .. and why .. and how? .. Swing timers ? ba

  • Problem in ImageLoading,Please help!

    I have a problem in Loading a binary image file which has a header and binary information. I am using the following code to display the image File f = new File("image.Img"); FileInputStream fis = new FileInputStream(f); int pixels = imagewidth;//No o