DBA Data[Home] [Help]

APPS.ENG_CANCEL_ECO SQL Statements

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

Line: 24

    cursor delete_attachments is
    select change_id,revised_item_id,new_item_revision_id,revised_item_sequence_id
    from eng_revised_items
    where organization_id = org_id
    and change_notice = change_order
    and status_type not in (5,6);
Line: 31

   CURSOR update_att_status is
   SELECT change_id, change_mgmt_type_code
   FROM eng_engineering_changes
   WHERE organization_id = org_id
   and change_notice = change_order;
Line: 40

   SELECT DISTINCT ri.routing_sequence_id
     FROM ENG_REVISED_ITEMS ri
    WHERE TRUNC(ri.last_update_date) = TRUNC(SYSDATE)
      AND ri.status_type = 5 -- Cancelled
      AND ri.organization_id = org_id
      AND ri.change_notice = change_order
    ORDER BY routing_sequence_id desc;
Line: 50

     select routing_sequence_id
       from bom_operational_routings bor
      WHERE bor.pending_from_ecn IS NOT NULL
        And bor.routing_sequence_id = p_routing_sequence_id
        and not exists (select null
                          from BOM_OPERATION_SEQUENCES bos
                         where bos.routing_sequence_id = bor.routing_sequence_id
                           and (bos.change_notice is null
                                or
                                bos.change_notice <> change_order))
        and ((bor.alternate_routing_designator is null
              and not exists (select null
                                from BOM_OPERATIONAL_ROUTINGS bor2
                               where bor2.organization_id  = bor.organization_id
                                 and bor2.assembly_item_id = bor.assembly_item_id
                                 and bor2.alternate_routing_designator is not null)
              and not exists (select null
                                from MTL_RTG_ITEM_REVISIONS mriv
                               where mriv.organization_id  = bor.organization_id
                                 and mriv.inventory_item_id = bor.assembly_item_id
   		                 and mriv.implementation_date is not null
                                 and mriv.change_notice is null))
              or
             (bor.alternate_routing_designator is not null))
        and not exists (select null
                          from ENG_REVISED_ITEMS eri
                         where eri.organization_id = bor.organization_id
                           and eri.routing_sequence_id = bor.routing_sequence_id
                           and eri.change_notice <> change_order
                           and eri.status_type <> 5);
Line: 82

    select bill_sequence_id
    from BOM_BILL_OF_MATERIALS
    where common_bill_sequence_id <> source_bill_sequence_id
              and bill_sequence_id = common_bill_sequence_id
	      and pending_from_ECN  = change_order
	      and organization_id = org_id;
Line: 100

open delete_attachments;
Line: 102

  fetch delete_attachments into l_change_id,l_revised_item_id,l_new_item_revision_id,l_revised_item_sequence_id;
Line: 103

  exit when delete_attachments%NOTFOUND ;
Line: 105

    ENG_ATTACHMENT_IMPLEMENTATION.delete_attachments_for_curr_co
                                    (p_api_version => 1.0
                                    ,p_change_id => l_change_id
                                    ,p_rev_item_seq_id => l_revised_item_sequence_id
                                    ,x_return_status => l_return_status
                                    ,x_msg_data => l_msg_data
                                    ,x_msg_count => l_msg_count
                                    );
Line: 114

close delete_attachments;
Line: 117

  close delete_attachments;
Line: 121

OPEN update_att_status;
Line: 123

  fetch update_att_status into l_new_change_id,l_cm_type_code;
Line: 124

  exit when update_att_status%NOTFOUND ;
Line: 130

close update_att_status;
Line: 133

  close update_att_status;
Line: 139

    UPDATE ENG_ENGINEERING_CHANGES
	SET CANCELLATION_DATE = SYSDATE,
	STATUS_TYPE = 5,
	CANCELLATION_COMMENTS = comment,
	LAST_UPDATED_BY = user_id,
	LAST_UPDATE_LOGIN = login
    WHERE ORGANIZATION_ID = org_id
    AND CHANGE_NOTICE = change_order;
Line: 154

    UPDATE ENG_REVISED_ITEMS
   	SET CANCELLATION_DATE = SYSDATE,
       	STATUS_TYPE = 5,
	LAST_UPDATED_BY = user_id,
	LAST_UPDATE_LOGIN = login
    WHERE ORGANIZATION_ID = org_id
    AND CHANGE_NOTICE = change_order
    AND STATUS_TYPE NOT IN (5,6);
Line: 165

** delete substitute components of all pending revised items on ECO
*/
    stmt_num := 20;
Line: 168

    DELETE FROM BOM_SUBSTITUTE_COMPONENTS SC
    WHERE SC.COMPONENT_SEQUENCE_ID IN
   	(SELECT IC.COMPONENT_SEQUENCE_ID
       	FROM BOM_INVENTORY_COMPONENTS IC, ENG_REVISED_ITEMS RI
     	WHERE RI.ORGANIZATION_ID = org_id
       	AND RI.CHANGE_NOTICE = change_order
       	AND IC.REVISED_ITEM_SEQUENCE_ID = RI.REVISED_ITEM_SEQUENCE_ID
       	AND IC.IMPLEMENTATION_DATE IS NULL);
Line: 179

** delete reference designators of all pending revised items on ECO
*/
    stmt_num := 30;
Line: 182

    DELETE FROM BOM_REFERENCE_DESIGNATORS RD
 	WHERE RD.COMPONENT_SEQUENCE_ID IN
        (SELECT IC.COMPONENT_SEQUENCE_ID
         FROM BOM_INVENTORY_COMPONENTS IC, ENG_REVISED_ITEMS RI
         WHERE RI.ORGANIZATION_ID = org_id
         AND RI.CHANGE_NOTICE = change_order
         AND IC.REVISED_ITEM_SEQUENCE_ID = RI.REVISED_ITEM_SEQUENCE_ID
         AND IC.IMPLEMENTATION_DATE IS NULL);
Line: 193

** insert the cancelled rev components into eng_revised_components
*/
    stmt_num := 40;
Line: 196

    INSERT INTO ENG_REVISED_COMPONENTS (
	COMPONENT_SEQUENCE_ID,
	COMPONENT_ITEM_ID,
 	OPERATION_SEQUENCE_NUM,
 	BILL_SEQUENCE_ID,
	CHANGE_NOTICE,
	EFFECTIVITY_DATE,
 	COMPONENT_QUANTITY,
	COMPONENT_YIELD_FACTOR,
	LAST_UPDATE_DATE,
	LAST_UPDATED_BY,
	CREATION_DATE,
 	CREATED_BY,
	LAST_UPDATE_LOGIN,
 	CANCELLATION_DATE,
 	OLD_COMPONENT_SEQUENCE_ID,
	ITEM_NUM,
	WIP_SUPPLY_TYPE,
 	COMPONENT_REMARKS,
	SUPPLY_SUBINVENTORY,
	SUPPLY_LOCATOR_ID,
 	DISABLE_DATE,
	ACD_TYPE,
 	PLANNING_FACTOR,
	QUANTITY_RELATED,
	SO_BASIS,
 	OPTIONAL,
	MUTUALLY_EXCLUSIVE_OPTIONS,
	INCLUDE_IN_COST_ROLLUP,
 	CHECK_ATP,
	SHIPPING_ALLOWED,
 	REQUIRED_TO_SHIP,
	REQUIRED_FOR_REVENUE,
	INCLUDE_ON_SHIP_DOCS,
 	LOW_QUANTITY,
	HIGH_QUANTITY,
 	REVISED_ITEM_SEQUENCE_ID,
 	ATTRIBUTE_CATEGORY,
 	ATTRIBUTE1,
	ATTRIBUTE2,
	ATTRIBUTE3,
	ATTRIBUTE4,
	ATTRIBUTE5,
	ATTRIBUTE6,
 	ATTRIBUTE7,
	ATTRIBUTE8,
	ATTRIBUTE9,
	ATTRIBUTE10,
	ATTRIBUTE11,
 	ATTRIBUTE12,
	ATTRIBUTE13,
	ATTRIBUTE14,
	ATTRIBUTE15,
	BASIS_TYPE)
    SELECT
 	IC.COMPONENT_SEQUENCE_ID,
	IC.COMPONENT_ITEM_ID,
 	IC.OPERATION_SEQ_NUM,
 	IC.BILL_SEQUENCE_ID,
	IC.CHANGE_NOTICE,
	IC.EFFECTIVITY_DATE,
 	IC.COMPONENT_QUANTITY,
	IC. COMPONENT_YIELD_FACTOR,
	SYSDATE,
 	user_id,
	SYSDATE,
 	user_id,
 	login,
 	sysdate,
 	IC.OLD_COMPONENT_SEQUENCE_ID,
	IC.ITEM_NUM,
	IC.WIP_SUPPLY_TYPE,
 	IC.COMPONENT_REMARKS,
	IC.SUPPLY_SUBINVENTORY,
	IC.SUPPLY_LOCATOR_ID,
 	IC.DISABLE_DATE,
	IC.ACD_TYPE,
 	IC.PLANNING_FACTOR,
	IC.QUANTITY_RELATED,
	IC.SO_BASIS,
 	IC.OPTIONAL,
	IC.MUTUALLY_EXCLUSIVE_OPTIONS,
	IC.INCLUDE_IN_COST_ROLLUP,
 	IC.CHECK_ATP,
	IC.SHIPPING_ALLOWED,
 	IC.REQUIRED_TO_SHIP,
	IC.REQUIRED_FOR_REVENUE,
	IC.INCLUDE_ON_SHIP_DOCS,
 	IC.LOW_QUANTITY,
	IC.HIGH_QUANTITY,
 	IC.REVISED_ITEM_SEQUENCE_ID,
 	IC.ATTRIBUTE_CATEGORY,
 	IC.ATTRIBUTE1,
	IC.ATTRIBUTE2,
	IC.ATTRIBUTE3,
	IC.ATTRIBUTE4,
	IC.ATTRIBUTE5,
 	IC.ATTRIBUTE6,
	IC.ATTRIBUTE7,
	IC.ATTRIBUTE8,
	IC.ATTRIBUTE9,
	IC.ATTRIBUTE10,
 	IC.ATTRIBUTE11,
	IC.ATTRIBUTE12,
	IC.ATTRIBUTE13,
	IC.ATTRIBUTE14,
 	IC.ATTRIBUTE15,
	IC.BASIS_TYPE
    FROM BOM_INVENTORY_COMPONENTS IC, ENG_REVISED_ITEMS RI
    WHERE RI.ORGANIZATION_ID = org_id
    AND RI.CHANGE_NOTICE = change_order
    AND IC.CHANGE_NOTICE = RI.CHANGE_NOTICE
    AND IC.REVISED_ITEM_SEQUENCE_ID = RI.REVISED_ITEM_SEQUENCE_ID
    AND RI.BILL_SEQUENCE_ID = IC.BILL_SEQUENCE_ID
    AND IC.IMPLEMENTATION_DATE IS NULL;
Line: 314

** delete the rows from bom_inventory_components
*/
    stmt_num := 50;
Line: 317

    DELETE FROM BOM_INVENTORY_COMPONENTS IC
    WHERE CHANGE_NOTICE = change_order
    AND IMPLEMENTATION_DATE IS NULL
    AND REVISED_ITEM_SEQUENCE_ID IN (SELECT REVISED_ITEM_SEQUENCE_ID
         FROM ENG_REVISED_ITEMS ERI
         WHERE ERI.ORGANIZATION_ID = org_id
	 AND ERI.CHANGE_NOTICE = change_order
	 AND ERI.STATUS_TYPE = 5);
Line: 331

** delete the rows from bom_inventory_components
*/
    DELETE FROM BOM_INVENTORY_COMPONENTS IC
    WHERE  IC.BILL_SEQUENCE_ID =Common_bom.bill_sequence_id   ;
Line: 342

    DELETE FROM BOM_SUB_OPERATION_RESOURCES sor
    WHERE  EXISTS (SELECT NULL
                   FROM   BOM_OPERATION_SEQUENCES bos
                        , ENG_REVISED_ITEMS       ri
                   WHERE  sor.operation_sequence_id    = bos.operation_sequence_id
                   AND    bos.implementation_date      IS NULL
                   AND    bos.revised_item_sequence_id = ri.revised_item_sequence_id
                   AND    ri.status_type               = 5 -- Cancelled
                   AND    ri.organization_id           = org_id
                   AND    ri.change_notice             =change_order
                   ) ;
Line: 355

    DELETE FROM BOM_OPERATION_RESOURCES bor
    WHERE  EXISTS (SELECT NULL
                   FROM   BOM_OPERATION_SEQUENCES bos
                        , ENG_REVISED_ITEMS       ri
                   WHERE  bor.operation_sequence_id    = bos.operation_sequence_id
                   AND    bos.implementation_date      IS NULL
                   AND    bos.revised_item_sequence_id = ri.revised_item_sequence_id
                   AND    ri.status_type               = 5 -- Cancelled
                   AND    ri.organization_id           = org_id
                   AND    ri.change_notice             = change_order
                   ) ;
Line: 367

   INSERT INTO ENG_REVISED_OPERATIONS (
                   operation_sequence_id
                 , routing_sequence_id
                 , operation_seq_num
                 , last_update_date
                 , last_updated_by
                 , creation_date
                 , created_by
                 , last_update_login
                 , standard_operation_id
                 , department_id
                 , operation_lead_time_percent
                 , minimum_transfer_quantity
                 , count_point_type
                 , operation_description
                 , effectivity_date
                 , disable_date
                 , backflush_flag
                 , option_dependent_flag
                 , attribute_category
                 , attribute1
                 , attribute2
                 , attribute3
                 , attribute4
                 , attribute5
                 , attribute6
                 , attribute7
                 , attribute8
                 , attribute9
                 , attribute10
                 , attribute11
                 , attribute12
                 , attribute13
                 , attribute14
                 , attribute15
                 , request_id
                 , program_update_date
                 , operation_type
                 , reference_flag
                 , process_op_seq_id
                 , line_op_seq_id
                 , yield
                 , cumulative_yield
                 , reverse_cumulative_yield
                 , labor_time_calc
                 , machine_time_calc
                 , total_time_calc
                 , labor_time_user
                 , machine_time_user
                 , total_time_user
                 , net_planning_percent
                 , x_coordinate
                 , y_coordinate
                 , include_in_rollup
                 , operation_yield_enabled
                 , change_notice
                 , implementation_date
                 , old_operation_sequence_id
                 , acd_type
                 , revised_item_sequence_id
                 , cancellation_date)
          SELECT
                   bos.OPERATION_SEQUENCE_ID
                 , bos.ROUTING_SEQUENCE_ID
                 , bos.OPERATION_SEQ_NUM
                 , SYSDATE                  /* Last Update Date */
                 , user_id                /* Last Updated By */
                 , SYSDATE                  /* Creation Date */
                 , user_id                /* Created By */
                 , login              /* Last Update Login */
                 , bos.STANDARD_OPERATION_ID
                 , bos.DEPARTMENT_ID
                 , bos.OPERATION_LEAD_TIME_PERCENT
                 , bos.MINIMUM_TRANSFER_QUANTITY
                 , bos.COUNT_POINT_TYPE
                 , bos.OPERATION_DESCRIPTION
                 , bos.EFFECTIVITY_DATE
                 , bos.DISABLE_DATE
                 , bos.BACKFLUSH_FLAG
                 , bos.OPTION_DEPENDENT_FLAG
                 , bos.ATTRIBUTE_CATEGORY
                 , bos.ATTRIBUTE1
                 , bos.ATTRIBUTE2
                 , bos.ATTRIBUTE3
                 , bos.ATTRIBUTE4
                 , bos.ATTRIBUTE5
                 , bos.ATTRIBUTE6
                 , bos.ATTRIBUTE7
                 , bos.ATTRIBUTE8
                 , bos.ATTRIBUTE9
                 , bos.ATTRIBUTE10
                 , bos.ATTRIBUTE11
                 , bos.ATTRIBUTE12
                 , bos.ATTRIBUTE13
                 , bos.ATTRIBUTE14
                 , bos.ATTRIBUTE15
                 , NULL                       /* Request Id */
                 , SYSDATE                    /* program_update_date */
                 , bos.OPERATION_TYPE
                 , bos.REFERENCE_FLAG
                 , bos.PROCESS_OP_SEQ_ID
                 , bos.LINE_OP_SEQ_ID
                 , bos.YIELD
                 , bos.CUMULATIVE_YIELD
                 , bos.REVERSE_CUMULATIVE_YIELD
                 , bos.LABOR_TIME_CALC
                 , bos.MACHINE_TIME_CALC
                 , bos.TOTAL_TIME_CALC
                 , bos.LABOR_TIME_USER
                 , bos.MACHINE_TIME_USER
                 , bos.TOTAL_TIME_USER
                 , bos.NET_PLANNING_PERCENT
                 , bos.X_COORDINATE
                 , bos.Y_COORDINATE
                 , bos.INCLUDE_IN_ROLLUP
                 , bos.OPERATION_YIELD_ENABLED
                 , bos.CHANGE_NOTICE
                 , bos.IMPLEMENTATION_DATE
                 , bos.OLD_OPERATION_SEQUENCE_ID
                 , bos.ACD_TYPE
                 , bos.REVISED_ITEM_SEQUENCE_ID
                 , SYSDATE                    /* Cancellation Date */
         FROM    BOM_OPERATION_SEQUENCES bos
               , ENG_REVISED_ITEMS       ri
         WHERE  bos.implementation_date      IS NULL
         AND    bos.revised_item_sequence_id = ri.revised_item_sequence_id
         AND    ri.status_type               = 5 -- Cancelled
         AND    ri.organization_id           = org_id
         AND    ri.change_notice             = change_order;
Line: 497

    DELETE FROM BOM_OPERATION_SEQUENCES bos
    WHERE  EXISTS (SELECT NULL
                   FROM   ENG_REVISED_ITEMS       ri
                   WHERE  bos.implementation_date      IS NULL
                   AND    bos.revised_item_sequence_id = ri.revised_item_sequence_id
                   AND    ri.status_type               = 5 -- Cancelled
                   AND    ri.organization_id           = org_id
                   AND    ri.change_notice             = change_order
                   ) ;
Line: 508

    DELETE FROM MTL_RTG_ITEM_REVISIONS rev
    WHERE  EXISTS (SELECT NULL
                   FROM   ENG_REVISED_ITEMS       ri
                   WHERE  rev.implementation_date      IS NULL
                   AND    rev.revised_item_sequence_id = ri.revised_item_sequence_id
                   AND    ri.status_type               = 5 -- Cancelled
                   AND    ri.organization_id           = org_id
                   AND    ri.change_notice             = change_order
                   ) ;
Line: 547

            DELETE FROM MTL_RTG_ITEM_REVISIONS rev
            WHERE EXISTS (SELECT 1
		            FROM BOM_OPERATIONAL_ROUTINGS bor
			   WHERE bor.routing_sequence_id = l_routing_sequence_id
			     AND bor.alternate_routing_designator IS NULL
			     AND bor.assembly_item_id = rev.INVENTORY_ITEM_ID
			     AND bor.organization_id = rev.organization_id);
Line: 555

            DELETE FROM BOM_OPERATIONAL_ROUTINGS
            WHERE routing_sequence_id = l_routing_sequence_id;
Line: 558

	    -- If routing was deleted, then unset the routing_sequence_id on the revised items
	    UPDATE ENG_REVISED_ITEMS  ri
               SET routing_sequence_id =  ''
                 , last_updated_by = user_id
                 , last_update_login = login
             WHERE ri.organization_id = org_id
               AND ri.change_notice = change_order
               AND ri.status_type = 5  -- Cancelled
	       AND ri.routing_sequence_id = l_routing_sequence_id
               AND NOT EXISTS (SELECT 'No Rtg Header'
                                 FROM BOM_OPERATIONAL_ROUTINGS bor
                                WHERE bor.routing_sequence_id = ri.routing_sequence_id
                            ) ;
Line: 573

            UPDATE BOM_OPERATIONAL_ROUTINGS
               SET last_update_date = SYSDATE
                 , last_updated_by = user_id
                 , last_update_login = login
                 , pending_from_ecn = null
             WHERE routing_sequence_id = l_routing_sequence_id
               AND pending_from_ecn = change_order;
Line: 585

    /*DELETE FROM BOM_OPERATIONAL_ROUTINGS bor
    WHERE  EXISTS ( SELECT NULL
                    FROM   ENG_REVISED_ITEMS       ri
                    WHERE
                        bor.routing_sequence_id      = ri.routing_sequence_id
                    AND    TRUNC(ri.last_update_date)      = TRUNC(SYSDATE)
                    AND    ri.status_type               = 5 -- Cancelled
                    AND    ri.organization_id           = org_id
                    AND    ri.change_notice             = change_order
                   )
    AND NOT EXISTS (SELECT NULL
                    FROM   BOM_OPERATION_SEQUENCES bos
                    WHERE  bos.routing_sequence_id = bor.routing_sequence_id
                    AND    (bos.change_notice IS NULL
                            OR   bos.change_notice <> change_notice)
                   )
    AND (( bor.alternate_routing_designator IS NULL
           AND NOT EXISTS( SELECT NULL
                           FROM   BOM_OPERATIONAL_ROUTINGS bor2
                           WHERE  bor2.organization_id  = bor.organization_id
                           AND    bor2.assembly_item_id = bor.assembly_item_id
                           AND    bor2.alternate_routing_designator IS NOT NULL )
         )
         OR
         ( bor.alternate_routing_designator IS NOT NULL
           AND NOT EXISTS( SELECT NULL
                           FROM   ENG_REVISED_ITEMS ri2
                           WHERE  ri2.organization_id     = bor.organization_id
                           AND    ri2.routing_sequence_id = bor.routing_sequence_id
                           AND    ri2.change_notice       <> change_order)
         )) ;
Line: 619

        UPDATE ENG_REVISED_ITEMS  ri
        SET     routing_sequence_id       =  ''
             ,  last_updated_by           = user_id
             ,  last_update_login         =login
        WHERE  ri.organization_id         = org_id
        AND    ri.change_notice           = change_notice
        AND    ri.status_type             = 5  -- Cancelled
        AND    NOT EXISTS (SELECT 'No Rtg Header'
                           FROM   BOM_OPERATIONAL_ROUTINGS bor
                           WHERE  bor.routing_sequence_id  = ri.routing_sequence_id
                           ) ;
Line: 636

** delete item revisions created by revised items on ECO
*/
    stmt_num := 60;
Line: 640

   delete from MTL_ITEM_REVISIONS_TL
   where revision_id IN (select revision_id
                         from MTL_ITEM_REVISIONS_B I
                         WHERE CHANGE_NOTICE = change_order
                         AND ORGANIZATION_ID = org_id
                         AND IMPLEMENTATION_DATE IS NULL
                         AND INVENTORY_ITEM_ID IN
			      (SELECT REVISED_ITEM_ID
     	                       FROM ENG_REVISED_ITEMS R
     	                       WHERE R.CHANGE_NOTICE = change_order
     	                       AND   R.ORGANIZATION_ID = org_id
	                       AND   R.REVISED_ITEM_SEQUENCE_ID = I.REVISED_ITEM_SEQUENCE_ID
     	                       AND   R.CANCELLATION_DATE IS NOT NULL));
Line: 654

    DELETE FROM MTL_ITEM_REVISIONS_B I
    WHERE CHANGE_NOTICE = change_order
    AND ORGANIZATION_ID = org_id
    AND IMPLEMENTATION_DATE IS NULL
    AND INVENTORY_ITEM_ID IN (SELECT REVISED_ITEM_ID
     	FROM ENG_REVISED_ITEMS R
     	WHERE R.CHANGE_NOTICE = change_order
     	AND   R.ORGANIZATION_ID = org_id
	AND   R.REVISED_ITEM_SEQUENCE_ID = I.REVISED_ITEM_SEQUENCE_ID
     	AND   R.CANCELLATION_DATE IS NOT NULL);
Line: 669

** delete UDA data created by revised items of ECO
*/
  stmt_num := 70;
Line: 673

  DELETE FROM EGO_MTL_SY_ITEMS_EXT_TL A
  WHERE A.REVISION_ID IN (SELECT NEW_ITEM_REVISION_ID
                          FROM ENG_REVISED_ITEMS
                          WHERE NEW_ITEM_REVISION_ID IS NOT NULL
                                AND CHANGE_NOTICE = change_order
                                AND ORGANIZATION_ID = org_id);
Line: 683

  /*  DELETE FROM EGO_MTL_SY_ITEMS_EXT_B A
    WHERE A.REVISION_ID IN (SELECT NEW_ITEM_REVISION_ID
                            FROM ENG_REVISED_ITEMS
                            WHERE NEW_ITEM_REVISION_ID IS NOT NULL
                                  AND CHANGE_NOTICE = change_order
                                  AND ORGANIZATION_ID = org_id); */
Line: 694

 DELETE
   FROM EGO_MTL_SY_ITEMS_EXT_B A
  WHERE (A.ORGANIZATION_ID, A.INVENTORY_ITEM_ID, A.REVISION_ID) IN
  (SELECT ORGANIZATION_ID,
    REVISED_ITEM_ID      ,
    NEW_ITEM_REVISION_ID
     FROM ENG_REVISED_ITEMS
    WHERE NEW_ITEM_REVISION_ID IS NOT NULL
  AND CHANGE_NOTICE             = change_order
  AND ORGANIZATION_ID           = org_id
  );
Line: 711

** delete the bom header if bill was created by this revised item and
** nothing else references this
*/
/* This is to fix bug 1522704. Now cancellation of ECO won't delete
corresponding row from bom_bill_of_materials. Deletion will be done by
delete groups only. Here two line of code is added update BOM_BILL_OF_MATERIALS B
set pending_from_ecn = null*/
    stmt_num := 80;
Line: 719

    DELETE FROM BOM_BILL_OF_MATERIALS B
    WHERE B.BILL_SEQUENCE_ID in (SELECT BILL_SEQUENCE_ID
		FROM  ENG_REVISED_ITEMS ERI
		WHERE ORGANIZATION_ID = org_id
		AND   CHANGE_NOTICE = change_order
    		AND   STATUS_TYPE = 5
		AND   TRUNC(LAST_UPDATE_DATE) = trunc(sysdate))
    AND   B.PENDING_FROM_ECN = change_order
    AND   NOT EXISTS (SELECT NULL
                  FROM BOM_INVENTORY_COMPONENTS C
                  WHERE C.BILL_SEQUENCE_ID = B.BILL_SEQUENCE_ID
                  AND (C.CHANGE_NOTICE IS NULL
                      OR C.CHANGE_NOTICE <> change_order))
    AND  ((B.ALTERNATE_BOM_DESIGNATOR IS NULL
         AND NOT EXISTS (SELECT NULL
                       FROM BOM_BILL_OF_MATERIALS B2
                       WHERE B2.ORGANIZATION_ID = B.ORGANIZATION_ID
                       AND   B2.ASSEMBLY_ITEM_ID = B.ASSEMBLY_ITEM_ID
                       AND   B2.ALTERNATE_BOM_DESIGNATOR IS NOT NULL))
         OR
        (NOT EXISTS (SELECT NULL
                       FROM ENG_REVISED_ITEMS R
                       WHERE R.ORGANIZATION_ID = B.ORGANIZATION_ID
                       AND   R.BILL_SEQUENCE_ID = B.BILL_SEQUENCE_ID
                       AND   R.CHANGE_NOTICE <> change_order
		       AND    R.STATUS_TYPE <> 5)));
Line: 747

** if bills was deleted, then unset the bill_sequence_id on the revise items
*/
    if (SQL%ROWCOUNT > 0) then
-- dbms_output.put_line('Deleted BOM headers');
Line: 752

	UPDATE ENG_REVISED_ITEMS  R
	SET    BILL_SEQUENCE_ID = ''
	WHERE  R.ORGANIZATION_ID = org_id
	AND    R.CHANGE_NOTICE = change_order
	AND    R.STATUS_TYPE = 5
	AND    NOT EXISTS (SELECT 'NO SUCH BILL'
		FROM BOM_BILL_OF_MATERIALS BOM
		WHERE BOM.BILL_SEQUENCE_ID = R.BILL_SEQUENCE_ID);
Line: 793

    cursor delete_attachments is
    select change_id,revised_item_id,new_item_revision_id,revised_item_sequence_id,organization_id
    from eng_revised_items
    where revised_item_sequence_id = rev_item_seq;
Line: 799

    select bill_sequence_id
    from BOM_BILL_OF_MATERIALS
    where common_bill_sequence_id <> source_bill_sequence_id
              and bill_sequence_id = common_bill_sequence_id
	      and pending_from_ECN  =(select change_notice
	      from eng_revised_items
	      where revised_item_sequence_id = rev_item_seq);
Line: 812

open delete_attachments;
Line: 814

  fetch delete_attachments into l_change_id,l_revised_item_id,l_new_item_revision_id,l_revised_item_sequence_id,l_org_id;
Line: 815

  exit when delete_attachments%NOTFOUND ;
Line: 817

    ENG_ATTACHMENT_IMPLEMENTATION.delete_attachments_for_curr_co
                                    (p_api_version => 1.0
                                    ,p_change_id => l_change_id
                                    ,p_rev_item_seq_id => l_revised_item_sequence_id
                                    ,x_return_status => l_return_status
                                    ,x_msg_data => l_msg_data
                                    ,x_msg_count => l_msg_count
                                    );
Line: 826

close delete_attachments;
Line: 829

  close delete_attachments;
Line: 834

    UPDATE ENG_REVISED_ITEMS
   	SET CANCELLATION_DATE = SYSDATE,
       	STATUS_TYPE = 5,
	CANCEL_COMMENTS = comment,
	LAST_UPDATED_BY = user_id,
	LAST_UPDATE_LOGIN = login
    WHERE REVISED_ITEM_SEQUENCE_ID = rev_item_seq;
Line: 845

** delete substitute components of all pending revised items on ECO
*/
    stmt_num := 20;
Line: 848

    DELETE FROM BOM_SUBSTITUTE_COMPONENTS SC
    WHERE SC.COMPONENT_SEQUENCE_ID IN
   	(SELECT IC.COMPONENT_SEQUENCE_ID
       	FROM BOM_INVENTORY_COMPONENTS IC
       	WHERE IC.REVISED_ITEM_SEQUENCE_ID = rev_item_seq);
Line: 856

** delete reference designators of all pending revised items on ECO
*/
    stmt_num := 30;
Line: 859

    DELETE FROM BOM_REFERENCE_DESIGNATORS RD
 	WHERE RD.COMPONENT_SEQUENCE_ID IN
        (SELECT IC.COMPONENT_SEQUENCE_ID
         FROM BOM_INVENTORY_COMPONENTS IC
         WHERE IC.REVISED_ITEM_SEQUENCE_ID = rev_item_seq);
Line: 867

** insert the cancelled rev components into eng_revised_components
*/
    stmt_num := 40;
Line: 870

    INSERT INTO ENG_REVISED_COMPONENTS (
	COMPONENT_SEQUENCE_ID,
	COMPONENT_ITEM_ID,
 	OPERATION_SEQUENCE_NUM,
 	BILL_SEQUENCE_ID,
	CHANGE_NOTICE,
	EFFECTIVITY_DATE,
 	COMPONENT_QUANTITY,
	COMPONENT_YIELD_FACTOR,
	LAST_UPDATE_DATE,
 	LAST_UPDATED_BY,
	CREATION_DATE,
 	CREATED_BY,
	LAST_UPDATE_LOGIN,
 	CANCELLATION_DATE,
 	OLD_COMPONENT_SEQUENCE_ID,
	ITEM_NUM,
	WIP_SUPPLY_TYPE,
 	COMPONENT_REMARKS,
	SUPPLY_SUBINVENTORY,
	SUPPLY_LOCATOR_ID,
 	DISABLE_DATE,
	ACD_TYPE,
 	PLANNING_FACTOR,
	QUANTITY_RELATED,
	SO_BASIS,
 	OPTIONAL,
	MUTUALLY_EXCLUSIVE_OPTIONS,
	INCLUDE_IN_COST_ROLLUP,
 	CHECK_ATP,
	SHIPPING_ALLOWED,
 	REQUIRED_TO_SHIP,
	REQUIRED_FOR_REVENUE,
	INCLUDE_ON_SHIP_DOCS,
 	LOW_QUANTITY,
	HIGH_QUANTITY,
 	REVISED_ITEM_SEQUENCE_ID,
 	ATTRIBUTE_CATEGORY,
 	ATTRIBUTE1,
	ATTRIBUTE2,
	ATTRIBUTE3,
	ATTRIBUTE4,
	ATTRIBUTE5,
	ATTRIBUTE6,
 	ATTRIBUTE7,
	ATTRIBUTE8,
	ATTRIBUTE9,
	ATTRIBUTE10,
	ATTRIBUTE11,
 	ATTRIBUTE12,
	ATTRIBUTE13,
	ATTRIBUTE14,
	ATTRIBUTE15)
    SELECT
 	IC.COMPONENT_SEQUENCE_ID,
	IC.COMPONENT_ITEM_ID,
 	IC.OPERATION_SEQ_NUM,
 	IC.BILL_SEQUENCE_ID,
	IC.CHANGE_NOTICE,
	IC.EFFECTIVITY_DATE,
 	IC.COMPONENT_QUANTITY,
	IC. COMPONENT_YIELD_FACTOR,
	SYSDATE,
 	user_id,
	SYSDATE,
 	user_id,
 	login,
 	sysdate,
 	IC.OLD_COMPONENT_SEQUENCE_ID,
	IC.ITEM_NUM,
	IC.WIP_SUPPLY_TYPE,
 	IC.COMPONENT_REMARKS,
	IC.SUPPLY_SUBINVENTORY,
	IC.SUPPLY_LOCATOR_ID,
 	IC.DISABLE_DATE,
	IC.ACD_TYPE,
 	IC.PLANNING_FACTOR,
	IC.QUANTITY_RELATED,
	IC.SO_BASIS,
 	IC.OPTIONAL,
	IC.MUTUALLY_EXCLUSIVE_OPTIONS,
	IC.INCLUDE_IN_COST_ROLLUP,
 	IC.CHECK_ATP,
	IC.SHIPPING_ALLOWED,
 	IC.REQUIRED_TO_SHIP,
	IC.REQUIRED_FOR_REVENUE,
	IC.INCLUDE_ON_SHIP_DOCS,
 	IC.LOW_QUANTITY,
	IC.HIGH_QUANTITY,
 	IC.REVISED_ITEM_SEQUENCE_ID,
 	IC.ATTRIBUTE_CATEGORY,
 	IC.ATTRIBUTE1,
	IC.ATTRIBUTE2,
	IC.ATTRIBUTE3,
	IC.ATTRIBUTE4,
	IC.ATTRIBUTE5,
 	IC.ATTRIBUTE6,
	IC.ATTRIBUTE7,
	IC.ATTRIBUTE8,
	IC.ATTRIBUTE9,
	IC.ATTRIBUTE10,
 	IC.ATTRIBUTE11,
	IC.ATTRIBUTE12,
	IC.ATTRIBUTE13,
	IC.ATTRIBUTE14,
 	IC.ATTRIBUTE15
    FROM BOM_INVENTORY_COMPONENTS IC
    WHERE IC.REVISED_ITEM_SEQUENCE_ID = rev_item_seq;
Line: 981

** delete the rows from bom_inventory_components
*/
    stmt_num := 50;
Line: 984

    DELETE FROM BOM_INVENTORY_COMPONENTS IC
    WHERE REVISED_ITEM_SEQUENCE_ID = rev_item_seq;
Line: 991

** delete the rows from bom_inventory_components
*/

    DELETE FROM BOM_INVENTORY_COMPONENTS IC
    WHERE  IC.BILL_SEQUENCE_ID = common.bill_sequence_id  ;
Line: 999

** delete item revisions created by revised items on ECO
*/
    stmt_num := 50;
Line: 1003

   delete from MTL_ITEM_REVISIONS_TL
   WHERE revision_id IN (select new_item_revision_id
                         from eng_revised_items I
                         WHERE REVISED_ITEM_SEQUENCE_ID = rev_item_seq);
Line: 1008

   /*where revision_id IN (select revision_id
                         from MTL_ITEM_REVISIONS_B I
                         WHERE REVISED_ITEM_SEQUENCE_ID = rev_item_seq);*/
Line: 1012

    DELETE FROM MTL_ITEM_REVISIONS_B I --Fix for bug 3215586
    WHERE revision_id IN (select new_item_revision_id
                         from eng_revised_items I
                         WHERE REVISED_ITEM_SEQUENCE_ID = rev_item_seq);
Line: 1023

** delete UDA data created by revised items on ECO
*/
  stmt_num := 60;
Line: 1027

  DELETE FROM EGO_MTL_SY_ITEMS_EXT_TL A
  WHERE A.REVISION_ID IN (SELECT NEW_ITEM_REVISION_ID
                          FROM ENG_REVISED_ITEMS
                          WHERE NEW_ITEM_REVISION_ID IS NOT NULL
                                AND REVISED_ITEM_SEQUENCE_ID = rev_item_seq);
Line: 1033

  DELETE FROM EGO_MTL_SY_ITEMS_EXT_B A
  WHERE A.REVISION_ID IN (SELECT NEW_ITEM_REVISION_ID
                          FROM ENG_REVISED_ITEMS
                          WHERE NEW_ITEM_REVISION_ID IS NOT NULL
                                AND REVISED_ITEM_SEQUENCE_ID = rev_item_seq);
Line: 1041

** delete the bom header if bill was created by this revised item and
** nothing else references this
*/
/* This is to fix bug 1522704. Now cancellation of ECO won't delete
corresponding row from bom_bill_of_materials. Deletion will be done by
delete groups only. Here two line of code is added update BOM_BILL_OF_MATERIALS B
set pending_from_ecn = null*/
    stmt_num := 70;
Line: 1049

   DELETE FROM BOM_BILL_OF_MATERIALS B
   WHERE B.BILL_SEQUENCE_ID = bill_seq_id
    AND   B.PENDING_FROM_ECN = change_order
    AND   NOT EXISTS (SELECT NULL
                  FROM BOM_INVENTORY_COMPONENTS C
                  WHERE C.BILL_SEQUENCE_ID = B.BILL_SEQUENCE_ID
                  AND (C.REVISED_ITEM_SEQUENCE_ID IS NULL
                      OR C.REVISED_ITEM_SEQUENCE_ID <> rev_item_seq))
    AND  ((B.ALTERNATE_BOM_DESIGNATOR IS NULL
         AND NOT EXISTS (SELECT NULL
                       FROM BOM_BILL_OF_MATERIALS B2
                       WHERE B2.ORGANIZATION_ID = B.ORGANIZATION_ID
                       AND   B2.ASSEMBLY_ITEM_ID = B.ASSEMBLY_ITEM_ID
                       AND   B2.ALTERNATE_BOM_DESIGNATOR IS NOT NULL))
         OR
        (NOT EXISTS (SELECT NULL
                       FROM ENG_REVISED_ITEMS R
                       WHERE R.ORGANIZATION_ID = B.ORGANIZATION_ID
                       AND   R.BILL_SEQUENCE_ID = B.BILL_SEQUENCE_ID
		       AND   R.REVISED_ITEM_SEQUENCE_ID <> rev_item_seq
		       AND   R.STATUS_TYPE <> 5)));
Line: 1072

** if bill was deleted, then unset the bill_sequence_id on the revise item
*/
--  if (SQL%ROWCOUNT > 0) then
--dbms_output.put_line('Deleted BOM header');
Line: 1077

	UPDATE ENG_REVISED_ITEMS  R
	SET    BILL_SEQUENCE_ID = ''
	         WHERE  R.REVISED_ITEM_SEQUENCE_ID = rev_item_seq;
Line: 1084

** if bill was deleted, then unset the bill_sequence_id on the revise item
*/
--  if (SQL%ROWCOUNT > 0) then
--dbms_output.put_line('Deleted BOM header');
Line: 1089

	UPDATE ENG_REVISED_ITEMS  R
	SET   ALTERNATE_BOM_DESIGNATOR = ''
	         WHERE  R.REVISED_ITEM_SEQUENCE_ID = rev_item_seq
		 AND ROUTING_SEQUENCE_ID IS NULL;
Line: 1116

    SELECT component_sequence_id
    FROM bom_components_b
    WHERE common_component_sequence_id = comp_seq_id;
Line: 1121

** insert the cancelled rev components into eng_revised_components
*/
    stmt_num := 10;
Line: 1124

    INSERT INTO ENG_REVISED_COMPONENTS (
	COMPONENT_SEQUENCE_ID,
	COMPONENT_ITEM_ID,
 	OPERATION_SEQUENCE_NUM,
 	BILL_SEQUENCE_ID,
	CHANGE_NOTICE,
	EFFECTIVITY_DATE,
 	COMPONENT_QUANTITY,
	COMPONENT_YIELD_FACTOR,
	LAST_UPDATE_DATE,
 	LAST_UPDATED_BY,
	CREATION_DATE,
 	CREATED_BY,
	LAST_UPDATE_LOGIN,
 	CANCELLATION_DATE,
        CANCEL_COMMENTS,
 	OLD_COMPONENT_SEQUENCE_ID,
	ITEM_NUM,
	WIP_SUPPLY_TYPE,
 	COMPONENT_REMARKS,
	SUPPLY_SUBINVENTORY,
	SUPPLY_LOCATOR_ID,
 	DISABLE_DATE,
	ACD_TYPE,
 	PLANNING_FACTOR,
	QUANTITY_RELATED,
	SO_BASIS,
 	OPTIONAL,
	MUTUALLY_EXCLUSIVE_OPTIONS,
	INCLUDE_IN_COST_ROLLUP,
 	CHECK_ATP,
	SHIPPING_ALLOWED,
 	REQUIRED_TO_SHIP,
	REQUIRED_FOR_REVENUE,
	INCLUDE_ON_SHIP_DOCS,
 	LOW_QUANTITY,
	HIGH_QUANTITY,
 	REVISED_ITEM_SEQUENCE_ID,
 	ATTRIBUTE_CATEGORY,
 	ATTRIBUTE1,
	ATTRIBUTE2,
	ATTRIBUTE3,
	ATTRIBUTE4,
	ATTRIBUTE5,
	ATTRIBUTE6,
 	ATTRIBUTE7,
	ATTRIBUTE8,
	ATTRIBUTE9,
	ATTRIBUTE10,
	ATTRIBUTE11,
 	ATTRIBUTE12,
	ATTRIBUTE13,
	ATTRIBUTE14,
	ATTRIBUTE15)
    SELECT
 	IC.COMPONENT_SEQUENCE_ID,
	IC.COMPONENT_ITEM_ID,
 	IC.OPERATION_SEQ_NUM,
 	IC.BILL_SEQUENCE_ID,
	IC.CHANGE_NOTICE,
	IC.EFFECTIVITY_DATE,
 	IC.COMPONENT_QUANTITY,
	IC. COMPONENT_YIELD_FACTOR,
	SYSDATE,
 	user_id,
	SYSDATE,
 	user_id,
 	login,
 	sysdate,
        comment,
 	IC.OLD_COMPONENT_SEQUENCE_ID,
	IC.ITEM_NUM,
	IC.WIP_SUPPLY_TYPE,
 	IC.COMPONENT_REMARKS,
	IC.SUPPLY_SUBINVENTORY,
	IC.SUPPLY_LOCATOR_ID,
 	IC.DISABLE_DATE,
	IC.ACD_TYPE,
 	IC.PLANNING_FACTOR,
	IC.QUANTITY_RELATED,
	IC.SO_BASIS,
 	IC.OPTIONAL,
	IC.MUTUALLY_EXCLUSIVE_OPTIONS,
	IC.INCLUDE_IN_COST_ROLLUP,
 	IC.CHECK_ATP,
	IC.SHIPPING_ALLOWED,
 	IC.REQUIRED_TO_SHIP,
	IC.REQUIRED_FOR_REVENUE,
	IC.INCLUDE_ON_SHIP_DOCS,
 	IC.LOW_QUANTITY,
	IC.HIGH_QUANTITY,
 	IC.REVISED_ITEM_SEQUENCE_ID,
 	IC.ATTRIBUTE_CATEGORY,
 	IC.ATTRIBUTE1,
	IC.ATTRIBUTE2,
	IC.ATTRIBUTE3,
	IC.ATTRIBUTE4,
	IC.ATTRIBUTE5,
 	IC.ATTRIBUTE6,
	IC.ATTRIBUTE7,
	IC.ATTRIBUTE8,
	IC.ATTRIBUTE9,
	IC.ATTRIBUTE10,
 	IC.ATTRIBUTE11,
	IC.ATTRIBUTE12,
	IC.ATTRIBUTE13,
	IC.ATTRIBUTE14,
 	IC.ATTRIBUTE15
    FROM BOM_INVENTORY_COMPONENTS IC
    WHERE IC.COMPONENT_SEQUENCE_ID = comp_seq_id;
Line: 1237

** delete from bom_inventory_comps
*/
    DELETE FROM BOM_INVENTORY_COMPONENTS
    WHERE  COMPONENT_SEQUENCE_ID = comp_seq_id;
Line: 1248

**	Delete the Substitute Components and also the Reference Designators
*/
    DELETE FROM BOM_SUBSTITUTE_COMPONENTS SC
    WHERE SC.COMPONENT_SEQUENCE_ID = comp_seq_id;
Line: 1256

** delete reference designators of all pending revised items on ECO
*/
    stmt_num := 30;
Line: 1259

    DELETE FROM BOM_REFERENCE_DESIGNATORS RD
        WHERE RD.COMPONENT_SEQUENCE_ID = comp_seq_id;
Line: 1268

        /* delete from bom_inventory_comps */
        DELETE FROM bom_components_b
        WHERE  COMPONENT_SEQUENCE_ID = crc.COMPONENT_SEQUENCE_ID;
Line: 1272

        /* delete the Substitute Components and also the Reference Designators */
        DELETE FROM BOM_SUBSTITUTE_COMPONENTS SC
        WHERE SC.COMPONENT_SEQUENCE_ID = crc.COMPONENT_SEQUENCE_ID;
Line: 1275

        /* Delete reference designators of all pending revised items on ECO */
        stmt_num := stmt_num+1;
Line: 1277

        DELETE FROM BOM_REFERENCE_DESIGNATORS RD
        WHERE RD.COMPONENT_SEQUENCE_ID = crc.COMPONENT_SEQUENCE_ID;
Line: 1301

    SAVEPOINT before_status_update;
Line: 1302

    update fnd_attached_documents
      set status = '',
          last_update_date = sysdate,
          last_updated_by = user_id,
          last_update_login = login_id
      where attached_document_id in
      (SELECT attachment_id FROM eng_attachment_changes WHERE change_id = p_change_id);