[Home] [Help]
PACKAGE BODY: APPS.INV_TROLIN_UTIL
Source
1 PACKAGE BODY inv_trolin_util AS
2 /* $Header: INVUTRLB.pls 120.4.12020000.2 2012/12/07 05:54:17 alxue ship $ */
3
4 -- Global constant holding the package name
5
6 g_pkg_name CONSTANT VARCHAR2(30) := 'INV_Trolin_Util';
7
8 -- Procedure Clear_Dependent_Attr
9
10 PROCEDURE clear_dependent_attr(
11 p_attr_id IN NUMBER := fnd_api.g_miss_num
12 , p_trolin_rec IN inv_move_order_pub.trolin_rec_type
13 , p_old_trolin_rec IN inv_move_order_pub.trolin_rec_type := inv_move_order_pub.g_miss_trolin_rec
14 , x_trolin_rec IN OUT NOCOPY inv_move_order_pub.trolin_rec_type
15 ) IS
16 l_index NUMBER := 0;
17 l_src_attr_tbl inv_globals.number_tbl_type;
18 l_dep_attr_tbl inv_globals.number_tbl_type;
19 BEGIN
20 -- Load out record
21
22 x_trolin_rec := p_trolin_rec;
23
24 -- If attr_id is missing compare old and new records and for
25 -- every changed attribute clear its dependent fields.
26
27 IF p_attr_id = fnd_api.g_miss_num THEN
28 IF NOT inv_globals.equal(p_trolin_rec.attribute1, p_old_trolin_rec.attribute1) THEN
29 l_index := l_index + 1;
30 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute1;
31 END IF;
32
33 IF NOT inv_globals.equal(p_trolin_rec.attribute10, p_old_trolin_rec.attribute10) THEN
34 l_index := l_index + 1;
35 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute10;
36 END IF;
37
38 IF NOT inv_globals.equal(p_trolin_rec.attribute11, p_old_trolin_rec.attribute11) THEN
39 l_index := l_index + 1;
40 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute11;
41 END IF;
42
43 IF NOT inv_globals.equal(p_trolin_rec.attribute12, p_old_trolin_rec.attribute12) THEN
44 l_index := l_index + 1;
45 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute12;
46 END IF;
47
48 IF NOT inv_globals.equal(p_trolin_rec.attribute13, p_old_trolin_rec.attribute13) THEN
49 l_index := l_index + 1;
50 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute13;
51 END IF;
52
53 IF NOT inv_globals.equal(p_trolin_rec.attribute14, p_old_trolin_rec.attribute14) THEN
54 l_index := l_index + 1;
55 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute14;
56 END IF;
57
58 IF NOT inv_globals.equal(p_trolin_rec.attribute15, p_old_trolin_rec.attribute15) THEN
59 l_index := l_index + 1;
60 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute15;
61 END IF;
62
63 IF NOT inv_globals.equal(p_trolin_rec.attribute2, p_old_trolin_rec.attribute2) THEN
64 l_index := l_index + 1;
65 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute2;
66 END IF;
67
68 IF NOT inv_globals.equal(p_trolin_rec.attribute3, p_old_trolin_rec.attribute3) THEN
69 l_index := l_index + 1;
70 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute3;
71 END IF;
72
73 IF NOT inv_globals.equal(p_trolin_rec.attribute4, p_old_trolin_rec.attribute4) THEN
74 l_index := l_index + 1;
75 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute4;
76 END IF;
77
78 IF NOT inv_globals.equal(p_trolin_rec.attribute5, p_old_trolin_rec.attribute5) THEN
79 l_index := l_index + 1;
80 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute5;
81 END IF;
82
83 IF NOT inv_globals.equal(p_trolin_rec.attribute6, p_old_trolin_rec.attribute6) THEN
84 l_index := l_index + 1;
85 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute6;
86 END IF;
87
88 IF NOT inv_globals.equal(p_trolin_rec.attribute7, p_old_trolin_rec.attribute7) THEN
89 l_index := l_index + 1;
90 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute7;
91 END IF;
92
93 IF NOT inv_globals.equal(p_trolin_rec.attribute8, p_old_trolin_rec.attribute8) THEN
94 l_index := l_index + 1;
95 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute8;
96 END IF;
97
98 IF NOT inv_globals.equal(p_trolin_rec.attribute9, p_old_trolin_rec.attribute9) THEN
99 l_index := l_index + 1;
100 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute9;
101 END IF;
102
103 IF NOT inv_globals.equal(p_trolin_rec.attribute_category, p_old_trolin_rec.attribute_category) THEN
104 l_index := l_index + 1;
105 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute_category;
106 END IF;
107
108 IF NOT inv_globals.equal(p_trolin_rec.created_by, p_old_trolin_rec.created_by) THEN
109 l_index := l_index + 1;
110 l_src_attr_tbl(l_index) := inv_trolin_util.g_created_by;
111 END IF;
112
113 IF NOT inv_globals.equal(p_trolin_rec.creation_date, p_old_trolin_rec.creation_date) THEN
114 l_index := l_index + 1;
115 l_src_attr_tbl(l_index) := inv_trolin_util.g_creation_date;
116 END IF;
117
118 IF NOT inv_globals.equal(p_trolin_rec.date_required, p_old_trolin_rec.date_required) THEN
119 l_index := l_index + 1;
120 l_src_attr_tbl(l_index) := inv_trolin_util.g_date_required;
121 END IF;
122
123 IF NOT inv_globals.equal(p_trolin_rec.from_locator_id, p_old_trolin_rec.from_locator_id) THEN
124 l_index := l_index + 1;
125 l_src_attr_tbl(l_index) := inv_trolin_util.g_from_locator;
126 END IF;
127
128 IF NOT inv_globals.equal(p_trolin_rec.from_subinventory_code, p_old_trolin_rec.from_subinventory_code) THEN
129 l_index := l_index + 1;
130 l_src_attr_tbl(l_index) := inv_trolin_util.g_from_subinventory;
131 END IF;
132
133 IF NOT inv_globals.equal(p_trolin_rec.from_subinventory_id, p_old_trolin_rec.from_subinventory_id) THEN
134 l_index := l_index + 1;
135 l_src_attr_tbl(l_index) := inv_trolin_util.g_from_subinventory;
136 END IF;
137
138 IF NOT inv_globals.equal(p_trolin_rec.header_id, p_old_trolin_rec.header_id) THEN
139 l_index := l_index + 1;
140 l_src_attr_tbl(l_index) := inv_trolin_util.g_header;
141 END IF;
142
143 IF NOT inv_globals.equal(p_trolin_rec.inventory_item_id, p_old_trolin_rec.inventory_item_id) THEN
144 l_index := l_index + 1;
145 l_src_attr_tbl(l_index) := inv_trolin_util.g_inventory_item;
146 END IF;
147
148 IF NOT inv_globals.equal(p_trolin_rec.last_updated_by, p_old_trolin_rec.last_updated_by) THEN
149 l_index := l_index + 1;
150 l_src_attr_tbl(l_index) := inv_trolin_util.g_last_updated_by;
151 END IF;
152
153 IF NOT inv_globals.equal(p_trolin_rec.last_update_date, p_old_trolin_rec.last_update_date) THEN
154 l_index := l_index + 1;
155 l_src_attr_tbl(l_index) := inv_trolin_util.g_last_update_date;
156 END IF;
157
158 IF NOT inv_globals.equal(p_trolin_rec.last_update_login, p_old_trolin_rec.last_update_login) THEN
159 l_index := l_index + 1;
160 l_src_attr_tbl(l_index) := inv_trolin_util.g_last_update_login;
161 END IF;
162
163 IF NOT inv_globals.equal(p_trolin_rec.line_id, p_old_trolin_rec.line_id) THEN
164 l_index := l_index + 1;
165 l_src_attr_tbl(l_index) := inv_trolin_util.g_line;
166 END IF;
167
168 IF NOT inv_globals.equal(p_trolin_rec.line_number, p_old_trolin_rec.line_number) THEN
169 l_index := l_index + 1;
170 l_src_attr_tbl(l_index) := inv_trolin_util.g_line_number;
171 END IF;
172
173 IF NOT inv_globals.equal(p_trolin_rec.line_status, p_old_trolin_rec.line_status) THEN
174 l_index := l_index + 1;
175 l_src_attr_tbl(l_index) := inv_trolin_util.g_line_status;
176 END IF;
177
178 IF NOT inv_globals.equal(p_trolin_rec.lot_number, p_old_trolin_rec.lot_number) THEN
179 l_index := l_index + 1;
180 l_src_attr_tbl(l_index) := inv_trolin_util.g_lot_number;
181 END IF;
182
183 IF NOT inv_globals.equal(p_trolin_rec.organization_id, p_old_trolin_rec.organization_id) THEN
184 l_index := l_index + 1;
185 l_src_attr_tbl(l_index) := inv_trolin_util.g_organization;
186 END IF;
187
188 IF NOT inv_globals.equal(p_trolin_rec.program_application_id, p_old_trolin_rec.program_application_id) THEN
189 l_index := l_index + 1;
190 l_src_attr_tbl(l_index) := inv_trolin_util.g_program_application;
191 END IF;
192
193 IF NOT inv_globals.equal(p_trolin_rec.program_id, p_old_trolin_rec.program_id) THEN
194 l_index := l_index + 1;
195 l_src_attr_tbl(l_index) := inv_trolin_util.g_program;
196 END IF;
197
198 IF NOT inv_globals.equal(p_trolin_rec.program_update_date, p_old_trolin_rec.program_update_date) THEN
199 l_index := l_index + 1;
200 l_src_attr_tbl(l_index) := inv_trolin_util.g_program_update_date;
201 END IF;
202
203 IF NOT inv_globals.equal(p_trolin_rec.project_id, p_old_trolin_rec.project_id) THEN
204 l_index := l_index + 1;
205 l_src_attr_tbl(l_index) := inv_trolin_util.g_project;
206 END IF;
207
208 IF NOT inv_globals.equal(p_trolin_rec.quantity, p_old_trolin_rec.quantity) THEN
209 l_index := l_index + 1;
210 l_src_attr_tbl(l_index) := inv_trolin_util.g_quantity;
211 END IF;
212
213 IF NOT inv_globals.equal(p_trolin_rec.quantity_delivered, p_old_trolin_rec.quantity_delivered) THEN
214 l_index := l_index + 1;
215 l_src_attr_tbl(l_index) := inv_trolin_util.g_quantity_delivered;
216 END IF;
217
218 IF NOT inv_globals.equal(p_trolin_rec.quantity_detailed, p_old_trolin_rec.quantity_detailed) THEN
219 l_index := l_index + 1;
220 l_src_attr_tbl(l_index) := inv_trolin_util.g_quantity_detailed;
221 END IF;
222
223 IF NOT inv_globals.equal(p_trolin_rec.reason_id, p_old_trolin_rec.reason_id) THEN
224 l_index := l_index + 1;
225 l_src_attr_tbl(l_index) := inv_trolin_util.g_reason;
226 END IF;
227
228 IF NOT inv_globals.equal(p_trolin_rec.REFERENCE, p_old_trolin_rec.REFERENCE) THEN
229 l_index := l_index + 1;
230 l_src_attr_tbl(l_index) := inv_trolin_util.g_reference;
231 END IF;
232
233 IF NOT inv_globals.equal(p_trolin_rec.reference_id, p_old_trolin_rec.reference_id) THEN
234 l_index := l_index + 1;
235 l_src_attr_tbl(l_index) := inv_trolin_util.g_reference;
236 END IF;
237
238 IF NOT inv_globals.equal(p_trolin_rec.reference_type_code, p_old_trolin_rec.reference_type_code) THEN
239 l_index := l_index + 1;
240 l_src_attr_tbl(l_index) := inv_trolin_util.g_reference_type;
241 END IF;
242
243 IF NOT inv_globals.equal(p_trolin_rec.request_id, p_old_trolin_rec.request_id) THEN
244 l_index := l_index + 1;
245 l_src_attr_tbl(l_index) := inv_trolin_util.g_request;
246 END IF;
247
248 IF NOT inv_globals.equal(p_trolin_rec.revision, p_old_trolin_rec.revision) THEN
249 l_index := l_index + 1;
250 l_src_attr_tbl(l_index) := inv_trolin_util.g_revision;
251 END IF;
252
253 IF NOT inv_globals.equal(p_trolin_rec.serial_number_end, p_old_trolin_rec.serial_number_end) THEN
254 l_index := l_index + 1;
255 l_src_attr_tbl(l_index) := inv_trolin_util.g_serial_number_end;
256 END IF;
257
258 IF NOT inv_globals.equal(p_trolin_rec.serial_number_start, p_old_trolin_rec.serial_number_start) THEN
259 l_index := l_index + 1;
260 l_src_attr_tbl(l_index) := inv_trolin_util.g_serial_number_start;
261 END IF;
262
263 IF NOT inv_globals.equal(p_trolin_rec.status_date, p_old_trolin_rec.status_date) THEN
264 l_index := l_index + 1;
265 l_src_attr_tbl(l_index) := inv_trolin_util.g_status_date;
266 END IF;
267
268 IF NOT inv_globals.equal(p_trolin_rec.task_id, p_old_trolin_rec.task_id) THEN
269 l_index := l_index + 1;
270 l_src_attr_tbl(l_index) := inv_trolin_util.g_task;
271 END IF;
272
273 IF NOT inv_globals.equal(p_trolin_rec.to_account_id, p_old_trolin_rec.to_account_id) THEN
274 l_index := l_index + 1;
275 l_src_attr_tbl(l_index) := inv_trolin_util.g_to_account;
276 END IF;
277
278 IF NOT inv_globals.equal(p_trolin_rec.to_locator_id, p_old_trolin_rec.to_locator_id) THEN
279 l_index := l_index + 1;
280 l_src_attr_tbl(l_index) := inv_trolin_util.g_to_locator;
281 END IF;
282
283 IF NOT inv_globals.equal(p_trolin_rec.to_subinventory_code, p_old_trolin_rec.to_subinventory_code) THEN
284 l_index := l_index + 1;
285 l_src_attr_tbl(l_index) := inv_trolin_util.g_to_subinventory;
286 END IF;
287
288 IF NOT inv_globals.equal(p_trolin_rec.to_subinventory_id, p_old_trolin_rec.to_subinventory_id) THEN
289 l_index := l_index + 1;
290 l_src_attr_tbl(l_index) := inv_trolin_util.g_to_subinventory;
291 END IF;
292
293 IF NOT inv_globals.equal(p_trolin_rec.transaction_header_id, p_old_trolin_rec.transaction_header_id) THEN
294 l_index := l_index + 1;
295 l_src_attr_tbl(l_index) := inv_trolin_util.g_transaction_header;
296 END IF;
297
298 IF NOT inv_globals.equal(p_trolin_rec.uom_code, p_old_trolin_rec.uom_code) THEN
299 l_index := l_index + 1;
300 l_src_attr_tbl(l_index) := inv_trolin_util.g_uom;
301 END IF;
302
303 IF NOT inv_globals.equal(p_trolin_rec.transaction_type_id, p_old_trolin_rec.transaction_type_id) THEN
304 l_index := l_index + 1;
305 l_src_attr_tbl(l_index) := inv_trolin_util.g_transaction_type_id;
306 END IF;
307
308 IF NOT inv_globals.equal(p_trolin_rec.to_organization_id, p_old_trolin_rec.to_organization_id) THEN
309 l_index := l_index + 1;
310 l_src_attr_tbl(l_index) := inv_trolin_util.g_to_organization_id;
311 END IF;
312
313 IF NOT inv_globals.equal(p_trolin_rec.primary_quantity, p_old_trolin_rec.primary_quantity) THEN
314 l_index := l_index + 1;
315 l_src_attr_tbl(l_index) := inv_trolin_util.g_primary_quantity;
316 END IF;
317
318 IF NOT inv_globals.equal(p_trolin_rec.txn_source_id, p_old_trolin_rec.txn_source_id) THEN
319 l_index := l_index + 1;
320 l_src_attr_tbl(l_index) := inv_trolin_util.g_txn_source_id;
321 END IF;
322
323 IF NOT inv_globals.equal(p_trolin_rec.txn_source_line_id, p_old_trolin_rec.txn_source_line_id) THEN
324 l_index := l_index + 1;
325 l_src_attr_tbl(l_index) := inv_trolin_util.g_txn_source_line_id;
326 END IF;
327
328 IF NOT inv_globals.equal(p_trolin_rec.txn_source_line_detail_id, p_old_trolin_rec.txn_source_line_detail_id) THEN
329 l_index := l_index + 1;
330 l_src_attr_tbl(l_index) := inv_trolin_util.g_txn_source_line_detail_id;
331 END IF;
332
333 IF NOT inv_globals.equal(p_trolin_rec.transaction_source_type_id, p_old_trolin_rec.transaction_source_type_id) THEN
334 l_index := l_index + 1;
335 l_src_attr_tbl(l_index) := inv_trolin_util.g_transaction_source_type_id;
336 END IF;
337
338 IF NOT inv_globals.equal(p_trolin_rec.put_away_strategy_id, p_old_trolin_rec.put_away_strategy_id) THEN
339 l_index := l_index + 1;
340 l_src_attr_tbl(l_index) := inv_trolin_util.g_put_away_strategy_id;
341 END IF;
342
343 IF NOT inv_globals.equal(p_trolin_rec.pick_strategy_id, p_old_trolin_rec.pick_strategy_id) THEN
344 l_index := l_index + 1;
345 l_src_attr_tbl(l_index) := inv_trolin_util.g_pick_strategy_id;
346 END IF;
347
348 IF NOT inv_globals.equal(p_trolin_rec.unit_number, p_old_trolin_rec.unit_number) THEN
349 l_index := l_index + 1;
350 l_src_attr_tbl(l_index) := inv_trolin_util.g_unit_number;
351 END IF;
352
353 IF NOT inv_globals.equal(p_trolin_rec.ship_to_location_id, p_old_trolin_rec.ship_to_location_id) THEN
354 l_index := l_index + 1;
355 l_src_attr_tbl(l_index) := inv_trolin_util.g_ship_to_location_id;
356 END IF;
357
358 IF NOT inv_globals.equal(p_trolin_rec.from_cost_group_id, p_old_trolin_rec.from_cost_group_id) THEN
359 l_index := l_index + 1;
360 l_src_attr_tbl(l_index) := inv_trolin_util.g_from_cost_group_id;
361 END IF;
362
363 IF NOT inv_globals.equal(p_trolin_rec.to_cost_group_id, p_old_trolin_rec.to_cost_group_id) THEN
364 l_index := l_index + 1;
365 l_src_attr_tbl(l_index) := inv_trolin_util.g_to_cost_group_id;
366 END IF;
367
368 IF NOT inv_globals.equal(p_trolin_rec.lpn_id, p_old_trolin_rec.lpn_id) THEN
369 l_index := l_index + 1;
370 l_src_attr_tbl(l_index) := inv_trolin_util.g_lpn_id;
371 END IF;
372
373 IF NOT inv_globals.equal(p_trolin_rec.to_lpn_id, p_old_trolin_rec.to_lpn_id) THEN
374 l_index := l_index + 1;
375 l_src_attr_tbl(l_index) := inv_trolin_util.g_to_lpn_id;
376 END IF;
377
378 IF NOT inv_globals.equal(p_trolin_rec.pick_methodology_id, p_old_trolin_rec.pick_methodology_id) THEN
379 l_index := l_index + 1;
380 l_src_attr_tbl(l_index) := inv_trolin_util.g_pick_methodology_id;
381 END IF;
382
383 IF NOT inv_globals.equal(p_trolin_rec.container_item_id, p_old_trolin_rec.container_item_id) THEN
384 l_index := l_index + 1;
385 l_src_attr_tbl(l_index) := inv_trolin_util.g_container_item_id;
386 END IF;
387
388 IF NOT inv_globals.equal(p_trolin_rec.carton_grouping_id, p_old_trolin_rec.carton_grouping_id) THEN
389 l_index := l_index + 1;
390 l_src_attr_tbl(l_index) := inv_trolin_util.g_carton_grouping_id;
391 END IF;
392
393 IF NOT inv_globals.equal(p_trolin_rec.pick_slip_number, p_old_trolin_rec.pick_slip_number) THEN
394 l_index := l_index + 1;
395 l_src_attr_tbl(l_index) := inv_trolin_util.g_pick_slip_number;
396 END IF;
397
398 IF NOT inv_globals.equal(p_trolin_rec.pick_slip_date, p_old_trolin_rec.pick_slip_date) THEN
399 l_index := l_index + 1;
400 l_src_attr_tbl(l_index) := inv_trolin_util.g_pick_slip_date;
401 END IF;
402
403 IF NOT inv_globals.equal(p_trolin_rec.ship_set_id, p_old_trolin_rec.ship_set_id) THEN
404 l_index := l_index + 1;
405 l_src_attr_tbl(l_index) := inv_trolin_util.g_ship_set_id;
406 END IF;
407
408 IF NOT inv_globals.equal(p_trolin_rec.ship_model_id, p_old_trolin_rec.ship_model_id) THEN
409 l_index := l_index + 1;
410 l_src_attr_tbl(l_index) := inv_trolin_util.g_ship_model_id;
411 END IF;
412
413 IF NOT inv_globals.equal(p_trolin_rec.model_quantity, p_old_trolin_rec.model_quantity) THEN
414 l_index := l_index + 1;
415 l_src_attr_tbl(l_index) := inv_trolin_util.g_model_quantity;
416 END IF;
417
418 IF NOT inv_globals.equal(p_trolin_rec.required_quantity, p_old_trolin_rec.required_quantity) THEN
419 l_index := l_index + 1;
420 l_src_attr_tbl(l_index) := inv_trolin_util.g_required_quantity;
421 END IF;
422 --INVCONV BEGIN
423 IF NOT inv_globals.equal(p_trolin_rec.secondary_quantity, p_old_trolin_rec.secondary_quantity) THEN
424 l_index := l_index + 1;
425 l_src_attr_tbl(l_index) := inv_trolin_util.g_secondary_quantity;
426 END IF;
427
428 IF NOT inv_globals.equal(p_trolin_rec.secondary_quantity_delivered, p_old_trolin_rec.secondary_quantity_delivered) THEN
429 l_index := l_index + 1;
430 l_src_attr_tbl(l_index) := inv_trolin_util.g_secondary_quantity_delivered;
431 END IF;
432
433 IF NOT inv_globals.equal(p_trolin_rec.secondary_quantity_detailed, p_old_trolin_rec.secondary_quantity_detailed) THEN
434 l_index := l_index + 1;
435 l_src_attr_tbl(l_index) := inv_trolin_util.g_secondary_quantity_detailed;
436 END IF;
437
438 IF NOT inv_globals.equal(p_trolin_rec.secondary_uom, p_old_trolin_rec.secondary_uom) THEN
439 l_index := l_index + 1;
440 l_src_attr_tbl(l_index) := inv_trolin_util.g_secondary_uom;
441 END IF;
442
443 IF NOT inv_globals.equal(p_trolin_rec.grade_code, p_old_trolin_rec.grade_code) THEN
444 l_index := l_index + 1;
445 l_src_attr_tbl(l_index) := inv_trolin_util.g_grade_code;
446 END IF;
447
448 IF NOT inv_globals.equal(p_trolin_rec.secondary_required_quantity, p_old_trolin_rec.secondary_required_quantity) THEN
449 l_index := l_index + 1;
450 l_src_attr_tbl(l_index) := inv_trolin_util.g_secondary_required_quantity;
451 END IF;
452 --INVCONV END;
453 ELSIF p_attr_id = g_attribute1 THEN
454 l_index := l_index + 1;
455 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute1;
456 ELSIF p_attr_id = g_attribute10 THEN
457 l_index := l_index + 1;
458 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute10;
459 ELSIF p_attr_id = g_attribute11 THEN
460 l_index := l_index + 1;
461 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute11;
462 ELSIF p_attr_id = g_attribute12 THEN
463 l_index := l_index + 1;
464 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute12;
465 ELSIF p_attr_id = g_attribute13 THEN
466 l_index := l_index + 1;
467 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute13;
468 ELSIF p_attr_id = g_attribute14 THEN
469 l_index := l_index + 1;
470 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute14;
471 ELSIF p_attr_id = g_attribute15 THEN
472 l_index := l_index + 1;
473 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute15;
474 ELSIF p_attr_id = g_attribute2 THEN
475 l_index := l_index + 1;
476 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute2;
477 ELSIF p_attr_id = g_attribute3 THEN
478 l_index := l_index + 1;
479 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute3;
480 ELSIF p_attr_id = g_attribute4 THEN
481 l_index := l_index + 1;
482 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute4;
483 ELSIF p_attr_id = g_attribute5 THEN
484 l_index := l_index + 1;
485 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute5;
486 ELSIF p_attr_id = g_attribute6 THEN
487 l_index := l_index + 1;
488 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute6;
489 ELSIF p_attr_id = g_attribute7 THEN
490 l_index := l_index + 1;
491 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute7;
492 ELSIF p_attr_id = g_attribute8 THEN
493 l_index := l_index + 1;
494 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute8;
495 ELSIF p_attr_id = g_attribute9 THEN
496 l_index := l_index + 1;
497 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute9;
498 ELSIF p_attr_id = g_attribute_category THEN
499 l_index := l_index + 1;
500 l_src_attr_tbl(l_index) := inv_trolin_util.g_attribute_category;
501 ELSIF p_attr_id = g_created_by THEN
502 l_index := l_index + 1;
503 l_src_attr_tbl(l_index) := inv_trolin_util.g_created_by;
504 ELSIF p_attr_id = g_creation_date THEN
505 l_index := l_index + 1;
506 l_src_attr_tbl(l_index) := inv_trolin_util.g_creation_date;
507 ELSIF p_attr_id = g_date_required THEN
508 l_index := l_index + 1;
509 l_src_attr_tbl(l_index) := inv_trolin_util.g_date_required;
510 ELSIF p_attr_id = g_from_locator THEN
511 l_index := l_index + 1;
512 l_src_attr_tbl(l_index) := inv_trolin_util.g_from_locator;
513 ELSIF p_attr_id = g_from_subinventory THEN
514 l_index := l_index + 1;
515 l_src_attr_tbl(l_index) := inv_trolin_util.g_from_subinventory;
516 ELSIF p_attr_id = g_from_subinventory THEN
517 l_index := l_index + 1;
518 l_src_attr_tbl(l_index) := inv_trolin_util.g_from_subinventory;
519 ELSIF p_attr_id = g_header THEN
520 l_index := l_index + 1;
521 l_src_attr_tbl(l_index) := inv_trolin_util.g_header;
522 ELSIF p_attr_id = g_inventory_item THEN
523 l_index := l_index + 1;
524 l_src_attr_tbl(l_index) := inv_trolin_util.g_inventory_item;
525 ELSIF p_attr_id = g_last_updated_by THEN
526 l_index := l_index + 1;
527 l_src_attr_tbl(l_index) := inv_trolin_util.g_last_updated_by;
528 ELSIF p_attr_id = g_last_update_date THEN
529 l_index := l_index + 1;
530 l_src_attr_tbl(l_index) := inv_trolin_util.g_last_update_date;
531 ELSIF p_attr_id = g_last_update_login THEN
532 l_index := l_index + 1;
533 l_src_attr_tbl(l_index) := inv_trolin_util.g_last_update_login;
534 ELSIF p_attr_id = g_line THEN
535 l_index := l_index + 1;
536 l_src_attr_tbl(l_index) := inv_trolin_util.g_line;
537 ELSIF p_attr_id = g_line_number THEN
538 l_index := l_index + 1;
539 l_src_attr_tbl(l_index) := inv_trolin_util.g_line_number;
540 ELSIF p_attr_id = g_line_status THEN
541 l_index := l_index + 1;
542 l_src_attr_tbl(l_index) := inv_trolin_util.g_line_status;
543 ELSIF p_attr_id = g_lot_number THEN
544 l_index := l_index + 1;
545 l_src_attr_tbl(l_index) := inv_trolin_util.g_lot_number;
546 ELSIF p_attr_id = g_organization THEN
547 l_index := l_index + 1;
548 l_src_attr_tbl(l_index) := inv_trolin_util.g_organization;
549 ELSIF p_attr_id = g_program_application THEN
550 l_index := l_index + 1;
551 l_src_attr_tbl(l_index) := inv_trolin_util.g_program_application;
552 ELSIF p_attr_id = g_program THEN
553 l_index := l_index + 1;
554 l_src_attr_tbl(l_index) := inv_trolin_util.g_program;
555 ELSIF p_attr_id = g_program_update_date THEN
556 l_index := l_index + 1;
557 l_src_attr_tbl(l_index) := inv_trolin_util.g_program_update_date;
558 ELSIF p_attr_id = g_project THEN
559 l_index := l_index + 1;
560 l_src_attr_tbl(l_index) := inv_trolin_util.g_project;
561 ELSIF p_attr_id = g_quantity THEN
562 l_index := l_index + 1;
563 l_src_attr_tbl(l_index) := inv_trolin_util.g_quantity;
564 ELSIF p_attr_id = g_quantity_delivered THEN
565 l_index := l_index + 1;
566 l_src_attr_tbl(l_index) := inv_trolin_util.g_quantity_delivered;
567 ELSIF p_attr_id = g_quantity_detailed THEN
568 l_index := l_index + 1;
569 l_src_attr_tbl(l_index) := inv_trolin_util.g_quantity_detailed;
570 ELSIF p_attr_id = g_reason THEN
571 l_index := l_index + 1;
572 l_src_attr_tbl(l_index) := inv_trolin_util.g_reason;
573 ELSIF p_attr_id = g_reference THEN
574 l_index := l_index + 1;
575 l_src_attr_tbl(l_index) := inv_trolin_util.g_reference;
576 ELSIF p_attr_id = g_reference THEN
577 l_index := l_index + 1;
578 l_src_attr_tbl(l_index) := inv_trolin_util.g_reference;
579 ELSIF p_attr_id = g_reference_type THEN
580 l_index := l_index + 1;
581 l_src_attr_tbl(l_index) := inv_trolin_util.g_reference_type;
582 ELSIF p_attr_id = g_request THEN
583 l_index := l_index + 1;
584 l_src_attr_tbl(l_index) := inv_trolin_util.g_request;
585 ELSIF p_attr_id = g_revision THEN
586 l_index := l_index + 1;
587 l_src_attr_tbl(l_index) := inv_trolin_util.g_revision;
588 ELSIF p_attr_id = g_serial_number_end THEN
589 l_index := l_index + 1;
590 l_src_attr_tbl(l_index) := inv_trolin_util.g_serial_number_end;
591 ELSIF p_attr_id = g_serial_number_start THEN
592 l_index := l_index + 1;
593 l_src_attr_tbl(l_index) := inv_trolin_util.g_serial_number_start;
594 ELSIF p_attr_id = g_status_date THEN
595 l_index := l_index + 1;
596 l_src_attr_tbl(l_index) := inv_trolin_util.g_status_date;
597 ELSIF p_attr_id = g_task THEN
598 l_index := l_index + 1;
599 l_src_attr_tbl(l_index) := inv_trolin_util.g_task;
600 ELSIF p_attr_id = g_to_account THEN
601 l_index := l_index + 1;
602 l_src_attr_tbl(l_index) := inv_trolin_util.g_to_account;
603 ELSIF p_attr_id = g_to_locator THEN
604 l_index := l_index + 1;
605 l_src_attr_tbl(l_index) := inv_trolin_util.g_to_locator;
606 ELSIF p_attr_id = g_to_subinventory THEN
607 l_index := l_index + 1;
608 l_src_attr_tbl(l_index) := inv_trolin_util.g_to_subinventory;
609 ELSIF p_attr_id = g_to_subinventory THEN
610 l_index := l_index + 1;
611 l_src_attr_tbl(l_index) := inv_trolin_util.g_to_subinventory;
612 ELSIF p_attr_id = g_transaction_header THEN
613 l_index := l_index + 1;
614 l_src_attr_tbl(l_index) := inv_trolin_util.g_transaction_header;
615 ELSIF p_attr_id = g_uom THEN
616 l_index := l_index + 1;
617 l_src_attr_tbl(l_index) := inv_trolin_util.g_uom;
618 ELSIF p_attr_id = g_txn_source_id THEN
619 l_index := l_index + 1;
620 l_src_attr_tbl(l_index) := inv_trolin_util.g_txn_source_id;
621 ELSIF p_attr_id = g_txn_source_line_id THEN
622 l_index := l_index + 1;
623 l_src_attr_tbl(l_index) := inv_trolin_util.g_txn_source_line_id;
624 ELSIF p_attr_id = g_txn_source_line_detail_id THEN
625 l_index := l_index + 1;
626 l_src_attr_tbl(l_index) := inv_trolin_util.g_txn_source_line_detail_id;
627 ELSIF p_attr_id = g_transaction_type_id THEN
628 l_index := l_index + 1;
629 l_src_attr_tbl(l_index) := inv_trolin_util.g_transaction_type_id;
630 ELSIF p_attr_id = g_transaction_source_type_id THEN
631 l_index := l_index + 1;
632 l_src_attr_tbl(l_index) := inv_trolin_util.g_transaction_source_type_id;
633 ELSIF p_attr_id = g_primary_quantity THEN
634 l_index := l_index + 1;
635 l_src_attr_tbl(l_index) := inv_trolin_util.g_primary_quantity;
636 ELSIF p_attr_id = g_to_organization_id THEN
637 l_index := l_index + 1;
638 l_src_attr_tbl(l_index) := inv_trolin_util.g_to_organization_id;
639 ELSIF p_attr_id = g_put_away_strategy_id THEN
640 l_index := l_index + 1;
641 l_src_attr_tbl(l_index) := inv_trolin_util.g_put_away_strategy_id;
642 ELSIF p_attr_id = g_pick_strategy_id THEN
643 l_index := l_index + 1;
644 l_src_attr_tbl(l_index) := inv_trolin_util.g_pick_strategy_id;
645 ELSIF p_attr_id = g_unit_number THEN
646 l_index := l_index + 1;
647 l_src_attr_tbl(l_index) := inv_trolin_util.g_unit_number;
648 ELSIF p_attr_id = g_ship_to_location_id THEN
649 l_index := l_index + 1;
650 l_src_attr_tbl(l_index) := inv_trolin_util.g_ship_to_location_id;
651 ELSIF p_attr_id = g_from_cost_group_id THEN
652 l_index := l_index + 1;
653 l_src_attr_tbl(l_index) := inv_trolin_util.g_from_cost_group_id;
654 ELSIF p_attr_id = g_to_cost_group_id THEN
655 l_index := l_index + 1;
656 l_src_attr_tbl(l_index) := inv_trolin_util.g_to_cost_group_id;
657 ELSIF p_attr_id = g_lpn_id THEN
658 l_index := l_index + 1;
659 l_src_attr_tbl(l_index) := inv_trolin_util.g_lpn_id;
660 ELSIF p_attr_id = g_to_lpn_id THEN
661 l_index := l_index + 1;
662 l_src_attr_tbl(l_index) := inv_trolin_util.g_to_lpn_id;
663 ELSIF p_attr_id = g_pick_methodology_id THEN
664 l_index := l_index + 1;
665 l_src_attr_tbl(l_index) := inv_trolin_util.g_pick_methodology_id;
666 ELSIF p_attr_id = g_container_item_id THEN
667 l_index := l_index + 1;
668 l_src_attr_tbl(l_index) := inv_trolin_util.g_container_item_id;
669 ELSIF p_attr_id = g_carton_grouping_id THEN
670 l_index := l_index + 1;
671 l_src_attr_tbl(l_index) := inv_trolin_util.g_carton_grouping_id;
672 ELSIF p_attr_id = g_pick_slip_number THEN
673 l_index := l_index + 1;
674 l_src_attr_tbl(l_index) := inv_trolin_util.g_pick_slip_number;
675 ELSIF p_attr_id = g_pick_slip_date THEN
676 l_index := l_index + 1;
677 l_src_attr_tbl(l_index) := inv_trolin_util.g_pick_slip_date;
678 ELSIF p_attr_id = g_ship_set_id THEN
679 l_index := l_index + 1;
680 l_src_attr_tbl(l_index) := inv_trolin_util.g_ship_set_id;
681 ELSIF p_attr_id = g_ship_model_id THEN
682 l_index := l_index + 1;
683 l_src_attr_tbl(l_index) := inv_trolin_util.g_ship_model_id;
684 ELSIF p_attr_id = g_model_quantity THEN
685 l_index := l_index + 1;
686 l_src_attr_tbl(l_index) := inv_trolin_util.g_model_quantity;
687 ELSIF p_attr_id = g_required_quantity THEN
688 l_index := l_index + 1;
689 l_src_attr_tbl(l_index) := inv_trolin_util.g_required_quantity;
690 --INVCONV BEGIN
691 ELSIF p_attr_id = g_secondary_quantity THEN
692 l_index := l_index + 1;
693 l_src_attr_tbl(l_index) := inv_trolin_util.g_secondary_quantity;
694 ELSIF p_attr_id = g_secondary_quantity_delivered THEN
695 l_index := l_index + 1;
696 l_src_attr_tbl(l_index) := inv_trolin_util.g_secondary_quantity_delivered;
697 ELSIF p_attr_id = g_secondary_quantity_detailed THEN
698 l_index := l_index + 1;
699 l_src_attr_tbl(l_index) := inv_trolin_util.g_secondary_quantity_detailed;
700 ELSIF p_attr_id = g_secondary_required_quantity THEN
701 l_index := l_index + 1;
702 l_src_attr_tbl(l_index) := inv_trolin_util.g_secondary_required_quantity;
703 ELSIF p_attr_id = g_secondary_uom THEN
704 l_index := l_index + 1;
705 l_src_attr_tbl(l_index) := inv_trolin_util.g_secondary_uom;
706 ELSIF p_attr_id = g_grade_code THEN
707 l_index := l_index + 1;
708 l_src_attr_tbl(l_index) := inv_trolin_util.g_grade_code;
709 --INVCONV END
710 END IF;
711 END clear_dependent_attr;
712
713 -- Procedure Apply_Attribute_Changes
714
715 PROCEDURE apply_attribute_changes(p_trolin_rec IN inv_move_order_pub.trolin_rec_type, p_old_trolin_rec IN inv_move_order_pub.trolin_rec_type := inv_move_order_pub.g_miss_trolin_rec, x_trolin_rec IN OUT NOCOPY inv_move_order_pub.trolin_rec_type) IS
716 BEGIN
717 -- Load out record
718
719 x_trolin_rec := p_trolin_rec;
720
721 IF NOT inv_globals.equal(p_trolin_rec.attribute1, p_old_trolin_rec.attribute1) THEN
722 NULL;
723 END IF;
724
725 IF NOT inv_globals.equal(p_trolin_rec.attribute10, p_old_trolin_rec.attribute10) THEN
726 NULL;
727 END IF;
728
729 IF NOT inv_globals.equal(p_trolin_rec.attribute11, p_old_trolin_rec.attribute11) THEN
730 NULL;
731 END IF;
732
733 IF NOT inv_globals.equal(p_trolin_rec.attribute12, p_old_trolin_rec.attribute12) THEN
734 NULL;
735 END IF;
736
737 IF NOT inv_globals.equal(p_trolin_rec.attribute13, p_old_trolin_rec.attribute13) THEN
738 NULL;
739 END IF;
740
741 IF NOT inv_globals.equal(p_trolin_rec.attribute14, p_old_trolin_rec.attribute14) THEN
742 NULL;
743 END IF;
744
745 IF NOT inv_globals.equal(p_trolin_rec.attribute15, p_old_trolin_rec.attribute15) THEN
746 NULL;
747 END IF;
748
749 IF NOT inv_globals.equal(p_trolin_rec.attribute2, p_old_trolin_rec.attribute2) THEN
750 NULL;
751 END IF;
752
753 IF NOT inv_globals.equal(p_trolin_rec.attribute3, p_old_trolin_rec.attribute3) THEN
754 NULL;
755 END IF;
756
757 IF NOT inv_globals.equal(p_trolin_rec.attribute4, p_old_trolin_rec.attribute4) THEN
758 NULL;
759 END IF;
760
761 IF NOT inv_globals.equal(p_trolin_rec.attribute5, p_old_trolin_rec.attribute5) THEN
762 NULL;
763 END IF;
764
765 IF NOT inv_globals.equal(p_trolin_rec.attribute6, p_old_trolin_rec.attribute6) THEN
766 NULL;
767 END IF;
768
769 IF NOT inv_globals.equal(p_trolin_rec.attribute7, p_old_trolin_rec.attribute7) THEN
770 NULL;
771 END IF;
772
773 IF NOT inv_globals.equal(p_trolin_rec.attribute8, p_old_trolin_rec.attribute8) THEN
774 NULL;
775 END IF;
776
777 IF NOT inv_globals.equal(p_trolin_rec.attribute9, p_old_trolin_rec.attribute9) THEN
778 NULL;
779 END IF;
780
781 IF NOT inv_globals.equal(p_trolin_rec.attribute_category, p_old_trolin_rec.attribute_category) THEN
782 NULL;
783 END IF;
784
785 IF NOT inv_globals.equal(p_trolin_rec.created_by, p_old_trolin_rec.created_by) THEN
786 NULL;
787 END IF;
788
789 IF NOT inv_globals.equal(p_trolin_rec.creation_date, p_old_trolin_rec.creation_date) THEN
790 NULL;
791 END IF;
792
793 IF NOT inv_globals.equal(p_trolin_rec.date_required, p_old_trolin_rec.date_required) THEN
794 NULL;
795 END IF;
796
797 IF NOT inv_globals.equal(p_trolin_rec.from_locator_id, p_old_trolin_rec.from_locator_id) THEN
798 NULL;
799 END IF;
800
801 IF NOT inv_globals.equal(p_trolin_rec.from_subinventory_code, p_old_trolin_rec.from_subinventory_code) THEN
802 NULL;
803 END IF;
804
805 IF NOT inv_globals.equal(p_trolin_rec.from_subinventory_id, p_old_trolin_rec.from_subinventory_id) THEN
806 NULL;
807 END IF;
808
809 IF NOT inv_globals.equal(p_trolin_rec.header_id, p_old_trolin_rec.header_id) THEN
810 NULL;
811 END IF;
812
813 IF NOT inv_globals.equal(p_trolin_rec.inventory_item_id, p_old_trolin_rec.inventory_item_id) THEN
814 NULL;
815 END IF;
816
817 IF NOT inv_globals.equal(p_trolin_rec.last_updated_by, p_old_trolin_rec.last_updated_by) THEN
818 NULL;
819 END IF;
820
821 IF NOT inv_globals.equal(p_trolin_rec.last_update_date, p_old_trolin_rec.last_update_date) THEN
822 NULL;
823 END IF;
824
825 IF NOT inv_globals.equal(p_trolin_rec.last_update_login, p_old_trolin_rec.last_update_login) THEN
826 NULL;
827 END IF;
828
829 IF NOT inv_globals.equal(p_trolin_rec.line_id, p_old_trolin_rec.line_id) THEN
830 NULL;
831 END IF;
832
833 IF NOT inv_globals.equal(p_trolin_rec.line_number, p_old_trolin_rec.line_number) THEN
834 NULL;
835 END IF;
836
837 IF NOT inv_globals.equal(p_trolin_rec.line_status, p_old_trolin_rec.line_status) THEN
838 NULL;
839 END IF;
840
841 IF NOT inv_globals.equal(p_trolin_rec.lot_number, p_old_trolin_rec.lot_number) THEN
842 NULL;
843 END IF;
844
845 IF NOT inv_globals.equal(p_trolin_rec.organization_id, p_old_trolin_rec.organization_id) THEN
846 NULL;
847 END IF;
848
849 IF NOT inv_globals.equal(p_trolin_rec.program_application_id, p_old_trolin_rec.program_application_id) THEN
850 NULL;
851 END IF;
852
853 IF NOT inv_globals.equal(p_trolin_rec.program_id, p_old_trolin_rec.program_id) THEN
854 NULL;
855 END IF;
856
857 IF NOT inv_globals.equal(p_trolin_rec.program_update_date, p_old_trolin_rec.program_update_date) THEN
858 NULL;
859 END IF;
860
861 IF NOT inv_globals.equal(p_trolin_rec.project_id, p_old_trolin_rec.project_id) THEN
862 NULL;
863 END IF;
864
865 IF NOT inv_globals.equal(p_trolin_rec.quantity, p_old_trolin_rec.quantity) THEN
866 NULL;
867 END IF;
868
869 IF NOT inv_globals.equal(p_trolin_rec.quantity_delivered, p_old_trolin_rec.quantity_delivered) THEN
870 NULL;
871 END IF;
872
873 IF NOT inv_globals.equal(p_trolin_rec.quantity_detailed, p_old_trolin_rec.quantity_detailed) THEN
874 NULL;
875 END IF;
876
877 IF NOT inv_globals.equal(p_trolin_rec.reason_id, p_old_trolin_rec.reason_id) THEN
878 NULL;
879 END IF;
880
881 IF NOT inv_globals.equal(p_trolin_rec.REFERENCE, p_old_trolin_rec.REFERENCE) THEN
882 NULL;
883 END IF;
884
885 IF NOT inv_globals.equal(p_trolin_rec.reference_id, p_old_trolin_rec.reference_id) THEN
886 NULL;
887 END IF;
888
889 IF NOT inv_globals.equal(p_trolin_rec.reference_type_code, p_old_trolin_rec.reference_type_code) THEN
890 NULL;
891 END IF;
892
893 IF NOT inv_globals.equal(p_trolin_rec.request_id, p_old_trolin_rec.request_id) THEN
894 NULL;
895 END IF;
896
897 IF NOT inv_globals.equal(p_trolin_rec.revision, p_old_trolin_rec.revision) THEN
898 NULL;
899 END IF;
900
901 IF NOT inv_globals.equal(p_trolin_rec.serial_number_end, p_old_trolin_rec.serial_number_end) THEN
902 NULL;
903 END IF;
904
905 IF NOT inv_globals.equal(p_trolin_rec.serial_number_start, p_old_trolin_rec.serial_number_start) THEN
906 NULL;
907 END IF;
908
909 IF NOT inv_globals.equal(p_trolin_rec.status_date, p_old_trolin_rec.status_date) THEN
910 NULL;
911 END IF;
912
913 IF NOT inv_globals.equal(p_trolin_rec.task_id, p_old_trolin_rec.task_id) THEN
914 NULL;
915 END IF;
916
917 IF NOT inv_globals.equal(p_trolin_rec.to_account_id, p_old_trolin_rec.to_account_id) THEN
918 NULL;
919 END IF;
920
921 IF NOT inv_globals.equal(p_trolin_rec.to_locator_id, p_old_trolin_rec.to_locator_id) THEN
922 NULL;
923 END IF;
924
925 IF NOT inv_globals.equal(p_trolin_rec.to_subinventory_code, p_old_trolin_rec.to_subinventory_code) THEN
926 NULL;
927 END IF;
928
929 IF NOT inv_globals.equal(p_trolin_rec.to_subinventory_id, p_old_trolin_rec.to_subinventory_id) THEN
930 NULL;
931 END IF;
932
933 IF NOT inv_globals.equal(p_trolin_rec.transaction_header_id, p_old_trolin_rec.transaction_header_id) THEN
934 NULL;
935 END IF;
936
937 IF NOT inv_globals.equal(p_trolin_rec.uom_code, p_old_trolin_rec.uom_code) THEN
938 NULL;
939 END IF;
940
941 IF NOT inv_globals.equal(p_trolin_rec.transaction_type_id, p_old_trolin_rec.transaction_type_id) THEN
942 NULL;
943 END IF;
944
945 IF NOT inv_globals.equal(p_trolin_rec.transaction_source_type_id, p_old_trolin_rec.transaction_source_type_id) THEN
946 NULL;
947 END IF;
948
949 IF NOT inv_globals.equal(p_trolin_rec.txn_source_id, p_old_trolin_rec.txn_source_id) THEN
950 NULL;
951 END IF;
952
953 IF NOT inv_globals.equal(p_trolin_rec.txn_source_line_id, p_old_trolin_rec.txn_source_line_id) THEN
954 NULL;
955 END IF;
956
957 IF NOT inv_globals.equal(p_trolin_rec.txn_source_line_detail_id, p_old_trolin_rec.txn_source_line_detail_id) THEN
958 NULL;
959 END IF;
960
961 IF NOT inv_globals.equal(p_trolin_rec.to_organization_id, p_old_trolin_rec.to_organization_id) THEN
962 NULL;
963 END IF;
964
965 IF NOT inv_globals.equal(p_trolin_rec.primary_quantity, p_old_trolin_rec.primary_quantity) THEN
966 NULL;
967 END IF;
968
969 IF NOT inv_globals.equal(p_trolin_rec.pick_strategy_id, p_old_trolin_rec.pick_strategy_id) THEN
970 NULL;
971 END IF;
972
973 IF NOT inv_globals.equal(p_trolin_rec.put_away_strategy_id, p_old_trolin_rec.put_away_strategy_id) THEN
974 NULL;
975 END IF;
976
977 IF NOT inv_globals.equal(p_trolin_rec.unit_number, p_old_trolin_rec.unit_number) THEN
978 NULL;
979 END IF;
980
981 IF NOT inv_globals.equal(p_trolin_rec.ship_to_location_id, p_old_trolin_rec.ship_to_location_id) THEN
982 NULL;
983 END IF;
984
985 IF NOT inv_globals.equal(p_trolin_rec.from_cost_group_id, p_old_trolin_rec.from_cost_group_id) THEN
986 NULL;
987 END IF;
988
989 IF NOT inv_globals.equal(p_trolin_rec.to_cost_group_id, p_old_trolin_rec.to_cost_group_id) THEN
990 NULL;
991 END IF;
992
993 IF NOT inv_globals.equal(p_trolin_rec.lpn_id, p_old_trolin_rec.lpn_id) THEN
994 NULL;
995 END IF;
996
997 IF NOT inv_globals.equal(p_trolin_rec.to_lpn_id, p_old_trolin_rec.to_lpn_id) THEN
998 NULL;
999 END IF;
1000
1001 IF NOT inv_globals.equal(p_trolin_rec.pick_methodology_id, p_old_trolin_rec.pick_methodology_id) THEN
1002 NULL;
1003 END IF;
1004
1005 IF NOT inv_globals.equal(p_trolin_rec.container_item_id, p_old_trolin_rec.container_item_id) THEN
1006 NULL;
1007 END IF;
1008
1009 IF NOT inv_globals.equal(p_trolin_rec.carton_grouping_id, p_old_trolin_rec.carton_grouping_id) THEN
1010 NULL;
1011 END IF;
1012
1013 IF NOT inv_globals.equal(p_trolin_rec.pick_slip_number, p_old_trolin_rec.pick_slip_number) THEN
1014 NULL;
1015 END IF;
1016
1017 IF NOT inv_globals.equal(p_trolin_rec.pick_slip_date, p_old_trolin_rec.pick_slip_date) THEN
1018 NULL;
1019 END IF;
1020
1021 IF NOT inv_globals.equal(p_trolin_rec.ship_set_id, p_old_trolin_rec.ship_set_id) THEN
1022 NULL;
1023 END IF;
1024
1025 IF NOT inv_globals.equal(p_trolin_rec.ship_model_id, p_old_trolin_rec.ship_model_id) THEN
1026 NULL;
1027 END IF;
1028
1029 IF NOT inv_globals.equal(p_trolin_rec.model_quantity, p_old_trolin_rec.model_quantity) THEN
1030 NULL;
1031 END IF;
1032
1033 IF NOT inv_globals.equal(p_trolin_rec.required_quantity, p_old_trolin_rec.required_quantity) THEN
1034 NULL;
1035 END IF;
1036 --INVCONV BEGIN
1037 IF NOT inv_globals.equal(p_trolin_rec.secondary_uom, p_old_trolin_rec.secondary_uom) THEN
1038 NULL;
1039 END IF;
1040
1041 IF NOT inv_globals.equal(p_trolin_rec.secondary_quantity, p_old_trolin_rec.secondary_quantity) THEN
1042 NULL;
1043 END IF;
1044
1045 IF NOT inv_globals.equal(p_trolin_rec.secondary_quantity_delivered, p_old_trolin_rec.secondary_quantity_delivered) THEN
1046 NULL;
1047 END IF;
1048
1049 IF NOT inv_globals.equal(p_trolin_rec.secondary_quantity_detailed, p_old_trolin_rec.secondary_quantity_detailed) THEN
1050 NULL;
1051 END IF;
1052
1053 IF NOT inv_globals.equal(p_trolin_rec.grade_code, p_old_trolin_rec.grade_code) THEN
1054 NULL;
1055 END IF;
1056
1057 IF NOT inv_globals.equal(p_trolin_rec.secondary_required_quantity, p_old_trolin_rec.secondary_required_quantity) THEN
1058 NULL;
1059 END IF;
1060
1061 --INVCONV END;
1062
1063 END apply_attribute_changes;
1064
1065 -- Function Complete_Record
1066
1067 FUNCTION complete_record(p_trolin_rec IN inv_move_order_pub.trolin_rec_type, p_old_trolin_rec IN inv_move_order_pub.trolin_rec_type)
1068 RETURN inv_move_order_pub.trolin_rec_type IS
1069 l_trolin_rec inv_move_order_pub.trolin_rec_type := p_trolin_rec;
1070 BEGIN
1071 IF l_trolin_rec.attribute1 = fnd_api.g_miss_char THEN
1072 l_trolin_rec.attribute1 := p_old_trolin_rec.attribute1;
1073 END IF;
1074
1075 IF l_trolin_rec.attribute10 = fnd_api.g_miss_char THEN
1076 l_trolin_rec.attribute10 := p_old_trolin_rec.attribute10;
1077 END IF;
1078
1079 IF l_trolin_rec.attribute11 = fnd_api.g_miss_char THEN
1080 l_trolin_rec.attribute11 := p_old_trolin_rec.attribute11;
1081 END IF;
1082
1083 IF l_trolin_rec.attribute12 = fnd_api.g_miss_char THEN
1084 l_trolin_rec.attribute12 := p_old_trolin_rec.attribute12;
1085 END IF;
1086
1087 IF l_trolin_rec.attribute13 = fnd_api.g_miss_char THEN
1088 l_trolin_rec.attribute13 := p_old_trolin_rec.attribute13;
1089 END IF;
1090
1091 IF l_trolin_rec.attribute14 = fnd_api.g_miss_char THEN
1092 l_trolin_rec.attribute14 := p_old_trolin_rec.attribute14;
1093 END IF;
1094
1095 IF l_trolin_rec.attribute15 = fnd_api.g_miss_char THEN
1096 l_trolin_rec.attribute15 := p_old_trolin_rec.attribute15;
1097 END IF;
1098
1099 IF l_trolin_rec.attribute2 = fnd_api.g_miss_char THEN
1100 l_trolin_rec.attribute2 := p_old_trolin_rec.attribute2;
1101 END IF;
1102
1103 IF l_trolin_rec.attribute3 = fnd_api.g_miss_char THEN
1104 l_trolin_rec.attribute3 := p_old_trolin_rec.attribute3;
1105 END IF;
1106
1107 IF l_trolin_rec.attribute4 = fnd_api.g_miss_char THEN
1108 l_trolin_rec.attribute4 := p_old_trolin_rec.attribute4;
1109 END IF;
1110
1111 IF l_trolin_rec.attribute5 = fnd_api.g_miss_char THEN
1112 l_trolin_rec.attribute5 := p_old_trolin_rec.attribute5;
1113 END IF;
1114
1115 IF l_trolin_rec.attribute6 = fnd_api.g_miss_char THEN
1116 l_trolin_rec.attribute6 := p_old_trolin_rec.attribute6;
1117 END IF;
1118
1119 IF l_trolin_rec.attribute7 = fnd_api.g_miss_char THEN
1120 l_trolin_rec.attribute7 := p_old_trolin_rec.attribute7;
1121 END IF;
1122
1123 IF l_trolin_rec.attribute8 = fnd_api.g_miss_char THEN
1124 l_trolin_rec.attribute8 := p_old_trolin_rec.attribute8;
1125 END IF;
1126
1127 IF l_trolin_rec.attribute9 = fnd_api.g_miss_char THEN
1128 l_trolin_rec.attribute9 := p_old_trolin_rec.attribute9;
1129 END IF;
1130
1131 IF l_trolin_rec.attribute_category = fnd_api.g_miss_char THEN
1132 l_trolin_rec.attribute_category := p_old_trolin_rec.attribute_category;
1133 END IF;
1134
1135 IF l_trolin_rec.created_by = fnd_api.g_miss_num THEN
1136 l_trolin_rec.created_by := p_old_trolin_rec.created_by;
1137 END IF;
1138
1139 IF l_trolin_rec.creation_date = fnd_api.g_miss_date THEN
1140 l_trolin_rec.creation_date := p_old_trolin_rec.creation_date;
1141 END IF;
1142
1143 IF l_trolin_rec.date_required = fnd_api.g_miss_date THEN
1144 l_trolin_rec.date_required := p_old_trolin_rec.date_required;
1145 END IF;
1146
1147 IF l_trolin_rec.from_locator_id = fnd_api.g_miss_num THEN
1148 l_trolin_rec.from_locator_id := p_old_trolin_rec.from_locator_id;
1149 END IF;
1150
1151 IF l_trolin_rec.from_subinventory_code = fnd_api.g_miss_char THEN
1152 l_trolin_rec.from_subinventory_code := p_old_trolin_rec.from_subinventory_code;
1153 END IF;
1154
1155 IF l_trolin_rec.from_subinventory_id = fnd_api.g_miss_num THEN
1156 l_trolin_rec.from_subinventory_id := p_old_trolin_rec.from_subinventory_id;
1157 END IF;
1158
1159 IF l_trolin_rec.header_id = fnd_api.g_miss_num THEN
1160 l_trolin_rec.header_id := p_old_trolin_rec.header_id;
1161 END IF;
1162
1163 IF l_trolin_rec.inventory_item_id = fnd_api.g_miss_num THEN
1164 l_trolin_rec.inventory_item_id := p_old_trolin_rec.inventory_item_id;
1165 END IF;
1166
1167 IF l_trolin_rec.last_updated_by = fnd_api.g_miss_num THEN
1168 l_trolin_rec.last_updated_by := p_old_trolin_rec.last_updated_by;
1169 END IF;
1170
1171 IF l_trolin_rec.last_update_date = fnd_api.g_miss_date THEN
1172 l_trolin_rec.last_update_date := p_old_trolin_rec.last_update_date;
1173 END IF;
1174
1175 IF l_trolin_rec.last_update_login = fnd_api.g_miss_num THEN
1176 l_trolin_rec.last_update_login := p_old_trolin_rec.last_update_login;
1177 END IF;
1178
1179 IF l_trolin_rec.line_id = fnd_api.g_miss_num THEN
1180 l_trolin_rec.line_id := p_old_trolin_rec.line_id;
1181 END IF;
1182
1183 IF l_trolin_rec.line_number = fnd_api.g_miss_num THEN
1184 l_trolin_rec.line_number := p_old_trolin_rec.line_number;
1185 END IF;
1186
1187 IF l_trolin_rec.line_status = fnd_api.g_miss_num THEN
1188 l_trolin_rec.line_status := p_old_trolin_rec.line_status;
1189 END IF;
1190
1191 IF l_trolin_rec.lot_number = fnd_api.g_miss_char THEN
1192 l_trolin_rec.lot_number := p_old_trolin_rec.lot_number;
1193 END IF;
1194
1195 IF l_trolin_rec.organization_id = fnd_api.g_miss_num THEN
1196 l_trolin_rec.organization_id := p_old_trolin_rec.organization_id;
1197 END IF;
1198
1199 IF l_trolin_rec.program_application_id = fnd_api.g_miss_num THEN
1200 l_trolin_rec.program_application_id := p_old_trolin_rec.program_application_id;
1201 END IF;
1202
1203 IF l_trolin_rec.program_id = fnd_api.g_miss_num THEN
1204 l_trolin_rec.program_id := p_old_trolin_rec.program_id;
1205 END IF;
1206
1207 IF l_trolin_rec.program_update_date = fnd_api.g_miss_date THEN
1208 l_trolin_rec.program_update_date := p_old_trolin_rec.program_update_date;
1209 END IF;
1210
1211 IF l_trolin_rec.project_id = fnd_api.g_miss_num THEN
1212 l_trolin_rec.project_id := p_old_trolin_rec.project_id;
1213 END IF;
1214
1215 IF l_trolin_rec.quantity = fnd_api.g_miss_num THEN
1216 l_trolin_rec.quantity := p_old_trolin_rec.quantity;
1217 END IF;
1218
1219 IF l_trolin_rec.quantity_delivered = fnd_api.g_miss_num THEN
1220 l_trolin_rec.quantity_delivered := p_old_trolin_rec.quantity_delivered;
1221 END IF;
1222
1223 IF l_trolin_rec.quantity_detailed = fnd_api.g_miss_num THEN
1224 l_trolin_rec.quantity_detailed := p_old_trolin_rec.quantity_detailed;
1225 END IF;
1226
1227 IF l_trolin_rec.reason_id = fnd_api.g_miss_num THEN
1228 l_trolin_rec.reason_id := p_old_trolin_rec.reason_id;
1229 END IF;
1230
1231 IF l_trolin_rec.REFERENCE = fnd_api.g_miss_char THEN
1232 l_trolin_rec.REFERENCE := p_old_trolin_rec.REFERENCE;
1233 END IF;
1234
1235 IF l_trolin_rec.reference_id = fnd_api.g_miss_num THEN
1236 l_trolin_rec.reference_id := p_old_trolin_rec.reference_id;
1237 END IF;
1238
1239 IF l_trolin_rec.reference_type_code = fnd_api.g_miss_num THEN
1240 l_trolin_rec.reference_type_code := p_old_trolin_rec.reference_type_code;
1241 END IF;
1242
1243 IF l_trolin_rec.request_id = fnd_api.g_miss_num THEN
1244 l_trolin_rec.request_id := p_old_trolin_rec.request_id;
1245 END IF;
1246
1247 IF l_trolin_rec.revision = fnd_api.g_miss_char THEN
1248 l_trolin_rec.revision := p_old_trolin_rec.revision;
1249 END IF;
1250
1251 IF l_trolin_rec.serial_number_end = fnd_api.g_miss_char THEN
1252 l_trolin_rec.serial_number_end := p_old_trolin_rec.serial_number_end;
1253 END IF;
1254
1255 IF l_trolin_rec.serial_number_start = fnd_api.g_miss_char THEN
1256 l_trolin_rec.serial_number_start := p_old_trolin_rec.serial_number_start;
1257 END IF;
1258
1259 IF l_trolin_rec.status_date = fnd_api.g_miss_date THEN
1260 l_trolin_rec.status_date := p_old_trolin_rec.status_date;
1261 END IF;
1262
1263 IF l_trolin_rec.task_id = fnd_api.g_miss_num THEN
1264 l_trolin_rec.task_id := p_old_trolin_rec.task_id;
1265 END IF;
1266
1267 IF l_trolin_rec.to_account_id = fnd_api.g_miss_num THEN
1268 l_trolin_rec.to_account_id := p_old_trolin_rec.to_account_id;
1269 END IF;
1270
1271 IF l_trolin_rec.to_locator_id = fnd_api.g_miss_num THEN
1272 l_trolin_rec.to_locator_id := p_old_trolin_rec.to_locator_id;
1273 END IF;
1274
1275 IF l_trolin_rec.to_subinventory_code = fnd_api.g_miss_char THEN
1276 l_trolin_rec.to_subinventory_code := p_old_trolin_rec.to_subinventory_code;
1277 END IF;
1278
1279 IF l_trolin_rec.to_subinventory_id = fnd_api.g_miss_num THEN
1280 l_trolin_rec.to_subinventory_id := p_old_trolin_rec.to_subinventory_id;
1281 END IF;
1282
1283 IF l_trolin_rec.transaction_header_id = fnd_api.g_miss_num THEN
1284 l_trolin_rec.transaction_header_id := p_old_trolin_rec.transaction_header_id;
1285 END IF;
1286
1287 IF l_trolin_rec.uom_code = fnd_api.g_miss_char THEN
1288 l_trolin_rec.uom_code := p_old_trolin_rec.uom_code;
1289 END IF;
1290
1291 IF l_trolin_rec.transaction_type_id = fnd_api.g_miss_num THEN
1292 l_trolin_rec.transaction_type_id := p_old_trolin_rec.transaction_type_id;
1293 END IF;
1294
1295 IF l_trolin_rec.transaction_source_type_id = fnd_api.g_miss_num THEN
1296 l_trolin_rec.transaction_source_type_id := p_old_trolin_rec.transaction_source_type_id;
1297 END IF;
1298
1299 IF l_trolin_rec.txn_source_id = fnd_api.g_miss_num THEN
1300 l_trolin_rec.txn_source_id := p_old_trolin_rec.txn_source_id;
1301 END IF;
1302
1303 IF l_trolin_rec.txn_source_line_id = fnd_api.g_miss_num THEN
1304 l_trolin_rec.txn_source_line_id := p_old_trolin_rec.txn_source_line_id;
1305 END IF;
1306
1307 IF l_trolin_rec.txn_source_line_detail_id = fnd_api.g_miss_num THEN
1308 l_trolin_rec.txn_source_line_detail_id := p_old_trolin_rec.txn_source_line_detail_id;
1309 END IF;
1310
1311 IF l_trolin_rec.primary_quantity = fnd_api.g_miss_num THEN
1312 l_trolin_rec.primary_quantity := p_old_trolin_rec.primary_quantity;
1313 END IF;
1314
1315 IF l_trolin_rec.to_organization_id = fnd_api.g_miss_num THEN
1316 l_trolin_rec.to_organization_id := p_old_trolin_rec.to_organization_id;
1317 END IF;
1318
1319 IF l_trolin_rec.pick_strategy_id = fnd_api.g_miss_num THEN
1320 l_trolin_rec.pick_strategy_id := p_old_trolin_rec.pick_strategy_id;
1321 END IF;
1322
1323 IF l_trolin_rec.put_away_strategy_id = fnd_api.g_miss_num THEN
1324 l_trolin_rec.put_away_strategy_id := p_old_trolin_rec.put_away_strategy_id;
1325 END IF;
1326
1327 IF l_trolin_rec.unit_number = fnd_api.g_miss_char THEN
1328 l_trolin_rec.unit_number := p_old_trolin_rec.unit_number;
1329 END IF;
1330
1331 IF l_trolin_rec.ship_to_location_id = fnd_api.g_miss_num THEN
1332 l_trolin_rec.ship_to_location_id := p_old_trolin_rec.ship_to_location_id;
1333 END IF;
1334
1335 IF l_trolin_rec.from_cost_group_id = fnd_api.g_miss_num THEN
1336 l_trolin_rec.from_cost_group_id := p_old_trolin_rec.from_cost_group_id;
1337 END IF;
1338
1339 IF l_trolin_rec.to_cost_group_id = fnd_api.g_miss_num THEN
1340 l_trolin_rec.to_cost_group_id := p_old_trolin_rec.to_cost_group_id;
1341 END IF;
1342
1343 IF l_trolin_rec.lpn_id = fnd_api.g_miss_num THEN
1344 l_trolin_rec.lpn_id := p_old_trolin_rec.lpn_id;
1345 END IF;
1346
1347 IF l_trolin_rec.to_lpn_id = fnd_api.g_miss_num THEN
1348 l_trolin_rec.to_lpn_id := p_old_trolin_rec.to_lpn_id;
1349 END IF;
1350
1351 IF l_trolin_rec.pick_methodology_id = fnd_api.g_miss_num THEN
1352 l_trolin_rec.pick_methodology_id := p_old_trolin_rec.pick_methodology_id;
1353 END IF;
1354
1355 IF l_trolin_rec.container_item_id = fnd_api.g_miss_num THEN
1356 l_trolin_rec.container_item_id := p_old_trolin_rec.container_item_id;
1357 END IF;
1358
1359 IF l_trolin_rec.carton_grouping_id = fnd_api.g_miss_num THEN
1360 l_trolin_rec.carton_grouping_id := p_old_trolin_rec.carton_grouping_id;
1361 END IF;
1362
1363 --INVCONV BEGIN
1364 IF l_trolin_rec.secondary_quantity = fnd_api.g_miss_num THEN
1365 l_trolin_rec.secondary_quantity := p_old_trolin_rec.secondary_quantity;
1366 END IF;
1367
1368 --Bug #4565509 - Should update secondary quantities from old records
1369 IF l_trolin_rec.secondary_quantity_delivered = fnd_api.g_miss_num THEN
1370 l_trolin_rec.secondary_quantity_delivered := p_old_trolin_rec.secondary_quantity_delivered;
1371 END IF;
1372
1373 IF l_trolin_rec.secondary_quantity_detailed = fnd_api.g_miss_num THEN
1374 l_trolin_rec.secondary_quantity_detailed := p_old_trolin_rec.secondary_quantity_detailed;
1375 END IF;
1376
1377 IF l_trolin_rec.secondary_uom = fnd_api.g_miss_char THEN
1378 l_trolin_rec.secondary_uom := p_old_trolin_rec.secondary_uom;
1379 END IF;
1380
1381 IF l_trolin_rec.grade_code = fnd_api.g_miss_char THEN
1382 l_trolin_rec.grade_code := p_old_trolin_rec.grade_code;
1383 END IF;
1384
1385 -- INVCONV END;
1386
1387 RETURN l_trolin_rec;
1388 END complete_record;
1389
1390 -- Function Convert_Miss_To_Null
1391
1392 FUNCTION convert_miss_to_null(p_trolin_rec IN inv_move_order_pub.trolin_rec_type)
1393 RETURN inv_move_order_pub.trolin_rec_type IS
1394 l_trolin_rec inv_move_order_pub.trolin_rec_type := p_trolin_rec;
1395 BEGIN
1396 /*inv_debug.message('in convert');*/
1397 IF l_trolin_rec.attribute1 = fnd_api.g_miss_char THEN
1398 l_trolin_rec.attribute1 := NULL;
1399 END IF;
1400
1401 IF l_trolin_rec.attribute10 = fnd_api.g_miss_char THEN
1402 l_trolin_rec.attribute10 := NULL;
1403 END IF;
1404
1405 IF l_trolin_rec.attribute11 = fnd_api.g_miss_char THEN
1406 l_trolin_rec.attribute11 := NULL;
1407 END IF;
1408
1409 IF l_trolin_rec.attribute12 = fnd_api.g_miss_char THEN
1410 l_trolin_rec.attribute12 := NULL;
1411 END IF;
1412
1413 IF l_trolin_rec.attribute13 = fnd_api.g_miss_char THEN
1414 l_trolin_rec.attribute13 := NULL;
1415 END IF;
1416
1417 IF l_trolin_rec.attribute14 = fnd_api.g_miss_char THEN
1418 l_trolin_rec.attribute14 := NULL;
1419 END IF;
1420
1421 IF l_trolin_rec.attribute15 = fnd_api.g_miss_char THEN
1422 l_trolin_rec.attribute15 := NULL;
1423 END IF;
1424
1425 IF l_trolin_rec.attribute2 = fnd_api.g_miss_char THEN
1426 l_trolin_rec.attribute2 := NULL;
1427 END IF;
1428
1429 IF l_trolin_rec.attribute3 = fnd_api.g_miss_char THEN
1430 l_trolin_rec.attribute3 := NULL;
1431 END IF;
1432
1433 IF l_trolin_rec.attribute4 = fnd_api.g_miss_char THEN
1434 l_trolin_rec.attribute4 := NULL;
1435 END IF;
1436
1437 IF l_trolin_rec.attribute5 = fnd_api.g_miss_char THEN
1438 l_trolin_rec.attribute5 := NULL;
1439 END IF;
1440
1441 IF l_trolin_rec.attribute6 = fnd_api.g_miss_char THEN
1442 l_trolin_rec.attribute6 := NULL;
1443 END IF;
1444
1445 IF l_trolin_rec.attribute7 = fnd_api.g_miss_char THEN
1446 l_trolin_rec.attribute7 := NULL;
1447 END IF;
1448
1449 IF l_trolin_rec.attribute8 = fnd_api.g_miss_char THEN
1450 l_trolin_rec.attribute8 := NULL;
1451 END IF;
1452
1453 IF l_trolin_rec.attribute9 = fnd_api.g_miss_char THEN
1454 l_trolin_rec.attribute9 := NULL;
1455 END IF;
1456
1457 IF l_trolin_rec.attribute_category = fnd_api.g_miss_char THEN
1458 l_trolin_rec.attribute_category := NULL;
1459 END IF;
1460
1461 IF l_trolin_rec.created_by = fnd_api.g_miss_num THEN
1462 l_trolin_rec.created_by := NULL;
1463 END IF;
1464
1465 IF l_trolin_rec.creation_date = fnd_api.g_miss_date THEN
1466 l_trolin_rec.creation_date := NULL;
1467 END IF;
1468
1469 IF l_trolin_rec.date_required = fnd_api.g_miss_date THEN
1470 l_trolin_rec.date_required := NULL;
1471 END IF;
1472
1473 IF l_trolin_rec.from_locator_id = fnd_api.g_miss_num THEN
1474 l_trolin_rec.from_locator_id := NULL;
1475 END IF;
1476
1477 IF l_trolin_rec.from_subinventory_code = fnd_api.g_miss_char THEN
1478 l_trolin_rec.from_subinventory_code := NULL;
1479 END IF;
1480
1481 IF l_trolin_rec.from_subinventory_id = fnd_api.g_miss_num THEN
1482 l_trolin_rec.from_subinventory_id := NULL;
1483 END IF;
1484
1485 IF l_trolin_rec.header_id = fnd_api.g_miss_num THEN
1486 l_trolin_rec.header_id := NULL;
1487 END IF;
1488
1489 IF l_trolin_rec.inventory_item_id = fnd_api.g_miss_num THEN
1490 l_trolin_rec.inventory_item_id := NULL;
1491 END IF;
1492
1493 IF l_trolin_rec.last_updated_by = fnd_api.g_miss_num THEN
1494 l_trolin_rec.last_updated_by := NULL;
1495 END IF;
1496
1497 IF l_trolin_rec.last_update_date = fnd_api.g_miss_date THEN
1498 l_trolin_rec.last_update_date := NULL;
1499 END IF;
1500
1501 IF l_trolin_rec.last_update_login = fnd_api.g_miss_num THEN
1502 l_trolin_rec.last_update_login := NULL;
1503 END IF;
1504
1505 IF l_trolin_rec.line_id = fnd_api.g_miss_num THEN
1506 l_trolin_rec.line_id := NULL;
1507 END IF;
1508
1509 IF l_trolin_rec.line_number = fnd_api.g_miss_num THEN
1510 l_trolin_rec.line_number := NULL;
1511 END IF;
1512
1513 IF l_trolin_rec.line_status = fnd_api.g_miss_num THEN
1514 l_trolin_rec.line_status := NULL;
1515 END IF;
1516
1517 IF l_trolin_rec.lot_number = fnd_api.g_miss_char THEN
1518 l_trolin_rec.lot_number := NULL;
1519 END IF;
1520
1521 IF l_trolin_rec.organization_id = fnd_api.g_miss_num THEN
1522 l_trolin_rec.organization_id := NULL;
1523 END IF;
1524
1525 IF l_trolin_rec.program_application_id = fnd_api.g_miss_num THEN
1526 l_trolin_rec.program_application_id := NULL;
1527 END IF;
1528
1529 IF l_trolin_rec.program_id = fnd_api.g_miss_num THEN
1530 l_trolin_rec.program_id := NULL;
1531 END IF;
1532
1533 IF l_trolin_rec.program_update_date = fnd_api.g_miss_date THEN
1534 l_trolin_rec.program_update_date := NULL;
1535 END IF;
1536
1537 IF l_trolin_rec.project_id = fnd_api.g_miss_num THEN
1538 l_trolin_rec.project_id := NULL;
1539 END IF;
1540
1541 IF l_trolin_rec.quantity = fnd_api.g_miss_num THEN
1542 l_trolin_rec.quantity := NULL;
1543 END IF;
1544
1545 IF l_trolin_rec.quantity_delivered = fnd_api.g_miss_num THEN
1546 l_trolin_rec.quantity_delivered := NULL;
1547 END IF;
1548
1549 IF l_trolin_rec.quantity_detailed = fnd_api.g_miss_num THEN
1550 l_trolin_rec.quantity_detailed := NULL;
1551 END IF;
1552
1553 IF l_trolin_rec.reason_id = fnd_api.g_miss_num THEN
1554 l_trolin_rec.reason_id := NULL;
1555 END IF;
1556
1557 IF l_trolin_rec.REFERENCE = fnd_api.g_miss_char THEN
1558 l_trolin_rec.REFERENCE := NULL;
1559 END IF;
1560
1561 IF l_trolin_rec.reference_id = fnd_api.g_miss_num THEN
1562 l_trolin_rec.reference_id := NULL;
1563 END IF;
1564
1565 IF l_trolin_rec.reference_type_code = fnd_api.g_miss_num THEN
1566 l_trolin_rec.reference_type_code := NULL;
1567 END IF;
1568
1569 IF l_trolin_rec.request_id = fnd_api.g_miss_num THEN
1570 l_trolin_rec.request_id := NULL;
1571 END IF;
1572
1573 IF l_trolin_rec.revision = fnd_api.g_miss_char THEN
1574 l_trolin_rec.revision := NULL;
1575 END IF;
1576
1577 IF l_trolin_rec.serial_number_end = fnd_api.g_miss_char THEN
1578 l_trolin_rec.serial_number_end := NULL;
1579 END IF;
1580
1581 IF l_trolin_rec.serial_number_start = fnd_api.g_miss_char THEN
1582 l_trolin_rec.serial_number_start := NULL;
1583 END IF;
1584
1585 IF l_trolin_rec.status_date = fnd_api.g_miss_date THEN
1586 l_trolin_rec.status_date := NULL;
1587 END IF;
1588
1589 IF l_trolin_rec.task_id = fnd_api.g_miss_num THEN
1590 l_trolin_rec.task_id := NULL;
1591 END IF;
1592
1593 IF l_trolin_rec.to_account_id = fnd_api.g_miss_num THEN
1594 l_trolin_rec.to_account_id := NULL;
1595 END IF;
1596
1597 IF l_trolin_rec.to_locator_id = fnd_api.g_miss_num THEN
1598 l_trolin_rec.to_locator_id := NULL;
1599 END IF;
1600
1601 IF l_trolin_rec.to_subinventory_code = fnd_api.g_miss_char THEN
1602 l_trolin_rec.to_subinventory_code := NULL;
1603 END IF;
1604
1605 IF l_trolin_rec.to_subinventory_id = fnd_api.g_miss_num THEN
1606 l_trolin_rec.to_subinventory_id := NULL;
1607 END IF;
1608
1609 IF l_trolin_rec.transaction_header_id = fnd_api.g_miss_num THEN
1610 l_trolin_rec.transaction_header_id := NULL;
1611 END IF;
1612
1613 IF l_trolin_rec.uom_code = fnd_api.g_miss_char THEN
1614 l_trolin_rec.uom_code := NULL;
1615 END IF;
1616
1617 --INVCONV BEGIN
1618 IF l_trolin_rec.secondary_quantity = fnd_api.g_miss_num THEN
1619 l_trolin_rec.secondary_quantity := NULL;
1620 END IF;
1621
1622 --Bug #4565509 - Should set secondary quantities
1623 IF l_trolin_rec.secondary_quantity_delivered = fnd_api.g_miss_num THEN
1624 l_trolin_rec.secondary_quantity_delivered := NULL;
1625 END IF;
1626
1627 IF l_trolin_rec.secondary_quantity_detailed = fnd_api.g_miss_num THEN
1628 l_trolin_rec.secondary_quantity_detailed := NULL;
1629 END IF;
1630
1631 IF l_trolin_rec.secondary_uom = fnd_api.g_miss_char THEN
1632 l_trolin_rec.secondary_uom := NULL;
1633 END IF;
1634
1635 IF l_trolin_rec.grade_code = fnd_api.g_miss_char THEN
1636 l_trolin_rec.grade_code := NULL;
1637 END IF;
1638 /*Bug#5764123. Added the below code to NULL out 'pick_methodology_id',
1639 'container_item_id' and 'carton_grouping_id', if their value is MISS_NUM.*/
1640 IF (l_trolin_rec.pick_methodology_id = fnd_api.g_miss_num) THEN
1641 l_trolin_rec.pick_methodology_id := NULL;
1642 END IF;
1643 IF (l_trolin_rec.container_item_id = fnd_api.g_miss_num) THEN
1644 l_trolin_rec.container_item_id := NULL;
1645 END IF;
1646 IF (l_trolin_rec.carton_grouping_id = fnd_api.g_miss_num) THEN
1647 l_trolin_rec.carton_grouping_id := NULL;
1648 END IF;
1649
1650 -- INVCONV END;
1651 /* IF l_trolin_rec.transaction_type_id = FND_API.G_MISS_NUM THEN
1652 l_trolin_rec.transaction_type_id := NULL;
1653 END IF;
1654
1655 IF l_trolin_rec.transaction_source_type_id = FND_API.G_MISS_NUM THEN
1656 l_trolin_rec.transaction_source_type_id := NULL;
1657 END IF;
1658
1659 IF l_trolin_rec.txn_source_id = FND_API.G_MISS_NUM THEN
1660 l_trolin_rec.txn_source_id := NULL;
1661 END IF;
1662
1663 IF l_trolin_rec.txn_source_line_id = FND_API.G_MISS_NUM THEN
1664 l_trolin_rec.txn_source_line_id := NULL;
1665 END IF;
1666
1667 IF l_trolin_rec.txn_source_line_detail_id = FND_API.G_MISS_NUM THEN
1668 l_trolin_rec.txn_source_line_detail_id := NULL;
1669 END IF;
1670
1671 IF l_trolin_rec.to_organization_id = FND_API.G_MISS_NUM THEN
1672 l_trolin_rec.to_organization_id := NULL;
1673 END IF;
1674
1675 IF l_trolin_rec.primary_quantity = FND_API.G_MISS_NUM THEN
1676 l_trolin_rec.primary_quantity := NULL;
1677 END IF;
1678
1679 IF l_trolin_rec.pick_strategy_id = FND_API.G_MISS_NUM THEN
1680 l_trolin_rec.pick_strategy_id := NULL;
1681 END IF;
1682
1683 IF l_trolin_rec.put_away_strategy_id = FND_API.G_MISS_NUM THEN
1684 l_trolin_rec.put_away_strategy_id := NULL;
1685 END IF;
1686 */
1687 RETURN l_trolin_rec;
1688 END convert_miss_to_null;
1689
1690 -- Function Convert_Miss_To_Null_Parallel /*For Parallel Pick-Release*/
1691
1692 FUNCTION convert_miss_to_null_parallel(p_trolin_rec IN inv_move_order_pub.trolin_rec_type)
1693 RETURN inv_move_order_pub.trolin_rec_type IS
1694 l_trolin_rec inv_move_order_pub.trolin_rec_type := p_trolin_rec;
1695
1696 BEGIN
1697 l_trolin_rec := inv_trolin_util.convert_miss_to_null(p_trolin_rec => l_trolin_rec);
1698
1699 IF l_trolin_rec.transaction_type_id = FND_API.G_MISS_NUM THEN
1700 l_trolin_rec.transaction_type_id := NULL;
1701 END IF;
1702
1703 IF l_trolin_rec.transaction_source_type_id = FND_API.G_MISS_NUM THEN
1704 l_trolin_rec.transaction_source_type_id := NULL;
1705 END IF;
1706
1707 IF l_trolin_rec.txn_source_id = FND_API.G_MISS_NUM THEN
1708 l_trolin_rec.txn_source_id := NULL;
1709 END IF;
1710
1711 IF l_trolin_rec.txn_source_line_id = FND_API.G_MISS_NUM THEN
1712 l_trolin_rec.txn_source_line_id := NULL;
1713 END IF;
1714
1715 IF l_trolin_rec.txn_source_line_detail_id = FND_API.G_MISS_NUM THEN
1716 l_trolin_rec.txn_source_line_detail_id := NULL;
1717 END IF;
1718
1719 IF l_trolin_rec.to_organization_id = FND_API.G_MISS_NUM THEN
1720 l_trolin_rec.to_organization_id := NULL;
1721 END IF;
1722
1723 IF l_trolin_rec.primary_quantity = FND_API.G_MISS_NUM THEN
1724 l_trolin_rec.primary_quantity := NULL;
1725 END IF;
1726
1727 IF l_trolin_rec.pick_strategy_id = FND_API.G_MISS_NUM THEN
1728 l_trolin_rec.pick_strategy_id := NULL;
1729 END IF;
1730
1731 IF l_trolin_rec.put_away_strategy_id = FND_API.G_MISS_NUM THEN
1732 l_trolin_rec.put_away_strategy_id := NULL;
1733 END IF;
1734
1735 IF l_trolin_rec.ship_to_location_id = FND_API.G_MISS_NUM THEN
1736 l_trolin_rec.ship_to_location_id := NULL;
1737 END IF;
1738
1739 IF l_trolin_rec.from_cost_group_id = FND_API.G_MISS_NUM THEN
1740 l_trolin_rec.from_cost_group_id := NULL;
1741 END IF;
1742
1743 IF l_trolin_rec.to_cost_group_id = FND_API.G_MISS_NUM THEN
1744 l_trolin_rec.to_cost_group_id := NULL;
1745 END IF;
1746
1747 IF l_trolin_rec.lpn_id = FND_API.G_MISS_NUM THEN
1748 l_trolin_rec.lpn_id := NULL;
1749 END IF;
1750
1751 IF l_trolin_rec.to_lpn_id = FND_API.G_MISS_NUM THEN
1752 l_trolin_rec.to_lpn_id := NULL;
1753 END IF;
1754
1755 IF l_trolin_rec.pick_methodology_id = FND_API.G_MISS_NUM THEN
1756 l_trolin_rec.pick_methodology_id := NULL;
1757 END IF;
1758
1759 IF l_trolin_rec.container_item_id = FND_API.G_MISS_NUM THEN
1760 l_trolin_rec.container_item_id := NULL;
1761 END IF;
1762
1763 IF l_trolin_rec.carton_grouping_id = FND_API.G_MISS_NUM THEN
1764 l_trolin_rec.carton_grouping_id := NULL;
1765 END IF;
1766
1767 return l_trolin_rec;
1768
1769 END convert_miss_to_null_parallel;
1770
1771
1772 -- Bug#2536932: Function convert_miss_to_null
1773 -- Converts all Miss Number, Char and Date to NULL Values.
1774
1775 FUNCTION convert_miss_to_null (p_trolin_val_rec INV_MOVE_ORDER_PUB.TROLIN_VAL_REC_TYPE)
1776 RETURN INV_MOVE_ORDER_PUB.TROLIN_VAL_REC_TYPE IS
1777 l_trolin_val_rec INV_MOVE_ORDER_PUB.trolin_val_rec_type := p_trolin_val_rec;
1778 BEGIN
1779 IF l_trolin_val_rec.from_locator = FND_API.G_MISS_CHAR THEN
1780 l_trolin_val_rec.from_locator := NULL;
1781 END IF;
1782
1783 IF l_trolin_val_rec.header = FND_API.G_MISS_CHAR THEN
1784 l_trolin_val_rec.header := NULL;
1785 END IF;
1786
1787 IF l_trolin_val_rec.from_subinventory = FND_API.G_MISS_CHAR THEN
1788 l_trolin_val_rec.from_subinventory := NULL;
1789 END IF;
1790
1791 IF l_trolin_val_rec.inventory_item = FND_API.G_MISS_CHAR THEN
1792 l_trolin_val_rec.inventory_item := NULL;
1793 END IF;
1794
1795 IF l_trolin_val_rec.line = FND_API.G_MISS_CHAR THEN
1796 l_trolin_val_rec.line := NULL;
1797 END IF;
1798
1799 IF l_trolin_val_rec.organization = FND_API.G_MISS_CHAR THEN
1800 l_trolin_val_rec.organization := NULL;
1801 END IF;
1802
1803 IF l_trolin_val_rec.project = FND_API.G_MISS_CHAR THEN
1804 l_trolin_val_rec.project := NULL;
1805 END IF;
1806
1807 IF l_trolin_val_rec.reason = FND_API.G_MISS_CHAR THEN
1808 l_trolin_val_rec.reason := NULL;
1809 END IF;
1810
1811 IF l_trolin_val_rec.reference = FND_API.G_MISS_CHAR THEN
1812 l_trolin_val_rec.reference := NULL;
1813 END IF;
1814
1815 IF l_trolin_val_rec.reference_type = FND_API.G_MISS_CHAR THEN
1816 l_trolin_val_rec.reference_type := NULL;
1817 END IF;
1818
1819 IF l_trolin_val_rec.task = FND_API.G_MISS_CHAR THEN
1820 l_trolin_val_rec.task := NULL;
1821 END IF;
1822
1823 IF l_trolin_val_rec.to_account = FND_API.G_MISS_CHAR THEN
1824 l_trolin_val_rec.to_account := NULL;
1825 END IF;
1826
1827 IF l_trolin_val_rec.to_locator = FND_API.G_MISS_CHAR THEN
1828 l_trolin_val_rec.to_locator := NULL;
1829 END IF;
1830
1831 IF l_trolin_val_rec.to_subinventory = FND_API.G_MISS_CHAR THEN
1832 l_trolin_val_rec.to_subinventory := NULL;
1833 END IF;
1834
1835 IF l_trolin_val_rec.transaction_header = FND_API.G_MISS_CHAR THEN
1836 l_trolin_val_rec.transaction_header := NULL;
1837 END IF;
1838
1839 IF l_trolin_val_rec.uom = FND_API.G_MISS_CHAR THEN
1840 l_trolin_val_rec.uom := NULL;
1841 END IF;
1842
1843 IF l_trolin_val_rec.transaction_type = FND_API.G_MISS_CHAR THEN
1844 l_trolin_val_rec.transaction_type := NULL;
1845 END IF;
1846
1847 IF l_trolin_val_rec.to_organization = FND_API.G_MISS_CHAR THEN
1848 l_trolin_val_rec.to_organization := NULL;
1849 END IF;
1850
1851 RETURN l_trolin_val_rec;
1852 END convert_miss_to_null;
1853
1854 -- Procedure Update_Row
1855
1856 PROCEDURE update_row(p_trolin_rec IN inv_move_order_pub.trolin_rec_type) IS
1857 l_tran_source_typ_id NUMBER := 0;
1858 l_batch_exists NUMBER := 0;
1859
1860 BEGIN
1861 /* bug7115229 The transaction source type id is updated from 5 to 13. Because of which the select available inventory form is not
1862 showing the source details for the move order of type backflush transfer correctly. So iam putting a condition here before
1863 updation of the transation source type id. If the txn source id corresponds to a batch, then the corresponding move order cannot
1864 have a source type of inventory (13). It should retain its transaction source type id as job or schedule (5). This fix is
1865 relevant only to OPM batches. */
1866 IF p_trolin_rec.transaction_source_type_id IS NOT NULL THEN
1867 BEGIN
1868 SELECT 1
1869 INTO l_batch_exists
1870 FROM dual
1871 WHERE EXISTS (SELECT gmd.line_no
1872 FROM gme_material_details gmd,mtl_txn_request_lines mtrl
1873 WHERE gmd.material_detail_id=p_trolin_rec.txn_source_line_id
1874 AND mtrl.organization_id=p_trolin_rec.organization_id
1875 AND mtrl.txn_source_id=p_trolin_rec.txn_source_id
1876 AND mtrl.inventory_item_id=p_trolin_rec.inventory_item_id
1877 AND gmd.material_detail_id=mtrl.txn_source_line_id
1878 AND mtrl.transaction_source_type_id=5);
1879 EXCEPTION
1880 WHEN NO_DATA_FOUND THEN
1881 l_batch_exists := 0;
1882 END;
1883 END IF;
1884 IF l_batch_exists =1 THEN
1885 l_tran_source_typ_id:=5;
1886 ELSE
1887 l_tran_source_typ_id:=p_trolin_rec.transaction_source_type_id;
1888 END IF;
1889
1890 UPDATE mtl_txn_request_lines
1891 SET attribute1 = p_trolin_rec.attribute1
1892 , attribute10 = p_trolin_rec.attribute10
1893 , attribute11 = p_trolin_rec.attribute11
1894 , attribute12 = p_trolin_rec.attribute12
1895 , attribute13 = p_trolin_rec.attribute13
1896 , attribute14 = p_trolin_rec.attribute14
1897 , attribute15 = p_trolin_rec.attribute15
1898 , attribute2 = p_trolin_rec.attribute2
1899 , attribute3 = p_trolin_rec.attribute3
1900 , attribute4 = p_trolin_rec.attribute4
1901 , attribute5 = p_trolin_rec.attribute5
1902 , attribute6 = p_trolin_rec.attribute6
1903 , attribute7 = p_trolin_rec.attribute7
1904 , attribute8 = p_trolin_rec.attribute8
1905 , attribute9 = p_trolin_rec.attribute9
1906 , attribute_category = p_trolin_rec.attribute_category
1907 , created_by = p_trolin_rec.created_by
1908 , creation_date = p_trolin_rec.creation_date
1909 , date_required = p_trolin_rec.date_required
1910 , from_locator_id = p_trolin_rec.from_locator_id
1911 , from_subinventory_code = p_trolin_rec.from_subinventory_code
1912 , from_subinventory_id = p_trolin_rec.from_subinventory_id
1913 , header_id = p_trolin_rec.header_id
1914 , inventory_item_id = p_trolin_rec.inventory_item_id
1915 -- , last_updated_by = p_trolin_rec.last_updated_by
1916 -- , last_update_date = p_trolin_rec.last_update_date
1917 -- , last_update_login = p_trolin_rec.last_update_login
1918 , last_update_date = SYSDATE --Bug 15837987
1919 , last_updated_by = FND_PROFILE.VALUE('USER_ID')
1920 , last_update_login = FND_PROFILE.VALUE('LOGIN_ID')
1921 , line_id = p_trolin_rec.line_id
1922 , line_number = p_trolin_rec.line_number
1923 , line_status = p_trolin_rec.line_status
1924 , lot_number = p_trolin_rec.lot_number
1925 , organization_id = p_trolin_rec.organization_id
1926 , program_application_id = p_trolin_rec.program_application_id
1927 , program_id = p_trolin_rec.program_id
1928 , program_update_date = p_trolin_rec.program_update_date
1929 , project_id = p_trolin_rec.project_id
1930 , quantity = p_trolin_rec.quantity
1931 , quantity_delivered = p_trolin_rec.quantity_delivered
1932 , quantity_detailed = p_trolin_rec.quantity_detailed
1933 , reason_id = p_trolin_rec.reason_id
1934 , REFERENCE = p_trolin_rec.REFERENCE
1935 , reference_id = p_trolin_rec.reference_id
1936 , reference_type_code = p_trolin_rec.reference_type_code
1937 , request_id = p_trolin_rec.request_id
1938 , revision = p_trolin_rec.revision
1939 , serial_number_end = p_trolin_rec.serial_number_end
1940 , serial_number_start = p_trolin_rec.serial_number_start
1941 , status_date = p_trolin_rec.status_date
1942 , task_id = p_trolin_rec.task_id
1943 , to_account_id = p_trolin_rec.to_account_id
1944 , to_locator_id = p_trolin_rec.to_locator_id
1945 , to_subinventory_code = p_trolin_rec.to_subinventory_code
1946 , to_subinventory_id = p_trolin_rec.to_subinventory_id
1947 , transaction_header_id = p_trolin_rec.transaction_header_id
1948 , uom_code = p_trolin_rec.uom_code
1949 , transaction_type_id = p_trolin_rec.transaction_type_id
1950 , transaction_source_type_id = l_tran_source_typ_id --bug7115229
1951 , txn_source_id = p_trolin_rec.txn_source_id
1952 , txn_source_line_id = p_trolin_rec.txn_source_line_id
1953 , txn_source_line_detail_id = p_trolin_rec.txn_source_line_detail_id
1954 , to_organization_id = p_trolin_rec.to_organization_id
1955 , primary_quantity = p_trolin_rec.primary_quantity
1956 , pick_strategy_id = p_trolin_rec.pick_strategy_id
1957 , put_away_strategy_id = p_trolin_rec.put_away_strategy_id
1958 , unit_number = p_trolin_rec.unit_number
1959 , ship_to_location_id = p_trolin_rec.ship_to_location_id
1960 , from_cost_group_id = p_trolin_rec.from_cost_group_id
1961 , to_cost_group_id = p_trolin_rec.to_cost_group_id
1962 , lpn_id = p_trolin_rec.lpn_id
1963 , to_lpn_id = p_trolin_rec.to_lpn_id
1964 , inspection_status = p_trolin_rec.inspection_status
1965 , pick_methodology_id = p_trolin_rec.pick_methodology_id
1966 , container_item_id = p_trolin_rec.container_item_id
1967 , carton_grouping_id = p_trolin_rec.carton_grouping_id
1968 , wms_process_flag = p_trolin_rec.wms_process_flag
1969 , pick_slip_number = p_trolin_rec.pick_slip_number
1970 , pick_slip_date = p_trolin_rec.pick_slip_date
1971 , ship_set_id = p_trolin_rec.ship_set_id
1972 , ship_model_id = p_trolin_rec.ship_model_id
1973 , model_quantity = p_trolin_rec.model_quantity
1974 , required_quantity = p_trolin_rec.required_quantity
1975 --INVCONV BEGIN
1976 , secondary_quantity = p_trolin_rec.secondary_quantity
1977 , secondary_quantity_delivered = p_trolin_rec.secondary_quantity_delivered
1978 , secondary_quantity_detailed = p_trolin_rec.secondary_quantity_detailed
1979 , secondary_uom_code = p_trolin_rec.secondary_uom
1980 , secondary_required_quantity = p_trolin_rec.secondary_required_quantity
1981 , grade_code = p_trolin_rec.grade_code
1982 --INVCONV END;
1983 WHERE line_id = p_trolin_rec.line_id;
1984 EXCEPTION
1985 WHEN OTHERS THEN
1986 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
1987 fnd_msg_pub.add_exc_msg(g_pkg_name, 'Update_Row');
1988 END IF;
1989
1990 RAISE fnd_api.g_exc_unexpected_error;
1991 END update_row;
1992
1993 -- Procedure Update_Row_Status
1994
1995 PROCEDURE update_row_status(p_line_id IN NUMBER, p_status IN NUMBER) IS
1996 l_trolin_rec inv_move_order_pub.trolin_rec_type;
1997 BEGIN
1998 l_trolin_rec := inv_trolin_util.query_row(p_line_id);
1999 l_trolin_rec.line_status := p_status;
2000 l_trolin_rec.last_update_date := SYSDATE;
2001 l_trolin_rec.status_date := SYSDATE; -- For Bug # 5053725
2002 l_trolin_rec.last_updated_by := fnd_global.user_id;
2003 l_trolin_rec.last_update_login := fnd_global.login_id;
2004 inv_trolin_util.update_row(l_trolin_rec);
2005 EXCEPTION
2006 WHEN OTHERS THEN
2007 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
2008 fnd_msg_pub.add_exc_msg(g_pkg_name, 'Update_Row_Status');
2009 END IF;
2010
2011 RAISE fnd_api.g_exc_unexpected_error;
2012 END update_row_status;
2013
2014 -- Procedure Insert_Row
2015
2016 PROCEDURE insert_row(p_trolin_rec IN inv_move_order_pub.trolin_rec_type) IS
2017 BEGIN
2018 INSERT INTO mtl_txn_request_lines
2019 (
2020 attribute1
2021 , attribute10
2022 , attribute11
2023 , attribute12
2024 , attribute13
2025 , attribute14
2026 , attribute15
2027 , attribute2
2028 , attribute3
2029 , attribute4
2030 , attribute5
2031 , attribute6
2032 , attribute7
2033 , attribute8
2034 , attribute9
2035 , attribute_category
2036 , created_by
2037 , creation_date
2038 , date_required
2039 , from_locator_id
2040 , from_subinventory_code
2041 , from_subinventory_id
2042 , header_id
2043 , inventory_item_id
2044 , last_updated_by
2045 , last_update_date
2046 , last_update_login
2047 , line_id
2048 , line_number
2049 , line_status
2050 , lot_number
2051 , organization_id
2052 , program_application_id
2053 , program_id
2054 , program_update_date
2055 , project_id
2056 , quantity
2057 , quantity_delivered
2058 , quantity_detailed
2059 , reason_id
2060 , REFERENCE
2061 , reference_id
2062 , reference_type_code
2063 , request_id
2064 , revision
2065 , serial_number_end
2066 , serial_number_start
2067 , status_date
2068 , task_id
2069 , to_account_id
2070 , to_locator_id
2071 , to_subinventory_code
2072 , to_subinventory_id
2073 , transaction_header_id
2074 , uom_code
2075 , transaction_type_id
2076 , transaction_source_type_id
2077 , txn_source_id
2078 , txn_source_line_id
2079 , txn_source_line_detail_id
2080 , to_organization_id
2081 , primary_quantity
2082 , pick_strategy_id
2083 , put_away_strategy_id
2084 , unit_number
2085 , ship_to_location_id
2086 , from_cost_group_id
2087 , to_cost_group_id
2088 , lpn_id
2089 , to_lpn_id
2090 , inspection_status
2091 , pick_methodology_id
2092 , container_item_id
2093 , carton_grouping_id
2094 , wms_process_flag
2095 , pick_slip_number
2096 , pick_slip_date
2097 , ship_set_id
2098 , ship_model_id
2099 , model_quantity
2100 , required_quantity
2101 --INVCONV BEGIN
2102 , secondary_quantity
2103 , secondary_quantity_delivered
2104 , secondary_quantity_detailed
2105 , secondary_uom_code
2106 , secondary_required_quantity
2107 , grade_code
2108 --INVCONV END;
2109 )
2110 VALUES (
2111 p_trolin_rec.attribute1
2112 , p_trolin_rec.attribute10
2113 , p_trolin_rec.attribute11
2114 , p_trolin_rec.attribute12
2115 , p_trolin_rec.attribute13
2116 , p_trolin_rec.attribute14
2117 , p_trolin_rec.attribute15
2118 , p_trolin_rec.attribute2
2119 , p_trolin_rec.attribute3
2120 , p_trolin_rec.attribute4
2121 , p_trolin_rec.attribute5
2122 , p_trolin_rec.attribute6
2123 , p_trolin_rec.attribute7
2124 , p_trolin_rec.attribute8
2125 , p_trolin_rec.attribute9
2126 , p_trolin_rec.attribute_category
2127 , p_trolin_rec.created_by
2128 , p_trolin_rec.creation_date
2129 , p_trolin_rec.date_required
2130 , p_trolin_rec.from_locator_id
2131 , p_trolin_rec.from_subinventory_code
2132 , p_trolin_rec.from_subinventory_id
2133 , p_trolin_rec.header_id
2134 , p_trolin_rec.inventory_item_id
2135 , p_trolin_rec.last_updated_by
2136 , p_trolin_rec.last_update_date
2137 , p_trolin_rec.last_update_login
2138 , p_trolin_rec.line_id
2139 , p_trolin_rec.line_number
2140 , p_trolin_rec.line_status
2141 , p_trolin_rec.lot_number
2142 , p_trolin_rec.organization_id
2143 , p_trolin_rec.program_application_id
2144 , p_trolin_rec.program_id
2145 , p_trolin_rec.program_update_date
2146 , p_trolin_rec.project_id
2147 , p_trolin_rec.quantity
2148 , p_trolin_rec.quantity_delivered
2149 , p_trolin_rec.quantity_detailed
2150 , p_trolin_rec.reason_id
2151 , p_trolin_rec.REFERENCE
2152 , p_trolin_rec.reference_id
2153 , p_trolin_rec.reference_type_code
2154 , p_trolin_rec.request_id
2155 , p_trolin_rec.revision
2156 , p_trolin_rec.serial_number_end
2157 , p_trolin_rec.serial_number_start
2158 , p_trolin_rec.status_date
2159 , p_trolin_rec.task_id
2160 , p_trolin_rec.to_account_id
2161 , p_trolin_rec.to_locator_id
2162 , p_trolin_rec.to_subinventory_code
2163 , p_trolin_rec.to_subinventory_id
2164 , p_trolin_rec.transaction_header_id
2165 , p_trolin_rec.uom_code
2166 , p_trolin_rec.transaction_type_id
2167 , p_trolin_rec.transaction_source_type_id
2168 , p_trolin_rec.txn_source_id
2169 , p_trolin_rec.txn_source_line_id
2170 , p_trolin_rec.txn_source_line_detail_id
2171 , p_trolin_rec.to_organization_id
2172 , p_trolin_rec.primary_quantity
2173 , p_trolin_rec.pick_strategy_id
2174 , p_trolin_rec.put_away_strategy_id
2175 , p_trolin_rec.unit_number
2176 , p_trolin_rec.ship_to_location_id
2177 , p_trolin_rec.from_cost_group_id
2178 , p_trolin_rec.to_cost_group_id
2179 , p_trolin_rec.lpn_id
2180 , p_trolin_rec.to_lpn_id
2181 , p_trolin_rec.inspection_status
2182 , p_trolin_rec.pick_methodology_id
2183 , p_trolin_rec.container_item_id
2184 , p_trolin_rec.carton_grouping_id
2185 , p_trolin_rec.wms_process_flag
2186 , p_trolin_rec.pick_slip_number
2187 , p_trolin_rec.pick_slip_date
2188 , p_trolin_rec.ship_set_id
2189 , p_trolin_rec.ship_model_id
2190 , p_trolin_rec.model_quantity
2191 , p_trolin_rec.required_quantity
2192 --INVCONV BEGIN
2193 , p_trolin_rec.secondary_quantity
2194 , p_trolin_rec.secondary_quantity_delivered
2195 , p_trolin_rec.secondary_quantity_detailed
2196 , p_trolin_rec.secondary_uom
2197 , p_trolin_rec.secondary_required_quantity
2198 , p_trolin_rec.grade_code
2199 --INVCONV END;
2200 );
2201 EXCEPTION
2202 WHEN OTHERS THEN
2203 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
2204 fnd_msg_pub.add_exc_msg(g_pkg_name, 'Insert_Row');
2205 END IF;
2206
2207 RAISE fnd_api.g_exc_unexpected_error;
2208 END insert_row;
2209
2210 -- Procedure Delete_Row
2211
2212 PROCEDURE delete_row(p_line_id IN NUMBER) IS
2213 BEGIN
2214 DELETE FROM mtl_txn_request_lines
2215 WHERE line_id = p_line_id;
2216 EXCEPTION
2217 WHEN OTHERS THEN
2218 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
2219 fnd_msg_pub.add_exc_msg(g_pkg_name, 'Delete_Row');
2220 END IF;
2221
2222 RAISE fnd_api.g_exc_unexpected_error;
2223 END delete_row;
2224
2225 -- Function Get_Lines
2226
2227 FUNCTION get_lines(p_header_id IN NUMBER)
2228 RETURN inv_move_order_pub.trolin_tbl_type IS
2229 BEGIN
2230 RETURN query_rows(p_header_id => p_header_id);
2231 END get_lines;
2232
2233 -- Function Query_Row
2234
2235 FUNCTION query_row(p_line_id IN NUMBER)
2236 RETURN inv_move_order_pub.trolin_rec_type IS
2237 BEGIN
2238 /* inv_debug.message('TRO: in query_row '||to_char(p_line_id)); */
2239 RETURN query_rows(p_line_id => p_line_id)(1);
2240 END query_row;
2241
2242 -- Function Query_Rows
2243
2244 --
2245
2246 FUNCTION query_rows(p_line_id IN NUMBER := fnd_api.g_miss_num, p_header_id IN NUMBER := fnd_api.g_miss_num)
2247 RETURN inv_move_order_pub.trolin_tbl_type IS
2248 l_trolin_rec inv_move_order_pub.trolin_rec_type;
2249 l_trolin_tbl inv_move_order_pub.trolin_tbl_type;
2250
2251 --bug 2569864 - create separate cursors on header_id and line_Id
2252 CURSOR l_trolin_csr IS
2253 SELECT attribute1
2254 , attribute10
2255 , attribute11
2256 , attribute12
2257 , attribute13
2258 , attribute14
2259 , attribute15
2260 , attribute2
2261 , attribute3
2262 , attribute4
2263 , attribute5
2264 , attribute6
2265 , attribute7
2266 , attribute8
2267 , attribute9
2268 , attribute_category
2269 , created_by
2270 , creation_date
2271 , date_required
2272 , from_locator_id
2273 , from_subinventory_code
2274 , from_subinventory_id
2275 , header_id
2276 , inventory_item_id
2277 , last_updated_by
2278 , last_update_date
2279 , last_update_login
2280 , line_id
2281 , line_number
2282 , line_status
2283 , lot_number
2284 , organization_id
2285 , program_application_id
2286 , program_id
2287 , program_update_date
2288 , project_id
2289 , quantity
2290 , quantity_delivered
2291 , quantity_detailed
2292 , reason_id
2293 , REFERENCE
2294 , reference_id
2295 , reference_type_code
2296 , request_id
2297 , revision
2298 , serial_number_end
2299 , serial_number_start
2300 , status_date
2301 , task_id
2302 , to_account_id
2303 , to_locator_id
2304 , to_subinventory_code
2305 , to_subinventory_id
2306 , transaction_header_id
2307 , uom_code
2308 , transaction_type_id
2309 , transaction_source_type_id
2310 , txn_source_id
2311 , txn_source_line_id
2312 , txn_source_line_detail_id
2313 , to_organization_id
2314 , primary_quantity
2315 , pick_strategy_id
2316 , put_away_strategy_id
2317 , unit_number
2318 , ship_to_location_id
2319 , from_cost_group_id
2320 , to_cost_group_id
2321 , lpn_id
2322 , to_lpn_id
2323 , inspection_status
2324 , pick_methodology_id
2325 , container_item_id
2326 , carton_grouping_id
2327 , wms_process_flag
2328 , pick_slip_number
2329 , pick_slip_date
2330 , ship_set_id
2331 , ship_model_id
2332 , model_quantity
2333 , required_quantity
2334 --INVCONV BEGIN
2335 , secondary_quantity
2336 , secondary_quantity_delivered
2337 , secondary_quantity_detailed
2338 , secondary_uom_code
2339 , grade_code
2340 , secondary_required_quantity
2341 --INVCONV END;
2342 FROM mtl_txn_request_lines
2343 WHERE line_id = p_line_id;
2344
2345 CURSOR l_trolin_csr_header IS
2346 SELECT attribute1
2347 , attribute10
2348 , attribute11
2349 , attribute12
2350 , attribute13
2351 , attribute14
2352 , attribute15
2353 , attribute2
2354 , attribute3
2355 , attribute4
2356 , attribute5
2357 , attribute6
2358 , attribute7
2359 , attribute8
2360 , attribute9
2361 , attribute_category
2362 , created_by
2363 , creation_date
2364 , date_required
2365 , from_locator_id
2366 , from_subinventory_code
2367 , from_subinventory_id
2368 , header_id
2369 , inventory_item_id
2370 , last_updated_by
2371 , last_update_date
2372 , last_update_login
2373 , line_id
2374 , line_number
2375 , line_status
2376 , lot_number
2377 , organization_id
2378 , program_application_id
2379 , program_id
2380 , program_update_date
2381 , project_id
2382 , quantity
2383 , quantity_delivered
2384 , quantity_detailed
2385 , reason_id
2386 , REFERENCE
2387 , reference_id
2388 , reference_type_code
2389 , request_id
2390 , revision
2391 , serial_number_end
2392 , serial_number_start
2393 , status_date
2394 , task_id
2395 , to_account_id
2396 , to_locator_id
2397 , to_subinventory_code
2398 , to_subinventory_id
2399 , transaction_header_id
2400 , uom_code
2401 , transaction_type_id
2402 , transaction_source_type_id
2403 , txn_source_id
2404 , txn_source_line_id
2405 , txn_source_line_detail_id
2406 , to_organization_id
2407 , primary_quantity
2408 , pick_strategy_id
2409 , put_away_strategy_id
2410 , unit_number
2411 , ship_to_location_id
2412 , from_cost_group_id
2413 , to_cost_group_id
2414 , lpn_id
2415 , to_lpn_id
2416 , inspection_status
2417 , pick_methodology_id
2418 , container_item_id
2419 , carton_grouping_id
2420 , wms_process_flag
2421 , pick_slip_number
2422 , pick_slip_date
2423 , ship_set_id
2424 , ship_model_id
2425 , model_quantity
2426 , required_quantity
2427 --INVCONV BEGIN
2428 , secondary_quantity
2429 , secondary_quantity_delivered
2430 , secondary_quantity_detailed
2431 , secondary_uom_code
2432 , grade_code
2433 , secondary_required_quantity
2434 --INVCONV END;
2435 FROM mtl_txn_request_lines
2436 WHERE header_id = p_header_id;
2437 BEGIN
2438 /*inv_debug.message('TRO: line_id '||to_char(p_line_id)||' header_id '||to_char(p_header_id)); */
2439
2440 IF (p_line_id IS NOT NULL
2441 AND p_line_id <> fnd_api.g_miss_num
2442 )
2443 AND (p_header_id IS NOT NULL
2444 AND p_header_id <> fnd_api.g_miss_num
2445 ) THEN
2446 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
2447 fnd_msg_pub.add_exc_msg(g_pkg_name, 'Query Rows', 'Keys are mutually exclusive: line_id = ' || p_line_id || ', header_id = ' || p_header_id);
2448 END IF;
2449
2450 RAISE fnd_api.g_exc_unexpected_error;
2451 END IF;
2452
2453 IF (p_line_id IS NOT NULL
2454 AND p_line_id <> fnd_api.g_miss_num
2455 ) THEN
2456 -- Loop over fetched records
2457
2458 FOR l_implicit_rec IN l_trolin_csr LOOP
2459 l_trolin_rec.attribute1 := l_implicit_rec.attribute1;
2460 l_trolin_rec.attribute10 := l_implicit_rec.attribute10;
2461 l_trolin_rec.attribute11 := l_implicit_rec.attribute11;
2462 l_trolin_rec.attribute12 := l_implicit_rec.attribute12;
2463 l_trolin_rec.attribute13 := l_implicit_rec.attribute13;
2464 l_trolin_rec.attribute14 := l_implicit_rec.attribute14;
2465 l_trolin_rec.attribute15 := l_implicit_rec.attribute15;
2466 l_trolin_rec.attribute2 := l_implicit_rec.attribute2;
2467 l_trolin_rec.attribute3 := l_implicit_rec.attribute3;
2468 l_trolin_rec.attribute4 := l_implicit_rec.attribute4;
2469 l_trolin_rec.attribute5 := l_implicit_rec.attribute5;
2470 l_trolin_rec.attribute6 := l_implicit_rec.attribute6;
2471 l_trolin_rec.attribute7 := l_implicit_rec.attribute7;
2472 l_trolin_rec.attribute8 := l_implicit_rec.attribute8;
2473 l_trolin_rec.attribute9 := l_implicit_rec.attribute9;
2474 l_trolin_rec.attribute_category := l_implicit_rec.attribute_category;
2475 l_trolin_rec.created_by := l_implicit_rec.created_by;
2476 l_trolin_rec.creation_date := l_implicit_rec.creation_date;
2477 l_trolin_rec.date_required := l_implicit_rec.date_required;
2478 l_trolin_rec.from_locator_id := l_implicit_rec.from_locator_id;
2479 l_trolin_rec.from_subinventory_code := l_implicit_rec.from_subinventory_code;
2480 l_trolin_rec.from_subinventory_id := l_implicit_rec.from_subinventory_id;
2481 l_trolin_rec.header_id := l_implicit_rec.header_id;
2482 l_trolin_rec.inventory_item_id := l_implicit_rec.inventory_item_id;
2483 l_trolin_rec.last_updated_by := l_implicit_rec.last_updated_by;
2484 l_trolin_rec.last_update_date := l_implicit_rec.last_update_date;
2485 l_trolin_rec.last_update_login := l_implicit_rec.last_update_login;
2486 l_trolin_rec.line_id := l_implicit_rec.line_id;
2487 l_trolin_rec.line_number := l_implicit_rec.line_number;
2488 l_trolin_rec.line_status := l_implicit_rec.line_status;
2489 l_trolin_rec.lot_number := l_implicit_rec.lot_number;
2490 l_trolin_rec.organization_id := l_implicit_rec.organization_id;
2491 l_trolin_rec.program_application_id := l_implicit_rec.program_application_id;
2492 l_trolin_rec.program_id := l_implicit_rec.program_id;
2493 l_trolin_rec.program_update_date := l_implicit_rec.program_update_date;
2494 l_trolin_rec.project_id := l_implicit_rec.project_id;
2495 l_trolin_rec.quantity := l_implicit_rec.quantity;
2496 l_trolin_rec.quantity_delivered := l_implicit_rec.quantity_delivered;
2497 l_trolin_rec.quantity_detailed := l_implicit_rec.quantity_detailed;
2498 l_trolin_rec.reason_id := l_implicit_rec.reason_id;
2499 l_trolin_rec.REFERENCE := l_implicit_rec.REFERENCE;
2500 l_trolin_rec.reference_id := l_implicit_rec.reference_id;
2501 l_trolin_rec.reference_type_code := l_implicit_rec.reference_type_code;
2502 l_trolin_rec.request_id := l_implicit_rec.request_id;
2503 l_trolin_rec.revision := l_implicit_rec.revision;
2504 l_trolin_rec.serial_number_end := l_implicit_rec.serial_number_end;
2505 l_trolin_rec.serial_number_start := l_implicit_rec.serial_number_start;
2506 l_trolin_rec.status_date := l_implicit_rec.status_date;
2507 l_trolin_rec.task_id := l_implicit_rec.task_id;
2508 l_trolin_rec.to_account_id := l_implicit_rec.to_account_id;
2509 l_trolin_rec.to_locator_id := l_implicit_rec.to_locator_id;
2510 l_trolin_rec.to_subinventory_code := l_implicit_rec.to_subinventory_code;
2511 l_trolin_rec.to_subinventory_id := l_implicit_rec.to_subinventory_id;
2512 l_trolin_rec.transaction_header_id := l_implicit_rec.transaction_header_id;
2513 l_trolin_rec.uom_code := l_implicit_rec.uom_code;
2514 l_trolin_rec.transaction_type_id := l_implicit_rec.transaction_type_id;
2515 l_trolin_rec.transaction_source_type_id := l_implicit_rec.transaction_source_type_id;
2516 l_trolin_rec.txn_source_id := l_implicit_rec.txn_source_id;
2517 l_trolin_rec.txn_source_line_id := l_implicit_rec.txn_source_line_id;
2518 l_trolin_rec.txn_source_line_detail_id := l_implicit_rec.txn_source_line_detail_id;
2519 l_trolin_rec.to_organization_id := l_implicit_rec.to_organization_id;
2520 l_trolin_rec.primary_quantity := l_implicit_rec.primary_quantity;
2521 l_trolin_rec.pick_strategy_id := l_implicit_rec.pick_strategy_id;
2522 l_trolin_rec.put_away_strategy_id := l_implicit_rec.put_away_strategy_id;
2523 l_trolin_rec.unit_number := l_implicit_rec.unit_number;
2524 l_trolin_rec.ship_to_location_id := l_implicit_rec.ship_to_location_id;
2525 l_trolin_rec.from_cost_group_id := l_implicit_rec.from_cost_group_id;
2526 l_trolin_rec.to_cost_group_id := l_implicit_rec.to_cost_group_id;
2527 l_trolin_rec.lpn_id := l_implicit_rec.lpn_id;
2528 l_trolin_rec.to_lpn_id := l_implicit_rec.to_lpn_id;
2529 l_trolin_rec.inspection_status := l_implicit_rec.inspection_status;
2530 l_trolin_rec.pick_methodology_id := l_implicit_rec.pick_methodology_id;
2531 l_trolin_rec.container_item_id := l_implicit_rec.container_item_id;
2532 l_trolin_rec.carton_grouping_id := l_implicit_rec.carton_grouping_id;
2533 l_trolin_rec.wms_process_flag := l_implicit_rec.wms_process_flag;
2534 l_trolin_rec.pick_slip_number := l_implicit_rec.pick_slip_number;
2535 l_trolin_rec.pick_slip_date := l_implicit_rec.pick_slip_date;
2536 l_trolin_rec.ship_set_id := l_implicit_rec.ship_set_id;
2537 l_trolin_rec.ship_model_id := l_implicit_rec.ship_model_id;
2538 l_trolin_rec.model_quantity := l_implicit_rec.model_quantity;
2539 l_trolin_rec.required_quantity := l_implicit_rec.required_quantity;
2540 --INVCONV BEGIN
2541 l_trolin_rec.secondary_quantity := l_implicit_rec.secondary_quantity;
2542 l_trolin_rec.secondary_quantity_delivered := l_implicit_rec.secondary_quantity_delivered;
2543 l_trolin_rec.secondary_quantity_detailed := l_implicit_rec.secondary_quantity_detailed;
2544 l_trolin_rec.secondary_uom := l_implicit_rec.secondary_uom_code;
2545 l_trolin_rec.grade_code := l_implicit_rec.grade_code;
2546 l_trolin_rec.secondary_required_quantity := l_implicit_rec.secondary_required_quantity;
2547 --INVCONV END;
2548
2549 l_trolin_tbl(l_trolin_tbl.COUNT + 1) := l_trolin_rec;
2550 END LOOP;
2551 ELSE
2552 FOR l_implicit_rec IN l_trolin_csr_header LOOP
2553 l_trolin_rec.attribute1 := l_implicit_rec.attribute1;
2554 l_trolin_rec.attribute10 := l_implicit_rec.attribute10;
2555 l_trolin_rec.attribute11 := l_implicit_rec.attribute11;
2556 l_trolin_rec.attribute12 := l_implicit_rec.attribute12;
2557 l_trolin_rec.attribute13 := l_implicit_rec.attribute13;
2558 l_trolin_rec.attribute14 := l_implicit_rec.attribute14;
2559 l_trolin_rec.attribute15 := l_implicit_rec.attribute15;
2560 l_trolin_rec.attribute2 := l_implicit_rec.attribute2;
2561 l_trolin_rec.attribute3 := l_implicit_rec.attribute3;
2562 l_trolin_rec.attribute4 := l_implicit_rec.attribute4;
2563 l_trolin_rec.attribute5 := l_implicit_rec.attribute5;
2564 l_trolin_rec.attribute6 := l_implicit_rec.attribute6;
2565 l_trolin_rec.attribute7 := l_implicit_rec.attribute7;
2566 l_trolin_rec.attribute8 := l_implicit_rec.attribute8;
2567 l_trolin_rec.attribute9 := l_implicit_rec.attribute9;
2568 l_trolin_rec.attribute_category := l_implicit_rec.attribute_category;
2569 l_trolin_rec.created_by := l_implicit_rec.created_by;
2570 l_trolin_rec.creation_date := l_implicit_rec.creation_date;
2571 l_trolin_rec.date_required := l_implicit_rec.date_required;
2572 l_trolin_rec.from_locator_id := l_implicit_rec.from_locator_id;
2573 l_trolin_rec.from_subinventory_code := l_implicit_rec.from_subinventory_code;
2574 l_trolin_rec.from_subinventory_id := l_implicit_rec.from_subinventory_id;
2575 l_trolin_rec.header_id := l_implicit_rec.header_id;
2576 l_trolin_rec.inventory_item_id := l_implicit_rec.inventory_item_id;
2577 l_trolin_rec.last_updated_by := l_implicit_rec.last_updated_by;
2578 l_trolin_rec.last_update_date := l_implicit_rec.last_update_date;
2579 l_trolin_rec.last_update_login := l_implicit_rec.last_update_login;
2580 l_trolin_rec.line_id := l_implicit_rec.line_id;
2581 l_trolin_rec.line_number := l_implicit_rec.line_number;
2582 l_trolin_rec.line_status := l_implicit_rec.line_status;
2583 l_trolin_rec.lot_number := l_implicit_rec.lot_number;
2584 l_trolin_rec.organization_id := l_implicit_rec.organization_id;
2585 l_trolin_rec.program_application_id := l_implicit_rec.program_application_id;
2586 l_trolin_rec.program_id := l_implicit_rec.program_id;
2587 l_trolin_rec.program_update_date := l_implicit_rec.program_update_date;
2588 l_trolin_rec.project_id := l_implicit_rec.project_id;
2589 l_trolin_rec.quantity := l_implicit_rec.quantity;
2590 l_trolin_rec.quantity_delivered := l_implicit_rec.quantity_delivered;
2591 l_trolin_rec.quantity_detailed := l_implicit_rec.quantity_detailed;
2592 l_trolin_rec.reason_id := l_implicit_rec.reason_id;
2593 l_trolin_rec.REFERENCE := l_implicit_rec.REFERENCE;
2594 l_trolin_rec.reference_id := l_implicit_rec.reference_id;
2595 l_trolin_rec.reference_type_code := l_implicit_rec.reference_type_code;
2596 l_trolin_rec.request_id := l_implicit_rec.request_id;
2597 l_trolin_rec.revision := l_implicit_rec.revision;
2598 l_trolin_rec.serial_number_end := l_implicit_rec.serial_number_end;
2599 l_trolin_rec.serial_number_start := l_implicit_rec.serial_number_start;
2600 l_trolin_rec.status_date := l_implicit_rec.status_date;
2601 l_trolin_rec.task_id := l_implicit_rec.task_id;
2602 l_trolin_rec.to_account_id := l_implicit_rec.to_account_id;
2603 l_trolin_rec.to_locator_id := l_implicit_rec.to_locator_id;
2604 l_trolin_rec.to_subinventory_code := l_implicit_rec.to_subinventory_code;
2605 l_trolin_rec.to_subinventory_id := l_implicit_rec.to_subinventory_id;
2606 l_trolin_rec.transaction_header_id := l_implicit_rec.transaction_header_id;
2607 l_trolin_rec.uom_code := l_implicit_rec.uom_code;
2608 l_trolin_rec.transaction_type_id := l_implicit_rec.transaction_type_id;
2609 l_trolin_rec.transaction_source_type_id := l_implicit_rec.transaction_source_type_id;
2610 l_trolin_rec.txn_source_id := l_implicit_rec.txn_source_id;
2611 l_trolin_rec.txn_source_line_id := l_implicit_rec.txn_source_line_id;
2612 l_trolin_rec.txn_source_line_detail_id := l_implicit_rec.txn_source_line_detail_id;
2613 l_trolin_rec.to_organization_id := l_implicit_rec.to_organization_id;
2614 l_trolin_rec.primary_quantity := l_implicit_rec.primary_quantity;
2615 l_trolin_rec.pick_strategy_id := l_implicit_rec.pick_strategy_id;
2616 l_trolin_rec.put_away_strategy_id := l_implicit_rec.put_away_strategy_id;
2617 l_trolin_rec.unit_number := l_implicit_rec.unit_number;
2618 l_trolin_rec.ship_to_location_id := l_implicit_rec.ship_to_location_id;
2619 l_trolin_rec.from_cost_group_id := l_implicit_rec.from_cost_group_id;
2620 l_trolin_rec.to_cost_group_id := l_implicit_rec.to_cost_group_id;
2621 l_trolin_rec.lpn_id := l_implicit_rec.lpn_id;
2622 l_trolin_rec.to_lpn_id := l_implicit_rec.to_lpn_id;
2623 l_trolin_rec.inspection_status := l_implicit_rec.inspection_status;
2624 l_trolin_rec.pick_methodology_id := l_implicit_rec.pick_methodology_id;
2625 l_trolin_rec.container_item_id := l_implicit_rec.container_item_id;
2626 l_trolin_rec.carton_grouping_id := l_implicit_rec.carton_grouping_id;
2627 l_trolin_rec.wms_process_flag := l_implicit_rec.wms_process_flag;
2628 l_trolin_rec.pick_slip_number := l_implicit_rec.pick_slip_number;
2629 l_trolin_rec.pick_slip_date := l_implicit_rec.pick_slip_date;
2630 l_trolin_rec.ship_set_id := l_implicit_rec.ship_set_id;
2631 l_trolin_rec.ship_model_id := l_implicit_rec.ship_model_id;
2632 l_trolin_rec.model_quantity := l_implicit_rec.model_quantity;
2633 l_trolin_rec.required_quantity := l_implicit_rec.required_quantity;
2634 --INVCONV BEGIN
2635 l_trolin_rec.secondary_quantity := l_implicit_rec.secondary_quantity;
2636 l_trolin_rec.secondary_quantity_delivered := l_implicit_rec.secondary_quantity_delivered;
2637 l_trolin_rec.secondary_quantity_detailed := l_implicit_rec.secondary_quantity_detailed;
2638 l_trolin_rec.secondary_uom := l_implicit_rec.secondary_uom_code;
2639 l_trolin_rec.grade_code := l_implicit_rec.grade_code;
2640 l_trolin_rec.secondary_required_quantity := l_implicit_rec.secondary_required_quantity;
2641 --INVCONV END;
2642 l_trolin_tbl(l_trolin_tbl.COUNT + 1) := l_trolin_rec;
2643 END LOOP;
2644 END IF;
2645
2646 -- PK sent and no rows found
2647
2648 IF (p_line_id IS NOT NULL
2649 AND p_line_id <> fnd_api.g_miss_num
2650 )
2651 AND (l_trolin_tbl.COUNT = 0) THEN
2652 RAISE NO_DATA_FOUND;
2653 END IF;
2654
2655 -- Return fetched table
2656
2657 RETURN l_trolin_tbl;
2658 EXCEPTION
2659 WHEN fnd_api.g_exc_unexpected_error THEN
2660 RAISE fnd_api.g_exc_unexpected_error;
2661 WHEN OTHERS THEN
2662 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
2663 fnd_msg_pub.add_exc_msg(g_pkg_name, 'Query_Rows');
2664 END IF;
2665
2666 RAISE fnd_api.g_exc_unexpected_error;
2667 END query_rows;
2668
2669 -- Procedure lock_Row
2670 --
2671
2672 PROCEDURE lock_row(x_return_status OUT NOCOPY VARCHAR2, p_trolin_rec IN inv_move_order_pub.trolin_rec_type, x_trolin_rec IN OUT NOCOPY inv_move_order_pub.trolin_rec_type) IS
2673 l_trolin_rec inv_move_order_pub.trolin_rec_type;
2674 BEGIN
2675 SELECT attribute1
2676 , attribute10
2677 , attribute11
2678 , attribute12
2679 , attribute13
2680 , attribute14
2681 , attribute15
2682 , attribute2
2683 , attribute3
2684 , attribute4
2685 , attribute5
2686 , attribute6
2687 , attribute7
2688 , attribute8
2689 , attribute9
2690 , attribute_category
2691 , created_by
2692 , creation_date
2693 , date_required
2694 , from_locator_id
2695 , from_subinventory_code
2696 , from_subinventory_id
2697 , header_id
2698 , inventory_item_id
2699 , last_updated_by
2700 , last_update_date
2701 , last_update_login
2702 , line_id
2703 , line_number
2704 , line_status
2705 , lot_number
2706 , organization_id
2707 , program_application_id
2708 , program_id
2709 , program_update_date
2710 , project_id
2711 , quantity
2712 , quantity_delivered
2713 , quantity_detailed
2714 , reason_id
2715 , REFERENCE
2716 , reference_id
2717 , reference_type_code
2718 , request_id
2719 , revision
2720 , serial_number_end
2721 , serial_number_start
2722 , status_date
2723 , task_id
2724 , to_account_id
2725 , to_locator_id
2726 , to_subinventory_code
2727 , to_subinventory_id
2728 , transaction_header_id
2729 , uom_code
2730 , transaction_type_id
2731 , transaction_source_type_id
2732 , txn_source_id
2733 , txn_source_line_id
2734 , txn_source_line_detail_id
2735 , to_organization_id
2736 , primary_quantity
2737 , pick_strategy_id
2738 , put_away_strategy_id
2739 , unit_number
2740 , ship_to_location_id
2741 , from_cost_group_id
2742 , to_cost_group_id
2743 , lpn_id
2744 , to_lpn_id
2745 , inspection_status
2746 , pick_methodology_id
2747 , container_item_id
2748 , carton_grouping_id
2749 , wms_process_flag
2750 , pick_slip_number
2751 , pick_slip_date
2752 , ship_set_id
2753 , ship_model_id
2754 , model_quantity
2755 , required_quantity
2756 --INVCONV BEGIN
2757 , secondary_quantity
2758 , secondary_quantity_delivered
2759 , secondary_quantity_detailed
2760 , uom_code
2761 , grade_code
2762 , secondary_required_quantity
2763 --INVCONV END
2764 INTO l_trolin_rec.attribute1
2765 , l_trolin_rec.attribute10
2766 , l_trolin_rec.attribute11
2767 , l_trolin_rec.attribute12
2768 , l_trolin_rec.attribute13
2769 , l_trolin_rec.attribute14
2770 , l_trolin_rec.attribute15
2771 , l_trolin_rec.attribute2
2772 , l_trolin_rec.attribute3
2773 , l_trolin_rec.attribute4
2774 , l_trolin_rec.attribute5
2775 , l_trolin_rec.attribute6
2776 , l_trolin_rec.attribute7
2777 , l_trolin_rec.attribute8
2778 , l_trolin_rec.attribute9
2779 , l_trolin_rec.attribute_category
2780 , l_trolin_rec.created_by
2781 , l_trolin_rec.creation_date
2782 , l_trolin_rec.date_required
2783 , l_trolin_rec.from_locator_id
2784 , l_trolin_rec.from_subinventory_code
2785 , l_trolin_rec.from_subinventory_id
2786 , l_trolin_rec.header_id
2787 , l_trolin_rec.inventory_item_id
2788 , l_trolin_rec.last_updated_by
2789 , l_trolin_rec.last_update_date
2790 , l_trolin_rec.last_update_login
2791 , l_trolin_rec.line_id
2792 , l_trolin_rec.line_number
2793 , l_trolin_rec.line_status
2794 , l_trolin_rec.lot_number
2795 , l_trolin_rec.organization_id
2796 , l_trolin_rec.program_application_id
2797 , l_trolin_rec.program_id
2798 , l_trolin_rec.program_update_date
2799 , l_trolin_rec.project_id
2800 , l_trolin_rec.quantity
2801 , l_trolin_rec.quantity_delivered
2802 , l_trolin_rec.quantity_detailed
2803 , l_trolin_rec.reason_id
2804 , l_trolin_rec.REFERENCE
2805 , l_trolin_rec.reference_id
2806 , l_trolin_rec.reference_type_code
2807 , l_trolin_rec.request_id
2808 , l_trolin_rec.revision
2809 , l_trolin_rec.serial_number_end
2810 , l_trolin_rec.serial_number_start
2811 , l_trolin_rec.status_date
2812 , l_trolin_rec.task_id
2813 , l_trolin_rec.to_account_id
2814 , l_trolin_rec.to_locator_id
2815 , l_trolin_rec.to_subinventory_code
2816 , l_trolin_rec.to_subinventory_id
2817 , l_trolin_rec.transaction_header_id
2818 , l_trolin_rec.uom_code
2819 , l_trolin_rec.transaction_type_id
2820 , l_trolin_rec.transaction_source_type_id
2821 , l_trolin_rec.txn_source_id
2822 , l_trolin_rec.txn_source_line_id
2823 , l_trolin_rec.txn_source_line_detail_id
2824 , l_trolin_rec.to_organization_id
2825 , l_trolin_rec.primary_quantity
2826 , l_trolin_rec.pick_strategy_id
2827 , l_trolin_rec.put_away_strategy_id
2828 , l_trolin_rec.unit_number
2829 , l_trolin_rec.ship_to_location_id
2830 , l_trolin_rec.from_cost_group_id
2831 , l_trolin_rec.to_cost_group_id
2832 , l_trolin_rec.lpn_id
2833 , l_trolin_rec.to_lpn_id
2834 , l_trolin_rec.inspection_status
2835 , l_trolin_rec.pick_methodology_id
2836 , l_trolin_rec.container_item_id
2837 , l_trolin_rec.carton_grouping_id
2838 , l_trolin_rec.wms_process_flag
2839 , l_trolin_rec.pick_slip_number
2840 , l_trolin_rec.pick_slip_date
2841 , l_trolin_rec.ship_set_id
2842 , l_trolin_rec.ship_model_id
2843 , l_trolin_rec.model_quantity
2844 , l_trolin_rec.required_quantity
2845 --INVCONV BEGIN
2846 , l_trolin_rec.secondary_quantity
2847 , l_trolin_rec.secondary_quantity_delivered
2848 , l_trolin_rec.secondary_quantity_detailed
2849 , l_trolin_rec.uom_code
2850 , l_trolin_rec.grade_code
2851 , l_trolin_rec.secondary_required_quantity
2852 --INVCONV END
2853 FROM mtl_txn_request_lines
2854 WHERE line_id = p_trolin_rec.line_id
2855 FOR UPDATE NOWAIT;
2856
2857 -- Row locked. Compare IN attributes to DB attributes.
2858
2859 IF inv_globals.equal(p_trolin_rec.attribute1, l_trolin_rec.attribute1)
2860 AND inv_globals.equal(p_trolin_rec.attribute10, l_trolin_rec.attribute10)
2861 AND inv_globals.equal(p_trolin_rec.attribute11, l_trolin_rec.attribute11)
2862 AND inv_globals.equal(p_trolin_rec.attribute12, l_trolin_rec.attribute12)
2863 AND inv_globals.equal(p_trolin_rec.attribute13, l_trolin_rec.attribute13)
2864 AND inv_globals.equal(p_trolin_rec.attribute14, l_trolin_rec.attribute14)
2865 AND inv_globals.equal(p_trolin_rec.attribute15, l_trolin_rec.attribute15)
2866 AND inv_globals.equal(p_trolin_rec.attribute2, l_trolin_rec.attribute2)
2867 AND inv_globals.equal(p_trolin_rec.attribute3, l_trolin_rec.attribute3)
2868 AND inv_globals.equal(p_trolin_rec.attribute4, l_trolin_rec.attribute4)
2869 AND inv_globals.equal(p_trolin_rec.attribute5, l_trolin_rec.attribute5)
2870 AND inv_globals.equal(p_trolin_rec.attribute6, l_trolin_rec.attribute6)
2871 AND inv_globals.equal(p_trolin_rec.attribute7, l_trolin_rec.attribute7)
2872 AND inv_globals.equal(p_trolin_rec.attribute8, l_trolin_rec.attribute8)
2873 AND inv_globals.equal(p_trolin_rec.attribute9, l_trolin_rec.attribute9)
2874 AND inv_globals.equal(p_trolin_rec.attribute_category, l_trolin_rec.attribute_category)
2875 AND (inv_globals.equal(p_trolin_rec.created_by, l_trolin_rec.created_by)
2876 OR (p_trolin_rec.created_by = fnd_api.g_miss_num
2877 AND l_trolin_rec.created_by IS NULL
2878 )
2879 )
2880 AND (inv_globals.equal(p_trolin_rec.creation_date, l_trolin_rec.creation_date)
2881 OR (p_trolin_rec.creation_date = fnd_api.g_miss_date
2882 AND l_trolin_rec.creation_date IS NULL
2883 )
2884 )
2885 AND (inv_globals.equal(p_trolin_rec.date_required, l_trolin_rec.date_required)
2886 OR (p_trolin_rec.date_required = fnd_api.g_miss_date
2887 AND l_trolin_rec.date_required IS NULL
2888 )
2889 )
2890 AND (inv_globals.equal(p_trolin_rec.from_locator_id, l_trolin_rec.from_locator_id)
2891 OR (p_trolin_rec.from_locator_id = fnd_api.g_miss_num
2892 AND l_trolin_rec.from_locator_id IS NULL
2893 )
2894 )
2895 AND (inv_globals.equal(p_trolin_rec.from_subinventory_code, l_trolin_rec.from_subinventory_code)
2896 OR (p_trolin_rec.from_subinventory_code = fnd_api.g_miss_char
2897 AND l_trolin_rec.from_subinventory_code IS NULL
2898 )
2899 )
2900 AND (inv_globals.equal(p_trolin_rec.from_subinventory_id, l_trolin_rec.from_subinventory_id)
2901 OR (p_trolin_rec.from_subinventory_id = fnd_api.g_miss_num
2902 AND l_trolin_rec.from_subinventory_id IS NULL
2903 )
2904 )
2905 AND (inv_globals.equal(p_trolin_rec.header_id, l_trolin_rec.header_id)
2906 OR (p_trolin_rec.header_id = fnd_api.g_miss_num
2907 AND l_trolin_rec.header_id IS NULL
2908 )
2909 )
2910 AND (inv_globals.equal(p_trolin_rec.inventory_item_id, l_trolin_rec.inventory_item_id)
2911 OR (p_trolin_rec.inventory_item_id = fnd_api.g_miss_num
2912 AND l_trolin_rec.inventory_item_id IS NULL
2913 )
2914 )
2915 AND (inv_globals.equal(p_trolin_rec.last_updated_by, l_trolin_rec.last_updated_by)
2916 OR (p_trolin_rec.last_updated_by = fnd_api.g_miss_num
2917 AND l_trolin_rec.last_updated_by IS NULL
2918 )
2919 )
2920 AND (inv_globals.equal(p_trolin_rec.last_update_date, l_trolin_rec.last_update_date)
2921 OR (p_trolin_rec.last_update_date = fnd_api.g_miss_date
2922 AND l_trolin_rec.last_update_date IS NULL
2923 )
2924 )
2925 AND (inv_globals.equal(p_trolin_rec.last_update_login, l_trolin_rec.last_update_login)
2926 OR (p_trolin_rec.last_update_login = fnd_api.g_miss_num
2927 AND l_trolin_rec.last_update_login IS NULL
2928 )
2929 )
2930 AND (inv_globals.equal(p_trolin_rec.line_id, l_trolin_rec.line_id)
2931 OR (p_trolin_rec.line_id = fnd_api.g_miss_num
2932 AND l_trolin_rec.line_id IS NULL
2933 )
2934 )
2935 AND (inv_globals.equal(p_trolin_rec.line_number, l_trolin_rec.line_number)
2936 OR (p_trolin_rec.line_number = fnd_api.g_miss_num
2937 AND l_trolin_rec.line_number IS NULL
2938 )
2939 )
2940 AND (inv_globals.equal(p_trolin_rec.line_status, l_trolin_rec.line_status)
2941 OR (p_trolin_rec.line_status = fnd_api.g_miss_num
2942 AND l_trolin_rec.line_status IS NULL
2943 )
2944 )
2945 AND (inv_globals.equal(p_trolin_rec.lot_number, l_trolin_rec.lot_number)
2946 OR (p_trolin_rec.lot_number = fnd_api.g_miss_char
2947 AND l_trolin_rec.lot_number IS NULL
2948 )
2949 )
2950 AND (inv_globals.equal(p_trolin_rec.organization_id, l_trolin_rec.organization_id)
2951 OR (p_trolin_rec.organization_id = fnd_api.g_miss_num
2952 AND l_trolin_rec.organization_id IS NULL
2953 )
2954 )
2955 AND (inv_globals.equal(p_trolin_rec.program_application_id, l_trolin_rec.program_application_id)
2956 OR (p_trolin_rec.program_application_id = fnd_api.g_miss_num
2957 AND l_trolin_rec.program_application_id IS NULL
2958 )
2959 )
2960 AND (inv_globals.equal(p_trolin_rec.program_id, l_trolin_rec.program_id)
2961 OR (p_trolin_rec.program_id = fnd_api.g_miss_num
2962 AND l_trolin_rec.program_id IS NULL
2963 )
2964 )
2965 AND (inv_globals.equal(p_trolin_rec.program_update_date, l_trolin_rec.program_update_date)
2966 OR (p_trolin_rec.program_update_date = fnd_api.g_miss_date
2967 AND l_trolin_rec.program_update_date IS NOT NULL
2968 )
2969 )
2970 AND (inv_globals.equal(p_trolin_rec.project_id, l_trolin_rec.project_id)
2971 OR (p_trolin_rec.project_id = fnd_api.g_miss_num
2972 AND l_trolin_rec.project_id IS NULL
2973 )
2974 )
2975 AND (inv_globals.equal(p_trolin_rec.quantity, l_trolin_rec.quantity)
2976 OR (p_trolin_rec.quantity = fnd_api.g_miss_num
2977 AND l_trolin_rec.quantity IS NULL
2978 )
2979 )
2980 AND (inv_globals.equal(p_trolin_rec.quantity_delivered, l_trolin_rec.quantity_delivered)
2981 OR (p_trolin_rec.quantity_delivered = fnd_api.g_miss_num
2982 AND l_trolin_rec.quantity_delivered IS NULL
2983 )
2984 )
2985 AND (inv_globals.equal(p_trolin_rec.quantity_detailed, l_trolin_rec.quantity_detailed)
2986 OR (p_trolin_rec.quantity_detailed = fnd_api.g_miss_num
2987 AND l_trolin_rec.quantity_detailed IS NULL
2988 )
2989 )
2990 AND (inv_globals.equal(p_trolin_rec.reason_id, l_trolin_rec.reason_id)
2991 OR (p_trolin_rec.reason_id = fnd_api.g_miss_num
2992 AND l_trolin_rec.reason_id IS NULL
2993 )
2994 )
2995 AND (inv_globals.equal(p_trolin_rec.REFERENCE, l_trolin_rec.REFERENCE)
2996 OR (p_trolin_rec.REFERENCE = fnd_api.g_miss_char
2997 AND l_trolin_rec.REFERENCE IS NULL
2998 )
2999 )
3000 AND (inv_globals.equal(p_trolin_rec.reference_id, l_trolin_rec.reference_id)
3001 OR (p_trolin_rec.reference_id = fnd_api.g_miss_num
3002 AND l_trolin_rec.reference_id IS NULL
3003 )
3004 )
3005 AND (inv_globals.equal(p_trolin_rec.reference_type_code, l_trolin_rec.reference_type_code)
3006 OR (l_trolin_rec.reference_type_code = fnd_api.g_miss_num
3007 AND l_trolin_rec.reference_type_code IS NULL
3008 )
3009 )
3010 AND (inv_globals.equal(p_trolin_rec.request_id, l_trolin_rec.request_id)
3011 OR (p_trolin_rec.request_id = fnd_api.g_miss_num
3012 AND l_trolin_rec.request_id IS NULL
3013 )
3014 )
3015 AND (inv_globals.equal(p_trolin_rec.revision, l_trolin_rec.revision)
3016 OR (p_trolin_rec.revision = fnd_api.g_miss_char
3017 AND l_trolin_rec.revision IS NULL
3018 )
3019 )
3020 AND (inv_globals.equal(p_trolin_rec.serial_number_end, l_trolin_rec.serial_number_end)
3021 OR (p_trolin_rec.serial_number_end = fnd_api.g_miss_char
3022 AND l_trolin_rec.serial_number_end IS NULL
3023 )
3024 )
3025 AND (inv_globals.equal(p_trolin_rec.serial_number_start, l_trolin_rec.serial_number_start)
3026 OR (p_trolin_rec.serial_number_start = fnd_api.g_miss_char
3027 AND l_trolin_rec.serial_number_start IS NULL
3028 )
3029 )
3030 AND (inv_globals.equal(p_trolin_rec.status_date, l_trolin_rec.status_date)
3031 OR (p_trolin_rec.status_date = fnd_api.g_miss_date
3032 AND l_trolin_rec.status_date IS NULL
3033 )
3034 )
3035 AND (inv_globals.equal(p_trolin_rec.task_id, l_trolin_rec.task_id)
3036 OR (p_trolin_rec.task_id = fnd_api.g_miss_num
3037 AND l_trolin_rec.task_id IS NULL
3038 )
3039 )
3040 AND (inv_globals.equal(p_trolin_rec.to_account_id, l_trolin_rec.to_account_id)
3041 OR (p_trolin_rec.to_account_id = fnd_api.g_miss_num
3042 AND l_trolin_rec.to_account_id IS NULL
3043 )
3044 )
3045 AND (inv_globals.equal(p_trolin_rec.to_locator_id, l_trolin_rec.to_locator_id)
3046 OR (p_trolin_rec.to_locator_id = fnd_api.g_miss_num
3047 AND l_trolin_rec.to_locator_id IS NULL
3048 )
3049 )
3050 AND (inv_globals.equal(p_trolin_rec.to_subinventory_code, l_trolin_rec.to_subinventory_code)
3051 OR (p_trolin_rec.to_subinventory_code = fnd_api.g_miss_char
3052 AND l_trolin_rec.to_subinventory_code IS NULL
3053 )
3054 )
3055 AND (inv_globals.equal(p_trolin_rec.to_subinventory_id, l_trolin_rec.to_subinventory_id)
3056 OR (p_trolin_rec.to_subinventory_id = fnd_api.g_miss_num
3057 AND l_trolin_rec.to_subinventory_id IS NULL
3058 )
3059 )
3060 AND (inv_globals.equal(p_trolin_rec.transaction_header_id, l_trolin_rec.transaction_header_id)
3061 OR (p_trolin_rec.transaction_header_id = fnd_api.g_miss_num
3062 AND l_trolin_rec.transaction_header_id IS NULL
3063 )
3064 )
3065 AND (inv_globals.equal(p_trolin_rec.uom_code, l_trolin_rec.uom_code)
3066 OR (p_trolin_rec.uom_code = fnd_api.g_miss_char
3067 AND p_trolin_rec.uom_code IS NULL
3068 )
3069 )
3070 AND (inv_globals.equal(p_trolin_rec.transaction_type_id, l_trolin_rec.transaction_type_id)
3071 OR (p_trolin_rec.transaction_type_id = fnd_api.g_miss_num
3072 AND l_trolin_rec.transaction_type_id IS NULL
3073 )
3074 )
3075 AND (inv_globals.equal(p_trolin_rec.transaction_source_type_id, l_trolin_rec.transaction_source_type_id)
3076 OR (p_trolin_rec.transaction_source_type_id = fnd_api.g_miss_num
3077 AND l_trolin_rec.transaction_source_type_id IS NULL
3078 )
3079 )
3080 AND (inv_globals.equal(p_trolin_rec.txn_source_id, l_trolin_rec.txn_source_id)
3081 OR (p_trolin_rec.txn_source_id = fnd_api.g_miss_num
3082 AND l_trolin_rec.txn_source_id IS NULL
3083 )
3084 )
3085 AND inv_globals.equal(p_trolin_rec.txn_source_line_id, l_trolin_rec.txn_source_line_id)
3086 AND (inv_globals.equal(p_trolin_rec.txn_source_line_detail_id, l_trolin_rec.txn_source_line_detail_id)
3087 OR (p_trolin_rec.txn_source_line_detail_id = fnd_api.g_miss_num
3088 AND l_trolin_rec.txn_source_line_detail_id IS NULL
3089 )
3090 )
3091 AND (inv_globals.equal(p_trolin_rec.primary_quantity, l_trolin_rec.primary_quantity)
3092 OR (p_trolin_rec.primary_quantity = fnd_api.g_miss_num
3093 AND l_trolin_rec.primary_quantity IS NULL
3094 )
3095 )
3096 AND (inv_globals.equal(p_trolin_rec.to_organization_id, l_trolin_rec.to_organization_id)
3097 OR (p_trolin_rec.to_organization_id = fnd_api.g_miss_num
3098 AND l_trolin_rec.to_organization_id IS NULL
3099 )
3100 )
3101 AND (inv_globals.equal(p_trolin_rec.pick_strategy_id, l_trolin_rec.pick_strategy_id)
3102 OR (p_trolin_rec.pick_strategy_id = fnd_api.g_miss_num
3103 AND l_trolin_rec.pick_strategy_id IS NULL
3104 )
3105 )
3106 AND (inv_globals.equal(p_trolin_rec.put_away_strategy_id, l_trolin_rec.put_away_strategy_id)
3107 OR (p_trolin_rec.put_away_strategy_id = fnd_api.g_miss_num
3108 AND l_trolin_rec.put_away_strategy_id IS NULL
3109 )
3110 )
3111 AND (inv_globals.equal(p_trolin_rec.unit_number, l_trolin_rec.unit_number)
3112 OR (p_trolin_rec.unit_number = fnd_api.g_miss_char
3113 AND l_trolin_rec.unit_number IS NULL
3114 )
3115 )
3116 AND (inv_globals.equal(p_trolin_rec.ship_to_location_id, l_trolin_rec.ship_to_location_id)
3117 OR (p_trolin_rec.ship_to_location_id = fnd_api.g_miss_num
3118 AND l_trolin_rec.ship_to_location_id IS NULL
3119 )
3120 )
3121 AND (inv_globals.equal(p_trolin_rec.from_cost_group_id, l_trolin_rec.from_cost_group_id)
3122 OR (p_trolin_rec.from_cost_group_id = fnd_api.g_miss_num
3123 AND l_trolin_rec.to_cost_group_id IS NULL
3124 )
3125 )
3126 AND (inv_globals.equal(p_trolin_rec.to_cost_group_id, l_trolin_rec.to_cost_group_id)
3127 OR (p_trolin_rec.to_cost_group_id = fnd_api.g_miss_num
3128 AND l_trolin_rec.to_cost_group_id IS NULL
3129 )
3130 )
3131 AND (inv_globals.equal(p_trolin_rec.lpn_id, l_trolin_rec.lpn_id)
3132 OR (p_trolin_rec.lpn_id = fnd_api.g_miss_num
3133 AND l_trolin_rec.lpn_id IS NULL
3134 )
3135 )
3136 AND (inv_globals.equal(p_trolin_rec.to_lpn_id, l_trolin_rec.to_lpn_id)
3137 OR (p_trolin_rec.to_lpn_id = fnd_api.g_miss_num
3138 AND l_trolin_rec.to_lpn_id IS NULL
3139 )
3140 )
3141 AND inv_globals.equal(p_trolin_rec.inspection_status, l_trolin_rec.inspection_status)
3142 AND (inv_globals.equal(p_trolin_rec.pick_methodology_id, l_trolin_rec.pick_methodology_id)
3143 OR (p_trolin_rec.pick_methodology_id = fnd_api.g_miss_num
3144 AND l_trolin_rec.pick_methodology_id IS NULL
3145 )
3146 )
3147 AND (inv_globals.equal(p_trolin_rec.container_item_id, l_trolin_rec.container_item_id)
3148 OR (p_trolin_rec.container_item_id = fnd_api.g_miss_num
3149 AND l_trolin_rec.container_item_id IS NULL
3150 )
3151 )
3152 AND (inv_globals.equal(p_trolin_rec.carton_grouping_id, l_trolin_rec.carton_grouping_id)
3153 OR (p_trolin_rec.carton_grouping_id = fnd_api.g_miss_num
3154 AND l_trolin_rec.carton_grouping_id IS NULL
3155 )
3156 )
3157 AND (inv_globals.equal(p_trolin_rec.wms_process_flag, l_trolin_rec.wms_process_flag)
3158 OR (p_trolin_rec.wms_process_flag = fnd_api.g_miss_char
3159 AND l_trolin_rec.wms_process_flag IS NULL
3160 )
3161 )
3162 AND (inv_globals.equal(p_trolin_rec.pick_slip_number, l_trolin_rec.pick_slip_number)
3163 OR (p_trolin_rec.pick_slip_number = fnd_api.g_miss_num
3164 AND l_trolin_rec.pick_slip_number IS NULL
3165 )
3166 )
3167 AND (inv_globals.equal(p_trolin_rec.pick_slip_date, l_trolin_rec.pick_slip_date)
3168 OR (p_trolin_rec.pick_slip_date = fnd_api.g_miss_date
3169 AND l_trolin_rec.pick_slip_date IS NULL
3170 )
3171 )
3172 AND (inv_globals.equal(p_trolin_rec.ship_set_id, l_trolin_rec.ship_set_id)
3173 OR (p_trolin_rec.ship_set_id = fnd_api.g_miss_num
3174 AND l_trolin_rec.ship_set_id IS NULL
3175 )
3176 )
3177 AND (inv_globals.equal(p_trolin_rec.ship_model_id, l_trolin_rec.ship_model_id)
3178 OR (p_trolin_rec.ship_model_id = fnd_api.g_miss_num
3179 AND l_trolin_rec.ship_model_id IS NULL
3180 )
3181 )
3182 AND (inv_globals.equal(p_trolin_rec.model_quantity, l_trolin_rec.model_quantity)
3183 OR (p_trolin_rec.model_quantity = fnd_api.g_miss_num
3184 AND l_trolin_rec.model_quantity IS NULL
3185 )
3186 ) THEN
3187 -- Row has not changed. Set out parameter.
3188
3189 x_trolin_rec := l_trolin_rec;
3190 -- Set return status
3191
3192 x_return_status := fnd_api.g_ret_sts_success;
3193 x_trolin_rec.return_status := fnd_api.g_ret_sts_success;
3194 ELSE
3195 -- Row has changed by another user.
3196
3197 x_return_status := fnd_api.g_ret_sts_error;
3198 x_trolin_rec.return_status := fnd_api.g_ret_sts_error;
3199
3200 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
3201 fnd_message.set_name('INV', 'OE_LOCK_ROW_CHANGED');
3202 fnd_msg_pub.ADD;
3203 END IF;
3204 END IF;
3205 --Line2086
3206 EXCEPTION
3207 WHEN NO_DATA_FOUND THEN
3208 x_return_status := fnd_api.g_ret_sts_error;
3209 x_trolin_rec.return_status := fnd_api.g_ret_sts_error;
3210
3211 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
3212 fnd_message.set_name('INV', 'OE_LOCK_ROW_DELETED');
3213 fnd_msg_pub.ADD;
3214 END IF;
3215 WHEN app_exceptions.record_lock_exception THEN
3216 x_return_status := fnd_api.g_ret_sts_error;
3217 x_trolin_rec.return_status := fnd_api.g_ret_sts_error;
3218
3219 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
3220 fnd_message.set_name('INV', 'OE_LOCK_ROW_ALREADY_LOCKED');
3221 fnd_msg_pub.ADD;
3222 END IF;
3223 WHEN OTHERS THEN
3224 x_return_status := fnd_api.g_ret_sts_unexp_error;
3225 x_trolin_rec.return_status := fnd_api.g_ret_sts_unexp_error;
3226
3227 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
3228 fnd_msg_pub.add_exc_msg(g_pkg_name, 'Lock_Row');
3229 END IF;
3230 END lock_row;
3231
3232 -- Function Get_Values
3233
3234 FUNCTION get_values(p_trolin_rec IN inv_move_order_pub.trolin_rec_type, p_old_trolin_rec IN inv_move_order_pub.trolin_rec_type := inv_move_order_pub.g_miss_trolin_rec)
3235 RETURN inv_move_order_pub.trolin_val_rec_type IS
3236 l_trolin_val_rec inv_move_order_pub.trolin_val_rec_type;
3237 BEGIN
3238 -- Line2147
3239 IF p_trolin_rec.from_locator_id IS NOT NULL
3240 AND p_trolin_rec.from_locator_id <> fnd_api.g_miss_num
3241 AND NOT inv_globals.equal(p_trolin_rec.from_locator_id, p_old_trolin_rec.from_locator_id) THEN
3242 l_trolin_val_rec.from_locator := inv_id_to_value.from_locator(p_from_locator_id => p_trolin_rec.from_locator_id);
3243 END IF;
3244
3245 -- IF p_trolin_rec.from_subinventory_code IS NOT NULL AND
3246 -- p_trolin_rec.from_subinventory_code <> FND_API.G_MISS_CHAR AND
3247 -- NOT INV_GLOBALS.Equal(p_trolin_rec.from_subinventory_code,
3248 -- p_old_trolin_rec.from_subinventory_code)
3249 -- THEN
3250 -- l_trolin_val_rec.from_subinventory := INV_Id_To_Value.From_Subinventory
3251 -- ( p_from_subinventory_code => p_trolin_rec.from_subinventory_code
3252 -- );
3253 -- END IF; -- Generated
3254 -- Line 2167
3255 IF p_trolin_rec.from_subinventory_id IS NOT NULL
3256 AND p_trolin_rec.from_subinventory_id <> fnd_api.g_miss_num
3257 AND NOT inv_globals.equal(p_trolin_rec.from_subinventory_id, p_old_trolin_rec.from_subinventory_id) THEN
3258 l_trolin_val_rec.from_subinventory := inv_id_to_value.from_subinventory(p_from_subinventory_id => p_trolin_rec.from_subinventory_id);
3259 -- ( p_from_subinventory_id => p_trolin_rec.from_subinventory_id
3260 -- );
3261 END IF;
3262
3263 IF p_trolin_rec.header_id IS NOT NULL
3264 AND p_trolin_rec.header_id <> fnd_api.g_miss_num
3265 AND NOT inv_globals.equal(p_trolin_rec.header_id, p_old_trolin_rec.header_id) THEN
3266 l_trolin_val_rec.header := inv_id_to_value.header(p_header_id => p_trolin_rec.header_id);
3267 END IF;
3268
3269 IF p_trolin_rec.inventory_item_id IS NOT NULL
3270 AND p_trolin_rec.inventory_item_id <> fnd_api.g_miss_num
3271 AND NOT inv_globals.equal(p_trolin_rec.inventory_item_id, p_old_trolin_rec.inventory_item_id) THEN
3272 l_trolin_val_rec.inventory_item := inv_id_to_value.inventory_item(p_inventory_item_id => p_trolin_rec.inventory_item_id);
3273 END IF;
3274
3275 IF p_trolin_rec.line_id IS NOT NULL
3276 AND p_trolin_rec.line_id <> fnd_api.g_miss_num
3277 AND NOT inv_globals.equal(p_trolin_rec.line_id, p_old_trolin_rec.line_id) THEN
3278 l_trolin_val_rec.line := inv_id_to_value.line(p_line_id => p_trolin_rec.line_id);
3279 END IF;
3280
3281 IF p_trolin_rec.organization_id IS NOT NULL
3282 AND p_trolin_rec.organization_id <> fnd_api.g_miss_num
3283 AND NOT inv_globals.equal(p_trolin_rec.organization_id, p_old_trolin_rec.organization_id) THEN
3284 l_trolin_val_rec.ORGANIZATION := inv_id_to_value.ORGANIZATION(p_organization_id => p_trolin_rec.organization_id);
3285 END IF;
3286
3287 IF p_trolin_rec.to_organization_id IS NOT NULL
3288 AND p_trolin_rec.to_organization_id <> fnd_api.g_miss_num
3289 AND NOT inv_globals.equal(p_trolin_rec.to_organization_id, p_old_trolin_rec.to_organization_id) THEN
3290 l_trolin_val_rec.to_organization := inv_id_to_value.to_organization(p_to_organization_id => p_trolin_rec.to_organization_id);
3291 END IF;
3292
3293 IF p_trolin_rec.project_id IS NOT NULL
3294 AND p_trolin_rec.project_id <> fnd_api.g_miss_num
3295 AND NOT inv_globals.equal(p_trolin_rec.project_id, p_old_trolin_rec.project_id) THEN
3296 l_trolin_val_rec.project := inv_id_to_value.project(p_project_id => p_trolin_rec.project_id);
3297 END IF;
3298
3299 IF p_trolin_rec.reason_id IS NOT NULL
3300 AND p_trolin_rec.reason_id <> fnd_api.g_miss_num
3301 AND NOT inv_globals.equal(p_trolin_rec.reason_id, p_old_trolin_rec.reason_id) THEN
3302 l_trolin_val_rec.reason := inv_id_to_value.reason(p_reason_id => p_trolin_rec.reason_id);
3303 END IF;
3304
3305 IF p_trolin_rec.reference_id IS NOT NULL
3306 AND p_trolin_rec.reference_id <> fnd_api.g_miss_num
3307 AND NOT inv_globals.equal(p_trolin_rec.reference_id, p_old_trolin_rec.reference_id) THEN
3308 l_trolin_val_rec.REFERENCE := inv_id_to_value.REFERENCE(p_reference_id => p_trolin_rec.reference_id);
3309 END IF;
3310
3311 IF p_trolin_rec.reference_type_code IS NOT NULL
3312 AND p_trolin_rec.reference_type_code <> fnd_api.g_miss_num
3313 AND NOT inv_globals.equal(p_trolin_rec.reference_type_code, p_old_trolin_rec.reference_type_code) THEN
3314 l_trolin_val_rec.reference_type := inv_id_to_value.reference_type(p_reference_type_code => p_trolin_rec.reference_type_code);
3315 END IF;
3316
3317 IF p_trolin_rec.task_id IS NOT NULL
3318 AND p_trolin_rec.task_id <> fnd_api.g_miss_num
3319 AND NOT inv_globals.equal(p_trolin_rec.task_id, p_old_trolin_rec.task_id) THEN
3320 l_trolin_val_rec.task := inv_id_to_value.task(p_task_id => p_trolin_rec.task_id);
3321 END IF;
3322
3323 IF p_trolin_rec.to_account_id IS NOT NULL
3324 AND p_trolin_rec.to_account_id <> fnd_api.g_miss_num
3325 AND NOT inv_globals.equal(p_trolin_rec.to_account_id, p_old_trolin_rec.to_account_id) THEN
3326 l_trolin_val_rec.to_account := inv_id_to_value.to_account(p_to_account_id => p_trolin_rec.to_account_id);
3327 END IF;
3328
3329 IF p_trolin_rec.to_locator_id IS NOT NULL
3330 AND p_trolin_rec.to_locator_id <> fnd_api.g_miss_num
3331 AND NOT inv_globals.equal(p_trolin_rec.to_locator_id, p_old_trolin_rec.to_locator_id) THEN
3332 l_trolin_val_rec.to_locator := inv_id_to_value.to_locator(p_to_locator_id => p_trolin_rec.to_locator_id);
3333 END IF;
3334
3335 -- IF p_trolin_rec.to_subinventory_code IS NOT NULL AND
3336 -- p_trolin_rec.to_subinventory_code <> FND_API.G_MISS_CHAR AND
3337 -- NOT INV_GLOBALS.Equal(p_trolin_rec.to_subinventory_code,
3338 -- p_old_trolin_rec.to_subinventory_code)
3339 -- THEN
3340 -- l_trolin_val_rec.to_subinventory := INV_Id_To_Value.To_Subinventory
3341 -- ( p_to_subinventory_code => p_trolin_rec.to_subinventory_code
3342 -- );
3343 -- END IF; -- Generated
3344
3345 IF p_trolin_rec.to_subinventory_id IS NOT NULL
3346 AND p_trolin_rec.to_subinventory_id <> fnd_api.g_miss_num
3347 AND NOT inv_globals.equal(p_trolin_rec.to_subinventory_id, p_old_trolin_rec.to_subinventory_id) THEN
3348 l_trolin_val_rec.to_subinventory := inv_id_to_value.to_subinventory(p_to_subinventory_id => p_trolin_rec.to_subinventory_id);
3349 END IF;
3350
3351 IF p_trolin_rec.transaction_header_id IS NOT NULL
3352 AND p_trolin_rec.transaction_header_id <> fnd_api.g_miss_num
3353 AND NOT inv_globals.equal(p_trolin_rec.transaction_header_id, p_old_trolin_rec.transaction_header_id) THEN
3354 l_trolin_val_rec.transaction_header := inv_id_to_value.transaction_header(p_transaction_header_id => p_trolin_rec.transaction_header_id);
3355 END IF;
3356
3357 IF p_trolin_rec.transaction_type_id IS NOT NULL
3358 AND p_trolin_rec.transaction_type_id <> fnd_api.g_miss_num
3359 AND NOT inv_globals.equal(p_trolin_rec.transaction_type_id, p_old_trolin_rec.transaction_type_id) THEN
3360 l_trolin_val_rec.transaction_type := inv_id_to_value.transaction_type(p_transaction_type_id => p_trolin_rec.transaction_type_id);
3361 END IF;
3362
3363 IF p_trolin_rec.uom_code IS NOT NULL
3364 AND p_trolin_rec.uom_code <> fnd_api.g_miss_char
3365 AND NOT inv_globals.equal(p_trolin_rec.uom_code, p_old_trolin_rec.uom_code) THEN
3366 l_trolin_val_rec.uom := inv_id_to_value.uom(p_uom_code => p_trolin_rec.uom_code);
3367 END IF;
3368
3369 RETURN l_trolin_val_rec;
3370 END get_values;
3371
3372 -- Function Get_Ids
3373
3374 FUNCTION get_ids(p_trolin_rec IN inv_move_order_pub.trolin_rec_type, p_trolin_val_rec IN inv_move_order_pub.trolin_val_rec_type)
3375 RETURN inv_move_order_pub.trolin_rec_type IS
3376 l_trolin_rec inv_move_order_pub.trolin_rec_type;
3377 BEGIN
3378 -- initialize return_status.
3379
3380 l_trolin_rec.return_status := fnd_api.g_ret_sts_success;
3381 -- initialize l_trolin_rec.
3382
3383 l_trolin_rec := p_trolin_rec;
3384
3385 /*
3386 IF p_trolin_val_rec.from_locator <> FND_API.G_MISS_CHAR
3387 THEN
3388
3389 IF p_trolin_rec.from_locator_id <> FND_API.G_MISS_NUM THEN
3390
3391 l_trolin_rec.from_locator_id := p_trolin_rec.from_locator_id;
3392
3393 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_SUCCESS)
3394 THEN
3395
3396 FND_MESSAGE.SET_NAME('INV','FND_BOTH_VAL_AND_ID_EXIST');
3397 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','from_locator');
3398 FND_MSG_PUB.Add;
3399
3400 END IF;
3401
3402 ELSE
3403
3404 l_trolin_rec.from_locator_id := INV_Value_To_Id.from_locator
3405 ( p_organizatoin_id => p_trolin_rec.organization_id,
3406 p_from_locator => p_trolin_val_rec.from_locator
3407 );
3408
3409 IF l_trolin_rec.from_locator_id = FND_API.G_MISS_NUM THEN
3410 l_trolin_rec.return_status := FND_API.G_RET_STS_ERROR;
3411 END IF;
3412
3413 END IF;
3414
3415 END IF;
3416 */
3417
3418 IF p_trolin_val_rec.from_subinventory <> fnd_api.g_miss_char THEN
3419 IF p_trolin_rec.from_subinventory_id <> fnd_api.g_miss_num THEN
3420 l_trolin_rec.from_subinventory_id := p_trolin_rec.from_subinventory_id;
3421
3422 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_success) THEN
3423 fnd_message.set_name('INV', 'FND_BOTH_VAL_AND_ID_EXIST');
3424 fnd_message.set_token('ATTRIBUTE', 'from_subinventory');
3425 fnd_msg_pub.ADD;
3426 END IF;
3427 ELSE
3428 l_trolin_rec.from_subinventory_id := inv_value_to_id.from_subinventory(p_organization_id => p_trolin_rec.organization_id, p_from_subinventory => p_trolin_val_rec.from_subinventory);
3429
3430 IF l_trolin_rec.from_subinventory_id = fnd_api.g_miss_num THEN
3431 l_trolin_rec.return_status := fnd_api.g_ret_sts_error;
3432 END IF;
3433 END IF;
3434 END IF;
3435
3436 IF p_trolin_val_rec.header <> fnd_api.g_miss_char THEN
3437 IF p_trolin_rec.header_id <> fnd_api.g_miss_num THEN
3438 l_trolin_rec.header_id := p_trolin_rec.header_id;
3439
3440 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_success) THEN
3441 fnd_message.set_name('INV', 'FND_BOTH_VAL_AND_ID_EXIST');
3442 fnd_message.set_token('ATTRIBUTE', 'header');
3443 fnd_msg_pub.ADD;
3444 END IF;
3445 ELSE
3446 l_trolin_rec.header_id := inv_value_to_id.header(p_header => p_trolin_val_rec.header);
3447
3448 IF l_trolin_rec.header_id = fnd_api.g_miss_num THEN
3449 l_trolin_rec.return_status := fnd_api.g_ret_sts_error;
3450 END IF;
3451 END IF;
3452 END IF;
3453
3454 IF p_trolin_val_rec.inventory_item <> fnd_api.g_miss_char THEN
3455 IF p_trolin_rec.inventory_item_id <> fnd_api.g_miss_num THEN
3456 l_trolin_rec.inventory_item_id := p_trolin_rec.inventory_item_id;
3457
3458 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_success) THEN
3459 fnd_message.set_name('INV', 'FND_BOTH_VAL_AND_ID_EXIST');
3460 fnd_message.set_token('ATTRIBUTE', 'inventory_item');
3461 fnd_msg_pub.ADD;
3462 END IF;
3463 ELSE
3464 l_trolin_rec.inventory_item_id := inv_value_to_id.inventory_item(p_organization_id => p_trolin_rec.organization_id, p_inventory_item => p_trolin_val_rec.inventory_item);
3465
3466 IF l_trolin_rec.inventory_item_id = fnd_api.g_miss_num THEN
3467 l_trolin_rec.return_status := fnd_api.g_ret_sts_error;
3468 END IF;
3469 END IF;
3470 END IF;
3471
3472 IF p_trolin_val_rec.line <> fnd_api.g_miss_char THEN
3473 IF p_trolin_rec.line_id <> fnd_api.g_miss_num THEN
3474 l_trolin_rec.line_id := p_trolin_rec.line_id;
3475
3476 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_success) THEN
3477 fnd_message.set_name('INV', 'FND_BOTH_VAL_AND_ID_EXIST');
3478 fnd_message.set_token('ATTRIBUTE', 'line');
3479 fnd_msg_pub.ADD;
3480 END IF;
3481 ELSE
3482 l_trolin_rec.line_id := inv_value_to_id.line(p_line => p_trolin_val_rec.line);
3483
3484 IF l_trolin_rec.line_id = fnd_api.g_miss_num THEN
3485 l_trolin_rec.return_status := fnd_api.g_ret_sts_error;
3486 END IF;
3487 END IF;
3488 END IF;
3489
3490 IF p_trolin_val_rec.ORGANIZATION <> fnd_api.g_miss_char THEN
3491 IF p_trolin_rec.organization_id <> fnd_api.g_miss_num THEN
3492 l_trolin_rec.organization_id := p_trolin_rec.organization_id;
3493
3494 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_success) THEN
3495 fnd_message.set_name('INV', 'FND_BOTH_VAL_AND_ID_EXIST');
3496 fnd_message.set_token('ATTRIBUTE', 'organization');
3497 fnd_msg_pub.ADD;
3498 END IF;
3499 ELSE
3500 l_trolin_rec.organization_id := inv_value_to_id.ORGANIZATION(p_organization => p_trolin_val_rec.ORGANIZATION);
3501
3502 IF l_trolin_rec.organization_id = fnd_api.g_miss_num THEN
3503 l_trolin_rec.return_status := fnd_api.g_ret_sts_error;
3504 END IF;
3505 END IF;
3506 END IF;
3507
3508 IF p_trolin_val_rec.to_organization <> fnd_api.g_miss_char THEN
3509 IF p_trolin_rec.to_organization_id <> fnd_api.g_miss_num THEN
3510 l_trolin_rec.to_organization_id := p_trolin_rec.to_organization_id;
3511
3512 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_success) THEN
3513 fnd_message.set_name('INV', 'FND_BOTH_VAL_AND_ID_EXIST');
3514 fnd_message.set_token('ATTRIBUTE', 'to_organization');
3515 fnd_msg_pub.ADD;
3516 END IF;
3517 ELSE
3518 l_trolin_rec.to_organization_id := inv_value_to_id.to_organization(p_to_organization => p_trolin_val_rec.to_organization);
3519
3520 IF l_trolin_rec.to_organization_id = fnd_api.g_miss_num THEN
3521 l_trolin_rec.return_status := fnd_api.g_ret_sts_error;
3522 END IF;
3523 END IF;
3524 END IF;
3525
3526 IF p_trolin_val_rec.project <> fnd_api.g_miss_char THEN
3527 IF p_trolin_rec.project_id <> fnd_api.g_miss_num THEN
3528 l_trolin_rec.project_id := p_trolin_rec.project_id;
3529
3530 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_success) THEN
3531 fnd_message.set_name('INV', 'FND_BOTH_VAL_AND_ID_EXIST');
3532 fnd_message.set_token('ATTRIBUTE', 'project');
3533 fnd_msg_pub.ADD;
3534 END IF;
3535 ELSE
3536 l_trolin_rec.project_id := inv_value_to_id.project(p_project => p_trolin_val_rec.project);
3537
3538 IF l_trolin_rec.project_id = fnd_api.g_miss_num THEN
3539 l_trolin_rec.return_status := fnd_api.g_ret_sts_error;
3540 END IF;
3541 END IF;
3542 END IF;
3543
3544 IF p_trolin_val_rec.reason <> fnd_api.g_miss_char THEN
3545 IF p_trolin_rec.reason_id <> fnd_api.g_miss_num THEN
3546 l_trolin_rec.reason_id := p_trolin_rec.reason_id;
3547
3548 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_success) THEN
3549 fnd_message.set_name('INV', 'FND_BOTH_VAL_AND_ID_EXIST');
3550 fnd_message.set_token('ATTRIBUTE', 'reason');
3551 fnd_msg_pub.ADD;
3552 END IF;
3553 ELSE
3554 l_trolin_rec.reason_id := inv_value_to_id.reason(p_reason => p_trolin_val_rec.reason);
3555
3556 IF l_trolin_rec.reason_id = fnd_api.g_miss_num THEN
3557 l_trolin_rec.return_status := fnd_api.g_ret_sts_error;
3558 END IF;
3559 END IF;
3560 END IF;
3561
3562 IF p_trolin_val_rec.REFERENCE <> fnd_api.g_miss_char THEN
3563 IF p_trolin_rec.reference_id <> fnd_api.g_miss_num THEN
3564 l_trolin_rec.reference_id := p_trolin_rec.reference_id;
3565
3566 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_success) THEN
3567 fnd_message.set_name('INV', 'FND_BOTH_VAL_AND_ID_EXIST');
3568 fnd_message.set_token('ATTRIBUTE', 'reference');
3569 fnd_msg_pub.ADD;
3570 END IF;
3571 ELSE
3572 l_trolin_rec.reference_id := inv_value_to_id.REFERENCE(p_reference => p_trolin_val_rec.REFERENCE);
3573
3574 IF l_trolin_rec.reference_id = fnd_api.g_miss_num THEN
3575 l_trolin_rec.return_status := fnd_api.g_ret_sts_error;
3576 END IF;
3577 END IF;
3578 END IF;
3579
3580 IF p_trolin_val_rec.reference_type <> fnd_api.g_miss_char THEN
3581 IF p_trolin_rec.reference_type_code <> fnd_api.g_miss_num THEN
3582 l_trolin_rec.reference_type_code := p_trolin_rec.reference_type_code;
3583
3584 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_success) THEN
3585 fnd_message.set_name('INV', 'FND_BOTH_VAL_AND_ID_EXIST');
3586 fnd_message.set_token('ATTRIBUTE', 'reference_type');
3587 fnd_msg_pub.ADD;
3588 END IF;
3589 ELSE
3590 l_trolin_rec.reference_type_code := inv_value_to_id.reference_type(p_reference_type => p_trolin_val_rec.reference_type);
3591
3592 IF l_trolin_rec.reference_type_code = fnd_api.g_miss_num THEN
3593 l_trolin_rec.return_status := fnd_api.g_ret_sts_error;
3594 END IF;
3595 END IF;
3596 END IF;
3597
3598 IF p_trolin_val_rec.task <> fnd_api.g_miss_char THEN
3599 IF p_trolin_rec.task_id <> fnd_api.g_miss_num THEN
3600 l_trolin_rec.task_id := p_trolin_rec.task_id;
3601
3602 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_success) THEN
3603 fnd_message.set_name('INV', 'FND_BOTH_VAL_AND_ID_EXIST');
3604 fnd_message.set_token('ATTRIBUTE', 'task');
3605 fnd_msg_pub.ADD;
3606 END IF;
3607 ELSE
3608 l_trolin_rec.task_id := inv_value_to_id.task(p_task => p_trolin_val_rec.task);
3609
3610 IF l_trolin_rec.task_id = fnd_api.g_miss_num THEN
3611 l_trolin_rec.return_status := fnd_api.g_ret_sts_error;
3612 END IF;
3613 END IF;
3614 END IF;
3615
3616 IF p_trolin_val_rec.to_account <> fnd_api.g_miss_char THEN
3617 IF p_trolin_rec.to_account_id <> fnd_api.g_miss_num THEN
3618 l_trolin_rec.to_account_id := p_trolin_rec.to_account_id;
3619
3620 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_success) THEN
3621 fnd_message.set_name('INV', 'FND_BOTH_VAL_AND_ID_EXIST');
3622 fnd_message.set_token('ATTRIBUTE', 'to_account');
3623 fnd_msg_pub.ADD;
3624 END IF;
3625 ELSE
3626 l_trolin_rec.to_account_id := inv_value_to_id.to_account(p_organization_id => p_trolin_rec.organization_id, p_to_account => p_trolin_val_rec.to_account);
3627
3628 IF l_trolin_rec.to_account_id = fnd_api.g_miss_num THEN
3629 l_trolin_rec.return_status := fnd_api.g_ret_sts_error;
3630 END IF;
3631 END IF;
3632 END IF;
3633
3634 /*
3635 IF p_trolin_val_rec.to_locator <> FND_API.G_MISS_CHAR
3636 THEN
3637
3638 IF p_trolin_rec.to_locator_id <> FND_API.G_MISS_NUM THEN
3639
3640 l_trolin_rec.to_locator_id := p_trolin_rec.to_locator_id;
3641
3642 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_SUCCESS)
3643 THEN
3644
3645 FND_MESSAGE.SET_NAME('INV','FND_BOTH_VAL_AND_ID_EXIST');
3646 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','to_locator');
3647 FND_MSG_PUB.Add;
3648
3649 END IF;
3650
3651 ELSE
3652
3653 l_trolin_rec.to_locator_id := INV_Value_To_Id.to_locator
3654 ( p_to_locator => p_trolin_val_rec.to_locator
3655 );
3656
3657 IF l_trolin_rec.to_locator_id = FND_API.G_MISS_NUM THEN
3658 l_trolin_rec.return_status := FND_API.G_RET_STS_ERROR;
3659 END IF;
3660
3661 END IF;
3662
3663 END IF;
3664 */
3665
3666 IF p_trolin_val_rec.to_subinventory <> fnd_api.g_miss_char THEN
3667 IF p_trolin_rec.to_subinventory_code <> fnd_api.g_miss_char THEN
3668 l_trolin_rec.to_subinventory_code := p_trolin_rec.to_subinventory_code;
3669
3670 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_success) THEN
3671 fnd_message.set_name('INV', 'FND_BOTH_VAL_AND_ID_EXIST');
3672 fnd_message.set_token('ATTRIBUTE', 'to_subinventory');
3673 fnd_msg_pub.ADD;
3674 END IF;
3675 ELSE
3676 l_trolin_rec.to_subinventory_code := inv_value_to_id.to_subinventory(p_organization_id => p_trolin_rec.organization_id, p_to_subinventory => p_trolin_val_rec.to_subinventory);
3677
3678 IF l_trolin_rec.to_subinventory_code = fnd_api.g_miss_char THEN
3679 l_trolin_rec.return_status := fnd_api.g_ret_sts_error;
3680 END IF;
3681 END IF;
3682 END IF;
3683
3684 -- Line2839
3685 IF p_trolin_val_rec.to_subinventory <> fnd_api.g_miss_char THEN
3686 IF p_trolin_rec.to_subinventory_id <> fnd_api.g_miss_num THEN
3687 l_trolin_rec.to_subinventory_id := p_trolin_rec.to_subinventory_id;
3688
3689 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_success) THEN
3690 fnd_message.set_name('INV', 'FND_BOTH_VAL_AND_ID_EXIST');
3691 fnd_message.set_token('ATTRIBUTE', 'to_subinventory');
3692 fnd_msg_pub.ADD;
3693 END IF;
3694 ELSE
3695 l_trolin_rec.to_subinventory_id := inv_value_to_id.to_subinventory(p_organization_id => p_trolin_rec.organization_id, p_to_subinventory => p_trolin_val_rec.to_subinventory);
3696
3697 IF l_trolin_rec.to_subinventory_id = fnd_api.g_miss_num THEN
3698 l_trolin_rec.return_status := fnd_api.g_ret_sts_error;
3699 END IF;
3700 END IF;
3701 END IF;
3702
3703 IF p_trolin_val_rec.transaction_header <> fnd_api.g_miss_char THEN
3704 IF p_trolin_rec.transaction_header_id <> fnd_api.g_miss_num THEN
3705 l_trolin_rec.transaction_header_id := p_trolin_rec.transaction_header_id;
3706
3707 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_success) THEN
3708 fnd_message.set_name('INV', 'FND_BOTH_VAL_AND_ID_EXIST');
3709 fnd_message.set_token('ATTRIBUTE', 'transaction_header');
3710 fnd_msg_pub.ADD;
3711 END IF;
3712 ELSE
3713 l_trolin_rec.transaction_header_id := inv_value_to_id.transaction_header(p_transaction_header => p_trolin_val_rec.transaction_header);
3714
3715 IF l_trolin_rec.transaction_header_id = fnd_api.g_miss_num THEN
3716 l_trolin_rec.return_status := fnd_api.g_ret_sts_error;
3717 END IF;
3718 END IF;
3719 END IF;
3720
3721 IF p_trolin_val_rec.transaction_type <> fnd_api.g_miss_char THEN
3722 IF p_trolin_rec.transaction_type_id <> fnd_api.g_miss_num THEN
3723 l_trolin_rec.transaction_type_id := p_trolin_rec.transaction_type_id;
3724
3725 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_success) THEN
3726 fnd_message.set_name('INV', 'FND_BOTH_VAL_AND_ID_EXIST');
3727 fnd_message.set_token('ATTRIBUTE', 'transaction_type');
3728 fnd_msg_pub.ADD;
3729 END IF;
3730 ELSE
3731 l_trolin_rec.transaction_type_id := inv_value_to_id.transaction_type(p_transaction_type => p_trolin_val_rec.transaction_type);
3732
3733 IF l_trolin_rec.transaction_type_id = fnd_api.g_miss_num THEN
3734 l_trolin_rec.return_status := fnd_api.g_ret_sts_error;
3735 END IF;
3736 END IF;
3737 END IF;
3738
3739 -- Line2899
3740 IF p_trolin_val_rec.uom <> fnd_api.g_miss_char THEN
3741 IF p_trolin_rec.uom_code <> fnd_api.g_miss_char THEN
3742 l_trolin_rec.uom_code := p_trolin_rec.uom_code;
3743
3744 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_success) THEN
3745 fnd_message.set_name('INV', 'FND_BOTH_VAL_AND_ID_EXIST');
3746 fnd_message.set_token('ATTRIBUTE', 'uom');
3747 fnd_msg_pub.ADD;
3748 END IF;
3749 ELSE
3750 -- Line2917
3751 l_trolin_rec.uom_code := inv_value_to_id.uom(p_uom => p_trolin_val_rec.uom);
3752
3753 IF l_trolin_rec.uom_code = fnd_api.g_miss_char THEN
3754 l_trolin_rec.return_status := fnd_api.g_ret_sts_error;
3755 END IF;
3756 END IF;
3757 END IF;
3758
3759 RETURN l_trolin_rec;
3760 END get_ids;
3761
3762 --Procedure Insert_Mo_Lines_Bulk /* For Parallel Pick-Release */
3763
3764 PROCEDURE insert_mo_lines_bulk(p_new_trolin_tbl IN inv_move_order_pub.trolin_new_tbl_type
3765 ,x_return_status IN OUT NOCOPY VARCHAR2) IS
3766
3767 BEGIN
3768 FORALL i IN 1 .. p_new_trolin_tbl.COUNT
3769 insert into mtl_txn_request_lines
3770 values p_new_trolin_tbl(i);
3771
3772 x_return_status := fnd_api.g_ret_sts_success;
3773 EXCEPTION
3774 WHEN OTHERS THEN
3775 x_return_status := fnd_api.g_ret_sts_error;
3776 RAISE fnd_api.g_exc_unexpected_error;
3777 END insert_mo_lines_bulk;
3778
3779 END inv_trolin_util;