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.

Unable to get Variable info in Server Side script in Service Portal

AbdulAzeez
Mega Guru

Hello Experts,

I am using Macro variable in that i am using widget:

Here is my code:

HTML:

<div class="input-group ">

<input type="text" name="name" ng-model="c.data.inputValue" />

<button type="button" class="btn btn-danger btn-block" ng-click="c.setFieldValue()">Value</button>  

</div>

Client Controller:

function($scope) {

                                                  var c = this;

                                              c.setFieldValue = function() {

                                              c.server.update().then(function(response) {

                                                                      c.data = {};

                                                                      var g_form = $scope.page.g_form;

                                                                      var values = [];

                                                                      values = g_form.getValue('a2');

                                                                    var disp = [];

                                                                      disp = g_form.getDisplayValue('a2');

                                if(!values){

                                                                                              g_form.setValue('a2', $scope.data.sysID, $scope.data.text);

                                  }else{

                                                                                              g_form.setValue('a2', $scope.data.sysID+','+values, $scope.data.text+','+disp);            

                                                                      }

                                              });

Server Side:

(function() {

                                              if(!input)

                                              return;

                      var bTab = new GlideRecord('u_backend_table');

                      bTab.initialize();

                      bTab.u_text = input.inputValue;

                bTab.u_text1 = // I want to use Variable value

                  data.sysID = bTab.insert();

                      data.text = input.inputValue;

                   

})();

I unable to get the Variable value at above highlighted region.

FYI: i also tried with

$sp.getValue('variable_name');

$sp.getDisplayValue('variable_name');

Nothing worked

b-rad nathanfirth

1 ACCEPTED SOLUTION

Srikanth Gajjel
Kilo Guru

Hi Azeez,



Try below code.



Client Controller:



function($scope) {


var c = this;


c.setFieldValue = function() {


c.data.var1 = g_form.getDisplayValue('variable_name');


c.server.update().then(function(response) {


c.data = {};


var g_form = $scope.page.g_form;


var values = [];


values = g_form.getValue('a2');


var disp = [];


disp = g_form.getDisplayValue('a2');


if(!values){


g_form.setValue('a2', $scope.data.sysID, $scope.data.text);


}else{


g_form.setValue('a2', $scope.data.sysID+','+values, $scope.data.text+','+disp);    


}


});


}


}



Server Side:



(function() {


if(!input)


return;


var bTab = new GlideRecord('u_backend_table');


bTab.initialize();


bTab.u_text = input.inputValue;


bTab.u_text1 = input.var1;// I want to use Variable value


data.sysID = bTab.insert();


data.text = input.inputValue;    


})();




Thanks,


Srikanth


View solution in original post

6 REPLIES 6

Srikanth Gajjel
Kilo Guru

Hi Azeez,



Try below code.



Client Controller:



function($scope) {


var c = this;


c.setFieldValue = function() {


c.data.var1 = g_form.getDisplayValue('variable_name');


c.server.update().then(function(response) {


c.data = {};


var g_form = $scope.page.g_form;


var values = [];


values = g_form.getValue('a2');


var disp = [];


disp = g_form.getDisplayValue('a2');


if(!values){


g_form.setValue('a2', $scope.data.sysID, $scope.data.text);


}else{


g_form.setValue('a2', $scope.data.sysID+','+values, $scope.data.text+','+disp);    


}


});


}


}



Server Side:



(function() {


if(!input)


return;


var bTab = new GlideRecord('u_backend_table');


bTab.initialize();


bTab.u_text = input.inputValue;


bTab.u_text1 = input.var1;// I want to use Variable value


data.sysID = bTab.insert();


data.text = input.inputValue;    


})();




Thanks,


Srikanth


Thanks Srikanth it helped