687: /* -- Commented out the logic that raises error when default taxation country is not available.
688: -- Instead, the calling API will verify that default_taxation_country is available before
689: -- calling this API.
690:
691: IF zx_global_structures_pkg.trx_line_dist_tbl.default_taxation_country(p_trx_line_index) is NULL then
692: -- Check with TSRM that default_taxation_country is always populated;
693:
694: IF (g_level_unexpected >= g_current_runtime_level ) THEN
695: FND_LOG.STRING(g_level_unexpected,
708: -- Category and Product Fiscal Classification from mtl_system_items / mtl_item_categories.
709: -- If the line is a memo line, then populate Transaction Business Category and
710: -- Product Category from ar_memo_lines.
711:
712: l_organization_id := zx_global_structures_pkg.trx_line_dist_tbl.product_org_id(p_trx_line_index);
713:
714: IF (g_level_statement >= g_current_runtime_level ) THEN
715: FND_LOG.STRING(g_level_statement,
716: 'JL.PL/SQL.JL_ZZ_TAX_VALIDATE_PKG.DEFAULT_TAX_ATTR',
718: Defaulting for Transaction Business Category and Product Category,
719: Product Fiscal Classification');
720: END IF;
721:
722: IF zx_global_structures_pkg.trx_line_dist_tbl.product_id(p_trx_line_index) IS NOT NULL
723: AND zx_global_structures_pkg.trx_line_dist_tbl.product_org_id(p_trx_line_index) is NOT NULL THEN
724:
725: -- It is an inveontory item; Populate product_fisc_classification and trx_business_category
726: -- from mtl_system_items.
719: Product Fiscal Classification');
720: END IF;
721:
722: IF zx_global_structures_pkg.trx_line_dist_tbl.product_id(p_trx_line_index) IS NOT NULL
723: AND zx_global_structures_pkg.trx_line_dist_tbl.product_org_id(p_trx_line_index) is NOT NULL THEN
724:
725: -- It is an inveontory item; Populate product_fisc_classification and trx_business_category
726: -- from mtl_system_items.
727: If zx_global_structures_pkg.trx_line_dist_tbl.trx_business_category(p_trx_line_index) is NULL then
723: AND zx_global_structures_pkg.trx_line_dist_tbl.product_org_id(p_trx_line_index) is NOT NULL THEN
724:
725: -- It is an inveontory item; Populate product_fisc_classification and trx_business_category
726: -- from mtl_system_items.
727: If zx_global_structures_pkg.trx_line_dist_tbl.trx_business_category(p_trx_line_index) is NULL then
728:
729: IF g_delimiter is NULL then
730: OPEN c_delimiter;
731: FETCH c_delimiter INTO g_delimiter;
735: IF (g_level_statement >= g_current_runtime_level ) THEN
736: FND_LOG.STRING(g_level_statement,
737: 'JL.PL/SQL.JL_ZZ_TAX_VALIDATE_PKG.DEFAULT_TAX_ATTR',
738: 'Transaction Business Category is NULL. Defaulting Transaction Business Category'||
739: ' Tax Event Class Code = '||zx_global_structures_pkg.trx_line_dist_tbl.tax_event_class_code(p_trx_line_index)||
740: ' Delimiter = '||g_delimiter);
741: END IF;
742:
743:
741: END IF;
742:
743:
744: SELECT
745: zx_global_structures_pkg.trx_line_dist_tbl.tax_event_class_code(p_trx_line_index)
746: ||g_delimiter||items.global_attribute2
747: INTO
748: l_trx_business_category
749: FROM
748: l_trx_business_category
749: FROM
750: mtl_system_items items
751: WHERE organization_id = l_organization_id
752: AND inventory_item_id = zx_global_structures_pkg.trx_line_dist_tbl.product_id(p_trx_line_index);
753:
754:
755: IF (g_level_statement >= g_current_runtime_level ) THEN
756: FND_LOG.STRING(g_level_statement,
757: 'JL.PL/SQL.JL_ZZ_TAX_VALIDATE_PKG.DEFAULT_TAX_ATTR',
758: 'After defaulting: l_trx_business_category = '||l_trx_business_category);
759: END IF;
760:
761: zx_global_structures_pkg.trx_line_dist_tbl.trx_business_category(p_trx_line_index) :=
762: nvl(zx_global_structures_pkg.trx_line_dist_tbl.trx_business_category(p_trx_line_index),
763: l_trx_business_category);
764: End If;
765:
758: 'After defaulting: l_trx_business_category = '||l_trx_business_category);
759: END IF;
760:
761: zx_global_structures_pkg.trx_line_dist_tbl.trx_business_category(p_trx_line_index) :=
762: nvl(zx_global_structures_pkg.trx_line_dist_tbl.trx_business_category(p_trx_line_index),
763: l_trx_business_category);
764: End If;
765:
766: Begin
763: l_trx_business_category);
764: End If;
765:
766: Begin
767: If zx_global_structures_pkg.trx_line_dist_tbl.product_fisc_classification(p_trx_line_index) is NULL then
768:
769:
770: IF (g_level_statement >= g_current_runtime_level ) THEN
771: FND_LOG.STRING(g_level_statement,
770: IF (g_level_statement >= g_current_runtime_level ) THEN
771: FND_LOG.STRING(g_level_statement,
772: 'JL.PL/SQL.JL_ZZ_TAX_VALIDATE_PKG.DEFAULT_TAX_ATTR',
773: 'Country code: '||
774: zx_global_structures_pkg.trx_line_dist_tbl.default_taxation_country(p_trx_line_index));
775: END IF;
776:
777:
778: SELECT
783: zx_fc_product_fiscal_v fc,
784: mtl_item_categories mic
785: WHERE
786: ((fc.country_code =
787: zx_global_structures_pkg.trx_line_dist_tbl.default_taxation_country(p_trx_line_index)
788: AND fc.country_code in ('AR', 'BR', 'CO'))
789: or
790: fc.country_code is NULL
791: )
788: AND fc.country_code in ('AR', 'BR', 'CO'))
789: or
790: fc.country_code is NULL
791: )
792: AND zx_global_structures_pkg.trx_line_dist_tbl.product_id(p_trx_line_index)
793: = mic.inventory_item_id
794: AND mic.organization_id = l_organization_id
795: AND mic.category_id = fc.category_id
796: AND mic.category_set_id = fc.category_set_id
802: WHERE fiscal_classification_code = fc.classification_code
803: AND enabled_flag = 'Y')
804: AND rownum = 1; -- Bug 5701599
805:
806: zx_global_structures_pkg.trx_line_dist_tbl.product_fisc_classification(p_trx_line_index) :=
807: nvl(zx_global_structures_pkg.trx_line_dist_tbl.product_fisc_classification(p_trx_line_index),
808: l_product_fisc_class);
809: End If;
810: Exception
803: AND enabled_flag = 'Y')
804: AND rownum = 1; -- Bug 5701599
805:
806: zx_global_structures_pkg.trx_line_dist_tbl.product_fisc_classification(p_trx_line_index) :=
807: nvl(zx_global_structures_pkg.trx_line_dist_tbl.product_fisc_classification(p_trx_line_index),
808: l_product_fisc_class);
809: End If;
810: Exception
811: when no_data_found then
817: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
818: -- app_exception.raise_exception;
819: End;
820:
821: ELSIF zx_global_structures_pkg.trx_line_dist_tbl.product_id(p_trx_line_index) IS NOT NULL
822: AND zx_global_structures_pkg.trx_line_dist_tbl.product_org_id(p_trx_line_index) is NULL THEN
823:
824: -- In case where the line is a memo line, default the Transaction Business Category
825: -- and Product Category from ar_memo_lines.
818: -- app_exception.raise_exception;
819: End;
820:
821: ELSIF zx_global_structures_pkg.trx_line_dist_tbl.product_id(p_trx_line_index) IS NOT NULL
822: AND zx_global_structures_pkg.trx_line_dist_tbl.product_org_id(p_trx_line_index) is NULL THEN
823:
824: -- In case where the line is a memo line, default the Transaction Business Category
825: -- and Product Category from ar_memo_lines.
826:
823:
824: -- In case where the line is a memo line, default the Transaction Business Category
825: -- and Product Category from ar_memo_lines.
826:
827: IF (zx_global_structures_pkg.trx_line_dist_tbl.product_fisc_classification(p_trx_line_index) IS NULL
828: OR zx_global_structures_pkg.trx_line_dist_tbl.trx_business_category(p_trx_line_index) IS NULL)
829: then
830:
831: Begin
824: -- In case where the line is a memo line, default the Transaction Business Category
825: -- and Product Category from ar_memo_lines.
826:
827: IF (zx_global_structures_pkg.trx_line_dist_tbl.product_fisc_classification(p_trx_line_index) IS NULL
828: OR zx_global_structures_pkg.trx_line_dist_tbl.trx_business_category(p_trx_line_index) IS NULL)
829: then
830:
831: Begin
832:
837: END IF;
838:
839:
840: SELECT
841: zx_global_structures_pkg.trx_line_dist_tbl.tax_event_class_code(p_trx_line_index)
842: ||g_delimiter||Memo.global_attribute2 trx_business_category,
843: Memo.tax_product_category product_category
844: INTO
845: l_trx_business_category,
845: l_trx_business_category,
846: l_product_category
847: FROM
848: ar_memo_lines_all_b Memo
849: WHERE memo_line_id = zx_global_structures_pkg.trx_line_dist_tbl.product_id(p_trx_line_index);
850:
851: zx_global_structures_pkg.trx_line_dist_tbl.trx_business_category(p_trx_line_index) :=
852: nvl(zx_global_structures_pkg.trx_line_dist_tbl.trx_business_category(p_trx_line_index),
853: l_trx_business_category);
847: FROM
848: ar_memo_lines_all_b Memo
849: WHERE memo_line_id = zx_global_structures_pkg.trx_line_dist_tbl.product_id(p_trx_line_index);
850:
851: zx_global_structures_pkg.trx_line_dist_tbl.trx_business_category(p_trx_line_index) :=
852: nvl(zx_global_structures_pkg.trx_line_dist_tbl.trx_business_category(p_trx_line_index),
853: l_trx_business_category);
854:
855: zx_global_structures_pkg.trx_line_dist_tbl.product_category(p_trx_line_index) :=
848: ar_memo_lines_all_b Memo
849: WHERE memo_line_id = zx_global_structures_pkg.trx_line_dist_tbl.product_id(p_trx_line_index);
850:
851: zx_global_structures_pkg.trx_line_dist_tbl.trx_business_category(p_trx_line_index) :=
852: nvl(zx_global_structures_pkg.trx_line_dist_tbl.trx_business_category(p_trx_line_index),
853: l_trx_business_category);
854:
855: zx_global_structures_pkg.trx_line_dist_tbl.product_category(p_trx_line_index) :=
856: nvl(zx_global_structures_pkg.trx_line_dist_tbl.product_category(p_trx_line_index),
851: zx_global_structures_pkg.trx_line_dist_tbl.trx_business_category(p_trx_line_index) :=
852: nvl(zx_global_structures_pkg.trx_line_dist_tbl.trx_business_category(p_trx_line_index),
853: l_trx_business_category);
854:
855: zx_global_structures_pkg.trx_line_dist_tbl.product_category(p_trx_line_index) :=
856: nvl(zx_global_structures_pkg.trx_line_dist_tbl.product_category(p_trx_line_index),
857: l_product_category);
858:
859: IF (g_level_statement >= g_current_runtime_level ) THEN
852: nvl(zx_global_structures_pkg.trx_line_dist_tbl.trx_business_category(p_trx_line_index),
853: l_trx_business_category);
854:
855: zx_global_structures_pkg.trx_line_dist_tbl.product_category(p_trx_line_index) :=
856: nvl(zx_global_structures_pkg.trx_line_dist_tbl.product_category(p_trx_line_index),
857: l_product_category);
858:
859: IF (g_level_statement >= g_current_runtime_level ) THEN
860: FND_LOG.STRING(g_level_statement,