When Opening EQ with DRL Document Attached, Receive Error: "An item with the same key has already been added. at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)"

(Doc ID 2321237.1)

Last updated on OCTOBER 25, 2017

Applies to:

Oracle Agile Product Supplier Collaboration for Process - Version 6.2.1.0 and later
Information in this document applies to any platform.

Symptoms

When a user attaches a DRL document to an eQ, and sends it to a supplier, and the supplier opens the eQ link, the application throws an unhandled error. This does not occur when the DRL document is removed.

Error seems to indicate a duplicate DRL key that is being added somewhere. However, there is only one DRL document on the eQ. You confirmed this by tracing the database, and re-running the queries that were related to DRL documents. The full trace including all queries run while opening the document, and the trimmed trace including DRL-related queries, are attached.

When attempting to reproduce the issue in a generic environment on v6.2.0, you saw that DRL documents were being duplicated on the eQ, but it was not causing an unhandled error like in v6.2.1.

EXPECTED BEHAVIOR
-----------------------
Unhandled exception should not be occurring.


ERROR:
-----------------------
Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 3/10/2017 1:37:01 PM
Event time (UTC): 3/10/2017 7:37:01 PM
Event ID: xxx
Event sequence: 3
Event occurrence: 1
Event detail code: 0
 
Application information:
  Application domain: xxxx
  Trust level: Full
  Application Virtual Path: /SupplierPortal
  Application Path: X:\Supplier_Portal\web\SupplierPortal\
  Machine name: XXXXXX
 
Process information:
  Process ID: 74096
  Process name: w3wp.exe
  Account name: XXXXX\XXXXX
 
Exception information:
  Exception type: ArgumentException
  Exception message: An item with the same key has already been added.
  at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
  at Prodika.Drl.Lib.BO.DOBased.DrlDocumentBO.AttachmentDictionary()
  at Xeno.Prodika.SupplierPortal.WebUI.GeneralQ.DrlDocs.OnLoad(EventArgs e)
  at System.Web.UI.Control.LoadRecursive()
  at System.Web.UI.Control.LoadRecursive()
  at System.Web.UI.Control.LoadRecursive()
  at System.Web.UI.Control.LoadRecursive()
  at System.Web.UI.Control.LoadRecursive()
  at System.Web.UI.Control.LoadRecursive()
  at System.Web.UI.Control.LoadRecursive()
  at System.Web.UI.Control.LoadRecursive()
  at System.Web.UI.Control.LoadRecursive()
  at System.Web.UI.Control.LoadRecursive()
  at System.Web.UI.Control.LoadRecursive()
  at System.Web.UI.Control.LoadRecursive()
  at System.Web.UI.Control.LoadRecursive()
  at System.Web.UI.Control.LoadRecursive()
  at System.Web.UI.Control.LoadRecursive()
  at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
 


STEPS
-----------------------
The issue can be reproduced at will with the following steps:
1) Create an eQ in PLM4P.
2) Create a DRL document in PLM4P.
3) Attach the DRL document to the eQ in PLM4P.
4) Send the eQ to a supplier.
5) The supplier receives an e-mail with a link to the eQ. They open the link, sign in or create credentials and sign in, and receive an unhandled error.



Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms