Проверка квитовки платежей
Для проверки квитовки платежей, существует скрипт:
SELECT
/*+ INDEX (MCI_REISES IX_MCI_REISES_DW_TYPE)*/
t.id,
t.amount,
t.lacc_our,
t.shttype,
t.rel_kvit,
NVL(pkg_codes.f_code_by_rn_id_scheme(c.id, pkg_codes.v_scheme_bic),t.bic) as bic,--c.bicdom,
pkg_codes.f_code_by_rn_id_scheme(c.id, pkg_codes.v_scheme_inn) inn,--c.inn,
null, --c.bicint,
--
m.typedoc,
m.laccpol,
m.laccplat,
m.bikpol,
m.bikplat,
m.innpol,
m.innplat,
m.swiftpol,
m.swiftplat
FROM
t_transactions t,
customer c,
mci_reises m,
deal_types_accmask dta
WHERE
1 = 1
AND t.valuedate = to_date('&DateOfTransactionDDMMYYYY','DD.MM.YYYY')
AND ( t.accpointer ='&AccountId')
AND t.parent_id IS NULL
--and t.amount > 0
--and t.rel_kvit is null
AND c.id = t.cid
AND t.bal_id = pkg_balance.pBalType_Main --bitand(t.balancemask,3) > 0
-- Общие условия
and trunc(m.datevvoda) = trunc(t.valuedate)
AND (
(m.typedoc = 1 and m.amount = t.amount)
OR
(m.typedoc IN (2,22) AND m.amount =-t.amount)
)
AND m.accpointer = t.accpointer
AND m.status = 0
-- 1
AND
(
(
(m.typedoc = 1 and m.laccpol = t.lacc_our)
OR
(m.typedoc IN (2,22) and laccplat = t.lacc_our)
)
-- 2
OR (
dta.dealtype = t.shttype
AND
(
(m.bikplat = NVL(pkg_codes.f_code_by_rn_id_scheme(c.id, pkg_codes.v_scheme_bic),t.bic) and m.typedoc = 1)
OR
(m.bikpol = NVL(pkg_codes.f_code_by_rn_id_scheme(c.id, pkg_codes.v_scheme_bic),t.bic) and m.typedoc IN (2,22))
)
AND (
instr(m.laccpol,dta.accmask) = 1
OR instr(m.laccplat,dta.accmask) = 1
)
)
-- 3
OR (
dta.dealtype = t.shttype
AND
(
(m.innplat = pkg_codes.f_code_by_rn_id_scheme(c.id, pkg_codes.v_scheme_inn) and m.typedoc = 1)
OR
(m.innpol = pkg_codes.f_code_by_rn_id_scheme(c.id, pkg_codes.v_scheme_inn) and m.typedoc IN (2,22))
)
AND (
instr(m.laccpol,dta.accmask) = 1
OR instr(m.laccplat,dta.accmask) = 1
)
AND t.shttype IN (
'FX',
'DP'
)
)
-- 4
OR (
m.innplat = pkg_codes.f_code_by_rn_id_scheme(c.id, pkg_codes.v_scheme_inn)
AND nvl(m.laccpol,'00000000000000000000') <> '00000000000000000000'
)
);
/
где
- ChangeDate – дата платежа, когда должна произойти квитовка;
- ChangeAccpointer – идентификатор счета платежа, с которым должна произойти квитовка.
Протоколирование
В релизе 6412 патч 10 добавлено протоколирование вызовов процедуры Автоматической квитовки, для просмотра протокола необходимо выполнить скрипт:
select *
from vw_protocol
where category = 'MCI'
and event_time > td;
/