我有一个需要在hybris上传的csv文件。 CSV文件包含要在Hybris的不同表格中加载的数据。
目前,hybris采用CSV文件,一个文件有一个映射(即impex头)。
我们可以在hotfolder配置中为单个CSV文件设置多个impex,以便将数据加载到不同的表中
谢谢, Sanjay Vithani。
答案 0 :(得分:2)
将1个热文件夹csv转换为多个输出impex文件的简单方法是添加多个具有相同前缀的ConverterMapping
bean。
ImpexTransformerTask
bean将接收输入文件并将它们传递给具有匹配前缀的ConverterMapping
bean。每个ConverterMapping
都有一个对应的ImpexConverter
。
答案 1 :(得分:0)
如果您有多个标头,则可以将数据加载到不同的表中。您可以在一个csv文件中拥有所需数量的标头。
答案 2 :(得分:0)
使用Impex / HotFolder,您可以从一个文件导入多个类型/表,您需要做的就是为下面的不同类型/表示例维护不同的标题:
<bean id="batchProductConverter" class="de.hybris.platform.acceleratorservices.dataimport.batch.converter.impl.DefaultImpexConverter">
<property name="header">
<value>#{defaultImpexProductHeader}
# Insert Products
INSERT_UPDATE Product;code[unique=true];varianttype(code);name[lang=$lang];description[lang=$lang];ean;manufacturerName;manufacturerAID;unit(code)[default=pieces];$approved;Europe1PriceFactory_PTG(code)[default=eu-vat-full];sequenceId[translator=de.hybris.platform.acceleratorservices.dataimport.batch.converter.SequenceIdTranslator];$catalogVersion
</value>
</property>
<property name="impexRow">
<value>;{+0};{1};{2};{3};{4};{5};{6};{7};{8};{9};{S}</value>
</property>
<property name="rowFilter">
<bean class="de.hybris.platform.acceleratorservices.dataimport.batch.converter.impl.DefaultImpexRowFilter">
<property name="expression" value="!row[1]"/>
</bean>
</property>
<property name="type" value="Product"/>
</bean>
通过使用相同的技术,您还可以使用不同的文件填充一个类型/表。