We have customized order publication to hybris through Data Hub. We noticed that when there are > 100 errors in publication, Data Hub often does not save all errors.
In our integration, each record in our inbound order data always generate one order entry. So 100 inbound order data creates 100 hybris order entries in publication impex, and up to 100 hybris order impex records (number of order impex rows = unique order IDs in 100 inbound order data)
Test: Product catalog is empty so every OrderEntry will have invalid reference on product code. 100 inbound order records processed, BLOB in DB shows 100 OrderEntry are in the publication impex, as expected. If impex is ran manually, hac reports 100 errors on product code "error finding existing item". However, data hub only captures 96 errors.
We also tested inbound files with 1000 and 5000 rows, the expected number of records are generated in publication impex. 1000 and 5000 errors are reported when running impex in hac, but DH still captures only 98 errors. Why DH does not capture all error items in publication?
<targetSystemPublications>
<publicationId>1</publicationId>
<startTime>2016-04-08T02:10:17-05:00</startTime>
<endTime>2016-04-08T02:10:21-05:00</endTime>
<status>COMPLETE_W_ERRORS</status>
<targetSystemName>HybrisOrderHistory</targetSystemName>
<actionId>1</actionId>
<poolName>OrderHistoryPool</poolName>
**<numberOfErrors>96</numberOfErrors>**
</targetSystemPublications>
</publicationActionData>
Generated impex header:
INSERT_UPDATE OrderEntry;;calculated;baseprice;quantitystatus(code);product(code,$catalogVersionBROnline)[unique=true];quantity;orderEntryType(code);shipmentDate[dateformat='dd.MM.yyyy HH:mm'];entryNumber[unique=true];totalprice;order(code)[unique=true];unit(code)