Updating Custom Field using Deluge Function Fails

Updating Custom Field using Deluge Function Fails

I am using Zoho CRM and I want to create an automated custom Deal Number for every new Deal record. Business Requirement Whenever a new Deal is created in the Deals module, Zoho CRM should automatically populate a custom field called Deal Number. The Deal Number should be generated based on: Current month Current year Running sequence number of Deals created/generated in the current month Required Format The Deal Number should look like this: AL-MMYYYY-XXX



void automation.generateDealNumber(string dealID) { info "===== DEAL NUMBER FUNCTION START ====="; fieldAPIName = "Deal_Number"; cleanDealID = dealID.replaceAll("[^0-9]", ""); if(cleanDealID == "") { info "ERROR: No valid Deal ID received."; return; } dealRecord = zoho.crm.getRecordById("Deals", cleanDealID.toLong()); existingNumber = ifnull(dealRecord.get(fieldAPIName), ""); if(existingNumber != "") { info "Deal Number already exists. Skipping update."; return; } currentDate = zoho.currentdate; monthText = currentDate.toString("MM"); yearText = currentDate.toString("yyyy"); prefix = "AL-" + monthText + yearText + "-"; criteria = "(" + fieldAPIName + ":starts_with:" + prefix + ")"; existingDeals = zoho.crm.searchRecords("Deals", criteria); if(existingDeals == null) { existingDeals = List(); } nextNumber = existingDeals.size() + 1; if(nextNumber < 10) { sequenceNumber = "00" + nextNumber.toString(); } else if(nextNumber < 100) { sequenceNumber = "0" + nextNumber.toString(); } else { sequenceNumber = nextNumber.toString(); } newDealNumber = prefix + sequenceNumber; mp = Map(); mp.put(fieldAPIName, newDealNumber); update = zoho.crm.updateRecord("Deals", cleanDealID.toLong(), mp); info "Generated Deal Number:"; info newDealNumber; info "Update Response:"; info update; updatedDeal = zoho.crm.getRecordById("Deals", cleanDealID.toLong()); info "Value after update:"; info updatedDeal.get(fieldAPIName); info "===== DEAL NUMBER FUNCTION END ====="; }

I created this function, Workflow is not updating the Deal Number Field!