--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;