AFAdjustment Class
- Last UpdatedNov 18, 2025
- 9 minute read
- PI System
- AF SDK 2024 R2
- Developer
The AFAdjustment defines a modification made to an
AFAttribute value used during within an analysis in case run.

Inheritance Hierarchy
Namespace: OSIsoft.AF.Analysis
Assembly: OSIsoft.AFSDK (in OSIsoft.AFSDK.dll) Version: 3.1.1.1182
Syntax
[SerializableAttribute] public sealed class AFAdjustment : AFObject, IComparable<AFAdjustment>, IEquatable<AFAdjustment>
<SerializableAttribute> Public NotInheritable Class AFAdjustment Inherits AFObject Implements IComparable(Of AFAdjustment), IEquatable(Of AFAdjustment) Dim instance As AFAdjustment
[SerializableAttribute] public ref class AFAdjustment sealed : public AFObject, IComparable<AFAdjustment^>, IEquatable<AFAdjustment^>
[<SealedAttribute>] [<SerializableAttribute>] type AFAdjustment = class inherit AFObject interface IComparable<AFAdjustment> interface IEquatable<AFAdjustment> end
The AFAdjustment type exposes the following members.
Properties
| Name | Description | |
|---|---|---|
| AdjustedValue |
This property returns the new value for the AFAttribute after the adjustment was made.
| |
| Attribute |
The read-only property returns the AFAttribute of the
AFBaseElement being adjusted.
| |
| Case |
This read-only property returns the AFCase that contains this object.
| |
| Comment |
This property contains a descriptive comment for the adjustment being made. This is
the only field that you can update after the adjustment has been created.
| |
| CreationTime |
This read-only property returns the time that this adjustment was created .
| |
| Creator |
This property returns the name of the person who created the adjustment.
| |
| Database |
This read-only property returns the AFDatabase where this object is defined.
| |
| ID |
Read-only property that provides a unique identifier for the object to be used for
quick access that is not dependent upon the index.
(Inherited from AFObject.) | |
| Identity |
This read-only property contains identity of the object.
(Inherited from AFObject.) | |
| IsDeleted |
This read-only property indicates whether the object has been deleted.
(Inherited from AFObject.) | |
| Name |
The read-only property returns the name of the elements and attributes
of this adjustment.
| |
| PISystem |
This read-only property allows access to the PISystem associated with this
object.
(Inherited from AFObject.) | |
| PreviousValue |
This property returns the previous value for the attribute before the adjustment was made.
| |
| Result |
This read-only property returns the AFResult that owns this object.
| |
| UniqueID |
Read-only property that provides the object's ID as a String.
(Inherited from AFObject.) |
Methods
| Name | Description | |
|---|---|---|
| CompareTo(Object) |
Compares this instance with a specified Object.
(Overrides AFObjectCompareTo(Object).) | |
| CompareTo(AFAdjustment) |
Compares this instance with a specified AFAdjustment.
| |
| CompareTo(AFObject) |
Compares this instance with a specified AFObject.
(Inherited from AFObject.) | |
| Equals(Object) |
Determines whether the specified Object is equal to the current object.
(Overrides AFObjectEquals(Object).) | |
| Equals(AFAdjustment) |
Indicates whether the current object is equal to another object of the same type.
| |
| Equals(AFObject) |
Indicates whether the current object is equal to another object of the same type.
(Inherited from AFObject.) | |
| GetHashCode |
Gets the hash code for this instance of the object which is suitable for use in hashing
algorithms and data structures like a hash table.
(Overrides AFObjectGetHashCode.) | |
| GetPath |
Returns the full path to the object, using just the names.
(Inherited from AFObject.) | |
| GetPath(AFObject) |
Returns the path to the object relative from another object.
(Inherited from AFObject.) | |
| GetPath(AFEncodeType, AFObject) |
Returns the path to the object relative from another object,
using the name and/or id as specified
by encodeType.
(Inherited from AFObject.) | |
| GetType | Gets the Type of the current instance. (Inherited from Object.) | |
| Persist |
This method returns the persistence string for the object.
(Inherited from AFObject.) | |
| ToString |
Returns a String that represents the current object.
(Inherited from AFObject.) |
Operators
| Name | Description | |
|---|---|---|
| Equality |
The equality operator (==) compares its operands to determine if they are equal.
| |
| GreaterThan |
The greater than relation operator (>) compares its operands to determine
which one is greater than the other.
| |
| GreaterThanOrEqual |
The greater than or equal relation operator (>=) compares its operands to determine
which one is greater than or equal to the other.
| |
| Inequality |
The inequality operator (!=) compares its operands to determine if they are not equal.
| |
| LessThan |
The less than relation operator (<) compares its operands to determine
which one is less than the other.
| |
| LessThanOrEqual |
The less than or equal relation operator (<=) compares its operands to determine
which one is less than or equal to the other.
|
Remarks
To make an adjustment, you use the Add(String, String, Object, UOM)
method of the result's Adjustments collection. The
previous value will be saved in the in the PreviousValue property.
The adjusted value will now be added to or replaced in the
AFCase.Results collection.
The AFAttributeGetValue
methods always returns the new adjusted value when called with the
AFCase object as a context.
Examples
// This example shows how to create an adjustment to an attribute value made during a case run. // Note: This example assumes that there is a database called "Chocolate Milk Tutorial" // with a Model named "ChocolateMilkModel", with a Model Analysis named "Volume Balance" // The model also contains a "MilkTank1" child Element with a "Volume" Attribute // Get the Database PISystems myPISystems = new PISystems(); AFDatabase myDB = myPISystems.DefaultPISystem.Databases["Chocolate Milk Tutorial"]; // Get the Model Analysis AFAnalysis myAnalysis = AFAnalysis.FindAnalyses(myDB, "ChocolateMilkModel::Volume Balance", AFSearchField.Name, AFSortField.Name, AFSortOrder.Ascending, 1)[0]; // Create a Case and Collect Inputs AFCase myCase = myAnalysis.AddCase(); myCase.CollectInputs(); // Create an Adjustment AFResult myResult = myCase.Results[myDB.Elements["MilkTank1"].Attributes["Volume"]]; myResult.Adjustments.Add("This is the creator.", "This is a comment.", "2 US gal", null); myDB.CheckIn(); // Display each Adjustment before clear method Console.WriteLine("Adjustment Count = {0}", myResult.Adjustments.Count); foreach (AFAdjustment CurAdjustment in myResult.Adjustments) { Console.WriteLine("Before Clear Method:"); AFElement ownerElement = CurAdjustment.Attribute.Element as AFElement; if (ownerElement != null) Console.WriteLine(" Element of Adjustment = {0}", ownerElement.Name); Console.WriteLine(" Attribute of Element Adjusted = {0}", CurAdjustment.Attribute.Name); Console.WriteLine(" Adjusted Value = {0}", CurAdjustment.AdjustedValue); Console.WriteLine(" Previous Value = {0}", CurAdjustment.PreviousValue); } // Call the clear method on the collection to clear the non-committed Adjustment values myResult.Adjustments.Clear("This is the creator.", "This is the comment."); // Display each Adjustment after clear method Console.WriteLine("Adjustment Count = {0}", myResult.Adjustments.Count); foreach (AFAdjustment CurAdjustment in myResult.Adjustments) { Console.WriteLine("After Clear Method:"); Console.WriteLine(" Element of Adjustment = {0}", CurAdjustment.Attribute.Element.Name); Console.WriteLine(" Attribute of Element Adjusted = {0}", CurAdjustment.Attribute.Name); if (CurAdjustment.AdjustedValue == null) Console.WriteLine(" Adjusted Value = <null>"); else Console.WriteLine(" Adjusted Value = {0}", CurAdjustment.AdjustedValue); if (CurAdjustment.PreviousValue == null) Console.WriteLine(" Previous Value = <null>"); else Console.WriteLine(" Previous Value = {0}", CurAdjustment.PreviousValue); }
' This example shows how to create an adjustment to an attribute value made during a case run. ' Note: This example assumes that there is a database called "Chocolate Milk Tutorial" ' with a Model named "ChocolateMilkModel", with a Model Analysis named "Volume Balance" ' The model also contains a "MilkTank1" child Element with a "Volume" Attribute ' Get the Database Dim myPISystems As New PISystems Dim myDB As AFDatabase = myPISystems.DefaultPISystem.Databases("Chocolate Milk Tutorial") ' Get the Model Analysis Dim myAnalysis As AFAnalysis = AFAnalysis.FindAnalyses(myDB, "ChocolateMilkModel::Volume Balance", AFSearchField.Name, AFSortField.Name, AFSortOrder.Descending, 1)(0) ' Create a Case and Collect Inputs Dim myCase As AFCase = myAnalysis.AddCase myCase.CollectInputs() ' Create an Adjustment Dim myResult As AFResult = myCase.Results(myDB.Elements("MilkTank1").Attributes("Volume")) Dim CurAdjustment As AFAdjustment = myResult.Adjustments.Add("This is the creator.", "This is a comment.", "2 US gal", Nothing) myDB.CheckIn() ' Display each Adjustment before clear method Console.WriteLine("Adjustment Count = {0}", myResult.Adjustments.Count) For Each CurAdjustment In myResult.Adjustments Console.WriteLine("Before Clear Method:") Dim ownerElement As AFElement = CType(CurAdjustment.Attribute.Element, AFElement) If (ownerElement <> Nothing) Then Console.WriteLine(" Element of Adjustment = {0}", ownerElement.Name) End If Console.WriteLine(" Attribute of Element Adjusted = {0}", CurAdjustment.Attribute.Name) Console.WriteLine(" Adjusted Value = {0}", CurAdjustment.AdjustedValue) Console.WriteLine(" Previous Value = {0}", CurAdjustment.PreviousValue) Next CurAdjustment ' Call the clear method on the collection to clear the non-committed Adjustment values myResult.Adjustments.Clear("This is the creator.", "This is the comment.") ' Display each Adjustment after clear method Console.WriteLine("Adjustment Count = {0}", myResult.Adjustments.Count) For Each CurAdjustment In myResult.Adjustments Console.WriteLine("After Clear Method:") Console.WriteLine(" Element of Adjustment = {0}", CurAdjustment.Attribute.Element.Name) Console.WriteLine(" Attribute of Element Adjusted = {0}", CurAdjustment.Attribute.Name) If CurAdjustment.AdjustedValue Is Nothing Then Console.WriteLine(" Adjusted Value = <null>") Else Console.WriteLine(" Adjusted Value = {0}", CurAdjustment.AdjustedValue) End If If CurAdjustment.PreviousValue Is Nothing Then Console.WriteLine(" Previous Value = <null>") Else Console.WriteLine(" Previous Value = {0}", CurAdjustment.PreviousValue) End If Next CurAdjustment
No code example is currently available or this language may not be supported.
No code example is currently available or this language may not be supported.