261: CLOSE c_wt;
262: END IF;
263:
264: l_wop_count := 0;
265: /* If nothing in WIP operations, ignore row validation in cst_comp_snap_interface */
266: SELECT count(*)
267: INTO l_wop_count
268: FROM wip_operations
269: WHERE wip_entity_id = i_wip_entity_id;
276: as MTI or WIP_MOVE_TXN_INTERFACE */
277: stmt_num := 10;
278: SELECT 'x'
279: INTO dummy
280: FROM cst_comp_snap_interface codt
281: WHERE transaction_interface_id = l_txn_interface_id
282: AND rownum = 1;
283:
284: /* Check if the wip_entity_id is the same as
285: MTI or WIP_MOVE_TXN_INTERFACE */
286: stmt_num := 20;
287: SELECT 'x'
288: INTO dummy
289: FROM cst_comp_snap_interface codt
290: WHERE transaction_interface_id = l_txn_interface_id
291: AND wip_entity_id = i_wip_entity_id
292: AND rownum = 1;
293:
291: AND wip_entity_id = i_wip_entity_id
292: AND rownum = 1;
293:
294: /* Make sure OPERATION_SEQ_NUM in WIP_OPERATION
295: exists in CST_COMP_SNAP_INTERFACE */
296: stmt_num := 30;
297: OPEN c_find_missing_op;
298: LOOP
299: FETCH c_find_missing_op INTO v_operation_seq_num;
301: EXIT WHEN c_find_missing_op%NOTFOUND;
302:
303: SELECT 'x'
304: INTO dummy
305: FROM cst_comp_snap_interface codt
306: WHERE
307: codt.transaction_interface_id = l_txn_interface_id
308: AND codt.wip_entity_id = i_wip_entity_id
309: AND codt.operation_seq_num = v_operation_seq_num;
322:
323: IF i_transaction_action_id = 30 THEN
324: SELECT count(*)
325: INTO v_count1
326: FROM cst_comp_snap_interface
327: WHERE transaction_interface_id = l_txn_interface_id
328: AND wip_entity_id = i_wip_entity_id
329: AND operation_seq_num <= i_operation_seq_num;
330:
329: AND operation_seq_num <= i_operation_seq_num;
330:
331: SELECT count(*)
332: INTO v_count2
333: FROM cst_comp_snap_interface
334: WHERE transaction_interface_id = l_txn_interface_id
335: AND wip_entity_id = i_wip_entity_id
336: AND operation_seq_num <= i_operation_seq_num
337: AND primary_quantity = i_primary_quantity;
337: AND primary_quantity = i_primary_quantity;
338: ELSE
339: SELECT count(*)
340: INTO v_count1
341: FROM cst_comp_snap_interface
342: WHERE transaction_interface_id = l_txn_interface_id
343: AND wip_entity_id = i_wip_entity_id;
344:
345: SELECT count(*)
343: AND wip_entity_id = i_wip_entity_id;
344:
345: SELECT count(*)
346: INTO v_count2
347: FROM cst_comp_snap_interface
348: WHERE transaction_interface_id = l_txn_interface_id
349: AND wip_entity_id = i_wip_entity_id
350: AND primary_quantity = i_primary_quantity;
351: END IF;
358: /* Following should be done by move_snapshot_to_temp */
359:
360: /*
361: stmt_num = 60;
362: UPDATE cst_comp_snap_interface
363: SET primary_quantity =
364: decode(i_transaction_action_id,
365: 30,
366: decode(sign(operation_seq_num - i_operation_seq_num),
377: EXCEPTION
378: WHEN NO_DATA_FOUND THEN
379: err_num := SQLCODE;
380: IF (stmt_num = 10) THEN
381: fnd_message.set_name('BOM','CST_COMP_SNAP_INTERFACE_FAIL');
382: fnd_message.set_token(
383: token => 'COLUMN',
384: value => 'TRANSACTION_INTERFACE_ID',
385: translate => FALSE);
387: to_char(stmt_num) || ' : ' ||
388: fnd_message.get;
389:
390: ELSIF (stmt_num = 20) THEN
391: fnd_message.set_name('BOM','CST_COMP_SNAP_INTERFACE_FAIL');
392: fnd_message.set_token(
393: token => 'COLUMN',
394: value => 'WIP_ENTITY_ID',
395: translate => FALSE);
397: to_char(stmt_num) || ' : ' ||
398: fnd_message.get;
399:
400: ELSIF (stmt_num = 30) THEN
401: fnd_message.set_name('BOM','CST_COMP_SNAP_INTERFACE_FAIL');
402: fnd_message.set_token(
403: token => 'COLUMN',
404: value => 'OPERATION_SEQ_NUM',
405: translate => FALSE);
411: RETURN(-999);
412:
413: WHEN e_primary_quantity THEN
414: err_num := SQLCODE;
415: fnd_message.set_name('BOM','CST_COMP_SNAP_INTERFACE_FAIL');
416: fnd_message.set_token(
417: token => 'COLUMN',
418: value => 'PRIMARY_QUANTITY',
419: translate => FALSE);
473: END IF;
474:
475: stmt_num := 15;
476: /*
477: Transfer info from cst_comp_snap_interface to cst_comp_snap_temp
478: with transaction_id from MTL_MATERIAL_TRANSACTIONS
479: */
480: INSERT INTO cst_comp_snap_temp
481: (transaction_temp_id,
527: -1,
528: -1,
529: sysdate
530: FROM
531: cst_comp_snap_interface codt
532: WHERE
533: transaction_interface_id = l_txn_interface_id;
534:
535: stmt_num := 20;
533: transaction_interface_id = l_txn_interface_id;
534:
535: stmt_num := 20;
536: /*
537: Delete temporary info from cst_comp_snap_interface
538: */
539: DELETE FROM cst_comp_snap_interface
540: WHERE
541: transaction_interface_id = l_txn_interface_id;
535: stmt_num := 20;
536: /*
537: Delete temporary info from cst_comp_snap_interface
538: */
539: DELETE FROM cst_comp_snap_interface
540: WHERE
541: transaction_interface_id = l_txn_interface_id;
542:
543: RETURN(1);