000029443 - Unable to generate an RSA Archer Package: Unable to retrieve Level Layout information for the given Level

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

Article Content

Article Number000029443
Applies ToRSA Product Set: Archer
RSA Version/Condition: 5.x
IssueThe user is unable to create a Package of the application and also, unable to open the application through the App Builder:
The following sample exceptions are from the JobFramework log file:
<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent">
  <ApplicationData>
    <TraceData>
      <DataItem>
        <TraceRecord Severity="Error" xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord">
          <TraceIdentifier>Archer.Packaging</TraceIdentifier> 
          <UserId>70996</UserId> 
          <Description>Unable to retrieve Level Layout information for the given Level</Description> 
          <AppDomain>ArcherTech.JobFramework.Job.exe</AppDomain> 
          <Exception>
            <ExceptionType>System.InvalidOperationException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType> 
            <Message>Unable to retrieve Level Layout information for the given Level</Message> 
            <Source>ArcherTech.Packaging</Source> 
            <ContextData>
              <LevelId>326</LevelId> 
              <LevelGuid>{b79a5937-e2b4-41b7-83a9-62477aa7a6e8}</LevelGuid> 
              <LevelName>Findings</LevelName> 
              <Level_ModuleId>495</Level_ModuleId> 
              <Level_ModuleGuid>{1935a34e-4cbd-4c3f-8b92-586147c8e47f}</Level_ModuleGuid> 
              <Level_ModuleName>Copy of Findings</Level_ModuleName> 
            </ContextData> 
            <StackTrace>
              at ArcherTech.Packaging.Actions.Generation.GeneratePackage.ThrowMissingLevelLayoutException(SessionContext sessionContext, Level level) 
              at ArcherTech.Packaging.Actions.Generation.GeneratePackage.&lt;&gt;c__DisplayClassfe.&lt;GenerateLevelLayouts&gt;b__fa(GenerateContext context, ExecuteActions`1 ignored)
            </StackTrace> 
          </Exception> 
        </TraceRecord> 
      </DataItem> 
    </TraceData> 
  </ApplicationData> 
</E2ETraceEvent>
ResolutionSolution 1 : 
Delete the application from Manage Applications because the application is basically corrupted and is a bad copy. Most likely, the initial copy was not successful and it failed due to which it has many missing components. 
Below is an excerpt from the error log indicating a corrupted level layout.
<Message>Unable to retrieve Level Layout information for the given Level</Message>
<StackTrace>
at ArcherTech.Packaging.Actions.Generation.GeneratePackage.ThrowMissingLevelLayoutException(SessionContext sessionContext, Level level)
at ArcherTech.Packaging.Actions.Generation.GeneratePackage.&lt;&gt;c__DisplayClass10a.&lt;GenerateLevelLayouts&gt;b__106(GenerateContext context, ExecuteActions`1 ignored)
</StackTrace>


Solution 2 :
If we are able to open the layout through application builder; it could be possible that one of the object has an invalid layout such as an empty tab / section.
Additionally, below is an helpful query which will help us retrieve the layout information from the backend database:
Query for 5.x versions Pre 5.5.2
/*  List layout objects for module.  Insert module ID in Where statement */
SELECT 
lm.layout_module_id,m.module_id,m.module_name,l.level_id,l.level_name,
lt.layout_tab_id,lt.layout_tab_name,
ls.layout_section_id,ls.layout_section_name,ls.guid,
lo.layout_obj_id,lo.field_id,lo.layout_obj_name,lo.guid
FROM tblIVLayoutModule lm
JOIN tblModule m on m.module_id=lm.module_id
JOIN tblLevel l on l.module_id=m.module_id
JOIN tblIVLayoutTab lt on lt.layout_module_id=lm.layout_module_id
JOIN tblIVLayoutSection ls on ls.layout_tab_id=lt.layout_tab_id
JOIN tblIVLayoutObject lo on lo.layout_section_id=ls.layout_section_id
WHERE m.module_id=240  --<< INPUT MODULE NAME
ORDER BY lt.layout_tab_id,ls.layout_section_id,lo.layout_obj_name

Query for versions 5.5.2 or later:
SELECT 
lm.layout_module_id,m.module_id,mT.module_name,l.level_id,LevT.level_name,
lt.layout_tab_id,ltT.layout_tab_name,
ls.layout_section_id,lsT.layout_section_name,ls.guid,
lo.layout_obj_id,lo.field_id,loT.layout_obj_name,lo.guid
FROM tblIVLayoutModule lm
JOIN tblModule m on m.module_id=lm.module_id
join tblModuleTranslation MT ON MT.module_id = M.module_id
JOIN tblLevel l on l.module_id=m.module_id
join tblLevelTranslation LevT ON LevT.level_id = L.level_id
JOIN tblIVLayoutTab lt on lt.layout_module_id=lm.layout_module_id
Join tblIVLayoutTabTranslation LTT ON LTT.layout_tab_id = Lt.layout_module_id
JOIN tblIVLayoutSection ls on ls.layout_tab_id=lt.layout_tab_id
JOIN tblIVLayoutSectionTranslation LST ON LST.layout_section_id = LS.layout_section_id
JOIN tblIVLayoutObject lo on lo.layout_section_id=ls.layout_section_id
JOIN tblIVLayoutObjectTranslation LOT ON LOT.layout_obj_id = LO.layout_obj_id
WHERE m.module_id=240  --<< INPUT MODULE NAME
ORDER BY lt.layout_tab_id,ls.layout_section_id,loT.layout_obj_name


 

Attachments

    Outcomes