Search code examples
siebel

Substatus should not default to 'resolved' when SR status is set to 'closed'


I have a requirment on Siebel CRM. The client does not want the SubStatus field to be set to resolved when the Status field is set to closed. This is the default behaviour on Siebel vanilla, how do I change it? I have tried using Siebel Tools. Is it a workflow process?

The business component is Service Request and the applet is Service Request Detailed Applet.


Solution

  • This is class behaviour. I tried bc user properties, runtime events and scripting, and there is no way to retain the value of Sub-Status to it's old value when the Status is set to closed. When the SR is closed, the Sub-Status is auto set to 'Resolved'

    Workaround1: If your customer does not want the value 'Resolved'there, you can inactivate that value in the LOV (LOV_TYPE='SR_SUB_STATUS'). The SR can now be closed, the Sub-Status will remain blank because the 'Resolved' value cannot be found. You can ask the user to choose the value 'Completed' for Sub-Status, if they want to set it themselves.

    Workaround2: If your requirement is to never have a Sub-Status value if Status='Closed', you could try to make Sub-Status field blank when that happens.

        function BusComp_PreWriteRecord()
        {
    
            if (this.GetFieldValue("Status") == "Closed")
            {
                this.SetFieldValue("Sub-Status", "");
            }
            return (ContinueOperation);
        }
    

    But then Sub-Status can never be set when Status='Closed'

    Workaround3: Maybe you have a Workflow which automatically closes a Service Request when certain conditions are met, but then Sub-Status is auto set to 'Resolved' and you want to prevent that. In this case, you can modify that WF/BS to set a different value in Sub-Status.