Servigistics InService Anpassung > Einkaufsparameter anpassen > Servigistics InService in ein Bestellsystem eines Drittanbieters integrieren > Beispielcode für das Integrieren von Servigistics InService in ein Bestellsystem
  
Beispielcode für das Integrieren von Servigistics InService in ein Bestellsystem
Dieser Beispielcode für die Integration von Servigistics InService in ein Bestellsystem dient nur zu Referenzzwecken. Dieser Code wird in einer benutzerdefinierten Java-Quelldatei des benutzerdefinierten Delegate verwendet, der die Schnittstelle com.ptc.sc.services.plugins.CommerceDelegate implementiert. Sie können diesen Code entsprechend Ihren Anforderungen ändern.
Beispielcode für das Abrufen des Schlüssels und des Werts von Soft-Attributen für Bestellungen
Mit dem folgenden Beispielcode werden der Schlüssel und der Wert der Soft-Attribute für Bestellungen von Servigistics InService mithilfe der Methode placeOrder() abgerufen. Die Soft-Attribute der Bestellung enthalten den Wert, den Sie im Dialogfenster Einkaufsparameter festlegen festlegen:
@Override
public SCEOrder placeOrder (SCEOrder orderObj) throws Exception
{ //Code to fetch the SoftAttributes from Order Object and this information can be send to third party ordering system
Map<String, Object> existingAttrs = orderObj.getTypedAttrs();
if (existingAttrs != null) {
String dealarCode = existingAttrs.get("dealerCode") !=
null ? existingAttrs.get("dealerCode").toString() : null ;
String customer = existingAttrs.get("customer") !=
null ? existingAttrs.get("customer").toString() : null ;
String location = existingAttrs.get("location") !=
null ? existingAttrs.get("location").toString() : null ;
}
return orderObj;
}
Beispielcode für das Abrufen der Einkaufswageninformationen
Mit dem folgenden Beispielcode werden die Einkaufswageninformationen von Servigistics InService mithilfe der Methode placeOrder() abgerufen. Diese Informationen umfassen die Metadaten des Einkaufswagens mit Bestellungen, wie Name, Notizen und Zeitstempel (Datum und Uhrzeit der Erstellung und Änderung):
@Override
public SCEOrder placeOrder (SCEOrder orderObj) throws Exception
{
String cartName = orderObj.getName();
String dealerName = orderObj.getDealer().getName();
String notes = orderObj.getNote();
return orderObj;
}
Beispielcode für das Abrufen der Einkaufswagenartikel-Informationen
Mit dem folgenden Beispielcode werden die Einkaufswagenartikel-Informationen von Servigistics InService mithilfe der Methode placeOrder() abgerufen. Dies umfasst die Informationen über die Artikel (Teile), die zum Einkaufswagen hinzugefügt wurden, wie z.B. Teilenummer und Menge:
@Override
public SCEOrder placeOrder (SCEOrder orderObj) throws Exception
{ //Code to get cartItem information
List<SCECartItem> cartItems = getCartItems(orderObj);
for (SCECartItem cartItem : cartItems) {
String partNumber;
String price;
String quantity;
String notes = cartItem.getNotes();
String description = cartItem.getDescription();
if (cartItem.getPricingmetadata() != null) {
JSONObject pricingInfo = new JSONObject
(cartItem.getPricingmetadata());
}
if (cartItem instanceof SCEInternalCartItem) {
SCEInternalCartItem internalCartItem =
(SCEInternalCartItem) cartItem;
SCENavLink sceNavLink =
internalCartItem.getE3cNavLink();
if (sceNavLink != null) {
SCENavItemHistoryMetadata historyMetaData = sceNavLink.getItemHistoryMetadata();
if (historyMetaData != null) {
JSONObject part =
historyMetaData.getJSONObject();
partNumber = part.getString
("partNumber");
}
}
}else {
SCEExternalCartItem externalCartItem =
(SCEExternalCartItem) cartItem;
partNumber = externalCartItem.getPartNumber();
}
}
return orderObj;
}
}
Beispielcode für das Abrufen von Bestelldetails aus dem Bestellsystem
Mit dem folgenden Beispielcode werden die benutzerdefinierten orderStatus-Attributdetails aus einem Bestellsystem eines Drittanbieters mithilfe der Methode placeOrder() abgerufen:
@Override
public SCEOrder placeOrder (SCEOrder orderObj) throws Exception
{ // Code to Set any additional information like OrderStaus
that is return back from the third party order system
Map<String, Object> existingAttrs = orderObj.getTypedAttrs();
if (existingAttrs == null) {
existingAttrs = new HashMap<String, Object>();
existingAttrs.put("orderStatus", "Order Success");
orderObj.setTypedAttrs(existingAttrs);
} else {
existingAttrs.put("orderStatus", "Order Success");
}
return orderObj;
}
Die folgende Antwort für eine aufgegebene Bestellung zeigt die Attribute orderId und orderStatus in einer JSON-Datei:
Informationen zum Anzeigen benutzerdefinierter Attribute aus einem Bestellsystem eines Drittanbieters auf der Seite Details einer Bestellung in Servigistics InService finden Sie im Abschnitt "Benutzerdefinierte Attribute auf der Detailseite einer Bestellung anzeigen" des Themas Servigistics InService mit den Informationen eines Drittanbieter-Bestellsystems anpassen.