<h1>Termination</h1>
<p>A concluded contract can be circulated for termination. The contract goes through an approval process, which ends with its <span
style='font-weight:bold;font-style:italic'>approval</span> or <span
style='font-weight:bold;font-style:italic'>rejection</span>. This means different people at the company can be involved in the termination process. </p>
<p>{@img img1.png}</p>
<p>During the termination process, the contract maintains its existing status, meaning assessments (active/inactive) are not affected. Terminated contracts are labeled with the status &quot;terminated.&quot;</p>
<blockquote>
<p><span
style='font-style:italic'>Contract managers receive a reminder regarding contracts that have to be terminated in 2 weeks. They begin the termination process involving all employees affected by the contract. After termination has been approved, they terminate the contract.</span></p>
</blockquote>
<p>{@img img3.png}</p>
<h2>Check steps</h2>
<p>Steps during contract termination are referred to as check steps. Essentially, check steps are defined by all users and groups involved in the process. The list of check steps can be edited at runtime. This allows users to add steps, or remove steps that are no longer necessary, for example.</p>
<p>You can control whether subsequent users can edit steps by enabling or disabling the &quot;mandatory&quot; option.</p>
<p>{@img img5.png}</p>
<p>Lists are processed top-down in a cycle. If the workflow is submitted to a user for review, the user (first in the list) is removed from the list. As a result, the steps are processed.</p>
<p>The check steps for termination can be controlled via the role configuration. This can be found in the contract management configuration, in the <span
style='font-weight:bold;font-style:italic'>Dynamic user roles</span> setting. The role for termination is <span
style='font-weight:bold;font-style:italic'>TERMINATION</span>.</p>
<p>{@img img7.png}</p>
<h2>Extending permissions in the termination process</h2>
<p>Depending on the configuration in the workflow, involved users are given permissions allowing them to view these contracts. Further information on extending permissions can be found in the chapter on <a
href="#!/guide/p89F88CAF_C876_4A5C_8F86_B7348320FF1C">permissions</a>.</p>
<h2>Action: Initiate termination</h2>
<p>This action can be accessed on the <code>Contracts</code> tab in the ribbon. </p>
<p>{@img img9.png}</p>
<h3>Requirements</h3>
<ul>
<li>A contract is selected.</li>
</ul>
<h3>Data input</h3>
<p>The <code>006_1_initiate_termination</code> form tab group is used for data input. </p>
<p>{@img img11.png}</p>
<p>This consists of the following components:</p>
<table><thead><tr><td><span
style='font-weight:bold'>Termination</span></td></tr></thead><tbody><tr><td>630_initiate_termination</td></tr><tr><td>100_users</td></tr></tbody></table>

<h3>Data input: Contract data verification</h3>
<p>The <code>006_2_approve_termination</code> form tab group is used for data input. </p>
<p>{@img img13.png}</p>
<p>This consists of the following components:</p>
<table><thead><tr><td><span
style='font-weight:bold'>Termination</span></td><td><span
style='font-weight:bold'>Contract data</span></td><td><span
style='font-weight:bold'>Duration</span></td><td><span
style='font-weight:bold'>Contract partner</span></td><td><span
style='font-weight:bold'>Cash flow</span></td></tr></thead><tbody><tr><td>631_approve_termination</td><td>210_general</td><td>310_duration</td><td>510_partner</td><td>410_payment</td></tr><tr><td>100_users</td><td>220_company</td><td></td><td>520_partner_address</td><td></td></tr><tr><td></td><td>230_contract_data</td><td></td><td></td><td></td></tr><tr><td></td><td>240_accounting</td><td></td><td></td><td></td></tr><tr><td></td><td>250_project</td><td></td><td></td><td></td></tr></tbody></table>

<h3>Data input: Conclusion of the approval process</h3>
<p>The <code>006_3_finish_termination</code> form tab group is used for data input. </p>
<p>{@img img15.png}</p>
<p>This consists of the following components:</p>
<table><thead><tr><td><span
style='font-weight:bold'>Termination</span></td><td><span
style='font-weight:bold'>Contract data</span></td><td><span
style='font-weight:bold'>Duration</span></td><td><span
style='font-weight:bold'>Contract partner</span></td><td><span
style='font-weight:bold'>Cash flow</span></td></tr></thead><tbody><tr><td>632_finish_termination</td><td>210_general</td><td>310_duration</td><td>510_partner</td><td>410_payment</td></tr><tr><td></td><td>220_company</td><td></td><td>520_partner_address</td><td></td></tr><tr><td></td><td>230_contract_data</td><td></td><td></td><td></td></tr><tr><td></td><td>240_accounting</td><td></td><td></td><td></td></tr><tr><td></td><td>250_project</td><td></td><td></td><td></td></tr></tbody></table>

<h3>Implementation</h3>
<p><span class="tag_warning"><span
style='font-weight:bold'>Action definitions:</span> Definitions of the actions for the clients are located in the <code>sol.contract.InitiateTermination</code> configuration.</span></p>
<p>The <span
style='font-weight:bold'>technical workflow</span> is implemented by Indexserver action <code>sol.contract.ix.actions.TerminateContract</code>. This action starts the <code>sol.contract.contract.termination</code> workflow.</p>
<p>If successful, the following events are transferred to the client:</p>
<table><thead><tr><td>Event</td><td>Description</td><td>Status</td></tr></thead><tbody><tr><td>DIALOG</td><td>Shows the form to input data in a dialog box.</td><td></td></tr><tr><td>REFRESH</td><td>Refreshes the display of the SORD object.</td><td></td></tr></tbody></table>

<p><span
style='font-weight:bold'>Description of the workflow</span></p>
<p>{@img img17.png}</p>
<table><thead><tr><td><span
style='font-weight:bold'>Node name</span></td><td><span
style='font-weight:bold'>Node description</span></td><td><span
style='font-weight:bold'>Function</span></td></tr></thead><tbody><tr><td><span
style='font-weight:bold'>USERROLESTOMAP</span></td><td><span
style='font-weight:bold'></span><br />Distribution node: Saves the user roles defined for the termination process in a map table</td><td>sol.common.ix.functions.UserRolesToMap</td></tr><tr><td><span
style='font-weight:bold'>Set approver</span></td><td><span
style='font-weight:bold'></span><br />User node: Select one or more approvers for termination</td><td></td></tr><tr><td><span
style='font-weight:bold'>Dynamic flow has approval steps?</span></td><td><span
style='font-weight:bold'>Check ad-hoc flow start</span><br />Decision node: Checks the ELO_WF_STATUS field for the value 'CYCLE_START' to start an approval cycle in this case</td><td>sol.common.ix.functions.CheckDynAdHocFlowStart</td></tr><tr><td><span
style='font-weight:bold'>STATUS: Terminated</span></td><td><span
style='font-weight:bold'></span><br />Distribution node: Sets the CONTRACT_STATUS index field to 'T'</td><td>sol.common.ix.functions.Status</td></tr><tr><td><span
style='font-weight:bold'>CHANGECOLOR: Terminated</span></td><td><span
style='font-weight:bold'></span><br />Distribution node: Sets the color of the SORD object</td><td>sol.common.ix.functions.ChangeColor</td></tr><tr><td><span
style='font-weight:bold'>FEED: Immediate termination</span></td><td><span
style='font-weight:bold'></span><br />Distribution node: Creates a feed post indicating termination without further review</td><td>sol.common.ix.functions.FeedComment</td></tr><tr><td><span
style='font-weight:bold'>FEED: Termination initiated</span></td><td><span
style='font-weight:bold'></span><br />Distribution node: Creates a feed post indicating termination has been initiated</td><td>sol.common.ix.functions.FeedComment</td></tr><tr><td><span
style='font-weight:bold'>CHANGEUSER: Termination</span></td><td><span
style='font-weight:bold'></span><br />Distribution node: Changes the owner of the next user node</td><td>sol.common.ix.functions.ChangeUser</td></tr><tr><td><span
style='font-weight:bold'>Approval</span></td><td><span
style='font-weight:bold'></span><br />User node: Approval by defined approver</td><td></td></tr><tr><td><span
style='font-weight:bold'>FEED: Termination accepted</span></td><td><span
style='font-weight:bold'></span><br />Distribution node: Creates a feed post indicating termination has been accepted</td><td>sol.common.ix.functions.FeedComment</td></tr><tr><td><span
style='font-weight:bold'>FEED: Termination rejected</span></td><td><span
style='font-weight:bold'></span><br />Distribution node: Creates a feed post indicating termination has been rejected</td><td>sol.common.ix.functions.FeedComment</td></tr><tr><td><span
style='font-weight:bold'>Check rejected</span></td><td><span
style='font-weight:bold'></span><br />Decision node: Checks the ELO_WF_STATUS field for the value 'REJECTED' to conclude the termination process accordingly</td><td></td></tr><tr><td><span
style='font-weight:bold'>Termination approved</span></td><td><span
style='font-weight:bold'></span><br />User node: Acknowledgement</td><td></td></tr><tr><td><span
style='font-weight:bold'>FEED: Termination completed</span></td><td><span
style='font-weight:bold'></span><br />Distribution node: Creates a feed post indicating the termination process has been completed</td><td>sol.common.ix.functions.FeedComment</td></tr><tr><td><span
style='font-weight:bold'>Termination rejected</span></td><td><span
style='font-weight:bold'></span><br />User node: Acknowledgement</td><td></td></tr><tr><td><span
style='font-weight:bold'>FEED: Termination declined</span></td><td><span
style='font-weight:bold'></span><br />Distribution node: Creates a feed post indicating termination has been declined</td><td>sol.common.ix.functions.FeedComment</td></tr><tr><td><span
style='font-weight:bold'>SET: Delete comment</span></td><td><span
style='font-weight:bold'>SET</span><br />Removes the previous comment from the WF_MAP</td><td>sol.common.ix.function.Set</td></tr></tbody></table>
