668 views

Service Catalog shopping cart variables and order guide issues after upgrade | Custom code causes skipped records



Description of the general issue


After an upgrade to a new release you may find that your Service Catalog starts acting up, showing one or several of the following symptoms:

  • Variables entered in the Order Guide are not cascaded to the Catalog Items
  • Checkout buttons on the Shopping Cart of an Order Guide are not working
  • Errors similar to:
    • The element type "g2:evaluate" must be terminated by the matching end-tag "</g2:evaluate>".
    • The element type "j2:while" must be terminated by the matching end-tag "</j2:while>".
    • The element type "j2:forEach" must be terminated by the matching end-tag "</j2:forEach>".
    • org.mozilla.javascript.EcmaError: "GlideCatalogCategoryService" is not defined. Caused by error in <refname> at line x
    • Uncaught TypeError: Cannot read property 'value' of null
  • Errors related to Jelly and the GlideappCatalogItem object

Most of these issues happen because your instance may be using a UI Page from the previous version running, which was not upgraded because it had been modified. This mainly happens with UI Pages com.glideapp.servicecatalog_cat_item_guide_view and com.glideapp.servicecatalog_cat_item, please check if these are in the Skipped upgrade list. This is found on the System Diagnostics > Upgrade Monitor page, where you can query records from specific plugins by adding a filter on "Plugin contains catalog", for example.

You also may want to have a look at other UI Pages and UI Macros you have customized, use the following URLs to find them:

  • UI Pages in the category Service Catalog
    • https://<your-instance>.service-now.com/sys_ui_page_list.do?sysparm_query=category%3Dcatalog
  • UI Macros in the Category name Service Catalog:
    • https://<your-instance>.service-now.com/sys_ui_macro_list.do?sysparm_query=category%3Dcatalog

Workaround/Fix


You can verify if these UI Pages or Macros are to blame by simply reverting to the out-of-box, OOB, version, please check Resolve a skipped update for more information on how to do this.

If the OOB version works, then you will have to review your customization to the UI Page to see if it is still needed and port it to the new version if that is the case.

 

Article Information

Last Updated:2017-10-30 07:54:28
Published:2017-10-03