364 views

Description

TPC child tables of Task created from Hybrid flattening do not create extended grandchild tables correctly. Grandchild tables of Task do not display label, and users cannot navigate to the list view of the table.

Steps to Reproduce

 

In an instance where task is TPH:

  1. Create an update set and make it current.

    For more information, see the product documentation topic System update sets.

  2. Navigate to /sys_db_object_list.do and create an extensible table (for example, Library[u_library]) that extends from Task, and save.

    For more information, see the product documentation topic Table extension and classes.

  3. Create another table (for example, Books[u_books]) that extends the newly created table (Library) and save.

  4. Go back to the update set, mark complete, and export the update set to another instance where Task is larger than 1 million rows.

    If the Task table is not larger than 1 million rows, force hybrid flattening by creating the glide.db.hierarchy_large_root system property as type Integer with a value of 1 on the instance to which you are moving the update set. Children will then be created as TPC.

  5. Preview and commit the update set.

  6. Go to /sys_db_object_list.do and filter for the newly created table.

    Note that the Label value appears as "label". The table is not created correctly on the backend. This occurs for newly created granchildren tables of Task. Also note that navigating to the list view of the table displays an error that the page cannot be found.

 

Workaround

  1. Create a new update set that will be an update set for the parent table's sys_update_xml.

  2. Find all occurrences of sys_update_xml in the original update set for the sys_db_object and sys_dictionary collections for the parent table(s) only.

    For example, name STARTS WITH sys_dictionary OR name STARTS WITH sys_db_object

  3. Update their Update set value to the new update set created in Step 1.

    Move over only the parent tables.

  4. Update the new update set's state to Complete.

  5. Retrieve that new update set on the target instance from the source instance.

  6. Preview the new update set on the target instance.

  7. Commit the new update set on the target instance.

  8. Retrieve the original update set (contains everything else, including all of the child tables).

  9. Preview the original update set.

  10. Commit the original update set.

 


Related Problem: PRB1235331

Seen In

Istanbul
Jakarta

Intended Fix Version

London

Safe Harbor Statement

This "Intended Fix Version" information is meant to outline ServiceNow's general product direction and should not be relied upon in making a purchasing decision. The information provided here is for information purposes only and may not be incorporated into any contract. It is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. The development, release, and timing of any features or functionality described for our products remains at ServiceNow's sole discretion.

Associated Community Threads

There is no data to report.

Article Information

Last Updated:2018-06-01 07:38:28
Published:2018-01-04