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:
Shared Lock
Full Lock
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.
The three types of locks work with each other as per the following rules:
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 |
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 |
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 |