DBA Data[Home] [Help]

APPS.BOMPBEXP SQL Statements

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

Line: 36

| 10/19/95      Robert Yee      select operation lead time percent from     |
|                               routing                                     |
|                                                                           |
+==========================================================================*/

PROCEDURE bom_exploder(
	verify_flag		IN NUMBER DEFAULT 0,
	online_flag		IN NUMBER DEFAULT 1,
	org_id 			IN NUMBER,
	order_by 		IN NUMBER DEFAULT 1,
	grp_id			IN NUMBER,
	levels_to_explode 	IN NUMBER DEFAULT 1,
	bom_or_eng		IN NUMBER DEFAULT 1,
	impl_flag		IN NUMBER DEFAULT 1,
	plan_factor_flag	IN NUMBER DEFAULT 2,
	explode_option 		IN NUMBER DEFAULT 2,
	std_comp_flag		IN NUMBER DEFAULT 2,
	incl_oc_flag		IN NUMBER DEFAULT 1,
	incl_lt_flag		IN NUMBER DEFAULT 2,
	max_level		IN NUMBER,
	module			IN NUMBER DEFAULT 2,
	rev_date		IN VARCHAR2,
	err_msg		 IN OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
	error_code	 IN OUT NOCOPY /* file.sql.39 change */ NUMBER) AS

    prev_sort_order		VARCHAR2(4000);
Line: 92

	SELECT
		BET.TOP_BILL_SEQUENCE_ID TBSI,
		BOM.BILL_SEQUENCE_ID BSI,
		BOM.COMMON_BILL_SEQUENCE_ID CBSI,
		BIC.COMPONENT_ITEM_ID CID,
		BIC.COMPONENT_SEQUENCE_ID CSI,
		BIC.COMPONENT_QUANTITY CQ,
		(BIC.COMPONENT_QUANTITY * BET.EXTENDED_QUANTITY *
		    decode(c_plan_factor_flag, 1, BIC.PLANNING_FACTOR/100, 1) /
			decode(BIC.COMPONENT_YIELD_FACTOR, 0, 1,
				BIC.COMPONENT_YIELD_FACTOR)) EQ,
		BET.SORT_ORDER SO,
		BET.TOP_ITEM_ID TID,
		BET.TOP_ALTERNATE_DESIGNATOR TAD,
		BOM.ALTERNATE_BOM_DESIGNATOR, -- for routing
		BIC.COMPONENT_YIELD_FACTOR CYF,
		BOM.ORGANIZATION_ID OI,
		decode(verify_flag, 1, BET.COMPONENT_CODE,
		    BET.COMPONENT_CODE || '-' || BIC.COMPONENT_ITEM_ID) CC,
		BIC.INCLUDE_IN_COST_ROLLUP IICR,
		BET.LOOP_FLAG LF,
		BIC.PLANNING_FACTOR PF, BIC.OPERATION_SEQ_NUM OSN,
		BIC.BOM_ITEM_TYPE BIT, BET.BOM_ITEM_TYPE PBIT,
		BET.COMPONENT_ITEM_ID PAID, BIC.WIP_SUPPLY_TYPE WST,
		BIC.ITEM_NUM ITN,
		BIC.EFFECTIVITY_DATE ED,
      		BIC.DISABLE_DATE DD,
      		BIC.IMPLEMENTATION_DATE ID,
      		BIC.OPTIONAL OPT,
      		BIC.SUPPLY_SUBINVENTORY SS,
      		BIC.SUPPLY_LOCATOR_ID SLI,
      		BIC.COMPONENT_REMARKS CR,
      		BIC.CHANGE_NOTICE CN,
      		BIC.OPERATION_LEAD_TIME_PERCENT OLTP,
      		BIC.MUTUALLY_EXCLUSIVE_OPTIONS MEO,
      		BIC.CHECK_ATP CATP,
      		BIC.REQUIRED_TO_SHIP RTS,
      		BIC.REQUIRED_FOR_REVENUE RFR,
      		BIC.INCLUDE_ON_SHIP_DOCS IOSD,
      		BIC.LOW_QUANTITY LQ,
      		BIC.HIGH_QUANTITY HQ,
		BIC.SO_BASIS SB
	FROM    BOM_EXPLOSION_TEMP BET,
		BOM_BILL_OF_MATERIALS BOM,
		BOM_INVENTORY_COMPONENTS BIC,
		MTL_SYSTEM_ITEMS MSI
	WHERE   BET.PLAN_LEVEL = c_level - 1
	AND	BET.GROUP_ID = c_grp_id
	AND     MSI.INVENTORY_ITEM_ID = BOM.ASSEMBLY_ITEM_ID
	AND     MSI.ORGANIZATION_ID = BOM.ORGANIZATION_ID
	AND     BOM.COMMON_BILL_SEQUENCE_ID = BIC.BILL_SEQUENCE_ID
	AND     BET.COMPONENT_ITEM_ID = BOM.ASSEMBLY_ITEM_ID
	AND	BOM.ORGANIZATION_ID = BET.ORGANIZATION_ID
	AND     NVL(BIC.ECO_FOR_PRODUCTION,2) = 2
	AND   ( (c_std_comp_flag = 1 /* only std components */
		  AND MSI.PICK_COMPONENTS_FLAG = 'Y'
		  AND BIC.BOM_ITEM_TYPE = 4 AND BIC.OPTIONAL = 2
		)
		OR
		(c_std_comp_flag = 2)
		OR
		(c_std_comp_flag = 3 AND nvl(BET.BOM_ITEM_TYPE, 1) IN (1,2)
		   AND (BIC.BOM_ITEM_TYPE IN (1,2)
		         OR
		        (BIC.BOM_ITEM_TYPE = 4 AND BIC.OPTIONAL = 1)
		       )
		)
	      )
	AND	( (c_bom_or_eng = 1 and BOM.ASSEMBLY_TYPE = 1)
		  OR
		  (c_bom_or_eng = 2)
	 	)
	AND	(
		  (BET.TOP_ALTERNATE_DESIGNATOR IS NULL
		    AND
		    BOM.ALTERNATE_BOM_DESIGNATOR IS NULL
		   )
		  OR
		   (BET.TOP_ALTERNATE_DESIGNATOR IS NOT NULL
		    AND
		    BOM.ALTERNATE_BOM_DESIGNATOR=BET.TOP_ALTERNATE_DESIGNATOR
		   )
		  OR
		  ( BET.TOP_ALTERNATE_DESIGNATOR IS NOT NULL
		    AND BOM.ALTERNATE_BOM_DESIGNATOR IS NULL
		    AND NOT EXISTS
			(SELECT 'X'
			 FROM BOM_BILL_OF_MATERIALS BOM2
			 WHERE BOM2.ORGANIZATION_ID = BET.ORGANIZATION_ID
			 AND   BOM2.ASSEMBLY_ITEM_ID = BET.COMPONENT_ITEM_ID
			 AND   BOM2.ALTERNATE_BOM_DESIGNATOR =
				BET.TOP_ALTERNATE_DESIGNATOR
			 AND   ((c_bom_or_eng = 1 and BOM2.ASSEMBLY_TYPE = 1)
				OR c_bom_or_eng = 2
			       )
			) /* subquery */
		   )
		) /* end of alt logic */
/* whether to include option classes and models under a standard item
** special logic added at CST request */
	AND ( (c_incl_oc = 1)
	      or
	      (c_incl_oc = 2 AND
		( BET.BOM_ITEM_TYPE = 4 AND BIC.BOM_ITEM_TYPE = 4)
		OR
		( BET.BOM_ITEM_TYPE <> 4)
	      )
	    )
/* do not explode if immediate parent is standard and current
component is option class or model - special logic for config items */
	AND NOT ( BET.PARENT_BOM_ITEM_TYPE = 4
		    AND
		  BET.BOM_ITEM_TYPE IN (1, 2)
	 	)
	AND 	( (c_explode_option = 1 /* ALL */ )
		  OR
		  (c_explode_option = 2 /* CURRENT */ AND
	 	  c_rev_date >=
		  BIC.EFFECTIVITY_DATE AND
                  c_rev_date <
		  nvl(BIC.DISABLE_DATE,
			c_rev_date+1)
		  ) /* CURRENT */
		  OR
		  (c_explode_option = 3 /* CURRENT AND FUTURE */ AND
		  nvl(BIC.DISABLE_DATE,
		  c_rev_date + 1) >
			c_rev_date
		  ) /* CURRENT AND FUTURE */
		)
	AND     ( (c_impl_flag = 2 AND
		   ( c_explode_option = 1
		    OR
		    (c_explode_option = 2 AND
		     BIC.EFFECTIVITY_DATE =
			(SELECT MAX(EFFECTIVITY_DATE)
			 FROM BOM_INVENTORY_COMPONENTS CIB
			 WHERE CIB.BILL_SEQUENCE_ID = BIC.BILL_SEQUENCE_ID
 			 AND CIB.COMPONENT_ITEM_ID = BIC.COMPONENT_ITEM_ID
			 AND NVL(CIB.ECO_FOR_PRODUCTION,2) = 2
			 AND ( decode(CIB.IMPLEMENTATION_DATE, NULL,
				CIB.OLD_COMPONENT_SEQUENCE_ID,
				CIB.COMPONENT_SEQUENCE_ID) =
			       decode(BIC.IMPLEMENTATION_DATE, NULL,
				BIC.OLD_COMPONENT_SEQUENCE_ID,
				BIC.COMPONENT_SEQUENCE_ID)
			      OR
			       CIB.OPERATION_SEQ_NUM = BIC.OPERATION_SEQ_NUM
			     ) /* decode */
			 AND CIB.EFFECTIVITY_DATE <=
			     c_rev_date
			) /* end of subquery */
		    ) /* CURRENT */
		    OR
		    (c_explode_option = 3 AND
		     BIC.EFFECTIVITY_DATE =
			(SELECT MAX(EFFECTIVITY_DATE)
			 FROM BOM_INVENTORY_COMPONENTS CIB
			 WHERE CIB.BILL_SEQUENCE_ID = BIC.BILL_SEQUENCE_ID
 			 AND CIB.COMPONENT_ITEM_ID = BIC.COMPONENT_ITEM_ID
			 AND NVL(CIB.ECO_FOR_PRODUCTION,2) = 2
			 AND ( decode(CIB.IMPLEMENTATION_DATE, NULL,
				CIB.OLD_COMPONENT_SEQUENCE_ID,
				CIB.COMPONENT_SEQUENCE_ID) =
			       decode(BIC.IMPLEMENTATION_DATE, NULL,
				BIC.OLD_COMPONENT_SEQUENCE_ID,
				BIC.COMPONENT_SEQUENCE_ID)
			      OR
			       CIB.OPERATION_SEQ_NUM = BIC.OPERATION_SEQ_NUM
			     ) /* decode */
			 AND CIB.EFFECTIVITY_DATE <=
			     c_rev_date
			    ) /* end of subquery */
		      OR BIC.EFFECTIVITY_DATE >
			c_rev_date
		    ) /* CURRENT AND FUTURE */
		  ) /* explode_option */
		) /* impl_flag = 2 */
		  OR
		(c_impl_flag = 1 AND BIC.IMPLEMENTATION_DATE IS NOT NULL)
	      ) /* explode option */
	AND ( ( c_verify_flag = 1 AND BET.LOOP_FLAG = 2 ) OR
	      c_verify_flag <> 1 )
        ORDER BY BET.TOP_BILL_SEQUENCE_ID, BET.SORT_ORDER,
		decode(c_order_by, 1, BIC.OPERATION_SEQ_NUM, BIC.ITEM_NUM),
		decode(c_order_by, 1, BIC.ITEM_NUM, BIC.OPERATION_SEQ_NUM);
Line: 283

          Select round(bos.operation_lead_time_percent, 2) oltp
          From Bom_Operation_Sequences bos,
               Bom_Operational_Routings bor
          Where bor.assembly_item_id = P_Assembly
          And   bor.organization_Id = P_Org_Id
          And  (bor.alternate_routing_designator = P_Alternate
                or
               (bor.alternate_routing_designator is null and not exists (
                  select null
                  from bom_operational_routings bor2
                  where bor2.assembly_item_id = P_Assembly
                  and   bor2.organization_id = P_Org_Id
                  and   bor2.alternate_routing_designator = P_Alternate)
               ))
          And   bor.common_routing_sequence_id = bos.routing_sequence_id
          And   bos.operation_seq_num = P_Operation
	  And   NVL(bos.eco_for_production,2) = 2
          And   trunc(bos.effectivity_date) <=
                trunc(rev_date_s)
          And   nvl(bos.disable_date,
                    rev_date_s+1) >=
                trunc(rev_date_s);
Line: 405

	    INSERT INTO BOM_EXPLOSION_TEMP (
		TOP_BILL_SEQUENCE_ID,
		BILL_SEQUENCE_ID,
		COMMON_BILL_SEQUENCE_ID,
		ORGANIZATION_ID,
		COMPONENT_SEQUENCE_ID,
		COMPONENT_ITEM_ID,
		COMPONENT_QUANTITY,
		PLAN_LEVEL,
		EXTENDED_QUANTITY,
		SORT_ORDER,
		GROUP_ID,
		TOP_ALTERNATE_DESIGNATOR,
		COMPONENT_YIELD_FACTOR,
		TOP_ITEM_ID,
		COMPONENT_CODE,
		INCLUDE_IN_ROLLUP_FLAG,
		LOOP_FLAG,
		PLANNING_FACTOR,
		OPERATION_SEQ_NUM,
		BOM_ITEM_TYPE,
		PARENT_BOM_ITEM_TYPE,
		ASSEMBLY_ITEM_ID,
		WIP_SUPPLY_TYPE,
		ITEM_NUM,
		EFFECTIVITY_DATE,
      		DISABLE_DATE,
      		IMPLEMENTATION_DATE,
      		OPTIONAL,
      		SUPPLY_SUBINVENTORY,
      		SUPPLY_LOCATOR_ID,
      		COMPONENT_REMARKS,
      		CHANGE_NOTICE,
      		OPERATION_LEAD_TIME_PERCENT,
      		MUTUALLY_EXCLUSIVE_OPTIONS,
      		CHECK_ATP,
      		REQUIRED_TO_SHIP,
      		REQUIRED_FOR_REVENUE,
      		INCLUDE_ON_SHIP_DOCS,
      		LOW_QUANTITY,
      		HIGH_QUANTITY,
		SO_BASIS
	    ) VALUES (
		expl_row.TBSI,
		expl_row.BSI,
		expl_row.CBSI,
		expl_row.OI,
		expl_row.CSI,
		expl_row.CID,
		expl_row.CQ,
		cur_level,
		expl_row.EQ,
		expl_row.SO,
		grp_id,
		expl_row.TAD,
		expl_row.CYF,
		expl_row.TID,
		expl_row.CC,
		expl_row.IICR,
		expl_row.LF,
		expl_row.PF,
		expl_row.OSN,
		expl_row.BIT,
		expl_row.PBIT,
		expl_row.PAID,
		expl_row.WST,
		expl_row.ITN,
		expl_row.ED,
		expl_row.DD,
		expl_row.ID,
		expl_row.OPT,
		expl_row.SS,
		expl_row.SLI,
		expl_row.CR,
		expl_row.CN,
		expl_row.OLTP,
		expl_row.MEO,
		expl_row.CATP,
		expl_row.RTS,
		expl_row.RFR,
		expl_row.IOSD,
		expl_row.LQ,
		expl_row.HQ,
		expl_row.SB
	    );