000034088 - Exporting all records in some RSA Archer applications fail: An error has occurred during the export process. The export file cannot be completed

Document created by RSA Customer Support Employee on Oct 3, 2016Last modified by RSA Customer Support Employee on Apr 21, 2017
Version 3Show Document
  • View in full screen mode

Article Content

Article Number000034088
Applies ToRSA Product Set: Archer
RSA Version/Condition: 5.5.3.3
Platform: Windows
IssueWhen trying to export data from specific Archer applications, users are receiving the following error:
An error has occurred during the export process.
The export file cannot be completed.
Contact your system administrator.

Additionally, exports work for other applications and questionnaires.
The following error is logged in the w3wp log file located in Archer's logging directory:
<ApplicationData>
  <TraceData>
    <DataItem>
      <TraceRecord Severity="Error" xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord">
      <TraceIdentifier>Archer.NET</TraceIdentifier>
     <Description>Object reference not set to an instance of an object.</Description>
     <AppDomain>/LM/W3SVC/1/ROOT-2-131015657715161121</AppDomain>
      <Exception>
        <ExceptionType>System.NullReferenceException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType>
          <Message>Object reference not set to an instance of an object.</Message>
          <Source>ArcherTech.ChannelFramework.ArcherData</Source>
          <StackTrace>
at ArcherTech.ChannelFramework.ArcherData.DataDefinition.Archer.ArcherSchemaQueryBase.CreateApplication(Boolean isTieredSchema, String parentPathName, ApplicationDefinitionQuery application, Func`2 fieldFilter)
at ArcherTech.ChannelFramework.ArcherData.DataDefinition.Archer.ArcherSchemaQueryBase.CreateApplication(Boolean isTieredSchema, String parentPathName, ApplicationDefinitionQuery application)
at ArcherTech.ChannelFramework.ArcherData.DataDefinition.Archer.ArcherSchemaQueryBase.CreateFieldDefinition(Boolean isTieredSchema, ApplicationFieldDefinitionQuery field, String parentPathName, String appName)
at ArcherTech.ChannelFramework.ArcherData.DataDefinition.Archer.ArcherSchemaQueryBase.&lt;&gt;c__DisplayClass7a.&lt;CreateApplication&gt;b__77(ApplicationFieldDefinitionQuery n)
at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at ArcherTech.ChannelFramework.ArcherData.DataDefinition.Archer.ArcherSchemaQueryBase.CreateApplication(Boolean isTieredSchema, String parentPathName, ApplicationDefinitionQuery application, Func`2 fieldFilter)
at ArcherTech.ChannelFramework.ArcherData.DataDefinition.Archer.ArcherSchemaQueryBase.CreateApplication(Boolean isTieredSchema, String parentPathName, ApplicationDefinitionQuery application)
at ArcherTech.ChannelFramework.ArcherData.DataDefinition.Archer.ApplicationSchemaQuery..ctor(String rootLocalName, SessionContext sessionContext, IEnumerable`1 queries, ArcherSchemaDefinitionOptions options)
at ArcherTech.ChannelFramework.ArcherData.DataDefinition.Archer.ApplicationDataReader..ctor(XmlQualifiedName rootName, SessionContext sessionContext, ApplicationDefinitionQuery query, IEnumerable`1 contentIds, Int32 castParentContentId, ArcherSchemaDefinitionOptions options)
at ArcherTech.PrintExport.PrintExportService.RenderRecordData(SessionContext sessionContext, PrintExportCriteria printExportCriteria, Boolean printLayout, Stream output)
at ArcherTech.Web.Modules.Foundation.Views.PrintExportPresenter.ExportRecord(SessionContext sessionContext, PrintExportCriteria printExportCriteria)
          </StackTrace>               
        </Exception>          
      </TraceRecord>  
    </DataItem>
  </TraceData>
</ApplicationData>


 
CauseThis issue is caused by a defect where the export cannot be generated due to a related record field that is on a layout and has all of it's configured display fields set to inactive.
ResolutionThe defect will be fixed in a future release.
Workaround
  1. Run the following SQL Query against an Archer Instance Database to identify all Related record fields that will have this issue if they are moved onto a layout:
    SELECT MT.module_name, MT.module_id, t2.*  FROM 
       (SELECT FT.field_name as RelatedRecordFieldName,  t1.*  FROM  (
    SELECT RD.field_id as RelatedRecordFieldID, SUM(CAST(FD.active as INT)) AS DisplayFieldsThatAreActive FROM tblXIVRelatedDisplayFields  as RD
    LEFT JOIN tblIVFieldDef as FD ON RD.display_field_id = FD.field_id
    GROUP BY RD.field_id having SUM(CAST(FD.active as INT)) = 0  ) as t1
    LEFT JOIN tblFieldTranslation FT on t1.RelatedRecordFieldID = FT.field_id )  as t2
    JOIN tblIVFieldDef as FD2 on t2.RelatedRecordFieldID = FD2.field_id
    JOIN tblLevel as L on L.level_id = FD2.level_id
    JOIN tblModule as M on M.module_id = L.module_id
    JOIN tblModuleTranslation as MT on M.module_id = MT.module_id

  2. After running the SQL Query, go to Administration -> Application Builder -> (application  or questionnaire ) -> Fields Tab.
  3. Open the Related Record field as per results of query above and select the Options Tab.
  4. Select a valid Display Field.
  5. Save the Related Record field.

Attachments

    Outcomes