1 PACKAGE BODY JL_ZZ_AUTO_INVOICE as
2 /* $Header: jlzzraib.pls 120.10.12010000.3 2009/01/29 19:28:32 pakumare ship $ */
3
4 /*----------------------------------------------------------------------------*
5 | PUBLIC FUNCTIONS/PROCEDURES |
6 *----------------------------------------------------------------------------*/
7
8 /*----------------------------------------------------------------------------*
9 | FUNCTION |
10 | validate_gdff |
11 | |
12 | DESCRIPTION |
13 | |
14 | PARAMETERS |
15 | INPUT |
16 | p_request_id Number -- Concurrent Request_id |
17 | |
18 | RETURNS |
19 | 0 Number -- Validation Fails, if there is any |
20 | exceptional case which is handled |
21 | in WHEN OTHERS |
22 | 1 Number -- Validation Succeeds |
23 | |
24 *----------------------------------------------------------------------------*/
25 --PG_DEBUG varchar2(1) := NVL(FND_PROFILE.value('TAX_DEBUG_FLAG'), 'N');
26 -- Bugfix# 3259701
27 PG_DEBUG varchar2(1) := NVL(FND_PROFILE.value('AFLOG_ENABLED'), 'N');
28
29 FUNCTION validate_tax_attributes (p_interface_line_id IN NUMBER
30 , p_line_type IN VARCHAR2
31 , p_memo_line_id IN NUMBER
32 , p_inventory_item_id IN NUMBER
33 , p_product_fiscal_class IN VARCHAR2
34 , p_product_category IN VARCHAR2
35 , p_trx_business_category IN VARCHAR2
36 , p_line_attribute11 IN VARCHAR2
37 , p_line_attribute12 IN VARCHAR2
38 , p_address_id IN NUMBER
39 , p_warehouse_id IN NUMBER)
40 RETURN BOOLEAN IS
41
42 error_condition EXCEPTION;
43 l_dummy_code VARCHAR2(15);
44 l_delimiter zx_fc_types_b.delimiter%type;
45 l_trx_business_category VARCHAR2(30);
46 l_contributor_class VARCHAR2(30);
47 l_use_site_prof VARCHAR2(1);
48 l_count NUMBER;
49
50 BEGIN
51
52 IF p_line_type = 'LINE' THEN
53
54 IF p_warehouse_id IS NULL AND
55 p_inventory_item_id IS NOT NULL THEN
56 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
57 ,'JL_ZZ_AR_TX_SHIP_FROM_ORG_REQ'
58 ,p_interface_line_id , p_warehouse_id) THEN
59 RAISE error_condition;
60 END IF;
61 ELSE
62 l_dummy_code := NULL;
63 BEGIN
64 SELECT 'Success'
65 INTO l_dummy_code
66 FROM hr_organization_units hou,
67 hr_locations_all hl
68 WHERE hou.organization_id = p_warehouse_id
69 AND hl.location_id = hou.location_id
70 AND hl.global_attribute1 IS NOT NULL;
71 EXCEPTION
72 WHEN NO_DATA_FOUND THEN
73 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
74 ,'JL_ZZ_AR_TX_ORG_CLASS_INVALID'
75 ,p_interface_line_id ,p_warehouse_id) THEN
76 RAISE error_condition;
77 END IF;
78 END;
79 END IF;
80
81 l_contributor_class := NULL;
82 l_use_site_prof := NULL;
83 IF p_address_id IS NOT NULL THEN
84 BEGIN
85 SELECT global_attribute8, global_attribute9
86 INTO l_contributor_class, l_use_site_prof
87 FROM hz_cust_acct_sites
88 WHERE cust_acct_site_id = p_address_id;
89 EXCEPTION
90 WHEN NO_DATA_FOUND THEN
91 l_contributor_class := NULL;
92 END;
93
94 IF l_contributor_class IS NULL THEN
95 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
96 ,'JL_ZZ_AR_TX_CONTRIB_CLASS_INV'
97 ,p_interface_line_id
98 ,p_address_id) THEN
99 RAISE error_condition;
100 END IF;
101 ELSE
102 l_count := 0;
103 BEGIN
104 IF NVL(l_use_site_prof,'N') = 'Y' THEN
105 SELECT count(*)
106 INTO l_count
107 FROM JL_ZZ_AR_TX_CUS_CLS
108 WHERE address_id = p_address_id
109 AND tax_attr_class_code = l_contributor_class;
110 ELSE
111 SELECT count(*)
112 INTO l_count
113 FROM JL_ZZ_AR_TX_ATT_CLS
114 WHERE tax_attr_class_type = 'CONTRIBUTOR_CLASS'
115 AND tax_attribute_type = 'CONTRIBUTOR_ATTRIBUTE'
116 AND tax_attr_class_code = l_contributor_class;
117 END IF;
118 EXCEPTION
119 WHEN OTHERS THEN
120 l_count := 0;
121 END;
122 END IF;
123
124 IF l_count = 0 THEN
125 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
126 ,'JL_ZZ_AR_TX_CUS_SITE_PROF_REQ'
127 ,p_interface_line_id
128 ,p_address_id) THEN
129 RAISE error_condition;
130 END IF;
131 END IF;
132
133 END IF;
134
135 /* commented for Bug 3761529. Fiscal Classification Code (GA2) is migrated to Item
136 Category model as part of eBTax uptake. So, just validate the column to be a
137 NOT NULL for LTE and the actual validation of Product Fiscal Classification
138 needs to be done by Product or eBTax feature. */
139 IF p_product_fiscal_class IS NOT NULL THEN
140 l_dummy_code := NULL;
141 BEGIN
142 SELECT 'Sucess'
143 INTO l_dummy_code
144 FROM fnd_lookups
145 WHERE lookup_code = p_product_fiscal_class
146 AND lookup_type = 'JLZZ_AR_TX_FISCAL_CLASS_CODE'
147 AND enabled_flag = 'Y'
148 AND sysdate between nvl(start_date_active,sysdate)
149 and nvl(end_date_active,sysdate);
150 EXCEPTION
151 WHEN NO_DATA_FOUND THEN
152 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
153 ,'JL_ZZ_AR_TX_RAXTRX_FSC_CLS_INV'
154 ,p_interface_line_id , p_product_fiscal_class) THEN
155 RAISE error_condition;
156 END IF;
157 WHEN OTHERS THEN
158 RAISE error_condition;
159 END; -- p_product_fiscal_class
160 ELSE
161 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
162 ,'JL_ZZ_AR_TX_RAXTRX_FSC_CLS_MND'
163 ,p_interface_line_id
164 ,p_product_fiscal_class) THEN
165 RAISE error_condition;
166 END IF;
167 END IF; -- p_product_fiscal_class IS NOT NULL
168
169 /* IF p_product_fiscal_class IS NULL AND
170 p_product_category IS NULL THEN
171 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
172 ,'JL_ZZ_AR_TX_RAXTRX_FSC_CLS_MND'
173 ,p_interface_line_id
174 ,p_product_fiscal_class) THEN
175 RAISE error_condition;
176 END IF;
177 END IF;
178 */
179
180 IF p_trx_business_category IS NOT NULL THEN
181 l_dummy_code := NULL;
182 BEGIN
183
184 -- Transaction Business Category for LTE is prefixed with
185 -- Event Class Code and it has to be eliminated along with
186 -- the delimiter to validate the transaction condition class value.
187 SELECT delimiter
188 INTO l_delimiter
189 FROM zx_fc_types_b
190 WHERE classification_type_code ='TRX_BUSINESS_CATEGORY';
191
192 -- For example, the value for Transaction Business Category of LTE
193 -- will be something like 'INVOICE.INDUSTRIAL' and the assignment
194 -- below would extract only 'INDUSTRIAL' and validates with
195 -- Transaction Condition Class Code of LTE
196 l_trx_business_category := substr(p_trx_business_category,
197 instr(p_trx_business_category,l_delimiter,-1)+1);
198
199 SELECT 'Sucess'
200 INTO l_dummy_code
201 FROM fnd_lookups
202 WHERE lookup_code = l_trx_business_category
203 AND lookup_type = 'TRANSACTION_CLASS'
204 AND enabled_flag = 'Y'
205 AND sysdate BETWEEN nvl(start_date_active,sysdate)
206 AND nvl(end_date_active,sysdate);
207 EXCEPTION
208 WHEN NO_DATA_FOUND THEN
209 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
210 ,'JL_ZZ_AR_TX_RAXTRX_TRX_NAT_INV'
211 ,p_interface_line_id
212 ,p_trx_business_category) THEN
213 RAISE error_condition;
214 END IF;
215 WHEN OTHERS THEN
216 RAISE error_condition;
217 END; -- p_line_attribute3
218 ELSE
219 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
220 ,'JL_ZZ_AR_TX_RAXTRX_TRX_NAT_MND'
221 ,p_interface_line_id
222 ,p_trx_business_category) THEN
223 RAISE error_condition;
224 END IF;
225 END IF; -- p_trx_business_category IS NOT NULL
226
227 ELSIF p_line_type ='TAX' THEN
228 IF p_line_attribute11 IS NOT NULL THEN
229 l_dummy_code := NULL;
230 BEGIN
231 SELECT FND_NUMBER.canonical_to_number (p_line_attribute11)
232 INTO l_dummy_code
233 FROM sys.dual;
234 EXCEPTION
235 WHEN INVALID_NUMBER OR VALUE_ERROR THEN
236 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
237 ,'JL_ZZ_AR_TX_RAXTRX_BS_AMT_INV'
238 ,p_interface_line_id
239 ,p_line_attribute11) THEN
240 RAISE error_condition;
241 END IF;
242 WHEN OTHERS THEN
243 RAISE error_condition;
244 END; -- p_attribute_11
245 END IF; -- line_attribute11 IS NOT NULL
246
247 IF p_line_attribute12 IS NOT NULL THEN
248 l_dummy_code := NULL;
249 BEGIN
250 SELECT FND_NUMBER.canonical_to_number (p_line_attribute12)
251 INTO l_dummy_code
252 FROM sys.dual;
253 EXCEPTION
254 WHEN INVALID_NUMBER OR VALUE_ERROR THEN
255 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
256 ,'JL_ZZ_AR_TX_RAXTRX_BS_RATE_INV'
257 ,p_interface_line_id
258 ,p_line_attribute12) THEN
259 RAISE error_condition;
260 END IF;
261 WHEN OTHERS THEN
262 RAISE error_condition;
263 END;
264 END IF; -- line_attribute12 IS NOT NULL
265
266 END IF; -- line_type
267
268 RETURN TRUE;
269
270 EXCEPTION
271 WHEN OTHERS THEN
272 RETURN FALSE;
273
274 END validate_tax_attributes;
275
276 FUNCTION validate_interest_attributes (p_interface_line_id IN NUMBER
277 , p_line_type IN VARCHAR2
278 , p_header_attribute1 IN VARCHAR2
279 , p_header_attribute2 IN VARCHAR2
280 , p_header_attribute3 IN VARCHAR2
281 , p_header_attribute4 IN VARCHAR2
282 , p_header_attribute5 IN VARCHAR2
283 , p_header_attribute6 IN VARCHAR2
284 , p_header_attribute7 IN VARCHAR2)
285 RETURN BOOLEAN IS
286
287 dummy_code VARCHAR2 (15);
288 error_condition EXCEPTION;
289
290 BEGIN
291
292 ------------------------------------------------------------
293 -- header_attribute1 is the interest type --
294 -- Valid JLBR_INTEREST_PENALTY_TYPE. Not Mandatory. --
295 ------------------------------------------------------------
296 IF p_line_type = 'LINE' THEN
297
298 IF p_header_attribute1 IS NOT NULL THEN
299
300 BEGIN
301 SELECT 'Success'
302 INTO dummy_code
303 FROM fnd_lookups
304 WHERE lookup_code = p_header_attribute1
305 AND lookup_type = 'JLBR_INTEREST_PENALTY_TYPE'
306 AND enabled_flag = 'Y'
307 AND nvl(start_date_active,sysdate) <= sysdate
308 AND nvl(end_date_active,sysdate+1) >= sysdate;
309
310 EXCEPTION
311 WHEN NO_DATA_FOUND THEN
312 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
313 , 'JL_BR_AR_RAXTRX_INT_TYPE_INV'
314 , p_interface_line_id
315 , p_header_attribute1) THEN
316 RAISE error_condition;
317 END IF;
318 WHEN OTHERS THEN
319 RAISE error_condition;
320 END; -- p_header_attribute1
321
322 END IF;
323
324 END IF; -- p_line_type = 'LINE'
325
326 ------------------------------------------------------------
327 -- header_attribute2 is the interest rate o amount for the--
328 -- invoice. --
329 -- If interest type = 'R' then interest rate between 0 and--
330 -- 100. --
331 -- If interest type = 'A' then interest amount >= 0. --
332 ------------------------------------------------------------
333 IF p_line_type = 'LINE' THEN
334
335 IF p_header_attribute1 = 'R' AND
336 p_header_attribute2 NOT BETWEEN 0 AND 100 THEN
337
338 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
339 , 'JL_BR_AR_RAXTRX_INT_RATE_INV'
340 , p_interface_line_id
341 , p_header_attribute2) THEN
342 RAISE error_condition;
343 END IF;
344
345 END IF;
346
347 IF p_header_attribute1 = 'A' AND p_header_attribute2 < 0 THEN
348
349 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
350 , 'JL_BR_AR_RAXTRX_AMNT_INV'
351 , p_interface_line_id
352 , p_header_attribute2) THEN
353 RAISE error_condition;
354 END IF;
355
356 END IF;
357
358 END IF; -- p_line_type = 'LINE'
359
360 ------------------------------------------------------------
361 -- header_attribute3 is the interest period days. --
362 -- Must be > 0. Mandatory --
363 ------------------------------------------------------------
364 IF p_line_type = 'LINE' THEN
365
366 IF p_header_attribute1 IS NOT NULL THEN
367
368 IF p_header_attribute3 IS NOT NULL THEN
369
370 BEGIN
371 SELECT 'Success'
372 INTO dummy_code
373 FROM dual
374 WHERE to_number (p_header_attribute3) >= 0;
375
376 EXCEPTION
377 WHEN NO_DATA_FOUND OR INVALID_NUMBER OR VALUE_ERROR THEN
378 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
379 , 'JL_BR_AR_RAXTRX_INT_DAY_INV'
380 , p_interface_line_id
381 , p_header_attribute3) THEN
382 RAISE error_condition;
383 END IF;
384 WHEN OTHERS THEN
385 RAISE error_condition;
386 END; -- p_header_attribute3
387
388 ELSE
389 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
390 , 'JL_BR_AR_RAXTRX_INT_DAY_INV'
391 , p_interface_line_id
392 , p_header_attribute3) THEN
393 RAISE error_condition;
394 END IF;
395
396 END IF;
397
398 END IF;
399
400 END IF; -- p_line_type = 'LINE'
401
402 ------------------------------------------------------------
403 -- header_attribute4 is the interest formula. --
404 -- Valid JLBR_INTEREST_FORMULA. Not Mandatory. --
405 ------------------------------------------------------------
406 IF p_line_type = 'LINE' THEN
407
408 IF p_header_attribute4 IS NOT NULL THEN
409
410 BEGIN
411 SELECT 'Success'
412 INTO dummy_code
413 FROM fnd_lookups
414 WHERE lookup_code = p_header_attribute4
415 AND lookup_type = 'JLBR_INTEREST_FORMULA'
416 AND enabled_flag = 'Y'
417 AND nvl(start_date_active,sysdate) <= sysdate
418 AND nvl(end_date_active,sysdate+1) >= sysdate;
419
420 EXCEPTION
421 WHEN NO_DATA_FOUND THEN
422 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
423 , 'JL_BR_AR_RAXTRX_INT_FORM_INV'
424 , p_interface_line_id
425 , p_header_attribute4) THEN
426 RAISE error_condition;
427 END IF;
428 WHEN OTHERS THEN
429 RAISE error_condition;
430 END; -- p_header_attribute4
431
432 END IF;
433
434 END IF; -- p_line_type = 'LINE'
435
436 ------------------------------------------------------------
437 -- header_attribute5 is the grace days for the invoice --
438 -- Must be >= 0. Mandatory --
439 ------------------------------------------------------------
440 IF p_line_type = 'LINE' THEN
441
442 IF p_header_attribute5 IS NOT NULL THEN
443
444 BEGIN
445 SELECT 'Success'
446 INTO dummy_code
447 FROM dual
448 WHERE to_number (p_header_attribute5) >= 0;
449
450 EXCEPTION
451 WHEN NO_DATA_FOUND OR INVALID_NUMBER OR VALUE_ERROR THEN
452 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
453 , 'JL_BR_AR_RAXTRX_INT_GRACE_INV'
454 , p_interface_line_id
455 , p_header_attribute5) THEN
456 RAISE error_condition;
457 END IF;
458 WHEN OTHERS THEN
459 RAISE error_condition;
460
461 END; -- p_header_attribute5
462
463 END IF;
464
465 END IF; -- p_line_type = 'LINE'
466
467
468 ------------------------------------------------------------
469 -- header_attribute6 is the interest formula. --
470 -- Valid JLBR_INTEREST_PENALTY_TYPE. Not Mandatory. --
471 ------------------------------------------------------------
472 IF p_line_type = 'LINE' THEN
473
474 IF p_header_attribute6 IS NOT NULL THEN
475
476 BEGIN
477 SELECT 'Success'
478 INTO dummy_code
479 FROM fnd_lookups
480 WHERE lookup_code = p_header_attribute6
481 AND lookup_type = 'JLBR_INTEREST_PENALTY_TYPE'
482 AND enabled_flag = 'Y'
483 AND nvl(start_date_active,sysdate) <= sysdate
484 AND nvl(end_date_active,sysdate+1) >= sysdate;
485
486 EXCEPTION
487 WHEN NO_DATA_FOUND THEN
488 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
489 , 'JL_BR_AR_RAXTRX_PEN_TYPE_INV'
490 , p_interface_line_id
491 , p_header_attribute6) THEN
492 RAISE error_condition;
493 END IF;
494 WHEN OTHERS THEN
495 RAISE error_condition;
496
497 END; -- p_header_attribute6
498
499 END IF;
500
501 END IF; -- p_line_type = 'LINE'
502
503
504 ------------------------------------------------------------
505 -- header_attribute7 is the interest rate o amount for the--
506 -- invoice. --
507 -- If penalty type = 'R' then interest rate between 0 and --
508 -- 100. --
509 -- If penalty type = 'A' then interest amount >= 0. --
510 ------------------------------------------------------------
511 IF p_line_type = 'LINE' THEN
512
513 IF p_header_attribute6 = 'R' AND
514 p_header_attribute7 NOT BETWEEN 0 AND 100 THEN
515 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
516 , 'JL_BR_AR_RAXTRX_PEN_RATE_INV'
517 , p_interface_line_id
518 , p_header_attribute7) THEN
519 RAISE error_condition;
520 END IF;
521
522 END IF;
523
524 IF p_header_attribute6 = 'A' AND p_header_attribute7 < 0 THEN
525 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
526 , 'JL_BR_AR_RAXTRX_PEN_AMNT_INV'
527 , p_interface_line_id
528 , p_header_attribute7) THEN
529 RAISE error_condition;
530 END IF;
531
532 END IF;
533
534 END IF; -- p_line_type = 'LINE'
535
536 RETURN TRUE;
537
538 EXCEPTION
539 WHEN OTHERS THEN
540 RETURN FALSE;
541
542 END validate_interest_attributes;
543
544 FUNCTION validate_billing_attributes (p_interface_line_id IN NUMBER
545 , p_line_type IN VARCHAR2
546 , p_memo_line_id IN NUMBER
547 , p_inventory_item_id IN NUMBER
548 , p_header_attribute9 IN VARCHAR2
549 , p_header_attribute10 IN VARCHAR2
550 , p_header_attribute11 IN VARCHAR2
551 , p_header_attribute13 IN VARCHAR2
552 , p_header_attribute15 IN VARCHAR2
553 , p_header_attribute16 IN VARCHAR2
554 , p_header_attribute17 IN VARCHAR2
555 , p_line_attribute1 IN VARCHAR2
556 , p_line_attribute4 IN VARCHAR2
557 , p_line_attribute5 IN VARCHAR2
558 , p_line_attribute6 IN VARCHAR2
559 , p_line_attribute7 IN VARCHAR2)
560 RETURN BOOLEAN IS
561
562 dummy_code VARCHAR2 (15);
563 error_condition EXCEPTION;
564 x_return_context VARCHAR2(30);
565
566 BEGIN
567
568 BEGIN
569 SELECT return_context
570 INTO x_return_context
571 FROM oe_order_lines a, ra_interface_lines_gt b
572 WHERE a.line_id = b.interface_line_attribute6
573 AND b.interface_line_id = p_interface_line_id;
574
575 EXCEPTION WHEN OTHERS THEN
576 x_return_context := NULL;
577
578 END;
579
580 ------------------------------------------------------------
581 -- header_attribute9 is the freight accesory expense --
582 -- Numeric . No Mandatory --
583 ------------------------------------------------------------
584 IF p_line_type = 'LINE' THEN
585
586 BEGIN
587 SELECT to_number (nvl (p_header_attribute9, 999))
588 INTO dummy_code
589 FROM sys.dual;
590
591 EXCEPTION
592 WHEN INVALID_NUMBER OR VALUE_ERROR THEN
593 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
594 , 'JL_BR_AR_RAXTRX_FRT_EXP_INV'
595 , p_interface_line_id
596 , p_header_attribute9) THEN
597 RAISE error_condition;
598 END IF;
599 WHEN OTHERS THEN
600 RAISE error_condition;
601 END; -- p_header_attribute9
602
603 END IF; -- p_line_type = 'LINE'
604
605
606 ------------------------------------------------------------
607 -- header_attribute10 is the Insurance accesory expense --
608 -- Numeric . No Mandatory --
609 ------------------------------------------------------------
610 IF p_line_type = 'LINE' THEN
611
612 BEGIN
613 SELECT to_number (nvl (p_header_attribute10, 999))
614 INTO dummy_code
615 FROM sys.dual;
616
617 EXCEPTION
618 WHEN INVALID_NUMBER OR VALUE_ERROR THEN
619 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
620 , 'JL_BR_AR_RAXTRX_INS_EXP_INV'
621 , p_interface_line_id
622 , p_header_attribute10) THEN
623 RAISE error_condition;
624 END IF;
625 WHEN OTHERS THEN
626 RAISE error_condition;
627
628 END; -- p_header_attribute10
629
630 END IF; -- p_line_type = 'LINE'
631
632
633 ------------------------------------------------------------
634 -- header_attribute11 is the Other accessory expense --
635 -- Numeric . No Mandatory --
636 ------------------------------------------------------------
637 IF p_line_type = 'LINE' THEN
638
639 BEGIN
640 SELECT to_number (nvl (p_header_attribute11, 999))
641 INTO dummy_code
642 FROM sys.dual;
643
644 EXCEPTION
645 WHEN INVALID_NUMBER OR VALUE_ERROR THEN
646 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
647 , 'JL_BR_AR_RAXTRX_OTH_EXP_INV'
648 , p_interface_line_id
649 , p_header_attribute11) THEN
650 RAISE error_condition;
651 END IF;
652 WHEN OTHERS THEN
653 RAISE error_condition;
654
655 END; --p_header_attribute11
656
657 END IF; -- p_line_type = 'LINE'
658
659
660 ------------------------------------------------------------
661 -- header_attribute13 is the Volume Quantity --
662 -- Numeric . No Mandatory --
663 ------------------------------------------------------------
664 IF p_line_type = 'LINE' THEN
665
666 BEGIN
667 SELECT to_number (nvl (p_header_attribute13, 999))
668 INTO dummy_code
669 FROM sys.dual;
670
671 EXCEPTION
672 WHEN INVALID_NUMBER OR VALUE_ERROR THEN
673 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
674 , 'JL_BR_AR_RAXTRX_VOL_QTY_INV'
675 , p_interface_line_id
676 , p_header_attribute13) THEN
677 RAISE error_condition;
678 END IF;
679 WHEN OTHERS THEN
680 RAISE error_condition;
681 END; --p_header_attribute13
682
683 END IF; -- p_line_type = 'LINE'
684
685 ------------------------------------------------------------
686 -- header_attribute16 is the Total gross Weight --
687 -- Numeric . No Mandatory --
688 ------------------------------------------------------------
689 IF p_line_type = 'LINE' THEN
690
691 BEGIN
692 SELECT FND_NUMBER.canonical_to_number(nvl(p_header_attribute16, 999))
693 INTO dummy_code
694 FROM sys.dual;
695
696 EXCEPTION
697 WHEN INVALID_NUMBER OR VALUE_ERROR THEN
698 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
699 , 'JL_BR_AR_RAXTRX_GRS_WGT_INV'
700 , p_interface_line_id
701 , p_header_attribute16) THEN
702 RAISE error_condition;
703 END IF;
704 WHEN OTHERS THEN
705 RAISE error_condition;
706
707 END; --p_header_attribute16
708
709 END IF; -- p_line_type = 'LINE'
710
711
712 ------------------------------------------------------------
713 -- header_attribute17 is the Total Net Weight --
714 -- Numeric . No Mandatory --
715 ------------------------------------------------------------
716 IF p_line_type = 'LINE' THEN
717
718 BEGIN
719 SELECT FND_NUMBER.canonical_to_number(nvl(p_header_attribute17, 999))
720 INTO dummy_code
721 FROM sys.dual;
722
723 EXCEPTION
724 WHEN INVALID_NUMBER OR VALUE_ERROR THEN
725 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
726 , 'JL_BR_AR_RAXTRX_NET_WGT_INV'
727 , p_interface_line_id
728 , p_header_attribute17) THEN
729 RAISE error_condition;
730 END IF;
731 WHEN OTHERS THEN
732 RAISE error_condition;
733
734 END; --p_header_attribute17
735
736 END IF; -- p_line_type = 'LINE'
737
738
739 ------------------------------------------------------------
740 -- line_attribute1 is the operation fiscal code (CFO) --
741 -- Valid JL_AR_AP_OPERATIONS. Mandatory. --
742 ------------------------------------------------------------
743 IF p_line_type = 'LINE' THEN
744
745 IF p_line_attribute1 IS NOT NULL THEN
746
747 BEGIN
748 SELECT 'Success'
749 INTO dummy_code
750 FROM jl_br_ap_operations
751 WHERE cfo_code = p_line_attribute1;
752
753 EXCEPTION
754 WHEN NO_DATA_FOUND THEN
755 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
756 , 'JL_BR_AR_RAXTRX_OP_FISC_INV'
757 , p_interface_line_id
758 , p_line_attribute1) THEN
759 RAISE error_condition;
760 END IF;
761 WHEN OTHERS THEN
762 RAISE error_condition;
763 END; -- p_line_attribute1
764 ELSE
765 IF x_return_context IS NULL THEN
766 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
767 , 'JL_BR_AR_RAXTRX_OP_FISC_MND'
768 , p_interface_line_id
769 , p_line_attribute1) THEN
770 RAISE error_condition;
771 END IF;
772 ELSE
773 NULL;
774 END IF;
775
776 END IF;
777
778 END IF; -- p_line_type = 'LINE'
779
780
781 ------------------------------------------------------------
782 -- line_attribute4 is the item origin --
783 -- Mandatory if RA_INTERFACE_LINES.INVENTORY_ITEM_ID is --
784 -- not null or RA_INTERFACE_LINES.MEMO_LINE_ID is not null--
785 -- --
786 -- Valid ITEM_ORIGIN --
787 ------------------------------------------------------------
788 IF p_line_type = 'LINE' THEN
789
790 IF p_memo_line_id IS NOT NULL OR
791 p_inventory_item_id IS NOT NULL THEN
792
793 IF p_line_attribute4 IS NOT NULL THEN
794
795 BEGIN
796
797 /* Old Code Commented by Sierra on 03/29/99 for MLS */
798
799 -- SELECT 'Success'
800 -- INTO dummy_code
801 -- FROM jl_br_lookup_codes
802 -- WHERE lookup_code = p_line_attribute4
803 -- AND lookup_type = 'ITEM_ORIGIN'
804 -- AND nvl (inactive_date, sysdate + 1) > sysdate;
805
806 /* End of Old Code */
807
808 /* New Code for MLS by Sierra on 03/29/99 */
809 /* Lookup Type value modified by Sierra on 06/11/99 */
810
811 SELECT 'Success'
812 INTO dummy_code
813 FROM fnd_lookups
814 WHERE lookup_code = p_line_attribute4
815 AND lookup_type = 'JLBR_ITEM_ORIGIN'
816 AND nvl (end_date_active, sysdate + 1) > sysdate;
817
818 /* End of New Code */
819
820 EXCEPTION
821 WHEN NO_DATA_FOUND THEN
822 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
823 , 'JL_BR_AR_RAXTRX_IT_ORIG_INV'
824 , p_interface_line_id
825 , p_line_attribute4) THEN
826 RAISE error_condition;
827 END IF;
828 WHEN OTHERS THEN
829 RAISE error_condition;
830
831 END; --p_line_attribute4
832 ELSE
833 IF x_return_context IS NULL THEN
834 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
835 , 'JL_BR_AR_RAXTRX_IT_ORIG_MND'
836 , p_interface_line_id
837 , p_line_attribute4) THEN
838 RAISE error_condition;
839 END IF;
840 ELSE
841 NULL;
842 END IF;
843 END IF;
844
845 END IF;
846
847 END IF; -- p_line_type = 'LINE'
848
849
850 ------------------------------------------------------------
851 -- line_attribute5 is the Fiscal Type. --
852 -- Mandatory if RA_INTERFACE_LINES.INVENTORY_ITEM_ID is --
853 -- not null or RA_INTERFACE_LINES.MEMO_LINE_ID is not null--
854 -- --
855 -- Valid ITEM_FISCAL_TYPE --
856 ------------------------------------------------------------
857 IF p_line_type = 'LINE' THEN
858
859 IF p_memo_line_id IS NOT NULL OR
860 p_inventory_item_id IS NOT NULL THEN
861
862 IF p_line_attribute5 IS NOT NULL THEN
863
864 BEGIN
865
866 /* Old Code Commented By Sierra on 03/29/99 for MLS */
867
868 -- SELECT 'Success'
869 -- INTO dummy_code
870 -- FROM jl_br_lookup_codes
871 -- WHERE lookup_code = p_line_attribute5
872 -- AND lookup_type = 'ITEM_FISCAL_TYPE'
873 -- AND nvl (inactive_date, sysdate + 1) > sysdate;
874
875 /* End of Old Code */
876
877 /* New Code for MLS by Sierra on 03/29/99 */
878
879 SELECT 'Success'
880 INTO dummy_code
881 FROM fnd_lookups
882 WHERE lookup_code = p_line_attribute5
883 AND lookup_type = 'JLBR_ITEM_FISCAL_TYPE'
884 AND nvl (end_date_active, sysdate + 1) > sysdate;
885
886 /* End of New Code */
887
888 EXCEPTION
889 WHEN NO_DATA_FOUND THEN
890 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
891 , 'JL_BR_AR_RAXTRX_IT_FISC_TP_INV'
892 , p_interface_line_id
893 , p_line_attribute5) THEN
894 RAISE error_condition;
895 END IF;
896 WHEN OTHERS THEN
897 RAISE error_condition;
898
899 END; -- p_line_attribute5
900 ELSE
901 IF x_return_context IS NULL THEN
902 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
903 , 'JL_BR_AR_RAXTRX_IT_FISC_TP_MND'
904 , p_interface_line_id
905 , p_line_attribute5) THEN
906 RAISE error_condition;
907 END IF;
908 ELSE
909 NULL;
910 END IF;
911 END IF;
912
913 END IF;
914
915 END IF; -- p_line_type = 'LINE'
916
917
918 ------------------------------------------------------------
919 -- line_attribute6 is the Federal Tributary Situation --
920 -- Mandatory if RA_INTERFACE_LINES.INVENTORY_ITEM_ID is --
921 -- not null or RA_INTERFACE_LINES.MEMO_LINE_ID is not null--
922 -- --
923 -- Valid ITEM_FEDERAL_SITUATION --
924 ------------------------------------------------------------
925 IF p_line_type = 'LINE' THEN
926
927 IF p_memo_line_id IS NOT NULL OR
928 p_inventory_item_id IS NOT NULL THEN
929
930 IF p_line_attribute6 IS NOT NULL THEN
931
932 BEGIN
933
934 /* Old Code Commented by Sierra for MLS on 03/29/99 */
935
936 -- SELECT 'Success'
937 -- INTO dummy_code
938 -- FROM jl_br_lookup_codes
939 -- WHERE lookup_code = p_line_attribute6
940 -- AND lookup_type = 'ITEM_FEDERAL_SITUATION'
941 -- AND nvl (inactive_date, sysdate + 1) > sysdate;
942
943 /* End of Old Code */
944
945 /* New Code for MLS by Sierra on 03/29/99 */
946
947 SELECT 'Success'
948 INTO dummy_code
949 FROM fnd_lookups
950 WHERE lookup_code = p_line_attribute6
951 AND lookup_type = 'JLBR_ITEM_FEDERAL_SITUATION'
952 AND nvl (end_date_active, sysdate + 1) > sysdate;
953
954 /* End of New Code */
955
956 EXCEPTION
957 WHEN NO_DATA_FOUND THEN
958 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
959 , 'JL_BR_AR_RAXTRX_FED_TR_SIT_INV'
960 , p_interface_line_id
961 , p_line_attribute6) THEN
962 RAISE error_condition;
963 END IF;
964 WHEN OTHERS THEN
965 RAISE error_condition;
966 END; -- p_line_attribute6
967 ELSE
968 IF x_return_context IS NULL THEN
969 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
970 , 'JL_BR_AR_RAXTRX_FED_TR_SIT_MND'
971 , p_interface_line_id
972 , p_line_attribute5) THEN
973 RAISE error_condition;
974 END IF;
975 ELSE
976 NULL;
977 END IF;
978
979 END IF;
980
981 END IF;
982
983 END IF; -- p_line_type = 'LINE'
984
985
986 ------------------------------------------------------------
987 -- line_attribute7 is the State Tributary Situation --
988 -- Mandatory if RA_INTERFACE_LINES.INVENTORY_ITEM_ID is --
989 -- not null or RA_INTERFACE_LINES.MEMO_LINE_ID is not null--
990 -- --
991 -- Valid ITEM_STATE_SITUATION --
992 ------------------------------------------------------------
993 IF p_line_type = 'LINE' THEN
994
995 IF p_memo_line_id IS NOT NULL OR
996 p_inventory_item_id IS NOT NULL THEN
997
998 IF p_line_attribute7 IS NOT NULL THEN
999
1000 BEGIN
1001
1002 /* Old Code Commented by Sierra for MLS on 03/29/99 */
1003
1004 -- SELECT 'Success'
1005 -- INTO dummy_code
1006 -- FROM jl_br_lookup_codes
1007 -- WHERE lookup_code = p_line_attribute7
1008 -- AND lookup_type = 'ITEM_STATE_SITUATION'
1009 -- AND nvl (inactive_date, sysdate + 1) > sysdate;
1010
1011 /* End of Old Code */
1012
1013 /* New Code for MLS by Sierra on 03/29/99 */
1014
1015 SELECT 'Success'
1016 INTO dummy_code
1017 FROM fnd_lookups
1018 WHERE lookup_code = p_line_attribute7
1019 AND lookup_type = 'JLBR_ITEM_STATE_SITUATION'
1020 AND nvl (end_date_active, sysdate + 1) > sysdate;
1021
1022 /* End of New Code */
1023
1024 EXCEPTION
1025 WHEN NO_DATA_FOUND THEN
1026 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
1027 , 'JL_BR_AR_RAXTRX_STA_TR_SIT_INV'
1028 , p_interface_line_id
1029 , p_line_attribute7) THEN
1030 RAISE error_condition;
1031 END IF;
1032 WHEN OTHERS THEN
1033 RAISE error_condition;
1034
1035 END; -- p_line_attribute7
1036 ELSE
1037 IF x_return_context IS NULL THEN
1038 IF NOT JG_ZZ_AUTO_INVOICE.put_error_message ('JL'
1039 , 'JL_BR_AR_RAXTRX_STA_TR_SIT_MND'
1040 , p_interface_line_id
1041 , p_line_attribute5) THEN
1042 RAISE error_condition;
1043 END IF;
1044 ELSE
1045 NULL;
1046 END IF;
1047
1048 END IF; -- p_line_attribute7 is not null
1049
1050 END IF;
1051
1052 END IF; -- p_line_type = 'LINE'
1053
1054 RETURN TRUE;
1055
1056 EXCEPTION
1057 WHEN OTHERS THEN
1058 RETURN FALSE;
1059
1060 END validate_billing_attributes;
1061
1062 FUNCTION validate_gdff
1063 (p_request_id IN NUMBER,
1064 p_org_id IN NUMBER DEFAULT --Bugfix 2367111
1065 to_number(fnd_profile.value('ORG_ID'))
1066 ) RETURN NUMBER IS
1067
1068 return_code NUMBER (1);
1069 l_tax_method VARCHAR2(30);
1070 l_country_code VARCHAR2(2);
1071 l_org_id NUMBER;
1072
1073 CURSOR trx_lines_cursor (c_request_id NUMBER) IS
1074 SELECT interface_line_id
1075 , cust_trx_type_id trx_type
1076 , trx_date
1077 , nvl(orig_system_ship_address_id , orig_system_bill_address_id)
1078 orig_system_address_id
1079 , line_type
1080 , memo_line_id
1081 , inventory_item_id
1082 , header_gdf_attribute1
1083 , header_gdf_attribute2
1084 , header_gdf_attribute3
1085 , header_gdf_attribute4
1086 , header_gdf_attribute5
1087 , header_gdf_attribute6
1088 , header_gdf_attribute7
1089 , header_gdf_attribute8
1090 , header_gdf_attribute9
1091 , header_gdf_attribute10
1092 , header_gdf_attribute11
1093 , header_gdf_attribute12
1094 , header_gdf_attribute13
1095 , header_gdf_attribute14
1096 , header_gdf_attribute15
1097 , header_gdf_attribute16
1098 , header_gdf_attribute17
1099 , line_gdf_attribute1
1100 , line_gdf_attribute2
1101 , line_gdf_attribute3
1102 -- nipatel commented out because the columns below will not be added to ra_interface_lines
1103 -- , product_fisc_classification
1104 -- , product_category
1105 -- , trx_business_category
1106 , line_gdf_attribute4
1107 , line_gdf_attribute5
1108 , line_gdf_attribute6
1109 , line_gdf_attribute7
1110 , line_gdf_attribute8
1111 , line_gdf_attribute9
1112 , line_gdf_attribute10
1113 , line_gdf_attribute11
1114 , line_gdf_attribute12
1115 , warehouse_id
1116 , batch_source_name
1117 , trx_number
1118 FROM ra_interface_lines_gt
1119 WHERE request_id = c_request_id
1120 ORDER BY trx_date;
1121
1122 ------------------------------------------------------------
1123 ----- Tax validation function.
1124 ----------------------------------------------------------
1125
1126
1127 ------------------------------------------------------------
1128 -- Interest validation function --
1129 ------------------------------------------------------------
1130
1131
1132 ------------------------------------------------------------
1133 -- Billing validation function --
1134 ------------------------------------------------------------
1135
1136 ------------------------------------------------------------
1137 -- Main function body. --
1138 ------------------------------------------------------------
1139
1140
1141 BEGIN
1142
1143 ------------------------------------------------------------
1144 -- Let's assume everything is OK --
1145 ------------------------------------------------------------
1146 --arp_standard.debug('JL_ZZ_AUTO_INVOICE.validate_gdff()+');
1147 IF PG_DEBUG = 'Y' THEN
1148 arp_util_tax.debug('JL_ZZ_AUTO_INVOICE.validate_gdff()+');
1149 END IF;
1150
1151 return_code := 1;
1152 --Bug Fix 2367111
1153 --l_country_code := FND_PROFILE.VALUE('JGZZ_COUNTRY_CODE');
1154 l_org_id := MO_GLOBAL.get_current_org_id;
1155 l_country_code := JG_ZZ_SHARED_PKG.GET_COUNTRY(l_org_id, null);
1156
1157 --arp_standard.debug('-- Country Code: '||l_country_code);
1158 --arp_standard.debug('-- Request Id: '||to_char(p_request_id));
1159 IF PG_DEBUG = 'Y' THEN
1160 arp_util_tax.debug('validate_gdff: ' || '-- Country Code: '||l_country_code);
1161 arp_util_tax.debug('validate_gdff: ' || '-- Request Id: '||to_char(p_request_id));
1162 END IF;
1163
1164 ------------------------------------------------------------
1165 -- Validate all the rows for this concurrent request --
1166 ------------------------------------------------------------
1167 FOR trx_line_record IN trx_lines_cursor (p_request_id)
1168 LOOP
1169
1170 IF l_country_code IN ('BR','AR','CO') THEN
1171
1172 l_tax_method := JL_ZZ_AR_TX_LIB_PKG.get_tax_method(l_org_id);
1173
1174 --arp_standard.debug('-- Tax Method: '||l_tax_method);
1175 IF PG_DEBUG = 'Y' THEN
1176 arp_util_tax.debug('validate_gdff: ' || '-- Tax Method: '||l_tax_method);
1177 END IF;
1178
1179 IF l_tax_method = 'LTE' THEN
1180
1181
1182
1183 IF NOT validate_tax_attributes (trx_line_record.interface_line_id
1184 , trx_line_record.line_type
1185 , trx_line_record.memo_line_id
1186 , trx_line_record.inventory_item_id
1187 , trx_line_record.line_gdf_attribute2
1188 , trx_line_record.line_gdf_attribute3
1189 , trx_line_record.line_gdf_attribute3
1190 , trx_line_record.line_gdf_attribute11
1191 , trx_line_record.line_gdf_attribute12
1192 , trx_line_record.orig_system_address_id
1193 , trx_line_record.warehouse_id) THEN
1194
1195 --arp_standard.debug('-- validate_tax_attributes routine failed');
1196 IF PG_DEBUG = 'Y' THEN
1197 arp_util_tax.debug('validate_gdff: ' || '-- validate_tax_attributes routine failed');
1198 END IF;
1199 return_code := 0;
1200 END IF; -- Validate tax
1201 END IF; -- l_tax_method check
1202 END IF; -- Tax method check
1203
1204 IF l_country_code = 'BR' THEN
1205 IF NOT validate_interest_attributes
1206 ( trx_line_record.interface_line_id
1207 , trx_line_record.line_type
1208 , trx_line_record.header_gdf_attribute1
1209 , trx_line_record.header_gdf_attribute2
1210 , trx_line_record.header_gdf_attribute3
1211 , trx_line_record.header_gdf_attribute4
1212 , trx_line_record.header_gdf_attribute5
1213 , trx_line_record.header_gdf_attribute6
1214 , trx_line_record.header_gdf_attribute7) THEN
1215
1216 --arp_standard.debug('-- validate_interest_attributes routine failed');
1217 IF PG_DEBUG = 'Y' THEN
1218 arp_util_tax.debug('validate_gdff: ' || '-- validate_interest_attributes routine failed');
1219 END IF;
1220
1221 return_code := 0;
1222 END IF; -- Validate interest
1223
1224 IF NOT validate_billing_attributes (trx_line_record.interface_line_id
1225 , trx_line_record.line_type
1226 , trx_line_record.memo_line_id
1227 , trx_line_record.inventory_item_id
1228 , trx_line_record.header_gdf_attribute9
1229 , trx_line_record.header_gdf_attribute10
1230 , trx_line_record.header_gdf_attribute11
1231 , trx_line_record.header_gdf_attribute13
1232 , trx_line_record.header_gdf_attribute15
1233 , trx_line_record.header_gdf_attribute16
1234 , trx_line_record.header_gdf_attribute17
1235 , trx_line_record.line_gdf_attribute1
1236 , trx_line_record.line_gdf_attribute4
1237 , trx_line_record.line_gdf_attribute5
1238 , trx_line_record.line_gdf_attribute6
1239 , trx_line_record.line_gdf_attribute7) THEN
1240
1241 --arp_standard.debug('-- validate_billing_attributes routine failed');
1242 IF PG_DEBUG = 'Y' THEN
1243 arp_util_tax.debug('validate_gdff: ' || '-- validate_billing_attributes routine failed');
1244 END IF;
1245
1246 return_code := 0;
1247 END IF; -- Validate billing
1248
1249 ELSIF l_country_code = 'AR' THEN
1250 ------------------------------------------------------------
1251 -- Validate all the rows for this concurrent request --
1252 ------------------------------------------------------------
1253 IF NOT JL_AR_DOC_NUMBERING_PKG.validate_interface_lines
1254 ( p_request_id
1255 , trx_line_record.interface_line_id
1256 , trx_line_record.trx_type
1257 , trx_line_record.inventory_item_id
1258 , trx_line_record.memo_line_id
1259 , trx_line_record.trx_date
1260 , trx_line_record.orig_system_address_id
1261 , trx_line_record.warehouse_id
1262 ) THEN
1263
1264 --arp_standard.debug('-- JL_AR_DOC_NUMBERING_PKG.'||'validate_interface_lines routine failed');
1265 IF PG_DEBUG = 'Y' THEN
1266 arp_util_tax.debug('validate_gdff: ' || '-- JL_AR_DOC_NUMBERING_PKG.'||'validate_interface_lines routine failed');
1267 END IF;
1268
1269 return_code := 0;
1270 END IF; -- Validate interface lines
1271 END IF;
1272
1273 END LOOP;
1274
1275 --arp_standard.debug('-- Return Code: '||to_char(return_code));
1276 --arp_standard.debug('JL_ZZ_AUTO_INVOICE.validate_gdff()-');
1277 IF PG_DEBUG = 'Y' THEN
1278 arp_util_tax.debug('validate_gdff: ' || '-- Return Code: '||to_char(return_code));
1279 arp_util_tax.debug('JL_ZZ_AUTO_INVOICE.validate_gdff()-');
1280 END IF;
1281
1282 RETURN return_code;
1283
1284 EXCEPTION
1285 WHEN OTHERS THEN
1286
1287 --arp_standard.debug('-- Return From Exception when others');
1288 --arp_standard.debug('-- Return Code: 0');
1289 --arp_standard.debug('JL_ZZ_AUTO_INVOICE.validate_gdff()-');
1290 IF PG_DEBUG = 'Y' THEN
1291 arp_util_tax.debug('validate_gdff: ' || '-- Return From Exception when others');
1292 arp_util_tax.debug('validate_gdff: ' || '-- Return Code: 0');
1293 arp_util_tax.debug('JL_ZZ_AUTO_INVOICE.validate_gdff()-');
1294 END IF;
1295
1296 RETURN 0;
1297
1298 END validate_gdff;
1299
1300 FUNCTION trx_num_upd
1301 (p_batch_source_id IN NUMBER,
1302 p_trx_number IN VARCHAR2,
1303 p_org_id IN NUMBER DEFAULT --Bugfix 2367111
1304 to_number(fnd_profile.value('ORG_ID'))
1305 ) RETURN VARCHAR2 IS
1306
1307 l_trx_number ra_customer_trx_all.trx_number%TYPE;
1308 l_country_code VARCHAR2(2);
1309 l_org_id NUMBER;
1310
1311 BEGIN
1312 --Bug Fix 2367111
1313 --l_country_code := FND_PROFILE.VALUE('JGZZ_COUNTRY_CODE');
1314 l_org_id := mo_global.get_current_org_id;
1315 l_country_code := JG_ZZ_SHARED_PKG.GET_COUNTRY(l_org_id, null);
1316
1317 IF l_country_code = 'AR' THEN
1318 l_trx_number := JL_AR_DOC_NUMBERING_PKG.trx_num_gen(p_batch_source_id,
1319 p_trx_number);
1320 END IF;
1321
1322 RETURN l_trx_number;
1323
1324 EXCEPTION
1325 WHEN OTHERS THEN
1326 RAISE;
1327 END trx_num_upd;
1328
1329 END JL_ZZ_AUTO_INVOICE;