Forum Discussion
Hi archan,
This is similar behavior to what you previously reported when adding a new requirement through AML. The onBeforeUpdate server event on the re_Requirement ItemType expects that the classification property will be specified in the AML since that's how the AML is formatted when an update is submitted through the Aras Innovator client. You can resolve this issue by adding the classification property to your request and doing per-classification updates in your code.
This is known behavior in RE 11.0R1 that will be addressed in a future release.
Chris
Hi Christopher,
I tried to add the classification as well with the same value I had provided during the time of creation. Now I am getting a different error:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="">schemas.xmlsoap.org/.../">
<SOAP-ENV:Body>
<SOAP-ENV:Fault xmlns:af="">www.aras.com/InnovatorFault">
<faultcode>SOAP-ENV:Server</faultcode>
<faultstring><![CDATA[No items of type re_Requirement found.]]></faultstring>
<detail>
<af:legacy_detail><![CDATA[No items of type re_Requirement found.]]></af:legacy_detail>
<af:exception message="No items of type re_Requirement found." type="System.Exception" />
</detail>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
- christopher_gillis7 years agoNew Member
Hi archan,
Have you updated the where clause in your AML to include a check for the classification like "... and [re_Requirement].classification = 'Text' ..."
Chris
- archan967 years agoIdeator I
Hi Christopher,
Yes I tried that. I was adding it in the body first. Now I tried to add it in the where clause, and I am getting that error again which I was getting in the first place.
Here is my AML DOM, just trying a simple update by changing the requirement title by appending GUID to it
<Item isNew="1" isTemp="1" type="re_Requirement" action="edit" where="[re_Requirement].config_id = '68A75D9AAD4346E9A067B8A83C268657' AND [re_Requirement].is_current='1' AND [re_Requirement].classification = 'Requirement'">
<req_title>Test Requirement6247822e-20f9-4f7c-aa60-424360271702</req_title>
</Item>The same error:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="">schemas.xmlsoap.org/.../" xmlns:i18n="">http://www.aras.com/I18N">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>1</faultcode>
<faultactor />
<faultstring>Classification cannot be changed after saving the item.</faultstring>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>- christopher_gillis7 years agoNew Member
Hello,
I believe to work around this issue you'll need to include the requirement in both the where clause as well as the body.
<Item isNew="1" isTemp="1" type="re_Requirement" action="edit" where="[re_Requirement].config_id = '68A75D9AAD4346E9A067B8A83C268657' AND [re_Requirement].is_current='1' AND [re_Requirement].classification = 'Requirement'">
<req_title>Test Requirement6247822e-20f9-4f7c-aa60-424360271702</req_title>
<classification>Requirement</classification>
</Item>Any properties in the body of an edit or update will be applied as changes to any items that satisfy the where condition specified in the attribute. Because of the inability to change the classification of the requirements, you'll need to run this update once per-classification by specifying the classification in both the where clause and the body.
Chris