declare
lx_msg_count NUMBER;
lx_msg_data VARCHAR2(2000);
lx_request_id NUMBER;
lx_request_number VARCHAR2(50);
lx_interaction_id NUMBER;
lx_workflow_process_id NUMBER;
lx_msg_index_out NUMBER;
lx_return_status VARCHAR2(1);
l_service_request_rec CS_ServiceRequest_PUB.service_request_rec_type;
l_service_request_rec_out CS_ServiceRequest_PUB.sr_create_out_rec_type ;
l_notes_table CS_SERVICEREQUEST_PUB.notes_table;
l_contacts_tab CS_SERVICEREQUEST_PUB.contacts_table;
j number;
lx_individual_owner NUMBER;
lx_group_owner NUMBER;
lx_individual_type VARCHAR2(100) ;
begin
FOR J IN 1 .. 10000
LOOP
-- Populate the SR Record type
--l_service_request_rec.incident_country:= 'US';
--l_service_request_rec.incident_postal_code:= '45202';
l_service_request_rec.incident_location_type :='HZ_PARTY_SITE';
l_service_request_rec.INCIDENT_LOCATION_ID := 276016; --262651;
l_service_request_rec.incident_occurred_date := SYSDATE;
l_service_request_rec.INSTALL_SITE_ID := 276016; --262651;
l_service_request_rec.request_date := SYSDATE;
l_service_request_rec.type_id := 10006; ---
l_service_request_rec.status_id := 1; ---
l_service_request_rec.severity_id := 2; ---
l_service_request_rec.urgency_id := 2;---
--l_service_request_rec.owner_id := 100000101;
l_service_request_rec.summary := 'SR API TEST'; ---
l_service_request_rec.caller_type := 'ORGANIZATION';
l_service_request_rec.customer_number := '276421CH'; --'100692CH'; ---
--l_service_request_rec.verify_cp_flag := 'N';
l_service_request_rec.inventory_item_id := 628814; --607498;
l_service_request_rec.inventory_org_id := 45;
l_service_request_rec.category_id := 3346;
l_service_request_rec.category_set_id := 1;
IF ( l_service_request_rec.owner_id IS NULL
OR l_service_request_rec.owner_id = Fnd_Api.g_miss_num
)
THEN
l_service_request_rec.territory_id := NULL;
ELSE
l_service_request_rec.territory_id := 83;
END IF;
l_notes_table(1).note := 'Test Note';
l_notes_table(1).note_detail:= 'Note details entered here'; -- NULL
l_notes_table(1).note_type := 'ACT_HIS';
dbms_output.put_line('Before calling Public SR API');
cs_servicerequest_PUB.Create_ServiceRequest (
p_api_version => 4.0,
p_init_msg_list => FND_API.G_TRUE,
p_commit => FND_API.G_TRUE,
x_return_status => lx_return_status,
x_msg_count => lx_msg_count,
x_msg_data => lx_msg_data,
p_resp_appl_id => 690,
p_resp_id => 21787,
p_user_id => 10780,
p_login_id => 00,
p_org_id => 150,
p_request_id => null,
p_request_number => null,
p_service_request_rec => l_service_request_rec,
p_notes => l_notes_table,
p_contacts => l_contacts_tab,
P_auto_assign => 'Y',
p_auto_generate_tasks => 'Y',
x_sr_create_out_rec => l_service_request_rec_out,
p_default_contract_sla_ind =>'N',
p_default_coverage_template_id => 0);
if l_service_request_rec_out.auto_task_gen_attempted THEN
dbms_output.put_line('auto task gen status : TRUE');
end if;
dbms_output.put_line('Return Status : ' lx_return_status);
dbms_output.put_line('Inserted request id: ' l_service_request_rec_out.request_id );
dbms_output.put_line('Inserted request num : ' l_service_request_rec_out.request_number );
dbms_output.put_line('Interaction ID : ' l_service_request_rec_out.interaction_id );
dbms_output.put_line('auto task gen status 'l_service_request_rec_out.auto_task_gen_status);
--dbms_output.put_line('auto task gen attempted : 'l_service_request_rec_out.auto_task_gen_attempted);
IF (lx_return_status <> FND_API.G_RET_STS_SUCCESS) then
IF (FND_MSG_PUB.Count_Msg > 1) THEN
--Display all the error messages
FOR j in 1..FND_MSG_PUB.Count_Msg LOOP
FND_MSG_PUB.Get( p_msg_index => j,
p_encoded => 'F', p_data => lx_msg_data,
p_msg_index_out => lx_msg_index_out);
DBMS_OUTPUT.PUT_LINE(lx_msg_data);
END LOOP;
ELSE
--Only one error
FND_MSG_PUB.Get( p_msg_index => 1,
p_encoded => 'F',
p_data => lx_msg_data,
p_msg_index_out => lx_msg_index_out);DBMS_OUTPUT.PUT_LINE(lx_msg_data);
DBMS_OUTPUT.PUT_LINE(lx_msg_index_out);
END IF;
END IF;
END LOOP;
exception
when others then dbms_output.put_line('in others main ' sqlerrm);
end;