DBA Data[Home] [Help]

APPS.PO_ENCUMBRANCE_POSTPROCESSING SQL Statements

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

Line: 238

PROCEDURE insert_packet_create_event
  (
    p_status_code                    IN             VARCHAR2,
    p_user_id                        IN             NUMBER,
    p_set_of_books_id                IN             NUMBER,
    p_currency_code                  IN             VARCHAR2,
    p_action                         IN             VARCHAR2,--bug#5646605
    --
    x_packet_id                      OUT NOCOPY     NUMBER
   );
Line: 250

PROCEDURE update_successful_rows(
  p_doc_type                       IN             VARCHAR2
, p_doc_subtype                    IN             VARCHAR2
, p_action                         IN             VARCHAR2
, p_gl_return_code                 IN             VARCHAR2
);
Line: 257

PROCEDURE update_failed_rows(
  p_doc_type                       IN             VARCHAR2
, p_action                         IN             VARCHAR2
);
Line: 265

PROCEDURE insert_report_autonomous(
   p_reporting_level 		IN VARCHAR2
,  p_message_text 		IN VARCHAR2
,  p_user_id			IN NUMBER
,  p_sequence_num_tbl		IN po_tbl_number
,  p_line_num_tbl		IN po_tbl_number
,  p_shipment_num_tbl		IN po_tbl_number
,  p_distribution_num_tbl	IN po_tbl_number
,  p_distribution_id_tbl	IN po_tbl_number
,  p_result_code_tbl		IN po_tbl_varchar5
,  p_message_type_tbl		IN po_tbl_varchar1
,  p_text_line_tbl		IN po_tbl_varchar2000
,  p_show_in_psa_flag IN po_tbl_varchar1        --
,  p_segment1_tbl IN po_tbl_varchar20           --
,  p_distribution_type_tbl IN po_tbl_varchar25  --
,  x_online_report_id  		OUT NOCOPY NUMBER
);
Line: 284

PROCEDURE delete_po_bc_distributions
(
  p_packet_id                 IN        NUMBER
) ;
Line: 338

PROCEDURE insert_packet
(
  p_status_code                    IN             VARCHAR2,
  p_user_id                        IN             NUMBER,
  p_set_of_books_id                IN             NUMBER,
  p_currency_code                  IN             VARCHAR2,
  p_action                         IN             VARCHAR2,--bug#5646605
  x_packet_id                      OUT NOCOPY     NUMBER
)
IS
  l_proc_name CONSTANT VARCHAR2(30) := 'INSERT_PACKET';
Line: 365

  INSERT_PACKET_CREATE_EVENT(
                             p_status_code    => p_status_code,
                             p_user_id        => p_user_id,
                             p_set_of_books_id=> p_set_of_books_id,
                             p_currency_code  => p_currency_code,
                             p_action         => p_action,--bug#5646605
                             x_packet_id      => x_packet_id
                             );
Line: 391

    DELETE FROM psa_bc_xla_events_gt
    WHERE event_id IN (  SELECT distinct ae_event_id
                         FROM   po_bc_distributions
                         WHERE packet_id <> x_packet_id
                      );
Line: 398

    INSERT into psa_bc_xla_events_gt
           (
            event_id,
            result_code           -- Bug #4637958
           )
    SELECT distinct ae_event_id,'XLA_ERROR'
    FROM   po_bc_distributions
    WHERE  packet_id = x_packet_id;
Line: 420

END insert_packet;
Line: 461

PROCEDURE insert_packet_create_event
  (
    p_status_code                    IN             VARCHAR2,
    p_user_id                        IN             NUMBER,
    p_set_of_books_id                IN             NUMBER,
    p_currency_code                  IN             VARCHAR2,
    p_action                         IN             VARCHAR2,--bug#5646605
    --
    x_packet_id                      OUT NOCOPY     NUMBER
   )
IS


  l_proc_name CONSTANT VARCHAR2(30) := 'INSERT_PACKET_CREATE_EVENT';
Line: 496

  l_num_of_rows_deleted NUMBER;
Line: 497

  l_num_of_rows_inserted NUMBER;
Line: 520

  SELECT GL_BC_PACKETS_S.nextval
    INTO x_packet_id
  FROM   DUAL;
Line: 540

    INSERT INTO PO_BC_DISTRIBUTIONS
    ( BC_DISTRIBUTION_ID,
      PACKET_ID,
      STATUS_CODE,
      CREATION_DATE,
      CREATED_BY,
      LAST_UPDATE_LOGIN,
      LAST_UPDATE_DATE,
      LAST_UPDATED_BY,
      LEDGER_ID,
      CURRENCY_CODE,
      JE_SOURCE_NAME,
      JE_CATEGORY_NAME,
      ENTERED_AMT,
      ACCOUNTED_AMT,
      GL_DATE,
      CODE_COMBINATION_ID,
      DISTRIBUTION_TYPE,
      HEADER_ID,
      DISTRIBUTION_ID,
      SEQUENCE_NUMBER,
      SEGMENT1,
      REFERENCE_NUMBER,
      APPLIED_TO_APPL_ID,
      APPLIED_TO_DIST_LINK_TYPE,
      PA_PROJECT_ID,
      PA_AWARD_ID,
      PA_TASK_ID,
      PA_EXP_ORG_ID,
      PA_EXP_TYPE,
      PA_EXP_ITEM_DATE,
      --EVENT_TYPE_CODE,
      MAIN_OR_BACKING_CODE,
      JE_LINE_DESCRIPTION,
      PO_RELEASE_ID,
      LINE_ID,
      LINE_LOCATION_ID,
      ENCUMBRANCE_TYPE_ID,
      APPLIED_TO_DIST_ID_1,
      APPLIED_TO_ENTITY_CODE,
      APPLIED_TO_HEADER_ID_1,
      REFERENCE1,
      REFERENCE2,
      REFERENCE3,
      REFERENCE4,
      REFERENCE5,
      REFERENCE6,
      REFERENCE7,
      REFERENCE8,
      REFERENCE9,
      REFERENCE10,
      REFERENCE11,
      REFERENCE12,
      REFERENCE13,
      REFERENCE14,
      REFERENCE15,
      ADJUSTMENT_STATUS,
      ORIGIN_SEQUENCE_NUM,
	  CLM_DOC_FLAG /* <> */
     )
    SELECT
      PO_BC_DISTRIBUTIONS_S.nextval,
      x_packet_id,
      p_status_code,
      SYSDATE,
      p_user_id,
      l_login_id,
      SYSDATE,
      p_user_id,
      p_set_of_books_id,
      nvl(DIST.CURRENCY_CODE,p_currency_code),
      g_je_source_name_Purchasing,
      DIST.JE_CATEGORY_NAME,
      DIST.ENTERED_AMOUNT,
      DIST.ACCOUNTED_AMOUNT,
      DIST.gl_period_date, --
      DIST.CODE_COMBINATION_ID,
      DIST.DISTRIBUTION_TYPE,
      DIST.HEADER_ID,
      DIST.DISTRIBUTION_ID,
      DIST.SEQUENCE_NUM,
      DIST.SEGMENT1,
      --DIST.SEGMENT1,
     ( CASE
           WHEN reference1 = 'REQ'
                AND ( EXISTS (SELECT 1
                              FROM   po_requisition_headers_all
                              WHERE  To_char(requisition_header_id) =
                                     dist.reference2
                                     AND par_flag = 'Y') ) THEN (SELECT
           modification_number
                                                                 FROM
           po_drafts
                                                                 WHERE
           draft_id = To_number(dist.reference4))
           WHEN reference1 = 'PO'
                AND EXISTS (SELECT 1
                            FROM   po_headers_all pha,
                                   po_doc_style_headers pdsh
                            WHERE  pdsh.style_id = pha.style_id
                                   AND pdsh.clm_flag = 'Y'
                                   AND segment1 = dist.reference4) THEN
           (SELECT clm_document_number
            FROM
         po_headers_all
                                                                         WHERE
           segment1 = dist.reference4)
           ELSE dist.reference4
         END ) reference_number,
      l_appl_id,
      DECODE(DIST.DISTRIBUTION_TYPE,'REQUISITION','PO_REQ_DISTRIBUTIONS_ALL','PO_DISTRIBUTIONS_ALL') DIST_LINK_TYPE,
      DIST.PROJECT_ID,
      DIST.AWARD_NUM,
      DIST.TASK_ID,
      DIST.EXPENDITURE_ORGANIZATION_ID,
      DIST.EXPENDITURE_TYPE,
      DIST.EXPENDITURE_ITEM_DATE,
      --l_event_type_code,
      DECODE(DIST.ORIGIN_SEQUENCE_NUM, NULL,'M', 'B_'||DIST.REFERENCE1)    MAIN_OR_BACKING_CODE,
      DIST.JE_LINE_DESCRIPTION,
      DIST.PO_RELEASE_ID,
      DIST.LINE_ID,
      DIST.LINE_LOCATION_ID,
      DIST.ENCUMBRANCE_TYPE_ID,
      DIST.DISTRIBUTION_ID,
      DECODE(DIST.DISTRIBUTION_TYPE,'REQUISITION','REQUISITION','SCHEDULED',  'RELEASE','BLANKET',    'RELEASE','PURCHASE_ORDER')  APPLIED_TO_ENTITY_CODE,  -- Bug 4760589
      DECODE(DIST.DISTRIBUTION_TYPE,'SCHEDULED',DIST.PO_RELEASE_ID,'BLANKET',DIST.PO_RELEASE_ID,DIST.HEADER_ID),      ----APPLIED_TO_HEADER_ID_1
      DIST.REFERENCE1,
      DIST.REFERENCE2,
      DIST.REFERENCE3,
      DIST.REFERENCE4,
      DIST.REFERENCE5,
      DIST.REFERENCE6,
      DIST.REFERENCE7,
      DIST.REFERENCE8,
      DIST.REFERENCE9,
      DIST.REFERENCE10,
      DIST.REFERENCE11,
      DIST.REFERENCE12,
      DIST.REFERENCE13,
      DIST.REFERENCE14,
      DIST.REFERENCE15,
      DIST.ADJUSTMENT_STATUS,
      DIST.ORIGIN_SEQUENCE_NUM,
	  DIST.CLM_DOC_FLAG /* <> */
  FROM   PO_ENCUMBRANCE_GT   DIST
  WHERE  SEND_TO_GL_FLAG =  'Y';
Line: 692

  l_num_of_rows_inserted :=sql%rowcount;
Line: 694

    PO_DEBUG.debug_var(l_log_head,l_progress,'l_num_of_rows_inserted',l_num_of_rows_inserted);
Line: 697

  IF l_num_of_rows_inserted = 0 THEN
    x_packet_id :=NULL;
Line: 714

        UPDATE po_bc_distributions pbd
        SET event_type_code = (select get_event_type_code(pbd.distribution_type,p_action) from dual)
        WHERE packet_id = x_packet_id
        AND main_or_backing_code = 'M'
        RETURNING sequence_number
         BULK COLLECT
        INTO
        l_id_tbl;
Line: 726

    UPDATE po_bc_distributions pbd
    SET event_type_code = (SELECT event_type_code
                             FROM po_bc_distributions pbd1
                    WHERE pbd1.packet_id = x_packet_id
                  AND pbd1.sequence_number=l_id_tbl(i))
    WHERE packet_id = x_packet_id
    AND main_or_backing_code <> 'M'
    and pbd.origin_sequence_num = l_id_tbl(i);
Line: 735

     l_id_tbl.delete;
Line: 753

    SELECT prd.distribution_id BULK COLLECT INTO l_id_tbl
    FROM  po_req_distributions_all prd,
          po_bc_distributions pbd1,     -- for Backing
          po_bc_distributions pbd2     -- For Main
     WHERE  pbd1.packet_id             = x_packet_id
       AND  prd.distribution_id = pbd1.distribution_id
       AND  prd.source_req_distribution_id IS NOT NULL
       AND  pbd1.main_or_backing_code  = 'B_REQ'
       AND  pbd1.origin_sequence_num = pbd2.sequence_number
       AND  pbd2.event_type_code IN ('PO_PA_CANCELLED','RELEASE_CANCELLED');
Line: 766

      UPDATE po_bc_distributions pbd
            SET  main_or_backing_code = 'M' ,event_type_code = 'REQ_RESERVED' , origin_sequence_num = NULL ,
                     entered_amt = entered_amt * -1 ,accounted_amt =  accounted_amt * -1
                WHERE  pbd.packet_id             = x_packet_id
                  AND  pbd.main_or_backing_code  = 'B_REQ'
                  AND  pbd.distribution_id  = l_id_tbl(i) ;
Line: 793

    UPDATE PO_BC_DISTRIBUTIONS PBD
    SET    PBD.line_number = PBD.bc_distribution_id,
           PBD.APPLIED_TO_DIST_ID_2=
               (
               SELECT ORIG.distribution_id
               FROM PO_BC_DISTRIBUTIONS ORIG
               WHERE ORIG.sequence_number=PBD.origin_sequence_num
               AND ORIG.packet_id = x_packet_id
           )
    WHERE  PBD.packet_id   = x_packet_id ;
Line: 808

      PO_DEBUG.debug_stmt(l_log_head,l_progress,'Bulk Insertion Successful');
Line: 819

    SELECT set_of_books_id
      INTO l_ledger_id
    FROM   hr_operating_units hou
    WHERE  hou.organization_id = l_current_org_id ;
Line: 849

    FOR rec_events IN ( SELECT DISTINCT xe.event_id,xe.entity_id,
     xe.event_type_code,
     xe.event_date,
     xe.event_status_code,
     xe.process_status_code,
     pbd.applied_to_header_id_1,
     pbd.applied_to_entity_code
FROM  xla_events  xe,
      po_bc_distributions pbd
 WHERE NVL(xe.budgetary_control_flag, 'N') ='Y'
   AND xe.EVENT_STATUS_CODE  in ('U' ,'I')
   AND xe.PROCESS_STATUS_CODE  IN ('I','D')
   AND xe.event_id =pbd.ae_event_id
   AND pbd.packet_id <> x_packet_id
   AND pbd.ae_event_id IS NOT NULL
   AND main_or_backing_code = 'M'
  -- AND NVL(status_code,'I') <> 'P'
  --Bug 16010392. If event status is U in xla_events and P in po_bc_dists,
  --Such event has to be deleted.
   AND (pbd.header_id,pbd.event_type_code) IN (SELECT DISTINCT header_id,event_type_code FROM po_bc_distributions WHERE packet_id = x_packet_id)
   ) LOOP

     l_event_count := l_event_count+1;
Line: 892

       INSERT INTO XLA_EVENTS_INT_GT
       VALUES l_events_tab(i) ;
Line: 895

       XLA_EVENTS_PUB_PKG.DELETE_BULK_EVENTS(p_application_id => 201);
Line: 899

         DELETE FROM po_bc_distributions
          WHERE applied_to_header_id_1 = l_events_tab(i).source_id_int_1
            AND packet_id <> x_packet_id
            AND ae_event_id = l_events_tab(i).event_id;
Line: 904

           l_num_of_rows_deleted := SQL%rowcount;
Line: 907

            PO_DEBUG.debug_stmt(l_log_head,l_progress,'Number of rows deleted for event '
	                         ||l_events_tab(i).event_id||' are '||l_num_of_rows_deleted );
Line: 919

      FOR rec_po_bc_dist IN (SELECT DISTINCT applied_to_header_id_1,segment1,distribution_type,gl_date,event_type_code,reference_number
				FROM po_bc_distributions
			       WHERE packet_id = x_packet_id
			         AND main_or_backing_code = 'M')
       LOOP


         IF g_debug_stmt THEN

  	  PO_DEBUG.debug_stmt(l_log_head,l_progress,'Applied_to_header_id_1 ' || rec_po_bc_dist.applied_to_header_id_1);
Line: 967

	       UPDATE po_bc_distributions
		SET ae_event_id = l_event_id
		WHERE packet_id = x_packet_id
		 AND applied_to_header_id_1 = rec_po_bc_dist.applied_to_header_id_1
		 AND  gl_date                = rec_po_bc_dist.gl_date
		 AND  main_or_backing_code   = 'M'
		 returning sequence_number
		 BULK COLLECT INTO l_seq_num_tbl;
Line: 977

			UPDATE po_bc_distributions pobd
			  SET  pobd.ae_event_id = l_event_id
			WHERE  pobd.packet_id   = x_packet_id
			   AND pobd.origin_sequence_num = l_seq_num_tbl(i);
Line: 982

	         l_Seq_num_tbl.delete;
Line: 998

END INSERT_PACKET_CREATE_EVENT;
Line: 1220

PROCEDURE delete_unnecessary_events(
p_packet_id         IN         NUMBER,
p_action            IN         VARCHAR2

)
IS

 TYPE t_event_id IS TABLE OF  po_bc_distributions.ae_event_id%TYPE;
Line: 1230

 l_delete_event           NUMBER;
Line: 1232

 l_api_name              CONSTANT varchar2(30) := 'delete_unnecessary_events';
Line: 1236

 CURSOR to_delete_checkfunds IS
         SELECT  DISTINCT pbd.ae_event_id,
           pbd.segment1,
           pbd.applied_to_header_id_1,
           pbd.distribution_type
         FROM
           po_bc_distributions pbd,
           xla_events xe,
           xla_transaction_entities xte
         WHERE
           xe.event_id = pbd.ae_event_id
           AND xe.EVENT_STATUS_CODE = 'U'
           AND xe.PROCESS_STATUS_CODE in ('D', 'I')
           AND pbd.packet_id = p_packet_id
           AND xte.application_id = 201
           AND xte.entity_id =  xe.entity_id
           AND xte.source_id_int_1 = pbd.header_id;
Line: 1254

 CURSOR to_delete_invalids IS
         SELECT  DISTINCT pbd.ae_event_id,
           pbd.segment1,
           pbd.applied_to_header_id_1,
           pbd.distribution_type
         FROM
           po_bc_distributions pbd,
           xla_events xe,
           xla_transaction_entities xte
         WHERE
          xe.event_id = pbd.ae_event_id
          AND xe.EVENT_STATUS_CODE = 'P'
          AND xe.PROCESS_STATUS_CODE = 'I'
          AND pbd.packet_id = p_packet_id
          AND xte.application_id = 201
          AND xte.entity_id =  xe.entity_id
          AND xte.source_id_int_1 = pbd.header_id;
Line: 1279

       /*Gathering the event source info to delete event */
        l_event_source_info.legal_entity_id       := xle_utilities_grp.Get_DefaultLegalContext_OU(PO_MOAC_UTILS_PVT.Get_Current_Org_Id );
Line: 1284

        SELECT set_of_books_id
        INTO l_event_source_info.ledger_id
        FROM   hr_operating_units hou
        WHERE  hou.organization_id = PO_MOAC_UTILS_PVT.Get_Current_Org_Id ;
Line: 1300

        /*delete draft and invalid events*/

        IF (p_action= g_action_RESERVE) THEN
	    l_progress := '030';
Line: 1304

	    FOR rec_to_del IN  to_delete_checkfunds loop
                IF g_debug_stmt THEN
                   PO_DEBUG.debug_var(l_log_head,l_progress,'iteration for event_id', rec_to_del.ae_event_id);
Line: 1310

		/*have to delete these events*/

		 l_event_source_info.entity_type_code      := get_entity_type_code(rec_to_del.distribution_type,p_action);
Line: 1323

	         xla_events_pub_pkg.DELETE_EVENT
                          (
                             p_event_source_info    => l_event_source_info,
                             p_event_id             => rec_to_del.ae_event_id,
                             p_valuation_method     => NULL,
                             p_security_context     => l_security_context
                            );
Line: 1331

            DELETE FROM po_bc_distributions WHERE packet_id = p_packet_id;
Line: 1334

	    FOR rec_to_del IN  to_delete_invalids loop

	        /*event_ids are collected now*/
                /*have to delete these events*/

		l_event_source_info.entity_type_code      := get_entity_type_code(rec_to_del.distribution_type,p_action);
Line: 1349

                xla_events_pub_pkg.DELETE_EVENT
                          (
                            p_event_source_info    => l_event_source_info,
                            p_event_id             => rec_to_del.ae_event_id,
                            p_valuation_method     => NULL,
                            p_security_context     => l_security_context
                            );
Line: 1358

            DELETE FROM po_bc_distributions WHERE packet_id = p_packet_id ;
Line: 1365

          PO_DEBUG.debug_var(l_log_head,l_progress, 'Exception block of Delete_unnecessary_events', SQLERRM);
Line: 1412

  TYPE update_enc_amt_flag_tbl_type IS TABLE OF PO_ENCUMBRANCE_GT.update_encumbered_amount_flag%TYPE;
Line: 1417

  l_update_enc_amt_flag_tbl  update_enc_amt_flag_tbl_type;
Line: 1460

   SELECT
         DISTINCT
         STATUS_CODE,
         RESULT_CODE,
         AUTOMATIC_ENCUMBRANCE_FLAG,
         SOURCE_DISTRIBUTION_ID_NUM_1,
         SOURCE_DISTRIBUTION_TYPE,
         TRANSACTION_AMOUNT,
         REFERENCE15
    BULK COLLECT
    INTO l_gl_status_tbl,
         l_gl_result_code_tbl,
         l_update_enc_amt_flag_tbl,
         l_dist_id_tbl,
         l_dist_type_tbl,
         l_encumbered_amount_change,
         l_reference15_tbl
    FROM (

          SELECT GLBC.status_code STATUS_CODE,
                  GLBC.result_code RESULT_CODE,
                  nvl(GLBC.automatic_encumbrance_flag, 'Y') AUTOMATIC_ENCUMBRANCE_FLAG,
                  GLBC.SOURCE_DISTRIBUTION_ID_NUM_1 SOURCE_DISTRIBUTION_ID_NUM_1,
                  GLBC.SOURCE_DISTRIBUTION_TYPE SOURCE_DISTRIBUTION_TYPE,
                  PO_ENCUMBRANCE_POSTPROCESSING.get_sign_for_amount(pbd.event_type_code,
                                                                    pbd.main_or_backing_code,
                                                                    pbd.adjustment_status,
                                                                    pbd.distribution_type) *
                  PBD.accounted_amt TRANSACTION_AMOUNT,
                  PBD.reference15 REFERENCE15
            FROM XLA_DISTRIBUTION_LINKS XLD,
                  PO_BC_DISTRIBUTIONS    PBD,
                  GL_BC_PACKETS          GLBC
           WHERE  (GLBC.PACKET_ID, GLBC.CODE_COMBINATION_ID) IN (
		                            SELECT /*+ unnest */
/*						   DISTINCT glbc1.packet_id,
						   glbc1.code_combination_id
	                                    FROM  psa_bc_xla_events_gt ps_ev_Gt,
				                  GL_BC_PACKETS  glbc1
                                            WHERE ps_ev_Gt.event_id = glbc1.event_id)
             AND XLD.AE_HEADER_ID = GLBC.ae_header_id
             AND xld.ae_line_num = GLBC.ae_line_num
             AND xld.event_id = GLBC.event_id
             AND GLBC.application_id = xld.application_id
             AND GLBC.source_distribution_type = xld.source_distribution_type
             AND GLBC.SOURCE_DISTRIBUTION_ID_NUM_1 =
                 xld.SOURCE_DISTRIBUTION_ID_NUM_1
             AND pbd.distribution_id = xld.SOURCE_DISTRIBUTION_ID_NUM_1
             AND decode(pbd.distribution_type,g_dist_type_REQUISITION,
                        'PO_REQ_DISTRIBUTIONS_ALL','PO_DISTRIBUTIONS_ALL') = xld.source_distribution_type
             AND pbd.ae_event_id = xld.event_id
             AND NVL(PBD.applied_to_dist_id_2, pbd.distribution_id) =
                 XLD.ALLOC_TO_DIST_ID_NUM_1
             AND xld.application_id = 201
             AND xld.event_id = pbd.ae_event_id
             AND glbc.template_id is null
          UNION ALL
          SELECT GLBCH.status_code STATUS_CODE,
                 GLBCH.result_code RESULT_CODE,
                 nvl(GLBCH.automatic_encumbrance_flag, 'Y') AUTOMATIC_ENCUMBRANCE_FLAG,
                 GLBCH.SOURCE_DISTRIBUTION_ID_NUM_1 SOURCE_DISTRIBUTION_ID_NUM_1,
                 GLBCH.SOURCE_DISTRIBUTION_TYPE SOURCE_DISTRIBUTION_TYPE,
                 PO_ENCUMBRANCE_POSTPROCESSING.get_sign_for_amount(pbd.event_type_code,
                                                                   pbd.main_or_backing_code,
                                                                   pbd.adjustment_status,
                                                                   pbd.distribution_type) *
                 PBD.accounted_amt TRANSACTION_AMOUNT,
                 PBD.reference15 REFERENCE15
            FROM XLA_DISTRIBUTION_LINKS XLD,
                 PO_BC_DISTRIBUTIONS    PBD,
                 GL_BC_PACKETS_HISTS    GLBCH
           WHERE GLBCH.PACKET_ID IN (SELECT DISTINCT glbch1.packet_id
 	                             FROM  psa_bc_xla_events_gt ps_ev_Gt ,
				           GL_BC_PACKETS_HISTS  glbch1
                                     WHERE ps_ev_Gt.event_id = glbch1.event_id)
             AND XLD.AE_HEADER_ID = GLBCH.ae_header_id
             AND xld.ae_line_num = GLBCH.ae_line_num
             AND xld.event_id = GLBCH.event_id
             AND GLBCH.application_id = xld.application_id
             AND GLBCH.source_distribution_type =
                 xld.source_distribution_type
             AND GLBCH.SOURCE_DISTRIBUTION_ID_NUM_1 =
                 xld.SOURCE_DISTRIBUTION_ID_NUM_1
             AND pbd.distribution_id = xld.SOURCE_DISTRIBUTION_ID_NUM_1
             AND decode(pbd.distribution_type,g_dist_type_REQUISITION,
                        'PO_REQ_DISTRIBUTIONS_ALL','PO_DISTRIBUTIONS_ALL') = xld.source_distribution_type
             AND pbd.ae_event_id = xld.event_id
             AND NVL(PBD.applied_to_dist_id_2, pbd.distribution_id) =
                 XLD.ALLOC_TO_DIST_ID_NUM_1
             AND xld.application_id = 201
             AND xld.event_id = pbd.ae_event_id
             AND glbch.template_id is null
             );   */
Line: 1559

    SELECT
         DISTINCT
         STATUS_CODE,
         RESULT_CODE,
         AUTOMATIC_ENCUMBRANCE_FLAG,
         SOURCE_DISTRIBUTION_ID_NUM_1,
         SOURCE_DISTRIBUTION_TYPE,
         TRANSACTION_AMOUNT,
         REFERENCE15
    BULK COLLECT
    INTO l_gl_status_tbl,
         l_gl_result_code_tbl,
         l_update_enc_amt_flag_tbl,
         l_dist_id_tbl,
         l_dist_type_tbl,
         l_encumbered_amount_change,
         l_reference15_tbl
    FROM (  SELECT   GLBC.STATUS_CODE STATUS_CODE,
                   GLBC.RESULT_CODE RESULT_CODE,
                   NVL (GLBC.AUTOMATIC_ENCUMBRANCE_FLAG, 'Y')
                      AUTOMATIC_ENCUMBRANCE_FLAG,
                   GLBC.SOURCE_DISTRIBUTION_ID_NUM_1
                      SOURCE_DISTRIBUTION_ID_NUM_1,
                   GLBC.SOURCE_DISTRIBUTION_TYPE SOURCE_DISTRIBUTION_TYPE,
                   PO_ENCUMBRANCE_POSTPROCESSING.GET_SIGN_FOR_AMOUNT (
                      PBD.EVENT_TYPE_CODE,
                      PBD.MAIN_OR_BACKING_CODE,
                      PBD.ADJUSTMENT_STATUS,
                      PBD.DISTRIBUTION_TYPE
                   )
                   * PBD.ACCOUNTED_AMT
                      TRANSACTION_AMOUNT,
                   PBD.REFERENCE15 REFERENCE15
            FROM   PO_BC_DISTRIBUTIONS PBD,
                   GL_BC_PACKETS GLBC
           WHERE    pbd.packet_id = p_packet_id
                   AND pbd.ae_EVENT_ID = GLBC.EVENT_ID
                   AND GLBC.TEMPLATE_ID IS NULL
				   AND GLBC.SOURCE_DISTRIBUTION_ID_NUM_1 = pbd.distribution_id --Bug 16437550


          UNION ALL
          SELECT   GLBCH.STATUS_CODE STATUS_CODE,
                   GLBCH.RESULT_CODE RESULT_CODE,
                   NVL (GLBCH.AUTOMATIC_ENCUMBRANCE_FLAG, 'Y')
                      AUTOMATIC_ENCUMBRANCE_FLAG,
                   GLBCH.SOURCE_DISTRIBUTION_ID_NUM_1
                      SOURCE_DISTRIBUTION_ID_NUM_1,
                   GLBCH.SOURCE_DISTRIBUTION_TYPE SOURCE_DISTRIBUTION_TYPE,
                   PO_ENCUMBRANCE_POSTPROCESSING.GET_SIGN_FOR_AMOUNT (
                      PBD.EVENT_TYPE_CODE,
                      PBD.MAIN_OR_BACKING_CODE,
                      PBD.ADJUSTMENT_STATUS,
                      PBD.DISTRIBUTION_TYPE
                   )
                   * PBD.ACCOUNTED_AMT
                      TRANSACTION_AMOUNT,
                   PBD.REFERENCE15 REFERENCE15
            FROM    PO_BC_DISTRIBUTIONS PBD,
                   GL_BC_PACKETS_HISTS GLBCH
           WHERE     pbd.packet_id = p_packet_id
                    AND pbd.ae_EVENT_ID = GLBCH.EVENT_ID
                   AND GLBCH.TEMPLATE_ID IS NULL
				    AND GLBCH.SOURCE_DISTRIBUTION_ID_NUM_1 = pbd.distribution_id --Bug 16437550
             );
Line: 1635

  UPDATE PO_ENCUMBRANCE_GT TEMP
    SET  TEMP.gl_status_code = l_gl_status_tbl(i),
         TEMP.gl_result_code = l_gl_result_code_tbl(i),
         TEMP.update_encumbered_amount_flag = l_update_enc_amt_flag_tbl(i),
         TEMP.encumbered_amount_change = l_encumbered_amount_change(i)          -- Bug 4878973
  WHERE TEMP.reference15=l_reference15_tbl(i);--bug#5201733 joining using reference15 as this is the unique key
Line: 1653

   PO_DEBUG.debug_stmt(l_log_head,l_progress, 'Status/Result codes updated on '
                       || l_debug_count || ' rows');
Line: 1666

UPDATE PO_ENCUMBRANCE_GT DISTS
SET    DISTS.result_text = l_po_prevent_text
,      DISTS.result_type = g_result_WARNING
WHERE  DISTS.prevent_encumbrance_flag = 'Y'
AND    DISTS.result_text IS NULL;
Line: 1675

                       'Number of prevent rows updated: ' || l_debug_count);
Line: 1680

UPDATE PO_ENCUMBRANCE_GT DISTS
SET DISTS.result_text =
    (SELECT GL_TEXT.description
     FROM  GL_LOOKUPS GL_TEXT
     WHERE GL_TEXT.lookup_type = 'FUNDS_CHECK_RESULT_CODE'
     AND   GL_TEXT.lookup_code(+) = DISTS.gl_result_code
    )
WHERE DISTS.gl_result_code IS NOT NULL
AND   DISTS.result_text IS NULL;
Line: 1693

                       'Number of result text rows updated: ' || l_debug_count);
Line: 1705

   UPDATE PO_ENCUMBRANCE_GT DISTS
   SET   DISTS.result_type = g_result_WARNING
   WHERE DISTS.gl_result_code IN
           /*Bug13887688 Adding few more lookup_codes which are also WARNINGS*/
            ('P20','P21','P22','P23','P25','P26','P27', 'P39','P29','P31', 'P35', 'P36', 'P37', 'P38')
   AND DISTS.gl_status_code IN ('A', 'S');
Line: 1720

   UPDATE PO_ENCUMBRANCE_GT DISTS
   SET DISTS.result_type = g_result_SUCCESS
   WHERE DISTS.result_type IS NULL
   AND DISTS.gl_status_code IN ('A', 'S');
Line: 1747

   UPDATE PO_ENCUMBRANCE_GT DISTS
   SET DISTS.result_type = g_result_ERROR
   WHERE DISTS.result_type IS NULL
   AND DISTS.gl_result_code like 'F%'
   AND DISTS.gl_status_code IN ('R', 'F');
Line: 1761

   UPDATE PO_ENCUMBRANCE_GT DISTS
   SET DISTS.result_type = g_result_NOT_PROCESSED
   ,   DISTS.result_text = l_not_processed_msg
   WHERE DISTS.result_type IS NULL
   AND DISTS.gl_result_code like 'P%'
   AND DISTS.gl_status_code IN ('R', 'F');
Line: 1782

                       'PO update of text/message type successful');
Line: 1839

PROCEDURE update_document_encumbrance(
  p_doc_type                       IN             VARCHAR2
, p_doc_subtype                    IN             VARCHAR2
, p_action                         IN             VARCHAR2
, p_gl_return_code                 IN             VARCHAR2
) IS

l_api_name  CONSTANT varchar2(40) := 'UPDATE_DOCUMENT_ENCUMBRANCE';
Line: 1868

   update_successful_rows(
     p_doc_type       => p_doc_type
   , p_doc_subtype    => p_doc_subtype
   , p_action         => p_action
   , p_gl_return_code =>  p_gl_return_code
   );
Line: 1882

   update_failed_rows(
     p_doc_type      => p_doc_type
   , p_action        => p_action
   );
Line: 1902

END update_document_encumbrance;
Line: 1943

PROCEDURE update_successful_rows(
  p_doc_type                       IN             VARCHAR2
, p_doc_subtype                    IN             VARCHAR2
, p_action                         IN             VARCHAR2
, p_gl_return_code                 IN             VARCHAR2
) IS

l_api_name  CONSTANT varchar2(40) := 'UPDATE_SUCCESSFUL_ROWS';
Line: 2031

                       'Updated encumbered_amount_change');
Line: 2049

   UPDATE PO_REQ_DISTRIBUTIONS_ALL PRD
   SET
   (
      PRD.encumbered_flag
   ,  PRD.encumbered_amount
   )
   =
   (
      SELECT
         --encumbered flag:
         DECODE( l_flip_enc_flag
               , 'N',  PRD.encumbered_flag   -- don't flip flag
               , l_main_doc_enc_flag_success),

         --encumbered amt:
         nvl(PRD.encumbered_amount, 0) +
            SUM (decode(TEMP.update_encumbered_amount_flag,
                        'Y', TEMP.encumbered_amount_change,
                         0)
                )
      FROM PO_ENCUMBRANCE_GT TEMP
      WHERE TEMP.distribution_id = PRD.distribution_id
      AND TEMP.distribution_type = g_dist_type_REQUISITION
      GROUP BY TEMP.distribution_id
   ), /* Updating these cols also for bug#13930578 */
       PRD.last_update_date = sysdate,
      PRD.last_updated_by = fnd_global.user_id,
      PRD.last_update_login = fnd_global.login_id
   WHERE PRD.distribution_id in
   (
       SELECT MAIN_REQ.distribution_id
       FROM PO_ENCUMBRANCE_GT MAIN_REQ
       WHERE MAIN_REQ.distribution_type = g_dist_type_REQUISITION -- doc is Req
       AND MAIN_REQ.origin_sequence_num IS NULL    -- doc is main doc
       AND MAIN_REQ.gl_status_code = 'A'
       AND MAIN_REQ.send_to_gl_flag = 'Y'  --bug 3568512: use new column
   );
Line: 2088

   UPDATE PO_REQ_DISTRIBUTIONS_ALL PRD
   SET PRD.funds_liquidated
   =
   (
      SELECT
          Nvl(PRD.funds_liquidated,0) + DECODE(p_action, g_action_UNRESERVE,
                                                      Decode(TEMP.CLM_DOC_FLAG,'Y',TEMP.CHANGE_IN_FUNDED_VALUE),0)
      FROM PO_ENCUMBRANCE_GT TEMP
      WHERE TEMP.distribution_id = PRD.distribution_id
      AND TEMP.distribution_type = g_dist_type_REQUISITION
   )
   WHERE PRD.distribution_id in
   (
       SELECT MAIN_REQ.distribution_id
       FROM PO_ENCUMBRANCE_GT MAIN_REQ
       WHERE MAIN_REQ.distribution_type = g_dist_type_REQUISITION -- doc is Req
       AND MAIN_REQ.origin_sequence_num IS NULL    -- doc is main doc
       AND MAIN_REQ.gl_status_code = 'A'
       AND MAIN_REQ.send_to_gl_flag = 'Y'  --bug 3568512: use new column
   );
Line: 2113

                          'Updated Main Req dists: ' || l_debug_count);
Line: 2130

      UPDATE PO_REQ_DISTRIBUTIONS_ALL PRD
      SET (
         PRD.encumbered_flag
      ,  PRD.prevent_encumbrance_flag
      )
      =
      (  SELECT
            --encumbered_flag:
            --unreserve old rows, reserve new rows
            DECODE( TEMP.adjustment_status
                  , g_adjustment_status_OLD, 'N'
                  , g_adjustment_status_NEW, 'Y'
                  , TEMP.encumbered_flag
            ),

            --prevent_encumbrance_flag:
            --old rows are marked prevent-enc for future actions
            DECODE( TEMP.adjustment_status
                  , g_adjustment_status_OLD, 'Y'
                  , TEMP.prevent_encumbrance_flag
            )
         FROM PO_ENCUMBRANCE_GT TEMP
         WHERE TEMP.distribution_id = PRD.distribution_id
         AND TEMP.distribution_type = g_dist_type_REQUISITION
      ), /* Updating these cols also for bug#13930578 */
       PRD.last_update_date = sysdate,
      PRD.last_updated_by = fnd_global.user_id,
      PRD.last_update_login = fnd_global.login_id
      WHERE PRD.distribution_id IN
      (
         SELECT MAIN_REQ.distribution_id
         FROM PO_ENCUMBRANCE_GT MAIN_REQ
         WHERE MAIN_REQ.distribution_type = g_dist_type_REQUISITION
         AND MAIN_REQ.origin_sequence_num is NULL
         AND MAIN_REQ.gl_status_code = 'A'
      );
Line: 2171

                             'Updated Req Split dists: ' || l_debug_count);
Line: 2189

   UPDATE PO_DISTRIBUTIONS_ALL POD
   SET
   (
      POD.encumbered_flag,
      POD.encumbered_amount,
      POD.amount_changed_flag
   )
   =
   (
      SELECT
         --encumbered flag:
         DECODE( l_flip_enc_flag
               , 'N', POD.encumbered_flag   -- don't flip flag
               , l_main_doc_enc_flag_success),

         --encumbered amt:
         nvl(POD.encumbered_amount, 0) +
            SUM (decode(TEMP.update_encumbered_amount_flag,
                        'Y',TEMP.encumbered_amount_change,
                         0)
                ),
        NULL -- <13503748>
       FROM PO_ENCUMBRANCE_GT TEMP
       WHERE TEMP.distribution_id = POD.po_distribution_id
       AND TEMP.distribution_type <> g_dist_type_REQUISITION
       GROUP BY TEMP.distribution_id
  ), /* Updating these cols also for bug#13930578 */
       POD.last_update_date = sysdate,
      POD.last_updated_by = fnd_global.user_id,
      POD.last_update_login = fnd_global.login_id
   WHERE POD.po_distribution_id in
   (
       SELECT MAIN_PURCH.distribution_id
       FROM   PO_ENCUMBRANCE_GT MAIN_PURCH
       WHERE  MAIN_PURCH.distribution_type <> g_dist_type_REQUISITION
                                              -- doc is PO/PA/Release
       AND    MAIN_PURCH.origin_sequence_num IS NULL  -- doc is main doc
       AND    MAIN_PURCH.gl_status_code = 'A'
       AND    MAIN_PURCH.send_to_gl_flag = 'Y'  --bug 3568512: use new column
   );
Line: 2234

                          'Updated Main PO/Rel dists: ' || l_debug_count);
Line: 2256

      UPDATE PO_REQ_DISTRIBUTIONS_ALL PRD
      SET
      (
         PRD.encumbered_flag,
         PRD.encumbered_amount
      )
      =
      (
         SELECT
            --encumbered flag:
            MAX(DECODE( l_flip_enc_flag
                       , 'N', PRD.encumbered_flag  --don't flip flag
                       , l_backing_req_enc_flag_success)),

            --encumbered amt:
            nvl(PRD.encumbered_amount, 0) +
                SUM(decode(TEMP.update_encumbered_amount_flag
	                  , 'Y',TEMP.encumbered_amount_change
                          , 0))
             FROM PO_ENCUMBRANCE_GT TEMP
             WHERE TEMP.distribution_id = PRD.distribution_id
             AND TEMP.distribution_type = g_dist_type_REQUISITION
             GROUP BY TEMP.distribution_id
             --: added MAX, SUM and GROUP BY operators
      ), /* Updating these cols also for bug#13930578 */
       PRD.last_update_date = sysdate,
      PRD.last_updated_by = fnd_global.user_id,
      PRD.last_update_login = fnd_global.login_id
      WHERE PRD.distribution_id in
      (
          SELECT BACKING_REQ.distribution_id
          FROM PO_ENCUMBRANCE_GT BACKING_REQ
          WHERE BACKING_REQ.distribution_type = g_dist_type_REQUISITION
          AND BACKING_REQ.origin_sequence_num IS NOT NULL
          AND BACKING_REQ.gl_status_code = 'A'
          AND BACKING_REQ.send_to_gl_flag = 'Y'  --bug 3568512: use new column
      );
Line: 2298

                             'Updated Backing Req dists: ' || l_debug_count);
Line: 2321

      UPDATE PO_DISTRIBUTIONS_ALL POD
      SET
      (
         POD.encumbered_amount,
         POD.unencumbered_amount
      )
      =
      (
        SELECT
            nvl(POD.encumbered_amount, 0) +
                SUM(decode(CURRENT_DOC.update_encumbered_amount_flag,
                           'Y',CURRENT_DOC.encumbered_amount_change,
                            0)
                ),
            nvl(POD.unencumbered_amount, 0) -
                SUM(CURRENT_DOC.encumbered_amount_change)
        FROM   PO_ENCUMBRANCE_GT CURRENT_DOC
        WHERE CURRENT_DOC.distribution_id = POD.po_distribution_id
        AND CURRENT_DOC.distribution_type IN
                    (g_dist_type_AGREEMENT, g_dist_type_PLANNED)
        GROUP BY CURRENT_DOC.distribution_id
      )
      WHERE POD.po_distribution_id in
      (
          SELECT BACKING_PURCH.distribution_id
          FROM PO_ENCUMBRANCE_GT BACKING_PURCH
          WHERE BACKING_PURCH.distribution_type IN
                        (g_dist_type_AGREEMENT, g_dist_type_PLANNED) -- PA/PPO
          AND BACKING_PURCH.origin_sequence_num IS NOT NULL -- backing doc
          AND (BACKING_PURCH.gl_status_code = 'A'
               OR (BACKING_PURCH.gl_status_code IS NULL
                   AND BACKING_PURCH.prevent_encumbrance_flag = 'N')
              --bug 3568512: do not filter on send_to_gl_flag = 'Y' because
              --even if backing BPA/GA was not sent to GL, its
              --unencumbered_amount needs to be updated.  for these rows,
              --we do not update encumbered_amount unless the row was sent
              --to GL; the setting of update_enc_amt_flag checks this
Line: 2365

                             'Updated Backing PA/PPO dists: ' || l_debug_count);
Line: 2393

         UPDATE PO_DISTRIBUTIONS_ALL POD
         SET
         POD.unencumbered_quantity =
         (SELECT
           GREATEST
           (   0,
               nvl(POD.unencumbered_quantity, 0)
               +
               (DECODE( p_action
                       -- if Reserving an SR, add to unenc qty
                     , g_action_RESERVE, 1
                       -- if cancelling credit memo, add to unenc qty
                     , g_action_CR_MEMO_CANCEL, 1
                       -- all other actions on SR reduce PPO unenc qty
                     , -1
                     )
               *
               SUM (PPO_DISTS.qty_open))
            )
          FROM   PO_ENCUMBRANCE_GT PPO_DISTS
          WHERE  PPO_DISTS.distribution_id = POD.po_distribution_id
          AND    PPO_DISTS.distribution_type = g_dist_type_PLANNED
          GROUP BY PPO_DISTS.distribution_id
         )
         WHERE POD.po_distribution_id IN
         (
             SELECT MAIN_SR.source_distribution_id -- get backing PPO's id
             FROM   PO_ENCUMBRANCE_GT MAIN_SR
             WHERE  MAIN_SR.distribution_type = g_dist_type_SCHEDULED
             AND    MAIN_SR.origin_sequence_num IS NULL
                                     -- the main doc is a Scheduled Release
             AND    MAIN_SR.gl_status_code = 'A'
             AND    MAIN_SR.send_to_gl_flag = 'Y'  --bug 3568512: use new column
         );
Line: 2433

                                'Updated Backing PPO dists: ' || l_debug_count);
Line: 2482

 /*  Bug : 13984592 : Modifying the update statement to update the
     prevent encumbrance flag of backing req to 'Y' only when backing GBPA is encumbered.
     The case 2: where there is no backing GBPA , the backing Requistion prevent encumbrance
     flag is not updated to 'Y' or 'N'. This is required so that if the backing req flag is
     explictly updated to 'Y'  the code will not flip to 'N'.

   UPDATE PO_REQ_DISTRIBUTIONS_ALL PRD
   SET PRD.prevent_encumbrance_flag
   =
   (
      SELECT
         DECODE(
                MAX(
                     DECODE(  EXEC_D.agreement_dist_id -- only present if main doc is encumbered
                            ,  NULL, 1 -- no backing PA or backing PA not encumberable
                            ,  2       -- this PO dist has backing encumbered PA
                     )
                )
                ,  1, 'N'  --if max is 1, then no backing Enc PA, so prevent_enc_flag <= N
                , 'Y'  -- if max is 2, then there is backing Enc PA, so prevent_enc_flag <= Y
         )
      FROM  PO_ENCUMBRANCE_GT EXEC_D
      WHERE EXEC_D.req_distribution_id = PRD.distribution_id
   )
   WHERE PRD.distribution_id IN
   (
       SELECT EXEC_DOC.req_distribution_id
       FROM   PO_ENCUMBRANCE_GT EXEC_DOC
       WHERE  EXEC_DOC.distribution_type
            IN (g_dist_type_STANDARD, g_dist_type_BLANKET, g_dist_type_PLANNED)
       AND EXEC_DOC.req_distribution_id IS NOT NULL
       AND EXEC_DOC.gl_status_code = 'A'
       AND EXEC_DOC.send_to_gl_flag = 'Y'  --bug 3568512
   ); */
Line: 2517

     update PO_REQ_DISTRIBUTIONS_ALL PRD
   set PRD.prevent_encumbrance_flag = 'Y'
   where PRD.distribution_id IN
   (
       SELECT EXEC_DOC.req_distribution_id
       FROM   PO_ENCUMBRANCE_GT EXEC_DOC
       WHERE  EXEC_DOC.distribution_type
            IN (g_dist_type_STANDARD, g_dist_type_BLANKET, g_dist_type_PLANNED)
       AND EXEC_DOC.req_distribution_id IS NOT NULL
       AND EXEC_DOC.gl_status_code = 'A'
       AND EXEC_DOC.send_to_gl_flag = 'Y'  --bug 3568512
       AND EXEC_DOC.agreement_dist_id  IS NOT NULL
   ) ;
Line: 2557

						--Bug 15871378 commented out the update on encumbered_flag = 'N' when encumbered_amount = 0
                        UPDATE PO_DISTRIBUTIONS_ALL POD
                        SET    /*POD.ENCUMBERED_FLAG = DECODE(GREATEST(NVL(POD.ENCUMBERED_AMOUNT,0), 0),
                                                            0,'N',
                                                            'Y'),*/
                                  POD.CHANGE_IN_FUNDED_VALUE = 0
                        WHERE  POD.PO_DISTRIBUTION_ID IN
                               ( SELECT MAIN_PURCH.DISTRIBUTION_ID
                               FROM    PO_ENCUMBRANCE_GT MAIN_PURCH
                               WHERE   MAIN_PURCH.DISTRIBUTION_TYPE <> G_DIST_TYPE_REQUISITION
                                       -- DOC IS PO/PA/RELEASE
                               AND     MAIN_PURCH.ORIGIN_SEQUENCE_NUM IS NULL -- DOC IS MAIN DOC
                               AND     MAIN_PURCH.GL_STATUS_CODE            = 'A'
                               AND     MAIN_PURCH.CLM_DOC_FLAG              = 'Y'
                               AND     MAIN_PURCH.SEND_TO_GL_FLAG           = 'Y'
                               );
Line: 2580

						--Bug 15871378 commented out the update on encumbered_flag = 'N' when encumbered_amount = 0
                        UPDATE PO_REQ_DISTRIBUTIONS_ALL PRD
                        SET    /*PRD.Encumbered_Flag = DECODE(GREATEST(NVL(PRD.Encumbered_Amount,0), 0),
                                                            0,'N',
                                                            'Y')
                               ,*/
                               PRD.Unencumbered_Amount =
                               ( SELECT  MAX(NVL(PRD.Unencumbered_Amount,0))
                               FROM     PO_ENCUMBRANCE_GT TEMP
                               WHERE    TEMP.distribution_id   = PRD.distribution_id
                               AND      TEMP.CLM_DOC_FLAG      = 'Y'
                               AND      TEMP.distribution_type = g_dist_type_REQUISITION
                               GROUP BY TEMP.distribution_id
                               )
                        WHERE  PRD.distribution_id IN
                               ( SELECT BACKING_REQ.distribution_id
                               FROM    PO_ENCUMBRANCE_GT BACKING_REQ
                               WHERE   BACKING_REQ.distribution_type             = g_dist_type_REQUISITION
                               AND     BACKING_REQ.origin_sequence_num IS NOT NULL
                               AND     BACKING_REQ.CLM_DOC_FLAG                  = 'Y'
                               AND     BACKING_REQ.gl_status_code                = 'A'
                               AND     BACKING_REQ.send_to_gl_flag               = 'Y'
                               );
Line: 2609

						--Bug 15871378 commented out the update on encumbered_flag = 'N' when encumbered_amount = 0
                        UPDATE PO_REQ_DISTRIBUTIONS_ALL PRD
                        SET   /* PRD.ENCUMBERED_FLAG = DECODE(GREATEST(NVL(PRD.ENCUMBERED_AMOUNT,0), 0),
                                                            0,'N',
                                                            'Y'),*/
                                  PRD.CHANGE_IN_FUNDED_VALUE = 0
                        WHERE  PRD.DISTRIBUTION_ID IN
                               ( SELECT MAIN_REQ.DISTRIBUTION_ID
                               FROM    PO_ENCUMBRANCE_GT MAIN_REQ
                               WHERE   MAIN_REQ.DISTRIBUTION_TYPE = G_DIST_TYPE_REQUISITION
                                       -- DOC IS PO/PA/RELEASE
                               AND     MAIN_REQ.ORIGIN_SEQUENCE_NUM IS NULL -- DOC IS MAIN DOC
                               AND     MAIN_REQ.GL_STATUS_CODE            = 'A'
                               AND     MAIN_REQ.CLM_DOC_FLAG              = 'Y'
                               AND     MAIN_REQ.SEND_TO_GL_FLAG           = 'Y'
                               );
Line: 2670

END update_successful_rows;
Line: 2701

PROCEDURE update_failed_rows(
  p_doc_type                       IN             VARCHAR2
, p_action                         IN             VARCHAR2
) IS

l_api_name  CONSTANT varchar2(40) := 'UPDATE_FAILED_ROWS';
Line: 2730

   UPDATE PO_REQ_DISTRIBUTIONS_ALL PRD
   SET PRD.failed_funds_lookup_code
   =
   (
       SELECT TEMP.gl_result_code
       FROM PO_ENCUMBRANCE_GT TEMP
       WHERE TEMP.distribution_id = PRD.distribution_id
       AND TEMP.distribution_type = g_dist_type_REQUISITION
       AND rownum = 1
          -- handles case with 2 same dist_ids in same packet (Adjust)
   )
   WHERE PRD.distribution_id in
   (
       SELECT REQ_DISTS.distribution_id
       FROM PO_ENCUMBRANCE_GT REQ_DISTS
       WHERE REQ_DISTS.distribution_type = g_dist_type_REQUISITION
       AND REQ_DISTS.origin_sequence_num IS NULL
       AND REQ_DISTS.gl_status_code = 'R'
       AND REQ_DISTS.prevent_encumbrance_flag = 'N'
   );
Line: 2755

                          'Updated Req dists failed funds code: ' || l_debug_count);
Line: 2765

   UPDATE PO_DISTRIBUTIONS_ALL POD
   SET POD.failed_funds_lookup_code
   =
   (
       SELECT TEMP.gl_result_code
       FROM PO_ENCUMBRANCE_GT TEMP
       WHERE TEMP.distribution_id = POD.po_distribution_id
       AND TEMP.distribution_type <> g_dist_type_REQUISITION
       AND rownum = 1
           -- handles case with 2 same dist_ids in same packet (Adjust)
   )
   WHERE POD.po_distribution_id in
   (
       SELECT PO_DISTS.distribution_id
       FROM PO_ENCUMBRANCE_GT PO_DISTS
       WHERE PO_DISTS.distribution_type <> g_dist_type_REQUISITION
       AND PO_DISTS.origin_sequence_num IS NULL
       AND PO_DISTS.gl_status_code = 'R'
       AND PO_DISTS.prevent_encumbrance_flag = 'N'
   );
Line: 2790

                          'Updated PO/Rel dists failed funds code: ' || l_debug_count);
Line: 2808

END update_failed_rows;
Line: 2860

UPDATE PO_REQUISITION_LINES_ALL PRL
SET encumbered_flag
=
(
   -- Bug 3537764: Modified SET logic to handle the all distributions prevented case
    SELECT NVL(min(prd.encumbered_flag), 'N')
    FROM PO_REQ_DISTRIBUTIONS_ALL PRD
    WHERE PRD.requisition_line_id = PRL.requisition_line_id
    AND NVL(PRD.prevent_encumbrance_flag, 'N') = 'N'

), /* Updating these cols also for bug#13930578 */
       PRL.last_update_date = sysdate,
      PRL.last_updated_by = fnd_global.user_id,
      PRL.last_update_login = fnd_global.login_id

WHERE PRL.requisition_line_id IN
(
    SELECT TEMP.line_id
    FROM PO_ENCUMBRANCE_GT TEMP
    WHERE TEMP.gl_status_code = 'A'
    AND TEMP.distribution_type = g_dist_type_REQUISITION
    AND (
         (TEMP.send_to_gl_flag = 'Y')   --bug 3568512: use new column
           or
         ((p_action = g_action_REQ_SPLIT) and (TEMP.modified_by_agent_flag = 'Y'))
        )
    -- Bug 3537764: do not filter on prevent_encumbrance flag for req split action
    -- This is so we can set the encumbered flag to 'N' for the old pre-split line
    -- That old line has prevent_enc_flag = 'Y', and was being missed before this fix.
    -- Also, this means that the rollup query in the SET clause can no longer assume
    -- that it doesn't need to worry about the all distributions prevented case.
);
Line: 2897

                       'Updated Req lines: ' || l_debug_count);
Line: 2907

UPDATE PO_LINE_LOCATIONS_ALL POLL
SET encumbered_flag
=
(
   -- Bug 3537764: Modified SET logic to handle the all distributions prevented case
    SELECT NVL(min(pod.encumbered_flag), 'N')
    FROM PO_DISTRIBUTIONS_ALL POD
    WHERE POD.line_location_id = POLL.line_location_id
    AND NVL(POD.prevent_encumbrance_flag, 'N') = 'N'
  ), /* Updating these cols also for bug#13930578 */
       POLL.last_update_date = sysdate,
      POLL.last_updated_by = fnd_global.user_id,
      POLL.last_update_login = fnd_global.login_id
WHERE POLL.line_location_id IN
(
    SELECT TEMP.line_location_id
    FROM PO_ENCUMBRANCE_GT TEMP
    WHERE TEMP.gl_status_code = 'A'
    AND TEMP.distribution_type IN (g_dist_type_STANDARD, g_dist_type_PLANNED,
                                   g_dist_type_SCHEDULED, g_dist_type_BLANKET)
    AND TEMP.send_to_gl_flag = 'Y'  --bug 3568512: use new column
-- this makes sure that there is atleast one distribution that can be reserved
);
Line: 2935

                       'Updated PO shipments: ' || l_debug_count);
Line: 3015

l_update_doc_type_tbl      po_tbl_varchar30;
Line: 3016

l_update_doc_id_tbl        po_tbl_number;
Line: 3018

l_insert_doc_type_tbl      po_tbl_varchar30;
Line: 3019

l_insert_doc_id_tbl        po_tbl_number;
Line: 3020

l_insert_doc_subtype_tbl   po_tbl_varchar30;
Line: 3021

l_insert_action_code_tbl   po_tbl_varchar30;
Line: 3022

l_insert_rev_num_tbl       po_tbl_number;
Line: 3029

l_update_count             NUMBER;
Line: 3030

l_insert_count             NUMBER;
Line: 3084

INSERT INTO PO_SESSION_GT
(  key
,  num1
)
VALUES
(  l_gt_key
,  p_doc_id_tbl(i)
);
Line: 3101

   UPDATE PO_SESSION_GT SCRATCH
   SET
   (  num2
   ,  char1
   ,  char2
   )
   =
   (  SELECT
         POH.revision_num
      ,  POH.authorization_status
      ,  POH.type_lookup_code
      FROM
         PO_HEADERS_ALL POH
      WHERE POH.po_header_id = SCRATCH.num1
   )
   WHERE SCRATCH.key = l_gt_key
   ;
Line: 3125

   UPDATE PO_SESSION_GT SCRATCH
   SET
   (  num2
   ,  char1
   ,  char2
   )
   =
   (  SELECT
         POR.revision_num
      ,  POR.authorization_status
      ,  POR.release_type
      FROM
         PO_RELEASES_ALL POR
      WHERE POR.po_release_id = SCRATCH.num1
   )
   WHERE SCRATCH.key = l_gt_key
   ;
Line: 3151

   UPDATE PO_SESSION_GT SCRATCH
   SET
   (  char1
   ,  char2
   )
   =
   (  SELECT
         PRH.authorization_status
      ,  PRH.type_lookup_code
      FROM
         PO_REQUISITION_HEADERS_ALL PRH
      WHERE PRH.requisition_header_id = SCRATCH.num1
   )
   WHERE SCRATCH.key = l_gt_key
   ;
Line: 3175

UPDATE PO_SESSION_GT SCRATCH
SET char3 =
   (  SELECT 'Y'
      FROM PO_ACTION_HISTORY POAH
      WHERE POAH.object_type_code = p_doc_type
      AND POAH.object_id = SCRATCH.num1
      AND POAH.action_code IS NULL
      AND POAH.employee_id = p_employee_id
   )
WHERE SCRATCH.key = l_gt_key
;
Line: 3206

SELECT
   SCRATCH.num1
,  SCRATCH.num2
,  SCRATCH.char1
,  SCRATCH.char2
,  SCRATCH.char3
BULK COLLECT INTO
   l_orig_doc_id_tbl
,  l_orig_rev_num_tbl
,  l_orig_auth_status_tbl
,  l_orig_doc_subtype_tbl
,  l_orig_null_flag_tbl
FROM
   PO_SESSION_GT SCRATCH
WHERE SCRATCH.key = l_gt_key
;
Line: 3227

l_update_doc_id_tbl        := po_tbl_number();
Line: 3229

l_insert_doc_id_tbl        := po_tbl_number();
Line: 3230

l_insert_doc_subtype_tbl   := po_tbl_varchar30();
Line: 3231

l_insert_action_code_tbl   := po_tbl_varchar30();
Line: 3232

l_insert_rev_num_tbl       := po_tbl_number();
Line: 3260

      l_update_doc_id_tbl.EXTEND;
Line: 3261

      l_update_doc_id_tbl(l_update_doc_id_tbl.LAST) := l_doc_id;
Line: 3279

         l_insert_doc_id_tbl.EXTEND;
Line: 3280

         l_insert_doc_subtype_tbl.EXTEND;
Line: 3281

         l_insert_action_code_tbl.EXTEND;
Line: 3282

         l_insert_rev_num_tbl.EXTEND;
Line: 3284

         l_index := l_insert_doc_id_tbl.LAST;
Line: 3286

         l_insert_doc_id_tbl(l_index)        := l_doc_id;
Line: 3287

         l_insert_doc_subtype_tbl(l_index)   := l_doc_subtype;
Line: 3288

         l_insert_action_code_tbl(l_index)   := NULL;
Line: 3289

         l_insert_rev_num_tbl(l_index)       := l_rev_num;
Line: 3301

      l_insert_doc_id_tbl.EXTEND;
Line: 3302

      l_insert_doc_subtype_tbl.EXTEND;
Line: 3303

      l_insert_action_code_tbl.EXTEND;
Line: 3304

      l_insert_rev_num_tbl.EXTEND;
Line: 3306

      l_index := l_insert_doc_id_tbl.LAST;
Line: 3308

      l_insert_doc_id_tbl(l_index)        := l_doc_id;
Line: 3309

      l_insert_doc_subtype_tbl(l_index)   := l_doc_subtype;
Line: 3310

      l_insert_action_code_tbl(l_index)   := l_record_action;
Line: 3311

      l_insert_rev_num_tbl(l_index)       := l_rev_num;
Line: 3319

l_update_count := l_update_doc_id_tbl.COUNT;
Line: 3320

l_insert_count := l_insert_doc_id_tbl.COUNT;
Line: 3324

IF (l_update_count > 0) THEN

   l_progress := '320';
Line: 3332

   l_update_doc_type_tbl := po_tbl_varchar30(p_doc_type);
Line: 3333

   l_update_doc_type_tbl.EXTEND(l_update_count-1, 1);
Line: 3337

   PO_ACTION_HISTORY_SV.update_action_history(
      p_doc_id_tbl   => l_update_doc_id_tbl
   ,  p_doc_type_tbl => l_update_doc_type_tbl
   ,  p_action_code  => l_record_action
   ,  p_employee_id  => p_employee_id
   );
Line: 3350

IF (l_insert_count > 0) THEN

   l_progress := '410';
Line: 3358

   l_insert_doc_type_tbl := po_tbl_varchar30(p_doc_type);
Line: 3359

   l_insert_doc_type_tbl.EXTEND(l_insert_count-1, 1);
Line: 3363

   PO_ACTION_HISTORY_SV.insert_action_history(
      p_doc_id_tbl            => l_insert_doc_id_tbl
   ,  p_doc_type_tbl          => l_insert_doc_type_tbl
   ,  p_doc_subtype_tbl       => l_insert_doc_subtype_tbl
   ,  p_doc_revision_num_tbl  => l_insert_rev_num_tbl
   ,  p_action_code_tbl       => l_insert_action_code_tbl
   ,  p_employee_id           => p_employee_id
   );
Line: 3485

   UPDATE PO_LINE_LOCATIONS_ALL POLL
   SET    POLL.approved_flag = 'R',
   POLL.last_update_date = sysdate,
   POLL.last_updated_by = fnd_global.user_id,
   POLL.last_update_login = fnd_global.login_id
   WHERE  POLL.po_release_id is NULL
   AND    nvl(POLL.approved_flag,'N') = 'Y'
   AND    EXISTS
   (
          SELECT 'UNRESERVED DISTRIBUTION EXISTS'
          FROM PO_ENCUMBRANCE_GT TEMP
          WHERE TEMP.gl_status_code = l_affected_gl_status_code
          AND TEMP.send_to_gl_flag = 'Y'  --bug 3568512: use new column
          AND TEMP.line_location_id = POLL.line_location_id
          AND TEMP.distribution_type IN
                  (g_dist_type_STANDARD, g_dist_type_PLANNED)
   );
Line: 3506

                          'PO Shipment flags updated : ' || l_debug_count);
Line: 3520

   UPDATE PO_HEADERS_ALL POH
   SET POH.authorization_status = 'REQUIRES REAPPROVAL',
   POH.approved_flag = 'R',
   POH.last_update_date = sysdate,
   POH.last_updated_by = fnd_global.user_id,
   POH.last_update_login = fnd_global.login_id
   WHERE nvl(POH.approved_flag,'N') = 'Y' -- if approved
   AND EXISTS
   (
       SELECT 'UNRESERVED DISTRIBUTION EXISTS'
       FROM PO_ENCUMBRANCE_GT TEMP
       WHERE TEMP.gl_status_code = l_affected_gl_status_code
       AND TEMP.send_to_gl_flag = 'Y'  --bug 3568512: use new column
       AND TEMP.header_id = POH.po_header_id
       AND TEMP.distribution_type IN
               (g_dist_type_STANDARD, g_dist_type_PLANNED)
   );
Line: 3541

                          'PO Headers updated : ' || l_debug_count);
Line: 3558

   UPDATE PO_HEADERS_ALL POH
   SET POH.authorization_status = 'REQUIRES REAPPROVAL',
   POH.approved_flag = 'R',
   POH.last_update_date = sysdate,
   POH.last_updated_by = fnd_global.user_id,
   POH.last_update_login = fnd_global.login_id
   WHERE nvl(POH.approved_flag,'N') = 'Y' -- if approved
   AND EXISTS
   (
       SELECT 'UNRESERVED SINGLE DISTRIBUTION EXISTS'
       FROM PO_ENCUMBRANCE_GT TEMP
       WHERE TEMP.gl_status_code = l_affected_gl_status_code
       AND TEMP.send_to_gl_flag = 'Y'  --bug 3568512: use new column
       AND TEMP.header_id = POH.po_header_id
       AND TEMP.distribution_type  = g_dist_type_AGREEMENT
   );
Line: 3578

                          'PA Headers updated : ' || l_debug_count);
Line: 3592

   UPDATE PO_LINE_LOCATIONS_ALL POLL
   SET    POLL.approved_flag = 'R',
   POLL.last_update_date = sysdate,
   POLL.last_updated_by = fnd_global.user_id,
   POLL.last_update_login = fnd_global.login_id
   WHERE  POLL.po_release_id is NOT NULL
   AND    nvl(POLL.approved_flag,'N') = 'Y' -- if approved
   AND    EXISTS
   (
          SELECT 'UNRESERVED DISTRIBUTION EXISTS'
          FROM PO_ENCUMBRANCE_GT TEMP
          WHERE TEMP.gl_status_code = l_affected_gl_status_code
          AND TEMP.send_to_gl_flag = 'Y'  --bug 3568512: use new column
          AND TEMP.line_location_id = POLL.line_location_id
          AND TEMP.distribution_type IN
                  (g_dist_type_SCHEDULED, g_dist_type_BLANKET)
   );
Line: 3613

                          'Release shipments updated : ' || l_debug_count);
Line: 3625

   UPDATE PO_RELEASES_ALL POR
   SET POR.authorization_status = 'REQUIRES REAPPROVAL',
   POR.approved_flag = 'R',
   POR.last_update_date = sysdate,
   POR.last_updated_by = fnd_global.user_id,
   POR.last_update_login = fnd_global.login_id
   WHERE nvl(POR.approved_flag,'N') = 'Y' -- if approved
   AND EXISTS
   (
       SELECT 'UNRESERVED DISTRIBUTION EXISTS'
       FROM PO_ENCUMBRANCE_GT TEMP
       WHERE TEMP.gl_status_code = l_affected_gl_status_code
       AND TEMP.send_to_gl_flag = 'Y'  --bug 3568512: use new column
       AND TEMP.po_release_id = POR.po_release_id
       AND TEMP.distribution_type IN
                  (g_dist_type_SCHEDULED, g_dist_type_BLANKET)
   );
Line: 3646

                          'Release Headers updated : ' || l_debug_count);
Line: 3759

UPDATE PO_ENCUMBRANCE_GT DISTS
SET DISTS.result_text =
    (
       DECODE( DISTS.distribution_type
             , g_dist_type_AGREEMENT, ''
             , g_dist_type_REQUISITION,
               (  l_line_token || DISTS.line_num
                  || l_delim || l_distribution_token || DISTS.distribution_num
                  || l_delim
               )
             , -- all other docs
               (  l_line_token || DISTS.line_num
                  || l_delim || l_shipment_token || DISTS.shipment_num
                  || l_delim || l_distribution_token || DISTS.distribution_num
                  || l_delim
               )
       )
     || DISTS.result_text
    )
WHERE DISTS.origin_sequence_num IS NULL
AND   DISTS.result_text IS NOT NULL;
Line: 3789

SELECT
   nvl(DISTS.row_index, DISTS.sequence_num)
,  DISTS.line_num
,  DISTS.shipment_num
,  DISTS.distribution_num
,  DISTS.distribution_id
,  DISTS.gl_result_code
,  DISTS.result_type
,  DISTS.result_text
,   CASE --
    WHEN nvl(DISTS.prevent_encumbrance_flag,'N')='Y' THEN
        'Y'
    WHEN DISTS.period_name IS NULL THEN
        'Y'
    ELSE
        'N'
    END CASE
,  DISTS.segment1                 --
,  DISTS.distribution_type        --
BULK COLLECT INTO
   l_sequence_num_tbl
,  l_line_num_tbl
,  l_shipment_num_tbl
,  l_distribution_num_tbl
,  l_distribution_id_tbl
,  l_result_code_tbl
,  l_message_type_tbl
,  l_text_line_tbl
,  l_show_in_psa_tbl        --
,  l_segment1_tbl           --
,  l_distribution_type_tbl  --
FROM PO_ENCUMBRANCE_GT DISTS
WHERE DISTS.origin_sequence_num IS NULL  --main doc only
AND   DISTS.result_text IS NOT NULL
AND  (DISTS.adjustment_status IS NULL OR
      DISTS.adjustment_status = g_adjustment_status_NEW
--bug 3378198: for Adjust, only report on new distributions
)
;
Line: 3839

insert_report_autonomous(
   p_reporting_level 		=> g_REPORT_LEVEL_DISTRIBUTION
,  p_message_text 		=> NULL
,  p_user_id			=> p_user_id
,  p_sequence_num_tbl		=> l_sequence_num_tbl
,  p_line_num_tbl		=> l_line_num_tbl
,  p_shipment_num_tbl		=> l_shipment_num_tbl
,  p_distribution_num_tbl	=> l_distribution_num_tbl
,  p_distribution_id_tbl	=> l_distribution_id_tbl
,  p_result_code_tbl		=> l_result_code_tbl
,  p_message_type_tbl		=> l_message_type_tbl
,  p_text_line_tbl		=> l_text_line_tbl
,  p_show_in_psa_flag   => l_show_in_psa_tbl        --
,  p_segment1_tbl       => l_segment1_tbl           --
,  p_distribution_type_tbl=>l_distribution_type_tbl --
,  x_online_report_id  		=> x_online_report_id
);
Line: 3870

      SELECT 'Y'
      INTO l_error_rows_flag
      FROM PO_ENCUMBRANCE_GT DISTS
      WHERE DISTS.result_type = g_result_ERROR
      AND rownum = 1;
Line: 3892

       SELECT 'Y'
       INTO l_warning_rows_flag
       FROM PO_ENCUMBRANCE_GT DISTS
       WHERE DISTS.result_type = g_result_WARNING
       AND DISTS.origin_sequence_num IS NULL  --bug 3589694
       AND rownum = 1;
Line: 4014

insert_report_autonomous(
   p_reporting_level       => g_REPORT_LEVEL_TRANSACTION
,  p_message_text          => p_message_text
,  p_user_id               => p_user_id
,  p_sequence_num_tbl      => NULL
,  p_line_num_tbl          => NULL
,  p_shipment_num_tbl      => NULL
,  p_distribution_num_tbl  => NULL
,  p_distribution_id_tbl   => NULL
,  p_result_code_tbl       => NULL
,  p_message_type_tbl      => NULL
,  p_text_line_tbl         => NULL
,  p_show_in_psa_flag  => NULL    --
,  p_segment1_tbl       => NULL   --
,  p_distribution_type_tbl=> NULL --
,  x_online_report_id      => x_online_report_id
);
Line: 4109

PROCEDURE insert_report_autonomous(
   p_reporting_level 		IN VARCHAR2
,  p_message_text 		IN VARCHAR2
,  p_user_id			IN NUMBER
,  p_sequence_num_tbl		IN po_tbl_number
,  p_line_num_tbl		IN po_tbl_number
,  p_shipment_num_tbl		IN po_tbl_number
,  p_distribution_num_tbl	IN po_tbl_number
,  p_distribution_id_tbl	IN po_tbl_number
,  p_result_code_tbl		IN po_tbl_varchar5
,  p_message_type_tbl		IN po_tbl_varchar1
,  p_text_line_tbl		IN po_tbl_varchar2000
,  p_show_in_psa_flag IN po_tbl_varchar1      --
,  p_segment1_tbl     IN po_tbl_varchar20     --
,  p_distribution_type_tbl IN po_tbl_varchar25--
,  x_online_report_id  		OUT NOCOPY NUMBER
)
IS
PRAGMA AUTONOMOUS_TRANSACTION;
Line: 4129

l_api_name	CONSTANT varchar2(30) := 'INSERT_REPORT_AUTONOMOUS';
Line: 4155

SELECT 	PO_ONLINE_REPORT_TEXT_S.nextval
INTO	l_report_id
FROM	dual;
Line: 4181

   INSERT INTO PO_ONLINE_REPORT_TEXT(
          online_report_id
       ,  sequence
       ,  last_updated_by
       ,  last_update_date
       ,  created_by
       ,  creation_date
       ,  transaction_type
       ,  message_type
       ,  text_line
       ,  show_in_psa_flag  --
       ,  segment1
       )
     select l_report_id
       ,  0                       -- sequence
       ,  l_user_id               -- updated by
       ,  SYSDATE                 -- update date
       ,  l_user_id               -- created by
       ,  SYSDATE                 -- creation date
       ,  g_module_ENCUMBRANCE    -- transaction type
       ,  g_result_TRANSACTION    -- message type
       ,  pba.ENCODED_MSG
       ,  'Y'               --
       ,   poh.segment1
       from psa_xla_accounting_errors pba,po_headers_all  poh
       where pba.event_id = PO_ENCUMBRANCE_POSTPROCESSING.g_event_id
       and   pba.source_id_int_1 = poh.po_header_id

       UNION ALL

     select l_report_id
       ,  0                       -- sequence
       ,  l_user_id               -- updated by
       ,  SYSDATE                 -- update date
       ,  l_user_id               -- created by
       ,  SYSDATE                 -- creation date
       ,  g_module_ENCUMBRANCE    -- transaction type
       ,  g_result_TRANSACTION    -- message type
       ,  pba.ENCODED_MSG
       ,  'Y'               --
       ,   prh.segment1
       from psa_xla_accounting_errors pba,po_requisition_headers_all  prh
       where pba.event_id = PO_ENCUMBRANCE_POSTPROCESSING.g_event_id
       and   pba.source_id_int_1 = prh.requisition_header_id;
Line: 4259

   INSERT INTO PO_ONLINE_REPORT_TEXT(
      online_report_id
   ,  sequence
   ,  last_updated_by
   ,  last_update_date
   ,  created_by
   ,  creation_date
   ,  transaction_type
   ,  message_type
   ,  text_line
   ,  show_in_psa_flag  --
   )
   VALUES(
      l_report_id
   ,  0                       -- sequence
   ,  l_user_id               -- updated by
   ,  SYSDATE                 -- update date
   ,  l_user_id               -- created by
   ,  SYSDATE                 -- creation date
   ,  g_module_ENCUMBRANCE    -- transaction type
   ,  g_result_TRANSACTION    -- message type
   ,  l_message_text
   ,  'Y'               --
   );
Line: 4288

   INSERT INTO PO_ONLINE_REPORT_TEXT(
      online_report_id
   ,  sequence
   ,  last_updated_by
   ,  last_update_date
   ,  created_by
   ,  creation_date
   ,  line_num
   ,  shipment_num
   ,  distribution_num
   ,  transaction_id
   ,  transaction_type
   ,  transaction_location
   ,  message_type
   ,  text_line
   ,  show_in_psa_flag    --
   ,  segment1            --
   ,  distribution_type   --
   )
   VALUES(
      l_report_id
   ,  NVL(p_sequence_num_tbl(i),0)
   ,  l_user_id
   ,  SYSDATE
   ,  l_user_id
   ,  SYSDATE
   ,  p_line_num_tbl(i)
   ,  p_shipment_num_tbl(i)
   ,  p_distribution_num_tbl(i)
   ,  p_distribution_id_tbl(i)
   ,  g_module_ENCUMBRANCE
   ,  p_result_code_tbl(i)
   ,  p_message_type_tbl(i)
   ,  NVL(p_text_line_tbl(i),l_message_text)
   ,  p_show_in_psa_flag(i)         --
   ,  p_segment1_tbl(i)             --
   ,  p_distribution_type_tbl(i)    --
   );
Line: 4349

END insert_report_autonomous;
Line: 4375

PROCEDURE delete_packet_autonomous(
  p_packet_id                      IN     NUMBER
)
IS

  l_proc_name CONSTANT VARCHAR2(30) := 'DELETE_PACKET_AUTONOMOUS';
Line: 4388

    SELECT event_id
    FROM   PSA_BC_XLA_EVENTS_GT;
Line: 4403

    xla_events_pub_pkg.DELETE_EVENT
                       (
                        p_event_source_info    => NULL,
                        p_event_id             => REC_EVENTS.event_id,
                        p_valuation_method     => NULL,
                        p_security_context     => NULL
                       );
Line: 4414

    PO_DEBUG.debug_stmt(l_log_head,l_progress,'Delete Packet GL API Called');
Line: 4421

    PO_DEBUG.debug_stmt(l_log_head,l_progress,'Delete Packet Committed');
Line: 4432

END delete_packet_autonomous;
Line: 4465

PROCEDURE Delete_PO_BC_Distributions (
  p_packet_id                      IN           NUMBER
 )
IS
BEGIN

  -- Delete all records for the packet processed from po_bc_distributions
  DELETE FROM po_bc_distributions
  WHERE packet_id = p_packet_id;
Line: 4475

END Delete_PO_BC_Distributions;
Line: 4522

    UPDATE
        PO_BC_DISTRIBUTIONS
        SET online_report_id=p_online_report_id
    WHERE reference15 in
        (
           SELECT reference15
           FROM po_encumbrance_gt
           WHERE send_to_gl_flag='Y'
        );