2 CREATE OR REPLACE FUNCTION period_temp_open(i_target_dt DATE)
17 v_period_closed BOOLEAN;
18 v_period_freeze BOOLEAN;
23 period_start INTO v_period_start
27 period_start <= i_target_dt
29 period_end >= i_target_dt
34 period_closed, period_freeze
36 v_period_closed, v_period_freeze
40 period_start = v_period_start;
44 --RAISE NOTICE 'period state is % ', v_period_closed;
46 IF NOT v_period_closed AND NOT v_period_freeze THEN
51 period_start INTO v_period_end
57 period_start DESC LIMIT 1;
59 --RAISE NOTICE 'opening periods between % and %', v_period_start, v_period_end;
61 PERFORM thawAccountingPeriod(period_id) FROM
67 period_start >= v_period_start
69 period_start <= v_period_end
74 PERFORM openAccountingPeriod( period_id ) FROM
80 period_start >= v_period_start
82 period_start <= v_period_end
88 -- RAISE EXCEPTION 'open period returned %', v_tmp;
91 SELECT period_id INTO v_ret FROM period where period_start = v_period_end LIMIT 1;
95 LANGUAGE plpgsql VOLATILE
98 ALTER FUNCTION period_temp_open( DATE)