DBA Data[Home] [Help]

APPS.PSB_WS_OPS_PVT SQL Statements

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

Line: 23

  PROCEDURE Insert_WS_Lines_Pvt
  (
    p_worksheet_id          IN   psb_ws_lines.worksheet_id%TYPE,
    p_account_line_id       IN   psb_ws_lines.account_line_id%TYPE,
    p_freeze_flag           IN   psb_ws_lines.freeze_flag%TYPE,
    p_view_line_flag        IN   psb_ws_lines.view_line_flag%TYPE,
    p_last_update_date      IN   psb_ws_lines.last_update_date%TYPE,
    p_last_updated_by       IN   psb_ws_lines.last_updated_by%TYPE,
    p_last_update_login     IN   psb_ws_lines.last_update_login%TYPE,
    p_created_by            IN   psb_ws_lines.created_by%TYPE,
    p_creation_date         IN   psb_ws_lines.creation_date%TYPE,
    p_return_status         OUT  NOCOPY  VARCHAR2
  ) ;
Line: 37

  PROCEDURE Delete_Worksheet_Pvt
  (
    p_worksheet_id          IN   psb_worksheets.worksheet_id%TYPE ,
    p_budget_by_position    IN   psb_worksheets.budget_by_position%TYPE ,
    p_delete_lines_flag     IN   VARCHAR2 ,
    p_return_status         OUT  NOCOPY  VARCHAR2
  ) ;
Line: 536

	 SELECT *
	 FROM psb_worksheets
	 WHERE worksheet_id = p_worksheet_id ;
Line: 549

	 SELECT '1'
	 FROM   psb_budget_accounts
	 WHERE  account_position_set_id = c_current_account_set_id
	 AND    code_combination_id     = c_code_combination_id     ;
Line: 562

	 SELECT '1'
	 FROM   psb_budget_positions
	 WHERE  account_position_set_id = c_current_account_set_id
	 AND    position_id             = c_position_id     ;
Line: 591

  SELECT '1' INTO l_tmp_char
  FROM   psb_budget_groups
  WHERE  budget_group_id = p_budget_group_id ;
Line: 632

  SELECT name INTO l_main_budget_group_name
  FROM   psb_budget_groups
  WHERE  budget_group_id = l_main_budget_group_id ;
Line: 744

  SELECT count(*) INTO l_service_package_count
  FROM   psb_ws_submit_service_packages
  WHERE  worksheet_id = p_worksheet_id
  AND    operation_id = NVL( p_service_package_operation_id ,
			     FND_API.G_MISS_NUM ) ;
Line: 751

     SELECT lines.* ,
	    accts.code_combination_id ,
	    accts.budget_group_id
     FROM   psb_ws_lines         lines ,
	    psb_ws_account_lines accts
     WHERE  lines.worksheet_id    = p_worksheet_id
     AND    lines.account_line_id = accts.account_line_id
     AND    ( l_service_package_count = 0
	      OR
	      accts.service_package_id IN
		      ( SELECT service_package_id
			FROM   psb_ws_submit_service_packages
			WHERE  worksheet_id = p_worksheet_id
			AND    operation_id = p_service_package_operation_id )
	    )
  )
  LOOP
    --
    -- Search l_lines_rec.code_combination_id in the
    -- p_account_position_set_tbl table.
    --
    FOR i IN 1..p_account_position_set_tbl.COUNT
    LOOP

      -- Process only account sets first.  Using GOTO as PL/SQL lacks
      -- CONTINUE statement.
      IF p_account_position_set_tbl(i).account_or_position_type = 'P' THEN
	GOTO end_account_loop ;
Line: 796

	Insert_WS_Lines_Pvt
	(
	  p_worksheet_id       =>  l_new_worksheet_id,
	  p_account_line_id    =>  l_lines_rec.account_line_id ,
	  p_freeze_flag        =>  l_lines_rec.freeze_flag ,
	  p_view_line_flag     =>  l_lines_rec.view_line_flag ,
	  p_last_update_date   =>  g_current_date,
	  p_last_updated_by    =>  g_current_user_id,
	  p_last_update_login  =>  g_current_login_id,
	  p_created_by         =>  g_current_user_id,
	  p_creation_date      =>  g_current_date,
	  p_return_status      =>  l_return_status
	) ;
Line: 842

       SELECT pos_lines.*     ,
	      pos.position_id
       FROM   psb_ws_lines_positions   pos_lines ,
	      psb_ws_position_lines    pos
       WHERE  pos_lines.worksheet_id = p_worksheet_id
       AND    pos.position_line_id   = pos_lines.position_line_id
       AND    (
		l_service_package_count = 0
		OR
		pos_lines.position_line_id IN
		(
		  SELECT accts.position_line_id
		  FROM   psb_ws_account_lines  accts
		  WHERE  accts.position_line_id = pos_lines.position_line_id
		  AND    accts.service_package_id IN
			 (
			   SELECT sp.service_package_id
			   FROM   psb_ws_submit_service_packages  sp
			   WHERE  worksheet_id = p_worksheet_id
			   AND    operation_id = p_service_package_operation_id
			 )
		)
	      )
    )
    LOOP
      --
      -- Search l_lines_pos_rec.position_id in the p_account_position_set_tbl
      -- table.
      --
      FOR i IN 1..p_account_position_set_tbl.COUNT
      LOOP

	-- Process only position sets now.  Using GOTO as PL/SQL lacks
	-- CONTINUE statement.
	IF p_account_position_set_tbl(i).account_or_position_type = 'A' THEN
	  GOTO end_position_loop ;
Line: 923

	    SELECT lines.*
	    FROM   psb_ws_lines          lines,
		   psb_ws_account_lines  accts
	    WHERE  accts.position_line_id = l_lines_pos_rec.position_line_id
	    AND    lines.worksheet_id     = p_worksheet_id
	    AND    lines.account_line_id  = accts.account_line_id
	  )
	  LOOP
	    --
	    Insert_WS_Lines_Pvt
	    (
	      p_worksheet_id       =>  l_new_worksheet_id,
	      p_account_line_id    =>  l_lines_rec.account_line_id ,
	      p_freeze_flag        =>  l_lines_rec.freeze_flag ,
	      p_view_line_flag     =>  l_lines_rec.view_line_flag ,
	      p_last_update_date   =>  g_current_date,
	      p_last_updated_by    =>  g_current_user_id,
	      p_last_update_login  =>  g_current_login_id,
	      p_created_by         =>  g_current_user_id,
	      p_creation_date      =>  g_current_date,
	      p_return_status      =>  l_return_status
	    ) ;
Line: 1069

	 SELECT *
	 FROM   psb_worksheets
	 WHERE  worksheet_id = p_worksheet_id ;
Line: 1098

  SELECT '1' INTO l_tmp_char
  FROM   psb_budget_groups
  WHERE  budget_group_id = p_budget_group_id ;
Line: 1127

  SELECT name INTO l_main_budget_group_name
  FROM   psb_budget_groups
  WHERE  budget_group_id = l_main_budget_group_id ;
Line: 1240

     SELECT lines.*
     FROM   psb_ws_lines          lines ,
	    psb_ws_account_lines  accts
     WHERE  lines.worksheet_id    = p_worksheet_id
     AND    lines.account_line_id = accts.account_line_id
     /*For Bug No : 2236283 Start*/
     /*
     AND    accts.budget_group_id  IN
	       (  SELECT budget_group_id
		    FROM psb_budget_groups
		   WHERE budget_group_type = 'R'
		     AND effective_start_date <= PSB_WS_Acct1.g_startdate_pp
		     AND ((effective_end_date IS NULL)
			   OR
			  (effective_end_date >= PSB_WS_Acct1.g_enddate_cy))
		  START WITH budget_group_id       = p_budget_group_id
		  CONNECT BY PRIOR budget_group_id = parent_budget_group_id
	       )
     */
     AND EXISTS
	       (  SELECT 1
		    FROM psb_budget_groups
		   WHERE budget_group_type = 'R'
		     AND budget_group_id = accts.budget_group_id
		     AND effective_start_date <= PSB_WS_Acct1.g_startdate_pp
		     AND ((effective_end_date IS NULL)
			   OR
			  (effective_end_date >= PSB_WS_Acct1.g_enddate_cy))
		  START WITH budget_group_id       = p_budget_group_id
		  CONNECT BY PRIOR budget_group_id = parent_budget_group_id
	       )
     /*For Bug No : 2236283 End*/
  )
  LOOP

    --
    -- Put the CCID in the psb_ws_lines table for the new worksheet.
    --
    Insert_WS_Lines_Pvt
    (
      p_worksheet_id       =>  l_new_worksheet_id,
      p_account_line_id    =>  l_lines_rec.account_line_id ,
      p_freeze_flag        =>  l_lines_rec.freeze_flag ,
      p_view_line_flag     =>  l_lines_rec.view_line_flag ,
      p_last_update_date   =>  g_current_date,
      p_last_updated_by    =>  g_current_user_id,
      p_last_update_login  =>  g_current_login_id,
      p_created_by         =>  g_current_user_id,
      p_creation_date      =>  g_current_date,
      p_return_status      =>  l_return_status
    ) ;
Line: 1313

       SELECT lines.*
       FROM   psb_ws_lines_positions   lines ,
	      psb_ws_position_lines    pos
       WHERE  lines.worksheet_id     = p_worksheet_id
       AND    lines.position_line_id = pos.position_line_id
       /*For Bug No : 2236283 Start*/
       /*
       AND    lines.position_line_id IN
	      (
		SELECT acct_lines.position_line_id
		FROM   psb_ws_account_lines acct_lines
		WHERE  acct_lines.budget_group_id IN
		       (
			 SELECT bg.budget_group_id
			   FROM psb_budget_groups bg
			  WHERE bg.budget_group_type = 'R'
			    AND effective_start_date <= PSB_WS_Acct1.g_startdate_pp
			    AND ((effective_end_date IS NULL)
				  OR
				 (effective_end_date >= PSB_WS_Acct1.g_enddate_cy )
			       )
			 START WITH bg.budget_group_id = p_budget_group_id
			 CONNECT BY PRIOR bg.budget_group_id =
						     bg.parent_budget_group_id
		       )
	      )
       */
       AND    EXISTS
	      (
		SELECT 1
		  FROM psb_ws_account_lines acct_lines
		 WHERE acct_lines.position_line_id = lines.position_line_id
		   AND EXISTS
		       (
			 SELECT bg.budget_group_id
			   FROM psb_budget_groups bg
			  WHERE bg.budget_group_type = 'R'
			    AND budget_group_id = acct_lines.budget_group_id
			    AND effective_start_date <= PSB_WS_Acct1.g_startdate_pp
			    AND ((effective_end_date IS NULL)
				  OR
				 (effective_end_date >= PSB_WS_Acct1.g_enddate_cy )
			       )
			 START WITH bg.budget_group_id = p_budget_group_id
			 CONNECT BY PRIOR bg.budget_group_id =
						     bg.parent_budget_group_id
		       )
	      )
     /*For Bug No : 2236283 End*/
    )
    LOOP
      --
      -- Put the position_line_id in the psb_ws_lines_positions table for
      -- the new worksheet.
      --
      PSB_WS_Pos_Pvt.Create_Position_Matrix
      (
	p_api_version        =>  1.0 ,
	p_init_msg_list      =>  FND_API.G_FALSE ,
	p_validation_level   =>  FND_API.G_VALID_LEVEL_NONE ,
	p_return_status      =>  l_return_status ,
	p_msg_count          =>  l_msg_count ,
	p_msg_data           =>  l_msg_data ,
	--
	p_worksheet_id       =>  l_new_worksheet_id ,
	p_position_line_id   =>  l_lines_rec.position_line_id ,
	p_freeze_flag        =>  l_lines_rec.freeze_flag ,
	p_view_line_flag     =>  l_lines_rec.view_line_flag
      ) ;
Line: 1488

	 SELECT *
	 FROM   psb_worksheets
	 WHERE  worksheet_id = p_worksheet_id ;
Line: 1544

  SELECT name INTO l_main_budget_group_name
  FROM   psb_budget_groups
  WHERE  budget_group_id = l_ws_row_type.budget_group_id ;
Line: 1630

     SELECT accts.*
     FROM   psb_ws_lines          lines ,
	    psb_ws_account_lines  accts
     WHERE  lines.worksheet_id     = p_worksheet_id
     AND    lines.account_line_id  = accts.account_line_id
     AND    accts.position_line_id IS NULL
  )
  LOOP
    --
    -- Create records in psb_ws_lines and psb_ws_account_lines for the
    -- new worksheet.
    --
    PSB_WS_Ops_Pvt.Create_Local_Dist_Pvt
    (
       p_account_line_id        =>   l_lines_accts_rec.account_line_id  ,
       p_new_worksheet_id       =>   l_new_worksheet_id                 ,
       p_new_position_line_id   =>   NULL                               ,
       /*For Bug No : 2440100 Start*/
       p_return_status          =>   l_return_status
    ) ;
Line: 1674

       SELECT positions.*
       FROM   psb_ws_lines_positions   lines ,
	      psb_ws_position_lines    positions
       WHERE  lines.worksheet_id     = p_worksheet_id
       AND    lines.position_line_id = positions.position_line_id
    )
    LOOP

      --
      -- API creates records in psb_ws_lines_positions and
      -- psb_ws_position_lines for the new worksheet.
      --
      PSB_WS_Pos_Pvt.Create_Position_Lines
      (
	 p_api_version               =>   1.0 ,
	 p_init_msg_list             =>   FND_API.G_FALSE ,
	 p_commit                    =>   FND_API.G_FALSE ,
	 p_validation_level          =>   FND_API.G_VALID_LEVEL_FULL ,
	 p_return_status             =>   l_return_status ,
	 p_msg_count                 =>   l_msg_count ,
	 p_msg_data                  =>   l_msg_data ,
	 --
	 p_position_line_id          =>   l_new_position_line_id ,
	 p_worksheet_id              =>   l_new_worksheet_id ,
	 p_position_id               =>   l_lines_pos_rec.position_id ,
	 p_budget_group_id           =>   l_lines_pos_rec.budget_group_id ,
	 p_copy_of_position_line_id  =>   l_lines_pos_rec.position_line_id
      );
Line: 1717

	 SELECT account_line_id
	 FROM   psb_ws_account_lines
	 WHERE  position_line_id  = l_lines_pos_rec.position_line_id
      )
      LOOP
	--
	PSB_WS_Ops_Pvt.Create_Local_Dist_Pvt
	(
	   p_account_line_id        =>   l_accts_rec.account_line_id  ,
	   p_new_worksheet_id       =>   l_new_worksheet_id           ,
	   p_new_position_line_id   =>   l_new_position_line_id       ,
	   p_return_status          =>   l_return_status
	) ;
Line: 1745

      UPDATE psb_ws_account_lines
      SET    position_line_id = l_new_position_line_id
      WHERE  position_line_id = l_lines_pos_rec.position_line_id
      AND    account_line_id IN
	     (
	       SELECT account_line_id
	       FROM   psb_ws_lines
	       WHERE  worksheet_id = l_new_worksheet_id
	     ) ;
Line: 1763

	 SELECT *
	 FROM   psb_ws_fte_lines
	 WHERE  position_line_id = l_lines_pos_rec.position_line_id
      )
      LOOP

	--
	-- Populate the l_period_fte_tbl ( used by PSB_WS_Acct1 API )
	--
	l_period_fte_tbl(1)  := l_fte_rec.period1_fte ;
Line: 1873

	 SELECT *
	 FROM   psb_ws_element_lines
	 WHERE  position_line_id = l_lines_pos_rec.position_line_id
      )
      LOOP

	-- API to create new element lines in psb_ws_element_lines.
	PSB_WS_Pos_Pvt.Create_Element_Lines
	(
	   p_api_version              =>   1.0 ,
	   p_init_msg_list            =>   FND_API.G_FALSE ,
	   p_commit                   =>   FND_API.G_FALSE ,
	   p_validation_level         =>   FND_API.G_VALID_LEVEL_FULL ,
	   p_return_status            =>   l_return_status ,
	   p_msg_count                =>   l_msg_count ,
	   p_msg_data                 =>   l_msg_data ,
	   --
	   p_element_line_id          =>   l_new_element_line_id ,
	   p_position_line_id         =>   l_new_position_line_id ,
	   p_budget_year_id           =>   l_element_rec.budget_year_id ,
	   p_pay_element_id           =>   l_element_rec.pay_element_id ,
	   p_currency_code            =>   l_element_rec.currency_code ,
	   p_element_cost             =>   l_element_rec.element_cost ,
	   p_element_set_id           =>   l_element_rec.element_set_id ,
	   p_service_package_id       =>   l_element_rec.service_package_id ,
	   p_stage_set_id             =>   l_element_rec.stage_set_id ,
	   p_start_stage_seq          =>   l_element_rec.start_stage_seq ,
	   p_current_stage_seq        =>   l_element_rec.current_stage_seq,
	   p_end_stage_seq            =>   nvl(l_element_rec.end_stage_seq, FND_API.G_MISS_NUM)
	);
Line: 1919

	 SELECT asgn.*
	 FROM   psb_ws_position_lines    pos  ,
		psb_position_assignments asgn
	 WHERE  pos.position_line_id = l_lines_pos_rec.position_line_id
	 AND    asgn.worksheet_id    = l_ws_row_type.global_worksheet_id
	 AND    asgn.position_id     = pos.position_id
      )
      LOOP

	--
	-- API will create new position assignments.
	--
	PSB_Positions_Pvt.Modify_Assignment
	(
	   p_api_version                 => 1.0 ,
	   p_init_msg_list               => FND_API.G_FALSE ,
	   p_commit                      => FND_API.G_FALSE ,
	   p_validation_level            => FND_API.G_VALID_LEVEL_NONE ,
	   p_return_status               => l_return_status ,
	   p_msg_count                   => l_msg_count ,
	   p_msg_data                    => l_msg_data ,
	   --
	   p_position_assignment_id      => l_new_position_assignment_id ,
	   p_element_value_type          => l_asgn_rec.element_value_type ,
	   p_data_extract_id             => l_asgn_rec.data_extract_id ,
	   p_worksheet_id                => l_new_worksheet_id ,
	   p_position_id                 => l_asgn_rec.position_id ,
	   p_assignment_type             => l_asgn_rec.assignment_type ,
	   p_attribute_id                => l_asgn_rec.attribute_id ,
	   p_attribute_value_id          => l_asgn_rec.attribute_value_id ,
	   p_attribute_value             => l_asgn_rec.attribute_value ,
	   p_pay_element_id              => l_asgn_rec.pay_element_id ,
	   p_pay_element_option_id       => l_asgn_rec.pay_element_option_id ,
	   p_effective_start_date        => l_asgn_rec.effective_start_date ,
	   p_effective_end_date          => l_asgn_rec.effective_end_date ,
	   p_element_value               => l_asgn_rec.element_value ,
	   p_global_default_flag         => l_asgn_rec.global_default_flag ,
	   p_assignment_default_rule_id  =>
				      l_asgn_rec.assignment_default_rule_id ,
	   p_modify_flag                 => l_asgn_rec.modify_flag ,
	   p_rowid                       => l_rowid ,
	   p_currency_code               => l_asgn_rec.currency_code ,
	   p_pay_basis                   => l_asgn_rec.pay_basis ,
	   p_employee_id                 => l_asgn_rec.employee_id ,
	   p_primary_employee_flag       => l_asgn_rec.primary_employee_flag ,
	   p_mode                        => 'R'
	) ;
Line: 2092

	 SELECT account_line_id
	 FROM   psb_ws_account_lines
	 WHERE  account_line_id  = NVL( c_copy_of_account_line_id , -99)
	 AND    ROWNUM                < 2 ;
Line: 2105

	 SELECT position_line_id, position_id
	 FROM   psb_ws_position_lines
	 WHERE  position_line_id  = NVL( c_copy_of_position_line_id , -99)
	 AND    ROWNUM                < 2 ;
Line: 2134

  SELECT budget_group_id                  ,
	 NVL( budget_by_position, 'N' )   ,
	 NVL( copy_of_worksheet_id, -99 ) ,
	 current_stage_seq
       INTO
	 l_source_budget_group_id    ,
	 l_source_budget_by_position ,
	 l_source_copy_of_worksheet_id    ,
	 l_source_current_stage_seq
  FROM   psb_worksheets
  WHERE  worksheet_id = p_source_worksheet_id ;
Line: 2147

  SELECT budget_group_id                  ,
	 current_stage_seq                ,
	 NVL( freeze_flag , 'N' )         ,
	 global_worksheet_id              ,
	 global_worksheet_flag
       INTO
	 l_target_budget_group_id         ,
	 l_target_current_stage_seq       ,
	 l_target_freeze_flag             ,
	 l_global_worksheet_id            ,
	 l_global_worksheet_flag
  FROM   psb_worksheets
  WHERE  worksheet_id = p_target_worksheet_id ;
Line: 2204

     SELECT accts.*
     FROM   psb_ws_lines          lines ,
	    psb_ws_account_lines  accts
     WHERE  lines.worksheet_id    = p_source_worksheet_id
     AND    lines.account_line_id = accts.account_line_id
     AND    accts.position_line_id IS NULL
     AND    accts.end_stage_seq IS NULL
     AND    accts.template_id IS NULL
     AND    accts.balance_type = 'E'
  )
  LOOP
    --
    -- Finding p_target_worksheet_id in psb_ws_account_lines.
    --
    OPEN l_ws_account_lines_csr ( l_lines_accts_rec.copy_of_account_line_id ) ;
Line: 2423

       SELECT positions.*
       FROM   psb_ws_lines_positions   lines ,
	      psb_ws_position_lines    positions
       WHERE  lines.worksheet_id     = p_source_worksheet_id
       AND    lines.position_line_id = positions.position_line_id

    )
    LOOP

      --
      -- Finding p_target_worksheet_id in psb_ws_position_lines.
      --
      OPEN l_ws_position_lines_csr( l_lines_pos_rec.copy_of_position_line_id );
Line: 2476

	   SELECT account_line_id
	   FROM   psb_ws_account_lines
	   WHERE  position_line_id  = l_lines_pos_rec.position_line_id
	)
	LOOP
	  --
	  PSB_WS_Ops_Pvt.Create_Local_Dist_Pvt
	  (
	     p_account_line_id      =>   l_accts_rec.account_line_id  ,
	     p_new_worksheet_id     =>   p_target_worksheet_id        ,
	     p_new_position_line_id =>   l_new_position_line_id       ,
	     p_return_status        =>   l_return_status
	  ) ;
Line: 2500

	-- Update the old position_line_id with new position_line_id in
	-- psb_ws_account_lines table.
	--
	UPDATE psb_ws_account_lines
	SET    position_line_id = l_new_position_line_id
	WHERE  position_line_id = l_lines_pos_rec.position_line_id
	AND    account_line_id IN
	       (
		 SELECT account_line_id
		 FROM   psb_ws_lines
		 WHERE  worksheet_id = p_target_worksheet_id
	       ) ;
Line: 2547

	   SELECT *
	   FROM   psb_ws_fte_lines
	   WHERE  position_line_id = l_lines_pos_rec.position_line_id
	)
	LOOP

	  --
	  -- Populate the l_period_amount_tbl ( used by PSB_WS_Acct1 API )
	  --
	  l_period_fte_tbl(1)  := l_fte_rec.period1_fte ;
Line: 2659

	   SELECT *
	   FROM   psb_ws_element_lines
	   WHERE  position_line_id = l_lines_pos_rec.position_line_id
	)
	LOOP

	  -- API to create new element lines in psb_ws_element_lines.
	  PSB_WS_Pos_Pvt.Create_Element_Lines
	  (
	     p_api_version              =>   1.0 ,
	     p_init_msg_list            =>   FND_API.G_FALSE ,
	     p_commit                   =>   FND_API.G_FALSE ,
	     p_validation_level         =>   FND_API.G_VALID_LEVEL_FULL ,
	     p_return_status            =>   l_return_status ,
	     p_msg_count                =>   l_msg_count ,
	     p_msg_data                 =>   l_msg_data ,
	     --
	     p_element_line_id          =>   l_new_element_line_id ,
	     p_position_line_id         =>   l_new_position_line_id ,
	     p_budget_year_id           =>   l_element_rec.budget_year_id ,
	     p_pay_element_id           =>   l_element_rec.pay_element_id ,
	     p_currency_code            =>   l_element_rec.currency_code ,
	     p_element_cost             =>   l_element_rec.element_cost ,
	     p_element_set_id           =>   l_element_rec.element_set_id ,
	     p_service_package_id       =>   l_element_rec.service_package_id ,
	     p_stage_set_id             =>   l_element_rec.stage_set_id ,
	     p_start_stage_seq          =>   l_element_rec.start_stage_seq ,
	     p_current_stage_seq        =>   l_element_rec.current_stage_seq,
	     p_end_stage_seq            =>   NVL( l_element_rec.end_stage_seq ,
						  FND_API.G_MISS_NUM )
	  );
Line: 2707

	   SELECT *
	   FROM   psb_position_assignments
	   WHERE  position_id  = l_lines_pos_rec.position_id
	   AND    worksheet_id = p_source_worksheet_id
	)
	LOOP

	  --
	  -- API will create a new position assignments.
	  --
	  PSB_Positions_Pvt.Modify_Assignment
	  (
	     p_api_version                 => 1.0 ,
	     p_init_msg_list               => FND_API.G_FALSE ,
	     p_commit                      => FND_API.G_FALSE ,
	     p_validation_level            => FND_API.G_VALID_LEVEL_NONE ,
	     p_return_status               => l_return_status ,
	     p_msg_count                   => l_msg_count ,
	     p_msg_data                    => l_msg_data ,
	     --
	     p_position_assignment_id      => l_new_position_assignment_id ,
	     p_element_value_type          => l_asgn_rec.element_value_type ,
	     p_data_extract_id             => l_asgn_rec.data_extract_id ,
	     p_worksheet_id                => l_global_worksheet_id ,
	     p_position_id                 => l_asgn_rec.position_id ,
	     p_assignment_type             => l_asgn_rec.assignment_type ,
	     p_attribute_id                => l_asgn_rec.attribute_id ,
	     p_attribute_value_id          => l_asgn_rec.attribute_value_id ,
	     p_attribute_value             => l_asgn_rec.attribute_value ,
	     p_pay_element_id              => l_asgn_rec.pay_element_id ,
	     p_pay_element_option_id       => l_asgn_rec.pay_element_option_id ,
	     p_effective_start_date        => l_asgn_rec.effective_start_date ,
	     p_effective_end_date          => l_asgn_rec.effective_end_date ,
	     p_element_value               => l_asgn_rec.element_value ,
	     p_global_default_flag         => l_asgn_rec.global_default_flag ,
	     p_assignment_default_rule_id  =>
				       l_asgn_rec.assignment_default_rule_id ,
	     p_modify_flag                 => l_asgn_rec.modify_flag ,
	     p_rowid                       => l_rowid ,
	     p_currency_code               => l_asgn_rec.currency_code ,
	     p_pay_basis                   => l_asgn_rec.pay_basis ,
	     p_employee_id                 => l_asgn_rec.employee_id ,
	     p_primary_employee_flag       => l_asgn_rec.primary_employee_flag ,
	     p_mode                        => 'R'
	  ) ;
Line: 2769

	-- Update the old position_line_id with new position_line_id in
	-- psb_ws_account_lines table.
	--
	/*For Bug No : 2534088 Start*/
	--commented the following code as the complete code to be implemented
	--for inserting/updating the account lines for target worksheet

	/*
	UPDATE psb_ws_account_lines
	SET    position_line_id = l_target_position_line_id
	WHERE  position_line_id = l_lines_pos_rec.position_line_id
	AND    account_line_id IN
	       (
		 SELECT account_line_id
		 FROM   psb_ws_lines
		 WHERE  worksheet_id = p_target_worksheet_id
	       ) ;
Line: 2790

	     SELECT accts.*
	     FROM   psb_ws_lines          lines ,
		    psb_ws_account_lines  accts
	     WHERE  lines.worksheet_id    = p_source_worksheet_id
	     AND    lines.account_line_id = accts.account_line_id
	     AND    accts.position_line_id = l_lines_pos_rec.position_line_id
	     AND    accts.end_stage_seq IS NULL
	     AND    accts.template_id IS NULL
	)
	LOOP
	--
	-- Finding p_target_worksheet_id in psb_ws_account_lines.
	--
	  OPEN l_ws_account_lines_csr ( l_lines_accts_rec.copy_of_account_line_id ) ;
Line: 3004

	DELETE psb_ws_fte_lines
	WHERE  position_line_id = l_target_position_line_id ;
Line: 3009

	   SELECT *
	   FROM   psb_ws_fte_lines
	   WHERE  position_line_id = l_lines_pos_rec.position_line_id
	)
	LOOP

	  --
	  -- Populate the l_period_amount_tbl ( used by PSB_WS_Acct1 API )
	  --
	  l_period_fte_tbl(1)  := l_fte_rec.period1_fte ;
Line: 3123

	DELETE psb_ws_element_lines
	WHERE  position_line_id = l_target_position_line_id ;
Line: 3128

	   SELECT *
	   FROM   psb_ws_element_lines
	   WHERE  position_line_id = l_lines_pos_rec.position_line_id
	)
	LOOP

	  -- API to create new element lines in psb_ws_element_lines.
	  PSB_WS_Pos_Pvt.Create_Element_Lines
	  (
	     p_api_version              =>   1.0 ,
	     p_init_msg_list            =>   FND_API.G_FALSE ,
	     p_commit                   =>   FND_API.G_FALSE ,
	     p_validation_level         =>   FND_API.G_VALID_LEVEL_FULL ,
	     p_return_status            =>   l_return_status ,
	     p_msg_count                =>   l_msg_count ,
	     p_msg_data                 =>   l_msg_data ,
	     --
	     p_element_line_id          =>   l_new_element_line_id ,
	     p_position_line_id         =>   l_target_position_line_id ,
	     p_budget_year_id           =>   l_element_rec.budget_year_id ,
	     p_pay_element_id           =>   l_element_rec.pay_element_id ,
	     p_currency_code            =>   l_element_rec.currency_code ,
	     p_element_cost             =>   l_element_rec.element_cost ,
	     p_element_set_id           =>   l_element_rec.element_set_id ,
	     p_service_package_id       =>   l_element_rec.service_package_id ,
	     p_stage_set_id             =>   l_element_rec.stage_set_id ,
	     p_start_stage_seq          =>   l_element_rec.start_stage_seq ,
	     p_current_stage_seq        =>   l_element_rec.current_stage_seq,
	     p_end_stage_seq            =>   NVL( l_element_rec.end_stage_seq,
						  FND_API.G_MISS_NUM )
	  );
Line: 3175

	DELETE psb_position_assignments
	WHERE  position_id  = l_target_position_id
	AND    worksheet_id = l_global_worksheet_id ;
Line: 3186

	   SELECT *
	   FROM   psb_position_assignments
	   WHERE  position_id  = l_lines_pos_rec.position_id
	   AND    worksheet_id = p_source_worksheet_id
	)
	LOOP

	  --
	  -- API will create a new position assignments.
	  --
	  PSB_Positions_Pvt.Modify_Assignment
	  (
	     p_api_version                 => 1.0 ,
	     p_init_msg_list               => FND_API.G_FALSE ,
	     p_commit                      => FND_API.G_FALSE ,
	     p_validation_level            => FND_API.G_VALID_LEVEL_NONE ,
	     p_return_status               => l_return_status ,
	     p_msg_count                   => l_msg_count ,
	     p_msg_data                    => l_msg_data ,
	     --
	     p_position_assignment_id      => l_new_position_assignment_id ,
	     p_element_value_type          => l_asgn_rec.element_value_type ,
	     p_data_extract_id             => l_asgn_rec.data_extract_id ,
	     p_worksheet_id                => l_global_worksheet_id ,
	     p_position_id                 => l_asgn_rec.position_id ,
	     p_assignment_type             => l_asgn_rec.assignment_type ,
	     p_attribute_id                => l_asgn_rec.attribute_id ,
	     p_attribute_value_id          => l_asgn_rec.attribute_value_id ,
	     p_attribute_value             => l_asgn_rec.attribute_value ,
	     p_pay_element_id              => l_asgn_rec.pay_element_id ,
	     p_pay_element_option_id       => l_asgn_rec.pay_element_option_id ,
	     p_effective_start_date        => l_asgn_rec.effective_start_date ,
	     p_effective_end_date          => l_asgn_rec.effective_end_date ,
	     p_element_value               => l_asgn_rec.element_value ,
	     p_global_default_flag         => l_asgn_rec.global_default_flag ,
	     p_assignment_default_rule_id  =>
				       l_asgn_rec.assignment_default_rule_id ,
	     p_modify_flag                 => l_asgn_rec.modify_flag ,
	     p_rowid                       => l_rowid ,
	     p_currency_code               => l_asgn_rec.currency_code ,
	     p_pay_basis                   => l_asgn_rec.pay_basis ,
	     p_employee_id                 => l_asgn_rec.employee_id ,
	     p_primary_employee_flag       => l_asgn_rec.primary_employee_flag ,
	     p_mode                        => 'R'
	  ) ;
Line: 3294

 |                     PROCEDURE Delete_Worksheet                            |
 +===========================================================================*/
--
-- The API This API deletes a local or global worksheet.
--
PROCEDURE Delete_Worksheet
(
  p_api_version               IN       NUMBER   ,
  p_init_msg_list             IN       VARCHAR2 := FND_API.G_FALSE ,
  p_commit                    IN       VARCHAR2 := FND_API.G_FALSE ,
  p_validation_level          IN       NUMBER   := FND_API.G_VALID_LEVEL_FULL ,
  p_return_status             OUT  NOCOPY      VARCHAR2 ,
  p_msg_count                 OUT  NOCOPY      NUMBER   ,
  p_msg_data                  OUT  NOCOPY      VARCHAR2 ,
  --
  p_worksheet_id              IN       psb_worksheets.worksheet_id%TYPE ,
  p_keep_local_copy_flag      IN       VARCHAR2 := 'N'
)
IS
  --
  l_api_name                CONSTANT VARCHAR2(30)   := 'Delete_Worksheet' ;
Line: 3328

  SAVEPOINT Delete_Worksheet ;
Line: 3346

  SELECT NVL( global_worksheet_flag, 'N') ,
	 NVL( local_copy_flag, 'N')       ,
	 NVL( budget_by_position, 'N')
       INTO
	 l_global_worksheet_flag ,
	 l_local_copy_flag ,
	 l_budget_by_position
  FROM   psb_worksheets
  WHERE  worksheet_id = p_worksheet_id ;
Line: 3370

       SELECT worksheet_id
       FROM   psb_worksheets
       WHERE  global_worksheet_id               = p_worksheet_id
       AND    NVL( global_worksheet_flag, 'N' ) = 'N'
    )
    LOOP
      --
      PSB_Concurrency_Control_Pub.Enforce_Concurrency_Control
      (
	 p_api_version              => 1.0 ,
	 p_init_msg_list            => FND_API.G_FALSE ,
	 p_validation_level         => FND_API.G_VALID_LEVEL_NONE ,
	 p_return_status            => l_return_status ,
	 p_msg_count                => l_msg_count ,
	 p_msg_data                 => l_msg_data  ,
	 --
	 p_concurrency_class        => 'MAINTENANCE' ,
	 p_concurrency_entity_name  => 'WORKSHEET',
	 p_concurrency_entity_id    => l_worksheet_rec.worksheet_id
      );
Line: 3402

       SELECT worksheet_id, budget_by_position
       FROM   psb_worksheets
       WHERE  global_worksheet_id    = p_worksheet_id
       AND    NVL( global_worksheet_flag, 'N' ) = 'N'
       AND    NVL( local_copy_flag,       'N' ) = 'N'
    )
    LOOP
      --
      Delete_Worksheet_Pvt
      (
	 p_worksheet_id        =>  l_worksheet_rec.worksheet_id       ,
	 p_budget_by_position  =>  l_worksheet_rec.budget_by_position ,
	 p_delete_lines_flag   =>  'N'                                ,
	 p_return_status       =>  l_return_status
      ) ;
Line: 3429

       SELECT worksheet_id, budget_by_position
       FROM   psb_worksheets
       WHERE  global_worksheet_id    = p_worksheet_id
       AND    NVL( global_worksheet_flag, 'N' ) = 'N'
       AND    NVL( local_copy_flag,       'N' ) = 'Y'
    )
    LOOP
      --
      IF p_keep_local_copy_flag = 'N' THEN
	--
	Delete_Worksheet_Pvt
	(
	   p_worksheet_id        =>  l_worksheet_rec.worksheet_id       ,
	   p_budget_by_position  =>  l_worksheet_rec.budget_by_position ,
	   p_delete_lines_flag   =>  'Y'                                ,
	   p_return_status       =>  l_return_status
	) ;
Line: 3455

	-- As global worksheet is being deleted, set global_worksheet_id
	-- column to null in the local worksheet.
	--
	PSB_Worksheet_Pvt.Update_Worksheet
	(
	  p_api_version           => 1.0 ,
	  p_init_msg_list         => FND_API.G_FALSE ,
	  p_commit                => FND_API.G_FALSE ,
	  p_validation_level      => FND_API.G_VALID_LEVEL_NONE ,
	  p_return_status         => l_return_status ,
	  p_msg_count             => l_msg_count ,
	  p_msg_data              => l_msg_data ,
	  --
	  p_worksheet_id          => l_worksheet_rec.worksheet_id ,
	  p_global_worksheet_id   => NULL
	) ;
Line: 3480

    END LOOP ;   -- Delete or update all child local worksheets.
Line: 3484

    Delete_Worksheet_Pvt
    (
       p_worksheet_id        =>  p_worksheet_id        ,
       p_budget_by_position  =>  l_budget_by_position  ,
       p_delete_lines_flag   =>  'Y'                   ,
       p_return_status       =>  l_return_status
    ) ;
Line: 3504

    Delete_Worksheet_Pvt
    (
       p_worksheet_id        =>  p_worksheet_id         ,
       p_budget_by_position  =>  l_budget_by_position   ,
       p_delete_lines_flag   =>  'Y'                    ,
       p_return_status       =>  l_return_status
    ) ;
Line: 3587

	   SELECT worksheet_id
	   FROM   psb_worksheets
	   WHERE  copy_of_worksheet_id = l_worksheets_tab(i)
	)
	LOOP

	  -- Lock the current worksheet.
	  PSB_Concurrency_Control_Pub.Enforce_Concurrency_Control
	  (
	     p_api_version              => 1.0 ,
	     p_init_msg_list            => FND_API.G_FALSE ,
	     p_validation_level         => FND_API.G_VALID_LEVEL_NONE ,
	     p_return_status            => l_return_status ,
	     p_msg_count                => l_msg_count ,
	     p_msg_data                 => l_msg_data  ,
	     --
	     p_concurrency_class        => 'MAINTENANCE' ,
	     p_concurrency_entity_name  => 'WORKSHEET',
	     p_concurrency_entity_id    => l_local_ws_rec.worksheet_id
	  );
Line: 3629

      Delete_Worksheet_Pvt
      (
	 p_worksheet_id        =>  l_worksheets_tab(i)      ,
	 p_budget_by_position  =>  l_budget_by_position     ,
	 p_delete_lines_flag   =>  'N'                      ,
	 p_return_status       =>  l_return_status
      ) ;
Line: 3648

	   SELECT worksheet_id
	   FROM   psb_worksheets
	   WHERE  copy_of_worksheet_id = l_worksheets_tab(i)
	)
	LOOP

	  Delete_Worksheet_Pvt
	  (
	     p_worksheet_id        =>  l_local_ws_rec.worksheet_id  ,
	     p_budget_by_position  =>  l_budget_by_position         ,
	     p_delete_lines_flag   =>  'Y'                          ,
	     p_return_status       =>  l_return_status
	  ) ;
Line: 3721

END Delete_Worksheet ;
Line: 3758

	 SELECT *
	 FROM   psb_ws_lines
	 WHERE  account_line_id = p_account_line_id ;
Line: 3815

    Insert_WS_Lines_Pvt
    (
      p_worksheet_id       =>  l_current_worksheet_id ,
      p_account_line_id    =>  p_account_line_id ,
      p_freeze_flag        =>  l_ws_lines_row_type.freeze_flag ,
      p_view_line_flag     =>  l_ws_lines_row_type.view_line_flag ,
      p_last_update_date   =>  g_current_date,
      p_last_updated_by    =>  g_current_user_id,
      p_last_update_login  =>  g_current_login_id,
      p_created_by         =>  g_current_user_id,
      p_creation_date      =>  g_current_date,
      p_return_status      =>  l_return_status
    ) ;
Line: 3871

    Insert_WS_Lines_Pvt
    (
      p_worksheet_id       =>  l_current_worksheet_id ,
      p_account_line_id    =>  p_account_line_id ,
      p_freeze_flag        =>  l_ws_lines_row_type.freeze_flag ,
      p_view_line_flag     =>  l_ws_lines_row_type.view_line_flag ,
      p_last_update_date   =>  g_current_date,
      p_last_updated_by    =>  g_current_user_id,
      p_last_update_login  =>  g_current_login_id,
      p_created_by         =>  g_current_user_id,
      p_creation_date      =>  g_current_date,
      p_return_status      =>  l_return_status
    ) ;
Line: 3967

    select b.account_line_id,
	   a.view_line_flag,
	   a.freeze_flag
      from psb_ws_lines         a,
	   psb_ws_account_lines b
     where a.account_line_id  = b.account_line_id
       and a.worksheet_id     = p_worksheet_id
       and b.position_line_id = p_position_line_id;
Line: 4102

	 SELECT *
	 FROM   psb_ws_lines
	 WHERE  account_line_id = p_account_line_id ;
Line: 4145

    Insert_WS_Lines_Pvt
    (
       p_worksheet_id       =>  p_worksheet_tbl(i) ,
       p_account_line_id    =>  p_account_line_id ,
       p_freeze_flag        =>  l_ws_lines_row_type.freeze_flag ,
       p_view_line_flag     =>  l_ws_lines_row_type.view_line_flag ,
       p_last_update_date   =>  g_current_date,
       p_last_updated_by    =>  g_current_user_id,
       p_last_update_login  =>  g_current_login_id,
       p_created_by         =>  g_current_user_id,
       p_creation_date      =>  g_current_date,
       p_return_status      =>  l_return_status
    ) ;
Line: 4241

	 SELECT *
	 FROM   psb_ws_lines_positions
	 WHERE  position_line_id = p_position_line_id ;
Line: 4457

	 SELECT *
	 FROM   psb_ws_lines_positions
	 WHERE  position_line_id = p_position_line_id ;
Line: 4630

  SELECT NVL(worksheet_type, '9'),
  -- bug start 3970347
  -- get the global worksheet flag from psb_worksheet table
         global_worksheet_flag
  -- bug end 3970347
  INTO l_worksheet_type,
  -- bug start 3970347
       l_global_worksheet_flag
  -- bug end 3970347
  FROM psb_worksheets
  WHERE worksheet_id = p_worksheet_id;
Line: 4669

      SELECT NVL(freeze_flag, 'N') INTO l_parent_freeze_flag
      FROM   psb_worksheets
      WHERE  worksheet_id = l_parent_worksheet_id ;
Line: 4694

    FOR l_gl_cutoff_period_rec IN (SELECT gl_cutoff_period
    						   FROM   psb_worksheets
    						   WHERE  worksheet_id = p_worksheet_id)
    LOOP
      l_gl_cutoff_period := l_gl_cutoff_period_rec.gl_cutoff_period;
Line: 4703

  PSB_Worksheet_Pvt.Update_Worksheet
  (
     p_api_version                 => 1.0 ,
     p_init_msg_list               => FND_API.G_FALSE,
     p_commit                      => FND_API.G_FALSE,
     p_validation_level            => FND_API.G_VALID_LEVEL_NONE,
     p_return_status               => l_return_status,
     p_msg_count                   => l_msg_count,
     p_msg_data                    => l_msg_data ,
     --
     p_worksheet_id                => p_worksheet_id ,
     p_freeze_flag                 => p_freeze_flag ,
     -- bug start 3970347
     -- pass the gl cutoff period to the update_worksheet API
     p_gl_cutoff_period 		   => l_gl_cutoff_period
     -- bug end 3970347
  );
Line: 4730

  UPDATE psb_ws_lines
  SET    freeze_flag  = p_freeze_flag
  WHERE  worksheet_id = p_worksheet_id;
Line: 4736

  SELECT NVL(budget_by_position, 'N')  INTO l_budget_by_position
  FROM   psb_worksheets
  WHERE  worksheet_id = p_worksheet_id ;
Line: 4745

    UPDATE psb_ws_lines_positions
    SET    freeze_flag  = p_freeze_flag
    WHERE  worksheet_id = p_worksheet_id;
Line: 4854

  SELECT NVL( budget_by_position, 'N') ,
  /* bug start 3970347 */
  -- get the global worksheet flag from psb_worksheets table
         global_worksheet_flag
  /* bug end 3970347 */
  INTO l_budget_by_position ,
  /* bug start 3970347 */
       l_global_worksheet_flag
  /* bug end 3970347 */
  FROM   psb_worksheets
  WHERE  worksheet_id = p_worksheet_id ;
Line: 4871

    SELECT stage_set_id                  ,
	   current_stage_seq
       INTO
	   l_stage_set_id                ,
	   l_current_stage_seq
    FROM   psb_worksheets
    WHERE  worksheet_id = p_worksheet_id ;
Line: 4879

    SELECT MIN (sequence_number) INTO l_target_stage_seq
    FROM   psb_budget_stages
    WHERE  budget_stage_set_id = l_stage_set_id
    AND    sequence_number     > l_current_stage_seq
    ORDER  BY sequence_number ;
Line: 4905

    FOR l_gl_cutoff_period_rec IN (SELECT gl_cutoff_period
    						   FROM   psb_worksheets
    						   WHERE  worksheet_id = p_worksheet_id)
    LOOP
      l_gl_cutoff_period := l_gl_cutoff_period_rec.gl_cutoff_period;
Line: 4914

  PSB_Worksheet_Pvt.Update_Worksheet
  (
    p_api_version           => 1.0 ,
    p_init_msg_list         => FND_API.G_FALSE,
    p_commit                => FND_API.G_FALSE,
    p_validation_level      => FND_API.G_VALID_LEVEL_NONE,
    p_return_status         => l_return_status,
    p_msg_count             => l_msg_count,
    p_msg_data              => l_msg_data,
    --
    p_worksheet_id          => p_worksheet_id,
    p_current_stage_seq     => l_target_stage_seq ,
    -- bug start 3970347
    p_gl_cutoff_period 		=> l_gl_cutoff_period
    -- bug end 3970347
  ) ;
Line: 4942

  SELECT COUNT(*) INTO l_service_package_count
  FROM   dual
  WHERE  EXISTS
         ( SELECT 1
           FROM   psb_ws_submit_service_packages
           WHERE  worksheet_id = p_worksheet_id
           AND    operation_id = p_operation_id ) ;
Line: 4956

    UPDATE psb_ws_account_lines
    SET    current_stage_seq = l_target_stage_seq
    WHERE  l_target_stage_seq > current_stage_seq
    AND    end_stage_seq is null
    AND    account_line_id IN
			 ( SELECT account_line_id
			   FROM   psb_ws_lines
			   WHERE  worksheet_id = p_worksheet_id ) ;
Line: 4970

      UPDATE psb_ws_fte_lines
      SET    current_stage_seq = l_target_stage_seq
      WHERE  l_target_stage_seq > current_stage_seq
      AND    end_stage_seq is null
      AND    position_line_id IN
		       ( SELECT position_line_id
			 FROM   psb_ws_lines_positions
			 WHERE  worksheet_id = p_worksheet_id ) ;
Line: 4983

      UPDATE psb_ws_element_lines
      SET    current_stage_seq = l_target_stage_seq
      WHERE  l_target_stage_seq > current_stage_seq
      AND    end_stage_seq is null
      AND    position_line_id IN
		       ( SELECT position_line_id
			 FROM   psb_ws_lines_positions
			 WHERE  worksheet_id = p_worksheet_id ) ;
Line: 4999

    UPDATE psb_ws_account_lines
    SET    current_stage_seq = l_target_stage_seq
    WHERE  l_target_stage_seq > current_stage_seq
    AND    end_stage_seq is null
    AND    account_line_id IN
		     (  SELECT account_line_id
			FROM   psb_ws_lines
			WHERE  worksheet_id = p_worksheet_id
		      )
    AND    service_package_id IN
		     (  SELECT service_package_id
			FROM   psb_ws_submit_service_packages
			WHERE  worksheet_id = p_worksheet_id
			AND    operation_id = p_operation_id
		      ) ;
Line: 5020

      UPDATE psb_ws_fte_lines
      SET    current_stage_seq = l_target_stage_seq
      WHERE  l_target_stage_seq > current_stage_seq
      AND    end_stage_seq is null
      AND    position_line_id IN
		       (  SELECT position_line_id
			  FROM   psb_ws_lines_positions
			  WHERE  worksheet_id = p_worksheet_id
			)
      AND    service_package_id IN
		       (  SELECT service_package_id
			  FROM   psb_ws_submit_service_packages
			  WHERE  worksheet_id = p_worksheet_id
			  AND    operation_id = p_operation_id
			) ;
Line: 5039

      UPDATE psb_ws_element_lines
      SET    current_stage_seq = l_target_stage_seq
      WHERE  l_target_stage_seq > current_stage_seq
      AND    end_stage_seq is null
      AND    position_line_id IN
		       (  SELECT position_line_id
			  FROM   psb_ws_lines_positions
			  WHERE  worksheet_id = p_worksheet_id
			)
      AND    service_package_id IN
		       (  SELECT service_package_id
			  FROM   psb_ws_submit_service_packages
			  WHERE  worksheet_id = p_worksheet_id
			  AND    operation_id = p_operation_id
			) ;
Line: 5158

  SELECT ws.budget_group_id         ,
	 ws.global_worksheet_id     ,
	 ws.global_worksheet_flag   ,
	 bg.parent_budget_group_id
      INTO
	 l_budget_group_id          ,
	 l_global_worksheet_id      ,
	 l_global_worksheet_flag    ,
	 l_parent_budget_group_id
  FROM   psb_worksheets    ws,
	 psb_budget_groups bg
  WHERE  ws.worksheet_id    = p_worksheet_id
  AND    ws.budget_group_id = bg.budget_group_id ;
Line: 5187

  SELECT budget_group_id INTO l_global_budget_group_id
  FROM   psb_worksheets
  WHERE  worksheet_id = l_global_worksheet_id ;
Line: 5211

    SELECT worksheet_id INTO p_worksheet_id_OUT
    FROM   psb_worksheets
    WHERE  global_worksheet_id = l_global_worksheet_id
    AND    budget_group_id     = l_parent_budget_group_id
    AND    worksheet_type      = 'O' ;
Line: 5218

    SELECT DISTINCT child_worksheet_id
      INTO p_worksheet_id_OUT
      FROM psb_ws_distribution_details details, psb_ws_distributions distr
     WHERE distr.worksheet_id = details.worksheet_id
    -- Bug No 2297742 Start
    --    AND    distr.distribution_option_flag   = 'W'
       AND nvl(distr.distribution_option_flag, 'W') = 'W'
    -- Bug No 2297742 End
       AND global_worksheet_id = l_global_worksheet_id
       AND child_budget_group_id = l_parent_budget_group_id;
Line: 5336

  p_worksheet_tbl.DELETE ;
Line: 5479

  p_worksheet_tbl.DELETE ;
Line: 5485

  SELECT budget_group_id                       ,
	 budget_calendar_id                    ,
	 global_worksheet_id                   ,
	 NVL( global_worksheet_flag ,  'N' )
    INTO
	 l_budget_group_id                     ,
	 l_budget_calendar_id                  ,
	 l_global_worksheet_id                 ,
	 l_global_worksheet_flag
  FROM   psb_worksheets
  WHERE  worksheet_id = p_worksheet_id ;
Line: 5529

     SELECT budget_group_id
       FROM psb_budget_groups
      WHERE budget_group_type          = 'R'
	AND effective_start_date       <= PSB_WS_Acct1.g_startdate_pp
	AND ((effective_end_date IS NULL)
	      OR
	     (effective_end_date >= PSB_WS_Acct1.g_enddate_cy))
     START WITH budget_group_id       = l_budget_group_id
     CONNECT BY PRIOR budget_group_id = parent_budget_group_id
  )
  LOOP

    --
    -- The hierarchial query will also return the l_budget_group_id.
    -- Do not consider it.
    --
    IF l_budget_group_rec.budget_group_id <> l_budget_group_id THEN

      l_child_worksheet_id := NULL ;
Line: 5558

        SELECT worksheet_id INTO l_child_worksheet_id
        FROM   psb_worksheets
        WHERE  global_worksheet_id = l_global_worksheet_id
        AND    budget_group_id     = l_budget_group_rec.budget_group_id
        AND    worksheet_type      = 'O' ;
Line: 5565

	SELECT child_worksheet_id
	  INTO l_child_worksheet_id
	FROM psb_ws_distribution_details details, psb_ws_distributions distr
	WHERE distr.worksheet_id = details.worksheet_id
             -- Bug No 2297742 Start
        --    AND    distr.distribution_option_flag   = 'W'
	   AND nvl(distr.distribution_option_flag, 'W') = 'W'
        -- Bug No 2297742 End
	   AND global_worksheet_id = l_global_worksheet_id
	   AND child_budget_group_id = l_budget_group_rec.budget_group_id
	   AND ROWNUM < 2 ;
Line: 5641

 |                     PROCEDURE Update_Worksheet                            |
 +===========================================================================*/
--
-- The API takes 2 worksheets, source and target. It updates target worksheet
-- by adding new account or position lines if they are their in the source
-- worksheet and not in the target worksheet. It also updates the worksheet
-- submission related columns in the source worksheet.
--
PROCEDURE Update_Worksheet
(
  p_api_version               IN       NUMBER   ,
  p_init_msg_list             IN       VARCHAR2 := FND_API.G_FALSE ,
  p_commit                    IN       VARCHAR2 := FND_API.G_FALSE ,
  p_validation_level          IN       NUMBER   := FND_API.G_VALID_LEVEL_FULL ,
  p_return_status             OUT  NOCOPY      VARCHAR2 ,
  p_msg_count                 OUT  NOCOPY      NUMBER   ,
  p_msg_data                  OUT  NOCOPY      VARCHAR2 ,
  --
  p_source_worksheet_id       IN       psb_worksheets.worksheet_id%TYPE  ,
  p_target_worksheet_id       IN       psb_worksheets.worksheet_id%TYPE
)
IS
  --
  l_api_name                     CONSTANT VARCHAR2(30) := 'Update_Worksheet' ;
Line: 5690

  SAVEPOINT Update_Worksheet_Pvt ;
Line: 5711

  SELECT budget_group_id                      ,
	 global_worksheet_id                  ,
	 NVL( global_worksheet_flag ,  'N' )  ,
	 NVL( local_copy_flag ,        'N' )  ,
	 NVL( budget_by_position ,     'N' ),
/* Bug No 2378285 Start */
	 gl_cutoff_period
/* Bug No 2378285 End */
       INTO
	 l_source_budget_group_id             ,
	 l_source_global_worksheet_id         ,
	 l_source_global_worksheet_flag       ,
	 l_source_local_copy_flag             ,
	 l_source_budget_by_position,
/* Bug No 2378285 Start */
	 l_gl_cutoff_period
/* Bug No 2378285 End */
  FROM   psb_worksheets
  WHERE  worksheet_id = p_source_worksheet_id ;
Line: 5742

  PSB_Worksheet_Pvt.Update_Worksheet
  (
     p_api_version                 => 1.0 ,
     p_init_msg_list               => FND_API.G_FALSE,
     p_commit                      => FND_API.G_FALSE,
     p_validation_level            => FND_API.G_VALID_LEVEL_NONE,
     p_return_status               => l_return_status,
     p_msg_count                   => l_msg_count,
     p_msg_data                    => l_msg_data ,
     --
     p_worksheet_id                => p_target_worksheet_id ,
     p_gl_cutoff_period            => l_gl_cutoff_period,
     p_date_submitted              => NULL ,
     p_submitted_by                => NULL
  );
Line: 5770

  SELECT budget_group_id         ,
	 global_worksheet_id     ,
	 NVL( local_copy_flag ,  'N' )
      INTO
	 l_target_budget_group_id    ,
	 l_target_global_worksheet_id       ,
	 l_target_local_copy_flag
  FROM   psb_worksheets
  WHERE  worksheet_id = p_target_worksheet_id ;
Line: 5797

  SELECT budget_calendar_id INTO l_budget_calendar_id
  FROM   psb_worksheets
  WHERE  worksheet_id = l_source_global_worksheet_id ;
Line: 5829

     SELECT lines.account_line_id
     FROM   psb_ws_lines         lines ,
	    psb_ws_account_lines accts
     WHERE  lines.worksheet_id    = p_source_worksheet_id
     AND    lines.account_line_id = accts.account_line_id
     /*For Bug No : 2236283 Start*/
     /*
     AND    accts.budget_group_id  IN
	       (  SELECT budget_group_id
		    FROM psb_budget_groups
		   WHERE budget_group_type = 'R'
		     AND effective_start_date <= PSB_WS_Acct1.g_startdate_pp
		     AND ((effective_end_date IS NULL)
			   OR
			  (effective_end_date >= PSB_WS_Acct1.g_enddate_cy))
		  START WITH budget_group_id       = l_target_budget_group_id
		  CONNECT BY PRIOR budget_group_id = parent_budget_group_id
	       )
     */
     AND EXISTS
	       (  SELECT 1
		    FROM psb_budget_groups
		   WHERE budget_group_type = 'R'
		     AND budget_group_id = accts.budget_group_id
		     AND effective_start_date <= PSB_WS_Acct1.g_startdate_pp
		     AND ((effective_end_date IS NULL)
			   OR
			  (effective_end_date >= PSB_WS_Acct1.g_enddate_cy))
		  START WITH budget_group_id       = l_target_budget_group_id
		  CONNECT BY PRIOR budget_group_id = parent_budget_group_id
	       )
     /*For Bug No : 2236283 End*/
     MINUS
     SELECT lines.account_line_id
     FROM   psb_ws_lines lines
     WHERE  worksheet_id = p_target_worksheet_id
  )
  LOOP

    SELECT * INTO l_ws_lines_rec
    FROM   psb_ws_lines
    WHERE  worksheet_id    = p_source_worksheet_id
    AND    account_line_id = l_account_line_id_rec.account_line_id ;
Line: 5877

    Insert_WS_Lines_Pvt
    (
       p_worksheet_id       =>  p_target_worksheet_id,
       p_account_line_id    =>  l_ws_lines_rec.account_line_id ,
       p_freeze_flag        =>  l_ws_lines_rec.freeze_flag ,
       p_view_line_flag     =>  l_ws_lines_rec.view_line_flag ,
       p_last_update_date   =>  g_current_date,
       p_last_updated_by    =>  g_current_user_id,
       p_last_update_login  =>  g_current_login_id,
       p_created_by         =>  g_current_user_id,
       p_creation_date      =>  g_current_date,
       p_return_status      =>  l_return_status
    ) ;
Line: 5908

       SELECT lines.position_line_id
       FROM   psb_ws_lines_positions lines ,
	      psb_ws_position_lines  pos
       WHERE  lines.worksheet_id     = p_source_worksheet_id
       AND    lines.position_line_id = pos.position_line_id
       /*For Bug No : 2236283 Start*/
       /*
       AND    lines.position_line_id IN
	      (
		SELECT acct_lines.position_line_id
		FROM   psb_ws_account_lines acct_lines
		WHERE  acct_lines.budget_group_id IN
		       (
			 SELECT bg.budget_group_id
			   FROM psb_budget_groups bg
			  WHERE bg.budget_group_type = 'R'
			    AND effective_start_date <= PSB_WS_Acct1.g_startdate_pp
			    AND ((effective_end_date IS NULL)
				  OR
				 (effective_end_date >= PSB_WS_Acct1.g_enddate_cy))
			 START WITH bg.budget_group_id = l_target_budget_group_id
			 CONNECT BY PRIOR bg.budget_group_id = bg.parent_budget_group_id
		       )
	      )
       */
       AND    EXISTS
	      (
		SELECT 1
		  FROM psb_ws_account_lines acct_lines
		 WHERE acct_lines.position_line_id = lines.position_line_id
		   AND EXISTS
		       (
			 SELECT 1
			   FROM psb_budget_groups bg
			  WHERE bg.budget_group_type = 'R'
			    AND bg.budget_group_id = acct_lines.budget_group_id
			    AND effective_start_date <= PSB_WS_Acct1.g_startdate_pp
			    AND ((effective_end_date IS NULL)
				  OR
				 (effective_end_date >= PSB_WS_Acct1.g_enddate_cy))
			 START WITH bg.budget_group_id = l_target_budget_group_id
			 CONNECT BY PRIOR bg.budget_group_id = bg.parent_budget_group_id
		       )
	      )
       /*For Bug No : 2236283 End*/
       MINUS
       SELECT position_line_id
       FROM   psb_ws_lines_positions
       WHERE  worksheet_id = p_target_worksheet_id
    )
    LOOP

      SELECT * INTO l_ws_lines_positions_rec
      FROM   psb_ws_lines_positions
      WHERE  worksheet_id     = p_source_worksheet_id
      AND    position_line_id = l_lines_pos_rec.position_line_id ;
Line: 6006

    ROLLBACK TO Update_Worksheet_Pvt ;
Line: 6013

    ROLLBACK TO Update_Worksheet_Pvt ;
Line: 6020

    ROLLBACK TO Update_Worksheet_Pvt ;
Line: 6032

END Update_Worksheet ;
Line: 6069

     SELECT *
     FROM   psb_ws_account_lines
     WHERE  account_line_id  = p_account_line_id
  )
  LOOP
    --
    -- Populate the l_period_amount_tbl ( used by PSB_WS_Acct1 API )
    --
    l_period_amount_tbl(1)  := l_accts_rec.period1_amount ;
Line: 6207

 |                 PROCEDURE Insert_WS_Lines_Pvt ( Private )                 |
 +===========================================================================*/
--
-- The private procedure inserts a new record in psb_ws_lines table.
--
PROCEDURE Insert_WS_Lines_Pvt
(
  p_worksheet_id              IN       psb_ws_lines.worksheet_id%TYPE,
  p_account_line_id           IN       psb_ws_lines.account_line_id%TYPE,
  p_freeze_flag               IN       psb_ws_lines.freeze_flag%TYPE,
  p_view_line_flag            IN       psb_ws_lines.view_line_flag%TYPE,
  p_last_update_date          IN       psb_ws_lines.last_update_date%TYPE,
  p_last_updated_by           IN       psb_ws_lines.last_updated_by%TYPE,
  p_last_update_login         IN       psb_ws_lines.last_update_login%TYPE,
  p_created_by                IN       psb_ws_lines.created_by%TYPE,
  p_creation_date             IN       psb_ws_lines.creation_date%TYPE,
  p_return_status             OUT  NOCOPY      VARCHAR2
)
IS
  --
  l_api_name                  CONSTANT VARCHAR2(30) := 'Insert_WS_Lines_Pvt' ;
Line: 6233

  update psb_ws_lines
     set freeze_flag       = p_freeze_flag,
	 view_line_flag    = p_view_line_flag,
	 last_update_date  = g_current_date,
	 last_updated_by   = g_current_user_id,
	 last_update_login = g_current_login_id
   where account_line_id   = p_account_line_id
     and worksheet_id      = p_worksheet_id;
Line: 6244

    INSERT INTO psb_ws_lines
	   (
	     worksheet_id,
	     account_line_id,
	     freeze_flag,
	     view_line_flag,
	     last_update_date,
	     last_updated_by,
	     last_update_login,
	     created_by,
	     creation_date
	   )
	 VALUES
	   ( p_worksheet_id,
	     p_account_line_id,
	     p_freeze_flag,
	     p_view_line_flag,
	     g_current_date,
	     g_current_user_id,
	     g_current_login_id,
	     g_current_user_id,
	     g_current_date
	   );
Line: 6281

END Insert_WS_Lines_Pvt ;
Line: 6286

 |                 PROCEDURE Delete_Worksheet_Pvt ( Private )                |
 +===========================================================================*/
--
-- This API deletes an official worksheet by performing deletes on
-- psb_worksheets and matrix tables (psb_ws_lines and psb_ws_lines_positions).
-- It also deletes worksheet related data from other tables.
--
PROCEDURE Delete_Worksheet_Pvt
(
  p_worksheet_id              IN      psb_worksheets.worksheet_id%TYPE       ,
  p_budget_by_position        IN      psb_worksheets.budget_by_position%TYPE ,
  p_delete_lines_flag         IN      VARCHAR2 ,
  p_return_status             OUT  NOCOPY     VARCHAR2
)
IS
  --
  l_api_name              CONSTANT    VARCHAR2(30)  := 'Delete_Worksheet_Pvt' ;
Line: 6316

    SELECT account_line_id
    FROM   psb_ws_lines
    WHERE  worksheet_id = p_worksheet_id;
Line: 6322

    SELECT position_line_id
    FROM   psb_ws_lines_positions
    WHERE  worksheet_id = p_worksheet_id;
Line: 6328

  SAVEPOINT Delete_Worksheet_Pvt ;
Line: 6337

  IF p_delete_lines_flag = 'Y' THEN

    --
    -- Deleting account related information.
    --
    OPEN l_ws_account_lines_csr;
Line: 6353

      DELETE psb_ws_account_lines
      WHERE  account_line_id = l_account_line_id;
Line: 6361

	SAVEPOINT Delete_Worksheet_Pvt;
Line: 6386

	DELETE psb_ws_position_lines
	WHERE  position_line_id = l_position_line_id;
Line: 6390

	DELETE psb_ws_fte_lines
	WHERE  position_line_id = l_position_line_id;
Line: 6394

	DELETE psb_ws_element_lines
	WHERE  position_line_id = l_position_line_id;
Line: 6402

	  SAVEPOINT Delete_Worksheet_Pvt;
Line: 6412

  END IF;       -- if p_delete_lines_flag is 'Y'.
Line: 6417

    SAVEPOINT Delete_Worksheet_Pvt;
Line: 6424

  DELETE psb_ws_lines
  WHERE  worksheet_id = p_worksheet_id ;
Line: 6429

  SAVEPOINT Delete_Worksheet_Pvt;
Line: 6438

    DELETE psb_ws_lines_positions
    WHERE  worksheet_id = p_worksheet_id ;
Line: 6443

    SAVEPOINT Delete_Worksheet_Pvt;
Line: 6449

  DELETE psb_ws_distribution_details
  WHERE  child_worksheet_id = p_worksheet_id ;
Line: 6453

  DELETE psb_workflow_processes
  WHERE  worksheet_id = p_worksheet_id ;
Line: 6457

  DELETE psb_ws_distributions
  WHERE  worksheet_id = p_worksheet_id ;
Line: 6461

  DELETE psb_ws_submit_service_packages
  WHERE  worksheet_id = p_worksheet_id ;
Line: 6465

  DELETE psb_ws_user_profiles
  WHERE  worksheet_id = p_worksheet_id ;
Line: 6469

  DELETE psb_position_assignments
  WHERE  worksheet_id = p_worksheet_id ;
Line: 6473

  DELETE psb_pay_element_rates
  WHERE  worksheet_id = p_worksheet_id ;
Line: 6477

  DELETE psb_ws_submit_comments
  WHERE  worksheet_id = p_worksheet_id ;
Line: 6481

  DELETE psb_worksheets
  WHERE  worksheet_id = p_worksheet_id ;
Line: 6485

  fnd_attached_documents2_pkg.delete_attachments
             (X_entity_name => 'PSB_WORKSHEETS',
              X_pk1_value => p_worksheet_id,
              X_delete_document_flag => 'Y'
             );
Line: 6501

    ROLLBACK TO Delete_Worksheet_Pvt ;
Line: 6511

END Delete_Worksheet_Pvt ;
Line: 6516

 |                      PROCEDURE Delete_Worksheet_CP                        |
 +===========================================================================*/
--
-- This is the execution file for the concurrent program 'Maintain Budget
-- Account Codes'.
--
PROCEDURE Delete_Worksheet_CP
(
  errbuf                      OUT  NOCOPY      VARCHAR2,
  retcode                     OUT  NOCOPY      VARCHAR2,
  --
  p_worksheet_id              IN       NUMBER  ,
  p_keep_local_copy_flag      IN       VARCHAR2
)
IS
  --
  l_api_name         CONSTANT VARCHAR2(30)   := 'Delete_Worksheet_CP' ;
Line: 6541

  SAVEPOINT Delete_Worksheet_CP_Pvt ;
Line: 6543

  PSB_WS_Ops_Pvt.Delete_Worksheet
  (
     p_api_version             =>   1.0 ,
     p_init_msg_list           =>   FND_API.G_TRUE,
   /*For Bug No : 2266309 Start*/
     --p_commit                =>   FND_API.G_FALSE,
     p_commit                  =>   FND_API.G_TRUE,
   /*For Bug No : 2266309 End*/
     p_validation_level        =>   FND_API.G_VALID_LEVEL_FULL,
     p_return_status           =>   l_return_status,
     p_msg_count               =>   l_msg_count,
     p_msg_data                =>   l_msg_data,
     --
     p_worksheet_id            =>   p_worksheet_id,
     p_keep_local_copy_flag    =>   p_keep_local_copy_flag
  );
Line: 6607

END Delete_Worksheet_CP ;
Line: 6657

	 SELECT *
	 FROM psb_worksheets
	 WHERE worksheet_id = p_worksheet_id ;
Line: 6707

  SELECT name INTO l_main_budget_group_name
  FROM   psb_budget_groups
  WHERE  budget_group_id = l_main_budget_group_id ;
Line: 6816

  SELECT count(*) INTO l_service_package_count
  FROM   psb_ws_submit_service_packages
  WHERE  worksheet_id = p_worksheet_id
  AND    operation_id = NVL( p_service_package_operation_id ,
			     FND_API.G_MISS_NUM ) ;
Line: 6832

       SELECT pos_lines.*     ,
	      pos.position_id
       FROM   psb_ws_lines_positions   pos_lines ,
	      psb_ws_position_lines    pos       ,
	      psb_positions            positions
       WHERE  pos_lines.worksheet_id = p_worksheet_id
       AND    pos.position_line_id   = pos_lines.position_line_id
       AND    positions.position_id  = pos.position_id
       --AND    positions.hr_position_id IS NULL
       AND    positions.new_position_flag = 'Y'
       AND    (
		l_service_package_count = 0
		OR
		pos_lines.position_line_id IN
		(
		  SELECT accts.position_line_id
		  FROM   psb_ws_account_lines  accts
		  WHERE  accts.position_line_id = pos_lines.position_line_id
		  AND    accts.service_package_id IN
			 (
			   SELECT sp.service_package_id
			   FROM   psb_ws_submit_service_packages sp
			   WHERE  worksheet_id = p_worksheet_id
			   AND    operation_id = p_service_package_operation_id
			 )
		)
	      )
    )
    LOOP

      -- At least one line should get created for the worksheet.
      l_lines_added := l_lines_added + 1 ;
Line: 6896

	SELECT lines.*
	FROM   psb_ws_lines          lines,
	       psb_ws_account_lines  accts
	WHERE  accts.position_line_id = l_lines_pos_rec.position_line_id
	AND    lines.worksheet_id     = p_worksheet_id
	AND    lines.account_line_id  = accts.account_line_id
      )
      LOOP
	--
	Insert_WS_Lines_Pvt
	(
	  p_worksheet_id       =>  l_new_worksheet_id,
	  p_account_line_id    =>  l_lines_rec.account_line_id ,
	  p_freeze_flag        =>  l_lines_rec.freeze_flag ,
	  p_view_line_flag     =>  l_lines_rec.view_line_flag ,
	  p_last_update_date   =>  g_current_date,
	  p_last_updated_by    =>  g_current_user_id,
	  p_last_update_login  =>  g_current_login_id,
	  p_created_by         =>  g_current_user_id,
	  p_creation_date      =>  g_current_date,
	  p_return_status      =>  l_return_status
	) ;