Flow is updating existing records without a .update()
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-16-2025 11:21 AM
Hey all,
I'm running a Flow Designer action that uses a Script step to insert records into a custom table (sn_customerservice_certificate_information). I'm using .initialize() followed by .insert(), and not calling .update() anywhere.
However, when the same correlation_id is used, instead of inserting a new record, it seems to update an existing one, even though I'm explicitly calling .insert().
Is this expected behavior? Could a unique index or something on correlation_id be causing GlideRecord to silently update instead of inserting?
(function execute(inputs, outputs) {
var payload = JSON.parse(inputs.inqPayload)
for (var v in payload.body.Item.certNumbers) {
var match = payload.body.Item.certNumbers[v].match_status;
if (payload.body.Item.certNumbers[v].isthisaseriesrequest.toString() == "Yes") {
var gr = new GlideRecord('sn_customerservice_certificate_information');
gr.initialize();
gr.parent = inputs.parentRec;
gr.correlation_id = payload.body.Item.certNumbers[v].recordNumber.toString();
if (match != 0) {
if (payload.body.Item.certNumbers[v].institution_details) {
var contact_name = payload.body.Item.certNumbers[v].institution_details.contact_name != null ? payload.body.Item.certNumbers[v].institution_details.contact_name : "";
var contact_phone = payload.body.Item.certNumbers[v].institution_details.contact_phone != null ? payload.body.Item.certNumbers[v].institution_details.contact_phone : "";
gr.u_transfer_pay_agent = contact_name + " " + contact_phone;
gr.u_institution = payload.body.Item.certNumbers[v].institution_details.name_of_institution ? payload.body.Item.certNumbers[v].institution_details.name_of_institution : "";
var address_line_1 = payload.body.Item.certNumbers[v].institution_details.address_line_1 ? payload.body.Item.certNumbers[v].institution_details.address_line_1.toString() : "";
var address_line_2 = payload.body.Item.certNumbers[v].institution_details.address_line_2 ? payload.body.Item.certNumbers[v].institution_details.address_line_2.toString() : "";
gr.u_address = address_line_1 + " " + address_line_2;
gr.u_city = payload.body.Item.certNumbers[v].institution_details.city != null ? payload.body.Item.certNumbers[v].institution_details.city.toString() : "";
gr.u_state_province = payload.body.Item.certNumbers[v].institution_details.state != null ? payload.body.Item.certNumbers[v].institution_details.state.toString() : "";
gr.u_zip_code = payload.body.Item.certNumbers[v].institution_details.zip != null ? payload.body.Item.certNumbers[v].institution_details.zip.toString() : "";
}
gr.u_record_update_flag = payload.body.Item.certNumbers[v].record_update_flag;
gr.u_processing_complete = payload.body.Item.certNumbers[v].processing_complete;
gr.u_preliminary_report = payload.body.Item.certNumbers[v].preliminary_report;
gr.u_disputed_item = payload.body.Item.certNumbers[v].disputed_item;
}
gr.u_transaction_number = payload.body.Item.certNumbers[v].transaction_number;
gr.u_denomination_shares = payload.body.Item.certNumbers[v].denomination;
gr.u_certifcate_prefix = payload.body.Item.certNumbers[v].certificate_prefix;
gr.u_issue_date = payload.body.Item.certNumbers[v].issuedates;
gr.u_certificate_serial_numbers = payload.body.Item.certNumbers[v].certFrom;
gr.u_inquiry_status = payload.body.Item.certNumbers[v].match_status;
gr.u_stop_type = payload.body.Item.certNumbers[v].stop_type;
gr.u_denomination_hit = payload.body.Item.certNumbers[v].denomination_hit != null ? payload.body.Item.certNumbers[v].denomination_hit : "";
gr.u_issue_date_hit = payload.body.Item.certNumbers[v].issue_date_hit != null ? payload.body.Item.certNumbers[v].issue_date_hit : "";
gr.u_certificate_hit = payload.body.Item.certNumbers[v].certificate_prefix_match != null ? payload.body.Item.certNumbers[v].certificate_prefix_match : "";
gr.u_cancelled_indicator = payload.body.Item.certNumbers[v].cancelled_indicated != null ? payload.body.Item.certNumbers[v].cancelled_indicated : "";
gr.u_counterfeit_indicated = payload.body.Item.certNumbers[v].counterfeit_indicated != null ? payload.body.Item.certNumbers[v].counterfeit_indicated : "";
gr.u_criminially_indicated = payload.body.Item.certNumbers[v].criminality_indicated != null ? payload.body.Item.certNumbers[v].criminality_indicated : "";
gr.work_notes = "Individual response from " + payload.body.Item.certNumbers[v].recordNumber.toString() + " series request.";
gr.u_original_record = orgRecord(payload.body.Item.certNumbers[v].recordNumber, "sn_customerservice_certificate_information");
gr.parent = orgRecord(payload.body.Item.rpt, "sn_customerservice_case");
gr.u_type = "response";
// gr.state = "3"; //closed complete
gr.insert();
} else {
var gr = new GlideRecord('sn_customerservice_certificate_information');
gr.initialize()
gs.info("Testing process inquiry" + match.toString());
if (match != 0) {
if (payload.body.Item.certNumbers[v].institution_details) {
var contact_name = payload.body.Item.certNumbers[v].institution_details.contact_name != null ? payload.body.Item.certNumbers[v].institution_details.contact_name : "";
var contact_phone = payload.body.Item.certNumbers[v].institution_details.contact_phone != null ? payload.body.Item.certNumbers[v].institution_details.contact_phone : ""
gr.u_transfer_pay_agent = contact_name + " " + contact_phone;
gr.u_institution = payload.body.Item.certNumbers[v].institution_details.name_of_institution ? payload.body.Item.certNumbers[v].institution_details.name_of_institution : "";
var address_line_1 = payload.body.Item.certNumbers[v].institution_details.address_line_1 ? payload.body.Item.certNumbers[v].institution_details.address_line_1.toString() : "";
var address_line_2 = payload.body.Item.certNumbers[v].institution_details.address_line_2 ? payload.body.Item.certNumbers[v].institution_details.address_line_2.toString() : "";
gr.u_address = address_line_1 + " " + address_line_2;
gr.u_city = payload.body.Item.certNumbers[v].institution_details.city != null ? payload.body.Item.certNumbers[v].institution_details.city.toString() : "";
gr.u_state_province = payload.body.Item.certNumbers[v].institution_details.state != null ? payload.body.Item.certNumbers[v].institution_details.state.toString() : "";
gr.u_zip_code = payload.body.Item.certNumbers[v].institution_details.zip != null ? payload.body.Item.certNumbers[v].institution_details.zip.toString() : "";
}
gr.u_record_update_flag = payload.body.Item.certNumbers[v].record_update_flag ? payload.body.Item.certNumbers[v].record_update_flag : "";
gr.u_processing_complete = payload.body.Item.certNumbers[v].processing_complete;
gr.u_preliminary_report = payload.body.Item.certNumbers[v].preliminary_report;
gr.u_disputed_item = payload.body.Item.certNumbers[v].disputed_item;
}
gr.u_transaction_number = payload.body.Item.certNumbers[v].transaction_number != null ? payload.body.Item.certNumbers[v].transaction_number : "";
gr.u_inquiry_status = match;
gr.u_denomination_shares = payload.body.Item.certNumbers[v].denomination != null ? payload.body.Item.certNumbers[v].denomination : "";
gr.u_certifcate_prefix = payload.body.Item.certNumbers[v].certificate_prefix != null ? payload.body.Item.certNumbers[v].certificate_prefix : "";
gr.u_issue_date = payload.body.Item.certNumbers[v].issuedates != null ? payload.body.Item.certNumbers[v].issuedates : "";
gr.u_certificate_serial_numbers = payload.body.Item.certNumbers[v].certFrom != null ? payload.body.Item.certNumbers[v].certFrom : "";
gr.u_stop_type = payload.body.Item.certNumbers[v].stop_type != null ? payload.body.Item.certNumbers[v].stop_type : "";
gr.u_denomination_hit = payload.body.Item.certNumbers[v].denomination_hit != null ? payload.body.Item.certNumbers[v].denomination_hit : "";
gr.u_issue_date_hit = payload.body.Item.certNumbers[v].issue_date_hit != null ? payload.body.Item.certNumbers[v].issue_date_hit : "";
gr.u_certificate_hit = payload.body.Item.certNumbers[v].certificate_prefix_match != null ? payload.body.Item.certNumbers[v].certificate_prefix_match : "";
gr.u_cancelled_indicator = payload.body.Item.certNumbers[v].cancelled_indicated != null ? payload.body.Item.certNumbers[v].cancelled_indicated : "";
gr.u_counterfeit_indicated = payload.body.Item.certNumbers[v].counterfeit_indicated != null ? payload.body.Item.certNumbers[v].counterfeit_indicated : "";
gr.u_criminially_indicated = payload.body.Item.certNumbers[v].criminality_indicated != null ? payload.body.Item.certNumbers[v].criminality_indicated : "";
gr.u_original_record = orgRecord(payload.body.Item.certNumbers[v].recordNumber, "sn_customerservice_certificate_information");
gr.parent = orgRecord(payload.body.Item.rpt, "sn_customerservice_case");
gr.u_type = "response";
gr.insert();
}
var inq = new GlideRecord("x_g_afss_inquiry_inquiries");
inq.addQuery("sys_id", inputs.parentRec);
inq.query();
if (inq.next()){
inq.u_cusip_changed = payload.body.Item.u_cusip_changed;
inq.update();
}
}
})(inputs, outputs);
function isMatchValue(match) {
var answer = null;
if (match == "N") {
answer = "0"
} else if (match == "Y") {
answer = "2"
} else if (match == "P") {
answer = "1"
}
return answer;
}
function orgRecord(recNo, tbl) {
answer = null;
gr = new GlideRecord(tbl);
gr.addEncodedQuery("number=" + recNo);
gr.query();
if (gr.next()) {
answer = gr.sys_id.toString();
}
return answer;
}​
Any insight or workaround would be appreciated, I need to keep every submission as a new row, not overwrite previous ones.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-19-2025 04:35 AM
Hi,
From the script, I observe that you set the parent based on input. Please check if there is any Business Rules that updates the parent record. The update part might be configured outside the script using Business Rule or any other Flow component, not the one highlighted in the script attached.
Thank you,
Palani
Palani