2015-12-31 3 views
1

Я хочу экспортировать только один продукт с использованием гибридов impex:
после sql дайте мне этот продукт.Как я могу экспортировать только один продукт в Hybris с использованием impex

select * from products where code='489923' 

Я пытаюсь изменить сценарий экспорта:

# ---- Extension: core ---- Type: Product ---- 
"#% impex.setTargetFile(""Product.csv"");" 
insert_update Product;pk;Europe1PriceFactory_PDG(code,itemtype(code));Europe1PriceFactory_PPG(code,itemtype(code));Europe1PriceFactory_PTG(code,itemtype(code));approvalStatus(code,itemtype(code))[allownull=true];articleStatus[lang=en];buyerIDS(key(code,itemtype(code)));catalog(id)[allownull=true];catalogVersion(catalog(id),version)[unique=true,allownull=true];code[unique=true,allownull=true];contentUnit(code);creationtime[forceWrite=true,dateformat=dd.MM.yyyy hh:mm:ss];data_sheet(catalogVersion(catalog(id),version),code);deliveryTime;description[lang=en];detail(catalogVersion(catalog(id),version),code);ean;endLineNumber;erpGroupBuyer;erpGroupSupplier;europe1Discounts(pk);europe1Prices(pk);europe1Taxes(pk);galleryImages(catalogVersion(catalog(id),version),qualifier);logo(catalogVersion(catalog(id),version),code);manufacturerAID;manufacturerName;manufacturerTypeDescription[lang=en];maxOrderQuantity;minOrderQuantity;name[lang=en];normal(catalogVersion(catalog(id),version),code);numberContentUnits;offlineDate[dateformat=dd.MM.yyyy hh:mm:ss];onlineDate[dateformat=dd.MM.yyyy hh:mm:ss];order;orderQuantityInterval;others(catalogVersion(catalog(id),version),code);owner(pk)[allownull=true];picture(catalogVersion(catalog(id),version),code);priceQuantity;productOrderLimit(pk);remarks[lang=en];segment[lang=en];sequenceId;specialTreatmentClasses();startLineNumber;summary[lang=en];supplierAlternativeAID;thumbnail(catalogVersion(catalog(id),version),code);thumbnails(catalogVersion(catalog(id),version),code);unit(code);variantType(code);variants(catalogVersion(catalog(id),version),code);xmlcontent 
"#% impex.exportItems(""Product"" , false);" 

следующим образом:

# ---- Extension: core ---- Type: Product ---- 
"#% impex.setTargetFile(""Product.csv"");" 
insert_update Product;pk;Europe1PriceFactory_PDG(code,itemtype(code));Europe1PriceFactory_PPG(code,itemtype(code));Europe1PriceFactory_PTG(code,itemtype(code));approvalStatus(code,itemtype(code))[allownull=true];articleStatus[lang=en];buyerIDS(key(code,itemtype(code)));catalog(id)[allownull=true];catalogVersion(catalog(id),version)[unique=true,allownull=true];code[unique=true,allownull=true];contentUnit(code);creationtime[forceWrite=true,dateformat=dd.MM.yyyy hh:mm:ss];data_sheet(catalogVersion(catalog(id),version),code);deliveryTime;description[lang=en];detail(catalogVersion(catalog(id),version),code);ean;endLineNumber;erpGroupBuyer;erpGroupSupplier;europe1Discounts(pk);europe1Prices(pk);europe1Taxes(pk);galleryImages(catalogVersion(catalog(id),version),qualifier);logo(catalogVersion(catalog(id),version),code);manufacturerAID;manufacturerName;manufacturerTypeDescription[lang=en];maxOrderQuantity;minOrderQuantity;name[lang=en];normal(catalogVersion(catalog(id),version),code);numberContentUnits;offlineDate[dateformat=dd.MM.yyyy hh:mm:ss];onlineDate[dateformat=dd.MM.yyyy hh:mm:ss];order;orderQuantityInterval;others(catalogVersion(catalog(id),version),code);owner(pk)[allownull=true];picture(catalogVersion(catalog(id),version),code);priceQuantity;productOrderLimit(pk);remarks[lang=en];segment[lang=en];sequenceId;specialTreatmentClasses();startLineNumber;summary[lang=en];supplierAlternativeAID;thumbnail(catalogVersion(catalog(id),version),code);thumbnails(catalogVersion(catalog(id),version),code);unit(code);variantType(code);variants(catalogVersion(catalog(id),version),code);xmlcontent 
"#% impex.exportItems(""SELECT {K:pk} FROM {Product as K} WHERE {K:code}='489923' , false);" 

так, что я могу экспортировать только один продукт. Но это дает мне ошибку? Также я не уверен, как увидеть детали ошибки.

ответ

0

У вас есть ошибка в вашем файле impex, когда вы пытались вызвать функцию exportItems.

на основе версии Hybris, функция exportItems имеет много вида:

// since 3.1-RC 
    public void exportItemsFlexibleSearch(String query) 
    public void exportItemsFlexibleSearch(String query, Map values, List resultClasses, final boolean failOnUnknownFields, final boolean dontNeedTotal, int start, int count) 
    // since 3.1-u6 
    public void exportItemsFlexibleSearch(String query, int count) 

В моем случае, я использовал Seconde формы для экспорта продукции:

"#% impex.exportItems(""select {K.pk} from {Product K}"", Collections.EMPTY_MAP, Collections.singletonList(Item.class), true, true, -1, -1);" 

Адама, будь осторожен, когда вы кладете котировки:

 "#% impex.exportItems(""SELECT {K:pk} FROM {Product as K} WHERE {K:code}='489923' , false);" 
+0

Спасибо за помощь. Я попытался выполнить сценарий и все еще получаю следующую ошибку: 16.01.11 07: 10: 23: 256 \t ОШИБКА \t строка 5 в главном скрипте: ошибка выполнения строки кода в 5: файл с исходным кодом: встроенная оценка: '' impex.exportItems ("SELECT {K: pk} FROM {Продукт как K} WHERE {K: code} = '489923', ... '' Ошибка анализа маркера: Лексическая ошибка в строке 1, столбец 89. Обнаружено: после:" \ "SELECT {K: pk} FROM {Продукт как K} WHERE {K: code} = \ '489923 \', false);" Я использую версию 4.8. – Adam

+0

Попытайтесь ввести код: # ---- Расширение: core ---- Тип: Продукт ---- "#% impex.setTargetFile (" "Product.csv" ");" insert_update Продукт; pk "#% impex.exportItems (" "выберите {K.pk} из {Product AS K}" ", Collections.EMPTY_MAP, Collections.singletonList (Item.class), true, true, -1, -1); " –

 Смежные вопросы

  • Нет связанных вопросов^_^