--How to assign null value to TCA APIs
--Take an example of
HZ_CUST_ACCOUNTS.ATTRIBUTE1 column has an existing value of "YES"
--if you want to set this value to NULL
by assigning NULL to the attribute1 record type and passing it to the TCA
API
hz_cust_account_v2pub.update_cust_account
--will not set the value to null
-- We need to use
"fnd_api.g_null_char" to set an existing value in the TCA table
columns to NULL
-- Below example sets the
HZ_CUST_ACCOUNTS.ATTRIBUTE1 which has an existing value of 'YES" to NULL
DECLARE
x_return_status VARCHAR2 (100);
x_msg_count NUMBER;
x_msg_data VARCHAR2
(32767);
BEGIN
lv_cust_account_rec.cust_account_id := 1234;
l_acct_ovn := 5;
lv_cust_account_rec.attribute1 := fnd_api.g_null_char;
print_log ('Calling Customer Account Update API', 2);
hz_cust_account_v2pub.update_cust_account (
p_init_msg_list => fnd_api.g_false,
p_cust_account_rec => lv_cust_account_rec,
p_object_version_number => l_acct_ovn,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data =>
x_msg_data);
IF x_return_status <>
'S'
THEN
FOR i IN 1 .. x_msg_count
LOOP
l_error_msg
:=
l_error_msg || i || '.'
|| SUBSTR (
NVL (fnd_msg_pub.get (p_encoded => fnd_api.g_false),
x_msg_data),
1,
500);
END LOOP;
END IF;
END;