DBA Data[Home] [Help]

APPS.OKS_IMPORT_POST_INSERT SQL Statements

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

Line: 77

INSERT ALL
   WHEN (FREQUENCY IS NOT NULL) THEN
      INTO OKS_STREAM_LEVELS_B
	(ID
	,CHR_ID
	,CLE_ID
	,DNZ_CHR_ID
	,SEQUENCE_NO
	,UOM_CODE
	,START_DATE
	,END_DATE
	,LEVEL_PERIODS
	,UOM_PER_PERIOD
	,LEVEL_AMOUNT
	,OBJECT_VERSION_NUMBER
	,REQUEST_ID
	,CREATED_BY
	,CREATION_DATE
	,LAST_UPDATED_BY
	,LAST_UPDATE_DATE
	,LAST_UPDATE_LOGIN)

  VALUES (ID
	,CHR_ID
	,CLE_ID
	,DNZ_CHR_ID
	,SEQUENCE_NO
	,UOM_CODE
	,START_DATE
	,END_DATE
	,LEVEL_PERIODS
	,UOM_PER_PERIOD
	,LEVEL_AMOUNT
	,OBJECT_VERSION_NUMBER
	,REQUEST_ID
	,CREATED_BY
	,CREATION_DATE
	,LAST_UPDATED_BY
	,LAST_UPDATE_DATE
	,LAST_UPDATE_LOGIN)


SELECT okc_p_util.raw_to_number(sys_guid())	ID
       ,INNER_Q2.SEQ                          SEQUENCE_NO
       ,(CASE WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN 'DAY'
	      WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.BILLING_INTERVAL_PERIOD
	      WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS not NULL THEN INNER_Q1.BILLING_INTERVAL_PERIOD
	      WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS null THEN 'DAY'
	      WHEN INNER_Q2.SEQ = 3  THEN	'DAY'
	      ELSE INNER_Q1.BILLING_INTERVAL_PERIOD
	 END)  UOM_CODE
       ,(CASE WHEN INNER_Q2.SEQ = 1 THEN INNER_Q1.LIN_STR_DT
	      WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date is not null THEN INNER_Q1.FIRST_BILL_UPTO_DATE + 1
	      WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.LAST_BILL_FROM_DATE
	      WHEN INNER_Q2.SEQ = 3  THEN INNER_Q1.LAST_BILL_FROM_DATE
	 END) START_DATE
       ,(CASE WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN INNER_Q1.FIRST_BILL_UPTO_DATE
	      WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.LAST_BILL_FROM_DATE - 1
	      WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.LIN_END_DT
	      WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN INNER_Q1.LAST_BILL_FROM_DATE - 1
              WHEN INNER_Q2.SEQ = 3  THEN INNER_Q1.LIN_END_DT
	 END) END_DATE
       ,(CASE WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN 1
	      WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.RECUR_BILL_OCCURANCES
	      WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN INNER_Q1.RECUR_BILL_OCCURANCES
	      WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NULL THEN 1
	      WHEN INNER_Q2.SEQ = 3  THEN 1
	 END) LEVEL_PERIODS
       ,(CASE WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN INNER_Q1.FIRST_BILL_UPTO_DATE - INNER_Q1.LIN_STR_DT +1 -- including the days between the difference
	      WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.BILLING_INTERVAL_DURATION
              WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN INNER_Q1.BILLING_INTERVAL_DURATION
	      WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date is NULL THEN  INNER_Q1.LIN_END_DT -(INNER_Q1.LAST_BILL_FROM_DATE - 1 )
	      WHEN INNER_Q2.SEQ = 3  THEN INNER_Q1.LIN_END_DT -(INNER_Q1.LAST_BILL_FROM_DATE - 1 )
	      ELSE INNER_Q1.BILLING_INTERVAL_DURATION
	 END) UOM_PER_PERIOD
       ,(CASE WHEN INNER_Q1.FBILL IS NOT NULL AND INNER_Q1.LBILL IS NOT NULL
			THEN (CASE WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NOT NULL  -- first stream
						  THEN INNER_Q1.FBILL
				   WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NULL -- normal stream
						  THEN (INNER_Q1.SUBTOTAL - nvl(INNER_Q1.FBILL,0) - nvl(INNER_Q1.LBILL,0))
        			   WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NOT NULL  --normal stream
						  THEN  ROUND(((INNER_Q1.SUBTOTAL - nvl(INNER_Q1.FBILL,0) - nvl(INNER_Q1.LBILL,0))/INNER_Q1.RECUR_BILL_OCCURANCES),2) /*Bug:7916240*/
        			   WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NULL -- last stream
						  THEN INNER_Q1.LBILL
			           WHEN INNER_Q2.SEQ = 3  THEN INNER_Q1.LBILL
			      END)
              WHEN INNER_Q1.FBILL IS NULL AND INNER_Q1.LBILL IS NULL
			THEN (CASE WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NOT NULL  -- first stream
						THEN ROUND((INNER_Q1.SUBTOTAL/INNER_Q1.NO_OF_DAYS) * (INNER_Q1.FIRST_BILL_UPTO_DATE - INNER_Q1.LIN_STR_DT +1) *1,2)
			           WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NULL -- normal stream
						THEN  ROUND((INNER_Q1.SUBTOTAL/CALC_BILL_PERIOD_1) * INNER_Q1.BILLING_INTERVAL_DURATION ,2) /*BUg:71962410 removed * INNER_Q1.RECUR_BILL_OCCURANCES*/
			           WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NOT NULL  --normal stream
                                                THEN Round(((((INNER_Q1.SUBTOTAL -
							ROUND((INNER_Q1.SUBTOTAL/INNER_Q1.NO_OF_DAYS) * (INNER_Q1.FIRST_BILL_UPTO_DATE - INNER_Q1.LIN_STR_DT +1) *1,2))/CALC_BILL_PERIOD_2
								*INNER_Q1.BILLING_INTERVAL_DURATION * INNER_Q1.RECUR_BILL_OCCURANCES))/INNER_Q1.RECUR_BILL_OCCURANCES),2)                     /*Bug:7916240*/
                                   WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NULL -- last stream
                                                THEN inner_q1.subtotal -
                                                        ROUND((INNER_Q1.SUBTOTAL/CALC_BILL_PERIOD_1) * INNER_Q1.BILLING_INTERVAL_DURATION * INNER_Q1.RECUR_BILL_OCCURANCES,2)
                                   WHEN INNER_Q2.SEQ = 3
                                                THEN inner_q1.subtotal -
                                                        ROUND((INNER_Q1.SUBTOTAL/INNER_Q1.NO_OF_DAYS),2) * (INNER_Q1.FIRST_BILL_UPTO_DATE - INNER_Q1.LIN_STR_DT +1) *1
								- round((INNER_Q1.SUBTOTAL - (ROUND((INNER_Q1.SUBTOTAL/INNER_Q1.NO_OF_DAYS),2) *
										(INNER_Q1.FIRST_BILL_UPTO_DATE - INNER_Q1.LIN_STR_DT +1) *1))/CALC_BILL_PERIOD_2 ,2)
												*INNER_Q1.BILLING_INTERVAL_DURATION * INNER_Q1.RECUR_BILL_OCCURANCES
                              END)
              WHEN INNER_Q1.FBILL IS NULL AND INNER_Q1.LBILL IS NOT NULL
			THEN (CASE WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NOT NULL  -- first stream
						THEN  ROUND((INNER_Q1.SUBTOTAL - INNER_Q1.LBILL)/DAY_FIRST_MID_STR  * (INNER_Q1.FIRST_BILL_UPTO_DATE - INNER_Q1.LIN_STR_DT +1) * 1 ,2)
				   WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NULL -- normal stream
						THEN ROUND(((INNER_Q1.SUBTOTAL - INNER_Q1.LBILL)/INNER_Q1.RECUR_BILL_OCCURANCES),2)     /*Bug:7916240*/
        			   WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NOT NULL  --normal stream
						THEN ROUND((INNER_Q1.SUBTOTAL - ROUND((INNER_Q1.SUBTOTAL - INNER_Q1.LBILL)/DAY_FIRST_MID_STR
							* (INNER_Q1.FIRST_BILL_UPTO_DATE - INNER_Q1.LIN_STR_DT +1) * 1 ,2) - INNER_Q1.LBILL)/INNER_Q1.RECUR_BILL_OCCURANCES,2)  /*Bug:7916240*/
				   WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NULL -- last stream
						THEN INNER_Q1.LBILL
			           WHEN INNER_Q2.SEQ = 3  THEN INNER_Q1.LBILL
			      END)
              WHEN INNER_Q1.FBILL IS NOT NULL AND INNER_Q1.LBILL IS NULL
			THEN (CASE WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NOT NULL  -- first stream
						THEN  INNER_Q1.FBILL
				   WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NULL -- normal stream
						THEN ROUND((INNER_Q1.SUBTOTAL)/CALC_BILL_PERIOD_1 * INNER_Q1.BILLING_INTERVAL_DURATION * INNER_Q1.RECUR_BILL_OCCURANCES,2)
        			   WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NOT NULL  --normal stream
						THEN ROUND((INNER_Q1.SUBTOTAL - INNER_Q1.FBILL)/CALC_BILL_PERIOD_2 * INNER_Q1.BILLING_INTERVAL_DURATION ,2)        /*Bug:71962410 removed * INNER_Q1.RECUR_BILL_OCCURANCES*/
        			   WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NULL -- last stream
						THEN INNER_Q1.SUBTOTAL - ROUND((INNER_Q1.SUBTOTAL)/CALC_BILL_PERIOD_1 * INNER_Q1.BILLING_INTERVAL_DURATION * INNER_Q1.RECUR_BILL_OCCURANCES,2)
				   WHEN INNER_Q2.SEQ = 3
						THEN INNER_Q1.SUBTOTAL - INNER_Q1.FBILL
								- ROUND((INNER_Q1.SUBTOTAL - INNER_Q1.FBILL)/CALC_BILL_PERIOD_2 *
									INNER_Q1.BILLING_INTERVAL_DURATION * INNER_Q1.RECUR_BILL_OCCURANCES,2)
			      END)
         END) LEVEL_AMOUNT
       ,INNER_Q1.RECUR_BILL_OCCURANCES FREQUENCY
       ,INNER_Q1.*
       ,INNER_Q2.*
FROM
	(SELECT  OKCLINB_LINE.ID              LINE_ID
		,null		              CHR_ID
		,OKCLINB_LINE.ID              CLE_ID
		,OKCHDRB.ID                   DNZ_CHR_ID
		,OLSTG.FIRST_BILL_UPTO_DATE   FIRST_BILL_UPTO_DATE
	        ,OLSTG.FIRST_BILLED_AMOUNT    FBILL
	        ,OLSTG.LAST_BILLED_AMOUNT     LBILL
		,(CASE	WHEN OLSTG.FIRST_BILL_UPTO_DATE IS NULL AND (OLSTG.LAST_BILL_FROM_DATE -1 )= OLSTG.END_DATE THEN 1
			WHEN OLSTG.FIRST_BILL_UPTO_DATE IS NOT NULL AND (OLSTG.LAST_BILL_FROM_DATE -1) = OLSTG.END_DATE  THEN 2
			WHEN  OLSTG.FIRST_BILL_UPTO_DATE IS NULL AND (OLSTG.LAST_BILL_FROM_DATE -1 ) < OLSTG.END_DATE THEN 2
			WHEN  OLSTG.FIRST_BILL_UPTO_DATE IS NOT NULL AND (OLSTG.LAST_BILL_FROM_DATE -1 ) < OLSTG.END_DATE THEN 3
		  END) NUM_STREAMS
		,OLSTG.BILLING_INTERVAL_PERIOD					BILLING_INTERVAL_PERIOD
		/*,(CASE	WHEN OLSTG.BILLING_INTERVAL_PERIOD ='DAY'  THEN  (OLSTG.END_DATE  - OLSTG.START_DATE)+1	 --no_of_day
			WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'WK'  THEN  ((OLSTG.END_DATE  - OLSTG.START_DATE)+1)/7 -- no of weeks
			WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'MTH' THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1 ,OLSTG.START_DATE) -- no of months
			WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'QRT' THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,OLSTG.START_DATE)/3 -- no of quarter
		        WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'YR'  THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,OLSTG.START_DATE)/12 -- no of years
		  END) CALC_BILL_PERIOD_1
		,(CASE	WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'DAY' THEN (OLSTG.END_dATE -OLSTG.FIRST_BILL_UPTO_DATE +1) +1 --no of days
			WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'WK'  THEN ((OLSTG.END_DATE  - OLSTG.FIRST_BILL_UPTO_DATE + 1) +1 )/7  -- no of weeks
			WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'MTH' THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1))-- no of months
			WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'QRT' THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1))/3  -- no of quarter
			WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'YR'  THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1))/12 -- no of years
		  END) CALC_BILL_PERIOD_2 */ /*Modified for bug:9019205*/
                  ,(CASE WHEN bip.tce_code ='DAY'   and  bip.quantity =1   THEN  (OLSTG.END_DATE  - OLSTG.START_DATE)+1	 --no_of_day
			WHEN bip.tce_code ='DAY'    and bip.quantity =7    THEN  ((OLSTG.END_DATE  - OLSTG.START_DATE)+1)/7 -- no of weeks
		        WHEN bip.tce_code ='MONTH' and bip.quantity =1 THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,OLSTG.START_DATE) -- no of months
			WHEN bip.tce_code ='MONTH' and bip.quantity = 3  THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,OLSTG.START_DATE)/3 -- no of quarter
			WHEN bip.tce_code ='YEAR'  and bip.quantity =1  THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,OLSTG.START_DATE)/12 -- no of years
		  END) CALC_BILL_PERIOD_1
		,(CASE	WHEN bip.tce_code ='DAY'   and  bip.quantity =1 THEN (OLSTG.END_dATE -OLSTG.FIRST_BILL_UPTO_DATE +1) +1 --no of days
			WHEN bip.tce_code ='DAY'    and bip.quantity =7 THEN ((OLSTG.END_DATE  - OLSTG.FIRST_BILL_UPTO_DATE + 1) +1 )/7  -- no of weeks
			WHEN bip.tce_code ='MONTH' and bip.quantity =1  THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1))-- no of months
	                WHEN bip.tce_code ='MONTH' and bip.quantity = 3 THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1))/3  -- no of quarter
		        WHEN bip.tce_code ='YEAR'  and bip.quantity =1  THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1))/12 -- no of years
		  END) CALC_BILL_PERIOD_2
		,(OLSTG.END_DATE  - OLSTG.START_DATE)+1				NO_OF_DAYS
		,OLSTG.LAST_BILL_FROM_DATE - OLSTG.START_DATE			DAY_FIRST_MID_STR
		,OLSTG.LAST_BILL_FROM_DATE -(OLSTG.FIRST_BILL_UPTO_DATE +1) +1   DAY_MID_STR
		,OLSTG.LINE_TYPE						LINE_TYPE
		,OLSTG.RECUR_BILL_OCCURANCES					RECUR_BILL_OCCURANCES
		,OLSTG.BILLING_INTERVAL_DURATION				BILLING_INTERVAL_DURATION
		,nvl(OKCLINB_LINE.PRICE_NEGOTIATED,0)				SUBTOTAL
		,OLSTG.START_DATE						LIN_STR_DT
		,OLSTG.END_DATE							LIN_END_DT
		,OLSTG.LAST_BILL_FROM_DATE					LAST_BILL_FROM_DATE
		,1								OBJECT_VERSION_NUMBER
		,null								REQUEST_ID -- need to confirm
		,FND_GLOBAL.USER_ID						CREATED_BY
		,SYSDATE							CREATION_DATE
		,FND_GLOBAL.USER_ID						LAST_UPDATED_BY
		,SYSDATE							LAST_UPDATE_DATE
		,FND_GLOBAL.LOGIN_ID						LAST_UPDATE_LOGIN
                ,bip.tce_code                                                   tce_code         /*Added for bug:9019205*/
                ,bip.quantity                                                   quantity
	 FROM  OKS_INT_LINE_STG_TEMP      OLSTG
	      ,OKS_INT_HEADER_STG_TEMP    HDRSTG
	      ,OKC_K_HEADERS_ALL_B        OKCHDRB
              ,OKC_K_LINES_B              OKCLINB_LINE
              ,OKC_TIME_CODE_UNITS_B      BIP
              ,OKC_TIME_CODE_UNITS_TL     BIPTL
         WHERE OLSTG.HEADER_INTERFACE_ID = HDRSTG.HEADER_INTERFACE_ID
	 AND   HDRSTG.CONTRACT_NUMBER = OKCHDRB.CONTRACT_NUMBER
	 AND   NVL(HDRSTG.CONTRACT_NUMBER_MODIFIER , 'Xwqwewe@!&*aQ1') = NVL(OKCHDRB.CONTRACT_NUMBER_MODIFIER , 'Xwqwewe@!&*aQ1')
	 AND   HDRSTG.INTERFACE_STATUS ='S'
	 AND   OKCLINB_LINE.DNZ_CHR_ID   = OKCHDRB.ID
	 AND   OKCLINB_LINE.CHR_ID = OKCHDRB.ID
	 AND   OKCLINB_LINE.LINE_NUMBER = OLSTG.LINE_NUMBER
	 AND   OLSTG.LINE_TYPE='SUBSCRIPTION'
         AND   OLSTG.billing_interval_period=BIP.uom_code(+)              /*Modifiefd for bug:9019205*/
         AND   BIP.uom_code = BIPTL.uom_code
         AND   BIP.tce_code = BIPTL.tce_code
         AND   BIPTL.language(+)=USERENV('LANG')) INNER_Q1

	,(SELECT ROWNUM AS SEQ FROM DUAL CONNECT BY LEVEL <= 3) INNER_Q2
WHERE INNER_Q2.SEQ <= INNER_Q1.NUM_STREAMS;
Line: 295

			 'Number of records successfully inserted = ' || l_int_count );
Line: 300

	SELECT MAX(RECUR_BILL_OCCURANCES) INTO l_recur_bill_occurance FROM OKS_INT_LINE_STG_TEMP ;
Line: 306

INSERT ALL
   WHEN (FREQUENCY IS NOT NULL ) then
	 INTO OKS_LEVEL_ELEMENTS
		(ID
		,SEQUENCE_NUMBER
		,DATE_START
		,AMOUNT
		,DATE_TRANSACTION
		,DATE_TO_INTERFACE
		,DATE_COMPLETED
		,OBJECT_VERSION_NUMBER
		,RUL_ID
		,CREATED_BY
		,CREATION_DATE
		,LAST_UPDATED_BY
		,LAST_UPDATE_DATE
		,CLE_ID
		,DNZ_CHR_ID
		,PARENT_CLE_ID
		,DATE_END)
	VALUES (ID
		,SEQUENCE_NUMBER
		,DATE_START
		,AMOUNT
		,DATE_TRANSACTION
		,DATE_TO_INTERFACE
		,DATE_COMPLETED
		,OBJECT_VERSION_NUMBER
		,RUL_ID
		,CREATED_BY
		,CREATION_DATE
		,LAST_UPDATED_BY
		,LAST_UPDATE_DATE
		,CLE_ID
		,DNZ_CHR_ID
		,PARENT_CLE_ID
		,DATE_END)
SELECT   SUBS_SCH_DT.*
	,(CASE WHEN SUBS_SCH_DT.INVOICING_RULE_ID = -2 THEN
			(CASE WHEN SUBS_SCH_DT.DATE_START >= SYSDATE THEN SUBS_SCH_DT.DATE_START
				ELSE SYSDATE
			END)
	       WHEN SUBS_SCH_DT.INVOICING_RULE_ID = -3 THEN
			(CASE WHEN SUBS_SCH_DT.DATE_END >= SYSDATE THEN SUBS_SCH_DT.DATE_END
				ELSE SYSDATE
			END)
	  END) DATE_TRANSACTION

	,(CASE WHEN SUBS_SCH_DT.INVOICING_RULE_ID = -2 THEN SUBS_SCH_DT.DATE_START
	       WHEN SUBS_SCH_DT.INVOICING_RULE_ID = -3 THEN SUBS_SCH_DT.DATE_END +1
	  END)  DATE_TO_INTERFACE
FROM
	(SELECT	 okc_p_util.raw_to_number(sys_guid())	ID
		,INNER_Q2.SEQ 				SEQUENCE_NUMBER

		,(CASE  WHEN INNER_Q2.SEQ=1  THEN INNER_Q1.STRM_START_DATE
				-- IN OTHER CASES
			ELSE/* DECODE (INNER_Q1.BILLING_INTERVAL_PERIOD
                    			,'DAY'	,	MID_SM_STR_DT + (INNER_Q2.SEQ -1 )
					,'WK'	,	MID_SM_STR_DT + (7 * (INNER_Q2.SEQ -1 ))
					,'MTH'	,	ADD_MONTHS(MID_SM_STR_DT , (INNER_Q2.SEQ -1 ))
					,'QRT'	,	ADD_MONTHS(MID_SM_STR_DT , 3 * (INNER_Q2.SEQ -1 ))
					,'YR'	,	ADD_MONTHS(MID_SM_STR_DT , 12 * (INNER_Q2.SEQ -1 )) )
		  END)*/
		  /* Commented for Bug#14296136 */
                  /*(CASE WHEN INNER_Q1.tce_code ='DAY' and INNER_Q1.quantity =1   THEN  MID_SM_STR_DT + INNER_Q2.SEQ -1
                       WHEN INNER_Q1.tce_code ='DAY' and INNER_Q1.quantity = 7  THEN  MID_SM_STR_DT  + (7 * (INNER_Q2.SEQ-1))
                       WHEN INNER_Q1.tce_code ='MONTH'  and INNER_Q1.quantity =1   THEN ADD_MONTHS(MID_SM_STR_DT , (INNER_Q2.SEQ -1))
                       WHEN INNER_Q1.tce_code ='MONTH'   and INNER_Q1.quantity =3   THEN ADD_MONTHS(MID_SM_STR_DT  , 3 * (INNER_Q2.SEQ-1))
                       WHEN INNER_Q1.tce_code ='YEAR'   and INNER_Q1.quantity =1   THEN ADD_MONTHS(MID_SM_STR_DT  , 12 * (INNER_Q2.SEQ-1))
                   END )
		  */
	          /* Added for Bug#14296136*/
        	  (
	          CASE
        	    WHEN INNER_Q1.tce_code ='DAY' AND INNER_Q1.quantity  =1
        	    	THEN MID_SM_STR_DT + INNER_Q1.BILLING_INTERVAL_DURATION * (INNER_Q2.SEQ -1)
        	    WHEN INNER_Q1.tce_code ='DAY' AND INNER_Q1.quantity  = 7
	       	    	THEN MID_SM_STR_DT + INNER_Q1.BILLING_INTERVAL_DURATION * (7 * (INNER_Q2.SEQ-1))
	            WHEN INNER_Q1.tce_code ='MONTH' AND INNER_Q1.quantity  =1
	            	THEN ADD_MONTHS(MID_SM_STR_DT , INNER_Q1.BILLING_INTERVAL_DURATION * (INNER_Q2.SEQ -1))
        	    WHEN INNER_Q1.tce_code ='MONTH' AND INNER_Q1.quantity  =3
	            	THEN ADD_MONTHS(MID_SM_STR_DT , INNER_Q1.BILLING_INTERVAL_DURATION * (3 * (INNER_Q2.SEQ-1)))
	            WHEN INNER_Q1.tce_code ='YEAR' AND INNER_Q1.quantity  =1
	            	THEN ADD_MONTHS(MID_SM_STR_DT , INNER_Q1.BILLING_INTERVAL_DURATION * (12 * (INNER_Q2.SEQ-1)))
          	  END
		  )
	          /* End of code added for Bug#14296136*/
                  END )DATE_START

		,(CASE	WHEN INNER_Q1.SEQUENCE_NO = 1 AND INNER_Q1.FIRST_BILL_UPTO_DATE IS NOT NULL  --first stream
				THEN 	INNER_Q1.LEVEL_AMOUNT
			WHEN INNER_Q1.SEQUENCE_NO = 1 AND INNER_Q1.FIRST_BILL_UPTO_DATE IS NULL  -- normal stream
				THEN
					(CASE WHEN  INNER_Q1.LEVEL_AMOUNT - ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2) *(INNER_Q2.SEQ-1) >0
							THEN (CASE WHEN INNER_Q2.SEQ =INNER_Q1.LEVEL_PERIODS  --if it is the last schedule for the stream, value difference due to rounding is to be adjusted
										AND ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2) = 0
											THEN INNER_Q1.LEVEL_AMOUNT
								   WHEN INNER_Q2.SEQ =INNER_Q1.LEVEL_PERIODS AND ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2) >0
											THEN INNER_Q1.LEVEL_AMOUNT - ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2)*(INNER_Q2.SEQ-1)
								   ELSE ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2)
							     END)
					      ELSE 0
					 END)
			WHEN INNER_Q1.SEQUENCE_NO = 2 AND INNER_Q1.FIRST_BILL_UPTO_DATE IS NOT NULL -- then it is normal stream
				THEN
					(CASE	WHEN INNER_Q1.LEVEL_AMOUNT - ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2)*(INNER_Q2.SEQ-1) >0
									THEN (CASE WHEN INNER_Q2.SEQ =INNER_Q1.LEVEL_PERIODS AND ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2) = 0
													THEN INNER_Q1.LEVEL_AMOUNT
										   WHEN INNER_Q2.SEQ = INNER_Q1.LEVEL_PERIODS AND ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2) >0
													THEN INNER_Q1.LEVEL_AMOUNT - ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2)*(INNER_Q2.SEQ-1)
										   ELSE ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2)
									      END)
					        ELSE 0
					 END)
			WHEN INNER_Q1.SEQUENCE_NO = 2 AND INNER_Q1.FIRST_BILL_UPTO_DATE IS NULL -- last bill stream
				THEN INNER_Q1.LEVEL_AMOUNT
			WHEN INNER_Q1.SEQUENCE_NO = 3 THEN  INNER_Q1.LEVEL_AMOUNT
	          END) AMOUNT

		,(CASE	WHEN INNER_Q1.FULLY_BILLED = 'Y' THEN SYSDATE
			ELSE NULL
		  END)								DATE_COMPLETED
		,INNER_Q1.OBJECT_VERSION_NUMBER					OBJECT_VERSION_NUMBER
		,INNER_Q1.OKS_STRM_LVL_ID					RUL_ID
		,FND_GLOBAL.USER_ID						CREATED_BY
		,SYSDATE							CREATION_DATE
		,FND_GLOBAL.USER_ID						LAST_UPDATED_BY
		,SYSDATE							LAST_UPDATE_DATE
		,INNER_Q1.CLE_ID						CLE_ID
		,INNER_Q1.DNZ_CHR_ID						DNZ_CHR_ID
		,INNER_Q1.PARENT_CLE_ID						PARENT_CLE_ID
        	,(CASE	WHEN  INNER_Q2.SEQ = 1 AND INNER_Q1.FIRST_BILL_UPTO_DATE IS NOT NULL
				AND INNER_Q1.STRM_END_DATE = INNER_Q1.FIRST_BILL_UPTO_DATE   --first stream
						THEN INNER_Q1.FIRST_BILL_UPTO_DATE
			WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.STRM_START_DATE = INNER_Q1.LAST_BILL_FROM_DATE  --last stream
						THEN INNER_Q1.LIN_END_DT
				-- IN OTHER CASES
			ELSE /*DECODE( INNER_Q1.BILLING_INTERVAL_PERIOD
					, 'DAY'	, MID_SM_STR_DT - 1  + INNER_Q2.SEQ
					, 'WK'  , MID_SM_STR_DT - 1 + (7 * (INNER_Q2.SEQ))
					, 'MTH' , ADD_MONTHS(MID_SM_STR_DT - 1 , (INNER_Q2.SEQ ))
					, 'QRT' , ADD_MONTHS(MID_SM_STR_DT - 1 , 3 * (INNER_Q2.SEQ ))
					, 'YR'  , ADD_MONTHS(MID_SM_STR_DT - 1  , 12 * (INNER_Q2.SEQ )) )

		  END) */
		 /* Commented for Bug#14296136 */
                  /*(CASE WHEN INNER_Q1.tce_code ='DAY' and INNER_Q1.quantity =1   THEN  MID_SM_STR_DT-1 + INNER_Q2.SEQ
                       WHEN INNER_Q1.tce_code ='DAY' and INNER_Q1.quantity = 7  THEN  MID_SM_STR_DT-1  + (7 * (INNER_Q2.SEQ))
                       WHEN INNER_Q1.tce_code ='MONTH'  and INNER_Q1.quantity =1   THEN ADD_MONTHS(MID_SM_STR_DT-1 , (INNER_Q2.SEQ ))
                       WHEN INNER_Q1.tce_code ='MONTH'   and INNER_Q1.quantity =3   THEN ADD_MONTHS(MID_SM_STR_DT -1 , 3 * (INNER_Q2.SEQ ))
                       WHEN INNER_Q1.tce_code ='YEAR'   and INNER_Q1.quantity =1   THEN ADD_MONTHS(MID_SM_STR_DT -1 , 12 * (INNER_Q2.SEQ ))
                   END ) */
                /* Added for Bug#14296136 */
                (
                CASE
                  WHEN INNER_Q1.tce_code ='DAY' AND INNER_Q1.quantity  =1
                    THEN MID_SM_STR_DT-1 + (INNER_Q1.BILLING_INTERVAL_DURATION * INNER_Q2.SEQ)
                  WHEN INNER_Q1.tce_code ='DAY' AND INNER_Q1.quantity  = 7
                    THEN MID_SM_STR_DT-1 + INNER_Q1.BILLING_INTERVAL_DURATION * (7 * (INNER_Q2.SEQ))
                  WHEN INNER_Q1.tce_code ='MONTH' AND INNER_Q1.quantity  =1
                    THEN ADD_MONTHS(MID_SM_STR_DT-1 , INNER_Q1.BILLING_INTERVAL_DURATION * (INNER_Q2.SEQ ))
                  WHEN INNER_Q1.tce_code ='MONTH' AND INNER_Q1.quantity  =3
                    THEN ADD_MONTHS(MID_SM_STR_DT -1 , INNER_Q1.BILLING_INTERVAL_DURATION * (3 * (INNER_Q2.SEQ )))
                  WHEN INNER_Q1.tce_code ='YEAR' AND INNER_Q1.quantity  =1
                    THEN ADD_MONTHS(MID_SM_STR_DT -1 , INNER_Q1.BILLING_INTERVAL_DURATION * (12 * (INNER_Q2.SEQ )))
                END )
                /* End of code added for Bug#14296136 */
                END )DATE_END
		,INNER_Q1.RECUR_BILL_OCCURANCES		FREQUENCY
		,INNER_Q1.INVOICING_RULE_ID		INVOICING_RULE_ID
	 FROM
	       (SELECT  OLSTG.LINE_INTERFACE_ID                 LINE_INTERFACE_ID
			,OKS_STRM_LVL.ID			OKS_STRM_LVL_ID
			,OKCLINB_LINE.ID                        CLE_ID
			,OKCHDRB.ID				DNZ_CHR_ID
			,OKCLINB_LINE.ID			PARENT_CLE_ID
			,OKCLINB_LINE.INV_RULE_ID		INVOICING_RULE_ID
			,1					OBJECT_VERSION_NUMBER
			,nvl(OKCLINB_LINE.PRICE_NEGOTIATED,0)  	SUBTOTAL
			,OLSTG.LAST_BILL_FROM_DATE		LAST_BILL_FROM_DATE
			,OLSTG.BILLING_INTERVAL_PERIOD		BILLING_INTERVAL_PERIOD
			,OLSTG.BILLING_INTERVAL_DURATION	BILLING_INTERVAL_DURATION
			,OLSTG.RECUR_BILL_OCCURANCES		RECUR_BILL_OCCURANCES
			,OLSTG.START_DATE			LIN_START_DT
			,OLSTG.END_DATE				LIN_END_DT
			,NVL(OLSTG.FIRST_BILLED_AMOUNT,0)	FIRST_BILL_AMOUNT
			,NVL(OLSTG.LAST_BILLED_AMOUNT,0)	LAST_BILL_AMOUNT
			,OLSTG.FIRST_BILL_UPTO_DATE		FIRST_BILL_UPTO_DATE
			,OKS_STRM_LVL.LEVEL_PERIODS		LEVEL_PERIODS
			,OKS_STRM_LVL.SEQUENCE_NO		SEQUENCE_NO
			/*,nvl(OKS_STRM_LVL.LEVEL_AMOUNT,0)	LEVEL_AMOUNT    Bug:7916240*/
                        , (CASE  WHEN  (OKS_STRM_LVL.END_DATE = OLSTG.END_DATE)   THEN
                            (CASE WHEN OKS_STRM_LVL.UOM_CODE <>'DAY' and OKS_STRM_LVL.LEVEL_PERIODS = OLSTG.RECUR_BILL_OCCURANCES then
                                     nvl( SUBTOTAL- (SELECT Sum(level_amount * LEVEL_PERIODS)
                                        FROM oks_stream_levels_b b
                                      WHERE b.cle_id = OKCLINB_LINE.ID
                                      GROUP BY b.cle_id ),SUBTOTAL) + NVL(OKS_STRM_LVL.LEVEL_AMOUNT,0)*(OKS_STRM_LVL.LEVEL_PERIODS)
                                ELSE
                                       nvl( SUBTOTAL- (SELECT Sum(level_amount * LEVEL_PERIODS)
                                        FROM oks_stream_levels_b b
                                      WHERE b.cle_id = OKCLINB_LINE.ID
                                      GROUP BY b.cle_id ),SUBTOTAL) + NVL(OKS_STRM_LVL.LEVEL_AMOUNT,0)
                                    END)
                           ELSE
                               (CASE  WHEN OKS_STRM_LVL.UOM_CODE <>'DAY'   THEN
                               NVL(OKS_STRM_LVL.LEVEL_AMOUNT,0)*(OKS_STRM_LVL.LEVEL_PERIODS)
			  ELSE
                              (CASE WHEN (OKS_STRM_LVL.LEVEL_PERIODS = OLSTG.RECUR_BILL_OCCURANCES ) THEN
                                    NVL(OKS_STRM_LVL.LEVEL_AMOUNT,0)*(OKS_STRM_LVL.LEVEL_PERIODS)
                             ELSE
                               NVL(OKS_STRM_LVL.LEVEL_AMOUNT,0)
                               END)
                           END)
                           END)LEVEL_AMOUNT
			,HDRSTG.FULLY_BILLED			FULLY_BILLED
			,OKS_STRM_LVL.START_DATE		STRM_START_DATE
			,OKS_STRM_LVL.END_DATE			STRM_END_DATE
			,(CASE	WHEN OLSTG.FIRST_BILL_UPTO_DATE IS NOT NULL THEN OLSTG.FIRST_BILL_UPTO_DATE +1
				ELSE OLSTG.START_DATE
			  END) MID_SM_STR_DT
			, OLSTG.LAST_BILL_FROM_DATE - 1		MID_SM_END_DT
			,OLSTG.LINE_TYPE			LINE_TYPE
                        ,bip.tce_code                           tce_code
                        ,bip.quantity                           quantity      /*Added for bug:9019205*/

		FROM	 OKS_INT_LINE_STG_TEMP		OLSTG
			,OKC_K_LINES_B			OKCLINB_LINE
			,OKC_K_HEADERS_ALL_B		OKCHDRB
			,OKS_INT_HEADER_STG_TEMP	HDRSTG
			,OKS_STREAM_LEVELS_B		OKS_STRM_LVL
                        ,OKC_TIME_CODE_UNITS_B          BIP
                        ,OKC_TIME_CODE_UNITS_TL          BIPTL
		WHERE OLSTG.HEADER_INTERFACE_ID = HDRSTG.HEADER_INTERFACE_ID
		AND   HDRSTG.CONTRACT_NUMBER = OKCHDRB.CONTRACT_NUMBER
		AND   NVL(HDRSTG.CONTRACT_NUMBER_MODIFIER , 'Xwqwewe@!&*aQ1') = NVL(OKCHDRB.CONTRACT_NUMBER_MODIFIER , 'Xwqwewe@!&*aQ1')
		AND   HDRSTG.INTERFACE_STATUS ='S'
		AND   OKCLINB_LINE.DNZ_CHR_ID   = OKCHDRB.ID
		AND   OKCLINB_LINE.CHR_ID = OKCHDRB.ID
		AND   OKS_STRM_LVL.DNZ_CHR_ID = OKCHDRB.ID
		AND  OKCLINB_LINE.LINE_NUMBER = OLSTG.LINE_NUMBER
		AND  OKS_STRM_LVL.CLE_ID = OKCLINB_LINE.ID
		AND  OLSTG.LINE_TYPE='SUBSCRIPTION'
                AND  OLSTG.billing_interval_period=BIP.uom_code(+)
                AND  BIP.uom_code =BIPTL.uom_code
                AND  BIP.tce_code = BIPTL.tce_code
                AND  BIPTL.language(+)=USERENV('LANG')) INNER_Q1         /*Added for bug:9019205*/

	      ,(SELECT ROWNUM AS SEQ FROM DUAL CONNECT BY LEVEL <= l_recur_bill_occurance ) INNER_Q2

WHERE INNER_Q2.SEQ <= INNER_Q1.LEVEL_PERIODS)SUBS_SCH_DT;
Line: 561

			 'Number of records successfully inserted = ' || l_int_count );
Line: 612

INSERT ALL
   WHEN (FREQUENCY IS NOT NULL ) then
	INTO OKS_STREAM_LEVELS_B
	(ID
	,CHR_ID
	,CLE_ID
	,DNZ_CHR_ID
	,SEQUENCE_NO
	,UOM_CODE
	,START_DATE
	,END_DATE
	,LEVEL_PERIODS
	,UOM_PER_PERIOD
	,LEVEL_AMOUNT
	,OBJECT_VERSION_NUMBER
	,REQUEST_ID
	,CREATED_BY
	,CREATION_DATE
	,LAST_UPDATED_BY
	,LAST_UPDATE_DATE
	,LAST_UPDATE_LOGIN)

  VALUES (ID
	,CHR_ID
	,CLE_ID
	,DNZ_CHR_ID
	,SEQUENCE_NO
	,UOM_CODE
	,START_DATE
	,END_DATE
	,LEVEL_PERIODS
	,UOM_PER_PERIOD
	,LEVEL_AMOUNT
	,OBJECT_VERSION_NUMBER
	,REQUEST_ID
	,CREATED_BY
	,CREATION_DATE
	,LAST_UPDATED_BY
	,LAST_UPDATE_DATE
	,LAST_UPDATE_LOGIN)

SELECT  okc_p_util.raw_to_number(sys_guid())	ID
	,INNER_Q2.SEQ  			SEQUENCE_NO
	,(CASE WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN 'DAY'
	       WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.BILLING_INTERVAL_PERIOD
	       WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS not NULL THEN INNER_Q1.BILLING_INTERVAL_PERIOD
	       WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS null THEN 'DAY'
	       WHEN INNER_Q2.SEQ = 3  THEN	'DAY'
	       else INNER_Q1.BILLING_INTERVAL_PERIOD
	  END)  UOM_CODE

	,(CASE WHEN INNER_Q2.SEQ = 1 THEN INNER_Q1.LIN_STR_DT
	       WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date is not null THEN INNER_Q1.FIRST_BILL_UPTO_DATE + 1
	       WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.LAST_BILL_FROM_DATE
	       WHEN INNER_Q2.SEQ = 3  THEN INNER_Q1.LAST_BILL_FROM_DATE
	  END) START_DATE

	,(CASE WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN INNER_Q1.FIRST_BILL_UPTO_DATE
	       WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.LAST_BILL_FROM_DATE - 1
	       WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.LIN_END_DT
	       WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN INNER_Q1.LAST_BILL_FROM_DATE - 1
	       WHEN INNER_Q2.SEQ = 3  THEN INNER_Q1.LIN_END_DT
	  END) END_DATE

	,(CASE WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN 1
	       WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.RECUR_BILL_OCCURANCES
	       WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS not NULL THEN INNER_Q1.RECUR_BILL_OCCURANCES
	       WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NULL THEN 1
	       WHEN INNER_Q2.SEQ = 3  THEN 1
	  END) LEVEL_PERIODS

	,(CASE  WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NOT NULL
			THEN INNER_Q1.FIRST_BILL_UPTO_DATE - INNER_Q1.CVL_START_DT + 1 -- difference in the days with the days inclusive
		WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.BILLING_INTERVAL_DURATION
	        WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN INNER_Q1.BILLING_INTERVAL_DURATION
		WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NULL THEN  INNER_Q1.CVL_END_DT -(INNER_Q1.LAST_BILL_FROM_DATE - 1)
		WHEN INNER_Q2.SEQ = 3  THEN INNER_Q1.CVL_END_DT -(INNER_Q1.LAST_BILL_FROM_DATE - 1 )
	 	ELSE INNER_Q1.BILLING_INTERVAL_DURATION
	   END) UOM_PER_PERIOD

	 ,(CASE WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NOT NULL  -- first stream
			THEN ROUND((INNER_Q1.SUBTOTAL/INNER_Q1.NO_OF_DAYS) * (INNER_Q1.FIRST_BILL_UPTO_DATE - INNER_Q1.LIN_STR_DT +1) *1,2)
		WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NULL -- normal stream
			THEN  ROUND((INNER_Q1.SUBTOTAL/CALC_BILL_PERIOD_1) * INNER_Q1.BILLING_INTERVAL_DURATION * INNER_Q1.RECUR_BILL_OCCURANCES,2)
		WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NOT NULL  --normal stream
			THEN ROUND((INNER_Q1.SUBTOTAL -
				ROUND((INNER_Q1.SUBTOTAL/INNER_Q1.NO_OF_DAYS) *
					(INNER_Q1.FIRST_BILL_UPTO_DATE - INNER_Q1.LIN_STR_DT +1) *1,2))/CALC_BILL_PERIOD_2
							*INNER_Q1.BILLING_INTERVAL_DURATION * INNER_Q1.RECUR_BILL_OCCURANCES,2)
		WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NULL -- last stream
			THEN INNER_Q1.SUBTOTAL -
					ROUND((INNER_Q1.SUBTOTAL/CALC_BILL_PERIOD_1) *
						INNER_Q1.BILLING_INTERVAL_DURATION * INNER_Q1.RECUR_BILL_OCCURANCES,2)
		WHEN INNER_Q2.SEQ = 3
			THEN
			INNER_Q1.SUBTOTAL
				- ROUND((INNER_Q1.SUBTOTAL/INNER_Q1.NO_OF_DAYS) * (INNER_Q1.FIRST_BILL_UPTO_DATE - INNER_Q1.LIN_STR_DT +1) *1,2)
				-  ROUND((INNER_Q1.SUBTOTAL -
				ROUND((INNER_Q1.SUBTOTAL/INNER_Q1.NO_OF_DAYS) *
					(INNER_Q1.FIRST_BILL_UPTO_DATE - INNER_Q1.LIN_STR_DT +1) *1,2))/CALC_BILL_PERIOD_2
							*INNER_Q1.BILLING_INTERVAL_DURATION * INNER_Q1.RECUR_BILL_OCCURANCES,2)

	   END) LEVEL_AMOUNT
	  ,INNER_Q1.RECUR_BILL_OCCURANCES    FREQUENCY
	  ,INNER_Q1.*
	  ,INNER_Q2.*
FROM
	(SELECT  OKCLINB_SUBLINE.ID			CLE_ID
		,null					CHR_ID -- can be null for sublines
		,OKCHDRB.ID				DNZ_CHR_ID
		,(CASE WHEN OLSTG.FIRST_BILL_UPTO_DATE IS NULL AND (OLSTG.LAST_BILL_FROM_DATE -1 ) = OLSTG.END_DATE THEN 1
	               WHEN OLSTG.FIRST_BILL_UPTO_DATE IS NOT NULL AND (OLSTG.LAST_BILL_FROM_DATE -1) = OLSTG.END_DATE  THEN 2
	               WHEN OLSTG.FIRST_BILL_UPTO_DATE IS NULL AND (OLSTG.LAST_BILL_FROM_DATE -1 ) < OLSTG.END_DATE THEN 2
	               WHEN OLSTG.FIRST_BILL_UPTO_DATE  IS NOT NULL AND (OLSTG.LAST_BILL_FROM_DATE -1 ) < OLSTG.END_DATE THEN 3
	          END) NUM_STREAMS
		,1					OBJECT_VERSION_NUMBER
		,null					REQUEST_ID
		,FND_GLOBAL.USER_ID			CREATED_BY
		,SYSDATE				CREATION_DATE
		,FND_GLOBAL.USER_ID			LAST_UPDATED_BY
		,SYSDATE				LAST_UPDATE_DATE
		,FND_GLOBAL.LOGIN_ID			LAST_UPDATE_LOGIN
		,OLSTG.LAST_BILL_FROM_DATE		LAST_BILL_FROM_DATE
		,OLSTG.BILLING_INTERVAL_PERIOD		BILLING_INTERVAL_PERIOD
		,OLSTG.BILLING_INTERVAL_DURATION	BILLING_INTERVAL_DURATION
		,OLSTG.RECUR_BILL_OCCURANCES		RECUR_BILL_OCCURANCES
		,INNER_1.STR_DT				CVL_START_DT
		,INNER_1.END_DT				CVL_END_DT
		,OLSTG.FIRST_BILL_UPTO_DATE		FIRST_BILL_UPTO_DATE
		,nvl(INNER_1.STOTAL,0) 			SUBTOTAL
		,OLSTG.LINE_TYPE			LINE_TYPE
		,OLSTG.START_DATE			LIN_STR_DT
		,OLSTG.END_DATE				LIN_END_DT
		,(INNER_1.END_DT  - INNER_1.STR_DT)+1	NO_OF_DAYS
		/*,(CASE	WHEN OLSTG.BILLING_INTERVAL_PERIOD ='DAY'  THEN  (OLSTG.END_DATE  - OLSTG.START_DATE)+1	 --no_of_day
			WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'WK'  THEN  ((OLSTG.END_DATE  - OLSTG.START_DATE)+1)/7 -- no of weeks
		        WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'MTH' THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,OLSTG.START_DATE) -- no of months
			WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'QRT' THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,OLSTG.START_DATE)/3 -- no of quarter
			WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'YR'  THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,OLSTG.START_DATE)/12 -- no of years
		  END) CALC_BILL_PERIOD_1
		,(CASE	WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'DAY' THEN (OLSTG.END_dATE -OLSTG.FIRST_BILL_UPTO_DATE +1) +1 --no of days
			WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'WK'  THEN ((OLSTG.END_DATE  - OLSTG.FIRST_BILL_UPTO_DATE + 1) +1 )/7  -- no of weeks
			WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'MTH' THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1))-- no of months
	                WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'QRT' THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1))/3  -- no of quarter
		        WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'YR'  THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1))/12 -- no of years
		  END) CALC_BILL_PERIOD_2*/
                ,bip.tce_code                           tce_code
                ,bip.quantity                           quantity
		,(CASE	WHEN bip.tce_code ='DAY'   and  bip.quantity =1   THEN  (OLSTG.END_DATE  - OLSTG.START_DATE)+1	 --no_of_day
			WHEN bip.tce_code ='DAY'    and bip.quantity =7    THEN  ((OLSTG.END_DATE  - OLSTG.START_DATE)+1)/7 -- no of weeks
		        WHEN bip.tce_code ='MONTH' and bip.quantity =1 THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,OLSTG.START_DATE) -- no of months
			WHEN bip.tce_code ='MONTH' and bip.quantity = 3  THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,OLSTG.START_DATE)/3 -- no of quarter
			WHEN bip.tce_code ='YEAR'  and bip.quantity =1  THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,OLSTG.START_DATE)/12 -- no of years
		  END) CALC_BILL_PERIOD_1
		,(CASE	WHEN bip.tce_code ='DAY'   and  bip.quantity =1 THEN (OLSTG.END_dATE -OLSTG.FIRST_BILL_UPTO_DATE +1) +1 --no of days
			WHEN bip.tce_code ='DAY'    and bip.quantity =7 THEN ((OLSTG.END_DATE  - OLSTG.FIRST_BILL_UPTO_DATE + 1) +1 )/7  -- no of weeks
			WHEN bip.tce_code ='MONTH' and bip.quantity =1  THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1))-- no of months
	                WHEN bip.tce_code ='MONTH' and bip.quantity = 3 THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1))/3  -- no of quarter
		        WHEN bip.tce_code ='YEAR'  and bip.quantity =1  THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1))/12 -- no of years
		  END) CALC_BILL_PERIOD_2                        /*Added for bug:9019205*/
	 FROM	OKS_INT_LINE_STG_TEMP		OLSTG

		,(SELECT USGSTG.LINE_INTERFACE_ID   LINE_INTERFACE_ID
			,USGSTG.LINE_NUMBER	    LINE_NUMBER
			,USGSTG.START_DATE	    STR_DT
			,USGSTG.END_DATE	    END_DT
			,USGSTG.SUBTOTAL	    STOTAL
		  FROM	 OKS_INT_USAGE_COUNTER_STG_TEMP USGSTG )INNER_1

		,OKC_K_LINES_B			OKCLINB_LINE
		,OKC_K_LINES_B			OKCLINB_SUBLINE
		,OKC_K_HEADERS_ALL_B		OKCHDRB
		,OKS_INT_HEADER_STG_TEMP	HDRSTG
                ,OKC_TIME_CODE_UNITS_B		BIP
                ,OKC_TIME_CODE_UNITS_TL		BIPTL         /*Added for bug:9019205*/
	 WHERE INNER_1.LINE_INTERFACE_ID = OLSTG.LINE_INTERFACE_ID
	 AND   OLSTG.HEADER_INTERFACE_ID = HDRSTG.HEADER_INTERFACE_ID
	 AND   HDRSTG.CONTRACT_NUMBER = OKCHDRB.CONTRACT_NUMBER
         AND   NVL(HDRSTG.CONTRACT_NUMBER_MODIFIER , 'Xwqwewe@!&*aQ1') = NVL(OKCHDRB.CONTRACT_NUMBER_MODIFIER , 'Xwqwewe@!&*aQ1')
         AND   HDRSTG.INTERFACE_STATUS ='S'
         AND   OKCLINB_LINE.DNZ_CHR_ID = OKCHDRB.ID
         AND   OKCLINB_LINE.CHR_ID = OKCHDRB.ID
         AND   OLSTG.LINE_NUMBER = OKCLINB_LINE.LINE_NUMBER
         AND   OKCLINB_SUBLINE.DNZ_CHR_ID = OKCHDRB.ID
         AND   OKCLINB_SUBLINE.CLE_ID = OKCLINB_LINE.ID
         AND   OKCLINB_SUBLINE.LINE_NUMBER = INNER_1.LINE_NUMBER
         AND   OLSTG.LINE_TYPE = 'USAGE'
         AND   OLSTG.billing_interval_period=BIP.uom_code(+)
         AND   BIP.uom_code =BIPTL.uom_code
         AND   BIP.tce_code =BIPTL.tce_code
         AND   BIPTL.language(+)=USERENV('LANG')) INNER_Q1                /*Modified for bug:9019205*/

	,(SELECT ROWNUM AS SEQ FROM DUAL CONNECT BY LEVEL <= 3) INNER_Q2

WHERE INNER_Q2.SEQ <= INNER_Q1.NUM_STREAMS;
Line: 812

		 'Number of records successfully inserted = ' || l_int_count );
Line: 818

	SELECT MAX(RECUR_BILL_OCCURANCES) INTO l_recur_bill_occurance FROM OKS_INT_LINE_STG_TEMP ;
Line: 832

INSERT ALL
   WHEN (FREQUENCY IS NOT NULL ) then
	 INTO OKS_LEVEL_ELEMENTS
		(ID
		,SEQUENCE_NUMBER
		,DATE_START
		,AMOUNT
		,DATE_TRANSACTION
		,DATE_TO_INTERFACE
		,DATE_COMPLETED
		,OBJECT_VERSION_NUMBER
		,RUL_ID
		,CREATED_BY
		,CREATION_DATE
		,LAST_UPDATED_BY
		,LAST_UPDATE_DATE
		,CLE_ID
		,DNZ_CHR_ID
		,PARENT_CLE_ID
		,DATE_END)
	VALUES (ID
		,SEQUENCE_NUMBER
		,DATE_START
		,AMOUNT
		,DATE_TRANSACTION
		,DATE_TO_INTERFACE
		,DATE_COMPLETED
		,OBJECT_VERSION_NUMBER
		,RUL_ID
		,CREATED_BY
		,CREATION_DATE
		,LAST_UPDATED_BY
		,LAST_UPDATE_DATE
		,CLE_ID
		,DNZ_CHR_ID
		,PARENT_CLE_ID
		,DATE_END)
SELECT	COV_SCH_DT.*
	,(CASE WHEN COV_SCH_DT.INVOICING_RULE_ID = -2
			THEN
				(CASE WHEN COV_SCH_DT.DATE_START >= SYSDATE THEN COV_SCH_DT.DATE_START
				      ELSE SYSDATE
				 END)
	       WHEN COV_SCH_DT.INVOICING_RULE_ID = -3
			THEN
				(CASE WHEN COV_SCH_DT.DATE_END > = SYSDATE THEN COV_SCH_DT.DATE_END
				      ELSE SYSDATE
				END)
	  END) DATE_TRANSACTION

	,(CASE WHEN COV_SCH_DT.INVOICING_RULE_ID = -2 THEN COV_SCH_DT.DATE_START
	       WHEN COV_SCH_DT.INVOICING_RULE_ID = -3 THEN COV_SCH_DT.DATE_END +1
	  END)  DATE_TO_INTERFACE

FROM
	(SELECT	okc_p_util.raw_to_number(sys_guid())					ID
		,INNER_Q2.SEQ								SEQUENCE_NUMBER
		,(CASE  WHEN INNER_Q2.SEQ = 1  AND INNER_Q1.STRM_END_DATE = INNER_Q1.FIRST_BILL_UPTO_DATE  -- first bill stream
				AND INNER_Q1.FIRST_BILL_UPTO_DATE IS NOT NULL
						THEN INNER_Q1.CVL_START_DT

			WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.STRM_START_DATE = inner_q1.last_bill_from_date  -- last bill stream
					THEN INNER_Q1.last_bill_from_date
				-- IN OTHER CASES
			ELSE  /* DECODE (INNER_Q1.BILLING_INTERVAL_PERIOD
						,'DAY'	,	MID_SM_STR_DT + (INNER_Q2.SEQ -1 )
						,'WK'	,	MID_SM_STR_DT + (7 * (INNER_Q2.SEQ -1 ))
						,'MTH'	,	ADD_MONTHS(MID_SM_STR_DT , (INNER_Q2.SEQ -1 ))
						,'QRT'	,	ADD_MONTHS(MID_SM_STR_DT , 3 * (INNER_Q2.SEQ -1 ))
						,'YR'	,	ADD_MONTHS(MID_SM_STR_DT , 12 * (INNER_Q2.SEQ -1 )) )
		  END )*/
		  /* Commented for Bug#14296136 */
                  /*(CASE WHEN INNER_Q1.tce_code ='DAY' and INNER_Q1.quantity =1   THEN  MID_SM_STR_DT + INNER_Q2.SEQ -1
                       WHEN INNER_Q1.tce_code ='DAY' and INNER_Q1.quantity = 7  THEN  MID_SM_STR_DT  + (7 * (INNER_Q2.SEQ-1))
                       WHEN INNER_Q1.tce_code ='MONTH'  and INNER_Q1.quantity =1   THEN ADD_MONTHS(MID_SM_STR_DT , (INNER_Q2.SEQ -1))
                       WHEN INNER_Q1.tce_code ='MONTH'   and INNER_Q1.quantity =3   THEN ADD_MONTHS(MID_SM_STR_DT  , 3 * (INNER_Q2.SEQ-1 ))
                       WHEN INNER_Q1.tce_code ='YEAR'   and INNER_Q1.quantity =1   THEN ADD_MONTHS(MID_SM_STR_DT  , 12 * (INNER_Q2.SEQ -1))
                   END ) */
                /* Added for Bug#14296136*/
                (
                CASE
                  when INNER_Q1.TCE_CODE ='DAY' and INNER_Q1.QUANTITY  =1
                    THEN MID_SM_STR_DT + INNER_Q1.BILLING_INTERVAL_DURATION * (INNER_Q2.SEQ -1)
                  WHEN INNER_Q1.tce_code ='DAY' AND INNER_Q1.quantity  = 7
                    THEN MID_SM_STR_DT + INNER_Q1.BILLING_INTERVAL_DURATION * (7 * (INNER_Q2.SEQ-1))
                  WHEN INNER_Q1.tce_code ='MONTH' AND INNER_Q1.quantity  =1
                    THEN ADD_MONTHS(MID_SM_STR_DT , INNER_Q1.BILLING_INTERVAL_DURATION * (INNER_Q2.SEQ -1))
                  WHEN INNER_Q1.tce_code ='MONTH' AND INNER_Q1.quantity  =3
                    THEN ADD_MONTHS(MID_SM_STR_DT , INNER_Q1.BILLING_INTERVAL_DURATION * (3 * (INNER_Q2.SEQ-1 )))
                  WHEN INNER_Q1.tce_code ='YEAR' AND INNER_Q1.quantity  =1
                    then ADD_MONTHS(MID_SM_STR_DT , INNER_Q1.BILLING_INTERVAL_DURATION * (12 * (INNER_Q2.SEQ -1)))
                END )
                /* End of code added for Bug#14296136*/
                END )DATE_START

		,(CASE WHEN INNER_Q1.SEQUENCE_NO = 1 AND INNER_Q1.FIRST_BILL_UPTO_DATE IS NOT NULL
					THEN INNER_Q1.LEVEL_AMOUNT
               	       WHEN INNER_Q1.SEQUENCE_NO = 1 AND INNER_Q1.FIRST_BILL_UPTO_DATE IS NULL  -- normal stream
					THEN (CASE WHEN  INNER_Q1.LEVEL_AMOUNT - ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2) *(INNER_Q2.SEQ-1) >0
								THEN (CASE WHEN INNER_Q2.SEQ =INNER_Q1.LEVEL_PERIODS  --if it is the last schedule for the stream, value difference due to rounding is to be adjusted
											AND ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2) = 0
													THEN INNER_Q1.LEVEL_AMOUNT
									   WHEN INNER_Q2.SEQ =INNER_Q1.LEVEL_PERIODS AND ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2) >0
													THEN INNER_Q1.LEVEL_AMOUNT -
														ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2)*(INNER_Q2.SEQ-1)
									   ELSE ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2)
							              END)
						   ELSE 0
					      END)
		       WHEN INNER_Q1.SEQUENCE_NO = 2 AND INNER_Q1.FIRST_BILL_UPTO_DATE IS NOT NULL -- then it is normal stream
					THEN  (CASE WHEN INNER_Q1.LEVEL_AMOUNT - ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2)*(INNER_Q2.SEQ-1) >0
								THEN (CASE WHEN INNER_Q2.SEQ =INNER_Q1.LEVEL_PERIODS
											AND ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2) = 0
													THEN INNER_Q1.LEVEL_AMOUNT
									   WHEN INNER_Q2.SEQ = INNER_Q1.LEVEL_PERIODS AND ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2) >0
													THEN INNER_Q1.LEVEL_AMOUNT -
														ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2)*(INNER_Q2.SEQ-1)
									   ELSE ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2)
								      END)
				                    ELSE 0
				               END)
			WHEN INNER_Q1.SEQUENCE_NO = 2 AND INNER_Q1.FIRST_BILL_UPTO_DATE IS NULL -- last bill stream
					THEN INNER_Q1.LEVEL_AMOUNT
			WHEN INNER_Q1.SEQUENCE_NO = 3 THEN  INNER_Q1.LEVEL_AMOUNT
		  END) AMOUNT
		,(CASE WHEN INNER_Q1.FULLY_BILLED = 'Y' THEN SYSDATE
		       ELSE NULL
		  END)								DATE_COMPLETED
		,INNER_Q1.OBJECT_VERSION_NUMBER						OBJECT_VERSION_NUMBER
		,INNER_Q1.OKS_STRM_LVL_ID						RUL_ID
		,FND_GLOBAL.USER_ID							CREATED_BY
		,SYSDATE								CREATION_DATE
		,FND_GLOBAL.USER_ID							LAST_UPDATED_BY
		,SYSDATE								LAST_UPDATE_DATE
		,INNER_Q1.CLE_ID							CLE_ID
		,INNER_Q1.DNZ_CHR_ID							DNZ_CHR_ID
		,INNER_Q1.PARENT_CLE_ID							PARENT_CLE_ID
		,(CASE WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.STRM_END_DATE = INNER_Q1.FIRST_BILL_UPTO_DATE  -- first bill stream
				AND INNER_Q1.FIRST_BILL_UPTO_DATE IS NOT NULL
					THEN INNER_Q1.FIRST_BILL_UPTO_DATE
		       WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.STRM_START_DATE = inner_q1.last_bill_from_date  -- last bill stream
					THEN INNER_Q1.CVL_END_DT
				-- IN OTHER CASES
			ELSE/* DECODE( INNER_Q1.BILLING_INTERVAL_PERIOD
					, 'DAY'	, MID_SM_STR_DT + INNER_Q2.SEQ -1
					, 'WK'  , MID_SM_STR_DT  + (7 * (INNER_Q2.SEQ)) -1
					, 'MTH' , ADD_MONTHS(MID_SM_STR_DT , (INNER_Q2.SEQ )) -1
					, 'QRT' , ADD_MONTHS(MID_SM_STR_DT  , 3 * (INNER_Q2.SEQ )) -1
					, 'YR'  , ADD_MONTHS(MID_SM_STR_DT  , 12 * (INNER_Q2.SEQ )) -1 )

		  END ) */
		  /* Commented for Bug#14296136 */
                  /*( CASE WHEN INNER_Q1.tce_code ='DAY' and INNER_Q1.quantity =1   THEN MID_SM_STR_DT + INNER_Q2.SEQ -1
                       WHEN INNER_Q1.tce_code ='DAY' and INNER_Q1.quantity = 7  THEN MID_SM_STR_DT  + (7 * (INNER_Q2.SEQ)) -1
                       WHEN INNER_Q1.tce_code ='MONTH'  and INNER_Q1.quantity =1   THEN ADD_MONTHS(MID_SM_STR_DT , (INNER_Q2.SEQ )) -1
                       WHEN INNER_Q1.tce_code ='MONTH'   and INNER_Q1.quantity =3   THEN ADD_MONTHS(MID_SM_STR_DT  , 3 * (INNER_Q2.SEQ )) -1
                       WHEN INNER_Q1.tce_code ='YEAR'   and INNER_Q1.quantity =1   THEN ADD_MONTHS(MID_SM_STR_DT  , 12 * (INNER_Q2.SEQ )) -1
                   END )*/
                    /* Added for Bug#14296136 */
                    (
                    CASE
                      WHEN INNER_Q1.tce_code ='DAY' AND INNER_Q1.quantity  =1
                        THEN MID_SM_STR_DT + INNER_Q1.BILLING_INTERVAL_DURATION * (INNER_Q2.SEQ -1)
                      WHEN INNER_Q1.tce_code ='DAY' AND INNER_Q1.quantity  = 7
                        THEN MID_SM_STR_DT + INNER_Q1.BILLING_INTERVAL_DURATION * ((7 * (INNER_Q2.SEQ)) -1)
                      WHEN INNER_Q1.tce_code ='MONTH' AND INNER_Q1.quantity  =1
                        THEN ADD_MONTHS(MID_SM_STR_DT , INNER_Q1.BILLING_INTERVAL_DURATION * (INNER_Q2.SEQ -1))
                      WHEN INNER_Q1.tce_code ='MONTH' AND INNER_Q1.quantity  =3
                        THEN ADD_MONTHS(MID_SM_STR_DT , INNER_Q1.BILLING_INTERVAL_DURATION * (3 * (INNER_Q2.SEQ )) -1)
                      WHEN INNER_Q1.tce_code ='YEAR' AND INNER_Q1.quantity  =1
                        THEN ADD_MONTHS(MID_SM_STR_DT , INNER_Q1.BILLING_INTERVAL_DURATION * (12 * (INNER_Q2.SEQ )) -1)
                    END )
                    /* End of code added for Bug#14296136 */
                    END )DATE_END
		,INNER_Q1.RECUR_BILL_OCCURANCES		FREQUENCY
		,INNER_Q1.INVOICING_RULE_ID		INVOICING_RULE_ID
	 FROM
		(SELECT  OKCLINB_SUBLINE.ID			CLE_ID
			,OKS_STRM_LVL.ID			OKS_STRM_LVL_ID
			,null					CHR_ID	-- can be null for sublines
			,OKCHDRB.ID				DNZ_CHR_ID
			,OKCLINB_LINE.ID			PARENT_CLE_ID
			,OKCLINB_LINE.INV_RULE_ID		INVOICING_RULE_ID
			,1					OBJECT_VERSION_NUMBER
			,NVL(INNER_1.STOTAL,0)			SUBTOTAL
			,OLSTG.LAST_BILL_FROM_DATE		LAST_BILL_FROM_DATE
			,OLSTG.BILLING_INTERVAL_PERIOD		BILLING_INTERVAL_PERIOD
			,OLSTG.BILLING_INTERVAL_DURATION	BILLING_INTERVAL_DURATION
			,OLSTG.RECUR_BILL_OCCURANCES		RECUR_BILL_OCCURANCES
			,INNER_1.STR_DT				CVL_START_DT
			,INNER_1.END_DT				CVL_END_DT
			,OLSTG.FIRST_BILL_UPTO_DATE	        FIRST_BILL_UPTO_DATE
			,OKS_STRM_LVL.LEVEL_PERIODS		LEVEL_PERIODS
			,OKS_STRM_LVL.LEVEL_AMOUNT		LEVEL_AMOUNT
			,HDRSTG.FULLY_BILLED			FULLY_BILLED
			,OKS_STRM_LVL.START_DATE		STRM_START_DATE
			,OKS_STRM_LVL.END_DATE			STRM_END_DATE
			,OLSTG.LINE_TYPE			LINE_TYPE
			,OKS_STRM_LVL.SEQUENCE_NO		SEQUENCE_NO
			,(CASE WHEN OLSTG.FIRST_BILL_UPTO_DATE IS NOT NULL THEN OLSTG.FIRST_BILL_UPTO_DATE +1
				ELSE  INNER_1.STR_DT
			  END) MID_SM_STR_DT
			,OLSTG.LAST_BILL_FROM_DATE -1   MID_SM_END_DT
                        ,bip.tce_code                           tce_code
                        ,bip.quantity                           quantity

		 FROM	 OKS_INT_LINE_STG_TEMP		OLSTG
			,(SELECT  USGSTG.LINE_INTERFACE_ID	LINE_INTERFACE_ID
				 ,USGSTG.LINE_NUMBER		LINE_NUMBER
		                 ,USGSTG.START_DATE		STR_DT
		                 ,USGSTG.END_DATE		END_DT
		                 ,USGSTG.SUBTOTAL		STOTAL
	                  FROM  OKS_INT_USAGE_COUNTER_STG_TEMP USGSTG ) INNER_1
			,OKC_K_LINES_B			OKCLINB_LINE
			,OKC_K_LINES_B			OKCLINB_SUBLINE
			,OKC_K_HEADERS_ALL_B		OKCHDRB
			,OKS_INT_HEADER_STG_TEMP	HDRSTG
			,OKS_STREAM_LEVELS_B		OKS_STRM_LVL
                        ,OKC_TIME_CODE_UNITS_B        BIP
                        ,OKC_TIME_CODE_UNITS_TL        BIPTL             /*Added for bug:9019205*/
		 WHERE INNER_1.LINE_INTERFACE_ID  = OLSTG.LINE_INTERFACE_ID
		 AND OLSTG.HEADER_INTERFACE_ID = HDRSTG.HEADER_INTERFACE_ID
		 AND HDRSTG.CONTRACT_NUMBER = OKCHDRB.CONTRACT_NUMBER
		 AND NVL(HDRSTG.CONTRACT_NUMBER_MODIFIER , 'Xwqwewe@!&*aQ1') = NVL(OKCHDRB.CONTRACT_NUMBER_MODIFIER , 'Xwqwewe@!&*aQ1')
		 AND HDRSTG.INTERFACE_STATUS ='S'
                 AND OKCLINB_LINE.DNZ_CHR_ID = OKCHDRB.ID
                 AND OKCLINB_LINE.CHR_ID = OKCHDRB.ID
                 AND OLSTG.LINE_NUMBER = OKCLINB_LINE.LINE_NUMBER
                 AND OKCLINB_SUBLINE.DNZ_CHR_ID = OKCHDRB.ID
                 AND OKCLINB_SUBLINE.CLE_ID = OKCLINB_LINE.ID
                 AND OKCLINB_SUBLINE.LINE_NUMBER = INNER_1.LINE_NUMBER
                 AND OKS_STRM_LVL.DNZ_CHR_ID = OKCHDRB.ID
		 AND OKS_STRM_LVL.CLE_ID = OKCLINB_SUBLINE.ID
		 AND OKS_STRM_LVL.CHR_ID IS NULL
		 AND OLSTG.LINE_TYPE = 'USAGE'
                 AND OLSTG.billing_interval_period=BIP.uom_code(+)
                 AND BIP.uom_code =BIPTL.uom_code
                 AND BIP.tce_code =BIPTL.tce_code
                 AND  BIPTL.language(+)=USERENV('LANG')) INNER_Q1 	 /*Added for bug:9019205*/

		,(SELECT ROWNUM AS SEQ FROM DUAL CONNECT BY LEVEL <= l_recur_bill_occurance ) INNER_Q2

WHERE INNER_Q2.SEQ <= INNER_Q1.LEVEL_PERIODS) COV_SCH_DT;
Line: 1081

INSERT ALL
    WHEN (FREQUENCY IS NOT NULL) THEN
	INTO OKS_STREAM_LEVELS_B
	(ID
	,CHR_ID
	,CLE_ID
	,DNZ_CHR_ID
	,SEQUENCE_NO
	,UOM_CODE
	,START_DATE
	,END_DATE
	,LEVEL_PERIODS
	,UOM_PER_PERIOD
	,LEVEL_AMOUNT
	,OBJECT_VERSION_NUMBER
	,REQUEST_ID
	,CREATED_BY
	,CREATION_DATE
	,LAST_UPDATED_BY
	,LAST_UPDATE_DATE
	,LAST_UPDATE_LOGIN)

  VALUES (ID
	,CHR_ID
	,CLE_ID
	,DNZ_CHR_ID
	,SEQUENCE_NO
	,UOM_CODE
	,START_DATE
	,END_DATE
	,LEVEL_PERIODS
	,UOM_PER_PERIOD
	,LEVEL_AMOUNT
	,OBJECT_VERSION_NUMBER
	,REQUEST_ID
	,CREATED_BY
	,CREATION_DATE
	,LAST_UPDATED_BY
	,LAST_UPDATE_DATE
	,LAST_UPDATE_LOGIN)
SELECT  okc_p_util.raw_to_number(sys_guid())  ID
       ,INNER_Q2.SEQ                          SEQUENCE_NO
       ,(CASE WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN 'DAY'
	      WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.BILLING_INTERVAL_PERIOD
	      WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN INNER_Q1.BILLING_INTERVAL_PERIOD
	      WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NULL THEN 'DAY'
	      WHEN INNER_Q2.SEQ = 3  THEN 'DAY'
	      ELSE INNER_Q1.BILLING_INTERVAL_PERIOD
	 END)  UOM_CODE
       ,(CASE WHEN INNER_Q2.SEQ = 1 THEN INNER_Q1.LIN_STR_DT
	      WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN INNER_Q1.FIRST_BILL_UPTO_DATE + 1
	      WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.LAST_BILL_FROM_DATE
	      WHEN INNER_Q2.SEQ = 3  THEN INNER_Q1.LAST_BILL_FROM_DATE
	 END) START_DATE
       ,(CASE WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN INNER_Q1.FIRST_BILL_UPTO_DATE
	      WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.LAST_BILL_FROM_DATE - 1
	      WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.LIN_END_DT
	      WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN INNER_Q1.LAST_BILL_FROM_DATE - 1
	      WHEN INNER_Q2.SEQ = 3  THEN INNER_Q1.LIN_END_DT
	 END) END_DATE
       ,(CASE WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN 1
	      WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.RECUR_BILL_OCCURANCES
	      WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS not NULL THEN INNER_Q1.RECUR_BILL_OCCURANCES
	      WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NULL THEN 1
	      WHEN INNER_Q2.SEQ = 3  THEN 1
	 END) LEVEL_PERIODS
       ,(CASE WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NOT NULL
				THEN INNER_Q1.FIRST_BILL_UPTO_DATE - INNER_Q1.LIN_STR_DT +1 -- including the days between the difference
	      WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.BILLING_INTERVAL_DURATION
	      WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN INNER_Q1.BILLING_INTERVAL_DURATION
	      WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NULL THEN  INNER_Q1.LIN_END_DT -(INNER_Q1.LAST_BILL_FROM_DATE - 1 )
	      WHEN INNER_Q2.SEQ = 3  THEN INNER_Q1.LIN_END_DT -(INNER_Q1.LAST_BILL_FROM_DATE - 1 )
	      ELSE INNER_Q1.BILLING_INTERVAL_DURATION
	  END) UOM_PER_PERIOD
       ,(CASE WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NOT NULL  -- first stream
			THEN ROUND((INNER_Q1.SUBTOTAL/INNER_Q1.NO_OF_DAYS) * (INNER_Q1.FIRST_BILL_UPTO_DATE - INNER_Q1.LIN_STR_DT +1) *1,2)
	      WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NULL -- normal stream
			THEN  ROUND((INNER_Q1.SUBTOTAL/CALC_BILL_PERIOD_1) * INNER_Q1.BILLING_INTERVAL_DURATION * INNER_Q1.RECUR_BILL_OCCURANCES,2)
	      WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NOT NULL  --normal stream
			THEN ROUND((INNER_Q1.SUBTOTAL -
					ROUND((INNER_Q1.SUBTOTAL/INNER_Q1.NO_OF_DAYS) *
							(INNER_Q1.FIRST_BILL_UPTO_DATE - INNER_Q1.LIN_STR_DT +1) *1,2))/CALC_BILL_PERIOD_2
								*INNER_Q1.BILLING_INTERVAL_DURATION * INNER_Q1.RECUR_BILL_OCCURANCES,2)
	      WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NULL -- last stream
			THEN INNER_Q1.SUBTOTAL -
				ROUND((INNER_Q1.SUBTOTAL/CALC_BILL_PERIOD_1) *
					INNER_Q1.BILLING_INTERVAL_DURATION * INNER_Q1.RECUR_BILL_OCCURANCES,2)
	      WHEN INNER_Q2.SEQ = 3
			THEN INNER_Q1.SUBTOTAL -
				ROUND((INNER_Q1.SUBTOTAL/INNER_Q1.NO_OF_DAYS) * (INNER_Q1.FIRST_BILL_UPTO_DATE - INNER_Q1.LIN_STR_DT +1) *1,2)
				 -  ROUND((INNER_Q1.SUBTOTAL -
					ROUND((INNER_Q1.SUBTOTAL/INNER_Q1.NO_OF_DAYS) *
							(INNER_Q1.FIRST_BILL_UPTO_DATE - INNER_Q1.LIN_STR_DT +1) *1,2))/CALC_BILL_PERIOD_2
								*INNER_Q1.BILLING_INTERVAL_DURATION * INNER_Q1.RECUR_BILL_OCCURANCES,2)

	 END) LEVEL_AMOUNT
       ,INNER_Q1.RECUR_BILL_OCCURANCES FREQUENCY
       ,INNER_Q1.*
       ,INNER_Q2.*
FROM
	(SELECT  OKCLINB_LINE.ID              LINE_ID
		,null		              CHR_ID
	        ,OKCLINB_LINE.ID              CLE_ID
		,OKCHDRB.ID                   DNZ_CHR_ID
	        ,OLSTG.FIRST_BILL_UPTO_DATE   FIRST_BILL_UPTO_DATE
		,OLSTG.FIRST_BILLED_AMOUNT    SUM_FBILL
	        ,OLSTG.LAST_BILLED_AMOUNT     SUM_LBILL
		,(CASE  WHEN OLSTG.FIRST_BILL_UPTO_DATE IS NULL AND (OLSTG.LAST_BILL_FROM_DATE -1 ) = OLSTG.END_DATE   THEN 1
	                WHEN OLSTG.FIRST_BILL_UPTO_DATE IS NOT NULL AND (OLSTG.LAST_BILL_FROM_DATE -1) = OLSTG.END_DATE  THEN 2
	                WHEN OLSTG.FIRST_BILL_UPTO_DATE IS NULL AND (OLSTG.LAST_BILL_FROM_DATE -1 ) < OLSTG.END_DATE THEN 2
	                WHEN  OLSTG.FIRST_BILL_UPTO_DATE IS NOT NULL AND (OLSTG.LAST_BILL_FROM_DATE -1 ) < OLSTG.END_DATE THEN 3
	          END) NUM_STREAMS
	        ,OLSTG.BILLING_INTERVAL_PERIOD					BILLING_INTERVAL_PERIOD
		/*,(CASE	WHEN OLSTG.BILLING_INTERVAL_PERIOD ='DAY'  THEN  (OLSTG.END_DATE  - OLSTG.START_DATE)+1	 --no_of_day
		        WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'WK'  THEN  ((OLSTG.END_DATE  - OLSTG.START_DATE)+1)/7 -- no of weeks
	                WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'MTH' THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1 ,OLSTG.START_DATE) -- no of months
	                WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'QRT' THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,OLSTG.START_DATE)/3 -- no of quarter
	                WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'YR'  THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,OLSTG.START_DATE)/12 -- no of years
	          END) CALC_BILL_PERIOD_1
		,(CASE  WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'DAY' THEN (OLSTG.END_dATE -OLSTG.FIRST_BILL_UPTO_DATE +1) +1 --no of days
                        WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'WK'  THEN ((OLSTG.END_DATE - OLSTG.FIRST_BILL_UPTO_DATE + 1) +1 )/7  -- no of weeks
                        WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'MTH' THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1))-- no of months
                        WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'QRT' THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1))/3  -- no of quarter
                        WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'YR'  THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1))/12 -- no of years
	          END)*/
                  ,(CASE WHEN BIP.tce_code ='DAY'   and BIP.quantity =1  THEN  (OLSTG.END_DATE  - OLSTG.START_DATE)+1	 --no_of_day
			WHEN BIP.tce_code ='DAY'   and BIP.quantity =7  THEN  ((OLSTG.END_DATE  - OLSTG.START_DATE)+1)/7 -- no of weeks
		        WHEN BIP.tce_code ='MONTH' and BIP.quantity =1    THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,OLSTG.START_DATE) -- no of months
			WHEN BIP.tce_code ='MONTH' and BIP.quantity = 3 THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,OLSTG.START_DATE)/3 -- no of quarter
			WHEN BIP.tce_code ='YEAR'  and BIP.quantity =1   THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,OLSTG.START_DATE)/12 -- no of years
		  END) CALC_BILL_PERIOD_1
                  ,(CASE WHEN BIP.tce_code ='MONTH' and BIP.quantity =1  THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1)) -- no of months
                         WHEN BIP.tce_code ='MONTH' and BIP.quantity = 3 THEN MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1))/3  -- no of quarter
                         WHEN BIP.tce_code ='YEAR'  and BIP.quantity =1 THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1))/12 -- no of years
                         WHEN BIP.tce_code ='DAY'   and BIP.quantity =7 THEN  ((OLSTG.END_DATE  - OLSTG.FIRST_BILL_UPTO_DATE + 1) +1 )/7  -- no of weeks
                         WHEN BIP.tce_code ='DAY'   and BIP.quantity =1 THEN  (OLSTG.END_dATE -OLSTG.FIRST_BILL_UPTO_DATE +1) +1 --no of days
                   END)CALC_BILL_PERIOD_2                                  /*Added for bug:9019205*/
		,OLSTG.LINE_TYPE				LINE_TYPE
		,OLSTG.RECUR_BILL_OCCURANCES			RECUR_BILL_OCCURANCES
		,OLSTG.BILLING_INTERVAL_DURATION		BILLING_INTERVAL_DURATION
	        ,NVL(OKCLINB_LINE.PRICE_NEGOTIATED,0)		SUBTOTAL
	        ,OLSTG.START_DATE				LIN_STR_DT
		,OLSTG.END_DATE					LIN_END_DT
		,(OLSTG.END_DATE  - OLSTG.START_DATE)+1		NO_OF_DAYS
	        ,OLSTG.LAST_BILL_FROM_DATE			LAST_BILL_FROM_DATE
		,1						OBJECT_VERSION_NUMBER
	        ,NULL						REQUEST_ID -- need to confirm
		,FND_GLOBAL.USER_ID				CREATED_BY
		,SYSDATE					CREATION_DATE
		,FND_GLOBAL.USER_ID				LAST_UPDATED_BY
		,SYSDATE					LAST_UPDATE_DATE
		,FND_GLOBAL.LOGIN_ID				LAST_UPDATE_LOGIN
                ,bip.tce_code                                   tce_code
                ,bip.quantity                                    quantity        /*Added for bug:9019205*/
	 FROM  OKS_INT_LINE_STG_TEMP      OLSTG
	      ,OKS_INT_HEADER_STG_TEMP    HDRSTG
	      ,OKC_K_HEADERS_ALL_B        OKCHDRB
              ,OKC_K_LINES_B              OKCLINB_LINE
              ,OKC_TIME_CODE_UNITS_B    BIP
              ,OKC_TIME_CODE_UNITS_TL    BIPTL                                /*Added for bug:9019205*/
	WHERE OLSTG.HEADER_INTERFACE_ID = HDRSTG.HEADER_INTERFACE_ID
	AND   HDRSTG.CONTRACT_NUMBER = OKCHDRB.CONTRACT_NUMBER
	AND   NVL(HDRSTG.CONTRACT_NUMBER_MODIFIER , 'Xwqwewe@!&*aQ1') = NVL(OKCHDRB.CONTRACT_NUMBER_MODIFIER , 'Xwqwewe@!&*aQ1')
	AND   HDRSTG.INTERFACE_STATUS ='S'
	AND   OKCLINB_LINE.DNZ_CHR_ID   = OKCHDRB.ID
	AND   OKCLINB_LINE.CHR_ID = OKCHDRB.ID
	AND   OKCLINB_LINE.LINE_NUMBER = OLSTG.LINE_NUMBER
	AND   OLSTG.LINE_TYPE ='USAGE'
        AND OLSTG.billing_interval_period=BIP.uom_code(+)
        AND  BIP.uom_code =BIPTL.uom_code
        AND   BIP.tce_code =BIPTL.tce_code
        AND  BIPTL.language(+)=USERENV('LANG')) INNER_Q1                /*Added for bug:9019205*/
	,(SELECT ROWNUM AS SEQ FROM DUAL CONNECT BY LEVEL <= 3) INNER_Q2
WHERE INNER_Q2.SEQ <= INNER_Q1.NUM_STREAMS;
Line: 1261

			 'Number of records successfully inserted = ' || l_int_count );
Line: 1267

INSERT ALL
   WHEN (FREQUENCY IS NOT NULL ) then
	 INTO OKS_LEVEL_ELEMENTS
		(ID
		,SEQUENCE_NUMBER
		,DATE_START
		,AMOUNT
		,DATE_TRANSACTION
		,DATE_TO_INTERFACE
		,DATE_COMPLETED
		,OBJECT_VERSION_NUMBER
		,RUL_ID
		,CREATED_BY
		,CREATION_DATE
		,LAST_UPDATED_BY
		,LAST_UPDATE_DATE
		,CLE_ID
		,DNZ_CHR_ID
		,PARENT_CLE_ID
		,DATE_END)
	VALUES (ID
		,SEQUENCE_NUMBER
		,DATE_START
		,AMOUNT
		,DATE_TRANSACTION
		,DATE_TO_INTERFACE
		,DATE_COMPLETED
		,OBJECT_VERSION_NUMBER
		,RUL_ID
		,CREATED_BY
		,CREATION_DATE
		,LAST_UPDATED_BY
		,LAST_UPDATE_DATE
		,CLE_ID
		,DNZ_CHR_ID
		,PARENT_CLE_ID
		,DATE_END)

SELECT	 USG_SCH_DT.*
	,(CASE WHEN USG_SCH_DT.INVOICING_RULE_ID = -2
			THEN (CASE WHEN USG_SCH_DT.DATE_START >= SYSDATE THEN USG_SCH_DT.DATE_START
				   ELSE SYSDATE
			      END)
	       WHEN USG_SCH_DT.INVOICING_RULE_ID = -3
			THEN (CASE WHEN USG_SCH_DT.DATE_END >= SYSDATE THEN 	USG_SCH_DT.DATE_END
				   ELSE SYSDATE
			      END)
	  END)  DATE_TRANSACTION
	 ,(CASE WHEN USG_SCH_DT.INVOICING_RULE_ID = -2 THEN USG_SCH_DT.DATE_START
		WHEN USG_SCH_DT.INVOICING_RULE_ID = -3 THEN USG_SCH_DT.DATE_END +1
           END)  DATE_TO_INTERFACE
FROM
	(SELECT	 okc_p_util.raw_to_number(sys_guid())	ID
		,INNER_Q2.SEQ 				SEQUENCE_NUMBER
	        ,(CASE  WHEN INNER_Q2.SEQ=1  THEN INNER_Q1.STRM_START_DATE
				-- IN OTHER CASES
			ELSE /*DECODE (INNER_Q1.BILLING_INTERVAL_PERIOD
					,'DAY'	,	MID_SM_STR_DT + (INNER_Q2.SEQ -1 )
					,'WK'	,	MID_SM_STR_DT + (7 * (INNER_Q2.SEQ -1 ))
					,'MTH'	,	ADD_MONTHS(MID_SM_STR_DT , (INNER_Q2.SEQ -1 ))
					,'QRT'	,	ADD_MONTHS(MID_SM_STR_DT , 3 * (INNER_Q2.SEQ -1 ))
					,'YR'	,	ADD_MONTHS(MID_SM_STR_DT , 12 * (INNER_Q2.SEQ -1 )) )
		  END) */
		  /* Commented for Bug#14296136 */
                  /*( CASE WHEN INNER_Q1.tce_code ='DAY' and INNER_Q1.quantity =1   THEN MID_SM_STR_DT + INNER_Q2.SEQ -1
                          WHEN INNER_Q1.tce_code ='DAY' and INNER_Q1.quantity = 7  THEN MID_SM_STR_DT  + (7 * (INNER_Q2.SEQ-1))
                          WHEN INNER_Q1.tce_code ='MONTH'  and INNER_Q1.quantity =1   THEN ADD_MONTHS(MID_SM_STR_DT , (INNER_Q2.SEQ -1))
                          WHEN INNER_Q1.tce_code ='MONTH'   and INNER_Q1.quantity =3   THEN ADD_MONTHS(MID_SM_STR_DT  , 3 * (INNER_Q2.SEQ-1))
                           WHEN INNER_Q1.tce_code ='YEAR'   and INNER_Q1.quantity =1   THEN ADD_MONTHS(MID_SM_STR_DT  , 12 * (INNER_Q2.SEQ-1))
                      END ) */
                      /* Added for Bug#14296136 */
                      (
                      CASE
                        when INNER_Q1.TCE_CODE ='DAY' and INNER_Q1.QUANTITY  =1
                          THEN MID_SM_STR_DT + INNER_Q1.BILLING_INTERVAL_DURATION * (INNER_Q2.SEQ -1)
                        when INNER_Q1.TCE_CODE ='DAY' and INNER_Q1.QUANTITY  = 7
                          THEN MID_SM_STR_DT + INNER_Q1.BILLING_INTERVAL_DURATION * (7 * (INNER_Q2.SEQ-1))
                        when INNER_Q1.TCE_CODE ='MONTH' and INNER_Q1.QUANTITY  =1
                          THEN ADD_MONTHS(MID_SM_STR_DT , INNER_Q1.BILLING_INTERVAL_DURATION * (INNER_Q2.SEQ -1))
                        when INNER_Q1.TCE_CODE ='MONTH' and INNER_Q1.QUANTITY  =3
                          THEN ADD_MONTHS(MID_SM_STR_DT , INNER_Q1.BILLING_INTERVAL_DURATION * (3 * (INNER_Q2.SEQ-1)))
                        WHEN INNER_Q1.tce_code ='YEAR' AND INNER_Q1.quantity  =1
                          THEN ADD_MONTHS(MID_SM_STR_DT , INNER_Q1.BILLING_INTERVAL_DURATION * (12 * (INNER_Q2.SEQ-1)))
                      END )
                      /* End of code added for Bug#14296136 */
                       END)DATE_START                            /*Added for bug:9019205*/
		,(CASE	WHEN INNER_Q1.SEQUENCE_NO = 1 AND INNER_Q1.FIRST_BILL_UPTO_DATE IS NOT NULL --first stream
				THEN INNER_Q1.LEVEL_AMOUNT
			WHEN INNER_Q1.SEQUENCE_NO = 1 AND INNER_Q1.FIRST_BILL_UPTO_DATE IS NULL  -- normal stream
				THEN
				     (CASE WHEN INNER_Q1.LEVEL_AMOUNT - ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2) *(INNER_Q2.SEQ-1) >0
							THEN (CASE WHEN INNER_Q2.SEQ =INNER_Q1.LEVEL_PERIODS  --if it is the last schedule for the stream, value difference due to rounding is to be adjusted
									AND ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2) = 0 THEN INNER_Q1.LEVEL_AMOUNT
								   WHEN INNER_Q2.SEQ =INNER_Q1.LEVEL_PERIODS AND ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2) >0 THEN
										INNER_Q1.LEVEL_AMOUNT - ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2)*(INNER_Q2.SEQ-1)
								   ELSE ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2)
							     END)
					   ELSE 0
				      END)
			WHEN INNER_Q1.SEQUENCE_NO = 2 AND INNER_Q1.FIRST_BILL_UPTO_DATE IS NOT NULL -- then it is normal stream
				THEN
					(CASE WHEN INNER_Q1.LEVEL_AMOUNT - ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2)*(INNER_Q2.SEQ-1) >0
							THEN (CASE WHEN INNER_Q2.SEQ =INNER_Q1.LEVEL_PERIODS AND ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2) = 0
												THEN INNER_Q1.LEVEL_AMOUNT
								   WHEN INNER_Q2.SEQ = INNER_Q1.LEVEL_PERIODS AND ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2) >0
												THEN INNER_Q1.LEVEL_AMOUNT - ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2)
								 					*(INNER_Q2.SEQ-1)
								   ELSE ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2)
							      END)
					      ELSE 0
				         END)
		        WHEN INNER_Q1.SEQUENCE_NO = 2 AND INNER_Q1.FIRST_BILL_UPTO_DATE IS NULL -- last bill stream
					THEN INNER_Q1.LEVEL_AMOUNT
		        WHEN INNER_Q1.SEQUENCE_NO = 3 THEN  INNER_Q1.LEVEL_AMOUNT
		  END)	AMOUNT
		,(CASE WHEN INNER_Q1.FULLY_BILLED = 'Y' THEN SYSDATE
			ELSE NULL
		  END)					DATE_COMPLETED
		,INNER_Q1.OBJECT_VERSION_NUMBER		OBJECT_VERSION_NUMBER
		,INNER_Q1.OKS_STRM_LVL_ID		RUL_ID
		,FND_GLOBAL.USER_ID			CREATED_BY
		,SYSDATE				CREATION_DATE
		,FND_GLOBAL.USER_ID			LAST_UPDATED_BY
		,SYSDATE				LAST_UPDATE_DATE
		,INNER_Q1.CLE_ID			CLE_ID
		,INNER_Q1.DNZ_CHR_ID			DNZ_CHR_ID
		,INNER_Q1.PARENT_CLE_ID			PARENT_CLE_ID
        	,(CASE  WHEN  INNER_Q2.SEQ = 1 AND INNER_Q1.FIRST_BILL_UPTO_DATE IS NOT NULL  --first stream
				AND INNER_Q1.STRM_END_DATE = INNER_Q1.FIRST_BILL_UPTO_DATE
					THEN INNER_Q1.FIRST_BILL_UPTO_DATE
			WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.STRM_START_DATE = INNER_Q1.LAST_BILL_FROM_DATE  --last stream
					THEN  INNER_Q1.LIN_END_DT
				-- IN OTHER CASES
			ELSE/* DECODE( INNER_Q1.BILLING_INTERVAL_PERIOD
					, 'DAY'	, MID_SM_STR_DT - 1  + INNER_Q2.SEQ
					, 'WK'  , MID_SM_STR_DT - 1 + (7 * (INNER_Q2.SEQ))
					, 'MTH' , ADD_MONTHS(MID_SM_STR_DT - 1 , (INNER_Q2.SEQ ))
					, 'QRT' , ADD_MONTHS(MID_SM_STR_DT - 1 , 3 * (INNER_Q2.SEQ ))
					, 'YR'  , ADD_MONTHS(MID_SM_STR_DT - 1  , 12 * (INNER_Q2.SEQ )) )

		  END) */
		 /* Commented for Bug#14296136 */
                  /*( CASE WHEN INNER_Q1.tce_code ='DAY' and INNER_Q1.quantity =1   THEN MID_SM_STR_DT -1+ INNER_Q2.SEQ
                          WHEN INNER_Q1.tce_code ='DAY' and INNER_Q1.quantity = 7  THEN MID_SM_STR_DT -1 + (7 * (INNER_Q2.SEQ))
                          WHEN INNER_Q1.tce_code ='MONTH'  and INNER_Q1.quantity =1   THEN ADD_MONTHS(MID_SM_STR_DT-1 , (INNER_Q2.SEQ ))
                          WHEN INNER_Q1.tce_code ='MONTH'   and INNER_Q1.quantity =3   THEN ADD_MONTHS(MID_SM_STR_DT -1 , 3 * (INNER_Q2.SEQ ))
                          WHEN INNER_Q1.tce_code ='YEAR'   and INNER_Q1.quantity =1   THEN ADD_MONTHS(MID_SM_STR_DT -1 , 12 * (INNER_Q2.SEQ ))
                        END ) */
                        /* Added for Bug#14296136 */
                        (
                        CASE
                          WHEN INNER_Q1.tce_code ='DAY' AND INNER_Q1.quantity  =1
                            THEN MID_SM_STR_DT -1+ (INNER_Q1.BILLING_INTERVAL_DURATION * INNER_Q2.SEQ)
                          WHEN INNER_Q1.tce_code ='DAY' AND INNER_Q1.quantity  = 7
                            THEN MID_SM_STR_DT -1 + INNER_Q1.BILLING_INTERVAL_DURATION * (7 * (INNER_Q2.SEQ))
                          WHEN INNER_Q1.TCE_CODE ='MONTH' and INNER_Q1.QUANTITY  =1
                            THEN ADD_MONTHS(MID_SM_STR_DT-1, INNER_Q1.BILLING_INTERVAL_DURATION * (INNER_Q2.SEQ ))
                          WHEN INNER_Q1.tce_code ='MONTH' AND INNER_Q1.quantity  =3
                            THEN ADD_MONTHS(MID_SM_STR_DT -1, INNER_Q1.BILLING_INTERVAL_DURATION * (3 * INNER_Q2.SEQ))
                          WHEN INNER_Q1.tce_code ='YEAR' AND INNER_Q1.quantity  =1
                            THEN ADD_MONTHS(MID_SM_STR_DT -1, INNER_Q1.BILLING_INTERVAL_DURATION * (12 * INNER_Q2.SEQ ))
                        END )
                      /* End of code added for Bug#14296136 */
                         END )DATE_END	                                     /*Added for bug:9019205*/
	        ,INNER_Q1.RECUR_BILL_OCCURANCES	        FREQUENCY
	       ,INNER_Q1.INVOICING_RULE_ID		INVOICING_RULE_ID
	 FROM
		(SELECT  OLSTG.LINE_INTERFACE_ID		LINE_INTERFACE_ID
			,OKS_STRM_LVL.ID			OKS_STRM_LVL_ID
			,OKCLINB_LINE.ID                        CLE_ID
			,OKCHDRB.ID				DNZ_CHR_ID
			,OKCLINB_LINE.ID			PARENT_CLE_ID
			,OKCLINB_LINE.INV_RULE_ID		INVOICING_RULE_ID
			,1					OBJECT_VERSION_NUMBER
			,nvl(OKCLINB_LINE.PRICE_NEGOTIATED,0)  	SUBTOTAL
			,OLSTG.LAST_BILL_FROM_DATE		LAST_BILL_FROM_DATE
			,OLSTG.BILLING_INTERVAL_PERIOD		BILLING_INTERVAL_PERIOD
			,OLSTG.BILLING_INTERVAL_DURATION	BILLING_INTERVAL_DURATION
			,OLSTG.RECUR_BILL_OCCURANCES		RECUR_BILL_OCCURANCES
			,OLSTG.START_DATE			LIN_START_DT
			,OLSTG.END_DATE				LIN_END_DT
			,NVL(OLSTG.FIRST_BILLED_AMOUNT,0)	FIRST_BILL_AMOUNT
			,NVL(OLSTG.LAST_BILLED_AMOUNT,0)	LAST_BILL_AMOUNT
			,OLSTG.FIRST_BILL_UPTO_DATE		FIRST_BILL_UPTO_DATE
			,OKS_STRM_LVL.LEVEL_PERIODS		LEVEL_PERIODS
			,OKS_STRM_LVL.SEQUENCE_NO		SEQUENCE_NO
			,nvl(OKS_STRM_LVL.LEVEL_AMOUNT,0)	LEVEL_AMOUNT
			,HDRSTG.FULLY_BILLED			FULLY_BILLED
			,OKS_STRM_LVL.START_DATE		STRM_START_DATE
			,OKS_STRM_LVL.END_DATE			STRM_END_DATE
			,(CASE WHEN OLSTG.FIRST_BILL_UPTO_DATE IS NOT NULL THEN OLSTG.FIRST_BILL_UPTO_DATE +1
			       ELSE OLSTG.START_DATE
			  END) MID_SM_STR_DT
			,OLSTG.LAST_BILL_FROM_DATE - 1		MID_SM_END_DT
		        ,OLSTG.LINE_TYPE			LINE_TYPE
                         ,bip.tce_code                           tce_code
                         ,bip.quantity                           quantity           /*Added for bug:9019205*/

	 FROM	 OKS_INT_LINE_STG_TEMP		OLSTG
		,OKC_K_LINES_B			OKCLINB_LINE
		,OKC_K_HEADERS_ALL_B		OKCHDRB
		,OKS_INT_HEADER_STG_TEMP	HDRSTG
		,OKS_STREAM_LEVELS_B		OKS_STRM_LVL
                ,OKC_TIME_CODE_UNITS_B          BIP
               ,OKC_TIME_CODE_UNITS_TL          BIPTL                               /*Added for bug:9019205*/
	 WHERE OLSTG.HEADER_INTERFACE_ID = HDRSTG.HEADER_INTERFACE_ID
	 AND   HDRSTG.CONTRACT_NUMBER = OKCHDRB.CONTRACT_NUMBER
	 AND   NVL(HDRSTG.CONTRACT_NUMBER_MODIFIER , 'Xwqwewe@!&*aQ1') = NVL(OKCHDRB.CONTRACT_NUMBER_MODIFIER , 'Xwqwewe@!&*aQ1')
	 AND   HDRSTG.INTERFACE_STATUS ='S'
	 AND   OKCLINB_LINE.DNZ_CHR_ID   = OKCHDRB.ID
	 AND   OKCLINB_LINE.CHR_ID = OKCHDRB.ID
	 AND   OKS_STRM_LVL.DNZ_CHR_ID = OKCHDRB.ID
         AND  OKCLINB_LINE.LINE_NUMBER = OLSTG.LINE_NUMBER
	 AND  OKS_STRM_LVL.CLE_ID = OKCLINB_LINE.ID
         AND  OLSTG.LINE_TYPE='USAGE'
         AND  OLSTG.billing_interval_period=BIP.uom_code(+)
         AND  BIP.uom_code =BIPTL.uom_code
         AND   BIP.tce_code =BIPTL.tce_code
         AND  BIPTL.language(+)=USERENV('LANG')) INNER_Q1                /*Added for bug:9019205*/
	,(SELECT ROWNUM AS SEQ FROM DUAL CONNECT BY LEVEL <= l_recur_bill_occurance ) INNER_Q2
WHERE INNER_Q2.SEQ <= INNER_Q1.LEVEL_PERIODS)USG_SCH_DT;
Line: 1493

				 'Number of records successfully inserted = ' || l_int_count );
Line: 1544

INSERT ALL
   WHEN (FREQUENCY IS NOT NULL ) then
	INTO OKS_STREAM_LEVELS_B
	(ID
	,CHR_ID
	,CLE_ID
	,DNZ_CHR_ID
	,SEQUENCE_NO
	,UOM_CODE
	,START_DATE
	,END_DATE
	,LEVEL_PERIODS
	,UOM_PER_PERIOD
	,LEVEL_AMOUNT
	,OBJECT_VERSION_NUMBER
	,REQUEST_ID
	,CREATED_BY
	,CREATION_DATE
	,LAST_UPDATED_BY
	,LAST_UPDATE_DATE
	,LAST_UPDATE_LOGIN)

  VALUES (ID
	,CHR_ID
	,CLE_ID
	,DNZ_CHR_ID
	,SEQUENCE_NO
	,UOM_CODE
	,START_DATE
	,END_DATE
	,LEVEL_PERIODS
	,UOM_PER_PERIOD
	,LEVEL_AMOUNT
	,OBJECT_VERSION_NUMBER
	,REQUEST_ID
	,CREATED_BY
	,CREATION_DATE
	,LAST_UPDATED_BY
	,LAST_UPDATE_DATE
	,LAST_UPDATE_LOGIN)

SELECT  okc_p_util.raw_to_number(sys_guid())	ID
	,INNER_Q2.SEQ  			SEQUENCE_NO
	,(CASE WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN 'DAY'
	       WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.BILLING_INTERVAL_PERIOD
	       WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS not NULL THEN INNER_Q1.BILLING_INTERVAL_PERIOD
	       WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS null THEN 'DAY'
	       WHEN INNER_Q2.SEQ = 3  THEN	'DAY'
	       else INNER_Q1.BILLING_INTERVAL_PERIOD
	  END)  UOM_CODE

	,(CASE WHEN INNER_Q2.SEQ = 1 THEN INNER_Q1.LIN_STR_DT
	       WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date is not null THEN INNER_Q1.FIRST_BILL_UPTO_DATE + 1
	       WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.LAST_BILL_FROM_DATE
	       WHEN INNER_Q2.SEQ = 3  THEN INNER_Q1.LAST_BILL_FROM_DATE
	  END) START_DATE

	,(CASE WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN INNER_Q1.FIRST_BILL_UPTO_DATE
	       WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.LAST_BILL_FROM_DATE - 1
	       WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.LIN_END_DT
	       WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN INNER_Q1.LAST_BILL_FROM_DATE - 1
	       WHEN INNER_Q2.SEQ = 3  THEN INNER_Q1.LIN_END_DT
	  END) END_DATE

	,(CASE WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN 1
	       WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.RECUR_BILL_OCCURANCES
	       WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS not NULL THEN INNER_Q1.RECUR_BILL_OCCURANCES
	       WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NULL THEN 1
	       WHEN INNER_Q2.SEQ = 3  THEN 1
	  END) LEVEL_PERIODS

	,(CASE  WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NOT NULL
			THEN INNER_Q1.FIRST_BILL_UPTO_DATE - INNER_Q1.CVL_START_DT + 1 -- difference in the days with the days inclusive
		WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.BILLING_INTERVAL_DURATION
	        WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN INNER_Q1.BILLING_INTERVAL_DURATION
		WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NULL THEN  INNER_Q1.CVL_END_DT -(INNER_Q1.LAST_BILL_FROM_DATE - 1)
		WHEN INNER_Q2.SEQ = 3  THEN INNER_Q1.CVL_END_DT -(INNER_Q1.LAST_BILL_FROM_DATE - 1 )
	 	ELSE INNER_Q1.BILLING_INTERVAL_DURATION
	   END) UOM_PER_PERIOD

	 ,(CASE WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NOT NULL  -- first stream
			THEN ROUND((INNER_Q1.SUBTOTAL/INNER_Q1.NO_OF_DAYS) * (INNER_Q1.FIRST_BILL_UPTO_DATE - INNER_Q1.LIN_STR_DT +1) *1,2)
		WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NULL -- normal stream
			THEN  ROUND((INNER_Q1.SUBTOTAL/CALC_BILL_PERIOD_1) * INNER_Q1.BILLING_INTERVAL_DURATION * INNER_Q1.RECUR_BILL_OCCURANCES,2)
		WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NOT NULL  --normal stream
			THEN ROUND((INNER_Q1.SUBTOTAL -
				ROUND((INNER_Q1.SUBTOTAL/INNER_Q1.NO_OF_DAYS) *
					(INNER_Q1.FIRST_BILL_UPTO_DATE - INNER_Q1.LIN_STR_DT +1) *1,2))/CALC_BILL_PERIOD_2
							*INNER_Q1.BILLING_INTERVAL_DURATION * INNER_Q1.RECUR_BILL_OCCURANCES,2)
		WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NULL -- last stream
			THEN INNER_Q1.SUBTOTAL -
					ROUND((INNER_Q1.SUBTOTAL/CALC_BILL_PERIOD_1) *
						INNER_Q1.BILLING_INTERVAL_DURATION * INNER_Q1.RECUR_BILL_OCCURANCES,2)
		WHEN INNER_Q2.SEQ = 3
			THEN
			INNER_Q1.SUBTOTAL
				- ROUND((INNER_Q1.SUBTOTAL/INNER_Q1.NO_OF_DAYS) * (INNER_Q1.FIRST_BILL_UPTO_DATE - INNER_Q1.LIN_STR_DT +1) *1,2)
				-  ROUND((INNER_Q1.SUBTOTAL -
				ROUND((INNER_Q1.SUBTOTAL/INNER_Q1.NO_OF_DAYS) *
					(INNER_Q1.FIRST_BILL_UPTO_DATE - INNER_Q1.LIN_STR_DT +1) *1,2))/CALC_BILL_PERIOD_2
							*INNER_Q1.BILLING_INTERVAL_DURATION * INNER_Q1.RECUR_BILL_OCCURANCES,2)

	   END) LEVEL_AMOUNT
	  ,INNER_Q1.RECUR_BILL_OCCURANCES    FREQUENCY
	  ,INNER_Q1.*
	  ,INNER_Q2.*
FROM
	(SELECT  OKCLINB_SUBLINE.ID			CLE_ID
		,null					CHR_ID -- can be null for sublines
		,OKCHDRB.ID				DNZ_CHR_ID
		,(CASE WHEN OLSTG.FIRST_BILL_UPTO_DATE IS NULL AND (OLSTG.LAST_BILL_FROM_DATE -1 ) = OLSTG.END_DATE THEN 1
	               WHEN OLSTG.FIRST_BILL_UPTO_DATE IS NOT NULL AND (OLSTG.LAST_BILL_FROM_DATE -1) = OLSTG.END_DATE  THEN 2
	               WHEN OLSTG.FIRST_BILL_UPTO_DATE IS NULL AND (OLSTG.LAST_BILL_FROM_DATE -1 ) < OLSTG.END_DATE THEN 2
	               WHEN OLSTG.FIRST_BILL_UPTO_DATE  IS NOT NULL AND (OLSTG.LAST_BILL_FROM_DATE -1 ) < OLSTG.END_DATE THEN 3
	          END) NUM_STREAMS
		,1					OBJECT_VERSION_NUMBER
		,null					REQUEST_ID
		,FND_GLOBAL.USER_ID			CREATED_BY
		,SYSDATE				CREATION_DATE
		,FND_GLOBAL.USER_ID			LAST_UPDATED_BY
		,SYSDATE				LAST_UPDATE_DATE
		,FND_GLOBAL.LOGIN_ID			LAST_UPDATE_LOGIN
		,OLSTG.LAST_BILL_FROM_DATE		LAST_BILL_FROM_DATE
		,OLSTG.BILLING_INTERVAL_PERIOD		BILLING_INTERVAL_PERIOD
		,OLSTG.BILLING_INTERVAL_DURATION	BILLING_INTERVAL_DURATION
		,OLSTG.RECUR_BILL_OCCURANCES		RECUR_BILL_OCCURANCES
		,INNER_1.STR_DT				CVL_START_DT
		,INNER_1.END_DT				CVL_END_DT
		,OLSTG.FIRST_BILL_UPTO_DATE		FIRST_BILL_UPTO_DATE
		,nvl(INNER_1.STOTAL,0) 			SUBTOTAL
		,OLSTG.LINE_TYPE			LINE_TYPE
		,OLSTG.START_DATE			LIN_STR_DT
		,OLSTG.END_DATE				LIN_END_DT
		,(INNER_1.END_DT  - INNER_1.STR_DT)+1	NO_OF_DAYS
                 ,bip.tce_code                           tce_code
                ,bip.quantity                           quantity                  /*Added for bug:9019205*/
		/*(CASE	WHEN OLSTG.BILLING_INTERVAL_PERIOD ='DAY'  THEN  (OLSTG.END_DATE  - OLSTG.START_DATE)+1	 --no_of_day
			WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'WK'  THEN  ((OLSTG.END_DATE  - OLSTG.START_DATE)+1)/7 -- no of weeks
		        WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'MTH' THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,OLSTG.START_DATE) -- no of months
			WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'QRT' THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,OLSTG.START_DATE)/3 -- no of quarter
			WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'YR'  THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,OLSTG.START_DATE)/12 -- no of years
		  END) CALC_BILL_PERIOD_1
		,(CASE	WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'DAY' THEN (OLSTG.END_dATE -OLSTG.FIRST_BILL_UPTO_DATE +1) +1 --no of days
			WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'WK'  THEN ((OLSTG.END_DATE  - OLSTG.FIRST_BILL_UPTO_DATE + 1) +1 )/7  -- no of weeks
			WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'MTH' THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1))-- no of months
	                WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'QRT' THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1))/3  -- no of quarter
		        WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'YR'  THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1))/12 -- no of years
		  END) */
                  ,(CASE WHEN bip.tce_code ='DAY'   and  bip.quantity =1   THEN  (OLSTG.END_DATE  - OLSTG.START_DATE)+1	 --no_of_day
			WHEN bip.tce_code ='DAY'    and bip.quantity =7    THEN  ((OLSTG.END_DATE  - OLSTG.START_DATE)+1)/7 -- no of weeks
		        WHEN bip.tce_code ='MONTH' and bip.quantity =1 THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,OLSTG.START_DATE) -- no of months
			WHEN bip.tce_code ='MONTH' and bip.quantity = 3  THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,OLSTG.START_DATE)/3 -- no of quarter
			WHEN bip.tce_code ='YEAR'  and bip.quantity =1  THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,OLSTG.START_DATE)/12 -- no of years
		  END) CALC_BILL_PERIOD_1
		,(CASE	WHEN bip.tce_code ='DAY'   and  bip.quantity =1 THEN (OLSTG.END_dATE -OLSTG.FIRST_BILL_UPTO_DATE +1) +1 --no of days
			WHEN bip.tce_code ='DAY'    and bip.quantity =7 THEN ((OLSTG.END_DATE  - OLSTG.FIRST_BILL_UPTO_DATE + 1) +1 )/7  -- no of weeks
			WHEN bip.tce_code ='MONTH' and bip.quantity =1  THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1))-- no of months
	                WHEN bip.tce_code ='MONTH' and bip.quantity = 3 THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1))/3  -- no of quarter
		        WHEN bip.tce_code ='YEAR'  and bip.quantity =1  THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1))/12 -- no of years
		  END) CALC_BILL_PERIOD_2                             /*Added for bug:9019205*/
	 FROM	OKS_INT_LINE_STG_TEMP		OLSTG

		,(SELECT CVLSTG.LINE_INTERFACE_ID   LINE_INTERFACE_ID
			,CLI.LINE_NUMBER	    LINE_NUMBER
			,CLI.START_DATE		    STR_DT
			,CLI.END_DATE		    END_DT
			,CLI.SUBTOTAL		    STOTAL
		  FROM	 OKS_COVERED_LEVELS_INTERFACE CLI
			,OKS_INT_COVERED_LEVEL_STG_TEMP CVLSTG
		  WHERE  CLI.COVERED_LEVEL_INTERFACE_ID = CVLSTG.COVERED_LEVEL_INTERFACE_ID )INNER_1

		,OKC_K_LINES_B			OKCLINB_LINE
		,OKC_K_LINES_B			OKCLINB_SUBLINE
		,OKC_K_HEADERS_ALL_B		OKCHDRB
		,OKS_INT_HEADER_STG_TEMP	HDRSTG
                ,OKC_TIME_CODE_UNITS_B		BIP
                ,OKC_TIME_CODE_UNITS_TL		BIPTL                         /*Added for bug:9019205*/
	 WHERE INNER_1.LINE_INTERFACE_ID = OLSTG.LINE_INTERFACE_ID
	 AND   OLSTG.HEADER_INTERFACE_ID = HDRSTG.HEADER_INTERFACE_ID
	 AND   HDRSTG.CONTRACT_NUMBER = OKCHDRB.CONTRACT_NUMBER
         AND   NVL(HDRSTG.CONTRACT_NUMBER_MODIFIER , 'Xwqwewe@!&*aQ1') = NVL(OKCHDRB.CONTRACT_NUMBER_MODIFIER , 'Xwqwewe@!&*aQ1')
         AND   HDRSTG.INTERFACE_STATUS ='S'
         AND   OKCLINB_LINE.DNZ_CHR_ID = OKCHDRB.ID
         AND   OKCLINB_LINE.CHR_ID = OKCHDRB.ID
         AND   OLSTG.LINE_NUMBER = OKCLINB_LINE.LINE_NUMBER
         AND   OKCLINB_SUBLINE.DNZ_CHR_ID = OKCHDRB.ID
         AND   OKCLINB_SUBLINE.CLE_ID = OKCLINB_LINE.ID
         AND   OKCLINB_SUBLINE.LINE_NUMBER = INNER_1.LINE_NUMBER
         AND   OLSTG.LINE_TYPE NOT IN ('SUBSCRIPTION','USAGE')
         AND   OLSTG.billing_interval_period=BIP.uom_code(+)
         AND   BIP.uom_code =BIPTL.uom_code
         AND   BIP.tce_code =BIPTL.tce_code
         AND   BIPTL.language(+)=USERENV('LANG')) INNER_Q1              /*Added for bug:9019205*/

	,(SELECT ROWNUM AS SEQ FROM DUAL CONNECT BY LEVEL <= 3) INNER_Q2

WHERE INNER_Q2.SEQ <= INNER_Q1.NUM_STREAMS;
Line: 1746

		 'Number of records successfully inserted = ' || l_int_count );
Line: 1752

	SELECT MAX(RECUR_BILL_OCCURANCES) INTO l_recur_bill_occurance FROM OKS_INT_LINE_STG_TEMP ;
Line: 1766

INSERT ALL
   WHEN (FREQUENCY IS NOT NULL ) then
	 INTO OKS_LEVEL_ELEMENTS
		(ID
		,SEQUENCE_NUMBER
		,DATE_START
		,AMOUNT
		,DATE_TRANSACTION
		,DATE_TO_INTERFACE
		,DATE_COMPLETED
		,OBJECT_VERSION_NUMBER
		,RUL_ID
		,CREATED_BY
		,CREATION_DATE
		,LAST_UPDATED_BY
		,LAST_UPDATE_DATE
		,CLE_ID
		,DNZ_CHR_ID
		,PARENT_CLE_ID
		,DATE_END)
	VALUES (ID
		,SEQUENCE_NUMBER
		,DATE_START
		,AMOUNT
		,DATE_TRANSACTION
		,DATE_TO_INTERFACE
		,DATE_COMPLETED
		,OBJECT_VERSION_NUMBER
		,RUL_ID
		,CREATED_BY
		,CREATION_DATE
		,LAST_UPDATED_BY
		,LAST_UPDATE_DATE
		,CLE_ID
		,DNZ_CHR_ID
		,PARENT_CLE_ID
		,DATE_END)
SELECT	COV_SCH_DT.*
	,(CASE WHEN COV_SCH_DT.INVOICING_RULE_ID = -2
			THEN
				(CASE WHEN COV_SCH_DT.DATE_START >= SYSDATE THEN COV_SCH_DT.DATE_START
				      ELSE SYSDATE
				 END)
	       WHEN COV_SCH_DT.INVOICING_RULE_ID = -3
			THEN
				(CASE WHEN COV_SCH_DT.DATE_END > = SYSDATE THEN COV_SCH_DT.DATE_END
				      ELSE SYSDATE
				END)
	  END) DATE_TRANSACTION

	,(CASE WHEN COV_SCH_DT.INVOICING_RULE_ID = -2 THEN COV_SCH_DT.DATE_START
	       WHEN COV_SCH_DT.INVOICING_RULE_ID = -3 THEN COV_SCH_DT.DATE_END +1
	  END)  DATE_TO_INTERFACE

FROM
	(SELECT	okc_p_util.raw_to_number(sys_guid())					ID
		,INNER_Q2.SEQ								SEQUENCE_NUMBER
		,(CASE  WHEN INNER_Q2.SEQ = 1  AND INNER_Q1.STRM_END_DATE = INNER_Q1.FIRST_BILL_UPTO_DATE  -- first bill stream
				AND INNER_Q1.FIRST_BILL_UPTO_DATE IS NOT NULL
						THEN INNER_Q1.CVL_START_DT

			WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.STRM_START_DATE = inner_q1.last_bill_from_date  -- last bill stream
					THEN INNER_Q1.last_bill_from_date
				-- IN OTHER CASES
			ELSE /*  DECODE (INNER_Q1.BILLING_INTERVAL_PERIOD
						,'DAY'	,	MID_SM_STR_DT + (INNER_Q2.SEQ -1 )
						,'WK'	,	MID_SM_STR_DT + (7 * (INNER_Q2.SEQ -1 ))
						,'MTH'	,	ADD_MONTHS(MID_SM_STR_DT , (INNER_Q2.SEQ -1 ))
						,'QRT'	,	ADD_MONTHS(MID_SM_STR_DT , 3 * (INNER_Q2.SEQ -1 ))
						,'YR'	,	ADD_MONTHS(MID_SM_STR_DT , 12 * (INNER_Q2.SEQ -1 )) )
		  END ) */
		  /* Commented for Bug#14296136 */
                  /*(  CASE WHEN INNER_Q1.tce_code ='DAY' and INNER_Q1.quantity =1   THEN  MID_SM_STR_DT + INNER_Q2.SEQ -1
                       WHEN INNER_Q1.tce_code ='DAY' and INNER_Q1.quantity = 7  THEN  MID_SM_STR_DT  + (7 * (INNER_Q2.SEQ -1))
                       WHEN INNER_Q1.tce_code ='MONTH'  and INNER_Q1.quantity =1   THEN ADD_MONTHS(MID_SM_STR_DT , (INNER_Q2.SEQ -1 ))
                       WHEN INNER_Q1.tce_code ='MONTH'   and INNER_Q1.quantity =3   THEN ADD_MONTHS(MID_SM_STR_DT  , 3 * (INNER_Q2.SEQ -1 ))
                       WHEN INNER_Q1.tce_code ='YEAR'   and INNER_Q1.quantity =1   THEN ADD_MONTHS(MID_SM_STR_DT  , 12 * (INNER_Q2.SEQ -1))
                   END )  */
                    /* Added for Bug#14296136 */
                    (
                    CASE
                      WHEN INNER_Q1.tce_code ='DAY' AND INNER_Q1.QUANTITY  =1
                        THEN MID_SM_STR_DT + INNER_Q1.BILLING_INTERVAL_DURATION * (INNER_Q2.SEQ -1)
                      WHEN INNER_Q1.tce_code ='DAY' AND INNER_Q1.quantity  = 7
                        THEN MID_SM_STR_DT + INNER_Q1.BILLING_INTERVAL_DURATION * ((7 * (INNER_Q2.SEQ -1) ))
                      WHEN INNER_Q1.tce_code ='MONTH' AND INNER_Q1.QUANTITY  =1
                        THEN ADD_MONTHS(MID_SM_STR_DT , INNER_Q1.BILLING_INTERVAL_DURATION * (INNER_Q2.SEQ -1 ) )
                      WHEN INNER_Q1.tce_code ='MONTH' AND INNER_Q1.QUANTITY  =3
                        THEN ADD_MONTHS(MID_SM_STR_DT , INNER_Q1.BILLING_INTERVAL_DURATION * (3 * (INNER_Q2.SEQ -1 )) )
                      WHEN INNER_Q1.tce_code ='YEAR' AND INNER_Q1.QUANTITY  =1
                        then ADD_MONTHS(MID_SM_STR_DT , INNER_Q1.BILLING_INTERVAL_DURATION * (12 * (INNER_Q2.SEQ -1)) )
                    END )
                    /* End of code added for Bug#14296136 */
                    END )DATE_START         /*Added for bug:9019205*/

		,(CASE WHEN INNER_Q1.SEQUENCE_NO = 1 AND INNER_Q1.FIRST_BILL_UPTO_DATE IS NOT NULL
					THEN INNER_Q1.LEVEL_AMOUNT
               	       WHEN INNER_Q1.SEQUENCE_NO = 1 AND INNER_Q1.FIRST_BILL_UPTO_DATE IS NULL  -- normal stream
					THEN (CASE WHEN  INNER_Q1.LEVEL_AMOUNT - ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2) *(INNER_Q2.SEQ-1) >0
								THEN (CASE WHEN INNER_Q2.SEQ =INNER_Q1.LEVEL_PERIODS  --if it is the last schedule for the stream, value difference due to rounding is to be adjusted
											AND ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2) = 0
													THEN INNER_Q1.LEVEL_AMOUNT
									   WHEN INNER_Q2.SEQ =INNER_Q1.LEVEL_PERIODS AND ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2) >0
													THEN INNER_Q1.LEVEL_AMOUNT -
														ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2)*(INNER_Q2.SEQ-1)
									   ELSE ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2)
							              END)
						   ELSE 0
					      END)
		       WHEN INNER_Q1.SEQUENCE_NO = 2 AND INNER_Q1.FIRST_BILL_UPTO_DATE IS NOT NULL -- then it is normal stream
					THEN  (CASE WHEN INNER_Q1.LEVEL_AMOUNT - ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2)*(INNER_Q2.SEQ-1) >0
								THEN (CASE WHEN INNER_Q2.SEQ =INNER_Q1.LEVEL_PERIODS
											AND ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2) = 0
													THEN INNER_Q1.LEVEL_AMOUNT
									   WHEN INNER_Q2.SEQ = INNER_Q1.LEVEL_PERIODS AND ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2) >0
													THEN INNER_Q1.LEVEL_AMOUNT -
														ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2)*(INNER_Q2.SEQ-1)
									   ELSE ROUND(INNER_Q1.LEVEL_AMOUNT/INNER_Q1.LEVEL_PERIODS,2)
								      END)
				                    ELSE 0
				               END)
			WHEN INNER_Q1.SEQUENCE_NO = 2 AND INNER_Q1.FIRST_BILL_UPTO_DATE IS NULL -- last bill stream
					THEN INNER_Q1.LEVEL_AMOUNT
			WHEN INNER_Q1.SEQUENCE_NO = 3 THEN  INNER_Q1.LEVEL_AMOUNT
		  END) AMOUNT
		,(CASE WHEN INNER_Q1.FULLY_BILLED = 'Y' THEN SYSDATE
		       ELSE NULL
		  END)								DATE_COMPLETED
		,INNER_Q1.OBJECT_VERSION_NUMBER						OBJECT_VERSION_NUMBER
		,INNER_Q1.OKS_STRM_LVL_ID						RUL_ID
		,FND_GLOBAL.USER_ID							CREATED_BY
		,SYSDATE								CREATION_DATE
		,FND_GLOBAL.USER_ID							LAST_UPDATED_BY
		,SYSDATE								LAST_UPDATE_DATE
		,INNER_Q1.CLE_ID							CLE_ID
		,INNER_Q1.DNZ_CHR_ID							DNZ_CHR_ID
		,INNER_Q1.PARENT_CLE_ID							PARENT_CLE_ID
		,(CASE WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.STRM_END_DATE = INNER_Q1.FIRST_BILL_UPTO_DATE  -- first bill stream
				AND INNER_Q1.FIRST_BILL_UPTO_DATE IS NOT NULL
					THEN INNER_Q1.FIRST_BILL_UPTO_DATE
		       WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.STRM_START_DATE = inner_q1.last_bill_from_date  -- last bill stream
					THEN INNER_Q1.CVL_END_DT
				-- IN OTHER CASES
			ELSE/* DECODE( INNER_Q1.BILLING_INTERVAL_PERIOD
					, 'DAY'	, MID_SM_STR_DT + INNER_Q2.SEQ -1
					, 'WK'  , MID_SM_STR_DT  + (7 * (INNER_Q2.SEQ)) -1
					, 'MTH' , ADD_MONTHS(MID_SM_STR_DT , (INNER_Q2.SEQ )) -1
					, 'QRT' , ADD_MONTHS(MID_SM_STR_DT  , 3 * (INNER_Q2.SEQ )) -1
					, 'YR'  , ADD_MONTHS(MID_SM_STR_DT  , 12 * (INNER_Q2.SEQ )) -1 )

		  END )*/
          	  /* Commented for Bug#14296136 */
                  /*( CASE WHEN INNER_Q1.tce_code ='DAY' and INNER_Q1.quantity =1   THEN MID_SM_STR_DT + INNER_Q2.SEQ -1
                       WHEN INNER_Q1.tce_code ='DAY' and INNER_Q1.quantity = 7  THEN MID_SM_STR_DT  + (7 * (INNER_Q2.SEQ)) -1
                       WHEN INNER_Q1.tce_code ='MONTH'  and INNER_Q1.quantity =1   THEN ADD_MONTHS(MID_SM_STR_DT , (INNER_Q2.SEQ )) -1
                       WHEN INNER_Q1.tce_code ='MONTH'   and INNER_Q1.quantity =3   THEN ADD_MONTHS(MID_SM_STR_DT  , 3 * (INNER_Q2.SEQ )) -1
                       WHEN INNER_Q1.tce_code ='YEAR'   and INNER_Q1.quantity =1   THEN ADD_MONTHS(MID_SM_STR_DT  , 12 * (INNER_Q2.SEQ )) -1
                   END ) */
                    /* Added for Bug#14296136 */
                    (
                    CASE
                      WHEN INNER_Q1.tce_code ='DAY' AND INNER_Q1.QUANTITY  =1
                        THEN MID_SM_STR_DT + INNER_Q1.BILLING_INTERVAL_DURATION * (INNER_Q2.SEQ -1)
                      WHEN INNER_Q1.tce_code ='DAY' AND INNER_Q1.QUANTITY  = 7
                        THEN MID_SM_STR_DT + INNER_Q1.BILLING_INTERVAL_DURATION * ((7 * (INNER_Q2.SEQ)) -1)
                      WHEN INNER_Q1.tce_code ='MONTH' AND INNER_Q1.QUANTITY  =1
                        THEN ADD_MONTHS(MID_SM_STR_DT , INNER_Q1.BILLING_INTERVAL_DURATION * ((INNER_Q2.SEQ )) -1)
                      WHEN INNER_Q1.tce_code ='MONTH' AND INNER_Q1.QUANTITY  =3
                        THEN ADD_MONTHS(MID_SM_STR_DT ,INNER_Q1.BILLING_INTERVAL_DURATION * ( 3 * (INNER_Q2.SEQ )) -1)
                      WHEN INNER_Q1.tce_code ='YEAR' AND INNER_Q1.QUANTITY  =1
                        THEN ADD_MONTHS(MID_SM_STR_DT , INNER_Q1.BILLING_INTERVAL_DURATION * (12 * (INNER_Q2.SEQ )) -1)
                    END )
                    /* End of code Added for Bug#14296136 */
                    END )DATE_END                                 /*Added for bug:9019205*/
		,INNER_Q1.RECUR_BILL_OCCURANCES		FREQUENCY
		,INNER_Q1.INVOICING_RULE_ID		INVOICING_RULE_ID
	 FROM
		(SELECT  OKCLINB_SUBLINE.ID			CLE_ID
			,OKS_STRM_LVL.ID			OKS_STRM_LVL_ID
			,null					CHR_ID	-- can be null for sublines
			,OKCHDRB.ID				DNZ_CHR_ID
			,OKCLINB_LINE.ID			PARENT_CLE_ID
			,OKCLINB_LINE.INV_RULE_ID		INVOICING_RULE_ID
			,1					OBJECT_VERSION_NUMBER
			,NVL(INNER_1.STOTAL,0)			SUBTOTAL
			,OLSTG.LAST_BILL_FROM_DATE		LAST_BILL_FROM_DATE
			,OLSTG.BILLING_INTERVAL_PERIOD		BILLING_INTERVAL_PERIOD
			,OLSTG.BILLING_INTERVAL_DURATION	BILLING_INTERVAL_DURATION
			,OLSTG.RECUR_BILL_OCCURANCES		RECUR_BILL_OCCURANCES
			,INNER_1.STR_DT				CVL_START_DT
			,INNER_1.END_DT				CVL_END_DT
			,OLSTG.FIRST_BILL_UPTO_DATE	        FIRST_BILL_UPTO_DATE
			,OKS_STRM_LVL.LEVEL_PERIODS		LEVEL_PERIODS
			,OKS_STRM_LVL.LEVEL_AMOUNT		LEVEL_AMOUNT
			,HDRSTG.FULLY_BILLED			FULLY_BILLED
			,OKS_STRM_LVL.START_DATE		STRM_START_DATE
			,OKS_STRM_LVL.END_DATE			STRM_END_DATE
			,OLSTG.LINE_TYPE			LINE_TYPE
			,OKS_STRM_LVL.SEQUENCE_NO		SEQUENCE_NO
			,(CASE WHEN OLSTG.FIRST_BILL_UPTO_DATE IS NOT NULL THEN OLSTG.FIRST_BILL_UPTO_DATE +1
				ELSE  INNER_1.STR_DT
			  END) MID_SM_STR_DT
			,OLSTG.LAST_BILL_FROM_DATE -1   MID_SM_END_DT
                         ,bip.tce_code                           tce_code
                        ,bip.quantity                           quantity          /*Added for bug:9019205*/

		 FROM	 OKS_INT_LINE_STG_TEMP		OLSTG
			,(SELECT  CVLSTG.LINE_INTERFACE_ID	LINE_INTERFACE_ID
				 ,CLI.LINE_NUMBER		LINE_NUMBER
		                 ,CLI.START_DATE		STR_DT
		                 ,CLI.END_DATE		END_DT
		                 ,CLI.SUBTOTAL		STOTAL
	                  FROM   OKS_COVERED_LEVELS_INTERFACE   CLI
		                ,OKS_INT_COVERED_LEVEL_STG_TEMP CVLSTG
	                  WHERE CLI.COVERED_LEVEL_INTERFACE_ID = CVLSTG.COVERED_LEVEL_INTERFACE_ID ) INNER_1
			,OKC_K_LINES_B			OKCLINB_LINE
			,OKC_K_LINES_B			OKCLINB_SUBLINE
			,OKC_K_HEADERS_ALL_B		OKCHDRB
			,OKS_INT_HEADER_STG_TEMP	HDRSTG
			,OKS_STREAM_LEVELS_B		OKS_STRM_LVL
                        ,OKC_TIME_CODE_UNITS_B        BIP
                        ,OKC_TIME_CODE_UNITS_TL        BIPTL                        /*Added for bug:9019205*/
		 WHERE INNER_1.LINE_INTERFACE_ID  = OLSTG.LINE_INTERFACE_ID
		 AND OLSTG.HEADER_INTERFACE_ID = HDRSTG.HEADER_INTERFACE_ID
		 AND HDRSTG.CONTRACT_NUMBER = OKCHDRB.CONTRACT_NUMBER
		 AND NVL(HDRSTG.CONTRACT_NUMBER_MODIFIER , 'Xwqwewe@!&*aQ1') = NVL(OKCHDRB.CONTRACT_NUMBER_MODIFIER , 'Xwqwewe@!&*aQ1')
		 AND HDRSTG.INTERFACE_STATUS ='S'
                 AND OKCLINB_LINE.DNZ_CHR_ID = OKCHDRB.ID
                 AND OKCLINB_LINE.CHR_ID = OKCHDRB.ID
                 AND OLSTG.LINE_NUMBER = OKCLINB_LINE.LINE_NUMBER
                 AND OKCLINB_SUBLINE.DNZ_CHR_ID = OKCHDRB.ID
                 AND OKCLINB_SUBLINE.CLE_ID = OKCLINB_LINE.ID
                 AND OKCLINB_SUBLINE.LINE_NUMBER = INNER_1.LINE_NUMBER
                 AND OKS_STRM_LVL.DNZ_CHR_ID = OKCHDRB.ID
		 AND OKS_STRM_LVL.CLE_ID = OKCLINB_SUBLINE.ID
		 AND OKS_STRM_LVL.CHR_ID IS NULL
		 AND OLSTG.LINE_TYPE NOT IN ('SUBSCRIPTION','USAGE')
                 AND  OLSTG.billing_interval_period=BIP.uom_code(+)
                 AND  BIP.uom_code =BIPTL.uom_code
                 AND   BIP.tce_code =BIPTL.tce_code
                 AND  BIPTL.language(+)=USERENV('LANG')) INNER_Q1 	               /*Added for bug:9019205*/

		,(SELECT ROWNUM AS SEQ FROM DUAL CONNECT BY LEVEL <= l_recur_bill_occurance ) INNER_Q2

WHERE INNER_Q2.SEQ <= INNER_Q1.LEVEL_PERIODS) COV_SCH_DT;
Line: 2016

INSERT ALL
  WHEN (FREQUENCY IS NOT NULL) THEN
	INTO OKS_STREAM_LEVELS_B
	(ID
	,CHR_ID
	,CLE_ID
	,DNZ_CHR_ID
	,SEQUENCE_NO
	,UOM_CODE
	,START_DATE
	,END_DATE
	,LEVEL_PERIODS
	,UOM_PER_PERIOD
	,LEVEL_AMOUNT
	,OBJECT_VERSION_NUMBER
	,REQUEST_ID
	,CREATED_BY
	,CREATION_DATE
	,LAST_UPDATED_BY
	,LAST_UPDATE_DATE
	,LAST_UPDATE_LOGIN)

  VALUES (ID
	,CHR_ID
	,CLE_ID
	,DNZ_CHR_ID
	,SEQUENCE_NO
	,UOM_CODE
	,START_DATE
	,END_DATE
	,LEVEL_PERIODS
	,UOM_PER_PERIOD
	,LEVEL_AMOUNT
	,OBJECT_VERSION_NUMBER
	,REQUEST_ID
	,CREATED_BY
	,CREATION_DATE
	,LAST_UPDATED_BY
	,LAST_UPDATE_DATE
	,LAST_UPDATE_LOGIN)

SELECT  okc_p_util.raw_to_number(sys_guid())	ID

       ,INNER_Q2.SEQ                          SEQUENCE_NO

       ,(CASE WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN 'DAY'
	       WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.BILLING_INTERVAL_PERIOD
	       WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS not NULL THEN INNER_Q1.BILLING_INTERVAL_PERIOD
	       WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS null THEN 'DAY'
	       WHEN INNER_Q2.SEQ = 3  THEN	'DAY'
	       else INNER_Q1.BILLING_INTERVAL_PERIOD
	  END)  UOM_CODE

       ,(CASE WHEN INNER_Q2.SEQ = 1 THEN INNER_Q1.LIN_STR_DT
	       WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date is not null THEN INNER_Q1.FIRST_BILL_UPTO_DATE + 1
	       WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.LAST_BILL_FROM_DATE
	       WHEN INNER_Q2.SEQ = 3  THEN INNER_Q1.LAST_BILL_FROM_DATE
	  END) START_DATE

        ,(CASE WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN INNER_Q1.FIRST_BILL_UPTO_DATE
	       WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.LAST_BILL_FROM_DATE - 1
	       WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.LIN_END_DT
	       WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN INNER_Q1.LAST_BILL_FROM_DATE - 1
	       WHEN INNER_Q2.SEQ = 3  THEN INNER_Q1.LIN_END_DT
	  END) END_DATE

          ,(CASE WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN 1
		 WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.RECUR_BILL_OCCURANCES
	         WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN INNER_Q1.RECUR_BILL_OCCURANCES
	         WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NULL THEN 1
	         WHEN INNER_Q2.SEQ = 3  THEN 1
	  END) LEVEL_PERIODS

        ,(CASE  WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NOT NULL
				THEN INNER_Q1.FIRST_BILL_UPTO_DATE - INNER_Q1.LIN_STR_DT +1 -- including the days between the difference

		WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NULL THEN INNER_Q1.BILLING_INTERVAL_DURATION
	        WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NOT NULL THEN INNER_Q1.BILLING_INTERVAL_DURATION
		WHEN INNER_Q2.SEQ = 2 AND  INNER_Q1.first_bill_upto_date IS NULL THEN  INNER_Q1.LIN_END_DT -(INNER_Q1.LAST_BILL_FROM_DATE - 1 )
		WHEN INNER_Q2.SEQ = 3  THEN INNER_Q1.LIN_END_DT -(INNER_Q1.LAST_BILL_FROM_DATE - 1 )
                ELSE INNER_Q1.BILLING_INTERVAL_DURATION
	  END) UOM_PER_PERIOD
	,(CASE  WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NOT NULL  -- first stream
			THEN ROUND((INNER_Q1.SUBTOTAL/INNER_Q1.NO_OF_DAYS) * (INNER_Q1.FIRST_BILL_UPTO_DATE - INNER_Q1.LIN_STR_DT +1) *1,2)

		WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.first_bill_upto_date IS NULL -- normal stream
			THEN  ROUND((INNER_Q1.SUBTOTAL/CALC_BILL_PERIOD_1) * INNER_Q1.BILLING_INTERVAL_DURATION * INNER_Q1.RECUR_BILL_OCCURANCES,2)

		WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NOT NULL  --normal stream
			THEN ROUND((INNER_Q1.SUBTOTAL -
					ROUND((INNER_Q1.SUBTOTAL/INNER_Q1.NO_OF_DAYS) *
							(INNER_Q1.FIRST_BILL_UPTO_DATE - INNER_Q1.LIN_STR_DT +1) *1,2))/CALC_BILL_PERIOD_2
									* INNER_Q1.BILLING_INTERVAL_DURATION * INNER_Q1.RECUR_BILL_OCCURANCES,2)
		WHEN INNER_Q2.SEQ = 2 AND INNER_Q1.first_bill_upto_date IS NULL -- last stream
			THEN INNER_Q1.SUBTOTAL -
                                 ROUND((INNER_Q1.SUBTOTAL/CALC_BILL_PERIOD_1) *
						INNER_Q1.BILLING_INTERVAL_DURATION * INNER_Q1.RECUR_BILL_OCCURANCES,2)
		WHEN INNER_Q2.SEQ = 3
			THEN
                            INNER_Q1.SUBTOTAL
				- ROUND((INNER_Q1.SUBTOTAL/INNER_Q1.NO_OF_DAYS) * (INNER_Q1.FIRST_BILL_UPTO_DATE - INNER_Q1.LIN_STR_DT +1) *1,2)
					- ROUND((INNER_Q1.SUBTOTAL -
					ROUND((INNER_Q1.SUBTOTAL/INNER_Q1.NO_OF_DAYS) *
							(INNER_Q1.FIRST_BILL_UPTO_DATE - INNER_Q1.LIN_STR_DT +1) *1,2))/CALC_BILL_PERIOD_2
									* INNER_Q1.BILLING_INTERVAL_DURATION * INNER_Q1.RECUR_BILL_OCCURANCES,2)
	  END) LEVEL_AMOUNT
        ,INNER_Q1.RECUR_BILL_OCCURANCES FREQUENCY
        ,INNER_Q1.*
        ,INNER_Q2.*
FROM
	(SELECT  OKCLINB_LINE.ID              LINE_ID
		,null		              CHR_ID
		,OKCLINB_LINE.ID              CLE_ID
		,OKCHDRB.ID                   DNZ_CHR_ID
		,OLSTG.FIRST_BILL_UPTO_DATE   FIRST_BILL_UPTO_DATE
		,(CASE  WHEN  OLSTG.FIRST_BILL_UPTO_DATE  IS NULL AND (OLSTG.LAST_BILL_FROM_DATE -1 ) = OLSTG.END_DATE   THEN 1
	                WHEN OLSTG.FIRST_BILL_UPTO_DATE IS NOT NULL AND (OLSTG.LAST_BILL_FROM_DATE -1) = OLSTG.END_DATE  THEN 2
	                WHEN  OLSTG.FIRST_BILL_UPTO_DATE IS NULL AND (OLSTG.LAST_BILL_FROM_DATE -1 ) < OLSTG.END_DATE THEN 2
	                WHEN  OLSTG.FIRST_BILL_UPTO_DATE IS NOT NULL AND (OLSTG.LAST_BILL_FROM_DATE -1 ) < OLSTG.END_DATE THEN 3
		  END) NUM_STREAMS
	        ,OLSTG.BILLING_INTERVAL_PERIOD					BILLING_INTERVAL_PERIOD
		/*,(CASE	WHEN OLSTG.BILLING_INTERVAL_PERIOD ='DAY'  THEN  (OLSTG.END_DATE  - OLSTG.START_DATE)+1	 --no_of_day
			WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'WK'  THEN ((OLSTG.END_DATE  - OLSTG.START_DATE)+1)/7 -- no of weeks
			WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'MTH' THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,OLSTG.START_DATE) -- no of months
			WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'QRT' THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,OLSTG.START_DATE)/3 -- no of quarter
	                WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'YR'  THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,OLSTG.START_DATE)/12 -- no of years
		  END) CALC_BILL_PERIOD_1
		,(CASE  WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'DAY' THEN (OLSTG.END_dATE -OLSTG.FIRST_BILL_UPTO_DATE +1) +1 --no of days
			WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'WK'  THEN ((OLSTG.END_DATE  - OLSTG.FIRST_BILL_UPTO_DATE + 1) +1 )/7  -- no of weeks
			WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'MTH' THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1))-- no of months
			WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'QRT' THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1))/3  -- no of quarter
			WHEN OLSTG.BILLING_INTERVAL_PERIOD = 'YR'  THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1))/12 -- no of years
		  END) */
                  ,(CASE WHEN BIP.tce_code ='DAY'   and BIP.quantity =1  THEN  (OLSTG.END_DATE  - OLSTG.START_DATE)+1	 --no_of_day
			WHEN BIP.tce_code ='DAY'   and BIP.quantity =7  THEN  ((OLSTG.END_DATE  - OLSTG.START_DATE)+1)/7 -- no of weeks
		        WHEN BIP.tce_code ='MONTH' and BIP.quantity =1    THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,OLSTG.START_DATE) -- no of months
			WHEN BIP.tce_code ='MONTH' and BIP.quantity = 3 THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,OLSTG.START_DATE)/3 -- no of quarter
			WHEN BIP.tce_code ='YEAR'  and BIP.quantity =1   THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,OLSTG.START_DATE)/12 -- no of years
		  END) CALC_BILL_PERIOD_1
                  ,(CASE WHEN BIP.tce_code ='MONTH' and BIP.quantity =1  THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1)) -- no of months
                         WHEN BIP.tce_code ='MONTH' and BIP.quantity = 3 THEN MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1))/3  -- no of quarter
                         WHEN BIP.tce_code ='YEAR'  and BIP.quantity =1 THEN  MONTHS_BETWEEN(OLSTG.END_DATE + 1,(OLSTG.FIRST_BILL_UPTO_DATE+1))/12 -- no of years
                         WHEN BIP.tce_code ='DAY'   and BIP.quantity =7 THEN  ((OLSTG.END_DATE  - OLSTG.FIRST_BILL_UPTO_DATE + 1) +1 )/7  -- no of weeks
                         WHEN BIP.tce_code ='DAY'   and BIP.quantity =1 THEN  (OLSTG.END_dATE -OLSTG.FIRST_BILL_UPTO_DATE +1) +1 --no of days
                   END) CALC_BILL_PERIOD_2                                      /*Added for bug:9019205*/
		,OLSTG.LINE_TYPE						LINE_TYPE
		,OLSTG.RECUR_BILL_OCCURANCES					RECUR_BILL_OCCURANCES
		,OLSTG.BILLING_INTERVAL_DURATION				BILLING_INTERVAL_DURATION
		,nvl(OKCLINB_LINE.PRICE_NEGOTIATED,0)				SUBTOTAL
		,OLSTG.START_DATE						LIN_STR_DT
		,OLSTG.END_DATE							LIN_END_DT
		,(OLSTG.END_DATE  - OLSTG.START_DATE)+1				NO_OF_DAYS
		,OLSTG.LAST_BILL_FROM_DATE					LAST_BILL_FROM_DATE
	        ,1								OBJECT_VERSION_NUMBER
		,null								REQUEST_ID -- need to confirm
		,FND_GLOBAL.USER_ID						CREATED_BY
		,SYSDATE							CREATION_DATE
		,FND_GLOBAL.USER_ID						LAST_UPDATED_BY
		,SYSDATE							LAST_UPDATE_DATE
		,FND_GLOBAL.LOGIN_ID						LAST_UPDATE_LOGIN
                ,bip.tce_code                                                   tce_code
                ,bip.quantity                                                   quantity         /*Added for bug:9019205*/
	 FROM   OKS_INT_LINE_STG_TEMP      OLSTG
		,OKS_INT_HEADER_STG_TEMP    HDRSTG
		,OKC_K_HEADERS_ALL_B        OKCHDRB
		,OKC_K_LINES_B              OKCLINB_LINE
                ,OKC_TIME_CODE_UNITS_B    BIP
               ,OKC_TIME_CODE_UNITS_TL    BIPTL                                /*Added for bug:9019205*/
	 WHERE OLSTG.HEADER_INTERFACE_ID = HDRSTG.HEADER_INTERFACE_ID
	 AND   HDRSTG.CONTRACT_NUMBER = OKCHDRB.CONTRACT_NUMBER
	 AND   NVL(HDRSTG.CONTRACT_NUMBER_MODIFIER , 'Xwqwewe@!&*aQ1') = NVL(OKCHDRB.CONTRACT_NUMBER_MODIFIER , 'Xwqwewe@!&*aQ1')
	 AND   HDRSTG.INTERFACE_STATUS ='S'
	 AND   OKCLINB_LINE.DNZ_CHR_ID   = OKCHDRB.ID
	 AND   OKCLINB_LINE.CHR_ID = OKCHDRB.ID
         AND   OKCLINB_LINE.LINE_NUMBER = OLSTG.LINE_NUMBER
         AND   OLSTG.LINE_TYPE NOT IN ('SUBSCRIPTION', 'USAGE')
          AND OLSTG.billing_interval_period=BIP.uom_code(+)
         AND  BIP.uom_code =BIPTL.uom_code
         AND   BIP.tce_code =BIPTL.tce_code
         AND  BIPTL.language(+)=USERENV('LANG'))INNER_Q1

	,(SELECT ROWNUM AS SEQ FROM DUAL CONNECT BY LEVEL <= 3) INNER_Q2

WHERE INNER_Q2.SEQ <= INNER_Q1.NUM_STREAMS;
Line: 2207

			 'Number of records successfully inserted = ' || l_int_count );
Line: 2213

 INSERT ALL
   WHEN (FREQUENCY IS NOT NULL ) then
	 INTO OKS_LEVEL_ELEMENTS
		(ID
		,SEQUENCE_NUMBER
		,DATE_START
		,AMOUNT
		,DATE_TRANSACTION
		,DATE_TO_INTERFACE
		,DATE_COMPLETED
		,OBJECT_VERSION_NUMBER
		,RUL_ID
		,CREATED_BY
		,CREATION_DATE
		,LAST_UPDATED_BY
		,LAST_UPDATE_DATE
		,CLE_ID
		,DNZ_CHR_ID
		,PARENT_CLE_ID
		,DATE_END)
	VALUES  (ID
		,SEQUENCE_NUMBER
		,DATE_START
		,AMOUNT
		,DATE_TRANSACTION
		,DATE_TO_INTERFACE
		,DATE_COMPLETED
		,OBJECT_VERSION_NUMBER
		,RUL_ID
		,CREATED_BY
		,CREATION_DATE
		,LAST_UPDATED_BY
		,LAST_UPDATE_DATE
		,CLE_ID
		,DNZ_CHR_ID
		,PARENT_CLE_ID
		,DATE_END)

SELECT  okc_p_util.raw_to_number(sys_guid())	ID
       ,SCH_LIN_INSERT . *
FROM
	(SELECT  DISTINCT COV_LVL_ELEM.PARENT_CLE_ID  AS PAR_CLE_ID
		,LIN_SCH_DT.*

		,SUM(COV_LVL_ELEM.AMOUNT)  OVER (PARTITION BY COV_LVL_ELEM.PARENT_CLE_ID, LIN_SCH_DT.DATE_START ) AMOUNT

		,(CASE  WHEN LIN_SCH_DT.INVOICING_RULE_ID = -2
					THEN (CASE WHEN LIN_SCH_DT.DATE_START >= SYSDATE THEN LIN_SCH_DT.DATE_START
								ELSE SYSDATE
					      END)
			WHEN LIN_SCH_DT.INVOICING_RULE_ID = -3
					THEN (CASE WHEN LIN_SCH_DT.DATE_END > = SYSDATE THEN LIN_SCH_DT.DATE_END
								   ELSE SYSDATE
					      END)
		  END) DATE_TRANSACTION

		 ,(CASE WHEN LIN_SCH_DT.INVOICING_RULE_ID = -2 THEN LIN_SCH_DT.DATE_START
			WHEN LIN_SCH_DT.INVOICING_RULE_ID = -3 THEN LIN_SCH_DT.DATE_END +1
	  	   END)	 DATE_TO_INTERFACE

	 FROM    OKS_LEVEL_ELEMENTS COV_LVL_ELEM
		,(SELECT	INNER_Q2.SEQ 				SEQUENCE_NUMBER
				,(CASE  WHEN INNER_Q2.SEQ=1  THEN INNER_Q1.STRM_START_DATE
						-- IN OTHER CASES
					ELSE  /* DECODE (INNER_Q1.BILLING_INTERVAL_PERIOD
							,'DAY'	,	MID_SM_STR_DT + (INNER_Q2.SEQ -1 )
							,'WK'	,	MID_SM_STR_DT + (7 * (INNER_Q2.SEQ -1 ))
							,'MTH'	,	ADD_MONTHS(MID_SM_STR_DT , (INNER_Q2.SEQ -1 ))
							,'QRT'	,	ADD_MONTHS(MID_SM_STR_DT , 3 * (INNER_Q2.SEQ -1 ))
							,'YR'	,	ADD_MONTHS(MID_SM_STR_DT , 12 * (INNER_Q2.SEQ -1 )) )
				  END ) */
				  /* Commented for Bug#14296136 */
                                  /*( CASE WHEN INNER_Q1.tce_code ='DAY' and INNER_Q1.quantity =1   THEN MID_SM_STR_DT + (INNER_Q2.SEQ -1 )
                                       WHEN INNER_Q1.tce_code ='DAY' and INNER_Q1.quantity = 7  THEN MID_SM_STR_DT  + (7 * (INNER_Q2.SEQ-1))
                                       WHEN INNER_Q1.tce_code ='MONTH'  and INNER_Q1.quantity =1   THEN ADD_MONTHS(MID_SM_STR_DT , (INNER_Q2.SEQ -1 ))
                                       WHEN INNER_Q1.tce_code ='MONTH'   and INNER_Q1.quantity =3   THEN ADD_MONTHS(MID_SM_STR_DT  , 3 * (INNER_Q2.SEQ-1 ))
                                       WHEN INNER_Q1.tce_code ='YEAR'   and INNER_Q1.quantity =1   THEN ADD_MONTHS(MID_SM_STR_DT  , 12 * (INNER_Q2.SEQ -1 ))
                                  END ) */
                                  /* Added for Bug#14296136 */
                                  (
                                  CASE
                                    WHEN INNER_Q1.tce_code ='DAY' AND INNER_Q1.quantity  =1
                                      THEN MID_SM_STR_DT + ( INNER_Q1.BILLING_INTERVAL_DURATION * (INNER_Q2.SEQ -1) )
                                    WHEN INNER_Q1.tce_code ='DAY' AND INNER_Q1.quantity  = 7
                                      THEN MID_SM_STR_DT + ( INNER_Q1.BILLING_INTERVAL_DURATION * (7 * (INNER_Q2.SEQ-1)) )
                                    WHEN INNER_Q1.tce_code ='MONTH' AND INNER_Q1.quantity  =1
                                      THEN ADD_MONTHS(MID_SM_STR_DT, ( INNER_Q1.BILLING_INTERVAL_DURATION * (INNER_Q2.SEQ -1 )) )
                                    WHEN INNER_Q1.tce_code ='MONTH' AND INNER_Q1.quantity  =3
                                      THEN ADD_MONTHS(MID_SM_STR_DT, ( INNER_Q1.BILLING_INTERVAL_DURATION * 3 * (INNER_Q2.SEQ-1 )) )
                                    WHEN INNER_Q1.tce_code ='YEAR' AND INNER_Q1.quantity  =1
                                      THEN ADD_MONTHS(MID_SM_STR_DT, ( INNER_Q1.BILLING_INTERVAL_DURATION * 12 * (INNER_Q2.SEQ -1 )) )
                                  END )
                                  /* End of code Added for Bug#14296136 */
                                  END)DATE_START          /*Added for bug:9019205*/
				,(CASE WHEN INNER_Q1.FULLY_BILLED = 'Y' THEN SYSDATE
					ELSE NULL
				  END)  DATE_COMPLETED

				,INNER_Q1.OBJECT_VERSION_NUMBER		OBJECT_VERSION_NUMBER
				,INNER_Q1.OKS_STRM_LVL_ID		RUL_ID
				,FND_GLOBAL.USER_ID			CREATED_BY
				,SYSDATE				CREATION_DATE
				,FND_GLOBAL.USER_ID			LAST_UPDATED_BY
				,SYSDATE				LAST_UPDATE_DATE
				,INNER_Q1.CLE_ID			CLE_ID
				,INNER_Q1.DNZ_CHR_ID			DNZ_CHR_ID
				,INNER_Q1.PARENT_CLE_ID			PARENT_CLE_ID
	        		,(CASE  WHEN  INNER_Q2.SEQ = 1 AND INNER_Q1.FIRST_BILL_UPTO_DATE IS NOT NULL  --first stream
						AND INNER_Q1.STRM_END_DATE = INNER_Q1.FIRST_BILL_UPTO_DATE
								THEN INNER_Q1.FIRST_BILL_UPTO_DATE
					WHEN INNER_Q2.SEQ = 1 AND INNER_Q1.STRM_START_DATE = INNER_Q1.LAST_BILL_FROM_DATE  --last stream
								THEN INNER_Q1.LIN_END_DT
						-- IN OTHER CASES
					ELSE /*DECODE( INNER_Q1.BILLING_INTERVAL_PERIOD
							, 'DAY'	, MID_SM_STR_DT - 1  + INNER_Q2.SEQ
							, 'WK'  , MID_SM_STR_DT - 1 + (7 * (INNER_Q2.SEQ))
							, 'MTH' , ADD_MONTHS(MID_SM_STR_DT - 1 , (INNER_Q2.SEQ ))
							, 'QRT' , ADD_MONTHS(MID_SM_STR_DT - 1 , 3 * (INNER_Q2.SEQ ))
							, 'YR'  , ADD_MONTHS(MID_SM_STR_DT - 1  , 12 * (INNER_Q2.SEQ )) )

				  END)*/
				   /* Commented for Bug#14296136 */
                                   /*( CASE WHEN INNER_Q1.tce_code ='DAY' and INNER_Q1.quantity =1   THEN MID_SM_STR_DT-1 + INNER_Q2.SEQ
                                        WHEN INNER_Q1.tce_code ='DAY' and INNER_Q1.quantity = 7  THEN MID_SM_STR_DT -1 + (7 * (INNER_Q2.SEQ))
                                        WHEN INNER_Q1.tce_code ='MONTH'  and INNER_Q1.quantity =1   THEN ADD_MONTHS(MID_SM_STR_DT -1, (INNER_Q2.SEQ ))
                                         WHEN INNER_Q1.tce_code ='MONTH'   and INNER_Q1.quantity =3   THEN ADD_MONTHS(MID_SM_STR_DT -1 , 3 * (INNER_Q2.SEQ ))
                                         WHEN INNER_Q1.tce_code ='YEAR'   and INNER_Q1.quantity =1   THEN ADD_MONTHS(MID_SM_STR_DT -1 , 12 * (INNER_Q2.SEQ ))
                                   END ) */
                                  /* Added for Bug#14296136 */
                                  (
                                  CASE
                                    WHEN INNER_Q1.tce_code ='DAY' AND INNER_Q1.quantity  =1
                                      THEN MID_SM_STR_DT-1 + ( INNER_Q1.BILLING_INTERVAL_DURATION * INNER_Q2.SEQ)
                                    WHEN INNER_Q1.tce_code ='DAY' AND INNER_Q1.quantity  = 7
                                      THEN MID_SM_STR_DT -1 + ( INNER_Q1.BILLING_INTERVAL_DURATION * (7 * (INNER_Q2.SEQ)) )
                                    WHEN INNER_Q1.tce_code ='MONTH' AND INNER_Q1.quantity  =1
                                      THEN ADD_MONTHS(MID_SM_STR_DT -1, INNER_Q1.BILLING_INTERVAL_DURATION * (INNER_Q2.SEQ ) )
                                    WHEN INNER_Q1.tce_code ='MONTH' AND INNER_Q1.quantity  =3
                                      THEN ADD_MONTHS(MID_SM_STR_DT -1 , ( INNER_Q1.BILLING_INTERVAL_DURATION * (3 * INNER_Q2.SEQ) ))
                                    WHEN INNER_Q1.tce_code ='YEAR' AND INNER_Q1.quantity  =1
                                      THEN ADD_MONTHS(MID_SM_STR_DT -1 , ( INNER_Q1.BILLING_INTERVAL_DURATION * (12 * INNER_Q2.SEQ)) )
                                  END )
                                  /* End of code added for Bug#14296136 */
                                  END )DATE_END
				,INNER_Q1.RECUR_BILL_OCCURANCES	    FREQUENCY
				,INNER_Q1.INVOICING_RULE_ID	    INVOICING_RULE_ID
		  FROM
			(SELECT	 OLSTG.LINE_INTERFACE_ID                LINE_INTERFACE_ID
				,OKS_STRM_LVL.ID			OKS_STRM_LVL_ID
				,OKCLINB_LINE.ID                        CLE_ID
				,OKCHDRB.ID				DNZ_CHR_ID
				,OKCLINB_LINE.ID			PARENT_CLE_ID
				,OKCLINB_LINE.INV_RULE_ID		INVOICING_RULE_ID
				,1					OBJECT_VERSION_NUMBER
				,nvl(OKCLINB_LINE.PRICE_NEGOTIATED,0)  	SUBTOTAL
				,OLSTG.LAST_BILL_FROM_DATE		LAST_BILL_FROM_DATE
				,OLSTG.BILLING_INTERVAL_PERIOD		BILLING_INTERVAL_PERIOD
				,OLSTG.BILLING_INTERVAL_DURATION	BILLING_INTERVAL_DURATION
				,OLSTG.RECUR_BILL_OCCURANCES		RECUR_BILL_OCCURANCES
				,OLSTG.START_DATE			LIN_START_DT
				,OLSTG.END_DATE				LIN_END_DT
				,OLSTG.FIRST_BILL_UPTO_DATE		FIRST_BILL_UPTO_DATE
				,OKS_STRM_LVL.LEVEL_PERIODS		LEVEL_PERIODS
				,OKS_STRM_LVL.SEQUENCE_NO		SEQUENCE_NO
				,nvl(OKS_STRM_LVL.LEVEL_AMOUNT,0)	LEVEL_AMOUNT
				,HDRSTG.FULLY_BILLED			FULLY_BILLED
				,OKS_STRM_LVL.START_DATE		STRM_START_DATE
				,OKS_STRM_LVL.END_DATE			STRM_END_DATE
				,(CASE WHEN OLSTG.FIRST_BILL_UPTO_DATE IS NOT NULL THEN OLSTG.FIRST_BILL_UPTO_DATE +1
						ELSE OLSTG.START_DATE
				  END)	   MID_SM_STR_DT
				,OLSTG.LAST_BILL_FROM_DATE - 1		MID_SM_END_DT
				,OLSTG.LINE_TYPE			LINE_TYPE
                                 ,bip.tce_code                           tce_code
                                ,bip.quantity                           quantity
			 FROM	 OKS_INT_LINE_STG_TEMP		OLSTG
				,OKC_K_LINES_B			OKCLINB_LINE
				,OKC_K_HEADERS_ALL_B		OKCHDRB
				,OKS_INT_HEADER_STG_TEMP	HDRSTG
				,OKS_STREAM_LEVELS_B		OKS_STRM_LVL
                                ,OKC_TIME_CODE_UNITS_B          BIP
                                ,OKC_TIME_CODE_UNITS_TL          BIPTL
			 WHERE OLSTG.HEADER_INTERFACE_ID = HDRSTG.HEADER_INTERFACE_ID
			 AND   HDRSTG.CONTRACT_NUMBER = OKCHDRB.CONTRACT_NUMBER
			 AND   NVL(HDRSTG.CONTRACT_NUMBER_MODIFIER , 'Xwqwewe@!&*aQ1') = NVL(OKCHDRB.CONTRACT_NUMBER_MODIFIER , 'Xwqwewe@!&*aQ1')
			 AND   HDRSTG.INTERFACE_STATUS ='S'
			 AND   OKCLINB_LINE.DNZ_CHR_ID   = OKCHDRB.ID
			 AND   OKCLINB_LINE.CHR_ID = OKCHDRB.ID
			 AND   OKS_STRM_LVL.DNZ_CHR_ID = OKCHDRB.ID
			 AND  OKCLINB_LINE.LINE_NUMBER = OLSTG.LINE_NUMBER
			 AND  OKS_STRM_LVL.CLE_ID = OKCLINB_LINE.ID
			 AND   OLSTG.LINE_TYPE NOT IN ('SUBSCRIPTION', 'USAGE')
                         AND  OLSTG.billing_interval_period=BIP.uom_code(+)
                         AND  BIP.uom_code =BIPTL.uom_code
                         AND   BIP.tce_code =BIPTL.tce_code
                         AND  BIPTL.language(+)=USERENV('LANG')) INNER_Q1	 /*Added for bug:9019205*/
			,(SELECT ROWNUM AS SEQ FROM DUAL CONNECT BY LEVEL <= l_recur_bill_occurance ) INNER_Q2
		  WHERE INNER_Q2.SEQ <= INNER_Q1.LEVEL_PERIODS) LIN_SCH_DT
	 WHERE COV_LVL_ELEM.PARENT_CLE_ID = LIN_SCH_DT.CLE_ID
	 AND COV_LVL_ELEM.DATE_START(+) >= LIN_SCH_DT.DATE_START
	 AND COV_LVL_ELEM.DATE_END(+) <= LIN_SCH_DT.DATE_END ) SCH_LIN_INSERT;
Line: 2418

			 'Number of records successfully inserted = ' || l_int_count );
Line: 2477

			 'Number of records successfully inserted = ' || l_int_count );
Line: 2514

SELECT OKSLINB_LINE.COVERAGE_ID as reference_template_id
      ,OKCLINB_LINE.id	as cle_id
      ,OKCLINB_LINE.start_date as start_date
      ,OKCLINB_LINE.end_date   as end_date

FROM  OKS_INT_LINE_STG_TEMP      OLSTG
      ,OKS_INT_HEADER_STG_TEMP    HDRSTG
      ,OKC_K_LINES_B              OKCLINB_LINE
      ,OKS_K_LINES_B              OKSLINB_LINE
      ,OKC_K_HEADERS_ALL_B        OKCHDRB
WHERE OLSTG.HEADER_INTERFACE_ID = HDRSTG.HEADER_INTERFACE_ID
AND   HDRSTG.INTERFACE_STATUS ='S'
AND   HDRSTG.CONTRACT_NUMBER = OKCHDRB.CONTRACT_NUMBER
AND   NVL(HDRSTG.CONTRACT_NUMBER_MODIFIER , 'Xwqwewe@!&*aQ1') = NVL(OKCHDRB.CONTRACT_NUMBER_MODIFIER , 'Xwqwewe@!&*aQ1')
AND   OKCLINB_LINE.DNZ_CHR_ID = OKCHDRB.ID
AND   OKCLINB_LINE.CHR_ID = OKCHDRB.ID
AND   OKCLINB_LINE.LINE_NUMBER = OLSTG.LINE_NUMBER
AND   OKSLINB_LINE.CLE_ID = OKCLINB_LINE.ID
AND OLSTG.LINE_TYPE <> 'USAGE';
Line: 2646

 SELECT 'OKS_HDR_NOTE'			SOURCE_OBJECT_CODE
        ,OKCHDRB.ID			SOURCE_OBJECT_ID
	,OKS_NT_INT.NOTES		NOTES
	,OKS_NT_INT.NOTES_DETAIL	NOTES_DETAIL
	,OKS_NT_INT.NOTE_STATUS		NOTE_STATUS
	,OKS_NT_INT.NOTE_TYPE		NOTE_TYPE
	,OKS_NT_INT.ENTERED_BY		ENTERED_BY
	,OKS_NT_INT.ENTERED_DATE	ENTERED_DATE
FROM     OKS_NOTES_INTERFACE		OKS_NT_INT
	,OKS_int_header_stg_temp	HDRSTG
	,OKC_K_HEADERS_ALL_B		OKCHDRB
WHERE   OKS_NT_INT.HEADER_INTERFACE_ID = HDRSTG.HEADER_INTERFACE_ID
AND     OKS_NT_INT.LINE_INTERFACE_ID IS NULL
AND     HDRSTG.INTERFACE_STATUS ='S'
AND     HDRSTG.CONTRACT_NUMBER = OKCHDRB.CONTRACT_NUMBER
AND     NVL(HDRSTG.CONTRACT_NUMBER_MODIFIER , 'Xwqwewe@!&*aQ1') = NVL(OKCHDRB.CONTRACT_NUMBER_MODIFIER , 'Xwqwewe@!&*aQ1') ;
Line: 2667

 SELECT 'OKS_COV_NOTE'            SOURCE_OBJECT_CODE
	,OKCLINB.ID               SOURCE_OBJECT_ID
	,OKS_NT_INT.NOTES         NOTES
	,OKS_NT_INT.NOTES_DETAIL  NOTES_DETAIL
	,OKS_NT_INT.NOTE_STATUS   NOTE_STATUS
	,OKS_NT_INT.NOTE_TYPE     NOTE_TYPE
	,OKS_NT_INT.ENTERED_BY    ENTERED_BY
	,OKS_NT_INT.ENTERED_DATE  ENTERED_DATE

FROM     OKS_NOTES_INTERFACE       OKS_NT_INT
	,OKS_INT_LINE_STG_TEMP    OLSTG
	,OKS_INT_HEADER_STG_TEMP  HDRSTG
	,OKC_K_HEADERS_ALL_B      OKCHDRB
	,OKC_K_LINES_B            OKCLINB

WHERE OKS_NT_INT.LINE_INTERFACE_ID = OLSTG.LINE_INTERFACE_ID
AND   OLSTG.HEADER_INTERFACE_ID = HDRSTG.HEADER_INTERFACE_ID
AND   OKS_NT_INT.LINE_INTERFACE_ID IS NOT NULL
AND   HDRSTG.INTERFACE_STATUS ='S'
AND   HDRSTG.CONTRACT_NUMBER = OKCHDRB.CONTRACT_NUMBER
AND   NVL(HDRSTG.CONTRACT_NUMBER_MODIFIER , 'Xwqwewe@!&*aQ1') = NVL(OKCHDRB.CONTRACT_NUMBER_MODIFIER , 'Xwqwewe@!&*aQ1')
AND   OKCLINB.CHR_ID = OKCHDRB.ID
AND   OKCLInB.DNZ_CHR_ID = OKCHDRB.ID
AND   OKCLINB.LINE_NUMBER = OLSTG.LINE_NUMBER;
Line: 2764

				  , p_last_update_date      => SYSDATE
				  , p_last_updated_by       => FND_GLOBAL.USER_ID
				  , p_last_update_login     => FND_GLOBAL.LOGIN_ID
				  , p_attribute1            => NULL
				  , p_attribute2            => NULL
				  , p_attribute3            => NULL
				  , p_attribute4            => NULL
				  , p_attribute5            => NULL
				  , p_attribute6            => NULL
				  , p_attribute7            => NULL
				  , p_attribute8            => NULL
				  , p_attribute9            => NULL
				  , p_attribute10           => NULL
				  , p_attribute11           => NULL
				  , p_attribute12           => NULL
				  , p_attribute13           => NULL
				  , p_attribute14           => NULL
				  , p_attribute15           => NULL
				  , p_context               => NULL
				  , p_jtf_note_contexts_tab => l_jtf_note_contexts_tab);
Line: 2841

				  , p_last_update_date      => SYSDATE
				  , p_last_updated_by       => FND_GLOBAL.USER_ID
				  , p_last_update_login     => FND_GLOBAL.LOGIN_ID
				  , p_attribute1            => NULL
				  , p_attribute2            => NULL
				  , p_attribute3            => NULL
				  , p_attribute4            => NULL
				  , p_attribute5            => NULL
				  , p_attribute6            => NULL
				  , p_attribute7            => NULL
				  , p_attribute8            => NULL
				  , p_attribute9            => NULL
				  , p_attribute10           => NULL
				  , p_attribute11           => NULL
				  , p_attribute12           => NULL
				  , p_attribute13           => NULL
				  , p_attribute14           => NULL
				  , p_attribute15           => NULL
				  , p_context               => NULL
				  , p_jtf_note_contexts_tab => l_jtf_note_contexts_tab);
Line: 2915

SELECT  OLSTG.ITEM_ID		SERVICE_ITEM_ID
       ,OKCHDRB.ID		HDRB_ID
       ,OKCLINB.ID		LINB_ID

FROM   OKS_INT_LINE_STG_TEMP	OLSTG
      ,OKC_K_LINES_B		OKCLINB
      ,OKC_K_HEADERS_ALL_B	OKCHDRB
      ,OKS_INT_HEADER_STG_TEMP  HDRSTG

WHERE OLSTG.HEADER_INTERFACE_ID = HDRSTG.HEADER_INTERFACE_ID
AND   HDRSTG.INTERFACE_STATUS ='S'
AND   HDRSTG.CONTRACT_NUMBER = OKCHDRB.CONTRACT_NUMBER
AND   NVL(HDRSTG.CONTRACT_NUMBER_MODIFIER , 'Xwqwewe@!&*aQ1') = NVL(OKCHDRB.CONTRACT_NUMBER_MODIFIER , 'Xwqwewe@!&*aQ1')
AND   OLSTG.LINE_NUMBER = OKCLINB.LINE_NUMBER
AND   OKCLINB.DNZ_CHR_ID = OKCHDRB.ID
AND   OKCLINB.CHR_ID = OKCHDRB.ID
AND   OLSTG.LINE_TYPE ='SERVICE';
Line: 3066

PROCEDURE Import_Post_Insert
IS

 l_stmt_num  NUMBER := 0;
Line: 3070

  l_routine   CONSTANT VARCHAR2(30) := 'Import_Post_Insert';
Line: 3107

END Import_Post_Insert;