DBA Data[Home] [Help]

APPS.PO_DOCUMENT_UPDATE_PVT SQL Statements

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

Line: 8

g_pkg_name       CONSTANT VARCHAR2(30) := 'PO_DOCUMENT_UPDATE_PVT';
Line: 22

g_update_source        VARCHAR2(100);
Line: 84

  p_update_source IN VARCHAR2
);
Line: 91

  p_mass_update_releases     IN VARCHAR2 -- Bug 3373453
);
Line: 228

PROCEDURE delete_records (
  p_chg       IN PO_CHANGES_REC_TYPE
);
Line: 322

PROCEDURE update_document (
  p_api_version            IN NUMBER,
  p_init_msg_list          IN VARCHAR2,
  x_return_status          OUT NOCOPY VARCHAR2,
  p_changes                IN OUT NOCOPY PO_CHANGES_REC_TYPE,
  p_run_submission_checks  IN VARCHAR2,
  p_launch_approvals_flag  IN VARCHAR2,
  p_buyer_id               IN NUMBER,
  p_update_source          IN VARCHAR2,
  p_override_date          IN DATE,
  x_api_errors             OUT NOCOPY PO_API_ERRORS_REC_TYPE,
  p_approval_background_flag IN VARCHAR2,
  p_mass_update_releases   IN VARCHAR2, -- Bug 3373453
  p_req_chg_initiator      IN VARCHAR2 DEFAULT NULL --Bug 14549341
) IS
  l_api_name     CONSTANT VARCHAR2(30) := 'UPDATE_DOCUMENT';
Line: 350

                       || ' update source: ' || p_update_source
                       || ' override date: ' || p_override_date
                       || ' approval background: '||p_approval_background_flag
                       || ' mass update releases: '||p_mass_update_releases
                       || ' p_req_chg_initiator: '||p_req_chg_initiator --Bug 14549341
                       || ' concurrent request ID: '||g_request_id); --bug 7278327
Line: 360

  SAVEPOINT PO_DOCUMENT_UPDATE_PVT_SP;
Line: 377

    g_sec_qty_grade_only_chge_doc := po_document_update_grp.g_process_param_chge_only;
Line: 383

  init_globals (p_changes, p_update_source);
Line: 390

                   p_mass_update_releases );
Line: 454

           p_mass_update_releases => p_mass_update_releases,
           p_retroactive_price_change => g_retroactive_price_change
         );
Line: 475

    ROLLBACK TO PO_DOCUMENT_UPDATE_PVT_SP;
Line: 480

    ROLLBACK TO PO_DOCUMENT_UPDATE_PVT_SP;
Line: 489

    ROLLBACK TO PO_DOCUMENT_UPDATE_PVT_SP;
Line: 500

END update_document;
Line: 541

  p_update_source IN VARCHAR2
) IS
  l_proc_name CONSTANT VARCHAR2(30) := 'INIT_GLOBALS';
Line: 549

  g_update_source := p_update_source;
Line: 617

    SELECT POH.type_lookup_code,
           POH.revision_num,
           POH.pcard_id,
           POH.currency_code,
           POH.agent_id,
           POH.approved_date
    INTO g_document_subtype,
         g_revision_num,
         g_pcard_id,
         l_currency_code,
         g_agent_id,
         g_approved_date
    FROM po_headers POH
    WHERE POH.po_header_id = g_po_header_id;
Line: 640

    SELECT POH.style_id
    INTO g_doc_style_id
    FROM po_headers POH
    WHERE POH.po_header_id = g_po_header_id;
Line: 647

    SELECT POR.release_type,
           POR.revision_num,
           POR.pcard_id,
           POH.currency_code,
           POR.agent_id,
           POR.approved_date
    INTO g_document_subtype,
         g_revision_num,
         g_pcard_id,
         l_currency_code,
         g_agent_id,
         g_approved_date
    FROM po_releases POR, po_headers POH
    WHERE POR.po_release_id = g_po_release_id
    AND POR.po_header_id = POH.po_header_id; -- JOIN
Line: 680

  SELECT CUR.minimum_accountable_unit, CUR.precision
  INTO g_min_accountable_unit, g_precision
  FROM fnd_currencies CUR
  WHERE CUR.currency_code = l_currency_code;
Line: 686

  SELECT archive_external_revision_code
  INTO g_archive_mode
  FROM po_document_types
  WHERE document_type_code = g_document_type
  AND document_subtype = g_document_subtype;
Line: 739

      SELECT 1
      INTO l_dummy
      FROM po_headers
      WHERE po_header_id = g_po_header_id;
Line: 757

      SELECT 1
      INTO l_dummy
      FROM po_releases
      WHERE po_release_id = g_po_release_id;
Line: 785

        SELECT 1
        INTO l_dummy
        FROM po_lines
        WHERE po_header_id = g_po_header_id
        AND po_line_id = p_chg.line_changes.po_line_id(i);
Line: 827

        SELECT 1
        INTO l_dummy
        FROM po_line_locations
        WHERE po_header_id = g_po_header_id
        AND line_location_id =
          NVL(p_chg.shipment_changes.po_line_location_id(i),
              p_chg.shipment_changes.parent_line_location_id(i));
Line: 835

        SELECT 1
        INTO l_dummy
        FROM po_line_locations
        WHERE po_release_id = g_po_release_id
        AND line_location_id =
          NVL(p_chg.shipment_changes.po_line_location_id(i),
              p_chg.shipment_changes.parent_line_location_id(i));
Line: 880

        SELECT 1
        INTO l_dummy
        FROM po_distributions
        WHERE po_header_id = g_po_header_id
        AND po_distribution_id =
          NVL(p_chg.distribution_changes.po_distribution_id(i),
              p_chg.distribution_changes.parent_distribution_id(i));
Line: 888

        SELECT 1
        INTO l_dummy
        FROM po_distributions
        WHERE po_release_id = g_po_release_id
        AND po_distribution_id =
          NVL(p_chg.distribution_changes.po_distribution_id(i),
              p_chg.distribution_changes.parent_distribution_id(i));
Line: 944

  p_mass_update_releases     IN VARCHAR2 -- Bug 3373453
) IS
  l_proc_name CONSTANT VARCHAR2(30) := 'PROCESS_INPUTS';
Line: 1016

    p_parameter_name => 'p_mass_update_releases',
    p_parameter_value => p_mass_update_releases );
Line: 1025

  IF (p_mass_update_releases = G_PARAMETER_YES)
     AND (g_document_type <> 'PA') THEN

    FND_MESSAGE.set_name('PO', 'PO_INVALID_MASS_UPDATE_REL');
Line: 1055

    p_mode => 'CHECK_UPDATEABLE',
    p_lock_flag => 'Y', -- Lock the document
    x_po_status_rec => l_status_rec_type,
    x_return_status => l_return_status
  );
Line: 1142

  SELECT POL.quantity,
         POL.unit_meas_lookup_code,
         POL.item_id,
         POL.from_header_id,
         POL.from_line_id,
         NVL(POHA.global_agreement_flag, 'N'),
         NVL(POL.cancel_flag, 'N'),
         NVL(POL.closed_code, 'OPEN'),
         PLT.order_type_lookup_code, -- value basis
         PLT.purchase_basis,
         POL.amount,
         POL.start_date,
         POL.expiration_date,
         POL.unit_price,
         POL.from_line_location_id,
         POL.secondary_quantity,
         POL.secondary_unit_of_measure,
         MSI.segment1,               -- item_number
         POL.manual_price_change_flag, -- 
         POL.preferred_grade   --INVCONV
  INTO p_chg.line_changes.c_quantity(i),
       p_chg.line_changes.c_unit_meas_lookup_code(i),
       p_chg.line_changes.c_item_id(i),
       p_chg.line_changes.c_from_header_id(i),
       p_chg.line_changes.c_from_line_id(i),
       p_chg.line_changes.c_has_ga_reference(i),
       p_chg.line_changes.c_cancel_flag(i),
       p_chg.line_changes.c_closed_code(i),
       p_chg.line_changes.c_value_basis(i),
       p_chg.line_changes.c_purchase_basis(i),
       p_chg.line_changes.c_amount(i),
       p_chg.line_changes.c_start_date(i),
       p_chg.line_changes.c_expiration_date(i),
       p_chg.line_changes.c_unit_price(i),
       p_chg.line_changes.c_from_line_location_id(i),
       p_chg.line_changes.c_secondary_quantity(i),
       p_chg.line_changes.c_secondary_uom(i),
       p_chg.line_changes.c_item_number(i),
       -- :
       p_chg.line_changes.t_manual_price_change_flag(i),
       p_chg.line_changes.c_preferred_grade(i) --INVCONV
  FROM po_lines POL,
       po_line_types PLT,
       po_headers_all POHA,
       mtl_system_items_b MSI,
       financials_system_parameters FSP
  WHERE POL.po_line_id = p_chg.line_changes.po_line_id(i)
  AND PLT.line_type_id = POL.line_type_id       -- JOIN
  AND POHA.po_header_id(+) = POL.from_header_id -- JOIN
  AND MSI.inventory_item_id(+) = POL.item_id    -- JOIN
  AND NVL(MSI.organization_id, FSP.inventory_organization_id)
      = FSP.inventory_organization_id;          -- JOIN
Line: 1236

  SELECT PLL.po_line_id,
         -- quantity:
         decode (l_parent_line_loc_id, null,
                 PLL.quantity,                  -- existing shipment
                 0),                            -- split shipment
         --POL.unit_meas_lookup_code, 
         PLL.unit_meas_lookup_code,
         -- cancel_flag:
         decode (l_parent_line_loc_id, null,
                 NVL(PLL.cancel_flag, 'N'),     -- existing shipment
                 'N'),                          -- split shipment
         -- closed_code:
         decode (l_parent_line_loc_id, null,
                 NVL(PLL.closed_code, 'OPEN'),  -- existing shipment
                 'OPEN'),                       -- split shipment
         POL.item_id,
         PLL.ship_to_organization_id,
         NVL(PLL.drop_ship_flag, 'N'),
         -- quantity_received:
         decode (l_parent_line_loc_id, null,
                 NVL(PLL.quantity_received, 0), -- existing shipment
                 0),                            -- split shipment
         -- quantity_billed:
         decode (l_parent_line_loc_id, null,
                 NVL(PLL.quantity_billed, 0),   -- existing shipment
                 0),                            -- split shipment
         -- amount_received:  Bug 3524527
         decode (l_parent_line_loc_id, null,
                 NVL(PLL.amount_received, 0), -- existing shipment
                 0),                            -- split shipment
         -- amount_billed:    Bug 3524527
         decode (l_parent_line_loc_id, null,
                 NVL(PLL.amount_billed, 0),   -- existing shipment
                 0),                            -- split shipment
         NVL(PLL.accrue_on_receipt_flag, 'N'),
         --PLT.order_type_lookup_code,            -- value basis 
         PLL.value_basis,  --
         PLT.purchase_basis,
         -- amount:
         decode (l_parent_line_loc_id, null,
                 PLL.amount,                    -- existing shipment
                 0),                            -- split shipment
         PLL.price_override,
         -- parent_quantity:
         decode (l_parent_line_loc_id, null,
                 null,                          -- existing shipment
                 PLL.quantity),                 -- split shipment
         -- parent_amount:
         decode (l_parent_line_loc_id, null,
                 null,                          -- existing shipment
                 PLL.amount),                   -- split shipment
         -- secondary_quantity:
         decode (l_parent_line_loc_id, null,
                 PLL.secondary_quantity,        -- existing shipment
                 null),                         -- split shipment
         PLL.secondary_unit_of_measure,
         MSI.segment1,                          -- item_number
         -- approved_date:
         decode (l_parent_line_loc_id, null,
                 PLL.approved_date,             -- existing shipment
                 null),                         -- split shipment
         -- encumbered_flag:
         decode (l_parent_line_loc_id, null,
                 NVL(PLL.encumbered_flag, 'N'), -- existing shipment
                 'N'),                          -- split shipment
         PLL.shipment_type,
         -- quantity_shipped:
         decode (l_parent_line_loc_id, null,
                 NVL(PLL.quantity_shipped,0),   -- existing shipment
                 0),                            -- split shipment
         PLL.manual_price_change_flag, -- 
         PLL.preferred_grade          -- INVCONV  sschinch 09/07/04
         --PLL.PAYMENT_TYPE  -- Progress Payment type 
  INTO p_chg.shipment_changes.c_po_line_id(i),
       p_chg.shipment_changes.c_quantity(i),
       p_chg.shipment_changes.c_unit_meas_lookup_code(i),
       p_chg.shipment_changes.c_cancel_flag(i),
       p_chg.shipment_changes.c_closed_code(i),
       p_chg.shipment_changes.c_item_id(i),
       p_chg.shipment_changes.c_ship_to_organization_id(i),
       p_chg.shipment_changes.c_drop_ship_flag(i),
       p_chg.shipment_changes.c_quantity_received(i),
       p_chg.shipment_changes.c_quantity_billed(i),
       p_chg.shipment_changes.c_amount_received(i),   -- Bug 3524527
       p_chg.shipment_changes.c_amount_billed(i),     -- Bug 3524527
       p_chg.shipment_changes.c_accrue_on_receipt_flag(i),
       p_chg.shipment_changes.c_value_basis(i),
       p_chg.shipment_changes.c_purchase_basis(i),
       p_chg.shipment_changes.c_amount(i),
       p_chg.shipment_changes.c_price_override(i),
       p_chg.shipment_changes.c_parent_quantity(i),
       p_chg.shipment_changes.c_parent_amount(i),
       p_chg.shipment_changes.c_secondary_quantity(i),
       p_chg.shipment_changes.c_secondary_uom(i),
       p_chg.shipment_changes.c_item_number(i),
       p_chg.shipment_changes.c_approved_date(i),
       p_chg.shipment_changes.c_encumbered_flag(i),
       p_chg.shipment_changes.c_shipment_type(i),
       p_chg.shipment_changes.c_quantity_shipped(i),
       -- :
       p_chg.shipment_changes.t_manual_price_change_flag(i),
       p_chg.shipment_changes.c_preferred_grade(i)   -- INVCONV sschinch 09/07/04
       --p_chg.shipment_changes.c_payment_type(i)
  FROM po_line_locations PLL,
       po_lines POL,
       po_line_types PLT,
       mtl_system_items_b MSI,
       financials_system_parameters FSP
  WHERE PLL.line_location_id =
    NVL( p_chg.shipment_changes.parent_line_location_id(i), -- split shipment
         p_chg.shipment_changes.po_line_location_id(i) )    -- existing shipment
  AND POL.po_line_id = PLL.po_line_id        -- JOIN
  AND PLT.line_type_id = POL.line_type_id    -- JOIN
  AND MSI.inventory_item_id(+) = POL.item_id -- JOIN
  AND NVL(MSI.organization_id, FSP.inventory_organization_id)
      = FSP.inventory_organization_id;       -- JOIN
Line: 1394

  SELECT POD.po_line_id,
         -- line_location_id:
         decode (l_parent_dist_id, null,
                 POD.line_location_id,          -- existing distribution
                 null),                         -- split distribution
         -- quantity_ordered:
         decode (l_parent_dist_id, null,
                 POD.quantity_ordered,          -- existing distribution
                 0),                            -- split distribution
         PLL.unit_meas_lookup_code, -- 
         POL.item_id,
         -- quantity_delivered:
         decode (l_parent_dist_id, null,
                 NVL(POD.quantity_delivered, 0), -- existing distribution
                 0),                            -- split distribution
         -- quantity_billed:
         decode (l_parent_dist_id, null,
                 NVL(POD.quantity_billed, 0),   -- existing distribution
                 0),                            -- split distribution
         -- amount_delivered:  Bug 3524527
         decode (l_parent_dist_id, null,
                 NVL(POD.amount_delivered, 0), -- existing distribution
                 0),                            -- split distribution
         -- amount_billed:     Bug 3524527
         decode (l_parent_dist_id, null,
                 NVL(POD.amount_billed, 0),   -- existing distribution
                 0),                            -- split distribution
         -- value basis:
        -- PLT.order_type_lookup_code, -- 
         PLL.value_basis,
         PLT.purchase_basis,
         -- amount_ordered:
         decode (l_parent_dist_id, null,
                 POD.amount_ordered,            -- existing distribution
                 0),                            -- split distribution
         -- parent_line_location_id:
         decode (l_parent_dist_id, null,
                 null,                          -- existing distribution
                 POD.line_location_id),         -- split distribution
         POD.award_id,
         POD.project_id,
         POD.task_id,
         POD.distribution_num,
         -- encumbered_flag:
         decode (l_parent_dist_id, null,
                 NVL(POD.encumbered_flag,'N'),  -- existing distribution
                 'N'),                          -- split distribution
         POD.req_distribution_id,
         -- creation_date:
         decode (l_parent_dist_id, null,
                 POD.creation_date,             -- existing distribution
                 NULL)                          -- split distribution
  INTO p_chg.distribution_changes.c_po_line_id(i),
       p_chg.distribution_changes.c_line_location_id(i),
       p_chg.distribution_changes.c_quantity_ordered(i),
       p_chg.distribution_changes.c_unit_meas_lookup_code(i),
       p_chg.distribution_changes.c_item_id(i),
       p_chg.distribution_changes.c_quantity_delivered(i),
       p_chg.distribution_changes.c_quantity_billed(i),
       p_chg.distribution_changes.c_amount_delivered(i),   -- Bug 3524527
       p_chg.distribution_changes.c_amount_billed(i),      -- Bug 3524527
       p_chg.distribution_changes.c_value_basis(i),
       p_chg.distribution_changes.c_purchase_basis(i),
       p_chg.distribution_changes.c_amount_ordered(i),
       p_chg.distribution_changes.c_parent_line_location_id(i),
       p_chg.distribution_changes.c_award_id(i),
       p_chg.distribution_changes.c_project_id(i),
       p_chg.distribution_changes.c_task_id(i),
       p_chg.distribution_changes.c_distribution_num(i),
       p_chg.distribution_changes.c_encumbered_flag(i),
       p_chg.distribution_changes.c_req_distribution_id(i),
       p_chg.distribution_changes.c_creation_date(i)
  FROM po_distributions POD, po_lines POL, po_line_types PLT,po_line_locations_all PLL -- 
Line: 1775

        SELECT count(*)
        INTO l_shipment_count
        FROM po_line_locations
        WHERE po_line_id = p_chg.line_changes.po_line_id(i)
        AND shipment_type in ('STANDARD', 'PLANNED')
        AND nvl(cancel_flag,'N') <> 'Y'
        AND NVL(closed_code,'OPEN') <> 'FINALLY CLOSED';
Line: 1843

        SELECT NVL(mtl.grade_control_flag,'N')
          INTO l_grade_control_flag
          FROM mtl_system_items_b           mtl,
               financials_system_parameters fsp
     WHERE mtl.inventory_item_id = p_chg.line_changes.c_item_id(i)
        AND mtl.organization_id    = fsp.inventory_organization_id;
Line: 1867

          SELECT msi.tracking_quantity_ind,msi.secondary_default_ind
          INTO l_dual_uom_ind,l_secondary_default_ind
          FROM mtl_system_items_b           msi,
               financials_system_parameters fsp
          WHERE msi.inventory_item_id = p_chg.line_changes.c_item_id(i)
          AND msi.organization_id    = fsp.inventory_organization_id;
Line: 1888

           PO_DOCUMENT_UPDATE_PVT.add_error (
               p_api_errors      => g_api_errors,
               x_return_status   => l_return_status,
               p_message_name    => 'PO_DUALFIXED_NO_CONVERSION',
               p_token_name1     => 'PQTY',
               p_token_value1    =>  p_chg.shipment_changes.c_quantity(i),
               p_token_name2     => 'SQTY',
               p_token_value2    =>  p_chg.line_changes.secondary_quantity(i));
Line: 1907

        SELECT msi.tracking_quantity_ind,msi.secondary_default_ind
          INTO l_dual_uom_ind,l_secondary_default_ind
          FROM mtl_system_items_b           msi,
               financials_system_parameters fsp
        WHERE msi.inventory_item_id = p_chg.line_changes.c_item_id(i)
        AND msi.organization_id    = fsp.inventory_organization_id;
Line: 1986

        SELECT NVL(grade_control_flag,'N') INTO l_grade_control_flag
          FROM mtl_system_items
     WHERE inventory_item_id  = p_chg.shipment_changes.c_item_id(i)
        AND organization_id  = p_chg.shipment_changes.c_ship_to_organization_id(i) ;
Line: 2065

        SELECT count(*)
        INTO l_shipment_count
        FROM po_line_locations
        WHERE po_line_id = p_chg.shipment_changes.c_po_line_id(i)
        AND shipment_num = p_chg.shipment_changes.split_shipment_num(i)
        AND NVL(po_release_id,-1) = NVL(g_po_release_id,-1);
Line: 2088

      IF (p_chg.shipment_changes.delete_record(i) = G_PARAMETER_YES) THEN
        add_error ( p_api_errors => g_api_errors,
                    x_return_status => x_return_status,
                    p_message_name => 'PO_CHNG_SPLIT_SHIP_NO_DELETE',
                    p_table_name => 'PO_LINE_LOCATIONS_ALL',
                    p_column_name => NULL,
                    p_entity_type => G_ENTITY_TYPE_SHIPMENTS,
                    p_entity_id => i );
Line: 2096

      END IF; -- delete_record
Line: 2159

      IF (p_chg.distribution_changes.delete_record(i) = G_PARAMETER_YES) THEN
        add_error ( p_api_errors => g_api_errors,
                    x_return_status => x_return_status,
                    p_message_name => 'PO_CHNG_SPLIT_DIST_NO_DELETE',
                    p_table_name => 'PO_DISTRIBUTIONS_ALL',
                    p_column_name => NULL,
                    p_entity_type => G_ENTITY_TYPE_DISTRIBUTIONS,
                    p_entity_id => i );
Line: 2167

      END IF; -- delete_record
Line: 3012

    SELECT po_line_id, manual_price_change_flag
    FROM po_lines POL
    WHERE POL.po_header_id = p_po_header_id
    AND (POL.from_header_id IS NOT NULL OR
         -- 
         POL.contract_id IS NOT NULL);
Line: 3024

    SELECT line_location_id
    FROM po_line_locations
    WHERE po_line_id = p_po_line_id
    AND (NVL(cancel_flag,'N') <> 'Y')
    AND (NVL(closed_code,'OPEN') <> 'FINALLY CLOSED')
    AND shipment_type IN ('PLANNED','STANDARD');
Line: 3046

  l_price_updateable     VARCHAR2(1); -- Bug 3337426
Line: 3070

  l_delete_record       VARCHAR2(1);
Line: 3142

          PO_DOCUMENT_CHECKS_GRP.check_rel_price_updateable (
            p_api_version => 1.0,
            x_return_status => l_return_status,
            p_line_location_id => l_line_location_id,
            p_from_price_break => G_PARAMETER_YES,
            p_add_reasons_to_msg_list => G_PARAMETER_NO,
            x_price_updateable => l_price_updateable,
            x_retroactive_price_change => l_retro_price_change
          );
Line: 3156

        ELSE -- Split shipment - always allow price updates.
          l_price_updateable := G_PARAMETER_YES;
Line: 3162

        IF (l_price_updateable = G_PARAMETER_YES) THEN
        -- Bug 3337426 END

          -- Call the Pricing API to get a new price from the price break.
          get_release_break_price (
            p_line_location_id => l_line_location_id,
            p_quantity => l_new_qty,
            p_ship_to_location_id => l_new_ship_to_loc_id,
            p_need_by_date => l_new_need_by_date,
            x_price => l_new_price
          );
Line: 3192

        ELSE -- l_price_updateable = G_PARAMETER_NO
          IF (g_fnd_debug = 'Y') THEN
            IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_EVENT) THEN
              FND_LOG.string ( log_level => FND_LOG.LEVEL_EVENT,
                             module => g_module_prefix||l_proc_name,
                             message => 'Shipment change on '
                             ||l_line_location_id
                             ||': Skip the call to the Pricing API because'
                             ||' price is not updateable on this shipment.' );
Line: 3203

        END IF; -- l_price_updateable
Line: 3273

          PO_DOCUMENT_CHECKS_GRP.check_std_po_price_updateable (
            p_api_version => 1.0,
            x_return_status => l_return_status,
            p_po_line_id => l_po_line_id,
            p_from_price_break => G_PARAMETER_YES,
            p_add_reasons_to_msg_list => G_PARAMETER_NO,
            x_price_updateable => l_price_updateable,
            x_retroactive_price_change => l_retro_price_change
          );
Line: 3289

          IF (l_price_updateable = G_PARAMETER_YES) THEN
          -- Bug 3337426 END

            -- begin bug 3331197:
            -- if there is a need-by date or ship-to location change but no
            -- price change,
            -- then l_line_chg_i is null, and we need to initialize it
            -- because we have to change the price on the line
            -- after calling the pricing API with the changed shipment info
            IF(l_line_chg_i IS NULL) THEN
              l_line_chg_i := find_line_change(p_chg,l_po_line_id);
Line: 3340

          ELSE -- l_price_updateable = G_PARAMETER_NO
            IF (g_fnd_debug = 'Y') THEN
              IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_EVENT) THEN
                FND_LOG.string ( log_level => FND_LOG.LEVEL_EVENT,
                               module => g_module_prefix||l_proc_name,
                               message => 'Line change on ' || l_po_line_id
                               ||': Skip the call to the Pricing API because'
                               ||' price is not updateable on this line.' );
Line: 3350

          END IF; -- l_price_updateable
Line: 3472

   SELECT fsp.inventory_organization_id
         INTO l_fsp_org_id
     FROM  financials_system_parameters fsp;
Line: 3494

         SELECT msi.tracking_quantity_ind,secondary_default_ind,secondary_uom_code
         INTO l_dual_um_ind,l_secondary_default_ind,l_new_sec_uom
         FROM  mtl_system_items_b msi
         WHERE msi.inventory_item_id = p_chg.line_changes.c_item_id(i)
         AND msi.organization_id = l_fsp_org_id;
Line: 3504

          SELECT muom.unit_of_measure
          INTO l_new_sec_uom
          FROM  mtl_units_of_measure muom
          WHERE uom_code = l_new_sec_uom;
Line: 3547

              PO_DOCUMENT_UPDATE_PVT.add_error (
                 p_api_errors      => g_api_errors,
                 x_return_status   => l_return_status,
                 p_message_name    => NULL,
                 p_message_text    => x_data);
Line: 3576

         SELECT msi.tracking_quantity_ind,secondary_default_ind
            INTO l_dual_um_ind,l_secondary_default_ind
         FROM  mtl_system_items_b msi
         WHERE msi.inventory_item_id = p_chg.line_changes.c_item_id(i)
              AND msi.organization_id = l_fsp_org_id;
Line: 3604

               PO_DOCUMENT_UPDATE_PVT.add_error (
               p_api_errors      => g_api_errors,
               x_return_status   => l_return_status,
               p_message_name    => NULL,
               p_message_text    => x_data);
Line: 3650

           p_chg.line_changes.delete_price_adjs(i) := G_PARAMETER_YES;
Line: 3671

    l_delete_record       := p_chg.shipment_changes.delete_record(i);
Line: 3677

        SELECT msi.tracking_quantity_ind,secondary_default_ind
           INTO l_dual_um_ind,l_secondary_default_ind
        FROM  mtl_system_items_b msi
        WHERE msi.inventory_item_id = p_chg.shipment_changes.c_item_id(i)
             AND msi.organization_id = l_fsp_org_id;
Line: 3695

           OR (l_delete_record IS NULL OR l_delete_record = G_PARAMETER_NO) THEN
      g_sec_qty_grade_only_chge_doc := 'Y' ; /* Bug 5366883 Moved this here from outer If statement */
Line: 3708

     PO_DOCUMENT_UPDATE_PVT.add_error(p_api_errors => g_api_errors,
              x_return_status => l_return_status,
              p_message_name => 'PO_SECONDARY_QTY_NOT_REQUIRED');
Line: 3720

          PO_DOCUMENT_UPDATE_PVT.add_error (
               p_api_errors      => g_api_errors,
               x_return_status   => l_return_status,
               p_message_name    => 'PO_DUALFIXED_NO_CONVERSION',
               p_token_name1     => 'PQTY',
               p_token_value1    =>  p_chg.shipment_changes.c_quantity(i),
               p_token_name2     => 'SQTY',
               p_token_value2    =>  l_new_secondary_qty);
Line: 3772

              PO_DOCUMENT_UPDATE_PVT.add_error (
               p_api_errors      => g_api_errors,
               x_return_status   => l_return_status,
               p_message_name    => NULL,
               p_message_text    => x_data);
Line: 3809

           PO_DOCUMENT_UPDATE_PVT.add_error (
               p_api_errors      => g_api_errors,
               x_return_status   => l_return_status,
               p_message_name    => NULL,
               p_message_text    => x_data);
Line: 3935

    IF (g_update_source = G_UPDATE_SOURCE_OM) THEN
      -- For OM (Drop Ship Integration), use the requested Qty2 if it is
      -- present. Otherwise, call the OPM API to derive a new Qty2.
      IF (l_new_quantity2 IS NOT NULL) THEN

        IF (g_fnd_debug = 'Y') THEN
          IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_EVENT) THEN
            FND_LOG.string (
            log_level => FND_LOG.LEVEL_EVENT,
            module => g_module_prefix||l_proc_name,
            message => 'UOM1 and UOM2 are the same between the request and '||
                       'the document. We do not need to call the OPM API.' );
Line: 4060

  SELECT NVL(p_quantity, PLL.quantity),
         NVL(p_ship_to_location_id, PLL.ship_to_location_id),
         NVL(p_need_by_date, NVL(PLL.need_by_date, sysdate)),
         PLL.ship_to_organization_id,
         PLL.po_line_id,
         POL.price_break_lookup_code
  INTO l_quantity,
       l_ship_to_location_id,
       l_need_by_date,
       l_ship_to_org_id,
       l_po_line_id,
       l_price_break_type
  FROM po_line_locations PLL, po_lines POL
  WHERE PLL.line_location_id = p_line_location_id
  AND PLL.po_line_id = POL.po_line_id; -- JOIN
Line: 4163

  SELECT NVL(p_quantity,POL.quantity),
         POL.from_line_id,
         NVL(p_ship_to_location_id, PLL.ship_to_location_id),
         NVL(p_need_by_date, NVL(PLL.need_by_date, sysdate)),
         PLL.ship_to_organization_id,
         -- 
         POL.org_id,
         POL.contract_id,
         POL.po_header_id,
         POL.po_line_id,
         POL.creation_date,
         POL.item_id,
         POL.item_revision,
         POL.category_id,
         POL.line_type_id,
         POL.vendor_product_num,
         POH.vendor_id,
         POH.vendor_site_id,
         POL.unit_meas_lookup_code,
         -- Bug 3417479
         -- NVL(POL.base_unit_price, POL.unit_price)
         POL.base_unit_price,
         POH.currency_code
         -- 
  INTO   l_quantity,
         l_from_line_id,
         l_ship_to_location_id,
         l_need_by_date,
         l_ship_to_org_id,
         -- 
         l_org_id,
         l_contract_id,
         l_order_header_id,
         l_order_line_id,
         l_creation_date,
         l_item_id,
         l_item_revision,
         l_category_id,
         l_line_type_id,
         l_vendor_product_num,
         l_vendor_id,
         l_vendor_site_id,
         l_uom,
         l_in_unit_price,
         l_currency_code    -- Bug 3564863
         -- 
  FROM   po_line_locations PLL, po_lines POL,
         -- 
         po_headers POH
  WHERE  PLL.line_location_id = p_line_location_id
  AND    POL.po_line_id = PLL.po_line_id -- JOIN
  -- 
  AND    POH.po_header_id = POL.po_header_id;
Line: 4293

  SELECT line_location_id
  INTO l_line_location_id
  FROM po_line_locations
  WHERE po_line_id = p_po_line_id
  AND shipment_num = l_min_shipment_num
  AND shipment_type IN ('STANDARD','PLANNED');
Line: 4697

    SELECT po_distribution_id, distribution_num, quantity_ordered, amount_ordered
    FROM po_distributions
    WHERE line_location_id = p_line_location_id
    ORDER by distribution_num ASC;
Line: 4752

        SELECT line_location_id
        INTO l_line_location_id
        FROM po_line_locations
        WHERE po_line_id = p_chg.line_changes.po_line_id(i)
        AND shipment_type in ('STANDARD', 'PLANNED')
        AND NVL(cancel_flag,'N') <> 'Y'
        AND NVL(closed_code,'OPEN') <> 'FINALLY CLOSED';
Line: 4887

      SELECT max(distribution_num)
      INTO l_max_dist_num
      FROM po_distributions
      WHERE line_location_id = NVL(l_parent_line_loc_id, l_line_location_id);
Line: 5186

       SELECT grade_code
     FROM  mtl_grades
     WHERE grade_code = p_grade;
Line: 5208

  l_price_updateable         VARCHAR2(1);
Line: 5245

          select amount
          into l_advance_amount
          from po_line_locations_all
          where payment_type = 'ADVANCE'
          and po_line_id =l_po_line_id ;
Line: 5309

       SELECT SUM(NVL(quantity_received,0)),
              SUM(NVL(quantity_billed,0))
       INTO l_qty_received,
            l_qty_billed
       FROM po_line_locations
       WHERE po_line_id = l_po_line_id
       AND shipment_type IN ('STANDARD', 'PLANNED');
Line: 5330

          SELECT Max(NVL(quantity_received,0)),
                 Max(NVL(quantity_billed,0))
          INTO   l_qty_received,
                 l_qty_billed
          FROM   po_line_locations
          WHERE  po_line_id = l_po_line_id
          AND    shipment_type IN ('STANDARD', 'PLANNED','PREPAYMENT');
Line: 5364

      PO_DOCUMENT_CHECKS_GRP.check_std_po_price_updateable (
        p_api_version => 1.0,
        x_return_status => l_return_status,
        p_po_line_id => l_po_line_id,
        p_from_price_break => p_chg.line_changes.t_from_price_break(i),
        p_add_reasons_to_msg_list => G_PARAMETER_YES,
        x_price_updateable => l_price_updateable,
        x_retroactive_price_change => l_retroactive_price_change
      );
Line: 5380

      IF (l_price_updateable = G_PARAMETER_NO) THEN
        add_message_list_errors (
          p_api_errors => g_api_errors,
          x_return_status => x_return_status,
          p_start_index => l_last_msg_list_index + 1,
          p_entity_type => G_ENTITY_TYPE_LINES,
          p_entity_id => i
        );
Line: 5429

           SELECT SUM(NVL(amount_received,0)),
                  SUM(NVL(amount_billed,0))
           INTO l_amt_received,
                l_amt_billed
           FROM po_line_locations
           WHERE po_line_id = l_po_line_id
           AND shipment_type = 'PREPAYMENT';
Line: 5452

      SELECT SUM(NVL(amount_received,0)),
             SUM(NVL(amount_billed,0))
      INTO l_amt_received,
           l_amt_billed
      FROM po_line_locations
      WHERE po_line_id = l_po_line_id
      AND shipment_type = 'STANDARD';
Line: 5624

    IF (p_chg.line_changes.delete_record(i) = G_PARAMETER_YES) THEN

      ------------------------------------------------------------------------
      -- Check: Prevent line deletion on blankets if the header has been
      -- approved at least once.
      ------------------------------------------------------------------------
      IF  (g_document_type = 'PA') THEN
        IF (g_approved_date IS NOT NULL) THEN
          add_error ( p_api_errors => g_api_errors,
                      x_return_status => x_return_status,
                      p_message_name => 'PO_PO_USE_CANCEL_ON_APRVD_PO2',
                      p_table_name => 'PO_LINES_ALL',
                      p_column_name => NULL,
                      p_entity_type => G_ENTITY_TYPE_LINES,
                      p_entity_id => i);
Line: 5647

        SELECT count(*)
        INTO l_ship_count
        FROM po_line_locations
        WHERE po_line_id = l_po_line_id
        AND approved_date IS NOT NULL;
Line: 5666

        SELECT count(*)
        INTO l_ship_count
        FROM po_line_locations
        WHERE po_line_id = l_po_line_id
        AND encumbered_flag = 'Y';
Line: 5682

    END IF; -- l_delete_record
Line: 5738

       SELECT grade_code
     FROM  mtl_grades
     WHERE grade_code = p_grade;
Line: 5772

  l_new_sales_order_update_date PO_LINE_LOCATIONS.sales_order_update_date%TYPE;
Line: 5778

  l_price_updateable         VARCHAR2(1);
Line: 5816

    l_new_sales_order_update_date :=
      p_chg.shipment_changes.sales_order_update_date(i);
Line: 5894

      PO_DOCUMENT_CHECKS_GRP.check_rel_price_updateable (
        p_api_version => 1.0,
        x_return_status => l_return_status,
        p_line_location_id => l_line_location_id,
        p_from_price_break => p_chg.shipment_changes.t_from_price_break(i),
        p_add_reasons_to_msg_list => G_PARAMETER_YES,
        x_price_updateable => l_price_updateable,
        x_retroactive_price_change => l_retroactive_price_change
      );
Line: 5910

      IF (l_price_updateable = G_PARAMETER_NO) THEN
        add_message_list_errors (
          p_api_errors => g_api_errors,
          x_return_status => x_return_status,
          p_start_index => l_last_msg_list_index + 1,
          p_entity_type => G_ENTITY_TYPE_SHIPMENTS,
          p_entity_id => i
        );
Line: 5968

      SELECT NVL(PLAN.quantity, 0) - NVL(PLAN.quantity_cancelled, 0)
      INTO l_planned_qty
      FROM po_line_locations REL, po_line_locations PLAN
      WHERE REL.line_location_id = l_line_location_id
      AND REL.source_shipment_id = PLAN.line_location_id; -- JOIN
Line: 6029

       AND (NVL(g_update_source,'DEFAULT') <> G_UPDATE_SOURCE_OM)
       AND ((l_new_qty IS NOT NULL) OR (l_new_amt is NOT NULL)
            OR (l_is_split_shipment)OR
            (l_new_secondary_qty IS NOT NULL) OR (l_new_preferred_grade IS NOT NULL)) THEN  -- sschinch INVCONV

      add_error ( p_api_errors => g_api_errors,
                  x_return_status => x_return_status,
                  p_message_name => 'PO_CHNG_CANNOT_MODIFY_DROPSHIP',
                  p_table_name => 'PO_LINE_LOCATIONS_ALL',
                  p_entity_type => G_ENTITY_TYPE_SHIPMENTS,
                  p_entity_id => i );
Line: 6082

        SELECT count(*)
        INTO l_ship_to_loc_valid
        FROM hr_locations_all loc
        WHERE loc.location_id = l_new_ship_to_loc_id
        AND NVL(loc.business_group_id, g_business_group_id )
            = g_business_group_id
        AND loc.ship_to_site_flag = 'Y'
        AND NVL(loc.inventory_organization_id, l_ship_to_org_id)
            = l_ship_to_org_id
        AND sysdate < NVL(loc.inactive_date, sysdate+1);
Line: 6099

    /*    SELECT count(*)
        INTO l_ship_to_loc_valid
        FROM hz_locations hz,
             hz_party_sites ps,
             hz_cust_site_uses_all su,
             hz_cust_acct_sites_all asa,
             hz_cust_accounts cu,
             oe_order_lines_all oel,
             oe_drop_ship_sources oedp
        WHERE hz.location_id = l_new_ship_to_loc_id
        AND oedp.line_location_id = l_line_location_id
        AND oedp.line_id = oel.line_id                   -- JOIN
        AND oel.sold_to_org_id = cu.party_id             -- JOIN
        AND cu.cust_account_id = asa.cust_account_id     -- JOIN
        AND asa.cust_acct_site_id = su.cust_acct_site_id -- JOIN
        AND su.site_use_code = 'SHIP_TO'
        AND asa.party_site_id = ps.party_site_id         -- JOIN
        AND ps.location_id = hz.location_id;             -- JOIN */
Line: 6121

        SELECT count(*)
        into l_ship_to_loc_valid
        FROM  hz_cust_site_uses_all site,
              hz_party_sites party_site,
              hz_locations loc,
              hz_cust_acct_sites_all acct_site ,
              oe_order_lines_all oel,
              oe_drop_ship_sources oedp
        WHERE oedp.line_location_id =  l_line_location_id
        AND loc.location_id = l_new_ship_to_loc_id
        AND site.site_use_code = 'SHIP_TO'
        AND site.cust_acct_site_id = acct_site.cust_acct_site_id
        AND acct_site.party_site_id = party_site.party_site_id
        AND party_site.location_id = loc.location_id
        AND acct_site.cust_account_id = oel.sold_to_org_id
        AND oedp.line_id = oel.line_id
        AND site.status ='A'
        AND acct_site.status ='A' ;
Line: 6144

              SELECT Count(*)
                INTO  l_ship_to_loc_valid
                FROM hz_cust_site_uses_all site,
                     hz_party_sites party_site,
                     hz_locations loc,
                     hz_cust_acct_sites_all acct_site ,
                     oe_order_lines_all oel,
                     oe_drop_ship_sources oedp,
                     hz_cust_acct_relate_all  rel
                WHERE oedp.line_location_id =  l_line_location_id
                 AND loc.location_id =  l_new_ship_to_loc_id
                 AND site.site_use_code = 'SHIP_TO'
                 AND site.cust_acct_site_id = acct_site.cust_acct_site_id
                 AND acct_site.party_site_id = party_site.party_site_id
                 AND party_site.location_id = loc.location_id
                 AND acct_site.cust_account_id = rel.cust_account_id  --bug 6401009
                 AND rel.related_cust_account_id = oel.sold_to_org_id --bug 6401009
                 AND rel.ship_to_flag = 'Y'
                 AND rel.status = 'A'
                 AND rel.org_id = acct_site.org_id
                 AND oedp.line_id = oel.line_id
                 AND site.status ='A'
                 AND acct_site.status ='A' ;
Line: 6211

      IF (l_new_sales_order_update_date IS NOT NULL) THEN
        add_error ( p_api_errors => g_api_errors,
                    x_return_status => x_return_status,
                    p_message_name => 'PO_CHNG_DROPSHIP_RCV_SHIP_QTY',
                    p_table_name => 'PO_LINE_LOCATIONS_ALL',
                    p_column_name => 'SALES_ORDER_UPDATE_DATE',
                    p_entity_type => G_ENTITY_TYPE_SHIPMENTS,
                    p_entity_id => i );
Line: 6227

    IF (p_chg.shipment_changes.delete_record(i) = G_PARAMETER_YES) THEN

      ------------------------------------------------------------------------
      -- Check: Prevent delete if the shipment has been approved at least once.
      ------------------------------------------------------------------------
      IF (l_approved_date IS NOT NULL) THEN
        IF (l_shipment_type = 'PRICE BREAK') THEN
          l_message_name := 'PO_CANT_DELETE_PB_ON_APRVD_PO';
Line: 6260

    END IF; -- l_delete_record
Line: 6377

    IF (p_chg.distribution_changes.delete_record(i) = G_PARAMETER_YES) THEN

      ------------------------------------------------------------------------
      -- Check: Prevent delete if the distribution was created before the
      -- last PO approval date.
      ------------------------------------------------------------------------
      IF (p_chg.distribution_changes.c_creation_date(i) <= g_approved_date) THEN
        add_error ( p_api_errors => g_api_errors,
                    x_return_status => x_return_status,
                    p_message_name => 'PO_CANT_DELETE_PB_ON_APRVD_PO',
                    p_table_name => 'PO_DISTRIBUTIONS_ALL',
                    p_column_name => NULL,
                    p_entity_type => G_ENTITY_TYPE_DISTRIBUTIONS,
                    p_entity_id => i);
Line: 6425

                    p_message_name => 'PO_PO_DELETE_DEL_DIST_NA',
                    p_table_name => 'PO_DISTRIBUTIONS_ALL',
                    p_column_name => NULL,
                    p_entity_type => G_ENTITY_TYPE_DISTRIBUTIONS,
                    p_entity_id => i);
Line: 6438

                    p_message_name => 'PO_PO_DELETE_DIST_BILLED_NA',
                    p_table_name => 'PO_DISTRIBUTIONS_ALL',
                    p_column_name => NULL,
                    p_entity_type => G_ENTITY_TYPE_DISTRIBUTIONS,
                    p_entity_id => i);
Line: 6445

    END IF; -- l_delete_record
Line: 6801

    UPDATE po_lines_all  /* Changed po_lines to po_lines_all */
    SET last_update_date = sysdate,
        last_updated_by = g_user_id,
        request_id = decode(g_request_id,null,request_id,-1,request_id,g_request_id), /*bug 7278327, update the request_id with the concerned concurrent_request_id*/
        unit_price = nvl(p_chg.line_changes.unit_price(i), unit_price),
        -- 
        base_unit_price = nvl(p_chg.line_changes.t_base_unit_price(i),
                              base_unit_price),

        vendor_product_num =
          nvl(p_chg.line_changes.vendor_product_num(i), vendor_product_num),
        quantity = nvl(p_chg.line_changes.quantity(i), quantity),
        start_date = nvl(p_chg.line_changes.start_date(i), start_date),
        expiration_date =
          nvl(p_chg.line_changes.expiration_date(i), expiration_date),
        amount = nvl(p_chg.line_changes.amount(i), amount),
        secondary_quantity =
          nvl(p_chg.line_changes.secondary_quantity(i), secondary_quantity),

        -- t_from_line_location_id has the following meaning:
        -- NULL           : no change
        -- G_NULL_NUM     : Set from_line_location_id to NULL.
        -- any other value: Set from_line_location_id to that value.
        from_line_location_id =
          decode ( p_chg.line_changes.t_from_line_location_id(i),
                   NULL, from_line_location_id,
                   G_NULL_NUM, NULL,
                   p_chg.line_changes.t_from_line_location_id(i) ),

        -- 
        -- Reset the "Amount Billed notification sent" flag to NULL if there
        -- is an Amount change.
        svc_amount_notif_sent =
          decode ( p_chg.line_changes.amount(i),
                   NULL, svc_amount_notif_sent, NULL ),
        -- Reset the "Assignment Completion notification sent" flag to NULL
        -- if there is an Assignment End Date change.
        svc_completion_notif_sent =
          decode ( p_chg.line_changes.expiration_date(i),
                   NULL, svc_completion_notif_sent, NULL ),
        -- 

        -- 
        manual_price_change_flag =
          NVL(p_chg.line_changes.t_manual_price_change_flag(i),
              manual_price_change_flag),
        -- 
        preferred_grade = nvl(p_chg.line_changes.preferred_grade(i),preferred_grade),  --INVCONV sschinch
        secondary_unit_of_measure = NVL(p_chg.line_changes.t_new_secondary_uom(i),secondary_unit_of_measure) --INVCONV
       ,tax_attribute_update_code =
          NVL(tax_attribute_update_code,NVL2(g_calculate_tax_flag, 'UPDATE', null)) --
    WHERE po_line_id = p_chg.line_changes.po_line_id(i);
Line: 6858

     UPDATE po_distributions_all   /* Changed po_distributions to po_distributions_all */
       SET amount_changed_flag = 'Y'
       WHERE po_line_id = p_chg.line_changes.po_line_id(i)
       AND Nvl(amount_changed_flag, 'N') <> 'Y'
       AND distribution_type = 'STANDARD';
Line: 6875

    UPDATE po_line_locations_all PLL
    SET last_update_date = sysdate,
        last_updated_by = g_user_id,
        request_id = decode(g_request_id,null,PLL.request_id,-1,PLL.request_id,g_request_id), /*bug 7278327, update the request_id with the concerned concurrent_request_id*/
  --    approved_flag = decode(approved_flag, 'Y', 'R', approved_flag),
        approved_flag = decode(approved_flag, 'Y', decode(p_chg.shipment_changes.t_sec_qty_grade_change_only(i),'Y','Y','R'), approved_flag), /* sschinch 09/08 invconv */

        quantity = nvl(p_chg.shipment_changes.quantity(i),quantity),
        promised_date =
          nvl(p_chg.shipment_changes.promised_date(i), promised_date),
        price_override =
          nvl(p_chg.shipment_changes.price_override(i), price_override),
        need_by_date =
          nvl(p_chg.shipment_changes.need_by_date(i), need_by_date),
        ship_to_location_id =
          nvl(p_chg.shipment_changes.ship_to_location_id(i),
              ship_to_location_id),
        sales_order_update_date =
          nvl(p_chg.shipment_changes.sales_order_update_date(i),
              sales_order_update_date),
        amount = nvl(p_chg.shipment_changes.amount(i), amount),
        secondary_quantity =
          nvl(p_chg.shipment_changes.secondary_quantity(i), secondary_quantity),
        -- 
        manual_price_change_flag =
          NVL(p_chg.shipment_changes.t_manual_price_change_flag(i),
              manual_price_change_flag),
        -- 
        preferred_grade = nvl(p_chg.shipment_changes.preferred_grade(i),preferred_grade)   -- sschinch 09/08 INVCONV
       ,tax_attribute_update_code =
         NVL(tax_attribute_update_code,NVL2(g_calculate_tax_flag, 'UPDATE', null)), --
        -- 
        -- update last_accept_date also when promised_date changes
        last_accept_date =
          NVL(p_chg.shipment_changes.promised_date(i), promised_date)
          + days_late_receipt_allowed
    WHERE p_chg.shipment_changes.po_line_location_id(i) IS NOT NULL
    AND line_location_id = p_chg.shipment_changes.po_line_location_id(i);
Line: 6918

     UPDATE po_distributions_all
       SET amount_changed_flag = 'Y'
       WHERE line_location_id = p_chg.shipment_changes.po_line_location_id(i)
       AND Nvl(amount_changed_flag, 'N') <> 'Y'
       AND distribution_type = 'STANDARD';
Line: 6934

    UPDATE po_distributions_all
    SET last_update_date = sysdate,
        last_updated_by = g_user_id,
        request_id = decode(g_request_id,null,request_id,-1,request_id,g_request_id), /*bug 7278327, update the request_id with the concerned concurrent_request_id*/
        quantity_ordered =
          nvl(p_chg.distribution_changes.quantity_ordered(i), quantity_ordered),
        amount_ordered =
          nvl(p_chg.distribution_changes.amount_ordered(i), amount_ordered)
       ,tax_attribute_update_code =
          NVL(tax_attribute_update_code,NVL2(g_calculate_tax_flag, 'UPDATE', null)) --
    WHERE p_chg.distribution_changes.po_distribution_id(i) IS NOT NULL
    AND po_distribution_id = p_chg.distribution_changes.po_distribution_id(i);
Line: 6951

     UPDATE po_distributions_all
       SET amount_changed_flag = 'Y'
       WHERE po_distribution_id = p_chg.distribution_changes.po_distribution_id(i)
       AND Nvl(amount_changed_flag, 'N') <> 'Y'
       AND distribution_type = 'STANDARD';
Line: 6985

        PO_PRICE_DIFFERENTIALS_PVT.delete_price_differentials (
          p_entity_type => l_po_entity_type,
          p_entity_id   => l_po_entity_id
        );
Line: 7009

      UPDATE po_lines_all POL
      SET last_update_date = sysdate,
          last_updated_by = g_user_id,
          retroactive_date = sysdate
      WHERE POL.po_line_id = p_chg.line_changes.po_line_id(i)
      AND p_chg.line_changes.unit_price(i) IS NOT NULL
      AND NVL(POL.price_break_lookup_code,'NON CUMULATIVE')
          = 'NON CUMULATIVE';
Line: 7021

      UPDATE po_lines_all POL
      SET last_update_date = sysdate,
          last_updated_by = g_user_id,
          retroactive_date = sysdate
      WHERE POL.po_line_id = p_chg.shipment_changes.c_po_line_id(i)
      AND (p_chg.shipment_changes.price_override(i) IS NOT NULL
           OR p_chg.shipment_changes.quantity(i) IS NOT NULL
           OR p_chg.shipment_changes.ship_to_location_id(i) IS NOT NULL)
      AND NVL(POL.price_break_lookup_code,'NON CUMULATIVE')
          = 'NON CUMULATIVE';
Line: 7036

      UPDATE po_line_locations_all PLL
      SET last_update_date = sysdate,
          last_updated_by = g_user_id,
          price_discount =
            (SELECT (POL.unit_price - p_chg.shipment_changes.price_override(i))
                    * 100 / POL.unit_price
             FROM po_lines POL
             WHERE POL.po_line_id = PLL.po_line_id
             AND POL.unit_price <> 0)
      WHERE PLL.line_location_id
            = p_chg.shipment_changes.po_line_location_id(i)
      AND p_chg.shipment_changes.price_override(i) IS NOT NULL;
Line: 7052

  delete_records ( p_chg );
Line: 7109

      UPDATE po_headers_all
      SET last_update_date = sysdate,
          last_updated_by = g_user_id,
          authorization_status =
          decode(authorization_status,
                 'APPROVED','REQUIRES REAPPROVAL', authorization_status),
          approved_flag = decode(approved_flag, 'Y', 'R', approved_flag),
          revision_num = l_new_revision_num,
          revised_date = decode(l_new_revision_num,
                                g_revision_num, revised_date, sysdate),

        -- 
          acceptance_required_flag =
          NVL(l_acceptance_required_flag, acceptance_required_flag)
        -- 
     WHERE po_header_id = g_po_header_id
     RETURNING authorization_status INTO l_new_auth_status; -- 
Line: 7149

      UPDATE po_releases_all
      SET last_update_date = sysdate,
          last_updated_by = g_user_id,
          authorization_status =
          decode(authorization_status,
                 'APPROVED', 'REQUIRES REAPPROVAL', authorization_status),
          approved_flag = decode(approved_flag, 'Y', 'R', approved_flag),
          revision_num =  l_new_revision_num,
          revised_date = decode(l_new_revision_num,
                                g_revision_num, revised_date, sysdate)
      WHERE po_release_id = g_po_release_id;
Line: 7233

      SELECT PO_LINE_LOCATIONS_S.nextval
      INTO l_line_location_id
      FROM dual;
Line: 7248

    INSERT INTO po_line_locations_all
    (
         LINE_LOCATION_ID                         ,
         LAST_UPDATE_DATE                         ,
         LAST_UPDATED_BY                          ,
         PO_HEADER_ID                             ,
         PO_LINE_ID                               ,
         LAST_UPDATE_LOGIN                        ,
         CREATION_DATE                            ,
         CREATED_BY                               ,
         QUANTITY                                 ,
         QUANTITY_RECEIVED                        ,
         QUANTITY_ACCEPTED                        ,
         QUANTITY_REJECTED                        ,
         QUANTITY_BILLED                          ,
         QUANTITY_CANCELLED                       ,
         UNIT_MEAS_LOOKUP_CODE                    ,
         PO_RELEASE_ID                            ,
         SHIP_TO_LOCATION_ID                      ,
         SHIP_VIA_LOOKUP_CODE                     ,
         NEED_BY_DATE                             ,
         PROMISED_DATE                            ,
         LAST_ACCEPT_DATE                         ,
         PRICE_OVERRIDE                           ,
         ENCUMBERED_FLAG                          ,
         ENCUMBERED_DATE                          ,
         UNENCUMBERED_QUANTITY                    ,
         FOB_LOOKUP_CODE                          ,
         FREIGHT_TERMS_LOOKUP_CODE                ,
         TAXABLE_FLAG                             ,
         ESTIMATED_TAX_AMOUNT                     ,
         FROM_HEADER_ID                           ,
         FROM_LINE_ID                             ,
         FROM_LINE_LOCATION_ID                    ,
         START_DATE                               ,
         END_DATE                                 ,
         LEAD_TIME                                ,
         LEAD_TIME_UNIT                           ,
         PRICE_DISCOUNT                           ,
         TERMS_ID                                 ,
         APPROVED_FLAG                            ,
         APPROVED_DATE                            ,
         CLOSED_FLAG                              ,
         CANCEL_FLAG                              ,
         CANCELLED_BY                             ,
         CANCEL_DATE                              ,
         CANCEL_REASON                            ,
         FIRM_STATUS_LOOKUP_CODE                  ,
         FIRM_DATE                                ,
         ATTRIBUTE_CATEGORY                       ,
         ATTRIBUTE1                               ,
         ATTRIBUTE2                               ,
         ATTRIBUTE3                               ,
         ATTRIBUTE4                               ,
         ATTRIBUTE5                               ,
         ATTRIBUTE6                               ,
         ATTRIBUTE7                               ,
         ATTRIBUTE8                               ,
         ATTRIBUTE9                               ,
         ATTRIBUTE10                              ,
         UNIT_OF_MEASURE_CLASS                    ,
         ENCUMBER_NOW                             ,
         ATTRIBUTE11                              ,
         ATTRIBUTE12                              ,
         ATTRIBUTE13                              ,
         ATTRIBUTE14                              ,
         ATTRIBUTE15                              ,
         INSPECTION_REQUIRED_FLAG                 ,
         RECEIPT_REQUIRED_FLAG                    ,
         QTY_RCV_TOLERANCE                        ,
         QTY_RCV_EXCEPTION_CODE                   ,
         ENFORCE_SHIP_TO_LOCATION_CODE            ,
         ALLOW_SUBSTITUTE_RECEIPTS_FLAG           ,
         DAYS_EARLY_RECEIPT_ALLOWED               ,
         DAYS_LATE_RECEIPT_ALLOWED                ,
         RECEIPT_DAYS_EXCEPTION_CODE              ,
         INVOICE_CLOSE_TOLERANCE                  ,
         RECEIVE_CLOSE_TOLERANCE                  ,
         SHIP_TO_ORGANIZATION_ID                  ,
         SHIPMENT_NUM                             ,
         SOURCE_SHIPMENT_ID                       ,
         SHIPMENT_TYPE                            ,
         CLOSED_CODE                              ,
         REQUEST_ID                               ,
         PROGRAM_APPLICATION_ID                   ,
         PROGRAM_ID                               ,
         PROGRAM_UPDATE_DATE                      ,
         GOVERNMENT_CONTEXT                       ,
         RECEIVING_ROUTING_ID                     ,
         ACCRUE_ON_RECEIPT_FLAG                   ,
         CLOSED_REASON                            ,
         CLOSED_DATE                              ,
         CLOSED_BY                                ,
         ORG_ID                                   ,
         GLOBAL_ATTRIBUTE1                        ,
         GLOBAL_ATTRIBUTE2                        ,
         GLOBAL_ATTRIBUTE3                        ,
         GLOBAL_ATTRIBUTE4                        ,
         GLOBAL_ATTRIBUTE5                        ,
         GLOBAL_ATTRIBUTE6                        ,
         GLOBAL_ATTRIBUTE7                        ,
         GLOBAL_ATTRIBUTE8                        ,
         GLOBAL_ATTRIBUTE9                        ,
         GLOBAL_ATTRIBUTE10                       ,
         GLOBAL_ATTRIBUTE11                       ,
         GLOBAL_ATTRIBUTE12                       ,
         GLOBAL_ATTRIBUTE13                       ,
         GLOBAL_ATTRIBUTE14                       ,
         GLOBAL_ATTRIBUTE15                       ,
         GLOBAL_ATTRIBUTE16                       ,
         GLOBAL_ATTRIBUTE17                       ,
         GLOBAL_ATTRIBUTE18                       ,
         GLOBAL_ATTRIBUTE19                       ,
         GLOBAL_ATTRIBUTE20                       ,
         GLOBAL_ATTRIBUTE_CATEGORY                ,
         QUANTITY_SHIPPED                         ,
         COUNTRY_OF_ORIGIN_CODE                   ,
         TAX_USER_OVERRIDE_FLAG                   ,
         MATCH_OPTION                             ,
         TAX_CODE_ID                              ,
         CALCULATE_TAX_FLAG                       ,
         CHANGE_PROMISED_DATE_REASON              ,
         NOTE_TO_RECEIVER                         ,
         SECONDARY_QUANTITY                       ,
         SECONDARY_UNIT_OF_MEASURE                ,
         PREFERRED_GRADE                          ,
         SECONDARY_QUANTITY_RECEIVED              ,
         SECONDARY_QUANTITY_ACCEPTED              ,
         SECONDARY_QUANTITY_REJECTED              ,
         SECONDARY_QUANTITY_CANCELLED             ,
         VMI_FLAG                                 ,
         CONSIGNED_FLAG                           ,
         RETROACTIVE_DATE                         ,
         SUPPLIER_ORDER_LINE_NUMBER               ,
         AMOUNT                                   ,
         AMOUNT_RECEIVED                          ,
         AMOUNT_BILLED                            ,
         AMOUNT_CANCELLED                         ,
         AMOUNT_REJECTED                          ,
         AMOUNT_ACCEPTED                          ,
         DROP_SHIP_FLAG                           ,
         SALES_ORDER_UPDATE_DATE                  ,
         TRANSACTION_FLOW_HEADER_ID               ,
         -- :
         MANUAL_PRICE_CHANGE_FLAG     ,
         -- 
         PAYMENT_TYPE         ,
   DESCRIPTION          ,
   QUANTITY_FINANCED        ,
   AMOUNT_FINANCED        ,
   QUANTITY_RECOUPED          ,
   AMOUNT_RECOUPED        ,
   RETAINAGE_WITHHELD_AMOUNT      ,
   RETAINAGE_RELEASED_AMOUNT,
   OUTSOURCED_ASSEMBLY,
   tax_attribute_update_code, --
   original_shipment_id,       --
   MATCHING_BASIS,            -- FPS Enhancement
   VALUE_BASIS                -- FPS Enhancement
     )
     SELECT
         p_chg.shipment_changes.po_line_location_id(i), -- LINE_LOCATION_ID
         sysdate                                  , -- LAST_UPDATE_DATE
         g_user_id                                , -- LAST_UPDATED_BY
         PO_HEADER_ID                             ,
         PO_LINE_ID                               ,
         LAST_UPDATE_LOGIN                        ,
         sysdate                                  , -- CREATION_DATE
         g_user_id                                , -- CREATED_BY
         nvl(p_chg.shipment_changes.quantity(i),
             QUANTITY)                            , -- QUANTITY
         decode(quantity_received, null, null, 0) , -- QUANTITY_RECEIVED
         decode(quantity_accepted, null, null, 0) , -- QUANTITY_ACCEPTED
         decode(quantity_rejected, null, null, 0) , -- QUANTITY_REJECTED
         decode(quantity_billed, null, null, 0)   , -- QUANTITY_BILLED
         decode(quantity_cancelled, null, null, 0) , -- QUANTITY_CANCELLED
         UNIT_MEAS_LOOKUP_CODE                    ,
         PO_RELEASE_ID                            ,
         nvl(p_chg.shipment_changes.ship_to_location_id(i),
             SHIP_TO_LOCATION_ID)                 , -- SHIP_TO_LOCATION_ID
         SHIP_VIA_LOOKUP_CODE                     ,
         nvl(p_chg.shipment_changes.need_by_date(i),
             NEED_BY_DATE)                        , -- NEED_BY_DATE
         nvl(p_chg.shipment_changes.promised_date(i),
             PROMISED_DATE)                       , -- PROMISED_DATE
         LAST_ACCEPT_DATE                         ,
         nvl(p_chg.shipment_changes.price_override(i),
             PRICE_OVERRIDE)                      , -- PRICE_OVERRIDE
         NULL                                     , -- ENCUMBERED_FLAG
         NULL                                     , -- ENCUMBERED_DATE
         NULL                                     , -- UNENCUMBERED_QUANTITY
         FOB_LOOKUP_CODE                          ,
         FREIGHT_TERMS_LOOKUP_CODE                ,
         TAXABLE_FLAG                             ,
         decode(estimated_tax_amount, null, null, 0) , -- ESTIMATED_TAX_AMOUNT
         FROM_HEADER_ID                           ,
         FROM_LINE_ID                             ,
         FROM_LINE_LOCATION_ID                    ,
         START_DATE                               ,
         END_DATE                                 ,
         LEAD_TIME                                ,
         LEAD_TIME_UNIT                           ,
         PRICE_DISCOUNT                           ,
         TERMS_ID                                 ,
         'N'                                      , -- APPROVED_FLAG
         NULL                                     , -- APPROVED_DATE
         NULL                                     , -- CLOSED_FLAG
         'N'                                      , -- CANCEL_FLAG
         NULL                                     , -- CANCELLED_BY
         NULL                                     , -- CANCEL_DATE
         NULL                                     , -- CANCEL_REASON
         FIRM_STATUS_LOOKUP_CODE                  ,
         FIRM_DATE                                ,
         ATTRIBUTE_CATEGORY                       ,
         ATTRIBUTE1                               ,
         ATTRIBUTE2                               ,
         ATTRIBUTE3                               ,
         ATTRIBUTE4                               ,
         ATTRIBUTE5                               ,
         ATTRIBUTE6                               ,
         ATTRIBUTE7                               ,
         ATTRIBUTE8                               ,
         ATTRIBUTE9                               ,
         ATTRIBUTE10                              ,
         UNIT_OF_MEASURE_CLASS                    ,
         ENCUMBER_NOW                             ,
         ATTRIBUTE11                              ,
         ATTRIBUTE12                              ,
         ATTRIBUTE13                              ,
         ATTRIBUTE14                              ,
         ATTRIBUTE15                              ,
         INSPECTION_REQUIRED_FLAG                 ,
         RECEIPT_REQUIRED_FLAG                    ,
         QTY_RCV_TOLERANCE                        ,
         QTY_RCV_EXCEPTION_CODE                   ,
         ENFORCE_SHIP_TO_LOCATION_CODE            ,
         ALLOW_SUBSTITUTE_RECEIPTS_FLAG           ,
         DAYS_EARLY_RECEIPT_ALLOWED               ,
         DAYS_LATE_RECEIPT_ALLOWED                ,
         RECEIPT_DAYS_EXCEPTION_CODE              ,
         INVOICE_CLOSE_TOLERANCE                  ,
         RECEIVE_CLOSE_TOLERANCE                  ,
         SHIP_TO_ORGANIZATION_ID                  ,
         p_chg.shipment_changes.split_shipment_num(i), -- SHIPMENT_NUM
         SOURCE_SHIPMENT_ID                       ,
         SHIPMENT_TYPE                            ,
         'OPEN'                                   , -- CLOSED_CODE
         NULL                                     , -- REQUEST_ID
         NULL                                     , -- PROGRAM_APPLICATION_ID
         NULL                                     , -- PROGRAM_ID
         NULL                                     , -- PROGRAM_UPDATE_DATE
         GOVERNMENT_CONTEXT                       ,
         RECEIVING_ROUTING_ID                     ,
         ACCRUE_ON_RECEIPT_FLAG                   ,
         NULL                                     , -- CLOSED_REASON
         NULL                                     , -- CLOSED_DATE
         NULL                                     , -- CLOSED_BY
         ORG_ID                                   ,
         GLOBAL_ATTRIBUTE1                        ,
         GLOBAL_ATTRIBUTE2                        ,
         GLOBAL_ATTRIBUTE3                        ,
         GLOBAL_ATTRIBUTE4                        ,
         GLOBAL_ATTRIBUTE5                        ,
         GLOBAL_ATTRIBUTE6                        ,
         GLOBAL_ATTRIBUTE7                        ,
         GLOBAL_ATTRIBUTE8                        ,
         GLOBAL_ATTRIBUTE9                        ,
         GLOBAL_ATTRIBUTE10                       ,
         GLOBAL_ATTRIBUTE11                       ,
         GLOBAL_ATTRIBUTE12                       ,
         GLOBAL_ATTRIBUTE13                       ,
         GLOBAL_ATTRIBUTE14                       ,
         GLOBAL_ATTRIBUTE15                       ,
         GLOBAL_ATTRIBUTE16                       ,
         GLOBAL_ATTRIBUTE17                       ,
         GLOBAL_ATTRIBUTE18                       ,
         GLOBAL_ATTRIBUTE19                       ,
         GLOBAL_ATTRIBUTE20                       ,
         GLOBAL_ATTRIBUTE_CATEGORY                ,
         decode(quantity_shipped, null, null, 0)  , -- QUANTITY_SHIPPED
         COUNTRY_OF_ORIGIN_CODE                   ,
         TAX_USER_OVERRIDE_FLAG                   ,
         MATCH_OPTION                             ,
         TAX_CODE_ID                              ,
         CALCULATE_TAX_FLAG                       ,
         CHANGE_PROMISED_DATE_REASON              ,
         NOTE_TO_RECEIVER                         ,
         NVL(p_chg.shipment_changes.secondary_quantity(i),
             decode(secondary_quantity, NULL, NULL, 0)), -- SECONDARY_QUANTITY
         SECONDARY_UNIT_OF_MEASURE                ,
         PREFERRED_GRADE                          ,
         decode(secondary_quantity_received,
                NULL, NULL, 0)               , -- SECONDARY_QUANTITY_RECEIVED
         decode(secondary_quantity_accepted,
                NULL, NULL, 0)               , -- SECONDARY_QUANTITY_ACCEPTED
         decode(secondary_quantity_rejected,
                NULL, NULL, 0)               , -- SECONDARY_QUANTITY_REJECTED
         decode(secondary_quantity_cancelled,
                NULL, NULL, 0)               , -- SECONDARY_QUANTITY_CANCELLED
         VMI_FLAG                                 ,
         CONSIGNED_FLAG                           ,
         NULL                                     , -- RETROACTIVE_DATE
         nvl(p_chg.shipment_changes.new_supp_order_line_no(i),
             SUPPLIER_ORDER_LINE_NUMBER),

         p_chg.shipment_changes.amount(i) , -- AMOUNT
         decode(amount_received, null, null, 0)   , -- AMOUNT_RECEIVED
         decode(amount_billed, null, null, 0)     , -- AMOUNT_BILLED
         decode(amount_cancelled, null, null, 0)  , -- AMOUNT_CANCELLED
         decode(amount_rejected, null, null, 0)   , -- AMOUNT_REJECTED
         decode(amount_accepted, null, null, 0)   , -- AMOUNT_ACCEPTED
         DROP_SHIP_FLAG                           ,
         NULL                                     , -- SALES_ORDER_UPDATE_DATE
         TRANSACTION_FLOW_HEADER_ID               ,
         -- :
         p_chg.shipment_changes.t_manual_price_change_flag(i),
         -- 
         nvl(p_chg.shipment_changes.payment_type(i),'')      ,
   nvl(p_chg.shipment_changes.description(i),'')       ,
   decode(quantity_financed,null,null,0)         ,
decode(amount_financed,null,null,0)           ,
  decode(quantity_recouped,null,null,0)         ,
   decode(amount_recouped,null,null,0)         ,
   decode(retainage_withheld_amount,null,null,0)       ,
   decode(retainage_released_amount,null,null,0),
   outsourced_assembly,
   nvl2(g_calculate_tax_flag, 'CREATE', null), --
   line_location_id,                            --
   decode(p_chg.shipment_changes.payment_type(i),'RATE','QUANTITY',matching_basis),  -- FPS Enhancement
   decode(p_chg.shipment_changes.payment_type(i),'RATE','QUANTITY',value_basis) -- FPS Enhancement
      FROM po_line_locations
      WHERE p_chg.shipment_changes.parent_line_location_id(i) IS NOT NULL
      AND line_location_id = p_chg.shipment_changes.parent_line_location_id(i);
Line: 7642

    SELECT PO_DISTRIBUTIONS_S.nextval
    INTO l_po_distribution_id
    FROM dual;
Line: 7679

    INSERT INTO po_distributions_all (
      PO_DISTRIBUTION_ID                          ,
      LAST_UPDATE_DATE                            ,
      LAST_UPDATED_BY                             ,
      PO_HEADER_ID                                ,
      PO_LINE_ID                                  ,
      LINE_LOCATION_ID                            ,
      SET_OF_BOOKS_ID                             ,
      CODE_COMBINATION_ID                         ,
      QUANTITY_ORDERED                            ,
      LAST_UPDATE_LOGIN                           ,
      CREATION_DATE                               ,
      CREATED_BY                                  ,
      PO_RELEASE_ID                               ,
      QUANTITY_DELIVERED                          ,
      QUANTITY_BILLED                             ,
      QUANTITY_CANCELLED                          ,
      REQ_HEADER_REFERENCE_NUM                    ,
      REQ_LINE_REFERENCE_NUM                      ,
      REQ_DISTRIBUTION_ID                         ,
      DELIVER_TO_LOCATION_ID                      ,
      DELIVER_TO_PERSON_ID                        ,
      RATE_DATE                                   ,
      RATE                                        ,
      AMOUNT_BILLED                               ,
      ACCRUED_FLAG                                ,
      ENCUMBERED_FLAG                             ,
      ENCUMBERED_AMOUNT                           ,
      UNENCUMBERED_QUANTITY                       ,
      UNENCUMBERED_AMOUNT                         ,
      FAILED_FUNDS_LOOKUP_CODE                    ,
      GL_ENCUMBERED_DATE                          ,
      GL_ENCUMBERED_PERIOD_NAME                   ,
      GL_CANCELLED_DATE                           ,
      DESTINATION_TYPE_CODE                       ,
      DESTINATION_ORGANIZATION_ID                 ,
      DESTINATION_SUBINVENTORY                    ,
      ATTRIBUTE_CATEGORY                          ,
      ATTRIBUTE1                                  ,
      ATTRIBUTE2                                  ,
      ATTRIBUTE3                                  ,
      ATTRIBUTE4                                  ,
      ATTRIBUTE5                                  ,
      ATTRIBUTE6                                  ,
      ATTRIBUTE7                                  ,
      ATTRIBUTE8                                  ,
      ATTRIBUTE9                                  ,
      ATTRIBUTE10                                 ,
      ATTRIBUTE11                                 ,
      ATTRIBUTE12                                 ,
      ATTRIBUTE13                                 ,
      ATTRIBUTE14                                 ,
      ATTRIBUTE15                                 ,
      WIP_ENTITY_ID                               ,
      WIP_OPERATION_SEQ_NUM                       ,
      WIP_RESOURCE_SEQ_NUM                        ,
      WIP_REPETITIVE_SCHEDULE_ID                  ,
      WIP_LINE_ID                                 ,
      BOM_RESOURCE_ID                             ,
      BUDGET_ACCOUNT_ID                           ,
      ACCRUAL_ACCOUNT_ID                          ,
      VARIANCE_ACCOUNT_ID                         ,
      PREVENT_ENCUMBRANCE_FLAG                    ,
      GOVERNMENT_CONTEXT                          ,
      DESTINATION_CONTEXT                         ,
      DISTRIBUTION_NUM                            ,
      SOURCE_DISTRIBUTION_ID                      ,
      REQUEST_ID                                  ,
      PROGRAM_APPLICATION_ID                      ,
      PROGRAM_ID                                  ,
      PROGRAM_UPDATE_DATE                         ,
      PROJECT_ID                                  ,
      TASK_ID                                     ,
      EXPENDITURE_TYPE                            ,
      PROJECT_ACCOUNTING_CONTEXT                  ,
      EXPENDITURE_ORGANIZATION_ID                 ,
      GL_CLOSED_DATE                              ,
      ACCRUE_ON_RECEIPT_FLAG                      ,
      EXPENDITURE_ITEM_DATE                       ,
      ORG_ID                                      ,
      KANBAN_CARD_ID                              ,
      AWARD_ID                                    ,
      MRC_RATE_DATE                               ,
      MRC_RATE                                    ,
      MRC_ENCUMBERED_AMOUNT                       ,
      MRC_UNENCUMBERED_AMOUNT                     ,
      END_ITEM_UNIT_NUMBER                        ,
      TAX_RECOVERY_OVERRIDE_FLAG                  ,
      RECOVERABLE_TAX                             ,
      NONRECOVERABLE_TAX                          ,
      RECOVERY_RATE                               ,
      OKE_CONTRACT_LINE_ID                        ,
      OKE_CONTRACT_DELIVERABLE_ID                 ,
      AMOUNT_ORDERED                              ,
      AMOUNT_DELIVERED                            ,
      AMOUNT_CANCELLED                            ,
      DISTRIBUTION_TYPE                           ,
      AMOUNT_TO_ENCUMBER                          ,
      INVOICE_ADJUSTMENT_FLAG                     ,
      DEST_CHARGE_ACCOUNT_ID                      ,
      DEST_VARIANCE_ACCOUNT_ID                    ,
      tax_attribute_update_code --
    )
    SELECT
      p_chg.distribution_changes.po_distribution_id(i), -- PO_DISTRIBUTION_ID
      sysdate                                     , -- LAST_UPDATE_DATE
      g_user_id                                   , -- LAST_UPDATED_BY
      PO_HEADER_ID                                ,
      PO_LINE_ID                                  ,
      p_chg.distribution_changes.c_line_location_id(i), -- LINE_LOCATION_ID
      SET_OF_BOOKS_ID                             ,
      CODE_COMBINATION_ID                         ,
      nvl(p_chg.distribution_changes.quantity_ordered(i),
          QUANTITY_ORDERED)                       , -- QUANTITY_ORDERED
      LAST_UPDATE_LOGIN                           ,
      sysdate                                     , -- CREATION_DATE
      g_user_id                                   , -- CREATED_BY
      PO_RELEASE_ID                               ,
      decode(quantity_delivered, null, null, 0)   , -- QUANTITY_DELIVERED
      decode(quantity_billed, null, null, 0)      , -- QUANTITY_BILLED
      decode(quantity_cancelled, null, null, 0)   , -- QUANTITY_CANCELLED
      REQ_HEADER_REFERENCE_NUM                    ,
      REQ_LINE_REFERENCE_NUM                      ,
      -- bug 5750240 : the Req distribution id for the split
      -- shipment should not be carried from the parent dist.
      NULL,
--    REQ_DISTRIBUTION_ID                         ,
      DELIVER_TO_LOCATION_ID                      ,
      DELIVER_TO_PERSON_ID                        ,
      RATE_DATE                                   ,
      RATE                                        ,
      decode(amount_billed, null, null, 0)        , -- AMOUNT_BILLED
      ACCRUED_FLAG                                ,
      'N'                                         , -- ENCUMBERED_FLAG  Bug 5558172 changed NULL to 'N' so that the distriution will be visble in enter po form.
      NULL                                        , -- ENCUMBERED_AMOUNT
      NULL                                        , -- UNENCUMBERED_QUANTITY
      NULL                                        , -- UNENCUMBERED_AMOUNT
      NULL                                        , -- FAILED_FUNDS_LOOKUP_CODE
      GL_ENCUMBERED_DATE                          ,
      GL_ENCUMBERED_PERIOD_NAME                   ,
      NULL                                        , -- GL_CANCELLED_DATE
      DESTINATION_TYPE_CODE                       ,
      DESTINATION_ORGANIZATION_ID                 ,
      DESTINATION_SUBINVENTORY                    ,
      ATTRIBUTE_CATEGORY                          ,
      ATTRIBUTE1                                  ,
      ATTRIBUTE2                                  ,
      ATTRIBUTE3                                  ,
      ATTRIBUTE4                                  ,
      ATTRIBUTE5                                  ,
      ATTRIBUTE6                                  ,
      ATTRIBUTE7                                  ,
      ATTRIBUTE8                                  ,
      ATTRIBUTE9                                  ,
      ATTRIBUTE10                                 ,
      ATTRIBUTE11                                 ,
      ATTRIBUTE12                                 ,
      ATTRIBUTE13                                 ,
      ATTRIBUTE14                                 ,
      ATTRIBUTE15                                 ,
      WIP_ENTITY_ID                               ,
      WIP_OPERATION_SEQ_NUM                       ,
      WIP_RESOURCE_SEQ_NUM                        ,
      WIP_REPETITIVE_SCHEDULE_ID                  ,
      WIP_LINE_ID                                 ,
      BOM_RESOURCE_ID                             ,
      BUDGET_ACCOUNT_ID                           ,
      ACCRUAL_ACCOUNT_ID                          ,
      VARIANCE_ACCOUNT_ID                         ,
      PREVENT_ENCUMBRANCE_FLAG                    ,
      GOVERNMENT_CONTEXT                          ,
      DESTINATION_CONTEXT                         ,
      DISTRIBUTION_NUM                            ,
      SOURCE_DISTRIBUTION_ID                      ,
      NULL                                        , -- REQUEST_ID
      NULL                                        , -- PROGRAM_APPLICATION_ID
      NULL                                        , -- PROGRAM_ID
      NULL                                        , -- PROGRAM_UPDATE_DATE
      PROJECT_ID                                  ,
      TASK_ID                                     ,
      EXPENDITURE_TYPE                            ,
      PROJECT_ACCOUNTING_CONTEXT                  ,
      EXPENDITURE_ORGANIZATION_ID                 ,
      NULL                                        , -- GL_CLOSED_DATE
      ACCRUE_ON_RECEIPT_FLAG                      ,
      EXPENDITURE_ITEM_DATE                       ,
      ORG_ID                                      ,
      KANBAN_CARD_ID                              ,
      NULL                                        , -- AWARD_ID
      MRC_RATE_DATE                               ,
      MRC_RATE                                    ,
      NULL                                        , -- MRC_ENCUMBERED_AMOUNT
      NULL                                        , -- MRC_UNENCUMBERED_AMOUNT
      END_ITEM_UNIT_NUMBER                        ,
      TAX_RECOVERY_OVERRIDE_FLAG                  ,
      --
      null                                        , -- RECOVERABLE_TAX
      null                                        , -- NONRECOVERABLE_TAX
      decode(tax_recovery_override_flag,'Y',recovery_rate, null) , -- RECOVERY_RATE
      --
      OKE_CONTRACT_LINE_ID                        ,
      OKE_CONTRACT_DELIVERABLE_ID                 ,
      nvl(p_chg.distribution_changes.amount_ordered(i),
        AMOUNT_ORDERED)                           , -- AMOUNT_ORDERED
      decode(amount_delivered, null, null, 0)     , -- AMOUNT_DELIVERED
      decode(amount_cancelled, null, null, 0)     , -- AMOUNT_CANCELLED
      DISTRIBUTION_TYPE                           ,
      AMOUNT_TO_ENCUMBER                          ,
      NULL                                        , -- INVOICE_ADJUSTMENT_FLAG
      DEST_CHARGE_ACCOUNT_ID                      ,
      DEST_VARIANCE_ACCOUNT_ID                    ,
      nvl2(g_calculate_tax_flag, 'CREATE', null) --
    FROM po_distributions
    WHERE p_chg.distribution_changes.parent_distribution_id(i) IS NOT NULL
    AND po_distribution_id =
        p_chg.distribution_changes.parent_distribution_id(i);
Line: 7968

      UPDATE po_distributions
      SET last_update_date = sysdate,
          last_updated_by = g_user_id,
          award_id = l_gms_po_obj.award_set_id_out(i)
      WHERE po_distributions.po_distribution_id
            = l_gms_po_obj.distribution_id(i);
Line: 8006

PROCEDURE delete_records (
  p_chg       IN PO_CHANGES_REC_TYPE
) IS
  l_proc_name CONSTANT VARCHAR2(30) := 'DELETE_RECORDS';
Line: 8028

    IF (p_chg.distribution_changes.delete_record(i) = G_PARAMETER_YES) THEN
      SELECT rowid
      INTO l_rowid
      FROM po_distributions
      WHERE po_distribution_id
        = p_chg.distribution_changes.po_distribution_id(i);
Line: 8035

      PO_DISTRIBUTIONS_PKG2.delete_row ( l_rowid );
Line: 8042

    IF (p_chg.shipment_changes.delete_record(i) = G_PARAMETER_YES) THEN

     /*bug # 6329352 Modified the below query such that it will select
       po_line_id and quantity fro the shipment whose delete record flag is set to Yes*/

      SELECT rowid,po_line_id,quantity
      INTO l_rowid, l_po_line_id, l_quantity
      FROM po_line_locations
      WHERE line_location_id = p_chg.shipment_changes.po_line_location_id(i);
Line: 8052

      PO_SHIPMENTS_SV4.delete_shipment (
        x_line_location_id => p_chg.shipment_changes.po_line_location_id(i),
        x_row_id           => l_rowid,
        x_doc_header_id    => g_po_header_id,
        x_shipment_type    => p_chg.shipment_changes.c_shipment_type(i)
      );
Line: 8059

      UPDATE po_lines SET quantity = quantity - l_quantity WHERE po_line_id =  l_po_line_id; --bug # 6329352
Line: 8068

    IF (p_chg.line_changes.delete_price_adjs(i) = G_PARAMETER_YES) THEN
      PO_PRICE_ADJUSTMENTS_PKG.delete_price_adjustments(
        p_po_header_id => p_chg.po_header_id,
        p_po_line_id   => p_chg.line_changes.po_line_id(i)
      );
Line: 8080

    IF (p_chg.line_changes.delete_record(i) = G_PARAMETER_YES) THEN
      SELECT rowid
      INTO l_rowid
      FROM po_lines
      WHERE po_line_id = p_chg.line_changes.po_line_id(i);
Line: 8086

      PO_LINES_SV.delete_line (
        x_type_lookup_code => g_document_subtype,
        x_po_line_id       => p_chg.line_changes.po_line_id(i),
        x_row_id           => l_rowid
      );
Line: 8108

END delete_records;
Line: 8194

  p_mass_update_releases  IN VARCHAR2,
  p_retroactive_price_change IN VARCHAR2
) IS
  l_proc_name CONSTANT VARCHAR2(30) := 'LAUNCH_PO_APPROVAL_WF';
Line: 8220

                      || ' mass_update_releases: '||p_mass_update_releases
                      || ' retroactive_price: '||p_retroactive_price_change );
Line: 8299

    MassUpdateReleases => p_mass_update_releases, -- Bug 3373453
    RetroactivePriceChange => p_retroactive_price_change,
    p_background_flag => NVL(p_approval_background_flag, G_PARAMETER_NO)
  );
Line: 8342

  g_line_changes_index.DELETE;
Line: 8343

  g_ship_changes_index.DELETE;
Line: 8344

  g_dist_changes_index.DELETE;
Line: 8940

    FND_MSG_PUB.delete_msg ( p_msg_index => i );
Line: 8991

PROCEDURE validate_delete_action( p_entity          IN VARCHAR2
                                 ,p_doc_type        IN VARCHAR2
                                 ,p_doc_header_id   IN NUMBER
                                 ,p_po_line_id      IN NUMBER
                                 ,p_line_loc_id     IN NUMBER
                                 ,p_distribution_id IN NUMBER
                                 ,x_error_message   OUT NOCOPY VARCHAR2)
IS
  l_modify_action_allowed BOOLEAN := FALSE;
Line: 9012

  l_allow_delete             VARCHAR2(1);
Line: 9014

  l_api_name CONSTANT        VARCHAR2(30) := 'validate_delete_action';
Line: 9015

  d_module   CONSTANT        VARCHAR2(70) := 'po.plsql.PO_DOCUMENT_UPDATE_PVT.validate_delete_action';
Line: 9025

  SELECT  type_lookup_code
         ,nvl(closed_code,'OPEN')
         ,approved_date
         ,approved_flag
         ,nvl(frozen_flag,'N')
         ,nvl(cancel_flag,'N')
         ,nvl(authorization_status,'INCOMPLETE')
         ,nvl(global_agreement_flag, 'N')
         ,nvl(conterms_exist_flag, 'N')
         ,nvl(consigned_consumption_flag, 'N')
  INTO    l_doc_subtype
         ,l_closed_code
         ,l_doc_approved_date
         ,l_doc_approved_flag
         ,l_frozen_flag
         ,l_cancel_flag
         ,l_auth_status
         ,l_ga_flag
         ,l_conterms_exist_flag
         ,l_consigned_consumption_flag
  FROM   po_headers_all
  WHERE  po_header_id = p_doc_header_id;
Line: 9063

      x_error_message := PO_CORE_S.get_translated_text('PO_RQ_DOC_UPDATE_NA');
Line: 9071

      x_error_message := PO_CORE_S.get_translated_text('PO_CONSIGNED_UPDATE_ERROR');
Line: 9088

      x_error_message := PO_CORE_S.get_translated_text('PO_RQ_DOC_UPDATE_NA');
Line: 9106

      PO_HEADERS_SV1.validate_delete_document(
                          p_doc_type          => p_doc_type
                         ,p_doc_header_id     => p_doc_header_id
                         ,p_doc_approved_date => l_doc_approved_date
                         ,p_auth_status       => l_auth_status
                         ,p_style_disp_name   => l_style_disp_name
                         ,x_message_text      => x_error_message);
Line: 9120

                         ,x_allow_delete => l_allow_delete
                         ,p_token        => 'DOCUMENT_TYPE'
                         ,p_token_value  => l_style_disp_name
                         ,x_message_text => x_error_message);
Line: 9129

      PO_SHIPMENTS_SV4.validate_delete_line_loc(
                           p_line_loc_id     => p_line_loc_id
                          ,p_po_line_id      => p_po_line_id
                          ,p_doc_type        => p_doc_type
                          ,p_style_disp_name => l_style_disp_name
                          ,x_message_text    => x_error_message);
Line: 9140

      PO_DISTRIBUTIONS_SV.validate_delete_distribution(
                            p_po_distribution_id => p_distribution_id
                           ,p_line_loc_id        => p_line_loc_id
                           ,p_approved_date      => l_doc_approved_date
                           ,p_style_disp_name    => l_style_disp_name
                           ,x_message_text       => x_error_message);
Line: 9168

END validate_delete_action;
Line: 9222

PROCEDURE process_delete_action( p_init_msg_list       IN VARCHAR2
                                ,x_return_status       OUT NOCOPY VARCHAR2
                                ,p_calling_program     IN VARCHAR2
                                ,p_entity              IN VARCHAR2
                                ,p_entity_row_id       IN ROWID
                                ,p_doc_type            IN VARCHAR2
                                ,p_doc_subtype         IN VARCHAR2
                                ,p_doc_header_id       IN NUMBER
                                ,p_ga_flag             IN VARCHAR2
                                ,p_conterms_exist_flag IN VARCHAR2
                                ,p_po_line_id          IN NUMBER
                                ,p_line_loc_id         IN NUMBER
                                ,p_distribution_id     IN NUMBER
                                ,x_error_msg_tbl       OUT NOCOPY PO_TBL_VARCHAR2000)
IS
  l_error_message  VARCHAR2(2000);
Line: 9240

  l_api_name CONSTANT        VARCHAR2(30) := 'process_delete_action';
Line: 9241

  d_module   CONSTANT        VARCHAR2(70) := 'po.plsql.PO_DOCUMENT_UPDATE_PVT.process_delete_action';
Line: 9251

  SAVEPOINT PO_PROCESS_DELETE_ACTION;
Line: 9281

    validate_delete_action( p_entity          => p_entity
                           ,p_doc_type        => p_doc_type
                           ,p_doc_header_id   => p_doc_header_id
                           ,p_po_line_id      => p_po_line_id
                           ,p_line_loc_id     => p_line_loc_id
                           ,p_distribution_id => p_distribution_id
                           ,x_error_message   => l_error_message);
Line: 9306

    PO_HEADERS_SV1.delete_document( p_doc_type            => p_doc_type
                                   ,p_doc_subtype         => p_doc_subtype
                                   ,p_doc_header_id       => p_doc_header_id
                                   ,p_ga_flag             => p_ga_flag
                                   ,p_conterms_exist_flag => p_conterms_exist_flag
                                   ,x_return_status       => x_return_status);
Line: 9319

    SELECT ROWID
    INTO   l_entity_row_id
    FROM PO_LINES_ALL
    WHERE PO_LINE_ID = p_po_line_id;
Line: 9325

    PO_LINES_SV.delete_line( X_type_lookup_code => p_doc_subtype
                            ,X_po_line_id       => p_po_line_id
                            ,X_row_id           => l_entity_row_id
                            ,p_skip_validation  => 'Y'); --skip validations as we already have called validate_delete_action
Line: 9332

    PO_SHIPMENTS_SV4.process_delete_line_loc(
                                p_line_loc_id     => p_line_loc_id
                               ,p_line_loc_row_id => p_entity_row_id
                               ,p_po_header_id    => p_doc_header_id
                               ,p_po_line_id      => p_po_line_id
                               ,p_doc_subtype     => p_doc_subtype);
Line: 9343

    PO_DISTRIBUTIONS_PKG2.delete_row(x_rowid => p_entity_row_id);
Line: 9365

    ROLLBACK TO PO_PROCESS_DELETE_ACTION;
Line: 9377

    ROLLBACK TO PO_PROCESS_DELETE_ACTION;
Line: 9383

    ROLLBACK TO PO_PROCESS_DELETE_ACTION;
Line: 9389

END process_delete_action;