Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Need help in UI Action

Mishu
Tera Expert

Hello Experts,

 

I created a UI Action where the answer for a choice field is Yes it should bring a UI Page as a pop-up and insert the record in a particular table. 

 

Below is the script i wrote, my script is not reading the value yes or no in the choice field.

 

Could somebody please advice what is wrong in below script?

 

 

function CheckReversal() {
    g_form.setMandatory('reversal_error', true);
    gsftSubmit(null, g_form.getFormElement(), 'reversal');
}
if (typeof window == 'undefined')
    DoReversal();
function DoReversal() {
    if (current.getValue('reversal_error') == 'yes') {
        var tableName = "x_nuv_rejection_details";
        var sysID = g_form.getUniqueValue();
        var prd = g_form.getValue('period');
        var seg = g_form.getValue('segment');

        //Create and open the dialog form
        var dialog = new GlideDialogForm('Rejection Details', tableName); //Provide dialog title and table name
        dialog.setSysID(-1); //Pass in sys_id to edit existing record, -1 to create new record
        dialog.addParm('sysparm_view', 'Default View'); //Specify a form view
        dialog.addParm('sysparm_form_only', 'true'); //Add or remove related lists
        dialog.setLoadCallback(function(iframeDoc) {
            // To get the iframe: document.defaultView in non-IE, document.parentWindow in IE
            var dialogFrame = 'defaultView' in iframeDoc ? iframeDoc.defaultView : iframeDoc.parentWindow;

            dialogFrame.g_form.setValue('nuv_ticket', sysID);
            dialogFrame.g_form.setValue('period', prd);
            dialogFrame.g_form.setValue('segment', seg);
            dialogFrame = null;
        });
        dialog.render(); //Open the dialog
    } else {
        var reversalRec = new x_nuv_rejection_detailActivitiesUtil().createReversal();
        action.setRedirectURL(reversalRec);
    }
}

 

 

24 REPLIES 24

Its for a custom application ...yes the field is right there on form, see screenshot below

Mishu_1-1734490980504.png

 

I am not understanding why it is not reading the if condition...
As i mentioned above no alert is popping up.


@Ankur Bawiskar ...Can you please help or suggest any other way

@Mishu 

try debugging step by step

Simply add this and confirm what it gives

function CheckReversal() {
alert('Inside');
}

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

@Ankur Bawiskar  It is giving the alert "Inside" now on click the UI Action, i feel it is not reading the if condition for some reason thats y the further code not executing

@Mishu 

you need to debug step by step

next do this. I hope you can do further debugging from here

The script I shared above will definitely work

function CheckReversal() {
    var tableName = "x_nuv_rejection_details";
    var sysID = g_form.getUniqueValue();
    var prd = g_form.getValue('period');
    var seg = g_form.getValue('segment');
    var val = g_form.getValue('reversal_error');
alert(prd);
alert(seg);
alert(val);
}

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader