My Oracle Support Banner

Unable To Delete Claim Utilization Lines By Using The API OZF_Claim_PUB.Delete_Claim_Line_Tbl (Doc ID 2553530.1)

Last updated on DECEMBER 04, 2019

Applies to:

Oracle Trade Management - Version 12.2.5 and later
Information in this document applies to any platform.

Goal

Trying to use the OZF_CLAIM_PUB and they are passing utilization_id to the ozf_claim_pub.delete_claim_line_tbl API call. It is deleting the entire claim line from OZF_CLAIM_LINES_ALL though the OZF_CLAIM_LINES_UTIL_ALL table records remains. Trying to understand why is it not deleting the utilization line for which they are passing the id?
 
What customer wants …
Update some amount in the search result records line amount field and as user enters an amount they can see from the backend that multiple lines are created in OZF_CLAIM_LINES_UTIL_ALL table. Need to delete selective Utilization line from this table and delete claim line only if all the utilizations are deleted using manual API calls.
 
Below is the API customer is using.
 
declare
p_claim_line_tbl1 OZF_Claim_PUB.claim_line_tbl_type;
x_return_status1 varchar2(100);
 
  lv_msg_data VARCHAR2(4000);
  ln_msg_count NUMBER;
  lv_status VARCHAR2(10);
  ln_msg_index_out NUMBER;
  l_emsg varchar2(4000);
  l_emsg1 varchar2(1000);
begin
p_claim_line_tbl1(1).claim_line_id := xxxxxx;
p_claim_line_tbl1(1).object_version_number := 1;
p_claim_line_tbl1(1).utilization_id := xxxxxx;
OZF_Claim_PUB.Delete_Claim_Line_Tbl(
  p_api_version => 1.0
  ,p_init_msg_list => FND_API.g_true-- IN VARCHAR2 := FND_API.g_false
  ,p_commit => FND_API.g_true-- IN VARCHAR2 := FND_API.g_false
  ,p_validation_level => FND_API.g_valid_level_full-- IN NUMBER := FND_API.g_valid_level_full
  ,x_return_status => x_return_status1
  ,x_msg_data => lv_msg_data
  ,x_msg_count => ln_msg_count
  ,p_claim_line_tbl => p_claim_line_tbl1
  ,p_change_object_version => FND_API.g_true
  ,x_error_index => ln_msg_index_out);
  
  dbms_output.put_line('x_return_status1 '||x_return_status1);
  if(x_return_status1 = 'E') then
  FOR j IN 1 .. ln_msg_count
  LOOP -- header api error loop start
  fnd_msg_pub.get (
  p_msg_index => j,
  p_encoded => 'F',
  p_data => lv_msg_data,
  p_msg_index_out => ln_msg_index_out
  );
  
  l_emsg1 := 'Error '||ln_msg_index_out||'. '||lv_msg_data||' while deleting claim line utilization ';
  l_emsg := l_emsg || l_emsg1;
  end loop;
  dbms_output.put_line('l_emsg '||l_emsg);
  end if;
  end;
 

Solution

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Goal
Solution


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.