DBA Data[Home] [Help]

PACKAGE BODY: APPS.LNS_FEE_SCHEDULES_PKG

Source


1 PACKAGE BODY LNS_FEE_SCHEDULES_PKG AS
2 /* $Header: LNS_FEESC_TBLH_B.pls 120.1 2005/07/28 14:37:35 raverma noship $ */
3 
4 /* Insert_Row procedure */
5 PROCEDURE Insert_Row(
6 	X_FEE_SCHEDULE_ID		IN OUT NOCOPY NUMBER
7 	,P_FEE_ID		IN NUMBER
8 	,P_LOAN_ID		IN NUMBER
9 	,P_FEE_AMOUNT		IN NUMBER
10 	,P_FEE_INSTALLMENT		IN NUMBER
11 	,P_FEE_DESCRIPTION		IN VARCHAR2
12 	,P_ACTIVE_FLAG		IN VARCHAR2
13 	,P_BILLED_FLAG		IN VARCHAR2
14 	,P_FEE_WAIVABLE_FLAG		IN VARCHAR2
15 	,P_WAIVED_AMOUNT		IN NUMBER
16 	,P_CREATED_BY		IN NUMBER
17 	,P_CREATION_DATE		IN DATE
18 	,P_LAST_UPDATED_BY		IN NUMBER
19 	,P_LAST_UPDATE_DATE		IN DATE
20 	,P_LAST_UPDATE_LOGIN		IN NUMBER
21 	,P_PROGRAM_ID		IN NUMBER
22 	,P_REQUEST_ID		IN NUMBER
23 	,P_OBJECT_VERSION_NUMBER		IN NUMBER
24 	,P_DISB_HEADER_ID		IN NUMBER
25 ) IS
26 BEGIN
27 	INSERT INTO LNS_FEE_SCHEDULES
28 	(
29 		FEE_SCHEDULE_ID
30 		,FEE_ID
31 		,LOAN_ID
32 		,FEE_AMOUNT
33 		,FEE_INSTALLMENT
34 		,FEE_DESCRIPTION
35 		,ACTIVE_FLAG
36 		,BILLED_FLAG
37 		,FEE_WAIVABLE_FLAG
38 		,WAIVED_AMOUNT
39 		,CREATED_BY
40 		,CREATION_DATE
41 		,LAST_UPDATED_BY
42 		,LAST_UPDATE_DATE
43 		,LAST_UPDATE_LOGIN
44 		,PROGRAM_ID
45 		,REQUEST_ID
46 		,OBJECT_VERSION_NUMBER
47 		,DISB_HEADER_ID
48 	) VALUES (
49 		DECODE(X_FEE_SCHEDULE_ID, FND_API.G_MISS_NUM, LNS_FEE_SCHEDULE_S.NEXTVAL, NULL, LNS_FEE_SCHEDULE_S.NEXTVAL, X_FEE_SCHEDULE_ID)
50 		,DECODE(P_FEE_ID, FND_API.G_MISS_NUM, NULL, P_FEE_ID)
51 		,DECODE(P_LOAN_ID, FND_API.G_MISS_NUM, NULL, P_LOAN_ID)
52 		,DECODE(P_FEE_AMOUNT, FND_API.G_MISS_NUM, NULL, P_FEE_AMOUNT)
53 		,DECODE(P_FEE_INSTALLMENT, FND_API.G_MISS_NUM, NULL, P_FEE_INSTALLMENT)
54 		,DECODE(P_FEE_DESCRIPTION, FND_API.G_MISS_CHAR, NULL, P_FEE_DESCRIPTION)
55 		,DECODE(P_ACTIVE_FLAG, FND_API.G_MISS_CHAR, NULL, P_ACTIVE_FLAG)
56 		,DECODE(P_BILLED_FLAG, FND_API.G_MISS_CHAR, NULL, P_BILLED_FLAG)
57 		,DECODE(P_FEE_WAIVABLE_FLAG, FND_API.G_MISS_CHAR, NULL, P_FEE_WAIVABLE_FLAG)
58 		,DECODE(P_WAIVED_AMOUNT, FND_API.G_MISS_NUM, NULL, P_WAIVED_AMOUNT)
59 		,LNS_UTILITY_PUB.CREATED_BY
60 		,LNS_UTILITY_PUB.CREATION_DATE
61 		,LNS_UTILITY_PUB.LAST_UPDATED_BY
62 		,LNS_UTILITY_PUB.LAST_UPDATE_DATE
63 		,LNS_UTILITY_PUB.LAST_UPDATE_LOGIN
64 		,DECODE(P_PROGRAM_ID, FND_API.G_MISS_NUM, NULL, P_PROGRAM_ID)
65 		,DECODE(P_REQUEST_ID, FND_API.G_MISS_NUM, NULL, P_REQUEST_ID)
66 		,DECODE(P_OBJECT_VERSION_NUMBER, FND_API.G_MISS_NUM, NULL, P_OBJECT_VERSION_NUMBER)
67 		,DECODE(P_DISB_HEADER_ID, FND_API.G_MISS_NUM, NULL, P_DISB_HEADER_ID)
68 	) RETURNING
69 		 FEE_SCHEDULE_ID
70 	 INTO
71 		 X_FEE_SCHEDULE_ID;
72 END Insert_Row;
73 
74 /* Update_Row procedure */
75 PROCEDURE Update_Row(
76 	P_FEE_SCHEDULE_ID		IN NUMBER
77 	,P_FEE_ID		IN NUMBER
78 	,P_LOAN_ID		IN NUMBER
79 	,P_FEE_AMOUNT		IN NUMBER
80 	,P_FEE_INSTALLMENT		IN NUMBER
81 	,P_FEE_DESCRIPTION		IN VARCHAR2
82 	,P_ACTIVE_FLAG		IN VARCHAR2
83 	,P_BILLED_FLAG		IN VARCHAR2
84 	,P_FEE_WAIVABLE_FLAG		IN VARCHAR2
85 	,P_WAIVED_AMOUNT		IN NUMBER
86 	,P_LAST_UPDATED_BY		IN NUMBER
87 	,P_LAST_UPDATE_DATE		IN DATE
88 	,P_LAST_UPDATE_LOGIN		IN NUMBER
89 	,P_PROGRAM_ID		IN NUMBER
90 	,P_REQUEST_ID		IN NUMBER
91 	,P_OBJECT_VERSION_NUMBER		IN NUMBER
92 	,P_DISB_HEADER_ID		IN NUMBER
93 ) IS
94 BEGIN
95 	UPDATE LNS_FEE_SCHEDULES SET
96 		FEE_ID = DECODE(P_FEE_ID, NULL, FEE_ID, FND_API.G_MISS_NUM, NULL, P_FEE_ID)
97 		,LOAN_ID = DECODE(P_LOAN_ID, NULL, LOAN_ID, FND_API.G_MISS_NUM, NULL, P_LOAN_ID)
98 		,FEE_AMOUNT = DECODE(P_FEE_AMOUNT, NULL, FEE_AMOUNT, FND_API.G_MISS_NUM, NULL, P_FEE_AMOUNT)
99 		,FEE_INSTALLMENT = DECODE(P_FEE_INSTALLMENT, NULL, FEE_INSTALLMENT, FND_API.G_MISS_NUM, NULL, P_FEE_INSTALLMENT)
100 		,FEE_DESCRIPTION = DECODE(P_FEE_DESCRIPTION, NULL, FEE_DESCRIPTION, FND_API.G_MISS_CHAR, NULL, P_FEE_DESCRIPTION)
101 		,ACTIVE_FLAG = DECODE(P_ACTIVE_FLAG, NULL, ACTIVE_FLAG, FND_API.G_MISS_CHAR, NULL, P_ACTIVE_FLAG)
102 		,BILLED_FLAG = DECODE(P_BILLED_FLAG, NULL, BILLED_FLAG, FND_API.G_MISS_CHAR, NULL, P_BILLED_FLAG)
103 		,FEE_WAIVABLE_FLAG = DECODE(P_FEE_WAIVABLE_FLAG, NULL, FEE_WAIVABLE_FLAG, FND_API.G_MISS_CHAR, NULL, P_FEE_WAIVABLE_FLAG)
104 		,WAIVED_AMOUNT = DECODE(P_WAIVED_AMOUNT, NULL, WAIVED_AMOUNT, FND_API.G_MISS_NUM, NULL, P_WAIVED_AMOUNT)
105 		,LAST_UPDATED_BY = LNS_UTILITY_PUB.LAST_UPDATED_BY
106 		,LAST_UPDATE_DATE = LNS_UTILITY_PUB.LAST_UPDATE_DATE
107 		,LAST_UPDATE_LOGIN = LNS_UTILITY_PUB.LAST_UPDATE_LOGIN
108 		,PROGRAM_ID = DECODE(P_PROGRAM_ID, NULL, PROGRAM_ID, FND_API.G_MISS_NUM, NULL, P_PROGRAM_ID)
109 		,REQUEST_ID = DECODE(P_REQUEST_ID, NULL, REQUEST_ID, FND_API.G_MISS_NUM, NULL, P_REQUEST_ID)
110 		,OBJECT_VERSION_NUMBER = DECODE(P_OBJECT_VERSION_NUMBER, NULL, OBJECT_VERSION_NUMBER, FND_API.G_MISS_NUM, NULL, P_OBJECT_VERSION_NUMBER)
111 		,DISB_HEADER_ID = DECODE(P_DISB_HEADER_ID, NULL, DISB_HEADER_ID, FND_API.G_MISS_NUM, NULL, P_DISB_HEADER_ID)
112 	 WHERE FEE_SCHEDULE_ID = P_FEE_SCHEDULE_ID;
113 
114 	if (sql%notfound) then
115 		raise no_data_found;
116 	end if;
117 END Update_Row;
118 
119 /* Delete_Row procedure */
120 PROCEDURE Delete_Row(P_FEE_SCHEDULE_ID IN NUMBER) IS
121 BEGIN
122 	DELETE FROM LNS_FEE_SCHEDULES
123 		WHERE FEE_SCHEDULE_ID = P_FEE_SCHEDULE_ID;
124 
125 	if (sql%notfound) then
126 		raise no_data_found;
127 	end if;
128 END Delete_Row;
129 
130 /* Lock_Row procedure */
131 PROCEDURE Lock_Row(
132 	P_FEE_SCHEDULE_ID		IN NUMBER
133 	,P_FEE_ID		IN NUMBER
134 	,P_LOAN_ID		IN NUMBER
135 	,P_FEE_AMOUNT		IN NUMBER
136 	,P_FEE_INSTALLMENT		IN NUMBER
137 	,P_FEE_DESCRIPTION		IN VARCHAR2
138 	,P_ACTIVE_FLAG		IN VARCHAR2
139 	,P_BILLED_FLAG		IN VARCHAR2
140 	,P_FEE_WAIVABLE_FLAG		IN VARCHAR2
141 	,P_WAIVED_AMOUNT		IN NUMBER
142 	,P_CREATED_BY		IN NUMBER
143 	,P_CREATION_DATE		IN DATE
144 	,P_LAST_UPDATED_BY		IN NUMBER
145 	,P_LAST_UPDATE_DATE		IN DATE
146 	,P_LAST_UPDATE_LOGIN		IN NUMBER
147 	,P_PROGRAM_ID		IN NUMBER
148 	,P_REQUEST_ID		IN NUMBER
149 	,P_OBJECT_VERSION_NUMBER		IN NUMBER
150 	,P_DISB_HEADER_ID		IN NUMBER
151 ) IS
152 	CURSOR C IS SELECT * FROM LNS_FEE_SCHEDULES
153 		WHERE FEE_SCHEDULE_ID = P_FEE_SCHEDULE_ID
154 		FOR UPDATE of FEE_SCHEDULE_ID NOWAIT;
155 	Recinfo C%ROWTYPE;
156 BEGIN
157 	OPEN C;
158 	FETCH C INTO Recinfo;
159 	IF (C%NOTFOUND) THEN
160 		CLOSE C;
161 		FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
162 		APP_EXCEPTION.Raise_Exception;
163 	END IF;
164 	CLOSE C;
165 
166 	IF (
167 		(Recinfo.FEE_SCHEDULE_ID = P_FEE_SCHEDULE_ID)
168 		AND ( (Recinfo.FEE_ID = P_FEE_ID)
169 			OR ( (Recinfo.FEE_ID IS NULL)
170 				AND (P_FEE_ID IS NULL)))
171 		AND ( (Recinfo.LOAN_ID = P_LOAN_ID)
172 			OR ( (Recinfo.LOAN_ID IS NULL)
173 				AND (P_LOAN_ID IS NULL)))
174 		AND ( (Recinfo.FEE_AMOUNT = P_FEE_AMOUNT)
175 			OR ( (Recinfo.FEE_AMOUNT IS NULL)
176 				AND (P_FEE_AMOUNT IS NULL)))
177 		AND ( (Recinfo.FEE_INSTALLMENT = P_FEE_INSTALLMENT)
178 			OR ( (Recinfo.FEE_INSTALLMENT IS NULL)
179 				AND (P_FEE_INSTALLMENT IS NULL)))
180 		AND ( (Recinfo.FEE_DESCRIPTION = P_FEE_DESCRIPTION)
181 			OR ( (Recinfo.FEE_DESCRIPTION IS NULL)
182 				AND (P_FEE_DESCRIPTION IS NULL)))
183 		AND ( (Recinfo.ACTIVE_FLAG = P_ACTIVE_FLAG)
184 			OR ( (Recinfo.ACTIVE_FLAG IS NULL)
185 				AND (P_ACTIVE_FLAG IS NULL)))
186 		AND ( (Recinfo.BILLED_FLAG = P_BILLED_FLAG)
187 			OR ( (Recinfo.BILLED_FLAG IS NULL)
188 				AND (P_BILLED_FLAG IS NULL)))
189 		AND ( (Recinfo.FEE_WAIVABLE_FLAG = P_FEE_WAIVABLE_FLAG)
190 			OR ( (Recinfo.FEE_WAIVABLE_FLAG IS NULL)
191 				AND (P_FEE_WAIVABLE_FLAG IS NULL)))
192 		AND ( (Recinfo.WAIVED_AMOUNT = P_WAIVED_AMOUNT)
193 			OR ( (Recinfo.WAIVED_AMOUNT IS NULL)
194 				AND (P_WAIVED_AMOUNT IS NULL)))
195 		AND ( (Recinfo.CREATED_BY = P_CREATED_BY)
196 			OR ( (Recinfo.CREATED_BY IS NULL)
197 				AND (P_CREATED_BY IS NULL)))
198 		AND ( (Recinfo.CREATION_DATE = P_CREATION_DATE)
199 			OR ( (Recinfo.CREATION_DATE IS NULL)
200 				AND (P_CREATION_DATE IS NULL)))
201 		AND ( (Recinfo.LAST_UPDATED_BY = P_LAST_UPDATED_BY)
202 			OR ( (Recinfo.LAST_UPDATED_BY IS NULL)
203 				AND (P_LAST_UPDATED_BY IS NULL)))
204 		AND ( (Recinfo.LAST_UPDATE_DATE = P_LAST_UPDATE_DATE)
205 			OR ( (Recinfo.LAST_UPDATE_DATE IS NULL)
206 				AND (P_LAST_UPDATE_DATE IS NULL)))
207 		AND ( (Recinfo.LAST_UPDATE_LOGIN = P_LAST_UPDATE_LOGIN)
208 			OR ( (Recinfo.LAST_UPDATE_LOGIN IS NULL)
209 				AND (P_LAST_UPDATE_LOGIN IS NULL)))
210 		AND ( (Recinfo.PROGRAM_ID = P_PROGRAM_ID)
211 			OR ( (Recinfo.PROGRAM_ID IS NULL)
212 				AND (P_PROGRAM_ID IS NULL)))
213 		AND ( (Recinfo.REQUEST_ID = P_REQUEST_ID)
214 			OR ( (Recinfo.REQUEST_ID IS NULL)
215 				AND (P_REQUEST_ID IS NULL)))
216 		AND ( (Recinfo.OBJECT_VERSION_NUMBER = P_OBJECT_VERSION_NUMBER)
217 			OR ( (Recinfo.OBJECT_VERSION_NUMBER IS NULL)
218 				AND (P_OBJECT_VERSION_NUMBER IS NULL)))
219 		AND ( (Recinfo.DISB_HEADER_ID = P_DISB_HEADER_ID)
220 			OR ( (Recinfo.DISB_HEADER_ID IS NULL)
221 				AND (P_DISB_HEADER_ID IS NULL)))
222 	   ) THEN
223 		return;
224 	ELSE
225 		FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
226 		APP_EXCEPTION.Raise_Exception;
227 	END IF;
228 END Lock_Row;
229 END;
230