Duplicate Key Value with Unique LOG_OF_MESSAGE_PK

Duplicate Key Value with Unique LOG_OF_MESSAGE_PK


Scenario:

We are trying to perform an translation in EXTOL Business Integrator with an Amazon.com inbound x12 purchase order (850). When we translate more than 1 x12 850 we receive an error.



Issue:

Due to an internal duplicate key in EBI, we are unable to duplicate more than one Amazon.com 850 at a time.

EXTOL Business Integrator Auditor Error:

2015-05-21 09:02:20,266 [INFO] - Starting Transformation Engine
2015-05-21 09:02:20,266 [INFO] - Executing "InboundAmazonDotcom850JdeToX12Edi4010850RS"
2015-05-21 09:10:32,966 [ERROR] - Non-atomic batch failure. The batch was submitted, but at least one exception occurred on an individual member of the batch. Use getNextException() to retrieve the exceptions for specific batched elements.
2015-05-21 09:10:32,967 [ERROR] - Error for batch element #0: The statement was aborted because it would have caused a duplicate key value in a unique or primary key constraint or unique index identified by 'LOG_OF_MESSAGE_PK' defined on 'LOG_OF_MESSAGE'.
2015-05-21 09:10:32,976 [FATAL] - There was an unrecoverable error during the transformation step.
2015-05-21 09:10:32,977 [INFO] - Ending Transformation Engine
2015-05-21 09:10:32,977 [INFO] - Completed Task.



Resolution:

In the Business Process Script we are able to assign a new unique UUID and avoid duplicate 'LOG_OF_MESSAGE' errors.

EXTOL Business Integrator Business Process Script Generate Unique UUID
EXTOL Business Integrator Business Process Script Set Context Point



By: on
load('http://www.extol.com/extolnews.rss'); $feed = array(); foreach ($rss->getElementsByTagName('item') as $node) { $item = array ( 'title' => $node->getElementsByTagName('title')->item(0)->nodeValue, 'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue, 'link' => $node->getElementsByTagName('link')->item(0)->nodeValue, 'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue, ); array_push($feed, $item); } $limit = 4; echo ' A free web counter provided by GoStats.