Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2014
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.95 KB | None | 0 0
  1. wf_m_fee_reversal
  2.  
  3. s_m_fee_reversal
  4. --(AIW)SQ_fee_reversal
  5. SQL overwrite
  6. select fr.loan_id,
  7. fr.lpay_id,
  8. fr.fee_rev_dt,
  9. fr.delq_start_dt,
  10. fr.delq_end_dt,
  11. min(fll.chng_d) min_chng_d
  12. from
  13. fee_reversal fr, f_lc_loan_status_log fll
  14. where fr.loan_id=fll.loan_id
  15. and fll.new_status=10
  16. --and fr.loan_id=1062754--testing
  17. and chng_d > delq_start_dt
  18. group by 1,2,3,4,5
  19. --Exp_delq_end_dt
  20. Adds two output columns
  21. delq_end_dt_O = iif(min_chng_d > delq_start_dt, min_chng_d, delq_end_dt_old)
  22. aiw_Update_ts_O = sysdate
  23. --UPD_delq_end_dt
  24. dd_update
  25. --(AIW)RelTGG-fee_reveral_delq_end_dt
  26. target table is "fee_reversal"
  27.  
  28.  
  29. --(SVC) SQ_LC$SR
  30. ==============================
  31.  
  32. select summary, loan_id, lpay_id, fee_reversal_d, fee_reversal_amt, max(chng_d), old_status
  33. from (
  34. SELECT summary,
  35. cast(to_number(sr.loan_id) as int) loan_id,
  36. CAST(TO_NUMBER(SUBSTR(DESCRIPTION,INSTR(UPPER(DESCRIPTION),'LPAYID=',1) + LENGTH('LPAYID='),INSTR(UPPER(DESCRIPTION),',',INSTR(UPPER(DESCRIPTION),'LPAYID=',1)) - (INSTR(UPPER(DESCRIPTION),'LPAYID=',1) + LENGTH('LPAYID=')))) AS INT) LPAY_ID,
  37. create_d fee_reversal_d,
  38. max(cast(to_number(SUBSTR(DESCRIPTION,INSTR(UPPER(DESCRIPTION),'FEE_BAL=',1) + LENGTH('FEE_BAL='),INSTR(UPPER(DESCRIPTION),',',INSTR(UPPER(DESCRIPTION),'FEE_BAL=',1))- (INSTR(UPPER(DESCRIPTION),'FEE_BAL=',1) + LENGTH('FEE_BAL=')))) as decimal(12,2))) fee_reversal_amt,
  39. ll.chng_d,
  40. ll.old_status
  41. FROM lc$sr sr, lc$loan_status_log ll
  42. WHERE
  43. sr.loan_id = ll.loan_id
  44. and UPPER(SUMMARY) = 'WAIVED FEES'
  45. AND INSTR(UPPER(DESCRIPTION),'LPAYID=NULL') = 0
  46. --and sr.loan_id=112216 --testing
  47. and old_status=10
  48. and to_number(to_char(create_d,'YYYYMMDD')) = (select etl_bus_date_key from etl_bus_date)
  49. --and trunc(create_d) = trunc(sysdate-1)
  50. GROUP BY sr.loan_id,summary, create_d,
  51. CAST(TO_NUMBER(SUBSTR(DESCRIPTION,INSTR(UPPER(DESCRIPTION),'LPAYID=',1) + LENGTH('LPAYID='),INSTR(UPPER(DESCRIPTION),',',INSTR(UPPER(DESCRIPTION),'LPAYID=',1)) - (INSTR(UPPER(DESCRIPTION),'LPAYID=',1) + LENGTH('LPAYID=')))) AS INT),
  52. ll.chng_d,ll.old_status
  53. HAVING max(cast(to_number(SUBSTR(DESCRIPTION,INSTR(UPPER(DESCRIPTION),'FEE_BAL=',1) + LENGTH('FEE_BAL='),INSTR(UPPER(DESCRIPTION),',',INSTR(UPPER(DESCRIPTION),'FEE_BAL=',1))- (INSTR(UPPER(DESCRIPTION),'FEE_BAL=',1) + LENGTH('FEE_BAL=')))) as decimal(12,2))) > 0
  54. )
  55. where fee_reversal_d > chng_d
  56. group by loan_id, summary, lpay_id, fee_reversal_d, fee_reversal_amt, old_status
  57. =================================SQL
  58.  
  59. --EXP_fee_reversal
  60. Adds two output columns
  61. delq_end_dt_O to_date('31-DEC-9999','DD-MON-YYYY')
  62. sysdate_O sysdate
  63. --Fil_fee_rev_amt
  64. pass rows with "FEE_REVERSAL_D_O > chng_d"
  65. --AGG_fee_reversal
  66. groups by LOANID, SUMMARY, LPAY_ID_O, FEE_REVERSAL_D_O, FEE_REVERSAL_AMT_O,
  67. chng_d_O = min(chng_d)
  68. delq_end_dt_O = delq_end_dt_O ??????
  69.  
  70. --(AIW) TGT (fee_reversal)
  71. Pre SQL=====>
  72. delete from fee_reversal where to_number(to_char(fee_rev_dt,'YYYYMMDD'))= (select etl_bus_date_key from etl_bus_date)
  73. --where trunc(fee_rev_dt)=trunc(sysdate-1)
  74. <====================
  75. Post SQL =====>
  76. update fee_reversal tgt
  77. set fee_rev_amt = src.running_fee_amt
  78. from (
  79. select loan_id, lpay_id, delq_start_dt, fee_rev_dt,sum(act_fee_rev_amt) over(partition by loan_id, delq_start_dt order by delq_start_dt,fee_rev_dt) as running_fee_amt
  80. from ai_dw.fee_reversal
  81. ) src
  82. where tgt.loan_id=src.loan_id
  83. and tgt.lpay_id=src.lpay_id
  84. and tgt.fee_rev_dt = src.fee_rev_dt
  85.  
  86. <==========================
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100. s_m_fee_reversal_f_lpay_detail
  101. ==============================
  102. Runs the mapping m_fee_reversal_f_lpay_detail
  103.  
  104. --(AIW) SQ_f_lpay_detail
  105. ============>
  106. select X.lpay_detail_key,
  107. X.id,
  108. X.loan_id,
  109. X.due_d,
  110. X.due_amt,
  111. X.adj_due_amt,
  112. X.chng_d,
  113. X.old_status,
  114. X.new_status,
  115. X.fee_rev_amt,
  116. X.fee_reversal_ind
  117. from (
  118. select fld.loan_id, fld.id, fld.lpay_detail_key, fld.due_d, fld.due_amt, fld.adj_due_amt, fll.chng_d, fll.old_status, fll.new_status, fr.fee_rev_amt, fll.gg_ts,fee_reversal_ind, row_number() over (partition by fld.loan_id, fld.id order by fld.gg_ts desc) rownum1
  119. from
  120. f_lpay_detail fld, fee_reversal fr,
  121. (select loan_id, max(fee_rev_dt) max_rev_dt from fee_reversal group by loan_id) fr1, f_lc_loan_status_log fll
  122. where fld.loan_id=fr.loan_id
  123. and fr.loan_id=fr1.loan_id
  124. and fld.loan_id=fll.loan_id
  125. and fld.due_amt > 0
  126. and trunc(fr.fee_rev_dt) = trunc(fr1.max_rev_dt)
  127. --and fld.loan_id=309299 --testing
  128. ) X, (select fld.due_d,fld.loan_id, fld.id,fld.due_amt, row_number() over (partition by fld.loan_id, fld.id order by fld.gg_ts desc) rownum2
  129. from F_LPAY_DETAIL fld) Y, fee_reversal Z, (select loan_id, max(fee_rev_dt) max_rev_dt from fee_reversal group by loan_id) fr1
  130. where X.rownum1=1
  131. and X.loan_id=Y.loan_id
  132. and Y.loan_id=Z.loan_id
  133. and Z.loan_id = fr1.loan_id
  134. and Y.id=Z.lpay_id
  135. and Y.due_amt > 0
  136. and Y.rownum2=1
  137. and X.due_d >= Y.due_d
  138. --and X.loan_id=309299 --testing
  139. and trunc(Z.fee_rev_dt) = trunc(fr1.max_rev_dt)
  140.  
  141. <================
  142. --Exp_f_lpay_detail_fr
  143. does nothing....pass through
  144.  
  145. __(AIW)tgt Relational (z_f_lpay_detail_fr)
  146.  
  147.  
  148. --AIW(rel reader)SQ_z_f_lpay_detail_fr
  149. SQL Overwrite ==========================>
  150. select fld.lpay_detail_key,
  151. fld.id,
  152. fld.loan_id,
  153. fld.due_d,
  154. fld.due_amt old_due_amt,
  155. fld.fee_rev_amt,
  156. (fld.due_amt - fld.fee_rev_amt) as adj_due_amt
  157. from z_f_lpay_detail_fr fld, fee_reversal fr
  158. where fld.loan_id=fr.loan_id
  159. and fld.due_d >= fr.delq_start_dt
  160. and fld.due_d <= fr.delq_end_dt
  161.  
  162. <============================
  163. --EXP_f_lpay_detail
  164. Adds two new output columns
  165. fee_reversal_ind = 1
  166. aiw_update_ts_O = sysdate
  167. --UPD_f_lpay_detail
  168. dd_update
  169. --(AIW) f_lpay_detail_upd
  170.  
  171. --(AIW)SQ_Dummy
  172. select dummy from dual
  173. --SQL_pre_prep
  174. ===============>
  175. Need to provide the custom SQL entered. Currently it is not readable by me?????
  176. <===============
  177. --dummy1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement