81: AND (cicd.inventory_item_id, cicd.organization_id) IN
82: ( SELECT
83: csllc.inventory_item_id,
84: csllc.organization_id
85: FROM cst_sc_low_level_codes csllc,
86: cst_item_costs cia
87: WHERE
88: csllc.rollup_id = p_rollup_id
89: AND csllc.inventory_item_id = cia.inventory_item_id
95: /* SCAPI: Store the existing lot size in CSLLC */
96: l_stmt_num := 25;
97:
98: IF (p_lot_size_option IS NOT NULL) THEN
99: UPDATE cst_sc_low_level_codes CSLLC
100: SET CSLLC.lot_size =
101: (SELECT CIC.lot_size
102: FROM cst_item_costs CIC
103: WHERE CIC.cost_type_id = p_dest_cost_type_id
118: AND DEFAULTED_FLAG = 1 /* YES */
119: AND default_cost_type_id <> p_dest_cost_type_id
120: AND (cia.INVENTORY_ITEM_ID, cia.ORGANIZATION_ID) IN
121: (SELECT CSLLC.INVENTORY_ITEM_ID, CSLLC.ORGANIZATION_ID
122: FROM CST_SC_LOW_LEVEL_CODES CSLLC
123: WHERE CSLLC.ROLLUP_ID = p_rollup_id
124: );
125:
126: l_stmt_num := 40;
165: DECODE(p_conc_flag, 1, prgm_id, NULL),
166: DECODE(p_conc_flag, 1,
167: l_rollup_date, NULL)
168: FROM
169: CST_SC_LOW_LEVEL_CODES csllc,
170: CST_ITEM_COSTS cia,
171: MTL_PARAMETERS mp
172: WHERE cia.ORGANIZATION_ID = csllc.organization_id
173: AND csllc.ROLLUP_ID = p_rollup_id
274: DECODE(p_conc_flag, 1, prgm_id, NULL),
275: DECODE(p_conc_flag, 1,
276: l_rollup_date, NULL)
277: FROM
278: CST_SC_LOW_LEVEL_CODES csllc,
279: CST_ITEM_COSTS cia,
280: CST_ITEM_COST_DETAILS cicd,
281: MTL_PARAMETERS mp
282: WHERE csllc.ROLLUP_ID = p_rollup_id
355: DECODE(p_conc_flag, 1, prgm_id, NULL),
356: DECODE(p_conc_flag, 1,
357: l_rollup_date, NULL)
358: FROM
359: CST_SC_LOW_LEVEL_CODES csllc,
360: MTL_SYSTEM_ITEMS msi
361: WHERE
362: msi.ORGANIZATION_ID = csllc.organization_id
363: AND csllc.ROLLUP_ID = p_rollup_id
448: SELECT
449: CIA.INVENTORY_ITEM_ID
450: FROM
451: CST_ITEM_COSTS CIA,
452: CST_SC_LOW_LEVEL_CODES CSLLC
453: WHERE CSLLC.ROLLUP_ID = l_rollup_id
454: AND CIA.INVENTORY_ITEM_ID = CSLLC.INVENTORY_ITEM_ID
455: AND CIA.ORGANIZATION_ID = CSLLC.organization_id
456: AND CIA.COST_TYPE_ID = l_dest_cost_type_id
457: FOR UPDATE OF CIA.INVENTORY_ITEM_ID NOWAIT; /* Modified for Bug 6467821 */
458:
459: CURSOR cd is
460: SELECT CICD.INVENTORY_ITEM_ID
461: FROM CST_SC_LOW_LEVEL_CODES CSLLC,
462: CST_ITEM_COST_DETAILS CICD
463: WHERE CSLLC.ROLLUP_ID = l_rollup_id
464: AND CICD.INVENTORY_ITEM_ID = CSLLC.INVENTORY_ITEM_ID
465: AND CICD.ORGANIZATION_ID = CSLLC.organization_id
471: SELECT
472: CIA.INVENTORY_ITEM_ID
473: FROM
474: CST_ITEM_COSTS CIA,
475: CST_SC_LOW_LEVEL_CODES CSLLC
476: WHERE CSLLC.ROLLUP_ID = l_rollup_id
477: AND CIA.INVENTORY_ITEM_ID = CSLLC.INVENTORY_ITEM_ID
478: AND CIA.ORGANIZATION_ID = CSLLC.organization_id
479: AND CIA.COST_TYPE_ID = l_dest_cost_type_id
480: FOR UPDATE OF CIA.LAST_UPDATED_BY;
481:
482: CURSOR cf is
483: SELECT CICD.INVENTORY_ITEM_ID
484: FROM CST_SC_LOW_LEVEL_CODES CSLLC,
485: CST_ITEM_COST_DETAILS CICD
486: WHERE CSLLC.ROLLUP_ID = l_rollup_id
487: AND CICD.INVENTORY_ITEM_ID = CSLLC.INVENTORY_ITEM_ID
488: AND CICD.ORGANIZATION_ID = CSLLC.organization_id
662: snapshot_error EXCEPTION;
663: l_login_id NUMBER := -1;
664: l_rollup_date CONSTANT DATE := TO_DATE(rollup_date,'YYYY/MM/DD HH24:MI:SS');
665:
666: TYPE inv_item_tbl_type IS TABLE OF CST_SC_LOW_LEVEL_CODES.inventory_item_id%TYPE INDEX BY BINARY_INTEGER;
667: TYPE org_id_tbl_type IS TABLE OF CST_SC_LOW_LEVEL_CODES.organization_id%TYPE INDEX BY BINARY_INTEGER;
668: TYPE roun_tbl_type IS TABLE OF CST_SC_LOW_LEVEL_CODES.round_unit%TYPE INDEX BY BINARY_INTEGER;
669: TYPE prec_tbl_type IS TABLE OF CST_SC_LOW_LEVEL_CODES.precision%TYPE INDEX BY BINARY_INTEGER;
670: TYPE ext_tbl_type IS TABLE OF CST_SC_LOW_LEVEL_CODES.ext_precision%TYPE INDEX BY BINARY_INTEGER;
663: l_login_id NUMBER := -1;
664: l_rollup_date CONSTANT DATE := TO_DATE(rollup_date,'YYYY/MM/DD HH24:MI:SS');
665:
666: TYPE inv_item_tbl_type IS TABLE OF CST_SC_LOW_LEVEL_CODES.inventory_item_id%TYPE INDEX BY BINARY_INTEGER;
667: TYPE org_id_tbl_type IS TABLE OF CST_SC_LOW_LEVEL_CODES.organization_id%TYPE INDEX BY BINARY_INTEGER;
668: TYPE roun_tbl_type IS TABLE OF CST_SC_LOW_LEVEL_CODES.round_unit%TYPE INDEX BY BINARY_INTEGER;
669: TYPE prec_tbl_type IS TABLE OF CST_SC_LOW_LEVEL_CODES.precision%TYPE INDEX BY BINARY_INTEGER;
670: TYPE ext_tbl_type IS TABLE OF CST_SC_LOW_LEVEL_CODES.ext_precision%TYPE INDEX BY BINARY_INTEGER;
671: TYPE pcm_tbl_type IS TABLE OF MTL_PARAMETERS.PRIMARY_COST_METHOD%TYPE INDEX BY BINARY_INTEGER;
664: l_rollup_date CONSTANT DATE := TO_DATE(rollup_date,'YYYY/MM/DD HH24:MI:SS');
665:
666: TYPE inv_item_tbl_type IS TABLE OF CST_SC_LOW_LEVEL_CODES.inventory_item_id%TYPE INDEX BY BINARY_INTEGER;
667: TYPE org_id_tbl_type IS TABLE OF CST_SC_LOW_LEVEL_CODES.organization_id%TYPE INDEX BY BINARY_INTEGER;
668: TYPE roun_tbl_type IS TABLE OF CST_SC_LOW_LEVEL_CODES.round_unit%TYPE INDEX BY BINARY_INTEGER;
669: TYPE prec_tbl_type IS TABLE OF CST_SC_LOW_LEVEL_CODES.precision%TYPE INDEX BY BINARY_INTEGER;
670: TYPE ext_tbl_type IS TABLE OF CST_SC_LOW_LEVEL_CODES.ext_precision%TYPE INDEX BY BINARY_INTEGER;
671: TYPE pcm_tbl_type IS TABLE OF MTL_PARAMETERS.PRIMARY_COST_METHOD%TYPE INDEX BY BINARY_INTEGER;
672:
665:
666: TYPE inv_item_tbl_type IS TABLE OF CST_SC_LOW_LEVEL_CODES.inventory_item_id%TYPE INDEX BY BINARY_INTEGER;
667: TYPE org_id_tbl_type IS TABLE OF CST_SC_LOW_LEVEL_CODES.organization_id%TYPE INDEX BY BINARY_INTEGER;
668: TYPE roun_tbl_type IS TABLE OF CST_SC_LOW_LEVEL_CODES.round_unit%TYPE INDEX BY BINARY_INTEGER;
669: TYPE prec_tbl_type IS TABLE OF CST_SC_LOW_LEVEL_CODES.precision%TYPE INDEX BY BINARY_INTEGER;
670: TYPE ext_tbl_type IS TABLE OF CST_SC_LOW_LEVEL_CODES.ext_precision%TYPE INDEX BY BINARY_INTEGER;
671: TYPE pcm_tbl_type IS TABLE OF MTL_PARAMETERS.PRIMARY_COST_METHOD%TYPE INDEX BY BINARY_INTEGER;
672:
673: l_inv_item_tbl inv_item_tbl_type;
666: TYPE inv_item_tbl_type IS TABLE OF CST_SC_LOW_LEVEL_CODES.inventory_item_id%TYPE INDEX BY BINARY_INTEGER;
667: TYPE org_id_tbl_type IS TABLE OF CST_SC_LOW_LEVEL_CODES.organization_id%TYPE INDEX BY BINARY_INTEGER;
668: TYPE roun_tbl_type IS TABLE OF CST_SC_LOW_LEVEL_CODES.round_unit%TYPE INDEX BY BINARY_INTEGER;
669: TYPE prec_tbl_type IS TABLE OF CST_SC_LOW_LEVEL_CODES.precision%TYPE INDEX BY BINARY_INTEGER;
670: TYPE ext_tbl_type IS TABLE OF CST_SC_LOW_LEVEL_CODES.ext_precision%TYPE INDEX BY BINARY_INTEGER;
671: TYPE pcm_tbl_type IS TABLE OF MTL_PARAMETERS.PRIMARY_COST_METHOD%TYPE INDEX BY BINARY_INTEGER;
672:
673: l_inv_item_tbl inv_item_tbl_type;
674: l_org_id_tbl org_id_tbl_type;
679:
680: CURSOR csllc_org_cur IS
681: SELECT DISTINCT
682: organization_id
683: FROM CST_SC_LOW_LEVEL_CODES
684: WHERE rollup_id = l_rollup_id;
685:
686:
687: CURSOR csllc_org_level_cur( p_cur_level NUMBER) IS
687: CURSOR csllc_org_level_cur( p_cur_level NUMBER) IS
688: SELECT DISTINCT
689: organization_id,
690: ext_precision
691: FROM CST_SC_LOW_LEVEL_CODES
692: WHERE rollup_id = l_rollup_id
693: AND low_level_code = p_cur_level;
694:
695:
695:
696:
697: CURSOR cllc_org_item_cur(p_org_id IN NUMBER) IS
698: SELECT inventory_item_id
699: FROM CST_SC_LOW_LEVEL_CODES
700: WHERE rollup_id = l_rollup_id
701: AND organization_id = p_org_id;
702:
703:
706: organization_id,
707: round_unit,
708: precision,
709: ext_precision
710: FROM CST_SC_LOW_LEVEL_CODES csllc
711: WHERE csllc.rollup_id = l_rollup_id;
712:
713: CURSOR cllc1_cur IS
714: SELECT inventory_item_id,
715: organization_id,
716: round_unit,
717: precision,
718: ext_precision
719: FROM CST_SC_LOW_LEVEL_CODES csllc
720: WHERE csllc.rollup_id = l_rollup_id;
721:
722: CURSOR cllc3_cur (p_rollup_id NUMBER) IS
723: SELECT inventory_item_id,
724: organization_id,
725: round_unit,
726: precision,
727: ext_precision
728: FROM CST_SC_LOW_LEVEL_CODES csllc
729: WHERE csllc.rollup_id = p_rollup_id;
730:
731:
732: CURSOR cllc2_cur (current_level in number) IS
734: organization_id,
735: round_unit,
736: precision,
737: ext_precision
738: FROM cst_sc_low_level_codes
739: WHERE rollup_id = l_rollup_id
740: AND low_level_code = current_level;
741:
742: CURSOR cllc10_cur (current_level in number) IS
745: csllc.round_unit AS round_unit,
746: csllc.precision AS precision,
747: csllc.ext_precision AS ext_precision,
748: mp.primary_cost_method AS primary_cost_method
749: FROM cst_sc_low_level_codes csllc,
750: mtl_parameters mp
751: WHERE csllc.rollup_id = l_rollup_id
752: AND csllc.low_level_code = current_level
753: AND mp.organization_id = csllc.organization_id;
824:
825:
826: sql_stmt_num := 20;
827:
828: UPDATE CST_SC_LOW_LEVEL_CODES CSLLC
829: SET
830: CSLLC.ROUND_UNIT = l_round_unit,
831: CSLLC.PRECISION = l_precision,
832: CSLLC.EXT_PRECISION = l_ext_precision
983: DECODE(conc_flag, 1, prgm_id, NULL),
984: DECODE(conc_flag, 1,
985: l_rollup_date, NULL)
986: FROM
987: CST_SC_LOW_LEVEL_CODES csllc,
988: MTL_PARAMETERS mp,
989: CST_ITEM_COSTS cia,
990: BOM_OPERATIONAL_ROUTINGS bor,
991: BOM_OPERATION_SEQUENCES bos,
1163: DECODE(conc_flag, 1, prgm_appl_id, NULL),
1164: -100,
1165: DECODE(conc_flag, 1, l_rollup_date, NULL)
1166: FROM
1167: CST_SC_LOW_LEVEL_CODES csllc,
1168: MTL_PARAMETERS mp,
1169: CST_ITEM_COSTS cia,
1170: BOM_OPERATIONAL_ROUTINGS bor,
1171: BOM_OPERATION_SEQUENCES bos,
1343: DECODE(conc_flag, 1, prgm_id, NULL),
1344: DECODE(conc_flag, 1,
1345: l_rollup_date, NULL)
1346: FROM
1347: CST_SC_LOW_LEVEL_CODES csllc,
1348: CST_ITEM_COSTS cia,
1349: CST_ITEM_COST_DETAILS cicd,
1350: CST_RESOURCE_OVERHEADS cro,
1351: CST_DEPARTMENT_OVERHEADS cdo,
1477: DECODE(conc_flag, 1, prgm_id, NULL),
1478: DECODE(conc_flag, 1,
1479: l_rollup_date, NULL)
1480: FROM
1481: CST_SC_LOW_LEVEL_CODES csllc,
1482: CST_ITEM_COSTS cia,
1483: BOM_OPERATIONAL_ROUTINGS bor,
1484: BOM_OPERATION_SEQUENCES bos,
1485: CST_DEPARTMENT_OVERHEADS cdo,
1679: | Determine the maximum level code in the rollup. |
1680: +------------------------------------------------------------*/
1681: SELECT NVL(MAX(LOW_LEVEL_CODE),0)
1682: INTO max_level
1683: FROM CST_SC_LOW_LEVEL_CODES
1684: WHERE ROLLUP_ID = l_rollup_id;
1685:
1686: /*------------------------------------------------------------+
1687: | Determine the minimum level code in the rollup. |
1697:
1698: <
1699: for cur_level in min_level..max_level loop
1700:
1701: -- Bug 3590153: removed the join with cst_sc_low_level_codes
1702: -- and added the cursor for loop as below
1703:
1704: OPEN cllc10_cur(cur_level);
1705: LOOP
2854: bos.operation_seq_num OPERATION_SEQ_NUM,
2855: ((1/NVL(bos.yield,1))-1) OPERATION_YIELD_FACTOR
2856: FROM bom_operation_sequences bos,
2857: bom_operational_routings bor,
2858: cst_sc_low_level_codes cllc
2859: WHERE cllc.rollup_id = l_rollup_id
2860: AND cllc.low_level_code = l_level
2861: AND bor.assembly_item_id = cllc.inventory_item_id
2862:
3173: WHERE bic.BILL_SEQUENCE_ID IN
3174: (SELECT bic2.BILL_SEQUENCE_ID
3175: FROM BOM_INVENTORY_COMPONENTS bic2,
3176: BOM_BILL_OF_MATERIALS bbom,
3177: CST_SC_LOW_LEVEL_CODES csllc,
3178: cst_sc_sourcing_rules cssr
3179: WHERE csllc.ROLLUP_ID = l_rollup_id
3180: AND cssr.rollup_id (+)= l_rollup_id
3181: AND cssr.inventory_item_id (+)= csllc.inventory_item_id
3210: Delete BOM_BILL_OF_MATERIALS bbom
3211: WHERE bbom.BILL_SEQUENCE_ID IN
3212: (SELECT bbom2.BILL_SEQUENCE_ID
3213: FROM BOM_BILL_OF_MATERIALS bbom2,
3214: CST_SC_LOW_LEVEL_CODES csllc,
3215: cst_item_costs cia,
3216: cst_sc_sourcing_rules cssr
3217: WHERE csllc.ROLLUP_ID = l_rollup_id
3218: AND cssr.rollup_id (+)= l_rollup_id
3307: bbom.organization_id,
3308: BOM_INVENTORY_COMPONENTS_S.NEXTVAL
3309: FROM BOM_BILL_OF_MATERIALS bbom,
3310: CST_ITEM_COSTS cia,
3311: CST_SC_LOW_LEVEL_CODES csllc,
3312: cst_sc_sourcing_rules cssr
3313: WHERE csllc.ROLLUP_ID = l_rollup_id
3314: AND cssr.rollup_id(+) = l_rollup_id
3315: AND cssr.inventory_item_id (+)= csllc.inventory_item_id
3489: FROM BOM_BILL_OF_MATERIALS bbom,
3490: BOM_BILL_OF_MATERIALS bbom2,
3491: bom_inventory_components bic,
3492: CST_ITEM_COSTS cia,
3493: CST_SC_LOW_LEVEL_CODES csllc,
3494: cst_sc_sourcing_rules cssr
3495: WHERE csllc.ROLLUP_ID = l_rollup_id
3496: AND cssr.rollup_id(+) = l_rollup_id
3497: AND cssr.inventory_item_id (+)= csllc.inventory_item_id
3573: update bom_bill_of_materials bbom
3574: set bbom.common_bill_sequence_id = bbom.bill_sequence_id
3575: where EXISTS(
3576: select 1
3577: from cst_sc_low_level_codes csllc,
3578: cst_sc_sourcing_rules cssr
3579: where csllc.rollup_id = l_rollup_id
3580: and cssr.rollup_id(+) = l_rollup_id
3581: and cssr.inventory_item_id (+)= csllc.inventory_item_id