XOG'ing in of property view data (propertySet) will cause existing subpages to become corrupted if the input XOG does not contain the subpage property definition. This was not a problem in Clarity 12.x, which would not delete these subpages.
This can be due to a known Clarity issue:
CLRT-66740 XOG in of object properties can result in corrupted subview data.
Steps to Reproduce:
- XOG out any Clarity object. For this test we'll choose the "Product" object and xog out using the object_read.xml xog.
- Add a couple custom sub pages to the edit properties view, called, "subpage1" and "subpage2"
- Now read back in the xog created in step 1.
Expected Result: Expected Results: No changes should occur.
Actual Result: Actual Results: The sub-pages are removed from the object in the Studio property views interface, but are still viewable from the object instance.
The bug CLRT-66740 existed since Clarity 13.0 where in the object's sub-object lists/sub-pages links goes missing when the object-view definition is xogged-in without the current system's view configuration. This issue primarily affects customers who install multiple add-ins. In such cases, the sub-object lists/sub-pages links of the formerly installed add-ins were lost.
The fix & the upgrade scripts are provided in 13.1 & 220.127.116.11 to restore the missing sub-object list/sub-pages links back to the views. The post-upgrade scripts address the affected datasets where there are broken links (or duplicate links) in the following scenarios:
- Sub-object lists for all objects
- Add-in sub pages (custom sub-pages those seeded through the add-in installation).
- Sub-pages for most of the objects.
However, the broken sub-page links for the objects with multiple views (i.e. Project, Resource, GL Allocation & GL Allocation Detail), it might not be possible to establish the original views that these sub-pages were mapped to. In such cases the sub-pages are mapped to the default view
That is -
- "Project Properties" view for Project object,
- "Resource Labor" view for Resource object,
- "GL Allocations-Debits" view for GL Allocation object, and
- "GL Debit Allocations-New" view for the GL Allocation Details object.
If the customers think- those sub-pages are to be mapped to different views, this Knowledge-base (KB) article gives the detailed manual steps to get those custom-sub-pages are mapped to the correct views.
For Example -
The customer is in Clarity 13.0 and a custom subpage is created in the Project object, in the "Program Properties - [Layout: Edit]" with label "ProgSys" with sub-page code as "project.ProgSys". And had installed some add-ins and which adds more sub-pages to the Project views via Xog. The "ProgSys" subpage link goes missing and does not appear in the UI.
After the upgrade (applying the fix & upgrade scripts in 13.1/18.104.22.168), we can observe that the sub-page link is restored but we see it wrongly in the "Project Properties - [Layout: Edit]" rather than on the "Program Properties - [Layout: Edit]". Like the below screenshot -
Below are the steps to get the sub-page to display back in "Program Properties" view.
Steps to re-map the sub-page links to correct views -
- [One time activity] Create the stored procedure RESTORE_SUBPAGE_LINK_MAPPING.xml attached in the zip file.
- Save the file into some temp location.
- Create the procedure with the below command run on Clarity server
dbpatch -install -file <FILE_PATH>/RESTORE_SUBPAGE_LINK_MAPPING.xml -apply
- Identify and move the sub-page that needs to be re-mapped to a different view.
- Here in the this example, the subpage "ProgSys" has to be mapped in "Program Properties" view but it is currently mapped to the "Project Properties" view (the default view of Project Object)
- Get the corresponding Object Code for the sub-page
(Note - it is not possible to move/re-map the sub-pages between 2 different objects; we can only move the sub-pages between different views)
|GL Allocation Detail||glallocationdetail|
- Click on the corresponding "Properties and Layout" icon to see the properties of the sub-page
- Copy the sub-page code in the Subpage Properties page (here in the example the sub-page code is - "project.progSys")
- Decide the view to which the sub-page has to be mapped, get the corresponding Create View Code of the targeted view from the below list -
(Note - all the sub-pages would show-up (mapped) the in the default views by default, so there is no need to re-map the sub-pages which are already showing up in the correct view.)
In this example, we wanted to re-map the sub-page to the Program Properties view - so the create view code is "programCreate"
|Object||Create View Code||Description||Default view|
|Project||programCreate||Program Properties|| |
|Resource||resourceEquipment_Ins||Resource Equipment|| |
|Resource||resourceMaterial_Ins||Resource Material|| |
|Resource||resourceExpense_Ins||Resource Expense|| |
|Resource||roleLabor_Ins||Role Labor|| |
|Resource||roleEquipment_Ins||Role Equipment|| |
|Resource||roleMaterial_Ins||Role Material|| |
|Resource||roleExpense_Ins||Role Expense|| |
|GL Allocation||glallocationInsert||GL Allocations - Debits||Yes|
|GL Allocation||stdAllocationInsert||Standard Rule - Debits|| |
|GL Allocation Detail||glallocationDetailInsert||GL Debit Allocations - New||Yes|
|GL Allocation Detail||stdAllocationDetailInsert||Standard Rule Detail|| |
|GL Allocation Detail||overheadRuleDetailInsert||Overhead Rule Detail|| |
- Run the stored procedure RESTORE_SUBPAGE_LINK_MAPPING given in the archive with this KB article passing the above details (object code, sub-page code, and the create view code) from the SQL editor
- Command for oracle
RESTORE_SUBPAGE_LINK_MAPPING( 'project', 'project.ProgSys', 'programCreate' );
- Command for MS SQL
EXEC RESTORE_SUBPAGE_LINK_MAPPING 'project ', 'project.ProgSys', 'programCreate' ;
- Alternatively to the step #f, the example file given along with this KB article ( POSTUPGRADE_REMAP_SUBPAGE_LINKS_CLRT_66740 attached in the zip below) can be used to run with a DBPatch command with appropriate replacement of parameters.
- Command to run the DB Patch command -
dbpatch -install -file <FULL_PATH>/POSTUPGRADE_REMAP_SUBPAGE_LINKS_CLRT_66740.xml -apply
- Commit the DB changes.
- Repeat the steps in #2 for each sub-page that needs to be re-mapped to a different view.
Resolved in Clarity 13.0.1 Generic Patch. Reference TEC572268
Resolved in Clarity 13.1.0
Keywords: CLARITYKB, CLRT-66740, clarity13resolved, clarity1310resolved.