DBA Data[Home] [Help]

APPS.PO_DRAFTS_PVT SQL Statements

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

Line: 26

  p_delete_draft IN VARCHAR2
);
Line: 29

PROCEDURE update_acceptance_status
( p_draft_id IN NUMBER,
  p_acceptance_action IN VARCHAR2
);
Line: 79

PROCEDURE create_update_locks
( p_draft_id        IN NUMBER,
  p_return_status   IN OUT NOCOPY VARCHAR2,
  x_results        OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
);
Line: 108

PROCEDURE update_revnum_headers_ext
(p_draft_id        IN NUMBER,
p_po_header_id        IN NUMBER
)
IS
  l_header_revision NUMBER;
Line: 116

  d_api_name CONSTANT VARCHAR2(30) := 'update_revnum_headers_ext';
Line: 125

    SELECT revision_num
    INTO   l_header_revision
    FROM   po_headers_all
    WHERE  po_header_id = p_po_header_id;
Line: 141

      SELECT 'Y'
      INTO l_is_mod_document
      FROM po_drafts
      WHERE draft_id = p_draft_id
      AND draft_type = 'MOD';
Line: 157

      UPDATE po_headers_all_ext_b phaeb
      SET revision_num =  l_header_revision
      WHERE EXISTS ( SELECT 'Lock exists for the address'
                     FROM   po_entity_locks poel
                     WHERE  poel.entity_pk1 = phaeb.po_header_id
                        AND poel.entity_pk2 = phaeb.c_ext_attr39 -- address type
                        AND poel.lock_by_draft_id = p_draft_id
                        AND poel.entity_name = G_LOCK_ADDRESS_ENTITY
      )
      AND phaeb.po_header_id = p_po_header_id
      AND phaeb.draft_id = -1
      AND phaeb.c_ext_attr40 = 'PO_UDA_ADDRESS_TYPES';
Line: 172

    PO_LOG.proc_end(d_module, 'number of rows updated', SQL%ROWCOUNT);
Line: 175

END update_revnum_headers_ext;
Line: 200

  SELECT PO_DRAFTS_S.nextval
  INTO   l_draft_id
  FROM   DUAL;
Line: 242

  p_delete_processed_draft IN VARCHAR2,
  p_acceptance_action IN VARCHAR2,
  x_return_status OUT NOCOPY VARCHAR2,
  p_caller IN VARCHAR2 DEFAULT NULL
) IS

d_api_name CONSTANT VARCHAR2(30) := 'transfer_draft_to_txn';
Line: 277

    PO_LOG.proc_begin(d_module, 'p_delete_processed_draft',
                                p_delete_processed_draft);
Line: 303

      PO_LOG.stmt(d_module, d_position, 'update acceptance action');
Line: 306

    update_acceptance_status
    ( p_draft_id => p_draft_id,
      p_acceptance_action => p_acceptance_action
    );
Line: 325

    PO_DRAFT_APPR_STATUS_PVT.update_approval_status
    ( p_draft_info => l_draft_info
    , x_rebuild_attribs => l_rebuild_attribs -- Bug#4902870
    );
Line: 352

  SELECT 'Y'
    			INTO l_is_mod_document
    			FROM po_drafts
    			WHERE draft_id = p_draft_id
    			AND draft_type = 'MOD';
Line: 363

    SELECT revision_num
    INTO   l_header_revision
    FROM   po_headers_all
    WHERE  po_header_id = p_po_header_id;
Line: 371

		UPDATE po_headers_all
       SET revision_num = l_header_revision,
           revised_date = SYSDATE
     WHERE po_header_id = p_po_header_id;
Line: 378

    UPDATE po_lines_all pla
    SET revision_num  =  l_header_revision
    WHERE EXISTS ( SELECT 'Lock exists for the line'
                   FROM po_entity_locks poel
                   WHERE poel.entity_pk1 = pla.po_line_id
                     AND poel.lock_by_draft_id = p_draft_id
                     AND poel.entity_name = G_LOCK_LINE_ENTITY
    )
    -- : Stamping revision_num for newly added lines on mod.
    OR    EXISTS ( SELECT 'New Line'
                     FROM  po_lines_draft_all pld
                    WHERE  pld.po_line_id = pla.po_line_id
                      AND  pld.draft_id = p_draft_id
                      AND  pld.change_status = 'NEW'
                 )
    AND pla.po_header_id = p_po_header_id;
Line: 396

     UPDATE po_line_locations_all plla
     SET revision_num  =  l_header_revision
     WHERE EXISTS ( SELECT 'Lock exists for the shipment'
                    FROM   po_entity_locks poel
                    WHERE poel.entity_pk1 = plla.line_location_id
                     AND poel.lock_by_draft_id = p_draft_id
                     AND poel.entity_name = G_LOCK_SHIPMENT_ENTITY
    )
    -- : Stamping revision_num for newly added shipment on mod.
    OR    EXISTS ( SELECT 'New Shipment'
                     FROM  po_line_locations_draft_all plld
                    WHERE  plld.line_location_id = plla.line_location_id
                      AND  plld.draft_id = p_draft_id
                      AND  plld.change_status = 'NEW'
                 )
    AND plla.po_header_id=p_po_header_id;
Line: 414

     UPDATE po_distributions_all pda
     SET revision_num  = l_header_revision
     WHERE EXISTS ( SELECT 'Lock exists for the distribution'
                    FROM   po_entity_locks poel
                    WHERE poel.entity_pk1 = pda.po_distribution_id
                     AND poel.lock_by_draft_id = p_draft_id
                     AND poel.entity_name = G_LOCK_DIST_ENTITY
    )
    -- : Stamping revision_num for newly added shipment on mod.
    OR    EXISTS ( SELECT 'New Distribution'
                     FROM  po_distributions_draft_all pdd
                    WHERE  pdd.po_distribution_id = pda.po_distribution_id
                      AND  pdd.draft_id = p_draft_id
                      AND  pdd.change_status = 'NEW'
                 )
    AND pda.po_header_id=p_po_header_id;
Line: 432

     UPDATE po_exhibit_details pex
     SET revision_num  = l_header_revision
     WHERE EXISTS ( SELECT 'Lock exists for the exhibit'
                    FROM   po_entity_locks poel
                    WHERE poel.entity_pk1 = pex.po_exhibit_details_id
                     AND poel.lock_by_draft_id = p_draft_id
                     --AND poel.entity_name = G_LOCK_EXHIBIT_ENTITY
    )
    -- : Stamping revision_num for newly added shipment on mod.
    OR    EXISTS ( SELECT 'New Exhibit'
                     FROM  po_exhibit_details_draft pexd
                    WHERE  pexd.po_exhibit_details_id = pex.po_exhibit_details_id
                      AND  pexd.draft_id = p_draft_id
                      AND  pexd.change_status = 'NEW'
                 )
    AND pex.po_header_id=p_po_header_id;
Line: 451

      PO_LOG.stmt(d_module,d_position,'Uda update handled in PO_DRAFT_MERGE_PKG.MergeReserve_Autonomous');
Line: 494

    p_delete_draft => p_delete_processed_draft
  );
Line: 506

    SELECT authorization_status
    INTO l_new_approval_status
    FROM po_headers_all
    WHERE po_header_id = p_po_header_id;
Line: 610

  PO_HEADERS_DRAFT_PKG.delete_rows
  ( p_draft_id => p_draft_id,
    p_po_header_id => NULL
  );
Line: 619

    Select po_line_id
    BULK Collect into po_line_ids_tbl
    from po_lines_draft_all pold
    where pold.draft_id = p_draft_id;
Line: 624

    delete_line_ucas(p_po_draft_id => p_draft_id,
                     po_line_ids_tbl => po_line_ids_tbl);
Line: 630

  PO_LINES_DRAFT_PKG.delete_rows
  ( p_draft_id => p_draft_id,
    p_po_line_id => NULL
  );
Line: 636

  PO_LINE_LOCATIONS_DRAFT_PKG.delete_rows
  ( p_draft_id => p_draft_id,
    p_line_location_id => NULL
  );
Line: 642

  PO_DISTRIBUTIONS_DRAFT_PKG.delete_rows
  ( p_draft_id => p_draft_id,
    p_po_distribution_id => NULL
  );
Line: 648

  PO_GA_ORG_ASSIGN_DRAFT_PKG.delete_rows
  ( p_draft_id => p_draft_id,
    p_org_assignment_id => NULL
  );
Line: 654

  PO_PRICE_DIFF_DRAFT_PKG.delete_rows
  ( p_draft_id => p_draft_id,
    p_price_differential_id => NULL
  );
Line: 660

  PO_NOTIFICATION_CTRL_DRAFT_PKG.delete_rows
  ( p_draft_id => p_draft_id,
    p_notification_id => NULL
  );
Line: 666

  PO_ATTR_VALUES_DRAFT_PKG.delete_rows
  ( p_draft_id => p_draft_id,
    p_attribute_values_id => NULL
  );
Line: 672

  PO_ATTR_VALUES_TLP_DRAFT_PKG.delete_rows
  ( p_draft_id => p_draft_id,
    p_attribute_values_tlp_id => NULL
  );
Line: 679

  PO_PRICE_ADJ_DRAFT_PKG.delete_rows
  ( p_draft_id => p_draft_id,
    p_price_adjustment_id => NULL
  );
Line: 687

  PO_EXHIBITS_PVT.delete_rows
  ( p_draft_id => p_draft_id,
    p_po_exhibit_details_id => NULL
  );
Line: 696

    DELETE FROM po_drafts
    WHERE draft_id = p_draft_id;
Line: 767

  SELECT NVL(MAX(FND_API.G_FALSE), FND_API.G_TRUE)
  INTO x_draft_info.new_document
  FROM po_headers_all POH
  WHERE POH.po_header_id = p_po_header_id;
Line: 774

    SELECT PHD.type_lookup_code,
           PHD.quote_type_lookup_code,
           NVL(PHD.global_agreement_flag, 'N')
    INTO   l_type_lookup_code,
           l_quote_type_lookup_code,
           x_draft_info.ga_flag
    FROM PO_HEADERS_DRAFT_ALL PHD
    WHERE PHD.po_header_id = p_po_header_id
    AND   PHD.draft_id = p_draft_id;
Line: 787

    SELECT PHA.type_lookup_code,
           PHA.quote_type_lookup_code,
           NVL(PHA.global_agreement_flag, 'N')
    INTO   l_type_lookup_code,
           l_quote_type_lookup_code,
           x_draft_info.ga_flag
    FROM PO_HEADERS_ALL PHA
    WHERE PHA.po_header_id = p_po_header_id;
Line: 798

  SELECT draft_type
  INTO   x_draft_info.draft_type
  FROM   po_drafts pod
  WHERE  pod.draft_id = p_draft_id;
Line: 1055

  SELECT DFT.draft_id,
         DFT.status,
         DFT.owner_role
  INTO x_draft_id,
       x_draft_status,
       x_draft_owner_role
  FROM po_drafts DFT
  WHERE DFT.document_id = p_po_header_id
  AND DFT.status <> g_status_COMPLETED
  AND DFT.status <> g_status_WITHDRAWN --Mod Project
  AND Nvl(dft.draft_type,'NULL') <> 'PAR'; --
Line: 1165

  SELECT request_id
  INTO   x_request_id
  FROM   po_drafts
  WHERE  draft_id = p_draft_id;
Line: 1218

  SELECT lock_owner_role,
         lock_owner_user_id
  INTO   x_lock_owner_role,
         x_lock_owner_user_id
  FROM   po_headers_all
  WHERE  po_header_id = p_po_header_id;
Line: 1274

  UPDATE po_headers_all
  SET lock_owner_role = p_role,
      lock_owner_user_id = p_role_user_id
  WHERE po_header_id = p_po_header_id;
Line: 1316

PROCEDURE update_permission_check
( p_calling_module IN VARCHAR2,
  p_po_header_id IN NUMBER,
  p_role IN VARCHAR2,
  p_skip_cat_upload_chk IN VARCHAR2,
  x_update_allowed OUT NOCOPY VARCHAR2,
  x_locking_applicable OUT NOCOPY VARCHAR2,
  x_unlock_required OUT NOCOPY VARCHAR2,
  x_message OUT NOCOPY VARCHAR2
) IS
d_api_name CONSTANT VARCHAR2(30) := 'update_permission_check';
Line: 1356

  x_update_allowed := FND_API.G_TRUE;
Line: 1422

      x_update_allowed := FND_API.G_FALSE;
Line: 1436

      x_update_allowed := FND_API.G_FALSE;
Line: 1443

      x_update_allowed := FND_API.G_FALSE;
Line: 1459

            x_update_allowed := FND_API.G_FALSE;
Line: 1464

      x_update_allowed := FND_API.G_FALSE;
Line: 1500

        x_update_allowed := FND_API.G_FALSE;
Line: 1516

            x_update_allowed := FND_API.G_FALSE;
Line: 1521

            x_update_allowed := FND_API.G_FALSE;
Line: 1556

      x_message := 'PO_UPDATE_NOT_ALLOWED';
Line: 1557

      x_update_allowed := FND_API.G_FALSE;
Line: 1571

      x_message := 'PO_UPDATE_NOT_ALLOWED';
Line: 1572

      x_update_allowed := FND_API.G_FALSE;
Line: 1579

  SELECT NVL(authorization_status, 'INCOMPLETE')
  INTO l_authorization_status
  FROM po_headers_all
  WHERE po_header_id = p_po_header_id;
Line: 1591

       l_authorization_status || '. This role cannot update the document ' ||
       'in this status');
Line: 1596

    x_update_allowed := FND_API.G_FALSE;
Line: 1611

    x_update_allowed := FND_API.G_FALSE;
Line: 1644

      x_update_allowed := FND_API.G_FALSE;
Line: 1659

      x_update_allowed := FND_API.G_FALSE;
Line: 1671

      x_update_allowed := FND_API.G_FALSE;
Line: 1688

END update_permission_check;
Line: 1691

PROCEDURE update_permission_check
( p_calling_module IN VARCHAR2,
  p_po_header_id IN NUMBER,
  p_role IN VARCHAR2,
  p_skip_cat_upload_chk IN VARCHAR2,
  x_update_allowed OUT NOCOPY VARCHAR2,
  x_locking_applicable OUT NOCOPY VARCHAR2,
  x_unlock_required OUT NOCOPY VARCHAR2,
  x_message OUT NOCOPY VARCHAR2,
  x_token_name_tbl OUT NOCOPY PO_TBL_VARCHAR30,
  x_token_value_tbl OUT NOCOPY PO_TBL_VARCHAR2000
) IS

l_num_records NUMBER;
Line: 1708

  update_permission_check
  ( p_calling_module      => p_calling_module,
    p_po_header_id        => p_po_header_id,
    p_role                => p_role,
    p_skip_cat_upload_chk => p_skip_cat_upload_chk,
    x_update_allowed      => x_update_allowed,
    x_locking_applicable  => x_locking_applicable,
    x_unlock_required     => x_unlock_required,
    x_message             => x_message
  );
Line: 1722

  IF (x_update_allowed = FND_API.G_TRUE) THEN
    RETURN;
Line: 1729

  IF (x_message IN ('PO_DOC_LOCKED', 'PO_UPDATE_NOT_ALLOWED',
                'PO_AUTH_STATUS_ERROR', 'PO_DOC_LOCKED_BY_OTHER_ROLE',
                'PO_UPLOAD_PENDING_RUNNING', 'PO_UPLOAD_ERROR',
                'PO_BUYER_ACCEPTANCE_PENDING',
                'PO_LOCKED_BY_PDOI_ERR')) THEN
    x_token_name_tbl := PO_TBL_VARCHAR30 ('STYLE_NAME');
Line: 1738

END update_permission_check;
Line: 1741

PROCEDURE update_permission_check
( p_calling_module IN VARCHAR2,
  p_po_header_id IN NUMBER,
  p_role IN VARCHAR2,
  p_skip_cat_upload_chk IN VARCHAR2,
  x_update_allowed OUT NOCOPY VARCHAR2,
  x_locking_applicable OUT NOCOPY VARCHAR2,
  x_unlock_required OUT NOCOPY VARCHAR2,
  x_message OUT NOCOPY VARCHAR2,
  x_message_text OUT NOCOPY VARCHAR2
) IS

l_token_name_tbl PO_TBL_VARCHAR30;
Line: 1757

  update_permission_check
  ( p_calling_module      => p_calling_module,
    p_po_header_id        => p_po_header_id,
    p_role                => p_role,
    p_skip_cat_upload_chk => p_skip_cat_upload_chk,
    x_update_allowed      => x_update_allowed,
    x_locking_applicable  => x_locking_applicable,
    x_unlock_required     => x_unlock_required,
    x_message             => x_message,
    x_token_name_tbl      => l_token_name_tbl,
    x_token_value_tbl     => l_token_value_tbl
  );
Line: 1770

  IF (x_update_allowed = FND_API.G_TRUE) THEN
    RETURN;
Line: 1781

END update_permission_check;
Line: 1964

  SELECT type_lookup_code,
         NVL(global_agreement_flag, 'N'),
         approved_date,
         lock_owner_role
  INTO   l_type_lookup_code,
         l_ga_flag,
         l_approved_date,
         l_current_lock_owner_role
  FROM   po_headers_all
  WHERE  po_header_id = p_po_header_id;
Line: 2037

  SELECT type_lookup_code,
         NVL(global_agreement_flag, 'N')
  INTO   l_type_lookup_code,
         l_ga_flag
  FROM   po_headers_all
  WHERE  po_header_id = p_po_header_id;
Line: 2118

  update_permission_check
  ( p_calling_module => p_calling_module,
    p_po_header_id => p_po_header_id,
    p_role => p_role,
    x_update_allowed => x_locking_allowed,
    x_locking_applicable => l_locking_applicable,
    x_unlock_required => l_unlock_required,
    x_message => x_message,
    x_message_text => x_message_text
  );
Line: 2163

PROCEDURE update_draft_status
( p_draft_id IN NUMBER,
  p_new_status IN VARCHAR2
) IS
d_api_name CONSTANT VARCHAR2(30) := 'update_draft_status';
Line: 2180

  UPDATE po_drafts
  SET status = p_new_status,
      request_id = DECODE (p_new_status,
                           g_status_PDOI_PROCESSING, l_cur_conc_request_id,
                           NULL)
  WHERE draft_id = p_draft_id;
Line: 2191

END update_draft_status;
Line: 2239

  SELECT FND_API.G_TRUE
  INTO   l_pending_changes_exist
  FROM   dual
  WHERE  EXISTS (SELECT 'Draft Exists'
                 FROM   po_drafts
                 WHERE  document_id = p_po_header_id
                        AND status <> g_status_COMPLETED
                        AND NVL(draft_type,g_draft_type_DOC_CHANGE) = g_draft_type_DOC_CHANGE);
Line: 2758

  SELECT supplier_auth_enabled_flag
  INTO l_supplier_auth_enabled_flag
  FROM  po_headers_all
  WHERE po_header_id = p_po_header_id;
Line: 2812

  UPDATE po_headers_all
  SET supplier_auth_enabled_flag
             = p_supplier_auth_enabled_flag
  WHERE po_header_id = p_po_header_id;
Line: 2864

  SELECT cat_admin_auth_enabled_flag
  INTO l_cat_admin_auth_enable_flag
  FROM  po_headers_all
  WHERE po_header_id = p_po_header_id;
Line: 2918

  UPDATE po_headers_all
  SET cat_admin_auth_enabled_flag
             = p_cat_admin_auth_enable_flag
  WHERE po_header_id = p_po_header_id;
Line: 2971

  SELECT job_status,
         -- role_user_id,
         job_number,
         job_status_display,
         is_error
  INTO   x_upload_status_code,
         --x_upload_requestor_role_id,
         x_upload_job_number,
         x_upload_status_display,
         x_upload_is_error
  FROM icx_cat_latest_batch_jobs_v
  WHERE po_header_Id = p_po_header_id
  AND   role = p_role;
Line: 3035

  SELECT job_status,
         -- role_user_id,
	 ROLE,
         job_number,
         job_status_display
  INTO   x_upload_status_code,
         --x_upload_requestor_role_id,
	 x_upload_requestor_role,
         x_upload_job_number,
         x_upload_status_display
  FROM icx_cat_latest_batch_jobs_v
  WHERE po_header_id = p_po_header_id
  AND   job_status IN (g_upload_status_PENDING,
                       g_upload_status_RUNNING,
                       g_upload_status_ERROR)
  AND   ROWNUM = 1;
Line: 3086

  SELECT org_id,
         segment1,
         revision_num
  INTO   l_org_id,
         l_segment1,
         l_revision_num
  FROM   po_headers_all
  WHERE  po_header_id = p_po_header_id;
Line: 3195

   UPDATE  icx_cat_batch_jobs
   SET  JOB_STATUS ='COMPLETED'
   WHERE po_header_id=p_po_header_id;
Line: 3247

  SELECT agent_id
  INTO   l_agent_id
  FROM   po_headers_all
  WHERE  po_header_id = p_po_header_id;
Line: 3321

    SELECT 1
    INTO   l_dummy
    FROM   po_headers_all POH
    WHERE  POH.po_header_id = p_po_header_id
    AND    NVL(cancel_flag, 'N') = 'N'
    AND    NVL(closed_code, 'OPEN') NOT IN ('CLOSED', 'FINALLY CLOSED')
    AND    NVL(frozen_flag, 'N') <> 'Y'
    AND    NVL(user_hold_flag, 'N') <> 'Y';
Line: 3451

    PO_REQ_LINES_SV.update_reqs_in_pool_flag;
Line: 3517

  SELECT PH.revision_num
  INTO   l_orig_revision_num
  FROM   po_headers_all PH
  WHERE  PH.po_header_id = p_draft_info.po_header_id;
Line: 3591

        SELECT 'Y',
               podsh.ame_transaction_type
        INTO   l_new_ame_appr_id_req,
               l_ame_transaction_type
        FROM   po_headers_all poh,
               po_doc_style_headers podsh
        WHERE  poh.style_id = podsh.style_id
               AND NVL(podsh.change_process_type,'CHANGE_ORDER') <> 'MODIFICATION'
               AND podsh.ame_transaction_type IS NOT NULL
               AND poh.po_header_id = p_draft_info.po_header_id;
Line: 3606

      UPDATE po_headers_all
      SET revision_num = l_new_revision_num,
          revised_date = SYSDATE,
          ame_approval_id = DECODE(l_new_ame_appr_id_req,
                                   'Y', po_ame_approvals_s.NEXTVAL,
                                   ame_approval_id),
          ame_transaction_type = DECODE(l_new_ame_appr_id_req,
                                        'Y', l_ame_transaction_type,
                                        ame_transaction_type)
      WHERE po_header_id = p_draft_info.po_header_id;
Line: 3662

  p_delete_draft IN VARCHAR2
) IS

d_api_name CONSTANT VARCHAR2(30) := 'complete_transfer';
Line: 3681

  IF (p_delete_draft = FND_API.G_FALSE OR
      p_delete_draft = 'X') THEN

    d_position := 10;
Line: 3686

    update_draft_status
    ( p_draft_id   => p_draft_info.draft_id,
      p_new_status => g_status_COMPLETED
    );
Line: 3693

  IF (p_delete_draft = FND_API.G_TRUE OR
      p_delete_draft = 'X') THEN

    IF (p_delete_draft = FND_API.G_TRUE) THEN
      l_exclude_ctrl_tbl := FND_API.G_FALSE;
Line: 3698

    ELSIF (p_delete_draft = 'X') THEN
      l_exclude_ctrl_tbl := FND_API.G_TRUE;
Line: 3752

PROCEDURE update_acceptance_status
( p_draft_id IN NUMBER,
  p_acceptance_action IN VARCHAR2
) IS

d_api_name CONSTANT VARCHAR2(30) := 'update_acceptance_status';
Line: 3780

    UPDATE po_headers_draft_all
    SET change_accepted_flag = l_change_accepted_flag
    WHERE draft_id = p_draft_id
    AND change_accepted_flag IS NULL;
Line: 3786

    UPDATE po_lines_draft_all
    SET change_accepted_flag = l_change_accepted_flag
    WHERE draft_id = p_draft_id
    AND change_accepted_flag IS NULL;
Line: 3792

    UPDATE po_line_locations_draft_all
    SET change_accepted_flag = l_change_accepted_flag
    WHERE draft_id = p_draft_id
    AND change_accepted_flag IS NULL;
Line: 3798

    UPDATE po_distributions_draft_all
    SET change_accepted_flag = l_change_accepted_flag
    WHERE draft_id = p_draft_id
    AND change_accepted_flag IS NULL;
Line: 3804

    UPDATE po_ga_org_assign_draft
    SET change_accepted_flag = l_change_accepted_flag
    WHERE draft_id = p_draft_id
    AND change_accepted_flag IS NULL;
Line: 3810

    UPDATE po_price_diff_draft
    SET change_accepted_flag = l_change_accepted_flag
    WHERE draft_id = p_draft_id
    AND change_accepted_flag IS NULL;
Line: 3816

    UPDATE po_notification_ctrl_draft
    SET change_accepted_flag = l_change_accepted_flag
    WHERE draft_id = p_draft_id
    AND change_accepted_flag IS NULL;
Line: 3822

    UPDATE po_attribute_values_draft
    SET change_accepted_flag = l_change_accepted_flag
    WHERE draft_id = p_draft_id
    AND change_accepted_flag IS NULL;
Line: 3828

    UPDATE po_attribute_values_tlp_draft
    SET change_accepted_flag = l_change_accepted_flag
    WHERE draft_id = p_draft_id
    AND change_accepted_flag IS NULL;
Line: 3835

    UPDATE po_price_adjustments_draft
    SET change_accepted_flag = l_change_accepted_flag
    WHERE draft_id = p_draft_id
    AND change_accepted_flag IS NULL;
Line: 3854

END update_acceptance_status;
Line: 3886

  SELECT Count(*)
  INTO l_draft_count
  FROM po_drafts
  WHERE document_id=p_po_header_id
  AND   draft_type='MOD';
Line: 3937

  SELECT 'Y'
  INTO l_mod_flag
  FROM dual
  WHERE EXISTS(SELECT 'mod enabled po'
                   FROM po_doc_style_headers pdsh ,
                        po_headers_all poh
                   WHERE pdsh.style_id=poh.style_id
                   AND poh.po_header_id=p_po_header_id
                   AND pdsh.change_process_type='MODIFICATION');
Line: 3983

    SELECT 'Y'
    INTO   l_open_mod_exist_flag
    FROM   dual
    WHERE  EXISTS (SELECT 'Open Mod Exists'
                   FROM   po_drafts pod,
                          po_headers_all poh
                   WHERE  pod.document_id = poh.po_header_id
                          AND poh.style_id = p_style_id
                          AND pod.draft_type= 'MOD'
                          AND pod.status IN ('DRAFT','REJECTED','IN PROCESS',
                                             'PRE-APPROVED','SUPPLIER SIGN'));
Line: 4073

  DELETE FROM po_session_gt
  WHERE  index_char1 IN (G_CHANGED_ENTTIES_ID, G_LOCKS_REQUIRED_ID);
Line: 4078

  INSERT INTO po_session_gt(
    key,
    index_char1,  -- records identifier
    index_char2,  -- entity name
    char1,        -- entity_pk1
    char2,        -- entity_pk2
    char3,        -- entity_pk3
    char4         -- entity_pk4
  )
  VALUES(
    po_session_gt_s.NEXTVAL,
    G_CHANGED_ENTTIES_ID,
    p_entity_name_tbl(i),
    p_pk1_tbl(i),
    p_pk2_tbl(i),
    p_pk3_tbl(i),
    p_pk4_tbl(i)
  );
Line: 4101

    PO_LOG.stmt(d_module,d_position,'Nmber Of rows Inserted'||SQL%ROWCOUNT);
Line: 4112

  SELECT  pha.TYPE_LOOKUP_CODE, pha.STYLE_ID,phd.po_header_id
  INTO    l_document_type_code, l_document_style_id, l_po_header_id
  FROM    po_headers_all pha, po_headers_draft_all phd
  WHERE   pha.PO_HEADER_ID = phd.PO_HEADER_ID
    AND   phd.draft_id=p_draft_id ;
Line: 4147

  create_update_locks (p_draft_id      =>p_draft_id,
                      p_return_status=> x_return_status,
                      x_results =>x_results);
Line: 4199

  INSERT INTO po_session_gt(
    key,
    index_char1,  -- records identifier
    index_char2,  -- entity_name
    char1,        -- entity_pk1
    num1,         -- lock_by_draft_id
    char5         -- lock_type
  )
  SELECT po_session_gt_s.NEXTVAL,
         G_LOCKS_REQUIRED_ID,
         G_LOCK_HEADER_ENTITY,
         draft.po_header_id,
         draft.draft_id,
         CASE
           WHEN base.p_lock_attrs <> draft.p_lock_attrs THEN 'P'
           WHEN base.s_lock_attrs <> draft.s_lock_attrs THEN 'S'
           ELSE NULL
         END lock_type
  FROM   (SELECT poh.po_header_id,
                 G_DRAFT_ID_MINUS_1 draft_id,
                 po_header_mod_s_lock_attrs(
                   NVL(poh.amount_limit, G_NULL_NUM)
                 ) s_lock_attrs,
                 po_header_mod_p_lock_attrs(
                   NVL(poh.user_document_status, G_NULL_CHAR),
                   NVL(poh.vendor_site_id, G_NULL_NUM),
                   NVL(poh.vendor_contact_id, G_NULL_NUM),
                   NVL(poh.supplier_notif_method, G_NULL_CHAR),
                   NVL(poh.fax, G_NULL_CHAR),
                   NVL(poh.email_address, G_NULL_CHAR),
                   NVL(poh.clm_external_idv, G_NULL_CHAR),
                   NVL(poh.clm_vendor_offer_number, G_NULL_CHAR),
                   NVL(poh.clm_effective_date, G_NULL_DATE),
                   NVL(poh.agent_id, G_NULL_NUM),
                   NVL(poh.clm_award_administrator, G_NULL_CHAR),
                   NVL(poh.comments, G_NULL_CHAR),
                   NVL(poh.confirming_order_flag, G_NULL_CHAR),
                   NVL(poh.terms_id, G_NULL_NUM),
                   NVL(poh.ship_to_location_id, G_NULL_NUM),
                   NVL(poh.bill_to_location_id, G_NULL_NUM),
                   NVL(poh.ship_via_lookup_code, G_NULL_CHAR),
                   NVL(poh.freight_terms_lookup_code, G_NULL_CHAR),
                   NVL(poh.fob_lookup_code, G_NULL_CHAR),
                   NVL(poh.shipping_control, G_NULL_CHAR),
                   NVL(poh.note_to_vendor, G_NULL_CHAR),
                   NVL(poh.note_to_receiver, G_NULL_CHAR),
                   NVL(poh.blanket_total_amount, G_NULL_NUM),
                   NVL(poh.price_update_tolerance, G_NULL_NUM),
                   NVL(poh.start_date, G_NULL_DATE),
                   NVL(poh.end_date, G_NULL_DATE),
                   NVL(poh.clm_max_order_amount, G_NULL_NUM),
                   NVL(poh.clm_min_order_amount, G_NULL_NUM),
                   NVL(poh.clm_min_guarantee_award_amt, G_NULL_NUM),
                   NVL(poh.clm_min_guar_award_amt_percent, G_NULL_NUM),
                   NVL(poh.auto_sourcing_flag, G_NULL_CHAR),
                   NVL(poh.update_sourcing_rules_flag, G_NULL_CHAR),
                   NVL(poh.retro_price_apply_updates_flag, G_NULL_CHAR),
                   NVL(poh.retro_price_comm_updates_flag, g_null_char),
                   NVL(poh.attribute_category ,G_NULL_CHAR),
                   NVL(poh.attribute1   ,G_NULL_CHAR),
                   NVL(poh.attribute2   ,G_NULL_CHAR),
                   NVL(poh.attribute3   ,G_NULL_CHAR),
                   NVL(poh.attribute4   ,G_NULL_CHAR),
                   NVL(poh.attribute5   ,G_NULL_CHAR),
                   NVL(poh.attribute6   ,G_NULL_CHAR),
                   NVL(poh.attribute7   ,G_NULL_CHAR),
                   NVL(poh.attribute8   ,G_NULL_CHAR),
                   NVL(poh.attribute9   ,G_NULL_CHAR),
                   NVL(poh.attribute10  ,G_NULL_CHAR),
                   NVL(poh.attribute11  ,G_NULL_CHAR),
                   NVL(poh.attribute12  ,G_NULL_CHAR),
                   NVL(poh.attribute13  ,G_NULL_CHAR),
                   NVL(poh.attribute14  ,g_null_char),
                   NVL(poh.attribute15  ,G_NULL_CHAR),
                   NVL(poh.umbrella_program_id  ,G_NULL_NUM),
                   NVL(poh.clm_contract_finance_code, G_NULL_CHAR),
                   NVL(poh.clm_payment_instr_code, G_NULL_CHAR)
                 ) p_lock_attrs
          FROM   po_headers_all poh,
                 po_session_gt pogt
          WHERE  poh.po_header_id = pogt.char1 -- po_header_id
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 AND pogt.index_char2 = G_LOCK_HEADER_ENTITY
          ) base,
          (SELECT pohd.po_header_id,
                  pohd.draft_id,
                  po_header_mod_s_lock_attrs(
                    NVL(pohd.amount_limit, G_NULL_NUM)
                  ) s_lock_attrs,
                  po_header_mod_p_lock_attrs(
                    NVL(pohd.user_document_status, G_NULL_CHAR),
                    NVL(pohd.vendor_site_id, G_NULL_NUM),
                    NVL(pohd.vendor_contact_id, G_NULL_NUM),
                    NVL(pohd.supplier_notif_method, G_NULL_CHAR),
                    NVL(pohd.fax, G_NULL_CHAR),
                    NVL(pohd.email_address, G_NULL_CHAR),
                    NVL(pohd.clm_external_idv, G_NULL_CHAR),
                    NVL(pohd.clm_vendor_offer_number, G_NULL_CHAR),
                    NVL(pohd.clm_effective_date, G_NULL_DATE),
                    NVL(pohd.agent_id, G_NULL_NUM),
                    NVL(pohd.clm_award_administrator, G_NULL_CHAR),
                    NVL(pohd.comments, G_NULL_CHAR),
                    NVL(pohd.confirming_order_flag, G_NULL_CHAR),
                    NVL(pohd.terms_id, G_NULL_NUM),
                    NVL(pohd.ship_to_location_id, G_NULL_NUM),
                    NVL(pohd.bill_to_location_id, G_NULL_NUM),
                    NVL(pohd.ship_via_lookup_code, G_NULL_CHAR),
                    NVL(pohd.freight_terms_lookup_code, G_NULL_CHAR),
                    NVL(pohd.fob_lookup_code, G_NULL_CHAR),
                    NVL(pohd.shipping_control, G_NULL_CHAR),
                    NVL(pohd.note_to_vendor, G_NULL_CHAR),
                    NVL(pohd.note_to_receiver, G_NULL_CHAR),
                    NVL(pohd.blanket_total_amount, G_NULL_NUM),
                    NVL(pohd.price_update_tolerance, G_NULL_NUM),
                    NVL(pohd.start_date, G_NULL_DATE),
                    NVL(pohd.end_date, G_NULL_DATE),
                    NVL(pohd.clm_max_order_amount, G_NULL_NUM),
                    NVL(pohd.clm_min_order_amount, G_NULL_NUM),
                    NVL(pohd.clm_min_guarantee_award_amt, G_NULL_NUM),
                    NVL(pohd.clm_min_guar_award_amt_percent, G_NULL_NUM),
                    NVL(pohd.auto_sourcing_flag, G_NULL_CHAR),
                    NVL(pohd.update_sourcing_rules_flag, G_NULL_CHAR),
                    NVL(pohd.retro_price_apply_updates_flag, g_null_char),
                    NVL(pohd.retro_price_comm_updates_flag, G_NULL_CHAR),
                    NVL(pohd.attribute_category ,G_NULL_CHAR),
                    NVL(pohd.attribute1   ,G_NULL_CHAR),
                    NVL(pohd.attribute2   ,G_NULL_CHAR),
                    NVL(pohd.attribute3   ,G_NULL_CHAR),
                    NVL(pohd.attribute4   ,G_NULL_CHAR),
                    NVL(pohd.attribute5   ,G_NULL_CHAR),
                    NVL(pohd.attribute6   ,G_NULL_CHAR),
                    NVL(pohd.attribute7   ,G_NULL_CHAR),
                    NVL(pohd.attribute8   ,G_NULL_CHAR),
                    NVL(pohd.attribute9   ,G_NULL_CHAR),
                    NVL(pohd.attribute10  ,G_NULL_CHAR),
                    NVL(pohd.attribute11  ,G_NULL_CHAR),
                    NVL(pohd.attribute12  ,G_NULL_CHAR),
                    NVL(pohd.attribute13  ,G_NULL_CHAR),
                    nvl(pohd.attribute14  ,g_null_char),
                    NVL(pohd.attribute15  ,G_NULL_CHAR),
                    NVL(pohd.umbrella_program_id  ,G_NULL_NUM),
                    NVL(pohd.clm_contract_finance_code, G_NULL_CHAR),
                    NVL(pohd.clm_payment_instr_code, G_NULL_CHAR)
                  ) p_lock_attrs
          FROM   po_headers_draft_all pohd,
                 po_session_gt pogt
          WHERE  pohd.draft_id = p_draft_id
                 AND pohd.po_header_id = pogt.char1 -- po_header_id
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 AND pogt.index_char2 = G_LOCK_HEADER_ENTITY
          ) draft
   WHERE base.p_lock_attrs <> draft.p_lock_attrs
         OR base.s_lock_attrs <> draft.s_lock_attrs;
Line: 4356

      PO_LOG.stmt(d_module, d_position, 'Number of Records Inserted',SQL%ROWCOUNT);
Line: 4360

  INSERT INTO po_session_gt(
    key,
    index_char1,  -- records identifier
    index_char2,  -- entity_name
    char1,        -- entity_pk1
    num1,         -- lock_by_draft_id
    char5         -- lock_type
  )
  SELECT po_session_gt_s.NEXTVAL,
         G_LOCKS_REQUIRED_ID,
         G_LOCK_HEADER_ENTITY,
         draft.po_header_id,
         draft.draft_id,
         CASE
           WHEN base.p_lock_attrs <> draft.p_lock_attrs THEN 'P'
           ELSE NULL
         END lock_type
  FROM   (SELECT pgoa.po_header_id,
                G_DRAFT_ID_MINUS_1 draft_id,
                po_ga_org_asg_p_lock_attrs(
                NVL(pgoa.purchasing_org_id ,g_null_num),
                NVL(pgoa.vendor_site_id ,G_NULL_NUM)
          ) p_lock_attrs,
                pgoa.org_assignment_id
          FROM   po_ga_org_assignments pgoa,
                 po_session_gt pogt
          WHERE  pgoa.po_header_id = pogt.char1 -- po_header_id
                 and pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 and pogt.index_char2 = G_LOCK_HEADER_ENTITY
          ) base,--done
          (SELECT pgoad.po_header_id,
                  pgoad.draft_id,
                  po_ga_org_asg_p_lock_attrs(
                  NVL(pgoad.purchasing_org_id ,G_NULL_NUM),
                  NVL(pgoad.vendor_site_id ,G_NULL_NUM)
                  ) P_LOCK_ATTRS,
                  pgoad.org_assignment_id
          FROM   po_ga_org_assign_draft pgoad,
                 po_session_gt pogt
          WHERE  pgoad.draft_id = p_draft_id
                 AND pgoad.po_header_id = pogt.char1 -- po_header_id
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 AND pogt.index_char2 = G_LOCK_HEADER_ENTITY
          ) draft
  WHERE base.org_assignment_id = draft.org_assignment_id
     AND base.p_lock_attrs <> draft.p_lock_attrs;
Line: 4410

      PO_LOG.stmt(d_module,d_position ,'number of rows Inserted ',SQL%ROWCOUNT);
Line: 4414

  INSERT INTO po_session_gt(
    key,
    index_char1,  -- records identifier
    index_char2,  -- entity_name
    char1,        -- entity_pk1
    num1,         -- lock_by_draft_id
    char5         -- lock_type
  )
  SELECT po_session_gt_s.NEXTVAL,
         G_LOCKS_REQUIRED_ID,
         G_LOCK_HEADER_ENTITY,
         draft.po_header_id,
         draft.draft_id,
         CASE
           WHEN base.p_lock_attrs <> draft.p_lock_attrs THEN 'P'
           ELSE NULL
         END lock_type
  FROM   (SELECT pnc.po_header_id,
                G_DRAFT_ID_MINUS_1 draft_id,
                po_notif_ctrl_p_lock_attrs(
                NVL(pnc.notification_condition_code ,G_NULL_CHAR),
                NVL(pnc.notification_qty_percentage ,G_NULL_NUM),
                NVL(pnc.notification_amount ,G_NULL_NUM),
                NVL(pnc.start_date_active ,G_NULL_DATE),
                NVL(pnc.end_date_active ,G_NULL_DATE)
          ) p_lock_attrs,
                pnc.notification_id
          FROM   po_notification_controls pnc,
                 po_session_gt pogt
          WHERE  pnc.po_header_id = pogt.char1 -- po_header_id
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 AND pogt.index_char2 = G_LOCK_HEADER_ENTITY
          ) base,
          (SELECT pncd.po_header_id,
                  pncd.draft_id,
                  po_notif_ctrl_p_lock_attrs(
                  NVL(pncd.notification_condition_code ,G_NULL_CHAR),
                  NVL(pncd.notification_qty_percentage ,G_NULL_NUM),
                  NVL(pncd.notification_amount ,G_NULL_NUM),
                  NVL(pncd.start_date_active ,G_NULL_DATE),
                  NVL(pncd.end_date_active ,G_NULL_DATE)
                  ) p_lock_attrs,
                  pncd.notification_id
          FROM   po_notification_ctrl_draft pncd,
                 po_session_gt pogt
          WHERE  pncd.draft_id = p_draft_id
                 AND pncd.po_header_id = pogt.char1 -- po_header_id
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 AND pogt.index_char2 = G_LOCK_HEADER_ENTITY
          ) draft
  WHERE base.notification_id = draft.notification_id
     AND base.p_lock_attrs <> draft.p_lock_attrs;
Line: 4470

      PO_LOG.stmt(d_module,d_position ,'number of rows Inserted ',SQL%ROWCOUNT);
Line: 4522

  INSERT INTO po_session_gt(
    key,
    index_char1,  -- records identifier
    index_char2,  -- entity_name
    char1,        -- entity_pk1
    num1,         -- lock_by_draft_id
    char5         -- lock_type
  )
  SELECT po_session_gt_s.NEXTVAL,
         G_LOCKS_REQUIRED_ID,
         G_LOCK_LINE_ENTITY,
         draft.po_line_id,
         draft.draft_id,
         CASE
           WHEN base.f_lock_attrs <> draft.f_lock_attrs THEN 'F'
           WHEN base.p_lock_attrs <> draft.p_lock_attrs THEN 'P'
           WHEN base.s_lock_attrs <> draft.s_lock_attrs THEN 'S'
           ELSE NULL
         END lock_type
  FROM   (SELECT pol.po_line_id,
                 G_DRAFT_ID_MINUS_1 draft_id,
                 po_line_mod_s_lock_attrs(
                  NVL(pol.quantity, G_NULL_NUM),
                  NVL(pol.secondary_qty, G_NULL_NUM),
                  NVL(pol.amount, G_NULL_NUM)
                 ) s_lock_attrs,
                 po_line_mod_p_lock_attrs(
                  NVL(pol.line_type_id ,G_NULL_NUM),
                  NVL(pol.item_revision ,G_NULL_CHAR),
                  NVL(pol.item_description ,G_NULL_CHAR),
                  NVL(pol.vendor_product_num ,G_NULL_CHAR),
                  NVL(pol.transaction_reason_code ,G_NULL_CHAR),
                  NVL(pol.capital_expense_flag ,G_NULL_CHAR),
                  NVL(pol.user_document_status ,G_NULL_CHAR),
                  NVL(pol.category_id ,G_NULL_NUM),
                  NVL(pol.preferred_grade ,G_NULL_CHAR),
                  NVL(pol.negotiated_by_preparer_flag ,G_NULL_CHAR),
                  NVL(pol.clm_option_from_date ,G_NULL_DATE),
                  NVL(pol.clm_option_to_date ,G_NULL_DATE),
                  NVL(pol.recoupment_rate ,G_NULL_NUM),
                  NVL(pol.progress_payment_rate ,G_NULL_NUM),
                  NVL(pol.max_retainage_amount ,G_NULL_NUM),
                  NVL(pol.retainage_rate ,G_NULL_NUM),
                  NVL(pol.note_to_vendor,G_NULL_CHAR),
                  NVL(pol.supplier_part_auxid ,G_NULL_CHAR),
                  NVL(pol.un_number_id ,G_NULL_NUM),
                  NVL(pol.hazard_class_id ,G_NULL_NUM),
                  NVL(pol.ip_category_id ,G_NULL_NUM),
                  NVL(pol.allow_price_override_flag ,G_NULL_CHAR),
                  NVL(pol.not_to_exceed_price ,G_NULL_NUM),
                  NVL(pol.expiration_date ,G_NULL_DATE),
                  NVL(pol.min_release_amount ,G_NULL_NUM),
                  NVL(pol.committed_amount ,G_NULL_NUM),
                  NVL(pol.quantity_committed ,G_NULL_NUM),
                  NVL(pol.clm_order_start_date ,G_NULL_DATE),
                  NVL(pol.clm_max_total_amount ,G_NULL_NUM),
                  NVL(pol.clm_min_total_amount ,G_NULL_NUM),
                  NVL(pol.clm_max_total_quantity ,G_NULL_NUM),
                  NVL(pol.clm_min_total_quantity ,G_NULL_NUM),
                  NVL(pol.clm_max_order_amount ,G_NULL_NUM),
                  NVL(pol.clm_min_order_amount ,G_NULL_NUM),
                  NVL(pol.clm_order_end_date ,G_NULL_DATE),
                  NVL(pol.clm_max_order_quantity ,G_NULL_NUM),
                  NVL(pol.clm_min_order_quantity ,G_NULL_NUM),
                  NVL(pol.clm_total_amount_ordered ,G_NULL_NUM),
                  NVL(pol.clm_total_quantity_ordered ,G_NULL_NUM),
                  NVL(pol.attribute_category ,G_NULL_CHAR),
                  NVL(pol.attribute1   ,G_NULL_CHAR),
                  NVL(pol.attribute2   ,G_NULL_CHAR),
                  NVL(pol.attribute3   ,G_NULL_CHAR),
                  NVL(pol.attribute4   ,G_NULL_CHAR),
                  NVL(pol.attribute5   ,G_NULL_CHAR),
                  NVL(pol.attribute6   ,G_NULL_CHAR),
                  NVL(pol.attribute7   ,G_NULL_CHAR),
                  NVL(pol.attribute8   ,G_NULL_CHAR),
                  NVL(pol.attribute9   ,G_NULL_CHAR),
                  NVL(pol.attribute10  ,G_NULL_CHAR),
                  NVL(pol.attribute11  ,G_NULL_CHAR),
                  NVL(pol.attribute12  ,G_NULL_CHAR),
                  NVL(pol.attribute13  ,G_NULL_CHAR),
                  NVL(pol.attribute14  ,G_NULL_CHAR),
                  NVL(pol.attribute15  ,G_NULL_CHAR),
                  NVL(pol.oke_contract_header_id, G_NULL_NUM),
                  NVL(pol.oke_contract_version_id, G_NULL_NUM),
                  NVL(pol.clm_payment_instr_code, G_NULL_CHAR),
                  NVL(pol.clm_pop_exception_reason, G_NULL_CHAR)
                 ) p_lock_attrs,
                 po_line_mod_f_lock_attrs(
                   NVL(pol.clm_exercised_flag, G_NULL_CHAR),
                   NVL(pol.contract_type, G_NULL_CHAR),
                   NVL(pol.cost_constraint, G_NULL_CHAR),
                   NVL(pol.unit_meas_lookup_code, G_NULL_CHAR),
                   NVL(pol.unit_price, G_NULL_NUM),
                   NVL(pol.clm_exercised_date, G_NULL_DATE),
                   NVL(pol.from_header_id, G_NULL_NUM),
                   NVL(pol.from_line_id, G_NULL_NUM),
                   NVL(pol.clm_idc_type, G_NULL_CHAR)
                 ) f_lock_attrs
          FROM   po_lines_all pol,
                 po_session_gt pogt
          WHERE  pol.po_line_id = pogt.char1 -- po_line_id
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 AND pogt.index_char2 = G_LOCK_LINE_ENTITY
          ) base,
         (SELECT pold.po_line_id,
                 pold.draft_id,
                 po_line_mod_s_lock_attrs(
                   NVL(pold.quantity, G_NULL_NUM),
                   NVL(pold.secondary_qty, G_NULL_NUM),
                   NVL(pold.amount, G_NULL_NUM)
                 ) s_lock_attrs,
                 po_line_mod_p_lock_attrs(
                    NVL(pold.line_type_id ,G_NULL_NUM),
                    NVL(pold.item_revision ,G_NULL_CHAR),
                    NVL(pold.item_description ,G_NULL_CHAR),
                    NVL(pold.vendor_product_num ,G_NULL_CHAR),
                    NVL(pold.transaction_reason_code ,G_NULL_CHAR),
                    NVL(pold.capital_expense_flag ,G_NULL_CHAR),
                    NVL(pold.user_document_status ,G_NULL_CHAR),
                    NVL(pold.category_id ,G_NULL_NUM),
                    NVL(pold.preferred_grade ,G_NULL_CHAR),
                    NVL(pold.negotiated_by_preparer_flag ,G_NULL_CHAR),
                    NVL(pold.clm_option_from_date ,G_NULL_DATE),
                    NVL(pold.clm_option_to_date ,G_NULL_DATE),
                    NVL(pold.recoupment_rate ,G_NULL_NUM),
                    NVL(pold.progress_payment_rate ,G_NULL_NUM),
                    NVL(pold.max_retainage_amount ,G_NULL_NUM),
                    NVL(pold.retainage_rate ,G_NULL_NUM),
                    NVL(pold.note_to_vendor ,G_NULL_CHAR),
                    NVL(pold.supplier_part_auxid ,G_NULL_CHAR),
                    NVL(pold.un_number_id ,G_NULL_NUM),
                    NVL(pold.hazard_class_id ,G_NULL_NUM),
                    NVL(pold.ip_category_id ,G_NULL_NUM),
                    NVL(pold.allow_price_override_flag ,G_NULL_CHAR),
                    NVL(pold.not_to_exceed_price ,G_NULL_NUM),
                    NVL(pold.expiration_date ,G_NULL_DATE),
                    NVL(pold.min_release_amount ,G_NULL_NUM),
                    NVL(pold.committed_amount ,G_NULL_NUM),
                    NVL(pold.quantity_committed ,G_NULL_NUM),
                    NVL(pold.clm_order_start_date ,G_NULL_DATE),
                    NVL(pold.clm_max_total_amount ,G_NULL_NUM),
                    NVL(pold.clm_min_total_amount ,G_NULL_NUM),
                    NVL(pold.clm_max_total_quantity ,G_NULL_NUM),
                    NVL(pold.clm_min_total_quantity ,G_NULL_NUM),
                    NVL(pold.clm_max_order_amount ,G_NULL_NUM),
                    NVL(pold.clm_min_order_amount ,G_NULL_NUM),
                    NVL(pold.clm_order_end_date ,G_NULL_DATE),
                    NVL(pold.clm_max_order_quantity ,G_NULL_NUM),
                    NVL(pold.clm_min_order_quantity ,G_NULL_NUM),
                    NVL(pold.clm_total_amount_ordered ,G_NULL_NUM),
                    NVL(pold.clm_total_quantity_ordered ,G_NULL_NUM),
                    NVL(pold.attribute_category ,G_NULL_CHAR),
                    NVL(pold.attribute1   ,G_NULL_CHAR),
                    NVL(pold.attribute2   ,G_NULL_CHAR),
                    NVL(pold.attribute3   ,G_NULL_CHAR),
                    NVL(pold.attribute4   ,G_NULL_CHAR),
                    NVL(pold.attribute5   ,G_NULL_CHAR),
                    NVL(pold.attribute6   ,G_NULL_CHAR),
                    NVL(pold.attribute7   ,G_NULL_CHAR),
                    NVL(pold.attribute8   ,G_NULL_CHAR),
                    NVL(pold.attribute9   ,G_NULL_CHAR),
                    NVL(pold.attribute10  ,G_NULL_CHAR),
                    NVL(pold.attribute11  ,G_NULL_CHAR),
                    NVL(pold.attribute12  ,G_NULL_CHAR),
                    NVL(pold.attribute13  ,G_NULL_CHAR),
                    NVL(pold.attribute14  ,G_NULL_CHAR),
                    NVL(pold.attribute15  ,G_NULL_CHAR),
                    NVL(pold.oke_contract_header_id, G_NULL_NUM),
                    NVL(pold.oke_contract_version_id, G_NULL_NUM),
					NVL(pold.clm_payment_instr_code, G_NULL_CHAR),
                    NVL(pold.clm_pop_exception_reason, G_NULL_CHAR)
                 ) p_lock_attrs,
                 po_line_mod_f_lock_attrs(
                   NVL(pold.clm_exercised_flag, G_NULL_CHAR),
                   NVL(pold.contract_type, G_NULL_CHAR),
                   NVL(pold.cost_constraint, G_NULL_CHAR),
                   NVL(pold.unit_meas_lookup_code, G_NULL_CHAR),
                   NVL(pold.unit_price, G_NULL_NUM),
                   NVL(pold.clm_exercised_date, G_NULL_DATE),
                   NVL(pold.from_header_id, G_NULL_NUM),
                   NVL(pold.from_line_id, G_NULL_NUM),
                   NVL(pold.clm_idc_type, G_NULL_CHAR)
                 ) f_lock_attrs
          FROM   po_lines_draft_all pold,
                 po_session_gt pogt
          WHERE  pold.draft_id = p_draft_id
                 AND pold.po_line_id = pogt.char1 -- po_line_id
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 AND pogt.index_char2 = G_LOCK_LINE_ENTITY
          ) draft
  WHERE base.po_line_id = draft.po_line_id
        AND (base.f_lock_attrs <> draft.f_lock_attrs
             OR base.p_lock_attrs <> draft.p_lock_attrs
             OR base.s_lock_attrs <> draft.s_lock_attrs);
Line: 4720

    PO_LOG.stmt(d_module,d_position ,'number of rows Updated ',SQL%ROWCOUNT);
Line: 4724

  INSERT INTO po_session_gt(
    key,
    index_char1,  -- records identifier
    index_char2,  -- entity_name
    char1,        -- entity_pk1
    num1,         -- lock_by_draft_id
    char5         -- lock_type
  )
  SELECT po_session_gt_s.NEXTVAL,
         G_LOCKS_REQUIRED_ID,
         G_LOCK_LINE_ENTITY,
         draft.po_line_id,
         draft.draft_id,
         CASE
           WHEN base.p_lock_attrs <> draft.p_lock_attrs THEN 'P'
           ELSE NULL
         END lock_type
  FROM   (SELECT poav.po_line_id,
                 G_DRAFT_ID_MINUS_1 draft_id,
                 po_attr_val_p_lock_attrs(
                   NVL(poav.supplier_url ,G_NULL_CHAR),
                   NVL(poav.manufacturer_url ,G_NULL_CHAR),
                   NVL(poav.manufacturer_part_num ,G_NULL_CHAR),
                   NVL(poav.attachment_url ,G_NULL_CHAR),
                   NVL(poav.lead_time ,G_NULL_NUM),
                   NVL(poav.unspsc ,G_NULL_CHAR),
                   NVL(poav.picture ,G_NULL_CHAR),
                   nvl(poav.thumbnail_image ,G_NULL_CHAR),
                   NVL(poav.availability ,G_NULL_CHAR)
                 ) p_lock_attrs,
                 poav.attribute_values_id
          FROM   po_attribute_values poav,
                 po_session_gt pogt
          WHERE  poav.po_line_id = pogt.char1 -- po_line_id
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 AND pogt.index_char2 = G_LOCK_LINE_ENTITY
          ) base,
          (SELECT poavd.po_line_id,
                  poavd.draft_id,
                  po_attr_val_p_lock_attrs(
                    NVL(poavd.supplier_url ,G_NULL_CHAR),
                    NVL(poavd.manufacturer_url ,G_NULL_CHAR),
                    NVL(poavd.manufacturer_part_num ,G_NULL_CHAR),
                    NVL(poavd.attachment_url ,G_NULL_CHAR),
                    NVL(poavd.lead_time ,G_NULL_NUM),
                    NVL(poavd.unspsc ,G_NULL_CHAR),
                    NVL(poavd.picture ,G_NULL_CHAR),
                    nvl(poavd.thumbnail_image ,G_NULL_CHAR),
                    NVL(poavd.availability ,G_NULL_CHAR)
                  ) p_lock_attrs,
                  poavd.attribute_values_id
          FROM   po_attribute_values_draft poavd,
                 po_session_gt pogt
          WHERE  poavd.draft_id = p_draft_id
                 AND poavd.po_line_id = pogt.char1 -- po_line_id
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 AND pogt.index_char2 = G_LOCK_LINE_ENTITY
          ) draft
  WHERE base.attribute_values_id = draft.attribute_values_id
       AND base.p_lock_attrs <> draft.p_lock_attrs;
Line: 4788

    PO_LOG.stmt(d_module,d_position ,'number of rows Inserted ',SQL%ROWCOUNT);
Line: 4792

  INSERT INTO po_session_gt(
    key,
    index_char1,  -- records identifier
    index_char2,  -- entity_name
    char1,        -- entity_pk1
    num1,         -- lock_by_draft_id
    char5         -- lock_type
  )
  SELECT po_session_gt_s.NEXTVAL,
         G_LOCKS_REQUIRED_ID,
         G_LOCK_LINE_ENTITY,
         draft.po_line_id,
         draft.draft_id,
         CASE
           WHEN base.p_lock_attrs <> draft.p_lock_attrs THEN 'P'
           ELSE NULL
         END lock_type
  FROM   (SELECT poavt.po_line_id,
                G_DRAFT_ID_MINUS_1 draft_id,
                po_attr_val_tlp_p_lock_attrs(
                NVL(poavt.long_description ,G_NULL_CHAR),
                NVL(poavt.manufacturer ,G_NULL_CHAR),
                NVL(poavt.ALIAS ,G_NULL_CHAR),
                NVL(poavt.comments ,G_NULL_CHAR)
          ) p_lock_attrs,
                poavt.attribute_values_tlp_id
          FROM   po_attribute_values_tlp poavt,
                 po_session_gt pogt
          WHERE  poavt.po_line_id = pogt.char1 -- po_line_id
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 AND pogt.index_char2 = G_LOCK_LINE_ENTITY
          ) base,
          (SELECT poavtd.po_line_id,
                  poavtd.draft_id,
                  po_attr_val_tlp_p_lock_attrs(
                    NVL(poavtd.long_description ,G_NULL_CHAR),
                    NVL(poavtd.manufacturer ,G_NULL_CHAR),
                    NVL(poavtd.ALIAS ,G_NULL_CHAR),
                    NVL(poavtd.comments ,G_NULL_CHAR)
                  ) p_lock_attrs,
                  poavtd.attribute_values_tlp_id
          FROM   po_attribute_values_tlp_draft poavtd,
                 po_session_gt pogt
          WHERE  poavtd.draft_id = p_draft_id
                 AND poavtd.po_line_id = pogt.char1 -- po_line_id
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 AND pogt.index_char2 = G_LOCK_LINE_ENTITY
          ) draft
  WHERE base.attribute_values_tlp_id = draft.attribute_values_tlp_id
    AND base.p_lock_attrs <> draft.p_lock_attrs;
Line: 4846

    PO_LOG.stmt(d_module,d_position ,'number of rows Inserted ',SQL%ROWCOUNT);
Line: 4849

  INSERT INTO po_session_gt(
    key,
    index_char1,  -- records identifier
    index_char2,  -- entity_name
    char1,        -- entity_pk1
    num1,         -- lock_by_draft_id
    char5         -- lock_type
  )
  SELECT po_session_gt_s.NEXTVAL,
         G_LOCKS_REQUIRED_ID,
         G_LOCK_LINE_ENTITY,
         draft.po_line_id,
         draft.draft_id,
         CASE
           WHEN base.p_lock_attrs <> draft.p_lock_attrs THEN 'P'
           ELSE NULL
         END lock_type
  FROM   (SELECT ppbr.po_line_id,
                G_DRAFT_ID_MINUS_1 draft_id,
                po_price_brk_mod_p_lock_attrs(
                NVL(ppbr.shipment_num ,G_NULL_NUM),
                NVL(ppbr.ship_to_organization_id ,G_NULL_NUM),
                NVL(ppbr.ship_to_location_id ,G_NULL_NUM),
                NVL(ppbr.quantity ,G_NULL_NUM),
                NVL(ppbr.price_override ,G_NULL_NUM),
                NVL(ppbr.price_discount ,G_NULL_NUM),
                NVL(ppbr.start_date ,G_NULL_DATE),
                NVL(ppbr.end_date ,G_NULL_DATE)
          ) p_lock_attrs    ,
          ppbr.line_location_id
          FROM   po_line_locations_all ppbr,
                 po_session_gt pogt
          WHERE  ppbr.po_line_id = pogt.char1 -- po_header_id
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 AND pogt.index_char2 = G_LOCK_LINE_ENTITY
               AND ppbr.shipment_type = 'PRICE BREAK'
          ) base,
          (SELECT ppbrd.po_line_id,
                  ppbrd.draft_id,
                  po_price_brk_mod_p_lock_attrs(
                  NVL(ppbrd.shipment_num ,G_NULL_NUM),
                  NVL(ppbrd.ship_to_organization_id ,G_NULL_NUM),
                  NVL(ppbrd.ship_to_location_id ,G_NULL_NUM),
                  NVL(ppbrd.quantity ,G_NULL_NUM),
                  NVL(ppbrd.price_override ,G_NULL_NUM),
                  NVL(ppbrd.price_discount ,G_NULL_NUM),
                  NVL(ppbrd.start_date ,G_NULL_DATE),
                  NVL(ppbrd.end_date ,G_NULL_DATE)
                  ) p_lock_attrs,
                  ppbrd.line_location_id
          FROM   po_line_locations_draft_all ppbrd,
                 po_session_gt pogt
          WHERE  ppbrd.draft_id = p_draft_id
                 AND ppbrd.po_line_id = pogt.char1 -- po_line_id
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 AND pogt.index_char2 = G_LOCK_LINE_ENTITY
                 AND ppbrd.shipment_type = 'PRICE BREAK'
          ) draft
  WHERE  base.line_location_id = draft.line_location_id
  AND base.p_lock_attrs <> draft.p_lock_attrs;
Line: 4913

    PO_LOG.stmt(d_module,d_position ,'number of rows Inserted ',SQL%ROWCOUNT);
Line: 4916

  INSERT INTO po_session_gt(
    key,
    index_char1,  -- records identifier
    index_char2,  -- entity_name
    char1,        -- entity_pk1
    num1,         -- lock_by_draft_id
    char5         -- lock_type
  )
  SELECT po_session_gt_s.NEXTVAL,
         G_LOCKS_REQUIRED_ID,
         G_LOCK_LINE_ENTITY,
         draft.entity_id, -- po_lin
         draft.draft_id,
         CASE
           WHEN base.p_lock_attrs <> draft.p_lock_attrs THEN 'P'
           ELSE NULL
         END lock_type
  FROM   (SELECT ppd.entity_id,
                g_draft_id_minus_1 draft_id,
                po_price_diff_p_lock_attrs(
                  NVL(ppd.price_differential_num ,G_NULL_NUM),
                  NVL(ppd.multiplier ,G_NULL_NUM),
                  NVL(ppd.enabled_flag ,G_NULL_CHAR),
                  NVL(ppd.min_multiplier ,G_NULL_NUM),
                  NVL(ppd.max_multiplier ,G_NULL_NUM)
          ) p_lock_attrs,
                ppd.price_differential_id
          FROM   po_price_differentials ppd,
                 po_session_gt pogt
          WHERE  ppd.entity_id = pogt.char1 -- po_line_id
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 AND pogt.index_char2 = G_LOCK_LINE_ENTITY
          ) base,
          (SELECT ppdr.entity_id,
                  ppdr.draft_id,
                  po_price_diff_p_lock_attrs(
                      NVL(ppdr.price_differential_num ,G_NULL_NUM),
                      NVL(ppdr.multiplier ,G_NULL_NUM),
                      NVL(ppdr.enabled_flag ,G_NULL_CHAR),
                      NVL(ppdr.min_multiplier ,G_NULL_NUM),
                      NVL(ppdr.max_multiplier ,G_NULL_NUM)
                  ) p_lock_attrs,
                  ppdr.price_differential_id
           FROM   po_price_diff_draft ppdr,
                 po_session_gt pogt
           WHERE  ppdr.draft_id = p_draft_id
                 AND ppdr.entity_id = pogt.char1 -- po_header_id
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 AND pogt.index_char2 = G_LOCK_LINE_ENTITY
          ) draft
  WHERE base.price_differential_id = draft.price_differential_id
    AND base.p_lock_attrs <> draft.p_lock_attrs;
Line: 4972

    PO_LOG.stmt(d_module,d_position ,'number of rows Inserted ',SQL%ROWCOUNT);
Line: 4977

   INSERT INTO po_session_gt(
    key,
    index_char1,  -- records identifier
    index_char2,  -- entity_name
    char1,        -- entity_pk1
    num1,         -- lock_by_draft_id
    char5         -- lock_type
  )
  SELECT po_session_gt_s.NEXTVAL,
         G_LOCKS_REQUIRED_ID,
         G_LOCK_LINE_ENTITY,
         pol.po_line_id,
         p_draft_id,
         'S'
  FROM   po_lines_all pol,
         po_drafts dft
  WHERE  EXISTS ( SELECT line_location_id -- new shipment added
                   FROM   po_line_locations_draft_all poll_draft
                   WHERE  poll_draft.po_line_id = pol.po_line_id
                          AND poll_draft.draft_id = p_draft_id
                   MINUS
                   SELECT line_location_id
                   FROM   po_line_locations_all poll_base
                   WHERE  poll_base.po_line_id = pol.po_line_id
                  )
         AND pol.po_header_id = dft.document_id
         AND dft.draft_id = p_draft_id;
Line: 5007

   INSERT INTO po_session_gt(
    key,
    index_char1,  -- records identifier
    index_char2,  -- entity_name
    char1,        -- entity_pk1
    num1,         -- lock_by_draft_id
    char5         -- lock_type
  )
  SELECT po_session_gt_s.NEXTVAL,
         G_LOCKS_REQUIRED_ID,
         G_LOCK_LINE_ENTITY,
         pol.po_line_id,
         p_draft_id,
         'S'
  FROM   po_lines_all pol,
         po_drafts dft
  WHERE  EXISTS ( SELECT po_distribution_id -- new distribution added
                   FROM   po_distributions_draft_all pod_draft
                   WHERE  pod_draft.po_line_id = pol.po_line_id
                          AND pod_draft.draft_id = p_draft_id
                   MINUS
                   SELECT po_distribution_id
                   FROM   po_distributions_all pod_base
                   WHERE  pod_base.po_line_id = pol.po_line_id
                  )
         AND pol.po_header_id = dft.document_id
         AND dft.draft_id = p_draft_id;
Line: 5085

  INSERT INTO po_session_gt(
    key,
    index_char1,  -- records identifier
    index_char2,  -- entity_name
    char1,        -- entity_pk1
    num1,         -- lock_by_draft_id
    char5         -- lock_type
  )
  SELECT po_session_gt_s.NEXTVAL,
         G_LOCKS_REQUIRED_ID,
         G_LOCK_SHIPMENT_ENTITY,
         draft.line_location_id,
         draft.draft_id,
         CASE
           WHEN base.f_lock_attrs <> draft.f_lock_attrs THEN 'F'
           WHEN base.p_lock_attrs <> draft.p_lock_attrs THEN 'P'
           WHEN base.s_lock_attrs <> draft.s_lock_attrs THEN 'S'
           ELSE NULL
         END lock_type
  FROM   (SELECT poll.line_location_id,
                 G_DRAFT_ID_MINUS_1 draft_id,
                 po_line_loc_mod_s_lock_attrs(
                  NVL(poll.quantity, G_NULL_NUM),
                  NVL(poll.secondary_quantity, G_NULL_NUM),
                  NVL(poll.amount, G_NULL_NUM)
                 ) s_lock_attrs,
                 po_line_loc_mod_p_lock_attrs(
                  NVL(poll.need_by_date ,G_NULL_DATE),
                  NVL(poll.promised_date ,G_NULL_DATE),
                  NVL(poll.clm_period_perf_start_date ,G_NULL_DATE),
                  NVL(poll.clm_period_perf_end_date ,G_NULL_DATE),
                  NVL(poll.days_early_receipt_allowed ,G_NULL_NUM),
                  NVL(poll.days_late_receipt_allowed ,G_NULL_NUM),
                  NVL(poll.receipt_days_exception_code ,G_NULL_CHAR),
                  NVL(poll.allow_substitute_receipts_flag ,G_NULL_CHAR),
                  NVL(poll.receive_close_tolerance ,G_NULL_NUM),
                  NVL(poll.qty_rcv_tolerance ,G_NULL_NUM),
                  NVL(poll.qty_rcv_exception_code ,G_NULL_CHAR),
                  NVL(poll.receiving_routing_id ,G_NULL_NUM),
                  NVL(poll.enforce_ship_to_location_code ,G_NULL_CHAR),
                  NVL(poll.note_to_receiver ,G_NULL_CHAR),
                  NVL(poll.vmi_flag ,G_NULL_CHAR),
                  NVL(poll.consigned_flag ,G_NULL_CHAR),
                  NVL(poll.preferred_grade  ,G_NULL_CHAR),
                  NVL(poll.country_of_origin_code  ,G_NULL_CHAR),
                  NVL(poll.encumbered_flag  ,G_NULL_CHAR),
                  NVL(poll.firm_status_lookup_code  ,G_NULL_CHAR),
                  NVL(poll.attribute_category ,G_NULL_CHAR),
                  NVL(poll.attribute1   ,G_NULL_CHAR),
                  NVL(poll.attribute2   ,G_NULL_CHAR),
                  NVL(poll.attribute3   ,G_NULL_CHAR),
                  NVL(poll.attribute4   ,G_NULL_CHAR),
                  NVL(poll.attribute5   ,G_NULL_CHAR),
                  NVL(poll.attribute6   ,G_NULL_CHAR),
                  NVL(poll.attribute7   ,G_NULL_CHAR),
                  NVL(poll.attribute8   ,G_NULL_CHAR),
                  NVL(poll.attribute9   ,G_NULL_CHAR),
                  NVL(poll.attribute10  ,G_NULL_CHAR),
                  NVL(poll.attribute11  ,G_NULL_CHAR),
                  NVL(poll.attribute12  ,G_NULL_CHAR),
                  NVL(poll.attribute13  ,G_NULL_CHAR),
                  NVL(poll.attribute14  ,G_NULL_CHAR),
                  NVL(poll.attribute15  ,G_NULL_CHAR),
                  NVL(poll.accrue_on_receipt_flag ,G_NULL_CHAR),
                  NVL(poll.match_option  ,G_NULL_CHAR),
                  NVL(poll.invoice_close_tolerance ,G_NULL_NUM),
                  NVL(poll.payment_type  ,G_NULL_CHAR),
                  NVL(poll.price_override ,G_NULL_NUM),
                  NVL(poll.description  ,G_NULL_CHAR),
                  NVL(poll.inspection_required_flag ,G_NULL_CHAR ),--bug-13571320
                  NVL(poll.receipt_required_flag ,G_NULL_CHAR )--bug-13571320
                 ) p_lock_attrs,
                 po_line_loc_mod_f_lock_attrs(
                  NVL(poll.ship_to_location_id ,G_NULL_NUM),
                  NVL(poll.ship_to_organization_id ,G_NULL_NUM),
                  NVL(poll.unit_meas_lookup_code, G_NULL_CHAR),
                  NVL(poll.transaction_flow_header_id ,G_NULL_NUM)
                 ) f_lock_attrs
          FROM   po_line_locations_all poll,
                 po_session_gt pogt
          WHERE  poll.line_location_id = pogt.char1 -- po_line_id
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 AND pogt.index_char2 = G_LOCK_SHIPMENT_ENTITY
                 AND poll.shipment_type <> 'PRICE BREAK'
          ) base,
         (SELECT polld.line_location_id,
                 polld.draft_id,
                 po_line_loc_mod_s_lock_attrs(
                  NVL(polld.quantity, G_NULL_NUM),
                  NVL(polld.secondary_quantity, G_NULL_NUM),
                  NVL(polld.amount, G_NULL_NUM)
                 ) s_lock_attrs,
                 po_line_loc_mod_p_lock_attrs(
                  NVL(polld.need_by_date ,G_NULL_DATE),
                  NVL(polld.promised_date ,G_NULL_DATE),
                  NVL(polld.clm_period_perf_start_date ,G_NULL_DATE),
                  NVL(polld.clm_period_perf_end_date ,G_NULL_DATE),
                  NVL(polld.days_early_receipt_allowed ,G_NULL_NUM),
                  NVL(polld.days_late_receipt_allowed ,G_NULL_NUM),
                  NVL(polld.receipt_days_exception_code ,G_NULL_CHAR),
                  NVL(polld.allow_substitute_receipts_flag ,G_NULL_CHAR),
                  NVL(polld.receive_close_tolerance ,G_NULL_NUM),
                  NVL(polld.qty_rcv_tolerance ,G_NULL_NUM),
                  NVL(polld.qty_rcv_exception_code ,G_NULL_CHAR),
                  NVL(polld.receiving_routing_id ,G_NULL_NUM),
                  NVL(polld.enforce_ship_to_location_code ,G_NULL_CHAR),
                  NVL(polld.note_to_receiver ,G_NULL_CHAR),
                  NVL(polld.vmi_flag ,G_NULL_CHAR),
                  NVL(polld.consigned_flag ,G_NULL_CHAR),
                  NVL(polld.preferred_grade  ,G_NULL_CHAR),
                  NVL(polld.country_of_origin_code  ,G_NULL_CHAR),
                  NVL(polld.encumbered_flag  ,G_NULL_CHAR),
                  NVL(polld.firm_status_lookup_code  ,G_NULL_CHAR),
                  NVL(polld.attribute_category ,G_NULL_CHAR),
                  NVL(polld.attribute1   ,G_NULL_CHAR),
                  NVL(polld.attribute2   ,G_NULL_CHAR),
                  NVL(polld.attribute3   ,G_NULL_CHAR),
                  NVL(polld.attribute4   ,G_NULL_CHAR),
                  NVL(polld.attribute5   ,G_NULL_CHAR),
                  NVL(polld.attribute6   ,G_NULL_CHAR),
                  NVL(polld.attribute7   ,G_NULL_CHAR),
                  NVL(polld.attribute8   ,G_NULL_CHAR),
                  NVL(polld.attribute9   ,G_NULL_CHAR),
                  NVL(polld.attribute10  ,G_NULL_CHAR),
                  NVL(polld.attribute11  ,G_NULL_CHAR),
                  NVL(polld.attribute12  ,G_NULL_CHAR),
                  NVL(polld.attribute13  ,G_NULL_CHAR),
                  NVL(polld.attribute14  ,G_NULL_CHAR),
                  NVL(polld.attribute15  ,G_NULL_CHAR),
                  NVL(polld.accrue_on_receipt_flag ,G_NULL_CHAR),
                  NVL(polld.match_option  ,G_NULL_CHAR),
                  NVL(polld.invoice_close_tolerance ,G_NULL_NUM),
                  NVL(polld.payment_type  ,G_NULL_CHAR),
                  NVL(polld.price_override ,G_NULL_NUM),
                  NVL(polld.description  ,G_NULL_CHAR),
                  NVL(polld.inspection_required_flag ,G_NULL_CHAR ),-- bug13571320
                  NVL(polld.receipt_required_flag ,G_NULL_CHAR )-- bug13571320
                 ) p_lock_attrs,
                 po_line_loc_mod_f_lock_attrs(
                  NVL(polld.ship_to_location_id ,G_NULL_NUM),
                  NVL(polld.ship_to_organization_id ,G_NULL_NUM),
                  NVL(polld.unit_meas_lookup_code, G_NULL_CHAR),
                  NVL(polld.transaction_flow_header_id ,G_NULL_NUM)
                 ) f_lock_attrs
          FROM   po_line_locations_draft_all polld,
                 po_session_gt pogt
          WHERE  polld.draft_id = p_draft_id
                 AND polld.line_location_id = pogt.char1 -- line_location_id
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 AND pogt.index_char2 = G_LOCK_SHIPMENT_ENTITY
                 AND polld.shipment_type <> 'PRICE BREAK'
          ) draft
  WHERE base.line_location_id = draft.line_location_id
        AND (base.f_lock_attrs <> draft.f_lock_attrs
             OR base.p_lock_attrs <> draft.p_lock_attrs
             OR base.s_lock_attrs <> draft.s_lock_attrs);
Line: 5245

      PO_LOG.stmt(d_module,d_position ,'number of rows Updated ',SQL%ROWCOUNT);
Line: 5253

  INSERT INTO po_session_gt(
    key,
    index_char1,  -- records identifier
    index_char2,  -- entity_name
    char1,        -- entity_pk1
    num1,         -- lock_by_draft_id
    char5         -- lock_type
  )
  SELECT po_session_gt_s.NEXTVAL,
         G_LOCKS_REQUIRED_ID,
         G_LOCK_SHIPMENT_ENTITY,
         poll.line_location_id,
         p_draft_id,
         'F'
  FROM   po_line_locations_all poll,
         po_drafts dft
  WHERE  poll.po_header_id = dft.document_id
         AND dft.draft_id = p_draft_id
         AND (EXISTS (SELECT 'Line is modified in current txn and requires F lock'
                      FROM   po_session_gt pol_lcks
                      WHERE  pol_lcks.index_char1 = G_LOCKS_REQUIRED_ID
                             AND pol_lcks.index_char2 = G_LOCK_LINE_ENTITY
                             AND pol_lcks.char5 = 'F' -- lock_type
                             AND poll.po_line_id = pol_lcks.char1) -- entity_pk1
              OR EXISTS (SELECT 'Line is already F locked and not modified in current txn'
                         FROM   po_entity_locks poel,
                                po_session_gt poll_ch
                         WHERE  poel.entity_name = G_LOCK_LINE_ENTITY
                                AND poel.lock_type = 'F'
                                AND poel.entity_pk1 = poll.po_line_id
                                AND poll_ch.index_char1 = G_CHANGED_ENTTIES_ID
                                AND poll_ch.index_char2 = G_LOCK_SHIPMENT_ENTITY -- entity_name
                                AND poll_ch.char1 = poll.line_location_id -- entity_pk1
                                AND NOT EXISTS (SELECT 'Line modified in current txn'
                                                FROM   po_session_gt pol_ch
                                                WHERE  pol_ch.index_char1 = G_CHANGED_ENTTIES_ID
                                                       AND pol_ch.index_char2 = G_LOCK_LINE_ENTITY -- entity_name
                                                       AND pol_ch.char1 = poel.entity_pk1) -- entity_pk1
                        )
             );
Line: 5297

    PO_LOG.stmt(d_module,d_position ,'number of rows Inserted ',SQL%ROWCOUNT);
Line: 5351

  INSERT INTO po_session_gt(
    key,
    index_char1,  -- records identifier
    index_char2,  -- entity_name
    char1,        -- entity_pk1
    num1,         -- lock_by_draft_id
    char5         -- lock_type
  )
  SELECT po_session_gt_s.NEXTVAL,
         G_LOCKS_REQUIRED_ID,
         G_LOCK_DIST_ENTITY,
         draft.po_distribution_id,
         draft.draft_id,
         CASE
           WHEN base.f_lock_attrs <> draft.f_lock_attrs THEN 'F'
           WHEN base.p_lock_attrs <> draft.p_lock_attrs THEN 'P'
           WHEN base.s_lock_attrs <> draft.s_lock_attrs THEN 'S'
           ELSE NULL
         END lock_type
  FROM   (SELECT pod.po_distribution_id,
                 G_DRAFT_ID_MINUS_1 draft_id,
                 po_dist_mod_s_lock_attrs(
                    NVL(pod.funded_value ,G_NULL_NUM),
                    NVL(pod.quantity_ordered ,G_NULL_NUM),
                    NVL(pod.amount_ordered ,G_NULL_NUM)
                 ) s_lock_attrs,
                 po_dist_mod_p_lock_attrs(
                    NVL(pod.clm_defence_funding ,G_NULL_CHAR),
                    NVL(pod.gl_encumbered_date ,G_NULL_DATE),
                    NVL(pod.deliver_to_person_id ,G_NULL_NUM),
                    NVL(pod.deliver_to_location_id ,G_NULL_NUM),
                    NVL(pod.req_header_reference_num ,G_NULL_NUM),
                    NVL(pod.req_line_reference_num ,G_NULL_NUM),
                    NVL(pod.wip_operation_seq_num ,G_NULL_NUM),
                    NVL(pod.wip_resource_seq_num ,G_NULL_NUM),
                    NVL(pod.clm_misc_loa ,G_NULL_CHAR),
                    NVL(pod.clm_fms_case_number ,G_NULL_CHAR),
                    NVL(pod.clm_agency_acct_identifier ,G_NULL_CHAR),
                    NVL(pod.dest_charge_account_id ,G_NULL_NUM),
                    NVL(pod.code_combination_id ,G_NULL_NUM),
                    NVL(pod.recovery_rate ,G_NULL_NUM),
                    NVL(pod.project_id ,G_NULL_NUM),
                    NVL(pod.task_id ,G_NULL_NUM),
                    NVL(pod.award_id ,G_NULL_NUM),
                    NVL(pod.expenditure_type ,G_NULL_CHAR),
                    NVL(pod.expenditure_organization_id ,G_NULL_NUM),
                    NVL(pod.expenditure_item_date ,G_NULL_DATE),
                    NVL(pod.end_item_unit_number ,G_NULL_CHAR),
                    NVL(pod.oke_contract_line_id ,G_NULL_NUM),
                    NVL(pod.oke_contract_deliverable_id ,G_NULL_NUM),
                    NVL(pod.attribute_category ,G_NULL_CHAR),
                    NVL(pod.attribute1   ,G_NULL_CHAR),
                    NVL(pod.attribute2   ,G_NULL_CHAR),
                    NVL(pod.attribute3   ,G_NULL_CHAR),
                    NVL(pod.attribute4   ,G_NULL_CHAR),
                    NVL(pod.attribute5   ,G_NULL_CHAR),
                    NVL(pod.attribute6   ,G_NULL_CHAR),
                    NVL(pod.attribute7   ,G_NULL_CHAR),
                    NVL(pod.attribute8   ,G_NULL_CHAR),
                    NVL(pod.attribute9   ,G_NULL_CHAR),
                    NVL(pod.attribute10  ,G_NULL_CHAR),
                    NVL(pod.attribute11  ,G_NULL_CHAR),
                    NVL(pod.attribute12  ,G_NULL_CHAR),
                    NVL(pod.attribute13  ,G_NULL_CHAR),
                    NVL(pod.attribute14  ,G_NULL_CHAR),
                    NVL(pod.attribute15  ,G_NULL_CHAR),
                    NVL(pod.clm_payment_sequence_num  ,G_NULL_NUM)
                 ) p_lock_attrs,
                 po_dist_mod_f_lock_attrs(
                    NVL(pod.partial_funded_flag ,G_NULL_CHAR),
                    NVL(pod.destination_type_code ,G_NULL_CHAR),
                    NVL(pod.destination_subinventory ,G_NULL_CHAR)
                 ) f_lock_attrs
          FROM   po_distributions_all pod,
                 po_session_gt pogt
          WHERE  pod.po_distribution_id = pogt.char1 -- po_line_id
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 AND pogt.index_char2 = G_LOCK_DIST_ENTITY
          ) base,
         (SELECT podd.po_distribution_id,
                podd.draft_id,
                 po_dist_mod_s_lock_attrs(
                    NVL(podd.funded_value ,G_NULL_NUM),
                    NVL(podd.quantity_ordered,G_NULL_NUM),
                    NVL(podd.amount_ordered ,G_NULL_NUM)
                 ) s_lock_attrs,
                 po_dist_mod_p_lock_attrs(
                    NVL(podd.clm_defence_funding ,G_NULL_CHAR),
                    NVL(podd.gl_encumbered_date ,G_NULL_DATE),
                    NVL(podd.deliver_to_person_id ,G_NULL_NUM),
                    NVL(podd.deliver_to_location_id ,G_NULL_NUM),
                    NVL(podd.req_header_reference_num ,G_NULL_NUM),
                    NVL(podd.req_line_reference_num ,G_NULL_NUM),
                    NVL(podd.wip_operation_seq_num ,G_NULL_NUM),
                    NVL(podd.wip_resource_seq_num ,G_NULL_NUM),
                    NVL(podd.clm_misc_loa ,G_NULL_CHAR),
                    NVL(podd.clm_fms_case_number ,G_NULL_CHAR),
                    NVL(podd.clm_agency_acct_identifier ,G_NULL_CHAR),
                    NVL(podd.dest_charge_account_id ,G_NULL_NUM),
                    NVL(podd.code_combination_id ,G_NULL_NUM),
                    NVL(podd.recovery_rate ,G_NULL_NUM),
                    NVL(podd.project_id ,G_NULL_NUM),
                    NVL(podd.task_id ,G_NULL_NUM),
                    NVL(podd.award_id ,G_NULL_NUM),
                    NVL(podd.expenditure_type ,G_NULL_CHAR),
                    NVL(podd.expenditure_organization_id ,G_NULL_NUM),
                    NVL(podd.expenditure_item_date ,G_NULL_DATE),
                    NVL(podd.end_item_unit_number ,G_NULL_CHAR),
                    NVL(podd.oke_contract_line_id ,G_NULL_NUM),
                    NVL(podd.oke_contract_deliverable_id ,G_NULL_NUM),
                    NVL(podd.attribute_category ,G_NULL_CHAR),
                    NVL(podd.attribute1   ,G_NULL_CHAR),
                    NVL(podd.attribute2   ,G_NULL_CHAR),
                    NVL(podd.attribute3   ,G_NULL_CHAR),
                    NVL(podd.attribute4   ,G_NULL_CHAR),
                    NVL(podd.attribute5   ,G_NULL_CHAR),
                    NVL(podd.attribute6   ,G_NULL_CHAR),
                    NVL(podd.attribute7   ,G_NULL_CHAR),
                    NVL(podd.attribute8   ,G_NULL_CHAR),
                    NVL(podd.attribute9   ,G_NULL_CHAR),
                    NVL(podd.attribute10  ,G_NULL_CHAR),
                    NVL(podd.attribute11  ,G_NULL_CHAR),
                    NVL(podd.attribute12  ,G_NULL_CHAR),
                    NVL(podd.attribute13  ,G_NULL_CHAR),
                    NVL(podd.attribute14  ,G_NULL_CHAR),
                    NVL(podd.attribute15  ,G_NULL_CHAR),
                    NVL(podd.clm_payment_sequence_num  ,G_NULL_NUM)
                 ) p_lock_attrs,
                 po_dist_mod_f_lock_attrs(
                    NVL(podd.partial_funded_flag ,G_NULL_CHAR),
                    NVL(podd.destination_type_code ,G_NULL_CHAR),
                    NVL(podd.destination_subinventory ,G_NULL_CHAR)
                 ) f_lock_attrs
          FROM   po_distributions_draft_all podd,
                 po_session_gt pogt
          WHERE  podd.draft_id = p_draft_id
                 AND podd.po_distribution_id = pogt.char1 -- po_distribution_id
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 AND pogt.index_char2 = G_LOCK_DIST_ENTITY
          ) draft
  WHERE base.po_distribution_id = draft.po_distribution_id
        AND (base.f_lock_attrs <> draft.f_lock_attrs
             OR base.p_lock_attrs <> draft.p_lock_attrs
             OR base.s_lock_attrs <> draft.s_lock_attrs);
Line: 5500

    PO_LOG.stmt(d_module,d_position ,'number of rows Updated ',SQL%ROWCOUNT);
Line: 5511

  INSERT INTO po_session_gt(
    key,
    index_char1,  -- records identifier
    index_char2,  -- entity_name
    char1,        -- entity_pk1
    num1,         -- lock_by_draft_id
    char5         -- lock_type
  )
  SELECT po_session_gt_s.NEXTVAL,
         G_LOCKS_REQUIRED_ID,
         G_LOCK_DIST_ENTITY,
         pod.po_distribution_id,
         p_draft_id,
         'F'
  FROM  po_distributions_all pod,
        po_drafts dft
  WHERE pod.po_header_id = dft.document_id
        AND dft.draft_id = p_draft_id
        AND (EXISTS (SELECT 'Line is modified in current txn and requires F lock'
                     FROM   po_session_gt pol_lcks
                     WHERE  pol_lcks.index_char1 = G_LOCKS_REQUIRED_ID
                            AND pol_lcks.index_char2 = G_LOCK_LINE_ENTITY
                            AND pol_lcks.char5 = 'F' -- lock_type
                            AND pod.po_line_id = pol_lcks.char1) -- entity_pk1
             OR EXISTS (SELECT 'Line is already F locked and not modified in current txn'
                        FROM   po_entity_locks poel,
                               po_session_gt pod_ch
                        WHERE  poel.entity_name = G_LOCK_LINE_ENTITY
                               AND poel.lock_type = 'F'
                               AND poel.entity_pk1 = pod.po_line_id
                               AND pod_ch.index_char1 = G_CHANGED_ENTTIES_ID
                               AND pod_ch.index_char2 = G_LOCK_DIST_ENTITY -- entity_name
                               AND pod_ch.char1 = pod.po_distribution_id -- entity_pk1
                               AND NOT EXISTS (SELECT 'Line modified in current txn'
                                               FROM   po_session_gt pol_ch
                                               WHERE  pol_ch.index_char1 = G_CHANGED_ENTTIES_ID
                                                      AND pol_ch.index_char2 = G_LOCK_LINE_ENTITY -- entity_name
                                                      AND pol_ch.char1 = poel.entity_pk1) -- entity_pk1
                       )
             OR EXISTS (SELECT 'shipment is modified in current txn and requires F lock'
                        FROM   po_session_gt poll_lcks
                        WHERE  poll_lcks.index_char1 = G_LOCKS_REQUIRED_ID
                               AND poll_lcks.index_char2 = G_LOCK_SHIPMENT_ENTITY
                               AND poll_lcks.char5 = 'F' -- lock_type
                               AND pod.line_location_id = poll_lcks.char1) -- entity_pk1
             OR EXISTS (SELECT 'Shipment is already F locked and not modified in current txn'
                        FROM   po_entity_locks poel,
                               po_session_gt pod_ch
                        WHERE  poel.entity_name = G_LOCK_SHIPMENT_ENTITY
                               AND poel.lock_type = 'F'
                               AND poel.entity_pk1 = pod.line_location_id
                               AND pod_ch.index_char1 = G_CHANGED_ENTTIES_ID
                               AND pod_ch.index_char2 = G_LOCK_DIST_ENTITY -- entity_name
                               AND pod_ch.char1 = pod.po_distribution_id -- entity_pk1
                               AND NOT EXISTS (SELECT 'Shipment modified in current txn'
                                               FROM   po_session_gt poll_ch
                                               WHERE  poll_ch.index_char1 = G_CHANGED_ENTTIES_ID
                                                      AND poll_ch.index_char2 = G_LOCK_SHIPMENT_ENTITY -- entity_name
                                                      AND poll_ch.char1 = poel.entity_pk1) -- entity_pk1
                       )
            );
Line: 5577

    PO_LOG.stmt(d_module,d_position ,'number of rows Inserted ',SQL%ROWCOUNT);
Line: 5630

  INSERT INTO po_session_gt(
    key,
    index_char1,  -- records identifier
    index_char2,  -- entity_name
    char1,        -- entity_pk1
    num1,         -- lock_by_draft_id
    char5         -- lock_type
  )
  SELECT po_session_gt_s.NEXTVAL,
         G_LOCKS_REQUIRED_ID,
         G_LOCK_HEADER_ENTITY,
         draft.po_header_id,
         draft.draft_id,
         CASE
           WHEN base.p_lock_attrs <> draft.p_lock_attrs THEN 'P'
           ELSE NULL
         END lock_type
  FROM   (SELECT phb.po_header_id,
                 phb.draft_id,
                po_uda_mod_p_lock_attrs(
                   NVL(phb.c_ext_attr1 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr2 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr3 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr4 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr5 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr6 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr7 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr8 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr9 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr10 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr11 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr12 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr13 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr14 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr15 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr16 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr17 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr18 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr19 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr20 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr21 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr22 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr23 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr24 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr25 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr26 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr27 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr28 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr29 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr30 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr31 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr32 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr33 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr34 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr35 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr36 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr37 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr38 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr39 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr40 ,G_NULL_CHAR),
                   NVL(phb.n_ext_attr1 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr2 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr3 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr4 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr5 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr6 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr7 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr8 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr9 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr10 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr11 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr12 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr13 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr14 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr15 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr16 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr17 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr18 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr19 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr20 ,G_NULL_NUM),
                   NVL(phb.uom_ext_attr1 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr2 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr3 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr4 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr5 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr6 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr7 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr8 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr9 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr10 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr11 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr12 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr13 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr14 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr15 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr16 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr17 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr18 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr19 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr20 ,G_NULL_CHAR),
                   NVL(phb.d_ext_attr1 ,G_NULL_DATE),
                   NVL(phb.d_ext_attr2 ,G_NULL_DATE),
                   NVL(phb.d_ext_attr3 ,G_NULL_DATE),
                   NVL(phb.d_ext_attr4 ,G_NULL_DATE),
                   NVL(phb.d_ext_attr5 ,G_NULL_DATE),
                   NVL(phb.d_ext_attr6 ,G_NULL_DATE),
                   NVL(phb.d_ext_attr7 ,G_NULL_DATE),
                   NVL(phb.d_ext_attr8 ,G_NULL_DATE),
                   NVL(phb.d_ext_attr9 ,G_NULL_DATE),
                   NVL(phb.d_ext_attr10 ,G_NULL_DATE)
                 ) p_lock_attrs,
                 phb.attr_group_id
          FROM   po_headers_all_ext_b phb,
                 po_session_gt pogt,
                 ego_fnd_dsc_flx_ctx_ext ag
          WHERE  phb.po_header_id = pogt.char1 -- po_header_id
                 AND phb.draft_id = G_DRAFT_ID_MINUS_1
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 AND pogt.index_char2 = G_LOCK_HEADER_ENTITY
                 AND phb.attr_group_id = ag.attr_group_id
                 AND ag.multi_row = 'N'
          ) base,
          (SELECT phbd.po_header_id,
                  phbd.draft_id,
                  po_uda_mod_p_lock_attrs(
                     NVL(phbd.c_ext_attr1 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr2 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr3 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr4 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr5 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr6 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr7 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr8 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr9 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr10 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr11 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr12 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr13 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr14 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr15 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr16 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr17 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr18 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr19 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr20 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr21 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr22 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr23 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr24 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr25 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr26 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr27 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr28 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr29 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr30 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr31 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr32 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr33 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr34 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr35 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr36 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr37 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr38 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr39 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr40 ,G_NULL_CHAR),
                     NVL(phbd.n_ext_attr1 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr2 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr3 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr4 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr5 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr6 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr7 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr8 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr9 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr10 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr11 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr12 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr13 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr14 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr15 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr16 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr17 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr18 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr19 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr20 ,G_NULL_NUM),
                     NVL(phbd.uom_ext_attr1 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr2 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr3 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr4 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr5 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr6 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr7 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr8 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr9 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr10 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr11 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr12 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr13 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr14 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr15 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr16 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr17 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr18 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr19 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr20 ,G_NULL_CHAR),
                     NVL(phbd.d_ext_attr1 ,G_NULL_DATE),
                     NVL(phbd.d_ext_attr2 ,G_NULL_DATE),
                     NVL(phbd.d_ext_attr3 ,G_NULL_DATE),
                     NVL(phbd.d_ext_attr4 ,G_NULL_DATE),
                     NVL(phbd.d_ext_attr5 ,G_NULL_DATE),
                     NVL(phbd.d_ext_attr6 ,G_NULL_DATE),
                     NVL(phbd.d_ext_attr7 ,G_NULL_DATE),
                     NVL(phbd.d_ext_attr8 ,G_NULL_DATE),
                     nvl(phbd.d_ext_attr9 ,g_null_date),
                     NVL(phbd.d_ext_attr10 ,G_NULL_DATE)
                  ) p_lock_attrs,
                  phbd.attr_group_id
          FROM   po_headers_all_ext_b phbd,
                 po_session_gt pogt,
                 ego_fnd_dsc_flx_ctx_ext ag
          WHERE  phbd.draft_id = p_draft_id
                 AND phbd.po_header_id = pogt.char1 -- po_header_id
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 AND pogt.index_char2 = G_LOCK_HEADER_ENTITY
                 AND phbd.attr_group_id = ag.attr_group_id
                 AND ag.multi_row = 'N'
          ) draft
  WHERE base.attr_group_id = draft.attr_group_id
    AND base.p_lock_attrs <> draft.p_lock_attrs;
Line: 5863

    PO_LOG.stmt(d_module,d_position ,'number of rows Updated ',SQL%ROWCOUNT);
Line: 5866

  SELECT document_id
  INTO   l_po_header_id
  FROM   po_drafts
  WHERE  draft_id = p_draft_id;
Line: 5877

  INSERT INTO po_session_gt(
    key,
    index_char1,  -- records identifier
    index_char2,  -- entity_name
    char1,        -- entity_pk1
    num1,         -- lock_by_draft_id
    char5         -- lock_type
  )
  SELECT po_session_gt_s.NEXTVAL,
         G_LOCKS_REQUIRED_ID,
         G_LOCK_HEADER_ENTITY,
         phda.po_header_id,
         p_draft_id,
         'P'
  FROM   po_headers_draft_all phda,
         po_session_gt pogt
  WHERE  phda.draft_id= p_draft_id
    AND  phda.po_header_id = pogt.char1 -- po_header_id
    AND  pogt.index_char1 = G_CHANGED_ENTTIES_ID
    AND  pogt.index_char2 = G_LOCK_HEADER_ENTITY
    AND  EXISTS (SELECT draft.attr_group_id
                 FROM   po_headers_all_ext_b draft,
                        po_uda_ag_template_usages uda_usg,
                        ego_fnd_dsc_flx_ctx_ext ag
                 WHERE  draft.po_header_id = l_po_header_id
                        AND draft.draft_id = p_draft_id
                        AND draft.uda_template_id = uda_usg.template_id
                        AND draft.attr_group_id = uda_usg.attribute_group_id
                        AND uda_usg.attribute_category NOT IN ('DOCUMENT_NUMBERING', 'MODIFICATIONS')
                        AND draft.attr_group_id = ag.attr_group_id
                        AND ag.multi_row = 'N'
                 MINUS
                 SELECT base.attr_group_id
                 FROM   po_headers_all_ext_b base,
                        po_uda_ag_template_usages uda_usg,
                        ego_fnd_dsc_flx_ctx_ext ag
                 WHERE  base.po_header_id = l_po_header_id
                        AND base.draft_id = -1
                        AND base.uda_template_id = uda_usg.template_id
                        AND base.attr_group_id = uda_usg.attribute_group_id
                        AND uda_usg.attribute_category NOT IN ('DOCUMENT_NUMBERING', 'MODIFICATIONS')
                        AND base.attr_group_id = ag.attr_group_id
                        AND ag.multi_row = 'N'
                 );
Line: 5925

    PO_LOG.stmt(d_module,d_position ,'number of rows Inserted ',SQL%ROWCOUNT);
Line: 5931

  INSERT INTO po_session_gt(
    key,
    index_char1,  -- records identifier
    index_char2,  -- entity_name
    char1,        -- entity_pk1
    num1,         -- lock_by_draft_id
    char5         -- lock_type
  )
  SELECT po_session_gt_s.NEXTVAL,
         G_LOCKS_REQUIRED_ID,
         G_LOCK_HEADER_ENTITY,
         pohd.po_header_id,
         pohd.draft_id,
         'P'
  FROM   po_headers_draft_all pohd,
         po_session_gt pogt
  WHERE  pohd.draft_id = p_draft_id
         AND pohd.po_header_id = pogt.char1 -- po_header_id
         AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
         AND pogt.index_char2 = G_LOCK_HEADER_ENTITY
         AND EXISTS (-- Consider the added/updated records as a change
                     SELECT c_ext_attr1,
                            c_ext_attr2,
                            c_ext_attr3,
                            c_ext_attr4,
                            c_ext_attr5,
                            c_ext_attr6,
                            c_ext_attr7,
                            c_ext_attr8,
                            c_ext_attr9,
                            c_ext_attr10,
                            c_ext_attr11,
                            c_ext_attr12,
                            c_ext_attr13,
                            c_ext_attr14,
                            c_ext_attr15,
                            c_ext_attr16,
                            c_ext_attr17,
                            c_ext_attr18,
                            c_ext_attr19,
                            c_ext_attr20,
                            c_ext_attr21,
                            c_ext_attr22,
                            c_ext_attr23,
                            c_ext_attr24,
                            c_ext_attr25,
                            c_ext_attr26,
                            c_ext_attr27,
                            c_ext_attr28,
                            c_ext_attr29,
                            c_ext_attr30,
                            c_ext_attr31,
                            c_ext_attr32,
                            c_ext_attr33,
                            c_ext_attr34,
                            c_ext_attr35,
                            c_ext_attr36,
                            c_ext_attr37,
                            c_ext_attr38,
                            c_ext_attr39,
                            c_ext_attr40,
                            n_ext_attr1,
                            n_ext_attr2,
                            n_ext_attr3,
                            n_ext_attr4,
                            n_ext_attr5,
                            n_ext_attr6,
                            n_ext_attr7,
                            n_ext_attr8,
                            n_ext_attr9,
                            n_ext_attr10,
                            n_ext_attr11,
                            n_ext_attr12,
                            n_ext_attr13,
                            n_ext_attr14,
                            n_ext_attr15,
                            n_ext_attr16,
                            n_ext_attr17,
                            n_ext_attr18,
                            n_ext_attr19,
                            n_ext_attr20,
                            uom_ext_attr1,
                            uom_ext_attr2,
                            uom_ext_attr3,
                            uom_ext_attr4,
                            uom_ext_attr5,
                            uom_ext_attr6,
                            uom_ext_attr7,
                            uom_ext_attr8,
                            uom_ext_attr9,
                            uom_ext_attr10,
                            uom_ext_attr11,
                            uom_ext_attr12,
                            uom_ext_attr13,
                            uom_ext_attr14,
                            uom_ext_attr15,
                            uom_ext_attr16,
                            uom_ext_attr17,
                            uom_ext_attr18,
                            uom_ext_attr19,
                            uom_ext_attr20,
                            d_ext_attr1,
                            d_ext_attr2,
                            d_ext_attr3,
                            d_ext_attr4,
                            d_ext_attr5,
                            d_ext_attr6,
                            d_ext_attr7,
                            d_ext_attr8,
                            d_ext_attr9,
                            d_ext_attr10
                     FROM   po_headers_all_ext_b pohextb,
                            ego_fnd_dsc_flx_ctx_ext ag
                     WHERE  pohextb.po_header_id = pohd.po_header_id
                            AND pohextb.draft_id = p_draft_id
                            AND pohextb.attr_group_id = ag.attr_group_id
                            AND ag.multi_row = 'Y'
                            AND (pohextb.c_ext_attr40 <> 'PO_UDA_ADDRESS_TYPES'
                                 OR pohextb.c_ext_attr40 IS NULL)
                     MINUS
                     SELECT c_ext_attr1,
                            c_ext_attr2,
                            c_ext_attr3,
                            c_ext_attr4,
                            c_ext_attr5,
                            c_ext_attr6,
                            c_ext_attr7,
                            c_ext_attr8,
                            c_ext_attr9,
                            c_ext_attr10,
                            c_ext_attr11,
                            c_ext_attr12,
                            c_ext_attr13,
                            c_ext_attr14,
                            c_ext_attr15,
                            c_ext_attr16,
                            c_ext_attr17,
                            c_ext_attr18,
                            c_ext_attr19,
                            c_ext_attr20,
                            c_ext_attr21,
                            c_ext_attr22,
                            c_ext_attr23,
                            c_ext_attr24,
                            c_ext_attr25,
                            c_ext_attr26,
                            c_ext_attr27,
                            c_ext_attr28,
                            c_ext_attr29,
                            c_ext_attr30,
                            c_ext_attr31,
                            c_ext_attr32,
                            c_ext_attr33,
                            c_ext_attr34,
                            c_ext_attr35,
                            c_ext_attr36,
                            c_ext_attr37,
                            c_ext_attr38,
                            c_ext_attr39,
                            c_ext_attr40,
                            n_ext_attr1,
                            n_ext_attr2,
                            n_ext_attr3,
                            n_ext_attr4,
                            n_ext_attr5,
                            n_ext_attr6,
                            n_ext_attr7,
                            n_ext_attr8,
                            n_ext_attr9,
                            n_ext_attr10,
                            n_ext_attr11,
                            n_ext_attr12,
                            n_ext_attr13,
                            n_ext_attr14,
                            n_ext_attr15,
                            n_ext_attr16,
                            n_ext_attr17,
                            n_ext_attr18,
                            n_ext_attr19,
                            n_ext_attr20,
                            uom_ext_attr1,
                            uom_ext_attr2,
                            uom_ext_attr3,
                            uom_ext_attr4,
                            uom_ext_attr5,
                            uom_ext_attr6,
                            uom_ext_attr7,
                            uom_ext_attr8,
                            uom_ext_attr9,
                            uom_ext_attr10,
                            uom_ext_attr11,
                            uom_ext_attr12,
                            uom_ext_attr13,
                            uom_ext_attr14,
                            uom_ext_attr15,
                            uom_ext_attr16,
                            uom_ext_attr17,
                            uom_ext_attr18,
                            uom_ext_attr19,
                            uom_ext_attr20,
                            d_ext_attr1,
                            d_ext_attr2,
                            d_ext_attr3,
                            d_ext_attr4,
                            d_ext_attr5,
                            d_ext_attr6,
                            d_ext_attr7,
                            d_ext_attr8,
                            d_ext_attr9,
                            d_ext_attr10
                     FROM   po_headers_all_ext_b pohextb,
                            ego_fnd_dsc_flx_ctx_ext ag
                     WHERE  pohextb.po_header_id = pohd.po_header_id
                            AND pohextb.draft_id = G_DRAFT_ID_MINUS_1
                            AND pohextb.attr_group_id = ag.attr_group_id
                            AND ag.multi_row = 'Y'
                            AND (pohextb.c_ext_attr40 <> 'PO_UDA_ADDRESS_TYPES'
                                 OR pohextb.c_ext_attr40 IS NULL)
                     UNION ALL
                     -- Consider the deleted records as a change
                     SELECT c_ext_attr1,
                            c_ext_attr2,
                            c_ext_attr3,
                            c_ext_attr4,
                            c_ext_attr5,
                            c_ext_attr6,
                            c_ext_attr7,
                            c_ext_attr8,
                            c_ext_attr9,
                            c_ext_attr10,
                            c_ext_attr11,
                            c_ext_attr12,
                            c_ext_attr13,
                            c_ext_attr14,
                            c_ext_attr15,
                            c_ext_attr16,
                            c_ext_attr17,
                            c_ext_attr18,
                            c_ext_attr19,
                            c_ext_attr20,
                            c_ext_attr21,
                            c_ext_attr22,
                            c_ext_attr23,
                            c_ext_attr24,
                            c_ext_attr25,
                            c_ext_attr26,
                            c_ext_attr27,
                            c_ext_attr28,
                            c_ext_attr29,
                            c_ext_attr30,
                            c_ext_attr31,
                            c_ext_attr32,
                            c_ext_attr33,
                            c_ext_attr34,
                            c_ext_attr35,
                            c_ext_attr36,
                            c_ext_attr37,
                            c_ext_attr38,
                            c_ext_attr39,
                            c_ext_attr40,
                            n_ext_attr1,
                            n_ext_attr2,
                            n_ext_attr3,
                            n_ext_attr4,
                            n_ext_attr5,
                            n_ext_attr6,
                            n_ext_attr7,
                            n_ext_attr8,
                            n_ext_attr9,
                            n_ext_attr10,
                            n_ext_attr11,
                            n_ext_attr12,
                            n_ext_attr13,
                            n_ext_attr14,
                            n_ext_attr15,
                            n_ext_attr16,
                            n_ext_attr17,
                            n_ext_attr18,
                            n_ext_attr19,
                            n_ext_attr20,
                            uom_ext_attr1,
                            uom_ext_attr2,
                            uom_ext_attr3,
                            uom_ext_attr4,
                            uom_ext_attr5,
                            uom_ext_attr6,
                            uom_ext_attr7,
                            uom_ext_attr8,
                            uom_ext_attr9,
                            uom_ext_attr10,
                            uom_ext_attr11,
                            uom_ext_attr12,
                            uom_ext_attr13,
                            uom_ext_attr14,
                            uom_ext_attr15,
                            uom_ext_attr16,
                            uom_ext_attr17,
                            uom_ext_attr18,
                            uom_ext_attr19,
                            uom_ext_attr20,
                            d_ext_attr1,
                            d_ext_attr2,
                            d_ext_attr3,
                            d_ext_attr4,
                            d_ext_attr5,
                            d_ext_attr6,
                            d_ext_attr7,
                            d_ext_attr8,
                            d_ext_attr9,
                            d_ext_attr10
                     FROM   po_headers_all_ext_b pohextb,
                            ego_fnd_dsc_flx_ctx_ext ag
                     WHERE  pohextb.po_header_id = pohd.po_header_id
                            AND pohextb.draft_id = G_DRAFT_ID_MINUS_1
                            AND pohextb.attr_group_id = ag.attr_group_id
                            AND ag.multi_row = 'Y'
                            AND (pohextb.c_ext_attr40 <> 'PO_UDA_ADDRESS_TYPES'
                                 OR pohextb.c_ext_attr40 IS NULL)
                     MINUS
                     SELECT c_ext_attr1,
                            c_ext_attr2,
                            c_ext_attr3,
                            c_ext_attr4,
                            c_ext_attr5,
                            c_ext_attr6,
                            c_ext_attr7,
                            c_ext_attr8,
                            c_ext_attr9,
                            c_ext_attr10,
                            c_ext_attr11,
                            c_ext_attr12,
                            c_ext_attr13,
                            c_ext_attr14,
                            c_ext_attr15,
                            c_ext_attr16,
                            c_ext_attr17,
                            c_ext_attr18,
                            c_ext_attr19,
                            c_ext_attr20,
                            c_ext_attr21,
                            c_ext_attr22,
                            c_ext_attr23,
                            c_ext_attr24,
                            c_ext_attr25,
                            c_ext_attr26,
                            c_ext_attr27,
                            c_ext_attr28,
                            c_ext_attr29,
                            c_ext_attr30,
                            c_ext_attr31,
                            c_ext_attr32,
                            c_ext_attr33,
                            c_ext_attr34,
                            c_ext_attr35,
                            c_ext_attr36,
                            c_ext_attr37,
                            c_ext_attr38,
                            c_ext_attr39,
                            c_ext_attr40,
                            n_ext_attr1,
                            n_ext_attr2,
                            n_ext_attr3,
                            n_ext_attr4,
                            n_ext_attr5,
                            n_ext_attr6,
                            n_ext_attr7,
                            n_ext_attr8,
                            n_ext_attr9,
                            n_ext_attr10,
                            n_ext_attr11,
                            n_ext_attr12,
                            n_ext_attr13,
                            n_ext_attr14,
                            n_ext_attr15,
                            n_ext_attr16,
                            n_ext_attr17,
                            n_ext_attr18,
                            n_ext_attr19,
                            n_ext_attr20,
                            uom_ext_attr1,
                            uom_ext_attr2,
                            uom_ext_attr3,
                            uom_ext_attr4,
                            uom_ext_attr5,
                            uom_ext_attr6,
                            uom_ext_attr7,
                            uom_ext_attr8,
                            uom_ext_attr9,
                            uom_ext_attr10,
                            uom_ext_attr11,
                            uom_ext_attr12,
                            uom_ext_attr13,
                            uom_ext_attr14,
                            uom_ext_attr15,
                            uom_ext_attr16,
                            uom_ext_attr17,
                            uom_ext_attr18,
                            uom_ext_attr19,
                            uom_ext_attr20,
                            d_ext_attr1,
                            d_ext_attr2,
                            d_ext_attr3,
                            d_ext_attr4,
                            d_ext_attr5,
                            d_ext_attr6,
                            d_ext_attr7,
                            d_ext_attr8,
                            d_ext_attr9,
                            d_ext_attr10
                     FROM   po_headers_all_ext_b pohextb,
                            ego_fnd_dsc_flx_ctx_ext ag
                     WHERE  pohextb.po_header_id = pohd.po_header_id
                            AND pohextb.draft_id = p_draft_id
                            AND pohextb.attr_group_id = ag.attr_group_id
                            AND ag.multi_row = 'Y'
                            AND (pohextb.c_ext_attr40 <> 'PO_UDA_ADDRESS_TYPES'
                                 OR pohextb.c_ext_attr40 IS NULL)
                    );
Line: 6352

  PO_LOG.stmt(d_module,d_position ,'number of rows Updated ',SQL%ROWCOUNT);
Line: 6356

  INSERT INTO po_session_gt(
    key,
    index_char1,  -- records identifier
    index_char2,  -- entity_name
    char1,        -- entity_pk1
    num1,         -- lock_by_draft_id
    char5         -- lock_type
  )
  SELECT po_session_gt_s.NEXTVAL,
         G_LOCKS_REQUIRED_ID,
         G_LOCK_HEADER_ENTITY,
         draft.po_header_id,
         draft.draft_id,
         CASE
           WHEN base.p_lock_attrs <> draft.p_lock_attrs THEN 'P'
           ELSE NULL
         end lock_type
  FROM   (SELECT put.po_header_id,
                put.draft_id,
                po_uda_tl_mod_p_lock_attrs(
                  NVL(put.tl_ext_attr1 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr2 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr3 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr4 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr5 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr6 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr7 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr8 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr9 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr10 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr11 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr12 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr13 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr14 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr15 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr16 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr17 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr18 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr19 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr20 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr21 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr22 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr23 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr24 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr25 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr26 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr27 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr28 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr29 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr30 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr31 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr32 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr33 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr34 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr35 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr36 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr37 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr38 ,G_NULL_CHAR),
                  nvl(put.tl_ext_attr39 ,G_NULL_CHAR),
                  NVL(put.tl_ext_attr40 ,G_NULL_CHAR)
              ) p_lock_attrs,
                put.attr_group_id,
                put.language
          FROM   po_headers_all_ext_tl put,
                 po_session_gt pogt
          where  put.po_header_id = pogt.char1 -- po_header_id
                 AND put.draft_id =G_DRAFT_ID_MINUS_1
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 and pogt.index_char2 = g_lock_header_entity
          ) base,
          (select putd.po_header_id,
                  putd.draft_id,
                  po_uda_tl_mod_p_lock_attrs(
                    NVL(putd.tl_ext_attr1 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr2 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr3 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr4 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr5 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr6 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr7 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr8 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr9 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr10 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr11 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr12 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr13 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr14 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr15 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr16 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr17 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr18 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr19 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr20 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr21 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr22 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr23 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr24 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr25 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr26 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr27 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr28 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr29 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr30 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr31 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr32 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr33 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr34 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr35 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr36 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr37 ,G_NULL_CHAR),
                    NVL(putd.tl_ext_attr38 ,G_NULL_CHAR),
                    nvl(putd.tl_ext_attr39 ,g_null_char),
                    NVL(putd.tl_ext_attr40 ,G_NULL_CHAR)
                  ) p_lock_attrs,
                  putd.attr_group_id,
                  putd.language
          FROM   po_headers_all_ext_tl putd,
                 po_session_gt pogt
          WHERE  putd.draft_id = p_draft_id
                 AND putd.po_header_id = pogt.char1 -- po_header_id
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 and pogt.index_char2 = g_lock_header_entity
          ) draft
  where base.attr_group_id = draft.attr_group_id
    AND base.language = draft.language
    AND base.p_lock_attrs <> draft.p_lock_attrs;
Line: 6485

    PO_LOG.stmt(d_module,d_position ,'number of rows Updated ',SQL%ROWCOUNT);
Line: 6489

  INSERT INTO po_session_gt(
    key,
    index_char1,  -- records identifier
    index_char2,  -- entity_name
    char1,        -- entity_pk1
    char2,        -- entity_pk2
    num1,         -- lock_by_draft_id
    char5         -- lock_type
  )
  SELECT po_session_gt_s.NEXTVAL,
         G_LOCKS_REQUIRED_ID,
         G_LOCK_ADDRESS_ENTITY,
         draft.po_header_id,
         draft.c_ext_attr39,
         draft.draft_id,
         CASE
           WHEN base.p_lock_attrs <> draft.p_lock_attrs THEN 'P'
           ELSE NULL
         END lock_type
  FROM   (SELECT phb.po_header_id,
                 phb.draft_id,
                po_uda_mod_p_lock_attrs(
                   NVL(phb.c_ext_attr1 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr2 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr3 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr4 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr5 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr6 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr7 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr8 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr9 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr10 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr11 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr12 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr13 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr14 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr15 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr16 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr17 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr18 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr19 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr20 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr21 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr22 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr23 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr24 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr25 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr26 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr27 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr28 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr29 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr30 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr31 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr32 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr33 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr34 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr35 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr36 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr37 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr38 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr39 ,G_NULL_CHAR),
                   NVL(phb.c_ext_attr40 ,G_NULL_CHAR),
                   NVL(phb.n_ext_attr1 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr2 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr3 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr4 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr5 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr6 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr7 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr8 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr9 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr10 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr11 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr12 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr13 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr14 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr15 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr16 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr17 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr18 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr19 ,G_NULL_NUM),
                   NVL(phb.n_ext_attr20 ,G_NULL_NUM),
                   NVL(phb.uom_ext_attr1 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr2 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr3 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr4 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr5 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr6 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr7 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr8 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr9 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr10 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr11 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr12 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr13 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr14 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr15 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr16 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr17 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr18 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr19 ,G_NULL_CHAR),
                   NVL(phb.uom_ext_attr20 ,G_NULL_CHAR),
                   NVL(phb.d_ext_attr1 ,G_NULL_DATE),
                   NVL(phb.d_ext_attr2 ,G_NULL_DATE),
                   NVL(phb.d_ext_attr3 ,G_NULL_DATE),
                   NVL(phb.d_ext_attr4 ,G_NULL_DATE),
                   NVL(phb.d_ext_attr5 ,G_NULL_DATE),
                   NVL(phb.d_ext_attr6 ,G_NULL_DATE),
                   NVL(phb.d_ext_attr7 ,G_NULL_DATE),
                   NVL(phb.d_ext_attr8 ,G_NULL_DATE),
                   NVL(phb.d_ext_attr9 ,G_NULL_DATE),
                   NVL(phb.d_ext_attr10 ,G_NULL_DATE)
              ) P_LOCK_ATTRS,
                phb.attr_group_id,
                phb.c_ext_attr39
          FROM   po_headers_all_ext_b phb,
                 po_session_gt pogt
          WHERE  phb.po_header_id = pogt.char1 -- po_header_id
                 AND phb.draft_id = G_DRAFT_ID_MINUS_1
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 AND pogt.index_char2 = G_LOCK_ADDRESS_ENTITY
                 AND phb.c_ext_attr40='PO_UDA_ADDRESS_TYPES'
          ) base,
          (SELECT phbd.po_header_id,
                  phbd.draft_id,
                  po_uda_mod_p_lock_attrs(
                     NVL(phbd.c_ext_attr1 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr2 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr3 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr4 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr5 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr6 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr7 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr8 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr9 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr10 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr11 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr12 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr13 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr14 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr15 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr16 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr17 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr18 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr19 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr20 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr21 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr22 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr23 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr24 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr25 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr26 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr27 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr28 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr29 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr30 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr31 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr32 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr33 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr34 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr35 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr36 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr37 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr38 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr39 ,G_NULL_CHAR),
                     NVL(phbd.c_ext_attr40 ,G_NULL_CHAR),
                     NVL(phbd.n_ext_attr1 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr2 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr3 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr4 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr5 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr6 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr7 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr8 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr9 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr10 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr11 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr12 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr13 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr14 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr15 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr16 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr17 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr18 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr19 ,G_NULL_NUM),
                     NVL(phbd.n_ext_attr20 ,G_NULL_NUM),
                     NVL(phbd.uom_ext_attr1 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr2 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr3 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr4 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr5 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr6 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr7 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr8 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr9 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr10 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr11 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr12 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr13 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr14 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr15 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr16 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr17 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr18 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr19 ,G_NULL_CHAR),
                     NVL(phbd.uom_ext_attr20 ,G_NULL_CHAR),
                     NVL(phbd.d_ext_attr1 ,G_NULL_DATE),
                     NVL(phbd.d_ext_attr2 ,G_NULL_DATE),
                     NVL(phbd.d_ext_attr3 ,G_NULL_DATE),
                     NVL(phbd.d_ext_attr4 ,G_NULL_DATE),
                     NVL(phbd.d_ext_attr5 ,G_NULL_DATE),
                     NVL(phbd.d_ext_attr6 ,G_NULL_DATE),
                     NVL(phbd.d_ext_attr7 ,G_NULL_DATE),
                     NVL(phbd.d_ext_attr8 ,G_NULL_DATE),
                     nvl(phbd.d_ext_attr9 ,g_null_date),
                     NVL(phbd.d_ext_attr10 ,G_NULL_DATE)
                  ) p_lock_attrs,
                  phbd.attr_group_id,
                  phbd.c_ext_attr39
          FROM   po_headers_all_ext_b phbd,
                 po_session_gt pogt
          WHERE  phbd.draft_id = p_draft_id
                 AND phbd.po_header_id = pogt.char1 -- po_header_id
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 AND pogt.index_char2 = G_LOCK_ADDRESS_ENTITY
                 AND phbd.c_ext_attr40 = 'PO_UDA_ADDRESS_TYPES'
          ) draft
  WHERE base.attr_group_id = draft.attr_group_id
    AND BASE.c_ext_attr39 = DRAFT.c_ext_attr39
    AND base.p_lock_attrs <> draft.p_lock_attrs;
Line: 6723

    PO_LOG.stmt(d_module,d_position ,'number of rows Updated ',SQL%ROWCOUNT);
Line: 6778

  INSERT INTO po_session_gt(
    key,
    index_char1,  -- records identifier
    index_char2,  -- entity_name
    char1,        -- entity_pk1
    num1,         -- lock_by_draft_id
    char5         -- lock_type
  )
  SELECT po_session_gt_s.NEXTVAL,
         G_LOCKS_REQUIRED_ID,
         G_LOCK_LINE_ENTITY,
         draft.po_line_id,
         draft.draft_id,
         CASE
           WHEN base.p_lock_attrs <> draft.p_lock_attrs THEN 'P'
           ELSE NULL
         END lock_type
  FROM   (SELECT plb.po_line_id,
                 plb.draft_id,
                 po_uda_mod_p_lock_attrs(
                   NVL(plb.c_ext_attr1 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr2 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr3 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr4 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr5 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr6 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr7 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr8 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr9 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr10 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr11 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr12 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr13 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr14 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr15 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr16 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr17 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr18 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr19 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr20 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr21 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr22 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr23 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr24 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr25 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr26 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr27 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr28 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr29 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr30 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr31 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr32 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr33 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr34 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr35 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr36 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr37 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr38 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr39 ,G_NULL_CHAR),
                   NVL(plb.c_ext_attr40 ,G_NULL_CHAR),
                   NVL(plb.n_ext_attr1 ,G_NULL_NUM),
                   NVL(plb.n_ext_attr2 ,G_NULL_NUM),
                   NVL(plb.n_ext_attr3 ,G_NULL_NUM),
                   NVL(plb.n_ext_attr4 ,G_NULL_NUM),
                   NVL(plb.n_ext_attr5 ,G_NULL_NUM),
                   NVL(plb.n_ext_attr6 ,G_NULL_NUM),
                   NVL(plb.n_ext_attr7 ,G_NULL_NUM),
                   NVL(plb.n_ext_attr8 ,G_NULL_NUM),
                   NVL(plb.n_ext_attr9 ,G_NULL_NUM),
                   NVL(plb.n_ext_attr10 ,G_NULL_NUM),
                   NVL(plb.n_ext_attr11 ,G_NULL_NUM),
                   NVL(plb.n_ext_attr12 ,G_NULL_NUM),
                   NVL(plb.n_ext_attr13 ,G_NULL_NUM),
                   NVL(plb.n_ext_attr14 ,G_NULL_NUM),
                   NVL(plb.n_ext_attr15 ,G_NULL_NUM),
                   NVL(plb.n_ext_attr16 ,G_NULL_NUM),
                   NVL(plb.n_ext_attr17 ,G_NULL_NUM),
                   NVL(plb.n_ext_attr18 ,G_NULL_NUM),
                   NVL(plb.n_ext_attr19 ,G_NULL_NUM),
                   NVL(plb.n_ext_attr20 ,G_NULL_NUM),
                   NVL(plb.uom_ext_attr1 ,G_NULL_CHAR),
                   NVL(plb.uom_ext_attr2 ,G_NULL_CHAR),
                   NVL(plb.uom_ext_attr3 ,G_NULL_CHAR),
                   NVL(plb.uom_ext_attr4 ,G_NULL_CHAR),
                   NVL(plb.uom_ext_attr5 ,G_NULL_CHAR),
                   NVL(plb.uom_ext_attr6 ,G_NULL_CHAR),
                   NVL(plb.uom_ext_attr7 ,G_NULL_CHAR),
                   NVL(plb.uom_ext_attr8 ,G_NULL_CHAR),
                   NVL(plb.uom_ext_attr9 ,G_NULL_CHAR),
                   NVL(plb.uom_ext_attr10 ,G_NULL_CHAR),
                   NVL(plb.uom_ext_attr11 ,G_NULL_CHAR),
                   NVL(plb.uom_ext_attr12 ,G_NULL_CHAR),
                   NVL(plb.uom_ext_attr13 ,G_NULL_CHAR),
                   NVL(plb.uom_ext_attr14 ,G_NULL_CHAR),
                   NVL(plb.uom_ext_attr15 ,G_NULL_CHAR),
                   NVL(plb.uom_ext_attr16 ,G_NULL_CHAR),
                   NVL(plb.uom_ext_attr17 ,G_NULL_CHAR),
                   NVL(plb.uom_ext_attr18 ,G_NULL_CHAR),
                   NVL(plb.uom_ext_attr19 ,G_NULL_CHAR),
                   NVL(plb.uom_ext_attr20 ,G_NULL_CHAR),
                   NVL(plb.d_ext_attr1 ,G_NULL_DATE),
                   NVL(plb.d_ext_attr2 ,G_NULL_DATE),
                   NVL(plb.d_ext_attr3 ,G_NULL_DATE),
                   NVL(plb.d_ext_attr4 ,G_NULL_DATE),
                   NVL(plb.d_ext_attr5 ,G_NULL_DATE),
                   NVL(plb.d_ext_attr6 ,G_NULL_DATE),
                   NVL(plb.d_ext_attr7 ,G_NULL_DATE),
                   NVL(plb.d_ext_attr8 ,G_NULL_DATE),
                   NVL(plb.d_ext_attr9 ,G_NULL_DATE),
                   NVL(plb.d_ext_attr10 ,G_NULL_DATE)
                 ) p_lock_attrs,
                 plb.attr_group_id
          FROM   po_lines_all_ext_b plb,
                 po_session_gt pogt
          WHERE  plb.po_line_id = pogt.char1 -- po_line_id
                 AND plb.draft_id = G_DRAFT_ID_MINUS_1
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 and pogt.index_char2 = g_lock_line_entity
                 AND NOT EXISTS (SELECT 'exclude PRICING attribute category'
                                 FROM   po_uda_ag_template_usages puatu,
                                        po_lines_all pla
                                 WHERE  puatu.template_id = pla.uda_template_id
                                  AND   puatu.attribute_category = 'PRICING'
                                  AND   pla.po_line_id = plb.po_line_id
                                  AND   puatu.attribute_group_id = plb.attr_group_id
                                )
          ) base,
          (SELECT plbd.po_line_id,
                  plbd.draft_id,
                  po_uda_mod_p_lock_attrs(
                     NVL(plbd.c_ext_attr1 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr2 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr3 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr4 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr5 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr6 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr7 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr8 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr9 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr10 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr11 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr12 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr13 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr14 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr15 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr16 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr17 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr18 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr19 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr20 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr21 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr22 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr23 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr24 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr25 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr26 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr27 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr28 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr29 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr30 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr31 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr32 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr33 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr34 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr35 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr36 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr37 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr38 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr39 ,G_NULL_CHAR),
                     NVL(plbd.c_ext_attr40 ,G_NULL_CHAR),
                     NVL(plbd.n_ext_attr1 ,G_NULL_NUM),
                     NVL(plbd.n_ext_attr2 ,G_NULL_NUM),
                     NVL(plbd.n_ext_attr3 ,G_NULL_NUM),
                     NVL(plbd.n_ext_attr4 ,G_NULL_NUM),
                     NVL(plbd.n_ext_attr5 ,G_NULL_NUM),
                     NVL(plbd.n_ext_attr6 ,G_NULL_NUM),
                     NVL(plbd.n_ext_attr7 ,G_NULL_NUM),
                     NVL(plbd.n_ext_attr8 ,G_NULL_NUM),
                     NVL(plbd.n_ext_attr9 ,G_NULL_NUM),
                     NVL(plbd.n_ext_attr10 ,G_NULL_NUM),
                     NVL(plbd.n_ext_attr11 ,G_NULL_NUM),
                     NVL(plbd.n_ext_attr12 ,G_NULL_NUM),
                     NVL(plbd.n_ext_attr13 ,G_NULL_NUM),
                     NVL(plbd.n_ext_attr14 ,G_NULL_NUM),
                     NVL(plbd.n_ext_attr15 ,G_NULL_NUM),
                     NVL(plbd.n_ext_attr16 ,G_NULL_NUM),
                     NVL(plbd.n_ext_attr17 ,G_NULL_NUM),
                     NVL(plbd.n_ext_attr18 ,G_NULL_NUM),
                     NVL(plbd.n_ext_attr19 ,G_NULL_NUM),
                     NVL(plbd.n_ext_attr20 ,G_NULL_NUM),
                     NVL(plbd.uom_ext_attr1 ,G_NULL_CHAR),
                     NVL(plbd.uom_ext_attr2 ,G_NULL_CHAR),
                     NVL(plbd.uom_ext_attr3 ,G_NULL_CHAR),
                     NVL(plbd.uom_ext_attr4 ,G_NULL_CHAR),
                     NVL(plbd.uom_ext_attr5 ,G_NULL_CHAR),
                     NVL(plbd.uom_ext_attr6 ,G_NULL_CHAR),
                     NVL(plbd.uom_ext_attr7 ,G_NULL_CHAR),
                     NVL(plbd.uom_ext_attr8 ,G_NULL_CHAR),
                     NVL(plbd.uom_ext_attr9 ,G_NULL_CHAR),
                     NVL(plbd.uom_ext_attr10 ,G_NULL_CHAR),
                     NVL(plbd.uom_ext_attr11 ,G_NULL_CHAR),
                     NVL(plbd.uom_ext_attr12 ,G_NULL_CHAR),
                     NVL(plbd.uom_ext_attr13 ,G_NULL_CHAR),
                     NVL(plbd.uom_ext_attr14 ,G_NULL_CHAR),
                     NVL(plbd.uom_ext_attr15 ,G_NULL_CHAR),
                     NVL(plbd.uom_ext_attr16 ,G_NULL_CHAR),
                     NVL(plbd.uom_ext_attr17 ,G_NULL_CHAR),
                     NVL(plbd.uom_ext_attr18 ,G_NULL_CHAR),
                     NVL(plbd.uom_ext_attr19 ,G_NULL_CHAR),
                     NVL(plbd.uom_ext_attr20 ,G_NULL_CHAR),
                     NVL(plbd.d_ext_attr1 ,G_NULL_DATE),
                     NVL(plbd.d_ext_attr2 ,G_NULL_DATE),
                     NVL(plbd.d_ext_attr3 ,G_NULL_DATE),
                     NVL(plbd.d_ext_attr4 ,G_NULL_DATE),
                     NVL(plbd.d_ext_attr5 ,G_NULL_DATE),
                     NVL(plbd.d_ext_attr6 ,G_NULL_DATE),
                     NVL(plbd.d_ext_attr7 ,G_NULL_DATE),
                     NVL(plbd.d_ext_attr8 ,G_NULL_DATE),
                     NVL(plbd.d_ext_attr9 ,G_NULL_DATE),
                     NVL(plbd.d_ext_attr10 ,G_NULL_DATE)
                  ) p_lock_attrs,
                  plbd.attr_group_id
          FROM   po_lines_all_ext_b plbd,
                 po_session_gt pogt
          WHERE  plbd.draft_id = p_draft_id
                 AND plbd.po_line_id = pogt.char1 -- po_line_id
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 AND pogt.index_char2 = G_LOCK_LINE_ENTITY
                 AND NOT EXISTS (SELECT 'exclude PRICING attribute category'
                                 FROM   po_uda_ag_template_usages puatu,
                                        po_lines_all pla
                                 where  puatu.template_id = pla.uda_template_id
                                  AND   puatu.attribute_category = 'PRICING'
                                  AND   pla.po_line_id = plbd.po_line_id
                                  AND   puatu.attribute_group_id = plbd.attr_group_id
                                )
          ) draft
  WHERE base.attr_group_id = draft.attr_group_id
    AND base.p_lock_attrs <> draft.p_lock_attrs;
Line: 7021

    PO_LOG.stmt(d_module,d_position ,'number of rows INserted ',SQL%ROWCOUNT);
Line: 7030

  INSERT INTO po_session_gt(
    key,
    index_char1,  -- records identifier
    index_char2,  -- entity_name
    char1,        -- entity_pk1
    num1,         -- lock_by_draft_id
    char5         -- lock_type
  )
  SELECT po_session_gt_s.NEXTVAL,
         G_LOCKS_REQUIRED_ID,
         G_LOCK_LINE_ENTITY,
         plbd.po_line_id,
         p_draft_id,
         'P'
  FROM   po_lines_draft_all plbd,
         po_session_gt pogt
  WHERE  plbd.draft_id = p_draft_id
         AND plbd.po_line_id = pogt.char1 -- po_line_id
         AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
         AND pogt.index_char2 = G_LOCK_LINE_ENTITY
         AND EXISTS (SELECT draft.attr_group_id
                     FROM   po_lines_all_ext_b draft,
                            po_uda_ag_template_usages uda_usg
                     WHERE  draft.po_line_id = plbd.po_line_id
                            AND draft.draft_id = p_draft_id
                            AND draft.uda_template_id = uda_usg.template_id
                            AND draft.attr_group_id = uda_usg.attribute_group_id
                            AND uda_usg.attribute_category <> 'PRICING'
                     MINUS
                     SELECT base.attr_group_id
                     FROM   po_lines_all_ext_b base,
                            po_uda_ag_template_usages uda_usg
                     WHERE  base.po_line_id = plbd.po_line_id
                            AND base.draft_id = -1
                            AND base.uda_template_id = uda_usg.template_id
                            AND base.attr_group_id = uda_usg.attribute_group_id
                            AND uda_usg.attribute_category  <> 'PRICING'
                    );
Line: 7072

    PO_LOG.stmt(d_module,d_position ,'number of rows Inserted ',SQL%ROWCOUNT);
Line: 7076

  INSERT INTO po_session_gt(
    key,
    index_char1,  -- records identifier
    index_char2,  -- entity_name
    char1,        -- entity_pk1
    num1,         -- lock_by_draft_id
    char5         -- lock_type
  )
  SELECT po_session_gt_s.NEXTVAL,
         G_LOCKS_REQUIRED_ID,
         G_LOCK_LINE_ENTITY,
         draft.po_line_id,
         draft.draft_id,
         CASE
           WHEN base.p_lock_attrs <> draft.p_lock_attrs THEN 'P'
           ELSE NULL
         end lock_type
  FROM   (SELECT plt.po_line_id,
                plt.draft_id,
                po_uda_tl_mod_p_lock_attrs(
                  NVL(plt.tl_ext_attr1 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr2 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr3 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr4 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr5 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr6 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr7 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr8 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr9 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr10 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr11 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr12 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr13 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr14 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr15 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr16 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr17 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr18 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr19 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr20 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr21 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr22 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr23 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr24 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr25 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr26 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr27 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr28 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr29 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr30 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr31 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr32 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr33 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr34 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr35 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr36 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr37 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr38 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr39 ,G_NULL_CHAR),
                  NVL(plt.tl_ext_attr40 ,G_NULL_CHAR)
              ) p_lock_attrs,
                plt.attr_group_id,
                plt.language
          FROM   po_lines_all_ext_tl plt,
                 po_session_gt pogt
          where  plt.po_line_id = pogt.char1 -- po_line_id
                 AND plt.draft_id = G_DRAFT_ID_MINUS_1
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 and pogt.index_char2 = g_lock_header_entity
          ) base,
          (select pltd.po_line_id,
                  pltd.draft_id,
                  po_uda_tl_mod_p_lock_attrs(
                    NVL(pltd.tl_ext_attr1 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr2 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr3 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr4 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr5 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr6 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr7 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr8 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr9 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr10 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr11 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr12 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr13 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr14 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr15 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr16 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr17 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr18 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr19 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr20 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr21 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr22 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr23 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr24 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr25 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr26 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr27 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr28 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr29 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr30 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr31 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr32 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr33 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr34 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr35 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr36 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr37 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr38 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr39 ,G_NULL_CHAR),
                    NVL(pltd.tl_ext_attr40 ,G_NULL_CHAR)
              ) p_lock_attrs,
                  pltd.attr_group_id,
                  pltd.language
          FROM   po_lines_all_ext_tl pltd,
                 po_session_gt pogt
          WHERE  pltd.draft_id = p_draft_id
                 AND pltd.po_line_id = pogt.char1 -- po_header_id
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 and pogt.index_char2 = g_lock_header_entity
          ) draft
  where base.attr_group_id = draft.attr_group_id
    AND base.language = draft.language
    AND base.p_lock_attrs <> draft.p_lock_attrs;
Line: 7206

    PO_LOG.stmt(d_module,d_position ,'number of rows Inserted ',SQL%ROWCOUNT);
Line: 7213

  INSERT INTO po_session_gt(
    key,
    index_char1,  -- records identifier
    index_char2,  -- entity_name
    char1,        -- entity_pk1
    num1,         -- lock_by_draft_id
    char5         -- lock_type
  )
  SELECT po_session_gt_s.NEXTVAL,
         G_LOCKS_REQUIRED_ID,
         G_LOCK_LINE_ENTITY,
         polext_base.po_line_id,
         polext_draft.draft_id,
         'S'
  FROM   po_lines_all_ext_b polext_base,
         po_lines_all_ext_b polext_draft,
         po_session_gt pogt
  WHERE  EXISTS (SELECT 'Is Complex Pricig Attribute'
                 FROM   po_uda_ag_template_usages agtu,
                        po_lines_all pol
                 WHERE  polext_base.po_line_id = pol.po_line_id
                        AND pol.uda_template_id = agtu.template_id
                        AND polext_base.attr_group_id = agtu.attribute_group_id
                        AND agtu.attribute_category = 'PRICING')
         AND polext_draft.draft_id = p_draft_id
         AND polext_base.draft_id = -1
         AND polext_base.po_line_id = polext_draft.po_line_id
         AND polext_base.attr_group_id = polext_draft.attr_group_id
         -- ignore delta and old values records
         AND polext_base.data_level_id = polext_draft.data_level_id
         AND polext_base.po_line_id = pogt.char1 -- po_line_id
         AND pogt.index_char1 = G_CHANGED_ENTTIES_ID -- records identifier
         AND pogt.index_char2 = G_LOCK_LINE_ENTITY -- entity_name
         AND (NVL(polext_base.n_ext_attr1, G_NULL_NUM) <> NVL(polext_draft.n_ext_attr1, G_NULL_NUM)
              OR NVL(polext_base.n_ext_attr3, G_NULL_NUM) <> NVL(polext_draft.n_ext_attr3, G_NULL_NUM)
              OR NVL(polext_base.n_ext_attr4, G_NULL_NUM) <> NVL(polext_draft.n_ext_attr4, G_NULL_NUM)
              OR NVL(polext_base.n_ext_attr5, G_NULL_NUM) <> NVL(polext_draft.n_ext_attr5, G_NULL_NUM)
              OR NVL(polext_base.n_ext_attr7, G_NULL_NUM) <> NVL(polext_draft.n_ext_attr7, G_NULL_NUM)
              OR NVL(polext_base.n_ext_attr8, G_NULL_NUM) <> NVL(polext_draft.n_ext_attr8, G_NULL_NUM)
              OR NVL(polext_base.n_ext_attr10, G_NULL_NUM) <> NVL(polext_draft.n_ext_attr10, G_NULL_NUM)
              OR NVL(polext_base.n_ext_attr11, G_NULL_NUM) <> NVL(polext_draft.n_ext_attr11, G_NULL_NUM)
              OR NVL(polext_base.n_ext_attr20, G_NULL_NUM) <> NVL(polext_draft.n_ext_attr20, G_NULL_NUM)
              -- include n_ext_attr2 even if it is used as UNIT_PRICE
              -- if UNIT_PRICE is changed F lock will be taken in the next SQL
              OR NVL(polext_base.n_ext_attr2, G_NULL_NUM) <> NVL(polext_draft.n_ext_attr2, G_NULL_NUM)
             );
Line: 7263

    PO_LOG.stmt(d_module,d_position ,'number of rows Inserted ',SQL%ROWCOUNT);
Line: 7267

  INSERT INTO po_session_gt(
    key,
    index_char1,  -- records identifier
    index_char2,  -- entity_name
    char1,        -- entity_pk1
    num1,         -- lock_by_draft_id
    char5         -- lock_type
  )
  SELECT po_session_gt_s.NEXTVAL,
         G_LOCKS_REQUIRED_ID,
         G_LOCK_LINE_ENTITY,
         polext_base.po_line_id,
         polext_draft.draft_id,
         'F'
  FROM   po_lines_all_ext_b polext_base,
         po_lines_all_ext_b polext_draft,
         po_session_gt pogt
  WHERE  EXISTS (SELECT 'Is Complex Pricig Attribute'
                 FROM   po_uda_ag_template_usages agtu,
                        po_lines_all pol
                 WHERE  polext_base.po_line_id = pol.po_line_id
                        AND pol.uda_template_id = agtu.template_id
                        AND polext_base.attr_group_id = agtu.attribute_group_id
                        AND agtu.attribute_category = 'PRICING')
         AND polext_draft.draft_id = p_draft_id
         AND polext_base.draft_id = -1
         AND polext_base.po_line_id = polext_draft.po_line_id
         AND polext_base.attr_group_id = polext_draft.attr_group_id
         -- ignore delta and old values records
         AND polext_base.data_level_id = polext_draft.data_level_id
         AND polext_base.po_line_id = pogt.char1 -- po_line_id
         AND pogt.index_char1 = G_CHANGED_ENTTIES_ID -- records identifier
         AND pogt.index_char2 = G_LOCK_LINE_ENTITY -- entity_name
         AND (NVL(polext_base.c_ext_attr1, G_NULL_CHAR) <> NVL(polext_draft.c_ext_attr1, G_NULL_CHAR)
              -- compare n_ext_attr2 only if it is used as UNIT_PRICE
              OR NVL(polext_base.n_ext_attr2, G_NULL_NUM) <> NVL(polext_draft.n_ext_attr2, G_NULL_NUM)
                 AND EXISTS (SELECT 'n_ext_attr2 used as UNIT_PRICE'
                             FROM   ego_attrs_v attrs,
                                    ego_obj_attr_grp_assocs_v att_assoc,
                                    po_uda_ag_template_usages agtu,
                                    po_lines_all pol
                             WHERE  attrs.attr_group_type = att_assoc.attr_group_type
                                    AND attrs.attr_group_name = att_assoc.attr_group_name
                                    --AND attrs.attr_group_type = 'PO_LINE_EXT_ATTRS'
                                    --AND attrs.attr_group_name LIKE 'AMT%'
                                    AND attrs.attr_name = 'UNIT_PRICE'
                                    AND polext_base.attr_group_id = att_assoc.attr_group_id
                                    AND polext_base.po_line_id = pol.po_line_id
                                    AND pol.uda_template_id = agtu.template_id
                                    AND polext_base.attr_group_id = agtu.attribute_group_id
                                    AND agtu.attribute_category = 'PRICING')
             );
Line: 7323

    PO_LOG.stmt(d_module,d_position ,'number of rows Inserted ',SQL%ROWCOUNT);
Line: 7376

  INSERT INTO po_session_gt(
    key,
    index_char1,  -- records identifier
    index_char2,  -- entity_name
    char1,        -- entity_pk1
    num1,         -- lock_by_draft_id
    char5         -- lock_type
  )
  SELECT po_session_gt_s.NEXTVAL,
         G_LOCKS_REQUIRED_ID,
         G_LOCK_SHIPMENT_ENTITY,
         draft.line_location_id,
         draft.draft_id,
         CASE
           WHEN base.p_lock_attrs <> draft.p_lock_attrs THEN 'P'
           ELSE NULL
         END lock_type
  FROM   (SELECT pllb.line_location_id,
                 pllb.draft_id,
                po_uda_mod_p_lock_attrs(
                   NVL(pllb.c_ext_attr1 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr2 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr3 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr4 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr5 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr6 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr7 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr8 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr9 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr10 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr11 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr12 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr13 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr14 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr15 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr16 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr17 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr18 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr19 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr20 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr21 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr22 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr23 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr24 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr25 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr26 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr27 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr28 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr29 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr30 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr31 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr32 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr33 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr34 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr35 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr36 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr37 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr38 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr39 ,G_NULL_CHAR),
                   NVL(pllb.c_ext_attr40 ,G_NULL_CHAR),
                   NVL(pllb.n_ext_attr1 ,G_NULL_NUM),
                   NVL(pllb.n_ext_attr2 ,G_NULL_NUM),
                   NVL(pllb.n_ext_attr3 ,G_NULL_NUM),
                   NVL(pllb.n_ext_attr4 ,G_NULL_NUM),
                   NVL(pllb.n_ext_attr5 ,G_NULL_NUM),
                   NVL(pllb.n_ext_attr6 ,G_NULL_NUM),
                   NVL(pllb.n_ext_attr7 ,G_NULL_NUM),
                   NVL(pllb.n_ext_attr8 ,G_NULL_NUM),
                   NVL(pllb.n_ext_attr9 ,G_NULL_NUM),
                   NVL(pllb.n_ext_attr10 ,G_NULL_NUM),
                   NVL(pllb.n_ext_attr11 ,G_NULL_NUM),
                   NVL(pllb.n_ext_attr12 ,G_NULL_NUM),
                   NVL(pllb.n_ext_attr13 ,G_NULL_NUM),
                   NVL(pllb.n_ext_attr14 ,G_NULL_NUM),
                   NVL(pllb.n_ext_attr15 ,G_NULL_NUM),
                   NVL(pllb.n_ext_attr16 ,G_NULL_NUM),
                   NVL(pllb.n_ext_attr17 ,G_NULL_NUM),
                   NVL(pllb.n_ext_attr18 ,G_NULL_NUM),
                   NVL(pllb.n_ext_attr19 ,G_NULL_NUM),
                   NVL(pllb.n_ext_attr20 ,G_NULL_NUM),
                   NVL(pllb.uom_ext_attr1 ,G_NULL_CHAR),
                   NVL(pllb.uom_ext_attr2 ,G_NULL_CHAR),
                   NVL(pllb.uom_ext_attr3 ,G_NULL_CHAR),
                   NVL(pllb.uom_ext_attr4 ,G_NULL_CHAR),
                   NVL(pllb.uom_ext_attr5 ,G_NULL_CHAR),
                   NVL(pllb.uom_ext_attr6 ,G_NULL_CHAR),
                   NVL(pllb.uom_ext_attr7 ,G_NULL_CHAR),
                   NVL(pllb.uom_ext_attr8 ,G_NULL_CHAR),
                   NVL(pllb.uom_ext_attr9 ,G_NULL_CHAR),
                   NVL(pllb.uom_ext_attr10 ,G_NULL_CHAR),
                   NVL(pllb.uom_ext_attr11 ,G_NULL_CHAR),
                   NVL(pllb.uom_ext_attr12 ,G_NULL_CHAR),
                   NVL(pllb.uom_ext_attr13 ,G_NULL_CHAR),
                   NVL(pllb.uom_ext_attr14 ,G_NULL_CHAR),
                   NVL(pllb.uom_ext_attr15 ,G_NULL_CHAR),
                   NVL(pllb.uom_ext_attr16 ,G_NULL_CHAR),
                   NVL(pllb.uom_ext_attr17 ,G_NULL_CHAR),
                   NVL(pllb.uom_ext_attr18 ,G_NULL_CHAR),
                   NVL(pllb.uom_ext_attr19 ,G_NULL_CHAR),
                   NVL(pllb.uom_ext_attr20 ,G_NULL_CHAR),
                   NVL(pllb.d_ext_attr1 ,G_NULL_DATE),
                   NVL(pllb.d_ext_attr2 ,G_NULL_DATE),
                   NVL(pllb.d_ext_attr3 ,G_NULL_DATE),
                   NVL(pllb.d_ext_attr4 ,G_NULL_DATE),
                   NVL(pllb.d_ext_attr5 ,G_NULL_DATE),
                   NVL(pllb.d_ext_attr6 ,G_NULL_DATE),
                   NVL(pllb.d_ext_attr7 ,G_NULL_DATE),
                   NVL(pllb.d_ext_attr8 ,G_NULL_DATE),
                   NVL(pllb.d_ext_attr9 ,G_NULL_DATE),
                   NVL(pllb.d_ext_attr10 ,G_NULL_DATE)
              ) p_lock_attrs,
                pllb.attr_group_id
          FROM   po_line_locations_all_ext_b pllb,
                 po_session_gt pogt
          WHERE  pllb.line_location_id = pogt.char1 -- po_header_id
                 AND pllb.draft_id = G_DRAFT_ID_MINUS_1
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 AND pogt.index_char2 = G_LOCK_SHIPMENT_ENTITY
          ) base,
          (SELECT pllbd.line_location_id,
                  pllbd.draft_id,
                  po_uda_mod_p_lock_attrs(
                     NVL(pllbd.c_ext_attr1 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr2 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr3 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr4 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr5 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr6 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr7 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr8 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr9 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr10 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr11 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr12 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr13 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr14 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr15 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr16 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr17 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr18 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr19 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr20 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr21 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr22 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr23 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr24 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr25 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr26 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr27 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr28 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr29 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr30 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr31 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr32 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr33 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr34 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr35 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr36 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr37 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr38 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr39 ,G_NULL_CHAR),
                     NVL(pllbd.c_ext_attr40 ,G_NULL_CHAR),
                     NVL(pllbd.n_ext_attr1 ,G_NULL_NUM),
                     NVL(pllbd.n_ext_attr2 ,G_NULL_NUM),
                     NVL(pllbd.n_ext_attr3 ,G_NULL_NUM),
                     NVL(pllbd.n_ext_attr4 ,G_NULL_NUM),
                     NVL(pllbd.n_ext_attr5 ,G_NULL_NUM),
                     NVL(pllbd.n_ext_attr6 ,G_NULL_NUM),
                     NVL(pllbd.n_ext_attr7 ,G_NULL_NUM),
                     NVL(pllbd.n_ext_attr8 ,G_NULL_NUM),
                     NVL(pllbd.n_ext_attr9 ,G_NULL_NUM),
                     NVL(pllbd.n_ext_attr10 ,G_NULL_NUM),
                     NVL(pllbd.n_ext_attr11 ,G_NULL_NUM),
                     NVL(pllbd.n_ext_attr12 ,G_NULL_NUM),
                     NVL(pllbd.n_ext_attr13 ,G_NULL_NUM),
                     NVL(pllbd.n_ext_attr14 ,G_NULL_NUM),
                     NVL(pllbd.n_ext_attr15 ,G_NULL_NUM),
                     NVL(pllbd.n_ext_attr16 ,G_NULL_NUM),
                     NVL(pllbd.n_ext_attr17 ,G_NULL_NUM),
                     NVL(pllbd.n_ext_attr18 ,G_NULL_NUM),
                     NVL(pllbd.n_ext_attr19 ,G_NULL_NUM),
                     NVL(pllbd.n_ext_attr20 ,G_NULL_NUM),
                     NVL(pllbd.uom_ext_attr1 ,G_NULL_CHAR),
                     NVL(pllbd.uom_ext_attr2 ,G_NULL_CHAR),
                     NVL(pllbd.uom_ext_attr3 ,G_NULL_CHAR),
                     NVL(pllbd.uom_ext_attr4 ,G_NULL_CHAR),
                     NVL(pllbd.uom_ext_attr5 ,G_NULL_CHAR),
                     NVL(pllbd.uom_ext_attr6 ,G_NULL_CHAR),
                     NVL(pllbd.uom_ext_attr7 ,G_NULL_CHAR),
                     NVL(pllbd.uom_ext_attr8 ,G_NULL_CHAR),
                     NVL(pllbd.uom_ext_attr9 ,G_NULL_CHAR),
                     NVL(pllbd.uom_ext_attr10 ,G_NULL_CHAR),
                     NVL(pllbd.uom_ext_attr11 ,G_NULL_CHAR),
                     NVL(pllbd.uom_ext_attr12 ,G_NULL_CHAR),
                     NVL(pllbd.uom_ext_attr13 ,G_NULL_CHAR),
                     NVL(pllbd.uom_ext_attr14 ,G_NULL_CHAR),
                     NVL(pllbd.uom_ext_attr15 ,G_NULL_CHAR),
                     NVL(pllbd.uom_ext_attr16 ,G_NULL_CHAR),
                     NVL(pllbd.uom_ext_attr17 ,G_NULL_CHAR),
                     NVL(pllbd.uom_ext_attr18 ,G_NULL_CHAR),
                     NVL(pllbd.uom_ext_attr19 ,G_NULL_CHAR),
                     NVL(pllbd.uom_ext_attr20 ,G_NULL_CHAR),
                     NVL(pllbd.d_ext_attr1 ,G_NULL_DATE),
                     NVL(pllbd.d_ext_attr2 ,G_NULL_DATE),
                     NVL(pllbd.d_ext_attr3 ,G_NULL_DATE),
                     NVL(pllbd.d_ext_attr4 ,G_NULL_DATE),
                     NVL(pllbd.d_ext_attr5 ,G_NULL_DATE),
                     NVL(pllbd.d_ext_attr6 ,G_NULL_DATE),
                     NVL(pllbd.d_ext_attr7 ,G_NULL_DATE),
                     NVL(pllbd.d_ext_attr8 ,G_NULL_DATE),
                     NVL(pllbd.d_ext_attr9 ,G_NULL_DATE),
                     NVL(pllbd.d_ext_attr10 ,G_NULL_DATE)
                  ) p_lock_attrs,
                  pllbd.attr_group_id
          FROM   po_line_locations_all_ext_b pllbd,
                 po_session_gt pogt
          WHERE  pllbd.draft_id = p_draft_id
                 AND pllbd.line_location_id = pogt.char1 -- line_location_id
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 AND pogt.index_char2 = G_LOCK_SHIPMENT_ENTITY
          ) draft
  WHERE base.attr_group_id = draft.attr_group_id
    AND base.p_lock_attrs <> draft.p_lock_attrs;
Line: 7603

    PO_LOG.stmt(d_module,d_position ,'number of rows Inserted ',SQL%ROWCOUNT);
Line: 7612

  INSERT INTO po_session_gt(
    key,
    index_char1,  -- records identifier
    index_char2,  -- entity_name
    char1,        -- entity_pk1
    num1,         -- lock_by_draft_id
    char5         -- lock_type
  )
  SELECT po_session_gt_s.NEXTVAL,
         G_LOCKS_REQUIRED_ID,
         G_LOCK_SHIPMENT_ENTITY,
         pllbd.line_location_id,
         p_draft_id,
         'P'
  FROM   po_line_locations_draft_all pllbd,
         po_session_gt pogt
  WHERE  pllbd.draft_id = p_draft_id
         AND pllbd.line_location_id = pogt.char1 -- line_location_id
         AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
         AND pogt.index_char2 = G_LOCK_SHIPMENT_ENTITY
         AND  EXISTS (SELECT draft.attr_group_id
                      FROM   po_line_locations_all_ext_b draft
                      WHERE  draft.line_location_id = pllbd.line_location_id
                             AND draft.draft_id = p_draft_id
                      MINUS
                      SELECT base.attr_group_id
                      FROM   po_line_locations_all_ext_b base
                      WHERE  base.line_location_id = pllbd.line_location_id
                             AND base.draft_id = -1
                     );
Line: 7645

    PO_LOG.stmt(d_module,d_position ,'number of rows Inserted ',SQL%ROWCOUNT);
Line: 7649

  INSERT INTO po_session_gt(
    key,
    index_char1,  -- records identifier
    index_char2,  -- entity_name
    char1,        -- entity_pk1
    num1,         -- lock_by_draft_id
    char5         -- lock_type
  )
  SELECT po_session_gt_s.NEXTVAL,
         G_LOCKS_REQUIRED_ID,
         G_LOCK_SHIPMENT_ENTITY,
         draft.line_location_id,
         draft.draft_id,
         CASE
           WHEN base.p_lock_attrs <> draft.p_lock_attrs THEN 'P'
           ELSE NULL
         END LOCK_TYPE
  FROM   (SELECT pllt.line_location_id,
                pllt.draft_id,
                po_uda_tl_mod_p_lock_attrs(
                  NVL(pllt.tl_ext_attr1 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr2 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr3 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr4 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr5 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr6 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr7 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr8 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr9 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr10 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr11 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr12 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr13 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr14 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr15 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr16 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr17 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr18 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr19 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr20 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr21 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr22 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr23 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr24 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr25 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr26 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr27 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr28 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr29 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr30 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr31 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr32 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr33 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr34 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr35 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr36 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr37 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr38 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr39 ,G_NULL_CHAR),
                  NVL(pllt.tl_ext_attr40 ,G_NULL_CHAR)
              ) p_lock_attrs,
                pllt.attr_group_id,
                pllt.language
          FROM   po_line_locations_all_ext_tl pllt,
                 po_session_gt pogt
          where  pllt.line_location_id = pogt.char1 -- line_location_id
                 AND pllt.draft_id = G_DRAFT_ID_MINUS_1
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 and pogt.index_char2 = G_LOCK_SHIPMENT_ENTITY
          ) BASE,
          (select plltd.line_location_id,
                  plltd.draft_id,
                  po_uda_tl_mod_p_lock_attrs(
                    NVL(plltd.tl_ext_attr1 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr2 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr3 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr4 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr5 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr6 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr7 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr8 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr9 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr10 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr11 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr12 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr13 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr14 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr15 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr16 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr17 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr18 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr19 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr20 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr21 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr22 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr23 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr24 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr25 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr26 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr27 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr28 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr29 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr30 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr31 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr32 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr33 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr34 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr35 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr36 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr37 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr38 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr39 ,G_NULL_CHAR),
                    NVL(plltd.tl_ext_attr40 ,G_NULL_CHAR)
              ) p_lock_attrs,
                  plltd.attr_group_id,
                  plltd.language
          FROM   po_line_locations_all_ext_tl plltd,
                 po_session_gt pogt
          WHERE  plltd.draft_id = p_draft_id
                 AND plltd.line_location_id = pogt.char1 -- po_header_id
                 AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                 and pogt.index_char2 = G_LOCK_SHIPMENT_ENTITY
          ) draft
  where base.attr_group_id = draft.attr_group_id
    AND base.language = draft.language
    AND base.p_lock_attrs <> draft.p_lock_attrs;
Line: 7779

    PO_LOG.stmt(d_module,d_position ,'number of rows Inserted ',SQL%ROWCOUNT);
Line: 7813

PROCEDURE create_update_locks(
                              p_draft_id        IN NUMBER,
                              p_return_status   IN OUT NOCOPY VARCHAR2,
                               x_results        OUT NOCOPY PO_VALIDATION_RESULTS_TYPE
                              )
IS
  d_api_name CONSTANT VARCHAR2(30) := 'create_update_locks';
Line: 7833

  DELETE
  FROM   po_entity_locks poel
  WHERE  poel.lock_by_draft_id = p_draft_id
         AND NOT EXISTS
           (SELECT 'Lock required'
            FROM   po_session_gt pogt
            WHERE  pogt.index_char1 = G_LOCKS_REQUIRED_ID
                   AND pogt.index_char2 = poel.entity_name
                   AND pogt.num1 = poel.lock_by_draft_id
                   AND pogt.char1 = poel.entity_pk1
                   AND NVL(pogt.char2, G_NULL_CHAR) = NVL(poel.entity_pk2, G_NULL_CHAR)
                   AND NVL(pogt.char3, G_NULL_CHAR) = NVL(poel.entity_pk3, G_NULL_CHAR)
                   AND NVL(pogt.char4, G_NULL_CHAR) = NVL(poel.entity_pk4, G_NULL_CHAR)
           )
         AND EXISTS
           (SELECT 'Entity changed in current transaction'
            FROM   po_session_gt pogt
            WHERE  pogt.index_char1 = G_CHANGED_ENTTIES_ID
                   AND pogt.index_char2 = poel.entity_name
                   AND pogt.char1 = poel.entity_pk1
                   AND NVL(pogt.char2, G_NULL_CHAR) = NVL(poel.entity_pk2, G_NULL_CHAR)
                   AND NVL(pogt.char3, G_NULL_CHAR) = NVL(poel.entity_pk3, G_NULL_CHAR)
                   AND NVL(pogt.char4, G_NULL_CHAR) = NVL(poel.entity_pk4, G_NULL_CHAR)
           );
Line: 7859

    PO_LOG.stmt(d_module, d_position, 'Number of Rows Deleted',SQL%ROWCOUNT);
Line: 7864

    SELECT pogt.index_char2 entity_name,
           pogt.char1       entity_pk1,
           pogt.char2       entity_pk2,
           pogt.char3       entity_pk3,
           pogt.char4       entity_pk4,
           pogt.num1        lock_by_draft_id,
           SUBSTR(MAX(CASE pogt.char5
                        WHEN 'F' THEN '5-F'
                        WHEN 'P' THEN '3-P'
                        WHEN 'S' THEN '1-S'
                        ELSE NULL
                      END),
                  3)        lock_type
    FROM   po_session_gt pogt
    WHERE  pogt.index_char1 = G_LOCKS_REQUIRED_ID
    GROUP  BY pogt.index_char2, -- entity_name
              pogt.char1,       -- entity_pk1
              pogt.char2,       -- entity_pk2
              pogt.char3,       -- entity_pk3
              pogt.char4,       -- entity_pk4
              pogt.num1         -- lock_by_draft_id
  ) lck_dat
  ON (lck_tbl.entity_name = lck_dat.entity_name
      AND lck_tbl.entity_pk1 = lck_dat.entity_pk1
      AND NVL(lck_tbl.entity_pk2, G_NULL_CHAR) = NVL(lck_dat.entity_pk2, G_NULL_CHAR)
      AND NVL(lck_tbl.entity_pk3, G_NULL_CHAR) = NVL(lck_dat.entity_pk3, G_NULL_CHAR)
      AND NVL(lck_tbl.entity_pk4, G_NULL_CHAR) = NVL(lck_dat.entity_pk4, G_NULL_CHAR)
      AND lck_tbl.lock_by_draft_id = lck_dat.lock_by_draft_id)
  WHEN MATCHED THEN
    UPDATE
    SET
      lck_tbl.lock_type = lck_dat.lock_type,
      lck_tbl.last_update_date = SYSDATE,
      lck_tbl.last_updated_by = fnd_global.user_id,
      lck_tbl.last_update_login = fnd_global.login_id
  WHEN NOT MATCHED THEN
    INSERT(
      lck_tbl.po_entity_lock_id,
      lck_tbl.entity_name,
      lck_tbl.entity_pk1,
      lck_tbl.entity_pk2,
      lck_tbl.entity_pk3,
      lck_tbl.entity_pk4,
      lck_tbl.lock_by_draft_id,
      lck_tbl.lock_type,
      lck_tbl.last_update_date,
      lck_tbl.last_updated_by,
      lck_tbl.last_update_login,
      lck_tbl.creation_date,
      lck_tbl.created_by)
    VALUES(
      po_entity_locks_s.NEXTVAL,
      lck_dat.entity_name,
      lck_dat.entity_pk1,
      lck_dat.entity_pk2,
      lck_dat.entity_pk3,
      lck_dat.entity_pk4,
      lck_dat.lock_by_draft_id,
      lck_dat.lock_type,
      SYSDATE,
      fnd_global.user_id,
      fnd_global.login_id,
      SYSDATE,
      fnd_global.user_id);
Line: 7951

END create_update_locks;
Line: 8010

  SELECT poh.po_header_id
  BULK COLLECT
  INTO   l_entity_id_tbl
  FROM   po_headers_all poh
  WHERE  EXISTS (SELECT 'lock exists'
                 FROM   po_entity_locks poel
                 WHERE  poel.entity_name = G_LOCK_HEADER_ENTITY
                        AND poel.lock_by_draft_id = p_draft_id
                        AND poel.entity_pk1 = poh.po_header_id)
  FOR UPDATE;
Line: 8029

  SELECT pol.po_line_id
  BULK COLLECT
  INTO   l_entity_id_tbl
  FROM   po_lines_all pol
  WHERE  EXISTS (SELECT 'lock exists'
                 FROM   po_entity_locks poel
                 WHERE  poel.entity_name = G_LOCK_LINE_ENTITY
                        AND poel.lock_by_draft_id = p_draft_id
                        AND poel.entity_pk1 = pol.po_line_id)
  FOR UPDATE;
Line: 8048

  SELECT poll.po_line_id
  BULK COLLECT
  INTO   l_entity_id_tbl
  FROM   po_line_locations_all poll
  WHERE  EXISTS (SELECT 'lock exists'
                 FROM   po_entity_locks poel
                 WHERE  poel.entity_name = G_LOCK_SHIPMENT_ENTITY
                        AND poel.lock_by_draft_id = p_draft_id
                        AND poel.entity_pk1 = poll.line_location_id)
  FOR UPDATE;
Line: 8065

  SELECT pod.po_line_id
  BULK COLLECT
  INTO   l_entity_id_tbl
  FROM   po_distributions_all pod
  WHERE  EXISTS (SELECT 'lock exists'
                 FROM   po_entity_locks poel
                 WHERE  poel.entity_name = G_LOCK_DIST_ENTITY
                        AND poel.lock_by_draft_id = p_draft_id
                        AND poel.entity_pk1 = pod.po_distribution_id)
  FOR UPDATE;
Line: 8086

  SELECT poel_curr.entity_name,
         poel_curr.entity_pk1,
         pod.modification_number
  BULK COLLECT
  INTO   l_err_entity_tbl,
         l_err_pk1_tbl,
         l_lock_by_mod_num_tbl
  FROM   po_entity_locks poel_curr,
         po_entity_locks poel_oth,
         TABLE(g_entity_lock_comp_tbl) comp,
         po_drafts pod
  WHERE  poel_curr.lock_by_draft_id = p_draft_id
         AND poel_oth.lock_by_draft_id <> p_draft_id
         AND poel_curr.entity_name = poel_oth.entity_name
         AND poel_curr.entity_pk1 = poel_oth.entity_pk1
         AND NVL(poel_curr.entity_pk2, -1) = NVL(poel_oth.entity_pk2, -1)
         AND NVL(poel_curr.entity_pk3, -1) = NVL(poel_oth.entity_pk3, -1)
         AND NVL(poel_curr.entity_pk4, -1) = NVL(poel_oth.entity_pk4, -1)
         AND comp.lock_type1 = poel_curr.lock_type
         AND comp.lock_type2 = poel_oth.lock_type
         AND comp.is_compatible = 'I'
         AND poel_oth.lock_by_draft_id = pod.draft_id;
Line: 8209

   cursor get_to_be_deleted_attachments(p_header_id NUMBER,p_draft_id NUMBER, p_entity_name VARCHAR2) is
   select 	fad.attached_document_id , fd.datatype_id
   from 	fnd_attached_documents fad, fnd_documents fd
   where 	fad.entity_name = p_entity_name
   and fad.pk1_value = to_char(p_header_id) || '-' || to_char(p_draft_id)
   AND fd.document_id = fad.document_id
   AND fad.category_id <> (SELECT category_id
                           FROM  fnd_document_categories
                           WHERE application_id = 201 AND name = 'CUSTOM5340'
                          );
Line: 8228

  select  type_lookup_code, style_id
  into  l_document_type_code, l_document_style_id
  from  po_headers_all
  where po_header_id = p_po_header_id;
Line: 8257

  DELETE
  FROM po_entity_locks pel
  WHERE pel.entity_pk1     = p_po_header_id
  AND pel.lock_by_draft_id = p_draft_id
  AND pel.entity_name IN (PO_DRAFTS_PVT.G_LOCK_ADDRESS_ENTITY, PO_DRAFTS_PVT.G_LOCK_HEADER_ENTITY,G_LOCK_HEADER_ATTACH_ENTITY);
Line: 8264

    PO_LOG.stmt(d_module,d_position ,'Deleted po_entity_locks');
Line: 8265

    PO_LOG.stmt(d_module,d_position ,'number of rows deleted ',SQL%ROWCOUNT);
Line: 8271

   FOR l_rec in get_to_be_deleted_attachments(p_po_header_id,p_draft_id,'PO_HEADERS')
   LOOP
         fnd_attached_documents3_pkg.delete_row
          (  X_attached_document_id => l_rec.attached_document_id,
             X_datatype_id => l_rec.datatype_id,
             delete_document_flag => 'Y'
          );
Line: 8280

   FOR l_rec in get_to_be_deleted_attachments(p_po_header_id,p_draft_id,'PO_HEADERS_DEL')
   LOOP
         fnd_attached_documents3_pkg.delete_row
          (  X_attached_document_id => l_rec.attached_document_id,
             X_datatype_id => l_rec.datatype_id,
             delete_document_flag => 'Y'
          );
Line: 8290

   PO_MOD_CONTROL_PVT.update_header_dummy_req(p_draft_id);
Line: 8344

    PO_REQ_LINES_SV.update_req_for_linked_po_count (po_dest_line_ids_tbl,
                                                    'DISTRIBUTION MOD');
Line: 8346

    PO_REQ_LINES_SV.update_reqs_in_pool_flag;
Line: 8352

    DELETE
    FROM po_distributions_draft_all
    WHERE po_distribution_id = po_dest_line_ids_tbl(itr)
    AND draft_id             = p_po_draft_id;
Line: 8358

    DELETE
    FROM po_entity_locks pel
    WHERE pel.entity_pk1     = po_dest_line_ids_tbl(itr)
    AND pel.lock_by_draft_id = p_po_draft_id
    AND pel.entity_name      = PO_DRAFTS_PVT.G_LOCK_DIST_ENTITY;
Line: 8365

    PO_LOG.stmt(d_module,d_position ,'Deleted po_entity_locks');
Line: 8366

    PO_LOG.stmt(d_module,d_position ,'number of rows deleted ',SQL%ROWCOUNT);
Line: 8392

   cursor get_to_be_deleted_attachments(p_line_location_id NUMBER,p_draft_id NUMBER, p_entity_name VARCHAR2) is
   select 	fad.attached_document_id , fd.datatype_id
   from 	fnd_attached_documents fad, fnd_documents fd
   where 	fad.entity_name = p_entity_name
   and fad.pk1_value = to_char(p_line_location_id) || '-' || to_char(p_draft_id)
   AND fd.document_id = fad.document_id
   AND fad.category_id <> (SELECT category_id
                        FROM  fnd_document_categories
                        WHERE application_id = 201 AND name = 'CUSTOM5340'
                       );
Line: 8412

  SELECT po_distribution_id
  BULK COLLECT INTO po_distribution_id_tbl
  FROM po_distributions_all pda
  WHERE pda.line_location_id IN (SELECT * FROM TABLE(po_ship_ids_tbl));
Line: 8418

    DELETE
    FROM po_line_locations_draft_all
    WHERE line_location_id = po_ship_ids_tbl(itr)
    AND draft_id             = p_po_draft_id;
Line: 8424

    DELETE
    FROM po_entity_locks pel
    WHERE pel.entity_pk1     = po_ship_ids_tbl(itr)
    AND pel.lock_by_draft_id = p_po_draft_id
    AND pel.entity_name     IN (PO_DRAFTS_PVT.G_LOCK_SHIPMENT_ENTITY,PO_DRAFTS_PVT.G_LOCK_SHIPMENT_ATTACH_ENTITY);
Line: 8431

      PO_LOG.stmt(d_module,d_position ,'Deleted po_entity_locks');
Line: 8432

      PO_LOG.stmt(d_module,d_position ,'number of rows deleted ',SQL%ROWCOUNT);
Line: 8436

    DELETE
    FROM po_line_locations_all_ext_b
    WHERE line_location_id = po_ship_ids_tbl(itr) AND draft_id =  p_po_draft_id;
Line: 8441

    DELETE
    FROM po_line_locations_all_ext_tl
    WHERE line_location_id = po_ship_ids_tbl(itr) AND draft_id =  p_po_draft_id;
Line: 8448

      FOR l_rec in get_to_be_deleted_attachments(po_ship_ids_tbl(itr),p_po_draft_id,'PO_SHIPMENTS') LOOP
         fnd_attached_documents3_pkg.delete_row
          (  X_attached_document_id => l_rec.attached_document_id,
             X_datatype_id => l_rec.datatype_id,
             delete_document_flag => 'Y'
          );
Line: 8456

      FOR l_rec in get_to_be_deleted_attachments(po_ship_ids_tbl(itr),p_po_draft_id,'PO_SHIPMENTS_DEL') LOOP
         fnd_attached_documents3_pkg.delete_row
          (  X_attached_document_id => l_rec.attached_document_id,
             X_datatype_id => l_rec.datatype_id,
             delete_document_flag => 'Y'
          );
Line: 8494

   cursor get_to_be_deleted_attachments(p_line_id NUMBER,p_draft_id NUMBER,p_entity_name VARCHAR2) is
   select 	fad.attached_document_id , fd.datatype_id
   from 	fnd_attached_documents fad, fnd_documents fd
   where 	fad.entity_name = p_entity_name
   and fad.pk1_value = to_char(p_line_id) || '-' || to_char(p_draft_id)
   AND fd.document_id = fad.document_id
   AND fad.category_id <> (SELECT category_id
                           FROM  fnd_document_categories
                           WHERE application_id = 201 AND name = 'CUSTOM5340'
                          );
Line: 8513

  SELECT line_location_id
  BULK COLLECT INTO po_line_location_id_tbl
  FROM po_line_locations_all poll
  WHERE poll.po_line_id IN (SELECT * FROM TABLE(po_line_ids_tbl));
Line: 8520

    delete_line_ucas(p_po_draft_id => p_po_draft_id,
                     po_line_ids_tbl => po_line_ids_tbl);
Line: 8525

    PO_REQ_LINES_SV.update_req_for_linked_po_count (po_line_ids_tbl,
                                                    'LINE');
Line: 8527

    PO_REQ_LINES_SV.update_reqs_in_pool_flag;
Line: 8533

    DELETE
    FROM po_lines_draft_all
    WHERE po_line_id = po_line_ids_tbl(i)
    AND draft_id  = p_po_draft_id;
Line: 8539

    DELETE
    FROM po_entity_locks pel
    WHERE pel.entity_pk1     = po_line_ids_tbl(i)
    AND pel.lock_by_draft_id = p_po_draft_id
    AND pel.entity_name    IN (PO_DRAFTS_PVT.G_LOCK_LINE_ENTITY,PO_DRAFTS_PVT.G_LOCK_LINE_ATTACH_ENTITY);
Line: 8546

      PO_LOG.stmt(d_module,d_position ,'Deleted po_entity_locks');
Line: 8547

      PO_LOG.stmt(d_module,d_position ,'number of rows deleted ',SQL%ROWCOUNT);
Line: 8551

    DELETE
    FROM po_lines_all_ext_b
    WHERE (po_line_id = po_line_ids_tbl(i) -- main record for Mod
           AND draft_id = p_po_draft_id)
          OR -- old record for Mod complex pricing attribute
          (po_line_id = po_line_ids_tbl(i)
           AND draft_id = -1
           AND pk1_value = p_po_draft_id)
          OR -- delta record for Mod complex pricing attribute
          (po_line_id = -po_line_ids_tbl(i)
           AND draft_id = -p_po_draft_id
           AND pk1_value = -p_po_draft_id);
Line: 8565

    DELETE
    FROM po_lines_all_ext_tl
    WHERE (po_line_id = po_line_ids_tbl(i) -- main record for Mod
           AND draft_id = p_po_draft_id)
          OR -- old record for Mod complex pricing attribute
          (po_line_id = po_line_ids_tbl(i)
           AND draft_id = -1
           AND pk1_value = p_po_draft_id)
          OR -- delta record for Mod complex pricing attribute
          (po_line_id = -po_line_ids_tbl(i)
           AND draft_id = -p_po_draft_id
           AND pk1_value = -p_po_draft_id);
Line: 8585

      FOR l_rec in get_to_be_deleted_attachments(po_line_ids_tbl(itr),p_po_draft_id,'PO_LINES') LOOP
         fnd_attached_documents3_pkg.delete_row
          (  X_attached_document_id => l_rec.attached_document_id,
             X_datatype_id => l_rec.datatype_id,
             delete_document_flag => 'Y'
          );
Line: 8593

       FOR l_rec in get_to_be_deleted_attachments(po_line_ids_tbl(itr),p_po_draft_id,'PO_LINES_DEL') LOOP
         fnd_attached_documents3_pkg.delete_row
          (  X_attached_document_id => l_rec.attached_document_id,
             X_datatype_id => l_rec.datatype_id,
             delete_document_flag => 'Y'
          );
Line: 8613

   Deletes draft data and uda data for line entity which is deleted
   from UI. i.e. delete_flag is 'Y'.
*/
PROCEDURE delete_marked_lines(
          p_draft_id  IN  NUMBER)
IS
  l_line_id_tbl               PO_TBL_NUMBER;
Line: 8620

  d_api_name CONSTANT VARCHAR2(30) := 'delete_marked_lines';
Line: 8636

  SELECT  po_line_id
  BULK COLLECT
  INTO  l_line_id_tbl
  FROM  po_lines_draft_all
  WHERE delete_flag = 'Y'
  AND draft_id = p_draft_id
  AND NVL(change_accepted_flag, 'Y') = 'Y';
Line: 8648

  pon_clm_clo_util_pkg.SEND_LINE_DELETED_NOTIF( p_caller=>'PO_MOD'
                                                   ,p_document_id => p_draft_id
                                                   ,p_document_line_id => null
                                                   ,x_return_status=>l_return_status
                                                   ,x_msg_count=>l_msg_count
                                                   ,x_msg_data =>l_msg_data);
Line: 8661

      PO_LOG.stmt(d_module, d_position, 'Deleted Lines Found');
Line: 8665

    PO_REQ_LINES_SV.update_req_for_linked_po_count (l_line_id_tbl, 'LINE');
Line: 8671

  delete_line_ucas(p_po_draft_id => p_draft_id,
                  po_line_ids_tbl => l_line_id_tbl);
Line: 8677

    DELETE FROM po_lines_draft_all
    WHERE po_line_id = l_line_id_tbl(i)
    AND draft_id = p_draft_id;
Line: 8682

    DELETE FROM po_lines_all_ext_b
    WHERE po_line_id = l_line_id_tbl(i)
    AND draft_id = p_draft_id;
Line: 8687

    DELETE FROM po_lines_all_ext_tl
    WHERE po_line_id = l_line_id_tbl(i)
    AND draft_id = p_draft_id;
Line: 8693

  FND_ATTACHED_DOCUMENTS2_PKG.delete_attachments
                                        ( 'PO_LINES',
                                        l_line_id_tbl(i)||'-'||p_draft_id,
                                        '', '', '', '', '');
Line: 8697

  FND_ATTACHED_DOCUMENTS2_PKG.delete_attachments
                                        ( 'PO_LINES_DEL',
                                        l_line_id_tbl(i)||'-'||p_draft_id,
                                        '', '', '', '', '');
Line: 8704

    PO_LOG.proc_end(d_module, 'Deleted line id(s): ', l_line_id_tbl);
Line: 8707

END delete_marked_lines;
Line: 8711

   Deletes draft data and uda data for shipment entity which is deleted
   from UI. i.e. delete_flag is 'Y'.
*/
PROCEDURE delete_marked_shipments(
          p_draft_id  IN  NUMBER)
IS
  l_line_loc_id_tbl           PO_TBL_NUMBER;
Line: 8721

  d_api_name CONSTANT VARCHAR2(30) := 'delete_marked_shipments';
Line: 8731

  SELECT  line_location_id
  BULK COLLECT
  INTO  l_line_loc_id_tbl
  FROM  po_line_locations_draft_all
  WHERE delete_flag = 'Y'
  AND draft_id = p_draft_id
  AND NVL(change_accepted_flag, 'Y') = 'Y';
Line: 8740

    DELETE FROM po_line_locations_draft_all
    WHERE line_location_id = l_line_loc_id_tbl(i)
    AND draft_id = p_draft_id;
Line: 8745

    DELETE FROM po_line_locations_all_ext_b
    WHERE line_location_id = l_line_loc_id_tbl(i)
    AND draft_id = p_draft_id;
Line: 8750

    DELETE FROM po_line_locations_all_ext_tl
    WHERE line_location_id = l_line_loc_id_tbl(i)
    AND draft_id = p_draft_id;
Line: 8756

  FND_ATTACHED_DOCUMENTS2_PKG.delete_attachments
                                        ( 'PO_SHIPMENTS',
                                        l_line_loc_id_tbl(i)||'-'||p_draft_id,
                                        '', '', '', '', '');
Line: 8760

  FND_ATTACHED_DOCUMENTS2_PKG.delete_attachments
                                        ( 'PO_SHIPMENTS_DEL',
                                        l_line_loc_id_tbl(i)||'-'||p_draft_id,
                                        '', '', '', '', '');
Line: 8768

    PO_LOG.proc_end(d_module, 'Deleted shipment id(s): ', l_line_loc_id_tbl);
Line: 8770

END delete_marked_shipments;
Line: 8774

   Deletes draft data for distribution entity which is deleted
   from UI. i.e. delete_flag is 'Y'.
*/
PROCEDURE delete_marked_distributions(
          p_draft_id  IN  NUMBER)
IS
  l_distribution_id_tbl       PO_TBL_NUMBER;
Line: 8781

  d_api_name CONSTANT VARCHAR2(30) := 'delete_marked_distributions';
Line: 8790

  SELECT po_distribution_id
  BULK COLLECT
  INTO  l_distribution_id_tbl
  FROM  po_distributions_draft_all
  WHERE delete_flag = 'Y'
  AND draft_id = p_draft_id
  AND NVL(change_accepted_flag, 'Y') = 'Y';
Line: 8805

    PO_REQ_LINES_SV.update_req_for_linked_po_count (l_distribution_id_tbl, 'DISTRIBUTION MOD');
Line: 8809

    DELETE FROM po_distributions_draft_all
    WHERE po_distribution_id = l_distribution_id_tbl(i)
    AND draft_id = p_draft_id;
Line: 8814

    PO_LOG.proc_end(d_module, 'Deleted distribution id(s): ', l_distribution_id_tbl);
Line: 8816

END delete_marked_distributions;
Line: 8835

PROCEDURE delete_marked_entities(
p_draft_id  IN  NUMBER
)
IS
BEGIN
  /**
    Calling delete_marked_lines, shipments and distributions procedures.
    These procedures remove entities marked for removal i.e. delete_flag
    is set to 'Y'. This is for entities in modification.
  */
  delete_marked_lines(p_draft_id);
Line: 8846

  delete_marked_shipments(p_draft_id);
Line: 8847

  delete_marked_distributions(p_draft_id);
Line: 8856

  PO_REQ_LINES_SV.update_reqs_in_pool_flag;
Line: 8858

END delete_marked_entities;
Line: 8898

DELETE FROM po_lines_all_ext_b ple
where ( Abs(ple.po_line_id), Abs(ple.draft_id) ) IN  (  SELECT po_line_id, Decode(draft_id,-1,1,draft_id)
                                                 FROM   po_lines_merge_v
                                                 WHERE  po_header_id = p_po_header_id
                                                 AND    draft_id     = p_draft_id
                                                      )
AND   EXISTS                                ( SELECT 1
                                              FROM   po_lines_merge_v plm , po_uda_ag_template_usages ptu
                                              WHERE  plm.po_line_id =  Abs(ple.po_line_id)
                                              AND    plm.draft_id   =  Decode(p_draft_id,
                                                                                      -1,-1,
                                                                                      Abs(ple.draft_id))
                                              AND    ptu.attribute_category = 'PRICING'
                                              AND    ptu.template_id = plm.uda_template_id
                                              AND (  NVL(ptu.attribute1, '*') <> NVL(plm.clm_idc_type, '*')
                                                     OR
                                                     Nvl(ptu.attribute2, '*') <> Nvl(plm.contract_type, '*')
                                                  )
                                              AND    ple.attr_group_id = ptu.attribute_group_id
                                            );
Line: 8920

    PO_LOG.stmt(d_module,d_position ,'Deleted extra prcing uda records from po_lines_all_ext_b');
Line: 8921

    PO_LOG.stmt(d_module,d_position ,'number of rows deleted ',SQL%ROWCOUNT);
Line: 8926

DELETE FROM po_lines_all_ext_tl ple
where ( Abs(ple.po_line_id), Abs(ple.draft_id) ) IN  (  SELECT po_line_id, Decode(draft_id,-1,1,draft_id)
                                                 FROM   po_lines_merge_v
                                                 WHERE  po_header_id = p_po_header_id
                                                 AND    draft_id     = p_draft_id
                                                      )

AND   EXISTS                               (  SELECT 1
                                              FROM   po_lines_merge_v plm , po_uda_ag_template_usages ptu
                                              WHERE  plm.po_line_id =  Abs(ple.po_line_id)
                                              AND    plm.draft_id   = Decode(p_draft_id,
                                                                                     -1,-1,
                                                                                     Abs(ple.draft_id))
                                              AND    ptu.attribute_category = 'PRICING'
                                              AND    ptu.template_id = plm.uda_template_id
                                              AND (  NVL(ptu.attribute1, '*') <> NVL(plm.clm_idc_type, '*')
                                                     OR
                                                     Nvl(ptu.attribute2, '*') <> Nvl(plm.contract_type, '*')
                                                  )
                                              AND    ple.attr_group_id = ptu.attribute_group_id
                                           );
Line: 8948

    PO_LOG.stmt(d_module,d_position ,'Deleted extra prcing uda records from po_lines_all_ext_tl');
Line: 8949

    PO_LOG.stmt(d_module,d_position ,'number of rows deleted ',SQL%ROWCOUNT);
Line: 8954

DELETE FROM po_headers_all_ext_b phe
where phe.po_header_id     = p_po_header_id
AND   Nvl(phe.draft_id,-1) = p_draft_id

AND   EXISTS                    (  SELECT 1
                                   FROM   po_headers_merge_v phm , po_uda_ag_template_usages ptu
                                   WHERE  phm.po_header_id =  phe.po_header_id
                                   AND    phm.draft_id = Nvl(phe.draft_id,-1)
                                   AND    ptu.attribute_category = 'FORMS'
                                   AND    ptu.template_id = phm.uda_template_id
                                   AND    Nvl(ptu.attribute1, '*') <> Nvl(phm.clm_standard_form, '*')
                                   AND    phe.attr_group_id = ptu.attribute_group_id
                                );
Line: 8968

    PO_LOG.stmt(d_module,d_position ,'Deleted extra forms uda records from po_headers_all_ext_b');
Line: 8969

    PO_LOG.stmt(d_module,d_position ,'number of rows deleted ',SQL%ROWCOUNT);
Line: 8974

DELETE FROM po_headers_all_ext_tl phe
where phe.po_header_id     = p_po_header_id
AND   Nvl(phe.draft_id,-1) = p_draft_id

AND   EXISTS                     (  SELECT 1
                                    FROM   po_headers_merge_v phm , po_uda_ag_template_usages ptu
                                    WHERE  phm.po_header_id =  phe.po_header_id
                                    AND    phm.draft_id = Nvl(phe.draft_id,-1)
                                    AND    ptu.attribute_category = 'FORMS'
                                    AND    ptu.template_id = phm.uda_template_id
                                    AND    Nvl(ptu.attribute1, '*') <> Nvl(phm.clm_standard_form, '*')
                                    AND    phe.attr_group_id = ptu.attribute_group_id
                                  );
Line: 8988

    PO_LOG.stmt(d_module,d_position ,'Deleted extra forms uda records from po_headers_all_ext_tl');
Line: 8989

    PO_LOG.stmt(d_module,d_position ,'number of rows deleted ',SQL%ROWCOUNT);
Line: 9023

SELECT Count(*) INTO  l_count
FROM FND_ATTACHED_DOCUMENTS
WHERE entity_name = p_entity_name
AND pk1_value = p_po_header_id||'-'|| p_po_draft_id
AND category_id <> (SELECT category_id
		    FROM fnd_document_categories_vl
                    WHERE application_id = 201 AND name = 'CUSTOM5340'
                    );
Line: 9086

    INSERT INTO po_entity_locks(
    po_entity_lock_id,
    entity_name,
    entity_pk1,
    entity_pk2,
    entity_pk3,
    entity_pk4,
    lock_by_draft_id,
    lock_type,
    last_update_date,
    last_updated_by,
    last_update_login,
    creation_date,
    created_by
    )
    VALUES(
     po_entity_locks_s.NEXTVAL,
    p_lock_entity_name,
    p_lock_entity_pk1,
    TO_CHAR(p_orig_attach_doc_id),
    p_lock_entity_pk3,
    p_lock_entity_pk4,
    p_lock_by_draft_id,
    p_lock_type ,
     SYSDATE,
    fnd_global.user_id,
    fnd_global.login_id,
    SYSDATE,
    fnd_global.user_id
    );
Line: 9118

      PO_LOG.proc_end(d_module, 'number of rows updated', SQL%ROWCOUNT);
Line: 9179

  SELECT DISTINCT
      clm_exhibit_name,
      pl.po_header_id,
      pl.draft_id
  BULK COLLECT INTO
      clm_exhibit_name_tbl,
      po_header_id_tbl,
      po_draft_id_tbl
  FROM
    po_lines_merge_v pl
    WHERE pl.clm_exhibit_name IS NOT NULL
    AND pl.po_header_id = p_po_header_id
    AND pl.draft_id = p_draft_id
    AND Nvl(pl.delete_flag,'N') <> 'Y'
    AND NOT EXISTS (SELECT 1 FROM po_exhibit_details_merge_v ex
                    WHERE ex.exhibit_name = pl.clm_exhibit_name
                    AND ex.po_header_id = pl.po_header_id
                    AND ex.draft_id = pl.draft_id
                    AND Nvl(ex.delete_flag,'N') <> 'Y');
Line: 9204

      PO_LOG.stmt(d_module,d_position ,'number of rows selected ',SQL%ROWCOUNT);
Line: 9209

  INSERT INTO po_exhibit_details_draft
  (
    po_exhibit_details_id,
    exhibit_name,
    exhibit_description,
    is_cdrl,
    po_header_id,
    draft_id,
    change_status,
    revision_num,
    LAST_UPDATE_DATE,
    LAST_UPDATED_BY,
    CREATION_DATE,
    CREATED_BY,
    LAST_UPDATE_LOGIN
    )
  (
  SELECT
    po_exhibit_details_s.nextval,
    clm_exhibit_name_tbl(idx),
    null, -- Description
    'N', -- IsCdrl (Cdrl is inserted by contracts team)
    po_header_id_tbl(idx),
    po_draft_id_tbl(idx),
    'NEW',--ChangeStatus
    Nvl(p_revision_num,0),
    SYSDATE,
    fnd_global.user_id,
    SYSDATE,
    fnd_global.user_id,
    fnd_global.login_id
  FROM
    dual
  ) ;
Line: 9248

      PO_LOG.stmt(d_module,d_position ,'number of rows selected ',SQL%ROWCOUNT);
Line: 9251

  SELECT DISTINCT
      po_exhibit_details_id,
      exhibit_name,
      po_header_id,
      draft_id
  BULK COLLECT INTO
      po_exhibit_details_id_tbl,
      clm_exhibit_name_tbl,
      po_header_id_tbl,
      po_draft_id_tbl
  FROM po_exhibit_details_merge_v ex
      WHERE ex.po_header_id = p_po_header_id
      AND ex.draft_id = p_draft_id
      AND ex.is_cdrl = 'N'
      AND Nvl(ex.delete_flag,'N') <> 'Y'
      AND NOT EXISTS (SELECT 1 FROM po_lines_draft_all PLD
                      WHERE PLD.draft_id = ex.draft_id
                      AND   ex.exhibit_name = PLD.clm_exhibit_name
                      AND   NVL(PLD.delete_flag, 'N') <> 'Y')
      AND NOT EXISTS (SELECT 1 FROM po_lines_all pl
                      WHERE pl.po_header_id = p_po_header_id
                      AND   ex.exhibit_name = pl.clm_exhibit_name
                      AND NOT EXISTS (SELECT 1 FROM po_lines_draft_all pd
                                      WHERE pl.po_line_id = pd.po_line_id
                                      AND NVL(pd.delete_flag, 'N') = 'Y')
                      );
Line: 9280

      PO_LOG.stmt(d_module,d_position ,'number of rows selected ',SQL%ROWCOUNT);
Line: 9285

  INSERT INTO po_exhibit_details_draft
  (
    po_exhibit_details_id,
    exhibit_name,
    exhibit_description,
    is_cdrl,
    po_header_id,
    draft_id,
    delete_flag,
    revision_num,
    LAST_UPDATE_DATE,
    LAST_UPDATED_BY,
    CREATION_DATE,
    CREATED_BY,
    LAST_UPDATE_LOGIN
    )
    (
    SELECT po_exhibit_details_id_tbl(idx),
            clm_exhibit_name_tbl(idx),
            null,
            'N',--DummyValue
            po_header_id_tbl(idx),
            po_draft_id_tbl(idx),
            'Y',-- Delete Flag
	    Nvl(p_revision_num,0),
            SYSDATE,
            fnd_global.user_id,
            SYSDATE,
            fnd_global.user_id,
            fnd_global.login_id
      FROM dual
      WHERE NOT EXISTS (SELECT 1 FROM po_exhibit_details_draft exd
                        WHERE exd.po_exhibit_details_id = po_exhibit_details_id_tbl(idx)
                      )
     );
Line: 9324

      PO_LOG.stmt(d_module,d_position ,'number of rows inserted for deletion ',SQL%ROWCOUNT);
Line: 9327

  UPDATE po_exhibit_details_draft ex
  SET ex.delete_flag = 'Y'
  WHERE ex.po_exhibit_details_id IN (SELECT column_value FROM TABLE(po_exhibit_details_id_tbl));
Line: 9361

    SELECT 'Y'
    INTO   l_par_exist_flag
    FROM   dual
    WHERE  EXISTS (SELECT 'PAR Exists'
                   FROM   po_drafts pod,
                          po_headers_all poh
                   WHERE  pod.document_id = poh.po_header_id
                          AND poh.style_id = p_style_id
                          AND pod.draft_type= 'PAR');
Line: 9398

PROCEDURE delete_line_ucas(p_po_draft_id   IN NUMBER,
                           po_line_ids_tbl IN PO_TBL_NUMBER)
IS
  d_api_name CONSTANT VARCHAR2(30) := 'delete_line_ucas';
Line: 9416

      SELECT
      Nvl(po_core_s.Retrieveoptionvalue(org_id, po_core_s.g_undef_cont_act_col),
      'N'
      )
      INTO   l_isucaenabled
      FROM   po_lines_merge_v
      WHERE  po_line_id = po_line_ids_tbl(1)
      AND draft_id = p_po_draft_id;
Line: 9429

        DELETE FROM po_line_ucas
        WHERE  po_line_id = Po_line_ids_tbl(ucaindex)
               AND undef_draft_id = p_po_draft_id;
Line: 9434

        UPDATE po_line_ucas
        SET    def_draft_id = NULL,
               def_description = NULL,
               def_par_draft_id = NULL
        WHERE  po_line_id = Po_line_ids_tbl(ucaindex)
               AND ( def_draft_id = p_po_draft_id
                      OR def_par_draft_id = p_po_draft_id );
Line: 9452

END delete_line_ucas;
Line: 9496

  INSERT INTO po_session_gt(
          key,
          index_char1,  -- records identifier
          index_char2,  -- entity_name
          char1,        -- entity_pk1
          num1,         -- lock_by_draft_id
          char5         -- lock_type
        )
        SELECT po_session_gt_s.NEXTVAL,
              G_LOCKS_REQUIRED_ID,
              G_LOCK_EXHIBIT_ENTITY,
              draft.po_exhibit_details_id, -- po_exhibit_details_id
              draft.draft_id,
              CASE
                WHEN base.p_lock_attrs <> draft.p_lock_attrs THEN 'P'
                ELSE NULL
              END lock_type
        FROM   (SELECT pex.po_exhibit_details_id,
                      G_DRAFT_ID_MINUS_1 draft_id,
                      po_exhibit_mod_p_lock_attrs(
                        NVL(pex.exhibit_description ,G_NULL_CHAR),
                        NVL(pex.reference_line_id ,G_NULL_NUM)
                      ) p_lock_attrs
                FROM   po_exhibit_details pex,
                      po_session_gt pogt
                WHERE  pex.po_exhibit_details_id = pogt.char1 -- po_exhibit_details_id
                      AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                      AND pogt.index_char2 = G_LOCK_EXHIBIT_ENTITY
                ) base,
                (SELECT pexd.po_exhibit_details_id,
                        pexd.draft_id,
                        po_exhibit_mod_p_lock_attrs(
                          NVL(pexd.exhibit_description ,G_NULL_CHAR),
                          NVL(pexd.reference_line_id ,G_NULL_NUM)
                        ) p_lock_attrs
                FROM   po_exhibit_details_draft pexd,
                      po_session_gt pogt
                WHERE  pexd.draft_id = p_draft_id
                      AND pexd.po_exhibit_details_id = pogt.char1 -- po_exhibit_details_id
                      AND pogt.index_char1 = G_CHANGED_ENTTIES_ID
                      AND pogt.index_char2 = G_LOCK_EXHIBIT_ENTITY
                ) draft
        WHERE base.po_exhibit_details_id = draft.po_exhibit_details_id
          AND base.p_lock_attrs <> draft.p_lock_attrs;
Line: 9545

      PO_LOG.stmt(d_module, d_position, 'Number of Records Inserted',SQL%ROWCOUNT);