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

AVEVA™ Integration Service

ETAPClient

  • Last UpdatedJul 27, 2026
  • 2 minute read

Namespace: AVEVA.IntegrationService.DataAPI.SDK

Interface: IETAPClient

Description: ETAPClient is used to communicate with ETAP ProductCategory products for electrical power system analysis.

Methods

GetEtapData

Retrieves ETAP data with optional filtering.

Signature:

Task<DataSet> GetEtapData(string datasourceName, string filter = "")

Example:

// Create the ETAP client

string host = "https://your-server/integration/v1";

string token = "your-access-token";

var etapClient = DataApiClientFactory.CreateDataApiClient<ETAPClient>(

host: host,

authType: AuthenticationType.Connect,

waitingTimeInMinutesForLiveData: 60,

token: token,

hubCancellationToken: null

);

// Get all ETAP data

DataSet etapData = await etapClient.GetEtapData("MyETAPDataSource");

foreach (DataTable table in etapData.Tables)

{

Console.WriteLine($"Table: {table.TableName}, Rows: {table.Rows.Count}");

}

// Get filtered ETAP data

DataSet filteredData = await etapClient.GetEtapData(

"MyETAPDataSource",

filter: "Voltage gt 100"

);

GetEtapSchema

Retrieves ETAP schema (column information only).

Signature:

Task<DataSet> GetEtapSchema(string datasourceName)

Example:

DataSet etapSchema = await etapClient.GetEtapSchema("MyETAPDataSource");

foreach (DataTable table in etapSchema.Tables)

{

Console.WriteLine($"Table: {table.TableName}");

foreach (DataColumn col in table.Columns)

{

Console.WriteLine($" Column: {col.ColumnName}, Type: {col.DataType}");

}

}

PostEtapData

Posts ETAP data to the datasource.

Signature:

Task<AcknowledgementResult> PostEtapData(

string datasourceName,

DataSet data,

string AckId,

string Context = "",

string Topic = "",

int expiryDuration = 0

)

Example:

// Create ETAP data

DataSet etapData = new DataSet();

DataTable busData = new DataTable("Buses");

busData.Columns.Add("BusID", typeof(string));

busData.Columns.Add("Voltage", typeof(double));

busData.Columns.Add("Type", typeof(string));

busData.Rows.Add("BUS001", 132.0, "Swing");

busData.Rows.Add("BUS002", 33.0, "Load");

etapData.Tables.Add(busData);

DataTable lineData = new DataTable("Lines");

lineData.Columns.Add("LineID", typeof(string));

lineData.Columns.Add("FromBus", typeof(string));

lineData.Columns.Add("ToBus", typeof(string));

lineData.Rows.Add("LINE001", "BUS001", "BUS002");

etapData.Tables.Add(lineData);

AcknowledgementResult result = await etapClient.PostEtapData(

datasourceName: "MyETAPDataSource",

data: etapData,

AckId: "",

Context: "{\"Analysis\":\"LoadFlow\"}",

expiryDuration: 24

);

Console.WriteLine($"Posted ETAP data. AckId: {result.AcknowledgementId}");

PostEtapSchema

Posts ETAP schema to the datasource.

Signature:

Task<AcknowledgementResult> PostEtapSchema(

string datasourceName,

DataSet data,

string AckId,

string Context = "",

string Topic = "",

int expiryDuration = 0

)

Example:

// Create schema definition

DataSet schemaData = new DataSet();

DataTable busSchema = new DataTable("Buses");

busSchema.Columns.Add("BusID", typeof(string));

busSchema.Columns.Add("Voltage", typeof(double));

busSchema.Columns.Add("Type", typeof(string));

schemaData.Tables.Add(busSchema);

AcknowledgementResult result = await etapClient.PostEtapSchema(

"MyETAPDataSource",

schemaData,

""

);

Related Links