Background
nService 4.14, 4.15, 4.16 introduced the new feature of customizable forms. You can customize the request detail form and the data entry forms. You can define fields for a service and layout the fields on the action forms. These fields can be the system create fields such as Assigned To and Billable Hours. They can also be user defined fields.

Problem #1
The upgrade procedure from 4.13 to 4.14 inserts a new View action (ra_id = 35) into the ns4_req_action table. Editing of this action with 4.14 results in the loss of its "action type". If you can't view a request, you can open up the ns4_req_action table in SQL Server Management Studio, change the ra_action_type to 10.

Problem #2
(This problem has been fixed in version 4.17. The 4.16 to 4.17 upgrade script includes these SQL statements. You don't need to run them separately.)

The Upgrade413to414Page inserts the system defined fields (e.g. Request ID, Assigned To) into the ns4_sr_prop_def table (i.e. property definition table). Their IDs (i.e. spd_id (i.e. service request property definition ID)) are larger than 100. The nservice415to416.sql inserts the same set of property definitions with IDs smaller than 100, in order to make adding these system fields into the data entry forms easier. This results in two sets of fields for the root service (90).

To fix the problem, you can remove all fields from the view form, remove the first set of field definitions and then add the second set of fields back into the View action.

-- remove the fields from the view action
DELETE FROM ns4_sr_act_prop WHERE sap_ra_id = 35
GO

-- remove the first set of field definitions. This would remove your user fields too
DELETE FROM ns4_sr_prop_def WHERE spd_id >= 100 AND spd_service_id = 90

-- add system fields to the view action
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 52, 1, 2, 1, 1, 1) -- view
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 53, 1, 2, 1, 2, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 54, 1, 2, 1, 3, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 55, 1, 2, 1, 4, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 56, 1, 2, 2, 1, 2)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 57, 1, 2, 2, 3, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 58, 1, 2, 2, 4, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 59, 1, 2, 3, 1, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 60, 1, 2, 3, 2, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 61, 1, 2, 3, 3, 2)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 62, 1, 2, 4, 1, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 63, 1, 2, 4, 2, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 64, 1, 2, 4, 3, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 65, 1, 2, 4, 4, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 66, 1, 2, 5, 1, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 67, 1, 2, 5, 2, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 68, 1, 2, 5, 3, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 69, 1, 2, 5, 4, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 70, 1, 2, 6, 1, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 71, 1, 2, 6, 2, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 72, 1, 2, 6, 3, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 73, 1, 2, 6, 4, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 74, 1, 2, 7, 1, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 75, 1, 2, 7, 2, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 76, 1, 2, 7, 3, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 77, 1, 2, 7, 4, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 78, 1, 2, 8, 1, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 79, 1, 2, 8, 2, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 80, 1, 2, 8, 3, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 81, 1, 2, 8, 4, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 82, 1, 2, 9, 1, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 83, 1, 2, 9, 2, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 84, 1, 2, 9, 3, 1)
GO
INSERT INTO ns4_sr_act_prop(sap_ra_id, sap_spd_id, sap_required, sap_disp_tab, sap_disp_row, sap_disp_col, sap_disp_colspan)
VALUES(35, 85, 1, 1, 20, 1, 4)

If you have difficulty with these, you can always send us your data and we will fix it for you.
Article #127
Updated On: 1/28/2010 Index
Was this article helpful? Yes | No