DBA Data[Home] [Help]

APPS.PO_DOCUMENT_CHECKS_PVT SQL Statements

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

Line: 397

  SELECT revision_num
         ,start_date
   ,end_date
   , nvl(draft_id, -1)  -- Mod Project
  FROM   po_headers_gt
  WHERE  po_header_id = p_document_id;
Line: 496

      INSERT INTO po_online_report_text_gt
        (online_report_id
        ,last_updated_by
        ,last_update_date
        ,created_by
        ,creation_date
        ,line_num
        ,shipment_num
        ,distribution_num
        ,sequence
        ,text_line
        ,message_name
        ,message_type
        )
      VALUES
        (p_online_report_id
        ,p_login_id
        ,sysdate
        ,p_user_id
        ,sysdate
        ,0 ,0 ,0
        ,p_sequence+1
        ,l_qa_result_tbl(l_row_index).problem_details
        ,l_qa_result_tbl(l_row_index).message_name
        ,l_qa_result_tbl(l_row_index).error_severity
        );
Line: 577

  SELECT revision_num
         ,start_date
   ,end_date
   , nvl(draft_id, -1)  -- Mod Project
  FROM   po_headers_gt
  WHERE  po_header_id = p_document_id;
Line: 585

SELECT ENABLE_EPLS , Trunc(EPLS_TIMEFRAME)
FROM po_system_parameters_all
WHERE org_id = p_org_id;
Line: 593

SELECT meaning
FROM fnd_lookups
WHERE lookup_type = 'PO_VENDOR_CHECK_STATUS'
AND   lookup_code = cp_lookup_code
AND (SYSDATE BETWEEN start_date_active AND Nvl(end_date_active,SYSDATE+1));
Line: 603

SELECT (CASE
       WHEN eligibility_status = l_eligible AND Trunc((SYSDATE - received_Date)*24) <= l_epls_timeframe   THEN 'ELIGIBLE'
       WHEN approved_without_check = 'Y' THEN 'APPROVED'
       WHEN eligibility_status = l_ineligible AND Trunc((SYSDATE - received_Date)*24) <= l_epls_timeframe   THEN 'INELIGIBLE'
       ELSE  'NOTRUN' END)
FROM po_vendor_eligibility
WHERE doc_id = l_document_id
AND   Nvl(draft_id,-1) = Nvl(l_draft_id,-1)
AND   doc_type = l_doc_type;
Line: 661

      INSERT INTO po_online_report_text_gt
        (online_report_id
        ,last_updated_by
        ,last_update_date
        ,created_by
        ,creation_date
        ,line_num
        ,shipment_num
        ,distribution_num
        ,sequence
        ,text_line
        ,message_name
        ,message_type
        )
      VALUES
        (p_online_report_id
        ,p_login_id
        ,sysdate
        ,p_user_id
        ,sysdate
        ,0 ,0 ,0
        ,p_sequence+1
        ,l_textline
        ,'PO_VENDOR_ELIGIBILITY_NOTRUN'
        ,'E'
        );
Line: 696

      INSERT INTO po_online_report_text_gt
        (online_report_id
        ,last_updated_by
        ,last_update_date
        ,created_by
        ,creation_date
        ,line_num
        ,shipment_num
        ,distribution_num
        ,sequence
        ,text_line
        ,message_name
        ,message_type
        )
      VALUES
        (p_online_report_id
        ,p_login_id
        ,sysdate
        ,p_user_id
        ,sysdate
        ,0 ,0 ,0
        ,p_sequence+1
        ,l_textline
        ,'PO_VENDOR_ELIGIBILITY_INVALID'
        ,'W'
        );
Line: 779

  SELECT revision_num
         ,start_date
   ,end_date
   , nvl(draft_id, -1)  -- Mod Project
  FROM   po_headers_gt
  WHERE  po_header_id = p_document_id;
Line: 788

SELECT ENABLE_WDOL
FROM po_system_parameters_all
WHERE org_id = p_org_id;
Line: 796

SELECT  'Y'
FROM fnd_attached_documents attach, fnd_documents_tl doc
WHERE pk1_value = l_attachment_pk1
AND   attach.document_id = doc.document_id
AND   doc.title =  'Wage Determination Statement'
AND   doc.description = 'WD Statement URL'
AND   doc.LANGUAGE = 'US'
AND   attach.category_id = 33;
Line: 808

SELECT 'Y'
FROM po_drafts
WHERE draft_id = l_draft_id
AND draft_type = 'MOD';
Line: 856

      INSERT INTO po_online_report_text_gt
        (online_report_id
        ,last_updated_by
        ,last_update_date
        ,created_by
        ,creation_date
        ,line_num
        ,shipment_num
        ,distribution_num
        ,sequence
        ,text_line
        ,message_name
        ,message_type
        )
      VALUES
        (p_online_report_id
        ,p_login_id
        ,sysdate
        ,p_user_id
        ,sysdate
        ,0 ,0 ,0
        ,p_sequence+1
        ,l_textline
        ,'PO_WDOL_NOTRUN'
        ,'W'
        );
Line: 935

  SELECT revision_num
         ,start_date
   ,end_date
   , nvl(draft_id, -1)  -- Mod Project
  FROM   po_headers_gt
  WHERE  po_header_id = p_document_id;
Line: 943

SELECT ENABLE_EDA
FROM po_system_parameters_all
WHERE org_id = p_org_id;
Line: 950

SELECT 'Y'
FROM po_electronic_data_access
WHERE doc_id = l_document_id
AND   doc_type = l_doc_type
AND   Nvl(draft_id,-1) = Nvl(l_draft_id,-1)
AND   history_record = 'N'
AND   approved_without_check = 'Y'
UNION
SELECT 'Y'
FROM po_electronic_data_access
WHERE doc_id = l_document_id
AND   doc_type = l_doc_type
AND   Nvl(draft_id,-1) = Nvl(l_draft_id,-1)
AND   history_record = 'Y'
AND   status = l_complete_lookup
AND   request_date = (SELECT Max(request_date) FROM po_electronic_data_access WHERE doc_id = l_document_id AND doc_type = l_doc_type AND   Nvl(draft_id,-1) = Nvl(l_draft_id,-1) AND history_record = 'Y');
Line: 970

SELECT meaning
FROM fnd_lookups
WHERE lookup_type = 'PO_EDA_COMPLETION_STATUS'
AND   lookup_code = cp_lookup_code
AND (SYSDATE BETWEEN start_date_active AND Nvl(end_date_active,SYSDATE+1));
Line: 979

SELECT 'Y'
FROM po_drafts
WHERE draft_id = l_draft_id
AND draft_type = 'MOD';
Line: 1025

      INSERT INTO po_online_report_text_gt
        (online_report_id
        ,last_updated_by
        ,last_update_date
        ,created_by
        ,creation_date
        ,line_num
        ,shipment_num
        ,distribution_num
        ,sequence
        ,text_line
        ,message_name
        ,message_type
        )
      VALUES
        (p_online_report_id
        ,p_login_id
        ,sysdate
        ,p_user_id
        ,sysdate
        ,0 ,0 ,0
        ,p_sequence+1
        ,l_textline
        ,'PO_VALIDATE_PDS_NOTRUN'
        ,'W'
        );
Line: 1119

* Modifies: Inserts error msgs in online_report_text table, uses global_temp
*           tables for processing
* Effects:  This procedure runs the document submission checks on passed in
*           document.
* Returns:
*  x_return_status:    FND_API.G_RET_STS_SUCCESS if API succeeds
*                      FND_API.G_RET_STS_ERROR if API fails
*                      FND_API.G_RET_STS_UNEXP_ERROR if unexpected error occurs
*  x_sub_check_status: FND_API.G_RET_STS_SUCCESS if document passes all
*                      submission checks, even if warnings are found
*                      FND_API.G_RET_STS_ERROR if document fails atleast one
*                      submission check
*  x_has_warnings:     FND_API.G_TRUE if submission check returns warnings
*                      FND_API.G_FALSE if no warnings are found
*  x_msg_data:         Contains error msg in case x_return_status returned
*                      FND_API.G_RET_STS_ERROR or FND_API.G_RET_STS_UNEXP_ERROR
*  x_online_report_id: This id can be used to get all submission check errors
*                      for given document from online_report_text table
*  x_doc_check_error_record: If x_sub_check_status returned G_RET_STS_ERROR
*                      then this object of tables will contain information about
*                      all submission check errors for given document including
*                      message_name and text_line.
*  NOTE: This package does no validation of INPUT parameters. That is taken
*        care of in Group package PO_DOCUMENT_CHECKS_GRP
*/
PROCEDURE po_submission_check(
   p_api_version                    IN             NUMBER
,  p_action_requested               IN             VARCHAR2
,  p_document_type                  IN             VARCHAR2
,  p_document_subtype               IN             VARCHAR2
--  Replaced p_document_id with doc_level, doc_level_id
,  p_document_level                 IN             VARCHAR2
,  p_document_level_id              IN             NUMBER
--  Renamed the type to PO_CHANGES_REC_TYPE:
,  p_requested_changes              IN             PO_CHANGES_REC_TYPE
,  p_check_asl                      IN             BOOLEAN  -- bug 2757450
,  p_draft_id                         IN             NUMBER := -1
,  p_req_chg_initiator              IN             VARCHAR2 -- bug 4957243
,  p_origin_doc_id                  IN             NUMBER := NULL --Bug#5462677
,  x_return_status                  OUT NOCOPY     VARCHAR2
,  x_sub_check_status               OUT NOCOPY     VARCHAR2
,  x_has_warnings                   OUT NOCOPY     VARCHAR2  -- bug3574165
,  x_msg_data                       OUT NOCOPY     VARCHAR2
,  x_online_report_id               OUT NOCOPY     NUMBER
,  x_doc_check_error_record         OUT NOCOPY     doc_check_Return_Type
)
IS

l_api_name              CONSTANT varchar2(30) := 'PO_SUBMISSION_CHECK';
Line: 1179

l_user_id    po_lines.last_updated_by%TYPE := -1;
Line: 1180

l_login_id   po_lines.last_update_login%TYPE := -1;
Line: 1303

          || l_progress,'update requested, calling updating global tables');
Line: 1307

        update_global_temp_tables(p_document_type,
                                p_document_subtype,
                                l_document_id,
                                p_requested_changes,
                                l_return_status);
Line: 1328

    SELECT PO_ONLINE_REPORT_TEXT_S.nextval
    INTO   l_online_report_id
    FROM   sys.dual;
Line: 1380

	  SELECT draft_type, draft_sub_type
	  INTO l_draft_type, l_draft_sub_type
          FROM po_drafts
          WHERE draft_id = p_draft_id;
Line: 1400

    SELECT  Nvl(Max(SEQUENCE), 0) + 1
    INTO    p_sequence
    FROM    po_online_report_text_gt
    WHERE   online_report_id = x_online_report_id;
Line: 1432

                SELECT      clm_contract_officer
                INTO        l_contracting_officer
                FROM        po_drafts
                WHERE       draft_id = p_draft_id;
Line: 1437

                SELECT      clm_contract_officer
                INTO        l_contracting_officer
                FROM        po_headers_all
                WHERE       po_header_id = l_document_id;
Line: 1491

        SELECT 'PURCHASING', PH.TYPE_LOOKUP_CODE, PH.STYLE_ID, nvl(PDSH.CLM_FLAG, 'N'), PH.ORG_ID
        INTO    l_functional_area_code, l_document_type_code, l_document_style_id, l_is_clm_doc, l_org_id
        FROM    po_headers_all PH, po_doc_style_headers PDSH
        WHERE   PH.PO_HEADER_ID = l_document_id
        AND     PH.style_id = PDSH.style_id;
Line: 1513

		select 'Y'
		into l_is_ord_off_idv
		from po_headers_all
		where po_header_id = l_document_id and clm_award_type in ('BPA_CALL', 'DELIVERY_ORD');
Line: 1539

            INSERT INTO po_online_report_text_gt
            (
               online_report_id,
               last_update_login,
               last_updated_by,
               last_update_date,
               created_by,
               creation_date,
               line_num,
               shipment_num,
               distribution_num,
               sequence,
               text_line,
               message_name,
               message_type
            )
            SELECT
               l_online_report_id,
               l_login_id,
               l_user_id,
               SYSDATE,
               l_user_id,
               SYSDATE,
               0,
               0,
               0,
               p_sequence +1,
               FND_MESSAGE.GET_STRING('PO', 'PO_PRINT_FORM_FORMAT_INVALID'),
               'PO_PRINT_FORM_FORMAT_INVALID',
               'E'
            FROM    po_drafts phmv
            WHERE   phmv.draft_id = p_draft_id
            AND     NOT EXISTS (
                    SELECT 1
                    FROM    po_print_form_formats ppff
                    WHERE   ppff.document_type = l_print_doc_type
                    AND     ppff.standard_form = phmv.clm_standard_form
                    AND     ppff.document_format = phmv.clm_document_format
                    AND     trunc(sysdate) <= trunc(nvl(ppff.inactive_date, sysdate +1))
                    )
            AND     Nvl(phmv.draft_type, '*') <> 'PAR'; --;
Line: 1582

            INSERT INTO po_online_report_text_gt
            (
               online_report_id,
               last_update_login,
               last_updated_by,
               last_update_date,
               created_by,
               creation_date,
               line_num,
               shipment_num,
               distribution_num,
               sequence,
               text_line,
               message_name,
               message_type
            )
            SELECT
               l_online_report_id,
               l_login_id,
               l_user_id,
               SYSDATE,
               l_user_id,
               SYSDATE,
               0,
               0,
               0,
               p_sequence +1,
               FND_MESSAGE.GET_STRING('PO', 'PO_PRINT_FORM_FORMAT_INVALID'),
               'PO_PRINT_FORM_FORMAT_INVALID',
               'E'
            FROM    po_headers_all phmv
            WHERE   phmv.po_header_id = l_document_id
            AND     NOT EXISTS (
                    SELECT 1
                    FROM    po_print_form_formats ppff
                    WHERE   ppff.document_type = l_print_doc_type
                    AND     ppff.standard_form = phmv.clm_standard_form
                    AND     ppff.document_format = phmv.clm_document_format
                    AND     trunc(sysdate) <= trunc(nvl(ppff.inactive_date, sysdate +1))
                    );
Line: 1659

           INSERT INTO po_online_report_text_gt
               (  online_report_id,
                  last_update_login,
                  last_updated_by,
                  last_update_date,
                  created_by,
                  creation_date,
                  shipment_num,
                  distribution_num,
                  sequence,
                  text_line,
                  message_name,
                  message_type,
                  line_num
               )
               SELECT
                  l_online_report_id,
                  l_login_id,
                  l_user_id,
                  SYSDATE,
                  l_user_id,
                  SYSDATE,
                  0,
                  0,
                  p_sequence+1,
                  FND_MESSAGE.GET_STRING('PO', 'PO_PRICING_MISMATCH'),
                  'PO_PRICING_MISMATCH',
                  'E',
                  pol.line_num
                  FROM po_lines_gt pol,
                       po_lines_all_ext_b ple,
                       po_uda_ag_template_usages ptu
                  WHERE ple.po_line_id = pol.po_line_id
                  AND   ple.draft_id = p_draft_id
                  AND   ple.attr_group_id = ptu.attribute_group_id
                  AND   ptu.attribute_category = 'PRICING'
                  AND   ptu.attribute2 = pol.contract_type
                  AND   ptu.attribute1 = pol.clm_idc_type
                  AND   ptu.template_id = ple.uda_template_id
                  AND   Nvl(ple.n_ext_attr20, 0) <>
                        Decode(pol.matching_basis, 'QUANTITY',
                              (Nvl(pol.quantity, 0) * Nvl(pol.unit_price, 0)),
                               'AMOUNT', Nvl(pol.amount, 0))
                  AND   pol.order_type_lookup_code <> 'QUANTITY'
                  AND   pol.clm_undef_flag <> 'Y' -- UCA Project
                  --Bug 13543817
                  AND   ple.pk1_value IS NULL;
Line: 1710

           INSERT INTO po_online_report_text_gt
               (  online_report_id,
                  last_update_login,
                  last_updated_by,
                  last_update_date,
                  created_by,
                  creation_date,
                  shipment_num,
                  distribution_num,
                  sequence,
                  text_line,
                  message_name,
                  message_type,
                  line_num
               )
               SELECT
                  l_online_report_id,
                  l_login_id,
                  l_user_id,
                  SYSDATE,
                  l_user_id,
                  SYSDATE,
                  0,
                  0,
                  p_sequence+1,
                  FND_MESSAGE.GET_STRING('PO', 'PO_PRICING_MISMATCH'),
                  'PO_PRICING_MISMATCH',
                  'E',
                  pol.line_num
                  FROM po_lines_gt pol
                  WHERE pol.order_type_lookup_code <> 'QUANTITY'
                  AND NOT EXISTS ( Select 1
                                   FROM  po_uda_ag_template_usages ptu,
                                         po_lines_all_ext_b ple
                                   WHERE ptu.attribute_category = 'PRICING'
                                   AND   ptu.attribute2 = pol.contract_type
                                   AND   ptu.attribute1 = pol.clm_idc_type
                                   AND   ptu.template_id = ple.uda_template_id
                                   AND   ple.po_line_id = pol.po_line_id
                                   AND   ple.draft_id = p_draft_id
                                   AND   ple.attr_group_id = ptu.attribute_group_id
                                 )
                  --Bug 13543817
                  AND ( EXISTS ( SELECT 1 FROM po_lines_draft_all
                                 WHERE draft_id = p_draft_id
                                 AND po_line_id = pol.po_line_id
                                )
                        OR nvl(p_draft_id,-1) = -1
                      );
Line: 1815

              SELECT PO_UDA_PUB.GET_SINGLE_ATTR_VALUE(p_template_id => pha.uda_template_id, pk1_value => pha.po_header_id,
                                                      pk2_value => -1, p_attr_grp_int_name => 'AWD_CTGR', p_attr_int_name => 'NO_COMP_RSN')
              INTO l_no_comp_reason
              FROM po_headers_all pha
              WHERE pha.po_header_id =  l_document_id;
Line: 1826

                  SELECT 'Y' INTO is_ja_notice_posted
                  FROM pon_fbo_posts
                  WHERE document_id =  l_document_id
                  AND FORM_CODE  =  'FED_JA'
                  AND fbo_post_status = 'SUCCESS'
                  AND ROWNUM =1;
Line: 1836

                    INSERT INTO po_online_report_text_gt
                    (
                       online_report_id,
                       last_update_login,
                       last_updated_by,
                       last_update_date,
                       created_by,
                       creation_date,
                       line_num,
                       shipment_num,
                       distribution_num,
                       sequence,
                       text_line,
                       message_name,
                       message_type
                    )
                    VALUES
                    (
                       l_online_report_id,
                       l_login_id,
                       l_user_id,
                       SYSDATE,
                       l_user_id,
                       SYSDATE,
                       0,
                       0,
                       0,
                       p_sequence+1,
                       FND_MESSAGE.GET_STRING('PO', 'PO_FBO_JA_NOT_POSTED'),
                       'PO_FBO_JA_NOT_POSTED',
                       'W'
                    );
Line: 1897

                    INSERT INTO po_online_report_text_gt
                    (
                       online_report_id,
                       last_update_login,
                       last_updated_by,
                       last_update_date,
                       created_by,
                       creation_date,
                       line_num,
                       shipment_num,
                       distribution_num,
                       sequence,
                       text_line,
                       message_name,
                       message_type
                    )
                    VALUES
                    (
                       l_online_report_id,
                       l_login_id,
                       l_user_id,
                       SYSDATE,
                       l_user_id,
                       SYSDATE,
                       0,
                       0,
                       0,
                       p_sequence,
                       FND_MSG_PUB.get (msg_counter, FND_API.g_false),
                       'UDA Attr Sub Check Failure',
                       'E'
                    );
Line: 1964

                SELECT REPORTING_METHOD, CAR_STATUS, APPROVED_WITHOUT_REPORTING
                INTO l_reporting_method, l_car_status, l_approved_without_reporting
                FROM PO_CLM_CARS
                WHERE PO_HEADER_ID = l_document_id
                AND PO_DRAFT_ID = p_draft_id;
Line: 1979

                    INSERT INTO po_online_report_text_gt
                    (
                       online_report_id,
                       last_update_login,
                       last_updated_by,
                       last_update_date,
                       created_by,
                       creation_date,
                       line_num,
                       shipment_num,
                       distribution_num,
                       sequence,
                       text_line,
                       message_name,
                       message_type
                    )
                    VALUES
                    (
                       l_online_report_id,
                       l_login_id,
                       l_user_id,
                       SYSDATE,
                       l_user_id,
                       SYSDATE,
                       0,
                       0,
                       0,
                       p_sequence,
                       FND_MESSAGE.GET_STRING('PO', 'PO_CLM_CAR_NOT_REPORTED'),
                       'PO_CLM_CAR_NOT_REPORTED',
                       'W'
                    );
Line: 2013

                    INSERT INTO po_online_report_text_gt
                    (
                       online_report_id,
                       last_update_login,
                       last_updated_by,
                       last_update_date,
                       created_by,
                       creation_date,
                       line_num,
                       shipment_num,
                       distribution_num,
                       sequence,
                       text_line,
                       message_name,
                       message_type
                    )
                    VALUES
                    (
                       l_online_report_id,
                       l_login_id,
                       l_user_id,
                       SYSDATE,
                       l_user_id,
                       SYSDATE,
                       0,
                       0,
                       0,
                       p_sequence,
                       FND_MESSAGE.GET_STRING('PO', 'PO_CLM_CAR_NOT_AUTHENTICATED'),
                       'PO_CLM_CAR_NOT_AUTHENTICATED',
                       'W'
                    );
Line: 2896

    SELECT conterms_exist_flag
    INTO   l_conterms_exist_flag
    FROM   po_headers_gt
    WHERE  po_header_id = l_document_id;
Line: 2998

         SELECT  po_header_id
         INTO    l_po_header_id
         FROM    PO_RELEASES_ALL
         WHERE   po_release_id = l_document_id;
Line: 3069

    SELECT count(text_line),
           COUNT(DECODE(message_type, 'W', 'W', NULL))
    INTO   l_num_messages,
           l_num_warnings
    FROM   po_online_report_text_gt
    WHERE  online_report_id = l_online_report_id;
Line: 3104

        INSERT INTO po_online_report_text(online_report_id,
            last_update_login,
            last_updated_by,
            last_update_date,
            created_by,
            creation_date,
            line_num,
            shipment_num,
            distribution_num,
            sequence,
            text_line,
                        message_type) --
            SELECT online_report_id,
            last_update_login,
            last_updated_by,
            last_update_date,
            created_by,
            creation_date,
            line_num,
            shipment_num,
            distribution_num,
            sequence,
            text_line,
                        message_type --
            FROM po_online_report_text_gt
            WHERE online_report_id = x_online_report_id;
Line: 3131

select count(*) into l_num_messages from po_online_report_text_gt where online_report_id = x_online_report_id;
Line: 3137

        SELECT  online_report_id, sequence, text_line,
            line_num, shipment_num, distribution_num, message_name, message_type
        BULK COLLECT INTO x_doc_check_error_record.online_report_id,
                          x_doc_check_error_record.sequence_num,
                          x_doc_check_error_record.text_line,
                          x_doc_check_error_record.line_num,
                          x_doc_check_error_record.shipment_num,
                          x_doc_check_error_record.distribution_num,
                          x_doc_check_error_record.message_name,
                          x_doc_check_error_record.message_type --
        FROM  po_online_report_text_gt
        WHERE online_report_id = x_online_report_id;
Line: 3160

        	FOR ship_rec in (select line_location_id from po_line_locations_gt)

        	LOOP
        		set_lcm_flag(ship_rec.line_location_id,'AFTER',l_return_status);
Line: 3236

    l_user_id                 PO_LINES.last_updated_by%TYPE := -1;
Line: 3237

    l_login_id                PO_LINES.last_update_login%TYPE := -1;
Line: 3287

    SELECT PO_ONLINE_REPORT_TEXT_S.nextval
    INTO   l_online_report_id
    FROM   sys.dual;
Line: 3326

    SELECT count(text_line)
    INTO   l_num_errors
    FROM   po_online_report_text_gt
    WHERE  online_report_id = l_online_report_id;
Line: 3348

        INSERT INTO po_online_report_text(
                    online_report_id,
            last_update_login,
            last_updated_by,
            last_update_date,
            created_by,
              creation_date,
            line_num,
            shipment_num,
            distribution_num,
            sequence,
            text_line)
             SELECT online_report_id,
            last_update_login,
            last_updated_by,
            last_update_date,
            created_by,
              creation_date,
            line_num,
            shipment_num,
            distribution_num,
            sequence,
            text_line
               FROM po_online_report_text_gt
              WHERE online_report_id = x_online_report_id;
Line: 3436

*       p_online_report_id: Id used to INSERT INTO online_report_text table
*       p_user_id:          User performing the action
*       p_login_id:         Last update login_id
*   IN OUT PARAMETERS
*       p_sequence:          Sequence number of last reported error
* Modifies: Updates the PO_REQUISITION_LINES table with RATE information.
*           Inserts error msgs in online_report_text_gt table, uses global_temp
*           tables for processing
* Effects:  This procedure runs the document submission checks for
*           REQUISITIONS
* Returns:
*  p_sequence: This parameter contains the current count of number of error
*              messages inserted
*/
PROCEDURE check_requisitions(p_document_id IN NUMBER,
                       p_online_report_id IN NUMBER,
                       p_user_id IN NUMBER,
                       p_login_id IN NUMBER,
                       p_sequence IN OUT NOCOPY NUMBER,
                       x_return_status OUT NOCOPY VARCHAR2) IS

l_textline  po_online_report_text.text_line%TYPE := NULL;
Line: 3504

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        0,
        0,
        0,
        p_sequence + ROWNUM,
        substr(l_textline,1,240),
            'PO_SUB_REQ_HEADER_NO_LINES'
     FROM   PO_REQ_HEADERS_GT PRH
     WHERE  PRH.requisition_header_id = p_document_id
     AND    NOT EXISTS (SELECT 'Lines Exist'
                        FROM   PO_REQ_LINES_GT PRL
                        WHERE  PRL.requisition_header_id = PRH.requisition_header_id
                        AND    nvl(PRL.cancel_flag,'N') = 'N');
Line: 3557

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        PRL.line_num,
        0,
        0,
        p_sequence + ROWNUM,
        substr(g_linemsg||g_delim||PRL.line_num||g_delim||l_textline,1,240),
            'PO_SUB_REQ_LINE_NO_DIST'
     FROM  PO_REQ_LINES_GT PRL
     WHERE PRL.requisition_header_id = p_document_id AND
           nvl(PRL.cancel_flag,'N') = 'N' AND
           nvl(PRL.closed_code,'OPEN') <> 'FINALLY CLOSED' AND
           nvl(PRL.modified_by_agent_flag,'N') = 'N' AND
           NOT EXISTS (SELECT 'Dist Exist'
                       FROM PO_REQ_DISTRIBUTIONS_GT PRD
                       WHERE PRD.requisition_line_id = PRL.requisition_line_id)
		   AND Nvl(l_clm_req,'N') = 'N';
Line: 3606

    SELECT
        PRL.line_num
    ,   PLT.order_type_lookup_code                            -- 
    ,   PRL.quantity
    ,   PRL.amount                                            -- 
    --Start Bug 13065293
    ,   round(sum(nvl(PRD.req_line_quantity, 0)),15)                   -- 
    --End Bug 13065293
    ,   sum(nvl(PRD.req_line_amount, 0))                      -- 
    BULK COLLECT INTO
        l_line_num
    ,   l_value_basis_tbl                                     -- 
    ,   l_line_qty_tbl                                        -- 
    ,   l_line_amt_tbl                                        -- 
    ,   l_dist_qty_tbl                                        -- 
    ,   l_dist_amt_tbl                                        -- 
    FROM
        PO_REQ_DISTRIBUTIONS_GT PRD
    ,   PO_REQ_LINES_GT         PRL
    ,   PO_LINE_TYPES_B         PLT                           -- 
    WHERE
        PRL.requisition_line_id = PRD.requisition_line_id
    AND PRL.requisition_header_id = p_document_id
    AND nvl(PRL.cancel_flag,'N') = 'N'
    AND nvl(PRL.closed_code,'OPEN') <> 'FINALLY CLOSED'
    AND nvl(PRL.modified_by_agent_flag,'N') = 'N'
    AND PRL.line_type_id = PLT.line_type_id                   -- 
    AND                                                       -- 
        (   (   ( PLT.order_type_lookup_code IN ('QUANTITY','AMOUNT')
               --Start Bug 13065293
               AND ( round(PRL.quantity,15) <> ( SELECT round(nvl(sum(PRD2.req_line_quantity),0),15)
               --End Bug 13065293
                                    FROM   PO_REQ_DISTRIBUTIONS_GT PRD2
                                    WHERE  PRD2.requisition_line_id = PRL.requisition_line_id ) ) )
        OR  (   ( PLT.order_type_lookup_code IN ('RATE','FIXED PRICE') )
            AND ( PRL.amount <>   ( SELECT nvl(sum(PRD2.req_line_amount),0)
                                    FROM   PO_REQ_DISTRIBUTIONS_GT PRD2
                                    WHERE  PRD2.requisition_line_id = PRL.requisition_line_id ) ) ) )
        )
    GROUP BY
        PRL.line_num
    ,   PLT.order_type_lookup_code                            -- 
    ,   PRL.quantity
    ,   PRL.amount;                                           -- 
Line: 3656

        INSERT INTO po_online_report_text_gt (online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
        VALUES(
            p_online_report_id,
            p_login_id,
            p_user_id,
            sysdate,
            p_user_id,
            sysdate,
            l_line_num(i),
            NULL,                                             -- 
            NULL,                                             -- 
            p_sequence+l_rowCount(i),
            decode ( l_value_basis_tbl(i)                     -- 
                   , 'RATE'        , PO_CORE_S.get_translated_text
                                     (   'PO_SUB_REQ_LINE_NE_DIST_AMT'
                                     ,   'LINE_NUM', l_line_num(i)
                                     ,   'LINE_AMT', l_line_amt_tbl(i)
                                     ,   'DIST_AMT', l_dist_amt_tbl(i)
                                     )
                   , 'FIXED PRICE' , PO_CORE_S.get_translated_text
                                     (   'PO_SUB_REQ_LINE_NE_DIST_AMT'
                                     ,   'LINE_NUM', l_line_num(i)
                                     ,   'LINE_AMT', l_line_amt_tbl(i)
                                     ,   'DIST_AMT', l_dist_amt_tbl(i)
                                     )
                                   , PO_CORE_S.get_translated_text
                                     (   'PO_SUB_REQ_LINE_NE_DIST_QTY'
                                     ,   'LINE_NUM', l_line_num(i)
                                     ,   'LINE_QTY', l_line_qty_tbl(i)
                                     ,   'DIST_QTY', l_dist_qty_tbl(i)
                                     )
                   ),
            decode ( l_value_basis_tbl(i)                     -- 
                   , 'RATE'        , 'PO_SUB_REQ_LINE_NE_DIST_AMT'
                   , 'FIXED PRICE' , 'PO_SUB_REQ_LINE_NE_DIST_AMT'
                                   , 'PO_SUB_REQ_LINE_NE_DIST_QTY'
                   )
          );
Line: 3722

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        PRL.line_num,
        0,
        0,
        p_sequence + ROWNUM,
        substr(g_linemsg||g_delim||PRL.line_num||g_delim||l_textline,1,240),
            'PO_SUB_REQ_SOURCE_ONE_DIST'
     FROM  PO_REQ_LINES_GT PRL
     WHERE PRL.requisition_header_id = p_document_id AND
           PRL.source_type_code = 'INVENTORY' AND
           nvl(PRL.cancel_flag,'N') = 'N' AND
           nvl(PRL.closed_code, 'OPEN') <> 'FINALLY CLOSED' AND
           1 < (SELECT count(PRD.requisition_line_id)
                FROM  PO_REQ_DISTRIBUTIONS_GT PRD
                WHERE PRD.requisition_line_id = PRL.requisition_line_id);
Line: 3770

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        PRL.line_num,
        0,
        0,
        p_sequence + ROWNUM,
        substr(g_linemsg||g_delim||PRL.line_num||g_delim||l_textline,1,240),
            'PO_SUB_REQ_RATE_NULL'
     FROM PO_REQ_LINES_GT PRL, FINANCIALS_SYSTEM_PARAMETERS FSP,
          GL_SETS_OF_BOOKS SOB
     WHERE PRL.requisition_header_id = p_document_id AND
           nvl(PRL.cancel_flag, 'N') = 'N' AND
           nvl(PRL.closed_code, 'OPEN') <> 'FINALLY CLOSED' AND
           SOB.set_of_books_id = FSP.set_of_books_id AND
           SOB.currency_code <> PRL.currency_code AND
           (PRL.rate is NULL OR
            PRL.rate_type is NULL OR
           (PRL.rate_type <> 'User' AND PRL.rate_date is NULL));
Line: 3858

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
                  sysdate,
        p_user_id,
        sysdate,
        PRL.line_num,
        0,
        0,
        p_sequence + ROWNUM,
        substr(g_linemsg||g_delim||PRL.line_num||g_delim||l_textline,1,240),
                   'PO_ATO_ITEM_NA'
     FROM PO_REQ_LINES_GT PRL, FINANCIALS_SYSTEM_PARAMETERS FSP,
          MTL_SYSTEM_ITEMS MSI
     WHERE PRL.requisition_header_id = p_document_id AND
           nvl(PRL.cancel_flag, 'N') = 'N' AND
           nvl(PRL.closed_code, 'OPEN') <> 'FINALLY CLOSED' AND
           PRL.item_id is not null AND
           PRL.item_id = MSI.inventory_item_id AND
           FSP.inventory_organization_id = MSI.organization_id AND
           MSI.bom_item_type in (1,2);
Line: 3938

           INSERT INTO po_online_report_text_gt
           (
            online_report_id,
            last_update_login,
            last_updated_by,
            last_update_date,
            created_by,
            creation_date,
            line_num,
            shipment_num,
            distribution_num,
            sequence,
            text_line,
            message_name,
            message_type
           )
           VALUES
           (
             p_online_report_id,
             p_login_id,
             p_user_id,
             sysdate,
             p_user_id,
             sysdate,
             po_tax_interface_pvt.G_TAX_ERRORS_TBL.line_num(i),
             po_tax_interface_pvt.G_TAX_ERRORS_TBL.shipment_num(i),
             po_tax_interface_pvt.G_TAX_ERRORS_TBL.distribution_num(i),
             p_sequence + i, /* 11851142 replaced with rownum */
             l_tax_message || po_tax_interface_pvt.G_TAX_ERRORS_TBL.message_text(i),
             'PO_TAX_CALCULATION_FAILED',
             'E'
           );
Line: 4032

*       p_online_report_id: Id used to INSERT INTO online_report_text table
*       p_user_id:          User performing the action
*       p_login_id:         Last update login_id
*   IN OUT PARAMETERS
*       p_sequence:          Sequence number of last reported error
* Modifies: Inserts error msgs in online_report_text_gt table, uses
*           global_temp tables for processing
* Effects:  This procedure runs the document submission checks for RELEASES
* Returns:
*  p_sequence: This parameter contains the current count of number of error
*              messages inserted
*/
PROCEDURE check_releases(p_document_id IN NUMBER,
                       p_online_report_id IN NUMBER,
                       p_user_id IN NUMBER,
                       p_login_id IN NUMBER,
                       p_sequence IN OUT NOCOPY NUMBER,
                       x_return_status OUT NOCOPY VARCHAR2) IS

l_textline  po_online_report_text.text_line%TYPE := NULL;
Line: 4116

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        0,0,0,
        p_sequence + ROWNUM,
        substr(l_textline,1,240),
            'PO_SUB_REL_PA_APPROVED'
    FROM   PO_RELEASES_GT POR,PO_HEADERS_GT POH
    WHERE  POR.po_header_id = POH.po_header_id
    AND    POR.po_release_id = p_document_id
    AND    NVL(POH.approved_flag, 'N') <> 'Y'
    AND    NVL(POH.user_hold_flag, 'N') <> 'Y';     --< Bug 3422733 >
Line: 4173

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        0,
        0,
        0,
        p_sequence + ROWNUM,
        substr(l_textline,1,240),
            'PO_SUB_REL_PA_EXPIRED'                    -- bug3199869
    FROM   PO_RELEASES_GT POR,PO_HEADERS_GT POH
    WHERE  POR.po_header_id = POH.po_header_id
    AND    POR.po_release_id = p_document_id
    AND    POR.approved_date IS NULL                   -- bug3199869
    AND    TRUNC(SYSDATE) >                            -- bug3199869
           TRUNC(NVL(POH.end_date + nvl(FND_PROFILE.VALUE('PO_REL_CREATE_TOLERANCE'),0), SYSDATE + 1));      -- bug3199869
Line: 4221

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        0,
        0,
        0,
        p_sequence + ROWNUM,
        substr(l_textline,1,240),
            'PO_SUB_REL_PA_ON_HOLD'
    FROM  PO_RELEASES_GT POR,PO_HEADERS_GT POH
    WHERE  POR.po_header_id = POH.po_header_id
    AND    POR.po_release_id = p_document_id
    AND    nvl(POH.user_hold_flag, 'N') = 'Y';
Line: 4267

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
    SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        0,
        0,
        0,
        p_sequence + ROWNUM,
        substr(l_textline,1,240),
            'PO_SUB_REL_VENDOR_ON_HOLD'
    FROM  PO_RELEASES_GT POR,PO_HEADERS_GT POH,PO_VENDORS POV,
          PO_SYSTEM_PARAMETERS PSP
    WHERE  POR.po_header_id  = POH.po_header_id
    AND    POV.vendor_id     = POH.vendor_id
    AND    POR.po_release_id = p_document_id
    AND    nvl(PSP.ENFORCE_VENDOR_HOLD_FLAG,'N') = 'Y'
    AND    nvl(POV.hold_flag,'N') = 'Y';
Line: 4316

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        0,
        0,
        0,
        p_sequence + ROWNUM,
        substr(l_textline,1,240),
            'PO_SUB_REL_NO_SHIP'
    FROM  PO_RELEASES_GT POR
    WHERE  POR.po_release_id = p_document_id
    AND    NOT EXISTS
       (SELECT 'Shipment Exist'
        FROM   PO_LINE_LOCATIONS_GT PLL
        WHERE  PLL.po_release_id = POR.po_release_id);
Line: 4365

    SELECT POLG.shipment_num,
           HLT.location_code
    BULK COLLECT INTO
           l_line_num,
           l_ship_to_location_tbl
    FROM  PO_LINE_LOCATIONS_GT POLG,
          HR_LOCATIONS_ALL HLA,
          HR_LOCATIONS_ALL_TL HLT
    WHERE POLG.po_release_id = p_document_id
    AND   POLG.ship_to_location_id=HLA.location_id
    AND   nvl(POLG.cancel_flag,'N') = 'N'
    AND   nvl(POLG.closed_code,'OPEN') <> 'FINALLY CLOSED'
    AND   NVL (TRUNC (HLA.INACTIVE_DATE), TRUNC (SYSDATE)+1 )<= TRUNC (SYSDATE)
    AND   HLA.location_id=HLT.location_id
    AND   HLT.language=USERENV('LANG');
Line: 4386

    INSERT INTO po_online_report_text_gt (
            online_report_id,
			last_update_login,
			last_updated_by,
			last_update_date,
			created_by,
			creation_date,
			line_num,
			shipment_num,
			distribution_num,
			sequence,
			text_line,
            message_name)
    VALUES(
            p_online_report_id,
            p_login_id,
            p_user_id,
            sysdate,
            p_user_id,
            sysdate,
            0,
            0,
            0,                                             -- 
            p_sequence+l_rowCount(i),
            substr(PO_CORE_S.get_translated_text
                        ( 'PO_SUB_REL_INVALID_SHIP_TO',
                          'LINE_NUM',
                          l_line_num(i),
                          'SHIP_TO_LOC',
                          l_ship_to_location_tbl(i)
                          ),1,240),
            'PO_SUB_REL_INVALID_SHIP_TO'
        );
Line: 4442

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        0,
        PLL.shipment_num,
        0,
        p_sequence + ROWNUM,
            decode ( POL.order_type_lookup_code                -- 
                   , 'FIXED PRICE' , PO_CORE_S.get_translated_text
                                   (   'PO_SUB_REL_PRICE_GT_LIMIT'
                                   ,   'SHIP_NUM'   , PLL.shipment_num
                                   ,   'SHIP_PRICE' , nvl( PLL.price_override,PLL.amount)
                                   ,   'LINE_PRICE' , nvl ( POL.not_to_exceed_price
                                                          , PLL.price_override )
                                   )
                   ,               PO_CORE_S.get_translated_text
                                   (   'PO_SUB_REL_AMT_GT_LIMIT'
                                   ,   'SHIP_NUM'   , PLL.shipment_num
                                   ,   'SHIP_AMT'   , PLL.amount
                                   ,   'LINE_AMT'   , nvl ( POL.not_to_exceed_price
                                                          , PLL.amount )
                                   )
                   ),
            decode ( POL.order_type_lookup_code                -- 
                   , 'FIXED PRICE' , 'PO_SUB_REL_SHIP_PRICE_GT_LIMIT'
                   ,                 'PO_SUB_REL_SHIP_AMT_GT_LIMIT'
                   )
    FROM PO_LINE_LOCATIONS_GT PLL,PO_LINES POL
    WHERE PLL.po_line_id = POL.po_line_id
    AND   PLL.po_release_id = p_document_id
    AND   nvl(PLL.cancel_flag,'N')= 'N'
    AND   nvl(PLL.closed_code,'OPEN') <> 'FINALLY CLOSED'
    AND   POL.allow_price_override_flag = 'Y'                 -- Bug 3177525
    AND   (                                                   -- 
              (   ( POL.order_type_lookup_code IN ('QUANTITY','AMOUNT','RATE'))-- 
              AND ( PLL.price_override > nvl ( POL.not_to_exceed_price
                                             , PLL.price_override ) )
              )
          OR
              (   ( POL.order_type_lookup_code IN ('FIXED PRICE') )               -- 
              AND ( PLL.amount > nvl ( POL.not_to_exceed_price, PLL.amount ) ) )
          )
    ;
Line: 4516

    SELECT
        0
    ,   PLL.shipment_num
    ,   0
    ,   PLL.quantity
    ,   PLL.amount                                            -- 
    ,   nvl(sum(POD.quantity_ordered),0)                      -- 
    ,   nvl(sum(POD.amount_ordered),0)                        -- 
    BULK COLLECT INTO
        l_line_num
    ,   l_shipment_num
    ,   l_dist_num
    ,   l_ship_qty_tbl                                        -- 
    ,   l_ship_amt_tbl                                        -- 
    ,   l_dist_qty_tbl                                        -- 
    ,   l_dist_amt_tbl                                        -- 
    FROM
        PO_DISTRIBUTIONS_GT POD                       -- 
    ,   PO_LINE_LOCATIONS_GT PLL
    WHERE
        PLL.line_location_id = POD.line_location_id
    AND PLL.po_release_id = p_document_id
    AND nvl(PLL.cancel_flag,'N') = 'N'
    AND nvl(PLL.closed_code,'OPEN') <> 'FINALLY CLOSED'
    AND (                                                     -- 
            (   ( PLL.quantity IS NOT NULL )
            AND ( PLL.quantity <> ( SELECT sum(POD2.quantity_ordered)
                                    FROM   PO_DISTRIBUTIONS_GT POD2
                                    WHERE  POD2.line_location_id = PLL.line_location_id ) ) )
        OR  (   ( PLL.amount IS NOT NULL )
            AND ( PLL.amount <> ( SELECT sum(POD2.amount_ordered)
                                  FROM   PO_DISTRIBUTIONS_GT POD2
                                  WHERE  POD2.line_location_id = PLL.line_location_id ) ) )
        )
    GROUP BY
        PLL.shipment_num
    ,   PLL.quantity
    ,   PLL.amount;                                           -- 
Line: 4560

        INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
        VALUES(
            p_online_report_id,
            p_login_id,
            p_user_id,
            sysdate,
            p_user_id,
            sysdate,
            NULL,                                             -- 
            l_shipment_num(i),
            NULL,                                             -- 
            p_sequence+l_rowCount(i),
            decode ( l_ship_qty_tbl(i)                        -- 
                   , NULL , PO_CORE_S.get_translated_text
                            (   'PO_SUB_REL_SHIP_NE_DIST_AMT'
                            ,   'SHIP_NUM', l_shipment_num(i)
                            ,   'SHIP_AMT', l_ship_amt_tbl(i)
                            ,   'DIST_AMT', l_dist_amt_tbl(i)
                            )
                   ,        PO_CORE_S.get_translated_text
                            (   'PO_SUB_REL_SHIP_NE_DIST_QTY'
                            ,   'SHIP_NUM', l_shipment_num(i)
                            ,   'SHIP_QTY', l_ship_qty_tbl(i)
                            ,   'DIST_QTY', l_dist_qty_tbl(i)
                            )
                   ),
            decode ( l_ship_qty_tbl(i)                        -- 
                   , NULL , 'PO_SUB_REL_SHIP_NE_DIST_AMT'
                   ,        'PO_SUB_REL_SHIP_NE_DIST_QTY'
                   )
        );
Line: 4619

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        0,
        PLL.shipment_num,
        0,
        p_sequence + ROWNUM,
        substr(g_shipmsg||g_delim||PLL.shipment_num||g_delim
                   ||l_textline,1,240),
            'PO_SUB_REL_SHIP_NO_DIST'
    FROM PO_LINE_LOCATIONS_GT PLL
    WHERE PLL.po_release_id = p_document_id
    AND nvl(PLL.cancel_flag,'N') = 'N'
    AND nvl(PLL.closed_code,'OPEN') <> 'FINALLY CLOSED'
    AND NOT EXISTS
       (SELECT 'Distribution Exists'
        FROM PO_DISTRIBUTIONS_GT POD                  -- 
        WHERE POD.line_location_id = PLL.line_location_id);
Line: 4671

    INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
    SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        0,
        POLL.shipment_num,
            POD.distribution_num,
        p_sequence + ROWNUM,
        substr(g_shipmsg||g_delim||POLL.shipment_num||g_delim
                   ||g_distmsg||g_delim||POD.distribution_num||g_delim
                   ||l_textline,1,240),
            'PO_SUB_REL_RATE_NULL'
    FROM PO_DISTRIBUTIONS_GT POD,                     -- 
         PO_LINE_LOCATIONS_GT POLL,PO_LINES POL,
         PO_RELEASES_GT POR,PO_HEADERS_GT POH,GL_SETS_OF_BOOKS SOB,
         FINANCIALS_SYSTEM_PARAMETERS FSP
    WHERE POLL.po_release_id = POR.po_release_id
    AND POD.line_location_id = POLL.line_location_id
    AND POLL.po_line_id = POL.po_line_id
    AND POH.po_header_id = POR.po_header_id
    AND POR.po_release_id = p_document_id
    AND SOB.set_of_books_id = FSP.set_of_books_id
    AND nvl(POLL.cancel_flag, 'N') = 'N'
    AND nvl(POLL.closed_code, 'OPEN') <> 'FINALLY CLOSED'
    AND SOB.currency_code <> POH.currency_code
    AND POD.rate is null;
Line: 4730

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        0,
        0,
        0,
        p_sequence + ROWNUM,
        substr(l_textline,1,240),
            'PO_SUB_REL_AMT_LESS_MINREL_AMT'
    FROM  PO_HEADERS_GT POH,PO_RELEASES_GT POR
    WHERE POR.po_release_id = p_document_id
    AND   POH.po_header_id  = POR.po_header_id
    AND   POH.min_release_amount IS NOT NULL
    AND   POH.min_release_amount >                            -- 
              ( SELECT decode ( sum( decode ( PLL2.quantity
                                            , NULL , ( PLL2.amount - nvl(PLL2.amount_cancelled,0) )
                                            ,        ( PLL2.quantity - nvl(PLL2.quantity_cancelled,0) )
                                            )
                                   )
                              , 0 , POH.min_release_amount
                              ,     sum ( decode ( PLL2.quantity
                                                 , NULL , ( PLL2.amount - nvl(PLL2.amount_cancelled,0) )
                                                 ,        (   ( PLL2.quantity - nvl(PLL2.quantity_cancelled,0) )
                                                          *   PLL2.price_override )
                                                 )
                                        )
                              )
                FROM   PO_LINE_LOCATIONS_GT PLL2
                WHERE  PLL2.po_release_id = POR.po_release_id
                AND    PLL2.shipment_type IN ('BLANKET', 'SCHEDULED')
              );
Line: 4803

       SELECT                                                 -- 
              sum ( decode ( PLL1.quantity
                           , NULL , ( PLL1.amount
                                    - nvl(PLL1.amount_cancelled,0) )
                           ,        (   ( PLL1.quantity
                                        - nvl(PLL1.quantity_cancelled,0) )
                                    * PLL1.price_override ) ) )
       INTO  l_this_rel_amount
       FROM PO_LINE_LOCATIONS_GT PLL1, PO_RELEASES_GT POR1, PO_HEADERS_GT POH
       WHERE  POR1.po_release_id = p_document_id
       AND    POR1.po_header_id  = POH.po_header_id	-- Bug 7188760
       AND    POH.amount_limit is Not Null		-- Bug 7188760
       AND    PLL1.po_release_id = POR1.po_release_id;
Line: 4826

       SELECT                                                 -- 
              /* FULL(POH)*/
              nvl ( sum ( decode ( PLL2.quantity
                                 , NULL , ( PLL2.amount
                                          - nvl(PLL2.amount_cancelled,0) )
                                 ,        (   ( PLL2.quantity
                                          - nvl(PLL2.quantity_cancelled,0) )
                                          * PLL2.price_override ) ) )
                  , 0 )
       INTO l_previous_rel_amount
       FROM PO_LINE_LOCATIONS PLL2, PO_RELEASES POR2, PO_HEADERS_GT POH
       WHERE PLL2.po_release_id = POR2.po_release_id
       AND POR2.po_header_id = POH.po_header_id
       AND nvl(POR2.approved_flag, 'N') = 'Y'
       AND POH.amount_limit is Not Null		-- Bug 7188760
       AND POR2.po_release_id <> p_document_id;
Line: 4847

 			SELECT           -- 
              /* FULL(POH)*/
              nvl ( sum ( decode ( PLL2.quantity
                                 , NULL , ( PLL2.amount
                                          - nvl(PLL2.amount_cancelled,0) )
                                 ,        (   ( PLL2.quantity
                                          - nvl(PLL2.quantity_cancelled,0) )
                                          * PLL2.price_override ) ) )
                  , 0 )
       INTO l_previous_rel_archive_amount
       FROM po_line_locations_archive_all PLL2, po_releases_all POR2, PO_HEADERS_GT POH
       WHERE PLL2.po_release_id = POR2.po_release_id
       AND POR2.po_header_id = POH.po_header_id
       AND nvl(POR2.approved_flag, 'N') IN ('R','F')
       and NVL(PLL2.LATEST_EXTERNAL_FLAG,'N') = 'Y'
       AND POH.amount_limit is Not Null
       AND POR2.po_release_id <> p_document_id;
Line: 4873

  INSERT INTO po_online_report_text_gt (online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        0,
        0,
        0,
        p_sequence + ROWNUM,
        substr(l_textline,1,240),
            'PO_SUB_REL_AMT_GRT_LIMIT_AMT'
    FROM   PO_HEADERS_GT POH,PO_RELEASES_GT POR
    WHERE  POR.po_release_id = p_document_id
    AND    POH.po_header_id  = POR.po_header_id

    AND    POH.amount_limit is not null
    --
    --Compare it to total of current release amount and
    --already released amount calculated above the INSERT statement
    AND    POH.amount_limit < l_total_rel_amount;
Line: 4925

    SELECT
        POL.line_num,
        0,
        0,
        POL.min_release_amount,
        0
    BULK COLLECT INTO
        l_line_num,
        l_shipment_num,
        l_dist_num,
        l_quantity1,
        l_quantity2
    FROM   PO_LINES_ALL POL,PO_RELEASES_GT POR,PO_LINE_LOCATIONS_GT PLL
    WHERE  PLL.po_release_id = POR.po_release_id
    AND    PLL.po_release_id = p_document_id
    AND    POL.po_line_id  = PLL.po_line_id
    AND    POL.min_release_amount is not null
    AND    POL.min_release_amount >
           (   SELECT
                  decode ( sum ( decode ( PLL2.quantity                   /*Bug 5028960 pol.quantity */
                                         , NULL , PLL2.amount - nvl(PLL2.amount_cancelled,0)
                                         ,        PLL2.quantity - nvl(PLL2.quantity_cancelled,0)
                                         )
                                )
                          , 0 , POL.min_release_amount
                          ,     sum ( decode ( PLL2.quantity     /*Bug 5028960  pol.quantity */
                                             , NULL , PLL2.amount - nvl(PLL2.amount_cancelled,0)
                                             ,        (  ( PLL2.quantity - nvl(PLL2.quantity_cancelled,0) )
                                                      *  PLL2.price_override )
                                             )
                                    )
                          )
               --
               --Change the table in from clause from PO_LINE_LOCATIONS to PO_LINE_LOCATIONS_GT
               FROM PO_LINE_LOCATIONS_GT PLL2
               WHERE PLL2.po_line_id = POL.po_line_id
               AND PLL2.po_release_id = POR.po_release_id
               AND PLL2.shipment_type in ('BLANKET', 'SCHEDULED')
          )
    GROUP BY POL.line_num,POL.min_release_amount;
Line: 4971

        INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
        VALUES(
            p_online_report_id,
            p_login_id,
            p_user_id,
            sysdate,
            p_user_id,
            sysdate,
            0,0,0,
            p_sequence+l_rowCount(i),
            substr(l_textline||g_delim||l_quantity1(i),1,240),
            'PO_SUB_REL_SHIPAMT_LESS_MINREL');
Line: 5054

    INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
            0,
            POLL.shipment_num,
            0,
            p_sequence + ROWNUM,
            substr(g_shipmsg||g_delim||POLL.shipment_num||g_delim||l_textline||
                   MTL1.uom_class||' , '||MTL2.uom_class,1,240),
            'PO_SUB_UOM_CLASS_CONVERSION'
    FROM MTL_UOM_CLASS_CONVERSIONS MOU, PO_LINE_LOCATIONS_GT POLL,
         PO_LINES POL, MTL_UOM_CLASSES_TL MTL1,
         MTL_UOM_CLASSES_TL MTL2
    WHERE MOU.inventory_item_id = POL.item_id
    AND   (NVL(MOU.disable_date, TRUNC(SYSDATE)) + 1) < TRUNC(SYSDATE)
    AND   POL.po_line_id = POLL.po_line_id
    AND   POLL.po_release_id = p_document_id
    AND   MOU.from_uom_class = MTL1.uom_class
    AND   MOU.to_uom_class = MTL2.uom_class
    AND EXISTS
       (SELECT 'uom conversion exists'
        FROM MTL_UNITS_OF_MEASURE MUM
        WHERE POL.unit_meas_lookup_code = MUM.unit_of_measure
        AND   MOU.to_uom_class = MUM.uom_class);
Line: 5117

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        POL.line_num, --
        PLL.shipment_num,  --
        0,
        p_sequence + ROWNUM,
                    --
                    substr(g_linemsg||g_delim||POL.line_num||g_delim
                   ||g_shipmsg||g_delim||PLL.shipment_num||g_delim
                   ||l_textline,1,240),
                   --
            'PO_SUB_ITEM_NOT_APPROVED_REL'
    FROM MTL_SYSTEM_ITEMS MSI, PO_LINE_LOCATIONS_GT PLL,
         PO_RELEASES_GT POR,PO_LINES POL, PO_HEADERS_GT POH,
         FINANCIALS_SYSTEM_PARAMETERS FSP
    WHERE POR.po_release_id = p_document_id
    AND POR.po_header_id = POH.po_header_id
    AND POR.po_header_id = POL.po_header_id
    AND POL.po_line_id = PLL.po_line_id
    AND POR.po_release_id = PLL.po_release_id
    AND MSI.organization_id = PLL.SHIP_TO_ORGANIZATION_id
    AND MSI.inventory_item_id = POL.item_id
    AND POL.item_id is not null
    AND nvl(PLL.closed_code,'OPEN') <> 'FINALLY CLOSED'
    AND nvl(POL.cancel_flag,'N') = 'N'
    AND nvl(PLL.cancel_flag,'N') = 'N'
    AND nvl(MSI.must_use_approved_vendor_flag,'N') = 'Y'
    AND not exists
       (SELECT 1
        FROM PO_APPROVED_SUPPLIER_LIS_VAL_V ASL, PO_ASL_STATUS_RULES ASR
        WHERE  ASL.using_organization_id in (PLL.ship_to_organization_id, -1)
        AND    ASL.vendor_id = POH.vendor_id
        AND    nvl(ASL.vendor_site_id, POH.vendor_site_id) = POH.vendor_site_id
        AND   ASL.item_id = POL.item_id
        AND    ASL.asl_status_id = ASR.status_id
        AND    ASR.business_rule = '1_PO_APPROVAL'
	AND    ASR.allow_action_flag = 'Y'        --Bug5597639
        UNION ALL
        SELECT 1
        FROM PO_APPROVED_SUPPLIER_LIS_VAL_V ASL, PO_ASL_STATUS_RULES ASR
        WHERE  ASL.using_organization_id in (PLL.ship_to_organization_id , -1)
        AND    ASL.vendor_id = POH.vendor_id
        AND    nvl(ASL.vendor_site_id, POH.vendor_site_id) = POH.vendor_site_id
        AND    ASL.item_id is NULL
        AND    not exists
           (SELECT ASL1.ASL_ID
            FROM PO_APPROVED_SUPPLIER_LIS_VAL_V ASL1
            WHERE ASL1.ITEM_ID = POL.item_id
            AND ASL1.using_organization_id in (PLL.ship_to_organization_id, -1))
        AND    ASL.category_id in
           (SELECT MIC.category_id
            FROM   MTL_ITEM_CATEGORIES MIC
            WHERE MIC.inventory_item_id = POL.item_id
            AND MIC.organization_id = PLL.ship_to_organization_id)
        AND    ASL.asl_status_id = ASR.status_id
        AND    ASR.business_rule = '1_PO_APPROVAL'
        AND    ASR.allow_action_flag = 'Y') ;  --Bug5597639
Line: 5219

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
                    POL.line_num, --
                    PLL.shipment_num,  --
                    0,
                    p_sequence + ROWNUM,
                    --
                    substr(g_linemsg||g_delim||POL.line_num||g_delim
                   ||g_shipmsg||g_delim||PLL.shipment_num||g_delim
                   ||l_textline,1,240),
                   --
            'PO_SUB_ITEM_ASL_DEBARRED_REL'
    FROM PO_LINE_LOCATIONS_GT PLL,
         PO_RELEASES_GT POR,PO_LINES POL, PO_HEADERS_GT POH,
         FINANCIALS_SYSTEM_PARAMETERS FSP
    WHERE POR.po_release_id = p_document_id
    AND POR.po_header_id = POH.po_header_id
    AND POR.po_header_id = POL.po_header_id
    AND POL.po_line_id = PLL.po_line_id
    AND POR.po_release_id = PLL.po_release_id
    AND nvl(PLL.closed_code,'OPEN') <> 'FINALLY CLOSED'
    AND nvl(POL.cancel_flag,'N') = 'N'
    AND nvl(PLL.cancel_flag,'N') = 'N'
    AND exists
      (SELECT 1
        FROM PO_APPROVED_SUPPLIER_LIS_VAL_V ASL, PO_ASL_STATUS_RULES ASR,
	 MTL_SYSTEM_ITEMS MSI  --Bug5597639
         WHERE  ASL.using_organization_id in (PLL.ship_to_organization_id, -1)
        /*Bug5553138 Adding the below three conditions */
	AND MSI.organization_id = FSP.inventory_organization_id
	AND MSI.inventory_item_id = POL.item_id
	AND  POL.item_id is not null
        AND    ASL.vendor_id = POH.vendor_id
        AND    nvl(ASL.vendor_site_id, POH.vendor_site_id) = POH.vendor_site_id
        AND   ASL.item_id = POL.item_id
        AND    ASL.asl_status_id = ASR.status_id
        AND    ASR.business_rule = '1_PO_APPROVAL'
 	AND   ASR.allow_action_flag <> 'Y'   --Bug5597639
        UNION ALL
         SELECT 1
        FROM PO_APPROVED_SUPPLIER_LIS_VAL_V ASL, PO_ASL_STATUS_RULES ASR
        WHERE  ASL.using_organization_id in (PLL.ship_to_organization_id , -1)
        AND    ASL.vendor_id = POH.vendor_id
        AND    nvl(ASL.vendor_site_id, POH.vendor_site_id) = POH.vendor_site_id
        AND    ASL.item_id is NULL
	AND ASL.category_id = POL.category_id --Bug5597639
        AND    ASL.asl_status_id = ASR.status_id
        AND    ASR.business_rule = '1_PO_APPROVAL'
        AND    ASR.allow_action_flag <> 'Y' );  --Bug5597639
Line: 5302

    INSERT INTO po_online_report_text_gt(
       online_report_id,
       last_update_login,
       last_updated_by,
       last_update_date,
       created_by,
       creation_date,
       line_num,
       shipment_num,
       distribution_num,
       sequence,
       text_line,
       message_name
    )
   SELECT   p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
                    POL.line_num,
                    PLL.shipment_num,
                    0,
                    p_sequence + ROWNUM,
                    substr(g_linemsg||g_delim||POL.line_num||g_delim
                   ||g_shipmsg||g_delim||PLL.shipment_num||g_delim
                   ||l_textline,1,240),
           'PO_ATO_ITEM_NA'
    FROM   po_lines POL,
           po_line_locations_gt PLL,
           financials_system_parameters FSP,
           mtl_system_items MSI
    WHERE  PLL.po_release_id = p_document_id
    AND    PLL.po_line_id = POL.po_line_id
    AND    POL.item_id is not null
    AND    nvl(POL.cancel_flag, 'N') = 'N'                     --Bug5353423
    AND    nvl(POL.closed_code, 'OPEN') <> 'FINALLY CLOSED'    --Bug5353423
    AND    POL.item_id = MSI.inventory_item_id
    AND    MSI.organization_id = FSP.inventory_organization_id
    AND    MSI.bom_item_type in (1,2);
Line: 5361

       INSERT INTO po_online_report_text_gt(online_report_id,
       last_update_login,
       last_updated_by,
       last_update_date,
       created_by,
       creation_date,
       line_num,
       shipment_num,
       distribution_num,
       sequence,
       text_line,
       message_name)
       SELECT  p_online_report_id,
       p_login_id,
       p_user_id,
       sysdate,
       p_user_id,
       sysdate,
       0,
       pll.shipment_num,
       0,
       p_sequence + ROWNUM,
        substr(g_shipmsg||g_delim||pll.shipment_num||g_delim||l_textline,1,240),
       'PO_ALL_NO_ITEM'
       from po_releases_gt por,po_lines pl,po_line_locations_gt pll,mtl_system_items  itm,po_line_types_b plt
       where itm.inventory_item_id  = pl.item_id
       and   pl.item_id is not null

      and   pl.po_line_id   = pll.po_line_id
       and   itm.organization_id    = pll.ship_to_organization_id
       and   itm.purchasing_enabled_flag = 'N'
       and   pll.po_release_id   = por.po_release_id
       and   por.po_release_id = p_document_id
       and   pll.po_release_id is not null
       and   pl.line_type_id = plt.line_type_id
       and   nvl(plt.outside_operation_flag,'N')=nvl(itm.outside_operation_flag,'N')
       and   (pll.creation_date >= nvl(por.approved_date,pll.creation_date));
Line: 5414

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
                  sysdate,
        p_user_id,
        sysdate,
        0,
        0,
        0,
        p_sequence + ROWNUM,
        substr(l_textline,1,240),
                   'PO_ON_HOLD_CANNOT_APPROVE'
    FROM  PO_RELEASES_GT POR
    WHERE  POR.po_release_id = p_document_id
    AND    nvl(POR.HOLD_FLAG,'N') = 'Y';
Line: 5449

select poh.po_header_id,poh.vendor_id, poh.vendor_site_id, poh.vendor_contact_id
  into l_agreement_id, l_vendor_id,l_vendor_site_id,l_vendor_contact_id
  from po_headers_gt poh, po_releases_gt por
  where poh.po_header_id = por.po_header_id
    and por.po_release_id = p_document_id;
Line: 5467

 	INSERT INTO po_online_report_text_gt(online_report_id,
 				last_update_login,
 				last_updated_by,
 				last_update_date,
 				created_by,
 				creation_date,
 				line_num,
 				shipment_num,
 				distribution_num,
 				sequence,
 				text_line,
                                message_name)
 	SELECT 	p_online_report_id,
 		    p_login_id,
 		    p_user_id,
     	            sysdate,
 		    p_user_id,
 		    sysdate,
 		    0,
 		    0,
 		    0,
 		    p_sequence + ROWNUM,
 		    substr(l_textline,1,240),
                   'PO_PDOI_INVALID_VENDOR'
	FROM  dual
    where not exists (select 'Y'
			from PO_HEADERS_GT POH, po_vendors pov
		       WHERE  POH.po_header_id = l_agreement_id
		         AND  pov.vendor_id = poh.vendor_id
			 AND  pov.enabled_flag = 'Y'
			 AND  SYSDATE BETWEEN nvl(pov.start_date_active, SYSDATE-1)
                                  AND nvl(pov.end_date_active, SYSDATE+1));
Line: 5512

 	INSERT INTO po_online_report_text_gt(online_report_id,
 				last_update_login,
 				last_updated_by,
 				last_update_date,
 				created_by,
 				creation_date,
 				line_num,
 				shipment_num,
 				distribution_num,
 				sequence,
 				text_line,
                                message_name)
 	SELECT 	p_online_report_id,
 		    p_login_id,
 		    p_user_id,
     	            sysdate,
 		    p_user_id,
 		    sysdate,
 		    0,
 		    0,
 		    0,
 		    p_sequence + ROWNUM,
 		    substr(l_textline,1,240),
                   'PO_PDOI_INVALID_VENDOR_SITE'
    FROM  dual
    where not exists (select 'Y'
			from PO_HEADERS_GT POH, po_vendor_sites povs
		        WHERE  POH.po_header_id = l_agreement_id
		        AND  povs.vendor_site_id = poh.vendor_site_id
			AND    nvl(povs.rfq_only_site_flag,'N') <> 'Y'
			AND    povs.purchasing_site_flag = 'Y'
		        AND    SYSDATE < nvl(povs.inactive_date, SYSDATE + 1));
Line: 5556

	INSERT INTO po_online_report_text_gt(online_report_id,
 				last_update_login,
 				last_updated_by,
 				last_update_date,
 				created_by,
 				creation_date,
 				line_num,
 				shipment_num,
 				distribution_num,
 				sequence,
 				text_line,
                                message_name)
 	SELECT 	p_online_report_id,
 		    p_login_id,
 		    p_user_id,
     	            sysdate,
 		    p_user_id,
 		    sysdate,
 		    0,
 		    0,
 		    0,
 		    p_sequence + ROWNUM,
 		    substr(l_textline,1,240),
                   'PO_PDOI_INVALID_VDR_CNTCT'
	FROM  dual
	--Start of code changes for the bug 16244229
	WHERE NOT EXISTS ( SELECT  'Y'
			FROM
			AP_SUPPLIER_CONTACTS PVC ,
			AP_SUPPLIER_SITES_ALL PVS ,
			HZ_PARTIES HP ,
			HZ_RELATIONSHIPS HPR ,
			HZ_PARTY_SITES HPS ,
			HZ_ORG_CONTACTS HOC ,
			HZ_PARTIES HP2 ,
			AP_SUPPLIERS APS,
			PO_HEADERS_ALL POH
			WHERE PVC.PER_PARTY_ID = HP.PARTY_ID
			AND PVC.REL_PARTY_ID   = HP2.PARTY_ID
			AND PVC.ORG_CONTACT_ID                           = HOC.ORG_CONTACT_ID(+)
			AND PVC.RELATIONSHIP_ID                          = HPR.RELATIONSHIP_ID
			AND HPR.DIRECTIONAL_FLAG                         ='F'
			AND NVL( APS.VENDOR_TYPE_LOOKUP_CODE, 'DUMMY' ) <> 'EMPLOYEE'
			AND ( (Pvc.Party_Site_Id  = Hps.Party_Site_Id
				AND PVS.PARTY_SITE_ID                     = PVC.ORG_PARTY_SITE_ID
				AND PVS.VENDOR_ID                                = APS.VENDOR_ID
				AND SYSDATE < nvl( LEAST(NVL(HPR.END_DATE, TO_DATE('12/31/4712','MM/DD/RRRR')), NVL(PVC.INACTIVE_DATE, TO_DATE('12/31/4712','MM/DD/RRRR'))), SYSDATE+1))
			OR (PVC.ORG_PARTY_SITE_ID                       IS NULL
				AND PVC.VENDOR_SITE_ID                          IS NULL
				AND HPR.OBJECT_ID                                = APS.PARTY_ID
				AND HPR.RELATIONSHIP_CODE                        = 'CONTACT_OF'
				And Hpr.Object_Type                              = 'ORGANIZATION'
				AND SYSDATE < NVL(HPR.END_DATE, SYSDATE+1) )
			)
			AND POH.VENDOR_CONTACT_ID = PVC.VENDOR_CONTACT_ID
			AND POH.PO_HEADER_ID=l_agreement_id);
Line: 5663

           INSERT INTO po_online_report_text_gt
           (
            online_report_id,
            last_update_login,
            last_updated_by,
            last_update_date,
            created_by,
            creation_date,
            line_num,
            shipment_num,
            distribution_num,
            sequence,
            text_line,
            message_name,
            message_type
           )
           VALUES
           (
             p_online_report_id,
             p_login_id,
             p_user_id,
             sysdate,
             p_user_id,
             sysdate,
             po_tax_interface_pvt.G_TAX_ERRORS_TBL.line_num(i),
             po_tax_interface_pvt.G_TAX_ERRORS_TBL.shipment_num(i),
             po_tax_interface_pvt.G_TAX_ERRORS_TBL.distribution_num(i),
             p_sequence + i, /* 11851142 Replaced with i from ROWNUM */
             l_tax_message || po_tax_interface_pvt.G_TAX_ERRORS_TBL.message_text(i),
             'PO_TAX_CALCULATION_FAILED',
             'E'
           );
Line: 5734

    INSERT INTO po_online_report_text_gt (online_report_id,
	 				  last_update_login,
	 				  last_updated_by,
	 				  last_update_date,
	 				  created_by,
	 				  creation_date,
	 				  line_num,
	 				  shipment_num,
	 				  distribution_num,
	 				  sequence,
	 				  text_line,
	                                  message_name)
    SELECT p_online_report_id,
	   p_login_id,
	   p_user_id,
	   sysdate,
	   p_user_id,
	   sysdate,
	   0,
	   PLL.shipment_num,
           0,
	   p_sequence + ROWNUM,
	   substr (g_shipmsg||g_delim||PLL.shipment_num||g_delim||l_textline,1,240),
	   'PO_SUB_REL_SHIP_INV_MATCH_NE_R'
      FROM PO_RELEASES_GT POR,
           PO_LINE_LOCATIONS_GT PLL
     WHERE POR.po_release_id = PLL.po_release_id
       AND POR.po_release_id = p_document_id
       AND Nvl(PLL.LCM_FLAG,'N') = 'Y'
       AND Nvl(PLL.match_option,'P') <> 'R'
       AND Nvl(PLL.cancel_flag,'N') = 'N'; -- Bug 13809830: Added a condition to skip the submission check for cancelled shipments;
Line: 5779

    INSERT INTO po_online_report_text_gt (online_report_id,
	 				  last_update_login,
	 				  last_updated_by,
	 				  last_update_date,
	 				  created_by,
	 				  creation_date,
	 				  line_num,
	 				  shipment_num,
	 				  distribution_num,
	 				  sequence,
	 				  text_line,
	                                  message_name)
    SELECT p_online_report_id,
	   p_login_id,
	   p_user_id,
	   sysdate,
	   p_user_id,
	   sysdate,
	   0,
	   PLL.shipment_num,
	   POD.distribution_num,
	   p_sequence + ROWNUM,
	   substr (g_shipmsg||g_delim||PLL.shipment_num||g_delim||g_distmsg||g_delim||
                   POD.distribution_num||g_delim||l_textline, 1,240),
	   'PO_SUB_REL_DIST_DEST_TYPE_NE_I'
      FROM PO_RELEASES_GT POR,
           PO_LINE_LOCATIONS_GT PLL,
           PO_DISTRIBUTIONS_GT POD
     WHERE POR.po_release_id = POD.po_release_id
       AND POD.line_location_id = PLL.line_location_id
       AND POR.po_release_id = p_document_id
       AND Nvl(POD.LCM_FLAG,'N') = 'Y'
       AND POD.DESTINATION_TYPE_CODE <> 'INVENTORY';
Line: 5827

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
                  sysdate,
        p_user_id,
        sysdate,
        0,
        0,
        0,
        p_sequence + ROWNUM,
        l_textline,
                   'PO_BUYER_INACTIVE'
    FROM  dual
    where not exists (select 'inactive buyer'
                      from PO_RELEASES_GT POR,
                           PO_BUYERS_V POB --  Replace PO_BUYERS_VAL_V with PO_BUYERS_V
		      where por.agent_id = pob.employee_id);
Line: 5893

*       p_online_report_id: Id used to INSERT INTO online_report_text table
*       p_user_id:          User performing the action
*       p_login_id:         Last update login_id
*   IN OUT PARAMETERS
*       p_sequence:          Sequence number of last reported error
* Modifies: Inserts error msgs in online_report_text_gt table, uses
*           global_temp tables for processing
* Effects:  This procedure runs the document submission checks for PO and
*           RELEASES. This procedure compares the price of the PO or Release
*           Shipment to the price of the Requisition Line. The Shipment
*           Price should be within the tolerance of the Requisition Line
* Returns:
*  p_sequence: This parameter contains the current count of number of error
*              messages inserted
*/
PROCEDURE check_po_rel_reqprice(p_document_type IN VARCHAR2,
                       p_document_id IN NUMBER,
                       p_online_report_id IN NUMBER,
                       p_user_id IN NUMBER,
                       p_login_id IN NUMBER,
                       p_sequence IN OUT NOCOPY NUMBER,
                       x_return_status OUT NOCOPY VARCHAR2) IS

l_textline  po_online_report_text.text_line%TYPE := NULL;
Line: 5970

** Setup the PO select cursor
** Select shipment price and convert it to base currency.
** this is done by taking the distribution rate and applying
** it evenly over all distributions.  Additionally get the
** shipment unit of measure, quantity, and item_id to be
** passed to the UomC function.
*/

/*Bug4302950 :The shipments were updated with wrong price when supplier submits
change request from ISP to split shipment quantity between two individual shipments.
As the ISP doesnot handle change in distributions,replacing the shipments
quantity with the sum of the distributions quantity in the calculation
of price override so that the shipment price will reflect the correct value.*/

CURSOR po_shipment_cursor (p_document_id NUMBER) IS
    SELECT nvl(max(POLL.price_override ) *
        sum(decode(plt.order_type_lookup_code,'AMOUNT',1,nvl(POD.rate,1))*
                  (POD.quantity_ordered -
                   nvl(POD.quantity_cancelled, 0))) /
            /*	 (max(POLL.quantity) -
                 nvl(max(POLL.quantity_cancelled),0)), -1) Price, */ --Bug4302950
                  --Bug16222308 Handling the quantity zero on distribution
                decode(
                                  (sum(POD.quantity_ordered -
                  nvl(POD.quantity_cancelled,0))),0,1,(sum(POD.quantity_ordered -
                  nvl(POD.quantity_cancelled,0))) )
                                  , -1) Price,
        POL.unit_meas_lookup_code uom,
        nvl(POLL.shipment_num,0) ship_num,
        nvl(POL.line_num,0) line_num,
        nvl(POLL.quantity,0) quantity,
        nvl(POL.item_id,-1) item_id,
        nvl( POLL.line_location_id,0) line_loc_id
    FROM   PO_LINE_LOCATIONS_GT POLL,
        PO_LINE_TYPES_B PLT,            -- bug3413891
        PO_LINES_GT POL,
        PO_DISTRIBUTIONS_GT POD
     WHERE  POLL.po_line_id    = POL.po_line_id
     AND    POLL.line_location_id = POD.line_location_id
     AND    POLL.po_header_id = p_document_id
     AND    POL.line_type_id = PLT.line_type_id
     AND    nvl(POLL.cancel_flag,'N') <> 'Y'
     AND    nvl(POLL.closed_code,'OPEN') <> 'FINALLY CLOSED'
     AND    POLL.shipment_type in ('PLANNED', 'STANDARD')
     GROUP BY POL.unit_meas_lookup_code, nvl(POLL.shipment_num,0),
              nvl(POL.line_num,0), nvl(POLL.quantity,0),
              nvl(POL.item_id,-1), POLL.price_override,
              nvl(POLL.line_location_id,0);
Line: 6021

/* Setup the Complex Work PO select cursor
** Select Complex Work PO Line information and the
** line loc ID for the first STANDARD pay item for
** that line
*/
CURSOR po_pay_item_cursor (p_document_id NUMBER) IS
    SELECT (POL.unit_price
              *  (sum(POD.rate
                   * (POD.quantity_ordered - nvl(POD.quantity_cancelled,0)) ))
			-- : Avoid divide by zero error
              / Decode(POLL.quantity, 0, 1) - nvl(POLL.quantity_cancelled, 0)
            ) price,
        POL.unit_meas_lookup_code uom,
        POLL.shipment_num ship_num,
        POL.line_num line_num,
        POL.quantity quantity,
        nvl(POL.item_id,-1) item_id,
        POLL.line_location_id line_loc_id
    FROM   PO_LINE_LOCATIONS_GT POLL,
        PO_LINES_GT POL,
        PO_DISTRIBUTIONS_GT POD
    WHERE POL.po_header_id = p_document_id
    AND   POD.line_location_id = POLL.line_location_id
    AND   POLL.line_location_id =
           (SELECT min(POLL2.line_location_id)
            FROM PO_LINE_LOCATIONS_GT POLL2
            WHERE POLL2.po_line_id = POL.po_line_id
            AND POLL2.shipment_type = 'STANDARD'
           )
    GROUP BY POL.unit_price, POLL.quantity, nvl(POLL.quantity_cancelled, 0),
             POL.unit_meas_lookup_code,
             POLL.shipment_num,
             POL.line_num,
             POL.quantity,
             nvl(POL.item_id,-1),
             POLL.line_location_id;
Line: 6061

** Setup the Release select cursor
** Select shipment price and convert it to base currency.
** this is done by taking the distribution rate and applying
** it evenly over all distributions.  Additionally get the
** shipment unit of measure, quantity, and item_id to be
** passed to the UomC function.  Get the shipment_num and
** line_num to be passed to the pooinsingle function.
*/
CURSOR rel_shipment_cursor (p_document_id NUMBER) IS
    SELECT /*+ FULL(POLL) */                          -- bug3413891
        nvl(max(POLL.price_override) *
        sum(decode(plt.order_type_lookup_code,'AMOUNT',1,nvl(POD.rate,1))*
                  (POD.quantity_ordered -
                   nvl(POD.quantity_cancelled, 0))) /
            /*	 (max(POLL.quantity) -
		 nvl(max(POLL.quantity_cancelled),0)), -1) Price, */ --Bug4302950
                 --Bug16222308 Handling the quantity zero on distribution
                decode( (sum(POD.quantity_ordered -
                 nvl(POD.quantity_cancelled,0))),0,1,(sum(POD.quantity_ordered -
                 nvl(POD.quantity_cancelled,0))) )
                                 , -1) Price,
        POL.unit_meas_lookup_code uom,
        nvl(POLL.shipment_num,0) ship_num,
        nvl(POL.line_num,0) line_num,
        nvl(POLL.quantity,0) quantity,
        nvl(POL.item_id,0) item_id,
        nvl( POLL.line_location_id,0) line_loc_id
    FROM   PO_LINE_LOCATIONS_GT POLL,
        PO_LINE_TYPES_B PLT,                          -- bug3413891
        PO_LINES POL,
        PO_DISTRIBUTIONS_GT POD                       -- 
    WHERE  POLL.po_line_id    = POL.po_line_id
     AND    POLL.line_location_id = POD.line_location_id
     AND    POLL.po_release_id = p_document_id
     AND    POL.line_type_id = PLT.line_type_id
     AND    nvl(POLL.cancel_flag,'N') <> 'Y'
     AND    nvl(POLL.closed_code,'OPEN') <> 'FINALLY CLOSED'
    GROUP BY POL.unit_meas_lookup_code, nvl(POLL.shipment_num,0),
              nvl(POL.line_num,0), nvl(POLL.quantity,0),
              nvl(POL.item_id,0), POLL.price_override,
              nvl(POLL.line_location_id,0);
Line: 6104

         SELECT min(PRL.unit_price),
                PRL.unit_meas_lookup_code,
                min(POL.line_num),
                min(POLL.shipment_num),
                min(PRL.org_id)               --
         FROM   PO_REQUISITION_LINES_ALL PRL, --
                PO_LINE_LOCATIONS_GT POLL,
                PO_LINES          POL
         WHERE  PRL.line_location_id  = POLL.line_location_id
         AND    POLL.line_location_id = p_line_location_id
         AND    PRL.unit_price        >= 0
         AND    POLL.po_line_id       = POL.po_line_id
         GROUP BY PRL.unit_meas_LOOKUP_code;
Line: 6121

          SELECT   MIN(PRL.currency_unit_price),
                   MIN(PRL.currency_code),
                   PRL.unit_meas_lookup_code,
                   MIN(POL.line_num)        ,
                   MIN(POLL.shipment_num)   ,
                   MIN(PRL.org_id)               --
          FROM     PO_REQUISITION_LINES_ALL PRL, --
                   PO_LINE_LOCATIONS_GT POLL   ,
                   PO_LINES POL
          WHERE    PRL.line_location_id  = POLL.line_location_id
               AND POLL.line_location_id = p_line_location_id
               AND PRL.unit_price       >= 0
               AND POLL.po_line_id       = POL.po_line_id
          GROUP BY PRL.unit_meas_LOOKUP_code;
Line: 6138

         SELECT min(PRL.unit_price),
                 PRL.unit_meas_lookup_code,
                 sum(PD.quantity_ordered),
                 min(POL.line_num),
                 min(POLL.shipment_num),
                 min(PRL.org_id)              --
         FROM   PO_REQUISITION_LINES_ALL PRL, --
                 PO_LINE_LOCATIONS_GT POLL,
                 PO_LINES          POL,
                 PO_DISTRIBUTIONS  PD,
                 PO_REQ_DISTRIBUTIONS_ALL PRD --
         WHERE  POLL.line_location_id = p_line_location_id
          AND    POLL.po_line_id = POL.po_line_id
          AND    PRL.unit_price >= 0
          AND    POLL.line_location_id = PD.line_location_id
          AND    PD.req_distribution_id = PRD.distribution_id
          AND    PRD.requisition_line_id = PRL.requisition_line_id
         GROUP BY PRL.requisition_line_id, PRL.unit_meas_lookup_code;
Line: 6159

         SELECT  min(PRL.currency_unit_price),
                 min(PRL.currency_code),
                 PRL.unit_meas_lookup_code,
                 sum(PD.quantity_ordered),
                 min(POL.line_num),
                 min(POLL.shipment_num),
                 min(PRL.org_id)              --
         FROM   PO_REQUISITION_LINES_ALL PRL, --
                 PO_LINE_LOCATIONS_GT POLL,
                 PO_LINES          POL,
                 PO_DISTRIBUTIONS  PD,
                 PO_REQ_DISTRIBUTIONS_ALL PRD --
         WHERE  POLL.line_location_id = p_line_location_id
          AND    POLL.po_line_id = POL.po_line_id
          AND    PRL.unit_price >= 0
          AND    POLL.line_location_id = PD.line_location_id
          AND    PD.req_distribution_id = PRD.distribution_id
          AND    PRD.requisition_line_id = PRL.requisition_line_id
         GROUP BY PRL.requisition_line_id, PRL.unit_meas_lookup_code;
Line: 6190

    SELECT nvl(enforce_price_change_allowance, 'N'),
                    nvl(enforce_price_change_amount, 'N'),
                    nvl(price_change_amount, -1)
    INTO   l_enforce_price_tolerance,
           l_enforce_price_amount,
           l_amount_tolerance
    FROM   po_system_parameters;
Line: 6292

        SELECT  FND.currency_code, nvl(FND.extended_precision,5)
        INTO  l_pou_func_curr, l_pou_func_curr_ext_precn
        FROM  fnd_currencies FND, financials_system_parameters FSP,
              gl_sets_of_books SOB
        WHERE  FSP.set_of_books_id = SOB.set_of_books_id
         AND  SOB.currency_code = FND.currency_code;
Line: 6330

        SELECT POH.currency_code, nvl(trunc(POH.rate_date), trunc(POLL.creation_date))
        INTO l_po_curr, l_rate_date
        FROM PO_HEADERS POH, PO_LINE_LOCATIONS_GT POLL
        WHERE POLL.line_location_id = l_line_location_id(shipment_line)
         AND POLL.po_header_id = POH.po_header_id;
Line: 6343

			SELECT POL.ORDER_TYPE_LOOKUP_CODE
			  INTO l_po_line_type
			  FROM PO_LINE_LOCATIONS_GT POLL,
				   PO_LINES_GT POL
			 WHERE POLL.po_line_id = POL.po_line_id
			   AND POLL.line_location_id = l_line_location_id(shipment_line);
Line: 6374

           SELECT 'Y'
             INTO l_is_same_foreign_currency
             FROM DUAL
            WHERE NOT EXISTS
                    (SELECT DISTINCT 1
                       FROM PO_REQUISITION_LINES_ALL PRL,
                            FINANCIALS_SYSTEM_PARAMS_ALL FSP,
                            GL_SETS_OF_BOOKS SOB
                      WHERE PRL.LINE_LOCATION_ID   = l_line_location_id(shipment_line)
                        AND FSP.SET_OF_BOOKS_ID  = SOB.SET_OF_BOOKS_ID
                        AND FSP.ORG_ID = PRL.ORG_ID
                        AND NVL(PRL.CURRENCY_CODE,SOB.CURRENCY_CODE) <> l_po_curr)
              AND l_po_curr <> l_pou_func_curr
	      	  AND l_po_line_type = 'QUANTITY';
Line: 6417

        SELECT NVL(MSI.price_tolerance_percent/100,
                   NVL(POSP.price_change_allowance/100,-1))
        INTO   l_price_tolerance_allowed
        FROM   MTL_SYSTEM_ITEMS MSI,
               PO_SYSTEM_PARAMETERS POSP,
               FINANCIALS_SYSTEM_PARAMETERS FSP
        WHERE  msi.inventory_item_id(+) = l_item_id(shipment_line)
        AND  MSI.organization_id(+) = FSP.inventory_organization_id;
Line: 6490

                    SELECT   NVL(ROUND(MAX(POLL.price_override) ,l_pou_func_curr_ext_precn) ,-1) Price
                    INTO     l_ship_price_ext_precn
                    FROM     PO_LINE_LOCATIONS_ALL POLL
                    WHERE    POLL.line_location_id         = l_line_location_id(shipment_line)
                         AND NVL(POLL.cancel_flag,'N')    <> 'Y'
                         AND NVL(POLL.closed_code,'OPEN') <> 'FINALLY CLOSED';
Line: 6510

                            INSERT
                            INTO   po_online_report_text_gt
                                   (
                                          online_report_id ,
                                          last_update_login,
                                          last_updated_by  ,
                                          last_update_date ,
                                          created_by       ,
                                          creation_date    ,
                                          line_num         ,
                                          shipment_num     ,
                                          distribution_num ,
                                          sequence         ,
                                          text_line        ,
                                          message_name
                                   )
                                   VALUES
                                   (
                                          p_online_report_id         ,
                                          p_login_id                 ,
                                          p_user_id                  ,
                                          sysdate                    ,
                                          p_user_id                  ,
                                          sysdate                    ,
                                          l_po_req_line_num(req_line),
                                          l_po_req_ship_num(req_line),
                                          0                          ,
                                          p_sequence +1              ,
                                          SUBSTR(g_linemsg
                                                 ||g_delim
                                                 || l_po_req_line_num(req_line)
                                                 ||g_delim
                                                 || g_shipmsg
                                                 ||g_delim
                                                 ||l_po_req_ship_num(req_line)
                                                 ||g_delim
                                                 ||l_textline,1,240),
                                          'PO_SUB_REQ_PRICE_TOL_EXCEED'
                                   );
Line: 6588

                    SELECT  SOB.currency_code
                    INTO  l_req_ou_func_curr
                    FROM  financials_system_params_all FSP, gl_sets_of_books SOB
                    WHERE  FSP.set_of_books_id = SOB.set_of_books_id
                      AND  NVL(FSP.org_id, -99) = NVL(l_requesting_org_id(req_line),-99);
Line: 6605

                        SELECT default_rate_type
                        INTO   l_rate_type
                        FROM   po_system_parameters;
Line: 6687

                   **  insert into the Online Report Text Table.
                   **
                   ** The following formula will cost precision erro when the
                   ** increase equals to the tolerance.
                   ** Patched as part of bug 432746.
                   **
                   **if ((((ship_price_in_base_curr * rate) /
                   **   req_line_unit_price[i]) -1) <= tolerance)
                   */

                   /* Bug 638073
                      the formula for tolerance check should be
                      ship_price_in_base_curr/ req_line_unit_pric e[i] *rate
                      since rate is the conversion from shipment uom to req uom
                    */

                   /*    svaidyan 09/10/98   726568  Modified the price tolerance
                      to check against tolerance + 1.000001. This is because,
                      the reqs sourced to a blanket store the unit price rounded
                      to 5 decimal places and hence we compare only upto the 5th
                      decimal place.
                    */

                    /* Bug 3262304, 3266272 mbhargav Using the req price to
                       the ext_precn of the currency. Also replacing the division
                        by multiplication on the other side
                       IF (((l_ship_price_ext_precn) /
                        (l_req_line_unit_price(req_line) *
                            l_shipment_to_req_rate ))
                                  > (l_price_tolerance_allowed + 1.000001))
                       THEN
                   */
                   --
                   IF (l_ship_price_ext_precn >
                          ( (l_req_line_price_ext_precn * l_shipment_to_req_rate )
                              * (l_price_tolerance_allowed + 1.000001)
                          )
                   ) THEN
                   --
l_progress := '030';
Line: 6730

                      INSERT into po_online_report_text_gt(
                            online_report_id,
                        last_update_login,
                        last_updated_by,
                        last_update_date,
                        created_by,
                        creation_date,
                        line_num,
                        shipment_num,
                        distribution_num,
                        sequence,
                        text_line,
                                message_name)
                      VALUES ( p_online_report_id,
                            p_login_id,
                            p_user_id,
                            sysdate,
                            p_user_id,
                            sysdate,
                            l_po_req_line_num(req_line),
                            l_po_req_ship_num(req_line),
                            0,
                            p_sequence +1,
                            substr(g_linemsg||g_delim||
                                l_po_req_line_num(req_line)||g_delim||
                                g_shipmsg||g_delim||l_po_req_ship_num(req_line)
                                ||g_delim||l_textline,1,240),
                            'PO_SUB_REQ_PRICE_TOL_EXCEED');
Line: 6847

                    SELECT   NVL(ROUND(MAX(POLL.price_override) ,l_pou_func_curr_ext_precn) ,-1) Price
                    INTO     l_ship_price_ext_precn
                    FROM     PO_LINE_LOCATIONS_ALL POLL
                    WHERE    POLL.line_location_id         = l_line_location_id(shipment_line)
                         AND NVL(POLL.cancel_flag,'N')    <> 'Y'
                         AND NVL(POLL.closed_code,'OPEN') <> 'FINALLY CLOSED';
Line: 6871

                            INSERT
                            INTO   po_online_report_text_gt
                                   (
                                          online_report_id ,
                                          last_update_login,
                                          last_updated_by  ,
                                          last_update_date ,
                                          created_by       ,
                                          creation_date    ,
                                          line_num         ,
                                          shipment_num     ,
                                          distribution_num ,
                                          sequence         ,
                                          text_line        ,
                                          message_name
                                   )
                                   VALUES
                                   (
                                          p_online_report_id         ,
                                          p_login_id                 ,
                                          p_user_id                  ,
                                          sysdate                    ,
                                          p_user_id                  ,
                                          sysdate                    ,
                                          l_po_req_line_num(req_line),
                                          l_po_req_ship_num(req_line),
                                          0                          ,
                                          p_sequence +1              ,
                                          SUBSTR(g_linemsg
                                                 ||g_delim
                                                 || l_po_req_line_num(req_line)
                                                 ||g_delim
                                                 || g_shipmsg
                                                 ||g_delim
                                                 ||l_po_req_ship_num(req_line)
                                                 ||g_delim
                                                 ||l_textline,1,240),
                                          'PO_SUB_REQ_PRICE_TOL_EXCEED'
                                   );
Line: 6950

                    SELECT  SOB.currency_code
                    INTO  l_req_ou_func_curr
                    FROM  financials_system_params_all FSP, gl_sets_of_books SOB
                    WHERE  FSP.set_of_books_id = SOB.set_of_books_id
                      AND  NVL(FSP.org_id, -99) = NVL(l_requesting_org_id(req_line),-99);
Line: 6967

                        SELECT default_rate_type
                        INTO   l_rate_type
                        FROM   po_system_parameters;
Line: 7048

                      INSERT into po_online_report_text_gt(
                            online_report_id,
                        last_update_login,
                        last_updated_by,
                        last_update_date,
                        created_by,
                        creation_date,
                        line_num,
                        shipment_num,
                        distribution_num,
                        sequence,
                        text_line,
                                message_name)
                      VALUES ( p_online_report_id,
                            p_login_id,
                            p_user_id,
                            sysdate,
                            p_user_id,
                            sysdate,
                            l_po_req_line_num(req_line),
                            l_po_req_ship_num(req_line),
                            0,
                            p_sequence +1,
                            substr(g_linemsg||g_delim||
                                l_po_req_line_num(req_line)||g_delim||
                                g_shipmsg||g_delim||l_po_req_ship_num(req_line)
                                ||g_delim||l_textline,1,240),
                            'PO_SUB_REQ_AMT_TOL_EXCEED');
Line: 7122

*       p_online_report_id: Id used to INSERT INTO online_report_text table
*       p_user_id:          User performing the action
*       p_login_id:         Last update login_id
*   IN OUT PARAMETERS
*       p_sequence:          Sequence number of last reported error
* Modifies: Inserts error msgs in online_report_text_gt table, uses
*           global_temp tables for processing
* Effects:  This procedure runs the document submission checks for HEADERS
*           of POs and PAs
* Returns:
*  p_sequence: This parameter contains the current count of number of error
*              messages inserted
*/
PROCEDURE check_po_pa_header(p_document_id IN NUMBER,
                       p_online_report_id IN NUMBER,
                       p_user_id IN NUMBER,
                       p_login_id IN NUMBER,
                       p_sequence IN OUT NOCOPY NUMBER,
                       x_return_status OUT NOCOPY VARCHAR2) IS

l_textline            po_online_report_text.text_line%TYPE := NULL;
Line: 7186

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        0,
        0,
        0,
        p_sequence + ROWNUM,
        substr(l_textline,1,240),
            'PO_SUB_VENDOR_ON_HOLD'
    FROM  PO_HEADERS_GT POH, PO_VENDORS POV, PO_SYSTEM_PARAMETERS PSP
    WHERE  POV.vendor_id     = POH.vendor_id
    AND    POH.po_header_id = p_document_id
    AND    nvl(PSP.ENFORCE_VENDOR_HOLD_FLAG,'N') = 'Y'
    AND    nvl(POV.hold_flag,'N') = 'Y';
Line: 7222

        SELECT POH.vendor_id,
                    POH.vendor_site_id,
                    POH.vendor_contact_id,
		    POH.ship_to_location_id,
                    POH.bill_to_location_id,
                    POH.currency_code,
                    SOB.currency_code,
                    POH.rate_type,
                    POH.rate,
                    POH.rate_date,
				    POH.acceptance_required_flag
        INTO        l_vendor_id,
                    l_vendor_site_id,
					l_vendor_contact_id,
                    l_ship_to_location_id,
                    l_bill_to_location_id,
                    l_currency_code,
                    l_sob_currency_code,
                    l_rate_type,
                    l_rate,
                    l_rate_date,
					l_acceptance_required
        FROM   PO_HEADERS_GT POH,
               GL_SETS_OF_BOOKS SOB,
               FINANCIALS_SYSTEM_PARAMETERS FSP
        WHERE  POH.po_header_id    = p_document_id
        AND    SOB.set_of_books_id = FSP.set_of_books_id;
Line: 7262

            INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
          VALUES (p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        0,
        0,
        0,
        p_sequence + 1,
        substr(l_textline,1,240),
            'PO_SUB_SYSTEM_SETUP');
Line: 7309

         INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
        VALUES (p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        0,
        0,
        0,
        p_sequence + 1,
        substr(l_textline,1,240),
            'PO_SUB_ENTER_VENDOR');
Line: 7349

         INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
        VALUES (p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        0,
        0,
        0,
        p_sequence + 1,
        substr(l_textline,1,240),
            'PO_SUB_ENTER_VENDOR_SITE');
Line: 7389

         INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
        VALUES (p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        0,
        0,
        0,
        p_sequence + 1,
        substr(l_textline,1,240),
            'PO_SUB_NO_SHIP_TO_LOC_ID');
Line: 7420

            SELECT hlt.location_code
            INTO l_invalid_location
            FROM hr_locations_all hla,
                 hr_locations_all_tl hlt
            WHERE hla.location_id = l_ship_to_location_id
            AND NVL(TRUNC(hla.inactive_date), TRUNC(SYSDATE)+1 ) <= TRUNC(SYSDATE)
            AND hlt.location_id=hla.location_id
            AND hlt.language=USERENV('LANG');
Line: 7429

            INSERT INTO po_online_report_text_gt(online_report_id,
                last_update_login,
                last_updated_by,
                last_update_date,
                created_by,
                creation_date,
                line_num,
                shipment_num,
                distribution_num,
                sequence,
                text_line,
                message_name)
            VALUES
               (
                p_online_report_id,
                p_login_id,
                p_user_id,
                SYSDATE,
                p_user_id,
                SYSDATE,
                0,
                0,
                0,
                p_sequence + 1,
                substr(PO_CORE_S.get_translated_text
                ( 'PO_SUB_INVALID_SHIP_TO_LOC',
                  'SHIP_TO_LOC',
                  l_invalid_location),1,240),
                'PO_SUB_INVALID_SHIP_TO_LOC'
                );
Line: 7480

         INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
        VALUES (p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        0,
        0,
        0,
        p_sequence + 1,
        substr(l_textline,1,240),
            'PO_SUB_NO_BILL_TO_LOC_ID');
Line: 7511

            SELECT hlt.location_code
            INTO l_invalid_location
            FROM hr_locations_all hla,
                 hr_locations_all_tl hlt
            WHERE hla.location_id = l_bill_to_location_id
            AND NVL(TRUNC(hla.inactive_date), TRUNC(SYSDATE)+1 ) <= TRUNC(SYSDATE)
            AND hlt.location_id=hla.location_id
            AND hlt.language=USERENV('LANG');
Line: 7520

            INSERT INTO po_online_report_text_gt(online_report_id,
                last_update_login,
                last_updated_by,
                last_update_date,
                created_by,
                creation_date,
                line_num,
                shipment_num,
                distribution_num,
                sequence,
                text_line,
                message_name)
            VALUES
               (
                p_online_report_id,
                p_login_id,
                p_user_id,
                SYSDATE,
                p_user_id,
                SYSDATE,
                0,
                0,
                0,
                p_sequence + 1,
                substr(PO_CORE_S.get_translated_text('PO_SUB_INVALID_BILL_TO_LOC','BILL_TO_LOC',l_invalid_location),1,240),
                'PO_SUB_INVALID_BILL_TO_LOC'
                );
Line: 7567

         INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
        VALUES (p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        0,
        0,
        0,
        p_sequence + 1,
        substr(l_textline,1,240),
            'PO_SUB_NO_CURRENCY_CODE');
Line: 7610

         INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
        VALUES (p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        0,
        0,
        0,
        p_sequence + 1,
        substr(l_textline,1,240),
            'PO_SUB_NO_RATE_TYPE');
Line: 7657

        INSERT INTO po_online_report_text_gt
        (   online_report_id
        ,   last_update_login
        ,   last_updated_by
        ,   last_update_date
        ,   created_by
        ,   creation_date
        ,   line_num
        ,   shipment_num
        ,   distribution_num
        ,   sequence
        ,   text_line
        ,   message_name
        )
        SELECT p_online_report_id
        ,      p_login_id
        ,      p_user_id
        ,      sysdate
        ,      p_user_id
        ,      sysdate
        ,      NULL
        ,      NULL
        ,      NULL
        ,      p_sequence + ROWNUM
        ,      l_textline
        ,      'PO_SUB_USER_RATE_TYPE'
        FROM   dual
        WHERE  exists ( SELECT 'Rate-based lines exist'
                        FROM   po_lines_gt      POL
                        ,      po_line_types_b  PLT
                        WHERE  p_document_id = POL.po_header_id
                        AND    POL.line_type_id = PLT.line_type_id
                        AND    PLT.order_type_lookup_code = 'RATE'
                      );
Line: 7710

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
                  sysdate,
        p_user_id,
        sysdate,
        0,
        0,
        0,
        p_sequence + ROWNUM,
        substr(l_textline,1,240),
                   'PO_ON_HOLD_CANNOT_APPROVE'
    FROM  PO_HEADERS_GT POH
    WHERE  POH.po_header_id = p_document_id
    AND    nvl(POH.USER_HOLD_FLAG,'N') = 'Y';
Line: 7762

 	INSERT INTO po_online_report_text_gt(online_report_id,
 				last_update_login,
 				last_updated_by,
 				last_update_date,
 				created_by,
 				creation_date,
 				line_num,
 				shipment_num,
 				distribution_num,
 				sequence,
 				text_line,
                                message_name)
 	SELECT 	p_online_report_id,
 		    p_login_id,
 		    p_user_id,
     	            sysdate,
 		    p_user_id,
 		    sysdate,
 		    0,
 		    0,
 		    0,
 		    p_sequence + ROWNUM,
 		    substr(l_textline,1,240),
                   'PO_PDOI_INVALID_VENDOR'
	FROM  dual
    where not exists (select 'Y'
			from PO_HEADERS_GT POH, po_vendors pov
		       WHERE  POH.po_header_id = p_document_id
		         AND  pov.vendor_id = poh.vendor_id
			 AND  pov.enabled_flag = 'Y'
			 AND  SYSDATE BETWEEN nvl(pov.start_date_active, SYSDATE-1)
                                  AND nvl(pov.end_date_active, SYSDATE+1));
Line: 7806

 	INSERT INTO po_online_report_text_gt(online_report_id,
 				last_update_login,
 				last_updated_by,
 				last_update_date,
 				created_by,
 				creation_date,
 				line_num,
 				shipment_num,
 				distribution_num,
 				sequence,
 				text_line,
                                message_name)
 	SELECT 	p_online_report_id,
 		    p_login_id,
 		    p_user_id,
     	            sysdate,
 		    p_user_id,
 		    sysdate,
 		    0,
 		    0,
 		    0,
 		    p_sequence + ROWNUM,
 		    substr(l_textline,1,240),
                   'PO_PDOI_INVALID_VENDOR_SITE'
    FROM  dual
    where not exists (select 'Y'
			from PO_HEADERS_GT POH, po_vendor_sites povs
		        WHERE  POH.po_header_id = p_document_id
		        AND  povs.vendor_site_id = poh.vendor_site_id
			AND    nvl(povs.rfq_only_site_flag,'N') <> 'Y'
			AND    povs.purchasing_site_flag = 'Y'
		        AND    SYSDATE < nvl(povs.inactive_date, SYSDATE + 1));
Line: 7849

	INSERT INTO po_online_report_text_gt(online_report_id,
 				last_update_login,
 				last_updated_by,
 				last_update_date,
 				created_by,
 				creation_date,
 				line_num,
 				shipment_num,
 				distribution_num,
 				sequence,
 				text_line,
                                message_name)
 	SELECT 	p_online_report_id,
 		    p_login_id,
 		    p_user_id,
     	            sysdate,
 		    p_user_id,
 		    sysdate,
 		    0,
 		    0,
 		    0,
 		    p_sequence + ROWNUM,
 		    substr(l_textline,1,240),
                   'PO_PDOI_INVALID_VDR_CNTCT'
	FROM  dual
	--Start of code changes for the bug 16244229
	WHERE NOT EXISTS ( SELECT  'Y'
			FROM
			AP_SUPPLIER_CONTACTS PVC ,
			AP_SUPPLIER_SITES_ALL PVS ,
			HZ_PARTIES HP ,
			HZ_RELATIONSHIPS HPR ,
			HZ_PARTY_SITES HPS ,
			HZ_ORG_CONTACTS HOC ,
			HZ_PARTIES HP2 ,
			AP_SUPPLIERS APS,
			po_headers_gt POH
			WHERE PVC.PER_PARTY_ID = HP.PARTY_ID
			AND PVC.REL_PARTY_ID   = HP2.PARTY_ID
			AND PVC.ORG_CONTACT_ID                           = HOC.ORG_CONTACT_ID(+)
			AND PVC.RELATIONSHIP_ID                          = HPR.RELATIONSHIP_ID
			AND HPR.DIRECTIONAL_FLAG                         ='F'
			AND NVL( APS.VENDOR_TYPE_LOOKUP_CODE, 'DUMMY' ) <> 'EMPLOYEE'
			AND ( (Pvc.Party_Site_Id  = Hps.Party_Site_Id
				AND PVS.PARTY_SITE_ID                     = PVC.ORG_PARTY_SITE_ID
				AND PVS.VENDOR_ID                                = APS.VENDOR_ID
				AND SYSDATE < nvl( LEAST(NVL(HPR.END_DATE, TO_DATE('12/31/4712','MM/DD/RRRR')), NVL(PVC.INACTIVE_DATE, TO_DATE('12/31/4712','MM/DD/RRRR'))), SYSDATE+1))
			OR (PVC.ORG_PARTY_SITE_ID                       IS NULL
				AND PVC.VENDOR_SITE_ID                          IS NULL
				AND HPR.OBJECT_ID                                = APS.PARTY_ID
				AND HPR.RELATIONSHIP_CODE                        = 'CONTACT_OF'
				And Hpr.Object_Type                              = 'ORGANIZATION'
				AND SYSDATE < NVL(HPR.END_DATE, SYSDATE+1) )
			)
			AND POH.VENDOR_CONTACT_ID = PVC.VENDOR_CONTACT_ID
			AND POH.PO_HEADER_ID=p_document_id);
Line: 7916

         INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
        VALUES (p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        0,
        0,
        0,
        p_sequence + 1,
        substr(l_textline,1,240),
            'PO_SUB_ENTER_VENDOR_CONTACT');
Line: 7949

		INSERT INTO po_online_report_text_gt(online_report_id,
					last_update_login,
					last_updated_by,
					last_update_date,
					created_by,
					creation_date,
					line_num,
					shipment_num,
					distribution_num,
					sequence,
					text_line,
									message_name)
		SELECT 	p_online_report_id,
				p_login_id,
				p_user_id,
						sysdate,
				p_user_id,
				sysdate,
				0,
				0,
				0,
				p_sequence + ROWNUM,
				substr(l_textline,1,240),
					   'PO_CONTACT_WITHOUT_VALID_USER'
		FROM  dual
		WHERE NOT EXISTS (SELECT 'Y'
							FROM po_supplier_contacts_val_v pscv,
							po_headers_gt poh,
							fnd_user fu
							WHERE pscv.vendor_contact_id = poh.vendor_contact_id
							AND pscv.vendor_site_id      = poh.vendor_site_id -- bug 9865162, included the check for vendor_site_id
							AND poh.po_header_id         = p_document_id
							AND fu.user_name = pscv.user_name
							AND trunc(sysdate) BETWEEN trunc(fu.start_date)
                                                        and trunc(nvl(fu.end_date,SYSDATE+1)));
Line: 7997

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        0,
        0,
        0,
        p_sequence + ROWNUM,
        substr(l_textline,1,240),
            'PO_SUB_AWARD_TYPE_NULL'
    FROM  PO_HEADERS_GT POH
    WHERE  POH.po_header_id = p_document_id
    AND    POH.type_lookup_code = 'STANDARD'
    AND    POH.clm_award_type IS NULL
    AND    nvl(l_clm_po,'N') = 'Y';
Line: 8035

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        0,
        0,
        0,
        p_sequence + ROWNUM,
        substr(l_textline,1,240),
            'PO_SUB_IDV_WITHOUT_SOURCE'
    FROM  PO_HEADERS_GT POH
    WHERE  POH.po_header_id = p_document_id
      AND  POH.type_lookup_code = 'STANDARD'
      AND  Nvl(POH.clm_award_type,'N') IN (SELECT lookup_code
                                             FROM PO_LOOKUP_CODES
                                            WHERE lookup_type = 'PO_CLM_AWD_TYPE_ORD_OFF_IDV')
      AND  POH.clm_source_document_id IS NULL
      AND  POH.clm_external_idv IS NULL
      AND  nvl(l_clm_po,'N') = 'Y';
Line: 8076

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        0,
        0,
        0,
        p_sequence + ROWNUM,
        substr(l_textline,1,240),
            'PO_SUB_AWARD_WITH_SOURCE'
    FROM  PO_HEADERS_GT POH
    WHERE  POH.po_header_id = p_document_id
      AND  POH.type_lookup_code = 'STANDARD'
      AND  Nvl(POH.clm_award_type,'N') IN (SELECT lookup_code
                                           FROM PO_LOOKUP_CODES
                                          WHERE lookup_type = 'PO_CLM_AWD_TYPE_SPO')
      AND  (POH.clm_source_document_id IS NOT NULL
            OR
            POH.clm_external_idv IS NOT NULL )
      AND  nvl(l_clm_po,'N') = 'Y';
Line: 8119

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
                  sysdate,
        p_user_id,
        sysdate,
        0,
        0,
        0,
        p_sequence + ROWNUM,
        l_textline,
                   'PO_BUYER_INACTIVE'
        FROM  dual
    where not exists (select 'inactive buyer'
                      from PO_HEADERS_GT POH,
                           PO_BUYERS_V POB --  Replace PO_BUYERS_VAL_V with PO_BUYERS_V
		      where poh.agent_id = pob.employee_id);
Line: 8186

*       p_online_report_id: Id used to INSERT INTO online_report_text table
*       p_user_id:          User performing the action
*       p_login_id:         Last update login_id
*       p_check_asl:        Determines whether to perform ASL checks...
*                           PO_SUB_ITEM_NOT_APPROVED, PO_SUB_ITEM_ASL_DEBARRED
*   IN OUT PARAMETERS
*       p_sequence:          Sequence number of last reported error
* Modifies: Updates PO_DISTRIBUTIONS table with RATE information.
*           Inserts error msgs in online_report_text_gt table, uses
*           global_temp tables for processing
* Effects:  This procedure runs the document submission checks for POs
* Returns:
*  p_sequence: This parameter contains the current count of number of error
*              messages inserted
*/
PROCEDURE check_po(p_document_id IN NUMBER,
                       p_online_report_id IN NUMBER,
                       p_user_id IN NUMBER,
                       p_login_id IN NUMBER,
                       p_sequence IN OUT NOCOPY NUMBER,
                       x_return_status OUT NOCOPY VARCHAR2) IS

l_textline  po_online_report_text.text_line%TYPE := NULL;
Line: 8269

    SELECT 'Y' into l_clm_document
    FROM   po_headers_all h,
           po_doc_style_headers s
    WHERE  h.po_header_id = p_document_id
           AND h.style_id = s.style_id
           AND Nvl(s.clm_flag,'N') = 'Y';
Line: 8285

    INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
          creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
    SELECT  p_online_report_id,
            p_login_id,
            p_user_id,
            sysdate,
            p_user_id,
            sysdate,
            0, 0, 0,
            p_sequence + ROWNUM,
            substr(l_textline,1,240),
            'PO_SUB_HEADER_NO_LINES'
    FROM   PO_HEADERS_GT POH
    WHERE  POH.po_header_id = p_document_id AND
           NOT EXISTS (SELECT 'Lines Exist'
                       FROM   PO_LINES_GT POL
                       WHERE  POL.po_header_id = POH.po_header_id
                       --Bug 3289638 Check for any line to exist irrespective of cancel_flag
                       --AND    nvl(POL.cancel_flag,'N') = 'N'
                       )
           AND Nvl(poh.draft_id,-1) = -1 ;-- added this conditions so that this Sql is executed only for awards and is skipped for mods and par.
Line: 8344

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        POL.line_num,
        0,
        0,
        p_sequence + ROWNUM,
        substr(g_linemsg||g_delim||POL.line_num||g_delim||l_textline,1,240),
            'PO_SUB_LINE_NO_SHIP'
  FROM    PO_LINES_GT POL
    WHERE   POL.po_header_id = p_document_id AND
        nvl(POL.cancel_flag,'N') = 'N' AND
		  -- CLM Aprvl  Info Lines will not be having Shipments
		  Nvl(POL.CLM_INFO_FLAG,'N')= 'N' AND
          -- CLM Aprvl
        nvl(POL.closed_code,'OPEN') <> 'FINALLY CLOSED' AND
        NOT EXISTS (SELECT 'Shipments Exist'
                  FROM   PO_LINE_LOCATIONS_GT PLL
                  WHERE  PLL.po_line_id = POL.po_line_id AND
                       PLL.shipment_type in ('STANDARD','PLANNED'));
Line: 8411

     INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
        message_name,
        message_type)
     SELECT p_online_report_id,
            p_login_id,
            p_user_id,
            sysdate,
            p_user_id,
            sysdate,
            POL.line_num,
            PLL.shipment_num,
            0,
            p_sequence + ROWNUM,
            substr(g_linemsg||g_delim||Nvl(POL.line_num_display,POL.line_num)||g_delim||
                   g_shipmsg||g_delim||PLL.shipment_num||g_delim||l_textline,1,240),
            Decode(l_clm_document, 'Y', 'PO_CLM_SUB_SHIP_NO_DIST_WARN', 'PO_SUB_SHIP_NO_DIST'),
            Decode(l_clm_document, 'Y', 'W', NULL)
     FROM   PO_LINE_LOCATIONS_GT PLL,PO_LINES_GT POL
     WHERE  PLL.po_line_id   = POL.po_line_id AND
            PLL.po_header_id = p_document_id AND
            nvl(PLL.cancel_flag, 'N')  = 'N' AND
            nvl(POL.cancel_flag, 'N')  = 'N' AND
            nvl(PLL.closed_code, 'OPEN') <> 'FINALLY CLOSED' AND
            PLL.shipment_type in ('STANDARD', 'PLANNED', 'PREPAYMENT') --
	    AND Nvl(POL.CLM_OPTION_INDICATOR, 'B') <> 'O'
	    AND Nvl(POL.CLM_INFO_FLAG,'N')= 'N'
            AND NOT EXISTS (SELECT 'Distribution Exists'
                            FROM   PO_DISTRIBUTIONS_GT POD
                            WHERE  POD.line_location_id = PLL.line_location_id);
Line: 8495

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
            POL.line_num,
            PLL.shipment_num,
            POD.distribution_num,
        p_sequence + ROWNUM,
          substr(g_linemsg||g_delim||POL.line_num||g_delim
                   ||g_shipmsg||g_delim||PLL.shipment_num||g_delim
                   ||g_distmsg||g_delim||POD.distribution_num||g_delim
                   ||l_textline,1,240),
            'PO_SUB_DIST_RATE_NULL'
    FROM PO_DISTRIBUTIONS_GT POD,PO_LINE_LOCATIONS_GT PLL,PO_LINES_GT POL,
         PO_HEADERS_GT POH,GL_SETS_OF_BOOKS SOB,FINANCIALS_SYSTEM_PARAMETERS FSP
    WHERE POD.po_header_id = POH.po_header_id
    AND POD.line_location_id = PLL.line_location_id
    AND PLL.po_line_id = POL.po_line_id
    AND POH.po_header_id = p_document_id
    AND nvl(PLL.cancel_flag,'N') = 'N'
    AND nvl(POL.cancel_flag,'N') = 'N'
    AND nvl(PLL.closed_code,'OPEN') <> 'FINALLY CLOSED'
    AND PLL.shipment_type in ('STANDARD', 'PLANNED')
    AND SOB.set_of_books_id = FSP.set_of_books_id
    AND SOB.currency_code <> POH.currency_code
    AND (POD.rate is null
        OR (POH.rate_type <> 'User'
            AND POD.rate_date is null));
Line: 8554

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
            POL.line_num,
            PLL.shipment_num,
            POD.distribution_num,
        p_sequence + ROWNUM,
          substr(g_linemsg||g_delim||POL.line_num||g_delim
                   ||g_shipmsg||g_delim||PLL.shipment_num||g_delim
                   ||g_distmsg||g_delim||POD.distribution_num||g_delim
                   ||l_textline,1,240),
            'PO_SUB_DIST_RATE_NOT_NULL'
    FROM PO_DISTRIBUTIONS_GT POD,PO_LINE_LOCATIONS_GT PLL,PO_LINES_GT POL,
         PO_HEADERS_GT POH,GL_SETS_OF_BOOKS SOB,FINANCIALS_SYSTEM_PARAMETERS FSP
    WHERE POD.po_header_id = POH.po_header_id
    AND POD.line_location_id = PLL.line_location_id
    AND PLL.po_line_id = POL.po_line_id
    AND POH.po_header_id = p_document_id
    AND nvl(PLL.cancel_flag,'N') = 'N'
    AND nvl(POL.cancel_flag,'N') = 'N'
    AND nvl(PLL.closed_code,'OPEN') <> 'FINALLY CLOSED'
    AND PLL.shipment_type in ('STANDARD', 'PLANNED')
    AND SOB.set_of_books_id = FSP.set_of_books_id
    AND SOB.currency_code = POH.currency_code
    AND POD.rate is not null;
Line: 8623

        INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        0,
        0,
        0,
        p_sequence + ROWNUM,
        substr(l_textline,1,240),
            'PO_SUB_STD_CONTRACT_AMT_LIMIT'
        FROM DUAL;
Line: 8673

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        POL.line_num,
        0,
        0,
        p_sequence + ROWNUM,
        substr(g_linemsg||g_delim||POL.line_num||g_delim||l_textline,1,240),
            'PO_SUB_REF_UNAPPROVED_CONTRACT'
    FROM PO_LINES_GT POL,
         PO_HEADERS_ALL POC   --  : use all table
    WHERE POL.po_header_id = p_document_id
    AND   POL.contract_id = POC.po_header_id    -- 
    AND   POC.type_lookup_code = 'CONTRACT'
  /* R12 GCPA
  + If Profile ALLOW_REFERENCING_CPA_UNDER_AMENDMENT is Y, then we can refer any Contract Which is approved Once
  + Else Contract should be in APPROVED state  */
  AND    ( (NVL(FND_PROFILE.VALUE('ALLOW_REFERENCING_CPA_UNDER_AMENDMENT'),'N') = 'Y'
           AND POC.Approved_Date Is Null
	    )
	 or (  NVL(FND_PROFILE.VALUE('ALLOW_REFERENCING_CPA_UNDER_AMENDMENT'),'N') = 'N'
          and nvl(POC.APPROVED_FLAG,'N') <> 'Y')
	 )
    AND   NVL(POC.user_hold_flag, 'N') <> 'Y';      --< Bug 3422733 >
Line: 8732

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
        message_name,
        message_type)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        POL.line_num,
        0,
        0,
        p_sequence + ROWNUM,
        substr(g_linemsg||g_delim||POL.line_num||g_delim||l_textline,1,240),
        'PO_SUB_LINE_CONTRACT_MISMATCH',
        Decode(is_approved_clm_document(p_document_id), 'Y', 'W', NULL)
    FROM PO_LINES_GT POL,
         PO_HEADERS_ALL POC,  -- : Use _ALL table
         PO_HEADERS_GT POH
    WHERE POH.po_header_id = p_document_id
    AND   POL.po_header_id = POH.po_header_id
    AND   POL.contract_id = POC.po_header_id  -- 
    AND   POC.type_lookup_code = 'CONTRACT'
    AND   nvl(POC.cancel_flag , 'N') = 'N'
    AND   POC.vendor_id <> POH.vendor_id;
Line: 8827

    INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
  SELECT  /*+ FULL(POL) */  -- bug3413891
                 p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
            POL.line_num,
            0,
            0,
            p_sequence + ROWNUM,
            substr(g_linemsg||g_delim||POL.line_num||g_delim||l_textline||
                   MTL1.uom_class||' , '||MTL2.uom_class,1,240),
            'PO_SUB_UOM_CLASS_CONVERSION'
    FROM MTL_UOM_CLASS_CONVERSIONS MOU, PO_LINES_GT POL,
         MTL_UOM_CLASSES_TL MTL1, MTL_UOM_CLASSES_TL MTL2
    WHERE POL.item_id = MOU.inventory_item_id
    AND   (nvl(MOU.disable_date, TRUNC(SYSDATE))+1) < TRUNC(SYSDATE)
    AND   POL.po_header_id = p_document_id
    AND   MOU.from_uom_class = MTL1.uom_class
    AND   MOU.to_uom_class = MTL2.uom_class
    AND EXISTS
       (SELECT 'uom conversion exists'
        FROM MTL_UNITS_OF_MEASURE MUM
        WHERE POL.unit_meas_lookup_code = MUM.unit_of_measure
        AND   MOU.to_uom_class = MUM.uom_class);
Line: 8938

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        POL.line_num,
        PLL.shipment_num,
        0,
        p_sequence + ROWNUM,
        substr(g_linemsg||g_delim||POL.line_num||g_delim||
                   g_shipmsg||g_delim||PLL.shipment_num||g_delim
                   ||l_textline,1,240),
            'PO_SUB_ITEM_NOT_APPROVED'
    FROM MTL_SYSTEM_ITEMS MSI, PO_LINE_LOCATIONS_GT PLL,
         PO_LINES_GT POL, PO_HEADERS_GT POH,
         FINANCIALS_SYSTEM_PARAMETERS FSP
    WHERE POH.po_header_id = p_document_id
    AND POH.po_header_id = POL.po_header_id
    AND PLL.po_line_id(+) = POL.po_line_id
    AND PLL.po_release_id IS NULL
    AND MSI.organization_id = PLL.ship_to_organization_id
    AND MSI.inventory_item_id = POL.item_id
    AND POL.item_id is not null
    AND nvl(PLL.closed_code,'OPEN') <> 'FINALLY CLOSED'
    AND nvl(POL.cancel_flag,'N') = 'N'
    AND nvl(PLL.cancel_flag,'N') = 'N'
    AND nvl(MSI.must_use_approved_vendor_flag,'N') = 'Y'
    AND NOT exists
      (SELECT 1
        FROM PO_APPROVED_SUPPLIER_LIS_VAL_V ASL, PO_ASL_STATUS_RULES ASR
        WHERE  ASL.using_organization_id in (PLL.ship_to_organization_id, -1)
        AND    ASL.vendor_id = POH.vendor_id
        --Bug 16573818: Added the 'OR' clause below to match the vendor site code
	--for cases in which the vendor site IDs are different, but code is same.
        AND    (nvl(ASL.vendor_site_id, POH.vendor_site_id) = POH.vendor_site_id
		OR EXISTS (  SELECT  'vendor site code matches ASL'
                       FROM  po_vendor_sites_all pvs1, po_vendor_sites_all pvs2
                       WHERE  pvs1. vendor_site_id = ASL.vendor_site_id
                       and pvs2.vendor_site_id = POH.vendor_site_id
                       and pvs1.vendor_site_code = pvs2.vendor_site_code) )
        AND  ASL.item_id = POL.item_id
        AND    ASL.asl_status_id = ASR.status_id
        AND    ASR.business_rule = '1_PO_APPROVAL'
	AND   ASR.allow_action_flag = 'Y'    --Bug5597639
        UNION ALL
       SELECT  1
        FROM PO_APPROVED_SUPPLIER_LIS_VAL_V ASL, PO_ASL_STATUS_RULES ASR
        WHERE  ASL.using_organization_id in (PLL.ship_to_organization_id, -1)
        AND    ASL.vendor_id = POH.vendor_id
        AND    nvl(ASL.vendor_site_id, POH.vendor_site_id) = POH.vendor_site_id
        AND    ASL.item_id is NULL
        AND    not exists
           (SELECT ASL1.ASL_ID
            FROM PO_APPROVED_SUPPLIER_LIS_VAL_V ASL1
            WHERE ASL1.ITEM_ID = POL.item_id
            AND ASL1.using_organization_id in
                (PLL.ship_to_organization_id, -1))
        AND    ASL.category_id in
           (SELECT MIC.category_id
            FROM   MTL_ITEM_CATEGORIES MIC
            WHERE MIC.inventory_item_id = POL.item_id
            AND MIC.organization_id = PLL.ship_to_organization_id)
        AND    ASL.asl_status_id = ASR.status_id
        AND    ASR.business_rule = '1_PO_APPROVAL'
        AND   ASR.allow_action_flag = 'Y');    --Bug5597639
Line: 9042

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        POL.line_num,
        PLL.shipment_num,
        0,
        p_sequence + ROWNUM,
        substr(g_linemsg||g_delim||POL.line_num||g_delim
                   ||g_shipmsg||g_delim||PLL.shipment_num||g_delim
                   ||l_textline,1,240),
            'PO_SUB_ITEM_ASL_DEBARRED'
     FROM PO_LINE_LOCATIONS_GT PLL,
         PO_LINES_GT POL, PO_HEADERS_GT POH,
         FINANCIALS_SYSTEM_PARAMETERS FSP
    WHERE POH.po_header_id = p_document_id
    AND POH.po_header_id = POL.po_header_id
    AND PLL.po_line_id(+) = POL.po_line_id
    AND PLL.po_release_id IS NULL
    AND nvl(PLL.closed_code,'OPEN') <> 'FINALLY CLOSED'
    AND nvl(POL.cancel_flag,'N') = 'N'
    AND nvl(PLL.cancel_flag,'N') = 'N'
    AND exists
       (SELECT 1
        FROM PO_APPROVED_SUPPLIER_LIS_VAL_V ASL, PO_ASL_STATUS_RULES ASR,
	MTL_SYSTEM_ITEMS MSI  --Bug5597639
        WHERE  ASL.using_organization_id in (PLL.ship_to_organization_id, -1)
	/*Bug5597639 Adding the below three conditions */
	AND MSI.organization_id = FSP.inventory_organization_id
	AND MSI.inventory_item_id = POL.item_id
	AND POL.item_id is not null
        AND    ASL.vendor_id = POH.vendor_id
        AND    nvl(ASL.vendor_site_id, POH.vendor_site_id) = POH.vendor_site_id
        AND  ASL.item_id = POL.item_id
        AND    ASL.asl_status_id = ASR.status_id
        AND    ASR.business_rule = '1_PO_APPROVAL'
        AND    ASR.allow_action_flag <> 'Y' -- Bug 5724696
        UNION ALL
        SELECT 1
        FROM PO_APPROVED_SUPPLIER_LIS_VAL_V ASL, PO_ASL_STATUS_RULES ASR
        WHERE  ASL.using_organization_id in (PLL.ship_to_organization_id, -1)
        AND    ASL.vendor_id = POH.vendor_id
        AND    nvl(ASL.vendor_site_id, POH.vendor_site_id) = POH.vendor_site_id
        AND    ASL.item_id is NULL
	AND  POL.category_id = ASL.category_id  --Bug5597639
        AND    ASL.asl_status_id = ASR.status_id
        AND    ASR.business_rule = '1_PO_APPROVAL'
        AND    ASR.allow_action_flag <> 'Y' );  --Bug5597639
Line: 9128

    INSERT INTO po_online_report_text_gt(
       online_report_id,
       last_update_login,
       last_updated_by,
       last_update_date,
       created_by,
       creation_date,
       line_num,
       shipment_num,
       distribution_num,
       sequence,
       text_line,
       message_name
    )
    SELECT p_online_report_id,
           p_login_id,
           p_user_id,
           sysdate,
           p_user_id,
           sysdate,
           POL.line_num,
           0,
           0,
           p_sequence + ROWNUM,
           SUBSTR (g_linemsg || g_delim || POL.line_num ||g_delim ||
                   l_textline,1,240),
           'PO_SUB_LINE_CONTRACT_HOLD'
    FROM   po_lines_gt POL,
           po_headers_gt POH,
           po_headers_all POC
    WHERE  POH.po_header_id = p_document_id
    AND    NVL(POH.authorization_status, 'INCOMPLETE') = 'INCOMPLETE'
    AND    POL.po_header_id = POH.po_header_id
    AND    POC.po_header_id = POL.contract_id
    AND    POC.user_hold_flag = 'Y';
Line: 9184

    INSERT INTO po_online_report_text_gt(
       online_report_id,
       last_update_login,
       last_updated_by,
       last_update_date,
       created_by,
       creation_date,
       line_num,
       shipment_num,
       distribution_num,
       sequence,
       text_line,
       message_name
    )
    SELECT p_online_report_id,
           p_login_id,
           p_user_id,
           sysdate,
           p_user_id,
           sysdate,
           POL.line_num,
           0,
           0,
           p_sequence + ROWNUM,
           SUBSTR (g_linemsg || g_delim || POL.line_num ||g_delim ||
                   l_textline,1,240),
           'PO_SUB_LINE_CONTRACT_EXP'
    FROM   po_lines_gt POL,
           po_headers_gt POH,
           po_headers_all POC
    WHERE  POH.po_header_id = p_document_id
    AND    NVL(POH.authorization_status, 'INCOMPLETE') = 'INCOMPLETE'
    AND    POL.po_header_id = POH.po_header_id
    AND    POC.po_header_id = POL.contract_id
    AND    TRUNC(POL.creation_date) NOT BETWEEN NVL(TRUNC(POC.start_date),
                                                    POL.creation_date-1)
                                        AND     NVL(TRUNC(POC.end_date),
                                                    POL.creation_date+1);
Line: 9240

    INSERT INTO po_online_report_text_gt(
       online_report_id,
       last_update_login,
       last_updated_by,
       last_update_date,
       created_by,
       creation_date,
       line_num,
       shipment_num,
       distribution_num,
       sequence,
       text_line,
       message_name
    )
    SELECT p_online_report_id,
           p_login_id,
           p_user_id,
           sysdate,
           p_user_id,
           sysdate,
           POL.line_num,
           0,
           0,
           p_sequence + ROWNUM,
           SUBSTR (g_linemsg || g_delim || POL.line_num ||g_delim ||
                   l_textline,1,240),
           'PO_ATO_ITEM_NA'
    FROM   po_lines_gt POL,
           po_headers_gt POH,
           financials_system_params_all FSP,
           mtl_system_items MSI
    WHERE  fsp.org_id = poh.org_id
    AND    POH.po_header_id = p_document_id
    AND    POL.po_header_id = POH.po_header_id
    AND    POL.item_id is not null
    AND    nvl(POL.cancel_flag, 'N') = 'N'                   --5353423
    AND    nvl(POL.closed_code, 'OPEN') <> 'FINALLY CLOSED'  --5353423
    AND    POL.item_id = MSI.inventory_item_id
    AND    MSI.organization_id = FSP.inventory_organization_id
    AND    MSI.bom_item_type in (1,2);
Line: 9298

      INSERT INTO po_online_report_text_gt(online_report_id,
      last_update_login,
      last_updated_by,
      last_update_date,
      created_by,
      creation_date,
      line_num,
      shipment_num,
      distribution_num,
      sequence,
      text_line,
      message_name)
      SELECT  p_online_report_id,
      p_login_id,
      p_user_id,

     sysdate,
      p_user_id,
      sysdate,
      pl.line_num,
      0,
      0,
      p_sequence + ROWNUM,
       substr(g_linemsg||g_delim||pl.line_num||g_delim||l_textline,1,240),
      'PO_ALL_NO_ITEM'
      from po_headers_gt ph, po_lines_gt pl,mtl_system_items  itm,financials_system_params_all fsp,po_line_types_b plt
      where   fsp.org_id = ph.org_id
      and itm.inventory_item_id  = pl.item_id
      and   pl.item_id is not null
      and   itm.organization_id    = fsp.inventory_organization_id
      and   itm.purchasing_enabled_flag = 'N'
      and   ph.po_header_id = p_document_id
      and   pl.po_header_id = ph.po_header_id
      and   pl.line_type_id = plt.line_type_id
      and   nvl(plt.outside_operation_flag,'N') =  nvl(itm.outside_operation_flag,'N')
      and   (pl.creation_date >= nvl(ph.approved_date ,pl.creation_date));
Line: 9347

      INSERT INTO po_online_report_text_gt(online_report_id,
      last_update_login,
      last_updated_by,
      last_update_date,
      created_by,
      creation_date,
      line_num,
      shipment_num,
      distribution_num,
      sequence,
      text_line,
      message_name)
      SELECT  p_online_report_id,
      p_login_id,
      p_user_id,
      sysdate,
      p_user_id,
      sysdate,
      pl.line_num,
      pll.shipment_num,
      0,
      p_sequence + ROWNUM,
      substr(g_linemsg||g_delim||pl.line_num||g_delim||
       g_shipmsg||g_delim||pll.shipment_num||g_delim||l_textline,1,240),
      'PO_ALL_NO_ITEM'
      from po_headers_gt ph,po_lines_gt pl,po_line_locations_gt  pll,mtl_system_items itm,po_line_types_b plt
    where itm.inventory_item_id  = pl.item_id
    and   pl.item_id is not null
      and   itm.organization_id    = pll.ship_to_organization_id
      and   itm.purchasing_enabled_flag = 'N'
      and   pl.po_line_id   = pll.po_line_id
      and   ph.po_header_id = pll.po_header_id
      and   ph.po_header_id = p_document_id
      and   pl.po_header_id = ph.po_header_id
      and   pl.line_type_id = plt.line_type_id
      and   nvl(plt.outside_operation_flag,'N') =  nvl(itm.outside_operation_flag,'N')
      and   (pl.creation_date >= nvl(ph.approved_date,pl.creation_date))
      and   pll.shipment_type <> 'PREPAYMENT' --
      and   pll.po_release_id is null;
Line: 9409

    INSERT INTO po_online_report_text_gt(
       online_report_id,
       last_update_login,
       last_updated_by,
       last_update_date,
       created_by,
       creation_date,
       line_num,
       shipment_num,
       distribution_num,
       sequence,
       text_line,
       message_name
    )
    SELECT p_online_report_id,
           p_login_id,
           p_user_id,
           sysdate,
           p_user_id,
           sysdate,
           POL.line_num,
           PLL.shipment_num,
           0,
           p_sequence + ROWNUM,
           SUBSTR (g_linemsg || g_delim || POL.line_num ||g_delim ||
             g_shipmsg || g_delim || PLL.shipment_num ||g_delim || l_textline,1,240),
           'PO_PO_PLANNED_ITEM_DATE_REQ'
    FROM   po_lines_gt POL,
           po_headers_gt POH,
           po_line_locations_gt PLL,
           financials_system_parameters FSP,
           mtl_system_items MSI
    WHERE  POH.po_header_id = p_document_id
    AND    POL.po_header_id = POH.po_header_id
    AND    POL.po_line_id = PLL.po_line_id
    AND    PLL.po_header_id = POH.po_header_id
    AND    POL.item_id is not null
    AND    PLL.need_by_date is null
    AND    PLL.promised_date is null
    AND    PLL.shipment_type <> 'PREPAYMENT' --bug 4997671 
    AND    POL.item_id = MSI.inventory_item_id
    AND    nvl(POL.cancel_flag, 'N') = 'N'                   --8518511 including the cancel condition for the planned item data check
    AND    nvl(POL.closed_code, 'OPEN') <> 'FINALLY CLOSED'  --8518511
    AND    MSI.organization_id = FSP.inventory_organization_id
    AND    (MSI.mrp_planning_code IN (3,4,7,8,9) OR
            MSI.inventory_planning_code IN (1,2) );
Line: 9476

    SELECT  pol.line_num,
            poll.shipment_num,
            hlat.location_code
    BULK COLLECT INTO
            l_line_num,
            l_shipment_num,
            l_ship_to_location_tbl
    FROM
            po_lines_gt pol,
            po_line_locations_gt poll,
            hr_locations_all hla,
            hr_locations_all_tl hlat
    WHERE poll.po_header_id=p_document_id
    and pol.po_Header_id=p_document_id
    and pol.po_line_id = poll.po_line_id
    and poll.ship_to_location_id = hla.location_id
    and nvl(poll.cancel_flag,'N') = 'N'
       --and nvl(poll.closed_code,'OPEN') <> 'FINALLY CLOSED'--Bug#12396691
    and (nvl(poll.closed_code,'OPEN') = 'OPEN' OR NVL(poll.APPROVED_FLAG,'N') = 'R')--Bug#12396691
    and hla.location_id = hlat.location_id
    and nvl (trunc (hla.inactive_date), trunc (sysdate)+1 )<= trunc (sysdate)
    and hlat.language=userenv('lang');
Line: 9504

    INSERT INTO po_online_report_text_gt (online_report_id,
      last_update_login,
      last_updated_by,
      last_update_date,
      created_by,
      creation_date,
      line_num,
      shipment_num,
      distribution_num,
      sequence,
      text_line,
      message_name)
    VALUES(
            p_online_report_id,
            p_login_id,
            p_user_id,
            sysdate,
            p_user_id,
            sysdate,
            l_line_num(i),
            l_shipment_num(i),
            NULL,                                             -- 
            p_sequence+l_rowCount(i),
            PO_CORE_S.get_translated_text
                (   'PO_SUB_SHIPTO_LOC_INVALID'
                ,   'LINE_NUM', l_line_num(i)
                ,   'SHIPMENT_NUM', l_shipment_num(i)
                ,   'SHIP_TO_LOC', l_ship_to_location_tbl(i)
                ),
            'PO_SUB_PO_SHIPTO_LOC_INVALID'
        );
Line: 9582

            INSERT INTO po_online_report_text_gt
            (
             online_report_id,
             last_update_login,
             last_updated_by,
             last_update_date,
             created_by,
             creation_date,
             line_num,
             shipment_num,
             distribution_num,
             sequence,
             text_line,
             message_name,
             message_type
            )
            VALUES
            (
              p_online_report_id,
              p_login_id,
              p_user_id,
              sysdate,
              p_user_id,
              sysdate,
              po_tax_interface_pvt.G_TAX_ERRORS_TBL.line_num(i),
              po_tax_interface_pvt.G_TAX_ERRORS_TBL.shipment_num(i),
              po_tax_interface_pvt.G_TAX_ERRORS_TBL.distribution_num(i),
              p_sequence + i, /* 11851142 replaced from ROWNUM */
              l_tax_message || po_tax_interface_pvt.G_TAX_ERRORS_TBL.message_text(i),
              'PO_TAX_CALCULATION_FAILED',
              'E'
            );
Line: 9664

      INSERT INTO po_online_report_text_gt(
         online_report_id,
         last_update_login,
         last_updated_by,
         last_update_date,
         created_by,
         creation_date,
         line_num,
         shipment_num,
         distribution_num,
         sequence,
         text_line,
         message_name,
         message_type
      )
      SELECT p_online_report_id,
             p_login_id,
             p_user_id,
             sysdate,
             p_user_id,
             sysdate,
             POL.line_num,
             PLL.shipment_num,
             0,
             p_sequence + ROWNUM,
             SUBSTR (g_linemsg || POL.line_num || g_delim ||
                     g_shipmsg || PLL.shipment_num || g_delim ||
                     l_textline,
                     1,240),
             'PO_SUB_VMI_ASL_EXISTS',
             'W'
      FROM   PO_LINES_GT POL,
             PO_HEADERS_GT POH,
             PO_LINE_LOCATIONS_GT PLL,
             PO_APPROVED_SUPPLIER_LIS_VAL_V PASL,
             PO_ASL_ATTRIBUTES PAA,
             PO_ASL_STATUS_RULES_V PASR

      WHERE  POH.po_header_id = p_document_id
      AND    POL.po_header_id = POH.po_header_id
      AND    PLL.po_header_id = POH.po_header_id
      AND    PLL.po_line_id   = POL.po_line_id

      -- item is not null
      AND    POL.item_id IS NOT NULL

      -- Document is standard PO
      AND    POH.type_lookup_code = 'STANDARD'

      --VMI is enabled
      AND    PASL.item_id = POL.item_id
      AND    PASL.vendor_id = POH.vendor_id
      AND    nvl(PASL.vendor_site_id,-1) = nvl(POH.vendor_site_id,-1)
      AND    PASL.using_organization_id IN (PLL.ship_to_organization_id, -1)
      AND    PASR.status_id = PASL.asl_status_id
      AND    PASR.business_rule = '2_SOURCING'
      AND    PASR.allow_action_flag = 'Y'
      AND    PASL.asl_id = PAA.asl_id
      AND    PAA.enable_vmi_flag = 'Y'
      AND    PAA.using_organization_id =
               (SELECT max(paa2.using_organization_id)
                FROM   po_asl_attributes paa2
                WHERE  paa2.asl_id = pasl.asl_id
                AND    paa2.using_organization_id IN (-1, PLL.ship_to_organization_id));
Line: 9748

    INSERT INTO po_online_report_text_gt
               (online_report_id,
                last_update_login,
                last_updated_by,
                last_update_date,
                created_by,
                creation_date,
                line_num,
                shipment_num,
                distribution_num,
                SEQUENCE,
                text_line,
                message_name)
    SELECT p_online_report_id,
           p_login_id,
           p_user_id,
           SYSDATE,
           p_user_id,
           SYSDATE,
           pol.line_num,
           0,
           0,
           p_sequence + ROWNUM,
           po_core_s.GET_TRANSLATED_TEXT('PO_INVALID_OKE_CONTRACT_VER_ID',
                                         'LINE_NUM',pol.line_num),
           'PO_INVALID_OKE_CONTRACT_VER_ID'
    FROM   po_lines_gt pol
    WHERE  pol.oke_contract_version_id IS NOT NULL
           AND NVL(pol.cancel_flag,'N') = 'N' ----
           AND pol.oke_contract_version_id NOT IN (SELECT major_version
                                                   FROM   oke_k_vers_numbers_v
                                                   WHERE  chr_id = pol.oke_contract_header_id
                                                   UNION
                                                   SELECT major_version
                                                   FROM   okc_k_vers_numbers_h
                                                   WHERE  chr_id = pol.oke_contract_header_id);
Line: 9789

    INSERT INTO po_online_report_text_gt
               (online_report_id,
                last_update_login,
                last_updated_by,
                last_update_date,
                created_by,
                creation_date,
                line_num,
                shipment_num,
                distribution_num,
                SEQUENCE,
                text_line,
                message_name)
    SELECT p_online_report_id,
           p_login_id,
           p_user_id,
           SYSDATE,
           p_user_id,
           SYSDATE,
           pol.line_num,
           pos.shipment_num,
           pod.distribution_num,
           p_sequence + ROWNUM,
           po_core_s.GET_TRANSLATED_TEXT('PO_INVALID_OKE_CONTRACT_LNE_ID',
                                         'LINE_NUM',pol.line_num,
                                         'SHIP_NUM',pos.shipment_num,
                                         'DIST_NUM',pod.distribution_num),
           'PO_INVALID_OKE_CONTRACT_LNE_ID'
    FROM   po_distributions_gt pod,
           po_line_locations_gt pos,
           po_lines_gt pol
    WHERE  pod.po_line_id = pol.po_line_id
           AND pod.line_location_id = pos.line_location_id
           AND pod.oke_contract_line_id IS NOT NULL
	    AND NVL(pol.cancel_flag,'N') = 'N' ----
           AND pod.oke_contract_line_id NOT IN (SELECT id
                                                FROM   okc_k_lines_b
                                                WHERE  dnz_chr_id = pol.oke_contract_header_id
                                                -- 
                                                -- Look for contract lines in oke_deliverables_b also (DTS flow)
                                                UNION
                                                SELECT deliverable_id
                                                FROM   oke_deliverables_b
                                                WHERE  source_header_id = pol.oke_contract_header_id);
Line: 9838

    INSERT INTO po_online_report_text_gt
               (online_report_id,
                last_update_login,
                last_updated_by,
                last_update_date,
                created_by,
                creation_date,
                line_num,
                shipment_num,
                distribution_num,
                SEQUENCE,
                text_line,
                message_name)
    SELECT p_online_report_id,
           p_login_id,
           p_user_id,
           SYSDATE,
           p_user_id,
           SYSDATE,
           pol.line_num,
           pos.shipment_num,
           pod.distribution_num,
           p_sequence + ROWNUM,
           po_core_s.GET_TRANSLATED_TEXT('PO_INVALID_OKE_CONTRACT_DLV_ID',
                                         'LINE_NUM',pol.line_num,
                                         'SHIP_NUM',pos.shipment_num,
                                         'DIST_NUM',pod.distribution_num),
           'PO_INVALID_OKE_CONTRACT_DLV_ID'
    FROM   po_distributions_gt pod,
           po_line_locations_gt pos,
           po_lines_gt pol
    WHERE  pod.po_line_id = pol.po_line_id
           AND pod.line_location_id = pos.line_location_id
           AND pod.oke_contract_deliverable_id IS NOT NULL
	    AND NVL(pol.cancel_flag,'N') = 'N' ----
           AND pod.oke_contract_deliverable_id NOT IN (SELECT deliverable_id
                                                       FROM   oke_k_deliverables_b
                                                       WHERE  k_line_id = pod.oke_contract_line_id
                                                       -- 
                                                       -- Look for contract deliverables in
                                                       -- oke_deliverable_actions also (DTS flow)
                                                       UNION
                                                       SELECT action_id
                                                       FROM   oke_deliverable_actions
                                                       WHERE  deliverable_id = pod.oke_contract_line_id);
Line: 9891

            FOR price_rec in (select pol.line_num,poll.shipment_num,pol.unit_price, poll.price_override,rownum
                              from po_line_locations_gt poll, po_lines_gt pol
                              where pol.po_header_id = p_document_id AND
                  		  pol.po_line_id = poll.po_line_id AND
                              pol.unit_price <> poll.price_override AND
                              nvl(pol.cancel_flag,'N') = 'N' AND
                              nvl(pol.closed_code,'OPEN') <> 'FINALLY CLOSED' AND
                              poll.shipment_type in ('STANDARD','PLANNED')
                              )
            LOOP
            	FND_MESSAGE.SET_NAME('PO','PO_PDOI_SHIP_PRICE_NE_LINE');
Line: 9906

            INSERT INTO po_online_report_text_gt
                            (online_report_id,
                            last_update_login,
                            last_updated_by,
                            last_update_date,
                            created_by,
                            creation_date,
                            line_num,
                            shipment_num,
                            SEQUENCE,
                            text_line,
                            message_name)
            VALUES (p_online_report_id,
                       p_login_id,
                       p_user_id,
                       SYSDATE,
                       p_user_id,
                       SYSDATE,
                       price_rec.line_num,
                       price_rec.shipment_num,
                       p_sequence + price_rec.rownum,
                       l_textline,
                       'PO_PDOI_SHIP_PRICE_NE_LINE');
Line: 9947

        INSERT INTO po_online_report_text_gt (online_report_id,
      		                          last_update_login,
    	 				  last_updated_by,
    	 				  last_update_date,
    	 				  created_by,
    	 				  creation_date,
    	 				  line_num,
    	 				  shipment_num,
    	 				  distribution_num,
    	 				  sequence,
    	 				  text_line,
    	          			  message_name)
        SELECT p_online_report_id,
    	   p_login_id,
    	   p_user_id,
    	   sysdate,
    	   p_user_id,
    	   sysdate,
    	   pol.line_num,
    	   pll.shipment_num, 0,
    	   p_sequence + ROWNUM,
    	   substr(g_linemsg||g_delim||POL.line_num||g_delim||g_shipmsg||g_delim||
    		  PLL.shipment_num||g_delim||l_textline,1,240),
    	   'PO_SUB_PO_SHIP_INV_MATCH_NE_R'
          FROM PO_HEADERS_GT POH,
               PO_LINES_GT POL,
    	   PO_LINE_LOCATIONS_GT PLL
         WHERE POH.po_header_id = POL.po_header_id
           AND POL.po_line_id = PLL.po_line_id
           AND POH.po_header_id  = p_document_id
           AND Nvl(PLL.LCM_FLAG,'N') = 'Y'
           AND Nvl(PLL.match_option,'P') <> 'R'
	   AND Nvl(PLL.cancel_flag,'N') = 'N'; -- Bug 13809830: Added a condition to skip the submission check for cancelled shipments;
Line: 9998

        INSERT INTO po_online_report_text_gt (online_report_id,
    	 				  last_update_login,
    	 				  last_updated_by,
    	 				  last_update_date,
    	 				  created_by,
    	 				  creation_date,
    	 				  line_num,
    	 				  shipment_num,
    	 				  distribution_num,
    	 				  sequence,
    	 				  text_line,
    	                                  message_name)
        SELECT p_online_report_id,
    	   p_login_id,
    	   p_user_id,
    	   sysdate,
    	   p_user_id,
    	   sysdate,
    	   pol.line_num,
    	   pll.shipment_num,
    	   pod.distribution_num,
    	   p_sequence + ROWNUM,
    	   substr(g_linemsg||g_delim||POL.line_num||g_delim||g_shipmsg||g_delim||PLL.shipment_num||g_delim
    	          ||g_distmsg||g_delim||POD.distribution_num||g_delim||l_textline,1,240),
    	   'PO_SUB_PO_DIST_DEST_TYPE_NE_IN'
          FROM PO_HEADERS_GT POH,
               PO_LINES_GT POL,
    	   PO_LINE_LOCATIONS_GT PLL,
    	   PO_DISTRIBUTIONS_GT POD
         WHERE POH.po_header_id = POD.po_header_id
           AND POD.line_location_id = PLL.line_location_id
           AND PLL.po_line_id = POL.po_line_id
           AND POH.po_header_id = p_document_id
           AND Nvl(POD.LCM_FLAG,'N') = 'Y'
           AND POD.DESTINATION_TYPE_CODE <> 'INVENTORY';
Line: 10060

       INSERT INTO po_online_report_text_gt
                  (online_report_id,
                   last_update_login,
                   last_updated_by,
                   last_update_date,
                   created_by,
                   creation_date,
                   line_num,
                   shipment_num,
                   distribution_num,
                   SEQUENCE,
                   text_line,
                   message_name)
       SELECT p_online_report_id,
              p_login_id,
              p_user_id,
              SYSDATE,
              p_user_id,
              SYSDATE,
              POL.line_num,
              POLL.shipment_num,
              POD.distribution_num,
              p_sequence + ROWNUM,
              substr(l_textline,1,240),
              'PO_PDOI_INVALID_FUND_VAL_ENC'
       FROM
          PO_DISTRIBUTIONS_GT POD
       ,  PO_LINE_LOCATIONS_GT POLL
       ,  PO_LINES_GT POL
       WHERE POLL.line_location_id(+) = POD.line_location_id    --JOIN
       AND   POL.po_line_id(+) = POD.po_line_id                 --JOIN
          -- PA distributions don't have associated lines or shipments
       AND   NVL(POD.encumbered_flag,'N') = 'N'
       AND   NVL(POLL.cancel_flag,'N') = 'N'
       AND   NVL(POLL.closed_code,'OPEN') <> 'FINALLY CLOSED'
       AND   NVL(POLL.approved_flag,'N') <> 'Y'
       AND   NVL(POD.destination_type_code,'EXPENSE') <> 'SHOP FLOOR'
       AND   NVL(POD.funded_value,0) > DECODE(POL.matching_basis,'QUANTITY',
                                              ((POD.quantity_ordered * NVL(POLL.price_override,0)) +
                                                 NVL(POD.nonrecoverable_tax,0)) * NVL(POD.rate,1),
                                              (POD.amount_ordered + NVL(POD.nonrecoverable_tax,0)) * NVL(POD.rate,1)
                                              )
       AND   NVL(POD.DISTRIBUTION_TYPE, 'STANDARD') = 'STANDARD'
       ;
Line: 10134

      SELECT nvl(enforce_funds_change_allowance, 'NONE'),
             nvl(funds_change_allowance/100, -1),
             nvl(funds_change_amount, -1)
      INTO   l_enf_funds_change_allowance,
             l_funds_change_allowance,
             l_funds_change_amount
      FROM   po_system_parameters;
Line: 10153

        SELECT POL.line_num
        BULK COLLECT INTO
               l_line_num
        FROM   PO_DISTRIBUTIONS_GT POD1,
               PO_DISTRIBUTIONS_GT POD2,
               PO_LINES_GT POL
        WHERE  POD1.po_line_id = POL.po_line_id
        AND    POD2.po_line_id = POL.po_line_id
        AND    POL.po_header_id = p_document_id
        AND    NVL(POD1.distribution_type, 'STANDARD') = 'STANDARD'
        AND    NVL(POD2.distribution_type, 'STANDARD') = 'STANDARD'
        AND    POD1.req_distribution_id IS NOT NULL -- Linked to PR Dists
        AND    POD2.req_distribution_id IS NULL     -- Not Linked to PR Dists
        GROUP BY POL.line_num
        HAVING ((l_funds_change_amount BETWEEN 0 AND Sum(Nvl(POD2.funded_value,0)))
                OR
                (Sum(Nvl(POD1.funded_value,0)) <> 0 AND
                 l_funds_change_allowance BETWEEN 0 AND
                 (Sum(Nvl(POD2.funded_value,0))/Sum(Nvl(POD1.funded_value,0)))));
Line: 10178

          INSERT INTO po_online_report_text_gt(
            online_report_id,
            last_update_login,
            last_updated_by,
            last_update_date,
            created_by,
            creation_date,
            line_num,
            shipment_num,
            distribution_num,
            sequence,
            text_line,
            message_name,
            message_type)
          VALUES(
            p_online_report_id,
            p_login_id,
            p_user_id,
            sysdate,
            p_user_id,
            sysdate,
            l_line_num(i),
            NULL,
            NULL,
            p_sequence+l_rowCount(i),
            PO_CORE_S.get_translated_text(
              'PO_SUB_PO_CLM_FUNDS_VAL_GT_TOL',
              'LINE_NUM', l_line_num(i)),
            'PO_SUB_PO_CLM_FUNDS_VAL_GT_TOL',
            Decode(l_enf_funds_change_allowance, 'ADVISORY', 'W', 'E'));
Line: 10241

      INSERT INTO po_online_report_text_gt(
        online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
        message_name)
      SELECT
        p_online_report_id,
        p_login_id,
        p_user_id,
        sysdate,
        p_user_id,
        sysdate,
        NULL,
        NULL,
        NULL,
        p_sequence + ROWNUM,
        substr(l_textline||g_delim||PRD.requisition_number||g_delim||
              g_linemsg||g_delim||PRD.line_number||g_delim||
              g_distmsg||g_delim||PRD.distribution_num,1,240),
        'PO_SUB_FUNDED_VAL_GT_REQ_FUNDS'
        FROM   PO_CLMREQ_DIST_DETAILS_V PRD
        WHERE  PRD.funds_remaining < 0
        AND    exists(
          SELECT NULL
          FROM   PO_DISTRIBUTIONS_GT POD
          WHERE  POD.po_header_id = p_document_id
          AND    NVL(POD.DISTRIBUTION_TYPE, 'STANDARD') = 'STANDARD'
          AND    POD.req_distribution_id = PRD.distribution_id);
Line: 10322

*       p_online_report_id: Id used to INSERT INTO online_report_text table
*       p_user_id:          User performing the action
*       p_login_id:         Last update login_id
*   IN OUT PARAMETERS
*       p_sequence:          Sequence number of last reported error
*       x_result_status      Result of validation
* Modifies: Inserts error msgs in online_report_text_gt table, uses
*           global_temp tables for processing
* Effects:  This procedure runs the document submission checks for clm
*           documents
* Returns:
*  p_sequence: This parameter contains the current count of number of error
*              messages inserted
*/
PROCEDURE po_idv_reference_equal_check(p_document_id IN NUMBER,
					p_online_report_id IN NUMBER,
					p_user_id IN NUMBER,
					p_login_id IN NUMBER,
					p_sequence IN OUT NOCOPY NUMBER,
					x_return_status OUT NOCOPY VARCHAR2) IS

l_textline  po_online_report_text.text_line%TYPE := NULL;
Line: 10353

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
        message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
        sysdate,
        p_user_id,
        sysdate,
        POL.line_num,
        0,
        0,
        p_sequence + ROWNUM,
        substr(g_linemsg || g_delim || POL.line_num || g_delim
                   || l_textline,1,240),
        'PO_IDV_REF_NOT_EQUAL'
  FROM   PO_HEADERS_GT POH,
         PO_LINES_GT POL
  WHERE    POH.po_header_id = p_document_id
      AND  POH.po_header_id = POL.po_header_id
      AND  POH.type_lookup_code = 'STANDARD'
      AND  Nvl(POH.clm_source_document_id, -1) <> Nvl(Nvl(POL.from_header_id,POL.contract_id), -1)
      AND  nvl(l_clm_po,'N') = 'Y';
Line: 10420

*       p_online_report_id: Id used to INSERT INTO online_report_text table
*       p_user_id:          User performing the action
*       p_login_id:         Last update login_id
*   IN OUT PARAMETERS
*       p_sequence:          Sequence number of last reported error
* Modifies: Inserts error msgs in online_report_text_gt table, uses
*           global_temp tables for processing
* Effects:  This procedure runs the document submission checks for PLANNED POs
*           and BLANKET PAs
* Returns:
*  p_sequence: This parameter contains the current count of number of error
*              messages inserted
*/
PROCEDURE check_planned_po_blanket_pa(p_document_id IN NUMBER,
                       p_online_report_id IN NUMBER,
                       p_user_id IN NUMBER,
                       p_login_id IN NUMBER,
                       p_sequence IN OUT NOCOPY NUMBER,
                       x_return_status OUT NOCOPY VARCHAR2) IS

l_textline  po_online_report_text.text_line%TYPE := NULL;
Line: 10467

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        0,
        0,
        0,
        p_sequence + ROWNUM,
        substr(l_textline,1,240),
            'PO_SUB_AGREED_GRT_LIMIT'
    FROM  PO_HEADERS_GT POH
    WHERE  POH.po_header_id = p_document_id
    AND    POH.blanket_total_amount is not null
    AND    POH.amount_limit is not null
    AND    POH.blanket_total_amount > POH.amount_limit;
Line: 10516

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        0,
        0,
        0,
        p_sequence + ROWNUM,
        substr(l_textline,1,240),
            'PO_SUB_MINREL_GRT_LIMIT'
    FROM  PO_HEADERS_GT POH
    WHERE  POH.po_header_id = p_document_id
    AND    POH.min_release_amount is not null
    AND    POH.amount_limit is not null
    AND    POH.min_release_amount > POH.amount_limit;
Line: 10561

  select poh.currency_code
    into l_currency_code
    FROM   PO_HEADERS_GT POH
    WHERE  POH.po_header_id = p_document_id;
Line: 10577

  INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
  SELECT  p_online_report_id,
        p_login_id,
        p_user_id,
          sysdate,
        p_user_id,
        sysdate,
        0,
        0,
        0,
        p_sequence + ROWNUM,
        substr(l_textline,1,240),
            'PO_SUB_LIMIT_GRT_REL_AMT'
     FROM   PO_HEADERS_GT POH
    WHERE  POH.po_header_id = p_document_id
    AND    POH.amount_limit is not null
    AND ( (NVL(POH.global_agreement_flag, 'N') = 'N'
           AND
           round(POH.amount_limit, l_precision) <
           (   SELECT                                         -- 
                   sum ( decode ( PLL2.quantity
                                , NULL , round(( PLL2.amount
                                         - nvl(PLL2.amount_cancelled,0)
                                         ),l_precision)
                                ,        round(   ( PLL2.quantity
                                             - nvl(PLL2.quantity_cancelled,0) )
                                         * PLL2.price_override,l_precision
                                         )
                                )
                       )
               FROM PO_LINE_LOCATIONS PLL2
               WHERE PLL2.po_header_id = POH.po_header_id
               AND PLL2.shipment_type in ('BLANKET', 'SCHEDULED')
           )
          )
         OR
         --bug2969379
         --GA should have amount limit checked in a different way
          ( POH.global_agreement_flag = 'Y'
            AND
            round(POH.amount_limit, l_precision) <
            (   SELECT
                   sum ( decode ( PLL3.quantity
                                , NULL , round(( PLL3.amount
                                         - nvl(PLL3.amount_cancelled,0)
                                         ),l_precision)
                                ,        round(   ( PLL3.quantity
                                             - nvl(PLL3.quantity_cancelled,0) )
                                         * PLL3.price_override,l_precision
                                         )
                                )
                       )
               FROM PO_LINE_LOCATIONS_ALL PLL3
               WHERE PLL3.from_header_id = POH.po_header_id
            )
          )
        );
Line: 10674

      INSERT into po_online_report_text_gt(online_report_id,
                                           last_update_login,
                                           last_updated_by,
                                           last_update_date,
                                           created_by,
                                           creation_date,
                                           line_num,
                                           shipment_num,
                                           distribution_num,
                                           sequence,
                                           text_line,
                                           message_name)
      SELECT  p_online_report_id,
              p_login_id,
              p_user_id,
              sysdate,
              p_user_id,
              sysdate,
              POL.line_num,
              0,
              0,
              p_sequence + ROWNUM,
              substr(g_linemsg||g_delim||POL.line_num
                         ||g_delim||l_textline,1,240),
              'PO_SVC_PRICE_LIMIT_LT_PRICE'
      FROM PO_LINES_GT POL
      WHERE POL.po_header_id = p_document_id
      AND trunc(sysdate) <= trunc(nvl(POL.expiration_date, sysdate + 1)) -- bug 3449694
      AND nvl(POL.cancel_flag,'N')= 'N'
      AND nvl(POL.closed_code,'OPEN') <> 'FINALLY CLOSED'
      AND nvl(POL.allow_price_override_flag, 'N') = 'Y'
      AND POL.not_to_exceed_price IS NOT NULL
      AND ((POL.unit_price IS NOT NULL and POL.not_to_exceed_price < POL.unit_price)
           or
          (POL.amount IS NOT NULL and POL.not_to_exceed_price < POL.amount));
Line: 10749

*       p_online_report_id: Id used to INSERT INTO online_report_text table
*       p_user_id:          User performing the action
*       p_login_id:         Last update login_id
*   IN OUT PARAMETERS
*       p_sequence:          Sequence number of last reported error
* Modifies: Inserts error msgs in online_report_text_gt table, uses
*           global_temp tables for processing
* Effects:  This procedure runs the document submission checks for BLANKETS
* Returns:
*  p_sequence: This parameter contains the current count of number of error
*              messages inserted
*/
PROCEDURE check_blanket_agreement(p_document_id IN NUMBER,
                       p_online_report_id IN NUMBER,
                       p_user_id IN NUMBER,
                       p_login_id IN NUMBER,
                       p_check_asl IN BOOLEAN,                     -- <2757450>
                       p_sequence IN OUT NOCOPY NUMBER,
                       x_return_status OUT NOCOPY VARCHAR2) IS

l_textline  po_online_report_text.text_line%TYPE := NULL;
Line: 10788

    INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
          creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
    SELECT  p_online_report_id,
            p_login_id,
            p_user_id,
            sysdate,
            p_user_id,
            sysdate,
            0, 0, 0,
            p_sequence + ROWNUM,
            substr(l_textline,1,240),
            'PO_SUB_HEADER_NO_LINES'
    FROM   PO_HEADERS_GT POH
    WHERE  POH.po_header_id = p_document_id AND
           NOT EXISTS (SELECT 'Lines Exist'
                       FROM   PO_LINES_GT POL
                       WHERE  POL.po_header_id = POH.po_header_id);
Line: 10831

    INSERT INTO po_online_report_text_gt(
                online_report_id,
                last_update_login,
                last_updated_by,
                last_update_date,
                created_by,
                creation_date,
                line_num,
                shipment_num,
                distribution_num,
                sequence,
                text_line,
                message_name)
    SELECT  p_online_report_id,
            p_login_id,
            p_user_id,
            sysdate,
            p_user_id,
            sysdate,
            0, 0, 0,
            p_sequence + ROWNUM,
            substr(l_textline,1,240),
            'PO_SUB_HEADER_END_DATED'
    FROM   PO_HEADERS_GT POH
    WHERE  POH.po_header_id = p_document_id
      AND  TRUNC(sysdate) > TRUNC(POH.end_date);
Line: 10917

      INSERT INTO po_online_report_text_gt(online_report_id,
      last_update_login,
      last_updated_by,
      last_update_date,
      created_by,
      creation_date,
      line_num,
      shipment_num,
      distribution_num,
      sequence,
      text_line,
      message_name)
      SELECT  p_online_report_id,
      p_login_id,
      p_user_id,
      sysdate,
      p_user_id,
      sysdate,
      pl.line_num,
      0,
      0,
      p_sequence + ROWNUM,
       substr(g_linemsg||g_delim||pl.line_num||g_delim||l_textline,1,240),
      'PO_ALL_NO_ITEM'
      from po_headers_gt ph,po_lines_gt pl,mtl_system_items  itm,financials_system_parameters fsp,po_line_types_b plt
      where itm.inventory_item_id  = pl.item_id
      and   pl.item_id is not null
      and   itm.organization_id    = fsp.inventory_organization_id
      and   itm.purchasing_enabled_flag = 'N'
      and   ph.po_header_id = p_document_id
      and   pl.po_header_id = ph.po_header_id
      and   pl.line_type_id = plt.line_type_id

     and   nvl(plt.outside_operation_flag,'N') =  nvl(itm.outside_operation_flag,'N')
      and   (pl.creation_date >= nvl(ph.approved_date ,pl.creation_date)) ;
Line: 10972

    INSERT INTO po_online_report_text_gt(online_report_id,
    last_update_login,
    last_updated_by,
    last_update_date,
    created_by,
    creation_date,
    line_num,
    shipment_num,
    distribution_num,
    sequence,
    text_line,
    message_name)
    SELECT  p_online_report_id,
    p_login_id,
    p_user_id,
    sysdate,
    p_user_id,
    sysdate,
    pl.line_num,
    pll.shipment_num,
    0,
    p_sequence + ROWNUM,
    CASE
        WHEN pll.start_date < ph.start_date
        THEN substr(g_linemsg||g_delim||pl.line_num||g_delim
                   ||g_price_breakmsg||g_delim||pll.shipment_num||g_delim
                   ||FND_MESSAGE.GET_STRING('PO', PO_MESSAGE_S.POX_EFFECTIVE_DATES1),1,240)
        WHEN pll.end_date > ph.end_date
        THEN substr(g_linemsg||g_delim||pl.line_num||g_delim
                   ||g_price_breakmsg||g_delim||pll.shipment_num||g_delim
                   ||FND_MESSAGE.GET_STRING('PO', PO_MESSAGE_S.POX_EFFECTIVE_DATES),1,240)
        WHEN pll.start_date > ph.end_date
        THEN substr(g_linemsg||g_delim||pl.line_num||g_delim
                   ||g_price_breakmsg||g_delim||pll.shipment_num||g_delim
                   ||FND_MESSAGE.GET_STRING('PO', PO_MESSAGE_S.POX_EFFECTIVE_DATES4),1,240)
        WHEN pll.end_date < ph.start_date
        THEN substr(g_linemsg||g_delim||pl.line_num||g_delim
                   ||g_price_breakmsg||g_delim||pll.shipment_num||g_delim
                   ||FND_MESSAGE.GET_STRING('PO', PO_MESSAGE_S.POX_EFFECTIVE_DATES5),1,240)
        WHEN pll.start_date > pl.expiration_date
        THEN substr(g_linemsg||g_delim||pl.line_num||g_delim
                   ||g_price_breakmsg||g_delim||pll.shipment_num||g_delim
                   ||FND_MESSAGE.GET_STRING('PO', PO_MESSAGE_S.POX_EFFECTIVE_DATES6),1,240)
        WHEN pll.end_date > pl.expiration_date
        THEN substr(g_linemsg||g_delim||pl.line_num||g_delim
                   ||g_price_breakmsg||g_delim||pll.shipment_num||g_delim
                   ||FND_MESSAGE.GET_STRING('PO', PO_MESSAGE_S.POX_EFFECTIVE_DATES2),1,240)
     END
    ,
    CASE
        WHEN pll.start_date < ph.start_date
        THEN PO_MESSAGE_S.POX_EFFECTIVE_DATES1
        WHEN pll.end_date > ph.end_date
        THEN PO_MESSAGE_S.POX_EFFECTIVE_DATES
        WHEN pll.start_date > ph.end_date
        THEN PO_MESSAGE_S.POX_EFFECTIVE_DATES4
        WHEN pll.end_date < ph.start_date
        THEN PO_MESSAGE_S.POX_EFFECTIVE_DATES5
        WHEN pll.start_date > pl.expiration_date
        THEN PO_MESSAGE_S.POX_EFFECTIVE_DATES6
        WHEN pll.end_date > pl.expiration_date
        THEN PO_MESSAGE_S.POX_EFFECTIVE_DATES2
    END
    FROM po_headers_gt ph, po_lines_gt pl, po_line_locations_gt pll
    WHERE ph.po_header_id = p_document_id
    AND pl.po_header_id = ph.po_header_id
    AND pll.po_line_id = pl.po_line_id
    AND pll.shipment_type = 'PRICE BREAK'
    AND (pll.start_date < ph.start_date
      or pll.end_date > ph.end_date
      or pll.start_date > ph.end_date
      or pll.end_date < ph.start_date
      or pll.start_date > pl.expiration_date
      or pll.end_date > pl.expiration_date);
Line: 11064

    INSERT INTO po_online_report_text_gt(online_report_id,
    last_update_login,
    last_updated_by,
    last_update_date,
    created_by,
    creation_date,
    line_num,
    shipment_num,
    distribution_num,
    sequence,
    text_line,
    message_name)
    SELECT  p_online_report_id,
    p_login_id,
    p_user_id,
    sysdate,
    p_user_id,
    sysdate,
    pl.line_num,
    0,
    0,
    p_sequence + ROWNUM,
    substr(g_linemsg||g_delim||pl.line_num||g_delim||l_textline,1,240),
    PO_MESSAGE_S.POX_EXPIRATION_DATES
    FROM po_headers_gt ph, po_lines_gt pl
    WHERE ph.po_header_id = p_document_id
    AND pl.po_header_id = ph.po_header_id
    AND (pl.expiration_date < ph.start_date
      or pl.expiration_date > ph.end_date)
    AND nvl(pl.cancel_flag,'N') = 'N' ; -- bug 9816849
Line: 11116

     INSERT INTO po_online_report_text_gt(online_report_id,
           last_update_login,
           last_updated_by,
           last_update_date,
           created_by,
           creation_date,
           line_num,
           shipment_num,
           distribution_num,
           sequence,
           text_line,
                   message_name)
     SELECT  p_online_report_id,
           p_login_id,
           p_user_id,
             sysdate,
           p_user_id,
           sysdate,
           POL.line_num,
           PLL.shipment_num,
           0,
           p_sequence + ROWNUM,
           substr(g_linemsg||g_delim||POL.line_num||g_delim
                      ||g_shipmsg||g_delim||PLL.shipment_num||g_delim
                      ||l_textline,1,240),
               'PO_SUB_ITEM_ASL_DEBARRED'
        FROM PO_LINE_LOCATIONS_GT PLL,
            PO_LINES_GT POL, PO_HEADERS_GT POH,
            FINANCIALS_SYSTEM_PARAMETERS FSP
       WHERE POH.po_header_id = p_document_id
       AND POH.po_header_id = POL.po_header_id
       AND PLL.po_line_id(+) = POL.po_line_id
       AND PLL.po_release_id IS NULL
       AND nvl(PLL.closed_code,'OPEN') <> 'FINALLY CLOSED'
       AND nvl(POL.cancel_flag,'N') = 'N'
       AND nvl(PLL.cancel_flag,'N') = 'N'
       AND exists
          (SELECT 1
           FROM PO_APPROVED_SUPPLIER_LIS_VAL_V ASL, PO_ASL_STATUS_RULES ASR,
   	MTL_SYSTEM_ITEMS MSI  --Bug5597639
           WHERE  ASL.using_organization_id in (PLL.ship_to_organization_id, -1)
   	/*Bug5597639 Adding the below three conditions */
   	AND MSI.organization_id = FSP.inventory_organization_id
   	AND MSI.inventory_item_id = POL.item_id
   	AND POL.item_id is not null
           AND    ASL.vendor_id = POH.vendor_id
           AND    nvl(ASL.vendor_site_id, POH.vendor_site_id) = POH.vendor_site_id
           AND  ASL.item_id = POL.item_id
           AND    ASL.asl_status_id = ASR.status_id
           AND    ASR.business_rule = '1_PO_APPROVAL'
           AND    ASR.allow_action_flag <> 'Y' -- Bug 5724696
           UNION ALL
           SELECT 1
           FROM PO_APPROVED_SUPPLIER_LIS_VAL_V ASL, PO_ASL_STATUS_RULES ASR
           WHERE  ASL.using_organization_id in (PLL.ship_to_organization_id, -1)
           AND    ASL.vendor_id = POH.vendor_id
           AND    nvl(ASL.vendor_site_id, POH.vendor_site_id) = POH.vendor_site_id
           AND    ASL.item_id is NULL
   	       AND  POL.category_id = ASL.category_id  --Bug5597639
           AND    ASL.asl_status_id = ASR.status_id
           AND    ASR.business_rule = '1_PO_APPROVAL'
           AND    ASR.allow_action_flag <> 'Y' );  --Bug5597639
Line: 11213

*       p_online_report_id: Id used to INSERT INTO online_report_text table
*       p_user_id:          User performing the action
*       p_login_id:         Last update login_id
*   IN OUT PARAMETERS
*       p_sequence:          Sequence number of last reported error
* Modifies: Inserts error msgs in online_report_text_gt table, uses
*           global_temp tables for processing
* Effects:  This procedure runs the document submission checks for Standard
*           POs including GLOBAL AGREEMENTS reference checks and Consigned
*           Inventory checks
* Returns:
*  p_sequence: This parameter contains the current count of number of error
*              messages inserted
*/
PROCEDURE check_standard_po(p_document_id IN NUMBER,
                       p_online_report_id IN NUMBER,
                       p_user_id IN NUMBER,
                       p_login_id IN NUMBER,
                       p_sequence IN OUT NOCOPY NUMBER,
                       x_return_status OUT NOCOPY VARCHAR2) IS

l_is_ga_referenced VARCHAR2(1) := NULL;
Line: 11245

    SELECT 'Y'
    FROM PO_HEADERS_GT POH, PO_LINES_GT POL, PO_HEADERS_ALL POHA
    WHERE POH.po_header_id = p_document_id
     AND  POH.po_header_id = POL.po_header_id
     AND  POL.from_header_id = POHA.po_header_id
     AND  POHA.type_lookup_code = 'BLANKET'
     AND  POHA.global_agreement_flag = 'Y';
Line: 11255

  SELECT 'Y'
  FROM   po_lines_gt POL,
         po_headers_all POHA
  WHERE  POL.po_header_id = p_doc_id
  AND    POL.contract_id = POHA.po_header_id
  AND    POHA.global_agreement_flag = 'Y';
Line: 11372

*       p_online_report_id: Id used to INSERT INTO online_report_text table
*       p_user_id:          User performing the action
*       p_login_id:         Last update login_id
*   IN OUT PARAMETERS
*       p_sequence:          Sequence number of last reported error
* Modifies: Inserts error msgs in online_report_text_gt table, uses
*           global_temp tables for processing
* Effects:  This procedure performs checks for the Consigned from Supplier
*           project in order to enforce the following:
*           1) Consigned status on any new or modified shipment that is not
*              partially received or partially invoiced should match the
*              consigned setting on the corresponding ASL entry.
*           2) Document references cannot exist for PO lines with one or
*              more consigned shipments
* Returns:
*  p_sequence: This parameter contains the current count of number of error
*              messages inserted
*  x_return_status: This parameter signifies whether the checks contained in
*                   this procedure completed successfully.
*/
PROCEDURE check_std_consigned_ref(p_document_id IN NUMBER,
                       p_online_report_id IN NUMBER,
                       p_user_id IN NUMBER,
                       p_login_id IN NUMBER,
                       p_sequence IN OUT NOCOPY NUMBER,
                       x_return_status OUT NOCOPY VARCHAR2) IS

l_api_name  CONSTANT varchar2(40) := 'CHECK_STD_CONSIGNED_REF';
Line: 11528

  SELECT  POH.vendor_id,
          POH.vendor_site_id,
          POL.item_id,
    PLL.ship_to_organization_id,
    PLL.consigned_flag,
    POL.line_num,
    PLL.shipment_num,
          PLL.line_location_id
  BULK COLLECT INTO
          l_vendor_id,
          l_vendor_site_id,
          l_item_id,
          l_ship_to_org_id,
          l_consigned_flag,
    l_line_num,
    l_shipment_num,
          l_line_location_id
  FROM    PO_HEADERS_GT POH,
          PO_LINE_LOCATIONS_GT PLL,
          PO_LINES_GT POL
  WHERE   POH.po_header_id = p_document_id AND
          POH.po_header_id = POL.po_header_id AND
--          POH.po_header_id = PLL.po_header_id AND
          POL.po_line_id = PLL.po_line_id AND
          PLL.shipment_type = 'STANDARD' AND
          nvl(PLL.cancel_flag,'N') = 'N' AND
          nvl(PLL.closed_code,'OPEN') <> 'FINALLY CLOSED' AND
          -- Bug fix for #2733398
          -- nvl(PLL.approved_flag, 'N') IN ('N','R') AND
          nvl(PLL.approved_flag, 'N') = 'N' AND
          PLL.quantity_received <= 0 AND
          PLL.quantity_billed <= 0
  ORDER BY
          POH.vendor_id,
          POH.vendor_site_id,
          POL.item_id,
    PLL.ship_to_organization_id;
Line: 11609

        SELECT count('Y')
        INTO   l_count_expense_dist
        FROM   DUAL
        WHERE  EXISTS(SELECT 'Y'
                      FROM   PO_DISTRIBUTIONS_GT
                      WHERE  LINE_LOCATION_ID = l_line_location_id(i)
                      AND    DESTINATION_TYPE_CODE = 'EXPENSE');
Line: 11635

      INSERT INTO
        po_online_report_text_gt
        (online_report_id,
         last_update_login,
   last_updated_by,
   last_update_date,
   created_by,
   creation_date,
   line_num,
   shipment_num,
   distribution_num,
   sequence,
   text_line,
         message_name)
      VALUES
  (p_online_report_id,
   p_login_id,
   p_user_id,
   sysdate,
   p_user_id,
   sysdate,
         l_line_num(i),
   l_shipment_num(i),
   0,
   p_sequence + i,
         substr(g_linemsg||g_delim||l_line_num(i)||g_delim||g_shipmsg
                ||g_delim||l_shipment_num(i)||':'||g_delim||l_textline,1,240),
   'PO_SUP_CONS_STATUS_MISMATCH');
Line: 11703

*       p_online_report_id: Id used to INSERT INTO online_report_text table
*       p_user_id:          User performing the action
*       p_login_id:         Last update login_id
*   IN OUT PARAMETERS
*       p_sequence:          Sequence number of last reported error
* Modifies: Inserts error msgs in online_report_text_gt table, uses
*           global_temp tables for processing
* Effects:  This procedure runs the document submission checks for Standard
*           POs which have GLOBAL AGREEMENTS reference
* Returns:
*  p_sequence: This parameter contains the current count of number of error
*              messages inserted
*/
PROCEDURE check_std_global_ref(p_document_id IN NUMBER,
                       p_online_report_id IN NUMBER,
                       p_user_id IN NUMBER,
                       p_login_id IN NUMBER,
                       p_sequence IN OUT NOCOPY NUMBER,
                       x_return_status OUT NOCOPY VARCHAR2) IS

l_textline  po_online_report_text.text_line%TYPE := NULL;
Line: 11755

    INSERT into po_online_report_text_gt(online_report_id,
                                         last_update_login,
                                         last_updated_by,
                                         last_update_date,
                                         created_by,
                                         creation_date,
                                         line_num,
                                         shipment_num,
                                         distribution_num,
                                         sequence,
                                         text_line,
                                         message_name)
    --
    --SQL Querying for PO lines that reference GAs that are not enabled
    --SQL for purchasing in this org, to report an error message.
    SELECT  p_online_report_id,
            p_login_id,
            p_user_id,
            sysdate,
            p_user_id,
            sysdate,
            POL.line_num,
            0,
            0,
            p_sequence + ROWNUM,
            substr(g_linemsg||g_delim||POL.line_num||g_delim
                   ||l_textline,1,240),
            'PO_SUB_STD_GA_DISABLED'
    FROM PO_HEADERS_GT POH1, PO_LINES_GT POL, PO_HEADERS_ALL POH
    WHERE POH1.po_header_id = p_document_id
    AND POL.po_header_id = POH1.po_header_id
    AND POL.from_header_id = POH.po_header_id  --JOIN
    AND POH.type_lookup_code = 'BLANKET'
    AND POH.global_agreement_flag = 'Y'
    --
    AND NOT EXISTS                                  --< Bug 3301427 Start >
        (SELECT 'previously approved shipment'
           FROM po_line_locations_gt pllg
          WHERE pllg.po_line_id = pol.po_line_id
            AND pllg.approved_date IS NOT NULL)     --< Bug 3301427 End >
    AND NOT EXISTS
        --SQL Query enabled org assignments of this current purchasing org
       (SELECT 'Enabled purchasing org'
          FROM PO_GA_ORG_ASSIGNMENTS PGOA
         WHERE PGOA.po_header_id = POH.po_header_id
           AND PGOA.purchasing_org_id = POH1.org_id
           AND PGOA.enabled_flag = 'Y');
Line: 11824

    INSERT into po_online_report_text_gt(online_report_id,
                                         last_update_login,
                                         last_updated_by,
                                         last_update_date,
                                         created_by,
                                         creation_date,
                                         line_num,
                                         shipment_num,
                                         distribution_num,
                                         sequence,
                                         text_line,
                                         message_name)
    --SQL What: Querying for PO lines that reference GAs that are not approved.
    --SQL Why: Add appropriate error message to po_online_report_text_gt
    SELECT  p_online_report_id,
            p_login_id,
            p_user_id,
            sysdate,
            p_user_id,
            sysdate,
            POL.line_num,
            0,
            0,
            p_sequence + ROWNUM,
            substr(g_linemsg||g_delim||POL.line_num||g_delim
                   ||l_textline,1,240),
            'PO_SUB_STD_GA_APPROVED'
    FROM PO_HEADERS_GT POH1, PO_LINES_GT POL, PO_HEADERS_ALL POH2
    WHERE POH1.po_header_id = p_document_id
    AND POL.po_header_id = POH1.po_header_id   --JOIN
    AND POH2.po_header_id = POL.from_header_id --JOIN
    AND POH2.type_lookup_code = 'BLANKET'
    AND POH2.global_agreement_flag = 'Y'
    AND NVL(POH2.approved_flag, 'N') <> 'Y'
    AND NVL(POH2.user_hold_flag, 'N') <> 'Y'        --< Bug 3422733 >
    AND NOT EXISTS                                  --< Bug 3301427 Start >
        (SELECT 'previously approved shipment'
           FROM po_line_locations_gt pllg
          WHERE pllg.po_line_id = pol.po_line_id
            AND pllg.approved_date IS NOT NULL);    --< Bug 3301427 End >
Line: 11881

    INSERT into po_online_report_text_gt(online_report_id,
                                         last_update_login,
                                         last_updated_by,
                                         last_update_date,
                                         created_by,
                                         creation_date,
                                         line_num,
                                         shipment_num,
                                         distribution_num,
                                         sequence,
                                         text_line,
                                         message_name)
    --SQL What: Querying for PO lines that reference GAs that are on hold
    --SQL Why: Add appropriate error message to po_online_report_text_gt
    SELECT  p_online_report_id,
            p_login_id,
            p_user_id,
            sysdate,
            p_user_id,
            sysdate,
            POL.line_num,
            0,
            0,
            p_sequence + ROWNUM,
            substr(g_linemsg||g_delim||POL.line_num||g_delim
                   ||l_textline,1,240),
            'PO_SUB_STD_GA_ON_HOLD'
    FROM PO_HEADERS_GT POH1, PO_LINES_GT POL, PO_HEADERS_ALL POH2
    WHERE POH1.po_header_id = p_document_id
    AND POL.po_header_id = POH1.po_header_id   --JOIN
    AND POH2.po_header_id = POL.from_header_id --JOIN
    AND POH2.type_lookup_code = 'BLANKET'
    AND POH2.global_agreement_flag = 'Y'
    AND POH2.user_hold_flag = 'Y'
    AND NOT EXISTS                                  --< Bug 3301427 Start >
        (SELECT 'previously approved shipment'
           FROM po_line_locations_gt pllg
          WHERE pllg.po_line_id = pol.po_line_id
            AND pllg.approved_date IS NOT NULL);    --< Bug 3301427 End >
Line: 11942

    INSERT into po_online_report_text_gt(online_report_id,
                                         last_update_login,
                                         last_updated_by,
                                         last_update_date,
                                         created_by,
                                         creation_date,
                                         line_num,
                                         shipment_num,
                                         distribution_num,
                                         sequence,
                                         text_line,
                                         message_name,
                                         message_type)
    --SQL What: Querying for PO lines whose vendor does not
    --SQL       match the vendor of the referenced GA
    --SQL Why: Add appropriate error message to po_online_report_text_gt
    SELECT  p_online_report_id,
            p_login_id,
            p_user_id,
            sysdate,
            p_user_id,
            sysdate,
            POL.line_num,
            0,
            0,
            p_sequence + ROWNUM,
            substr(g_linemsg||g_delim||POL.line_num||g_delim
                   ||l_textline,1,240),
            'PO_SUB_STD_GA_VENDOR_MISMATCH',
            Decode(is_approved_clm_document(p_document_id), 'Y', 'W', NULL)
    FROM PO_LINES_GT POL, PO_HEADERS_GT POH1, PO_HEADERS_ALL POH2
    WHERE POL.po_header_id = p_document_id
    AND POL.po_header_id = POH1.po_header_id      --JOIN
    AND POL.from_header_id = POH2.po_header_id    --JOIN
    AND POH2.type_lookup_code = 'BLANKET'
    AND POH2.global_agreement_flag = 'Y'
    AND POH1.vendor_id <> POH2.vendor_id;
Line: 12000

    INSERT into po_online_report_text_gt(online_report_id,
                                         last_update_login,
                                         last_updated_by,
                                         last_update_date,
                                         created_by,
                                         creation_date,
                                         line_num,
                                         shipment_num,
                                         distribution_num,
                                         sequence,
                                         text_line,
                                         message_name,
                                         message_type)
    --SQL What: Querying for PO lines whose vendor_site_id does not
    --SQL       match a valid vendor_site_id in the GA's org assignments
    --SQL Why: Add appropriate error message to po_online_report_text_gt
    SELECT  p_online_report_id,
            p_login_id,
            p_user_id,
            sysdate,
            p_user_id,
            sysdate,
            POL.line_num,
            0,
            0,
            p_sequence + ROWNUM,
            substr(g_linemsg||g_delim||POL.line_num||g_delim
                   ||l_textline,1,240),
            'PO_SUB_STD_GA_VDR_SITE_MISMT',
            Decode(is_approved_clm_document(p_document_id), 'Y', Decode(POH1.vendor_id, POH2.vendor_id, NULL, 'W'), NULL)
    FROM PO_LINES_GT POL, PO_HEADERS_GT POH1, PO_HEADERS_ALL POH2
    WHERE POL.po_header_id = p_document_id
    AND POL.po_header_id = POH1.po_header_id            --JOIN
    AND POL.from_header_id = POH2.po_header_id          --JOIN
    AND POH2.type_lookup_code = 'BLANKET'
    AND POH2.global_agreement_flag = 'Y'
    --
    AND NOT EXISTS                                  --< Bug 3301427 Start >
        (SELECT 'previously approved shipment'
           FROM po_line_locations_gt pllg
          WHERE pllg.po_line_id = pol.po_line_id
            AND pllg.approved_date IS NOT NULL)     --< Bug 3301427 End >
    AND NOT EXISTS
        (SELECT 'Enabled vendor site'
           FROM PO_GA_ORG_ASSIGNMENTS pgoa
          WHERE PGOA.po_header_id = POH2.po_header_id
            AND PGOA.vendor_site_id = POH1.vendor_site_id
            AND PGOA.enabled_flag = 'Y');
Line: 12069

    INSERT into po_online_report_text_gt(online_report_id,
                                         last_update_login,
                                         last_updated_by,
                                         last_update_date,
                                         created_by,
                                         creation_date,
                                         line_num,
                                         shipment_num,
                                         distribution_num,
                                         sequence,
                                         text_line,
                                         message_name)
    --SQL What: Querying for PO lines that were not created within
    --SQL       the effective dates of the referenced GA
    --SQL Why: Add appropriate error message to po_online_report_text_gt
    SELECT  p_online_report_id,
            p_login_id,
            p_user_id,
            sysdate,
            p_user_id,
            sysdate,
            POL.line_num,
            PLL.shipment_num, -- Bug #5415428 As Need by date also forms part of the checks
            0,
            p_sequence + ROWNUM,
            substr(g_linemsg||g_delim||POL.line_num||g_delim
                   ||l_textline,1,240),
            'PO_SUB_STD_AFTER_GA_DATE'
    FROM PO_LINES_GT POL, PO_HEADERS_GT POH, PO_HEADERS_ALL POH2, PO_LINES_ALL POL2, PO_LINE_LOCATIONS_GT PLL
    WHERE POL.po_header_id = p_document_id
    AND POL.po_header_id = POH.po_header_id -- JOIN
    AND PLL.po_line_id = POL.po_line_id  --JOIN, Bug #5415428 - Get the Need by date
    AND POL.from_header_id = POH2.po_header_id --JOIN
    AND POL.from_line_id = POL2.po_line_id     --JOIN
    AND POH2.type_lookup_code = 'BLANKET'
    AND POH2.global_agreement_flag = 'Y'
    AND Nvl(pol.cancel_flag,'N') = 'N'  --Bug8847964
    AND Nvl(pol.closed_code,'OPEN') <> 'FINALLY CLOSED' --Bug8847964
--Bug #2699630: Adding trunc on both sides of the check
--Bug #5415428: Start date and need by date also needs to be considered
  -- Bug #13550798: Submit Date cannot be later then effective to date of Source Document
    /* AND (NVL(TRUNC(POL.start_date), TRUNC(POH.creation_date))
         > NVL ( TRUNC(POL2.expiration_date) , TRUNC(POH2.end_date))); */
Line: 12133

    INSERT into po_online_report_text_gt(online_report_id,
                                         last_update_login,
                                         last_updated_by,
                                         last_update_date,
                                         created_by,
                                         creation_date,
                                         line_num,
                                         shipment_num,
                                         distribution_num,
                                         sequence,
                                         text_line,
                                         message_name)
    --SQL What: Querying for PO lines that were not created within
    --SQL       the effective dates of the referenced GA
    --SQL Why: Add appropriate error message to po_online_report_text_gt
    SELECT  p_online_report_id,
            p_login_id,
            p_user_id,
            sysdate,
            p_user_id,
            sysdate,
            POL.line_num,
            PLL.shipment_num,
            0,
            p_sequence + ROWNUM,
            substr(g_linemsg||g_delim||POL.line_num||g_delim||
                   g_shipmsg||g_delim||PLL.shipment_num||g_delim||l_textline,1,240),
            'PO_SUB_STD_BEFORE_GA_DATE'
    FROM PO_LINES_GT POL, PO_HEADERS_GT POH, PO_HEADERS_ALL POH2, PO_LINE_LOCATIONS_GT PLL
    WHERE POL.po_header_id = p_document_id
    AND POL.po_header_id = POH.po_header_id
    AND   PLL.po_line_id = POL.po_line_id  --JOIN
    AND POL.from_header_id = POH2.po_header_id --JOIN
    AND POH2.type_lookup_code = 'BLANKET'
    AND POH2.global_agreement_flag = 'Y'
--Bug #2699630: Adding trunc on both sides of the check
--Bug #5415428: Start date also needs to be considered
    AND NVL(TRUNC(PLL.need_by_date), NVL(TRUNC(POL.start_date),TRUNC(POH.creation_date))) < TRUNC(POH2.start_date);
Line: 12187

    INSERT into po_online_report_text_gt(online_report_id,
                                         last_update_login,
                                         last_updated_by,
                                         last_update_date,
                                         created_by,
                                         creation_date,
                                         line_num,
                                         shipment_num,
                                         distribution_num,
                                         sequence,
                                         text_line,
                                         message_name)
    --SQL What: Querying for PO lines whose currency code does not
    --SQL       match the currency code of the referenced GA
    --SQL Why: Add appropriate error message to po_online_report_text_gt
    SELECT  p_online_report_id,
            p_login_id,
            p_user_id,
            sysdate,
            p_user_id,
            sysdate,
            POL.line_num,
            0,
            0,
            p_sequence + ROWNUM,
            substr(g_linemsg||g_delim||POL.line_num||g_delim
                   ||l_textline,1,240),
            'PO_SUB_STD_GA_CURR_MISMATCH'
    FROM PO_LINES_GT POL, PO_HEADERS_GT POH1, PO_HEADERS_ALL POH2
    WHERE POL.po_header_id = p_document_id
    AND POL.po_header_id = POH1.po_header_id      --JOIN
    AND POL.from_header_id = POH2.po_header_id    --JOIN
    AND POH2.type_lookup_code = 'BLANKET'
    AND POH2.global_agreement_flag = 'Y'
    AND POH1.currency_code <> POH2.currency_code;
Line: 12274

      SELECT /*+ FULL(POL) ORDERED */                         -- bug3413891
             POL.line_num
      ,      nvl ( decode ( POL.quantity                      -- 
                          , NULL , sum ( PLL1.amount
                                       - nvl(PLL1.amount_cancelled,0) )
                          ,        sum (   ( PLL1.quantity
                                           - nvl(PLL1.quantity_cancelled,0) )
                                       * PLL1.price_override )
                          )
                 , 0 )
      ,      POH1.amount_limit
      BULK COLLECT INTO l_curr_doc_line_num,l_po_amount,l_amount_limit
      FROM   PO_LINES_GT POL, PO_HEADERS_ALL POH1, PO_LINE_LOCATIONS_GT PLL1
      WHERE  PLL1.from_header_id = POL.from_header_id
      AND    POL.po_header_id = p_document_id
      AND    POL.from_header_id = POH1.po_header_id
      AND    POH1.type_lookup_code = 'BLANKET'
      AND    POH1.global_agreement_flag = 'Y'
      AND    POH1.amount_limit IS NOT NULL
      AND    Nvl(PLL1.consigned_flag,'N') <> 'Y' --bug11802312
      GROUP BY
             POL.line_num
      ,      POL.quantity                                     -- 
      ,      POH1.amount_limit;
Line: 12309

      SELECT /*+ FULL(POL) */
             POL.line_num
      ,      nvl ( decode ( POL.quantity                      -- 
                          , NULL , sum ( PLL2.amount
                                       - nvl(PLL2.amount_cancelled,0) )
                          ,        sum (   ( PLL2.quantity
                                           - nvl(PLL2.quantity_cancelled,0) )
                                       * PLL2.price_override )
                          )
                 , 0 )
      BULK COLLECT INTO l_prev_doc_line_num, l_prev_rel_amount
      FROM PO_LINE_LOCATIONS_ALL PLL2, PO_HEADERS_ALL POH1,
           PO_HEADERS_ALL POH2, PO_LINES_GT POL
      WHERE POL.po_header_id = p_document_id
      AND   POL.from_header_id = POH1.po_header_id    --JOIN
      AND   POH1.type_lookup_code = 'BLANKET'
      AND   POH1.global_agreement_flag = 'Y'
      AND   POH1.amount_limit IS NOT NULL
      AND   PLL2.from_header_id = POL.from_header_id  --JOIN
      AND   POH2.po_header_id = PLL2.po_header_id     --JOIN
      AND   nvl(POH2.approved_flag, 'N') = 'Y'
      AND   PLL2.po_header_id <> p_document_id
      AND   Nvl(PLL2.consigned_flag,'N') <> 'Y'  --bug11802312
      GROUP BY
            POL.line_num
      ,     POL.quantity;                                     -- 
Line: 12365

             INSERT INTO po_online_report_text_gt(online_report_id,
                                last_update_login,
                                last_updated_by,
                                last_update_date,
                                created_by,
                                creation_date,
                                line_num,
                                shipment_num,
                                distribution_num,
                                sequence,
                                text_line,
                message_name)
             VALUES(p_online_report_id,
                     p_login_id,
                     p_user_id,
                     sysdate,
                     p_user_id,
                     sysdate,
                     l_curr_doc_line_num(l_curr_doc_line_index),
                     0,
                     0,
                     p_sequence+ l_rowcount,
                     substr(g_linemsg||g_delim||l_curr_doc_line_num(l_curr_doc_line_index)||g_delim
                            ||l_textline,1,240),
                     'PO_SUB_STD_AMT_GRT_GA_AMT_LMT');
Line: 12421

      INSERT into po_online_report_text_gt(online_report_id,
                                           last_update_login,
                                           last_updated_by,
                                           last_update_date,
                                           created_by,
                                           creation_date,
                                           line_num,
                                           shipment_num,
                                           distribution_num,
                                           sequence,
                                           text_line,
                                           message_name)
      --SQL What: Querying for PO line unit prices that exceed the
      --SQL       price tolerance on the GA line
      --SQL Why: Add appropriate error message to po_online_report_text_gt
      SELECT  p_online_report_id,
              p_login_id,
              p_user_id,
              sysdate,
              p_user_id,
              sysdate,
              POL1.line_num,
              0,
              0,
              p_sequence + ROWNUM,
              decode ( POL1.order_type_lookup_code             -- 
                     , 'FIXED PRICE' , PO_CORE_S.get_translated_text
                                       (   'PO_SUB_PO_LINE_GT_GA_AMT_TOL'
                                       ,   'LINE_NUM', POL1.line_num
                                       ,   'LINE_AMT', POL1.amount
                                       ,   'AMT_TOL' , nvl ( POL2.not_to_exceed_price
                                                     , POL1.amount )
                                       )
                     ,                 PO_CORE_S.get_translated_text
                                       (   'PO_SUB_PO_LINE_GT_GA_PRICE_TOL'
                                       ,   'LINE_NUM'  , POL1.line_num
                                       ,   'LINE_PRICE', POL1.unit_price
                                       ,   'PRICE_TOL' , nvl ( POL2.not_to_exceed_price
                                       , POL1.unit_price )
                                       )
                     ),
              decode ( POL1.order_type_lookup_code             -- 
                     , 'FIXED PRICE' , 'PO_SUB_PO_LINE_GT_GA_AMT_TOL'
                     ,                 'PO_SUB_PO_LINE_GT_GA_PRICE_TOL'
                     )
      FROM PO_LINES_GT POL1, PO_LINES_ALL POL2, PO_HEADERS_ALL POH
      WHERE POL1.po_header_id = p_document_id
      AND POH.po_header_id = POL1.from_header_id --JOIN
      AND POH.type_lookup_code = 'BLANKET'
      AND POH.global_agreement_flag = 'Y'
      AND POL1.from_line_id = POL2.po_line_id     --JOIN
      AND nvl(POL1.cancel_flag,'N')= 'N'
      AND nvl(POL1.closed_code,'OPEN') <> 'FINALLY CLOSED'
      AND POL2.allow_price_override_flag = 'Y'                -- Bug 3177525
      AND (                                                   -- 
              (   ( POL1.order_type_lookup_code IN ('QUANTITY','AMOUNT','RATE') ) -- 
              AND ( POL1.unit_price > nvl ( POL2.not_to_exceed_price
                                          , POL1.unit_price )
                  )
              )
          OR
              (   ( POL1.order_type_lookup_code IN ('FIXED PRICE') )           -- 
              AND ( POL1.amount > nvl( POL2.not_to_exceed_price, POL1.amount ) )
              )
          );
Line: 12510

      INSERT into po_online_report_text_gt(online_report_id,
                                           last_update_login,
                                           last_updated_by,
                                           last_update_date,
                                           created_by,
                                           creation_date,
                                           line_num,
                                           shipment_num,
                                           distribution_num,
                                           sequence,
                                           text_line,
                                           message_name)
      --SQL What: Querying for PO shipment totals that fail to meet the
      --SQL       minimum release amount of the GA line
      --SQL Why: Add appropriate error message to po_online_report_text_gt
      SELECT  p_online_report_id,
              p_login_id,
              p_user_id,
              sysdate,
              p_user_id,
              sysdate,
              POL1.line_num,
              0,
              0,
              p_sequence + ROWNUM,
              substr(g_linemsg||g_delim||POL1.line_num||g_delim
                     ||l_textline,1,240),
              'PO_SUB_STD_GA_LINE_LESS_MINREL'                      -- <2710030>
      FROM PO_LINES_GT POL1, PO_LINES_ALL POL2, PO_HEADERS_ALL POH
      WHERE POL1.po_header_id = p_document_id
      AND POL1.from_header_id = POL2.po_header_id  --JOIN
      AND POL1.from_line_id = POL2.po_line_id      --JOIN
      AND POL1.from_header_id = POH.po_header_id   --JOIN
      AND POH.type_lookup_code = 'BLANKET'
      AND POH.global_agreement_flag = 'Y'
      AND POL2.min_release_amount IS NOT NULL
      AND POL2.min_release_amount >
          --SQL What: Querying PO_LINE_LOCATIONS for the total amount of the
          --SQL       shipments in this PO that reference the current GA line
          --SQL Why: This sum determines whether the minimum release amount
          --SQL      for the GA line has been met
          (   SELECT                                          -- 
                  decode ( POL1.quantity
                         , NULL , decode ( sum ( PLL.amount
                                               - nvl(PLL.amount_cancelled,0) )
                                         , 0 , POL2.min_release_amount
                                         ,     sum ( PLL.amount
                                                   - nvl(PLL.amount_cancelled,0) )
                                         )
                         ,        decode ( sum ( PLL.quantity
                                               - nvl(PLL.quantity_cancelled,0) )
                                         , 0 , POL2.min_release_amount
                                         ,     sum ( ( PLL.quantity
                                                     - nvl(PLL.quantity_cancelled,0) )
                                                   * PLL.price_override )
                                         )
                         )
              --
              --Changing the query to go to PO_LINE_LOCATIONS_GT instead of PO_LINE_LOCATIONS
              FROM PO_LINE_LOCATIONS_GT PLL
              WHERE PLL.po_header_id = p_document_id
              AND PLL.from_line_id = POL2.po_line_id);
Line: 12611

*       p_online_report_id: Id used to INSERT INTO online_report_text table
*       p_user_id:          User performing the action
*       p_login_id:         Last update login_id
*   IN OUT PARAMETERS
*       x_sequence:          Sequence number of last reported error
* Modifies: Inserts error msgs in online_report_text_gt table, uses
*           global_temp tables for processing
* Effects:  This procedure performs checks for the lines referencing global
*           contracts to enforce the following:
*           1) Contract is still enabled for purchasing in current OU
*           2) Supplier Site is still enabled on the referenced GC
*           3) Amount released should be less than amount limit on GC
* Returns:
*  x_sequence: This parameter contains the current count of number of error
*              messages inserted
*  x_return_status: This parameter signifies whether the checks contained in
*                   this procedure completed successfully.
*/

PROCEDURE check_std_gc_ref
( p_document_id IN NUMBER,
   p_online_report_id IN NUMBER,
   p_user_id IN NUMBER,
   p_login_id IN NUMBER,
   x_sequence IN OUT NOCOPY NUMBER,
   x_return_status OUT NOCOPY VARCHAR2
) IS

l_textline          PO_ONLINE_REPORT_TEXT.text_line%TYPE := NULL;
Line: 12677

    INSERT INTO po_online_report_text_gt (
        online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
        message_name
    )
    SELECT
        p_online_report_id,
        p_login_id,
        p_user_id,
        SYSDATE,
        p_user_id,
        SYSDATE,
        POL.line_num,
        0,
        0,
        x_sequence + ROWNUM,
        SUBSTR (g_linemsg || g_delim || POL.line_num || g_delim || l_textline,
                 1,
                 240),
        'PA_SUB_STD_GC_NOT_EN_PUR'
    FROM
        po_headers_gt  POH,
        po_lines_gt    POL,
        po_headers_all POHA
    WHERE
        POH.po_header_id = p_document_id
    AND POL.po_header_id = POH.po_header_id
    AND POL.contract_id = POHA.po_header_id
    AND POHA.global_agreement_flag = 'Y'
    AND NOT EXISTS                                  --< Bug 3301427 Start >
        (SELECT 'previously approved shipment'
           FROM po_line_locations_gt pllg
          WHERE pllg.po_line_id = pol.po_line_id
            AND pllg.approved_date IS NOT NULL)     --< Bug 3301427 End >
    AND NOT EXISTS (SELECT 1
                    FROM   po_ga_org_assignments PGOA,
                           po_system_parameters  PSP
                    WHERE  PGOA.po_header_id = POHA.po_header_id
                    AND    PGOA.purchasing_org_id = PSP.org_id
                    AND    PGOA.enabled_flag = 'Y');
Line: 12751

    INSERT INTO po_online_report_text_gt (
        online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
        message_name,
        message_type
    )
    SELECT
        p_online_report_id,
        p_login_id,
        p_user_id,
        SYSDATE,
        p_user_id,
        SYSDATE,
        POL.line_num,
        0,
        0,
        x_sequence + ROWNUM,
        SUBSTR  (g_linemsg || g_delim || POL.line_num || g_delim || l_textline,
                 1,
                 240),
        'PA_SUB_STD_GC_INVALID_SITE',
        Decode(is_approved_clm_document(p_document_id), 'Y', Decode(POH.vendor_id, POHA.vendor_id, NULL, 'W'), NULL)
    FROM
        po_headers_gt  POH,
        po_lines_gt    POL,
        po_headers_all POHA
    WHERE
        POH.po_header_id = p_document_id
    AND POL.po_header_id = POH.po_header_id
    AND POL.contract_id = POHA.po_header_id
    AND POHA.global_agreement_flag = 'Y'
    AND NOT EXISTS                                  --< Bug 3301427 Start >
        (SELECT 'previously approved shipment'
           FROM po_line_locations_gt pllg
          WHERE pllg.po_line_id = pol.po_line_id
            AND pllg.approved_date IS NOT NULL)     --< Bug 3301427 End >
    AND NOT EXISTS (SELECT 1
                    FROM   po_ga_org_assignments PGOA
                    WHERE  PGOA.po_header_id = POHA.po_header_id
                    AND    PGOA.vendor_site_id = Decode( Nvl ( poha.Enable_All_Sites,'N'),'N',POH.vendor_site_id,pgoa.Vendor_Site_Id)
                    AND    PGOA.enabled_flag = 'Y');
Line: 12845

    SELECT /*+ FULL(POL) ORDERED */   -- bug3413891
           POL.line_num,
            sum(DECODE (POL1.order_type_lookup_code--Bug 12828203
                   , 'RATE', POL1.amount
                   , 'FIXED PRICE', POL1.amount
                   , POL1.quantity * POL1.unit_price)) ,
           POHA.amount_limit,
           Decode(poha.currency_code,poha1.currency_code,0,1),
           Nvl(poha1.rate,1),
           Nvl(poha.rate,1)
    BULK COLLECT INTO l_curr_doc_line_num,
                      l_po_amount,
                      l_amount_limit,
                      l_current_different,
                      l_current_rate,
                      l_contract_rate
    FROM po_lines_gt          POL,     -- target_line
         po_headers_all       POHA,    -- global contract
         po_lines_gt          POL1,     -- all lines in current doc
                                       -- having the same contract ref
         po_headers_all       POHA1    -- document
    WHERE
         POL.po_header_id = p_document_id
    AND  POL.po_header_id = POHA1.po_header_id
    AND  POL.contract_id  = POHA.po_header_id
    AND  POHA.global_agreement_flag = 'Y'
    AND  POHA.amount_limit IS NOT NULL
    AND  POL.contract_id = POL1.contract_id
	AND  POL.po_header_id=POL1.po_header_id --Bug: 12828203
       GROUP BY POL.line_num,POHA.amount_limit,Decode(poha.currency_code,poha1.currency_code,0,1),
           Nvl(poha1.rate,1),
           Nvl(poha.rate,1);
Line: 12903

    SELECT /*+ FULL(POL) ORDERED*/     -- bug3413891, 9242146
           POL.line_num,
           sum(DECODE (POL1.order_type_lookup_code
                   , 'RATE', POL1.amount
                   , 'FIXED PRICE', POL1.amount
                   , POL1.quantity * POL1.unit_price)),
                   Decode(POHA.currency_code,POH1.currency_code,0,1),
                   Nvl(POH1.rate,1)
    BULK COLLECT INTO l_prev_doc_line_num,
                      l_prev_rel_amount,
                      l_prev_different,
                      l_prev_rate
    FROM po_lines_gt           POL,     -- target line
               po_headers_all        POHA,    -- global contract
   		           --bug 9242146, force tables
  		           --to be joined in the order specified.
         po_lines_all          POL1,    -- all lines from other doc with
                                        -- the same GC ref
         po_headers_all        POH1    -- headers of lines in POL1

    WHERE
         POL.po_header_id = p_document_id
    AND  POL.contract_id = POHA.po_header_id
    AND  POHA.global_agreement_flag = 'Y'
    AND  POHA.amount_limit IS NOT NULL
    AND  POL1.contract_id = POL.contract_id
    AND  POL1.po_header_id <> POL.po_header_id
    AND  POH1.po_header_id = POL1.po_header_id
    AND  POH1.approved_flag = 'Y'
    GROUP BY POL.line_num, Decode(POHA.currency_code,POH1.currency_code,0,1),
                   Nvl(POH1.rate,1);
Line: 12988

            INSERT INTO po_online_report_text_gt (
                online_report_id,
                last_update_login,
                last_updated_by,
                last_update_date,
                created_by,
                creation_date,
                line_num,
                shipment_num,
                distribution_num,
                sequence,
                text_line,
                message_name
            ) VALUES (
                p_online_report_id,
                p_login_id,
                p_user_id,
                SYSDATE,
                p_user_id,
                SYSDATE,
                l_curr_doc_line_num(l_curr_doc_line_index),
                0,
                0,
                x_sequence + l_rowcount,
                SUBSTR (g_linemsg || g_delim ||
                        l_curr_doc_line_num(l_curr_doc_line_index) ||
                        g_delim || l_textline, 1, 240),
                'PO_SUB_STD_CONTRACT_AMT_LIMIT'
            );
Line: 13032

    INSERT INTO po_online_report_text_gt (
              online_report_id,
              last_update_login,
              last_updated_by,
              last_update_date,
              created_by,
              creation_date,
              line_num,
              shipment_num,
              distribution_num,
              sequence,
              text_line,
              message_name
          )
    SELECT  p_online_report_id,
          p_login_id,
          p_user_id,
          sysdate,
          p_user_id,
          sysdate,
          POL.line_num,
          PLL.shipment_num,
          0,
          x_sequence + ROWNUM,
          substr(g_linemsg||g_delim||POL.line_num||g_delim
                 ||l_textline,1,240),
          'PO_SUB_STD_AFTER_GA_DATE'
    FROM PO_LINES_GT POL, PO_HEADERS_GT POH, PO_HEADERS_ALL POH2, PO_LINE_LOCATIONS_GT PLL
    WHERE POL.po_header_id = p_document_id
      AND POL.po_header_id = POH.po_header_id
      AND PLL.po_line_id = POL.po_line_id
      AND POL.contract_id = POH2.po_header_id
      AND POH2.type_lookup_code = 'CONTRACT'
      AND POH2.global_agreement_flag = 'Y'
      AND Nvl(pol.cancel_flag,'N') = 'N'
      AND Nvl(pol.closed_code,'OPEN') <> 'FINALLY CLOSED'
      AND TRUNC(sysdate)
         > TRUNC(POH2.end_date+ nvl(FND_PROFILE.VALUE('PO_REL_CREATE_TOLERANCE'),0))
      AND Nvl(PLL.approved_flag, 'N') <> 'Y';
Line: 13109

*       p_online_report_id: Id used to INSERT INTO online_report_text table
*       p_user_id:          User performing the action
*       p_login_id:         Last update login_id
*   IN OUT PARAMETERS
*       p_sequence:          Sequence number of last reported error
* Modifies: Inserts error msgs in online_report_text_gt table, uses
*           global_temp tables for processing
* Effects:  This procedure runs the document submission checks for CONTRACT
*           PAs
* Returns:
*  p_sequence: This parameter contains the current count of number of error
*              messages inserted
*/
PROCEDURE check_contract_agreement(p_document_id IN NUMBER,
                       p_online_report_id IN NUMBER,
                       p_user_id IN NUMBER,
                       p_login_id IN NUMBER,
                       p_sequence IN OUT NOCOPY NUMBER,
                       x_return_status OUT NOCOPY VARCHAR2) IS

l_textline  po_online_report_text.text_line%TYPE := NULL;
Line: 13152

    INSERT INTO po_online_report_text_gt(online_report_id,
                                         last_update_login,
                                         last_updated_by,
                                         last_update_date,
                                         created_by,
                                         creation_date,
                                         line_num,
                                         shipment_num,
                                         distribution_num,
                                         sequence,
                                         text_line,
                                         message_name)
  SELECT  p_online_report_id,
                p_login_id,
                p_user_id,
                sysdate,
                p_user_id,
                sysdate,
                0,
                0,
                0,
                p_sequence + ROWNUM,
                substr(l_textline,1,240),
                'PO_SUB_CONTRACT_AMT_LIMIT'
       -- 
       -- For local contract, need to take care of currency conversion
       -- since the std PO referencing a contract may be in a different
       -- currency
       --
       --Added a sum function to the sql's select clause

       -- bug5138959
       -- Added a sum function to the second select clause
       -- bug5153099
       -- Removed group by clause in subquery.Also removed the checking for
       -- global_agreement_flag and the corresponding OR case logic.

       FROM PO_HEADERS_GT POH
       WHERE POH.po_header_id = p_document_id
       AND   POH.type_lookup_code = 'CONTRACT'
       AND   POH.amount_limit IS NOT NULL
       AND   ((POH.amount_limit * NVL(POH.rate, 1))  -- amt limit in fn currency --
                       <
                       (SELECT SUM(                           --Bug#4619187
                                    DECODE (POL1.order_type_lookup_code
                                           , 'RATE', POL1.amount
                                           , 'FIXED PRICE', POL1.amount
                                           , POL1.quantity * POL1.unit_price)
                                   * NVL(POH1.rate,1)
                                  )
                        FROM   po_headers POH1,
                               po_lines   POL1
                        WHERE  POL1.contract_id = POH.po_header_id
                        AND    POL1.po_header_id = POH1.po_header_id
                        AND    NVL(POL1.cancel_flag, 'N') = 'N'
                        )  -- amt released in fn currency
             );
Line: 13246

*       p_online_report_id: Id used to INSERT INTO online_report_text table
*       p_user_id:          User performing the action
*       p_login_id:         Last update login_id
*   IN OUT PARAMETERS
*       p_sequence:          Sequence number of last reported error
* Modifies: Inserts error msgs in online_report_text_gt table, uses
*           global_temp tables for processing
* Effects:  This procedure runs the document submission checks for HEADER
*           level CBC (FPI Project) validations for PO, REQ, REL
* Returns:
*  p_sequence: This parameter contains the current count of number of error
*              messages inserted
*/
PROCEDURE do_cbc_related_validations(p_document_type IN VARCHAR2,
                       p_document_subtype IN VARCHAR2,
                       p_document_id IN NUMBER,
                       p_online_report_id IN NUMBER,
                       p_user_id IN NUMBER,
                       p_login_id IN NUMBER,
                       p_sequence IN OUT NOCOPY NUMBER,
                       x_return_status OUT NOCOPY VARCHAR2) IS

l_msg_count NUMBER;
Line: 13346

                FND_MSG_PUB.Delete_Msg(p_msg_index => FND_MSG_PUB.G_LAST);
Line: 13348

                INSERT INTO PO_ONLINE_REPORT_TEXT_GT (online_report_id,
                        last_update_login,
                last_updated_by,
                last_update_date,
                created_by,
                creation_date,
                line_num,
                shipment_num,
                distribution_num,
                sequence,
                text_line,
                        message_name)
                VALUES (p_online_report_id,
                    p_login_id,
                    p_user_id,
                      sysdate,
                    p_user_id,
                    sysdate,
                    0,
                    0,
                    0,
                    p_sequence + 1,
                    substr(l_textline,1,240),
                        'IGC_MULT_FISCAL_YEARS');
Line: 13484

DELETE FROM po_headers_gt;
Line: 13485

DELETE FROM po_lines_gt;
Line: 13486

DELETE FROM po_line_locations_gt;
Line: 13487

DELETE FROM po_distributions_gt;
Line: 13488

DELETE FROM po_releases_gt;
Line: 13489

DELETE FROM po_req_headers_gt;
Line: 13490

DELETE FROM po_req_lines_gt;
Line: 13491

DELETE FROM po_req_distributions_gt;
Line: 13492

DELETE FROM po_online_report_text_gt;
Line: 13587

        SELECT po_header_id
        INTO l_blanket_header_id
        FROM po_releases_gt
        WHERE po_release_id = l_doc_id;
Line: 13635

	FOR ship_rec in (select line_location_id from po_line_locations_gt)
	LOOP
		set_lcm_flag(ship_rec.line_location_id,'BEFORE',l_return_status);
Line: 13669

* Private Procedure: UPDATE_GLOBAL_TEMP_TABLES
* Requires:
*   IN PARAMETERS:
*     p_document_type:     Type of submitted document
*     p_document_subtype:  Subtype of submitted document
*     p_document_id:       Id of submitted document
*     p_requested_changes: This object contains all the requested changes to
*                          the document. It contains 5 objects. These objects
*                          are: 1.Header_Changes 2.Release_Changes 3.Line_
*                          Changes 4.Shipment_Changes 5.Distribution_Changes.
*                          In FPI, following change requests are allowed:
*                          1. HEADER_CHANGES: None
*                          2. RELEASE_CHANGES: None
*                          3. LINE_CHANGES: unit_price, vendor_product_num
*                          4. SHIPMENT_CHANGES: quantity, promised_date,
*                             price_override
*                          5. DISTRIBUTION_CHANGES: quantity_ordered
* Modifies:
* Effects:  Updates the global temp tables with the changes in object
*           p_requested_changes
* Returns:
*/
PROCEDURE update_global_temp_tables(p_document_type IN VARCHAR2,
                     p_document_subtype IN VARCHAR2,
                     p_document_id IN NUMBER,
                --  Renamed the type to PO_CHANGES_REC_TYPE:
                     p_requested_changes  IN PO_CHANGES_REC_TYPE,
                     x_return_status OUT NOCOPY VARCHAR2) IS

l_api_name  CONSTANT varchar2(40) := 'UPDATE_GLOBAL_TEMP_TABLES';
Line: 13722

           UPDATE po_lines_gt
            SET unit_price = nvl(p_requested_changes.line_changes.unit_price(i),unit_price),
                vendor_product_num = nvl(p_requested_changes.line_changes.vendor_product_num(i),
                                            vendor_product_num),
               -- 
               -- Added several changeable fields:
               quantity = nvl(p_requested_changes.line_changes.quantity(i),
                              quantity),
               start_date = nvl(p_requested_changes.line_changes.start_date(i),
                                start_date),
               expiration_date =
                 nvl(p_requested_changes.line_changes.expiration_date(i),
                     expiration_date),
               amount = nvl(p_requested_changes.line_changes.amount(i),
                            amount)
               -- 
             WHERE po_line_id = p_requested_changes.line_changes.po_line_id(i);
Line: 13749

                UPDATE po_line_locations_gt
                 SET price_override = nvl(p_requested_changes.line_changes.unit_price(i),price_override)
                 WHERE po_line_id = p_requested_changes.line_changes.po_line_id(i)
                 AND nvl(payment_type, 'NULL') NOT IN ('MILESTONE', 'ADVANCE')
                 -- : do not carry line price down in Qty Milestone case
                 ;
Line: 13771

           UPDATE po_line_locations_gt
            SET quantity = nvl(p_requested_changes.shipment_changes.quantity(i),quantity),
                promised_date = nvl(p_requested_changes.shipment_changes.promised_date(i),
                                            promised_date),
                price_override = nvl(p_requested_changes.shipment_changes.price_override(i),
                                            price_override),
                -- 
                -- Added several changeable fields:
                need_by_date =
                  nvl(p_requested_changes.shipment_changes.need_by_date(i),
                      need_by_date),
                ship_to_location_id =
                  nvl(p_requested_changes.shipment_changes.ship_to_location_id(i),
                      ship_to_location_id),
                amount = nvl(p_requested_changes.shipment_changes.amount(i),
                             amount),
                -- 
                -- 
                payment_type = nvl(p_requested_changes.shipment_changes.payment_type(i),
                                   payment_type),
                description = nvl(p_requested_changes.shipment_changes.description(i),
                                  description),
                value_basis = DECODE(p_requested_changes.shipment_changes.payment_type(i)
                                     , NULL, value_basis
                                     , 'RATE', 'QUANTITY'
                                     , 'LUMPSUM', 'FIXED PRICE'
                                     , 'MILESTONE', 'FIXED PRICE'
                              )
                -- Note: the value basis decode assumes Milestone Pay Items are Amount
                -- Milestones, since payment type is not changeable on Qty-based lines
                -- 
            WHERE line_location_id = p_requested_changes.shipment_changes.po_line_location_id(i)
            AND   p_requested_changes.shipment_changes.parent_line_location_id(i) IS NULL;
Line: 13809

            INSERT INTO po_line_locations_gt(
                 LINE_LOCATION_ID     ,
                 LAST_UPDATE_DATE      ,
                 LAST_UPDATED_BY        ,
                 PO_HEADER_ID            ,
                 PO_LINE_ID               ,
                 LAST_UPDATE_LOGIN         ,
                 CREATION_DATE              ,
                 CREATED_BY                  ,
                 QUANTITY                     ,
                 QUANTITY_RECEIVED             ,
                 QUANTITY_ACCEPTED              ,
                 QUANTITY_REJECTED               ,
                 QUANTITY_BILLED                  ,
                 QUANTITY_CANCELLED                ,
                 UNIT_MEAS_LOOKUP_CODE              ,
                 PO_RELEASE_ID                       ,
                 SHIP_TO_LOCATION_ID                  ,
                 SHIP_VIA_LOOKUP_CODE                  ,
                 NEED_BY_DATE                           ,
                 PROMISED_DATE                           ,
                 LAST_ACCEPT_DATE                         ,
                 PRICE_OVERRIDE                          ,
                 ENCUMBERED_FLAG                        ,
                 ENCUMBERED_DATE                         ,
                 UNENCUMBERED_QUANTITY                    ,
                 FOB_LOOKUP_CODE                         ,
                 FREIGHT_TERMS_LOOKUP_CODE                ,
                 TAXABLE_FLAG                            ,
                 ESTIMATED_TAX_AMOUNT                    ,
                 FROM_HEADER_ID                          ,
                 FROM_LINE_ID                             ,
                 FROM_LINE_LOCATION_ID                   ,
                 START_DATE                               ,
                 END_DATE                                ,
                 LEAD_TIME                              ,
                 LEAD_TIME_UNIT                          ,
                 PRICE_DISCOUNT                           ,
                 TERMS_ID                                 ,
                 APPROVED_FLAG                            ,
                 APPROVED_DATE                            ,
                 CLOSED_FLAG                              ,
                 CANCEL_FLAG                              ,
                 CANCELLED_BY                             ,
                 CANCEL_DATE                              ,
                 CANCEL_REASON                            ,
                 FIRM_STATUS_LOOKUP_CODE                  ,
                 FIRM_DATE                                ,
                 ATTRIBUTE_CATEGORY                       ,
                 ATTRIBUTE1                               ,
                 ATTRIBUTE2                               ,
                 ATTRIBUTE3                               ,
                 ATTRIBUTE4                               ,
                 ATTRIBUTE5                               ,
                 ATTRIBUTE6                               ,
                 ATTRIBUTE7                               ,
                 ATTRIBUTE8                               ,
                 ATTRIBUTE9                               ,
                 ATTRIBUTE10                              ,
                 UNIT_OF_MEASURE_CLASS                    ,
                 ENCUMBER_NOW                             ,
                 ATTRIBUTE11                              ,
                 ATTRIBUTE12                              ,
                 ATTRIBUTE13                              ,
                 ATTRIBUTE14                              ,
                 ATTRIBUTE15                              ,
                 INSPECTION_REQUIRED_FLAG                 ,
                 RECEIPT_REQUIRED_FLAG                    ,
                 QTY_RCV_TOLERANCE                       ,
                 QTY_RCV_EXCEPTION_CODE                   ,
                 ENFORCE_SHIP_TO_LOCATION_CODE            ,
                 ALLOW_SUBSTITUTE_RECEIPTS_FLAG           ,
                 DAYS_EARLY_RECEIPT_ALLOWED               ,
                 DAYS_LATE_RECEIPT_ALLOWED                ,
                 RECEIPT_DAYS_EXCEPTION_CODE             ,
                 INVOICE_CLOSE_TOLERANCE                  ,
                 RECEIVE_CLOSE_TOLERANCE                  ,
                 SHIP_TO_ORGANIZATION_ID                 ,
                 SHIPMENT_NUM                            ,
                 SOURCE_SHIPMENT_ID                      ,
                 SHIPMENT_TYPE                     ,
                 CLOSED_CODE                        ,
                 REQUEST_ID                          ,
                 PROGRAM_APPLICATION_ID               ,
                 PROGRAM_ID                            ,
                 PROGRAM_UPDATE_DATE                    ,
                 GOVERNMENT_CONTEXT                      ,
                 RECEIVING_ROUTING_ID                     ,
                 ACCRUE_ON_RECEIPT_FLAG                  ,
                 CLOSED_REASON                           ,
                 CLOSED_DATE                              ,
                 CLOSED_BY                               ,
                 ORG_ID                                  ,
                 GLOBAL_ATTRIBUTE1                        ,
                 GLOBAL_ATTRIBUTE2                        ,
                 GLOBAL_ATTRIBUTE3                        ,
                 GLOBAL_ATTRIBUTE4                        ,
                 GLOBAL_ATTRIBUTE5                        ,
                 GLOBAL_ATTRIBUTE6                        ,
                 GLOBAL_ATTRIBUTE7                        ,
                 GLOBAL_ATTRIBUTE8                        ,
                 GLOBAL_ATTRIBUTE9                        ,
                 GLOBAL_ATTRIBUTE10                       ,
                 GLOBAL_ATTRIBUTE11                       ,
                 GLOBAL_ATTRIBUTE12                       ,
                 GLOBAL_ATTRIBUTE13                       ,
                 GLOBAL_ATTRIBUTE14                       ,
                 GLOBAL_ATTRIBUTE15                       ,
                 GLOBAL_ATTRIBUTE16                       ,
                 GLOBAL_ATTRIBUTE17                       ,
                 GLOBAL_ATTRIBUTE18                       ,
                 GLOBAL_ATTRIBUTE19                       ,
                 GLOBAL_ATTRIBUTE20                       ,
                 GLOBAL_ATTRIBUTE_CATEGORY                ,
                 QUANTITY_SHIPPED                        ,
                 COUNTRY_OF_ORIGIN_CODE                   ,
                 TAX_USER_OVERRIDE_FLAG                  ,
                 MATCH_OPTION                            ,
                 TAX_CODE_ID                              ,
                 CALCULATE_TAX_FLAG                      ,
                 CHANGE_PROMISED_DATE_REASON            ,
                 NOTE_TO_RECEIVER                        ,
                 SECONDARY_QUANTITY                      ,
                 SECONDARY_UNIT_OF_MEASURE               ,
                 PREFERRED_GRADE                         ,
                 SECONDARY_QUANTITY_RECEIVED             ,
                 SECONDARY_QUANTITY_ACCEPTED              ,
                 SECONDARY_QUANTITY_REJECTED             ,
                 SECONDARY_QUANTITY_CANCELLED             ,
                 VMI_FLAG                                 ,
                 CONSIGNED_FLAG                           ,
                 RETROACTIVE_DATE                         ,
                 AMOUNT                                   , -- 
                 DESCRIPTION                              , --
                 PAYMENT_TYPE                             , --
                 VALUE_BASIS                                --
             )
             SELECT
                 -- bug3611217
                 -- Use a sequence number rather than FND_API.G_MISS_NUM
                 -- since we have added unique constraint on LINE_LOCATION_ID
                 PO_LINE_LOCATIONS_S.nextval,
                 poll.LAST_UPDATE_DATE      ,
                 poll.LAST_UPDATED_BY        ,
                 poll.PO_HEADER_ID            ,
                 poll.PO_LINE_ID               ,
                 poll.LAST_UPDATE_LOGIN         ,
                 poll.CREATION_DATE              ,
                 poll.CREATED_BY                  ,
                 nvl(p_requested_changes.shipment_changes.quantity(i),poll.quantity),
                 -- Bug 3322019 START
                 -- Quantity received, accepted, cancelled, etc. should be
                 -- NULL or 0 on the split shipment.
                 decode(poll.quantity_received,NULL,NULL,0),
                 decode(poll.quantity_accepted,NULL,NULL,0),
                 decode(poll.quantity_rejected,NULL,NULL,0),
                 decode(poll.quantity_billed,NULL,NULL,0),
                 decode(poll.quantity_cancelled,NULL,NULL,0),
                 -- Bug 3322019 END
                 poll.UNIT_MEAS_LOOKUP_CODE              ,
                 poll.PO_RELEASE_ID                       ,
                 --  Added as a changeable field:
                 nvl(p_requested_changes.shipment_changes.ship_to_location_id(i),
                     poll.ship_to_location_id),
                 poll.SHIP_VIA_LOOKUP_CODE                  ,
                 --  Added as a changeable field:
                 nvl(p_requested_changes.shipment_changes.need_by_date(i),
                     poll.need_by_date),
                 nvl(p_requested_changes.shipment_changes.promised_date(i),
                                            poll.promised_date),
                 poll.LAST_ACCEPT_DATE                         ,
                 nvl(p_requested_changes.shipment_changes.price_override(i),
                                            poll.price_override),
                 -- Bug 3322019 START
                 NULL, -- ENCUMBERED_FLAG
                 NULL, -- ENCUMBERED_DATE
                 NULL, -- UNENCUMBERED_QUANTITY
                 -- Bug 3322019 END
                 poll.FOB_LOOKUP_CODE                         ,
                 poll.FREIGHT_TERMS_LOOKUP_CODE                ,
                 poll.TAXABLE_FLAG                            ,
                 0, -- ESTIMATED_TAX_AMOUNT (Bug 3322019)
                 poll.FROM_HEADER_ID                          ,
                 poll.FROM_LINE_ID                             ,
                 poll.FROM_LINE_LOCATION_ID                   ,
                 poll.START_DATE                               ,
                 poll.END_DATE                                ,
                 poll.LEAD_TIME                              ,
                 poll.LEAD_TIME_UNIT                          ,
                 poll.PRICE_DISCOUNT                           ,
                 poll.TERMS_ID                                 ,
                 -- Bug 3322019 START
                 'N', -- APPROVED_FLAG
                 NULL, -- APPROVED_DATE
                 NULL, -- CLOSED_FLAG
                 'N', -- CANCEL_FLAG
                 NULL, -- CANCELLED_BY
                 NULL, -- CANCEL_DATE
                 NULL, -- CANCEL_REASON
                 -- Bug 3322019 END
                 poll.FIRM_STATUS_LOOKUP_CODE                  ,
                 poll.FIRM_DATE                                ,
                 poll.ATTRIBUTE_CATEGORY                       ,
                 poll.ATTRIBUTE1                               ,
                 poll.ATTRIBUTE2                               ,
                 poll.ATTRIBUTE3                               ,
                 poll.ATTRIBUTE4                               ,
                 poll.ATTRIBUTE5                               ,
                 poll.ATTRIBUTE6                               ,
                 poll.ATTRIBUTE7                               ,
                 poll.ATTRIBUTE8                               ,
                 poll.ATTRIBUTE9                               ,
                 poll.ATTRIBUTE10                              ,
                 poll.UNIT_OF_MEASURE_CLASS                    ,
                 poll.ENCUMBER_NOW                             ,
                 poll.ATTRIBUTE11                              ,
                 poll.ATTRIBUTE12                              ,
                 poll.ATTRIBUTE13                              ,
                 poll.ATTRIBUTE14                              ,
                 poll.ATTRIBUTE15                              ,
                 poll.INSPECTION_REQUIRED_FLAG                 ,
                 poll.RECEIPT_REQUIRED_FLAG                    ,
                 poll.QTY_RCV_TOLERANCE                       ,
                 poll.QTY_RCV_EXCEPTION_CODE                   ,
                 poll.ENFORCE_SHIP_TO_LOCATION_CODE            ,
                 poll.ALLOW_SUBSTITUTE_RECEIPTS_FLAG           ,
                 poll.DAYS_EARLY_RECEIPT_ALLOWED               ,
                 poll.DAYS_LATE_RECEIPT_ALLOWED                ,
                 poll.RECEIPT_DAYS_EXCEPTION_CODE             ,
                 poll.INVOICE_CLOSE_TOLERANCE                  ,
                 poll.RECEIVE_CLOSE_TOLERANCE                  ,
                 poll.SHIP_TO_ORGANIZATION_ID                 ,

                 --
                 --iSP is passing shipment_num now
                 nvl(p_requested_changes.shipment_changes.split_shipment_num(i),
                                            FND_API.G_MISS_NUM),
                 --SHIPMENT_NUM                            ,
                 --

                 poll.SOURCE_SHIPMENT_ID                      ,
                 poll.SHIPMENT_TYPE                     ,
                 -- Bug 3322019 START
                 'OPEN', -- CLOSED_CODE
                 NULL, -- REQUEST_ID
                 NULL, -- PROGRAM_APPLICATION_ID
                 NULL, -- PROGRAM_ID
                 NULL, -- PROGRAM_UPDATE_DATE
                 -- Bug 3322019 START
                 poll.GOVERNMENT_CONTEXT                      ,
                 poll.RECEIVING_ROUTING_ID                     ,
                 poll.ACCRUE_ON_RECEIPT_FLAG                  ,
                 -- Bug 3322019 START
                 NULL, -- CLOSED_REASON
                 NULL, -- CLOSED_DATE
                 NULL, -- CLOSED_BY
                 -- Bug 3322019 END
                 poll.ORG_ID                                  ,
                 poll.GLOBAL_ATTRIBUTE1                        ,
                 poll.GLOBAL_ATTRIBUTE2                        ,
                 poll.GLOBAL_ATTRIBUTE3                        ,
                 poll.GLOBAL_ATTRIBUTE4                        ,
                 poll.GLOBAL_ATTRIBUTE5                        ,
                 poll.GLOBAL_ATTRIBUTE6                        ,
                 poll.GLOBAL_ATTRIBUTE7                        ,
                 poll.GLOBAL_ATTRIBUTE8                        ,
                 poll.GLOBAL_ATTRIBUTE9                        ,
                 poll.GLOBAL_ATTRIBUTE10                       ,
                 poll.GLOBAL_ATTRIBUTE11                       ,
                 poll.GLOBAL_ATTRIBUTE12                       ,
                 poll.GLOBAL_ATTRIBUTE13                       ,
                 poll.GLOBAL_ATTRIBUTE14                       ,
                 poll.GLOBAL_ATTRIBUTE15                       ,
                 poll.GLOBAL_ATTRIBUTE16                       ,
                 poll.GLOBAL_ATTRIBUTE17                       ,
                 poll.GLOBAL_ATTRIBUTE18                       ,
                 poll.GLOBAL_ATTRIBUTE19                       ,
                 poll.GLOBAL_ATTRIBUTE20                       ,
                 poll.GLOBAL_ATTRIBUTE_CATEGORY                ,
                 decode(poll.quantity_shipped,NULL,NULL,0), -- Bug 3322019
                 poll.COUNTRY_OF_ORIGIN_CODE                   ,
                 poll.TAX_USER_OVERRIDE_FLAG                  ,
                 poll.MATCH_OPTION                            ,
                 poll.TAX_CODE_ID                              ,
                 poll.CALCULATE_TAX_FLAG                      ,
                 poll.CHANGE_PROMISED_DATE_REASON            ,
                 poll.NOTE_TO_RECEIVER                        ,
                 decode(poll.secondary_quantity,NULL,NULL,0), -- Bug 3322019
                 poll.SECONDARY_UNIT_OF_MEASURE               ,
                 poll.PREFERRED_GRADE                         ,
                 -- Bug 3322019 START
                 decode(poll.secondary_quantity_received,NULL,NULL,0),
                 decode(poll.secondary_quantity_accepted,NULL,NULL,0),
                 decode(poll.secondary_quantity_rejected,NULL,NULL,0),
                 decode(poll.secondary_quantity_cancelled,NULL,NULL,0),
                 -- Bug 3322019 END
                 poll.VMI_FLAG                                 ,
                 poll.CONSIGNED_FLAG                           ,
                 poll.RETROACTIVE_DATE                         ,
                 --  Added a changeable field:
                 NVL(p_requested_changes.shipment_changes.amount(i), poll.amount),
                 -- 
                 --
                 poll.DESCRIPTION,
                 poll.PAYMENT_TYPE,
                 DECODE(p_requested_changes.shipment_changes.payment_type(i)
                       , 'RATE', 'QUANTITY'
                       , 'LUMPSUM', 'FIXED PRICE'
                       , POL.order_type_lookup_code
                 )
                -- Note: the value basis decode assumes Milestone Pay Items are Amount
                -- Milestones, since payment type is not changeable on Qty-based lines
                 --
              FROM po_line_locations poll
                 , po_lines_all pol --
              WHERE poll.line_location_id =
                    p_requested_changes.shipment_changes.parent_line_location_id(i)
              AND   p_requested_changes.shipment_changes.po_line_location_id(i) IS NULL
              AND   poll.po_line_id = pol.po_line_id;  --
Line: 14144

           UPDATE po_distributions_gt
            SET quantity_ordered = nvl(p_requested_changes.distribution_changes.quantity_ordered(i),
                                        quantity_ordered),
                -- 
                -- Added amount_ordered as a changeable field:
                amount_ordered =
                  nvl(p_requested_changes.distribution_changes.amount_ordered(i),
                      amount_ordered)
                -- 
            WHERE po_distribution_id = p_requested_changes.distribution_changes.po_distribution_id(i);
Line: 14179

END UPDATE_GLOBAL_TEMP_TABLES;
Line: 14211

    INSERT INTO po_headers_gt(
            PO_HEADER_ID,
          AGENT_ID,
          TYPE_LOOKUP_CODE,
          LAST_UPDATE_DATE,
          LAST_UPDATED_BY,
          SEGMENT1,
          SUMMARY_FLAG,
          ENABLED_FLAG,
          SEGMENT2,
          SEGMENT3,
          SEGMENT4,
          SEGMENT5,
          START_DATE_ACTIVE,
          END_DATE_ACTIVE,
          LAST_UPDATE_LOGIN,
          CREATION_DATE ,
          CREATED_BY,
          VENDOR_ID,
          VENDOR_SITE_ID,
          VENDOR_CONTACT_ID,
          SHIP_TO_LOCATION_ID,
          BILL_TO_LOCATION_ID ,
          TERMS_ID             ,
          SHIP_VIA_LOOKUP_CODE  ,
          FOB_LOOKUP_CODE        ,
          FREIGHT_TERMS_LOOKUP_CODE,
          STATUS_LOOKUP_CODE,
          CURRENCY_CODE,
          RATE_TYPE,
          RATE_DATE,
          RATE,
          FROM_HEADER_ID,
          FROM_TYPE_LOOKUP_CODE,
          START_DATE,
          END_DATE,
          BLANKET_TOTAL_AMOUNT,
          AUTHORIZATION_STATUS,
          REVISION_NUM,
          REVISED_DATE,
          APPROVED_FLAG,
          APPROVED_DATE,
          AMOUNT_LIMIT,
          MIN_RELEASE_AMOUNT,
          NOTE_TO_AUTHORIZER,
          NOTE_TO_VENDOR,
          NOTE_TO_RECEIVER,
          PRINT_COUNT,
          PRINTED_DATE,
          VENDOR_ORDER_NUM,
          CONFIRMING_ORDER_FLAG,
          COMMENTS,
          REPLY_DATE,
          REPLY_METHOD_LOOKUP_CODE,
          RFQ_CLOSE_DATE,
          QUOTE_TYPE_LOOKUP_CODE,
          QUOTATION_CLASS_CODE,
          QUOTE_WARNING_DELAY_UNIT,
          QUOTE_WARNING_DELAY,
          QUOTE_VENDOR_QUOTE_NUMBER,
          ACCEPTANCE_REQUIRED_FLAG,
          ACCEPTANCE_DUE_DATE,
          CLOSED_DATE,
          USER_HOLD_FLAG,
          APPROVAL_REQUIRED_FLAG,
          CANCEL_FLAG,
          FIRM_STATUS_LOOKUP_CODE,
          FIRM_DATE,
          FROZEN_FLAG,
          ATTRIBUTE_CATEGORY,
          ATTRIBUTE1,
          ATTRIBUTE2,
          ATTRIBUTE3,
          ATTRIBUTE4,
          ATTRIBUTE5,
          ATTRIBUTE6,
          ATTRIBUTE7,
          ATTRIBUTE8,
          ATTRIBUTE9,
          ATTRIBUTE10,
          ATTRIBUTE11,
          ATTRIBUTE12,
            ATTRIBUTE13,
          ATTRIBUTE14,
          ATTRIBUTE15,
          CLOSED_CODE,
          GOVERNMENT_CONTEXT,
          REQUEST_ID,
          PROGRAM_APPLICATION_ID,
          PROGRAM_ID,
          PROGRAM_UPDATE_DATE,
          ORG_ID,
          SUPPLY_AGREEMENT_FLAG,
          EDI_PROCESSED_FLAG,
          EDI_PROCESSED_STATUS,
          GLOBAL_ATTRIBUTE_CATEGORY,
          GLOBAL_ATTRIBUTE1,
          GLOBAL_ATTRIBUTE2,
          GLOBAL_ATTRIBUTE3,
          GLOBAL_ATTRIBUTE4,
          GLOBAL_ATTRIBUTE5,
          GLOBAL_ATTRIBUTE6,
          GLOBAL_ATTRIBUTE7,
          GLOBAL_ATTRIBUTE8,
          GLOBAL_ATTRIBUTE9,
          GLOBAL_ATTRIBUTE10,
          GLOBAL_ATTRIBUTE11,
          GLOBAL_ATTRIBUTE12,
          GLOBAL_ATTRIBUTE13,
          GLOBAL_ATTRIBUTE14,
          GLOBAL_ATTRIBUTE15,
          GLOBAL_ATTRIBUTE16,
          GLOBAL_ATTRIBUTE17,
          GLOBAL_ATTRIBUTE18,
          GLOBAL_ATTRIBUTE19,
          GLOBAL_ATTRIBUTE20,
          INTERFACE_SOURCE_CODE,
          REFERENCE_NUM,
          WF_ITEM_TYPE,
          WF_ITEM_KEY,
          MRC_RATE_TYPE,
          MRC_RATE_DATE,
          MRC_RATE,
          PCARD_ID,
          PRICE_UPDATE_TOLERANCE,
          PAY_ON_CODE,
          XML_FLAG,
          XML_SEND_DATE,
          XML_CHANGE_SEND_DATE,
          GLOBAL_AGREEMENT_FLAG,
          CONSIGNED_CONSUMPTION_FLAG,
          CBC_ACCOUNTING_DATE,
          CONTERMS_EXIST_FLAG , --
          encumbrance_required_flag,  --
          enable_all_sites,          --
          DRAFT_ID ,    --Mod Project
          CLM_EFFECTIVE_DATE                  ,
          CLM_VENDOR_OFFER_NUMBER                 ,
          CLM_AWARD_ADMINISTRATOR                ,
          CLM_NO_SIGNED_COPIES_TO_RETURN         ,
          CLM_MIN_GUARANTEE_AWARD_AMT            ,
          CLM_MIN_GUAR_AWARD_AMT_PERCENT         ,
          CLM_MIN_ORDER_AMOUNT                   ,
          CLM_MAX_ORDER_AMOUNT                   ,
          CLM_AMT_SYNCED_TO_AGREEMENT             ,
          CLM_AMOUNT_RELEASED                     ,
          CLM_EXTERNAL_IDV                        ,
          CLM_SUPPLIER_NAME                        ,
          CLM_SUPPLIER_SITE_NAME                  ,
          CLM_DOCUMENT_NUMBER                     ,

          CLM_ISSUING_OFFICE                      ,
          CLM_COTR_OFFICE                         ,
          CLM_COTR_CONTACT                        ,
          CLM_PRIORITY_CODE                       ,
          CLM_MOD_ISSUING_OFFICE                  ,
          CLM_STANDARD_FORM                       ,
          CLM_DOCUMENT_FORMAT                     ,
          AME_TRANSACTION_TYPE                    ,
          CLM_AWARD_TYPE                          ,
          CLM_SOURCE_DOCUMENT_ID                  ,
          CLM_PAYMENT_INSTR_CODE, -- Payment Instruction
          SUPPLIER_NOTIF_METHOD -- MIPR
            )
          SELECT
            PO_HEADER_ID,
          AGENT_ID,
          TYPE_LOOKUP_CODE,
          LAST_UPDATE_DATE,
          LAST_UPDATED_BY,
          SEGMENT1,
          SUMMARY_FLAG,
          ENABLED_FLAG,
          SEGMENT2,
          SEGMENT3,
          SEGMENT4,
          SEGMENT5,
          START_DATE_ACTIVE,
          END_DATE_ACTIVE,
          LAST_UPDATE_LOGIN,
          CREATION_DATE ,
          CREATED_BY,
          VENDOR_ID,
          VENDOR_SITE_ID,
          VENDOR_CONTACT_ID,
          SHIP_TO_LOCATION_ID,
          BILL_TO_LOCATION_ID ,
          TERMS_ID             ,
          SHIP_VIA_LOOKUP_CODE  ,
          FOB_LOOKUP_CODE        ,
          FREIGHT_TERMS_LOOKUP_CODE,
          STATUS_LOOKUP_CODE,
          CURRENCY_CODE,
          RATE_TYPE,
          RATE_DATE,
          RATE,
          FROM_HEADER_ID,
          FROM_TYPE_LOOKUP_CODE,
          START_DATE,
          END_DATE,
          BLANKET_TOTAL_AMOUNT,
          AUTHORIZATION_STATUS,
          REVISION_NUM,
          REVISED_DATE,
          APPROVED_FLAG,
          APPROVED_DATE,
          AMOUNT_LIMIT,
          MIN_RELEASE_AMOUNT,
          NOTE_TO_AUTHORIZER,
          NOTE_TO_VENDOR,
          NOTE_TO_RECEIVER,
          PRINT_COUNT,
          PRINTED_DATE,
          VENDOR_ORDER_NUM,
          CONFIRMING_ORDER_FLAG,
          COMMENTS,
          REPLY_DATE,
          REPLY_METHOD_LOOKUP_CODE,
          RFQ_CLOSE_DATE,
          QUOTE_TYPE_LOOKUP_CODE,
          QUOTATION_CLASS_CODE,
          QUOTE_WARNING_DELAY_UNIT,
          QUOTE_WARNING_DELAY,
          QUOTE_VENDOR_QUOTE_NUMBER,
          ACCEPTANCE_REQUIRED_FLAG,
          ACCEPTANCE_DUE_DATE,
          CLOSED_DATE,
          USER_HOLD_FLAG,
          APPROVAL_REQUIRED_FLAG,
          CANCEL_FLAG,
          FIRM_STATUS_LOOKUP_CODE,
          FIRM_DATE,
          FROZEN_FLAG,
          ATTRIBUTE_CATEGORY,
          ATTRIBUTE1,
          ATTRIBUTE2,
          ATTRIBUTE3,
          ATTRIBUTE4,
          ATTRIBUTE5,
          ATTRIBUTE6,
          ATTRIBUTE7,
          ATTRIBUTE8,
          ATTRIBUTE9,
          ATTRIBUTE10,
          ATTRIBUTE11,
          ATTRIBUTE12,
            ATTRIBUTE13,
          ATTRIBUTE14,
          ATTRIBUTE15,
          CLOSED_CODE,
          GOVERNMENT_CONTEXT,
          REQUEST_ID,
          PROGRAM_APPLICATION_ID,
          PROGRAM_ID,
          PROGRAM_UPDATE_DATE,
          ORG_ID,
          SUPPLY_AGREEMENT_FLAG,
          EDI_PROCESSED_FLAG,
          EDI_PROCESSED_STATUS,
          GLOBAL_ATTRIBUTE_CATEGORY,
          GLOBAL_ATTRIBUTE1,
          GLOBAL_ATTRIBUTE2,
          GLOBAL_ATTRIBUTE3,
          GLOBAL_ATTRIBUTE4,
          GLOBAL_ATTRIBUTE5,
          GLOBAL_ATTRIBUTE6,
          GLOBAL_ATTRIBUTE7,
          GLOBAL_ATTRIBUTE8,
          GLOBAL_ATTRIBUTE9,
          GLOBAL_ATTRIBUTE10,
          GLOBAL_ATTRIBUTE11,
          GLOBAL_ATTRIBUTE12,
          GLOBAL_ATTRIBUTE13,
          GLOBAL_ATTRIBUTE14,
          GLOBAL_ATTRIBUTE15,
          GLOBAL_ATTRIBUTE16,
          GLOBAL_ATTRIBUTE17,
          GLOBAL_ATTRIBUTE18,
          GLOBAL_ATTRIBUTE19,
          GLOBAL_ATTRIBUTE20,
          INTERFACE_SOURCE_CODE,
          REFERENCE_NUM,
          WF_ITEM_TYPE,
          WF_ITEM_KEY,
          MRC_RATE_TYPE,
          MRC_RATE_DATE,
          MRC_RATE,
          PCARD_ID,
          PRICE_UPDATE_TOLERANCE,
          PAY_ON_CODE,
          XML_FLAG,
          XML_SEND_DATE,
          XML_CHANGE_SEND_DATE,
          GLOBAL_AGREEMENT_FLAG,
          CONSIGNED_CONSUMPTION_FLAG,
          CBC_ACCOUNTING_DATE,
            CONTERMS_EXIST_FLAG  --
         ,  encumbrance_required_flag  --
         ,NULL --Temp, enable_all_sites  --
          , DRAFT_ID,
          CLM_EFFECTIVE_DATE                  ,
          CLM_VENDOR_OFFER_NUMBER                 ,
          CLM_AWARD_ADMINISTRATOR                ,
          CLM_NO_SIGNED_COPIES_TO_RETURN         ,
          CLM_MIN_GUARANTEE_AWARD_AMT            ,
          CLM_MIN_GUAR_AWARD_AMT_PERCENT         ,
          CLM_MIN_ORDER_AMOUNT                   ,
          CLM_MAX_ORDER_AMOUNT                   ,
          CLM_AMT_SYNCED_TO_AGREEMENT             ,
          CLM_AMOUNT_RELEASED                     ,
          CLM_EXTERNAL_IDV                        ,
          CLM_SUPPLIER_NAME                        ,
          CLM_SUPPLIER_SITE_NAME                  ,
          CLM_DOCUMENT_NUMBER                     ,

          CLM_ISSUING_OFFICE                      ,
          CLM_COTR_OFFICE                         ,
          CLM_COTR_CONTACT                        ,
          CLM_PRIORITY_CODE                       ,
          CLM_MOD_ISSUING_OFFICE                  ,
          CLM_STANDARD_FORM                       ,
          CLM_DOCUMENT_FORMAT                     ,
          AME_TRANSACTION_TYPE                    ,
          CLM_AWARD_TYPE                          ,
          CLM_SOURCE_DOCUMENT_ID                  ,
          CLM_PAYMENT_INSTR_CODE, -- Payment Instruction
          SUPPLIER_NOTIF_METHOD -- MIPR
           --Mod Project
		 /*-- CLM Aprvl
		 FROM po_headers
		 WHERE po_header_id = p_document_id
		 */-- CLM Aprvl
          FROM po_headers_merge_v
          WHERE po_header_id = p_document_id
		  and draft_id = p_draft_id;
Line: 14549

SELECT po_header_id, segment1 into t_po_header_id, t_segment1
from po_headers_gt where po_header_id = p_document_id;
Line: 14664

   SELECT draft_type
   INTO l_draft_type
   FROM po_drafts
   WHERE draft_id = p_draft_id;
Line: 14676

    INSERT INTO po_lines_gt(
         PO_LINE_ID       ,
         LAST_UPDATE_DATE  ,
         LAST_UPDATED_BY    ,
         PO_HEADER_ID        ,
         LINE_TYPE_ID         ,
         LINE_NUM              ,
         LAST_UPDATE_LOGIN      ,
         CREATION_DATE           ,
         CREATED_BY               ,
         ITEM_ID                   ,
         ITEM_REVISION              ,
         CATEGORY_ID                 ,
         ITEM_DESCRIPTION             ,
         UNIT_MEAS_LOOKUP_CODE         ,
         QUANTITY_COMMITTED             ,
         COMMITTED_AMOUNT                ,
         ALLOW_PRICE_OVERRIDE_FLAG        ,
         NOT_TO_EXCEED_PRICE               ,
         LIST_PRICE_PER_UNIT                ,
         UNIT_PRICE                          ,
         QUANTITY                             ,
         UN_NUMBER_ID                          ,
         HAZARD_CLASS_ID                        ,
         NOTE_TO_VENDOR                          ,
         FROM_HEADER_ID                          ,
         FROM_LINE_ID                            ,
         MIN_ORDER_QUANTITY                      ,
         MAX_ORDER_QUANTITY                      ,
         QTY_RCV_TOLERANCE                       ,
         OVER_TOLERANCE_ERROR_FLAG               ,
         MARKET_PRICE                            ,
         UNORDERED_FLAG                          ,
         CLOSED_FLAG                              ,
         USER_HOLD_FLAG                          ,
         CANCEL_FLAG                              ,
         CANCELLED_BY                             ,
         CANCEL_DATE                             ,
         CANCEL_REASON                            ,
         FIRM_STATUS_LOOKUP_CODE                  ,
         FIRM_DATE                                ,
         VENDOR_PRODUCT_NUM                       ,
         CONTRACT_NUM                             ,
         TAXABLE_FLAG                             ,
         TAX_NAME                                 ,
         TYPE_1099                                ,
         CAPITAL_EXPENSE_FLAG                     ,
         NEGOTIATED_BY_PREPARER_FLAG              ,
         ATTRIBUTE_CATEGORY                       ,
         ATTRIBUTE1                               ,
         ATTRIBUTE2                               ,
         ATTRIBUTE3                               ,
         ATTRIBUTE4                               ,
         ATTRIBUTE5                               ,
         ATTRIBUTE6                               ,
         ATTRIBUTE7                               ,
         ATTRIBUTE8                               ,
         ATTRIBUTE9                              ,
         ATTRIBUTE10                              ,
         REFERENCE_NUM                            ,
         ATTRIBUTE11                              ,
         ATTRIBUTE12                              ,
         ATTRIBUTE13                              ,
         ATTRIBUTE14                              ,
         ATTRIBUTE15                              ,
         MIN_RELEASE_AMOUNT                       ,
         PRICE_TYPE_LOOKUP_CODE                   ,
         CLOSED_CODE                              ,
         PRICE_BREAK_LOOKUP_CODE                  ,
         GOVERNMENT_CONTEXT                       ,
         REQUEST_ID                               ,
         PROGRAM_APPLICATION_ID                   ,
         PROGRAM_ID                               ,
         PROGRAM_UPDATE_DATE                      ,
         CLOSED_DATE                              ,
         CLOSED_REASON                            ,
         CLOSED_BY                                ,
         TRANSACTION_REASON_CODE                 ,
         ORG_ID                                   ,
         QC_GRADE                                 ,
         BASE_UOM                                 ,
         BASE_QTY                                 ,
         SECONDARY_UOM                            ,
         SECONDARY_QTY                            ,
         GLOBAL_ATTRIBUTE_CATEGORY                ,
         GLOBAL_ATTRIBUTE1                        ,
         GLOBAL_ATTRIBUTE2                        ,
         GLOBAL_ATTRIBUTE3                        ,
         GLOBAL_ATTRIBUTE4                        ,
         GLOBAL_ATTRIBUTE5                        ,
         GLOBAL_ATTRIBUTE6                        ,
         GLOBAL_ATTRIBUTE7                        ,
         GLOBAL_ATTRIBUTE8                        ,
         GLOBAL_ATTRIBUTE9                        ,
         GLOBAL_ATTRIBUTE10                       ,
         GLOBAL_ATTRIBUTE11                       ,
         GLOBAL_ATTRIBUTE12                       ,
         GLOBAL_ATTRIBUTE13                       ,
         GLOBAL_ATTRIBUTE14                       ,
         GLOBAL_ATTRIBUTE15                       ,
         GLOBAL_ATTRIBUTE16                       ,
         GLOBAL_ATTRIBUTE17                      ,
         GLOBAL_ATTRIBUTE18                      ,
         GLOBAL_ATTRIBUTE19                      ,
         GLOBAL_ATTRIBUTE20                      ,
         LINE_REFERENCE_NUM                       ,
         PROJECT_ID                               ,
         TASK_ID                                  ,
         EXPIRATION_DATE                          ,
         TAX_CODE_ID                              ,
         OKE_CONTRACT_HEADER_ID                   ,
         OKE_CONTRACT_VERSION_ID                  ,
         SECONDARY_QUANTITY                       ,
         SECONDARY_UNIT_OF_MEASURE               ,
         PREFERRED_GRADE                          ,
         AUCTION_HEADER_ID                       ,
         AUCTION_DISPLAY_NUMBER                  ,
         AUCTION_LINE_NUMBER                     ,
         BID_NUMBER                              ,
         BID_LINE_NUMBER                          ,
         RETROACTIVE_DATE                         ,
         CONTRACT_ID                              ,   -- 
         START_DATE                               , -- 
         AMOUNT                                   , -- 
         ORDER_TYPE_LOOKUP_CODE                   ,            -- 
         PURCHASE_BASIS                           ,            -- 
         MATCHING_BASIS                           ,             -- 
         CLM_INFO_FLAG                            ,              -- 
	       CLM_OPTION_INDICATOR			               ,
         CLM_MIN_TOTAL_AMOUNT                    ,
         CLM_MAX_TOTAL_AMOUNT                    ,
         CLM_MIN_TOTAL_QUANTITY                  ,
         CLM_MAX_TOTAL_QUANTITY                  ,
         CLM_MIN_ORDER_AMOUNT                    ,
         CLM_MAX_ORDER_AMOUNT                     ,
         CLM_MIN_ORDER_QUANTITY                  ,
         CLM_MAX_ORDER_QUANTITY                  ,
         CLM_TOTAL_AMOUNT_ORDERED                ,
         CLM_TOTAL_QUANTITY_ORDERED              ,
         CLM_FSC_PSC                             ,
         CLM_MDAPS_MAIS                          ,
         CLM_NAICS                               ,
         CLM_ORDER_START_DATE                    ,
         CLM_ORDER_END_DATE                      ,
         CLM_EXERCISED_FLAG                      ,
         CLM_EXERCISED_DATE                      ,
	 LINE_NUM_DISPLAY                        ,
         CONTRACT_TYPE                           , -- CLM-PHASE-2 Submission Check
         CLM_IDC_TYPE                            ,  -- CLM-PHASE-2 Submission Check
         CLM_DELIVERY_EVENT_CODE                 ,   --
         CLM_PAYMENT_INSTR_CODE                  ,
         CLM_POP_EXCEPTION_REASON                ,   --
         OLD_AMOUNT                              ,--UCA Project - CLMR4 Changes Begin
         OLD_QUANTITY                            ,
         OLD_UNIT_PRICE                          ,
         CLM_UNDEF_FLAG                          ,
         CLM_UNDEF_ACTION_CODE                   ,--UCA Project - CLMR4 Changes End
         CLM_EXHIBIT_NAME                        , -- CLM Phase 4 - Elins project
         COST_CONSTRAINT                           -- CLM Phase 4 - Elins project
     )
     SELECT
              pol.PO_LINE_ID                              ,
         pol.LAST_UPDATE_DATE                        ,
         pol.LAST_UPDATED_BY                 ,
         pol.PO_HEADER_ID                    ,
         pol.LINE_TYPE_ID                   ,
         pol.LINE_NUM                        ,
         pol.LAST_UPDATE_LOGIN                ,
         pol.CREATION_DATE                     ,
         pol.CREATED_BY                         ,
         pol.ITEM_ID                             ,
         pol.ITEM_REVISION                        ,
         pol.CATEGORY_ID                           ,
         pol.ITEM_DESCRIPTION                       ,
         pol.UNIT_MEAS_LOOKUP_CODE                   ,
         pol.QUANTITY_COMMITTED                      ,
         pol.COMMITTED_AMOUNT                         ,
         pol.ALLOW_PRICE_OVERRIDE_FLAG               ,
         pol.NOT_TO_EXCEED_PRICE                      ,
         pol.LIST_PRICE_PER_UNIT                      ,
         pol.UNIT_PRICE                               ,
         pol.QUANTITY                                 ,
         pol.UN_NUMBER_ID                             ,
         pol.HAZARD_CLASS_ID                          ,
         pol.NOTE_TO_VENDOR                           ,
         pol.FROM_HEADER_ID                          ,
         pol.FROM_LINE_ID                            ,
         pol.MIN_ORDER_QUANTITY                      ,
         pol.MAX_ORDER_QUANTITY                      ,
         pol.QTY_RCV_TOLERANCE                       ,
         pol.OVER_TOLERANCE_ERROR_FLAG               ,
         pol.MARKET_PRICE                            ,
         pol.UNORDERED_FLAG                          ,
         pol.CLOSED_FLAG                              ,
         pol.USER_HOLD_FLAG                          ,
         pol.CANCEL_FLAG                              ,
         pol.CANCELLED_BY                             ,
         pol.CANCEL_DATE                             ,
         pol.CANCEL_REASON                            ,
         pol.FIRM_STATUS_LOOKUP_CODE                  ,
         pol.FIRM_DATE                                ,
         pol.VENDOR_PRODUCT_NUM                       ,
         pol.CONTRACT_NUM                             ,
         pol.TAXABLE_FLAG                             ,
         pol.TAX_NAME                                 ,
         pol.TYPE_1099                                ,
         pol.CAPITAL_EXPENSE_FLAG                     ,
         pol.NEGOTIATED_BY_PREPARER_FLAG              ,
         pol.ATTRIBUTE_CATEGORY                       ,
         pol.ATTRIBUTE1                               ,
         pol.ATTRIBUTE2                               ,
         pol.ATTRIBUTE3                               ,
         pol.ATTRIBUTE4                               ,
         pol.ATTRIBUTE5                               ,
         pol.ATTRIBUTE6                               ,
         pol.ATTRIBUTE7                               ,
         pol.ATTRIBUTE8                               ,
         pol.ATTRIBUTE9                              ,
         pol.ATTRIBUTE10                              ,
         pol.REFERENCE_NUM                            ,
         pol.ATTRIBUTE11                              ,
         pol.ATTRIBUTE12                              ,
         pol.ATTRIBUTE13                              ,
         pol.ATTRIBUTE14                              ,
         pol.ATTRIBUTE15                              ,
         pol.MIN_RELEASE_AMOUNT                       ,
         pol.PRICE_TYPE_LOOKUP_CODE                   ,
         pol.CLOSED_CODE                              ,
         pol.PRICE_BREAK_LOOKUP_CODE                  ,
         pol.GOVERNMENT_CONTEXT                       ,
         pol.REQUEST_ID                               ,
         pol.PROGRAM_APPLICATION_ID                   ,
         pol.PROGRAM_ID                               ,
         pol.PROGRAM_UPDATE_DATE                      ,
         pol.CLOSED_DATE                              ,
         pol.CLOSED_REASON                            ,
         pol.CLOSED_BY                                ,
         pol.TRANSACTION_REASON_CODE                 ,
         pol.ORG_ID                                   ,
         pol.QC_GRADE                                 ,
         pol.BASE_UOM                                 ,
         pol.BASE_QTY                                 ,
         pol.SECONDARY_UOM                            ,
        pol.SECONDARY_QTY                            ,
         pol.GLOBAL_ATTRIBUTE_CATEGORY                ,
         pol.GLOBAL_ATTRIBUTE1                        ,
         pol.GLOBAL_ATTRIBUTE2                        ,
         pol.GLOBAL_ATTRIBUTE3                        ,
         pol.GLOBAL_ATTRIBUTE4                        ,
         pol.GLOBAL_ATTRIBUTE5                        ,
         pol.GLOBAL_ATTRIBUTE6                        ,
         pol.GLOBAL_ATTRIBUTE7                        ,
         pol.GLOBAL_ATTRIBUTE8                        ,
         pol.GLOBAL_ATTRIBUTE9                        ,
         pol.GLOBAL_ATTRIBUTE10                       ,
         pol.GLOBAL_ATTRIBUTE11                       ,
         pol.GLOBAL_ATTRIBUTE12                       ,
         pol.GLOBAL_ATTRIBUTE13                       ,
         pol.GLOBAL_ATTRIBUTE14                       ,
         pol.GLOBAL_ATTRIBUTE15                       ,
         pol.GLOBAL_ATTRIBUTE16                       ,
         pol.GLOBAL_ATTRIBUTE17                      ,
         pol.GLOBAL_ATTRIBUTE18                      ,
         pol.GLOBAL_ATTRIBUTE19                      ,
         pol.GLOBAL_ATTRIBUTE20                      ,
         pol.LINE_REFERENCE_NUM                       ,
         pol.PROJECT_ID                               ,
         pol.TASK_ID                                  ,
         pol.EXPIRATION_DATE                          ,
         pol.TAX_CODE_ID                              ,
         pol.OKE_CONTRACT_HEADER_ID                   ,
         pol.OKE_CONTRACT_VERSION_ID                  ,
         pol.SECONDARY_QUANTITY                       ,
         pol.SECONDARY_UNIT_OF_MEASURE               ,
         pol.PREFERRED_GRADE                          ,
         pol.AUCTION_HEADER_ID                       ,
         pol.AUCTION_DISPLAY_NUMBER                  ,
         pol.AUCTION_LINE_NUMBER                     ,
         pol.BID_NUMBER                              ,
        pol.BID_LINE_NUMBER                          ,
         pol.RETROACTIVE_DATE                        ,
         pol.CONTRACT_ID                              , -- 
         pol.START_DATE                               , -- 
         pol.AMOUNT                                   , -- 
         pol.ORDER_TYPE_LOOKUP_CODE                   ,            -- 
         pol.PURCHASE_BASIS                           ,            -- 
         pol.MATCHING_BASIS                           ,             -- 
         pol.CLM_INFO_FLAG                           ,               -- 
	 pol.CLM_OPTION_INDICATOR			 ,
         pol.CLM_MIN_TOTAL_AMOUNT                    ,
         pol.CLM_MAX_TOTAL_AMOUNT                    ,
         pol.CLM_MIN_TOTAL_QUANTITY                  ,
         pol.CLM_MAX_TOTAL_QUANTITY                  ,
         pol.CLM_MIN_ORDER_AMOUNT                    ,
         pol.CLM_MAX_ORDER_AMOUNT                     ,
         pol.CLM_MIN_ORDER_QUANTITY                  ,
         pol.CLM_MAX_ORDER_QUANTITY                  ,
         pol.CLM_TOTAL_AMOUNT_ORDERED                ,
         pol.CLM_TOTAL_QUANTITY_ORDERED              ,
         pol.CLM_FSC_PSC                             ,
         pol.CLM_MDAPS_MAIS                          ,
         pol.CLM_NAICS                               ,
         pol.CLM_ORDER_START_DATE                    ,
         pol.CLM_ORDER_END_DATE                      ,
         pol.CLM_EXERCISED_FLAG                      ,
         pol.CLM_EXERCISED_DATE                      ,
	       pol.LINE_NUM_DISPLAY                        ,
         pol.CONTRACT_TYPE                           , -- CLM-PHASE-2 Submission Check
         pol.CLM_IDC_TYPE                            , -- CLM-PHASE-2 Submission Check
         pol.CLM_DELIVERY_EVENT_CODE                 ,        --
         pol.CLM_PAYMENT_INSTR_CODE                  ,
         pol.CLM_POP_EXCEPTION_REASON                ,   --
         pol.OLD_AMOUNT                              ,--UCA Project - CLMR4 Changes Begin
         pol.OLD_QUANTITY                            ,
         pol.OLD_UNIT_PRICE                          ,
         pol.CLM_UNDEF_FLAG                          ,
         pol.CLM_UNDEF_ACTION_CODE                   , --UCA Project - CLMR4 Changes End
         pol.CLM_EXHIBIT_NAME                        , -- CLM Phase 4 - Elins project
         pol.COST_CONSTRAINT                           -- CLM Phase 4 - Elins project
	   FROM po_lines_merge_v pol
      Where pol.po_line_id = l_line_id_tbl(i)
      and pol.draft_id = p_draft_id
            /*-- CLM Aprvl
	        FROM po_lines_all pol
            WHERE pol.po_line_id = l_line_id_tbl(i)
	        -- CLM Aprvl*/
      --  need to change the entities which should be validated. Only records in the draft tables should be validated.
      AND (l_draft_type <> 'PAR'
          OR (l_draft_type = 'PAR' AND pol.change_status IS NOT NULL ));
Line: 15060

    INSERT INTO po_releases_gt(
         PO_RELEASE_ID                   ,
         LAST_UPDATE_DATE                ,
         LAST_UPDATED_BY                ,
         PO_HEADER_ID                  ,
         RELEASE_NUM                    ,
         AGENT_ID                       ,
         RELEASE_DATE                  ,
         LAST_UPDATE_LOGIN              ,
         CREATION_DATE                  ,
         CREATED_BY                      ,
         REVISION_NUM                     ,
         REVISED_DATE                      ,
         APPROVED_FLAG                      ,
         APPROVED_DATE                       ,
         PRINT_COUNT                          ,
         PRINTED_DATE                          ,
         ACCEPTANCE_REQUIRED_FLAG               ,
         ACCEPTANCE_DUE_DATE                     ,
         HOLD_BY                                  ,
         HOLD_DATE                                ,
         HOLD_REASON                              ,
         HOLD_FLAG                                ,
         CANCEL_FLAG                              ,
         CANCELLED_BY                             ,
         CANCEL_DATE                              ,
         CANCEL_REASON                            ,
         FIRM_STATUS_LOOKUP_CODE                  ,
         FIRM_DATE                                ,
         ATTRIBUTE_CATEGORY                       ,
         ATTRIBUTE1                               ,
         ATTRIBUTE2                               ,
         ATTRIBUTE3                               ,
         ATTRIBUTE4                               ,
         ATTRIBUTE5                               ,
         ATTRIBUTE6                               ,
         ATTRIBUTE7                               ,
         ATTRIBUTE8                               ,
         ATTRIBUTE9                               ,
         ATTRIBUTE10                              ,
         ATTRIBUTE11                              ,
         ATTRIBUTE12                              ,
         ATTRIBUTE13                              ,
         ATTRIBUTE14                              ,
         ATTRIBUTE15                              ,
         AUTHORIZATION_STATUS                     ,
         GOVERNMENT_CONTEXT                       ,
         REQUEST_ID                               ,
         PROGRAM_APPLICATION_ID                   ,
         PROGRAM_ID                               ,
         PROGRAM_UPDATE_DATE                      ,
         CLOSED_CODE                              ,
         FROZEN_FLAG                              ,
         RELEASE_TYPE                             ,
         NOTE_TO_VENDOR                           ,
         ORG_ID                                   ,
         EDI_PROCESSED_FLAG                       ,
         GLOBAL_ATTRIBUTE_CATEGORY                ,
         GLOBAL_ATTRIBUTE1                        ,
         GLOBAL_ATTRIBUTE2                        ,
         GLOBAL_ATTRIBUTE3                        ,
         GLOBAL_ATTRIBUTE4                        ,
         GLOBAL_ATTRIBUTE5                        ,
         GLOBAL_ATTRIBUTE6                        ,
         GLOBAL_ATTRIBUTE7                        ,
         GLOBAL_ATTRIBUTE8                        ,
         GLOBAL_ATTRIBUTE9                        ,
         GLOBAL_ATTRIBUTE10                       ,
         GLOBAL_ATTRIBUTE11                       ,
         GLOBAL_ATTRIBUTE12                       ,
         GLOBAL_ATTRIBUTE13                       ,
         GLOBAL_ATTRIBUTE14                       ,
         GLOBAL_ATTRIBUTE15                       ,
         GLOBAL_ATTRIBUTE16                       ,
         GLOBAL_ATTRIBUTE17                       ,
         GLOBAL_ATTRIBUTE18                       ,
         GLOBAL_ATTRIBUTE19                       ,
         GLOBAL_ATTRIBUTE20                       ,
         WF_ITEM_TYPE                             ,
         WF_ITEM_KEY                              ,
         PCARD_ID                                ,
         PAY_ON_CODE                             ,
         XML_FLAG                                 ,
         XML_SEND_DATE                            ,
         XML_CHANGE_SEND_DATE                     ,
         CONSIGNED_CONSUMPTION_FLAG               ,
         CBC_ACCOUNTING_DATE)
      SELECT
                  PO_RELEASE_ID                   ,
         LAST_UPDATE_DATE                ,
         LAST_UPDATED_BY                ,
         PO_HEADER_ID                  ,
         RELEASE_NUM                    ,
         AGENT_ID                       ,
         RELEASE_DATE                  ,
         LAST_UPDATE_LOGIN              ,
         CREATION_DATE                  ,
         CREATED_BY                      ,
         REVISION_NUM                     ,
         REVISED_DATE                      ,
         APPROVED_FLAG                      ,
         APPROVED_DATE                       ,
         PRINT_COUNT                          ,
         PRINTED_DATE                          ,
         ACCEPTANCE_REQUIRED_FLAG               ,
         ACCEPTANCE_DUE_DATE                     ,
         HOLD_BY                                  ,
         HOLD_DATE                                ,
         HOLD_REASON                              ,
         HOLD_FLAG                                ,
         CANCEL_FLAG                              ,
         CANCELLED_BY                             ,
         CANCEL_DATE                              ,
         CANCEL_REASON                            ,
         FIRM_STATUS_LOOKUP_CODE                  ,
         FIRM_DATE                                ,
         ATTRIBUTE_CATEGORY                       ,
         ATTRIBUTE1                               ,
         ATTRIBUTE2                               ,
         ATTRIBUTE3                               ,
         ATTRIBUTE4                               ,
         ATTRIBUTE5                               ,
         ATTRIBUTE6                               ,
         ATTRIBUTE7                               ,
         ATTRIBUTE8                               ,
         ATTRIBUTE9                               ,
         ATTRIBUTE10                              ,
         ATTRIBUTE11                              ,
         ATTRIBUTE12                              ,
         ATTRIBUTE13                              ,
         ATTRIBUTE14                              ,
         ATTRIBUTE15                              ,
         AUTHORIZATION_STATUS                     ,
         GOVERNMENT_CONTEXT                       ,
         REQUEST_ID                               ,
         PROGRAM_APPLICATION_ID                   ,
         PROGRAM_ID                               ,
         PROGRAM_UPDATE_DATE                      ,
         CLOSED_CODE                              ,
         FROZEN_FLAG                              ,
         RELEASE_TYPE                             ,
         NOTE_TO_VENDOR                           ,
         ORG_ID                                   ,
         EDI_PROCESSED_FLAG                       ,
         GLOBAL_ATTRIBUTE_CATEGORY                ,
         GLOBAL_ATTRIBUTE1                        ,
         GLOBAL_ATTRIBUTE2                        ,
         GLOBAL_ATTRIBUTE3                        ,
         GLOBAL_ATTRIBUTE4                        ,
         GLOBAL_ATTRIBUTE5                        ,
         GLOBAL_ATTRIBUTE6                        ,
         GLOBAL_ATTRIBUTE7                        ,
         GLOBAL_ATTRIBUTE8                        ,
         GLOBAL_ATTRIBUTE9                        ,
         GLOBAL_ATTRIBUTE10                       ,
         GLOBAL_ATTRIBUTE11                       ,
         GLOBAL_ATTRIBUTE12                       ,
         GLOBAL_ATTRIBUTE13                       ,
         GLOBAL_ATTRIBUTE14                       ,
         GLOBAL_ATTRIBUTE15                       ,
         GLOBAL_ATTRIBUTE16                       ,
         GLOBAL_ATTRIBUTE17                       ,
         GLOBAL_ATTRIBUTE18                       ,
         GLOBAL_ATTRIBUTE19                       ,
         GLOBAL_ATTRIBUTE20                       ,
         WF_ITEM_TYPE                             ,
         WF_ITEM_KEY                              ,
         PCARD_ID                                ,
         PAY_ON_CODE                             ,
         XML_FLAG                                 ,
         XML_SEND_DATE                            ,
         XML_CHANGE_SEND_DATE                     ,
         CONSIGNED_CONSUMPTION_FLAG               ,
         CBC_ACCOUNTING_DATE
     FROM po_releases
     WHERE po_release_id = p_document_id;
Line: 15288

    INSERT INTO po_req_headers_gt(
         PROGRAM_UPDATE_DATE                      ,
         INTERFACE_SOURCE_CODE                    ,
         INTERFACE_SOURCE_LINE_ID                 ,
         CLOSED_CODE                              ,
         ORG_ID                                   ,
         DESCRIPTION                              ,
         AUTHORIZATION_STATUS                     ,
         NOTE_TO_AUTHORIZER                       ,
         TYPE_LOOKUP_CODE                         ,
         TRANSFERRED_TO_OE_FLAG                   ,
         ATTRIBUTE_CATEGORY                       ,
         ATTRIBUTE1                               ,
         ATTRIBUTE2                               ,
         ATTRIBUTE3                               ,
         ATTRIBUTE4                               ,
         ATTRIBUTE5                               ,
         ON_LINE_FLAG                             ,
         PRELIMINARY_RESEARCH_FLAG                ,
         RESEARCH_COMPLETE_FLAG                   ,
         PREPARER_FINISHED_FLAG                   ,
         PREPARER_FINISHED_DATE                   ,
         AGENT_RETURN_FLAG                        ,
         AGENT_RETURN_NOTE                        ,
         CANCEL_FLAG                              ,
         ATTRIBUTE6                               ,
         ATTRIBUTE7                               ,
         ATTRIBUTE8                               ,
         ATTRIBUTE9                               ,
         ATTRIBUTE10                              ,
         ATTRIBUTE11                              ,
         ATTRIBUTE12                              ,
         ATTRIBUTE13                              ,
         ATTRIBUTE14                              ,
         ATTRIBUTE15                              ,
         GOVERNMENT_CONTEXT                       ,
         REQUEST_ID                               ,
         PROGRAM_APPLICATION_ID                   ,
         PROGRAM_ID                               ,
         REQUISITION_HEADER_ID             ,
         PREPARER_ID                       ,
         LAST_UPDATE_DATE                   ,
         LAST_UPDATED_BY                   ,
         SEGMENT1                          ,
         SUMMARY_FLAG                       ,
         ENABLED_FLAG                       ,
         SEGMENT2                                 ,
         SEGMENT3                                 ,
         SEGMENT4                                 ,
         SEGMENT5                                 ,
         START_DATE_ACTIVE                        ,
         END_DATE_ACTIVE                          ,
         LAST_UPDATE_LOGIN                        ,
         CREATION_DATE                            ,
         CREATED_BY                               ,
         WF_ITEM_TYPE                             ,
         WF_ITEM_KEY                              ,
         EMERGENCY_PO_NUM                          ,
         PCARD_ID                                    ,
         APPS_SOURCE_CODE                          ,
         CBC_ACCOUNTING_DATE)
     SELECT
         PROGRAM_UPDATE_DATE                      ,
         INTERFACE_SOURCE_CODE                    ,
         INTERFACE_SOURCE_LINE_ID                 ,
         CLOSED_CODE                              ,
         ORG_ID                                   ,
         DESCRIPTION                              ,
         AUTHORIZATION_STATUS                     ,
         substrb(NOTE_TO_AUTHORIZER,1,480)         , -- Bug4443295(added substr)
         TYPE_LOOKUP_CODE                         ,
         TRANSFERRED_TO_OE_FLAG                   ,
         ATTRIBUTE_CATEGORY                       ,
         ATTRIBUTE1                               ,
         ATTRIBUTE2                               ,
         ATTRIBUTE3                               ,
         ATTRIBUTE4                               ,
         ATTRIBUTE5                               ,
         ON_LINE_FLAG                             ,
         PRELIMINARY_RESEARCH_FLAG                ,
         RESEARCH_COMPLETE_FLAG                   ,
         PREPARER_FINISHED_FLAG                   ,
         PREPARER_FINISHED_DATE                   ,
         AGENT_RETURN_FLAG                        ,
         AGENT_RETURN_NOTE                        ,
         CANCEL_FLAG                              ,
         ATTRIBUTE6                               ,
         ATTRIBUTE7                               ,
         ATTRIBUTE8                               ,
         ATTRIBUTE9                               ,
         ATTRIBUTE10                              ,
         ATTRIBUTE11                              ,
         ATTRIBUTE12                              ,
         ATTRIBUTE13                              ,
         ATTRIBUTE14                              ,
         ATTRIBUTE15                              ,
         GOVERNMENT_CONTEXT                       ,
         REQUEST_ID                               ,
         PROGRAM_APPLICATION_ID                   ,
         PROGRAM_ID                               ,
         REQUISITION_HEADER_ID             ,
         PREPARER_ID                       ,
         LAST_UPDATE_DATE                   ,
         LAST_UPDATED_BY                   ,
         SEGMENT1                          ,
         SUMMARY_FLAG                       ,
         ENABLED_FLAG                       ,
         SEGMENT2                                 ,
         SEGMENT3                                 ,
         SEGMENT4                                 ,
         SEGMENT5                                 ,
         START_DATE_ACTIVE                        ,
         END_DATE_ACTIVE                          ,
         LAST_UPDATE_LOGIN                        ,
         CREATION_DATE                            ,
         CREATED_BY                               ,
         WF_ITEM_TYPE                             ,
         WF_ITEM_KEY                              ,
         EMERGENCY_PO_NUM                          ,
         PCARD_ID                                    ,
         APPS_SOURCE_CODE                          ,
         CBC_ACCOUNTING_DATE
    FROM po_requisition_headers
    WHERE requisition_header_id = p_document_id;
Line: 15463

    INSERT INTO po_req_lines_gt(
         REQUEST_ID                               ,
         PROGRAM_APPLICATION_ID                   ,
         PROGRAM_ID                               ,
         PROGRAM_UPDATE_DATE                      ,
         GOVERNMENT_CONTEXT                       ,
         CLOSED_REASON                            ,
         CLOSED_DATE                              ,
         TRANSACTION_REASON_CODE                  ,
         QUANTITY_RECEIVED                        ,
         SOURCE_REQ_LINE_ID                       ,
         ORG_ID                                   ,
         CANCEL_REASON                            ,
         CLOSED_CODE                              ,
         AGENT_RETURN_NOTE                        ,
         CHANGED_AFTER_RESEARCH_FLAG              ,
         VENDOR_ID                                ,
         VENDOR_SITE_ID                           ,
         VENDOR_CONTACT_ID                        ,
         RESEARCH_AGENT_ID                        ,
         ON_LINE_FLAG                             ,
         WIP_ENTITY_ID                            ,
         WIP_LINE_ID                              ,
         WIP_REPETITIVE_SCHEDULE_ID               ,
         WIP_OPERATION_SEQ_NUM                    ,
         WIP_RESOURCE_SEQ_NUM                     ,
         ATTRIBUTE_CATEGORY                       ,
         DESTINATION_CONTEXT                      ,
         INVENTORY_SOURCE_CONTEXT                 ,
         VENDOR_SOURCE_CONTEXT                    ,
         ATTRIBUTE1                               ,
         ATTRIBUTE2                               ,
         ATTRIBUTE3                               ,
         ATTRIBUTE4                               ,
         ATTRIBUTE5                               ,
         ATTRIBUTE6                               ,
         ATTRIBUTE7                               ,
         ATTRIBUTE8                               ,
         ATTRIBUTE9                               ,
         ATTRIBUTE10                              ,
         ATTRIBUTE11                              ,
         ATTRIBUTE12                              ,
         ATTRIBUTE13                              ,
         ATTRIBUTE14                              ,
         ATTRIBUTE15                              ,
         BOM_RESOURCE_ID                          ,
         PARENT_REQ_LINE_ID                       ,
         JUSTIFICATION                            ,
         NOTE_TO_AGENT                            ,
         NOTE_TO_RECEIVER                         ,
         PURCHASING_AGENT_ID                      ,
         DOCUMENT_TYPE_CODE                       ,
         BLANKET_PO_HEADER_ID                     ,
         BLANKET_PO_LINE_NUM                      ,
         CURRENCY_CODE                            ,
         RATE_TYPE                                ,
         RATE_DATE                                ,
         RATE                                     ,
         CURRENCY_UNIT_PRICE                      ,
         SUGGESTED_VENDOR_NAME                    ,
         SUGGESTED_VENDOR_LOCATION                ,
         SUGGESTED_VENDOR_CONTACT                 ,
         SUGGESTED_VENDOR_PHONE                   ,
         SUGGESTED_VENDOR_PRODUCT_CODE            ,
         UN_NUMBER_ID                             ,
         HAZARD_CLASS_ID                          ,
         MUST_USE_SUGG_VENDOR_FLAG                ,
         REFERENCE_NUM                            ,
         ON_RFQ_FLAG                              ,
         URGENT_FLAG                              ,
         CANCEL_FLAG                              ,
         SOURCE_ORGANIZATION_ID                   ,
         SOURCE_SUBINVENTORY                      ,
         DESTINATION_TYPE_CODE                    ,
         DESTINATION_ORGANIZATION_ID              ,
         DESTINATION_SUBINVENTORY                 ,
         QUANTITY_CANCELLED                       ,
         CANCEL_DATE                              ,
         REQUISITION_LINE_ID               ,
         REQUISITION_HEADER_ID             ,
         LINE_NUM                          ,
         LINE_TYPE_ID                      ,
         CATEGORY_ID                       ,
         ITEM_DESCRIPTION                  ,
         UNIT_MEAS_LOOKUP_CODE             ,
         UNIT_PRICE                        ,
         QUANTITY                          ,
         AMOUNT                            ,                  -- 
         DELIVER_TO_LOCATION_ID           ,
         TO_PERSON_ID                     ,
         LAST_UPDATE_DATE                 ,
         LAST_UPDATED_BY                   ,
         SOURCE_TYPE_CODE                  ,
         LAST_UPDATE_LOGIN                        ,
         CREATION_DATE                            ,
         CREATED_BY                               ,
         ITEM_ID                                  ,
         ITEM_REVISION                            ,
         QUANTITY_DELIVERED                       ,
         SUGGESTED_BUYER_ID                       ,
         ENCUMBERED_FLAG                          ,
         RFQ_REQUIRED_FLAG                        ,
         NEED_BY_DATE                             ,
         LINE_LOCATION_ID                         ,
         MODIFIED_BY_AGENT_FLAG                   ,
         KANBAN_CARD_ID                           ,
         CATALOG_TYPE                             ,
         CATALOG_SOURCE                           ,
         MANUFACTURER_ID                          ,
         MANUFACTURER_NAME                        ,
         MANUFACTURER_PART_NUMBER                 ,
         REQUESTER_EMAIL                          ,
         REQUESTER_FAX                            ,
         REQUESTER_PHONE                          ,
         UNSPSC_CODE                              ,
         OTHER_CATEGORY_CODE                      ,
         SUPPLIER_DUNS                            ,
         TAX_STATUS_INDICATOR                     ,
         PCARD_FLAG                               ,
         NEW_SUPPLIER_FLAG                        ,
         AUTO_RECEIVE_FLAG                        ,
         TAX_USER_OVERRIDE_FLAG                   ,
         TAX_CODE_ID                              ,
         NOTE_TO_VENDOR                           ,
         OKE_CONTRACT_HEADER_ID                   ,
         OKE_CONTRACT_VERSION_ID                  ,
         ITEM_SOURCE_ID                           ,
         SUPPLIER_REF_NUMBER                      ,
         SECONDARY_UNIT_OF_MEASURE                ,
         SECONDARY_QUANTITY                       ,
         PREFERRED_GRADE                          ,
         SECONDARY_QUANTITY_RECEIVED              ,
         SECONDARY_QUANTITY_CANCELLED             ,
         AUCTION_HEADER_ID                        ,
         AUCTION_DISPLAY_NUMBER                   ,
         AUCTION_LINE_NUMBER                      ,
         REQS_IN_POOL_FLAG                        ,
         VMI_FLAG                                 ,
         BID_NUMBER                               ,
         BID_LINE_NUMBER)
    SELECT
         REQUEST_ID                               ,
         PROGRAM_APPLICATION_ID                   ,
         PROGRAM_ID                               ,
         PROGRAM_UPDATE_DATE                      ,
         GOVERNMENT_CONTEXT                       ,
         CLOSED_REASON                            ,
         CLOSED_DATE                              ,
         TRANSACTION_REASON_CODE                  ,
         QUANTITY_RECEIVED                        ,
         SOURCE_REQ_LINE_ID                       ,
         ORG_ID                                   ,
         CANCEL_REASON                            ,
         CLOSED_CODE                              ,
         AGENT_RETURN_NOTE                        ,
         CHANGED_AFTER_RESEARCH_FLAG              ,
         VENDOR_ID                                ,
         VENDOR_SITE_ID                           ,
         VENDOR_CONTACT_ID                        ,
         RESEARCH_AGENT_ID                        ,
         ON_LINE_FLAG                             ,
         WIP_ENTITY_ID                            ,
         WIP_LINE_ID                              ,
         WIP_REPETITIVE_SCHEDULE_ID               ,
         WIP_OPERATION_SEQ_NUM                    ,
         WIP_RESOURCE_SEQ_NUM                     ,
         ATTRIBUTE_CATEGORY                       ,
         DESTINATION_CONTEXT                      ,
         INVENTORY_SOURCE_CONTEXT                 ,
         VENDOR_SOURCE_CONTEXT                    ,
         ATTRIBUTE1                               ,
         ATTRIBUTE2                               ,
         ATTRIBUTE3                               ,
         ATTRIBUTE4                               ,
         ATTRIBUTE5                               ,
         ATTRIBUTE6                               ,
         ATTRIBUTE7                               ,
         ATTRIBUTE8                               ,
         ATTRIBUTE9                               ,
         ATTRIBUTE10                              ,
         ATTRIBUTE11                              ,
         ATTRIBUTE12                              ,
         ATTRIBUTE13                              ,
         ATTRIBUTE14                              ,
         ATTRIBUTE15                              ,
         BOM_RESOURCE_ID                          ,
         PARENT_REQ_LINE_ID                       ,
         JUSTIFICATION                            ,
         NOTE_TO_AGENT                            ,
         NOTE_TO_RECEIVER                         ,
         PURCHASING_AGENT_ID                      ,
         DOCUMENT_TYPE_CODE                       ,
         BLANKET_PO_HEADER_ID                     ,
         BLANKET_PO_LINE_NUM                      ,
         CURRENCY_CODE                            ,
         RATE_TYPE                                ,
         RATE_DATE                                ,
         RATE                                     ,
         CURRENCY_UNIT_PRICE                      ,
         SUGGESTED_VENDOR_NAME                    ,
         SUGGESTED_VENDOR_LOCATION                ,
         SUGGESTED_VENDOR_CONTACT                 ,
         SUGGESTED_VENDOR_PHONE                   ,
         SUGGESTED_VENDOR_PRODUCT_CODE            ,
         UN_NUMBER_ID                             ,
         HAZARD_CLASS_ID                          ,
         MUST_USE_SUGG_VENDOR_FLAG                ,
         REFERENCE_NUM                            ,
         ON_RFQ_FLAG                              ,
         URGENT_FLAG                              ,
         CANCEL_FLAG                              ,
         SOURCE_ORGANIZATION_ID                   ,
         SOURCE_SUBINVENTORY                      ,
         DESTINATION_TYPE_CODE                    ,
         DESTINATION_ORGANIZATION_ID              ,
         DESTINATION_SUBINVENTORY                 ,
         QUANTITY_CANCELLED                       ,
         CANCEL_DATE                              ,
         REQUISITION_LINE_ID               ,
         REQUISITION_HEADER_ID             ,
         LINE_NUM                          ,
         LINE_TYPE_ID                      ,
         CATEGORY_ID                       ,
         ITEM_DESCRIPTION                  ,
         UNIT_MEAS_LOOKUP_CODE             ,
         UNIT_PRICE                        ,
         QUANTITY                          ,
         AMOUNT                            ,                  -- 
         DELIVER_TO_LOCATION_ID           ,
         TO_PERSON_ID                     ,
         LAST_UPDATE_DATE                 ,
         LAST_UPDATED_BY                   ,
         SOURCE_TYPE_CODE                  ,
         LAST_UPDATE_LOGIN                        ,
         CREATION_DATE                            ,
         CREATED_BY                               ,
         ITEM_ID                                  ,
         ITEM_REVISION                            ,
         QUANTITY_DELIVERED                       ,
         SUGGESTED_BUYER_ID                       ,
         ENCUMBERED_FLAG                          ,
         RFQ_REQUIRED_FLAG                        ,
         NEED_BY_DATE                             ,
         LINE_LOCATION_ID                         ,
         MODIFIED_BY_AGENT_FLAG                   ,
         KANBAN_CARD_ID                           ,
         CATALOG_TYPE                             ,
         CATALOG_SOURCE                           ,
         MANUFACTURER_ID                          ,
         MANUFACTURER_NAME                        ,
         MANUFACTURER_PART_NUMBER                 ,
         REQUESTER_EMAIL                          ,
         REQUESTER_FAX                            ,
         REQUESTER_PHONE                          ,
         UNSPSC_CODE                              ,
         OTHER_CATEGORY_CODE                      ,
         SUPPLIER_DUNS                            ,
         TAX_STATUS_INDICATOR                     ,
         PCARD_FLAG                               ,
         NEW_SUPPLIER_FLAG                        ,
         AUTO_RECEIVE_FLAG                        ,
         TAX_USER_OVERRIDE_FLAG                   ,
         TAX_CODE_ID                              ,
         NOTE_TO_VENDOR                           ,
         OKE_CONTRACT_HEADER_ID                   ,
         OKE_CONTRACT_VERSION_ID                  ,
         ITEM_SOURCE_ID                           ,
         SUPPLIER_REF_NUMBER                      ,
         SECONDARY_UNIT_OF_MEASURE                ,
         SECONDARY_QUANTITY                       ,
         PREFERRED_GRADE                          ,
         SECONDARY_QUANTITY_RECEIVED              ,
         SECONDARY_QUANTITY_CANCELLED             ,
         AUCTION_HEADER_ID                        ,
         AUCTION_DISPLAY_NUMBER                   ,
         AUCTION_LINE_NUMBER                      ,
         REQS_IN_POOL_FLAG                        ,
         VMI_FLAG                                 ,
         BID_NUMBER                               ,
         BID_LINE_NUMBER
    FROM po_requisition_lines
    WHERE requisition_header_id = p_document_id;
Line: 15798

    INSERT INTO po_req_distributions_gt(
         DISTRIBUTION_ID                   ,
         LAST_UPDATE_DATE                  ,
         LAST_UPDATED_BY                   ,
         REQUISITION_LINE_ID               ,
         SET_OF_BOOKS_ID                   ,
         CODE_COMBINATION_ID               ,
         REQ_LINE_QUANTITY                 ,
         REQ_LINE_AMOUNT                   ,                  -- 
         LAST_UPDATE_LOGIN                        ,
         CREATION_DATE                            ,
         CREATED_BY                               ,
         ENCUMBERED_FLAG                          ,
         GL_ENCUMBERED_DATE                       ,
         GL_ENCUMBERED_PERIOD_NAME                ,
         GL_CANCELLED_DATE                        ,
         FAILED_FUNDS_LOOKUP_CODE                 ,
         ENCUMBERED_AMOUNT                        ,
         BUDGET_ACCOUNT_ID                        ,
         ACCRUAL_ACCOUNT_ID                       ,
         ORG_ID                                   ,
         VARIANCE_ACCOUNT_ID                      ,
         PREVENT_ENCUMBRANCE_FLAG                 ,
         ATTRIBUTE_CATEGORY                       ,
         ATTRIBUTE1                               ,
         ATTRIBUTE2                               ,
         ATTRIBUTE3                               ,
         ATTRIBUTE4                               ,
         ATTRIBUTE5                               ,
         ATTRIBUTE6                               ,
         ATTRIBUTE7                               ,
         ATTRIBUTE8                               ,
         ATTRIBUTE9                               ,
         ATTRIBUTE10                              ,
         ATTRIBUTE11                              ,
         ATTRIBUTE12                              ,
         ATTRIBUTE13                              ,
         ATTRIBUTE14                              ,
         ATTRIBUTE15                              ,
         GOVERNMENT_CONTEXT                       ,
         REQUEST_ID                               ,
         PROGRAM_APPLICATION_ID                   ,
         PROGRAM_ID                               ,
         PROGRAM_UPDATE_DATE                      ,
         PROJECT_ID                               ,
         TASK_ID                                  ,
         EXPENDITURE_TYPE                         ,
         PROJECT_ACCOUNTING_CONTEXT               ,
         EXPENDITURE_ORGANIZATION_ID              ,
         GL_CLOSED_DATE                           ,
         SOURCE_REQ_DISTRIBUTION_ID               ,
         DISTRIBUTION_NUM                         ,
         PROJECT_RELATED_FLAG                     ,
         EXPENDITURE_ITEM_DATE                    ,
         ALLOCATION_TYPE                          ,
         ALLOCATION_VALUE                         ,
         AWARD_ID                                 ,
         END_ITEM_UNIT_NUMBER                     ,
         RECOVERABLE_TAX                          ,
         NONRECOVERABLE_TAX                       ,
         RECOVERY_RATE                            ,
         TAX_RECOVERY_OVERRIDE_FLAG               ,
         OKE_CONTRACT_LINE_ID                     ,
         OKE_CONTRACT_DELIVERABLE_ID)
    SELECT
         PRD.DISTRIBUTION_ID                   ,
         PRD.LAST_UPDATE_DATE                  ,
         PRD.LAST_UPDATED_BY                   ,
         PRD.REQUISITION_LINE_ID               ,
         PRD.SET_OF_BOOKS_ID                   ,
         PRD.CODE_COMBINATION_ID               ,
         PRD.REQ_LINE_QUANTITY                 ,
         PRD.REQ_LINE_AMOUNT                   ,              -- 
         PRD.LAST_UPDATE_LOGIN                        ,
         PRD.CREATION_DATE                            ,
         PRD.CREATED_BY                               ,
         PRD.ENCUMBERED_FLAG                          ,
         PRD.GL_ENCUMBERED_DATE                       ,
         PRD.GL_ENCUMBERED_PERIOD_NAME                ,
         PRD.GL_CANCELLED_DATE                        ,
         PRD.FAILED_FUNDS_LOOKUP_CODE                 ,
         PRD.ENCUMBERED_AMOUNT                        ,
         PRD.BUDGET_ACCOUNT_ID                        ,
         PRD.ACCRUAL_ACCOUNT_ID                       ,
         PRD.ORG_ID                                   ,
         PRD.VARIANCE_ACCOUNT_ID                      ,
         PRD.PREVENT_ENCUMBRANCE_FLAG                 ,
         PRD.ATTRIBUTE_CATEGORY                       ,
         PRD.ATTRIBUTE1                               ,
         PRD.ATTRIBUTE2                               ,
         PRD.ATTRIBUTE3                               ,
         PRD.ATTRIBUTE4                               ,
         PRD.ATTRIBUTE5                               ,
         PRD.ATTRIBUTE6                               ,
         PRD.ATTRIBUTE7                               ,
         PRD.ATTRIBUTE8                               ,
         PRD.ATTRIBUTE9                               ,
         PRD.ATTRIBUTE10                              ,
         PRD.ATTRIBUTE11                              ,
         PRD.ATTRIBUTE12                              ,
         PRD.ATTRIBUTE13                              ,
         PRD.ATTRIBUTE14                              ,
         PRD.ATTRIBUTE15                              ,
         PRD.GOVERNMENT_CONTEXT                       ,
         PRD.REQUEST_ID                               ,
         PRD.PROGRAM_APPLICATION_ID                   ,
         PRD.PROGRAM_ID                               ,
         PRD.PROGRAM_UPDATE_DATE                      ,
         PRD.PROJECT_ID                               ,
         PRD.TASK_ID                                  ,
         PRD.EXPENDITURE_TYPE                         ,
         PRD.PROJECT_ACCOUNTING_CONTEXT               ,
         PRD.EXPENDITURE_ORGANIZATION_ID              ,
         PRD.GL_CLOSED_DATE                           ,
         PRD.SOURCE_REQ_DISTRIBUTION_ID               ,
         PRD.DISTRIBUTION_NUM                         ,
         PRD.PROJECT_RELATED_FLAG                     ,
         PRD.EXPENDITURE_ITEM_DATE                    ,
         PRD.ALLOCATION_TYPE                          ,
         PRD.ALLOCATION_VALUE                         ,
         PRD.AWARD_ID                                 ,
         PRD.END_ITEM_UNIT_NUMBER                     ,
         PRD.RECOVERABLE_TAX                          ,
         PRD.NONRECOVERABLE_TAX                       ,
         PRD.RECOVERY_RATE                            ,
         PRD.TAX_RECOVERY_OVERRIDE_FLAG               ,
         PRD.OKE_CONTRACT_LINE_ID                     ,
         PRD.OKE_CONTRACT_DELIVERABLE_ID
    FROM po_req_distributions PRD, po_requisition_lines PRL
    WHERE PRD.requisition_line_id = PRL.requisition_line_id AND
          PRL.requisition_header_id = p_document_id;
Line: 16062

        'EXISTS (SELECT ''Y'' FROM PO_ACTION_HISTORY POAH2 ' ||
        'WHERE POAH2.employee_id = ' || p_employee_id ||
        ' AND POAH2.object_type_code = (DECODE(' || p_query_table || '.type_lookup_code, ''BLANKET'', ''PA'', ''STANDARD'', ''PO'' , ''PLANNED'' , ''PO'' , ''CONTRACT'' , ''PA'', ''RELEASE'' , ''RELEASE'' ) )' ||
        ' AND POAH2.object_id = ' || p_query_table || '.' || l_id_column || '))))';*/
Line: 16070

       'EXISTS (SELECT ''Y'' FROM PO_ACTION_HISTORY POAH2 ' ||
       'WHERE POAH2.employee_id =' || p_employee_id ||
	   /* Bug 7229262/7239696
	   ' AND POAH2.object_type_code = (DECODE(' || p_query_table || '.type_lookup_code, ''BLANKET'', ''PA'', ''STANDARD'', ''PO'' , ''PLANNED'' , ''PO'' , ''CONTRACT'' , ''PA'', ''RELEASE'' , ''RELEASE'' ) ) ' ||
	   */
	   ' AND POAH2.object_type_code = (DECODE(' || p_query_table || '.'||l_doctype_column||', ''BLANKET'', ''PA'', ''STANDARD'', ''PO'' , ''PLANNED'' , ''PO'' , ''CONTRACT'' , ''PA'', ''RELEASE'' , ''RELEASE'' ) )' ||
		/* End Bug 7229262/7239696 */

       ' AND POAH2.object_id = ' || p_query_table || '.' || l_id_column || ')) OR (' ||
       p_employee_id || ' IN (SELECT H.superior_id ' ||
       ' FROM PO_EMPLOYEE_HIERARCHIES H, PO_SYSTEM_PARAMETERS PSP WHERE H.employee_id = ' ||
       p_query_table || '.' || p_owner_id_column ||
       ' AND H.position_structure_id = NVL(PSP.SECURITY_POSITION_STRUCTURE_ID,-1) '
       ||'AND PSP.ORG_ID = '||p_query_table || '.ORG_ID '
       ||'))))';
Line: 16089

       'EXISTS (SELECT ''Y'' FROM PO_ACTION_HISTORY POAH2 ' ||
       'WHERE POAH2.employee_id =' || p_employee_id ||
	   /* Bug 7229262/7239696
	   ' AND POAH2.object_type_code = (DECODE(' || p_query_table || '.type_lookup_code, ''BLANKET'', ''PA'', ''STANDARD'', ''PO'' , ''PLANNED'' , ''PO'' , ''CONTRACT'' , ''PA'', ''RELEASE'' , ''RELEASE'' ) ) ' ||
	   */
       ' AND POAH2.object_type_code = (DECODE(' || p_query_table || '.'||l_doctype_column||', ''BLANKET'', ''PA'', ''STANDARD'', ''PO'' , ''PLANNED'' , ''PO'' , ''CONTRACT'' , ''PA'', ''RELEASE'' , ''RELEASE'' ) ) ' ||
		/* End Bug 7229262/7239696 */
       ' AND POAH2.object_id = ' || p_query_table || '.' || l_id_column || ')) OR (' ||
       'EXISTS(SELECT NULL FROM PO_AGENTS WHERE agent_id= ' ||
       p_employee_id || ' AND SYSDATE BETWEEN NVL(start_date_active, ' ||
       'SYSDATE) AND NVL(end_date_active, SYSDATE+1))))' ||')'
       ||')';
Line: 16221

l_update_allowed VARCHAR2(1);
Line: 16264

  INSERT INTO PO_SESSION_GT
  ( key,
    num1
  )
  SELECT l_procedure_id,
         1                 -- Dummy Value
  FROM DUAL
  WHERE  (p_release_id(i) IS NOT NULL
      --Case 1: No Release is specified, PO Header has to be specified
      --   Through any of HeaderId, DocNum-and-SubType, or VendorOrderNum
      OR EXISTS (select null from po_headers_all h
        WHERE h.po_header_id = l_header_id(i)
        AND (h.authorization_status is NULL
             OR h.authorization_status NOT IN ('PRE-APPROVED', 'IN PROCESS'))
        AND (h.cancel_flag is null or h.cancel_flag <> 'Y')
        AND (h.closed_code is NULL or h.closed_code NOT IN ('FINALLY CLOSED'))
        AND (h.frozen_flag is NULL or h.frozen_flag <> 'Y')))
    AND (p_release_id(i) IS NULL
      --Case 2: PO Release is specified
      OR EXISTS (select null from po_releases_all h
        WHERE h.po_release_id = p_release_id(i)
        AND (h.authorization_status is NULL
             OR h.authorization_status NOT IN ('PRE-APPROVED', 'IN PROCESS'))
        AND (h.cancel_flag is null or h.cancel_flag <> 'Y')
        AND (h.closed_code is NULL or h.closed_code NOT IN ('FINALLY CLOSED'))
        AND (h.frozen_flag is NULL or h.frozen_flag <> 'Y')))
    AND (p_line_id(i) IS NULL
      --Case 3: Optionally, Line is specified
      OR EXISTS (SELECT null from po_lines_all l
        WHERE l.po_line_id = p_line_id(i)
        AND (l.cancel_flag is null or l.cancel_flag <> 'Y')
        AND (l.closed_code is NULL or l.closed_code NOT IN ('FINALLY CLOSED'))))
    AND (p_line_location_id(i) IS NULL
      --Case 4: Optionally, Line Location is specified
      OR EXISTS (SELECT null from po_line_locations_all l
        WHERE l.line_location_id = p_line_location_id(i)
        AND (l.cancel_flag is null or l.cancel_flag <> 'Y')
        AND (l.closed_code is NULL or l.closed_code NOT IN ('FINALLY CLOSED'))))    ;
Line: 16350

DELETE FROM po_session_gt
WHERE key = l_procedure_id;
Line: 16363

    PO_DRAFTS_PVT.update_permission_check
    ( p_calling_module => p_calling_module,
      p_po_header_id => p_header_id(i),
      p_role => l_role,
      p_skip_cat_upload_chk => l_skip_cat_upload_chk,
      x_update_allowed => l_update_allowed,
      x_locking_applicable => l_locking_applicable,
      x_unlock_required => l_unlock_required,
      x_message => l_message
    );
Line: 16374

    IF (l_update_allowed = FND_API.G_FALSE) THEN
      x_po_status_rec.updatable_flag(i) := 'N';
Line: 16490

  INSERT INTO PO_SESSION_GT
  ( key,
    num1
  )
  SELECT l_procedure_id,
         1                 -- Dummy Value
  FROM DUAL
  WHERE (p_release_id(i) IS NOT NULL
      --Case 1: No Release is specified, PO Header has to be specified
      --   Through any of HeaderId, DocNum-and-SubType, or VendorOrderNum
      -- Bug 3407980: Modified closed_code condition so that it only discards 'FINALLY CLOSED'
      OR EXISTS (select null from po_headers_all h
        WHERE h.po_header_id = l_header_id(i)
        AND (h.authorization_status is NULL
             OR h.authorization_status NOT IN ('APPROVED')
             /* <> */
             -- for Mod Reserve Action
             OR (po_partial_funding_pkg.is_clm_document('PO',h.po_header_id) = 'Y' )
             /* <> */
             )
        AND (h.closed_code is NULL or h.closed_code <> 'FINALLY CLOSED')
        AND (h.frozen_flag is NULL or h.frozen_flag <> 'Y')
        AND (h.user_hold_flag is NULL or h.user_hold_flag <> 'Y')))
    AND (p_release_id(i) IS NULL
      --Case 2: PO Release is specified
      -- Bug 3407980: Modified closed_code condition so that it only discards 'FINALLY CLOSED'
      OR EXISTS (select null from po_releases_all h
        WHERE h.po_release_id = p_release_id(i)
        AND (h.authorization_status is NULL
             OR h.authorization_status NOT IN ('APPROVED'))
        AND (h.closed_code is NULL or h.closed_code <>  'FINALLY CLOSED')
        AND (h.frozen_flag is NULL or h.frozen_flag <> 'Y')
        AND (h.hold_flag is NULL or h.hold_flag <> 'Y')))
    AND (p_line_id(i) IS NULL
      --Case 3: Optionally, Line is specified
      -- Bug 3407980: Modified closed_code condition so that it only discards 'FINALLY CLOSED'
      OR EXISTS (SELECT null from po_lines_all l
        WHERE l.po_line_id = p_line_id(i)
        AND (l.closed_code is NULL or l.closed_code <> 'FINALLY CLOSED')))
    AND (p_line_location_id(i) IS NULL
      --Case 4: Optionally, Line Location is specified
      -- Bug 3407980: Modified closed_code condition so that it only discards 'FINALLY CLOSED'
      OR EXISTS (SELECT null from po_line_locations_all l
        WHERE l.line_location_id = p_line_location_id(i)
        AND (l.closed_code is NULL or l.closed_code <> 'FINALLY CLOSED')))
    ;
Line: 16557

DELETE FROM po_session_gt
WHERE key = l_procedure_id;
Line: 16668

  INSERT INTO PO_SESSION_GT
  ( key,
    num1
  )
  SELECT l_procedure_id,
         1                 -- Dummy Value
  FROM DUAL
  WHERE (p_release_id(i) IS NOT NULL
      --Case 1: No Release is specified, PO Header has to be specified
      --   Through any of HeaderId, DocNum-and-SubType, or VendorOrderNum
      -- Bug 3407980: Modified closed_code condition so that it only discards 'FINALLY CLOSED'
      OR EXISTS (select null from po_headers_all h
        WHERE h.po_header_id = l_header_id(i)
        AND (h.closed_code is NULL or h.closed_code <> 'FINALLY CLOSED')
        AND (h.frozen_flag is NULL or h.frozen_flag <> 'Y')
        AND (h.user_hold_flag is NULL or h.user_hold_flag <> 'Y')))
    AND (p_release_id(i) IS NULL
      --Case 2: PO Release is specified
      -- Bug 3407980: Modified closed_code condition so that it only discards 'FINALLY CLOSED'
      OR EXISTS (select null from po_releases_all h
        WHERE h.po_release_id = p_release_id(i)
        AND (h.closed_code is NULL or h.closed_code <> 'FINALLY CLOSED')
        AND (h.frozen_flag is NULL or h.frozen_flag <> 'Y')
        AND (h.hold_flag is NULL or h.hold_flag <> 'Y')))
    AND (p_line_id(i) IS NULL
      --Case 3: Optionally, Line is specified
      -- Bug 3407980: Modified closed_code condition so that it only discards 'FINALLY CLOSED'
      OR EXISTS (SELECT null from po_lines_all l
        WHERE l.po_line_id = p_line_id(i)
        AND (l.closed_code is NULL or l.closed_code <> 'FINALLY CLOSED')))
    AND (p_line_location_id(i) IS NULL
      --Case 4: Optionally, Line Location is specified
      -- Bug 3407980: Modified closed_code condition so that it only discards 'FINALLY CLOSED'
      OR EXISTS (SELECT null from po_line_locations_all l
        WHERE l.line_location_id = p_line_location_id(i)
        AND (l.closed_code is NULL or l.closed_code <> 'FINALLY CLOSED')))
    ;
Line: 16726

DELETE FROM po_session_gt
WHERE key = l_procedure_id;
Line: 16811

delete from po_headers_gt;
Line: 16820

    INSERT
      INTO po_headers_gt
      ( AGENT_ID, TYPE_LOOKUP_CODE, LAST_UPDATE_DATE, LAST_UPDATED_BY,
        SEGMENT1, SUMMARY_FLAG, ENABLED_FLAG,
        authorization_status, approved_flag,
        closed_code, cancel_flag,
        frozen_flag, user_hold_flag, PO_HEADER_ID)
    SELECT
      AGENT_ID, TYPE_LOOKUP_CODE, LAST_UPDATE_DATE, LAST_UPDATED_BY,
      SEGMENT1, SUMMARY_FLAG, ENABLED_FLAG,
      NVL(authorization_status, 'INCOMPLETE'), nvl(approved_flag, 'N'),
      nvl(closed_code, 'OPEN'), NVL(cancel_flag, 'N'),
      NVL(frozen_flag, 'N'), NVL(user_hold_flag, 'N'), l_sequence(i)
      FROM po_headers_all h
      WHERE p_release_id(i) is null
        AND h.po_header_id = p_header_id(i)
    ;
Line: 16842

    INSERT
      INTO po_headers_gt
      ( AGENT_ID, TYPE_LOOKUP_CODE, LAST_UPDATE_DATE, LAST_UPDATED_BY,
        SEGMENT1, SUMMARY_FLAG, ENABLED_FLAG,
        authorization_status, approved_flag,
        closed_code, cancel_flag,
        frozen_flag, user_hold_flag, PO_HEADER_ID)
    SELECT
      0 dummy, ' ' dummy, LAST_UPDATE_DATE, LAST_UPDATED_BY,
      ' ' dummy, ' ' dummy, ' ' dummy,
      NVL(authorization_status, 'INCOMPLETE'), nvl(approved_flag, 'N'),
      nvl(closed_code, 'OPEN'), NVL(cancel_flag, 'N'),
      NVL(frozen_flag, 'N'), NVL(hold_flag, 'N'), l_sequence(i)
      FROM po_releases_all h
      WHERE h.po_release_id = p_release_id(i)
    ;
Line: 16862

    UPDATE po_headers_gt gt
      SET (closed_code, cancel_flag, user_hold_flag)
      =
      (SELECT nvl(closed_code, 'OPEN'), NVL(cancel_flag, 'N'), NVL(user_hold_flag, 'N')
      FROM po_lines_all s
      WHERE s.po_line_id = p_line_id(i))
    WHERE p_line_id(i) is not null and gt.po_header_id = l_sequence(i)
    ;
Line: 16874

    UPDATE po_headers_gt gt
      SET (approved_flag, closed_code, cancel_flag)
      =
      (SELECT nvl(approved_flag, 'N'), nvl(closed_code, 'OPEN'), NVL(cancel_flag, 'N')
      FROM po_line_locations_all s
      WHERE s.line_location_id = p_line_location_id(i))
    WHERE p_line_location_id(i) is not null and gt.po_header_id = l_sequence(i)
    ;
Line: 16888

SELECT
  authorization_status, approved_flag, closed_code, cancel_flag, frozen_flag, user_hold_flag
BULK COLLECT INTO
  x_po_status_rec.authorization_status, x_po_status_rec.approval_flag, x_po_status_rec.closed_code,
  x_po_status_rec.cancel_flag, x_po_status_rec.frozen_flag, x_po_status_rec.hold_flag
FROM po_headers_gt
ORDER BY PO_HEADER_ID;
Line: 17021

IF INSTR(p_mode, G_CHECK_UPDATEABLE) > 0 THEN --{

    check_updatable (
        p_count => l_count,
        p_header_id => p_header_id,
        p_release_id => p_release_id,
        p_document_type => p_document_type,
        p_document_subtype => p_document_subtype,
        p_document_num => p_document_num,
        p_vendor_order_num => p_vendor_order_num,
        p_line_id => p_line_id,
        p_line_location_id => p_line_location_id,
        p_distribution_id => p_distribution_id,
        p_lock_flag => p_lock_flag,
        p_calling_module   => p_calling_module,          -- PDOI Rewrite R12
        p_role             => p_role,                    -- PDOI Rewrite R12
        p_skip_cat_upload_chk => p_skip_cat_upload_chk,  -- PDOI Rewrite R12
        x_po_status_rec => x_po_status_rec,
        x_return_status  => x_return_status);
Line: 17045

END IF; --}END of IF INSTR(p_mode, G_CHECK_UPDATEABLE) > 0
Line: 17213

INSERT INTO PO_ONLINE_REPORT_TEXT_GT
(  online_report_id
,  last_update_login
,  last_updated_by
,  last_update_date
,  created_by
,  creation_date
,  line_num
,  shipment_num
,  distribution_num
,  sequence
,  text_line
,  message_name
)
SELECT
   p_online_report_id
,  p_login_id
,  p_user_id
,  sysdate
,  p_user_id
,  sysdate
,  POL.line_num
,  POLL.shipment_num
,  0
,  p_sequence + ROWNUM
,  decode ( POL.quantity                                      -- 
          , NULL , PO_CORE_S.get_translated_text
                   (   'PO_SUB_SHIP_BILL_GT_ORD_AMT'
                   ,   'LINE_NUM' , POL.line_num
                   ,   'SHIP_NUM' , POLL.shipment_num
                   ,   'AMT_BILLED' , nvl(POLL.amount_billed, 0)
                   ,   'AMT_ORDERED' , nvl(POLL.amount, 0)
                   )
                 , PO_CORE_S.get_translated_text
                   (   'PO_SUB_SHIP_BILL_GT_ORD_QTY'
                   ,   'LINE_NUM' , POL.line_num
                   ,   'SHIP_NUM' , POLL.shipment_num
                   ,   'QTY_BILLED' , nvl(POLL.quantity_billed, 0)
                   ,   'QTY_ORDERED' , nvl(POLL.quantity, 0)
                   )
          )
,  decode ( POL.quantity                                      -- 
          , NULL , 'PO_SUB_SHIP_BILL_GT_ORD_AMT'
                 , 'PO_SUB_SHIP_BILL_GT_ORD_QTY'
          )
FROM
   PO_LINE_LOCATIONS_GT POLL
,  PO_LINES_ALL POL  -- For releases, PO_LINES_GT table isn't populated.
WHERE POLL.po_line_id = POL.po_line_id
AND   nvl(POLL.cancel_flag, 'N') = 'N'
AND   nvl(POLL.closed_code, 'OPEN') <> 'FINALLY CLOSED'
AND   (                                                       -- 
          --: Use POLL value basis
          (   ( POLL.value_basis IN ('QUANTITY', 'AMOUNT') )
          AND (nvl(POLL.quantity_billed,0) > nvl(POLL.quantity,0) ) )
      OR  (   ( POLL.value_basis IN ('FIXED PRICE', 'RATE') )
          AND (nvl(POLL.amount_billed,0) > nvl(POLL.amount,0) ) )
          --
      );
Line: 17298

INSERT INTO PO_ONLINE_REPORT_TEXT_GT
(  online_report_id
,  last_update_login
,  last_updated_by
,  last_update_date
,  created_by
,  creation_date
,  line_num
,  shipment_num
,  distribution_num
,  sequence
,  text_line
,  message_name
)
SELECT
   p_online_report_id
,  p_login_id
,  p_user_id
,  sysdate
,  p_user_id
,  sysdate
,  POL.line_num
,  POLL.shipment_num
,  POD.distribution_num
,  p_sequence + ROWNUM
,  decode ( POL.quantity                                      -- 
          , NULL , PO_CORE_S.get_translated_text
                   (   'PO_SUB_DIST_BILL_GT_ORD_AMT'
                   ,   'LINE_NUM'    , POL.line_num
                   ,   'SHIP_NUM'    , POLL.shipment_num
                   ,   'DIST_NUM'    , POD.distribution_num
                   ,   'AMT_BILLED'  , nvl(POD.amount_billed, 0)
                   ,   'AMT_ORDERED' , nvl(POD.amount_ordered, 0)
                   )
                 , PO_CORE_S.get_translated_text
                   (   'PO_SUB_DIST_BILL_GT_ORD_QTY'
                   ,   'LINE_NUM'    , POL.line_num
                   ,   'SHIP_NUM'    , POLL.shipment_num
                   ,   'DIST_NUM'    , POD.distribution_num
                   ,   'QTY_BILLED'  , nvl(POD.quantity_billed, 0)
                   ,   'QTY_ORDERED' , nvl(POD.quantity_ordered, 0)
                   )
          )
,  decode ( POL.quantity                                      -- 
          , NULL , 'PO_SUB_DIST_BILL_GT_ORD_AMT'
                 , 'PO_SUB_DIST_BILL_GT_ORD_QTY'
          )
FROM
   PO_DISTRIBUTIONS_GT POD
,  PO_LINE_LOCATIONS_GT POLL
,  PO_LINES_ALL POL  -- For releases, PO_LINES_GT table isn't populated.
WHERE POD.line_location_id = POLL.line_location_id
AND   POL.po_line_id = POLL.po_line_id
AND   nvl(POLL.cancel_flag, 'N') = 'N'
AND   nvl(POLL.closed_code, 'OPEN') <> 'FINALLY CLOSED'
AND   (                                                       -- 
          (   ( POL.quantity IS NOT NULL )
          AND ( nvl(POD.quantity_billed,0) > nvl(POD.quantity_ordered,0) ) )
      OR  (   ( POL.amount IS NOT NULL )
          AND ( nvl(POD.amount_billed,0) > nvl(POD.amount_ordered,0) ) )
      );
Line: 17385

INSERT INTO PO_ONLINE_REPORT_TEXT_GT
(  online_report_id
,  last_update_login
,  last_updated_by
,  last_update_date
,  created_by
,  creation_date
,  line_num
,  shipment_num
,  distribution_num
,  sequence
,  text_line
,  message_name
)
SELECT
   p_online_report_id
,  p_login_id
,  p_user_id
,  sysdate
,  p_user_id
,  sysdate
,  POL.line_num
,  POLL.shipment_num
,  POD.distribution_num
,  p_sequence + ROWNUM
,  decode ( POL.quantity                                      -- 
          , NULL , PO_CORE_S.get_translated_text
                   (   'PO_SUB_DIST_DLVR_GT_ORD_AMT'
                   ,   'LINE_NUM'      , POL.line_num
                   ,   'SHIP_NUM'      , POLL.shipment_num
                   ,   'DIST_NUM'      , POD.distribution_num
                   ,   'AMT_DELIVERED' , nvl(POD.amount_delivered, 0)
                   ,   'AMT_ORDERED'   , nvl(POD.amount_ordered, 0)
                   )
                 , PO_CORE_S.get_translated_text
                   (   'PO_SUB_DIST_DLVR_GT_ORD_QTY'
                   ,   'LINE_NUM'      , POL.line_num
                   ,   'SHIP_NUM'      , POLL.shipment_num
                   ,   'DIST_NUM'      , POD.distribution_num
                   ,   'QTY_DELIVERED' , nvl(POD.quantity_delivered, 0)
                   ,   'QTY_ORDERED'   , nvl(POD.quantity_ordered, 0)
                   )
          )
,  decode ( POL.quantity                                      -- 
          , NULL , 'PO_SUB_DIST_DLVR_GT_ORD_AMT'
                 , 'PO_SUB_DIST_DLVR_GT_ORD_QTY'
          )
FROM
   PO_DISTRIBUTIONS_GT POD
,  PO_LINE_LOCATIONS_GT POLL
,  PO_LINES_ALL POL  -- For releases, PO_LINES_GT table isn't populated.
WHERE POD.line_location_id = POLL.line_location_id
AND   POL.po_line_id = POLL.po_line_id
AND   nvl(POLL.cancel_flag,'N') = 'N'
AND   nvl(POLL.closed_code,'OPEN') <> 'FINALLY CLOSED'
AND   (                                                       -- 
          (   ( POL.quantity IS NOT NULL )
          AND ( nvl(POD.quantity_delivered,0) > nvl(POD.quantity_ordered,0) ) )
      OR  (   ( POL.amount IS NOT NULL )
          AND ( nvl(POD.amount_delivered,0) > nvl(POD.amount_ordered,0) ) )
      )
;
Line: 17573

SELECT draft_type
INTO l_draft_type
FROM po_drafts
WHERE draft_id = p_draft_id;
Line: 17584

      INSERT INTO PO_LINE_LOCATIONS_GT (
         line_location_id     ,
         last_update_date      ,
         last_updated_by        ,
         po_header_id            ,
         po_line_id               ,
         last_update_login         ,
         creation_date              ,
         created_by                  ,
         quantity                     ,
         quantity_received             ,
         quantity_accepted              ,
         quantity_rejected               ,
         quantity_billed                  ,
         quantity_cancelled                ,
         amount,                                         -- 
         amount_received,                                     -- 
         amount_accepted,                                     -- 
         amount_rejected,                                     -- 
         amount_billed,                                       -- 
         amount_cancelled,                                    -- 
         unit_meas_lookup_code              ,
         po_release_id                       ,
         ship_to_location_id                  ,
         ship_via_lookup_code                  ,
         need_by_date                           ,
         promised_date                           ,
         last_accept_date                         ,
         price_override                          ,
         encumbered_flag                        ,
         encumbered_date                         ,
         unencumbered_quantity                    ,
         fob_lookup_code                         ,
         freight_terms_lookup_code                ,
         taxable_flag                            ,
         estimated_tax_amount                    ,
         from_header_id                          ,
         from_line_id                             ,
         from_line_location_id                   ,
         start_date                               ,
         end_date                                ,
         lead_time                              ,
         lead_time_unit                          ,
         price_discount                           ,
         terms_id                                 ,
         approved_flag                            ,
         approved_date                            ,
         closed_flag                              ,
         cancel_flag                              ,
         cancelled_by                             ,
         cancel_date                              ,
         cancel_reason                            ,
         firm_status_lookup_code                  ,
         firm_date                                ,
         attribute_category                       ,
         attribute1                               ,
         attribute2                               ,
         attribute3                               ,
         attribute4                               ,
         attribute5                               ,
         attribute6                               ,
         attribute7                               ,
         attribute8                               ,
         attribute9                               ,
         attribute10                              ,
         unit_of_measure_class                    ,
         encumber_now                             ,
         attribute11                              ,
         attribute12                              ,
         attribute13                              ,
         attribute14                              ,
         attribute15                              ,
         inspection_required_flag                 ,
         receipt_required_flag                    ,
         qty_rcv_tolerance                       ,
         qty_rcv_exception_code                   ,
         enforce_ship_to_location_code            ,
         allow_substitute_receipts_flag           ,
         days_early_receipt_allowed               ,
         days_late_receipt_allowed                ,
         receipt_days_exception_code             ,
         invoice_close_tolerance                  ,
         receive_close_tolerance                  ,
         ship_to_organization_id                 ,
         shipment_num                            ,
         source_shipment_id                      ,
         shipment_type                     ,
         closed_code                        ,
         request_id                          ,
         program_application_id               ,
         program_id                            ,
         program_update_date                    ,
         government_context                      ,
         receiving_routing_id                     ,
         accrue_on_receipt_flag                  ,
         closed_reason                           ,
         closed_date                              ,
         closed_by                               ,
         org_id                                  ,
         global_attribute1                        ,
         global_attribute2                        ,
         global_attribute3                        ,
         global_attribute4                        ,
         global_attribute5                        ,
         global_attribute6                        ,
         global_attribute7                        ,
         global_attribute8                        ,
         global_attribute9                        ,
         global_attribute10                       ,
         global_attribute11                       ,
         global_attribute12                       ,
         global_attribute13                       ,
         global_attribute14                       ,
         global_attribute15                       ,
         global_attribute16                       ,
         global_attribute17                       ,
         global_attribute18                       ,
         global_attribute19                       ,
         global_attribute20                       ,
         global_attribute_category                ,
         quantity_shipped                        ,
         country_of_origin_code                   ,
         tax_user_override_flag                  ,
         match_option                            ,
         tax_code_id                              ,
         calculate_tax_flag                      ,
         change_promised_date_reason            ,
         note_to_receiver                        ,
         secondary_quantity                      ,
         secondary_unit_of_measure               ,
         preferred_grade                         ,
         secondary_quantity_received             ,
         secondary_quantity_accepted              ,
         secondary_quantity_rejected             ,
         secondary_quantity_cancelled             ,
         vmi_flag                                 ,
         consigned_flag                           ,
         retroactive_date                         ,
         payment_type                             , --
         description                              , --
         value_basis                              ,  --
         UDA_TEMPLATE_ID                         ,
         DRAFT_ID                                ,
         CLM_PERIOD_PERF_END_DATE                ,
         CLM_PERIOD_PERF_START_DATE              ,
         CLM_DELIVERY_PERIOD                     , --
         CLM_DELIVERY_PERIOD_UOM                 ,
         CLM_PROMISE_PERIOD                      ,
         CLM_PROMISE_PERIOD_UOM                  ,
         CLM_POP_DURATION                        ,
         CLM_POP_DURATION_UOM
     )
     SELECT
                  poll.line_location_id     ,
         poll.last_update_date      ,
         poll.last_updated_by        ,
         poll.po_header_id            ,
         poll.po_line_id               ,
         poll.last_update_login         ,
         poll.creation_date              ,
         poll.created_by                  ,
         poll.quantity                     ,
         poll.quantity_received             ,
         poll.quantity_accepted              ,
         poll.quantity_rejected               ,
         poll.quantity_billed                  ,
         poll.quantity_cancelled                ,
         poll.amount,                                         -- 
         poll.amount_received,                                     -- 
         poll.amount_accepted,                                     -- 
         poll.amount_rejected,                                     -- 
         poll.amount_billed,                                       -- 
         poll.amount_cancelled,                                    -- 
         poll.unit_meas_lookup_code              ,
         poll.po_release_id                       ,
         poll.ship_to_location_id                  ,
         poll.ship_via_lookup_code                  ,
         poll.need_by_date                           ,
         poll.promised_date                           ,
         poll.last_accept_date                         ,
         poll.price_override                          ,
         poll.encumbered_flag                        ,
         poll.encumbered_date                         ,
         poll.unencumbered_quantity                    ,
         poll.fob_lookup_code                         ,
         poll.freight_terms_lookup_code                ,
         poll.taxable_flag                            ,
         poll.estimated_tax_amount                    ,
         poll.from_header_id                          ,
         poll.from_line_id                             ,
         poll.from_line_location_id                   ,
         poll.start_date                               ,
         poll.end_date                                ,
         poll.lead_time                              ,
         poll.lead_time_unit                          ,
         poll.price_discount                           ,
         poll.terms_id                                 ,
         poll.approved_flag                            ,
         poll.approved_date                            ,
         poll.closed_flag                              ,
         poll.cancel_flag                              ,
         poll.cancelled_by                             ,
         poll.cancel_date                              ,
         poll.cancel_reason                            ,
         poll.firm_status_lookup_code                  ,
         poll.firm_date                                ,
         poll.attribute_category                       ,
         poll.attribute1                               ,
         poll.attribute2                               ,
         poll.attribute3                               ,
         poll.attribute4                               ,
         poll.attribute5                               ,
         poll.attribute6                               ,
         poll.attribute7                               ,
         poll.attribute8                               ,
         poll.attribute9                               ,
         poll.attribute10                              ,
         poll.unit_of_measure_class                    ,
         poll.encumber_now                             ,
         poll.attribute11                              ,
         poll.attribute12                              ,
         poll.attribute13                              ,
         poll.attribute14                              ,
         poll.attribute15                              ,
         poll.inspection_required_flag                 ,
         poll.receipt_required_flag                    ,
         poll.qty_rcv_tolerance                       ,
         poll.qty_rcv_exception_code                   ,
         poll.enforce_ship_to_location_code            ,
         poll.allow_substitute_receipts_flag           ,
         poll.days_early_receipt_allowed               ,
         poll.days_late_receipt_allowed                ,
         poll.receipt_days_exception_code             ,
         poll.invoice_close_tolerance                  ,
         poll.receive_close_tolerance                  ,
         poll.ship_to_organization_id                 ,
         poll.shipment_num                            ,
         poll.source_shipment_id                      ,
         poll.shipment_type                     ,
         poll.closed_code                        ,
         poll.request_id                          ,
         poll.program_application_id               ,
         poll.program_id                            ,
        poll.program_update_date                    ,
         poll.government_context                      ,
         poll.receiving_routing_id                     ,
         poll.accrue_on_receipt_flag                  ,
         poll.closed_reason                           ,
         poll.closed_date                              ,
         poll.closed_by                               ,
         poll.org_id                                  ,
         poll.global_attribute1                        ,
         poll.global_attribute2                        ,
         poll.global_attribute3                        ,
         poll.global_attribute4                        ,
         poll.global_attribute5                        ,
         poll.global_attribute6                        ,
         poll.global_attribute7                        ,
         poll.global_attribute8                        ,
         poll.global_attribute9                        ,
         poll.global_attribute10                       ,
         poll.global_attribute11                       ,
         poll.global_attribute12                       ,
         poll.global_attribute13                       ,
         poll.global_attribute14                       ,
         poll.global_attribute15                       ,
         poll.global_attribute16                       ,
         poll.global_attribute17                       ,
         poll.global_attribute18                       ,
         poll.global_attribute19                       ,
         poll.global_attribute20                       ,
         poll.global_attribute_category                ,
         poll.quantity_shipped                        ,
         poll.country_of_origin_code                   ,
         poll.tax_user_override_flag                  ,
         poll.match_option                            ,
         poll.tax_code_id                              ,
         poll.calculate_tax_flag                      ,
         poll.change_promised_date_reason            ,
         poll.note_to_receiver                        ,
         poll.secondary_quantity                      ,
         poll.secondary_unit_of_measure               ,
         poll.preferred_grade                         ,
         poll.secondary_quantity_received             ,
         poll.secondary_quantity_accepted              ,
        poll.secondary_quantity_rejected             ,
         poll.secondary_quantity_cancelled             ,
         poll.vmi_flag                                 ,
         poll.consigned_flag                           ,
         poll.retroactive_date                         ,
         poll.payment_type                             , --
         poll.description                              , --
         poll.value_basis                             ,   --
         poll.UDA_TEMPLATE_ID                         ,
         poll.DRAFT_ID                                ,
         poll.CLM_PERIOD_PERF_END_DATE                ,
         poll.CLM_PERIOD_PERF_START_DATE              ,
         poll.CLM_DELIVERY_PERIOD                     , --
         poll.CLM_DELIVERY_PERIOD_UOM                 ,
         poll.CLM_PROMISE_PERIOD                      ,
         poll.CLM_PROMISE_PERIOD_UOM                  ,
         poll.CLM_POP_DURATION                        ,
         poll.CLM_POP_DURATION_UOM

		 FROM PO_LINE_LOCATIONS_MERGE_V POLL
		 WHERE POLL.LINE_LOCATION_ID =  l_line_location_id_tbl(i)
		 AND POLL.DRAFT_ID = p_draft_id
		 /*-- CLM Aprvl
      FROM PO_LINE_LOCATIONS_ALL POLL
      WHERE POLL.line_location_id = l_line_location_id_tbl(i)
	  -- CLM Aprvl*/
    --  need to change the entities which should be validated. Only records in the draft tables should be validated.
     AND (l_draft_type <> 'PAR'
          OR (l_draft_type = 'PAR' AND poll.change_status IS NOT NULL ));
Line: 18010

   SELECT draft_type
   INTO l_draft_type
   FROM po_drafts
   WHERE draft_id = p_draft_id;
Line: 18021

   INSERT INTO PO_DISTRIBUTIONS_GT
   (
         po_distribution_id    ,
         last_update_date       ,
         last_updated_by         ,
         po_header_id             ,
         po_line_id                ,
         line_location_id           ,
         set_of_books_id            ,
         code_combination_id         ,
         quantity_ordered             ,
         amount_ordered,                                 -- 
         last_update_login             ,
         creation_date                  ,
         created_by                      ,
         po_release_id                    ,
         quantity_delivered                ,
         quantity_billed                    ,
         quantity_cancelled                  ,
         amount_delivered,                                    -- 
         amount_billed                            ,
         amount_cancelled,                                    -- 
         req_header_reference_num             ,
         req_line_reference_num                ,
         req_distribution_id                    ,
         deliver_to_location_id                  ,
         deliver_to_person_id                    ,
         rate_date                               ,
         rate                                    ,
         accrued_flag                             ,
         encumbered_flag                          ,
         encumbered_amount                        ,
         unencumbered_quantity                    ,
         unencumbered_amount                      ,
         failed_funds_lookup_code                 ,
         gl_encumbered_date                       ,
         gl_encumbered_period_name                ,
         gl_cancelled_date                        ,
         destination_type_code                    ,
         destination_organization_id              ,
         destination_subinventory                ,
         attribute_category                       ,
         attribute1                               ,
         attribute2                               ,
         attribute3                               ,
         attribute4                               ,
         attribute5                               ,
         attribute6                               ,
         attribute7                               ,
         attribute8                               ,
         attribute9                               ,
         attribute10                              ,
         attribute11                              ,
         attribute12                              ,
         attribute13                              ,
         attribute14                              ,
         attribute15                              ,
         wip_entity_id                            ,
         wip_operation_seq_num                    ,
         wip_resource_seq_num                     ,
         wip_repetitive_schedule_id               ,
         wip_line_id                              ,
         bom_resource_id                          ,
         budget_account_id                        ,
         accrual_account_id                       ,
         variance_account_id                      ,
         prevent_encumbrance_flag                ,
         government_context                      ,
         destination_context                     ,
         distribution_num                  ,
         source_distribution_id             ,
         request_id                         ,
         program_application_id              ,
         program_id                           ,
         program_update_date                   ,
         project_id                             ,
         task_id                                 ,
         expenditure_type                         ,
         project_accounting_context              ,
         expenditure_organization_id              ,
         gl_closed_date                           ,
         accrue_on_receipt_flag                  ,
         expenditure_item_date                   ,
         org_id                                   ,
         kanban_card_id                           ,
         award_id                                ,
         mrc_rate_date                           ,
         mrc_rate                                 ,
         mrc_encumbered_amount                   ,
         mrc_unencumbered_amount                  ,
         end_item_unit_number                     ,
         tax_recovery_override_flag               ,
         recoverable_tax                          ,
         nonrecoverable_tax                       ,
         recovery_rate                            ,
         oke_contract_line_id                     ,
         oke_contract_deliverable_id
      ,  distribution_type
      ,  amount_to_encumber
      ,  funded_value,
         acrn,
         clm_payment_sequence_num
   )
   SELECT
                  pod.po_distribution_id    ,
         pod.last_update_date       ,
         pod.last_updated_by         ,
         pod.po_header_id             ,
         pod.po_line_id                ,
         pod.line_location_id           ,
         pod.set_of_books_id            ,
         pod.code_combination_id         ,
         pod.quantity_ordered             ,
         pod.amount_ordered,                                 -- 
         pod.last_update_login             ,
         pod.creation_date                  ,
         pod.created_by                      ,
         pod.po_release_id                    ,
         pod.quantity_delivered                ,
         pod.quantity_billed                    ,
         pod.quantity_cancelled                  ,
         pod.amount_delivered,                                    -- 
         pod.amount_billed                            ,
         pod.amount_cancelled,                                    -- 
         pod.req_header_reference_num             ,
         pod.req_line_reference_num                ,
         pod.req_distribution_id                    ,
         pod.deliver_to_location_id                  ,
         pod.deliver_to_person_id                    ,
         pod.rate_date                               ,
         pod.rate                                    ,
         pod.accrued_flag                             ,
         pod.encumbered_flag                          ,
         pod.encumbered_amount                        ,
         pod.unencumbered_quantity                    ,
         pod.unencumbered_amount                      ,
         pod.failed_funds_lookup_code                 ,
         pod.gl_encumbered_date                       ,
         pod.gl_encumbered_period_name                ,
         pod.gl_cancelled_date                        ,
         pod.destination_type_code                    ,
         pod.destination_organization_id              ,
         pod.destination_subinventory                ,
         pod.attribute_category                       ,
         pod.attribute1                               ,
         pod.attribute2                               ,
         pod.attribute3                               ,
         pod.attribute4                               ,
         pod.attribute5                               ,
         pod.attribute6                               ,
         pod.attribute7                               ,
         pod.attribute8                               ,
         pod.attribute9                               ,
         pod.attribute10                              ,
         pod.attribute11                              ,
         pod.attribute12                              ,
         pod.attribute13                              ,
         pod.attribute14                              ,
         pod.attribute15                              ,
         pod.wip_entity_id                            ,
         pod.wip_operation_seq_num                    ,
         pod.wip_resource_seq_num                     ,
         pod.wip_repetitive_schedule_id               ,
         pod.wip_line_id                              ,
         pod.bom_resource_id                          ,
         pod.budget_account_id                        ,
         pod.accrual_account_id                       ,
         pod.variance_account_id                      ,
         pod.prevent_encumbrance_flag                ,
         pod.government_context                      ,
         pod.destination_context                     ,
         pod.distribution_num                  ,
         pod.source_distribution_id             ,
         pod.request_id                         ,
         pod.program_application_id              ,
         pod.program_id                           ,
         pod.program_update_date                   ,
         pod.project_id                             ,
         pod.task_id                                 ,
         pod.expenditure_type                         ,
         pod.project_accounting_context              ,
         pod.expenditure_organization_id              ,
         pod.gl_closed_date                           ,
         pod.accrue_on_receipt_flag                  ,
         pod.expenditure_item_date                   ,
         pod.org_id                                   ,
         pod.kanban_card_id                           ,
         pod.award_id                                ,
         pod.mrc_rate_date                           ,
         pod.mrc_rate                                 ,
         pod.mrc_encumbered_amount                   ,
         pod.mrc_unencumbered_amount                  ,
         pod.end_item_unit_number                     ,
         pod.tax_recovery_override_flag               ,
         pod.recoverable_tax                          ,
         pod.nonrecoverable_tax                       ,
         pod.recovery_rate                            ,
         pod.oke_contract_line_id                     ,
         pod.oke_contract_deliverable_id
      ,  pod.distribution_type
      ,  pod.amount_to_encumber
      ,  pod.funded_value ,
         pod.acrn,
         pod.clm_payment_sequence_num

	  FROM PO_DISTRIBUTIONS_MERGE_V POD
	  WHERE POD.po_distribution_id = l_dist_id_tbl(i)
	  and pod.draft_id = p_draft_id
	  /*   -- CLM Aprvl
   FROM PO_DISTRIBUTIONS_ALL POD
   WHERE POD.po_distribution_id = l_dist_id_tbl(i)
      */-- CLM Aprvl
   --  need to change the entities which should be validated. Only records in the draft tables should be validated.
   AND (l_draft_type <> 'PAR'
          OR (l_draft_type = 'PAR' AND pod.change_status IS NOT NULL ));
Line: 18369

   SELECT
      PRD.gl_encumbered_date
   ,  PRL.line_num
   ,  NULL
   ,  PRD.distribution_num
   BULK COLLECT INTO
      l_date_tbl
   ,  l_line_num_tbl
   ,  l_shipment_num_tbl
   ,  l_distribution_num_tbl
   FROM
      PO_REQ_DISTRIBUTIONS_GT PRD
   ,  PO_REQ_LINES_GT PRL
   ,  PO_REQ_HEADERS_GT PRH
   WHERE PRL.requisition_line_id = PRD.requisition_line_id  --JOIN
   AND   PRH.requisition_header_id = PRL.requisition_header_id  --JOIN
   AND   PRL.line_location_id IS NULL
   AND
      (  NVL(PRH.transferred_to_oe_flag,'N') <> 'Y'
      OR NVL(PRL.source_type_code,'VENDOR') <> 'INVENTORY'
      )
   AND   NVL(PRD.encumbered_flag,'N') = 'N'
   AND   NVL(PRD.prevent_encumbrance_flag,'N') <> 'Y' -- Bug 10428042
   AND   NVL(PRL.cancel_flag,'N') = 'N'
   AND   NVL(PRL.closed_code,'OPEN') <> 'FINALLY CLOSED'
   AND    Nvl(prl.modified_by_agent_flag,'N') = 'N' /*Bug 4882209*/
   ;
Line: 18406

   SELECT
      POD.gl_encumbered_date
   ,  POL.line_num
   ,  POLL.shipment_num
   ,  POD.distribution_num
   BULK COLLECT INTO
      l_date_tbl
   ,  l_line_num_tbl
   ,  l_shipment_num_tbl
   ,  l_distribution_num_tbl
   FROM
      PO_DISTRIBUTIONS_GT POD
   ,  PO_LINE_LOCATIONS_GT POLL
   ,  PO_LINES_ALL POL     -- For Releases, PO_LINES_GT doesn't get populated.
   ,  PO_HEADERS_GT POH
   WHERE POLL.line_location_id(+) = POD.line_location_id    --JOIN
   AND   POL.po_line_id(+) = POD.po_line_id                 --JOIN
      -- PA distributions don't have associated lines or shipments
   AND   POH.po_header_id = POD.po_header_id                --JOIN
   AND   NVL(POD.encumbered_flag,'N') = 'N'
   AND   NVL(POLL.cancel_flag,'N') = 'N'
   AND   NVL(POLL.closed_code,'OPEN') <> 'FINALLY CLOSED'
   AND   NVL(POLL.approved_flag,'N') <> 'Y'
   AND   NVL(POD.prevent_encumbrance_flag,'N') <> 'Y' -- Bug 10428042
      -- Bug 8326256, Bug 8468327, Bug 8468328: For SHOP FLOOR destination type
      -- distributions the GL date validation should be skipped.
   AND   (NVL(POD.destination_type_code,'EXPENSE') <> 'SHOP FLOOR'  /* 8326256 */
          OR (NVL(POD.destination_type_code,'EXPENSE') = 'SHOP FLOOR'
                   AND (SELECT entity_type from wip_entities where wip_entity_id = POD.wip_entity_id)= 6))   /* Encumbrance project  */
   AND ( ( p_doc_type = g_document_type_PA
         AND POH.encumbrance_required_flag = 'Y'
         )
      OR ( p_doc_type <> g_document_type_PA )
      )
   ;
Line: 18482

   SELECT PO_SESSION_GT_S.nextval
   INTO l_dates_key
   FROM DUAL
   ;
Line: 18490

   INSERT INTO PO_SESSION_GT
   (  key
   ,  num1     -- line_num
   ,  num2     -- shipment_num
   ,  num3     -- distribution_num
   ,  char1    -- period_name
   )
   VALUES
   (  l_dates_key
   ,  l_line_num_tbl(i)
   ,  l_shipment_num_tbl(i)
   ,  l_distribution_num_tbl(i)
   ,  l_period_name_tbl(i)
   )
   ;
Line: 18510

   INSERT INTO PO_ONLINE_REPORT_TEXT_GT
   (  online_report_id
   ,  last_update_login
   ,  last_updated_by
   ,  last_update_date
   ,  created_by
   ,  creation_date
   ,  line_num
   ,  shipment_num
   ,  distribution_num
   ,  sequence
   ,  text_line
   ,  message_name
   )
   SELECT
      p_online_report_id
   ,  p_login_id
   ,  p_user_id
   ,  sysdate
   ,  p_user_id
   ,  sysdate
   ,  NVL(DATES.num1,0)    -- line_num
   ,  NVL(DATES.num2,0)    -- shipment_num
   ,  NVL(DATES.num3,0)    -- distribution_num
   ,  p_sequence + rownum
   ,  substr(
               DECODE(  DATES.num1  -- line_num
                     ,  NULL, ''
                     ,  g_linemsg||g_delim||TO_CHAR(DATES.num1)||g_delim
                     )
               ||
               DECODE(  DATES.num2  -- shipment_num
                     ,  NULL, ''
                     ,  g_shipmsg||g_delim||TO_CHAR(DATES.num2)||g_delim
                     )
               ||
               DECODE(  p_doc_type
                     ,  g_document_type_PA, ''
                     ,  g_distmsg||g_delim||TO_CHAR(DATES.num3)||g_delim
                     )

               ||l_textline

            ,  1
            ,  240
            )
   ,  l_msg_name
   FROM PO_SESSION_GT DATES
   WHERE DATES.key = l_dates_key
   AND   DATES.char1 IS NULL  -- period_name not found
   ;
Line: 18680

        SELECT NVL(MIN(po_header_id), '-999')
        INTO   x_header_id(i)
        FROM   po_headers
        WHERE  segment1 = p_document_num(i)
        AND    type_lookup_code = p_type_lookup_code(i)
        AND    po_header_id = NVL(x_header_id(i), po_header_id);
Line: 18702

        SELECT NVL(MIN(po_header_id), '-999')
        INTO x_header_id(i)
        FROM   po_headers_all
        WHERE  vendor_order_num = p_vendor_order_num(i)
        AND  po_header_id = NVL(x_header_id(i), po_header_id);
Line: 18812

    SELECT    vendor_id, vendor_site_id
    INTO      l_vendor_id, l_vendor_site_id
    FROM      po_headers_all
    WHERE     po_header_id = p_document_id;
Line: 18858

        INSERT INTO po_online_report_text_gt
                (online_report_id
                ,last_updated_by
                ,last_update_date
                ,created_by
                ,creation_date
                ,line_num
                ,shipment_num
                ,distribution_num
                ,sequence
                ,text_line
                ,message_name)
         VALUES
                (p_online_report_id
                ,p_login_id
                ,sysdate
                ,p_user_id
                ,sysdate
                ,0 ,0 ,0
                ,p_sequence+1
                ,substr(l_text_line,1,240)
                ,'PO_VENDOR_SITE_CCR_INVALID');
Line: 19250

        INSERT INTO PO_ONLINE_REPORT_TEXT_GT
        (  online_report_id
        ,  last_update_login
        ,  last_updated_by
        ,  last_update_date
        ,  created_by
        ,  creation_date
        ,  line_num
        ,  shipment_num
        ,  distribution_num
        ,  sequence
        ,  text_line
        ,  message_name
        )
        SELECT
           p_online_report_id
        ,  p_login_id
        ,  p_user_id
        ,  SYSDATE
        ,  p_user_id
        ,  SYSDATE
        ,  0
        ,  0
        ,  0
        ,  p_sequence + ROWNUM
        ,  substr(l_textline, 1, 240)
        ,  'PO_CAN_POH_WITH_RCV_TRX'
        FROM po_headers_gt poh
        WHERE EXISTS
          (
            SELECT 'Eligible shipment'
            FROM po_line_locations_gt poll
            WHERE poll.po_header_id = poh.po_header_id
              AND NVL(poll.cancel_flag, 'N') = 'N'
              AND NVL(poll.closed_code, 'OPEN') <> 'FINALLY CLOSED'
          )
          AND EXISTS
          (
            SELECT 'Transaction to process'
            FROM rcv_transactions_interface rti
            WHERE rti.processing_status_code = 'PENDING'
              AND rti.po_header_id = poh.po_header_id
          );
Line: 19302

        INSERT INTO PO_ONLINE_REPORT_TEXT_GT
        (  online_report_id
        ,  last_update_login
        ,  last_updated_by
        ,  last_update_date
        ,  created_by
        ,  creation_date
        ,  line_num
        ,  shipment_num
        ,  distribution_num
        ,  sequence
        ,  text_line
        ,  message_name
        )
        SELECT
           p_online_report_id
        ,  p_login_id
        ,  p_user_id
        ,  SYSDATE
        ,  p_user_id
        ,  SYSDATE
        ,  0
        ,  0
        ,  0
        ,  p_sequence + ROWNUM
        ,  substr(l_textline, 1, 240)
        ,  'PO_CAN_REL_WITH_RCV_TRX'
        FROM po_releases_gt por
        WHERE EXISTS
          (
            SELECT 'Eligible shipment'
            FROM po_line_locations_gt poll
            WHERE poll.po_release_id = por.po_release_id
              AND NVL(poll.cancel_flag, 'N') = 'N'
              AND NVL(poll.closed_code, 'OPEN') <> 'FINALLY CLOSED'
          )
          AND EXISTS
          (
            SELECT 'Transaction to process'
            FROM rcv_transactions_interface rti
            WHERE rti.processing_status_code = 'PENDING'
              AND rti.po_release_id = por.po_release_id
          );
Line: 19357

      INSERT INTO PO_ONLINE_REPORT_TEXT_GT
      (  online_report_id
      ,  last_update_login
      ,  last_updated_by
      ,  last_update_date
      ,  created_by
      ,  creation_date
      ,  line_num
      ,  shipment_num
      ,  distribution_num
      ,  sequence
      ,  text_line
      ,  message_name
      )
      SELECT
         p_online_report_id
      ,  p_login_id
      ,  p_user_id
      ,  SYSDATE
      ,  p_user_id
      ,  SYSDATE
      ,  pol.line_num
      ,  0
      ,  0
      ,  p_sequence + ROWNUM
      ,  substr(g_linemsg || g_delim || pol.line_num || g_delim || l_textline, 1, 240)
      ,  'PO_CAN_POL_WITH_RCV_TRX'
      FROM po_lines_gt pol
      WHERE EXISTS
        (
          SELECT 'Eligible shipment'
          FROM po_line_locations_gt poll
          WHERE poll.po_line_id = pol.po_line_id
            AND NVL(poll.cancel_flag, 'N') = 'N'
            AND NVL(poll.closed_code, 'OPEN') <> 'FINALLY CLOSED'
        )
        AND EXISTS
        (
          SELECT 'Transaction to process'
          FROM rcv_transactions_interface rti
          WHERE rti.processing_status_code = 'PENDING'
            AND rti.po_line_id = pol.po_line_id
        );
Line: 19430

		  INSERT INTO PO_ONLINE_REPORT_TEXT_GT
		  (  online_report_id
		  ,  last_update_login
		  ,  last_updated_by
		  ,  last_update_date
		  ,  created_by
		  ,  creation_date
		  ,  line_num
		  ,  shipment_num
		  ,  distribution_num
		  ,  sequence
		  ,  text_line
		  ,  message_name
		  )
		  SELECT
			 p_online_report_id
		  ,  p_login_id
		  ,  p_user_id
		  ,  SYSDATE
		  ,  p_user_id
		  ,  SYSDATE
		  ,  DECODE(p_document_type, g_document_type_RELEASE, 0, pol.line_num)
		  ,  poll.shipment_num
		  ,  0
		  ,  p_sequence + ROWNUM
		  ,  DECODE(p_document_type,
			   g_document_type_RELEASE, substr(g_shipmsg || g_delim || poll.shipment_num
												|| g_delim || l_textline, 1, 240),
			   substr(g_linemsg || g_delim || pol.line_num || g_delim || g_shipmsg || g_delim
					  || poll.shipment_num || g_delim || l_textline, 1, 240)
			 )
		  ,  DECODE(p_document_type, g_document_type_RELEASE, 'PO_CAN_RELS_WITH_RCV_TRX',
					 'PO_CAN_POLL_WITH_RCV_TRX')
		  FROM po_lines_gt pol, po_line_locations_gt poll
		  WHERE pol.po_line_id = poll.po_line_id
			AND NVL(poll.cancel_flag, 'N') = 'N'
			AND NVL(poll.closed_code, 'OPEN') <> 'FINALLY CLOSED'
			AND EXISTS
			(
			  SELECT 'Transaction to process'
			  FROM rcv_transactions_interface rti
			  WHERE rti.processing_status_code = 'PENDING'
				AND rti.po_line_location_id = poll.line_location_id
			);
Line: 19476

		INSERT INTO PO_ONLINE_REPORT_TEXT_GT
        (  online_report_id
        ,  last_update_login
        ,  last_updated_by
        ,  last_update_date
        ,  created_by
        ,  creation_date
        ,  line_num
        ,  shipment_num
        ,  distribution_num
        ,  sequence
        ,  text_line
        ,  message_name
        )
        SELECT
           p_online_report_id
        ,  p_login_id
        ,  p_user_id
        ,  SYSDATE
        ,  p_user_id
        ,  SYSDATE
        ,  0
        ,  poll.shipment_num
        ,  0
        ,  p_sequence + ROWNUM
        ,  substr(g_shipmsg || g_delim || poll.shipment_num || g_delim || l_textline, 1, 240)
        ,  'PO_CAN_RELS_WITH_RCV_TRX'
        FROM    po_line_locations_gt poll
        WHERE   EXISTS
               (
                  SELECT 'Eligible shipment'
                  FROM    po_releases_gt por
                  WHERE   por.po_release_id = poll.po_release_id
                          AND NVL(por.cancel_flag, 'N') = 'N'
                          AND NVL(por.closed_code, 'OPEN') <> 'FINALLY CLOSED'
               )
               AND EXISTS
               (
                 SELECT 'Transaction to process'
                 FROM   rcv_transactions_interface rti
                 WHERE  rti.processing_status_code = 'PENDING'
                        AND rti.po_line_location_id = poll.line_location_id
               );
Line: 19622

		  INSERT INTO PO_ONLINE_REPORT_TEXT_GT
		  (  online_report_id
		  ,  last_update_login
		  ,  last_updated_by
		  ,  last_update_date
		  ,  created_by
		  ,  creation_date
		  ,  line_num
		  ,  shipment_num
		  ,  distribution_num
		  ,  sequence
		  ,  text_line
		  ,  message_name
		  )
		  SELECT
			 p_online_report_id
		  ,  p_login_id
		  ,  p_user_id
		  ,  SYSDATE
		  ,  p_user_id
		  ,  SYSDATE
		  ,  DECODE(p_document_type, g_document_type_RELEASE, 0, pol.line_num)
		  ,  poll.shipment_num
		  ,  0
		  ,  p_sequence + ROWNUM
		  ,  DECODE(p_document_type, g_document_type_RELEASE,
					  substr(g_shipmsg || g_delim || poll.shipment_num || g_delim || l_text_normal_po, 1, 240),
					  substr(g_linemsg || g_delim || pol.line_num || g_delim || g_shipmsg || g_delim
							 || poll.shipment_num || g_delim ||
							 DECODE(poll.payment_type , NULL, l_text_normal_po, l_text_complex_po), 1, 240))
		  ,  DECODE(poll.payment_type, NULL, 'PO_CAN_POLL_WITH_ASN', 'PO_CAN_POLL_WITH_PENDING_WCR')
		  FROM po_lines_gt pol, po_line_locations_gt poll
		  WHERE NVL(poll.cancel_flag, 'N') = 'N'
			AND NVL(poll.closed_code, 'OPEN') <> 'FINALLY CLOSED'
			AND EXISTS
			 (
			   SELECT 'ASN outstanding'
			   FROM rcv_shipment_lines rsl
			   WHERE rsl.po_line_location_id = poll.line_location_id
				 AND NVL(rsl.quantity_shipped, 0) > NVL(rsl.quantity_received, 0)
				 AND NVL(rsl.asn_line_flag, 'N') = 'Y'
				 AND NVL(rsl.shipment_line_status_code, 'EXPECTED') <> 'CANCELLED'
			 );
Line: 19673

			INSERT INTO PO_ONLINE_REPORT_TEXT_GT
			(  online_report_id
			,  last_update_login
			,  last_updated_by
			,  last_update_date
			,  created_by
			,  creation_date
			,  line_num
			,  shipment_num
			,  distribution_num
			,  sequence
			,  text_line
			,  message_name
			)
			SELECT
			   p_online_report_id
			,  p_login_id
			,  p_user_id
			,  SYSDATE
			,  p_user_id
			,  SYSDATE
			,  0
			,  0
			,  0
			,  p_sequence + ROWNUM
			,  substr(g_shipmsg || g_delim || poll.shipment_num || g_delim || l_textline, 1, 240)
			,  'PO_CAN_POLL_WITH_ASN'
		FROM po_releases_gt por, po_line_locations_gt poll
			WHERE poll.po_release_id = por.po_release_id
		AND NVL(poll.cancel_flag, 'N') = 'N'
			AND NVL(poll.closed_code, 'OPEN') <> 'FINALLY CLOSED'
			AND EXISTS
			  (
				SELECT 'ASN outstanding'
				FROM rcv_shipment_lines rsl
				WHERE rsl.po_release_id = por.po_release_id
					  AND NVL(rsl.quantity_shipped, 0) > NVL(rsl.quantity_received, 0)
					  AND NVL(rsl.asn_line_flag, 'N') = 'Y'
					  AND NVL(rsl.shipment_line_status_code, 'EXPECTED') <> 'CANCELLED'
			  );
Line: 19733

        INSERT INTO PO_ONLINE_REPORT_TEXT_GT
        (  online_report_id
        ,  last_update_login
        ,  last_updated_by
        ,  last_update_date
        ,  created_by
        ,  creation_date
        ,  line_num
        ,  shipment_num
        ,  distribution_num
        ,  sequence
        ,  text_line
        ,  message_name
        )
        SELECT
           p_online_report_id
        ,  p_login_id
        ,  p_user_id
        ,  SYSDATE
        ,  p_user_id
        ,  SYSDATE
        ,  pol.line_num
        ,  0
        ,  0
        ,  p_sequence + ROWNUM
        ,  substr(g_linemsg || g_delim || pol.line_num || g_delim || g_shipmsg || g_delim
                       || poll.shipment_num || g_delim ||
                       DECODE(poll.payment_type , NULL, l_text_normal_po, l_text_complex_po), 1, 240)
        ,  DECODE(poll.payment_type, NULL, 'PO_CAN_POLL_WITH_ASN', 'PO_CAN_POLL_WITH_PENDING_WCR')
        FROM po_lines_gt pol, po_line_locations_gt poll
        WHERE poll.po_line_id = pol.po_line_id
	AND NVL(poll.cancel_flag, 'N') = 'N'
        AND NVL(poll.closed_code, 'OPEN') <> 'FINALLY CLOSED'
        AND EXISTS
          (
            SELECT 'ASN outstanding'
            FROM rcv_shipment_lines rsl
            WHERE rsl.po_line_id = pol.po_line_id
                  AND NVL(rsl.quantity_shipped, 0) > NVL(rsl.quantity_received, 0)
                  AND NVL(rsl.asn_line_flag, 'N') = 'Y'
                  AND NVL(rsl.shipment_line_status_code, 'EXPECTED') <> 'CANCELLED'
                   );
Line: 19795

        INSERT INTO PO_ONLINE_REPORT_TEXT_GT
        (  online_report_id
        ,  last_update_login
        ,  last_updated_by
        ,  last_update_date
        ,  created_by
        ,  creation_date
        ,  line_num
        ,  shipment_num
        ,  distribution_num
        ,  sequence
        ,  text_line
        ,  message_name
        )
        SELECT
           p_online_report_id
        ,  p_login_id
        ,  p_user_id
        ,  SYSDATE
        ,  p_user_id
        ,  SYSDATE
        ,  pol.line_num
        ,  poll.shipment_num
        ,  0
        ,  p_sequence + ROWNUM
        ,  substr(g_linemsg || g_delim || pol.line_num || g_delim || g_shipmsg || g_delim
                       || poll.shipment_num || g_delim ||
                       DECODE(poll.payment_type , NULL, l_text_normal_po, l_text_complex_po), 1, 240)
        ,  DECODE(poll.payment_type, NULL, 'PO_CAN_POLL_WITH_ASN', 'PO_CAN_POLL_WITH_PENDING_WCR')
        FROM po_lines_gt pol, po_line_locations_gt poll
        WHERE poll.po_line_id = pol.po_line_id
	AND NVL(poll.cancel_flag, 'N') = 'N'
        AND NVL(poll.closed_code, 'OPEN') <> 'FINALLY CLOSED'
        AND EXISTS
          (
            SELECT 'ASN outstanding'
            FROM rcv_shipment_lines rsl
            WHERE rsl.po_line_location_id = poll.line_location_id
                  AND NVL(rsl.quantity_shipped, 0) > NVL(rsl.quantity_received, 0)
                  AND NVL(rsl.asn_line_flag, 'N') = 'Y'
                  AND NVL(rsl.shipment_line_status_code, 'EXPECTED') <> 'CANCELLED'
                   );
Line: 19844

        INSERT INTO PO_ONLINE_REPORT_TEXT_GT
        (  online_report_id
        ,  last_update_login
        ,  last_updated_by
        ,  last_update_date
        ,  created_by
        ,  creation_date
        ,  line_num
        ,  shipment_num
        ,  distribution_num
        ,  sequence
        ,  text_line
        ,  message_name
        )
        SELECT
           p_online_report_id
        ,  p_login_id
        ,  p_user_id
        ,  SYSDATE
        ,  p_user_id
        ,  SYSDATE
        ,  0
        ,  poll.shipment_num
        ,  0
        ,  p_sequence + ROWNUM
        ,  substr(g_shipmsg || g_delim || poll.shipment_num || g_delim || l_textline, 1, 240)
        ,  'PO_CAN_POLL_WITH_ASN'
        FROM    po_line_locations_gt poll
        WHERE   EXISTS
               (
                  SELECT 'Eligible shipment'
                  FROM    po_releases_gt por
                  WHERE   por.po_release_id = poll.po_release_id
                          AND NVL(por.cancel_flag, 'N') = 'N'
                          AND NVL(por.closed_code, 'OPEN') <> 'FINALLY CLOSED'
               )
               AND EXISTS
               (
                 SELECT 'ASN outstanding'
                 FROM rcv_shipment_lines rsl
                 WHERE rsl.po_line_location_id = poll.line_location_id
                      AND NVL(rsl.quantity_shipped, 0) > NVL(rsl.quantity_received, 0)
                      AND NVL(rsl.asn_line_flag, 'N') = 'Y'
                      AND NVL(rsl.shipment_line_status_code, 'EXPECTED') <> 'CANCELLED'
               );
Line: 19968

  INSERT INTO PO_ONLINE_REPORT_TEXT_GT
  (  online_report_id
  ,  last_update_login
  ,  last_updated_by
  ,  last_update_date
  ,  created_by
  ,  creation_date
  ,  line_num
  ,  shipment_num
  ,  distribution_num
  ,  sequence
  ,  text_line
  ,  message_name
  )
  SELECT
     p_online_report_id
  ,  p_login_id
  ,  p_user_id
  ,  SYSDATE
  ,  p_user_id
  ,  SYSDATE
  ,  DECODE(p_document_type, g_document_type_RELEASE, 0, pol.line_num)
  ,  poll.shipment_num
  ,  0
  ,  p_sequence + ROWNUM
  ,  substr(
       DECODE(p_document_type, g_document_type_RELEASE,
         g_shipmsg || g_delim || poll.shipment_num || g_delim
           || PO_CORE_S.get_translated_text('PO_CAN_POLL_REC_NOT_DEL'
                                             , 'QTY2', round(NVL(poll.quantity_received, 0),5) /* Bug:13427569 rounded to 5 digits */
                                            , 'QTY1', round(sum(NVL(pod.quantity_delivered, 0)),5) /* Bug:13427569 rounded to 5 digits */
                                            ),
         g_linemsg || g_delim || pol.line_num || g_delim || g_shipmsg || g_delim
           || poll.shipment_num || g_delim
           || PO_CORE_S.get_translated_text('PO_CAN_POLL_REC_NOT_DEL'
                                             , 'QTY2', round(NVL(poll.quantity_received, 0),5) /* Bug:13427569 rounded to 5 digits */
                                            , 'QTY1', round(sum(NVL(pod.quantity_delivered, 0)),5) /* Bug:13427569 rounded to 5 digits */
                                            )
       ), 1, 240)
  ,  'PO_CAN_POLL_REC_NOT_DEL'
  FROM po_lines_gt pol, po_line_locations_gt poll, po_distributions_gt pod
  WHERE pod.line_location_id = poll.line_location_id
    AND pol.po_line_id = poll.po_line_id
    AND pol.order_type_lookup_code NOT IN ('RATE', 'FIXED PRICE')
    AND NVL(poll.cancel_flag, 'N') = 'N'
    AND NVL(poll.closed_code, 'OPEN') <> 'FINALLY CLOSED'
    AND round(NVL(poll.quantity_received, 0),5) > /* Bug:13427569 rounded to 5 digits */
         (
           SELECT round(sum(NVL(pod2.quantity_delivered, 0)),5) /* Bug:13427569 rounded to 5 digits */
           FROM po_distributions_gt pod2
           WHERE pod2.line_location_id = poll.line_location_id
         )
  GROUP BY pol.line_num
         , poll.shipment_num
         , NVL(poll.quantity_received, 0)
         , ROWNUM  -- 
  ;
Line: 20091

  INSERT INTO PO_ONLINE_REPORT_TEXT_GT
  (  online_report_id
  ,  last_update_login
  ,  last_updated_by
  ,  last_update_date
  ,  created_by
  ,  creation_date
  ,  line_num
  ,  shipment_num
  ,  distribution_num
  ,  sequence
  ,  text_line
  ,  message_name
  )
  SELECT
     p_online_report_id
  ,  p_login_id
  ,  p_user_id
  ,  SYSDATE
  ,  p_user_id
  ,  SYSDATE
  ,  DECODE(p_document_type, g_document_type_RELEASE, 0, pol.line_num)
  ,  poll.shipment_num
  ,  0
  ,  p_sequence + ROWNUM
  ,  substr(
       DECODE(p_document_type, g_document_type_RELEASE,
         g_shipmsg || g_delim || poll.shipment_num || g_delim
           || PO_CORE_S.get_translated_text('PO_CAN_POLL_AMT_REC_NOT_DEL'
                                            , 'QTY2', NVL(poll.amount_received, 0)
                                            , 'QTY1', sum(NVL(pod.amount_delivered, 0))
                                            ),
         g_linemsg || g_delim || pol.line_num || g_delim || g_shipmsg || g_delim
           || poll.shipment_num || g_delim
           || PO_CORE_S.get_translated_text('PO_CAN_POLL_AMT_REC_NOT_DEL'
                                            , 'QTY2', NVL(poll.amount_received, 0)
                                            , 'QTY1', sum(NVL(pod.amount_delivered, 0))
                                            )
       ), 1, 240)
  ,  'PO_CAN_POLL_AMT_REC_NOT_DEL'
  FROM po_lines_gt pol, po_line_locations_gt poll, po_distributions_gt pod
  WHERE pod.line_location_id = poll.line_location_id
    AND pol.po_line_id = poll.po_line_id
    AND pol.order_type_lookup_code IN ('RATE', 'FIXED PRICE')
    AND NVL(poll.cancel_flag, 'N') = 'N'
    AND NVL(poll.closed_code, 'OPEN') <> 'FINALLY CLOSED'
    AND NVL(poll.amount_received, 0) >
         (
           SELECT sum(NVL(pod2.amount_delivered, 0))
           FROM po_distributions_gt pod2
           WHERE pod2.line_location_id = poll.line_location_id
         )
  GROUP BY pol.line_num
         , poll.shipment_num
         , NVL(poll.amount_received, 0)
         , ROWNUM   -- 
  ;
Line: 20234

  INSERT INTO PO_ONLINE_REPORT_TEXT_GT
  (  online_report_id
  ,  last_update_login
  ,  last_updated_by
  ,  last_update_date
  ,  created_by
  ,  creation_date
  ,  line_num
  ,  shipment_num
  ,  distribution_num
  ,  sequence
  ,  text_line
  ,  message_name
  )
  SELECT
     p_online_report_id
  ,  p_login_id
  ,  p_user_id
  ,  SYSDATE
  ,  p_user_id
  ,  SYSDATE
  ,  DECODE(p_document_type, g_document_type_RELEASE, 0, pol.line_num)
  ,  poll.shipment_num
  ,  pod.distribution_num
  ,  p_sequence + ROWNUM
  ,  substr(
       DECODE(p_document_type, g_document_type_RELEASE,
           g_shipmsg || g_delim || poll.shipment_num || g_delim || g_distmsg || g_delim || l_textline
         , g_linemsg || g_delim || pol.line_num || g_delim || g_shipmsg || g_delim
             || poll.shipment_num || g_delim || g_distmsg || g_delim || l_textline
       ), 1, 240)
  ,  'PO_CAN_POLL_INVALID_ACCT_FLEX'
  FROM po_lines_gt pol, po_line_locations_gt poll
     , po_distributions_gt pod, gl_code_combinations gcc
  WHERE pod.line_location_id = poll.line_location_id
    AND pol.po_line_id = poll.po_line_id
    AND poll.shipment_type IN ('STANDARD', 'PLANNED', 'PREPAYMENT') --
    AND NVL(poll.closed_code, 'OPEN') <> 'FINALLY CLOSED'
    AND ( NVL(poll.cancel_flag, 'N') = 'N' OR p_action_requested = g_action_FINAL_CLOSE_CHECK)
    AND gcc.code_combination_id = pod.code_combination_id
    AND NVL(p_action_date, trunc(SYSDATE)) NOT BETWEEN
          NVL(gcc.start_date_active, NVL(p_action_date, trunc(SYSDATE) - 1))
            AND
          NVL(gcc.end_date_active, NVL(p_action_date, trunc(SYSDATE) + 1));
Line: 20338

  INSERT INTO PO_ONLINE_REPORT_TEXT_GT
  (  online_report_id
  ,  last_update_login
  ,  last_updated_by
  ,  last_update_date
  ,  created_by
  ,  creation_date
  ,  line_num
  ,  shipment_num
  ,  distribution_num
  ,  sequence
  ,  text_line
  ,  message_name
  )
  SELECT
     p_online_report_id
  ,  p_login_id
  ,  p_user_id
  ,  SYSDATE
  ,  p_user_id
  ,  SYSDATE
  ,  pol.line_num
  ,  0
  ,  0
  ,  p_sequence + ROWNUM
  ,  substr(g_linemsg || g_delim || pol.line_num || g_delim || l_textline,1,240)  --Bug5096900
  ,  'PO_CAN_POL_PLAN_WITH_OPEN_REL'
  FROM po_lines_gt pol
  WHERE EXISTS
     (
       SELECT 'Uncancelled Open Releases Exist'
       FROM po_line_locations pll
       WHERE pll.po_line_id = pol.po_line_id
         AND pll.shipment_type = 'BLANKET'
         AND NVL(pll.cancel_flag, 'N') = 'N'
         AND NVL(pll.closed_code, 'OPEN') <> 'FINALLY CLOSED'
     );
Line: 20435

  INSERT INTO PO_ONLINE_REPORT_TEXT_GT
  (  online_report_id
  ,  last_update_login
  ,  last_updated_by
  ,  last_update_date
  ,  created_by
  ,  creation_date
  ,  line_num
  ,  shipment_num
  ,  distribution_num
  ,  sequence
  ,  text_line
  ,  message_name
  )
  SELECT
     p_online_report_id
  ,  p_login_id
  ,  p_user_id
  ,  SYSDATE
  ,  p_user_id
  ,  SYSDATE
  ,  pol.line_num
  ,  0
  ,  0
  ,  p_sequence + ROWNUM
  ,  substr(g_linemsg || g_delim || pol.line_num || g_delim || l_textline,1,240)   --Bug5096900
  ,  'PO_CAN_GAL_WITH_OPEN_STD_REF'
  FROM po_lines_gt pol
  WHERE EXISTS
     (
       SELECT 'Uncancelled Std PO lines referencing this GA line exist'
       FROM po_lines_all pol2
       WHERE pol2.from_line_id = pol.po_line_id
         AND NVL(pol2.cancel_flag, 'N') = 'N'
         AND NVL(pol2.closed_code, 'OPEN') <> 'FINALLY CLOSED'
     );
Line: 20531

  INSERT INTO PO_ONLINE_REPORT_TEXT_GT
  (  online_report_id
  ,  last_update_login
  ,  last_updated_by
  ,  last_update_date
  ,  created_by
  ,  creation_date
  ,  line_num
  ,  shipment_num
  ,  distribution_num
  ,  sequence
  ,  text_line
  ,  message_name
  )
  SELECT
     p_online_report_id
  ,  p_login_id
  ,  p_user_id
  ,  SYSDATE
  ,  p_user_id
  ,  SYSDATE
  ,  0
  ,  0
  ,  0
  ,  p_sequence + ROWNUM
  ,  substr(l_textline,1,240)      --Bug5096900
  ,  'PO_CAN_CGA_WITH_OPEN_STD_REF'
  FROM po_headers_gt poh
  WHERE EXISTS
     (
       SELECT 'Open Std PO lines referencing this contract exist'
       FROM po_lines_all pol
       WHERE pol.contract_id = poh.po_header_id
         AND NVL(pol.cancel_flag, 'N') = 'N'
         AND NVL(pol.closed_code, 'OPEN') <> 'FINALLY CLOSED'
     );
Line: 20627

  INSERT INTO PO_ONLINE_REPORT_TEXT_GT
  (  online_report_id
  ,  last_update_login
  ,  last_updated_by
  ,  last_update_date
  ,  created_by
  ,  creation_date
  ,  line_num
  ,  shipment_num
  ,  distribution_num
  ,  sequence
  ,  text_line
  ,  message_name
  )
  SELECT
     p_online_report_id
  ,  p_login_id
  ,  p_user_id
  ,  SYSDATE
  ,  p_user_id
  ,  SYSDATE
  ,  pol.line_num
  ,  poll.shipment_num
  ,  0
  ,  p_sequence + ROWNUM
  ,  substr(g_linemsg || g_delim || pol.line_num || g_delim || g_shipmsg
              || poll.shipment_num || g_delim || l_textline,1,240)   --Bug5096900
  ,  'PO_CAN_POLL_PLAN_WITH_OPEN_REL'
  FROM po_lines_gt pol, po_line_locations_gt poll
  WHERE poll.po_line_id = pol.po_line_id
    AND NVL(poll.cancel_flag, 'N') = 'N'
    AND NVL(poll.closed_code, 'OPEN') <> 'FINALLY CLOSED'
    AND EXISTS
     (
       SELECT 'Uncancelled Open Releases Exist'
       FROM po_line_locations poll2
       WHERE poll2.source_shipment_id = poll.line_location_id
         AND poll2.shipment_type = 'SCHEDULED'
         AND NVL(poll2.cancel_flag, 'N') = 'N'
         AND NVL(poll2.closed_code, 'OPEN') <> 'FINALLY CLOSED'
     );
Line: 20762

    SELECT
        POL.line_num
    ,   POL.quantity
    ,   POL.amount                                            -- 
    ,   sum( PLL.quantity - nvl(PLL.quantity_cancelled,0) )   -- 
    ,   sum( PLL.amount - nvl(PLL.amount_cancelled,0) )       -- 
    BULK COLLECT INTO
        l_line_num
    ,   l_line_qty_tbl                                        -- 
    ,   l_line_amt_tbl                                        -- 
    ,   l_lineloc_qty_tbl                                     -- 
    ,   l_lineloc_amt_tbl                                     -- 
    FROM
        PO_LINE_LOCATIONS_GT PLL
    ,   PO_LINES_GT POL
    WHERE
        POL.po_line_id = PLL.po_line_id
    AND PLL.shipment_type in ('STANDARD', 'PLANNED')
    AND POL.po_header_id = p_document_id
    AND nvl(POL.cancel_flag,'N') = 'N'
    AND nvl(POL.closed_code,'OPEN') <> 'FINALLY CLOSED'
    AND (
            (   ( POL.quantity IS NOT NULL )                  -- 
            AND ( round(POL.quantity, 10) <>
                (SELECT round(sum(PLL2.quantity) -
                              sum(nvl(PLL2.quantity_cancelled, 0)), 10)
                 FROM PO_LINE_LOCATIONS_GT PLL2
                 WHERE PLL2.po_line_id = POL.po_line_id AND
                       PLL2.shipment_type in ('STANDARD', 'PLANNED') ) )
            )
        OR                                                    -- 
            (   ( POL.amount IS NOT NULL )
            AND ( round(POL.amount, 10) <>
                  (   SELECT round ( sum ( PLL3.amount
                                         - nvl(PLL3.amount_cancelled, 0) )
                                   , 10
                                   )
                      FROM   po_line_locations_gt PLL3
                      WHERE  PLL3.po_line_id = POL.po_line_id
                      AND    PLL3.shipment_type IN ('STANDARD','PLANNED')
                  )
                )
            )
        )
    GROUP BY
        POL.line_num
    ,   POL.quantity
    ,   POL.amount;                                           -- 
Line: 20818

        INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
                message_name)
        VALUES(p_online_report_id,
            p_login_id,
            p_user_id,
            sysdate,
            p_user_id,
            sysdate,
            l_line_num(i),
            NULL,                                             -- 
            NULL,                                             -- 
            x_sequence+ l_rowCount(i),
            decode ( l_line_qty_tbl(i)                        -- 
                   , NULL , PO_CORE_S.get_translated_text
                            (   'PO_SUB_PO_LINE_NE_SHIP_AMT'
                            ,   'LINE_NUM', l_line_num(i)
                            ,   'LINE_AMT', l_line_amt_tbl(i)
                            ,   'SHIP_AMT', l_lineloc_amt_tbl(i)
                            )
                   ,        PO_CORE_S.get_translated_text
                            (   'PO_SUB_PO_LINE_NE_SHIP_QTY'
                            ,   'LINE_NUM', l_line_num(i)
                            ,   'LINE_QTY', l_line_qty_tbl(i)
                            ,   'SHIP_QTY', l_lineloc_qty_tbl(i)
                            )
                   ),
            decode ( l_line_qty_tbl(i)                        -- 
                   , NULL , 'PO_SUB_PO_LINE_NE_SHIP_AMT'
                   ,        'PO_SUB_PO_LINE_NE_SHIP_QTY'
                   )
          );
Line: 20884

    SELECT poh.currency_code
    INTO   l_currency_code
    FROM   po_headers_all poh
    WHERE  poh.po_header_id = p_document_id;
Line: 20905

    SELECT
        subtotal.line_num
    ,   subtotal.line_amount
    ,   subtotal.line_loc_amount
    ,   subtotal.financing_advance_amount
    BULK COLLECT INTO
        l_line_num
    ,   l_line_amt_tbl
    ,   l_lineloc_amt_tbl
    ,   l_fin_adv_amount
    FROM
    ( SELECT
        POL.line_num
      , CASE
          WHEN (    POL.order_type_lookup_code = 'FIXED PRICE'
                 OR POL.order_type_lookup_code = 'RATE')
	  THEN
     --Revert Bug # 13840480 (FP of 13833174): Rounding amount at line level to make in synch with
	    --to make in synch with amount at distribution level.
	    POL.amount
          ELSE
            CASE
              WHEN l_min_acct_unit IS NOT NULL THEN
                -- Round to minimum accountable unit.
                ROUND(
                      NVL(POL.quantity * POL.unit_price,0) / l_min_acct_unit
                     ) * l_min_acct_unit
              ELSE
                -- Round to currency precision.
                ROUND(NVL(POL.quantity * POL.unit_price,0), l_precision)
            END
        END line_amount
	--Revert Block Modified for bug 10041694 starts
      , SUM (CASE
          WHEN (    PLL.value_basis = 'FIXED PRICE'
                 OR PLL.value_basis = 'RATE')
	  THEN
		   PLL.amount - NVL(PLL.amount_cancelled, 0)
          ELSE
            CASE
              WHEN l_min_acct_unit IS NOT NULL THEN
                -- Round to minimum accountable unit.
                ROUND(
                      ((PLL.quantity-NVL(PLL.quantity_cancelled,0)) * PLL.price_override) / l_min_acct_unit
                     ) * l_min_acct_unit
              ELSE
                -- Round to currency precision.
                ROUND((PLL.quantity-NVL(PLL.quantity_cancelled,0)) * PLL.price_override, l_precision)
            END
            END ) line_loc_amount
    --Revert Block Modified for bug 10041694 ends
     , SUM (CASE
          WHEN  PLL.payment_type = 'ADVANCE' THEN
             PLL.amount
       END) financing_advance_amount
      FROM
        PO_LINE_LOCATIONS_GT PLL
      , PO_LINES_GT POL
      WHERE
        POL.po_line_id = PLL.po_line_id
      AND (   (l_is_financing_flag = 'N' AND PLL.shipment_type = 'STANDARD')
           OR (l_is_financing_flag = 'Y' and PLL.shipment_type = 'PREPAYMENT'))
      AND POL.po_header_id = p_document_id
      AND nvl(POL.cancel_flag,'N') = 'N'
      AND nvl(POL.closed_code,'OPEN') <> 'FINALLY CLOSED'
   --   AND nvl(payment_type, 'NULL') <> 'ADVANCE' --Bug 5440038
      GROUP BY POL.line_num, POL.order_type_lookup_code, POL.amount, POL.quantity, POL.unit_price
    ) subtotal
    WHERE
    ( (l_is_financing_flag = 'Y' AND NOT (subtotal.line_amount >= subtotal.line_loc_amount))
    OR
      (l_is_financing_flag = 'N' AND NOT (subtotal.line_amount = subtotal.line_loc_amount))
    );
Line: 20988

        INSERT INTO po_online_report_text_gt(online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
        message_name)
        VALUES(p_online_report_id,
            p_login_id,
            p_user_id,
            sysdate,
            p_user_id,
            sysdate,
            l_line_num(i),
            NULL,
            NULL,
            x_sequence+ l_rowCount(i),
            decode ( l_fin_adv_amount(i),
                     NULL,
                     PO_CORE_S.get_translated_text
                     (  'PO_SUB_PAY_ITEM_NE_LINE_AMT'
                     ,  'LINE_NUM', l_line_num(i)
                     ,  'PAY_ITEM_AMT', l_lineloc_amt_tbl(i)
                     ,  'LINE_AMT', l_line_amt_tbl(i)
                     ),
                      PO_CORE_S.get_translated_text
                    (  'PO_SUB_PRE_PAY_GE_LINE_AMT'
                    ,  'LINE_NUM', l_line_num(i)
                    ,  'PAY_ITEM_AMT', (l_lineloc_amt_tbl(i)-l_fin_adv_amount(i) )
                    ,  'ADV_AMT',  l_fin_adv_amount(i)
                    ,  'LINE_AMT', l_line_amt_tbl(i)
                    )
                  ),
            decode ( l_fin_adv_amount(i),
                     NULL,  'PO_SUB_PAY_ITEM_NE_LINE_AMT'
                   ,  'PO_SUB_PRE_PAY_GE_LINE_AMT'
                   )
          );
Line: 21052

    SELECT draft_id
    INTO   l_draft_id
    FROM   po_headers_gt
    WHERE  po_header_id = p_document_id;
Line: 21063

          SELECT draft_type
          INTO   l_draft_type
          FROM   po_drafts
          WHERE  draft_id = l_draft_id;
Line: 21075

    SELECT
        POL.line_num
    ,   PLL.shipment_num
    ,   PLL.quantity
    ,   PLL.amount                                            -- 
    ,   sum( nvl(POD.quantity_ordered,0) - nvl(POD.quantity_cancelled,0) )
    ,   sum( nvl(POD.amount_ordered,0) - nvl(POD.amount_cancelled,0) )
    ,   pol.po_line_id --bug 16474947
    BULK COLLECT INTO
        l_line_num
    ,   l_shipment_num
    ,   l_lineloc_qty_tbl
    ,   l_lineloc_amt_tbl
    ,   l_dist_qty_tbl
    ,   l_dist_amt_tbl
    ,   l_line_id_tbl -- bug 16474947
    FROM PO_DISTRIBUTIONS_GT POD,PO_LINE_LOCATIONS_GT PLL, PO_LINES_GT POL
    WHERE PLL.po_line_id = POL.po_line_id
    AND POD.line_location_id = PLL.line_location_id
    AND PLL.po_header_id = p_document_id
    AND nvl(PLL.cancel_flag,'N') = 'N'
    AND nvl(PLL.closed_code,'OPEN') <> 'FINALLY CLOSED'
    AND PLL.shipment_type in ('STANDARD', 'PLANNED', 'PREPAYMENT') --
    GROUP BY
        POL.line_num
    ,   PLL.shipment_num
    ,   PLL.quantity
    ,   PLL.amount                                            -- 
    ,   PLL.amount_cancelled
    ,   PLL.quantity_cancelled
    ,   PLL.shipment_type   --
    ,   pol.po_line_id --bug 16474947
    HAVING
        ((p_clm_document <> 'Y' AND
          decode ( PLL.quantity                                 -- 
               , NULL , abs (   ( PLL.amount - nvl(PLL.amount_cancelled,0) )
                            -   sum( POD.amount_ordered - nvl(POD.amount_cancelled,0) ) )
               ,        abs (   ( PLL.quantity - nvl(PLL.quantity_cancelled,0) )
                            -   sum( POD.quantity_ordered - nvl(POD.quantity_cancelled,0) ) )
               ) > .00001)
         OR
         ( p_clm_document = 'Y'
         AND l_draft_type = 'PAR'
         AND Decode (pll.quantity --
             , NULL, Abs (( pll.amount - Nvl(pll.amount_cancelled, 0) ) - SUM(
                                  pod.amount_ordered -
                                  Nvl(pod.amount_cancelled, 0))),
               Abs (( pll.quantity - Nvl(pll.quantity_cancelled, 0) ) - SUM(
                   pod.quantity_ordered - Nvl(pod.quantity_cancelled, 0)))) >
             .00001 )-- PAR Project
         OR
         (p_clm_document = 'Y' AND
          decode ( PLL.quantity                                 -- 
               , NULL ,         ( PLL.amount - nvl(PLL.amount_cancelled,0) )
                            -   sum( POD.amount_ordered - nvl(POD.amount_cancelled,0) )
               ,                ( PLL.quantity - nvl(PLL.quantity_cancelled,0) )
                            -   sum( POD.quantity_ordered - nvl(POD.quantity_cancelled,0) )
               ) < 0)
        );
Line: 21145

        INSERT INTO po_online_report_text_gt (online_report_id,
        last_update_login,
        last_updated_by,
        last_update_date,
        created_by,
        creation_date,
        line_num,
        shipment_num,
        distribution_num,
        sequence,
        text_line,
        message_name,
        message_type)
        SELECT
            p_online_report_id,
             p_login_id,
             p_user_id,
            sysdate,
            p_user_id,
            sysdate,
            l_line_num(i),
            l_shipment_num(i),
            NULL,                                             -- 
            x_sequence+l_rowCount(i),
            decode ( l_lineloc_qty_tbl(i)
                   , NULL , PO_CORE_S.get_translated_text
                            (   'PO_SUB_PO_SHIP_NE_DIST_AMT'
                            ,   'LINE_NUM', l_line_num(i)
                            ,   'SHIP_NUM', l_shipment_num(i)
                            ,   'SHIP_AMT', l_lineloc_amt_tbl(i)
                            ,   'DIST_AMT', l_dist_amt_tbl(i)
                            )
                          , PO_CORE_S.get_translated_text
                            (   'PO_SUB_PO_SHIP_NE_DIST_QTY'
                            ,   'LINE_NUM', l_line_num(i)
                            ,   'SHIP_NUM', l_shipment_num(i)
                            ,   'SHIP_QTY', l_lineloc_qty_tbl(i)
                            ,   'DIST_QTY', l_dist_qty_tbl(i)
                            )
                   ),
            decode ( l_lineloc_qty_tbl(i)
                   , NULL , 'PO_SUB_PO_SHIP_NE_DIST_AMT'
                   ,        'PO_SUB_PO_SHIP_NE_DIST_QTY'
                   ),
            Decode(l_draft_type,'PAR','W',NULL) --WARNING FOR PAR and ERROR FOR OTHERS
          FROM DUAL --bug 16474947
          WHERE
              ( (l_draft_type <> 'PAR') OR
                (l_draft_type = 'PAR' AND NOT EXISTS (SELECT 1 FROM po_lines_draft_all WHERE po_line_id = l_line_id_tbl(i)
                  AND draft_id = l_draft_id AND change_status = 'NEW'))
              );
Line: 21218

FUNCTION is_pay_item_price_updateable (
  p_line_location_id          IN NUMBER
, p_add_reasons_to_msg_list   IN VARCHAR2)
RETURN BOOLEAN
IS

  d_module VARCHAR(70) :=
                'po.plsql.PO_DOCUMENT_CHECKS_PVT.is_pay_item_price_updateable';
Line: 21227

  l_is_price_updateable BOOLEAN;
Line: 21242

  l_is_price_updateable := TRUE;
Line: 21245

  SELECT NVL(pll.quantity_received, 0)
       , NVL(pll.quantity_billed, 0)
       , NVL(pll.quantity_financed, 0)
  INTO   l_quantity_received
       , l_quantity_billed
       , l_quantity_financed
  FROM   po_line_locations_all pll
  WHERE  line_location_id = p_line_location_id;
Line: 21262

    l_is_price_updateable := FALSE;
Line: 21277

    PO_LOG.proc_return(d_module, l_is_price_updateable);
Line: 21280

  RETURN(l_is_price_updateable);
Line: 21289

END is_pay_item_price_updateable;
Line: 21409

        INSERT INTO PO_ONLINE_REPORT_TEXT_GT
        (  online_report_id
        ,  last_update_login
        ,  last_updated_by
        ,  last_update_date
        ,  created_by
        ,  creation_date
        ,  line_num
        ,  shipment_num
        ,  distribution_num
        ,  sequence
        ,  text_line
        ,  message_name
        )
        SELECT
           p_online_report_id
        ,  p_login_id
        ,  p_user_id
        ,  SYSDATE
        ,  p_user_id
        ,  SYSDATE
        ,  null -- lines
        ,  null -- shipments
        ,  null -- distribution_num
        ,  p_sequence + ROWNUM
        ,  substr(l_textline, 1, 240)
        ,  l_message_name
        FROM po_headers_gt poh
        WHERE poh.po_header_id = p_doc_level_id
          AND  chk_unv_invoices(l_invoice_type, poh.po_header_id, NULL, NULL,NULL, NULL, p_origin_doc_id, l_calling_sequence) = 1;
Line: 21444

        INSERT INTO PO_ONLINE_REPORT_TEXT_GT
        (  online_report_id
        ,  last_update_login
        ,  last_updated_by
        ,  last_update_date
        ,  created_by
        ,  creation_date
        ,  line_num
        ,  shipment_num
        ,  distribution_num
        ,  sequence
        ,  text_line
        ,  message_name
        )
        SELECT
           p_online_report_id
        ,  p_login_id
        ,  p_user_id
        ,  SYSDATE
        ,  p_user_id
        ,  SYSDATE
        ,  line_num -- lines
        ,  null -- shipments
        ,  null -- distribution_num
        ,  p_sequence + ROWNUM
        ,  substr(l_textline, 1, 240)
        ,  l_message_name
        FROM po_lines_gt pol
        WHERE pol.po_line_id=p_doc_level_id
          AND  chk_unv_invoices(l_invoice_type, pol.po_header_id, NULL, pol.po_line_id,NULL, NULL, p_origin_doc_id, 'CHECK_PO_LINE_FINAL_CLOSE') = 1;
Line: 21479

    INSERT INTO PO_ONLINE_REPORT_TEXT_GT
    (  online_report_id
        ,  last_update_login
        ,  last_updated_by
        ,  last_update_date
        ,  created_by
        ,  creation_date
        ,  line_num
        ,  shipment_num
        ,  distribution_num
        ,  sequence
        ,  text_line
        ,  message_name
    )
    SELECT
           p_online_report_id
        ,  p_login_id
        ,  p_user_id
        ,  SYSDATE
        ,  p_user_id
        ,  SYSDATE
        ,  null -- lines
        ,  null -- shipments
        ,  null -- distribution_num
        ,  p_sequence + ROWNUM
        ,  substr(l_textline, 1, 240)
        ,  l_message_name
    FROM po_releases_gt por
    WHERE por.po_release_id=p_doc_level_id
     AND  chk_unv_invoices(l_invoice_type, por.po_header_id, por.po_release_id, NULL,NULL, NULL, p_origin_doc_id, l_calling_sequence) = 1;
Line: 21514

      INSERT INTO PO_ONLINE_REPORT_TEXT_GT
      (  online_report_id
      ,  last_update_login
      ,  last_updated_by
      ,  last_update_date
      ,  created_by
      ,  creation_date
      ,  line_num
      ,  shipment_num
      ,  distribution_num
      ,  sequence
      ,  text_line
      ,  message_name
      )
      SELECT
         p_online_report_id
      ,  p_login_id
      ,  p_user_id
      ,  SYSDATE
      ,  p_user_id
      ,  SYSDATE
      ,  null -- lines
      ,  shipment_num -- shipments
      ,  null -- distribution_num
      ,  p_sequence + ROWNUM
      ,  substr(l_textline, 1, 240)
      ,  l_message_name
      FROM po_line_locations_gt poll
      WHERE poll.line_location_id=p_doc_level_id
        AND  chk_unv_invoices(l_invoice_type, poll.po_header_id, poll.po_release_id, NULL,poll.line_location_id, NULL, p_origin_doc_id, l_calling_sequence) = 1;
Line: 21548

      INSERT INTO PO_ONLINE_REPORT_TEXT_GT
      (  online_report_id
      ,  last_update_login
      ,  last_updated_by
      ,  last_update_date
      ,  created_by
      ,  creation_date
      ,  line_num
      ,  shipment_num
      ,  distribution_num
      ,  sequence
      ,  text_line
      ,  message_name
      )
      SELECT
         p_online_report_id
      ,  p_login_id
      ,  p_user_id
      ,  SYSDATE
      ,  p_user_id
      ,  SYSDATE
      ,  null -- lines
      ,  null -- shipments
      ,  distribution_num
      ,  p_sequence + ROWNUM
      ,  substr(l_textline, 1, 240)
      ,  l_message_name
      FROM po_distributions_gt pod
      WHERE pod.po_distribution_id=p_doc_level_id
        AND  chk_unv_invoices(l_invoice_type, pod.po_header_id, pod.po_release_id, NULL,NULL, pod.po_distribution_id, p_origin_doc_id, l_calling_sequence) = 1;
Line: 21640

      SELECT po_header_id
      INTO   l_document_id
      FROM   po_lines_gt
      WHERE po_line_id=p_doc_level_id;
Line: 21645

      SELECT po_header_id
      INTO   l_document_id
      FROM   po_line_locations_gt
      WHERE line_location_id=p_doc_level_id;
Line: 21650

      SELECT po_header_id
      INTO   l_document_id
      FROM   po_distributions_gt
      WHERE  po_distribution_id=p_doc_level_id;
Line: 21761

	SELECT poh.vendor_id,
	       poh.vendor_site_id,
  	       pol.item_id,
  	       poll.ship_to_organization_id,
  	       poll.consigned_flag,
  	       poll.outsourced_assembly,
  	       poll.line_location_id
          INTO l_vendor_id,
  	       l_vendor_site_id,
  	       l_inventory_item_id,
  	       l_ship_to_organization_id,
  	       l_consigned_flag,
  	       l_outsourced_assembly,
  	       l_line_location_id
          FROM po_line_locations_all poll,
    	       po_lines_all pol,
    	       po_headers_all poh
         WHERE poh.po_header_id = pol.po_header_id
           AND pol.po_line_id = poll.po_line_id
           AND poll.line_location_id = p_line_location_id;
Line: 21818

      		UPDATE po_line_locations_gt
		  SET lcm_flag = 'Y'
		  WHERE line_location_id = p_line_location_id
		  and lcm_flag is null;
Line: 21823

		UPDATE po_distributions_gt
		  SET lcm_flag = 'Y'
                  WHERE line_location_id = p_line_location_id
                  and lcm_flag is null;
Line: 21831

                UPDATE po_line_locations_all
                 SET lcm_flag = 'Y'
                 WHERE line_location_id = p_line_location_id;
Line: 21835

                UPDATE po_distributions_all
                SET lcm_flag = 'Y'
                WHERE line_location_id = p_line_location_id;
Line: 21842

      		UPDATE po_line_locations_all
		 SET lcm_flag = null
		 WHERE line_location_id = p_line_location_id
		 AND lcm_flag = 'Y';
Line: 21847

		UPDATE po_distributions_all
		 SET lcm_flag = null
                 WHERE line_location_id = p_line_location_id
                 AND lcm_flag = 'Y';
Line: 21910

	SELECT PHA.VENDOR_SITE_ID
	INTO l_vendor_site_id
	FROM PO_HEADERS_ALL PHA
	WHERE PHA.PO_HEADER_ID = p_header_id;
Line: 21916

		SELECT PHA.VENDOR_SITE_ID
		INTO l_vendor_site_id
		FROM PO_HEADERS_DRAFT_ALL PHA
		WHERE PHA.PO_HEADER_ID = p_header_id AND PHA.draft_id = p_draft_id;
Line: 21928

	SELECT PVSA.DEBARMENT_START_DATE, PVSA.DEBARMENT_END_DATE
	INTO l_debar_start_date, l_debar_end_date
	FROM PO_VENDOR_SITES_ALL PVSA
	WHERE PVSA.VENDOR_SITE_ID =l_vendor_site_id;
Line: 21954

        INSERT INTO PO_ONLINE_REPORT_TEXT_GT
        (  online_report_id
        ,  last_update_login
        ,  last_updated_by
        ,  last_update_date
        ,  created_by
        ,  creation_date
        ,  sequence
        ,  text_line
        ,  message_name
        ,  message_type
        )
        VALUES(
           p_online_report_id
        ,  p_login_id
        ,  p_user_id
        ,  SYSDATE
        ,  p_user_id
        ,  SYSDATE
        ,  p_sequence
        ,  FND_MESSAGE.GET_STRING('PO', 'PO_SUPPLIER_DEBAR_WARN')
        ,  'PO_SUPPLIER_DEBAR_WARN'
        ,  'W');
Line: 21978

    PO_DEBUG.debug_var(l_log_head,l_progress,'p_sequence',   'inserted');
Line: 22041

         PO_WF_DEBUG_PKG.insert_debug(itemtype, itemkey, l_log_head);
Line: 22042

         PO_WF_DEBUG_PKG.insert_debug(itemtype, itemkey, l_log_head||'p_draft_id'||  p_draft_id);
Line: 22043

         PO_WF_DEBUG_PKG.insert_debug(itemtype, itemkey, l_log_head||'p_header_id'||  p_header_id);
Line: 22044

         PO_WF_DEBUG_PKG.insert_debug(itemtype, itemkey, l_log_head||'p_contracting_officer'|| p_contracting_officer);
Line: 22045

         PO_WF_DEBUG_PKG.insert_debug(itemtype, itemkey, l_log_head||'p_online_report_id'||  p_online_report_id);
Line: 22046

         PO_WF_DEBUG_PKG.insert_debug( itemtype, itemkey,l_log_head||'p_sequence'||  p_sequence);
Line: 22062

        SELECT PO_ONLINE_REPORT_TEXT_S.nextval
        INTO   p_online_report_id
        FROM   sys.dual;
Line: 22068

        SELECT  Nvl(Max(SEQUENCE), 0)
        INTO    p_sequence
        FROM    po_online_report_text_gt
        WHERE   online_report_id = p_online_report_id;
Line: 22080

            select 'Y'
            into l_valid_co
            from PO_BUYERS_VAL_V POB
            where pob.employee_id = p_contracting_officer;
Line: 22091

            INSERT INTO po_online_report_text_gt(online_report_id,
                last_update_login,
                last_updated_by,
                last_update_date,
                created_by,
                creation_date,
                sequence,
                text_line,
                message_name
                ,  message_type
                )
            SELECT  p_online_report_id,
                p_login_id,
                p_user_id,
                sysdate,
                p_user_id,
                sysdate,
                p_sequence,
                substr(FND_MESSAGE.GET_STRING('PO', 'PO_CO_INACTIVE'),1,240),
                'PO_BUYER_INACTIVE',
                'E'
            FROM  dual;
Line: 22116

                PO_WF_DEBUG_PKG.insert_debug(itemtype, itemkey,l_log_head ||  'Contracting Officer is not valid');
Line: 22124

       SELECT ORG_ID
         INTO l_org_id
	 FROM PO_HEADERS_MERGE_V
	WHERE PO_HEADER_ID = p_header_id
	  AND DRAFT_ID = p_draft_id;
Line: 22142

            PO_WF_DEBUG_PKG.insert_debug(itemtype, itemkey,l_log_head ||  'Contracting Officer signature is not required');
Line: 22152

        INSERT INTO PO_ONLINE_REPORT_TEXT_GT
        (  online_report_id
        ,  last_update_login
        ,  last_updated_by
        ,  last_update_date
        ,  created_by
        ,  creation_date
        ,  sequence
        ,  text_line
        ,  message_name
        ,  message_type
        )
        VALUES(
           p_online_report_id
        ,  p_login_id
        ,  p_user_id
        ,  SYSDATE
        ,  p_user_id
        ,  SYSDATE
        ,  p_sequence
        ,  FND_MESSAGE.GET_STRING('PO', 'PO_CO_IS_NULL')
        ,  'PO_CO_IS_NULL'
        ,  'E');
Line: 22177

            PO_WF_DEBUG_PKG.insert_debug(itemtype, itemkey,l_log_head ||  'Contracting officer is NULL');
Line: 22191

    SELECT      'Y'
    INTO        l_warrant_enabled_flag
    FROM        po_doc_style_headers pdsh,
                po_headers_all pha
    WHERE       pha.po_header_id = p_header_id
    AND         pha.style_id = pdsh.style_id
    AND         pdsh.warrant_type is not NULL;
Line: 22205

        PO_WF_DEBUG_PKG.insert_debug(itemtype, itemkey,l_log_head ||  'Warrant enabled for the style');
Line: 22211

            SELECT      nvl(pwl.warrant_amount, 0), puw.warrant_currency, phm.currency_code,
                        phm.type_lookup_code, phm.rate
            INTO        l_warrant_amount, l_warrant_currency, l_doc_currency,
                        l_type_lookup_code, l_rate
            FROM        po_warrant_lines pwl,
                        po_user_warrants puw,
                        po_doc_style_headers pdsh,
                        po_agents pa,
                        po_headers_all phm
            WHERE       phm.po_header_id       = p_header_id
            AND         phm.style_id             = pdsh.style_id
            AND         p_contracting_officer    = pa.agent_id
            AND         pa.warrant_id            = puw.warrant_id
            AND         puw.warrant_status       = 'A'
            AND         pwl.warrant_id           = pa.warrant_id
            AND         pwl.type_lookup_code     = phm.type_lookup_code
            AND         pwl.clm_award_type       = phm.clm_award_type
            AND         pwl.warrant_type_code    = pdsh.warrant_type;
Line: 22239

                SELECT      nvl(pwl.warrant_amount, 0), puw.warrant_currency, phm.currency_code,
                            phm.type_lookup_code, phm.rate
                INTO        l_warrant_amount, l_warrant_currency, l_doc_currency,
                            l_type_lookup_code, l_rate
                FROM        po_warrant_lines pwl,
                            po_user_warrants puw,
                            po_doc_style_headers pdsh,
                            po_agents pa,
                            po_headers_all phm
                WHERE       phm.po_header_id       = p_header_id
                AND         phm.style_id             = pdsh.style_id
                AND         p_contracting_officer    = pa.agent_id
                AND         pa.warrant_id            = puw.warrant_id
                AND         puw.warrant_status       = 'A'
                AND         pwl.warrant_id           = pa.warrant_id
                AND         pwl.type_lookup_code     = phm.type_lookup_code
                AND         pwl.clm_award_type       = 'ALL'
                AND         pwl.warrant_type_code    = pdsh.warrant_type;
Line: 22273

                PO_WF_DEBUG_PKG.insert_debug(itemtype, itemkey,l_log_head ||  'Warrant found');
Line: 22274

                PO_WF_DEBUG_PKG.insert_debug(itemtype, itemkey,l_log_head ||  'l_doc_currency '||l_doc_currency);
Line: 22277

                PO_WF_DEBUG_PKG.insert_debug(itemtype, itemkey,l_log_head ||  'l_warrant_currency '||l_warrant_currency);
Line: 22278

                PO_WF_DEBUG_PKG.insert_debug(itemtype, itemkey,l_log_head ||  'l_doc_amount '||l_doc_amount);
Line: 22306

                    SELECT  nvl(BLANKET_TOTAL_AMOUNT, 0)
                    INTO    l_doc_amount
                    FROM    po_headers_all phm
                    WHERE   phm.po_header_id      = p_header_id;
Line: 22312

                    SELECT  nvl(BLANKET_TOTAL_AMOUNT, 0)
                    INTO    l_doc_amount
                    FROM    po_headers_draft_all phm
                    WHERE   phm.po_header_id      = p_header_id
                    AND     phm.draft_id = p_draft_id;
Line: 22330

                PO_WF_DEBUG_PKG.insert_debug(itemtype, itemkey,l_log_head ||  'l_doc_currency '||l_doc_currency);
Line: 22331

                PO_WF_DEBUG_PKG.insert_debug(itemtype, itemkey,l_log_head ||  'l_doc_amount '||l_doc_amount);
Line: 22332

                PO_WF_DEBUG_PKG.insert_debug(itemtype, itemkey,l_log_head ||  'l_warrant_currency '||l_warrant_currency);
Line: 22333

                PO_WF_DEBUG_PKG.insert_debug(itemtype, itemkey,l_log_head ||  'l_doc_amount '||l_doc_amount);
Line: 22339

                        PO_WF_DEBUG_PKG.insert_debug(itemtype, itemkey,l_log_head ||  'Warrant not found for the doc currency');
Line: 22342

                    INSERT INTO PO_ONLINE_REPORT_TEXT_GT
                    (  online_report_id
                    ,  last_update_login
                    ,  last_updated_by
                    ,  last_update_date
                    ,  created_by
                    ,  creation_date
                    ,  sequence
                    ,  text_line
                    ,  message_name
                    ,  message_type
                    )
                    VALUES(
                       p_online_report_id
                    ,  p_login_id
                    ,  p_user_id
                    ,  SYSDATE
                    ,  p_user_id
                    ,  SYSDATE
                    ,  p_sequence
                    ,  FND_MESSAGE.GET_STRING('PO', 'PO_WARRANT_NOT_FOUND_CURR')
                    ,  'PO_WARRANT_NOT_FOUND_CURR'
                    ,  'E');
Line: 22368

                INSERT INTO PO_ONLINE_REPORT_TEXT_GT
                (  online_report_id
                ,  last_update_login
                ,  last_updated_by
                ,  last_update_date
                ,  created_by
                ,  creation_date
                ,  sequence
                ,  text_line
                ,  message_name
                ,  message_type
                )
                VALUES(
                   p_online_report_id
                ,  p_login_id
                ,  p_user_id
                ,  SYSDATE
                ,  p_user_id
                ,  SYSDATE
                ,  p_sequence
                ,  FND_MESSAGE.GET_STRING('PO', 'PO_WARRANT_NOT_ENOUGH')
                ,  'PO_WARRANT_NOT_ENOUGH'
                ,  'E');
Line: 22393

                    PO_WF_DEBUG_PKG.insert_debug(itemtype, itemkey,l_log_head ||  'Warrant amount less then document amount');
Line: 22400

                PO_WF_DEBUG_PKG.insert_debug(itemtype, itemkey,l_log_head ||  'Warrant not found');
Line: 22403

            INSERT INTO PO_ONLINE_REPORT_TEXT_GT
            (  online_report_id
            ,  last_update_login
            ,  last_updated_by
            ,  last_update_date
            ,  created_by
            ,  creation_date
            ,  sequence
            ,  text_line
            ,  message_name
            ,  message_type
            )
            VALUES(
               p_online_report_id
            ,  p_login_id
            ,  p_user_id
            ,  SYSDATE
            ,  p_user_id
            ,  SYSDATE
            ,  p_sequence
            ,  FND_MESSAGE.GET_STRING('PO', 'PO_WARRANT_NOT_FOUND')
            ,  'PO_WARRANT_NOT_FOUND'
            ,  'E');
Line: 22468

mod_last_update_date PO_DRAFTS.last_update_date%type;
Line: 22490

  SELECT  cd_generated_flag, concurrent_reqid
  INTO    changedesc_gen_flag, concurrent_request_id
  FROM    PO_DRAFTS
  WHERE   DRAFT_ID = p_draft_id;
Line: 22509

    SELECT cd_generated_date, cd_editbyuser_flag
    INTO   changedesc_gen_date, changedesc_edit_flag
    FROM   po_drafts
    WHERE  draft_id = p_draft_id;
Line: 22518

    mod_last_update_date := PO_CORE_S.get_last_update_date_for_mod(p_draft_id);
Line: 22520

    PO_DEBUG.debug_var(l_log_head,l_progress,'mod_last_update_date', mod_last_update_date);
Line: 22526

    IF( mod_last_update_date  > changedesc_gen_date) THEN
        msg_type :='W';
Line: 22543

      SELECT Count(*)
      INTO   l_isCompletedCount
      FROM   fnd_concurrent_requests
      WHERE  request_id = To_Number(concurrent_request_id)
      AND    phase_code = 'C'
      AND    status_code = 'C';
Line: 22570

        INSERT INTO PO_ONLINE_REPORT_TEXT_GT
        (  online_report_id
        ,  last_update_login
        ,  last_updated_by
        ,  last_update_date
        ,  created_by
        ,  creation_date
        ,  sequence
        ,  text_line
        ,  message_name
        ,  message_type
        )
        VALUES(
           p_online_report_id
        ,  p_login_id
        ,  p_user_id
        ,  SYSDATE
        ,  p_user_id
        ,  SYSDATE
        ,  p_sequence
        ,  l_err_msg_txt
        ,  msg_name
        ,  msg_type);
Line: 22594

    PO_DEBUG.debug_var(l_log_head,l_progress,'p_sequence',   'inserted');
Line: 22640

  INSERT INTO PO_ONLINE_REPORT_TEXT_GT
  (  online_report_id
  ,  last_update_login
  ,  last_updated_by
  ,  last_update_date
  ,  created_by
  ,  creation_date
  ,  sequence
  ,  text_line
  ,  message_name
  ,  message_type
  )
  SELECT
     p_online_report_id
  ,  p_login_id
  ,  p_user_id
  ,  SYSDATE
  ,  p_user_id
  ,  SYSDATE
  ,  p_sequence + ROWNUM
  ,  substr(l_textline,1,240)
  ,  PO_MESSAGE_S.PO_ALL_ENTER_PERCENT
  ,  'E'
  FROM   PO_HEADERS_GT POH
  WHERE  POH.po_header_id = p_header_id
  AND   (POH.clm_min_guar_award_amt_percent > 100
    OR  POH.clm_min_guar_award_amt_percent < 0);
Line: 22670

  INSERT INTO PO_ONLINE_REPORT_TEXT_GT
  (  online_report_id
  ,  last_update_login
  ,  last_updated_by
  ,  last_update_date
  ,  created_by
  ,  creation_date
  ,  sequence
  ,  text_line
  ,  message_name
  ,  message_type
  )
  SELECT
     p_online_report_id
  ,  p_login_id
  ,  p_user_id
  ,  SYSDATE
  ,  p_user_id
  ,  SYSDATE
  ,  p_sequence + ROWNUM
  ,  substr(l_textline,1,240)
  ,  'PO_IDV_MX_CL_AMT_GT_MXPM_CLM'
  ,  'E'
  FROM   PO_HEADERS_GT POH
  WHERE  POH.po_header_id = p_header_id
  AND    POH.amount_limit < POH.clm_max_order_amount;
Line: 22699

  INSERT INTO PO_ONLINE_REPORT_TEXT_GT
  (  online_report_id
  ,  last_update_login
  ,  last_updated_by
  ,  last_update_date
  ,  created_by
  ,  creation_date
  ,  sequence
  ,  text_line
  ,  message_name
  ,  message_type
  )
  SELECT
     p_online_report_id
  ,  p_login_id
  ,  p_user_id
  ,  SYSDATE
  ,  p_user_id
  ,  SYSDATE
  ,  p_sequence + ROWNUM
  ,
   CASE
        WHEN (POH.clm_max_order_amount is not null and POL.clm_max_order_amount is not NULL)
        THEN substr(FND_MESSAGE.GET_STRING('PO', 'PO_IDV_MX_AMT_H_GT_MX_AMT_L'), 1, 240)
        WHEN (POH.clm_max_order_amount is not null and POL.clm_max_order_amount is NULL)
        THEN substr(FND_MESSAGE.GET_STRING('PO', 'PO_IDV_MX_AMT_H_GT_MN_AMT_L'), 1, 240)
        WHEN (POH.clm_max_order_amount is null and POL.clm_max_order_amount is not NULL)
        THEN substr(FND_MESSAGE.GET_STRING('PO', 'PO_IDV_MXPM_H_GT_MX_AMT_L'), 1, 240)
        WHEN (POH.clm_max_order_amount is null and POL.clm_max_order_amount is NULL)
        THEN substr(FND_MESSAGE.GET_STRING('PO', 'PO_IDV_MXPM_H_GT_MN_AMT_L'), 1, 240)
   END,
   CASE
        WHEN (POH.clm_max_order_amount is not null and POL.clm_max_order_amount is not NULL)
        THEN 'PO_IDV_MX_AMT_H_GT_MX_AMT_L'
        WHEN (POH.clm_max_order_amount is not null and POL.clm_max_order_amount is NULL)
        THEN 'PO_IDV_MX_AMT_H_GT_MN_AMT_L'
        WHEN (POH.clm_max_order_amount is null and POL.clm_max_order_amount is not NULL)
        THEN 'PO_IDV_MXPM_H_GT_MX_AMT_L'
        WHEN (POH.clm_max_order_amount is null and POL.clm_max_order_amount is NULL)
        THEN 'PO_IDV_MXPM_H_GT_MN_AMT_L'
   END
  ,  'E'
  FROM   PO_HEADERS_GT POH, PO_LINES_GT POL
  WHERE  POH.po_header_id = p_header_id
  AND    POH.po_header_id = POL.po_header_id
  AND    nvl(POH.clm_max_order_amount, POH.amount_limit) < nvl(POL.clm_max_order_amount, POL.clm_min_order_amount);
Line: 22774

     INSERT INTO PO_ONLINE_REPORT_TEXT_GT
                  (ONLINE_REPORT_ID,
                   LAST_UPDATE_LOGIN,
                   LAST_UPDATED_BY,
                   LAST_UPDATE_DATE,
                   CREATED_BY,
                   CREATION_DATE,
                   LINE_NUM,
                   SHIPMENT_NUM,
                   DISTRIBUTION_NUM,
                   SEQUENCE,
                   TEXT_LINE,
                   MESSAGE_NAME)
       SELECT P_ONLINE_REPORT_ID,
              P_LOGIN_ID,
              P_USER_ID,
              SYSDATE,
              P_USER_ID,
              SYSDATE,
              POL.LINE_NUM,
              PLL.SHIPMENT_NUM,
              POD.DISTRIBUTION_NUM,
              P_SEQUENCE + ROWNUM,
              SUBSTR(g_linemsg||g_delim||POL.line_num_display||g_delim
                   ||g_shipmsg||g_delim||PLL.shipment_num||g_delim||g_distmsg||g_delim||POD.DISTRIBUTION_NUM||g_delim||L_TEXTLINE,1,240),
              'PO_CHARGE_NOT_NULL'
       FROM
          PO_DISTRIBUTIONS_GT POD,
          PO_LINE_LOCATIONS_GT PLL,
          PO_LINES_GT POL
       WHERE  POD.CODE_COMBINATION_ID IS NULL
        AND   POD.PO_HEADER_ID = P_DOCUMENT_ID
        AND   NVL(POD.DISTRIBUTION_TYPE, 'STANDARD') <> 'AGREEMENT'
        AND   POD.LINE_LOCATION_ID = PLL.LINE_LOCATION_ID
        AND   PLL.PO_LINE_ID = POL.PO_LINE_ID;
Line: 22823

        INSERT INTO PO_ONLINE_REPORT_TEXT_GT
                  (ONLINE_REPORT_ID,
                   LAST_UPDATE_LOGIN,
                   LAST_UPDATED_BY,
                   LAST_UPDATE_DATE,
                   CREATED_BY,
                   CREATION_DATE,
                   LINE_NUM,
                   SHIPMENT_NUM,
                   DISTRIBUTION_NUM,
                   SEQUENCE,
                   TEXT_LINE,
                   MESSAGE_NAME)
        SELECT P_ONLINE_REPORT_ID,
              P_LOGIN_ID,
              P_USER_ID,
              SYSDATE,
              P_USER_ID,
              SYSDATE,
              POL.LINE_NUM,
              PLL.SHIPMENT_NUM,
              POD.DISTRIBUTION_NUM,
              P_SEQUENCE + ROWNUM,
              SUBSTR(g_linemsg||g_delim||POL.line_num_display||g_delim
                   ||g_shipmsg||g_delim||PLL.shipment_num||g_delim||g_distmsg||g_delim||POD.DISTRIBUTION_NUM||g_delim||L_TEXTLINE,1,240),
              'PO_ALL_NO_BUDGET_FLEX'
        FROM
          PO_DISTRIBUTIONS_GT POD,
          PO_LINE_LOCATIONS_GT PLL,
          PO_LINES_GT POL
        WHERE  POD.BUDGET_ACCOUNT_ID IS NULL
         AND   POD.PO_HEADER_ID = P_DOCUMENT_ID
         AND   NVL(POD.DISTRIBUTION_TYPE, 'STANDARD') <> 'AGREEMENT'
         AND   Nvl(PREVENT_ENCUMBRANCE_FLAG,'N') = 'N'
         AND   POD.LINE_LOCATION_ID = PLL.LINE_LOCATION_ID
         AND   PLL.PO_LINE_ID = POL.PO_LINE_ID;
Line: 22927

   INSERT INTO PO_ONLINE_REPORT_TEXT_GT
                   (ONLINE_REPORT_ID,
                    LAST_UPDATE_LOGIN,
                    LAST_UPDATED_BY,
                    LAST_UPDATE_DATE,
                    CREATED_BY,
                    CREATION_DATE,
                       LINE_NUM,
                    SHIPMENT_NUM,
                    DISTRIBUTION_NUM,
                    SEQUENCE,
                    TEXT_LINE,
                    MESSAGE_NAME)
       SELECT P_ONLINE_REPORT_ID,
               P_LOGIN_ID,
               P_USER_ID,
               SYSDATE,
               P_USER_ID,
               SYSDATE,
               POL.LINE_NUM,
               PLL.SHIPMENT_NUM,
               0,
               P_SEQUENCE + ROWNUM,
               PO_CORE_S.get_translated_text
                             ('PO_LINE_SHIP_UOM_MISMATCH'
                             ,   'LINE_NUM',  POL.LINE_NUM
                             ,   'SHIP_NUM',  PLL.SHIPMENT_NUM
                              ),
 	      'PO_LINE_SHIP_UOM_MISMATCH'

        FROM
            PO_LINE_LOCATIONS_ALL PLL,
 	    	  PO_LINES_ALL POL
        WHERE  POL.PO_LINE_ID=PLL.PO_LINE_ID
 	     AND NVL(PLL.unit_meas_lookup_code,-1) <> NVL(POL.unit_meas_lookup_code,-1)
          AND   PLL.PO_RELEASE_ID = P_DOCUMENT_ID;
Line: 22966

  INSERT INTO PO_ONLINE_REPORT_TEXT_GT
                   (ONLINE_REPORT_ID,
                    LAST_UPDATE_LOGIN,
                    LAST_UPDATED_BY,
                    LAST_UPDATE_DATE,
                    CREATED_BY,
                    CREATION_DATE,
                    LINE_NUM,
                    SHIPMENT_NUM,
                    DISTRIBUTION_NUM,
                    SEQUENCE,
                    TEXT_LINE,
                    MESSAGE_NAME)
       SELECT P_ONLINE_REPORT_ID,
               P_LOGIN_ID,
               P_USER_ID,
               SYSDATE,
               P_USER_ID,
               SYSDATE,
               POL.LINE_NUM,
               PLL.SHIPMENT_NUM,
               0,
               P_SEQUENCE + ROWNUM,
               PO_CORE_S.get_translated_text
                             ('PO_LINE_SHIP_UOM_MISMATCH'
                             ,   'LINE_NUM',  POL.LINE_NUM
                             ,   'SHIP_NUM',  PLL.SHIPMENT_NUM
                              ),
 	      'PO_LINE_SHIP_UOM_MISMATCH'
        FROM
           PO_LINE_LOCATIONS_ALL PLL,
                  PO_LINES_ALL POL
        WHERE  POL.PO_LINE_ID=PLL.PO_LINE_ID
        AND NVL(PLL.unit_meas_lookup_code,-1)<>NVL(POL.unit_meas_lookup_code,-1)
        -- bug 12597958 : bypassing check for amount based lines.
        AND (PLL.VALUE_BASIS not in ('FIXED PRICE','AMOUNT')  -- Bug 12332819 # Do not consider Advance and Fixed Priced Shipments
              AND (PLL.PAYMENT_TYPE IS  NULL   -- Consider Non Complex PO shipments with value basis <> fixed price
                    OR PLL.PAYMENT_TYPE <>'RATE')) --Bug 12332819 #  Do not consider the Rate type Pay items
        AND POL.PO_HEADER_ID = P_DOCUMENT_ID  ;
Line: 23054

  SELECT 'Y'
  INTO   l_is_approved_clm_document
  FROM   po_headers_gt POH1,
         po_headers_all POH,
         po_doc_style_headers PDSH
  WHERE  POH1.po_header_id = p_document_id
  AND    POH1.po_header_id = POH.po_header_id
  AND    POH.style_id = PDSH.style_id
  AND    Nvl(PDSH.clm_flag,'N') = 'Y'
  AND    (Nvl(POH1.draft_id, -1) <> -1 OR -- Modification
          POH1.approved_date IS NOT NULL); -- ReApproval
Line: 23098

INSERT INTO po_session_gt
  (KEY,num1,char1,char2,char3,char5
  )
SELECT l_key,
  po_distribution_id,
  charge_acc,
  clm_misc_loa,
  NVL(clm_misc_loa,charge_acc) gen_val,
  acrn
FROM
  (SELECT pda.po_distribution_id,
    glcc.concatenated_segments charge_acc,
    pda.clm_misc_loa ,
    pda.acrn
  FROM po_distributions_merge_v pda,
  gl_code_combinations_kfv glcc
  WHERE pda.po_header_id = P_DOCUMENT_ID
  and pda.draft_id = P_DRAFT_ID
  AND pda.code_combination_id = glcc.code_combination_id
  );
Line: 23129

and will insert them into po_online_report_text_gt to display error message.
Logic of the query is as shown below
Data:

 CHARGE_ACC |  LOA   |  ACRN
    A            B       AA
	A                    AA
	A            D       AK
	B                    AB
	C            D       AB
	E                    AA
	F            A       AA

Stage 1 of the query gets data in this format

ACRN  |   CHARGE/LOA |  VALUES
AA          CHARGE_ACC   A,E
AA          LOA          B,A

Stage 2 of the query gets the data in this format

ACRN | ERROR_MESSAGE
AA      CHARGE_ACC A,E and LOA B,A

These two values will be pased to form the message PO_DUPLICATE_ACRN which
will be inserted into the po_online_report_text_gt
*/
--Extracting the names from the
l_loas := PO_CORE_S.get_translated_text('PO_LOA_DISPLAY');
Line: 23160

INSERT INTO PO_ONLINE_REPORT_TEXT_GT
          (ONLINE_REPORT_ID,
           LAST_UPDATE_LOGIN,
           LAST_UPDATED_BY,
           LAST_UPDATE_DATE,
           CREATED_BY,
           CREATION_DATE,
           SEQUENCE,
           TEXT_LINE,
           MESSAGE_NAME)
          SELECT P_ONLINE_REPORT_ID,
                 P_LOGIN_ID,
                 P_USER_ID,
                 SYSDATE,
                 P_USER_ID,
                 SYSDATE,
                 P_SEQUENCE + ROWNUM,
                 PO_CORE_S.get_translated_text
                                     (   'PO_DUPLICATE_ACRN'
                                     ,   'ACRN', acrn
                                     ,   'CHARGE_LOA',ERROR_MESSAGE
                                     ),
                 'PO_DUPLICATE_ACRN'
          from
          (SELECT Acrn,
  error_message
FROM
  (SELECT acrn,
    MAX(ltrim(sys_connect_by_path(gen_vals,' and '),' and ')) error_message
  FROM
    (SELECT acrn acrn ,
      c_l
      || MAX(ltrim(sys_connect_by_path(gen_value,', '),', ')) gen_vals
    FROM
      (SELECT char5 acrn,
        (
        CASE
          WHEN char2 IS NOT NULL
          THEN l_loas
          ELSE l_charge_acc
        END ) c_l,
        CHAR3 Gen_value
      FROM po_session_gt
	  where KEY = l_key
      )
      CONNECT BY NOCYCLE prior acrn=acrn
    AND prior Gen_value           <> Gen_value
    AND prior c_l                  = c_l
    GROUP BY acrn,
      c_l
    HAVING acrn IS NOT NULL
    )
    CONNECT BY NOCYCLE prior acrn=acrn
  AND prior gen_vals            <> gen_vals
  GROUP BY acrn
  )
WHERE
(
instr(error_message,',') <> 0
OR
( instr(error_message,',') = 0
  and instr(error_message,'and') <> 0
))
);
Line: 23261

will be inserted into the po_online_report_text_gt
*/

INSERT
INTO PO_ONLINE_REPORT_TEXT_GT
  (
    ONLINE_REPORT_ID,
    LAST_UPDATE_LOGIN,
    LAST_UPDATED_BY,
    LAST_UPDATE_DATE,
    CREATED_BY,
    CREATION_DATE,
    SEQUENCE,
    TEXT_LINE,
    MESSAGE_NAME
  )
SELECT P_ONLINE_REPORT_ID,
  P_LOGIN_ID,
  P_USER_ID,
  SYSDATE,
  P_USER_ID,
  SYSDATE,
  P_SEQUENCE + ROWNUM,
  PO_CORE_S.get_translated_text ( 'PO_ACRN_CHARGE_ACCOUNT' , 'CHARGE_LOA', c_l , 'ACRNS',ERROR_MESSAGE ),
  'PO_ACRN_CHARGE_ACCOUNT'
FROM -- This part of the query takes the o/p from below query, inserts into gt
  (SELECT c_l
    || ' '
    || gen_val c_l,
    acrns error_message
  FROM
    (SELECT gen_val,
      c_l,
      MAX(ltrim(sys_connect_by_path(acrn,', '),', ')) acrns
    FROM
      (SELECT char3 gen_val,
        (
        CASE -- case statement to identify whether or not it is a loa
          WHEN char2 IS NOT NULL
          THEN l_loas
          ELSE l_charge_acc
        END) c_l,
        char5 acrn
      FROM po_session_gt
      WHERE char5 IS NOT NULL
	  and  KEY = l_key
      )-- This part of the sql selects the gen value and identifies it as loa/ca
      CONNECT BY NOCYCLE prior gen_val=gen_val
    AND prior acrn                   <> acrn
    AND prior c_l                     = c_l
    GROUP BY gen_val,
      c_l
    )-- This part of the sql joins the result with its previous rows and forms
	-- comma seperated values.
  WHERE instr(acrns,',') <> 0
  );
Line: 23372

*       p_online_report_id: Id used to INSERT INTO online_report_text table
*       p_user_id:          User performing the action
*       p_login_id:         Last update login_id
*   IN OUT PARAMETERS
*       p_sequence:          Sequence number of last reported error
* Modifies: Inserts error msgs in online_report_text_gt table, uses
*           global_temp tables for processing
* Effects:  This procedure runs the document submission checks for all documents
* Returns:
*  p_sequence: This parameter contains the current count of number of error
*              messages inserted
-- Updated for bug#15939036
-- Details:
--   Instead of checking the WO invalid state from view WIP_OSP_JOBSVAL_V
--   checking the status from WIP_DISCRETE_JOBS table.Whichever WO is not in
--   status 3,4,6 are treated as invalid WO's.As the validation from view is failing for
--   some flows when WO is created from EAM.Please refer bug for further details.
*/
  PROCEDURE CHECK_CLOSE_WIP_JOB(p_document_id                   IN NUMBER,
                                p_document_type                 IN  VARCHAR2,
                                p_online_report_id              IN NUMBER,
                                p_user_id                        IN NUMBER,
                                p_login_id                        IN NUMBER,
                                p_sequence                        IN OUT NOCOPY NUMBER,
                                x_return_status                        OUT NOCOPY VARCHAR2
                                )  IS
   l_progress NUMBER := 0;
Line: 23412

        INSERT INTO PO_ONLINE_REPORT_TEXT_GT
           (  online_report_id
           ,  last_update_login
           ,  last_updated_by
           ,  last_update_date
           ,  created_by
           ,  creation_date
           ,  line_num
           ,  shipment_num
           ,  distribution_num
           ,  sequence
           ,  text_line
           ,  message_name
           )
           SELECT p_online_report_id,
           p_login_id,
           p_user_id,
           SYSDATE,
           p_user_id,
           SYSDATE,
           prl.line_num,
           0,
           0,
           p_sequence+ ROWNUM,
           l_text_line||
           ' on line '             ||
           prl.line_num,
           'PO_CLOSE_WIP_JOB'
     FROM   po_req_headers_gt prh,
            po_req_lines_gt prl
     WHERE prh.requisition_header_id = prl.requisition_header_id
     AND   nvl(prh.authorization_status,'INCOMPLETE') <> 'APPROVED'
     AND   nvl(prl.cancel_flag,'N') = 'N'
     AND   nvl(prl.closed_code,'OPEN') NOT IN ('FINALLY CLOSED' , 'CLOSED')
     AND   prl.requisition_header_id = p_document_id
     AND   prl.wip_entity_id IS NOT NULL --Bug 14383315
     AND   NOT EXISTS (SELECT 'JOB IS VALID'
	                   FROM   wip_discrete_jobs wdj
                       WHERE  prl.wip_entity_id = wdj.wip_entity_id
					          AND wdj.status_type IN (3,4,6)
                       UNION ALL    --Bug 16767247
                       SELECT 'JOB IS VALID'
                        FROM   wip_repetitive_schedules wdj
                        WHERE  prl.wip_entity_id = wdj.wip_entity_id
                               AND wdj.status_type IN (3,4,6));
Line: 23462

INSERT INTO PO_ONLINE_REPORT_TEXT_GT
   (  online_report_id
   ,  last_update_login
   ,  last_updated_by
   ,  last_update_date
   ,  created_by
   ,  creation_date
   ,  line_num
   ,  shipment_num
   ,  distribution_num
   ,  sequence
   ,  text_line
   ,  message_name
   )

   SELECT p_online_report_id,
           p_login_id,
           p_user_id,
           SYSDATE,
           p_user_id,
           SYSDATE,
           0,
           pll.shipment_num,
           pd.distribution_num,
           p_sequence+ ROWNUM,
           l_text_line||
           ' on distribution '     ||
           pd.distribution_num     ||
           ' of shipment '         ||
           pll.shipment_num,
           'PO_CLOSE_WIP_JOB'
        FROM po_headers_gt ph,
                 po_line_locations_gt pll,
                 po_distributions_gt pd,
                 po_releases_gt pr
        WHERE   1=1
        AND ph.po_header_id = pll.po_header_id
        AND pll.line_location_id = pd.line_location_id
        AND pr.po_release_id (+) = pd.po_release_id
        AND nvl(pll.approved_flag,'N') <> 'Y'
        AND nvl(pll.cancel_flag,'N') <> 'Y'
        AND nvl(pll.closed_code,'OPEN') NOT IN ('FINALLY CLOSED' , 'CLOSED')
        AND  pr.po_release_id = p_document_id
        AND  pd.wip_entity_id IS NOT NULL --Bug 14383315
        AND   NOT EXISTS (SELECT 'JOB IS VALID'
	                      FROM   wip_discrete_jobs wdj
				          WHERE  pd.wip_entity_id = wdj.wip_entity_id
					             AND wdj.status_type IN (3,4,6)
                          UNION ALL  --Bug 16767247
                          SELECT 'JOB IS VALID'
                            FROM   wip_repetitive_schedules wdj
                           WHERE  pd.wip_entity_id = wdj.wip_entity_id
                                  AND wdj.status_type IN (3,4,6));
Line: 23519

   INSERT INTO PO_ONLINE_REPORT_TEXT_GT
   (  online_report_id
   ,  last_update_login
   ,  last_updated_by
   ,  last_update_date
   ,  created_by
   ,  creation_date
   ,  line_num
   ,  shipment_num
   ,  distribution_num
   ,  sequence
   ,  text_line
   ,  message_name
   )

   SELECT p_online_report_id,
           p_login_id,
           p_user_id,
           SYSDATE,
           p_user_id,
           SYSDATE,
           pl.line_num,
           pll.shipment_num,
           pd.distribution_num,
           p_sequence+ ROWNUM,
           l_text_line||
           ' on distribution '     ||
           pd.distribution_num     ||
           ' of shipment '         ||
           pll.shipment_num        ||
           ' of line '             ||
           pl.line_num,
           'PO_CLOSE_WIP_JOB'
        FROM po_headers_gt ph,
                 po_lines_gt pl,
                 po_line_locations_gt pll,
                 po_distributions_gt pd
        WHERE   1=1
        AND ph.po_header_id = pl.po_header_id
        AND pl.po_line_id=pll.po_line_id
        AND ph.type_lookup_code = 'STANDARD'
        AND pll.line_location_id = pd.line_location_id
        AND nvl(pll.approved_flag,'N') <> 'Y'
        AND nvl(pll.cancel_flag,'N') <> 'Y'
        AND nvl(pll.closed_code,'OPEN') NOT IN ('FINALLY CLOSED' , 'CLOSED')
        AND ph.po_header_id = p_document_id
        AND pd.wip_entity_id IS NOT NULL --Bug 14383315
        AND NOT EXISTS (SELECT 'JOB IS VALID'
	                    FROM   wip_discrete_jobs wdj
                        WHERE  pd.wip_entity_id = wdj.wip_entity_id
					           AND wdj.status_type IN (3,4,6)
                       UNION ALL  --Bug 16767247
                       SELECT 'JOB IS VALID'
                        FROM   wip_repetitive_schedules wdj
                        WHERE  pd.wip_entity_id = wdj.wip_entity_id
                               AND wdj.status_type IN (3,4,6));
Line: 23629

   INSERT INTO PO_ONLINE_REPORT_TEXT_GT(
	   ONLINE_REPORT_ID,
	   LAST_UPDATE_LOGIN,
	   LAST_UPDATED_BY,
	   LAST_UPDATE_DATE,
	   CREATED_BY,
	   CREATION_DATE,
	   LINE_NUM,
	   SHIPMENT_NUM,
	   DISTRIBUTION_NUM,
	   SEQUENCE,
	   TEXT_LINE,
	   MESSAGE_NAME
   	)
   SELECT
	   p_online_report_id,
	   p_login_id,
	   p_user_id,
	   SYSDATE,
	   p_user_id,
	   SYSDATE,
	   PRL.line_num,
	   0,
	   PRD.distribution_num,
	   p_sequence + ROWNUM,
	   SUBSTR( Nvl2( PRD.code_combination_id,
   	      fnd_message.Get_string( 'PO','PO_RI_INVALID_CHARGE_ACC_ID' ),
	      fnd_message.Get_string( 'PO','PO_CHARGE_NOT_NULL' )
	   )               ||
	   ' on distribution '    ||
	   PRD.distribution_num   ||
	   ' of line '            ||
	   PRL.line_num, 1, 240
	   ),
	   Nvl2( PRD.code_combination_id, 'PO_RI_INVALID_CHARGE_ACC_ID','PO_CHARGE_NOT_NULL' )
   FROM
	   po_req_distributions_gt PRD,
	   po_req_lines_gt PRL,
	   gl_sets_of_books sob
   WHERE
	   PRD.requisition_line_id = PRL.requisition_line_id
	   AND PRL.requisition_header_id = p_document_id
	   AND sob.set_of_books_id = prd.set_of_books_id
	   AND nvl(PRL.cancel_flag, 'N') <> 'Y'
	   AND( PRD.code_combination_id IS NULL
	        OR Validate_account_wrapper(
	            sob.chart_of_accounts_id,
	            PRD.code_combination_id,
	            SYSDATE
	           ) <> 'Y'
	   );
Line: 23686

   INSERT INTO PO_ONLINE_REPORT_TEXT_GT(
	   ONLINE_REPORT_ID,
	   LAST_UPDATE_LOGIN,
	   LAST_UPDATED_BY,
	   LAST_UPDATE_DATE,
	   CREATED_BY,
	   CREATION_DATE,
	   LINE_NUM,
	   SHIPMENT_NUM,
	   DISTRIBUTION_NUM,
	   SEQUENCE,
	   TEXT_LINE,
	   MESSAGE_NAME
	   )
   SELECT
	   p_online_report_id,
	   p_login_id,
	   p_user_id,
	   SYSDATE,
	   p_user_id,
	   SYSDATE,
	   PRL.line_num,
	   0,
	   PRD.distribution_num,
	   p_sequence + ROWNUM,
	   SUBSTR( Nvl2( prd.budget_account_id,
	   fnd_message.Get_string( 'PO','PO_RI_INVALID_BUDGET_ACC_ID' ),
	   fnd_message.Get_string( 'PO','PO_BUDGET_NOT_NULL' )
	   ) ||
	   ' on distribution '      ||
	   PRD.distribution_num     ||
	   ' of line '              ||
	   PRL.line_num, 1, 240
	   ),
	   Nvl2( prd.budget_account_id, 'PO_RI_INVALID_BUDGET_ACC_ID', 'PO_BUDGET_NOT_NULL' )
   FROM
	   po_req_distributions_gt PRD,
	   po_req_lines_gt PRL,
	   gl_sets_of_books sob
   WHERE
	   PRD.requisition_line_id = PRL.requisition_line_id
	   AND PRL.requisition_header_id = p_document_id
	   AND sob.set_of_books_id = prd.set_of_books_id
	   AND nvl(PRL.cancel_flag, 'N') <> 'Y'
	   AND( prd.budget_account_id IS NULL
	        OR Validate_account_wrapper(
	            sob.chart_of_accounts_id,
	            prd.budget_account_id,
				prd.gl_encumbered_date
	           ) <> 'Y'
	   );
Line: 23743

   INSERT INTO PO_ONLINE_REPORT_TEXT_GT(
	   ONLINE_REPORT_ID,
	   LAST_UPDATE_LOGIN,
	   LAST_UPDATED_BY,
	   LAST_UPDATE_DATE,
	   CREATED_BY,
	   CREATION_DATE,
	   LINE_NUM,
	   SHIPMENT_NUM,
	   DISTRIBUTION_NUM,
	   SEQUENCE,
	   TEXT_LINE,
	   MESSAGE_NAME
	   )
   SELECT
	   p_online_report_id,
	   p_login_id,
	   p_user_id,
	   SYSDATE,
	   p_user_id,
	   SYSDATE,
	   PRL.line_num,
	   0,
	   PRD.distribution_num,
	   p_sequence + ROWNUM,
	   SUBSTR( Nvl2( prd.variance_account_id,
	   fnd_message.Get_string( 'PO','PO_RI_INVALID_VARIANCE_ACC_ID' ),
	   fnd_message.Get_string( 'PO', 'PO_VARIANCE_NOT_NULL' )
	   ) ||
	   ' on distribution '      ||
	   PRD.distribution_num     ||
	   ' of line '              ||
	   PRL.line_num, 1, 240
	   ),
	   Nvl2( prd.variance_account_id, 'PO_RI_INVALID_VARIANCE_ACC_ID', 'PO_VARIANCE_NOT_NULL' )
   FROM
	   po_req_distributions_gt PRD,
	   po_req_lines_gt PRL,
	   gl_sets_of_books sob
   WHERE
	   PRD.requisition_line_id = PRL.requisition_line_id
	   AND PRL.requisition_header_id = p_document_id
	   AND sob.set_of_books_id = prd.set_of_books_id
	   AND nvl(PRL.cancel_flag, 'N') <> 'Y'
	   AND( prd.variance_account_id IS NULL
	        OR Validate_account_wrapper(
	             sob.chart_of_accounts_id,
	             prd.variance_account_id,
	             SYSDATE
	           ) <> 'Y'
	   );
Line: 23799

   INSERT INTO PO_ONLINE_REPORT_TEXT_GT(
	   ONLINE_REPORT_ID,
	   LAST_UPDATE_LOGIN,
	   LAST_UPDATED_BY,
	   LAST_UPDATE_DATE,
	   CREATED_BY,
	   CREATION_DATE,
	   LINE_NUM,
	   SHIPMENT_NUM,
	   DISTRIBUTION_NUM,
	   SEQUENCE,
	   TEXT_LINE,
	   MESSAGE_NAME
	   )
   SELECT
	   p_online_report_id,
	   p_login_id,
	   p_user_id,
	   SYSDATE,
	   p_user_id,
	   SYSDATE,
	   PRL.line_num,
	   0,
	   PRD.distribution_num,
	   p_sequence + ROWNUM,
	   SUBSTR( Nvl2( prd.accrual_account_id,
	   fnd_message.Get_string( 'PO', 'PO_RI_INVALID_ACCRUAL_ACC_ID' ),
	   fnd_message.Get_string( 'PO', 'PO_ACCRUAL_NOT_NULL' )
	   ) ||
	   ' on distribution '      ||
	   PRD.distribution_num     ||
	   ' of line '              ||
	   PRL.line_num, 1, 240
	   ),
	   Nvl2( prd.accrual_account_id, 'PO_RI_INVALID_ACCRUAL_ACC_ID', 'PO_ACCRUAL_NOT_NULL' )
   FROM
	   po_req_distributions_gt PRD,
	   po_req_lines_gt PRL,
	   gl_sets_of_books sob
   WHERE
	   PRD.requisition_line_id = PRL.requisition_line_id
	   AND PRL.requisition_header_id = p_document_id
	   AND sob.set_of_books_id = prd.set_of_books_id
	   AND nvl(PRL.cancel_flag, 'N') <> 'Y'
	   AND( prd.accrual_account_id IS NULL
	        OR Validate_account_wrapper(
	            sob.chart_of_accounts_id,
	            prd.accrual_account_id,
	            SYSDATE
	           ) <> 'Y'
	   );
Line: 23866

   INSERT INTO PO_ONLINE_REPORT_TEXT_GT(
	   ONLINE_REPORT_ID,
	   LAST_UPDATE_LOGIN,
	   LAST_UPDATED_BY,
	   LAST_UPDATE_DATE,
	   CREATED_BY,
	   CREATION_DATE,
	   LINE_NUM,
	   SHIPMENT_NUM,
	   DISTRIBUTION_NUM,
	   SEQUENCE,
	   TEXT_LINE,
	   MESSAGE_NAME
	   )
   SELECT
	   P_ONLINE_REPORT_ID,
	   P_LOGIN_ID,
	   P_USER_ID,
	   SYSDATE,
	   P_USER_ID,
	   SYSDATE,
	   POD.PO_LINE_ID,
	   POLL.shipment_num,
	   POD.DISTRIBUTION_NUM,
	   P_SEQUENCE + ROWNUM,
	   SUBSTR( Nvl2( PoD.code_combination_id,
	   fnd_message.Get_string( 'PO', 'PO_RI_INVALID_CHARGE_ACC_ID' ),
	   fnd_message.Get_string( 'PO', 'PO_CHARGE_NOT_NULL' )
	   )||
	   ' on distribution '     ||
	   POD.DISTRIBUTION_NUM    ||
	   ' of shipment '         ||
	   POLL.shipment_num, 1, 240
	   ),
	   Nvl2( PoD.code_combination_id, 'PO_RI_INVALID_CHARGE_ACC_ID', 'PO_CHARGE_NOT_NULL' )
   FROM
	   PO_DISTRIBUTIONS_GT POD,
	   gl_sets_of_books sob,
	   PO_LINE_LOCATIONS_GT POLL
   WHERE
	   POD.PO_RELEASE_ID = P_DOCUMENT_ID
	   AND POD.line_location_id = POLL.line_location_id
	   AND POD.line_location_id IS NOT NULL
	   AND sob.set_of_books_id = pod.set_of_books_id
	   AND NVL( POLL.APPROVED_FLAG, 'N' ) <> 'Y'
	   AND NVL( POLL.CANCEL_FLAG, 'N' ) <> 'Y'
	   AND NVL( POLL.CLOSED_CODE, 'OPEN' ) <> 'FINALLY CLOSED'
	   AND( POD.CODE_COMBINATION_ID IS NULL
	        OR Validate_account_wrapper(
	             sob.chart_of_accounts_id,
	             POD.code_combination_id,
	             SYSDATE
	           ) <> 'Y'
	   );
Line: 23926

   INSERT INTO PO_ONLINE_REPORT_TEXT_GT(
	   ONLINE_REPORT_ID,
	   LAST_UPDATE_LOGIN,
	   LAST_UPDATED_BY,
	   LAST_UPDATE_DATE,
	   CREATED_BY,
	   CREATION_DATE,
	   LINE_NUM,
	   SHIPMENT_NUM,
	   DISTRIBUTION_NUM,
	   SEQUENCE,
	   TEXT_LINE,
	   MESSAGE_NAME
	   )
   SELECT
	   P_ONLINE_REPORT_ID,
	   P_LOGIN_ID,
	   P_USER_ID,
	   SYSDATE,
	   P_USER_ID,
	   SYSDATE,
	   POD.PO_LINE_ID,
	   POLL.shipment_num,
	   POD.DISTRIBUTION_NUM,
	   P_SEQUENCE + ROWNUM,
	   SUBSTR( Nvl2( PoD.budget_account_id,
	   fnd_message.Get_string( 'PO', 'PO_RI_INVALID_BUDGET_ACC_ID' ),
	   fnd_message.Get_string( 'PO', 'PO_BUDGET_NOT_NULL' )
	   )||
	   ' on distribution '     ||
	   POD.DISTRIBUTION_NUM    ||
	   ' of shipment '         ||
	   POLL.shipment_num, 1, 240
	   ),
	   Nvl2( PoD.budget_account_id, 'PO_RI_INVALID_BUDGET_ACC_ID', 'PO_BUDGET_NOT_NULL' )
   FROM
	   PO_DISTRIBUTIONS_GT POD,
	   gl_sets_of_books sob,
	   PO_LINE_LOCATIONS_GT POLL
   WHERE
	   POD.PO_RELEASE_ID = P_DOCUMENT_ID
	   AND POD.line_location_id = POLL.line_location_id
	   AND POD.line_location_id IS NOT NULL
	   AND sob.set_of_books_id = pod.set_of_books_id
	   AND NVL( POLL.APPROVED_FLAG, 'N' ) <> 'Y'
	   AND NVL( POLL.CANCEL_FLAG, 'N' ) <> 'Y'
	   AND NVL( POLL.CLOSED_CODE, 'OPEN' ) <> 'FINALLY CLOSED'
	   AND( POD.budget_account_id IS NULL
	        OR Validate_account_wrapper(
	             sob.chart_of_accounts_id,
	             POD.budget_account_id,
	             pod.gl_encumbered_date
	           ) <> 'Y'
	   );
Line: 23986

   INSERT INTO PO_ONLINE_REPORT_TEXT_GT(
	   ONLINE_REPORT_ID,
	   LAST_UPDATE_LOGIN,
	   LAST_UPDATED_BY,
	   LAST_UPDATE_DATE,
	   CREATED_BY,
	   CREATION_DATE,
	   LINE_NUM,
	   SHIPMENT_NUM,
	   DISTRIBUTION_NUM,
	   SEQUENCE,
	   TEXT_LINE,
	   MESSAGE_NAME
	   )
   SELECT
	   P_ONLINE_REPORT_ID,
	   P_LOGIN_ID,
	   P_USER_ID,
	   SYSDATE,
	   P_USER_ID,
	   SYSDATE,
	   POD.PO_LINE_ID,
	   POLL.shipment_num,
	   POD.DISTRIBUTION_NUM,
	   P_SEQUENCE + ROWNUM,
	   SUBSTR( Nvl2( PoD.accrual_account_id,
	   fnd_message.Get_string( 'PO', 'PO_RI_INVALID_ACCRUAL_ACC_ID' ),
	   fnd_message.Get_string( 'PO', 'PO_ACCRUAL_NOT_NULL' )
	   )||
	   ' on distribution '      ||
	   POD.DISTRIBUTION_NUM     ||
	   ' of shipment '          ||
	   POLL.shipment_num, 1, 240
	   ),
	   Nvl2( PoD.accrual_account_id, 'PO_RI_INVALID_ACCRUAL_ACC_ID', 'PO_ACCRUAL_NOT_NULL' )
   FROM
	   PO_DISTRIBUTIONS_GT POD,
	   gl_sets_of_books sob,
	   PO_LINE_LOCATIONS_GT POLL
   WHERE
	   POD.PO_RELEASE_ID = P_DOCUMENT_ID
	   AND POD.line_location_id = POLL.line_location_id
	   AND POD.line_location_id IS NOT NULL
	   AND sob.set_of_books_id = pod.set_of_books_id
	   AND POLL.APPROVED_DATE IS NULL
	   AND NVL( POLL.CANCEL_FLAG, 'N' ) <> 'Y'
	   AND NVL( POLL.CLOSED_CODE, 'OPEN' ) <> 'FINALLY CLOSED'
	   AND( POD.accrual_account_id IS NULL
	        OR Validate_account_wrapper(
	             sob.chart_of_accounts_id,
	             POD.accrual_account_id,
	             SYSDATE
	           ) <> 'Y'
	   );
Line: 24044

   INSERT 	INTO PO_ONLINE_REPORT_TEXT_GT(
	   ONLINE_REPORT_ID,
	   LAST_UPDATE_LOGIN,
	   LAST_UPDATED_BY,
	   LAST_UPDATE_DATE,
	   CREATED_BY,
	   CREATION_DATE,
	   LINE_NUM,
	   SHIPMENT_NUM,
	   DISTRIBUTION_NUM,
	   SEQUENCE,
	   TEXT_LINE,
	   MESSAGE_NAME
	   )
   SELECT
	   P_ONLINE_REPORT_ID,
	   P_LOGIN_ID,
	   P_USER_ID,
	   SYSDATE,
	   P_USER_ID,
	   SYSDATE,
	   POD.PO_LINE_ID,
	   POLL.shipment_num,
	   POD.DISTRIBUTION_NUM,
	   P_SEQUENCE + ROWNUM,
	   SUBSTR( Nvl2( PoD.variance_account_id,
	   fnd_message.Get_string( 'PO', 'PO_RI_INVALID_VARIANCE_ACC_ID' ),
	   fnd_message.Get_string( 'PO', 'PO_VARIANCE_NOT_NULL' )
	   )||
	   ' on distribution '       ||
	   POD.DISTRIBUTION_NUM      ||
	   ' of shipment '           ||
	   POLL.shipment_num, 1, 240
	   ),
	   Nvl2( PoD.variance_account_id, 'PO_RI_INVALID_VARIANCE_ACC_ID', 'PO_VARIANCE_NOT_NULL' )
   FROM
	   PO_DISTRIBUTIONS_GT POD,
	   gl_sets_of_books sob,
	   PO_LINE_LOCATIONS_GT POLL
   WHERE
	   POD.PO_RELEASE_ID = P_DOCUMENT_ID
	   AND POD.line_location_id = POLL.line_location_id
	   AND POD.line_location_id IS NOT NULL
	   AND sob.set_of_books_id = pod.set_of_books_id
	   AND POLL.APPROVED_DATE IS NULL
	   AND NVL( POLL.CANCEL_FLAG, 'N' ) <> 'Y'
	   AND NVL( POLL.CLOSED_CODE, 'OPEN' ) <> 'FINALLY CLOSED'
	   AND( POD.variance_account_id IS NULL
	        OR Validate_account_wrapper(
	             sob.chart_of_accounts_id,
	             POD.variance_account_id,
	             SYSDATE
	           ) <> 'Y'
	   );
Line: 24111

   INSERT 	INTO PO_ONLINE_REPORT_TEXT_GT(
	   ONLINE_REPORT_ID,
	   LAST_UPDATE_LOGIN,
	   LAST_UPDATED_BY,
	   LAST_UPDATE_DATE,
	   CREATED_BY,
	   CREATION_DATE,
	   LINE_NUM,
	   SHIPMENT_NUM,
	   DISTRIBUTION_NUM,
	   SEQUENCE,
	   TEXT_LINE,
	   MESSAGE_NAME
	   )
   SELECT
	   P_ONLINE_REPORT_ID,
	   P_LOGIN_ID,
	   P_USER_ID,
	   SYSDATE,
	   P_USER_ID,
	   SYSDATE,
	   POL.line_num,
	   POLL.shipment_num,
	   POD.DISTRIBUTION_NUM,
	   P_SEQUENCE + ROWNUM,
	   SUBSTR( Nvl2( PoD.code_combination_id,
	   fnd_message.Get_string( 'PO', 'PO_RI_INVALID_CHARGE_ACC_ID' ),
	   fnd_message.Get_string( 'PO', 'PO_CHARGE_NOT_NULL' )
	   )||
	   ' on distribution '     ||
	   POD.DISTRIBUTION_NUM    ||
	   ' of shipment '         ||
	   POLL.shipment_num       ||
	   ' of line '             ||
	   POL.line_num, 1, 240
	   ),
	   Nvl2( PoD.code_combination_id, 'PO_RI_INVALID_CHARGE_ACC_ID', 'PO_CHARGE_NOT_NULL' )
   FROM
	   PO_DISTRIBUTIONS_GT POD,
	   gl_sets_of_books sob,
	   PO_LINE_LOCATIONS_GT POLL,
	   PO_LINES_GT POL
   WHERE
	   POD.PO_HEADER_ID = P_DOCUMENT_ID
	   AND POD.line_location_id = POLL.line_location_id
	   AND POLL.po_line_id = POL.po_line_id
	   AND sob.set_of_books_id = pod.set_of_books_id
	   AND NVL( POLL.APPROVED_FLAG, 'N' ) <> 'Y'
	   AND NVL( POLL.CANCEL_FLAG, 'N' ) <> 'Y'
	   AND NVL( POLL.CLOSED_CODE, 'OPEN' ) <> 'FINALLY CLOSED'
	   AND( POD.CODE_COMBINATION_ID IS NULL
	        OR Validate_account_wrapper(
	            sob.chart_of_accounts_id,
	            POD.code_combination_id,
	            SYSDATE
	           ) <> 'Y'
	   );
Line: 24174

   INSERT	INTO PO_ONLINE_REPORT_TEXT_GT(
	   ONLINE_REPORT_ID,
	   LAST_UPDATE_LOGIN,
	   LAST_UPDATED_BY,
	   LAST_UPDATE_DATE,
	   CREATED_BY,
	   CREATION_DATE,
	   LINE_NUM,
	   SHIPMENT_NUM,
	   DISTRIBUTION_NUM,
	   SEQUENCE,
	   TEXT_LINE,
	   MESSAGE_NAME
	   )
   SELECT
	   P_ONLINE_REPORT_ID,
	   P_LOGIN_ID,
	   P_USER_ID,
	   SYSDATE,
	   P_USER_ID,
	   SYSDATE,
	   POL.line_num,
	   POLL.shipment_num,
	   POD.DISTRIBUTION_NUM,
	   P_SEQUENCE + ROWNUM,
	   SUBSTR( Nvl2( PoD.budget_account_id,
	   fnd_message.Get_string( 'PO','PO_RI_INVALID_BUDGET_ACC_ID' ),
	   fnd_message.Get_string( 'PO', 'PO_BUDGET_NOT_NULL' )
	   )||
	   ' on distribution '     ||
	   POD.DISTRIBUTION_NUM    ||
	   ' of shipment '         ||
	   POLL.shipment_num       ||
	   ' of line '             ||
	   POL.line_num, 1, 240
	   ),
	   Nvl2( PoD.budget_account_id, 'PO_RI_INVALID_BUDGET_ACC_ID', 'PO_BUDGET_NOT_NULL' )
   FROM
	   PO_DISTRIBUTIONS_GT POD,
	   gl_sets_of_books sob,
	   PO_LINE_LOCATIONS_GT POLL,
	   PO_LINES_GT POL
   WHERE
	   POD.PO_HEADER_ID = P_DOCUMENT_ID
	   AND POD.po_release_id IS NULL
	   AND POD.line_location_id = POLL.line_location_id(+)
	   AND POLL.po_line_id = POL.po_line_id(+)
	   AND sob.set_of_books_id = pod.set_of_books_id
	   AND NVL( POLL.APPROVED_FLAG, 'N' ) <> 'Y'
	   AND NVL( POLL.CANCEL_FLAG, 'N' ) <> 'Y'
	   AND NVL( POLL.CLOSED_CODE, 'OPEN' ) <> 'FINALLY CLOSED'
            ---
	   AND POD.distribution_type = 'STANDARD'
	   ---

	   AND( POD.budget_account_id IS NULL
	        OR Validate_account_wrapper(
	            sob.chart_of_accounts_id,
	            POD.budget_account_id,
	            pod.gl_encumbered_date
	           ) <> 'Y'
	   );
Line: 24241

   INSERT	INTO PO_ONLINE_REPORT_TEXT_GT(
	   ONLINE_REPORT_ID,
	   LAST_UPDATE_LOGIN,
	   LAST_UPDATED_BY,
	   LAST_UPDATE_DATE,
	   CREATED_BY,
	   CREATION_DATE,
	   LINE_NUM,
	   SHIPMENT_NUM,
	   DISTRIBUTION_NUM,
	   SEQUENCE,
	   TEXT_LINE,
	   MESSAGE_NAME
	   )
   SELECT
	   P_ONLINE_REPORT_ID,
	   P_LOGIN_ID,
	   P_USER_ID,
	   SYSDATE,
	   P_USER_ID,
	   SYSDATE,
	   POL.line_num,
	   POLL.shipment_num,
	   POD.DISTRIBUTION_NUM,
	   P_SEQUENCE + ROWNUM,
	   SUBSTR( Nvl2( PoD.accrual_account_id,
	   fnd_message.Get_string( 'PO','PO_RI_INVALID_ACCRUAL_ACC_ID' ),
	   fnd_message.Get_string( 'PO','PO_ACCRUAL_NOT_NULL' )
	   )||
	   ' on distribution '      ||
	   POD.DISTRIBUTION_NUM     ||
	   ' of shipment '          ||
	   POLL.shipment_num        ||
	   ' of line '              ||
	   POL.line_num, 1, 240
	   ),
	   Nvl2( PoD.accrual_account_id, 'PO_RI_INVALID_ACCRUAL_ACC_ID', 'PO_ACCRUAL_NOT_NULL' )
   FROM
	   PO_DISTRIBUTIONS_GT POD,
	   gl_sets_of_books sob,
	   PO_LINE_LOCATIONS_GT POLL,
	   PO_LINES_GT POL
   WHERE
	   POD.PO_HEADER_ID = P_DOCUMENT_ID
	   AND POD.line_location_id = POLL.line_location_id
	   AND POLL.po_line_id = POL.po_line_id
	   AND sob.set_of_books_id = pod.set_of_books_id
	   AND POLL.APPROVED_DATE IS NULL
	   AND NVL( POLL.CANCEL_FLAG, 'N' ) <> 'Y'
	   AND NVL( POLL.CLOSED_CODE, 'OPEN' ) <> 'FINALLY CLOSED'
	   AND( POD.accrual_account_id IS NULL
	        OR Validate_account_wrapper(
	             sob.chart_of_accounts_id,
	             POD.accrual_account_id,
	             SYSDATE
	           ) <> 'Y'
	   );
Line: 24303

   INSERT	INTO PO_ONLINE_REPORT_TEXT_GT(
	   ONLINE_REPORT_ID,
	   LAST_UPDATE_LOGIN,
	   LAST_UPDATED_BY,
	   LAST_UPDATE_DATE,
	   CREATED_BY,
	   CREATION_DATE,
	   LINE_NUM,
	   SHIPMENT_NUM,
	   DISTRIBUTION_NUM,
	   SEQUENCE,
	   TEXT_LINE,
	   MESSAGE_NAME
	   )
   SELECT
	   P_ONLINE_REPORT_ID,
	   P_LOGIN_ID,
	   P_USER_ID,
	   SYSDATE,
	   P_USER_ID,
	   SYSDATE,
	   POL.line_num,
	   POLL.shipment_num,
	   POD.DISTRIBUTION_NUM,
	   P_SEQUENCE + ROWNUM,
	   SUBSTR( Nvl2( PoD.variance_account_id,
	   fnd_message.Get_string( 'PO', 'PO_RI_INVALID_VARIANCE_ACC_ID' ),
	   fnd_message.Get_string( 'PO', 'PO_VARIANCE_NOT_NULL' )
	   )||
	   ' on distribution '       ||
	   POD.DISTRIBUTION_NUM      ||
	   ' of shipment '           ||
	   POLL.shipment_num         ||
	   ' of line '               ||
	   POL.line_num, 1, 240
	   ),
	   Nvl2( PoD.variance_account_id, 'PO_RI_INVALID_VARIANCE_ACC_ID', 'PO_VARIANCE_NOT_NULL' )
   FROM
	   PO_DISTRIBUTIONS_GT POD,
	   gl_sets_of_books sob,
	   PO_LINE_LOCATIONS_GT POLL,
	   PO_LINES_GT POL
   WHERE
	   POD.PO_HEADER_ID = P_DOCUMENT_ID
	   AND POD.line_location_id = POLL.line_location_id
	   AND POLL.po_line_id = POL.po_line_id
	   AND sob.set_of_books_id = pod.set_of_books_id
	   AND POLL.APPROVED_DATE IS NULL
	   AND NVL( POLL.CANCEL_FLAG, 'N' ) <> 'Y'
	   AND NVL( POLL.CLOSED_CODE, 'OPEN' ) <> 'FINALLY CLOSED'
	   AND( POD.variance_account_id IS NULL
	        OR Validate_account_wrapper(
	             sob.chart_of_accounts_id,
	             POD.variance_account_id,
	             SYSDATE
	           ) <> 'Y'
	   );
Line: 24504

*       p_online_report_id: Id used to INSERT INTO online_report_text table
*       p_user_id:          User performing the action
*       p_login_id:         Last update login_id
*   IN OUT PARAMETERS
*       p_sequence:          Sequence number of last reported error
* Modifies: Inserts error msgs in online_report_text_gt table, uses
*           global_temp tables for processing
* Effects: This procedure runs the document submission checks for CLM Awards.
*           Check if delivery event is defined and delivery period is not defined.
*
* Returns:
*  p_sequence: This parameter contains the current count of number of error
*              messages inserted
*/
PROCEDURE DELIVERY_EVENT_CHECKS(p_document_id IN NUMBER,
                       p_online_report_id IN NUMBER,
                       p_user_id IN NUMBER,
                       p_login_id IN NUMBER,
                       p_sequence IN OUT NOCOPY NUMBER,
                       x_return_status OUT NOCOPY VARCHAR2) IS

l_api_name  CONSTANT varchar2(40) := 'DELIVERY_EVENT_CHECKS';
Line: 24543

    INSERT INTO po_online_report_text_gt
                (online_report_id,
                 last_update_login,
                 last_updated_by,
                 last_update_date,
                 created_by,
                 creation_date,
                 line_num,
                 shipment_num,
                 distribution_num,
                 sequence,
                 text_line,
                 message_name,
                 message_type)
    SELECT p_online_report_id,
           p_login_id,
           p_user_id,
           SYSDATE,
           p_user_id,
           SYSDATE,
           POL.line_num,
           PLL.shipment_num,
           0,
           p_sequence + ROWNUM,
           Substr (g_linemsg
                   || g_delim
                   || Nvl(POL.line_num_display, POL.line_num)
                   || g_delim
                   || g_shipmsg
                   || g_delim
                   || PLL.shipment_num
                   || g_delim
                   || l_textline, 1, 240),
           'CLM_NO_DELIVERY_PERIOD',
           'E'
    FROM   po_lines_gt POL,
           po_headers_gt POH,
           po_line_locations_gt PLL
    WHERE  POH.po_header_id = p_document_id
           AND POL.po_header_id = POH.po_header_id
           AND POL.po_line_id = PLL.po_line_id
           AND PLL.po_header_id = POH.po_header_id
           AND POL.clm_delivery_event_code IS NOT NULL
           AND ( PLL.clm_delivery_period IS NULL
                  OR PLL.clm_delivery_period_uom IS NULL )
           AND NVL(PLL.payment_type,'NULL') NOT IN ('DELIVERY','ADVANCE');
Line: 24625

*       p_online_report_id: Id used to INSERT INTO online_report_text table
*       p_user_id:          User performing the action
*       p_login_id:         Last update login_id
*   IN OUT PARAMETERS
*       p_sequence:          Sequence number of last reported error
* Modifies: Inserts error msgs in online_report_text_gt table, uses
*           global_temp tables for processing
* Effects: This procedure runs the document submission checks for CLM Awards.
*   Check 1 : Payment instruction Sequence is not specfied in case payment isntruction code is
*   KO Specified and FV is not enabled in case of BY Fiscal year and By cancellation date
*   Check 2 : Payment instruction is specified as "SINGLE_FUNDING", and there exists multiple
*   ACRN'son distributions against same line.
*   Check 3 : Warning if Payment isntruction sequence is blank
*   Check 4 : For mod doc , check whether at any level instruction was changed to manula type (CO Specified,
    or By Fiscal year and By Cancellation Date where FV is not enabled)
* Returns:
*  p_sequence: This parameter contains the current count of number of error
*              messages inserted
*/
PROCEDURE payment_instruction_checks(p_document_id IN NUMBER,
                       p_draft_type IN VARCHAR2,
                       p_online_report_id IN NUMBER,
                       p_user_id IN NUMBER,
                       p_login_id IN NUMBER,
                       p_sequence IN OUT NOCOPY NUMBER,
                       x_return_status OUT NOCOPY VARCHAR2) IS

l_api_name  CONSTANT varchar2(40) := '';
Line: 24670

    SELECT org_id
    INTO   l_org_id
    FROM po_headers_gt
    WHERE po_header_id = p_document_id;
Line: 24683

    INSERT INTO po_online_report_text_gt(
       online_report_id,
       last_update_login,
       last_updated_by,
       last_update_date,
       created_by,
       creation_date,
       line_num,
       shipment_num,
       distribution_num,
       sequence,
       text_line,
       message_name,
       message_type
    )
    SELECT p_online_report_id,
           p_login_id,
           p_user_id,
           sysdate,
           p_user_id,
           sysdate,
           POL.line_num,
           POLL.shipment_num,
           POD.distribution_num,
           p_sequence + ROWNUM,
           SUBSTR (g_linemsg || g_delim ||  Nvl(POL.line_num_display, POL.line_num) ||g_delim ||
                   g_shipmsg || g_delim || POLL.shipment_num ||g_delim ||
                   g_distmsg || g_delim || POD.distribution_num ||g_delim || l_textline,1,240),
           'PO_PAY_INSTR_SEQ_NOT_SPECIFIED',
           'E'
    FROM   po_headers_gt POH,
           po_lines_gt POL,
           po_line_locations_gt POLL,
           po_distributions_gt POD
    WHERE  POH.po_header_id = p_document_id
    AND    POL.po_header_id = POH.po_header_id
    AND    POLL.po_header_id = POH.po_header_id
    AND    POLL.po_line_id  = POL.po_line_id
    AND    POD.po_header_id = POH.po_header_id
    AND    POD.po_line_id = POL.po_line_id
    AND    POD.line_location_id = POLL.line_location_id
    AND    POD.clm_payment_sequence_num is NULL
    AND    ( POH.clm_payment_instr_code = 'KO_SPECIFIED'
             OR (POL.clm_payment_instr_code = 'KO_SPECIFIED'
                 AND  POH.clm_payment_instr_code IS NULL)
             OR ( (POH.clm_payment_instr_code = 'BY_CANCELLATION_DATE'
                   OR ( POL.clm_payment_instr_code = 'BY_CANCELLATION_DATE'
                       AND POH.clm_payment_instr_code IS NULL))
                   AND fv_enabled_flag ='N')
             OR ( (POH.clm_payment_instr_code = 'BY_FISCAL_YR'
                   OR ( POL.clm_payment_instr_code = 'BY_FISCAL_YR'
                        AND POH.clm_payment_instr_code IS NULL))
                   AND fv_enabled_flag ='N') );
Line: 24745

    INSERT INTO po_online_report_text_gt(
       online_report_id,
       last_update_login,
       last_updated_by,
       last_update_date,
       created_by,
       creation_date,
       line_num,
       shipment_num,
       distribution_num,
       sequence,
       text_line,
       message_name,
       message_type
    )
    SELECT p_online_report_id,
           p_login_id,
           p_user_id,
           sysdate,
           p_user_id,
           sysdate,
           POL.line_num,
           0,
           0,
           p_sequence + ROWNUM,
           SUBSTR (g_linemsg || g_delim ||  Nvl(POL.line_num_display, POL.line_num) ||g_delim || l_textline,1,240),
           'PO_PAYMENT_INSTR_SINGLE_FUND',
           'E'
    FROM   po_lines_gt POL
    WHERE  POL.po_header_id = p_document_id
    AND    POL.clm_payment_instr_code = 'SINGLE_FUNDING'
    AND    EXISTS ( SELECT 1
                         FROM po_distributions_gt POD, po_distributions_gt POD2
                         WHERE POD2.po_header_id = POL.po_header_id
                               AND POD2.po_line_id = POL.po_line_id
                               AND POD2.po_header_id = POD.po_header_id
                               AND POD2.po_line_id = POD.po_line_id
                               AND POD2.po_distribution_id <> POD.po_distribution_id
                               AND POD2.acrn <> POD.acrn);
Line: 24790

    INSERT INTO po_online_report_text_gt(
       online_report_id,
       last_update_login,
       last_updated_by,
       last_update_date,
       created_by,
       creation_date,
       line_num,
       shipment_num,
       distribution_num,
       sequence,
       text_line,
       message_name,
       message_type
    )
    SELECT p_online_report_id,
           p_login_id,
           p_user_id,
           sysdate,
           p_user_id,
           sysdate,
           POL.line_num,
           0,
           0,
           p_sequence + ROWNUM,
           SUBSTR (g_linemsg || g_delim ||  Nvl(POL.line_num_display, POL.line_num) || g_delim || l_textline,1,240),
           'PO_PAYMENT_INSTR_BLANK',
           'W'
    FROM   po_lines_gt POL,
           po_headers_gt POH
    WHERE  POH.po_header_id = p_document_id
    AND    POL.po_header_id = POH.po_header_id
    AND    Nvl(POL.clm_info_flag,'N')= 'N'
    AND    NVl(POL.cost_constraint,'Priced') NOT IN ('NSP', 'NC')
    AND    (POL.clm_payment_instr_code is NULL
            AND POH.clm_payment_instr_code is NULL )
    AND EXISTS ( SELECT 'At least one distribution exists'
                 FROM po_distributions_gt pd
                 WHERE pd.po_line_id = POL.po_line_id
                       AND pd.po_header_id = POL.po_header_id);
Line: 24839

    INSERT INTO po_online_report_text_gt(
       online_report_id,
       last_update_login,
       last_updated_by,
       last_update_date,
       created_by,
       creation_date,
       line_num,
       shipment_num,
       distribution_num,
       sequence,
       text_line,
       message_name,
       message_type
    )
    SELECT p_online_report_id,
           p_login_id,
           p_user_id,
           sysdate,
           p_user_id,
           sysdate,
           0,
           0,
           0,
           p_sequence + ROWNUM,
           SUBSTR ( l_textline ||g_delim||plc.displayed_field||'.',1,240),
           'PO_PAY_INSTR_CHANGED_TO_MANUAL',
           'W'
     FROM  po_headers_gt POH,
           po_headers_all POH1,
           po_lookup_codes plc
    WHERE  POH.po_header_id = p_document_id
           AND POH1.po_header_id = POH.po_header_id
           AND NVL(POH.clm_payment_instr_code, 'null') <> NVL(POH1.clm_payment_instr_code, 'null')
           AND ( NVL(POH.clm_payment_instr_code, 'null') = 'KO_SPECIFIED'
                 OR ( NVL(POH.clm_payment_instr_code, 'null') IN ('BY_CANCELLATION_DATE', 'BY_FISCAL_YR')
                      AND fv_enabled_flag ='N') )
          AND plc.lookup_type ='CLM_PAYMENT_INST'
          AND plc.lookup_code = POH.clm_payment_instr_code;
Line: 24883

    INSERT INTO po_online_report_text_gt(
       online_report_id,
       last_update_login,
       last_updated_by,
       last_update_date,
       created_by,
       creation_date,
       line_num,
       shipment_num,
       distribution_num,
       sequence,
       text_line,
       message_name,
       message_type
    )
    SELECT p_online_report_id,
           p_login_id,
           p_user_id,
           sysdate,
           p_user_id,
           sysdate,
           POL.line_num,
           0,
           0,
           p_sequence + ROWNUM,
           SUBSTR ( g_linemsg || g_delim ||  Nvl(POL.line_num_display, POL.line_num) || g_delim ||
                    l_textline ||g_delim||plc.displayed_field||'.',1,240),
           'PO_PAY_INSTR_CHANGED_TO_MANUAL',
           'W'
    FROM   po_lines_gt POL,
           po_lines_all POL1,
           po_lookup_codes plc
    WHERE  POL.po_header_id = p_document_id
           AND POL1.po_header_id = POL.po_header_id
           AND POL1.po_line_id = POL.po_line_id
           AND NVL(POL.clm_payment_instr_code, 'null') <> NVL(POL1.clm_payment_instr_code, 'null')
           AND ( NVL(POL.clm_payment_instr_code, 'null') = 'KO_SPECIFIED'
                 OR ( NVL(POL.clm_payment_instr_code, 'null') IN ('BY_CANCELLATION_DATE', 'BY_FISCAL_YR')
                      AND fv_enabled_flag ='N') )
          AND plc.lookup_type ='CLM_PAYMENT_INST'
          AND plc.lookup_code = POL.clm_payment_instr_code;
Line: 24959

*       p_online_report_id: Id used to INSERT INTO online_report_text table
*       p_user_id:          User performing the action
*       p_login_id:         Last update login_id
*   IN OUT PARAMETERS
*       p_sequence:          Sequence number of last reported error
* Modifies: Inserts error msgs in online_report_text_gt table, uses
*           global_temp tables for processing
* Effects: This procedure runs the document submission checks for CLM Awards.
*          Validate POP for Severable Line Type.
*
* Returns:
*  p_sequence: This parameter contains the current count of number of error
*              messages inserted
*/

PROCEDURE VALIDATE_POP_FOR_SEVERABLE(p_document_id IN NUMBER,
                       p_online_report_id IN NUMBER,
                       p_user_id IN NUMBER,
                       p_login_id IN NUMBER,
                       p_sequence IN OUT NOCOPY NUMBER,
                       x_return_status OUT NOCOPY VARCHAR2)
IS

l_api_name  CONSTANT varchar2(40) := 'VALIDATE_POP_FOR_SEVERABLE';
Line: 25004

    INSERT INTO po_online_report_text_gt
                (online_report_id,
                 last_update_login,
                 last_updated_by,
                 last_update_date,
                 created_by,
                 creation_date,
                 line_num,
                 shipment_num,
                 distribution_num,
                 sequence,
                 text_line,
                 message_name,
                 message_type)
    SELECT p_online_report_id,
           p_login_id,
           p_user_id,
           SYSDATE,
           p_user_id,
           SYSDATE,
           POL.line_num,
           0,
           0,
           p_sequence + ROWNUM,
           Substr (g_linemsg
                   || g_delim
                   || Nvl(POL.line_num_display,POL.line_num)
                   ||g_delim
                   || l_textline, 1, 240),
           'CLM_POP_BEYOND_12',
           'E'
    FROM   po_lines_gt pol,
           po_line_types plt,
           po_headers_gt pha
    WHERE  pha.po_header_id = p_document_id
           AND pol.po_header_id = pha.po_header_id
           AND pol.line_type_id = plt. line_type_id
           AND Nvl(plt.clm_severable_flag, 'N') = 'Y'
           AND pol.clm_pop_exception_reason IS NULL
           AND pol.clm_delivery_event_code IS NULL
           AND 12 < (SELECT Months_between (Max(clm_period_perf_end_date),
                                            Min(clm_period_perf_start_date))
                     FROM   po_line_locations_gt poll
                     WHERE  poll.po_line_id = pol.po_line_id
                            AND poll.po_header_id = pol.po_header_id);
Line: 25065

    INSERT INTO po_online_report_text_gt
                (online_report_id,
                 last_update_login,
                 last_updated_by,
                 last_update_date,
                 created_by,
                 creation_date,
                 line_num,
                 shipment_num,
                 distribution_num,
                 sequence,
                 text_line,
                 message_name,
                 message_type)
    SELECT p_online_report_id,
           p_login_id,
           p_user_id,
           SYSDATE,
           p_user_id,
           SYSDATE,
           line_num,
           shipment_num,
           distribution_num,
           p_sequence + ROWNUM,
           Substr(g_linemsg
                  ||g_delim
                  ||line_num
                  ||g_delim
                  ||g_shipmsg
                  ||g_delim
                  ||shipment_num
                  ||g_delim
                  ||g_distmsg
                  ||g_delim
                  ||distribution_num
                  ||g_delim
                  ||l_textline, 1, 240),
           'CLM_POP_BEYOND_FISCAL_END',
           'E'
    FROM   (SELECT lines.line_num,
                   pll.shipment_num,
                   pda.distribution_num,
                   po_core_s3.Get_fiscal_year(
                    (SELECT Min(pll.clm_period_perf_start_date)
                       FROM   po_line_locations_gt poll
                      WHERE  poll.po_line_id = pll.po_line_id
                        AND poll.po_header_id = pll.po_header_id),
                     pda.set_of_books_id) Min_start_date_fiscal_year,
                   po_core_s3.Get_fiscal_year(pll.clm_period_perf_end_date,
                                              pda.set_of_books_id) end_date_fiscal_year
            FROM   po_distributions_gt pda,
                   po_line_locations_gt pll,
                   (SELECT pol.po_line_id,
                           Nvl(POL.line_num_display,POL.line_num) line_num
                    FROM   po_headers_gt pha,
                           po_lines_gt pol,
                           po_line_types plt
                    WHERE  pha.po_header_id = p_document_id
                           AND pol.po_header_id = pha.po_header_id
                           AND pol.line_type_id = plt. line_type_id
                           AND Nvl(plt.clm_severable_flag, 'N') = 'Y'
                           AND pol.clm_pop_exception_reason IS NULL
                           AND pol.clm_delivery_event_code IS NULL
                           AND 12 >= (SELECT Months_between (
                                              Max(clm_period_perf_end_date),
                                              Min(clm_period_perf_start_date))
                                      FROM   po_line_locations_gt poll
                                      WHERE  poll.po_line_id = pol.po_line_id
                                             AND poll.po_header_id = pol.po_header_id))
                   lines
            WHERE  pda.po_line_id = lines.po_line_id
                   AND pll.po_line_id = lines.po_line_id
                   AND pda.line_location_id = pll.line_location_id
                   AND pda.po_line_id = pll.po_line_id
                   AND pda.po_header_id = pll.po_header_id
                   AND po_core_s3.Is_non_annual_fund(pda.code_combination_id, pda.set_of_books_id) = 'Y'
                   AND pda.code_combination_id IS NOT NULL)
    WHERE  min_start_date_fiscal_year <> end_date_fiscal_year ;
Line: 25152

    INSERT INTO po_online_report_text_gt
                (online_report_id,
                 last_update_login,
                 last_updated_by,
                 last_update_date,
                 created_by,
                 creation_date,
                 line_num,
                 shipment_num,
                 distribution_num,
                 sequence,
                 text_line,
                 message_name,
                 message_type)
    SELECT p_online_report_id,
           p_login_id,
           p_user_id,
           SYSDATE,
           p_user_id,
           SYSDATE,
           POL.line_num,
           poll.shipment_num,
           0,
           p_sequence + ROWNUM,
           Substr (g_linemsg
                   || g_delim
                   || Nvl(POL.line_num_display,POL.line_num)
                   || g_delim
                   || g_shipmsg
                   || g_delim
                   || poll.shipment_num
                   || g_delim
                   || l_textline, 1, 240),
           'CLM_POP_DURATION_BEYOND_12',
           'E'
    FROM   po_lines_gt pol,
           po_line_types plt,
           po_headers_gt pha,
           po_line_locations_gt poll
    WHERE  pha.po_header_id = p_document_id
           AND pol.po_header_id = pha.po_header_id
           AND poll.po_line_id = pol.po_line_id
           AND poll.po_header_id = pol.po_header_id
           AND pol.line_type_id = plt. line_type_id
           AND Nvl(plt.clm_severable_flag, 'N') = 'Y'
           AND pol.clm_pop_exception_reason IS NULL
           AND pol.clm_delivery_event_code IS NOT NULL
           AND poll.clm_pop_duration IS NOT NULL
           AND poll.clm_pop_duration_uom IS NOT NULL
           AND Decode(poll.clm_pop_duration_uom, 'MONTHS', poll.clm_pop_duration,
                                                 'DAYS',Months_between
                                                        (SYSDATE + poll.clm_pop_duration,
                                                         SYSDATE),
                                                 'WEEKS',Months_between(
                                                          SYSDATE + ( poll.clm_pop_duration * 7 ),
                                                          SYSDATE)) > 12;
Line: 25246

*       p_online_report_id: Id used to INSERT INTO online_report_text table
*       p_user_id:          User performing the action
*       p_login_id:         Last update login_id
*   IN OUT PARAMETERS
*       p_sequence:          Sequence number of last reported error
* Modifies: Inserts error msgs in online_report_text_gt table, uses
*           global_temp tables for processing
* Effects: This procedure runs the document submission checks for CLM Awards.
*          for Uca Lines.
*
* Returns:
*  p_sequence: This parameter contains the current count of number of error
*              messages inserted
*/
PROCEDURE check_line_ucas(p_document_id IN NUMBER,
                       p_online_report_id IN NUMBER,
                       p_user_id IN NUMBER,
                       p_login_id IN NUMBER,
                       p_sequence IN OUT NOCOPY NUMBER,
                       x_return_status OUT NOCOPY VARCHAR2)
IS
l_api_name  CONSTANT varchar2(40) := 'check_line_ucas';
Line: 25276

  INSERT INTO po_online_report_text_gt
              (online_report_id,
               last_update_login,
               last_updated_by,
               last_update_date,
               created_by,
               creation_date,
               line_num,
               shipment_num,
               distribution_num,
               SEQUENCE,
               text_line,
               message_name,
               message_type)
  SELECT p_online_report_id,
         p_login_id,
         p_user_id,
         SYSDATE,
         p_user_id,
         SYSDATE,
         POL.line_num,
         0,
         0,
         p_sequence + ROWNUM,
         po_core_s.Get_translated_text('PO_UCA_PDD_PAST_DATE',
         'LINE_NUM', pol.line_num_display),
         'PO_UCA_PDD_PAST_DATE',
         'W'
  FROM   po_line_ucas uc,
         po_lines_gt pol,
         po_headers_gt poh
  WHERE  Nvl(pol.clm_undef_flag, 'N') = 'Y'
         AND uc.planned_def_date IS NOT NULL
         AND uc.planned_def_date < SYSDATE
         AND poh.po_header_id = pol.po_header_id
         AND poh.draft_id = uc.undef_draft_id
         AND pol.po_line_id = uc.po_line_id
         AND poh.po_header_id = p_document_id;
Line: 25326

  INSERT INTO po_online_report_text_gt
              (online_report_id,
               last_update_login,
               last_updated_by,
               last_update_date,
               created_by,
               creation_date,
               line_num,
               shipment_num,
               distribution_num,
               SEQUENCE,
               text_line,
               message_name,
               message_type)
  SELECT p_online_report_id,
         p_login_id,
         p_user_id,
         SYSDATE,
         p_user_id,
         SYSDATE,
         POL.line_num,
         0,
         0,
         p_sequence + ROWNUM,
         po_core_s.Get_translated_text('PO_UCA_UNDEF_INCOMPLETE', 'LINE_NUM',
         pol.line_num_display),
         'PO_UCA_UNDEF_INCOMPLETE',
         'E'
  FROM   po_line_ucas uc,
         po_lines_gt pol,
         po_headers_gt poh
  WHERE  Nvl(pol.clm_undef_flag, 'N') = 'Y'
       AND ( NOT ( ( uc.planned_def_date IS NOT NULL
                     AND uc.undef_amount IS NOT NULL
                     AND uc.limit_gov_liability_amt IS NOT NULL
                     AND uc.not_to_exceed_amount IS NOT NULL )
                    OR ( uc.planned_def_date IS NOT NULL
                         AND uc.undef_description IS NOT NULL
                         AND uc.undef_amount IS NULL
                         AND uc.limit_gov_liability_amt IS NULL
                         AND uc.not_to_exceed_amount IS NULL ) ) )
         AND poh.po_header_id = pol.po_header_id
         AND poh.draft_id = uc.undef_draft_id
         AND pol.po_line_id = uc.po_line_id
         AND poh.po_header_id = p_document_id;
Line: 25381

  INSERT INTO po_online_report_text_gt
              (online_report_id,
               last_update_login,
               last_updated_by,
               last_update_date,
               created_by,
               creation_date,
               line_num,
               shipment_num,
               distribution_num,
               SEQUENCE,
               text_line,
               message_name,
               message_type)
  SELECT p_online_report_id,
         p_login_id,
         p_user_id,
         SYSDATE,
         p_user_id,
         SYSDATE,
         POL.line_num,
         0,
         0,
         p_sequence + ROWNUM,
         po_core_s.Get_translated_text('PO_UCA_DEF_DESC_ERR', 'DOC_NUM',
         uc.undef_clm_document_number, 'LINE_NUM', pol.line_num_display),
         'PO_UCA_DEF_DESC_ERR',
         'E'
  FROM   po_line_ucas uc,
         po_lines_gt pol,
         po_headers_gt poh
  WHERE  Nvl(pol.clm_undef_action_code, 'X') = 'DEF'
         AND uc.undef_amount IS NULL
         AND uc.not_to_exceed_amount IS NULL
         AND uc.limit_gov_liability_amt IS NULL
         AND uc.def_description IS NULL
         AND poh.po_header_id = pol.po_header_id
         AND (poh.draft_id = uc.def_draft_id
              OR poh.draft_id = uc.def_par_draft_id)
         AND pol.po_line_id = uc.po_line_id
         AND poh.po_header_id = p_document_id;
Line: 25440

  INSERT INTO po_online_report_text_gt
              (online_report_id,
               last_update_login,
               last_updated_by,
               last_update_date,
               created_by,
               creation_date,
               line_num,
               shipment_num,
               distribution_num,
               SEQUENCE,
               text_line,
               message_name,
               message_type)
  SELECT p_online_report_id,
       p_login_id,
       p_user_id,
       SYSDATE,
       p_user_id,
       SYSDATE,
       line_num,
       0,
       0,
       p_sequence + ROWNUM,
       po_core_s.Get_translated_text('PO_UCA_MAX_CHANGE_ERR', 'CP_LABEL',
       cp_label,
       'CP_LABEL2', cp_label, 'LINE_NUM', line_num_display),
       'PO_UCA_MAX_CHANGE_ERR',
       'W'
  FROM   (SELECT Decode(matching_basis, 'QUANTITY',
               ( Nvl(unit_price*quantity, 0) -
                  Nvl(old_unit_price* old_quantity, 0) ),
                                      ( Nvl(amount, 0) - Nvl(old_amount, 0) ))
               change_in_ext_price,
               Nvl((SELECT SUM(Nvl(not_to_exceed_amount, 0)) -
                           SUM(Nvl(undef_amount, 0))
                               max_all_change
                    FROM   po_line_ucas uc
                    WHERE  pol.po_line_id = uc.po_line_id
                           AND ph.po_header_id = uc.po_header_id
                           AND (uc.def_draft_id = ph.draft_id
                                OR uc.def_par_draft_id = ph.draft_id)), 0) max_change,
               po_clm_cp_label_ext.Getamountlabel(
                 pol.order_type_lookup_code,
                 pol.contract_type,
                 pol.clm_idc_type) cp_label,
               line_num_display,
               line_num
        FROM   po_lines_gt pol,
               po_headers_gt ph
        WHERE  pol.po_header_id = ph.po_header_id
               AND ph.po_header_id = p_document_id
               AND Nvl(pol.clm_undef_action_code, 'X') = 'DEF')
  WHERE  change_in_ext_price > max_change;
Line: 25501

  INSERT INTO po_online_report_text_gt
              (online_report_id,
               last_update_login,
               last_updated_by,
               last_update_date,
               created_by,
               creation_date,
               line_num,
               shipment_num,
               distribution_num,
               SEQUENCE,
               text_line,
               message_name,
               message_type)
  SELECT p_online_report_id,
         p_login_id,
         p_user_id,
         SYSDATE,
         p_user_id,
         SYSDATE,
         line_num,
         0,
         0,
         p_sequence + ROWNUM,
         po_core_s.Get_translated_text('PO_UCA_LINE_DEF_NO_UCAS', 'LINE_NUM',
         line_num_display),
         'PO_UCA_LINE_DEF_NO_UCAS',
         'E'
  FROM   po_lines_gt pol,
         po_headers_gt ph
  WHERE  ph.po_header_id = p_document_id
         AND ph.po_header_id = pol.po_header_id
         AND Nvl(pol.clm_undef_action_code,'X') = 'DEF'
         AND NOT EXISTS (SELECT 1
                         FROM   po_line_ucas ucas
                         WHERE  ucas.po_line_id = pol.po_line_id
                                AND ucas.po_header_id = p_document_id
                                AND ( ucas.def_draft_id = Ph.draft_id
                                       OR ucas.def_par_draft_id = ph.draft_id ));
Line: 25577

*       p_online_report_id: Id used to INSERT INTO online_report_text table
*       p_user_id:          User performing the action
*       p_login_id:         Last update login_id
*   IN OUT PARAMETERS
*       p_sequence:          Sequence number of last reported error
* Modifies: Inserts error msgs in online_report_text_gt table, uses
*           global_temp tables for processing
* Effects: This procedure runs the document submission checks for CLM Awards.
*          for Uca Lines.
*
* Returns:
*  p_sequence: This parameter contains the current count of number of error
*              messages inserted
*/
PROCEDURE validate_exhibits(p_document_id IN NUMBER,
                       p_draft_id         IN NUMBER,
                       p_online_report_id IN NUMBER,
                       p_user_id IN NUMBER,
                       p_login_id IN NUMBER,
                       p_sequence IN OUT NOCOPY NUMBER,
                       x_return_status OUT NOCOPY VARCHAR2)
IS
l_api_name CONSTANT varchar2(40) := 'validate_exhibits';
Line: 25615

  INSERT INTO po_online_report_text_gt
              (online_report_id,
               last_update_login,
               last_updated_by,
               last_update_date,
               created_by,
               creation_date,
               line_num,
               shipment_num,
               distribution_num,
               SEQUENCE,
               text_line,
               message_name,
               message_type)
  SELECT p_online_report_id,
         p_login_id,
         p_user_id,
         SYSDATE,
         p_user_id,
         SYSDATE,
         0,
         0,
         0,
         p_sequence + ROWNUM,
         po_core_s.Get_translated_text('PO_CLM_EXHIBIT_ORPHAN', 'EXHIBIT_NAME', poe.exhibit_name),
         'PO_CLM_EXHIBIT_ORPHAN',
         'E'
  FROM
    po_exhibit_details_merge_v poe,
    po_headers_gt poh
  WHERE poh.po_header_id = p_document_id
        AND poh.po_header_id = poe.po_header_id
        AND poh.draft_id = poe.draft_id
        AND poe.reference_line_id IS NULL;
Line: 25658

 INSERT INTO po_online_report_text_gt
              (online_report_id,
               last_update_login,
               last_updated_by,
               last_update_date,
               created_by,
               creation_date,
               line_num,
               shipment_num,
               distribution_num,
               SEQUENCE,
               text_line,
               message_name,
               message_type)
  SELECT p_online_report_id,
         p_login_id,
         p_user_id,
         SYSDATE,
         p_user_id,
         SYSDATE,
         0,
         0,
         0,
         p_sequence + ROWNUM,
         po_core_s.Get_translated_text('PO_CLM_EXHIBIT_INVALID_REF', 'EXHIBIT_NAME', poed.exhibit_name),
         'PO_CLM_EXHIBIT_INVALID_REF',
         'E'
  FROM  po_lines_gt pol,
        po_exhibit_details_merge_v poed,
        (SELECT exhibit_name,
                (SELECT Decode( Count(1), 0, fnd_message.get_string('PO','PO_EXHIBIT_NSP_LABEL'), fnd_message.get_string('PO','PO_EXHIBIT_PRICED_LABEL'))
                  FROM po_lines_gt pl
                  WHERE
                  pl.po_header_id = ped.PO_HEADER_ID AND
                  pl.clm_exhibit_name = ped.EXHIBIT_NAME AND
                  Nvl(pl.cost_constraint,'Priced') NOT IN ('NSP','NC')
                  )  pricing
          FROM po_exhibit_details_merge_v ped WHERE ped.po_header_id = p_document_id AND ped.draft_id = p_draft_id) exhibit_pricing_cur
  WHERE  pol.po_header_id = p_document_id
  AND pol.po_header_id = poed.po_header_id
  AND poed.draft_id = p_draft_id
  AND exhibit_pricing_cur.exhibit_name = poed.exhibit_name
  AND poed.is_cdrl = 'N' -- Data deliverable (CDRL) exhibit can be linked to any line.
  AND pol.po_line_id = poed.reference_line_id
  AND (
        (exhibit_pricing_cur.pricing = fnd_message.get_string('PO','PO_EXHIBIT_NSP_LABEL')
          AND  (Nvl(pol.cost_constraint,'Priced') = 'NSP' OR
                Nvl(pol.cost_constraint,'Priced') = 'NC'
                )
        )
        OR
        (exhibit_pricing_cur.pricing = fnd_message.get_string('PO','PO_EXHIBIT_PRICED_LABEL')
          AND  Nvl(pol.cost_constraint,'Priced') NOT IN ('NSP','NC')
        )
       )
  ORDER BY poed.exhibit_name;
Line: 25753

*       p_online_report_id: Id used to INSERT INTO online_report_text table
*       p_user_id:          User performing the action
*       p_login_id:         Last update login_id
*   IN OUT PARAMETERS
*       p_sequence:         Sequence number of last reported error
* Modifies: Inserts error msgs in online_report_text_gt table, uses
*           global_temp tables for processing
* Effects: This procedure runs the document submission checks for CLM Awards
*          referencing MIPR.
*
* Returns:
*  p_sequence: This parameter contains the current count of number of error
*              messages inserted
*/
PROCEDURE check_po_mipr_reference(p_document_id IN NUMBER,
                                  p_draft_id IN NUMBER,
                                  p_online_report_id IN NUMBER,
                                  p_user_id IN NUMBER,
                                  p_login_id IN NUMBER,
                                  p_sequence IN OUT NOCOPY NUMBER,
                                  x_return_status OUT NOCOPY VARCHAR2)
IS
l_api_name CONSTANT varchar2(40) := 'check_po_mipr_reference';
Line: 25798

  INSERT INTO po_session_gt(
         KEY,  -- Unique Key for procedure
         num1, -- PO po_distribution_id
         num2, -- MIPR distribution_id
         num3, -- MIPR requisition_header_id
         num4, -- MIPR clm_assist_office
         num5, -- MIPR clm_req_office
         char1,-- MIPR clm_mipr_type
         char2,-- MIPR clm_mipr_obligation_type
         char3,-- PO line_num
         char4,-- PO line_num_display
         char5,-- PO shipment_num
         char6)-- PO distribution_num
  SELECT l_procedure_id,
         POD.po_distribution_id,
         PRD.distribution_id,
         PRH.requisition_header_id,
         PRH.clm_assist_office,
         PRH.clm_req_office,
         PRH.clm_mipr_type,
         PRL.clm_mipr_obligation_type,
         POL.line_num,
         POL.line_num_display,
         POLL.shipment_num,
         POD.distribution_num
  FROM   po_distributions_gt POD,
         po_req_distributions_all PRD,
         po_requisition_lines_all PRL,
         po_requisition_headers_all PRH,
         po_line_locations_gt POLL,
         po_lines_gt POL
  WHERE  POD.po_header_id = p_document_id
  AND    POD.req_distribution_id = PRD.distribution_id
  AND    PRD.requisition_line_id = PRL.requisition_line_id
  AND    PRL.requisition_header_id = PRH.requisition_header_id
  AND    PRH.clm_mipr_type IN ('MIPR_OWN', 'MIPR_OTHERS')
  AND    POD.line_location_id = POLL.line_location_id
  AND    POLL.po_line_id = POL.po_line_id
  AND    nvl(POLL.cancel_flag, 'N') = 'N'
  AND    nvl(POLL.closed_code, 'OPEN') <> 'FINALLY CLOSED';
Line: 25847

    SELECT 'Y'
    INTO   l_mipr_own_ref_exists
    FROM   po_session_gt
    WHERE  KEY = l_procedure_id
    AND    char1 = 'MIPR_OWN'
    AND    ROWNUM = 1;
Line: 25862

    SELECT 'Y'
    INTO   l_mipr_others_ref_exists
    FROM   po_session_gt
    WHERE  KEY = l_procedure_id
    AND    char1 = 'MIPR_OTHERS'
    AND    ROWNUM = 1;
Line: 25876

    SELECT 'Y'
    INTO   l_non_mipr_ref_exists
    FROM   dual
    WHERE EXISTS(
      SELECT 1
      FROM   po_distributions_gt POD
      WHERE  POD.po_header_id = p_document_id
      AND    req_distribution_id IS NOT NULL --PO Dist has a req reference
      AND NOT EXISTS(
        SELECT 1
        FROM   po_session_gt GT
        WHERE  GT.key = l_procedure_id
        AND    GT.num1 = POD.po_distribution_id)); --PO Dist does not have MIPR Ref
Line: 25907

    INSERT INTO po_online_report_text_gt(
                online_report_id,
                last_update_login,
                last_updated_by,
                last_update_date,
                created_by,
                creation_date,
                SEQUENCE,
                text_line,
                message_name)
    SELECT p_online_report_id,
           p_login_id,
           p_user_id,
           SYSDATE,
           p_user_id,
           SYSDATE,
           p_sequence +	ROWNUM,
           l_textline,
           'PO_MIPR_CAR_EXEMPT'
    FROM   dual
    WHERE EXISTS(
      SELECT 1
      FROM   po_clm_cars
      WHERE  po_header_id = p_document_id
      AND    po_draft_id = p_draft_id
      AND    reporting_method <> 'EXEMPT');
Line: 25940

    INSERT INTO	po_online_report_text_gt(
                online_report_id,
                last_update_login,
                last_updated_by,
                last_update_date,
                created_by,
                creation_date,
                SEQUENCE,
                text_line,
                message_name)
    SELECT p_online_report_id,
           p_login_id,
           p_user_id,
           SYSDATE,
           p_user_id,
           SYSDATE,
           p_sequence +	ROWNUM,
           l_textline,
           'PO_MIPR_COMM_METHOD_NONE'
    FROM   po_headers_gt
    WHERE  po_header_id = p_document_id
    AND    Nvl(supplier_notif_method, 'NONE') <> 'NONE';
Line: 25969

    INSERT INTO po_online_report_text_gt(
                online_report_id,
                last_update_login,
                last_updated_by,
                last_update_date,
                created_by,
                creation_date,
                SEQUENCE,
                text_line,
                message_name)
    SELECT p_online_report_id,
           p_login_id,
           p_user_id,
           SYSDATE,
           p_user_id,
           SYSDATE,
           p_sequence +	ROWNUM,
           l_textline,
           'PO_MIPR_BILATERAL_IND_NONE'
    FROM   po_headers_gt
    WHERE  po_header_id = p_document_id
    AND    Nvl(Acceptance_Required_Flag, 'N') <> 'N';
Line: 25998

    INSERT INTO po_online_report_text_gt(
                online_report_id,
                last_update_login,
                last_updated_by,
                last_update_date,
                created_by,
                creation_date,
                SEQUENCE,
                text_line,
                message_name,
                message_type)
    SELECT p_online_report_id,
           p_login_id,
           p_user_id,
           SYSDATE,
           p_user_id,
           SYSDATE,
           p_sequence +	ROWNUM,
           l_textline,
           'PO_MIPR_MULTI_OWN_REF',
           'W'
    FROM   dual
    WHERE EXISTS(
      SELECT 1
      FROM   po_session_gt
      WHERE  key = l_procedure_id
      AND    char1 = 'MIPR_OWN'
      HAVING Count(DISTINCT num3) > 1);--requisition_header_id of referenced MIPR
Line: 26033

    INSERT INTO po_online_report_text_gt(
                online_report_id,
                last_update_login,
                last_updated_by,
                last_update_date,
                created_by,
                creation_date,
                line_num,
                shipment_num,
                distribution_num,
                SEQUENCE,
                text_line,
                message_name)
    SELECT p_online_report_id,
           p_login_id,
           p_user_id,
           SYSDATE,
           p_user_id,
           SYSDATE,
           GT.char3,
           GT.char5,
           GT.char6,
           p_sequence +	ROWNUM,
           PO_CORE_S.get_translated_text(
           'PO_MIPR_MULTI_ASST_OFF_REF',
           'LINE_NUM', GT.char4,
           'SHIP_NUM', GT.char5,
           'DIST_NUM', GT.char6),
           'PO_MIPR_MULTI_ASST_OFF_REF'
    FROM   po_session_gt GT
    WHERE  key = l_procedure_id
    AND    char1 = 'MIPR_OWN'
    AND EXISTS(
      SELECT 1
      FROM   po_session_gt
      WHERE  key = l_procedure_id
      AND    char1 = 'MIPR_OWN'
      HAVING Count(DISTINCT num4) > 1);--clm_assist_office of referenced MIPR
Line: 26078

    INSERT INTO po_online_report_text_gt(
                online_report_id,
                last_update_login,
                last_updated_by,
                last_update_date,
                created_by,
                creation_date,
                line_num,
                shipment_num,
                distribution_num,
                SEQUENCE,
                text_line,
                message_name)
    SELECT p_online_report_id,
           p_login_id,
           p_user_id,
           SYSDATE,
           p_user_id,
           SYSDATE,
           GT.char3,
           GT.char5,
           GT.char6,
           p_sequence +	ROWNUM,
           PO_CORE_S.get_translated_text(
           'PO_MIPR_OWN_AND_PR_REF',
           'LINE_NUM', GT.char4,
           'SHIP_NUM', GT.char5,
           'DIST_NUM', GT.char6),
           'PO_MIPR_OWN_AND_PR_REF'
    FROM   po_session_gt GT
    WHERE  key = l_procedure_id
    AND    char1 = 'MIPR_OWN'
    AND    (l_mipr_others_ref_exists = 'Y' OR l_non_mipr_ref_exists = 'Y');
Line: 26118

	INSERT INTO po_online_report_text_gt(
                online_report_id,
                last_update_login,
                last_updated_by,
                last_update_date,
                created_by,
                creation_date,
                line_num,
                shipment_num,
                distribution_num,
                SEQUENCE,
                text_line,
                message_name)
    SELECT p_online_report_id,
           p_login_id,
           p_user_id,
           SYSDATE,
           p_user_id,
           SYSDATE,
           GT.char3,
           GT.char5,
           GT.char6,
           p_sequence +	ROWNUM,
           PO_CORE_S.get_translated_text(
           'PO_MIPR_MULTI_OBLIG_REF',
           'LINE_NUM', GT.char4,
           'SHIP_NUM', GT.char5,
           'DIST_NUM', GT.char6),
           'PO_MIPR_MULTI_OBLIG_REF'
    FROM   po_session_gt GT
    WHERE  key = l_procedure_id
    AND    char1 = 'MIPR_OWN'
    AND    char2 = 'DIRECT_CITE' -- Direct Cite clm_mipr_obligation_type of referenced MIPR
    AND EXISTS(
      SELECT 1
      FROM   po_session_gt
      WHERE  key = l_procedure_id
      AND    char1 = 'MIPR_OWN'
      AND    char2 = 'REIMBURSEMENT'); -- Reimbursement clm_mipr_obligation_type
Line: 26170

    INSERT INTO po_online_report_text_gt(
                online_report_id,
                last_update_login,
                last_updated_by,
                last_update_date,
                created_by,
                creation_date,
                SEQUENCE,
                text_line,
                message_name,
                message_type)
    SELECT p_online_report_id,
           p_login_id,
           p_user_id,
           SYSDATE,
           p_user_id,
           SYSDATE,
           p_sequence +	ROWNUM,
           l_textline,
           'PO_MIPR_OTHERS_AND_PR_REF',
           'W'
    FROM   dual
    WHERE l_non_mipr_ref_exists = 'Y'; -- Non-Mipr reference exists
Line: 26200

    INSERT INTO po_online_report_text_gt(
                online_report_id,
                last_update_login,
                last_updated_by,
                last_update_date,
                created_by,
                creation_date,
                SEQUENCE,
                text_line,
                message_name,
                message_type)
    SELECT p_online_report_id,
           p_login_id,
           p_user_id,
           SYSDATE,
           p_user_id,
           SYSDATE,
           p_sequence +	ROWNUM,
           l_textline,
           'PO_MIPR_MULTI_REQ_OFF_REF',
           'W'
    FROM   dual
    WHERE  EXISTS(
      SELECT 1
      FROM   po_session_gt
      WHERE  key = l_procedure_id
      AND    char1 = 'MIPR_OTHERS'
      HAVING Count(DISTINCT num5) > 1);--clm_req_office of the referenced MIPR
Line: 26236

  DELETE FROM po_session_gt
  WHERE key = l_procedure_id;
Line: 26291

 INSERT	INTO PO_ONLINE_REPORT_TEXT_GT(
	   ONLINE_REPORT_ID,
	   LAST_UPDATE_LOGIN,
	   LAST_UPDATED_BY,
	   LAST_UPDATE_DATE,
	   CREATED_BY,
	   CREATION_DATE,
	   LINE_NUM,
	   SHIPMENT_NUM,
	   DISTRIBUTION_NUM,
	   SEQUENCE,
	   TEXT_LINE,
	   MESSAGE_NAME
	   )
   SELECT
	   P_ONLINE_REPORT_ID,
	   P_LOGIN_ID,
	   P_USER_ID,
	   SYSDATE,
	   P_USER_ID,
	   SYSDATE,
	   POL.line_num,
	   POLL.shipment_num,
	   POD.DISTRIBUTION_NUM,
	   P_SEQUENCE + ROWNUM,
	   'Between Shipment '||POLL.shipment_num||
           ' and Distribution '||POD.DISTRIBUTION_NUM ||
           ' of Line '||POL.line_num||' , '|| L_TEXTLINE,
           'PO_RI_INVALID_ACCRUE_ON_RCT'
   FROM
	   PO_DISTRIBUTIONS_GT POD,
           PO_LINE_LOCATIONS_GT POLL,
	   PO_LINES_GT POL,
	   PO_HEADERS_GT POH

   WHERE
	   POH.po_header_id = P_DOCUMENT_ID
	   AND POL.po_header_id = POH.po_header_id
	   AND POD.line_location_id = POLL.line_location_id
	   AND POLL.po_line_id = POL.po_line_id
	   AND NVL( POLL.CANCEL_FLAG, 'N' ) <> 'Y'
	   AND NVL( POLL.CLOSED_CODE, 'OPEN' ) <> 'FINALLY CLOSED'
           AND POD.destination_type_code in ('INVENTORY', 'SHOP FLOOR')
           AND Nvl(POD.accrue_on_receipt_flag, 'N') = 'N'
           AND Nvl(POLL.CONSIGNED_FLAG, 'N') = 'N'
           AND POLL.shipment_type  <> 'PREPAYMENT'
           AND POD.award_id IS NULL
	   AND POH.PCARD_ID IS NULL;
Line: 26342

 INSERT	INTO PO_ONLINE_REPORT_TEXT_GT(
	   ONLINE_REPORT_ID,
	   LAST_UPDATE_LOGIN,
	   LAST_UPDATED_BY,
	   LAST_UPDATE_DATE,
	   CREATED_BY,
	   CREATION_DATE,
	   LINE_NUM,
	   SHIPMENT_NUM,
	   DISTRIBUTION_NUM,
	   SEQUENCE,
	   TEXT_LINE,
	   MESSAGE_NAME
	   )
   SELECT
	   P_ONLINE_REPORT_ID,
	   P_LOGIN_ID,
	   P_USER_ID,
	   SYSDATE,
	   P_USER_ID,
	   SYSDATE,
	   POL.line_num,
	   POLL.shipment_num,
	   POD.DISTRIBUTION_NUM,
	   P_SEQUENCE + ROWNUM,
	   'Between Shipment '||POLL.shipment_num||
           ' and Distribution '||POD.DISTRIBUTION_NUM ||
           ' of Line '||POL.line_num||' , '|| L_TEXTLINE,
           'PO_RI_INVALID_ACCRUE_ON_RCT'
   FROM
	   PO_DISTRIBUTIONS_GT POD,
           PO_LINE_LOCATIONS_GT POLL,
	   PO_LINES POL,
	   PO_RELEASES_GT POR

   WHERE
           POR.po_release_id = P_DOCUMENT_ID
	   AND POR.po_header_id = POL.po_header_id
	   AND POD.line_location_id = POLL.line_location_id
	   AND POLL.po_line_id = POL.po_line_id
	   AND NVL( POLL.CANCEL_FLAG, 'N' ) <> 'Y'
	   AND NVL( POLL.CLOSED_CODE, 'OPEN' ) <> 'FINALLY CLOSED'
           AND POD.destination_type_code in ('INVENTORY', 'SHOP FLOOR')
           AND Nvl(POD.accrue_on_receipt_flag, 'N') = 'N'
           AND Nvl(POLL.CONSIGNED_FLAG, 'N') = 'N'
           AND POLL.shipment_type  <> 'PREPAYMENT'
           AND POD.award_id IS NULL
	   AND POR.PCARD_ID IS NULL;
Line: 26489

      SELECT meaning
      INTO
       x_contract_status
      FROM fnd_lookups
      WHERE lookup_type = 'OKC_REP_CONTRACT_STATUSES'
      AND LOOKUP_CODE = x_contract_rec.contract_status_code; -- bug 16713804
Line: 26509

*       p_online_report_id: Id used to INSERT INTO online_report_text table
*       p_user_id:          User performing the action
*       p_login_id:         Last update login_id
*       p_org_id  :         current org id
*   IN OUT PARAMETERS
*       p_sequence:         Sequence number of last reported error
* Modifies: Inserts error msgs in online_report_text_gt table, uses
*           global_temp tables for processing
* Effects: This procedure runs the document submission checks for CLM Awards
*          referencing SBCR.
*
* Returns:
*  p_sequence: This parameter contains the current count of number of error
*              messages inserted
*/

PROCEDURE check_po_sbcr_reference(p_document_id IN NUMBER,
                                  p_draft_id IN NUMBER,
                                  p_online_report_id IN NUMBER,
                                  p_user_id IN NUMBER,
                                  p_login_id IN NUMBER,
                                  p_org_id   IN NUMBER,
                                  p_sequence IN OUT NOCOPY NUMBER,
                                  x_return_status OUT NOCOPY VARCHAR2)
IS
l_api_name CONSTANT varchar2(40) := 'check_po_mipr_reference';
Line: 26565

    SELECT ( CASE
           WHEN phda.type_lookup_code = 'BLANKET' THEN 'PA_BLANKET_MOD'
           WHEN phda.type_lookup_code = 'CONTRACT' THEN 'PA_CONTRACT_MOD'
           ELSE 'PO_STANDARD_MOD'
         END ) OKC_DOC_TYPE,
         (CASE WHEN phda.type_lookup_code = 'BLANKET' OR phda.type_lookup_code = 'CONTRACT' THEN
           Nvl(phda.amount_limit,0) - Nvl(phd.amount_limit,0)
         ELSE
          Nvl(pod.changed_amt,0)
         END) changed_amt -- Bug 16713804
    INTO  l_okc_doc_type,l_changed_amt
    FROM   po_headers_draft_all phda, po_headers_all phd,
       po_drafts pod
    WHERE  phda.po_header_id = p_document_id
       AND phd.po_header_id = phda.po_header_id
       AND phda.draft_id = p_draft_id
       AND pod.draft_id = phda.draft_id;
Line: 26602

      INSERT INTO po_online_report_text_gt
        (online_report_id
        ,last_updated_by
        ,last_update_date
        ,created_by
        ,creation_date
        ,line_num
        ,shipment_num
        ,distribution_num
        ,sequence
        ,text_line
        ,message_name
        ,message_type
        )
      VALUES
        (p_online_report_id
        ,p_login_id
        ,sysdate
        ,p_user_id
        ,sysdate
        ,0 ,0 ,0
        ,p_sequence+1
        ,po_core_s.Get_translated_text('PO_OKC_NO_SBCR', 'AMOUNT',l_limit_amount)
        ,'PO_OKC_NO_SBCR'
        ,'W'
        );
Line: 26633

      INSERT INTO po_online_report_text_gt
        (online_report_id
        ,last_updated_by
        ,last_update_date
        ,created_by
        ,creation_date
        ,line_num
        ,shipment_num
        ,distribution_num
        ,sequence
        ,text_line
        ,message_name
        ,message_type
        )
      VALUES
        (p_online_report_id
        ,p_login_id
        ,sysdate
        ,p_user_id
        ,sysdate
        ,0 ,0 ,0
        ,p_sequence+1
        ,po_core_s.Get_translated_text('PO_OKC_NO_SIGNED_SBCR')
        ,'PO_OKC_NO_SIGNED_SBCR'
        ,'W'
        );