DBA Data[Home] [Help]

APPS.AP_ALLOCATION_RULES_PKG SQL Statements

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

Line: 9

FUNCTION Insert_Fully_Prorated_Rule(
          X_invoice_id          IN         NUMBER,
          X_line_number         IN         NUMBER,
          X_error_code          OUT NOCOPY VARCHAR2) RETURN BOOLEAN
IS

  l_generate_dists              AP_INVOICE_LINES.GENERATE_DISTS%TYPE;
Line: 24

                              'insert_fully_prorated_rule';
Line: 30

    SELECT generate_dists
      INTO l_generate_dists
      FROM ap_invoice_lines
     WHERE invoice_id = X_invoice_id
       AND line_number = X_line_number;
Line: 63

    SELECT COUNT(*)
      INTO l_other_alloc_rules
      FROM ap_allocation_rules
     WHERE invoice_id = X_invoice_id
       AND chrg_invoice_line_number = X_line_number;
Line: 80

    INSERT INTO ap_allocation_rules(
          invoice_id,
          chrg_invoice_line_number,
          rule_type,
          rule_generation_type,
          status,
          creation_date,
          created_by,
          last_updated_by,
          last_update_date,
          last_update_login,
          program_application_id,
          program_id,
          program_update_date,
          request_id)
    VALUES(
          X_invoice_id,              -- invoice_id
          X_line_number,             -- chrg_invoice_line_number
          'PRORATION',               -- rule_type
          'SYSTEM',                  -- rule_generation_type
          'PENDING',                 -- status
          SYSDATE,                   -- creation_date
          FND_GLOBAL.USER_ID,        -- created_by
          0,                         -- last_updated_by
          SYSDATE,                   -- last_update_date
          FND_GLOBAL.LOGIN_ID,       -- last_update_login
          FND_GLOBAL.PROG_APPL_ID,   -- program_application_id
          FND_GLOBAL.CONC_PROGRAM_ID,-- program_id
          SYSDATE,                   -- program_update_date
          FND_GLOBAL.CONC_REQUEST_ID -- request_id
           );
Line: 126

END insert_fully_prorated_rule;
Line: 136

FUNCTION insert_from_line_group_number (
          X_invoice_id          IN         NUMBER,
          X_line_number         IN         NUMBER,
          X_error_code          OUT NOCOPY VARCHAR2) RETURN BOOLEAN
IS

  l_generate_dists              AP_INVOICE_LINES.GENERATE_DISTS%TYPE;
Line: 156

                              'insert_from_prorated_rule';
Line: 162

    SELECT ail.generate_dists,
           ail.line_group_number,
           ail.amount ,     --bug6653070
           ai.invoice_currency_code
      INTO l_generate_dists,
           l_line_group_number,
           l_amount_to_prorate,
           l_inv_curr_code
      FROM ap_invoice_lines ail,
           ap_invoices ai
     WHERE ail.invoice_id = X_invoice_id
       AND ail.line_number = x_line_number
       AND ai.invoice_id = X_invoice_id;
Line: 201

    SELECT COUNT(*)
      INTO l_count_non_item_lines
      FROM ap_invoice_lines
     WHERE invoice_id = X_invoice_id
       AND line_number <> X_line_number
       AND line_group_number = l_line_group_number
       AND line_type_lookup_code <> 'ITEM';
Line: 222

    SELECT SUM(amount)
      INTO l_prorating_total
      FROM ap_invoice_lines
     WHERE invoice_id = X_invoice_id
       AND line_number <> X_line_number
       AND line_group_number = l_line_group_number
       AND line_type_lookup_code = 'ITEM'
       AND nvl(match_type,'NOT_MATCHED') NOT IN
              ('PRICE_CORRECTION', 'QTY_CORRECTION','LINE_CORRECTION');
Line: 249

    SELECT COUNT(*)
      INTO l_other_alloc_rules
      FROM ap_allocation_rules
     WHERE invoice_id = X_invoice_id
       AND chrg_invoice_line_number = X_line_number;
Line: 270

    INSERT INTO ap_allocation_rules(
          invoice_id,
          chrg_invoice_line_number,
          rule_type,
          rule_generation_type,
          status,
          creation_date,
          created_by,
          last_updated_by,
          last_update_date,
          last_update_login,
          program_application_id,
          program_id,
          program_update_date,
          request_id)
      VALUES(
          X_invoice_id,              -- invoice_id
          X_line_number,             -- chrg_invoice_line_number
          'AMOUNT',                  -- rule_type
          'SYSTEM',                  -- rule_generation_type
          'PENDING',                 -- status
          SYSDATE,                   -- creation_date
          FND_GLOBAL.USER_ID,        -- created_by
          0,                         -- last_updated_by
          SYSDATE,                   -- last_update_date
          FND_GLOBAL.LOGIN_ID,       -- last_update_login
          FND_GLOBAL.PROG_APPL_ID,   -- program_application_id
          FND_GLOBAL.CONC_PROGRAM_ID,-- program_id
          SYSDATE,                   -- program_update_date
          FND_GLOBAL.CONC_REQUEST_ID -- request_id
	     );
Line: 321

     INSERT INTO ap_allocation_rule_lines  (
          invoice_id,
          chrg_invoice_line_number,
	  to_invoice_line_number,
          amount,
          creation_date,
          created_by,
          last_updated_by,
          last_update_date,
          last_update_login,
          program_application_id,
          program_id,
          program_update_date,
          request_id)
     SELECT
          X_invoice_id,              -- invoice_id
	  X_line_number,             -- chrg_invoice_line_number
	  line_number,               -- to_invoice_line_number
          ap_utilities_pkg.ap_round_currency(l_amount_to_prorate * amount /
				     l_prorating_total, l_inv_curr_code),
                                     -- amount
          SYSDATE,                   -- creation_date
          FND_GLOBAL.USER_ID,        -- created_by
          0,                         -- last_updated_by
          SYSDATE,                   -- last_update_date
          FND_GLOBAL.LOGIN_ID,       -- last_update_login
          FND_GLOBAL.PROG_APPL_ID,   -- program_application_id
          FND_GLOBAL.CONC_PROGRAM_ID,-- program_id
          SYSDATE,                   -- program_update_date
	  FND_GLOBAL.CONC_REQUEST_ID -- request_id
       FROM ap_invoice_lines
      WHERE invoice_id = X_invoice_id
        AND line_number <> X_line_number
        AND line_group_number = l_line_group_number
        AND line_type_lookup_code = 'ITEM'
        AND nvl(match_type,'NOT_MATCHED') NOT IN
              ('PRICE_CORRECTION', 'QTY_CORRECTION','LINE_CORRECTION');
Line: 379

    SELECT SUM(amount)
      INTO l_total_prorated
      FROM ap_allocation_rule_lines
     WHERE invoice_id = X_invoice_id
       AND chrg_invoice_line_number = X_line_number;
Line: 386

      UPDATE ap_allocation_rule_lines
	 SET amount = amount + (l_amount_to_prorate - l_total_prorated)
       WHERE invoice_id = X_invoice_id
	 AND chrg_invoice_line_number = X_line_number
         AND to_invoice_line_number =
 	                   (SELECT (MAX(ail1.line_number))
                              FROM ap_invoice_lines ail1
                             WHERE ail1.invoice_id = X_invoice_id
			       AND ail1.line_number <> X_line_number
			       AND ail1.amount <> 0
                               AND ail1.line_group_number = l_line_group_number
			       AND ABS(ail1.amount) >=
		                 ( SELECT  MAX(ABS(ail2.amount))
				     FROM  ap_invoice_lines ail2
				    WHERE  ail2.invoice_id = X_invoice_id
				      AND  ail2.line_number <> X_line_number
				      AND  ail2.line_number <> ail1.line_number
				      AND  ail2.line_group_number =
				             l_line_group_number));
Line: 422

END insert_from_line_group_number;
Line: 424

Procedure Insert_Percentage_Alloc_Rule(
          X_Invoice_id           IN        NUMBER,
	  X_Chrg_Line_Number     IN        NUMBER,
	  X_To_Line_Number       IN        NUMBER,
	  X_Rule_Generation_Type IN        VARCHAR2 DEFAULT 'SYSTEM',
	  X_Status               IN        VARCHAR2 DEFAULT 'PENDING',
	  X_Percentage           IN        NUMBER,
	  X_Calling_Sequence     IN	   VARCHAR2) IS

l_debug_info		VARCHAR2(100);
Line: 437

   current_calling_sequence := 'Insert_Percentage_Alloc_Rule<-'||X_Calling_Sequence;
Line: 439

   l_debug_info := 'Insert record into AP_ALLOCATION_RULES';
Line: 441

   Insert into AP_ALLOCATION_RULES
            (Invoice_id,
	     Chrg_Invoice_Line_Number,
	     Rule_Type,
	     Rule_Generation_Type,
	     Status,
	     Creation_Date,
	     Created_By,
             Last_Updated_By,
             Last_Update_Date,
             Last_Update_Login,
             Program_Application_Id,
             Program_Id,
             Program_Update_Date,
             Request_Id)
      values(x_invoice_id,
             x_chrg_line_number,
	     'PERCENTAGE',
	     x_rule_generation_type,
	     x_status,
	     sysdate,
	     fnd_global.user_id,
	     fnd_global.user_id,
	     sysdate,
	     fnd_global.login_id,
	     NULL,
	     NULL,
	     NULL,
	     NULL);
Line: 472

      l_debug_info := 'Inserting record into AP_ALLOCATION_RULE_LINES';
Line: 474

      Insert Into ap_allocation_rule_lines (
      		Invoice_id,
                chrg_invoice_line_number,
	        to_invoice_line_number,
	        percentage,
	        amount,
	        creation_date,
	        created_by,
	        last_updated_by,
	        last_update_date,
	        last_update_login,
	        program_application_id,
	        program_id,
	        program_update_date,
	        request_id)
	  values(x_invoice_id,
	         x_chrg_line_number,
	         x_to_line_number,
	         x_percentage,
	         NULL,
	         sysdate,
	         fnd_global.user_id,
	         fnd_global.user_id,
	         sysdate,
	         fnd_global.login_id,
	         NULL,
	         NULL,
	         NULL,
	         NULL);
Line: 520

END Insert_Percentage_Alloc_Rule;
Line: 552

 SELECT invoice_id,
        line_number
   FROM ap_invoice_lines
  WHERE line_type_lookup_code in ('FREIGHT', 'MISCELLANEOUS')
    AND generate_dists <> 'D' -- Bug 5131721
    AND NVL(match_type, 'NOT_MATCHED') <> 'OTHER_TO_RECEIPT'
    AND invoice_id = X_invoice_id
ORDER BY line_number;
Line: 581

    SELECT COUNT(*)
      INTO l_chrg_lines_count
     FROM ap_invoice_lines
    WHERE line_type_lookup_code in ('FREIGHT', 'MISCELLANEOUS', 'TAX')
      AND generate_dists <> 'D' -- Bug 5131721
      AND NVL(match_type, 'NOT_MATCHED') <> 'OTHER_TO_RECEIPT'
      AND invoice_id = X_invoice_id;
Line: 696

    SELECT ail.generate_dists,
           ail.amount,   --bug6653070
           ai.invoice_currency_code
      INTO l_generate_dists,
           l_amount_to_prorate,
           l_inv_curr_code
      FROM ap_invoice_lines ail,
           ap_invoices ai
     WHERE ail.invoice_id = X_invoice_id
       AND ail.line_number = x_chrg_line_number
       AND ai.invoice_id = X_invoice_id;
Line: 741

    SELECT COUNT(*)
      INTO l_alloc_rule
      FROM ap_allocation_rules
     WHERE invoice_id = X_invoice_id
       AND chrg_invoice_line_number = X_chrg_line_number;
Line: 764

      SELECT rule_type,
             status
        INTO l_rule_type,
             l_rule_status
        FROM ap_allocation_rules
       WHERE invoice_id = X_invoice_id
         AND chrg_invoice_line_number = X_chrg_line_number;
Line: 808

      SELECT COUNT(*)
        INTO l_alloc_rule_lines
        FROM ap_allocation_rule_lines
       WHERE invoice_id = X_invoice_id
         AND chrg_invoice_line_number = X_chrg_line_number;
Line: 817

          Ap_Allocation_Rules_Pkg.delete_allocation_lines(
                              X_invoice_id,
                              X_chrg_Line_number,
                              'Insert_fully_prorated_rule');
Line: 839

      SELECT SUM(amount)
        INTO l_prorating_total
        FROM ap_invoice_lines
       WHERE invoice_id = X_invoice_id
         AND line_number <> X_chrg_line_number
         AND line_type_lookup_code = 'ITEM'
         AND nvl(match_type,'NOT_MATCHED') NOT IN
              ('PRICE_CORRECTION', 'QTY_CORRECTION','LINE_CORRECTION');
Line: 866

      INSERT INTO ap_allocation_rules(
          invoice_id,
          chrg_invoice_line_number,
          rule_type,
          rule_generation_type,
          status,
          creation_date,
          created_by,
          last_updated_by,
          last_update_date,
          last_update_login,
          program_application_id,
          program_id,
          program_update_date,
          request_id)
      VALUES(
          X_invoice_id,          -- invoice_id
          X_chrg_line_number,    -- chrg_invoice_line_number
          'PRORATION',           -- rule_type
          'USER',                -- rule_generation_type
          'PENDING',             -- status
          SYSDATE,               -- creation_date
          FND_GLOBAL.USER_ID,    -- created_by
          0,                     -- last_updated_by
          SYSDATE,               -- last_update_date
          FND_GLOBAL.LOGIN_ID,   -- last_update_login
          NULL,                  -- program_application_id
          NULL,                  -- program_id
          SYSDATE,               -- program_update_date
          NULL                   -- request_id
           );
Line: 927

        INSERT INTO ap_allocation_rule_lines_gt(
          invoice_id,
          chrg_invoice_line_number,
	  to_invoice_line_number,
          amount,
          creation_date,
          created_by,
          last_updated_by,
          last_update_date,
          last_update_login,
          program_application_id,
          program_id,
          program_update_date,
          request_id)
        SELECT
          X_invoice_id,        -- invoice_id
	  X_chrg_line_number,  -- chrg_invoice_line_number
	  line_number,         -- to_invoice_line_number
          ap_utilities_pkg.ap_round_currency(l_amount_to_prorate * amount /
				     l_prorating_total, l_inv_curr_code),
                               -- amount
          SYSDATE,             -- creation_date
          FND_GLOBAL.USER_ID,  -- created_by
          0,                   -- last_updated_by
          SYSDATE,             -- last_update_date
          FND_GLOBAL.LOGIN_ID, -- last_update_login
          NULL,                -- program_application_id
          NULL,                -- program_id
          SYSDATE,             -- program_update_date
	  NULL                 -- request_id
         FROM ap_invoice_lines
        WHERE invoice_id = X_invoice_id
          AND line_number <> X_chrg_line_number
          AND line_type_lookup_code = 'ITEM'
          AND nvl(match_type,'NOT_MATCHED') NOT IN
              ('PRICE_CORRECTION', 'QTY_CORRECTION','LINE_CORRECTION');
Line: 982

        INSERT INTO ap_allocation_rule_lines(
          invoice_id,
          chrg_invoice_line_number,
	  to_invoice_line_number,
          amount,
          creation_date,
          created_by,
          last_updated_by,
          last_update_date,
          last_update_login,
          program_application_id,
          program_id,
          program_update_date,
          request_id)
        SELECT
          X_invoice_id,        -- invoice_id
	  X_chrg_line_number,  -- chrg_invoice_line_number
	  line_number,         -- to_invoice_line_number
          ap_utilities_pkg.ap_round_currency(l_amount_to_prorate * amount /
				     l_prorating_total, l_inv_curr_code),
                               -- amount
          SYSDATE,             -- creation_date
          FND_GLOBAL.USER_ID,  -- created_by
          0,                   -- last_updated_by
          SYSDATE,             -- last_update_date
          FND_GLOBAL.LOGIN_ID, -- last_update_login
          NULL,                -- program_application_id
          NULL,                -- program_id
          SYSDATE,             -- program_update_date
	  NULL                 -- request_id
        FROM ap_invoice_lines
       WHERE invoice_id = X_invoice_id
         AND line_number <> X_chrg_line_number
         AND line_type_lookup_code = 'ITEM'
         AND nvl(match_type,'NOT_MATCHED') NOT IN
              ('PRICE_CORRECTION', 'QTY_CORRECTION','LINE_CORRECTION');
Line: 1044

        SELECT SUM(amount)
          INTO l_total_prorated
          FROM ap_allocation_rule_lines_gt
         WHERE invoice_id = X_invoice_id
           AND chrg_invoice_line_number = X_chrg_line_number;
Line: 1051

          UPDATE ap_allocation_rule_lines_gt
             SET amount = amount + (l_amount_to_prorate - l_total_prorated)
           WHERE invoice_id = X_invoice_id
	     AND chrg_invoice_line_number = X_chrg_line_number
             AND to_invoice_line_number =
 	             (SELECT (MAX(ail1.line_number))
                        FROM ap_invoice_lines ail1
                       WHERE ail1.invoice_id = X_invoice_id
	                 AND ail1.line_number <> X_chrg_line_number
		         AND ail1.amount <> 0
		         AND ABS(ail1.amount) >=
		            ( SELECT  MAX(ABS(ail2.amount))
		                FROM  ap_invoice_lines ail2
			       WHERE  ail2.invoice_id = X_invoice_id
			         AND  ail2.line_number <> X_chrg_line_number
			         AND  ail2.line_number <> ail1.line_number
			     )
                      );
Line: 1085

        SELECT SUM(amount)
          INTO l_total_prorated
          FROM ap_allocation_rule_lines
         WHERE invoice_id = X_invoice_id
           AND chrg_invoice_line_number = X_chrg_line_number;
Line: 1092

          UPDATE ap_allocation_rule_lines
             SET amount = amount + (l_amount_to_prorate - l_total_prorated)
           WHERE invoice_id = X_invoice_id
	     AND chrg_invoice_line_number = X_chrg_line_number
             AND to_invoice_line_number =
 	           (SELECT (MAX(ail1.line_number))
                      FROM ap_invoice_lines ail1
                     WHERE ail1.invoice_id = X_invoice_id
	               AND ail1.line_number <> X_chrg_line_number
		       AND ail1.amount <> 0
		       AND ABS(ail1.amount) >=
		           ( SELECT MAX(ABS(ail2.amount))
		               FROM ap_invoice_lines ail2
			      WHERE ail2.invoice_id = X_invoice_id
			        AND ail2.line_number <> X_chrg_line_number
			        AND ail2.line_number <> ail1.line_number
		            ));
Line: 1142

PROCEDURE Select_Item_Summary(
        X_Invoice_id               IN            NUMBER,
        X_to_invoice_line_number   IN            NUMBER,
        X_allocated_total          IN OUT NOCOPY NUMBER,
        X_allocated_total_rtot_db  IN OUT NOCOPY NUMBER,
        X_calling_sequence         IN            VARCHAR2) IS

current_calling_sequence     VARCHAR2(2000);
Line: 1161

       'Ap_Allocation_Rules_Pkg.select_Item_summary<-'||X_Calling_Sequence;
Line: 1166

  SELECT nvl(sum(amount), 0), nvl(sum(amount), 0)
  INTO   l_allocated_total, l_allocated_total_rtot_db
  FROM   ap_allocation_rule_lines
  WHERE  invoice_id = X_invoice_id
  AND    to_invoice_line_number = X_to_invoice_line_number;
Line: 1176

  SELECT nvl(sum(amount), 0), nvl(sum(amount), 0)
  INTO   l_allocated_total_gt, l_allocated_total_gt_rtot_db
  FROM   ap_allocation_rule_lines_gt
  WHERE  invoice_id = X_invoice_id
  AND    to_invoice_line_number = X_to_invoice_line_number;
Line: 1201

END Select_Item_Summary;
Line: 1239

    SELECT COUNT(*)
      INTO l_alloc_rule_line
      FROM ap_allocation_rule_lines
     WHERE invoice_id = X_invoice_id
       AND chrg_invoice_line_number = X_chrg_invoice_line_number
       AND to_invoice_line_number = X_to_invoice_line_number;
Line: 1254

  debug_info := ' Step 2 - Insert the allocation rule line.';
Line: 1260

         INSERT INTO ap_allocation_rule_Lines(
            invoice_id,
            chrg_invoice_line_number,
            to_invoice_line_number,
            percentage,
            amount,
            creation_date,
            created_by,
            last_update_date,
            last_updated_by,
            last_update_login,
            program_application_id,
            program_id,
            program_update_date,
            request_id)
         VALUES(
            X_invoice_id,               -- invoice_id
            X_chrg_invoice_line_number, -- chrg_invoice_line_number
            X_to_invoice_line_number,   -- to_invoice_line_number
            X_allocated_percentage,     -- percentage
            X_allocated_Amount,         -- amount
            SYSDATE,                    -- creation_date
            FND_GLOBAL.USER_ID,         -- created_by
            SYSDATE,                    -- last_update_date
            FND_GLOBAL.USER_ID,         -- last_updated_by
            FND_GLOBAL.LOGIN_ID,        -- last_update_login
            NULL,                       -- program_application_id
            NULL,                       -- program_id
            NULL,                       -- program_update_date
            NULL                        -- request_id
                 );
Line: 1313

  debug_info := ' Step 3 -Delete the allocation rule line. ';
Line: 1319

          DELETE FROM ap_allocation_rule_lines
           WHERE invoice_id = X_invoice_id
             AND chrg_invoice_line_number = X_chrg_invoice_line_number
             AND to_invoice_line_number = X_to_invoice_line_number;
Line: 1328

                 X_error_code := 'COULD_NOT_INSERT_ALLOC_RULE';
Line: 1345

  debug_info := ' Step 4 - Update the allocation rule line ';
Line: 1351

           UPDATE ap_allocation_rule_lines
              SET Amount = X_allocated_AMount,
                  percentage = X_allocated_percentage,
                  last_update_date = SYSDATE,
                  last_updated_by = FND_GLOBAL.user_id,
                  last_update_login = FND_GLOBAL.login_id
            WHERE invoice_id = X_invoice_id
              AND chrg_invoice_line_number = X_chrg_invoice_line_number
              AND to_invoice_line_number = X_to_invoice_line_number;
Line: 1366

                 X_error_code := 'COULD_NOT_INSERT_ALLOC_RULE';
Line: 1372

                     FND_MESSAGE.SET_TOKEN('DEBUG_INFO','Inserting Allocation Rule Lines');
Line: 1413

  SELECT ai.invoice_date,
         pv.vendor_type_lookup_code,
         pv.vendor_name,
         ai.invoice_num,
         ai.invoice_currency_code,
	 ai.org_id
  INTO   X_invoice_date,
         X_vendor_type_lookup_code,
         X_vendor_name,
         X_invoice_num,
         X_invoice_currency_code,
	 l_org_id
  FROM   ap_invoices ai, po_vendors pv
  WHERE  ai.invoice_id = X_invoice_id
  AND    ai.vendor_id = pv.vendor_id;
Line: 1433

  SELECT gl.chart_of_accounts_id
  INTO   X_chart_of_accounts_id
  FROM   ap_system_parameters ap,
         gl_sets_of_books gl
  WHERE  gl.set_of_books_id = ap.set_of_books_id
  AND    ap.org_id = l_org_id;
Line: 1459

Procedure Update_row(
             X_rowid     IN OUT NOCOPY  VARCHAR2,
             X_Invoice_Id               NUMBER,
             X_chrg_invoice_line_number NUMBER,
             X_Rule_Type                VARCHAR2,
             X_Rule_Generation_Type     VARCHAR2,
             X_Status                   VARCHAR2,
             X_last_updated_by          NUMBER,
             X_last_update_date         DATE,
             X_last_update_login        NUMBER,
             X_calling_Sequence         VARCHAR2) IS

current_calling_sequence VARCHAR2(2000);
Line: 1476

current_calling_sequence := 'Ap_Allocation_Rules_Pkg.Update_Row<-'
                              ||X_Calling_Sequence;
Line: 1483

  debug_info := 'Update ap_allocation_rules';
Line: 1486

  UPDATE ap_allocation_rules
     SET invoice_id               = X_invoice_id,
         chrg_invoice_line_number = X_chrg_invoice_line_number,
         rule_type                = X_rule_type,
         rule_generation_type     = X_rule_generation_type,
         status                   = X_status,
         last_updated_by          = X_last_updated_by,
         last_update_date         = X_last_update_Date,
         last_update_login        = X_last_update_login
   WHERE rowid   = X_rowid;
Line: 1530

        SELECT *
        FROM   AP_ALLOCATION_RULES
        WHERE  rowid = X_Rowid
        FOR UPDATE of Invoice_Id NOWAIT;
Line: 1546

  debug_info := 'Select from ap_allocation_rules';
Line: 1558

    FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
Line: 1664

    SELECT ail.generate_dists,
           X_new_chrg_line_amt,    --bug6653070
           ai.invoice_currency_code
      INTO l_generate_dists,
           l_amount_to_prorate,
           l_inv_curr_code
      FROM ap_invoice_lines ail,
           ap_invoices ai
     WHERE ail.invoice_id = X_invoice_id
       AND ail.line_number = x_chrg_line_number
       AND ai.invoice_id = X_invoice_id;
Line: 1709

    SELECT COUNT(*)
      INTO l_alloc_rule
      FROM ap_allocation_rules
     WHERE invoice_id = X_invoice_id
       AND chrg_invoice_line_number = X_chrg_line_number;
Line: 1731

      SELECT rule_type,
             status
        INTO l_rule_type,
             l_rule_status
        FROM ap_allocation_rules
       WHERE invoice_id = X_invoice_id
         AND chrg_invoice_line_number = X_chrg_line_number;
Line: 1760

      SELECT NVL(SUM(amount) ,0)
        INTO l_prorating_total
        FROM ap_allocation_rule_lines
       WHERE invoice_id = X_invoice_id
         AND chrg_invoice_line_number = X_chrg_line_number;
Line: 1783

 debug_info := 'Step 5 - Update ap_allocation_rule_lines ';
Line: 1790

      UPDATE ap_allocation_rule_lines
         SET amount = ap_utilities_pkg.ap_round_currency(
                      l_amount_to_prorate*amount/
                      l_prorating_total, l_inv_curr_code),
             last_updated_by = FND_GLOBAL.USER_ID,
             last_update_date = SYSDATE,
             last_update_login = FND_GLOBAL.LOGIN_ID
       WHERE invoice_id = X_invoice_id
         AND chrg_invoice_line_number = X_chrg_line_number;
Line: 1825

        SELECT SUM(amount)
          INTO l_total_prorated
          FROM ap_allocation_rule_lines
         WHERE invoice_id = X_invoice_id
           AND chrg_invoice_line_number = X_chrg_line_number;
Line: 1832

          UPDATE ap_allocation_rule_lines
             SET amount = amount + (l_amount_to_prorate - l_total_prorated)
           WHERE invoice_id = X_invoice_id
             AND chrg_invoice_line_number = X_chrg_line_number
             AND to_invoice_line_number =
                     (SELECT (MAX(arl1.to_invoice_line_number))
                        FROM ap_allocation_rule_lines arl1
                       WHERE arl1.invoice_id = X_invoice_id
                         AND arl1.chrg_invoice_line_number = X_chrg_line_number
                         AND arl1.amount <> 0
                         AND ABS(arl1.amount) >=
                            ( SELECT  MAX(ABS(arl2.amount))
                                FROM  ap_allocation_rule_lines arl2
                               WHERE  arl2.invoice_id = X_invoice_id
                                 AND  arl2.chrg_invoice_line_number = X_chrg_line_number
                                      AND  arl2.to_invoice_line_number <>
                                            arl2.to_invoice_line_number
                                             ));
Line: 1887

FUNCTION Delete_Allocations(
          X_invoice_id        IN            NUMBER,
          X_chrg_line_number  IN            NUMBER,
          X_new_chrg_line_amt IN            NUMBER,
          X_Error_Code           OUT NOCOPY VARCHAR2,
          X_Debug_Info           OUT NOCOPY VARCHAR2,
          X_Debug_Context        OUT NOCOPY VARCHAR2,
          X_calling_sequence  IN            VARCHAR2)
RETURN  BOOLEAN IS

  l_generate_dists              AP_INVOICE_LINES.GENERATE_DISTS%TYPE;
Line: 1915

                              'Delete_Allocations';
Line: 1921

    SELECT ail.generate_dists,
           X_new_chrg_line_amt,
           ai.invoice_currency_code
      INTO l_generate_dists,
           l_amount_to_prorate,
           l_inv_curr_code
      FROM ap_invoice_lines ail,
           ap_invoices ai
     WHERE ail.invoice_id = X_invoice_id
       AND ail.line_number = x_chrg_line_number
       AND ai.invoice_id = X_invoice_id;
Line: 1965

    SELECT COUNT(*)
      INTO l_alloc_rule
      FROM ap_allocation_rules
     WHERE invoice_id = X_invoice_id
       AND chrg_invoice_line_number = X_chrg_line_number;
Line: 1987

      SELECT rule_type,
             status
        INTO l_rule_type,
             l_rule_status
        FROM ap_allocation_rules
       WHERE invoice_id = X_invoice_id
         AND chrg_invoice_line_number = X_chrg_line_number;
Line: 2011

 ||'pending  allocation rules will be deleted.';
Line: 2015

    DELETE FROM ap_allocation_rules
    WHERE invoice_id = X_Invoice_Id
      AND  chrg_invoice_line_number = X_chrg_line_number;
Line: 2020

      Ap_Allocation_Rules_Pkg.Delete_Allocation_Lines(
          X_invoice_id       => X_Invoice_Id,
          X_chrg_line_number => X_chrg_line_number,
          X_calling_sequence => current_calling_sequence);
Line: 2030

END Delete_Allocations;
Line: 2040

PROCEDURE delete_allocation_lines(
          X_invoice_id          IN     NUMBER,
          X_chrg_line_number    IN     NUMBER,
          X_calling_sequence    IN     VARCHAR2) IS

  current_calling_sequence      VARCHAR2(2000);
Line: 2050

     'Ap_Allocation_Rules_Pkg.Delete_allocations_lines<-'||X_Calling_Sequence;
Line: 2054

  DELETE FROM ap_allocation_rule_lines
   WHERE      invoice_id = X_invoice_id
     AND      chrg_invoice_line_number = X_chrg_line_number;
Line: 2070

END Delete_Allocation_Lines;
Line: 2077

FUNCTION insert_tax_allocations (
          X_invoice_id          IN         NUMBER,
          X_chrg_line_number    IN         NUMBER,
          X_error_code          OUT NOCOPY VARCHAR2) RETURN BOOLEAN
IS

  l_generate_dists              AP_INVOICE_LINES.GENERATE_DISTS%TYPE;
Line: 2099

                              'insert_tax_allocations';
Line: 2106

    SELECT ail.generate_dists,
           ail.line_group_number,
           ail.amount,
           ai.invoice_currency_code
      INTO l_generate_dists,
           l_line_group_number,
           l_amount_to_prorate,
           l_inv_curr_code
      FROM ap_invoice_lines ail,
           ap_invoices ai
     WHERE ail.invoice_id  = x_invoice_id
       AND ail.line_number = x_chrg_line_number
       AND ai.invoice_id   = ail.invoice_id;
Line: 2145

    SELECT COUNT(*)
      INTO l_other_alloc_rules
      FROM ap_allocation_rules
     WHERE invoice_id = X_invoice_id
       AND chrg_invoice_line_number = X_chrg_line_number;
Line: 2151

    SELECT COUNT(*)
      INTO l_other_alloc_rule_line
      FROM ap_allocation_rule_lines
     WHERE invoice_id = X_invoice_id
       AND chrg_invoice_line_number = X_chrg_line_number;
Line: 2160

	DELETE FROM ap_allocation_rules
         WHERE invoice_id = X_invoice_id
           AND chrg_invoice_line_number = X_chrg_line_number;
Line: 2168

	DELETE FROM ap_allocation_rule_lines
         WHERE invoice_id = X_invoice_id
           AND chrg_invoice_line_number = X_chrg_line_number;
Line: 2183

    INSERT INTO ap_allocation_rules(
          invoice_id,
          chrg_invoice_line_number,
          rule_type,
          rule_generation_type,
          status,
          creation_date,
          created_by,
          last_updated_by,
          last_update_date,
          last_update_login,
          program_application_id,
          program_id,
          program_update_date,
          request_id)
      VALUES(
          X_invoice_id,              -- invoice_id
          X_chrg_line_number,        -- chrg_invoice_line_number
          'AMOUNT',                  -- rule_type
          'SYSTEM',                  -- rule_generation_type
          'EXECUTED',                -- status
          SYSDATE,                   -- creation_date
          FND_GLOBAL.USER_ID,        -- created_by
          FND_GLOBAL.USER_ID,        -- last_updated_by
          SYSDATE,                   -- last_update_date
          FND_GLOBAL.LOGIN_ID,       -- last_update_login
          FND_GLOBAL.PROG_APPL_ID,   -- program_application_id
          FND_GLOBAL.CONC_PROGRAM_ID,-- program_id
          SYSDATE,                   -- program_update_date
          FND_GLOBAL.CONC_REQUEST_ID -- request_id
	     );
Line: 2232

     INSERT INTO ap_allocation_rule_lines  (
          invoice_id,
          chrg_invoice_line_number,
	  to_invoice_line_number,
          amount,
          creation_date,
          created_by,
          last_updated_by,
          last_update_date,
          last_update_login,
          program_application_id,
          program_id,
          program_update_date,
          request_id)
   SELECT x_invoice_id,		      -- invoice_id
	  x_chrg_line_number,         -- chrg_invoice_line_number
	  zxl.trx_line_number,	      -- to_invoice_line_number
	  sum(zxl.tax_amt),	      -- amount
	  SYSDATE,                    -- creation_date
	  FND_GLOBAL.USER_ID,         -- created_by
          FND_GLOBAL.USER_ID,         -- last_updated_by
          SYSDATE,                    -- last_update_date
          FND_GLOBAL.LOGIN_ID,        -- last_update_login
          FND_GLOBAL.PROG_APPL_ID,    -- program_application_id
          FND_GLOBAL.CONC_PROGRAM_ID, -- program_id
          SYSDATE,                    -- program_update_date
	  FND_GLOBAL.CONC_REQUEST_ID  -- request_id
     FROM zx_lines 	   zxl,
          ap_invoice_lines apl
    WHERE apl.invoice_id		= x_invoice_id
      AND apl.line_number		= x_chrg_line_number
      AND apl.summary_tax_line_id	= zxl.summary_tax_line_id
      AND zxl.application_id 		= AP_ETAX_PKG.AP_APPLICATION_ID
      AND zxl.entity_code		= AP_ETAX_PKG.AP_ENTITY_CODE
      AND zxl.event_class_code          IN (AP_ETAX_PKG.AP_INV_EVENT_CLASS_CODE,
                                            AP_ETAX_PKG.AP_PP_EVENT_CLASS_CODE,
                                            AP_ETAX_PKG.AP_ER_EVENT_CLASS_CODE)
      AND zxl.trx_id			= apl.invoice_id
      AND NVL(zxl.reporting_only_flag, 'N') = 'N'
    GROUP BY zxl.trx_line_number;
Line: 2289

END insert_tax_allocations;