[Home] [Help]
PACKAGE BODY: APPS.JL_ZZ_AR_TX_RULES_PKG
Source
1 PACKAGE BODY JL_ZZ_AR_TX_RULES_PKG AS
2 /* $Header: jlzztxrb.pls 120.2 2003/03/03 19:39:38 opedrega ship $ */
3
4 PROCEDURE Insert_Row
5 (X_rowid IN OUT NOCOPY VARCHAR2,
6 X_rule_id NUMBER,
7 X_tax_rule_level VARCHAR2,
8 X_rule VARCHAR2,
9 X_tax_category_id NUMBER,
10 X_contributor_type VARCHAR2,
11 X_cust_trx_type_id NUMBER,
12 X_last_update_date DATE,
13 X_last_updated_by NUMBER,
14 X_priority NUMBER,
15 X_description VARCHAR2,
16 X_org_id NUMBER,
17 X_last_update_login NUMBER,
18 X_creation_date DATE,
19 X_created_by NUMBER,
20 X_calling_sequence IN VARCHAR2) IS
21
22 CURSOR C IS
23 SELECT rowid
24 FROM jl_zz_ar_tx_rules
25 WHERE rule = X_rule
26 AND tax_rule_level = X_tax_rule_level
27 AND tax_category_id = X_tax_category_id
28 AND contributor_type = X_contributor_type
29 AND cust_trx_type_id = X_cust_trx_type_id
30 AND priority = X_priority
31 AND org_id = X_org_id;
32
33 current_calling_sequence VARCHAR2(2000);
34 debug_info VARCHAR2(100);
35
36 BEGIN
37 -- Update the calling sequence
38 --
39 current_calling_sequence := 'JL_ZZ_AR_TX_RULES_PKG.INSERT_ROW<-' ||
40 X_calling_sequence;
41
42 debug_info := 'Insert into JL_ZZ_AR_TX_RULES ';
43 INSERT INTO JL_ZZ_AR_TX_RULES(rule_id,
44 tax_rule_level,
45 rule,
46 tax_category_id,
47 contributor_type,
48 cust_trx_type_id,
49 org_id,
50 last_update_date,
51 last_updated_by,
52 priority,
53 description,
54 last_update_login,
55 creation_date,
56 created_by)
57 VALUES (X_rule_id,
58 X_tax_rule_level,
59 X_rule,
60 X_tax_category_id,
61 X_contributor_type,
62 X_cust_trx_type_id,
63 X_org_id,
64 X_last_update_date,
65 X_last_updated_by,
66 X_priority,
67 X_description,
68 X_last_update_login,
69 X_creation_date,
70 X_created_by);
71
72 debug_info := 'Open cursor C';
73 OPEN C;
74 debug_info := 'Fetch cursor C';
75 FETCH C INTO X_rowid;
76 if (C%NOTFOUND) then
77 debug_info := 'Close cursor C - DATA NOTFOUND';
78 CLOSE C;
79 Raise NO_DATA_FOUND;
80 end if;
81 debug_info := 'Close cursor C';
82 CLOSE C;
83
84 EXCEPTION
85 WHEN OTHERS THEN
86 IF (SQLCODE <> -20001) THEN
87 FND_MESSAGE.SET_NAME('SQLAP','AP_DEBUG');
88 FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
89 FND_MESSAGE.SET_TOKEN('CALLING_SEQUENCE',current_calling_sequence);
90 FND_MESSAGE.SET_TOKEN('PARAMETERS',
91 'rule = ' || X_rule ||
92 'tax_rule_level = ' || X_tax_rule_level ||
93 'tax_category_id =' ||X_tax_category_id||
94 'contributor_type = ' || X_contributor_type ||
95 'cust_trx_type_id = ' || X_cust_trx_type_id ||
96 'priority =' ||X_priority);
97 FND_MESSAGE.SET_TOKEN('DEBUG_INFO',debug_info);
98 END IF;
99 APP_EXCEPTION.RAISE_EXCEPTION;
100
101 END Insert_Row;
102
103 PROCEDURE Lock_Row
104 (X_rowid VARCHAR2,
105 X_rule_id NUMBER,
106 X_tax_rule_level VARCHAR2,
107 X_rule VARCHAR2,
108 X_tax_category_id NUMBER,
109 X_contributor_type VARCHAR2,
110 X_cust_trx_type_id NUMBER,
111 X_last_update_date DATE,
112 X_last_updated_by NUMBER,
113 X_priority NUMBER,
114 X_description VARCHAR2,
115 X_org_id NUMBER,
116 X_last_update_login NUMBER,
117 X_creation_date DATE,
118 X_created_by NUMBER,
119 X_calling_sequence IN VARCHAR2) IS
120
121 CURSOR C IS
122 SELECT *
123 FROM jl_zz_ar_tx_rules
124 WHERE rule = X_rule
125 AND tax_rule_level = X_tax_rule_level
126 AND tax_category_id = X_tax_category_id
127 AND contributor_type = X_contributor_type
128 AND cust_trx_type_id = X_cust_trx_type_id
129 AND priority = X_priority
130 AND org_id = X_org_id
131 FOR UPDATE of rule,
132 tax_rule_level,
133 tax_category_id,
134 contributor_type,
135 cust_trx_type_id,
136 priority
137 NOWAIT;
138
139 Recinfo C%ROWTYPE;
140
141 current_calling_sequence VARCHAR2(2000);
142 debug_info VARCHAR2(100);
143
144 BEGIN
145 -- Update the calling sequence
146 --
147 current_calling_sequence := 'JL_ZZ_AR_TX_RULES_PKG.LOCK_ROW<-' ||
148 X_calling_sequence;
149 debug_info := 'Open cursor C';
150 OPEN C;
151 debug_info := 'Fetch cursor C';
152 FETCH C INTO Recinfo;
153
154 IF (C%NOTFOUND) THEN
155 debug_info := 'Close cursor C - DATA NOTFOUND';
156 CLOSE C;
157 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
158 APP_EXCEPTION.Raise_Exception;
159 END IF;
160 debug_info := 'Close cursor C';
161 CLOSE C;
162
163 IF ((Recinfo.rule = X_rule) AND
164 (Recinfo.tax_rule_level = X_tax_rule_level) AND
165 (Recinfo.tax_category_id = X_tax_category_id) AND
166 (Recinfo.contributor_type = X_contributor_type) AND
167 (Recinfo.cust_trx_type_id = X_cust_trx_type_id) AND
168 (Recinfo.priority = X_priority) AND
169 (Recinfo.rule_id = X_rule_id) AND
170 (Recinfo.last_updated_by = X_last_updated_by) AND
171 (Recinfo.last_update_date = X_last_update_date) AND
172 ((Recinfo.description = X_description) OR
173 ((Recinfo.description IS NULL) AND
174 (X_description IS NULL))) AND
175 ((Recinfo.last_update_login = X_last_update_login) OR
176 ((Recinfo.last_update_login IS NULL) AND
177 (X_last_update_login IS NULL))) AND
178 ((Recinfo.creation_date = X_creation_date) OR
179 ((Recinfo.creation_date IS NULL) AND
180 (X_creation_date IS NULL))) AND
181 ((Recinfo.created_by = X_created_by) OR
182 ((Recinfo.created_by IS NULL) AND
183 (X_created_by IS NULL)))) THEN
184 return;
185 ELSE
186 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
187 APP_EXCEPTION.Raise_Exception;
188 END IF;
189
190 EXCEPTION
191 WHEN OTHERS THEN
192 IF (SQLCODE <> -20001) THEN
193 IF (SQLCODE = -54) THEN
194 FND_MESSAGE.SET_NAME('SQLAP','AP_RESOURCE_BUSY');
195 ELSE
196 FND_MESSAGE.SET_NAME('SQLAP','AP_DEBUG');
197 FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
198 FND_MESSAGE.SET_TOKEN('CALLING_SEQUENCE',current_calling_sequence);
199 FND_MESSAGE.SET_TOKEN('PARAMETERS',
200 'rule = ' || X_rule ||
201 'tax_rule_level = ' || X_tax_rule_level ||
202 'tax_category_id =' ||X_tax_category_id||
203 'contributor_type = ' || X_contributor_type ||
204 'cust_trx_type_id = ' || X_cust_trx_type_id ||
205 'priority =' ||X_priority);
206 FND_MESSAGE.SET_TOKEN('DEBUG_INFO',debug_info);
207 END IF;
208 END IF;
209 APP_EXCEPTION.RAISE_EXCEPTION;
210 END Lock_Row;
211
212 PROCEDURE Update_Row
213 (X_rowid VARCHAR2,
214 X_rule_id NUMBER,
215 X_tax_rule_level VARCHAR2,
216 X_rule VARCHAR2,
217 X_tax_category_id NUMBER,
218 X_contributor_type VARCHAR2,
219 X_cust_trx_type_id NUMBER,
220 X_last_update_date DATE,
221 X_last_updated_by NUMBER,
222 X_priority NUMBER,
223 X_description VARCHAR2,
224 X_org_id NUMBER,
225 X_last_update_login NUMBER,
226 X_creation_date DATE,
227 X_created_by NUMBER,
228 X_calling_sequence IN VARCHAR2) IS
229
230 BEGIN
231 UPDATE jl_zz_ar_tx_rules
232 SET rule_id = X_rule_id,
233 tax_rule_level = X_tax_rule_level,
234 rule = X_rule,
235 tax_category_id = X_tax_category_id,
236 contributor_type = X_contributor_type,
237 cust_trx_type_id = X_cust_trx_type_id,
238 org_id = X_org_id,
239 last_update_date = X_last_update_date,
240 last_updated_by = X_last_updated_by,
241 priority = X_priority,
242 description = X_description,
243 last_update_login = X_last_update_login,
244 creation_date = X_creation_date,
245 created_by = X_created_by
246 WHERE rowid = X_rowid;
247
248 IF (SQL%NOTFOUND) THEN
249 raise NO_DATA_FOUND;
250 END IF;
251 END Update_Row;
252
253 PROCEDURE Delete_Row
254 (X_rowid VARCHAR2) IS
255
256 BEGIN
257 DELETE
258 FROM jl_zz_ar_tx_rules
259 WHERE rowid = X_rowid;
260
261 IF (SQL%NOTFOUND) THEN
262 raise NO_DATA_FOUND;
263 END IF;
264 END Delete_Row;
265
266 END JL_ZZ_AR_TX_RULES_PKG;