The CreatorCon Call for Content is officially open! Get started here.

Inserting records in cmdb_rel_ci table

Divya95
Tera Contributor

Hi All ,

I have a customer table with 3 fields ,Customer Id , Producer Id,Department ID

I need to write  a business rule as when values are provided in Producer Id or Department Id or both of them , they should create relationship with Customer Id (Child)

In the below query , if only department id changes , its not inserting the record .But it inserts if producer id is changed or both of them .

I have tried for below ,

(function executeRule(current, previous /*null when async*/)
{
var rel = new GlideRecord ('cmdb_rel_ci');

if (current.u_producer_id != null)
{
rel.initialize();
rel.child = current.sys_id;
rel.parent=current.u_producer_id;
rel.type = "9d7bae1edb1213001d49d360cf96198d"; //sys_id of the Parent::Child record on the cmdb_rel_type table';
}
if (current.u_department_id != null)
{
rel.initialize();
rel.child = current.sys_id;
rel.parent=current.u_department_id;
rel.type = "9d7bae1edb1213001d49d360cf96198d";
}
rel.insert();

})(current, previous);

1 ACCEPTED SOLUTION

if you put both conditions in OR statement then it should have to work.

Lets try with below code. Remove all the conditions from "when to run" tab, keep after insert and update only.

(function executeRule(current, previous /*null when async*/)
{

var rel = new GlideRecord ('cmdb_rel_ci');

if (current.u_producer_id.changes() && current.u_producer_id != "")
{
rel.initialize();
rel.child = current.sys_id;
rel.parent=current.u_producer_id;
rel.type = "9d7bae1edb1213001d49d360cf96198d"; 
rel.insert();
}

if (current.u_department_id.changes() && current.u_department_id != "")
{
rel.initialize();
rel.child = current.sys_id;
rel.parent=current.u_department_id;
rel.type = "9d7bae1edb1213001d49d360cf96198d";
rel.insert();
}
	


})(current, previous);

Hit Helpful or Correct on the impact of response.

Regards,
Tushar
www.DxSherpa.com

View solution in original post

13 REPLIES 13

Bhagya Lakshmi
Mega Guru

Hi,

How will you create relation between those three?

Hi Bhavya ,

 

When producer id is changed , i want to add parent child relationship between customer id and producer id

Similarly for department id with customer id .IF both are changed ,2 relationships should get created .

 

Tushar Sharma2
Kilo Guru

In the business rule under when tab you can set the condition like changes, changes from, changes to.

Try with above condition it will work as expected.

Operators available for filters and queries

 

Hit Helpful or Correct on the impact of response.

Regards,
Tushar
www.DxSherpa.com

Hi Tushar ,

 

Yes I have applied these conditions .But as explained above ,if only department id changes ,my script is not running .