In a Service Portal, you are unable to hide empty variables displayed in the UI Formatters (Variable Editor and Approval Summarizer) on Requested Item and Approval forms so that only variables containing data (either system or user-generated) are displayed in the formatters.
Service Portal is built on Angular and UI Macros are built on Jelly, which will not work in Service Portal
- The two UI Formatters used on the Requested Item (sc_req_item) and Approval (sysapproval_approver) forms are:
- Approval Summarizer (/nav_to.do?uri=sys_ui_formatter.do?sys_id=f2bbad23c0a8011b00ba8af904f61a0e)
- Variable Editor (/nav_to.do?uri=sys_ui_formatter.do?sys_id=86863af2c611229101b57dcc29ac7666)
- The 'Variable Editor' UI Formatter uses the UI Macro 'com_glideapp_servicecatalog_veditor' which can be customized to hide any needed variables.
- The 'Approval Summarizer' UI Formatter uses the 'approval_summarizer_master.xml' formatter which is embedded in the base code and not possible to customize.
- You could build a custom UI Macro similar to 'com_glideapp_servicecatalog_veditor' and use that instead and implement your customizations there.
Instead of customizing the UI Formatters above, you could implement Catalog Client Scripts at the Catalog Item level and set them to apply on Requested Items by clicking on 'Applies on Requested Items' in the Catalog Client Script. These scripts could handle setting the variable display to not visible in case they do not have a value. Again, we would need customers to own this, as customized implementations are beyond support scope.