[Home] [Help]
PACKAGE BODY: APPS.INV_TO_FORM_TROHDR
Source
1 PACKAGE BODY INV_TO_Form_Trohdr AS
2 /* $Header: INVFTRHB.pls 120.1 2005/06/17 14:20:31 appldev $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'INV_TO_Form_Trohdr';
7
8 -- Global variables holding cached record.
9
10 g_trohdr_rec INV_Move_Order_PUB.Trohdr_Rec_Type;
11 g_db_trohdr_rec INV_Move_Order_PUB.Trohdr_Rec_Type;
12
13 -- Forward declaration of procedures maintaining entity record cache.
14
15 PROCEDURE Write_trohdr
16 ( p_trohdr_rec IN INV_Move_Order_PUB.Trohdr_Rec_Type
17 , p_db_record IN BOOLEAN := FALSE
18 );
19
20 FUNCTION Get_trohdr
21 ( p_db_record IN BOOLEAN := FALSE
22 , p_header_id IN NUMBER
23 )
24 RETURN INV_Move_Order_PUB.Trohdr_Rec_Type;
25
26 PROCEDURE Clear_trohdr;
27
28 -- Global variable holding performed operations.
29
30 g_opr__tbl INV_Move_Order_PUB.Trohdr_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 , x_attribute1 OUT NOCOPY VARCHAR2
40 , x_attribute10 OUT NOCOPY VARCHAR2
41 , x_attribute11 OUT NOCOPY VARCHAR2
42 , x_attribute12 OUT NOCOPY VARCHAR2
43 , x_attribute13 OUT NOCOPY VARCHAR2
44 , x_attribute14 OUT NOCOPY VARCHAR2
45 , x_attribute15 OUT NOCOPY VARCHAR2
46 , x_attribute2 OUT NOCOPY VARCHAR2
47 , x_attribute3 OUT NOCOPY VARCHAR2
48 , x_attribute4 OUT NOCOPY VARCHAR2
49 , x_attribute5 OUT NOCOPY VARCHAR2
50 , x_attribute6 OUT NOCOPY VARCHAR2
51 , x_attribute7 OUT NOCOPY VARCHAR2
52 , x_attribute8 OUT NOCOPY VARCHAR2
53 , x_attribute9 OUT NOCOPY VARCHAR2
54 , x_attribute_category OUT NOCOPY VARCHAR2
55 , x_date_required OUT NOCOPY DATE
56 , x_description OUT NOCOPY VARCHAR2
57 , x_from_subinventory_code OUT NOCOPY VARCHAR2
58 , x_header_id OUT NOCOPY NUMBER
59 , x_header_status OUT NOCOPY NUMBER
60 , x_organization_id OUT NOCOPY NUMBER
61 , x_request_number OUT NOCOPY VARCHAR2
62 , x_status_date OUT NOCOPY DATE
63 , x_to_account_id OUT NOCOPY NUMBER
64 , x_to_subinventory_code OUT NOCOPY VARCHAR2
65 , x_move_order_type OUT NOCOPY NUMBER
66 , x_from_subinventory OUT NOCOPY VARCHAR2
67 , x_header OUT NOCOPY VARCHAR2
68 , x_organization OUT NOCOPY VARCHAR2
69 , x_to_account OUT NOCOPY VARCHAR2
70 , x_to_subinventory OUT NOCOPY VARCHAR2
71 , x_move_order_type_name OUT NOCOPY VARCHAR2
72 , x_transaction_type_id OUT NOCOPY NUMBER
73 , x_ship_to_location_id OUT NOCOPY NUMBER
74 )
75 IS
76 l_trohdr_rec INV_Move_Order_PUB.Trohdr_Rec_Type;
77 l_trohdr_val_rec INV_Move_Order_PUB.Trohdr_Val_Rec_Type;
78 l_control_rec INV_GLOBALS.Control_Rec_Type;
79 l_return_status VARCHAR2(1);
80 l_x_trohdr_rec INV_Move_Order_PUB.Trohdr_Rec_Type;
81 l_x_trolin_rec INV_Move_Order_PUB.Trolin_Rec_Type;
82 l_x_trolin_tbl INV_Move_Order_PUB.Trolin_Tbl_Type;
83 BEGIN
84
85 INV_GLOBALS.G_CALL_MODE := 'FORM';
86 INV_GLOBALS.G_MAX_LINE_NUM := null;
87 -- Set control flags.
88
89 l_control_rec.controlled_operation := TRUE;
90 l_control_rec.default_attributes := TRUE;
91
92 l_control_rec.change_attributes := FALSE;
93 l_control_rec.validate_entity := FALSE;
94 l_control_rec.write_to_DB := FALSE;
95 l_control_rec.process := FALSE;
96
97 -- Instruct API to retain its caches
98
99 l_control_rec.clear_api_cache := FALSE;
100 l_control_rec.clear_api_requests := FALSE;
101
102 -- Load IN parameters if any exist
103
104
105 -- Defaulting of flex values is currently done by the form.
106 -- Set flex attributes to NULL in order to avoid defaulting them.
107
108 l_trohdr_rec.attribute1 := NULL;
109 l_trohdr_rec.attribute10 := NULL;
110 l_trohdr_rec.attribute11 := NULL;
111 l_trohdr_rec.attribute12 := NULL;
112 l_trohdr_rec.attribute13 := NULL;
113 l_trohdr_rec.attribute14 := NULL;
114 l_trohdr_rec.attribute15 := NULL;
115 l_trohdr_rec.attribute2 := NULL;
116 l_trohdr_rec.attribute3 := NULL;
117 l_trohdr_rec.attribute4 := NULL;
118 l_trohdr_rec.attribute5 := NULL;
119 l_trohdr_rec.attribute6 := NULL;
120 l_trohdr_rec.attribute7 := NULL;
121 l_trohdr_rec.attribute8 := NULL;
122 l_trohdr_rec.attribute9 := NULL;
123 l_trohdr_rec.attribute_category := NULL;
124
125 -- Set Operation to Create
126
127 l_trohdr_rec.operation := INV_GLOBALS.G_OPR_CREATE;
128
129 -- Call INV_Transfer_Order_PVT.Process_Transfer_Order
130
131 INV_Transfer_Order_PVT.Process_Transfer_Order
132 ( p_api_version_number => 1.0
133 , p_init_msg_list => FND_API.G_TRUE
134 , x_return_status => l_return_status
135 , x_msg_count => x_msg_count
136 , x_msg_data => x_msg_data
137 , p_control_rec => l_control_rec
138 , p_trohdr_rec => l_trohdr_rec
139 , x_trohdr_rec => l_x_trohdr_rec
140 , x_trolin_tbl => l_x_trolin_tbl
141 );
142
143 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
144 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
145 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
146 RAISE FND_API.G_EXC_ERROR;
147 END IF;
148
149
150 -- Load OUT parameters.
151
152 x_attribute1 := l_x_trohdr_rec.attribute1;
153 x_attribute10 := l_x_trohdr_rec.attribute10;
154 x_attribute11 := l_x_trohdr_rec.attribute11;
155 x_attribute12 := l_x_trohdr_rec.attribute12;
156 x_attribute13 := l_x_trohdr_rec.attribute13;
157 x_attribute14 := l_x_trohdr_rec.attribute14;
158 x_attribute15 := l_x_trohdr_rec.attribute15;
159 x_attribute2 := l_x_trohdr_rec.attribute2;
160 x_attribute3 := l_x_trohdr_rec.attribute3;
161 x_attribute4 := l_x_trohdr_rec.attribute4;
162 x_attribute5 := l_x_trohdr_rec.attribute5;
163 x_attribute6 := l_x_trohdr_rec.attribute6;
164 x_attribute7 := l_x_trohdr_rec.attribute7;
165 x_attribute8 := l_x_trohdr_rec.attribute8;
166 x_attribute9 := l_x_trohdr_rec.attribute9;
167 x_attribute_category := l_x_trohdr_rec.attribute_category;
168 x_date_required := l_x_trohdr_rec.date_required;
169 x_description := l_x_trohdr_rec.description;
170 x_from_subinventory_code := l_x_trohdr_rec.from_subinventory_code;
171 x_header_id := l_x_trohdr_rec.header_id;
172 x_header_status := l_x_trohdr_rec.header_status;
173 x_organization_id := l_x_trohdr_rec.organization_id;
174 x_request_number := l_x_trohdr_rec.request_number;
175 x_status_date := l_x_trohdr_rec.status_date;
176 x_to_account_id := l_x_trohdr_rec.to_account_id;
177 x_to_subinventory_code := l_x_trohdr_rec.to_subinventory_code;
178 --ssia move order enhancement changes
179 x_move_order_type := l_x_trohdr_rec.move_order_type;
180 -- ssia end of changes
181 x_transaction_type_id := l_x_trohdr_rec.transaction_type_id;
182 x_ship_to_location_id := l_x_trohdr_rec.ship_to_location_id;
183 -- Load display out parameters if any
184
185 l_trohdr_val_rec := INV_Trohdr_Util.Get_Values
186 ( p_trohdr_rec => l_x_trohdr_rec
187 );
188 x_from_subinventory := l_trohdr_val_rec.from_subinventory;
189 x_header := l_trohdr_val_rec.header;
190 x_organization := l_trohdr_val_rec.organization;
191 x_to_account := l_trohdr_val_rec.to_account;
192 x_to_subinventory := l_trohdr_val_rec.to_subinventory;
193 x_move_order_type_name := l_trohdr_val_rec.move_order_type;
194
195 -- Write to cache.
196 -- Set db_flag to False before writing to cache
197
198 l_x_trohdr_rec.db_flag := FND_API.G_FALSE;
199
200 Write_trohdr
201 ( p_trohdr_rec => l_x_trohdr_rec
202 );
203
204 -- Set return status.
205
206 x_return_status := FND_API.G_RET_STS_SUCCESS;
207
208 -- Get message count and data
209
210 FND_MSG_PUB.Count_And_Get
211 ( p_count => x_msg_count
212 , p_data => x_msg_data
213 );
214
215
216 EXCEPTION
217
218 WHEN FND_API.G_EXC_ERROR THEN
219
220 x_return_status := FND_API.G_RET_STS_ERROR;
221
222 -- Get message count and data
223
224 FND_MSG_PUB.Count_And_Get
225 ( p_count => x_msg_count
226 , p_data => x_msg_data
227 );
228
229 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
230
231 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
232
233 -- Get message count and data
234
235 FND_MSG_PUB.Count_And_Get
236 ( p_count => x_msg_count
237 , p_data => x_msg_data
238 );
239
240 WHEN OTHERS THEN
241
242 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
243
244 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
245 THEN
246 FND_MSG_PUB.Add_Exc_Msg
247 ( G_PKG_NAME
248 , 'Default_Attributes'
249 );
250 END IF;
251
252 -- Get message count and data
253
254 FND_MSG_PUB.Count_And_Get
255 ( p_count => x_msg_count
256 , p_data => x_msg_data
257 );
258
259 END Default_Attributes;
260
261 -- Procedure : Change_Attribute
262 --
263
264 PROCEDURE Validate_Record
265 ( x_return_status OUT NOCOPY VARCHAR2
266 , x_msg_count OUT NOCOPY NUMBER
267 , x_msg_data OUT NOCOPY VARCHAR2
268 , p_attribute1 IN VARCHAR2
269 , p_attribute10 IN VARCHAR2
270 , p_attribute11 IN VARCHAR2
271 , p_attribute12 IN VARCHAR2
272 , p_attribute13 IN VARCHAR2
273 , p_attribute14 IN VARCHAR2
274 , p_attribute15 IN VARCHAR2
275 , p_attribute2 IN VARCHAR2
276 , p_attribute3 IN VARCHAR2
277 , p_attribute4 IN VARCHAR2
278 , p_attribute5 IN VARCHAR2
279 , p_attribute6 IN VARCHAR2
280 , p_attribute7 IN VARCHAR2
281 , p_attribute8 IN VARCHAR2
282 , p_attribute9 IN VARCHAR2
283 , p_attribute_category IN VARCHAR2
284 , p_date_required IN DATE
285 , p_description IN VARCHAR2
286 , p_from_subinventory_code IN VARCHAR2
287 , p_header_id IN NUMBER
288 , p_header_status IN NUMBER
289 , p_organization_id IN NUMBER
290 , p_request_number IN VARCHAR2
291 , p_status_date IN DATE
292 , p_to_account_id IN NUMBER
293 , p_to_subinventory_code IN VARCHAR2
294 , p_move_order_type IN NUMBER
295 , p_transaction_type_id IN NUMBER
296 , p_ship_to_location_id IN NUMBER
297 , p_db_flag IN VARCHAR2
298 )
299 IS
300 l_trohdr_rec INV_Move_Order_PUB.Trohdr_Rec_Type;
301 l_old_trohdr_rec INV_Move_Order_PUB.Trohdr_Rec_Type;
302 l_trohdr_val_rec INV_Move_Order_PUB.Trohdr_Val_Rec_Type;
303 l_control_rec INV_GLOBALS.Control_Rec_Type;
304 l_return_status VARCHAR2(1);
305 l_x_trohdr_rec INV_Move_Order_PUB.Trohdr_Rec_Type;
306 l_x_trolin_rec INV_Move_Order_PUB.Trolin_Rec_Type;
307 l_x_trolin_tbl INV_Move_Order_PUB.Trolin_Tbl_Type;
308 BEGIN
309
310 -- Set control flags.
311
312 l_control_rec.controlled_operation := TRUE;
313 l_control_rec.change_attributes := TRUE;
314
315 l_control_rec.default_attributes := FALSE;
316 l_control_rec.validate_entity := TRUE;
317 l_control_rec.write_to_DB := FALSE;
318 l_control_rec.process := FALSE;
319
320 -- Instruct API to retain its caches
321
322 l_control_rec.clear_api_cache := FALSE;
323 l_control_rec.clear_api_requests := FALSE;
324
325 l_trohdr_rec.db_flag := p_db_flag;
326 -- Read trohdr from cache
327
328 IF FND_API.To_Boolean(l_trohdr_rec.db_flag) THEN
329 l_trohdr_rec := Get_trohdr
330 ( p_db_record => FALSE
331 , p_header_id => p_header_id
332 );
333 End If;
334
335 l_old_trohdr_rec := l_trohdr_rec;
336
337 l_trohdr_rec.date_required := p_date_required;
338 l_trohdr_rec.description := p_description;
339 l_trohdr_rec.from_subinventory_code := p_from_subinventory_code;
340 l_trohdr_rec.header_id := p_header_id;
341 l_trohdr_rec.header_status := p_header_status;
342 l_trohdr_rec.organization_id := p_organization_id;
343 l_trohdr_rec.request_number := p_request_number;
344 l_trohdr_rec.status_date := p_status_date;
345 l_trohdr_rec.to_account_id := p_to_account_id;
346 l_trohdr_rec.to_subinventory_code := p_to_subinventory_code;
347 -- ssia move order enhancement changes
348 l_trohdr_rec.move_order_type := p_move_order_type;
349 -- ssia end of chnages
350 l_trohdr_rec.transaction_type_id := p_transaction_type_id;
351 l_trohdr_rec.ship_to_location_id := p_ship_to_location_id;
352 l_trohdr_rec.attribute1 := p_attribute1;
353 l_trohdr_rec.attribute10 := p_attribute10;
354 l_trohdr_rec.attribute11 := p_attribute11;
355 l_trohdr_rec.attribute12 := p_attribute12;
356 l_trohdr_rec.attribute13 := p_attribute13;
357 l_trohdr_rec.attribute14 := p_attribute14;
358 l_trohdr_rec.attribute15 := p_attribute15;
359 l_trohdr_rec.attribute2 := p_attribute2;
360 l_trohdr_rec.attribute3 := p_attribute3;
361 l_trohdr_rec.attribute4 := p_attribute4;
362 l_trohdr_rec.attribute5 := p_attribute5;
363 l_trohdr_rec.attribute6 := p_attribute6;
364 l_trohdr_rec.attribute7 := p_attribute7;
365 l_trohdr_rec.attribute8 := p_attribute8;
366 l_trohdr_rec.attribute9 := p_attribute9;
367 l_trohdr_rec.attribute_category := p_attribute_category;
368
369 -- Set Operation.
370
371 IF FND_API.To_Boolean(l_trohdr_rec.db_flag) THEN
372 l_trohdr_rec.operation := INV_GLOBALS.G_OPR_UPDATE;
373 ELSE
374 l_trohdr_rec.operation := INV_GLOBALS.G_OPR_CREATE;
375 END IF;
376
377 -- Call INV_Transfer_Order_PVT.Process_Transfer_Order
378
379 INV_Transfer_Order_PVT.Process_Transfer_Order
380 ( p_api_version_number => 1.0
381 , p_init_msg_list => FND_API.G_TRUE
382 , p_validation_level => FND_API.G_VALID_LEVEL_NONE
383 , x_return_status => l_return_status
384 , x_msg_count => x_msg_count
385 , x_msg_data => x_msg_data
386 , p_control_rec => l_control_rec
387 , p_trohdr_rec => l_trohdr_rec
388 , p_old_trohdr_rec => l_old_trohdr_rec
389 , x_trohdr_rec => l_x_trohdr_rec
390 , x_trolin_tbl => l_x_trolin_tbl
391 );
392
393 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
394 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
395 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
396 RAISE FND_API.G_EXC_ERROR;
397 END IF;
398
399
400 /*
401 -- Init OUT NOCOPY parameters to missing.
402
403 x_attribute1 := FND_API.G_MISS_CHAR;
404 x_attribute10 := FND_API.G_MISS_CHAR;
405 x_attribute11 := FND_API.G_MISS_CHAR;
406 x_attribute12 := FND_API.G_MISS_CHAR;
407 x_attribute13 := FND_API.G_MISS_CHAR;
408 x_attribute14 := FND_API.G_MISS_CHAR;
409 x_attribute15 := FND_API.G_MISS_CHAR;
410 x_attribute2 := FND_API.G_MISS_CHAR;
411 x_attribute3 := FND_API.G_MISS_CHAR;
412 x_attribute4 := FND_API.G_MISS_CHAR;
413 x_attribute5 := FND_API.G_MISS_CHAR;
414 x_attribute6 := FND_API.G_MISS_CHAR;
415 x_attribute7 := FND_API.G_MISS_CHAR;
416 x_attribute8 := FND_API.G_MISS_CHAR;
417 x_attribute9 := FND_API.G_MISS_CHAR;
418 x_attribute_category := FND_API.G_MISS_CHAR;
419 x_date_required := FND_API.G_MISS_DATE;
420 x_description := FND_API.G_MISS_CHAR;
421 x_from_subinventory_code := FND_API.G_MISS_CHAR;
422 x_header_id := FND_API.G_MISS_NUM;
423 x_header_status := FND_API.G_MISS_NUM;
424 x_organization_id := FND_API.G_MISS_NUM;
425 x_request_number := FND_API.G_MISS_CHAR;
426 x_status_date := FND_API.G_MISS_DATE;
427 x_to_account_id := FND_API.G_MISS_NUM;
428 x_to_subinventory_code := FND_API.G_MISS_CHAR;
429 x_move_order_type := FND_API.G_MISS_NUM;
430 x_transaction_type_id := FND_API.G_MISS_NUM;
431 x_from_subinventory := FND_API.G_MISS_CHAR;
432 x_header := FND_API.G_MISS_CHAR;
433 x_organization := FND_API.G_MISS_CHAR;
434 x_to_account := FND_API.G_MISS_CHAR;
435 x_to_subinventory := FND_API.G_MISS_CHAR;
436 --ssia move order enhancement changes
437 x_move_order_type_name := FND_API.G_MISS_CHAR;
438 -- ssia end of changes
439 x_ship_to_location_id := FND_API.G_MISS_NUM;
440 -- Load display out parameters if any
441
442 l_trohdr_val_rec := INV_Trohdr_Util.Get_Values
443 ( p_trohdr_rec => l_x_trohdr_rec
444 , p_old_trohdr_rec => l_trohdr_rec
445 );
446
447 -- Return changed attributes.
448
449 IF NOT INV_GLOBALS.Equal(l_x_trohdr_rec.attribute1,
450 l_trohdr_rec.attribute1)
451 THEN
452 x_attribute1 := l_x_trohdr_rec.attribute1;
453 END IF;
454
455 IF NOT INV_GLOBALS.Equal(l_x_trohdr_rec.attribute10,
456 l_trohdr_rec.attribute10)
457 THEN
458 x_attribute10 := l_x_trohdr_rec.attribute10;
459 END IF;
460
461 IF NOT INV_GLOBALS.Equal(l_x_trohdr_rec.attribute11,
462 l_trohdr_rec.attribute11)
463 THEN
464 x_attribute11 := l_x_trohdr_rec.attribute11;
465 END IF;
466
467 IF NOT INV_GLOBALS.Equal(l_x_trohdr_rec.attribute12,
468 l_trohdr_rec.attribute12)
469 THEN
470 x_attribute12 := l_x_trohdr_rec.attribute12;
471 END IF;
472
473 IF NOT INV_GLOBALS.Equal(l_x_trohdr_rec.attribute13,
474 l_trohdr_rec.attribute13)
475 THEN
476 x_attribute13 := l_x_trohdr_rec.attribute13;
477 END IF;
478
479 IF NOT INV_GLOBALS.Equal(l_x_trohdr_rec.attribute14,
480 l_trohdr_rec.attribute14)
481 THEN
482 x_attribute14 := l_x_trohdr_rec.attribute14;
483 END IF;
484
485 IF NOT INV_GLOBALS.Equal(l_x_trohdr_rec.attribute15,
486 l_trohdr_rec.attribute15)
487 THEN
488 x_attribute15 := l_x_trohdr_rec.attribute15;
489 END IF;
490
491 IF NOT INV_GLOBALS.Equal(l_x_trohdr_rec.attribute2,
492 l_trohdr_rec.attribute2)
493 THEN
494 x_attribute2 := l_x_trohdr_rec.attribute2;
495 END IF;
496
497 IF NOT INV_GLOBALS.Equal(l_x_trohdr_rec.attribute3,
498 l_trohdr_rec.attribute3)
499 THEN
500 x_attribute3 := l_x_trohdr_rec.attribute3;
501 END IF;
502
503 IF NOT INV_GLOBALS.Equal(l_x_trohdr_rec.attribute4,
504 l_trohdr_rec.attribute4)
505 THEN
506 x_attribute4 := l_x_trohdr_rec.attribute4;
507 END IF;
508
509 IF NOT INV_GLOBALS.Equal(l_x_trohdr_rec.attribute5,
510 l_trohdr_rec.attribute5)
511 THEN
512 x_attribute5 := l_x_trohdr_rec.attribute5;
513 END IF;
514
515 IF NOT INV_GLOBALS.Equal(l_x_trohdr_rec.attribute6,
516 l_trohdr_rec.attribute6)
517 THEN
518 x_attribute6 := l_x_trohdr_rec.attribute6;
519 END IF;
520
521 IF NOT INV_GLOBALS.Equal(l_x_trohdr_rec.attribute7,
522 l_trohdr_rec.attribute7)
523 THEN
524 x_attribute7 := l_x_trohdr_rec.attribute7;
525 END IF;
526
527 IF NOT INV_GLOBALS.Equal(l_x_trohdr_rec.attribute8,
528 l_trohdr_rec.attribute8)
529 THEN
530 x_attribute8 := l_x_trohdr_rec.attribute8;
531 END IF;
532
533 IF NOT INV_GLOBALS.Equal(l_x_trohdr_rec.attribute9,
534 l_trohdr_rec.attribute9)
535 THEN
536 x_attribute9 := l_x_trohdr_rec.attribute9;
537 END IF;
538
539 IF NOT INV_GLOBALS.Equal(l_x_trohdr_rec.attribute_category,
540 l_trohdr_rec.attribute_category)
541 THEN
542 x_attribute_category := l_x_trohdr_rec.attribute_category;
543 END IF;
544
545 IF NOT INV_GLOBALS.Equal(l_x_trohdr_rec.date_required,
546 l_trohdr_rec.date_required)
547 THEN
548 x_date_required := l_x_trohdr_rec.date_required;
549 END IF;
550
551 IF NOT INV_GLOBALS.Equal(l_x_trohdr_rec.description,
552 l_trohdr_rec.description)
553 THEN
554 x_description := l_x_trohdr_rec.description;
555 END IF;
556
557 IF NOT INV_GLOBALS.Equal(l_x_trohdr_rec.from_subinventory_code,
558 l_trohdr_rec.from_subinventory_code)
559 THEN
560 x_from_subinventory_code := l_x_trohdr_rec.from_subinventory_code;
561 x_from_subinventory := l_trohdr_val_rec.from_subinventory;
562 END IF;
563
564 IF NOT INV_GLOBALS.Equal(l_x_trohdr_rec.header_id,
565 l_trohdr_rec.header_id)
566 THEN
567 x_header_id := l_x_trohdr_rec.header_id;
568 x_header := l_trohdr_val_rec.header;
569 END IF;
570
571 IF NOT INV_GLOBALS.Equal(l_x_trohdr_rec.header_status,
572 l_trohdr_rec.header_status)
573 THEN
574 x_header_status := l_x_trohdr_rec.header_status;
575 END IF;
576
577 IF NOT INV_GLOBALS.Equal(l_x_trohdr_rec.organization_id,
578 l_trohdr_rec.organization_id)
579 THEN
580 x_organization_id := l_x_trohdr_rec.organization_id;
581 x_organization := l_trohdr_val_rec.organization;
582 END IF;
583
584 IF NOT INV_GLOBALS.Equal(l_x_trohdr_rec.request_number,
585 l_trohdr_rec.request_number)
586 THEN
587 x_request_number := l_x_trohdr_rec.request_number;
588 END IF;
589
590 IF NOT INV_GLOBALS.Equal(l_x_trohdr_rec.status_date,
591 l_trohdr_rec.status_date)
592 THEN
593 x_status_date := l_x_trohdr_rec.status_date;
594 END IF;
595
596 IF NOT INV_GLOBALS.Equal(l_x_trohdr_rec.to_account_id,
597 l_trohdr_rec.to_account_id)
598 THEN
599 x_to_account_id := l_x_trohdr_rec.to_account_id;
600 x_to_account := l_trohdr_val_rec.to_account;
601 END IF;
602
603 IF NOT INV_GLOBALS.Equal(l_x_trohdr_rec.to_subinventory_code,
604 l_trohdr_rec.to_subinventory_code)
605 THEN
606 x_to_subinventory_code := l_x_trohdr_rec.to_subinventory_code;
607 x_to_subinventory := l_trohdr_val_rec.to_subinventory;
608 END IF;
609
610 -- ssia mo enhancement changes
611 IF NOT INV_GLOBALS.Equal(l_x_trohdr_rec.move_order_type,
612 l_trohdr_rec.move_order_type)
613 THEN
614 x_move_order_type := l_x_trohdr_rec.move_order_type;
615 x_move_order_type_name := l_trohdr_val_rec.move_order_type;
616 END IF;
617 -- ssia end of changes
618
619 IF NOT INV_GLOBALS.Equal(l_x_trohdr_rec.transaction_type_id,
620 l_trohdr_rec.transaction_type_id)
621 THEN
622 x_transaction_type_id := l_x_trohdr_rec.transaction_type_id;
623 END IF;
624
625 IF NOT INV_GLOBALS.Equal(l_x_trohdr_rec.ship_to_location_id,
626 l_trohdr_rec.ship_to_location_id)
627 THEN
628 x_ship_to_location_id := l_x_trohdr_rec.ship_to_location_id;
629 END IF;
630
631 */
632
633 -- Write to cache.
634
635 Write_trohdr
636 ( p_trohdr_rec => l_x_trohdr_rec
637 );
638
639 -- Set return status.
640
641 x_return_status := FND_API.G_RET_STS_SUCCESS;
642
643 -- Get message count and data
644
645 FND_MSG_PUB.Count_And_Get
646 ( p_count => x_msg_count
647 , p_data => x_msg_data
648 );
649
650
651 EXCEPTION
652
653 WHEN FND_API.G_EXC_ERROR THEN
654
655 x_return_status := FND_API.G_RET_STS_ERROR;
656
657 -- Get message count and data
658
659 FND_MSG_PUB.Count_And_Get
660 ( p_count => x_msg_count
661 , p_data => x_msg_data
662 );
663
664 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
665
666 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
667
668 -- Get message count and data
669
670 FND_MSG_PUB.Count_And_Get
671 ( p_count => x_msg_count
672 , p_data => x_msg_data
673 );
674
675 WHEN OTHERS THEN
676
677 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
678
679 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
680 THEN
681 FND_MSG_PUB.Add_Exc_Msg
682 ( G_PKG_NAME
683 , 'Change_Attribute'
684 );
685 END IF;
686
687 -- Get message count and data
688
689 FND_MSG_PUB.Count_And_Get
690 ( p_count => x_msg_count
691 , p_data => x_msg_data
692 );
693
694 END Validate_Record;
695
696 -- Procedure Validate_And_Write
697 --
698
699 PROCEDURE Validate_And_Write
700 ( x_return_status OUT NOCOPY VARCHAR2
701 , x_msg_count OUT NOCOPY NUMBER
702 , x_msg_data OUT NOCOPY VARCHAR2
703 , p_attribute1 IN VARCHAR2
704 , p_attribute10 IN VARCHAR2
705 , p_attribute11 IN VARCHAR2
706 , p_attribute12 IN VARCHAR2
707 , p_attribute13 IN VARCHAR2
708 , p_attribute14 IN VARCHAR2
709 , p_attribute15 IN VARCHAR2
710 , p_attribute2 IN VARCHAR2
711 , p_attribute3 IN VARCHAR2
712 , p_attribute4 IN VARCHAR2
713 , p_attribute5 IN VARCHAR2
714 , p_attribute6 IN VARCHAR2
715 , p_attribute7 IN VARCHAR2
716 , p_attribute8 IN VARCHAR2
717 , p_attribute9 IN VARCHAR2
718 , p_attribute_category IN VARCHAR2
719 , p_date_required IN DATE
720 , p_description IN VARCHAR2
721 , p_from_subinventory_code IN VARCHAR2
722 , p_header_id IN NUMBER
723 , p_header_status IN NUMBER
724 , p_organization_id IN NUMBER
725 , p_request_number IN VARCHAR2
726 , p_status_date IN DATE
727 , p_to_account_id IN NUMBER
728 , p_to_subinventory_code IN VARCHAR2
729 , p_move_order_type IN NUMBER
730 , p_transaction_type_id IN NUMBER
731 , p_ship_to_location_id IN NUMBER
732 , p_db_flag IN VARCHAR2
733 , x_creation_date OUT NOCOPY DATE
734 , x_created_by OUT NOCOPY NUMBER
735 , x_last_update_date OUT NOCOPY DATE
736 , x_last_updated_by OUT NOCOPY NUMBER
737 , x_last_update_login OUT NOCOPY NUMBER
738 )
739 IS
740 l_trohdr_rec INV_Move_Order_PUB.Trohdr_Rec_Type;
741 l_old_trohdr_rec INV_Move_Order_PUB.Trohdr_Rec_Type;
742 l_control_rec INV_GLOBALS.Control_Rec_Type;
743 l_return_status VARCHAR2(1);
744 l_x_trohdr_rec INV_Move_Order_PUB.Trohdr_Rec_Type;
745 l_x_trolin_rec INV_Move_Order_PUB.Trolin_Rec_Type;
746 l_x_trolin_tbl INV_Move_Order_PUB.Trolin_Tbl_Type;
747 BEGIN
748
749 -- Set control flags.
750
751 l_control_rec.controlled_operation := TRUE;
752 l_control_rec.validate_entity := TRUE;
753 l_control_rec.write_to_DB := TRUE;
754
755 l_control_rec.default_attributes := FALSE;
756 l_control_rec.change_attributes := FALSE;
757 l_control_rec.process := FALSE;
758
759 -- Instruct API to retain its caches
760
761 l_control_rec.clear_api_cache := FALSE;
762 l_control_rec.clear_api_requests := FALSE;
763
764 g_trohdr_rec.date_required := p_date_required;
765 g_trohdr_rec.description := p_description;
766 g_trohdr_rec.from_subinventory_code := p_from_subinventory_code;
767 g_trohdr_rec.header_id := p_header_id;
768 g_trohdr_rec.header_status := p_header_status;
769 g_trohdr_rec.organization_id := p_organization_id;
770 g_trohdr_rec.request_number := p_request_number;
771 g_trohdr_rec.status_date := p_status_date;
772 g_trohdr_rec.to_account_id := p_to_account_id;
773 g_trohdr_rec.to_subinventory_code := p_to_subinventory_code;
774 g_trohdr_rec.move_order_type := p_move_order_type; -- ssia mo enhancement changes
775 g_trohdr_rec.transaction_type_id := p_transaction_type_id;
776 g_trohdr_rec.ship_to_location_id := p_ship_to_location_id;
777 g_trohdr_rec.attribute1 := p_attribute1;
778 g_trohdr_rec.attribute10 := p_attribute10;
779 g_trohdr_rec.attribute11 := p_attribute11;
780 g_trohdr_rec.attribute12 := p_attribute12;
781 g_trohdr_rec.attribute13 := p_attribute13;
782 g_trohdr_rec.attribute14 := p_attribute14;
783 g_trohdr_rec.attribute15 := p_attribute15;
784 g_trohdr_rec.attribute2 := p_attribute2;
785 g_trohdr_rec.attribute3 := p_attribute3;
786 g_trohdr_rec.attribute4 := p_attribute4;
787 g_trohdr_rec.attribute5 := p_attribute5;
788 g_trohdr_rec.attribute6 := p_attribute6;
789 g_trohdr_rec.attribute7 := p_attribute7;
790 g_trohdr_rec.attribute8 := p_attribute8;
791 g_trohdr_rec.attribute9 := p_attribute9;
792 g_trohdr_rec.attribute_category := p_attribute_category;
793 g_trohdr_rec.db_flag := p_db_flag;
794
795 -- Read trohdr from cache
796
797 l_old_trohdr_rec := Get_trohdr
798 ( p_db_record => TRUE
799 , p_header_id => p_header_id
800 );
801
802 l_trohdr_rec := Get_trohdr
803 ( p_db_record => FALSE
804 , p_header_id => p_header_id
805 );
806
807 -- Set Operation.
808
809 IF FND_API.To_Boolean(l_trohdr_rec.db_flag) THEN
810 l_trohdr_rec.operation := INV_GLOBALS.G_OPR_UPDATE;
811 ELSE
812 l_trohdr_rec.operation := INV_GLOBALS.G_OPR_CREATE;
813 END IF;
814
815 -- Call INV_Transfer_Order_PVT.Process_Transfer_Order
816
817 INV_Transfer_Order_PVT.Process_Transfer_Order
818 ( p_api_version_number => 1.0
819 , p_init_msg_list => FND_API.G_TRUE
820 , x_return_status => l_return_status
821 , x_msg_count => x_msg_count
822 , x_msg_data => x_msg_data
823 , p_control_rec => l_control_rec
824 , p_trohdr_rec => l_trohdr_rec
825 , p_old_trohdr_rec => l_old_trohdr_rec
826 , x_trohdr_rec => l_x_trohdr_rec
827 , x_trolin_tbl => l_x_trolin_tbl
828 );
829
830 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
831 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
832 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
833 RAISE FND_API.G_EXC_ERROR;
834 END IF;
835
836
837 -- Load OUT parameters.
838
839
840 x_creation_date := l_x_trohdr_rec.creation_date;
841 x_created_by := l_x_trohdr_rec.created_by;
842 x_last_update_date := l_x_trohdr_rec.last_update_date;
843 x_last_updated_by := l_x_trohdr_rec.last_updated_by;
844 x_last_update_login := l_x_trohdr_rec.last_update_login;
845
846 -- Clear trohdr record cache
847
848 Clear_trohdr;
849
850 -- Keep track of performed operations.
851
852 l_old_trohdr_rec.operation := l_trohdr_rec.operation;
853
854
855 -- Set return status.
856
857 x_return_status := FND_API.G_RET_STS_SUCCESS;
858
859 -- Get message count and data
860
861 FND_MSG_PUB.Count_And_Get
862 ( p_count => x_msg_count
863 , p_data => x_msg_data
864 );
865
866
867 EXCEPTION
868
869 WHEN FND_API.G_EXC_ERROR THEN
870
871 x_return_status := FND_API.G_RET_STS_ERROR;
872
873 -- Get message count and data
874
875 FND_MSG_PUB.Count_And_Get
876 ( p_count => x_msg_count
877 , p_data => x_msg_data
878 );
879
880 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
881
882 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
883
884 -- Get message count and data
885
886 FND_MSG_PUB.Count_And_Get
887 ( p_count => x_msg_count
888 , p_data => x_msg_data
889 );
890
891 WHEN OTHERS THEN
892
893 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
894
895 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
896 THEN
897 FND_MSG_PUB.Add_Exc_Msg
898 ( G_PKG_NAME
899 , 'Validate_And_Write'
900 );
901 END IF;
902
903 -- Get message count and data
904
905 FND_MSG_PUB.Count_And_Get
906 ( p_count => x_msg_count
907 , p_data => x_msg_data
908 );
909
910 END Validate_And_Write;
911
912 -- Procedure Delete_Row
913 --
914
915 PROCEDURE Delete_Row
916 ( x_return_status OUT NOCOPY VARCHAR2
917 , x_msg_count OUT NOCOPY NUMBER
918 , x_msg_data OUT NOCOPY VARCHAR2
919 , p_header_id IN NUMBER
920 )
921 IS
922 l_trohdr_rec INV_Move_Order_PUB.Trohdr_Rec_Type;
923 l_control_rec INV_GLOBALS.Control_Rec_Type;
924 l_return_status VARCHAR2(1);
925 l_x_trohdr_rec INV_Move_Order_PUB.Trohdr_Rec_Type;
926 l_x_trolin_rec INV_Move_Order_PUB.Trolin_Rec_Type;
927 l_x_trolin_tbl INV_Move_Order_PUB.Trolin_Tbl_Type;
928 BEGIN
929
930 -- Set control flags.
931
932 l_control_rec.controlled_operation := TRUE;
933 l_control_rec.validate_entity := TRUE;
934 l_control_rec.write_to_DB := TRUE;
935
936 l_control_rec.default_attributes := FALSE;
937 l_control_rec.change_attributes := FALSE;
938 l_control_rec.process := FALSE;
939
940 -- Instruct API to retain its caches
941
942 l_control_rec.clear_api_cache := FALSE;
943 l_control_rec.clear_api_requests := FALSE;
944
945 -- Read DB record from cache
946
947 l_trohdr_rec := Get_trohdr
948 ( p_db_record => TRUE
949 , p_header_id => p_header_id
950 );
951
952 -- Set Operation.
953
954 l_trohdr_rec.operation := INV_GLOBALS.G_OPR_DELETE;
955
956 -- Call INV_Transfer_Order_PVT.Process_Transfer_Order
957
958 INV_Transfer_Order_PVT.Process_Transfer_Order
959 ( p_api_version_number => 1.0
960 , p_init_msg_list => FND_API.G_TRUE
961 , x_return_status => l_return_status
962 , x_msg_count => x_msg_count
963 , x_msg_data => x_msg_data
964 , p_control_rec => l_control_rec
965 , p_trohdr_rec => l_trohdr_rec
966 , x_trohdr_rec => l_x_trohdr_rec
967 , x_trolin_tbl => l_x_trolin_tbl
968 );
969
970 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
971 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
972 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
973 RAISE FND_API.G_EXC_ERROR;
974 END IF;
975
976
977 -- Clear trohdr record cache
978
979 Clear_trohdr;
980
981 -- Set return status.
982
983 x_return_status := FND_API.G_RET_STS_SUCCESS;
984
985 -- Get message count and data
986
987 FND_MSG_PUB.Count_And_Get
988 ( p_count => x_msg_count
989 , p_data => x_msg_data
990 );
991
992
993 EXCEPTION
994
995 WHEN FND_API.G_EXC_ERROR THEN
996
997 x_return_status := FND_API.G_RET_STS_ERROR;
998
999 -- Get message count and data
1000
1001 FND_MSG_PUB.Count_And_Get
1002 ( p_count => x_msg_count
1003 , p_data => x_msg_data
1004 );
1005
1006 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1007
1008 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1009
1010 -- Get message count and data
1011
1012 FND_MSG_PUB.Count_And_Get
1013 ( p_count => x_msg_count
1014 , p_data => x_msg_data
1015 );
1016
1017 WHEN OTHERS THEN
1018
1019 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1020
1021 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1022 THEN
1023 FND_MSG_PUB.Add_Exc_Msg
1024 ( G_PKG_NAME
1025 , 'Delete_Row'
1026 );
1027 END IF;
1028
1029 -- Get message count and data
1030
1031 FND_MSG_PUB.Count_And_Get
1032 ( p_count => x_msg_count
1033 , p_data => x_msg_data
1034 );
1035
1036 END Delete_Row;
1037
1038 -- Procedure Process_Entity
1039 --
1040
1041 PROCEDURE Process_Entity
1042 ( x_return_status OUT NOCOPY VARCHAR2
1043 , x_msg_count OUT NOCOPY NUMBER
1044 , x_msg_data OUT NOCOPY VARCHAR2
1045 )
1046 IS
1047 l_control_rec INV_GLOBALS.Control_Rec_Type;
1048 l_return_status VARCHAR2(1);
1049 l_x_trohdr_rec INV_Move_Order_PUB.Trohdr_Rec_Type;
1050 l_x_trolin_rec INV_Move_Order_PUB.Trolin_Rec_Type;
1051 l_x_trolin_tbl INV_Move_Order_PUB.Trolin_Tbl_Type;
1052 BEGIN
1053
1054 -- Set control flags.
1055
1056 l_control_rec.controlled_operation := TRUE;
1057 l_control_rec.process := TRUE;
1058 l_control_rec.process_entity := INV_GLOBALS.G_ENTITY_TROHDR;
1059
1060 l_control_rec.default_attributes := FALSE;
1061 l_control_rec.change_attributes := FALSE;
1062 l_control_rec.validate_entity := FALSE;
1063 l_control_rec.write_to_DB := FALSE;
1064
1065 -- Instruct API to clear its request table
1066
1067 l_control_rec.clear_api_cache := FALSE;
1068 l_control_rec.clear_api_requests := FALSE;
1069
1070 -- Call INV_Transfer_Order_PVT.Process_Transfer_Order
1071
1072 INV_Transfer_Order_PVT.Process_Transfer_Order
1073 ( p_api_version_number => 1.0
1074 , p_init_msg_list => FND_API.G_TRUE
1075 , x_return_status => l_return_status
1076 , x_msg_count => x_msg_count
1077 , x_msg_data => x_msg_data
1078 , p_control_rec => l_control_rec
1079 , x_trohdr_rec => l_x_trohdr_rec
1080 , x_trolin_tbl => l_x_trolin_tbl
1081 );
1082
1083 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1084 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1085 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1086 RAISE FND_API.G_EXC_ERROR;
1087 END IF;
1088
1089
1090 -- Set return status.
1091
1092 x_return_status := FND_API.G_RET_STS_SUCCESS;
1093
1094 -- Get message count and data
1095
1096 FND_MSG_PUB.Count_And_Get
1097 ( p_count => x_msg_count
1098 , p_data => x_msg_data
1099 );
1100
1101
1102 EXCEPTION
1103
1104 WHEN FND_API.G_EXC_ERROR THEN
1105
1106 x_return_status := FND_API.G_RET_STS_ERROR;
1107
1108 -- Get message count and data
1109
1110 FND_MSG_PUB.Count_And_Get
1111 ( p_count => x_msg_count
1112 , p_data => x_msg_data
1113 );
1114
1115 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1116
1117 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1118
1119 -- Get message count and data
1120
1121 FND_MSG_PUB.Count_And_Get
1122 ( p_count => x_msg_count
1123 , p_data => x_msg_data
1124 );
1125
1126 WHEN OTHERS THEN
1127
1128 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1129
1130 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1131 THEN
1132 FND_MSG_PUB.Add_Exc_Msg
1133 ( G_PKG_NAME
1134 , 'Process_Entity'
1135 );
1136 END IF;
1137
1138 -- Get message count and data
1139
1140 FND_MSG_PUB.Count_And_Get
1141 ( p_count => x_msg_count
1142 , p_data => x_msg_data
1143 );
1144
1145 END Process_Entity;
1146
1147 -- Procedure Process_Object
1148 --
1149
1150 PROCEDURE Process_Object
1151 ( x_return_status OUT NOCOPY VARCHAR2
1152 , x_msg_count OUT NOCOPY NUMBER
1153 , x_msg_data OUT NOCOPY VARCHAR2
1154 )
1155 IS
1156 l_control_rec INV_GLOBALS.Control_Rec_Type;
1157 l_return_status VARCHAR2(1);
1158 l_x_trohdr_rec INV_Move_Order_PUB.Trohdr_Rec_Type;
1159 l_x_trolin_rec INV_Move_Order_PUB.Trolin_Rec_Type;
1160 l_x_trolin_tbl INV_Move_Order_PUB.Trolin_Tbl_Type;
1161 BEGIN
1162
1163 -- Set control flags.
1164
1165 l_control_rec.controlled_operation := TRUE;
1166 l_control_rec.process := TRUE;
1167 l_control_rec.process_entity := INV_GLOBALS.G_ENTITY_ALL;
1168
1169 l_control_rec.default_attributes := FALSE;
1170 l_control_rec.change_attributes := FALSE;
1171 l_control_rec.validate_entity := FALSE;
1172 l_control_rec.write_to_DB := FALSE;
1173
1174 -- Instruct API to clear its request table
1175
1176 l_control_rec.clear_api_cache := FALSE;
1177 l_control_rec.clear_api_requests := TRUE;
1178
1179 -- Call INV_Transfer_Order_PVT.Process_Transfer_Order
1180
1181 INV_Transfer_Order_PVT.Process_Transfer_Order
1182 ( p_api_version_number => 1.0
1183 , p_init_msg_list => FND_API.G_TRUE
1184 , x_return_status => l_return_status
1185 , x_msg_count => x_msg_count
1186 , x_msg_data => x_msg_data
1187 , p_control_rec => l_control_rec
1188 , x_trohdr_rec => l_x_trohdr_rec
1189 , x_trolin_tbl => l_x_trolin_tbl
1190 );
1191
1192 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1193 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1194 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1195 RAISE FND_API.G_EXC_ERROR;
1196 END IF;
1197
1198
1199 -- Set return status.
1200
1201 x_return_status := FND_API.G_RET_STS_SUCCESS;
1202
1203 -- Get message count and data
1204
1205 FND_MSG_PUB.Count_And_Get
1206 ( p_count => x_msg_count
1207 , p_data => x_msg_data
1208 );
1209
1210
1211 EXCEPTION
1212
1213 WHEN FND_API.G_EXC_ERROR THEN
1214
1215 x_return_status := FND_API.G_RET_STS_ERROR;
1216
1217 -- Get message count and data
1218
1219 FND_MSG_PUB.Count_And_Get
1220 ( p_count => x_msg_count
1221 , p_data => x_msg_data
1222 );
1223
1224 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1225
1226 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1227
1228 -- Get message count and data
1229
1230 FND_MSG_PUB.Count_And_Get
1231 ( p_count => x_msg_count
1232 , p_data => x_msg_data
1233 );
1234
1235 WHEN OTHERS THEN
1236
1237 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1238
1239 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1240 THEN
1241 FND_MSG_PUB.Add_Exc_Msg
1242 ( G_PKG_NAME
1243 , 'Process_Object'
1244 );
1245 END IF;
1246
1247 -- Get message count and data
1248
1249 FND_MSG_PUB.Count_And_Get
1250 ( p_count => x_msg_count
1251 , p_data => x_msg_data
1252 );
1253
1254 END Process_Object;
1255
1256 -- Procedure lock_Row
1257 --
1258
1259 PROCEDURE Lock_Row
1260 ( x_return_status OUT NOCOPY VARCHAR2
1261 , x_msg_count OUT NOCOPY NUMBER
1262 , x_msg_data OUT NOCOPY VARCHAR2
1263 , p_attribute1 IN VARCHAR2
1264 , p_attribute10 IN VARCHAR2
1265 , p_attribute11 IN VARCHAR2
1266 , p_attribute12 IN VARCHAR2
1267 , p_attribute13 IN VARCHAR2
1268 , p_attribute14 IN VARCHAR2
1269 , p_attribute15 IN VARCHAR2
1270 , p_attribute2 IN VARCHAR2
1271 , p_attribute3 IN VARCHAR2
1272 , p_attribute4 IN VARCHAR2
1273 , p_attribute5 IN VARCHAR2
1274 , p_attribute6 IN VARCHAR2
1275 , p_attribute7 IN VARCHAR2
1276 , p_attribute8 IN VARCHAR2
1277 , p_attribute9 IN VARCHAR2
1278 , p_attribute_category IN VARCHAR2
1279 , p_created_by IN NUMBER
1280 , p_creation_date IN DATE
1281 , p_date_required IN DATE
1282 , p_description IN VARCHAR2
1283 , p_from_subinventory_code IN VARCHAR2
1284 , p_header_id IN NUMBER
1285 , p_header_status IN NUMBER
1286 , p_last_updated_by IN NUMBER
1287 , p_last_update_date IN DATE
1288 , p_last_update_login IN NUMBER
1289 , p_organization_id IN NUMBER
1290 , p_program_application_id IN NUMBER
1291 , p_program_id IN NUMBER
1292 , p_program_update_date IN DATE
1293 , p_request_id IN NUMBER
1294 , p_request_number IN VARCHAR2
1295 , p_status_date IN DATE
1296 , p_to_account_id IN NUMBER
1297 , p_to_subinventory_code IN VARCHAR2
1298 , p_move_order_type IN NUMBER
1299 , p_transaction_type_id IN NUMBER
1300 , p_ship_to_location_id IN NUMBER
1301 )
1302 IS
1303 l_return_status VARCHAR2(1);
1304 l_trohdr_rec INV_Move_Order_PUB.Trohdr_Rec_Type;
1305 l_x_trohdr_rec INV_Move_Order_PUB.Trohdr_Rec_Type;
1306 l_x_trolin_rec INV_Move_Order_PUB.Trolin_Rec_Type;
1307 l_x_trolin_tbl INV_Move_Order_PUB.Trolin_Tbl_Type;
1308 BEGIN
1309
1310 -- Load trohdr record
1311
1312 l_trohdr_rec.attribute1 := p_attribute1;
1313 l_trohdr_rec.attribute10 := p_attribute10;
1314 l_trohdr_rec.attribute11 := p_attribute11;
1315 l_trohdr_rec.attribute12 := p_attribute12;
1316 l_trohdr_rec.attribute13 := p_attribute13;
1317 l_trohdr_rec.attribute14 := p_attribute14;
1318 l_trohdr_rec.attribute15 := p_attribute15;
1319 l_trohdr_rec.attribute2 := p_attribute2;
1320 l_trohdr_rec.attribute3 := p_attribute3;
1321 l_trohdr_rec.attribute4 := p_attribute4;
1322 l_trohdr_rec.attribute5 := p_attribute5;
1323 l_trohdr_rec.attribute6 := p_attribute6;
1324 l_trohdr_rec.attribute7 := p_attribute7;
1325 l_trohdr_rec.attribute8 := p_attribute8;
1326 l_trohdr_rec.attribute9 := p_attribute9;
1327 l_trohdr_rec.attribute_category := p_attribute_category;
1328 l_trohdr_rec.created_by := p_created_by;
1329 l_trohdr_rec.creation_date := p_creation_date;
1330 l_trohdr_rec.date_required := p_date_required;
1331 l_trohdr_rec.description := p_description;
1332 l_trohdr_rec.from_subinventory_code := p_from_subinventory_code;
1333 l_trohdr_rec.header_id := p_header_id;
1334 l_trohdr_rec.header_status := p_header_status;
1335 l_trohdr_rec.last_updated_by := p_last_updated_by;
1336 l_trohdr_rec.last_update_date := p_last_update_date;
1337 l_trohdr_rec.last_update_login := p_last_update_login;
1338 l_trohdr_rec.organization_id := p_organization_id;
1339 l_trohdr_rec.program_application_id := p_program_application_id;
1340 l_trohdr_rec.program_id := p_program_id;
1341 l_trohdr_rec.program_update_date := p_program_update_date;
1342 l_trohdr_rec.request_id := p_request_id;
1343 l_trohdr_rec.request_number := p_request_number;
1344 l_trohdr_rec.status_date := p_status_date;
1345 l_trohdr_rec.to_account_id := p_to_account_id;
1346 l_trohdr_rec.to_subinventory_code := p_to_subinventory_code;
1347 l_trohdr_rec.move_order_type := p_move_order_type; -- ssia mo enhancement changes
1348 l_trohdr_rec.transaction_type_id := p_transaction_type_id;
1349 l_trohdr_rec.ship_to_location_id := p_ship_to_location_id;
1350
1351 -- Call INV_Transfer_Order_PVT.Lock_Transfer_Order
1352
1353 INV_Transfer_Order_PVT.Lock_Transfer_Order
1354 ( p_api_version_number => 1.0
1355 , p_init_msg_list => FND_API.G_TRUE
1356 , x_return_status => l_return_status
1357 , x_msg_count => x_msg_count
1358 , x_msg_data => x_msg_data
1359 , p_trohdr_rec => l_trohdr_rec
1360 , x_trohdr_rec => l_x_trohdr_rec
1361 , x_trolin_tbl => l_x_trolin_tbl
1362 );
1363
1364 IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
1365
1366 -- Set DB flag and write record to cache.
1367
1368 l_x_trohdr_rec.db_flag := FND_API.G_TRUE;
1369
1370 Write_trohdr
1371 ( p_trohdr_rec => l_x_trohdr_rec
1372 , p_db_record => TRUE
1373 );
1374
1375 END IF;
1376
1377 -- Set return status.
1378
1379 x_return_status := l_return_status;
1380
1381 -- Get message count and data
1382
1383 FND_MSG_PUB.Count_And_Get
1384 ( p_count => x_msg_count
1385 , p_data => x_msg_data
1386 );
1387
1388
1389 EXCEPTION
1390
1391 WHEN OTHERS THEN
1392
1393 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1394 THEN
1395 FND_MSG_PUB.Add_Exc_Msg
1396 ( G_PKG_NAME
1397 , 'Lock_Row'
1398 );
1399 END IF;
1400
1401 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1402
1403 -- Get message count and data
1404
1405 FND_MSG_PUB.Count_And_Get
1406 ( p_count => x_msg_count
1407 , p_data => x_msg_data
1408 );
1409
1410
1411
1412 END Lock_Row;
1413
1414 -- Procedures maintaining trohdr record cache.
1415
1416 PROCEDURE Write_trohdr
1417 ( p_trohdr_rec IN INV_Move_Order_PUB.Trohdr_Rec_Type
1418 , p_db_record IN BOOLEAN := FALSE
1419 )
1420 IS
1421 BEGIN
1422
1423 g_trohdr_rec := p_trohdr_rec;
1424
1425 IF p_db_record THEN
1426
1427 g_db_trohdr_rec := p_trohdr_rec;
1428
1429 END IF;
1430
1431 END Write_Trohdr;
1432
1433 FUNCTION Get_trohdr
1434 ( p_db_record IN BOOLEAN := FALSE
1435 , p_header_id IN NUMBER
1436 )
1437 RETURN INV_Move_Order_PUB.Trohdr_Rec_Type
1438 IS
1439 BEGIN
1440
1441 IF p_header_id <> g_trohdr_rec.header_id
1442 THEN
1443
1444 -- Query row from DB
1445
1446 g_trohdr_rec := INV_Trohdr_Util.Query_Row
1447 ( p_header_id => p_header_id
1448 );
1449
1450 g_trohdr_rec.db_flag := FND_API.G_TRUE;
1451
1452 -- Load DB record
1453
1454 g_db_trohdr_rec := g_trohdr_rec;
1455
1456 END IF;
1457
1458 IF p_db_record THEN
1459
1460 RETURN g_db_trohdr_rec;
1461
1462 ELSE
1463
1464 RETURN g_trohdr_rec;
1465
1466 END IF;
1467
1468 END Get_Trohdr;
1469
1470 PROCEDURE Clear_Trohdr
1471 IS
1472 BEGIN
1473
1474 g_trohdr_rec := INV_Move_Order_PUB.G_MISS_TROHDR_REC;
1475 g_db_trohdr_rec := INV_Move_Order_PUB.G_MISS_TROHDR_REC;
1476
1477 END Clear_Trohdr;
1478
1479 END INV_TO_Form_Trohdr;