core-jgi/migration/340s-351a/166_BF_1866214_cont064.sql

30 lines
1.1 KiB
SQL

-- Fix Payment Cash Line
-- [ 1866214 ] Adempiere need can void a Cash Journal
-- https://sourceforge.net/tracker/?func=detail&atid=879335&aid=1866214&group_id=176962
-- pl/sql translation of FixPaymentCashLine
BEGIN
FOR rc IN (SELECT cl.C_CashLine_ID, c.NAME, cl.amount,
cl.C_BankAccount_ID, cl.AD_Client_ID
FROM C_CASHLINE cl INNER JOIN C_CASH c
ON (c.C_Cash_ID = cl.C_Cash_ID)
WHERE cl.CashType = 'T' AND cl.C_Payment_ID IS NULL)
LOOP
FOR rp IN (SELECT c_payment_id
FROM C_PAYMENT p
WHERE p.DocumentNo = rc.NAME
AND R_PnRef = rc.NAME
AND PayAmt = -rc.amount
AND C_BankAccount_ID = rc.C_BankAccount_ID
AND AD_Client_ID = rc.AD_Client_ID
AND TrxType = 'X'
AND TenderType = 'X')
LOOP
UPDATE C_CASHLINE
SET C_Payment_ID = rp.C_Payment_ID
WHERE C_CASHLINE_ID = rc.C_CashLine_ID;
END LOOP;
END LOOP;
COMMIT;
END;
/