1 CREATE OR REPLACE FUNCTION copyItemSite(pItemsiteid INTEGER,
2 pDestWhsid INTEGER) RETURNS INTEGER AS $$
3 -- Copyright (c) 1999-2014 by OpenMFG LLC, d/b/a xTuple.
4 -- See www.xtuple.com/CPAL for the full text of the software license.
8 RETURN copyItemSite(pItemsiteid, pDestWhsid, NULL);
14 CREATE OR REPLACE FUNCTION copyItemSite(pItemsiteid INTEGER,
16 pDestItemid INTEGER) RETURNS INTEGER AS $$
17 -- Copyright (c) 1999-2014 by OpenMFG LLC, d/b/a xTuple.
18 -- See www.xtuple.com/CPAL for the full text of the software license.
20 _destwhs whsinfo%ROWTYPE;
21 _new itemsite%ROWTYPE;
22 _supplywarehousid INTEGER := NULL;
25 -- make a copy of the old itemsite
28 WHERE (itemsite_id=pItemsiteid);
33 -- if there is no dest warehouse then perhaps the user is manually copying it
34 IF (pDestWhsid IS NOT NULL) THEN
35 SELECT * INTO _destwhs
37 WHERE (warehous_id=pDestWhsid);
43 IF (NOT checkPrivilege('MaintainItemSites')) THEN
47 SELECT itemsite_id INTO _new.itemsite_id
49 WHERE ((itemsite_item_id=COALESCE(pDestItemid, _new.itemsite_item_id))
50 AND (itemsite_warehous_id=pDestWhsid OR
51 (itemsite_warehous_id IS NULL AND pDestWhsid IS NULL)));
53 RETURN _new.itemsite_id;
56 -- find supply itemsite
57 IF (_new.itemsite_supply_itemsite_id IS NOT NULL) THEN
58 SELECT itemsite_warehous_id INTO _supplywarehousid
60 WHERE (itemsite_id=_new.itemsite_supply_itemsite_id);
62 SELECT itemsite_id INTO _new.itemsite_supply_itemsite_id
64 WHERE (itemsite_warehous_id=_supplywarehousid)
65 AND (itemsite_item_id=pDestItemid);
69 -- now override the things we know have to change
70 _new.itemsite_id := NEXTVAL('itemsite_itemsite_id_seq');
71 _new.itemsite_warehous_id := pDestWhsid;
72 _new.itemsite_qtyonhand := 0;
73 _new.itemsite_value := 0;
74 _new.itemsite_datelastcount := NULL;
75 _new.itemsite_datelastused := NULL;
76 _new.itemsite_location_id := -1;
77 _new.itemsite_recvlocation_id := -1;
78 _new.itemsite_issuelocation_id := -1;
79 _new.itemsite_location_dist := FALSE;
80 _new.itemsite_recvlocation_dist := FALSE;
81 _new.itemsite_issuelocation_dist := FALSE;
83 IF (_destwhs.warehous_transit) THEN
84 _new.itemsite_reorderlevel := 0;
85 _new.itemsite_ordertoqty := 0;
86 _new.itemsite_soldranking := NULL;
87 _new.itemsite_posupply := FALSE;
88 _new.itemsite_wosupply := FALSE;
89 _new.itemsite_loccntrl := FALSE;
90 _new.itemsite_safetystock := 0;
91 _new.itemsite_minordqty := 0;
92 _new.itemsite_multordqty := 0;
93 _new.itemsite_leadtime := 0;
94 _new.itemsite_controlmethod := 'R';
95 IF(_new.itemsite_costmethod='N') THEN
96 _new.itemsite_costmethod := 'S';
98 _new.itemsite_active := TRUE;
99 -- ? _new.itemsite_plancode_id := -1;
100 -- ? _new.itemsite_costcat_id := -1;
101 _new.itemsite_eventfence := 1;
102 _new.itemsite_sold := FALSE;
103 _new.itemsite_stocked := FALSE;
104 _new.itemsite_location_id := -1;
105 _new.itemsite_useparams := FALSE;
106 _new.itemsite_useparamsmanual := FALSE;
107 _new.itemsite_createpr := FALSE;
108 _new.itemsite_location := NULL;
109 _new.itemsite_location_comments := NULL;
110 _new.itemsite_notes := 'Transit Warehouse';
111 _new.itemsite_createwo := FALSE;
112 _new.itemsite_costcat_id := _destwhs.warehous_costcat_id;
113 _new.itemsite_supply_itemsite_id := NULL;
116 INSERT INTO itemsite (
117 itemsite_id, itemsite_item_id,
118 itemsite_warehous_id, itemsite_qtyonhand,
119 itemsite_costmethod, itemsite_value,
120 itemsite_reorderlevel, itemsite_ordertoqty,
121 itemsite_cyclecountfreq, itemsite_datelastcount,
122 itemsite_datelastused,
123 itemsite_posupply, itemsite_wosupply,
125 itemsite_safetystock, itemsite_minordqty,
126 itemsite_multordqty, itemsite_leadtime,
127 itemsite_abcclass, itemsite_issuemethod,
128 itemsite_controlmethod, itemsite_active,
129 itemsite_plancode_id, itemsite_costcat_id,
130 itemsite_eventfence, itemsite_sold,
131 itemsite_stocked, itemsite_freeze,
132 itemsite_location_id,
133 itemsite_useparams, itemsite_useparamsmanual,
134 itemsite_soldranking, itemsite_createpr,
135 itemsite_location, itemsite_location_comments,
136 itemsite_notes, itemsite_perishable,
137 itemsite_autoabcclass,
138 itemsite_ordergroup, itemsite_disallowblankwip,
139 itemsite_maxordqty, itemsite_mps_timefence,
140 itemsite_createwo, itemsite_warrpurc,
142 itemsite_planning_type, itemsite_supply_itemsite_id,
143 itemsite_createsopr, itemsite_createsopo,
145 itemsite_recvlocation_id, itemsite_issuelocation_id,
146 itemsite_location_dist, itemsite_recvlocation_dist,
147 itemsite_issuelocation_dist
149 _new.itemsite_id, COALESCE(pDestItemid, _new.itemsite_item_id),
150 _new.itemsite_warehous_id, _new.itemsite_qtyonhand,
151 _new.itemsite_costmethod, _new.itemsite_value,
152 _new.itemsite_reorderlevel, _new.itemsite_ordertoqty,
153 _new.itemsite_cyclecountfreq, _new.itemsite_datelastcount,
154 _new.itemsite_datelastused,
155 _new.itemsite_posupply, _new.itemsite_wosupply,
156 _new.itemsite_loccntrl,
157 _new.itemsite_safetystock, _new.itemsite_minordqty,
158 _new.itemsite_multordqty, _new.itemsite_leadtime,
159 _new.itemsite_abcclass, _new.itemsite_issuemethod,
160 _new.itemsite_controlmethod, _new.itemsite_active,
161 _new.itemsite_plancode_id, _new.itemsite_costcat_id,
162 _new.itemsite_eventfence, _new.itemsite_sold,
163 _new.itemsite_stocked, _new.itemsite_freeze,
164 _new.itemsite_location_id,
165 _new.itemsite_useparams, _new.itemsite_useparamsmanual,
166 _new.itemsite_soldranking, _new.itemsite_createpr,
167 _new.itemsite_location, _new.itemsite_location_comments,
168 _new.itemsite_notes, _new.itemsite_perishable,
169 _new.itemsite_autoabcclass,
170 _new.itemsite_ordergroup, _new.itemsite_disallowblankwip,
171 _new.itemsite_maxordqty, _new.itemsite_mps_timefence,
172 _new.itemsite_createwo, _new.itemsite_warrpurc,
173 _new.itemsite_autoreg,
174 _new.itemsite_planning_type, _new.itemsite_supply_itemsite_id,
175 _new.itemsite_createsopr, _new.itemsite_createsopo,
176 _new.itemsite_dropship,
177 _new.itemsite_recvlocation_id, _new.itemsite_issuelocation_id,
178 _new.itemsite_location_dist, _new.itemsite_recvlocation_dist,
179 _new.itemsite_issuelocation_dist
182 RETURN _new.itemsite_id;