Skip to main content
11-Garnet
May 14, 2024
Solved

Best Way to Code

  • May 14, 2024
  • 1 reply
  • 1651 views

Hi Everyone, I am currently running  Thingworx version 9.3.5,
I am currently trying to run a code on replacing X number for a message what would be the best way to do that?
Example below:

let message = "";

switch (number) {

    case 253:

        message = "On Standby";

        break;

Best answer by Velkumar

Yes your method is right.

 

But we can optimize it by bit

var messageValue = "Message not found";

// result: INFOTABLE dataShape: ""
let data = Things["DATATABLE"].GetDataTableEntryByKey({
	key: "KEYVALUE" /* STRING */
});

if(data.length > 0){
 messageValue = data.messageField;
}

 

Also refer -Best Practices for Coding in JavaScript (ptc.com)

 

/VR

1 reply

19-Tanzanite
May 15, 2024

Hi @VC_10938534 

 

You can create an DataTable with number as primary key to store this data.

 

In script, you can use GetDataTableEntryByKey service to get message value which will avoid long if or switch condition in code.

 

Also in future if you need to add more number and message, you can add entry directly in DataTable without altering the script.

 

/VR

11-Garnet
May 15, 2024

Im fairly new to coding would this be right?
var params = {
tableName: "YourDataTableName",
key: "YourKeyToSearch"
};


var result = Things["YourDataTableThing"].GetDataTableEntryByKey(params);

if (result !== undefined && result !== null) {
var messageValue = result.messageField;

} else {

Velkumar19-TanzaniteAnswer
19-Tanzanite
May 16, 2024

Yes your method is right.

 

But we can optimize it by bit

var messageValue = "Message not found";

// result: INFOTABLE dataShape: ""
let data = Things["DATATABLE"].GetDataTableEntryByKey({
	key: "KEYVALUE" /* STRING */
});

if(data.length > 0){
 messageValue = data.messageField;
}

 

Also refer -Best Practices for Coding in JavaScript (ptc.com)

 

/VR