Clarity: Sub-object lists/sub-pages links go missing in release 13 object views

Document ID : KB000049265
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

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:

  1. XOG out any Clarity object. For this test we'll choose the "Product" object and xog out using the object_read.xml xog.

  2. Add a couple custom sub pages to the edit properties view, called, "subpage1" and "subpage2"

  3. 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.

Background

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 & 13.0.1.4 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:

  1. Sub-object lists for all objects

  2. Add-in sub pages (custom sub-pages those seeded through the add-in installation).

  3. Sub-pages for most of the objects.

Problem

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/13.0.1.4), 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 -

Figure 1

Solution:

Below are the steps to get the sub-page to display back in "Program Properties" view.

  1. [One time activity] Create the stored procedure RESTORE_SUBPAGE_LINK_MAPPING.xml attached in the zip file.

    1. Save the file into some temp location.

    2. Create the procedure with the below command run on Clarity server
      dbpatch -install -file <FILE_PATH>/RESTORE_SUBPAGE_LINK_MAPPING.xml -apply

Steps to re-map the sub-page links to correct views -

  • Identify and move the sub-page that needs to be re-mapped to a different view.

    1. 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)

    2. 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)

      ObjectObject Code
      Projectproject
      Resourceresource
      GL Allocationglallocation
      GL Allocation Detailglallocationdetail


    3. Click on the corresponding "Properties and Layout" icon to see the properties of the sub-page

      Figure 2

    4. Copy the sub-page code in the Subpage Properties page (here in the example the sub-page code is - "project.progSys")

      Figure 3

    5. 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"

      ObjectCreate View CodeDescriptionDefault view
      ProjectprojectCreateProject PropertiesYes
      ProjectprogramCreateProgram Properties 
      ResourceresourceLabor_InsResource LaborYes
      ResourceresourceEquipment_InsResource Equipment 
      ResourceresourceMaterial_InsResource Material 
      ResourceresourceExpense_InsResource Expense 
      ResourceroleLabor_InsRole Labor 
      ResourceroleEquipment_InsRole Equipment 
      ResourceroleMaterial_InsRole Material 
      ResourceroleExpense_InsRole Expense 
      GL AllocationglallocationInsertGL Allocations - DebitsYes
      GL AllocationstdAllocationInsertStandard Rule - Debits 
      GL Allocation DetailglallocationDetailInsertGL Debit Allocations - NewYes
      GL Allocation DetailstdAllocationDetailInsertStandard Rule Detail 
      GL Allocation DetailoverheadRuleDetailInsertOverhead Rule Detail 


    6. 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' ;

    7. 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

    8. Commit the DB changes.

  • Repeat the steps in #2 for each sub-page that needs to be re-mapped to a different view.
  • Status/Resolution:
    Resolved in Clarity 13.0.1 Generic Patch. Reference TEC572268
    Resolved in Clarity 13.1.0

    Keywords: CLARITYKB, CLRT-66740, clarity13resolved, clarity1310resolved.

File Attachments:
TEC576784.zip