3 --UPDATE invfifo set invfifo_void = 0 WHERE invfifo_invdetail_id IN (SELECT invdetail_id FROM invdetailview where invfifo_void !=0 AND invhist_transtype = 'AD');
7 -- SELECT invfifo_invadj_void_flag(invdetail_id) FROM invdetailview where invhist_transtype = 'AD' and invfifo_void = 0;
10 CREATE OR REPLACE FUNCTION invfifo_invadj_void_flag(integer)
17 i_invdetail_id ALIAS FOR $1;
34 invdetail_id = i_invdetail_id;
38 RAISE EXCEPTION ' invfifo_invjadj_void_flag-- need to add invfifo gen code';
41 IF (r_invdetail.invhist_transtype != 'AD') THEN
42 RAISE EXCEPTION 'invfifo_invjadj_void_flag called on non-purchased item';
45 -- is it already voided..
47 IF r_invdetail.invfifo_void != 0 THEN
52 -- search for a previous matching adjustment that this would be the reverse of..
53 -- from now on, we can not do this for closed periods.
78 invdetail_location_id = r_invdetail.invdetail_location_id
80 invhist_itemsite_id = r_invdetail.invhist_itemsite_id
82 invhist_transtype = 'AD'
84 invdetail_qty = -1 * r_invdetail.invdetail_qty
88 invdetail_id < i_invdetail_id
90 invhist_transdate >= v_first_open
99 PERFORM invfifo_update_from_void(i_invdetail_id, v_reverse_of, true);
100 PERFORM invfifo_update_from_void(v_reverse_of,i_invdetail_id, true);
109 LANGUAGE plpgsql VOLATILE
112 ALTER FUNCTION invfifo_invadj_void_flag(integer )
117 -- code was used to sync data...
119 ---- this might not be needed...
129 -- invadj_transdate = r_invdetail.invhist_transdate::date
131 -- invadj_location_id = r_invdetail.invdetail_location_id
133 -- invadj_itemsite_id = r_invdetail.invhist_itemsite_id
135 -- invadj_qty_by = r_invdetail.invdetail_qty;
137 -- IF v_invadj_id != 0 THEN
138 -- RAISE EXCEPTION 'could not match adjustment for invdetail_id=%', i_invdetail_id;
144 -- WHEN invadj_voided_by_id !=0 THEN 1
145 -- WHEN invadj_voids_id !=0 THEN 1
157 -- invadj_transdate = r_invdetail.invhist_transdate::date
159 -- invadj_location_id = r_invdetail.invdetail_location_id
161 -- invadj_itemsite_id = r_invdetail.invhist_itemsite_id
163 -- invadj_qty_by = r_invdetail.invdetail_qty;
168 -- invadj_invdetail_id = i_invdetail_id
170 -- invadj_id =v_invadj_id;