I have list of PIds which belong to table of Titan decoder. Using these PIds i want to get the parameter name. For example in Decoder overview table,
PID - 1112
Parameter name - Decoding
Im trying to find extension methods to find this, but we can only get value of those PID. If someone can help me with this, it would be great.
Hi,
To provide an answer based on the comment on the answer of Miguel.
If the protocolName and protocolVersion is available and based on this the GetProtocolInfoResponseMessage is retrieved, then this response message contains the needed information.
When there is GetProtocolInfoReponseMessage protocolInfo available, then protocolInfo.Parameters contains a collection of all parameters. In this case, the most interesting properties are: ID (=parameter ID), Description (=displayed name of the parameter). A table parameter will have IsTable = true. A table column parameter will have IsTableColumn = true and ParentTablePid will refer to the parent ID of the parameter it belongs to (or ParentTable property provides direct access to the parameter definition of the table it belongs to).
There is no straight forward message to have a mapping between parameter IDs and their names, but by iterating the protocolInfo.Parameters collection and a bit of puzzling should result into seeing the tables and their column names and pids.
DISCLAIMER: be careful when using _engine.SendSLNetSingleResponseMessage as it can have far-reaching consequences on the functionality of your DataMiner System.
Regards,
Hi Baranisudha,
I am not sure if there is a method that can provide the parameter name from a parameter ID. For example, when triggering an automation script from a correlation rule, we have a workaround to pass the parameter name to the automation script.
A possible option could be using web services. There is a method GetParameterInfo that will return a DMAParameterInfo object that contains the parameter name.
Hope it helps.

As my response was getting a bit lengthy, I've provided this in a new answer to make it more readable.
What im trying to do is, from LCA Im getting protocol name, using that Im fetching service params and table pids by below code. Now i want user to choose necessary table columns as per need. So i want to get table columns. In this case i wont have dmaId, element id. Im just having protocol name.
This is how i get service params and table details from protocol:
GetProtocolMessage getProtocolRequest = new GetProtocolMessage(protocolName, protocolVersion);
var protocolInfo = _engine.SendSLNetSingleResponseMessage(getProtocolRequest) as GetProtocolInfoResponseMessage;
currently im trying to get table definitions using below code but getting object reference error:
GetTableDefinitionMessage table = new GetTableDefinitionMessage(columnName);
var tableInfo = _engine.SendSLNetSingleResponseMessage(table) as GetTableDefinitionResponse;