Tuesday, March 12, 2013

API to Create the Extensible Attributes in TCA for Organization using API HZ_EXTENSIBILITY_PUB

This Scripts explains how to create the extensible attributes for the Organization In TCA Architecture  using API HZ_EXTENSIBILITY_PUB.

Front End Navigation :-

Oracle Customer Data Librarian Superuser à Administration à Extension à Select the Extensible Attribute Group name form the LOV as shown in Screen shot




DECLARE
   l_org_profile_id                                  NUMBER;
   l_user_attr_data_table                            ego_user_attr_data_table;
   l_user_attr_row_table                             ego_user_attr_row_table;
   l_application_id                                  NUMBER;
   l_attr_group_type                                 VARCHAR2 (40);
   l_attr_group1_name                                VARCHAR2 (30);
   l_start_time                                      DATE;
   l_end_time                                        DATE;
   x_failed_row_id_list                              VARCHAR2 (10000);
   x_return_status                                   VARCHAR2 (1);
   x_errorcode                                       NUMBER;
   x_msg_count                                       NUMBER;
   x_msg_data                                        VARCHAR2 (1000);
BEGIN
   l_org_profile_id                               := 3203;
   l_application_id                               := 222;
   l_attr_group_type                              := 'HZ_ORG_PROFILES_GROUP';
   l_attr_group1_name                             := 'OS_INFO';

   l_user_attr_row_table                          :=
      ego_user_attr_row_table (ego_user_attr_row_obj (1
                                                    , NULL
                                                    , l_application_id
                                                    , l_attr_group_type
                                                    , l_attr_group1_name
                                                    , NULL
                                                    , NULL
                                                    , NULL
                                                    , NULL
                                                    , NULL
                                                    , NULL
                                                    , ego_user_attrs_data_pvt.g_update_mode
                                                     )
                              );

   l_user_attr_data_table                         :=
      ego_user_attr_data_table (ego_user_attr_data_obj (1, 'OS_KEY', NULL, 42787902, NULL, NULL, NULL, NULL)
                              , ego_user_attr_data_obj (1, 'OS_PARENT_KEY', NULL, 517045, NULL, NULL, NULL, NULL)
                              , ego_user_attr_data_obj (1
                                                      , 'OS_PARENT_NAME'
                                                      , 'Century Insurance'
                                                      , NULL
                                                      , NULL
                                                      , NULL
                                                      , NULL
                                                      , NULL
                                                       )
                              , ego_user_attr_data_obj (1, 'OS_ULT_PARENT_KEY', NULL, 517045, NULL, NULL, NULL, NULL)
                              , ego_user_attr_data_obj (1
                                                      , 'OS_ULT_PARENT_NAME'
                                                      , 'Century Insurance'
                                                      , NULL
                                                      , NULL
                                                      , NULL
                                                      , NULL
                                                      , NULL
                                                       )
                              , ego_user_attr_data_obj (1, 'OS_LATITUDE', 'OS_LATITUDE', NULL, NULL, NULL, NULL, NULL)
                              , ego_user_attr_data_obj (1, 'OS_LONGITUDE', 'OS_LONGITUDE', NULL, NULL, NULL, NULL, NULL)
                              , ego_user_attr_data_obj (1
                                                      , 'OS_BUSINESS_DESC'
                                                      , 'OS_BUSINESS_DESC'
                                                      , NULL
                                                      , NULL
                                                      , NULL
                                                      , NULL
                                                      , NULL
                                                       )
                               );


   hz_extensibility_pub.process_organization_record (p_api_version                 => 1.0
                                                   , p_org_profile_id              => l_org_profile_id
                                                   , p_attributes_row_table        => l_user_attr_row_table
                                                   , p_attributes_data_table       => l_user_attr_data_table
                                                   , p_debug_level                 => 3
                                                   , p_commit                      => fnd_api.g_true
                                                   , x_failed_row_id_list          => x_failed_row_id_list
                                                   , x_return_status               => x_return_status
                                                   , x_errorcode                   => x_errorcode
                                                   , x_msg_count                   => x_msg_count
                                                   , x_msg_data                    => x_msg_data
                                                    );

   DBMS_OUTPUT.put_line (   'API Status, Return Status is: '
                         || x_return_status
                         || ', Mesage Count is: '
                         || x_msg_count
                         || ' and Error Message is: '
                         || x_msg_data
                        );

   IF (LENGTH (x_failed_row_id_list) > 0)
   THEN
      DBMS_OUTPUT.put_line (   'Details of rows which failed: '
                            || x_failed_row_id_list);

      DECLARE
         l_errors_tbl                                      error_handler.error_tbl_type;
      BEGIN
         error_handler.get_message_list (l_errors_tbl);

         FOR i IN 1 .. l_errors_tbl.COUNT
         LOOP
            DBMS_OUTPUT.put_line (   'API Error : '
                                  || l_errors_tbl (i).MESSAGE_TEXT);
            DBMS_OUTPUT.put_line (   'Message Type : '
                                  || l_errors_tbl (i).MESSAGE_TYPE);
         END LOOP;
      END;
   END IF;

END;

No comments:

Post a Comment

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