DBA Data[Home] [Help]

PACKAGE BODY: APPS.JL_ZZ_AUTO_INVOICE

Source


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;