Professional Documents
Culture Documents
vItem NUMBER(10);
vUserExeId NUMBER(10);
vEndFinMonthMId NUMBER(10);
vEndFinMonthDId NUMBER(10);
vItemPartner NUMBER(10);
vItemEmployee NUMBER(10);
vPartnerId NUMBER(10);
vEmployeeId NUMBER(10);
vTotalVoucher NUMBER(18,3);
vBalanceOfFee NUMBER(18,3);
vHoldingId NUMBER(10);
vContributionAmount NUMBER(18,3);
vSalario NUMBER(18,3);
vAdverseBalance NUMBER(18,3);
vInterestAdverseBalance NUMBER(18,3);
vCurrentAdverseBalance NUMBER(18,3);
vInteresTax NUMBER(18,3);
vSumSalesBalance NUMBER(18,3);
vSumLoanBalance NUMBER(18,3);
vSumLoanCapitalBalance NUMBER(18,3);
vSumLoanInterestBalance NUMBER(18,3);
vTotalContribution NUMBER(18,3);
vTotalSocialContribution NUMBER(18,3);
vTotalMantenaiceClub NUMBER(18,3);
vSocialContributionAmount NUMBER(18,3);
vMantenaiceClubAmount NUMBER(18,3);
vCurrentLoanBalance NUMBER(18,3);
vCurrentSalesBalance NUMBER(18,3);
vTotalReceiptCred NUMBER(18,3);
vTotalReceiptFact NUMBER(18,3);
vTotalReceiptFosa NUMBER(18,3);
vEndFinMonthYear NUMBER(4);
vEndFinMonthMonth NUMBER(2);
vItemPartnerFinancialDet NUMBER(10);
CURSOR CUR_VOUCHERS(pInitialDate DATE, pEndDate DATE) IS
SELECT X.TYPE_OPERATION,
X.PARTNER_NAME,
X.PARTNER_ID,
X.CONTRIBUTION_ID,
X.TRANSACTION_TYPE_ID,
X.TRANSACTION_ID,
X.INSTALMENT_NUMBER,
X.INSTALMENT_ID,
X.INTEREST_AMOUNT,
X.CAPIAL_AMOUNT,
X.BALANCE_AMOUNT,
X.ADVERSE_BALANCE_AMOUNT,
X.INSTALMENT_DATE,
X.INITIAL_INSTALMENT
FROM (
SELECT 'P' AS TYPE_OPERATION,
PEO.PERSON_NAME ||' '||PEO.PERSON_LAST_NAME AS PARTNER_NAME,
L.PARTNER_ID AS PARTNER_ID,
-1 AS CONTRIBUTION_ID,
L.TRN_TYPE_ID AS TRANSACTION_TYPE_ID,
L.TRN_ID AS TRANSACTION_ID,
L.SHARE_NUMBER AS INSTALMENT_NUMBER,
L.ID AS INSTALMENT_ID,
L.SHARE_INTEREST_BALANCE AS INTEREST_AMOUNT,
L.CAPITAL_BALANCE AS CAPIAL_AMOUNT,
L.SHARE_BALANCE AS BALANCE_AMOUNT,
0 AS ADVERSE_BALANCE_AMOUNT,
L.SHARE_DATE AS INSTALMENT_DATE,
M.NUMBER_OF_SHARES AS INITIAL_INSTALMENT
FROM LOAN_PARTNER_SHARE L, LOAN_CREDIT_APPLICATION M, CHA_PARTNERS P,
EC_VOUCHER V, HR_PEOPLE PEO
WHERE M.ID = L.TRN_ID
AND M.TRN_TYPE_ID = L.TRN_TYPE_ID
AND PEO.ID = P.PERSON_ID
AND P.ID = L.PARTNER_ID
AND P.COMPANY_ID = L.COMPANY_ID
AND V.ID = M.TRN_TYPE_ID
AND V.SHORT_NAME = 'SOLCRE'
AND NVL(P.IS_LOCKED, 'N') != 'Y'
AND L.SHARE_DATE BETWEEN pInitialDate AND pEndDate
AND NVL(SHARE_BALANCE, 0) > 0
AND M.COMPANY_ID = pCompanyId
UNION ALL
SELECT 'P',
PEO.PERSON_NAME ||' '||PEO.PERSON_LAST_NAME,
B.PARTNER_ID,
-1,
B.TYPE_TRANS_ID,
B.TRANS_ID,
B.INSTALMENTS,
B.ID,
0,
B.BALANCE_OF_FEE,
B.BALANCE_OF_FEE,
0,
B.END_DATE,
C.INSTALMENTS
FROM SALE_VOUCHERS_BALANCE B, SALE_SALES_MASTER M, CHA_PARTNERS P, EC_VOUCHER
V, SALE_SALECONDITION C, HR_PEOPLE PEO
WHERE M.ID = B.TRANS_ID
AND M.TRN_TYPE_ID = B.TYPE_TRANS_ID
AND PEO.ID = P.PERSON_ID
AND P.ID = M.PARTNER_ID
AND V.ID = M.TRN_TYPE_ID
AND C.ID = M.SALE_CONDITION_ID
AND V.SHORT_NAME = 'VENCRE'
AND M.COMPANY_ID = pCompanyId
AND NVL(P.IS_LOCKED, 'N') != 'Y'
AND B.END_DATE BETWEEN pInitialDate AND pEndDate
AND NVL(B.BALANCE_OF_FEE, 0) > 0
AND NVL(B.INSTALMENTS, 0) > 0
UNION ALL
SELECT 'P',
PEO.PERSON_NAME ||' '||PEO.PERSON_LAST_NAME,
B.PARTNER_ID,
-1,
B.TYPE_TRANS_ID,
B.TRANS_ID,
B.INSTALMENTS,
B.ID,
0,
B.BALANCE_OF_FEE,
B.BALANCE_OF_FEE,
0,
B.END_DATE,
C.INSTALMENTS
FROM SALE_VOUCHERS_BALANCE B, AREC_PURCHASES_ORDER_MASTER M, CHA_PARTNERS P,
EC_VOUCHER V, BUY_BUYCONDITION C, HR_PEOPLE PEO
WHERE M.ID = B.TRANS_ID
AND M.TRN_TYPE_ID = B.TYPE_TRANS_ID
AND PEO.ID = P.PERSON_ID
AND P.ID = M.PARTNER_ID
AND V.ID = M.TRN_TYPE_ID
AND V.SHORT_NAME = 'ORDCOM'
AND C.ID = M.BUY_CONDITION_ID
AND M.COMPANY_ID = pCompanyId
AND NVL(P.IS_LOCKED, 'N') != 'Y'
AND B.END_DATE BETWEEN pInitialDate AND pEndDate
AND NVL(B.INSTALMENTS, 0) > 0
AND NVL(B.BALANCE_OF_FEE, 0) > 0
UNION ALL
SELECT 'P',
PEO.PERSON_NAME ||' '||PEO.PERSON_LAST_NAME,
B.PARTNER_ID,
-1,
B.TYPE_TRANS_ID,
B.TRANS_ID,
B.INSTALMENTS,
B.ID,
0,
B.BALANCE_OF_FEE,
B.BALANCE_OF_FEE,
0,
B.END_DATE,
B.INSTALMENTS
FROM SALE_VOUCHERS_BALANCE B, AREC_DRUGSTORE_MASTER M,
--AREC_DRUGSTORE_MIDDLE MD,
CHA_PARTNERS P, EC_VOUCHER V,
--BUY_BUYCONDITION C,
HR_PEOPLE PEO
WHERE M.ID = B.TRANS_ID
AND M.TRN_TYPE_ID = B.TYPE_TRANS_ID
--AND M.ID = MD.MASTER_ID
AND PEO.ID = P.PERSON_ID
--AND P.ID = MD.PARTNER_ID
AND P.ID = B.PARTNER_ID --- AGREGADO
AND V.ID = M.TRN_TYPE_ID
AND V.SHORT_NAME = 'FARMAC'
--AND C.ID = MD.BUY_CONDITION_ID
AND M.COMPANY_ID = pCompanyId
AND NVL(P.IS_LOCKED, 'N') != 'Y'
AND B.END_DATE BETWEEN pInitialDate AND pEndDate
AND NVL(B.INSTALMENTS, 0) > 0
AND NVL(B.BALANCE_OF_FEE, 0) > 0
UNION ALL
SELECT 'P',
PEO.PERSON_NAME ||' '||PEO.PERSON_LAST_NAME,
B.PARTNER_ID,
-1,
B.TYPE_TRANS_ID,
B.TRANS_ID,
B.INSTALMENTS,
B.ID,
0,
B.BALANCE_OF_FEE,
B.BALANCE_OF_FEE,
0,
B.END_DATE,
B.INSTALMENTS
FROM SALE_VOUCHERS_BALANCE B,
AREC_SALES_SERVICES_MASTER M,
--AREC_SALES_SERVICES_MIDDLE MD,
CHA_PARTNERS P,
EC_VOUCHER V,
--BUY_BUYCONDITION C,
HR_PEOPLE PEO
WHERE M.ID = B.TRANS_ID
AND M.TRN_TYPE_ID = B.TYPE_TRANS_ID
AND PEO.ID = P.PERSON_ID
AND P.ID = B.PARTNER_ID -- AGREGADO
AND V.ID = M.TRN_TYPE_ID
AND V.SHORT_NAME = 'VENSER'
--AND C.ID = MD.BUY_CONDITION_ID
AND M.COMPANY_ID = pCompanyId
AND NVL(P.IS_LOCKED, 'N') != 'Y'
AND B.END_DATE BETWEEN pInitialDate AND pEndDate
AND NVL(B.INSTALMENTS, 0) > 0
AND NVL(B.BALANCE_OF_FEE, 0) > 0
UNION ALL
-- ACTIVIDAD POR ASOCIACION. OBS: ESTO YA PODR�AMOS QUITAR
SELECT 'P',
PEO.PERSON_NAME ||' '||PEO.PERSON_LAST_NAME,
B.PARTNER_ID,
-1,
B.TYPE_TRANS_ID,
B.TRANS_ID,
B.INSTALMENTS,
B.ID,
0,
B.BALANCE_OF_FEE,
B.BALANCE_OF_FEE,
0,
B.END_DATE,
C.INSTALMENTS
FROM SALE_VOUCHERS_BALANCE B, AREC_ACTIVITIES_MASTER M, CHA_PARTNERS P,
EC_VOUCHER V, BUY_BUYCONDITION C, HR_PEOPLE PEO
WHERE M.ID = B.TRANS_ID
AND M.TRN_TYPE_ID = B.TYPE_TRANS_ID
AND PEO.ID = P.PERSON_ID
AND B.PARTNER_ID = P.ID
AND V.ID = M.TRN_TYPE_ID
AND V.SHORT_NAME = 'ACTASO'
AND C.ID = M.BUY_CONDITION_ID
AND M.COMPANY_ID = pCompanyId
AND NVL(P.IS_LOCKED, 'N') != 'Y'
AND B.END_DATE BETWEEN pInitialDate AND pEndDate
AND NVL(B.INSTALMENTS, 0) > 0
AND NVL(B.BALANCE_OF_FEE, 0) > 0
UNION ALL
SELECT 'P',
PEO.PERSON_NAME ||' '||PEO.PERSON_LAST_NAME,
B.PARTNER_ID,
-1,
B.TYPE_TRANS_ID,
B.TRANS_ID,
B.INSTALMENTS,
B.ID,
0,
B.BALANCE_OF_FEE,
B.BALANCE_OF_FEE,
0,
B.END_DATE,
C.INSTALMENTS
FROM SALE_VOUCHERS_BALANCE B, CHA_DEBCRE_NOTE_MASTER M, CHA_PARTNERS P,
EC_VOUCHER V, SALE_SALECONDITION C, HR_PEOPLE PEO
WHERE M.ID = B.TRANS_ID
AND M.TRN_TYPE_ID = B.TYPE_TRANS_ID
AND PEO.ID = P.PERSON_ID
AND P.ID = M.PARTNER_ID
AND V.ID = M.TRN_TYPE_ID
AND C.ID = M.SALE_CONDITION_ID
AND V.SHORT_NAME IN ('DEBCRE', 'DEBCON')
AND M.COMPANY_ID = pCompanyId
AND NVL(P.IS_LOCKED, 'N') != 'Y'
AND B.END_DATE BETWEEN pInitialDate AND pEndDate
AND NVL(B.BALANCE_OF_FEE, 0) > 0
AND NVL(B.INSTALMENTS, 0) > 0
UNION ALL
SELECT 'P',
PEO.PERSON_NAME ||' '||PEO.PERSON_LAST_NAME,
P.ID,
C.CONTRIBUTION_ID,
-1,
-1,
-1,
-1,
0,
0,
NVL(C.AMOUNT, 0),
0,
pEndDate,
0
FROM CHA_PARTNER_CONTRIBUTION_CONF C, CHA_PARTNERS P, HR_PEOPLE PEO
WHERE P.ID = C.PARTNER_ID
AND PEO.ID = P.PERSON_ID
AND NVL(C.IN_FORCE, 'N') = 'Y'
AND C.COMPANY_ID = pCompanyId
AND NVL(C.AMOUNT, 0) > 0
AND NVL(P.IS_LOCKED, 'N') != 'Y'
AND NVL(P.FREE_FROM_OBLIGATION, 'N') = 'N'
AND NOT EXISTS (SELECT SUM(NVL(M.TOTAL_VOUCHERS, 0))
FROM AREC_RECEIPT_CHARGES_MASTER M,
AREC_RECEIPT_CHARGES_DET D
WHERE M.ID = D.MASTER_ID
AND M.COMPANY_ID = C.COMPANY_ID
AND M.PARTNER_ID = P.ID
AND D.CONTRIBUTION_ID = C.CONTRIBUTION_ID
AND D.CONTRIBUTION_YEAR = vEndFinMonthYear
AND D.CONTRIBUTION_MONTH = vEndFinMonthMonth
HAVING SUM(NVL(M.TOTAL_VOUCHERS, 0)) >= C.AMOUNT)
--AND P.PARTNER_NAME NOT LIKE 'NO_DATA%'
UNION ALL
SELECT 'E',
PEO.PERSON_NAME ||' '||PEO.PERSON_LAST_NAME,
B.EMPLOYEE_ID,
-1,
B.TYPE_TRANS_ID,
B.TRANS_ID,
B.INSTALMENTS,
B.ID,
0,
B.BALANCE_OF_FEE,
B.BALANCE_OF_FEE,
B.BALANCE_OF_FEE,
B.END_DATE,
C.INSTALMENTS
FROM SALE_VOUCHERS_BALANCE B, CHA_END_ADVERSEBALANCE_MASTER M,
CHA_END_ADVERSEBALANCE_DET D, HR_EMPLOYEES E,
EC_VOUCHER V, SALE_SALECONDITION C, HR_PEOPLE PEO
WHERE M.ID = D.MASTER_ID
AND D.ID = B.TRANS_ID
AND M.TRN_TYPE_ID = B.TYPE_TRANS_ID
AND PEO.ID = E.PERSON_ID
AND E.ID = D.EMPLOYEE_ID
AND V.ID = M.TRN_TYPE_ID
AND V.SHORT_NAME = 'SALROJ'
AND C.ID = M.SALE_CONDITION_ID
AND M.COMPANY_ID = pCompanyId
AND NVL(E.IS_LOCKED, 'N') != 'Y'
AND B.END_DATE BETWEEN pInitialDate AND pEndDate
AND NVL(B.INSTALMENTS, 0) > 0
AND NVL(B.BALANCE_OF_FEE, 0) > 0
UNION ALL
SELECT 'E',
PEO.PERSON_NAME ||' '||PEO.PERSON_LAST_NAME,
B.EMPLOYEE_ID,
-1,
B.TYPE_TRANS_ID,
B.TRANS_ID,
B.INSTALMENTS,
B.ID,
0,
B.BALANCE_OF_FEE,
B.BALANCE_OF_FEE,
0,
B.END_DATE,
S.INSTALMENTS
FROM SALE_VOUCHERS_BALANCE B, SALE_SALES_MASTER M, HR_EMPLOYEES E, EC_VOUCHER
V, SALE_SALECONDITION S, HR_PEOPLE PEO
WHERE M.ID = B.TRANS_ID
AND M.TRN_TYPE_ID = B.TYPE_TRANS_ID
AND PEO.ID = E.PERSON_ID
AND E.ID = M.EMPLOYEE_ID
AND M.PARTNER_ID IS NULL
AND V.ID = M.TRN_TYPE_ID
AND V.SHORT_NAME = 'VENCRE'
AND E.ID NOT IN (SELECT PP.EMPLOYEE_ID
FROM CHA_PARTNERS PP
WHERE NVL(PP.IS_LOCKED, 'N') = 'Y')
AND S.ID = M.SALE_CONDITION_ID
AND M.COMPANY_ID = pCompanyId
AND NVL(E.IS_LOCKED, 'N') != 'Y'
AND B.END_DATE BETWEEN pInitialDate AND pEndDate
AND NVL(B.INSTALMENTS, 0) > 0
AND NVL(B.BALANCE_OF_FEE, 0) > 0
UNION ALL
SELECT 'E',
PEO.PERSON_NAME ||' '||PEO.PERSON_LAST_NAME,
B.EMPLOYEE_ID,
-1,
B.TYPE_TRANS_ID,
B.TRANS_ID,
B.INSTALMENTS,
B.ID,
0,
B.BALANCE_OF_FEE,
B.BALANCE_OF_FEE,
0,
B.END_DATE,
S.INSTALMENTS
FROM SALE_VOUCHERS_BALANCE B, AREC_PURCHASES_ORDER_MASTER M, HR_EMPLOYEES E,
EC_VOUCHER V, BUY_BUYCONDITION S, HR_PEOPLE PEO
WHERE M.ID = B.TRANS_ID
AND M.TRN_TYPE_ID = B.TYPE_TRANS_ID
AND PEO.ID = E.PERSON_ID
AND E.ID = M.EMPLOYEE_ID
AND M.PARTNER_ID IS NULL
AND V.ID = M.TRN_TYPE_ID
AND V.SHORT_NAME = 'ORDCOM'
AND E.ID NOT IN (SELECT PP.EMPLOYEE_ID
FROM CHA_PARTNERS PP
WHERE NVL(PP.IS_LOCKED, 'N') = 'Y')
AND S.ID = M.BUY_CONDITION_ID
AND M.COMPANY_ID = pCompanyId
AND NVL(E.IS_LOCKED, 'N') != 'Y'
AND B.END_DATE BETWEEN pInitialDate AND pEndDate
AND NVL(B.INSTALMENTS, 0) > 0
AND NVL(B.BALANCE_OF_FEE, 0) > 0
UNION ALL
SELECT 'E',
PEO.PERSON_NAME ||' '||PEO.PERSON_LAST_NAME,
B.EMPLOYEE_ID,
-1,
B.TYPE_TRANS_ID,
B.TRANS_ID,
B.INSTALMENTS,
B.ID,
0,
B.BALANCE_OF_FEE,
B.BALANCE_OF_FEE,
0,
B.END_DATE,
B.INSTALMENTS
FROM SALE_VOUCHERS_BALANCE B, AREC_DRUGSTORE_MASTER M,
--AREC_DRUGSTORE_MIDDLE MD,
HR_EMPLOYEES E, EC_VOUCHER V,
--BUY_BUYCONDITION S,
HR_PEOPLE PEO
WHERE M.ID = B.TRANS_ID
AND M.TRN_TYPE_ID = B.TYPE_TRANS_ID
--AND M.ID = MD.MASTER_ID
AND PEO.ID = E.PERSON_ID
--AND E.ID = MD.EMPLOYEE_ID
AND E.ID = B.EMPLOYEE_ID -- AGREGADO
AND B.PARTNER_ID IS NULL
AND V.ID = M.TRN_TYPE_ID
AND V.SHORT_NAME = 'FARMAC'
AND E.ID NOT IN (SELECT PP.EMPLOYEE_ID
FROM CHA_PARTNERS PP
WHERE NVL(PP.IS_LOCKED, 'N') = 'Y')
--AND S.ID = MD.BUY_CONDITION_ID
AND M.COMPANY_ID = pCompanyId
AND NVL(E.IS_LOCKED, 'N') != 'Y'
AND B.END_DATE BETWEEN pInitialDate AND pEndDate
AND NVL(B.INSTALMENTS, 0) > 0
AND NVL(B.BALANCE_OF_FEE, 0) > 0
UNION ALL
SELECT 'E',
PEO.PERSON_NAME ||' '||PEO.PERSON_LAST_NAME,
B.EMPLOYEE_ID,
-1,
B.TYPE_TRANS_ID,
B.TRANS_ID,
B.INSTALMENTS,
B.ID,
0,
B.BALANCE_OF_FEE,
B.BALANCE_OF_FEE,
0,
B.END_DATE,
B.INSTALMENTS
FROM SALE_VOUCHERS_BALANCE B, AREC_SALES_SERVICES_MASTER M,
--AREC_SALES_SERVICES_MIDDLE MD,
HR_EMPLOYEES E, EC_VOUCHER V,
--BUY_BUYCONDITION S,
HR_PEOPLE PEO
WHERE M.ID = B.TRANS_ID
--AND M.ID = MD.MASTER_ID
AND M.TRN_TYPE_ID = B.TYPE_TRANS_ID
AND PEO.ID = E.PERSON_ID
--AND E.ID = MD.EMPLOYEE_ID
AND E.ID = B.EMPLOYEE_ID -- AGREGADO
AND B.PARTNER_ID IS NULL
AND V.ID = M.TRN_TYPE_ID
AND V.SHORT_NAME = 'VENSER'
AND E.ID NOT IN (SELECT PP.EMPLOYEE_ID
FROM CHA_PARTNERS PP
WHERE NVL(PP.IS_LOCKED, 'N') = 'Y')
--AND S.ID = MD.BUY_CONDITION_ID
AND M.COMPANY_ID = pCompanyId
AND NVL(E.IS_LOCKED, 'N') != 'Y'
AND B.END_DATE BETWEEN pInitialDate AND pEndDate
AND NVL(B.INSTALMENTS, 0) > 0
AND NVL(B.BALANCE_OF_FEE, 0) > 0
UNION ALL
SELECT 'E',
PEO.PERSON_NAME ||' '||PEO.PERSON_LAST_NAME,
B.EMPLOYEE_ID,
-1,
B.TYPE_TRANS_ID,
B.TRANS_ID,
B.INSTALMENTS,
B.ID,
0,
B.BALANCE_OF_FEE,
B.BALANCE_OF_FEE,
0,
B.END_DATE,
C.INSTALMENTS
FROM SALE_VOUCHERS_BALANCE B, AREC_ESPSALES_EMP_MASTER M, HR_EMPLOYEES E,
EC_VOUCHER V, SALE_SALECONDITION C, HR_PEOPLE PEO
WHERE M.ID = B.TRANS_ID
AND M.TRN_TYPE_ID = B.TYPE_TRANS_ID
AND PEO.ID = E.PERSON_ID
AND B.EMPLOYEE_ID = E.ID
AND V.ID = M.TRN_TYPE_ID
AND V.SHORT_NAME = 'VENESE' -- VENTA ESPECIAL A EMPLEADOS
AND E.ID NOT IN (SELECT PP.EMPLOYEE_ID
FROM CHA_PARTNERS PP
WHERE NVL(PP.IS_LOCKED, 'N') = 'Y')
AND C.ID = M.SALE_CONDITION_ID
AND M.COMPANY_ID = pCompanyId
AND NVL(E.IS_LOCKED, 'N') != 'Y'
AND B.END_DATE BETWEEN pInitialDate AND pEndDate
AND NVL(B.INSTALMENTS, 0) > 0
AND NVL(B.BALANCE_OF_FEE, 0) > 0
UNION ALL
SELECT 'E',
PEO.PERSON_NAME ||' '||PEO.PERSON_LAST_NAME,
B.EMPLOYEE_ID,
-1,
B.TYPE_TRANS_ID,
B.TRANS_ID,
B.INSTALMENTS,
B.ID,
0,
B.BALANCE_OF_FEE,
B.BALANCE_OF_FEE,
0,
B.END_DATE,
S.INSTALMENTS
FROM SALE_VOUCHERS_BALANCE B, CHA_DEBCRE_NOTE_MASTER M, HR_EMPLOYEES E,
EC_VOUCHER V, SALE_SALECONDITION S, HR_PEOPLE PEO
WHERE M.ID = B.TRANS_ID
AND M.TRN_TYPE_ID = B.TYPE_TRANS_ID
AND PEO.ID = E.PERSON_ID
AND E.ID = M.EMPLOYEE_ID
AND M.PARTNER_ID IS NULL
AND V.ID = M.TRN_TYPE_ID
AND V.SHORT_NAME IN ('DEBCRE', 'DEBCON')
AND E.ID NOT IN (SELECT PP.EMPLOYEE_ID
FROM CHA_PARTNERS PP
WHERE NVL(PP.IS_LOCKED, 'N') = 'Y')
AND S.ID = M.SALE_CONDITION_ID
AND M.COMPANY_ID = pCompanyId
AND NVL(E.IS_LOCKED, 'N') != 'Y'
AND B.END_DATE BETWEEN pInitialDate AND pEndDate
AND NVL(B.INSTALMENTS, 0) > 0
AND NVL(B.BALANCE_OF_FEE, 0) > 0
ORDER BY 1, 2, 3, 4, 5, 6) X; ---COVID: WHERE X.TRANSACTION_TYPE_ID NOT IN (2,
7, 8, 14, 29, 18 ); --, EC_VOUCHER VOU WHERE VOU.SHORT_NAME NOT IN ('SOLCRE',
'VENCRE', 'ORDCOM');
RETURN vReturn;
EXCEPTION
WHEN eAlgunErrorIn THEN
RETURN 0;
WHEN OTHERS THEN
RETURN 0;
END;
EXCEPTION
WHEN OTHERS THEN
RETURN 0;
END;
----------
-- MAIN --
----------
BEGIN
BEGIN
SELECT ID
INTO vUserExeId
FROM EC_USERS U
WHERE U.LOGIN = USER;
EXCEPTION
WHEN OTHERS THEN
vUserExeId := 1;
END;
DECLARE
vStatusCierre VARCHAR2(1) := 'A';
BEGIN
SELECT E.ID,
E.END_NUMBER,
TRUNC(E.INITIAL_DATE),
TO_DATE(TO_CHAR(E.END_DATE, 'DD/MM/YYYY')||' 23:59:59', 'DD/MM/YYYY
HH24:MI:SS'),
E.END_YEAR,
E.END_MONTH,
E.STATUS
INTO vEndFinancialId,
vEndNumber,
vFecIni,
vFecFin,
vEndFinMonthYear,
vEndFinMonthMonth,
vStatusCierre
FROM CHA_END_FINANCIAL_MONTH E
WHERE E.COMPANY_ID = pCompanyId
AND E.STATUS IN ('A', 'P');
-- BORRAMOS EL DETALLE --
DELETE FROM CHA_END_FINANCIAL_MONTH_DET D
WHERE D.MASTER_ID = (SELECT ID
FROM CHA_END_FINANCIAL_MONTH_MASTER M
WHERE M.END_FINALCIAL_ID = vEndFinancialId);
-- BORRAMOS LA CABECERA --
DELETE FROM CHA_END_FINANCIAL_MONTH_MASTER M WHERE M.END_FINALCIAL_ID =
vEndFinancialId;
END IF;
EXCEPTION
WHEN NO_DATA_FOUND THEN
vMsg := 'No existen datos configurados para el cierre del mes';
RAISE eAlgunError;
WHEN TOO_MANY_ROWS THEN
vMsg := 'Existen varios registros activos/procesados pendientes de cierre,
favor verificar para luego generar cierre pendiente';
RAISE eAlgunError;
WHEN OTHERS THEN
vMsg := 'Error busca cierre activo. '||SQLERRM;
RAISE eAlgunError;
END;
DECLARE
vCantPend NUMBER(10) := 0;
eAlgunErrorIn EXCEPTION;
BEGIN
SELECT COUNT(1)
INTO vCantPend
FROM CHA_END_FINANCIAL_MONTH_MASTER M
WHERE M.COMPANY_ID = pCompanyId
AND M.STATUS = 'PEND';
EXCEPTION
WHEN eAlgunErrorIn THEN
RAISE eAlgunError;
WHEN OTHERS THEN
vMsg := 'Error valida cierres pendientes. '||SQLERRM;
RAISE eAlgunError;
END;
IF NVL(vCantConf, 0) != 1 THEN
vMsg := 'Debe configurar el saldo rojo para el cierre numero '||
TO_CHAR(vEndNumber)||' y confirmarlo';
RAISE eAlgunErrorIn;
END IF;
EXCEPTION
WHEN eAlgunErrorIn THEN
RAISE eAlgunError;
WHEN OTHERS THEN
vMsg := 'Error valida saldo rojo. '||SQLERRM;
RAISE eAlgunError;
END;
SELECT SEQ_CHA_ENDFINAMONTH_MASTER.NEXTVAL
INTO vEndFinMonthMId
FROM DUAL;
BEGIN
vItem := NVL(vItem, 0) + 1;
SELECT SEQ_CHA_ENDFINAMONTH_DET.NEXTVAL
INTO vEndFinMonthDId
FROM DUAL;
vTotalVoucher := 0;
vBalanceOfFee := 0;
vContributionAmount := 0;
IF REG.TRANSACTION_TYPE_ID != -1 AND REG.CONTRIBUTION_ID != -1 THEN
-- SECCION SALDO ROJO --
vTotalVoucher := 0;
vBalanceOfFee := 0;
vContributionAmount := 0;
ELSIF REG.TRANSACTION_TYPE_ID != -1 THEN
-- BUSCA TOTAL VOUCHER --
vTotalVoucher := FP_TOTAL_VOUCHER(REG.TRANSACTION_TYPE_ID,
REG.TRANSACTION_ID);
vBalanceOfFee := FP_BALANCE_OF_FEE(REG.TRANSACTION_TYPE_ID,
REG.TRANSACTION_ID);
vContributionAmount := 0;
ELSIF REG.CONTRIBUTION_ID != -1 THEN
-- SECCOIN APORTES --
vTotalVoucher := 0;
vBalanceOfFee := 0;
vContributionAmount := FP_PARTNER_CONTRIBUTION_CONF(REG.PARTNER_ID,
REG.CONTRIBUTION_ID);
vContributionAmount := vContributionAmount -
FP_GET_PAGO_ADEL_NO_TOT(pCompanyId, REG.PARTNER_ID, REG.CONTRIBUTION_ID,
vContributionAmount);
END IF;
END LOOP;
vItemPartner := 0;
-- VERIFICAR LA SIGUIENTE VARIABLE Y RENOMBRARLA PARA EL LOOP ANTERIOR
vContributionAmount := 0;
FOR RSUM IN CUR_SUM_END_FINAN_PARTNERS(vEndFinMonthMId) LOOP
vSalario := 0;
BEGIN
SELECT NVL(H.BASIC_SALARY, 0)
INTO vSalario
FROM HR_EMPLOYEES H
WHERE H.ID = (SELECT P.EMPLOYEE_ID
FROM CHA_PARTNERS P
WHERE P.COMPANY_ID = RSUM.COMPANY_ID
AND P.ID = RSUM.PARTNER_ID);
EXCEPTION
WHEN OTHERS THEN
vSalario := 0;
END;
vSumSalesBalance := 0;
BEGIN
SELECT SUM(NVL(V.BALANCE_OF_FEE, 0))
INTO vSumSalesBalance
FROM SALE_VOUCHERS_BALANCE V
WHERE V.PARTNER_ID = RSUM.PARTNER_ID
AND NVL(V.INSTALMENTS, 0) > 0
AND NVL(V.BALANCE_OF_FEE, 0) > 0;
EXCEPTION
WHEN OTHERS THEN
vSumSalesBalance := 0;
END;
vSumLoanBalance := 0; vSumLoanCapitalBalance:= 0;
BEGIN
SELECT SUM(NVL(S.SHARE_BALANCE, 0)),
SUM(NVL(S.CAPITAL_BALANCE, 0)),
SUM(NVL(S.SHARE_INTEREST_BALANCE, 0))
INTO vSumLoanBalance,
vSumLoanCapitalBalance,
vSumLoanInterestBalance
FROM LOAN_PARTNER_SHARE S
WHERE S.PARTNER_ID = RSUM.PARTNER_ID
AND NVL(S.SHARE_BALANCE, 0) > 0;
EXCEPTION
WHEN OTHERS THEN
vSumLoanBalance := 0;
vSumLoanCapitalBalance := 0;
vSumLoanInterestBalance := 0;
END;
vTotalContribution := 0;
BEGIN
SELECT SUM(NVL(C.TOTAL_AMOUNT,0))
INTO vTotalContribution
FROM CHA_PARTNER_CONTRIBUTIONS C
WHERE C.PARTNER_ID = RSUM.PARTNER_ID
AND C.CONTRIBUTION_ID IN (SELECT A.ID
FROM CHA_CONTRIBUTION_CONF A
WHERE A.COMPANY_ID = RSUM.COMPANY_ID
AND A.COD IN ('APORT', 'APOEX')); -- SE AGREGA
EXTRAORDINARIO --
EXCEPTION
WHEN OTHERS THEN
vTotalContribution := 0;
END;
vTotalSocialContribution := 0;
BEGIN
SELECT C.TOTAL_AMOUNT
INTO vTotalSocialContribution
FROM CHA_PARTNER_CONTRIBUTIONS C
WHERE C.PARTNER_ID = RSUM.PARTNER_ID
AND C.CONTRIBUTION_ID = (SELECT A.ID
FROM CHA_CONTRIBUTION_CONF A
WHERE A.COMPANY_ID = RSUM.COMPANY_ID
AND A.COD = 'CUOSO');
EXCEPTION
WHEN OTHERS THEN
vTotalSocialContribution := 0;
END;
vTotalMantenaiceClub := 0;
BEGIN
SELECT C.TOTAL_AMOUNT
INTO vTotalMantenaiceClub
FROM CHA_PARTNER_CONTRIBUTIONS C
WHERE C.PARTNER_ID = RSUM.PARTNER_ID
AND C.COMPANY_ID = RSUM.COMPANY_ID
AND C.CONTRIBUTION_ID = (SELECT A.ID
FROM CHA_CONTRIBUTION_CONF A
WHERE A.COMPANY_ID = RSUM.COMPANY_ID
AND A.COD = 'MCSOC');
EXCEPTION
WHEN OTHERS THEN
vTotalMantenaiceClub := 0;
END;
vContributionAmount := 0;
BEGIN
SELECT NVL(D.CONTRIBUTION_AMOUNT, 0)
INTO vContributionAmount
FROM CHA_END_FINANCIAL_MONTH_DET D
WHERE D.MASTER_ID = vEndFinMonthMId
AND D.PARTNER_ID = RSUM.PARTNER_ID
AND D.CONTRIBUTION_ID = (SELECT A.ID
FROM CHA_CONTRIBUTION_CONF A
WHERE A.COMPANY_ID = RSUM.COMPANY_ID
AND A.COD = 'APORT');
EXCEPTION
WHEN OTHERS THEN
vContributionAmount := 0;
END;
vSocialContributionAmount := 0;
BEGIN
SELECT NVL(D.CONTRIBUTION_AMOUNT, 0)
INTO vSocialContributionAmount
FROM CHA_END_FINANCIAL_MONTH_DET D
WHERE D.MASTER_ID = vEndFinMonthMId
AND D.PARTNER_ID = RSUM.PARTNER_ID
AND D.CONTRIBUTION_ID = (SELECT A.ID
FROM CHA_CONTRIBUTION_CONF A
WHERE A.COMPANY_ID = RSUM.COMPANY_ID
AND A.COD = 'CUOSO');
EXCEPTION
WHEN OTHERS THEN
vSocialContributionAmount := 0;
END;
vMantenaiceClubAmount := 0;
BEGIN
SELECT NVL(D.CONTRIBUTION_AMOUNT, 0)
INTO vMantenaiceClubAmount
FROM CHA_END_FINANCIAL_MONTH_DET D
WHERE D.MASTER_ID = vEndFinMonthMId
AND D.PARTNER_ID = RSUM.PARTNER_ID
AND D.CONTRIBUTION_ID = (SELECT A.ID
FROM CHA_CONTRIBUTION_CONF A
WHERE A.COMPANY_ID = RSUM.COMPANY_ID
AND A.COD = 'MCSOC');
EXCEPTION
WHEN OTHERS THEN
vMantenaiceClubAmount := 0;
END;
vAdverseBalance := 0;
vInterestAdverseBalance := 0;
vCurrentAdverseBalance := 0;
BEGIN
vAdverseBalance := NVL(RSUM.SUM_ADV_BALANCE_AMOUNT, 0);
vInterestAdverseBalance := 0;-- ROUND(NVL(RSUM.SUM_ADV_BALANCE_AMOUNT, 0) *
NVL(cPorCierreSalRojo,0) / 100);
-- ya se carga por factura,
-- cuando se imprima facturas
-- por sistema deber� generarse
-- automaticamente la factura.
vCurrentAdverseBalance := NVL(vAdverseBalance, 0) +
NVL(vInterestAdverseBalance, 0);
EXCEPTION
WHEN OTHERS THEN
vInterestAdverseBalance := 0;
vCurrentAdverseBalance := 0;
END;
vInteresTax := 0;
BEGIN
IF NVL(RSUM.SUM_INTEREST_AMOUNT, 0) > 0 THEN
vInteresTax := ROUND(NVL(RSUM.SUM_INTEREST_AMOUNT, 0) *
NVL(cPorCierreIva,0) / 100);
ELSE
vInteresTax := NVL(RSUM.SUM_INTEREST_AMOUNT, 0);
END IF;
EXCEPTION
WHEN OTHERS THEN
vInteresTax := NVL(RSUM.SUM_INTEREST_AMOUNT, 0);
END;
BEGIN
SELECT SUM(NVL(D.TOTAL_AMOUNT, 0))
INTO vCurrentLoanBalance
FROM CHA_END_FINANCIAL_MONTH_DET D
WHERE D.MASTER_ID = vEndFinMonthMId
AND D.PARTNER_ID = RSUM.PARTNER_ID
AND D.TRN_TYPE_ID = (SELECT ID
FROM EC_VOUCHER V
WHERE V.COMPANY_ID = RSUM.COMPANY_ID
AND V.SHORT_NAME = 'SOLCRE');
EXCEPTION
WHEN OTHERS THEN
vCurrentLoanBalance := 0;
END;
vCurrentSalesBalance := 0;
BEGIN
SELECT SUM(NVL(D.TOTAL_AMOUNT, 0))
INTO vCurrentSalesBalance
FROM CHA_END_FINANCIAL_MONTH_DET D
WHERE D.MASTER_ID = vEndFinMonthMId
AND D.PARTNER_ID = RSUM.PARTNER_ID
AND D.TRN_TYPE_ID NOT IN (SELECT ID
FROM EC_VOUCHER V
WHERE V.COMPANY_ID = RSUM.COMPANY_ID
AND V.SHORT_NAME = 'SOLCRE');
EXCEPTION
WHEN OTHERS THEN
vCurrentSalesBalance := 0;
END;
vTotalReceiptCred := 0;
BEGIN
SELECT SUM(NVL(C.TOTAL, 0))
INTO vTotalReceiptCred
FROM AREC_RECEIPT_CHARGES_MASTER C
WHERE C.PARTNER_ID = RSUM.PARTNER_ID
AND C.RECEIPT_TYPE = 'CRED'
AND C.END_FINALCIAL_ID IS NULL
AND C.RECEIPT_DATE BETWEEN vFecIni - 10 AND vFecFin;
EXCEPTION
WHEN OTHERS THEN
vTotalReceiptCred := 0;
END;
vTotalReceiptFact := 0;
BEGIN
SELECT SUM(NVL(C.TOTAL, 0))
INTO vTotalReceiptFact
FROM AREC_RECEIPT_CHARGES_MASTER C
WHERE C.PARTNER_ID = RSUM.PARTNER_ID
AND C.RECEIPT_TYPE = 'FACT'
AND C.END_FINALCIAL_ID IS NULL
AND C.RECEIPT_DATE BETWEEN vFecIni - 10 AND vFecFin;
EXCEPTION
WHEN OTHERS THEN
vTotalReceiptFact := 0;
END;
vTotalReceiptFosa := 0;
BEGIN
SELECT SUM(NVL(C.TOTAL, 0))
INTO vTotalReceiptFosa
FROM AREC_RECEIPT_CHARGES_MASTER C
WHERE C.PARTNER_ID = RSUM.PARTNER_ID
AND C.RECEIPT_TYPE = 'FOSA'
AND C.END_FINALCIAL_ID IS NULL
AND C.RECEIPT_DATE BETWEEN vFecIni - 10 AND vFecFin;
EXCEPTION
WHEN OTHERS THEN
vTotalReceiptFosa := 0;
END;
vItemPartner := NVL(vItemPartner, 0) + 1;
INSERT INTO CHA_END_FINANCIALMONTH_PARTNER(ID, MASTER_ID, ITEM,
PARTNER_ID, EMPLOYEE_ID,
COMPANY_HOLDING_ID,
CAPITAL_AMOUNT, INTEREST_AMOUNT,
INTEREST_TAX,
CONTRIBUTION_AMOUNT,
SOCIAL_CONTRIBUTION_AMOUNT, MANTENAICE_CLUB_AMOUNT,
TOTAL_CONTRIBUTION,
TOTAL_SOCIAL_CONTRIBUTION, TOTAL_MANTENAICE_CLUB,
TOTAL_AMOUNT,
TOTAL_LOAN_CAPITAL_BALANCE, TOTAL_LOAN_INTEREST_BALANCE,
TOTAL_LOAN_BALANCE,
CURRENT_LOAN_BALANCE, TOTAL_SALES_BALANCE,
CURRENT_SALES_BALANCE,
LAST_ADVERSE_BALANCE_AMOUNT, ADVERSE_BALANCE_INTEREST,
ADVERSE_BALANCE_AMOUNT,
TOTAL_COLLECT, USER_INS,
TOTAL_RECEIPT_CRED,
TOTAL_RECEIPT_FACT, TOTAL_RECEIPT_FOSA,
START_DATE, STATUS)
VALUES(SEQ_CHA_ENDFINANCMONTH_PARTNER.NEXTVAL, vEndFinMonthMId, vItemPartner,
RSUM.PARTNER_ID, NULL, RSUM.COMPANY_HOLDING_ID,
RSUM.SUM_CAPITAL_AMOUNT, RSUM.SUM_INTEREST_AMOUNT, NVL(vInteresTax, 0),
NVL(vContributionAmount, 0), NVL(vSocialContributionAmount, 0),
NVL(vMantenaiceClubAmount, 0),
NVL(vTotalContribution, 0), NVL(vTotalSocialContribution, 0),
NVL(vTotalMantenaiceClub, 0),
NVL(RSUM.SUM_TOTAL_AMOUNT, 0) - NVL(RSUM.SUM_INTEREST_AMOUNT, 0),
NVL(vSumLoanCapitalBalance, 0), NVL(vSumLoanInterestBalance, 0),
NVL(vSumLoanBalance, 0), NVL(vCurrentLoanBalance, 0),
NVL(vSumSalesBalance, 0),
NVL(vCurrentSalesBalance, 0), NVL(vAdverseBalance, 0),
NVL(vInterestAdverseBalance, 0),
NVL(vCurrentAdverseBalance, 0), 0, vUserExeId,
NVL(vTotalReceiptCred, 0), NVL(vTotalReceiptFact, 0),
NVL(vTotalReceiptFosa, 0),
cSysdate, 'P');
END LOOP;
vItemEmployee := 0;
FOR RSUM IN CUR_SUM_END_FINAN_EMPLOYEES(vEndFinMonthMId) LOOP
vSalario := 0;
BEGIN
SELECT NVL(H.BASIC_SALARY, 0)
INTO vSalario
FROM HR_EMPLOYEES H
WHERE H.ID = RSUM.EMPLOYEE_ID;
EXCEPTION
WHEN OTHERS THEN
vSalario := 0;
END;
vSumSalesBalance := 0;
BEGIN
SELECT SUM(NVL(V.BALANCE_OF_FEE, 0))
INTO vSumSalesBalance
FROM SALE_VOUCHERS_BALANCE V
WHERE V.EMPLOYEE_ID = RSUM.EMPLOYEE_ID
AND NVL(V.INSTALMENTS, 0) > 0
AND NVL(V.BALANCE_OF_FEE, 0) > 0;
EXCEPTION
WHEN OTHERS THEN
vSumSalesBalance := 0;
END;
vTotalReceiptCred := 0;
BEGIN
SELECT SUM(NVL(C.TOTAL, 0))
INTO vTotalReceiptCred
FROM AREC_RECEIPT_CHARGES_MASTER C
WHERE C.EMPLOYEE_ID = RSUM.EMPLOYEE_ID
AND C.RECEIPT_TYPE = 'CRED'
AND C.END_FINALCIAL_ID IS NULL
AND C.RECEIPT_DATE BETWEEN vFecIni - 10 AND vFecFin;
EXCEPTION
WHEN OTHERS THEN
vTotalReceiptCred := 0;
END;
vTotalReceiptFact := 0;
BEGIN
SELECT SUM(NVL(C.TOTAL, 0))
INTO vTotalReceiptFact
FROM AREC_RECEIPT_CHARGES_MASTER C
WHERE C.EMPLOYEE_ID = RSUM.EMPLOYEE_ID
AND C.RECEIPT_TYPE = 'FACT'
AND C.END_FINALCIAL_ID IS NULL
AND C.RECEIPT_DATE BETWEEN vFecIni - 10 AND vFecFin;
EXCEPTION
WHEN OTHERS THEN
vTotalReceiptFact := 0;
END;
vTotalReceiptFosa := 0;
BEGIN
SELECT SUM(NVL(C.TOTAL, 0))
INTO vTotalReceiptFosa
FROM AREC_RECEIPT_CHARGES_MASTER C
WHERE C.EMPLOYEE_ID = RSUM.EMPLOYEE_ID
AND C.RECEIPT_TYPE = 'FOSA'
AND C.END_FINALCIAL_ID IS NULL
AND C.RECEIPT_DATE BETWEEN vFecIni - 10 AND vFecFin;
EXCEPTION
WHEN OTHERS THEN
vTotalReceiptFosa := 0;
END;
vItemEmployee := NVL(vItemEmployee, 0) + 1;
INSERT INTO CHA_END_FINANCIALMONTH_PARTNER(ID, MASTER_ID, ITEM, PARTNER_ID,
EMPLOYEE_ID,
INTEREST_AMOUNT, CAPITAL_AMOUNT,
TOTAL_AMOUNT,
TOTAL_COLLECT,
CURRENT_SALES_BALANCE,
TOTAL_LOAN_BALANCE,
TOTAL_SALES_BALANCE,
USER_INS, START_DATE, STATUS,
TOTAL_CONTRIBUTION,
TOTAL_SOCIAL_CONTRIBUTION,
TOTAL_MANTENAICE_CLUB,
COMPANY_HOLDING_ID,
ADVERSE_BALANCE_AMOUNT,
TOTAL_RECEIPT_CRED,
TOTAL_RECEIPT_FACT, TOTAL_RECEIPT_FOSA)
VALUES(SEQ_CHA_ENDFINANCMONTH_PARTNER.NEXTVAL, vEndFinMonthMId, vItemEmployee,
NULL, RSUM.EMPLOYEE_ID,
RSUM.SUM_INTEREST_AMOUNT, RSUM.SUM_CAPITAL_AMOUNT,
RSUM.SUM_TOTAL_AMOUNT,
RSUM.SUM_CAPITAL_AMOUNT, RSUM.SUM_CAPITAL_AMOUNT,
0, NVL(vSumSalesBalance, 0),
vUserExeId, cSysdate, 'P',
0, 0,
0,
RSUM.COMPANY_HOLDING_ID, RSUM.SUM_ADV_BALANCE_AMOUNT,
NVL(vTotalReceiptCred, 0), NVL(vTotalReceiptFact, 0),
NVL(vTotalReceiptFosa, 0));
END LOOP;
---------------------------------------
--- Para el reporte de conciliacion ---
---------------------------------------
vItemPartnerFinancialDet := 0;
FOR RSUM IN (SELECT DISTINCT PARTNER_ID, COMPANY_HOLDING_ID
FROM CHA_END_FINANCIAL_MONTH_DET D,
CHA_END_FINANCIAL_MONTH_MASTER M
WHERE M.ID = vEndFinMonthMId
AND M.ID = D.MASTER_ID
AND D.EMPLOYEE_ID IS NULL) LOOP
-- Partner Facturas -- BRUNO
FOR DET IN (SELECT V.ID AS BALANCE_ID,
V.TYPE_TRANS_ID AS BALANCE_TYPE_TRANS_ID,
V.TRANS_ID AS BALANCE_TRANS_ID,
V.INSTALMENTS AS BALANCE_INSTALMENTS,
V.END_DATE AS BALANCE_END_DATE,
--NVL(V.AMOUNT_OF_FEE, 0) AS BALANCE_OF_FEE --
V.BALANCE_OF_FEE
NVL(V.BALANCE_OF_FEE, 0) AS BALANCE_OF_FEE
FROM SALE_VOUCHERS_BALANCE V
WHERE V.PARTNER_ID = RSUM.PARTNER_ID
AND NVL(V.INSTALMENTS, 0) > 0
AND NVL(V.BALANCE_OF_FEE, 0) > 0) LOOP
--AND V.END_DATE >= vFecIni) LOOP
vItemPartnerFinancialDet := NVL(vItemPartnerFinancialDet, 0) + 1;
PP_INSERT_FINANCIALMONTH_DET(vEndFinMonthMId, vItemPartnerFinancialDet,
RSUM.PARTNER_ID, NULL, RSUM.COMPANY_HOLDING_ID,
'SLPAR', NULL, DET.BALANCE_TYPE_TRANS_ID,
DET.BALANCE_TRANS_ID, DET.BALANCE_INSTALMENTS, DET.BALANCE_ID,
DET.BALANCE_END_DATE, 0, DET.BALANCE_OF_FEE,
DET.BALANCE_OF_FEE, vUserExeId, vMsg, error);
IF error THEN
RAISE eAlgunError;
END IF;
END LOOP;
-- Partner Prestamos --
FOR DET IN (SELECT V.ID AS BALANCE_ID,
V.TRN_TYPE_ID AS BALANCE_TYPE_TRANS_ID,
V.TRN_ID AS BALANCE_TRANS_ID,
V.SHARE_NUMBER AS BALANCE_INSTALMENTS,
V.SHARE_DATE AS BALANCE_END_DATE,
--NVL(V.SHARE_INTEREST_AMOUNT, 0) AS
BALANCE_INTEREST_BALANCE, --V.SHARE_INTEREST_BALANCE
--NVL(V.CAPITAL_AMOUNT, 0) AS BALANCE_CAPITAL_BALANCE, --
V.CAPITAL_BALANCE
--NVL(V.SHARE_AMOUNT, 0) AS BALANCE_OF_FEE --V.SHARE_BALANCE
NVL(V.SHARE_INTEREST_BALANCE, 0) AS
BALANCE_INTEREST_BALANCE,
NVL(V.CAPITAL_BALANCE, 0) AS BALANCE_CAPITAL_BALANCE,
NVL(V.SHARE_BALANCE, 0) AS BALANCE_OF_FEE
FROM LOAN_PARTNER_SHARE V
WHERE V.PARTNER_ID = RSUM.PARTNER_ID
AND NVL(V.SHARE_NUMBER, 0) > 0
AND NVL(V.SHARE_BALANCE, 0) > 0) LOOP
--AND V.SHARE_DATE >= vFecIni) LOOP
vItemPartnerFinancialDet := NVL(vItemPartnerFinancialDet, 0) + 1;
PP_INSERT_FINANCIALMONTH_DET(vEndFinMonthMId, vItemPartnerFinancialDet,
RSUM.PARTNER_ID, NULL, RSUM.COMPANY_HOLDING_ID,
'LNPAR', NULL, DET.BALANCE_TYPE_TRANS_ID,
DET.BALANCE_TRANS_ID, DET.BALANCE_INSTALMENTS, DET.BALANCE_ID,
DET.BALANCE_END_DATE, DET.BALANCE_INTEREST_BALANCE,
DET.BALANCE_CAPITAL_BALANCE,
DET.BALANCE_OF_FEE, vUserExeId, vMsg, error);
IF error THEN
RAISE eAlgunError;
END IF;
END LOOP;
END LOOP;
---------------------------------------
-- ACTUALIZAMOS A PROCESADO AL --
-- REGISTRO DEL CIERRE DE MES ACTUAL --
---------------------------------------
UPDATE CHA_END_FINANCIAL_MONTH M
SET M.STATUS = 'P',
M.START_DATE = cSysdate
WHERE M.ID = vEndFinancialId;
EXCEPTION
WHEN eAlgunError THEN
pMsg := vMsg;
pError := TRUE;
WHEN OTHERS THEN
pMsg := 'Error generador de cierre del mes activo. '||SQLERRM;
pError := TRUE;
END;