how to pass value from function to another in script include

Pradeep J
Kilo Guru

Hi all ,

I am trying to fetch a value from one function to another,

here is my code

var CatalogDynamicValueTest = Class.create();

//var blueId={};

CatalogDynamicValueTest.prototype = {

      initialize: function() {

      },

      //To Get Cloud Type

  getCloudTypeValues: function() {

  gs.log("Inside Get Cloud Type");

  var tenCatName;

  var tenCatVersion;

  var catItem=current.variables.TenantCatalog;

              gs.log("New Selected Catitem:"+ catItem);

  var grTenCtg = new GlideRecord('u_compose_tenant_catalog');

  grTenCtg.addQuery('sys_id',catItem);

  grTenCtg.query();

  while(grTenCtg.next())

  {

        tenCatName = grTenCtg.u_symbolic_name;

  tenCatVersion = grTenCtg.u_version;

  gs.log("catTENCATVERSION: " + tenCatVersion);

  gs.log("Ten Name: " + tenCatName);

  }

  var blueprintId;

  var grBlueprint = new GlideRecord('u_compose_blueprint');

  grBlueprint.addQuery('u_blueprint_name',tenCatName);

  grBlueprint.addQuery('u_version',tenCatVersion);

  grBlueprint.query();

  while(grBlueprint.next())

  {

  gs.log("TENCATVERSION: " + tenCatVersion);

  gs.log("Catalog Id: " + grBlueprint.u_id);

blueprintId = grBlueprint.u_id;

  }

  /*g_scratchpad.saved_blueprintId=blueprintId;

  var abc =g_scratchpad.saved_blueprintId;

  gs.log("Stracth pd" +abc);*/

  gs.log("newblueprintId: " +blueprintglobal);

  var arrTarCId = ' ';

  var grCTC = new GlideRecord('u_compose_catalog_target_cloud');

  grCTC.addQuery('u_blueprint_id',blueprintId);

  grCTC.query();

  while(grCTC.next())

  {

  //arrTarCId.push(grCTC.u_target_cloud_id);

  gs.log("gsCTC Target Cloud id :" + grCTC.u_target_cloud_id);

   

  if(arrTarCId.length>0)

  arrTarCId +=("," +   grCTC.u_target_cloud_id);

  //gp += (gr.u_cloud_code + ",");

  else

  arrTarCId= grCTC.u_target_cloud_id;

  }

  gs.log("Array of Target: " +arrTarCId);

  var arr= [];

  arr= arrTarCId.split(",");

  var arrTarid=[];

  for (var n=1; n <arr.length; n++)

  {

  arrTarid.push(arr[n]);

  gs.log(" Target Ref:" + arr[n]);

  }

  gs.log("Target Final ar" + arrTarid);

  //Displaying Logs

      // for(var ii=0;ii<arrTarCId.length;ii=ii+1)

  // {

  // gs.log("Array" + arrTarCId[ii]);

  // }

  gs.log("Array Length: " + arrTarid.length);

       

  var arrayUtil = new ArrayUtil();

  var arrCCId = [];

  var arrCC = [];

  var arruniqueCC=[];

  for(var i=0;i<arrTarid.length;i=i+1)

  {  

  gs.log("Array1" + arrTarid[i]);

  var val = arrTarid[i];

  var grTCC =   new GlideRecord('u_compose_target_cloud_category');

  grTCC.addQuery('u_id',val);

  grTCC.query();

  while(grTCC.next())

  {

  arrCCId.push(grTCC.u_cloud_category_id);

  arrCC.push(grTCC.u_cloud_code);

  //gs.log("grTCC Cloud Id: " + grTCC.u_cloud_category_id);

  gs.log("grTCC Cloud Code: " + grTCC.u_cloud_code);

  }

  }

  // arruniqueCC.push(arrayUtil.unique(arrCC));

  gs.log("Cloud CC: " + arrCC.length);

  //gs.log("Array Unique CC:" + arruniqueCC);

  //gs.log("Array Unique Length: " + arruniqueCC.length);

  var arrTLCC = [];

  for(var j=0;j<arrCC.length;j=j+1)

  {

  var grTenLoc = new GlideRecord('u_compose_tenent_location');

  grTenLoc.addQuery('u_target_cloud_code',arrCC[j]);

  grTenLoc.addQuery('u_endpoint',current.variables.Endpoint);

  grTenLoc.query();

  gs.log("Inside Ten:"+ arrCC[j]);

  while(grTenLoc.next())

  {

      gs.log("While Ten:");

  arrTLCC.push(grTenLoc.u_target_cloud_code);

  gs.log("Tentant Cloud Code : " + grTenLoc.u_target_cloud_code);

  }

  }

  gs.log("Ten Cloud CC: " + arrTLCC.length);

  var arrTCCid=[];

  for(var k=0;k<arrTLCC.length;k=k+1)

  {

  var grTCCone =   new GlideRecord('u_compose_target_cloud_category');

      grTCCone.addQuery('u_cloud_code',arrTLCC[k]);

  grTCCone.query();

  while(grTCCone.next())

  {

    gs.log("Cloud Category Id: " + grTCCone.u_cloud_category_id);

  arrTCCid.push(grTCCone.u_cloud_category_id);

  }

  }

  gs.log("Cloud Category id length: " + arrTCCid.length);

    var gp= ' ';

    for (var l=0;l<arrTCCid.length;l=l+1)

  {

  var grcc=new GlideRecord('u_compose_cloud_category');

  grcc.addQuery('u_id',arrTCCid[l]);

  //gs.log("Tc For entry");

  grcc.query();

  while(grcc.next())

  {    

  if (gp.length > 0) {

  //build a comma separated string of groups if there is more than one

          gp += (',' + grcc.u_category_code);

              }

            else {

          gp = grp.u_category_code;

            }

  //gs.addInfoMessage("Cloud Category "+ gp);

  // gs.log("Cloud Category" + grcc.u_category_name);

  //gs.log("Gp :" + gp);

  }

  }

  return 'u_category_codeIN' + gp;

  },

This a function and i want fetch the value(blueprint which is highlighted in red) in next function

getOSValues: function() {

var getid=getCloudTypeValues().blueprintId;

  gs.log("Blueprint id cheeck"+ getid);

  //gs.log("blueID"+blueprintglobal.getId);

      //gs.log("Inside Os");

  var os ='';

  var sel=current.variables.Location.u_target_cloud_code;

  // gs.log("Selection" + sel);

  var targetcode=sel;

  gs.log("Target Code:" + targetcode);

  /* var gr= new GlideRecord('u_compose_tenant_location');

  gr.addQuery('sys_id',sel);

  gr.query();

  while(gr.next())

  {

  targetcode=gr.u_target_cloud_code;

  }*/

            var grtcc= new GlideRecord('u_compose_target_cloud_category');

  grtcc.addQuery('u_cloud_code',targetcode);

  grtcc.query();

  while(grtcc.next()){

  gs.log("while os");

  gs.log("OS Final res" + grtcc.u_id);

  if(os.length>0)

  os +=("," + grtcc.u_id);

  //gp += (gr.u_cloud_code + ",");

  else

  os=grtcc.u_id;

  }

  var arr= [];

  gs.log("os: " + os);

  arr= os.split(",");

  var arrOS=[];

  for (var i=0; i <arr.length; i++)

  {

  arrOS.push(arr[i]);

  gs.log(" Os Ref:" + arr[i]);

  }

  gs.log("osFinal ar" + arrOS);

  var osid= ' ';

  var blue= getCloudTypeValues.blueprintglobal;

  //var idrt = blueprintglobal.getId;

  gs.log("Inside blue" + blue);

  for(var j=0; j<arrOS.length; j++)

  {

  gs.log("Os: " + arrOS[j]);

  var grtcos= new GlideRecord('u_compose_catalog_target_cloud');

  grtcos.addQuery('u_target_cloud_id',arrOS[j]);

  //grtcos.addQuery('u_blueprint_id',blueprint);

  grtcos.query();

  while(grtcos.next())

  {

  gs.log("Operating ids:" + grtcos.u_operating_system_id);

  if(osid.length>0)

  osid +=("," + grtcos.u_operating_system_id);

  //gp += (gr.u_cloud_code + ",");

  else

  osid =grtcos.u_operating_system_id;

  }

  }

  var arrosid= [];

  arrosid= osid.split(",");

  var arrOSid=[];

  for (var k=1; k<arrosid.length; k++)

  {

  arrOSid.push(arrosid[k]);

  gs.log("Operating Ref:" + arrosid[k]);

  }

  gs.log("os id:" + arrOSid);

  var tl= ' ';

  for(var l=0;l<arrosid.length;l++){

  gs.log("Msgg: " + arrosid[l]);

  var grtl = new GlideRecord('u_compose_operating_system');

  grtl.addQuery('u_id',arrosid[l]);

  grtl.query();

  while(grtl.next()){

  gs.log("Mess: " + grtl.u_display_name);

  if(tl.length>0)

  tl +=("," + grtl.u_display_name);

  else

        tl = grtl.u_display_name;

  }

  }

  gs.log("TL: " + tl);

  return 'u_display_nameIN' + tl;

  },

highlighted part is in second function.

Am I following correct method to fetch?

Pleas help me to get solution.

Thanks

Pradeep

11 REPLIES 11

HI Pradeep,



Does your second function accepts any parameters? If NO then you can use the following



var getid=this.getCloudTypeValues();



What is the type of return value? Is it some object/array/some value?? And what is this blueprintid?



Thanks,


Abhinandan


//blueprintglobal ='';


var CatalogDynamicValueTest = Class.create();


//var blueId={};


CatalogDynamicValueTest.prototype = {




      initialize: function() {


      },




      //To Get Cloud Type


  getCloudTypeValues: function() {


  gs.log("Inside Get Cloud Type");


  var tenCatName;


  var tenCatVersion;


  var catItem=current.variables.TenantCatalog;


              gs.log("New Selected Catitem:"+ catItem);



  var grTenCtg = new GlideRecord('u_compose_tenant_catalog');


  grTenCtg.addQuery('sys_id',catItem);


  grTenCtg.query();



  while(grTenCtg.next())


  {


        tenCatName = grTenCtg.u_symbolic_name;


  tenCatVersion = grTenCtg.u_version;



  gs.log("catTENCATVERSION: " + tenCatVersion);


  gs.log("Ten Name: " + tenCatName);


  }



  var blueprintId;


  var grBlueprint = new GlideRecord('u_compose_blueprint');


  grBlueprint.addQuery('u_blueprint_name',tenCatName);


  grBlueprint.addQuery('u_version',tenCatVersion);


  grBlueprint.query();


  while(grBlueprint.next())


  {


  gs.log("TENCATVERSION: " + tenCatVersion);


  gs.log("Catalog Id: " + grBlueprint.u_id);


  blueprintId = grBlueprint.u_id;


  }


  //blueId.idNo=blueprintId;


  //blueprintglobal=blueprintId;


  //gs.log('nanaiah1'+blueId.idNo);




  /*g_scratchpad.saved_blueprintId=blueprintId;


  var abc =g_scratchpad.saved_blueprintId;


  gs.log("Stracth pd" +abc);*/


  gs.log("newblueprintId: " +blueprintglobal);


  var arrTarCId = ' ';


  var grCTC = new GlideRecord('u_compose_catalog_target_cloud');


  grCTC.addQuery('u_blueprint_id',blueprintId);


  grCTC.query();


  while(grCTC.next())


  {



  //arrTarCId.push(grCTC.u_target_cloud_id);


  gs.log("gsCTC Target Cloud id :" + grCTC.u_target_cloud_id);



   


  if(arrTarCId.length>0)


  arrTarCId +=("," +   grCTC.u_target_cloud_id);


  //gp += (gr.u_cloud_code + ",");


  else


  arrTarCId= grCTC.u_target_cloud_id;


  }



  gs.log("Array of Target: " +arrTarCId);





  var arr= [];


  arr= arrTarCId.split(",");


  var arrTarid=[];


  for (var n=1; n <arr.length; n++)


  {


  arrTarid.push(arr[n]);


  gs.log(" Target Ref:" + arr[n]);


  }


  gs.log("Target Final ar" + arrTarid);


  //Displaying Logs


      // for(var ii=0;ii<arrTarCId.length;ii=ii+1)


  // {


  // gs.log("Array" + arrTarCId[ii]);


  // }






  gs.log("Array Length: " + arrTarid.length);


       


  var arrayUtil = new ArrayUtil();


  var arrCCId = [];


  var arrCC = [];


  var arruniqueCC=[];


  for(var i=0;i<arrTarid.length;i=i+1)


  {  


  gs.log("Array1" + arrTarid[i]);


  var val = arrTarid[i];


  var grTCC =   new GlideRecord('u_compose_target_cloud_category');


  grTCC.addQuery('u_id',val);


  grTCC.query();


  while(grTCC.next())


  {




  arrCCId.push(grTCC.u_cloud_category_id);



  arrCC.push(grTCC.u_cloud_code);





  //gs.log("grTCC Cloud Id: " + grTCC.u_cloud_category_id);


  gs.log("grTCC Cloud Code: " + grTCC.u_cloud_code);


  }



  }




  // arruniqueCC.push(arrayUtil.unique(arrCC));



  gs.log("Cloud CC: " + arrCC.length);


  //gs.log("Array Unique CC:" + arruniqueCC);


  //gs.log("Array Unique Length: " + arruniqueCC.length);






  var arrTLCC = [];


  for(var j=0;j<arrCC.length;j=j+1)


  {


  var grTenLoc = new GlideRecord('u_compose_tenent_location');


  grTenLoc.addQuery('u_target_cloud_code',arrCC[j]);


  grTenLoc.addQuery('u_endpoint',current.variables.Endpoint);



  grTenLoc.query();


  gs.log("Inside Ten:"+ arrCC[j]);


  while(grTenLoc.next())


  {


      gs.log("While Ten:");


  arrTLCC.push(grTenLoc.u_target_cloud_code);


  gs.log("Tentant Cloud Code : " + grTenLoc.u_target_cloud_code);


  }


  }


  gs.log("Ten Cloud CC: " + arrTLCC.length);


  var arrTCCid=[];


  for(var k=0;k<arrTLCC.length;k=k+1)


  {


  var grTCCone =   new GlideRecord('u_compose_target_cloud_category');


      grTCCone.addQuery('u_cloud_code',arrTLCC[k]);


  grTCCone.query();


  while(grTCCone.next())


  {


    gs.log("Cloud Category Id: " + grTCCone.u_cloud_category_id);


  arrTCCid.push(grTCCone.u_cloud_category_id);


  }


  }


  gs.log("Cloud Category id length: " + arrTCCid.length);



    var gp= ' ';


    for (var l=0;l<arrTCCid.length;l=l+1)


  {


  var grcc=new GlideRecord('u_compose_cloud_category');


  grcc.addQuery('u_id',arrTCCid[l]);


  //gs.log("Tc For entry");


  grcc.query();


  while(grcc.next())


  {    


  if (gp.length > 0) {


  //build a comma separated string of groups if there is more than one


          gp += (',' + grcc.u_category_code);


              }


            else {


          gp = grp.u_category_code;


            }


  //gs.addInfoMessage("Cloud Category "+ gp);


  // gs.log("Cloud Category" + grcc.u_category_name);


  //gs.log("Gp :" + gp);


  }



  }


  return 'u_category_codeIN' + gp;


  },



  //To Get Location



  getLocValues: function(){


  gs.log('inside location');


  gs.log("nani"+blueId.idNo);


  var arr = [];


  var gp= ' ';


// var sel= current.variables.CloudType;


  //Change Start


  var sel= current.variables.CloudType.u_id;


        gs.log("Selection: " + sel);


  //Change End


  var gr = new GlideRecord('u_compose_target_cloud_category');


  gr.addQuery('u_cloud_category_id',sel);


  gr.query();


  while(gr.next()){


  gs.log("Final res" + gr.u_cloud_code);



  if(gp.length>0)


  gp +=(',' + gr.u_cloud_code);


  //gp += (gr.u_cloud_code + ",");


  else


  gp=gr.u_cloud_code;


         


  }


  gs.log("Final arra" + gp );


  arr= gp.split(",");


  var arrFin=[];


  for (var i=1; i <arr.length; i++)


  {


  arrFin.push(arr[i]);


  gs.log("Ref:" + arr[i]);


  }


  gs.log("Final ar" + arrFin);


        gs.log("Final ar length: " + arrFin.length);


  var tl= ' ';


  for(var j=0;j<arrFin.length;j++){


  gs.log("Msgg: " + arrFin[j]);


  var grtl = new GlideRecord('u_compose_tenent_location');


  grtl.addQuery('u_target_cloud_code',arrFin[j]);


  grtl.addQuery('u_endpoint',current.variables.Endpoint);


  grtl.query();


  while(grtl.next()){


  gs.log("Mess: " + grtl.u_display_name);


  if(tl.length>0)


  tl +=("," + grtl.u_display_name);


  else


        tl = grtl.u_display_name;


  }


        }


  gs.log("TL: " + tl);


       


  var arrtenloc=[];


  arrtenloc=tl.split(",");


  var arrFintetloc=[];


  for(var ii=1;ii<arrtenloc.length;ii++)


  {      


  arrFintetloc.push(arrtenloc[ii]);  


  }


  gs.log("Final ar tet" + arrFintetloc);


  gs.log("Final ar tet length" + arrFintetloc.length);


              var tenloc=' ';


  for(var jj=0;jj<arrFintetloc.length;jj++){


      var grtenloc = new GlideRecord('u_compose_tenent_location');


      grtenloc.addQuery('u_endpoint',current.variables.Endpoint);


      grtenloc.addQuery('u_display_name',arrFintetloc[jj]);


      grtenloc.query();


      while(grtenloc.next())


      {


    if(tenloc.length>0)


    tenloc+=("," + grtenloc.u_location_id);


    else


    tenloc=grtenloc.u_location_id;


      }


      gs.log("Finan Tet loc:" + tenloc);


  }


  return 'u_location_idIN' + tenloc;



  },




  //To Get Os


  getOSValues: function() {



  var getid=getCloudTypeValues().blueprintId;


  gs.log("Blueprint id cheeck"+ getid);


  //gs.log("blueID"+blueprintglobal.getId);


      //gs.log("Inside Os");


  var os ='';


  var sel=current.variables.Location.u_target_cloud_code;


  // gs.log("Selection" + sel);


  var targetcode=sel;


  gs.log("Target Code:" + targetcode);


  /* var gr= new GlideRecord('u_compose_tenant_location');


  gr.addQuery('sys_id',sel);


  gr.query();


  while(gr.next())


  {


  targetcode=gr.u_target_cloud_code;


  }*/


            var grtcc= new GlideRecord('u_compose_target_cloud_category');


  grtcc.addQuery('u_cloud_code',targetcode);


  grtcc.query();


  while(grtcc.next()){


  gs.log("while os");


  gs.log("OS Final res" + grtcc.u_id);



  if(os.length>0)


  os +=("," + grtcc.u_id);


  //gp += (gr.u_cloud_code + ",");


  else


  os=grtcc.u_id;


  }


  var arr= [];


  gs.log("os: " + os);


  arr= os.split(",");


  var arrOS=[];


  for (var i=0; i <arr.length; i++)


  {


  arrOS.push(arr[i]);


  gs.log(" Os Ref:" + arr[i]);


  }


  gs.log("osFinal ar" + arrOS);



  var osid= ' ';


  var blue= getCloudTypeValues.blueprintglobal;


  //var idrt = blueprintglobal.getId;


  gs.log("Inside blue" + blue);


  for(var j=0; j<arrOS.length; j++)


  {


  gs.log("Os: " + arrOS[j]);


  var grtcos= new GlideRecord('u_compose_catalog_target_cloud');


  grtcos.addQuery('u_target_cloud_id',arrOS[j]);


  //grtcos.addQuery('u_blueprint_id',blueprint);


  grtcos.query();


  while(grtcos.next())


  {


  gs.log("Operating ids:" + grtcos.u_operating_system_id);



  if(osid.length>0)


  osid +=("," + grtcos.u_operating_system_id);


  //gp += (gr.u_cloud_code + ",");


  else


  osid =grtcos.u_operating_system_id;


  }


  }



  var arrosid= [];


  arrosid= osid.split(",");


  var arrOSid=[];


  for (var k=1; k<arrosid.length; k++)


  {


  arrOSid.push(arrosid[k]);


  gs.log("Operating Ref:" + arrosid[k]);


  }


  gs.log("os id:" + arrOSid);



  var tl= ' ';


  for(var l=0;l<arrosid.length;l++){


  gs.log("Msgg: " + arrosid[l]);


  var grtl = new GlideRecord('u_compose_operating_system');


  grtl.addQuery('u_id',arrosid[l]);


  grtl.query();


  while(grtl.next()){


  gs.log("Mess: " + grtl.u_display_name);


  if(tl.length>0)


  tl +=("," + grtl.u_display_name);


  else


        tl = grtl.u_display_name;


  }


  }


  gs.log("TL: " + tl);


  return 'u_display_nameIN' + tl;


  },





  //To Get Sizecate


  getTemplateSizeValues: function() {


          gs.log("Inside Templatesize");



    var sel=current.variables.OperationSystem.u_id;


    var arrtos=' ';


gs.log("Size sel" + sel);


    var grtcos= new GlideRecord('u_compose_tc_os_family');


    grtcos.addQuery('u_operating_system_id',sel);


    grtcos.query();


    while(grtcos.next()){


    gs.log("Target id: " + grtcos.u_target_cloud_id);


   


  if(arrtos.length>0)


  arrtos +=("," + grtcos.u_target_cloud_id);


  //gp += (gr.u_cloud_code + ",");


  else


  arrtos=grtcos.u_target_cloud_id;


    }


   


        var arr= [];


  arr= arrtos.split(",");


  var arrTOS=[];


  for (var i=1; i <arr.length; i++)


  {


  arrTOS.push(arr[i]);


  gs.log("TOs Ref:" + arr[i]);


  }


  gs.log("TosFinal ar" + arrTOS);



  var arrtcsc= ' ';


  for(var j=0;j < arrTOS.length; j++)


  {


  var grtcsc = new GlideRecord('u_compose_tc_size_category');


  grtcsc.addQuery('u_target_cloud_id',arrTOS[j]);


  grtcsc.query();


  while(grtcsc.next()){


  gs.log('Size Category id:' + grtcsc.u_size_category_id);



  if(arrtcsc.length>0)


  arrtcsc +=("," + grtcsc.u_size_category_id);


  else


  arrtcsc=grtcsc.u_size_category_id;


  }


  }



        var arrsize= [];


  arrsize= arrtcsc.split(",");


  var arrSC=[];


  for (var k=1; k <arrsize.length; k++)


  {


  arrSC.push(arrsize[k]);


  gs.log("Size Ref:" + arrsize[k]);


  }


  gs.log("SizeFinal ar" + arrSC);




  var tl= ' ';


  for(var l=0;l<arrSC.length;l++){


  gs.log("Msgg: " + arrSC[l]);


  var grtl = new GlideRecord('u_compose_size_category');


  grtl.addQuery('u_id',arrSC[l]);


  grtl.query();


  while(grtl.next()){


  gs.log("SC Mess: " + grtl.u_category_code);


  if(tl.length>0)


  tl +=("," + grtl.u_category_code);


  else


        tl = grtl.u_category_code;


  }


  }


  gs.log("TL: " + tl);


  return 'u_category_codeIN' + tl;



  /* var gpsize= '';


  var arrsc= '';


  for(var l=0; l<arrSC.length; l++)


  {


  gs.log("Size Det: " + arrSC[l]);


  var grsc= new GlideRecord('u_compose_size_category');


  grsc.addQuery('u_id',arrSC[l]);


  grsc.query();


  while(grsc.next())


  {


  gs.log("Size Categoryid:" + grsc.u_category_code);


  if(arrsc.length>0)


  arrsc +=("," + grsc.u_category_code);


  else


  arrsc = grsc.u_category_code;


  }


  }


  gs.log("Size Gpos: " + arrsc.length);


  return 'u_category_codeIN' + arrsc;


  */



  },










      type: 'CatalogDynamicValueTest'


};






here is my code.. Please look at this.


Hi Pradeep,



From above code what I can understand is 'getCloudTypeValues()' returns some string value.And as I mentioned you can use the following



var getid=this.getCloudTypeValues();



And try to ask to specific questions instead pasting whole code here.



Thanks,


Abhinandan


Hi Abhinandan,



var getid=this.getCloudTypeValues();



what value above statement is going to return in function.


Kalaiarasan Pus
Giga Sage

mamann has already answered your question incase you haven't noticed.