DBA Data[Home] [Help]

APPS.PON_VALIDATE_SHIPMENTS_INT SQL Statements

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

Line: 51

        print_debug_log(l_module,'Before insert all valiations of validate_creation for p_batch_id = '||p_batch_id);
Line: 54

	SELECT doctype_id INTO l_doctype_id FROM pon_auction_headers_all WHERE auction_Header_id = p_auction_header_id;
Line: 57

  SELECT
          pon_auc_doctype_rules.DEFAULT_VALUE  INTO  l_is_fed
        FROM PON_AUC_DOCTYPE_RULES pon_auc_doctype_rules,
             PON_AUC_BIZRULES pon_auc_bizrules
        WHERE pon_auc_doctype_rules.BIZRULE_ID = pon_auc_bizrules.BIZRULE_ID
          AND pon_auc_doctype_rules.DOCTYPE_ID = l_doctype_id
          AND pon_auc_bizrules.NAME = 'FEDERAL_NEGOTIATION';
Line: 70

 SELECT price_tiers_indicator INTO l_price_tiers_indicator
 FROM pon_auction_headers_all WHERE auction_header_id = p_auction_header_id;
Line: 74

 UPDATE pon_auc_price_breaks_interface pb_int
   SET auction_line_number =
    (SELECT line_number
       FROM pon_auction_item_prices_all
      WHERE LINE_NUM_DISPLAY = pb_int.DOCUMENT_DISP_LINE_NUMBER
      AND auction_header_id = p_auction_header_id
    )
    WHERE batch_id = p_batch_id;
Line: 84

 UPDATE pon_auc_price_breaks_interface pb_int
   SET auction_line_number =
    (SELECT line_number
       FROM pon_auction_item_prices_all
      WHERE DOCUMENT_DISP_LINE_NUMBER = pb_int.DOCUMENT_DISP_LINE_NUMBER
      AND auction_header_id = p_auction_header_id
    )
    WHERE batch_id = p_batch_id;
Line: 112

 PROCEDURE:  UPDATE_SHIPMENT_NUMBER    PRIVATE
   PARAMETERS:
   COMMENT   :  This procedure is used to update the shipment number
======================================================================*/



PROCEDURE update_shipment_number(p_batch_id NUMBER, p_auction_header_id NUMBER)
  AS

CURSOR c_interface_lines
  IS
    SELECT DISTINCT auction_line_number
    FROM pon_auc_price_breaks_interface
      WHERE BATCH_ID       = p_batch_Id
    AND AUCTION_HEADER_ID = p_auction_header_id;
Line: 131

    SELECT interface_line_id
    FROM pon_auc_price_breaks_interface
      WHERE BATCH_ID       =p_batch_Id
      AND AUCTION_HEADER_ID = p_auction_header_id
      AND auction_line_number = l_line_number
      AND Nvl(shipment_number,-1) NOT IN(SELECT shipment_number FROM pon_auction_shipments_all
                                        WHERE auction_header_id = p_auction_header_id
                                        AND line_number = l_line_number );
Line: 155

SELECT Nvl(max(shipment_number),-1) INTO l_shipment_number
FROM pon_auction_shipments_all
WHERE auction_header_id = p_auction_header_id
AND line_number = c_interface_lines_rec.auction_line_number;
Line: 167

    UPDATE  pon_auc_price_breaks_interface SET shipment_number = l_shipment_number
    WHERE batch_id= p_batch_id
    AND auction_header_id = p_auction_header_id
    AND interface_line_id = c_interface_ship_count_rec.interface_line_id;
Line: 189

END update_shipment_number;
Line: 212

    update_shipment_number(p_batch_id, p_auction_header_id);
Line: 214

	-- Update lines table with values in the interface table
	MERGE INTO pon_auction_shipments_all sl
	USING
		(SELECT
		  pasi.auction_header_id,
			pasi.auction_line_number,
			pasi.document_disp_line_number,
			pasi.batch_id,
			pasi.interface_line_id,
      pasi.shipment_type,
      pasi.shipment_number,
      pasi.ship_to_organization_id,
			pasi.ship_to_location_id,
			pasi.quantity,
			pasi.price,
      pasi.min_quantity,
      pasi.max_quantity,
			pasi.org_id,
      pasi.effective_start_date,
      pasi.effective_end_date,
      paip.price_break_type,
			pah.price_tiers_indicator
			FROM pon_auc_price_breaks_interface pasi,
		     pon_auction_item_prices_all paip,
		     pon_auction_headers_all pah
		WHERE     pasi.batch_id = p_batch_id
        AND   pasi.auction_header_id = p_auction_header_id
        AND   pasi.auction_header_id = paip.auction_header_id
        AND   pasi.auction_line_number = paip.line_number
        AND   pah.auction_header_id = pasi.auction_header_id
        AND   Nvl(paip.clm_info_flag,'N') = 'N'

        ) ship
	ON (sl.shipment_number = ship.shipment_number
		AND sl.line_number = ship.auction_line_number
		AND sl.auction_header_id = ship.auction_header_id)
	WHEN MATCHED THEN
		UPDATE SET
			sl.shipment_type 		  = ship.shipment_type,
			sl.ship_to_organization_id 	  = decode(ship.price_tiers_indicator, 'PRICE_BREAKS',ship.ship_to_organization_id,null),
			sl.ship_to_location_id 		  = decode(ship.price_tiers_indicator, 'PRICE_BREAKS',ship.ship_to_location_id,null),
			sl.quantity 			  = decode(ship.price_tiers_indicator, 'PRICE_BREAKS',ship.quantity,ship.min_quantity),
			sl.PRICE 		          = ship.price,
			sl.max_quantity 		  = decode(ship.price_tiers_indicator, 'QUANTITY_BASED',ship.max_quantity,null),
			sl.org_id                         = ship.org_id,
                        sl.effective_start_date           = decode(ship.price_break_type, 'NON-CUMULATIVE',ship.effective_start_date,null),
                        sl.effective_end_date             = decode(ship.price_break_type, 'NON-CUMULATIVE',ship.effective_end_date,null),
                        sl.last_update_date				        = sysdate,
			sl.last_updated_by				        = fnd_global.user_id,
			sl.last_update_login			        = fnd_global.login_id
	WHEN NOT MATCHED THEN
	     INSERT (
	            AUCTION_HEADER_ID,
	            LINE_NUMBER,
	            SHIPMENT_NUMBER,
	            shipment_type,
	            ship_to_organization_id,
	            ship_to_location_id,
	            quantity,
	            org_id,
	            PRICE, -- Auction Currency price
	            effective_start_date,
	            effective_end_date,
                    max_quantity,
	            has_price_differentials_flag,
                    CREATION_DATE,
                    CREATED_BY                        ,
	            LAST_UPDATE_DATE                  ,
	            LAST_UPDATED_BY                   ,
	            LAST_UPDATE_LOGIN
	            )
	     VALUES (
	            ship.auction_header_id,
	            ship.auction_line_number,
	            ship.shipment_number,
              ship.shipment_type,
	            decode(ship.price_tiers_indicator, 'PRICE_BREAKS',ship.ship_to_organization_id,null),
	            decode(ship.price_tiers_indicator, 'PRICE_BREAKS',ship.ship_to_location_id,null),
	            decode(ship.price_tiers_indicator, 'PRICE_BREAKS',ship.quantity,ship.min_quantity),
	            ship.org_id,
	            ship.price,
	            decode(ship.price_break_type, 'NON-CUMULATIVE',ship.effective_start_date,null),
	            decode(ship.price_break_type, 'NON-CUMULATIVE',ship.effective_end_date,null),
	            decode(ship.price_tiers_indicator, 'QUANTITY_BASED',ship.max_quantity,null),
	            'N',
              SYSDATE                               ,
	            fnd_global.user_id                    ,
	            SYSDATE                               ,
	            fnd_global.user_id                    ,
	            fnd_global.login_id
	            ) ;
Line: 312

    UPDATE pon_auction_item_prices_all
    SET has_shipments_flag= 'Y'
    WHERE auction_header_id= p_auction_header_id
    AND line_number IN(SELECT line_number FROM pon_auc_price_breaks_interface
                   WHERE batch_id = p_batch_id
                   AND auction_header_id = p_auction_header_id);
Line: 321

    delete from pon_auc_price_breaks_interface where batch_id = p_batch_id;
Line: 325

        l_progress := 'delete from pon_auc_shipments_interface completed for p_batch_id = '||p_batch_id;
Line: 372

 SELECT price_tiers_indicator INTO l_price_tiers_indicator
 FROM pon_auction_headers_all WHERE auction_header_id = p_auction_header_id;
Line: 375

    UPDATE pon_auc_price_breaks_interface pb_int
   SET SHIP_TO_ORGANIZATION_ID =
    (SELECT ORGANIZATION_ID
       FROM org_organization_definitions
      WHERE organization_code = pb_int.SHIP_TO_ORGANIZATION
    )
    WHERE batch_id = p_batch_id
    AND SHIP_TO_ORGANIZATION IS NOT NULL;
Line: 384

   UPDATE pon_auc_price_breaks_interface pb_int
   SET ship_to_location_id =
    (SELECT MAX(location_id)
       FROM po_ship_to_loc_org_v po_v
      WHERE replace(po_v.location_code,fnd_global.local_chr(9),'') = pb_int.ship_to_location
    )
    WHERE batch_id = p_batch_id
    AND ship_to_location IS NOT null;
Line: 394

   INSERT ALL
    -- PRICE BREAK EFFECTIVE START DATE SHOULD BE BEFORE EFFECTIVE END DATE
    WHEN ( sel_effective_start_date IS NOT NULL
    AND sel_effective_end_date      IS NOT NULL
    AND sel_effective_end_date       < sel_effective_start_date
    AND nvl(sel_clm_info_flag,'N') = 'N') THEN
     INTO PON_INTERFACE_ERRORS
    (
      COLUMN_NAME       ,
      INTERFACE_TYPE    ,
      ERROR_MESSAGE_NAME,
      REQUEST_ID        ,
      BATCH_ID          ,
      ENTITY_TYPE       ,
      AUCTION_HEADER_ID ,
      LINE_NUMBER       ,
      SHIPMENT_NUMBER   ,
      EXPIRATION_DATE   ,
      TOKEN1_NAME       ,
      TOKEN1_VALUE      ,
      interface_line_id ,
      CREATED_BY        ,
      CREATION_DATE     ,
      LAST_UPDATED_BY   ,
      LAST_UPDATE_DATE  ,
      LAST_UPDATE_LOGIN
    )
    VALUES
    (
      pon_auction_pkg.getMessage('PON_AUC_EFFEC_TO'),
      l_interface_type              , --INTERFACE_TYPE
      'PON_AUCTS_EFFC_END_BEF_START', -- ERROR_MESSAGE_NAME
      p_request_id                  , -- REQUEST_ID
      p_batch_id                    , --BATCH_ID
      g_auction_pbs_type            , -- ENTITY_TYPE
      p_auction_header_id           , -- AUCTION_HEADER_ID
      sel_line_number               , -- LINE_NUMBER
      sel_shipment_number           , -- SHIPMENT_NUMBER
      l_exp_date             , -- EXPIRATION_DATE
      'LINENUM'                     , -- TOKEN1_NAME
      sel_document_disp_line_number , -- TOKEN1_VALUE
      interface_line_number         ,
      l_user_id                     , -- CREATED_BY
      sysdate                       , -- CREATION_DATE
      l_user_id                     , -- LAST_UPDATED_BY
      sysdate                       , -- LAST_UPDATE_DATE
      l_login_id                      -- LAST_UPDATE_LOGIN
    )
    -- Validate the Line Number
    WHEN ( sel_line_number IS NULL) THEN
     INTO PON_INTERFACE_ERRORS
    (
      COLUMN_NAME       ,
      INTERFACE_TYPE    ,
      ERROR_MESSAGE_NAME,
      REQUEST_ID        ,
      BATCH_ID          ,
      ENTITY_TYPE       ,
      AUCTION_HEADER_ID ,
      LINE_NUMBER       ,
      SHIPMENT_NUMBER   ,
      EXPIRATION_DATE   ,
      TOKEN1_NAME       ,
      TOKEN1_VALUE      ,
      interface_line_id ,
      CREATED_BY        ,
      CREATION_DATE     ,
      LAST_UPDATED_BY   ,
      LAST_UPDATE_DATE  ,
      LAST_UPDATE_LOGIN
    )
    VALUES
    (
      pon_auction_pkg.getMessage('PON_AUCTS_LINENUMBER'),
      l_interface_type              , --INTERFACE_TYPE
      'PON_INVALID_LINE_NUM', -- ERROR_MESSAGE_NAME
      p_request_id                  , -- REQUEST_ID
      p_batch_id                    , --BATCH_ID
      g_auction_pbs_type            , -- ENTITY_TYPE
      p_auction_header_id           , -- AUCTION_HEADER_ID
      sel_line_number               , -- LINE_NUMBER
      sel_shipment_number           , -- SHIPMENT_NUMBER
      l_exp_date             , -- EXPIRATION_DATE
      null                     , -- TOKEN1_NAME
      null , -- TOKEN1_VALUE
      interface_line_number         ,
      l_user_id                     , -- CREATED_BY
      sysdate                       , -- CREATION_DATE
      l_user_id                     , -- LAST_UPDATED_BY
      sysdate                       , -- LAST_UPDATE_DATE
      l_login_id                      -- LAST_UPDATE_LOGIN
    )
    -- Validate Agreement Release Quantity for price breaks
  /*  WHEN ( Nvl(sel_agreement_rel_qty,'NONE') NOT IN (pon_auction_pkg.getmessage('PON_AUC_NON_CUMULATIVE'),pon_auction_pkg.getmessage('PON_AUC_CUMULATIVE'))
          AND nvl(sel_clm_info_flag,'N') = 'N')
           THEN
     INTO PON_INTERFACE_ERRORS
    (
      COLUMN_NAME       ,
      INTERFACE_TYPE    ,
      ERROR_MESSAGE_NAME,
      REQUEST_ID        ,
      BATCH_ID          ,
      ENTITY_TYPE       ,
      AUCTION_HEADER_ID ,
      LINE_NUMBER       ,
      SHIPMENT_NUMBER   ,
      EXPIRATION_DATE   ,
      TOKEN1_NAME       ,
      TOKEN1_VALUE      ,
      interface_line_id ,
      CREATED_BY        ,
      CREATION_DATE     ,
      LAST_UPDATED_BY   ,
      LAST_UPDATE_DATE  ,
      LAST_UPDATE_LOGIN
    )
    VALUES
    (
      pon_auction_pkg.getMessage('PON_AGREEMENT_RELEASE_QUANTITY'),
      l_interface_type              , --INTERFACE_TYPE
      'PON_INVALID_AGR_REL_QTY', -- ERROR_MESSAGE_NAME
      p_request_id                  , -- REQUEST_ID
      p_batch_id                    , --BATCH_ID
      g_auction_pbs_type            , -- ENTITY_TYPE
      p_auction_header_id           , -- AUCTION_HEADER_ID
      sel_line_number               , -- LINE_NUMBER
      sel_shipment_number           , -- SHIPMENT_NUMBER
      l_exp_date             , -- EXPIRATION_DATE
      null                     , -- TOKEN1_NAME
      null , -- TOKEN1_VALUE
      interface_line_number         ,
      l_user_id                     , -- CREATED_BY
      sysdate                       , -- CREATION_DATE
      l_user_id                     , -- LAST_UPDATED_BY
      sysdate                       , -- LAST_UPDATE_DATE
      l_login_id                      -- LAST_UPDATE_LOGIN
    )*/
    -- Validate Response Type for price breaks
    WHEN  Nvl(sel_price_break_type,'NONE') = 'NONE'
          AND nvl(sel_clm_info_flag,'N') = 'N'
           THEN
     INTO PON_INTERFACE_ERRORS
    (
      COLUMN_NAME       ,
      INTERFACE_TYPE    ,
      ERROR_MESSAGE_NAME,
      REQUEST_ID        ,
      BATCH_ID          ,
      ENTITY_TYPE       ,
      AUCTION_HEADER_ID ,
      LINE_NUMBER       ,
      SHIPMENT_NUMBER   ,
      EXPIRATION_DATE   ,
      TOKEN1_NAME       ,
      TOKEN1_VALUE      ,
      interface_line_id ,
      CREATED_BY        ,
      CREATION_DATE     ,
      LAST_UPDATED_BY   ,
      LAST_UPDATE_DATE  ,
      LAST_UPDATE_LOGIN
    )
    VALUES
    (
      pon_auction_pkg.getMessage('PON_AUCTS_LINENUMBER'),
      l_interface_type              , --INTERFACE_TYPE
      'PON_AUC_BAD_PBTYPE_SHIPS', -- ERROR_MESSAGE_NAME
      p_request_id                  , -- REQUEST_ID
      p_batch_id                    , --BATCH_ID
      g_auction_pbs_type            , -- ENTITY_TYPE
      p_auction_header_id           , -- AUCTION_HEADER_ID
      sel_line_number               , -- LINE_NUMBER
      sel_shipment_number           , -- SHIPMENT_NUMBER
      l_exp_date             , -- EXPIRATION_DATE
      'LINENUMBER'                     , -- TOKEN1_NAME
      sel_document_disp_line_number , -- TOKEN1_VALUE
      interface_line_number         ,
      l_user_id                     , -- CREATED_BY
      sysdate                       , -- CREATION_DATE
      l_user_id                     , -- LAST_UPDATED_BY
      sysdate                       , -- LAST_UPDATE_DATE
      l_login_id                      -- LAST_UPDATE_LOGIN
    )

    -- SHIP TO LOCATON AND SHIP TO ORG SHOULD BE PROPER
    -- THE SHIP_TO_LOCATION AND SHIP_TO_ORG IF BOTH ARE ENTERED THEN EITHER
    -- 1. The Ship_to_location should belong to the Ship_to_organization
    -- 2. The Ship_to_location should be a global location (inventory_organization_id is null)
    WHEN (
    nvl(sel_clm_info_flag,'N') = 'N'
    AND sel_ship_to_organization_id IS NOT NULL
    AND sel_ship_to_location_id        IS NOT NULL
    AND NOT EXISTS
      (SELECT l.INVENTORY_ORGANIZATION_ID
         FROM HR_LOCATIONS_ALL L
        WHERE SYSDATE                                                    < NVL(L.INACTIVE_DATE, SYSDATE + 1)
      AND NVL(L.SHIP_TO_SITE_FLAG,'N')                                   = 'Y'
      AND L.LOCATION_ID                                                  = sel_ship_to_location_id
      AND NVL (L.INVENTORY_ORGANIZATION_ID, sel_ship_to_organization_id) = sel_ship_to_organization_id
      ) ) THEN
     INTO PON_INTERFACE_ERRORS
    (
      COLUMN_NAME       ,
      INTERFACE_TYPE    ,
      ERROR_MESSAGE_NAME,
      REQUEST_ID        ,
      BATCH_ID          ,
      ENTITY_TYPE       ,
      AUCTION_HEADER_ID ,
      LINE_NUMBER       ,
      SHIPMENT_NUMBER   ,
      EXPIRATION_DATE   ,
      TOKEN1_NAME       ,
      TOKEN1_VALUE      ,
      interface_line_id ,
      CREATED_BY        ,
      CREATION_DATE     ,
      LAST_UPDATED_BY   ,
      LAST_UPDATE_DATE  ,
      LAST_UPDATE_LOGIN
    )
    VALUES
    (
      pon_auction_pkg.getMessage('PON_SHIP_TO_LOCATION'),
      l_interface_type              , --INTERFACE_TYPE
      'PON_AUC_SHIP_TO_MATCHING_ERR', -- ERROR_MESSAGE_NAME
      p_request_id                  , -- REQUEST_ID
      p_batch_id                    , --BATCH_ID
      g_auction_pbs_type            , -- ENTITY_TYPE
      p_auction_header_id           , -- AUCTION_HEADER_ID
      sel_line_number               , -- LINE_NUMBER
      sel_shipment_number           , -- SHIPMENT_NUMBER
      l_exp_date             , -- EXPIRATION_DATE
      'LINENUM'                     , -- TOKEN1_NAME
      sel_document_disp_line_number , -- TOKEN1_VALUE
      interface_line_number         ,
      l_user_id                     , -- CREATED_BY
      sysdate                       , -- CREATION_DATE
      l_user_id                     , -- LAST_UPDATED_BY
      sysdate                       , -- LAST_UPDATE_DATE
      l_login_id                      -- LAST_UPDATE_LOGIN
    )
    -- PRICE BREAK SHOULD NOT BE EMPTY
    -- ONLY PRICE SHOULD NOT BE ENTERED
    WHEN ( sel_ship_to_organization_id IS NULL
    AND sel_ship_to_location_id        IS NULL
    AND sel_quantity                   IS NULL
    AND nvl(sel_clm_info_flag,'N') = 'N') THEN
     INTO PON_INTERFACE_ERRORS
    (
      INTERFACE_TYPE    ,
      ERROR_MESSAGE_NAME,
      REQUEST_ID        ,
      BATCH_ID          ,
      ENTITY_TYPE       ,
      AUCTION_HEADER_ID ,
      LINE_NUMBER       ,
      SHIPMENT_NUMBER   ,
      EXPIRATION_DATE   ,
      TOKEN1_NAME       ,
      TOKEN1_VALUE      ,
      interface_line_id ,
      CREATED_BY        ,
      CREATION_DATE     ,
      LAST_UPDATED_BY   ,
      LAST_UPDATE_DATE  ,
      LAST_UPDATE_LOGIN
    )
    VALUES
    (
      l_interface_type                                                       , --INTERFACE_TYPE
      NVL2 (sel_price, 'PON_AUCTS_PB_PRICE_ONLY', 'PON_AUCTS_SHIPMENT_EMPTY'), -- ERROR_MESSAGE_NAME
      p_request_id                                                           , -- REQUEST_ID
      p_batch_id                                                             , --BATCH_ID
      g_auction_pbs_type                                                     , -- ENTITY_TYPE
      p_auction_header_id                                                    , -- AUCTION_HEADER_ID
      sel_line_number                                                        , -- LINE_NUMBER
      sel_shipment_number                                                    , -- SHIPMENT_NUMBER
      l_exp_date                                                      , -- EXPIRATION_DATE
      'LINENUM'                                                              , -- TOKEN1_NAME
      sel_document_disp_line_number                                          , -- TOKEN1_VALUE
      interface_line_number                                                  ,
      l_user_id                                                              , -- CREATED_BY
      sysdate                                                                , -- CREATION_DATE
      l_user_id                                                              , -- LAST_UPDATED_BY
      sysdate                                                                , -- LAST_UPDATE_DATE
      l_login_id                                                               -- LAST_UPDATE_LOGIN
    )
    -- quantity should not be empty or negative
    WHEN ( sel_quantity IS NOT NULL
    AND sel_quantity     < 0
    AND sel_quantity    <> g_null_int
    AND nvl(sel_clm_info_flag,'N') = 'N') THEN
     INTO PON_INTERFACE_ERRORS
    (
      COLUMN_NAME       ,
      INTERFACE_TYPE    ,
      ERROR_MESSAGE_NAME,
      REQUEST_ID        ,
      BATCH_ID          ,
      ENTITY_TYPE       ,
      AUCTION_HEADER_ID ,
      LINE_NUMBER       ,
      SHIPMENT_NUMBER   ,
      EXPIRATION_DATE   ,
      TOKEN1_NAME       ,
      TOKEN1_VALUE      ,
      interface_line_id ,
      CREATED_BY        ,
      CREATION_DATE     ,
      LAST_UPDATED_BY   ,
      LAST_UPDATE_DATE  ,
      LAST_UPDATE_LOGIN
    )
    VALUES
    (
      pon_auction_pkg.getMessage('PON_AUCTS_QUANTITY'),
      l_interface_type                , --INTERFACE_TYPE
      'PON_AUCTS_PB_QUANTITY_POSITIVE', -- ERROR_MESSAGE_NAME
      p_request_id                    , -- REQUEST_ID
      p_batch_id                      , --BATCH_ID
      g_auction_pbs_type              , -- ENTITY_TYPE
      p_auction_header_id             , -- AUCTION_HEADER_ID
      sel_line_number                 , -- LINE_NUMBER
      sel_shipment_number             , -- SHIPMENT_NUMBER
      l_exp_date               , -- EXPIRATION_DATE
      'LINENUM'                       , -- TOKEN1_NAME
      sel_document_disp_line_number   , -- TOKEN1_VALUE
      interface_line_number           ,
      l_user_id                       , -- CREATED_BY
      sysdate                         , -- CREATION_DATE
      l_user_id                       , -- LAST_UPDATED_BY
      sysdate                         , -- LAST_UPDATE_DATE
      l_login_id                        -- LAST_UPDATE_LOGIN
    )

    -- the price break price should be positive
    WHEN ( sel_price < 0 AND nvl(sel_clm_info_flag,'N') = 'N') THEN
     INTO PON_INTERFACE_ERRORS
    (
      COLUMN_NAME       ,
      INTERFACE_TYPE    ,
      ERROR_MESSAGE_NAME,
      REQUEST_ID        ,
      BATCH_ID          ,
      ENTITY_TYPE       ,
      AUCTION_HEADER_ID ,
      LINE_NUMBER       ,
      SHIPMENT_NUMBER   ,
      EXPIRATION_DATE   ,
      TOKEN1_NAME       ,
      TOKEN1_VALUE      ,
      interface_line_id ,
      CREATED_BY        ,
      CREATION_DATE     ,
      LAST_UPDATED_BY   ,
      LAST_UPDATE_DATE  ,
      LAST_UPDATE_LOGIN
    )
    VALUES
    (
      pon_auction_pkg.getMessage('PON_AUCTS_TARGET_PRICE'),
      l_interface_type             , --INTERFACE_TYPE
      'PON_AUCTS_PB_RPICE_POSITIVE', -- ERROR_MESSAGE_NAME
      p_request_id                 , -- REQUEST_ID
      p_batch_id                   , --BATCH_ID
      g_auction_pbs_type           , -- ENTITY_TYPE
      p_auction_header_id          , -- AUCTION_HEADER_ID
      sel_line_number              , -- LINE_NUMBER
      sel_shipment_number          , -- SHIPMENT_NUMBER
      l_exp_date            , -- EXPIRATION_DATE
      'LINENUM'                    , -- TOKEN1_NAME
      sel_document_disp_line_number, -- TOKEN1_VALUE
      interface_line_number        ,
      l_user_id                    , -- CREATED_BY
      sysdate                      , -- CREATION_DATE
      l_user_id                    , -- LAST_UPDATED_BY
      sysdate                      , -- LAST_UPDATE_DATE
      l_login_id                     -- LAST_UPDATE_LOGIN
    )
    --  EFFECTIVE START DATE AFTER SYSDATE OR CLOSE DATE
    WHEN (
    nvl(sel_clm_info_flag,'N') = 'N'
    AND sel_effective_start_date IS NOT NULL
    AND sel_effective_start_date    <= NVL (sel_close_bidding_date, SYSDATE) ) THEN
     INTO PON_INTERFACE_ERRORS
    (
      COLUMN_NAME       ,
      INTERFACE_TYPE    ,
      ERROR_MESSAGE_NAME,
      REQUEST_ID        ,
      BATCH_ID          ,
      ENTITY_TYPE       ,
      AUCTION_HEADER_ID ,
      LINE_NUMBER       ,
      SHIPMENT_NUMBER   ,
      EXPIRATION_DATE   ,
      TOKEN1_NAME       ,
      TOKEN1_VALUE      ,
      interface_line_id ,
      CREATED_BY        ,
      CREATION_DATE     ,
      LAST_UPDATED_BY   ,
      LAST_UPDATE_DATE  ,
      LAST_UPDATE_LOGIN
    )
    VALUES
    (
     pon_auction_pkg.getMessage('PON_AUC_EFFEC_FROM'),
      l_interface_type                                                                         , --INTERFACE_TYPE
      NVL2 (sel_close_bidding_date, 'PON_AUC_EFFC_FROM_BEF_CLOSE', 'PON_AUC_EFFC_FROM_BEF_TODAY'), -- ERROR_MESSAGE_NAME
      p_request_id                                                                             , -- REQUEST_ID
      p_batch_id                                                                               , -- BATCH_ID
      g_auction_pbs_type                                                                       , -- ENTITY_TYPE
      p_auction_header_id                                                                      , -- AUCTION_HEADER_ID
      sel_line_number                                                                          , -- LINE_NUMBER
      sel_shipment_number                                                                      , -- SHIPMENT_NUMBER
      l_exp_date                                                                        , -- EXPIRATION_DATE
      'LINENUM'                                                                                , -- TOKEN1_NAME
      sel_document_disp_line_number                                                            , -- TOKEN1_VALUE
      interface_line_number                                                                    ,
      l_user_id                                                                                , -- CREATED_BY
      sysdate                                                                                  , -- CREATION_DATE
      l_user_id                                                                                , -- LAST_UPDATED_BY
      sysdate                                                                                  , -- LAST_UPDATE_DATE
      l_login_id                                                                                 -- LAST_UPDATE_LOGIN
    )
    --  EFFECTIVE END DATE AFTER SYSDATE OR CLOSE DATE
    WHEN ( sel_effective_end_date IS NOT NULL
    AND sel_effective_end_date    <= NVL (sel_close_bidding_date, SYSDATE)
    AND nvl(sel_clm_info_flag,'N') = 'N') THEN
     INTO PON_INTERFACE_ERRORS
    (
      COLUMN_NAME       ,
      INTERFACE_TYPE    ,
      ERROR_MESSAGE_NAME,
      REQUEST_ID        ,
      BATCH_ID          ,
      ENTITY_TYPE       ,
      AUCTION_HEADER_ID ,
      LINE_NUMBER       ,
      SHIPMENT_NUMBER   ,
      EXPIRATION_DATE   ,
      TOKEN1_NAME       ,
      TOKEN1_VALUE      ,
      interface_line_id ,
      CREATED_BY        ,
      CREATION_DATE     ,
      LAST_UPDATED_BY   ,
      LAST_UPDATE_DATE  ,
      LAST_UPDATE_LOGIN
    )
    VALUES
    (
     pon_auction_pkg.getMessage('PON_AUC_EFFEC_TO'),
      l_interface_type                                                                           , --INTERFACE_TYPE
      NVL2 (sel_close_bidding_date, 'PON_AUC_EFFC_TO_BEFORE_CLOSE', 'PON_AUC_EFFC_TO_BEFORE_TODAY'), -- ERROR_MESSAGE_NAME
      p_request_id                                                                               , -- REQUEST_ID
      p_batch_id                                                                                 , --BATCH_ID
      g_auction_pbs_type                                                                         , -- ENTITY_TYPE
      p_auction_header_id                                                                        , -- AUCTION_HEADER_ID
      sel_line_number                                                                            , -- LINE_NUMBER
      sel_shipment_number                                                                        , -- SHIPMENT_NUMBER
      l_exp_date                                                                          , -- EXPIRATION_DATE
      'LINENUM'                                                                                  , -- TOKEN1_NAME
      sel_document_disp_line_number                                                              , -- TOKEN1_VALUE
      interface_line_number                                                                      ,
      l_user_id                                                                                  , -- CREATED_BY
      sysdate                                                                                    , -- CREATION_DATE
      l_user_id                                                                                  , -- LAST_UPDATED_BY
      sysdate                                                                                    , -- LAST_UPDATE_DATE
      l_login_id                                                                                   -- LAST_UPDATE_LOGIN
    )
    -- Price Breaks should not be entered for Fixed price line types
    WHEN ( sel_price_tiers_indicator = 'PRICE_BREAKS'
    AND sel_order_type_lookup_code    in ('FIXED PRICE','AMOUNT')
    AND nvl(sel_clm_info_flag,'N') = 'N') THEN
     INTO PON_INTERFACE_ERRORS
    (
      COLUMN_NAME       ,
      INTERFACE_TYPE    ,
      ERROR_MESSAGE_NAME,
      REQUEST_ID        ,
      BATCH_ID          ,
      ENTITY_TYPE       ,
      AUCTION_HEADER_ID ,
      LINE_NUMBER       ,
      SHIPMENT_NUMBER   ,
      EXPIRATION_DATE   ,
      TOKEN1_NAME       ,
      TOKEN1_VALUE      ,
      interface_line_id ,
      CREATED_BY        ,
      CREATION_DATE     ,
      LAST_UPDATED_BY   ,
      LAST_UPDATE_DATE  ,
      LAST_UPDATE_LOGIN
    )
    VALUES
    (
      pon_auction_pkg.getMessage('PON_AUCTS_LINENUMBER'),
      l_interface_type                                                                           , --INTERFACE_TYPE
      'PON_AUCTS_PB_FP_LINE_ERR', -- ERROR_MESSAGE_NAME
      p_request_id                                                                               , -- REQUEST_ID
      p_batch_id                                                                                 , --BATCH_ID
      g_auction_pbs_type                                                                         , -- ENTITY_TYPE
      p_auction_header_id                                                                        , -- AUCTION_HEADER_ID
      sel_line_number                                                                            , -- LINE_NUMBER
      sel_shipment_number                                                                        , -- SHIPMENT_NUMBER
      l_exp_date                                                                          , -- EXPIRATION_DATE
      'LINENUM'                                                                                  , -- TOKEN1_NAME
      sel_document_disp_line_number                                                              , -- TOKEN1_VALUE
      interface_line_number                                                                          ,
      l_user_id                                                                                  , -- CREATED_BY
      sysdate                                                                                    , -- CREATION_DATE
      l_user_id                                                                                  , -- LAST_UPDATED_BY
      sysdate                                                                                    , -- LAST_UPDATE_DATE
      l_login_id                                                                                   -- LAST_UPDATE_LOGIN
    )


    /* -- Temp based labor cannot have cumilative response
     WHEN ((sel_PURCHASE_BASIS = 'TEMP LABOR' and sel_order_type_lookup_code = 'RATE') and
          sel_response_type = pon_auction_pkg.getMessage('PON_AUC_CUMULATIVE')
          AND nvl(sel_clm_info_flag,'N') = 'N') THEN
     INTO PON_INTERFACE_ERRORS
    (
      COLUMN_NAME       ,
      INTERFACE_TYPE    ,
      ERROR_MESSAGE_NAME,
      REQUEST_ID        ,
      BATCH_ID          ,
      ENTITY_TYPE       ,
      AUCTION_HEADER_ID ,
      LINE_NUMBER       ,
      SHIPMENT_NUMBER   ,
      EXPIRATION_DATE   ,
      TOKEN1_NAME       ,
      TOKEN1_VALUE      ,
      interface_line_id ,
      CREATED_BY        ,
      CREATION_DATE     ,
      LAST_UPDATED_BY   ,
      LAST_UPDATE_DATE  ,
      LAST_UPDATE_LOGIN
    )
    VALUES
    (
      pon_auction_pkg.getMessage('PON_AUCTS_LINENUMBER'),
      l_interface_type                                                                           , --INTERFACE_TYPE
      'PON_AUCTS_PB_TBL_LINE_ERR', -- ERROR_MESSAGE_NAME
      p_request_id                                                                               , -- REQUEST_ID
      p_batch_id                                                                                 , --BATCH_ID
      g_auction_pbs_type                                                                         , -- ENTITY_TYPE
      p_auction_header_id                                                                        , -- AUCTION_HEADER_ID
      sel_line_number                                                                            , -- LINE_NUMBER
      sel_shipment_number                                                                        , -- SHIPMENT_NUMBER
      l_exp_date                                                                          , -- EXPIRATION_DATE
      'LINENUM'                                                                                  , -- TOKEN1_NAME
      sel_document_disp_line_number                                                              , -- TOKEN1_VALUE
      interface_line_number                                                                          ,
      l_user_id                                                                                  , -- CREATED_BY
      sysdate                                                                                    , -- CREATION_DATE
      l_user_id                                                                                  , -- LAST_UPDATED_BY
      sysdate                                                                                    , -- LAST_UPDATE_DATE
      l_login_id                                                                                   -- LAST_UPDATE_LOGIN
    ) */

       -- EFFECTIVE START DATE SHOULD BE AFTER PO START DATE

    WHEN ( sel_po_start_date       IS NOT NULL
    AND sel_effective_start_date IS NOT NULL
    AND sel_effective_start_date  < sel_po_start_date
    AND nvl(sel_clm_info_flag,'N') = 'N') THEN
     INTO PON_INTERFACE_ERRORS
    (
      COLUMN_NAME       ,
      INTERFACE_TYPE    ,
      ERROR_MESSAGE_NAME,
      REQUEST_ID        ,
      batch_id          ,
      ENTITY_TYPE       ,
      AUCTION_HEADER_ID ,
      LINE_NUMBER       ,
      SHIPMENT_NUMBER   ,
      EXPIRATION_DATE   ,
      TOKEN1_NAME       ,
      TOKEN1_VALUE      ,
      interface_line_id ,
      CREATED_BY        ,
      CREATION_DATE     ,
      LAST_UPDATED_BY   ,
      LAST_UPDATE_DATE  ,
      LAST_UPDATE_LOGIN
    )
    VALUES
    (
      pon_auction_pkg.getMessage('PON_AUC_EFFEC_FROM'),
      l_interface_type             , --INTERFACE_TYPE
      'PON_AUC_EFFC_FROM_BEF_NEG'  , -- ERROR_MESSAGE_NAME
      p_request_id                 , -- REQUEST_ID
      p_batch_id                   , -- BATCH_ID
      g_auction_pbs_type           , -- ENTITY_TYPE
      p_auction_header_id          , -- AUCTION_HEADER_ID
      sel_line_number              , -- LINE_NUMBER
      sel_shipment_number          , -- SHIPMENT_NUMBER
      l_exp_date            , -- EXPIRATION_DATE
      'LINENUM'                    , -- TOKEN1_NAME
      sel_document_disp_line_number, -- TOKEN1_VALUE
      interface_line_number        ,
      l_user_id                    , -- CREATED_BY
      sysdate                      , -- CREATION_DATE
      l_user_id                    , -- LAST_UPDATED_BY
      sysdate                      , -- LAST_UPDATE_DATE
      l_login_id                     -- LAST_UPDATE_LOGIN
    )
    -- EFFECTIVE END DATE SHOULD BE AFTER PO START DATE
    WHEN ( sel_po_start_date     IS NOT NULL
    AND sel_effective_end_date IS NOT NULL
    AND sel_effective_end_date  < sel_po_start_date
    AND nvl(sel_clm_info_flag,'N') = 'N') THEN
     INTO PON_INTERFACE_ERRORS
    (
      COLUMN_NAME       ,
      INTERFACE_TYPE    ,
      ERROR_MESSAGE_NAME,
      REQUEST_ID        ,
      batch_id          ,
      ENTITY_TYPE       ,
      AUCTION_HEADER_ID ,
      LINE_NUMBER       ,
      SHIPMENT_NUMBER   ,
      EXPIRATION_DATE   ,
      TOKEN1_NAME       ,
      TOKEN1_VALUE      ,
      interface_line_id ,
      CREATED_BY        ,
      CREATION_DATE     ,
      LAST_UPDATED_BY   ,
      LAST_UPDATE_DATE  ,
      LAST_UPDATE_LOGIN
    )
    VALUES
    (

      pon_auction_pkg.getMessage('PON_AUC_EFFEC_TO'),
      l_interface_type             , --INTERFACE_TYPE
      'PON_AUC_EFFC_TO_BEFORE_NEG' , -- ERROR_MESSAGE_NAME
      p_request_id                 , -- REQUEST_ID
      p_batch_id                   , -- BATCH_ID
      g_auction_pbs_type           , -- ENTITY_TYPE
      p_auction_header_id          , -- AUCTION_HEADER_ID
      sel_line_number              , -- LINE_NUMBER
      sel_shipment_number          , -- SHIPMENT_NUMBER
      l_exp_date            , -- EXPIRATION_DATE
      'LINENUM'                    , -- TOKEN1_NAME
      sel_document_disp_line_number, -- TOKEN1_VALUE
      interface_line_number        ,
      l_user_id                    , -- CREATED_BY
      sysdate                      , -- CREATION_DATE
      l_user_id                    , -- LAST_UPDATED_BY
      sysdate                      , -- LAST_UPDATE_DATE
      l_login_id                     -- LAST_UPDATE_LOGIN
    )
    -- the effective start date should be before po end date if both are entered
    WHEN ( sel_po_end_date         IS NOT NULL
    AND sel_effective_start_date IS NOT NULL
    AND sel_effective_start_date  > sel_po_end_date
    AND nvl(sel_clm_info_flag,'N') = 'N') THEN
     INTO PON_INTERFACE_ERRORS
    (
      COLUMN_NAME       ,
      INTERFACE_TYPE    ,
      ERROR_MESSAGE_NAME,
      REQUEST_ID        ,
      batch_id          ,
      ENTITY_TYPE       ,
      AUCTION_HEADER_ID ,
      LINE_NUMBER       ,
      SHIPMENT_NUMBER   ,
      EXPIRATION_DATE   ,
      TOKEN1_NAME       ,
      TOKEN1_VALUE      ,
      interface_line_id ,
      CREATED_BY        ,
      CREATION_DATE     ,
      LAST_UPDATED_BY   ,
      LAST_UPDATE_DATE  ,
      LAST_UPDATE_LOGIN
    )
    VALUES
    (
      pon_auction_pkg.getMessage('PON_AUC_EFFEC_FROM'),
      l_interface_type             , --INTERFACE_TYPE
      'PON_AUC_EFFC_FROM_AFT_NEG'  , -- ERROR_MESSAGE_NAME
      p_request_id                 , -- REQUEST_ID
      p_batch_id                   , -- BATCH_ID
      /*g_auction_pbs_type*/ null           , -- ENTITY_TYPE
      p_auction_header_id          , -- AUCTION_HEADER_ID
      sel_line_number              , -- LINE_NUMBER
      sel_shipment_number          , -- SHIPMENT_NUMBER
      l_exp_date            , -- EXPIRATION_DATE
      'LINENUM'                    , -- TOKEN1_NAME
      sel_document_disp_line_number, -- TOKEN1_VALUE
      interface_line_number        ,
      l_user_id                    , -- CREATED_BY
      sysdate                      , -- CREATION_DATE
      l_user_id                    , -- LAST_UPDATED_BY
      sysdate                      , -- LAST_UPDATE_DATE
      l_login_id                     -- LAST_UPDATE_LOGIN
    )
    -- effective end date should be before the po end date
    WHEN ( sel_po_end_date       IS NOT NULL
    AND sel_effective_end_date IS NOT NULL
    AND sel_effective_end_date  > sel_po_end_date
    AND nvl(sel_clm_info_flag,'N') = 'N') THEN
     INTO PON_INTERFACE_ERRORS
    (
      COLUMN_NAME       ,
      INTERFACE_TYPE    ,
      ERROR_MESSAGE_NAME,
      REQUEST_ID        ,
      batch_id          ,
      ENTITY_TYPE       ,
      AUCTION_HEADER_ID ,
      LINE_NUMBER       ,
      SHIPMENT_NUMBER   ,
      EXPIRATION_DATE   ,
      TOKEN1_NAME       ,
      TOKEN1_VALUE      ,
      interface_line_id ,
      CREATED_BY        ,
      CREATION_DATE     ,
      LAST_UPDATED_BY   ,
      LAST_UPDATE_DATE  ,
      LAST_UPDATE_LOGIN
    )
    VALUES
    (
      pon_auction_pkg.getMessage('PON_AUC_EFFEC_TO'),
      l_interface_type             , --INTERFACE_TYPE
      'PON_AUC_EFFC_TO_AFT_NEG'    , -- ERROR_MESSAGE_NAME
      p_request_id                 , -- REQUEST_ID
      p_batch_id                   , -- BATCH_ID
      g_auction_pbs_type           , -- ENTITY_TYPE
      p_auction_header_id          , -- AUCTION_HEADER_ID
      sel_line_number              , -- LINE_NUMBER
      sel_shipment_number          , -- SHIPMENT_NUMBER
      l_exp_date            , -- EXPIRATION_DATE
      'LINENUM'                    , -- TOKEN1_NAME
      sel_document_disp_line_number, -- TOKEN1_VALUE
      interface_line_number            ,
      l_user_id                    , -- CREATED_BY
      sysdate                      , -- CREATION_DATE
      l_user_id                    , -- LAST_UPDATED_BY
      sysdate                      , -- LAST_UPDATE_DATE
      l_login_id                     -- LAST_UPDATE_LOGIN
    )
    --  validating ship_to_organization
    WHEN ( sel_ship_to_organization IS NOT null
    and sel_ship_to_organization_id IS null
     AND nvl(sel_clm_info_flag,'N') = 'N') THEN
     INTO PON_INTERFACE_ERRORS
    (
      COLUMN_NAME       ,
      INTERFACE_TYPE    ,
      ERROR_MESSAGE_NAME,
      REQUEST_ID        ,
      batch_id          ,
      ENTITY_TYPE       ,
      AUCTION_HEADER_ID ,
      LINE_NUMBER       ,
      SHIPMENT_NUMBER   ,
      EXPIRATION_DATE   ,
      TOKEN1_NAME       ,
      TOKEN1_VALUE      ,
      TOKEN2_NAME       ,
      TOKEN2_VALUE      ,
      interface_line_id ,
      CREATED_BY        ,
      CREATION_DATE     ,
      LAST_UPDATED_BY   ,
      LAST_UPDATE_DATE  ,
      LAST_UPDATE_LOGIN
    )
    VALUES
    (
      pon_auction_pkg.getMessage('PON_SHIP_TO_ORGANIZATION'),
      l_interface_type             , --INTERFACE_TYPE
      'PON_AUC_DATA_INVALID_SHIPO_REF'    , -- ERROR_MESSAGE_NAME
      p_request_id                 , -- REQUEST_ID
      p_batch_id                   , -- BATCH_ID
      g_auction_pbs_type           , -- ENTITY_TYPE
      p_auction_header_id          , -- AUCTION_HEADER_ID
      sel_line_number              , -- LINE_NUMBER
      sel_shipment_number          , -- SHIPMENT_NUMBER
      l_exp_date            , -- EXPIRATION_DATE
      'ITEMNUM'                    , -- TOKEN1_NAME
      sel_document_disp_line_number, -- TOKEN1_VALUE
      'SHIPNUM'                    , -- TOKEN2_NAME
      null, -- TOKEN2_VALUE
      interface_line_number            ,
      l_user_id                    , -- CREATED_BY
      sysdate                      , -- CREATION_DATE
      l_user_id                    , -- LAST_UPDATED_BY
      sysdate                      , -- LAST_UPDATE_DATE
      l_login_id                     -- LAST_UPDATE_LOGIN
    )
    --  validating ship_to_location

    WHEN ( sel_ship_to_location IS NOT null
    and sel_ship_to_location_id IS null
     AND nvl(sel_clm_info_flag,'N') = 'N') THEN
     INTO PON_INTERFACE_ERRORS
    (
      COLUMN_NAME       ,
      INTERFACE_TYPE    ,
      ERROR_MESSAGE_NAME,
      REQUEST_ID        ,
      batch_id          ,
      ENTITY_TYPE       ,
      AUCTION_HEADER_ID ,
      LINE_NUMBER       ,
      SHIPMENT_NUMBER   ,
      EXPIRATION_DATE   ,
      TOKEN1_NAME       ,
      TOKEN1_VALUE      ,
      TOKEN2_NAME       ,
      TOKEN2_VALUE      ,
      interface_line_id ,
      CREATED_BY        ,
      CREATION_DATE     ,
      LAST_UPDATED_BY   ,
      LAST_UPDATE_DATE  ,
      LAST_UPDATE_LOGIN
    )
    VALUES
    (
      pon_auction_pkg.getMessage('PON_SHIP_TO_LOCATION'),
      l_interface_type             , --INTERFACE_TYPE
      'PON_AUC_DATA_INVALID_SHIPL_REF'    , -- ERROR_MESSAGE_NAME
      p_request_id                 , -- REQUEST_ID
      p_batch_id                   , -- BATCH_ID
      g_auction_pbs_type           , -- ENTITY_TYPE
      p_auction_header_id          , -- AUCTION_HEADER_ID
      sel_line_number              , -- LINE_NUMBER
      sel_shipment_number          , -- SHIPMENT_NUMBER
      l_exp_date            , -- EXPIRATION_DATE
      'ITEMNUM'                    , -- TOKEN1_NAME
      sel_document_disp_line_number, -- TOKEN1_VALUE
      'SHIPNUM'                    , -- TOKEN2_NAME
      null, -- TOKEN2_VALUE
      interface_line_number            ,
      l_user_id                    , -- CREATED_BY
      sysdate                      , -- CREATION_DATE
      l_user_id                    , -- LAST_UPDATED_BY
      sysdate                      , -- LAST_UPDATE_DATE
      l_login_id                     -- LAST_UPDATE_LOGIN
    )

   SELECT paip.line_number sel_line_number                      ,
    PAIP.document_disp_line_number sel_document_disp_line_number,
    papbi.shipment_number sel_shipment_number                   ,
    papbi.interface_line_id interface_line_number,
    papbi.PRICE sel_price                                       ,
    papbi.min_quantity sel_min_quantity                         ,
    papbi.max_quantity sel_max_quantity                         ,
    papbi.quantity sel_quantity                                 ,
    papbi.effective_end_date sel_effective_end_date             ,
    papbi.effective_start_date sel_effective_start_date         ,
    papbi.ship_to_location_id sel_ship_to_location_id           ,
    papbi.ship_to_organization_id sel_ship_to_organization_id   ,
    paha.po_start_date sel_po_start_date,
    paha.po_end_date sel_po_end_date,
    paha.price_tiers_indicator sel_price_tiers_indicator,
    PAIP.order_type_lookup_code sel_order_type_lookup_code,
    paip.PURCHASE_BASIS sel_PURCHASE_BASIS,
    paip.clm_info_flag sel_clm_info_flag,
    paip.price_break_type sel_price_break_type,
    paha.global_agreement_flag sel_global_agreement_flag,
    papbi.ship_to_organization sel_ship_to_organization,
    papbi.ship_to_location sel_ship_to_location,
     paha.close_bidding_date  sel_close_bidding_date
     FROM PON_AUCTION_ITEM_PRICES_ALL PAIP,
    pon_auc_price_breaks_interface papbi,
    pon_auction_headers_all paha
    WHERE PAIP.AUCTION_HEADER_ID(+) = p_auction_header_id
  AND papbi.AUCTION_HEADER_ID    = p_auction_header_id
  AND paha.AUCTION_HEADER_ID    = p_auction_header_id
  AND PAIP.LINE_NUMBER(+)           = papbi.auction_LINE_NUMBER
  AND papbi.batch_id = p_batch_id;
Line: 1321

 SELECT price_tiers_indicator INTO l_price_tiers_indicator
 FROM pon_auction_headers_all WHERE auction_header_id = p_auction_header_id;
Line: 1326

   INSERT ALL
   -- Validate the Line Number
    WHEN ( sel_line_number IS NULL) THEN
     INTO PON_INTERFACE_ERRORS
    (
      COLUMN_NAME       ,
      INTERFACE_TYPE    ,
      ERROR_MESSAGE_NAME,
      REQUEST_ID        ,
      BATCH_ID          ,
      ENTITY_TYPE       ,
      AUCTION_HEADER_ID ,
      LINE_NUMBER       ,
      SHIPMENT_NUMBER   ,
      EXPIRATION_DATE   ,
      TOKEN1_NAME       ,
      TOKEN1_VALUE      ,
      interface_line_id ,
      CREATED_BY        ,
      CREATION_DATE     ,
      LAST_UPDATED_BY   ,
      LAST_UPDATE_DATE  ,
      LAST_UPDATE_LOGIN
    )
    VALUES
    (
      pon_auction_pkg.getMessage('PON_AUCTS_LINENUMBER'),
      l_interface_type              , --INTERFACE_TYPE
      'PON_INVALID_LINE_NUM', -- ERROR_MESSAGE_NAME
      p_request_id                  , -- REQUEST_ID
      p_batch_id                    , --BATCH_ID
      g_auction_pbs_type            , -- ENTITY_TYPE
      p_auction_header_id           , -- AUCTION_HEADER_ID
      sel_line_number               , -- LINE_NUMBER
      sel_shipment_number           , -- SHIPMENT_NUMBER
      l_exp_date             , -- EXPIRATION_DATE
      null                     , -- TOKEN1_NAME
      null , -- TOKEN1_VALUE
      interface_line_number         ,
      l_user_id                     , -- CREATED_BY
      sysdate                       , -- CREATION_DATE
      l_user_id                     , -- LAST_UPDATED_BY
      sysdate                       , -- LAST_UPDATE_DATE
      l_login_id                      -- LAST_UPDATE_LOGIN
    )
   -- min quantity should not be empty or negative
    WHEN ( sel_min_quantity IS NOT NULL
    AND sel_min_quantity     < 0
    AND sel_min_quantity    <> g_null_int
    AND nvl(sel_clm_info_flag,'N') = 'N') THEN
     INTO PON_INTERFACE_ERRORS
    (
      COLUMN_NAME       ,
      INTERFACE_TYPE    ,
      ERROR_MESSAGE_NAME,
      REQUEST_ID        ,
      BATCH_ID          ,
      ENTITY_TYPE       ,
      AUCTION_HEADER_ID ,
      LINE_NUMBER       ,
      SHIPMENT_NUMBER   ,
      EXPIRATION_DATE   ,
      TOKEN1_NAME       ,
      TOKEN1_VALUE      ,
      interface_line_id ,
      CREATED_BY        ,
      CREATION_DATE     ,
      LAST_UPDATED_BY   ,
      LAST_UPDATE_DATE  ,
      LAST_UPDATE_LOGIN
    )
    VALUES
    (
      pon_auction_pkg.getMessage('PON_TIERS_MIN_QUANTITY'),
      l_interface_type                , --INTERFACE_TYPE
      'PON_AUCTS_PB_QUANTITY_POSITIVE', -- ERROR_MESSAGE_NAME
      p_request_id                    , -- REQUEST_ID
      p_batch_id                      , --BATCH_ID
      g_auction_pbs_type              , -- ENTITY_TYPE
      p_auction_header_id             , -- AUCTION_HEADER_ID
      sel_line_number                 , -- LINE_NUMBER
      sel_shipment_number             , -- SHIPMENT_NUMBER
      l_exp_date               , -- EXPIRATION_DATE
      'LINENUM'                       , -- TOKEN1_NAME
      sel_document_disp_line_number   , -- TOKEN1_VALUE
      interface_line_number           ,
      l_user_id                       , -- CREATED_BY
      sysdate                         , -- CREATION_DATE
      l_user_id                       , -- LAST_UPDATED_BY
      sysdate                         , -- LAST_UPDATE_DATE
      l_login_id                        -- LAST_UPDATE_LOGIN
    )
-- max quantity should not be empty or negative
    WHEN ( sel_max_quantity IS NOT NULL
    AND sel_max_quantity     < 0
    AND sel_max_quantity    <> g_null_int
    AND nvl(sel_clm_info_flag,'N') = 'N') THEN
     INTO PON_INTERFACE_ERRORS
    (
      COLUMN_NAME       ,
      INTERFACE_TYPE    ,
      ERROR_MESSAGE_NAME,
      REQUEST_ID        ,
      BATCH_ID          ,
      ENTITY_TYPE       ,
      AUCTION_HEADER_ID ,
      LINE_NUMBER       ,
      SHIPMENT_NUMBER   ,
      EXPIRATION_DATE   ,
      TOKEN1_NAME       ,
      TOKEN1_VALUE      ,
      interface_line_id ,
      CREATED_BY        ,
      CREATION_DATE     ,
      LAST_UPDATED_BY   ,
      LAST_UPDATE_DATE  ,
      LAST_UPDATE_LOGIN
    )
    VALUES
    (
      pon_auction_pkg.getMessage('PON_TIERS_MAX_QUANTITY'),
      l_interface_type                , --INTERFACE_TYPE
      'PON_AUCTS_PB_QUANTITY_POSITIVE', -- ERROR_MESSAGE_NAME
      p_request_id                    , -- REQUEST_ID
      p_batch_id                      , --BATCH_ID
      g_auction_pbs_type              , -- ENTITY_TYPE
      p_auction_header_id             , -- AUCTION_HEADER_ID
      sel_line_number                 , -- LINE_NUMBER
      sel_shipment_number             , -- SHIPMENT_NUMBER
      l_exp_date               , -- EXPIRATION_DATE
      'LINENUM'                       , -- TOKEN1_NAME
      sel_document_disp_line_number   , -- TOKEN1_VALUE
      interface_line_number           ,
      l_user_id                       , -- CREATED_BY
      sysdate                         , -- CREATION_DATE
      l_user_id                       , -- LAST_UPDATED_BY
      sysdate                         , -- LAST_UPDATE_DATE
      l_login_id                        -- LAST_UPDATE_LOGIN
    )

    -- max quantity should not be less than min qauntity
    WHEN ( sel_max_quantity IS NOT NULL
    AND sel_min_quantity     IS NOT NULL
    AND sel_max_quantity    < sel_min_quantity
    AND nvl(sel_clm_info_flag,'N') = 'N') THEN
     INTO PON_INTERFACE_ERRORS
    (
      COLUMN_NAME       ,
      INTERFACE_TYPE    ,
      ERROR_MESSAGE_NAME,
      REQUEST_ID        ,
      BATCH_ID          ,
      ENTITY_TYPE       ,
      AUCTION_HEADER_ID ,
      LINE_NUMBER       ,
      SHIPMENT_NUMBER   ,
      EXPIRATION_DATE   ,
      TOKEN1_NAME       ,
      TOKEN1_VALUE      ,
      interface_line_id ,
      CREATED_BY        ,
      CREATION_DATE     ,
      LAST_UPDATED_BY   ,
      LAST_UPDATE_DATE  ,
      LAST_UPDATE_LOGIN
    )
    VALUES
    (
      pon_auction_pkg.getMessage('PON_TIERS_MIN_QUANTITY'),
      l_interface_type                , --INTERFACE_TYPE
      'PON_QT_MAX_MIN_QTY_ERR', -- ERROR_MESSAGE_NAME
      p_request_id                    , -- REQUEST_ID
      p_batch_id                      , --BATCH_ID
      g_auction_pbs_type              , -- ENTITY_TYPE
      p_auction_header_id             , -- AUCTION_HEADER_ID
      sel_line_number                 , -- LINE_NUMBER
      sel_shipment_number             , -- SHIPMENT_NUMBER
      l_exp_date               , -- EXPIRATION_DATE
      'LINENUM'                       , -- TOKEN1_NAME
      sel_document_disp_line_number   , -- TOKEN1_VALUE
      interface_line_number           ,
      l_user_id                       , -- CREATED_BY
      sysdate                         , -- CREATION_DATE
      l_user_id                       , -- LAST_UPDATED_BY
      sysdate                         , -- LAST_UPDATE_DATE
      l_login_id                        -- LAST_UPDATE_LOGIN
    )

    --  price should be positive
    WHEN ( sel_price < 0
    AND nvl(sel_clm_info_flag,'N') = 'N') THEN
     INTO PON_INTERFACE_ERRORS
    (
      COLUMN_NAME       ,
      INTERFACE_TYPE    ,
      ERROR_MESSAGE_NAME,
      REQUEST_ID        ,
      BATCH_ID          ,
      ENTITY_TYPE       ,
      AUCTION_HEADER_ID ,
      LINE_NUMBER       ,
      SHIPMENT_NUMBER   ,
      EXPIRATION_DATE   ,
      TOKEN1_NAME       ,
      TOKEN1_VALUE      ,
      interface_line_id ,
      CREATED_BY        ,
      CREATION_DATE     ,
      LAST_UPDATED_BY   ,
      LAST_UPDATE_DATE  ,
      LAST_UPDATE_LOGIN
    )
    VALUES
    (
      pon_auction_pkg.getMessage('PON_AUCTS_TARGET_PRICE'),
      l_interface_type             , --INTERFACE_TYPE
      'PON_AUCTS_PB_RPICE_POSITIVE', -- ERROR_MESSAGE_NAME
      p_request_id                 , -- REQUEST_ID
      p_batch_id                   , --BATCH_ID
      g_auction_pbs_type           , -- ENTITY_TYPE
      p_auction_header_id          , -- AUCTION_HEADER_ID
      sel_line_number              , -- LINE_NUMBER
      sel_shipment_number          , -- SHIPMENT_NUMBER
      l_exp_date            , -- EXPIRATION_DATE
      'LINENUM'                    , -- TOKEN1_NAME
      sel_document_disp_line_number, -- TOKEN1_VALUE
      interface_line_number        ,
      l_user_id                    , -- CREATED_BY
      sysdate                      , -- CREATION_DATE
      l_user_id                    , -- LAST_UPDATED_BY
      sysdate                      , -- LAST_UPDATE_DATE
      l_login_id                     -- LAST_UPDATE_LOGIN
    )

    -- 	Quantity Based Price Tiers should be entered only for than rate based temp labor and goods
    WHEN (
    NOT ((sel_PURCHASE_BASIS = 'TEMP LABOR' and sel_order_type_lookup_code = 'RATE') OR
          sel_PURCHASE_BASIS = 'GOODS')
          AND nvl(sel_clm_info_flag,'N') = 'N') THEN
     INTO PON_INTERFACE_ERRORS
    (
      COLUMN_NAME       ,
      INTERFACE_TYPE    ,
      ERROR_MESSAGE_NAME,
      REQUEST_ID        ,
      BATCH_ID          ,
      ENTITY_TYPE       ,
      AUCTION_HEADER_ID ,
      LINE_NUMBER       ,
      SHIPMENT_NUMBER   ,
      EXPIRATION_DATE   ,
      TOKEN1_NAME       ,
      TOKEN1_VALUE      ,
      interface_line_id ,
      CREATED_BY        ,
      CREATION_DATE     ,
      LAST_UPDATED_BY   ,
      LAST_UPDATE_DATE  ,
      LAST_UPDATE_LOGIN
    )
    VALUES
    (
      pon_auction_pkg.getMessage('PON_AUCTS_LINENUMBER'),
      l_interface_type                                                                           , --INTERFACE_TYPE
      'PON_AUCTS_QB_LINE_TYP_ERR', -- ERROR_MESSAGE_NAME
      p_request_id                                                                               , -- REQUEST_ID
      p_batch_id                                                                                 , --BATCH_ID
      g_auction_pbs_type                                                                         , -- ENTITY_TYPE
      p_auction_header_id                                                                        , -- AUCTION_HEADER_ID
      sel_line_number                                                                            , -- LINE_NUMBER
      sel_shipment_number                                                                        , -- SHIPMENT_NUMBER
      l_exp_date                                                                          , -- EXPIRATION_DATE
      'LINENUM'                                                                                  , -- TOKEN1_NAME
      sel_document_disp_line_number                                                              , -- TOKEN1_VALUE
      interface_line_number                                                                          ,
      l_user_id                                                                                  , -- CREATED_BY
      sysdate                                                                                    , -- CREATION_DATE
      l_user_id                                                                                  , -- LAST_UPDATED_BY
      sysdate                                                                                    , -- LAST_UPDATE_DATE
      l_login_id                                                                                   -- LAST_UPDATE_LOGIN
    )

   SELECT PAIP.LINE_NUMBER sel_line_number                      ,
    PAIP.DOCUMENT_DISP_LINE_NUMBER sel_document_disp_line_number,
    papbi.shipment_number sel_shipment_number                   ,
    papbi.INTERFACE_LINE_id INTERFACE_LINE_NUMBER,
    papbi.PRICE sel_price                                       ,
    papbi.min_quantity sel_min_quantity                         ,
    papbi.max_quantity sel_max_quantity                         ,
    papbi.QUANTITY sel_quantity                                 ,
    papbi.EFFECTIVE_END_DATE sel_effective_end_date             ,
    papbi.EFFECTIVE_START_DATE sel_effective_start_date         ,
    papbi.SHIP_TO_LOCATION_ID sel_ship_to_location_id           ,
    papbi.SHIP_TO_ORGANIZATION_ID sel_ship_to_organization_id   ,
    paha.po_start_date sel_po_start_date,
    paha.po_end_date sel_po_end_date,
    paha.price_tiers_indicator sel_price_tiers_indicator,
    paip.order_type_lookup_code sel_order_type_lookup_code,
    paip.PURCHASE_BASIS sel_PURCHASE_BASIS,
    paip.clm_info_flag sel_clm_info_flag,
     paha.close_bidding_date  sel_close_bidding_date
     FROM PON_AUCTION_ITEM_PRICES_ALL PAIP,
    pon_auc_price_breaks_interface papbi,
    pon_auction_headers_all paha
    WHERE PAIP.AUCTION_HEADER_ID(+) = p_auction_header_id
  AND papbi.AUCTION_HEADER_ID    = p_auction_header_id
  AND paha.AUCTION_HEADER_ID    = p_auction_header_id
  AND PAIP.LINE_NUMBER(+)           = papbi.auction_LINE_NUMBER
  AND papbi.batch_id = p_batch_id;
Line: 1642

  INSERT INTO PON_INTERFACE_ERRORS
  (
    COLUMN_NAME,INTERFACE_TYPE, ERROR_MESSAGE_NAME, REQUEST_ID, BATCH_ID, ENTITY_TYPE, AUCTION_HEADER_ID, LINE_NUMBER,
    EXPIRATION_DATE, TOKEN1_NAME, TOKEN1_VALUE, CREATED_BY, CREATION_DATE, LAST_UPDATED_BY,
    LAST_UPDATE_DATE, LAST_UPDATE_LOGIN
  )
 SELECT
 distinct
    pon_auction_pkg.getMessage('PON_AUCTS_LINENUMBER'),
    l_interface_type, --INTERFACE_TYPE
    'PON_AUC_OVERLAP_RANGES_QT', -- ERROR_MESSAGE_NAME
    p_request_id, -- REQUEST_ID
    p_batch_id, --BATCH_ID
    g_auction_pbs_type, -- ENTITY_TYPE
    p_auction_header_id, -- AUCTION_HEADER_ID
    paip.document_disp_line_number, -- LINE_NUMBER
    l_exp_date, -- EXPIRATION_DATE
    'LINENUM', -- TOKEN1_NAME
    paip.document_disp_line_number, -- TOKEN1_VALUE
    l_user_id, -- CREATED_BY
    sysdate, -- CREATION_DATE
    l_user_id, -- LAST_UPDATED_BY
    LAST_UPDATE_DATE,
    l_login_id    -- LAST_UPDATE_LOGIN
FROM pon_auc_price_breaks_interface paip
WHERE paip.auction_header_id = p_auction_header_id
AND paip.batch_id = p_batch_id
 AND paip.auction_line_number IN
  ( (

SELECT pasa1.auction_line_number
   FROM pon_auc_price_breaks_interface pasa1,
   pon_auc_price_breaks_interface pasa
   WHERE pasa1.auction_header_id = p_auction_header_id
   and pasa.auction_header_id = p_auction_header_id
   AND pasa.auction_line_number = pasa1.auction_line_number
   AND pasa1.batch_id = p_batch_id
   AND pasa.batch_id = p_batch_id
   AND pasa.INTERFACE_LINE_ID <> pasa1.INTERFACE_LINE_ID
   AND pasa1.min_quantity <= pasa.min_quantity
   and pasa.min_quantity <= pasa1.max_quantity)

   UNION

  (SELECT pasa1.auction_line_number
   FROM pon_auc_price_breaks_interface pasa1,
   pon_auction_shipments_all pasa
   WHERE pasa1.auction_header_id = p_auction_header_id
   and pasa.auction_header_id = p_auction_header_id
   AND pasa1.batch_id = p_batch_id
   AND pasa.line_number = pasa1.auction_line_number
   AND Nvl(pasa1.shipment_number,-999) <> pasa.shipment_number
   AND pasa.quantity <= pasa1.min_quantity
   and pasa1.min_quantity <= pasa.max_quantity  ));