220:
221: --added variable for cost blue-print project
222: G_gl_posted_flag VARCHAR2(1) DEFAULT NULL;
223:
224: PG_DEBUG varchar2(1) := NVL(FND_PROFILE.value('PA_DEBUG_MODE'), 'N');
225:
226: P_BTC_SRC_RESRC varchar2(1) := NVL(FND_PROFILE.value('PA_RPT_BTC_SRC_RESRC'), 'N'); -- 4057874
227:
228: -- R12 funds management uptake : Below global variables stores adjusting expenditures data
591: IS
592: BEGIN
593: pa_cc_utils.set_curr_function('GetImpCurrInfo');
594: IF PG_DEBUG = 'Y' THEN
595: pa_debug.G_err_Stage := 'call to pa_multi_currency.init';
596: log_message('log_message: ' || pa_debug.G_err_Stage);
597: END IF;
598:
599: pa_multi_currency.init;
592: BEGIN
593: pa_cc_utils.set_curr_function('GetImpCurrInfo');
594: IF PG_DEBUG = 'Y' THEN
595: pa_debug.G_err_Stage := 'call to pa_multi_currency.init';
596: log_message('log_message: ' || pa_debug.G_err_Stage);
597: END IF;
598:
599: pa_multi_currency.init;
600:
598:
599: pa_multi_currency.init;
600:
601: IF PG_DEBUG = 'Y' THEN
602: pa_debug.G_err_stage := 'Assigning currency code and rate type to local variables';
603: log_message('log_message: ' || pa_debug.G_err_Stage);
604: END IF;
605: G_accounting_currency_code := pa_multi_currency.G_accounting_currency_code;
606: G_default_rate_type := pa_multi_currency.G_rate_type;
599: pa_multi_currency.init;
600:
601: IF PG_DEBUG = 'Y' THEN
602: pa_debug.G_err_stage := 'Assigning currency code and rate type to local variables';
603: log_message('log_message: ' || pa_debug.G_err_Stage);
604: END IF;
605: G_accounting_currency_code := pa_multi_currency.G_accounting_currency_code;
606: G_default_rate_type := pa_multi_currency.G_rate_type;
607:
626: BEGIN
627:
628: pa_cc_utils.set_curr_function('GetProjCurrInfo');
629: IF PG_DEBUG = 'Y' THEN
630: pa_debug.G_err_stage := 'Calling get_project_rate_type';
631: log_message('log_message: ' || pa_debug.G_err_Stage);
632: END IF;
633:
634: If (G_CurrInfoTaskId = X_task_id) Then
627:
628: pa_cc_utils.set_curr_function('GetProjCurrInfo');
629: IF PG_DEBUG = 'Y' THEN
630: pa_debug.G_err_stage := 'Calling get_project_rate_type';
631: log_message('log_message: ' || pa_debug.G_err_Stage);
632: END IF;
633:
634: If (G_CurrInfoTaskId = X_task_id) Then
635:
633:
634: If (G_CurrInfoTaskId = X_task_id) Then
635:
636: IF PG_DEBUG = 'Y' THEN
637: pa_debug.G_err_stage := 'Using Cached Values';
638: log_message('log_message: ' || pa_debug.G_err_Stage);
639: END IF;
640:
641: X_project_currency_code := G_CurrInfoPrjCurrCode;
634: If (G_CurrInfoTaskId = X_task_id) Then
635:
636: IF PG_DEBUG = 'Y' THEN
637: pa_debug.G_err_stage := 'Using Cached Values';
638: log_message('log_message: ' || pa_debug.G_err_Stage);
639: END IF;
640:
641: X_project_currency_code := G_CurrInfoPrjCurrCode;
642: X_project_rate_type := G_CurrInfoPrjRtType;
647:
648: Else
649:
650: IF PG_DEBUG = 'Y' THEN
651: pa_debug.G_err_stage := 'Selecting Values';
652: log_message('log_message: ' || pa_debug.G_err_Stage);
653: END IF;
654:
655: -- PA-I Changes : The API get_project_rate_type has been renamed to get_proj_rate_type
648: Else
649:
650: IF PG_DEBUG = 'Y' THEN
651: pa_debug.G_err_stage := 'Selecting Values';
652: log_message('log_message: ' || pa_debug.G_err_Stage);
653: END IF;
654:
655: -- PA-I Changes : The API get_project_rate_type has been renamed to get_proj_rate_type
656: pa_multi_currency_txn.get_proj_rate_type(P_task_id => X_task_id,
657: P_project_currency_code => X_project_currency_code,
658: P_project_rate_type => X_project_rate_type);
659:
660: IF PG_DEBUG = 'Y' THEN
661: pa_debug.G_err_stage := 'Calling get_projfunc_rate_type';
662: log_message('log_message: ' || pa_debug.G_err_Stage);
663: END IF;
664:
665: -- PA-I Changes : Calling API to get Proj Functional Currency Code only
658: P_project_rate_type => X_project_rate_type);
659:
660: IF PG_DEBUG = 'Y' THEN
661: pa_debug.G_err_stage := 'Calling get_projfunc_rate_type';
662: log_message('log_message: ' || pa_debug.G_err_Stage);
663: END IF;
664:
665: -- PA-I Changes : Calling API to get Proj Functional Currency Code only
666: pa_multi_currency_txn.get_projfunc_cost_rate_type(P_task_id => X_task_id,
770:
771: If (G_ETypeInfoEtype = X_etype AND trunc(G_ETypeInfoDate) = trunc(X_date)) Then
772:
773: IF PG_DEBUG = 'Y' THEN
774: pa_debug.G_err_Stage := 'Cached Values';
775: log_message('log_message: ' || pa_debug.G_err_Stage);
776: END IF;
777:
778: G_ETypeInfoEtype := X_etype;
771: If (G_ETypeInfoEtype = X_etype AND trunc(G_ETypeInfoDate) = trunc(X_date)) Then
772:
773: IF PG_DEBUG = 'Y' THEN
774: pa_debug.G_err_Stage := 'Cached Values';
775: log_message('log_message: ' || pa_debug.G_err_Stage);
776: END IF;
777:
778: G_ETypeInfoEtype := X_etype;
779: G_ETypeInfoDate := X_date;
779: G_ETypeInfoDate := X_date;
780:
781: Else
782: IF PG_DEBUG = 'Y' THEN
783: pa_debug.G_err_Stage := 'Selecting Values';
784: log_message('log_message: ' || pa_debug.G_err_Stage);
785: END IF;
786:
787: SELECT
780:
781: Else
782: IF PG_DEBUG = 'Y' THEN
783: pa_debug.G_err_Stage := 'Selecting Values';
784: log_message('log_message: ' || pa_debug.G_err_Stage);
785: END IF;
786:
787: SELECT
788: /* et.system_linkage_function */ /* Commented for Bug#2726242 */
838:
839: If (G_EClassInfoEtype = X_etype AND G_EClassInfoSysLink = X_system_linkage) then
840:
841: IF PG_DEBUG = 'Y' THEN
842: pa_debug.G_err_Stage := 'Cached Values';
843: log_message('log_message: ' || pa_debug.G_err_Stage);
844: END IF;
845:
846: G_EClassInfoEtype := X_etype;
839: If (G_EClassInfoEtype = X_etype AND G_EClassInfoSysLink = X_system_linkage) then
840:
841: IF PG_DEBUG = 'Y' THEN
842: pa_debug.G_err_Stage := 'Cached Values';
843: log_message('log_message: ' || pa_debug.G_err_Stage);
844: END IF;
845:
846: G_EClassInfoEtype := X_etype;
847: G_EClassInfoSysLink := X_system_linkage;
848:
849: Else
850:
851: IF PG_DEBUG = 'Y' THEN
852: pa_debug.G_err_Stage := 'Selecting Values';
853: log_message('log_message: ' || pa_debug.G_err_Stage);
854: END IF;
855:
856: SELECT
849: Else
850:
851: IF PG_DEBUG = 'Y' THEN
852: pa_debug.G_err_Stage := 'Selecting Values';
853: log_message('log_message: ' || pa_debug.G_err_Stage);
854: END IF;
855:
856: SELECT
857: ets.system_linkage_function
897: BEGIN
898:
899: pa_cc_utils.set_curr_function('GetNlrInfo');
900: IF PG_DEBUG = 'Y' THEN
901: pa_debug.G_err_Stage := 'select from pa_non_labor_resources';
902: log_message('log_message: ' || pa_debug.G_err_Stage);
903: END IF;
904:
905: If (G_NlrInfoNlr = X_nlr) Then
898:
899: pa_cc_utils.set_curr_function('GetNlrInfo');
900: IF PG_DEBUG = 'Y' THEN
901: pa_debug.G_err_Stage := 'select from pa_non_labor_resources';
902: log_message('log_message: ' || pa_debug.G_err_Stage);
903: END IF;
904:
905: If (G_NlrInfoNlr = X_nlr) Then
906:
904:
905: If (G_NlrInfoNlr = X_nlr) Then
906:
907: IF PG_DEBUG = 'Y' THEN
908: pa_debug.G_err_Stage := 'Cached Values';
909: log_message('log_message: ' || pa_debug.G_err_Stage);
910: END IF;
911:
912: G_NlrInfoNlr := X_nlr;
905: If (G_NlrInfoNlr = X_nlr) Then
906:
907: IF PG_DEBUG = 'Y' THEN
908: pa_debug.G_err_Stage := 'Cached Values';
909: log_message('log_message: ' || pa_debug.G_err_Stage);
910: END IF;
911:
912: G_NlrInfoNlr := X_nlr;
913:
913:
914: Else
915:
916: IF PG_DEBUG = 'Y' THEN
917: pa_debug.G_err_Stage := 'Selecting Values';
918: log_message('log_message: ' || pa_debug.G_err_Stage);
919: END IF;
920:
921: SELECT
914: Else
915:
916: IF PG_DEBUG = 'Y' THEN
917: pa_debug.G_err_Stage := 'Selecting Values';
918: log_message('log_message: ' || pa_debug.G_err_Stage);
919: END IF;
920:
921: SELECT
922: nlr.expenditure_type
936: End If;
937:
938: BEGIN
939: IF PG_DEBUG = 'Y' THEN
940: pa_debug.G_err_stage := 'select from pa_non_labor_resource_orgs';
941: log_message('log_message: ' || pa_debug.G_err_Stage);
942: END IF;
943:
944: If (G_NlrInfoNlr = X_nlr and G_NlrInfoNlroId = X_nlro_id) Then
937:
938: BEGIN
939: IF PG_DEBUG = 'Y' THEN
940: pa_debug.G_err_stage := 'select from pa_non_labor_resource_orgs';
941: log_message('log_message: ' || pa_debug.G_err_Stage);
942: END IF;
943:
944: If (G_NlrInfoNlr = X_nlr and G_NlrInfoNlroId = X_nlro_id) Then
945:
1073:
1074: If (X_Project_id = G_PrjInfoPrjId) Then
1075:
1076: IF PG_DEBUG = 'Y' THEN
1077: pa_debug.G_err_stage := 'Inside GetProjTypeInfo, using cached values';
1078: log_message('log_message: ' || pa_debug.G_err_stage);
1079: END IF;
1080:
1081: X_Proj_bcost_flag := G_PrjInfoBCostFlag;
1074: If (X_Project_id = G_PrjInfoPrjId) Then
1075:
1076: IF PG_DEBUG = 'Y' THEN
1077: pa_debug.G_err_stage := 'Inside GetProjTypeInfo, using cached values';
1078: log_message('log_message: ' || pa_debug.G_err_stage);
1079: END IF;
1080:
1081: X_Proj_bcost_flag := G_PrjInfoBCostFlag;
1082: X_proj_type_class := G_PrjInfoTypeClass;
1085:
1086: Else
1087:
1088: IF PG_DEBUG = 'Y' THEN
1089: pa_debug.G_err_stage := 'Inside GetProjTypeInfo, selecting values';
1090: log_message('log_message: ' || pa_debug.G_err_stage);
1091: END IF;
1092:
1093: -- SST changes, added project_type_class to select statement
1086: Else
1087:
1088: IF PG_DEBUG = 'Y' THEN
1089: pa_debug.G_err_stage := 'Inside GetProjTypeInfo, selecting values';
1090: log_message('log_message: ' || pa_debug.G_err_stage);
1091: END IF;
1092:
1093: -- SST changes, added project_type_class to select statement
1094: SELECT burden_cost_flag, project_type_class_code, burden_amt_display_method,
1634: EXCEPTION
1635: WHEN OTHERS THEN
1636:
1637: IF PG_DEBUG = 'Y' THEN
1638: pa_debug.G_err_stage := 'PO_PROCESSED_AMT_CHK : Search of Records : ' ||SQLERRM;
1639: log_message('log_message: ' || pa_debug.G_err_stage,1);
1640: END IF;
1641:
1642: END ;
1635: WHEN OTHERS THEN
1636:
1637: IF PG_DEBUG = 'Y' THEN
1638: pa_debug.G_err_stage := 'PO_PROCESSED_AMT_CHK : Search of Records : ' ||SQLERRM;
1639: log_message('log_message: ' || pa_debug.G_err_stage,1);
1640: END IF;
1641:
1642: END ;
1643:
1644: END IF ;
1645:
1646: -- Now Acquire the lock for Po Line Id and Task Id combination String.
1647:
1648: l_lock_status := Pa_Debug.Acquire_User_Lock(l_Line_Task_str);
1649:
1650: IF (l_lock_status = 0) THEN
1651:
1652: l_counter := PoLineTaskTab.COUNT;
1660:
1661: ELSE
1662:
1663: IF PG_DEBUG = 'Y' THEN
1664: pa_debug.G_err_stage := 'PO_PROCESSED_AMT_CHK : Failed To Aquire Lock for : '||l_Line_Task_str;
1665: log_message('log_message: ' || pa_debug.G_err_stage,1);
1666: END IF;
1667:
1668: x_status := 'PO_LINE_TASK_LOCKED';
1661: ELSE
1662:
1663: IF PG_DEBUG = 'Y' THEN
1664: pa_debug.G_err_stage := 'PO_PROCESSED_AMT_CHK : Failed To Aquire Lock for : '||l_Line_Task_str;
1665: log_message('log_message: ' || pa_debug.G_err_stage,1);
1666: END IF;
1667:
1668: x_status := 'PO_LINE_TASK_LOCKED';
1669: RETURN;
1673: EXCEPTION
1674: WHEN OTHERS THEN
1675:
1676: IF PG_DEBUG = 'Y' THEN
1677: pa_debug.G_err_stage := 'PO_PROCESSED_AMT_CHK : Insertion of Records : ' ||SQLERRM;
1678: log_message('log_message: ' || pa_debug.G_err_stage,1);
1679: END IF;
1680:
1681: END po_processed_amt_chk;
1674: WHEN OTHERS THEN
1675:
1676: IF PG_DEBUG = 'Y' THEN
1677: pa_debug.G_err_stage := 'PO_PROCESSED_AMT_CHK : Insertion of Records : ' ||SQLERRM;
1678: log_message('log_message: ' || pa_debug.G_err_stage,1);
1679: END IF;
1680:
1681: END po_processed_amt_chk;
1682:
1705: EXCEPTION
1706: WHEN OTHERS THEN
1707:
1708: IF PG_DEBUG = 'Y' THEN
1709: pa_debug.G_err_stage := 'UNDO_PROCESSED_AMT_CHK : While Undoing Processed Amt Check : ' ||SQLERRM;
1710: log_message('log_message: ' || pa_debug.G_err_stage,1);
1711: END IF;
1712:
1713: END undo_processed_amt_chk;
1706: WHEN OTHERS THEN
1707:
1708: IF PG_DEBUG = 'Y' THEN
1709: pa_debug.G_err_stage := 'UNDO_PROCESSED_AMT_CHK : While Undoing Processed Amt Check : ' ||SQLERRM;
1710: log_message('log_message: ' || pa_debug.G_err_stage,1);
1711: END IF;
1712:
1713: END undo_processed_amt_chk;
1714:
1718: BEGIN
1719: pa_cc_utils.set_curr_function('ValidateItem');
1720:
1721: IF PG_DEBUG = 'Y' THEN
1722: pa_debug.G_err_stage := 'Inside ValidateItem';
1723: log_message('log_message: ' || pa_debug.G_err_stage);
1724: END IF;
1725:
1726: G_adj_item_id := NULL;
1719: pa_cc_utils.set_curr_function('ValidateItem');
1720:
1721: IF PG_DEBUG = 'Y' THEN
1722: pa_debug.G_err_stage := 'Inside ValidateItem';
1723: log_message('log_message: ' || pa_debug.G_err_stage);
1724: END IF;
1725:
1726: G_adj_item_id := NULL;
1727: G_job_id := NULL;
1736: --use the ID attributes provided.
1737: IF (nvl(X_module, 'EXTERNAL') <> 'PAAPIMP') THEN ---{
1738:
1739: IF PG_DEBUG = 'Y' THEN
1740: pa_debug.G_err_stage := 'Calling module not PAAPIMP';
1741: log_message('log_message: ' || pa_debug.G_err_stage);
1742: END IF;
1743:
1744: --
1737: IF (nvl(X_module, 'EXTERNAL') <> 'PAAPIMP') THEN ---{
1738:
1739: IF PG_DEBUG = 'Y' THEN
1740: pa_debug.G_err_stage := 'Calling module not PAAPIMP';
1741: log_message('log_message: ' || pa_debug.G_err_stage);
1742: END IF;
1743:
1744: --
1745: -- Changes for CBGA
1793:
1794: IF ( nvl( X_module, 'EXTERNAL' ) <> 'PAXTRTRX' ) THEN
1795:
1796: IF PG_DEBUG = 'Y' THEN
1797: pa_debug.G_err_Stage := 'G_trx_link = ' || G_trx_link;
1798: log_message('log_message: ' || pa_debug.G_err_Stage);
1799: END IF;
1800:
1801: IF (G_trx_link is null OR X_trx_src <> G_trx_source) Then --3567234
1794: IF ( nvl( X_module, 'EXTERNAL' ) <> 'PAXTRTRX' ) THEN
1795:
1796: IF PG_DEBUG = 'Y' THEN
1797: pa_debug.G_err_Stage := 'G_trx_link = ' || G_trx_link;
1798: log_message('log_message: ' || pa_debug.G_err_Stage);
1799: END IF;
1800:
1801: IF (G_trx_link is null OR X_trx_src <> G_trx_source) Then --3567234
1802: IF PG_DEBUG = 'Y' THEN
1799: END IF;
1800:
1801: IF (G_trx_link is null OR X_trx_src <> G_trx_source) Then --3567234
1802: IF PG_DEBUG = 'Y' THEN
1803: pa_debug.G_err_Stage := 'Calling GetTrxSrcInfo';
1804: log_message('log_message: ' || pa_debug.G_err_Stage);
1805: END IF;
1806: GetTrxSrcInfo( X_trx_src );
1807: End If;
1800:
1801: IF (G_trx_link is null OR X_trx_src <> G_trx_source) Then --3567234
1802: IF PG_DEBUG = 'Y' THEN
1803: pa_debug.G_err_Stage := 'Calling GetTrxSrcInfo';
1804: log_message('log_message: ' || pa_debug.G_err_Stage);
1805: END IF;
1806: GetTrxSrcInfo( X_trx_src );
1807: End If;
1808:
1807: End If;
1808:
1809: IF ( G_trx_link IS NULL ) THEN
1810: IF PG_DEBUG = 'Y' THEN
1811: pa_debug.G_err_Stage := 'Invalid Trx Source';
1812: log_message('log_message: ' || pa_debug.G_err_Stage);
1813: END IF;
1814: X_status := 'INVALID_TRX_SOURCE';
1815: pa_cc_utils.reset_curr_function;
1808:
1809: IF ( G_trx_link IS NULL ) THEN
1810: IF PG_DEBUG = 'Y' THEN
1811: pa_debug.G_err_Stage := 'Invalid Trx Source';
1812: log_message('log_message: ' || pa_debug.G_err_Stage);
1813: END IF;
1814: X_status := 'INVALID_TRX_SOURCE';
1815: pa_cc_utils.reset_curr_function;
1816: RETURN;
1870: -- Verify that the expenditure ending date is a valid expenditure week
1871: -- ending date
1872: --
1873: IF PG_DEBUG = 'Y' THEN
1874: pa_debug.G_err_stage := 'Calling pa_utils.GetWeekEnding';
1875: log_message('log_message: ' || pa_debug.G_err_Stage);
1876: END IF;
1877: IF (trunc( X_end_date) <> trunc(pa_utils.NewGetWeekEnding( X_end_date )) ) THEN
1878: X_status := 'INVALID_END_DATE';
1871: -- ending date
1872: --
1873: IF PG_DEBUG = 'Y' THEN
1874: pa_debug.G_err_stage := 'Calling pa_utils.GetWeekEnding';
1875: log_message('log_message: ' || pa_debug.G_err_Stage);
1876: END IF;
1877: IF (trunc( X_end_date) <> trunc(pa_utils.NewGetWeekEnding( X_end_date )) ) THEN
1878: X_status := 'INVALID_END_DATE';
1879: pa_cc_utils.reset_curr_function;
1897: G_Org_Id := P_Organization_Id;
1898:
1899: /* Bug 6519602: Base Bug 6519570 - Changes start */
1900: IF PG_DEBUG = 'Y' THEN
1901: pa_debug.G_err_stage := 'Calling pa_utils.GetEmpJobId';
1902: log_message('log_message: ' || pa_debug.G_err_Stage);
1903: END IF;
1904:
1905: G_job_id := pa_utils.GetEmpJobId(
1898:
1899: /* Bug 6519602: Base Bug 6519570 - Changes start */
1900: IF PG_DEBUG = 'Y' THEN
1901: pa_debug.G_err_stage := 'Calling pa_utils.GetEmpJobId';
1902: log_message('log_message: ' || pa_debug.G_err_Stage);
1903: END IF;
1904:
1905: G_job_id := pa_utils.GetEmpJobId(
1906: X_person_id => G_person_id,
1914: RETURN;
1915: END IF;
1916:
1917: IF PG_DEBUG = 'Y' THEN
1918: pa_debug.G_err_stage := ' G_Job_Id = ' || G_Job_Id;
1919: log_message('log_message: ' || pa_debug.G_err_stage);
1920: END IF;
1921: /* Bug 6519602: Base Bug 6519570 - Changes end */
1922:
1915: END IF;
1916:
1917: IF PG_DEBUG = 'Y' THEN
1918: pa_debug.G_err_stage := ' G_Job_Id = ' || G_Job_Id;
1919: log_message('log_message: ' || pa_debug.G_err_stage);
1920: END IF;
1921: /* Bug 6519602: Base Bug 6519570 - Changes end */
1922:
1923: ELSE
1933:
1934: G_person_id := NULL;
1935:
1936: IF PG_DEBUG = 'Y' THEN
1937: pa_debug.G_err_Stage := 'Calling pa_utils.GetOrgnId';
1938: log_message('log_message: ' || pa_debug.G_err_Stage);
1939: END IF;
1940:
1941: IF ( X_oname IS NOT NULL ) THEN
1934: G_person_id := NULL;
1935:
1936: IF PG_DEBUG = 'Y' THEN
1937: pa_debug.G_err_Stage := 'Calling pa_utils.GetOrgnId';
1938: log_message('log_message: ' || pa_debug.G_err_Stage);
1939: END IF;
1940:
1941: IF ( X_oname IS NOT NULL ) THEN
1942:
1970: -- Get the person ID for the employee number given
1971: ELSIF ( X_enum IS NOT NULL ) THEN
1972:
1973: IF PG_DEBUG = 'Y' THEN
1974: pa_debug.G_err_stage := 'Calling pa_utils.GetEmpId, G_business_Group_id = ' || G_business_Group_id;
1975: log_message('log_message: ' || pa_debug.G_err_Stage);
1976: END IF;
1977: -- Fixed Bug 1534973, 1581184
1978: -- Passing X_Ei_Date parameter to GetEmpId
1971: ELSIF ( X_enum IS NOT NULL ) THEN
1972:
1973: IF PG_DEBUG = 'Y' THEN
1974: pa_debug.G_err_stage := 'Calling pa_utils.GetEmpId, G_business_Group_id = ' || G_business_Group_id;
1975: log_message('log_message: ' || pa_debug.G_err_Stage);
1976: END IF;
1977: -- Fixed Bug 1534973, 1581184
1978: -- Passing X_Ei_Date parameter to GetEmpId
1979:
2004: RETURN;
2005: END IF;
2006:
2007: IF PG_DEBUG = 'Y' THEN
2008: pa_debug.G_err_Stage := 'Calling pa_utils.GetOrgId';
2009: log_message('log_message: ' || pa_debug.G_err_Stage);
2010: END IF;
2011:
2012: G_org_id := pa_utils.GetOrgId(X_oname);
2005: END IF;
2006:
2007: IF PG_DEBUG = 'Y' THEN
2008: pa_debug.G_err_Stage := 'Calling pa_utils.GetOrgId';
2009: log_message('log_message: ' || pa_debug.G_err_Stage);
2010: END IF;
2011:
2012: G_org_id := pa_utils.GetOrgId(X_oname);
2013:
2020: -- Bug 2655157 : Below code added for the error being raised in
2021: -- Review Transactions form
2022: IF ( X_oname IS NULL ) THEN
2023: IF PG_DEBUG = 'Y' THEN
2024: pa_debug.G_err_Stage := 'Calling pa_utils.GetEmpOrgId';
2025: log_message('log_message: ' || pa_debug.G_err_Stage);
2026: END IF;
2027:
2028: G_org_id := pa_utils.GetEmpOrgId(G_person_id, X_Ei_Date);
2021: -- Review Transactions form
2022: IF ( X_oname IS NULL ) THEN
2023: IF PG_DEBUG = 'Y' THEN
2024: pa_debug.G_err_Stage := 'Calling pa_utils.GetEmpOrgId';
2025: log_message('log_message: ' || pa_debug.G_err_Stage);
2026: END IF;
2027:
2028: G_org_id := pa_utils.GetEmpOrgId(G_person_id, X_Ei_Date);
2029:
2035:
2036: ELSE
2037:
2038: IF PG_DEBUG = 'Y' THEN
2039: pa_debug.G_err_Stage := 'Calling pa_utils.GetOrgnId';
2040: log_message('log_message: ' || pa_debug.G_err_Stage);
2041: END IF;
2042:
2043: --Start of changes for Bug 3010848
2036: ELSE
2037:
2038: IF PG_DEBUG = 'Y' THEN
2039: pa_debug.G_err_Stage := 'Calling pa_utils.GetOrgnId';
2040: log_message('log_message: ' || pa_debug.G_err_Stage);
2041: END IF;
2042:
2043: --Start of changes for Bug 3010848
2044: --G_org_id := pa_utils.GetOrgId(X_oname);
2068: -- Get the job ID of the employee's job
2069: -- assignment as of the item date
2070:
2071: IF PG_DEBUG = 'Y' THEN
2072: pa_debug.G_err_stage := 'Calling pa_utils.GetEmpJobId';
2073: log_message('log_message: ' || pa_debug.G_err_Stage);
2074: END IF;
2075:
2076: G_job_id := pa_utils.GetEmpJobId(
2069: -- assignment as of the item date
2070:
2071: IF PG_DEBUG = 'Y' THEN
2072: pa_debug.G_err_stage := 'Calling pa_utils.GetEmpJobId';
2073: log_message('log_message: ' || pa_debug.G_err_Stage);
2074: END IF;
2075:
2076: G_job_id := pa_utils.GetEmpJobId(
2077: X_person_id => G_person_id,
2134: G_Job_Id := P_Emp_Job_Id;
2135:
2136: If G_org_id is NULL or G_Job_Id is NULL Then
2137: IF PG_DEBUG = 'Y' THEN
2138: pa_debug.G_err_stage := 'Calling pa_utils.GetEmpOrgJobId';
2139: log_message('log_message: ' || pa_debug.G_err_Stage);
2140: END IF;
2141: pa_utils.GetEmpOrgJobId( G_person_id, X_ei_date, G_Org_Id, G_Job_Id ,p_po_number, p_po_line_num);
2142: -- Added PO params for bug 4044057
2135:
2136: If G_org_id is NULL or G_Job_Id is NULL Then
2137: IF PG_DEBUG = 'Y' THEN
2138: pa_debug.G_err_stage := 'Calling pa_utils.GetEmpOrgJobId';
2139: log_message('log_message: ' || pa_debug.G_err_Stage);
2140: END IF;
2141: pa_utils.GetEmpOrgJobId( G_person_id, X_ei_date, G_Org_Id, G_Job_Id ,p_po_number, p_po_line_num);
2142: -- Added PO params for bug 4044057
2143: -- Need to validate the assigment for the entered PO
2197: -- Get the organization ID for the incurred by organization name given
2198: ELSIF ( X_enum IS NULL AND X_oname IS NOT NULL ) THEN
2199:
2200: IF PG_DEBUG = 'Y' THEN
2201: pa_debug.G_err_Stage := 'Calling pa_utils.GetOrgnId';
2202: log_message('log_message: ' || pa_debug.G_err_Stage);
2203: END IF;
2204:
2205: G_person_id := NULL;
2198: ELSIF ( X_enum IS NULL AND X_oname IS NOT NULL ) THEN
2199:
2200: IF PG_DEBUG = 'Y' THEN
2201: pa_debug.G_err_Stage := 'Calling pa_utils.GetOrgnId';
2202: log_message('log_message: ' || pa_debug.G_err_Stage);
2203: END IF;
2204:
2205: G_person_id := NULL;
2206: --Start of changes for 3010848
2240: IF G_org_id is not NULL THEN
2241: IF pa_trx_import.g_skip_tc_flag <> 'Y' and PA_TRX_IMPORT.Get_GVal_ProjTskEi_Date = 'Y' then /* Added for Bug # 2170237 */
2242: -- Modified the above condition for BUG6931833
2243: IF PG_DEBUG = 'Y' THEN
2244: pa_debug.G_err_stage := 'Calling pa_utils2.CheckExporg';
2245: log_message('log_message: ' || pa_debug.G_err_Stage);
2246: log_message('log_message: ' || 'G_org_id = ' || G_org_id);
2247: END IF;
2248: IF pa_utils2.CheckExporg(G_org_id,X_ei_date) = 'N' then
2241: IF pa_trx_import.g_skip_tc_flag <> 'Y' and PA_TRX_IMPORT.Get_GVal_ProjTskEi_Date = 'Y' then /* Added for Bug # 2170237 */
2242: -- Modified the above condition for BUG6931833
2243: IF PG_DEBUG = 'Y' THEN
2244: pa_debug.G_err_stage := 'Calling pa_utils2.CheckExporg';
2245: log_message('log_message: ' || pa_debug.G_err_Stage);
2246: log_message('log_message: ' || 'G_org_id = ' || G_org_id);
2247: END IF;
2248: IF pa_utils2.CheckExporg(G_org_id,X_ei_date) = 'N' then
2249: X_status := 'PA_EXP_ORG_NOT_ACTIVE';
2264: ELSE
2265: IF (X_override_to_oname IS NOT NULL) THEN
2266:
2267: IF PG_DEBUG = 'Y' THEN
2268: pa_debug.G_err_stage := 'Calling pa_utils.GetOrgnId for override org';
2269: log_message('log_message: ' || pa_debug.G_err_Stage);
2270: END IF;
2271:
2272: --Start of changes for bug 3010848
2265: IF (X_override_to_oname IS NOT NULL) THEN
2266:
2267: IF PG_DEBUG = 'Y' THEN
2268: pa_debug.G_err_stage := 'Calling pa_utils.GetOrgnId for override org';
2269: log_message('log_message: ' || pa_debug.G_err_Stage);
2270: END IF;
2271:
2272: --Start of changes for bug 3010848
2273: --G_override_to_org_id := pa_utils.GetOrgId(X_override_to_oname);
2350: IF P_Project_Id is not null THEN
2351: G_project_id := P_Project_Id;
2352: ELSE
2353: IF PG_DEBUG = 'Y' THEN
2354: pa_debug.G_err_stage := 'Calling pa_utils.GetProjId';
2355: log_message('log_message: ' || pa_debug.G_err_Stage);
2356: END IF;
2357:
2358: G_project_id := pa_utils.GetProjId( X_pnum );
2351: G_project_id := P_Project_Id;
2352: ELSE
2353: IF PG_DEBUG = 'Y' THEN
2354: pa_debug.G_err_stage := 'Calling pa_utils.GetProjId';
2355: log_message('log_message: ' || pa_debug.G_err_Stage);
2356: END IF;
2357:
2358: G_project_id := pa_utils.GetProjId( X_pnum );
2359: END IF;
2365: IF P_Task_Id is not NULL THEN
2366: G_task_id := P_Task_Id;
2367: ELSE
2368: IF PG_DEBUG = 'Y' THEN
2369: pa_debug.G_err_stage := 'Calling pa_utils.GetTaskId';
2370: log_message('log_message: ' || pa_debug.G_err_Stage);
2371: END IF;
2372:
2373: G_task_id := pa_utils.GetTaskId( G_project_id, X_tnum );
2366: G_task_id := P_Task_Id;
2367: ELSE
2368: IF PG_DEBUG = 'Y' THEN
2369: pa_debug.G_err_stage := 'Calling pa_utils.GetTaskId';
2370: log_message('log_message: ' || pa_debug.G_err_Stage);
2371: END IF;
2372:
2373: G_task_id := pa_utils.GetTaskId( G_project_id, X_tnum );
2374: END IF;
2383: -- Check pa_expend_typ_sys_links table for for existence and activeness of
2384: -- the given exp_type/sys_link combination
2385:
2386: IF PG_DEBUG = 'Y' THEN
2387: pa_debug.G_err_stage := 'Calling GetEtypeEclassInfo';
2388: log_message('log_message: ' || pa_debug.G_err_Stage);
2389: END IF;
2390: GetEtypeEclassInfo(X_etype, X_system_linkage) ;
2391:
2384: -- the given exp_type/sys_link combination
2385:
2386: IF PG_DEBUG = 'Y' THEN
2387: pa_debug.G_err_stage := 'Calling GetEtypeEclassInfo';
2388: log_message('log_message: ' || pa_debug.G_err_Stage);
2389: END IF;
2390: GetEtypeEclassInfo(X_etype, X_system_linkage) ;
2391:
2392: IF ( G_etype_link is NULL ) then
2404:
2405: -- Check pa_expenditure_types table for for existence and activeness of
2406: -- the given exp_type combination
2407: IF PG_DEBUG = 'Y' THEN
2408: pa_debug.G_err_stage := 'Calling GetEtypeInfo';
2409: log_message('log_message: ' || pa_debug.G_err_Stage);
2410: END IF;
2411: GetEtypeInfo( X_etype, X_ei_date );
2412:
2405: -- Check pa_expenditure_types table for for existence and activeness of
2406: -- the given exp_type combination
2407: IF PG_DEBUG = 'Y' THEN
2408: pa_debug.G_err_stage := 'Calling GetEtypeInfo';
2409: log_message('log_message: ' || pa_debug.G_err_Stage);
2410: END IF;
2411: GetEtypeInfo( X_etype, X_ei_date );
2412:
2413: IF ( NOT G_etype_active ) THEN
2435:
2436: ELSE --Calling module = PAAPIMP
2437:
2438: IF PG_DEBUG = 'Y' THEN
2439: pa_debug.G_err_stage := 'Calling module is PAAPIMP';
2440: log_message('log_message: ' || pa_debug.G_err_stage);
2441: END IF;
2442:
2443: G_project_id := P_Project_Id;
2436: ELSE --Calling module = PAAPIMP
2437:
2438: IF PG_DEBUG = 'Y' THEN
2439: pa_debug.G_err_stage := 'Calling module is PAAPIMP';
2440: log_message('log_message: ' || pa_debug.G_err_stage);
2441: END IF;
2442:
2443: G_project_id := P_Project_Id;
2444: G_task_id := P_Task_Id;
2530: /* End bug 5400719 */
2531: G_Job_Id := P_Emp_Job_Id;
2532:
2533: IF PG_DEBUG = 'Y' THEN
2534: pa_debug.G_err_stage := 'AP EXPENSE, G_Org_Id, G_Job_Id = ' || G_Org_Id || ',' || G_Job_Id;
2535: log_message('log_message: ' || pa_debug.G_err_stage);
2536: END IF;
2537:
2538: If (G_Org_Id is NULL or G_Job_Id is NULL) Then
2531: G_Job_Id := P_Emp_Job_Id;
2532:
2533: IF PG_DEBUG = 'Y' THEN
2534: pa_debug.G_err_stage := 'AP EXPENSE, G_Org_Id, G_Job_Id = ' || G_Org_Id || ',' || G_Job_Id;
2535: log_message('log_message: ' || pa_debug.G_err_stage);
2536: END IF;
2537:
2538: If (G_Org_Id is NULL or G_Job_Id is NULL) Then
2539: X_status := 'NO_ASSIGNMENT';
2546: END IF; ---}
2547:
2548: IF ( G_project_id IS NULL ) THEN
2549: IF PG_DEBUG = 'Y' THEN
2550: pa_debug.G_err_stage := 'Project Id is null';
2551: log_message('log_message: ' || pa_debug.G_err_stage);
2552: END IF;
2553: X_status := 'INVALID_PROJECT';
2554: pa_cc_utils.reset_curr_function;
2547:
2548: IF ( G_project_id IS NULL ) THEN
2549: IF PG_DEBUG = 'Y' THEN
2550: pa_debug.G_err_stage := 'Project Id is null';
2551: log_message('log_message: ' || pa_debug.G_err_stage);
2552: END IF;
2553: X_status := 'INVALID_PROJECT';
2554: pa_cc_utils.reset_curr_function;
2555: RETURN;
2554: pa_cc_utils.reset_curr_function;
2555: RETURN;
2556: ELSE
2557: IF PG_DEBUG = 'Y' THEN
2558: pa_debug.G_err_stage := 'Calling GetProjTypeInfo';
2559: log_message('log_message: ' || pa_debug.G_err_Stage);
2560: END IF;
2561:
2562: -- Bug 2634812 : Deriving total_burden_flag
2555: RETURN;
2556: ELSE
2557: IF PG_DEBUG = 'Y' THEN
2558: pa_debug.G_err_stage := 'Calling GetProjTypeInfo';
2559: log_message('log_message: ' || pa_debug.G_err_Stage);
2560: END IF;
2561:
2562: -- Bug 2634812 : Deriving total_burden_flag
2563: GetProjTypeInfo( G_project_id,
2567: G_Total_Burden_Flag ) ;
2568:
2569: IF G_proj_bcost_flag IS NULL THEN
2570: IF PG_DEBUG = 'Y' THEN
2571: pa_debug.G_err_stage := 'Project Type is invalid';
2572: log_message('log_message: ' || pa_debug.G_err_stage);
2573: END IF;
2574:
2575: X_status := 'INVALID_PROJ_TYPE' ;
2568:
2569: IF G_proj_bcost_flag IS NULL THEN
2570: IF PG_DEBUG = 'Y' THEN
2571: pa_debug.G_err_stage := 'Project Type is invalid';
2572: log_message('log_message: ' || pa_debug.G_err_stage);
2573: END IF;
2574:
2575: X_status := 'INVALID_PROJ_TYPE' ;
2576: pa_cc_utils.reset_curr_function;
2587: -- ===========================================================================
2588: -- Check if new transactions are allowed against this project
2589:
2590: IF PG_DEBUG = 'Y' THEN
2591: pa_debug.G_err_stage := 'Calling pa_project_utils.check_project_action_allowed';
2592: log_message('log_message: ' || pa_debug.G_err_Stage);
2593: END IF;
2594:
2595: -- PA-K Changes: Using Caching for performance
2588: -- Check if new transactions are allowed against this project
2589:
2590: IF PG_DEBUG = 'Y' THEN
2591: pa_debug.G_err_stage := 'Calling pa_project_utils.check_project_action_allowed';
2592: log_message('log_message: ' || pa_debug.G_err_Stage);
2593: END IF;
2594:
2595: -- PA-K Changes: Using Caching for performance
2596:
2610:
2611: IF l_NewTxnsAllowed = 'N'
2612: THEN
2613: IF PG_DEBUG = 'Y' THEN
2614: pa_debug.G_err_stage := 'Project does not allow new txns';
2615: log_message('log_message: ' || pa_debug.G_err_stage);
2616: END IF;
2617:
2618: X_status := 'PA_NEW_TXNS_NOT_ALLOWED';
2611: IF l_NewTxnsAllowed = 'N'
2612: THEN
2613: IF PG_DEBUG = 'Y' THEN
2614: pa_debug.G_err_stage := 'Project does not allow new txns';
2615: log_message('log_message: ' || pa_debug.G_err_stage);
2616: END IF;
2617:
2618: X_status := 'PA_NEW_TXNS_NOT_ALLOWED';
2619: pa_cc_utils.reset_curr_function;
2628: If pa_trx_import.g_skip_tc_flag <> 'Y' and PA_TRX_IMPORT.Get_GVal_ProjTskEi_Date = 'Y' then
2629: --Modified above condition for BUG6931833
2630:
2631: IF PG_DEBUG = 'Y' THEN
2632: pa_debug.G_err_stage := 'Calling pa_utils.IsCrossChargeable';
2633: log_message('log_message: ' || pa_debug.G_err_Stage);
2634: END IF;
2635:
2636: If not pa_utils.IsCrossChargeable(G_Project_Id) then
2629: --Modified above condition for BUG6931833
2630:
2631: IF PG_DEBUG = 'Y' THEN
2632: pa_debug.G_err_stage := 'Calling pa_utils.IsCrossChargeable';
2633: log_message('log_message: ' || pa_debug.G_err_Stage);
2634: END IF;
2635:
2636: If not pa_utils.IsCrossChargeable(G_Project_Id) then
2637: X_Status := 'PA_PROJECT_NOT_VALID' ;
2644: -- ELSIF ( last_task IS NULL OR X_tnum <> last_task ) THEN
2645:
2646: IF ( G_task_id IS NULL ) THEN
2647: IF PG_DEBUG = 'Y' THEN
2648: pa_debug.G_err_stage := 'Task Id is null';
2649: log_message('log_message: ' || pa_debug.G_err_stage);
2650: END IF;
2651:
2652: X_status := 'INVALID_TASK';
2645:
2646: IF ( G_task_id IS NULL ) THEN
2647: IF PG_DEBUG = 'Y' THEN
2648: pa_debug.G_err_stage := 'Task Id is null';
2649: log_message('log_message: ' || pa_debug.G_err_stage);
2650: END IF;
2651:
2652: X_status := 'INVALID_TASK';
2653: pa_cc_utils.reset_curr_function;
2653: pa_cc_utils.reset_curr_function;
2654: RETURN;
2655: ELSE
2656: IF PG_DEBUG = 'Y' THEN
2657: pa_debug.G_err_stage := 'Calling pa_utils2.GetLaborCostMultiplier';
2658: log_message('log_message: ' || pa_debug.G_err_Stage);
2659: END IF;
2660: G_lcm := pa_utils2.GetLaborCostMultiplier(G_Task_id);
2661: last_task := X_tnum;
2654: RETURN;
2655: ELSE
2656: IF PG_DEBUG = 'Y' THEN
2657: pa_debug.G_err_stage := 'Calling pa_utils2.GetLaborCostMultiplier';
2658: log_message('log_message: ' || pa_debug.G_err_Stage);
2659: END IF;
2660: G_lcm := pa_utils2.GetLaborCostMultiplier(G_Task_id);
2661: last_task := X_tnum;
2662: END IF;
2766:
2767: ELSE -- X_denom_currency_code IS NOT NULL
2768:
2769: IF PG_DEBUG = 'Y' THEN
2770: pa_debug.G_err_stage := 'Calling pa_multi_currency.validate_currency_code';
2771: log_message('log_message: ' || pa_debug.G_err_Stage);
2772: END IF;
2773: IF (pa_multi_currency.validate_currency_code(
2774: P_currency_code =>X_denom_currency_code,
2767: ELSE -- X_denom_currency_code IS NOT NULL
2768:
2769: IF PG_DEBUG = 'Y' THEN
2770: pa_debug.G_err_stage := 'Calling pa_multi_currency.validate_currency_code';
2771: log_message('log_message: ' || pa_debug.G_err_Stage);
2772: END IF;
2773: IF (pa_multi_currency.validate_currency_code(
2774: P_currency_code =>X_denom_currency_code,
2775: P_ei_date =>X_ei_date)= 'N')
2788: -- currency attributes. Get project currency information
2789: -------------------------------------------------------------------------*/
2790:
2791: IF PG_DEBUG = 'Y' THEN
2792: pa_debug.G_err_stage := 'Calling GetProjCurrInfo';
2793: log_message('log_message: ' || pa_debug.G_err_Stage);
2794: END IF;
2795:
2796: -- PA-I Changes: Get Proj Functional currency code
2789: -------------------------------------------------------------------------*/
2790:
2791: IF PG_DEBUG = 'Y' THEN
2792: pa_debug.G_err_stage := 'Calling GetProjCurrInfo';
2793: log_message('log_message: ' || pa_debug.G_err_Stage);
2794: END IF;
2795:
2796: -- PA-I Changes: Get Proj Functional currency code
2797: GetProjCurrInfo(G_task_id,
2841:
2842: Else
2843:
2844: IF PG_DEBUG = 'Y' THEN
2845: pa_debug.G_err_stage := 'Calling pa_multi_currency.get_conversion_type';
2846: log_message('log_message: ' || pa_debug.G_err_Stage);
2847: END IF;
2848: G_acct_rate_type := pa_multi_currency.get_conversion_type(
2849: P_user_rate_type => X_acct_rate_type);
2842: Else
2843:
2844: IF PG_DEBUG = 'Y' THEN
2845: pa_debug.G_err_stage := 'Calling pa_multi_currency.get_conversion_type';
2846: log_message('log_message: ' || pa_debug.G_err_Stage);
2847: END IF;
2848: G_acct_rate_type := pa_multi_currency.get_conversion_type(
2849: P_user_rate_type => X_acct_rate_type);
2850:
2872:
2873: --Corrected Fix for Bug 2489534
2874: If (nvl(X_module, 'EXTERNAL') <> 'PAAPIMP') Then
2875: IF PG_DEBUG = 'Y' THEN
2876: pa_debug.G_err_stage := 'Calling pa_multi_currency.get_conversion_type';
2877: log_message('log_message: ' || pa_debug.G_err_Stage);
2878: END IF;
2879: G_project_rate_type := pa_multi_currency.get_conversion_type(
2880: P_user_rate_type => X_project_rate_type);
2873: --Corrected Fix for Bug 2489534
2874: If (nvl(X_module, 'EXTERNAL') <> 'PAAPIMP') Then
2875: IF PG_DEBUG = 'Y' THEN
2876: pa_debug.G_err_stage := 'Calling pa_multi_currency.get_conversion_type';
2877: log_message('log_message: ' || pa_debug.G_err_Stage);
2878: END IF;
2879: G_project_rate_type := pa_multi_currency.get_conversion_type(
2880: P_user_rate_type => X_project_rate_type);
2881: Else
2904:
2905: --Corrected Fix for Bug 2489534
2906: If (nvl(X_module, 'EXTERNAL') <> 'PAAPIMP') Then
2907: IF PG_DEBUG = 'Y' THEN
2908: pa_debug.G_err_stage := 'Calling pa_multi_currency.get_conversion_type';
2909: log_message('log_message: ' || pa_debug.G_err_Stage);
2910: END IF;
2911: G_projfunc_cost_rate_type := pa_multi_currency.get_conversion_type(
2912: P_user_rate_type => X_projfunc_cost_rate_type);
2905: --Corrected Fix for Bug 2489534
2906: If (nvl(X_module, 'EXTERNAL') <> 'PAAPIMP') Then
2907: IF PG_DEBUG = 'Y' THEN
2908: pa_debug.G_err_stage := 'Calling pa_multi_currency.get_conversion_type';
2909: log_message('log_message: ' || pa_debug.G_err_Stage);
2910: END IF;
2911: G_projfunc_cost_rate_type := pa_multi_currency.get_conversion_type(
2912: P_user_rate_type => X_projfunc_cost_rate_type);
2913: Else
2933: IF ( G_acct_rate_type = 'User' ) THEN
2934:
2935: -- check if rate type 'User' is allowed
2936: IF PG_DEBUG = 'Y' THEN
2937: pa_debug.G_err_stage := 'Calling pa_multi_currency.is_user_rate_type_allowed';
2938: log_message('log_message: ' || pa_debug.G_err_Stage);
2939: END IF;
2940: IF ( pa_multi_currency.is_user_rate_type_allowed(
2941: P_from_currency => X_denom_currency_code,
2934:
2935: -- check if rate type 'User' is allowed
2936: IF PG_DEBUG = 'Y' THEN
2937: pa_debug.G_err_stage := 'Calling pa_multi_currency.is_user_rate_type_allowed';
2938: log_message('log_message: ' || pa_debug.G_err_Stage);
2939: END IF;
2940: IF ( pa_multi_currency.is_user_rate_type_allowed(
2941: P_from_currency => X_denom_currency_code,
2942: P_to_currency => G_accounting_currency_code,
2967:
2968: IF ( G_project_rate_type = 'User' ) THEN
2969:
2970: IF PG_DEBUG = 'Y' THEN
2971: pa_debug.G_err_stage := 'Calling pa_multi_currency.is_user_rate_type_allowed';
2972: log_message('log_message: ' || pa_debug.G_err_Stage);
2973: END IF;
2974: IF ( pa_multi_currency.is_user_rate_type_allowed(
2975: P_from_currency => X_denom_currency_code,
2968: IF ( G_project_rate_type = 'User' ) THEN
2969:
2970: IF PG_DEBUG = 'Y' THEN
2971: pa_debug.G_err_stage := 'Calling pa_multi_currency.is_user_rate_type_allowed';
2972: log_message('log_message: ' || pa_debug.G_err_Stage);
2973: END IF;
2974: IF ( pa_multi_currency.is_user_rate_type_allowed(
2975: P_from_currency => X_denom_currency_code,
2976: P_to_currency => X_project_currency_code,
2997:
2998: IF ( G_projfunc_cost_rate_type = 'User' ) THEN
2999:
3000: IF PG_DEBUG = 'Y' THEN
3001: pa_debug.G_err_stage := 'Calling pa_multi_currency.is_user_rate_type_allowed';
3002: log_message('log_message: ' || pa_debug.G_err_Stage);
3003: END IF;
3004: IF ( pa_multi_currency.is_user_rate_type_allowed(
3005: P_from_currency => X_denom_currency_code,
2998: IF ( G_projfunc_cost_rate_type = 'User' ) THEN
2999:
3000: IF PG_DEBUG = 'Y' THEN
3001: pa_debug.G_err_stage := 'Calling pa_multi_currency.is_user_rate_type_allowed';
3002: log_message('log_message: ' || pa_debug.G_err_Stage);
3003: END IF;
3004: IF ( pa_multi_currency.is_user_rate_type_allowed(
3005: P_from_currency => X_denom_currency_code,
3006: P_to_currency => X_projfunc_currency_code,
3075:
3076: IF ( X_receipt_currency_code IS NOT NULL ) THEN
3077:
3078: IF PG_DEBUG = 'Y' THEN
3079: pa_debug.G_err_stage := 'Calling pa_multi_currency.validate_currency_code';
3080: log_message('log_message: ' || pa_debug.G_err_Stage);
3081: END IF;
3082: IF (pa_multi_currency.validate_currency_code(
3083: P_currency_code =>X_receipt_currency_code,
3076: IF ( X_receipt_currency_code IS NOT NULL ) THEN
3077:
3078: IF PG_DEBUG = 'Y' THEN
3079: pa_debug.G_err_stage := 'Calling pa_multi_currency.validate_currency_code';
3080: log_message('log_message: ' || pa_debug.G_err_Stage);
3081: END IF;
3082: IF (pa_multi_currency.validate_currency_code(
3083: P_currency_code =>X_receipt_currency_code,
3084: P_ei_date => X_ei_date)= 'N')
3110: -- derive the receipt exchange rate from the ratio of quantity
3111: -- to receipt amount
3112:
3113: IF PG_DEBUG = 'Y' THEN
3114: pa_debug.G_err_stage := 'Calling pa_currency.round_trans_currency_amt';
3115: log_message('log_message: ' || pa_debug.G_err_Stage);
3116: END IF;
3117: X_receipt_exchange_rate := (X_qty/
3118: pa_currency.round_trans_currency_amt1(
3111: -- to receipt amount
3112:
3113: IF PG_DEBUG = 'Y' THEN
3114: pa_debug.G_err_stage := 'Calling pa_currency.round_trans_currency_amt';
3115: log_message('log_message: ' || pa_debug.G_err_Stage);
3116: END IF;
3117: X_receipt_exchange_rate := (X_qty/
3118: pa_currency.round_trans_currency_amt1(
3119: X_receipt_currency_amount,
3224: l_acct_exchange_rate := X_acct_exchange_rate;
3225: l_acct_raw_cost := X_acct_raw_cost;
3226:
3227: IF PG_DEBUG = 'Y' THEN
3228: pa_debug.G_err_stage := 'Calling pa_multi_currency.convert_amount';
3229: log_message('log_message: ' || pa_debug.G_err_Stage);
3230: END IF;
3231:
3232: pa_multi_currency.convert_amount(
3225: l_acct_raw_cost := X_acct_raw_cost;
3226:
3227: IF PG_DEBUG = 'Y' THEN
3228: pa_debug.G_err_stage := 'Calling pa_multi_currency.convert_amount';
3229: log_message('log_message: ' || pa_debug.G_err_Stage);
3230: END IF;
3231:
3232: pa_multi_currency.convert_amount(
3233: P_from_currency => X_denom_currency_code,
3293: -- If functional and transaction currencies are same the the
3294: -- corresponding amounts should also be equal
3295: --
3296: IF PG_DEBUG = 'Y' THEN
3297: pa_debug.G_err_stage := 'Calling pa_multi_currency.round_trans_currency_amt';
3298: log_message('log_message: ' || pa_debug.G_err_Stage);
3299: END IF;
3300:
3301: /* Added the call to round off X_acct_raw_cost for bug 2871273 */
3294: -- corresponding amounts should also be equal
3295: --
3296: IF PG_DEBUG = 'Y' THEN
3297: pa_debug.G_err_stage := 'Calling pa_multi_currency.round_trans_currency_amt';
3298: log_message('log_message: ' || pa_debug.G_err_Stage);
3299: END IF;
3300:
3301: /* Added the call to round off X_acct_raw_cost for bug 2871273 */
3302: IF ( pa_currency.round_trans_currency_amt1(X_acct_raw_cost, G_accounting_currency_code) <>
3331:
3332: BEGIN
3333:
3334: IF PG_DEBUG = 'Y' THEN
3335: pa_debug.G_err_stage := 'Calling pa_multi_currency_txn.get_currency_amounts';
3336: log_message('log_message: ' || pa_debug.G_err_Stage);
3337: END IF;
3338: pa_multi_currency_txn.get_currency_amounts(
3339: P_task_id => G_task_id,
3332: BEGIN
3333:
3334: IF PG_DEBUG = 'Y' THEN
3335: pa_debug.G_err_stage := 'Calling pa_multi_currency_txn.get_currency_amounts';
3336: log_message('log_message: ' || pa_debug.G_err_Stage);
3337: END IF;
3338: pa_multi_currency_txn.get_currency_amounts(
3339: P_task_id => G_task_id,
3340: P_ei_date => X_ei_date,
3390:
3391: IF ( X_system_linkage in ( 'ST', 'OT' )) THEN
3392:
3393: IF PG_DEBUG = 'Y' THEN
3394: pa_debug.G_err_stage := 'Calling pa_utils.DateInExpWeek';
3395: log_message('log_message: ' || pa_debug.G_err_Stage);
3396: END IF;
3397:
3398: IF ( NOT pa_utils.DateInExpWeek( X_ei_date , X_end_date ) ) THEN
3391: IF ( X_system_linkage in ( 'ST', 'OT' )) THEN
3392:
3393: IF PG_DEBUG = 'Y' THEN
3394: pa_debug.G_err_stage := 'Calling pa_utils.DateInExpWeek';
3395: log_message('log_message: ' || pa_debug.G_err_Stage);
3396: END IF;
3397:
3398: IF ( NOT pa_utils.DateInExpWeek( X_ei_date , X_end_date ) ) THEN
3399: X_status := 'ITEM_NOT_IN_WEEK';
3452: IF P_NLR_Org_Id is not null Then
3453: G_nlro_id := P_NLR_Org_Id;
3454: ELSE
3455: IF PG_DEBUG = 'Y' THEN
3456: pa_debug.G_err_stage := 'Calling pa_utils.GetOrgnId';
3457: log_message('log_message: ' || pa_debug.G_err_Stage);
3458: END IF;
3459: --Start of changes for Bug 3010848
3460:
3453: G_nlro_id := P_NLR_Org_Id;
3454: ELSE
3455: IF PG_DEBUG = 'Y' THEN
3456: pa_debug.G_err_stage := 'Calling pa_utils.GetOrgnId';
3457: log_message('log_message: ' || pa_debug.G_err_Stage);
3458: END IF;
3459: --Start of changes for Bug 3010848
3460:
3461: --G_nlro_id := pa_utils.GetOrgId( X_nlro_name );
3478: RETURN;
3479: END IF;
3480:
3481: IF PG_DEBUG = 'Y' THEN
3482: pa_debug.G_err_stage := 'Calling GetNlrInfo(X_nlr,G_nlro_id) ';
3483: log_message('log_message: ' || pa_debug.G_err_Stage);
3484: END IF;
3485: GetNlrInfo( X_nlr, G_nlro_id );
3486:
3479: END IF;
3480:
3481: IF PG_DEBUG = 'Y' THEN
3482: pa_debug.G_err_stage := 'Calling GetNlrInfo(X_nlr,G_nlro_id) ';
3483: log_message('log_message: ' || pa_debug.G_err_Stage);
3484: END IF;
3485: GetNlrInfo( X_nlr, G_nlro_id );
3486:
3487: IF ( G_nlr_etype IS NULL ) THEN
3573: ( nvl( G_gl_accted_flag,'N' ) = 'Y') AND
3574: ( nvl(G_proj_bcost_flag, 'N') = 'Y') THEN
3575:
3576: IF PG_DEBUG = 'Y' THEN
3577: pa_debug.G_err_stage := 'Calling pa_cost_plus1.get_compile_set_info';
3578: log_message('log_message: ' || pa_debug.G_err_Stage);
3579: END IF;
3580: pa_cost_plus1.get_compile_set_info(
3581: task_id => G_task_id,
3574: ( nvl(G_proj_bcost_flag, 'N') = 'Y') THEN
3575:
3576: IF PG_DEBUG = 'Y' THEN
3577: pa_debug.G_err_stage := 'Calling pa_cost_plus1.get_compile_set_info';
3578: log_message('log_message: ' || pa_debug.G_err_Stage);
3579: END IF;
3580: pa_cost_plus1.get_compile_set_info(
3581: task_id => G_task_id,
3582: p_txn_interface_id => X_txn_interface_id, -- added for bug 2563364
3733: --
3734:
3735: /* --Commented code for Bug 2798971
3736: IF PG_DEBUG = 'Y' THEN
3737: pa_debug.G_err_stage := 'Calling pa_currency.round_trans_currency_amt';
3738: log_message('log_message: ' || pa_debug.G_err_Stage);
3739: END IF;
3740: X_denom_burdened_cost := pa_currency.round_trans_currency_amt1(
3741: X_denom_raw_cost * (1 + G_compiled_multiplier ),X_denom_currency_code);
3734:
3735: /* --Commented code for Bug 2798971
3736: IF PG_DEBUG = 'Y' THEN
3737: pa_debug.G_err_stage := 'Calling pa_currency.round_trans_currency_amt';
3738: log_message('log_message: ' || pa_debug.G_err_Stage);
3739: END IF;
3740: X_denom_burdened_cost := pa_currency.round_trans_currency_amt1(
3741: X_denom_raw_cost * (1 + G_compiled_multiplier ),X_denom_currency_code);
3742:
3754:
3755: /* Added code for 2798971 */
3756: IF (nvl(G_proj_bcost_flag, 'N') = 'Y') THEN
3757: IF PG_DEBUG = 'Y' THEN
3758: pa_debug.G_err_stage := 'Calling pa_cost_plus1.get_indirect_cost_import';
3759: log_message('log_message: ' || pa_debug.G_err_Stage);
3760: END IF;
3761: pa_cost_plus1.get_indirect_cost_import (
3762: task_id => G_task_id,
3755: /* Added code for 2798971 */
3756: IF (nvl(G_proj_bcost_flag, 'N') = 'Y') THEN
3757: IF PG_DEBUG = 'Y' THEN
3758: pa_debug.G_err_stage := 'Calling pa_cost_plus1.get_indirect_cost_import';
3759: log_message('log_message: ' || pa_debug.G_err_Stage);
3760: END IF;
3761: pa_cost_plus1.get_indirect_cost_import (
3762: task_id => G_task_id,
3763: p_txn_interface_id => X_txn_interface_id, -- added for bug 3246794
3852: -- initilize l_status
3853: l_status := NULL;
3854:
3855: IF PG_DEBUG = 'Y' THEN
3856: pa_debug.G_err_stage := 'Calling pa_multi_currency.convert_amount for functional currency';
3857: log_message('log_message: ' || pa_debug.G_err_Stage);
3858: END IF;
3859: pa_multi_currency.convert_amount(
3860: P_from_currency => X_denom_currency_code,
3853: l_status := NULL;
3854:
3855: IF PG_DEBUG = 'Y' THEN
3856: pa_debug.G_err_stage := 'Calling pa_multi_currency.convert_amount for functional currency';
3857: log_message('log_message: ' || pa_debug.G_err_Stage);
3858: END IF;
3859: pa_multi_currency.convert_amount(
3860: P_from_currency => X_denom_currency_code,
3861: P_to_currency => G_accounting_currency_code,
3883:
3884: l_status := NULL;
3885:
3886: IF PG_DEBUG = 'Y' THEN
3887: pa_debug.G_err_stage := 'Calling pa_multi_currency.convert_amount for project currency';
3888: log_message('log_message: ' || pa_debug.G_err_Stage);
3889: END IF;
3890: pa_multi_currency.convert_amount(
3891: P_from_currency => X_denom_currency_code,
3884: l_status := NULL;
3885:
3886: IF PG_DEBUG = 'Y' THEN
3887: pa_debug.G_err_stage := 'Calling pa_multi_currency.convert_amount for project currency';
3888: log_message('log_message: ' || pa_debug.G_err_Stage);
3889: END IF;
3890: pa_multi_currency.convert_amount(
3891: P_from_currency => X_denom_currency_code,
3892: P_to_currency => X_project_currency_code,
3915:
3916: l_status := NULL;
3917:
3918: IF PG_DEBUG = 'Y' THEN
3919: pa_debug.G_err_stage := 'Calling pa_multi_currency.convert_amount for project functional currency';
3920: log_message('log_message: ' || pa_debug.G_err_Stage);
3921: END IF;
3922: pa_multi_currency.convert_amount(
3923: P_from_currency => X_denom_currency_code,
3916: l_status := NULL;
3917:
3918: IF PG_DEBUG = 'Y' THEN
3919: pa_debug.G_err_stage := 'Calling pa_multi_currency.convert_amount for project functional currency';
3920: log_message('log_message: ' || pa_debug.G_err_Stage);
3921: END IF;
3922: pa_multi_currency.convert_amount(
3923: P_from_currency => X_denom_currency_code,
3924: P_to_currency => X_projfunc_currency_code,
3947: -- acct_burdened_cost is derived by multiplying the acct_raw_cost with
3948: -- denom_cost_ratio.
3949:
3950: IF PG_DEBUG = 'Y' THEN
3951: pa_debug.G_err_stage := 'Calling pa_currency.round_trans_currency_amt';
3952: log_message('log_message: ' || pa_debug.G_err_Stage);
3953: END IF;
3954:
3955: X_project_burdened_cost := pa_currency.round_trans_currency_amt1(
3948: -- denom_cost_ratio.
3949:
3950: IF PG_DEBUG = 'Y' THEN
3951: pa_debug.G_err_stage := 'Calling pa_currency.round_trans_currency_amt';
3952: log_message('log_message: ' || pa_debug.G_err_Stage);
3953: END IF;
3954:
3955: X_project_burdened_cost := pa_currency.round_trans_currency_amt1(
3956: X_project_raw_cost *
3979: --PA-J Receipt Accrual Changes : Added AP VARIANCE and PO RECEIPT transaction sources
3980: --PA-I Changes : Added Discounts for AP Discounts project
3981:
3982: IF Checkccid(X_drccid) IS NULL THEN
3983: pa_debug.G_err_stage := 'Calling Checkccid'; log_message(pa_debug.G_err_Stage);
3984: X_status := 'INVALID_DR_CCID' ;
3985: pa_cc_utils.reset_curr_function;
3986: RETURN ;
3987: END IF ;
4045:
4046: IF G_allow_dup_flag <> 'Y' THEN
4047:
4048: IF PG_DEBUG = 'Y' THEN
4049: pa_debug.G_err_stage := 'Calling CheckDupItem';
4050: log_message('log_message: ' || pa_debug.G_err_Stage);
4051: END IF;
4052: CheckDupItem ( X_trx_src, X_trx_ref, temp_status );
4053: IF ( temp_status IS NOT NULL ) THEN
4046: IF G_allow_dup_flag <> 'Y' THEN
4047:
4048: IF PG_DEBUG = 'Y' THEN
4049: pa_debug.G_err_stage := 'Calling CheckDupItem';
4050: log_message('log_message: ' || pa_debug.G_err_Stage);
4051: END IF;
4052: CheckDupItem ( X_trx_src, X_trx_ref, temp_status );
4053: IF ( temp_status IS NOT NULL ) THEN
4054: X_status := temp_status;
4071: ( X_match_flag = 'N' and X_trx_src = 'ORACLE TIME AND LABOR' ) OR
4072: ( nvl(p_adj_exp_item_id,0) > 0 and nvl(X_module, 'EXTERNAL') = 'PAAPIMP') ) THEN
4073:
4074: IF PG_DEBUG = 'Y' THEN
4075: pa_debug.G_err_stage := 'Calling pa_adjustments.VerifyOrigItem';
4076: log_message('log_message: ' || pa_debug.G_err_Stage);
4077: END IF;
4078:
4079: /* REL12 AP Lines Uptake */
4072: ( nvl(p_adj_exp_item_id,0) > 0 and nvl(X_module, 'EXTERNAL') = 'PAAPIMP') ) THEN
4073:
4074: IF PG_DEBUG = 'Y' THEN
4075: pa_debug.G_err_stage := 'Calling pa_adjustments.VerifyOrigItem';
4076: log_message('log_message: ' || pa_debug.G_err_Stage);
4077: END IF;
4078:
4079: /* REL12 AP Lines Uptake */
4080: IF ( p_adj_exp_item_id is not NULL and
4109: ( X_module = 'PAXTRTRX' OR X_module = 'PAAPIMP') THEN
4110:
4111:
4112: IF PG_DEBUG = 'Y' THEN
4113: pa_debug.G_err_stage := 'Calling pa_adjustments.ExpAdjItemTab';
4114: log_message('log_message: ' || pa_debug.G_err_Stage);
4115: END IF;
4116: pa_adjustments.ExpAdjItemTab(G_adj_item_id) := G_adj_item_id;
4117:
4110:
4111:
4112: IF PG_DEBUG = 'Y' THEN
4113: pa_debug.G_err_stage := 'Calling pa_adjustments.ExpAdjItemTab';
4114: log_message('log_message: ' || pa_debug.G_err_Stage);
4115: END IF;
4116: pa_adjustments.ExpAdjItemTab(G_adj_item_id) := G_adj_item_id;
4117:
4118: -- Commenting out the following procedure because verifyorigitem
4121:
4122: -- CheckDupAdjItem( G_adj_item_id, temp_status );
4123:
4124: IF PG_DEBUG = 'Y' THEN
4125: pa_debug.G_err_stage := 'Locking adjusting item:'||to_char(G_adj_item_id);
4126: log_message('log_message: ' || pa_debug.G_err_Stage);
4127: END IF;
4128:
4129: BEGIN
4122: -- CheckDupAdjItem( G_adj_item_id, temp_status );
4123:
4124: IF PG_DEBUG = 'Y' THEN
4125: pa_debug.G_err_stage := 'Locking adjusting item:'||to_char(G_adj_item_id);
4126: log_message('log_message: ' || pa_debug.G_err_Stage);
4127: END IF;
4128:
4129: BEGIN
4130:
4192: <
4193: BEGIN
4194:
4195: IF PG_DEBUG = 'Y' THEN
4196: pa_debug.G_err_stage := 'Calling PA_CC_IDENT.PA_CC_IDENTIFY_TXN_ADJ';
4197: log_message('log_message: ' || pa_debug.G_err_Stage);
4198: END IF;
4199:
4200: PA_CC_IDENT.PA_CC_IDENTIFY_TXN_ADJ(
4193: BEGIN
4194:
4195: IF PG_DEBUG = 'Y' THEN
4196: pa_debug.G_err_stage := 'Calling PA_CC_IDENT.PA_CC_IDENTIFY_TXN_ADJ';
4197: log_message('log_message: ' || pa_debug.G_err_Stage);
4198: END IF;
4199:
4200: PA_CC_IDENT.PA_CC_IDENTIFY_TXN_ADJ(
4201: -- Changed the follwing NVL as the G_override_to_org_id should always
4230: X_Calling_Module => 'TRANSACTION_IMPORT');
4231:
4232: EXCEPTION WHEN others THEN
4233: IF PG_DEBUG = 'Y' THEN
4234: log_message('log_message: ' || pa_debug.G_err_stack,1);
4235: log_message('log_message: ' || SQLERRM,1);
4236: log_message('log_message: ' || pa_debug.G_err_stage,1);
4237: END IF;
4238: X_Status := 'PA_ERR_IN_CC_IDENT_API';
4232: EXCEPTION WHEN others THEN
4233: IF PG_DEBUG = 'Y' THEN
4234: log_message('log_message: ' || pa_debug.G_err_stack,1);
4235: log_message('log_message: ' || SQLERRM,1);
4236: log_message('log_message: ' || pa_debug.G_err_stage,1);
4237: END IF;
4238: X_Status := 'PA_ERR_IN_CC_IDENT_API';
4239: pa_cc_utils.reset_curr_function;
4240: RETURN;
4286: only the reciever org id info. */
4287: ELSE
4288: /* IC Changes: Get receiver organization ID */
4289: IF PG_DEBUG = 'Y' THEN
4290: pa_debug.G_err_stage := 'Calling PA_UTILS2.GetPrjOrgId';
4291: log_message('log_message: ' || pa_debug.G_err_Stage);
4292: END IF;
4293: G_RecvrOrgId := PA_UTILS2.GetPrjOrgId(p_project_id => G_project_id,
4294: p_task_id => NULL);
4287: ELSE
4288: /* IC Changes: Get receiver organization ID */
4289: IF PG_DEBUG = 'Y' THEN
4290: pa_debug.G_err_stage := 'Calling PA_UTILS2.GetPrjOrgId';
4291: log_message('log_message: ' || pa_debug.G_err_Stage);
4292: END IF;
4293: G_RecvrOrgId := PA_UTILS2.GetPrjOrgId(p_project_id => G_project_id,
4294: p_task_id => NULL);
4295: END IF; -- End gl_accted_flag = Y
4335: --Identify if the transaction is a period-end accrual transaction
4336: IF (x_system_linkage = 'PJ' and x_accrual_flag = 'Y') THEN
4337:
4338: IF PG_DEBUG = 'Y' THEN
4339: pa_debug.G_err_stage := 'This is a Period-End Accrual transaction';
4340: log_message('log_message: ' || pa_debug.G_err_Stage);
4341: END IF;
4342:
4343: l_period_end_txn := 'Y';
4336: IF (x_system_linkage = 'PJ' and x_accrual_flag = 'Y') THEN
4337:
4338: IF PG_DEBUG = 'Y' THEN
4339: pa_debug.G_err_stage := 'This is a Period-End Accrual transaction';
4340: log_message('log_message: ' || pa_debug.G_err_Stage);
4341: END IF;
4342:
4343: l_period_end_txn := 'Y';
4344:
4347: --If transaction is accounted then derive the provider and receiver set of books information.
4348: IF ( nvl(G_gl_accted_flag,'N') = 'Y' or l_period_end_txn = 'Y') THEN
4349:
4350: IF PG_DEBUG = 'Y' THEN
4351: pa_debug.G_err_stage := 'Retrieve provider and receiver set_of_books';
4352: log_message('log_message: ' || pa_debug.G_err_Stage);
4353: END IF;
4354:
4355: log_message('log_message: x_org_id= ' || X_org_id || ' Prev = '|| Prev_OrgId); -- For bug 3590027
4348: IF ( nvl(G_gl_accted_flag,'N') = 'Y' or l_period_end_txn = 'Y') THEN
4349:
4350: IF PG_DEBUG = 'Y' THEN
4351: pa_debug.G_err_stage := 'Retrieve provider and receiver set_of_books';
4352: log_message('log_message: ' || pa_debug.G_err_Stage);
4353: END IF;
4354:
4355: log_message('log_message: x_org_id= ' || X_org_id || ' Prev = '|| Prev_OrgId); -- For bug 3590027
4356: if (nvl(X_org_id,-101) <> nvl(Prev_OrgId,-99)) then -- Added nvl to X_org_id for bug 3590027
4355: log_message('log_message: x_org_id= ' || X_org_id || ' Prev = '|| Prev_OrgId); -- For bug 3590027
4356: if (nvl(X_org_id,-101) <> nvl(Prev_OrgId,-99)) then -- Added nvl to X_org_id for bug 3590027
4357:
4358: IF PG_DEBUG = 'Y' THEN
4359: pa_debug.G_err_stage := 'Diff org_id';
4360: log_message('log_message: ' || pa_debug.G_err_Stage);
4361: END IF;
4362:
4363: select set_of_books_id
4356: if (nvl(X_org_id,-101) <> nvl(Prev_OrgId,-99)) then -- Added nvl to X_org_id for bug 3590027
4357:
4358: IF PG_DEBUG = 'Y' THEN
4359: pa_debug.G_err_stage := 'Diff org_id';
4360: log_message('log_message: ' || pa_debug.G_err_Stage);
4361: END IF;
4362:
4363: select set_of_books_id
4364: into G_SobId
4369: Prev_OrgID := X_Org_Id;
4370: else
4371:
4372: IF PG_DEBUG = 'Y' THEN
4373: pa_debug.G_err_stage := 'Same org_id';
4374: log_message('log_message: ' || pa_debug.G_err_Stage);
4375: END IF;
4376:
4377: G_SobId := Prev_SobId;
4370: else
4371:
4372: IF PG_DEBUG = 'Y' THEN
4373: pa_debug.G_err_stage := 'Same org_id';
4374: log_message('log_message: ' || pa_debug.G_err_Stage);
4375: END IF;
4376:
4377: G_SobId := Prev_SobId;
4378: end if;
4388: log_message('log_message: G_RecvrOrgId= ' || G_RecvrOrgId || ' Prev = '|| Prev_RecvrOrgId);--Bug 3590027
4389: if (nvl(G_RecvrOrgId,-101) <> nvl(Prev_RecvrOrgId,-99)) then -- Added nvl to G_RecvrOrgId for 3590027
4390:
4391: IF PG_DEBUG = 'Y' THEN
4392: pa_debug.G_err_stage := 'Diff recvr_org_id';
4393: log_message('log_message: ' || pa_debug.G_err_Stage);
4394: END IF;
4395:
4396: select set_of_books_id
4389: if (nvl(G_RecvrOrgId,-101) <> nvl(Prev_RecvrOrgId,-99)) then -- Added nvl to G_RecvrOrgId for 3590027
4390:
4391: IF PG_DEBUG = 'Y' THEN
4392: pa_debug.G_err_stage := 'Diff recvr_org_id';
4393: log_message('log_message: ' || pa_debug.G_err_Stage);
4394: END IF;
4395:
4396: select set_of_books_id
4397: into G_RecvrSobId
4402: Prev_RecvrOrgID := G_RecvrOrgId;
4403: else
4404:
4405: IF PG_DEBUG = 'Y' THEN
4406: pa_debug.G_err_stage := 'Same recvr_org_id';
4407: log_message('log_message: ' || pa_debug.G_err_Stage);
4408: END IF;
4409:
4410: G_RecvrSobId := Prev_RecvrSobId;
4403: else
4404:
4405: IF PG_DEBUG = 'Y' THEN
4406: pa_debug.G_err_stage := 'Same recvr_org_id';
4407: log_message('log_message: ' || pa_debug.G_err_Stage);
4408: END IF;
4409:
4410: G_RecvrSobId := Prev_RecvrSobId;
4411: end if;
4420: --pa_integration.get_period_information to derive the period information.
4421: IF ( (nvl(G_gl_accted_flag,'N') = 'Y') and (l_period_end_txn = 'N')) THEN
4422:
4423: IF PG_DEBUG = 'Y' THEN
4424: pa_debug.G_err_stage := 'Start PA_Date and Recvr_PA_Date Checks for non-period-end accrual txns';
4425: log_message('log_message: ' || pa_debug.G_err_Stage);
4426: END IF;
4427:
4428: IF PG_DEBUG = 'Y' THEN
4421: IF ( (nvl(G_gl_accted_flag,'N') = 'Y') and (l_period_end_txn = 'N')) THEN
4422:
4423: IF PG_DEBUG = 'Y' THEN
4424: pa_debug.G_err_stage := 'Start PA_Date and Recvr_PA_Date Checks for non-period-end accrual txns';
4425: log_message('log_message: ' || pa_debug.G_err_Stage);
4426: END IF;
4427:
4428: IF PG_DEBUG = 'Y' THEN
4429: pa_debug.G_err_stage := 'Calling pa_integration.get_period_information';
4425: log_message('log_message: ' || pa_debug.G_err_Stage);
4426: END IF;
4427:
4428: IF PG_DEBUG = 'Y' THEN
4429: pa_debug.G_err_stage := 'Calling pa_integration.get_period_information';
4430: log_message('log_message: ' || pa_debug.G_err_Stage);
4431: END IF;
4432:
4433: pa_integration.get_period_information(
4426: END IF;
4427:
4428: IF PG_DEBUG = 'Y' THEN
4429: pa_debug.G_err_stage := 'Calling pa_integration.get_period_information';
4430: log_message('log_message: ' || pa_debug.G_err_Stage);
4431: END IF;
4432:
4433: pa_integration.get_period_information(
4434: p_expenditure_item_date => X_ei_date
4457: log_message('log_message: ' || 'G_RecvrGlDate = '|| G_RecvrGlDate || ' G_RecvrGlPeriodName = '|| G_RecvrGlPeriodName);
4458: END IF;
4459:
4460: IF PG_DEBUG = 'Y' THEN
4461: pa_debug.G_err_stage := 'After pa_integration.get_period_information';
4462: log_message('log_message: ' || pa_debug.G_err_Stage);
4463: END IF;
4464:
4465: --Pa_date check being done here
4458: END IF;
4459:
4460: IF PG_DEBUG = 'Y' THEN
4461: pa_debug.G_err_stage := 'After pa_integration.get_period_information';
4462: log_message('log_message: ' || pa_debug.G_err_Stage);
4463: END IF;
4464:
4465: --Pa_date check being done here
4466: IF G_PaDate is NULL then
4465: --Pa_date check being done here
4466: IF G_PaDate is NULL then
4467:
4468: IF PG_DEBUG = 'Y' THEN
4469: pa_debug.G_err_stage := 'PA_Date is null';
4470: log_message('log_message: ' || pa_debug.G_err_Stage);
4471: END IF;
4472:
4473: X_status := 'INVALID_PA_DATE' ;
4466: IF G_PaDate is NULL then
4467:
4468: IF PG_DEBUG = 'Y' THEN
4469: pa_debug.G_err_stage := 'PA_Date is null';
4470: log_message('log_message: ' || pa_debug.G_err_Stage);
4471: END IF;
4472:
4473: X_status := 'INVALID_PA_DATE' ;
4474: pa_cc_utils.reset_curr_function;
4478:
4479: IF nvl(X_org_id,-999) <> nvl(G_RecvrOrgId,-999) THEN ----------------------{
4480:
4481: IF PG_DEBUG = 'Y' THEN
4482: pa_debug.G_err_stage := 'Before Check for the Receiver Date';
4483: log_message('log_message: ' || pa_debug.G_err_Stage);
4484: END IF;
4485:
4486: IF G_RecvrPaDate is NULL then
4479: IF nvl(X_org_id,-999) <> nvl(G_RecvrOrgId,-999) THEN ----------------------{
4480:
4481: IF PG_DEBUG = 'Y' THEN
4482: pa_debug.G_err_stage := 'Before Check for the Receiver Date';
4483: log_message('log_message: ' || pa_debug.G_err_Stage);
4484: END IF;
4485:
4486: IF G_RecvrPaDate is NULL then
4487:
4485:
4486: IF G_RecvrPaDate is NULL then
4487:
4488: IF PG_DEBUG = 'Y' THEN
4489: pa_debug.G_err_stage := 'Recvr_PA_Date is null';
4490: log_message('log_message: ' || pa_debug.G_err_Stage);
4491: END IF;
4492:
4493: X_status := 'INVALID_RECVR_PA_DATE' ;
4486: IF G_RecvrPaDate is NULL then
4487:
4488: IF PG_DEBUG = 'Y' THEN
4489: pa_debug.G_err_stage := 'Recvr_PA_Date is null';
4490: log_message('log_message: ' || pa_debug.G_err_Stage);
4491: END IF;
4492:
4493: X_status := 'INVALID_RECVR_PA_DATE' ;
4494: pa_cc_utils.reset_curr_function;
4498:
4499: IF G_RecvrGlDate is NULL then
4500:
4501: IF PG_DEBUG = 'Y' THEN
4502: pa_debug.G_err_stage := 'Recvr_GL_Date is null';
4503: log_message('log_message: ' || pa_debug.G_err_Stage);
4504: END IF;
4505:
4506: X_status := 'INVALID_RECVR_GL_DATE' ;
4499: IF G_RecvrGlDate is NULL then
4500:
4501: IF PG_DEBUG = 'Y' THEN
4502: pa_debug.G_err_stage := 'Recvr_GL_Date is null';
4503: log_message('log_message: ' || pa_debug.G_err_Stage);
4504: END IF;
4505:
4506: X_status := 'INVALID_RECVR_GL_DATE' ;
4507: pa_cc_utils.reset_curr_function;
4509:
4510: END IF ;
4511:
4512: IF PG_DEBUG = 'Y' THEN
4513: pa_debug.G_err_stage := 'After Check for the Receiver Date';
4514: log_message('log_message: ' || pa_debug.G_err_Stage);
4515: END IF;
4516:
4517: END IF ; ----------------------------------}
4510: END IF ;
4511:
4512: IF PG_DEBUG = 'Y' THEN
4513: pa_debug.G_err_stage := 'After Check for the Receiver Date';
4514: log_message('log_message: ' || pa_debug.G_err_Stage);
4515: END IF;
4516:
4517: END IF ; ----------------------------------}
4518:
4523: --and reversing line.
4524: IF ( l_period_end_txn = 'Y' ) THEN
4525:
4526: IF PG_DEBUG = 'Y' THEN
4527: pa_debug.G_err_stage := 'Start PA_Date and Recvr_PA_Date Checks for period-end accrual txns';
4528: log_message('log_message: ' || pa_debug.G_err_Stage);
4529: END IF;
4530:
4531: IF PG_DEBUG = 'Y' THEN
4524: IF ( l_period_end_txn = 'Y' ) THEN
4525:
4526: IF PG_DEBUG = 'Y' THEN
4527: pa_debug.G_err_stage := 'Start PA_Date and Recvr_PA_Date Checks for period-end accrual txns';
4528: log_message('log_message: ' || pa_debug.G_err_Stage);
4529: END IF;
4530:
4531: IF PG_DEBUG = 'Y' THEN
4532: pa_debug.G_err_stage := 'Calling pa_utils2.get_accrual_period_information';
4528: log_message('log_message: ' || pa_debug.G_err_Stage);
4529: END IF;
4530:
4531: IF PG_DEBUG = 'Y' THEN
4532: pa_debug.G_err_stage := 'Calling pa_utils2.get_accrual_period_information';
4533: log_message('log_message: ' || pa_debug.G_err_Stage);
4534: END IF;
4535:
4536: G_GlDate := X_gl_date;
4529: END IF;
4530:
4531: IF PG_DEBUG = 'Y' THEN
4532: pa_debug.G_err_stage := 'Calling pa_utils2.get_accrual_period_information';
4533: log_message('log_message: ' || pa_debug.G_err_Stage);
4534: END IF;
4535:
4536: G_GlDate := X_gl_date;
4537:
4575:
4576: if (l_ret_sts <> FND_API.G_RET_STS_SUCCESS) then
4577: x_status := x_error_code;
4578: IF PG_DEBUG = 'Y' THEN
4579: pa_debug.G_err_stage := 'Error returned for accrual date derivation = '||x_status;
4580: log_message('log_message: ' || pa_debug.G_err_Stage);
4581: END IF;
4582: pa_cc_utils.reset_curr_function;
4583: RETURN;
4576: if (l_ret_sts <> FND_API.G_RET_STS_SUCCESS) then
4577: x_status := x_error_code;
4578: IF PG_DEBUG = 'Y' THEN
4579: pa_debug.G_err_stage := 'Error returned for accrual date derivation = '||x_status;
4580: log_message('log_message: ' || pa_debug.G_err_Stage);
4581: END IF;
4582: pa_cc_utils.reset_curr_function;
4583: RETURN;
4584: end if;
4590: G_RevAccDate := G_AccDate;
4591: G_RevRecvrAccDate := G_RecvrAccDate;
4592:
4593: IF PG_DEBUG = 'Y' THEN
4594: pa_debug.G_err_stage := 'Calling pa_utils2.get_accrual_period_information for the reversing line';
4595: log_message('log_message: ' || pa_debug.G_err_Stage);
4596: END IF;
4597:
4598:
4591: G_RevRecvrAccDate := G_RecvrAccDate;
4592:
4593: IF PG_DEBUG = 'Y' THEN
4594: pa_debug.G_err_stage := 'Calling pa_utils2.get_accrual_period_information for the reversing line';
4595: log_message('log_message: ' || pa_debug.G_err_Stage);
4596: END IF;
4597:
4598:
4599: --Call get_accrual_period_information API for the reversing line
4636:
4637: IF (l_ret_sts <> FND_API.G_RET_STS_SUCCESS) THEN
4638: x_status := x_error_code;
4639: IF PG_DEBUG = 'Y' THEN
4640: pa_debug.G_err_stage := 'Error returned for reversal line accrual date derivation = '||x_status;
4641: log_message('log_message: ' || pa_debug.G_err_Stage);
4642: END IF;
4643: pa_cc_utils.reset_curr_function;
4644: RETURN;
4637: IF (l_ret_sts <> FND_API.G_RET_STS_SUCCESS) THEN
4638: x_status := x_error_code;
4639: IF PG_DEBUG = 'Y' THEN
4640: pa_debug.G_err_stage := 'Error returned for reversal line accrual date derivation = '||x_status;
4641: log_message('log_message: ' || pa_debug.G_err_Stage);
4642: END IF;
4643: pa_cc_utils.reset_curr_function;
4644: RETURN;
4645: END IF;
4663:
4664: If (G_trx_predef_flag = 'Y') Then
4665:
4666: IF PG_DEBUG = 'Y' THEN
4667: pa_debug.G_err_stage := 'Get Assignment and work type for predefined';
4668: log_message('log_message: ' || pa_debug.G_err_Stage);
4669: END IF;
4670:
4671: If (x_system_linkage in ('ST', 'OT', 'ER')) Then
4664: If (G_trx_predef_flag = 'Y') Then
4665:
4666: IF PG_DEBUG = 'Y' THEN
4667: pa_debug.G_err_stage := 'Get Assignment and work type for predefined';
4668: log_message('log_message: ' || pa_debug.G_err_Stage);
4669: END IF;
4670:
4671: If (x_system_linkage in ('ST', 'OT', 'ER')) Then
4672:
4670:
4671: If (x_system_linkage in ('ST', 'OT', 'ER')) Then
4672:
4673: IF PG_DEBUG = 'Y' THEN
4674: pa_debug.G_err_stage := 'Sys Link is ST OT ER';
4675: log_message('log_message: ' || pa_debug.G_err_Stage);
4676: END IF;
4677:
4678: If (P_Assignment_Id is not null) Then
4671: If (x_system_linkage in ('ST', 'OT', 'ER')) Then
4672:
4673: IF PG_DEBUG = 'Y' THEN
4674: pa_debug.G_err_stage := 'Sys Link is ST OT ER';
4675: log_message('log_message: ' || pa_debug.G_err_Stage);
4676: END IF;
4677:
4678: If (P_Assignment_Id is not null) Then
4679:
4677:
4678: If (P_Assignment_Id is not null) Then
4679:
4680: IF PG_DEBUG = 'Y' THEN
4681: pa_debug.G_err_stage := 'P_Assignment_id is not null';
4682: log_message('log_message: ' || pa_debug.G_err_Stage);
4683: END IF;
4684:
4685: G_Assignment_Id := P_Assignment_Id;
4678: If (P_Assignment_Id is not null) Then
4679:
4680: IF PG_DEBUG = 'Y' THEN
4681: pa_debug.G_err_stage := 'P_Assignment_id is not null';
4682: log_message('log_message: ' || pa_debug.G_err_Stage);
4683: END IF;
4684:
4685: G_Assignment_Id := P_Assignment_Id;
4686:
4684:
4685: G_Assignment_Id := P_Assignment_Id;
4686:
4687: IF PG_DEBUG = 'Y' THEN
4688: pa_debug.G_err_stage := 'G_Assignment_Id = ' || G_Assignment_Id;
4689: log_message('log_message: ' || pa_debug.G_err_Stage);
4690: END IF;
4691:
4692: Else
4685: G_Assignment_Id := P_Assignment_Id;
4686:
4687: IF PG_DEBUG = 'Y' THEN
4688: pa_debug.G_err_stage := 'G_Assignment_Id = ' || G_Assignment_Id;
4689: log_message('log_message: ' || pa_debug.G_err_Stage);
4690: END IF;
4691:
4692: Else
4693:
4691:
4692: Else
4693:
4694: IF PG_DEBUG = 'Y' THEN
4695: pa_debug.G_err_stage := 'P_Assignment_id is null';
4696: log_message('log_message: ' || pa_debug.G_err_Stage);
4697: END IF;
4698:
4699: G_Assignment_Id := pa_utils4.get_assignment_id(
4692: Else
4693:
4694: IF PG_DEBUG = 'Y' THEN
4695: pa_debug.G_err_stage := 'P_Assignment_id is null';
4696: log_message('log_message: ' || pa_debug.G_err_Stage);
4697: END IF;
4698:
4699: G_Assignment_Id := pa_utils4.get_assignment_id(
4700: p_person_id => G_Person_Id
4702: ,p_task_id => G_Task_Id
4703: ,p_ei_date => X_Ei_Date);
4704:
4705: IF PG_DEBUG = 'Y' THEN
4706: pa_debug.G_err_stage := 'G_Assignment_Id = ' || G_Assignment_Id;
4707: log_message('log_message: ' || pa_debug.G_err_Stage);
4708: END IF;
4709:
4710: End If;
4703: ,p_ei_date => X_Ei_Date);
4704:
4705: IF PG_DEBUG = 'Y' THEN
4706: pa_debug.G_err_stage := 'G_Assignment_Id = ' || G_Assignment_Id;
4707: log_message('log_message: ' || pa_debug.G_err_Stage);
4708: END IF;
4709:
4710: End If;
4711:
4711:
4712: Else
4713:
4714: IF PG_DEBUG = 'Y' THEN
4715: pa_debug.G_err_stage := 'Sys Link is not ST OT ER';
4716: log_message('log_message: ' || pa_debug.G_err_Stage);
4717: END IF;
4718:
4719: G_Assignment_Id := NULL;
4712: Else
4713:
4714: IF PG_DEBUG = 'Y' THEN
4715: pa_debug.G_err_stage := 'Sys Link is not ST OT ER';
4716: log_message('log_message: ' || pa_debug.G_err_Stage);
4717: END IF;
4718:
4719: G_Assignment_Id := NULL;
4720:
4725:
4726: If (P_Work_Type_Id is not null) Then
4727:
4728: IF PG_DEBUG = 'Y' THEN
4729: pa_debug.G_err_stage := 'P_Work_Type_Id is not null';
4730: log_message('log_message: ' || pa_debug.G_err_Stage);
4731: END IF;
4732:
4733: G_Work_Type_Id := P_Work_Type_Id;
4726: If (P_Work_Type_Id is not null) Then
4727:
4728: IF PG_DEBUG = 'Y' THEN
4729: pa_debug.G_err_stage := 'P_Work_Type_Id is not null';
4730: log_message('log_message: ' || pa_debug.G_err_Stage);
4731: END IF;
4732:
4733: G_Work_Type_Id := P_Work_Type_Id;
4734:
4732:
4733: G_Work_Type_Id := P_Work_Type_Id;
4734:
4735: IF PG_DEBUG = 'Y' THEN
4736: pa_debug.G_err_stage := 'G_Work_Type_Id = ' || G_Work_Type_Id;
4737: log_message('log_message: ' || pa_debug.G_err_Stage);
4738: END IF;
4739:
4740: Else
4733: G_Work_Type_Id := P_Work_Type_Id;
4734:
4735: IF PG_DEBUG = 'Y' THEN
4736: pa_debug.G_err_stage := 'G_Work_Type_Id = ' || G_Work_Type_Id;
4737: log_message('log_message: ' || pa_debug.G_err_Stage);
4738: END IF;
4739:
4740: Else
4741:
4739:
4740: Else
4741:
4742: IF PG_DEBUG = 'Y' THEN
4743: pa_debug.G_err_stage := 'P_Work_Type_Id is null';
4744: log_message('log_message: ' || pa_debug.G_err_Stage);
4745: END IF;
4746:
4747: G_Work_Type_Id := pa_utils4.get_work_type_id(
4740: Else
4741:
4742: IF PG_DEBUG = 'Y' THEN
4743: pa_debug.G_err_stage := 'P_Work_Type_Id is null';
4744: log_message('log_message: ' || pa_debug.G_err_Stage);
4745: END IF;
4746:
4747: G_Work_Type_Id := pa_utils4.get_work_type_id(
4748: p_project_id => G_Project_Id
4749: ,p_task_id => G_Task_Id
4750: ,p_assignment_id => nvl(G_Assignment_Id,0));
4751:
4752: IF PG_DEBUG = 'Y' THEN
4753: pa_debug.G_err_stage := 'G_Work_Type_Id = ' || G_Work_Type_Id;
4754: log_message('log_message: ' || pa_debug.G_err_Stage);
4755: END IF;
4756:
4757: If (G_Work_Type_Id is NULL and nvl(pa_utils4.is_exp_work_type_enabled,'N') = 'Y') Then
4750: ,p_assignment_id => nvl(G_Assignment_Id,0));
4751:
4752: IF PG_DEBUG = 'Y' THEN
4753: pa_debug.G_err_stage := 'G_Work_Type_Id = ' || G_Work_Type_Id;
4754: log_message('log_message: ' || pa_debug.G_err_Stage);
4755: END IF;
4756:
4757: If (G_Work_Type_Id is NULL and nvl(pa_utils4.is_exp_work_type_enabled,'N') = 'Y') Then
4758: /*** added and condition bug 3104004 */
4763:
4764: End If;
4765:
4766: IF PG_DEBUG = 'Y' THEN
4767: pa_debug.G_err_stage := 'Get Tp Amt Type';
4768: log_message('log_message: ' || pa_debug.G_err_Stage);
4769: END IF;
4770:
4771: G_Tp_Amt_Type_Code := pa_utils4.get_tp_amt_type_code(
4764: End If;
4765:
4766: IF PG_DEBUG = 'Y' THEN
4767: pa_debug.G_err_stage := 'Get Tp Amt Type';
4768: log_message('log_message: ' || pa_debug.G_err_Stage);
4769: END IF;
4770:
4771: G_Tp_Amt_Type_Code := pa_utils4.get_tp_amt_type_code(
4772: p_work_type_id => G_Work_Type_Id);
4771: G_Tp_Amt_Type_Code := pa_utils4.get_tp_amt_type_code(
4772: p_work_type_id => G_Work_Type_Id);
4773:
4774: IF PG_DEBUG = 'Y' THEN
4775: pa_debug.G_err_stage := 'G_Tp_Amt_Type_Code = ' || G_Tp_Amt_Type_Code;
4776: log_message('log_message: ' || pa_debug.G_err_Stage);
4777: END IF;
4778:
4779: /**End If;** commented bug 3104004 */ /*Bug# 2737538 wrapped tp_amt_type_code and work_type related calls if work type profile is enabled*/
4772: p_work_type_id => G_Work_Type_Id);
4773:
4774: IF PG_DEBUG = 'Y' THEN
4775: pa_debug.G_err_stage := 'G_Tp_Amt_Type_Code = ' || G_Tp_Amt_Type_Code;
4776: log_message('log_message: ' || pa_debug.G_err_Stage);
4777: END IF;
4778:
4779: /**End If;** commented bug 3104004 */ /*Bug# 2737538 wrapped tp_amt_type_code and work_type related calls if work type profile is enabled*/
4780:
4780:
4781: Else
4782:
4783: IF PG_DEBUG = 'Y' THEN
4784: pa_debug.G_err_stage := 'Calling API to derive/validate assignment and work type info';
4785: log_message('log_message: ' || pa_debug.G_err_Stage);
4786: log_message('log_message: ' || 'Assignment Name = ' || X_Assignment_Name || ' Work Type Name = ' || X_Work_Type_Name);
4787: END IF;
4788:
4781: Else
4782:
4783: IF PG_DEBUG = 'Y' THEN
4784: pa_debug.G_err_stage := 'Calling API to derive/validate assignment and work type info';
4785: log_message('log_message: ' || pa_debug.G_err_Stage);
4786: log_message('log_message: ' || 'Assignment Name = ' || X_Assignment_Name || ' Work Type Name = ' || X_Work_Type_Name);
4787: END IF;
4788:
4789: pa_utils4.get_work_assignment(
4812:
4813: IF (l_asgn_work_ret_sts <> FND_API.G_RET_STS_SUCCESS) THEN
4814:
4815: IF PG_DEBUG = 'Y' THEN
4816: pa_debug.G_err_stage := 'Get Work Type and Assignment API failed';
4817: log_message('log_message: ' || pa_debug.G_err_Stage);
4818: log_message('log_message: ' || 'Ret Sts = ' || l_asgn_work_ret_sts || ' Error = ' || l_asgn_work_err_msg);
4819: END IF;
4820:
4813: IF (l_asgn_work_ret_sts <> FND_API.G_RET_STS_SUCCESS) THEN
4814:
4815: IF PG_DEBUG = 'Y' THEN
4816: pa_debug.G_err_stage := 'Get Work Type and Assignment API failed';
4817: log_message('log_message: ' || pa_debug.G_err_Stage);
4818: log_message('log_message: ' || 'Ret Sts = ' || l_asgn_work_ret_sts || ' Error = ' || l_asgn_work_err_msg);
4819: END IF;
4820:
4821: X_Status := l_asgn_work_err_msg;
4868: THEN
4869:
4870:
4871: IF PG_DEBUG = 'Y' THEN
4872: pa_debug.G_err_stage := 'If any of the PO attributes are not null';
4873: log_message('log_message: ' || pa_debug.G_err_Stage);
4874: END IF;
4875:
4876: IF Pa_Pjc_CWk_Utils.Is_CWK_TC_Xface_Allowed(G_Project_Id) <> 'Y' THEN
4869:
4870:
4871: IF PG_DEBUG = 'Y' THEN
4872: pa_debug.G_err_stage := 'If any of the PO attributes are not null';
4873: log_message('log_message: ' || pa_debug.G_err_Stage);
4874: END IF;
4875:
4876: IF Pa_Pjc_CWk_Utils.Is_CWK_TC_Xface_Allowed(G_Project_Id) <> 'Y' THEN
4877: X_Status := 'PA_CWK_TC_NOT_ALLOWED';
4887: RETURN;
4888: END IF;
4889:
4890: IF PG_DEBUG = 'Y' THEN
4891: pa_debug.G_err_stage := 'Calling PO Validation api';
4892: log_message('log_message: ' || pa_debug.G_err_Stage);
4893: END IF;
4894:
4895: PO_PA_INTEGRATION_GRP.validate_temp_labor_po (
4888: END IF;
4889:
4890: IF PG_DEBUG = 'Y' THEN
4891: pa_debug.G_err_stage := 'Calling PO Validation api';
4892: log_message('log_message: ' || pa_debug.G_err_Stage);
4893: END IF;
4894:
4895: PO_PA_INTEGRATION_GRP.validate_temp_labor_po (
4896: P_Api_Version => 1.0,
4917: G_acct_rate_type := X_acct_rate_type; -- Bug: 3570261
4918:
4919:
4920: IF PG_DEBUG = 'Y' THEN
4921: pa_debug.G_err_stage := 'After PO_PA_INTEGRATION_GRP.validate_temp_labor_po ';
4922: log_message('log_message: ' || pa_debug.G_err_Stage);
4923: END IF;
4924:
4925: IF temp_status IS NOT NULL THEN
4918:
4919:
4920: IF PG_DEBUG = 'Y' THEN
4921: pa_debug.G_err_stage := 'After PO_PA_INTEGRATION_GRP.validate_temp_labor_po ';
4922: log_message('log_message: ' || pa_debug.G_err_Stage);
4923: END IF;
4924:
4925: IF temp_status IS NOT NULL THEN
4926: IF PG_DEBUG = 'Y' THEN
4923: END IF;
4924:
4925: IF temp_status IS NOT NULL THEN
4926: IF PG_DEBUG = 'Y' THEN
4927: pa_debug.G_err_stage := 'validate_temp_labor_po has failed';
4928: log_message('log_message: ' || pa_debug.G_err_Stage);
4929: END IF;
4930:
4931: X_status := temp_status;
4924:
4925: IF temp_status IS NOT NULL THEN
4926: IF PG_DEBUG = 'Y' THEN
4927: pa_debug.G_err_stage := 'validate_temp_labor_po has failed';
4928: log_message('log_message: ' || pa_debug.G_err_Stage);
4929: END IF;
4930:
4931: X_status := temp_status;
4932: pa_cc_utils.reset_curr_function;
5026: l_costed := 0;
5027: End If;
5028:
5029: IF PG_DEBUG = 'Y' THEN
5030: pa_debug.G_err_stage := 'Get the Processed Amount for Line ID : '||P_Po_Line_Id || ' and Task ID '||G_task_id;
5031: log_message('log_message: ' || pa_debug.G_err_stage,1);
5032: END IF;
5033:
5034: po_processed_amt_chk(P_Po_Line_Id => P_Po_Line_Id
5027: End If;
5028:
5029: IF PG_DEBUG = 'Y' THEN
5030: pa_debug.G_err_stage := 'Get the Processed Amount for Line ID : '||P_Po_Line_Id || ' and Task ID '||G_task_id;
5031: log_message('log_message: ' || pa_debug.G_err_stage,1);
5032: END IF;
5033:
5034: po_processed_amt_chk(P_Po_Line_Id => P_Po_Line_Id
5035: ,P_Task_Id => G_task_id
5038: ,X_status => temp_status);
5039:
5040: IF temp_status IS NOT NULL THEN
5041: IF PG_DEBUG = 'Y' THEN
5042: pa_debug.G_err_stage := 'po_processed_amt_chk unable to get a lock';
5043: log_message('log_message: ' || pa_debug.G_err_Stage);
5044: END IF;
5045: X_status := temp_status;
5046: pa_cc_utils.reset_curr_function;
5039:
5040: IF temp_status IS NOT NULL THEN
5041: IF PG_DEBUG = 'Y' THEN
5042: pa_debug.G_err_stage := 'po_processed_amt_chk unable to get a lock';
5043: log_message('log_message: ' || pa_debug.G_err_Stage);
5044: END IF;
5045: X_status := temp_status;
5046: pa_cc_utils.reset_curr_function;
5047: RETURN;
5096: --
5097: -- DFF Upgrade:
5098: -- Calls pa_transactions_pub.validate_dff
5099: IF PG_DEBUG = 'Y' THEN
5100: pa_debug.G_err_stage := 'Calling pa_transactions_pub.validate_dff';
5101: log_message('log_message: ' || pa_debug.G_err_Stage);
5102: END IF;
5103:
5104: pa_transactions_pub.validate_dff(
5097: -- DFF Upgrade:
5098: -- Calls pa_transactions_pub.validate_dff
5099: IF PG_DEBUG = 'Y' THEN
5100: pa_debug.G_err_stage := 'Calling pa_transactions_pub.validate_dff';
5101: log_message('log_message: ' || pa_debug.G_err_Stage);
5102: END IF;
5103:
5104: pa_transactions_pub.validate_dff(
5105: p_dff_name => 'PA_EXPENDITURE_ITEMS_DESC_FLEX',
5136: RETURN;
5137: END IF;
5138:
5139: IF PG_DEBUG = 'Y' THEN
5140: pa_debug.G_err_stage := 'Calling pa_transactions_pub.validate_transaction';
5141: log_message('log_message: ' || pa_debug.G_err_Stage);
5142: END IF;
5143:
5144: If PA_TRX_IMPORT.Get_GVal_ProjTskEi_Date = 'Y' then -- Added for BUG6931833
5137: END IF;
5138:
5139: IF PG_DEBUG = 'Y' THEN
5140: pa_debug.G_err_stage := 'Calling pa_transactions_pub.validate_transaction';
5141: log_message('log_message: ' || pa_debug.G_err_Stage);
5142: END IF;
5143:
5144: If PA_TRX_IMPORT.Get_GVal_ProjTskEi_Date = 'Y' then -- Added for BUG6931833
5145:
5210:
5211: END IF;
5212:
5213: IF PG_DEBUG = 'Y' THEN
5214: pa_debug.G_err_stage := 'After pa_transactions_pub.validate_transaction';
5215: log_message('log_message: ' || pa_debug.G_err_Stage);
5216: END IF;
5217:
5218: -- IF G_skip_tc_flag <> 'Y' THEN /* commented for Bug # 2108456 */
5211: END IF;
5212:
5213: IF PG_DEBUG = 'Y' THEN
5214: pa_debug.G_err_stage := 'After pa_transactions_pub.validate_transaction';
5215: log_message('log_message: ' || pa_debug.G_err_Stage);
5216: END IF;
5217:
5218: -- IF G_skip_tc_flag <> 'Y' THEN /* commented for Bug # 2108456 */
5219:
5219:
5220: IF ( temp_msg_type = 'E' AND temp_status IS NOT NULL ) THEN
5221:
5222: IF PG_DEBUG = 'Y' THEN
5223: pa_debug.G_err_stage := 'Validate_transaction has failed' ;
5224: log_message('log_message: ' || pa_debug.G_err_Stage);
5225: END IF;
5226:
5227: X_status := temp_status;
5220: IF ( temp_msg_type = 'E' AND temp_status IS NOT NULL ) THEN
5221:
5222: IF PG_DEBUG = 'Y' THEN
5223: pa_debug.G_err_stage := 'Validate_transaction has failed' ;
5224: log_message('log_message: ' || pa_debug.G_err_Stage);
5225: END IF;
5226:
5227: X_status := temp_status;
5228:
5255: -- REL12 AP Lines Uptake
5256: NVL(p_fc_document_type, 'NOT' ) <> 'NOT' THEN
5257:
5258: IF PG_DEBUG = 'Y' THEN
5259: pa_debug.G_err_stage := 'Before calling tr_import_funds_check';
5260: log_message('log_message: ' || pa_debug.G_err_Stage);
5261: END IF;
5262:
5263: --Bug 2905892
5256: NVL(p_fc_document_type, 'NOT' ) <> 'NOT' THEN
5257:
5258: IF PG_DEBUG = 'Y' THEN
5259: pa_debug.G_err_stage := 'Before calling tr_import_funds_check';
5260: log_message('log_message: ' || pa_debug.G_err_Stage);
5261: END IF;
5262:
5263: --Bug 2905892
5264: --Assign txn gl_Date for insert of the reversing and EXP lines into pa_bc_packets
5277:
5278: IF l_fc_return_status <> FND_API.G_RET_STS_SUCCESS then
5279:
5280: IF PG_DEBUG = 'Y' THEN
5281: pa_debug.G_err_stage := 'Call to tr_import_funds_check did not succeed';
5282: log_message('log_message: ' || pa_debug.G_err_Stage);
5283: END IF;
5284:
5285: x_status := l_fc_error_msg ;
5278: IF l_fc_return_status <> FND_API.G_RET_STS_SUCCESS then
5279:
5280: IF PG_DEBUG = 'Y' THEN
5281: pa_debug.G_err_stage := 'Call to tr_import_funds_check did not succeed';
5282: log_message('log_message: ' || pa_debug.G_err_Stage);
5283: END IF;
5284:
5285: x_status := l_fc_error_msg ;
5286: pa_cc_utils.reset_curr_function;
5287: return;
5288: END IF;
5289:
5290: IF PG_DEBUG = 'Y' THEN
5291: pa_debug.G_err_stage := 'Call to internal funds check packet insert success';
5292: log_message('log_message: ' || pa_debug.G_err_Stage);
5293: END IF;
5294:
5295: IF Pa_Funds_Control_Pkg.pa_funds_check(p_calling_module => 'TRXIMPORT',
5288: END IF;
5289:
5290: IF PG_DEBUG = 'Y' THEN
5291: pa_debug.G_err_stage := 'Call to internal funds check packet insert success';
5292: log_message('log_message: ' || pa_debug.G_err_Stage);
5293: END IF;
5294:
5295: IF Pa_Funds_Control_Pkg.pa_funds_check(p_calling_module => 'TRXIMPORT',
5296: p_conc_flag => 'Y',
5304:
5305: IF l_fc_return_status <> FND_API.G_RET_STS_SUCCESS then
5306:
5307: IF PG_DEBUG = 'Y' THEN
5308: pa_debug.G_err_stage := 'Call to funds check not success';
5309: log_message('log_message: ' || pa_debug.G_err_Stage);
5310: END IF;
5311:
5312: --x_status := l_fc_return_status ;
5305: IF l_fc_return_status <> FND_API.G_RET_STS_SUCCESS then
5306:
5307: IF PG_DEBUG = 'Y' THEN
5308: pa_debug.G_err_stage := 'Call to funds check not success';
5309: log_message('log_message: ' || pa_debug.G_err_Stage);
5310: END IF;
5311:
5312: --x_status := l_fc_return_status ;
5313: x_status := 'PA_FC_ERROR' ;
5315: return;
5316: END IF;
5317:
5318: IF PG_DEBUG = 'Y' THEN
5319: pa_debug.G_err_stage := 'Check if there are any failed records';
5320: END IF;
5321: log_message('log_message: ' || pa_debug.G_err_Stage);
5322:
5323: Open c_check_fail(l_packet_id);
5317:
5318: IF PG_DEBUG = 'Y' THEN
5319: pa_debug.G_err_stage := 'Check if there are any failed records';
5320: END IF;
5321: log_message('log_message: ' || pa_debug.G_err_Stage);
5322:
5323: Open c_check_fail(l_packet_id);
5324: Fetch c_check_fail
5325: into l_dummy ;
5326:
5327: close c_check_fail ;
5328:
5329: IF PG_DEBUG = 'Y' THEN
5330: pa_debug.G_err_stage := 'After select to check for funds check failed records';
5331: log_message('log_message: ' || pa_debug.G_err_Stage);
5332: END IF;
5333: IF l_dummy = 'X' Then
5334:
5327: close c_check_fail ;
5328:
5329: IF PG_DEBUG = 'Y' THEN
5330: pa_debug.G_err_stage := 'After select to check for funds check failed records';
5331: log_message('log_message: ' || pa_debug.G_err_Stage);
5332: END IF;
5333: IF l_dummy = 'X' Then
5334:
5335: IF PG_DEBUG = 'Y' THEN
5332: END IF;
5333: IF l_dummy = 'X' Then
5334:
5335: IF PG_DEBUG = 'Y' THEN
5336: pa_debug.G_err_stage := 'This transaction failed funds check';
5337: log_message('log_message: ' || pa_debug.G_err_Stage);
5338: END IF;
5339:
5340: x_status := 'PA_FC_ERROR' ;
5333: IF l_dummy = 'X' Then
5334:
5335: IF PG_DEBUG = 'Y' THEN
5336: pa_debug.G_err_stage := 'This transaction failed funds check';
5337: log_message('log_message: ' || pa_debug.G_err_Stage);
5338: END IF;
5339:
5340: x_status := 'PA_FC_ERROR' ;
5341:
5342: pa_cc_utils.reset_curr_function;
5343: return;
5344: ELSE
5345: IF PG_DEBUG = 'Y' THEN
5346: pa_debug.G_err_stage := 'This transaction passed funds check';
5347: log_message('log_message: ' || pa_debug.G_err_Stage);
5348: END IF;
5349:
5350: NULL;
5343: return;
5344: ELSE
5345: IF PG_DEBUG = 'Y' THEN
5346: pa_debug.G_err_stage := 'This transaction passed funds check';
5347: log_message('log_message: ' || pa_debug.G_err_Stage);
5348: END IF;
5349:
5350: NULL;
5351:
5352: END IF;
5353: ELSE
5354:
5355: IF PG_DEBUG = 'Y' THEN
5356: pa_debug.G_err_stage := 'Error during funds check';
5357: log_message('log_message: ' || pa_debug.G_err_Stage);
5358: END IF;
5359:
5360: x_status := 'PA_FC_UNEXP_ERROR' ;
5353: ELSE
5354:
5355: IF PG_DEBUG = 'Y' THEN
5356: pa_debug.G_err_stage := 'Error during funds check';
5357: log_message('log_message: ' || pa_debug.G_err_Stage);
5358: END IF;
5359:
5360: x_status := 'PA_FC_UNEXP_ERROR' ;
5361: pa_cc_utils.reset_curr_function;
5361: pa_cc_utils.reset_curr_function;
5362: return;
5363: END IF;
5364: IF PG_DEBUG = 'Y' THEN
5365: pa_debug.G_err_stage := 'Done with funds check';
5366: log_message('log_message: ' || pa_debug.G_err_Stage);
5367: END IF;
5368: END IF; --- }
5369:
5362: return;
5363: END IF;
5364: IF PG_DEBUG = 'Y' THEN
5365: pa_debug.G_err_stage := 'Done with funds check';
5366: log_message('log_message: ' || pa_debug.G_err_Stage);
5367: END IF;
5368: END IF; --- }
5369:
5370: /* X_bill_flag := temp_bill_flag; commented for bug 6509828*/
5374: --Since p_assignment_id in PATC cannot be changed to IN/OUT, we are using the
5375: --the global variable set in PATC.
5376: --Thus assign PATC.global variable to G_Assignment_Id here for sys links ER,ST,OT.
5377: if (x_system_linkage in ('ST', 'OT', 'ER')) then
5378: pa_debug.G_err_stage := 'Override Assignment Id';
5379: G_Assignment_Id := PATC.G_OVERIDE_ASSIGNMENT_ID;
5380:
5381: /* Start of bug 2648550 */
5382: G_Work_Type_Id := PATC.G_OVERIDE_WORK_TYPE_ID;
5390: END IF;
5391: end if;
5392:
5393: IF PG_DEBUG = 'Y' THEN
5394: pa_debug.G_err_stage := 'Done with Validate Item';
5395: log_message('log_message: ' || pa_debug.G_err_Stage);
5396: END IF;
5397: pa_cc_utils.reset_curr_function; /* bug 2181553 */
5398:
5391: end if;
5392:
5393: IF PG_DEBUG = 'Y' THEN
5394: pa_debug.G_err_stage := 'Done with Validate Item';
5395: log_message('log_message: ' || pa_debug.G_err_Stage);
5396: END IF;
5397: pa_cc_utils.reset_curr_function; /* bug 2181553 */
5398:
5399: -- S.N. CWK changes -> hkulkarn ---> If called from form, release the locks.
5408: EXCEPTION
5409: WHEN OTHERS THEN
5410: IF PG_DEBUG = 'Y' THEN
5411: log_message('log_message: ' || 'In OTHERS of ValidateItem');
5412: log_message('log_message: ' || pa_debug.G_err_Stack,1);
5413: log_message('log_message: ' || SQLERRM,1);
5414: log_message('log_message: ' || pa_debug.G_err_stage,1);
5415: END IF;
5416:
5410: IF PG_DEBUG = 'Y' THEN
5411: log_message('log_message: ' || 'In OTHERS of ValidateItem');
5412: log_message('log_message: ' || pa_debug.G_err_Stack,1);
5413: log_message('log_message: ' || SQLERRM,1);
5414: log_message('log_message: ' || pa_debug.G_err_stage,1);
5415: END IF;
5416:
5417: release_po_line_task_lock; -- bug 3512984
5418:
5456: pa_cc_utils.reset_curr_function;
5457: EXCEPTION
5458: WHEN OTHERS THEN
5459: IF PG_DEBUG = 'Y' THEN
5460: log_message('log_message: ' || pa_debug.G_err_Stack,1);
5461: log_message('log_message: ' || pa_debug.G_err_Stage,1);
5462: log_message('log_message: ' || SQLERRM,1);
5463: END IF;
5464: RAISE ;
5457: EXCEPTION
5458: WHEN OTHERS THEN
5459: IF PG_DEBUG = 'Y' THEN
5460: log_message('log_message: ' || pa_debug.G_err_Stack,1);
5461: log_message('log_message: ' || pa_debug.G_err_Stage,1);
5462: log_message('log_message: ' || SQLERRM,1);
5463: END IF;
5464: RAISE ;
5465:
6508:
6509: IF X_transaction_source NOT IN ('PTE TIME', 'PTE EXPENSE') THEN
6510:
6511: IF PG_DEBUG = 'Y' THEN
6512: pa_debug.G_err_Stage := 'Calling pa_transactions.InsertExpGroupNew';
6513: log_message('log_message: ' || pa_debug.G_err_Stage);
6514: log_message('log_message: ' || 'Group Name = ' || group_name || ' Sys Link = ' || current_system_linkage);
6515: END IF;
6516:
6509: IF X_transaction_source NOT IN ('PTE TIME', 'PTE EXPENSE') THEN
6510:
6511: IF PG_DEBUG = 'Y' THEN
6512: pa_debug.G_err_Stage := 'Calling pa_transactions.InsertExpGroupNew';
6513: log_message('log_message: ' || pa_debug.G_err_Stage);
6514: log_message('log_message: ' || 'Group Name = ' || group_name || ' Sys Link = ' || current_system_linkage);
6515: END IF;
6516:
6517: IF (group_name <> nvl(G_group_name,'X')) THEN
6542: -- for the expenditure.
6543: IF ( X_transaction_source = 'Oracle Self Service Time' ) THEN
6544:
6545: IF PG_DEBUG = 'Y' THEN
6546: pa_debug.G_err_Stage := 'Updating exp for SST';
6547: log_message('log_message: ' || pa_debug.G_err_Stage);
6548: END IF;
6549:
6550: UPDATE pa_expenditures
6543: IF ( X_transaction_source = 'Oracle Self Service Time' ) THEN
6544:
6545: IF PG_DEBUG = 'Y' THEN
6546: pa_debug.G_err_Stage := 'Updating exp for SST';
6547: log_message('log_message: ' || pa_debug.G_err_Stage);
6548: END IF;
6549:
6550: UPDATE pa_expenditures
6551: SET expenditure_group = group_name
6552: WHERE expenditure_id = G_expenditure_id;
6553:
6554: ELSE
6555: IF PG_DEBUG = 'Y' THEN
6556: pa_debug.G_err_Stage := 'Calling pa_transactions.InsertExp';
6557: log_message('log_message: ' || pa_debug.G_err_Stage);
6558: END IF;
6559: -- Trx_import enhancement
6560: -- Bug 2048868 : Added 5 parameters to pass currency attributes to
6553:
6554: ELSE
6555: IF PG_DEBUG = 'Y' THEN
6556: pa_debug.G_err_Stage := 'Calling pa_transactions.InsertExp';
6557: log_message('log_message: ' || pa_debug.G_err_Stage);
6558: END IF;
6559: -- Trx_import enhancement
6560: -- Bug 2048868 : Added 5 parameters to pass currency attributes to
6561: -- pa_transactions.insertexp
6632:
6633: END IF;
6634:
6635: IF PG_DEBUG = 'Y' THEN
6636: pa_debug.G_err_Stage := 'Calling pa_transactions.InsItems';
6637: log_message('log_message: ' || pa_debug.G_err_Stage);
6638: END IF;
6639:
6640: select decode(G_gl_accted_flag,'N','N',decode(G_gl_posted_flag,'Y','Y','P')) into l_gl_accted_flag from dual;
6633: END IF;
6634:
6635: IF PG_DEBUG = 'Y' THEN
6636: pa_debug.G_err_Stage := 'Calling pa_transactions.InsItems';
6637: log_message('log_message: ' || pa_debug.G_err_Stage);
6638: END IF;
6639:
6640: select decode(G_gl_accted_flag,'N','N',decode(G_gl_posted_flag,'Y','Y','P')) into l_gl_accted_flag from dual;
6641:
6675:
6676: IF ( temp_status < 0 ) THEN
6677: error_msg := SQLERRM( temp_status);
6678: IF PG_DEBUG = 'Y' THEN
6679: log_message('log_message: ' || pa_debug.G_err_Stack,1);
6680: log_message('log_message: ' || error_msg,1);
6681: log_message('log_message: ' || pa_debug.G_err_Stage,1);
6682: END IF;
6683: raise_application_error( -20000, error_msg ) ;
6677: error_msg := SQLERRM( temp_status);
6678: IF PG_DEBUG = 'Y' THEN
6679: log_message('log_message: ' || pa_debug.G_err_Stack,1);
6680: log_message('log_message: ' || error_msg,1);
6681: log_message('log_message: ' || pa_debug.G_err_Stage,1);
6682: END IF;
6683: raise_application_error( -20000, error_msg ) ;
6684: END IF;
6685: END IF; --> l_gms_enabled = 'Y'
6684: END IF;
6685: END IF; --> l_gms_enabled = 'Y'
6686:
6687: IF PG_DEBUG = 'Y' THEN
6688: pa_debug.G_err_stage := 'Updating txn interface status to I';
6689: log_message('log_message: ' || pa_debug.G_err_Stage);
6690: END IF;
6691:
6692: -- BUG:4748305 DFHC.D4:PRC INTERFACE SUPPLIER COST NOT INTERFACING
6685: END IF; --> l_gms_enabled = 'Y'
6686:
6687: IF PG_DEBUG = 'Y' THEN
6688: pa_debug.G_err_stage := 'Updating txn interface status to I';
6689: log_message('log_message: ' || pa_debug.G_err_Stage);
6690: END IF;
6691:
6692: -- BUG:4748305 DFHC.D4:PRC INTERFACE SUPPLIER COST NOT INTERFACING
6693: -- VALID INVOICE DISTRIBUTIONS
6712: AND batch_name = P_batch_name
6713: AND transaction_rejection_code is NULL; -- Bug 3613784 : Performance fix
6714:
6715: IF PG_DEBUG = 'Y' THEN
6716: pa_debug.G_err_stage := 'Updated ' || SQL%ROWCOUNT || ' txn interface for accepted expenditures';
6717: log_message('log_message: ' || pa_debug.G_err_Stage);
6718: END IF;
6719:
6720: ELSE --IF ( NOT REJECT_EXP ) THEN
6713: AND transaction_rejection_code is NULL; -- Bug 3613784 : Performance fix
6714:
6715: IF PG_DEBUG = 'Y' THEN
6716: pa_debug.G_err_stage := 'Updated ' || SQL%ROWCOUNT || ' txn interface for accepted expenditures';
6717: log_message('log_message: ' || pa_debug.G_err_Stage);
6718: END IF;
6719:
6720: ELSE --IF ( NOT REJECT_EXP ) THEN
6721:
6719:
6720: ELSE --IF ( NOT REJECT_EXP ) THEN
6721:
6722: IF PG_DEBUG = 'Y' THEN
6723: pa_debug.G_err_stage := 'Updating txn interface for rejected expenditures';
6724: log_message('log_message: ' || pa_debug.G_err_Stage);
6725: END IF;
6726: UPDATE pa_transaction_interface
6727: SET
6720: ELSE --IF ( NOT REJECT_EXP ) THEN
6721:
6722: IF PG_DEBUG = 'Y' THEN
6723: pa_debug.G_err_stage := 'Updating txn interface for rejected expenditures';
6724: log_message('log_message: ' || pa_debug.G_err_Stage);
6725: END IF;
6726: UPDATE pa_transaction_interface
6727: SET
6728: transaction_status_code = 'R' ,
6741: expenditure_id = G_expenditure_id
6742: AND batch_name = P_batch_name ; -- Bug 3613784 : Performance fix
6743:
6744: IF PG_DEBUG = 'Y' THEN
6745: pa_debug.G_err_stage := 'Updated ' || SQL%ROWCOUNT || ' txn interface for rejected expenditures';
6746: log_message('log_message: ' || pa_debug.G_err_Stage);
6747: END IF;
6748: END IF;
6749:
6742: AND batch_name = P_batch_name ; -- Bug 3613784 : Performance fix
6743:
6744: IF PG_DEBUG = 'Y' THEN
6745: pa_debug.G_err_stage := 'Updated ' || SQL%ROWCOUNT || ' txn interface for rejected expenditures';
6746: log_message('log_message: ' || pa_debug.G_err_Stage);
6747: END IF;
6748: END IF;
6749:
6750: IF PG_DEBUG = 'Y' THEN
6747: END IF;
6748: END IF;
6749:
6750: IF PG_DEBUG = 'Y' THEN
6751: pa_debug.G_err_stage := 'Calling pa_transactions.FlushEiTabs';
6752: log_message('log_message: ' || pa_debug.G_err_Stage);
6753: END IF;
6754: pa_transactions.FlushEiTabs;
6755:
6748: END IF;
6749:
6750: IF PG_DEBUG = 'Y' THEN
6751: pa_debug.G_err_stage := 'Calling pa_transactions.FlushEiTabs';
6752: log_message('log_message: ' || pa_debug.G_err_Stage);
6753: END IF;
6754: pa_transactions.FlushEiTabs;
6755:
6756: -- Bug 752915, added the following to flush the adjustments ei pl/sql table
7067: -- written out for the Interface programs from AP.
7068: -- The following two lines should take care of this problem.
7069:
7070: If G_debug_mode is NULL Then
7071: fnd_profile.get('PA_DEBUG_MODE',G_debug_mode);
7072: G_debug_mode := NVL(G_debug_mode, 'N');
7073:
7074: pa_debug.set_process(x_process => 'PLSQL',
7075: x_debug_mode => G_debug_mode);
7070: If G_debug_mode is NULL Then
7071: fnd_profile.get('PA_DEBUG_MODE',G_debug_mode);
7072: G_debug_mode := NVL(G_debug_mode, 'N');
7073:
7074: pa_debug.set_process(x_process => 'PLSQL',
7075: x_debug_mode => G_debug_mode);
7076: End If;
7077:
7078: pa_cc_utils.log_message('Debug Mode = '||G_debug_mode,1);
7094: END IF;
7095:
7096: IF (G_trx_link is null) Then
7097: IF PG_DEBUG = 'Y' THEN
7098: pa_debug.G_err_Stage := 'Retriving Transaction_source';
7099: log_message('log_message: ' || pa_debug.G_err_Stage);
7100: END IF;
7101: GetTrxSrcInfo( X_transaction_source );
7102: End If;
7095:
7096: IF (G_trx_link is null) Then
7097: IF PG_DEBUG = 'Y' THEN
7098: pa_debug.G_err_Stage := 'Retriving Transaction_source';
7099: log_message('log_message: ' || pa_debug.G_err_Stage);
7100: END IF;
7101: GetTrxSrcInfo( X_transaction_source );
7102: End If;
7103:
7106: log_message('log_message: ' || 'Initial l_Batch_Size = ' || l_Batch_Size);
7107: END IF;
7108:
7109: IF PG_DEBUG = 'Y' THEN
7110: pa_debug.G_err_stage := 'Retriving Currency Info from Imp options';
7111: log_message('log_message: ' || pa_debug.G_err_stage);
7112: END IF;
7113:
7114: IF (G_accounting_currency_code IS NULL) THEN
7107: END IF;
7108:
7109: IF PG_DEBUG = 'Y' THEN
7110: pa_debug.G_err_stage := 'Retriving Currency Info from Imp options';
7111: log_message('log_message: ' || pa_debug.G_err_stage);
7112: END IF;
7113:
7114: IF (G_accounting_currency_code IS NULL) THEN
7115: GetImpCurrInfo;
7139: IF PG_DEBUG = 'Y' THEN
7140: log_message('log_message: ' || 'Module:'||v_calling_module);
7141: END IF;
7142: IF PG_DEBUG = 'Y' THEN
7143: pa_debug.G_err_stage := 'Open and Fetch transaction batches';
7144: log_message('log_message: ' || pa_debug.G_err_stage);
7145: END IF;
7146:
7147: /* Check if gms is enabled and keep the status in a variable */
7140: log_message('log_message: ' || 'Module:'||v_calling_module);
7141: END IF;
7142: IF PG_DEBUG = 'Y' THEN
7143: pa_debug.G_err_stage := 'Open and Fetch transaction batches';
7144: log_message('log_message: ' || pa_debug.G_err_stage);
7145: END IF;
7146:
7147: /* Check if gms is enabled and keep the status in a variable */
7148:
7147: /* Check if gms is enabled and keep the status in a variable */
7148:
7149: l_gms_enabled := gms_pa_costing_pkg.grants_implemented;
7150:
7151: /* if NVL(fnd_profile.value('PA_DEBUG_MODE'), 'N') = 'Y' then --FSIO Change
7152: G_FSIO_ENABLED := 'Y';
7153: else
7154: G_FSIO_ENABLED := 'N';
7155: end if; */
7161: <
7162: Loop ---{
7163:
7164: IF PG_DEBUG = 'Y' THEN
7165: pa_debug.G_err_Stage := 'Start TrxBatches loop';
7166: log_message('log_message: ' || pa_debug.G_err_stage);
7167: END IF;
7168:
7169: Fetch TrxBatches INTO TrxBatch;
7162: Loop ---{
7163:
7164: IF PG_DEBUG = 'Y' THEN
7165: pa_debug.G_err_Stage := 'Start TrxBatches loop';
7166: log_message('log_message: ' || pa_debug.G_err_stage);
7167: END IF;
7168:
7169: Fetch TrxBatches INTO TrxBatch;
7170:
7169: Fetch TrxBatches INTO TrxBatch;
7170:
7171: If TrxBatches%ROWCOUNT = 0 and G_Exit_Main is null Then
7172: IF PG_DEBUG = 'Y' THEN
7173: log_message('log_message: ' || pa_debug.G_err_stage,1);
7174: END IF;
7175: G_Exit_Main := TRUE;
7176: Exit batches;
7177: Elsif TrxBatches%NOTFOUND Then
7175: G_Exit_Main := TRUE;
7176: Exit batches;
7177: Elsif TrxBatches%NOTFOUND Then
7178: IF PG_DEBUG = 'Y' THEN
7179: pa_debug.G_err_Stage := 'TrxBatches notfound, exit trxbatches';
7180: log_message('log_message: ' || pa_debug.G_err_stage,1);
7181: END IF;
7182: G_Exit_Main := TRUE; --Bug 7307479
7183: Exit batches;
7176: Exit batches;
7177: Elsif TrxBatches%NOTFOUND Then
7178: IF PG_DEBUG = 'Y' THEN
7179: pa_debug.G_err_Stage := 'TrxBatches notfound, exit trxbatches';
7180: log_message('log_message: ' || pa_debug.G_err_stage,1);
7181: END IF;
7182: G_Exit_Main := TRUE; --Bug 7307479
7183: Exit batches;
7184: End If;
7200:
7201: End If;
7202:
7203: IF PG_DEBUG = 'Y' THEN
7204: pa_debug.G_err_Stage := 'Locking xface ctrl record';
7205: log_message('log_message: ' || pa_debug.G_err_stage||
7206: 'Transaction source = '||TrxBatch.transaction_source
7207: ||' batch= '||TrxBatch.batch_name||' sys link= '||
7208: TrxBatch.system_linkage_function);
7201: End If;
7202:
7203: IF PG_DEBUG = 'Y' THEN
7204: pa_debug.G_err_Stage := 'Locking xface ctrl record';
7205: log_message('log_message: ' || pa_debug.G_err_stage||
7206: 'Transaction source = '||TrxBatch.transaction_source
7207: ||' batch= '||TrxBatch.batch_name||' sys link= '||
7208: TrxBatch.system_linkage_function);
7209: END IF;
7220:
7221: IF (l_CommitSizeRecCount <> l_Batch_Size) THEN ---{
7222:
7223: IF PG_DEBUG = 'Y' THEN
7224: pa_debug.G_err_Stage := 'Open cursor trxrecs';
7225: log_message('log_message: ' || pa_debug.G_err_Stage);
7226: log_message('log_message: ' || 'source = '||TrxBatch.transaction_source ||
7227: ' , batch = ' || TrxBatch.batch_name ||
7228: ' sys link = ' || TrxBatch.system_linkage_function);
7221: IF (l_CommitSizeRecCount <> l_Batch_Size) THEN ---{
7222:
7223: IF PG_DEBUG = 'Y' THEN
7224: pa_debug.G_err_Stage := 'Open cursor trxrecs';
7225: log_message('log_message: ' || pa_debug.G_err_Stage);
7226: log_message('log_message: ' || 'source = '||TrxBatch.transaction_source ||
7227: ' , batch = ' || TrxBatch.batch_name ||
7228: ' sys link = ' || TrxBatch.system_linkage_function);
7229: END IF;
7502: End If; --} /* TrxBatch.system_linkage_function = 'ST' */
7503:
7504:
7505: IF PG_DEBUG = 'Y' THEN
7506: pa_debug.g_err_stage := 'Log: No. of records fetched = '||l_TxnIfIDTab.count;
7507: log_message('log_message: ' || pa_debug.G_err_stage);
7508: END IF;
7509: l_ActualBatchRecCnt := l_TxnIfIDTab.count;
7510:
7503:
7504:
7505: IF PG_DEBUG = 'Y' THEN
7506: pa_debug.g_err_stage := 'Log: No. of records fetched = '||l_TxnIfIDTab.count;
7507: log_message('log_message: ' || pa_debug.G_err_stage);
7508: END IF;
7509: l_ActualBatchRecCnt := l_TxnIfIDTab.count;
7510:
7511:
7674:
7675: If (nvl(G_emp_org_oride,'N') = 'N' and l_PersonIdTab(j) is not NULL) Then /* bug#2719674 added nvl */
7676:
7677: IF PG_DEBUG = 'Y' THEN
7678: pa_debug.G_err_stage := 'Calling pa_utils.GetEmpOrgJobId';
7679: log_message('log_message: ' || pa_debug.G_err_Stage);
7680: END IF;
7681: pa_utils.GetEmpOrgJobId( l_PersonIdTab(j),
7682: l_EiDateTab(j),
7675: If (nvl(G_emp_org_oride,'N') = 'N' and l_PersonIdTab(j) is not NULL) Then /* bug#2719674 added nvl */
7676:
7677: IF PG_DEBUG = 'Y' THEN
7678: pa_debug.G_err_stage := 'Calling pa_utils.GetEmpOrgJobId';
7679: log_message('log_message: ' || pa_debug.G_err_Stage);
7680: END IF;
7681: pa_utils.GetEmpOrgJobId( l_PersonIdTab(j),
7682: l_EiDateTab(j),
7683: l_EmpOrgIdTab(j),
7697: /* Bug 6857130 End */
7698:
7699:
7700: IF PG_DEBUG = 'Y' THEN
7701: pa_debug.G_err_stage := 'l_EmpOrgIdTab = ' || l_EmpOrgIdTab(j) ||
7702: ' l_EmpJobIdTab = ' || l_EmpJobIdTab(j) ;
7703: log_message('log_message: ' || pa_debug.G_err_Stage);
7704: END IF;
7705:
7699:
7700: IF PG_DEBUG = 'Y' THEN
7701: pa_debug.G_err_stage := 'l_EmpOrgIdTab = ' || l_EmpOrgIdTab(j) ||
7702: ' l_EmpJobIdTab = ' || l_EmpJobIdTab(j) ;
7703: log_message('log_message: ' || pa_debug.G_err_Stage);
7704: END IF;
7705:
7706: Else
7707: l_EmpOrgIdTab(j) := NULL;
7748: From Dual;
7749:
7750: IF ( FIRST_RECORD ) THEN
7751: IF PG_DEBUG = 'Y' THEN
7752: pa_debug.G_err_stage := 'Calling loadExpCompareVars';
7753: log_message('log_message: ' || 'First Record Fetched');
7754: log_message('log_message: ' || pa_debug.G_err_stage);
7755: END IF;
7756:
7750: IF ( FIRST_RECORD ) THEN
7751: IF PG_DEBUG = 'Y' THEN
7752: pa_debug.G_err_stage := 'Calling loadExpCompareVars';
7753: log_message('log_message: ' || 'First Record Fetched');
7754: log_message('log_message: ' || pa_debug.G_err_stage);
7755: END IF;
7756:
7757: loadExpCompareVars( l_Expend1
7758: , l_Expend2
7772: (x_transaction_source = 'ORACLE TIME AND LABOR' and --Bug#4049401
7773: l_EmpOrgIdTab(j) <> G_org_id) THEN
7774:
7775: IF PG_DEBUG = 'Y' THEN
7776: pa_debug.G_err_stage := 'Calling newExpend when expenditure changes';
7777: log_message('log_message: ' || pa_debug.G_err_stage);
7778: log_message('log_message: ' || 'Record Count = ' || i);
7779: END IF;
7780:
7773: l_EmpOrgIdTab(j) <> G_org_id) THEN
7774:
7775: IF PG_DEBUG = 'Y' THEN
7776: pa_debug.G_err_stage := 'Calling newExpend when expenditure changes';
7777: log_message('log_message: ' || pa_debug.G_err_stage);
7778: log_message('log_message: ' || 'Record Count = ' || i);
7779: END IF;
7780:
7781: newExpend( TrxBatch.exp_group_name
7789: , prev_person_type /* cwk */
7790: , TrxBatch.batch_name ); -- Bug 3613784 : Performance fix
7791:
7792: IF PG_DEBUG = 'Y' THEN
7793: pa_debug.G_err_stage := 'CAlling loadExpCompareVars';
7794: log_message('log_message: ' || pa_debug.G_err_stage);
7795: END IF;
7796:
7797: loadExpCompareVars( l_Expend1
7790: , TrxBatch.batch_name ); -- Bug 3613784 : Performance fix
7791:
7792: IF PG_DEBUG = 'Y' THEN
7793: pa_debug.G_err_stage := 'CAlling loadExpCompareVars';
7794: log_message('log_message: ' || pa_debug.G_err_stage);
7795: END IF;
7796:
7797: loadExpCompareVars( l_Expend1
7798: , l_Expend2
7803: , l_OrigExpTxnRef3Tab(j));
7804: END IF;
7805:
7806: IF PG_DEBUG = 'Y' THEN
7807: pa_debug.G_err_stage := 'CAlling ValidateOrgId';
7808: log_message('log_message: ' || pa_debug.G_err_stage);
7809: END IF;
7810:
7811: ValidateOrgId(l_OrgIdTab(j),X_org_status );
7804: END IF;
7805:
7806: IF PG_DEBUG = 'Y' THEN
7807: pa_debug.G_err_stage := 'CAlling ValidateOrgId';
7808: log_message('log_message: ' || pa_debug.G_err_stage);
7809: END IF;
7810:
7811: ValidateOrgId(l_OrgIdTab(j),X_org_status );
7812:
7837:
7838: l_adjTxnEiIDTab(l_txnIfIdTab(j)) := X_ei_id ;
7839:
7840: IF PG_DEBUG = 'Y' THEN
7841: pa_debug.G_err_stage := 'AP Net Zero adjusted expenditure item id:'||X_ei_id;
7842: log_message('log_message: ' || pa_debug.G_err_stage);
7843: pa_debug.G_err_stage := 'TXN Interface ID:'||l_txnIfIdTab(j);
7844: log_message('log_message: ' || pa_debug.G_err_stage);
7845: pa_debug.G_err_stage := 'l_adjTxnEiIDTab(l_txnIfIdTab(j)):'||l_adjTxnEiIDTab(l_txnIfIdTab(j));
7838: l_adjTxnEiIDTab(l_txnIfIdTab(j)) := X_ei_id ;
7839:
7840: IF PG_DEBUG = 'Y' THEN
7841: pa_debug.G_err_stage := 'AP Net Zero adjusted expenditure item id:'||X_ei_id;
7842: log_message('log_message: ' || pa_debug.G_err_stage);
7843: pa_debug.G_err_stage := 'TXN Interface ID:'||l_txnIfIdTab(j);
7844: log_message('log_message: ' || pa_debug.G_err_stage);
7845: pa_debug.G_err_stage := 'l_adjTxnEiIDTab(l_txnIfIdTab(j)):'||l_adjTxnEiIDTab(l_txnIfIdTab(j));
7846: log_message('log_message: ' || pa_debug.G_err_stage);
7839:
7840: IF PG_DEBUG = 'Y' THEN
7841: pa_debug.G_err_stage := 'AP Net Zero adjusted expenditure item id:'||X_ei_id;
7842: log_message('log_message: ' || pa_debug.G_err_stage);
7843: pa_debug.G_err_stage := 'TXN Interface ID:'||l_txnIfIdTab(j);
7844: log_message('log_message: ' || pa_debug.G_err_stage);
7845: pa_debug.G_err_stage := 'l_adjTxnEiIDTab(l_txnIfIdTab(j)):'||l_adjTxnEiIDTab(l_txnIfIdTab(j));
7846: log_message('log_message: ' || pa_debug.G_err_stage);
7847: END IF;
7840: IF PG_DEBUG = 'Y' THEN
7841: pa_debug.G_err_stage := 'AP Net Zero adjusted expenditure item id:'||X_ei_id;
7842: log_message('log_message: ' || pa_debug.G_err_stage);
7843: pa_debug.G_err_stage := 'TXN Interface ID:'||l_txnIfIdTab(j);
7844: log_message('log_message: ' || pa_debug.G_err_stage);
7845: pa_debug.G_err_stage := 'l_adjTxnEiIDTab(l_txnIfIdTab(j)):'||l_adjTxnEiIDTab(l_txnIfIdTab(j));
7846: log_message('log_message: ' || pa_debug.G_err_stage);
7847: END IF;
7848:
7841: pa_debug.G_err_stage := 'AP Net Zero adjusted expenditure item id:'||X_ei_id;
7842: log_message('log_message: ' || pa_debug.G_err_stage);
7843: pa_debug.G_err_stage := 'TXN Interface ID:'||l_txnIfIdTab(j);
7844: log_message('log_message: ' || pa_debug.G_err_stage);
7845: pa_debug.G_err_stage := 'l_adjTxnEiIDTab(l_txnIfIdTab(j)):'||l_adjTxnEiIDTab(l_txnIfIdTab(j));
7846: log_message('log_message: ' || pa_debug.G_err_stage);
7847: END IF;
7848:
7849: END IF ;
7842: log_message('log_message: ' || pa_debug.G_err_stage);
7843: pa_debug.G_err_stage := 'TXN Interface ID:'||l_txnIfIdTab(j);
7844: log_message('log_message: ' || pa_debug.G_err_stage);
7845: pa_debug.G_err_stage := 'l_adjTxnEiIDTab(l_txnIfIdTab(j)):'||l_adjTxnEiIDTab(l_txnIfIdTab(j));
7846: log_message('log_message: ' || pa_debug.G_err_stage);
7847: END IF;
7848:
7849: END IF ;
7850:
7856: log_message('log_message: l_adjTxnInterfaceIdTab(j) :' || l_adjTxnInterfaceIdTab(j));
7857: END IF ;
7858:
7859: IF PG_DEBUG = 'Y' THEN
7860: pa_debug.G_err_stage := 'CAlling ValidateItem';
7861: log_message('log_message: ' || pa_debug.G_err_stage);
7862: END IF;
7863: x_status := NULL ;
7864:
7857: END IF ;
7858:
7859: IF PG_DEBUG = 'Y' THEN
7860: pa_debug.G_err_stage := 'CAlling ValidateItem';
7861: log_message('log_message: ' || pa_debug.G_err_stage);
7862: END IF;
7863: x_status := NULL ;
7864:
7865: If (X_transaction_source = 'ORACLE TIME AND LABOR') Then
8143: -- x_status and continue validations if x_status is NULL and vertical
8144: -- application is implemented only.
8145: -- ------------------------------------------------------------------------
8146: IF PG_DEBUG = 'Y' THEN
8147: pa_debug.G_err_stage := 'Calling PA_GMS_API api';
8148: log_message('log_message: ' || pa_debug.G_err_stage);
8149: END IF;
8150:
8151: IF l_gms_enabled = 'Y' and l_gms_fundscheck = 'Y' THEN
8144: -- application is implemented only.
8145: -- ------------------------------------------------------------------------
8146: IF PG_DEBUG = 'Y' THEN
8147: pa_debug.G_err_stage := 'Calling PA_GMS_API api';
8148: log_message('log_message: ' || pa_debug.G_err_stage);
8149: END IF;
8150:
8151: IF l_gms_enabled = 'Y' and l_gms_fundscheck = 'Y' THEN
8152: PA_GMS_API.vert_app_validate(X_transaction_source,
8166:
8167: END IF; --> gms_enabled.
8168:
8169: IF PG_DEBUG = 'Y' THEN
8170: pa_debug.G_err_stage := 'After PA_GMS_API api';
8171: log_message('log_message: ' || pa_debug.G_err_stage);
8172: END IF;
8173:
8174: -- validateitem has lot of return statements, so instead
8167: END IF; --> gms_enabled.
8168:
8169: IF PG_DEBUG = 'Y' THEN
8170: pa_debug.G_err_stage := 'After PA_GMS_API api';
8171: log_message('log_message: ' || pa_debug.G_err_stage);
8172: END IF;
8173:
8174: -- validateitem has lot of return statements, so instead
8175: -- resetting the error stack for each return statement
8183:
8184: IF ( X_status IS NOT NULL ) THEN
8185:
8186: IF PG_DEBUG = 'Y' THEN
8187: pa_debug.G_err_stage := 'Updating txn interface table for txn'||
8188: ' rejected by validateitem';
8189: log_message('log_message: ' || pa_debug.G_err_stage);
8190: END IF;
8191:
8185:
8186: IF PG_DEBUG = 'Y' THEN
8187: pa_debug.G_err_stage := 'Updating txn interface table for txn'||
8188: ' rejected by validateitem';
8189: log_message('log_message: ' || pa_debug.G_err_stage);
8190: END IF;
8191:
8192: /* PA-K
8193: Performance Team Suggestion: To combine the below update (by txn_interface_id) with the
8242: IF v_calling_module = 'PAAPIMP' and
8243: TrxBatch.system_linkage_function = 'VI' THEN
8244:
8245: IF PG_DEBUG = 'Y' THEN
8246: pa_debug.G_err_stage := 'Processing the valid distributions '||
8247: ' accepted by validateitem';
8248: log_message('log_message: ' || pa_debug.G_err_stage);
8249: END IF;
8250:
8244:
8245: IF PG_DEBUG = 'Y' THEN
8246: pa_debug.G_err_stage := 'Processing the valid distributions '||
8247: ' accepted by validateitem';
8248: log_message('log_message: ' || pa_debug.G_err_stage);
8249: END IF;
8250:
8251:
8252: REJECT_EXP := FALSE;
8252: REJECT_EXP := FALSE;
8253: END IF ;
8254:
8255: IF PG_DEBUG = 'Y' THEN
8256: pa_debug.G_err_stage := 'Updating txn interface table for txn'||
8257: ' accepted by validateitem';
8258: log_message('log_message: ' || pa_debug.G_err_stage);
8259: END IF;
8260:
8254:
8255: IF PG_DEBUG = 'Y' THEN
8256: pa_debug.G_err_stage := 'Updating txn interface table for txn'||
8257: ' accepted by validateitem';
8258: log_message('log_message: ' || pa_debug.G_err_stage);
8259: END IF;
8260:
8261: UPDATE pa_transaction_interface
8262: SET
8302:
8303: ELSIF ( G_trx_costed = 'Y' ) THEN
8304:
8305: IF PG_DEBUG = 'Y' THEN
8306: pa_debug.G_err_stage := 'rounding transaction raw cost';
8307: log_message('log_message: ' || pa_debug.G_err_stage);
8308: END IF;
8309:
8310: l_DenomRawCostTab(j) := pa_currency.round_trans_currency_amt1(l_DenomRawCostTab(j),l_DenomCurrCodeTab(j));
8303: ELSIF ( G_trx_costed = 'Y' ) THEN
8304:
8305: IF PG_DEBUG = 'Y' THEN
8306: pa_debug.G_err_stage := 'rounding transaction raw cost';
8307: log_message('log_message: ' || pa_debug.G_err_stage);
8308: END IF;
8309:
8310: l_DenomRawCostTab(j) := pa_currency.round_trans_currency_amt1(l_DenomRawCostTab(j),l_DenomCurrCodeTab(j));
8311:
8311:
8312: /* Added the call to round off denom_burdened_cost for bug 2871273 */
8313:
8314: IF PG_DEBUG = 'Y' THEN
8315: pa_debug.G_err_stage := 'rounding transaction burden cost';
8316: log_message('log_message: ' || pa_debug.G_err_stage);
8317: END IF;
8318:
8319: l_DenomBdCostTab(j) := pa_currency.round_trans_currency_amt1(l_DenomBdCostTab(j),l_DenomCurrCodeTab(j));
8312: /* Added the call to round off denom_burdened_cost for bug 2871273 */
8313:
8314: IF PG_DEBUG = 'Y' THEN
8315: pa_debug.G_err_stage := 'rounding transaction burden cost';
8316: log_message('log_message: ' || pa_debug.G_err_stage);
8317: END IF;
8318:
8319: l_DenomBdCostTab(j) := pa_currency.round_trans_currency_amt1(l_DenomBdCostTab(j),l_DenomCurrCodeTab(j));
8320:
8365: log_message('log_message: payment_hist_dist_id for discounts and payments. ') ;
8366: log_message('log_message: For prepay application in cash based accounting, SR5') ;
8367: log_message('log_message: is populated with the pre-pay appdist_id.') ;
8368:
8369: pa_debug.G_err_stage := 'l_VendorIdTab(j) : '|| l_VendorIdTab(j) ;
8370: log_message('log_message: ' || pa_debug.G_err_stage);
8371:
8372: pa_debug.G_err_stage := 'l_SysRef1Tab(j) : '|| l_SysRef1Tab(j) ;
8373: log_message('log_message: ' || pa_debug.G_err_stage);
8366: log_message('log_message: For prepay application in cash based accounting, SR5') ;
8367: log_message('log_message: is populated with the pre-pay appdist_id.') ;
8368:
8369: pa_debug.G_err_stage := 'l_VendorIdTab(j) : '|| l_VendorIdTab(j) ;
8370: log_message('log_message: ' || pa_debug.G_err_stage);
8371:
8372: pa_debug.G_err_stage := 'l_SysRef1Tab(j) : '|| l_SysRef1Tab(j) ;
8373: log_message('log_message: ' || pa_debug.G_err_stage);
8374: pa_debug.G_err_stage := 'l_SysRef2Tab(j) : '|| l_SysRef2Tab(j) ;
8368:
8369: pa_debug.G_err_stage := 'l_VendorIdTab(j) : '|| l_VendorIdTab(j) ;
8370: log_message('log_message: ' || pa_debug.G_err_stage);
8371:
8372: pa_debug.G_err_stage := 'l_SysRef1Tab(j) : '|| l_SysRef1Tab(j) ;
8373: log_message('log_message: ' || pa_debug.G_err_stage);
8374: pa_debug.G_err_stage := 'l_SysRef2Tab(j) : '|| l_SysRef2Tab(j) ;
8375: log_message('log_message: ' || pa_debug.G_err_stage);
8376: pa_debug.G_err_stage := 'l_SysRef3Tab(j) : '|| l_SysRef3Tab(j) ;
8369: pa_debug.G_err_stage := 'l_VendorIdTab(j) : '|| l_VendorIdTab(j) ;
8370: log_message('log_message: ' || pa_debug.G_err_stage);
8371:
8372: pa_debug.G_err_stage := 'l_SysRef1Tab(j) : '|| l_SysRef1Tab(j) ;
8373: log_message('log_message: ' || pa_debug.G_err_stage);
8374: pa_debug.G_err_stage := 'l_SysRef2Tab(j) : '|| l_SysRef2Tab(j) ;
8375: log_message('log_message: ' || pa_debug.G_err_stage);
8376: pa_debug.G_err_stage := 'l_SysRef3Tab(j) : '|| l_SysRef3Tab(j) ;
8377: log_message('log_message: ' || pa_debug.G_err_stage);
8370: log_message('log_message: ' || pa_debug.G_err_stage);
8371:
8372: pa_debug.G_err_stage := 'l_SysRef1Tab(j) : '|| l_SysRef1Tab(j) ;
8373: log_message('log_message: ' || pa_debug.G_err_stage);
8374: pa_debug.G_err_stage := 'l_SysRef2Tab(j) : '|| l_SysRef2Tab(j) ;
8375: log_message('log_message: ' || pa_debug.G_err_stage);
8376: pa_debug.G_err_stage := 'l_SysRef3Tab(j) : '|| l_SysRef3Tab(j) ;
8377: log_message('log_message: ' || pa_debug.G_err_stage);
8378: pa_debug.G_err_stage := 'l_SysRef4Tab(j) : '|| l_SysRef4Tab(j) ;
8371:
8372: pa_debug.G_err_stage := 'l_SysRef1Tab(j) : '|| l_SysRef1Tab(j) ;
8373: log_message('log_message: ' || pa_debug.G_err_stage);
8374: pa_debug.G_err_stage := 'l_SysRef2Tab(j) : '|| l_SysRef2Tab(j) ;
8375: log_message('log_message: ' || pa_debug.G_err_stage);
8376: pa_debug.G_err_stage := 'l_SysRef3Tab(j) : '|| l_SysRef3Tab(j) ;
8377: log_message('log_message: ' || pa_debug.G_err_stage);
8378: pa_debug.G_err_stage := 'l_SysRef4Tab(j) : '|| l_SysRef4Tab(j) ;
8379: log_message('log_message: ' || pa_debug.G_err_stage);
8372: pa_debug.G_err_stage := 'l_SysRef1Tab(j) : '|| l_SysRef1Tab(j) ;
8373: log_message('log_message: ' || pa_debug.G_err_stage);
8374: pa_debug.G_err_stage := 'l_SysRef2Tab(j) : '|| l_SysRef2Tab(j) ;
8375: log_message('log_message: ' || pa_debug.G_err_stage);
8376: pa_debug.G_err_stage := 'l_SysRef3Tab(j) : '|| l_SysRef3Tab(j) ;
8377: log_message('log_message: ' || pa_debug.G_err_stage);
8378: pa_debug.G_err_stage := 'l_SysRef4Tab(j) : '|| l_SysRef4Tab(j) ;
8379: log_message('log_message: ' || pa_debug.G_err_stage);
8380: pa_debug.G_err_stage := 'l_SysRef5Tab(j) : '|| l_SysRef5Tab(j) ;
8373: log_message('log_message: ' || pa_debug.G_err_stage);
8374: pa_debug.G_err_stage := 'l_SysRef2Tab(j) : '|| l_SysRef2Tab(j) ;
8375: log_message('log_message: ' || pa_debug.G_err_stage);
8376: pa_debug.G_err_stage := 'l_SysRef3Tab(j) : '|| l_SysRef3Tab(j) ;
8377: log_message('log_message: ' || pa_debug.G_err_stage);
8378: pa_debug.G_err_stage := 'l_SysRef4Tab(j) : '|| l_SysRef4Tab(j) ;
8379: log_message('log_message: ' || pa_debug.G_err_stage);
8380: pa_debug.G_err_stage := 'l_SysRef5Tab(j) : '|| l_SysRef5Tab(j) ;
8381: log_message('log_message: ' || pa_debug.G_err_stage);
8374: pa_debug.G_err_stage := 'l_SysRef2Tab(j) : '|| l_SysRef2Tab(j) ;
8375: log_message('log_message: ' || pa_debug.G_err_stage);
8376: pa_debug.G_err_stage := 'l_SysRef3Tab(j) : '|| l_SysRef3Tab(j) ;
8377: log_message('log_message: ' || pa_debug.G_err_stage);
8378: pa_debug.G_err_stage := 'l_SysRef4Tab(j) : '|| l_SysRef4Tab(j) ;
8379: log_message('log_message: ' || pa_debug.G_err_stage);
8380: pa_debug.G_err_stage := 'l_SysRef5Tab(j) : '|| l_SysRef5Tab(j) ;
8381: log_message('log_message: ' || pa_debug.G_err_stage);
8382: END IF;
8375: log_message('log_message: ' || pa_debug.G_err_stage);
8376: pa_debug.G_err_stage := 'l_SysRef3Tab(j) : '|| l_SysRef3Tab(j) ;
8377: log_message('log_message: ' || pa_debug.G_err_stage);
8378: pa_debug.G_err_stage := 'l_SysRef4Tab(j) : '|| l_SysRef4Tab(j) ;
8379: log_message('log_message: ' || pa_debug.G_err_stage);
8380: pa_debug.G_err_stage := 'l_SysRef5Tab(j) : '|| l_SysRef5Tab(j) ;
8381: log_message('log_message: ' || pa_debug.G_err_stage);
8382: END IF;
8383:
8376: pa_debug.G_err_stage := 'l_SysRef3Tab(j) : '|| l_SysRef3Tab(j) ;
8377: log_message('log_message: ' || pa_debug.G_err_stage);
8378: pa_debug.G_err_stage := 'l_SysRef4Tab(j) : '|| l_SysRef4Tab(j) ;
8379: log_message('log_message: ' || pa_debug.G_err_stage);
8380: pa_debug.G_err_stage := 'l_SysRef5Tab(j) : '|| l_SysRef5Tab(j) ;
8381: log_message('log_message: ' || pa_debug.G_err_stage);
8382: END IF;
8383:
8384: IF v_calling_module = 'PAAPIMP' THEN
8377: log_message('log_message: ' || pa_debug.G_err_stage);
8378: pa_debug.G_err_stage := 'l_SysRef4Tab(j) : '|| l_SysRef4Tab(j) ;
8379: log_message('log_message: ' || pa_debug.G_err_stage);
8380: pa_debug.G_err_stage := 'l_SysRef5Tab(j) : '|| l_SysRef5Tab(j) ;
8381: log_message('log_message: ' || pa_debug.G_err_stage);
8382: END IF;
8383:
8384: IF v_calling_module = 'PAAPIMP' THEN
8385:
8471: END IF ;
8472:
8473: IF PG_DEBUG = 'Y' THEN
8474:
8475: pa_debug.G_err_stage := ' After l_VendorIdTab(j) : '|| l_VendorIdTab(j) ;
8476: log_message('log_message: ' || pa_debug.G_err_stage);
8477:
8478: pa_debug.G_err_stage := ' After l_SysRef1Tab(j) : '|| l_SysRef1Tab(j) ;
8479: log_message('log_message: ' || pa_debug.G_err_stage);
8472:
8473: IF PG_DEBUG = 'Y' THEN
8474:
8475: pa_debug.G_err_stage := ' After l_VendorIdTab(j) : '|| l_VendorIdTab(j) ;
8476: log_message('log_message: ' || pa_debug.G_err_stage);
8477:
8478: pa_debug.G_err_stage := ' After l_SysRef1Tab(j) : '|| l_SysRef1Tab(j) ;
8479: log_message('log_message: ' || pa_debug.G_err_stage);
8480: pa_debug.G_err_stage := ' After l_SysRef2Tab(j) : '|| l_SysRef2Tab(j) ;
8474:
8475: pa_debug.G_err_stage := ' After l_VendorIdTab(j) : '|| l_VendorIdTab(j) ;
8476: log_message('log_message: ' || pa_debug.G_err_stage);
8477:
8478: pa_debug.G_err_stage := ' After l_SysRef1Tab(j) : '|| l_SysRef1Tab(j) ;
8479: log_message('log_message: ' || pa_debug.G_err_stage);
8480: pa_debug.G_err_stage := ' After l_SysRef2Tab(j) : '|| l_SysRef2Tab(j) ;
8481: log_message('log_message: ' || pa_debug.G_err_stage);
8482: pa_debug.G_err_stage := ' After l_SysRef3Tab(j) : '|| l_SysRef3Tab(j) ;
8475: pa_debug.G_err_stage := ' After l_VendorIdTab(j) : '|| l_VendorIdTab(j) ;
8476: log_message('log_message: ' || pa_debug.G_err_stage);
8477:
8478: pa_debug.G_err_stage := ' After l_SysRef1Tab(j) : '|| l_SysRef1Tab(j) ;
8479: log_message('log_message: ' || pa_debug.G_err_stage);
8480: pa_debug.G_err_stage := ' After l_SysRef2Tab(j) : '|| l_SysRef2Tab(j) ;
8481: log_message('log_message: ' || pa_debug.G_err_stage);
8482: pa_debug.G_err_stage := ' After l_SysRef3Tab(j) : '|| l_SysRef3Tab(j) ;
8483: log_message('log_message: ' || pa_debug.G_err_stage);
8476: log_message('log_message: ' || pa_debug.G_err_stage);
8477:
8478: pa_debug.G_err_stage := ' After l_SysRef1Tab(j) : '|| l_SysRef1Tab(j) ;
8479: log_message('log_message: ' || pa_debug.G_err_stage);
8480: pa_debug.G_err_stage := ' After l_SysRef2Tab(j) : '|| l_SysRef2Tab(j) ;
8481: log_message('log_message: ' || pa_debug.G_err_stage);
8482: pa_debug.G_err_stage := ' After l_SysRef3Tab(j) : '|| l_SysRef3Tab(j) ;
8483: log_message('log_message: ' || pa_debug.G_err_stage);
8484: pa_debug.G_err_stage := 'After l_SysRef4Tab(j) : '|| l_SysRef4Tab(j) ;
8477:
8478: pa_debug.G_err_stage := ' After l_SysRef1Tab(j) : '|| l_SysRef1Tab(j) ;
8479: log_message('log_message: ' || pa_debug.G_err_stage);
8480: pa_debug.G_err_stage := ' After l_SysRef2Tab(j) : '|| l_SysRef2Tab(j) ;
8481: log_message('log_message: ' || pa_debug.G_err_stage);
8482: pa_debug.G_err_stage := ' After l_SysRef3Tab(j) : '|| l_SysRef3Tab(j) ;
8483: log_message('log_message: ' || pa_debug.G_err_stage);
8484: pa_debug.G_err_stage := 'After l_SysRef4Tab(j) : '|| l_SysRef4Tab(j) ;
8485: log_message('log_message: ' || pa_debug.G_err_stage);
8478: pa_debug.G_err_stage := ' After l_SysRef1Tab(j) : '|| l_SysRef1Tab(j) ;
8479: log_message('log_message: ' || pa_debug.G_err_stage);
8480: pa_debug.G_err_stage := ' After l_SysRef2Tab(j) : '|| l_SysRef2Tab(j) ;
8481: log_message('log_message: ' || pa_debug.G_err_stage);
8482: pa_debug.G_err_stage := ' After l_SysRef3Tab(j) : '|| l_SysRef3Tab(j) ;
8483: log_message('log_message: ' || pa_debug.G_err_stage);
8484: pa_debug.G_err_stage := 'After l_SysRef4Tab(j) : '|| l_SysRef4Tab(j) ;
8485: log_message('log_message: ' || pa_debug.G_err_stage);
8486: pa_debug.G_err_stage := 'After l_SysRef5Tab(j) : '|| l_SysRef5Tab(j) ;
8479: log_message('log_message: ' || pa_debug.G_err_stage);
8480: pa_debug.G_err_stage := ' After l_SysRef2Tab(j) : '|| l_SysRef2Tab(j) ;
8481: log_message('log_message: ' || pa_debug.G_err_stage);
8482: pa_debug.G_err_stage := ' After l_SysRef3Tab(j) : '|| l_SysRef3Tab(j) ;
8483: log_message('log_message: ' || pa_debug.G_err_stage);
8484: pa_debug.G_err_stage := 'After l_SysRef4Tab(j) : '|| l_SysRef4Tab(j) ;
8485: log_message('log_message: ' || pa_debug.G_err_stage);
8486: pa_debug.G_err_stage := 'After l_SysRef5Tab(j) : '|| l_SysRef5Tab(j) ;
8487: log_message('log_message: ' || pa_debug.G_err_stage);
8480: pa_debug.G_err_stage := ' After l_SysRef2Tab(j) : '|| l_SysRef2Tab(j) ;
8481: log_message('log_message: ' || pa_debug.G_err_stage);
8482: pa_debug.G_err_stage := ' After l_SysRef3Tab(j) : '|| l_SysRef3Tab(j) ;
8483: log_message('log_message: ' || pa_debug.G_err_stage);
8484: pa_debug.G_err_stage := 'After l_SysRef4Tab(j) : '|| l_SysRef4Tab(j) ;
8485: log_message('log_message: ' || pa_debug.G_err_stage);
8486: pa_debug.G_err_stage := 'After l_SysRef5Tab(j) : '|| l_SysRef5Tab(j) ;
8487: log_message('log_message: ' || pa_debug.G_err_stage);
8488: END IF;
8481: log_message('log_message: ' || pa_debug.G_err_stage);
8482: pa_debug.G_err_stage := ' After l_SysRef3Tab(j) : '|| l_SysRef3Tab(j) ;
8483: log_message('log_message: ' || pa_debug.G_err_stage);
8484: pa_debug.G_err_stage := 'After l_SysRef4Tab(j) : '|| l_SysRef4Tab(j) ;
8485: log_message('log_message: ' || pa_debug.G_err_stage);
8486: pa_debug.G_err_stage := 'After l_SysRef5Tab(j) : '|| l_SysRef5Tab(j) ;
8487: log_message('log_message: ' || pa_debug.G_err_stage);
8488: END IF;
8489:
8482: pa_debug.G_err_stage := ' After l_SysRef3Tab(j) : '|| l_SysRef3Tab(j) ;
8483: log_message('log_message: ' || pa_debug.G_err_stage);
8484: pa_debug.G_err_stage := 'After l_SysRef4Tab(j) : '|| l_SysRef4Tab(j) ;
8485: log_message('log_message: ' || pa_debug.G_err_stage);
8486: pa_debug.G_err_stage := 'After l_SysRef5Tab(j) : '|| l_SysRef5Tab(j) ;
8487: log_message('log_message: ' || pa_debug.G_err_stage);
8488: END IF;
8489:
8490: /* REL12-AP Lines uptake END */
8483: log_message('log_message: ' || pa_debug.G_err_stage);
8484: pa_debug.G_err_stage := 'After l_SysRef4Tab(j) : '|| l_SysRef4Tab(j) ;
8485: log_message('log_message: ' || pa_debug.G_err_stage);
8486: pa_debug.G_err_stage := 'After l_SysRef5Tab(j) : '|| l_SysRef5Tab(j) ;
8487: log_message('log_message: ' || pa_debug.G_err_stage);
8488: END IF;
8489:
8490: /* REL12-AP Lines uptake END */
8491:
8554: IF ( G_project_type_class IN ('CONTRACT','CAPITAL') AND
8555: l_billableFlagTab(j) IN ( 'Y','N')) THEN
8556:
8557: IF PG_DEBUG = 'Y' THEN
8558: pa_debug.G_err_stage := 'Project_type_class in Contract, Capital';
8559: log_message('log_message: ' || pa_debug.G_err_stage);
8560: END IF;
8561:
8562: X_billable_flag := l_billableFlagTab(j);
8555: l_billableFlagTab(j) IN ( 'Y','N')) THEN
8556:
8557: IF PG_DEBUG = 'Y' THEN
8558: pa_debug.G_err_stage := 'Project_type_class in Contract, Capital';
8559: log_message('log_message: ' || pa_debug.G_err_stage);
8560: END IF;
8561:
8562: X_billable_flag := l_billableFlagTab(j);
8563:
8573: --two profiles and if it is Y then use the billable_flag from
8574: --validate_transaction and if N then override with what user entered.
8575:
8576: IF PG_DEBUG = 'Y' THEN
8577: pa_debug.G_err_stage := 'Calling pa_utils4.get_transaction_billability';
8578: log_message('log_message: ' || pa_debug.G_err_stage);
8579: log_message('log_message: ' || 'Billable Flag before get_trxn_work_billabilty = ' || X_billable_flag);
8580: log_message('log_message: ' || 'Work Type Id = ' || G_work_type_id);
8581: END IF;
8574: --validate_transaction and if N then override with what user entered.
8575:
8576: IF PG_DEBUG = 'Y' THEN
8577: pa_debug.G_err_stage := 'Calling pa_utils4.get_transaction_billability';
8578: log_message('log_message: ' || pa_debug.G_err_stage);
8579: log_message('log_message: ' || 'Billable Flag before get_trxn_work_billabilty = ' || X_billable_flag);
8580: log_message('log_message: ' || 'Work Type Id = ' || G_work_type_id);
8581: END IF;
8582:
8660: /* End of bug 4107560 */
8661:
8662:
8663: IF PG_DEBUG = 'Y' THEN
8664: pa_debug.G_err_stage := 'Calling Loadei';
8665: log_message('log_message: ' || pa_debug.G_err_stage);
8666: END IF;
8667:
8668: -- REL12 AP Lines uptake..
8661:
8662:
8663: IF PG_DEBUG = 'Y' THEN
8664: pa_debug.G_err_stage := 'Calling Loadei';
8665: log_message('log_message: ' || pa_debug.G_err_stage);
8666: END IF;
8667:
8668: -- REL12 AP Lines uptake..
8669: l_temp_adjItemID := G_adj_item_id ;
8803: -- Call LoadEI for creating the reversing item.
8804: if (l_AccrualFlagTab(j) = 'Y' and l_SysLinkTab(j) = 'PJ' and X_ei_id is not NULL ) then
8805:
8806: IF PG_DEBUG = 'Y' THEN
8807: pa_debug.G_err_stage := 'Calling Loadei for the reversing line of a Period-End Accrual transaction';
8808: log_message('log_message: ' || pa_debug.G_err_stage);
8809: END IF;
8810:
8811: -- increment the counter
8804: if (l_AccrualFlagTab(j) = 'Y' and l_SysLinkTab(j) = 'PJ' and X_ei_id is not NULL ) then
8805:
8806: IF PG_DEBUG = 'Y' THEN
8807: pa_debug.G_err_stage := 'Calling Loadei for the reversing line of a Period-End Accrual transaction';
8808: log_message('log_message: ' || pa_debug.G_err_stage);
8809: END IF;
8810:
8811: -- increment the counter
8812: i := i + 1;
8924: /***** Bug 4091706 CWK Changes *****/
8925:
8926:
8927: IF PG_DEBUG = 'Y' THEN
8928: pa_debug.G_err_stage := 'Calling newExpend after TrxRecs loop';
8929: log_message('log_message: ' || pa_debug.G_err_stage);
8930: END IF;
8931: newExpend( TrxBatch.exp_group_name
8932: , current_period
8925:
8926:
8927: IF PG_DEBUG = 'Y' THEN
8928: pa_debug.G_err_stage := 'Calling newExpend after TrxRecs loop';
8929: log_message('log_message: ' || pa_debug.G_err_stage);
8930: END IF;
8931: newExpend( TrxBatch.exp_group_name
8932: , current_period
8933: , i
8951:
8952: ELSE
8953:
8954: IF PG_DEBUG = 'Y' THEN
8955: pa_debug.G_err_stage := 'Processed the commit size records, exit batches';
8956: log_message('log_message: ' || pa_debug.G_err_stage);
8957: END IF;
8958:
8959: Exit batches;
8952: ELSE
8953:
8954: IF PG_DEBUG = 'Y' THEN
8955: pa_debug.G_err_stage := 'Processed the commit size records, exit batches';
8956: log_message('log_message: ' || pa_debug.G_err_stage);
8957: END IF;
8958:
8959: Exit batches;
8960:
8962:
8963: ELSE
8964:
8965: IF PG_DEBUG = 'Y' THEN
8966: pa_debug.G_err_stage := 'Not able to lock TrxBatch record';
8967: log_message('log_message: ' || pa_debug.G_err_stage);
8968: END IF;
8969:
8970: --Bug 3239369
8963: ELSE
8964:
8965: IF PG_DEBUG = 'Y' THEN
8966: pa_debug.G_err_stage := 'Not able to lock TrxBatch record';
8967: log_message('log_message: ' || pa_debug.G_err_stage);
8968: END IF;
8969:
8970: --Bug 3239369
8971: G_Exit_Main := TRUE;
8983:
8984:
8985: --PA-K Changes: UpdControlProcessed will be done for each loop of TrxBatches
8986: IF PG_DEBUG = 'Y' THEN
8987: pa_debug.G_err_stage := 'Calling UpdControlProcessed';
8988: log_message('log_message: ' || pa_debug.G_err_stage);
8989: END IF;
8990:
8991: UpdControlProcessed( P_TrxSource => TrxBatch.transaction_source,
8984:
8985: --PA-K Changes: UpdControlProcessed will be done for each loop of TrxBatches
8986: IF PG_DEBUG = 'Y' THEN
8987: pa_debug.G_err_stage := 'Calling UpdControlProcessed';
8988: log_message('log_message: ' || pa_debug.G_err_stage);
8989: END IF;
8990:
8991: UpdControlProcessed( P_TrxSource => TrxBatch.transaction_source,
8992: P_BatchName => TrxBatch.batch_name,
9020: IF G_gl_accted_flag = 'Y' AND
9021: G_Process_Funds_Flag = 'Y' THEN
9022:
9023: IF PG_DEBUG = 'Y' THEN
9024: pa_debug.G_err_stage := 'Calling tieback funds check records';
9025: log_message('log_message: ' || pa_debug.G_err_stage);
9026: END IF;
9027:
9028: IF PG_DEBUG = 'Y' THEN
9021: G_Process_Funds_Flag = 'Y' THEN
9022:
9023: IF PG_DEBUG = 'Y' THEN
9024: pa_debug.G_err_stage := 'Calling tieback funds check records';
9025: log_message('log_message: ' || pa_debug.G_err_stage);
9026: END IF;
9027:
9028: IF PG_DEBUG = 'Y' THEN
9029: pa_debug.G_err_stage := 'Tieback Mode = '||X_transaction_source;
9025: log_message('log_message: ' || pa_debug.G_err_stage);
9026: END IF;
9027:
9028: IF PG_DEBUG = 'Y' THEN
9029: pa_debug.G_err_stage := 'Tieback Mode = '||X_transaction_source;
9030: log_message('log_message: ' || pa_debug.G_err_stage);
9031: END IF;
9032:
9033: tieback_fc_records (x_return_status => l_return_status,
9026: END IF;
9027:
9028: IF PG_DEBUG = 'Y' THEN
9029: pa_debug.G_err_stage := 'Tieback Mode = '||X_transaction_source;
9030: log_message('log_message: ' || pa_debug.G_err_stage);
9031: END IF;
9032:
9033: tieback_fc_records (x_return_status => l_return_status,
9034: p_calling_mode => X_transaction_source) ;
9073: EXCEPTION
9074:
9075: WHEN OTHERS THEN
9076: IF PG_DEBUG = 'Y' THEN
9077: pa_debug.G_err_stage := 'In OTHERS exception of import1';
9078: log_message('log_message: ' || pa_debug.G_err_stage,1);
9079: END IF;
9080:
9081: release_po_line_task_lock; -- bug 3512984
9074:
9075: WHEN OTHERS THEN
9076: IF PG_DEBUG = 'Y' THEN
9077: pa_debug.G_err_stage := 'In OTHERS exception of import1';
9078: log_message('log_message: ' || pa_debug.G_err_stage,1);
9079: END IF;
9080:
9081: release_po_line_task_lock; -- bug 3512984
9082:
9113:
9114: EXCEPTION WHEN others THEN
9115: IF PG_DEBUG = 'Y' THEN
9116: log_message('log_message: ' || 'Error in Init procedure',1);
9117: log_message('log_message: ' || 'Stage='||pa_debug.G_err_stage,1);
9118: log_message('log_message: ' || SQLERRM);
9119: END IF;
9120:
9121: raise_application_error(-20001,'Init:'||SQLERRM);
9170:
9171: <
9172: BEGIN
9173: IF PG_DEBUG = 'Y' THEN
9174: pa_debug.G_err_Stage := 'Calling pre_import extension';
9175: log_message('log_message: ' || pa_debug.G_err_Stage);
9176: END IF;
9177:
9178: pa_trx_import.pre_import(P_transaction_source => X_transaction_source,
9171: <
9172: BEGIN
9173: IF PG_DEBUG = 'Y' THEN
9174: pa_debug.G_err_Stage := 'Calling pre_import extension';
9175: log_message('log_message: ' || pa_debug.G_err_Stage);
9176: END IF;
9177:
9178: pa_trx_import.pre_import(P_transaction_source => X_transaction_source,
9179: P_batch => X_batch,
9187:
9188: EXCEPTION WHEN others THEN
9189: IF PG_DEBUG = 'Y' THEN
9190: log_message('log_message: ' || 'Error in pre_import procedure',1);
9191: log_message('log_message: ' || 'Stage='||pa_debug.G_err_stage,1);
9192: log_message('log_message: ' || SQLERRM);
9193: END IF;
9194: raise_application_error(-20002,'pre_import:'||SQLERRM);
9195: END pre_import;
9207: /* PA-K Changes: Commenting the call to count_status
9208: Report will directly select the counts from the interface table */
9209:
9210: IF PG_DEBUG = 'Y' THEN
9211: pa_debug.G_err_stage := 'After import1';
9212: log_message('log_message: ' || pa_debug.G_err_stage);
9213: END IF;
9214:
9215:
9208: Report will directly select the counts from the interface table */
9209:
9210: IF PG_DEBUG = 'Y' THEN
9211: pa_debug.G_err_stage := 'After import1';
9212: log_message('log_message: ' || pa_debug.G_err_stage);
9213: END IF;
9214:
9215:
9216: EXCEPTION WHEN others THEN
9216: EXCEPTION WHEN others THEN
9217:
9218: IF PG_DEBUG = 'Y' THEN
9219: log_message('log_message: ' || 'Error in import1 procedure',1);
9220: log_message('log_message: ' || 'Stage='||pa_debug.G_err_stage,1);
9221: log_message('log_message: ' || SQLERRM);
9222: END IF;
9223:
9224: If X_transaction_source = 'ORACLE TIME AND LABOR' Then
9225:
9226: BEGIN
9227:
9228: IF PG_DEBUG = 'Y' THEN
9229: pa_debug.G_err_stage := 'Calling eception handler for OTL';
9230: log_message('log_message: ' || pa_debug.G_err_stage,1);
9231: END IF;
9232:
9233:
9226: BEGIN
9227:
9228: IF PG_DEBUG = 'Y' THEN
9229: pa_debug.G_err_stage := 'Calling eception handler for OTL';
9230: log_message('log_message: ' || pa_debug.G_err_stage,1);
9231: END IF;
9232:
9233:
9234: -- Get cursor handle
9233:
9234: -- Get cursor handle
9235: l_cursor := dbms_sql.open_cursor;
9236:
9237: l_Exception_Desc := 'Error in Projects Import routine: ' || pa_debug.G_err_stage || ' : ' || SQLERRM;
9238:
9239: -- Associate a sql statement with the cursor.
9240:
9241: --FP M OTL API changes (bug 3600642)
9247: ' P_Exception_Description => :Exception_Desc );'||
9248: 'END;';
9249:
9250: IF PG_DEBUG = 'Y' THEN
9251: pa_debug.G_err_stage := 'After constructing the dynamic sql OTL';
9252: log_message('log_message: ' || pa_debug.G_err_stage,1);
9253: END IF;
9254:
9255: -- parse the sql statement to check for any syntax or symantic errors
9248: 'END;';
9249:
9250: IF PG_DEBUG = 'Y' THEN
9251: pa_debug.G_err_stage := 'After constructing the dynamic sql OTL';
9252: log_message('log_message: ' || pa_debug.G_err_stage,1);
9253: END IF;
9254:
9255: -- parse the sql statement to check for any syntax or symantic errors
9256:
9268:
9269:
9270: l_rows := dbms_sql.execute(l_cursor);
9271: IF PG_DEBUG = 'Y' THEN
9272: pa_debug.G_err_stage := 'After executing the dynamic sql OTL';
9273: log_message('log_message: ' || pa_debug.G_err_stage,1);
9274: END IF;
9275:
9276: EXCEPTION
9269:
9270: l_rows := dbms_sql.execute(l_cursor);
9271: IF PG_DEBUG = 'Y' THEN
9272: pa_debug.G_err_stage := 'After executing the dynamic sql OTL';
9273: log_message('log_message: ' || pa_debug.G_err_stage,1);
9274: END IF;
9275:
9276: EXCEPTION
9277: When Others Then
9275:
9276: EXCEPTION
9277: When Others Then
9278: IF PG_DEBUG = 'Y' THEN
9279: pa_debug.G_err_stage := 'In excp of the dynamic sql executing OTL';
9280: log_message('log_message: ' || pa_debug.G_err_stage,1);
9281: END IF;
9282:
9283: dbms_sql.close_cursor(l_cursor);
9276: EXCEPTION
9277: When Others Then
9278: IF PG_DEBUG = 'Y' THEN
9279: pa_debug.G_err_stage := 'In excp of the dynamic sql executing OTL';
9280: log_message('log_message: ' || pa_debug.G_err_stage,1);
9281: END IF;
9282:
9283: dbms_sql.close_cursor(l_cursor);
9284: RAISE;
9289:
9290:
9291:
9292:
9293: raise_application_error(-20003,'import1_prog:'||SQLERRM||pa_debug.G_err_stage);
9294:
9295: END import1_prog;
9296:
9297:
9304:
9305: <
9306: BEGIN
9307: IF PG_DEBUG = 'Y' THEN
9308: pa_debug.G_err_Stage := 'Calling post_import extension';
9309: log_message('log_message: ' || pa_debug.G_err_Stage);
9310: END IF;
9311:
9312: pa_trx_import.post_import(P_transaction_source => X_transaction_source,
9305: <
9306: BEGIN
9307: IF PG_DEBUG = 'Y' THEN
9308: pa_debug.G_err_Stage := 'Calling post_import extension';
9309: log_message('log_message: ' || pa_debug.G_err_Stage);
9310: END IF;
9311:
9312: pa_trx_import.post_import(P_transaction_source => X_transaction_source,
9313: P_batch => X_batch,
9322: EXCEPTION WHEN others THEN
9323: IF PG_DEBUG = 'Y' THEN
9324: log_message('log_message: ' || 'Error in post import procedure',1);
9325: log_message('log_message: ' || SQLERRM);
9326: log_message('log_message: ' || 'Stage='||pa_debug.G_err_stage,1);
9327: END IF;
9328: raise_application_error(-20004,'post_import:'||SQLERRM);
9329: END post_import;
9330:
9331: /* Bug 6998382 Moved the condition to exit the import1 procedure here so that the post processing client extension
9332: is called for the last batch as well */
9333: If (G_Exit_Main) Then
9334: IF PG_DEBUG = 'Y' THEN
9335: pa_debug.G_err_stage := 'G_Exit_Main is true, exit main loop';
9336: log_message('log_message: ' || pa_debug.G_err_stage,1);
9337: END IF;
9338: Exit main_loop;
9339: End If;
9332: is called for the last batch as well */
9333: If (G_Exit_Main) Then
9334: IF PG_DEBUG = 'Y' THEN
9335: pa_debug.G_err_stage := 'G_Exit_Main is true, exit main loop';
9336: log_message('log_message: ' || pa_debug.G_err_stage,1);
9337: END IF;
9338: Exit main_loop;
9339: End If;
9340: /* Bug 6998382 End */
9360:
9361: -- Get the debug mode, if the debug is turned on then write
9362: -- log messages to the log file.
9363:
9364: fnd_profile.get('PA_DEBUG_MODE',G_debug_mode);
9365: G_debug_mode := NVL(G_debug_mode, 'N');
9366:
9367: pa_debug.set_process(x_process => 'PLSQL',
9368: x_debug_mode => G_debug_mode);
9363:
9364: fnd_profile.get('PA_DEBUG_MODE',G_debug_mode);
9365: G_debug_mode := NVL(G_debug_mode, 'N');
9366:
9367: pa_debug.set_process(x_process => 'PLSQL',
9368: x_debug_mode => G_debug_mode);
9369:
9370: pa_cc_utils.log_message('Debug Mode = '||G_debug_mode,1);
9371: pa_cc_utils.set_curr_function('pa_trx_import.init');
9370: pa_cc_utils.log_message('Debug Mode = '||G_debug_mode,1);
9371: pa_cc_utils.set_curr_function('pa_trx_import.init');
9372:
9373: IF PG_DEBUG = 'Y' THEN
9374: pa_debug.G_err_Stage := 'retriving transaction source';
9375: log_message('log_message: ' || pa_debug.G_err_Stage);
9376: END IF;
9377:
9378: -- Transaction import program is always run for 1 transaction source
9371: pa_cc_utils.set_curr_function('pa_trx_import.init');
9372:
9373: IF PG_DEBUG = 'Y' THEN
9374: pa_debug.G_err_Stage := 'retriving transaction source';
9375: log_message('log_message: ' || pa_debug.G_err_Stage);
9376: END IF;
9377:
9378: -- Transaction import program is always run for 1 transaction source
9379: -- get the transaction source info and store in pkg body global variables
9719: l_records_updated := l_records_updated + SQL%ROWCOUNT;
9720:
9721:
9722: IF PG_DEBUG = 'Y' THEN
9723: pa_debug.G_err_stage := 'Updated PacketId [' || p_packet_id || ']-' || l_records_updated || ' records to A/C';
9724: log_message('log_message: ' || pa_debug.G_err_Stage);
9725: END IF;
9726:
9727:
9720:
9721:
9722: IF PG_DEBUG = 'Y' THEN
9723: pa_debug.G_err_stage := 'Updated PacketId [' || p_packet_id || ']-' || l_records_updated || ' records to A/C';
9724: log_message('log_message: ' || pa_debug.G_err_Stage);
9725: END IF;
9726:
9727:
9728: IF PG_DEBUG = 'Y' THEN
9756:
9757: pa_cc_utils.set_curr_function('tieback_fc_records');
9758:
9759: IF PG_DEBUG = 'Y' THEN
9760: pa_debug.G_err_stage := 'Start of tieback_fc_records';
9761: log_message('log_message: ' || pa_debug.G_err_Stage);
9762: END IF;
9763:
9764: -- set the return status to success
9757: pa_cc_utils.set_curr_function('tieback_fc_records');
9758:
9759: IF PG_DEBUG = 'Y' THEN
9760: pa_debug.G_err_stage := 'Start of tieback_fc_records';
9761: log_message('log_message: ' || pa_debug.G_err_Stage);
9762: END IF;
9763:
9764: -- set the return status to success
9765: x_return_status := FND_API.G_RET_STS_SUCCESS;
9775: l_bc_pkt_id;
9776:
9777: if c_exp_item_id%notfound then
9778: IF PG_DEBUG = 'Y' THEN
9779: pa_debug.G_err_stage := 'No packets found for updating of exp item id , exit';
9780: log_message('log_message: ' || pa_debug.G_err_Stage);
9781: END IF;
9782: exit;
9783: end if;
9776:
9777: if c_exp_item_id%notfound then
9778: IF PG_DEBUG = 'Y' THEN
9779: pa_debug.G_err_stage := 'No packets found for updating of exp item id , exit';
9780: log_message('log_message: ' || pa_debug.G_err_Stage);
9781: END IF;
9782: exit;
9783: end if;
9784:
9792: -- Bug 5560524 : Added 'AP ERV' to the following condition.
9793: if (p_calling_mode in ('AP VARIANCE', 'AP ERV' , 'PO RECEIPT', 'PO RECEIPT NRTAX')) Then
9794:
9795: IF PG_DEBUG = 'Y' THEN
9796: pa_debug.G_err_stage := 'Before opening the cursor select_bc_packets for ' || p_calling_mode;
9797: log_message('log_message: ' || pa_debug.G_err_Stage);
9798: END IF;
9799:
9800: open select_bc_packets(p_calling_mode) ;
9793: if (p_calling_mode in ('AP VARIANCE', 'AP ERV' , 'PO RECEIPT', 'PO RECEIPT NRTAX')) Then
9794:
9795: IF PG_DEBUG = 'Y' THEN
9796: pa_debug.G_err_stage := 'Before opening the cursor select_bc_packets for ' || p_calling_mode;
9797: log_message('log_message: ' || pa_debug.G_err_Stage);
9798: END IF;
9799:
9800: open select_bc_packets(p_calling_mode) ;
9801:
9812: l_budget_version_id;
9813:
9814: if select_bc_packets%notfound then
9815: IF PG_DEBUG = 'Y' THEN
9816: pa_debug.G_err_stage := 'No packets found, exit';
9817: log_message('log_message: ' || pa_debug.G_err_Stage);
9818: END IF;
9819: exit ;
9820: end if;
9813:
9814: if select_bc_packets%notfound then
9815: IF PG_DEBUG = 'Y' THEN
9816: pa_debug.G_err_stage := 'No packets found, exit';
9817: log_message('log_message: ' || pa_debug.G_err_Stage);
9818: END IF;
9819: exit ;
9820: end if;
9821:
9819: exit ;
9820: end if;
9821:
9822: IF PG_DEBUG = 'Y' THEN
9823: pa_debug.G_err_stage := 'Old Pkt = ' || l_old_pkt
9824: || ' Packet Id = ' || l_packet_id
9825: || ' Ref2 = ' || l_sys_ref2
9826: || ' document dist id = ' || l_doc_dist_id
9827: || ' Ref4 = ' || l_sys_ref4;
9824: || ' Packet Id = ' || l_packet_id
9825: || ' Ref2 = ' || l_sys_ref2
9826: || ' document dist id = ' || l_doc_dist_id
9827: || ' Ref4 = ' || l_sys_ref4;
9828: log_message('log_message: ' || pa_debug.G_err_Stage);
9829: END IF;
9830:
9831: IF (l_old_pkt <> l_packet_id) THEN
9832: IF PG_DEBUG = 'Y' THEN
9829: END IF;
9830:
9831: IF (l_old_pkt <> l_packet_id) THEN
9832: IF PG_DEBUG = 'Y' THEN
9833: pa_debug.G_err_stage := 'Calling Upd_Sts_Enc_Bal';
9834: log_message('log_message: ' || pa_debug.G_err_Stage);
9835: END IF;
9836:
9837: Upd_Sts_Enc_Bal(p_packet_id => l_packet_id,
9830:
9831: IF (l_old_pkt <> l_packet_id) THEN
9832: IF PG_DEBUG = 'Y' THEN
9833: pa_debug.G_err_stage := 'Calling Upd_Sts_Enc_Bal';
9834: log_message('log_message: ' || pa_debug.G_err_Stage);
9835: END IF;
9836:
9837: Upd_Sts_Enc_Bal(p_packet_id => l_packet_id,
9838: x_return_status => x_return_status);
9837: Upd_Sts_Enc_Bal(p_packet_id => l_packet_id,
9838: x_return_status => x_return_status);
9839:
9840: IF PG_DEBUG = 'Y' THEN
9841: pa_debug.G_err_stage := 'After Calling Upd_Sts_Enc_Bal';
9842: log_message('log_message: ' || pa_debug.G_err_Stage);
9843: END IF;
9844: END IF;
9845:
9838: x_return_status => x_return_status);
9839:
9840: IF PG_DEBUG = 'Y' THEN
9841: pa_debug.G_err_stage := 'After Calling Upd_Sts_Enc_Bal';
9842: log_message('log_message: ' || pa_debug.G_err_Stage);
9843: END IF;
9844: END IF;
9845:
9846: IF (pa_funds_control_utils.get_bdgt_link(l_Project_Id, 'STD') = 'Y') THEN
9867: and cdl.expenditure_item_id = l_ExpItemId_temp_Tab(j) ;
9868: END IF ;
9869:
9870: IF PG_DEBUG = 'Y' THEN
9871: pa_debug.G_err_stage := 'Updated Ref2-Ref3 [' || l_sys_ref2 || ',' || l_doc_dist_id || ',' || l_sys_ref4 || ']-'
9872: || SQL%ROWCOUNT || ' Budget CCID';
9873: log_message('log_message: ' || pa_debug.G_err_Stage);
9874: END IF;
9875:
9869:
9870: IF PG_DEBUG = 'Y' THEN
9871: pa_debug.G_err_stage := 'Updated Ref2-Ref3 [' || l_sys_ref2 || ',' || l_doc_dist_id || ',' || l_sys_ref4 || ']-'
9872: || SQL%ROWCOUNT || ' Budget CCID';
9873: log_message('log_message: ' || pa_debug.G_err_Stage);
9874: END IF;
9875:
9876: END IF;
9877:
9888:
9889: elsif (p_calling_mode in ('AP INVOICE', 'AP NRTAX') ) then
9890:
9891: IF PG_DEBUG = 'Y' THEN
9892: pa_debug.G_err_stage := 'Before opening the cursor rcpt_acc_ap_pkts for ' || p_calling_mode;
9893: log_message('log_message: ' || pa_debug.G_err_Stage);
9894: END IF;
9895:
9896: open rcpt_acc_ap_pkts(p_calling_mode);
9889: elsif (p_calling_mode in ('AP INVOICE', 'AP NRTAX') ) then
9890:
9891: IF PG_DEBUG = 'Y' THEN
9892: pa_debug.G_err_stage := 'Before opening the cursor rcpt_acc_ap_pkts for ' || p_calling_mode;
9893: log_message('log_message: ' || pa_debug.G_err_Stage);
9894: END IF;
9895:
9896: open rcpt_acc_ap_pkts(p_calling_mode);
9897:
9908: l_budget_version_id;
9909:
9910: if rcpt_acc_ap_pkts%notfound then
9911: IF PG_DEBUG = 'Y' THEN
9912: pa_debug.G_err_stage := 'No packets found, exit';
9913: log_message('log_message: ' || pa_debug.G_err_Stage);
9914: END IF;
9915: exit;
9916: end if;
9909:
9910: if rcpt_acc_ap_pkts%notfound then
9911: IF PG_DEBUG = 'Y' THEN
9912: pa_debug.G_err_stage := 'No packets found, exit';
9913: log_message('log_message: ' || pa_debug.G_err_Stage);
9914: END IF;
9915: exit;
9916: end if;
9917:
9915: exit;
9916: end if;
9917:
9918: IF PG_DEBUG = 'Y' THEN
9919: pa_debug.G_err_stage := 'Old Pkt = ' || l_old_pkt
9920: || ' Packet Id = ' || l_packet_id
9921: || ' Ref2 = ' || l_sys_ref2
9922: || ' Document dist Id = ' || l_doc_dist_id
9923: || ' Ref4 = ' || l_sys_ref4;
9920: || ' Packet Id = ' || l_packet_id
9921: || ' Ref2 = ' || l_sys_ref2
9922: || ' Document dist Id = ' || l_doc_dist_id
9923: || ' Ref4 = ' || l_sys_ref4;
9924: log_message('log_message: ' || pa_debug.G_err_Stage);
9925: END IF;
9926:
9927: IF (l_old_pkt <> l_packet_id) THEN
9928: IF PG_DEBUG = 'Y' THEN
9925: END IF;
9926:
9927: IF (l_old_pkt <> l_packet_id) THEN
9928: IF PG_DEBUG = 'Y' THEN
9929: pa_debug.G_err_stage := 'Calling Upd_Sts_Enc_Bal';
9930: log_message('log_message: ' || pa_debug.G_err_Stage);
9931: END IF;
9932:
9933: Upd_Sts_Enc_Bal(p_packet_id => l_packet_id,
9926:
9927: IF (l_old_pkt <> l_packet_id) THEN
9928: IF PG_DEBUG = 'Y' THEN
9929: pa_debug.G_err_stage := 'Calling Upd_Sts_Enc_Bal';
9930: log_message('log_message: ' || pa_debug.G_err_Stage);
9931: END IF;
9932:
9933: Upd_Sts_Enc_Bal(p_packet_id => l_packet_id,
9934: x_return_status => x_return_status);
9933: Upd_Sts_Enc_Bal(p_packet_id => l_packet_id,
9934: x_return_status => x_return_status);
9935:
9936: IF PG_DEBUG = 'Y' THEN
9937: pa_debug.G_err_stage := 'After Calling Upd_Sts_Enc_Bal';
9938: log_message('log_message: ' || pa_debug.G_err_Stage);
9939: END IF;
9940: END IF;
9941:
9934: x_return_status => x_return_status);
9935:
9936: IF PG_DEBUG = 'Y' THEN
9937: pa_debug.G_err_stage := 'After Calling Upd_Sts_Enc_Bal';
9938: log_message('log_message: ' || pa_debug.G_err_Stage);
9939: END IF;
9940: END IF;
9941:
9942: IF (pa_funds_control_utils.get_bdgt_link(l_Project_Id, 'STD') = 'Y') THEN
9963: and cdl.expenditure_item_id = l_ExpItemId_temp_Tab(j) ; /*REL12 : AP Lines Uptake changes*/
9964: END IF ;
9965:
9966: IF PG_DEBUG = 'Y' THEN
9967: pa_debug.G_err_stage := 'Updated Ref2-Ref3 [' || l_sys_ref2 || ',' || l_doc_dist_id || ',' || l_sys_ref4 || ']-'
9968: || SQL%ROWCOUNT || ' Budget CCID';
9969: log_message('log_message: ' || pa_debug.G_err_Stage);
9970: END IF;
9971:
9965:
9966: IF PG_DEBUG = 'Y' THEN
9967: pa_debug.G_err_stage := 'Updated Ref2-Ref3 [' || l_sys_ref2 || ',' || l_doc_dist_id || ',' || l_sys_ref4 || ']-'
9968: || SQL%ROWCOUNT || ' Budget CCID';
9969: log_message('log_message: ' || pa_debug.G_err_Stage);
9970: END IF;
9971:
9972: END IF;
9973:
9986:
9987: elsif (p_calling_mode in ('AP DISCOUNTS')) Then --Bug 2339216
9988:
9989: IF PG_DEBUG = 'Y' THEN
9990: pa_debug.G_err_stage := 'Before opening the cursor select_disc_packets for ' || p_calling_mode;
9991: log_message('log_message: ' || pa_debug.G_err_Stage);
9992: END IF;
9993:
9994: open select_disc_packets(p_calling_mode) ;
9987: elsif (p_calling_mode in ('AP DISCOUNTS')) Then --Bug 2339216
9988:
9989: IF PG_DEBUG = 'Y' THEN
9990: pa_debug.G_err_stage := 'Before opening the cursor select_disc_packets for ' || p_calling_mode;
9991: log_message('log_message: ' || pa_debug.G_err_Stage);
9992: END IF;
9993:
9994: open select_disc_packets(p_calling_mode) ;
9995:
10006: l_budget_version_id;
10007:
10008: if select_disc_packets%notfound then
10009: IF PG_DEBUG = 'Y' THEN
10010: pa_debug.G_err_stage := 'No discount packets found, exit';
10011: log_message('log_message: ' || pa_debug.G_err_Stage);
10012: END IF;
10013: exit ;
10014: end if;
10007:
10008: if select_disc_packets%notfound then
10009: IF PG_DEBUG = 'Y' THEN
10010: pa_debug.G_err_stage := 'No discount packets found, exit';
10011: log_message('log_message: ' || pa_debug.G_err_Stage);
10012: END IF;
10013: exit ;
10014: end if;
10015:
10013: exit ;
10014: end if;
10015:
10016: IF PG_DEBUG = 'Y' THEN
10017: pa_debug.G_err_stage := 'Old Pkt = ' || l_old_pkt
10018: || ' Packet Id = ' || l_packet_id
10019: || ' Ref2 = ' || l_sys_ref2
10020: || ' Document dist Id = ' || l_doc_dist_id
10021: || ' Ref4 = ' || l_sys_ref4;
10018: || ' Packet Id = ' || l_packet_id
10019: || ' Ref2 = ' || l_sys_ref2
10020: || ' Document dist Id = ' || l_doc_dist_id
10021: || ' Ref4 = ' || l_sys_ref4;
10022: log_message('log_message: ' || pa_debug.G_err_Stage);
10023: END IF;
10024:
10025: IF (l_old_pkt <> l_packet_id) THEN
10026: IF PG_DEBUG = 'Y' THEN
10023: END IF;
10024:
10025: IF (l_old_pkt <> l_packet_id) THEN
10026: IF PG_DEBUG = 'Y' THEN
10027: pa_debug.G_err_stage := 'Calling Upd_Sts_Enc_Bal for discount';
10028: log_message('log_message: ' || pa_debug.G_err_Stage);
10029: END IF;
10030:
10031: Upd_Sts_Enc_Bal(p_packet_id => l_packet_id,
10024:
10025: IF (l_old_pkt <> l_packet_id) THEN
10026: IF PG_DEBUG = 'Y' THEN
10027: pa_debug.G_err_stage := 'Calling Upd_Sts_Enc_Bal for discount';
10028: log_message('log_message: ' || pa_debug.G_err_Stage);
10029: END IF;
10030:
10031: Upd_Sts_Enc_Bal(p_packet_id => l_packet_id,
10032: x_return_status => x_return_status);
10031: Upd_Sts_Enc_Bal(p_packet_id => l_packet_id,
10032: x_return_status => x_return_status);
10033:
10034: IF PG_DEBUG = 'Y' THEN
10035: pa_debug.G_err_stage := 'After Calling Upd_Sts_Enc_Bal';
10036: log_message('log_message: ' || pa_debug.G_err_Stage);
10037: END IF;
10038: END IF;
10039:
10032: x_return_status => x_return_status);
10033:
10034: IF PG_DEBUG = 'Y' THEN
10035: pa_debug.G_err_stage := 'After Calling Upd_Sts_Enc_Bal';
10036: log_message('log_message: ' || pa_debug.G_err_Stage);
10037: END IF;
10038: END IF;
10039:
10040: IF (pa_funds_control_utils.get_bdgt_link(l_Project_Id, 'STD') = 'Y') THEN
10062: and cdl.expenditure_item_id = l_ExpItemId_temp_Tab(j) ;
10063: END IF ;
10064:
10065: IF PG_DEBUG = 'Y' THEN
10066: pa_debug.G_err_stage := 'Updated Ref2-Ref3 [' || l_sys_ref2 || ',' || l_sys_ref3 || ',' || l_sys_ref4 || ']-'
10067: || SQL%ROWCOUNT || ' Budget CCID';
10068: log_message('log_message: ' || pa_debug.G_err_Stage);
10069: END IF;
10070:
10064:
10065: IF PG_DEBUG = 'Y' THEN
10066: pa_debug.G_err_stage := 'Updated Ref2-Ref3 [' || l_sys_ref2 || ',' || l_sys_ref3 || ',' || l_sys_ref4 || ']-'
10067: || SQL%ROWCOUNT || ' Budget CCID';
10068: log_message('log_message: ' || pa_debug.G_err_Stage);
10069: END IF;
10070:
10071: END IF;
10072:
10076: close select_disc_packets;
10077: end if;
10078:
10079: /* Start of bug 3239837 */
10080: pa_debug.G_err_stage := 'Update rejected interface records in pa_bc_packets to T';
10081: pa_cc_utils.log_message(pa_debug.G_err_Stage);
10082:
10083: update pa_bc_packets
10084: set status_code = 'T',
10077: end if;
10078:
10079: /* Start of bug 3239837 */
10080: pa_debug.G_err_stage := 'Update rejected interface records in pa_bc_packets to T';
10081: pa_cc_utils.log_message(pa_debug.G_err_Stage);
10082:
10083: update pa_bc_packets
10084: set status_code = 'T',
10085: result_code = 'F140'
10092: and transaction_status_code = 'R'
10093: and orig_transaction_reference = to_char(g_request_id)
10094: );
10095:
10096: pa_debug.G_err_stage := 'In stage 1 Updated count to T = '|| SQL%ROWCOUNT;
10097: pa_cc_utils.log_message(pa_debug.G_err_Stage);
10098:
10099: update pa_bc_packets
10100: set status_code = 'T',
10093: and orig_transaction_reference = to_char(g_request_id)
10094: );
10095:
10096: pa_debug.G_err_stage := 'In stage 1 Updated count to T = '|| SQL%ROWCOUNT;
10097: pa_cc_utils.log_message(pa_debug.G_err_Stage);
10098:
10099: update pa_bc_packets
10100: set status_code = 'T',
10101: result_code = 'F140'
10113: and pti.transaction_status_code = 'R'
10114: and pti.orig_transaction_reference = to_char(g_request_id))
10115: );
10116:
10117: pa_debug.G_err_stage := 'In stage 2 Updated count to T = '|| SQL%ROWCOUNT;
10118: pa_cc_utils.log_message(pa_debug.G_err_Stage);
10119:
10120: /* End of bug 3239837 */
10121:
10114: and pti.orig_transaction_reference = to_char(g_request_id))
10115: );
10116:
10117: pa_debug.G_err_stage := 'In stage 2 Updated count to T = '|| SQL%ROWCOUNT;
10118: pa_cc_utils.log_message(pa_debug.G_err_Stage);
10119:
10120: /* End of bug 3239837 */
10121:
10122: --Bug 3592289
10141: --Bug 3592289 End
10142:
10143:
10144: IF PG_DEBUG = 'Y' THEN
10145: pa_debug.G_err_stage := 'Done with Tieback';
10146: log_message('log_message: ' || pa_debug.G_err_Stage);
10147: END IF;
10148:
10149: pa_cc_utils.reset_curr_function;
10142:
10143:
10144: IF PG_DEBUG = 'Y' THEN
10145: pa_debug.G_err_stage := 'Done with Tieback';
10146: log_message('log_message: ' || pa_debug.G_err_Stage);
10147: END IF;
10148:
10149: pa_cc_utils.reset_curr_function;
10150:
10254: BEGIN
10255:
10256: pa_cc_utils.set_curr_function('tr_import_funds_check');
10257: IF PG_DEBUG = 'Y' THEN
10258: pa_debug.G_err_stage := 'Inside Tr_Import_Funds_Check';
10259: log_message('log_message: ' || pa_debug.G_err_Stage);
10260: END IF;
10261:
10262: --
10255:
10256: pa_cc_utils.set_curr_function('tr_import_funds_check');
10257: IF PG_DEBUG = 'Y' THEN
10258: pa_debug.G_err_stage := 'Inside Tr_Import_Funds_Check';
10259: log_message('log_message: ' || pa_debug.G_err_Stage);
10260: END IF;
10261:
10262: --
10263: -- 1. Generate a packet identifier for all the records that
10263: -- 1. Generate a packet identifier for all the records that
10264: -- needs to be inserted into Pa BC Packets
10265: --
10266: IF PG_DEBUG = 'Y' THEN
10267: pa_debug.G_err_stage := 'Generateing new packet Id';
10268: log_message('log_message: ' || pa_debug.G_err_Stage);
10269: END IF;
10270: Select Gl_Bc_Packets_s.NextVal
10271: Into l_Packet_Id
10264: -- needs to be inserted into Pa BC Packets
10265: --
10266: IF PG_DEBUG = 'Y' THEN
10267: pa_debug.G_err_stage := 'Generateing new packet Id';
10268: log_message('log_message: ' || pa_debug.G_err_Stage);
10269: END IF;
10270: Select Gl_Bc_Packets_s.NextVal
10271: Into l_Packet_Id
10272: From dual;
10281: --for both the reversing raw and burden lines and also the EXP lines.
10282: --Funds Check API will derive the GL_Date based on the Period_Name, so what
10283: --we insert for gl_date is irrelevant here.
10284: IF PG_DEBUG = 'Y' THEN
10285: pa_debug.G_err_stage := 'Calling G_FC_Period_Name';
10286: log_message('log_message: ' || pa_debug.G_err_Stage);
10287: END IF;
10288:
10289: G_FC_Period_Name := Get_FC_Period_Name(P_Gl_Date => G_FC_Gl_Date);
10282: --Funds Check API will derive the GL_Date based on the Period_Name, so what
10283: --we insert for gl_date is irrelevant here.
10284: IF PG_DEBUG = 'Y' THEN
10285: pa_debug.G_err_stage := 'Calling G_FC_Period_Name';
10286: log_message('log_message: ' || pa_debug.G_err_Stage);
10287: END IF;
10288:
10289: G_FC_Period_Name := Get_FC_Period_Name(P_Gl_Date => G_FC_Gl_Date);
10290:
10288:
10289: G_FC_Period_Name := Get_FC_Period_Name(P_Gl_Date => G_FC_Gl_Date);
10290:
10291: IF PG_DEBUG = 'Y' THEN
10292: pa_debug.G_err_stage := 'G_FC_Period_Name = ' || G_FC_Period_Name;
10293: log_message('log_message: ' || pa_debug.G_err_Stage);
10294: END IF;
10295: --End Bug 2905892
10296:
10289: G_FC_Period_Name := Get_FC_Period_Name(P_Gl_Date => G_FC_Gl_Date);
10290:
10291: IF PG_DEBUG = 'Y' THEN
10292: pa_debug.G_err_stage := 'G_FC_Period_Name = ' || G_FC_Period_Name;
10293: log_message('log_message: ' || pa_debug.G_err_Stage);
10294: END IF;
10295: --End Bug 2905892
10296:
10297: -- R12 : AP Lines Uptake changes + R12 AP lines uptake : Prepayment changes
10330:
10331: ELSIF (l_txn_source in ('AP INVOICE', 'AP NRTAX') ) THEN
10332:
10333: IF PG_DEBUG = 'Y' THEN
10334: pa_debug.G_err_stage := 'Selecting PO Dist Id for AP Invoice';
10335: log_message('log_message: ' || pa_debug.G_err_Stage);
10336: END IF;
10337:
10338: -- REL12 : AP Lines Uptake changes
10331: ELSIF (l_txn_source in ('AP INVOICE', 'AP NRTAX') ) THEN
10332:
10333: IF PG_DEBUG = 'Y' THEN
10334: pa_debug.G_err_stage := 'Selecting PO Dist Id for AP Invoice';
10335: log_message('log_message: ' || pa_debug.G_err_Stage);
10336: END IF;
10337:
10338: -- REL12 : AP Lines Uptake changes
10339: -- Commented logic associated with IPV and ERV columns as these will be now interfaced
10372:
10373: If (l_po_dist_id is not null AND l_inv_type <> 'PREPAYMENT' ) Then
10374:
10375: IF PG_DEBUG = 'Y' THEN
10376: pa_debug.G_err_stage := 'PO Dist Found, Selecting Receipt Accrual Flag';
10377: log_message('log_message: ' || pa_debug.G_err_Stage);
10378: END IF;
10379:
10380: --R12 Funds management uptake changes: Obsolete logic which was based on financial system parameters.Going forward
10373: If (l_po_dist_id is not null AND l_inv_type <> 'PREPAYMENT' ) Then
10374:
10375: IF PG_DEBUG = 'Y' THEN
10376: pa_debug.G_err_stage := 'PO Dist Found, Selecting Receipt Accrual Flag';
10377: log_message('log_message: ' || pa_debug.G_err_Stage);
10378: END IF;
10379:
10380: --R12 Funds management uptake changes: Obsolete logic which was based on financial system parameters.Going forward
10381: --commitments fundscheck will be performed irrespective of value stored in encumbrance types.
10407: nvl(Pa_Pjc_Cwk_Utils.Is_rate_based_line( null, l_po_dist_id),'N') = 'Y' AND
10408: Pa_Pjc_CWk_Utils.Is_CWK_TC_Xface_Allowed(l_project_id) = 'Y')Then
10409:
10410: IF PG_DEBUG = 'Y' THEN
10411: pa_debug.G_err_stage := 'PO accrues on receipt or Enc Type Same for non-accrue on receipt';
10412: log_message('log_message: ' || pa_debug.G_err_Stage);
10413: END IF;
10414:
10415: --This is not a normal invoice meaning we have to reverse the
10408: Pa_Pjc_CWk_Utils.Is_CWK_TC_Xface_Allowed(l_project_id) = 'Y')Then
10409:
10410: IF PG_DEBUG = 'Y' THEN
10411: pa_debug.G_err_stage := 'PO accrues on receipt or Enc Type Same for non-accrue on receipt';
10412: log_message('log_message: ' || pa_debug.G_err_Stage);
10413: END IF;
10414:
10415: --This is not a normal invoice meaning we have to reverse the
10416: --PO commitment and then check if there is any variances and
10426: log_message('log_message: ' || ' Acct PO Amt = ' || l_acct_po_amt);
10427: END IF;
10428:
10429: IF PG_DEBUG = 'Y' THEN
10430: pa_debug.G_err_stage := 'Calling ap_po_funds_check';
10431: log_message('log_message: ' || pa_debug.G_err_Stage);
10432: END IF;
10433:
10434: ap_po_funds_check (
10427: END IF;
10428:
10429: IF PG_DEBUG = 'Y' THEN
10430: pa_debug.G_err_stage := 'Calling ap_po_funds_check';
10431: log_message('log_message: ' || pa_debug.G_err_Stage);
10432: END IF;
10433:
10434: ap_po_funds_check (
10435: p_txn_source => l_txn_source,
10449: x_error_stage => x_error_stage,
10450: x_return_status => x_return_status);
10451:
10452: IF PG_DEBUG = 'Y' THEN
10453: pa_debug.G_err_stage := 'After ap_po_funds_check';
10454: log_message('log_message: ' || pa_debug.G_err_Stage);
10455: END IF;
10456:
10457: End If;
10450: x_return_status => x_return_status);
10451:
10452: IF PG_DEBUG = 'Y' THEN
10453: pa_debug.G_err_stage := 'After ap_po_funds_check';
10454: log_message('log_message: ' || pa_debug.G_err_Stage);
10455: END IF;
10456:
10457: End If;
10458:
10460:
10461: If (l_normal_inv = 'Y') Then
10462:
10463: IF PG_DEBUG = 'Y' THEN
10464: pa_debug.G_err_stage := 'Start funds check packet insert for AP - non accrue on receipt diff enc type';
10465: log_message('log_message: ' || pa_debug.G_err_Stage);
10466: END IF;
10467:
10468: ap_funds_check (
10461: If (l_normal_inv = 'Y') Then
10462:
10463: IF PG_DEBUG = 'Y' THEN
10464: pa_debug.G_err_stage := 'Start funds check packet insert for AP - non accrue on receipt diff enc type';
10465: log_message('log_message: ' || pa_debug.G_err_Stage);
10466: END IF;
10467:
10468: ap_funds_check (
10469: p_txn_source => l_txn_source,
10479: x_error_stage => x_error_stage,
10480: x_return_status => x_return_status);
10481:
10482: IF PG_DEBUG = 'Y' THEN
10483: pa_debug.G_err_stage := 'After ap_funds_check';
10484: log_message('log_message: ' || pa_debug.G_err_Stage);
10485: END IF;
10486:
10487: /*REL12 : AP Lines Uptake changes
10480: x_return_status => x_return_status);
10481:
10482: IF PG_DEBUG = 'Y' THEN
10483: pa_debug.G_err_stage := 'After ap_funds_check';
10484: log_message('log_message: ' || pa_debug.G_err_Stage);
10485: END IF;
10486:
10487: /*REL12 : AP Lines Uptake changes
10488: Commented below logic as IPV / ERV/QV/AV lines will be separately interfaced
10494: -- Added the below section for Receipt records to be funds checked.
10495: ELSIF (l_txn_source in ('PO RECEIPT', 'PO RECEIPT NRTAX')) THEN
10496:
10497: IF PG_DEBUG = 'Y' THEN
10498: pa_debug.G_err_stage := 'Start funds check packet insert for PO Receipts';
10499: log_message('log_message: ' || pa_debug.G_err_Stage);
10500: END IF;
10501:
10502: po_funds_check (
10495: ELSIF (l_txn_source in ('PO RECEIPT', 'PO RECEIPT NRTAX')) THEN
10496:
10497: IF PG_DEBUG = 'Y' THEN
10498: pa_debug.G_err_stage := 'Start funds check packet insert for PO Receipts';
10499: log_message('log_message: ' || pa_debug.G_err_Stage);
10500: END IF;
10501:
10502: po_funds_check (
10503: p_txn_source => l_txn_source,
10513: x_error_stage => x_error_stage,
10514: x_return_status => x_return_status);
10515:
10516: IF PG_DEBUG = 'Y' THEN
10517: pa_debug.G_err_stage := 'After po_funds_check';
10518: log_message('log_message: ' || pa_debug.G_err_Stage);
10519: END IF;
10520:
10521: /* Bug 5560524 : Modified the following If condition so that ap_funds_check is also called for
10514: x_return_status => x_return_status);
10515:
10516: IF PG_DEBUG = 'Y' THEN
10517: pa_debug.G_err_stage := 'After po_funds_check';
10518: log_message('log_message: ' || pa_debug.G_err_Stage);
10519: END IF;
10520:
10521: /* Bug 5560524 : Modified the following If condition so that ap_funds_check is also called for
10522: 'AP ERV' transaction source. */
10522: 'AP ERV' transaction source. */
10523: ELSIF (l_txn_source in ('AP VARIANCE','AP ERV')) THEN
10524:
10525: IF PG_DEBUG = 'Y' THEN
10526: pa_debug.G_err_stage := 'Start funds check packet insert for AP Variance records';
10527: log_message('log_message: ' || pa_debug.G_err_Stage);
10528: END IF;
10529:
10530: ap_funds_check (
10523: ELSIF (l_txn_source in ('AP VARIANCE','AP ERV')) THEN
10524:
10525: IF PG_DEBUG = 'Y' THEN
10526: pa_debug.G_err_stage := 'Start funds check packet insert for AP Variance records';
10527: log_message('log_message: ' || pa_debug.G_err_Stage);
10528: END IF;
10529:
10530: ap_funds_check (
10531: p_txn_source => l_txn_source,
10541: x_error_stage => x_error_stage,
10542: x_return_status => x_return_status);
10543:
10544: IF PG_DEBUG = 'Y' THEN
10545: pa_debug.G_err_stage := 'After ap_funds_check';
10546: log_message('log_message: ' || pa_debug.G_err_Stage);
10547: END IF;
10548: -- R12 AP lines uptake : Prepayment changes: This is fired for both Cash and Accrual based AP discounts.
10549: ELSIF (l_txn_source in ('AP DISCOUNTS')) THEN --2339216
10542: x_return_status => x_return_status);
10543:
10544: IF PG_DEBUG = 'Y' THEN
10545: pa_debug.G_err_stage := 'After ap_funds_check';
10546: log_message('log_message: ' || pa_debug.G_err_Stage);
10547: END IF;
10548: -- R12 AP lines uptake : Prepayment changes: This is fired for both Cash and Accrual based AP discounts.
10549: ELSIF (l_txn_source in ('AP DISCOUNTS')) THEN --2339216
10550: IF PG_DEBUG = 'Y' THEN
10547: END IF;
10548: -- R12 AP lines uptake : Prepayment changes: This is fired for both Cash and Accrual based AP discounts.
10549: ELSIF (l_txn_source in ('AP DISCOUNTS')) THEN --2339216
10550: IF PG_DEBUG = 'Y' THEN
10551: pa_debug.G_err_stage := 'Selecting disc amount for AP Invoice';
10552: log_message('log_message: ' || pa_debug.G_err_Stage);
10553: END IF;
10554:
10555: IF PG_DEBUG = 'Y' THEN
10548: -- R12 AP lines uptake : Prepayment changes: This is fired for both Cash and Accrual based AP discounts.
10549: ELSIF (l_txn_source in ('AP DISCOUNTS')) THEN --2339216
10550: IF PG_DEBUG = 'Y' THEN
10551: pa_debug.G_err_stage := 'Selecting disc amount for AP Invoice';
10552: log_message('log_message: ' || pa_debug.G_err_Stage);
10553: END IF;
10554:
10555: IF PG_DEBUG = 'Y' THEN
10556: pa_debug.G_err_stage := 'Discount amount='||p_acct_raw_cost;
10552: log_message('log_message: ' || pa_debug.G_err_Stage);
10553: END IF;
10554:
10555: IF PG_DEBUG = 'Y' THEN
10556: pa_debug.G_err_stage := 'Discount amount='||p_acct_raw_cost;
10557: log_message('log_message: ' || pa_debug.G_err_Stage);
10558: END IF;
10559:
10560: if ( p_acct_raw_cost <> 0 ) then
10553: END IF;
10554:
10555: IF PG_DEBUG = 'Y' THEN
10556: pa_debug.G_err_stage := 'Discount amount='||p_acct_raw_cost;
10557: log_message('log_message: ' || pa_debug.G_err_Stage);
10558: END IF;
10559:
10560: if ( p_acct_raw_cost <> 0 ) then
10561: ap_disc_funds_check (
10573: x_error_stage => x_error_stage,
10574: x_return_status => x_return_status);
10575:
10576: IF PG_DEBUG = 'Y' THEN
10577: pa_debug.G_err_stage := 'After Call ap_disc_funds_check';
10578: log_message('log_message: ' || pa_debug.G_err_Stage);
10579: END IF;
10580: end if; --2339216
10581: END IF; --p_txn_source check
10574: x_return_status => x_return_status);
10575:
10576: IF PG_DEBUG = 'Y' THEN
10577: pa_debug.G_err_stage := 'After Call ap_disc_funds_check';
10578: log_message('log_message: ' || pa_debug.G_err_Stage);
10579: END IF;
10580: end if; --2339216
10581: END IF; --p_txn_source check
10582:
10623:
10624: pa_cc_utils.set_curr_function('ap_disc_funds_check');
10625:
10626: IF PG_DEBUG = 'Y' THEN
10627: pa_debug.G_err_stage := 'Inside AP_Disc_Funds_Check';
10628: log_message('log_message: ' || pa_debug.G_err_Stage);
10629: END IF;
10630:
10631: insert_ap_bc_packets( p_packet_id => p_packet_id,
10624: pa_cc_utils.set_curr_function('ap_disc_funds_check');
10625:
10626: IF PG_DEBUG = 'Y' THEN
10627: pa_debug.G_err_stage := 'Inside AP_Disc_Funds_Check';
10628: log_message('log_message: ' || pa_debug.G_err_Stage);
10629: END IF;
10630:
10631: insert_ap_bc_packets( p_packet_id => p_packet_id,
10632: p_sys_ref2 => p_sys_ref2,
10692:
10693: pa_cc_utils.set_curr_function('ap_funds_check');
10694:
10695: IF PG_DEBUG = 'Y' THEN
10696: pa_debug.G_err_stage := 'Inside AP_Funds_Check';
10697: log_message('log_message: ' || pa_debug.G_err_Stage);
10698: END IF;
10699:
10700: insert_ap_bc_packets( p_packet_id => p_packet_id,
10693: pa_cc_utils.set_curr_function('ap_funds_check');
10694:
10695: IF PG_DEBUG = 'Y' THEN
10696: pa_debug.G_err_stage := 'Inside AP_Funds_Check';
10697: log_message('log_message: ' || pa_debug.G_err_Stage);
10698: END IF;
10699:
10700: insert_ap_bc_packets( p_packet_id => p_packet_id,
10701: p_sys_ref2 => p_sys_ref2,
10847:
10848: pa_cc_utils.set_curr_function('po_funds_check');
10849:
10850: IF PG_DEBUG = 'Y' THEN
10851: pa_debug.G_err_stage := 'Inside PO_Funds_Check';
10852: log_message('log_message: ' || pa_debug.G_err_Stage);
10853: END IF;
10854:
10855: -- Bug 4346519 : Receipt Returns ( i.e. -ve amt getting interfaced to projects) should reserve the cmt costs that are getting
10848: pa_cc_utils.set_curr_function('po_funds_check');
10849:
10850: IF PG_DEBUG = 'Y' THEN
10851: pa_debug.G_err_stage := 'Inside PO_Funds_Check';
10852: log_message('log_message: ' || pa_debug.G_err_Stage);
10853: END IF;
10854:
10855: -- Bug 4346519 : Receipt Returns ( i.e. -ve amt getting interfaced to projects) should reserve the cmt costs that are getting
10856: -- interfaced without any manipulations.Below logic should get fired only if commitment is being relieved
10909:
10910: END IF;
10911:
10912: IF PG_DEBUG = 'Y' THEN
10913: pa_debug.G_err_stage := 'Before Calling insert_po_bc_packets';
10914: log_message('log_message: ' || pa_debug.G_err_Stage);
10915: END IF;
10916:
10917: insert_po_bc_packets (p_packet_id => p_packet_id ,
10910: END IF;
10911:
10912: IF PG_DEBUG = 'Y' THEN
10913: pa_debug.G_err_stage := 'Before Calling insert_po_bc_packets';
10914: log_message('log_message: ' || pa_debug.G_err_Stage);
10915: END IF;
10916:
10917: insert_po_bc_packets (p_packet_id => p_packet_id ,
10918: p_sys_ref2 => p_sys_ref2 ,
10925: p_adj_exp_item_id => p_adj_exp_item_id,
10926: p_txn_interface_id => p_txn_interface_id);
10927:
10928: IF PG_DEBUG = 'Y' THEN
10929: pa_debug.G_err_stage := 'After Calling insert_po_bc_packets';
10930: log_message('log_message: ' || pa_debug.G_err_Stage);
10931: END IF;
10932:
10933: IF PG_DEBUG = 'Y' THEN
10926: p_txn_interface_id => p_txn_interface_id);
10927:
10928: IF PG_DEBUG = 'Y' THEN
10929: pa_debug.G_err_stage := 'After Calling insert_po_bc_packets';
10930: log_message('log_message: ' || pa_debug.G_err_Stage);
10931: END IF;
10932:
10933: IF PG_DEBUG = 'Y' THEN
10934: log_message('log_message: ' || 'Returning from po funds check');
10987:
10988: pa_cc_utils.set_curr_function('ap_po_funds_check');
10989:
10990: IF PG_DEBUG = 'Y' THEN
10991: pa_debug.G_err_stage := 'Inside ap_po_Funds_Check';
10992: log_message('log_message: ' || pa_debug.G_err_Stage);
10993: END IF;
10994:
10995: IF PG_DEBUG = 'Y' THEN
10988: pa_cc_utils.set_curr_function('ap_po_funds_check');
10989:
10990: IF PG_DEBUG = 'Y' THEN
10991: pa_debug.G_err_stage := 'Inside ap_po_Funds_Check';
10992: log_message('log_message: ' || pa_debug.G_err_Stage);
10993: END IF;
10994:
10995: IF PG_DEBUG = 'Y' THEN
10996: pa_debug.G_err_stage := 'Start funds check packet insert for AP records that accrue on receipt';
10992: log_message('log_message: ' || pa_debug.G_err_Stage);
10993: END IF;
10994:
10995: IF PG_DEBUG = 'Y' THEN
10996: pa_debug.G_err_stage := 'Start funds check packet insert for AP records that accrue on receipt';
10997: log_message('log_message: ' || pa_debug.G_err_Stage);
10998: END IF;
10999:
11000: IF PG_DEBUG = 'Y' THEN
10993: END IF;
10994:
10995: IF PG_DEBUG = 'Y' THEN
10996: pa_debug.G_err_stage := 'Start funds check packet insert for AP records that accrue on receipt';
10997: log_message('log_message: ' || pa_debug.G_err_Stage);
10998: END IF;
10999:
11000: IF PG_DEBUG = 'Y' THEN
11001: pa_debug.G_err_stage := 'Call po_funds_check to reverse out the PO commitment';
10997: log_message('log_message: ' || pa_debug.G_err_Stage);
10998: END IF;
10999:
11000: IF PG_DEBUG = 'Y' THEN
11001: pa_debug.G_err_stage := 'Call po_funds_check to reverse out the PO commitment';
11002: log_message('log_message: ' || pa_debug.G_err_Stage);
11003: END IF;
11004:
11005: po_funds_check (
10998: END IF;
10999:
11000: IF PG_DEBUG = 'Y' THEN
11001: pa_debug.G_err_stage := 'Call po_funds_check to reverse out the PO commitment';
11002: log_message('log_message: ' || pa_debug.G_err_Stage);
11003: END IF;
11004:
11005: po_funds_check (
11006: p_txn_source => p_txn_source,
11025:
11026: IF NVL(p_base_qty_var_amt,0) <> 0 THEN
11027:
11028: IF PG_DEBUG = 'Y' THEN
11029: pa_debug.G_err_stage := 'Call ap_funds_check to reverse out the ap p_base_qty_var_amt = '||p_base_qty_var_amt;
11030: log_message('log_message: ' || pa_debug.G_err_Stage);
11031: END IF;
11032:
11033: ap_funds_check (
11026: IF NVL(p_base_qty_var_amt,0) <> 0 THEN
11027:
11028: IF PG_DEBUG = 'Y' THEN
11029: pa_debug.G_err_stage := 'Call ap_funds_check to reverse out the ap p_base_qty_var_amt = '||p_base_qty_var_amt;
11030: log_message('log_message: ' || pa_debug.G_err_Stage);
11031: END IF;
11032:
11033: ap_funds_check (
11034: p_txn_source => 'AP VARIANCE',
11049:
11050: IF NVL(p_base_amt_var_amt,0) <> 0 THEN
11051:
11052: IF PG_DEBUG = 'Y' THEN
11053: pa_debug.G_err_stage := 'Call ap_funds_check to reverse out the ap p_base_amt_var_amt = '||p_base_amt_var_amt;
11054: log_message('log_message: ' || pa_debug.G_err_Stage);
11055: END IF;
11056:
11057: ap_funds_check (
11050: IF NVL(p_base_amt_var_amt,0) <> 0 THEN
11051:
11052: IF PG_DEBUG = 'Y' THEN
11053: pa_debug.G_err_stage := 'Call ap_funds_check to reverse out the ap p_base_amt_var_amt = '||p_base_amt_var_amt;
11054: log_message('log_message: ' || pa_debug.G_err_Stage);
11055: END IF;
11056:
11057: ap_funds_check (
11058: p_txn_source => 'AP VARIANCE',
11268: /*E.N. 5297060*/
11269:
11270: IF ( G_Org_Id IS NULL ) THEN
11271: IF PG_DEBUG = 'Y' THEN
11272: pa_debug.G_err_Stage := 'P_Emp_Org_Id is null';
11273: log_message('log_message: ' || pa_debug.G_err_Stage);
11274: END IF;
11275: X_status := 'NO_ASSIGNMENT';
11276: pa_cc_utils.reset_curr_function;
11269:
11270: IF ( G_Org_Id IS NULL ) THEN
11271: IF PG_DEBUG = 'Y' THEN
11272: pa_debug.G_err_Stage := 'P_Emp_Org_Id is null';
11273: log_message('log_message: ' || pa_debug.G_err_Stage);
11274: END IF;
11275: X_status := 'NO_ASSIGNMENT';
11276: pa_cc_utils.reset_curr_function;
11277: RETURN;
11295:
11296: END IF;
11297:
11298: IF PG_DEBUG = 'Y' THEN
11299: pa_debug.G_err_stage := 'Calling GetProjCurrInfo';
11300: log_message('log_message: ' || pa_debug.G_err_Stage);
11301: END IF;
11302:
11303: GetProjCurrInfo(G_task_id,
11296: END IF;
11297:
11298: IF PG_DEBUG = 'Y' THEN
11299: pa_debug.G_err_stage := 'Calling GetProjCurrInfo';
11300: log_message('log_message: ' || pa_debug.G_err_Stage);
11301: END IF;
11302:
11303: GetProjCurrInfo(G_task_id,
11304: X_project_currency_code,
11324:
11325: /* Added the call to GetProjTypeInfo for getting the project type class for
11326: * bug#4903329 */
11327: IF PG_DEBUG = 'Y' THEN
11328: pa_debug.G_err_stage := 'Calling GetProjTypeInfo';
11329: log_message('log_message: ' || pa_debug.G_err_Stage);
11330: END IF;
11331:
11332:
11325: /* Added the call to GetProjTypeInfo for getting the project type class for
11326: * bug#4903329 */
11327: IF PG_DEBUG = 'Y' THEN
11328: pa_debug.G_err_stage := 'Calling GetProjTypeInfo';
11329: log_message('log_message: ' || pa_debug.G_err_Stage);
11330: END IF;
11331:
11332:
11333: GetProjTypeInfo( G_project_id,
11344:
11345: IF G_allow_dup_flag <> 'Y' THEN
11346:
11347: IF PG_DEBUG = 'Y' THEN
11348: pa_debug.G_err_stage := 'Calling CheckDupItem';
11349: log_message('log_message: ' || pa_debug.G_err_Stage);
11350: END IF;
11351: CheckDupItem ( X_trx_src, X_trx_ref, temp_status );
11352: IF ( temp_status IS NOT NULL ) THEN
11345: IF G_allow_dup_flag <> 'Y' THEN
11346:
11347: IF PG_DEBUG = 'Y' THEN
11348: pa_debug.G_err_stage := 'Calling CheckDupItem';
11349: log_message('log_message: ' || pa_debug.G_err_Stage);
11350: END IF;
11351: CheckDupItem ( X_trx_src, X_trx_ref, temp_status );
11352: IF ( temp_status IS NOT NULL ) THEN
11353: X_status := temp_status;
11363: --
11364: IF ( ( X_qty < 0 and X_match_flag = 'N' ) OR
11365: ( X_match_flag = 'N' and X_trx_src = 'ORACLE TIME AND LABOR' ) ) THEN
11366: IF PG_DEBUG = 'Y' THEN
11367: pa_debug.G_err_stage := 'Calling pa_adjustments.VerifyOrigItem';
11368: log_message('log_message: ' || pa_debug.G_err_Stage);
11369: END IF;
11370: G_adj_item_id := pa_adjustments.VerifyOrigItem(
11371: X_person_id => G_person_id
11364: IF ( ( X_qty < 0 and X_match_flag = 'N' ) OR
11365: ( X_match_flag = 'N' and X_trx_src = 'ORACLE TIME AND LABOR' ) ) THEN
11366: IF PG_DEBUG = 'Y' THEN
11367: pa_debug.G_err_stage := 'Calling pa_adjustments.VerifyOrigItem';
11368: log_message('log_message: ' || pa_debug.G_err_Stage);
11369: END IF;
11370: G_adj_item_id := pa_adjustments.VerifyOrigItem(
11371: X_person_id => G_person_id
11372: , X_org_id => G_org_id
11391:
11392: ELSIF ( G_adj_item_id IS NOT NULL AND X_module = 'PAXTRTRX' ) THEN
11393:
11394: IF PG_DEBUG = 'Y' THEN
11395: pa_debug.G_err_stage := 'Calling pa_adjustments.ExpAdjItemTab';
11396: log_message('log_message: ' || pa_debug.G_err_Stage);
11397: END IF;
11398: pa_adjustments.ExpAdjItemTab(G_adj_item_id) := G_adj_item_id;
11399:
11392: ELSIF ( G_adj_item_id IS NOT NULL AND X_module = 'PAXTRTRX' ) THEN
11393:
11394: IF PG_DEBUG = 'Y' THEN
11395: pa_debug.G_err_stage := 'Calling pa_adjustments.ExpAdjItemTab';
11396: log_message('log_message: ' || pa_debug.G_err_Stage);
11397: END IF;
11398: pa_adjustments.ExpAdjItemTab(G_adj_item_id) := G_adj_item_id;
11399:
11400: IF PG_DEBUG = 'Y' THEN
11397: END IF;
11398: pa_adjustments.ExpAdjItemTab(G_adj_item_id) := G_adj_item_id;
11399:
11400: IF PG_DEBUG = 'Y' THEN
11401: pa_debug.G_err_stage := 'Locking adjusting item:'||to_char(G_adj_item_id);
11402: log_message('log_message: ' || pa_debug.G_err_Stage);
11403: END IF;
11404:
11405: BEGIN
11398: pa_adjustments.ExpAdjItemTab(G_adj_item_id) := G_adj_item_id;
11399:
11400: IF PG_DEBUG = 'Y' THEN
11401: pa_debug.G_err_stage := 'Locking adjusting item:'||to_char(G_adj_item_id);
11402: log_message('log_message: ' || pa_debug.G_err_Stage);
11403: END IF;
11404:
11405: BEGIN
11406:
11428:
11429: END IF;
11430:
11431: IF PG_DEBUG = 'Y' THEN
11432: pa_debug.G_err_stage := 'Calling PA_UTILS2.GetPrjOrgId';
11433: log_message('log_message: ' || pa_debug.G_err_Stage);
11434: END IF;
11435: G_RecvrOrgId := PA_UTILS2.GetPrjOrgId(p_project_id => G_project_id,
11436: p_task_id => NULL);
11429: END IF;
11430:
11431: IF PG_DEBUG = 'Y' THEN
11432: pa_debug.G_err_stage := 'Calling PA_UTILS2.GetPrjOrgId';
11433: log_message('log_message: ' || pa_debug.G_err_Stage);
11434: END IF;
11435: G_RecvrOrgId := PA_UTILS2.GetPrjOrgId(p_project_id => G_project_id,
11436: p_task_id => NULL);
11437:
11435: G_RecvrOrgId := PA_UTILS2.GetPrjOrgId(p_project_id => G_project_id,
11436: p_task_id => NULL);
11437:
11438: IF PG_DEBUG = 'Y' THEN
11439: pa_debug.G_err_stage := 'Calling API to derive/validate assignment and work type info';
11440: log_message('log_message: ' || pa_debug.G_err_Stage);
11441: log_message('log_message: ' || 'Assignment Name = ' || X_Assignment_Name || ' Work Type Name = ' || X_Work_Type_Name);
11442: END IF;
11443:
11436: p_task_id => NULL);
11437:
11438: IF PG_DEBUG = 'Y' THEN
11439: pa_debug.G_err_stage := 'Calling API to derive/validate assignment and work type info';
11440: log_message('log_message: ' || pa_debug.G_err_Stage);
11441: log_message('log_message: ' || 'Assignment Name = ' || X_Assignment_Name || ' Work Type Name = ' || X_Work_Type_Name);
11442: END IF;
11443:
11444: /*S.N. 5297060*/
11466:
11467: IF (l_asgn_work_ret_sts <> FND_API.G_RET_STS_SUCCESS) THEN
11468:
11469: IF PG_DEBUG = 'Y' THEN
11470: pa_debug.G_err_stage := 'Get Work Type and Assignment API failed';
11471: log_message('log_message: ' || pa_debug.G_err_Stage);
11472: log_message('log_message: ' || 'Ret Sts = ' || l_asgn_work_ret_sts || ' Error = ' || l_asgn_work_err_msg);
11473: END IF;
11474:
11467: IF (l_asgn_work_ret_sts <> FND_API.G_RET_STS_SUCCESS) THEN
11468:
11469: IF PG_DEBUG = 'Y' THEN
11470: pa_debug.G_err_stage := 'Get Work Type and Assignment API failed';
11471: log_message('log_message: ' || pa_debug.G_err_Stage);
11472: log_message('log_message: ' || 'Ret Sts = ' || l_asgn_work_ret_sts || ' Error = ' || l_asgn_work_err_msg);
11473: END IF;
11474:
11475: X_Status := l_asgn_work_err_msg;
11486: G_IcProcessed_Code := 'X';
11487: l_temp_g_assignment_id := G_Assignment_Id; -- bug 5297060
11488:
11489: IF PG_DEBUG = 'Y' THEN
11490: pa_debug.G_err_stage := 'Calling patc client extension for override to assignment id';
11491: log_message('log_message: ' || pa_debug.G_err_Stage);
11492: END IF;
11493:
11494: patcx.tc_extension( X_project_id => g_project_id
11487: l_temp_g_assignment_id := G_Assignment_Id; -- bug 5297060
11488:
11489: IF PG_DEBUG = 'Y' THEN
11490: pa_debug.G_err_stage := 'Calling patc client extension for override to assignment id';
11491: log_message('log_message: ' || pa_debug.G_err_Stage);
11492: END IF;
11493:
11494: patcx.tc_extension( X_project_id => g_project_id
11495: , X_task_id => g_task_id
11562:
11563: EXCEPTION
11564: WHEN OTHERS THEN
11565: IF PG_DEBUG = 'Y' THEN
11566: log_message('log_message: ' || pa_debug.G_err_Stack,1);
11567: log_message('log_message: ' || pa_debug.G_err_stage,1);
11568: log_message('log_message: ' || SQLERRM,1);
11569: END IF;
11570: pa_cc_utils.reset_curr_function;
11563: EXCEPTION
11564: WHEN OTHERS THEN
11565: IF PG_DEBUG = 'Y' THEN
11566: log_message('log_message: ' || pa_debug.G_err_Stack,1);
11567: log_message('log_message: ' || pa_debug.G_err_stage,1);
11568: log_message('log_message: ' || SQLERRM,1);
11569: END IF;
11570: pa_cc_utils.reset_curr_function;
11571: RAISE ;
11600: LOOP
11601: BEGIN
11602:
11603: l_lock_status := -1;
11604: l_lock_status := Pa_Debug.Release_User_Lock(PoLineTaskTab(i));
11605:
11606: IF (l_lock_status = 0) THEN
11607: IF PG_DEBUG = 'Y' THEN
11608: pa_debug.G_err_stage := 'RELEASE_PO_LINE_TASK_LOCK : Released Lock for : '||PoLineTaskTab(i);
11604: l_lock_status := Pa_Debug.Release_User_Lock(PoLineTaskTab(i));
11605:
11606: IF (l_lock_status = 0) THEN
11607: IF PG_DEBUG = 'Y' THEN
11608: pa_debug.G_err_stage := 'RELEASE_PO_LINE_TASK_LOCK : Released Lock for : '||PoLineTaskTab(i);
11609: log_message('log_message: ' || pa_debug.G_err_stage,1);
11610: END IF;
11611: ELSE
11612: IF PG_DEBUG = 'Y' THEN
11605:
11606: IF (l_lock_status = 0) THEN
11607: IF PG_DEBUG = 'Y' THEN
11608: pa_debug.G_err_stage := 'RELEASE_PO_LINE_TASK_LOCK : Released Lock for : '||PoLineTaskTab(i);
11609: log_message('log_message: ' || pa_debug.G_err_stage,1);
11610: END IF;
11611: ELSE
11612: IF PG_DEBUG = 'Y' THEN
11613: pa_debug.G_err_stage := 'RELEASE_PO_LINE_TASK_LOCK : Failed To Release Lock for : '||PoLineTaskTab(i);
11609: log_message('log_message: ' || pa_debug.G_err_stage,1);
11610: END IF;
11611: ELSE
11612: IF PG_DEBUG = 'Y' THEN
11613: pa_debug.G_err_stage := 'RELEASE_PO_LINE_TASK_LOCK : Failed To Release Lock for : '||PoLineTaskTab(i);
11614: log_message('log_message: ' || pa_debug.G_err_stage,1);
11615: END IF;
11616: END IF;
11617:
11610: END IF;
11611: ELSE
11612: IF PG_DEBUG = 'Y' THEN
11613: pa_debug.G_err_stage := 'RELEASE_PO_LINE_TASK_LOCK : Failed To Release Lock for : '||PoLineTaskTab(i);
11614: log_message('log_message: ' || pa_debug.G_err_stage,1);
11615: END IF;
11616: END IF;
11617:
11618: EXCEPTION
11618: EXCEPTION
11619: WHEN OTHERS THEN
11620:
11621: IF PG_DEBUG = 'Y' THEN
11622: pa_debug.G_err_stage := 'RELEASE_PO_LINE_TASK_LOCK : In Process of Releasing Locks : ' ||SQLERRM;
11623: log_message('log_message: ' || pa_debug.G_err_stage,1);
11624: END IF;
11625:
11626: END ;
11619: WHEN OTHERS THEN
11620:
11621: IF PG_DEBUG = 'Y' THEN
11622: pa_debug.G_err_stage := 'RELEASE_PO_LINE_TASK_LOCK : In Process of Releasing Locks : ' ||SQLERRM;
11623: log_message('log_message: ' || pa_debug.G_err_stage,1);
11624: END IF;
11625:
11626: END ;
11627:
11867:
11868: pa_cc_utils.set_curr_function('ap_funds_check');
11869:
11870: IF PG_DEBUG = 'Y' THEN
11871: pa_debug.G_err_stage := 'Inside AP_Funds_Check';
11872: log_message('log_message: ' || pa_debug.G_err_Stage);
11873: END IF;
11874:
11875: -- Calling GetCommSummAmt to calculate AP distribution's raw and burden amount to be relieved/reserved.
11868: pa_cc_utils.set_curr_function('ap_funds_check');
11869:
11870: IF PG_DEBUG = 'Y' THEN
11871: pa_debug.G_err_stage := 'Inside AP_Funds_Check';
11872: log_message('log_message: ' || pa_debug.G_err_Stage);
11873: END IF;
11874:
11875: -- Calling GetCommSummAmt to calculate AP distribution's raw and burden amount to be relieved/reserved.
11876: GetCommSummAmt(p_ap_pkt_raw_amt => l_raw_amount);