Applying the to_char functions to the dates in the predicate is unnecessary, and ought to be coded as ...
Code:
...
vs.load_date between :p_begindate and :p_enddate or
...
... if the dates contain no time portion. If they do, then use ...
Code:
...
(vs.load_date >= :p_begindate and
vs.load_date <  :p_enddate+1) or
...