SAP Knowledge Base Article - Public

1282328 - nsite javascript fails when editing a routed enterprise object

Symptom

Custom javascript that worked fine when an Enterprise Object was originally routed, is failing to run as expected when the in-process Enterprise Object is edited.

Reproducing the Issue

  1. From the Admin page within NSite, create a new Enterprise Object ( This will launch the Application Designer).
  2. From Application Designer's Controls panel, drag and drop a Drop Down control into the Header Area.
  3. Highlight the Drop Down control.
  4. Expand the 'Control Properties' panel.
  5. Set the 'Name:' property to 'ddlTest'.
  6. Associate the 'Data Lookup:' property with an existing Lookup that contains more than one item.
  7. Go to the  'Application Extensions' panel.
  8. Click on the 'Action Builder' link.
    1. Choose 'objForm' in the Select Object drop down list.
    2. Choose 'onLoad' from the Select Event drop down list.
    3. Click the 'Add Behavior' button.
    4. put the following code into the editor:
      function form_onLoad(objForm){
      //Your code goes here.
      alert(document.getElementById('ddlTest').options.length);
    5. Apply the changes.
    6. Close the editor.
  9. Save the Enterprise Object.
  10. Create a new instance of the Enterprise Object.
  11. Route it to a user to put the EO into an 'in progress' state.
  12. Note, when an instance of the EO is created, an alert will popup showing the number of items in the ddlTest drop down.
  13. Edit the 'in progress' routing that was just created, the alert will popup again, this time showing the number 1 instead of the original number of items in the drop down.

Cause

  • The default value for the 'Routing Edits' option on a control is 'Never'. 
  • By default, this restricts the participants from being able to edit a field of Enterprise Object that they are sent.

Resolution

To get the drop down list populated with all of the items from the lookup:

  1. Edit the Enterprise Object in the Application Designer
  2. Select the ddlTest drop down control.
  3. From the Control Properties panel, click the 'builder' button beside the 'Routing Edits' label (see screenshot).
  4. The 'Routing Access Builder' dialog will be shown,
  5. Change the setting from 'Never' to 'Enable edits while routing is in progress'.

Routing Edits.png

Keywords

nsite object not found in progress edit routing javascript type error undefined , KBA , BI-OD-NSI , Nsite, Quote and Proposal Management OnDemand , Problem

Product

SAP Crystal Reports XI R2