Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SELECT DISTINCT -- Distinct, nes apskaita kartais šalina ir kuria iš naujo įrašus (t.y. gali būti daugiau nei vienas įrašas xx_slv020_recalc_actions)
- rec.source_type,
- rec.source_id,
- rcb.cash_receipt_id cash_receipt_id,
- -- Priklausomai nuo to, ar tai atgretinimo įvykis, naudojame DK arba Reversal DK datą
- DECODE(rcb.status,
- 'REVERSED', rcb.reversal_gl_date,
- rcb.gl_date) gl_date,
- DECODE(rcb.status,
- 'REVERSED', rcb.cash_receipt_id,
- -1) reversed_source_id
- FROM
- xx_slv020_recalc_actions rec,
- xx_mais_rcp_balance rcb
- WHERE
- rec.process_status = 1 AND -- Apdorojimo būsena - apdorojamas
- rec.TYPE = 0 AND -- Tipas - naujas (atmetame perskaičiavimus)
- rec.source_type = 'M' AND -- Įvykio tipas - Sugretinimas
- rcb.cash_receipt_id = rec.source_id AND
- -- Jei įplauka stornuota, tikriname ar skirstoma pradinė įplauką. Jei ne, neskirstysime ir stornavimo
- (rcb.status <> 'REVERSED' OR
- EXISTS(
- SELECT
- NULL
- FROM
- xx_slv020_distribute_actions dic
- WHERE
- dic.source_type = rec.source_type AND
- dic.source_id = rec.source_id AND
- dic.reversed_source_id = -1)) AND
- -- Prasisukus apskaitai gali būti, kad atsiras dar vienas įrašas - ignoruojame
- NOT EXISTS(
- SELECT
- NULL
- FROM
- xx_slv020_distribute_actions dic
- WHERE
- dic.source_type = rec.source_type AND
- dic.source_id = rec.source_id AND
- -- Jei įplauka buvo stornuota
- dic.reversed_source_id = DECODE(rcb.status,
- 'REVERSED', rcb.cash_receipt_id,
- -1))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement