Script help - How to get the value for variable field from the 'current' record

harinalamalapu
Giga Expert

How to get the value of a field on a current record using the 'current' keyword if the field name is a variable? Ex: current.u_description returns the description of the current record, say from a Change Request. but what if 'u_description' is a variable?

var result = current.u_description / This produced the result as "Sample Change Request"

Versus

  var fieldName = u_description;

  var value = current.fieldName     //tried this approach #1 - This produced the result as 'undefined'

  var value = current+'.'+fieldName   //tried this approach #2 - This produced the result as '[object GlideRecord].u_description'

I will have to use the above piece of code from a business rule on change request, so current refers to the current change record.

1 ACCEPTED SOLUTION

ghsrikanth
Tera Guru

  var value = current.fieldName     //tried this approach #1 - This produced the result as 'undefined'


The system is searching for the column with the name fieldName, so it is not preferred to use parameter for the variable. If you want to use parameter its better to use getValue function.



var fieldName = 'u_description';


var value = current.getValue(fieldName); //this will work




Mark if it is helpful or correct


View solution in original post

17 REPLIES 17

Hi Hari



Is 'u_change_activity' reference field on your current table??



If answer is YES then you can use GlideElement as shown below.



var techRisk ='u_change_activity.u_technical_risk';


gs.log('Risk: '+current.getElement(techRisk ));



Thanks


Abhinandan


harinalamalapu
Giga Expert

Great, it worked. Looks like I can use 'current.getElement(variableName)' for both reference fields and non reference fields. Since in my requirement, I will have both reference and non reference fields as variables, and the above piece worked for both.


Yes it will work for both.