Thursday, January 11, 2018

Create Person API in Oracle Apps

DECLARE
   p_person_rec               hz_party_v2pub.person_rec_type;
   x_cust_account_id      NUMBER;
   x_account_number    VARCHAR2 (2000);
   x_party_id                  NUMBER;
   x_party_number         VARCHAR2 (2000);
   x_profile_id                NUMBER;
   x_return_status           VARCHAR2 (2000);
   x_msg_count                NUMBER;
   x_msg_data                  VARCHAR2 (2000);
   l_msg_index_out          NUMBER;
   l_error_message          VARCHAR2 (100);
BEGIN
    p_person_rec.person_first_name :='&person_first_name';
    p_person_rec.person_last_name :='&person_last_name';
    p_person_rec.created_by_module :='TCA_V2_API';
    hz_party_v2pub.create_person( p_init_msg_list => 'T',
                                  p_person_rec    => p_person_rec,
                                  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);
  IF x_return_status = fnd_api.g_ret_sts_success THEN
     dbms_output.put_line('output information');
     dbms_output.put_line('x_party_id:' || x_party_id);
     dbms_output.put_line('x_party_number:' || x_party_number);
     dbms_output.put_line('x_profile_id:' || x_profile_id);
   
      IF x_msg_count > 0
      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
                                 );
         END LOOP;

         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;

         DBMS_OUTPUT.put_line ('*****************************************');
         DBMS_OUTPUT.put_line ('API Error: ' || l_error_message);
         DBMS_OUTPUT.put_line ('*****************************************');
      END IF;
   END IF;
END;      

Create Customer Account Site API in Oracle Apps

DECLARE
   p_cust_acct_site_rec          hz_cust_account_site_v2pub.cust_acct_site_rec_type;
   p_cust_account_rec       hz_cust_account_v2pub.cust_account_rec_type;
   x_return_status        VARCHAR2 (2000);
   x_msg_count            NUMBER;
   x_msg_data             VARCHAR2 (2000);
   x_party_site_id        number;
   x_cust_acct_site_id     number;
   x_account_number         VARCHAR2 (100);
   l_msg_index_out          NUMBER;
   l_error_message          VARCHAR2 (100);
BEGIN
   p_cust_acct_site_rec.cust_account_id :='&cust_account_id';
   p_cust_acct_site_rec.created_by_module :='TCA_V2_API';
   hz_cust_account_site_v2pub.create_cust_acct_site( p_init_msg_list => 'T',
                                  p_cust_acct_site_rec   => p_cust_acct_site_rec,
                                  x_cust_acct_site_id => x_cust_acct_site_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
     dbms_output.put_line('output information');
     dbms_output.put_line('x_cust_acct_site_id:' || x_cust_acct_site_id);
     DBMS_OUTPUT.put_line ('x_account_number:' || x_account_number);
     DBMS_OUTPUT.put_line ('x_party_site_id:' || x_party_site_id);
   
      IF x_msg_count > 0
      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
                                 );
         END LOOP;

         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;

         DBMS_OUTPUT.put_line ('*****************************************');
         DBMS_OUTPUT.put_line ('API Error: ' || l_error_message);
         DBMS_OUTPUT.put_line ('*****************************************');
      END IF;
   END IF;
END;      

Create Contact Point API in Oracle Apps

DECLARE
       p_contact_point_rec hz_contact_point_v2pub.contact_point_rec_type;
       p_email_rec   hz_contact_point_v2pub.email_rec_type;
       p_phone_rec   hz_contact_point_v2pub.phone_rec_type;
       p_edi_rec    hz_contact_point_v2pub.edi_rec_type;
       p_telex_rec hz_contact_point_v2pub.telex_rec_type;
       p_web_rec hz_contact_point_v2pub.web_rec_type;
       x_return_status        varchar2(200);
       x_msg_count            number;
       x_msg_data             varchar2(200);
       x_contact_point_id     number;
       l_msg_index_out        number;
       l_error_message           varchar2(100);
       x_owner_table_name     varchar2(50);
       x_email_address           varchar2(200);
       x_phone_area_code       varchar2(20);
       x_phone_number          varchar2(50);
       x_phone_line_type       varchar2(50);
       p_init_msg_list            varchar2(30);
BEGIN
     p_contact_point_rec.contact_point_type:='&contact_point_type';
     p_contact_point_rec.owner_table_id :='&owner_table_id';
     p_contact_point_rec.created_by_module :='TCA_V2_API';
   
     hz_contact_point_v2pub.create_contact_point(p_init_msg_list=> 'T',
                                                 p_contact_point_rec => p_contact_point_rec,
                                                 p_email_rec  => p_email_rec ,
                                                 p_phone_rec => p_phone_rec,
                                                 p_edi_rec => p_edi_rec,
                                                 p_telex_rec => p_telex_rec,
                                                 p_web_rec => p_web_rec,
                                                 x_return_status  => x_return_status ,
                                                 x_msg_count  => x_msg_count ,
                                                 x_msg_data => x_msg_data,
                                                 x_contact_point_id => x_contact_point_id);
     IF x_return_status = fnd_api.g_ret_sts_success THEN
       dbms_output.put_line('output information');
       dbms_output.put_line('x_contact_point_id:' ||  x_contact_point_id);
       dbms_output.put_line ('x_owner_table_name:' || x_owner_table_name);
       dbms_output.put_line  ('x_email_address:' || x_email_address);                                   
       dbms_output.put_line ('x_phone_area_code:' || x_phone_area_code);
       dbms_output.put_line ('x_phone_number:' || x_phone_number);
       dbms_output.put_line ('x_phone_line_type:' || x_phone_line_type);
     IF x_msg_count > 0
      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
                                 );
         END LOOP;

         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;

         DBMS_OUTPUT.put_line ('*****************************************');
         DBMS_OUTPUT.put_line ('API Error: ' || l_error_message);
         DBMS_OUTPUT.put_line ('*****************************************');
      END IF;
   END IF;
END;

Thursday, January 4, 2018

Customer Account API in Oracle Apps | Usage & Example Guide

DECLARE
   p_cust_account_rec       hz_cust_account_v2pub.cust_account_rec_type;
   p_customer_profile_rec   hz_customer_profile_v2pub.customer_profile_rec_type;
   p_person_rec             hz_party_v2pub.person_rec_type;
   p_organization_rec       hz_party_v2pub.organization_rec_type;
   v_party_type             VARCHAR2 (30);
   x_party_id               NUMBER;
   x_party_number           VARCHAR2 (100);
   x_profile_id             NUMBER;
   x_return_status          VARCHAR2 (100);
   x_msg_count              NUMBER;
   x_msg_data               VARCHAR2 (100);
   x_cust_account_id        NUMBER;
   x_account_number         VARCHAR2 (100);
   p_init_msg_list          VARCHAR2 (30);
   l_msg_index_out          NUMBER;
   l_error_message          VARCHAR2 (100);
BEGIN
   v_party_type := '&party_type';
   p_cust_account_rec.created_by_module := 'TCA_V2_API';

   IF upper(v_party_type) = 'PERSON'
   THEN
      p_person_rec.person_first_name := '&p_person_first_name';
      p_person_rec.person_last_name := '&p_person_last_name';
      hz_cust_account_v2pub.create_cust_account
                           (p_init_msg_list             => 'T',
                            p_cust_account_rec          => p_cust_account_rec,
                            p_person_rec                => p_person_rec,
                            p_customer_profile_rec      => p_customer_profile_rec,
                            p_create_profile_amt        => 'F',
                            x_cust_account_id           => x_cust_account_id,
                            x_account_number            => x_account_number,
                            x_party_id                  => x_party_id,
                            x_profile_id                => x_profile_id,
                            x_party_number              => x_party_number,
                            x_return_status             => x_return_status,
                            x_msg_count                 => x_msg_count,
                            x_msg_data                  => x_msg_data
                           );
   ELSIF upper(v_party_type) = 'ORGANIZATION'
   THEN
      p_organization_rec.organization_name := '&p_org_name';
      hz_cust_account_v2pub.create_cust_account
                           (p_init_msg_list             => 'T',
                            p_cust_account_rec          => p_cust_account_rec,
                            p_organization_rec          => p_organization_rec,
                            p_customer_profile_rec      => p_customer_profile_rec,
                            p_create_profile_amt        => 'F',
                            x_cust_account_id           => x_cust_account_id,
                            x_account_number            => x_account_number,
                            x_return_status             => x_return_status,
                            x_msg_count                 => x_msg_count,
                            x_msg_data                  => x_msg_data,
                            x_party_id                  => x_party_id,
                            x_party_number              => x_party_number,
                            x_profile_id                => x_profile_id
                           );
   END IF;

   IF x_return_status = fnd_api.g_ret_sts_success
   THEN
      DBMS_OUTPUT.put_line ('output information');
      DBMS_OUTPUT.put_line ('x_party_id:' || x_party_id);
      DBMS_OUTPUT.put_line ('x_party_number:' || x_party_number);
      DBMS_OUTPUT.put_line ('x_profile_id :' || x_profile_id);
      DBMS_OUTPUT.put_line ('  x_account_number:' || x_account_number);
   ELSE
      IF x_msg_count > 0
      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
                                 );
         END LOOP;

         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;

         DBMS_OUTPUT.put_line ('*****************************************');
         DBMS_OUTPUT.put_line ('API Error: ' || l_error_message);
         DBMS_OUTPUT.put_line ('*****************************************');
      END IF;
   END IF;
END;

Wednesday, January 3, 2018

List All Tables in Oracle Apps | Comprehensive Guide

List All Tables in Oracle:
   1. Viewing Tables Owned by Current user
     select table_name,owner
     from user_tables
     order by owner,table_name;

   2. Viewing Tables Accessible by Current User
     select table_name,owner
     from all_tables
     order by owner,table_name;
 
   3. Viewing All Tables
     select table_name,owner
     from dba_tables
     where owner='schema_name'
     order by owner,table_name;