[Home] [Help]
PACKAGE BODY: APPS.INV_PULLSEQUENCE_PKG
Source
1 PACKAGE BODY INV_PullSequence_PKG as
2 /* $Header: INVKPSQB.pls 120.4 2011/04/12 18:56:21 yaoli ship $ */
3
4 G_PKG_NAME CONSTANT VARCHAR2(30) := 'INV_PullSequence_PKG';
5
6 PROCEDURE Update_Row(x_return_status OUT NOCOPY VARCHAR2,
7 p_Pull_Sequence_Id NUMBER,
8 p_Inventory_item_id NUMBER,
9 p_Organization_id NUMBER,
10 p_Subinventory_name VARCHAR2,
11 p_Kanban_Plan_id NUMBER,
12 p_Source_type NUMBER,
13 p_Last_Update_Date DATE,
14 p_Last_Updated_By NUMBER,
15 p_Creation_Date DATE,
16 p_Created_By NUMBER,
17 p_Last_Update_Login NUMBER,
18 p_Locator_id NUMBER,
19 p_Supplier_id NUMBER,
20 p_Supplier_site_id NUMBER,
21 p_Source_Organization_id NUMBER,
22 p_Source_Subinventory VARCHAR2,
23 p_Source_Locator_id NUMBER,
24 p_Wip_Line_id NUMBER,
25 p_Release_Kanban_flag NUMBER,
26 p_Calculate_Kanban_flag NUMBER,
27 p_Kanban_size NUMBER,
28 p_Number_of_cards NUMBER,
29 p_Minimum_order_quantity NUMBER,
30 p_Aggregation_Type NUMBER,
31 p_Allocation_Percent NUMBER,
32 p_Replenishment_lead_time NUMBER,
33 p_Fixed_Lot_multiplier NUMBER,
34 p_Safety_Stock_Days NUMBER,
35 p_Updated_Flag NUMBER,
36 p_Attribute_Category VARCHAR2,
37 p_Attribute1 VARCHAR2,
38 p_Attribute2 VARCHAR2,
39 p_Attribute3 VARCHAR2,
40 p_Attribute4 VARCHAR2,
41 p_Attribute5 VARCHAR2,
42 p_Attribute6 VARCHAR2,
43 p_Attribute7 VARCHAR2,
44 p_Attribute8 VARCHAR2,
45 p_Attribute9 VARCHAR2,
46 p_Attribute10 VARCHAR2,
47 p_Attribute11 VARCHAR2,
48 p_Attribute12 VARCHAR2,
49 p_Attribute13 VARCHAR2,
50 p_Attribute14 VARCHAR2,
51 p_Attribute15 VARCHAR2,
52 p_point_of_use_x NUMBER DEFAULT NULL,
53 p_point_of_use_y NUMBER DEFAULT NULL,
54 p_point_of_supply_x NUMBER DEFAULT NULL,
55 p_point_of_supply_y NUMBER DEFAULT NULL,
56 p_planning_update_status NUMBER DEFAULT NULL,
57 p_auto_request VARCHAR2 DEFAULT NULL,
58 p_Auto_Allocate_Flag NUMBER DEFAULT NULL, --Bug3905884
59 --eKanban Changes
60 p_replenishment_type NUMBER DEFAULT NULL,
61 p_future_card_size NUMBER DEFAULT NULL,
62 p_future_no_of_cards NUMBER DEFAULT NULL,
63 p_planning_effectivity DATE DEFAULT NULL,
64 p_consolidation NUMBER DEFAULT NULL,
65 p_consolidation_group VARCHAR2 DEFAULT NULL,
66 p_avg_dependent_demand NUMBER DEFAULT NULL,
67 p_avg_independent_demand NUMBER DEFAULT NULL,
68 p_last_imp_plan VARCHAR2 DEFAULT NULL,
69 p_imp_plan_start_date DATE DEFAULT NULL,
70 p_imp_plan_end_date DATE DEFAULT NULL,
71 p_no_of_temp_card NUMBER DEFAULT NULL,
72 p_no_of_temp_cycle NUMBER DEFAULT NULL,
73 p_temp_exp_date DATE DEFAULT NULL)
74 IS
75
76 l_return_status varchar2(1) := FND_API.G_RET_STS_SUCCESS;
77 --add for Ekanban business
78 l_msg_data VARCHAR2(1000);
79
80 BEGIN
81 FND_MSG_PUB.Initialize;
82 UPDATE MTL_KANBAN_PULL_SEQUENCES
83 SET
84 Inventory_item_id = p_Inventory_item_id,
85 Organization_Id = p_Organization_Id,
86 Subinventory_name = p_Subinventory_name,
87 Kanban_Plan_id = p_Kanban_Plan_id,
88 Source_type = p_Source_type,
89 Last_Update_Date = p_Last_Update_Date,
90 Last_Updated_By = p_Last_Updated_By,
91 Creation_Date = p_Creation_Date,
92 Created_By = p_Created_By,
93 Last_Update_Login = p_Last_Update_Login,
94 Locator_id = p_Locator_id,
95 Supplier_id = p_Supplier_id,
96 Supplier_site_id = p_Supplier_site_id,
97 Source_Organization_id = p_Source_Organization_id,
98 Source_Subinventory = p_Source_Subinventory,
99 Source_Locator_id = p_Source_Locator_id,
100 Wip_Line_id = p_Wip_Line_id,
101 Release_Kanban_Flag = p_Release_Kanban_flag,
102 Calculate_Kanban_Flag = p_Calculate_Kanban_flag,
103 Kanban_size = p_Kanban_size,
104 Number_of_cards = p_Number_of_cards,
105 Minimum_order_quantity = p_Minimum_order_quantity,
106 Aggregation_Type = p_Aggregation_Type,
107 Allocation_Percent = p_Allocation_Percent,
108 Replenishment_lead_time = p_Replenishment_lead_time,
109 Fixed_Lot_multiplier = p_Fixed_Lot_multiplier,
110 Safety_Stock_Days = p_Safety_Stock_Days,
111 Updated_Flag = p_Updated_Flag,
112 Attribute_Category = p_Attribute_Category,
113 Attribute1 = p_Attribute1,
114 Attribute2 = p_Attribute2,
115 Attribute3 = p_Attribute3,
116 Attribute4 = p_Attribute4,
117 Attribute5 = p_Attribute5,
118 Attribute6 = p_Attribute6,
119 Attribute7 = p_Attribute7,
120 Attribute8 = p_Attribute8,
121 Attribute9 = p_Attribute9,
122 Attribute10 = p_Attribute10,
123 Attribute11 = p_Attribute11,
124 Attribute12 = p_Attribute12,
125 Attribute13 = p_Attribute13,
126 Attribute14 = p_Attribute14,
127 Attribute15 = p_Attribute15,
128 point_of_use_x = p_point_of_use_x,
129 point_of_use_y = p_point_of_use_y,
130 point_of_supply_x = p_point_of_supply_x,
131 point_of_supply_y = p_point_of_supply_y,
132 planning_update_status = p_planning_update_status,
133 auto_request = p_auto_request,
134 Auto_Allocate_Flag = p_Auto_Allocate_Flag,
135 --eKanban Changes
136 replenishment_type = p_replenishment_type,
137 future_card_size = p_future_card_size,
138 future_no_of_cards = p_future_no_of_cards,
139 planning_effectivity = p_planning_effectivity,
140 consolidation = p_consolidation,
141 consolidation_group = p_consolidation_group,
142 avg_dependent_demand = p_avg_dependent_demand,
143 avg_independent_demand = p_avg_independent_demand,
144 last_implemented_plan = p_last_imp_plan,
145 plan_start_date = p_imp_plan_start_date,
146 plan_end_date = p_imp_plan_end_date,
147 no_of_temp_cards = p_no_of_temp_card,
148 no_of_temp_cycles = p_no_of_temp_cycle,
149 temp_expiry_date = p_temp_exp_date
150 WHERE pull_sequence_id = p_pull_sequence_id;
151
152 if (SQL%NOTFOUND) then
153 Raise NO_DATA_FOUND;
154 end if;
155 x_return_status := l_return_status;
156
157 --raising business event for pullSequenceUpdation when ekanban is enabled
158 if nvl(fnd_profile.VALUE('FLM_EKB_OPS_FLAG'),0) = 1 then
159 FLM_EKB_BUSINESS_EVENT_PKG.Raise_Pull_Sequence_Event(p_pull_Sequence_id => p_pull_sequence_id,
160 p_txn_type => 2,
161 p_from_planning => 'N',
162 x_msg_data =>l_msg_data,
163 x_return_status =>l_return_status);
164
165
166 end if;
167 EXCEPTION
168
169 WHEN FND_API.G_EXC_ERROR THEN
170
171 x_return_status := FND_API.G_RET_STS_ERROR;
172
173 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
174
175 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
176
177 WHEN OTHERS THEN
178
179 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
180 THEN
181 FND_MSG_PUB.Add_Exc_Msg
182 ( G_PKG_NAME
183 , 'Update_Row'
184 );
185 END IF;
186
187 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
188
189 END Update_Row;
190
191 PROCEDURE Insert_Row(x_return_status OUT NOCOPY Varchar2,
192 p_pull_sequence_id IN Out NOCOPY NUMBER,
193 p_Inventory_item_id NUMBER,
194 p_Organization_id NUMBER,
195 p_Subinventory_name VARCHAR2,
196 p_Kanban_Plan_id NUMBER,
197 p_Source_type NUMBER,
198 p_Last_Update_Date DATE,
199 p_Last_Updated_By NUMBER,
200 p_Creation_Date DATE,
201 p_Created_By NUMBER,
202 p_Last_Update_Login NUMBER,
203 p_Locator_id NUMBER,
204 p_Supplier_id NUMBER,
205 p_Supplier_site_id NUMBER,
206 p_Source_Organization_id NUMBER,
207 p_Source_Subinventory VARCHAR2,
208 p_Source_Locator_id NUMBER,
209 p_Wip_Line_id NUMBER,
210 p_Release_Kanban_Flag NUMBER,
211 p_Calculate_Kanban_Flag NUMBER,
212 p_Kanban_size NUMBER,
213 p_Number_of_cards NUMBER,
214 p_Minimum_order_quantity NUMBER,
215 p_Aggregation_type NUMBER,
216 p_Allocation_Percent NUMBER,
217 p_Replenishment_lead_time NUMBER,
218 p_Fixed_Lot_multiplier NUMBER,
219 p_Safety_Stock_Days NUMBER,
220 p_Updated_Flag NUMBER,
221 p_Attribute_Category VARCHAR2,
222 p_Attribute1 VARCHAR2,
223 p_Attribute2 VARCHAR2,
224 p_Attribute3 VARCHAR2,
225 p_Attribute4 VARCHAR2,
226 p_Attribute5 VARCHAR2,
227 p_Attribute6 VARCHAR2,
228 p_Attribute7 VARCHAR2,
229 p_Attribute8 VARCHAR2,
230 p_Attribute9 VARCHAR2,
231 p_Attribute10 VARCHAR2,
232 p_Attribute11 VARCHAR2,
233 p_Attribute12 VARCHAR2,
234 p_Attribute13 VARCHAR2,
235 p_Attribute14 VARCHAR2,
236 p_Attribute15 VARCHAR2,
237 p_Request_Id NUMBER,
238 p_Program_application_Id NUMBER,
239 p_Program_Id NUMBER,
240 p_Program_Update_date DATE,
241 p_point_of_use_x NUMBER DEFAULT NULL,
242 p_point_of_use_y NUMBER DEFAULT NULL,
243 p_point_of_supply_x NUMBER DEFAULT NULL,
244 p_point_of_supply_y NUMBER DEFAULT NULL,
245 p_planning_update_status NUMBER DEFAULT NULL,
246 p_auto_request VARCHAR2 DEFAULT NULL,
247 p_Auto_Allocate_Flag NUMBER DEFAULT NULL, --Bug3905884
248 --eKanban Changes
249 p_replenishment_type NUMBER DEFAULT NULL,
250 p_future_card_size NUMBER DEFAULT NULL,
251 p_future_no_of_cards NUMBER DEFAULT NULL,
252 p_planning_effectivity DATE DEFAULT NULL,
253 p_consolidation NUMBER DEFAULT NULL,
254 p_consolidation_group VARCHAR2 DEFAULT NULL,
255 p_avg_dependent_demand NUMBER DEFAULT NULL,
256 p_avg_independent_demand NUMBER DEFAULT NULL,
257 p_last_imp_plan VARCHAR2 DEFAULT NULL,
258 p_imp_plan_start_date DATE DEFAULT NULL,
259 p_imp_plan_end_date DATE DEFAULT NULL,
260 p_no_of_temp_card NUMBER DEFAULT NULL,
261 p_no_of_temp_cycle NUMBER DEFAULT NULL,
262 p_temp_exp_date DATE DEFAULT NULL)
263
264 is
265 l_pull_sequence_Id MTL_Kanban_Pull_Sequences.Pull_Sequence_Id%Type;
266 l_return_status Varchar2(1) := FND_API.G_RET_STS_SUCCESS;
267 --add for Ekanban business event
268 l_msg_data VARCHAR2(1000);
269 BEGIN
270 FND_MSG_PUB.Initialize;
271 If nvl(p_Pull_sequence_Id,0) <= 0
272 Then
273 Select MTL_KANBAN_PULL_SEQUENCES_S.NEXTVAL
274 into l_pull_sequence_Id
275 from dual;
276 Else
277 l_pull_sequence_Id := p_Pull_sequence_Id;
278 End If;
279
280 INSERT INTO MTL_KANBAN_PULL_SEQUENCES
281 (
282 Pull_sequence_id,
283 Inventory_item_id,
284 Organization_id,
285 Subinventory_name,
286 Kanban_Plan_id,
287 Source_type,
288 Last_Update_Date,
289 Last_Updated_By,
290 Creation_Date,
291 Created_By,
292 Last_Update_Login,
293 Locator_id,
294 Supplier_id,
295 Supplier_site_id,
296 Source_Organization_id,
297 Source_Subinventory,
298 Source_Locator_id,
299 Wip_Line_id,
300 Release_Kanban_flag,
301 Calculate_Kanban_flag,
302 Kanban_size,
303 Number_of_cards,
304 Minimum_order_quantity,
305 Aggregation_type,
306 Allocation_Percent,
307 Replenishment_lead_time,
308 Fixed_Lot_multiplier,
309 Safety_Stock_Days,
310 Updated_Flag,
311 Attribute_Category,
312 Attribute1,
313 Attribute2,
314 Attribute3,
315 Attribute4,
316 Attribute5,
317 Attribute6,
318 Attribute7,
319 Attribute8,
320 Attribute9,
321 Attribute10,
322 Attribute11,
323 Attribute12,
324 Attribute13,
325 Attribute14,
326 Attribute15,
327 Request_Id,
328 Program_application_Id,
329 Program_Id,
330 Program_Update_date,
331 point_of_use_x,
332 point_of_use_y,
333 point_of_supply_x,
334 point_of_supply_y,
335 planning_update_status,
336 auto_request,
337 Auto_Allocate_Flag, --Bug3905884
338 --eKanban Changes
339 replenishment_type,
340 future_card_size,
341 future_no_of_cards,
342 planning_effectivity,
343 consolidation,
344 consolidation_group,
345 avg_dependent_demand,
346 avg_independent_demand,
347 last_implemented_plan,
348 plan_start_date,
349 plan_end_date,
350 no_of_temp_cards,
351 no_of_temp_cycles,
352 temp_expiry_date)
353 Values
354 (
355 l_Pull_sequence_id,
356 p_Inventory_item_id,
357 p_Organization_id,
358 p_Subinventory_name,
359 p_Kanban_Plan_id,
360 p_Source_type,
361 p_Last_Update_Date,
362 p_Last_Updated_By,
363 p_Creation_Date,
364 p_Created_By,
365 p_Last_Update_Login,
366 p_Locator_id,
367 p_Supplier_id,
368 p_Supplier_site_id,
369 p_Source_Organization_id,
370 p_Source_Subinventory,
371 p_Source_Locator_id,
372 p_Wip_Line_id,
373 p_Release_Kanban_flag,
374 p_Calculate_Kanban_flag,
375 p_Kanban_size,
376 p_Number_of_cards,
377 p_Minimum_order_quantity,
378 p_Aggregation_type,
379 p_Allocation_Percent,
380 p_Replenishment_lead_time,
381 p_Fixed_Lot_multiplier,
382 p_Safety_Stock_Days,
383 p_Updated_Flag,
384 p_Attribute_Category,
385 p_Attribute1,
386 p_Attribute2,
387 p_Attribute3,
388 p_Attribute4,
389 p_Attribute5,
390 p_Attribute6,
391 p_Attribute7,
392 p_Attribute8,
393 p_Attribute9,
394 p_Attribute10,
395 p_Attribute11,
396 p_Attribute12,
397 p_Attribute13,
398 p_Attribute14,
399 p_Attribute15,
400 p_Request_Id,
401 p_Program_application_Id,
402 p_Program_Id,
403 p_Program_Update_Date,
404 p_point_of_use_x,
405 p_point_of_use_y,
406 p_point_of_supply_x,
407 p_point_of_supply_y,
408 p_planning_update_status,
409 p_auto_request,
410 p_Auto_Allocate_Flag, --Bug3905884
411 --eKanban Changes
412 p_replenishment_type,
413 p_future_card_size,
414 p_future_no_of_cards,
415 p_planning_effectivity,
416 p_consolidation,
417 p_consolidation_group,
418 p_avg_dependent_demand,
419 p_avg_independent_demand,
420 p_last_imp_plan,
421 p_imp_plan_start_date,
422 p_imp_plan_end_date,
423 p_no_of_temp_card,
424 p_no_of_temp_cycle,
425 p_temp_exp_date );
426
427 p_pull_sequence_id := l_Pull_Sequence_id;
428
429 x_return_status := l_return_status;
430 --raising business event for pullSequenceUpdation when ekanban is enabled
431 if nvl(fnd_profile.VALUE('FLM_EKB_OPS_FLAG'),0) = 1 then
432 FLM_EKB_BUSINESS_EVENT_PKG.Raise_Pull_Sequence_Event(p_pull_Sequence_id => l_Pull_sequence_id,
433 p_txn_type => 1,
434 x_msg_data =>l_msg_data,
435 x_return_status =>l_return_status);
436 end if;
437 EXCEPTION
438 WHEN FND_API.G_EXC_ERROR THEN
439
440 x_return_status := FND_API.G_RET_STS_ERROR;
441
442 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
443
444 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
445
446 WHEN OTHERS THEN
447 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
448 THEN
449 FND_MSG_PUB.Add_Exc_Msg
450 ( G_PKG_NAME
451 , 'Insert_Row'
452 );
453 END IF;
454
455 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
456
457 End Insert_Row;
458
459
460 FUNCTION Check_Unique( p_Pull_Sequence_Id IN OUT NOCOPY NUMBER,
461 p_Organization_Id NUMBER,
462 p_Kanban_Plan_Id NUMBER,
463 p_Inventory_item_id NUMBER,
464 p_Subinventory_Name VARCHAR2,
465 p_Locator_Id NUMBER)
466 RETURN BOOLEAN IS
467 l_Dummy Varchar2(1);
468 BEGIN
469 Select 'x'
470 Into l_Dummy
471 From MTL_KANBAN_PULL_SEQUENCES
472 Where organization_id = p_Organization_Id
473 And kanban_plan_id = p_kanban_plan_id
474 And inventory_item_id = p_inventory_item_id
475 And subinventory_name = p_Subinventory_Name
476 And nvl(locator_id,-1)= nvl(p_locator_id,-1)
477 And ((p_Pull_Sequence_Id is NULL ) Or
478 (Pull_Sequence_Id <> p_Pull_Sequence_Id));
479 Raise too_Many_Rows;
480
481 Exception
482 When No_Data_found
483 Then
484 return True;
485 When Too_Many_Rows
486 Then
487 FND_MESSAGE.SET_NAME('INV', 'INV_PULLSEQ_EXISTS');
488 Return FALSE;
489 When Others
490 Then
491 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
492 THEN
493 FND_MSG_PUB.Add_Exc_Msg
494 ( G_PKG_NAME
495 , 'Check_Unique'
496 );
497 END IF;
498 Return FALSE;
499
500 END Check_Unique;
501
502 Procedure commit_row is
503 BEGIN
504 commit;
505 end commit_row;
506
507 Procedure rollback_row is
508 BEGIN
509 rollback;
510 end rollback_row;
511
512 FUNCTION Query_Row
513 ( p_pull_sequence_id IN NUMBER
514 ) RETURN INV_Kanban_PVT.Pull_Sequence_Rec_Type
515 IS
516 l_pull_sequence_rec INV_Kanban_PVT.Pull_Sequence_Rec_Type;
517 BEGIN
518
519 SELECT PULL_SEQUENCE_ID
520 , INVENTORY_ITEM_ID
521 , ORGANIZATION_ID
522 , SUBINVENTORY_NAME
523 , KANBAN_PLAN_ID
524 , SOURCE_TYPE
525 , LAST_UPDATE_DATE
526 , LAST_UPDATED_BY
527 , CREATION_DATE
528 , CREATED_BY
529 , LOCATOR_ID
530 , SUPPLIER_ID
531 , SUPPLIER_SITE_ID
532 , SOURCE_ORGANIZATION_ID
533 , SOURCE_SUBINVENTORY
534 , SOURCE_LOCATOR_ID
535 , WIP_LINE_ID
536 , REPLENISHMENT_LEAD_TIME
537 , RELEASE_KANBAN_FLAG
538 , CALCULATE_KANBAN_FLAG
539 , KANBAN_SIZE
540 , FIXED_LOT_MULTIPLIER
541 , SAFETY_STOCK_DAYS
542 , NUMBER_OF_CARDS
543 , MINIMUM_ORDER_QUANTITY
544 , AGGREGATION_TYPE
545 , ALLOCATION_PERCENT
546 , LAST_UPDATE_LOGIN
547 , UPDATED_FLAG
548 , ATTRIBUTE_CATEGORY
549 , ATTRIBUTE1
550 , ATTRIBUTE2
551 , ATTRIBUTE3
552 , ATTRIBUTE4
553 , ATTRIBUTE5
554 , ATTRIBUTE6
555 , ATTRIBUTE7
556 , ATTRIBUTE8
557 , ATTRIBUTE9
558 , ATTRIBUTE10
559 , ATTRIBUTE11
560 , ATTRIBUTE12
561 , ATTRIBUTE13
562 , ATTRIBUTE14
563 , ATTRIBUTE15
564 , REQUEST_ID
565 , PROGRAM_APPLICATION_ID
566 , PROGRAM_ID
567 , PROGRAM_UPDATE_DATE
568 , POINT_OF_USE_X
569 , POINT_OF_USE_Y
570 , POINT_OF_SUPPLY_X
571 , POINT_OF_SUPPLY_Y
572 , PLANNING_UPDATE_STATUS
573 , AUTO_REQUEST
574 , AUTO_ALLOCATE_FLAG --Added for 3905884
575 -- eKanban Changes
576 , REPLENISHMENT_TYPE
577 , FUTURE_CARD_SIZE
578 , FUTURE_NO_OF_CARDS
579 , nvl(PLANNING_EFFECTIVITY,sysdate+1)
580 , CONSOLIDATION
581 , CONSOLIDATION_GROUP
582 , AVG_DEPENDENT_DEMAND
583 , AVG_INDEPENDENT_DEMAND
584 INTO l_pull_sequence_rec.pull_sequence_id
585 , l_pull_sequence_rec.inventory_item_id
586 , l_pull_sequence_rec.organization_id
587 , l_pull_sequence_rec.subinventory_name
588 , l_pull_sequence_rec.Kanban_plan_id
589 , l_pull_sequence_rec.source_type
590 , l_pull_sequence_rec.last_update_date
591 , l_pull_sequence_rec.last_updated_by
592 , l_pull_sequence_rec.creation_date
593 , l_pull_sequence_rec.created_by
594 , l_pull_sequence_rec.locator_id
595 , l_pull_sequence_rec.supplier_id
596 , l_pull_sequence_rec.supplier_site_id
597 , l_pull_sequence_rec.source_organization_id
598 , l_pull_sequence_rec.source_subinventory
599 , l_pull_sequence_rec.source_locator_id
600 , l_pull_sequence_rec.Wip_line_id
601 , l_pull_sequence_rec.replenishment_lead_time
602 , l_pull_sequence_rec.Release_Kanban_Flag
603 , l_pull_sequence_rec.Calculate_Kanban_Flag
604 , l_pull_sequence_rec.kanban_size
605 , l_pull_sequence_rec.fixed_lot_multiplier
606 , l_pull_sequence_rec.safety_stock_days
607 , l_pull_sequence_rec.number_of_cards
608 , l_pull_sequence_rec.minimum_order_quantity
609 , l_pull_sequence_rec.aggregation_Type
610 , l_pull_sequence_rec.Allocation_Percent
611 , l_pull_sequence_rec.last_update_login
612 , l_pull_sequence_rec.updated_flag
613 , l_pull_sequence_rec.attribute_category
614 , l_pull_sequence_rec.attribute1
615 , l_pull_sequence_rec.attribute2
616 , l_pull_sequence_rec.attribute3
617 , l_pull_sequence_rec.attribute4
618 , l_pull_sequence_rec.attribute5
619 , l_pull_sequence_rec.attribute6
620 , l_pull_sequence_rec.attribute7
621 , l_pull_sequence_rec.attribute8
622 , l_pull_sequence_rec.attribute9
623 , l_pull_sequence_rec.attribute10
624 , l_pull_sequence_rec.attribute11
625 , l_pull_sequence_rec.attribute12
626 , l_pull_sequence_rec.attribute13
627 , l_pull_sequence_rec.attribute14
628 , l_pull_sequence_rec.attribute15
629 , l_pull_sequence_rec.request_id
630 , l_pull_sequence_rec.program_application_id
631 , l_pull_sequence_rec.program_id
632 , l_pull_sequence_rec.program_update_date
633 , l_pull_sequence_rec.point_of_use_x
634 , l_pull_sequence_rec.point_of_use_y
635 , l_pull_sequence_rec.point_of_supply_x
636 , l_pull_sequence_rec.point_of_supply_y
637 , l_pull_sequence_rec.planning_update_status
638 , l_pull_sequence_rec.auto_request
639 , l_pull_sequence_rec.auto_allocate_flag --Added for3905884
640 , l_pull_sequence_rec.REPLENISHMENT_TYPE
641 , l_pull_sequence_rec.FUTURE_CARD_SIZE
642 , l_pull_sequence_rec.FUTURE_NO_OF_CARDS
643 , l_pull_sequence_rec.PLANNING_EFFECTIVITY
644 , l_pull_sequence_rec.CONSOLIDATION
645 , l_pull_sequence_rec.CONSOLIDATION_GROUP
646 , l_pull_sequence_rec.AVG_DEPENDENT_DEMAND
647 , l_pull_sequence_rec.AVG_INDEPENDENT_DEMAND
648 FROM MTL_KANBAN_PULL_SEQUENCES
649 WHERE PULL_SEQUENCE_ID = p_pull_sequence_id ;
650
651 RETURN l_pull_sequence_rec;
652
653 EXCEPTION
654
655 WHEN OTHERS THEN
656
657 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
658 THEN
659 FND_MSG_PUB.Add_Exc_Msg
660 ( G_PKG_NAME
661 , 'Query_Row'
662 );
663 END IF;
664
665 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
666
667 END Query_Row;
668
669 FUNCTION Convert_Miss_To_Null
670 ( p_pull_sequence_rec IN INV_Kanban_PVT.Pull_Sequence_Rec_Type
671 ) RETURN INV_Kanban_PVT.Pull_Sequence_Rec_Type
672 IS
673 l_pull_sequence_rec INV_Kanban_PVT.Pull_Sequence_Rec_Type := p_pull_sequence_rec;
674 BEGIN
675
676 IF l_pull_sequence_rec.pull_sequence_id = FND_API.G_MISS_NUM THEN
677 l_pull_sequence_rec.pull_sequence_id := NULL;
678 END IF;
679
680 IF l_pull_sequence_rec.inventory_item_id = FND_API.G_MISS_NUM THEN
681 l_pull_sequence_rec.inventory_item_id := NULL;
682 END IF;
683
684 IF l_pull_sequence_rec.organization_id = FND_API.G_MISS_NUM THEN
685 l_pull_sequence_rec.organization_id := NULL;
686 END IF;
687
688 IF l_pull_sequence_rec.subinventory_name = FND_API.G_MISS_CHAR THEN
689 l_pull_sequence_rec.subinventory_name := NULL;
690 END IF;
691
692 IF l_pull_sequence_rec.kanban_plan_id = FND_API.G_MISS_NUM THEN
693 l_pull_sequence_rec.kanban_plan_id := NULL;
694 END IF;
695
696 IF l_pull_sequence_rec.source_type = FND_API.G_MISS_NUM THEN
697 l_pull_sequence_rec.source_type := NULL;
698 END IF;
699
700 IF l_pull_sequence_rec.last_update_date = FND_API.G_MISS_DATE THEN
701 l_pull_sequence_rec.last_update_date := NULL;
702 END IF;
703
704 IF l_pull_sequence_rec.last_updated_by = FND_API.G_MISS_NUM THEN
705 l_pull_sequence_rec.last_updated_by := NULL;
706 END IF;
707
708 IF l_pull_sequence_rec.creation_date = FND_API.G_MISS_DATE THEN
709 l_pull_sequence_rec.creation_date := NULL;
710 END IF;
711
712 IF l_pull_sequence_rec.created_by = FND_API.G_MISS_NUM THEN
713 l_pull_sequence_rec.created_by := NULL;
714 END IF;
715
716 IF l_pull_sequence_rec.last_update_login = FND_API.G_MISS_NUM THEN
717 l_pull_sequence_rec.last_update_login := NULL;
718 END IF;
719
720 IF l_pull_sequence_rec.locator_id = FND_API.G_MISS_NUM THEN
721 l_pull_sequence_rec.locator_id := NULL;
722 END IF;
723
724 IF l_pull_sequence_rec.supplier_id = FND_API.G_MISS_NUM THEN
725 l_pull_sequence_rec.supplier_id := NULL;
726 END IF;
727
728 IF l_pull_sequence_rec.source_organization_id = FND_API.G_MISS_NUM THEN
729 l_pull_sequence_rec.source_organization_id := NULL;
730 END IF;
731
732 IF l_pull_sequence_rec.source_subinventory = FND_API.G_MISS_CHAR THEN
733 l_pull_sequence_rec.source_subinventory := NULL;
734 END IF;
735
736 IF l_pull_sequence_rec.source_locator_id = FND_API.G_MISS_NUM THEN
737 l_pull_sequence_rec.source_locator_id := NULL;
738 END IF;
739
740 IF l_pull_sequence_rec.wip_line_id = FND_API.G_MISS_NUM THEN
741 l_pull_sequence_rec.wip_line_id := NULL;
742 END IF;
743
744 IF l_pull_sequence_rec.release_kanban_flag = FND_API.G_MISS_NUM THEN
745 l_pull_sequence_rec.release_kanban_flag := NULL;
746 END IF;
747
748 IF l_pull_sequence_rec.calculate_kanban_flag = FND_API.G_MISS_NUM THEN
749 l_pull_sequence_rec.calculate_kanban_flag := NULL;
750 END IF;
751
752 IF l_pull_sequence_rec.kanban_size = FND_API.G_MISS_NUM THEN
753 l_pull_sequence_rec.kanban_size := NULL;
754 END IF;
755
756 IF l_pull_sequence_rec.replenishment_lead_time = FND_API.G_MISS_NUM THEN
757 l_pull_sequence_rec.replenishment_lead_time := NULL;
758 END IF;
759
760 IF l_pull_sequence_rec.fixed_lot_multiplier = FND_API.G_MISS_NUM THEN
761 l_pull_sequence_rec.fixed_lot_multiplier := NULL;
762 END IF;
763
764 IF l_pull_sequence_rec.safety_stock_days = FND_API.G_MISS_NUM THEN
765 l_pull_sequence_rec.safety_stock_days := NULL;
766 END IF;
767
768 IF l_pull_sequence_rec.number_of_cards = FND_API.G_MISS_NUM THEN
769 l_pull_sequence_rec.number_of_cards := NULL;
770 END IF;
771
772 IF l_pull_sequence_rec.minimum_order_quantity = FND_API.G_MISS_NUM THEN
773 l_pull_sequence_rec.minimum_order_quantity := NULL;
774 END IF;
775
776 IF l_pull_sequence_rec.aggregation_type = FND_API.G_MISS_NUM THEN
777 l_pull_sequence_rec.aggregation_type := NULL;
778 END IF;
779
780 IF l_pull_sequence_rec.allocation_percent = FND_API.G_MISS_NUM THEN
781 l_pull_sequence_rec.allocation_percent := NULL;
782 END IF;
783
784 IF l_pull_sequence_rec.last_update_login = FND_API.G_MISS_NUM THEN
785 l_pull_sequence_rec.last_update_login := NULL;
786 END IF;
787
788 IF l_pull_sequence_rec.updated_flag = FND_API.G_MISS_NUM THEN
789 l_pull_sequence_rec.updated_flag := NULL;
790 END IF;
791
792 IF l_pull_sequence_rec.attribute_category = FND_API.G_MISS_CHAR THEN
793 l_pull_sequence_rec.attribute_category := NULL;
794 END IF;
795
796 IF l_pull_sequence_rec.attribute1 = FND_API.G_MISS_CHAR THEN
797 l_pull_sequence_rec.attribute1 := NULL;
798 END IF;
799
800 IF l_pull_sequence_rec.attribute2 = FND_API.G_MISS_CHAR THEN
801 l_pull_sequence_rec.attribute2 := NULL;
802 END IF;
803
804 IF l_pull_sequence_rec.attribute3 = FND_API.G_MISS_CHAR THEN
805 l_pull_sequence_rec.attribute3 := NULL;
806 END IF;
807
808 IF l_pull_sequence_rec.attribute4 = FND_API.G_MISS_CHAR THEN
809 l_pull_sequence_rec.attribute4 := NULL;
810 END IF;
811
812 IF l_pull_sequence_rec.attribute5 = FND_API.G_MISS_CHAR THEN
813 l_pull_sequence_rec.attribute5 := NULL;
814 END IF;
815
816 IF l_pull_sequence_rec.attribute6 = FND_API.G_MISS_CHAR THEN
817 l_pull_sequence_rec.attribute6 := NULL;
818 END IF;
819
820 IF l_pull_sequence_rec.attribute7 = FND_API.G_MISS_CHAR THEN
821 l_pull_sequence_rec.attribute7 := NULL;
822 END IF;
823
824 IF l_pull_sequence_rec.attribute8 = FND_API.G_MISS_CHAR THEN
825 l_pull_sequence_rec.attribute8 := NULL;
826 END IF;
827
828 IF l_pull_sequence_rec.attribute9 = FND_API.G_MISS_CHAR THEN
829 l_pull_sequence_rec.attribute9 := NULL;
830 END IF;
831
832 IF l_pull_sequence_rec.attribute10 = FND_API.G_MISS_CHAR THEN
833 l_pull_sequence_rec.attribute10 := NULL;
834 END IF;
835
836 IF l_pull_sequence_rec.attribute11 = FND_API.G_MISS_CHAR THEN
837 l_pull_sequence_rec.attribute11 := NULL;
838 END IF;
839
840 IF l_pull_sequence_rec.attribute12 = FND_API.G_MISS_CHAR THEN
841 l_pull_sequence_rec.attribute12 := NULL;
842 END IF;
843
844 IF l_pull_sequence_rec.attribute13 = FND_API.G_MISS_CHAR THEN
845 l_pull_sequence_rec.attribute13 := NULL;
846 END IF;
847
848 IF l_pull_sequence_rec.attribute14 = FND_API.G_MISS_CHAR THEN
849 l_pull_sequence_rec.attribute14 := NULL;
850 END IF;
851
852 IF l_pull_sequence_rec.attribute15 = FND_API.G_MISS_CHAR THEN
853 l_pull_sequence_rec.attribute15 := NULL;
854 END IF;
855
856 IF l_pull_sequence_rec.request_id = FND_API.G_MISS_NUM THEN
857 l_pull_sequence_rec.request_id := NULL;
858 END IF;
859
860 IF l_pull_sequence_rec.program_application_id = FND_API.G_MISS_NUM THEN
861 l_pull_sequence_rec.program_application_id := NULL;
862 END IF;
863
864 IF l_pull_sequence_rec.program_id = FND_API.G_MISS_NUM THEN
865 l_pull_sequence_rec.program_id := NULL;
866 END IF;
867
868 IF l_pull_sequence_rec.program_update_date = FND_API.G_MISS_DATE THEN
869 l_pull_sequence_rec.program_update_date := NULL;
870 END IF;
871
872 IF l_pull_sequence_rec.point_of_use_x= FND_API.G_MISS_NUM THEN
873 l_pull_sequence_rec.point_of_use_x := NULL;
874 END IF;
875
876 IF l_pull_sequence_rec.point_of_use_y = FND_API.G_MISS_NUM THEN
877 l_pull_sequence_rec.point_of_use_y := NULL;
878 END IF;
879
880 IF l_pull_sequence_rec.point_of_supply_x = FND_API.G_MISS_NUM THEN
881 l_pull_sequence_rec.point_of_supply_x := NULL;
882 END IF;
883
884 IF l_pull_sequence_rec.point_of_supply_y = FND_API.G_MISS_NUM THEN
885 l_pull_sequence_rec.point_of_supply_y := NULL;
886 END IF;
887
888 IF l_pull_sequence_rec.planning_update_status = FND_API.G_MISS_NUM THEN
889 l_pull_sequence_rec.planning_update_status := NULL;
890 END IF;
891
892 IF l_pull_sequence_rec.auto_request = FND_API.G_MISS_CHAR THEN
893 l_pull_sequence_rec.auto_request := NULL;
894 END IF;
895
896 /*Added the following IF statement for 3905884.*/
897 IF l_pull_sequence_rec.auto_allocate_flag = FND_API.G_MISS_NUM THEN
898 l_pull_sequence_rec.auto_allocate_flag := NULL;
899 END IF;
900
901 RETURN l_pull_sequence_rec;
902
903 END Convert_Miss_To_Null;
904
905 FUNCTION Complete_Record
906 ( p_pull_sequence_rec IN INV_Kanban_PVT.Pull_Sequence_Rec_Type
907 , p_old_pull_sequence_rec IN INV_Kanban_PVT.Pull_Sequence_Rec_Type
908 ) RETURN INV_Kanban_PVT.Pull_Sequence_Rec_Type
909 IS
910 l_pull_sequence_rec INV_Kanban_PVT.Pull_Sequence_Rec_Type := p_pull_sequence_rec;
911 BEGIN
912
913 IF l_pull_sequence_rec.pull_sequence_id = FND_API.G_MISS_NUM THEN
914 l_pull_sequence_rec.pull_sequence_id := p_old_pull_sequence_rec.pull_sequence_id;
915 END IF;
916
917 IF l_pull_sequence_rec.inventory_item_id = FND_API.G_MISS_NUM THEN
918 l_pull_sequence_rec.inventory_item_id := p_old_pull_sequence_rec.inventory_item_id;
919 END IF;
920
921 IF l_pull_sequence_rec.organization_id = FND_API.G_MISS_NUM THEN
922 l_pull_sequence_rec.organization_id := p_old_pull_sequence_rec.organization_id;
923 END IF;
924
925 IF l_pull_sequence_rec.subinventory_name = FND_API.G_MISS_CHAR THEN
926 l_pull_sequence_rec.subinventory_name := p_old_pull_sequence_rec.subinventory_name;
927 END IF;
928
929 IF l_pull_sequence_rec.Kanban_plan_id = FND_API.G_MISS_NUM THEN
930 l_pull_sequence_rec.Kanban_plan_id := p_old_pull_sequence_rec.Kanban_plan_id;
931 END IF;
932
933 IF l_pull_sequence_rec.source_type = FND_API.G_MISS_NUM THEN
934 l_pull_sequence_rec.source_type := p_old_pull_sequence_rec.source_type;
935 END IF;
936
937 IF l_pull_sequence_rec.last_update_date = FND_API.G_MISS_DATE THEN
938 l_pull_sequence_rec.last_update_date := p_old_pull_sequence_rec.last_update_date;
939 END IF;
940
941 IF l_pull_sequence_rec.last_updated_by = FND_API.G_MISS_NUM THEN
942 l_pull_sequence_rec.last_updated_by := p_old_pull_sequence_rec.last_updated_by;
943 END IF;
944
945 IF l_pull_sequence_rec.creation_date = FND_API.G_MISS_DATE THEN
946 l_pull_sequence_rec.creation_date := p_old_pull_sequence_rec.creation_date;
947 END IF;
948
949 IF l_pull_sequence_rec.created_by = FND_API.G_MISS_NUM THEN
950 l_pull_sequence_rec.created_by := p_old_pull_sequence_rec.created_by;
951 END IF;
952
953 IF l_pull_sequence_rec.locator_id = FND_API.G_MISS_NUM THEN
954 l_pull_sequence_rec.locator_id := p_old_pull_sequence_rec.locator_id;
955 END IF;
956
957 IF l_pull_sequence_rec.supplier_id = FND_API.G_MISS_NUM THEN
958 l_pull_sequence_rec.supplier_id := p_old_pull_sequence_rec.supplier_id;
959 END IF;
960
961 IF l_pull_sequence_rec.supplier_site_id = FND_API.G_MISS_NUM THEN
962 l_pull_sequence_rec.supplier_site_id := p_old_pull_sequence_rec.supplier_site_id;
963 END IF;
964
965 IF l_pull_sequence_rec.source_organization_id = FND_API.G_MISS_NUM THEN
966 l_pull_sequence_rec.source_organization_id := p_old_pull_sequence_rec.source_organization_id;
967 END IF;
968
969 IF l_pull_sequence_rec.source_subinventory = FND_API.G_MISS_CHAR THEN
970 l_pull_sequence_rec.source_subinventory := p_old_pull_sequence_rec.source_subinventory;
971 END IF;
972
973 IF l_pull_sequence_rec.source_locator_id = FND_API.G_MISS_NUM THEN
974 l_pull_sequence_rec.source_locator_id := p_old_pull_sequence_rec.source_locator_id;
975 END IF;
976
977 IF l_pull_sequence_rec.wip_line_id = FND_API.G_MISS_NUM THEN
978 l_pull_sequence_rec.wip_line_id := p_old_pull_sequence_rec.wip_line_id;
979 END IF;
980
981 IF l_pull_sequence_rec.replenishment_lead_time = FND_API.G_MISS_NUM THEN
982 l_pull_sequence_rec.replenishment_lead_time := p_old_pull_sequence_rec.replenishment_lead_time;
983 END IF;
984
985 IF l_pull_sequence_rec.Release_Kanban_Flag = FND_API.G_MISS_NUM THEN
986 l_pull_sequence_rec.Release_Kanban_Flag := p_old_pull_sequence_rec.Release_Kanban_Flag;
987
988 END IF;
989 IF l_pull_sequence_rec.Calculate_Kanban_Flag = FND_API.G_MISS_NUM THEN
990 l_pull_sequence_rec.Calculate_Kanban_Flag := p_old_pull_sequence_rec.Calculate_Kanban_Flag;
991 END IF;
992
993 IF l_pull_sequence_rec.kanban_size = FND_API.G_MISS_NUM THEN
994 l_pull_sequence_rec.kanban_size := p_old_pull_sequence_rec.kanban_size;
995 END IF;
996
997 IF l_pull_sequence_rec.fixed_lot_multiplier = FND_API.G_MISS_NUM THEN
998 l_pull_sequence_rec.fixed_lot_multiplier := p_old_pull_sequence_rec.fixed_lot_multiplier;
999 END IF;
1000
1001 IF l_pull_sequence_rec.safety_stock_days = FND_API.G_MISS_NUM THEN
1002 l_pull_sequence_rec.safety_stock_days := p_old_pull_sequence_rec.safety_stock_days;
1003 END IF;
1004
1005 IF l_pull_sequence_rec.number_of_cards = FND_API.G_MISS_NUM THEN
1006 l_pull_sequence_rec.number_of_cards := p_old_pull_sequence_rec.number_of_cards;
1007 END IF;
1008
1009 IF l_pull_sequence_rec.minimum_order_quantity = FND_API.G_MISS_NUM THEN
1010 l_pull_sequence_rec.minimum_order_quantity := p_old_pull_sequence_rec.minimum_order_quantity;
1011 END IF;
1012
1013 IF l_pull_sequence_rec.aggregation_type = FND_API.G_MISS_NUM THEN
1014 l_pull_sequence_rec.aggregation_type := p_old_pull_sequence_rec.aggregation_type;
1015 END IF;
1016
1017 IF l_pull_sequence_rec.Allocation_Percent = FND_API.G_MISS_NUM THEN
1018 l_pull_sequence_rec.Allocation_Percent := p_old_pull_sequence_rec.Allocation_Percent;
1019 END IF;
1020
1021 IF l_pull_sequence_rec.last_update_login = FND_API.G_MISS_NUM THEN
1022 l_pull_sequence_rec.last_update_login := p_old_pull_sequence_rec.last_update_login;
1023 END IF;
1024
1025 IF l_pull_sequence_rec.updated_flag = FND_API.G_MISS_NUM THEN
1026 l_pull_sequence_rec.updated_flag := p_old_pull_sequence_rec.updated_flag;
1027 END IF;
1028
1029 IF l_pull_sequence_rec.attribute_category = FND_API.G_MISS_CHAR THEN
1030 l_pull_sequence_rec.attribute_category := p_old_pull_sequence_rec.attribute_category;
1031 END IF;
1032
1033 IF l_pull_sequence_rec.attribute1 = FND_API.G_MISS_CHAR THEN
1034 l_pull_sequence_rec.attribute1 := p_old_pull_sequence_rec.attribute1;
1035 END IF;
1036
1037 IF l_pull_sequence_rec.attribute2 = FND_API.G_MISS_CHAR THEN
1038 l_pull_sequence_rec.attribute2 := p_old_pull_sequence_rec.attribute2;
1039 END IF;
1040
1041 IF l_pull_sequence_rec.attribute3 = FND_API.G_MISS_CHAR THEN
1042 l_pull_sequence_rec.attribute3 := p_old_pull_sequence_rec.attribute3;
1043 END IF;
1044
1045 IF l_pull_sequence_rec.attribute4 = FND_API.G_MISS_CHAR THEN
1046 l_pull_sequence_rec.attribute4 := p_old_pull_sequence_rec.attribute4;
1047 END IF;
1048
1049 IF l_pull_sequence_rec.attribute5 = FND_API.G_MISS_CHAR THEN
1050 l_pull_sequence_rec.attribute5 := p_old_pull_sequence_rec.attribute5;
1051 END IF;
1052
1053 IF l_pull_sequence_rec.attribute6 = FND_API.G_MISS_CHAR THEN
1054 l_pull_sequence_rec.attribute6 := p_old_pull_sequence_rec.attribute6;
1055 END IF;
1056
1057 IF l_pull_sequence_rec.attribute7 = FND_API.G_MISS_CHAR THEN
1058 l_pull_sequence_rec.attribute7 := p_old_pull_sequence_rec.attribute7;
1059 END IF;
1060
1061 IF l_pull_sequence_rec.attribute8 = FND_API.G_MISS_CHAR THEN
1062 l_pull_sequence_rec.attribute8 := p_old_pull_sequence_rec.attribute8;
1063 END IF;
1064
1065 IF l_pull_sequence_rec.attribute9 = FND_API.G_MISS_CHAR THEN
1066 l_pull_sequence_rec.attribute9 := p_old_pull_sequence_rec.attribute9;
1067 END IF;
1068
1069 IF l_pull_sequence_rec.attribute10 = FND_API.G_MISS_CHAR THEN
1070 l_pull_sequence_rec.attribute10 := p_old_pull_sequence_rec.attribute10;
1071 END IF;
1072
1073 IF l_pull_sequence_rec.attribute11 = FND_API.G_MISS_CHAR THEN
1074 l_pull_sequence_rec.attribute11 := p_old_pull_sequence_rec.attribute11;
1075 END IF;
1076
1077 IF l_pull_sequence_rec.attribute12 = FND_API.G_MISS_CHAR THEN
1078 l_pull_sequence_rec.attribute12 := p_old_pull_sequence_rec.attribute12;
1079 END IF;
1080
1081 IF l_pull_sequence_rec.attribute13 = FND_API.G_MISS_CHAR THEN
1082 l_pull_sequence_rec.attribute13 := p_old_pull_sequence_rec.attribute13;
1083 END IF;
1084
1085 IF l_pull_sequence_rec.attribute14 = FND_API.G_MISS_CHAR THEN
1086 l_pull_sequence_rec.attribute14 := p_old_pull_sequence_rec.attribute14;
1087 END IF;
1088
1089 IF l_pull_sequence_rec.attribute15 = FND_API.G_MISS_CHAR THEN
1090 l_pull_sequence_rec.attribute15 := p_old_pull_sequence_rec.attribute15;
1091 END IF;
1092
1093 IF l_pull_sequence_rec.request_id = FND_API.G_MISS_NUM THEN
1094 l_pull_sequence_rec.request_id := p_old_pull_sequence_rec.request_id;
1095 END IF;
1096
1097 IF l_pull_sequence_rec.program_application_id = FND_API.G_MISS_NUM THEN
1098 l_pull_sequence_rec.program_application_id := p_old_pull_sequence_rec.program_application_id;
1099 END IF;
1100
1101 IF l_pull_sequence_rec.program_id = FND_API.G_MISS_NUM THEN
1102 l_pull_sequence_rec.program_id := p_old_pull_sequence_rec.program_id;
1103 END IF;
1104
1105 IF l_pull_sequence_rec.program_update_date = FND_API.G_MISS_DATE THEN
1106 l_pull_sequence_rec.program_update_date := p_old_pull_sequence_rec.program_update_date;
1107 END IF;
1108
1109 IF l_pull_sequence_rec.point_of_use_x = FND_API.G_MISS_NUM THEN
1110 l_pull_sequence_rec.point_of_use_x := p_old_pull_sequence_rec.point_of_use_x;
1111 END IF;
1112
1113 IF l_pull_sequence_rec.point_of_use_y = FND_API.G_MISS_NUM THEN
1114 l_pull_sequence_rec.point_of_use_y := p_old_pull_sequence_rec.point_of_use_y;
1115 END IF;
1116
1117 IF l_pull_sequence_rec.point_of_supply_x = FND_API.G_MISS_NUM THEN
1118 l_pull_sequence_rec.point_of_supply_x := p_old_pull_sequence_rec.point_of_supply_x;
1119 END IF;
1120
1121 IF l_pull_sequence_rec.point_of_supply_y = FND_API.G_MISS_NUM THEN
1122 l_pull_sequence_rec.point_of_supply_y := p_old_pull_sequence_rec.point_of_supply_y;
1123 END IF;
1124
1125 IF l_pull_sequence_rec.planning_update_status = FND_API.G_MISS_NUM THEN
1126 l_pull_sequence_rec.planning_update_status := p_old_pull_sequence_rec.planning_update_status;
1127 END IF;
1128
1129 IF l_pull_sequence_rec.auto_request = FND_API.G_MISS_CHAR THEN
1130 l_pull_sequence_rec.auto_request := p_old_pull_sequence_rec.auto_request;
1131 END IF;
1132
1133 /*Added the following IF statement for 3905884.*/
1134 IF l_pull_sequence_rec.auto_allocate_flag = FND_API.G_MISS_NUM THEN
1135 l_pull_sequence_rec.auto_allocate_flag := p_old_pull_sequence_rec.auto_allocate_flag;
1136 END IF;
1137
1138 RETURN l_pull_sequence_rec;
1139
1140 END Complete_Record;
1141 /*
1142 PROCEDURE Insert_Row(x_return_status OUT NOCOPY Varchar2,
1143 p_pull_sequence_id IN Out NOCOPY NUMBER,
1144 p_Inventory_item_id NUMBER,
1145 p_Organization_id NUMBER,
1146 p_Subinventory_name VARCHAR2,
1147 p_Kanban_Plan_id NUMBER,
1148 p_Source_type NUMBER,
1149 p_Last_Update_Date DATE,
1150 p_Last_Updated_By NUMBER,
1151 p_Creation_Date DATE,
1152 p_Created_By NUMBER,
1153 p_Last_Update_Login NUMBER,
1154 p_Locator_id NUMBER,
1155 p_Supplier_id NUMBER,
1156 p_Supplier_site_id NUMBER,
1157 p_Source_Organization_id NUMBER,
1158 p_Source_Subinventory VARCHAR2,
1159 p_Source_Locator_id NUMBER,
1160 p_Wip_Line_id NUMBER,
1161 p_Release_Kanban_Flag NUMBER,
1162 p_Calculate_Kanban_Flag NUMBER,
1163 p_Kanban_size NUMBER,
1164 p_Number_of_cards NUMBER,
1165 p_Minimum_order_quantity NUMBER,
1166 p_Aggregation_type NUMBER,
1167 p_Allocation_Percent NUMBER,
1168 p_Replenishment_lead_time NUMBER,
1169 p_Fixed_Lot_multiplier NUMBER,
1170 p_Safety_Stock_Days NUMBER,
1171 p_Updated_Flag NUMBER,
1172 p_Attribute_Category VARCHAR2,
1173 p_Attribute1 VARCHAR2,
1174 p_Attribute2 VARCHAR2,
1175 p_Attribute3 VARCHAR2,
1176 p_Attribute4 VARCHAR2,
1177 p_Attribute5 VARCHAR2,
1178 p_Attribute6 VARCHAR2,
1179 p_Attribute7 VARCHAR2,
1180 p_Attribute8 VARCHAR2,
1181 p_Attribute9 VARCHAR2,
1182 p_Attribute10 VARCHAR2,
1183 p_Attribute11 VARCHAR2,
1184 p_Attribute12 VARCHAR2,
1185 p_Attribute13 VARCHAR2,
1186 p_Attribute14 VARCHAR2,
1187 p_Attribute15 VARCHAR2,
1188 p_Request_Id NUMBER,
1189 p_Program_application_Id NUMBER,
1190 p_Program_Id NUMBER,
1191 p_Program_Update_date DATE,
1192 p_point_of_use_x NUMBER DEFAULT NULL,
1193 p_point_of_use_y NUMBER DEFAULT NULL,
1194 p_point_of_supply_x NUMBER DEFAULT NULL,
1195 p_point_of_supply_y NUMBER DEFAULT NULL,
1196 p_planning_update_status NUMBER DEFAULT NULL,
1197 p_auto_request VARCHAR2 DEFAULT NULL,
1198 p_Auto_Allocate_Flag NUMBER, --Bug3905884
1199 --eKanban Changes
1200 p_replenishment_type NUMBER DEFAULT NULL,
1201 p_future_card_size NUMBER DEFAULT NULL,
1202 p_future_no_of_cards NUMBER DEFAULT NULL,
1203 p_planning_effectivity DATE DEFAULT NULL,
1204 p_consolidation NUMBER DEFAULT NULL,
1205 p_consolidation_group VARCHAR2 DEFAULT NULL,
1206 p_avg_dependent_demand NUMBER DEFAULT NULL,
1207 p_avg_independent_demand NUMBER DEFAULT NULL)
1208 is
1209 l_pull_sequence_Id MTL_Kanban_Pull_Sequences.Pull_Sequence_Id%Type;
1210 l_return_status Varchar2(1) := FND_API.G_RET_STS_SUCCESS;
1211 BEGIN
1212 FND_MSG_PUB.Initialize;
1213 If nvl(p_Pull_sequence_Id,0) <= 0
1214 Then
1215 Select MTL_KANBAN_PULL_SEQUENCES_S.NEXTVAL
1216 into l_pull_sequence_Id
1217 from dual;
1218 Else
1219 l_pull_sequence_Id := p_Pull_sequence_Id;
1220 End If;
1221
1222 INSERT INTO MTL_KANBAN_PULL_SEQUENCES
1223 (
1224 Pull_sequence_id,
1225 Inventory_item_id,
1226 Organization_id,
1227 Subinventory_name,
1228 Kanban_Plan_id,
1229 Source_type,
1230 Last_Update_Date,
1231 Last_Updated_By,
1232 Creation_Date,
1233 Created_By,
1234 Last_Update_Login,
1235 Locator_id,
1236 Supplier_id,
1237 Supplier_site_id,
1238 Source_Organization_id,
1239 Source_Subinventory,
1240 Source_Locator_id,
1241 Wip_Line_id,
1242 Release_Kanban_flag,
1243 Calculate_Kanban_flag,
1244 Kanban_size,
1245 Number_of_cards,
1246 Minimum_order_quantity,
1247 Aggregation_type,
1248 Allocation_Percent,
1249 Replenishment_lead_time,
1250 Fixed_Lot_multiplier,
1251 Safety_Stock_Days,
1252 Updated_Flag,
1253 Attribute_Category,
1254 Attribute1,
1255 Attribute2,
1256 Attribute3,
1257 Attribute4,
1258 Attribute5,
1259 Attribute6,
1260 Attribute7,
1261 Attribute8,
1262 Attribute9,
1263 Attribute10,
1264 Attribute11,
1265 Attribute12,
1266 Attribute13,
1267 Attribute14,
1268 Attribute15,
1269 Request_Id,
1270 Program_application_Id,
1271 Program_Id,
1272 Program_Update_date,
1273 point_of_use_x,
1274 point_of_use_y,
1275 point_of_supply_x,
1276 point_of_supply_y,
1277 planning_update_status,
1278 auto_request,
1279 Auto_Allocate_Flag, --Bug3905884
1280 --eKanban Changes
1281 replenishment_type,
1282 future_card_size,
1283 future_no_of_cards,
1284 planning_effectivity,
1285 consolidation,
1286 consolidation_group,
1287 avg_dependent_demand,
1288 avg_independent_demand)
1289 Values
1290 (
1291 l_Pull_sequence_id,
1292 p_Inventory_item_id,
1293 p_Organization_id,
1294 p_Subinventory_name,
1295 p_Kanban_Plan_id,
1296 p_Source_type,
1297 p_Last_Update_Date,
1298 p_Last_Updated_By,
1299 p_Creation_Date,
1300 p_Created_By,
1301 p_Last_Update_Login,
1302 p_Locator_id,
1303 p_Supplier_id,
1304 p_Supplier_site_id,
1305 p_Source_Organization_id,
1306 p_Source_Subinventory,
1307 p_Source_Locator_id,
1308 p_Wip_Line_id,
1309 p_Release_Kanban_flag,
1310 p_Calculate_Kanban_flag,
1311 p_Kanban_size,
1312 p_Number_of_cards,
1313 p_Minimum_order_quantity,
1314 p_Aggregation_type,
1315 p_Allocation_Percent,
1316 p_Replenishment_lead_time,
1317 p_Fixed_Lot_multiplier,
1318 p_Safety_Stock_Days,
1319 p_Updated_Flag,
1320 p_Attribute_Category,
1321 p_Attribute1,
1322 p_Attribute2,
1323 p_Attribute3,
1324 p_Attribute4,
1325 p_Attribute5,
1326 p_Attribute6,
1327 p_Attribute7,
1328 p_Attribute8,
1329 p_Attribute9,
1330 p_Attribute10,
1331 p_Attribute11,
1332 p_Attribute12,
1333 p_Attribute13,
1334 p_Attribute14,
1335 p_Attribute15,
1336 p_Request_Id,
1337 p_Program_application_Id,
1338 p_Program_Id,
1339 p_Program_Update_Date,
1340 p_point_of_use_x,
1341 p_point_of_use_y,
1342 p_point_of_supply_x,
1343 p_point_of_supply_y,
1344 p_planning_update_status,
1345 p_auto_request,
1346 p_Auto_Allocate_Flag, --Bug3905884
1347 --eKanban Changes
1348 p_replenishment_type,
1349 p_future_card_size,
1350 p_future_no_of_cards,
1351 p_planning_effectivity,
1352 p_consolidation,
1353 p_consolidation_group,
1354 p_avg_dependent_demand,
1355 p_avg_independent_demand
1356 );
1357
1358 p_pull_sequence_id := l_Pull_Sequence_id;
1359
1360 x_return_status := l_return_status;
1361 EXCEPTION
1362 WHEN FND_API.G_EXC_ERROR THEN
1363
1364 x_return_status := FND_API.G_RET_STS_ERROR;
1365
1366 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1367
1368 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1369
1370 WHEN OTHERS THEN
1371 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1372 THEN
1373 FND_MSG_PUB.Add_Exc_Msg
1374 ( G_PKG_NAME
1375 , 'Insert_Row'
1376 );
1377 END IF;
1378
1379 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1380
1381 End Insert_Row;
1382 */
1383 Procedure Insert_Row(p_pull_sequence_rec INV_Kanban_PVT.Pull_Sequence_Rec_Type)
1384 Is
1385 l_Pull_sequence_rec INV_Kanban_PVT.Pull_Sequence_Rec_Type :=
1386 p_pull_sequence_rec;
1387 l_return_status Varchar2(1);
1388
1389 Begin
1390 FND_MSG_PUB.Initialize;
1391 INV_PullSequence_PKG.Insert_Row(
1392 x_return_status =>l_return_status,
1393 p_pull_sequence_id =>l_Pull_sequence_Rec.pull_sequence_id,
1394 p_Inventory_item_id =>l_Pull_sequence_Rec.Inventory_item_id,
1395 p_Organization_id =>l_Pull_sequence_Rec.Organization_id,
1396 p_Subinventory_name =>l_Pull_sequence_Rec.Subinventory_name,
1397 p_Kanban_Plan_id =>l_Pull_sequence_Rec.Kanban_Plan_id,
1398 p_Source_type =>l_Pull_sequence_Rec.Source_type,
1399 p_Last_Update_Date =>l_Pull_sequence_Rec.Last_Update_Date,
1400 p_Last_Updated_By =>l_Pull_sequence_Rec.Last_Updated_By,
1401 p_Creation_Date =>l_Pull_sequence_Rec.Creation_Date,
1402 p_Created_By =>l_Pull_sequence_Rec.Created_By,
1403 p_Last_Update_Login =>l_Pull_sequence_Rec.Last_Update_Login,
1404 p_Locator_id =>l_Pull_sequence_Rec.Locator_id,
1405 p_Supplier_id =>l_Pull_sequence_Rec.Supplier_id,
1406 p_Supplier_site_id =>l_Pull_sequence_Rec.Supplier_site_id,
1407 p_Source_Organization_id=>l_Pull_sequence_Rec.Source_Organization_id,
1408 p_Source_Subinventory =>l_Pull_sequence_Rec.Source_Subinventory,
1409 p_Source_Locator_id =>l_Pull_sequence_Rec.Source_Locator_id,
1410 p_Wip_Line_id =>l_Pull_Sequence_Rec.Wip_Line_id,
1411 p_Release_Kanban_Flag =>l_Pull_sequence_Rec.Release_Kanban_Flag,
1412 p_Calculate_Kanban_Flag =>l_Pull_sequence_Rec.Calculate_Kanban_Flag,
1413 p_Kanban_size =>l_Pull_sequence_Rec.Kanban_size,
1414 p_Number_of_cards =>l_Pull_sequence_Rec.Number_of_cards,
1415 p_Minimum_order_quantity=>l_Pull_sequence_Rec.Minimum_order_quantity,
1416 p_Aggregation_type =>l_Pull_sequence_Rec.Aggregation_type,
1417 p_Allocation_Percent =>l_Pull_sequence_Rec.Allocation_Percent,
1418 p_Replenishment_lead_time=>l_Pull_sequence_Rec.Replenishment_lead_time,
1419 p_Fixed_Lot_multiplier =>l_Pull_sequence_Rec.Fixed_Lot_multiplier,
1420 p_Safety_Stock_Days =>l_Pull_sequence_Rec.Safety_Stock_Days,
1421 p_Updated_Flag =>l_Pull_sequence_Rec.Updated_Flag,
1422 p_Attribute_Category =>l_Pull_sequence_Rec.Attribute_Category,
1423 p_Attribute1 =>l_Pull_sequence_Rec.Attribute1,
1424 p_Attribute2 =>l_Pull_sequence_Rec.Attribute2,
1425 p_Attribute3 =>l_Pull_sequence_Rec.Attribute3,
1426 p_Attribute4 =>l_Pull_sequence_Rec.Attribute4,
1427 p_Attribute5 =>l_Pull_sequence_Rec.Attribute5,
1428 p_Attribute6 =>l_Pull_sequence_Rec.Attribute6,
1429 p_Attribute7 =>l_Pull_sequence_Rec.Attribute7,
1430 p_Attribute8 =>l_Pull_sequence_Rec.Attribute8,
1431 p_Attribute9 =>l_Pull_sequence_Rec.Attribute9,
1432 p_Attribute10 =>l_Pull_sequence_Rec.Attribute10,
1433 p_Attribute11 =>l_Pull_sequence_Rec.Attribute11,
1434 p_Attribute12 =>l_Pull_sequence_Rec.Attribute12,
1435 p_Attribute13 =>l_Pull_sequence_Rec.Attribute13,
1436 p_Attribute14 =>l_Pull_sequence_Rec.Attribute14,
1437 p_Attribute15 =>l_Pull_sequence_Rec.Attribute15,
1438 p_Request_Id =>l_Pull_sequence_Rec.Request_Id,
1439 p_Program_application_Id=>l_Pull_sequence_Rec.Program_application_Id,
1440 p_Program_Id =>l_Pull_sequence_Rec.Program_Id,
1441 p_Program_Update_date =>l_Pull_sequence_Rec.Program_Update_date,
1442 p_point_of_use_x =>l_Pull_sequence_Rec.point_of_use_x,
1443 p_point_of_use_y =>l_Pull_sequence_Rec.point_of_use_y,
1444 p_point_of_supply_x =>l_Pull_sequence_Rec.point_of_supply_x,
1445 p_point_of_supply_y =>l_Pull_sequence_Rec.point_of_supply_y,
1446 p_planning_update_status=>l_Pull_sequence_Rec.planning_update_status,
1447 p_auto_request =>l_Pull_sequence_Rec.auto_request,
1448 p_Auto_Allocate_Flag =>l_Pull_sequence_Rec.Auto_Allocate_Flag, --Added for 3905884.
1449 --eKanban Changes
1450 p_replenishment_type =>l_Pull_sequence_Rec.replenishment_type,
1451 p_future_card_size =>l_Pull_sequence_Rec.future_card_size,
1452 p_future_no_of_cards =>l_Pull_sequence_Rec.future_no_of_cards,
1453 p_planning_effectivity =>l_Pull_sequence_Rec.planning_effectivity,
1454 p_consolidation =>l_Pull_sequence_Rec.consolidation,
1455 p_consolidation_group =>l_Pull_sequence_Rec.consolidation_group,
1456 p_avg_dependent_demand =>l_Pull_sequence_Rec.avg_dependent_demand,
1457 p_avg_independent_demand =>l_Pull_sequence_Rec.avg_independent_demand,
1458 p_last_imp_plan => l_Pull_sequence_Rec.last_implemented_plan,
1459 p_imp_plan_start_date => l_Pull_sequence_Rec.plan_start_date,
1460 p_imp_plan_end_date => l_Pull_sequence_Rec.plan_end_date,
1461 p_no_of_temp_card => null,
1462 p_no_of_temp_cycle => null,
1463 p_temp_exp_date => null);
1464
1465 if l_return_status = FND_API.G_RET_STS_ERROR
1466 Then
1467 Raise FND_API.G_EXC_ERROR;
1468 End if;
1469
1470 if l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
1471 Then
1472 Raise FND_API.G_EXC_UNEXPECTED_ERROR;
1473 End If;
1474
1475 EXCEPTION
1476 WHEN FND_API.G_EXC_ERROR THEN
1477
1478 Raise FND_API.G_EXC_ERROR;
1479
1480 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1481
1482 Raise FND_API.G_EXC_UNEXPECTED_ERROR;
1483
1484 WHEN OTHERS THEN
1485
1486 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1487 THEN
1488 FND_MSG_PUB.Add_Exc_Msg
1489 ( G_PKG_NAME
1490 , 'Insert_Row'
1491 );
1492 END IF;
1493
1494 Raise FND_API.G_EXC_UNEXPECTED_ERROR;
1495
1496 End Insert_Row;
1497
1498 PROCEDURE Lock_Row (p_Pull_Sequence_Id NUMBER,
1499 p_Inventory_item_id NUMBER,
1500 p_Organization_id NUMBER,
1501 p_Subinventory_name VARCHAR2,
1502 p_Kanban_Plan_id NUMBER,
1503 p_Source_type NUMBER,
1504 p_Locator_id NUMBER,
1505 p_Supplier_id NUMBER,
1506 p_Supplier_site_id NUMBER,
1507 p_Source_Organization_id NUMBER,
1508 p_Source_Subinventory VARCHAR2,
1509 p_Source_Locator_id NUMBER,
1510 p_Wip_Line_id NUMBER,
1511 p_Release_Kanban_flag NUMBER,
1512 p_Calculate_Kanban_flag NUMBER,
1513 p_Kanban_size NUMBER,
1514 p_Number_of_cards NUMBER,
1515 p_Minimum_order_quantity NUMBER,
1516 p_Aggregation_type NUMBER,
1517 p_Allocation_Percent NUMBER,
1518 p_Replenishment_lead_time NUMBER,
1519 p_Fixed_Lot_multiplier NUMBER,
1520 p_Safety_Stock_Days NUMBER,
1521 p_Updated_Flag NUMBER,
1522 p_Attribute_Category VARCHAR2,
1523 p_Attribute1 VARCHAR2,
1524 p_Attribute2 VARCHAR2,
1525 p_Attribute3 VARCHAR2,
1526 p_Attribute4 VARCHAR2,
1527 p_Attribute5 VARCHAR2,
1528 p_Attribute6 VARCHAR2,
1529 p_Attribute7 VARCHAR2,
1530 p_Attribute8 VARCHAR2,
1531 p_Attribute9 VARCHAR2,
1532 p_Attribute10 VARCHAR2,
1533 p_Attribute11 VARCHAR2,
1534 p_Attribute12 VARCHAR2,
1535 p_Attribute13 VARCHAR2,
1536 p_Attribute14 VARCHAR2,
1537 p_Attribute15 VARCHAR2,
1538 p_point_of_use_x NUMBER DEFAULT NULL,
1539 p_point_of_use_y NUMBER DEFAULT NULL,
1540 p_point_of_supply_x NUMBER DEFAULT NULL,
1541 p_point_of_supply_y NUMBER DEFAULT NULL,
1542 p_planning_update_status NUMBER DEFAULT NULL,
1543 p_auto_request VARCHAR2 DEFAULT NULL,
1544 p_Auto_Allocate_Flag NUMBER)--Added for 3905884.
1545 IS
1546 CURSOR Get_Current_Row IS
1547 SELECT *
1548 FROM MTL_KANBAN_PULL_SEQUENCES
1549 WHERE pull_sequence_id = p_pull_sequence_id
1550 FOR UPDATE of Organization_Id NOWAIT;
1551
1552 Recinfo MTL_KANBAN_PULL_SEQUENCES%ROWTYPE;
1553 RECORD_CHANGED EXCEPTION;
1554 BEGIN
1555 OPEN Get_Current_Row;
1556 FETCH Get_Current_Row INTO Recinfo;
1557 if (Get_Current_Row%NOTFOUND) then
1558 CLOSE Get_Current_Row;
1559 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
1560 APP_EXCEPTION.Raise_Exception;
1561 end if;
1562 CLOSE Get_Current_Row;
1563 if not (
1564 Recinfo.Inventory_item_id = p_Inventory_item_id and
1565 Recinfo.Organization_Id = p_Organization_Id and
1566 Recinfo.Subinventory_name = p_Subinventory_name and
1567 Recinfo.Kanban_Plan_id = p_Kanban_Plan_id and
1568 Recinfo.Source_type = p_Source_type and
1569 ((Recinfo.Locator_id = p_Locator_id)
1570 or (Recinfo.Locator_id is null and p_Locator_id is null)) and
1571 ((Recinfo.Supplier_id = p_Supplier_id)
1572 or (Recinfo.Supplier_id is null and p_Supplier_id is null)) and
1573 ((Recinfo.Supplier_site_id = p_Supplier_site_id)
1574 or (Recinfo.Supplier_site_id is null and p_Supplier_site_id is null)) and
1575 ((Recinfo.Source_Organization_id= p_Source_Organization_id)
1576 or (Recinfo.Source_Organization_id is null and p_Source_Organization_id is null)) and
1577 ((Recinfo.Source_Subinventory = p_Source_Subinventory)
1578 or (Recinfo.Source_Subinventory is null and p_Source_Subinventory is null)) and
1579 ((Recinfo.Source_Locator_id = p_Source_Locator_id)
1580 or (Recinfo.Source_Locator_id is null and p_Source_Locator_id is null)) and
1581 ((Recinfo.Wip_Line_id = p_Wip_Line_id)
1582 or (Recinfo.Wip_Line_id is null and p_Wip_Line_id is null)) and
1583 ((Recinfo.Release_Kanban_Flag = p_Release_Kanban_flag)
1584 or (Recinfo.Release_Kanban_flag is null and p_Release_Kanban_flag is null)) and
1585 ((Recinfo.Calculate_Kanban_Flag = p_Calculate_Kanban_flag)
1586 or (Recinfo.Calculate_Kanban_flag is null and p_Calculate_Kanban_flag is null)) and
1587 ((Recinfo.Kanban_size = p_Kanban_size)
1588 or (Recinfo.Kanban_size is null and p_Kanban_size is null)) and
1589 ((Recinfo.Number_of_cards = p_Number_of_cards)
1590 or (Recinfo.Number_of_cards is null and p_Number_of_cards is null)) and
1591 ((Recinfo.Minimum_order_quantity = p_Minimum_order_quantity)
1592 or (Recinfo.Minimum_order_quantity is null and p_Minimum_order_quantity is null)) and
1593 ((Recinfo.Aggregation_Type = p_Aggregation_Type)
1594 or (Recinfo.Aggregation_Type is null and p_Aggregation_Type is null)) and
1595 ((Recinfo.Allocation_Percent = p_Allocation_Percent)
1596 or (Recinfo.Allocation_Percent is null and p_Allocation_Percent is null)) and
1597 ((Recinfo.Replenishment_lead_time = p_Replenishment_lead_time)
1598 or (Recinfo.Replenishment_lead_time is null and p_Replenishment_lead_time is null)) and
1599 ((Recinfo.fixed_lot_multiplier = p_fixed_lot_multiplier)
1600 or (Recinfo.fixed_lot_multiplier is null and p_fixed_lot_multiplier is null)) and
1601 ((Recinfo.Safety_Stock_Days = p_Safety_Stock_Days)
1602 or (Recinfo.Safety_Stock_Days is null and p_Safety_Stock_Days is null)) and
1603 ((Recinfo.Updated_Flag = p_Updated_Flag)
1604 or (Recinfo.Updated_Flag is null and p_Updated_Flag is null)) and
1605 ((Recinfo.Attribute_Category = p_Attribute_Category)
1606 or (Recinfo.Attribute_Category is null and p_Attribute_Category is null))
1607 /*Fix for 3905884.*/
1608 and ((Recinfo.Auto_Allocate_Flag = p_Auto_Allocate_Flag)
1609 or (Recinfo.Auto_Allocate_Flag is null and p_Auto_Allocate_Flag is null)) /*End of fix for 3905884*/
1610 ) then
1611 RAISE RECORD_CHANGED;
1612 end if;
1613 if not (
1614 ( (Recinfo.attribute1 = p_Attribute1)
1615 OR ( (Recinfo.attribute1 IS NULL)
1616 AND (p_Attribute1 IS NULL)))
1617 AND ( (Recinfo.attribute2 = p_Attribute2)
1618 OR ( (Recinfo.attribute2 IS NULL)
1619 AND (p_Attribute2 IS NULL)))
1620 AND ( (Recinfo.attribute3 = p_Attribute3)
1621 OR ( (Recinfo.attribute3 IS NULL)
1622 AND (p_Attribute3 IS NULL)))
1623 AND ( (Recinfo.attribute4 = p_Attribute4)
1624 OR ( (Recinfo.attribute4 IS NULL)
1625 AND (p_Attribute4 IS NULL)))
1626 AND ( (Recinfo.attribute5 = p_Attribute5)
1627 OR ( (Recinfo.attribute5 IS NULL)
1628 AND (p_Attribute5 IS NULL)))
1629 AND ( (Recinfo.attribute6 = p_Attribute6)
1630 OR ( (Recinfo.attribute6 IS NULL)
1631 AND (p_Attribute6 IS NULL)))
1632 AND ( (Recinfo.attribute7 = p_Attribute7)
1633 OR ( (Recinfo.attribute7 IS NULL)
1634 AND (p_Attribute7 IS NULL)))
1635 AND ( (Recinfo.attribute8 = p_Attribute8)
1636 OR ( (Recinfo.attribute8 IS NULL)
1637 AND (p_Attribute8 IS NULL)))
1638 AND ( (Recinfo.attribute9 = p_Attribute9)
1639 OR ( (Recinfo.attribute9 IS NULL)
1640 AND (p_Attribute9 IS NULL)))
1641 AND ( (Recinfo.attribute10 = p_Attribute10)
1642 OR ( (Recinfo.attribute10 IS NULL)
1643 AND (p_Attribute10 IS NULL)))
1644 AND ( (Recinfo.attribute11 = p_Attribute11)
1645 OR ( (Recinfo.attribute11 IS NULL)
1646 AND (p_Attribute11 IS NULL)))
1647 AND ( (Recinfo.attribute12 = p_Attribute12)
1648 OR ( (Recinfo.attribute12 IS NULL)
1649 AND (p_Attribute12 IS NULL)))
1650 AND ( (Recinfo.attribute13 = p_Attribute13)
1651 OR ( (Recinfo.attribute13 IS NULL)
1652 AND (p_Attribute13 IS NULL)))
1653 AND ( (Recinfo.attribute14 = p_Attribute14)
1654 OR ( (Recinfo.attribute14 IS NULL)
1655 AND (p_Attribute14 IS NULL)))
1656 AND ( (Recinfo.attribute15 = p_Attribute15)
1657 OR ( (Recinfo.attribute15 IS NULL)
1658 AND (p_Attribute15 IS NULL)))
1659 ) then
1660 RAISE RECORD_CHANGED;
1661 end if;
1662
1663 IF NOT (
1664 ( (Recinfo.point_of_use_x = p_point_of_use_x)
1665 OR ( (Recinfo.point_of_use_x IS NULL)
1666 AND (p_point_of_use_x IS NULL)))
1667 AND ( (Recinfo.point_of_use_y = p_point_of_use_y)
1668 OR ( (Recinfo.point_of_use_y IS NULL)
1669 AND (p_point_of_use_y IS NULL)))
1670 AND ( (Recinfo.point_of_supply_x = p_point_of_supply_x)
1671 OR ( (Recinfo.point_of_supply_x IS NULL)
1672 AND (p_point_of_supply_x IS NULL)))
1673 AND ( (Recinfo.point_of_supply_x = p_point_of_supply_x)
1674 OR ( (Recinfo.point_of_supply_x IS NULL)
1675 AND (p_point_of_supply_x IS NULL)))
1676 AND ( (Recinfo.point_of_supply_y = p_point_of_supply_y)
1677 OR ( (Recinfo.point_of_supply_y IS NULL)
1678 AND (p_point_of_supply_y IS NULL)))
1679 AND ( (Recinfo.planning_update_status= p_planning_update_status)
1680 OR ( (Recinfo.planning_update_status IS NULL)
1681 AND (p_planning_update_status IS NULL)))
1682 AND ( (Recinfo.auto_request = p_auto_request)
1683 OR ( (Recinfo.auto_request IS NULL)
1684 AND (p_auto_request IS NULL)))
1685 ) THEN
1686 RAISE RECORD_CHANGED;
1687 END IF;
1688 exception
1689 WHEN RECORD_CHANGED THEN
1690 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
1691 APP_EXCEPTION.Raise_Exception;
1692 when others then
1693 raise;
1694 END Lock_Row;
1695 /*
1696 PROCEDURE Update_Row(x_return_status OUT NOCOPY VARCHAR2,
1697 p_Pull_Sequence_Id NUMBER,
1698 p_Inventory_item_id NUMBER,
1699 p_Organization_id NUMBER,
1700 p_Subinventory_name VARCHAR2,
1701 p_Kanban_Plan_id NUMBER,
1702 p_Source_type NUMBER,
1703 p_Last_Update_Date DATE,
1704 p_Last_Updated_By NUMBER,
1705 p_Creation_Date DATE,
1706 p_Created_By NUMBER,
1707 p_Last_Update_Login NUMBER,
1708 p_Locator_id NUMBER,
1709 p_Supplier_id NUMBER,
1710 p_Supplier_site_id NUMBER,
1711 p_Source_Organization_id NUMBER,
1712 p_Source_Subinventory VARCHAR2,
1713 p_Source_Locator_id NUMBER,
1714 p_Wip_Line_id NUMBER,
1715 p_Release_Kanban_flag NUMBER,
1716 p_Calculate_Kanban_flag NUMBER,
1717 p_Kanban_size NUMBER,
1718 p_Number_of_cards NUMBER,
1719 p_Minimum_order_quantity NUMBER,
1720 p_Aggregation_Type NUMBER,
1721 p_Allocation_Percent NUMBER,
1722 p_Replenishment_lead_time NUMBER,
1723 p_Fixed_Lot_multiplier NUMBER,
1724 p_Safety_Stock_Days NUMBER,
1725 p_Updated_Flag NUMBER,
1726 p_Attribute_Category VARCHAR2,
1727 p_Attribute1 VARCHAR2,
1728 p_Attribute2 VARCHAR2,
1729 p_Attribute3 VARCHAR2,
1730 p_Attribute4 VARCHAR2,
1731 p_Attribute5 VARCHAR2,
1732 p_Attribute6 VARCHAR2,
1733 p_Attribute7 VARCHAR2,
1734 p_Attribute8 VARCHAR2,
1735 p_Attribute9 VARCHAR2,
1736 p_Attribute10 VARCHAR2,
1737 p_Attribute11 VARCHAR2,
1738 p_Attribute12 VARCHAR2,
1739 p_Attribute13 VARCHAR2,
1740 p_Attribute14 VARCHAR2,
1741 p_Attribute15 VARCHAR2,
1742 p_point_of_use_x NUMBER DEFAULT NULL,
1743 p_point_of_use_y NUMBER DEFAULT NULL,
1744 p_point_of_supply_x NUMBER DEFAULT NULL,
1745 p_point_of_supply_y NUMBER DEFAULT NULL,
1746 p_planning_update_status NUMBER DEFAULT NULL,
1747 p_auto_request VARCHAR2 DEFAULT NULL,
1748 p_Auto_Allocate_Flag NUMBER DEFAULT NULL, --Bug3905884
1749 --eKanban Changes
1750 p_replenishment_type NUMBER DEFAULT NULL,
1751 p_future_card_size NUMBER DEFAULT NULL,
1752 p_future_no_of_cards NUMBER DEFAULT NULL,
1753 p_planning_effectivity DATE DEFAULT NULL,
1754 p_consolidation NUMBER DEFAULT NULL,
1755 p_consolidation_group VARCHAR2 DEFAULT NULL,
1756 p_avg_dependent_demand NUMBER DEFAULT NULL,
1757 p_avg_independent_demand NUMBER DEFAULT NULL)
1758
1759 IS
1760
1761 l_return_status varchar2(1) := FND_API.G_RET_STS_SUCCESS;
1762
1763 BEGIN
1764 FND_MSG_PUB.Initialize;
1765 UPDATE MTL_KANBAN_PULL_SEQUENCES
1766 SET
1767 Inventory_item_id = p_Inventory_item_id,
1768 Organization_Id = p_Organization_Id,
1769 Subinventory_name = p_Subinventory_name,
1770 Kanban_Plan_id = p_Kanban_Plan_id,
1771 Source_type = p_Source_type,
1772 Last_Update_Date = p_Last_Update_Date,
1773 Last_Updated_By = p_Last_Updated_By,
1774 Creation_Date = p_Creation_Date,
1775 Created_By = p_Created_By,
1776 Last_Update_Login = p_Last_Update_Login,
1777 Locator_id = p_Locator_id,
1778 Supplier_id = p_Supplier_id,
1779 Supplier_site_id = p_Supplier_site_id,
1780 Source_Organization_id = p_Source_Organization_id,
1781 Source_Subinventory = p_Source_Subinventory,
1782 Source_Locator_id = p_Source_Locator_id,
1783 Wip_Line_id = p_Wip_Line_id,
1784 Release_Kanban_Flag = p_Release_Kanban_flag,
1785 Calculate_Kanban_Flag = p_Calculate_Kanban_flag,
1786 Kanban_size = p_Kanban_size,
1787 Number_of_cards = p_Number_of_cards,
1788 Minimum_order_quantity = p_Minimum_order_quantity,
1789 Aggregation_Type = p_Aggregation_Type,
1790 Allocation_Percent = p_Allocation_Percent,
1791 Replenishment_lead_time = p_Replenishment_lead_time,
1792 Fixed_Lot_multiplier = p_Fixed_Lot_multiplier,
1793 Safety_Stock_Days = p_Safety_Stock_Days,
1794 Updated_Flag = p_Updated_Flag,
1795 Attribute_Category = p_Attribute_Category,
1796 Attribute1 = p_Attribute1,
1797 Attribute2 = p_Attribute2,
1798 Attribute3 = p_Attribute3,
1799 Attribute4 = p_Attribute4,
1800 Attribute5 = p_Attribute5,
1801 Attribute6 = p_Attribute6,
1802 Attribute7 = p_Attribute7,
1803 Attribute8 = p_Attribute8,
1804 Attribute9 = p_Attribute9,
1805 Attribute10 = p_Attribute10,
1806 Attribute11 = p_Attribute11,
1807 Attribute12 = p_Attribute12,
1808 Attribute13 = p_Attribute13,
1809 Attribute14 = p_Attribute14,
1810 Attribute15 = p_Attribute15,
1811 point_of_use_x = p_point_of_use_x,
1812 point_of_use_y = p_point_of_use_y,
1813 point_of_supply_x = p_point_of_supply_x,
1814 point_of_supply_y = p_point_of_supply_y,
1815 planning_update_status = p_planning_update_status,
1816 auto_request = p_auto_request,
1817 Auto_Allocate_Flag = p_Auto_Allocate_Flag, --Added for 3905884
1818 --eKanban Changes
1819 replenishment_type = p_replenishment_type,
1820 future_card_size = p_future_card_size,
1821 future_no_of_cards = p_future_no_of_cards,
1822 planning_effectivity = p_planning_effectivity,
1823 consolidation = p_consolidation,
1824 consolidation_group = p_consolidation_group,
1825 avg_dependent_demand = p_avg_dependent_demand,
1826 avg_independent_demand = p_avg_independent_demand
1827 WHERE pull_sequence_id = p_pull_sequence_id;
1828
1829 if (SQL%NOTFOUND) then
1830 Raise NO_DATA_FOUND;
1831 end if;
1832 x_return_status := l_return_status;
1833
1834 EXCEPTION
1835
1836 WHEN FND_API.G_EXC_ERROR THEN
1837
1838 x_return_status := FND_API.G_RET_STS_ERROR;
1839
1840 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1841
1842 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
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 , 'Update_Row'
1851 );
1852 END IF;
1853
1854 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1855
1856 END Update_Row;
1857 */
1858 PROCEDURE Update_Row(
1859 p_pull_sequence_rec INV_Kanban_PVT.Pull_sequence_Rec_Type)
1860 Is
1861
1862 l_return_status Varchar2(1);
1863
1864 Begin
1865 FND_MSG_PUB.Initialize;
1866 Update_Row(
1867 x_return_status =>l_return_status,
1868 p_pull_sequence_id =>p_Pull_sequence_Rec.pull_sequence_id,
1869 p_Inventory_item_id =>p_Pull_sequence_Rec.Inventory_item_id,
1870 p_Organization_id =>p_Pull_sequence_Rec.Organization_id,
1871 p_Subinventory_name =>p_Pull_sequence_Rec.Subinventory_name,
1872 p_Kanban_Plan_id =>p_Pull_sequence_Rec.Kanban_Plan_id,
1873 p_Source_type =>p_Pull_sequence_Rec.Source_type ,
1874 p_Last_Update_Date =>p_Pull_sequence_Rec.Last_Update_Date,
1875 p_Last_Updated_By =>p_Pull_sequence_Rec.Last_Updated_By,
1876 p_Creation_Date =>p_Pull_sequence_Rec.Creation_Date,
1877 p_Created_By =>p_Pull_sequence_Rec.Created_By,
1878 p_Last_Update_Login =>p_Pull_sequence_Rec.Last_Update_Login ,
1879 p_Locator_id =>p_Pull_sequence_Rec.Locator_id,
1880 p_Supplier_id =>p_Pull_sequence_Rec.Supplier_id,
1881 p_Supplier_site_id =>p_Pull_sequence_Rec.Supplier_site_id ,
1882 p_Source_Organization_id=>p_Pull_sequence_Rec.Source_Organization_id,
1883 p_Source_Subinventory =>p_Pull_sequence_Rec.Source_Subinventory,
1884 p_Source_Locator_id =>p_Pull_sequence_Rec.Source_Locator_id ,
1885 p_Wip_Line_id =>p_Pull_Sequence_Rec.Wip_Line_id ,
1886 p_Release_Kanban_Flag =>p_Pull_sequence_Rec.Release_Kanban_Flag,
1887 p_Calculate_Kanban_Flag =>p_Pull_sequence_Rec.Calculate_Kanban_Flag,
1888 p_Kanban_size =>p_Pull_sequence_Rec.Kanban_size ,
1889 p_Number_of_cards =>p_Pull_sequence_Rec.Number_of_cards ,
1890 p_Minimum_order_quantity=>p_Pull_sequence_Rec.Minimum_order_quantity,
1891 p_Aggregation_type =>p_Pull_sequence_Rec.Aggregation_type ,
1892 p_Allocation_Percent =>p_Pull_sequence_Rec.Allocation_Percent,
1893 p_Replenishment_lead_time=>p_Pull_sequence_Rec.Replenishment_lead_time,
1894 p_Fixed_Lot_multiplier =>p_Pull_sequence_Rec.Fixed_Lot_multiplier,
1895 p_Safety_Stock_Days =>p_Pull_sequence_Rec.Safety_Stock_Days ,
1896 p_Updated_Flag =>p_Pull_sequence_Rec.Updated_Flag ,
1897 p_Attribute_Category =>p_Pull_sequence_Rec.Attribute_Category,
1898 p_Attribute1 =>p_Pull_sequence_Rec.Attribute1 ,
1899 p_Attribute2 =>p_Pull_sequence_Rec.Attribute2 ,
1900 p_Attribute3 =>p_Pull_sequence_Rec.Attribute3 ,
1901 p_Attribute4 =>p_Pull_sequence_Rec.Attribute4 ,
1902 p_Attribute5 =>p_Pull_sequence_Rec.Attribute5 ,
1903 p_Attribute6 =>p_Pull_sequence_Rec.Attribute6 ,
1904 p_Attribute7 =>p_Pull_sequence_Rec.Attribute7 ,
1905 p_Attribute8 =>p_Pull_sequence_Rec.Attribute8 ,
1906 p_Attribute9 =>p_Pull_sequence_Rec.Attribute9 ,
1907 p_Attribute10 =>p_Pull_sequence_Rec.Attribute10 ,
1908 p_Attribute11 =>p_Pull_sequence_Rec.Attribute11 ,
1909 p_Attribute12 =>p_Pull_sequence_Rec.Attribute12 ,
1910 p_Attribute13 =>p_Pull_sequence_Rec.Attribute13 ,
1911 p_Attribute14 =>p_Pull_sequence_Rec.Attribute14 ,
1912 p_Attribute15 =>p_Pull_sequence_Rec.Attribute15 ,
1913 p_point_of_use_x =>p_Pull_sequence_Rec.point_of_use_x ,
1914 p_point_of_use_y =>p_Pull_sequence_Rec.point_of_use_y ,
1915 p_point_of_supply_x =>p_Pull_sequence_Rec.point_of_supply_x ,
1916 p_point_of_supply_y =>p_Pull_sequence_Rec.point_of_supply_y ,
1917 p_planning_update_status =>p_Pull_sequence_Rec.planning_update_status,
1918 p_auto_request =>p_Pull_sequence_Rec.auto_request,
1919 p_Auto_Allocate_Flag =>p_Pull_sequence_Rec.Auto_Allocate_Flag, --Added for 3905884.
1920 --eKanban Changes
1921 p_replenishment_type =>p_Pull_sequence_Rec.replenishment_type,
1922 p_future_card_size =>p_Pull_sequence_Rec.future_card_size,
1923 p_future_no_of_cards =>p_Pull_sequence_Rec.future_no_of_cards,
1924 p_planning_effectivity =>p_Pull_sequence_Rec.planning_effectivity,
1925 p_consolidation =>p_Pull_sequence_Rec.consolidation,
1926 p_consolidation_group =>p_Pull_sequence_Rec.consolidation_group,
1927 p_avg_dependent_demand =>p_Pull_sequence_Rec.avg_dependent_demand,
1928 p_avg_independent_demand =>p_Pull_sequence_Rec.avg_independent_demand,
1929 p_last_imp_plan =>p_Pull_sequence_Rec.last_implemented_plan,
1930 p_imp_plan_start_date =>p_Pull_sequence_Rec.plan_start_date,
1931 p_imp_plan_end_date =>p_Pull_sequence_Rec.plan_end_date,
1932 p_no_of_temp_card =>null,
1933 p_no_of_temp_cycle =>null,
1934 p_temp_exp_date =>null );
1935
1936 if l_return_status = FND_API.G_RET_STS_ERROR
1937 Then
1938 Raise FND_API.G_EXC_ERROR;
1939 End if;
1940
1941 if l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
1942 Then
1943 Raise FND_API.G_EXC_UNEXPECTED_ERROR;
1944 End If;
1945
1946 EXCEPTION
1947
1948 WHEN FND_API.G_EXC_ERROR THEN
1949
1950 Raise FND_API.G_EXC_ERROR;
1951
1952 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1953
1954 Raise FND_API.G_EXC_UNEXPECTED_ERROR;
1955
1956 WHEN OTHERS THEN
1957
1958 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1959 THEN
1960 FND_MSG_PUB.Add_Exc_Msg
1961 ( G_PKG_NAME
1962 , 'Update_Row'
1963 );
1964 END IF;
1965 Raise FND_API.G_EXC_UNEXPECTED_ERROR;
1966
1967 END Update_Row;
1968
1969 PROCEDURE Delete_Row(x_return_status OUT NOCOPY VARCHAR2,
1970 p_Pull_Sequence_Id Number)
1971 IS
1972 l_return_status varchar2(1) := FND_API.G_RET_STS_ERROR;
1973
1974 BEGIN
1975 FND_MSG_PUB.Initialize;
1976 if INV_Kanban_PVT.Ok_To_Delete_Pull_Sequence(p_pull_sequence_Id)
1977 then
1978
1979 DELETE FROM MTL_KANBAN_PULL_SEQUENCES
1980 WHERE pull_sequence_id = p_pull_sequence_id;
1981
1982 if (SQL%NOTFOUND) then
1983 Raise FND_API.G_EXC_UNEXPECTED_ERROR;
1984 else
1985 l_return_status := FND_API.G_RET_STS_SUCCESS;
1986 end if;
1987 else
1988 Raise FND_API.G_EXC_ERROR;
1989 end if;
1990
1991 -- eKanban changes
1992 -- Delete all suppliers for the pull sequence
1993
1994 DELETE FROM MTL_PULL_SEQ_SUPPLIERS
1995 WHERE pull_sequence_id = p_pull_sequence_id;
1996
1997 x_return_status := l_return_status;
1998
1999 EXCEPTION
2000 WHEN FND_API.G_EXC_ERROR THEN
2001
2002 x_return_status := FND_API.G_RET_STS_ERROR;
2003
2004 WHEN OTHERS THEN
2005
2006 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2007 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2008 THEN
2009 FND_MSG_PUB.Add_Exc_Msg
2010 ( G_PKG_NAME
2011 , 'Delete_Row'
2012 );
2013 END IF;
2014
2015 END Delete_Row;
2016
2017 END INV_PullSequence_PKG;