DBA Data[Home] [Help]

APPS.CSTPPCIC SQL Statements

The following lines contain the word 'select', 'insert', 'update' or 'delete':

Line: 45

|             1:  Merge and update                                           |
|             2:  New cost only                                              |
|             3:  remove and replace                                         |
|  p_range:								     |
|             1:  All items                                                  |
|             2:  Specific Item                                              |
|             5:  Category Items                                             |
|                                                                            |
|  This procedure defaults the following values:                             |
|                                                                            |
|  CST_ITEM_COSTS.defaulted_flag = 2 (Do not use default cost controls)      |
|  CST_ITEM_COSTS.cost_update_id = NULL				             |
|  CST_ITEM_COSTS.based_on_rollup_flag = 1			             |
|  CST_ITEM_COST_DETAILS.basis_factor = 1			             |
|  CST_ITEM_COST_DETAILS.rollup_source_type = 1(User defined)                |
|                                                                            |
*----------------------------------------------------------------------------*/
PROCEDURE copy_item_period_cost(
   errbuf                  OUT   NOCOPY   VARCHAR2,
   retcode                 OUT   NOCOPY   NUMBER,
	p_legal_entity		      IN	            NUMBER,
	p_from_cost_type_id	   IN	            NUMBER,
	p_from_cost_group_id	   IN	            NUMBER,
	p_period_id		         IN	            NUMBER,
	p_to_org_id		         IN	            NUMBER,
 	p_to_cost_type_id    	IN	            NUMBER,
   p_material 		         IN	            NUMBER,
   p_material_overhead 	   IN	            NUMBER,
   p_resource 		         IN	            NUMBER,
   p_outside_processing 	IN	            NUMBER,
   p_overhead 		         IN	            NUMBER,
	p_copy_option		      IN	            NUMBER,
	p_range 		            IN	            NUMBER,
	p_item_dummy		      IN	            NUMBER,
	p_category_dummy	      IN	            NUMBER,
	p_specific_item_id	   IN	            NUMBER,
	p_category_set_id	      IN	            NUMBER,
 	p_category_validate_flag IN            VARCHAR2,
   p_category_structure    IN             NUMBER,
   p_category_id           IN             NUMBER,
   p_last_updated_by       IN             NUMBER,
   p_full_validate         IN             NUMBER)

IS

-- Local PL/SQL variable
--

cst_fail_uomconvert   	EXCEPTION;
Line: 123

      SELECT   nvl(process_enabled_flag,'N')
               , organization_code
      INTO     l_process_enabled_flag
               , l_organization_code
      FROM     mtl_parameters
      WHERE    organization_id = p_to_org_id;
Line: 216

   FND_FILE.PUT_LINE(FND_FILE.LOG, 'Last Updated by: '
					|| TO_CHAR(p_last_updated_by));
Line: 237

     SELECT  1
     INTO l_valid
     FROM cst_le_cost_types
     WHERE  legal_entity = p_legal_entity;
Line: 249

select 1
into l_valid
from cst_cost_types cct
where cost_type_id = p_from_cost_type_id
and cost_type_id in
(select distinct clct.cost_type_id
 from cst_le_cost_types clct
 where clct.legal_entity = p_legal_entity
)
and nvl(cct.disable_date, sysdate+1) > sysdate;
Line: 268

select 1
into l_valid
from dual
where p_from_cost_group_id in
(select distinct cost_group
 from cst_cost_groups
 where legal_entity = p_legal_entity
)
and exists
       (select 1
        from cst_pac_periods cpp
        where legal_entity = p_legal_entity
        and cost_type_id = p_from_cost_type_id
        and cpp.pac_period_id in
                (select cppp.pac_period_id
                 from cst_pac_process_phases cppp
                 where cppp.cost_group_id = p_from_cost_group_id
                 and cppp.pac_period_id = cpp.pac_period_id
                 and process_phase = 5
                 and process_status = 4
                )
       );
Line: 300

select 1
into l_valid
from dual
where p_period_id in
(select distinct pac_period_id
 from cst_pac_process_phases
 where cost_group_id = p_from_cost_group_id
 and process_phase = 5
 and process_status = 4
);
Line: 320

select 1
into l_valid
from dual
where p_to_org_id in
(
   (select distinct CCGA.organization_id
    from cst_cost_group_assignments CCGA
    where CCGA.cost_group_id = p_from_cost_group_id
   )
   UNION
   (select distinct CCG.organization_id
    from cst_cost_groups CCG
    where CCG.cost_group_id = p_from_cost_group_id
   )
);
Line: 344

select 1
into l_valid
from dual
where p_to_cost_type_id in
                   (select distinct cost_type_id
                    from cst_cost_types
                    where organization_id =  p_to_org_id
                    and cost_type_id not in (1,2,3)
                    and nvl(allow_updates_flag,1) = 1
                    and nvl(disable_date, sysdate+1) > sysdate
                   )
and p_to_cost_type_id not in
                   (select distinct cost_type_id
                    from cst_le_cost_types
                   );
Line: 368

select 1
into l_valid
from dual
where p_material in
               (select resource_id
                from bom_resources
                where organization_id = p_to_org_id
                and cost_element_id = 1
                and default_basis_type = 1
                and nvl(disable_date, sysdate+1) > sysdate
                and nvl(allow_costs_flag,1) = 1
               );
Line: 391

select 1
into l_valid
from dual
where p_material_overhead in
               (select resource_id
                from bom_resources
                where organization_id = p_to_org_id
                and cost_element_id = 2
                and default_basis_type = 1
                and nvl(disable_date, sysdate+1) > sysdate
                and nvl(allow_costs_flag,1) = 1
               );
Line: 412

select 1
into l_valid
from dual
where p_resource in
               (select resource_id
                from bom_resources
                where organization_id = p_to_org_id
                and cost_element_id = 3
                and default_basis_type = 1
                and nvl(disable_date, sysdate+1) > sysdate
                and nvl(allow_costs_flag,1) = 1
               );
Line: 434

select 1
into l_valid
from dual
where p_outside_processing in
               (select resource_id
                from bom_resources
                where organization_id = p_to_org_id
                and cost_element_id = 4
                and default_basis_type = 1
                and nvl(disable_date, sysdate+1) > sysdate
                and nvl(allow_costs_flag,1) = 1
               );
Line: 455

select 1
into l_valid
from dual
where p_overhead in
               (select resource_id
                from bom_resources
                where organization_id = p_to_org_id
                and cost_element_id = 5
                and default_basis_type = 1
                and nvl(disable_date, sysdate+1) > sysdate
                and nvl(allow_costs_flag,1) = 1
               );
Line: 477

select 1
into l_valid
from dual
where p_copy_option in (1,2,3);
Line: 490

select 1
into l_valid
from dual
where p_range in (1,2,5);
Line: 511

   SELECT organization_id
   INTO   l_master_org_id
   FROM   cst_cost_groups ccg
   WHERE  ccg.cost_group_id = p_from_cost_group_id;
Line: 523

      FND_FILE.PUT_LINE(FND_FILE.LOG, 'Merge and Update Costs');
Line: 548

      DELETE cst_item_cost_details CICD
      WHERE CICD.cost_type_id    = p_to_cost_type_id
      AND   CICD.organization_id = p_to_org_id
      AND (p_range = 1
                OR
          (p_range = 2 AND CICD.inventory_item_id = p_specific_item_id)
                OR
             EXISTS
                  (SELECT NULL
                   FROM   mtl_item_categories   MIC
                   WHERE  MIC.organization_id   = l_master_org_id
                   AND    MIC.category_id       = p_category_id
                   AND    MIC.category_set_id   = p_category_set_id
                   AND    MIC.inventory_item_id = CICD.inventory_item_id
                   AND    p_range               = 5)
           )
      AND EXISTS
          (SELECT NULL
           FROM   cst_pac_item_cost_details cpicd,
                  cst_pac_item_costs cpic
	   WHERE  cpicd.cost_layer_id      = cpic.cost_layer_id
	   AND    cpic.cost_group_id       = p_from_cost_group_id
	   AND    cpic.pac_period_id       = p_period_id
	   AND    cpic.inventory_item_id   = cicd.inventory_item_id);
Line: 578

					||' Rows deleted from CICD');
Line: 589

      SELECT CST_LISTS_S.NEXTVAL INTO l_grp_id
      FROM dual;
Line: 592

      INSERT INTO cst_item_costs_interface
      (     inventory_item_id
      ,     cost_type_id
      ,     based_on_rollup_flag
      ,     group_id
      )
      SELECT
   	    inventory_item_id
      ,     p_to_cost_type_id
      ,     based_on_rollup_flag
      ,     l_grp_id
      FROM cst_item_costs CIC
      WHERE CIC.cost_type_id = p_to_cost_type_id
      AND   CIC.organization_id = p_to_org_id
      AND (p_range = 1
                OR
          (p_range = 2 AND CIC.inventory_item_id = p_specific_item_id)
                OR
             EXISTS
                  (SELECT NULL
                   FROM   mtl_item_categories   MIC
                   WHERE  MIC.organization_id   = l_master_org_id
                   AND    MIC.category_id       = p_category_id
                   AND    MIC.category_set_id   = p_category_set_id
                   AND    MIC.inventory_item_id = CIC.inventory_item_id
                   AND    p_range               = 5)
           )
      AND EXISTS
          (SELECT NULL
           FROM   cst_pac_item_costs cpic
	   WHERE  cpic.cost_group_id = p_from_cost_group_id
           AND    cpic.pac_period_id = p_period_id
           AND    cpic.inventory_item_id = cic.inventory_item_id);
Line: 635

      DELETE cst_item_costs CIC
      WHERE CIC.cost_type_id    = p_to_cost_type_id
      AND   CIC.organization_id = p_to_org_id
      AND (p_range = 1
                OR
          (p_range = 2 AND CIC.inventory_item_id = p_specific_item_id)
                OR
             EXISTS
                  (SELECT NULL
                   FROM   mtl_item_categories   MIC
                   WHERE  MIC.organization_id   = l_master_org_id
                   AND    MIC.category_id       = p_category_id
                   AND    MIC.category_set_id   = p_category_set_id
                   AND    MIC.inventory_item_id = CIC.inventory_item_id
                   AND    p_range               = 5)
           )
      AND EXISTS
          (SELECT NULL
           FROM   cst_pac_item_costs cpic
	   WHERE  cpic.cost_group_id = p_from_cost_group_id
           AND    cpic.pac_period_id = p_period_id
           AND    cpic.inventory_item_id = cic.inventory_item_id);
Line: 662

					||' Rows deleted from CIC');
Line: 675

      INSERT INTO cst_item_costs
      (     inventory_item_id
      ,     organization_id
      ,     cost_type_id
      ,     last_update_date
      ,     last_updated_by
      ,     creation_date
      ,     created_by
      ,     last_update_login
      ,     inventory_asset_flag
      ,     lot_size
      ,     based_on_rollup_flag
      ,     shrinkage_rate
      ,     defaulted_flag
      ,     cost_update_id
      ,     pl_material
      ,     pl_material_overhead
      ,     pl_resource
      ,     pl_outside_processing
      ,     pl_overhead
      ,     tl_material
      ,     tl_material_overhead
      ,     tl_resource
      ,     tl_outside_processing
      ,     tl_overhead
      ,     material_cost
      ,     material_overhead_cost
      ,     resource_cost
      ,     outside_processing_cost
      ,     overhead_cost
      ,     pl_item_cost
      ,     tl_item_cost
      ,     item_cost
      ,     unburdened_cost
      ,     burden_cost
      ,     request_id
      ,     program_application_id
      ,     program_id
      ,     program_update_date
      )
      SELECT
            CPIC.inventory_item_id
      ,     p_to_org_id
      ,     p_to_cost_type_id
      ,     SYSDATE
      ,     l_user_id
      ,     SYSDATE
      ,     l_user_id
      ,     l_login_id				-- last update login
      ,     decode(MSI.inventory_asset_flag , 'Y', 1, 2)
      ,     nvl(MSI.std_lot_size,1)
      ,     nvl(BORF.based_on_rollup_flag, nvl(dBORF.based_on_rollup_flag,1)) -- set the borf to pre-existing value/default
      ,     nvl(MSI.shrinkage_rate , 0)
      ,     2    			-- defaulted_flag
      ,     NULL 			-- cost_update_id
      ,     CPIC.pl_material
      ,     CPIC.pl_material_overhead
      ,     CPIC.pl_resource
      ,     CPIC.pl_outside_processing
      ,     CPIC.pl_overhead
      ,     CPIC.tl_material
      ,     CPIC.tl_material_overhead
      ,     CPIC.tl_resource
      ,     CPIC.tl_outside_processing
      ,     CPIC.tl_overhead
      ,     CPIC.material_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     CPIC.material_overhead_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     CPIC.resource_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     CPIC.outside_processing_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     CPIC.overhead_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     CPIC.pl_item_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     CPIC.tl_item_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     CPIC.item_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     CPIC.unburdened_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     CPIC.burden_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     l_request_id
      ,     702
      ,     l_program_id
      ,     SYSDATE
      FROM cst_pac_item_costs CPIC,
           mtl_system_items MSI,
           (SELECT inventory_item_id, based_on_rollup_flag
            FROM cst_item_costs_interface
            WHERE group_id = l_grp_id) BORF, -- based_on_rollup_flag backed up from destination cost type
           (SELECT cic.inventory_item_id, cic.based_on_rollup_flag
            FROM cst_cost_types cct, cst_item_costs cic
            WHERE cic.organization_id = p_to_org_id
            AND cct.cost_type_id = p_to_cost_type_id
            AND cic.cost_type_id = cct.default_cost_type_id) dBORF -- based_on_rollup_flag from default cost type
      WHERE CPIC.pac_period_id = p_period_id
      AND   CPIC.cost_group_id = p_from_cost_group_id
      AND   CPIC.inventory_item_id = MSI.inventory_item_id
      AND   MSI.organization_id = p_to_org_id
      AND   BORF.inventory_item_id(+) = CPIC.inventory_item_id
      AND   dBORF.inventory_item_id(+) = CPIC.inventory_item_id
      AND   (p_range = 1
                OR
            (p_range = 2 AND CPIC.inventory_item_id = p_specific_item_id)
                OR
             EXISTS
                  (SELECT NULL
                   FROM   mtl_item_categories   MIC
                   WHERE  MIC.organization_id   = l_master_org_id
                   AND    MIC.category_id       = p_category_id
                   AND    MIC.category_set_id   = p_category_set_id
                   AND    MIC.inventory_item_id = CPIC.inventory_item_id
                   AND    p_range               = 5)
             );
Line: 818

					||' Rows Inserted into CIC');
Line: 822

      DELETE cst_item_costs_interface
      WHERE group_id = l_grp_id;
Line: 829

                                        ||' Backup Rows deleted from CICI');
Line: 840

      INSERT INTO cst_item_cost_details
      (     inventory_item_id
      ,     organization_id
      ,     cost_type_id
      ,     last_update_date
      ,     last_updated_by
      ,     creation_date
      ,     created_by
      ,     last_update_login
      ,     level_type
      ,     resource_id
      ,     usage_rate_or_amount
      ,     basis_type
      ,     basis_resource_id
      ,     basis_factor
      ,     net_yield_or_shrinkage_factor
      ,     item_cost
      ,     cost_element_id
      ,     rollup_source_type
      ,     request_id
      ,     program_application_id
      ,     program_id
      ,     program_update_date
      )
      SELECT
            CPIC.inventory_item_id
      ,     p_to_org_id
      ,     p_to_cost_type_id
      ,     SYSDATE
      ,     l_user_id
      ,     SYSDATE
      ,     l_user_id
      ,     l_login_id
      ,     CPICD.level_type
      ,     decode(CPICD.cost_element_id,   	-- resource id
                   1, p_material,
                   2, p_material_overhead,
                   3, p_resource,
                   4, p_outside_processing,
                   5, p_overhead)
      ,     CPICD.item_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)  --usage_rate
      ,     1
      ,     NULL   				-- Basis resource_id
      ,     1      				-- basis_factor
      ,     1      				-- net_yield_or_shrinkage_factor
      ,     CPICD.item_cost *
			get_uom_conv_rate(CPIC.inventory_item_id,
					  l_master_org_id,
					  p_to_org_id)
      ,     CPICD.cost_element_id
      ,     1	    				-- rollup_source_type
      ,     l_request_id
      ,     702
      ,     l_program_id
      ,     SYSDATE
      FROM  cst_pac_item_costs CPIC,
            cst_pac_item_cost_details CPICD,
            mtl_system_items MSI               -- Bug 2570867 - joined with MSI to select only to_org items
      WHERE CPIC.pac_period_id = p_period_id
      AND   CPIC.cost_group_id = p_from_cost_group_id
      AND   CPIC.cost_layer_id = CPICD.cost_layer_id
      AND   MSI.inventory_item_id = CPIC.inventory_item_id
      AND   MSI.organization_id = p_to_org_id
      AND   (p_range = 1
                OR
            (p_range = 2 AND CPIC.inventory_item_id = p_specific_item_id)
                OR
             EXISTS
                  (SELECT NULL
                   FROM   mtl_item_categories   MIC
                   WHERE  MIC.organization_id   = l_master_org_id
                   AND    MIC.category_id       = p_category_id
                   AND    MIC.category_set_id   = p_category_set_id
                   AND    MIC.inventory_item_id = CPIC.inventory_item_id
                   AND    p_range               = 5)
             );
Line: 924

					||' Rows Inserted into CICD: ');
Line: 932

      FND_FILE.PUT_LINE(FND_FILE.LOG, 'Insert New Cost Information Only');
Line: 952

      INSERT INTO cst_item_costs
      (     inventory_item_id
      ,     organization_id
      ,     cost_type_id
      ,     last_update_date
      ,     last_updated_by
      ,     creation_date
      ,     created_by
      ,     last_update_login
      ,     inventory_asset_flag
      ,     lot_size
      ,     based_on_rollup_flag
      ,     shrinkage_rate
      ,     defaulted_flag
      ,     cost_update_id
      ,     pl_material
      ,     pl_material_overhead
      ,     pl_resource
      ,     pl_outside_processing
      ,     pl_overhead
      ,     tl_material
      ,     tl_material_overhead
      ,     tl_resource
      ,     tl_outside_processing
      ,     tl_overhead
      ,     material_cost
      ,     material_overhead_cost
      ,     resource_cost
      ,     outside_processing_cost
      ,     overhead_cost
      ,     pl_item_cost
      ,     tl_item_cost
      ,     item_cost
      ,     unburdened_cost
      ,     burden_cost
      ,     request_id
      ,     program_application_id
      ,     program_id
      ,     program_update_date
      )
      SELECT
            CPIC.inventory_item_id
      ,     p_to_org_id
      ,     p_to_cost_type_id
      ,     SYSDATE
      ,     l_user_id
      ,     SYSDATE
      ,     l_user_id
      ,     l_login_id
      ,     decode(MSI.inventory_asset_flag,'Y',1,2)
      ,     nvl(MSI.std_lot_size,1)
      ,     nvl(dBORF.based_on_rollup_flag,1) -- default the borf to 1 if not in default cost type
      ,     nvl(MSI.shrinkage_rate,0)
      ,     2				-- defaulted flag
      ,     NULL                        -- cost update id
      ,     CPIC.pl_material
      ,     CPIC.pl_material_overhead
      ,     CPIC.pl_resource
      ,     CPIC.pl_outside_processing
      ,     CPIC.pl_overhead
      ,     CPIC.tl_material
      ,     CPIC.tl_material_overhead
      ,     CPIC.tl_resource
      ,     CPIC.tl_outside_processing
      ,     CPIC.tl_overhead
      ,     CPIC.material_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     CPIC.material_overhead_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     CPIC.resource_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     CPIC.outside_processing_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     CPIC.overhead_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     CPIC.pl_item_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     CPIC.tl_item_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     CPIC.item_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     CPIC.unburdened_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     CPIC.burden_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)

      ,     l_request_id
      ,     702
      ,     l_program_id
      ,     SYSDATE
      FROM cst_pac_item_costs CPIC,
           mtl_system_items MSI,
           (SELECT cic.inventory_item_id, based_on_rollup_flag
            FROM cst_cost_types cct, cst_item_costs cic
            WHERE cic.organization_id = p_to_org_id
            AND cct.cost_type_id = p_to_cost_type_id
            AND cic.cost_type_id = cct.default_cost_type_id) dBORF -- based_on_rollup_flag from default cost type

      WHERE CPIC.pac_period_id = p_period_id
      AND   CPIC.cost_group_id = p_from_cost_group_id
      AND   CPIC.inventory_item_id = MSI.inventory_item_id
      AND   MSI.organization_id = p_to_org_id
      AND   dBORF.inventory_item_id(+) = CPIC.inventory_item_id
      AND   (p_range = 1
                OR
            (p_range = 2 AND CPIC.inventory_item_id = p_specific_item_id)
                OR
             EXISTS
                  (SELECT NULL
                   FROM   mtl_item_categories   MIC
                   WHERE  MIC.organization_id   = l_master_org_id
                   AND    MIC.category_id       = p_category_id
                   AND    MIC.category_set_id   = p_category_set_id
                   AND    MIC.inventory_item_id = CPIC.inventory_item_id
                   AND    p_range               = 5)
             )
     AND NOT EXISTS
          (SELECT 'x'
           FROM  cst_item_costs       CIC
           WHERE CIC.cost_type_id      = p_to_cost_type_id
           AND   CIC.organization_id   = p_to_org_id
           AND   CIC.inventory_item_id = CPIC.inventory_item_id);
Line: 1099

					||' Rows Inserted into CIC');
Line: 1113

      INSERT INTO cst_item_cost_details
      (     inventory_item_id
      ,     organization_id
      ,     cost_type_id
      ,     last_update_date
      ,     last_updated_by
      ,     creation_date
      ,     created_by
      ,     last_update_login
      ,     level_type
      ,     resource_id
      ,     usage_rate_or_amount
      ,     basis_type
      ,     basis_resource_id
      ,     basis_factor
      ,     net_yield_or_shrinkage_factor
      ,     item_cost
      ,     cost_element_id
      ,     rollup_source_type
      ,     request_id
      ,     program_application_id
      ,     program_id
      ,     program_update_date
      )
      SELECT
            CPIC.inventory_item_id
      ,     p_to_org_id
      ,     p_to_cost_type_id
      ,     SYSDATE
      ,     l_user_id
      ,     SYSDATE
      ,     l_user_id
      ,     l_login_id
      ,     CPICD.level_type
      ,     decode(CPICD.cost_element_id,       -- resource id
                   1, p_material,
                   2, p_material_overhead,
                   3, p_resource,
                   4, p_outside_processing,
                   5, p_overhead)
      ,     CPICD.item_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)  --usage_rate
      ,     1					-- basis_type
      ,     NULL				-- basis_resource_id
      ,     1					-- basis_factor
      ,     1 					-- net_yield_or_shrinkage_factor
      ,     CPICD.item_cost*
			    get_uom_conv_rate(CPIC.inventory_item_id,
					      l_master_org_id,
					      p_to_org_id)
      ,     CPICD.cost_element_id
      ,     1	    -- rollup_source_type
      ,     l_request_id
      ,     702
      ,     l_program_id
      ,     SYSDATE
      FROM  cst_pac_item_costs CPIC,
            cst_pac_item_cost_details CPICD,
            mtl_system_items MSI               -- Bug 2570867 - joined with MSI to select only to_org items
      WHERE CPIC.pac_period_id = p_period_id
      AND   CPIC.cost_group_id = p_from_cost_group_id
      AND   CPIC.cost_layer_id = CPICD.cost_layer_id
      AND   MSI.inventory_item_id = CPIC.inventory_item_id
      AND   MSI.organization_id = p_to_org_id
      AND   (p_range = 1
                OR
            (p_range = 2 AND CPIC.inventory_item_id = p_specific_item_id)
                OR
             EXISTS
                  (SELECT NULL
                   FROM   mtl_item_categories   MIC
                   WHERE  MIC.organization_id   = l_master_org_id
                   AND    MIC.category_id       = p_category_id
                   AND    MIC.category_set_id   = p_category_set_id
                   AND    MIC.inventory_item_id = CPIC.inventory_item_id
                   AND    p_range               = 5)
             )
-- Bug 2619991 - Commented out this NOT EXISTS check.
-- Statment 70 already makes this check and then inserts to CIC, so this always fails.
/*
      AND NOT EXISTS
          (SELECT 'x'
           FROM  cst_item_costs       CIC
           WHERE CIC.cost_type_id      = p_to_cost_type_id
           AND   CIC.organization_id   = p_to_org_id
           AND   CIC.inventory_item_id = CPIC.inventory_item_id)
*/
      AND NOT EXISTS
          (SELECT 'x'
           FROM  cst_item_cost_details CICD
           WHERE CICD.cost_type_id      = p_to_cost_type_id
           AND   CICD.organization_id   = p_to_org_id
           AND   CICD.inventory_item_id = CPIC.inventory_item_id);
Line: 1213

					||' Rows Inserted into CICD');
Line: 1242

      DELETE cst_item_cost_details CICD
      WHERE CICD.cost_type_id    = p_to_cost_type_id
      AND   CICD.organization_id = p_to_org_id
      AND (p_range = 1
                OR
          (p_range = 2 AND CICD.inventory_item_id = p_specific_item_id)
                OR
             EXISTS
                  (SELECT NULL
                   FROM   mtl_item_categories   MIC
                   WHERE  MIC.organization_id   = l_master_org_id
                   AND    MIC.category_id       = p_category_id
                   AND    MIC.category_set_id   = p_category_set_id
                   AND    MIC.inventory_item_id = CICD.inventory_item_id
                   AND    p_range               = 5)
           );
Line: 1263

					||' Rows deleted from CICD');
Line: 1275

      SELECT CST_LISTS_S.NEXTVAL INTO l_grp_id
      FROM dual;
Line: 1278

      INSERT INTO cst_item_costs_interface
      (     inventory_item_id
      ,     cost_type_id
      ,     based_on_rollup_flag
      ,     group_id
      )
      SELECT
   	    inventory_item_id
      ,     p_to_cost_type_id
      ,     based_on_rollup_flag
      ,     l_grp_id
      FROM cst_item_costs CIC
      WHERE CIC.cost_type_id = p_to_cost_type_id
      AND   CIC.organization_id = p_to_org_id
      AND (p_range = 1
                OR
          (p_range = 2 AND CIC.inventory_item_id = p_specific_item_id)
                OR
             EXISTS
                  (SELECT NULL
                   FROM   mtl_item_categories   MIC
                   WHERE  MIC.organization_id   = l_master_org_id
                   AND    MIC.category_id       = p_category_id
                   AND    MIC.category_set_id   = p_category_set_id
                   AND    MIC.inventory_item_id = CIC.inventory_item_id
                   AND    p_range               = 5)
           )
      AND EXISTS
          (SELECT NULL
           FROM   cst_pac_item_costs cpic
	   WHERE  cpic.cost_group_id = p_from_cost_group_id
           AND    cpic.pac_period_id = p_period_id
           AND    cpic.inventory_item_id = cic.inventory_item_id);
Line: 1322

      DELETE cst_item_costs CIC
      WHERE CIC.cost_type_id    = p_to_cost_type_id
      AND   CIC.organization_id = p_to_org_id
      AND (p_range = 1
                OR
          (p_range = 2 AND CIC.inventory_item_id = p_specific_item_id)
                OR
             EXISTS
                  (SELECT NULL
                   FROM   mtl_item_categories   MIC
                   WHERE  MIC.organization_id   = l_master_org_id
                   AND    MIC.category_id       = p_category_id
                   AND    MIC.category_set_id   = p_category_set_id
                   AND    MIC.inventory_item_id = CIC.inventory_item_id
                   AND    p_range               = 5)
           );
Line: 1343

					||' Rows deleted from CIC');
Line: 1356

      INSERT INTO cst_item_costs
      (     inventory_item_id
      ,     organization_id
      ,     cost_type_id
      ,     last_update_date
      ,     last_updated_by
      ,     creation_date
      ,     created_by
      ,     last_update_login
      ,     inventory_asset_flag
      ,     lot_size
      ,     based_on_rollup_flag
      ,     shrinkage_rate
      ,     defaulted_flag
      ,     cost_update_id
      ,     pl_material
      ,     pl_material_overhead
      ,     pl_resource
      ,     pl_outside_processing
      ,     pl_overhead
      ,     tl_material
      ,     tl_material_overhead
      ,     tl_resource
      ,     tl_outside_processing
      ,     tl_overhead
      ,     material_cost
      ,     material_overhead_cost
      ,     resource_cost
      ,     outside_processing_cost
      ,     overhead_cost
      ,     pl_item_cost
      ,     tl_item_cost
      ,     item_cost
      ,     unburdened_cost
      ,     burden_cost
      ,     request_id
      ,     program_application_id
      ,     program_id
      ,     program_update_date
      )
      SELECT
            CPIC.inventory_item_id
      ,     p_to_org_id
      ,     p_to_cost_type_id
      ,     SYSDATE
      ,     l_user_id
      ,     SYSDATE
      ,     l_user_id
      ,     l_login_id
      ,     decode(MSI.inventory_asset_flag, 'Y', 1, 2) --inventory_asset_flag
      ,     nvl(MSI.std_lot_size,1)
      ,     nvl(BORF.based_on_rollup_flag, nvl(dBORF.based_on_rollup_flag,1)) -- set the borf to pre-existing value/default
      ,     nvl(MSI.shrinkage_rate,0)
      ,     2					-- defaulted_flag
      ,     NULL				-- cost_update_id
      ,     CPIC.pl_material
      ,     CPIC.pl_material_overhead
      ,     CPIC.pl_resource
      ,     CPIC.pl_outside_processing
      ,     CPIC.pl_overhead
      ,     CPIC.tl_material
      ,     CPIC.tl_material_overhead
      ,     CPIC.tl_resource
      ,     CPIC.tl_outside_processing
      ,     CPIC.tl_overhead
      ,     CPIC.material_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     CPIC.material_overhead_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     CPIC.resource_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     CPIC.outside_processing_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     CPIC.overhead_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     CPIC.pl_item_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     CPIC.tl_item_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     CPIC.item_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     CPIC.unburdened_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     CPIC.burden_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     l_request_id
      ,     702
      ,     l_program_id
      ,     SYSDATE
      FROM cst_pac_item_costs CPIC,
           mtl_system_items MSI,
           (SELECT inventory_item_id, based_on_rollup_flag
            FROM cst_item_costs_interface
            WHERE group_id = l_grp_id) BORF, -- based_on_rollup_flag backed up from destination cost type
           (SELECT cic.inventory_item_id, cic.based_on_rollup_flag
            FROM cst_cost_types cct, cst_item_costs cic
            WHERE cic.organization_id = p_to_org_id
            AND cct.cost_type_id = p_to_cost_type_id
            AND cic.cost_type_id = cct.default_cost_type_id) dBORF -- based_on_rollup_flag from default cost type
      WHERE CPIC.pac_period_id = p_period_id
      AND   CPIC.cost_group_id = p_from_cost_group_id
      AND   CPIC.inventory_item_id = MSI.inventory_item_id
      AND   MSI.organization_id = p_to_org_id
      AND   BORF.inventory_item_id(+) = CPIC.inventory_item_id
      AND   dBORF.inventory_item_id(+) = CPIC.inventory_item_id
      AND   (p_range = 1
                OR
            (p_range = 2 AND CPIC.inventory_item_id = p_specific_item_id)
                OR
             EXISTS
                  (SELECT NULL
                   FROM   mtl_item_categories   MIC
                   WHERE  MIC.organization_id   = l_master_org_id
                   AND    MIC.category_id       = p_category_id
                   AND    MIC.category_set_id   = p_category_set_id
                   AND    MIC.inventory_item_id = CPIC.inventory_item_id
                   AND    p_range               = 5)
             );
Line: 1499

					||' Rows Inserted into CIC');
Line: 1503

      DELETE cst_item_costs_interface
      WHERE group_id = l_grp_id;
Line: 1510

                                        ||' Backup Rows deleted from CICI');
Line: 1522

      INSERT INTO cst_item_cost_details
      (     inventory_item_id
      ,     organization_id
      ,     cost_type_id
      ,     last_update_date
      ,     last_updated_by
      ,     creation_date
      ,     created_by
      ,     last_update_login
      ,     level_type
      ,     resource_id
      ,     usage_rate_or_amount
      ,     basis_type
      ,     basis_resource_id
      ,     basis_factor
      ,     net_yield_or_shrinkage_factor
      ,     item_cost
      ,     cost_element_id
      ,     rollup_source_type
      ,     request_id
      ,     program_application_id
      ,     program_id
      ,     program_update_date
      )
      SELECT
            CPIC.inventory_item_id
      ,     p_to_org_id
      ,     p_to_cost_type_id
      ,     SYSDATE
      ,     l_user_id
      ,     SYSDATE
      ,     l_user_id
      ,     l_login_id
      ,     CPICD.level_type
      ,     decode(CPICD.cost_element_id,   -- For resource id
                   1, p_material,
                   2, p_material_overhead,
                   3, p_resource,
                   4, p_outside_processing,
                   5, p_overhead)
      ,     CPICD.item_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)  --usage_rate
      ,     1				-- basis_type
      ,     NULL 			-- basis_resource_id
      ,     1				-- basis_factor
      ,     1  				-- net_yield_or_shrinkage_factor
      ,     CPICD.item_cost *
				get_uom_conv_rate(CPIC.inventory_item_id,
						  l_master_org_id,
						  p_to_org_id)
      ,     CPICD.cost_element_id
      ,     1	    -- rollup_source_type
      ,     l_request_id
      ,     702
      ,     l_program_id
      ,     SYSDATE
      FROM  cst_pac_item_costs CPIC,
            cst_pac_item_cost_details CPICD,
            mtl_system_items MSI               -- Bug 2570867 - joined with MSI to select only to_org items
      WHERE CPIC.pac_period_id = p_period_id
      AND   CPIC.cost_group_id = p_from_cost_group_id
      AND   CPIC.cost_layer_id = CPICD.cost_layer_id
      AND   MSI.inventory_item_id = CPIC.inventory_item_id
      AND   MSI.organization_id = p_to_org_id
      AND   (p_range = 1
                OR
            (p_range = 2 AND CPIC.inventory_item_id = p_specific_item_id)
                OR
             EXISTS
                  (SELECT NULL
                   FROM   mtl_item_categories   MIC
                   WHERE  MIC.organization_id   = l_master_org_id
                   AND    MIC.category_id       = p_category_id
                   AND    MIC.category_set_id   = p_category_set_id
                   AND    MIC.inventory_item_id = CPIC.inventory_item_id
                   AND    p_range               = 5)
             );
Line: 1606

					||' Rows Inserted into CICD');