Benutzerdefinierte Eigenschaften in ein Mashup einschließen
Die folgenden Schritte stellen eine optimale Vorgehensweise für das Einschließen von Eigenschaften in ein Mashup dar:
1. Fügen Sie dem Data Shape _AP eine benutzerdefinierte Eigenschaft hinzu, und führen Sie den Dienst AddColumn gemäß der Beschreibung im vorherigen Abschnitt aus. Für dieses Beispiel wird weiterhin die benutzerdefinierte Eigenschaft Location verwendet, die dem Data Shape PTC.SCA.SCO.JobOrder_AP im vorherigen Abschnitt hinzugefügt wurde.
2. Erstellen Sie einen neuen Data Shape mit Felddefinitionen sowohl aus dem Data Shape der Haupt-Entität als auch aus dem Data Shape _AP.
Erstellen Sie für dieses Beispiel einen neuen Data Shape mit dem Namen MyJobOrder. Fügen Sie Felddefinitionen für ID (aus dem Data Shape PTC.SCA.SCO.JobOrder) und für Location (aus dem Data Shape PTC.SCA.SCO.JobOrder_AP) hinzu.
3. Navigieren Sie zum Ding PTC.SCA.SCO.ProductionOrderUtils.
4. Fügen Sie unter Dienste einen neuen Dienst hinzu, um Instanzen des in Schritt 2 erstellten Data Shape zu erstellen. Verwenden Sie als Eingabe- und Ausgabeparameter eine Infotable des neuen Data Shape.
Fügen Sie für dieses Beispiel einen neuen Dienst namens CreateMyJobOrder mit einer Infotable des Data Shape MyJobOrder für sowohl die Eingabe- als auch die Ausgabeparameter hinzu. Geben Sie im Dienst-Editor einen ähnliche Code wie den folgenden ein:
var productionManagerThingName = Things["PTC.Factory.LaunchPointConfigurationThing"].GetProductionOrderManagerThingName();
var newJobOrders = Things[productionManagerThingName].CreateJobOrders({
JobOrders: myJobOrders
});
//Put new job orders in a new info table of MyJobOrder in order to filter the return attribute, this is not required.
var params = {
infoTableName : "InfoTable",
dataShapeName : "MyJobOrder"
};
var result = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);
var tableLength = newJobOrders.rows.length;
for (var x=0; x < tableLength; x++) {
var row = newJobOrders.rows[x];
result.AddRow(row);
}
5. Wenn Sie den neuen Dienst in einem Mashup verwenden, werden neue Instanzen der Entität erstellt, in denen die benutzerdefinierte Eigenschaft enthalten ist. In diesem Beispiel führt die Verwendung des Dienstes CreateMyJobOrder in einem Mashup dazu, dass neue Projektaufträge erstellt werden, wobei in der Datenbanktabelle PTC.SCA.SCO.JobOrder die Eigenschaft ID und in der Datenbanktabelle PTC.SCA.SCO.JobOrder_AP die benutzerdefinierte Eigenschaft Location gefüllt wird.