Windchill benutzerdefinierte Attribute unterstützen
Zusätzliche Konfigurationen sind erforderlich, um Werte aus Windchill MPMLink zu importieren, die nicht als Teil des standardmäßigen Konvertierungsprozesses für Arbeitsanweisungsbausteine importiert werden. Diese Werte können Windchill Attribute beinhalten, die nicht bereits dem Datenmodell für den Arbeitsanweisungsbaustein zugeordnet sind, oder benutzerdefinierte Windchill Attribute, die auch als Soft-Attribute bezeichnet werden.
Im folgenden Beispiel werden die Werte von MyCustomAttribute importiert, wobei es sich um ein benutzerdefiniertes Attribut des Datentyps STRING für eine Windchill MPMLink Operation handelt.
1. Überprüfen Sie, ob die Attributwerte in REST-Aufrufen zurückgegeben werden. Führen Sie den nachfolgenden Befehl für die Windchill MPMLink REST-Dienste aus. Verwenden Sie hierzu entweder das MPMLink OData-Konnektor-Ding (PTC.SCA.SCO.MPMLink_ODataConnector) oder führen Sie den Befehl direkt im REST-Client aus, und überprüfen Sie, ob MyCustomAttribute zurückgegeben wird:
GET /servlet/odata/MfgProcMgmt/Operations('ID')
2. Aktualisieren Sie den zugehörigen <Operator_Advisor_Objekt>_AP-Data Shape. Die Eigenschaft, die dem Data Shape hinzugefügt wird, muss dem jeweiligen Datentyp für das Windchill Attribut entsprechen, dem sie zugeordnet wird.
In diesem Beispiel werden Werte von MyCustomAttribute einer neuen Eigenschaft vom Datentyp STRING namens MyCustomProperty für den Data Shape PTC.SCA.SCO.WorkDefinition_AP hinzugefügt.
3. Stellen Sie sicher, dass eine Spalte für die neue Eigenschaft in der Datenbank verfügbar ist, indem Sie einen Dienst Get ausführen, der sich auf den primären Data Shape bezieht. Führen Sie in diesem Beispiel den Dienst GetWorkDefinition aus dem Ding PTC.SCA.SCO.DefaultProductionOrderManager aus, und stellen Sie sicher, dass die Ergebnisse eine Spalte MyCustomProperty enthalten.
4. Suchen Sie in dem Ding für benutzerdefinierte Zuordnungen (PTC.SCA.SCO.MPMLinkWorkDefinitionCustomMappings) nach dem entsprechenden Dienst für benutzerdefinierte Zuordnungen des Data Shape des Arbeitsanweisungsbausteins sowie die Windchill Informationen, für die Sie das Attribut zuordnen möchten, und überschreiben Sie diese. Suchen Sie für dieses Beispiel den Dienst MapWorkDefinitionPropertiesForOperationHolder, und überschreiben Sie ihn. Eine Liste der bereitgestellten Dienste für benutzerdefinierte Zuordnungen finden Sie unter Dienste zum Anpassen von Zuordnungen.
5. Geben Sie die Zuordnung zwischen der benutzerdefinierten Eigenschaft, die dem Data Shape <Operator_Advisor_Objekt>_AP hinzugefügt wurde, und dem Windchill Attribut gemäß den Kommentaren im Dienstcode an. Fügen Sie für dieses Beispiel Folgendes hinzu:
result["MyCustomProperty"] = sourceJson["OperationHolder"]["MyCustomAttribute"];
Bei sourceJson handelt es sich um den Teil des REST-Aufrufs, der als Eingabe für den Dienst bereitgestellt wird. Es wird nur der für den Windchill Objekttyp, der von dem Dienst zugeordnet wird, zutreffende Teil des REST-Aufrufs als Eingabe für den Dienst bereitgestellt. Verwenden Sie den Attributnamen aus dem in Schritt 1 verwendeten REST-Aufruf als Wert für das Windchill Attribut. Verwenden Sie nicht den internen Namen des Attributs, wie er in Windchill angezeigt wird.
* 
Die vom Arbeitsanweisungsbaustein definierten Zuordnungen können auch über die Dienste für benutzerdefinierte Zuordnungen angepasst werden. Fügen Sie dem Dienst MapWorkDefinitionPropertiesForOperationHolderCustom Folgendes hinzu, um z.B. das Attribut Description für eine Operation in Windchill MPMLink der Eigenschaft LongDescription für Arbeitsdefinitionen im Arbeitsanweisungsbaustein zuzuordnen, und nicht der Eigenschaft Description:
result["LongDescription"] = sourceJson["OperationHolder"]["Description"];
Wenn Sie eine der vom Arbeitsanweisungsbaustein definierten Zuordnungen anpassen, vergewissern Sie sich, dass die angepassten Zuordnungen auch nach dem Upgrade auf eine neue Version des Arbeitsanweisungsbausteins wie erwartet konvertiert werden.
Werte für die Eigenschaft MyCustomAttribute für Windchill MPMLink Operationen werden jetzt eingeschlossen, wenn Prozessplaninformationen aus Windchill MPMLink abgerufen und in Arbeitsdefinitionen sowie zugehörige Informationen konvertiert werden.
Windchill Attribute des Datentyps "Reelle Zahl mit Einheiten" zuordnen
Windchill Attribute des Datentyps Reelle Zahl mit Einheiten werden im REST-Aufruf als JSON-Objekt mit mehreren Werten und nicht als einzelnes Attribut-Wert-Paar weitergegeben. Beispiel:
"Attribute2": {
"Value": 123.45,
"Unit": "m/s2",
"Precision": 5,
"Display": "123.45 m/s2"
}
Sie können im Arbeitsanweisungsbaustein eine Zuordnung für einen der Werte festlegen oder das gesamte JSON-Objekt als Wert einer Eigenschaft vom Typ STRING zuordnen:
Um einen der Attributwerte zuzuordnen, geben Sie sowohl den Attributnamen als auch den Wert an, der zugeordnet werden soll:
result["MyCustomProperty"] = sourceJson["Attribute2"]["Value"]
Geben Sie nur den Attributnamen an, um das gesamte JSON-Objekt, einschließlich aller Werte, als Wert für eine Eigenschaft vom Typ STRING des Arbeitsanweisungsbausteins zuzuordnen:
result["MyCustomProperty"] = sourceJson["Attribute2"]
Mehrwertige Windchill Attribute zuordnen
Bei einem mehrwertigen Attribut in Windchill wurde die Beschränkung Einzelwert entfernt. Nur Attribute vom Typ Global können mehrwertig sein.
Mehrwertige Attribute aus Windchill sind im REST-Aufruf als in einem JSON-Array aufgelistete Werten enthalten, ähnlich dem folgenden Schema:
"MultiValuedAttribute": [
"Attribute value 1",
"Attribute value 2",
"Attribute value 3"
]
Sie können im Arbeitsanweisungsbaustein eine Zuordnung für einen einzelnen Wert festlegen oder das gesamte JSON-Array aus Attributwerten als Wert einer Eigenschaft vom Typ STRING zuordnen:
Um einen bestimmten Wert aus einem mehrwertigen Attribut zuzuordnen, geben Sie den Attributnamen und die Position des Werts in der Reihenfolge der Werte an (beginnend bei 0).
result["MyCustomProperty"] = sourceJson["MultiValuedAttribute"][1]
Geben Sie nur den Attributnamen an, um das gesamte JSON-Array aus Werten für das Attribut als Wert für eine Arbeitsanweisungsbaustein-Eigenschaft vom Typ STRING zuzuordnen:
result["MyCustomProperty"] = sourceJson["MultiValuedAttribute"]
Windchill Listenattribute zuordnen
Für ein Listenattribut in Windchill gilt eine der folgenden Listenbeschränkungen: Aufzählungswertliste, Liste gültiger Werte oder Liste vorgeschlagener Werte. Listenattribute können entweder Global oder Lokal sein.
Ein Listenattribut aus Windchill ist im REST-Aufruf als JSON-Objekt mit mehreren Werten und nicht als einzelnes Attribut-Wert-Paar enthalten. Beispiel:
"ListAttribute": [
{
"Value": "Test 1",
"Display": "Test 1"
},
}
Sie können im Arbeitsanweisungsbaustein eine Zuordnung für einen der Werte festlegen oder das gesamte JSON-Objekt als Wert einer Eigenschaft vom Typ STRING zuordnen:
Um einen der Attributwerte zuzuordnen, geben Sie sowohl den Attributnamen als auch den Wert an, der zugeordnet werden soll:
result["MyCustomProperty"] = sourceJson["ListAttribute"]["Value"]
Geben Sie nur den Attributnamen an, um das gesamte JSON-Objekt, einschließlich aller Werte, als Wert für eine Eigenschaft vom Typ STRING des Arbeitsanweisungsbausteins zuzuordnen:
result["MyCustomProperty"] = sourceJson["ListAttribute"]
War dies hilfreich?