Desktop Contract Data Model
Note that the DSP Group of a user is derived from this data via business logic that exists outside of the data model. The pseudocode is as follows:
if User->Fasit "CTS DSP Team FASIT" else User->Org->Contract->DSPGroup.Name
Here is example SNow JS for obtaining the correct DSP Group for a given user in the absence of a denormalized field reference or store proc:
// if user is FASIT, use FASIT group, else use the org's group // gr = user's GlideRecord if(gr.u_facit == true) { gs.addInfoMessage('Assigned to FASIT DSP Group'); current.assignment_group = sys_user_group_by_name('CTS DSP Team FASIT'); } else { current.assignment_group = gr.u_organization.u_service_contract.u_assignment_group.sys_id; }