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

Send the 5 approval records at the same time

Venky Kshatriy2
Tera Contributor

Hi Team,

 

I have created on catalog item, that item contains the MRVS, inside the MRVS we have the approver's values.  i am sending the approvals by using the Flow designer, for MRVS to get one by one approval i used FOR EACH Logic ,the approval records created but I WANT TO CRATE THE ALL APPROVAL RECORDS AT A TIME.

 

Ex: MRVS contains the 5 records now we have 5 approvers i need to create 5 approvals records same time.

 

If any one knows could pls help on this 

Advance thanks Team

VenkyKshatriy2_0-1739186861410.png

 

1 ACCEPTED SOLUTION

Community Alums
Not applicable

Hi @Venky Kshatriy2 

 for (var i = 0; i < vk.length; i++) {
      var approver = vk[i].engagement_partner;
      gs.log('first approver'+approver);
      approvers.push({
          sysapproval: requestId,
          approver: approver,
          state: 'requested
 });
      gs.log('second approver'+approvers);
}
Remove following code:
var approvalGr = new GlideRecord('sysapproval_approver');
      approvalGr.initialize();
   

    for (var j = 0; j < approvers.length; j++) {
      gs.log('view thw rule')
      var vj = approvers[j];
      gs.log('mainvalues'+vj);
      var approval = approvalGr.createRecord();
      approval.sysapproval = vc;
      approval.approver = vj;
      approval.state = 'requested';
      approval.insert();
}
instead, add following:
if (approvers.length > 0) {
    var approvalGr = new GlideRecord('sysapproval_approver');
    approvers.forEach(function(approvalData) {
    approvalGr.initialize();
    approvalGr.sysapproval = approvalData.sysapproval;
    approvalGr.approver = approvalData.approver;
    approvalGr.state = approvalData.state;
    approvalGr.insert();
}
else gs.info('No approvers found, skipping approval record creation.');
});

View solution in original post

22 REPLIES 22

Thanks @Community Alums  code i pasted in above

Community Alums
Not applicable

Hi @Venky Kshatriy2 

 for (var i = 0; i < vk.length; i++) {
      var approver = vk[i].engagement_partner;
      gs.log('first approver'+approver);
      approvers.push({
          sysapproval: requestId,
          approver: approver,
          state: 'requested
 });
      gs.log('second approver'+approvers);
}
Remove following code:
var approvalGr = new GlideRecord('sysapproval_approver');
      approvalGr.initialize();
   

    for (var j = 0; j < approvers.length; j++) {
      gs.log('view thw rule')
      var vj = approvers[j];
      gs.log('mainvalues'+vj);
      var approval = approvalGr.createRecord();
      approval.sysapproval = vc;
      approval.approver = vj;
      approval.state = 'requested';
      approval.insert();
}
instead, add following:
if (approvers.length > 0) {
    var approvalGr = new GlideRecord('sysapproval_approver');
    approvers.forEach(function(approvalData) {
    approvalGr.initialize();
    approvalGr.sysapproval = approvalData.sysapproval;
    approvalGr.approver = approvalData.approver;
    approvalGr.state = approvalData.state;
    approvalGr.insert();
}
else gs.info('No approvers found, skipping approval record creation.');
});

Thanks@Community Alums   

its working fine