Source: DMF/PuC/AIF/DR1 scripts/DMF_SALES_DISCOUNT.sql

INSERT INTO ORI_SALES_DISCOUNT_CTRL 
(	SLS_TRX_ID,PROD_IT_NUM,ORG_NUM,DAY_DT,MIN_NUM,REVISION_NUM
	,DISC_TYPE  -- for the future this field must be reviewed
	,COUPON_NUMBER,COUPON_REF_NUMBER,CO_HEAD_ID,CO_LINE_ID,CUST_REF_TYPE,CUST_REF_NUMBER,RTL_TYPE_CODE
	,EXCHANGE_DT,SLS_QTY,SLS_AMT_LCL
	,SLS_DISC_AMT_LCL--regular discount
	,RET_QTY,RET_AMT_LCL
	,RET_DISC_AMT_LCL--regular discount
	,DATASOURCE_NUM_ID,DOC_CURR_CODE,ETL_THREAD_VAL 
	,INTEGRATION_ID -- TEM QUE SER UNICO POR LINHA NA TABELA DE DISCOUNT
	,LOC_CURR_CODE,EMPLOYEE_NUM,PROMO_COMP_ID,PROMO_PARENT_ID,SALES_PERSON_ID,CASHIER_ID
) 
--regular discount
select 
        SLS_TRX_ID
        ,ITEM AS PROD_IT_NUM
        ,ORG_NUM
        ,DAY_DT
        ,LPAD(MIN_NUM, 2, '0') AS MIN_NUM 
        ,1 as REVISION_NUM
        ,'NEWPRC' AS DISC_TYPE  -- for the future this field must be reviewes
        , '-1' AS COUPON_NUMBER -- W_RTL_COUPON_D
        , NULL AS COUPON_REF_NUMBER -- W_RTL_COUPON_D
        ,CO_HEAD_ID
        ,CO_LINE_ID
        ,CUSTOMER_TYPE AS CUST_REF_TYPE
        ,CUSTOMER_NUM AS CUST_REF_NUMBER
        ,RTL_TYPE_CODE
        ,DAY_DT AS EXCHANGE_DT -- NEW
        ,SLS_QTY
        ,SLS_AMT_LCL
        ,SLSPR_DISC_AMT_LCL AS SLS_DISC_AMT_LCL--regular discount
        ,RET_QTY
        ,RET_AMT_LCL
        ,RETPR_DISC_AMT_LCL AS RET_DISC_AMT_LCL--regular discount
        ,1 AS DATASOURCE_NUM_ID
        ,DOC_CURR_CODE
        ,1 AS ETL_THREAD_VAL -- NEW
        ,ORG_NUM || '~' || ITEM || '~' || SLS_TRX_ID || '~' || TO_CHAR(DAY_DT, 'YYYYMMDD') || '~' || CO_HEAD_ID || '~' || CO_LINE_ID || '~' || 'EMPDSC' || '~' || '-1' AS INTEGRATION_ID -- REVISAR SE ESTÁ CORRETO (TEM QUE SER UNICO POR LINHA NA TABELA DE DISCOUNT?)
        ,LOC_CURR_CODE
        ,'-1' AS EMPLOYEE_NUM-- NEW
        ,'-2' AS PROMO_COMP_ID-- NEW
        ,'-2' AS PROMO_PARENT_ID-- NEW
        ,'-1' AS SALES_PERSON_ID-- NEW
        ,'-1' AS CASHIER_ID-- NEW
from ori_sales_ctrl
where (SLSPR_DISC_AMT_LCL > 0 and SLSPR_DISC_AMT_LCL is not null) or (RETPR_DISC_AMT_LCL > 0 and RETPR_DISC_AMT_LCL is not null)
union all
 --employee discount
select 
        SLS_TRX_ID
        ,ITEM
        ,ORG_NUM
        ,DAY_DT
        ,LPAD(MIN_NUM, 2, '0') AS MIN_NUM -- precisa formatar???
        ,1 as REVISION_NUM
        ,'EMPDSC' AS DISC_TYPE
        ,'-1' AS COUPON_NUMBER -- validar campo mandatorio. PUC nao trabalhar com CUPOM
        , NULL AS COUPON_REF_NUMBER -- validar campo mandatorio. PUC nao trabalhar com CUPOM
        ,CO_HEAD_ID
        ,CO_LINE_ID
        ,CUSTOMER_TYPE AS CUST_REF_TYPE
        ,CUSTOMER_NUM AS CUST_REF_NUMBER
        ,RTL_TYPE_CODE
        ,DAY_DT AS EXCHANGE_DT -- NEW
        ,SLS_QTY
        ,SLS_AMT_LCL
        ,SLS_EMP_DISC_AMT_LCL AS SLS_DISC_AMT_LCL--employee discount
        ,RET_QTY
        ,RET_AMT_LCL
        ,RET_EMP_DISC_AMT_LCL AS RET_DISC_AMT_LCL -- employee discount
        ,1 AS DATASOURCE_NUM_ID
        ,DOC_CURR_CODE
        ,1 AS ETL_THREAD_VAL -- NEW
        ,ORG_NUM || '~' || ITEM || '~' || SLS_TRX_ID || '~' || TO_CHAR(DAY_DT, 'YYYYMMDD') || '~' || CO_HEAD_ID || '~' || CO_LINE_ID || '~' || 'EMPDSC' || '~' || '-1' AS INTEGRATION_ID -- REVISAR SE ESTÁ CORRETO (TEM QUE SER UNICO POR LINHA NA TABELA DE DISCOUNT?)
        ,LOC_CURR_CODE
        ,'-1' AS EMPLOYEE_NUM-- NEW
        ,'-2' AS PROMO_COMP_ID-- NEW
        ,'-2' AS PROMO_PARENT_ID-- NEW
        ,'-1' AS SALES_PERSON_ID-- NEW
        ,'-1' AS CASHIER_ID-- NEW
from ori_sales_ctrl
where (SLS_EMP_DISC_AMT_LCL > 0 and SLS_EMP_DISC_AMT_LCL is not null) or (RET_EMP_DISC_AMT_LCL  > 0 and RET_EMP_DISC_AMT_LCL  is not null)
;
COMMIT;