Function to get the latest currency exchange rate

      /**
       * Function to get the latest currency exchange rate based on base currency (HKD) and transaction currency(USD)
       * @param baseCurrency
       * @param sourceCurrency
       * @return exchangeRate
       **/
      function getExchangeRate(baseCurrency, sourceCurrency) {
        try {
          let exchangeRate = 0;
 
 
          let currencyrateSearchObj = search.create({
            type: "currencyrate",
            filters:
              [
                ["basecurrency", "anyof", baseCurrency],
                "AND",
                ["transactioncurrency", "anyof", sourceCurrency]
              ],
            columns:
              [
                search.createColumn({
                  name: "exchangerate",
                  summary: "MAX",
                  label: "Exchange Rate",
                }).setWhenOrderedBy({ name: 'effectivedate', join: 'currencyrate' })
              ]
          });
          let searchResultCount = currencyrateSearchObj.runPaged().count;
          log.debug('searchResultCount', searchResultCount);
 
          if (searchResultCount == 0) {
            return false;
          } else {
            currencyrateSearchObj.run().each(function (result) {
              exchangeRate = result.getValue({
                name: "exchangerate",
                summary: "MAX",
                label: "Exchange Rate"
              });
            });
          }
          return exchangeRate;
        } catch (e) {
          log.error("Error @ getExchangeRate", e);
          return false;
        }
      }

Leave a comment

Your email address will not be published. Required fields are marked *