Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AF SDK Reference

AFAdjustment Class

  • Last UpdatedNov 18, 2025
  • 9 minute read
AFAdjustment Class
The AFAdjustment defines a modification made to an AFAttribute value used during within an analysis in case run.

Inheritance Hierarchy

SystemObject
  OSIsoft.AFAFObject
    OSIsoft.AF.AnalysisAFAdjustment

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

  NameDescription
Public property
AdjustedValue
This property returns the new value for the AFAttribute after the adjustment was made.
Public property
Attribute
The read-only property returns the AFAttribute of the AFBaseElement being adjusted.
Public property
Case
This read-only property returns the AFCase that contains this object.
Public property
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.
Public property
CreationTime
This read-only property returns the time that this adjustment was created .
Public property
Creator
This property returns the name of the person who created the adjustment.
Public property
Database
This read-only property returns the AFDatabase where this object is defined.
Public property
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.)
Public property
Identity
This read-only property contains identity of the object.
(Inherited from AFObject.)
Public property
IsDeleted
This read-only property indicates whether the object has been deleted.
(Inherited from AFObject.)
Public property
Name
The read-only property returns the name of the elements and attributes of this adjustment.
Public property
PISystem
This read-only property allows access to the PISystem associated with this object.
(Inherited from AFObject.)
Public property
PreviousValue
This property returns the previous value for the attribute before the adjustment was made.
Public property
Result
This read-only property returns the AFResult that owns this object.
Public property
UniqueID
Read-only property that provides the object's ID as a String.
(Inherited from AFObject.)

Methods

  NameDescription
Public method
CompareTo(Object)
Compares this instance with a specified Object.
(Overrides AFObjectCompareTo(Object).)
Public method
CompareTo(AFAdjustment)
Compares this instance with a specified AFAdjustment.
Public method
CompareTo(AFObject)
Compares this instance with a specified AFObject.
(Inherited from AFObject.)
Public method
Equals(Object)
Determines whether the specified Object is equal to the current object.
(Overrides AFObjectEquals(Object).)
Public method
Equals(AFAdjustment)
Indicates whether the current object is equal to another object of the same type.
Public method
Equals(AFObject)
Indicates whether the current object is equal to another object of the same type.
(Inherited from AFObject.)
Public method
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.)
Public method
GetPath
Returns the full path to the object, using just the names.
(Inherited from AFObject.)
Public method
GetPath(AFObject)
Returns the path to the object relative from another object.
(Inherited from AFObject.)
Public method
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.)
Public method
GetType
Gets the Type of the current instance.
(Inherited from Object.)
Public method
Persist
This method returns the persistence string for the object.
(Inherited from AFObject.)
Public method
ToString
Returns a String that represents the current object.
(Inherited from AFObject.)

Operators

  NameDescription
Public operatorStatic member
Equality
The equality operator (==) compares its operands to determine if they are equal.
Public operatorStatic member
GreaterThan
The greater than relation operator (>) compares its operands to determine which one is greater than the other.
Public operatorStatic member
GreaterThanOrEqual
The greater than or equal relation operator (>=) compares its operands to determine which one is greater than or equal to the other.
Public operatorStatic member
Inequality
The inequality operator (!=) compares its operands to determine if they are not equal.
Public operatorStatic member
LessThan
The less than relation operator (<) compares its operands to determine which one is less than the other.
Public operatorStatic member
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.

Version Information

AFSDK


See Also

TitleResults for “How to create a CRG?”Also Available in