[Home] [Help]
PACKAGE BODY: APPS.INV_TO_FORM_TROLIN
Source
1 PACKAGE BODY INV_TO_Form_Trolin AS
2 /* $Header: INVFTRLB.pls 120.0 2005/05/25 06:25:41 appldev noship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'INV_TO_Form_Trolin';
7
8 -- Global variables holding cached record.
9
10 g_trolin_rec INV_Move_Order_PUB.Trolin_Rec_Type;
11 g_db_trolin_rec INV_Move_Order_PUB.Trolin_Rec_Type;
12
13 -- Forward declaration of procedures maintaining entity record cache.
14
15 PROCEDURE Write_trolin
16 ( p_trolin_rec IN INV_Move_Order_PUB.Trolin_Rec_Type
17 , p_db_record IN BOOLEAN := FALSE
18 );
19
20 FUNCTION Get_trolin
21 ( p_db_record IN BOOLEAN := FALSE
22 , p_line_id IN NUMBER
23 )
24 RETURN INV_Move_Order_PUB.Trolin_Rec_Type;
25
26 PROCEDURE Clear_trolin;
27
28 -- Global variable holding performed operations.
29
30 g_opr__tbl INV_Move_Order_PUB.Trolin_Tbl_Type;
31
32 -- Procedure : Default_Attributes
33 --
34
35 PROCEDURE Default_Attributes
36 ( x_return_status OUT NOCOPY VARCHAR2
37 , x_msg_count OUT NOCOPY NUMBER
38 , x_msg_data OUT NOCOPY VARCHAR2
39 , p_header_id IN NUMBER
40 , x_attribute1 OUT NOCOPY VARCHAR2
41 , x_attribute10 OUT NOCOPY VARCHAR2
42 , x_attribute11 OUT NOCOPY VARCHAR2
43 , x_attribute12 OUT NOCOPY VARCHAR2
44 , x_attribute13 OUT NOCOPY VARCHAR2
45 , x_attribute14 OUT NOCOPY VARCHAR2
46 , x_attribute15 OUT NOCOPY VARCHAR2
47 , x_attribute2 OUT NOCOPY VARCHAR2
48 , x_attribute3 OUT NOCOPY VARCHAR2
49 , x_attribute4 OUT NOCOPY VARCHAR2
50 , x_attribute5 OUT NOCOPY VARCHAR2
51 , x_attribute6 OUT NOCOPY VARCHAR2
52 , x_attribute7 OUT NOCOPY VARCHAR2
53 , x_attribute8 OUT NOCOPY VARCHAR2
54 , x_attribute9 OUT NOCOPY VARCHAR2
55 , x_attribute_category OUT NOCOPY VARCHAR2
56 , x_date_required OUT NOCOPY DATE
57 , x_from_locator_id OUT NOCOPY NUMBER
58 , x_from_subinventory_code OUT NOCOPY VARCHAR2
59 , x_from_subinventory_id OUT NOCOPY NUMBER
60 , x_header_id OUT NOCOPY NUMBER
61 , x_inventory_item_id OUT NOCOPY NUMBER
62 , x_line_id OUT NOCOPY NUMBER
63 , x_line_number OUT NOCOPY NUMBER
64 , x_line_status OUT NOCOPY NUMBER
65 , x_lot_number OUT NOCOPY VARCHAR2
66 , x_organization_id OUT NOCOPY NUMBER
67 , x_project_id OUT NOCOPY NUMBER
68 , x_quantity OUT NOCOPY NUMBER
69 , x_quantity_delivered OUT NOCOPY NUMBER
70 , x_quantity_detailed OUT NOCOPY NUMBER
71 , x_reason_id OUT NOCOPY NUMBER
72 , x_reference OUT NOCOPY VARCHAR2
73 , x_reference_id OUT NOCOPY NUMBER
74 , x_reference_type_code OUT NOCOPY NUMBER
75 , x_revision OUT NOCOPY VARCHAR2
76 , x_serial_number_end OUT NOCOPY VARCHAR2
77 , x_serial_number_start OUT NOCOPY VARCHAR2
78 , x_status_date OUT NOCOPY DATE
79 , x_task_id OUT NOCOPY NUMBER
80 , x_to_account_id OUT NOCOPY NUMBER
81 , x_to_locator_id OUT NOCOPY NUMBER
82 , x_to_subinventory_code OUT NOCOPY VARCHAR2
83 , x_to_subinventory_id OUT NOCOPY NUMBER
84 , x_transaction_header_id OUT NOCOPY NUMBER
85 , x_uom_code OUT NOCOPY VARCHAR2
86 , x_from_locator OUT NOCOPY VARCHAR2
87 , x_inventory_item OUT NOCOPY VARCHAR2
88 , x_project OUT NOCOPY VARCHAR2
89 , x_reason OUT NOCOPY VARCHAR2
90 , x_reference_type OUT NOCOPY VARCHAR2
91 , x_task OUT NOCOPY VARCHAR2
92 , x_to_account OUT NOCOPY VARCHAR2
93 , x_to_locator OUT NOCOPY VARCHAR2
94 , x_transaction_type_id OUT NOCOPY NUMBER
95 , x_transaction_source_type_id OUT NOCOPY NUMBER
96 , x_txn_source_id OUT NOCOPY NUMBER
97 , x_txn_source_line_id OUT NOCOPY NUMBER
98 , x_txn_source_line_detail_id OUT NOCOPY NUMBER
99 , x_primary_quantity OUT NOCOPY NUMBER
100 , x_to_organization_id OUT NOCOPY NUMBER
101 , x_pick_strategy_id OUT NOCOPY NUMBER
102 , x_put_away_strategy_id OUT NOCOPY NUMBER
103 , x_unit_number OUT NOCOPY VARCHAR2
104 -- , x_ship_to_location_id OUT NOCOPY NUMBER -- NL MERGE
105 , x_transaction_type OUT NOCOPY VARCHAR2
106 , x_secondary_quantity OUT NOCOPY NUMBER --INVCONV change
107 , x_secondary_quantity_delivered OUT NOCOPY NUMBER --INVCONV change
108 , x_secondary_quantity_detailed OUT NOCOPY NUMBER --INVCONV change
109 , x_secondary_uom_code OUT NOCOPY VARCHAR2 --INVCONV change
110 , x_grade_code OUT NOCOPY VARCHAR2 --INVCONV change
111 )
112 IS
113 l_trolin_rec INV_Move_Order_PUB.Trolin_Rec_Type;
114 l_trolin_val_rec INV_Move_Order_PUB.Trolin_Val_Rec_Type;
115 l_trolin_tbl INV_Move_Order_PUB.Trolin_Tbl_Type;
116 l_control_rec INV_GLOBALS.Control_Rec_Type;
117 l_return_status VARCHAR2(1);
118 l_x_trohdr_rec INV_Move_Order_PUB.Trohdr_Rec_Type;
119 l_x_trolin_rec INV_Move_Order_PUB.Trolin_Rec_Type;
120 l_x_trolin_tbl INV_Move_Order_PUB.Trolin_Tbl_Type;
121 l_debug number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
122 BEGIN
123
124 /* inv_debug.message('In default for lines'); */
125 -- Set control flags.
126
127 l_control_rec.controlled_operation := TRUE;
128 l_control_rec.default_attributes := TRUE;
129
130 l_control_rec.change_attributes := FALSE;
131 l_control_rec.validate_entity := FALSE;
132 l_control_rec.write_to_DB := FALSE;
133 l_control_rec.process := FALSE;
134
135 -- Instruct API to retain its caches
136
137 l_control_rec.clear_api_cache := FALSE;
138 l_control_rec.clear_api_requests := FALSE;
139
140 -- Load IN parameters if any exist
141 l_trolin_rec.header_id := p_header_id;
142
143
144 -- Defaulting of flex values is currently done by the form.
145 -- Set flex attributes to NULL in order to avoid defaulting them.
146
147 l_trolin_rec.attribute1 := NULL;
148 l_trolin_rec.attribute10 := NULL;
149 l_trolin_rec.attribute11 := NULL;
150 l_trolin_rec.attribute12 := NULL;
151 l_trolin_rec.attribute13 := NULL;
152 l_trolin_rec.attribute14 := NULL;
153 l_trolin_rec.attribute15 := NULL;
154 l_trolin_rec.attribute2 := NULL;
155 l_trolin_rec.attribute3 := NULL;
156 l_trolin_rec.attribute4 := NULL;
157 l_trolin_rec.attribute5 := NULL;
158 l_trolin_rec.attribute6 := NULL;
159 l_trolin_rec.attribute7 := NULL;
160 l_trolin_rec.attribute8 := NULL;
161 l_trolin_rec.attribute9 := NULL;
162 l_trolin_rec.attribute_category := NULL;
163
164 -- Set Operation to Create
165
166 l_trolin_rec.operation := INV_GLOBALS.G_OPR_CREATE;
167
168 -- Populate trolin table
169
170 l_trolin_tbl(1) := l_trolin_rec;
171
172 -- Call INV_Transfer_Order_PVT.Process_Transfer_Order
173 /* Inv_debug.message('Before Process Order in default lines'); */
174
175 INV_Transfer_Order_PVT.Process_Transfer_Order
176 ( p_api_version_number => 1.0
177 , p_init_msg_list => FND_API.G_TRUE
178 , x_return_status => l_return_status
179 , x_msg_count => x_msg_count
180 , x_msg_data => x_msg_data
181 , p_control_rec => l_control_rec
182 , p_trolin_tbl => l_trolin_tbl
183 , x_trohdr_rec => l_x_trohdr_rec
184 , x_trolin_tbl => l_x_trolin_tbl
185 );
186
187 /* Inv_debug.message('After Process Order'||l_return_status); */
188 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
189 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
190 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
191 RAISE FND_API.G_EXC_ERROR;
192 END IF;
193
194
195 -- Unload out tbl
196
197 l_x_trolin_rec := l_x_trolin_tbl(1);
198
199 -- Load OUT NOCOPY parameters.
200
201 x_attribute1 := l_x_trolin_rec.attribute1;
202 x_attribute10 := l_x_trolin_rec.attribute10;
203 x_attribute11 := l_x_trolin_rec.attribute11;
204 x_attribute12 := l_x_trolin_rec.attribute12;
205 x_attribute13 := l_x_trolin_rec.attribute13;
206 x_attribute14 := l_x_trolin_rec.attribute14;
207 x_attribute15 := l_x_trolin_rec.attribute15;
208 x_attribute2 := l_x_trolin_rec.attribute2;
209 x_attribute3 := l_x_trolin_rec.attribute3;
210 x_attribute4 := l_x_trolin_rec.attribute4;
211 x_attribute5 := l_x_trolin_rec.attribute5;
212 x_attribute6 := l_x_trolin_rec.attribute6;
213 x_attribute7 := l_x_trolin_rec.attribute7;
214 x_attribute8 := l_x_trolin_rec.attribute8;
215 x_attribute9 := l_x_trolin_rec.attribute9;
216 x_attribute_category := l_x_trolin_rec.attribute_category;
217 x_date_required := l_x_trolin_rec.date_required;
218 x_from_locator_id := l_x_trolin_rec.from_locator_id;
219 x_from_subinventory_code := l_x_trolin_rec.from_subinventory_code;
220 x_from_subinventory_id := l_x_trolin_rec.from_subinventory_id;
221 x_header_id := l_x_trolin_rec.header_id;
222 x_inventory_item_id := l_x_trolin_rec.inventory_item_id;
223 x_line_id := l_x_trolin_rec.line_id;
224 x_line_number := l_x_trolin_rec.line_number;
225 x_line_status := l_x_trolin_rec.line_status;
226 x_lot_number := l_x_trolin_rec.lot_number;
227 x_organization_id := l_x_trolin_rec.organization_id;
228 x_project_id := l_x_trolin_rec.project_id;
229 x_quantity := l_x_trolin_rec.quantity;
230 x_quantity_delivered := l_x_trolin_rec.quantity_delivered;
231 x_quantity_detailed := l_x_trolin_rec.quantity_detailed;
232 x_reason_id := l_x_trolin_rec.reason_id;
233 x_reference := l_x_trolin_rec.reference;
234 x_reference_id := l_x_trolin_rec.reference_id;
235 x_reference_type_code := l_x_trolin_rec.reference_type_code;
236 x_revision := l_x_trolin_rec.revision;
237 x_serial_number_end := l_x_trolin_rec.serial_number_end;
238 x_serial_number_start := l_x_trolin_rec.serial_number_start;
239 x_status_date := l_x_trolin_rec.status_date;
240 x_task_id := l_x_trolin_rec.task_id;
241 x_to_account_id := l_x_trolin_rec.to_account_id;
242 x_to_locator_id := l_x_trolin_rec.to_locator_id;
243 x_to_subinventory_code := l_x_trolin_rec.to_subinventory_code;
244 x_to_subinventory_id := l_x_trolin_rec.to_subinventory_id;
245 x_transaction_header_id := l_x_trolin_rec.transaction_header_id;
246 x_uom_code := l_x_trolin_rec.uom_code;
247 /* ssia added for move order enhancement */
248 x_transaction_type_id := l_x_trolin_rec.transaction_type_id;
249 x_transaction_source_type_id := l_x_trolin_rec.transaction_source_type_id;
250 x_txn_source_id := l_x_trolin_rec.txn_source_id;
251 x_txn_source_line_id := l_x_trolin_rec.txn_source_line_id;
252 x_txn_source_line_detail_id := l_x_trolin_rec.txn_source_line_detail_id;
253 x_primary_quantity := l_x_trolin_rec.primary_quantity;
254 x_to_organization_id := l_x_trolin_rec.to_organization_id;
255 x_pick_strategy_id := l_x_trolin_rec.pick_strategy_id;
256 x_put_away_strategy_id := l_x_trolin_rec.put_away_strategy_id;
257 x_unit_number := l_x_trolin_rec.unit_number;
258 --INVCONV BEGIN
259 x_secondary_quantity := l_x_trolin_rec.secondary_quantity;
260 x_secondary_quantity_delivered := l_x_trolin_rec.secondary_quantity_delivered;
261 x_secondary_quantity_detailed := l_x_trolin_rec.secondary_quantity_detailed;
262 x_secondary_uom_code := l_x_trolin_rec.secondary_uom;
263 x_grade_code := l_x_trolin_rec.grade_code;
264 --INVCONV END
265
266 -- x_ship_to_location_id := l_x_trolin_rec.ship_to_location_id; -- NL MERGE
267 /* ssia end of move order enhancement changes */
268 -- Load display out parameters if any
269
270 l_trolin_val_rec := INV_Trolin_Util.Get_Values
271 ( p_trolin_rec => l_x_trolin_rec
272 );
273 x_from_locator := l_trolin_val_rec.from_locator;
274 x_inventory_item := l_trolin_val_rec.inventory_item;
275 x_project := l_trolin_val_rec.project;
276 x_reason := l_trolin_val_rec.reason;
277 x_reference_type := l_trolin_val_rec.reference_type;
278 x_task := l_trolin_val_rec.task;
279 x_to_account := l_trolin_val_rec.to_account;
280 x_to_locator := l_trolin_val_rec.to_locator;
281 x_transaction_type := l_trolin_val_rec.transaction_type;
282
283 -- Write to cache.
284 -- Set db_flag to False before writing to cache
285
286 l_x_trolin_rec.db_flag := FND_API.G_FALSE;
287
288 Write_trolin
289 ( p_trolin_rec => l_x_trolin_rec
290 );
291
292 -- Set return status.
293
294 x_return_status := FND_API.G_RET_STS_SUCCESS;
295
296 -- Get message count and data
297
298 FND_MSG_PUB.Count_And_Get
299 ( p_count => x_msg_count
300 , p_data => x_msg_data
301 );
302
303
304 EXCEPTION
305
306 WHEN FND_API.G_EXC_ERROR THEN
307
308 x_return_status := FND_API.G_RET_STS_ERROR;
309
310 -- Get message count and data
311
312 FND_MSG_PUB.Count_And_Get
313 ( p_count => x_msg_count
314 , p_data => x_msg_data
315 );
316
317 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
318
319 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
320
321 -- Get message count and data
322
323 FND_MSG_PUB.Count_And_Get
324 ( p_count => x_msg_count
325 , p_data => x_msg_data
326 );
327
328 WHEN OTHERS THEN
329
330 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
331
332 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
333 THEN
334 FND_MSG_PUB.Add_Exc_Msg
335 ( G_PKG_NAME
336 , 'Default_Attributes'
337 );
338 END IF;
339
340 -- Get message count and data
341
342 FND_MSG_PUB.Count_And_Get
343 ( p_count => x_msg_count
344 , p_data => x_msg_data
345 );
346
347 END Default_Attributes;
348
349 -- Procedure : Validate_Record
350 --
351
352 PROCEDURE Validate_Record
353 ( x_return_status OUT NOCOPY VARCHAR2
354 , x_msg_count OUT NOCOPY NUMBER
355 , x_msg_data OUT NOCOPY VARCHAR2
356 , p_attribute1 IN VARCHAR2
357 , p_attribute10 IN VARCHAR2
358 , p_attribute11 IN VARCHAR2
359 , p_attribute12 IN VARCHAR2
360 , p_attribute13 IN VARCHAR2
361 , p_attribute14 IN VARCHAR2
362 , p_attribute15 IN VARCHAR2
363 , p_attribute2 IN VARCHAR2
364 , p_attribute3 IN VARCHAR2
365 , p_attribute4 IN VARCHAR2
366 , p_attribute5 IN VARCHAR2
367 , p_attribute6 IN VARCHAR2
368 , p_attribute7 IN VARCHAR2
369 , p_attribute8 IN VARCHAR2
370 , p_attribute9 IN VARCHAR2
371 , p_attribute_category IN VARCHAR2
372 , p_date_required IN DATE
373 , p_from_locator_id IN NUMBER
374 , p_from_subinventory_code IN VARCHAR2
375 , p_from_subinventory_id IN NUMBER
376 , p_header_id IN NUMBER
377 , p_inventory_item_id IN NUMBER
378 , p_line_id IN NUMBER
379 , p_line_number IN NUMBER
380 , p_line_status IN NUMBER
381 , p_lot_number IN VARCHAR2
382 , p_organization_id IN NUMBER
383 , p_project_id IN NUMBER
384 , p_quantity IN NUMBER
385 , p_quantity_delivered IN NUMBER
386 , p_quantity_detailed IN NUMBER
387 , p_reason_id IN NUMBER
388 , p_reference IN VARCHAR2
389 , p_reference_id IN NUMBER
390 , p_reference_type_code IN NUMBER
391 , p_revision IN VARCHAR2
392 , p_serial_number_end IN VARCHAR2
393 , p_serial_number_start IN VARCHAR2
394 , p_status_date IN DATE
395 , p_task_id IN NUMBER
396 , p_to_account_id IN NUMBER
397 , p_to_locator_id IN NUMBER
398 , p_to_subinventory_code IN VARCHAR2
399 , p_to_subinventory_id IN NUMBER
400 , p_transaction_header_id IN NUMBER
401 , p_uom_code IN VARCHAR2
402 , p_transaction_type_id IN NUMBER
403 , p_transaction_source_type_id IN NUMBER
404 , p_txn_source_id IN NUMBER
405 , p_txn_source_line_id IN NUMBER
406 , p_txn_source_line_detail_id IN NUMBER
407 , p_primary_quantity IN NUMBER
408 , p_to_organization_id IN NUMBER
409 , p_pick_strategy_id IN NUMBER
410 , p_put_away_strategy_id IN NUMBER
411 , p_unit_number IN VARCHAR2
412 , p_ship_to_location_id IN NUMBER
413 , p_from_cost_group_id IN NUMBER DEFAULT NULL
414 , p_to_cost_Group_id IN NUMBER DEFAULT NULL
415 , p_lpn_id IN NUMBER DEFAULT NULL
416 , p_to_lpn_id IN NUMBER DEFAULT NULL
417 , p_db_flag IN VARCHAR2
418 , p_secondary_quantity IN NUMBER DEFAULT NULL --INVCONV change
419 , p_secondary_quantity_delivered IN NUMBER DEFAULT NULL --INVCONV change
420 , p_secondary_quantity_detailed IN NUMBER DEFAULT NULL --INVCONV change
421 , p_secondary_uom_code IN VARCHAR2 DEFAULT NULL --INVCONV change
422 , p_grade_code IN VARCHAR2 DEFAULT NULL --INVCONV change
423 )
424 IS
425 l_trolin_rec INV_Move_Order_PUB.Trolin_Rec_Type;
426 l_old_trolin_rec INV_Move_Order_PUB.Trolin_Rec_Type;
427 l_trolin_val_rec INV_Move_Order_PUB.Trolin_Val_Rec_Type;
428 l_trolin_tbl INV_Move_Order_PUB.Trolin_Tbl_Type;
429 l_old_trolin_tbl INV_Move_Order_PUB.Trolin_Tbl_Type;
430 l_control_rec INV_GLOBALS.Control_Rec_Type;
431 l_return_status VARCHAR2(1);
432 l_x_trohdr_rec INV_Move_Order_PUB.Trohdr_Rec_Type;
433 l_x_trolin_rec INV_Move_Order_PUB.Trolin_Rec_Type;
434 l_x_trolin_tbl INV_Move_Order_PUB.Trolin_Tbl_Type;
435 l_debug number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
436 BEGIN
437
438 -- Set control flags.
439
440 l_control_rec.controlled_operation := TRUE;
441 l_control_rec.change_attributes := TRUE;
442
443 l_control_rec.default_attributes := FALSE;
444 l_control_rec.validate_entity := TRUE;
445 l_control_rec.write_to_DB := FALSE;
446 l_control_rec.process := FALSE;
447
448 -- Instruct API to retain its caches
449
450 l_control_rec.clear_api_cache := FALSE;
451 l_control_rec.clear_api_requests := FALSE;
452
453 l_trolin_rec.db_flag := p_db_flag;
454
455 -- Read trolin from cache
456
457 IF FND_API.To_Boolean(l_trolin_rec.db_flag) THEN
458
459 l_trolin_rec := Get_trolin
460 ( p_db_record => FALSE
461 , p_line_id => p_line_id
462 );
463 End If;
464
465 l_old_trolin_rec := l_trolin_rec;
466
467 l_trolin_rec.date_required := p_date_required;
468 l_trolin_rec.from_locator_id := p_from_locator_id;
469 l_trolin_rec.from_subinventory_code := p_from_subinventory_code;
470 l_trolin_rec.from_subinventory_id := p_from_subinventory_id;
471 l_trolin_rec.header_id := p_header_id;
472 l_trolin_rec.inventory_item_id := p_inventory_item_id;
473 l_trolin_rec.line_id := p_line_id;
474 l_trolin_rec.line_number := p_line_number;
475 l_trolin_rec.line_status := p_line_status;
476 l_trolin_rec.lot_number := p_lot_number;
477 l_trolin_rec.organization_id := p_organization_id;
478 l_trolin_rec.project_id := p_project_id;
479 l_trolin_rec.quantity := p_quantity;
480 l_trolin_rec.quantity_delivered := p_quantity_delivered;
481 l_trolin_rec.quantity_detailed := p_quantity_detailed;
482 l_trolin_rec.reason_id := p_reason_id;
483 l_trolin_rec.reference := p_reference;
484 l_trolin_rec.reference_id := p_reference_id;
485 l_trolin_rec.reference_type_code := p_reference_type_code;
486 l_trolin_rec.revision := p_revision;
487 l_trolin_rec.serial_number_end := p_serial_number_end;
488 l_trolin_rec.serial_number_start := p_serial_number_start;
489 l_trolin_rec.status_date := p_status_date;
490 l_trolin_rec.task_id := p_task_id;
491 l_trolin_rec.to_account_id := p_to_account_id;
492 l_trolin_rec.to_locator_id := p_to_locator_id;
493 l_trolin_rec.to_subinventory_code := p_to_subinventory_code;
494 l_trolin_rec.to_subinventory_id := p_to_subinventory_id;
495 l_trolin_rec.transaction_header_id := p_transaction_header_id;
496 l_trolin_rec.uom_code := p_uom_code;
497 l_trolin_rec.attribute1 := p_attribute1;
498 l_trolin_rec.attribute10 := p_attribute10;
499 l_trolin_rec.attribute11 := p_attribute11;
500 l_trolin_rec.attribute12 := p_attribute12;
501 l_trolin_rec.attribute13 := p_attribute13;
502 l_trolin_rec.attribute14 := p_attribute14;
503 l_trolin_rec.attribute15 := p_attribute15;
504 l_trolin_rec.attribute2 := p_attribute2;
505 l_trolin_rec.attribute3 := p_attribute3;
506 l_trolin_rec.attribute4 := p_attribute4;
507 l_trolin_rec.attribute5 := p_attribute5;
508 l_trolin_rec.attribute6 := p_attribute6;
509 l_trolin_rec.attribute7 := p_attribute7;
510 l_trolin_rec.attribute8 := p_attribute8;
511 l_trolin_rec.attribute9 := p_attribute9;
512 l_trolin_rec.attribute_category := p_attribute_category;
513 /* ssia added for move order enhancement */
514 l_trolin_rec.transaction_type_id := p_transaction_type_id;
515 l_trolin_rec.transaction_source_type_id := p_transaction_source_type_id;
516 l_trolin_rec.txn_source_id := p_txn_source_id;
517 l_trolin_rec.txn_source_line_id := p_txn_source_line_id;
518 l_trolin_rec.txn_source_line_detail_id := p_txn_source_line_detail_id;
519 l_trolin_rec.primary_quantity := p_primary_quantity;
520 l_trolin_rec.to_organization_id := p_to_organization_id;
521 l_trolin_rec.pick_strategy_id := p_pick_strategy_id;
522 l_trolin_rec.put_away_strategy_id := p_put_away_strategy_id;
523 l_trolin_rec.unit_number := p_unit_number;
524 l_trolin_rec.ship_to_location_id := p_ship_to_location_id;
525 l_trolin_rec.from_cost_group_id := p_from_cost_group_id;
526 l_trolin_rec.to_cost_group_id := p_to_cost_group_id;
527 l_trolin_rec.lpn_id := p_lpn_id;
528 l_trolin_rec.to_lpn_id := p_to_lpn_id;
529 /* ssia end of move order enhancement changes */
530
531 --INVCONV BEGIN
532 l_trolin_rec.secondary_quantity := p_secondary_quantity;
533 l_trolin_rec.secondary_quantity_delivered := p_secondary_quantity_delivered;
534 l_trolin_rec.secondary_quantity_detailed := p_secondary_quantity_detailed;
535 l_trolin_rec.secondary_uom := p_secondary_uom_code;
536 l_trolin_rec.grade_code := p_grade_code;
537 --INVCONV END
538
539 -- Set Operation.
540
541 IF FND_API.To_Boolean(l_trolin_rec.db_flag) THEN
542 l_trolin_rec.operation := INV_GLOBALS.G_OPR_UPDATE;
543 ELSE
544 l_trolin_rec.operation := INV_GLOBALS.G_OPR_CREATE;
545 END IF;
546
547 -- Populate trolin table
548
549 l_trolin_tbl(1) := l_trolin_rec;
550 l_old_trolin_tbl(1) := l_old_trolin_rec;
551
552 -- Call INV_Transfer_Order_PVT.Process_Transfer_Order
553
554 INV_Transfer_Order_PVT.Process_Transfer_Order
555 ( p_api_version_number => 1.0
556 , p_init_msg_list => FND_API.G_TRUE
557 , p_validation_level => FND_API.G_VALID_LEVEL_NONE
558 , x_return_status => l_return_status
559 , x_msg_count => x_msg_count
560 , x_msg_data => x_msg_data
561 , p_control_rec => l_control_rec
562 , p_trolin_tbl => l_trolin_tbl
563 , p_old_trolin_tbl => l_old_trolin_tbl
564 , x_trohdr_rec => l_x_trohdr_rec
565 , x_trolin_tbl => l_x_trolin_tbl
566 );
567
568 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
569 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
570 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
571 RAISE FND_API.G_EXC_ERROR;
572 END IF;
573 /* inv_debug.message('After Process Transfer Order'); */
574
575
576 -- Unload out tbl
577
578 l_x_trolin_rec := l_x_trolin_tbl(1);
579
580 /*
581 -- Init OUT NOCOPY parameters to missing.
582
583 x_attribute1 := FND_API.G_MISS_CHAR;
584 x_attribute10 := FND_API.G_MISS_CHAR;
585 x_attribute11 := FND_API.G_MISS_CHAR;
586 x_attribute12 := FND_API.G_MISS_CHAR;
587 x_attribute13 := FND_API.G_MISS_CHAR;
588 x_attribute14 := FND_API.G_MISS_CHAR;
589 x_attribute15 := FND_API.G_MISS_CHAR;
590 x_attribute2 := FND_API.G_MISS_CHAR;
591 x_attribute3 := FND_API.G_MISS_CHAR;
592 x_attribute4 := FND_API.G_MISS_CHAR;
593 x_attribute5 := FND_API.G_MISS_CHAR;
594 x_attribute6 := FND_API.G_MISS_CHAR;
595 x_attribute7 := FND_API.G_MISS_CHAR;
596 x_attribute8 := FND_API.G_MISS_CHAR;
597 x_attribute9 := FND_API.G_MISS_CHAR;
598 x_attribute_category := FND_API.G_MISS_CHAR;
599 x_date_required := FND_API.G_MISS_DATE;
600 x_from_locator_id := FND_API.G_MISS_NUM;
601 x_from_subinventory_code := FND_API.G_MISS_CHAR;
602 x_from_subinventory_id := FND_API.G_MISS_NUM;
603 x_header_id := FND_API.G_MISS_NUM;
604 x_inventory_item_id := FND_API.G_MISS_NUM;
605 x_line_id := FND_API.G_MISS_NUM;
606 x_line_number := FND_API.G_MISS_NUM;
607 x_line_status := FND_API.G_MISS_NUM;
608 x_lot_number := FND_API.G_MISS_CHAR;
609 x_organization_id := FND_API.G_MISS_NUM;
610 x_project_id := FND_API.G_MISS_NUM;
611 x_quantity := FND_API.G_MISS_NUM;
612 x_quantity_delivered := FND_API.G_MISS_NUM;
613 x_quantity_detailed := FND_API.G_MISS_NUM;
614 x_reason_id := FND_API.G_MISS_NUM;
615 x_reference := FND_API.G_MISS_CHAR;
616 x_reference_id := FND_API.G_MISS_NUM;
617 x_reference_type_code := FND_API.G_MISS_NUM;
618 x_revision := FND_API.G_MISS_CHAR;
619 x_serial_number_end := FND_API.G_MISS_CHAR;
620 x_serial_number_start := FND_API.G_MISS_CHAR;
621 x_status_date := FND_API.G_MISS_DATE;
622 x_task_id := FND_API.G_MISS_NUM;
623 x_to_account_id := FND_API.G_MISS_NUM;
624 x_to_locator_id := FND_API.G_MISS_NUM;
625 x_to_subinventory_code := FND_API.G_MISS_CHAR;
626 x_to_subinventory_id := FND_API.G_MISS_NUM;
627 x_transaction_header_id := FND_API.G_MISS_NUM;
628 x_uom_code := FND_API.G_MISS_CHAR;
629 x_from_locator := FND_API.G_MISS_CHAR;
630 x_inventory_item := FND_API.G_MISS_CHAR;
631 x_project := FND_API.G_MISS_CHAR;
632 x_reason := FND_API.G_MISS_CHAR;
633 x_reference_type := FND_API.G_MISS_CHAR;
634 x_task := FND_API.G_MISS_CHAR;
635 x_to_account := FND_API.G_MISS_CHAR;
636 x_to_locator := FND_API.G_MISS_CHAR;
637 x_transaction_type_id := FND_API.G_MISS_NUM;
638 x_transaction_source_type_id := FND_API.G_MISS_NUM;
639 x_txn_source_id := FND_API.G_MISS_NUM;
640 x_txn_source_line_id := FND_API.G_MISS_NUM;
641 x_txn_source_line_detail_id := FND_API.G_MISS_NUM;
642 x_to_organization_id := FND_API.G_MISS_NUM;
643 x_primary_quantity := FND_API.G_MISS_NUM;
644 x_pick_strategy_id := FND_API.G_MISS_NUM;
645 x_put_away_strategy_id := FND_API.G_MISS_NUM;
646 x_unit_number := FND_API.G_MISS_CHAR;
647
648 -- Load display out parameters if any
649
650 l_trolin_val_rec := INV_Trolin_Util.Get_Values
651 ( p_trolin_rec => l_x_trolin_rec
652 , p_old_trolin_rec => l_trolin_rec
653 );
654
655 -- Return changed attributes.
656
657 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.attribute1,
658 l_trolin_rec.attribute1)
659 THEN
660 x_attribute1 := l_x_trolin_rec.attribute1;
661 END IF;
662
663 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.attribute10,
664 l_trolin_rec.attribute10)
665 THEN
666 x_attribute10 := l_x_trolin_rec.attribute10;
667 END IF;
668
669 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.attribute11,
670 l_trolin_rec.attribute11)
671 THEN
672 x_attribute11 := l_x_trolin_rec.attribute11;
673 END IF;
674
675 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.attribute12,
676 l_trolin_rec.attribute12)
677 THEN
678 x_attribute12 := l_x_trolin_rec.attribute12;
679 END IF;
680
681 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.attribute13,
682 l_trolin_rec.attribute13)
683 THEN
684 x_attribute13 := l_x_trolin_rec.attribute13;
685 END IF;
686
687 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.attribute14,
688 l_trolin_rec.attribute14)
689 THEN
690 x_attribute14 := l_x_trolin_rec.attribute14;
691 END IF;
692
693 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.attribute15,
694 l_trolin_rec.attribute15)
695 THEN
696 x_attribute15 := l_x_trolin_rec.attribute15;
697 END IF;
698
699 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.attribute2,
700 l_trolin_rec.attribute2)
701 THEN
702 x_attribute2 := l_x_trolin_rec.attribute2;
703 END IF;
704
705 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.attribute3,
706 l_trolin_rec.attribute3)
707 THEN
708 x_attribute3 := l_x_trolin_rec.attribute3;
709 END IF;
710
711 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.attribute4,
712 l_trolin_rec.attribute4)
713 THEN
714 x_attribute4 := l_x_trolin_rec.attribute4;
715 END IF;
716
717 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.attribute5,
718 l_trolin_rec.attribute5)
719 THEN
720 x_attribute5 := l_x_trolin_rec.attribute5;
721 END IF;
722
723 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.attribute6,
724 l_trolin_rec.attribute6)
725 THEN
726 x_attribute6 := l_x_trolin_rec.attribute6;
727 END IF;
728
729 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.attribute7,
730 l_trolin_rec.attribute7)
731 THEN
732 x_attribute7 := l_x_trolin_rec.attribute7;
733 END IF;
734
735 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.attribute8,
736 l_trolin_rec.attribute8)
737 THEN
738 x_attribute8 := l_x_trolin_rec.attribute8;
739 END IF;
740
741 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.attribute9,
742 l_trolin_rec.attribute9)
743 THEN
744 x_attribute9 := l_x_trolin_rec.attribute9;
745 END IF;
746
747 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.attribute_category,
748 l_trolin_rec.attribute_category)
749 THEN
750 x_attribute_category := l_x_trolin_rec.attribute_category;
751 END IF;
752
753 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.date_required,
754 l_trolin_rec.date_required)
755 THEN
756 x_date_required := l_x_trolin_rec.date_required;
757 END IF;
758
759 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.from_locator_id,
760 l_trolin_rec.from_locator_id)
761 THEN
762 x_from_locator_id := l_x_trolin_rec.from_locator_id;
763 x_from_locator := l_trolin_val_rec.from_locator;
764 END IF;
765
766 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.from_subinventory_code,
767 l_trolin_rec.from_subinventory_code)
768 THEN
769 x_from_subinventory_code := l_x_trolin_rec.from_subinventory_code;
770 END IF;
771
772 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.from_subinventory_id,
773 l_trolin_rec.from_subinventory_id)
774 THEN
775 x_from_subinventory_id := l_x_trolin_rec.from_subinventory_id;
776 END IF;
777
778 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.header_id,
779 l_trolin_rec.header_id)
780 THEN
781 x_header_id := l_x_trolin_rec.header_id;
782 END IF;
783
784 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.inventory_item_id,
785 l_trolin_rec.inventory_item_id)
786 THEN
787 x_inventory_item_id := l_x_trolin_rec.inventory_item_id;
788 x_inventory_item := l_trolin_val_rec.inventory_item;
789 END IF;
790
791 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.line_id,
792 l_trolin_rec.line_id)
793 THEN
794 x_line_id := l_x_trolin_rec.line_id;
795 END IF;
796
797 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.line_number,
798 l_trolin_rec.line_number)
799 THEN
800 x_line_number := l_x_trolin_rec.line_number;
801 END IF;
802
803 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.line_status,
804 l_trolin_rec.line_status)
805 THEN
806 x_line_status := l_x_trolin_rec.line_status;
807 END IF;
808
809 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.lot_number,
810 l_trolin_rec.lot_number)
811 THEN
812 x_lot_number := l_x_trolin_rec.lot_number;
813 END IF;
814
815 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.organization_id,
816 l_trolin_rec.organization_id)
817 THEN
818 x_organization_id := l_x_trolin_rec.organization_id;
819 END IF;
820
821 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.project_id,
822 l_trolin_rec.project_id)
823 THEN
824 x_project_id := l_x_trolin_rec.project_id;
825 x_project := l_trolin_val_rec.project;
826 END IF;
827
828 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.quantity,
829 l_trolin_rec.quantity)
830 THEN
831 x_quantity := l_x_trolin_rec.quantity;
832 END IF;
833
834 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.quantity_delivered,
835 l_trolin_rec.quantity_delivered)
836 THEN
837 x_quantity_delivered := l_x_trolin_rec.quantity_delivered;
838 END IF;
839
840 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.quantity_detailed,
841 l_trolin_rec.quantity_detailed)
842 THEN
843 x_quantity_detailed := l_x_trolin_rec.quantity_detailed;
844 END IF;
845
846 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.reason_id,
847 l_trolin_rec.reason_id)
848 THEN
849 x_reason_id := l_x_trolin_rec.reason_id;
850 x_reason := l_trolin_val_rec.reason;
851 END IF;
852
853 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.reference,
854 l_trolin_rec.reference)
855 THEN
856 x_reference := l_x_trolin_rec.reference;
857 END IF;
858
859 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.reference_id,
860 l_trolin_rec.reference_id)
861 THEN
862 x_reference_id := l_x_trolin_rec.reference_id;
863 x_reference := l_trolin_val_rec.reference;
864 END IF;
865
866 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.reference_type_code,
867 l_trolin_rec.reference_type_code)
868 THEN
869 x_reference_type_code := l_x_trolin_rec.reference_type_code;
870 x_reference_type := l_trolin_val_rec.reference_type;
871 END IF;
872
873 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.revision,
874 l_trolin_rec.revision)
875 THEN
876 x_revision := l_x_trolin_rec.revision;
877 END IF;
878
879 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.serial_number_end,
880 l_trolin_rec.serial_number_end)
881 THEN
882 x_serial_number_end := l_x_trolin_rec.serial_number_end;
883 END IF;
884
885 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.serial_number_start,
886 l_trolin_rec.serial_number_start)
887 THEN
888 x_serial_number_start := l_x_trolin_rec.serial_number_start;
889 END IF;
890
891 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.status_date,
892 l_trolin_rec.status_date)
893 THEN
894 x_status_date := l_x_trolin_rec.status_date;
895 END IF;
896
897 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.task_id,
898 l_trolin_rec.task_id)
899 THEN
900 x_task_id := l_x_trolin_rec.task_id;
901 x_task := l_trolin_val_rec.task;
902 END IF;
903
904 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.to_account_id,
905 l_trolin_rec.to_account_id)
906 THEN
907 x_to_account_id := l_x_trolin_rec.to_account_id;
908 x_to_account := l_trolin_val_rec.to_account;
909 END IF;
910
911 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.to_locator_id,
912 l_trolin_rec.to_locator_id)
913 THEN
914 x_to_locator_id := l_x_trolin_rec.to_locator_id;
915 x_to_locator := l_trolin_val_rec.to_locator;
916 END IF;
917
918 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.to_subinventory_code,
919 l_trolin_rec.to_subinventory_code)
920 THEN
921 x_to_subinventory_code := l_x_trolin_rec.to_subinventory_code;
922 END IF;
923
924 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.to_subinventory_id,
925 l_trolin_rec.to_subinventory_id)
926 THEN
927 x_to_subinventory_id := l_x_trolin_rec.to_subinventory_id;
928 END IF;
929
930 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.transaction_header_id,
931 l_trolin_rec.transaction_header_id)
932 THEN
933 x_transaction_header_id := l_x_trolin_rec.transaction_header_id;
934 END IF;
935
936 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.uom_code,
937 l_trolin_rec.uom_code)
938 THEN
939 x_uom_code := l_x_trolin_rec.uom_code;
940 END IF;
941
942 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.transaction_type_id,
943 l_trolin_rec.transaction_type_id)
944 THEN
945 x_transaction_type_id := l_x_trolin_rec.transaction_type_id;
946 END IF;
947
948 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.transaction_Source_type_id,
949 l_trolin_rec.transaction_Source_type_id)
950 THEN
951 x_transaction_Source_type_id := l_x_trolin_rec.transaction_Source_type_id;
952 END IF;
953
954 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.txn_source_id,
955 l_trolin_rec.txn_source_id)
956 THEN
957 x_txn_source_id := l_x_trolin_rec.txn_source_id;
958 END IF;
959
960 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.txn_source_line_id,
961 l_trolin_rec.txn_source_line_id)
962 THEN
963 x_txn_source_line_id := l_x_trolin_rec.txn_source_line_id;
964 END IF;
965
966 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.txn_source_line_detail_id,
967 l_trolin_rec.txn_source_line_detail_id)
968 THEN
969 x_txn_source_line_detail_id := l_x_trolin_rec.txn_source_line_detail_id;
970 END IF;
971
972 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.primary_quantity,
973 l_trolin_rec.primary_quantity)
974 THEN
975 x_primary_quantity := l_x_trolin_rec.primary_quantity;
976 END IF;
977
978 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.to_organization_id,
979 l_trolin_rec.to_organization_id)
980 THEN
981 x_to_organization_id := l_x_trolin_rec.to_organization_id;
982 END IF;
983
984 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.pick_strategy_id,
985 l_trolin_rec.pick_strategy_id)
986 THEN
987 x_pick_strategy_id := l_x_trolin_rec.pick_strategy_id;
988 END IF;
989
990 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.put_away_strategy_id,
991 l_trolin_rec.put_away_strategy_id)
992 THEN
993 x_put_away_strategy_id := l_x_trolin_rec.put_away_strategy_id;
994 END IF;
995
996 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.unit_number,
997 l_trolin_rec.unit_number)
998 THEN
999 x_unit_number := l_x_trolin_rec.unit_number;
1000 END IF;
1001
1002 IF NOT INV_GLOBALS.Equal(l_x_trolin_rec.ship_to_location_id,
1003 l_trolin_rec.ship_to_location_id)
1004 THEN
1005 x_ship_to_location_id := l_x_trolin_rec.ship_to_location_id;
1006 END IF;
1007
1008 */
1009
1010
1011 -- Write to cache.
1012
1013 /* inv_debug.message('Bef Write_trolin'); */
1014 Write_trolin
1015 ( p_trolin_rec => l_x_trolin_rec
1016 );
1017
1018 /* inv_debug.message('AFt Write_trolin'); */
1019 -- Set return status.
1020
1021 x_return_status := FND_API.G_RET_STS_SUCCESS;
1022
1023 -- Get message count and data
1024
1025 FND_MSG_PUB.Count_And_Get
1026 ( p_count => x_msg_count
1027 , p_data => x_msg_data
1028 );
1029
1030
1031 EXCEPTION
1032
1033 WHEN FND_API.G_EXC_ERROR THEN
1034
1035 x_return_status := FND_API.G_RET_STS_ERROR;
1036
1037 -- Get message count and data
1038
1039 FND_MSG_PUB.Count_And_Get
1040 ( p_count => x_msg_count
1041 , p_data => x_msg_data
1042 );
1043
1044 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1045
1046 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1047
1048 -- Get message count and data
1049
1050 FND_MSG_PUB.Count_And_Get
1051 ( p_count => x_msg_count
1052 , p_data => x_msg_data
1053 );
1054
1055 WHEN OTHERS THEN
1056
1057 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1058
1059 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1060 THEN
1061 FND_MSG_PUB.Add_Exc_Msg
1062 ( G_PKG_NAME
1063 , 'Change_Attribute'
1064 );
1065 END IF;
1066
1067 -- Get message count and data
1068
1069 FND_MSG_PUB.Count_And_Get
1070 ( p_count => x_msg_count
1071 , p_data => x_msg_data
1072 );
1073
1074 END Validate_Record;
1075
1076 -- Procedure Validate_And_Write
1077 --
1078
1079 PROCEDURE Validate_And_Write
1080 ( x_return_status OUT NOCOPY VARCHAR2
1081 , x_msg_count OUT NOCOPY NUMBER
1082 , x_msg_data OUT NOCOPY VARCHAR2
1083 , p_attribute1 IN VARCHAR2
1084 , p_attribute10 IN VARCHAR2
1085 , p_attribute11 IN VARCHAR2
1086 , p_attribute12 IN VARCHAR2
1087 , p_attribute13 IN VARCHAR2
1088 , p_attribute14 IN VARCHAR2
1089 , p_attribute15 IN VARCHAR2
1090 , p_attribute2 IN VARCHAR2
1091 , p_attribute3 IN VARCHAR2
1092 , p_attribute4 IN VARCHAR2
1093 , p_attribute5 IN VARCHAR2
1094 , p_attribute6 IN VARCHAR2
1095 , p_attribute7 IN VARCHAR2
1096 , p_attribute8 IN VARCHAR2
1097 , p_attribute9 IN VARCHAR2
1098 , p_attribute_category IN VARCHAR2
1099 , p_date_required IN DATE
1100 , p_from_locator_id IN NUMBER
1101 , p_from_subinventory_code IN VARCHAR2
1102 , p_from_subinventory_id IN NUMBER
1103 , p_header_id IN NUMBER
1104 , p_inventory_item_id IN NUMBER
1105 , p_line_id IN NUMBER
1106 , p_line_number IN NUMBER
1107 , p_line_status IN NUMBER
1108 , p_lot_number IN VARCHAR2
1109 , p_organization_id IN NUMBER
1110 , p_project_id IN NUMBER
1111 , p_quantity IN NUMBER
1112 , p_quantity_delivered IN NUMBER
1113 , p_quantity_detailed IN NUMBER
1114 , p_reason_id IN NUMBER
1115 , p_reference IN VARCHAR2
1116 , p_reference_id IN NUMBER
1117 , p_reference_type_code IN NUMBER
1118 , p_revision IN VARCHAR2
1119 , p_serial_number_end IN VARCHAR2
1120 , p_serial_number_start IN VARCHAR2
1121 , p_status_date IN DATE
1122 , p_task_id IN NUMBER
1123 , p_to_account_id IN NUMBER
1124 , p_to_locator_id IN NUMBER
1125 , p_to_subinventory_code IN VARCHAR2
1126 , p_to_subinventory_id IN NUMBER
1127 , p_transaction_header_id IN NUMBER
1128 , p_uom_code IN VARCHAR2
1129 , p_transaction_type_id IN NUMBER
1130 , p_transaction_source_type_id IN NUMBER
1131 , p_txn_source_id IN NUMBER
1132 , p_txn_source_line_id IN NUMBER
1133 , p_txn_source_line_detail_id IN NUMBER
1134 , p_primary_quantity IN NUMBER
1135 , p_to_organization_id IN NUMBER
1136 , p_pick_strategy_id IN NUMBER
1137 , p_put_away_strategy_id IN NUMBER
1138 , p_unit_number IN VARCHAR2
1139 , p_ship_to_location_id IN NUMBER
1140 , p_from_cost_group_id IN NUMBER DEFAULT NULL
1141 , p_to_cost_group_id IN NUMBER DEFAULT NULL
1142 , p_lpn_id IN NUMBER DEFAULT NULL
1143 , p_to_lpn_id IN NUMBER DEFAULT NULL
1144 , p_db_flag IN VARCHAR2
1145 , p_secondary_quantity IN NUMBER DEFAULT NULL --INVCONV change
1146 , p_secondary_quantity_delivered IN NUMBER DEFAULT NULL --INVCONV change
1147 , p_secondary_quantity_detailed IN NUMBER DEFAULT NULL --INVCONV change
1148 , p_secondary_uom_code IN VARCHAR2 DEFAULT NULL --INVCONV change
1149 , p_grade_code IN VARCHAR2 DEFAULT NULL --INVCONV change
1150 , x_creation_date OUT NOCOPY DATE
1151 , x_created_by OUT NOCOPY NUMBER
1152 , x_last_update_date OUT NOCOPY DATE
1153 , x_last_updated_by OUT NOCOPY NUMBER
1154 , x_last_update_login OUT NOCOPY NUMBER
1155 )
1156 IS
1157 l_trolin_rec INV_Move_Order_PUB.Trolin_Rec_Type;
1158 l_g_trolin_rec INV_Move_Order_PUB.Trolin_Rec_Type;
1159 l_old_trolin_rec INV_Move_Order_PUB.Trolin_Rec_Type;
1160 l_trolin_tbl INV_Move_Order_PUB.Trolin_Tbl_Type;
1161 l_old_trolin_tbl INV_Move_Order_PUB.Trolin_Tbl_Type;
1162 l_control_rec INV_GLOBALS.Control_Rec_Type;
1163 l_return_status VARCHAR2(1);
1164 l_x_trohdr_rec INV_Move_Order_PUB.Trohdr_Rec_Type;
1165 l_x_trolin_rec INV_Move_Order_PUB.Trolin_Rec_Type;
1166 l_x_trolin_tbl INV_Move_Order_PUB.Trolin_Tbl_Type;
1167 l_debug number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
1168 BEGIN
1169
1170 -- Set control flags.
1171
1172 l_control_rec.controlled_operation := TRUE;
1173 l_control_rec.validate_entity := TRUE;
1174 l_control_rec.write_to_DB := TRUE;
1175
1176 l_control_rec.default_attributes := FALSE;
1177 l_control_rec.change_attributes := FALSE;
1178 l_control_rec.process := FALSE;
1179
1180 -- Instruct API to retain its caches
1181
1182 l_control_rec.clear_api_cache := FALSE;
1183 l_control_rec.clear_api_requests := FALSE;
1184
1185 g_trolin_rec.date_required := p_date_required;
1186 g_trolin_rec.from_locator_id := p_from_locator_id;
1187 g_trolin_rec.from_subinventory_code:= p_from_subinventory_code;
1188 g_trolin_rec.from_subinventory_id := p_from_subinventory_id;
1189 g_trolin_rec.header_id := p_header_id;
1190 g_trolin_rec.inventory_item_id := p_inventory_item_id;
1191 g_trolin_rec.line_id := p_line_id;
1192 g_trolin_rec.line_number := p_line_number;
1193 g_trolin_rec.line_status := p_line_status;
1194 g_trolin_rec.lot_number := p_lot_number;
1195 g_trolin_rec.organization_id := p_organization_id;
1196 g_trolin_rec.project_id := p_project_id;
1197 g_trolin_rec.quantity := p_quantity;
1198 g_trolin_rec.quantity_delivered := p_quantity_delivered;
1199 g_trolin_rec.quantity_detailed := p_quantity_detailed;
1200 g_trolin_rec.reason_id := p_reason_id;
1201 g_trolin_rec.reference := p_reference;
1202 g_trolin_rec.reference_id := p_reference_id;
1203 g_trolin_rec.reference_type_code := p_reference_type_code;
1204 g_trolin_rec.revision := p_revision;
1205 g_trolin_rec.serial_number_end := p_serial_number_end;
1206 g_trolin_rec.serial_number_start := p_serial_number_start;
1207 g_trolin_rec.status_date := p_status_date;
1208 g_trolin_rec.task_id := p_task_id;
1209 g_trolin_rec.to_account_id := p_to_account_id;
1210 g_trolin_rec.to_locator_id := p_to_locator_id;
1211 g_trolin_rec.to_subinventory_code := p_to_subinventory_code;
1212 g_trolin_rec.to_subinventory_id := p_to_subinventory_id;
1213 g_trolin_rec.transaction_header_id:= p_transaction_header_id;
1214 g_trolin_rec.uom_code := p_uom_code;
1215 g_trolin_rec.attribute1 := p_attribute1;
1216 g_trolin_rec.attribute10 := p_attribute10;
1217 g_trolin_rec.attribute11 := p_attribute11;
1218 g_trolin_rec.attribute12 := p_attribute12;
1219 g_trolin_rec.attribute13 := p_attribute13;
1220 g_trolin_rec.attribute14 := p_attribute14;
1221 g_trolin_rec.attribute15 := p_attribute15;
1222 g_trolin_rec.attribute2 := p_attribute2;
1223 g_trolin_rec.attribute3 := p_attribute3;
1224 g_trolin_rec.attribute4 := p_attribute4;
1225 g_trolin_rec.attribute5 := p_attribute5;
1226 g_trolin_rec.attribute6 := p_attribute6;
1227 g_trolin_rec.attribute7 := p_attribute7;
1228 g_trolin_rec.attribute8 := p_attribute8;
1229 g_trolin_rec.attribute9 := p_attribute9;
1230 g_trolin_rec.attribute_category := p_attribute_category;
1231 /* ssia added for move order enhancement changes */
1232 g_trolin_rec.transaction_type_id := p_transaction_type_id;
1233 g_trolin_rec.transaction_source_type_id := p_transaction_source_type_id;
1234 g_trolin_rec.txn_source_id := p_txn_source_id;
1235 g_trolin_rec.txn_source_line_id := p_txn_source_line_id;
1236 g_trolin_rec.txn_source_line_detail_id := p_txn_source_line_detail_id;
1237 g_trolin_rec.primary_quantity := p_primary_quantity;
1238 g_trolin_rec.to_organization_id := p_to_organization_id;
1239 g_trolin_rec.pick_strategy_id := p_pick_strategy_id;
1240 g_trolin_rec.put_away_strategy_id := p_put_away_strategy_id;
1241 g_trolin_rec.unit_number := p_unit_number;
1242 g_trolin_rec.ship_to_location_id := p_ship_to_location_id;
1243 g_trolin_Rec.from_cost_Group_id := p_from_cost_Group_id;
1244 g_trolin_rec.to_cost_group_id := p_to_cost_group_id;
1245 g_trolin_rec.lpn_id := p_lpn_id;
1246 g_trolin_rec.to_lpn_id := p_to_lpn_id;
1247 g_trolin_rec.db_flag := p_db_flag;
1248
1249 /* ssia end of move order enhancement changes */
1250 --INVCONV BEGIN
1251 g_trolin_rec.secondary_quantity := p_secondary_quantity;
1252 g_trolin_rec.secondary_quantity_delivered := p_secondary_quantity_delivered;
1253 g_trolin_rec.secondary_quantity_detailed := p_secondary_quantity_detailed;
1254 g_trolin_rec.secondary_uom := p_secondary_uom_code;
1255 g_trolin_rec.grade_code := p_grade_code;
1256 --INVCONV END
1257
1258 -- Read trolin from cache
1259
1260 l_old_trolin_rec := Get_trolin
1261 ( p_db_record => TRUE
1262 , p_line_id => p_line_id
1263 );
1264
1265 l_trolin_rec := Get_trolin
1266 ( p_db_record => FALSE
1267 , p_line_id => p_line_id
1268 );
1269
1270 -- Set Operation.
1271
1272 IF FND_API.To_Boolean(l_trolin_rec.db_flag) THEN
1273 l_trolin_rec.operation := INV_GLOBALS.G_OPR_UPDATE;
1274 ELSE
1275 l_trolin_rec.operation := INV_GLOBALS.G_OPR_CREATE;
1276 END IF;
1277
1278 -- Populate trolin table
1279
1280 l_trolin_tbl(1) := l_trolin_rec;
1281 l_old_trolin_tbl(1) := l_old_trolin_rec;
1282
1283 -- Call INV_Transfer_Order_PVT.Process_Transfer_Order
1284
1285 INV_Transfer_Order_PVT.Process_Transfer_Order
1286 ( p_api_version_number => 1.0
1287 , p_init_msg_list => FND_API.G_TRUE
1288 , x_return_status => l_return_status
1289 , x_msg_count => x_msg_count
1290 , x_msg_data => x_msg_data
1291 , p_control_rec => l_control_rec
1292 , p_trolin_tbl => l_trolin_tbl
1293 , p_old_trolin_tbl => l_old_trolin_tbl
1294 , x_trohdr_rec => l_x_trohdr_rec
1295 , x_trolin_tbl => l_x_trolin_tbl
1296 );
1297
1298 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1299 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1300 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1301 RAISE FND_API.G_EXC_ERROR;
1302 END IF;
1303
1304
1305 -- Load OUT parameters.
1306
1307 l_x_trolin_rec := l_x_trolin_tbl(1);
1308
1309 x_creation_date := l_x_trolin_rec.creation_date;
1310 x_created_by := l_x_trolin_rec.created_by;
1311 x_last_update_date := l_x_trolin_rec.last_update_date;
1312 x_last_updated_by := l_x_trolin_rec.last_updated_by;
1313 x_last_update_login := l_x_trolin_rec.last_update_login;
1314
1315 -- Clear trolin record cache
1316
1317 Clear_trolin;
1318
1319 -- Keep track of performed operations.
1320
1321 l_old_trolin_rec.operation := l_trolin_rec.operation;
1322
1323
1324 -- Set return status.
1325
1326 x_return_status := FND_API.G_RET_STS_SUCCESS;
1327
1328 -- Get message count and data
1329
1330 FND_MSG_PUB.Count_And_Get
1331 ( p_count => x_msg_count
1332 , p_data => x_msg_data
1333 );
1334
1335
1336 EXCEPTION
1337
1338 WHEN FND_API.G_EXC_ERROR THEN
1339
1340 x_return_status := FND_API.G_RET_STS_ERROR;
1341
1342 -- Get message count and data
1343
1344 FND_MSG_PUB.Count_And_Get
1345 ( p_count => x_msg_count
1346 , p_data => x_msg_data
1347 );
1348
1349 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1350
1351 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1352
1353 -- Get message count and data
1354
1355 FND_MSG_PUB.Count_And_Get
1356 ( p_count => x_msg_count
1357 , p_data => x_msg_data
1358 );
1359
1360 WHEN OTHERS THEN
1361
1362 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1363
1364 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1365 THEN
1366 FND_MSG_PUB.Add_Exc_Msg
1367 ( G_PKG_NAME
1368 , 'Validate_And_Write'
1369 );
1370 END IF;
1371
1372 -- Get message count and data
1373
1374 FND_MSG_PUB.Count_And_Get
1375 ( p_count => x_msg_count
1376 , p_data => x_msg_data
1377 );
1378
1379 END Validate_And_Write;
1380
1381 -- Procedure Delete_Row
1382 --
1383
1384 PROCEDURE Delete_Row
1385 ( x_return_status OUT NOCOPY VARCHAR2
1386 , x_msg_count OUT NOCOPY NUMBER
1387 , x_msg_data OUT NOCOPY VARCHAR2
1388 , p_line_id IN NUMBER
1389 )
1390 IS
1391 l_trolin_rec INV_Move_Order_PUB.Trolin_Rec_Type;
1392 l_trolin_tbl INV_Move_Order_PUB.Trolin_Tbl_Type;
1393 l_control_rec INV_GLOBALS.Control_Rec_Type;
1394 l_return_status VARCHAR2(1);
1395 l_x_trohdr_rec INV_Move_Order_PUB.Trohdr_Rec_Type;
1396 l_x_trolin_rec INV_Move_Order_PUB.Trolin_Rec_Type;
1397 l_x_trolin_tbl INV_Move_Order_PUB.Trolin_Tbl_Type;
1398 l_debug number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
1399 BEGIN
1400
1401 -- Set control flags.
1402
1403 l_control_rec.controlled_operation := TRUE;
1404 l_control_rec.validate_entity := TRUE;
1405 l_control_rec.write_to_DB := TRUE;
1406
1407 l_control_rec.default_attributes := FALSE;
1408 l_control_rec.change_attributes := FALSE;
1409 l_control_rec.process := FALSE;
1410
1411 -- Instruct API to retain its caches
1412
1413 l_control_rec.clear_api_cache := FALSE;
1414 l_control_rec.clear_api_requests := FALSE;
1415
1416 -- Read DB record from cache
1417
1418 l_trolin_rec := Get_trolin
1419 ( p_db_record => TRUE
1420 , p_line_id => p_line_id
1421 );
1422
1423 -- Set Operation.
1424
1425 l_trolin_rec.operation := INV_GLOBALS.G_OPR_DELETE;
1426
1427 -- Populate trolin table
1428
1429 l_trolin_tbl(1) := l_trolin_rec;
1430
1431 -- Call INV_Transfer_Order_PVT.Process_Transfer_Order
1432
1433 INV_Transfer_Order_PVT.Process_Transfer_Order
1434 ( p_api_version_number => 1.0
1435 , p_init_msg_list => FND_API.G_TRUE
1436 , x_return_status => l_return_status
1437 , x_msg_count => x_msg_count
1438 , x_msg_data => x_msg_data
1439 , p_control_rec => l_control_rec
1440 , p_trolin_tbl => l_trolin_tbl
1441 , x_trohdr_rec => l_x_trohdr_rec
1442 , x_trolin_tbl => l_x_trolin_tbl
1443 );
1444
1445 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1446 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1447 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1448 RAISE FND_API.G_EXC_ERROR;
1449 END IF;
1450
1451
1452 -- Clear trolin record cache
1453
1454 Clear_trolin;
1455
1456 -- Set return status.
1457
1458 x_return_status := FND_API.G_RET_STS_SUCCESS;
1459
1460 -- Get message count and data
1461
1462 FND_MSG_PUB.Count_And_Get
1463 ( p_count => x_msg_count
1464 , p_data => x_msg_data
1465 );
1466
1467
1468 EXCEPTION
1469
1470 WHEN FND_API.G_EXC_ERROR THEN
1471
1472 x_return_status := FND_API.G_RET_STS_ERROR;
1473
1474 -- Get message count and data
1475
1476 FND_MSG_PUB.Count_And_Get
1477 ( p_count => x_msg_count
1478 , p_data => x_msg_data
1479 );
1480
1481 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1482
1483 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1484
1485 -- Get message count and data
1486
1487 FND_MSG_PUB.Count_And_Get
1488 ( p_count => x_msg_count
1489 , p_data => x_msg_data
1490 );
1491
1492 WHEN OTHERS THEN
1493
1494 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1495
1496 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1497 THEN
1498 FND_MSG_PUB.Add_Exc_Msg
1499 ( G_PKG_NAME
1500 , 'Delete_Row'
1501 );
1502 END IF;
1503
1504 -- Get message count and data
1505
1506 FND_MSG_PUB.Count_And_Get
1507 ( p_count => x_msg_count
1508 , p_data => x_msg_data
1509 );
1510
1511 END Delete_Row;
1512
1513 -- Procedure Process_Entity
1514 --
1515
1516 PROCEDURE Process_Entity
1517 ( x_return_status OUT NOCOPY VARCHAR2
1518 , x_msg_count OUT NOCOPY NUMBER
1519 , x_msg_data OUT NOCOPY VARCHAR2
1520 )
1521 IS
1522 l_control_rec INV_GLOBALS.Control_Rec_Type;
1523 l_return_status VARCHAR2(1);
1524 l_x_trohdr_rec INV_Move_Order_PUB.Trohdr_Rec_Type;
1525 l_x_trolin_rec INV_Move_Order_PUB.Trolin_Rec_Type;
1526 l_x_trolin_tbl INV_Move_Order_PUB.Trolin_Tbl_Type;
1527 l_debug number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
1528 BEGIN
1529
1530 -- Set control flags.
1531
1532 l_control_rec.controlled_operation := TRUE;
1533 l_control_rec.process := TRUE;
1534 l_control_rec.process_entity := INV_GLOBALS.G_ENTITY_TROLIN;
1535
1536 l_control_rec.default_attributes := FALSE;
1537 l_control_rec.change_attributes := FALSE;
1538 l_control_rec.validate_entity := FALSE;
1539 l_control_rec.write_to_DB := FALSE;
1540
1541 -- Instruct API to clear its request table
1542
1543 l_control_rec.clear_api_cache := FALSE;
1544 l_control_rec.clear_api_requests := FALSE;
1545
1546 -- Call INV_Transfer_Order_PVT.Process_Transfer_Order
1547
1548 INV_Transfer_Order_PVT.Process_Transfer_Order
1549 ( p_api_version_number => 1.0
1550 , p_init_msg_list => FND_API.G_TRUE
1551 , x_return_status => l_return_status
1552 , x_msg_count => x_msg_count
1553 , x_msg_data => x_msg_data
1554 , p_control_rec => l_control_rec
1555 , x_trohdr_rec => l_x_trohdr_rec
1556 , x_trolin_tbl => l_x_trolin_tbl
1557 );
1558
1559 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1560 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1561 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1562 RAISE FND_API.G_EXC_ERROR;
1563 END IF;
1564
1565
1566 -- Set return status.
1567
1568 x_return_status := FND_API.G_RET_STS_SUCCESS;
1569
1570 -- Get message count and data
1571
1572 FND_MSG_PUB.Count_And_Get
1573 ( p_count => x_msg_count
1574 , p_data => x_msg_data
1575 );
1576
1577
1578 EXCEPTION
1579
1580 WHEN FND_API.G_EXC_ERROR THEN
1581
1582 x_return_status := FND_API.G_RET_STS_ERROR;
1583
1584 -- Get message count and data
1585
1586 FND_MSG_PUB.Count_And_Get
1587 ( p_count => x_msg_count
1588 , p_data => x_msg_data
1589 );
1590
1591 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1592
1593 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1594
1595 -- Get message count and data
1596
1597 FND_MSG_PUB.Count_And_Get
1598 ( p_count => x_msg_count
1599 , p_data => x_msg_data
1600 );
1601
1602 WHEN OTHERS THEN
1603
1604 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1605
1606 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1607 THEN
1608 FND_MSG_PUB.Add_Exc_Msg
1609 ( G_PKG_NAME
1610 , 'Process_Entity'
1611 );
1612 END IF;
1613
1614 -- Get message count and data
1615
1616 FND_MSG_PUB.Count_And_Get
1617 ( p_count => x_msg_count
1618 , p_data => x_msg_data
1619 );
1620
1621 END Process_Entity;
1622
1623 -- Procedure lock_Row
1624 --
1625
1626 PROCEDURE Lock_Row
1627 ( x_return_status OUT NOCOPY VARCHAR2
1628 , x_msg_count OUT NOCOPY NUMBER
1629 , x_msg_data OUT NOCOPY VARCHAR2
1630 , p_attribute1 IN VARCHAR2
1631 , p_attribute10 IN VARCHAR2
1632 , p_attribute11 IN VARCHAR2
1633 , p_attribute12 IN VARCHAR2
1634 , p_attribute13 IN VARCHAR2
1635 , p_attribute14 IN VARCHAR2
1636 , p_attribute15 IN VARCHAR2
1637 , p_attribute2 IN VARCHAR2
1638 , p_attribute3 IN VARCHAR2
1639 , p_attribute4 IN VARCHAR2
1640 , p_attribute5 IN VARCHAR2
1641 , p_attribute6 IN VARCHAR2
1642 , p_attribute7 IN VARCHAR2
1643 , p_attribute8 IN VARCHAR2
1644 , p_attribute9 IN VARCHAR2
1645 , p_attribute_category IN VARCHAR2
1646 , p_created_by IN NUMBER
1647 , p_creation_date IN DATE
1648 , p_date_required IN DATE
1649 , p_from_locator_id IN NUMBER
1650 , p_from_subinventory_code IN VARCHAR2
1651 , p_from_subinventory_id IN NUMBER
1652 , p_header_id IN NUMBER
1653 , p_inventory_item_id IN NUMBER
1654 , p_last_updated_by IN NUMBER
1655 , p_last_update_date IN DATE
1656 , p_last_update_login IN NUMBER
1657 , p_line_id IN NUMBER
1658 , p_line_number IN NUMBER
1659 , p_line_status IN NUMBER
1660 , p_lot_number IN VARCHAR2
1661 , p_organization_id IN NUMBER
1662 , p_program_application_id IN NUMBER
1663 , p_program_id IN NUMBER
1664 , p_program_update_date IN DATE
1665 , p_project_id IN NUMBER
1666 , p_quantity IN NUMBER
1667 , p_quantity_delivered IN NUMBER
1668 , p_quantity_detailed IN NUMBER
1669 , p_reason_id IN NUMBER
1670 , p_reference IN VARCHAR2
1671 , p_reference_id IN NUMBER
1672 , p_reference_type_code IN NUMBER
1673 , p_request_id IN NUMBER
1674 , p_revision IN VARCHAR2
1675 , p_serial_number_end IN VARCHAR2
1676 , p_serial_number_start IN VARCHAR2
1677 , p_status_date IN DATE
1678 , p_task_id IN NUMBER
1679 , p_to_account_id IN NUMBER
1680 , p_to_locator_id IN NUMBER
1681 , p_to_subinventory_code IN VARCHAR2
1682 , p_to_subinventory_id IN NUMBER
1683 , p_transaction_header_id IN NUMBER
1684 , p_transaction_type_id IN NUMBER
1685 , p_transaction_source_type_id IN NUMBER
1686 , p_txn_source_id IN NUMBER
1687 , p_txn_source_line_id IN NUMBER
1688 , p_txn_source_line_detail_id IN NUMBER
1689 , p_primary_quantity IN NUMBER
1690 , p_to_organization_id IN NUMBER
1691 , p_pick_strategy_id IN NUMBER
1692 , p_put_away_strategy_id IN NUMBER
1693 , p_unit_number IN VARCHAR2
1694 , p_uom_code IN VARCHAR2
1695 , p_ship_to_location_id IN NUMBER
1696 , p_from_cost_group_id IN NUMBER DEFAULT NULL
1697 , p_to_cost_group_id IN NUMBER DEFAULT NULL
1698 , p_lpn_id IN NUMBER DEFAULT NULL
1699 , p_to_lpn_id IN NUMBER DEFAULT NULL
1700 , p_secondary_quantity IN NUMBER DEFAULT NULL --INVCONV change
1701 , p_secondary_quantity_delivered IN NUMBER DEFAULT NULL --INVCONV change
1702 , p_secondary_quantity_detailed IN NUMBER DEFAULT NULL --INVCONV change
1703 , p_secondary_uom_code IN VARCHAR2 DEFAULT NULL --INVCONV change
1704 , p_grade_code IN VARCHAR2 DEFAULT NULL --INVCONV change
1705 )
1706 IS
1707 l_return_status VARCHAR2(1);
1708 l_trolin_rec INV_Move_Order_PUB.Trolin_Rec_Type;
1709 l_trolin_tbl INV_Move_Order_PUB.Trolin_Tbl_Type;
1710 l_x_trohdr_rec INV_Move_Order_PUB.Trohdr_Rec_Type;
1711 l_x_trolin_rec INV_Move_Order_PUB.Trolin_Rec_Type;
1712 l_x_trolin_tbl INV_Move_Order_PUB.Trolin_Tbl_Type;
1713 l_debug number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
1714 BEGIN
1715
1716 -- Load trolin record
1717
1718 l_trolin_rec.attribute1 := p_attribute1;
1719 l_trolin_rec.attribute10 := p_attribute10;
1720 l_trolin_rec.attribute11 := p_attribute11;
1721 l_trolin_rec.attribute12 := p_attribute12;
1722 l_trolin_rec.attribute13 := p_attribute13;
1723 l_trolin_rec.attribute14 := p_attribute14;
1724 l_trolin_rec.attribute15 := p_attribute15;
1725 l_trolin_rec.attribute2 := p_attribute2;
1726 l_trolin_rec.attribute3 := p_attribute3;
1727 l_trolin_rec.attribute4 := p_attribute4;
1728 l_trolin_rec.attribute5 := p_attribute5;
1729 l_trolin_rec.attribute6 := p_attribute6;
1730 l_trolin_rec.attribute7 := p_attribute7;
1731 l_trolin_rec.attribute8 := p_attribute8;
1732 l_trolin_rec.attribute9 := p_attribute9;
1733 l_trolin_rec.attribute_category := p_attribute_category;
1734 l_trolin_rec.created_by := p_created_by;
1735 l_trolin_rec.creation_date := p_creation_date;
1736 l_trolin_rec.date_required := p_date_required;
1737 l_trolin_rec.from_locator_id := p_from_locator_id;
1738 l_trolin_rec.from_subinventory_code := p_from_subinventory_code;
1739 l_trolin_rec.from_subinventory_id := p_from_subinventory_id;
1740 l_trolin_rec.header_id := p_header_id;
1741 l_trolin_rec.inventory_item_id := p_inventory_item_id;
1742 l_trolin_rec.last_updated_by := p_last_updated_by;
1743 l_trolin_rec.last_update_date := p_last_update_date;
1744 l_trolin_rec.last_update_login := p_last_update_login;
1745 l_trolin_rec.line_id := p_line_id;
1746 l_trolin_rec.line_number := p_line_number;
1747 l_trolin_rec.line_status := p_line_status;
1748 l_trolin_rec.lot_number := p_lot_number;
1749 l_trolin_rec.organization_id := p_organization_id;
1750 l_trolin_rec.program_application_id := p_program_application_id;
1751 l_trolin_rec.program_id := p_program_id;
1752 l_trolin_rec.program_update_date := p_program_update_date;
1753 l_trolin_rec.project_id := p_project_id;
1754 l_trolin_rec.quantity := p_quantity;
1755 l_trolin_rec.quantity_delivered := p_quantity_delivered;
1756 l_trolin_rec.quantity_detailed := p_quantity_detailed;
1757 l_trolin_rec.reason_id := p_reason_id;
1758 l_trolin_rec.reference := p_reference;
1759 l_trolin_rec.reference_id := p_reference_id;
1760 l_trolin_rec.reference_type_code := p_reference_type_code;
1761 l_trolin_rec.request_id := p_request_id;
1762 l_trolin_rec.revision := p_revision;
1763 l_trolin_rec.serial_number_end := p_serial_number_end;
1764 l_trolin_rec.serial_number_start := p_serial_number_start;
1765 l_trolin_rec.status_date := p_status_date;
1766 l_trolin_rec.task_id := p_task_id;
1767 l_trolin_rec.to_account_id := p_to_account_id;
1768 l_trolin_rec.to_locator_id := p_to_locator_id;
1769 l_trolin_rec.to_subinventory_code := p_to_subinventory_code;
1770 l_trolin_rec.to_subinventory_id := p_to_subinventory_id;
1771 l_trolin_rec.transaction_header_id := p_transaction_header_id;
1772 /* ssia added for move order enhancement */
1773 l_trolin_rec.transaction_type_id := p_transaction_type_id;
1774 l_trolin_rec.transaction_source_type_id := p_transaction_source_type_id;
1775 l_trolin_rec.txn_source_id := p_txn_source_id;
1776 l_trolin_rec.txn_source_line_id := p_txn_source_line_id;
1777 l_trolin_rec.txn_source_line_detail_id := p_txn_source_line_detail_id;
1778 l_trolin_rec.primary_quantity := p_primary_quantity;
1779 l_trolin_rec.to_organization_id := p_to_organization_id;
1780 l_trolin_rec.pick_strategy_id := p_pick_strategy_id;
1781 l_trolin_rec.put_away_strategy_id := p_put_away_strategy_id;
1782 l_trolin_rec.unit_number := p_unit_number;
1783 l_trolin_rec.uom_code := p_uom_code;
1784 l_trolin_rec.ship_to_location_id := p_ship_to_location_id;
1785 l_trolin_Rec.from_cost_group_id := p_from_cost_group_id;
1786 l_trolin_rec.to_cost_group_id := p_to_cost_group_id;
1787 l_trolin_rec.lpn_id := p_lpn_id;
1788 l_trolin_rec.to_lpn_id := p_to_lpn_id;
1789
1790 /* ssia end of move order enhancement changes */
1791
1792 --INVCONV BEGIN
1793 l_trolin_rec.secondary_quantity := p_secondary_quantity;
1794 l_trolin_rec.secondary_quantity_delivered := p_secondary_quantity_delivered;
1795 l_trolin_rec.secondary_quantity_detailed := p_secondary_quantity_detailed;
1796 l_trolin_rec.secondary_uom := p_secondary_uom_code;
1797 l_trolin_rec.grade_code := p_grade_code;
1798 --INVCONV END
1799
1800 -- Populate trolin table
1801
1802 l_trolin_tbl(1) := l_trolin_rec;
1803
1804 -- Call INV_Transfer_Order_PVT.Lock_Transfer_Order
1805
1806 INV_Transfer_Order_PVT.Lock_Transfer_Order
1807 ( p_api_version_number => 1.0
1808 , p_init_msg_list => FND_API.G_TRUE
1809 , x_return_status => l_return_status
1810 , x_msg_count => x_msg_count
1811 , x_msg_data => x_msg_data
1812 , p_trolin_tbl => l_trolin_tbl
1813 , x_trohdr_rec => l_x_trohdr_rec
1814 , x_trolin_tbl => l_x_trolin_tbl
1815 );
1816
1817 IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
1818
1819 -- Set DB flag and write record to cache.
1820
1821 l_x_trolin_rec.db_flag := FND_API.G_TRUE;
1822
1823 Write_trolin
1824 ( p_trolin_rec => l_x_trolin_rec
1825 , p_db_record => TRUE
1826 );
1827
1828 END IF;
1829
1830 -- Set return status.
1831
1832 x_return_status := l_return_status;
1833
1834 -- Get message count and data
1835
1836 FND_MSG_PUB.Count_And_Get
1837 ( p_count => x_msg_count
1838 , p_data => x_msg_data
1839 );
1840
1841
1842 EXCEPTION
1843
1844 WHEN OTHERS THEN
1845
1846 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1847 THEN
1848 FND_MSG_PUB.Add_Exc_Msg
1849 ( G_PKG_NAME
1850 , 'Lock_Row'
1851 );
1852 END IF;
1853
1854 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1855
1856 -- Get message count and data
1857
1858 FND_MSG_PUB.Count_And_Get
1859 ( p_count => x_msg_count
1860 , p_data => x_msg_data
1861 );
1862
1863
1864
1865 END Lock_Row;
1866
1867 -- Procedures maintaining trolin record cache.
1868
1869 PROCEDURE Write_trolin
1870 ( p_trolin_rec IN INV_Move_Order_PUB.Trolin_Rec_Type
1871 , p_db_record IN BOOLEAN := FALSE
1872 )
1873 IS
1874 l_debug number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
1875 BEGIN
1876
1877 g_trolin_rec := p_trolin_rec;
1878
1879 IF p_db_record THEN
1880
1881 g_db_trolin_rec := p_trolin_rec;
1882
1883 END IF;
1884
1885 END Write_Trolin;
1886
1887 FUNCTION Get_trolin
1888 ( p_db_record IN BOOLEAN := FALSE
1889 , p_line_id IN NUMBER
1890 )
1891 RETURN INV_Move_Order_PUB.Trolin_Rec_Type
1892 IS
1893 l_debug number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
1894 BEGIN
1895
1896 IF p_line_id <> g_trolin_rec.line_id
1897 THEN
1898
1899 -- Query row from DB
1900
1901 g_trolin_rec := INV_Trolin_Util.Query_Row
1902 ( p_line_id => p_line_id
1903 );
1904
1905 g_trolin_rec.db_flag := FND_API.G_TRUE;
1906
1907 -- Load DB record
1908
1909 g_db_trolin_rec := g_trolin_rec;
1910
1911 END IF;
1912
1913 IF p_db_record THEN
1914
1915 RETURN g_db_trolin_rec;
1916
1917 ELSE
1918
1919 RETURN g_trolin_rec;
1920
1921 END IF;
1922
1923 END Get_Trolin;
1924
1925 PROCEDURE Clear_Trolin
1926 IS
1927 l_debug number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
1928 BEGIN
1929
1930 g_trolin_rec := INV_Move_Order_PUB.G_MISS_TROLIN_REC;
1931 g_db_trolin_rec := INV_Move_Order_PUB.G_MISS_TROLIN_REC;
1932
1933 END Clear_Trolin;
1934
1935 END INV_TO_Form_Trolin;