設定 ServiceMax 事件的自動建立
以下章節將說明該如何根據 ThingWorx 警示與訂閱,設定 ServiceMax 中的事件自動建立功能。
建立警示
1. ThingWorx Composer 中尋找您資產,例如 Asset_PTC.SCA.SCO.Demo.Sim.Pump1
2. 「屬性與警示」之下,找出您想要新增警示的屬性,例如溫度,然後按一下「警示」欄中的 。
3. 輸入該警示的必要資訊,例如:
資訊
已啟用
(選取核取方塊)
名稱
HighTemperature
描述
在操作期間偵測到較高溫度
屬性
溫度
警示類型
在範圍內
最小值
300
是否包含最小值?
(選取核取方塊)
最大值
400
是否包含最大值?
(清除核取方塊)
優先順序
3
4. 按一下 。
5. 按一下「儲存」
建立訂閱
1. ThingWorx Composer 中尋找您資產,例如 Asset_PTC.SCA.SCO.Demo.Sim.Pump1
2. 「訂閱」之下點按「新增」
3. 完成訂閱資訊:
「訂閱資訊」之下:
來源 - Me
已啟用 - (選取核取方塊)
「輸入」之下:
事件 - 警示
屬性 - 溫度
4. 新增您的指令集以呼叫 PTC.SCA.SCO.AssetService.Connector.ServiceMax 的適當服務。若需更多資訊,請參閱程序的範例指令集。
5. 按一下「完成」
6. 按一下「儲存」
範例指令集
* 
為呈現操作方式,下列編碼範例已重設格式,因此可能包括隱藏的編輯字元,例如標籤、行尾字元和多餘空格。如果您複製並貼上這些範例,請在嘗試於應用程式中使用該編碼前,檢查是否存在這些字元並將其移除。
建立 ServiceRequest 指令集:
var otherParams = {
infoTableName: "othersInfoTable", /* STRING */
dataShapeName: "PTC.SCA.SCO.AssetService.Connector.ServiceMaxApiPayloadDataShape.OthersDataShape" /* DATASHAPENAME */
};
// result: INFOTABLE
var othersInfoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(otherParams);
var othersRow = {
'FieldName': 'AssetSerialNumber',
'FieldValue': 'MySerialNumber'
};
othersInfoTable.AddRow(othersRow);

var params = {
infoTableName: "InfoTable", /* STRING */
dataShapeName: "PTC.SCA.SCO.AssetService.Connector.ServiceMaxApiPayloadDataShape" /* DATASHAPENAME */
};
// result: INFOTABLE
var payloadInfoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);
var payloadInfoTableRow = {
'EventDataName': eventData.name,
'EventDataPriority': eventData.priority,
'EventDataMessage': eventData.message,
'EventDataDescription': eventData.description,
'EventDataAlertType': eventData.alertType,
'EventDataSourceProperty': sourceProperty,
'AssetThingName': source,
'EventDataEventTime': '2018-12-00 12:00:00',
'AssetSerialNumber' : ‘MySerialNumber’,
'AssetModelNumber': ‘MyModelNumber’,
'Others': othersInfoTable,
};
payloadInfoTable.AddRow(payloadInfoTableRow);
// create service request
var result = Things["PTC.SCA.SCO.AssetService.Connector.ServiceMaxConnector"].CreateServiceRequest ({eventInfo: payloadInfoTable,alternatePayload:null});
建立 Case 指令集:
var otherParams = {
infoTableName: "othersInfoTable", /* STRING */
dataShapeName: "PTC.SCA.SCO.AssetService.Connector.ServiceMaxApiPayloadDataShape.OthersDataShape" /* DATASHAPENAME */
};
// result: INFOTABLE
var othersInfoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(otherParams);
var othersRow = {
'FieldName': 'AssetSerialNumber',
'FieldValue': 'MySerialNumber'
};
othersInfoTable.AddRow(othersRow);

var params = {
infoTableName: "InfoTable", /* STRING */
dataShapeName: "PTC.SCA.SCO.AssetService.Connector.ServiceMaxApiPayloadDataShape" /* DATASHAPENAME */
};
// result: INFOTABLE
var payloadInfoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);
var payloadInfoTableRow = {
'EventDataName': eventData.name,
'EventDataPriority': eventData.priority,
'EventDataMessage': eventData.message,
'EventDataDescription': eventData.description,
'EventDataAlertType': eventData.alertType,
'EventDataSourceProperty': sourceProperty,
'AssetThingName': source,
'EventDataEventTime': '2018-12-00 12:00:00',
'AssetSerialNumber' : ‘MySerialNumber’,
'AssetModelNumber': ‘MyModelNumber’,
'Others': othersInfoTable,
};
payloadInfoTable.AddRow(payloadInfoTableRow);
// create case
var result = Things["PTC.SCA.SCO.AssetService.Connector.ServiceMaxConnector"].CreateCase({eventInfo: payloadInfoTable,alternatePayload:null});
建立 WorkOrder 指令集:
var otherParams = {
infoTableName: "othersInfoTable", /* STRING */
dataShapeName: "PTC.SCA.SCO.AssetService.Connector.ServiceMaxApiPayloadDataShape.OthersDataShape" /* DATASHAPENAME */
};
// result: INFOTABLE
var othersInfoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(otherParams);
var othersRow = {
'FieldName': 'AssetSerialNumber',
'FieldValue': 'MySerialNumber'
};
othersInfoTable.AddRow(othersRow);

var params = {
infoTableName: "InfoTable", /* STRING */
dataShapeName: "PTC.SCA.SCO.AssetService.Connector.ServiceMaxApiPayloadDataShape" /* DATASHAPENAME */
};
// result: INFOTABLE
var payloadInfoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);
var payloadInfoTableRow = {
'EventDataName': eventData.name,
'EventDataPriority': eventData.priority,
'EventDataMessage': eventData.message,
'EventDataDescription': eventData.description,
'EventDataAlertType': eventData.alertType,
'EventDataSourceProperty': sourceProperty,
'AssetThingName': source,
'EventDataEventTime': '2018-12-00 12:00:00',
'AssetSerialNumber' : ‘MySerialNumber’,
'AssetModelNumber': ‘MyModelNumber’,
'Others': othersInfoTable,
};
payloadInfoTable.AddRow(payloadInfoTableRow);
// create workorder
var result = Things["PTC.SCA.SCO.AssetService.Connector.ServiceMaxConnector"].CreateWorkOrder({eventInfo: payloadInfoTableRow,alternatePayload:null});