function returnMoneyFormula return Number is
l_receive_amount1 NUMBER;
l_receive_amount2 NUMBER;
returnMoney NUMBER;
begin
SELECT nvl(SUM(acr.functional_amount), 0)--付款
INTO l_receive_amount1
FROM ar_cash_receipts_v acr
WHERE TO_CHAR(acr.gl_date,'YYYY-MM-DD') BETWEEN to_char(:STARTDATE,'YYYY-MM-DD') AND to_char(:ENDDATE,'YYYY-MM-DD')
AND acr.state != 'REVERSED'
AND acr.customer_id =(SELECT a.CUSTOMER_ID FROM ar_customers a where a.CUSTOMER_NUMBER=:CUSTOMER_NUMBER);
SELECT nvl(sum(araa.amount_applied),0)--退款
into l_receive_amount2
FROM AR_CASH_RECEIPT_HISTORY_ALL acrh
,AR_CASH_RECEIPTS_all aCR
,AR_RECEIVABLE_APPLICATIONS_all araa
WHERE TO_CHAR(acrh.gl_date,'YYYY-MM-DD') BETWEEN to_char(:STARTDATE,'YYYY-MM-DD') AND to_char(:ENDDATE,'YYYY-MM-DD')
AND acrh.STATUS != 'REVERSED'
AND ACR.CASH_RECEIPT_ID = ACRH.CASH_RECEIPT_ID
AND ACRh.CASH_RECEIPT_HISTORY_ID = araa.CASH_RECEIPT_HISTORY_ID
AND araa.APPLIED_CUSTOMER_TRX_ID is null
AND ACRH.ORG_ID = ACR.ORG_ID
and araa.DISPLAY = 'Y'
and araa.STATUS = 'ACTIVITY'
AND aCR.PAY_FROM_CUSTOMER =(SELECT a.CUSTOMER_ID FROM ar_customers a where a.CUSTOMER_NUMBER=:CUSTOMER_NUMBER);
returnMoney:=(l_receive_amount1-l_receive_amount2);
RETURN nvl(returnMoney,0);
end;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24899662/viewspace-679415/
,如需转载,请注明出处,否则将追究法律责任。