Does this help?

Code:
...
   v_since_date DATE;
   CURSOR c_data IS
     Select op.id, op.name, op.text
       From oms_paragraphs op
     Where DATEUPDATED >= v_since_date
         and contains (op.NameTextIndex, pi_search_text, 1) > 0;
BEGIN
   CASE pi_search_period
      WHEN 0 THEN
         v_since_date := TRUNC(SYSDATE) - 1;
      WHEN 1 THEN
         v_since_date := TRUNC(SYSDATE) - 7;
      WHEN 2 THEN
         v_since_date := TRUNC(SYSDATE) - 30;
      WHEN 3 THEN
         v_since_date := TRUNC(SYSDATE) - 180;
      WHEN 4 THEN
         v_since_date := TRUNC(SYSDATE) - 365;
      ELSE
--      Raise exception
   END CASE;
   FOR v_row IN c_data
   LOOP
      ...
   END LOOP;
...