The Zurich release has arrived! Interested in new features and functionalities? Click here for more

Circular parent/child relationship

ericeger
Tera Guru

Hi everyone,

I'm working on creating an organization table that will have a reference to parent organizations.   My concern is that when I create or change an organization, it should not be able to find a parent organization where the parent organization is already a child organization. For example, Company 1(child) has a parent of Company 2.   If I go back to Company 2 and select the Parent Organization reference field, I don't want to see Company 1 in that list because its already a child of Company 2.

I was looking around the reference qualifiers and didn't see anything that could help me.   Any help in the right direction would be great, thanks!

1 ACCEPTED SOLUTION

your code should look like that


var CompanyList = Class.create(); CompanyList.prototype = Object.extendsObject(AbstractAjaxProcessor, {      


getCompanyList: function(CurrSysID)


{


var CompanyList= "";


var gr = new GlideRecord("x_mpaii_snap_trace_organizations");


gr.addEncodedQuery("sys_id!=" + CurrSysID + "^parent_organization!=" + CurrSysID);


gr.query();


while(gr.next())


{


CompanyList += gr.sys_id + ",";


}


return "sys_idIN" + CompanyList;      


},    


  type: 'CompanyList' });


test out this code and let me know whether it works or no


View solution in original post

12 REPLIES 12

Ahmed Drar
Tera Guru
Tera Guru

Hi Eric , First you need to go to Script include and write script below , make sure that your script client callable


com.png



after that you need to configure parent field dictionary


comp2.png



Thanks ,


Ahmed



Please Mark this as solution if this post helps you


Ahmed,



Thanks for getting back to me! I made the script include and the reference specification changes but I don't believe it is working.   I did change the GlideRecord parameter from "core_company" to my table name but everything else is the same.   I tried to debug it as well, but it doesn't seem to be hittiing any breakpoints.   Is there something else I could look into? Thank you again!



Eric


Can you please provide snapshot for your code?


make sure that your element if you are not working with core_company table has the right name so please change everything according to your table 🙂


Hi Ahmed,



Here is a screenshot of my script include with my table name in it.



CompanyList.PNG



Here is a screenshot of the dictionary entry for the parent organization



Organizations.PNG



As a sidenote, I tried to debug it and it got to the point in the script include where it was establishing a new GlideRecord, and went back to the reference qualifier.