DBA Data[Home] [Help]

APPS.PAAPIMP_PKG SQL Statements

The following lines contain the word 'select', 'insert', 'update' or 'delete':

Line: 181

        SELECT decode(PTYPE.Project_Type_Class_Code,'CAPITAL','P','X')
          INTO G_Assets_Addition_flag
          FROM pa_project_types_all PTYPE,
               pa_projects_all PROJ
         WHERE PTYPE.Project_Type = PROJ.Project_Type
           AND (PTYPE.org_id = PROJ.org_id OR
                PROJ.org_id is null)
           AND PROJ.Project_Id = G_PROJECT_ID;
Line: 417

    SELECT ap.set_of_books_id,
           pa.set_of_books_id
      INTO G_AP_SOB,
           G_PA_SOB
      FROM ap_system_parameters ap,
           pa_implementations pa;
Line: 439

        SELECT po.set_of_books_id
          INTO G_PO_SOB
          FROM financials_system_parameters po;
Line: 529

      variables in 'insert_into_trans_intf' API */

   G_INVOICE_TYPE := p_invoice_type;
Line: 543

   /* SELECT NVL(org_id, -99) commented for bug#2488576,removed nvl */
     SELECT org_id
     INTO G_ORG_ID
     FROM pa_implementations;
Line: 689

   SELECT pa_interface_id_s.nextval
     into v_interface_id
     FROM dual;
Line: 824

        SELECT 'Y'
        FROM    fnd_concurrent_requests req,
                fnd_concurrent_programs prog,
                fnd_executables exe
        WHERE   req.program_application_id = prog.application_id
          AND   req.concurrent_program_id = prog.concurrent_program_id
          AND   req.phase_code = 'R'
	  AND	req.request_id <> G_REQUEST_ID
          AND   prog.executable_application_id = exe.application_id
          AND   prog.executable_id = exe.executable_id
          AND   exe.executable_name = 'PAAPIMP';
Line: 885

	        UPDATE ap_invoice_distributions_all DIST
              	SET DIST.pa_addition_flag = 'N'
                  , DIST.request_id = G_REQUEST_ID
              	WHERE  DIST.pa_addition_flag IN ('O','W')
              	AND  DIST.posted_flag= 'Y' -- removed the append  || '' for bug 13599091
              	AND  DIST.project_id >0
                AND  NOT EXISTS ( SELECT 'X'
                                   FROM pa_expenditure_items_all ei
				  WHERE ei.document_header_id = dist.invoice_id   /*Added for bug 6327185 */
                                    AND ei.document_distribution_id = dist.invoice_distribution_id
                                    AND ei.transaction_source in ('AP INVOICE','AP VARIANCE','AP NRTAX','AP EXPENSE')) ;
Line: 899

		 UPDATE ap_self_assessed_tax_dist_all DIST
              	SET DIST.pa_addition_flag = 'N'
                  , DIST.request_id = G_REQUEST_ID
              	WHERE  DIST.pa_addition_flag IN ('O','W')
              	AND  DIST.posted_flag||''= 'Y'
              	AND  DIST.project_id >0
                AND  NOT EXISTS ( SELECT 'X'
                                   FROM pa_expenditure_items_all ei
				  WHERE ei.document_header_id = dist.invoice_id
                                    AND ei.document_distribution_id = dist.invoice_distribution_id
				    AND ei.document_distribution_type = 'SELF_ASSESSED_TAX'
                                    AND ei.transaction_source in ('AP INVOICE','AP VARIANCE','AP NRTAX','AP EXPENSE')) ;
Line: 914

		write_log(LOG, 'Number of invoice distributions updated = ' || to_char(SQL%ROWCOUNT));
Line: 917

                UPDATE ap_payment_hist_dists dist
                SET    dist.pa_addition_flag = 'N'
                     , DIST.request_id = G_REQUEST_ID
                WHERE  DIST.pa_addition_flag  = 'O'
                AND    dist.pay_dist_lookup_code = 'DISCOUNT'
                AND    EXISTS (SELECT /*+ push_subq no_unnest */ NULL    /* added hint for BUG 13002753 */
                             FROM   ap_payment_history_all hist
                             WHERE  hist.payment_history_id = dist.payment_history_id
                             AND    hist.posted_flag = 'Y')
                AND    NOT EXISTS ( SELECT /*+ push_subq no_unnest */ 'X'   /* added hint for BUG 13002753 */
                                     FROM pa_expenditure_items_all ei
                                    WHERE ei.document_distribution_id = dist.invoice_distribution_id
                                      AND ei.document_payment_id = dist.invoice_payment_id
                                      AND ei.transaction_source = 'AP DISCOUNTS') ;
Line: 933

                write_log(LOG, 'Number of discount distributions updated = ' || to_char(SQL%ROWCOUNT));
Line: 940

                UPDATE rcv_receiving_sub_ledger rcv_sub
                   SET rcv_sub.pa_addition_flag = 'N'
                      ,rcv_sub.request_id       = G_REQUEST_ID
                 WHERE rcv_sub.pa_addition_flag = 'O'
                   AND NOT EXISTS (SELECT 'X'
                                    FROM pa_expenditure_items_all ei
                                    WHERE  ei.document_distribution_id = rcv_sub.rcv_transaction_id);
Line: 952

                UPDATE rcv_receiving_sub_ledger rcv_sub
                   SET rcv_sub.pa_addition_flag = 'I'
                 WHERE rcv_sub.pa_addition_flag = 'J';
Line: 962

                UPDATE ap_payment_hist_dists dist
                SET    dist.pa_addition_flag = 'N'
                     , DIST.request_id = G_REQUEST_ID
              	WHERE  DIST.pa_addition_flag  = 'O'
                AND    dist.pay_dist_lookup_code = 'CASH'
                AND    EXISTS (SELECT NULL
                             FROM   ap_payment_history_all hist
                             WHERE  hist.payment_history_id = dist.payment_history_id
                             AND    hist.posted_flag = 'Y')
                AND    NOT EXISTS ( SELECT 'X'
                                     FROM pa_expenditure_items_all ei
                                    WHERE ei.document_distribution_id = dist.invoice_distribution_id
                                      AND ei.document_payment_id = dist.invoice_payment_id
                                      AND ei.transaction_source = 'AP INVOICE') ;
Line: 978

		write_log(LOG, 'Number of payment distributions updated = ' || to_char(SQL%ROWCOUNT));
Line: 981

                UPDATE ap_prepay_app_dists dist
                SET    dist.pa_addition_flag = 'N',
                       request_id = G_REQUEST_ID
                WHERE  dist.pa_addition_flag = 'O'
                AND    NOT EXISTS ( SELECT 'X'
                                     FROM pa_expenditure_items_all ei
                                     WHERE ei.document_distribution_id = dist.invoice_distribution_id
                                       AND ei.document_payment_id = dist.prepay_app_dist_id
                                       AND ei.transaction_source in ('AP INVOICE','AP VARIANCE','AP NRTAX','AP EXPENSE')) ;
Line: 992

		write_log(LOG, 'Number of prepayment appl distributions updated = ' || to_char(SQL%ROWCOUNT));
Line: 1037

  SELECT ledger_id, currency_code
  FROM   gl_alc_ledger_rships_v
  WHERE  source_ledger_id = p_set_of_books_id
  AND    application_id = 275
--  AND    org_id = p_org_id commented for bug 9649314
  AND    relationship_enabled_flag = 'Y';
Line: 1063

   SELECT NVL(org_id,-99)
     INTO   l_org_id
     FROM pa_implementations;
Line: 1219

   savepoint import; /*savepoint added for bug 2138340. The data inserted into
Line: 1249

        UPDATE pa_transaction_interface
           SET transaction_status_code = 'R',
               transaction_rejection_code = 'TRX_IMPORT_ABORTED'
         WHERE interface_id = p_interface_id
           AND transaction_status_code = 'P'
           AND transaction_source = p_transaction_source
           AND batch_name = p_batch_name;
Line: 1327

   l_num_dists_updated	NUMBER;
Line: 1354

            /* Modified the hint on following update statement for bug 6920705 */
            UPDATE /*+ index(dist AP_INVOICE_DISTRIBUTIONS_N14) */ ap_invoice_distributions dist
                 SET dist.pa_addition_flag 		=	'Z',
                     request_id 				=	G_REQUEST_ID,
                     last_update_date			=	SYSDATE,  --bug 3905111
                     last_updated_by			=	G_USER_ID,
                     last_update_login			=	G_USER_ID,
                     program_id					=	G_PROG_ID,
                     program_application_id		=	G_PROG_APPL_ID,
                     program_update_date		=	SYSDATE, --bug 3905111
                     dist.assets_addition_flag 	=	decode(G_Assets_Addition_flag,'P','P',
                                                   		     dist.assets_addition_flag)
     	       WHERE dist.pa_addition_flag IN ('N', 'S', 'A', 'B', 'C', 'D', 'I', 'J', 'K', 'M', 'P', 'V', 'X', 'W')
                 AND dist.posted_flag = 'Y'  -- removed the append  || '' for bug 13599091
                 AND dist.project_id  = G_PROJECT_ID
                 /* 12773881 AND   'N' = (select cost_rate_flag
                                from pa_expenditure_types
                               where expenditure_type = dist.expenditure_type)*/

		       --Bug 14320909 starts
	               AND dist.Accounting_Date <= nvl(G_GL_DATE,dist.Accounting_Date)   /*GSCC*/
                       AND dist.Expenditure_Item_Date <= NVL(G_TRANSACTION_DATE,dist.Expenditure_Item_Date)
                       --Bug 14320909 ends

                 AND EXISTS (SELECT invoice_id
                               FROM AP_INVOICES inv
                              WHERE inv.invoice_id = DIST.invoice_id
                                AND inv.invoice_type_lookup_code = 'EXPENSE REPORT')
                 AND ( --( nvl(dist.encumbered_flag,'N') = 'R' ) OR /* Coomented for bug#13940879 */
		    (dist.line_type_lookup_code ='NONREC_TAX' AND nvl(dist.base_amount,dist.amount)=0)) /*Added for bug:7622893*/
                 AND NOT EXISTS (SELECT NULL
                              FROM   ap_invoice_distributions dist1
                              WHERE  dist.parent_reversal_id is not null
                              AND    dist.parent_reversal_id = dist1.invoice_distribution_id
                              AND    dist1.pa_addition_flag = 'T'
                              AND    dist1.encumbered_flag = 'R'
			      )
                 --Update historical data for Cash Based Acctng
                 AND  (G_ACCTNG_METHOD = 'A' OR (G_ACCTNG_METHOD = 'C' AND dist.historical_flag = 'Y'));
Line: 1394

    	   l_num_dists_updated := SQL%ROWCOUNT ;
Line: 1397

           	write_log(LOG, 'Updated '||to_char(l_num_dists_updated)|| 'invoice distributions to Z for Encumbrance');
Line: 1402

 UPDATE ap_self_assessed_tax_dist dist
                 SET dist.pa_addition_flag 		=	'Z',
                     request_id 				=	G_REQUEST_ID,
                     last_update_date			=	SYSDATE,
                     last_updated_by			=	G_USER_ID,
                     last_update_login			=	G_USER_ID,
                     program_id					=	G_PROG_ID,
                     program_application_id		=	G_PROG_APPL_ID,
                     program_update_date		=	SYSDATE,
                     dist.assets_addition_flag 	=	decode(G_Assets_Addition_flag,'P','P',dist.assets_addition_flag)
     	       WHERE dist.pa_addition_flag IN ('N', 'S', 'A', 'B', 'C', 'D', 'I', 'J', 'K', 'M', 'P', 'V', 'X', 'W')
                 AND dist.posted_flag||'' = 'Y'
                 AND dist.project_id  = G_PROJECT_ID
                                 AND EXISTS (SELECT invoice_id
                               FROM AP_INVOICES inv
                              WHERE inv.invoice_id = DIST.invoice_id
                                AND inv.invoice_type_lookup_code = 'EXPENSE REPORT')
                 AND ( -- ( nvl(dist.encumbered_flag,'N') = 'R' ) OR  /* Commented for bug#13940879 */
	            (dist.line_type_lookup_code ='NONREC_TAX' AND nvl(dist.base_amount,dist.amount)=0))
                 AND NOT EXISTS (SELECT NULL
                              FROM   ap_self_assessed_tax_dist dist1
                              WHERE  dist.parent_reversal_id is not null
                              AND    dist.parent_reversal_id = dist1.invoice_distribution_id
                              AND    dist1.pa_addition_flag = 'T'
                              AND    dist1.encumbered_flag = 'R'
			      );
Line: 1429

 l_num_dists_updated := l_num_dists_updated + SQL%ROWCOUNT;
Line: 1432

           	write_log(LOG, 'Updated '||to_char(l_num_dists_updated)|| ' total invoice distributions to Z for Encumbrance');
Line: 1449

            UPDATE /*+ index(dist AP_INVOICE_DISTRIBUTIONS_N14)*/ ap_invoice_distributions dist /*Added for bug 6327185*/
               SET 	dist.pa_addition_flag 		= 	'Z',
                	request_id 					= 	G_REQUEST_ID,
                	last_update_date			=	SYSDATE,  --bug 3905111
                	last_updated_by				= 	G_USER_ID,
                	last_update_login			= 	G_USER_ID,
                	program_id					= 	G_PROG_ID,
                	program_application_id		= 	G_PROG_APPL_ID,
                	program_update_date			=	SYSDATE, --bug 3905111
                	dist.assets_addition_flag 	= 	DECODE(NVL(
                                                  (SELECT ptype.project_type_class_code
                                                  FROM pa_project_types_all ptype,
                                                    pa_projects_all proj
                                                  WHERE ptype.project_type = proj.project_type
                                                  AND (ptype.org_id        = proj.org_id
                                                  OR proj.org_id          IS NULL)
                                                  AND proj.project_id      = dist.project_id
                                                  ),'ERROR'), 'CAPITAL','P', dist.assets_addition_flag)   ---bug 13834151
	    WHERE dist.pa_addition_flag IN ('N', 'S', 'A', 'B', 'C', 'D', 'I', 'J', 'K', 'M', 'P', 'V', 'X', 'W')
              AND dist.posted_flag = 'Y' -- removed the append  || '' for bug 13599091
              AND dist.project_id > 0

	               --Bug 14320909 starts
	               AND dist.Accounting_Date <= nvl(G_GL_DATE,dist.Accounting_Date)   /*GSCC*/
                       AND dist.Expenditure_Item_Date <= NVL(G_TRANSACTION_DATE,dist.Expenditure_Item_Date)
                       --Bug 14320909 ends

              /* 12773881 AND 'N' = (select cost_rate_flag
                           from pa_expenditure_types
                          where expenditure_type = dist.expenditure_type) */
              AND EXISTS (SELECT invoice_id
                              FROM AP_INVOICES inv
                             WHERE inv.invoice_id = DIST.invoice_id
                               AND inv.invoice_type_lookup_code = 'EXPENSE REPORT')
                AND ( --( nvl(dist.encumbered_flag,'N') = 'R' ) OR  /* Commented for bug#13940879 */
	           (dist.line_type_lookup_code ='NONREC_TAX' AND nvl(dist.base_amount,dist.amount)=0)) /*Added for bug:7622893*/
              AND NOT EXISTS (SELECT NULL
                              FROM   ap_invoice_distributions dist1
                              WHERE  dist.parent_reversal_id is not null
                              AND    dist.parent_reversal_id = dist1.invoice_distribution_id
                              AND    dist1.pa_addition_flag = 'T'
                              AND    dist1.encumbered_flag = 'R'
			     )
              --Update historical data for Cash Based Acctng
              AND  (G_ACCTNG_METHOD = 'A' OR (G_ACCTNG_METHOD = 'C' AND dist.historical_flag = 'Y'));
Line: 1495

    	   l_num_dists_updated := SQL%ROWCOUNT ;
Line: 1498

           	write_log(LOG, 'Updated '||to_char(l_num_dists_updated)|| 'invoice distributions to Z for Encumbrance');
Line: 1504

	    UPDATE  ap_self_assessed_tax_dist dist
               SET 	dist.pa_addition_flag 		= 	'Z',
                	request_id 					= 	G_REQUEST_ID,
                	last_update_date			=	SYSDATE,
                	last_updated_by				= 	G_USER_ID,
                	last_update_login			= 	G_USER_ID,
                	program_id					= 	G_PROG_ID,
                	program_application_id		= 	G_PROG_APPL_ID,
                	program_update_date			=	SYSDATE,
                	dist.assets_addition_flag 	= 	(SELECT decode(ptype.project_type_class_code,
                                            				'CAPITAL','P', dist.assets_addition_flag)
                           							   FROM pa_project_types_all ptype, pa_projects_all proj
                           							  WHERE ptype.project_type = proj.project_type
                           								AND (ptype.org_id = proj.org_id
														 OR proj.org_id is null)
                           								AND proj.project_id = dist.project_id)
	    WHERE dist.pa_addition_flag IN ('N', 'S', 'A', 'B', 'C', 'D', 'I', 'J', 'K', 'M', 'P', 'V', 'X', 'W')
              AND dist.posted_flag||'' = 'Y'
              AND dist.project_id > 0
              AND EXISTS (SELECT invoice_id
                              FROM AP_INVOICES inv
                             WHERE inv.invoice_id = DIST.invoice_id
                               AND inv.invoice_type_lookup_code = 'EXPENSE REPORT')
                AND ( -- ( nvl(dist.encumbered_flag,'N') = 'R' ) OR   /* Commented for bug#13940879 */
	            (dist.line_type_lookup_code ='NONREC_TAX' AND nvl(dist.base_amount,dist.amount)=0))
              AND NOT EXISTS (SELECT NULL
                              FROM   ap_self_assessed_tax_dist dist1
                              WHERE  dist.parent_reversal_id is not null
                              AND    dist.parent_reversal_id = dist1.invoice_distribution_id
                              AND    dist1.pa_addition_flag = 'T'
                              AND    dist1.encumbered_flag = 'R'
			    );
Line: 1537

  l_num_dists_updated := l_num_dists_updated + SQL%ROWCOUNT ;
Line: 1540

           	write_log(LOG, 'Updated '||to_char(l_num_dists_updated)|| ' total (SAT + normal) invoice distributions to Z for Encumbrance');
Line: 1560

        /* Added the following update for bug 3569296 */
        -- The program should update the pa_addition_flag for all encumbered lines marked as R to netzero adj flag.
        -- R indicates a line to be ignored by encumbrance and validation code because neither the original nor the
        -- reversal distributions were looked at and they offset each other so, they can be ignored and marked as Z.
        -- (This is set only if the parent one is not validated as well. Otherwise the reversal one will also be encumbered).
        -- Since these lines have been not encumbered, there exist no Budgetery control commitment records for these in PA

	   If g_body_debug_mode = 'Y' Then
             G_err_stage := 'Updating invoice distributions to Z for project';
Line: 1571

          /* Modified the hint on following update statement for bug 6920705 */
         UPDATE /*+ index(dist AP_INVOICE_DISTRIBUTIONS_N14) */ ap_invoice_distributions dist
            SET dist.pa_addition_flag = 'Z',
                request_id = G_REQUEST_ID,
                last_update_date=SYSDATE, --bug 3905111
                last_updated_by= G_USER_ID,
                last_update_login= G_USER_ID,
                program_id= G_PROG_ID,
                program_application_id= G_PROG_APPL_ID,
                program_update_date=SYSDATE, --bug 3905111
                dist.assets_addition_flag = decode(G_Assets_Addition_flag,'P','P',
                                                   dist.assets_addition_flag)
         WHERE dist.pa_addition_flag IN ('N', 'S', 'A', 'B', 'C', 'D','H', 'I', 'J', 'K', 'L', 'M', 'P','V', 'X', 'W')
           AND dist.posted_flag = 'Y' -- removed the append  || '' for bug 13599091
           AND dist.project_id = G_PROJECT_ID

                       --Bug 14320909 starts
	               AND dist.Accounting_Date <= nvl(G_GL_DATE,dist.Accounting_Date)   /*GSCC*/
                       AND dist.Expenditure_Item_Date <= NVL(G_TRANSACTION_DATE,dist.Expenditure_Item_Date)
                       --Bug 14320909 ends

           AND ( -- ( nvl(dist.encumbered_flag,'N') = 'R' ) OR  /* Commented for bug#13940879 */
	           (dist.line_type_lookup_code ='NONREC_TAX' AND nvl(dist.base_amount,dist.amount)=0)) /*Added for bug:7622893*/
           --Update historical data for Cash Based Acctng
           AND  (G_ACCTNG_METHOD = 'A' OR (G_ACCTNG_METHOD = 'C' AND dist.historical_flag = 'Y'))
           AND NOT EXISTS (SELECT NULL
                           FROM   ap_invoice_distributions dist1
                           WHERE  dist.parent_reversal_id is not null
                           AND    dist.parent_reversal_id = dist1.invoice_distribution_id
                           AND    dist1.pa_addition_flag = 'T'
                           AND    dist1.encumbered_flag = 'R'
			   )
           AND EXISTS (SELECT invoice_id
                         FROM AP_INVOICES inv
                        WHERE inv.invoice_id = DIST.invoice_id
                          AND inv.invoice_type_lookup_code <> 'EXPENSE REPORT');
Line: 1608

      	write_log(LOG, 'Updated '||to_char(SQL%ROWCOUNT)|| 'invoice distributions to Z for Encumbrance');
Line: 1623

UPDATE  AP_SELF_ASSESSED_TAX_DIST dist
            SET dist.pa_addition_flag = 'Z',
                request_id = G_REQUEST_ID,
                last_update_date=SYSDATE,
                last_updated_by= G_USER_ID,
                last_update_login= G_USER_ID,
                program_id= G_PROG_ID,
                program_application_id= G_PROG_APPL_ID,
                program_update_date=SYSDATE,
                dist.assets_addition_flag = decode(G_Assets_Addition_flag,'P','P',
                                                   dist.assets_addition_flag)
         WHERE dist.pa_addition_flag IN ('N', 'S', 'A', 'B', 'C', 'D','H', 'I', 'J', 'K', 'L', 'M', 'P','V', 'X', 'W')
           AND dist.posted_flag||'' = 'Y'
           AND dist.project_id = G_PROJECT_ID
           AND (  -- ( nvl(dist.encumbered_flag,'N') = 'R' ) OR  /* Commented for bug#13940879 */
	           (dist.line_type_lookup_code ='NONREC_TAX' AND nvl(dist.base_amount,dist.amount)=0))
           AND NOT EXISTS (SELECT NULL
                           FROM   AP_SELF_ASSESSED_TAX_DIST dist1
                           WHERE  dist.parent_reversal_id is not null
                           AND    dist.parent_reversal_id = dist1.invoice_distribution_id
                           AND    dist1.pa_addition_flag = 'T'
                           AND    dist1.encumbered_flag = 'R'
			 )
           AND EXISTS (SELECT invoice_id
                         FROM AP_INVOICES inv
                        WHERE inv.invoice_id = DIST.invoice_id
                          AND inv.invoice_type_lookup_code <> 'EXPENSE REPORT');
Line: 1651

      	write_log(LOG, 'Updated '||to_char(SQL%ROWCOUNT)|| 'Self Assessed Tax  invoice distributions to Z for Encumbrance');
Line: 1669

            UPDATE /*+ index(dist AP_INVOICE_DISTRIBUTIONS_N14)*/ ap_invoice_distributions dist /*Added for bug 6327185*/
               SET 	dist.pa_addition_flag 	= 	'Z',
                	request_id 				= 	G_REQUEST_ID,
                	last_update_date		=	SYSDATE,  --bug 3905111
                	last_updated_by			= 	G_USER_ID,
                	last_update_login		= 	G_USER_ID,
                	program_id				= 	G_PROG_ID,
                	program_application_id	= 	G_PROG_APPL_ID,
                	program_update_date		=	SYSDATE,  --bug 3905111
                	dist.assets_addition_flag = DECODE(NVL(
                                                  (SELECT ptype.project_type_class_code
                                                  FROM pa_project_types_all ptype,
                                                    pa_projects_all proj
                                                  WHERE ptype.project_type = proj.project_type
                                                  AND (ptype.org_id        = proj.org_id
                                                  OR proj.org_id          IS NULL)
                                                  AND proj.project_id      = dist.project_id
                                                  ),'ERROR'), 'CAPITAL','P', dist.assets_addition_flag)   --- bug 13834151
             WHERE dist.pa_addition_flag IN ('N', 'S', 'A', 'B', 'C', 'D','H', 'I', 'J', 'K', 'L', 'M', 'P','V', 'X', 'W')
               AND   dist.posted_flag||'' = 'Y'
               AND   dist.project_id > 0

                       --Bug 14320909 starts
	               AND dist.Accounting_Date <= nvl(G_GL_DATE,dist.Accounting_Date)   /*GSCC*/
                       AND dist.Expenditure_Item_Date <= NVL(G_TRANSACTION_DATE,dist.Expenditure_Item_Date)
                       --Bug 14320909 ends

               AND ( -- ( nvl(dist.encumbered_flag,'N') = 'R' ) OR  /* Commented for bug#13940879 */
	        (dist.line_type_lookup_code ='NONREC_TAX' AND nvl(dist.base_amount,dist.amount)=0)) /*Added for bug:7622893*/
               --Update historical data for Cash Based Acctng
               AND  (G_ACCTNG_METHOD = 'A' OR (G_ACCTNG_METHOD = 'C' AND dist.historical_flag = 'Y'))
               AND NOT EXISTS (SELECT NULL
                              FROM   ap_invoice_distributions dist1
                              WHERE  dist.parent_reversal_id is not null
                              AND    dist.parent_reversal_id = dist1.invoice_distribution_id
                              AND    dist1.pa_addition_flag = 'T'
                              AND    dist1.encumbered_flag = 'R'
			    )
           AND EXISTS (SELECT invoice_id
                         FROM AP_INVOICES inv
                        WHERE inv.invoice_id = DIST.invoice_id
                          AND inv.invoice_type_lookup_code <> 'EXPENSE REPORT');
Line: 1712

      	write_log(LOG, 'Updated '||to_char(SQL%ROWCOUNT)|| 'invoice distributions to Z for Encumbrance');
Line: 1721

UPDATE AP_SELF_ASSESSED_TAX_DIST dist
               SET 	dist.pa_addition_flag 	= 	'Z',
                	request_id 				= 	G_REQUEST_ID,
                	last_update_date		=	SYSDATE,
                	last_updated_by			= 	G_USER_ID,
                	last_update_login		= 	G_USER_ID,
                	program_id				= 	G_PROG_ID,
                	program_application_id	= 	G_PROG_APPL_ID,
                	program_update_date		=	SYSDATE,
                	dist.assets_addition_flag = (SELECT decode(ptype.project_type_class_code,
                                            			'CAPITAL','P', dist.assets_addition_flag)
                           						   FROM pa_project_types_all ptype, pa_projects_all proj
                           						  WHERE ptype.project_type = proj.project_type
                           						    AND (ptype.org_id = proj.org_id OR
                                   						proj.org_id is null)
                           						    AND proj.project_id = dist.project_id)
             WHERE dist.pa_addition_flag IN ('N', 'S', 'A', 'B', 'C', 'D','H', 'I', 'J', 'K', 'L', 'M', 'P','V', 'X', 'W')
               AND   dist.posted_flag = 'Y'  -- removed the append  || '' for bug 13599091
               AND   dist.project_id > 0
               AND ( -- ( nvl(dist.encumbered_flag,'N') = 'R' ) OR  /* Commented for bug#13940879 */
	        (dist.line_type_lookup_code ='NONREC_TAX' AND nvl(dist.base_amount,dist.amount)=0))
                              AND NOT EXISTS (SELECT NULL
                              FROM   AP_SELF_ASSESSED_TAX_DIST dist1
                              WHERE  dist.parent_reversal_id is not null
                              AND    dist.parent_reversal_id = dist1.invoice_distribution_id
                              AND    dist1.pa_addition_flag = 'T'
                              AND    dist1.encumbered_flag = 'R'
			     )
           AND EXISTS (SELECT invoice_id
                         FROM AP_INVOICES inv
                        WHERE inv.invoice_id = DIST.invoice_id
                          AND inv.invoice_type_lookup_code <> 'EXPENSE REPORT');
Line: 1754

      	write_log(LOG, 'Updated '||to_char(SQL%ROWCOUNT)|| 'Self Assessed Tax  invoice distributions to Z for Encumbrance');
Line: 1790

       SELECT prepay_amount_remaining
       INTO   l_prepay_rem_amt
       FROM   ap_invoice_distributions_All
       WHERE  invoice_distribution_id = p_prepay_dist_id;
Line: 1795

	SELECT prepay_amount_remaining
       INTO   l_prepay_rem_amt
       FROM   ap_self_assessed_tax_dist_All
       WHERE  invoice_distribution_id = p_prepay_dist_id;
Line: 1864

          UPDATE  AP_Invoice_distributions DIST
             SET  DIST.Pa_Addition_Flag ='O',
                  request_id = G_REQUEST_ID,
                  last_update_date=SYSDATE,
                  last_updated_by=G_USER_ID,
                  last_update_login= G_USER_ID,
                  program_id= G_PROG_ID,
                  program_application_id= G_PROG_APPL_ID,
                  program_update_date=SYSDATE
           WHERE  DIST.Posted_Flag = 'Y' -- removed the append  || '' for bug 13599091
             AND  DIST.Pa_Addition_Flag IN
                          ('S', 'A', 'B', 'C', 'D', 'I', 'N', 'J', 'K', 'M', 'P','Q', 'V', 'X', 'W')
             AND DIST.project_id > 0
             AND dist.line_type_lookup_code <> 'REC_TAX' -- do not proces recoverable tax
             AND ((
                  exists (SELECT NULL
                           FROM AP_INVOICES inv,
                                AP_Invoice_distributions DIST1,
                                PO_VENDORS vend
                          WHERE inv.invoice_id = DIST1.invoice_id
                            AND DIST1.invoice_distribution_id = DIST.invoice_distribution_id
                            AND INV.payment_status_flag = 'Y'                                   -- Flag indicated FULLY paid inv
                            AND DIST1.historical_flag = 'Y'                                     -- process historical dist as invoices in Cash Based Acctng
                            AND inv.vendor_id = vend.vendor_id
                            AND ((inv.invoice_type_lookup_code = G_INVOICE_TYPE
                                  AND inv.source IN (G_INVOICE_SOURCE1, G_INVOICE_SOURCE2, G_INVOICE_SOURCE3)
                                  AND (vend.employee_id IS NOT NULL or nvl(inv.paid_on_behalf_employee_id,0) > 0))
                                 OR
                                (inv.invoice_type_lookup_code   in ('STANDARD','CREDIT','MIXED')
                                 AND inv.source in ('CREDIT CARD','Both Pay')
                                  /*   AND nvl(inv.PAID_ON_BEHALF_EMPLOYEE_ID,0) > 0 commented for bug#8977795 */)
                                  OR  (INV.INVOICE_TYPE_LOOKUP_CODE = 'EXPENSE REPORT'
                                  and exists (
                                  select 1 from PER_PEOPLE PPL,
                                  PER_ASSIGNMENTS ASGN ,PER_PERSON_TYPES PTYPE  where
                                   ASGN.VENDOR_ID = vend.VENDOR_ID
                                  and PPL.PERSON_ID = ASGN.PERSON_ID
                                  and PTYPE.PERSON_TYPE_ID = PPL.PERSON_TYPE_ID
                                  and PTYPE.SYSTEM_PERSON_TYPE in ('OTHER','CWK')))
                                  )))
                 OR
                  (EXISTS ( SELECT NULL
                           FROM  PO_VENDORS vend1,
                                 ap_invoices inv1,
                                 ap_invoice_distributions dist2
                           WHERE inv1.invoice_id = dist2.invoice_id
                           AND   inv1.invoice_id = dist.invoice_id
                           AND   (dist.reversal_flag = 'Y' or dist.cancellation_flag = 'Y' )
                           AND   dist2.invoice_distribution_id = dist.parent_reversal_id      --Process Historical data reversals as Invoices in Cash based
                           AND   dist2.pa_addition_flag = 'Y'
                           AND   inv1.vendor_id = vend1.vendor_id
                           AND ((inv1.invoice_type_lookup_code = G_INVOICE_TYPE
                                 AND inv1.source IN (G_INVOICE_SOURCE1, G_INVOICE_SOURCE2, G_INVOICE_SOURCE3)
                                 AND (vend1.employee_id IS NOT NULL or nvl(inv1.paid_on_behalf_employee_id,0) > 0))
                                OR
                                (inv1.invoice_type_lookup_code   in ('STANDARD','CREDIT','MIXED')
                                 AND inv1.source  in ('CREDIT CARD','Both Pay')
                                  /*   AND nvl(inv.PAID_ON_BEHALF_EMPLOYEE_ID,0) > 0 commented for bug#8977795 */)
                                  OR  (INV1.INVOICE_TYPE_LOOKUP_CODE = 'EXPENSE REPORT'				/*code changes for bug 14769043*/
                                  and exists (
                                  select 1 from PER_PEOPLE_F PPL,
                                  PER_ASSIGNMENTS_F ASGN ,PER_PERSON_TYPES PTYPE  where
                                   ASGN.VENDOR_ID = vend1.VENDOR_ID
                                  and PPL.PERSON_ID = ASGN.PERSON_ID
                                  and PTYPE.PERSON_TYPE_ID = PPL.PERSON_TYPE_ID
                                  and PTYPE.SYSTEM_PERSON_TYPE in ('OTHER','CWK')))
                                  )))
                 )
             AND DIST.project_id = G_PROJECT_ID
             AND trunc(DIST.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,DIST.expenditure_item_date))
             AND trunc(DIST.accounting_date) <= trunc(nvl(G_GL_DATE,DIST.accounting_date));
Line: 1941

	UPDATE ap_self_assessed_tax_dist DIST
             SET  DIST.Pa_Addition_Flag ='O',
                  request_id = G_REQUEST_ID,
                  last_update_date=SYSDATE,
                  last_updated_by=G_USER_ID,
                  last_update_login= G_USER_ID,
                  program_id= G_PROG_ID,
                  program_application_id= G_PROG_APPL_ID,
                  program_update_date=SYSDATE
           WHERE  DIST.Posted_Flag||'' = 'Y'
             AND  DIST.Pa_Addition_Flag IN
                          ('S', 'A', 'B', 'C', 'D', 'I', 'N', 'J', 'K', 'M', 'P','Q', 'V', 'X', 'W')
             AND DIST.project_id > 0
             AND dist.line_type_lookup_code <> 'REC_TAX' -- do not proces recoverable tax
             AND ((
                  exists (SELECT NULL
                           FROM AP_INVOICES inv,
                                ap_self_assessed_tax_dist DIST1,
                                PO_VENDORS vend
                          WHERE inv.invoice_id = DIST1.invoice_id
                            AND DIST1.invoice_distribution_id = DIST.invoice_distribution_id
                            AND INV.payment_status_flag = 'Y'                                   -- Flag indicated FULLY paid inv
                            --AND DIST1.historical_flag = 'Y'                                     -- process historical dist as invoices in Cash Based Acctng
                            AND inv.vendor_id = vend.vendor_id
                            AND ((inv.invoice_type_lookup_code = G_INVOICE_TYPE
                                  AND inv.source IN (G_INVOICE_SOURCE1, G_INVOICE_SOURCE2, G_INVOICE_SOURCE3)
                                  AND (vend.employee_id IS NOT NULL or nvl(inv.paid_on_behalf_employee_id,0) > 0))
                                 OR
                                (inv.invoice_type_lookup_code   in ('STANDARD','CREDIT','MIXED')
                                 AND inv.source in ('CREDIT CARD','Both Pay')
				)
        OR  (INV.INVOICE_TYPE_LOOKUP_CODE = 'EXPENSE REPORT'		/*code changes for bug 14769043*/
                                  and exists (
                                  select 1 from PER_PEOPLE_F PPL,
                                  PER_ASSIGNMENTS_f ASGN ,PER_PERSON_TYPES PTYPE  where
                                   ASGN.VENDOR_ID = vend.VENDOR_ID
                                  and PPL.PERSON_ID = ASGN.PERSON_ID
                                  and PTYPE.PERSON_TYPE_ID = PPL.PERSON_TYPE_ID
                                  and PTYPE.SYSTEM_PERSON_TYPE in ('OTHER','CWK')))
        )))
                 OR
                  (EXISTS ( SELECT NULL
                           FROM  PO_VENDORS vend1,
                                 ap_invoices inv1,
                                 ap_self_assessed_tax_dist dist2
                           WHERE inv1.invoice_id = dist2.invoice_id
                           AND   inv1.invoice_id = dist.invoice_id
                           AND   (dist.reversal_flag = 'Y' or dist.cancellation_flag = 'Y' )
                           AND   dist2.invoice_distribution_id = dist.parent_reversal_id      --Process Historical data reversals as Invoices in Cash based
                           AND   dist2.pa_addition_flag = 'Y'
                           AND   inv1.vendor_id = vend1.vendor_id
                           AND ((inv1.invoice_type_lookup_code = G_INVOICE_TYPE
                                 AND inv1.source IN (G_INVOICE_SOURCE1, G_INVOICE_SOURCE2, G_INVOICE_SOURCE3)
                                 AND (vend1.employee_id IS NOT NULL or nvl(inv1.paid_on_behalf_employee_id,0) > 0))
                                OR
                                (inv1.invoice_type_lookup_code   in ('STANDARD','CREDIT','MIXED')
                                 and INV1.source  in ('CREDIT CARD','Both Pay')
                                )
                                OR  (INV1.INVOICE_TYPE_LOOKUP_CODE = 'EXPENSE REPORT'			/*code changes for bug 14769043*/
                                  and exists (
                                  select 1 from PER_PEOPLE_F PPL,
                                  PER_ASSIGNMENTS_F ASGN ,PER_PERSON_TYPES PTYPE  where
                                   ASGN.VENDOR_ID = vend1.VENDOR_ID
                                  and PPL.PERSON_ID = ASGN.PERSON_ID
                                  and PTYPE.PERSON_TYPE_ID = PPL.PERSON_TYPE_ID
                                  and PTYPE.SYSTEM_PERSON_TYPE in ('OTHER','CWK')))
                                )))
                 )
             AND DIST.project_id = G_PROJECT_ID
             AND trunc(DIST.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,DIST.expenditure_item_date))
             AND trunc(DIST.accounting_date) <= trunc(nvl(G_GL_DATE,DIST.accounting_date));
Line: 2023

            UPDATE ap_invoice_distributions_all dist
            SET    dist.pa_addition_flag = 'O',
                   request_id = G_REQUEST_ID,
                   last_update_date=SYSDATE,
                   last_updated_by= G_USER_ID,
                   last_update_login= G_USER_ID,
                   program_id= G_PROG_ID,
                   program_application_id= G_PROG_APPL_ID,
                   program_update_date=SYSDATE
            WHERE nvl(dist.pa_addition_flag,'N') = 'N'
            AND   DIST.project_id > 0
            AND   dist.posted_flag = 'Y'
            AND   dist.project_id = G_PROJECT_ID
            --AND   dist.line_type_lookup_code = 'PREPAY'
            AND   dist.line_type_lookup_code <> 'REC_TAX'
            AND   dist.prepay_distribution_id is not null
            AND   trunc(dist.Accounting_Date) <= trunc(nvl(G_GL_DATE,dist.Accounting_Date))
            AND   trunc(dist.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,dist.expenditure_item_date))
            AND   exists (SELECT NULL
                           FROM AP_INVOICES inv,
                                PO_VENDORS vend
                          WHERE inv.invoice_id = DIST.invoice_id
                            AND inv.vendor_id = vend.vendor_id
                            AND ((inv.invoice_type_lookup_code = G_INVOICE_TYPE
                                  AND inv.source IN (G_INVOICE_SOURCE1, G_INVOICE_SOURCE2, G_INVOICE_SOURCE3)
                                  AND (vend.employee_id IS NOT NULL or nvl(inv.paid_on_behalf_employee_id,0) > 0))
                                 OR
                                (inv.invoice_type_lookup_code   in ('STANDARD','CREDIT','MIXED') /*Bug# 3373933*/ /*Bug 4099522*/
                                 AND inv.source in ('CREDIT CARD','Both Pay')
                              /*   AND nvl(inv.PAID_ON_BEHALF_EMPLOYEE_ID,0) > 0 commented for bug#8977795 */ )
                              OR  (INV.INVOICE_TYPE_LOOKUP_CODE = 'EXPENSE REPORT'					/*code changes for bug 14769043*/
                                  and exists (
                                  select 1 from PER_PEOPLE_F PPL,
                                  PER_ASSIGNMENTS_f ASGN ,PER_PERSON_TYPES PTYPE  where
                                   ASGN.VENDOR_ID = vend.VENDOR_ID
                                  and PPL.PERSON_ID = ASGN.PERSON_ID
                                  and PTYPE.PERSON_TYPE_ID = PPL.PERSON_TYPE_ID
                                  and PTYPE.SYSTEM_PERSON_TYPE in ('OTHER','CWK')))
                              ))
            AND   exists(SELECT inv.invoice_id
                         FROM    AP_INVOICES inv,
                                 AP_Invoice_Distributions_all aid
                          WHERE aid.invoice_id = inv.invoice_id
                            AND inv.invoice_type_lookup_code = 'PREPAYMENT'
                            AND aid.historical_flag = 'Y'
                            AND aid.pa_addition_flag = 'Y'
                            AND aid.invoice_distribution_id =  dist.prepay_distribution_id --Prepayment dist id
                 );
Line: 2076

UPDATE ap_self_assessed_tax_dist_all dist
            SET    dist.pa_addition_flag = 'O',
                   request_id = G_REQUEST_ID,
                   last_update_date=SYSDATE,
                   last_updated_by= G_USER_ID,
                   last_update_login= G_USER_ID,
                   program_id= G_PROG_ID,
                   program_application_id= G_PROG_APPL_ID,
                   program_update_date=SYSDATE
            WHERE nvl(dist.pa_addition_flag,'N') = 'N'
            AND   DIST.project_id > 0
            AND   dist.posted_flag = 'Y'
            AND   dist.project_id = G_PROJECT_ID
            --AND   dist.line_type_lookup_code = 'PREPAY'
            AND   dist.line_type_lookup_code <> 'REC_TAX'
            AND   dist.prepay_distribution_id is not null
            AND   trunc(dist.Accounting_Date) <= trunc(nvl(G_GL_DATE,dist.Accounting_Date))
            AND   trunc(dist.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,dist.expenditure_item_date))
            AND   exists (SELECT NULL
                           FROM AP_INVOICES inv,
                                PO_VENDORS vend
                          WHERE inv.invoice_id = DIST.invoice_id
                            AND inv.vendor_id = vend.vendor_id
                            AND ((inv.invoice_type_lookup_code = G_INVOICE_TYPE
                                  AND inv.source IN (G_INVOICE_SOURCE1, G_INVOICE_SOURCE2, G_INVOICE_SOURCE3)
                                  AND (vend.employee_id IS NOT NULL or nvl(inv.paid_on_behalf_employee_id,0) > 0))
                                 OR
                                (inv.invoice_type_lookup_code   in ('STANDARD','CREDIT','MIXED')
                                 AND inv.source in ('CREDIT CARD','Both Pay')
				)
        OR  (INV.INVOICE_TYPE_LOOKUP_CODE = 'EXPENSE REPORT'				/*code changes for bug 14769043*/
                                  and exists (
                                  select 1 from PER_PEOPLE_F PPL,
                                  PER_ASSIGNMENTS_f ASGN ,PER_PERSON_TYPES PTYPE  where
                                   ASGN.VENDOR_ID = vend.VENDOR_ID
                                  and PPL.PERSON_ID = ASGN.PERSON_ID
                                  and PTYPE.PERSON_TYPE_ID = PPL.PERSON_TYPE_ID
                                  and PTYPE.SYSTEM_PERSON_TYPE in ('OTHER','CWK')))))
            AND   exists(SELECT inv.invoice_id
                         FROM    AP_INVOICES inv,
                                 ap_self_assessed_tax_dist_all aid
                          WHERE aid.invoice_id = inv.invoice_id
                            AND inv.invoice_type_lookup_code = 'PREPAYMENT'
                            --aND aid.historical_flag = 'Y'
                            AND aid.pa_addition_flag = 'Y'
                            AND aid.invoice_distribution_id =  dist.prepay_distribution_id --Prepayment dist id
                 );
Line: 2131

             UPDATE  AP_Invoice_distributions DIST
                SET  DIST.Pa_Addition_Flag ='O',
                     request_id = G_REQUEST_ID,
                     last_update_date=SYSDATE,
                     last_updated_by=G_USER_ID,
                     last_update_login= G_USER_ID,
                     program_id= G_PROG_ID,
                     program_application_id= G_PROG_APPL_ID,
                     program_update_date=SYSDATE
              WHERE  DIST.Posted_Flag = 'Y' -- removed the append  || '' for bug 13599091
                AND  DIST.Pa_Addition_Flag IN
                          ('S', 'A', 'B', 'C', 'D', 'I', 'N', 'J', 'K', 'M', 'P','Q', 'V', 'X', 'W')
                AND DIST.project_id > 0
                AND dist.line_type_lookup_code <> 'REC_TAX' -- do not proces recoverable tax
                AND exists (SELECT NULL
                              FROM AP_INVOICES inv,
                                   PO_VENDORS vend
                             WHERE inv.invoice_id = DIST.invoice_id
                               AND inv.vendor_id = vend.vendor_id
                               AND ((inv.invoice_type_lookup_code = G_INVOICE_TYPE
                                     AND inv.source IN (G_INVOICE_SOURCE1, G_INVOICE_SOURCE2, G_INVOICE_SOURCE3)
                                     AND (vend.employee_id IS NOT NULL or nvl(inv.paid_on_behalf_employee_id,0) > 0))
                                    OR
                                   (inv.invoice_type_lookup_code   in ('STANDARD','CREDIT','MIXED') /*Bug# 3373933*/ /*Bug 4099522*/
                                    AND inv.source   in ('CREDIT CARD','Both Pay')
                                    /*   AND nvl(inv.PAID_ON_BEHALF_EMPLOYEE_ID,0) > 0 commented for bug#8977795 */)
                                    OR  (INV.INVOICE_TYPE_LOOKUP_CODE = 'EXPENSE REPORT'					/*code changes for bug 14769043*/
                                  and exists (
                                  select 1 from PER_PEOPLE_F PPL,
                                  PER_ASSIGNMENTS_f ASGN ,PER_PERSON_TYPES PTYPE  where
                                   ASGN.VENDOR_ID = vend.VENDOR_ID
                                  and PPL.PERSON_ID = ASGN.PERSON_ID
                                  and PTYPE.PERSON_TYPE_ID = PPL.PERSON_TYPE_ID
                                  and PTYPE.SYSTEM_PERSON_TYPE in ('OTHER','CWK')))
                                    ))
               AND DIST.project_id = G_PROJECT_ID
               AND trunc(DIST.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,DIST.expenditure_item_date)) /*GSCC*//* added trunc for the bug 6623163 */
               AND trunc(DIST.accounting_date) <= trunc(nvl(G_GL_DATE,DIST.accounting_date));   /*GSCC*//* added trunc for the bug 6623163 */
Line: 2176

             UPDATE  ap_self_assessed_tax_dist DIST
                SET  DIST.Pa_Addition_Flag ='O',
                     request_id = G_REQUEST_ID,
                     last_update_date=SYSDATE,
                     last_updated_by=G_USER_ID,
                     last_update_login= G_USER_ID,
                     program_id= G_PROG_ID,
                     program_application_id= G_PROG_APPL_ID,
                     program_update_date=SYSDATE
              WHERE  DIST.Posted_Flag||'' = 'Y'
                AND  DIST.Pa_Addition_Flag IN
                          ('S', 'A', 'B', 'C', 'D', 'I', 'N', 'J', 'K', 'M', 'P','Q', 'V', 'X', 'W')
                AND DIST.project_id > 0
                AND dist.line_type_lookup_code <> 'REC_TAX' -- do not proces recoverable tax
                AND exists (SELECT NULL
                              FROM AP_INVOICES inv,
                                   PO_VENDORS vend
                             WHERE inv.invoice_id = DIST.invoice_id
                               AND inv.vendor_id = vend.vendor_id
                               AND ((inv.invoice_type_lookup_code = G_INVOICE_TYPE
                                     AND inv.source IN (G_INVOICE_SOURCE1, G_INVOICE_SOURCE2, G_INVOICE_SOURCE3)
                                     AND (vend.employee_id IS NOT NULL or nvl(inv.paid_on_behalf_employee_id,0) > 0))
                                    OR
                                   (inv.invoice_type_lookup_code   in ('STANDARD','CREDIT','MIXED')
                                    AND inv.source   in ('CREDIT CARD','Both Pay')
				    )
            OR  (INV.INVOICE_TYPE_LOOKUP_CODE = 'EXPENSE REPORT'					/*code changes for bug 14769043*/
                                  and exists (
                                  select 1 from PER_PEOPLE_F PPL,
                                  PER_ASSIGNMENTS_f ASGN ,PER_PERSON_TYPES PTYPE  where
                                   ASGN.VENDOR_ID = vend.VENDOR_ID
                                  and PPL.PERSON_ID = ASGN.PERSON_ID
                                  and PTYPE.PERSON_TYPE_ID = PPL.PERSON_TYPE_ID
                                  and PTYPE.SYSTEM_PERSON_TYPE in ('OTHER','CWK')))
            ))
               AND DIST.project_id = G_PROJECT_ID
               AND trunc(DIST.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,DIST.expenditure_item_date))
               AND trunc(DIST.accounting_date) <= trunc(nvl(G_GL_DATE,DIST.accounting_date));
Line: 2226

          UPDATE  AP_Invoice_distributions DIST
             SET  DIST.Pa_Addition_Flag ='O',
                  request_id = G_REQUEST_ID,
                  last_update_date=SYSDATE,
                  last_updated_by=G_USER_ID,
                  last_update_login= G_USER_ID,
                  program_id= G_PROG_ID,
                  program_application_id= G_PROG_APPL_ID,
                  program_update_date=SYSDATE
           WHERE  DIST.Posted_Flag = 'Y' -- removed the append  || '' for bug 13599091
             AND  DIST.Pa_Addition_Flag IN
                          ('S', 'A', 'B', 'C', 'D', 'I', 'N', 'J', 'K', 'M', 'P','Q', 'V', 'X', 'W')
             AND DIST.project_id > 0
             AND dist.line_type_lookup_code <> 'REC_TAX' -- do not proces recoverable tax
             AND (
                  (exists (SELECT NULL
                           FROM AP_INVOICES inv,
                                AP_Invoice_distributions DIST1,
                                PO_VENDORS vend
                          WHERE inv.invoice_id = DIST1.invoice_id
                            AND DIST1.invoice_distribution_id = DIST.invoice_distribution_id
                            AND INV.payment_status_flag = 'Y'                                   -- Flag indicated FULLY paid inv
                            AND DIST1.historical_flag = 'Y'                                     --process historical dist as invoices in Cash Based Acctng
                            AND inv.vendor_id = vend.vendor_id
                            AND ((inv.invoice_type_lookup_code = G_INVOICE_TYPE
                                  AND inv.source IN (G_INVOICE_SOURCE1, G_INVOICE_SOURCE2, G_INVOICE_SOURCE3)
                                  AND (vend.employee_id IS NOT NULL or nvl(inv.paid_on_behalf_employee_id,0) > 0))
                                 OR
                                (inv.invoice_type_lookup_code   in ('STANDARD','CREDIT','MIXED') /*Bug# 3373933*/ /*Bug 4099522*/
                                 AND inv.source    in ('CREDIT CARD','Both Pay')
                                 /*   AND nvl(inv.PAID_ON_BEHALF_EMPLOYEE_ID,0) > 0 commented for bug#8977795 */)
                                 OR  (INV.INVOICE_TYPE_LOOKUP_CODE = 'EXPENSE REPORT'					/*code changes for bug 14769043*/
                                  and exists (
                                  select 1 from PER_PEOPLE_F PPL,
                                  PER_ASSIGNMENTS_f ASGN ,PER_PERSON_TYPES PTYPE  where
                                   ASGN.VENDOR_ID = vend.VENDOR_ID
                                  and PPL.PERSON_ID = ASGN.PERSON_ID
                                  and PTYPE.PERSON_TYPE_ID = PPL.PERSON_TYPE_ID
                                  and PTYPE.SYSTEM_PERSON_TYPE in ('OTHER','CWK')))
                                 )))
                 OR
                  (EXISTS ( SELECT NULL
                           FROM  PO_VENDORS vend1,
                                 ap_invoices inv1, ap_invoice_distributions dist2
                           WHERE inv1.invoice_id = dist2.invoice_id
                           AND   inv1.invoice_id = dist.invoice_id
                           AND   (dist.reversal_flag = 'Y' or dist.cancellation_flag = 'Y' )
                           AND   dist2.invoice_distribution_id = dist.parent_reversal_id      --Process Historical data reversals as Invoices in Cash based
                           AND   dist2.pa_addition_flag = 'Y'
                           AND   inv1.vendor_id = vend1.vendor_id
                           AND ((inv1.invoice_type_lookup_code = G_INVOICE_TYPE
                                 AND inv1.source IN (G_INVOICE_SOURCE1, G_INVOICE_SOURCE2, G_INVOICE_SOURCE3)
                                 AND (vend1.employee_id IS NOT NULL or nvl(inv1.paid_on_behalf_employee_id,0) > 0))
                                OR
                               (inv1.invoice_type_lookup_code   in ('STANDARD','CREDIT','MIXED') /*Bug# 3373933*/ /*Bug 4099522*/
                                AND inv1.source in ('CREDIT CARD','Both Pay')
                                /*   AND nvl(inv.PAID_ON_BEHALF_EMPLOYEE_ID,0) > 0 commented for bug#8977795 */)
                                OR  (INV1.INVOICE_TYPE_LOOKUP_CODE = 'EXPENSE REPORT'				/*code changes for bug 14769043*/
                                  and exists (
                                  select 1 from PER_PEOPLE_F PPL,
                                  PER_ASSIGNMENTS_F ASGN ,PER_PERSON_TYPES PTYPE  where
                                   ASGN.VENDOR_ID = vend1.VENDOR_ID
                                  and PPL.PERSON_ID = ASGN.PERSON_ID
                                  and PTYPE.PERSON_TYPE_ID = PPL.PERSON_TYPE_ID
                                  and PTYPE.SYSTEM_PERSON_TYPE in ('OTHER','CWK')))
                                )))
                 )
             AND trunc(DIST.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,DIST.expenditure_item_date)) /*GSCC*/
             AND trunc(DIST.accounting_date) <= trunc(nvl(G_GL_DATE,DIST.accounting_date));   /*GSCC*/ /*Bug 7342936. Right parenthesis were missing on left side of expression*/
Line: 2301

          UPDATE ap_self_assessed_tax_dist DIST
             SET  DIST.Pa_Addition_Flag ='O',
                  request_id = G_REQUEST_ID,
                  last_update_date=SYSDATE,
                  last_updated_by=G_USER_ID,
                  last_update_login= G_USER_ID,
                  program_id= G_PROG_ID,
                  program_application_id= G_PROG_APPL_ID,
                  program_update_date=SYSDATE
           WHERE  DIST.Posted_Flag||'' = 'Y'
             AND  DIST.Pa_Addition_Flag IN
                          ('S', 'A', 'B', 'C', 'D', 'I', 'N', 'J', 'K', 'M', 'P','Q', 'V', 'X', 'W')
             AND DIST.project_id > 0
             AND dist.line_type_lookup_code <> 'REC_TAX' -- do not proces recoverable tax
             AND (
                  (exists (SELECT NULL
                           FROM AP_INVOICES inv,
                                AP_self_assessed_tax_dist DIST1,
                                PO_VENDORS vend
                          WHERE inv.invoice_id = DIST1.invoice_id
                            AND DIST1.invoice_distribution_id = DIST.invoice_distribution_id
                            AND INV.payment_status_flag = 'Y'                                   -- Flag indicated FULLY paid inv
                            --AND DIST1.historical_flag = 'Y'                                     --process historical dist as invoices in Cash Based Acctng
                            AND inv.vendor_id = vend.vendor_id
                            AND ((inv.invoice_type_lookup_code = G_INVOICE_TYPE
                                  AND inv.source IN (G_INVOICE_SOURCE1, G_INVOICE_SOURCE2, G_INVOICE_SOURCE3)
                                  AND (vend.employee_id IS NOT NULL or nvl(inv.paid_on_behalf_employee_id,0) > 0))
                                 OR
                                (inv.invoice_type_lookup_code   in ('STANDARD','CREDIT','MIXED')
                                 AND inv.source    in ('CREDIT CARD','Both Pay')
                              )
                              OR  (INV.INVOICE_TYPE_LOOKUP_CODE = 'EXPENSE REPORT'				/*code changes for bug 14769043*/
                                  and exists (
                                  select 1 from PER_PEOPLE_F PPL,
                                  PER_ASSIGNMENTS_f ASGN ,PER_PERSON_TYPES PTYPE  where
                                   ASGN.VENDOR_ID = vend.VENDOR_ID
                                  and PPL.PERSON_ID = ASGN.PERSON_ID
                                  and PTYPE.PERSON_TYPE_ID = PPL.PERSON_TYPE_ID
                                  and PTYPE.SYSTEM_PERSON_TYPE in ('OTHER','CWK')))
                              )))
                 OR
                  (EXISTS ( SELECT NULL
                           FROM  PO_VENDORS vend1,
                                 ap_invoices inv1, ap_invoice_distributions dist2
                           WHERE inv1.invoice_id = dist2.invoice_id
                           AND   inv1.invoice_id = dist.invoice_id
                           AND   (dist.reversal_flag = 'Y' or dist.cancellation_flag = 'Y' )
                           AND   dist2.invoice_distribution_id = dist.parent_reversal_id      --Process Historical data reversals as Invoices in Cash based
                           AND   dist2.pa_addition_flag = 'Y'
                           AND   inv1.vendor_id = vend1.vendor_id
                           AND ((inv1.invoice_type_lookup_code = G_INVOICE_TYPE
                                 AND inv1.source IN (G_INVOICE_SOURCE1, G_INVOICE_SOURCE2, G_INVOICE_SOURCE3)
                                 AND (vend1.employee_id IS NOT NULL or nvl(inv1.paid_on_behalf_employee_id,0) > 0))
                                OR
                               (inv1.invoice_type_lookup_code   in ('STANDARD','CREDIT','MIXED')
                                AND inv1.source in ('CREDIT CARD','Both Pay')
                                )
                                OR  (INV1.INVOICE_TYPE_LOOKUP_CODE = 'EXPENSE REPORT'				/*code changes for bug 14769043*/
                                  and exists (
                                  select 1 from PER_PEOPLE_F PPL,
                                  PER_ASSIGNMENTS_F ASGN ,PER_PERSON_TYPES PTYPE  where
                                   ASGN.VENDOR_ID = vend1.VENDOR_ID
                                  and PPL.PERSON_ID = ASGN.PERSON_ID
                                  and PTYPE.PERSON_TYPE_ID = PPL.PERSON_TYPE_ID
                                  and PTYPE.SYSTEM_PERSON_TYPE in ('OTHER','CWK')))
                                )))
                 )
             AND trunc(DIST.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,DIST.expenditure_item_date))
             AND trunc(DIST.accounting_date) <= trunc(nvl(G_GL_DATE,DIST.accounting_date));
Line: 2380

            UPDATE ap_invoice_distributions dist
            SET    dist.pa_addition_flag = 'O',
                   request_id = G_REQUEST_ID,
                   last_update_date=SYSDATE,
                   last_updated_by= G_USER_ID,
                   last_update_login= G_USER_ID,
                   program_id= G_PROG_ID,
                   program_application_id= G_PROG_APPL_ID,
                   program_update_date=SYSDATE
            WHERE nvl(dist.pa_addition_flag,'N') = 'N'
            AND   DIST.project_id > 0
            AND   dist.posted_flag = 'Y'
            --AND   dist.line_type_lookup_code = 'PREPAY'
            AND   dist.line_type_lookup_code <> 'REC_TAX'
            AND   dist.prepay_distribution_id is not null
            AND   trunc(dist.Accounting_Date) <= trunc(nvl(G_GL_DATE,dist.Accounting_Date))
            AND   trunc(dist.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,dist.expenditure_item_date))
            AND   exists (SELECT NULL
                           FROM AP_INVOICES_ALL inv,
                                PO_VENDORS vend
                          WHERE inv.invoice_id = DIST.invoice_id
                            AND inv.vendor_id = vend.vendor_id
                            AND ((inv.invoice_type_lookup_code = G_INVOICE_TYPE
                                  AND inv.source IN (G_INVOICE_SOURCE1, G_INVOICE_SOURCE2, G_INVOICE_SOURCE3)
                                  AND (vend.employee_id IS NOT NULL or nvl(inv.paid_on_behalf_employee_id,0) > 0))
                                 OR
                                (inv.invoice_type_lookup_code   in ('STANDARD','CREDIT','MIXED') /*Bug# 3373933*/ /*Bug 4099522*/
                                 AND inv.source  in ('CREDIT CARD','Both Pay')
                                 /*   AND nvl(inv.PAID_ON_BEHALF_EMPLOYEE_ID,0) > 0 commented for bug#8977795 */)
                                 OR  (INV.INVOICE_TYPE_LOOKUP_CODE = 'EXPENSE REPORT'					/*code changes for bug 14769043*/
                                  and exists (
                                  select 1 from PER_PEOPLE_F PPL,
                                  PER_ASSIGNMENTS_f ASGN ,PER_PERSON_TYPES PTYPE  where
                                   ASGN.VENDOR_ID = vend.VENDOR_ID
                                  and PPL.PERSON_ID = ASGN.PERSON_ID
                                  and PTYPE.PERSON_TYPE_ID = PPL.PERSON_TYPE_ID
                                  and PTYPE.SYSTEM_PERSON_TYPE in ('OTHER','CWK')))
                                 ))
            AND   exists(SELECT inv.invoice_id
                         FROM    AP_INVOICES_ALL inv,
                                 AP_Invoice_Distributions_all aid
                          WHERE aid.invoice_id = inv.invoice_id
                            AND inv.invoice_type_lookup_code = 'PREPAYMENT'
                            AND aid.historical_flag = 'Y'
                            AND aid.pa_addition_flag = 'Y'
                            AND aid.invoice_distribution_id =  dist.prepay_distribution_id --Prepayment dist id
                  );
Line: 2432

	UPDATE ap_self_assessed_tax_dist dist
            SET    dist.pa_addition_flag = 'O',
                   request_id = G_REQUEST_ID,
                   last_update_date=SYSDATE,
                   last_updated_by= G_USER_ID,
                   last_update_login= G_USER_ID,
                   program_id= G_PROG_ID,
                   program_application_id= G_PROG_APPL_ID,
                   program_update_date=SYSDATE
            WHERE nvl(dist.pa_addition_flag,'N') = 'N'
            AND   DIST.project_id > 0
            AND   dist.posted_flag = 'Y'
            --AND   dist.line_type_lookup_code = 'PREPAY'
            AND   dist.line_type_lookup_code <> 'REC_TAX'
            AND   dist.prepay_distribution_id is not null
            AND   trunc(dist.Accounting_Date) <= trunc(nvl(G_GL_DATE,dist.Accounting_Date))
            AND   trunc(dist.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,dist.expenditure_item_date))
            AND   exists (SELECT NULL
                           FROM AP_INVOICES_ALL inv,
                                PO_VENDORS vend
                          WHERE inv.invoice_id = DIST.invoice_id
                            AND inv.vendor_id = vend.vendor_id
                            AND ((inv.invoice_type_lookup_code = G_INVOICE_TYPE
                                  AND inv.source IN (G_INVOICE_SOURCE1, G_INVOICE_SOURCE2, G_INVOICE_SOURCE3)
                                  AND (vend.employee_id IS NOT NULL or nvl(inv.paid_on_behalf_employee_id,0) > 0))
                                 OR
                                (inv.invoice_type_lookup_code   in ('STANDARD','CREDIT','MIXED')
                                 AND inv.source  in ('CREDIT CARD','Both Pay'))
                                 OR  (INV.INVOICE_TYPE_LOOKUP_CODE = 'EXPENSE REPORT'				/*code changes for bug 14769043*/
                                  and exists (
                                  select 1 from PER_PEOPLE_F PPL,
                                  PER_ASSIGNMENTS_f ASGN ,PER_PERSON_TYPES PTYPE  where
                                   ASGN.VENDOR_ID = vend.VENDOR_ID
                                  and PPL.PERSON_ID = ASGN.PERSON_ID
                                  and PTYPE.PERSON_TYPE_ID = PPL.PERSON_TYPE_ID
                                  and PTYPE.SYSTEM_PERSON_TYPE in ('OTHER','CWK')))
                                 ))
                                AND   exists(SELECT inv.invoice_id
                         FROM    AP_INVOICES_ALL inv,
                                 ap_self_assessed_tax_dist_all aid
                          WHERE aid.invoice_id = inv.invoice_id
                            AND inv.invoice_type_lookup_code = 'PREPAYMENT'
                            --AND aid.historical_flag = 'Y'
                            AND aid.pa_addition_flag = 'Y'
                            AND aid.invoice_distribution_id =  dist.prepay_distribution_id --Prepayment dist id
                  );
Line: 2486

            UPDATE  /*+ index(DIST AP_INVOICE_DISTRIBUTIONS_N14)*/ AP_Invoice_distributions DIST /*Added for bug 6327185*/
               SET  DIST.Pa_Addition_Flag ='O', /*Bug#2168903*/
                    request_id = G_REQUEST_ID,
                    last_update_date=SYSDATE,  --bug 3905111
                    last_updated_by=G_USER_ID,
                    last_update_login= G_USER_ID,
                    program_id= G_PROG_ID,
                    program_application_id= G_PROG_APPL_ID,
                    program_update_date=SYSDATE   --bug 3905111
             WHERE  DIST.Posted_Flag = 'Y' -- removed the append  || '' for bug 13599091
               AND  DIST.Pa_Addition_Flag IN                           /*Bug#1727504*/
                          ('S', 'A', 'B', 'C', 'D', 'I', 'N', 'J', 'K', 'M', 'P','Q', 'V', 'X', 'W')
               AND DIST.project_id > 0
               AND dist.line_type_lookup_code <> 'REC_TAX' -- do not proces recoverable tax
	       AND exists (SELECT invoice_id
                             FROM AP_INVOICES_ALL inv,
                                  PO_VENDORS vend
                            WHERE inv.invoice_id = DIST.invoice_id
                              AND inv.vendor_id = vend.vendor_id
                              AND ((inv.invoice_type_lookup_code = G_INVOICE_TYPE
                                  AND inv.source IN (G_INVOICE_SOURCE1, G_INVOICE_SOURCE2, G_INVOICE_SOURCE3)
                                    AND (vend.employee_id IS NOT NULL or nvl(inv.paid_on_behalf_employee_id,0) > 0))
                                   OR
                                  (inv.invoice_type_lookup_code    in ('STANDARD','CREDIT','MIXED') /*Bug# 3373933*//*Bug 4099522*/
                                   AND inv.source  in ('CREDIT CARD','Both Pay')
                                  /* AND nvl(inv.paid_on_behalf_employee_id,0) > 0 commented for bug#8977795 */ )
                                  OR  (INV.INVOICE_TYPE_LOOKUP_CODE = 'EXPENSE REPORT'		/*code changes for bug 14769043*/
                                  and exists (
                                  select 1 from PER_PEOPLE_F PPL,
                                  PER_ASSIGNMENTS_f ASGN ,PER_PERSON_TYPES PTYPE  where
                                   ASGN.VENDOR_ID = vend.VENDOR_ID
                                  and PPL.PERSON_ID = ASGN.PERSON_ID
                                  and PTYPE.PERSON_TYPE_ID = PPL.PERSON_TYPE_ID
                                  and PTYPE.SYSTEM_PERSON_TYPE in ('OTHER','CWK')))
                                  ))
               AND trunc(DIST.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,DIST.expenditure_item_date)) /*GSCC*//* added trunc for the bug 6623163 */
               AND trunc(DIST.accounting_date) <= trunc(nvl(G_GL_DATE,DIST.accounting_date)); /*GSCC*/
Line: 2528

            UPDATE ap_self_assessed_tax_dist DIST
               SET  DIST.Pa_Addition_Flag ='O',
                    request_id = G_REQUEST_ID,
                    last_update_date=SYSDATE,
                    last_updated_by=G_USER_ID,
                    last_update_login= G_USER_ID,
                    program_id= G_PROG_ID,
                    program_application_id= G_PROG_APPL_ID,
                    program_update_date=SYSDATE
             WHERE  DIST.Posted_Flag||'' = 'Y'
               AND  DIST.Pa_Addition_Flag IN
                          ('S', 'A', 'B', 'C', 'D', 'I', 'N', 'J', 'K', 'M', 'P','Q', 'V', 'X', 'W')
               AND DIST.project_id > 0
               AND dist.line_type_lookup_code <> 'REC_TAX' -- do not proces recoverable tax
	       AND exists (SELECT invoice_id
                             FROM AP_INVOICES_ALL inv,
                                  PO_VENDORS vend
                            WHERE inv.invoice_id = DIST.invoice_id
                              AND inv.vendor_id = vend.vendor_id
                              AND ((inv.invoice_type_lookup_code = G_INVOICE_TYPE
                                  AND inv.source IN (G_INVOICE_SOURCE1, G_INVOICE_SOURCE2, G_INVOICE_SOURCE3)
                                    AND (vend.employee_id IS NOT NULL or nvl(inv.paid_on_behalf_employee_id,0) > 0))
                                   OR
                                  (inv.invoice_type_lookup_code    in ('STANDARD','CREDIT','MIXED')
                                   AND inv.source  in ('CREDIT CARD','Both Pay')
				  )
          OR  (INV.INVOICE_TYPE_LOOKUP_CODE = 'EXPENSE REPORT'		/*code changes for bug 14769043*/
                                  and exists (
                                  select 1 from PER_PEOPLE_F PPL,
                                  PER_ASSIGNMENTS_f ASGN ,PER_PERSON_TYPES PTYPE  where
                                   ASGN.VENDOR_ID = vend.VENDOR_ID
                                  and PPL.PERSON_ID = ASGN.PERSON_ID
                                  and PTYPE.PERSON_TYPE_ID = PPL.PERSON_TYPE_ID
                                  and PTYPE.SYSTEM_PERSON_TYPE in ('OTHER','CWK')))
          ))
               AND trunc(DIST.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,DIST.expenditure_item_date))
               AND trunc(DIST.accounting_date) <= trunc(nvl(G_GL_DATE,DIST.accounting_date));
Line: 2600

           UPDATE AP_Invoice_Distributions DIST
              SET DIST.Pa_Addition_Flag = 'O',
                  request_id = G_REQUEST_ID,
                  last_update_date=SYSDATE,
                  last_updated_by=G_USER_ID,
                  last_update_login=G_USER_ID,
                  program_id=G_PROG_ID,
                  program_application_id=G_PROG_APPL_ID,
                  program_update_date=SYSDATE
            WHERE DIST.Posted_Flag = 'Y'
              AND DIST.Pa_Addition_Flag IN
                  ('S', 'A', 'B', 'C', 'D','H', 'I', 'J', 'K', 'L', 'M', 'N', 'P','Q', 'V', 'X')
              AND DIST.project_id > 0
              AND trunc(DIST.Accounting_Date) <= trunc(nvl(G_GL_DATE,DIST.Accounting_Date))   /*GSCC*//* added trunc for the bug 6623163 */
              AND trunc(DIST.Expenditure_Item_Date) <= trunc(NVL(G_TRANSACTION_DATE,DIST.Expenditure_Item_Date))       /*GSCC*/ /* added trunc for the bug 6623163 */
              AND DIST.project_id = G_PROJECT_ID
              AND dist.line_type_lookup_code <> 'REC_TAX' -- do not proces recoverable tax
              AND (
                  EXISTS (
                    SELECT NULL
                    FROM ap_invoices_all inv,
                         po_distributions_all PO,
                         ap_invoice_distributions_all dist2
                    WHERE inv.invoice_id = dist2.invoice_id
                    AND nvl(po.distribution_type,'XXX') <> 'PREPAYMENT'
                    AND dist2.invoice_id = DIST.invoice_id
                    AND dist2.invoice_distribution_id = DIST.invoice_distribution_id
                    AND inv.payment_status_flag = 'Y'                                -- Flag indicates that Invoice has been FULLY paid
                    AND dist2.historical_flag = 'Y'                                    --Process Historical data as Invoices in Cash based
                    AND dist2.po_distribution_id = PO.po_distribution_id(+)
                    AND NVL(PO.destination_type_code, 'EXPENSE') = 'EXPENSE'
                    AND inv.invoice_type_lookup_code <> 'EXPENSE REPORT'
                    AND inv.PAID_ON_BEHALF_EMPLOYEE_ID IS NULL
                    AND inv.source not  in ('CREDIT CARD','Both Pay') /* Added for bug 8977795 */
                    AND ( nvl(INV.source, 'xx' ) NOT IN (
                              'PA_IC_INVOICES','PA_COST_ADJUSTMENTS') /* Removed 'Oracle Project Accounting' */
			  or dist2.line_type_lookup_code = 'NONREC_TAX'
			 )
                    )
                  OR
                  EXISTS (
                    SELECT NULL
                    FROM ap_invoices_all inv1,
                         ap_invoice_distributions_all dist3
                    WHERE inv1.invoice_id = dist3.invoice_id
                    AND   inv1.invoice_id = dist.invoice_id
                    AND   inv1.invoice_type_lookup_code <> 'EXPENSE REPORT'
                    AND   (dist.reversal_flag = 'Y' or dist.cancellation_flag = 'Y' )
                    AND   dist3.invoice_distribution_id = dist.parent_reversal_id      --Process Historical data reversals as Invoices in Cash based
                    AND   dist3.pa_addition_flag = 'Y')
                  )
                /* Bug 6353803: Added the following for this bug. */
  	        AND   (pa_nl_installed.is_nl_installed = 'N'
                  OR (    pa_nl_installed.is_nl_installed = 'Y'
		    AND NOT EXISTS (SELECT 'X'
				    FROM  po_distributions_all pod, mtl_system_items si, po_lines_all pol
				    WHERE pod.po_distribution_id = dist.po_distribution_id
				    AND pod.po_line_id = pol.po_line_id
				    AND   si.inventory_item_id = pol.item_id
				    AND   si.comms_nl_trackable_flag = 'Y'
				    AND   (si.organization_id = pod.org_id
						OR   /* Added for bug 13714500  */
                         si.organization_id in (select nvl(ship_to_organization_id,-9999) from po_line_locations_all pll
                                                 where pll.po_header_id = pod.po_header_id
						              and pll.po_line_id = pod.po_line_id)
						)
				    )
		    AND NOT EXISTS (SELECT 'X'
			      FROM
				ap_invoice_distributions apdist,
				po_distributions pod,
				mtl_system_items si,
				po_lines_all pol
			      where DIST.CHARGE_APPLICABLE_TO_DIST_ID
                                    = apdist.INVOICE_DISTRIBUTION_ID
				  and apdist.po_distribution_id = pod.po_distribution_id
				  and pod.po_line_id = pol.po_line_id
				  and si.inventory_item_id = pol.item_id
				  AND   si.comms_nl_trackable_flag = 'Y'
				  AND   (si.organization_id = pod.org_id
						OR /* Added for bug 13714500 */
                         si.organization_id in (select nvl(ship_to_organization_id,-9999) from po_line_locations_all pll
                                                 where pll.po_header_id = pod.po_header_id
						              and pll.po_line_id = pod.po_line_id)
						)
					     )
		    )
                  )/* Start changes for bug#14320909 */
		        AND NOT EXISTS (select 'X' from rcv_receiving_sub_ledger rcv_sub,
			po_distributions_all po_dist1
			where  po_dist1.CODE_COMBINATION_ID   =rcv_sub.CODE_COMBINATION_ID
			AND    rcv_sub.ACTUAL_FLAG           = 'A'
			and    rcv_sub.pa_addition_flag ='Y'
			AND    to_char(DIST.po_distribution_id) = rcv_sub.reference3
			and    DIST.po_distribution_id = po_dist1.po_distribution_id)
			/* End changes for bug#14320909 */;
Line: 2707

            UPDATE ap_invoice_distributions_all dist
            SET    dist.pa_addition_flag = 'O',
                   request_id = G_REQUEST_ID,
                   last_update_date=SYSDATE,
                   last_updated_by= G_USER_ID,
                   last_update_login= G_USER_ID,
                   program_id= G_PROG_ID,
                   program_application_id= G_PROG_APPL_ID,
                   program_update_date=SYSDATE
            WHERE nvl(dist.pa_addition_flag,'N') = 'N'
            AND   DIST.project_id > 0
            AND   dist.posted_flag = 'Y'
            AND   dist.project_id = G_PROJECT_ID
            --AND   dist.line_type_lookup_code = 'PREPAY'
            AND   dist.line_type_lookup_code <> 'REC_TAX'
            AND   dist.prepay_distribution_id is not null
            AND   trunc(dist.Accounting_Date) <= trunc(nvl(G_GL_DATE,dist.Accounting_Date))
            AND   trunc(dist.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,dist.expenditure_item_date))
            AND   EXISTS (
                    SELECT NULL
                    FROM ap_invoices inv
                    WHERE inv.invoice_id = dist.invoice_id
                    AND inv.invoice_type_lookup_code <> 'EXPENSE REPORT'
                    AND inv.PAID_ON_BEHALF_EMPLOYEE_ID IS NULL
                    AND inv.source not  in ('CREDIT CARD','Both Pay') /* Added for bug 8977795 */
                    AND nvl(INV.source, 'xx' ) NOT IN (
                              'PA_IC_INVOICES','PA_COST_ADJUSTMENTS')  ) /* Removed 'Oracle Project Accounting' */
            AND   exists(SELECT inv.invoice_id
                           FROM AP_INVOICES inv,
                                AP_Invoice_Distributions_all aid
                          WHERE aid.invoice_id = inv.invoice_id
                            AND inv.invoice_type_lookup_code = 'PREPAYMENT'
                            AND aid.historical_flag = 'Y'
                            AND aid.pa_addition_flag = 'Y'
                            AND aid.invoice_distribution_id =  dist.prepay_distribution_id --Prepayment dist id
                            AND aid.project_id = G_PROJECT_ID)
                /* Bug 6353803: Added the following for this bug. */
  	        AND   (pa_nl_installed.is_nl_installed = 'N'
                  OR (    pa_nl_installed.is_nl_installed = 'Y'
		    AND NOT EXISTS (SELECT 'X'
				    FROM  po_distributions_all pod, mtl_system_items si, po_lines_all pol
				    WHERE pod.po_distribution_id = dist.po_distribution_id
				    AND pod.po_line_id = pol.po_line_id
				    AND   si.inventory_item_id = pol.item_id
				    AND   si.comms_nl_trackable_flag = 'Y'
				    AND    (si.organization_id = pod.org_id
						OR /* Added for bug 13714500 */
                         si.organization_id in (select nvl(ship_to_organization_id,-9999) from po_line_locations_all pll
                                                 where pll.po_header_id = pod.po_header_id
						              and pll.po_line_id = pod.po_line_id)
						)
				    )
		    AND NOT EXISTS (SELECT 'X'
			      FROM
				ap_invoice_distributions apdist,
				po_distributions pod,
				mtl_system_items si,
				po_lines_all pol
			      where DIST.CHARGE_APPLICABLE_TO_DIST_ID
                                    = apdist.INVOICE_DISTRIBUTION_ID
				  and apdist.po_distribution_id = pod.po_distribution_id
				  and pod.po_line_id = pol.po_line_id
				  and si.inventory_item_id = pol.item_id
				  AND   si.comms_nl_trackable_flag = 'Y'
				  AND    (si.organization_id = pod.org_id
						OR /* Added for bug 13714500 */
                         si.organization_id in (select nvl(ship_to_organization_id,-9999) from po_line_locations_all pll
                                                 where pll.po_header_id = pod.po_header_id
						              and pll.po_line_id = pod.po_line_id)
						)
					     )
		    )
                  );
Line: 2792

            UPDATE AP_SELF_ASSESSED_TAX_DIST_ALL dist
            SET    dist.pa_addition_flag = 'O',
                   request_id = G_REQUEST_ID,
                   last_update_date=SYSDATE,
                   last_updated_by= G_USER_ID,
                   last_update_login= G_USER_ID,
                   program_id= G_PROG_ID,
                   program_application_id= G_PROG_APPL_ID,
                   program_update_date=SYSDATE
            WHERE nvl(dist.pa_addition_flag,'N') = 'N'
            AND   DIST.project_id > 0
            AND   dist.posted_flag = 'Y'
            AND   dist.project_id = G_PROJECT_ID
           AND   dist.line_type_lookup_code <> 'REC_TAX'
            AND   dist.prepay_distribution_id is not null
            AND   trunc(dist.Accounting_Date) <= trunc(nvl(G_GL_DATE,dist.Accounting_Date))
            AND   trunc(dist.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,dist.expenditure_item_date))
            AND   EXISTS (
                    SELECT NULL
                    FROM ap_invoices inv
                    WHERE inv.invoice_id = dist.invoice_id
                    AND inv.invoice_type_lookup_code <> 'EXPENSE REPORT'
                    AND inv.PAID_ON_BEHALF_EMPLOYEE_ID IS NULL
                    AND inv.source not  in ('CREDIT CARD','Both Pay')
                    AND nvl(INV.source, 'xx' ) NOT IN (
                              'PA_IC_INVOICES','PA_COST_ADJUSTMENTS')  )
            AND   exists(SELECT inv.invoice_id
                           FROM AP_INVOICES inv,
                                AP_SELF_ASSESSED_TAX_DIST_ALL aid
                          WHERE aid.invoice_id = inv.invoice_id
                            AND inv.invoice_type_lookup_code = 'PREPAYMENT'
                          --  AND aid.historical_flag = 'Y'  /*doubt*/
                            AND aid.pa_addition_flag = 'Y'
                            AND aid.invoice_distribution_id =  dist.prepay_distribution_id
                            AND aid.project_id = G_PROJECT_ID)
                       AND   (pa_nl_installed.is_nl_installed = 'N'
                  OR (    pa_nl_installed.is_nl_installed = 'Y'
		    AND NOT EXISTS (SELECT 'X'
				    FROM  po_distributions_all pod, mtl_system_items si, po_lines_all pol
				    WHERE pod.po_distribution_id = dist.po_distribution_id
				    AND pod.po_line_id = pol.po_line_id
				    AND   si.inventory_item_id = pol.item_id
				    AND   si.comms_nl_trackable_flag = 'Y'
				    AND   (si.organization_id = pod.org_id
						OR /* Added for bug 13714500 */
                         si.organization_id in (select nvl(ship_to_organization_id,-9999) from po_line_locations_all pll
                                                 where pll.po_header_id = pod.po_header_id
						              and pll.po_line_id = pod.po_line_id)
						)
				    )
		    AND NOT EXISTS (SELECT 'X'
			      FROM
				AP_SELF_ASSESSED_TAX_DIST_ALL apdist,
				po_distributions pod,
				mtl_system_items si,
				po_lines_all pol
			      where DIST.CHARGE_APPLICABLE_TO_DIST_ID
                                    = apdist.INVOICE_DISTRIBUTION_ID
				  and apdist.po_distribution_id = pod.po_distribution_id
				  and pod.po_line_id = pol.po_line_id
				  and si.inventory_item_id = pol.item_id
				  AND   si.comms_nl_trackable_flag = 'Y'
				  AND   (si.organization_id = pod.org_id
						OR /* Added for bug 13714500 */
                         si.organization_id in (select nvl(ship_to_organization_id,-9999) from po_line_locations_all pll
                                                 where pll.po_header_id = pod.po_header_id
						              and pll.po_line_id = pod.po_line_id)
						)
					     )
		    )
                  );
Line: 2872

           UPDATE AP_Invoice_Distributions DIST
              SET DIST.Pa_Addition_Flag = 'O',
                  request_id = G_REQUEST_ID,
                  last_update_date=SYSDATE,
                  last_updated_by=G_USER_ID,
                  last_update_login=G_USER_ID,
                  program_id=G_PROG_ID,
                  program_application_id=G_PROG_APPL_ID,
                  program_update_date=SYSDATE
            WHERE DIST.Posted_Flag = 'Y'
              AND DIST.Pa_Addition_Flag IN
                   ('S', 'A', 'B', 'C', 'D','H', 'I', 'J', 'K', 'L', 'M', 'N', 'P','Q', 'V', 'X')
              AND DIST.project_id > 0
              AND trunc(DIST.Accounting_Date) <= trunc(nvl(G_GL_DATE,DIST.Accounting_Date))   /*GSCC*/
              AND trunc(DIST.Expenditure_Item_Date) <=
                       trunc(NVL(G_TRANSACTION_DATE,DIST.Expenditure_Item_Date))       /*GSCC*/
              AND DIST.project_id = G_PROJECT_ID
              AND dist.line_type_lookup_code <> 'REC_TAX' -- do not proces recoverable tax
              AND EXISTS (
                  SELECT NULL
                    FROM ap_invoices_all inv,
                         po_distributions_all PO,
                         ap_invoice_distributions_all dist2
                    WHERE inv.invoice_id = dist2.invoice_id
                    AND nvl(po.distribution_type,'XXX') <> 'PREPAYMENT'
                    AND dist2.invoice_id = DIST.invoice_id
                    /*credit card txn enhancement, make sure this update doesn't pick tehm */
                    AND inv.PAID_ON_BEHALF_EMPLOYEE_ID IS NULL
                     AND inv.source not  in ('CREDIT CARD','Both Pay') /* Added for bug 8977795 */
                    AND dist2.invoice_distribution_id = DIST.invoice_distribution_id
                    AND dist2.po_distribution_id = PO.po_distribution_id(+)
                    AND NVL(PO.destination_type_code, 'EXPENSE') = 'EXPENSE'
                    AND inv.invoice_type_lookup_code <> 'EXPENSE REPORT'
                    AND  (
			nvl(INV.source, 'xx' ) NOT IN ( 'PA_IC_INVOICES','PA_COST_ADJUSTMENTS')  /* Removed 'Oracle Project Accounting' */
			or
			 dist2.line_type_lookup_code = 'NONREC_TAX'
			 )
                        )
                /* Bug 6353803: Added the following for this bug. */
  	        AND   (pa_nl_installed.is_nl_installed = 'N'
                  OR (    pa_nl_installed.is_nl_installed = 'Y'
		    AND NOT EXISTS (SELECT 'X'
				    FROM  po_distributions_all pod, mtl_system_items si, po_lines_all pol
				    WHERE pod.po_distribution_id = dist.po_distribution_id
				    AND pod.po_line_id = pol.po_line_id
				    AND   si.inventory_item_id = pol.item_id
				    AND   si.comms_nl_trackable_flag = 'Y'
				    AND   (si.organization_id = pod.org_id
						OR /* Added for bug 13714500 */
                         si.organization_id in (select nvl(ship_to_organization_id,-9999) from po_line_locations_all pll
                                                 where pll.po_header_id = pod.po_header_id
						              and pll.po_line_id = pod.po_line_id)
						)
				    )
		    AND NOT EXISTS (SELECT 'X'
			      FROM
				ap_invoice_distributions apdist,
				po_distributions pod,
				mtl_system_items si,
				po_lines_all pol
			      where DIST.CHARGE_APPLICABLE_TO_DIST_ID
                                    = apdist.INVOICE_DISTRIBUTION_ID
				  and apdist.po_distribution_id = pod.po_distribution_id
				  and pod.po_line_id = pol.po_line_id
				  and si.inventory_item_id = pol.item_id
				  AND   si.comms_nl_trackable_flag = 'Y'
				  AND   (si.organization_id = pod.org_id
						OR /* Added for bug 13714500 */
                         si.organization_id in (select nvl(ship_to_organization_id,-9999) from po_line_locations_all pll
                                                 where pll.po_header_id = pod.po_header_id
						              and pll.po_line_id = pod.po_line_id)
						)
					     )
		    )
                  );
Line: 2954

           UPDATE AP_SELF_ASSESSED_TAX_DIST DIST
              SET DIST.Pa_Addition_Flag = 'O',
                  request_id = G_REQUEST_ID,
                  last_update_date=SYSDATE,
                  last_updated_by=G_USER_ID,
                  last_update_login=G_USER_ID,
                  program_id=G_PROG_ID,
                  program_application_id=G_PROG_APPL_ID,
                  program_update_date=SYSDATE
            WHERE DIST.Posted_Flag = 'Y'
              AND DIST.Pa_Addition_Flag IN
                   ('S', 'A', 'B', 'C', 'D','H', 'I', 'J', 'K', 'L', 'M', 'N', 'P','Q', 'V', 'X')
              AND DIST.project_id > 0
              AND trunc(DIST.Accounting_Date) <= trunc(nvl(G_GL_DATE,DIST.Accounting_Date))   /*GSCC*/
              AND trunc(DIST.Expenditure_Item_Date) <=
                       trunc(NVL(G_TRANSACTION_DATE,DIST.Expenditure_Item_Date))       /*GSCC*/
              AND DIST.project_id = G_PROJECT_ID
              AND dist.line_type_lookup_code <> 'REC_TAX' -- do not proces recoverable tax
              AND EXISTS (
                  SELECT NULL
                    FROM ap_invoices_all inv,
                         po_distributions_all PO,
                         AP_SELF_ASSESSED_TAX_DIST dist2
                    WHERE inv.invoice_id = dist2.invoice_id
                    AND nvl(po.distribution_type,'XXX') <> 'PREPAYMENT'
                    AND dist2.invoice_id = DIST.invoice_id
                    /*credit card txn enhancement, make sure this update doesn't pick tehm */
                    AND inv.PAID_ON_BEHALF_EMPLOYEE_ID IS NULL
                     AND inv.source not  in ('CREDIT CARD','Both Pay')
                    AND dist2.invoice_distribution_id = DIST.invoice_distribution_id
                    AND dist2.po_distribution_id = PO.po_distribution_id(+)
                    AND NVL(PO.destination_type_code, 'EXPENSE') = 'EXPENSE'
                    AND inv.invoice_type_lookup_code <> 'EXPENSE REPORT'
                    AND  (
			nvl(INV.source, 'xx' ) NOT IN ( 'PA_IC_INVOICES','PA_COST_ADJUSTMENTS')
			or
			 dist2.line_type_lookup_code = 'NONREC_TAX'
			 )
                        )
  	        AND   (pa_nl_installed.is_nl_installed = 'N'
                  OR (    pa_nl_installed.is_nl_installed = 'Y'
		    AND NOT EXISTS (SELECT 'X'
				    FROM  po_distributions_all pod, mtl_system_items si, po_lines_all pol
				    WHERE pod.po_distribution_id = dist.po_distribution_id
				    AND pod.po_line_id = pol.po_line_id
				    AND   si.inventory_item_id = pol.item_id
				    AND   si.comms_nl_trackable_flag = 'Y'
				    AND   (si.organization_id = pod.org_id
						OR /* Added for bug 13714500 */
                         si.organization_id in (select nvl(ship_to_organization_id,-9999) from po_line_locations_all pll
                                                 where pll.po_header_id = pod.po_header_id
						              and pll.po_line_id = pod.po_line_id)
						)
				    )
		    AND NOT EXISTS (SELECT 'X'
			      FROM
				AP_SELF_ASSESSED_TAX_DIST apdist,
				po_distributions pod,
				mtl_system_items si,
				po_lines_all pol
			      where DIST.CHARGE_APPLICABLE_TO_DIST_ID
                                    = apdist.INVOICE_DISTRIBUTION_ID
				  and apdist.po_distribution_id = pod.po_distribution_id
				  and pod.po_line_id = pol.po_line_id
				  and si.inventory_item_id = pol.item_id
				  AND   si.comms_nl_trackable_flag = 'Y'
				  AND   (si.organization_id = pod.org_id
						OR /* Added for bug 13714500 */
                         si.organization_id in (select nvl(ship_to_organization_id,-9999) from po_line_locations_all pll
                                                 where pll.po_header_id = pod.po_header_id
						              and pll.po_line_id = pod.po_line_id)
						)
					     )
		    )
                  );
Line: 3045

           UPDATE AP_Invoice_Distributions DIST
              SET DIST.Pa_Addition_Flag = 'O',
                  request_id = G_REQUEST_ID,
                  last_update_date=SYSDATE,
                  last_updated_by=G_USER_ID,
                  last_update_login=G_USER_ID,
                  program_id=G_PROG_ID,
                  program_application_id=G_PROG_APPL_ID,
                  program_update_date=SYSDATE
            WHERE DIST.Posted_Flag = 'Y'
              AND DIST.Pa_Addition_Flag IN
                  ('S', 'A', 'B', 'C', 'D','H', 'I', 'J', 'K', 'L', 'M', 'N', 'P','Q', 'V', 'X')
              AND DIST.project_id > 0
              AND trunc(DIST.Accounting_Date) <= trunc(nvl(G_GL_DATE,DIST.Accounting_Date))   /*GSCC*/ /*Added trunc for the bug 6623163 */
              AND trunc(DIST.Expenditure_Item_Date) <=
                     trunc(NVL(G_TRANSACTION_DATE,DIST.Expenditure_Item_Date))       /*GSCC*/  /*Added trunc for the bug 6623163 */
              AND dist.line_type_lookup_code <> 'REC_TAX' -- do not proces recoverable tax
              AND (
                  EXISTS (
                    SELECT NULL
                    FROM ap_invoices_all inv,
                         po_distributions_all PO,
                         ap_invoice_distributions_all dist2
                    WHERE inv.invoice_id = dist2.invoice_id
                    AND nvl(po.distribution_type,'XXX') <> 'PREPAYMENT'
                    AND dist2.invoice_id = DIST.invoice_id
                    AND dist2.invoice_distribution_id = DIST.invoice_distribution_id
                    AND inv.payment_status_flag = 'Y'                                 -- Flag indicates that Invoice has been FULLY paid
                    AND dist2.historical_flag = 'Y'                                     --Process Historical data as Invoices in Cash based
                    AND dist2.po_distribution_id = PO.po_distribution_id(+)
                    AND NVL(PO.destination_type_code, 'EXPENSE') = 'EXPENSE'
                    AND inv.invoice_type_lookup_code <> 'EXPENSE REPORT'
                    AND inv.PAID_ON_BEHALF_EMPLOYEE_ID IS NULL
                    AND inv.source not  in ('CREDIT CARD','Both Pay') /* Added for bug 8977795 */
                    AND ( nvl(INV.source, 'xx' ) NOT IN (
                              'PA_IC_INVOICES','PA_COST_ADJUSTMENTS')  /* Removed 'Oracle Project Accounting' */
                        or dist2.line_type_lookup_code = 'NONREC_TAX')
                       )
                  OR
                  EXISTS (
                    SELECT NULL
                    FROM ap_invoices inv1,
                         ap_invoice_distributions dist3
                    WHERE inv1.invoice_id = dist3.invoice_id
                    AND   inv1.invoice_id = dist.invoice_id
                    AND   inv1.invoice_type_lookup_code <> 'EXPENSE REPORT'
                    AND   (dist.reversal_flag = 'Y' or dist.cancellation_flag = 'Y' )
                    AND   dist3.invoice_distribution_id = dist.parent_reversal_id      --Process Historical data reversals as Invoices in Cash based
                    AND   dist3.pa_addition_flag = 'Y')
                  )
                /* Bug 6353803: Added the following for this bug. */
  	        AND   (pa_nl_installed.is_nl_installed = 'N'
                  OR (    pa_nl_installed.is_nl_installed = 'Y'
		    AND NOT EXISTS (SELECT 'X'
				    FROM  po_distributions_all pod, mtl_system_items si, po_lines_all pol
				    WHERE pod.po_distribution_id = dist.po_distribution_id
				    AND pod.po_line_id = pol.po_line_id
				    AND   si.inventory_item_id = pol.item_id
				    AND   si.comms_nl_trackable_flag = 'Y'
				    AND   (si.organization_id = pod.org_id
						OR /* Added for bug 13714500 */
                         si.organization_id in (select nvl(ship_to_organization_id,-9999) from po_line_locations_all pll
                                                 where pll.po_header_id = pod.po_header_id
						              and pll.po_line_id = pod.po_line_id)
						)
				    )
		    AND NOT EXISTS (SELECT 'X'
			      FROM
				ap_invoice_distributions apdist,
				po_distributions pod,
				mtl_system_items si,
				po_lines_all pol
			      where DIST.CHARGE_APPLICABLE_TO_DIST_ID
                                    = apdist.INVOICE_DISTRIBUTION_ID
				  and apdist.po_distribution_id = pod.po_distribution_id
				  and pod.po_line_id = pol.po_line_id
				  and si.inventory_item_id = pol.item_id
				  AND   si.comms_nl_trackable_flag = 'Y'
				  AND   (si.organization_id = pod.org_id
						OR /* Added for bug 13714500 */
                         si.organization_id in (select nvl(ship_to_organization_id,-9999) from po_line_locations_all pll
                                                 where pll.po_header_id = pod.po_header_id
						              and pll.po_line_id = pod.po_line_id)
						)
					     )
		    )
                  )/* Start changes for bug#14320909 */
		        AND NOT EXISTS (select 'X' from rcv_receiving_sub_ledger rcv_sub,
			po_distributions_all po_dist1
			where  po_dist1.CODE_COMBINATION_ID   =rcv_sub.CODE_COMBINATION_ID
			AND    rcv_sub.ACTUAL_FLAG           = 'A'
			and    rcv_sub.pa_addition_flag ='Y'
			AND    to_char(DIST.po_distribution_id) = rcv_sub.reference3
			and    DIST.po_distribution_id = po_dist1.po_distribution_id)
			/* End changes for bug#14320909 */;
Line: 3151

            UPDATE ap_invoice_distributions_all dist
            SET    dist.pa_addition_flag = 'O',
                   request_id = G_REQUEST_ID,
                   last_update_date=SYSDATE,
                   last_updated_by= G_USER_ID,
                   last_update_login= G_USER_ID,
                   program_id= G_PROG_ID,
                   program_application_id= G_PROG_APPL_ID,
                   program_update_date=SYSDATE
            WHERE nvl(dist.pa_addition_flag,'N') = 'N'
            AND   dist.posted_flag ='Y'
            AND   dist.project_id > 0
            --AND   dist.line_type_lookup_code = 'PREPAY'
            AND   dist.line_type_lookup_code <> 'REC_TAX'
            AND   dist.prepay_distribution_id is not null
            AND   trunc(dist.Accounting_Date) <= trunc(nvl(G_GL_DATE,dist.Accounting_Date))
            AND   trunc(dist.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,dist.expenditure_item_date))
            AND   EXISTS (
                    SELECT NULL
                    FROM ap_invoices inv
                    WHERE inv.invoice_id = dist.invoice_id
                    AND inv.invoice_type_lookup_code <> 'EXPENSE REPORT'
                    AND inv.PAID_ON_BEHALF_EMPLOYEE_ID IS NULL
                     AND inv.source not  in ('CREDIT CARD','Both Pay') /* Added for bug 8977795 */
                    AND nvl(INV.source, 'xx' ) NOT IN (
                              'PA_IC_INVOICES','PA_COST_ADJUSTMENTS')  ) /* Removed 'Oracle Project Accounting' */
            AND   exists(SELECT inv.invoice_id
                           FROM AP_INVOICES_all inv,
                                AP_Invoice_Distributions_all aid
                          WHERE aid.invoice_id = inv.invoice_id
                            AND inv.invoice_type_lookup_code = 'PREPAYMENT'
                            AND aid.historical_flag = 'Y'
                            AND aid.pa_addition_flag = 'Y'
                            AND aid.invoice_distribution_id =  dist.prepay_distribution_id --Prepayment dist id
                            AND aid.project_id > 0 )
                /* Bug 6353803: Added the following for this bug. */
  	        AND   (pa_nl_installed.is_nl_installed = 'N'
                  OR (    pa_nl_installed.is_nl_installed = 'Y'
		    AND NOT EXISTS (SELECT 'X'
				    FROM  po_distributions_all pod, mtl_system_items si, po_lines_all pol
				    WHERE pod.po_distribution_id = dist.po_distribution_id
				    AND pod.po_line_id = pol.po_line_id
				    AND   si.inventory_item_id = pol.item_id
				    AND   si.comms_nl_trackable_flag = 'Y'
				    AND    (si.organization_id = pod.org_id
						OR /* Added for bug 13714500 */
                         si.organization_id in (select nvl(ship_to_organization_id,-9999) from po_line_locations_all pll
                                                 where pll.po_header_id = pod.po_header_id
						              and pll.po_line_id = pod.po_line_id)
						)
				    )
		    AND NOT EXISTS (SELECT 'X'
			      FROM
				ap_invoice_distributions apdist,
				po_distributions pod,
				mtl_system_items si,
				po_lines_all pol
			      where DIST.CHARGE_APPLICABLE_TO_DIST_ID
                                    = apdist.INVOICE_DISTRIBUTION_ID
				  and apdist.po_distribution_id = pod.po_distribution_id
				  and pod.po_line_id = pol.po_line_id
				  and si.inventory_item_id = pol.item_id
				  AND   si.comms_nl_trackable_flag = 'Y'
				  AND    (si.organization_id = pod.org_id
						OR /* Added for bug 13714500 */
                         si.organization_id in (select nvl(ship_to_organization_id,-9999) from po_line_locations_all pll
                                                 where pll.po_header_id = pod.po_header_id
						              and pll.po_line_id = pod.po_line_id)
						)
					     )
		    )
                  );
Line: 3234

            UPDATE AP_SELF_ASSESSED_TAX_DIST_ALL dist
            SET    dist.pa_addition_flag = 'O',
                   request_id = G_REQUEST_ID,
                   last_update_date=SYSDATE,
                   last_updated_by= G_USER_ID,
                   last_update_login= G_USER_ID,
                   program_id= G_PROG_ID,
                   program_application_id= G_PROG_APPL_ID,
                   program_update_date=SYSDATE
            WHERE nvl(dist.pa_addition_flag,'N') = 'N'
            AND   dist.posted_flag ='Y'
            AND   dist.project_id > 0
            AND   dist.line_type_lookup_code <> 'REC_TAX'
            AND   dist.prepay_distribution_id is not null
            AND   trunc(dist.Accounting_Date) <= trunc(nvl(G_GL_DATE,dist.Accounting_Date))
            AND   trunc(dist.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,dist.expenditure_item_date))
            AND   EXISTS (
                    SELECT NULL
                    FROM ap_invoices inv
                    WHERE inv.invoice_id = dist.invoice_id
                    AND inv.invoice_type_lookup_code <> 'EXPENSE REPORT'
                    AND inv.PAID_ON_BEHALF_EMPLOYEE_ID IS NULL
                     AND inv.source not  in ('CREDIT CARD','Both Pay')
                    AND nvl(INV.source, 'xx' ) NOT IN (
                              'PA_IC_INVOICES','PA_COST_ADJUSTMENTS')  )
            AND   exists(SELECT inv.invoice_id
                           FROM AP_INVOICES_all inv,
                                AP_SELF_ASSESSED_TAX_DIST_ALL aid
                          WHERE aid.invoice_id = inv.invoice_id
                            AND inv.invoice_type_lookup_code = 'PREPAYMENT'
                           -- AND aid.historical_flag = 'Y' /*doubt*/
                            AND aid.pa_addition_flag = 'Y'
                            AND aid.invoice_distribution_id =  dist.prepay_distribution_id
                            AND aid.project_id > 0 )
                AND   (pa_nl_installed.is_nl_installed = 'N'
                  OR (    pa_nl_installed.is_nl_installed = 'Y'
		    AND NOT EXISTS (SELECT 'X'
				    FROM  po_distributions_all pod, mtl_system_items si, po_lines_all pol
				    WHERE pod.po_distribution_id = dist.po_distribution_id
				    AND pod.po_line_id = pol.po_line_id
				    AND   si.inventory_item_id = pol.item_id
				    AND   si.comms_nl_trackable_flag = 'Y'
				    AND   (si.organization_id = pod.org_id
						OR /* Added for bug 13714500 */
                         si.organization_id in (select nvl(ship_to_organization_id,-9999) from po_line_locations_all pll
                                                 where pll.po_header_id = pod.po_header_id
						              and pll.po_line_id = pod.po_line_id)
						)
				    )
		    AND NOT EXISTS (SELECT 'X'
			      FROM
				AP_SELF_ASSESSED_TAX_DIST_ALL apdist,
				po_distributions pod,
				mtl_system_items si,
				po_lines_all pol
			      where DIST.CHARGE_APPLICABLE_TO_DIST_ID
                                    = apdist.INVOICE_DISTRIBUTION_ID
				  and apdist.po_distribution_id = pod.po_distribution_id
				  and pod.po_line_id = pol.po_line_id
				  and si.inventory_item_id = pol.item_id
				  AND   si.comms_nl_trackable_flag = 'Y'
				  AND   (si.organization_id = pod.org_id
						OR /* Added for bug 13714500 */
                         si.organization_id in (select nvl(ship_to_organization_id,-9999) from po_line_locations_all pll
                                                 where pll.po_header_id = pod.po_header_id
						              and pll.po_line_id = pod.po_line_id)
						)
					     )
		    )
                  );
Line: 3314

           UPDATE /*+ index(DIST AP_INVOICE_DISTRIBUTIONS_N14) */ AP_Invoice_Distributions DIST
              SET DIST.Pa_Addition_Flag = 'O',
                  request_id = G_REQUEST_ID,
                  last_update_date=SYSDATE,
                  last_updated_by=G_USER_ID,
                  last_update_login=G_USER_ID,
                  program_id=G_PROG_ID,
                  program_application_id=G_PROG_APPL_ID,
                  program_update_date=SYSDATE
            WHERE DIST.Posted_Flag = 'Y' -- removed the append  || '' for bug 13599091
	    AND DIST.Pa_Addition_Flag IN
                  ('S', 'A', 'B', 'C', 'D','H', 'I', 'J', 'K', 'L', 'M', 'N', 'P','Q', 'V', 'X')
              AND DIST.project_id > 0
              AND trunc(DIST.Accounting_Date )<= trunc(nvl(G_GL_DATE,DIST.Accounting_Date) )  /*GSCC*/
              AND trunc(DIST.Expenditure_Item_Date) <=
                     trunc(NVL(G_TRANSACTION_DATE, DIST.Expenditure_Item_Date))          /*GSCC*/
              AND dist.line_type_lookup_code <> 'REC_TAX' -- do not proces recoverable tax
              AND EXISTS (
                  SELECT NULL
                    FROM ap_invoices_all inv,
                         po_distributions_all PO,
                         ap_invoice_distributions_all dist2
                    WHERE inv.invoice_id = dist2.invoice_id
                    AND nvl(po.distribution_type,'XXX') <> 'PREPAYMENT'
                    AND dist2.invoice_id = DIST.invoice_id
                    /* credit card txn enhancement, make sure this update doesn't pick tehm */
                    AND inv.PAID_ON_BEHALF_EMPLOYEE_ID IS NULL
                    AND inv.source not  in ('CREDIT CARD','Both Pay') /* Added for bug 8977795 */
                    AND dist2.invoice_distribution_id = DIST.invoice_distribution_id
                    AND dist2.po_distribution_id = PO.po_distribution_id(+)
                    AND NVL(PO.destination_type_code, 'EXPENSE') = 'EXPENSE'
                    AND inv.invoice_type_lookup_code <> 'EXPENSE REPORT'
                    -- IC Upgrade: Do not get Inter-company invoices
                    AND ( nvl(INV.source, 'xx' ) NOT IN (
                             'PA_IC_INVOICES','PA_COST_ADJUSTMENTS')  /* Removed 'Oracle Project Accounting' */
			    or
			 dist2.line_type_lookup_code = 'NONREC_TAX'
			 )
                        )
                /* Bug 6353803: Added the following for this bug. */
  	        AND   (pa_nl_installed.is_nl_installed = 'N'
                  OR (    pa_nl_installed.is_nl_installed = 'Y'
		    AND NOT EXISTS (SELECT 'X'
				    FROM  po_distributions_all pod, mtl_system_items si, po_lines_all pol
				    WHERE pod.po_distribution_id = dist.po_distribution_id
				    AND dist.po_distribution_id > 0   /*Added for bug#12922795 */
				    AND pod.po_line_id = pol.po_line_id
				    AND   si.inventory_item_id = pol.item_id
				    AND   si.comms_nl_trackable_flag = 'Y'
				    AND   (si.organization_id = pod.org_id
						OR /* Added for bug 13714500 */
                         si.organization_id in (select nvl(ship_to_organization_id,-9999) from po_line_locations_all pll
                                                 where pll.po_header_id = pod.po_header_id
						              and pll.po_line_id = pod.po_line_id)
						)
				    )
		    AND NOT EXISTS (SELECT 'X'
			      FROM
				ap_invoice_distributions apdist,
				po_distributions pod,
				mtl_system_items si,
				po_lines_all pol
			      where DIST.CHARGE_APPLICABLE_TO_DIST_ID
                                    = apdist.INVOICE_DISTRIBUTION_ID
				  and apdist.po_distribution_id = pod.po_distribution_id
				  AND apdist.po_distribution_id > 0   /*Added for bug#12922795 */
				  and pod.po_line_id = pol.po_line_id
				  and si.inventory_item_id = pol.item_id
				  AND   si.comms_nl_trackable_flag = 'Y'
				  AND   (si.organization_id = pod.org_id
						OR /* Added for bug 13714500 */
                         si.organization_id in (select nvl(ship_to_organization_id,-9999) from po_line_locations_all pll
                                                 where pll.po_header_id = pod.po_header_id
						              and pll.po_line_id = pod.po_line_id)
						)
					     )
		    )
                  );
Line: 3399

              UPDATE AP_SELF_ASSESSED_TAX_DIST DIST
              SET DIST.Pa_Addition_Flag = 'O',
                  request_id = G_REQUEST_ID,
                  last_update_date=SYSDATE,
                  last_updated_by=G_USER_ID,
                  last_update_login=G_USER_ID,
                  program_id=G_PROG_ID,
                  program_application_id=G_PROG_APPL_ID,
                  program_update_date=SYSDATE
            WHERE DIST.Posted_Flag||'' = 'Y'
              AND DIST.Pa_Addition_Flag IN
                  ('S', 'A', 'B', 'C', 'D','H', 'I', 'J', 'K', 'L', 'M', 'N', 'P','Q', 'V', 'X')
              AND DIST.project_id > 0
              AND trunc(DIST.Accounting_Date )<= trunc(nvl(G_GL_DATE,DIST.Accounting_Date) )  /*GSCC*/
              AND trunc(DIST.Expenditure_Item_Date) <=
                     trunc(NVL(G_TRANSACTION_DATE, DIST.Expenditure_Item_Date))          /*GSCC*/
              AND dist.line_type_lookup_code <> 'REC_TAX' -- do not proces recoverable tax
              AND EXISTS (
                  SELECT NULL
                    FROM ap_invoices_all inv,
                         po_distributions_all PO,
                         AP_SELF_ASSESSED_TAX_DIST dist2
                    WHERE inv.invoice_id = dist2.invoice_id
                    AND nvl(po.distribution_type,'XXX') <> 'PREPAYMENT'
                    AND dist2.invoice_id = DIST.invoice_id
                    AND inv.PAID_ON_BEHALF_EMPLOYEE_ID IS NULL
                    AND inv.source not  in ('CREDIT CARD','Both Pay')
                    AND dist2.invoice_distribution_id = DIST.invoice_distribution_id
                    AND dist2.po_distribution_id = PO.po_distribution_id(+)
                    AND NVL(PO.destination_type_code, 'EXPENSE') = 'EXPENSE'
                    AND inv.invoice_type_lookup_code <> 'EXPENSE REPORT'
                    AND ( nvl(INV.source, 'xx' ) NOT IN (
                             'PA_IC_INVOICES','PA_COST_ADJUSTMENTS')
			    or
			 dist2.line_type_lookup_code = 'NONREC_TAX'
			 )
                        )
  	        AND   (pa_nl_installed.is_nl_installed = 'N'
                  OR (    pa_nl_installed.is_nl_installed = 'Y'
		    AND NOT EXISTS (SELECT 'X'
				    FROM  po_distributions_all pod, mtl_system_items si, po_lines_all pol
				    WHERE pod.po_distribution_id = dist.po_distribution_id
				    AND pod.po_line_id = pol.po_line_id
				    AND   si.inventory_item_id = pol.item_id
				    AND   si.comms_nl_trackable_flag = 'Y'
				    AND   (si.organization_id = pod.org_id
						OR /* Added for bug 13714500 */
                         si.organization_id in (select nvl(ship_to_organization_id,-9999) from po_line_locations_all pll
                                                 where pll.po_header_id = pod.po_header_id
						              and pll.po_line_id = pod.po_line_id)
						)
				    )
		    AND NOT EXISTS (SELECT 'X'
			      FROM
				AP_SELF_ASSESSED_TAX_DIST apdist,
				po_distributions pod,
				mtl_system_items si,
				po_lines_all pol
			      where DIST.CHARGE_APPLICABLE_TO_DIST_ID
                                    = apdist.INVOICE_DISTRIBUTION_ID
				  and apdist.po_distribution_id = pod.po_distribution_id
				  and pod.po_line_id = pol.po_line_id
				  and si.inventory_item_id = pol.item_id
				  AND   si.comms_nl_trackable_flag = 'Y'
				  AND   (si.organization_id = pod.org_id
						OR /* Added for bug 13714500 */
                         si.organization_id in (select nvl(ship_to_organization_id,-9999) from po_line_locations_all pll
                                                 where pll.po_header_id = pod.po_header_id
						              and pll.po_line_id = pod.po_line_id)
						)
					     )
		    )
                  );
Line: 3547

      SELECT count(*) from
      (
      select 1
         FROM ap_invoice_distributions
        WHERE invoice_id       = p_invoice_id
          AND pa_addition_flag = 'O'
	union
	select 1
	from AP_SELF_ASSESSED_TAX_DIST
	WHERE invoice_id       = p_invoice_id
	 AND pa_addition_flag = 'O'
      );  /*Bug 13602288:  Self Assessed Tax  Changes*/
Line: 3576

       l_invoice_id_tbl.delete;
Line: 3577

       l_created_by_tbl.delete;
Line: 3579

       l_invoice_dist_id_tbl.delete; --NEW
Line: 3580

       l_project_id_tbl.delete;
Line: 3581

       l_task_id_tbl.delete;
Line: 3582

       l_ln_type_lookup_tbl.delete;
Line: 3583

       l_exp_type_tbl.delete;
Line: 3584

       l_ei_date_tbl.delete;
Line: 3585

       l_amount_tbl.delete;
Line: 3586

       l_description_tbl.delete;
Line: 3587

       l_justification_tbl.delete;
Line: 3588

       l_dist_cc_id_tbl.delete;
Line: 3589

       l_exp_org_id_tbl.delete;
Line: 3590

       l_quantity_tbl.delete;
Line: 3591

       l_acct_pay_cc_id_tbl.delete;
Line: 3592

       l_gl_date_tbl.delete;
Line: 3593

       l_attribute_cat_tbl.delete;
Line: 3594

       l_attribute1_tbl.delete;
Line: 3595

       l_attribute2_tbl.delete;
Line: 3596

       l_attribute3_tbl.delete;
Line: 3597

       l_attribute4_tbl.delete;
Line: 3598

       l_attribute5_tbl.delete;
Line: 3599

       l_attribute6_tbl.delete;
Line: 3600

       l_attribute7_tbl.delete;
Line: 3601

       l_attribute8_tbl.delete;
Line: 3602

       l_attribute9_tbl.delete;
Line: 3603

       l_attribute10_tbl.delete;
Line: 3604

       l_rec_cur_amt_tbl.delete;
Line: 3605

       l_rec_cur_code_tbl.delete;
Line: 3606

       l_rec_conv_rate_tbl.delete;
Line: 3607

       l_denom_raw_cost_tbl.delete;
Line: 3608

       l_denom_cur_code_tbl.delete;
Line: 3609

       l_acct_rate_date_tbl.delete;
Line: 3610

       l_acct_rate_type_tbl.delete;
Line: 3611

       l_acct_exch_rate_tbl.delete;
Line: 3612

       l_job_id_tbl.delete;
Line: 3613

       l_employee_id_tbl.delete;
Line: 3614

       l_vendor_id_tbl.delete;
Line: 3615

       l_inv_type_code_tbl.delete;
Line: 3616

       l_source_tbl.delete;
Line: 3617

       l_org_id_tbl.delete;
Line: 3618

       l_invoice_num_tbl.delete;
Line: 3619

       l_cdl_sys_ref4_tbl.delete;
Line: 3620

       l_po_dist_id_tbl.delete;
Line: 3621

       l_txn_src_tbl.delete;
Line: 3622

       l_user_txn_src_tbl.delete;
Line: 3623

       l_batch_name_tbl.delete;
Line: 3624

       l_interface_id_tbl.delete;
Line: 3625

       l_exp_end_date_tbl.delete;
Line: 3626

       l_txn_status_code_tbl.delete;
Line: 3627

       l_txn_rej_code_tbl.delete;
Line: 3628

       l_po_dist_id_tbl.delete;
Line: 3629

       l_bus_grp_id_tbl.delete;
Line: 3630

       l_paid_emp_id_tbl.delete;
Line: 3631

       l_sort_var_tbl.delete;
Line: 3632

       l_reversal_flag_tbl.delete; --NEW
Line: 3633

       l_cancel_flag_tbl.delete;  --NEW
Line: 3634

       l_parent_rev_id_tbl.delete; --NEW
Line: 3635

       l_net_zero_flag_tbl.delete; --NEW
Line: 3636

       l_sc_xfer_code_tbl.delete; --NEW
Line: 3637

       l_adj_exp_item_id_tbl.delete; --NEW
Line: 3638

       l_fc_enabled_tbl.delete; --NEW
Line: 3639

       l_fc_document_type_tbl.delete; --NEW
Line: 3640

       l_insert_flag_tbl.delete;
Line: 3641

       l_rev_parent_dist_id_tbl.delete;
Line: 3642

       l_rev_child_dist_id_tbl.delete;
Line: 3643

       l_rev_parent_dist_ind_tbl.delete;
Line: 3644

       l_si_assts_add_flg_tbl.delete;
Line: 3645

       l_prepay_dist_id_tbl.delete;
Line: 3646

       l_hist_flag_tbl.delete;
Line: 3648

       l_is_self_assessed_tax_tbl.delete; -- Bug 13602288: Self Assessed Tax  change
Line: 3649

	     l_cbs_element_id_tbl.delete; -- Added for CBS Enhancement Bug 16220146
Line: 3653

   /* the following sub-procedure is declared here to save lines of code since bulk insert
      will be done multiple times within the procedure transfer_inv_to_pa */

    PROCEDURE bulk_update_trx_intf IS

     BEGIN

       /* The records with INSERT_FLAG = F indicate that they are fully applied prepayments and the pa-addition-flag
          for such records will be updated to G to relieve commitments*/
       /* The records with INSERT_FLAG = P indicate that they are partially applied prepayments and the pa-addition-flag
          for such records will be updated to N */

       write_log(LOG,'Before bulk update  of prepayment invoices');
Line: 3669

         UPDATE ap_invoice_distributions_all dist
            SET dist.pa_addition_flag         = decode(l_insert_flag_tbl(i),'F','G','P','N')
          WHERE dist.invoice_id               = l_invoice_id_tbl(i)
            AND dist.invoice_distribution_id  = l_invoice_dist_id_tbl(i)
            AND dist.pa_addition_flag         = 'O'
	    AND l_is_self_assessed_tax_tbl(i) = 'N'  -- Bug 13602288: Self Assessed Tax  Changes
            AND l_insert_flag_tbl(i)         in ('P','F');
Line: 3678

         UPDATE AP_SELF_ASSESSED_TAX_DIST dist
            SET dist.pa_addition_flag         = decode(l_insert_flag_tbl(i),'F','G','P','N')
          WHERE dist.invoice_id               = l_invoice_id_tbl(i)
            AND dist.invoice_distribution_id  = l_invoice_dist_id_tbl(i)
            AND dist.pa_addition_flag         = 'O'
	    AND l_is_self_assessed_tax_tbl(i) = 'Y'  -- Bug 13602288: Self Assessed Tax  Changes
            AND l_insert_flag_tbl(i)         in ('P','F');
Line: 3690

          write_log(LOG,'Failed during bulk update for prepayment processing');
Line: 3697

    END bulk_update_trx_intf;
Line: 3699

    PROCEDURE bulk_insert_trx_intf IS

      l_status2 VARCHAR2(30);
Line: 3706

       write_log(LOG,'Before bulk insert of supplier invoices');
Line: 3766

          write_log(LOG,      '58:'||l_insert_flag_tbl(i));
Line: 3775

       INSERT INTO pa_transaction_interface_all(
                     transaction_source
                    , user_transaction_source
                    , system_linkage
                    , batch_name
                    , expenditure_ending_date
                    , expenditure_item_date
                    , expenditure_type
                    , quantity
                    , raw_cost_rate
                    , expenditure_comment
                    , transaction_status_code
                    , transaction_rejection_code
                    , orig_transaction_reference
                    , interface_id
                    , dr_code_combination_id
                    , cr_code_combination_id
                    , cdl_system_reference1
                    , cdl_system_reference2
                    , cdl_system_reference3
                    , cdl_system_reference4
                    , cdl_system_reference5 --NEW
                    , gl_date
                    , org_id
                    , unmatched_negative_txn_flag
                    , receipt_currency_amount
                    , receipt_currency_code
                    , receipt_exchange_rate
                    , denom_raw_cost
                    , denom_currency_code
                    , acct_rate_date
                    , acct_rate_type
                    , acct_exchange_rate
                    , acct_raw_cost
                    , acct_exchange_rounding_limit
                    , attribute_category
                    , attribute1
                    , attribute2
                    , attribute3
                    , attribute4
                    , attribute5
                    , attribute6
                    , attribute7
                    , attribute8
                    , attribute9
                    , attribute10
                    , orig_exp_txn_reference1
                    , orig_user_exp_txn_reference
                    , orig_exp_txn_reference2
                    , orig_exp_txn_reference3
                    , last_update_date
                    , last_updated_by
                    , creation_date
                    , created_by
                    , person_id
                    , organization_id
                    , project_id
                    , task_id
                    , Vendor_id
                    , override_to_organization_id
                    , person_business_group_id
                    , adjusted_expenditure_item_id --NEW
                    , fc_document_type  -- NEW
                    , document_type
                    , document_distribution_type
                    , sc_xfer_code
                    , si_assets_addition_flag
                    , net_zero_adjustment_flag
                    , cbs_element_id -- Added for CBS Enhancement Bug 16220146
                   )
                  SELECT
                      l_txn_src_tbl(i)
                     ,l_user_txn_src_tbl(i)
                     ,G_SYSTEM_LINKAGE
                     ,l_batch_name_tbl(i)
                     ,l_exp_end_date_tbl(i)
                     ,l_ei_date_tbl(i)
                     ,l_exp_type_tbl(i)
                     ,l_quantity_tbl(i)
                     ,l_amount_tbl(i)/decode(nvl(l_quantity_tbl(i),0),0,1,l_quantity_tbl(i))
                     ,l_description_tbl(i)
                     ,l_txn_status_code_tbl(i)
                     ,l_txn_rej_code_tbl(i)
                     ,G_REQUEST_ID
                     ,l_interface_id_tbl(i)
                     ,l_dist_cc_id_tbl(i)
                     ,l_acct_pay_cc_id_tbl(i)
                     ,l_vendor_id_tbl(i) /*sysref1*/
                     ,l_invoice_id_tbl(i) /*sysref2*/
                     ,l_cdl_sys_ref3_tbl(i)  --NULL /*sysref3*/
                     ,l_cdl_sys_ref4_tbl(i)
                     ,l_invoice_dist_id_tbl(i) /*sysref5*/ --NEW
                     ,l_gl_date_tbl(i)
                     ,G_ORG_ID
                     ,'Y'
                     ,l_rec_cur_amt_tbl(i)
                     ,l_rec_cur_code_tbl(i)
                     ,l_rec_conv_rate_tbl(i)
                     ,l_denom_raw_cost_tbl(i)
                     ,l_denom_cur_code_tbl(i)
                     ,l_acct_rate_date_tbl(i)
                     ,l_acct_rate_type_tbl(i)
                     ,l_acct_exch_rate_tbl(i)
                     ,l_amount_tbl(i)
                     ,1
                     ,l_attribute_cat_tbl(i)
                     ,l_attribute1_tbl(i)
                     ,l_attribute2_tbl(i)
                     ,l_attribute3_tbl(i)
                     ,l_attribute4_tbl(i)
                     ,l_attribute5_tbl(i)
                     ,l_attribute6_tbl(i)
                     ,l_attribute7_tbl(i)
                     ,l_attribute8_tbl(i)
                     ,l_attribute9_tbl(i)
                     ,l_attribute10_tbl(i)
                     ,l_invoice_id_tbl(i)        /*orig_exp_txn_reference1*/
                     ,l_invoice_num_tbl(i)       /*user_exp_txn_reference*/
                     /* bug 2835757*/
                     ,DECODE(G_TRANS_DFF_AP,'N',NULL,l_invoice_id_tbl(i)) /*orig_exp_txn_reference2*/
                     ,NULL                       /*orig_exp_txn_reference3*/
                     ,SYSDATE
                     ,-1
                     ,SYSDATE
                     ,-1
                     ,l_employee_id_tbl(i)
                     ,l_org_id_tbl(i)
                     ,l_project_id_tbl(i)
                     ,l_task_id_tbl(i)
                     ,l_vendor_id_tbl(i)
                     ,l_exp_org_id_tbl(i)
                     ,l_bus_grp_id_tbl(i)
                     ,l_adj_exp_item_id_tbl(i) --NEW for reversals
                     ,l_fc_document_type_tbl(i) --NEW for funds check
                     ,l_inv_type_code_tbl(i)
                     ,l_ln_type_lookup_tbl(i)
                     ,l_sc_xfer_code_tbl(i)
                     ,l_si_assts_add_flg_tbl(i)
                     ,l_net_zero_flag_tbl(i)
                     ,l_cbs_element_id_tbl(i) -- Added for CBS Enhancement Bug 16220146
                FROM dual
                WHERE l_insert_flag_tbl(i) not in ('F', 'P');
Line: 3921

                write_log(LOG, 'Inserting adjustment records..');
Line: 3925

       INSERT INTO pa_transaction_interface_all(
                     transaction_source
                    , user_transaction_source
                    , system_linkage
                    , batch_name
                    , expenditure_ending_date
                    , expenditure_item_date
                    , expenditure_type
                    , quantity
                    , raw_cost_rate
                    , expenditure_comment
                    , transaction_status_code
                    , transaction_rejection_code
                    , orig_transaction_reference
                    , interface_id
                    , dr_code_combination_id
                    , cr_code_combination_id
                    , cdl_system_reference1
                    , cdl_system_reference2
                    , cdl_system_reference3
                    , cdl_system_reference4
                    , cdl_system_reference5 --NEW
                    , gl_date
                    , org_id
                    , unmatched_negative_txn_flag
                    , receipt_currency_amount
                    , receipt_currency_code
                    , receipt_exchange_rate
                    , denom_raw_cost
                    , denom_currency_code
                    , acct_rate_date
                    , acct_rate_type
                    , acct_exchange_rate
                    , acct_raw_cost
                    , acct_exchange_rounding_limit
                    , attribute_category
                    , attribute1
                    , attribute2
                    , attribute3
                    , attribute4
                    , attribute5
                    , attribute6
                    , attribute7
                    , attribute8
                    , attribute9
                    , attribute10
                    , orig_exp_txn_reference1
                    , orig_user_exp_txn_reference
                    , orig_exp_txn_reference2
                    , orig_exp_txn_reference3
                    , last_update_date
                    , last_updated_by
                    , creation_date
                    , created_by
                    , person_id
                    , organization_id
                    , project_id
                    , task_id
                    , Vendor_id
                    , override_to_organization_id
                    , person_business_group_id
                    , adjusted_expenditure_item_id --NEW
                    , fc_document_type  -- NEW
                    , document_type
                    , document_distribution_type
                    , adjusted_txn_interface_id
                    , sc_xfer_code
                    , si_assets_addition_flag
                    , net_zero_adjustment_flag
                    , cbs_element_id -- Added for CBS Enhancement Bug 16220146
                   )
                  SELECT
                      l_txn_src_tbl(i)
                     ,l_user_txn_src_tbl(i)
                     ,G_SYSTEM_LINKAGE
                     ,l_batch_name_tbl(i)
                     ,l_exp_end_date_tbl(i)
                     ,l_ei_date_tbl(i)
                     ,l_exp_type_tbl(i)
                     ,-l_quantity_tbl(i)
                     ,l_amount_tbl(i)/decode(nvl(l_quantity_tbl(i),0),0,1,l_quantity_tbl(i))
                     ,l_description_tbl(i)
                     ,l_txn_status_code_tbl(i)
                     ,l_txn_rej_code_tbl(i)
                     ,G_REQUEST_ID
                     ,l_interface_id_tbl(i)
                     ,l_dist_cc_id_tbl(i)
                     ,l_acct_pay_cc_id_tbl(i)
                     ,l_vendor_id_tbl(i) /*sysref1*/
                     ,l_invoice_id_tbl(i) /*sysref2*/
                     ,l_cdl_sys_ref3_tbl(i)  --NULL /*sysref3*/
                     ,l_cdl_sys_ref4_tbl(i)
                     ,l_invoice_dist_id_tbl(i) /*sysref5*/ --NEW
                     ,l_gl_date_tbl(i)
                     ,G_ORG_ID
                     ,'Y'
                     ,-l_rec_cur_amt_tbl(i)
                     ,l_rec_cur_code_tbl(i)
                     ,l_rec_conv_rate_tbl(i)
                     ,-l_denom_raw_cost_tbl(i)
                     ,l_denom_cur_code_tbl(i)
                     ,l_acct_rate_date_tbl(i)
                     ,l_acct_rate_type_tbl(i)
                     ,l_acct_exch_rate_tbl(i)
                     ,-l_amount_tbl(i)
                     ,1
                     ,l_attribute_cat_tbl(i)
                     ,l_attribute1_tbl(i)
                     ,l_attribute2_tbl(i)
                     ,l_attribute3_tbl(i)
                     ,l_attribute4_tbl(i)
                     ,l_attribute5_tbl(i)
                     ,l_attribute6_tbl(i)
                     ,l_attribute7_tbl(i)
                     ,l_attribute8_tbl(i)
                     ,l_attribute9_tbl(i)
                     ,l_attribute10_tbl(i)
                     ,l_invoice_id_tbl(i)        /*orig_exp_txn_reference1*/
                     ,l_invoice_num_tbl(i)       /*user_exp_txn_reference*/
                     /* bug 2835757*/
                     ,DECODE(G_TRANS_DFF_AP,'N',NULL,l_invoice_id_tbl(i)) /*orig_exp_txn_reference2*/
                     ,NULL                       /*orig_exp_txn_reference3*/
                     ,SYSDATE
                     ,-1
                     ,SYSDATE
                     ,-1
                     ,l_employee_id_tbl(i)
                     ,l_org_id_tbl(i)
                     ,l_project_id_tbl(i)
                     ,l_task_id_tbl(i)
                     ,l_vendor_id_tbl(i)
                     ,l_exp_org_id_tbl(i)
                     ,l_bus_grp_id_tbl(i)
                     ,l_adj_exp_item_id_tbl(i) --NEW for reversals
                     ,l_fc_document_type_tbl(i) --NEW for funds check
                     ,l_inv_type_code_tbl(i)
                     ,l_ln_type_lookup_tbl(i)
                     ,(select xface.txn_interface_id
                       from   pa_transaction_interface xface
                       where  xface.interface_id = l_interface_id_tbl(i)
                       and    xface.cdl_system_reference2 = l_invoice_id_tbl(i)
                       and    xface.cdl_system_reference5 = l_invoice_dist_id_tbl(i)
		       and    NVL(xface.adjusted_expenditure_item_id,0) = 0 ) -- R12 funds management Uptake
                     ,'P' -- sc_xfer_code
                     ,'T' -- l_si_assts_add_flg_tbl(i)
                     ,l_net_zero_flag_tbl(i)
                     ,l_cbs_element_id_tbl(i) -- Added for CBS Enhancement Bug 16220146
                FROM dual
                WHERE l_insert_flag_tbl(i)= 'A';
Line: 4085

                    UPDATE pa_transaction_interface_all xface
                    SET    xface.net_zero_adjustment_flag ='Y',
                           xface.adjusted_txn_interface_id =
                              (select distinct  xface1.txn_interface_id  /*Added Distinct for bug 9266578 */
                               from   pa_transaction_interface xface1
                               where  xface1.interface_id = l_interface_id_tbl(l_rev_parent_dist_ind_tbl(i))
                               and    xface1.cdl_system_reference2 = l_invoice_id_tbl(l_rev_parent_dist_ind_tbl(i))
                               and    xface1.cdl_system_reference5 = l_invoice_dist_id_tbl(l_rev_parent_dist_ind_tbl(i))
                               )
                      WHERE  xface.interface_id = l_interface_id_tbl(l_rev_parent_dist_ind_tbl(i))
                      AND    xface.cdl_system_reference2 = l_invoice_id_tbl(l_rev_parent_dist_ind_tbl(i))
                      AND    xface.cdl_system_reference5 = l_rev_child_dist_id_tbl(i);
Line: 4107

          write_log(LOG,'Failed during bulk insert for invoice processing');
Line: 4114

   END bulk_insert_trx_intf;
Line: 4177

				    SELECT PROJ_ELEMENT_ID, CBS_ELEMENT_ID
					INTO l_actual_task_id, l_cbs_element_id
					FROM PA_ALTERNATE_TASKS
					WHERE alt_task_id = l_task_id_tbl(i);
Line: 4204

               /* Update the previous invoice id and vendor id*/
               v_prev_invoice_id := l_invoice_id_tbl(i);
Line: 4213

                  /* First update the v_prev_invoice_source */
                  G_err_stage := 'New source encountered';
Line: 4262

                SELECT pa_utils.getweekending(MAX(expenditure_item_date))
                  INTO G_EXPENDITURE_ENDING_DATE
                  FROM ap_invoice_distributions
                 WHERE invoice_id = l_invoice_id_tbl(i);
Line: 4276

                      SELECT emp.business_group_id
                        INTO G_PER_BUS_GRP_ID
                        FROM per_all_people_f emp
                       WHERE emp.person_id = l_employee_id_tbl(i)
                          AND l_ei_date_tbl(i) between trunc(emp.effective_start_date) and trunc(emp.effective_end_date);
Line: 4291

			    select org2.business_group_id
			      into G_PER_BUS_GRP_ID
			      from hr_organization_units org1,
				   hr_organization_units org2
			     Where org1.organization_id = l_exp_org_id_tbl(i)
			       and org1.business_group_id = org2.organization_id ;
Line: 4317

           /*Update counter of how many distributions of the last invoice of the batch has been processed*/

           IF l_invoice_id_tbl(i) = l_invoice_id_tbl(v_last_inv_index) THEN
              v_num_last_invoice_processed := v_num_last_invoice_processed +1;
Line: 4343

              /* Update counter for number of tax lines fetched */
              v_num_tax_lines_fetched := v_num_tax_lines_fetched +1;
Line: 4356

              /* Update counter for number of variance lines fetched */
              v_num_inv_variance_fetched :=  v_num_inv_variance_fetched +1;
Line: 4370

              /* Update counter for number of variance lines fetched */
              v_num_inv_erv_fetched :=  v_num_inv_erv_fetched +1;
Line: 4384

              /* Update counter for number of frt and misc lines fetched */
              v_num_inv_frt_fetched :=  v_num_inv_frt_fetched +1;
Line: 4418

           /* The records with INSERT_FLAG = F indicate that they are fully applied prepayments and the pa-addition-flag
              for such records will be updated to G to relieve commitments*/
           /* The records with INSERT_FLAG = P indicate that they are partially applied prepayments and the pa-addition-flag
              for such records will be updated to N */

           l_prepay_hist_flag := 'X'; --initialize
Line: 4447

                SELECT nvl(historical_flag,'N')
                INTO   l_prepay_hist_flag
                FROM   ap_invoice_distributions_all
                WHERE  invoice_distribution_id = l_prepay_dist_id_tbl(i);
Line: 4458

                SELECT nvl(historical_flag,'N')
                INTO   l_prepay_hist_flag
                FROM   ap_invoice_distributions_all
                WHERE  invoice_distribution_id = l_parent_rev_id_tbl(i);
Line: 4492

                   l_insert_flag_tbl(i) := 'F';
Line: 4493

		   write_log(LOG,' l_insert_flag_tbl '||l_insert_flag_tbl(i)||' check_prepay_fully_applied is Y');
Line: 4495

                   l_insert_flag_tbl(i) := 'P';
Line: 4496

   		   write_log(LOG,' l_insert_flag_tbl '||l_insert_flag_tbl(i)||' check_prepay_fully_applied is N');
Line: 4504

                   l_insert_flag_tbl(i) := 'F';
Line: 4505

		   write_log(LOG,' l_insert_flag_tbl '||l_insert_flag_tbl(i)||' check_prepay_fully_applied is Y');
Line: 4507

                   l_insert_flag_tbl(i) := 'P';
Line: 4508

   		   write_log(LOG,' l_insert_flag_tbl '||l_insert_flag_tbl(i)||' check_prepay_fully_applied is N');
Line: 4564

		SELECT nvl(historical_flag,'N')
                INTO   l_historical_flag
                FROM   ap_invoice_distributions_all
                WHERE  invoice_id = l_invoice_id_tbl(i)
                AND    invoice_distribution_id = l_parent_rev_id_tbl(i); --check the index on this table
Line: 4601

                         IF l_insert_flag_tbl(i) in ('A','U') THEN
                          l_create_adj_recs := 'Y';
Line: 4728

       SELECT pa_interface_id_s.nextval
         INTO G_INTERFACE_ID
         FROM dual;
Line: 4733

       SELECT pa_interface_id_s.nextval
         into G_NRT_INTERFACE_ID
         FROM dual;
Line: 4739

       SELECT pa_interface_id_s.nextval
         into G_AP_FRT_INTERFACE_ID
         FROM dual;
Line: 4745

       SELECT pa_interface_id_s.nextval
         into G_AP_VAR_INTERFACE_ID
         FROM dual;
Line: 4750

       SELECT pa_interface_id_s.nextval
         into G_AP_ERV_INTERFACE_ID
         FROM dual;
Line: 4820

            ,l_insert_flag_tbl
            ,l_hist_flag_tbl
            ,l_prepay_dist_id_tbl
	    ,l_is_self_assessed_tax_tbl -- Bug 13602288: Self Assessed Tax  Changes
            LIMIT v_max_size;
Line: 4840

            G_err_stage := 'calling bulk_update_trx_intf within transfer_inv_to_pa';
Line: 4843

            bulk_update_trx_intf;
Line: 4845

            G_err_stage := 'calling bulk_insert_trx_intf within transfer_inv_to_pa';
Line: 4848

            bulk_insert_trx_intf;
Line: 4850

            G_err_stage := 'After calling bulk_insert_trx_intf within transfer_inv_to_pa';
Line: 4944

              ,l_insert_flag_tbl
              ,l_hist_flag_tbl
              ,l_prepay_dist_id_tbl
	      ,l_is_self_assessed_tax_tbl -- Bug 13602288: Self Assessed Tax  Changes
            LIMIT v_num_dist_remain;
Line: 4964

                  G_err_stage := 'calling bulk_update_trx_intf within transfer_inv_to_pa';
Line: 4967

                  bulk_update_trx_intf;
Line: 4969

                  G_err_stage := 'Before 2nd call of bulk_insert_trx_intf within transfer_inv_to_pa';
Line: 4972

                  bulk_insert_trx_intf;
Line: 5156

      SELECT cdl_system_reference1
            ,cdl_system_reference2
         --   ,cdl_system_reference3  --NEW
         --   ,cdl_system_reference4
            ,cdl_system_reference5 --NEW
            ,transaction_source
            ,batch_name
            ,interface_id
            ,transaction_status_code
            ,project_id
            ,l_pa_addflag
            ,l_assets_addflag
	    ,document_distribution_type                       /*Bug 13602288: Self Assessed Tax  Changes*/
        FROM pa_transaction_interface_all txnintf
       WHERE txnintf.transaction_source = p_txn_src
         AND txnintf.batch_name         = p_batch_name
         AND txnintf.interface_id       = p_interface_id;
Line: 5183

      l_sys_ref1_tbl.delete;
Line: 5184

      l_sys_ref2_tbl.delete;
Line: 5187

      l_sys_ref5_tbl.delete; --NEW
Line: 5188

      l_txn_src_tbl.delete;
Line: 5189

      l_batch_name_tbl.delete;
Line: 5190

      l_interface_id_tbl.delete;
Line: 5191

      l_txn_status_code_tbl.delete;
Line: 5192

      l_project_id_tbl.delete;
Line: 5193

      l_pa_addflag_tbl.delete;
Line: 5194

      l_assets_addflag_tbl.delete;
Line: 5195

      l_document_dist_type_tbl.delete;   /*Bug 13602288: Self Assessed Tax  Changes*/
Line: 5211

            update pa_addition_flag of invoice distribution to 'Y'.
            If transaction import leaves the record to be 'P' then
            update pa_addition_flag of invoice distribution to 'N'.
            If transaction import stamps the record to be 'R' then
            update pa_addition_flag of invoice distribution to 'N'.*/

         write_log(LOG,'Tying invoice_id: '||l_sys_ref2_tbl(i)||
                       --'dist num:  '||l_sys_ref3_tbl(i)||  --NEW
                       'dist id:  '||l_sys_ref5_tbl(i)||  --NEW
                       'trc src:   '||l_txn_src_tbl(i));
Line: 5242

               G_err_stage:='Selecting assets addition flag within invoice tieback';
Line: 5245

               SELECT decode(PTYPE.Project_Type_Class_Code,'CAPITAL','P','X')
                 INTO l_assets_addflag_tbl(i)
                 FROM pa_project_types_all PTYPE,
                      pa_projects_all PROJ
                WHERE PTYPE.Project_Type = PROJ.Project_Type
                  AND (PTYPE.org_id = PROJ.org_id OR
                       PROJ.org_id is null)
                  AND PROJ.Project_Id = l_project_id_tbl(i);
Line: 5274

   PROCEDURE bulk_update_txn_intf IS

      v_status VARCHAR2(15);
Line: 5280

      G_err_stage:=('Within bulk update of invoice tieback');
Line: 5285

         UPDATE ap_invoice_distributions_all dist
            SET dist.pa_addition_flag         = l_pa_addflag_tbl(i)
               ,dist.assets_addition_flag      = decode(l_assets_addflag_tbl(i),'P','P',dist.assets_addition_flag)
          WHERE dist.invoice_id               = l_sys_ref2_tbl(i)
            AND dist.invoice_distribution_id  = l_sys_ref5_tbl(i)
            AND dist.pa_addition_flag         = 'O'
	    AND l_document_dist_type_tbl(i) <> 'SELF_ASSESSED_TAX';  /*Bug 13602288: Self Assessed Tax  Changes*/
Line: 5297

         UPDATE ap_self_assessed_tax_dist_all dist
            SET dist.pa_addition_flag         = l_pa_addflag_tbl(i)
               ,dist.assets_addition_flag      = decode(l_assets_addflag_tbl(i),'P','P',dist.assets_addition_flag)
          WHERE dist.invoice_id               = l_sys_ref2_tbl(i)
            AND dist.invoice_distribution_id  = l_sys_ref5_tbl(i)
            AND dist.pa_addition_flag         = 'O'
	    AND l_document_dist_type_tbl(i) = 'SELF_ASSESSED_TAX';
Line: 5306

      /* Bug 5440548 fix to update expenditure data with historical flag for historical AP data */
      FORALL i IN l_sys_ref1_tbl.FIRST..l_sys_ref1_tbl.LAST

         UPDATE pa_expenditure_items_all exp1
            SET historical_flag = 'Y'
         WHERE  document_header_id = l_sys_ref2_tbl(i)
           AND  document_distribution_id = l_sys_ref5_tbl(i)
	   AND document_distribution_type <> 'SELF_ASSESSED_TAX'    /*Bug 13602288: Self Assessed Tax  Changes*/
           AND  exists (select 'exist'
                        from   ap_invoice_distributions_all dist
                        where  dist.invoice_id =l_sys_ref2_tbl(i)
                        and    dist.invoice_distribution_id = l_sys_ref5_tbl(i)
                        and    dist.pa_addition_flag = 'Y'
                        and    dist.historical_flag = 'Y');
Line: 5321

         /* If the accounting method is CASH BASIS then the payment lines associated with historical invoices should be updated to G
            since such invoice distributions will be not be interfaced as PAYMENTS but as INVOICES */

         IF G_ACCTNG_METHOD = 'C' THEN

           FORALL i IN l_sys_ref1_tbl.FIRST..l_sys_ref1_tbl.LAST

           UPDATE ap_payment_hist_dists dist
              SET    dist.pa_addition_flag = 'G',
                     request_id = G_REQUEST_ID,
                     last_update_date=SYSDATE,
                     last_updated_by= G_USER_ID,
                     last_update_login= G_USER_ID,
                     program_id= G_PROG_ID,
                     program_application_id= G_PROG_APPL_ID,
                     program_update_date=SYSDATE
              WHERE  dist.pa_addition_flag = 'N' /*Removed NVL statement for bug#14073110 */
              AND   dist.pay_dist_lookup_code = 'CASH'
              AND EXISTS (SELECT NULL
                          FROM   ap_payment_history_all hist
                          WHERE  hist.payment_history_id = dist.payment_history_id
                          AND    hist.posted_flag = 'Y')
              AND   exists(SELECT /*+ no_unnest */ inv.invoice_id
                             FROM AP_INVOICES_ALL inv,
                                  AP_Invoice_Distributions_all aid,
                                  ap_invoice_payments_all aip
                            WHERE inv.invoice_id              = aip.invoice_id
                              AND aid.invoice_id              = inv.invoice_id
                              AND aip.invoice_payment_id      = dist.invoice_payment_id
                              AND aid.invoice_distribution_id = dist.invoice_distribution_id
                              AND inv.org_id = G_ORG_ID
                              AND aip.invoice_id              = l_sys_ref2_tbl(i)
                              AND aid.invoice_distribution_id = l_sys_ref5_tbl(i));
Line: 5358

         G_err_stage:= 'Failed during bulk update of invoice tieback';
Line: 5363

   END bulk_update_txn_intf;
Line: 5402

         bulk_update_txn_intf;
Line: 5435

UPDATE rcv_receiving_sub_ledger rcv_sub
SET rcv_sub.pa_addition_flag = 'L'
WHERE rcv_sub.pa_addition_flag = 'N'
and reference3 = TO_CHAR(p_po_distribution_id) and exists (
select 1 from po_distributions_all pod
where po_distribution_id = TO_NUMBER(rcv_sub.reference3)
and   po_distribution_id = p_po_distribution_id
and code_combination_id = rcv_sub.code_combination_id
and accrue_on_receipt_flag = 'Y');
Line: 5445

   /* UPDATE rcv_receiving_sub_ledger rcv_sub
      SET rcv_sub.pa_addition_flag   = 'L'
    WHERE rcv_sub.pa_addition_flag   = 'N'
    AND EXISTS (SELECT transaction_id
		FROM rcv_transactions rcv_txn
		WHERE rcv_txn.transaction_id = rcv_sub.rcv_transaction_id
		AND rcv_txn.po_distribution_id = p_po_distribution_id ); commented for bug 6825742*/
Line: 5477

   UPDATE rcv_receiving_sub_ledger rcv_sub
      SET rcv_sub.pa_addition_flag = 'G'
    WHERE rcv_sub.pa_addition_flag = 'L';
Line: 5506

       G_err_stage := 'Selecting Adjustment account: get_cdl_ccid';
Line: 5509

       SELECT cr_code_combination_id, dr_code_combination_id
       INTO   l_cr_ccid, l_dr_ccid
       FROm   pa_cost_distribution_lines_all cdl
       WHERE  cdl.expenditure_item_id = p_expenditure_item_id
       AND    cdl.line_num in (select max(line_num)
                               from pa_cost_distribution_lines_all cdl2
                               where  cdl2.expenditure_item_id = cdl.expenditure_item_id
                               and    line_type ='R');
Line: 5553

    select nvl(fnd_profile.value_specific('PA_DISC_PULL_START_DATE'),'2051/01/01')  --bug4474213.
      INTO v_discount_start_date
      from DUAL;
Line: 5568

     SELECT discount_distribution_method
        INTO v_method
        FROM AP_SYSTEM_PARAMETERS;
Line: 5595

            UPDATE ap_payment_hist_dists dist
            SET    dist.pa_addition_flag = 'G',
                   request_id = G_REQUEST_ID,
                   last_update_date=SYSDATE,
                   last_updated_by= G_USER_ID,
                   last_update_login= G_USER_ID,
                   program_id= G_PROG_ID,
                   program_application_id= G_PROG_APPL_ID,
                   program_update_date=SYSDATE
            WHERE dist.pa_addition_flag = 'N' /*Removed NVL statement for bug#14073110 */
            AND   dist.pay_dist_lookup_code = 'DISCOUNT'
            AND EXISTS (SELECT NULL
                        FROM   ap_payment_history_all hist
                        WHERE  hist.payment_history_id = dist.payment_history_id
                        AND    hist.posted_flag = 'Y')
            AND   exists(SELECT inv.invoice_id -- 11658939 hint del no_unnest
                           FROM AP_INVOICES_ALL inv,
                                AP_Invoice_Distributions_all aid,
                                ap_invoice_payments_all aip
                          WHERE inv.invoice_id = aip.invoice_id
                            AND aid.invoice_id = inv.invoice_id
                            AND aip.invoice_payment_id = dist.invoice_payment_id
                            AND aid.invoice_distribution_id = dist.invoice_distribution_id
                            AND inv.invoice_type_lookup_code = 'PREPAYMENT'         --Prevent prepayment payments from being transferred to Projects
                            AND aid.project_id = G_PROJECT_ID
                            AND aid.invoice_id = aip.invoice_id
                            AND inv.org_id = G_ORG_ID
                            AND trunc(aip.Accounting_Date) <= trunc(nvl(G_GL_DATE,aip.Accounting_Date))
                            AND trunc(aid.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,aid.expenditure_item_date)));
Line: 5633

            UPDATE ap_payment_hist_dists dist
            SET    dist.pa_addition_flag = 'O',
                   request_id = G_REQUEST_ID,
                   last_update_date=SYSDATE,
                   last_updated_by= G_USER_ID,
                   last_update_login= G_USER_ID,
                   program_id= G_PROG_ID,
                   program_application_id= G_PROG_APPL_ID,
                   program_update_date=SYSDATE
            WHERE dist.pa_addition_flag = 'N' /*Removed NVL statement for bug#14073110 */
            AND   dist.pay_dist_lookup_code = 'DISCOUNT'
            AND EXISTS (SELECT NULL
                        FROM   ap_payment_history_all hist
                        WHERE  hist.payment_history_id = dist.payment_history_id
			and    hist.accounting_event_id = dist.accounting_event_id  /*Bug# 9266578 */
			-- commented as part of Bug 10626450 and    hist.transaction_type = 'PAYMENT CLEARING'  /*Bug# 9266578 */
                        and    hist.transaction_type in ( 'PAYMENT CREATED','PAYMENT CANCELLED') /* 'PAYMENT CREATED' Added as part of Bug 10626450 ,'PAYMENT CANCELLED' as part of 11703565 */
			AND    hist.posted_flag = 'Y')
            AND   exists(SELECT inv.invoice_id -- 11658939 hint del no_unnest
                           FROM AP_INVOICES_ALL inv,
                                PO_Distributions_all PO,
                                AP_Invoice_Distributions_all aid,
                                ap_invoice_payments_all aip
                          WHERE inv.invoice_id = aip.invoice_id
                            AND aid.invoice_id = inv.invoice_id
                            AND aip.invoice_payment_id = dist.invoice_payment_id
                            AND aid.invoice_distribution_id = dist.invoice_distribution_id
                            AND aid.po_distribution_id = PO.po_distribution_id (+)
                            AND aid.line_type_lookup_code not in ('TERV', 'REC_TAX') -- Bug#5441030 to avoid zero dollar lines for TERV
                            AND inv.org_id = G_ORG_ID
                            AND nvl(po.distribution_type,'XXX') <> 'PREPAYMENT'
                            AND inv.paid_on_behalf_employee_id IS NULL
                            AND NVL(PO.destination_type_code, 'EXPENSE') = 'EXPENSE'
                            AND inv.invoice_type_lookup_code <> 'EXPENSE REPORT'
                            AND  nvl(INV.source, 'xx' ) NOT IN ('Oracle Project Accounting', 'PA_IC_INVOICES')
                            AND aid.project_id = G_PROJECT_ID
                            AND trunc(aip.Accounting_Date) <= trunc(nvl(G_GL_DATE,aip.Accounting_Date))
                            AND trunc(aid.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,aid.expenditure_item_date))
                            AND ( (aid.expenditure_item_date  >=G_Profile_Discount_Start_date
                                 AND G_ACCTNG_METHOD = 'A'
                                 AND G_discount_Method IN ('TAX','EXPENSE'))
                                OR --CAsh basis
                                (( (G_discount_Method IN ('TAX','EXPENSE') AND aid.expenditure_item_date  < G_Profile_Discount_Start_date
                                    AND nvl(aid.pa_addition_flag,'N') <> 'Y') ---bug 5516855
                                   OR (G_discount_Method IN ('TAX','EXPENSE') AND aid.expenditure_item_date  >=  G_Profile_Discount_Start_date
                                    AND aid.pa_addition_flag = 'Y')  --bug 5516855 Added to allow disounts interface for historical data
                                   OR (G_discount_Method = 'TAX' AND AID.line_type_lookup_code <> 'NONREC_TAX'
                                        AND aid.expenditure_item_date  >=G_Profile_Discount_Start_date )  --Bug#5189187
                                   OR G_Discount_Method = 'SYSTEM') AND G_ACCTNG_METHOD = 'C')
                                ) --See bug#4941454 for logic
                           );
Line: 5692

      UPDATE ap_payment_hist_dists dist
            SET    dist.pa_addition_flag = 'G',
                   request_id = G_REQUEST_ID,
                   last_update_date=SYSDATE,
                   last_updated_by= G_USER_ID,
                   last_update_login= G_USER_ID,
                   program_id= G_PROG_ID,
                   program_application_id= G_PROG_APPL_ID,
                   program_update_date=SYSDATE
            WHERE dist.pa_addition_flag = 'N' /*Removed NVL statement for bug#14073110 */
            AND   dist.pay_dist_lookup_code = 'DISCOUNT'
            AND EXISTS (SELECT NULL
                        FROM   ap_payment_history_all hist
                        WHERE  hist.payment_history_id = dist.payment_history_id
			and    hist.accounting_event_id = dist.accounting_event_id  /*Bug# 9266578 */
			-- commented as part of Bug 10626450 and    hist.transaction_type = 'PAYMENT CLEARING'  /*Bug# 9266578 */
                        and    hist.transaction_type not in ( 'PAYMENT CREATED','PAYMENT CANCELLED') /* 'PAYMENT CREATED' Added as part of Bug 10626450 ,'PAYMENT CANCELLED' as part of 11703565 */
			AND    hist.posted_flag = 'Y')
            AND   exists(SELECT inv.invoice_id -- 11658939 hint del no_unnest
                           FROM AP_INVOICES_ALL inv,
                                PO_Distributions_all PO,
                                AP_Invoice_Distributions_all aid,
                                ap_invoice_payments_all aip
                          WHERE inv.invoice_id = aip.invoice_id
                            AND aid.invoice_id = inv.invoice_id
                            AND aip.invoice_payment_id = dist.invoice_payment_id
                            AND aid.invoice_distribution_id = dist.invoice_distribution_id
                            AND aid.po_distribution_id = PO.po_distribution_id (+)
                            AND aid.line_type_lookup_code not in ('TERV', 'REC_TAX') -- Bug#5441030 to avoid zero dollar lines for TERV
                            AND inv.org_id = G_ORG_ID
                            AND nvl(po.distribution_type,'XXX') <> 'PREPAYMENT'
                            AND inv.paid_on_behalf_employee_id IS NULL
                            AND NVL(PO.destination_type_code, 'EXPENSE') = 'EXPENSE'
                            AND inv.invoice_type_lookup_code <> 'EXPENSE REPORT'
                            AND  nvl(INV.source, 'xx' ) NOT IN ('Oracle Project Accounting', 'PA_IC_INVOICES')
                            AND aid.project_id = G_PROJECT_ID
                            AND trunc(aip.Accounting_Date) <= trunc(nvl(G_GL_DATE,aip.Accounting_Date))
                            AND trunc(aid.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,aid.expenditure_item_date))
                            AND ( (aid.expenditure_item_date  >=G_Profile_Discount_Start_date
                                 AND G_ACCTNG_METHOD = 'A'
                                 AND G_discount_Method IN ('TAX','EXPENSE'))
                                OR --CAsh basis
                                (( (G_discount_Method IN ('TAX','EXPENSE') AND aid.expenditure_item_date  < G_Profile_Discount_Start_date
                                    AND nvl(aid.pa_addition_flag,'N') <> 'Y') ---bug 5516855
                                   OR (G_discount_Method IN ('TAX','EXPENSE') AND aid.expenditure_item_date  >=  G_Profile_Discount_Start_date
                                    AND aid.pa_addition_flag = 'Y')  --bug 5516855 Added to allow disounts interface for historical data
                                   OR (G_discount_Method = 'TAX' AND AID.line_type_lookup_code <> 'NONREC_TAX'
                                        AND aid.expenditure_item_date  >=G_Profile_Discount_Start_date )  --Bug#5189187
                                   OR G_Discount_Method = 'SYSTEM') AND G_ACCTNG_METHOD = 'C')
                                ) --See bug#4941454 for logic
                           );
Line: 5752

            UPDATE ap_payment_hist_dists dist
            SET    dist.pa_addition_flag = 'G',
                   request_id = G_REQUEST_ID,
                   last_update_date=SYSDATE,
                   last_updated_by= G_USER_ID,
                   last_update_login= G_USER_ID,
                   program_id= G_PROG_ID,
                   program_application_id= G_PROG_APPL_ID,
                   program_update_date=SYSDATE
            WHERE dist.pa_addition_flag = 'N' /*Removed NVL statement for bug#14073110 */
            AND   dist.pay_dist_lookup_code = 'DISCOUNT'
            AND EXISTS (SELECT NULL
                        FROM   ap_payment_history_all hist
                        WHERE  hist.payment_history_id = dist.payment_history_id
                        AND    hist.posted_flag = 'Y')
            AND   exists(SELECT inv.invoice_id -- 11658939 hint del no_unnest
                           FROM AP_INVOICES_ALL inv,
                                AP_Invoice_Distributions_all aid,
                                ap_invoice_payments_all aip
                          WHERE inv.invoice_id = aip.invoice_id
                            AND aid.invoice_id = inv.invoice_id
                            AND aip.invoice_payment_id = dist.invoice_payment_id
                            AND aid.invoice_distribution_id = dist.invoice_distribution_id
                            AND inv.org_id = G_ORG_ID
                            AND inv.invoice_type_lookup_code = 'PREPAYMENT'         --Prevent prepayment payments from being transferred to Projects
                            AND aid.project_id > 0
                            AND aid.invoice_id = aip.invoice_id
                            AND trunc(aip.Accounting_Date) <= trunc(nvl(G_GL_DATE,aip.Accounting_Date))
                            AND trunc(aid.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,aid.expenditure_item_date)));
Line: 5786

            UPDATE ap_payment_hist_dists dist
            SET    dist.pa_addition_flag = 'O',
                   request_id = G_REQUEST_ID,
                   last_update_date=SYSDATE,
                   last_updated_by= G_USER_ID,
                   last_update_login= G_USER_ID,
                   program_id= G_PROG_ID,
                   program_application_id= G_PROG_APPL_ID,
                   program_update_date=SYSDATE
            WHERE dist.pa_addition_flag = 'N' /*Removed NVL statement for bug#14073110 */
            AND   dist.pay_dist_lookup_code = 'DISCOUNT'
            AND EXISTS (SELECT NULL
                        FROM   ap_payment_history_all hist
                        WHERE  hist.payment_history_id = dist.payment_history_id
			and    hist.accounting_event_id = dist.accounting_event_id  /*Bug# 9266578 */
			-- commented as part of Bug 10626450 and    hist.transaction_type = 'PAYMENT CLEARING'  /*Bug# 9266578 */
                        and    hist.transaction_type in ( 'PAYMENT CREATED','PAYMENT CANCELLED') /* 'PAYMENT CREATED' Added as part of Bug 10626450 ,'PAYMENT CANCELLED' as part of 11703565 */
			AND    hist.posted_flag = 'Y')
            AND   exists(SELECT inv.invoice_id -- 11658939 hint del no_unnest
                           FROM AP_INVOICES_ALL inv,
                                PO_Distributions_all PO,
                                AP_Invoice_Distributions_all aid,
                                ap_invoice_payments_all aip
                          WHERE inv.invoice_id = aip.invoice_id
                            AND aid.invoice_id = inv.invoice_id
                            AND aip.invoice_payment_id = dist.invoice_payment_id
                            AND aid.invoice_distribution_id = dist.invoice_distribution_id
                            AND inv.org_id = G_ORG_ID
                            AND aid.po_distribution_id = PO.po_distribution_id (+)
                            AND nvl(po.distribution_type,'XXX') <> 'PREPAYMENT'
                            AND inv.paid_on_behalf_employee_id IS NULL
                            AND NVL(PO.destination_type_code, 'EXPENSE') = 'EXPENSE'
                            AND inv.invoice_type_lookup_code <> 'EXPENSE REPORT'
                            AND  nvl(INV.source, 'xx' ) NOT IN ('Oracle Project Accounting', 'PA_IC_INVOICES')
                            AND aid.project_id > 0
                            AND aid.line_type_lookup_code not in ('TERV', 'REC_TAX') -- Bug#5441030 to avoid zero dollar lines for TERV
                            AND trunc(aip.Accounting_Date) <= trunc(nvl(G_GL_DATE,aip.Accounting_Date))
                            AND trunc(aid.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,aid.expenditure_item_date))
                            AND ( (aid.expenditure_item_date  >=G_Profile_Discount_Start_date
                                 AND G_ACCTNG_METHOD = 'A'
                                 AND G_discount_Method IN ('TAX','EXPENSE'))
                                OR --CAsh basis
                                (( (G_discount_Method IN ('TAX','EXPENSE') AND aid.expenditure_item_date  < G_Profile_Discount_Start_date
                                    AND nvl(aid.pa_addition_flag,'N') <> 'Y') ---bug 5516855
                                   OR (G_discount_Method IN ('TAX','EXPENSE') AND aid.expenditure_item_date  >=  G_Profile_Discount_Start_date
                                    AND aid.pa_addition_flag = 'Y')  --bug 5516855 Added to allow disounts interface for historical data
                                   OR (G_discount_Method = 'TAX' AND AID.line_type_lookup_code <> 'NONREC_TAX'
                                        AND aid.expenditure_item_date  >=G_Profile_Discount_Start_date )  --Bug#5189187
                                   OR G_Discount_Method = 'SYSTEM') AND G_ACCTNG_METHOD = 'C')
                                ) --See bug#4941454 for logic
                           );
Line: 5844

       UPDATE ap_payment_hist_dists dist
            SET    dist.pa_addition_flag = 'G',
                   request_id = G_REQUEST_ID,
                   last_update_date=SYSDATE,
                   last_updated_by= G_USER_ID,
                   last_update_login= G_USER_ID,
                   program_id= G_PROG_ID,
                   program_application_id= G_PROG_APPL_ID,
                   program_update_date=SYSDATE
            WHERE dist.pa_addition_flag = 'N' /*Removed NVL statement for bug#14073110 */
            AND   dist.pay_dist_lookup_code = 'DISCOUNT'
            AND EXISTS (SELECT NULL
                        FROM   ap_payment_history_all hist
                        WHERE  hist.payment_history_id = dist.payment_history_id
			and    hist.accounting_event_id = dist.accounting_event_id  /*Bug# 9266578 */
			-- commented as part of Bug 10626450 and    hist.transaction_type = 'PAYMENT CLEARING'  /*Bug# 9266578 */
                        and    hist.transaction_type  not in ( 'PAYMENT CREATED','PAYMENT CANCELLED') /* 'PAYMENT CREATED' Added as part of Bug 10626450 ,'PAYMENT CANCELLED' as part of 11703565 */
			AND    hist.posted_flag = 'Y')
            AND   exists(SELECT inv.invoice_id -- 11658939 hint del no_unnest
                           FROM AP_INVOICES_ALL inv,
                                PO_Distributions_all PO,
                                AP_Invoice_Distributions_all aid,
                                ap_invoice_payments_all aip
                          WHERE inv.invoice_id = aip.invoice_id
                            AND aid.invoice_id = inv.invoice_id
                            AND aip.invoice_payment_id = dist.invoice_payment_id
                            AND aid.invoice_distribution_id = dist.invoice_distribution_id
                            AND inv.org_id = G_ORG_ID
                            AND aid.po_distribution_id = PO.po_distribution_id (+)
                            AND nvl(po.distribution_type,'XXX') <> 'PREPAYMENT'
                            AND inv.paid_on_behalf_employee_id IS NULL
                            AND NVL(PO.destination_type_code, 'EXPENSE') = 'EXPENSE'
                            AND inv.invoice_type_lookup_code <> 'EXPENSE REPORT'
                            AND  nvl(INV.source, 'xx' ) NOT IN ('Oracle Project Accounting', 'PA_IC_INVOICES')
                            AND aid.project_id > 0
                            AND aid.line_type_lookup_code not in ('TERV', 'REC_TAX') -- Bug#5441030 to avoid zero dollar lines for TERV
                            AND trunc(aip.Accounting_Date) <= trunc(nvl(G_GL_DATE,aip.Accounting_Date))
                            AND trunc(aid.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,aid.expenditure_item_date))
                            AND ( (aid.expenditure_item_date  >=G_Profile_Discount_Start_date
                                 AND G_ACCTNG_METHOD = 'A'
                                 AND G_discount_Method IN ('TAX','EXPENSE'))
                                OR --CAsh basis
                                (( (G_discount_Method IN ('TAX','EXPENSE') AND aid.expenditure_item_date  < G_Profile_Discount_Start_date
                                    AND nvl(aid.pa_addition_flag,'N') <> 'Y') ---bug 5516855
                                   OR (G_discount_Method IN ('TAX','EXPENSE') AND aid.expenditure_item_date  >=  G_Profile_Discount_Start_date
                                    AND aid.pa_addition_flag = 'Y')  --bug 5516855 Added to allow disounts interface for historical data
                                   OR (G_discount_Method = 'TAX' AND AID.line_type_lookup_code <> 'NONREC_TAX'
                                        AND aid.expenditure_item_date  >=G_Profile_Discount_Start_date )  --Bug#5189187
                                   OR G_Discount_Method = 'SYSTEM') AND G_ACCTNG_METHOD = 'C')
                                ) --See bug#4941454 for logic
                           );
Line: 5964

       l_inv_pay_id_tbl.delete;
Line: 5965

       l_invoice_id_tbl.delete;
Line: 5966

       l_invoice_dist_id_tbl.delete;
Line: 5967

       l_project_id_tbl.delete;
Line: 5968

       l_task_id_tbl.delete;
Line: 5969

       l_employee_id_tbl.delete;
Line: 5970

       l_exp_type_tbl.delete;
Line: 5971

       l_ei_date_tbl.delete;
Line: 5972

       l_vendor_id_tbl.delete;
Line: 5973

       l_created_by_tbl.delete;
Line: 5974

       l_exp_org_id_tbl.delete;
Line: 5975

       l_quantity_tbl.delete;
Line: 5976

       l_job_id_tbl.delete;
Line: 5977

       l_description_tbl.delete;
Line: 5978

       l_dist_cc_id_tbl.delete;
Line: 5979

       l_acct_pay_cc_id_tbl.delete;
Line: 5980

       l_gl_date_tbl.delete;
Line: 5981

       l_attribute_cat_tbl.delete;
Line: 5982

       l_attribute1_tbl.delete;
Line: 5983

       l_attribute2_tbl.delete;
Line: 5984

       l_attribute3_tbl.delete;
Line: 5985

       l_attribute4_tbl.delete;
Line: 5986

       l_attribute5_tbl.delete;
Line: 5987

       l_attribute6_tbl.delete;
Line: 5988

       l_attribute7_tbl.delete;
Line: 5989

       l_attribute8_tbl.delete;
Line: 5990

       l_attribute9_tbl.delete;
Line: 5991

       l_attribute10_tbl.delete;
Line: 5992

       l_inv_type_code_tbl.delete;
Line: 5993

       l_org_id_tbl.delete;
Line: 5994

       l_invoice_num_tbl.delete;
Line: 5995

       l_ln_type_lookup_tbl.delete;
Line: 5996

       l_source_tbl.delete;
Line: 5997

       l_denom_raw_cost_tbl.delete;
Line: 5998

       l_amount_tbl.delete;
Line: 5999

       l_denom_cur_code_tbl.delete;
Line: 6000

       l_acct_rate_date_tbl.delete;
Line: 6001

       l_acct_rate_type_tbl.delete;
Line: 6002

       l_acct_exch_rate_tbl.delete;
Line: 6003

       l_cdl_sys_ref4_tbl.delete;
Line: 6004

       l_cdl_sys_ref3_tbl.delete;
Line: 6005

       l_txn_src_tbl.delete;
Line: 6006

       l_user_txn_src_tbl.delete;
Line: 6007

       l_batch_name_tbl.delete;
Line: 6008

       l_interface_id_tbl.delete;
Line: 6009

       l_exp_end_date_tbl.delete;
Line: 6010

       l_txn_status_code_tbl.delete;
Line: 6011

       l_txn_rej_code_tbl.delete;
Line: 6012

       l_bus_grp_id_tbl.delete;
Line: 6013

       l_reversal_flag_tbl.delete; --NEW
Line: 6014

       l_net_zero_flag_tbl.delete; --NEW
Line: 6015

       l_sc_xfer_code_tbl.delete; --NEW
Line: 6016

       l_parent_pmt_id_tbl.delete; --NEW
Line: 6017

       l_fc_enabled_tbl.delete; --NEW
Line: 6018

       l_rev_parent_dist_id_tbl.delete;
Line: 6019

       l_rev_child_dist_id_tbl.delete;
Line: 6020

       l_rev_parent_dist_ind_tbl.delete;
Line: 6021

       l_si_assts_add_flg_tbl.delete;
Line: 6022

       l_pay_hist_id_tbl.delete;
Line: 6023

       l_pa_add_flag_tbl.delete;
Line: 6024

       l_cbs_element_id_tbl.delete; -- Added for CBS Enhancement Bug 16220146
Line: 6029

    PROCEDURE bulk_insert_trx_intf IS

      l_status2 VARCHAR2(30);
Line: 6038

       INSERT INTO pa_transaction_interface_all(
                     transaction_source
                    , user_transaction_source
                    , system_linkage
                    , batch_name
                    , expenditure_ending_date
                    , expenditure_item_date
                    , expenditure_type
                    , quantity
                    , raw_cost_rate
                    , expenditure_comment
                    , transaction_status_code
                    , transaction_rejection_code
                    , orig_transaction_reference
                    , interface_id
                    , dr_code_combination_id
                    , cr_code_combination_id
                    , cdl_system_reference1
                    , cdl_system_reference2
                    , cdl_system_reference3
                    , cdl_system_reference4
                    , cdl_system_reference5 --NEW
                    , gl_date
                    , org_id
                    , unmatched_negative_txn_flag
                    , denom_raw_cost
                    , denom_currency_code
                    , acct_rate_date
                    , acct_rate_type
                    , acct_exchange_rate
                    , acct_raw_cost
                    , acct_exchange_rounding_limit
                    , attribute_category
                    , attribute1
                    , attribute2
                    , attribute3
                    , attribute4
                    , attribute5
                    , attribute6
                    , attribute7
                    , attribute8
                    , attribute9
                    , attribute10
                    , orig_exp_txn_reference1
                    , orig_user_exp_txn_reference
                    , orig_exp_txn_reference2
                    , orig_exp_txn_reference3
                    , last_update_date
                    , last_updated_by
                    , creation_date
                    , created_by
                    , person_id
                    , organization_id
                    , project_id
                    , task_id
                    , Vendor_id
                    , override_to_organization_id
                    , person_business_group_id
                    , adjusted_expenditure_item_id
                    , fc_document_type
                    , document_type
                    , document_distribution_type
                    , si_assets_addition_flag
                    , sc_xfer_code
                    ,net_zero_adjustment_flag
                    , cbs_element_id -- Added for CBS Enhancement Bug 16220146
                   )
             SELECT   l_txn_src_tbl(i)
                     ,l_user_txn_src_tbl(i)
                     ,G_SYSTEM_LINKAGE
                     ,l_batch_name_tbl(i)
                     ,l_exp_end_date_tbl(i)
                     ,l_ei_date_tbl(i)
                     ,l_exp_type_tbl(i)
                     ,l_quantity_tbl(i)
                     ,l_amount_tbl(i)/decode(nvl(l_quantity_tbl(i),0),0,1,l_quantity_tbl(i))
                     ,l_description_tbl(i)
                     ,l_txn_status_code_tbl(i)
                     ,l_txn_rej_code_tbl(i)
                     ,G_REQUEST_ID
                     ,l_interface_id_tbl(i)
                     ,l_dist_cc_id_tbl(i)
                     ,l_acct_pay_cc_id_tbl(i)
                     ,l_pay_hist_id_tbl(i) --cdl_ref1
                     ,l_invoice_id_tbl(i)
                     ,l_cdl_sys_ref3_tbl(i)
                     ,l_inv_pay_id_tbl(i)
                     ,l_invoice_dist_id_tbl(i) --NEW
                     ,l_gl_date_tbl(i)
                     ,G_ORG_ID
                     ,'Y'
                     ,l_denom_raw_cost_tbl(i)
                     ,l_denom_cur_code_tbl(i)
                     ,l_acct_rate_date_tbl(i)
                     ,l_acct_rate_type_tbl(i)
                     ,l_acct_exch_rate_tbl(i)
                     ,l_amount_tbl(i)
                     ,1
                     ,l_attribute_cat_tbl(i)
                     ,l_attribute1_tbl(i)
                     ,l_attribute2_tbl(i)
                     ,l_attribute3_tbl(i)
                     ,l_attribute4_tbl(i)
                     ,l_attribute5_tbl(i)
                     ,l_attribute6_tbl(i)
                     ,l_attribute7_tbl(i)
                     ,l_attribute8_tbl(i)
                     ,l_attribute9_tbl(i)
                     ,l_attribute10_tbl(i)
                     ,l_invoice_id_tbl(i)        /*orig_exp_txn_reference1*/
                     ,l_invoice_num_tbl(i)       /*user_exp_txn_reference*/
                     ,NULL                       /*orig_exp_txn_reference2*/
                     ,NULL                       /*orig_exp_txn_reference3*/
                     ,SYSDATE
                     ,-1
                     ,SYSDATE
                     ,-1
                     ,l_employee_id_tbl(i)
                     ,l_org_id_tbl(i)
                     ,l_project_id_tbl(i)
                     ,l_task_id_tbl(i)
                     ,l_vendor_id_tbl(i)
                     ,l_exp_org_id_tbl(i)
                     ,l_bus_grp_id_tbl(i)
                     ,l_adj_exp_item_id_tbl(i)
                     ,l_fc_document_type_tbl(i)
                     ,l_inv_type_code_tbl(i)
                     ,l_ln_type_lookup_tbl(i)
                     ,l_si_assts_add_flg_tbl(i)
                     ,l_sc_xfer_code_tbl(i)
                     ,l_net_zero_flag_tbl(i)
                     ,l_cbs_element_id_tbl(i) -- Added for CBS Enhancement Bug 16220146
                  FROM dual;
Line: 6175

                write_log(LOG, 'Inserting adjustment records..');
Line: 6179

       INSERT INTO pa_transaction_interface_all(
                     transaction_source
                    , user_transaction_source
                    , system_linkage
                    , batch_name
                    , expenditure_ending_date
                    , expenditure_item_date
                    , expenditure_type
                    , quantity
                    , raw_cost_rate
                    , expenditure_comment
                    , transaction_status_code
                    , transaction_rejection_code
                    , orig_transaction_reference
                    , interface_id
                    , dr_code_combination_id
                    , cr_code_combination_id
                    , cdl_system_reference1
                    , cdl_system_reference2
                    , cdl_system_reference3
                    , cdl_system_reference4
                    , cdl_system_reference5 --NEW
                    , gl_date
                    , org_id
                    , unmatched_negative_txn_flag
                    , denom_raw_cost
                    , denom_currency_code
                    , acct_rate_date
                    , acct_rate_type
                    , acct_exchange_rate
                    , acct_raw_cost
                    , acct_exchange_rounding_limit
                    , attribute_category
                    , attribute1
                    , attribute2
                    , attribute3
                    , attribute4
                    , attribute5
                    , attribute6
                    , attribute7
                    , attribute8
                    , attribute9
                    , attribute10
                    , orig_exp_txn_reference1
                    , orig_user_exp_txn_reference
                    , orig_exp_txn_reference2
                    , orig_exp_txn_reference3
                    , last_update_date
                    , last_updated_by
                    , creation_date
                    , created_by
                    , person_id
                    , organization_id
                    , project_id
                    , task_id
                    , Vendor_id
                    , override_to_organization_id
                    , person_business_group_id
                    , adjusted_expenditure_item_id
                    , fc_document_type
                    , document_type
                    , document_distribution_type
                    , si_assets_addition_flag
                    , adjusted_txn_interface_id
                    , sc_xfer_code
                    ,net_zero_adjustment_flag
                    , cbs_element_id -- Added for CBS Enhancement Bug 16220146
                   )
             SELECT   l_txn_src_tbl(i)
                     ,l_user_txn_src_tbl(i)
                     ,G_SYSTEM_LINKAGE
                     ,l_batch_name_tbl(i)
                     ,l_exp_end_date_tbl(i)
                     ,l_ei_date_tbl(i)
                     ,l_exp_type_tbl(i)
                     ,-l_quantity_tbl(i)
                     ,l_amount_tbl(i)/decode(nvl(l_quantity_tbl(i),0),0,1,l_quantity_tbl(i))
                     ,l_description_tbl(i)
                     ,l_txn_status_code_tbl(i)
                     ,l_txn_rej_code_tbl(i)
                     ,G_REQUEST_ID
                     ,l_interface_id_tbl(i)
                     ,l_dist_cc_id_tbl(i)
                     ,l_acct_pay_cc_id_tbl(i)
                     ,l_pay_hist_id_tbl(i) --cdl_ref1
                     ,l_invoice_id_tbl(i)
                     ,l_cdl_sys_ref3_tbl(i)
                     ,l_inv_pay_id_tbl(i)
                     ,l_invoice_dist_id_tbl(i)
                     ,l_gl_date_tbl(i)
                     ,G_ORG_ID
                     ,'Y'
                     ,-l_denom_raw_cost_tbl(i)
                     ,l_denom_cur_code_tbl(i)
                     ,l_acct_rate_date_tbl(i)
                     ,l_acct_rate_type_tbl(i)
                     ,l_acct_exch_rate_tbl(i)
                     ,-l_amount_tbl(i)
                     ,1
                     ,l_attribute_cat_tbl(i)
                     ,l_attribute1_tbl(i)
                     ,l_attribute2_tbl(i)
                     ,l_attribute3_tbl(i)
                     ,l_attribute4_tbl(i)
                     ,l_attribute5_tbl(i)
                     ,l_attribute6_tbl(i)
                     ,l_attribute7_tbl(i)
                     ,l_attribute8_tbl(i)
                     ,l_attribute9_tbl(i)
                     ,l_attribute10_tbl(i)
                     ,l_invoice_id_tbl(i)        /*orig_exp_txn_reference1*/
                     ,l_invoice_num_tbl(i)       /*user_exp_txn_reference*/
                     ,NULL                       /*orig_exp_txn_reference2*/
                     ,NULL                       /*orig_exp_txn_reference3*/
                     ,SYSDATE
                     ,-1
                     ,SYSDATE
                     ,-1
                     ,l_employee_id_tbl(i)
                     ,l_org_id_tbl(i)
                     ,l_project_id_tbl(i)
                     ,l_task_id_tbl(i)
                     ,l_vendor_id_tbl(i)
                     ,l_exp_org_id_tbl(i)
                     ,l_bus_grp_id_tbl(i)
                     ,l_adj_exp_item_id_tbl(i)
                     ,l_fc_document_type_tbl(i)
                     ,l_inv_type_code_tbl(i)
                     ,l_ln_type_lookup_tbl(i)
                     , 'T' --l_si_assts_add_flg_tbl(i)
                     ,(select xface.txn_interface_id
                       from   pa_transaction_interface xface
                       where  xface.interface_id = l_interface_id_tbl(i)
                       and    xface.cdl_system_reference2 = l_invoice_id_tbl(i)
                       and    xface.cdl_system_reference4 = to_char(l_inv_pay_id_tbl(i))
                       and    xface.cdl_system_reference5 = l_invoice_dist_id_tbl(i)
		       and    NVL(xface.adjusted_expenditure_item_id,0) = 0 ) -- R12 funds management Uptake
                     ,'P' -- sc_xfer_code
                     ,l_net_zero_flag_tbl(i)
                     ,l_cbs_element_id_tbl(i) -- Added for CBS Enhancement Bug 16220146
                   FROM dual
                   WHERE l_insert_flag_tbl(i)= 'A';
Line: 6332

                    UPDATE pa_transaction_interface_all xface
                    SET    xface.net_zero_adjustment_flag ='Y',
                           xface.adjusted_txn_interface_id =
                              (select distinct xface1.txn_interface_id /* bug 9266578 */
                               from   pa_transaction_interface xface1
                               where  xface1.interface_id = l_interface_id_tbl(l_rev_parent_dist_ind_tbl(i))
                               and    xface1.cdl_system_reference2 = l_invoice_id_tbl(l_rev_parent_dist_ind_tbl(i))
                               and    xface1.cdl_system_reference4 = to_char(l_inv_pay_id_tbl(l_rev_parent_dist_ind_tbl(i)))
                               and    xface1.cdl_system_reference5 = l_invoice_dist_id_tbl(l_rev_parent_dist_ind_tbl(i))
                               )
                      WHERE  xface.interface_id = l_interface_id_tbl(l_rev_parent_dist_ind_tbl(i))
                      AND    xface.cdl_system_reference2 = l_invoice_id_tbl(l_rev_parent_dist_ind_tbl(i))
                      --AND    xface.cdl_system_reference4 = to_char(l_rev_child_dist_id_tbl(i))
                      -- AND    xface.cdl_system_reference5 = l_invoice_dist_id_tbl(l_rev_parent_dist_ind_tbl(i));
Line: 6366

          write_log(LOG,'Failed during bulk insert for discount processing');
Line: 6373

   END bulk_insert_trx_intf;
Line: 6410

				    SELECT PROJ_ELEMENT_ID, CBS_ELEMENT_ID
					INTO l_actual_task_id, l_cbs_element_id
					FROM PA_ALTERNATE_TASKS
					WHERE alt_task_id = l_task_id_tbl(i);
Line: 6471

               /* Update the previous invoice payment id*/
               v_prev_inv_pay_id := l_inv_pay_id_tbl(i);
Line: 6483

               SELECT pa_utils.getweekending(MAX(l_ei_date_tbl(i)))
                 INTO G_EXPENDITURE_ENDING_DATE
                 FROM ap_invoice_distributions
                WHERE invoice_id = l_invoice_id_tbl(i);
Line: 6495

			     SELECT emp.business_group_id
                               INTO G_PER_BUS_GRP_ID
			       FROM per_all_people_f emp
			      WHERE emp.person_id = l_employee_id_tbl(i)
				  AND l_ei_date_tbl(i) between trunc(emp.effective_start_date) and
							       trunc(emp.effective_end_date);
Line: 6511

                            select org2.business_group_id
                              into G_PER_BUS_GRP_ID
                              from hr_organization_units org1,
                                   hr_organization_units org2
                             Where org1.organization_id = l_exp_org_id_tbl(i)
                               and org1.business_group_id = org2.organization_id;
Line: 6545

           select count(1) into l_dis_count from ap_invoice_distributions
	   where invoice_distribution_id = l_invoice_dist_id_tbl(i)
	   and line_type_lookup_code ='NONREC_TAX';
Line: 6612

                         IF l_insert_flag_tbl(i) in ('A','U') THEN
                          l_create_adj_recs := 'Y';
Line: 6734

          SELECT pa_interface_id_s.nextval
            INTO G_DISC_INTERFACE_ID
            FROM dual;
Line: 6801

             ,l_insert_flag_tbl
             ,l_pay_hist_id_tbl
             ,l_pa_add_flag_tbl
            LIMIT v_max_size;
Line: 6817

            G_err_stage := 'Calling Bulk Insert into trx intf for discounts';
Line: 6820

            bulk_insert_trx_intf;
Line: 6908

   /* Modified the below update statement for better performence bug#7526677
   Not commenting and doing the changes because it has already become a mess with these updates
   */

	  UPDATE rcv_receiving_sub_ledger rcv_sub
	      SET rcv_sub.pa_Addition_Flag       = decode(rcv_sub.pa_addition_flag,'N','O','I','J'),
		  rcv_sub.request_id             = G_REQUEST_ID,
		  rcv_sub.last_update_date       = SYSDATE,
		  rcv_sub.last_updated_by        = G_USER_ID,
		  rcv_sub.last_update_login      = G_USER_ID,
		  rcv_sub.program_id             = G_PROG_ID,
		  rcv_sub.program_application_id = G_PROG_APPL_ID,
		  rcv_sub.program_update_date    = SYSDATE
	    WHERE exists
		(SELECT 1 --rcv_sub1.ROWID --Removed /*+ leading(po_dist) */ for Bug5262594
                 FROM Rcv_Transactions rcv_txn,
                      PO_Distributions po_dist,
					  po_lines_all POL
		WHERE ((rcv_txn.destination_type_code ='EXPENSE' )
		    OR (rcv_txn.destination_type_code = 'RECEIVING'
                    AND (rcv_txn.transaction_type IN ('RETURN TO VENDOR','RETURN TO RECEIVING'))))
		AND trunc(rcv_txn.transaction_date)      <= trunc(nvl(G_GL_DATE,rcv_txn.transaction_date))      /*Added trunc for the bug 6623163 */
		AND rcv_txn.PO_DISTRIBUTION_ID    =  po_dist.po_distribution_id
		and po_dist.PO_line_ID            =  POL.po_line_id       --16265673
		AND rcv_sub.code_combination_id   =  po_dist.code_combination_id
                AND nvl(po_dist.distribution_type,'XXX') <> 'PREPAYMENT'   --bug 7192304, added nvl
		AND rcv_sub.rcv_transaction_id    =  rcv_txn.transaction_id
		AND trunc(po_dist.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,po_dist.expenditure_item_date)) /*Added trunc for the bug 6623163 */
		AND po_dist.project_ID  > 0
		AND po_dist.accrue_on_receipt_flag= 'Y'
		AND nvl(rcv_txn.project_id , po_dist.project_id)  = G_PROJECT_ID  /*Added for bug:7046666*/
		/* Start added for bug#6015451 */
		AND ( (rcv_txn.destination_type_code = 'EXPENSE' AND  /*Starts-code changes  for bug:9196652*/
                        (( rcv_txn.transaction_type = 'DELIVER' AND
			   rcv_sub.entered_dr is NOT NULL
                          )
						 OR
						 (
						  rcv_txn.transaction_type = 'RETURN TO RECEIVING' AND
						  rcv_sub.entered_cr is NOT NULL
						  )
						 OR
						 (
						  rcv_txn.transaction_type = 'CORRECT' AND
						  (rcv_sub.entered_cr is NOT NULL or rcv_sub.entered_dr is NOT NULL) AND
						  rcv_sub.accounting_line_type='Charge'  and
						  decode(POL.order_type_lookup_code,
						 'RATE' , rcv_txn.amount,
						 'FIXED PRICE', rcv_txn.amount,
						  rcv_txn.primary_quantity) < 0
						  )
						 OR
						 (
						  rcv_txn.transaction_type = 'CORRECT' AND
						  rcv_sub.entered_dr is NOT NULL AND
						  decode(POL.order_type_lookup_code,
						  'RATE' , rcv_txn.amount,
						  'FIXED PRICE', rcv_txn.amount,
						  rcv_txn.primary_quantity) >= 0
						  )
			 )  /*Ends-code changes  for bug:9196652*/
		       /* rcv_txn.transaction_type <> 'RETURN TO RECEIVING' AND rcv_sub.entered_dr is NOT NULL commented for bug:9196652*/
		       ) /*OR
		       ((rcv_txn.destination_type_code = 'RECEIVING' OR
		         rcv_txn.transaction_type = 'RETURN TO RECEIVING') AND rcv_sub.entered_cr is NOT NULL
                        ) commented for bug 9196652*/
		     )
		/* Ends added for bug#6015451 */
	  /* Added for bug 14288109 */
		AND (
		PA_PJC_CWK_UTILS.Is_rate_based_line(null, po_dist.po_distribution_id) = 'N'
		OR PA_PJC_CWK_UTILS.Is_CWK_TC_Xface_Allowed(po_dist.project_ID) = 'N'
		OR (PA_PJC_CWK_UTILS.IS_RATE_BASED_LINE(NULL, PO_DIST.PO_DISTRIBUTION_ID) = 'Y' AND NVL(RCV_SUB.ENTERED_NR_TAX,0) <> 0 )/*Added for bug 16562910 */
		) /* Modified for bug 16305848 */
		/* Added for bug 14288109 */
    )
	        AND rcv_sub.pa_addition_flag IN ('N','I')
		AND rcv_sub.actual_flag = 'A';
Line: 6993

   /* Modified the below update statement for better performence bug#7526677
   Not commenting and doing the changes because it has already become a mess with these updates
   */

	   UPDATE rcv_receiving_sub_ledger rcv_sub
	      SET rcv_sub.pa_Addition_Flag       = decode(rcv_sub.pa_addition_flag,'N','O','I','J'),
		  rcv_sub.request_id             = G_REQUEST_ID,
		  rcv_sub.last_update_date       = SYSDATE,
		  rcv_sub.last_updated_by        = G_USER_ID,
		  rcv_sub.last_update_login      = G_USER_ID,
		  rcv_sub.program_id             = G_PROG_ID,
		  rcv_sub.program_application_id = G_PROG_APPL_ID,
		  rcv_sub.program_update_date    = SYSDATE
	    WHERE exists
               (SELECT 1 --rcv_sub1.ROWID --Removed /*+ leading(po_dist) */ for Bug5262594
                 FROM Rcv_Transactions rcv_txn,
                     PO_Distributions po_dist  ,
			  po_lines_all POL
		WHERE
		((rcv_txn.destination_type_code ='EXPENSE' )
		    OR (rcv_txn.destination_type_code = 'RECEIVING'
                    AND (rcv_txn.transaction_type IN ('RETURN TO VENDOR','RETURN TO RECEIVING'))))
		AND trunc(rcv_txn.transaction_date)      <= trunc(nvl(G_GL_DATE,rcv_txn.transaction_date))      /*Added trunc for the bug 6623163 */
		AND rcv_txn.PO_DISTRIBUTION_ID    =  po_dist.po_distribution_id
		and po_dist.PO_line_ID            =  POL.po_line_id                    --16265673
		AND rcv_sub.code_combination_id   =  po_dist.code_combination_id
                AND nvl(po_dist.distribution_type,'XXX') <> 'PREPAYMENT'    -- bug 7192304, added nvl
		AND rcv_sub.rcv_transaction_id    =  rcv_txn.transaction_id
		AND trunc(po_dist.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,po_dist.expenditure_item_date)) /*Added trunc for the bug 6623163 */
		AND po_dist.project_ID  > 0
		AND po_dist.accrue_on_receipt_flag= 'Y'
		/* Starts added for bug#6015451 */
		AND ( (rcv_txn.destination_type_code = 'EXPENSE'
		    AND /*Starts-code changes  for bug:9196652*/
                        (( rcv_txn.transaction_type = 'DELIVER' AND
						rcv_sub.entered_dr is NOT NULL
                        )
						 OR
						 (
						  rcv_txn.transaction_type = 'RETURN TO RECEIVING' AND
						  rcv_sub.entered_cr is NOT NULL
						  )
						 OR
						 (
						  rcv_txn.transaction_type = 'CORRECT' AND
						 ( rcv_sub.entered_cr is NOT NULL or rcv_sub.entered_dr is NOT NULL )AND
						  rcv_sub.accounting_line_type='Charge'  and
						  decode(POL.order_type_lookup_code,
						 'RATE' , rcv_txn.amount,
						 'FIXED PRICE', rcv_txn.amount,
						  rcv_txn.primary_quantity) < 0
						  )
						 OR
						 (
						  rcv_txn.transaction_type = 'CORRECT' AND
						  rcv_sub.entered_dr is NOT NULL AND
						  decode(POL.order_type_lookup_code,
						  'RATE' , rcv_txn.amount,
						  'FIXED PRICE', rcv_txn.amount,
						  rcv_txn.primary_quantity) >= 0
						  )
						 )  /*Ends-code changes  for bug:9196652*/
                        /*
		        rcv_txn.transaction_type <> 'RETURN TO RECEIVING' AND rcv_sub.entered_dr is NOT NULL commented for bug :9196652*/
		       ) /* OR
		       ((rcv_txn.destination_type_code = 'RECEIVING' OR
		         rcv_txn.transaction_type = 'RETURN TO RECEIVING') AND rcv_sub.entered_cr is NOT NULL
                        ) commented for bug:9196652 */
		     )
		/* Ends added for bug#6015451 */
		/* Added for bug 14288109 */
		AND (
		PA_PJC_CWK_UTILS.Is_rate_based_line(null, po_dist.po_distribution_id) = 'N'
		OR PA_PJC_CWK_UTILS.Is_CWK_TC_Xface_Allowed(po_dist.project_ID) = 'N'
		OR (PA_PJC_CWK_UTILS.IS_RATE_BASED_LINE(NULL, PO_DIST.PO_DISTRIBUTION_ID) = 'Y' AND NVL(RCV_SUB.ENTERED_NR_TAX,0) <> 0 )/*Added for bug 16562910 */
		) /* Modified for bug 16305848 */
		/* Added for bug 14288109 */
    )
		AND rcv_sub.pa_addition_flag IN ('N','I')
                AND rcv_sub.actual_flag = 'A';
Line: 7137

   l_rcv_txn_id_tbl.delete;
Line: 7138

   l_po_dist_id_tbl.delete;
Line: 7139

   l_po_head_id_tbl.delete;
Line: 7140

   l_po_num_tbl.delete;
Line: 7141

   l_quantity_tbl.delete;
Line: 7142

   l_entered_dr_tbl.delete;
Line: 7143

   l_entered_cr_tbl.delete;
Line: 7144

   l_accounted_dr_tbl.delete;
Line: 7145

   l_accounted_cr_tbl.delete;
Line: 7146

   l_entered_nr_tax_tbl.delete;
Line: 7147

   l_accounted_nr_tax_tbl.delete;
Line: 7148

   l_denom_raw_cost_tbl.delete;
Line: 7149

   l_acct_raw_cost_tbl.delete;
Line: 7150

   l_record_type_tbl.delete;
Line: 7151

   l_dist_cc_id_tbl.delete;
Line: 7152

   l_denom_cur_code_tbl.delete;
Line: 7153

   l_acct_rate_date_tbl.delete;
Line: 7154

   l_acct_rate_type_tbl.delete;
Line: 7155

   l_acct_exch_rate_tbl.delete;
Line: 7156

   l_gl_date_tbl.delete;
Line: 7157

   l_dest_typ_code_tbl.delete;
Line: 7158

   l_pa_add_flag_tbl.delete;
Line: 7159

   l_trx_type_tbl.delete;
Line: 7160

   l_project_id_tbl.delete;
Line: 7161

   l_task_id_tbl.delete;
Line: 7162

   l_employee_id_tbl.delete;
Line: 7163

   l_exp_type_tbl.delete;
Line: 7164

   l_ei_date_tbl.delete;
Line: 7165

   l_vendor_id_tbl.delete;
Line: 7166

   l_exp_org_id_tbl.delete;
Line: 7167

   l_job_id_tbl.delete;
Line: 7168

   l_description_tbl.delete;
Line: 7169

   l_attribute_cat_tbl.delete;
Line: 7170

   l_attribute1_tbl.delete;
Line: 7171

   l_attribute2_tbl.delete;
Line: 7172

   l_attribute3_tbl.delete;
Line: 7173

   l_attribute4_tbl.delete;
Line: 7174

   l_attribute5_tbl.delete;
Line: 7175

   l_attribute6_tbl.delete;
Line: 7176

   l_attribute7_tbl.delete;
Line: 7177

   l_attribute8_tbl.delete;
Line: 7178

   l_attribute9_tbl.delete;
Line: 7179

   l_attribute10_tbl.delete;
Line: 7180

   l_org_id_tbl.delete;
Line: 7181

   l_cdl_sys_ref4_tbl.delete;
Line: 7182

   l_txn_src_tbl.delete;
Line: 7183

   l_user_txn_src_tbl.delete;
Line: 7184

   l_batch_name_tbl.delete;
Line: 7185

   l_interface_id_tbl.delete;
Line: 7186

   l_exp_end_date_tbl.delete;
Line: 7187

   l_txn_status_code_tbl.delete;
Line: 7188

   l_txn_rej_code_tbl.delete;
Line: 7189

   l_bus_grp_id_tbl.delete;
Line: 7190

   l_insert_flag_tbl.delete;
Line: 7191

   l_rcv_acct_evt_id_tbl.delete; -- pricing changes
Line: 7192

   l_rcv_acct_evt_typ_tbl.delete; -- pricing changes
Line: 7193

   l_rcv_acct_rec_tax_tbl.delete; -- pricing changes
Line: 7194

   l_rcv_ent_rec_tax_tbl.delete; -- pricing changes
Line: 7195

   l_parent_rcv_id_tbl.delete;   -- NEW --added for full return reversal logic
Line: 7196

   l_net_zero_flag_tbl.delete;
Line: 7197

   l_sc_xfer_code_tbl.delete; --NEW
Line: 7198

   l_adj_exp_item_id_tbl.delete; --NEW
Line: 7199

   l_fc_enabled_tbl.delete; --NEW
Line: 7200

   l_fc_document_type_tbl.delete; --NEW
Line: 7201

   l_rcv_sub_ledger_id_tbl.delete;
Line: 7202

   l_si_assts_add_flg_tbl.delete;
Line: 7203

   l_exp_cst_rt_flg_tbl.delete; --NEW
Line: 7204

   l_po_tax_qty_tbl.delete;
Line: 7205

   l_cbs_element_id_tbl.delete; -- Added for CBS Enhancement Bug 16220146
Line: 7209

   PROCEDURE bulk_insert_trx_intf IS

     l_status2 VARCHAR2(30);
Line: 7217

       INSERT INTO pa_transaction_interface_all(
                     transaction_source
                    , user_transaction_source
                    , system_linkage
                    , batch_name
                    , expenditure_ending_date
                    , expenditure_item_date
                    , expenditure_type
                    , quantity
                    , raw_cost_rate
                    , expenditure_comment
                    , transaction_status_code
                    , transaction_rejection_code
                    , orig_transaction_reference
                    , interface_id
                    , dr_code_combination_id
                    , cr_code_combination_id
                    , cdl_system_reference1
                    , cdl_system_reference2
                    , cdl_system_reference3
                    , cdl_system_reference4
                    , cdl_system_reference5
                    , gl_date
                    , org_id
                    , unmatched_negative_txn_flag
                    , denom_raw_cost
                    , denom_currency_code
                    , acct_rate_date
                    , acct_rate_type
                    , acct_exchange_rate
                    , acct_raw_cost
                    , acct_exchange_rounding_limit
                    , attribute_category
                    , attribute1
                    , attribute2
                    , attribute3
                    , attribute4
                    , attribute5
                    , attribute6
                    , attribute7
                    , attribute8
                    , attribute9
                    , attribute10
                    , orig_exp_txn_reference1
                    , orig_user_exp_txn_reference
                    ,  orig_exp_txn_reference2
                    ,  orig_exp_txn_reference3
                    , last_update_date
                    , last_updated_by
                    , creation_date
                    , created_by
                    , person_id
                    , organization_id
                    , project_id
                    , task_id
                    , Vendor_id
                    , override_to_organization_id
                    , person_business_group_id
                    , adjusted_expenditure_item_id --NEW
                    , fc_document_type  -- NEW
                    , document_type
                    , document_distribution_type
                    , sc_xfer_code
                    , si_assets_addition_flag
                    , net_zero_adjustment_flag
                    , cbs_element_id -- Added for CBS Enhancement Bug 16220146
                   )
               SELECT l_txn_src_tbl(i)
                     ,l_user_txn_src_tbl(i)
                     ,G_SYSTEM_LINKAGE
                     ,l_batch_name_tbl(i)
                     ,l_exp_end_date_tbl(i)
                     ,l_ei_date_tbl(i)
                     ,l_exp_type_tbl(i)
                     ,l_quantity_tbl(i)
                     ,l_acct_raw_cost_tbl(i)/decode(nvl(l_quantity_tbl(i),0),0,1,l_quantity_tbl(i))
                     ,l_description_tbl(i)
                     ,l_txn_status_code_tbl(i)
                     ,l_txn_rej_code_tbl(i)
                     ,G_REQUEST_ID
                     ,l_interface_id_tbl(i)
                     ,l_dist_cc_id_tbl(i)
                     ,NULL
                     ,l_vendor_id_tbl(i)
                     ,l_po_head_id_tbl(i)
                     ,l_po_dist_id_tbl(i)
                     ,l_rcv_txn_id_tbl(i)
                     ,l_rcv_sub_ledger_id_tbl(i)
                     ,l_gl_date_tbl(i)
                     ,G_ORG_ID
                     ,'Y'
                     ,l_denom_raw_cost_tbl(i)
                     ,l_denom_cur_code_tbl(i)
                     ,l_acct_rate_date_tbl(i)
                     ,l_acct_rate_type_tbl(i)
                     ,l_acct_exch_rate_tbl(i)
                     ,l_acct_raw_cost_tbl(i)
                     ,1
                     ,l_attribute_cat_tbl(i)
                     ,l_attribute1_tbl(i)
                     ,l_attribute2_tbl(i)
                     ,l_attribute3_tbl(i)
                     ,l_attribute4_tbl(i)
                     ,l_attribute5_tbl(i)
                     ,l_attribute6_tbl(i)
                     ,l_attribute7_tbl(i)
                     ,l_attribute8_tbl(i)
                     ,l_attribute9_tbl(i)
                     ,l_attribute10_tbl(i)
                     ,l_po_dist_id_tbl(i)        /*orig_exp_txn_reference1*/
                     ,l_rcv_txn_id_tbl(i)        /*user_exp_txn_reference*/
                     ,l_rcv_acct_evt_id_tbl(i)   /*orig_exp_txn_reference2*/
                     ,NULL                       /*orig_exp_txn_reference3*/
                     ,SYSDATE
                     ,-1
                     ,SYSDATE
                     ,-1
                     ,l_employee_id_tbl(i)
                     ,l_org_id_tbl(i)
                     ,l_project_id_tbl(i)
                     ,l_task_id_tbl(i)
                     ,l_vendor_id_tbl(i)
                     ,l_exp_org_id_tbl(i)
                     ,l_bus_grp_id_tbl(i)
                     ,l_adj_exp_item_id_tbl(i) --NEW for reversals
                     ,l_fc_document_type_tbl(i) --NEW for funds check
                     ,l_dest_typ_code_tbl(i)
                     ,l_trx_type_tbl(i)
                     ,l_sc_xfer_code_tbl(i)
                     ,l_si_assts_add_flg_tbl(i)
                     ,l_net_zero_flag_tbl(i)
                     ,l_cbs_element_id_tbl(i) -- Added for CBS Enhancement Bug 16220146
                  FROM dual
                 WHERE l_insert_flag_tbl(i) in  ('Y','A');
Line: 7355

                write_log(LOG, 'Inserting adjustment records..');
Line: 7359

       INSERT INTO pa_transaction_interface_all(
                     transaction_source
                    , user_transaction_source
                    , system_linkage
                    , batch_name
                    , expenditure_ending_date
                    , expenditure_item_date
                    , expenditure_type
                    , quantity
                    , raw_cost_rate
                    , expenditure_comment
                    , transaction_status_code
                    , transaction_rejection_code
                    , orig_transaction_reference
                    , interface_id
                    , dr_code_combination_id
                    , cr_code_combination_id
                    , cdl_system_reference1
                    , cdl_system_reference2
                    , cdl_system_reference3
                    , cdl_system_reference4
                    , cdl_system_reference5
                    , gl_date
                    , org_id
                    , unmatched_negative_txn_flag
                    , denom_raw_cost
                    , denom_currency_code
                    , acct_rate_date
                    , acct_rate_type
                    , acct_exchange_rate
                    , acct_raw_cost
                    , acct_exchange_rounding_limit
                    , attribute_category
                    , attribute1
                    , attribute2
                    , attribute3
                    , attribute4
                    , attribute5
                    , attribute6
                    , attribute7
                    , attribute8
                    , attribute9
                    , attribute10
                    , orig_exp_txn_reference1
                    , orig_user_exp_txn_reference
                    ,  orig_exp_txn_reference2
                    ,  orig_exp_txn_reference3
                    , last_update_date
                    , last_updated_by
                    , creation_date
                    , created_by
                    , person_id
                    , organization_id
                    , project_id
                    , task_id
                    , Vendor_id
                    , override_to_organization_id
                    , person_business_group_id
                    , adjusted_expenditure_item_id --NEW
                    , fc_document_type  -- NEW
                    , document_type
                    , document_distribution_type
                    , adjusted_txn_interface_id
                    , sc_xfer_code
                    , si_assets_addition_flag
                    , net_zero_adjustment_flag
                    , cbs_element_id -- Added for CBS Enhancement Bug 16220146
                   )
               SELECT l_txn_src_tbl(i)
                     ,l_user_txn_src_tbl(i)
                     ,G_SYSTEM_LINKAGE
                     ,l_batch_name_tbl(i)
                     ,l_exp_end_date_tbl(i)
                     ,l_ei_date_tbl(i)
                     ,l_exp_type_tbl(i)
                     ,-l_quantity_tbl(i)
                     ,l_acct_raw_cost_tbl(i)/decode(nvl(l_quantity_tbl(i),0),0,1,l_quantity_tbl(i))
                     ,l_description_tbl(i)
                     ,l_txn_status_code_tbl(i)
                     ,l_txn_rej_code_tbl(i)
                     ,G_REQUEST_ID
                     ,l_interface_id_tbl(i)
                     ,l_dist_cc_id_tbl(i)
                     ,NULL
                     ,l_vendor_id_tbl(i)
                     ,l_po_head_id_tbl(i)
                     ,l_po_dist_id_tbl(i)
                     ,l_rcv_txn_id_tbl(i)
                     ,l_rcv_sub_ledger_id_tbl(i)
                     ,l_gl_date_tbl(i)
                     ,G_ORG_ID
                     ,'Y'
                     ,-l_denom_raw_cost_tbl(i)
                     ,l_denom_cur_code_tbl(i)
                     ,l_acct_rate_date_tbl(i)
                     ,l_acct_rate_type_tbl(i)
                     ,l_acct_exch_rate_tbl(i)
                     ,-l_acct_raw_cost_tbl(i)
                     ,1
                     ,l_attribute_cat_tbl(i)
                     ,l_attribute1_tbl(i)
                     ,l_attribute2_tbl(i)
                     ,l_attribute3_tbl(i)
                     ,l_attribute4_tbl(i)
                     ,l_attribute5_tbl(i)
                     ,l_attribute6_tbl(i)
                     ,l_attribute7_tbl(i)
                     ,l_attribute8_tbl(i)
                     ,l_attribute9_tbl(i)
                     ,l_attribute10_tbl(i)
                     ,l_po_dist_id_tbl(i)        /*orig_exp_txn_reference1*/
                     ,l_rcv_txn_id_tbl(i)        /*user_exp_txn_reference*/
                     ,l_rcv_acct_evt_id_tbl(i)   /*orig_exp_txn_reference2*/
                     ,NULL                       /*orig_exp_txn_reference3*/
                     ,SYSDATE
                     ,-1
                     ,SYSDATE
                     ,-1
                     ,l_employee_id_tbl(i)
                     ,l_org_id_tbl(i)
                     ,l_project_id_tbl(i)
                     ,l_task_id_tbl(i)
                     ,l_vendor_id_tbl(i)
                     ,l_exp_org_id_tbl(i)
                     ,l_bus_grp_id_tbl(i)
                     ,l_adj_exp_item_id_tbl(i) --NEW for reversals
                     ,l_fc_document_type_tbl(i) --NEW for funds check
                     ,l_dest_typ_code_tbl(i)
                     ,l_trx_type_tbl(i)
                     ,(select xface.txn_interface_id
                      from   pa_transaction_interface xface
                      where  xface.interface_id =  l_interface_id_tbl(i)
                      and    xface.transaction_source = l_txn_src_tbl(i)
                      and    xface.cdl_system_reference2 = l_po_head_id_tbl(i)
                      and    xface.cdl_system_reference3 = l_po_dist_id_tbl(i)
                      and    xface.cdl_system_reference4 = to_char(l_rcv_txn_id_tbl(i))
		      and    nVL(xface.adjusted_expenditure_item_id,0) = 0 ) -- R12 funds management Uptake
                     ,'P'  -- sc_xfer_code
                     ,'T'  -- Si assets flag
                     ,l_net_zero_flag_tbl(i)
                     ,l_cbs_element_id_tbl(i) -- Added for CBS Enhancement Bug 16220146
                  FROM dual
                  WHERE l_insert_flag_tbl(i) = 'A';
Line: 7506

          write_log(LOG,'Failed during bulk insert for receipt processing');
Line: 7510

   END bulk_insert_trx_intf;
Line: 7571

				    SELECT PROJ_ELEMENT_ID, CBS_ELEMENT_ID
					INTO l_actual_task_id, l_cbs_element_id
					FROM PA_ALTERNATE_TASKS
					WHERE alt_task_id = l_task_id_tbl(i);
Line: 7603

                 SELECT emp.business_group_id
                   INTO G_PER_BUS_GRP_ID
                   FROM per_all_people_f emp
                  WHERE emp.person_id = l_employee_id_tbl(i)
                          AND l_ei_date_tbl(i) between trunc(emp.effective_start_date) and
                                                       trunc(emp.effective_end_date);
Line: 7633

             SELECT pa_utils.getweekending(MAX(l_ei_date_tbl(i)))
               INTO G_EXPENDITURE_ENDING_DATE
               FROM po_distributions
              WHERE po_distribution_id = l_po_dist_id_tbl(i);
Line: 7653

        		SELECT event_type_name
	        	INTO l_evt_typ_name
        		FROM rcv_accounting_event_types rcv_acct_evt_typ, rcv_accounting_events rcv_acct_evts
        		WHERE rcv_acct_evt_typ.event_type_id = rcv_acct_evts.event_type_id
        		AND rcv_acct_evts.accounting_event_id = l_rcv_acct_evt_id_tbl(i);
Line: 7683

            /* If the pa_addition_flag is updated to 'O', then it means we would need
               to break down the amount of the receipt into two portions. One is the
               total minus tax and the other is just the NR Tax portion. This Loop
               will process the total minus tax portion.  After inserting this amount
               , the next loop will insert the tax portion of the receipt into the
               tranasction_interface table */

            v_num_receipts_processed := v_num_receipts_processed + 1;
Line: 7692

            /* for the amount that we are selecting, we need to see whether the transaction is an
               EXPENSE or RECEIVING transactions. EXPENSE means we take the positive value of dr column
               minus the tax amount while RECEIVNG transaction means it is a return, so we take the
               negative of the cr column plus the tax amount. If the trasnaction is a RETURN,
               then we want the quantity to be a negative quantity */

         -- call the function to check if the txn got interfaced through AP. If Yes, then set the pa_add_flag to G.
          IF ReceiptPaAdditionFlag(p_Pa_Addition_Flag     => l_pa_add_flag_tbl(i),
                                     p_Po_Distribution_Id   => l_po_dist_id_tbl(i)) = 'G' THEN


             write_log(LOG,'PA_addition_flag for this RCV transaction should be marked to G');
Line: 7705

                          l_insert_flag_tbl(i) := 'N';
Line: 7718

               l_insert_flag_tbl(i) := 'N';
Line: 7743

                            SELECT primary_quantity, amount
                              INTO l_primary_quantity, l_amount
                              FROM rcv_transactions
                             WHERE transaction_id = l_parent_rcv_id_tbl(i) ;
Line: 7760

                                     SELECT 'Y'
                                       INTO l_exists
                                       FROM dual
                                      WHERE EXISTS (
                                                   SELECT pa_addition_flag
                                                     FROM rcv_receiving_sub_ledger
                                                    WHERE rcv_transaction_id = l_parent_rcv_id_tbl(i)
                                                      AND pa_addition_flag in ('Y','I')) ;
Line: 7784

                                         IF l_insert_flag_tbl(i)= 'A' THEN
                                          l_create_adj_recs := 'Y';
Line: 7827

               l_insert_flag_tbl(i) := 'N';
Line: 7854

                            SELECT primary_quantity, amount
                              INTO l_primary_quantity, l_amount
                              FROM rcv_transactions
                             WHERE transaction_id = l_parent_rcv_id_tbl(i) ;
Line: 7871

                                     SELECT 'Y'
                                       INTO l_exists
                                       FROM dual
                                      WHERE EXISTS (
                                                   SELECT pa_addition_flag
                                                     FROM rcv_receiving_sub_ledger
                                                    WHERE rcv_transaction_id = l_parent_rcv_id_tbl(i)
                                                      AND pa_addition_flag in ('Y','I')) ;
Line: 7895

                                           IF l_insert_flag_tbl(i) = 'A' THEN
                                            l_create_adj_recs := 'Y';
Line: 7948

         IF l_insert_flag_tbl(i) IS NULL THEN
            l_insert_flag_tbl(i)     := 'Y';
Line: 7957

         write_log(LOG, 'The value for Insert Flag : '||l_insert_flag_tbl(i)  );
Line: 8040

         UPDATE rcv_receiving_sub_ledger rcv_sub
            SET rcv_sub.pa_addition_flag          = decode(l_pa_add_flag_tbl(i),'G','G',pa_addition_flag)
          WHERE rcv_sub.rcv_transaction_id        = l_rcv_txn_id_tbl(i)
            AND rcv_sub.pa_addition_flag = 'O'
            AND  l_insert_flag_tbl(i) = 'N' ;
Line: 8063

         processed here. The reason for this is because when pa_addition_flag is updated
         to 'O', it means we need to split the receipt into the receipt amount and the tax
         amount. Since we call a bulk insert after calling  process_receipt_logic then
         it means the receipt without tax portion should have been inserted into the
         txn interface table. The only part that we should now process are the tax portion
         of these records. Thus, we will only process these records and nothing else */

      /* Additional Note: Most of the values already stored in the plsql table for these records
         can be reused except for the amount columns. Other columns like bus_group_id and DFF
         fields are the same for either the receipt amount or just the tax amount */

      G_err_stage:= 'Within process_receipt_logic';
Line: 8083

            l_insert_flag_tbl(i) := 'N';
Line: 8090

                l_insert_flag_tbl(i) := 'N';
Line: 8106

               l_insert_flag_tbl(i)     := 'Y';
Line: 8126

                            SELECT primary_quantity, nvl(amount,0)
                              INTO l_primary_quantity, l_amount
                              FROM rcv_transactions
                             WHERE transaction_id = l_parent_rcv_id_tbl(i) ;
Line: 8146

                                     SELECT 'Y'
                                       INTO l_exists
                                       FROM dual
                                        WHERE EXISTS (
                                                   SELECT pa_addition_flag
                                                     FROM rcv_receiving_sub_ledger
                                                    WHERE rcv_transaction_id = l_parent_rcv_id_tbl(i)
                                                      AND pa_addition_flag in ('Y','I')) ;
Line: 8180

                                           IF l_insert_flag_tbl(i) = 'A' THEN
                                            l_create_adj_recs := 'Y';
Line: 8231

		SELECT event_type_name
		INTO l_evt_typ_name
		FROM rcv_accounting_event_types rcv_acct_evt_typ, rcv_accounting_events rcv_acct_evts
		WHERE rcv_acct_evt_typ.event_type_id = rcv_acct_evts.event_type_id
		AND rcv_acct_evts.accounting_event_id = l_rcv_acct_evt_id_tbl(i);
Line: 8310

         SELECT pa_interface_id_s.nextval
           INTO G_RCV_INTERFACE_ID FROM dual;
Line: 8313

         SELECT pa_interface_id_s.nextval
           INTO G_RCVNRT_INTERFACE_ID FROM dual;
Line: 8374

               l_insert_flag_tbl,
	       l_rcv_acct_evt_id_tbl, -- pricing changes
	       l_rcv_acct_rec_tax_tbl,
	       l_rcv_ent_rec_tax_tbl,
               l_parent_rcv_id_tbl, --NEW
               l_net_zero_flag_tbl, -- NEW
               l_sc_xfer_code_tbl,
               l_amount_tbl,
               l_adj_exp_item_id_tbl,
               l_fc_enabled_tbl,
               l_mrc_exchange_date_tbl,
               l_fc_document_type_tbl,
               l_si_assts_add_flg_tbl,
               l_insert_flag_tbl,
               l_rcv_sub_ledger_id_tbl,
               l_exp_cst_rt_flg_tbl
         LIMIT v_max_size;
Line: 8396

             The Receipt Cursor picks up both records that have  pa_addition_flag updated
             to either 'O' or 'J'. for the ones updated 'O', it means we need to split up
             the record into receipt minus tax portion and just the tax portion. The call
             to process_receipt_logic will insert only the receipt total minus tax portion.
             For records updated to 'J', we will only pull the nr_tax portion and insert
             into transaction_interface_all table for processing */

             G_err_stage:='Begin processing just the receipt records';
Line: 8410

             bulk_insert_trx_intf;
Line: 8412

            /* The process_receipt_tax_logic applies only to those records that have been updated
             to 'O'. After having the total receipt amount minus tax being inserted into txn
             interface table, we need to insert the tax portion of these records by calling
             process_receipt_tax_logic. The records that have been updated to 'J' would not be
             processed here because the tax amount was taken cared of in proceess_receipt_logic
             above.
            */

            G_err_stage:='Begin processing receipt tax records';
Line: 8425

            bulk_insert_trx_intf;
Line: 8557

      SELECT cdl_system_reference1
            ,cdl_system_reference2
            ,cdl_system_reference3
            ,cdl_system_reference4
            ,transaction_source
            ,batch_name
            ,interface_id
            ,transaction_status_code
            ,project_id
            ,l_pa_addflag
	    ,orig_exp_txn_reference2 -- pricing changes
	    ,dr_code_combination_id
        FROM pa_transaction_interface_all txnintf
       WHERE txnintf.transaction_source = p_txn_src
         AND txnintf.batch_name         = p_batch_name
         AND txnintf.interface_id       = p_interface_id;
Line: 8583

      l_sys_ref1_tbl.delete;
Line: 8584

      l_sys_ref2_tbl.delete;
Line: 8585

      l_sys_ref3_tbl.delete;
Line: 8586

      l_sys_ref4_tbl.delete;
Line: 8587

      l_txn_src_tbl.delete;
Line: 8588

      l_batch_name_tbl.delete;
Line: 8589

      l_interface_id_tbl.delete;
Line: 8590

      l_txn_status_code_tbl.delete;
Line: 8591

      l_project_id_tbl.delete;
Line: 8592

      l_pa_addflag_tbl.delete;
Line: 8593

      l_rcv_acct_evt_id_tbl.delete; -- pricing changes
Line: 8594

      l_dr_ccid_tbl.delete;
Line: 8610

            update pa_addition_flag of RCV transactions to 'Y'.
            If transaction import leaves the record to be 'P' then
            update pa_addition_flag of RCV transactions to 'N' or 'I'.
            If transaction import stamps the record to be 'R' then
            update pa_addition_flag of RCV transactions to 'N' or 'I'.*/

         write_log(LOG,'Tying back transaction ID: '||l_sys_ref4_tbl(i)||
                       'trc src:   '||l_txn_src_tbl(i));
Line: 8635

               updated to N. If the status code is R then it should be
               updated to I such that the program can pick it up in the
               next run and interface ONLY the tax portion */

            IF l_txn_status_code_tbl(i) = 'A' THEN
                  l_pa_addflag_tbl(i) := 'Y';
Line: 8654

   PROCEDURE bulk_update_txn_intf IS

      v_status VARCHAR2(15);
Line: 8660

      G_err_stage:=('Within bulk update of RCV transactions tieback');
Line: 8665

      /* Code combination Id join is required so that the record whichw as earlier updated to X does nto get updated to Y */

         UPDATE rcv_receiving_sub_ledger rcv_sub -- pricing changes
            SET rcv_sub.pa_addition_flag              = l_pa_addflag_tbl(i)
          WHERE rcv_sub.rcv_transaction_id        = l_sys_ref4_tbl(i)
	  AND (rcv_sub.accounting_event_id = l_rcv_acct_evt_id_tbl(i) OR rcv_sub.accounting_event_id IS NULL)
	  AND rcv_sub.code_combination_id = l_dr_ccid_tbl(i)
           /* Start added for bug#6015451 */
	AND EXISTS
            (SELECT 1 from rcv_transactions rcv_txn , po_lines_all pol WHERE
              rcv_txn.transaction_id = l_sys_ref4_tbl(i)
              and rcv_txn.PO_line_ID            =  POL.po_line_id
	      AND ( (rcv_txn.destination_type_code = 'EXPENSE' AND /*Starts-code changes  for bug:9196652 */
			(( rcv_txn.transaction_type = 'DELIVER' AND
						rcv_sub.entered_dr is NOT NULL
                          )
						 OR
						 (
						  rcv_txn.transaction_type = 'RETURN TO RECEIVING' AND
						  rcv_sub.entered_cr is NOT NULL
						  )
						 OR
						 (
						  rcv_txn.transaction_type = 'CORRECT' AND
						 ( rcv_sub.entered_cr is NOT NULL or rcv_sub.entered_dr is NOT NULL )AND
						  rcv_sub.accounting_line_type='Charge'  and
						  decode(POL.order_type_lookup_code,
						 'RATE' , rcv_txn.amount,
						 'FIXED PRICE', rcv_txn.amount,
						  rcv_txn.primary_quantity) < 0
						  )
						 OR
						 (
						  rcv_txn.transaction_type = 'CORRECT' AND
						  rcv_sub.entered_dr is NOT NULL AND
						  decode(POL.order_type_lookup_code,
						  'RATE' , rcv_txn.amount,
						  'FIXED PRICE', rcv_txn.amount,
						  rcv_txn.primary_quantity) >= 0
						  )
						 )  /*Ends-code changes  for bug:9196652*/
                     /* rcv_txn.transaction_type <> 'RETURN TO RECEIVING' AND rcv_sub.entered_dr is NOT NULL
	            ) OR
	          ((rcv_txn.destination_type_code = 'RECEIVING' OR
	           rcv_txn.transaction_type = 'RETURN TO RECEIVING') AND rcv_sub.entered_cr is NOT NULL
                  ) commented for bug:9196652*/
                 ))
             );
Line: 8721

         G_err_stage:= 'Failed during bulk update of RCV transactions tieback';
Line: 8726

   END bulk_update_txn_intf;
Line: 8764

         bulk_update_txn_intf;
Line: 8793

      SELECT cdl_system_reference2
            ,cdl_system_reference3
            ,cdl_system_reference4
	    ,orig_exp_txn_reference2 -- pricing changes
       FROM pa_transaction_interface
      WHERE transaction_status_code = 'R'
        AND transaction_source      IN ('PO RECEIPT', 'PO RECEIPT PRICE ADJ')
        AND batch_name              = p_batch_name
        AND interface_id            = p_interface_id;
Line: 8830

      UPDATE pa_transaction_interface_all
        SET transaction_status_code  = 'T'
        WHERE batch_name             =  G_RCVTAX_BATCH_NAME /* p_batch_name changed for #2912545 */
          AND interface_id           =  G_RCVNRT_INTERFACE_ID /* p_interface_id changed for #2912545 */
          AND transaction_source     = 'PO RECEIPT NRTAX' /* PO RECEIPT TAX. changed for #2912545 */
          AND cdl_system_reference2  = v_po_head_id
          AND cdl_system_reference3  = v_po_dist_id
          AND cdl_system_reference4  = v_txn_id;
Line: 8840

      UPDATE pa_transaction_interface_all
        SET transaction_status_code  = 'T'
        WHERE batch_name             =  G_RCVTAX_BATCH_NAME /* p_batch_name changed for #2912545 */
          AND interface_id           =  G_RCVNRT_INTERFACE_ID /* p_interface_id changed for #2912545 */
          AND transaction_source     = 'PO RECEIPT NRTAX PRICE ADJ' /* PO RECEIPT TAX. changed for #2912545 */
          AND cdl_system_reference2  = v_po_head_id
          AND cdl_system_reference3  = v_po_dist_id
          AND cdl_system_reference4  = v_txn_id
	  AND orig_exp_txn_reference2 = v_acct_evt_id;
Line: 8876

    UPDATE ap_invoice_distributions_all dist
       SET dist.pa_addition_flag   = 'L'
     WHERE dist.po_distribution_id = p_po_distribution_id
       AND dist.pa_addition_flag   = 'N';
Line: 8905

   UPDATE ap_invoice_distributions_all dist
      SET dist.pa_addition_flag = 'N'
    WHERE dist.pa_addition_flag = 'L';
Line: 8966

   UPDATE ap_invoice_distributions_all apdist
      SET apdist.pa_addition_flag = DECODE(NVL(apdist.amount_variance,0),0,'G',increment_W_count('W')),
          request_id = G_REQUEST_ID,
          last_update_date=SYSDATE,
          last_updated_by=G_USER_ID,
          last_update_login= G_USER_ID,
          program_id= G_PROG_ID,
          program_application_id= G_PROG_APPL_ID,
          program_update_date=SYSDATE
    WHERE rowid IN (
          SELECT dist.rowid
          FROM  ap_invoices inv, ap_invoice_distributions_all dist
          WHERE inv.invoice_id = dist.invoice_id
          AND  (dist.line_type_lookup_code in ('ITEM','ACCRUAL','RETROACCRUAL','NONREC_TAX')
                OR ( pa_nl_installed.is_nl_installed = 'Y'                 --EIB trackable items
                                 AND EXISTS (SELECT 'X'
                                              FROM  mtl_system_items si,
                                                    po_lines_all pol,
                                                    po_distributions_all po_dist1
                                              WHERE po_dist1.po_line_id = pol.po_line_id
                                              AND   po_dist1.po_distribution_id  = dist.po_distribution_id
                                              AND   si.inventory_item_id = pol.item_id
                                              AND   po_dist1.project_id IS NOT NULL
                                              AND   si.comms_nl_trackable_flag = 'Y'
					      AND   (si.organization_id = po_dist1.org_id
						OR /* Added for bug 13714500 */
                         si.organization_id in (select nvl(ship_to_organization_id,-9999) from po_line_locations_all pll
                                                 where pll.po_header_id = po_dist1.po_header_id
						              and pll.po_line_id = po_dist1.po_line_id)
						))
                          )
                 ) --Bug#5399352. Added this here to take care of IPV/TIPV records matched to EIB item PO.
          AND   NOT EXISTS (SELECT NULL
                                     FROM ap_invoice_distributions_all apdist2
                                    WHERE apdist2.pa_addition_flag   = 'Y'
                                      AND apdist2.po_distribution_id = dist.po_distribution_id
                                      AND (apdist2.line_type_lookup_code = dist.line_type_lookup_code
                                         or (apdist2.historical_flag = 'Y' and
                                             dist.line_type_lookup_code = 'ACCRUAL')) /* Modified for bug 14003230 */
                                      AND apdist2.line_type_lookup_code in ('ITEM','ACCRUAL','RETROACCRUAL','NONREC_TAX')
                           )
          AND  (  EXISTS (SELECT NULL
                              FROM ap_invoice_distributions_all apdist1,
                                   ap_invoices_all ap1                 /*Changes for bug 7650946 -- Start */
                             WHERE apdist1.pa_addition_flag   IN ('F', 'G')
                               AND ap1.invoice_id = apdist1.invoice_id	/*Added for bug 	7650946 */
                               AND apdist1.po_distribution_id  = dist.po_distribution_id
                                AND ap1.Invoice_Type_lookup_Code <> 'PREPAYMENT'
                               AND apdist1.Line_Type_Lookup_Code <> 'PREPAY'  /*Changes for bug 7650946 -- End */
                          )
                 OR EXISTS (  SELECT rcv_txn.po_distribution_id
                                FROM rcv_transactions rcv_txn
                                   , rcv_receiving_sub_ledger rcv_sub
                               WHERE rcv_txn.po_distribution_id      = dist.po_distribution_id
                                 AND rcv_sub.pa_addition_flag || '' IN ('Y','I')
                                 AND rcv_sub.rcv_transaction_id      = rcv_txn.transaction_id
                           )
                 OR EXISTS (  SELECT  PO.po_distribution_id
                                FROM  po_distributions PO
                               WHERE  PO.po_distribution_id = dist.po_distribution_id
                                 AND  nvl(po.distribution_type,'XXX') <> 'PREPAYMENT'  -- bug 7192304, added nvl
                                 AND  PO.project_id  > 0
                                 AND  NVL(PO.destination_type_code, 'EXPENSE') = 'EXPENSE'
                                 AND  PO.accrue_on_receipt_flag= 'Y'
                           )
                )
          --AND   inv.invoice_type_lookup_code <> 'EXPENSE REPORT' commented for bug16028785
          AND   nvl(INV.source, 'xx' ) NOT IN
                 ('Oracle Project Accounting','PA_IC_INVOICES')
          AND   dist.pa_addition_flag = 'N'
          AND   dist.posted_flag = 'Y'
          AND   trunc(dist.accounting_date) <= trunc(nvl(G_GL_DATE,dist.Accounting_Date))
          AND   trunc(dist.Expenditure_Item_Date) <= trunc(NVL(G_TRANSACTION_DATE,dist.Expenditure_Item_Date))
          AND   dist.project_id = G_PROJECT_ID
          -- Process historical distributions for CAsh BAsed Accounting
          AND   (G_ACCTNG_METHOD = 'A' OR (G_ACCTNG_METHOD = 'C' AND dist.historical_flag = 'Y'))
          AND   dist.po_distribution_id > 0 ); /*Removed NVL condition for bug#12922795 */
Line: 9048

	   UPDATE ap_self_assessed_tax_dist_all apdist
      SET apdist.pa_addition_flag = DECODE(NVL(apdist.amount_variance,0),0,'G',increment_W_count('W')),
          request_id = G_REQUEST_ID,
          last_update_date=SYSDATE,
          last_updated_by=G_USER_ID,
          last_update_login= G_USER_ID,
          program_id= G_PROG_ID,
          program_application_id= G_PROG_APPL_ID,
          program_update_date=SYSDATE
    WHERE rowid IN (
          SELECT dist.rowid
          FROM  ap_invoices inv, ap_self_assessed_tax_dist_all dist
          WHERE inv.invoice_id = dist.invoice_id
          AND  (dist.line_type_lookup_code in ('ITEM','ACCRUAL','RETROACCRUAL','NONREC_TAX')
                OR ( pa_nl_installed.is_nl_installed = 'Y'                 --EIB trackable items
                                 AND EXISTS (SELECT 'X'
                                              FROM  mtl_system_items si,
                                                    po_lines_all pol,
                                                    po_distributions_all po_dist1
                                              WHERE po_dist1.po_line_id = pol.po_line_id
                                              AND   po_dist1.po_distribution_id  = dist.po_distribution_id
                                              AND   si.inventory_item_id = pol.item_id
                                              AND   po_dist1.project_id IS NOT NULL
                                              AND   si.comms_nl_trackable_flag = 'Y'
					      AND   si.organization_id = po_dist1.org_id)
                          )
                 ) --Bug#5399352. Added this here to take care of IPV/TIPV records matched to EIB item PO.
          AND   NOT EXISTS (SELECT NULL
                                     FROM ap_self_assessed_tax_dist_all apdist2
                                    WHERE apdist2.pa_addition_flag   = 'Y'
                                      AND apdist2.po_distribution_id = dist.po_distribution_id
                                      AND apdist2.line_type_lookup_code = dist.line_type_lookup_code
                                      AND apdist2.line_type_lookup_code in ('ITEM','ACCRUAL','RETROACCRUAL','NONREC_TAX')
                           )
          AND  (  EXISTS (SELECT NULL
                              FROM ap_self_assessed_tax_dist_all apdist1,
                                   ap_invoices_all ap1                 /*Changes for bug 7650946 -- Start
                             WHERE apdist1.pa_addition_flag   IN ('F', 'G')
                               AND ap1.invoice_id = apdist1.invoice_id	/*Added for bug 	7650946
                               AND apdist1.po_distribution_id  = dist.po_distribution_id
                                AND ap1.Invoice_Type_lookup_Code <> 'PREPAYMENT'
                               AND apdist1.Line_Type_Lookup_Code <> 'PREPAY'  /*Changes for bug 7650946 -- End
                          )
                 OR EXISTS (  SELECT rcv_txn.po_distribution_id
                                FROM rcv_transactions rcv_txn
                                   , rcv_receiving_sub_ledger rcv_sub
                               WHERE rcv_txn.po_distribution_id      = dist.po_distribution_id
                                 AND rcv_sub.pa_addition_flag || '' IN ('Y','I')
                                 AND rcv_sub.rcv_transaction_id      = rcv_txn.transaction_id
                           )
                 OR EXISTS (  SELECT  PO.po_distribution_id
                                FROM  po_distributions PO
                               WHERE  PO.po_distribution_id = dist.po_distribution_id
                                 AND  nvl(po.distribution_type,'XXX') <> 'PREPAYMENT'  -- bug 7192304, added nvl
                                 AND  PO.project_id  > 0
                                 AND  NVL(PO.destination_type_code, 'EXPENSE') = 'EXPENSE'
                                 AND  PO.accrue_on_receipt_flag= 'Y'
                           )
                )
          AND   inv.invoice_type_lookup_code <> 'EXPENSE REPORT'
          AND   nvl(INV.source, 'xx' ) NOT IN
                 ('Oracle Project Accounting','PA_IC_INVOICES')
          AND   dist.pa_addition_flag = 'N'
          AND   dist.posted_flag = 'Y'
          AND   trunc(dist.accounting_date) <= trunc(nvl(G_GL_DATE,dist.Accounting_Date))
          AND   trunc(dist.Expenditure_Item_Date) <= trunc(NVL(G_TRANSACTION_DATE,dist.Expenditure_Item_Date))
          AND   dist.project_id = G_PROJECT_ID
          -- Process historical distributions for CAsh BAsed Accounting
          AND   (G_ACCTNG_METHOD = 'A' )
          AND   dist.po_distribution_id > 0 ); /*Removed NVL condition for bug#12922795 */
Line: 9124

         pulled from Payables. The pa_addition_flag for such invoice ITEM distribution lines is updated to G to prevent
         further processing into Projects.
         However, if there is an amount variance on such invoice, it needs to be processed as W to releive variance commitment  */

           UPDATE ap_invoice_distributions_all apdist
           SET    apdist.pa_addition_flag = DECODE(NVL(apdist.amount_variance,0),0,'G',increment_W_count('W')),
                  request_id = G_REQUEST_ID,
                  last_update_date=SYSDATE,
                  last_updated_by=G_USER_ID,
                  last_update_login= G_USER_ID,
                  program_id= G_PROG_ID,
                  program_application_id= G_PROG_APPL_ID,
                  program_update_date=SYSDATE
           WHERE  rowid in (
                           SELECT dist.rowid
                           FROM  ap_invoices inv,
                                 po_distributions po,
                                 ap_invoice_distributions_all dist
                           WHERE inv.invoice_id = dist.invoice_id
                           AND   po.po_distribution_id = dist.po_distribution_id
			   AND   dist.po_distribution_id >0  /*Added the condition for bug#12922795 */
        		   AND   nvl(po.distribution_type,'XXX') <> 'PREPAYMENT'  -- bug 7192304, added nvl
                           AND   NVL(po.destination_type_code, 'EXPENSE') = 'EXPENSE'
                           AND   PA_PJC_CWK_UTILS.Is_cwk_tc_xface_allowed(nvl(dist.project_ID, 0))= 'Y'
                           AND   PA_PJC_CWK_UTILS.Is_rate_based_line(null,nvl(dist.po_distribution_id,0))= 'Y'
                           AND   dist.line_type_lookup_code in ( 'ITEM','ACCRUAL','RETROACCRUAL') --added accrual for historical data
                           AND   dist.pa_addition_flag = 'N'
                           AND   inv.invoice_type_lookup_code <> 'EXPENSE REPORT'
                           AND   nvl(INV.source, 'xx' ) NOT IN
                               ('Oracle Project Accounting','PA_IC_INVOICES','PA_COST_ADJUSTMENTS')
                           AND   dist.pa_addition_flag = 'N'
                           AND   dist.project_id > 0
                           AND   dist.posted_flag = 'Y'
                           AND   trunc(dist.accounting_date) <= trunc(nvl(G_GL_DATE,dist.Accounting_Date)) /* Added trunc for the bug 6623163 */
                           AND   trunc(dist.Expenditure_Item_Date) <= trunc(NVL(G_TRANSACTION_DATE,dist.Expenditure_Item_Date))/* Added trunc for the bug 6623163 */
                           AND   dist.project_id = G_PROJECT_ID
                           -- Process historical distributions for CAsh BAsed Accounting
                           AND   (G_ACCTNG_METHOD = 'A' OR (G_ACCTNG_METHOD = 'C' AND dist.historical_flag = 'Y'))
                           AND   inv.paid_on_behalf_employee_id is NULL
AND inv.source not  in ('CREDIT CARD','Both Pay') /* Added for bug 8977795 */ );
Line: 9168

/* Clearly the above update has only the line type lookup code in ITEM, ACCRUAL and RETRO ACCRUAL , so did not update the same for
Self Assessed Tax  Lines*/

   Else  -- G_PROJECT_ID IS NULL

    --
    -- Update pa-addition-flag to 'G' for item and nrtax lines if the invoice is matched to PO/RCPT that is
    -- accrued-on-rcpt and the PO has never been interfaced as invoice, historically
    -- However, such Invoice lines that have amount variance will be marked as W so that these can be processed
    -- for relieving the variance commitment
    --
    -- In rel12, Receipt Accruals along with NRTAX will be interfaced into Projects only from Purchasing
    -- However Variance and other related costs like Freight/Misc will still be interfaced from Payables
    --

        If g_body_debug_mode = 'Y' Then
        write_log(LOG, 'Updating empty invoice variance lines pa addtion flag to G for all');
Line: 9187

   UPDATE ap_invoice_distributions_all apdist
      SET apdist.pa_addition_flag = DECODE(NVL(apdist.amount_variance,0),0,'G',increment_W_count('W')),
          request_id = G_REQUEST_ID,
          last_update_date=SYSDATE,
          last_updated_by=G_USER_ID,
          last_update_login= G_USER_ID,
          program_id= G_PROG_ID,
          program_application_id= G_PROG_APPL_ID,
          program_update_date=SYSDATE
    WHERE rowid IN (
          SELECT dist.rowid
          FROM  ap_invoices inv, ap_invoice_distributions_all dist
          WHERE inv.invoice_id = dist.invoice_id
          AND  ( dist.line_type_lookup_code in ('ITEM','ACCRUAL','RETROACCRUAL','NONREC_TAX')
                OR ( pa_nl_installed.is_nl_installed = 'Y'                 --EIB trackable items
                                 AND EXISTS (SELECT 'X'
                                              FROM  mtl_system_items si,
                                                    po_lines_all pol,
                                                    po_distributions_all po_dist1
                                              WHERE po_dist1.po_line_id = pol.po_line_id
                                              AND   po_dist1.po_distribution_id  = dist.po_distribution_id
                                              AND   si.inventory_item_id = pol.item_id
                                              AND   po_dist1.project_id IS NOT NULL
                                              AND   si.comms_nl_trackable_flag = 'Y'
					      AND   (si.organization_id = po_dist1.org_id
						OR /* Added for bug 13714500 */
                         si.organization_id in (select nvl(ship_to_organization_id,-9999) from po_line_locations_all pll
                                                 where pll.po_header_id = po_dist1.po_header_id
						              and pll.po_line_id = po_dist1.po_line_id)
						))
                          )
                 ) --Bug#5399352. Added this here to take care of IPV/TIPV records matched to EIB item PO.
          AND   NOT EXISTS (SELECT NULL
                                     FROM ap_invoice_distributions_all apdist2
                                    WHERE apdist2.pa_addition_flag   = 'Y'
                                      AND apdist2.po_distribution_id = dist.po_distribution_id
                                      AND (apdist2.line_type_lookup_code = dist.line_type_lookup_code
                                         or (apdist2.historical_flag = 'Y' and
                                             dist.line_type_lookup_code = 'ACCRUAL')) /* Modified for bug 14003230 */
                                      AND apdist2.line_type_lookup_code in ('ITEM','ACCRUAL','RETROACCRUAL','NONREC_TAX')
                           )
          AND  (  EXISTS (SELECT NULL
                              FROM ap_invoice_distributions_all apdist1,
                                   ap_invoices_all ap1                   /*Changes for bug 7650946 -- Start */
                             WHERE apdist1.pa_addition_flag   IN ('F', 'G')
                               AND ap1.invoice_id = apdist1.invoice_id
                               AND apdist1.po_distribution_id  = dist.po_distribution_id
                                AND ap1.Invoice_Type_lookup_Code <> 'PREPAYMENT'
                               AND apdist1.Line_Type_Lookup_Code <> 'PREPAY'  /*Changes for bug 7650946 -- End */
                          )
                 OR EXISTS (  SELECT rcv_txn.po_distribution_id
                                FROM rcv_transactions rcv_txn
                                   , rcv_receiving_sub_ledger rcv_sub
                               WHERE rcv_txn.po_distribution_id      = dist.po_distribution_id
                                 AND rcv_sub.pa_addition_flag || '' IN ('Y','I')
                                 AND rcv_sub.rcv_transaction_id      = rcv_txn.transaction_id
                           )
                 OR EXISTS (  SELECT  PO.po_distribution_id
                                FROM  po_distributions PO
                               WHERE  PO.po_distribution_id = dist.po_distribution_id
                                 AND  nvl(po.distribution_type,'XXX') <> 'PREPAYMENT'  -- bug 7192304, added nvl
                                 AND  PO.project_id  > 0
                                 AND  NVL(PO.destination_type_code, 'EXPENSE') = 'EXPENSE'
                                 AND  PO.accrue_on_receipt_flag= 'Y'
                           )
                )
          --AND   inv.invoice_type_lookup_code <> 'EXPENSE REPORT' commented for bug 16028785
          AND   nvl(INV.source, 'xx' ) NOT IN
                 ('Oracle Project Accounting','PA_IC_INVOICES','PA_COST_ADJUSTMENTS')
          AND   dist.pa_addition_flag = 'N'
          AND   dist.posted_flag = 'Y'
          AND   trunc(dist.accounting_date) <= trunc(nvl(G_GL_DATE,dist.Accounting_Date))  /* Added trunc for the bug 6623163 */
          AND  trunc(dist.Expenditure_Item_Date) <= trunc(NVL(G_TRANSACTION_DATE,dist.Expenditure_Item_Date)) /* Added trunc for the bug 6623163 */
          AND   dist.project_id > 0
          -- Process historical distributions for CAsh BAsed Accounting
          AND   (G_ACCTNG_METHOD = 'A' OR (G_ACCTNG_METHOD = 'C' AND dist.historical_flag = 'Y'))
          AND   dist.po_distribution_id > 0 ); /*Removed NVL condition for bug#12922795 */
Line: 9270

	     UPDATE ap_self_assessed_tax_dist_all apdist
      SET apdist.pa_addition_flag = DECODE(NVL(apdist.amount_variance,0),0,'G',increment_W_count('W')),
          request_id = G_REQUEST_ID,
          last_update_date=SYSDATE,
          last_updated_by=G_USER_ID,
          last_update_login= G_USER_ID,
          program_id= G_PROG_ID,
          program_application_id= G_PROG_APPL_ID,
          program_update_date=SYSDATE
    WHERE rowid IN (
          SELECT dist.rowid
          FROM  ap_invoices inv, ap_self_assessed_tax_dist_all dist
          WHERE inv.invoice_id = dist.invoice_id
          AND  ( dist.line_type_lookup_code in ('ITEM','ACCRUAL','RETROACCRUAL','NONREC_TAX')
                OR ( pa_nl_installed.is_nl_installed = 'Y'                 --EIB trackable items
                                 AND EXISTS (SELECT 'X'
                                              FROM  mtl_system_items si,
                                                    po_lines_all pol,
                                                    po_distributions_all po_dist1
                                              WHERE po_dist1.po_line_id = pol.po_line_id
                                              AND   po_dist1.po_distribution_id  = dist.po_distribution_id
                                              AND   si.inventory_item_id = pol.item_id
                                              AND   po_dist1.project_id IS NOT NULL
                                              AND   si.comms_nl_trackable_flag = 'Y'
					      AND   si.organization_id = po_dist1.org_id)
                          )
                 ) --Bug#5399352. Added this here to take care of IPV/TIPV records matched to EIB item PO.
          AND   NOT EXISTS (SELECT NULL
                                     FROM ap_self_assessed_tax_dist_all apdist2
                                    WHERE apdist2.pa_addition_flag   = 'Y'
                                      AND apdist2.po_distribution_id = dist.po_distribution_id
                                      AND apdist2.line_type_lookup_code in ('ITEM','ACCRUAL','RETROACCRUAL','NONREC_TAX')
                           )
          AND  (  EXISTS (SELECT NULL
                              FROM ap_self_assessed_tax_dist_all apdist1,
                                   ap_invoices_all ap1                   /*Changes for bug 7650946 -- Start
                             WHERE apdist1.pa_addition_flag   IN ('F', 'G')
                               AND ap1.invoice_id = apdist1.invoice_id
                               AND apdist1.po_distribution_id  = dist.po_distribution_id
                                AND ap1.Invoice_Type_lookup_Code <> 'PREPAYMENT'
                               AND apdist1.Line_Type_Lookup_Code <> 'PREPAY'  /*Changes for bug 7650946 -- End
                          )
                 OR EXISTS (  SELECT rcv_txn.po_distribution_id
                                FROM rcv_transactions rcv_txn
                                   , rcv_receiving_sub_ledger rcv_sub
                               WHERE rcv_txn.po_distribution_id      = dist.po_distribution_id
                                 AND rcv_sub.pa_addition_flag || '' IN ('Y','I')
                                 AND rcv_sub.rcv_transaction_id      = rcv_txn.transaction_id
                           )
                 OR EXISTS (  SELECT  PO.po_distribution_id
                                FROM  po_distributions PO
                               WHERE  PO.po_distribution_id = dist.po_distribution_id
                                 AND  nvl(po.distribution_type,'XXX') <> 'PREPAYMENT'  -- bug 7192304, added nvl
                                 AND  PO.project_id  > 0
                                 AND  NVL(PO.destination_type_code, 'EXPENSE') = 'EXPENSE'
                                 AND  PO.accrue_on_receipt_flag= 'Y'
                           )
                )
          AND   inv.invoice_type_lookup_code <> 'EXPENSE REPORT'
          AND   nvl(INV.source, 'xx' ) NOT IN
                 ('Oracle Project Accounting','PA_IC_INVOICES','PA_COST_ADJUSTMENTS')
          AND   dist.pa_addition_flag = 'N'
          AND   dist.posted_flag = 'Y'
          AND   trunc(dist.accounting_date) <= trunc(nvl(G_GL_DATE,dist.Accounting_Date))  /* Added trunc for the bug 6623163
          AND  trunc(dist.Expenditure_Item_Date) <= trunc(NVL(G_TRANSACTION_DATE,dist.Expenditure_Item_Date)) /* Added trunc for the bug 6623163
          AND   dist.project_id > 0
          -- Process historical distributions for CAsh BAsed Accounting
          AND   (G_ACCTNG_METHOD = 'A' )
          AND   dist.po_distribution_id > 0 ); /*Removed NVL condition for bug#12922795 */
Line: 9345

         pulled from Payables. The pa_addition_flag for such invoice ITEM distribution lines is updated to G to prevent
         further processing into Projects.
         However, if there is an amount variance on such invoice, it needs to be processed as W to releive variance commitment  */

           UPDATE ap_invoice_distributions_all apdist
           SET    apdist.pa_addition_flag = DECODE(NVL(apdist.amount_variance,0),0,'G',increment_W_count('W')),
                  request_id = G_REQUEST_ID,
                  last_update_date=SYSDATE,
                  last_updated_by=G_USER_ID,
                  last_update_login= G_USER_ID,
                  program_id= G_PROG_ID,
                  program_application_id= G_PROG_APPL_ID,
                  program_update_date=SYSDATE
           WHERE  rowid in (
                           SELECT dist.rowid
                           FROM  ap_invoices inv,
                                 po_distributions po,
                                 ap_invoice_distributions_all dist
                           WHERE inv.invoice_id = dist.invoice_id
                           AND   po.po_distribution_id = dist.po_distribution_id
			   AND   dist.po_distribution_id >0  /*Added the condition for bug#12922795 */
                           AND   NVL(po.destination_type_code, 'EXPENSE') = 'EXPENSE'
                           AND   nvl(po.distribution_type,'XXX') <> 'PREPAYMENT'   -- bug 7192304, added nvl
                           AND   PA_PJC_CWK_UTILS.Is_cwk_tc_xface_allowed(nvl(dist.project_ID, 0))= 'Y'
                           AND   PA_PJC_CWK_UTILS.Is_rate_based_line(null,nvl(dist.po_distribution_id,0))= 'Y'
                           AND   dist.line_type_lookup_code in ( 'ITEM','ACCRUAL','RETROACCRUAL') --added accrual for historical data
                           AND   dist.pa_addition_flag = 'N'
                           AND   inv.invoice_type_lookup_code <> 'EXPENSE REPORT'
                           AND   nvl(INV.source, 'xx' ) NOT IN
                               ('Oracle Project Accounting','PA_IC_INVOICES','PA_COST_ADJUSTMENTS')
                           AND   dist.pa_addition_flag = 'N'
                           AND   dist.posted_flag = 'Y'
                           AND   trunc(dist.accounting_date) <= trunc(nvl(G_GL_DATE,dist.Accounting_Date)) /* Added trunc for the bug 6623163 */
                           AND   trunc(dist.Expenditure_Item_Date) <= trunc(NVL(G_TRANSACTION_DATE,dist.Expenditure_Item_Date)) /* Added trunc for the bug 6623163 */
                           AND   dist.project_id > 0
                           -- Process historical distributions for CAsh BAsed Accounting
                           AND   (G_ACCTNG_METHOD = 'A' OR (G_ACCTNG_METHOD = 'C' AND dist.historical_flag = 'Y'))
                           AND   inv.paid_on_behalf_employee_id is NULL
                           AND inv.source not  in ('CREDIT CARD','Both Pay') /* Added for bug 8977795 */);
Line: 9442

       l_invoice_id_tbl.delete;
Line: 9443

       l_invoice_dist_id_tbl.delete;
Line: 9444

       l_project_id_tbl.delete;
Line: 9445

       l_task_id_tbl.delete;
Line: 9446

       l_ln_type_lookup_tbl.delete;
Line: 9447

       l_exp_type_tbl.delete;
Line: 9448

       l_ei_date_tbl.delete;
Line: 9449

       l_amount_tbl.delete;
Line: 9450

       l_description_tbl.delete;
Line: 9451

       l_dist_cc_id_tbl.delete;
Line: 9452

       l_exp_org_id_tbl.delete;
Line: 9453

       l_quantity_tbl.delete;
Line: 9454

       l_gl_date_tbl.delete;
Line: 9455

       l_attribute_cat_tbl.delete;
Line: 9456

       l_attribute1_tbl.delete;
Line: 9457

       l_attribute2_tbl.delete;
Line: 9458

       l_attribute3_tbl.delete;
Line: 9459

       l_attribute4_tbl.delete;
Line: 9460

       l_attribute5_tbl.delete;
Line: 9461

       l_attribute6_tbl.delete;
Line: 9462

       l_attribute7_tbl.delete;
Line: 9463

       l_attribute8_tbl.delete;
Line: 9464

       l_attribute9_tbl.delete;
Line: 9465

       l_attribute10_tbl.delete;
Line: 9466

       l_denom_raw_cost_tbl.delete;
Line: 9467

       l_denom_cur_code_tbl.delete;
Line: 9468

       l_acct_rate_date_tbl.delete;
Line: 9469

       l_acct_rate_type_tbl.delete;
Line: 9470

       l_acct_exch_rate_tbl.delete;
Line: 9471

       l_job_id_tbl.delete;
Line: 9472

       l_employee_id_tbl.delete;
Line: 9473

       l_vendor_id_tbl.delete;
Line: 9474

       l_inv_type_code_tbl.delete;
Line: 9475

       l_source_tbl.delete;
Line: 9476

       l_org_id_tbl.delete;
Line: 9477

       l_invoice_num_tbl.delete;
Line: 9478

       l_cdl_sys_ref3_tbl.delete;
Line: 9479

       l_cdl_sys_ref4_tbl.delete;
Line: 9480

       l_txn_src_tbl.delete;
Line: 9481

       l_user_txn_src_tbl.delete;
Line: 9482

       l_batch_name_tbl.delete;
Line: 9483

       l_interface_id_tbl.delete;
Line: 9484

       l_exp_end_date_tbl.delete;
Line: 9485

       l_txn_status_code_tbl.delete;
Line: 9486

       l_txn_rej_code_tbl.delete;
Line: 9487

       l_bus_grp_id_tbl.delete;
Line: 9489

       l_reversal_flag_tbl.delete; --NEW
Line: 9490

       l_net_zero_flag_tbl.delete; --NEW
Line: 9491

       l_sc_xfer_code_tbl.delete; --NEW
Line: 9492

       l_cancel_flag_tbl.delete;  --NEW
Line: 9493

       l_parent_rev_id_tbl.delete; --NEW
Line: 9494

       l_adj_exp_item_id_tbl.delete; --NEW
Line: 9495

       l_fc_enabled_tbl.delete;
Line: 9496

       l_fc_document_type_tbl.delete;
Line: 9497

       l_cbs_element_id_tbl.delete; -- Added for CBS Enhancement Bug 16220146
Line: 9501

    PROCEDURE bulk_insert_trx_intf IS

      l_status2 VARCHAR2(30);
Line: 9509

       INSERT INTO pa_transaction_interface_all(
                     transaction_source
                    , user_transaction_source
                    , system_linkage
                    , batch_name
                    , expenditure_ending_date
                    , expenditure_item_date
                    , expenditure_type
                    , quantity
                    , raw_cost_rate
                    , expenditure_comment
                    , transaction_status_code
                    , transaction_rejection_code
                    , orig_transaction_reference
                    , interface_id
                    , dr_code_combination_id
                    , cr_code_combination_id
                    , cdl_system_reference1
                    , cdl_system_reference2
                    , cdl_system_reference3
                    , cdl_system_reference4
                    , cdl_system_reference5 --NEW
                    , gl_date
                    , org_id
                    , unmatched_negative_txn_flag
                    , receipt_currency_amount
                    , receipt_currency_code
                    , receipt_exchange_rate
                    , denom_raw_cost
                    , denom_currency_code
                    , acct_rate_date
                    , acct_rate_type
                    , acct_exchange_rate
                    , acct_raw_cost
                    , acct_exchange_rounding_limit
                    , attribute_category
                    , attribute1
                    , attribute2
                    , attribute3
                    , attribute4
                    , attribute5
                    , attribute6
                    , attribute7
                    , attribute8
                    , attribute9
                    , attribute10
                    , orig_exp_txn_reference1
                    , orig_user_exp_txn_reference
                    ,  orig_exp_txn_reference2
                    ,  orig_exp_txn_reference3
                    , last_update_date
                    , last_updated_by
                    , creation_date
                    , created_by
                    , person_id
                    , organization_id
                    , project_id
                    , task_id
                    , Vendor_id
                    , override_to_organization_id
                    , person_business_group_id
                    , adjusted_expenditure_item_id --NEW
                    , fc_document_type  -- NEW
                    , sc_xfer_code
                    , si_assets_addition_flag
                    , net_zero_adjustment_flag
                    , expenditure_item_id
                    , cbs_element_id -- Added for CBS Enhancement Bug 16220146
                   )
             SELECT l_txn_src_tbl(i)
                     ,l_user_txn_src_tbl(i)
                     ,G_SYSTEM_LINKAGE
                     ,l_batch_name_tbl(i)
                     ,l_exp_end_date_tbl(i)
                     ,l_ei_date_tbl(i)
                     ,l_exp_type_tbl(i)
                     ,l_quantity_tbl(i)
                     ,l_amount_tbl(i)/decode(nvl(l_quantity_tbl(i),0),0,1,l_quantity_tbl(i))
                     ,l_description_tbl(i)
                     ,l_txn_status_code_tbl(i)
                     ,l_txn_rej_code_tbl(i)
                     ,G_REQUEST_ID
                     ,l_interface_id_tbl(i)
                     ,l_dist_cc_id_tbl(i)
                     ,NULL
                     ,l_vendor_id_tbl(i)
                     ,l_invoice_id_tbl(i)
                     ,l_cdl_sys_ref3_tbl(i)
                     ,l_cdl_sys_ref4_tbl(i)
                     ,l_invoice_dist_id_tbl(i) --NEW
                     ,l_gl_date_tbl(i)
                     ,G_ORG_ID
                     ,'Y'
                     ,NULL
                     ,NULL
                     ,NULL
                     ,l_denom_raw_cost_tbl(i)
                     ,l_denom_cur_code_tbl(i)
                     ,l_acct_rate_date_tbl(i)
                     ,l_acct_rate_type_tbl(i)
                     ,l_acct_exch_rate_tbl(i)
                     ,l_amount_tbl(i)
                     ,1
                     ,l_attribute_cat_tbl(i)
                     ,l_attribute1_tbl(i)
                     ,l_attribute2_tbl(i)
                     ,l_attribute3_tbl(i)
                     ,l_attribute4_tbl(i)
                     ,l_attribute5_tbl(i)
                     ,l_attribute6_tbl(i)
                     ,l_attribute7_tbl(i)
                     ,l_attribute8_tbl(i)
                     ,l_attribute9_tbl(i)
                     ,l_attribute10_tbl(i)
                     ,l_invoice_id_tbl(i)        /*orig_exp_txn_reference1*/
                     ,l_invoice_num_tbl(i)       /*user_exp_txn_reference*/
                     ,NULL                       /*orig_exp_txn_reference2*/
                     ,NULL                       /*orig_exp_txn_reference3*/
                     ,SYSDATE
                     ,-1
                     ,SYSDATE
                     ,-1
                     ,l_employee_id_tbl(i)
                     ,l_org_id_tbl(i)
                     ,l_project_id_tbl(i)
                     ,l_task_id_tbl(i)
                     ,l_vendor_id_tbl(i)
                     ,l_exp_org_id_tbl(i)
                     ,l_bus_grp_id_tbl(i)
                     ,l_adj_exp_item_id_tbl(i) --NEW for reversals
                     ,l_fc_document_type_tbl(i) --NEW for funds checking
                     ,l_sc_xfer_code_tbl(i)
                     ,l_si_assts_add_flg_tbl(i)
                     ,l_net_zero_flag_tbl(i)
                     ,0 -- To relieve the cmt. It will not be interfaced from xface in trx imp.
                     ,l_cbs_element_id_tbl(i) -- Added for CBS Enhancement Bug 16220146
                FROM dual;
Line: 9651

                write_log(LOG, 'Inserting adjustment records..');
Line: 9655

       INSERT INTO pa_transaction_interface_all(
                     transaction_source
                    , user_transaction_source
                    , system_linkage
                    , batch_name
                    , expenditure_ending_date
                    , expenditure_item_date
                    , expenditure_type
                    , quantity
                    , raw_cost_rate
                    , expenditure_comment
                    , transaction_status_code
                    , transaction_rejection_code
                    , orig_transaction_reference
                    , interface_id
                    , dr_code_combination_id
                    , cr_code_combination_id
                    , cdl_system_reference1
                    , cdl_system_reference2
                    , cdl_system_reference3
                    , cdl_system_reference4
                    , cdl_system_reference5 --NEW
                    , gl_date
                    , org_id
                    , unmatched_negative_txn_flag
                    , receipt_currency_amount
                    , receipt_currency_code
                    , receipt_exchange_rate
                    , denom_raw_cost
                    , denom_currency_code
                    , acct_rate_date
                    , acct_rate_type
                    , acct_exchange_rate
                    , acct_raw_cost
                    , acct_exchange_rounding_limit
                    , attribute_category
                    , attribute1
                    , attribute2
                    , attribute3
                    , attribute4
                    , attribute5
                    , attribute6
                    , attribute7
                    , attribute8
                    , attribute9
                    , attribute10
                    , orig_exp_txn_reference1
                    , orig_user_exp_txn_reference
                    ,  orig_exp_txn_reference2
                    ,  orig_exp_txn_reference3
                    , last_update_date
                    , last_updated_by
                    , creation_date
                    , created_by
                    , person_id
                    , organization_id
                    , project_id
                    , task_id
                    , Vendor_id
                    , override_to_organization_id
                    , person_business_group_id
                    , adjusted_expenditure_item_id --NEW
                    , fc_document_type  -- NEW
                    , adjusted_txn_interface_id --NEW
                    , sc_xfer_code
                    , si_assets_addition_flag
                    , net_zero_adjustment_flag
                    , cbs_element_id -- Added for CBS Enhancement Bug 16220146
                   )
             SELECT l_txn_src_tbl(i)
                     ,l_user_txn_src_tbl(i)
                     ,G_SYSTEM_LINKAGE
                     ,l_batch_name_tbl(i)
                     ,l_exp_end_date_tbl(i)
                     ,l_ei_date_tbl(i)
                     ,l_exp_type_tbl(i)
                     ,-l_quantity_tbl(i)
                     ,l_amount_tbl(i)/decode(nvl(l_quantity_tbl(i),0),0,1,l_quantity_tbl(i))
                     ,l_description_tbl(i)
                     ,l_txn_status_code_tbl(i)
                     ,l_txn_rej_code_tbl(i)
                     ,G_REQUEST_ID
                     ,l_interface_id_tbl(i)
                     ,l_dist_cc_id_tbl(i)
                     ,NULL
                     ,l_vendor_id_tbl(i)
                     ,l_invoice_id_tbl(i)
                     ,l_cdl_sys_ref3_tbl(i)
                     ,l_cdl_sys_ref4_tbl(i)
                     ,l_invoice_dist_id_tbl(i) --NEW
                     ,l_gl_date_tbl(i)
                     ,G_ORG_ID
                     ,'Y'
                     ,NULL
                     ,NULL
                     ,NULL
                     ,-l_denom_raw_cost_tbl(i)
                     ,l_denom_cur_code_tbl(i)
                     ,l_acct_rate_date_tbl(i)
                     ,l_acct_rate_type_tbl(i)
                     ,l_acct_exch_rate_tbl(i)
                     ,-l_amount_tbl(i)
                     ,1
                     ,l_attribute_cat_tbl(i)
                     ,l_attribute1_tbl(i)
                     ,l_attribute2_tbl(i)
                     ,l_attribute3_tbl(i)
                     ,l_attribute4_tbl(i)
                     ,l_attribute5_tbl(i)
                     ,l_attribute6_tbl(i)
                     ,l_attribute7_tbl(i)
                     ,l_attribute8_tbl(i)
                     ,l_attribute9_tbl(i)
                     ,l_attribute10_tbl(i)
                     ,l_invoice_id_tbl(i)        /*orig_exp_txn_reference1*/
                     ,l_invoice_num_tbl(i)       /*user_exp_txn_reference*/
                     ,NULL                       /*orig_exp_txn_reference2*/
                     ,NULL                       /*orig_exp_txn_reference3*/
                     ,SYSDATE
                     ,-1
                     ,SYSDATE
                     ,-1
                     ,l_employee_id_tbl(i)
                     ,l_org_id_tbl(i)
                     ,l_project_id_tbl(i)
                     ,l_task_id_tbl(i)
                     ,l_vendor_id_tbl(i)
                     ,l_exp_org_id_tbl(i)
                     ,l_bus_grp_id_tbl(i)
                     ,l_adj_exp_item_id_tbl(i) --NEW for reversals
                     ,l_fc_document_type_tbl(i) --NEW for funds checking
                     ,(select xface.txn_interface_id
                       from   pa_transaction_interface xface
                       where  xface.interface_id = l_interface_id_tbl(i)
                       and    xface.cdl_system_reference2 = l_invoice_id_tbl(i)
                       and    xface.cdl_system_reference5 = l_invoice_dist_id_tbl(i)
		       and    NVL(xface.adjusted_expenditure_item_id,0) =0 ) -- R12 funds management Uptake
                     ,'P' -- sc_xfer_code
                     ,l_si_assts_add_flg_tbl(i)
                     ,l_net_zero_flag_tbl(i)
                     ,l_cbs_element_id_tbl(i) -- Added for CBS Enhancement Bug 16220146
                FROM dual
                WHERE l_insert_flag_tbl(i)= 'A';
Line: 9803

         write_log(LOG,'Failed during bulk insert of inv var processing');
Line: 9807

   END bulk_insert_trx_intf;
Line: 9839

				    SELECT PROJ_ELEMENT_ID, CBS_ELEMENT_ID
					INTO l_actual_task_id, l_cbs_element_id
					FROM PA_ALTERNATE_TASKS
					WHERE alt_task_id = l_task_id_tbl(i);
Line: 9866

               /* Update the previous invoice id and vendor id*/
               v_prev_invoice_id := l_invoice_id_tbl(i);
Line: 9877

                SELECT pa_utils.getweekending(MAX(expenditure_item_date))
                  INTO G_EXPENDITURE_ENDING_DATE
                  FROM ap_invoice_distributions
                 WHERE invoice_id = l_invoice_id_tbl(i);
Line: 9892

			       SELECT emp.business_group_id
                                 INTO G_PER_BUS_GRP_ID
				 FROM per_all_people_f emp
				WHERE emp.person_id = l_employee_id_tbl(i)
				  AND l_ei_date_tbl(i) between trunc(emp.effective_start_date) and
							       trunc(emp.effective_end_date);
Line: 9908

			    select org2.business_group_id
                            into G_PER_BUS_GRP_ID
			      from hr_organization_units org1,
				   hr_organization_units org2
			     Where org1.organization_id = l_exp_org_id_tbl(i)
			       and org1.business_group_id = org2.organization_id;
Line: 9973

                SELECT nvl(historical_flag,'N') --check if this flag can be used
                INTO   l_historical_flag
                FROM   ap_invoice_distributions_all
                WHERE  invoice_id = l_invoice_id_tbl(i)
                AND    invoice_distribution_id = l_parent_rev_id_tbl(i); --check the index on this table
Line: 9997

                         IF l_insert_flag_tbl(i) in ('A','U') THEN
                          l_create_adj_recs := 'Y';
Line: 10041

       SELECT pa_interface_id_s.nextval
         INTO G_AP_VAR_INTERFACE_ID
         FROM dual;
Line: 10102

            ,l_insert_flag_tbl
            LIMIT v_max_size;
Line: 10117

            G_err_stage := 'calling bulk_insert_trx_intf within transfer_inv_var_to_pa';
Line: 10120

            bulk_insert_trx_intf;
Line: 10207

      SELECT cdl_system_reference1
            ,cdl_system_reference2
            ,cdl_system_reference5
            ,transaction_source
            ,batch_name
            ,interface_id
            ,transaction_status_code
            ,project_id
            ,l_pa_addflag
            ,l_assets_addflag
	    ,expenditure_item_id /* Bug 8709614  */
        FROM pa_transaction_interface_all txnintf
       WHERE txnintf.transaction_source = p_txn_src
         AND txnintf.batch_name         = p_batch_name
         AND txnintf.interface_id       = p_interface_id;
Line: 10232

      l_sys_ref1_tbl.delete;
Line: 10233

      l_sys_ref2_tbl.delete;
Line: 10234

      l_sys_ref5_tbl.delete;
Line: 10235

      l_txn_src_tbl.delete;
Line: 10236

      l_batch_name_tbl.delete;
Line: 10237

      l_interface_id_tbl.delete;
Line: 10238

      l_txn_status_code_tbl.delete;
Line: 10239

      l_project_id_tbl.delete;
Line: 10240

      l_pa_addflag_tbl.delete;
Line: 10241

      l_assets_addflag_tbl.delete;
Line: 10242

      l_exp_item_id_tbl.delete; /* Bug 8709614  */
Line: 10258

            update pa_addition_flag of invoice distribution to 'F'.
            If transaction import leaves the record to be 'P' then
            update pa_addition_flag of invoice distribution to 'N'.
            If transaction import stamps the record to be 'R' then
            update pa_addition_flag of invoice distribution to 'N'.*/

         write_log(LOG,'Tying invoice_id: '||l_sys_ref2_tbl(i)||
                       -- 'dist num:  '||l_sys_ref3_tbl(i)||
                       -- 'sys ref 4: '||l_sys_ref4_tbl(i)||
                       'trc src:   '||l_txn_src_tbl(i));
Line: 10290

               G_err_stage:='Selecting assets addition flag within invoice variance tieback';
Line: 10293

               SELECT decode(PTYPE.Project_Type_Class_Code,'CAPITAL','P','X')
                 INTO l_assets_addflag_tbl(i)
                 FROM pa_project_types_all PTYPE,
                      pa_projects_all PROJ
                WHERE PTYPE.Project_Type = PROJ.Project_Type
                  AND (PTYPE.org_id = PROJ.org_id OR
                       PROJ.org_id is null)
                  AND PROJ.Project_Id = l_project_id_tbl(i);
Line: 10322

   PROCEDURE bulk_update_txn_intf IS

      v_status VARCHAR2(15);
Line: 10328

      G_err_stage:=('Within bulk update of invoice variance  tieback');
Line: 10333

         UPDATE ap_invoice_distributions_all dist
            SET dist.pa_addition_flag         = l_pa_addflag_tbl(i)
               ,dist.assets_addition_flag     = decode(l_assets_addflag_tbl(i),'P','P',dist.assets_addition_flag)
          WHERE dist.invoice_id               = l_sys_ref2_tbl(i)
            AND dist.invoice_distribution_id  = l_sys_ref5_tbl(i)
            AND dist.pa_addition_flag         = 'W';
Line: 10342

         G_err_stage:= 'Failed during bulk update of invoice variance tieback';
Line: 10347

   END bulk_update_txn_intf;
Line: 10384

         bulk_update_txn_intf;
Line: 10412

   l_num_dists_updated	NUMBER;
Line: 10438

            UPDATE ap_payment_hist_dists dist
                SET dist.pa_addition_flag = 'Z',
                    request_id = G_REQUEST_ID,
                    last_update_date=SYSDATE,
                    last_updated_by= G_USER_ID,
                    last_update_login= G_USER_ID,
                    program_id= G_PROG_ID,
                    program_application_id= G_PROG_APPL_ID,
                    program_update_date=SYSDATE
            WHERE dist.pa_addition_flag = 'N' /*Removed NVL statement for bug#14073110 */
               AND EXISTS (SELECT NULL
                           FROM   ap_payment_history_all hist
                           WHERE  hist.payment_history_id = dist.payment_history_id
                           AND    hist.posted_flag = 'Y')
               AND EXISTS (SELECT invoice_id
                             FROM AP_invoice_distributions aid
                            WHERE aid.invoice_distribution_id  = dist.invoice_distribution_id
                              AND aid.project_id = G_PROJECT_ID
                              AND ( nvl(aid.encumbered_flag,'N') = 'R' )
			    ) ;
Line: 10472

            UPDATE ap_payment_hist_dists dist
                SET dist.pa_addition_flag = 'Z',
                    request_id = G_REQUEST_ID,
                    last_update_date=SYSDATE,
                    last_updated_by= G_USER_ID,
                    last_update_login= G_USER_ID,
                    program_id= G_PROG_ID,
                    program_application_id= G_PROG_APPL_ID,
                    program_update_date=SYSDATE
            WHERE dist.pa_addition_flag = 'N' /*Removed NVL statement for bug#14073110 */
               AND EXISTS (SELECT NULL
                           FROM   ap_payment_history_all hist
                           WHERE  hist.payment_history_id = dist.payment_history_id
                           AND    hist.posted_flag = 'Y')
               AND EXISTS (SELECT aid.invoice_id
                             FROM AP_invoice_distributions aid
                            WHERE aid.invoice_distribution_id  = dist.invoice_distribution_id
                              AND aid.project_id > 0
                              AND  nvl(aid.encumbered_flag,'N') = 'R'
			     ) ;
Line: 10512

            UPDATE ap_payment_hist_dists dist
                SET dist.pa_addition_flag = 'Z',
                    request_id = G_REQUEST_ID,
                    last_update_date=SYSDATE,
                    last_updated_by= G_USER_ID,
                    last_update_login= G_USER_ID,
                    program_id= G_PROG_ID,
                    program_application_id= G_PROG_APPL_ID,
                    program_update_date=SYSDATE
            WHERE dist.pa_addition_flag = 'N' /*Removed NVL statement for bug#14073110 */
               AND EXISTS (SELECT NULL
                           FROM   ap_payment_history_all hist
                           WHERE  hist.payment_history_id = dist.payment_history_id
                           AND    hist.posted_flag = 'Y')
               AND EXISTS (SELECT aid.invoice_id
                             FROM AP_invoice_distributions aid
                            WHERE aid.invoice_distribution_id  = dist.invoice_distribution_id
                              AND aid.project_id = G_PROJECT_ID
                              AND ( nvl(aid.encumbered_flag,'N') = 'R' )
			     ) ;
Line: 10545

            UPDATE ap_payment_hist_dists dist
                SET dist.pa_addition_flag = 'Z',
                    request_id = G_REQUEST_ID,
                    last_update_date=SYSDATE,
                    last_updated_by= G_USER_ID,
                    last_update_login= G_USER_ID,
                    program_id= G_PROG_ID,
                    program_application_id= G_PROG_APPL_ID,
                    program_update_date=SYSDATE
            WHERE dist.pa_addition_flag = 'N' /*Removed NVL statement for bug#14073110 */
               AND EXISTS (SELECT NULL
                           FROM   ap_payment_history_all hist
                           WHERE  hist.payment_history_id = dist.payment_history_id
                           AND    hist.posted_flag = 'Y')
               AND EXISTS (SELECT aid.invoice_id
                             FROM AP_invoice_distributions aid
                            WHERE aid.invoice_distribution_id  = dist.invoice_distribution_id
                              AND aid.project_id > 0
                              AND ( nvl(aid.encumbered_flag,'N') = 'R' )
			    ) ;
Line: 10615

            UPDATE ap_payment_hist_dists dist
                SET dist.pa_addition_flag = 'O',
                    request_id = G_REQUEST_ID,
                    last_update_date=SYSDATE,
                    last_updated_by= G_USER_ID,
                    last_update_login= G_USER_ID,
                    program_id= G_PROG_ID,
                    program_application_id= G_PROG_APPL_ID,
                    program_update_date=SYSDATE
            WHERE dist.pa_addition_flag = 'N' /*Removed NVL statement for bug#14073110 */
            AND   dist.pay_dist_lookup_code = 'CASH'
            AND EXISTS (SELECT NULL
                        FROM   ap_payment_history_all hist
                        WHERE  hist.payment_history_id = dist.payment_history_id
                        AND    hist.posted_flag = 'Y')
            AND   exists (SELECT inv.invoice_id
                           FROM AP_INVOICES inv,
                                PO_VENDORS vend,
                                AP_Invoice_Distributions_all aid,
                                ap_invoice_payments_all aip
                          WHERE inv.invoice_id = aid.invoice_id
                            AND inv.vendor_id = vend.vendor_id
                            AND aip.invoice_payment_id = dist.invoice_payment_id
                            AND aid.invoice_distribution_id = dist.invoice_distribution_id
                            AND aid.pa_addition_flag  = 'N'                      --to avoid any historical data to be processed as Payments
                            AND nvl(aid.historical_flag,'N') = 'N'
                            AND aid.invoice_id = aip.invoice_id
                            AND aid.project_id = G_PROJECT_ID
                            AND trunc(aip.Accounting_Date) <= trunc(nvl(G_GL_DATE,aip.Accounting_Date))
                            AND trunc(aid.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,aid.expenditure_item_date)) /*GSCC*/
                            AND ((inv.invoice_type_lookup_code = G_INVOICE_TYPE
                                  AND inv.source IN (G_INVOICE_SOURCE1, G_INVOICE_SOURCE2,
                                      G_INVOICE_SOURCE3)
                                  AND (vend.employee_id IS NOT NULL or nvl(inv.paid_on_behalf_employee_id,0) > 0))
                                 OR
                                (inv.invoice_type_lookup_code   in ('STANDARD','CREDIT','MIXED') /*Bug# 3373933*/ /*Bug 4099522*/
                                 AND inv.source  in ('CREDIT CARD','Both Pay')
                                 AND nvl(inv.PAID_ON_BEHALF_EMPLOYEE_ID,0) > 0)));
Line: 10659

            UPDATE ap_prepay_app_dists dist
            SET    dist.pa_addition_flag = 'O',
                   request_id = G_REQUEST_ID,
                   last_update_date=SYSDATE,
                   last_updated_by= G_USER_ID,
                   last_update_login= G_USER_ID,
                   program_id= G_PROG_ID,
                   program_application_id= G_PROG_APPL_ID,
                   program_update_date=SYSDATE
            WHERE nvl(dist.pa_addition_flag,'N') = 'N'
            AND   dist.amount <>0
            AND   exists(SELECT /*+ no_unnest */ inv.invoice_id
                           FROM AP_INVOICES_ALL inv,
                                PO_VENDORS vend,
                                PO_Distributions_all PO,
                                AP_Invoice_Distributions_all aid, --STD INV DIST LINE
                                AP_Invoice_Distributions_all aid2 -- PREPAY APPL DIST LINE
                          WHERE aid.invoice_id = inv.invoice_id
                            AND inv.vendor_id = vend.vendor_id
                            AND inv.org_id = G_ORG_ID
                            AND aid.invoice_distribution_id = dist.invoice_distribution_id  -- Std inv line
                            AND aid2.invoice_id = aid.invoice_id
                            AND aid2.invoice_distribution_id =  dist.prepay_app_distribution_id --Prepay appl line
                            --AND aid2.line_type_lookup_code in ( 'PREPAY', 'NONREC_TAX') -- bug#5514129
                            AND aid.line_type_lookup_code  <> 'REC_TAX' -- bug#5514129
                            and aid2.prepay_distribution_id is not null
                            AND aid2.pa_addition_flag  in ( 'N','E')         --to avoid any historical data to be processed as Payments
                             -- pa-addition-flag E to pull in rec tax across which prepay appl is prorated
                            AND aid2.posted_flag = 'Y'
                            AND aid.project_id = G_PROJECT_ID
                            AND trunc(aid2.Accounting_Date) <= trunc(nvl(G_GL_DATE,aid2.Accounting_Date))
                            AND trunc(aid.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,aid.expenditure_item_date))
                            AND ((inv.invoice_type_lookup_code = G_INVOICE_TYPE
                                  AND inv.source IN (G_INVOICE_SOURCE1, G_INVOICE_SOURCE2, G_INVOICE_SOURCE3)
                                  AND (vend.employee_id IS NOT NULL or nvl(inv.paid_on_behalf_employee_id,0) > 0))
                                 OR
                                (inv.invoice_type_lookup_code   in ('STANDARD','CREDIT','MIXED') /*Bug# 3373933*/ /*Bug 4099522*/
                                 AND inv.source in ('CREDIT CARD','Both Pay')
                                 AND nvl(inv.PAID_ON_BEHALF_EMPLOYEE_ID,0) > 0)));
Line: 10705

            UPDATE ap_payment_hist_dists dist
                SET dist.pa_addition_flag = 'O',
                    request_id = G_REQUEST_ID,
                    last_update_date=SYSDATE,
                    last_updated_by= G_USER_ID,
                    last_update_login= G_USER_ID,
                    program_id= G_PROG_ID,
                    program_application_id= G_PROG_APPL_ID,
                    program_update_date=SYSDATE
            WHERE dist.pa_addition_flag = 'N' /*Removed NVL statement for bug#14073110 */
            AND   dist.pay_dist_lookup_code = 'CASH'
            AND EXISTS (SELECT NULL
                        FROM   ap_payment_history_all hist
                        WHERE  hist.payment_history_id = dist.payment_history_id
                        AND    hist.posted_flag = 'Y')
            AND  exists (SELECT inv.invoice_id
                           FROM AP_INVOICES_ALL inv,
                                PO_VENDORS vend,
                                AP_Invoice_Distributions_all aid,
                                ap_invoice_payments_all aip
                          WHERE inv.vendor_id = vend.vendor_id
                            AND aid.invoice_id = inv.invoice_id
                            AND inv.org_id = G_ORG_ID
                            AND aip.invoice_payment_id = dist.invoice_payment_id
                            AND aid.invoice_distribution_id = dist.invoice_distribution_id
                            AND aid.invoice_id = aip.invoice_id
                            AND aid.project_id > 0
                            AND aid.pa_addition_flag  = 'N'                      --to avoid any historical data to be processed as Payments
                            AND nvl(aid.historical_flag,'N') = 'N'
                            AND trunc(aip.Accounting_Date) <= trunc(nvl(G_GL_DATE,aip.Accounting_Date))
                            AND trunc(aid.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,aid.expenditure_item_date)) /*GSCC*/
                            AND ((inv.invoice_type_lookup_code = G_INVOICE_TYPE
                                  AND inv.source IN (G_INVOICE_SOURCE1, G_INVOICE_SOURCE2,
                                      G_INVOICE_SOURCE3)
                                  AND (vend.employee_id IS NOT NULL or nvl(inv.paid_on_behalf_employee_id,0) > 0))
                                 OR
                                (inv.invoice_type_lookup_code   in ('STANDARD','CREDIT','MIXED') /*Bug# 3373933*/ /*Bug 4099522*/
                                 AND inv.source  in ('CREDIT CARD','Both Pay')
                                 AND nvl(inv.PAID_ON_BEHALF_EMPLOYEE_ID,0) > 0)));
Line: 10750

            UPDATE ap_prepay_app_dists dist
            SET    dist.pa_addition_flag = 'O',
                   request_id = G_REQUEST_ID,
                   last_update_date=SYSDATE,
                   last_updated_by= G_USER_ID,
                   last_update_login= G_USER_ID,
                   program_id= G_PROG_ID,
                   program_application_id= G_PROG_APPL_ID,
                   program_update_date=SYSDATE
            WHERE nvl(dist.pa_addition_flag,'N') = 'N'
            AND   dist.amount <>0
            AND   exists(SELECT /*+ no_unnest */ inv.invoice_id
                           FROM AP_INVOICES_ALL inv,
                                PO_VENDORS vend,
                                PO_Distributions_all PO,
                                AP_Invoice_Distributions_all aid, --STD INV DIST LINE
                                AP_Invoice_Distributions_all aid2 -- PREPAY APPL DIST LINE
                          WHERE aid.invoice_id = inv.invoice_id
                            AND inv.vendor_id = vend.vendor_id
                            AND inv.org_id = G_ORG_ID
                            AND aid.invoice_distribution_id = dist.invoice_distribution_id  -- Std inv line
                            AND aid2.invoice_id = aid.invoice_id
                            AND aid2.invoice_distribution_id =  dist.prepay_app_distribution_id --Prepay appl line
                            --AND aid2.line_type_lookup_code in ( 'PREPAY', 'NONREC_TAX') -- bug#5514129
                            AND aid.line_type_lookup_code  <> 'REC_TAX' -- bug#5514129
                            AND aid2.pa_addition_flag  in ( 'N','E')         --to avoid any historical data to be processed as Payments
                             -- pa-addition-flag E to pull in rec tax across which prepay appl is prorated
                            and aid2.prepay_distribution_id is not null
                            AND aid2.posted_flag = 'Y'
                            AND aid.project_id > 0
                            AND trunc(aid2.Accounting_Date) <= trunc(nvl(G_GL_DATE,aid2.Accounting_Date))
                            AND trunc(aid.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,aid.expenditure_item_date))
                            AND ((inv.invoice_type_lookup_code = G_INVOICE_TYPE
                                  AND inv.source IN (G_INVOICE_SOURCE1, G_INVOICE_SOURCE2, G_INVOICE_SOURCE3)
                                  AND (vend.employee_id IS NOT NULL or nvl(inv.paid_on_behalf_employee_id,0) > 0))
                                 OR
                                (inv.invoice_type_lookup_code   in ('STANDARD','CREDIT','MIXED') /*Bug# 3373933*/ /*Bug 4099522*/
                                 AND inv.source  in ('CREDIT CARD','Both Pay')
                                 AND nvl(inv.PAID_ON_BEHALF_EMPLOYEE_ID,0) > 0)));
Line: 10810

            UPDATE ap_payment_hist_dists dist
            SET    dist.pa_addition_flag = 'O',
                   request_id = G_REQUEST_ID,
                   last_update_date=SYSDATE,
                   last_updated_by= G_USER_ID,
                   last_update_login= G_USER_ID,
                   program_id= G_PROG_ID,
                   program_application_id= G_PROG_APPL_ID,
                   program_update_date=SYSDATE
            WHERE dist.pa_addition_flag = 'N' /*Removed NVL statement for bug#14073110 */
            AND   dist.pay_dist_lookup_code = 'CASH'
            AND EXISTS (SELECT NULL
                        FROM   ap_payment_history_all hist
                        WHERE  hist.payment_history_id = dist.payment_history_id
                        AND    hist.posted_flag = 'Y')
            AND   exists(SELECT /*+ no_unnest */ inv.invoice_id
                           FROM AP_INVOICES_ALL inv,
                                PO_Distributions_all PO,
                                AP_Invoice_Distributions_all aid,
                                ap_invoice_payments_all aip
                          WHERE inv.invoice_id = aip.invoice_id
                            AND aid.invoice_id = inv.invoice_id
                            AND inv.org_id = G_ORG_ID
                            AND aip.invoice_payment_id = dist.invoice_payment_id
                            AND aid.invoice_distribution_id = dist.invoice_distribution_id
                            AND aid.line_type_lookup_code <> 'TERV'             -- Bug#5441030 to avoid zero dollar lines for TERV
                            AND aid.invoice_id = aip.invoice_id
                            AND aid.pa_addition_flag  = 'N'                      --to avoid any historical data to be processed as Payments
                            AND nvl(aid.historical_flag,'N') = 'N'
                            AND aid.po_distribution_id = PO.po_distribution_id (+)
                            AND nvl(po.distribution_type,'XXX') <> 'PREPAYMENT'
                            AND inv.paid_on_behalf_employee_id IS NULL
                            AND NVL(PO.destination_type_code, 'EXPENSE') = 'EXPENSE'
                            AND inv.invoice_type_lookup_code <> 'EXPENSE REPORT'
                            AND  nvl(INV.source, 'xx' ) NOT IN ('Oracle Project Accounting', 'PA_IC_INVOICES')
                            AND aid.project_id = G_PROJECT_ID
                            AND aid.line_type_lookup_code <> 'REC_TAX'
                            AND (((
                               PA_PJC_CWK_UTILS.Is_cwk_tc_xface_allowed(nvl(aid.project_ID, 0))= 'N'
                               OR
                               PA_PJC_CWK_UTILS.Is_rate_based_line(null,nvl(aid.po_distribution_id,0))= 'N' )
                            AND aid.line_type_lookup_code IN ('ITEM','ACCRUAL','RETROACCRUAL')) OR
                            (aid.line_type_lookup_code NOT IN ('ITEM','ACCRUAL','RETROACCRUAL')))
                            AND trunc(aip.Accounting_Date) <= trunc(nvl(G_GL_DATE,aip.Accounting_Date))
                            AND trunc(aid.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,aid.expenditure_item_date)));
Line: 10861

            UPDATE ap_prepay_app_dists dist
            SET    dist.pa_addition_flag = 'O',
                   request_id = G_REQUEST_ID,
                   last_update_date=SYSDATE,
                   last_updated_by= G_USER_ID,
                   last_update_login= G_USER_ID,
                   program_id= G_PROG_ID,
                   program_application_id= G_PROG_APPL_ID,
                   program_update_date=SYSDATE
            WHERE nvl(dist.pa_addition_flag,'N') = 'N'
            AND   dist.amount <> 0
            AND   exists(SELECT /*+ no_unnest */ inv.invoice_id
                           FROM AP_INVOICES_ALL inv,
                                PO_Distributions_all PO,
                                AP_Invoice_Distributions_all aid, --STD INV DIST LINE
                                AP_Invoice_Distributions_all aid2 -- PREPAY APPL DIST LINE
                          WHERE aid.invoice_id = inv.invoice_id
                            AND aid.invoice_distribution_id = dist.invoice_distribution_id  -- Std inv line
                            AND inv.org_id = G_ORG_ID
                            AND aid2.invoice_id = aid.invoice_id
                            AND aid2.invoice_distribution_id =  dist.prepay_app_distribution_id --Prepay appl line
                            --AND aid2.line_type_lookup_code in ( 'PREPAY', 'NONREC_TAX') -- bug#5514129
                            AND aid.line_type_lookup_code  <> 'REC_TAX' -- bug#5514129
                            AND aid2.pa_addition_flag  in ( 'N','E')         --to avoid any historical data to be processed as Payments
                             -- pa-addition-flag E to pull in rec tax across which prepay appl is prorated
                            and aid2.prepay_distribution_id is not null
                            AND aid2.posted_flag = 'Y'
                            AND aid.po_distribution_id = PO.po_distribution_id (+)
                            AND nvl(po.distribution_type,'XXX') <> 'PREPAYMENT'
                            AND inv.paid_on_behalf_employee_id IS NULL
                            AND NVL(PO.destination_type_code, 'EXPENSE') = 'EXPENSE'
                            AND inv.invoice_type_lookup_code <> 'EXPENSE REPORT'
                            AND  nvl(INV.source, 'xx' ) NOT IN ('Oracle Project Accounting', 'PA_IC_INVOICES')
                            AND aid.project_id = G_PROJECT_ID
                            AND (((
                               PA_PJC_CWK_UTILS.Is_cwk_tc_xface_allowed(nvl(aid.project_ID, 0))= 'N'
                               OR
                               PA_PJC_CWK_UTILS.Is_rate_based_line(null,nvl(aid.po_distribution_id,0))= 'N' )
                            AND aid.line_type_lookup_code IN ('ITEM','ACCRUAL','RETROACCRUAL')) OR
                            (aid.line_type_lookup_code NOT IN ('ITEM','ACCRUAL','RETROACCRUAL')))
                            AND trunc(aid2.Accounting_Date) <= trunc(nvl(G_GL_DATE,aid2.Accounting_Date))
                            AND trunc(aid.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,aid.expenditure_item_date)));
Line: 10912

            UPDATE ap_payment_hist_dists dist
            SET    dist.pa_addition_flag = 'O',
                   request_id = G_REQUEST_ID,
                   last_update_date=SYSDATE,
                   last_updated_by= G_USER_ID,
                   last_update_login= G_USER_ID,
                   program_id= G_PROG_ID,
                   program_application_id= G_PROG_APPL_ID,
                   program_update_date=SYSDATE
            WHERE  dist.pa_addition_flag = 'N' /*Removed NVL statement for bug#14073110 */
            AND    dist.pay_dist_lookup_code = 'CASH'
            AND EXISTS (SELECT NULL
                        FROM   ap_payment_history_all hist
                        WHERE  hist.payment_history_id = dist.payment_history_id
                        AND    hist.posted_flag = 'Y')
            AND    exists(SELECT /*+ no_unnest */ inv.invoice_id
                           FROM AP_INVOICES_ALL inv,
                                PO_Distributions_all PO,
                                AP_Invoice_Distributions_all aid,
                                ap_invoice_payments_all aip
                          WHERE inv.invoice_id = aip.invoice_id
                            AND aid.invoice_id = inv.invoice_id
                            AND inv.org_id = G_ORG_ID
                            AND aip.invoice_payment_id = dist.invoice_payment_id
                            AND aid.invoice_distribution_id = dist.invoice_distribution_id
                            AND aid.line_type_lookup_code <> 'TERV'             -- Bug#5441030 to avoid zero dollar lines for TERV
                            AND aid.invoice_id = aip.invoice_id
                            AND aid.pa_addition_flag  = 'N'                      --to avoid any historical data to be processed as Payments
                            AND nvl(aid.historical_flag,'N') = 'N'
                            AND aid.po_distribution_id = PO.po_distribution_id (+)
                            AND   nvl(po.distribution_type,'XXX') <> 'PREPAYMENT'
                            AND inv.paid_on_behalf_employee_id IS NULL
                            AND NVL(PO.destination_type_code, 'EXPENSE') = 'EXPENSE'
                            AND inv.invoice_type_lookup_code <> 'EXPENSE REPORT'
                            AND  nvl(INV.source, 'xx' ) NOT IN ('Oracle Project Accounting', 'PA_IC_INVOICES')
                            AND aid.project_id > 0
                            AND aid.line_type_lookup_code <> 'REC_TAX'
                            AND (((
                               PA_PJC_CWK_UTILS.Is_cwk_tc_xface_allowed(nvl(aid.project_ID, 0))= 'N'
                               OR
                               PA_PJC_CWK_UTILS.Is_rate_based_line(null,nvl(aid.po_distribution_id,0))= 'N' )
                            AND aid.line_type_lookup_code IN ('ITEM','ACCRUAL','RETROACCRUAL')) OR
                            (aid.line_type_lookup_code NOT IN ('ITEM','ACCRUAL','RETROACCRUAL')))
                            AND trunc(aip.Accounting_Date) <= trunc(nvl(G_GL_DATE,aip.Accounting_Date))
                            AND trunc(aid.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,aid.expenditure_item_date)));
Line: 10963

            UPDATE ap_prepay_app_dists dist
            SET    dist.pa_addition_flag = 'O',
                   request_id = G_REQUEST_ID,
                   last_update_date=SYSDATE,
                   last_updated_by= G_USER_ID,
                   last_update_login= G_USER_ID,
                   program_id= G_PROG_ID,
                   program_application_id= G_PROG_APPL_ID,
                   program_update_date=SYSDATE
            WHERE nvl(dist.pa_addition_flag,'N') = 'N'
            AND   dist.amount <> 0
            AND   exists(SELECT /*+ no_unnest */ inv.invoice_id
                           FROM AP_INVOICES_ALL inv,
                                PO_Distributions_all PO,
                                AP_Invoice_Distributions_all aid, --STD INV DIST LINE
                                AP_Invoice_Distributions_all aid2 -- PREPAY APPL DIST LINE
                          WHERE aid.invoice_id = inv.invoice_id
                            AND inv.org_id = G_ORG_ID
                            AND aid.invoice_distribution_id = dist.invoice_distribution_id  -- Std inv line
                            AND aid2.invoice_id = aid.invoice_id
                            AND aid2.invoice_distribution_id =  dist.prepay_app_distribution_id --Prepay appl line
                            --AND aid2.line_type_lookup_code in ( 'PREPAY', 'NONREC_TAX') -- bug#5514129
                            AND aid.line_type_lookup_code  <> 'REC_TAX' -- bug#5514129
                            AND aid2.pa_addition_flag  in ( 'N','E')         --to avoid any historical data to be processed as Payments
                             -- pa-addition-flag E to pull in rec tax across which prepay appl is prorated
                            and aid2.prepay_distribution_id is not null
                            AND aid2.posted_flag = 'Y'
                            AND aid.po_distribution_id = PO.po_distribution_id (+)
                            AND nvl(po.distribution_type,'XXX') <> 'PREPAYMENT'
                            AND inv.paid_on_behalf_employee_id IS NULL
                            AND NVL(PO.destination_type_code, 'EXPENSE') = 'EXPENSE'
                            AND inv.invoice_type_lookup_code <> 'EXPENSE REPORT'
                            AND  nvl(INV.source, 'xx' ) NOT IN ('Oracle Project Accounting', 'PA_IC_INVOICES')
                            AND aid.project_id> 0
                            AND (((
                               PA_PJC_CWK_UTILS.Is_cwk_tc_xface_allowed(nvl(aid.project_ID, 0))= 'N'
                               OR
                               PA_PJC_CWK_UTILS.Is_rate_based_line(null,nvl(aid.po_distribution_id,0))= 'N' )
                            AND aid.line_type_lookup_code IN ('ITEM','ACCRUAL','RETROACCRUAL')) OR
                            (aid.line_type_lookup_code NOT IN ('ITEM','ACCRUAL','RETROACCRUAL')))
                            AND trunc(aid2.Accounting_Date) <= trunc(nvl(G_GL_DATE,aid2.Accounting_Date))
                            AND trunc(aid.expenditure_item_date) <= trunc(nvl(G_TRANSACTION_DATE,aid.expenditure_item_date)));
Line: 11096

       l_invoice_id_tbl.delete;
Line: 11097

       l_created_by_tbl.delete;
Line: 11098

       l_invoice_dist_id_tbl.delete; --NEW
Line: 11099

       l_project_id_tbl.delete;
Line: 11100

       l_task_id_tbl.delete;
Line: 11101

       l_ln_type_lookup_tbl.delete;
Line: 11102

       l_exp_type_tbl.delete;
Line: 11103

       l_ei_date_tbl.delete;
Line: 11104

       l_amount_tbl.delete;
Line: 11105

       l_description_tbl.delete;
Line: 11106

       l_justification_tbl.delete;
Line: 11107

       l_dist_cc_id_tbl.delete;
Line: 11108

       l_exp_org_id_tbl.delete;
Line: 11109

       l_quantity_tbl.delete;
Line: 11110

       l_acct_pay_cc_id_tbl.delete;
Line: 11111

       l_gl_date_tbl.delete;
Line: 11112

       l_attribute_cat_tbl.delete;
Line: 11113

       l_attribute1_tbl.delete;
Line: 11114

       l_attribute2_tbl.delete;
Line: 11115

       l_attribute3_tbl.delete;
Line: 11116

       l_attribute4_tbl.delete;
Line: 11117

       l_attribute5_tbl.delete;
Line: 11118

       l_attribute6_tbl.delete;
Line: 11119

       l_attribute7_tbl.delete;
Line: 11120

       l_attribute8_tbl.delete;
Line: 11121

       l_attribute9_tbl.delete;
Line: 11122

       l_attribute10_tbl.delete;
Line: 11123

       l_rec_cur_amt_tbl.delete;
Line: 11124

       l_rec_cur_code_tbl.delete;
Line: 11125

       l_rec_conv_rate_tbl.delete;
Line: 11126

       l_denom_raw_cost_tbl.delete;
Line: 11127

       l_denom_cur_code_tbl.delete;
Line: 11128

       l_acct_rate_date_tbl.delete;
Line: 11129

       l_acct_rate_type_tbl.delete;
Line: 11130

       l_acct_exch_rate_tbl.delete;
Line: 11131

       l_job_id_tbl.delete;
Line: 11132

       l_employee_id_tbl.delete;
Line: 11133

       l_vendor_id_tbl.delete;
Line: 11134

       l_inv_type_code_tbl.delete;
Line: 11135

       l_source_tbl.delete;
Line: 11136

       l_org_id_tbl.delete;
Line: 11137

       l_invoice_num_tbl.delete;
Line: 11138

       l_cdl_sys_ref3_tbl.delete;
Line: 11139

       l_cdl_sys_ref4_tbl.delete;
Line: 11140

       l_po_dist_id_tbl.delete;
Line: 11141

       l_txn_src_tbl.delete;
Line: 11142

       l_user_txn_src_tbl.delete;
Line: 11143

       l_batch_name_tbl.delete;
Line: 11144

       l_interface_id_tbl.delete;
Line: 11145

       l_exp_end_date_tbl.delete;
Line: 11146

       l_txn_status_code_tbl.delete;
Line: 11147

       l_txn_rej_code_tbl.delete;
Line: 11148

       l_po_dist_id_tbl.delete;
Line: 11149

       l_bus_grp_id_tbl.delete;
Line: 11150

       l_paid_emp_id_tbl.delete;
Line: 11151

       l_sort_var_tbl.delete;
Line: 11152

       l_reversal_flag_tbl.delete;
Line: 11153

       l_cancel_flag_tbl.delete;
Line: 11154

       l_parent_rev_id_tbl.delete;
Line: 11155

       l_net_zero_flag_tbl.delete;
Line: 11156

       l_sc_xfer_code_tbl.delete;
Line: 11157

       l_adj_exp_item_id_tbl.delete;
Line: 11158

       l_fc_enabled_tbl.delete;
Line: 11159

       l_fc_document_type_tbl.delete;
Line: 11160

       l_rev_parent_dist_id_tbl.delete;
Line: 11161

       l_rev_child_dist_id_tbl.delete;
Line: 11162

       l_rev_parent_dist_ind_tbl.delete;
Line: 11163

       l_si_assts_add_flg_tbl.delete;
Line: 11164

       l_pay_hist_id_tbl.delete;
Line: 11165

       l_prepay_dist_id_tbl.delete;
Line: 11166

       l_cbs_element_id_tbl.delete; -- Added for CBS Enhancement Bug 16220146
Line: 11171

   /* the following sub-procedure is declared here to save lines of code since bulk insert
      will be done multiple times within the procedure transfer_pay_to_pa */

    PROCEDURE bulk_update_trx_intf IS

     BEGIN

       /* The records with INSERT_FLAG = F indicate that they are fully applied prepayments and the pa-addition-flag
          for such records will be updated to G to relieve commitments*/
       /* The records with INSERT_FLAG = P indicate that they are partially applied prepayments and the pa-addition-flag
          for such records will be updated to N */

       write_log(LOG,'Before bulk update  of prepayment payments');
Line: 11187

         UPDATE ap_payment_hist_dists dist
            SET dist.pa_addition_flag         = decode(l_insert_flag_tbl(i),'F','G','P','N')
          WHERE dist.invoice_payment_id       = l_inv_pay_id_tbl(i)
            AND dist.pay_dist_lookup_code     = 'CASH'
            AND dist.invoice_distribution_id  = l_invoice_dist_id_tbl(i)
            AND dist.pa_addition_flag         = 'O'
            AND l_insert_flag_tbl(i)         in ('P','F');
Line: 11197

          write_log(LOG,'Failed during bulk update for prepayment processing');
Line: 11204

    END bulk_update_trx_intf;
Line: 11207

    PROCEDURE bulk_insert_trx_intf IS

      l_status2 VARCHAR2(30);
Line: 11215

       INSERT INTO pa_transaction_interface_all(
                     transaction_source
                    , user_transaction_source
                    , system_linkage
                    , batch_name
                    , expenditure_ending_date
                    , expenditure_item_date
                    , expenditure_type
                    , quantity
                    , raw_cost_rate
                    , expenditure_comment
                    , transaction_status_code
                    , transaction_rejection_code
                    , orig_transaction_reference
                    , interface_id
                    , dr_code_combination_id
                    , cr_code_combination_id
                    , cdl_system_reference1
                    , cdl_system_reference2
                    , cdl_system_reference3
                    , cdl_system_reference4
                    , cdl_system_reference5 --NEW
                    , gl_date
                    , org_id
                    , unmatched_negative_txn_flag
                    , receipt_currency_amount
                    , receipt_currency_code
                    , receipt_exchange_rate
                    , denom_raw_cost
                    , denom_currency_code
                    , acct_rate_date
                    , acct_rate_type
                    , acct_exchange_rate
                    , acct_raw_cost
                    , acct_exchange_rounding_limit
                    , attribute_category
                    , attribute1
                    , attribute2
                    , attribute3
                    , attribute4
                    , attribute5
                    , attribute6
                    , attribute7
                    , attribute8
                    , attribute9
                    , attribute10
                    , orig_exp_txn_reference1
                    , orig_user_exp_txn_reference
                    , orig_exp_txn_reference2
                    , orig_exp_txn_reference3
                    , last_update_date
                    , last_updated_by
                    , creation_date
                    , created_by
                    , person_id
                    , organization_id
                    , project_id
                    , task_id
                    , Vendor_id
                    , override_to_organization_id
                    , person_business_group_id
                    , adjusted_expenditure_item_id --NEW
                    , fc_document_type  -- NEW
                    , document_type
                    , document_distribution_type
                    , sc_xfer_code
                    , si_assets_addition_flag
                    , net_zero_adjustment_flag
                    , cbs_element_id -- Added for CBS Enhancement Bug 16220146
                   )
              SELECT  l_txn_src_tbl(i)
                     ,l_user_txn_src_tbl(i)
                     ,G_SYSTEM_LINKAGE
                     ,l_batch_name_tbl(i)
                     ,l_exp_end_date_tbl(i)
                     ,l_ei_date_tbl(i)
                     ,l_exp_type_tbl(i)
                     ,l_quantity_tbl(i)
                     ,l_amount_tbl(i)/decode(nvl(l_quantity_tbl(i),0),0,1,l_quantity_tbl(i))
                     ,l_description_tbl(i)
                     ,l_txn_status_code_tbl(i)
                     ,l_txn_rej_code_tbl(i)
                     ,G_REQUEST_ID
                     ,l_interface_id_tbl(i)
                     ,l_dist_cc_id_tbl(i)
                     ,l_acct_pay_cc_id_tbl(i)
                     ,decode(l_ln_type_lookup_tbl(i),'PREPAY',l_vendor_id_tbl(i),l_pay_hist_id_tbl(i)) /*sysref1*/
                     ,l_invoice_id_tbl(i) /*sysref2*/
                     ,l_cdl_sys_ref3_tbl(i) /*sysref3*/
                     ,l_inv_pay_id_tbl(i) /*sysref4*/
                     ,l_invoice_dist_id_tbl(i) /*sysref5*/
                     ,l_gl_date_tbl(i)
                     ,G_ORG_ID
                     ,'Y'
                     ,l_rec_cur_amt_tbl(i)
                     ,l_rec_cur_code_tbl(i)
                     ,l_rec_conv_rate_tbl(i)
                     ,l_denom_raw_cost_tbl(i)
                     ,l_denom_cur_code_tbl(i)
                     ,l_acct_rate_date_tbl(i)
                     ,l_acct_rate_type_tbl(i)
                     ,l_acct_exch_rate_tbl(i)
                     ,l_amount_tbl(i)
                     ,1
                     ,l_attribute_cat_tbl(i)
                     ,l_attribute1_tbl(i)
                     ,l_attribute2_tbl(i)
                     ,l_attribute3_tbl(i)
                     ,l_attribute4_tbl(i)
                     ,l_attribute5_tbl(i)
                     ,l_attribute6_tbl(i)
                     ,l_attribute7_tbl(i)
                     ,l_attribute8_tbl(i)
                     ,l_attribute9_tbl(i)
                     ,l_attribute10_tbl(i)
                     ,l_invoice_id_tbl(i)        /*orig_exp_txn_reference1*/
                     ,l_invoice_num_tbl(i)       /*user_exp_txn_reference*/
                     ,DECODE(G_TRANS_DFF_AP,'N',NULL,l_invoice_id_tbl(i)) /*orig_exp_txn_reference2*/
                     ,NULL                       /*orig_exp_txn_reference3*/
                     ,SYSDATE
                     ,-1
                     ,SYSDATE
                     ,-1
                     ,l_employee_id_tbl(i)
                     ,l_org_id_tbl(i)
                     ,l_project_id_tbl(i)
                     ,l_task_id_tbl(i)
                     ,l_vendor_id_tbl(i)
                     ,l_exp_org_id_tbl(i)
                     ,l_bus_grp_id_tbl(i)
                     ,l_adj_exp_item_id_tbl(i) --NEW for reversals
                     ,l_fc_document_type_tbl(i) --NEW for funds check
                     ,l_inv_type_code_tbl(i)
                     ,l_ln_type_lookup_tbl(i)
                     ,l_sc_xfer_code_tbl(i)
                     ,l_si_assts_add_flg_tbl(i)
                     ,l_net_zero_flag_tbl(i)
                     ,l_cbs_element_id_tbl(i) -- Added for CBS Enhancement Bug 16220146
                 FROM DUAL
                WHERE l_insert_flag_tbl(i)     not in ('P','F');
Line: 11359

                write_log(LOG, 'Inserting adjustment records..');
Line: 11363

       INSERT INTO pa_transaction_interface_all(
                     transaction_source
                    , user_transaction_source
                    , system_linkage
                    , batch_name
                    , expenditure_ending_date
                    , expenditure_item_date
                    , expenditure_type
                    , quantity
                    , raw_cost_rate
                    , expenditure_comment
                    , transaction_status_code
                    , transaction_rejection_code
                    , orig_transaction_reference
                    , interface_id
                    , dr_code_combination_id
                    , cr_code_combination_id
                    , cdl_system_reference1
                    , cdl_system_reference2
                    , cdl_system_reference3
                    , cdl_system_reference4
                    , cdl_system_reference5 --NEW
                    , gl_date
                    , org_id
                    , unmatched_negative_txn_flag
                    , receipt_currency_amount
                    , receipt_currency_code
                    , receipt_exchange_rate
                    , denom_raw_cost
                    , denom_currency_code
                    , acct_rate_date
                    , acct_rate_type
                    , acct_exchange_rate
                    , acct_raw_cost
                    , acct_exchange_rounding_limit
                    , attribute_category
                    , attribute1
                    , attribute2
                    , attribute3
                    , attribute4
                    , attribute5
                    , attribute6
                    , attribute7
                    , attribute8
                    , attribute9
                    , attribute10
                    , orig_exp_txn_reference1
                    , orig_user_exp_txn_reference
                    , orig_exp_txn_reference2
                    , orig_exp_txn_reference3
                    , last_update_date
                    , last_updated_by
                    , creation_date
                    , created_by
                    , person_id
                    , organization_id
                    , project_id
                    , task_id
                    , Vendor_id
                    , override_to_organization_id
                    , person_business_group_id
                    , adjusted_expenditure_item_id --NEW
                    , fc_document_type  -- NEW
                    , document_type
                    , document_distribution_type
                    , adjusted_txn_interface_id --NEW
                    , sc_xfer_code
                    , si_assets_addition_flag
                    , net_zero_adjustment_flag
                    , cbs_element_id -- Added for CBS Enhancement Bug 16220146
                   )
                  SELECT
                      l_txn_src_tbl(i)
                     ,l_user_txn_src_tbl(i)
                     ,G_SYSTEM_LINKAGE
                     ,l_batch_name_tbl(i)
                     ,l_exp_end_date_tbl(i)
                     ,l_ei_date_tbl(i)
                     ,l_exp_type_tbl(i)
                     ,-l_quantity_tbl(i)
                     ,l_amount_tbl(i)/decode(nvl(l_quantity_tbl(i),0),0,1,l_quantity_tbl(i))
                     ,l_description_tbl(i)
                     ,l_txn_status_code_tbl(i)
                     ,l_txn_rej_code_tbl(i)
                     ,G_REQUEST_ID
                     ,l_interface_id_tbl(i)
                     ,l_dist_cc_id_tbl(i)
                     ,l_acct_pay_cc_id_tbl(i)
                     --,l_vendor_id_tbl(i) /*sysref1*/
                     ,decode(l_ln_type_lookup_tbl(i),'PREPAY',l_vendor_id_tbl(i),l_pay_hist_id_tbl(i)) /*sysref1*/
                     ,l_invoice_id_tbl(i) /*sysref2*/
                     ,l_cdl_sys_ref3_tbl(i)/*sysref3*/
                     ,l_inv_pay_id_tbl(i)  /*sysref4*/
                     ,l_invoice_dist_id_tbl(i) /*sysref5*/ --NEW
                     ,l_gl_date_tbl(i)
                     ,G_ORG_ID
                     ,'Y'
                     ,-l_rec_cur_amt_tbl(i)
                     ,l_rec_cur_code_tbl(i)
                     ,l_rec_conv_rate_tbl(i)
                     ,-l_denom_raw_cost_tbl(i)
                     ,l_denom_cur_code_tbl(i)
                     ,l_acct_rate_date_tbl(i)
                     ,l_acct_rate_type_tbl(i)
                     ,l_acct_exch_rate_tbl(i)
                     ,-l_amount_tbl(i)
                     ,1
                     ,l_attribute_cat_tbl(i)
                     ,l_attribute1_tbl(i)
                     ,l_attribute2_tbl(i)
                     ,l_attribute3_tbl(i)
                     ,l_attribute4_tbl(i)
                     ,l_attribute5_tbl(i)
                     ,l_attribute6_tbl(i)
                     ,l_attribute7_tbl(i)
                     ,l_attribute8_tbl(i)
                     ,l_attribute9_tbl(i)
                     ,l_attribute10_tbl(i)
                     ,l_invoice_id_tbl(i)        /*orig_exp_txn_reference1*/
                     ,l_invoice_num_tbl(i)       /*user_exp_txn_reference*/
                     /* bug 2835757*/
                     ,DECODE(G_TRANS_DFF_AP,'N',NULL,l_invoice_id_tbl(i)) /*orig_exp_txn_reference2*/
                     ,NULL                       /*orig_exp_txn_reference3*/
                     ,SYSDATE
                     ,-1
                     ,SYSDATE
                     ,-1
                     ,l_employee_id_tbl(i)
                     ,l_org_id_tbl(i)
                     ,l_project_id_tbl(i)
                     ,l_task_id_tbl(i)
                     ,l_vendor_id_tbl(i)
                     ,l_exp_org_id_tbl(i)
                     ,l_bus_grp_id_tbl(i)
                     ,l_adj_exp_item_id_tbl(i) --NEW for reversals
                     ,l_fc_document_type_tbl(i) --NEW for funds check
                     ,l_inv_type_code_tbl(i)
                     ,l_ln_type_lookup_tbl(i)
                     ,(select xface.txn_interface_id
                       from   pa_transaction_interface xface
                       where  xface.interface_id = l_interface_id_tbl(i)
                       and    xface.cdl_system_reference2 = l_invoice_id_tbl(i)
                       and    xface.cdl_system_reference4 = to_char(l_inv_pay_id_tbl(i))
                       and    xface.cdl_system_reference5 = l_invoice_dist_id_tbl(i)
		       and    NVL(xface.adjusted_expenditure_item_id,0) = 0 ) -- R12 funds management Uptake
                     ,'P'
                     ,'T' -- l_si_assts_add_flg_tbl(i)
                     ,l_net_zero_flag_tbl(i)
                     ,l_cbs_element_id_tbl(i) -- Added for CBS Enhancement Bug 16220146
                FROM dual
                WHERE l_insert_flag_tbl(i)= 'A';
Line: 11522

                    UPDATE pa_transaction_interface_all xface
                    SET    xface.net_zero_adjustment_flag ='Y',
                           xface.adjusted_txn_interface_id =
                              (select distinct  xface1.txn_interface_id /* bug 9266578 */
                               from   pa_transaction_interface xface1
                               where  xface1.interface_id = l_interface_id_tbl(l_rev_parent_dist_ind_tbl(i))
                               and    xface1.cdl_system_reference2 = l_invoice_id_tbl(l_rev_parent_dist_ind_tbl(i))
                               and    xface1.cdl_system_reference4 = to_char(l_inv_pay_id_tbl(l_rev_parent_dist_ind_tbl(i)))
                               and    xface1.cdl_system_reference5 = l_invoice_dist_id_tbl(l_rev_parent_dist_ind_tbl(i))
                               )
                      WHERE  xface.interface_id          = l_interface_id_tbl(l_rev_parent_dist_ind_tbl(i))
                      AND    xface.cdl_system_reference2 = l_invoice_id_tbl(l_rev_parent_dist_ind_tbl(i))
                      AND    -- For voided payments l_rev_child_dist_id_tbl stores the reversed payment id Bug# 5408748
                             -- Here the reversal pair will have same inv dist id and diff payment id's
                             ((
                             xface.cdl_system_reference4     = To_char(l_rev_child_dist_id_tbl(i))
                             AND xface.cdl_system_reference5 = l_invoice_dist_id_tbl(l_rev_parent_dist_ind_tbl(i))
                             )
                      OR     -- For invoice reversal l_rev_child_dist_id_tbl stores the reversed invoice dist id Bug# 5408748
                             -- Here the reversal pair will have same payment id and diff inv dist id's
                             (
                             xface.cdl_system_reference4     = to_char(l_inv_pay_id_tbl(l_rev_parent_dist_ind_tbl(i)))
                             AND xface.cdl_system_reference5 = To_char(l_rev_child_dist_id_tbl(i))
                             )) ;
Line: 11553

          write_log(LOG,'Failed during bulk insert for payment processing');
Line: 11557

   END bulk_insert_trx_intf;
Line: 11615

				    SELECT PROJ_ELEMENT_ID, CBS_ELEMENT_ID
					INTO l_actual_task_id, l_cbs_element_id
					FROM PA_ALTERNATE_TASKS
					WHERE alt_task_id = l_task_id_tbl(i);
Line: 11642

               /* Update the previous invoice id and vendor id*/
               v_prev_invoice_id := l_invoice_id_tbl(i);
Line: 11651

                  /* First update the v_prev_invoice_source */
                  G_err_stage := 'New source encountered';
Line: 11701

                SELECT pa_utils.getweekending(MAX(l_ei_date_tbl(i)))
                  INTO G_EXPENDITURE_ENDING_DATE
                  FROM ap_invoice_distributions
                 WHERE invoice_id = l_invoice_id_tbl(i);
Line: 11715

                                  SELECT emp.business_group_id
                                    INTO G_PER_BUS_GRP_ID
                                    FROM per_all_people_f emp
                                   WHERE emp.person_id = l_employee_id_tbl(i)
                                      AND l_ei_date_tbl(i) between trunc(emp.effective_start_date) and trunc(emp.effective_end_date);
Line: 11730

			    select org2.business_group_id
                              into G_PER_BUS_GRP_ID
			      from hr_organization_units org1,
				   hr_organization_units org2
			     Where org1.organization_id = l_exp_org_id_tbl(i)
			       and org1.business_group_id = org2.organization_id ;
Line: 11756

           /*Update counter of how many distributions of the last invoice of the batch has been processed*/

           IF l_invoice_id_tbl(i) = l_invoice_id_tbl(v_last_inv_index) THEN
              v_num_last_invoice_processed := v_num_last_invoice_processed +1;
Line: 11784

              /* Update counter for number of tax lines fetched */
              v_num_tax_lines_fetched := v_num_tax_lines_fetched +1;
Line: 11803

              /* Update counter for number of variance lines fetched */
              v_num_inv_variance_fetched :=  v_num_inv_variance_fetched +1;
Line: 11821

              /* Update counter for number of variance lines fetched */
              v_num_inv_erv_fetched :=  v_num_inv_erv_fetched +1;
Line: 11838

              /* Update counter for number of frt and misc lines fetched */
              v_num_inv_frt_fetched :=  v_num_inv_frt_fetched +1;
Line: 11879

           /* The records with INSERT_FLAG = F indicate that they are fully applied prepayments and the pa-addition-flag
              for such records will be updated to G to relieve commitments*/
           /* The records with INSERT_FLAG = P indicate that they are partially applied prepayments and the pa-addition-flag
              for such records will be updated to N */

           IF (l_inv_type_code_tbl(i) = 'PREPAYMENT' ) THEN

write_log(LOG,' l_ln_type_lookup_tbl(i) '||l_ln_type_lookup_tbl(i)||' l_prepay_dist_id_tbl '||l_prepay_dist_id_tbl(i)||' l_is_self_assessed_tax_tbl '||l_is_self_assessed_tax_tbl(i));
Line: 11889

                 l_insert_flag_tbl(i) := 'F';
Line: 11891

                 l_insert_flag_tbl(i) := 'P';
Line: 11951

                         IF l_insert_flag_tbl(i) in ('A','U') THEN
                          l_create_adj_recs := 'Y';
Line: 12071

       SELECT pa_interface_id_s.nextval
         INTO G_INTERFACE_ID
         FROM dual;
Line: 12076

       SELECT pa_interface_id_s.nextval
         into G_NRT_INTERFACE_ID
         FROM dual;
Line: 12081

       SELECT pa_interface_id_s.nextval
         into G_AP_FRT_INTERFACE_ID
         FROM dual;
Line: 12086

       SELECT pa_interface_id_s.nextval
         into G_AP_VAR_INTERFACE_ID
         FROM dual;
Line: 12091

       SELECT pa_interface_id_s.nextval
         into G_AP_ERV_INTERFACE_ID
         FROM dual;
Line: 12163

            ,l_insert_flag_tbl
            ,l_pay_hist_id_tbl
            ,l_prepay_dist_id_tbl   --bug#5514129
            LIMIT v_max_size;
Line: 12181

            G_err_stage := 'calling bulk_update_trx_intf within transfer_pay_to_pa';
Line: 12184

            bulk_update_trx_intf; --Update Prepayment trx
Line: 12186

            G_err_stage := 'calling bulk_insert_trx_intf within transfer_pay_to_pa';
Line: 12189

            bulk_insert_trx_intf;
Line: 12191

            G_err_stage := 'After calling bulk_insert_trx_intf within transfer_pay_to_pa';
Line: 12333

       SELECT pa_interface_id_s.nextval
         into G_PREPAY_INTERFACE_ID
         FROM dual;
Line: 12406

            ,l_insert_flag_tbl
            ,l_pay_hist_id_tbl
            ,l_prepay_dist_id_tbl   --bug#5514129
            LIMIT v_max_size;
Line: 12425

            G_err_stage := 'calling bulk_insert_trx_intf within transfer_pay_to_pa';
Line: 12428

            bulk_insert_trx_intf;
Line: 12430

            G_err_stage := 'After calling bulk_insert_trx_intf within transfer_pay_to_pa';
Line: 12547

      SELECT cdl_system_reference1
            ,cdl_system_reference2
            ,cdl_system_reference4
            ,cdl_system_reference5
            ,transaction_source
            ,batch_name
            ,interface_id
            ,transaction_status_code
            ,project_id
            ,l_pa_addflag
            ,l_assets_addflag
        FROM pa_transaction_interface_all txnintf
       WHERE txnintf.transaction_source = p_txn_src
         AND txnintf.batch_name         = p_batch_name
         AND txnintf.interface_id       = p_interface_id;
Line: 12572

      l_sys_ref1_tbl.delete;
Line: 12573

      l_sys_ref2_tbl.delete;
Line: 12574

      l_sys_ref4_tbl.delete;
Line: 12575

      l_sys_ref5_tbl.delete;
Line: 12576

      l_txn_src_tbl.delete;
Line: 12577

      l_batch_name_tbl.delete;
Line: 12578

      l_interface_id_tbl.delete;
Line: 12579

      l_txn_status_code_tbl.delete;
Line: 12580

      l_project_id_tbl.delete;
Line: 12581

      l_pa_addflag_tbl.delete;
Line: 12582

      l_assets_addflag_tbl.delete;
Line: 12598

            update pa_addition_flag of invoice distribution to 'Y'.
            If transaction import leaves the record to be 'P' then
            update pa_addition_flag of invoice distribution to 'N'.
            If transaction import stamps the record to be 'R' then
            update pa_addition_flag of invoice distribution to 'N'.*/

         write_log(LOG,'Tying invoice_id: '||l_sys_ref2_tbl(i)||
                       'Payment Id:  '||l_sys_ref4_tbl(i)||
                       'dist id:  '||l_sys_ref5_tbl(i)||
                       'trc src:   '||l_txn_src_tbl(i));
Line: 12629

               G_err_stage:='Selecting assets addition flag within payment tieback';
Line: 12632

               SELECT decode(PTYPE.Project_Type_Class_Code,'CAPITAL','P','X')
                 INTO l_assets_addflag_tbl(i)
                 FROM pa_project_types_all PTYPE,
                      pa_projects_all PROJ
                WHERE PTYPE.Project_Type = PROJ.Project_Type
                  AND (PTYPE.org_id = PROJ.org_id OR
                       PROJ.org_id is null)
                  AND PROJ.Project_Id = l_project_id_tbl(i);
Line: 12662

   PROCEDURE bulk_update_txn_intf(l_batch in VARCHAR2) IS

     v_status VARCHAR2(15);
Line: 12668

      G_err_stage:=('Within bulk update of payment tieback');
Line: 12674

         UPDATE ap_prepay_app_dists dist
            SET dist.pa_addition_flag         = l_pa_addflag_tbl(i)
          WHERE dist.prepay_app_dist_id       = l_sys_ref4_tbl(i)
            AND dist.invoice_distribution_id  = l_sys_ref5_tbl(i)
            AND dist.pa_addition_flag         = 'O';
Line: 12683

         UPDATE ap_payment_hist_dists paydist
            SET paydist.pa_addition_flag         = l_pa_addflag_tbl(i)
          WHERE paydist.invoice_payment_id       = l_sys_ref4_tbl(i)
            AND paydist.invoice_distribution_id  = l_sys_ref5_tbl(i)
            AND paydist.pa_addition_flag         = 'O';
Line: 12693

           UPDATE ap_invoice_distributions_all dist
              SET dist.assets_addition_flag      = decode(l_assets_addflag_tbl(i),'P','P',dist.assets_addition_flag)
            WHERE dist.invoice_distribution_id = l_sys_ref5_tbl(i) ;
Line: 12702

         G_err_stage:= 'Failed during bulk update of payment tieback';
Line: 12707

   END bulk_update_txn_intf;
Line: 12744

         bulk_update_txn_intf(p_batch_type);
Line: 12781

              SELECT ei.expenditure_item_id
                    , ei.project_id project_id
                    , ei.task_id  task_id
                    , ei.expenditure_item_date expenditure_item_date
                    , ei.expenditure_type expenditure_type
                    , ei.quantity quantity
                    , ei.raw_cost raw_cost
                    , nvl(ei.cost_distributed_flag,'N') cost_distributed_flag
                    , ei.organization_id organization_id
                    , ei.override_to_organization_id override_to_organization_id
                    , ei.receipt_currency_amount receipt_currency_amount
                    , ei.receipt_currency_code receipt_currency_code
                    , ei.receipt_exchange_rate receipt_exchange_rate
                    , ei.denom_raw_cost denom_raw_cost
                    , ei.denom_currency_code denom_currency_code
                    , ei.acct_rate_date acct_rate_date
                    , ei.acct_rate_type acct_rate_type
                    , ei.acct_exchange_rate acct_exchange_rate
                    , ei.acct_raw_cost acct_raw_cost
                    , ei.acct_exchange_rounding_limit acct_exchange_rounding_limit
                    , ei.attribute_category
                    , ei.attribute1
                    , ei.attribute2
                    , ei.attribute3
                    , ei.attribute4
                    , ei.attribute5
                    , ei.attribute6
                    , ei.attribute7
                    , ei.attribute8
                    , ei.attribute9
                    , ei.attribute10
                    , ei.org_id org_id
                    , get_cdl_ccid(ei.expenditure_item_id,'D') dr_code_combination_id
                    , get_cdl_ccid(ei.expenditure_item_id,'C') cr_code_combination_id
                    , Pa_Funds_Control_Utils.Get_Fnd_Reqd_Flag(ei.project_id,'STD') orig_fc_enabled
                    , nvl(cdl.transfer_status_code,'P') transfer_status_code
                    ,ei.document_type
                    ,ei.document_distribution_type
                    ,ei.document_header_id
                    ,ei.document_distribution_id
                    ,ei.document_payment_id
                    ,ei.document_line_number
                    ,cdl.system_reference5 cdl_sys_ref5 --to get the rcv_sub_leger_id of parent Rcv txn
                    ,ei.cbs_element_id  -- Added for CBS Enhancement Bug 16220146
		  /*  ,nvl(ei.net_zero_adjustment_flag,'N') net_zero_adjustment_flag  -- Added for for bug#12338132 Commented for 13470521 */
              FROM   pa_cost_distribution_lines_all cdl,
                     pa_expenditure_items_all ei
              WHERE  cdl.expenditure_item_id (+) = ei.expenditure_item_id
                AND  nvl(cdl.reversed_flag, 'N') = 'N'
                AND    ei.document_distribution_id = p_document_distribution_id /*Added this for 6945767 */
                AND   ei.system_linkage_function in ('VI','ER')
                AND   ei.document_header_id = p_document_header_id /*Added this for 6945767 */
		AND  nvl(cdl.line_type,'R') = 'R' --Bug 5373272 : 'C' and 'D' lines are incorrectly getting processed
                AND  cdl.line_num_reversed is null
                AND  (( p_record_type  = 'AP_INVOICE'
                AND    ei.transaction_source in ('AP INVOICE','AP VARIANCE','AP EXPENSE','AP NRTAX'))
                 OR  ( p_record_type = 'PO_RECEIPT'
                AND    ei.transaction_source IN ('PO RECEIPT', 'PO RECEIPT PRICE ADJ'))
                 OR  ( p_record_type = 'PO_RECEIPT_TAX'
                AND    ei.transaction_source in ('PO RECEIPT NRTAX'))
                 OR  ( p_record_type = 'AP_DISCOUNTS'
                AND    ei.document_payment_id = p_document_payment_id
                AND    ei.transaction_source in ('AP DISCOUNTS','AP INVOICE','AP NRTAX'))
                 OR  ( p_record_type = 'AP_PAYMENT'
                AND    ei.document_payment_id = p_document_payment_id
                AND    ei.transaction_source in ('AP INVOICE','AP EXPENSE','AP NRTAX','AP VARIANCE')))
                AND    nvl(ei.net_zero_adjustment_flag,'N') <> 'Y'  /*--Commeted the line for bug#12338132 Reverted the fix of 12338132 for 13470521 */
              ORDER BY  ei.cost_distributed_flag, ei.expenditure_item_id;
Line: 12907

                         l_insert_flag_tbl(p_current_index)   := 'A';
Line: 13001

                          l_insert_flag_tbl(j)   := 'Y';
Line: 13057

                        l_insert_flag_tbl(p_current_index)   := 'U';  -- update adjustment record
Line: 13061

			SELECT pa_utils.getweekending(l_ei_date_tbl(p_current_index))
			INTO l_exp_end_date_tbl(p_current_index)
			FROM dual;
Line: 13074

            IF l_insert_flag_tbl(p_current_index) <> 'U' THEN

                 write_log(LOG, 'Selecting the count of adjusted expenditures');
Line: 13078

                 SELECT  sum(decode(ei.net_zero_adjustment_flag,'N',1,0)),count(*)
                 INTO   l_not_reversed_cnt,l_all_reversed_cnt
                 FROM   pa_expenditure_items_all ei
                 /*Added this for 6945767 */
                 WHERE  ei.document_distribution_id = p_document_distribution_id
                 AND   ei.document_header_id = p_document_header_id /*Added this for 6945767 */
                 AND  (( p_record_type  = 'AP_INVOICE'
                 -- AND    ei.document_distribution_id = p_document_distribution_id
                 AND    ei.transaction_source in ('AP INVOICE','AP VARIANCE','AP EXPENSE','AP NRTAX'))
                  OR  ( p_record_type = 'PO_RECEIPT'
                 --AND    ei.document_distribution_id = p_document_distribution_id
                 AND    ei.transaction_source IN ('PO RECEIPT', 'PO RECEIPT PRICE ADJ'))
                  OR  ( p_record_type = 'PO_RECEIPT_TAX'
                 --AND    ei.document_distribution_id = p_document_distribution_id
                 AND    ei.transaction_source in ('PO RECEIPT NRTAX'))
                  OR  ( p_record_type = 'AP_DISCOUNTS'
                 --AND    ei.document_distribution_id = p_document_distribution_id
                 AND    ei.document_payment_id = p_document_payment_id
                 AND    ei.transaction_source in ('AP DISCOUNTS','AP INVOICE','AP NRTAX'))
                  OR  ( p_record_type = 'AP_PAYMENT'
                 --AND    ei.document_distribution_id = p_document_distribution_id
                 AND    ei.document_payment_id = p_document_payment_id
                 AND    ei.transaction_source in ('AP INVOICE','AP EXPENSE','AP VARIANCE','AP NRTAX')))
                 /* Added below code for 13470521 */
                 AND EXISTS (SELECT 1 FROM pa_expenditure_items_all adj_ei
                        WHERE adj_ei.adjusted_expenditure_item_id = ei.expenditure_item_id
                          AND adj_ei.net_zero_adjustment_flag = 'Y'
                          AND adj_ei.document_header_id = ei.document_header_id
                          AND adj_ei.document_distribution_id = ei.document_distribution_id);
Line: 13113

                         l_insert_flag_tbl(p_current_index)   := 'A';
Line: 13142

  SELECT 'X'
  INTO l_Dummy
  FROM DUAL
  WHERE EXISTS ( SELECT NULL
                 FROM   rcv_transactions rcv_txn2
                       ,rcv_receiving_sub_ledger rcv_sub2
                 WHERE  rcv_sub2.rcv_transaction_id    = rcv_txn2.transaction_id
                 AND    rcv_txn2.po_distribution_id    = P_Po_Distribution_Id
                 AND    rcv_sub2.pa_addition_flag      = 'G'
                  UNION ALL
                 SELECT  null
                 FROM    ap_invoice_distributions apdist
                 WHERE   apdist.po_distribution_id = P_Po_Distribution_Id
--                 AND     apdist.line_type_lookup_code in ('ITEM','ACCRUAL','RETROACCRUAL','NONREC_TAX') --Modified as below for the bug13984115
                 AND     apdist.line_type_lookup_code in ('ITEM','ACCRUAL','RETROACCRUAL')
                 AND     apdist.pa_addition_flag         = 'Y'  /*Bug 13602288: Self Assessed Tax Changes*/
/*		 UNION ALL   /*Bug 13602288: Self Assessed Tax Changes*/
/*		 SELECT  null
                 FROM    ap_self_assessed_tax_dist apdist
                 WHERE   apdist.po_distribution_id = P_Po_Distribution_Id
                 AND     apdist.line_type_lookup_code in ('ITEM','ACCRUAL','RETROACCRUAL','NONREC_TAX')
                 AND     apdist.pa_addition_flag         = 'Y'    Removed the union for the bug 13984115*/
		 );