Skip Headers

Agile Product Lifecycle Management Readme Release 9.3.3 E39274-01 |
| Contents

Previous | Next |

# 2 Issues Resolved by Hot Fix Releases

Hot fixes included in this product release are:

## 2.1 PLM Release 9.2.2.3

This section includes Hot Fixes included in Agile PLM 9.2.2.3.

### 2.1.1 9223_57

Bug ID 16092945: WHY DO WE HAVE SO MANY UPDATE STATEMENT ON THE ACTIVITY TABLE

Root Cause: ActivityHealthTask updates FTS fields like NAME/DESCRIPTION/ACTIVITY_NUMBER even if the value has not changed. Afterwards, FTS is called and generates the FTS index fragmentation.

Resolution: For ActivityHealthTask, do not update those FTS fields, because the values of those fields are not changed for this task. Afterwards, get rid of FTS sync for this task.

## 2.2 PLM Release 9.2.2.4

This section includes Hot Fixes included in Agile PLM 9.2.2.4.

### 2.2.1 9224_112

Bug ID 14790387: JAVA CLIENT LOCKS UP WHEN ADD/DELETE ITEM FROM RELATIONSHIPS TAB

Root Cause: PCObject.setVersion executed with Command thread, but it calls Swing API, and then locks up Java Client with the Swing thread.

Resolution: Execute PCObject.setVersion on Swing thread with util: SwingUtilities.invokeLater(...).

### 2.2.2 9224_113

Bug ID 16358616: JAVA CLIENT DEAD LOCKS WHILE EDITING RELATIONSHIP

Root Cause: PCObject.setVersion executed with Command thread, but it calls Swing API which created a dead lock with the Swing thread.

Resolution: Execute PCObject.setVersion on Swing thread with util: SwingUtilities.invokeLater(...).

### 2.2.3 9224_115

Bug ID 16597681: MOVING WORKFLOW STATUS FROM HYPERLINK THROUGH WEB CLIENT WORKS DIFFERENTLY

Root Cause: The code only executes the "showNextWorkflowStatus" action first when the status is changed from "Pending" to "Submitted". When changing to other any other status, it executes the "preAuditDisplayChangeStatus" action first.

Resolution: Execute the "showNextWorkflowStatus" action first when changing the status from "Pending" to the next status.

### 2.2.4 9224_116

Bug ID 16715321: ECR MOVED TO CLOSED STATUS WITHOUT ANY PREDEFINED RELATIONSHIP OR RULE

Root Cause: When a relationship is removed in an object, there may be related data in table "SUBSCRIPTIONS" that needs to be removed, but is not removed successfully, which generates bad data. The bad data leads to the issue.

Resolution: Update the logic for removing related data in table "SUBSCRIPTIONS"; provide script to remove bad data.

### 2.2.5 9224_117

Bug ID 16721939: APPROVER DOES NOT GET NOTIFICATION WHEN ALSO SELECTED AS NOTIFIER

Root Cause: Notification and PC workflow removed the user from the Notifier list or Approver list, when the user is on both lists.

Resolution: Change the logic to allow the same user in both lists.

### 2.2.6 9224_118

Bug ID 16762865: EXPORT RFQ RESPONSES: EXCEPTION IN FETCH:JAVA.LANG.NULLPOINTEREXCEPTION

Root Cause: The code gets the wrong pricepointID while exporting in the RFQ side.

Resolution: Use the correct method to get pricepointID.

### 2.2.7 9224_119

Bug ID 16694362: ATOS STOP BEING GENERATED FOR SOME TIME THEN RESUME GENERATION

Root Cause: The Scheduled subscriber can process too many selected objects in one ATO.

Resolution: Limit the number of selected content rows that can be assigned to an ATO to 100. Then multiple ATOs will be created.

## 2.3 PLM Release 9.2.2.5

This section includes Hot Fixes included in Agile PLM 9.2.2.5.

### 2.3.1 9225_97

Bug ID 14736799: WHEN PRINTING THE CHANGE PACKAGE REPORT, SOME OF THE HEADERS SHOW UP IN THE ORIGINAL NAME

Root Cause: The function to get the latest attribute name in Change Package Report is defective.

Resolution: Fix the defect.

## 2.4 PLM Release 9.2.2.7

This section includes Hot Fixes included in Agile PLM 9.2.2.7.

### 2.4.1 9227_29

Bug ID 16434080: EXISTING PRICES ARE LOST WHEN CREATING A NEW PRICE CHANGE ORDER (PCO)

Root Cause: The code gets the wrong release date and revision.

Resolution: Overwrite the related method to get the correct release date and revision.

## 2.5 PLM Release 9.3

This section includes Hot Fixes included in Agile PLM 9.3.

### 2.5.1 9300_31

Bug ID 14837457: RELATIONSHIP SEARCH RETURNS WRONG RESULTS

Root Cause: This issue is about a Relationships search, but the process of search is not necessarily linked to Relationships table, so it causes some mismatch on column settings.

Resolution: Added two columns to the SQL statement.

### 2.5.2 9300_32

Bug ID 16735868: USER CANNOT APPROVE TRANSFERRED CHANGE ORDER

Root Cause: The transfer authority date range should be using the date for when the change was routed, not the creation date.

Resolution: Changed the judge time from create time to the routed change in the Change module.

## 2.6 PLM Release 9.3.0.1

This section includes Hot Fixes included in Agile PLM 9.3.0.1.

### 2.6.1 9301_76

Bug ID 14380769: ERROR GETTING VALUE FROM TABLE_NONMATERIALSANALYSIS

Root Cause: By default, the server-side API does not load the complete Price table information. It only loads the Price summary information.

Resolution: Change the SDK implementation to call the ProjectSessionBean.getDetailPriceTable () API when the attribute to load is ProjectConstants.ATT_ANALYSIS_PRICING and Row has prices.

### 2.6.2 9301_78

Bug ID 16293247: SUPPLIER IS ABLE TO ADD ATTACHMENTS TO A CLOSED RFQ

Root Cause: Suppliers can add attachments to a closed RFQ.

Resolution: If the RFQ is closed, disable all buttons on the Attachments tab on the Supplier side.

## 2.7 PLM Release 9.3.0.2

This section includes Hot Fixes included in Agile PLM 9.3.0.2.

### 2.7.1 9302_166

Bug ID 14400545: THE SUBCLASS ATTRIBUTE ON SOURCING PROJECTS IS NOT SYNCING WITH THE ITEM MASTER

Root Cause: Does not synchronize subclass attribute from Item Master.

Resolution: Update subclass attribute in sc_item in order to sync subclass attribute from Item Master.

### 2.7.2 9302_167

Bug ID 14508625: AGILE PPM - UNABLE TO LAUNCH THE GANTT CHART IN PRODUCT

Root Cause: Principal object at EJB tier gets lost once in a while. In the Web tier, it is found correctly.

Resolution: Pass principal from Web tier to EJB tier using Thread Local storage. When principal is empty, use the principal from TLS.

### 2.7.3 9302_168

Bug ID 14550176: NOT ABLE TO OPEN BOM IN NAVIGATOR PANEL DUE TO DOUBLE-QUOTE CHARACTER

Root Cause: We do not encode the Description, Site info, and Revision (Rev) of the objects.

Resolution: Encode the Description, Site info, and Rev of the objects to display them in Navigator.Master.

### 2.7.4 9302_169

Bug ID 14498088: PERFORMANCE ISSUE WHEN PUBLISHING PRICES FROM A SOURCING PROJECT

Root Cause: Every item should initial the contained adapter and do publish price one by one.

Resolution: Initiate one time only and implemented batch operation.

### 2.7.5 9302_170

Bug ID 14498092: PRICE PERIOD DEFAULT UPDATE IS NOT SAVING

Root Cause: The current logic is to use the price point's start date to identify which price point is the selected default price point; when there are multiple price points with the same start date, the logic cannot identify which one is the selected default price point.

Resolution: When creating a new price point, make every price point's start date distinct. (For example, even if Date and Time are the same, make Seconds distinct.)

### 2.7.6 9302_172

Bug ID 14659548: AGILE PCM - THE ASSEMBLY COST REPORT IS NOT CONSISTENTLY ROLLING UP MATERIAL COSTS

Root Cause: Updating rollup costs executed in a single update batch, but it fails to complete in the case of many rows (170,000 in this customer use case).

Resolution: Modified update to execute in small batches of 1000 rows.

### 2.7.7 9302_173

Bug ID 14699883: CURRENT STATUS ON RELATIONSHIP TAB SHOWS "UNASSIGNED". EVEN ITEM'S LIFECYCLE PHASE IS "PRELIMINARY"

Root Cause: When a Part's Change status is promoted to Released, the Part's Lifecycle Phase value should be 0, but now the Part's status is displayed as "Unassigned" in the Relationships tab.

Resolution: When an Item's Lifecycle value equals 0, display Preliminary as default in the Relationships tab.

### 2.7.8 9302_177

Bug ID 15884598: ONLY 31 VALUES IN MULTILIST COULD BE DISPLAYED IN SEARCH

Root Cause: The server save the multiple list entry to MSAtt table if there entry is more than 250. the search server doesn't handle this cases for these attributes.

Resolution: Special handle this case to correctly fetch multiple list entry.

### 2.7.9 9302_180

Bug ID 15977341: CANNOT UPDATE CURRENCY WITHOUT USD WITH AGILE SDK.

Root Cause: When editing the currency, the Price-related request must be passed. The server-side API is skipping the Price-related updates because SDK sends the parameter as null.

Resolution: If the currency attribute is among modified attributes, load the Price table and construct an UpdateRowRequest based on the Money values. This Price request list needs to be added to the server API call.

### 2.7.10 9302_181

Bug ID 15882580: WHEN UNDO THE REDLINE, THE EVENT CANNOT GET THE ITEM COMPONENT OBJECT

Root Cause: The wrong table ID is passed when calling the method resolveRowObjectKey in EventRequestRow.

Resolution: Should use item_redlinebom table instead item_bom table id.

### 2.7.11 9302_182

Bug ID 16003552: SUBSTANCE.PAGE2.MULTILIST01 DATA MISSING AFTER ADDING RELATIONSHIP DATA

Root Cause: This is a code issue. When a user both enables multiList01 in Page Two and relationship, and adds a relationship, the multiList01 value is replaced by the wrong logic code. This is caused by a flag such as '001000000000'. The third bit value is '1'. This means the multiList01 value length is larger than 255 characters. In addition, the third bit was also defined to check if the substance object has a relationship. In other words, one flag bit cannot check that both the multiList01 value length is larger than 255 and that it has a relationship.

Resolution: Since the ninth bit was not used, we defined the ninth bit to check to see if the substance object has a relationship. There may be bad data caused by previous code. The user needs to run the attachment script for this HF to update the flag.

### 2.7.12 9302_183

Bug ID 15977326: ERROR CODE 60029 OCCURS WHEN SETTING BEST RESPONSE BY SDK.

Root Cause: SDK is trying to get the amlKey and responseHandler from the RowCell on the Analysis table directly by passing in parameter ProjectConstants.ATT_ANALYSIS_AMLKEY. However, ProjectConstants.ATT_ANALYSIS_AMLKEY is not a valid normal attribute like other attributes that can be configured in Java Client.

Resolution: The amlKey and responseHandler are stored in the VORow of the current RowCell. So the SDK needs to get them from the VORow instead of getting them from the IRow.

### 2.7.13 9302_184

Bug ID 16039189: SEARCH PRICE RESULT CANNOT SHOW SUPPLIER NUMBER, ONLY SUPPLIER NAME

Root Cause: On a Price, the format only includes the Supplier name, without displaying its number.

Resolution: Specially handle this case to correctly display the Supplier name with its number.

### 2.7.14 9302_186

Bug ID 16603745: CANNOT RELEASE A CHANGE WHEN USER CANNOT SEE 1 AFFECTED ITEM

Root Cause: When the user tries to change the status, and the next status is Released or Complete, the system checks whether or not the user has the discovery privilege for all of the Affected Items in the audit status phase before the object is changed to the next status. If not, an error message is displayed.

Resolution: For Change, QCR, and PSR routable objects, change the system logic and skip the privilege check when the next status is Released or Complete.

## 2.8 PLM Release 9.3.1.0

This section includes Hot Fixes included in Agile PLM 9.3.1.0.

### 2.8.1 9310_92

Bug ID 14473801: THE 30TH USER IN RESOURCE POOL NOT SHOWN IN ASSIGNMENTS

Root Cause: The end index was not passed correctly.

Resolution: Fixed the issue passing the correct end index.

### 2.8.2 9310_94

Bug ID 14586728: DATA TAG VALUES ARE MISSING IN THE ESCALATION/REMINDER NOTIFICATIONS SENT USING

Root Cause: Three tags were missing in the escalation notification template, two of them were [Assigned Users] and one was [To Status]. These three tags were not replaced correctly in system program.

Resolution: int nStatusID, int nWflUserType For [Assigned Users]: In "CMNotifyUtil.getSignOffUsers" method, correct the order of the parameters when calling the "BaseServiceSignoff.getSignOffAssignedUsers" method, exchange the position of "Current Status" and "User Type" parameters. For [To Status]: if the values of "To Status" and "Current Status" attributes are all null from Change History, need to get "Previous Status" attribute's value to replace [To Status].

### 2.8.3 9310_95

Bug ID 14586762: UNABLE TO FETCH THE CRITERIA CONDITION THROUGH SDK

Root Cause: Criteria with Relational operators (Contains ALL, Contains None, Contains Any, In and Not In) was unable to be interpreted from SDK as related constants were missing in cases.

Resolution: Updated SDK code to get the criteria with Contains All, Contains Any, Contains None, In and Not In operators.

### 2.8.4 9310_97

Bug ID 14618418: MISSING SOME AML AND USER DEFINED DATA EXPORTING RESPONSES

Root Cause: 1. When the user chooses global selection, although Agile puts all Items into selected nodes, the system does not load the children of the Items. 2. When an Item is included in an Assembly and itself has AMLs, the system does not append AML info to the Response Line.

Resolution: Load children for Items, and append AML info to Response Line.

### 2.8.5 9310_98

Bug ID 14662873: SOME LIFECYCLE PHASES ARE MISSING ON SOME SOURCING PROJECTS

Root Cause: The system analyzes Lifecycle Phases (LCP) incorrectly - those created in the class and subclass level.

Resolution: Implement the correct way to analyze LCPs that are created at the class and subclass level.

### 2.8.6 9310_99

Bug ID 14700327: PUBLISHING ASSEMBLY ROLLED UP PRICES FROM A SOURCING PROJECT IS INCORRECT

Root Cause: HF 9.3.1.0.33, PLM system supports Best Supplier Price rollup, but HF9.3.1.0.33 changed the behavior to support Partner Price rollup.

Resolution: Provide two options via User Interface (for Best Supplier Price or Partner Price) to support both system behaviors.

### 2.8.7 9310_100

Bug ID 14343649: IN ADVANCED SEARCH, UNABLE TO ENTER/SELECT THE VALUE OF THE WORKFLOW STATUS ATTRIBUTES

Root Cause: Select control of converted SSL is not registered.

Resolution: Re-registered this control after search type swapping.

### 2.8.8 9310_101

Bug ID 14773546: ADDING PARTS TO AN EXISTING RFQ SHOWS WRONG PARTNER NAMES

Root Cause: Get wrong value when the user clicks the Partner checkbox.

Resolution: Add a method to set the right value for the corresponding checkbox.

### 2.8.9 9310_104

Bug ID 15882604: RFQ EXPORT DOES NOT EXPORT ALL PRICE INFORMATION

Root Cause: 1. When the user chooses a global selection, although Agile put all items into selected nodes, system does not load children for Items. 2. When an Item is quoted as part of an Assembly and itself has associated Manufacturer/Mfr.Parts (AMLs), Agile does not append AML data to Response Line.

Resolution: 1. Load children for Items. 2. Append AML data to Response Line.

### 2.8.10 9310_105

Bug ID 14712458: UPDATE FROM ITEM MASTER, SUBASSEMBLY IS NOT UPDATING TO THE LATEST REVISION

Root Cause: Subassembly part has a revision released later than its parent. Example: subassembly Item that has a Rev-03 change and was then processed (through an SCO, ECR, StopShip or Deviation) that is Released later than the latest ECO or MCO, and the subassembly item has both parent and children (children with latest rev released later than their parent latest rev release date.)

Resolution: Retrieve the Rev number from the parents latest released change structure.

### 2.8.11 9310_107

Bug ID 15977349: THE ITEM HAS BEEN SAVED WITHOUT FILLING THE REQUIRED MANDATORY ATTRIBUTE ON CHANGE DURING REDLINE.

Root Cause: The Change class ID and subclass ID is not set back to the request, which cause our application got the item class id & subclass id to fetch the Change Object.

Resolution: Set the Change class ID and subclass ID back in request.

### 2.8.12 9310_109

Bug ID 14837496: FREQUENTLY GETTING ERROR "MAX EVENT LEVEL WAS REACHED" DURING EVENTS EXECUTION

Root Cause: The InheritableTreadLocal class is used in ThreadContext.java.

Resolution: Roll back to class ThreadLocal in ThreadContext.java.

### 2.8.13 9310_110

Bug ID 16073414: SOURCING PROJECT IMPORT BOM QPA AGGREGATION ISSUE

Root Cause: PCM import aggregates the QPA of duplicate sub-assemblies in different root assemblies.

Resolution: When importing QPA by a level template, check whether the duplicate sub-assembly belongs to the same root assembly. If it does not belong, do not aggregate the QPA of the duplicate sub-assemblies.

### 2.8.14 9310_111

Bug ID 16062135: WHERE USED REPORT AND WHERE USED ADVANCED SEARCH FAILED

Root Cause: $CURREV and $LASTESTREV are not handled by special code.

Resolution: Add special code to handle $CURREV and $LASTESTREV.

### 2.8.15 9310_113

Bug ID 14813593: UNABLE TO ADD PREVIOUSLY RELEASED REVISIONS TO A SOURCING PROJECT USING ADVANCED SEARCH

Root Cause: Adding Item var Advanced Search under Sourcing Project tabs (Items, AML, Analysis) only supports the addition of the the latest released change. The customer requires adding the selected revision Item.

Resolution: Add a parameter to pass the selected revision of the Item to the Sourcing Project. The Sourcing Project must load the selected rev Item accordingly.

### 2.8.16 9310_117

Bug ID 15981025: DISALLOW AML STATUS IN SOURCING PROJECT IS NOT WORKING

Root Cause: The Search Server always passes the latest released ECO's id to the Sourcing Project, so the Sourcing Project only can get the released ECO's id. For the case of the latest released MCO, it requires the MCO's id.

Resolution: Add a new parameter to store the latest released change id (not the latest released ECO id), and pass this id to the Sourcing Project.

### 2.8.17 9310_118

Bug ID 16481101: DATA TAG VALUES ARE MISSING IN THE ESCALATION/REMINDER NOTIFICATION

Root Cause: If the sign-off user was a User Group, the system did not parse the user as an assigned user when the escalation is sent, so in this case, the value of [Assigned Users] tag was missing. [Route Date] tag was parsed as the timestamp when the notification was sent, not the real date when the object was routed to the sign-off user.

Resolution: Handle the case when the sign-off user is a user group and change the value of [Route Date] tag from the date of notification to the entry date of the sign-off user.

### 2.8.18 9310_119

Bug ID 16659018: ACS IS NOT RUNNING IN A CLUSTER SYSTEM CORRECTLY

Root Cause: Cannot get the JVM parameter "skip.acsServer" from com.agile.util.sql.AgileUtil in the customer environment.

Resolution: Get the JVM parameter "skip.acsServer" directly from PCExtractTask.

### 2.8.19 9310_120

Bug ID 16741156: UNABLE TO EXPORT SOME CHANGES

Root Cause: Cannot find/delete the P3 redlined attribute from the historical redline record when the subtype has been modified.

Resolution: Skip the historical record for redlined attribute.

### 2.8.20 9310_121

Bug ID 16914497: PROBLEM WITH PERIOD IN USER NAME AND SINGLE SIGN-ON

Root Cause: The Single Sign-On (SSO) plug-in does not handle special character '.' for User ID.

Resolution: Fixed SSO plug-in to handle special character '.' for User ID.

### 2.8.21 9310_124

Bug ID 16970303: ATTACHMENTS FROM THE MCO REVISION ARE MISSING

Root Cause: The condition where an MCO does not have a released ECO is not handled.

Resolution: Added a condition wherein if an MCO does not have a released ECO, it gets files from the Introductory revision of the part. Method getAttachmentRevID() was modified to include this condition.

### 2.8.22 9310_126

Bug ID 17266545: UNABLE TO ADD MORE THAN 28 SUPPLIERS AS AUTHORIZED SUPPLIERS FOR PRICE OBJECT

Root Cause: This is a MultiList overflow-related issue.

Resolution: If the value of the MultiList Authorized Suppliers overflows, store the value into the MSATT table, and store ',-1,' into the original table.

## 2.9 PLM Release 9.3.1.1

This section includes Hot Fixes included in Agile PLM 9.3.1.1.

### 2.9.1 9311_119

Bug ID 13513211: BULK CHANGE ORDER SEARCH RESULTS DO NOT LIST ALL ASSEMBLIES

Root Cause: The search limit for the Bulk Change in ECO and MCO is constraining the customer, who wants the limitation to be 5000.

Resolution: Modify the search program and make sure that it can return 5000 records by one search.

### 2.9.2 9311_123

Bug ID 13061916: AGILE ENGINEERING COLLABORATION (EC) USERS CANNOT LAUNCH AGILE FOR ONE OF THREE AGILE NODES

Root Cause: This particular issue was reproducible only in the customer production environment. As part of launch of MCAD tool, it loads the user object by doing authentication to LDAP. The customer has lots of customizations, AIA, and PXs configured, and in one of the nodes the LDAP configuration gets corrupted and hence MCAD users are unable to log in from that node.

Resolution: The corruption was because the initialization method was not threadsafe. Modified the specific block of code using synchronizes block to make it threadsafe (used double-checked locking optimization). Panera Bread's Spinach Artichoke Baked Egg Souffle

### 2.9.3 9311_154

Bug ID 13920642: ISSUE WITH PROMPTS IN GLOBAL DASHBOARD SEARCHES

Root Cause: The prompt query criteria in the dashboard widget is commonly shared between different users. Therefore, if one user sets some criteria, then the other users also see the same results.

Resolution: Store the query criteria into the session, so that the user is prompted when visiting the dashboard search for the first time after login. Then the criteria is not needed during the whole user session. Different users can see their own results.

### 2.9.4 9311_182

Bug ID 14278863: USER IS NOT ABLE TO OPEN A LINK - APPLICATION ERROR

Root Cause: Unnecessary URL encoding gets some request parameters mixed up so that the left pane can not be loaded properly.

Resolution: Remove the redundant URL encoding.

### 2.9.5 9311_183

Bug ID 14662873: SOME LIFECYCLE PHASES ARE MISSING ON SOME SOURCING PROJECTS

Root Cause: The system analyzes Lifecycle Phases (LCP) incorrectly - those created in class and subclass level.

Resolution: Implement the correct way to analyze LCPs that are created at the class and subclass level.

### 2.9.6 9311_186

Bug ID 14465071: ROOT CAUSE FOR ECO GETTING STUCK

Root Cause: The copy/paste functions generate bad data while working across windows.

Resolution: Block the behavior in that situation.

### 2.9.7 9311_187

Bug ID 14400539: WEB CLIENT LOCALIZED FOR SPANISH IS MISSING CONTENT PANE AND MENU

Root Cause: The property file of JspMessage_es_ES.properties does not translate the '\n' as '\\n', which causes this problem.

Resolution: Translate the '\n' as '\\n'.

### 2.9.8 9311_188

Bug ID 14473160: REDLINE ATTRIBUTES DISAPPEAR FROM TYPE OF LABEL FIELD

Root Cause: In Java Client, when the Change Controlled field in a particular subclass's PageThree is modified to No, the system removes the redline info of all of that Class's subclasses' attribute that has the same base ID.

Resolution: Add the subclass constraint condition in the remove program. When the user executes the change action, Agile only removes the redline info of the self-subclass's attribute.

### 2.9.9 9311_189

Bug ID 14485734: PARTS ARE MISSING IN THE RESULTS

Root Cause: On the search server side, when we remove "No Privilege" rows and duplicate rows, the number of results that is returned to SDK is not less. This causes inaccuracy of returned results to SDK, and as received result count is not same due to page size, SDK considers this call as the last one, and stops sending new calls. So, SDK does not get entire result set but a partial set instead.

Resolution: Make sure that the returned result count is accurate. When removing "No Privilege" rows and duplicate rows, decrease the count of returned result to SDK, as well, until the count reaches the number of pagesize.

### 2.9.10 9311_191

Bug ID 14378192: WHERE USED PRIVILEGE GIVES INSUFFICIENT ERROR EVEN IF CRITERIA ALLOWS ACCESS

Root Cause: When executing a Where Used search or Where Used report, set incorrect value (name instead of ID) to the object that is sent to check privilege.

Resolution: Set ID instead of name.

### 2.9.11 9311_192

Bug ID 14331064: RELATION SEARCH BETWEEN PART AND DOCUMENT DOES NOT DISPLAY THE PID FIELD

Root Cause: Process-related object attribute uses Subclass of main object, but it should use related object Class/Subclass ID.

Resolution: Correct to related object Class/Subclass ID.

### 2.9.12 9311_194

Bug ID 14380728: INSUFFICIENT PRIVILEGES WHEN EDITING RULE ON RELATIONSHIP TAB OF PARTS

Root Cause: When a user logs in and clicks Relationship tab for the first time, the infoObjectContext variable is null, and the server creates a new variable infoObjectContext using the control object, but this is not correct. infoObjectContext should be constructed by selected related object.

Resolution: Put the related object to the infoObjectContext variable when infoObjectContext is null.

### 2.9.13 9311_195

Bug ID 14590744: SYSTEM IS VERY SLOW TO CHECK REDLINE DATA FOR SOME CACHED OBJECTS

Root Cause: The issue was identified in the method for getting cached objects. In some situations, the system caches objects using Base Class ID, but searches objects in cache by Class ID. Because of this, the SQL query cannot search in cache. Most of the time is spent in this area.

Resolution: The correct method is to pass the Class ID to the load cache, so that the system will save the object into the cache and the performance is improved.

### 2.9.14 9311_200

Bug ID 14103943: EXPORT OF RELATIONSHIP SEARCH RESULTS MULTIPLE REPEATED OBJECTS

Root Cause: The SQL generated of Relationship search is not efficient since it joins a excessively large table, this causes the return of too much data.

Resolution: Get rid of the excessive table on SQL statement.

### 2.9.15 9311_202

Bug ID 14615049: CHANGES ARE GETTING STUCK IN RELEASE STATUS EVEN AFTER ALL THE EXIT CRITERIA IS MET

Root Cause: During auto-promotion for a Change, there is an exception when locking the Change's Affected Items. An Affected Item (AI) is modified by another object simultaneously, so the auto-promote fails, however, we do nothing when the exception occurs.

Resolution: 1. Retry locking the AI for the customer's case; 2. Log exception info in the Change's History tab and system log when the exception occurs during auto-promotion.

### 2.9.16 9311_203

Bug ID 14478383: ISSUE WITH ADDING AFFECTED ITEMS USING SAVED SEARCHES

Root Cause: There is an additional global search privilege check when executing a saved search from Affected Items (AI) table.

Resolution: Skip privilege check if the saved search is under Global search folder.

### 2.9.17 9311_207

Bug ID 14701995: ISSUE WITH EDITING RULE ON RELATIONSHIP TAB OF PARTS

Root Cause: When the user removes rules from the Relationship tab, we do not pass rev change info to the remove method. Now the default value is null.

Resolution: Pass the correct rev change info to the remove rule method.

### 2.9.18 9311_208

Bug ID 14710175: MISSING VALUE IN POPUP OF THE MULTILIST ATTRIBUTE

Root Cause: The server saves the multiple list entry to MSAtt table if the entry is more than 250. The search server does not handle the cases with these attributes.

Resolution: Handle this case separately to correctly fetch multiple list entries.

### 2.9.19 9311_209

Bug ID 14751053: DRAG AND DROP OF PARTS FROM LEFT PANE TO THE AFFECTED ITEMS TAB OF A CHANGE RESULTS IN MULTIPLE WINDOWS

Root Cause: The Items are unexpectedly inserted on the Affected Items (AI) tab of Changes when performing drag and drop actions in multiple windows.

Resolution: Prevent drag and drop from the left pane (Recently Visited / Navigator) to the Affected Items and BOM tabs on inactive windows. Display a message to users to refresh the current window and try again.

Bug ID 14751053: ADVANCING A CHANGE ON ONE WIN/TAB CAUSE TO ADVANCE

Root Cause: The situation is where the user opened 2 different changes with multiple windows, but in one HTTP session, clicked "Next Status" button on the 1st change, then clicked the 2nd change before clicking the Finish button in the 1st Change's Change Status window. In this case, the server gets the object id of the 2nd change instead of the 1st change.

Resolution: Compare the object id from HTTP request with the object id from the action context. If these two values are not same, throw an error and block the Change Status action.

### 2.9.20 9311_210

Bug ID 14757017: SORTING IN BOM BULK CHANGE WIZARD IS INCONSISTENT

Root Cause: The function to sort BOM bulk change result in single column has defect.

Resolution: Fix the defect.

### 2.9.21 9311_211

Bug ID 14723651: USER IS UNABLE TO ADD ITEMS FROM THE SEARCH PALETTE FOR BOM COMPLIANCE REPORT Root Cause: If there is only one site, the system will not prompt user to select revision and do not add the items. Resolution: Regardless of the number of sites, directly add the items and do not prompt user to select revision.

### 2.9.22 9311_213

Bug ID 14793172: ISSUE WHILE USER IS MODIFYING AN OBJECT

Root Cause: When user updates attributes in Page Two successfully, but then loses the appropriate privileges to load, Agile displays a message with an error icon. The object is in Edit mode and user cannot loop out of this Edit page.

Resolution: To display the specific error message to the user, once determining user updated successfully but then lost appropriate privileges to read this object, user clicks on OK button to locate to Home screen.

### 2.9.23 9311_215

Bug ID 14697477: DELIVERABLE TAB RULE DOES NOT ALWAYS TRIGGER WORKFLOW PROCESS EXTENSION (PX).

Root Cause: The Change status is initiated from the associated business object's UI. Two threads will be run during this operation. 1. One thread, for instance "Thread1", is used by UI to display the Object as the Change status action was initiated from the object itself. 2. Second thread, for instance "Thread2", is used by the background task where the change status happens and the deliverable is triggered and then the PX event is added. 3. During this process, "Thread2" cleans the cache for the Object. 4. Before the cache is reloaded for the Object by Thread2, Thread1 may access the object due to which the cache gets reloaded from the old data where the status is not yet up-to-date. Data is not up-to-date since the transaction is not yet committed by Thread2. 5. Now during PX event addition, Thread2 has to load the object but the object is already in cache (with old data) which was loaded by Thread1, so Thread2 will not have the object's latest data, which is misleading it and the PX Event itself is not added. It happens intermittently depending on which thread loads the cache for the object.

Resolution: Fixed the issue by loading the object from the database while getting the workflow extensions for that object.

### 2.9.24 9311_217

Bug ID 15835930: APPROVERS AND OBSERVERS BEING REMOVED FROM CHANGE ORDER WITH CONFLICTING AML REDLINE

Root Cause: When adding WarnResultList With ExceptionID, the variable m_warnResultListWithExceptionID may be incorrect if the VOWarningResult has the same message but different objectIDs.

Resolution: Update objectIDs when there is a VOWarningResult with same message.

### 2.9.25 9311_218

Bug ID 14839083: UNABLE TO SEE VALUES IN SEARCH CRITERIA IF SAVED SEARCH CONTAINS $TODAY

Root Cause: Operators "-" and "+" are not being properly handled by the system.

Resolution: Convert date string if there contains "-" or "+" characters.

### 2.9.26 9311_221

Bug ID 14628423: IN CUSTOM REPORTS, THE DATA IS NOT BEING CORRECTLY SORTED

Root Cause: The function to collect specific data in a sorted column is defective.

Resolution: Fix the defective function.

### 2.9.27 9311_222

Bug ID 15899388: ERROR REMOVING SUPPLIER VALUES FROM P2 MULTILIST

Root Cause: This is an SDK issue. If Web Services sends an empty multilist, we pass a null value to SDK. SDK handles null values for single lists, but not for multilists.

Resolution: Do a null value check in the multilist section of isValueValid. Do not throw an error if the value is null.

### 2.9.28 9311_225

Bug ID 15984821: CANNOT ACCESS AFFECTED ITEMS (AI) TAB ON CHANGES THAT HAVE LARGE NUMBER OF AI's

Root Cause: There is unnecessary operation for getting flags in the method fillMS() in ItemPageTwoDAO.java, which leads to performance issue when loading AI tab if a Change has a large number of AI's.

Resolution: Add a method getFlags() in ItemCoverPageDAO.java and invoke it in fillMS() in ItemPageTwoDAO.java.

### 2.9.29 9311_226

Bug ID 15961638: PARTS PAGE TWO QUOTE AS/COST VALUE IS NULL, BUT SHOWS VALUES WHEN ADDING TO SOURCING PROJECT

Root Cause: When the value of the Quote As/Cost list is blank, there should be some special logic for Quote As/Cost list in PCM. Currently, we do not include logic for the flexible part.P2 attribute.

Resolution: Added the logic for the flexible part.P2 attribute.

### 2.9.30 9311_227

Bug ID 16003211: WHEN PRINTING BOM REDLINES FOR A CHANGE, THE WRONG VALUE APPEARS IN THE REFERENCE DESIGNATOR COLUMN.

Root Cause: Improper logic for generating RLRefDesPrintElement.

Resolution: Updated the logic when creating the set element default.

### 2.9.31 9311_228

Bug ID 16005075: AUTOVUE DOES NOT RENDER DOCUMENT WHEN IT IS ACCESSED THROUGH EXTERNAL LINK CONSTRUCTED PER DOCUMENT Root Cause: The wrong changeId is passed when the latest change on object is MCO. ECO changeID passed in place of the MCO. Resolution: Code changed to pass the correct MCO changeID when the latest change is an MCO.

### 2.9.32 9311_230

Bug ID 16030347: ROGUE QUERY PRODUCES HIGH NUMBER OF ARCHIVES

Root Cause: On the server-side, the report carries out additional security checking for the Where Used result objects, which is of a different type than the object chosen to run. This impacts performance.

Resolution: Change the report server-side to use the base class to do the Where Used search and improve the security checking in the report side.

### 2.9.33 9311_231

Bug ID 16063605: REVISION FOUND IN AFFECTED ITEM OF PROBLEM REPORT IS NOT THE LATEST RELEASED REVISION (LRR) OF THE ITEM

Root Cause: If this enables an event trigger, the related function will change some request parameters.

Resolution: Fixed this defect with Copycat.

### 2.9.34 9311_233

Bug ID 16079100: UNKNOWN NUMBER: OBJECT DOES NOT EXIST, WHILE ACCESSING PARTS FAMILY TAB

Root Cause: Once the name of a Manufacturer is changed, if you search for the Manufacturer by its old Name, rather than the new name, the system throws the error message "Object does not exist" when loading the Manufacturer Parts.

Resolution: When loading the Parts tab on the Part Group, search for the current Manufacturer Name when catching the "object does not exist" exception.

### 2.9.35 9311_234

Bug ID 16092885: AGILE PLM EXCESSIVE DISK SPACE USAGE IN AGILEVAULT FILES

Root Cause: 1. Improper logic in the code allows recursive copying unless the application server is restarted. 2. When a file is deleted in the vault, the Items can not be successfully copied, however, there is no message to inform users in Web Client.

Resolution: 1. The code was modified to correct logic to prevent recursive copying from executing. 2. Show an error message in the Web Client if a file cannot be found in the vault while copying Items to change AI.

### 2.9.36 9311_235

Bug ID 15880305: PROCESS EXTENSION ERROR FOR LDAP USERS ONLY

Root Cause: SDK needs to fetch array IDName[] from Search Server by EJB. When the flag 'Include Inactive List Values' is set as Yes, the Search Server returns a 'null' value. When set as No, the Search Server returns an empty array. If the server returns an empty array, an error occurs.

Resolution: When the value is an empty array, SDK should return NULL.

### 2.9.37 9311_236

Bug ID 16030125: TABLE ADDROWS WEB SERVICE METHOD TRUNCATES LEADING ZEROS IN OBJECT NUMBER

Root Cause: There was a check in place to convert the ID to an absolute number.

Resolution: Removed the check.

### 2.9.38 9311_237

Bug ID 16204748: ADVANCING A CHANGE ON ONE WINDOW/TAB CAUSES THE CHANGE TO ADVANCE ON THE OTHER WINDOW/TAB

Root Cause: The customer wanted to change the content of the error message to help the user better understand the issue.

Resolution: Correct the error message.

### 2.9.39 9311_239

Bug ID 16268790: 1OFF:14690602:CONSECUTIVE SPACES ON THE 'ITEM DESCRIPTION' FIELD IS NOT VISIBLE ON THE AFFECTED ITEM

Root Cause: Sequences of whitespaces collapse into a single whitespace in HTML pages.

Resolution: Use CSS:white-space: pre to control consecutive whitespaces.

### 2.9.40 9311_240

Bug ID 16281396: UNABLE TO CHOOSE REVISIONS FOR ITEMS WHEN GENERATING A REPORT

Root Cause: Error occurs when setting a cell value. You can choose the revisions using the Web Client.

Resolution: Fix the defect.

### 2.9.41 9311_241

Bug ID 16092905: CANNOT ADD ATTACHMENT TO DOCUMENT.

Root Cause: When adding/removing a file to an Item/Document object, all of its Where Used object's BOM table are unnecessary loaded into object cache which leads to loaded thumbnails. This causes a performance issue.

Resolution: Avoid loading all of the Where Used object's BOM table and invalidate the Item/Document object's BOM table instead.

### 2.9.42 9311_242

Bug ID 16200066: PRICELINE INCONSISTENCY IN AGILE

Root Cause: This issue is caused by the UI showing unreleased pricelines under Item.Price and Manufacturer Part.Price tab.

Resolution: Change the UI so that it does not show unreleased pricelines for Item.Price and Manufacturer Part.Price tab.

### 2.9.43 9311_243

Bug ID 16116808: CANNOT GET A FILE, TOO MANY CUSTOM COOKIES TO EXCLUDE

Root Cause: The URL formed for the Get action is too long due to several cookies in the SSOToken. The URL becomes longer than what Internet Explorer can support.

Resolution: Change the code to support the inclusion of cookies along with the exclusion of cookies, with exclusion taking precedence.

### 2.9.44 9311_244

Bug ID 16286320: OOM IN APP SERVER ABREK

Root Cause: We have a method isObjectInFolder that checks if an object is in a folder by object id & class id. When the user switches two items that are the same, only with different names, the method always returns true. This causes deep recursive calls.

Resolution: After a code review, we removed the recursive code.

### 2.9.45 9311_245

Bug ID 16221694: SOME ITEMS' PART CATEGORY & PRODUCT LINE ATTRIBUTES ARE MISSING IN EXPORT

Root Cause: When a user with no no BOM.product line(s), BOM.part catergory privileges, exports a Change object with some Affected Items, the Title block attributes do not get exported.

Resolution: Add privilege validation in export code to export the Title Block attributes.

### 2.9.46 9311_247

Bug ID 16406830: "ITEM REV" OF BOM REDLINE DOES NOT PRINT OUT WHEN PRINTING AFFECTED ITEMS TAB

Root Cause: This is as designed. We ignore ATT_BOMITEMREV("Item Rev" Field at AI's BOM tab) when printing BOM Redline information. Although this was the design, there are no comments in the code and no specification in the handbook.

Resolution: According to the PM's update, we should not ignore the field.

### 2.9.47 9311_249

Bug ID 16319698: EXPOSE APIS FOR SOURCING PROJECT ATTACHMENTS

Root Cause: This feature is not supported in SDK until now.

Resolution: Add new PCM SDK implementation for Sourcing Project.

### 2.9.48 9311_250

Bug ID 16403551: NOT ABLE TO ADD CUSTOM ICONS IN AGILE PLM

Root Cause: Signed custom.jar prevents users from customizing subclass icons.

Resolution: Do not sign custom.jar.

### 2.9.49 9311_251

Bug ID 16365079: TEMPLATE FINISHED, SAVE, EDIT RULES, DATABASE GETS LOCKED

Root Cause: When the user edits a rule and saves, the "Agile_Server_Relatedobject.dependencyCheck" PU-procedure gets into an infinite loop and the lock on the object does not get released. Consequently, if the user tries to edit a rule and save again, there is an error.

Resolution: Avoid an infinite loop in the "Agile_Server_Relatedobject.dependencyCheck" procedure.

### 2.9.50 9311_252

Bug ID 16481817: CHANGES MADE TO ECO/ECR/MCO/DEVIATION COVER PAGE ARE NOT SAVED

Root Cause: While editing the cover page information on object1 in window 1, the object id in the action context is object1. If you switch to window 2 (in one HTTP session) and take some actions on object2, the object id in the action context is changed to object2, so if you came back to window 1 and click Save or Validate, the current object id in window1 can not match the object id in the action context, so the cover page info which the user edited gets lost.

Resolution: Handle this case of multiple windows for objects which are in PC, PG&C, PCM, PPM and common modules. Check the object id in the current request and in the action context when the user clicks the Save or Validate buttons in the Cover Page tab. If these 2 object ids can not be matched, throw the block error message.

### 2.9.51 9311_254

Bug ID 16437905: PLM ISSUE - SEARCH OF ITEMS WITH VENDORS

Root Cause: In SQL, the system does not filter data for versions. The requirements of different customers are different, so we must cover both cases.

Resolution: 1. If the attributes Title Block.Rev or Pending change.Proposed Rev or Change History.Rev appear in the format, the result covers all Suppliers. Maintain the current behavior. 2. If the attributes Title Block.Rev or Pending change.Proposed Rev or Change History.Rev do not appear in the format, the result only covers the latest Supplier. Add a condition to filter data and only display the latest version's suppliers.

### 2.9.52 9311_255

Bug ID 16382771: WHEN CURRENT REVISION = LATEST, GETFILE DOES NOT ALLOW THE USER TO OPEN LATEST FILE

Root Cause: There is a bug in the code. The code logic does not take the current rev and site object information when opening files in the Object Attachments tab, Quick View, Affected Items tab, and Redline Attachments tab.

Resolution: The code was fixed by taking the current rev and site information while performing the Open action.

### 2.9.53 9311_256

Bug ID 16489696: SIGNOFF DURATION SHOWS INCORRECTLY CALCULATED VALUE WHEN IT IS CLOSE TO 1

Root Cause: In 9.3.1 we had enhanced PPM to support time in Schedule dates. The duration computation was enhanced to consider the working time and working hours defined in agile.properties, however, there is no such design for duration computation. Additionally, there is a defect in the code.

Resolution: Use the exact time difference (include weekends) and 24 hour period for a day; (1) include Sunday, Saturday; (2) Use the next lowest integer when the value if not integer (i.e., when the value is 0.9, take as 0; when the value is 1.1, take as 1.).

### 2.9.54 9311_260

Bug ID 15899373: EDITING A CHANGE-CONTROLLED PAGE TWO ATTRIBUTE RESULTS IN ERROR: INVALID REQUEST

Root Cause: DataObject loadTable method's default condition does not account for the table identifier.

Resolution: Since the attribute is a change-controlled attrbute, instead of invoking the BusinessObject updateObject API, we need to invoke the Table updateRows API with constant ItemConstants.TABLE_REDLINEPAGETWO.

### 2.9.55 9311_262

Bug ID 16688630: SEGMENTATION FAULT ERROR - AGILE SERVER CRASHES

Root Cause: When the system loads the change control row, it checks the modify privilege for each attribute of this row, which causes an endless loop.

Resolution: Do the privilege check after loading the change control row.

### 2.9.56 9311_263

Bug ID 16701000: REDLINE IS MISSING FOR DEVICE LIFECYCLE CHANGE ON PRODUCTION

Root Cause: This HF is to merge 9311HF38 and 9311HF188.

Resolution: Merge code for 9311HF38 and 9311HF188 into 9311HF263

### 2.9.57 9311_265

Bug ID 16681744: PART WITH SUBSTANCE REPORT THROWS ERROR

Root Cause: The error message is thrown when running the report for the Manufacturer Part. The error occurs when we try to obtain revision info for the Manufacturer Part, since there is no revision value for the Manufacturer Part.

Resolution: When handling a Manufacturer Part, do not attempt to get the revision value.

### 2.9.58 9311_268

Bug ID 16658487: SUBCLASSES WITH ANY DISABLED AUTONUMBER THROWS ERRORS IN WEB SERVICES

Root Cause:getAutoNumbers() Web Service internally call SDK API IAutoNumber.getNextNumber() to retrieve/generate the next set of autonumbers. When this method is invoked on a disabled AutoNumbers, it will throw exception that is as designed.

Resolution: Added a helper method WSUtil.isEnabled(INode) in core web services to check whether an AutoNumber source is disabled or not and by pass generating next set of autonumbers from that source.

### 2.9.59 9311_269

Bug ID 16808459: BUSINESSOBJECT SERVICE FAILS WHEN UPDATING MULTITEXT WITH BLANK VALUE

Root Cause: A method in the core web services throws a NullPointerException when updating an attribute with a NULL/"" value.

Resolution: Handle 'NULL'/"" value correctly so that the NullPointerException is not triggered.

### 2.9.60 9311_270

Bug ID 16870886: AUTONUMBER FOR PRICE DOES NOT WORK IN 9311

Root Cause: There is no function to generate Price number automatically if set option 'AUTONUMBER REQUIRED'= YES.

Resolution: Add a new function to generate Price number automatically if set option 'AUTONUMBER REQUIRED' = YES.

### 2.9.61 9311_271

Bug ID 16890768: UNABLE TO IMPORT PRICE WITH ERROR

Root Cause: Publish Price.General Info.MFR Number is disabled. Import treats it as a key and required attribute. When this attribute is disabled, Import still tries to get its value, thus a NullPointException occurs.

Resolution: If Publish Price.General Info.MFR Number is disabled, do not try to get its value when doing import.

### 2.9.62 9311_272

Bug ID 16843604: TEAM TAB SUBSTITUTE RESOURCE TO CHANGE GATE OWNER Root Cause: SDK does not support changing the owner of activity. Resolution: Enhancement - user can change owner of activity with "Modify" privilege on ACTIVITY.OWNER.

### 2.9.63 9311_273

Bug ID 16857927: PART NUMBER GENERATED FROM AUTONUMBER DOES NOT SKIP EXISTING PART

Root Cause: The AdminMetaData Web Service has an issue where it was does not consider the AgileClass to fetch the sequence. It always returns the normal sequence irrespective of class/subclass name.

Resolution: We added the condition to pass the agileClass to getAutoNumber method.

### 2.9.64 9311_274

Bug ID 16903655: UNABLE TO SEARCH JAPANESE SUPPLIER NAME FROM PRICE OBJECT

Root Cause: Using Oracle database, the wildcard does not work with JAPANESE_VGRAM_LEXER and/or JAPANESE_LEXER. This means that the combination of Japanese and wildcard does not work in CTX, so the user should remove wildcard before creating query tree.

Resolution: Special-handle multiple-byte string to remove wildcard in this situation. The wildcard is removed when it is behind multiple byte/reserved characters to resolve this issue.

### 2.9.65 9311_275

Bug ID 16812598: PRINT OPTION PRINTS INVISIBLE FIELDS TOO

Root Cause: In P2/P3, even though the user does not have privilege, Display No Privilege Fields, Agile still prints the fields as 'No Privilege'. A privilege check is not performed.

Resolution: Perform privilege check for P2/P3.

### 2.9.66 9311_277

Bug ID 16971680: EXPIRATION DATE IS OFF BY ONE DAY WHEN THE DATA IS EXPORTED AS A DOC

Root Cause: The exported result is different in the Web display when the Date attribute is set to DateOnly. There is a time interval between the output file and the Web display.

Resolution: Change the export behavior. When exporting DateOnly attributes for XML format, just transfer the timezone to GMT and set the time info to 00:00:00. For Excel format, we made the output result the same as the Web display.

### 2.9.67 9311_278

Bug ID 17026414: MANUFACTURER APPEARS WITH ITS ID WHILE REDLINING MANUFACTURER LIST THROUGH ECO

Root Cause: When the list is set as a reference list in Item Page Three, if the user has no modify privilege on the list, the list is shown as a string element in the redlined Cover Page, but the value is still shown as the composite value of the reference list.

Resolution: Show the display value of the reference list.

### 2.9.68 9311_284

Bug ID 16092885:

Root Cause:

Resolution:

## 2.10 PLM Release 9.3.1.2

This section includes Hot Fixes included in Agile PLM 9.3.1.2.

### 2.10.1 9312_54

Bug ID 14324852: SUPPORT ITABLE.CLEAR() OR ITABLE.REMOVEROW() TO DELETE ITEMS IN SOURCING PROJECT

Root Cause: These APIs were not supported for PCM tables.

Resolution: SDK now supports the removeRow(), removeAll() and clear() api for the Items tab of Sourcing Project. For other tabs of Sourcing Project, it will behave as before.

Bug ID 14324864: SUPPORT FOR IMPORT ITEM TO SOURCING PROJECT USING

Root Cause: There was no support for import of assembly to the Items tab of a Sourcing Project.

Resolution: SDK supports import of Item/BOM/AML into Sourcing Project. Valid operations are "project.item", "project.bom", "project.aml". This works for Standard, ParentChild and Level Template files on XLS format. It should work fine on csv format, too.

### 2.10.2 9312_55

Bug ID 14267707: ACTIVITY AND GATE SUBCLASSES ARE NOT ORDERED CORRECTLY

Root Cause: Activity and Gate subclasses are not sorted in the Gantt Chart.

Resolution: Fixed the issue to sort the Activity and Gate subclasses.

### 2.10.3 9312_62

Bug ID 14348561: ITEM DESCRIPTION DOES NOT CHANGE TO CAPS PER CHARACTERS CONFIGURED

Root Cause: Missed proper conversion or date validation for the Item Description on Affected Items tab because of various Character Sets configured in Java Client.

Resolution: Code modified to set indication flag in the request row to validate data or correct description to proper character.

### 2.10.4 9312_65

Bug ID 14372471: COLUMN HEADERS ON RESPONSE TAB DISPLAY INCORRECTLY AFTER APPLYING PERSONALIZED FILTER

Root Cause: Agile uses the wrong class ID to get the attribute.

Resolution: Use CLASS_RFQ instead of CLASS_RESPONSE as ID to get the attribute.

### 2.10.5 9312_66

Bug ID 14197230: PCM LOOKUP OPTION IS NOT DISPLAYED

Root Cause: This feature is not available from 9.3.x.

Resolution: Make this feature available. We will add a new filter to filter out the priceLines that do not match the following condition: Current date -- Created date of priceLine <= the number user entered.

### 2.10.6 9312_67

Bug ID 14372426: RFQ EXPORT FILE SHOWS INACTIVE VALUES FOR BID DECISION

Root Cause: Agile loads all value for bid decision no matter whether the value is active or inactive.

Resolution: Only load active value for bid decision.

Bug ID 14378182: MISSING SOME AML AND USER-DEFINED DATA EXPORTING RESPONSES

Root Cause: 1. When user chooses global selection, although Agile PLM puts all Items into selected nodes, the system does not load children of those Items. 2. When an Item is quoted as an Assembly, and an Assembly contains children Approved Manufacturers List (AML, or Manufacturer Parts), the system does not append AML data to the Response Line.

Resolution: 1. Load children for Items. 2. Append AML data to Response Line.

### 2.10.7 9312_68

Bug ID 14402238: NOTIFICATIONS ARE NOT DISPLAYED IN WEB CLIENT

Root Cause: CMObjectKey of the Agile objects of the notifications were not constructed correctly.

Resolution: Need to pass the ID and classid values of the agileobjects correctly while creating the CMObjectKey.

### 2.10.8 9312_70

Bug ID 14406407: USERS ABLE TO CREATE ITEMS WITH PART NUMBER THAT DOES NOT MATCH REQUIRED AUTONUMBER

Root Cause: When there is more then one Autonumber source, it causes an exception and cannot generate an AutoNumber. Instead, the system fills the textbox with the value taken from the search box.

Resolution: Code modified to force the Number field to be blank when adding the Affected Items (AI) from Changes, PSRs, and QCRs and the added Items belonging to the subclass have more than one Autonumber source.

Other related bugs include:

14402238 - NOTIFICATIONS ARE NOT DISPLAYED IN WCM

14402250 - PROMPT SEARCHES IN GLOBAL DASHBOARDS DO NOT WORK

14402258 - ERROR WHEN EMBEDDING A SAVED SEARCH INTO AGILE

14585921 - GLOBAL DASHBOARDS SHOULD SAVE INDIVIDUAL PROMPT VALUES

### 2.10.9 9312_71

Bug ID 14458989: CONFIGURATOR TERMINATION SERVICE IS NOT WORKING

Root Cause: WebLogic needs weblogic.xml for the WAR file to be published.

Resolution: Include weblogic.xml for the virtual machine WAR file to be published.

### 2.10.10 9312_74

Bug ID 14354958: ERROR WHILE PARSING DATA IN QUICK-SEARCH EXPORTED FILE

Root Cause: This issue always occurs in Quick Search with all objects. In the code, List m_batch Export Rows are null if it can not find any results for objects and this causes a null point exception.

Resolution: Add a check for null value for List.

### 2.10.11 9312_75

Bug ID 14498835: ERROR WHEN ATTEMPTING TO UPDATE A REDLINE BOM FIELD AND TRIGGER AN EVENT

Root Cause: Version mismatch caused by server APIs.

Resolution: Provide a new API for Redline Update Event on server side..

### 2.10.12 9312_76

Bug ID 14472861: SDK CANNOT MODIFY PCM RFQ CURRENCY

Root Cause: When editing the currency, the Price-related request must be passed. The server-side API skips the Price-related updates because SDK sends the parameter as null.

Resolution: If the currency attribute is among modified attributes, load the Price table and construct an UpdateRowRequest based on the Money values. This Price request list needs to be added to the server API call.

Bug ID 14594525: PCM SDK DOES NOT DIFFERENTIATE SUPPLIER RESPONSE SU

Root Cause: The ISupplierResponse does not have an API to submit responses from the supplier user. Thereis no implementation for edit responses and prices from supplier side.

Resolution: Implement new API submitAll() on ISupplierResponse. Invoke correct PCM server API for editing of responses and prices from the supplier side. Since there is a new SDK API, the AgileAPI.jar needs to be updated.

### 2.10.13 9312_77

Bug ID 14508631: FAIR & PACR SEARCH GAVE 'APPLICATION ERROR'

Root Cause: When building the tree structure of node table, we miss a node for each subtree. the code is like (i=m-1; i > 0; i--){..}

Resolution: Do not miss the node. Change code to for(i=m-1; i>=0; i--){..}

### 2.10.14 9312_78

Bug ID 14517880: CONTENT RULES ARE NOT COPIED CORRECTLY

Root Cause: Subscriptions are created between the objects within the tree. This step returns a map, e.g. map1, which holds old to new subscription IDs after the subscriptions are created. Subscriptions between the object within the tree and the external object (only Program-related) are created after this step. This step also returns a map, e.g. map2, similar to this step, here we are assigning map2 to map1. It is these subscriptions, which were created earlier between the objects within the tree, that are again being created and causes the problems.

Resolution: Add map2 to map1 instead of assigning map2 to map1.

### 2.10.15 9312_79

Bug ID 14515433: AFTER IMPORTING A COMPOSITION TO AN ITEM, EXPORT FAILS @ UNKNOWN NUMBER: OBJECT DOES NOT EXIT

Root Cause: When exporting a Part with a Compliance tab with a composition that has no supplier and the composition is PD, the system calculates an unreported substance. In this situation the exporting object gets the error message: object id is not existed.

Resolution: When exporting the aforementioned object, the system should not try to find the supplier for the unreported substance.

### 2.10.16 9312_80

Bug ID 14383284: ITEM ATTACHMENT TAB'S ICON GOES MISSING AFTER UPDATING NEW REVISION

Root Cause: While reloading an object, the proposed revision (rev) of Pending Change is loaded from the source attribute new rev of Change Affected Item. If the new rev has not been inputted by the end-user, the proposed rev becomes null, which impacts the logic of adding the next attachment, and so it causes the incorrect rev flag to be set.

Resolution: Set the proposed rev to "(*)" when the source new rev has no value.

### 2.10.17 9312_82

Bug ID 14545170: CANNOT EDIT ITEM GROUP FOR A PART IN AGILE

Root Cause: Did not get the added Items and Manufacturer Parts when the number of the parts in the table reaches the setting of Maximum Query Results Displayed.

Resolution: Search the added objects from the DB server, and add them to the table, when the number of the parts in the table reaches the setting of Maximum Query Results Displayed.

### 2.10.18 9312_83

Bug ID 14604484: ADD FILE AND GET FILE ATTACHMENT ERROR IF ACCESSING AGILE THROUGH QUALIFIED HOST NAME

Root Cause: Referring link substitution was affecting other unintended URLs (with 'link' in them).

Resolution: Referring (short cut) URL substitution has been fixed so that only '/link/' is now substituted.

### 2.10.19 9312_84

Bug ID 14604527: USER GROUPS ARE MISSED WHEN COPY/PASTE TO THE NOTIFY FIELD

Root Cause: The query string is divided by ";" - however, it generates a blank space since the second part.

Resolution: Trim the blank space.

### 2.10.20 9312_85

Bug ID 14348772: NON-MATERIAL PERCENT DOES NOT APPLY MARKUP % AT THE ASSEMBLY LEVEL WITH OR WITHOUT MPN

Root Cause: Previously, the system calculated non-material Percent value based on the material price of the Response Line. For Assembly, however, it does not have a material price, so the calculated result for non-material percent value is always 0. The system should calculate non-material percent value for Assembly based on the rolled-up material price.

Resolution: Calculate non-material percent value for Assembly based on the rolled-up material price.

### 2.10.21 9312_86

Bug ID 14617996: RESTRICTED DISCUSSION PARTICIPANT ALLOWS USERS TO SEE OTHER DISCUSSIONS ON THE DISCUSSIONS TAB

Root Cause: Bypass check privilege for Sourcing Project\RFQ\RFQ Response

Resolution: Add check privilege for Sourcing Project\RFQ\RFQ Response

### 2.10.22 9312_88

Bug ID 14614895: SAVEAS NULLPOINTERERROR ON DOC AFTER CREATE PROJECT FROM TEMPLATE

Root Cause: Save As on Document is throwing a NullPointerException after creating a project from template.The root cause for this issue is, while cloning the document in the Content tab, we do not copy the Manufacturers tab, hence a dummy row in the "MANU_BY" table is not inserted.

Resolution: The resolution for this issue is to insert only a dummy row while creating a project from the template, but not to copy the Manufacturers tab.

Bug ID 14615022: ATTACHMENT INDICATOR IS MISSING FOR CERTAIN ITEMS

Root Cause: Item copy from Content tab of a program resets the flag after a program save as.

Resolution: Undo reset and reset the tabs based on create from template condition.

### 2.10.23 9312_90

Bug ID 14723644: CHANGES TO SCHEDULE END DATES OF TASKS IN THE GANTT VIEWER IS NOT UPDATING EXTERNALLY

Root Cause: Modified Activities list, which did not have all the modified Activities, was used during update.

Resolution: Need to call getAllModifiedActivities on document after UpdateCoverPage on children to get the actual list.

### 2.10.24 9312_91

Bug ID 14682873: BOM COMPLIANCE REPORT PULLS IN ROHS 2006 VALUES EXTRANEOUSLY

Root Cause: If the user tries to add more than two Specifications, or one specification is not the lowest-numbered ID into Specification list, and the user attempts to run the BOM Compliance Report, a duplicate row is added in the report. It is a coding issue. When starting the BOM Compliance Report process, the code does not filter out the duplicate row.

Resolution: When running a BOM Compliance Report, the code now filters out the duplicate row.

### 2.10.25 9312_92

Bug ID 14752015: LOCK RFQ RESPONSES

Root Cause: No SDK API for lock and unlock RFQ Responses rows.

Resolution: Added two new APIs lockResponses(List rows, boolean background) and unlockResponses(List rows) on IRequestForQuote.

### 2.10.26 9312_93

Bug ID 14763729: AGILE - ROGUE QUERY PRODUCES HIGH NUMBER OF ARCHIVE LOGS FILLING DATABASE

Root Cause: Report server-side will do additional security checking for those Where Used result objects that are a different type than the object chosen to run. This will impact the performance.

Resolution: Report server-side change to use the Base Class to do the Where Used search, and improve the security checking on report side.

### 2.10.27 9312_94

Bug ID 14763944: API FOR UPDATE CONTENT FROM ITEM MASTER

Root Cause: Agile SDK API does not exist to support this functionality.

Resolution: Enhanced Agile SDK by adding new API IProject.updateContentFromItemMaster(Map Params) to support UPDATE CONTENT FROM ITEM MASTER.

Other related bugs are:

Bug ID 14752113: API FOR UPDATE AML FROM ITEM MASTER

Bug ID 14763950: API FOR VALIDATE ITEMS AND AMLS

Bug ID 15895218: UPDATE FROM ITEM MASTER FUNCTIONALITY NOT UPDATING THE 'UOM' ATTRIBUTE

### 2.10.28 9312_95

Bug ID 14782216: IMPORT NOT IMPORTING DUPLICATE ITEMS

Root Cause: Equal and hashcode methods were overwritten, causing BOM to be replaced with a BOM having same Item number and Find number. So import of duplicate items fails.

Resolution: Remove the Equal and hashcode methods.

### 2.10.29 9312_100

Bug ID 14684351: SUBSCRIPTION TO PARTS NOT SHOWING ON USER'S LIST

Root Cause: Subscription privilege checking is based on class level. If create subclass privilege, the table cell will display blank.

Resolution: Check privilege on subclass level.

### 2.10.30 9312_101

Bug ID 14809852: HISTORY TIMESTAMP ON ATO SHIFTS 8 HOURS MID-TRANSACTION

Root Cause: When a new date instance is created in the program, the default time zone should be GMT, but sometimes the default time zone is changed to PDT. It is a Java SDK bug, we can refer `http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6352812` to get more info. This bug has been fixed in Java SDK 1.6.

Resolution: Specially handle the "Local Client Time" field in the History table, by setting the time zone to GMT before creating the new date in the program.

### 2.10.31 9312_102

Bug ID 14797962: CALCULATE COMPLIANCE IS NOT WORKING CORRECTLY

Root Cause: Rollup is based on each supplier, then it takes the worst case.

Resolution: Reverted the behavior introduced in 9.2.2.4; using the following priority to pick up the compositions:matching spec > FD > Supper Set spec > All spec; and remove the AVL check.

### 2.10.32 9312_103

Bug ID 14809510: USERS NEED THE ABILITY TO VIEW CRITERIA AND DO A SAVE AS ON GLOBAL SAVED SEARCHES

Root Cause: There is an additional global search Privilege check when doing saved search from Affected Items table.

Resolution: Skip Privilege check if the saved search is under Global Searches folder.

### 2.10.33 9312_104

Bug ID 14695788: UNABLE TO USE VARIABLES AS AN ADVANCED SEARCH CRITERIA

Root Cause: The variable $TODAY was swapped to Japanese characters [$今日], but the string [$今日] cannot be recognized.

Resolution: Skip swapping, use $TODAY directly.

### 2.10.34 9312_106

Bug ID 14849220: GANTT CHART'S PRINT PREVIEW DOES NOT SHOW ROW NUMBER

Root Cause: The preferred width of sequence number column is set to 20, which is not sufficient to completely display number if there are more than 100 tasks.

Resolution: Code modified to extend the preferred width of this column to 30.

### 2.10.35 9312_108

Bug ID 14839115: ENTERING DIFFERENT PRICES FOR MULTIPLE QTY BREAKS, SHOWS THE SAME PRICE

Root Cause: Construct incorrect information for attribute ID and value of Responses model.

Resolution: Using change way to construct information for attribute ID and value of Responses model.

### 2.10.36 9312_110

Bug ID 15870223: FILL-DOWN IN A DEVELOPMENT EC DOESN'T WORK

Root Cause: When matching the workflow criteria condition that include items' "Lifecycle Phase" field, if the count of the items in the Affected Items table is more than two, in some cases, the left operand can not be resolved correctly when evaluating the criteria.

Resolution: Put the Lifecycle Phase field's value of the Affected Items into the correct position of the left array when resolving the left operand.

### 2.10.37 9312_111

Bug ID 15884591: SDK - IN XML FILE - CLOSE TAGS OF </AFFECTEDITEMS> AND CORRUPT THE XML STRUCTURE

Root Cause: When exporting a Change with more than two Affected Items, there are some redundant </AFFECTEDITEMS> end-targets in export file.

Resolution: Delete that rebundant targets.

### 2.10.38 9312_114

Bug ID 15872341: CANNOT SUBMIT RE-QUOTED RESPONSES, MISSING OK/CANCEL

Root Cause: Incorrect error message when selecting all line items including ones that have not been re-quoted yet and selecting Responses > Submit is confusing.

Resolution: Using proper error message to show.

### 2.10.39 9312_115

Bug ID 15884831: CONTENT TAB STILL PERFORMS THE ACTION--EVEN THOUGH THE RULE HAS BEEN REMOVED

Root Cause: When removing a relationship object, it will not remove the rules.

Resolution: Removed the rules when removing the relationship object.

### 2.10.40 9312_118

Bug ID 15958114: ASSEMBLY COST REPORTS RESULTS CONTAIN NO SUMMARY COST VALUES--EVEN THOUGH THE SUBITEMS DO HAVE SUMMARY COST VALUES.

Root Cause: The Price lookup does not undelete soft-deleted response lines.

Resolution: For soft-deleted responses, the correct lifecycle state (Draft) was set after the price lookup and the state in the database was updated.

### 2.10.41 9312_119

Bug ID 15984831: AGILE PLM - "ORA-01858" ERROR OCCURS FOR A COUPLE OF MANUFACTURER CHANGES -- MC STUCK IN "HOLD".

Root Cause: Get a

historical hold before current status in workflows when executing the program business. This occurs because the date format hard-coded in the SQL script was US. If the language of the operating system the WebLogic server was running on was another language, it would cause a SQL date conversion error.

Resolution: Changed the date format from US to a common format.

### 2.10.42 9312_121

Bug ID 16031275: CASCADED SINGLELIST CANNOT BE SET TO NULL BY SDK.

Root Cause: SDK pre-handles the attribute value passed in using att_value.toString(), however, if the customer tries to set the attribute to blank via SDK, att_value will be null. NULL.toString() throws out NPE.

Resolution: Resolved the situation by adding the null value to the attribute map.

### 2.10.43 9312_122

Bug ID 16062408: SEARCH CRITERIA FOR A DASHBOARD IN JAVA CLIENT APPEARS DIFFERENTLY IN WEB CLIENT

Root Cause: The search criteria values are not shown correctly in Dashboard. The user configures and executes an Advanced Search with prompt and multiple conditions in the Dashboard widget. These values are sent to the server, but due to mismatched keys the program is unable to read the corresponding values of the attributes and saves as criteria. Therefore, the correct result cannot be returned and displayed.

Resolution: Recode the key so that we can read the correct and corresponding prompt values of the searched attributes. Then continue to execute this search and return these rows to the client UI.

### 2.10.44 9312_124

Bug ID 16031957: PSR, QCR CASE OWNER/CASE CREATOR NOT VISIBLE IN REPORT/SEARCHES 9.3.1.2

Root Cause: This issue is caused by the code fix for bug [13346920]. Once the patch is applied, the system considers two VOCellObjects as the same one if they have the same objectID, even though one has oneclassID and the other has baseClassID.

Resolution: Set the ID of the user, instead of base class ID when pack cell data in Search.

### 2.10.45 9312_125

Bug ID 14837478: SAVE AS ON CANCELLED ECO CREATES BAD DATA IN AGILE

Root Cause: The change contains an invalid site, since the site is not related with the Affected Item (AI). Due to this, the change cannot be released.

Resolution: When saving an Item from one canceled Change, ensure that the AI with the invalid site is deleted.

### 2.10.46 9312_126

Bug ID 15984864: PRICELINES WITH DIFFERENT CURRENCIES THROWS ERROR: PRICE LINE IS ALREADY IN THE TABLE

Root Cause: The existing Composite Key for duplicate Pricelines in the Pricelines tab was { [Ship From] + [Ship To] +[Date From] +[Date To] +[Quantity]} which did not allow the addition of new Pricelines with different currencies.

Resolution: Added the Currency attribute along with the existing Composite Key to support duplicate Pricelines with different currencies. The new Composite Key for duplicate Pricelines is: {[Ship From] + [Ship To] +[Date From] +[Date To] +[Quantity] + [Currency]}.

### 2.10.47 9312_129

Bug ID 16185665: CUSTOM REPORT: THE DATA IS NOT BEING SORTED, AS MENTIONED IN THE SORT TAB

Root Cause: The function used to collect the sorting column is defective.

Resolution: Fix the defect.

### 2.10.48 9312_131

Bug ID 15990975: EXPORT PRIVILEGE DOES RESTRICT EXPORT (CSV) AND EXPORT (EXCEL) OF SEARCH RESULTS

Root Cause: Search allows user to export all search results.

Resolution: Add privilege check for search result export.

### 2.10.49 9312_132

Bug ID 16097285: UNABLE TO ADD MORE THAN 28 SUPPLIERS AS AUTHORIZED SUPPLIERS

Root Cause: This issue is related to a MultiList overflow.

Resolution: If the value of MultiList Authorized Suppliers overflows, store value into MSATT table, and store ',-1,' into the original table.

### 2.10.50 9312_133

Bug ID 16058905: ERROR: USING THE REDLINE PUBLISHING MODE, THE LATEST PRICES DO NOT OUTPUT IN SEARCH RESULT

Root Cause: Do an Advanced Search against object Item and display some attributes under Prices in the search result. Only redlined Prices are returned, because only redlined Prices and the latest released PCO number is stored into column PRICELINE.CHANGE_IN. Otherwise, its stored as 0.

Resolution: Change the join condition from PRICE_RELATIONSHIP.DEFAULT_CHANGE =PRICELINE.CHANGE_IN(+) to ?PRICE_RELATIONSHIP.DEFAULT_CHANGE >= PRICELINE.CHANGE_IN(+). As a result, the search lists all Prices, not only the latest released. The behavior is now the same with Advanced Search against object Price; it also lists all the prices.

### 2.10.51 9312_136

Bug ID 16232113: CREATE DECLARATION WITH ROHS SPECIFICATION (THAT HAS 70 POSSIBLE EXEMPTIONS)

Root Cause: The exemptions information is saved to the DB table as a string like ',3611838,3611839,'. If the number of characters is over 255, it is cut to 255 characters. The current solution only supports the ability to add 31 exemptions.

Resolution: For the exemption attribute in the DB table, it is able to support 4000 characters. Therefore, there is no schema change. Change the number of the limited characters to 4000 in the code. This supports the ability to add more exemptions.

### 2.10.52 9312_137

Bug ID 16242933: UNABLE TO IMPORT AXML FOR A DECLARATION WITH BOS WHEN NUMBER OF MPS GETS LARGE

Root Cause: If the substance of MPN is too large, we encounter the customer's issue. We concatenate a SQL to delete the related substance_map firstly when doing import for substance for MPN. DELETE SUBSTANCE_MAP WHERE MATERIAL_DECL_ID = ? AND VISIBLE = ? AND COMPOSITION_ID IN (substanceid1, substanceid2, substanceid3, substanceid4, substanceid5?.),; When the number of substanceid > 1000, it throws a SQL exception: ORA-01795 maximum number of expressions in a list is 1000.

Resolution: Use the batch instead of expressions.

### 2.10.53 9312_139

Bug ID 16327203: USER DATA THROUGH MIGRATEUSERSTODB DOES NOT APPLY DEFINED DEFAULT VALUE

Root Cause: The command migration tool does not pick up the attribute's default value properly.

Resolution: Correct the logic of retrieving the default value of attributes.

Other Verified Issues: Bug ID 16239338: THE USER DATA THROUGH MIGRATEUSERSTODB DOES NOT APPLY DEFINED DEFAULT VALUE

### 2.10.54 9312_140

Bug ID 16269471: PART NUMBER GENERATED FROM AUTONUMBER DOES NOT SKIP EXISTING PART

Root Cause: AdminMetaData Web Service had an issue where it did not consider the agileClass when fetching the sequence. It returned a normal sequence irrespective of class/subclass name.

Resolution: Added the condition to pass the agileClass to getAutoNumber method.

### 2.10.55 9312_141

Bug ID 16270606: CANNOT ACCESS ITEMS ON "AFFECTED ITEMS" ON MCO

Root Cause: There are unnecessary operations that are used to get flags in the method fillMS() in ItemPageTwoDAO.java, which leads to performance issues when loading the Affected Items tab if a Change has a large number of Affected Items.

Resolution: Add method getFlags() in ItemCoverPageDAO.java and invoke it in fillMS() in ItemPageTwoDAO.java

### 2.10.56 9312_142

Bug ID 16324460: CANNOT MAP BOM VARIANT CONFIGURATION USER PREFERENCE IN IMPORT TOOL

Root Cause: The attribute BOM VARIANT CONFIGURATION preference is not added.

Resolution: Added the BOM VARIANT CONFIGURATION preference.

### 2.10.57 9312_143

Bug ID 16213178: PRICELINE VISIBLE IN ITEM OR MANUFACTURER PART PRICE TAB BEFORE PCO RELEASE

Root Cause: This issue is caused by the UI showing unreleased pricelines under Item.Price and Manufacturer Part.Price tabs.

Resolution: Stop displaying unreleased Pricelines on the Item.Price and Manufacturer Part.Price tabs.

### 2.10.58 9312_144

Bug ID 16330094: UNABLE TO CREATE A NEW INSTANCE FROM A MODEL (VARIANT MANAGER)

Root Cause: When executing the "Launch Configurator" action, we do not set the object's subclass before checking privileges, which leads to the error. The same problem exists in the create instance method.

Resolution: Set the object's subclass.

### 2.10.59 9312_146

Bug ID 16270566: CANNOT ADD ATTACHMENT TO DOCUMENT

Root Cause: When adding/removing a file to an Item/Document object, all of its Where Used object's BOM table are unnecessarily loaded into object cache, which leads to loaded thumbnails. This causes a performance issue.

Resolution: Avoid loading all the Where Used object's BOM table, and just invalidate the Item/Document object's BOM table instead.

### 2.10.60 9312_147

Bug ID 16341657: REVISION FOUND IN AFFECTED ITEMS TAB OF PROBLEM REPORT DOES NOT SHOW THE LATEST RELEASED

Root Cause: If event triggers are enabled, the related function will change some request parameters.

Resolution: Fix this defect, use copycat.

### 2.10.61 9312_148

Bug ID 16210586: UNABLE TO SEE VALUES IN SEARCH CRITERIA IF SAVED SEARCH CRITERIA

Root Cause: Operators "-" and "+" are not handled in the code.

Resolution: Convert the date string when it contains such characters.

### 2.10.62 9312_149

Bug ID 16430352: NOTIFICATION IS SENT EVEN THOUGH GROUP WAS REMOVED FROM APPROVERS LIST

Root Cause: If the auto-promote flag of the Released state is set to Yes, when the current state type is Released and the next state type is complete, the system only recognizes the default users of the Released state that were previously set in Java Client.

Resolution: The system must check all of the current sign-off users, instead of the default users.

### 2.10.63 9312_150

Bug ID 16417561: SYSTEM PERFORMANCE IS BAD DURING CHANGE STATUS OF PSR

Root Cause: When closing a CER (PSR object), we need to update the Affected Item's PSR flag and check whether there is any other open PSR at that Item. This method has performance issues and the issue is obvious when the Item has a large number of PSRs.

Resolution: Improve the method for checking an Affected Item's open PSRs.

### 2.10.64 9312_151

Bug ID 16454200: VERSION FIELD ON ITEMS.PRICES TABLE IS NOT UPDATING

Root Cause: The correct version and release date are not being loaded/resolved for pricelines that are not redlined in a PCO.

Resolution: Load and resolve the version and release date from the parent Price object for such pricelines.

### 2.10.65 9312_152

Bug ID 16320073: ATTRIBUTES THAT ARE NOT EDITED ARE APPEARING IN THE DIRTY CELL ARRAY

Root Cause: When the display type of the single select list was searched, in some conditions, the format of the new value was like "value=id", so in this case, when comparing the new value with the existing value, the system would get a wrong result.

Resolution: Handle this case, convert this format to the standard format which only contains object id.

### 2.10.66 9312_153

Bug ID 16425611:DUE TO DEEP RECURSION, THE SERVER CRASHES WITH CORE DUMP

Root Cause: The data of the Design object contains a circular reference to itself, which can be detected when checking in the design object. This causes circular (infinite) loops in collecting the XReference files while viewing the assembly file.

Resolution: Broke the circular (infinite) loops in the case of the design object reference itself while viewing the Assembly file.

### 2.10.67 9312_154

Bug ID 16398617: DATA SYNCHRONISATION ISSUES IN A GO-LIVE PRODUCTION WEBLOGIC 10.3

Root Cause: In the ACS extract thread, two user contexts are created. ctx1 is first created to look up the JMS resource, which is located on the SOA server. Then, ctx2 is created to look up the JDBC data source. When call ctx2.lookup() occurs, ctx1 is not closed and the current context in the ACS extract thread is ctx1, which causes the error.

Resolution: Minimize the context variable scope and close the context after it is used.

### 2.10.68 9312_155

Bug ID 16114093: INCONSISTENT DISPLAY OF HAS PENDING DECLARATIONS ON THE BOM OF AN ITEM

Root Cause: The Has Pending Declarations rule is not functioning correctly in the database. Parts with an ECO, ECR and other changes sometimes do not get the flag recorded correctly, which leads to the display error issue.

Resolution: Get the Has Pending Declarations flag from tables MATERIAL_DECLARATION_MAP and MATERIAL_DECLARATION.

### 2.10.69 9312_158

Bug ID 16262556: AUTONUMBER DOES NOT APPEAR WHEN SUBSTANCE DECLARATION IS CREATED

Root Cause: Caused by Bug ID 10404672, but already fixed in 932. Only generates AutoNumber when the string "haswarning" is null.

Resolution: Generate AutoNumber when the string "haswarning" is null or empty.

### 2.10.70 9312_159

Bug ID 16501448: ERROR ON COMPLIANCE SCHEDULE ROLL UP

Root Cause: ComplianceRollupTask.java does not set up the user context. It runs as a background task to roll up, but it calls EJB APIs that require user principal passed from client side. In this case, the client is doing a compliance rollup task.

Resolution: Prepare the context when starting the task.

### 2.10.71 9312_161

Bug ID 16482862: UNABLE TO EXPORT PROBLEM REPORT WITH AFFECTED ITEMS WITH ERROR

Root Cause: When you set Site to No in the licenses setting in Java Client, export PRQ throws an exception.

Resolution: When there is no Site selection box, we see it as has a common site.

### 2.10.72 9312_162

Bug ID 16557288: ACP CRITERIA MISSING JOIN OPERATOR 'AND' AFTER COPYCONFIG WITH NO ERROR LOGGED

Root Cause: While running ACP import for criteria, if there are 2 conditions and the join operator (AND/OR) is missing in the first condition the criteria gets successfully imported without catching the missing join operator as an error. The join operator is set to null instead.

Resolution: During validation of the conditions, ensure that the join operator can be not set (id=-1) in only the last condition, otherwise throw an exception.

### 2.10.73 9312_164

Bug ID 16564032: ACP DOES NOT WORK FOR EVENT HANDLERS WITH ASSOCIATED ROLES 16283704: UNABLE TO IMPORT SEVERAL EVENTS

Root Cause: Unable to resolve source object properties when reference objects are newly created in the source system. The existing code uses object IDs to resolve source object properties and their referenced objects. When reference objects are created on the target system, they get created with new object IDs, causing object resolution to fail. Therefore, sometimes objects/object types are different even though their IDs match.

Resolution: All reference objects' resolution logic now use their APIName instead of ID. To meet this requirement, we fixed the ACP export function so that required object APINames are written into the corresponding XML file.

### 2.10.74 9312_165

Bug ID 16545495: IN AGILE CONFIGURATION PROPAGATION (ACP) CERTAIN CHANGE CONTROLLED ATTRIBUTES STILL GET JAVA HEAP ERROR AFTER PATCH 13927507

Root Cause: The wrong cache data causes a recursive method call.

Resolution: Handle the wrong cache case and avoid a recursive method call.

### 2.10.75 9312_166

Bug ID 16570973: EXPOSE APIS FOR SOURCING PROJECT ATTACHMENTS

Root Cause: This feature is not supported in SDK until now.

Resolution: Add new PCM SDK implementation for Sourcing Project.

### 2.10.76 9312_167

Bug ID 16557009: DYNAMIC LIST VALUES WITH SPECIAL CHARACTERS AT THE END CAN NOT BE UPDATED

Root Cause: Because the wildcard character "=" was parsed as a delimiter to differentiate the value and id of an object in a list, if "=" existed in the value of an object in the list, the system could not differentiate the value and id of this object correctly.

Resolution: Escape the wildcard character "=" in the list value to HTML code.9312_169

Bug ID 16623975: SUPPLIER CANNOT VIEW ALL ITEM ATTACHMENTS IF THERE IS NO PRIVILEGE FOR ONE ATTACHMENT

Root Cause: A supplier cannot view any of an Item's attachments, if it does not have privilege for one attachment. This is as designed.

Resolution: Change the behavior to display only the shared folder when the supplier is logged in.

### 2.10.77 9312_170

Bug ID 16608784: USER'S NETWORK ACCOUNT (LDAP ACCOUNT) IS LOCKED AFTER USING URL PROCESS EXTENSION

Root Cause: WLSLoginModule.commit() does not return false when login() failed to authenticate the current user.

Resolution: WLSLoginModule.commit() returns false when login() fails to authenticate current user.

### 2.10.78 9312_171

Bug ID 16590902: UPGRADED 9.3.0.0 TO 9.3.1.2, TESTED MODIFY BOM DATE FIELD, BUT GET ERROR

Root Cause: When saving the redline of attributes, the system checks the modify privilege of the "main attribute", which is BOM.itemnumber in this case.

Resolution: Change the logic to allow users to modify the attributes for which they have modify privilege.

### 2.10.79 9312_173

Bug ID 16688705: UNABLE TO RETRIEVE NON MATERIAL PRICE VALUES VIA SDK

Root Cause: By default, the server-side API does not load the complete Price table information. It only loads the Price summary information.

Resolution: Change the SDK implementation to call the ProjectSessionBean.getDetailPriceTable () API when the attribute to load is ProjectConstants.ATT_ANALYSIS_PRICING and Row has prices.

### 2.10.80 9312_174

Bug ID 16682618: "NO AML FROM THE ITEM MASTER WAS RETRIEVED" ERROR THROWN BY PROCESS EXTENSION (PX)

Root Cause: Item IDs corresponding to Item Numbers are not retrieved correctly from the Sourcing Project ProjectConstants.TABLE_ITEMS tab. The customer's Agile implementation has identical Item and MPN numbers. When an Item ID in the Souring Project is retrieved, the system is returning either the Item number or MPN number based on row order in the database, which also causes inconsistent behavior.

Resolution: Added a filter condition to limit data retrieval only to Item numbers.

### 2.10.81 9312_176

Bug ID 16741745: PROJECT ASSEMBLY COST REPORT GENERATED BY API GETS TRUNCATED

Root Cause: The earlier Xalan version has a DTM ID leak issue. The Xalan XSLTC source code is used in the JDK 6 'com.sun.org.apache.xalan.internal' packages.

Resolution: Use the Oracle XML Parser instead of Xalan in JDK 6.

### 2.10.82 9312_177

Bug ID 16740595: PG&C COMPLIANCE ROLLUP FAILS

Root Cause: For PL/SQL, there is 1000 item limitation such as IN (1,2, 3, ..., 1000).

Resolution: The limit of 1000 applies to sets of single items: (x) IN ((1), (2), (3), ...) There is no limit if the sets contain two or more items: (x, 0) IN ((1,0), (2,0), (3,0), ...).

### 2.10.83 9312_179

Bug ID 16749348: AGILE APPLICATION PERFORMANCE ISSUES ON 9.3.1.2 VERSION VERSUS AGILE 9.3.0.2

Root Cause: The method init() in CascadeList and the methods in AgileAdminList cause more server side calls when executing getAdminList.

Resolution: Reduce server side calls and keep the SDK client side list cache function working.

### 2.10.84 9312_181

Bug ID 16750616: WRONG DEVIATION EXPIRE NOTICES - BODY OF OLD DEVIATION WITH NEW DEVIATION NOT EXPIRED

Root Cause: When creating a new deviation via the Save As action, the default values of Effective From and Effective To for new deviation is set as the same as the expired deviation. When the user clicks Save in the Save As dialog, the value is saved in the DB. In edit mode in the Cover Page, the user can delete the default value and set a new value, however, before the user clicks Save in the Cover Page, the notify task may be already executed (it runs every 30s as setting in preferences) based on the default value, which results in an incorrect expire notification.

Resolution: Send expire notification only if the workflow is at Released status and the deviation has not already expired.

### 2.10.85 9312_184

Bug ID 16795266: ASSEMBLY COST (SUPPLIER RESPONSE) REPORT LAYOUT MISSING ATTRIBUTES

Root Cause: The logic is hard-coded in reportconfig.xml to exclude material price adders 1-5.

Resolution: Make material price adders 1-7 configurable based on property "visible to", which is defined in Java Client.

### 2.10.86 9312_185

Bug ID 16832383: UNABLE TO ADD PRICELINES TO PRICE OBJECT USING SDK

Root Cause: The required attributes to create a priceline via SDK-API is different from the Web Client.

Resolution: Change the required attributes of the SDK-API to be the same as in the Web Client.

### 2.10.87 9312_186

Bug ID 16843375: CHANGE AUDIT STATUS WITH WARNING IS GOING INTO AN INFINITE LOOP

Root Cause: When doing a BOM redline and Change Status action, if the current change has BOM redlines that conflict with the BOM redlines of other pending change(s), the system throws a "cause readline lost" warning, but actually, this warning does not go into an infinite loop. The count of the warning thrown depends on the count of the Affected Items that had the BOM redlines conflict, but this system feature caused the customer confusion.

Resolution: Make sure this warning is thrown once.

### 2.10.88 9312_187

Bug ID 16832428: ACS IS NOT CREATING ATO

Root Cause: The code for generating ACS SQL in the search is not placed at a proper position. Method postSQLGenerated() cannot affect it.

Resolution: Place this piece of code at a proper position.

### 2.10.89 9312_190

Bug ID 16583336: UNABLE TO SET CHANGE WHILE IMPORTING DECLARATION USING AIS

Root Cause: We previously did not support for Declarations to import an exact rev Item with the exact Change number.

Resolution: Now we use 8 spaces " " as a delimiter to split rev and change number when the user does an import and map rev for the Item of the declaration.

### 2.10.90 9312_191

Bug ID 16854705: ALL APPROVED NOTIFICATION SENT FOR SUBMITTED STATUS 16855156: CHANGE ANALYST USERS GETTING NOTIFICATION OF "ALL APPROVED"

Root Cause: When the user does a Remove action at the Review status, the system adds a history record with All Approved by default, which results in notification being sent out.

Resolution: When removing users at Review status, the system should check whether all the remaining users have signed off before adding the All Approved history. If all users have signed off, All Approved should be added to history, otherwise, it should not be added.

### 2.10.91 9312_192

Bug ID 16873875: PG&C COMPLIANCE ROLL UP ON TLA CHANGES COMPLIANCE

Root Cause: When the user transfers data with the data loader, it loses the 6th bit of flags in the rev table, which cause the calculation to fail.

Resolution: Add a script to the data loader, to reset the value of the 6th bit of flags and refer to the data in the manu_by table.

### 2.10.92 9312_193

Bug ID 16813238: NEED ABILITY FOR PROCESS EXTENSION (PX) TO UPDATE OBJECT IN EDIT MODE

Root Cause: This is an enhancement.

Resolution: If an object is in Edit mode, the user is not allowed to run Process Extensions that are initiated from the Actions Menu.

### 2.10.93 9312_194

Bug ID 16887703: ORACLE AXML XSD VALIDATION ERROR

Root Cause: In redlined rows, the empty date & numeric attributes are still output into XML, however, the attributes definition in xsd is xsd:dateTime & xsd:double, which does not allow empty values.

Resolution: Change the agile export code to ensure that the empty values will not be output into XML with empty tags, especially for date & numeric types of attributes.

### 2.10.94 9312_195

Bug ID 16921303: ASSEMBLY COST (SUPPLIER RESPONSE) REPORT DOES NOT OUTPUT SOME MAIN HEADER ATTRIBUTES

Root Cause: There are 3 issues here: 1. The report layout contains some attributes which are not included in the report output result. 2. The report does not output attribute names for Non-Material prices, it only output the values. 3. The report layout does not contain Response flex attributes.

Resolution: 1. Filter out the attributes that are not shareable or should not be seen by the supplier. 2. Follow the example of the buyer side report and use the description to output the attribute name for Non-Material prices. 3. Change the report configuration file to make the report layout load attributes from the RFQ.Response Tab instead of the RFQ Response.Response Tab.

### 2.10.95 9312_200

Bug ID 16943369: DASHBOARD SHOWS INCORRECT COLORS WHEN USE STACKED AREA CHART IN REPORT

Root Cause: The defined first two renderer styles use two color mode: RGB and sRGB. This mode does not work properly when using stacked area chart in a report.

Resolution: Remove the defined first two renderer styles. Use the ilog default style in all.

### 2.10.96 9312_201

Bug ID 16775592: CANNOT FORCE NEXT LOGIN PASSWORD CHANGE FOR WEB-CREATED SUPPLIER

Root Cause: Design change.

Resolution: Add a checkbox onto the Supplier creation page.

### 2.10.97 9312_203

Bug ID 16992035: QUICK TOUR ERROR SCREEN

Root Cause: This is caused by directly getting the flash file in an iframe and there is also a missing id in the object tag.

Resolution: We now output the HTML content in the action servlet, and the browser does not automatically generate content.

### 2.10.98 9312_204

Bug ID 17002257: PROJECT BUDGETED DAYS AND EFFORT ARE INCORRECT IN RELATIONSHIP SEARCH ON ITEMS

Root Cause: Search on object Activity, Variances and durations are stored in milliseconds in the database, however, the value should be displayed in days to the end-user. Relationship search does not handle this case.

Resolution: When catching values in Relationship search, convert Milliseconds to days for variances and durations.

### 2.10.99 9312_207

Bug ID 17006426: ACR REPORT (SUPPLIER RESPONSE) SELECT RESPONSE DROP-DOWN NOT IN ORDER

Root Cause: We do not sort the RFQ number when running the ACR report in the supplier side.

Resolution: Sort the RFQ number when running the ACR report in the supplier side.

### 2.10.100 9312_209

Bug ID 17025520: CHANGE-CONTROLLED ATTRIBUTE VALUES ARE MISSING ACROSS ALL SUBCLASS

Root Cause: In Java Client, when a Subclass's Page Three attribute "Change Controlled" setting is changed to No, the system removes the Redline information of all the Subclass's attribute that has the same Base ID; the Class's attribute has same issue.

Resolution: Add Class/Subclass constraint condition in Remove Program. Then, when changing the value of the attribute, the system only removes the Redline info of the attribute.

### 2.10.101 9312_210

Bug ID 16997502: COMPLIANCE ROLLUP GET ERROR ORA-04030:OUT OF PROCESS MEMORY WHEN TRYING TO ALLOCATE 16328 KYTES

Root Cause: When doing a compliance rollup, if the BOM is recursive and very large, the system spends a lot of time and resources on it, which results in the system running out of process memory.

Resolution: Add a limit of maximum BOM rows when executing BOM recursion. If the BOM exceeds the maximum, throw an error.

### 2.10.102 9312_211

Bug ID 17018819: PG&C SHIPPABLE ITEM FLAG - NEED RECOMMENDATION ON APPROPRIATE LEVEL FOR SETTING

Root Cause: When a user transfers data with data loader, it loses the 4th bit of flags in the BOM table, which causes the calculation of child items to fail.

Resolution: Add a script to data loader, which resets the value of the 4th bit of flags and refer to the data in BOM table.

### 2.10.103 9312_216

Bug ID 16703604: SUPPLIER CANNOT VIEW ALL OF THE ITEM ATTACHMENTS IF THEY DO NOT HAVE PRIVILEGE FOR ONE ATTACHMENT

Root Cause: The following 3 restricted privileges were not provided in the original product as requested by the customer: (Restricted) GetFile Items (Restricted) GetFile MFR (Restricted) GetFile MFR Parts

Resolution: Add the three restricted privileges into the (Restricted) RFQ Responder Role.

### 2.10.104 9312_223

Bug ID 17213894: ROOT CAUSE FOR ECO GETS STUCK

Root Cause: In multiple windows, when using the copy/paste function to add Affected Items or redline BOM or redline Manufacture Parts, sometimes bad data is created, because the current object which is stored in the grid context is not correct.

Resolution: For Changes, and PSR and QCR objects, in the case of multiple windows, get the current object from the HTTP request and compare this object with the object in the grid context. If not the same, block the copy/paste action and throw the related error message.

### 2.10.105 9312_225

Bug ID 17222739: INCORRECT TRANSLATION ON ACTIVITY ASSIGNMENT NOTIFICATION

Root Cause: WTPG translated the attribute "From" as "开始时间" in the notification. This is incorrect. It should be translated as "寄件人".

Resolution: Translate the "From" attribute correctly.

### 2.10.106 9312_229

Bug ID 17278857: ASSEMBLY COST (SUPPLIER RESPONSE) REPORT DOES NOT OUTPUT SOME MAIN ATTRIBUTES

Root Cause: Need additional attributes, Bid Decision/Source/Attachment, for ACR Supplier.

Resolution: Added the additional attributes Bid Decision/Source/Attachment, for ACR Supplier.

### 2.10.107 9312_234

Bug ID 17371379: ASSEMBLY COST REPORT DOES NOT DISPLAY LIFECYCLE

Root Cause: Does not correctly resolve lifecycle phase (LCP).

Resolution: Added method to resolve LCP correctly.

## 2.11 PLM Release 9.3.2.0

This section includes Hot Fixes included in Agile PLM 9.3.2.0.

### 2.11.1 9320_3

Bug ID 16231988: ACTIVITY NAME DISPLAYS UNREADABLE CODE IN THE SCHEDULE TAB IN PPM

Root Cause: Double encoding occurs in the ToDoListNameRenderer.prepareLink() method.

Resolution: Only need to encode in the entrance method.

### 2.11.2 9320_6

Bug ID 16276267: ASSEMBLY COST REPORT RESULTS NO SUMMARY COST VALUES, EVEN THOUGH SUBITEMS HAVE PRICE INFO

Root Cause: Price lookup does not undelete soft-deleted response lines.

Resolution: For soft-deleted responses, set the correct life state (draft) after Price Lookup and update the same in the database.

### 2.11.3 9320_7

Bug ID 16420281: HF REQ CHANGES TO HISTORY TAB ON PRODUCT RELEASE GROUPS

Root Cause: Code defect. We add "add supplier notify" row in the History tab when adding a supplier, but we do not consider the status of the notification template.

Resolution: For Part Group/Parts(has revision)/Manufacturer Part, we stopped sending notifications for and recording the addition of a supplier, if the associated notification template is disabled.

### 2.11.4 9320_11

Bug ID 16509579: REDLINE IS MISSING FOR DEVICE LIFECYCLE CHANGE ON PRODUCTION

Root Cause: In Java Client, when the Change Controlled field's value is changed from one of the subclass's/class' attributes in page3/page2 to "No", the system removes the redline information of all the subclasses'/classes' attributes that had the same base id.

Resolution: Add subclass/class constraint condition in the remove program, so that in the change action above, only redline information of the self-subclass's/class's attribute is removed.

### 2.11.5 9320_12

Bug ID 16551420: HF REQ - LIMIT USER'S ABILITY TO CHANGE THE CHANGE TYPE AFTER CREATING A CHANGE ORDER

Root Cause: We do not filter object type by the Create privilege when editing the object.

Resolution: Filter object type by Create privilege when editing the object.

### 2.11.6 9320_13

Bug ID 16557299: USER EXPERIENCES A BAD DISPLAY WHEN LOGGING IN WITH PREFERENCE OF MY ASSIGNMENTS

Root Cause: The status of the Action Item is not handled correctly in the personalize view of My Assignment.

Resolution: Handle status of Action Item correctly in personalize view of My Assignment.

### 2.11.7 9320_14

Bug ID 16531844: SIGNOFF DURATION NOT CALCULATING

Root Cause: In 9.3.1 we had enhanced PPM to support time in Schedule dates. Hence the duration computation was enhanced to consider the working time and working hours defined in agile.properties, however, there is no such design for duration computation and there is a defect in the code. In 9.3.2, we calculate duration with the local date of the user who adds approvers and reviewers' local dates, but the logic is incorrect since the 2 dates may not use the same timezone.

Resolution: Use the exact time difference (include weekends) and 24 hour period for a day; 1. include Sunday, Saturday; 2. Use the next lowest integer when the value if not integer (for example, when the value is 0.9, take as 0; when the value is 1.1, take as 1;).

### 2.11.8 9320_16

Bug ID 16614583: RELATION SEARCH BETWEEN PART AND DOCUMENT DOES NOT DISPLAY THE PID

Root Cause: When the related object attribute is processed, it uses the subclass of the main object, but it should use the related object's class/subclass id.

Resolution: Correct code to use the related object's class/subclass id.

### 2.11.9 9320_17

Bug ID 16655891: WHEN PRINTING THE CHANGE PACKAGE REPORT, SOME OF THE HEADERS SHOW UP IN THE ORIGINAL NAME

Root Cause: The function to get the latest attribute name in the Change Package Report is defective.

Resolution: Fix the defect.

### 2.11.10 9320_18

Bug ID 16702791: ERROR ON THE COMPLIANCE SCHEDULE ROLL UP

Root Cause: The ComplianceRollupTask.java does not set up the user context. It runs as a background task to rollup, but it calls EJB APIs which require the user principal to be passed from the client side. In the current case the client is compliance rollup task.

Resolution: Prepare the context while starting the task.

### 2.11.11 9320_19

Bug ID 16695345: UNABLE TO IMPORT AXML FOR A DECLARATION WITH BOS WHEN NUMBER OF MPS GETS LARGE

Root Cause: Concatenate a SQL statement to delete the related substance_map first when doing an import for substance for MPN. DELETE SUBSTANCE_MAP WHERE MATERIAL_DECL_ID = ? AND VISIBLE = ? AND COMPOSITION_ID IN (substanceid1, substanceid2, substanceid3, substanceid4, substanceid5?.),; When the number of substanceid > 1000, it throws a SQL exception: ORA-01795 maximum number of expressions in a list is 1000.

Resolution: Use the batch instead of expressions.

### 2.11.12 9320_20

Bug ID 16695398: CREATE DECLARATION WITH ROHS SPECIFICATION (THAT HAS 70 POSSIBLE EXEMPTIONS)

Root Cause: The exemptions information is saved to the DB table as a string like ',3611838,3611839,'. If the number of characters is over 255, it is cut to 255 characters. The current solution only supports the ability to add 31 exemptions.

Resolution: For the exemption attribute in the DB table, it is able to support 4000 characters. Therefore, there is no schema change. Change the number of the limited characters to 4000 in the code. This supports the ability to add more exemptions.

### 2.11.13 9320_21

Bug ID 16733804: VM CONFIGURATOR DOES NOT OPEN UP - "CONTENT ENCODING ERROR"

Root Cause: 932 web security code validates and encodes SOAP (used by the VM external configurator) as HTML by mistake.

Resolution: Fix the incorrect validation and encode the SOAP URL as XML.

### 2.11.14 9320_24

Bug ID 16784174: AGILE PIE CHART IN DASHBOARD CANNOT BE CLICKED ANYMORE

Root Cause: The iLog IlvChartServlet/IlvChartServletSupport.java uses PrintWriter instead of OutputStream to print content to the JSP response. The iLog lvChartServlet/IlvChartServletSupport.java is not correctly used by PPM DashboardGraphicalReports.jsp through the jsp:include tag.

Resolution: Remove the jsp:include, and instead use an additional ajax request to retrieve the image map and append it to the container DIV.

### 2.11.15 9320_26

Bug ID 16694140: A BLANK FIELD APPEARS IN ADVANCED RESEARCH

Root Cause: The name of attribute in France contains a special-character dot: '.', and this character cannot be escaped effectively.

Resolution: Specially handle this case.

### 2.11.16 9320_27

Bug ID 16849677: PART WITH SUBSTANCE REPORT THROWS ERROR

Root Cause: An error message is thrown when running a report for a Manufacturer Part. The error is thrown when we try to obtain revision information for the Manufacturer Part, because there is no revision value for the Manufacturer Part.

Resolution: Before attempting to get an Item's revision info, first check if the revision info is available.

### 2.11.17 9320_28

Bug ID 16872058: ERROR MESSAGE "0" WHEN ATTEMPTING TO ADD AFFECTED ITEM TO CHANGE

Root Cause: Improper logic is used for handing the exception when error occurs during the copy process for Item's attachments

Resolution: Improve the logic: 1. invalidate the Item's Attachment table after copy. 2. Show an error message in the Web Client if the file cannot be found in the vault.

### 2.11.18 9320_29

Bug ID 17001269: JAVA CLIENT DEAD-LOCK WHEN ADD/DELETE ITEM FROM RELATIONSHIP TAB

Root Cause: PCObject.setVersion executed with the Command thread, but it calls Swing API, which results in a deadlock with the Swing thread.

Resolution: Execute PCObject.setVersion on Swing thread with util: SwingUtilities.invokeLater(...).

### 2.11.19 9320_31

Bug ID 17199490: CHANGE AUDIT STATUS WITH WARNING GOES INTO AN INFINITE LOOP

Root Cause: When doing a BOM redline and Change Status action, if the current change has BOM redlines that conflict with the BOM redlines of other pending change(s), the system throws a "cause readline lost" warning, but actually, this warning does not go into an infinite loop. The count of the warning thrown depended on the count of the Affected Items that had the BOM redlines conflict, but this system feature caused the customer confusion.

Resolution: Make sure that this warning is thrown once.

### 2.11.20 9320_39

Bug ID 17270482: DUE TO DEEP RECURSION, THE SERVER CRASHES WITH CORE DUMP

Root Cause: The data of the Design object contains a circular reference to itself which can be detected when checking in the Design object. This causes circular (infinite) loops in collecting the XReference files while viewing the assembly file.

Resolution: Break the circular (infinite) loops when the Design object references itself while viewing the Assembly file.

### 2.11.21 9320_40

Bug ID 17411216: USING THE REDLINE PUBLISHING MODE, THE LATEST PRICES DO NOT OUTPUT IN THE SEARCH RESULT

Root Cause: When the user does an Advanced Search against an object Item, some attributes get displayed under Prices in the search result.

Only redlined Prices can be search out, because only redlined Prices and the latest released PCO number are stored into the column PRICELINE.CHANGE_IN. Otherwise, it's stored as '0'.

Resolution: We changed the join condition from 'PRICE_RELATIONSHIP.DEFAULT_CHANGE = PRICELINE.CHANGE_IN(+)' to 'PRICE_RELATIONSHIP.DEFAULT_CHANGE >= PRICELINE.CHANGE_IN(+)'. With the change, search lists all Prices, not just the latest released.The behavior now is the same as the Advanced Search against object Price, it also list all the Prices.

### 2.11.22 9320_42

Bug ID 17289534: WRONG DEVIATION EXPIRE NOTICES - BODY OF OLD DEVIATION WITH NEW DEVIATION NOT EXPIRED

Root Cause: When creating a new deviation via the Save As action, the default values of the Effective From field and the Effective To field for the newly created deviation are the same as in the expired deviation. When the user clicks Save in the Save As dialog, the value is saved in the database side. In edit mode in the Cover Page, the user can delete the default value and set a new value, but before the user clicks Save in the Cover Page, the notify task may have already executed (it runs every 30s as a set in preferences) based on the default value, so it gets the wrong expire notification.

Resolution: Send the expire notification only if the workflow is at the Released status and the deviation is not expired.