Benutzerdefinierte Import- oder Export-Delegates für Einkaufswagen und Einkaufswagenartikel schreiben
Servigistics InService bietet die Möglichkeit, cart und cartItem über die Schnittstelle com.ptc.sc.services.plugins.excel.ExcelCartFormatConverterDelegate in das Microsoft Excel-Format zu exportieren bzw. daraus zu importieren. Wenn Sie jedoch ein anderes Format benötigen (z.B. CSV), können Sie eine benutzerdefinierte Delegate-Java-Klasse erstellen, die die Schnittstelle com.ptc.sc.services.plugins.CartFormatConverterDelegate implementiert.
Diese Schnittstelle enthält die folgenden zu implementierenden Methoden. com.ptc.sc.services.utils.ImportExportUtility wurde für die einfachen Import- und Exportfunktionen erstellt; Kunden sollten nach Möglichkeit dieses Dienstprogramm verwenden, wenn sie benutzerdefinierte Delegates erstellen. Weitere Details hierzu finden Sie in der JavaDoc für die vorstehenden Klassen.
• InputStream convertFromSCItem(SCItem cart)
Exportiert den Einkaufswagen und seinen Inhalt. Das angegebene SCItem stellt das Einkaufswagen-Objekt dar und enthält die Sammlung "items", die eine Liste von Einkaufswagenartikeln darstellt.
• SCItem convertToSCItem(InputStream inputStream)
Importiert den Einkaufswagen und seinen Inhalt. Der angegebene InputStream ist die hochgeladene Datei.
• String getExtension()
Gibt das Erweiterungssuffix zurück, das dieser Delegate verarbeiten kann. Beim Schreiben eines CSV-Delegate gibt diese Methode beispielsweise ".csv" zurück.
• String getMimeType()
Gibt den MIME-Medientyp zurück, der der von diesem Delegate verarbeiteten Erweiterung entspricht. Für CSV wird beispielsweise "text/csv" zurückgegeben.
• String getLocalizedTitle()
Gibt den lokalisierten Titel der Erweiterung zurück, die dieser Delegate verarbeitet. Dies ist der Titel, der in der Benutzeroberfläche angezeigt wird, wenn ein Benutzer auf der Seite mit Einkaufswagen-Details auf die Aktion zum Herunterladen klickt:
• void createSheetFromData(XSSFWorkbook workbook, String newSheetName, List<List<Object>> cartItemsDataTable)
Aktualisiert eine Excel-Arbeitsmappe mit einer Tabelle von Daten in einem neuen Blatt.
Im Client-Modus ist keine Anpassung erforderlich. Der lokalisierte Titel der Erweiterung, die der benutzerdefinierte Delegate unterstützt, wird nach der Registrierung in der Dropdown-Liste Dateityp angezeigt.
Benutzerdefinierte Delegate-Klassen registrieren
Fügen Sie den folgenden Eintrag für den benutzerdefinierten Export-Delegate der Datei site.xconf im Verzeichnis <INS_HOME>/InS_SW/SW/Applications/Windchill.ear hinzu:
<Service context="default" name="com.ptc.sc.services.plugins.
CartFormatConverterDelegate">
<Option serviceClass="<customExportDelegateClassName>" requestor="null"
selector="<file extension>"/>
</Service>
Der Selektorwert muss die Dateierweiterung sein, die von diesem Delegate unterstützt wird. Wenn der Delegate beispielsweise CSV unterstützt, muss der Wert für den Selektor ".csv" lauten.