Monday, September 23, 2013

Script tot Create an account site use Using TCA API

DECLARE
   p_cust_site_use_rec                               hz_cust_account_site_v2pub.cust_site_use_rec_type;
   p_customer_profile_rec                            hz_customer_profile_v2pub.customer_profile_rec_type;
   x_site_use_id                                     NUMBER;
   x_return_status                                   VARCHAR2 (2000);
   x_msg_count                                       NUMBER;
   x_msg_data                                        VARCHAR2 (2000);
   l_created_by_module                               VARCHAR2 (240);
   l_error_message                                   VARCHAR2 (2000);
   l_msg_index_out                                   NUMBER;
BEGIN
   DBMS_APPLICATION_INFO.set_client_info ('&ORG_ID');

   SELECT lookup_code
     INTO l_created_by_module
     FROM fnd_lookup_values
    WHERE lookup_type = 'HZ_CREATED_BY_MODULES'
      AND ROWNUM = 1
      AND enabled_flag = 'Y'
      AND NVL (end_date_active, SYSDATE) >= SYSDATE;

   p_cust_site_use_rec.cust_acct_site_id                    := '<cust_acct_site_id>';
   p_cust_site_use_rec.site_use_code                        := '<BILL_TO/SHIP_TO>';
   p_cust_site_use_rec.created_by_module                    := l_created_by_module;
   hz_cust_account_site_v2pub.create_cust_site_use (p_init_msg_list               => fnd_api.g_true
                                                  , p_cust_site_use_rec           => p_cust_site_use_rec
                                                  , p_customer_profile_rec        => p_customer_profile_rec
                                                  , p_create_profile              => fnd_api.g_false
                                                  , p_create_profile_amt          => fnd_api.g_false
                                                  , x_site_use_id                 => x_site_use_id
                                                  , x_return_status               => x_return_status
                                                  , x_msg_count                   => x_msg_count
                                                  , x_msg_data                    => x_msg_data
                                                   );

   IF x_return_status <> fnd_api.g_ret_sts_success
   THEN
      FOR i IN 1 .. x_msg_count
      LOOP
         apps.fnd_msg_pub.get (p_msg_index                   => i
                             , p_encoded                     => fnd_api.g_false
                             , p_data                        => x_msg_data
                             , p_msg_index_out               => l_msg_index_out
                              );

         IF l_error_message IS NULL
         THEN
            l_error_message                                          := SUBSTR (x_msg_data, 1, 250);
         ELSE
            l_error_message                                          :=
                                                                      l_error_message || ' /' || SUBSTR (x_msg_data, 1, 250);
         END IF;
      END LOOP;

      DBMS_OUTPUT.put_line ('*****************************************');
      DBMS_OUTPUT.put_line ('API Error : ' || l_error_message);
      DBMS_OUTPUT.put_line ('*****************************************');
      ROLLBACK;
   ELSE
      DBMS_OUTPUT.put_line ('*****************************************');
      DBMS_OUTPUT.put_line ('Account Site Use Created Successfully ');
      DBMS_OUTPUT.put_line ('Site Use id : ' || x_site_use_id);
      DBMS_OUTPUT.put_line ('*****************************************');
      COMMIT;
   END IF;
EXCEPTION
   WHEN OTHERS
   THEN
      DBMS_OUTPUT.put_line ('Unexpected Error ' || SUBSTR (SQLERRM, 1, 250));
END;

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.