Lock Types in Concurrent Modifications

Attribute List with Lock Types

When field (attribute) values are updated by users via concurrent modifications, the system locks the attributes according to certain rules. There are three types of locks that can be applied to the attributes, they are listed below and their names are self-explanatory:

  1. Shared Lock

  2. Full Lock

  3. Partial Lock

The list of attributes with their lock types is as follows:

Entity Attribute (Field) Name Lock Type
Header IDV Ceiling Amount Shared
Line Quantity Shared
Line Amount Shared
Line Exercise Option Line Full
Line Contract Type Full
Line Cost Constraint Full
Line UOM Full
Line Price Full
Line Source IDV Full
Line Source IDV Line Full
Line IDC Type Full
Shipment Quantity Shared
Shipment Amount Shared
Shipment Ship-To Location Full
Shipment Ship-To Org Full
Distribution Funded Value Shared
Distribution Quantity Shared
Distribution Amount Shared
Distribution Partial Funded Full
Distribution Destination Type Full
Distribution Destination Subinventory Full

All other attributes have a Partial lock.

Lock Rules during concurrent updates

The three types of locks work with each other as per the following rules:

  1. When an attribute with a Shared lock is being updated in the first modification:

    • If an attribute with a Shared lock (example: Quantity, Amount) is being updated by the user via a modification, then any other user(s) can update the attribute or any other attribute concurrently, with a Shared lock, and their modifications will have a Shared Lock for the attribute.

    • If an attribute with a Shared lock (example: Quantity, Amount) is being updated by the user via a modification, then any other user(s) can update the attribute or any other attribute concurrently with a Partial lock.

    • If an attribute with a Shared lock (example: Quantity, Amount) is being updated by the user via a modification, another user cannot update an attribute concurrently, with a Full lock (example: Price, IDC Type) via a second modification.

    Mod 1 Mod 2 Concurrent Updates Possible ?
    Shared Lock Shared Lock Yes
    Shared Lock Partial Lock Yes
    Shared Lock Full Lock No
  2. If an attribute with a Partial lock (example: Need-By Date, Item, Description) is being updated by the user via a modification, then:

    • If an attribute with a Partial lock is being updated by the user via a modification, then any other user(s) can update the attribute or any other attribute concurrently with a Shared lock.

    • If an attribute with a Partial lock is being updated by the user via a modification, then another user cannot update any other attribute concurrently with a Partial lock via a second modification.

    • If an attribute with a Partial lock is being updated by the user via a modification, then another user cannot update any other attribute concurrently with a Full lock via a second modification.

    Mod 1 Mod 2 Concurrent Updates Possible ?
    Partial Lock Shared Lock Yes
    Partial Lock Partial Lock No
    Partial Lock Full Lock No
  3. If an attribute with a Full lock (example: Contract Type, Cost Constraint, Price) is being updated by the user via a modification, then another user(s) cannot update the attribute. In addition, the second user cannot update an attribute that has a Shared, Partial or Full lock on the second modification. The second user needs to notify the first user to make the required updates.

Mod 1 Mod 2 Concurrent Updates Possible?
Full Lock Shared Lock No
Full Lock Partial Lock No
Full Lock Full Lock No