1 PACKAGE LNS_DISTRIBUTIONS_PUB AS
2 /* $Header: LNS_DIST_PUBP_S.pls 120.10.12010000.2 2008/12/23 06:30:41 mbolli ship $ */
3 /*=======================================================================+
4 | Declare PUBLIC Data Types and Variables
5 +=======================================================================*/
6
7 -- this type is for writing to distributions table from default
8 type distribution_rec is record(DISTRIBUTION_ID NUMBER(15)
9 ,LOAN_ID NUMBER(15)
10 ,LINE_TYPE VARCHAR2(30)
11 ,ACCOUNT_NAME VARCHAR2(30)
12 ,CODE_COMBINATION_ID NUMBER
13 ,ACCOUNT_TYPE VARCHAR2(30)
14 ,DISTRIBUTION_PERCENT NUMBER
15 ,DISTRIBUTION_AMOUNT NUMBER
16 ,CALCULATE_FLAG VARCHAR2(1)
17 ,DISTRIBUTION_TYPE VARCHAR2(30)
18 ,EVENT_ID NUMBER
19 ,DISB_HEADER_ID NUMBER);
20
21 type distribution_tbl is table of distribution_rec index by binary_integer;
22
23 type default_distribution_rec is record(LOAN_CLASS VARCHAR2(30)
24 ,LOAN_TYPE VARCHAR2(30)
25 ,LINE_TYPE VARCHAR2(30)
26 ,ACCOUNT_NAME VARCHAR2(30)
27 ,CODE_COMBINATION_ID NUMBER
28 ,ACCOUNT_TYPE VARCHAR2(30)
29 ,DISTRIBUTION_PERCENT NUMBER
30 ,DISTRIBUTION_TYPE VARCHAR2(30)
31 ,FEE_ID NUMBER
32 ,ORG_ID NUMBER
33 ,MFAR_BALANCING_SEGMENT VARCHAR2(60)
34 ,MFAR_NATURAL_ACCOUNT_REC VARCHAR2(60)
35 ,MFAR_NATURAL_ACCOUNT_CLR VARCHAR2(60));
36
37 type default_distributions_tbl is table of default_distribution_rec index by binary_integer;
38
39 -- for accounting events
40 type acc_event_rec is record(LOAN_ID NUMBER(15)
41 ,EVENT_TYPE_CODE VARCHAR2(30)
42 ,EVENT_DATE DATE
43 ,EVENT_STATUS VARCHAR2(1)
44 ,DISB_HEADER_ID number
45 ,BUDGETARY_CONTROL_FLAG varchar2(1));
46
47 type acc_event_tbl is table of acc_event_rec index by binary_integer;
48
49 type g_number_tbl is table of number index by binary_integer;
50
51 FUNCTION GENERATE_BC_REPORT(p_loan_id number) RETURN NUMBER;
52
53 procedure cancel_disbursements(p_init_msg_list in varchar2
54 ,p_commit in varchar2
55 ,p_loan_id in number
56 ,x_return_status OUT NOCOPY VARCHAR2
57 ,x_msg_count OUT NOCOPY NUMBER
58 ,x_msg_data OUT NOCOPY VARCHAR2);
59
60 procedure budgetary_control(p_init_msg_list in varchar2
61 ,p_commit in varchar2
62 ,p_loan_id in number
63 ,p_budgetary_control_mode in varchar2
64 ,x_budgetary_status_code out nocopy varchar2
65 ,x_return_status OUT NOCOPY VARCHAR2
66 ,x_msg_count OUT NOCOPY NUMBER
67 ,x_msg_data OUT NOCOPY VARCHAR2);
68
69 -- this type is to getLedgerDetails
70 type gl_ledger_details is record(SET_OF_BOOKS_ID NUMBER(15) -- aka LEDGER_ID
71 ,NAME VARCHAR2(30)
72 ,SHORT_NAME VARCHAR2(20)
73 ,CHART_OF_ACCOUNTS_ID NUMBER(15)
74 ,PERIOD_SET_NAME VARCHAR2(15)
75 ,CURRENCY_CODE VARCHAR2(15)
76 ,CURRENCY_PRECISION NUMBER(1));
77
78 procedure create_event(p_acc_event_tbl in LNS_DISTRIBUTIONS_PUB.acc_event_tbl
79 ,p_init_msg_list in varchar2
80 ,p_commit in varchar2
81 ,x_return_status out nocopy varchar2
82 ,x_msg_count out nocopy number
83 ,x_msg_data out nocopy varchar2);
84
85 procedure create_DisbursementDistribs(p_api_version IN NUMBER
86 ,p_init_msg_list IN VARCHAR2
87 ,p_commit IN VARCHAR2
88 ,p_loan_id IN NUMBER
89 ,p_disb_header_id IN NUMBER
90 ,x_return_status OUT NOCOPY VARCHAR2
91 ,x_msg_count OUT NOCOPY NUMBER
92 ,x_msg_data OUT NOCOPY VARCHAR2);
93
94 function getDistributions(p_loan_id in number
95 ,p_account_type in varchar2
96 ,p_account_name in varchar2
97 ,p_line_type in varchar2
98 ,p_distribution_type in varchar2) return LNS_DISTRIBUTIONS_PUB.distribution_tbl;
99
100 function getDefaultDistributions(p_loan_class in varchar2
101 ,p_loan_type_id in number
102 ,p_account_type in varchar2
103 ,p_account_name in varchar2
104 ,p_line_type in varchar2
105 ,p_distribution_type in varchar2) return LNS_DISTRIBUTIONS_PUB.default_distributions_tbl;
106
107 function getDistributions(p_distribution_id in number) return LNS_DISTRIBUTIONS_PUB.distribution_rec;
108
109 procedure defaultDistributionsCatch(p_api_version IN NUMBER
110 ,p_init_msg_list IN VARCHAR2
111 ,p_commit IN VARCHAR2
112 ,p_loan_id IN NUMBER
113 ,p_disb_header_id IN NUMBER
114 ,p_include_loan_receivables IN VARCHAR2
115 ,p_distribution_type IN VARCHAR2
116 ,x_distribution_tbl OUT NOCOPY lns_distributions_pub.distribution_tbl
117 ,x_return_status OUT NOCOPY VARCHAR2
118 ,x_msg_count OUT NOCOPY NUMBER
119 ,x_msg_data OUT NOCOPY VARCHAR2);
120
121 function getLedgerDetails return lns_distributions_pub.gl_ledger_details;
122
123 function calculateDistributionAmount (p_distribution_id in number) return number;
124
125 function calculateDistributionAmount(p_distribution_id in number
126 ,p_accounted_flag in varchar2) return number;
127
128 function calculateDistAmount(p_distribution_id in number
129 ,p_accounted_flag in varchar2) return varchar2;
130
131 function getValueSetID(p_segment_attribute_type in varchar) return number;
132
133 function getFlexSegmentNumber(p_flex_code in varchar2
134 ,p_application_id in number
135 ,p_segment_attribute_type in varchar2) return number;
136
137 procedure validateAccounting(p_loan_id in number
138 ,p_init_msg_list IN VARCHAR2
139 ,x_return_status OUT NOCOPY VARCHAR2
140 ,x_msg_count OUT NOCOPY NUMBER
141 ,x_msg_data OUT NOCOPY VARCHAR2);
142
143 procedure validateDefaultAccounting(p_loan_class in varchar2
144 ,p_loan_type_id in number
145 ,p_init_msg_list IN VARCHAR2
146 ,x_return_status OUT NOCOPY VARCHAR2
147 ,x_msg_count OUT NOCOPY NUMBER
148 ,x_msg_data OUT NOCOPY VARCHAR2);
149
150 -- lns.b
151 procedure validateLoanLines(p_init_msg_list IN VARCHAR2
152 ,p_loan_id IN number
153 ,x_MFAR OUT NOCOPY boolean
154 ,x_return_status OUT NOCOPY VARCHAR2
155 ,x_msg_count OUT NOCOPY NUMBER
156 ,x_msg_data OUT NOCOPY VARCHAR2);
157
158 procedure defaultDistributions(p_api_version IN NUMBER
159 ,p_init_msg_list IN VARCHAR2
160 ,p_commit IN VARCHAR2
161 ,p_loan_id IN NUMBER
162 ,p_loan_class_code IN varchar2
163 ,x_return_status OUT NOCOPY VARCHAR2
164 ,x_msg_count OUT NOCOPY NUMBER
165 ,x_msg_data OUT NOCOPY VARCHAR2);
166
167
168 function transformDistribution(p_distribution_id number
169 ,p_distribution_type varchar2
170 ,p_loan_id number) return number;
171
172 procedure onlineAccounting(p_loan_id IN NUMBER
173 ,p_init_msg_list IN VARCHAR2
174 ,p_accounting_mode IN VARCHAR2
175 ,p_transfer_flag IN VARCHAR2
176 ,p_offline_flag IN VARCHAR2
177 ,p_gl_posting_flag IN VARCHAR2
178 ,x_return_status OUT NOCOPY VARCHAR2
179 ,x_msg_count OUT NOCOPY NUMBER
180 ,x_msg_data OUT NOCOPY VARCHAR2);
181
182 PROCEDURE LNS_ACCOUNTING_CONCUR(ERRBUF OUT NOCOPY VARCHAR2
183 ,RETCODE OUT NOCOPY VARCHAR2
184 ,P_LOAN_ID IN NUMBER);
185
186
187 END LNS_DISTRIBUTIONS_PUB;