The CreatorCon Call for Content is officially open! Get started here.

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