-- Make Sure you initialize apps and set mo_global.set_policy_context
PROCEDURE create_contact_point_id (
p_in_contact_point_type IN VARCHAR2,
p_in_contact_point IN VARCHAR2,
p_in_party_id IN VARCHAR2,
x_out_cont_point_id OUT VARCHAR2
)
IS
v_cpr hz_contact_point_v2pub.contact_point_rec_type;
v_edi_rec hz_contact_point_v2pub.edi_rec_type;
v_email_rec hz_contact_point_v2pub.email_rec_type;
v_phone_rec hz_contact_point_v2pub.phone_rec_type;
v_telex_rec hz_contact_point_v2pub.telex_rec_type;
v_web_rec hz_contact_point_v2pub.web_rec_type;
x_ou_return_status VARCHAR2 (2000);
x_ou_msg_count NUMBER;
x_ou_contact_point_id NUMBER;
x_ou_msg_data VARCHAR2 (2000);
x_ou_output_message VARCHAR2 (2000) := ' ';
v_message VARCHAR2 (5000);
v_err_message VARCHAR2 (5000);
BEGIN
IF p_in_contact_point_type = 'PHONE'
THEN
v_phone_rec.phone_number := p_in_contact_point;
v_phone_rec.phone_line_type := 'GEN';
ELSIF p_in_contact_point_type = 'EMAIL'
THEN
v_email_rec.email_format := 'MAILTEXT';
v_email_rec.email_address := p_in_contact_point;
END IF;
/* build contact point rec */
v_cpr.contact_point_id := NULL;
v_cpr.contact_point_type := p_in_contact_point_type;
v_cpr.status := 'A';
v_cpr.owner_table_name := 'HZ_PARTIES';
v_cpr.owner_table_id := p_in_party_id;
v_cpr.primary_flag := 'N';
v_cpr.created_by_module := 'TCA_V2_API';
/* call api to create rec */
IF p_in_contact_point IS NOT NULL
THEN
hz_contact_point_v2pub.create_contact_point
(p_init_msg_list => fnd_api.g_true,
p_contact_point_rec => v_cpr,
p_edi_rec => v_edi_rec,
p_email_rec => v_email_rec,
p_phone_rec => v_phone_rec,
p_telex_rec => v_telex_rec,
p_web_rec => v_web_rec,
x_contact_point_id => x_ou_contact_point_id,
x_return_status => x_ou_return_status,
x_msg_count => x_ou_msg_count,
x_msg_data => x_ou_msg_data
);
COMMIT;
dbms_output.put_line (x_ou_msg_data);
dbms_output.put_line (x_ou_return_status);
dbms_output.put_line (x_ou_msg_count);
IF x_ou_return_status <> 'S'
THEN
FOR j IN 1 .. x_ou_msg_count
LOOP
fnd_msg_pub.get (j, fnd_api.g_false, x_ou_msg_data, v_message);
v_err_message :=
v_err_message
|| ('Msg' || TO_CHAR (j) || ': ' || x_ou_msg_data);
END LOOP;
dbms_output.put_line ('v_err_message: ' || v_err_message);
ELSE
x_out_cont_point_id := x_ou_contact_point_id;
END IF;
ELSE
dbms_output.put_line ('No Valid Value for Contact Point Creation: ');
END IF;
EXCEPTION
WHEN OTHERS
THEN
dbms_output.put_line (SQLERRM);
END create_contact_point_id;
PROCEDURE create_contact_point_id (
p_in_contact_point_type IN VARCHAR2,
p_in_contact_point IN VARCHAR2,
p_in_party_id IN VARCHAR2,
x_out_cont_point_id OUT VARCHAR2
)
IS
v_cpr hz_contact_point_v2pub.contact_point_rec_type;
v_edi_rec hz_contact_point_v2pub.edi_rec_type;
v_email_rec hz_contact_point_v2pub.email_rec_type;
v_phone_rec hz_contact_point_v2pub.phone_rec_type;
v_telex_rec hz_contact_point_v2pub.telex_rec_type;
v_web_rec hz_contact_point_v2pub.web_rec_type;
x_ou_return_status VARCHAR2 (2000);
x_ou_msg_count NUMBER;
x_ou_contact_point_id NUMBER;
x_ou_msg_data VARCHAR2 (2000);
x_ou_output_message VARCHAR2 (2000) := ' ';
v_message VARCHAR2 (5000);
v_err_message VARCHAR2 (5000);
BEGIN
IF p_in_contact_point_type = 'PHONE'
THEN
v_phone_rec.phone_number := p_in_contact_point;
v_phone_rec.phone_line_type := 'GEN';
ELSIF p_in_contact_point_type = 'EMAIL'
THEN
v_email_rec.email_format := 'MAILTEXT';
v_email_rec.email_address := p_in_contact_point;
END IF;
/* build contact point rec */
v_cpr.contact_point_id := NULL;
v_cpr.contact_point_type := p_in_contact_point_type;
v_cpr.status := 'A';
v_cpr.owner_table_name := 'HZ_PARTIES';
v_cpr.owner_table_id := p_in_party_id;
v_cpr.primary_flag := 'N';
v_cpr.created_by_module := 'TCA_V2_API';
/* call api to create rec */
IF p_in_contact_point IS NOT NULL
THEN
hz_contact_point_v2pub.create_contact_point
(p_init_msg_list => fnd_api.g_true,
p_contact_point_rec => v_cpr,
p_edi_rec => v_edi_rec,
p_email_rec => v_email_rec,
p_phone_rec => v_phone_rec,
p_telex_rec => v_telex_rec,
p_web_rec => v_web_rec,
x_contact_point_id => x_ou_contact_point_id,
x_return_status => x_ou_return_status,
x_msg_count => x_ou_msg_count,
x_msg_data => x_ou_msg_data
);
COMMIT;
dbms_output.put_line (x_ou_msg_data);
dbms_output.put_line (x_ou_return_status);
dbms_output.put_line (x_ou_msg_count);
IF x_ou_return_status <> 'S'
THEN
FOR j IN 1 .. x_ou_msg_count
LOOP
fnd_msg_pub.get (j, fnd_api.g_false, x_ou_msg_data, v_message);
v_err_message :=
v_err_message
|| ('Msg' || TO_CHAR (j) || ': ' || x_ou_msg_data);
END LOOP;
dbms_output.put_line ('v_err_message: ' || v_err_message);
ELSE
x_out_cont_point_id := x_ou_contact_point_id;
END IF;
ELSE
dbms_output.put_line ('No Valid Value for Contact Point Creation: ');
END IF;
EXCEPTION
WHEN OTHERS
THEN
dbms_output.put_line (SQLERRM);
END create_contact_point_id;