Operation Details
Description: reads the currency exchange records for the specified date range
Sterotype: nsmulti
SQL
SELECT
  currencyExchangeID,
  currencyTypeCode,
  rate,
  rateFromDate,
  rateToDate,
  statusCode,
  versionNo
INTO
  :currencyExchangeID,
  :currencyTypeCode,
  :rate,
  :rateFromDate,
  :rateToDate,
  :statusCode,
  :versionNo 
FROM
  CurrencyExchange 
WHERE 
  (
    :statusCode = statusCode 
    OR :statusCode IS NULL 
  ) 
  AND 
  (
    
    (
      :rateToDate IS NULL 
      AND :rateFromDate IS NULL 
      AND CURRENT_DATE <= rateFromDate 
      AND CURRENT_DATE >= rateToDate 
    ) 
    OR 
    (
      :rateFromDate IS NULL 
      AND :rateToDateIsNull = '0' 
      AND :rateToDate = rateToDate 
    ) 
    OR 
    (
      :rateToDate IS NULL 
      AND :rateFromDateIsNull = '0' 
      AND :rateFromDate = rateFromDate 
    ) 
    OR 
    (
      :rateFromDateIsNull = '0' 
      AND :rateToDateIsNull = '0' 
      AND :rateFromDate <= rateFromDate 
      AND 
      (
        :rateToDate >= rateToDate 
        OR rateToDate IS NULL 
      ) 
    ) 
  )