[Home] [Help]
PACKAGE BODY: APPS.ZX_ACCOUNT_TAX_RATES_PKG
Source
1 PACKAGE BODY zx_account_tax_rates_pkg AS
2 /* $Header: zxglatrb.pls 120.6 2006/11/10 23:59:40 pla ship $ */
3
4 ---
5 --- PRIVATE FUNCTIONS
6 ---
7
8 --
9 -- Procedure
10 -- select_row
11 -- Purpose
12 -- Gets the row from gl_tax_options associated with
13 -- the given ledger id and organization.
14 -- History
15 --
16 -- Arguments
17 -- recinfo A row from zx_account_rates
18 -- Example
19 -- gl_tax_options_pkg.select_row(recinfo);
20 -- Notes
21 --
22 PROCEDURE select_row( recinfo IN OUT NOCOPY zx_account_rates%ROWTYPE ) IS
23 BEGIN
24 SELECT *
25 INTO recinfo
26 FROM zx_account_rates
27 WHERE ledger_id = recinfo.ledger_id
28 AND content_owner_id = recinfo.content_owner_id;
29 EXCEPTION
30 WHEN app_exceptions.application_exception THEN
31 RAISE;
32 WHEN OTHERS THEN
33 fnd_message.set_name('SQLGL', 'GL_UNHANDLED_EXCEPTION');
34 fnd_message.set_token('PROCEDURE',
35 'zx_account_rates.select_row');
36 RAISE;
37 END select_row;
38
39
40 --
41 -- PUBLIC FUNCTIONS
42 --
43
44 PROCEDURE select_columns(
45 x_ledger_id NUMBER,
46 x_content_owner_id NUMBER,
47 x_tax_precision IN OUT NOCOPY NUMBER,
48 x_tax_mau IN OUT NOCOPY NUMBER) IS
49
50 recinfo zx_account_rates%ROWTYPE;
51
52 BEGIN
53 recinfo.ledger_id := x_ledger_id;
54 recinfo.content_owner_id := x_content_owner_id;
55 select_row( recinfo );
56 x_tax_precision := recinfo.tax_precision;
57 x_tax_mau := recinfo.tax_mau;
58
59 EXCEPTION
60 WHEN app_exceptions.application_exception THEN
61 RAISE;
62 WHEN OTHERS THEN
63 fnd_message.set_name('SQLGL', 'GL_UNHANDLED_EXCEPTION');
64 fnd_message.set_token('PROCEDURE',
65 'zx_account_rates.select_columns');
66 RAISE;
67 END select_columns;
68
69
70 PROCEDURE duplicate_tax_options ( x_ledger_id NUMBER,
71 x_content_owner_id NUMBER,
72 x_rowid VARCHAR2 ) IS
73 x_total NUMBER;
74 BEGIN
75 SELECT count(*)
76 INTO x_total
77 FROM zx_account_rates
78 WHERE ledger_id = x_ledger_id
79 AND content_owner_id = x_content_owner_id
80 AND ( x_rowid is null OR rowid <> x_rowid );
81
82 IF (x_total <> 0) THEN
83 -- A already record exists for this ledger id and org id
84 fnd_message.set_name('SQLGL', 'GL_STAX_DUPLICATE_RECORD');
85 app_exception.raise_exception;
86 END IF;
87
88 END duplicate_tax_options;
89
90
91 PROCEDURE org_name ( x_org_id NUMBER,
92 x_org_name IN OUT NOCOPY VARCHAR2 ) IS
93 org_cursor NUMBER;
94 row_count NUMBER;
95 BEGIN
96
97 org_cursor := dbms_sql.open_cursor;
98 dbms_sql.parse(org_cursor,
99 'SELECT name ' ||
100 'FROM hr_operating_units ' ||
101 'WHERE organization_id = :org_id ',
102 dbms_sql.v7);
103 dbms_sql.define_column(org_cursor, 1, x_org_name, 240);
104 dbms_sql.bind_variable(org_cursor, ':org_id', x_org_id);
105
106 row_count := dbms_sql.execute_and_fetch(org_cursor);
107 IF (row_count = 0) THEN
108 RAISE NO_DATA_FOUND;
109 END IF;
110
111 dbms_sql.column_value(org_cursor, 1, x_org_name);
112 dbms_sql.close_cursor(org_cursor);
113 END org_name;
114
115
116 PROCEDURE insert_row(
117 X_LEDGER_ID NUMBER,
118 X_CONTENT_OWNER_ID NUMBER,
119 X_ACCOUNT_SEGMENT_VALUE VARCHAR2,
120 X_TAX_PRECISION NUMBER,
121 X_CALCULATION_LEVEL_CODE VARCHAR2,
122 X_ALLOW_RATE_OVERRIDE_FLAG VARCHAR2,
123 X_TAX_MAU NUMBER,
124 X_TAX_CURRENCY_CODE VARCHAR2,
125 X_TAX_CLASS VARCHAR2,
126 X_TAX_REGIME_CODE VARCHAR2,
127 X_TAX VARCHAR2,
128 X_TAX_STATUS_CODE VARCHAR2,
129 X_TAX_RATE_CODE VARCHAR2,
130 X_ROUNDING_RULE_CODE VARCHAR2,
131 X_AMT_INCL_TAX_FLAG VARCHAR2,
132 X_RECORD_TYPE_CODE VARCHAR2,
133 X_CREATION_DATE DATE,
134 X_CREATED_BY NUMBER,
135 X_LAST_UPDATED_BY NUMBER,
136 X_LAST_UPDATE_DATE DATE,
137 X_LAST_UPDATE_LOGIN NUMBER,
138 X_ATTRIBUTE_CATEGORY VARCHAR2,
139 X_ATTRIBUTE1 VARCHAR2,
140 X_ATTRIBUTE2 VARCHAR2,
141 X_ATTRIBUTE3 VARCHAR2,
142 X_ATTRIBUTE4 VARCHAR2,
143 X_ATTRIBUTE5 VARCHAR2,
144 X_ATTRIBUTE6 VARCHAR2,
145 X_ATTRIBUTE7 VARCHAR2,
146 X_ATTRIBUTE8 VARCHAR2,
147 X_ATTRIBUTE9 VARCHAR2,
148 X_ATTRIBUTE10 VARCHAR2,
149 X_ATTRIBUTE11 VARCHAR2,
150 X_ATTRIBUTE12 VARCHAR2,
151 X_ATTRIBUTE13 VARCHAR2,
152 X_ATTRIBUTE14 VARCHAR2,
153 X_ATTRIBUTE15 VARCHAR2,
154 X_ALLOW_ROUNDING_OVERRIDE_FLAG VARCHAR2) IS
155 CURSOR C IS SELECT ROWID FROM ZX_ACCOUNT_RATES
156 WHERE LEDGER_ID = X_LEDGER_ID
157 AND CONTENT_OWNER_ID = X_CONTENT_OWNER_ID
158 AND (tax_class = X_TAX_CLASS OR
159 (tax_class IS NULL AND X_TAX_CLASS IS NULL) );
160 dummy VARCHAR2(30);
161 BEGIN
162 INSERT INTO ZX_ACCOUNT_RATES
163 (ledger_id,
164 content_owner_id,
165 account_segment_value,
166 tax_precision,
167 calculation_level_code,
168 allow_rate_override_flag,
169 tax_mau,
170 tax_currency_code,
171 tax_class,
172 tax_regime_code,
173 tax,
174 tax_status_code,
175 tax_rate_code,
176 rounding_rule_code,
177 amt_incl_tax_flag,
178 record_type_code,
179 creation_date,
180 created_by,
181 last_updated_by,
182 last_update_date,
183 last_update_login,
184 attribute_category,
185 attribute1,
186 attribute2,
187 attribute3,
188 attribute4,
189 attribute5,
190 attribute6,
191 attribute7,
192 attribute8,
193 attribute9,
194 attribute10,
195 attribute11,
196 attribute12,
197 attribute13,
198 attribute14,
199 attribute15,
200 allow_rounding_override_flag)
201 VALUES
202 (X_LEDGER_ID,
203 X_CONTENT_OWNER_ID,
204 X_ACCOUNT_SEGMENT_VALUE,
205 X_TAX_PRECISION,
206 X_CALCULATION_LEVEL_CODE,
207 X_ALLOW_RATE_OVERRIDE_FLAG,
208 X_TAX_MAU,
209 X_TAX_CURRENCY_CODE,
210 X_TAX_CLASS,
211 X_TAX_REGIME_CODE,
212 X_TAX,
213 X_TAX_STATUS_CODE,
214 X_TAX_RATE_CODE,
215 X_ROUNDING_RULE_CODE,
216 X_AMT_INCL_TAX_FLAG,
217 X_RECORD_TYPE_CODE,
218 X_CREATION_DATE,
219 X_CREATED_BY,
220 X_LAST_UPDATED_BY,
221 X_LAST_UPDATE_DATE,
222 X_LAST_UPDATE_LOGIN,
223 X_ATTRIBUTE_CATEGORY,
224 X_ATTRIBUTE1,
225 X_ATTRIBUTE2,
226 X_ATTRIBUTE3,
227 X_ATTRIBUTE4,
228 X_ATTRIBUTE5,
229 X_ATTRIBUTE6,
230 X_ATTRIBUTE7,
231 X_ATTRIBUTE8,
232 X_ATTRIBUTE9,
233 X_ATTRIBUTE10,
234 X_ATTRIBUTE11,
235 X_ATTRIBUTE12,
236 X_ATTRIBUTE13,
237 X_ATTRIBUTE14,
238 X_ATTRIBUTE15,
239 X_ALLOW_ROUNDING_OVERRIDE_FLAG);
240
241 OPEN C;
242 FETCH C INTO dummy;
243 IF (C%NOTFOUND) THEN
244 CLOSE C;
245 RAISE NO_DATA_FOUND;
246 END IF;
247 CLOSE C;
248
249 END insert_row;
250
251
252 PROCEDURE update_row (
253 X_RECORD_LEVEL VARCHAR2,
254 X_LEDGER_ID NUMBER,
255 X_CONTENT_OWNER_ID NUMBER,
256 X_ACCOUNT_SEGMENT_VALUE VARCHAR2,
257 X_TAX_PRECISION NUMBER,
258 X_CALCULATION_LEVEL_CODE VARCHAR2,
259 X_ALLOW_RATE_OVERRIDE_FLAG VARCHAR2,
260 X_TAX_MAU NUMBER,
261 X_TAX_CURRENCY_CODE VARCHAR2,
262 X_TAX_CLASS VARCHAR2,
263 X_TAX_REGIME_CODE VARCHAR2,
264 X_TAX VARCHAR2,
265 X_TAX_STATUS_CODE VARCHAR2,
266 X_TAX_RATE_CODE VARCHAR2,
267 X_ROUNDING_RULE_CODE VARCHAR2,
268 X_AMT_INCL_TAX_FLAG VARCHAR2,
269 X_RECORD_TYPE_CODE VARCHAR2,
270 X_CREATION_DATE DATE,
271 X_CREATED_BY NUMBER,
272 X_LAST_UPDATED_BY NUMBER,
273 X_LAST_UPDATE_DATE DATE,
274 X_LAST_UPDATE_LOGIN NUMBER,
275 X_ATTRIBUTE_CATEGORY VARCHAR2,
276 X_ATTRIBUTE1 VARCHAR2,
277 X_ATTRIBUTE2 VARCHAR2,
278 X_ATTRIBUTE3 VARCHAR2,
279 X_ATTRIBUTE4 VARCHAR2,
280 X_ATTRIBUTE5 VARCHAR2,
281 X_ATTRIBUTE6 VARCHAR2,
282 X_ATTRIBUTE7 VARCHAR2,
283 X_ATTRIBUTE8 VARCHAR2,
284 X_ATTRIBUTE9 VARCHAR2,
285 X_ATTRIBUTE10 VARCHAR2,
286 X_ATTRIBUTE11 VARCHAR2,
287 X_ATTRIBUTE12 VARCHAR2,
288 X_ATTRIBUTE13 VARCHAR2,
289 X_ATTRIBUTE14 VARCHAR2,
290 X_ATTRIBUTE15 VARCHAR2,
291 X_ALLOW_ROUNDING_OVERRIDE_FLAG VARCHAR2,
292 X_CONTENT_OWNER_ID_ORIG NUMBER,
293 X_ACCOUNT_SEGMENT_VALUE_ORIG VARCHAR2,
294 X_TAX_CLASS_ORIG VARCHAR2) IS
295
296 BEGIN
297
298 IF x_record_level = 'LEDGER' THEN
299
300 /******
301 BEGIN
302
303 UPDATE ZX_ACCOUNT_RATES
307 calculation_level_code = X_CALCULATION_LEVEL_CODE,
304 SET tax_currency_code = X_TAX_CURRENCY_CODE,
305 tax_precision = X_TAX_PRECISION,
306 tax_mau = X_TAX_MAU,
308 allow_rounding_override_flag = X_ALLOW_ROUNDING_OVERRIDE_FLAG
309 WHERE ledger_id = X_LEDGER_ID
310 --AND content_owner_id = NVL(X_CONTENT_OWNER_ID_ORIG, content_owner_id)
311 AND account_segment_value IS NULL
312 AND (tax_class IN ('INPUT', 'OUTPUT')
313 OR tax_class is null);
314
315
316 EXCEPTION
317 WHEN OTHERS THEN
318 NULL;
319 END;
320 ***/
321
322 BEGIN
323
324 UPDATE ZX_ACCOUNT_RATES
325 SET content_owner_id = X_CONTENT_OWNER_ID,
326 allow_rate_override_flag = X_ALLOW_RATE_OVERRIDE_FLAG,
327 -- tax_class = X_TAX_CLASS,
328 tax_regime_code = X_TAX_REGIME_CODE,
329 tax = X_TAX,
330 tax_status_code = X_TAX_STATUS_CODE,
331 tax_rate_code = X_TAX_RATE_CODE,
332 rounding_rule_code = X_ROUNDING_RULE_CODE,
333 amt_incl_tax_flag = X_AMT_INCL_TAX_FLAG,
334 tax_currency_code = X_TAX_CURRENCY_CODE,
335 tax_precision = X_TAX_PRECISION,
336 tax_mau = X_TAX_MAU,
337 calculation_level_code = X_CALCULATION_LEVEL_CODE,
338 allow_rounding_override_flag = X_ALLOW_ROUNDING_OVERRIDE_FLAG,
339 record_type_code = X_RECORD_TYPE_CODE,
340 creation_date = X_CREATION_DATE,
341 created_by = X_CREATED_BY,
345 attribute_category = X_ATTRIBUTE_CATEGORY,
342 last_updated_by = X_LAST_UPDATED_BY,
343 last_update_date = X_LAST_UPDATE_DATE,
344 last_update_login = X_LAST_UPDATE_LOGIN,
346 attribute1 = X_ATTRIBUTE1,
347 attribute2 = X_ATTRIBUTE2,
348 attribute3 = X_ATTRIBUTE3,
349 attribute4 = X_ATTRIBUTE4,
350 attribute5 = X_ATTRIBUTE5,
351 attribute6 = X_ATTRIBUTE6,
352 attribute7 = X_ATTRIBUTE7,
353 attribute8 = X_ATTRIBUTE8,
354 attribute9 = X_ATTRIBUTE9,
355 attribute10 = X_ATTRIBUTE10,
356 attribute11 = X_ATTRIBUTE11,
357 attribute12 = X_ATTRIBUTE12,
358 attribute13 = X_ATTRIBUTE13,
359 attribute14 = X_ATTRIBUTE14,
360 attribute15 = X_ATTRIBUTE15
361 WHERE ledger_id = X_LEDGER_ID
362 AND content_owner_id = X_CONTENT_OWNER_ID
363 AND account_segment_value IS NULL
364 AND (tax_class = X_TAX_CLASS OR
365 (tax_class IS NULL AND X_TAX_CLASS IS NULL ));
366
367 IF (SQL%NOTFOUND) THEN
368 RAISE NO_DATA_FOUND;
369 END IF;
370 EXCEPTION
371 WHEN OTHERS THEN
372 NULL;
373 END;
374
375 ELSIF X_RECORD_LEVEL = 'ACCOUNT' then
376
377
378 UPDATE ZX_ACCOUNT_RATES
379 SET ledger_id = X_LEDGER_ID,
380 content_owner_id = X_CONTENT_OWNER_ID,
381 account_segment_value = X_ACCOUNT_SEGMENT_VALUE,
382 tax_precision = X_TAX_PRECISION,
383 calculation_level_code = X_CALCULATION_LEVEL_CODE,
384 allow_rate_override_flag = X_ALLOW_RATE_OVERRIDE_FLAG,
385 tax_mau = X_TAX_MAU,
386 tax_currency_code = X_TAX_CURRENCY_CODE,
387 tax_class = X_TAX_CLASS,
388 tax_regime_code = X_TAX_REGIME_CODE,
389 tax = X_TAX,
390 tax_status_code = X_TAX_STATUS_CODE,
391 tax_rate_code = X_TAX_RATE_CODE,
392 rounding_rule_code = X_ROUNDING_RULE_CODE,
393 amt_incl_tax_flag = X_AMT_INCL_TAX_FLAG,
394 record_type_code = X_RECORD_TYPE_CODE,
395 creation_date = X_CREATION_DATE,
396 created_by = X_CREATED_BY,
397 last_updated_by = X_LAST_UPDATED_BY,
398 last_update_date = X_LAST_UPDATE_DATE,
399 last_update_login = X_LAST_UPDATE_LOGIN,
400 attribute_category = X_ATTRIBUTE_CATEGORY,
401 attribute1 = X_ATTRIBUTE1,
402 attribute2 = X_ATTRIBUTE2,
403 attribute3 = X_ATTRIBUTE3,
404 attribute4 = X_ATTRIBUTE4,
405 attribute5 = X_ATTRIBUTE5,
406 attribute6 = X_ATTRIBUTE6,
407 attribute7 = X_ATTRIBUTE7,
408 attribute8 = X_ATTRIBUTE8,
409 attribute9 = X_ATTRIBUTE9,
410 attribute10 = X_ATTRIBUTE10,
411 attribute11 = X_ATTRIBUTE11,
412 attribute12 = X_ATTRIBUTE12,
413 attribute13 = X_ATTRIBUTE13,
414 attribute14 = X_ATTRIBUTE14,
415 attribute15 = X_ATTRIBUTE15,
416 allow_rounding_override_flag = X_ALLOW_ROUNDING_OVERRIDE_FLAG
417 WHERE ledger_id = X_LEDGER_ID
418 AND content_owner_id = X_CONTENT_OWNER_ID
419 AND account_segment_value = X_ACCOUNT_SEGMENT_VALUE
420 AND (tax_class = X_TAX_CLASS OR
421 (tax_class IS NULL AND X_TAX_CLASS IS NULL ));
422
423 IF (SQL%NOTFOUND) THEN
424 RAISE NO_DATA_FOUND;
425 END IF;
426
427 END IF;
428
429
430 END update_row;
431
432
433 PROCEDURE lock_row(
434 X_RECORD_LEVEL VARCHAR2,
435 X_LEDGER_ID NUMBER,
436 X_CONTENT_OWNER_ID NUMBER,
437 X_ACCOUNT_SEGMENT_VALUE VARCHAR2,
438 X_TAX_PRECISION NUMBER,
439 X_CALCULATION_LEVEL_CODE VARCHAR2,
440 X_ALLOW_RATE_OVERRIDE_FLAG VARCHAR2,
444 X_TAX_REGIME_CODE VARCHAR2,
441 X_TAX_MAU NUMBER,
442 X_TAX_CURRENCY_CODE VARCHAR2,
443 X_TAX_CLASS VARCHAR2,
445 X_TAX VARCHAR2,
446 X_TAX_STATUS_CODE VARCHAR2,
447 X_TAX_RATE_CODE VARCHAR2,
448 X_ROUNDING_RULE_CODE VARCHAR2,
449 X_AMT_INCL_TAX_FLAG VARCHAR2,
450 X_RECORD_TYPE_CODE VARCHAR2,
451 X_CREATION_DATE DATE,
452 X_CREATED_BY NUMBER,
453 X_LAST_UPDATED_BY NUMBER,
454 X_LAST_UPDATE_DATE DATE,
455 X_LAST_UPDATE_LOGIN NUMBER,
456 X_ATTRIBUTE_CATEGORY VARCHAR2,
457 X_ATTRIBUTE1 VARCHAR2,
458 X_ATTRIBUTE2 VARCHAR2,
459 X_ATTRIBUTE3 VARCHAR2,
460 X_ATTRIBUTE4 VARCHAR2,
461 X_ATTRIBUTE5 VARCHAR2,
462 X_ATTRIBUTE6 VARCHAR2,
463 X_ATTRIBUTE7 VARCHAR2,
464 X_ATTRIBUTE8 VARCHAR2,
465 X_ATTRIBUTE9 VARCHAR2,
466 X_ATTRIBUTE10 VARCHAR2,
467 X_ATTRIBUTE11 VARCHAR2,
468 X_ATTRIBUTE12 VARCHAR2,
469 X_ATTRIBUTE13 VARCHAR2,
470 X_ATTRIBUTE14 VARCHAR2,
471 X_ATTRIBUTE15 VARCHAR2,
472 X_ALLOW_ROUNDING_OVERRIDE_FLAG VARCHAR2) IS
473 CURSOR C1 IS
474 SELECT *
475 FROM ZX_ACCOUNT_RATES
479 AND (tax_class = X_TAX_CLASS OR
476 WHERE ledger_id = X_LEDGER_ID
477 AND content_owner_id = X_CONTENT_OWNER_ID
478 AND account_segment_value is null
480 (tax_class IS NULL AND X_TAX_CLASS IS NULL ))
481 FOR UPDATE OF tax_currency_code NOWAIT;
482
483 CURSOR C2 IS
484 SELECT *
485 FROM ZX_ACCOUNT_RATES
486 WHERE ledger_id = X_LEDGER_ID
487 AND content_owner_id = X_CONTENT_OWNER_ID
488 AND account_segment_value = X_ACCOUNT_SEGMENT_VALUE
489 AND (tax_class = X_TAX_CLASS OR
490 (tax_class IS NULL AND X_TAX_CLASS IS NULL ))
491
492
493 FOR UPDATE OF tax_currency_code NOWAIT;
494
495 Recinfo1 C1%ROWTYPE;
496 Recinfo2 C2%ROWTYPE;
497 BEGIN
498
499 IF X_RECORD_LEVEL = 'LEDGER' THEN
500 OPEN C1;
501 FETCH C1 INTO Recinfo1;
502 IF (C1%NOTFOUND) THEN
503 CLOSE C1;
504 FND_MESSAGE.set_name('FND', 'FORM_RECORD_DELETED');
505 APP_EXCEPTION.raise_exception;
506 END IF;
507 CLOSE C1;
508
509 IF ( (Recinfo1.ledger_id = X_LEDGER_ID)
510 AND (Recinfo1.content_owner_id = X_CONTENT_OWNER_ID)
511 AND ((Recinfo1.account_segment_value = X_ACCOUNT_SEGMENT_VALUE)
512 OR (X_ACCOUNT_SEGMENT_VALUE IS NULL AND X_ACCOUNT_SEGMENT_VALUE IS NULL))
513 AND (Recinfo1.tax_precision = X_TAX_PRECISION)
514 AND (Recinfo1.calculation_level_code = X_CALCULATION_LEVEL_CODE)
515 AND (Recinfo1.allow_rate_override_flag = X_ALLOW_RATE_OVERRIDE_FLAG)
516 OR (Recinfo1.allow_rate_override_flag IS NULL AND X_ALLOW_RATE_OVERRIDE_FLAG IS NULL)
517 AND ( (Recinfo1.tax_mau = X_TAX_MAU)
518 OR ( (Recinfo1.tax_mau IS NULL)
519 AND (X_TAX_MAU IS NULL)))
520 AND ( (Recinfo1.tax_currency_code = X_TAX_CURRENCY_CODE)
521 OR ( (Recinfo1.tax_currency_code IS NULL)
522 AND (X_TAX_CURRENCY_CODE IS NULL)))
523 AND ( (Recinfo1.tax_class = X_TAX_CLASS)
524 OR ( (Recinfo1.tax_class IS NULL)
525 AND (X_TAX_CLASS IS NULL)))
526 AND ((Recinfo1.tax_regime_code = X_TAX_REGIME_CODE)
527 OR ( X_TAX_REGIME_CODE IS NULL
528 AND Recinfo1.tax_regime_code IS NULL) )
529 AND ((Recinfo1.tax = X_TAX)
530 OR ( X_TAX IS NULL
531 AND Recinfo1.tax IS NULL) )
532 AND ((Recinfo1.tax_status_code = X_TAX_STATUS_CODE)
533 OR (X_TAX_STATUS_CODE IS NULL
534 AND Recinfo1.tax_status_code IS NULL) )
535 AND ((Recinfo1.tax_rate_code = X_TAX_RATE_CODE)
536 OR (X_TAX_RATE_CODE IS NULL
537 AND Recinfo1.tax_rate_code IS NULL) )
538 AND ( (Recinfo1.rounding_rule_code = X_ROUNDING_RULE_CODE)
539 OR ( (Recinfo1.rounding_rule_code IS NULL)
543 AND (X_AMT_INCL_TAX_FLAG IS NULL)))
540 AND (X_ROUNDING_RULE_CODE IS NULL)))
541 AND ( (Recinfo1.amt_incl_tax_flag = X_AMT_INCL_TAX_FLAG)
542 OR ( (Recinfo1.amt_incl_tax_flag IS NULL)
544 AND ( (Recinfo1.record_type_code = X_RECORD_TYPE_CODE)
545 OR ( (Recinfo1.record_type_code IS NULL)
546 AND (X_RECORD_TYPE_CODE IS NULL)))
547 AND ( (Recinfo1.attribute_category = X_ATTRIBUTE_CATEGORY)
548 OR ( (Recinfo1.attribute_category IS NULL)
549 AND (X_ATTRIBUTE_CATEGORY IS NULL)))
550 AND ( (Recinfo1.attribute1 = X_ATTRIBUTE1)
551 OR ( (Recinfo1.attribute1 IS NULL)
552 AND (X_ATTRIBUTE1 IS NULL)))
553 AND ( (Recinfo1.attribute2 = X_ATTRIBUTE2)
554 OR ( (Recinfo1.attribute2 IS NULL)
555 AND (X_ATTRIBUTE2 IS NULL)))
556 AND ( (Recinfo1.attribute3 = X_ATTRIBUTE3)
557 OR ( (Recinfo1.attribute3 IS NULL)
558 AND (X_ATTRIBUTE3 IS NULL)))
559 AND ( (Recinfo1.attribute4 = X_ATTRIBUTE4)
560 OR ( (Recinfo1.attribute4 IS NULL)
561 AND (X_ATTRIBUTE4 IS NULL)))
562 AND ( (Recinfo1.attribute5 = X_ATTRIBUTE5)
563 OR ( (Recinfo1.attribute5 IS NULL)
564 AND (X_ATTRIBUTE5 IS NULL)))
565 AND ( (Recinfo1.attribute6 = X_ATTRIBUTE6)
566 OR ( (Recinfo1.attribute6 IS NULL)
567 AND (X_ATTRIBUTE6 IS NULL)))
568 AND ( (Recinfo1.attribute7 = X_ATTRIBUTE7)
569 OR ( (Recinfo1.attribute7 IS NULL)
570 AND (X_ATTRIBUTE7 IS NULL)))
571 AND ( (Recinfo1.attribute8 = X_ATTRIBUTE8)
572 OR ( (Recinfo1.attribute8 IS NULL)
573 AND (X_ATTRIBUTE8 IS NULL)))
574 AND ( (Recinfo1.attribute9 = X_ATTRIBUTE9)
575 OR ( (Recinfo1.attribute9 IS NULL)
576 AND (X_ATTRIBUTE9 IS NULL)))
577 AND ( (Recinfo1.attribute10 = X_ATTRIBUTE10)
578 OR ( (Recinfo1.attribute10 IS NULL)
579 AND (X_ATTRIBUTE10 IS NULL)))
580 AND ( (Recinfo1.attribute11 = X_ATTRIBUTE11)
581 OR ( (Recinfo1.attribute11 IS NULL)
582 AND (X_ATTRIBUTE11 IS NULL)))
583 AND ( (Recinfo1.attribute12 = X_ATTRIBUTE12)
584 OR ( (Recinfo1.attribute12 IS NULL)
585 AND (X_ATTRIBUTE12 IS NULL)))
586 AND ( (Recinfo1.attribute13 = X_ATTRIBUTE13)
587 OR ( (Recinfo1.attribute13 IS NULL)
588 AND (X_ATTRIBUTE13 IS NULL)))
589 AND ( (Recinfo1.attribute14 = X_ATTRIBUTE14)
590 OR ( (Recinfo1.attribute14 IS NULL)
591 AND (X_ATTRIBUTE14 IS NULL)))
592 AND ( (Recinfo1.attribute15 = X_ATTRIBUTE15)
593 OR ( (Recinfo1.attribute15 IS NULL)
594 AND (X_ATTRIBUTE15 IS NULL)))
595 AND ( (Recinfo1.allow_rounding_override_flag = X_ALLOW_ROUNDING_OVERRIDE_FLAG)
596 OR ( (Recinfo1.allow_rounding_override_flag IS NULL)
597 AND (X_ALLOW_ROUNDING_OVERRIDE_FLAG IS NULL)))
598 ) THEN
599
600 RETURN;
601 ELSE
602 FND_MESSAGE.set_name('FND', 'FORM_RECORD_CHANGED');
603 APP_EXCEPTION.raise_exception;
604 END IF;
605
606
607 ELSIF X_RECORD_LEVEL = 'ACCOUNT' THEN
608 OPEN C2;
609 FETCH C2 INTO Recinfo2;
610 IF (C2%NOTFOUND) THEN
611 CLOSE C2;
612 FND_MESSAGE.set_name('FND', 'FORM_RECORD_DELETED');
613 APP_EXCEPTION.raise_exception;
614 END IF;
615 CLOSE C2;
616
617
618 IF ( (Recinfo2.ledger_id = X_LEDGER_ID)
619 AND (Recinfo2.content_owner_id = X_CONTENT_OWNER_ID)
620 AND (Recinfo2.account_segment_value = X_ACCOUNT_SEGMENT_VALUE)
621 AND (Recinfo2.tax_precision = X_TAX_PRECISION)
622 AND (Recinfo2.calculation_level_code = X_CALCULATION_LEVEL_CODE)
623 AND ((Recinfo2.allow_rate_override_flag = X_ALLOW_RATE_OVERRIDE_FLAG)
624 OR (Recinfo2.allow_rate_override_flag IS NULL AND X_ALLOW_RATE_OVERRIDE_FLAG IS NULL))
625 AND ( (Recinfo2.tax_mau = X_TAX_MAU)
626 OR ( (Recinfo2.tax_mau IS NULL)
630 AND (X_TAX_CURRENCY_CODE IS NULL)))
627 AND (X_TAX_MAU IS NULL)))
628 AND ( (Recinfo2.tax_currency_code = X_TAX_CURRENCY_CODE)
629 OR ( (Recinfo2.tax_currency_code IS NULL)
631 AND ( (Recinfo2.tax_class = X_TAX_CLASS)
632 OR ( (Recinfo2.tax_class IS NULL)
633 AND (X_TAX_CLASS IS NULL)))
634 AND ((Recinfo2.tax_regime_code = X_TAX_REGIME_CODE)
635 OR ( X_TAX_REGIME_CODE IS NULL
636 AND Recinfo2.tax_regime_code IS NULL) )
637 AND ((Recinfo2.tax = X_TAX)
638 OR ( X_TAX IS NULL
639 AND Recinfo2.tax IS NULL) )
640 AND ((Recinfo2.tax_status_code = X_TAX_STATUS_CODE)
641 OR (X_TAX_STATUS_CODE IS NULL
642 AND Recinfo2.tax_status_code IS NULL) )
643 AND ((Recinfo2.tax_rate_code = X_TAX_RATE_CODE)
644 OR (X_TAX_RATE_CODE IS NULL
645 AND Recinfo2.tax_rate_code IS NULL) )
646 AND ((Recinfo2.rounding_rule_code = X_ROUNDING_RULE_CODE)
647 OR ( (Recinfo2.rounding_rule_code IS NULL)
648 AND (X_ROUNDING_RULE_CODE IS NULL)))
649 AND ( (Recinfo2.amt_incl_tax_flag = X_AMT_INCL_TAX_FLAG)
650 OR ( (Recinfo2.amt_incl_tax_flag IS NULL)
651 AND (X_AMT_INCL_TAX_FLAG IS NULL)))
652 AND ( (Recinfo2.record_type_code = X_RECORD_TYPE_CODE)
653 OR ( (Recinfo2.record_type_code IS NULL)
654 AND (X_RECORD_TYPE_CODE IS NULL)))
655 AND ( (Recinfo2.attribute_category = X_ATTRIBUTE_CATEGORY)
656 OR ( (Recinfo2.attribute_category IS NULL)
657 AND (X_ATTRIBUTE_CATEGORY IS NULL)))
658 AND ( (Recinfo2.attribute1 = X_ATTRIBUTE1)
659 OR ( (Recinfo2.attribute1 IS NULL)
663 AND (X_ATTRIBUTE2 IS NULL)))
660 AND (X_ATTRIBUTE1 IS NULL)))
661 AND ( (Recinfo2.attribute2 = X_ATTRIBUTE2)
662 OR ( (Recinfo2.attribute2 IS NULL)
664 AND ( (Recinfo2.attribute3 = X_ATTRIBUTE3)
665 OR ( (Recinfo2.attribute3 IS NULL)
666 AND (X_ATTRIBUTE3 IS NULL)))
667 AND ( (Recinfo2.attribute4 = X_ATTRIBUTE4)
668 OR ( (Recinfo2.attribute4 IS NULL)
669 AND (X_ATTRIBUTE4 IS NULL)))
670 AND ( (Recinfo2.attribute5 = X_ATTRIBUTE5)
671 OR ( (Recinfo2.attribute5 IS NULL)
672 AND (X_ATTRIBUTE5 IS NULL)))
673 AND ( (Recinfo2.attribute6 = X_ATTRIBUTE6)
674 OR ( (Recinfo2.attribute6 IS NULL)
675 AND (X_ATTRIBUTE6 IS NULL)))
676 AND ( (Recinfo2.attribute7 = X_ATTRIBUTE7)
677 OR ( (Recinfo2.attribute7 IS NULL)
678 AND (X_ATTRIBUTE7 IS NULL)))
679 AND ( (Recinfo2.attribute8 = X_ATTRIBUTE8)
680 OR ( (Recinfo2.attribute8 IS NULL)
681 AND (X_ATTRIBUTE8 IS NULL)))
682 AND ( (Recinfo2.attribute9 = X_ATTRIBUTE9)
683 OR ( (Recinfo2.attribute9 IS NULL)
684 AND (X_ATTRIBUTE9 IS NULL)))
685 AND ( (Recinfo2.attribute10 = X_ATTRIBUTE10)
686 OR ( (Recinfo2.attribute10 IS NULL)
687 AND (X_ATTRIBUTE10 IS NULL)))
688 AND ( (Recinfo2.attribute11 = X_ATTRIBUTE11)
689 OR ( (Recinfo2.attribute11 IS NULL)
690 AND (X_ATTRIBUTE11 IS NULL)))
691 AND ( (Recinfo2.attribute12 = X_ATTRIBUTE12)
692 OR ( (Recinfo2.attribute12 IS NULL)
693 AND (X_ATTRIBUTE12 IS NULL)))
694 AND ( (Recinfo2.attribute13 = X_ATTRIBUTE13)
695 OR ( (Recinfo2.attribute13 IS NULL)
696 AND (X_ATTRIBUTE13 IS NULL)))
697 AND ( (Recinfo2.attribute14 = X_ATTRIBUTE14)
698 OR ( (Recinfo2.attribute14 IS NULL)
699 AND (X_ATTRIBUTE14 IS NULL)))
700 AND ( (Recinfo2.attribute15 = X_ATTRIBUTE15)
701 OR ( (Recinfo2.attribute15 IS NULL)
702 AND (X_ATTRIBUTE15 IS NULL)))
703 AND ( (Recinfo2.allow_rounding_override_flag = X_ALLOW_ROUNDING_OVERRIDE_FLAG)
704 OR ( (x_allow_rounding_override_flag IS NULL)
705 AND (X_ALLOW_ROUNDING_OVERRIDE_FLAG IS NULL)))
706 ) THEN
707
708 RETURN;
709 ELSE
710 FND_MESSAGE.set_name('FND', 'FORM_RECORD_CHANGED');
711 APP_EXCEPTION.raise_exception;
712 END IF;
713 END IF;
714
715
716 END lock_row;
717
718
719 END zx_account_tax_rates_pkg;