1 PACKAGE igs_fi_crdapi_util AS
2 /* $Header: IGSFI84S.pls 120.2 2005/11/22 22:00:39 appldev ship $ */
3 /***********************************************************************************************
4
5 Created By : shtatiko
6 Date Created By: 01-APR-2003 (Created as part of Enh# 2831554, Internal Credits API)
7 Purpose : This is a new package for centralizing all parameter validations that needs
8 to be done a new credit or deposit transaction is created in the system.
9
10
11 Known limitations,enhancements,remarks:
12 Change History
13 Who When What
14 sapanigr 22-Nov-2005 Bug#4675424.Added function val_cal_inst
15 vvutukur 13-Sep-2003 Enh#3045007.Payment Plans Build. Added procedures apply_installments,validate_plan_balance.
16 vvutukur 14-Jul-2003 Enh#3038511.FICR106 Build. Added procedure get_award_year_status.
17 vvutukur 18-Jun-2003 Enh#2831582.Lockbox Build. Removed function validate_lockbox.
18 schodava 11-Jun-03 Enh # 2831587. Credit Card Fund Transfer. Added new functions:
19 validate_credit_card_payee
20 ***********************************************************************************************/
21
22 /*
23 * Procedure VALIDATE_PARAMETERS is the main procedure which has calls to
24 * individual procedures or functions. When this procedure is invoked with FULL
25 * validation level then all parameter validations will take place.
26 */
27 PROCEDURE validate_parameters (
28 p_n_validation_level IN NUMBER DEFAULT fnd_api.g_valid_level_full,
29 p_credit_rec IN igs_fi_credit_pvt.credit_rec_type,
30 p_attribute_rec IN igs_fi_credits_api_pub.attribute_rec_type,
31 p_b_return_status OUT NOCOPY BOOLEAN
32 );
33
34 -- This function checks if transaction status is valid
35 FUNCTION validate_credit_status ( p_v_crd_status IN VARCHAR2 ) RETURN BOOLEAN;
36
37 -- This procedure validates a credit type is active and effective as on the current system.
38 PROCEDURE validate_credit_type (
39 p_n_credit_type_id IN PLS_INTEGER,
40 p_v_credit_class OUT NOCOPY VARCHAR2,
41 p_b_return_stat OUT NOCOPY BOOLEAN
42 );
43
44 -- This function checks if the IGS lookup code is valid for the lookup type.
45 FUNCTION validate_igs_lkp (
46 p_v_lookup_type IN VARCHAR2,
47 p_v_lookup_code IN VARCHAR2
48 ) RETURN BOOLEAN;
49
50 -- This function checks if the IGF lookup code is valid for the lookup type.
51 FUNCTION validate_igf_lkp (
52 p_v_lookup_type IN VARCHAR2,
53 p_v_lookup_code IN VARCHAR2
54 ) RETURN BOOLEAN;
55
56 -- This function checks if the currency code is active in the system.
57 FUNCTION validate_curr ( p_v_currency_cd IN VARCHAR2 ) RETURN BOOLEAN;
58
59 -- This function checks if the Calendar Instance is active in the system.
60 FUNCTION validate_cal_inst (
61 p_v_cal_type IN VARCHAR2,
62 p_n_ci_sequence_number IN PLS_INTEGER,
63 p_v_s_cal_cat IN VARCHAR2
64 ) RETURN BOOLEAN;
65
66 -- This function is similar to validate_cal_inst but returns VARCHAR TRUE or FALSE
67 FUNCTION val_cal_inst (
68 p_v_cal_type IN VARCHAR2,
69 p_n_ci_sequence_number IN NUMBER,
70 p_v_s_cal_cat IN VARCHAR2
71 ) RETURN VARCHAR2;
72
73 -- This procedure checks if there exists a relation between Fee and Load calendar instance
74 -- and checks if the Load Calendar Instance is active in the system.
75 PROCEDURE validate_fci_lci_reln (
76 p_v_fee_cal_type IN VARCHAR2,
77 p_n_fee_ci_sequence_number IN PLS_INTEGER,
78 p_v_ld_cal_type OUT NOCOPY VARCHAR2,
79 p_n_ld_ci_sequence_number OUT NOCOPY PLS_INTEGER,
80 p_v_message_name OUT NOCOPY VARCHAR2,
81 p_b_return_stat OUT NOCOPY BOOLEAN
82 );
83
84 /*
85 * This procedure checks if the payment credit type attached to the Enrollment Deposit or
86 * Other Deposit credit type is active in the system as on the current system date.
87 * When Payment Credit Type is found to be active then this procedure returns this payment
88 * credit type as OUT variable.
89 */
90 PROCEDURE validate_dep_crtype (
91 p_n_credit_type_id IN PLS_INTEGER,
92 p_n_pay_credit_type_id OUT NOCOPY PLS_INTEGER,
93 p_b_return_stat OUT NOCOPY BOOLEAN
94 );
95
96 -- This procedure checks if the passed party id and credit class combination is valid.
97 FUNCTION validate_party_id (
98 p_n_party_id IN PLS_INTEGER,
99 p_v_credit_class IN VARCHAR2
100 ) RETURN BOOLEAN;
101
102 -- This procedure checks if the GL Date is valid in the system.
103 PROCEDURE validate_gl_date (
104 p_d_gl_date IN DATE,
105 p_v_credit_class IN VARCHAR2,
106 p_b_return_status OUT NOCOPY BOOLEAN,
107 p_v_message_name OUT NOCOPY VARCHAR2
108 );
109
110 -- This procedure checks if the combination of Source Transaction Type, Credit Class is valid.
111 PROCEDURE validate_source_tran_type (
112 p_v_source_tran_type IN VARCHAR2,
113 p_v_credit_class IN VARCHAR2,
114 p_v_credit_instrument IN VARCHAR2,
115 p_b_return_status OUT NOCOPY BOOLEAN,
116 p_v_message_name OUT NOCOPY VARCHAR2
117 );
118
119 -- This function checks if the Source Reference Number is valid in the system.
120 FUNCTION validate_source_tran_ref_num (
121 p_n_party_id IN PLS_INTEGER,
122 p_n_source_tran_ref_num IN PLS_INTEGER
123 ) RETURN BOOLEAN;
124
125 -- This procedure will validates Amount
126 PROCEDURE validate_amount (
127 p_n_amount IN NUMBER,
128 p_b_return_status OUT NOCOPY BOOLEAN,
129 p_v_message_name OUT NOCOPY VARCHAR2
130 );
131
132 -- Function for validating Descriptive Flex-Field combination.
133 FUNCTION validate_desc_flex (
134 p_v_attribute_category IN VARCHAR2,
135 p_v_attribute1 IN VARCHAR2,
136 p_v_attribute2 IN VARCHAR2,
137 p_v_attribute3 IN VARCHAR2,
138 p_v_attribute4 IN VARCHAR2,
139 p_v_attribute5 IN VARCHAR2,
140 p_v_attribute6 IN VARCHAR2,
141 p_v_attribute7 IN VARCHAR2,
142 p_v_attribute8 IN VARCHAR2,
143 p_v_attribute9 IN VARCHAR2,
144 p_v_attribute10 IN VARCHAR2,
145 p_v_attribute11 IN VARCHAR2,
146 p_v_attribute12 IN VARCHAR2,
147 p_v_attribute13 IN VARCHAR2,
148 p_v_attribute14 IN VARCHAR2,
149 p_v_attribute15 IN VARCHAR2,
150 p_v_attribute16 IN VARCHAR2,
151 p_v_attribute17 IN VARCHAR2,
152 p_v_attribute18 IN VARCHAR2,
153 p_v_attribute19 IN VARCHAR2,
154 p_v_attribute20 IN VARCHAR2,
155 p_v_desc_flex_name IN VARCHAR2
156 ) RETURN BOOLEAN;
157
158 -- This function checks if the Invoice ID exists in the system.
159 FUNCTION validate_invoice_id ( p_n_invoice_id IN PLS_INTEGER ) RETURN BOOLEAN;
160
161 -- This procedure will determine the transaction amount in terms of the functional currency.
162 PROCEDURE translate_local_currency (
163 p_n_amount IN OUT NOCOPY NUMBER,
164 p_v_currency_cd IN OUT NOCOPY VARCHAR2,
165 p_n_exchange_rate IN NUMBER,
166 p_b_return_status OUT NOCOPY BOOLEAN,
167 p_v_message_name OUT NOCOPY VARCHAR2
168 );
169
170 FUNCTION validate_credit_card_payee (
171 p_v_credit_card_payee_cd IN VARCHAR2
172 ) RETURN BOOLEAN;
173 PROCEDURE get_award_year_status(p_v_awd_cal_type IN VARCHAR2,
174 p_n_awd_seq_number IN PLS_INTEGER,
175 p_v_awd_yr_status OUT NOCOPY VARCHAR2,
176 p_v_message_name OUT NOCOPY VARCHAR2);
177
178 --This procedure verifies if the Installment balance for the person is greater than
179 --or equal to the amount of the receipt that is being created.
180 PROCEDURE validate_plan_balance(p_n_person_id IN PLS_INTEGER,
181 p_n_amount IN NUMBER,
182 p_b_status OUT NOCOPY BOOLEAN,
183 p_v_message_name OUT NOCOPY VARCHAR2
184 );
185
186 --This procedure applies an Installment Payment Transaction against the student's Active
187 --Payment Plan installments in the FIFO basis.
188 PROCEDURE apply_installments(p_n_person_id IN NUMBER,
189 p_n_amount IN NUMBER,
190 p_n_credit_id IN igs_fi_credits.credit_id%TYPE,
191 p_n_cr_activity_id IN igs_fi_cr_activities.credit_activity_id%TYPE);
192 END igs_fi_crdapi_util;