Create button to update current records

Priti18
Tera Expert

I want to update current records in cmdb_ci table  but when user clicks on the UI action it should open the comment box and when user clicks on ok it should update data along with that comment in short description.

 

can anyone help me with this requirement, that would be really helpful.

 

thanks!!

1 ACCEPTED SOLUTION

Please try the below script:

 

 

function UpdateData() {


    var answer = confirm('Do you want to update this record');

    if (answer) {

        gsftSubmit(null, g_form.getFormElement(), 'function_name');
    }
}

if (typeof window == 'undefined')

    updateValues();


function updateValues() {

    current.setValue("state", 7);
    current.update();
    var childInc = new GlideRecord("incident");
    childInc.addQuery("parent_incident", current.getUniqueValue());
    childInc.query();
    while (childInc.next()) {
        childInc.state = "7";
        childInc.comments = "Your comments here";
        childInc.update();
    }
    action.setRedirectURL(current);
}

 

I hope this help.

 

Please mark this helpful if this helps and Accept the solution if this solves your issue.

 

Regards,

Kamlesh

View solution in original post

15 REPLIES 15

Is your UI button's Action Name 'function_name' ? If not make it 'function_name', it will work

 

kamleshkjmar_0-1667299905315.png

 

 

 If it still do not work, please share screen shot of your ui action page, something must be wrong in it. Also there is an issue of curly bracket. I am re-structing your code, try this, it should work:

 

function UpdateData() {


var answer = confirm('Do you want to update this record');

if (answer) {

gsftSubmit(null, g_form.getFormElement(), 'function_name');
}
}

if (typeof window == 'undefined')

updateValues();


function updateValues() {

current.setValue("state", 7);
current.update();
action.setRedirectURL(current);

}

 

I hope this help.

 

Please mark this helpful if this helps and Accept the solution if this solves your issue.

 

Regards,

Kamlesh

 

 

awesome!!it worked braces were the issue.

 

Also, how can i close the child task with an short description that this updated this and stop the workflow.

Your use-case is not clear, on the basis of confirm button which related task record you want to update ? What is parent here and what is child. Is this RITM and SCTASK you are working with

 

am trying to update the incident record but when its updated the child incident  record should be closed and workflow should be cancelled.

Please try the below script:

 

 

function UpdateData() {


    var answer = confirm('Do you want to update this record');

    if (answer) {

        gsftSubmit(null, g_form.getFormElement(), 'function_name');
    }
}

if (typeof window == 'undefined')

    updateValues();


function updateValues() {

    current.setValue("state", 7);
    current.update();
    var childInc = new GlideRecord("incident");
    childInc.addQuery("parent_incident", current.getUniqueValue());
    childInc.query();
    while (childInc.next()) {
        childInc.state = "7";
        childInc.comments = "Your comments here";
        childInc.update();
    }
    action.setRedirectURL(current);
}

 

I hope this help.

 

Please mark this helpful if this helps and Accept the solution if this solves your issue.

 

Regards,

Kamlesh