1 PACKAGE BODY WSM_Serial_support_GRP AS
2 /* $Header: WSMGSERB.pls 120.6 2012/01/13 12:42:48 akuppa ship $ */
3
4 g_log_level_unexpected NUMBER := FND_LOG.LEVEL_UNEXPECTED ;
5 g_log_level_error number := FND_LOG.LEVEL_ERROR ;
6 g_log_level_exception number := FND_LOG.LEVEL_EXCEPTION ;
7 g_log_level_event number := FND_LOG.LEVEL_EVENT ;
8 g_log_level_procedure number := FND_LOG.LEVEL_PROCEDURE ;
9 g_log_level_statement number := FND_LOG.LEVEL_STATEMENT ;
10
11 g_msg_lvl_unexp_error NUMBER := FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ;
12 g_msg_lvl_error NUMBER := FND_MSG_PUB.G_MSG_LVL_ERROR ;
13 g_msg_lvl_success NUMBER := FND_MSG_PUB.G_MSG_LVL_SUCCESS ;
14 g_msg_lvl_debug_high NUMBER := FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH ;
15 g_msg_lvl_debug_medium NUMBER := FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM ;
16 g_msg_lvl_debug_low NUMBER := FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW ;
17
18 g_ret_success varchar2(1) := FND_API.G_RET_STS_SUCCESS;
19 g_ret_error varchar2(1) := FND_API.G_RET_STS_ERROR;
20 g_ret_unexpected varchar2(1) := FND_API.G_RET_STS_UNEXP_ERROR;
21
22 -- This procedure will be invoked by the WIP move processor (for interface transactions)
23 -- If the transaction type is an undo/assembly return transaction populate_components will be invoked.
24 -- Or else the WIP API wip_movProc_grp.backflushIntoMTI will be invoked which would derive backflush components..
25
26 Procedure backflush_comp(p_wipEntityID IN NUMBER,
27 p_orgID IN NUMBER,
28 p_primaryQty IN NUMBER,
29 p_txnDate IN DATE,
30 p_txnHdrID IN NUMBER,
31 p_txnType IN NUMBER,
32 p_fmOp IN NUMBER,
33 p_fmStep IN NUMBER,
34 p_toOp IN NUMBER,
35 p_toStep IN NUMBER,
36 p_movTxnID IN NUMBER,
37 p_cplTxnID IN NUMBER:= NULL,
38 p_mtlTxnMode IN NUMBER,
39 p_reasonID IN NUMBER := NULL,
40 p_reference IN VARCHAR2 := NULL,
41 p_init_msg_list IN VARCHAR2,
42 x_lotSerRequired OUT NOCOPY NUMBER,
43 x_returnStatus OUT NOCOPY VARCHAR2,
44 x_error_msg OUT NOCOPY VARCHAR2,
45 x_error_count OUT NOCOPY NUMBER
46 )
47 IS
48
49 l_job_type NUMBER;
50
51 -- Logging variables.....
52 l_msg_tokens WSM_Log_PVT.token_rec_tbl;
53 l_log_level number := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
54
55 l_stmt_num NUMBER;
56 l_module VARCHAR2(100) := 'wsm.plsql.WSM_Serial_support_GRP.backflush_comp';
57 -- Logging variables....
58
59 BEGIN
60 l_stmt_num := 10;
61
62 x_returnStatus := G_RET_SUCCESS;
63 x_error_msg := NULL;
64 x_error_count := 0;
65
66 select entity_type
67 into l_job_type
68 from wip_entities WE
69 where WE.wip_entity_id = p_wipEntityID
70 and WE.organization_id = p_orgID;
71
72 l_stmt_num := 20;
73
74 -- if it is a Lot based job undo/return transaction then, call WSM API
75 if (l_job_type = 5) and
76 (p_txnType = 3 OR ( (p_fmOp > p_toOp)
77 OR
78 ( (p_fmOp = p_toOp) and (p_fmStep > p_toStep) )
79 )
80 )
81 then
82 l_stmt_num := 30;
83
84
85 IF (G_LOG_LEVEL_STATEMENT >= l_log_level) THEN
86 l_msg_tokens.delete;
87 WSM_log_PVT.logMessage (p_module_name => l_module ,
88 p_msg_text => 'Invoking populate_components',
89 p_stmt_num => l_stmt_num ,
90 p_msg_tokens => l_msg_tokens ,
91 p_fnd_log_level => G_LOG_LEVEL_STATEMENT ,
92 p_run_log_level => l_log_level
93 );
94 END IF;
95
96 populate_components(p_wip_entity_id => p_wipEntityID,
97 p_organization_id => p_orgId,
98 p_move_txn_id => p_movTxnID,
99 p_move_txn_type => p_txnType,
100 p_txn_date => p_txnDate,
101 p_mtl_txn_hdr_id => p_txnHdrID,
102 p_compl_txn_id => p_cplTxnID,
103 x_return_status => x_returnStatus ,
104 x_error_count => x_error_msg ,
105 x_error_msg => x_error_count
106 );
107
108 if x_returnStatus <> G_RET_SUCCESS then
109 IF x_returnStatus = G_RET_ERROR THEN
110 raise FND_API.G_EXC_ERROR;
111 ELSIF x_returnStatus = G_RET_UNEXPECTED THEN
112 raise FND_API.G_EXC_UNEXPECTED_ERROR;
113 END IF;
114 end if;
115 l_stmt_num := 40;
116 else
117
118 l_stmt_num := 50;
119
120 IF (G_LOG_LEVEL_STATEMENT >= l_log_level) THEN
121 l_msg_tokens.delete;
122 WSM_log_PVT.logMessage (p_module_name => l_module ,
123 p_msg_text => 'Invoking wip_movProc_grp.backflushIntoMTI',
124 p_stmt_num => l_stmt_num ,
125 p_msg_tokens => l_msg_tokens ,
126 p_fnd_log_level => G_LOG_LEVEL_STATEMENT ,
127 p_run_log_level => l_log_level
128 );
129 END IF;
130
131 -- else call WIP procedure.. (Please refer the WIP MED here )
132 wip_movProc_grp.backflushIntoMTI ( p_wipEntityID => p_wipEntityID ,
133 p_orgID => p_orgID ,
134 p_primaryQty => p_primaryQty ,
135 p_txnDate => p_txnDate ,
136 p_txnHdrID => p_txnHdrID ,
137 p_txnType => p_txnType ,
138 p_fmOp => p_fmOp ,
139 p_fmStep => p_fmStep ,
140 p_toOp => p_toOp ,
141 p_toStep => p_toStep ,
142 p_movTxnID => p_movTxnID ,
143 p_cplTxnID => p_cplTxnID ,
144 p_mtlTxnMode => p_mtlTxnMode ,
145 p_reasonID => p_reasonID ,
146 p_reference => p_reference ,
147 x_lotSerRequired => x_lotSerRequired ,
148 x_returnStatus => x_returnStatus
149 );
150
151 if x_returnStatus <> G_RET_SUCCESS then
152 IF x_returnStatus = G_RET_ERROR THEN
153 raise FND_API.G_EXC_ERROR;
154 ELSIF x_returnStatus = G_RET_UNEXPECTED THEN
155 raise FND_API.G_EXC_UNEXPECTED_ERROR;
156 END IF;
157 end if;
158
159 l_stmt_num := 60;
160 end if;
161 EXCEPTION
162
163 WHEN FND_API.G_EXC_ERROR THEN
164
165 x_returnStatus := G_RET_ERROR;
166 FND_MSG_PUB.Count_And_Get( p_encoded => 'F' ,
167 p_count => x_error_count ,
168 p_data => x_error_msg
169 );
170
171 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
172
173 x_returnStatus := G_RET_UNEXPECTED;
174
175 FND_MSG_PUB.Count_And_Get( p_encoded => 'F' ,
176 p_count => x_error_count ,
177 p_data => x_error_msg
178 );
179 WHEN OTHERS THEN
180
181 x_returnStatus := G_RET_UNEXPECTED;
182
183 IF (G_LOG_LEVEL_UNEXPECTED >= l_log_level) OR
184 (FND_MSG_PUB.check_msg_level(G_MSG_LVL_UNEXP_ERROR))
185 THEN
186 WSM_log_PVT.handle_others( p_module_name => l_module ,
187 p_stmt_num => l_stmt_num ,
188 p_fnd_log_level => G_LOG_LEVEL_UNEXPECTED ,
189 p_run_log_level => l_log_level
190 );
191 END IF;
192
193 FND_MSG_PUB.Count_And_Get( p_encoded => 'F' ,
194 p_count => x_error_count ,
195 p_data => x_error_msg
196 );
197 END backflush_comp;
198
199 -- Populate MMTT,MTLT and MSNT for an assembly return/undo transaction for a lot based job
200 -- based on the previous move transaction records in MMT,MTL,MUT.
201
202 procedure populate_components(p_wip_entity_id IN NUMBER,
203 p_organization_id IN NUMBER,
204 p_move_txn_id IN NUMBER,
205 p_move_txn_type IN NUMBER,
206 p_txn_date IN DATE,
207 p_mtl_txn_hdr_id IN NUMBER,
208 p_compl_txn_id IN NUMBER,
209 x_return_status OUT NOCOPY VARCHAR2,
210 x_error_count OUT NOCOPY NUMBER,
211 x_error_msg OUT NOCOPY VARCHAR2
212 )
213
214
215 IS
216 l_user_id NUMBER := FND_GLOBAL.user_id;
217 l_login_id NUMBER := fnd_global.login_id;
218 l_req_id NUMBER := fnd_global.conc_request_id;
219
220 l_prog_appl_id NUMBER := fnd_global.prog_appl_id;
221 l_prog_id NUMBER := fnd_global.conc_program_id;
222
223 l_lot_controlled NUMBER;
224 l_serial_txn_id NUMBER;
225 l_scrap_txn_id NUMBER;
226 l_move_txn_id NUMBER;
227 l_acct_period_id NUMBER;
228 l_temp_id NUMBER;
229
230 cursor c_mmt_txn is
231 SELECT TRANSACTION_ID
232 FROM MTL_MATERIAL_TRANSACTIONS MMT
233 WHERE MMT.organization_id = p_organization_id
234 AND MMT.move_transaction_id IN (l_move_txn_id,l_scrap_txn_id)
235 AND MMT.transaction_source_id = p_wip_entity_id
236 AND MMT.subinventory_code IS NOT NULL
237 AND MMT.transaction_type_id IN (WIP_CONSTANTS.ISSCOMP_TYPE, -- 35 -- WIP Component Issue
238 WIP_CONSTANTS.ISSNEGC_TYPE -- 38 -- Negative component issue
239 );
240
241 -- Transaction types
242 -- ISSCOMP_TYPE CONSTANT NUMBER := 35; -- Components taken out of INV
243 -- BFLREPL_TYPE CONSTANT NUMBER := 51; -- Backflush replenishment
244 -- COSTUPD_TYPE CONSTANT NUMBER := 25; -- Cost update
245 -- RETCOMP_TYPE CONSTANT NUMBER := 43; -- Components put into INV
246 -- SCRASSY_TYPE CONSTANT NUMBER := 90; -- Assembly scrap
247 -- CPLASSY_TYPE CONSTANT NUMBER := 44; -- Assemblies put into INV
248 -- RETASSY_TYPE CONSTANT NUMBER := 17; -- Assemblies taken out of INV
249 -- ISSNEGC_TYPE CONSTANT NUMBER := 38; -- Negative component issue
250 -- RETNEGC_TYPE CONSTANT NUMBER := 48; -- Negative component return
251 --Bug 5614015: added rowid in the cursor c_lot_txn
252 cursor c_lot_txn(v_txn_id IN NUMBER) IS
253 SELECT TRANSACTION_ID,
254 SERIAL_TRANSACTION_ID,
255 LOT_NUMBER,
256 ROWID
257 from mtl_transaction_lot_numbers MTLN
258 where MTLN.organization_id = p_organization_id
259 and MTLN.transaction_id = v_txn_id;
260
261 l_open_past_period BOOLEAN := false;
262
263 -- Logging variables.....
264 l_msg_tokens WSM_Log_PVT.token_rec_tbl;
265 l_log_level number := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
266
267 l_stmt_num NUMBER;
268 l_module VARCHAR2(100) := 'wsm.plsql.WSM_SERIAL_SUPPORT_GRP.populate_components';
269 l_param_tbl WSM_Log_PVT.param_tbl_type;
270 -- Logging variables...
271
272 BEGIN
273 l_stmt_num := 10;
274
275 x_return_status := G_RET_SUCCESS;
276 x_error_msg := NULL;
277 x_error_count := 0;
278
279 IF (G_LOG_LEVEL_PROCEDURE >= l_log_level) THEN
280 l_param_tbl.delete;
281 l_param_tbl(1).paramName := 'p_move_txn_id';
282 l_param_tbl(1).paramValue := p_move_txn_id;
283
284 l_param_tbl(2).paramName := 'p_mtl_txn_hdr_id';
285 l_param_tbl(2).paramValue := p_mtl_txn_hdr_id;
286
287 l_param_tbl(3).paramName := 'p_organization_id';
288 l_param_tbl(3).paramValue := p_organization_id;
289
290 l_param_tbl(4).paramName := 'p_wip_entity_id';
291 l_param_tbl(4).paramValue := p_wip_entity_id;
292
293 WSM_Log_PVT.logProcParams(p_module_name => 'wsm.plsql.WSM_SERIAL_SUPPORT_GRP.populate_components',
294 p_param_tbl => l_param_tbl,
295 p_fnd_log_level => l_log_level
296 );
297 END IF;
298
299 l_stmt_num := 20;
300
301 invttmtx.tdatechk(org_id => p_organization_id,
302 transaction_date => p_txn_date,
303 period_id => l_acct_period_id,
304 open_past_period => l_open_past_period
305 );
306
307
308 if(l_acct_period_id is null or
309 l_acct_period_id <= 0)
310 then
311 l_stmt_num := 30;
312
313 IF g_log_level_error >= l_log_level OR
314 FND_MSG_PUB.check_msg_level(G_MSG_LVL_ERROR)
315 THEN
316
317 l_msg_tokens.delete;
318 WSM_log_PVT.logMessage(p_module_name => l_module ,
319 p_msg_name => 'INV_NO_OPEN_PERIOD' ,
320 p_msg_appl_name => 'INV' ,
321 p_msg_tokens => l_msg_tokens ,
322 p_stmt_num => l_stmt_num ,
323 p_fnd_msg_level => G_MSG_LVL_ERROR ,
324 p_fnd_log_level => G_LOG_LEVEL_ERROR ,
325 p_run_log_level => l_log_level
326 );
327 END IF;
328 RAISE FND_API.G_EXC_ERROR;
329
330 end if;
331
332 -- get a txn header id..
333 -- No will be passed...
334 /*SELECT mtl_material_transactions_s.nextval
335 into p_mtl_txn_hdr_id
336 from dual;
337 */
338
339 /* Have to be passed....
340 if p_move_txn_type = wip_constants.RET_TXN then
341 SELECT mtl_material_transactions_s.nextval
342 into p_compl_txn_id
343 from dual;
344 end if;
345 */
346
347 -- could be a move and scrap transaction too...
348 -- get the move transaction id alone...
349 l_stmt_num := 40;
350
351 --Bug 5215899: Handle null value for batch_id.
352 select max(wmt.transaction_id)
353 into l_move_txn_id
354 from wip_move_transactions wmt
355 where wmt.organization_id = p_organization_id
356 and wmt.wip_entity_id = p_wip_entity_id
357 and wmt.wsm_undo_txn_id IS NULL
358 and wmt.transaction_id = nvl(wmt.batch_id,wmt.transaction_id)
359 and wmt.transaction_id <> p_move_txn_id;
360
361 begin
362 select wmt.transaction_id
363 into l_scrap_txn_id
364 from wip_move_transactions wmt
365 where wmt.organization_id = p_organization_id
366 and wmt.wip_entity_id = p_wip_entity_id
367 and wmt.wsm_undo_txn_id IS NULL
368 and wmt.transaction_id <> p_move_txn_id
369 and wmt.transaction_id <> wmt.batch_id
370 and wmt.batch_id = l_move_txn_id;
371 exception
372 when no_data_found then
373 null;
374 end;
375
376 l_stmt_num := 50;
377
378 IF (G_LOG_LEVEL_STATEMENT >= l_log_level) THEN
379 l_msg_tokens.delete;
380 WSM_log_PVT.logMessage (p_module_name => l_module ,
381 p_msg_text => 'Old Transaction Values : Move Transaction ID : ' || l_move_txn_id || ' Scrap Transaction ID : ' || l_scrap_txn_id,
382 p_stmt_num => l_stmt_num ,
383 p_msg_tokens => l_msg_tokens ,
384 p_fnd_log_level => G_LOG_LEVEL_STATEMENT ,
385 p_run_log_level => l_log_level
386 );
387 END IF;
388
389 for l_mmt_rec in c_mmt_txn loop
390
391 l_stmt_num := 60;
392 select mtl_material_transactions_s.nextval
393 into l_temp_id
394 from dual;
395
396 IF (G_LOG_LEVEL_STATEMENT >= l_log_level) THEN
397 l_msg_tokens.delete;
398 WSM_log_PVT.logMessage (p_module_name => l_module ,
399 p_msg_text => 'MMTT Transaction ID : ' || l_temp_id,
400 p_stmt_num => l_stmt_num ,
401 p_msg_tokens => l_msg_tokens ,
402 p_fnd_log_level => G_LOG_LEVEL_STATEMENT ,
403 p_run_log_level => l_log_level
404 );
405 END IF;
406
407 l_stmt_num := 70;
408 -- Insert into MMTT
409 INSERT INTO mtl_material_transactions_temp
410 (
411 TRANSACTION_HEADER_ID,
412 TRANSACTION_TEMP_ID,
413 SOURCE_CODE,
414 SOURCE_LINE_ID,
415 PROCESS_FLAG,
416 POSTING_FLAG,
417 --WIP_COMMIT_FLAG,
418 CREATION_DATE,
419 CREATED_BY,
420 LAST_UPDATE_DATE,
421 LAST_UPDATED_BY,
422 LAST_UPDATE_LOGIN,
423 PROGRAM_ID,
424 PROGRAM_UPDATE_DATE,
425 PROGRAM_APPLICATION_ID,
426 REQUEST_ID,
427 ORGANIZATION_ID,
428 SUBINVENTORY_CODE,
429 LOCATOR_ID,
430 INVENTORY_ITEM_ID,
431 REVISION,
432 TRANSACTION_TYPE_ID,
433 TRANSACTION_ACTION_ID,
434 TRANSACTION_SOURCE_TYPE_ID,
435 TRANSACTION_SOURCE_ID,
436 TRANSACTION_SOURCE_NAME,
437 TRANSACTION_REFERENCE,
438 REASON_ID,
439 TRANSACTION_DATE,
440 ACCT_PERIOD_ID,
441 TRANSACTION_QUANTITY,
442 TRANSACTION_UOM,
443 PRIMARY_QUANTITY,
444 OPERATION_SEQ_NUM,
445 DEPARTMENT_ID,
446 EMPLOYEE_CODE,
447 WIP_ENTITY_TYPE,
448 COMPLETION_TRANSACTION_ID,
449 /*
450 Bug 12429485. Don't Copy the DFF Attributes from previous transaction.
451 ATTRIBUTE_CATEGORY,
452 ATTRIBUTE1,
453 ATTRIBUTE2,
454 ATTRIBUTE3,
455 ATTRIBUTE4,
456 ATTRIBUTE5,
457 ATTRIBUTE6,
458 ATTRIBUTE7,
459 ATTRIBUTE8,
460 ATTRIBUTE9,
461 ATTRIBUTE10,
462 ATTRIBUTE11,
463 ATTRIBUTE12,
464 ATTRIBUTE13,
465 ATTRIBUTE14,
466 ATTRIBUTE15,
467 */
468 MOVEMENT_ID,
469 SOURCE_PROJECT_ID,
470 SOURCE_TASK_ID,
471 PROJECT_ID,
472 TASK_ID,
473 MOVE_TRANSACTION_ID --Bug 5207917
474 )
475 SELECT
476 p_mtl_txn_hdr_id,
477 l_temp_id,
478 MMT.SOURCE_CODE,
479 MMT.SOURCE_LINE_ID,
480 'Y', -- PROCESS_FLAG,
481 'Y',-- POSTING_FLAG,
482 --'N',-- WIP_COMMIT_FLAG,
483 sysdate,
484 l_user_id,
485 sysdate,
486 l_user_id,
487 l_login_id,
488 l_prog_id,
489 sysdate,
490 l_prog_appl_id,
491 l_req_id,
492 MMT.ORGANIZATION_ID,
493 MMT.SUBINVENTORY_CODE,
494 MMT.LOCATOR_ID,
495 MMT.INVENTORY_ITEM_ID,
496 MMT.REVISION,
497 decode(MMT.TRANSACTION_ACTION_ID,wip_constants.issnegc_action,
498 wip_constants.retnegc_type,
499 wip_constants.retcomp_type
500
501 ),
502 decode(MMT.TRANSACTION_ACTION_ID,wip_constants.issnegc_action,
503 wip_constants.retnegc_action,
504 wip_constants.retcomp_action
505
506 ),
507 MMT.TRANSACTION_SOURCE_TYPE_ID,
508 MMT.TRANSACTION_SOURCE_ID,
509 MMT.TRANSACTION_SOURCE_NAME,
510 MMT.TRANSACTION_REFERENCE,
511 MMT.REASON_ID,
512 p_txn_date, -- transaction date
513 l_acct_period_id, -- accout period id...
514 -1 * MMT.TRANSACTION_QUANTITY,
515 MMT.TRANSACTION_UOM,
516 -1 * MMT.PRIMARY_QUANTITY,
517 MMT.OPERATION_SEQ_NUM,
518 MMT.DEPARTMENT_ID,
519 MMT.EMPLOYEE_CODE,
520 5, --MMT.WIP_ENTITY_TYPE,
521 p_compl_txn_id,
522 /*
523 Bug 12429485. Don't Copy the DFF Attributes from previous transaction.
524 MMT.ATTRIBUTE_CATEGORY,
525 MMT.ATTRIBUTE1,
526 MMT.ATTRIBUTE2,
527 MMT.ATTRIBUTE3,
528 MMT.ATTRIBUTE4,
529 MMT.ATTRIBUTE5,
530 MMT.ATTRIBUTE6,
531 MMT.ATTRIBUTE7,
532 MMT.ATTRIBUTE8,
533 MMT.ATTRIBUTE9,
534 MMT.ATTRIBUTE10,
535 MMT.ATTRIBUTE11,
536 MMT.ATTRIBUTE12,
537 MMT.ATTRIBUTE13,
538 MMT.ATTRIBUTE14,
539 MMT.ATTRIBUTE15,
540 */
541 MMT.MOVEMENT_ID,
542 MMT.SOURCE_PROJECT_ID,
543 MMT.SOURCE_TASK_ID,
544 MMT.PROJECT_ID,
545 MMT.TASK_ID,
546 p_move_txn_id --Bug 5207917
547 FROM MTL_MATERIAL_TRANSACTIONS MMT
548 WHERE TRANSACTION_ID = l_mmt_rec.transaction_id;
549
550 IF (G_LOG_LEVEL_STATEMENT >= l_log_level) THEN
551 l_msg_tokens.delete;
552 WSM_log_PVT.logMessage (p_module_name => l_module ,
553 p_msg_text => 'Inserted : ' || SQL%ROWCOUNT || ' rows into MMTT',
554 p_stmt_num => l_stmt_num ,
555 p_msg_tokens => l_msg_tokens ,
556 p_fnd_log_level => G_LOG_LEVEL_STATEMENT ,
557 p_run_log_level => l_log_level
558 );
559 END IF;
560
561 l_stmt_num := 80;
562 l_lot_controlled := 0;
563 -- Now obtain the the Lot
564 for l_lot_txn_rec in c_lot_txn(l_mmt_rec.transaction_id) loop
565
566 l_stmt_num := 90;
567
568 l_lot_controlled := 1;
569 if l_lot_txn_rec.serial_transaction_id is not null then
570 l_stmt_num := 100;
571 select mtl_material_transactions_s.nextval
572 into l_serial_txn_id
573 from dual;
574 else
575 l_stmt_num := 110;
576 l_serial_txn_id := null;
577 end if;
578
579 l_stmt_num := 120;
580 insert into mtl_transaction_lots_temp
581 (
582 TRANSACTION_TEMP_ID ,
583 LAST_UPDATE_DATE ,
584 LAST_UPDATED_BY ,
585 CREATION_DATE ,
586 CREATED_BY ,
587 LAST_UPDATE_LOGIN ,
588 REQUEST_ID ,
589 PROGRAM_APPLICATION_ID ,
590 PROGRAM_ID ,
591 PROGRAM_UPDATE_DATE ,
592 TRANSACTION_QUANTITY ,
593 PRIMARY_QUANTITY ,
594 LOT_NUMBER ,
595 SERIAL_TRANSACTION_TEMP_ID ,
596 DESCRIPTION ,
597 VENDOR_NAME ,
598 SUPPLIER_LOT_NUMBER ,
599 ORIGINATION_DATE ,
600 DATE_CODE ,
601 GRADE_CODE ,
602 CHANGE_DATE ,
603 MATURITY_DATE ,
604 STATUS_ID ,
605 RETEST_DATE ,
606 AGE ,
607 ITEM_SIZE ,
608 COLOR ,
609 VOLUME ,
610 VOLUME_UOM ,
611 PLACE_OF_ORIGIN ,
612 BEST_BY_DATE ,
613 LENGTH ,
614 LENGTH_UOM ,
615 RECYCLED_CONTENT ,
616 THICKNESS ,
617 THICKNESS_UOM ,
618 WIDTH ,
619 WIDTH_UOM ,
620 CURL_WRINKLE_FOLD ,
621 LOT_ATTRIBUTE_CATEGORY ,
622 C_ATTRIBUTE1 ,
623 C_ATTRIBUTE2 ,
624 C_ATTRIBUTE3 ,
625 C_ATTRIBUTE4 ,
626 C_ATTRIBUTE5 ,
627 C_ATTRIBUTE6 ,
628 C_ATTRIBUTE7 ,
629 C_ATTRIBUTE8 ,
630 C_ATTRIBUTE9 ,
631 C_ATTRIBUTE10 ,
632 C_ATTRIBUTE11 ,
633 C_ATTRIBUTE12 ,
634 C_ATTRIBUTE13 ,
635 C_ATTRIBUTE14 ,
636 C_ATTRIBUTE15 ,
637 C_ATTRIBUTE16 ,
638 C_ATTRIBUTE17 ,
639 C_ATTRIBUTE18 ,
640 C_ATTRIBUTE19 ,
641 C_ATTRIBUTE20 ,
642 D_ATTRIBUTE1 ,
643 D_ATTRIBUTE2 ,
644 D_ATTRIBUTE3 ,
645 D_ATTRIBUTE4 ,
646 D_ATTRIBUTE5 ,
647 D_ATTRIBUTE6 ,
648 D_ATTRIBUTE7 ,
649 D_ATTRIBUTE8 ,
650 D_ATTRIBUTE9 ,
651 D_ATTRIBUTE10 ,
652 N_ATTRIBUTE1 ,
653 N_ATTRIBUTE2 ,
654 N_ATTRIBUTE3 ,
655 N_ATTRIBUTE4 ,
656 N_ATTRIBUTE5 ,
657 N_ATTRIBUTE6 ,
658 N_ATTRIBUTE7 ,
659 N_ATTRIBUTE8 ,
660 N_ATTRIBUTE9 ,
661 N_ATTRIBUTE10 ,
662 VENDOR_ID ,
663 TERRITORY_CODE ,
664 PRODUCT_CODE ,
665 PRODUCT_TRANSACTION_ID ,
666 ATTRIBUTE_CATEGORY ,
667 ATTRIBUTE1 ,
668 ATTRIBUTE2 ,
669 ATTRIBUTE3 ,
670 ATTRIBUTE4 ,
671 ATTRIBUTE5 ,
672 ATTRIBUTE6 ,
673 ATTRIBUTE7 ,
674 ATTRIBUTE8 ,
675 ATTRIBUTE9 ,
676 ATTRIBUTE10 ,
677 ATTRIBUTE11 ,
678 ATTRIBUTE12 ,
679 ATTRIBUTE13 ,
680 ATTRIBUTE14 ,
681 ATTRIBUTE15 --,
682 )
683 SELECT
684 l_temp_id ,
685 sysdate ,
686 l_user_id ,
687 sysdate ,
688 l_user_id ,
689 l_login_id ,
690 l_req_id ,
691 l_prog_appl_id ,
692 l_prog_id ,
693 sysdate ,
694 -1 * TRANSACTION_QUANTITY ,
695 -1 * PRIMARY_QUANTITY ,
696 LOT_NUMBER ,
697 l_serial_txn_id ,
698 DESCRIPTION ,
699 VENDOR_NAME ,
700 SUPPLIER_LOT_NUMBER ,
701 ORIGINATION_DATE ,
702 DATE_CODE ,
703 GRADE_CODE ,
704 CHANGE_DATE ,
705 MATURITY_DATE ,
706 STATUS_ID ,
707 RETEST_DATE ,
708 AGE ,
709 ITEM_SIZE ,
710 COLOR ,
711 VOLUME ,
712 VOLUME_UOM ,
713 PLACE_OF_ORIGIN ,
714 BEST_BY_DATE ,
715 LENGTH ,
716 LENGTH_UOM ,
717 RECYCLED_CONTENT ,
718 THICKNESS ,
719 THICKNESS_UOM ,
720 WIDTH ,
721 WIDTH_UOM ,
722 CURL_WRINKLE_FOLD ,
723 LOT_ATTRIBUTE_CATEGORY ,
724 C_ATTRIBUTE1 ,
725 C_ATTRIBUTE2 ,
726 C_ATTRIBUTE3 ,
727 C_ATTRIBUTE4 ,
728 C_ATTRIBUTE5 ,
729 C_ATTRIBUTE6 ,
730 C_ATTRIBUTE7 ,
731 C_ATTRIBUTE8 ,
732 C_ATTRIBUTE9 ,
733 C_ATTRIBUTE10 ,
734 C_ATTRIBUTE11 ,
735 C_ATTRIBUTE12 ,
736 C_ATTRIBUTE13 ,
737 C_ATTRIBUTE14 ,
738 C_ATTRIBUTE15 ,
739 C_ATTRIBUTE16 ,
740 C_ATTRIBUTE17 ,
741 C_ATTRIBUTE18 ,
742 C_ATTRIBUTE19 ,
743 C_ATTRIBUTE20 ,
744 D_ATTRIBUTE1 ,
745 D_ATTRIBUTE2 ,
746 D_ATTRIBUTE3 ,
747 D_ATTRIBUTE4 ,
748 D_ATTRIBUTE5 ,
749 D_ATTRIBUTE6 ,
750 D_ATTRIBUTE7 ,
751 D_ATTRIBUTE8 ,
752 D_ATTRIBUTE9 ,
753 D_ATTRIBUTE10 ,
754 N_ATTRIBUTE1 ,
755 N_ATTRIBUTE2 ,
756 N_ATTRIBUTE3 ,
757 N_ATTRIBUTE4 ,
758 N_ATTRIBUTE5 ,
759 N_ATTRIBUTE6 ,
760 N_ATTRIBUTE7 ,
761 N_ATTRIBUTE8 ,
762 N_ATTRIBUTE9 ,
763 N_ATTRIBUTE10 ,
764 VENDOR_ID ,
765 TERRITORY_CODE ,
766 PRODUCT_CODE ,
767 PRODUCT_TRANSACTION_ID ,
768 ATTRIBUTE_CATEGORY ,
769 ATTRIBUTE1 ,
770 ATTRIBUTE2 ,
771 ATTRIBUTE3 ,
772 ATTRIBUTE4 ,
773 ATTRIBUTE5 ,
774 ATTRIBUTE6 ,
775 ATTRIBUTE7 ,
776 ATTRIBUTE8 ,
777 ATTRIBUTE9 ,
778 ATTRIBUTE10 ,
779 ATTRIBUTE11 ,
780 ATTRIBUTE12 ,
781 ATTRIBUTE13 ,
782 ATTRIBUTE14 ,
783 ATTRIBUTE15 --,
784 --PARENT_LOT_NUMBER
785 from MTL_TRANSACTION_LOT_NUMBERS
786 --Bug 5614015:Rowid is used to uniquely identify the lot selected
787 --where transaction_id = l_mmt_rec.transaction_id
788 --and lot_number = l_lot_txn_rec.lot_number;
789 where rowid = l_lot_txn_rec.rowid;
790
791 IF (G_LOG_LEVEL_STATEMENT >= l_log_level) THEN
792 l_msg_tokens.delete;
793 WSM_log_PVT.logMessage (p_module_name => l_module ,
794 p_msg_text => 'Inserted : ' || SQL%ROWCOUNT
795 || ' rows into MTLT for lot '
796 || l_lot_txn_rec.lot_number,
797 p_stmt_num => l_stmt_num ,
798 p_msg_tokens => l_msg_tokens ,
799 p_fnd_log_level => G_LOG_LEVEL_STATEMENT ,
800 p_run_log_level => l_log_level
801 );
802 END IF;
803
804 l_stmt_num := 130;
805 if nvl(l_serial_txn_id,0) <> 0 then
806
807 l_stmt_num := 140;
808 insert into mtl_serial_numbers_temp
809 (
810 TRANSACTION_TEMP_ID ,
811 LAST_UPDATE_DATE ,
812 LAST_UPDATED_BY ,
813 CREATION_DATE ,
814 CREATED_BY ,
815 LAST_UPDATE_LOGIN ,
816 REQUEST_ID ,
817 PROGRAM_APPLICATION_ID ,
818 PROGRAM_ID ,
819 PROGRAM_UPDATE_DATE ,
820 --VENDOR_SERIAL_NUMBER ,
821 --VENDOR_LOT_NUMBER ,
822 FM_SERIAL_NUMBER ,
823 TO_SERIAL_NUMBER ,
824 --SERIAL_PREFIX ,
825 --ERROR_CODE ,
826 --GROUP_HEADER_ID ,
827 PARENT_SERIAL_NUMBER ,
828 SERIAL_ATTRIBUTE_CATEGORY ,
829 ORIGINATION_DATE ,
830 C_ATTRIBUTE1 ,
831 C_ATTRIBUTE2 ,
832 C_ATTRIBUTE3 ,
833 C_ATTRIBUTE4 ,
834 C_ATTRIBUTE5 ,
835 C_ATTRIBUTE6 ,
836 C_ATTRIBUTE7 ,
837 C_ATTRIBUTE8 ,
838 C_ATTRIBUTE9 ,
839 C_ATTRIBUTE10 ,
840 C_ATTRIBUTE11 ,
841 C_ATTRIBUTE12 ,
842 C_ATTRIBUTE13 ,
843 C_ATTRIBUTE14 ,
844 C_ATTRIBUTE15 ,
845 C_ATTRIBUTE16 ,
846 C_ATTRIBUTE17 ,
847 C_ATTRIBUTE18 ,
848 C_ATTRIBUTE19 ,
849 C_ATTRIBUTE20 ,
850 D_ATTRIBUTE1 ,
851 D_ATTRIBUTE2 ,
852 D_ATTRIBUTE3 ,
853 D_ATTRIBUTE4 ,
854 D_ATTRIBUTE5 ,
855 D_ATTRIBUTE6 ,
856 D_ATTRIBUTE7 ,
857 D_ATTRIBUTE8 ,
858 D_ATTRIBUTE9 ,
859 D_ATTRIBUTE10 ,
860 N_ATTRIBUTE1 ,
861 N_ATTRIBUTE2 ,
862 N_ATTRIBUTE3 ,
863 N_ATTRIBUTE4 ,
864 N_ATTRIBUTE5 ,
865 N_ATTRIBUTE6 ,
866 N_ATTRIBUTE7 ,
867 N_ATTRIBUTE8 ,
868 N_ATTRIBUTE9 ,
869 N_ATTRIBUTE10 ,
870 STATUS_ID ,
871 TERRITORY_CODE ,
872 TIME_SINCE_NEW ,
873 CYCLES_SINCE_NEW ,
874 TIME_SINCE_OVERHAUL ,
875 CYCLES_SINCE_OVERHAUL ,
876 TIME_SINCE_REPAIR ,
877 CYCLES_SINCE_REPAIR ,
878 TIME_SINCE_VISIT ,
879 CYCLES_SINCE_VISIT ,
880 TIME_SINCE_MARK ,
881 CYCLES_SINCE_MARK ,
882 NUMBER_OF_REPAIRS ,
883 PRODUCT_CODE ,
884 PRODUCT_TRANSACTION_ID ,
885 ATTRIBUTE_CATEGORY ,
886 ATTRIBUTE1 ,
887 ATTRIBUTE2 ,
888 ATTRIBUTE3 ,
889 ATTRIBUTE4 ,
890 ATTRIBUTE5 ,
891 ATTRIBUTE6 ,
892 ATTRIBUTE7 ,
893 ATTRIBUTE8 ,
894 ATTRIBUTE9 ,
895 ATTRIBUTE10 ,
896 ATTRIBUTE11 ,
897 ATTRIBUTE12 ,
898 ATTRIBUTE13 ,
899 ATTRIBUTE14 ,
900 ATTRIBUTE15 ,
901 DFF_UPDATED_FLAG
902 --PARENT_LOT_NUMBER
903 )
904 select
905 l_serial_txn_id ,
906 sysdate ,
907 l_user_id ,
908 sysdate ,
909 l_user_id ,
910 l_login_id ,
911 l_req_id ,
912 l_prog_appl_id ,
913 l_prog_id ,
914 sysdate ,
915 --VENDOR_SERIAL_NUMBER ,
916 --VENDOR_LOT_NUMBER ,
917 MUT.SERIAL_NUMBER ,
918 MUT.SERIAL_NUMBER ,
919 --SERIAL_PREFIX ,
920 --ERROR_CODE ,
921 --GROUP_HEADER_ID ,
922 MSN.PARENT_SERIAL_NUMBER ,
923 --END_ITEM_UNIT_NUMBER ,
924 MUT.SERIAL_ATTRIBUTE_CATEGORY ,
925 MUT.ORIGINATION_DATE ,
926 MUT.C_ATTRIBUTE1 ,
927 MUT.C_ATTRIBUTE2 ,
928 MUT.C_ATTRIBUTE3 ,
929 MUT.C_ATTRIBUTE4 ,
930 MUT.C_ATTRIBUTE5 ,
931 MUT.C_ATTRIBUTE6 ,
932 MUT.C_ATTRIBUTE7 ,
933 MUT.C_ATTRIBUTE8 ,
934 MUT.C_ATTRIBUTE9 ,
935 MUT.C_ATTRIBUTE10 ,
936 MUT.C_ATTRIBUTE11 ,
937 MUT.C_ATTRIBUTE12 ,
938 MUT.C_ATTRIBUTE13 ,
939 MUT.C_ATTRIBUTE14 ,
940 MUT.C_ATTRIBUTE15 ,
941 MUT.C_ATTRIBUTE16 ,
942 MUT.C_ATTRIBUTE17 ,
943 MUT.C_ATTRIBUTE18 ,
944 MUT.C_ATTRIBUTE19 ,
945 MUT.C_ATTRIBUTE20 ,
946 MUT.D_ATTRIBUTE1 ,
947 MUT.D_ATTRIBUTE2 ,
948 MUT.D_ATTRIBUTE3 ,
949 MUT.D_ATTRIBUTE4 ,
950 MUT.D_ATTRIBUTE5 ,
951 MUT.D_ATTRIBUTE6 ,
952 MUT.D_ATTRIBUTE7 ,
953 MUT.D_ATTRIBUTE8 ,
954 MUT.D_ATTRIBUTE9 ,
955 MUT.D_ATTRIBUTE10 ,
956 MUT.N_ATTRIBUTE1 ,
957 MUT.N_ATTRIBUTE2 ,
958 MUT.N_ATTRIBUTE3 ,
959 MUT.N_ATTRIBUTE4 ,
960 MUT.N_ATTRIBUTE5 ,
961 MUT.N_ATTRIBUTE6 ,
962 MUT.N_ATTRIBUTE7 ,
963 MUT.N_ATTRIBUTE8 ,
964 MUT.N_ATTRIBUTE9 ,
965 MUT.N_ATTRIBUTE10 ,
966 MUT.STATUS_ID ,
967 MUT.TERRITORY_CODE ,
968 MUT.TIME_SINCE_NEW ,
969 MUT.CYCLES_SINCE_NEW ,
970 MUT.TIME_SINCE_OVERHAUL ,
971 MUT.CYCLES_SINCE_OVERHAUL ,
972 MUT.TIME_SINCE_REPAIR ,
973 MUT.CYCLES_SINCE_REPAIR ,
974 MUT.TIME_SINCE_VISIT ,
975 MUT.CYCLES_SINCE_VISIT ,
976 MUT.TIME_SINCE_MARK ,
977 MUT.CYCLES_SINCE_MARK ,
978 MUT.NUMBER_OF_REPAIRS ,
979 MUT.PRODUCT_CODE ,
980 MUT.PRODUCT_TRANSACTION_ID ,
981 MUT.ATTRIBUTE_CATEGORY ,
982 MUT.ATTRIBUTE1 ,
983 MUT.ATTRIBUTE2 ,
984 MUT.ATTRIBUTE3 ,
985 MUT.ATTRIBUTE4 ,
986 MUT.ATTRIBUTE5 ,
987 MUT.ATTRIBUTE6 ,
988 MUT.ATTRIBUTE7 ,
989 MUT.ATTRIBUTE8 ,
990 MUT.ATTRIBUTE9 ,
991 MUT.ATTRIBUTE10 ,
992 MUT.ATTRIBUTE11 ,
993 MUT.ATTRIBUTE12 ,
994 MUT.ATTRIBUTE13 ,
995 MUT.ATTRIBUTE14 ,
996 MUT.ATTRIBUTE15 ,
997 decode(nvl(MUT.ATTRIBUTE_CATEGORY,-1),-1,'N','Y')
998 from mtl_unit_transactions MUT,
999 mtl_serial_numbers MSN
1000 where MUT.transaction_id = l_lot_txn_rec.serial_transaction_id
1001 and MUT.serial_number = MSN.serial_number
1002 and MSN.current_organization_id = MUT.ORGANIZATION_ID
1003 and msn.last_transaction_id = l_mmt_rec.transaction_id; --l_lot_txn_rec.serial_transaction_id;
1004
1005 IF (G_LOG_LEVEL_STATEMENT >= l_log_level) THEN
1006 l_msg_tokens.delete;
1007 WSM_log_PVT.logMessage (p_module_name => l_module ,
1008 p_msg_text => 'Inserted : ' || SQL%ROWCOUNT
1009 || ' rows into MSTT(Serial)',
1010 p_stmt_num => l_stmt_num ,
1011 p_msg_tokens => l_msg_tokens ,
1012 p_fnd_log_level => G_LOG_LEVEL_STATEMENT ,
1013 p_run_log_level => l_log_level
1014 );
1015 END IF;
1016 end if;
1017
1018 end loop;
1019
1020 l_stmt_num := 150;
1021 if l_lot_controlled = 0 then
1022
1023 l_stmt_num := 160;
1024 -- insert the records for serial controlled assemblies...
1025 insert into mtl_serial_numbers_temp
1026 (
1027 TRANSACTION_TEMP_ID ,
1028 LAST_UPDATE_DATE ,
1029 LAST_UPDATED_BY ,
1030 CREATION_DATE ,
1031 CREATED_BY ,
1032 LAST_UPDATE_LOGIN ,
1033 REQUEST_ID ,
1034 PROGRAM_APPLICATION_ID ,
1035 PROGRAM_ID ,
1036 PROGRAM_UPDATE_DATE ,
1037 --VENDOR_SERIAL_NUMBER ,
1038 --VENDOR_LOT_NUMBER ,
1039 FM_SERIAL_NUMBER ,
1040 TO_SERIAL_NUMBER ,
1041 --SERIAL_PREFIX ,
1042 --ERROR_CODE ,
1043 --GROUP_HEADER_ID ,
1044 PARENT_SERIAL_NUMBER ,
1045 --END_ITEM_UNIT_NUMBER ,
1046 SERIAL_ATTRIBUTE_CATEGORY ,
1047 ORIGINATION_DATE ,
1048 C_ATTRIBUTE1 ,
1049 C_ATTRIBUTE2 ,
1050 C_ATTRIBUTE3 ,
1051 C_ATTRIBUTE4 ,
1052 C_ATTRIBUTE5 ,
1053 C_ATTRIBUTE6 ,
1054 C_ATTRIBUTE7 ,
1055 C_ATTRIBUTE8 ,
1056 C_ATTRIBUTE9 ,
1057 C_ATTRIBUTE10 ,
1058 C_ATTRIBUTE11 ,
1059 C_ATTRIBUTE12 ,
1060 C_ATTRIBUTE13 ,
1061 C_ATTRIBUTE14 ,
1062 C_ATTRIBUTE15 ,
1063 C_ATTRIBUTE16 ,
1064 C_ATTRIBUTE17 ,
1065 C_ATTRIBUTE18 ,
1066 C_ATTRIBUTE19 ,
1067 C_ATTRIBUTE20 ,
1068 D_ATTRIBUTE1 ,
1069 D_ATTRIBUTE2 ,
1070 D_ATTRIBUTE3 ,
1071 D_ATTRIBUTE4 ,
1072 D_ATTRIBUTE5 ,
1073 D_ATTRIBUTE6 ,
1074 D_ATTRIBUTE7 ,
1075 D_ATTRIBUTE8 ,
1076 D_ATTRIBUTE9 ,
1077 D_ATTRIBUTE10 ,
1078 N_ATTRIBUTE1 ,
1079 N_ATTRIBUTE2 ,
1080 N_ATTRIBUTE3 ,
1081 N_ATTRIBUTE4 ,
1082 N_ATTRIBUTE5 ,
1083 N_ATTRIBUTE6 ,
1084 N_ATTRIBUTE7 ,
1085 N_ATTRIBUTE8 ,
1086 N_ATTRIBUTE9 ,
1087 N_ATTRIBUTE10 ,
1088 STATUS_ID ,
1089 TERRITORY_CODE ,
1090 TIME_SINCE_NEW ,
1091 CYCLES_SINCE_NEW ,
1092 TIME_SINCE_OVERHAUL ,
1093 CYCLES_SINCE_OVERHAUL ,
1094 TIME_SINCE_REPAIR ,
1095 CYCLES_SINCE_REPAIR ,
1096 TIME_SINCE_VISIT ,
1097 CYCLES_SINCE_VISIT ,
1098 TIME_SINCE_MARK ,
1099 CYCLES_SINCE_MARK ,
1100 NUMBER_OF_REPAIRS ,
1101 PRODUCT_CODE ,
1102 PRODUCT_TRANSACTION_ID ,
1103 ATTRIBUTE_CATEGORY ,
1104 ATTRIBUTE1 ,
1105 ATTRIBUTE2 ,
1106 ATTRIBUTE3 ,
1107 ATTRIBUTE4 ,
1108 ATTRIBUTE5 ,
1109 ATTRIBUTE6 ,
1110 ATTRIBUTE7 ,
1111 ATTRIBUTE8 ,
1112 ATTRIBUTE9 ,
1113 ATTRIBUTE10 ,
1114 ATTRIBUTE11 ,
1115 ATTRIBUTE12 ,
1116 ATTRIBUTE13 ,
1117 ATTRIBUTE14 ,
1118 ATTRIBUTE15 ,
1119 DFF_UPDATED_FLAG
1120 --PARENT_LOT_NUMBER
1121 )
1122 select
1123 l_temp_id ,
1124 sysdate ,
1125 l_user_id ,
1126 sysdate ,
1127 l_user_id ,
1128 l_login_id ,
1129 l_req_id ,
1130 l_prog_appl_id ,
1131 l_prog_id ,
1132 sysdate ,
1133 --VENDOR_SERIAL_NUMBER ,
1134 --VENDOR_LOT_NUMBER ,
1135 MUT.SERIAL_NUMBER ,
1136 MUT.SERIAL_NUMBER ,
1137 --SERIAL_PREFIX ,
1138 --ERROR_CODE ,
1139 --GROUP_HEADER_ID ,
1140 MSN.PARENT_SERIAL_NUMBER ,
1141 --END_ITEM_UNIT_NUMBER ,
1142 MUT.SERIAL_ATTRIBUTE_CATEGORY ,
1143 MUT.ORIGINATION_DATE ,
1144 MUT.C_ATTRIBUTE1 ,
1145 MUT.C_ATTRIBUTE2 ,
1146 MUT.C_ATTRIBUTE3 ,
1147 MUT.C_ATTRIBUTE4 ,
1148 MUT.C_ATTRIBUTE5 ,
1149 MUT.C_ATTRIBUTE6 ,
1150 MUT.C_ATTRIBUTE7 ,
1151 MUT.C_ATTRIBUTE8 ,
1152 MUT.C_ATTRIBUTE9 ,
1153 MUT.C_ATTRIBUTE10 ,
1154 MUT.C_ATTRIBUTE11 ,
1155 MUT.C_ATTRIBUTE12 ,
1156 MUT.C_ATTRIBUTE13 ,
1157 MUT.C_ATTRIBUTE14 ,
1158 MUT.C_ATTRIBUTE15 ,
1159 MUT.C_ATTRIBUTE16 ,
1160 MUT.C_ATTRIBUTE17 ,
1161 MUT.C_ATTRIBUTE18 ,
1162 MUT.C_ATTRIBUTE19 ,
1163 MUT.C_ATTRIBUTE20 ,
1164 MUT.D_ATTRIBUTE1 ,
1165 MUT.D_ATTRIBUTE2 ,
1166 MUT.D_ATTRIBUTE3 ,
1167 MUT.D_ATTRIBUTE4 ,
1168 MUT.D_ATTRIBUTE5 ,
1169 MUT.D_ATTRIBUTE6 ,
1170 MUT.D_ATTRIBUTE7 ,
1171 MUT.D_ATTRIBUTE8 ,
1172 MUT.D_ATTRIBUTE9 ,
1173 MUT.D_ATTRIBUTE10 ,
1174 MUT.N_ATTRIBUTE1 ,
1175 MUT.N_ATTRIBUTE2 ,
1176 MUT.N_ATTRIBUTE3 ,
1177 MUT.N_ATTRIBUTE4 ,
1178 MUT.N_ATTRIBUTE5 ,
1179 MUT.N_ATTRIBUTE6 ,
1180 MUT.N_ATTRIBUTE7 ,
1181 MUT.N_ATTRIBUTE8 ,
1182 MUT.N_ATTRIBUTE9 ,
1183 MUT.N_ATTRIBUTE10 ,
1184 MUT.STATUS_ID ,
1185 MUT.TERRITORY_CODE ,
1186 MUT.TIME_SINCE_NEW ,
1187 MUT.CYCLES_SINCE_NEW ,
1188 MUT.TIME_SINCE_OVERHAUL ,
1189 MUT.CYCLES_SINCE_OVERHAUL ,
1190 MUT.TIME_SINCE_REPAIR ,
1191 MUT.CYCLES_SINCE_REPAIR ,
1192 MUT.TIME_SINCE_VISIT ,
1193 MUT.CYCLES_SINCE_VISIT ,
1194 MUT.TIME_SINCE_MARK ,
1195 MUT.CYCLES_SINCE_MARK ,
1196 MUT.NUMBER_OF_REPAIRS ,
1197 MUT.PRODUCT_CODE ,
1198 MUT.PRODUCT_TRANSACTION_ID ,
1199 MUT.ATTRIBUTE_CATEGORY ,
1200 MUT.ATTRIBUTE1 ,
1201 MUT.ATTRIBUTE2 ,
1202 MUT.ATTRIBUTE3 ,
1203 MUT.ATTRIBUTE4 ,
1204 MUT.ATTRIBUTE5 ,
1205 MUT.ATTRIBUTE6 ,
1206 MUT.ATTRIBUTE7 ,
1207 MUT.ATTRIBUTE8 ,
1208 MUT.ATTRIBUTE9 ,
1209 MUT.ATTRIBUTE10 ,
1210 MUT.ATTRIBUTE11 ,
1211 MUT.ATTRIBUTE12 ,
1212 MUT.ATTRIBUTE13 ,
1213 MUT.ATTRIBUTE14 ,
1214 MUT.ATTRIBUTE15 ,
1215 decode(nvl(MUT.ATTRIBUTE_CATEGORY,-1),-1,'N','Y')
1216 -- PARENT_LOT_NUMBER
1217 from mtl_unit_transactions MUT,
1218 mtl_serial_numbers MSN
1219 where MUT.transaction_id = l_mmt_rec.transaction_id
1220 and MUT.serial_number = MSN.serial_number
1221 and MSN.current_organization_id = MUT.ORGANIZATION_ID
1222 and msn.last_transaction_id = l_mmt_rec.transaction_id;
1223
1224 IF (G_LOG_LEVEL_STATEMENT >= l_log_level) THEN
1225 l_msg_tokens.delete;
1226 WSM_log_PVT.logMessage (p_module_name => l_module ,
1227 p_msg_text => 'Inserted : ' || SQL%ROWCOUNT
1228 || ' rows into MSTT(Serial)',
1229 p_stmt_num => l_stmt_num ,
1230 p_msg_tokens => l_msg_tokens ,
1231 p_fnd_log_level => G_LOG_LEVEL_STATEMENT ,
1232 p_run_log_level => l_log_level
1233 );
1234 END IF;
1235
1236 end if;
1237
1238 end loop;
1239
1240 exception
1241
1242 WHEN FND_API.G_EXC_ERROR THEN
1243
1244 x_return_status := G_RET_ERROR;
1245 FND_MSG_PUB.Count_And_Get( p_encoded => 'F' ,
1246 p_count => x_error_count ,
1247 p_data => x_error_msg
1248 );
1249
1250 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1251
1252 x_return_status := G_RET_UNEXPECTED;
1253
1254 FND_MSG_PUB.Count_And_Get( p_encoded => 'F' ,
1255 p_count => x_error_count ,
1256 p_data => x_error_msg
1257 );
1258 WHEN OTHERS THEN
1259
1260 x_return_status := G_RET_UNEXPECTED;
1261
1262 IF (G_LOG_LEVEL_UNEXPECTED >= l_log_level) OR
1263 (FND_MSG_PUB.check_msg_level(G_MSG_LVL_UNEXP_ERROR))
1264 THEN
1265 WSM_log_PVT.handle_others( p_module_name => l_module ,
1266 p_stmt_num => l_stmt_num ,
1267 p_fnd_log_level => G_LOG_LEVEL_UNEXPECTED ,
1268 p_run_log_level => l_log_level
1269 );
1270 END IF;
1271
1272 FND_MSG_PUB.Count_And_Get( p_encoded => 'F' ,
1273 p_count => x_error_count ,
1274 p_data => x_error_msg
1275 );
1276 END populate_components;
1277
1278 END WSM_Serial_support_GRP;
|
|
|