how to populate the catalog variable values to RITM description

Pushpa
Mega Expert

Hi Team,

how to populate the current catalog variable values  to RITM description

below variables and variable set fields.

i have 3 variables and one variable set (variable set have 2 fields).

variables 

1. account

2. year

3.quarter 

variable set

4. select location  (location and balance)

how write workflow run script 

 

@Ankur Bawiskar 

 

Regards,

Pushpa

 

1 ACCEPTED SOLUTION

Hi,

account variable should work fine using this

current.variables.account.getDisplayValue();

OR you can query the account table with the sys_id and print the name

then for stockroom showing country do this

var desc = current.variables.description;

if (current.cat_item.name == "Laptop Projection Request") {
    desc += '\nAccount: ' + current.variables.account.getDisplayValue();
    desc += '\nYear: ' + current.variables.year;
    desc += '\nQuarter: ' + current.variables.quarter;

    var parser = JSON.parse(current.variables.add_stockroom_location_and_projection);
    var arr = [];

    for(var i=0;i<parser.length;i++){
        var gr = new GlideRecord("alm_stockroom"); // give here the table name
        gr.addQuery("sys_id", parser[i].stockroom);
        gr.query();
        if (gr.next()) {
            var str = '';
            str = str + "Stockroom: " + gr.location.country + " | " + gr.name + " Projection: " + parser[i].projection;
            arr.push(str);
        }
    }

    desc += '\nAdd Stockroom Location and Projection: ' + arr.join('\n');
    current.description = desc;
    current.update();
}

Regards
Ankur

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

View solution in original post

25 REPLIES 25

Hi Ankur,

 now account getting undefine 

Yes fine stockroom related information.

Hi,

but the line of code is the same

current.variables.account.getDisplayValue()

Did you check the account variable has some value or not

Regards
Ankur

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

Hi Pushpa,

Glad to know that the stockroom related information is working fine.

Regards
Ankur

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

Hi Ankur,

if we remove the getDisplayValue(). getting sys id of account. 

if we use getDisplayValue() then getting undefine.

 

country not getting in the stock room.

 output:

test
Account: c25f8ab4dbdf1f40d5bd5478dc961991
Year: 2021
Quarter: Q2
Add Stockroom Location and Projection: Stockroom: Aliso Viejo Projection: 12
Stockroom: Chennai Projection: 12

find_real_file.png

Hi,

what is the variable type for account?

can you share variable configuration image for stockroom within MRVS?

which field in alm_stockroom holds the Country | Location data?

use that in the script then

var desc = current.variables.description;

if (current.cat_item.name == "Laptop Projection Request") {
    desc += '\nAccount: ' + current.variables.account.getDisplayValue();
    desc += '\nYear: ' + current.variables.year;
    desc += '\nQuarter: ' + current.variables.quarter;

    var parser = JSON.parse(current.variables.add_stockroom_location_and_projection);
    var arr = [];

    for(var i=0;i<parser.length;i++){
        var gr = new GlideRecord("alm_stockroom"); // give here the table name
        gr.addQuery("sys_id", parser[i].stockroom);
        gr.query();
        if (gr.next()) {
            var str = '';
            str = str + "Stockroom: " + gr.yourField + " Projection: " + parser[i].projection;
            arr.push(str);
        }
    }

    desc += '\nAdd Stockroom Location and Projection: ' + arr.join('\n');
    current.description = desc;
    current.update();
}

Regards
Ankur

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