Error when trying to run Flow Action - Input is not defined

Happy S
Tera Expert

As per subject, I am getting the error when testing out my script.

 

Advise and help needed please..

 

HappyS_0-1695347743602.png

 

This is how my setup looks like

HappyS_1-1695347802385.png

HappyS_2-1695347816824.png

HappyS_3-1695347888391.png

 

the Script

(function execute(inputs, outputs) {
// ... code ...
(function process(/* FlowDesignerContext */ context) {
    // Get the input data from the context
    var templateSysId = context.input.templateSysId;

    if (gs.nil(templateSysId)) {
        // Return an error message if the templateSysId is empty
        return {
            extractedValues: 'Template does not exist'
        };
    }

    // Create GlideRecord to query std_change_record_producer
    var grTemplate = new GlideRecord('std_change_record_producer');
    if (grTemplate.get(templateSysId)) {
        // Found a matching record, get the templateValueReference
        var templateValueReference = grTemplate.template;

        if (gs.nil(templateValueReference)) {
            return {
                extractedValues: 'Template values do not exist'
            };
        }

        // Create GlideRecord to query std_change_template
        var grTemplateValues = new GlideRecord('std_change_template');
        if (grTemplateValues.get(templateValueReference)) {
            var template = grTemplateValues.getValue('template');

            var fields = template
                .split('^')
                .filter(function (pair) {
                    return pair.indexOf('=') > -1;
                })
                .map(function (pair) {
                    return pair.split('=');
                })
                .reduce(function (output, pair) {
                    var key = pair[0];
                    var value = pair[1];
                    output[key] = value;
                    return output;
                }, {});

            // Return the extracted values as output
            return {
                extractedValues: fields
            };
        } else {
            return {
                extractedValues: 'Template values do not exist'
            };
        }
    } else {
        return {
            extractedValues: 'Template does not exist'
        };
    }
})(input);

})(inputs, outputs);

 

Thank you !

 

 

1 REPLY 1

Sandeep Rajput
Tera Patron
Tera Patron

@Happy S Update your code as follows and see if it works.

 

(function execute(inputs, outputs) {
// ... code ...
(function process(/* FlowDesignerContext */ context) {
    // Get the input data from the context
    var templateSysId = context.inputs.templateSysId;

    if (gs.nil(templateSysId)) {
        // Return an error message if the templateSysId is empty
        return {
            extractedValues: 'Template does not exist'
        };
    }

    // Create GlideRecord to query std_change_record_producer
    var grTemplate = new GlideRecord('std_change_record_producer');
    if (grTemplate.get(templateSysId)) {
        // Found a matching record, get the templateValueReference
        var templateValueReference = grTemplate.template;

        if (gs.nil(templateValueReference)) {
            return {
                extractedValues: 'Template values do not exist'
            };
        }

        // Create GlideRecord to query std_change_template
        var grTemplateValues = new GlideRecord('std_change_template');
        if (grTemplateValues.get(templateValueReference)) {
            var template = grTemplateValues.getValue('template');

            var fields = template
                .split('^')
                .filter(function (pair) {
                    return pair.indexOf('=') > -1;
                })
                .map(function (pair) {
                    return pair.split('=');
                })
                .reduce(function (output, pair) {
                    var key = pair[0];
                    var value = pair[1];
                    output[key] = value;
                    return output;
                }, {});

            // Return the extracted values as output
            return {
                extractedValues: fields
            };
        } else {
            return {
                extractedValues: 'Template values do not exist'
            };
        }
    } else {
        return {
            extractedValues: 'Template does not exist'
        };
    }
})(inputs);

})(inputs, outputs);