You passed the security authentication and the apps-authorisation and the in the SOA Monitor the webservice shows a succesful execution. But there might be fnctional errors like a lookup violation that are not shown in the response message.
Then it might be usefull to just call the corresponding pl/sql api from a test script.
Below you'll find a script to test the Create Person of the Public Party API. It's a Pl/Sql Developer test script that you might adapt to an sql plus or sqldeveloper script.
declare
-- FND UserName
c_user_name constant varchar2(30) := 'ASADMIN';
c_responsibility_key constant varchar2(30) := 'HZ_TCA_MANAGER';
-- Type for repsonsibility record
type t_responsibility_rec is record(
user_id fnd_user.user_id%type,
user_name fnd_user.user_name%type,
responsibility_key fnd_responsibility.responsibility_key%type,
responsibility_id fnd_responsibility.responsibility_id%type,
appplication_id fnd_responsibility.application_id%type);
g_responsibility xxx_profile.t_responsibility_rec;
-- Person Record
p_person_rec hz_party_v2pub.person_rec_type;
-- Error Message Fields
l_error_text varchar2(32767);
l_msg_count number;
cursor c_usr(b_user_name in fnd_user.user_name%type) is
select usr.user_id, usr.user_name
from fnd_user usr
where usr.user_name = b_user_name;
r_usr c_usr%rowtype;
cursor c_rsp(b_responsibility_key in fnd_responsibility.responsibility_key%type) is
select rsp.application_id,
rsp.responsibility_id,
rsp.responsibility_key
from fnd_responsibility rsp
where rsp.responsibility_key = b_responsibility_key;
r_rsp c_rsp%rowtype;
begin
-- Query Responsibility Id's
open c_usr(b_user_name => c_user_name);
fetch c_usr
into r_usr;
if c_usr%found then
g_responsibility.user_id := r_usr.user_id;
g_responsibility.user_name := r_usr.user_name;
open c_rsp(b_responsibility_key => c_responsibility_key);
fetch c_rsp
into r_rsp;
if c_rsp%found then
g_responsibility.responsibility_key := r_rsp.responsibility_key;
g_responsibility.responsibility_id := r_rsp.responsibility_id;
g_responsibility.appplication_id := r_rsp.application_id;
end if;
close c_rsp;
end if;
close c_usr;
-- Set Apps context
fnd_global.apps_initialize(user_id => g_responsibility.user_id,
resp_id => g_responsibility.responsibility_id,
resp_appl_id => g_responsibility.appplication_id);
-- Set Person Record
p_person_rec.PERSON_FIRST_NAME := 'Jean';
p_person_rec.PERSON_MIDDLE_NAME := 'Michel';
p_person_rec.PERSON_LAST_NAME := 'Jarre';
p_person_rec.PERSON_INITIALS := 'JM';
p_person_rec.PERSON_NAME_PHONETIC := 'sjan misjel sjar';
p_person_rec.PERSON_FIRST_NAME_PHONETIC := 'sjan';
p_person_rec.PERSON_LAST_NAME_PHONETIC := 'sjar';
p_person_rec.MIDDLE_NAME_PHONETIC := 'misjel';
p_person_rec.DATE_OF_BIRTH := to_date('1948-08-26',
'yyyy-mm-dd');
p_person_rec.PLACE_OF_BIRTH := 'Lyon';
p_person_rec.GENDER := 'MALE';
p_person_rec.DECLARED_ETHNICITY := 'French';
p_person_rec.created_by_module := 'HZ_WS';
-- Call the procedure
hz_party_v2pub.create_person(p_init_msg_list => :p_init_msg_list,
p_person_rec => p_person_rec,
p_party_usage_code => :p_party_usage_code,
x_party_id => :x_party_id,
x_party_number => :x_party_number,
x_profile_id => :x_profile_id,
x_return_status => :x_return_status,
x_msg_count => :x_msg_count,
x_msg_data => :x_msg_data);
l_msg_count := fnd_msg_pub.Count_Msg;
l_error_text := '';
if l_msg_count = 1 then
l_error_text := 'API Error: ';
end if;
if l_msg_count >= 1 then
for i in 1 .. l_msg_count loop
l_error_text := nvl(l_error_text, ' ') || chr(10) || i || '. ' ||
fnd_msg_pub.get(p_encoded => fnd_api.g_false);
end loop;
end if;
:error := l_error_text;
end;
No comments :
Post a Comment