Update Demand state when Enhancement is Closed Complete

WaledBajukhaif
Tera Expert

We create Demand [dmn_demand] record, then create enhancement [rm_enhancement] record from the demand record. the demand state changes to Approved once enhancement is created.

My request is when we close enhancement record, update the demand state to Complete.

 

Any help/thoughts is be appreciated!

 

Regards

1 ACCEPTED SOLUTION

Mark Manders
Mega Patron

The flow should look like this:

MarkManders_0-1711611011611.png

MarkManders_1-1711611044493.png

MarkManders_2-1711611074704.png

MarkManders_3-1711611102666.png

MarkManders_4-1711611121956.png

 

And if you insist on using a BR, why not make it simple? Trigger it after update of the enhancement with state = closed and use this:

 

var demand = new GlideRecord('dmn_demand');
demand.addQuery('enhancement',current.getUniqueValue());
demand.addActiveQuery();
demand.query();
while(demand.next()){
	demand.setValue('state', 9); // completed
	demand.update();
}

 

 


Please mark any helpful or correct solutions as such. That helps others find their solutions.
Mark

View solution in original post

12 REPLIES 12

Thanks Sohail for your help i appreciated

I don't have demand field in enhancement form. i created after update BR on enhancement table [rm_enhancement]. I think still something is missing in my script! if you can take a look at it.

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

if (current.state.changesTo('Closed Complete')) {
    var enhState = new GlideRecord('dmn_demand');
    enhState.addQuery('dmn_demand', current.sys_id);
    enhState.addQuery('active', true);
    enhState.query();

    if (!enhState.next()) {
        var demState = current.dmn_demand.getRefRecord();
        demState.state = 'Complete';
        demState.update();
    }
}
})(current, previous);

 Regards,

Mark Manders
Mega Patron

The flow should look like this:

MarkManders_0-1711611011611.png

MarkManders_1-1711611044493.png

MarkManders_2-1711611074704.png

MarkManders_3-1711611102666.png

MarkManders_4-1711611121956.png

 

And if you insist on using a BR, why not make it simple? Trigger it after update of the enhancement with state = closed and use this:

 

var demand = new GlideRecord('dmn_demand');
demand.addQuery('enhancement',current.getUniqueValue());
demand.addActiveQuery();
demand.query();
while(demand.next()){
	demand.setValue('state', 9); // completed
	demand.update();
}

 

 


Please mark any helpful or correct solutions as such. That helps others find their solutions.
Mark

The BR worked perfect...

Thanks Mark!