Buchungssperre

10/2008



One user per booking / booking locks

Idea It is required to have a possibility to make sure, that only one user is able to do modifications in one booking at the same time. Currently it is possible that multiple users do modifications on same booking at the same time, even if changes them self are only done once (first user).
Other users will get errors that rebooking is only valid on last sequence. Entered changes are deleted while displaying booking again.
Idea is to implement locking functionality on booking level. User has to check out/lock booking before any modification will be possible.
1. new flag in system settings `Buchungsänderungen nur nach Sperren der Buchung´ (

Flag will activate locking functionality. As default setting is off.
2. Implementation of new transaction code New action code 'DE' (Darstellung exklusiv/Display exclusive) is available for display bookings with locking functionality.


3. Implementation new user rights


3.1 under `Genesis action` New authority setting for new `DE´ action is available. Entry enables user to lock bookings (for modification) with action 'DE'.
3.2 under 'Genesis' New authority setting `Superuser exclusive Buchungen´ is available.
Entry enables user (in case flag is NOT set)

  1. to display all locked bookings from all users with action 'DE' and
  2. to display new list containing all locked booking numbers.


First part is necessary to unlock bookings manually if required.

4. using action D In any case, new flag in system setting ( see 1) set or not, booking display with action 'D' is possible.
Booking will be displayed without booking lock.
4.1 new flag is not set No changes in current system behaviour action 'D' :

  • All booking modifications are allowed according to user rights.
    4.2 new flag is set
    New system behaviour action 'D' :
  • NO booking modification can be done because booking is not locked.
    Try to do any change will lead to an error message `Dieser Vorgang kann momentan
    nicht berarbeitet werden' with additional information in remark field `bitte sperren sie zuerst den Vorgang mit Aktion DE´
  • Additional locking information should be displayed in Genesis mask.
    -> In case booking is not already locked by another user :
    Booking number is displayed in black and message `Darstellung OK´(`Display ok´).
    -> In case booking is already locked by another user :
    Booking number is displayed in red and message Darstellung OK´(`Display ok´) with
    additional information about user who locked booking in remark comes up.
    Sample action 'D' for already locked booking :

5. using new transaction code DE

5.1 new flag is not set New action 'DE' must execute normal 'D' action according to actual system behaviour.

  • All booking modifications are allowed according to user rights.
    5.2 new flag is set
    If new flag in system setting is activated any booking modifications according to user rights are only possible after booking lock with action code 'DE'. Using new action 'DE' displays last booking sequence (same as action 'D') and additionally lock actual booking for other users. Lock takes place on user level. Information is taken from Log-In entries ('Name').
    'Sales office' is also stored for information purpose.
    Additional locking information should be displayed in Genesis mask.
    -> In case booking is not already locked by another user :
    Booking number is displayed in green and message `Darstellung OK´(`Display ok´) with
    additional information about user who locked booking (actual user) in remark comes up.
    -> In case booking is already locked by another user :
    Booking number is displayed in red and message 'Dieser Vorgang kann momentan
    nicht berarbeitet werden' with additional information about user who locked booking and text
    'Buchungssperre nicht möglich' in remark comes up.
    Sample action 'DE' for not already locked booking :

    6. Unlock / check in of bookings


    Locked bookings are automatically checked in again if
    1. booking change is successfully done; independent of new sequence.
    2. using action D or DE on any booking (same or other booking) independent
    on successful execution.3. closing Genesis.

    7.Super user functionality


    Super users (user rights) are able to lock EVERY booking with action 'DE' independent if they are already locked by another user. By using 'DE' and following action 'D' it is possible to unlock every booking which is e.g. mistakenly locked.
    Furthermore new list for locked bookings is available (only) for super users.
    List can be executed via Genesis menu new entry 'show locked bookings' and contains all checked-out bookings from all users (sort by click on column header).

    Double click on booking number opens booking in Genesis (action D).


    8.Reiseanmeldung

    In Genesis ‚Reiseanmeldung' is just available in case user has locked booking with action 'DE'. Action is normal booking modification.
    In DaVinci 'Reiseanmeldung' can just be executed if booking is NOT locked by any user;
    otherwise error message has to come up.
    -> DaVinci logic is part of second Bedev document 'one user per booking_part_2.doc'