DBA Data[Home] [Help]

APPS.PO_DOCUMENT_ACTION_CLOSE SQL Statements

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

Line: 65

PROCEDURE manual_update_closed_status(
   p_document_id       IN      NUMBER
,  p_document_type     IN      VARCHAR2
,  p_document_subtype  IN      VARCHAR2
,  p_action            IN      VARCHAR2
,  p_calling_mode      IN      VARCHAR2
,  p_line_id           IN      NUMBER
,  p_shipment_id       IN      NUMBER
,  p_user_id           IN      NUMBER
,  p_login_id          IN      NUMBER
,  p_employee_id       IN      NUMBER
,  p_reason            IN      VARCHAR2
,  p_enc_flag          IN      BOOLEAN
,  x_return_status     OUT NOCOPY  VARCHAR2
);
Line: 81

PROCEDURE auto_update_closed_status(
   p_document_id       IN      NUMBER
,  p_document_type     IN      VARCHAR2
,  p_calling_mode      IN      VARCHAR2
,  p_line_id           IN      NUMBER
,  p_shipment_id       IN      NUMBER
,  p_employee_id       IN      NUMBER
,  p_user_id           IN      NUMBER  --bug4964600
,  p_login_id          IN      NUMBER  --bug4964600
,  p_reason            IN      VARCHAR2
,  x_return_status     OUT NOCOPY  VARCHAR2
);
Line: 362

      UPDATE po_line_locations poll
      SET closed_code = 'CLOSED'
      WHERE poll.line_location_id = p_action_ctl_rec.shipment_id
        AND poll.closed_code = 'FINALLY CLOSED';
Line: 415

    manual_update_closed_status(
       p_document_id      => p_action_ctl_rec.document_id
    ,  p_document_type    => p_action_ctl_rec.document_type
    ,  p_document_subtype => p_action_ctl_rec.document_subtype
    ,  p_action           => p_action_ctl_rec.action
    ,  p_calling_mode     => p_action_ctl_rec.calling_mode
    ,  p_line_id          => p_action_ctl_rec.line_id
    ,  p_shipment_id      => p_action_ctl_rec.shipment_id
    ,  p_user_id          => l_user_id
    ,  p_login_id         => l_login_id
    ,  p_employee_id      => l_emp_id
    ,  p_reason           => p_action_ctl_rec.note
    ,  p_enc_flag         => l_enc_flag
    ,  x_return_status    => l_ret_sts
    );
Line: 615

  l_reason := FND_MESSAGE.GET_STRING('PO', 'PO_UPDATE_CLOSE_ROLLUP');
Line: 722

    auto_update_closed_status(
       p_document_id      => p_action_ctl_rec.document_id
    ,  p_document_type    => p_action_ctl_rec.document_type
    ,  p_calling_mode     => p_action_ctl_rec.calling_mode
    ,  p_line_id          => p_action_ctl_rec.line_id
    ,  p_shipment_id      => p_action_ctl_rec.shipment_id
    ,  p_user_id          => l_user_id   --bug4964600
    ,  p_login_id         => l_login_id  --bug4964600
    ,  p_employee_id      => l_emp_id
    ,  p_reason           => l_reason
    ,  x_return_status    => l_ret_sts
    );
Line: 955

      SELECT count(*)
      INTO l_line_finally_closed
      FROM po_line_locations_all poll
        ,  po_lines_all pol
        ,  po_releases_all por
        ,  po_line_locations_all ppo_ll
      WHERE poll.line_location_id = p_shipment_id
      AND   pol.po_line_id = poll.po_line_id
      AND   por.po_release_id(+) = poll.po_release_id
      AND   ppo_ll.line_location_id(+) = poll.source_shipment_id
      AND ( pol.closed_code = PO_DOCUMENT_ACTION_PVT.g_doc_closed_sts_FIN_CLOSED
         OR por.closed_code = PO_DOCUMENT_ACTION_PVT.g_doc_closed_sts_FIN_CLOSED
         OR ppo_ll.closed_code = PO_DOCUMENT_ACTION_PVT.g_doc_closed_sts_FIN_CLOSED
         )
      ;
Line: 1687

        SELECT NVL(poh.encumbrance_required_flag, 'N')
        INTO l_bpa_enc_required
        FROM po_headers_all poh
        WHERE poh.po_header_id = p_document_id;
Line: 1889

PROCEDURE manual_update_closed_status(
   p_document_id       IN      NUMBER
,  p_document_type     IN      VARCHAR2
,  p_document_subtype  IN      VARCHAR2
,  p_action            IN      VARCHAR2
,  p_calling_mode      IN      VARCHAR2
,  p_line_id           IN      NUMBER
,  p_shipment_id       IN      NUMBER
,  p_user_id           IN      NUMBER
,  p_login_id          IN      NUMBER
,  p_employee_id       IN      NUMBER
,  p_reason            IN      VARCHAR2
,  p_enc_flag          IN      BOOLEAN
,  x_return_status     OUT NOCOPY  VARCHAR2
)
IS

d_module     VARCHAR2(70) := 'po.plsql.PO_DOCUMENT_ACTION_CLOSE.manual_update_close_status';
Line: 1945

      SELECT pol.po_line_id
      BULK COLLECT INTO l_id_tbl
      FROM po_lines pol
      WHERE pol.po_line_id = p_line_id;
Line: 1954

      SELECT pol.po_line_id
      BULK COLLECT INTO l_id_tbl
      FROM po_lines pol
      WHERE pol.po_header_id = p_document_id;
Line: 1964

      UPDATE po_lines pol
      SET pol.last_update_date  = SYSDATE
        , pol.last_updated_by   = p_user_id
        , pol.last_update_login = p_login_id
        , pol.closed_date = DECODE(p_action,
                                     'CLOSE', SYSDATE,
                                     'FINALLY CLOSE', SYSDATE,  -- Bug 4369988
                                     NULL)
        , pol.closed_by = p_employee_id
        , pol.closed_reason = p_reason
        , pol.closed_code = DECODE(p_action,
                                     'CLOSE', 'CLOSED',
                                     'FINALLY CLOSE', 'FINALLY CLOSED',
                                     'OPEN', 'OPEN')
      WHERE pol.po_line_id = l_id_tbl(i)
        AND NVL(pol.closed_code, 'OPEN') <> 'FINALLY CLOSED'
        AND NVL(pol.unit_meas_lookup_code, 'X') =
                   DECODE(pol.unit_meas_lookup_code,
                            'A', p_document_type,
                            'B', p_document_subtype,
                            'C', p_document_subtype,
                            NVL(pol.unit_meas_lookup_code, 'X'))
        ;
Line: 1994

    UPDATE po_headers poh
    SET poh.last_update_date  = SYSDATE
      , poh.last_updated_by   = p_user_id
      , poh.last_update_login = p_login_id
      , poh.closed_date = DECODE(p_action,
                                     'CLOSE', SYSDATE,
                                     'FINALLY CLOSE', SYSDATE,  -- Bug 4369988
                                     NULL)
      , poh.closed_code = DECODE(p_action,
                                   'CLOSE', 'CLOSED',
                                   'FINALLY CLOSE', 'FINALLY CLOSED',
                                   'OPEN', 'OPEN')
    WHERE poh.po_header_id = p_document_id
      AND NVL(poh.closed_code, 'OPEN') <> 'FINALLY CLOSED'
      AND poh.type_lookup_code =
              DECODE(poh.type_lookup_code,
                        'A', p_document_type,
                        'B', p_document_subtype,
                        'C', p_document_subtype,
                        poh.type_lookup_code)
      ;
Line: 2028

      SELECT poll.line_location_id
      BULK COLLECT INTO l_id_tbl
      FROM po_line_locations poll
      WHERE poll.line_location_id = p_shipment_id;
Line: 2038

      SELECT poll.line_location_id
      BULK COLLECT INTO l_id_tbl
      FROM po_line_locations poll
      WHERE poll.po_line_id = p_line_id;
Line: 2048

      SELECT poll.line_location_id
      BULK COLLECT INTO l_id_tbl
      FROM po_line_locations poll
      WHERE poll.po_release_id = p_document_id;
Line: 2057

      SELECT poll.line_location_id
      BULK COLLECT INTO l_id_tbl
      FROM po_line_locations poll
      WHERE poll.po_header_id = p_document_id;
Line: 2070

      UPDATE po_line_locations poll
      SET poll.last_update_date  = SYSDATE
        , poll.last_updated_by   = p_user_id
        , poll.last_update_login = p_login_id
        , poll.closed_date = DECODE(p_action,
                               'CLOSE', SYSDATE,
                               'FINALLY CLOSE', SYSDATE,
                               'INVOICE CLOSE', DECODE(NVL(poll.closed_code, 'OPEN'),
                                                  'CLOSED FOR RECEIVING', SYSDATE,
                                                  NULL),
                               'RECEIVE CLOSE', DECODE(NVL(poll.closed_code, 'OPEN'),
                                                  'CLOSED FOR INVOICE', SYSDATE,
                                                  NULL)
                             )
        , poll.closed_by = DECODE(p_calling_mode,
                             'AP', DECODE(p_action, 'INVOICE OPEN', NULL, p_employee_id),
                              p_employee_id
                           )
        , poll.closed_reason = DECODE(p_calling_mode,
                                 'AP', DECODE(p_action, 'INVOICE OPEN', NULL, p_reason),
                                 p_reason
                               )
        , poll.closed_code = DECODE(p_action,
                               'CLOSE', 'CLOSED',
                               'FINALLY CLOSE', 'FINALLY CLOSED',
                               'INVOICE CLOSE', DECODE(NVL(poll.closed_code, 'OPEN'),
                                                  'CLOSED FOR RECEIVING', 'CLOSED',
                                                  'OPEN', 'CLOSED FOR INVOICE',
                                                  poll.closed_code),  -- 
                               'RECEIVE CLOSE', DECODE(NVL(poll.closed_code, 'OPEN'),
                                                  'CLOSED FOR INVOICE', 'CLOSED',
                                                  'OPEN', 'CLOSED FOR RECEIVING',
                                                  poll.closed_code),  -- 
                               'OPEN', DECODE(poll.consigned_flag,
                                         'Y', 'CLOSED FOR INVOICE',
                                         'OPEN'),
                               'INVOICE OPEN', DECODE(poll.consigned_flag,
                                                 'Y', poll.closed_code,
                                                 DECODE(NVL(poll.closed_code, 'OPEN'),
                                                   'CLOSED FOR INVOICE', 'OPEN',
                                                   'CLOSED', 'CLOSED FOR RECEIVING',
                                                   poll.closed_code)),  -- 
                               'RECEIVE OPEN', DECODE(NVL(poll.closed_code, 'OPEN'),
                                                 'CLOSED FOR RECEIVING', 'OPEN',
                                                 'CLOSED', 'CLOSED FOR INVOICE',
                                                 poll.closed_code)   -- 
                             )
        , poll.shipment_closed_date = DECODE(p_action,
                                        'CLOSE', SYSDATE,
                                        'INVOICE CLOSE', DECODE(NVL(poll.closed_code, 'OPEN'),
                                                           'CLOSED FOR RECEIVING', SYSDATE,
                                                           poll.shipment_closed_date),  -- 
                                        'RECEIVE CLOSE', DECODE(NVL(poll.closed_code, 'OPEN'),
                                                           'CLOSED FOR INVOICE', SYSDATE,
                                                           poll.shipment_closed_date),  -- 
                                        'OPEN', NULL,
                                        'INVOICE OPEN', NULL,
                                        'RECEIVE OPEN', NULL,
                                        'FINALLY CLOSE', NVL(poll.shipment_closed_date, SYSDATE)
                                      )
        , poll.closed_for_invoice_date = DECODE(p_action,
                                           'CLOSE', DECODE(NVL(poll.closed_code, 'OPEN'),
                                                      'CLOSED FOR RECEIVING', SYSDATE,
                                                      'OPEN', SYSDATE,
                                                      poll.closed_for_invoice_date),
                                          'INVOICE CLOSE', SYSDATE,
                                          'OPEN', NULL,
                                          'INVOICE OPEN', NULL,
                                          'FINALLY CLOSE', NVL(poll.closed_for_invoice_date, SYSDATE),
                                          poll.closed_for_invoice_date
                                        )
        , poll.closed_for_receiving_date = DECODE(p_action,
                                             'CLOSE', DECODE(NVL(poll.closed_code, 'OPEN'),
                                                      'CLOSED FOR INVOICE', SYSDATE,
                                                      'OPEN', SYSDATE,
                                                      poll.closed_for_receiving_date),
                                             'RECEIVE CLOSE', SYSDATE,
                                             'OPEN', NULL,
                                             'RECEIVE OPEN', NULL,
                                             'FINALLY CLOSE', NVL(poll.closed_for_receiving_date, SYSDATE),
                                             poll.closed_for_receiving_date
                                           )
      WHERE poll.line_location_id = l_id_tbl(i)
        AND NVL(poll.closed_code, 'OPEN') <> 'FINALLY CLOSED'
        AND poll.shipment_type =
              DECODE(p_document_type,
                -- : STANDARD doc subtype no longer implies
                -- 'STANDARD' shipptype; it can also be PREPAYMENT.
Line: 2169

    PO_LOG.stmt(d_module, d_progress, 'Updated' || SQL%ROWCOUNT || ' closed code rows.' );
Line: 2196

      SELECT pod.po_distribution_id
      BULK COLLECT INTO l_id_tbl
      FROM po_distributions pod
      WHERE pod.line_location_id = p_shipment_id;
Line: 2206

      SELECT pod.po_distribution_id
      BULK COLLECT INTO l_id_tbl
      FROM po_distributions pod
      WHERE pod.po_line_id = p_line_id
        AND pod.po_release_id IS NULL;
Line: 2220

      SELECT pod.po_distribution_id
      BULK COLLECT INTO l_id_tbl
      FROM po_distributions pod
      WHERE pod.po_release_id = p_document_id;
Line: 2229

      SELECT pod.po_distribution_id
      BULK COLLECT INTO l_id_tbl
      FROM po_distributions pod
      WHERE pod.po_header_id = p_document_id
        AND pod.po_release_id IS NULL;
Line: 2243

      UPDATE po_distributions pod
      SET pod.gl_closed_date = DECODE(p_action, 'FINALLY CLOSE', SYSDATE, NULL)
      WHERE pod.po_distribution_id = l_id_tbl(i)
      ;
Line: 2251

      PO_LOG.stmt(d_module, d_progress, 'Updated' || SQL%ROWCOUNT || ' distribution gl_closed_dates' );
Line: 2277

END manual_update_closed_status;
Line: 2280

PROCEDURE auto_update_closed_status(
   p_document_id       IN      NUMBER
,  p_document_type     IN      VARCHAR2
,  p_calling_mode      IN      VARCHAR2
,  p_line_id           IN      NUMBER
,  p_shipment_id       IN      NUMBER
,  p_employee_id       IN      NUMBER
,  p_user_id           IN      NUMBER  --bug4964600
,  p_login_id          IN      NUMBER  --bug4964600
,  p_reason            IN      VARCHAR2
,  x_return_status     OUT NOCOPY  VARCHAR2
)
IS

d_module     VARCHAR2(70) := 'po.plsql.PO_DOCUMENT_ACTION_CLOSE.auto_update_close_status';
Line: 2320

    SELECT poll.line_location_id
    BULK COLLECT INTO l_id_tbl
    FROM po_line_locations poll
    WHERE poll.line_location_id = p_shipment_id;
Line: 2330

    SELECT poll.line_location_id
    BULK COLLECT INTO l_id_tbl
    FROM po_line_locations poll
    WHERE poll.po_line_id = p_line_id
      AND poll.po_release_id IS NULL;
Line: 2341

    SELECT poll.line_location_id
    BULK COLLECT INTO l_id_tbl
    FROM po_line_locations poll
    WHERE poll.po_release_id = p_document_id;
Line: 2350

    SELECT poll.line_location_id
    BULK COLLECT INTO l_id_tbl
    FROM po_line_locations poll
    WHERE poll.po_header_id = p_document_id
      AND poll.po_release_id IS NULL;
Line: 2395

      UPDATE po_line_locations poll
      SET poll.closed_code =
        (
           SELECT DECODE(poll.matching_basis,
              'AMOUNT',
                    DECODE(
                          DECODE(sign(
                                ((poll.amount - NVL(poll.amount_cancelled, 0))
                                   * (1 - NVL(poll.invoice_close_tolerance,
                                            NVL(posp.invoice_close_tolerance, 0))/100))
                                 - GREATEST(NVL(poll.amount_financed, 0),
                                              NVL(poll.amount_billed, 0))),
                          1, 'OPEN',
                          'CLOSED FOR INVOICE'),
                    'CLOSED FOR INVOICE',
                          DECODE(
                                DECODE(sign(
                                      ((poll.amount - NVL(poll.amount_cancelled, 0))
                                         * (1 - NVL(poll.receive_close_tolerance,
                                                  NVL(posp.receive_close_tolerance, 0))/100))
                                       - DECODE(posp.receive_close_code,
                                           'ACCEPTED', NVL(poll.amount_accepted, 0),
                                           'DELIVERED', sum(NVL(pod.amount_delivered, 0)),
                                           NVL(poll.amount_received, 0))),
                                1, 'OPEN',
                                'CLOSED FOR RECEIVING'),
                          'CLOSED FOR RECEIVING', 'CLOSED',
                          'CLOSED FOR INVOICE'),
                    'OPEN',
                          DECODE(
                                DECODE(sign(
                                      ((poll.amount - NVL(poll.amount_cancelled, 0))
                                         * (1 - NVL(poll.receive_close_tolerance,
                                                  NVL(posp.receive_close_tolerance, 0))/100))
                                       - DECODE(posp.receive_close_code,
                                           'ACCEPTED', NVL(poll.amount_accepted, 0),
                                           'DELIVERED', sum(NVL(pod.amount_delivered, 0)),
                                           NVL(poll.amount_received, 0))),
                                1, 'OPEN',
                                'CLOSED FOR RECEIVING'),
                          'CLOSED FOR RECEIVING', 'CLOSED FOR RECEIVING',
                          'OPEN')),
              -- else QUANTITY BASIS
                    DECODE(
                          DECODE(sign(
                                ((poll.quantity - NVL(poll.quantity_cancelled, 0))
                                   * (1 - NVL(poll.invoice_close_tolerance,
                                            NVL(posp.invoice_close_tolerance, 0))/100))
                                 - GREATEST(NVL(poll.quantity_financed, 0),
                                              NVL(poll.quantity_billed, 0))),
                          1, 'OPEN',
                          'CLOSED FOR INVOICE'),
                    'CLOSED FOR INVOICE',
                          DECODE(
                                DECODE(sign(
                                      ((poll.quantity - NVL(poll.quantity_cancelled, 0))
                                         * (1 - NVL(poll.receive_close_tolerance,
                                                  NVL(posp.receive_close_tolerance, 0))/100))
                                       - DECODE(posp.receive_close_code,
                                           'ACCEPTED', NVL(poll.quantity_accepted, 0),
                                           'DELIVERED', sum(NVL(pod.quantity_delivered, 0)),
                                           NVL(poll.quantity_received, 0))),
                                1, 'OPEN',
                                'CLOSED FOR RECEIVING'),
                          'CLOSED FOR RECEIVING', 'CLOSED',
                          'CLOSED FOR INVOICE'),
                    'OPEN',
                          DECODE(
                                DECODE(sign(
                                      ((poll.quantity - NVL(poll.quantity_cancelled, 0))
                                         * (1 - NVL(poll.receive_close_tolerance,
                                                  NVL(posp.receive_close_tolerance, 0))/100))
                                       - DECODE(posp.receive_close_code,
                                           'ACCEPTED', NVL(poll.quantity_accepted, 0),
                                           'DELIVERED', sum(NVL(pod.quantity_delivered, 0)),
                                           NVL(poll.quantity_received, 0))),
                                1, 'OPEN',
                                'CLOSED FOR RECEIVING'),
                          'CLOSED FOR RECEIVING', 'CLOSED FOR RECEIVING',
                          'OPEN')))
           FROM po_distributions pod
              , po_system_parameters posp
           WHERE poll.line_location_id = l_id_tbl(i)
             AND NVL(poll.closed_code, 'OPEN') <> 'FINALLY CLOSED'
             AND pod.line_location_id = poll.line_location_id
           GROUP BY poll.quantity
                  , poll.quantity_cancelled
                  , poll.quantity_billed
                  , poll.quantity_financed
                  , poll.quantity_accepted
                  , poll.quantity_received
                  , poll.amount
                  , poll.amount_cancelled
                  , poll.amount_billed
                  , poll.amount_financed
                  , poll.amount_accepted
                  , poll.amount_received
                  , poll.matching_basis
                  , poll.invoice_close_tolerance
                  , poll.receive_close_tolerance
                  , posp.receive_close_code
                  , posp.receive_close_tolerance
                  , posp.invoice_close_tolerance
        )
      WHERE poll.line_location_id = l_id_tbl(i)
        AND NVL(poll.closed_code, 'OPEN') <> 'FINALLY CLOSED';
Line: 2539

      UPDATE po_line_locations poll
      SET poll.closed_code =
        (
           SELECT DECODE(poll.matching_basis,
              'AMOUNT',
                    DECODE(
                          DECODE(sign(
                                ((poll.amount - NVL(poll.amount_cancelled, 0))
                                   * (1 - NVL(poll.receive_close_tolerance,
                                            NVL(posp.receive_close_tolerance, 0))/100))
                                   - DECODE(posp.receive_close_code,
                                       'ACCEPTED', NVL(poll.amount_accepted, 0),
                                       'DELIVERED', sum(NVL(pod.amount_delivered, 0)),
                                       NVL(poll.amount_received, 0))),
                          1, 'OPEN',
                          'CLOSED FOR RECEIVING'),
                    'CLOSED FOR RECEIVING',
                          DECODE(NVL(poll.closed_code, 'OPEN'),
                          'OPEN', 'CLOSED FOR RECEIVING',
                          'CLOSED FOR INVOICE', 'CLOSED',
                          poll.closed_code),
                    'OPEN',
                          DECODE(poll.closed_code,
                          'CLOSED', 'CLOSED FOR INVOICE',
                          'CLOSED FOR RECEIVING', 'OPEN',
                          poll.closed_code)),
              -- else QUANTITY BASIS
                    DECODE(
                          DECODE(sign(
                                ((poll.quantity - NVL(poll.quantity_cancelled, 0))
                                   * (1 - NVL(poll.receive_close_tolerance,
                                            NVL(posp.receive_close_tolerance, 0))/100))
                                   - DECODE(posp.receive_close_code,
                                       'ACCEPTED', NVL(poll.quantity_accepted, 0),
                                       'DELIVERED', sum(NVL(pod.quantity_delivered, 0)),
                                       NVL(poll.quantity_received, 0))),
                          1, 'OPEN',
                          'CLOSED FOR RECEIVING'),
                    'CLOSED FOR RECEIVING',
                          DECODE(NVL(poll.closed_code, 'OPEN'),
                          'OPEN', 'CLOSED FOR RECEIVING',
                          'CLOSED FOR INVOICE', 'CLOSED',
                          poll.closed_code),
                    'OPEN',
                          DECODE(poll.closed_code,
                          'CLOSED', 'CLOSED FOR INVOICE',
                          'CLOSED FOR RECEIVING', 'OPEN',
                          poll.closed_code)))
           FROM po_distributions pod
              , po_system_parameters posp
           WHERE poll.line_location_id = l_id_tbl(i)
             AND NVL(poll.closed_code, 'OPEN') <> 'FINALLY CLOSED'
             AND pod.line_location_id = poll.line_location_id
           GROUP BY poll.quantity
                  , poll.quantity_cancelled
                  , poll.quantity_accepted
                  , poll.quantity_received
                  , poll.amount
                  , poll.amount_cancelled
                  , poll.amount_accepted
                  , poll.amount_received
                  , poll.matching_basis
                  , poll.receive_close_tolerance
                  , posp.receive_close_code
                  , poll.closed_code
                  , posp.receive_close_tolerance
        )
      WHERE poll.line_location_id = l_id_tbl(i)
        AND NVL(poll.closed_code, 'OPEN') <> 'FINALLY CLOSED';
Line: 2647

      UPDATE po_line_locations poll
      SET poll.closed_code =
        (
           SELECT DECODE(poll.matching_basis,
              'AMOUNT',
                    DECODE(
                          DECODE(sign(
                                ((poll.amount - NVL(poll.amount_cancelled, 0))
                                   * (1 - NVL(poll.invoice_close_tolerance,
                                            NVL(posp.invoice_close_tolerance, 0))/100))
                                   - GREATEST(NVL(poll.amount_financed, 0),
                                                NVL(poll.amount_billed, 0))),
                          1, 'OPEN',
                          'CLOSED FOR INVOICE'),
                    'CLOSED FOR INVOICE',
                          DECODE(NVL(poll.closed_code, 'OPEN'),
                          'OPEN', 'CLOSED FOR INVOICE',
                          'CLOSED FOR RECEIVING', 'CLOSED',
                          poll.closed_code),
                    'OPEN',
                          DECODE(poll.closed_code,
                          'CLOSED', 'CLOSED FOR RECEIVING',
                          'CLOSED FOR INVOICE', 'OPEN',
                          poll.closed_code)),
              -- else QUANTITY BASIS
                    DECODE(
                          DECODE(sign(
                                ((poll.quantity - NVL(poll.quantity_cancelled, 0))
                                   * (1 - NVL(poll.invoice_close_tolerance,
                                            NVL(posp.invoice_close_tolerance, 0))/100))
                                   - GREATEST(NVL(poll.quantity_financed, 0),
                                                NVL(poll.quantity_billed, 0))),
                          1, 'OPEN',
                          'CLOSED FOR INVOICE'),
                    'CLOSED FOR INVOICE',
                          DECODE(NVL(poll.closed_code, 'OPEN'),
                          'OPEN', 'CLOSED FOR INVOICE',
                          'CLOSED FOR RECEIVING', 'CLOSED',
                          poll.closed_code),
                    'OPEN',
                          DECODE(poll.closed_code,
                          'CLOSED', 'CLOSED FOR RECEIVING',
                          'CLOSED FOR INVOICE', 'OPEN',
                          poll.closed_code)))
           FROM po_distributions pod
              , po_system_parameters posp
           WHERE poll.line_location_id = l_id_tbl(i)
             AND NVL(poll.closed_code, 'OPEN') <> 'FINALLY CLOSED'
             AND pod.line_location_id = poll.line_location_id
           GROUP BY poll.quantity
                  , poll.quantity_cancelled
                  , poll.quantity_billed
                  , poll.quantity_financed
                  , poll.amount
                  , poll.amount_cancelled
                  , poll.amount_billed
                  , poll.amount_financed
                  , poll.matching_basis
                  , poll.invoice_close_tolerance
                  , poll.closed_code
                  , posp.invoice_close_tolerance
        )
      WHERE poll.line_location_id = l_id_tbl(i)
        AND NVL(poll.closed_code, 'OPEN') <> 'FINALLY CLOSED';
Line: 2723

    UPDATE po_line_locations poll
    SET poll.closed_date = DECODE(NVL(poll.closed_code, 'OPEN'), 'CLOSED', SYSDATE, NULL)
      , poll.closed_reason = DECODE(NVL(poll.closed_code, 'OPEN'), 'CLOSED', p_reason, NULL)
      , poll.closed_by = DECODE(NVL(poll.closed_code, 'OPEN'), 'CLOSED', p_employee_id, NULL)
    WHERE poll.line_location_id = l_id_tbl(i)
      AND NVL(poll.closed_code, 'OPEN') IN ('CLOSED','OPEN','CLOSED FOR INVOICING', 'CLOSED FOR RECEIVING');
Line: 2740

    UPDATE po_line_locations poll
    SET poll.shipment_closed_date = DECODE(poll.closed_code,
                                    'CLOSED', NVL(poll.shipment_closed_date,
                                              PO_ACTIONS.get_closure_dates('CLOSE', poll.line_location_id)),
                                    NULL)
      , poll.closed_for_receiving_date = DECODE(poll.closed_code,
                                         'CLOSED FOR RECEIVING', NVL(poll.closed_for_receiving_date,
                                              PO_ACTIONS.get_closure_dates('RECEIVE CLOSE', poll.line_location_id)),
                                         'CLOSED FOR INVOICE', NULL,
                                         'CLOSED', NVL(poll.closed_for_receiving_date,
                                              PO_ACTIONS.get_closure_dates('RECEIVE CLOSE', poll.line_location_id)),
                                         'OPEN', NULL)
      , poll.closed_for_invoice_date = DECODE(poll.closed_code,
                                       'CLOSED FOR RECEIVING', NULL,
                                       'CLOSED FOR INVOICE', NVL(poll.closed_for_invoice_date,
                                            PO_ACTIONS.get_closure_dates('INVOICE CLOSE', poll.line_location_id)),
                                       'CLOSED', NVL(poll.closed_for_invoice_date,
                                            PO_ACTIONS.get_closure_dates('INVOICE CLOSE', poll.line_location_id)),
                                       'OPEN', NULL)
      , poll.last_update_date  = SYSDATE     --bug4964600
      , poll.last_updated_by   = p_user_id    --bug4964600
      , poll.last_update_login = p_login_id   --bug4964600
    WHERE poll.line_location_id = l_id_tbl(i)
      AND NVL(poll.closed_code, 'OPEN') <> 'FINALLY CLOSED';
Line: 2790

END auto_update_closed_status;
Line: 2821

l_update_action_hist  BOOLEAN;
Line: 2831

  SELECT 'OPEN'
  FROM po_line_locations poll
  WHERE poll.po_release_id = p_rel_id
    AND NVL(poll.closed_code, 'OPEN') IN ('OPEN', 'CLOSED FOR INVOICE', 'CLOSED FOR RECEIVING')
    AND rownum = 1;
Line: 2838

  SELECT 'CLOSED'
  FROM po_line_locations poll
  WHERE poll.po_release_id = p_rel_id
    AND NVL(poll.closed_code, 'CLOSED') = 'CLOSED'
    AND rownum = 1;
Line: 2878

      SELECT pol.po_line_id
      BULK COLLECT INTO l_lineid_tbl
      FROM po_lines pol
      WHERE pol.po_line_id =
            ( SELECT poll.po_line_id
              FROM po_line_locations poll
              WHERE poll.line_location_id = p_shipment_id)
      ;
Line: 2893

      SELECT pol.po_line_id
      BULK COLLECT INTO l_lineid_tbl
      FROM po_lines pol
      WHERE pol.po_line_id = p_line_id;
Line: 2903

      SELECT pol.po_line_id
      BULK COLLECT INTO l_lineid_tbl
      FROM po_lines pol
      WHERE pol.po_header_id = p_document_id;
Line: 2952

      SELECT DECODE(max(DECODE(poll.closed_code,
                        'CLOSED', 2,
                        'FINALLY CLOSED', 1,
                        3)),
             3, 'OPEN',
             2, l_none_open_one_closed,
             1, l_all_finally_closed )
        INTO l_rollup_code
        FROM po_line_locations poll
        WHERE poll.po_line_id = l_lineid_tbl(i)
          AND poll.po_release_id IS NULL
          AND poll.shipment_type <> 'PREPAYMENT';  -- 
Line: 2974

      UPDATE po_lines pol
      SET pol.closed_code = l_rollup_code
        , pol.last_update_date = SYSDATE
        , pol.last_updated_by = p_user_id
        , pol.last_update_login = p_login_id
        , pol.closed_by = p_employee_id
        , pol.closed_date = DECODE(l_rollup_code,
                                     'CLOSED', SYSDATE,
                                     'FINALLY CLOSED', SYSDATE,
                                      NULL)
        , pol.closed_reason = DECODE(p_shipment_id, NULL, p_reason, l_rollup_msg)
      WHERE pol.po_line_id = l_lineid_tbl(i)
        AND NVL(pol.closed_code, 'OPEN') <> l_rollup_code
        AND (((p_action = 'INVOICE OPEN') AND (p_calling_mode = 'AP'))
            OR (NVL(pol.closed_code, 'OPEN') <> 'FINALLY CLOSED'));
Line: 3048

    SELECT DECODE(max(DECODE(pol.closed_code,
                      'CLOSED', 2,
                      'FINALLY CLOSED', 1,
                      3)),
           3, 'OPEN',
           2, l_none_open_one_closed,
           1, l_all_finally_closed)
    INTO l_rollup_code
    FROM po_lines pol
    WHERE pol.po_header_id = p_document_id;
Line: 3064

    UPDATE po_headers poh
    SET poh.closed_code = l_rollup_code
       , poh.last_update_date = SYSDATE
       , poh.last_updated_by = p_user_id
       , poh.last_update_login = p_login_id
       , poh.closed_date = decode(l_rollup_code,
                                   'CLOSED', SYSDATE,
                                   'FINALLY CLOSED', SYSDATE,
                                   NULL)
    WHERE poh.po_header_id = p_document_id
      AND NVL(poh.closed_code, 'OPEN') <> l_rollup_code;
Line: 3084

      l_update_action_hist := TRUE;
Line: 3087

      l_update_action_hist := FALSE;
Line: 3141

    UPDATE po_releases por
    SET por.closed_code = l_rollup_code
      , por.last_update_date = SYSDATE
      , por.last_updated_by = p_user_id
      , por.last_update_login = p_login_id
    WHERE por.po_release_id = p_document_id
      AND NVL(por.closed_code, 'OPEN') <> l_rollup_code;
Line: 3157

      l_update_action_hist := TRUE;
Line: 3160

      l_update_action_hist := FALSE;
Line: 3166

    l_update_action_hist := TRUE;
Line: 3175

    PO_LOG.stmt(d_module, d_progress, 'l_update_action_hist', l_update_action_hist);
Line: 3178

  IF (l_update_action_hist)
  THEN

    d_progress := 410;
Line: 3488

    SELECT poll.line_location_id, poll.closed_code
    BULK COLLECT INTO l_ship_id_tbl, l_closed_code_tbl
    FROM po_line_locations poll
    WHERE poll.line_location_id = p_shipment_id
      AND NVL(poll.approved_flag, 'N') = 'Y'
      AND NVL(poll.closed_code, 'OPEN') <> 'FINALLY CLOSED';
Line: 3500

    SELECT poll.line_location_id, poll.closed_code
    BULK COLLECT INTO l_ship_id_tbl, l_closed_code_tbl
    FROM po_line_locations poll
    WHERE poll.po_line_id = p_line_id
      AND NVL(poll.approved_flag, 'N') = 'Y'
      AND NVL(poll.closed_code, 'OPEN') <> 'FINALLY CLOSED';
Line: 3512

    SELECT poll.line_location_id, poll.closed_code
    BULK COLLECT INTO l_ship_id_tbl, l_closed_code_tbl
    FROM po_line_locations poll
    WHERE poll.po_release_id = p_document_id
      AND NVL(poll.approved_flag, 'N') = 'Y'
      AND NVL(poll.closed_code, 'OPEN') <> 'FINALLY CLOSED';
Line: 3523

    SELECT poll.line_location_id, poll.closed_code
    BULK COLLECT INTO l_ship_id_tbl, l_closed_code_tbl
    FROM po_line_locations poll
    WHERE poll.po_header_id = p_document_id
      AND NVL(poll.approved_flag, 'N') = 'Y'
      AND NVL(poll.closed_code, 'OPEN') <> 'FINALLY CLOSED';