on 11-09-2020 12:21 PM
Hello experts,
I want to update items in my SAP Commerce Cloud system via an impex file but some of them have an eszett (ß) in their 'code'.
My header is like this:
UPDATE Product; code[unique=true]; customValue;
code1 ; thisCodeWorks
codeß2 ; thisCodeDoesntWork
When I try to execute the impex it says:
,,,,no existing item found for update
The encoding of the impex file is 'UTF-8' and an import via the impex console in the HAC also does not work.
I double checked the 'code'-property of the affected items and copied it straight to my impex file without success.
Thanks in advance!
Hi Felix.
First, in the posted script are missing semicolon as geff.h.n.chang posted.
Second if you don't specify catalog version you will probably face the error like
,,,,More than one item of type Product
Third, it is aways good to know which version you are trying to update. Basically is aways good to update the stage version of the product.
One more the INSERT_UPDATE will create a product only if the product doesn't exist. This means that will create eventually a new product with the same code which I am sciptic that you will be able to insert it.
Most probably then you will get an error related with the catalog version.
Something like that ...
type Product requires missing column [catalogVersion]
Hope this helps.
Best Regards,
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I forgot to use semicola in my sample script in the question only, my actual ImpEx script is syntactically correct
It updated 80 lines successfully, only the ones that contain an 'ß' were skipped, because no items were found. It probably has something to do with encoding. The issue is reproducable on Version 1808, but not on 1905 and higher.
There is nothing wrong with the impex. The error message says Hybris cannot find an instance of the type (e.g. Product, although you said you are using a different custom type). i.e. Hybris cannot find an instance of Product that has a code of "codeß2". Have you confirmed that this instance exists? Can you find it via FlexSearch in HAC or via Backoffice?
If the instance does not exist, then UPDATE will not work, because UPDATE can be used for existing instances only. If the instance does not exist, use INSERT_UPDATE or INSERT instead.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
f.schildmann That's weird, man.
Have you tried putting it in double quotes, like this?
UPDATE Product;code[unique=true];customValue
;"code1";thisCodeWorks
;"codeß2";thisCodeDoesntWork
Also, make sure your impex is correct. In your question, the 2nd and 3rd line is missing a semicolon at the start.
f.schildmann I'm not sure, but I'd try to debug this:
de.hybris.platform.commerceservices.setup.impl.DefaultSetupImpexService.importImpexFile(String, boolean, boolean)
... and see what is happening.
User | Count |
---|---|
3 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.