Servigistics InService 自訂 > 自訂系統整合 > 經由協力廠商系統新增全域替代零件
  
經由協力廠商系統新增全域替代零件
Servigistics InService 可讓您經由協力廠商系統新增零件來作為全域替代零件。欲經由協力廠商系統新增全域替代零件,請使用有實行 com.ptc.sc.services.plugins.PricingDelgate 介面的自訂委派。介面必須呼叫 injectPricing()getAlternativePart (SCItem item) 方法。如需有關建立自訂委派的詳細資訊,請參閱在伺服器上建立自訂委派
您可以在自訂委派中實行下列流程:
讓來自協力廠商系統的全域替代零件可供 Servigistics InService 使用。請在自訂委派的 injectPricing() 方法中指定此流程的邏輯。
讓來自協力廠商系統之全域替代零件的位置與其他詳細資訊可供 Servigistics InService 使用。請在自訂委派的 getAlternativePart (SCItem item) 方法中指定此流程的邏輯。
經由協力廠商系統新增全域替代零件的範例程式碼
自訂委派之 injectPricing()getAlternativePart (SCItem item) 方法中的下列範例程式碼會從協力廠商系統取得全域替代零件編號 000012345 與其詳細資訊:
@Override
public void injectPricing(SCId scId, SCList scList) throws Exception {
if (!DownloadCenterUtils.isAgentMode()) {
priceFormatter = createNumberFormatter();
logMetaData(scList);
// Inject pricing for each item in the list
for (SCItem item : scList.retrieveItems()) {
clearPricing(item);
injectPricing(item);
getAlternativePart(item);

}
private void getAlternativePart(SCItem item) {

/*We have used static data just as an example.Actual
* implementation should be to fetch data from 3rd party system */
SCValue alternatePartNumber = new SCValue();
alternatePartNumber.setKey("Partnumber");
alternatePartNumber.setValue("000012345");
alternatePartNumber.setTitle("Partnumber");

SCValue alternatePartOrgName = new SCValue();
alternatePartOrgName.setKey("orgName");
alternatePartOrgName.setValue("AMP_Org");
alternatePartOrgName.setTitle("orgName");

SCValue alternatePartLocation = new SCValue();
alternatePartLocation.setKey("location");
alternatePartLocation.setValue("India");
alternatePartLocation.setTitle("Location");

item.putCustomMetadata(alternatePartNumber);
item.putCustomMetadata(alternatePartOrgName);
item.putCustomMetadata(alternatePartLocation);

}