DBA Data[Home] [Help]

APPS.CSTPACWC SQL Statements

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

Line: 35

 l_insert_ind			NUMBER;
Line: 53

      SELECT
         wip_entity_id,
         organization_id,
         inventory_item_id,
         operation_seq_num,
         wip_supply_type
      FROM
         wip_requirement_operations wro
      WHERE
         --
         -- Exclude bulk, supplier, phantom
         --
         wro.wip_supply_type   not in  (4,5,6)         AND
         wro.wip_entity_id     =       i_wip_entity_id AND
         wro.organization_id   =       i_org_id        AND
         wro.quantity_per_assembly     <> 0;
Line: 75

         SELECT
            wip_entity_id,
            organization_id,
            inventory_item_id,
            operation_seq_num,
            wip_supply_type
         FROM
            wip_requirement_operations wro
         WHERE
            wro.wip_entity_id     =       i_wip_entity_id AND
            wro.organization_id   =       i_org_id ;
Line: 90

      SELECT
         cost_element_id,
         sum(
                nvl(applied_matl_value,0) -
                nvl(relieved_matl_completion_value,0) -
                nvl(relieved_variance_value,0) -
                nvl(relieved_matl_scrap_value,0)
            )
      FROM
         wip_req_operation_cost_details
      WHERE
         wip_entity_id = i_wip_entity_id
      GROUP BY
         cost_element_id;
Line: 135

        UPDATE wip_req_operation_cost_details
        SET temp_relieved_value = 0
        WHERE
        WIP_ENTITY_ID = i_wip_entity_id AND
        ORGANIZATION_ID = i_org_id;
Line: 143

        UPDATE WIP_OPERATION_RESOURCES
        SET temp_relieved_value = 0
        WHERE
        WIP_ENTITY_ID = i_wip_entity_id AND
        ORGANIZATION_ID = i_org_id;
Line: 151

        UPDATE WIP_OPERATION_OVERHEADS
        SET temp_relieved_value = 0
        WHERE
        WIP_ENTITY_ID = i_wip_entity_id AND
        ORGANIZATION_ID = i_org_id;
Line: 160

        select wac.completion_cost_source, nvl(wac.cost_type_id,-1),
               wdj.start_quantity,nvl(wac.SYSTEM_OPTION_ID,-1)
        into l_comp_cost_source,l_c_cost_type_id,l_lot_size,l_system_option_id
        from
        wip_accounting_classes wac,
        wip_discrete_jobs wdj
        where
        wdj.wip_entity_id		=	i_wip_entity_id		and
        wdj.organization_id		=	i_org_id		and
        wdj.class_code			=	wac.class_code		and
        wdj.organization_id		=	wac.organization_id;
Line: 182

        SELECT
        decode(job_type,
               1,decode(bom_revision,
                        NULL,decode(routing_revision,NULL,-1,1),
                        1),
               3,decode(bom_reference_id,
                        NULL,decode(routing_reference_id,NULL,-1,1),
                        1),
               1)
        into
        l_use_val_cost_type
        from
        WIP_DISCRETE_JOBS
        WHERE
        WIP_ENTITY_ID		=		i_wip_entity_id		AND
        ORGANIZATION_ID		=		i_org_id;
Line: 204

           select count(*)
           into l_qty_per_assy
           from wip_requirement_operations
           where wip_entity_id = i_wip_entity_id
           and quantity_per_assembly <>0;
Line: 210

            SELECT count(1)
            INTO   l_qty_per_assy
            FROM   dual
            WHERE  EXISTS ( SELECT NULL
                            FROM   wip_requirement_operations wro
                            WHERE  wro.wip_entity_id = i_wip_entity_id
                            AND    wro.quantity_per_assembly <>0
                                UNION ALL
                            SELECT NULL
                            FROM   wip_operation_resources wor
                            WHERE  wor.wip_entity_id = i_wip_entity_id
                            AND    wor.usage_rate_or_amount <>0
                           );
Line: 251

        | Initialize insert indicator : This will indicate to us if we
        | need to insert a row into cst_txn_cost_details in the last
        | step. There are cases where the algorithm inserts into
        | cst_txn_cost_details without updating the detailed wip
        | tables. In these cases
        | we will directly insert into cst_txn_cost_details
        | and so we need to skip the insert stmt in
        | the end.
        |--------------------------------------------------------------*/

        l_insert_ind := 0;
Line: 338

           completion also.Update of WRO is now in loop */
     FOR wro_rec IN c_wip_final_req_op LOOP

      l_future_issued_qty := 0;
Line: 345

            SELECT   nvl(sum(primary_quantity),0)
            INTO     l_future_issued_qty
            FROM     mtl_material_transactions
            WHERE    organization_id = wro_rec.organization_id
            AND      inventory_item_id = wro_rec.inventory_item_id
            AND      operation_seq_num = wro_rec.operation_seq_num
            AND      transaction_source_id = wro_rec.wip_entity_id
            AND      ( (transaction_date > i_txn_date) or
                       (transaction_date = i_txn_date and transaction_id > i_trx_id) )
            AND      costed_flag IS NOT NULL
            AND      nvl(completion_transaction_id,-999) <>
                        ( Select   nvl(completion_transaction_id,-999)
                          from     mtl_material_transactions
                          where    transaction_id = i_trx_id);
Line: 366

        UPDATE wip_requirement_operations w
        SET
         relieved_matl_completion_qty =
         (SELECT
           nvl(quantity_issued,0)-
           nvl(relieved_matl_final_comp_qty,0)-
           nvl(relieved_matl_scrap_quantity,0) +
	   l_future_issued_qty /* for bug  4246122 */
          FROM wip_requirement_operations w2
          WHERE
          w.wip_entity_id     = w2.wip_entity_id     AND
          w.organization_id   = w2.organization_id   AND
          w.inventory_item_id = w2.inventory_item_id AND
          w.operation_seq_num = w2.operation_seq_num
         )
        WHERE
         w.wip_entity_id   = i_wip_entity_id AND
         w.organization_id = i_org_id AND
	 w.inventory_item_id = wro_rec.inventory_item_id AND /*added for bug 4246122 */
         w.operation_seq_num = wro_rec.operation_seq_num /*added for bug 4246122 */
        AND  exists (
                  SELECT 'x'
                  FROM  wip_req_operation_cost_details wrocd
                  WHERE wrocd.wip_entity_id   = w.wip_entity_id
                  AND   wrocd.organization_id = w.organization_id
                  GROUP BY
                  wrocd.wip_entity_id,
                  wrocd.organization_id,
                  wrocd.cost_element_id
                  HAVING sum(nvl(applied_matl_value,0) -
                             nvl(relieved_matl_completion_value,0) -
                             nvl(relieved_variance_value,0) -
                             nvl(relieved_matl_scrap_value,0)) >= 0
               );
Line: 404

        UPDATE wip_requirement_operations w
        SET
         relieved_matl_final_comp_qty =
         (SELECT
           nvl(quantity_issued,0)-
           nvl(relieved_matl_completion_qty,0)-
           nvl(relieved_matl_scrap_quantity,0) +
	   l_future_issued_qty /* for bug 4246122 */
          FROM wip_requirement_operations w2
          WHERE
          w.wip_entity_id     = w2.wip_entity_id     AND
          w.organization_id   = w2.organization_id   AND
          w.inventory_item_id = w2.inventory_item_id AND
          w.operation_seq_num = w2.operation_seq_num
         )
        WHERE
         w.wip_entity_id   = i_wip_entity_id AND
         w.organization_id = i_org_id AND
         w.inventory_item_id = wro_rec.inventory_item_id AND /* added for bug 4246122 */
         w.operation_seq_num = wro_rec.operation_seq_num /*added for bug 4246122 */
        AND  not exists (
                  SELECT 'x'
                  FROM  wip_req_operation_cost_details wrocd
                  WHERE wrocd.wip_entity_id   = w.wip_entity_id
                  AND   wrocd.organization_id = w.organization_id
                  GROUP BY
                  wrocd.wip_entity_id,
                  wrocd.organization_id,
                  wrocd.cost_element_id
                  HAVING sum(nvl(applied_matl_value,0) -
                             nvl(relieved_matl_completion_value,0) -
                             nvl(relieved_variance_value,0) -
                             nvl(relieved_matl_scrap_value,0)) >= 0
               );
Line: 448

                        UPDATE 	wip_req_operation_cost_details w
                        SET    	relieved_matl_completion_value =
                                        nvl(applied_matl_value,0)-
                                        nvl(relieved_variance_value,0)-
                                        nvl(relieved_matl_scrap_value,0),
                                temp_relieved_value =
                                        nvl(applied_matl_value,0)-
                                        nvl(relieved_matl_completion_value,0)-
                                        nvl(relieved_variance_value,0)-
                                        nvl(relieved_matl_scrap_value,0)
                        WHERE	w.wip_entity_id = i_wip_entity_id AND
                                w.cost_element_id = l_cost_element;
Line: 462

                        UPDATE 	wip_req_operation_cost_details w
                        SET	relieved_variance_value =
                                        nvl(applied_matl_value,0)-
                                        nvl(relieved_matl_completion_value,0)-
                                        nvl(relieved_matl_scrap_value,0),
                                temp_relieved_value =
                                        nvl(applied_matl_value,0)-
                                        nvl(relieved_matl_completion_value,0)-
                                        nvl(relieved_variance_value,0)-
                                        nvl(relieved_matl_scrap_value,0)
                        WHERE	w.wip_entity_id = i_wip_entity_id AND
                                w.cost_element_id = l_cost_element;
Line: 482

        UPDATE wip_operation_resources w
        SET
        (relieved_res_completion_units,
         relieved_res_completion_value,
         temp_relieved_value
         ) = (
              SELECT
                 ---
                 ---  relieved_res_completion_units
                 ---
                 nvl(applied_resource_units,0)-
                 nvl(relieved_res_final_comp_units,0)-
                 nvl(relieved_res_scrap_units,0),
                 ---
                 ---  relieved_res_completion_value
                 ---
                 nvl(applied_resource_value,0)-
                 nvl(relieved_variance_value,0)-
                 nvl(relieved_res_scrap_value,0),
                 ---
                 ---  temp_relieved_value
                 ---
                 nvl(applied_resource_value,0)-
                 nvl(relieved_res_completion_value,0)-
                 nvl(relieved_variance_value,0)-
                 nvl(relieved_res_scrap_value,0)
              FROM wip_operation_resources w2
              WHERE
               w.wip_entity_id     = w2.wip_entity_id and
               w.organization_id   = w2.organization_id and
               w.operation_seq_num = w2.operation_seq_num and
               w.resource_seq_num  = w2.resource_seq_num
             )
        WHERE w.wip_entity_id   = i_wip_entity_id
        AND   w.organization_id = i_org_id
        AND EXISTS
            (SELECT null
             FROM  wip_operation_resources   wor,
                   bom_resources             br
             WHERE wor.wip_entity_id   = i_wip_entity_id
             AND   wor.organization_id = i_org_id
             AND   wor.organization_id = br.organization_id
             AND   wor.resource_id     = br.resource_id
             AND EXISTS
                 (SELECT null
                  FROM wip_operation_resources      w3,
                       bom_resources                br3
                  WHERE w3.wip_entity_id      = i_wip_entity_id
                  AND   w3.organization_id    = i_org_id
                  AND   w3.resource_seq_num   = w.resource_seq_num
                  AND   w3.operation_seq_num  = w.operation_seq_num
                  AND   w3.resource_id        = br3.resource_id
                  AND   w3.organization_id    = br3.organization_id
                  AND   br3.cost_element_id   = br.cost_element_id)
            GROUP BY br.cost_element_id
            HAVING sum(nvl(applied_resource_value,0) -
                       nvl(relieved_res_completion_value,0) -
                       nvl(relieved_variance_value,0) -
                       nvl(relieved_res_scrap_value,0)) >= 0);
Line: 543

if stmt 120 updates wor rows*/
       if (SQL%ROWCOUNT = 0) then
        stmt_num := 121;
Line: 548

        UPDATE wip_operation_resources w
        SET
         (relieved_res_final_comp_units,
          relieved_variance_value,
          temp_relieved_value
         ) = (
              SELECT
                 ---
                 ---  relieved_res_final_comp_units
                 ---
                 nvl(applied_resource_units,0)-
                 nvl(relieved_res_completion_units,0)-
                 nvl(relieved_res_scrap_units,0),
                 ---
                 ---  relieved_variance_value
                 ---
                 nvl(applied_resource_value,0)-
                 nvl(relieved_res_completion_value,0)-
                 nvl(relieved_res_scrap_value,0),
                 ---
                 ---  temp_relieved_value
                 ---
                 nvl(applied_resource_value,0)-
                 nvl(relieved_res_completion_value,0)-
                 nvl(relieved_variance_value,0)-
                 nvl(relieved_res_scrap_value,0)
              FROM wip_operation_resources w2
              WHERE
               w.wip_entity_id     = w2.wip_entity_id and
               w.organization_id   = w2.organization_id and
               w.operation_seq_num = w2.operation_seq_num and
               w.resource_seq_num  = w2.resource_seq_num
             )
        WHERE w.wip_entity_id   = i_wip_entity_id
        AND   w.organization_id = i_org_id
        AND EXISTS
            (SELECT null
             FROM  wip_operation_resources   wor,
                   bom_resources             br
             WHERE wor.wip_entity_id   = i_wip_entity_id
             AND   wor.organization_id = i_org_id
             AND   wor.organization_id = br.organization_id
             AND   wor.resource_id     = br.resource_id
             AND EXISTS
                 (SELECT null
                  FROM wip_operation_resources      w3,
                       bom_resources                br3
                  WHERE w3.wip_entity_id      = i_wip_entity_id
                  AND   w3.organization_id    = i_org_id
                  AND   w3.resource_seq_num   = w.resource_seq_num
                  AND   w3.operation_seq_num  = w.operation_seq_num
                  AND   w3.resource_id        = br3.resource_id
                  AND   w3.organization_id    = br3.organization_id
                  AND   br3.cost_element_id   = br.cost_element_id)
            GROUP BY br.cost_element_id
            HAVING sum(nvl(applied_resource_value,0) -
                       nvl(relieved_res_completion_value,0) -
                       nvl(relieved_variance_value,0) -
                       nvl(relieved_res_scrap_value,0)) < 0);
Line: 620

        UPDATE wip_operation_overheads w
        set (relieved_ovhd_completion_units,
             relieved_ovhd_completion_value,
             temp_relieved_value) =
                (SELECT
                   ---
                   ---  relieved_ovhd_completion_units
                   ---
                   nvl(applied_ovhd_units,0)-
                   nvl(relieved_ovhd_scrap_units,0) -
                   nvl(relieved_ovhd_final_comp_units,0),
                   ---
                   ---  relieved_ovhd_completion_value
                   ---
                   nvl(applied_ovhd_value,0)-
                   nvl(relieved_ovhd_scrap_value,0) -
                   nvl(relieved_variance_value,0),
                   ---
                   ---  temp_relieved_value
                   ---
                   nvl(applied_ovhd_value,0)-
                   nvl(relieved_ovhd_completion_value,0)-
                   nvl(relieved_variance_value,0)-
                   nvl(relieved_ovhd_scrap_value,0)
                FROM
                 wip_operation_overheads w2
                 where
                 w.wip_entity_id     = w2.wip_entity_id     AND
                 w.organization_id   = w2.organization_id   AND
                 w.operation_seq_num = w2.operation_seq_num AND
                 w.resource_seq_num  = w2.resource_seq_num  AND
                 w.overhead_id       = w2.overhead_id       AND
                 w.basis_type        = w2.basis_type
                 )
        WHERE
        w.wip_entity_id   = i_wip_entity_id AND
        w.organization_id = i_org_id
        AND  exists (
                  SELECT 'x'
                  FROM  wip_operation_overheads woo
                  WHERE woo.wip_entity_id   = w.wip_entity_id
                  AND   woo.organization_id = w.organization_id
                  HAVING sum(nvl(applied_ovhd_value,0) -
                             nvl(relieved_ovhd_completion_value,0) -
                             nvl(relieved_variance_value,0) -
                             nvl(relieved_ovhd_scrap_value,0)) >= 0
               );
Line: 669

if stmt 132 updates woo rows*/
       if (SQL%ROWCOUNT = 0) then
        stmt_num := 133;
Line: 674

        UPDATE wip_operation_overheads w
        set (relieved_ovhd_final_comp_units,
             relieved_variance_value,
             temp_relieved_value) =
                (SELECT
                   ---
                   ---  relieved_ovhd_final_comp_units
                   ---
                   nvl(applied_ovhd_units,0)-
                   nvl(relieved_ovhd_completion_units,0)-
                   nvl(relieved_ovhd_scrap_units,0),
                   ---
                   ---  relieved_variance_value
                   ---
                   nvl(applied_ovhd_value,0)-
                   nvl(relieved_ovhd_completion_value,0)-
                   nvl(relieved_ovhd_scrap_value,0),
                   ---
                   ---  temp_relieved_value
                   ---
                   nvl(applied_ovhd_value,0)-
                   nvl(relieved_ovhd_completion_value,0)-
                   nvl(relieved_variance_value,0)-
                   nvl(relieved_ovhd_scrap_value,0)
                FROM
                 wip_operation_overheads w2
                 where
                 w.wip_entity_id     = w2.wip_entity_id     AND
                 w.organization_id   = w2.organization_id   AND
                 w.operation_seq_num = w2.operation_seq_num AND
                 w.resource_seq_num  = w2.resource_seq_num  AND
                 w.overhead_id       = w2.overhead_id       AND
                 w.basis_type        = w2.basis_type
                 )
        WHERE
        w.wip_entity_id   = i_wip_entity_id AND
        w.organization_id = i_org_id
        AND  exists (
                  SELECT 'x'
                  FROM  wip_operation_overheads woo
                  WHERE woo.wip_entity_id   = w.wip_entity_id
                  AND   woo.organization_id = w.organization_id
                  HAVING sum(nvl(applied_ovhd_value,0) -
                             nvl(relieved_ovhd_completion_value,0) -
                             nvl(relieved_variance_value,0) -
                             nvl(relieved_ovhd_scrap_value,0)) < 0
               );
Line: 740

        | Set the insert indicator to ensure that we skip the insert
        | into cst_txn_cst_details at the end of the file.
        | Then insert into mtl_cst_txn_cost_details in 2 passes,
        | one for PL costs and one for TL costs ...
        |-----------------------------------------------------------*/


        /*-------------------------------------------------------
        | TL MO should never be inserted - it will be earned by
        | the Cost processor, so weed out cost_element_id = 2
        |______________________________________________________*/

        l_insert_ind := 1;
Line: 757

        INSERT INTO mtl_cst_txn_cost_details
        (
         TRANSACTION_ID,
         ORGANIZATION_ID,
         INVENTORY_ITEM_ID,
         COST_ELEMENT_ID,
         LEVEL_TYPE,
         TRANSACTION_COST,
         NEW_AVERAGE_COST,
         PERCENTAGE_CHANGE,
         VALUE_CHANGE,
         LAST_UPDATE_DATE,
         LAST_UPDATED_BY,
         CREATION_DATE,
         CREATED_BY,
         LAST_UPDATE_LOGIN,
         REQUEST_ID,
         PROGRAM_APPLICATION_ID,
         PROGRAM_ID,
         PROGRAM_UPDATE_DATE)
        SELECT
        i_trx_id,
        i_org_id,
        i_inv_item_id,
        cce.cost_element_id,
        1,
        decode(cce.cost_element_id,
	       1,sum(0 - nvl(tl_material_out,0)-nvl(tl_material_var,0)),
	       2,sum(0 - nvl(tl_material_overhead_out,0)-nvl(tl_material_overhead_var,0)),
	       3,sum(nvl(tl_resource_in,0)-nvl(tl_resource_out,0)-nvl(tl_resource_var,0)),
	       4,sum(nvl(tl_outside_processing_in,0)-nvl(tl_outside_processing_out,0)-nvl(tl_outside_processing_var,0)),
	       5,sum(nvl(tl_overhead_in,0)-nvl(tl_overhead_out,0)-nvl(tl_overhead_var,0)))/i_txn_qty,
        NULL,
        NULL,
        NULL,
        SYSDATE,
        i_user_id,
        SYSDATE,
        i_user_id,
        i_login_id,
        i_request_id,
        i_prog_appl_id,
        i_prog_id,
        SYSDATE
        FROM
        CST_COST_ELEMENTS CCE,
        WIP_PERIOD_BALANCES WPB
        WHERE
        WPB.WIP_ENTITY_ID		=	I_WIP_ENTITY_ID		AND
        WPB.ORGANIZATION_ID		=	I_ORG_ID		AND
        CCE.COST_ELEMENT_ID		<>	2
        GROUP BY CCE.COST_ELEMENT_ID, WPB.WIP_ENTITY_ID
        HAVING
        decode(cce.cost_element_id,
               1,sum(0 - nvl(tl_material_out,0)-nvl(tl_material_var,0)),
               2,sum(0 - nvl(tl_material_overhead_out,0)-nvl(tl_material_overhead_var,0)),
               3,sum(nvl(tl_resource_in,0)-nvl(tl_resource_out,0)-nvl(tl_resource_var,0)),
               4,sum(nvl(tl_outside_processing_in,0)-nvl(tl_outside_processing_out,0)-nvl(tl_outside_processing_var,0)),
               5,sum(nvl(tl_overhead_in,0)-nvl(tl_overhead_out,0)-nvl(tl_overhead_var,0))) > 0;
Line: 819

        INSERT INTO mtl_cst_txn_cost_details
        (
         TRANSACTION_ID,
         ORGANIZATION_ID,
         INVENTORY_ITEM_ID,
         COST_ELEMENT_ID,
         LEVEL_TYPE,
         TRANSACTION_COST,
         NEW_AVERAGE_COST,
         PERCENTAGE_CHANGE,
         VALUE_CHANGE,
         LAST_UPDATE_DATE,
         LAST_UPDATED_BY,
         CREATION_DATE,
         CREATED_BY,
         LAST_UPDATE_LOGIN,
         REQUEST_ID,
         PROGRAM_APPLICATION_ID,
         PROGRAM_ID,
         PROGRAM_UPDATE_DATE)
        SELECT
        i_trx_id,
        i_org_id,
        i_inv_item_id,
        cce.cost_element_id,
        2,
        decode(cce.cost_element_id,
               1,sum(nvl(pl_material_in,0) - nvl(pl_material_out,0)-nvl(pl_material_var,0)),
               2,sum(nvl(pl_material_overhead_in,0) - nvl(pl_material_overhead_out,0)-nvl(pl_material_overhead_var,0)),
               3,sum(nvl(pl_resource_in,0)-nvl(pl_resource_out,0)-nvl(pl_resource_var,0)),
               4,sum(nvl(pl_outside_processing_in,0)-nvl(pl_outside_processing_out,0)-nvl(pl_outside_processing_var,0)),
               5,sum(nvl(pl_overhead_in,0)-nvl(pl_overhead_out,0)-nvl(pl_overhead_var,0)))/i_txn_qty,
        NULL,
        NULL,
        NULL,
        SYSDATE,
        i_user_id,
        SYSDATE,
        i_user_id,
        i_login_id,
        i_request_id,
        i_prog_appl_id,
        i_prog_id,
        SYSDATE
        FROM
        CST_COST_ELEMENTS CCE,
        WIP_PERIOD_BALANCES WPB
        WHERE
        WPB.WIP_ENTITY_ID               =       I_WIP_ENTITY_ID         AND
        WPB.ORGANIZATION_ID             =       I_ORG_ID
        GROUP BY CCE.COST_ELEMENT_ID, WPB.WIP_ENTITY_ID
        HAVING
        decode(cce.cost_element_id,
               1,sum(nvl(pl_material_in,0) - nvl(pl_material_out,0)-nvl(pl_material_var,0)),
               2,sum(nvl(pl_material_overhead_in,0) - nvl(pl_material_overhead_out,0)-nvl(pl_material_overhead_var,0)),
               3,sum(nvl(pl_resource_in,0)-nvl(pl_resource_out,0)-nvl(pl_resource_var,0)),
               4,sum(nvl(pl_outside_processing_in,0)-nvl(pl_outside_processing_out,0)-nvl(pl_outside_processing_var,0)),
               5,sum(nvl(pl_overhead_in,0)-nvl(pl_overhead_out,0)-nvl(pl_overhead_var,0))) > 0;
Line: 896

               SELECT   nvl(sum(primary_quantity),0)
               INTO     l_future_issued_qty
               FROM     mtl_material_transactions
               WHERE    organization_id = wro_rec.organization_id
               AND      inventory_item_id = wro_rec.inventory_item_id
               AND      operation_seq_num = wro_rec.operation_seq_num
               AND      transaction_source_id = wro_rec.wip_entity_id
               AND      ( (transaction_date > i_txn_date) or
                          (transaction_date = i_txn_date and transaction_id > i_trx_id) )
               AND      costed_flag IS NOT NULL
               AND      nvl(completion_transaction_id,-999) <>
                           ( Select   nvl(completion_transaction_id,-999)
                             from     mtl_material_transactions
                             where    transaction_id = i_trx_id);
Line: 916

           UPDATE wip_requirement_operations w
           SET
            relieved_matl_completion_qty =
            (SELECT
              nvl(quantity_issued,0)-
              nvl(relieved_matl_final_comp_qty,0)-
              nvl(relieved_matl_scrap_quantity,0)
              + l_future_issued_qty
             FROM wip_requirement_operations w2
             WHERE
             w.wip_entity_id     = w2.wip_entity_id     AND
             w.organization_id   = w2.organization_id   AND
             w.inventory_item_id = w2.inventory_item_id AND
             w.operation_seq_num = w2.operation_seq_num
            )
           WHERE
            w.wip_entity_id   = i_wip_entity_id AND
            w.organization_id = i_org_id AND
            w.inventory_item_id = wro_rec.inventory_item_id AND
            w.operation_seq_num = wro_rec.operation_seq_num
           AND  exists (
                     SELECT 'x'
                     FROM  wip_req_operation_cost_details wrocd
                     WHERE wrocd.wip_entity_id   = w.wip_entity_id
                     AND   wrocd.organization_id = w.organization_id
                     GROUP BY
                     wrocd.wip_entity_id,
                     wrocd.organization_id,
                     wrocd.cost_element_id
                     HAVING sum(nvl(applied_matl_value,0) -
                                nvl(relieved_matl_completion_value,0) -
                                nvl(relieved_variance_value,0) -
                                nvl(relieved_matl_scrap_value,0)) >= 0
                  );
Line: 961

                           UPDATE         wip_req_operation_cost_details w
                           SET            relieved_matl_completion_value =
                                           nvl(applied_matl_value,0)-
                                             nvl(relieved_variance_value,0)-
                                           nvl(relieved_matl_scrap_value,0),
                                     temp_relieved_value =
                                           nvl(applied_matl_value,0)-
                                           nvl(relieved_matl_completion_value,0)-
                                              nvl(relieved_variance_value,0)-
                                           nvl(relieved_matl_scrap_value,0)
                           WHERE        w.wip_entity_id = i_wip_entity_id AND
                                   w.cost_element_id = l_cost_element;
Line: 981

           UPDATE wip_operation_resources w
           SET
           (relieved_res_completion_units,
            relieved_res_completion_value,
            temp_relieved_value
            ) = (
                 SELECT
                    ---
                    ---  relieved_res_completion_units
                    ---
                    nvl(applied_resource_units,0)-
                    nvl(relieved_res_final_comp_units,0)-
                    nvl(relieved_res_scrap_units,0),
                    ---
                    ---  relieved_res_completion_value
                    ---
                    nvl(applied_resource_value,0)-
                    nvl(relieved_variance_value,0)-
                    nvl(relieved_res_scrap_value,0),
                    ---
                    ---  temp_relieved_value
                    ---
                    nvl(applied_resource_value,0)-
                    nvl(relieved_res_completion_value,0)-
                    nvl(relieved_variance_value,0)-
                    nvl(relieved_res_scrap_value,0)
                 FROM wip_operation_resources w2
                 WHERE
                  w.wip_entity_id     = w2.wip_entity_id and
                  w.organization_id   = w2.organization_id and
                  w.operation_seq_num = w2.operation_seq_num and
                  w.resource_seq_num  = w2.resource_seq_num
                )
           WHERE w.wip_entity_id   = i_wip_entity_id
           AND   w.organization_id = i_org_id
           AND EXISTS
               (SELECT null
                FROM  wip_operation_resources   wor,
                      bom_resources             br
                WHERE wor.wip_entity_id   = i_wip_entity_id
                AND   wor.organization_id = i_org_id
                AND   wor.organization_id = br.organization_id
                AND   wor.resource_id     = br.resource_id
                AND EXISTS
                    (SELECT null
                     FROM wip_operation_resources      w3,
                          bom_resources                br3
                     WHERE w3.wip_entity_id      = i_wip_entity_id
                     AND   w3.organization_id    = i_org_id
                     AND   w3.resource_seq_num   = w.resource_seq_num
                     AND   w3.operation_seq_num  = w.operation_seq_num
                     AND   w3.resource_id        = br3.resource_id
                     AND   w3.organization_id    = br3.organization_id
                     AND   br3.cost_element_id   = br.cost_element_id)
               GROUP BY br.cost_element_id
               HAVING sum(nvl(applied_resource_value,0) -
                          nvl(relieved_res_completion_value,0) -
                          nvl(relieved_variance_value,0) -
                          nvl(relieved_res_scrap_value,0)) >= 0);
Line: 1052

           UPDATE wip_operation_overheads w
           set (relieved_ovhd_completion_units,
                relieved_ovhd_completion_value,
                temp_relieved_value) =
                   (SELECT
                      ---
                      ---  relieved_ovhd_completion_units
                      ---
                      nvl(applied_ovhd_units,0)-
                      nvl(relieved_ovhd_scrap_units,0) -
                      nvl(relieved_ovhd_final_comp_units,0),
                      ---
                      ---  relieved_ovhd_completion_value
                      ---
                      nvl(applied_ovhd_value,0)-
                      nvl(relieved_ovhd_scrap_value,0) -
                      nvl(relieved_variance_value,0),
                      ---
                      ---  temp_relieved_value
                      ---
                      nvl(applied_ovhd_value,0)-
                      nvl(relieved_ovhd_completion_value,0)-
                      nvl(relieved_variance_value,0)-
                      nvl(relieved_ovhd_scrap_value,0)
                   FROM
                    wip_operation_overheads w2
                    where
                    w.wip_entity_id     = w2.wip_entity_id     AND
                    w.organization_id   = w2.organization_id   AND
                    w.operation_seq_num = w2.operation_seq_num AND
                    w.resource_seq_num  = w2.resource_seq_num  AND
                    w.overhead_id       = w2.overhead_id       AND
                    w.basis_type        = w2.basis_type
                    )
           WHERE
           w.wip_entity_id   = i_wip_entity_id AND
           w.organization_id = i_org_id
           AND  exists (
                     SELECT 'x'
                     FROM  wip_operation_overheads woo
                     WHERE woo.wip_entity_id   = w.wip_entity_id
                     AND   woo.organization_id = w.organization_id
                     HAVING sum(nvl(applied_ovhd_value,0) -
                                nvl(relieved_ovhd_completion_value,0) -
                                nvl(relieved_variance_value,0) -
                                nvl(relieved_ovhd_scrap_value,0)) >= 0
                  );
Line: 1129

        l_insert_ind := 1;
Line: 1134

        INSERT INTO mtl_cst_txn_cost_details
        (
        TRANSACTION_ID,
        ORGANIZATION_ID,
        INVENTORY_ITEM_ID,
        COST_ELEMENT_ID,
        LEVEL_TYPE,
        TRANSACTION_COST,
        NEW_AVERAGE_COST,
        PERCENTAGE_CHANGE,
        VALUE_CHANGE,
        LAST_UPDATE_DATE,
        LAST_UPDATED_BY,
        CREATION_DATE,
        CREATED_BY,
        LAST_UPDATE_LOGIN,
        REQUEST_ID,
        PROGRAM_APPLICATION_ID,
        PROGRAM_ID,
        PROGRAM_UPDATE_DATE)
        SELECT
        i_trx_id,
        i_org_id,
        i_inv_item_id,
        COST_ELEMENT_ID,
        LEVEL_TYPE,
        SUM(ITEM_COST),
        NULL,
        NULL,
        NULL,
        SYSDATE,
        i_user_id,
        SYSDATE,
        i_user_id,
        i_login_id,
        i_request_id,
        i_prog_appl_id,
        i_prog_id,
        SYSDATE
        FROM
        CST_ITEM_COST_DETAILS
        WHERE
        INVENTORY_ITEM_ID		=	I_INV_ITEM_ID		AND
        ORGANIZATION_ID			=	I_ORG_ID		AND
        COST_TYPE_ID			=	L_C_COST_TYPE_ID	AND
        NOT (COST_ELEMENT_ID		=	2			AND
             LEVEL_TYPE			=	1)
        GROUP BY COST_ELEMENT_ID,LEVEL_TYPE
        HAVING SUM(ITEM_COST) <> 0;
Line: 1201

        l_insert_ind := 1;
Line: 1205

        INSERT INTO mtl_cst_txn_cost_details
        (
         TRANSACTION_ID,
         ORGANIZATION_ID,
         INVENTORY_ITEM_ID,
         COST_ELEMENT_ID,
         LEVEL_TYPE,
         TRANSACTION_COST,
         NEW_AVERAGE_COST,
         PERCENTAGE_CHANGE,
         VALUE_CHANGE,
         LAST_UPDATE_DATE,
         LAST_UPDATED_BY,
         CREATION_DATE,
         CREATED_BY,
         LAST_UPDATE_LOGIN,
         REQUEST_ID,
         PROGRAM_APPLICATION_ID,
         PROGRAM_ID,
         PROGRAM_UPDATE_DATE)
         SELECT
         i_trx_id,
         i_org_id,
         i_inv_item_id,
         COST_ELEMENT_ID,
         LEVEL_TYPE,
         ITEM_COST,
         NULL,
         NULL,
         NULL,
         SYSDATE,
         i_user_id,
         SYSDATE,
         i_user_id,
         i_login_id,
         i_request_id,
         i_prog_appl_id,
         i_prog_id,
         SYSDATE
         FROM
         CST_LAYER_COST_DETAILS
         WHERE
         LAYER_ID 		=		i_layer_id	AND
         NOT (COST_ELEMENT_ID            =       2              AND
              LEVEL_TYPE                 =       1);
Line: 1266

        INSERT INTO WIP_REQ_OPERATION_COST_DETAILS
        (WIP_ENTITY_ID,
         OPERATION_SEQ_NUM,
         ORGANIZATION_ID,
         INVENTORY_ITEM_ID,
         COST_ELEMENT_ID,
         APPLIED_MATL_VALUE,
         LAST_UPDATED_BY,
         LAST_UPDATE_DATE,
         CREATION_DATE,
         CREATED_BY,
         LAST_UPDATE_LOGIN,
         REQUEST_ID,
         PROGRAM_APPLICATION_ID,
         PROGRAM_ID,
         PROGRAM_UPDATE_DATE)
        SELECT
         i_wip_entity_id,
         wro.operation_seq_num,
         i_org_id,
         wro.inventory_item_id,
         clcd.cost_element_id,
         0,
         i_user_id,
         SYSDATE,
         SYSDATE,
         i_user_id,
         i_login_id,
         i_request_id,
         i_prog_id,
         i_prog_appl_id,
         SYSDATE
        from
        WIP_REQUIREMENT_OPERATIONS WRO,
        CST_LAYER_COST_DETAILS CLCD,
        CST_QUANTITY_LAYERS CQL
        WHERE
        WRO.WIP_ENTITY_ID       =       i_wip_entity_id         AND
        WRO.INVENTORY_ITEM_ID   =       CQL.INVENTORY_ITEM_ID   AND
        WRO.ORGANIZATION_ID     =       CQL.ORGANIZATION_ID     AND
        CQL.COST_GROUP_ID       =       I_COST_GROUP_ID         AND
        CQL.LAYER_ID            =       CLCD.LAYER_ID           AND
        not EXISTS
        (SELECT
         'X'
         FROM
         WIP_REQ_OPERATION_COST_DETAILS WROCD
         WHERE
         WROCD.WIP_ENTITY_ID    =       i_wip_entity_id         AND
         WROCD.INVENTORY_ITEM_ID=       WRO.INVENTORY_ITEM_ID   AND
         WROCD.OPERATION_SEQ_NUM=       WRO.OPERATION_SEQ_NUM   AND
         WROCD.COST_ELEMENT_ID  =       CLCD.COST_ELEMENT_ID)
        GROUP BY CLCD.COST_ELEMENT_ID,wro.operation_seq_num,
                 wro.inventory_item_id;
Line: 1325

        SELECT  nvl(include_component_yield, 1)
        INTO    l_include_comp_yield
        FROM    wip_parameters
        WHERE   organization_id = i_org_id;
Line: 1343

               SELECT   nvl(sum(primary_quantity),0)
               INTO     l_future_issued_qty
               FROM     mtl_material_transactions
               WHERE    organization_id = wro_rec.organization_id
               AND      inventory_item_id = wro_rec.inventory_item_id
               AND      operation_seq_num = wro_rec.operation_seq_num
               AND      transaction_source_id = wro_rec.wip_entity_id
               /* Bug 3715567: use txn_date to determine the future issued qty */
               AND      ( (transaction_date > i_txn_date) or
                          (transaction_date = i_txn_date and transaction_id > i_trx_id) )
               AND      costed_flag IS NOT NULL
               /* Applied nvl for bug 2391936 */
               AND      nvl(completion_transaction_id,-999) <>
                           ( Select   nvl(completion_transaction_id,-999)
                             from     mtl_material_transactions
                             where    transaction_id = i_trx_id);
Line: 1366

                   UPDATE WIP_REQ_OPERATION_COST_DETAILS w1
                   SET (temp_relieved_value,
                       relieved_matl_completion_value) =
                      (SELECT
                       decode(SIGN(nvl(wro.quantity_issued,0)-
                                 nvl(wro.relieved_matl_completion_qty,0)-
                                 nvl(wro.relieved_matl_final_comp_qty,0)-
                                 nvl(wro.relieved_matl_scrap_quantity,0)-
                                 /* LBM project Changes */
                                 i_txn_qty*(decode(wro.basis_type, 2,
                                                   wro.quantity_per_assembly/l_lot_size,
                                                   wro.quantity_per_assembly)/
                                            decode(l_include_comp_yield,
                                                   1, nvl(wro.component_yield_factor,1),
                                                   1)) + l_future_issued_qty),   /* Added l_future_issued_qty for bug 4259782 */
                            SIGN(wro.quantity_per_assembly),
                            /* LBM project Changes */
                            i_txn_qty*(decode(wro.basis_type, 2,
                                                   wro.quantity_per_assembly/l_lot_size,
                                                   wro.quantity_per_assembly)/
                                      decode(l_include_comp_yield,
                                             1, nvl(wro.component_yield_factor,1),
                                             1))*
                            decode(SIGN(nvl(applied_matl_value,0)-
                                        nvl(relieved_matl_completion_value,0)-
                                        nvl(relieved_variance_value,0)-
                                        nvl(relieved_matl_scrap_value,0)),
                                   /* Bug 3479419: AVTR = 0 Start*/
                                   0, 0,
                                   /* Bug 3479419: AVTR = 0 End*/
                                   SIGN(wro.quantity_per_assembly),
                                   ( nvl(applied_matl_value,0)-
                                     nvl(relieved_matl_completion_value,0)-
                                     nvl(relieved_variance_value,0)-
                                     nvl(relieved_matl_scrap_value,0))/
                                     (wro.quantity_issued-
                                        nvl(wro.relieved_matl_completion_qty,0)-
                                        nvl(wro.relieved_matl_final_comp_qty,0)-
                                        nvl(wro.relieved_matl_scrap_quantity,0)+
                                        l_future_issued_qty), /* Fix for bug 2158763 */
                                   nvl(decode(cost_element_id,
                                              1,cql.material_cost,
                                              2,cql.material_overhead_cost,
                                              3,cql.resource_cost,
                                              4,cql.outside_processing_cost,
                                              5,cql.overhead_cost),0)),
                            0,
                            decode(SIGN(nvl(applied_matl_value,0)-
                                        nvl(relieved_matl_completion_value,0)-
                                        nvl(relieved_variance_value,0)-
                                        nvl(relieved_matl_scrap_value,0)),
                                   /* Bug 3479419: AVTR = 0 Start*/
                                   0, 0,
                                   /* Bug 3479419: AVTR = 0 End*/
                                   SIGN(wro.quantity_per_assembly),
                                   (nvl(applied_matl_value,0)-
                                    nvl(relieved_matl_completion_value,0)-
                                    nvl(relieved_variance_value,0)-
                                    nvl(relieved_matl_scrap_value,0)),
                                    /* LBM project Changes */
                                    i_txn_qty*(decode(wro.basis_type, 2,
                                                      wro.quantity_per_assembly/l_lot_size,
                                                      wro.quantity_per_assembly)/
                                               decode(l_include_comp_yield,
                                                      1, nvl(wro.component_yield_factor,1),
                                                      1))*
                                    nvl(decode(cost_element_id,
                                               1,cql.material_cost,
                                               2,cql.material_overhead_cost,
                                               3,cql.resource_cost,
                                               4,cql.outside_processing_cost,
                                               5,cql.overhead_cost),0)),
                            -1*SIGN(wro.quantity_per_assembly),
                            decode(SIGN(nvl(applied_matl_value,0)-
                                        nvl(relieved_matl_completion_value,0)-
                                        nvl(relieved_variance_value,0)-
                                        nvl(relieved_matl_scrap_value,0)),
                                   /* Bug 3479419: AVTR = 0 Start*/
                                   /* LBM project Changes */
                                   0, (i_txn_qty*(decode(wro.basis_type, 2,
                                                         wro.quantity_per_assembly/l_lot_size,
                                                         wro.quantity_per_assembly)/
                                                  decode(l_include_comp_yield,
                                                         1, nvl(wro.component_yield_factor,1),
                                                         1))-
                                    (wro.quantity_issued -
                                     nvl(wro.relieved_matl_completion_qty,0) -
                                     nvl(wro.relieved_matl_final_comp_qty,0) -
                                     nvl(wro.relieved_matl_scrap_quantity,0) +
                                     l_future_issued_qty))*   /* Added l_future_issued_qty for bug 4259782 */
                                     nvl(decode(cost_element_id,
                                                1,cql.material_cost,
                                                2,cql.material_overhead_cost,
                                                3,cql.resource_cost,
                                                4,cql.outside_processing_cost,
                                                5,cql.overhead_cost),0),
                                    /* Bug 3479419: AVTR = 0 End*/
                                   SIGN(wro.quantity_per_assembly),
                                   (nvl(applied_matl_value,0)-
                                    nvl(relieved_matl_completion_value,0)-
                                    nvl(relieved_variance_value,0)-
                                    nvl(relieved_matl_scrap_value,0)+
                                    /* LBM project Changes */
                                    (i_txn_qty*(decode(wro.basis_type, 2,
                                                       wro.quantity_per_assembly/l_lot_size,
                                                       wro.quantity_per_assembly)/
                                               decode(l_include_comp_yield,
                                                      1, nvl(wro.component_yield_factor,1),
                                                      1))-
                                    (wro.quantity_issued -
                                     nvl(wro.relieved_matl_completion_qty,0) -
                                     nvl(wro.relieved_matl_final_comp_qty,0) -
                                     nvl(wro.relieved_matl_scrap_quantity,0) +
                                     l_future_issued_qty))*    /* Added l_future_issued_qty for bug 4259782 */
                                     nvl(decode(cost_element_id,
                                                1,cql.material_cost,
                                                2,cql.material_overhead_cost,
                                                3,cql.resource_cost,
                                                4,cql.outside_processing_cost,
                                                5,cql.overhead_cost),0)),
                                   /* LBM project Changes */
                                   i_txn_qty*(decode(wro.basis_type, 2,
                                                     wro.quantity_per_assembly/l_lot_size,
                                                     wro.quantity_per_assembly)/
                                              decode(l_include_comp_yield,
                                                     1, nvl(wro.component_yield_factor,1),
                                                     1))*
                                    nvl(decode(cost_element_id,
                                               1,cql.material_cost,
                                               2,cql.material_overhead_cost,
                                               3,cql.resource_cost,
                                               4,cql.outside_processing_cost,
                                               5,cql.overhead_cost),0))),

                     nvl(w1.relieved_matl_completion_value,0)+
                                 /* LBM project Changes */
                                 decode(SIGN(nvl(wro.quantity_issued,0)-
                                 nvl(wro.relieved_matl_completion_qty,0)-
                                 nvl(wro.relieved_matl_final_comp_qty,0)-
                                 nvl(wro.relieved_matl_scrap_quantity,0)-
                                 /* LBM project Changes */
                                 i_txn_qty*(decode(wro.basis_type, 2, wro.quantity_per_assembly/l_lot_size,
                                                                     wro.quantity_per_assembly)/
                                            decode(l_include_comp_yield,
                                                   1, nvl(wro.component_yield_factor,1),
                                                   1)) + l_future_issued_qty), /* Added l_future_issued_qty for bug 4259782 */
                            SIGN(wro.quantity_per_assembly),
                            /* LBM project Changes */
                            i_txn_qty*(decode(wro.basis_type, 2,
                                              wro.quantity_per_assembly/l_lot_size,
                                              wro.quantity_per_assembly)/
                                       decode(l_include_comp_yield,
                                              1, nvl(wro.component_yield_factor,1),
                                              1))*
                            decode(SIGN(nvl(applied_matl_value,0)-
                                        nvl(relieved_matl_completion_value,0)-
                                        nvl(relieved_variance_value,0)-
                                        nvl(relieved_matl_scrap_value,0)),
                                   /* Bug 3479419: AVTR = 0 Start*/
                                   0, 0,
                                   /* Bug 3479419: AVTR = 0 End*/
                                   SIGN(wro.quantity_per_assembly),
                                   ( nvl(applied_matl_value,0)-
                                     nvl(relieved_matl_completion_value,0)-
                                     nvl(relieved_variance_value,0)-
                                     nvl(relieved_matl_scrap_value,0))
                                     /(wro.quantity_issued-
                                        nvl(wro.relieved_matl_completion_qty,0)-
                                        nvl(wro.relieved_matl_final_comp_qty,0)-
                                        nvl(wro.RELIEVED_MATL_SCRAP_QUANTITY,0)+
                                        l_future_issued_qty), /* Fix for bug 2158763 */
                                   nvl(decode(cost_element_id,
                                              1,cql.material_cost,
                                              2,cql.material_overhead_cost,
                                              3,cql.resource_cost,
                                              4,cql.outside_processing_cost,
                                              5,cql.overhead_cost),0)),
                            0,
                            decode(SIGN(nvl(applied_matl_value,0)-
                                        nvl(relieved_matl_completion_value,0)-
                                        nvl(relieved_variance_value,0)-
                                        nvl(relieved_matl_scrap_value,0)),
                                   /* Bug 3479419: AVTR = 0 Start*/
                                   0, 0,
                                   /* Bug 3479419: AVTR = 0 End*/
                                   SIGN(wro.quantity_per_assembly),
                                   (nvl(applied_matl_value,0)-
                                    nvl(relieved_matl_completion_value,0)-
                                    nvl(relieved_variance_value,0)-
                                    nvl(relieved_matl_scrap_value,0)),
                                    /* LBM project Changes */
                                    i_txn_qty*(decode(wro.basis_type, 2,
                                                      wro.quantity_per_assembly/l_lot_size,
                                                      wro.quantity_per_assembly)/
                                               decode(l_include_comp_yield,
                                                      1, nvl(wro.component_yield_factor,1),
                                                      1))*
                                    nvl(decode(cost_element_id,
                                               1,cql.material_cost,
                                               2,cql.material_overhead_cost,
                                               3,cql.resource_cost,
                                               4,cql.outside_processing_cost,
                                               5,cql.overhead_cost),0)),
                            -1*SIGN(wro.quantity_per_assembly),
                            decode(SIGN(nvl(applied_matl_value,0)-
                                        nvl(relieved_matl_completion_value,0)-
                                        nvl(relieved_variance_value,0)-
                                        nvl(relieved_matl_scrap_value,0)),
                                   /* Bug 3479419: AVTR = 0 Start*/
                                   /* LBM project Changes */
                                   0, (i_txn_qty*(decode(wro.basis_type, 2,
                                                         wro.quantity_per_assembly/l_lot_size,
                                                         wro.quantity_per_assembly)/
                                                  decode(l_include_comp_yield,
                                                         1, nvl(wro.component_yield_factor,1),
                                                         1)) -
                                    (wro.quantity_issued -
                                     nvl(wro.relieved_matl_completion_qty,0) -
                                     nvl(wro.relieved_matl_final_comp_qty,0) -
                                     nvl(wro.relieved_matl_scrap_quantity,0) +
                                     l_future_issued_qty))*    /* Added l_future_issued_qty for bug 4259782 */
                                     nvl(decode(cost_element_id,
                                                1,cql.material_cost,
                                                2,cql.material_overhead_cost,
                                                3,cql.resource_cost,
                                                4,cql.outside_processing_cost,
                                                5,cql.overhead_cost),0),
                                    /* Bug 3479419: AVTR = 0 End*/
                                   SIGN(wro.quantity_per_assembly),
                                   (nvl(applied_matl_value,0)-
                                    nvl(relieved_matl_completion_value,0)-
                                    nvl(relieved_variance_value,0)-
                                    nvl(relieved_matl_scrap_value,0)+
                                    /* LBM project Changes */
                                    (i_txn_qty*(decode(wro.basis_type, 2,
                                                       wro.quantity_per_assembly/l_lot_size,
                                                       wro.quantity_per_assembly)/
                                                decode(l_include_comp_yield,
                                                       1, nvl(wro.component_yield_factor,1),
                                                       1))-
                                    (wro.quantity_issued -
                                     nvl(wro.relieved_matl_completion_qty,0) -
                                     nvl(wro.relieved_matl_final_comp_qty,0) -
                                     nvl(wro.relieved_matl_scrap_quantity,0) +
                                     l_future_issued_qty))*    /* Added l_future_issued_qty for bug 4259782 */
                                     nvl(decode(cost_element_id,
                                                1,cql.material_cost,
                                                2,cql.material_overhead_cost,
                                                3,cql.resource_cost,
                                                4,cql.outside_processing_cost,
                                                5,cql.overhead_cost),0)),
                                   /* LBM project Changes */
                                   i_txn_qty*(decode(wro.basis_type, 2,
                                                     wro.quantity_per_assembly/l_lot_size,
                                                     wro.quantity_per_assembly)/
                                              decode(l_include_comp_yield,
                                                     1, nvl(wro.component_yield_factor,1),
                                                     1))*
                                    nvl(decode(cost_element_id,
                                               1,cql.material_cost,
                                               2,cql.material_overhead_cost,
                                               3,cql.resource_cost,
                                               4,cql.outside_processing_cost,
                                               5,cql.overhead_cost),0)))
                     FROM
                     wip_req_operation_cost_details w2,
                     wip_requirement_operations wro,
                     cst_quantity_layers cql
                     WHERE
                     w2.wip_entity_id      =    w1.wip_entity_id        AND
                     w2.organization_id    =    w1.organization_id      AND
                     w2.inventory_item_id  =    w1.inventory_item_id    AND
                     w2.operation_seq_num  =    w1.operation_seq_num    AND
                     w2.cost_element_id    =    w1.cost_element_id      AND
                     w2.wip_entity_id      =    wro.wip_entity_id       AND
                     w2.organization_id    =    wro.organization_id     AND
                     w2.inventory_item_id  =    wro.inventory_item_id   AND
                     w2.operation_seq_num  =    wro.operation_seq_num   AND
                     i_cost_group_id       =    cql.cost_group_id(+)    AND
                     wro.inventory_item_id =    cql.inventory_item_id(+) AND
                     wro.organization_id   =    cql.organization_id(+))
                 WHERE
                  w1.wip_entity_id   = wro_rec.wip_entity_id    AND
                  w1.organization_id = wro_rec.organization_id  AND
                  w1.inventory_item_id = wro_rec.inventory_item_id  AND
                  w1.operation_seq_num = wro_rec.operation_seq_num;
Line: 1656

                | Qty must be updated after value ...
                |--------------------------------------------------*/


                stmt_num := 270;
Line: 1662

                 UPDATE wip_requirement_operations w1
                 SET
                 relieved_matl_completion_qty =
                 (SELECT
                  nvl(w1.relieved_matl_completion_qty,0) +
                  /* LBM project Changes */
                  i_txn_qty*(decode(basis_type, 2,
                                       quantity_per_assembly/l_lot_size,
                                       quantity_per_assembly)/
                             decode(l_include_comp_yield,
                                    1, nvl(component_yield_factor,1),
                                    1))
                 FROM
                 wip_requirement_operations w2
                 WHERE
                 w1.wip_entity_id       =       w2.wip_entity_id        AND
                 w1.organization_id     =       w2.organization_id      AND
                 w1.inventory_item_id   =       w2.inventory_item_id    AND
                 w1.operation_seq_num   =       w2.operation_seq_num)
                 WHERE
                 --
                 -- Exclude bulk, supplier, phantom
                 --
                 w1.wip_supply_type     not in  (4,5,6)                        AND
                 w1.wip_entity_id       =       i_wip_entity_id         AND
                 w1.organization_id     =       i_org_id                AND
                 w1.quantity_per_assembly  <>   0;
Line: 1702

        UPDATE wip_operation_resources w1
        SET
        (relieved_res_completion_units,
         temp_relieved_value,
         relieved_res_completion_value) =
        (SELECT
         nvl(w1.relieved_res_completion_units,0) +
         decode(sign(applied_resource_units -
                     nvl(relieved_res_completion_units,0)-
                     nvl(relieved_res_final_comp_units,0)-
                     nvl(relieved_res_scrap_units,0)),
                1,
                (applied_resource_units -
                nvl(relieved_res_completion_units,0)-
                nvl(relieved_res_final_comp_units,0)-
                nvl(relieved_res_scrap_units,0))*
        --
        -- new to solve divided by zero and over relieved
        -- when txn_qty/completed - prior_completion - prior_scrap
        -- is greater than or equal to one, set it to one
        -- ie. flush out 1*value remain in the job 1/30/98
        --
                decode(sign(i_txn_qty - (cocd.quantity_completed -
                                         nvl(prior_completion_quantity,0) -
                                         nvl(prior_scrap_quantity,0))),
                        -1,i_txn_qty/(cocd.quantity_completed -
                                     nvl(prior_completion_quantity,0) -
                                     nvl(prior_scrap_quantity,0)),
                        1),
                0),
         decode(sign(applied_resource_value -
                    nvl(relieved_res_completion_value,0)-
                    nvl(relieved_variance_value,0)-
                    nvl(relieved_res_scrap_value,0)),
                1,
                (applied_resource_value -
                nvl(relieved_res_completion_value,0)-
                nvl(relieved_variance_value,0)-
                nvl(relieved_res_scrap_value,0))*
        --
        -- new to solve divided by zero and over relieved
        --
                decode(sign(i_txn_qty - (cocd.quantity_completed -
                                         nvl(prior_completion_quantity,0) -
                                         nvl(prior_scrap_quantity,0))),
                        -1,i_txn_qty/(cocd.quantity_completed -
                                     nvl(prior_completion_quantity,0) -
                                     nvl(prior_scrap_quantity,0)),
                        1),
                0),
        nvl(w1.relieved_res_completion_value,0) +
        decode(sign(applied_resource_value -
                    nvl(relieved_res_completion_value,0)-
                    nvl(relieved_variance_value,0)-
                    nvl(relieved_res_scrap_value,0)),
                1,
                (applied_resource_value -
                nvl(relieved_res_completion_value,0)-
                nvl(relieved_variance_value,0)-
                nvl(relieved_res_scrap_value,0))*
        --
        -- new to solve divided by zero and over relieved
        --
                decode(sign(i_txn_qty - (cocd.quantity_completed -
                                         nvl(prior_completion_quantity,0) -
                                         nvl(prior_scrap_quantity,0))),
                        -1,i_txn_qty/(cocd.quantity_completed -
                                     nvl(prior_completion_quantity,0) -
                                     nvl(prior_scrap_quantity,0)),
                        1),
                0)
        FROM
        wip_operation_resources w2,
        cst_comp_snapshot cocd
        WHERE
        w1.wip_entity_id	=	w2.wip_entity_id	AND
        w1.operation_seq_num	=	w2.operation_seq_num	AND
        w1.resource_seq_num	=	w2.resource_seq_num	AND
        w1.organization_id	=	w2.organization_id	AND
	w2.wip_entity_id        =       cocd.wip_entity_id      AND -- Added for FP: bug#4608231
        w2.operation_seq_num	=	cocd.operation_seq_num	AND
        cocd.new_operation_flag =	2			AND
        cocd.transaction_id	=	i_trx_id)
        WHERE
        w1.wip_entity_id	=	i_wip_entity_id		AND
        w1.organization_id	=	i_org_id;
Line: 1793

        UPDATE wip_operation_overheads w1
        SET
         (relieved_ovhd_completion_units,
          temp_relieved_value,
          relieved_ovhd_completion_value) =
        (SELECT
         NVL(w1.relieved_ovhd_completion_units,0) +
         decode(sign(applied_ovhd_units -
                     nvl(relieved_ovhd_completion_units,0)-
                     nvl(relieved_ovhd_final_comp_units,0)-
                     nvl(relieved_ovhd_scrap_units,0)),
                1,
                (applied_ovhd_units -
                nvl(relieved_ovhd_completion_units,0)-
                nvl(relieved_ovhd_final_comp_units,0)-
                nvl(relieved_ovhd_scrap_units,0))*
        --
        -- new to solve divided by zero and over relieved
        --
                decode(sign(i_txn_qty - (cocd.quantity_completed -
                                         nvl(prior_completion_quantity,0) -
                                         nvl(prior_scrap_quantity,0))),
                        -1,i_txn_qty/(cocd.quantity_completed -
                                     nvl(prior_completion_quantity,0) -
                                     nvl(prior_scrap_quantity,0)),
                        1),
                0),
         decode(sign(applied_ovhd_value -
                    nvl(relieved_ovhd_completion_value,0)-
                    nvl(relieved_variance_value,0)-
                    nvl(relieved_ovhd_scrap_value,0)),
                1,
                (applied_ovhd_value -
                nvl(relieved_ovhd_completion_value,0)-
                nvl(relieved_variance_value,0)-
                nvl(relieved_ovhd_scrap_value,0))*
        --
        -- new to solve divided by zero and over relieved
        --
                decode(sign(i_txn_qty - (cocd.quantity_completed -
                                         nvl(prior_completion_quantity,0) -
                                         nvl(prior_scrap_quantity,0))),
                        -1,i_txn_qty/(cocd.quantity_completed -
                                     nvl(prior_completion_quantity,0) -
                                     nvl(prior_scrap_quantity,0)),
                        1),
                0),
        nvl(w1.relieved_ovhd_completion_value,0) +
        decode(sign(applied_ovhd_value -
                    nvl(relieved_ovhd_completion_value,0)-
                    nvl(relieved_variance_value,0)-
                    nvl(relieved_ovhd_scrap_value,0)),
                1,
                (applied_ovhd_value -
                nvl(relieved_ovhd_completion_value,0)-
                nvl(relieved_variance_value,0)-
                nvl(relieved_ovhd_scrap_value,0))*
        --
        -- new to solve divided by zero and over relieved
        --
                decode(sign(i_txn_qty - (cocd.quantity_completed -
                                         nvl(prior_completion_quantity,0) -
                                         nvl(prior_scrap_quantity,0))),
                        -1,i_txn_qty/(cocd.quantity_completed -
                                     nvl(prior_completion_quantity,0) -
                                     nvl(prior_scrap_quantity,0)),
                        1),
                0)
        FROM
        wip_operation_overheads w2,
        cst_comp_snapshot cocd
        WHERE
        w1.wip_entity_id        =       w2.wip_entity_id        AND
        w1.operation_seq_num    =       w2.operation_seq_num    AND
        w1.resource_seq_num     =       w2.resource_seq_num     AND
        w1.overhead_id          =       w2.overhead_id          AND
        w1.organization_id      =       w2.organization_id      AND
	w2.wip_entity_id        =       cocd.wip_entity_id      AND -- Added for FP: bug#4608231
        w1.basis_type           =       w2.basis_type           AND
        w2.operation_seq_num    =       cocd.operation_seq_num  AND
        cocd.new_operation_flag =       2                       AND
        cocd.transaction_id     =       i_trx_id)
        WHERE
        w1.wip_entity_id        =       i_wip_entity_id         AND
        w1.organization_id      =       i_org_id;
Line: 1887

        UPDATE wip_operation_resources w1
        SET
         (relieved_res_completion_units,
          temp_relieved_value,
          relieved_res_completion_value) =
        (SELECT
           nvl(w1.relieved_res_completion_units,0)+
           decode(basis_type,
                  1,i_txn_qty*usage_rate_or_amount,
                  2,i_txn_qty*usage_rate_or_amount/l_lot_size,
                  i_txn_qty*usage_rate_or_amount),
             decode(SIGN(applied_resource_units-
                         nvl(relieved_res_completion_units,0)-
                         nvl(relieved_res_final_comp_units,0)-
                         nvl(relieved_res_scrap_units,0)-
                         i_txn_qty*decode(basis_type,
                                          1,usage_rate_or_amount,
                                          2,usage_rate_or_amount/l_lot_size,
                                          usage_rate_or_amount)),
                    SIGN(usage_rate_or_amount),
                    i_txn_qty*decode(basis_type,
                                     1,usage_rate_or_amount,
                                     2,usage_rate_or_amount/l_lot_size,
                                     usage_rate_or_amount)*
                    decode(SIGN(nvl(applied_resource_value,0)-
                                nvl(relieved_res_completion_value,0)-
                                nvl(relieved_variance_value,0)-
                                nvl(relieved_res_scrap_value,0)),
                           SIGN(usage_rate_or_amount),
                           decode(basis_type,
                                  1,((nvl(applied_resource_value,0)-
                                  nvl(relieved_res_completion_value,0)-
                                  nvl(relieved_variance_value,0)-
                                  nvl(relieved_res_scrap_value,0))
                                  /(applied_resource_units-
                                  nvl(relieved_res_completion_units,0)-
                                  nvl(relieved_res_final_comp_units,0)-
                                  nvl(relieved_res_scrap_units,0))),
                                  2,nvl(applied_resource_value,0)/
                                    decode(applied_resource_units,
                                           0,1,applied_resource_units),
                                  ((nvl(applied_resource_value,0)-
                                  nvl(relieved_res_completion_value,0)-
                                  nvl(relieved_variance_value,0)-
                                  nvl(relieved_res_scrap_value,0))
                                  /(applied_resource_units-
                                  nvl(relieved_res_completion_units,0)-
                                  nvl(relieved_res_final_comp_units,0)-
                                  nvl(relieved_res_scrap_units,0)))),
                           crc.resource_rate),
                    0,
                    decode(SIGN(nvl(applied_resource_value,0)-
                                nvl(relieved_res_completion_value,0)-
                                nvl(relieved_variance_value,0)-
                                nvl(relieved_res_scrap_value,0)),
                           SIGN(usage_rate_or_amount),
                           (nvl(applied_resource_value,0)-
                            nvl(relieved_res_completion_value,0)-
                            nvl(relieved_variance_value,0)-
                            nvl(relieved_res_scrap_value,0)),
                            i_txn_qty*decode(basis_type,
                                             1,usage_rate_or_amount,
                                             2,usage_rate_or_amount/l_lot_size,
                                             usage_rate_or_amount)*
                                       crc.resource_rate),
                    -1*SIGN(usage_rate_or_amount),
                    decode(SIGN(nvl(applied_resource_value,0)-
                                nvl(relieved_res_completion_value,0)-
                                nvl(relieved_variance_value,0)-
                                nvl(relieved_res_scrap_value,0)),
                           SIGN(usage_rate_or_amount),
                           (nvl(applied_resource_value,0)-
                            nvl(relieved_res_completion_value,0)-
                            nvl(relieved_variance_value,0)-
                            nvl(relieved_res_scrap_value,0)+
                           (i_txn_qty*
                            decode(basis_type,
                            1,usage_rate_or_amount,
                            2,usage_rate_or_amount/l_lot_size,
                            usage_rate_or_amount) -
                           (applied_resource_units -
                            nvl(relieved_res_completion_units,0) -
                            nvl(relieved_res_final_comp_units,0) -
                            nvl(relieved_res_scrap_units,0)))*
                           crc.resource_rate),
                           i_txn_qty*
                           decode(basis_type,
                            1,usage_rate_or_amount,
                            2,usage_rate_or_amount/l_lot_size,
                            usage_rate_or_amount)*
                            crc.resource_rate)),
             nvl(w1.relieved_res_completion_value,0) +
             decode(SIGN(applied_resource_units-
                         nvl(relieved_res_completion_units,0)-
                         nvl(relieved_res_final_comp_units,0)-
                         nvl(relieved_res_scrap_units,0)-
                         i_txn_qty*decode(basis_type,
                                          1,usage_rate_or_amount,
                                          2,usage_rate_or_amount/l_lot_size,
                                          usage_rate_or_amount)),
                    SIGN(usage_rate_or_amount),
                    i_txn_qty*decode(basis_type,
                                     1,usage_rate_or_amount,
                                     2,usage_rate_or_amount/l_lot_size,
                                     usage_rate_or_amount)*
                    decode(SIGN(nvl(applied_resource_value,0)-
                                nvl(relieved_res_completion_value,0)-
                                nvl(relieved_variance_value,0)-
                                nvl(relieved_res_scrap_value,0)),
                           SIGN(usage_rate_or_amount),
                           decode(basis_type,
                                  1,((nvl(applied_resource_value,0)-
                                  nvl(relieved_res_completion_value,0)-
                                  nvl(relieved_variance_value,0)-
                                  nvl(relieved_res_scrap_value,0))
                                  /(applied_resource_units-
                                  nvl(relieved_res_completion_units,0)-
                                  nvl(relieved_res_final_comp_units,0)-
                                  nvl(relieved_res_scrap_units,0))),
                                  2,nvl(applied_resource_value,0)/
                                    decode(applied_resource_units,
                                           0,1,applied_resource_units),
                                  ((nvl(applied_resource_value,0)-
                                  nvl(relieved_res_completion_value,0)-
                                  nvl(relieved_variance_value,0)-
                                  nvl(relieved_res_scrap_value,0))
                                  /(applied_resource_units-
                                  nvl(relieved_res_completion_units,0)-
                                  nvl(relieved_res_final_comp_units,0)-
                                  nvl(relieved_res_scrap_units,0)))),
                           crc.resource_rate),
                    0,
                    decode(SIGN(nvl(applied_resource_value,0)-
                                nvl(relieved_res_completion_value,0)-
                                nvl(relieved_variance_value,0)-
                                nvl(relieved_res_scrap_value,0)),
                           SIGN(usage_rate_or_amount),
                           (nvl(applied_resource_value,0)-
                            nvl(relieved_res_completion_value,0)-
                            nvl(relieved_variance_value,0)-
                            nvl(relieved_res_scrap_value,0)),
                            i_txn_qty*decode(basis_type,
                                             1,usage_rate_or_amount,
                                             2,usage_rate_or_amount/l_lot_size,
                                             usage_rate_or_amount)*
                                       crc.resource_rate),
                    -1*SIGN(usage_rate_or_amount),
                    decode(SIGN(nvl(applied_resource_value,0)-
                                nvl(relieved_res_completion_value,0)-
                                nvl(relieved_variance_value,0)-
                                nvl(relieved_res_scrap_value,0)),
                           SIGN(usage_rate_or_amount),
                           (nvl(applied_resource_value,0)-
                            nvl(relieved_res_completion_value,0)-
                            nvl(relieved_variance_value,0)-
                            nvl(relieved_res_scrap_value,0)+
                           (i_txn_qty*
                            decode(basis_type,
                            1,usage_rate_or_amount,
                            2,usage_rate_or_amount/l_lot_size,
                            usage_rate_or_amount) -
                           (applied_resource_units -
                            nvl(relieved_res_completion_units,0) -
                            nvl(relieved_res_final_comp_units,0) -
                            nvl(relieved_res_scrap_units,0)))*
                           crc.resource_rate),
                           i_txn_qty*
                           decode(basis_type,
                            1,usage_rate_or_amount,
                            2,usage_rate_or_amount/l_lot_size,
                            usage_rate_or_amount)*
                            crc.resource_rate))
         FROM
         wip_operation_resources w2,
         cst_resource_costs crc
         WHERE
         w2.wip_entity_id       =       w1.wip_entity_id        AND
         w2.operation_seq_num	=	w1.operation_seq_num	AND
         w2.resource_seq_num    =       w1.resource_seq_num     AND
         w2.organization_id     =       w2.organization_id      AND
         w2.resource_id         =       crc.resource_id         AND
         w2.organization_id     =       crc.organization_id     AND
         crc.cost_type_id       =       i_res_cost_type_id)
        WHERE
        w1.wip_entity_id        =       i_wip_entity_id         AND
        w1.organization_id      =       i_org_id                AND
        w1.usage_rate_or_amount <>      0;
Line: 2090

        INSERT INTO WIP_OPERATION_OVERHEADS
        (WIP_ENTITY_ID,
         OPERATION_SEQ_NUM,
         RESOURCE_SEQ_NUM,
         ORGANIZATION_ID,
         OVERHEAD_ID,
         BASIS_TYPE,
         APPLIED_OVHD_UNITS,
         APPLIED_OVHD_VALUE,
         RELIEVED_OVHD_COMPLETION_UNITS,
         RELIEVED_OVHD_SCRAP_UNITS,
         RELIEVED_OVHD_COMPLETION_VALUE,
         RELIEVED_OVHD_SCRAP_VALUE,
         TEMP_RELIEVED_VALUE,
         LAST_UPDATED_BY,
         CREATION_DATE,
         CREATED_BY,
         LAST_UPDATE_LOGIN,
         REQUEST_ID,
         PROGRAM_APPLICATION_ID,
         PROGRAM_ID,
         PROGRAM_UPDATE_DATE,
         LAST_UPDATE_DATE)
        SELECT
         i_wip_entity_id,
         wo.operation_seq_num,
         -1,
         i_org_id,
         cdo.overhead_id,
         cdo.basis_type,
         0,
         0,
         0,
         0,
         0,
         0,
         0,
         -1,
         SYSDATE,
         -1,
         -1,
         -1,
         -1,
         -1,
         SYSDATE,
         SYSDATE
        FROM
        WIP_OPERATIONS WO,
        CST_DEPARTMENT_OVERHEADS CDO
        WHERE
        WO.WIP_ENTITY_ID        =       i_wip_entity_id         AND
        WO.DEPARTMENT_ID        =       CDO.DEPARTMENT_ID       AND
        CDO.COST_TYPE_ID        =       i_res_cost_type_id	AND
        CDO.BASIS_TYPE          IN      (1,2)                   AND
        NOT EXISTS
        (SELECT 'X'
        FROM
        WIP_OPERATION_OVERHEADS WOO
        where
        WOO.WIP_ENTITY_ID       =       i_wip_entity_id         AND
        WOO.OPERATION_SEQ_NUM   =       WO.OPERATION_SEQ_NUM    AND
        WOO.OVERHEAD_ID         =       CDO.OVERHEAD_ID         AND
        WOO.BASIS_TYPE          =       CDO.BASIS_TYPE          AND
        WOO.RESOURCE_SEQ_NUM    =       -1);
Line: 2158

        UPDATE wip_operation_overheads w1
        SET
         (relieved_ovhd_completion_units,
          temp_relieved_value,
          relieved_ovhd_completion_value) =
        (SELECT
           nvl(w1.relieved_ovhd_completion_units,0)+
           decode(w2.basis_type,
                  1,i_txn_qty,
                  2,i_txn_qty/l_lot_size),
           decode(SIGN(nvl(w2.applied_ovhd_units,0)-
                  nvl(relieved_ovhd_completion_units,0)-
                  nvl(relieved_ovhd_final_comp_units,0)-
                  nvl(relieved_ovhd_scrap_units,0)-
                  decode(w2.basis_type,
                         1,i_txn_qty,
                         2,i_txn_qty/l_lot_size)),
                   1,
                   decode(SIGN(nvl(applied_ovhd_value,0)-
                               nvl(relieved_ovhd_completion_value,0)-
                               nvl(relieved_variance_value,0)-
                               nvl(relieved_ovhd_scrap_value,0)),
                          1,
                          decode(w2.basis_type,
                                 2,nvl(applied_ovhd_value,0),
                                 (nvl(applied_ovhd_value,0)-
                                  nvl(relieved_ovhd_completion_value,0)-
                                  nvl(relieved_variance_value,0)-
                                  nvl(relieved_ovhd_scrap_value,0))
                                  /(nvl(applied_ovhd_units,0)-
                                  nvl(relieved_ovhd_completion_units,0)-
                                  nvl(relieved_ovhd_final_comp_units,0)-
                                  nvl(relieved_ovhd_scrap_units,0)))*
                          decode(w2.basis_type,
                                 1,i_txn_qty,
                                 2,i_txn_qty/l_lot_size),
                          cdo.rate_or_amount*
                          decode(w2.basis_type,
                                 1,i_txn_qty,
                                 2,i_txn_qty/l_lot_size)),
                   0,
                   decode(SIGN(nvl(applied_ovhd_value,0)-
                               nvl(relieved_ovhd_completion_value,0)-
                               nvl(relieved_variance_value,0)-
                               nvl(relieved_ovhd_scrap_value,0)),
                          1,
                          (nvl(applied_ovhd_value,0)-
                          nvl(relieved_ovhd_completion_value,0)-
                          nvl(relieved_variance_value,0)-
                          nvl(relieved_ovhd_scrap_value,0)),
                          cdo.rate_or_amount*
                          decode(w2.basis_type,
                                 1,i_txn_qty,
                                 2,i_txn_qty/l_lot_size)),
                   -1,
                   decode(SIGN(nvl(applied_ovhd_value,0)-
                               nvl(relieved_ovhd_completion_value,0)-
                               nvl(relieved_variance_value,0)-
                               nvl(relieved_ovhd_scrap_value,0)),
                          1,
                          (nvl(applied_ovhd_value,0)-
                          nvl(relieved_ovhd_completion_value,0)-
                          nvl(relieved_variance_value,0)-
                          nvl(relieved_ovhd_scrap_value,0)+
                          (decode(w2.basis_type,
                                 1,i_txn_qty,
                                 2,i_txn_qty/l_lot_size)-
                          (nvl(w2.applied_ovhd_units,0)-
                          nvl(relieved_ovhd_completion_units,0)-
                          nvl(relieved_ovhd_final_comp_units,0)-
                          nvl(relieved_ovhd_scrap_units,0)))*
                          cdo.rate_or_amount),
                          cdo.rate_or_amount*
                          decode(w2.basis_type,
                          1,i_txn_qty,
                          2,i_txn_qty/l_lot_size))),
           nvl(w1.relieved_ovhd_completion_value,0) +
           decode(SIGN(nvl(w2.applied_ovhd_units,0)-
                  nvl(relieved_ovhd_completion_units,0)-
                  nvl(relieved_ovhd_final_comp_units,0)-
                  nvl(relieved_ovhd_scrap_units,0)-
                  decode(w2.basis_type,
                         1,i_txn_qty,
                         2,i_txn_qty/l_lot_size)),
                   1,
                   decode(SIGN(nvl(applied_ovhd_value,0)-
                               nvl(relieved_ovhd_completion_value,0)-
                               nvl(relieved_variance_value,0)-
                               nvl(relieved_ovhd_scrap_value,0)),
                          1,
                          decode(w2.basis_type,
                                 2,nvl(applied_ovhd_value,0),
                                 (nvl(applied_ovhd_value,0)-
                                  nvl(relieved_ovhd_completion_value,0)-
                                  nvl(relieved_variance_value,0)-
                                  nvl(relieved_ovhd_scrap_value,0))
                                  /(nvl(applied_ovhd_units,0)-
                                  nvl(relieved_ovhd_completion_units,0)-
                                  nvl(relieved_ovhd_final_comp_units,0)-
                                  nvl(relieved_ovhd_scrap_units,0)))*
                          decode(w2.basis_type,
                                 1,i_txn_qty,
                                 2,i_txn_qty/l_lot_size),
                          cdo.rate_or_amount*
                          decode(w2.basis_type,
                                 1,i_txn_qty,
                                 2,i_txn_qty/l_lot_size)),
                   0,
                   decode(SIGN(nvl(applied_ovhd_value,0)-
                               nvl(relieved_ovhd_completion_value,0)-
                               nvl(relieved_variance_value,0)-
                               nvl(relieved_ovhd_scrap_value,0)),
                          1,
                          (nvl(applied_ovhd_value,0)-
                          nvl(relieved_ovhd_completion_value,0)-
                          nvl(relieved_variance_value,0)-
                          nvl(relieved_ovhd_scrap_value,0)),
                          cdo.rate_or_amount*
                          decode(w2.basis_type,
                                 1,i_txn_qty,
                                 2,i_txn_qty/l_lot_size)),
                   -1,
                   decode(SIGN(nvl(applied_ovhd_value,0)-
                               nvl(relieved_ovhd_completion_value,0)-
                               nvl(relieved_variance_value,0)-
                               nvl(relieved_ovhd_scrap_value,0)),
                          1,
                          (nvl(applied_ovhd_value,0)-
                          nvl(relieved_ovhd_completion_value,0)-
                          nvl(relieved_variance_value,0)-
                          nvl(relieved_ovhd_scrap_value,0) +
                          (decode(w2.basis_type,
                                 1,i_txn_qty,
                                 2,i_txn_qty/l_lot_size)-
                          (nvl(w2.applied_ovhd_units,0)-
                          nvl(relieved_ovhd_completion_units,0)-
                          nvl(relieved_ovhd_final_comp_units,0)-
                          nvl(relieved_ovhd_scrap_units,0)))*
                          cdo.rate_or_amount),
                          cdo.rate_or_amount*
                          decode(w2.basis_type,
                          1,i_txn_qty,
                          2,i_txn_qty/l_lot_size)))
         FROM
         wip_operation_overheads w2,
         cst_department_overheads cdo,
         wip_operations wo
         WHERE
         w2.wip_entity_id       =       w1.wip_entity_id        AND
         w2.organization_id     =       w1.organization_id      AND
         w2.operation_seq_num   =       w1.operation_seq_num    AND
         w2.overhead_id         =       w1.overhead_id          AND
         w2.basis_type          =       w1.basis_type           AND
         w2.wip_entity_id       =       wo.wip_entity_id        AND
         w2.organization_id     =       wo.organization_id      AND
         w2.operation_seq_num   =       wo.operation_seq_num    AND
         cdo.department_id      =       wo.department_id        AND
         cdo.overhead_id        =       w2.overhead_id          AND
         cdo.basis_type         =       w2.basis_type           AND
         cdo.cost_type_id       =       i_res_cost_type_id)
        WHERE
        w1.wip_entity_id        =       i_wip_entity_id         AND
        w1.organization_id      =       i_org_id                AND
        w1.basis_type           IN      (1,2)                   AND
        EXISTS
         (
          SELECT 'X'
          FROM
          cst_department_overheads cdo2,
          wip_operations wo2
          WHERE
          wo2.wip_entity_id     =       w1.wip_entity_id        AND
          wo2.organization_id   =       w1.organization_id      AND
          wo2.operation_seq_num =       w1.operation_seq_num    AND
          wo2.department_id     =       cdo2.department_id      AND
          w1.overhead_id        =       cdo2.overhead_id        AND
          w1.basis_type         =       cdo2.basis_type         AND
          cdo2.cost_type_id     =       i_res_cost_type_id);
Line: 2343

        INSERT INTO WIP_OPERATION_OVERHEADS
        (WIP_ENTITY_ID,
         OPERATION_SEQ_NUM,
         RESOURCE_SEQ_NUM,
         ORGANIZATION_ID,
         OVERHEAD_ID,
         BASIS_TYPE,
         APPLIED_OVHD_UNITS,
         APPLIED_OVHD_VALUE,
         RELIEVED_OVHD_COMPLETION_UNITS,
         RELIEVED_OVHD_SCRAP_UNITS,
         RELIEVED_OVHD_COMPLETION_VALUE,
         RELIEVED_OVHD_SCRAP_VALUE,
         TEMP_RELIEVED_VALUE,
         LAST_UPDATED_BY,
         CREATION_DATE,
         CREATED_BY,
         LAST_UPDATE_LOGIN,
         REQUEST_ID,
         PROGRAM_APPLICATION_ID,
         PROGRAM_ID,
         PROGRAM_UPDATE_DATE,
         LAST_UPDATE_DATE)
        SELECT
         i_wip_entity_id,
         wo.operation_seq_num,
         wor.resource_seq_num,
         i_org_id,
         cdo.overhead_id,
         cdo.basis_type,
         0,
         0,
         0,
         0,
         0,
         0,
         0,
         -1,
         SYSDATE,
         -1,
         -1,
         -1,
         -1,
         -1,
         SYSDATE,
         SYSDATE
        FROM
        WIP_OPERATIONS WO,
        WIP_OPERATION_RESOURCES WOR,
        CST_DEPARTMENT_OVERHEADS CDO,
        CST_RESOURCE_OVERHEADS CRO
        WHERE
        WO.WIP_ENTITY_ID        =       i_wip_entity_id                 AND
        WO.OPERATION_SEQ_NUM    =       WOR.OPERATION_SEQ_NUM           AND
        WO.WIP_ENTITY_ID        =       WOR.WIP_ENTITY_ID               AND
        WO.DEPARTMENT_ID        =       CDO.DEPARTMENT_ID               AND
        CDO.COST_TYPE_ID        =       i_res_cost_type_id	AND
        CDO.BASIS_TYPE          IN      (3,4)                           AND
        CRO.COST_TYPE_ID        =       i_res_cost_type_id	AND
        CRO.RESOURCE_ID         =       WOR.RESOURCE_ID                 AND
        CRO.OVERHEAD_ID         =       CDO.OVERHEAD_ID                 AND
        NOT EXISTS
        (SELECT 'X'
        FROM
        WIP_OPERATION_OVERHEADS WOO
        WHERE
        WOO.WIP_ENTITY_ID       =       i_wip_entity_id                 AND
        WOO.OPERATION_SEQ_NUM   =       WO.OPERATION_SEQ_NUM            AND
        WOO.RESOURCE_SEQ_NUM    =       WOR.RESOURCE_SEQ_NUM            AND
        WOO.OVERHEAD_ID         =       CDO.OVERHEAD_ID                 AND
        WOO.BASIS_TYPE          =       CDO.BASIS_TYPE);
Line: 2417

        UPDATE wip_operation_overheads w1
        SET
         (relieved_ovhd_completion_units,
          temp_relieved_value,
          relieved_ovhd_completion_value) =
        (SELECT
           nvl(w1.relieved_ovhd_completion_units,0)+
           decode(w2.basis_type,
                  3,i_txn_qty*decode(wor.basis_type,
                                     1,usage_rate_or_amount,
                                     2,usage_rate_or_amount/l_lot_size,
                                     usage_rate_or_amount),
                  4,wor.temp_relieved_value),
           decode(SIGN(nvl(w2.applied_ovhd_units,0)-
                  nvl(relieved_ovhd_completion_units,0)-
                  nvl(relieved_ovhd_final_comp_units,0)-
                  nvl(relieved_ovhd_scrap_units,0)-
                  decode(w2.basis_type,
                         3,i_txn_qty*decode(wor.basis_type,
                                            1,usage_rate_or_amount,
                                            2,usage_rate_or_amount/l_lot_size,
                                            usage_rate_or_amount),
                         4,wor.temp_relieved_value)),
                   SIGN(wor.usage_rate_or_amount),
                   decode(SIGN(nvl(applied_ovhd_value,0)-
                               nvl(relieved_ovhd_completion_value,0)-
                               nvl(w2.relieved_variance_value,0)-
                               nvl(relieved_ovhd_scrap_value,0)),
                          SIGN(wor.usage_rate_or_amount),
                          ((nvl(applied_ovhd_value,0)-
                            nvl(relieved_ovhd_completion_value,0)-
                            nvl(w2.relieved_variance_value,0)-
                            nvl(relieved_ovhd_scrap_value,0))
                            /(nvl(applied_ovhd_units,0)-
                           nvl(relieved_ovhd_completion_units,0)-
                           nvl(relieved_ovhd_final_comp_units,0)-
                            nvl(relieved_ovhd_scrap_units,0)))*
                          decode(w2.basis_type,
                                 3,i_txn_qty*
                                 decode(wor.basis_type,
                                        1,wor.usage_rate_or_amount,
                                        2,wor.usage_rate_or_amount/l_lot_size),
                                 4,nvl(wor.temp_relieved_value,0)),
                         nvl(cdo.rate_or_amount,0)*
                          decode(w2.basis_type,
                                 3,i_txn_qty*
                                 decode(wor.basis_type,
                                        1,wor.usage_rate_or_amount,
                                        2,wor.usage_rate_or_amount/l_lot_size),
                                 4,nvl(wor.temp_relieved_value,0))),
                   0,
                   decode(SIGN(nvl(applied_ovhd_value,0)-
                               nvl(relieved_ovhd_completion_value,0)-
                               nvl(w2.relieved_variance_value,0)-
                               nvl(relieved_ovhd_scrap_value,0)),
                          SIGN(wor.usage_rate_or_amount),
                          (nvl(applied_ovhd_value,0)-
                          nvl(relieved_ovhd_completion_value,0)-
                          nvl(w2.relieved_variance_value,0)-
                          nvl(relieved_ovhd_scrap_value,0)),
                          nvl(cdo.rate_or_amount,0)*
                          decode(w2.basis_type,
                                 3,i_txn_qty*
                                 decode(wor.basis_type,
                                        1,wor.usage_rate_or_amount,
                                        2,wor.usage_rate_or_amount/l_lot_size),
                                 4,nvl(wor.temp_relieved_value,0))),
                   -1*SIGN(wor.usage_rate_or_amount),
                   decode(SIGN(nvl(applied_ovhd_value,0)-
                               nvl(relieved_ovhd_completion_value,0)-
                               nvl(w2.relieved_variance_value,0)-
                               nvl(relieved_ovhd_scrap_value,0)),
                          SIGN(wor.usage_rate_or_amount),
                          (nvl(applied_ovhd_value,0)-
                          nvl(relieved_ovhd_completion_value,0)-
                          nvl(w2.relieved_variance_value,0)-
                          nvl(relieved_ovhd_scrap_value,0)+
                          (decode(w2.basis_type,
                                 3,i_txn_qty*decode(wor.basis_type,
                                            1,usage_rate_or_amount,
                                            2,usage_rate_or_amount/l_lot_size,
                                            usage_rate_or_amount),
                                 4,wor.temp_relieved_value)-
                          (nvl(w2.applied_ovhd_units,0)-
                          nvl(relieved_ovhd_completion_units,0)-
                          nvl(relieved_ovhd_final_comp_units,0)-
                          nvl(relieved_ovhd_scrap_units,0)))*
                          nvl(cdo.rate_or_amount,0)),
                          nvl(cdo.rate_or_amount,0)*
                          decode(w2.basis_type,
                          3,i_txn_qty*
                          decode(wor.basis_type,
                                 1,wor.usage_rate_or_amount,
                                 2,wor.usage_rate_or_amount/l_lot_size),
                          4,nvl(wor.temp_relieved_value,0)))),
           nvl(w1.relieved_ovhd_completion_value,0) +
           decode(SIGN(nvl(w2.applied_ovhd_units,0)-
                  nvl(relieved_ovhd_completion_units,0)-
                  nvl(relieved_ovhd_final_comp_units,0)-
                  nvl(relieved_ovhd_scrap_units,0)-
                  decode(w2.basis_type,
                         3,i_txn_qty*decode(wor.basis_type,
                                            1,usage_rate_or_amount,
                                            2,usage_rate_or_amount/l_lot_size,
                                            usage_rate_or_amount),
                         4,wor.temp_relieved_value)),
                   SIGN(wor.usage_rate_or_amount),
                   decode(SIGN(nvl(applied_ovhd_value,0)-
                               nvl(relieved_ovhd_completion_value,0)-
                               nvl(w2.relieved_variance_value,0)-
                               nvl(relieved_ovhd_scrap_value,0)),
                          SIGN(wor.usage_rate_or_amount),
                          ((nvl(applied_ovhd_value,0)-
                            nvl(relieved_ovhd_completion_value,0)-
                            nvl(w2.relieved_variance_value,0)-
                            nvl(relieved_ovhd_scrap_value,0))
                            /(nvl(applied_ovhd_units,0)-
                           nvl(relieved_ovhd_completion_units,0)-
                           nvl(relieved_ovhd_final_comp_units,0)-
                            nvl(relieved_ovhd_scrap_units,0)))*
                          decode(w2.basis_type,
                                 3,i_txn_qty*
                                 decode(wor.basis_type,
                                        1,wor.usage_rate_or_amount,
                                        2,wor.usage_rate_or_amount/l_lot_size),
                                 4,nvl(wor.temp_relieved_value,0)),
                         nvl(cdo.rate_or_amount,0)*
                          decode(w2.basis_type,
                                 3,i_txn_qty*
                                 decode(wor.basis_type,
                                        1,wor.usage_rate_or_amount,
                                        2,wor.usage_rate_or_amount/l_lot_size),
                                 4,nvl(wor.temp_relieved_value,0))),
                   0,
                   decode(SIGN(nvl(applied_ovhd_value,0)-
                               nvl(relieved_ovhd_completion_value,0)-
                               nvl(w2.relieved_variance_value,0)-
                               nvl(relieved_ovhd_scrap_value,0)),
                          SIGN(wor.usage_rate_or_amount),
                          (nvl(applied_ovhd_value,0)-
                          nvl(relieved_ovhd_completion_value,0)-
                          nvl(w2.relieved_variance_value,0)-
                          nvl(relieved_ovhd_scrap_value,0)),
                          nvl(cdo.rate_or_amount,0)*
                          decode(w2.basis_type,
                                 3,i_txn_qty*
                                 decode(wor.basis_type,
                                        1,wor.usage_rate_or_amount,
                                        2,wor.usage_rate_or_amount/l_lot_size),
                                 4,nvl(wor.temp_relieved_value,0))),
                   -1*SIGN(wor.usage_rate_or_amount),
                   decode(SIGN(nvl(applied_ovhd_value,0)-
                               nvl(relieved_ovhd_completion_value,0)-
                               nvl(w2.relieved_variance_value,0)-
                               nvl(relieved_ovhd_scrap_value,0)),
                          SIGN(wor.usage_rate_or_amount),
                          (nvl(applied_ovhd_value,0)-
                          nvl(relieved_ovhd_completion_value,0)-
                          nvl(w2.relieved_variance_value,0)-
                          nvl(relieved_ovhd_scrap_value,0)+
                          (decode(w2.basis_type,
                                 3,i_txn_qty*decode(wor.basis_type,
                                            1,usage_rate_or_amount,
                                            2,usage_rate_or_amount/l_lot_size,
                                            usage_rate_or_amount),
                                 4,wor.temp_relieved_value)-
                          (nvl(w2.applied_ovhd_units,0)-
                          nvl(relieved_ovhd_completion_units,0)-
                          nvl(relieved_ovhd_final_comp_units,0)-
                          nvl(relieved_ovhd_scrap_units,0)))*
                          nvl(cdo.rate_or_amount,0)),
                          nvl(cdo.rate_or_amount,0)*
                          decode(w2.basis_type,
                          3,i_txn_qty*
                          decode(wor.basis_type,
                                 1,wor.usage_rate_or_amount,
                                 2,wor.usage_rate_or_amount/l_lot_size),
                          4,nvl(wor.temp_relieved_value,0))))
        FROM
         wip_operation_overheads w2,
         cst_department_overheads cdo,
         wip_operations wo,
         wip_operation_resources wor,
         cst_resource_overheads cro
        WHERE
         w2.wip_entity_id       =       w1.wip_entity_id        AND
         w2.organization_id     =       w1.organization_id      AND
         w2.operation_seq_num   =       w1.operation_seq_num    AND
         w2.overhead_id         =       w1.overhead_id          AND
         w2.basis_type          =       w1.basis_type           AND
         w2.resource_seq_num    =       w1.resource_seq_num     AND
         w2.wip_entity_id       =       wo.wip_entity_id        AND
         w2.organization_id     =       wo.organization_id      AND
         w2.operation_seq_num   =       wo.operation_seq_num    AND
         w2.wip_entity_id       =       wor.wip_entity_id       AND
         w2.organization_id     =       wor.organization_id     AND
         w2.operation_seq_num   =       wor.operation_seq_num   AND
         w2.resource_seq_num    =       wor.resource_seq_num    AND
         wo.department_id       =       cdo.department_id       AND
         cdo.overhead_id        =       w2.overhead_id          AND
         cdo.basis_type         =       w2.basis_type           AND
         cdo.cost_type_id       =       i_res_cost_type_id	AND
         cro.overhead_id        =       cdo.overhead_id         AND
         cro.resource_id        =       wor.resource_id         AND
         cro.cost_type_id       =       i_res_cost_type_id)
        WHERE
        w1.wip_entity_id        =       i_wip_entity_id         AND
        w1.organization_id      =       i_org_id                AND
        w1.basis_type           IN      (3,4)                   AND
        EXISTS
         (
          SELECT 'X'
          FROM
          cst_department_overheads cdo2,
          wip_operations wo2,
          cst_resource_overheads cro2,
          wip_operation_resources wor2
          WHERE
         w1.wip_entity_id       =       wo2.wip_entity_id       AND
         w1.organization_id     =       wo2.organization_id     AND
         w1.operation_seq_num   =       wo2.operation_seq_num   AND
         w1.wip_entity_id       =       wor2.wip_entity_id      AND
         w1.organization_id     =       wor2.organization_id    AND
         w1.operation_seq_num   =       wor2.operation_seq_num  AND
         w1.resource_seq_num    =       wor2.resource_seq_num   AND
         wor2.usage_rate_or_amount <>	0			AND
         wo2.department_id      =       cdo2.department_id      AND
         cdo2.overhead_id       =       w1.overhead_id          AND
         cdo2.basis_type        =       w1.basis_type           AND
         cdo2.cost_type_id      =       i_res_cost_type_id      AND
         cdo2.overhead_id       =       cro2.overhead_id        AND
         cro2.resource_id       =       wor2.resource_id        AND
         cro2.cost_type_id      =       i_res_cost_type_id);
Line: 2657

        * Insert into mtl_cst_txn_cost_details now that the         *
        * Costs have been computed ...				    *
        * 3 statements are required --> one each for PL costs 	    *
        * , TL Res/OSP costs and TL ovhd costs.			    *
        * Remember - the cst_txn_cost_detail tables stores unit     *
        * cost - but the wip tables store the value in the          *
        * temp_relieved_value column - so we have to divide by the  *
        * txn_qty to arrive at the unit cost.			    *
        ************************************************************/

        IF(l_insert_ind <> 1) THEN
        /*BUG 7346225: For Final completion the MCTCD should be populated from
         WPB since this one has rounded values not like WROCD, WOR or WOO and
         this is prefered since Final completion should relieve the accounted
         value */

        IF (i_final_comp_flag='Y') THEN
        stmt_num := 350;
Line: 2677

           INSERT INTO mtl_cst_txn_cost_details
           (
            TRANSACTION_ID,
            ORGANIZATION_ID,
            INVENTORY_ITEM_ID,
            COST_ELEMENT_ID,
            LEVEL_TYPE,
            TRANSACTION_COST,
            NEW_AVERAGE_COST,
            PERCENTAGE_CHANGE,
            VALUE_CHANGE,
            LAST_UPDATE_DATE,
            LAST_UPDATED_BY,
            CREATION_DATE,
            CREATED_BY,
            LAST_UPDATE_LOGIN,
            REQUEST_ID,
            PROGRAM_APPLICATION_ID,
            PROGRAM_ID,
            PROGRAM_UPDATE_DATE)
           SELECT
           i_trx_id,
           i_org_id,
           i_inv_item_id,
           cce.cost_element_id,
           1,
           decode(cce.cost_element_id,
               1,sum(0 - nvl(tl_material_out,0)-nvl(tl_material_var,0)),
	       2,sum(0 - nvl(tl_material_overhead_out,0)-nvl(tl_material_overhead_var,0)),
	       3,sum(nvl(tl_resource_in,0)-nvl(tl_resource_out,0)-nvl(tl_resource_var,0)),
	       4,sum(nvl(tl_outside_processing_in,0)-nvl(tl_outside_processing_out,0)-nvl(tl_outside_processing_var,0)),
	       5,sum(nvl(tl_overhead_in,0)-nvl(tl_overhead_out,0)-nvl(tl_overhead_var,0)))/i_txn_qty,
           NULL,
           NULL,
           NULL,
           SYSDATE,
           i_user_id,
           SYSDATE,
           i_user_id,
           i_login_id,
           i_request_id,
           i_prog_appl_id,
           i_prog_id,
           SYSDATE
           FROM
           CST_COST_ELEMENTS CCE,
           WIP_PERIOD_BALANCES WPB
           WHERE
           WPB.WIP_ENTITY_ID  = I_WIP_ENTITY_ID  AND
           WPB.ORGANIZATION_ID = I_ORG_ID AND
           CCE.COST_ELEMENT_ID  <> 2
           GROUP BY CCE.COST_ELEMENT_ID, WPB.WIP_ENTITY_ID;
Line: 2733

           INSERT INTO mtl_cst_txn_cost_details
           (
            TRANSACTION_ID,
            ORGANIZATION_ID,
            INVENTORY_ITEM_ID,
            COST_ELEMENT_ID,
            LEVEL_TYPE,
            TRANSACTION_COST,
            NEW_AVERAGE_COST,
            PERCENTAGE_CHANGE,
            VALUE_CHANGE,
            LAST_UPDATE_DATE,
            LAST_UPDATED_BY,
            CREATION_DATE,
            CREATED_BY,
            LAST_UPDATE_LOGIN,
            REQUEST_ID,
            PROGRAM_APPLICATION_ID,
            PROGRAM_ID,
            PROGRAM_UPDATE_DATE)
           SELECT
           i_trx_id,
           i_org_id,
           i_inv_item_id,
           cce.cost_element_id,
           2,
           decode(cce.cost_element_id,
               1,sum(nvl(pl_material_in,0) - nvl(pl_material_out,0)-nvl(pl_material_var,0)),
               2,sum(nvl(pl_material_overhead_in,0) - nvl(pl_material_overhead_out,0)-nvl(pl_material_overhead_var,0)),
               3,sum(nvl(pl_resource_in,0)-nvl(pl_resource_out,0)-nvl(pl_resource_var,0)),
               4,sum(nvl(pl_outside_processing_in,0)-nvl(pl_outside_processing_out,0)-nvl(pl_outside_processing_var,0)),
               5,sum(nvl(pl_overhead_in,0)-nvl(pl_overhead_out,0)-nvl(pl_overhead_var,0)))/i_txn_qty,
           NULL,
           NULL,
           NULL,
           SYSDATE,
           i_user_id,
           SYSDATE,
           i_user_id,
           i_login_id,
           i_request_id,
           i_prog_appl_id,
           i_prog_id,
           SYSDATE
           FROM
           CST_COST_ELEMENTS CCE,
           WIP_PERIOD_BALANCES WPB
           WHERE
           WPB.WIP_ENTITY_ID  = I_WIP_ENTITY_ID AND
           WPB.ORGANIZATION_ID             =       I_ORG_ID
           GROUP BY CCE.COST_ELEMENT_ID, WPB.WIP_ENTITY_ID;
Line: 2788

        INSERT INTO mtl_cst_txn_cost_details
        (
         TRANSACTION_ID,
         ORGANIZATION_ID,
         INVENTORY_ITEM_ID,
         COST_ELEMENT_ID,
         LEVEL_TYPE,
         TRANSACTION_COST,
         NEW_AVERAGE_COST,
         PERCENTAGE_CHANGE,
         VALUE_CHANGE,
         LAST_UPDATE_DATE,
         LAST_UPDATED_BY,
         CREATION_DATE,
         CREATED_BY,
         LAST_UPDATE_LOGIN,
         REQUEST_ID,
         PROGRAM_APPLICATION_ID,
         PROGRAM_ID,
         PROGRAM_UPDATE_DATE)
        SELECT
        i_trx_id,
        i_org_id,
        i_inv_item_id,
        wrocd.cost_element_id,
        2,
        sum(nvl(wrocd.temp_relieved_value,0))/i_txn_qty,
        NULL,
        NULL,
        NULL,
        SYSDATE,
        i_user_id,
        SYSDATE,
        i_user_id,
        i_login_id,
        i_request_id,
        i_prog_appl_id,
        i_prog_id,
        SYSDATE
        FROM
        WIP_REQ_OPERATION_COST_DETAILS wrocd
        where
        WIP_ENTITY_ID	=	i_wip_entity_id 	AND
        ORGANIZATION_ID	=	i_org_id
        GROUP BY wrocd.cost_element_id
        HAVING sum(nvl(wrocd.temp_relieved_value,0))  <> 0;
Line: 2838

        INSERT INTO mtl_cst_txn_cost_details
        (
         TRANSACTION_ID,
         ORGANIZATION_ID,
         INVENTORY_ITEM_ID,
         COST_ELEMENT_ID,
         LEVEL_TYPE,
         TRANSACTION_COST,
         NEW_AVERAGE_COST,
         PERCENTAGE_CHANGE,
         VALUE_CHANGE,
         LAST_UPDATE_DATE,
         LAST_UPDATED_BY,
         CREATION_DATE,
         CREATED_BY,
         LAST_UPDATE_LOGIN,
         REQUEST_ID,
         PROGRAM_APPLICATION_ID,
         PROGRAM_ID,
         PROGRAM_UPDATE_DATE)
        SELECT
         i_trx_id,
         i_org_id,
         i_inv_item_id,
         br.cost_element_id,
         1,
         sum(nvl(wor.temp_relieved_value,0))/i_txn_qty,
         NULL,
         NULL,
         NULL,
         SYSDATE,
         i_user_id,
         SYSDATE,
         i_user_id,
         i_login_id,
         i_request_id,
         i_prog_appl_id,
         i_prog_id,
         SYSDATE
        FROM
        BOM_RESOURCES BR,
        WIP_OPERATION_RESOURCES WOR
        WHERE
        WOR.RESOURCE_ID	 	=	BR.RESOURCE_ID		AND
        WOR.ORGANIZATION_ID	=	BR.ORGANIZATION_ID	AND
        WOR.WIP_ENTITY_ID	=	i_wip_entity_id		AND
        WOR.ORGANIZATION_ID	=	i_org_id
        GROUP BY BR.COST_ELEMENT_ID
        HAVING sum(nvl(wor.temp_relieved_value,0))  <> 0;
Line: 2890

        INSERT INTO mtl_cst_txn_cost_details
        (
         TRANSACTION_ID,
         ORGANIZATION_ID,
         INVENTORY_ITEM_ID,
         COST_ELEMENT_ID,
         LEVEL_TYPE,
         TRANSACTION_COST,
         NEW_AVERAGE_COST,
         PERCENTAGE_CHANGE,
         VALUE_CHANGE,
         LAST_UPDATE_DATE,
         LAST_UPDATED_BY,
         CREATION_DATE,
         CREATED_BY,
         LAST_UPDATE_LOGIN,
         REQUEST_ID,
         PROGRAM_APPLICATION_ID,
         PROGRAM_ID,
         PROGRAM_UPDATE_DATE)
        SELECT
         i_trx_id,
         i_org_id,
         i_inv_item_id,
         5,
         1,
         SUM(nvl(temp_relieved_value,0))/i_txn_qty,
         NULL,
         NULL,
         NULL,
         SYSDATE,
         i_user_id,
         SYSDATE,
         i_user_id,
         i_login_id,
         i_request_id,
         i_prog_appl_id,
         i_prog_id,
         SYSDATE
        FROM
        WIP_OPERATION_OVERHEADS
        WHERE
        WIP_ENTITY_ID           =       i_wip_entity_id         AND
        ORGANIZATION_ID         =       i_org_id
        HAVING
        SUM(nvl(temp_relieved_value,0)) <>      0;
Line: 2951

           SELECT count(*)
           INTO l_count
           FROM   mtl_cst_txn_cost_details  mctcd,
                  mtl_material_transactions mmt
           WHERE mctcd.transaction_id = mmt.transaction_id
           AND   mctcd.transaction_id = i_trx_id
           AND   mctcd.transaction_cost < 0;
Line: 2968

                SELECT wip_transactions_s.nextval
                INTO l_wcti_txn_id
                FROM dual;
Line: 2976

                INSERT INTO wip_cost_txn_interface
                 (transaction_id,
                 acct_period_id,
                 process_status,
                 process_phase,
                 transaction_type,
                 organization_id,
                 wip_entity_id,
                 wip_entity_name,
                 entity_type,
                 transaction_date,
                 last_update_date,
                 last_updated_by,
                 last_update_login,
                 creation_date,
                 created_by,
                 request_id,
                 program_application_id,
                 program_id,
                 program_update_date)
                 SELECT
                    l_wcti_txn_id,
                    i_acct_period_id,
                    2,
                    3,
                    7,  -- new transaction_type for final completion variance
                    i_org_id,
                    i_wip_entity_id,
                    w.wip_entity_name,
                    1,
                    i_txn_date,
                    sysdate,
                    i_user_id,
                    i_login_id,
                    sysdate,
                    i_user_id,
                    i_request_id,
                    i_prog_appl_id,
                    i_prog_id,
                    sysdate
                 FROM
                    wip_entities w
                 WHERE
                     w.wip_entity_id   = i_wip_entity_id
                 AND w.organization_id = i_org_id;
Line: 3088

   SELECT set_of_books_id
   INTO l_sob_id
   /*FROM org_organization_definitions*/
   FROM cst_organization_definitions
   WHERE organization_id = i_org_id;
Line: 3095

   SELECT currency_code
   INTO l_pri_curr
   FROM gl_sets_of_books
   WHERE set_of_books_id = l_sob_id;
Line: 3101

   INSERT INTO wip_transactions
  (transaction_id,
   acct_period_id,
   transaction_type,
   organization_id,
   wip_entity_id,
   transaction_date,
   last_update_date,
   last_updated_by,
   last_update_login,
   creation_date,
   created_by,
   request_id,
   program_application_id,
   program_id,
   program_update_date)
SELECT
   wcti.transaction_id,
   wcti.acct_period_id,
   wcti.transaction_type,
   wcti.organization_id,
   wcti.wip_entity_id,
   wcti.transaction_date,
   sysdate,
   i_user_id,
   i_login_id,
   sysdate,
   i_user_id,
   i_request_id,
   i_prog_appl_id,
   i_prog_id,
   sysdate
FROM wip_cost_txn_interface wcti
WHERE transaction_id = i_wcti_txn_id;
Line: 3140

INSERT INTO wip_transaction_accounts
  (transaction_id,            reference_account,
   last_update_date,           last_updated_by,
   creation_date,              created_by,
   last_update_login,          organization_id,
   transaction_date,           wip_entity_id,
   repetitive_schedule_id,     accounting_line_type,
   transaction_value,          base_transaction_value,
   contra_set_id,              primary_quantity,
   rate_or_amount,             basis_type,
   resource_id,                cost_element_id,
   activity_id,                currency_code,
   currency_conversion_date,   currency_conversion_type,
   currency_conversion_rate,
   request_id,                 program_application_id,
   program_id,                 program_update_date)
SELECT
   i_wcti_txn_id,
   decode(mctcd.cost_element_id,
      1, wdj.material_account,
      2, wdj.material_overhead_account,
      3, wdj.resource_account,
      4, wdj.outside_processing_account,
      5, wdj.overhead_account),
   sysdate,		i_user_id,
   sysdate,		i_user_id,
   i_login_id,		i_org_id,
   i_txn_date,		i_wip_entity_id,
   NULL,		7,
   NULL,
   decode(c1.minimum_accountable_unit,
        NULL, round(-SUM(mctcd.transaction_cost)*i_txn_qty,c1.precision),
        round(-SUM(mctcd.transaction_cost)*i_txn_qty/c1.minimum_accountable_unit)
        * c1.minimum_accountable_unit),
   NULL,		NULL,
   NULL,		NULL,
   NULL,		mctcd.cost_element_id,
   NULL,		NULL,
   NULL,		NULL,
   NULL,
   i_request_id,	i_prog_appl_id,
   i_prog_id,		sysdate
FROM mtl_cst_txn_cost_details mctcd,
     mtl_material_transactions mmt,
     wip_discrete_jobs wdj,
     fnd_currencies c1
WHERE mctcd.transaction_id = mmt.transaction_id
AND   mmt.transaction_source_id = wdj.wip_entity_id
AND   mctcd.transaction_id = i_trx_id
AND   mctcd.transaction_cost < 0
 AND   c1.currency_code = l_pri_curr
GROUP BY
  decode(mctcd.cost_element_id,
        1, wdj.material_account,
        2, wdj.material_overhead_account,
        3, wdj.resource_account,
        4, wdj.outside_processing_account,
        5, wdj.overhead_account),
        mctcd.cost_element_id,
  c1.minimum_accountable_unit,
  c1.precision;
Line: 3205

INSERT INTO wip_transaction_accounts
   (transaction_id,            reference_account,
    last_update_date,           last_updated_by,
    creation_date,              created_by,
    last_update_login,          organization_id,
    transaction_date,           wip_entity_id,
    repetitive_schedule_id,     accounting_line_type,
    transaction_value,          base_transaction_value,
    contra_set_id,              primary_quantity,
    rate_or_amount,             basis_type,
    resource_id,                cost_element_id,
    activity_id,                currency_code,
    currency_conversion_date,   currency_conversion_type,
    currency_conversion_rate,
    request_id,                 program_application_id,
    program_id,                 program_update_date)
SELECT
    i_wcti_txn_id,
    wdj.material_variance_account,
    sysdate,		i_user_id,
    sysdate,		i_user_id,
    i_login_id,		i_org_id,
    i_txn_date,		i_wip_entity_id,
    NULL,		8,
    NULL,
   /* decode(c1.minimum_accountable_unit,
        NULL, round(SUM(mctcd.transaction_cost)*i_txn_qty,c1.precision),
        round(SUM(mctcd.transaction_cost)*i_txn_qty/c1.minimum_accountable_unit)
        * c1.minimum_accountable_unit), */
   decode(c1.minimum_accountable_unit,
         NULL, SUM(round((mctcd.transaction_cost*i_txn_qty),c1.precision)),
 	 sum(round((mctcd.transaction_cost*i_txn_qty)/c1.minimum_accountable_unit)
 	 * c1.minimum_accountable_unit)),
    NULL,		NULL,
    NULL,		NULL,
    NULL,		1,
    NULL,		NULL,
    NULL,		NULL,
    NULL,
    i_request_id,	i_prog_appl_id,
    i_prog_id,		sysdate
FROM mtl_cst_txn_cost_details mctcd,
     mtl_material_transactions mmt,
     wip_discrete_jobs wdj,
     fnd_currencies c1
WHERE mctcd.transaction_id = mmt.transaction_id
AND   mmt.transaction_source_id = wdj.wip_entity_id
AND   mctcd.transaction_id = i_trx_id
AND   mctcd.transaction_cost < 0
AND   mctcd.level_type = 2
AND   c1.currency_code = l_pri_curr
GROUP BY
  wdj.material_variance_account,
  c1.minimum_accountable_unit,
  c1.precision;
Line: 3262

INSERT INTO wip_transaction_accounts
  (transaction_id,            reference_account,
   last_update_date,           last_updated_by,
   creation_date,              created_by,
   last_update_login,          organization_id,
   transaction_date,           wip_entity_id,
   repetitive_schedule_id,     accounting_line_type,
   transaction_value,          base_transaction_value,
   contra_set_id,              primary_quantity,
   rate_or_amount,             basis_type,
   resource_id,                cost_element_id,
   activity_id,                currency_code,
   currency_conversion_date,   currency_conversion_type,
   currency_conversion_rate,
   request_id,                 program_application_id,
   program_id,                 program_update_date)
SELECT
   i_wcti_txn_id,
   decode(mctcd.cost_element_id,
      3, wdj.resource_variance_account,
      4, wdj.outside_proc_variance_account,
      5, wdj.overhead_variance_account),
   sysdate,		i_user_id,
   sysdate,		i_user_id,
   i_login_id,		i_org_id,
   i_txn_date,	i_wip_entity_id,
   NULL,		8,
   NULL,
   decode(c1.minimum_accountable_unit,
        NULL, round(mctcd.transaction_cost*i_txn_qty,c1.precision),
        round(mctcd.transaction_cost*i_txn_qty/c1.minimum_accountable_unit)
        * c1.minimum_accountable_unit),
   NULL,		NULL,
   NULL,		NULL,
   NULL,		mctcd.cost_element_id,
   NULL,		NULL,
   NULL,		NULL,
   NULL,
   i_request_id,	i_prog_appl_id,
   i_prog_id,		sysdate
FROM mtl_cst_txn_cost_details mctcd,
     mtl_material_transactions mmt,
     wip_discrete_jobs wdj,
     fnd_currencies c1
WHERE mctcd.transaction_id = mmt.transaction_id
AND   mmt.transaction_source_id = wdj.wip_entity_id
AND   mctcd.transaction_id = i_trx_id
AND   mctcd.transaction_cost < 0
AND   mctcd.level_type = 1
AND   mctcd.cost_element_id in (3,4,5)
AND   c1.currency_code = l_pri_curr;
Line: 3316

UPDATE WIP_TRANSACTION_ACCOUNTS
SET    WIP_SUB_LEDGER_ID = CST_WIP_SUB_LEDGER_ID_S.NEXTVAL
WHERE  TRANSACTION_ID = i_wcti_txn_id;
Line: 3322

DELETE wip_cost_txn_interface
WHERE transaction_id = i_wcti_txn_id;
Line: 3326

UPDATE wip_period_balances wpb
SET
  (last_update_date,
   last_updated_by,
   last_update_login,
   request_id,
   program_application_id,
   program_id,
   program_update_date,
   pl_material_var,
   pl_material_overhead_var,
   pl_resource_var,
   pl_outside_processing_var,
   pl_overhead_var,
   tl_material_var,
   tl_material_overhead_var,
   tl_resource_var,
   tl_outside_processing_var,
   tl_overhead_var) =
(SELECT
    sysdate,
    i_user_id,
    i_login_id,
    i_request_id,
    i_prog_id,
    i_prog_appl_id,
    sysdate,
    pl_material_var + decode(c1.minimum_accountable_unit,
                                  NULL, round(i_txn_qty*sum(decode(level_type,
                                              2,decode(cost_element_id,
                                             1,nvl(transaction_cost,0)
                                             ,0),0)),c1.precision),
                                  round((i_txn_qty*sum(decode(level_type,
                                              2,decode(cost_element_id,
                                              1,nvl(transaction_cost,0)
                                              ,0),0)))/c1.minimum_accountable_unit)*c1.minimum_accountable_unit),
    pl_material_overhead_var + decode(c1.minimum_accountable_unit,
                                  NULL, round(i_txn_qty*sum(decode(level_type,
                                                2,decode(cost_element_id,
                                               2,nvl(transaction_cost,0)
                                               ,0),0)),c1.precision),
                                  round((i_txn_qty*sum(decode(level_type,
                                                2,decode(cost_element_id,
                                                2,nvl(transaction_cost,0)
                                                ,0),0)))/c1.minimum_accountable_unit)*c1.minimum_accountable_unit),
    pl_resource_var + decode(c1.minimum_accountable_unit,
                                  NULL, round(i_txn_qty*sum(decode(level_type,
                                                2,decode(cost_element_id,
                                                3,nvl(transaction_cost,0)
                                                ,0),0)),c1.precision),
                                  round((i_txn_qty*sum(decode(level_type,
                                                2,decode(cost_element_id,
                                                 3,nvl(transaction_cost,0)
                                                 ,0),0)))/c1.minimum_accountable_unit)*c1.minimum_accountable_unit),
    pl_outside_processing_var + decode(c1.minimum_accountable_unit,
                                  NULL, round(i_txn_qty*sum(decode(level_type,
                                                 2,decode(cost_element_id,
                                                 4,nvl(transaction_cost,0)
                                                 ,0),0)),c1.precision),
                                  round((i_txn_qty*sum(decode(level_type,
                                                 2,decode(cost_element_id,
                                                 4,nvl(transaction_cost,0)
                                                 ,0),0)))/c1.minimum_accountable_unit)*c1.minimum_accountable_unit),
    pl_overhead_var + decode(c1.minimum_accountable_unit,
                                  NULL, round(i_txn_qty*sum(decode(level_type,
                                                 2,decode(cost_element_id,
                                                 5,nvl(transaction_cost,0)
                                                 ,0),0)),c1.precision),
                                  round((i_txn_qty*sum(decode(level_type,
                                                 2,decode(cost_element_id,
                                                 5,nvl(transaction_cost,0)
                                                 ,0),0)))/c1.minimum_accountable_unit)*c1.minimum_accountable_unit),
    tl_material_var + decode(c1.minimum_accountable_unit,
                                  NULL, round(i_txn_qty* sum(decode(level_type,
                                                 1,decode(cost_element_id,
                                                 1,nvl(transaction_cost,0)
                                                 ,0),0)),c1.precision),
                                  round((i_txn_qty* sum(decode(level_type,
                                                 1,decode(cost_element_id,
                                                 1,nvl(transaction_cost,0)
                                                 ,0),0)))/c1.minimum_accountable_unit)*c1.minimum_accountable_unit),
    tl_material_overhead_var + 0,       /* The TL MO never gets Cr to the Job*/
    tl_resource_var + decode(c1.minimum_accountable_unit,
                                  NULL, round(i_txn_qty* sum(decode(level_type,
                                                 1,decode(cost_element_id,
                                                 3,nvl(transaction_cost,0)
                                                 ,0),0)),c1.precision),
                                  round((i_txn_qty* sum(decode(level_type,
                                                 1,decode(cost_element_id,
                                                 3,nvl(transaction_cost,0)
                                                 ,0),0)))/c1.minimum_accountable_unit)*c1.minimum_accountable_unit),
    tl_outside_processing_var + decode(c1.minimum_accountable_unit,
                                  NULL, round(i_txn_qty* sum(decode(level_type,
                                                 1,decode(cost_element_id,
                                                 4,nvl(transaction_cost,0)
                                                 ,0),0)),c1.precision),
                                  round((i_txn_qty* sum(decode(level_type,
                                                 1,decode(cost_element_id,
                                                 4,nvl(transaction_cost,0)
                                                 ,0),0)))/c1.minimum_accountable_unit)*c1.minimum_accountable_unit),
    tl_overhead_var + decode(c1.minimum_accountable_unit,
                                  NULL, round(i_txn_qty* sum(decode(level_type,
                                                 1,decode(cost_element_id,
                                                 5,nvl(transaction_cost,0)
                                                 ,0),0)),c1.precision),
                                  round((i_txn_qty* sum(decode(level_type,
                                                 1,decode(cost_element_id,
                                                 5,nvl(transaction_cost,0)
                                                 ,0),0)))/c1.minimum_accountable_unit)*c1.minimum_accountable_unit)
FROM
    mtl_cst_txn_cost_details        mctcd,
    fnd_currencies                  c1
WHERE  transaction_id          = i_trx_id
AND    transaction_cost        < 0
AND    c1.currency_code        = l_pri_curr
GROUP BY c1.minimum_accountable_unit, c1.precision)
WHERE
    wip_entity_id           =       i_wip_entity_id         AND
    organization_id         =       i_org_id                AND
    acct_period_id          =       i_acct_period_id;
Line: 3451

UPDATE mtl_cst_txn_cost_details
SET transaction_cost = 0
WHERE transaction_cost < 0
AND transaction_id = i_trx_id;
Line: 3491

        l_insert_ind		NUMBER;
Line: 3501

        * Update temp_relieved_value to zero in all tables *
        ***************************************************/

        stmt_num := 10;
Line: 3506

        UPDATE WIP_REQ_OPERATION_COST_DETAILS
        SET temp_relieved_value = 0
        where
        WIP_ENTITY_ID = i_wip_entity_id;
Line: 3513

        UPDATE WIP_OPERATION_RESOURCES
        SET temp_relieved_value = 0
        where
        WIP_ENTITY_ID = i_wip_entity_id;
Line: 3520

        UPDATE WIP_OPERATION_OVERHEADS
        SET temp_relieved_value = 0
        where
        WIP_ENTITY_ID = i_wip_entity_id;
Line: 3529

        select wac.completion_cost_source, nvl(wac.cost_type_id,-1),
               wdj.start_quantity,nvl(system_option_id,-1)
        into l_comp_cost_source,l_c_cost_type_id,i_lot_size,
             l_system_option_id
        from
        wip_accounting_classes wac,
        wip_discrete_jobs wdj
        where
        wdj.wip_entity_id               =       i_wip_entity_id         and
        wdj.organization_id             =       i_org_id                and
        wdj.class_code                  =       wac.class_code          and
        wdj.organization_id             =       wac.organization_id;
Line: 3543

        l_insert_ind := 0;
Line: 3554

        SELECT
        decode(job_type,
               1,decode(bom_revision,
                        NULL,decode(routing_revision,NULL,-1,1),
                        1),
               3,decode(bom_reference_id,
                        NULL,decode(routing_reference_id,NULL,-1,1),
                        1),
               1)
        into
        l_use_val_cost_type
        from
        WIP_DISCRETE_JOBS
        WHERE
        WIP_ENTITY_ID           =               i_wip_entity_id         AND
        ORGANIZATION_ID         =               i_org_id;
Line: 3576

           select count(*)
           into l_qty_per_assy
           from wip_requirement_operations
           where wip_entity_id = i_wip_entity_id
           and quantity_per_assembly <>0;
Line: 3582

            SELECT COUNT(1)
            INTO   l_qty_per_assy
            FROM   dual
            WHERE  EXISTS ( SELECT NULL
                            FROM   wip_requirement_operations wro
                            WHERE  wro.wip_entity_id = i_wip_entity_id
                            AND    wro.quantity_per_assembly <>0
                                UNION ALL
                            SELECT NULL
                            FROM   wip_operation_resources wor
                            WHERE  wor.wip_entity_id = i_wip_entity_id
                            AND    wor.usage_rate_or_amount <>0
                           );
Line: 3636

        l_insert_ind := 1;
Line: 3640

         INSERT INTO mtl_cst_txn_cost_details
        (
         TRANSACTION_ID,
         ORGANIZATION_ID,
         INVENTORY_ITEM_ID,
         COST_ELEMENT_ID,
         LEVEL_TYPE,
         TRANSACTION_COST,
         NEW_AVERAGE_COST,
         PERCENTAGE_CHANGE,
         VALUE_CHANGE,
         LAST_UPDATE_DATE,
         LAST_UPDATED_BY,
         CREATION_DATE,
         CREATED_BY,
         LAST_UPDATE_LOGIN,
         REQUEST_ID,
         PROGRAM_APPLICATION_ID,
         PROGRAM_ID,
         PROGRAM_UPDATE_DATE)
        SELECT
        i_trx_id,
        i_org_id,
        i_inv_item_id,
        COST_ELEMENT_ID,
        LEVEL_TYPE,
        SUM(ITEM_COST),
        NULL,
        NULL,
        NULL,
        SYSDATE,
        i_user_id,
        SYSDATE,
        i_user_id,
        i_login_id,
        i_request_id,
        i_prog_appl_id,
        i_prog_id,
        SYSDATE
        FROM
        CST_ITEM_COST_DETAILS
        WHERE
        INVENTORY_ITEM_ID               =       I_INV_ITEM_ID           AND
        ORGANIZATION_ID                 =       I_ORG_ID                AND
        COST_TYPE_ID                    =       L_C_COST_TYPE_ID	AND
        NOT (COST_ELEMENT_ID		=	2			AND
             LEVEL_TYPE			=	1)
        GROUP BY COST_ELEMENT_ID,LEVEL_TYPE
        HAVING SUM(ITEM_COST) <> 0;
Line: 3706

        l_insert_ind := 1;
Line: 3710

        INSERT INTO mtl_cst_txn_cost_details
        (
         TRANSACTION_ID,
         ORGANIZATION_ID,
         INVENTORY_ITEM_ID,
         COST_ELEMENT_ID,
         LEVEL_TYPE,
         TRANSACTION_COST,
         NEW_AVERAGE_COST,
         PERCENTAGE_CHANGE,
         VALUE_CHANGE,
         LAST_UPDATE_DATE,
         LAST_UPDATED_BY,
         CREATION_DATE,
         CREATED_BY,
         LAST_UPDATE_LOGIN,
         REQUEST_ID,
         PROGRAM_APPLICATION_ID,
         PROGRAM_ID,
         PROGRAM_UPDATE_DATE)
         SELECT
         i_trx_id,
         i_org_id,
         i_inv_item_id,
         COST_ELEMENT_ID,
         LEVEL_TYPE,
         ITEM_COST,
         NULL,
         NULL,
         NULL,
         SYSDATE,
         i_user_id,
         SYSDATE,
         i_user_id,
         i_login_id,
         i_request_id,
         i_prog_appl_id,
         i_prog_id,
         SYSDATE
         FROM
         CST_LAYER_COST_DETAILS
         WHERE
         LAYER_ID               =               i_layer_id	AND
         NOT (COST_ELEMENT_ID	=		2		AND
              LEVEL_TYPE	=		1);
Line: 3836

        select count(1)
          into l_routing_check
          from wip_operations wo
         where wo.wip_entity_id = i_wip_entity_id;
Line: 3846

          UPDATE wip_req_operation_cost_details w1
          SET
            (temp_relieved_value,
             relieved_matl_completion_value) =
            (SELECT
                --
                -- temp_relieved_value
                --
                decode(SIGN(w2.relieved_matl_completion_value),1,
                nvl(W2.relieved_matl_completion_value,0)*
                decode(abs(i_txn_qty),
                       prior_completion_quantity,-1,
                       i_txn_qty/decode(prior_completion_quantity,null,1,0,1,
                                        prior_completion_quantity)),
                       0),
                ---
                --- relieved_matl_completion_value
                ---
                nvl(w1.relieved_matl_completion_value,0)+
                decode(SIGN(w2.relieved_matl_completion_value),1,
                       nvl(w2.relieved_matl_completion_value,0)*
                       decode(abs(i_txn_qty),
                              prior_completion_quantity,-1,
                              i_txn_qty/decode(prior_completion_quantity,null,1,0,1,
                                               prior_completion_quantity)),
                       0)
             FROM
                wip_req_operation_cost_details w2,
                cst_comp_snapshot cocd
             WHERE
                w1.wip_entity_id       =       w2.wip_entity_id        AND
                w1.organization_id     =       w2.organization_id      AND
                w1.operation_seq_num   =       w2.operation_seq_num    AND
                w1.inventory_item_id   =       w2.inventory_item_id    AND
                w1.cost_element_id     =       w2.cost_element_id      AND
                w2.wip_entity_id	=	cocd.wip_entity_id	AND
                w2.operation_seq_num	=	cocd.operation_seq_num	AND
                cocd.new_operation_flag =	2			AND
                cocd.transaction_id	=	i_trx_id
             )
          WHERE
           w1.wip_entity_id	=	i_wip_entity_id		AND
           w1.organization_id	=	i_org_id;
Line: 3892

          UPDATE wip_requirement_operations w1
          SET
            relieved_matl_completion_qty =
            (SELECT
                --
                -- relieved_matl_completion_qty
                --
                nvl(w1.relieved_matl_completion_qty,0)+
                decode(SIGN(SUM(nvl(wrocd.relieved_matl_completion_value  - wrocd.temp_relieved_value,0))),1,
                       nvl(w2.relieved_matl_completion_qty,0)*
                       decode(abs(i_txn_qty),
                              prior_completion_quantity,-1,
                              i_txn_qty/decode(prior_completion_quantity,null,1,0,1,
                                               prior_completion_quantity)),
                0)
             FROM
                wip_req_operation_cost_details wrocd,
                wip_requirement_operations w2,
                cst_comp_snapshot cocd
             WHERE
                w1.wip_entity_id        = w2.wip_entity_id        AND
                w1.inventory_item_id    = w2.inventory_item_id    AND
                w1.operation_seq_num    = w2.operation_seq_num    AND
                w1.organization_id      = w2.organization_id      AND
                w2.wip_entity_id        = wrocd.wip_entity_id     AND
                w2.organization_id      = wrocd.organization_id   AND
                w2.operation_seq_num    = wrocd.operation_seq_num AND
                w2.inventory_item_id    = wrocd.inventory_item_id AND
                w2.wip_entity_id	   = cocd.wip_entity_id	     AND
                w2.operation_seq_num	   = cocd.operation_seq_num  AND
                cocd.new_operation_flag = 2			     AND
                cocd.transaction_id	   = i_trx_id
             GROUP BY
                w2.wip_entity_id,
                w2.organization_id,
                w2.inventory_item_id,
                w2.operation_seq_num,
                prior_completion_quantity,
                w2.relieved_matl_completion_qty
             )
          WHERE
            w1.wip_entity_id         =       i_wip_entity_id AND
            w1.organization_id       =       i_org_id;
Line: 3943

          SELECT  nvl(include_component_yield, 1)
          INTO    l_include_comp_yield
          FROM    wip_parameters
          WHERE   organization_id = i_org_id;
Line: 3950

                  UPDATE wip_req_operation_cost_details w1
                  SET
                    (temp_relieved_value,
                     relieved_matl_completion_value) =
                    (SELECT
                        ---
                        --- temp_relieved_value
                        ---
                        DECODE(wro.relieved_matl_completion_qty,0,
                               0,
                               NULL,
                               0,
                               DECODE(w1.relieved_matl_completion_value,0,
                                      0,
                                      NULL,
                                      0,
                                      DECODE(SIGN(wro.relieved_matl_completion_qty),
                                             SIGN(w1.relieved_matl_completion_value),
                                             DECODE(SIGN(wro.relieved_matl_completion_qty-
                                                         /* LBM project Changes */
                                                         ABS(i_txn_qty)*(decode(wro.basis_type, 2,
                                                                        wro.quantity_per_assembly/i_lot_size,
                                                                                wro.quantity_per_assembly)/
                                                                        decode(l_include_comp_yield,
                                                                               1, nvl(wro.component_yield_factor,1),
                                                                               1))),
                                                    SIGN(wro.quantity_per_assembly),
                                                    /* LBM project Changes */
                                                    i_txn_qty*(decode(wro.basis_type, 2,
                                                              wro.quantity_per_assembly/i_lot_size,
                                                                        wro.quantity_per_assembly)/
                                                              decode(l_include_comp_yield,
                                                                     1, nvl(wro.component_yield_factor,1),
                                                                     1))*
                                                      relieved_matl_completion_value/
                                                      wro.relieved_matl_completion_qty,
                                                    0,
                                                    -1*relieved_matl_completion_value,
                                                    DECODE(SIGN(wro.relieved_matl_completion_qty),
                                                           SIGN(wro.quantity_per_assembly),
                                                           -1*relieved_matl_completion_value,
                                                           0)),
                                      0))),
                        ---
                        --- relieved_matl_completion_value
                        ---
                        NVL(relieved_matl_completion_value,0)+
                        DECODE(wro.relieved_matl_completion_qty,0,
                               0,
                               NULL,
                               0,
                               DECODE(w1.relieved_matl_completion_value,0,
                                      0,
                                      NULL,
                                      0,
                                      DECODE(SIGN(wro.relieved_matl_completion_qty),
                                             SIGN(w1.relieved_matl_completion_value),
                                             DECODE(SIGN(wro.relieved_matl_completion_qty-
                                                      /* LBM project Changes */
                                                      ABS(i_txn_qty)*(decode(wro.basis_type, 2,
                                                                      wro.quantity_per_assembly/i_lot_size,
                                                                                wro.quantity_per_assembly)/
                                                                     decode(l_include_comp_yield,
                                                                            1, nvl(wro.component_yield_factor,1),
                                                                            1))),
                                                    SIGN(wro.quantity_per_assembly),
                                                    /* LBM project Changes */
                                                    i_txn_qty*(decode(wro.basis_type, 2,
                                                                wro.quantity_per_assembly/i_lot_size,
                                                                         wro.quantity_per_assembly)/
                                                               decode(l_include_comp_yield,
                                                                      1, nvl(wro.component_yield_factor,1),
                                                                      1))*
                                                      relieved_matl_completion_value/
                                                    wro.relieved_matl_completion_qty,
                                                    0,
                                                    -1*relieved_matl_completion_value,
                                                    DECODE(SIGN(wro.relieved_matl_completion_qty),
                                                           SIGN(wro.quantity_per_assembly),
                                                           -1*relieved_matl_completion_value,
                                                           0)),
                                             0)))
                     FROM
                        wip_req_operation_cost_details w2,
                        wip_requirement_operations wro
                     WHERE
                        w1.wip_entity_id       =       w2.wip_entity_id        AND
                        w1.organization_id     =       w2.organization_id      AND
                        w1.operation_seq_num   =       w2.operation_seq_num    AND
                        w1.inventory_item_id   =       w2.inventory_item_id    AND
                        w1.cost_element_id     =       w2.cost_element_id      AND
                        w2.wip_entity_id       =       wro.wip_entity_id       AND
                        w2.organization_id     =       wro.organization_id     AND
                        w2.operation_seq_num   =       wro.operation_seq_num   AND
                        w2.inventory_item_id   =       wro.inventory_item_id
                     )
                  WHERE
                    (w1.wip_entity_id, w1.organization_id,
                     w1.inventory_item_id, w1.operation_seq_num) IN
                      (SELECT
                        wip_entity_id, organization_id,
                        inventory_item_id,operation_seq_num
                       FROM
                        wip_requirement_operations wro2
                       WHERE
                        wro2.wip_entity_id     =       i_wip_entity_id AND
                        wro2.organization_id   =       i_org_id        AND
                        wro2.quantity_per_assembly     <> 0);
Line: 4061

                   UPDATE wip_requirement_operations w
                   SET relieved_matl_completion_qty =
                     (SELECT
                       NVL(w.relieved_matl_completion_qty,0)+
                       DECODE(w.relieved_matl_completion_qty,0,
                           0,
                           NULL,
                           0,
                           DECODE(SUM(nvl(wrocd.relieved_matl_completion_value  - wrocd.temp_relieved_value,0)),0,
                                  0,
                                  NULL,
                                  0,
                                  DECODE(SIGN(w.relieved_matl_completion_qty),
                                         SIGN(SUM(nvl(wrocd.relieved_matl_completion_value - wrocd.temp_relieved_value,0))),
                                         DECODE(SIGN(w.relieved_matl_completion_qty-
                                                      /* LBM project Changes */
                                                      ABS(i_txn_qty)*(decode(w.basis_type, 2,
                                                                w.quantity_per_assembly/i_lot_size,
                                                                         w.quantity_per_assembly)/
                                                                     decode(l_include_comp_yield,
                                                                            1, nvl(w.component_yield_factor,1),
                                                                            1))),
                                                SIGN(w.quantity_per_assembly),
                                                /* LBM project Changes */
                                                i_txn_qty*(decode(w.basis_type, 2,
                                                                w.quantity_per_assembly/i_lot_size,
                                                                        w.quantity_per_assembly)/
                                                           decode(l_include_comp_yield,
                                                                  1, nvl(w.component_yield_factor,1),
                                                                  1)),
                                                0,
                                                -1*relieved_matl_completion_qty,
                                                DECODE(SIGN(w.relieved_matl_completion_qty),
                                                       SIGN(w.quantity_per_assembly),
                                                       -1*relieved_matl_completion_qty,
                                                       0)),
                                         0)))
                      FROM
                        wip_req_operation_cost_details wrocd,
                        wip_requirement_operations w2
                      WHERE
                        w.wip_entity_id     = w2.wip_entity_id         AND
                        w.inventory_item_id = w2.inventory_item_id     AND
                        w.operation_seq_num = w2.operation_seq_num     AND
                        w.organization_id   = w2.organization_id       AND
                        w2.wip_entity_id    = wrocd.wip_entity_id      AND
                        w2.organization_id  = wrocd.organization_id    AND
                        w2.operation_seq_num = wrocd.operation_seq_num AND
                        w2.inventory_item_id = wrocd.inventory_item_id
                      GROUP BY
                        w2.wip_entity_id,
                        w2.organization_id,
                        w2.inventory_item_id,
                        w2.operation_seq_num,
                        w2.quantity_per_assembly,
                        w2.relieved_matl_completion_qty
                      )
                   WHERE
                    w.wip_entity_id         =       i_wip_entity_id AND
                    w.organization_id       =       i_org_id        AND
                    w.quantity_per_assembly <>      0;
Line: 4141

        UPDATE wip_operation_resources w1
        SET
         (relieved_res_completion_units,
          temp_relieved_value,
          relieved_res_completion_value) =
        (SELECT
          --
          -- relieved_res_completion_units
          --
          nvl(w1.relieved_res_completion_units,0)+
          decode(SIGN(w2.relieved_res_completion_value),1,
                 nvl(w2.relieved_res_completion_units,0)*
                 decode(abs(i_txn_qty),
                        prior_completion_quantity,-1,
                        i_txn_qty/decode(prior_completion_quantity,null,1,0,1,
                                         prior_completion_quantity)),
                0),
          --
          -- temp_relieved_value
          --
          decode(SIGN(w2.relieved_res_completion_value),1,
          nvl(W2.relieved_res_completion_value,0)*
          decode(abs(i_txn_qty),
                 prior_completion_quantity,-1,
                 i_txn_qty/decode(prior_completion_quantity,null,1,0,1,
                                  prior_completion_quantity)),
                 0),
          ---
          --- relieved_res_completion_value
          ---
          nvl(w1.relieved_res_completion_value,0)+
          decode(SIGN(w2.relieved_res_completion_value),1,
                 nvl(w2.relieved_res_completion_value,0)*
                 decode(abs(i_txn_qty),
                        prior_completion_quantity,-1,
                        i_txn_qty/decode(prior_completion_quantity,null,1,0,1,
                                  prior_completion_quantity)),
                 0)
        FROM
           wip_operation_resources w2,
           cst_comp_snapshot cocd
        WHERE
           w2.wip_entity_id 	=	w1.wip_entity_id	AND
           w2.organization_id	=	w1.organization_id	AND
           w2.operation_seq_num	=	w1.operation_seq_num	AND
           w2.resource_seq_num	=	w1.resource_seq_num	AND
           w2.wip_entity_id	=	cocd.wip_entity_id	AND
           w2.operation_seq_num	=	cocd.operation_seq_num	AND
           cocd.new_operation_flag =	2			AND
           cocd.transaction_id	=	i_trx_id)
        WHERE
           w1.wip_entity_id	=	i_wip_entity_id		AND
           w1.organization_id	=	i_org_id;
Line: 4199

        UPDATE wip_operation_overheads w1
        SET
         (relieved_ovhd_completion_units,
          temp_relieved_value,
          relieved_ovhd_completion_value) =
        (SELECT
          ---
          --- relieved_ovhd_completion_units
          ---
          nvl(w1.relieved_ovhd_completion_units,0)+
          decode(SIGN(w2.relieved_ovhd_completion_value),1,
                 nvl(W2.relieved_ovhd_completion_units,0)*
                 decode(abs(i_txn_qty),
                        prior_completion_quantity,-1,
                        i_txn_qty/decode(prior_completion_quantity,null,1,0,1,
                                         prior_completion_quantity)),
                 0),
          ---
          --- temp_relieved_value
          ---
          decode(SIGN(w2.relieved_ovhd_completion_value),1,
                 nvl(w2.relieved_ovhd_completion_value,0)*
                 decode(abs(i_txn_qty),
                        prior_completion_quantity,-1,
                        i_txn_qty/decode(prior_completion_quantity,null,1,0,1,
                                         prior_completion_quantity)),
                 0),

          ---
          --- relieved_ovhd_completion_value
          ---
          nvl(w1.relieved_ovhd_completion_value,0)+
          decode(SIGN(w2.relieved_ovhd_completion_value),1,
                 nvl(w2.relieved_ovhd_completion_value,0)*
                 decode(abs(i_txn_qty),
                        prior_completion_quantity,-1,
                        i_txn_qty/decode(prior_completion_quantity,null,1,0,1,
                                         prior_completion_quantity)),
                 0)

        FROM
        wip_operation_overheads w2,
        cst_comp_snapshot cocd
        WHERE
        w2.wip_entity_id        =       w1.wip_entity_id        AND
        w2.organization_id      =       w1.organization_id      AND
        w2.operation_seq_num    =       w1.operation_seq_num    AND
        w2.resource_seq_num     =       w1.resource_seq_num     AND
        w2.overhead_id          =       w1.overhead_id          AND
        w2.basis_type           =       w1.basis_type           AND
        w2.wip_entity_id        =       cocd.wip_entity_id      AND
        w2.operation_seq_num    =       cocd.operation_seq_num  AND
        cocd.new_operation_flag =       2                       AND
        cocd.transaction_id     =       i_trx_id)
        WHERE
        w1.wip_entity_id        =       i_wip_entity_id         AND
        w1.organization_id      =       i_org_id;
Line: 4260

        * Insert into mtl_cst_txn_cost_details now that the     *
        * Costs have been computed ...                              *
        * 3 statements are required --> one each for PL costs       *
        * , TL Res/OSP costs and TL ovhd costs.                     *
        * Remember - the cst_txn_cost_detail tables stores unit     *
        * cost - but the wip tables store the value in the          *
        * temp_relieved_value column - so we have to divide by the  *
        * txn_qty to arrive at the unit cost.                       *
        * Also, this insert should only be performed if the indicat *
        * or is <> 1.
        ************************************************************/

        IF (l_insert_ind <>1) THEN

        stmt_num := 270;
Line: 4276

        INSERT INTO mtl_cst_txn_cost_details
        (
         TRANSACTION_ID,
         ORGANIZATION_ID,
         INVENTORY_ITEM_ID,
         COST_ELEMENT_ID,
         LEVEL_TYPE,
         TRANSACTION_COST,
         NEW_AVERAGE_COST,
         PERCENTAGE_CHANGE,
         VALUE_CHANGE,
         LAST_UPDATE_DATE,
         LAST_UPDATED_BY,
         CREATION_DATE,
         CREATED_BY,
         LAST_UPDATE_LOGIN,
         REQUEST_ID,
         PROGRAM_APPLICATION_ID,
         PROGRAM_ID,
         PROGRAM_UPDATE_DATE)
        SELECT
        i_trx_id,
        i_org_id,
        i_inv_item_id,
        wrocd.cost_element_id,
        2,
        sum(nvl(wrocd.temp_relieved_value,0))/i_txn_qty,
        NULL,
        NULL,
        NULL,
        SYSDATE,
        i_user_id,
        SYSDATE,
        i_user_id,
        i_login_id,
        i_request_id,
        i_prog_appl_id,
        i_prog_id,
        SYSDATE
        FROM
        WIP_REQ_OPERATION_COST_DETAILS wrocd
        where
        WIP_ENTITY_ID   =       i_wip_entity_id         AND
        ORGANIZATION_ID =       i_org_id
        GROUP BY wrocd.cost_element_id
        HAVING sum(nvl(wrocd.temp_relieved_value,0))  <> 0;
Line: 4325

        INSERT INTO mtl_cst_txn_cost_details
        (
         TRANSACTION_ID,
         ORGANIZATION_ID,
         INVENTORY_ITEM_ID,
         COST_ELEMENT_ID,
         LEVEL_TYPE,
         TRANSACTION_COST,
         NEW_AVERAGE_COST,
         PERCENTAGE_CHANGE,
         VALUE_CHANGE,
         LAST_UPDATE_DATE,
         LAST_UPDATED_BY,
         CREATION_DATE,
         CREATED_BY,
         LAST_UPDATE_LOGIN,
         REQUEST_ID,
         PROGRAM_APPLICATION_ID,
         PROGRAM_ID,
         PROGRAM_UPDATE_DATE)
        SELECT
         i_trx_id,
         i_org_id,
         i_inv_item_id,
         br.cost_element_id,
         1,
         sum(nvl(wor.temp_relieved_value,0))/i_txn_qty,
         NULL,
         NULL,
         NULL,
         SYSDATE,
         i_user_id,
         SYSDATE,
         i_user_id,
         i_login_id,
         i_request_id,
         i_prog_appl_id,
         i_prog_id,
         SYSDATE
        FROM
        BOM_RESOURCES BR,
        WIP_OPERATION_RESOURCES WOR
        WHERE
        WOR.RESOURCE_ID         =       BR.RESOURCE_ID          AND
        WOR.ORGANIZATION_ID     =       BR.ORGANIZATION_ID      AND
        WOR.WIP_ENTITY_ID       =       i_wip_entity_id         AND
        WOR.ORGANIZATION_ID     =       i_org_id
        GROUP BY BR.COST_ELEMENT_ID
        HAVING sum(nvl(wor.temp_relieved_value,0))  <> 0;
Line: 4377

        INSERT INTO mtl_cst_txn_cost_details
        (
         TRANSACTION_ID,
         ORGANIZATION_ID,
         INVENTORY_ITEM_ID,
         COST_ELEMENT_ID,
         LEVEL_TYPE,
         TRANSACTION_COST,
         NEW_AVERAGE_COST,
         PERCENTAGE_CHANGE,
         VALUE_CHANGE,
         LAST_UPDATE_DATE,
         LAST_UPDATED_BY,
         CREATION_DATE,
         CREATED_BY,
         LAST_UPDATE_LOGIN,
         REQUEST_ID,
         PROGRAM_APPLICATION_ID,
         PROGRAM_ID,
         PROGRAM_UPDATE_DATE)
        SELECT
         i_trx_id,
         i_org_id,
         i_inv_item_id,
         5,
         1,
         SUM(nvl(temp_relieved_value,0))/i_txn_qty,
         NULL,
         NULL,
         NULL,
         SYSDATE,
         i_user_id,
         SYSDATE,
         i_user_id,
         i_login_id,
         i_request_id,
         i_prog_appl_id,
         i_prog_id,
         SYSDATE
        FROM
        WIP_OPERATION_OVERHEADS
        WHERE
        WIP_ENTITY_ID           =       i_wip_entity_id         AND
        ORGANIZATION_ID         =       i_org_id
        HAVING
        SUM(nvl(temp_relieved_value,0)) <>      0;