Showing posts with label User Table. Show all posts
Showing posts with label User Table. Show all posts

Tuesday, December 13, 2016

API to Create User Table Column Instance

DECLARE
   l_user_column_instance_id   NUMBER;
   l_object_version_number     NUMBER;
   l_effective_start_date      DATE;
   l_effective_end_date        DATE;

   CURSOR c1 (
      lc_bbgid NUMBER)
   IS
      SELECT pur.user_row_id, puc.*
        FROM pay_user_tables put, pay_user_rows_f pur, pay_user_columns puc
       WHERE     put.user_table_id = pur.user_table_id
             AND put.business_group_id = lc_bbgid
             AND SYSDATE BETWEEN pur.effective_start_date
                             AND pur.effective_end_date
             AND puc.user_table_id = put.user_table_id
             AND put.user_table_name = 'XXHR_USER_HOOKS';

   CURSOR c2
   IS
        SELECT pbg.business_group_id, pbg.name entity
          FROM per_business_groups pbg
         WHERE     pbg.business_group_id = 81;
BEGIN
   FOR j IN c2
   LOOP
      FOR i IN c1(j.business_group_id)
      LOOP
         BEGIN
            l_user_column_instance_id := NULL;
            l_object_version_number := NULL;
            l_effective_start_date := NULL;
            l_effective_end_date := NULL;

            pay_user_column_instance_api.create_user_column_instance (
               p_validate                  => FALSE,
               p_effective_date            => '01-JAN-1951',
               p_user_row_id               => i.user_row_id,
               p_user_column_id            => i.user_column_id,
               p_value                     => 'Y',
               p_business_group_id         => j.business_group_id,
               p_legislation_code          => NULL,
               p_user_column_instance_id   => l_user_column_instance_id,
               p_object_version_number     => l_object_version_number,
               p_effective_start_date      => l_effective_start_date,
               p_effective_end_date        => l_effective_end_date);

            DBMS_OUTPUT.put_line (
                  l_user_column_instance_id
               || ' has been Created --> '
               || i.business_group_id);
            COMMIT;
         EXCEPTION
            WHEN OTHERS
            THEN
               DBMS_OUTPUT.put_line (i.business_group_id || '--> Failed!');
         END;
      END LOOP;
   END LOOP;

END;

API to Create User Table Rows


DECLARE
   l_user_table_id           NUMBER := NULL;
   l_object_version_number   NUMBER := NULL;
   l_display_sequence        NUMBER := 10;
   l_user_row_id             NUMBER := NULL;
   l_effective_start_date    DATE := NULL;
   l_effective_end_date      DATE := NULL;

   CURSOR c1
   IS
      SELECT pbg.business_group_id, pbg.name entity
        FROM per_business_groups pbg
       WHERE pbg.business_group_id = 81;
BEGIN
   FOR i IN c1
   LOOP
      l_user_table_id := NULL;
      l_user_row_id := NULL;
      l_object_version_number := NULL;
      l_effective_start_date := NULL;
      l_effective_end_date := NULL;

      SELECT user_table_id
        INTO l_user_table_id
        FROM pay_user_tables
       WHERE     user_table_name = 'XXHR_USER_HOOKS'
             AND business_group_id = i.business_group_id;


      BEGIN
         pay_user_row_api.create_user_row (
            p_validate                     => FALSE,
            p_effective_date               => '01-JAN-1951',
            p_user_table_id                => l_user_table_id,
            p_row_low_range_or_name        => 'VALIDATE_EMIRATES_ID',
            p_display_sequence             => l_display_sequence,
            p_business_group_id            => i.business_group_id,
            p_user_row_id                  => l_user_row_id,
            p_object_version_number        => l_object_version_number,
            p_effective_start_date         => l_effective_start_date,
            p_effective_end_date           => l_effective_end_date,
            p_base_row_low_range_or_name   => 'VALIDATE_EMIRATES_ID');
         COMMIT;
         DBMS_OUTPUT.put_line (
            l_user_row_id || ' has been Created --> ' || i.business_group_id);
      EXCEPTION
         WHEN OTHERS
         THEN
            DBMS_OUTPUT.put_line (i.business_group_id || '--> Failed!');
      END;
   END LOOP;

END;

API to Create User Table Columns

DECLARE
   l_user_table_id           NUMBER := NULL;
   l_object_version_number   NUMBER := NULL;
   l_user_column_id          NUMBER := NULL;

   CURSOR c1
   IS
        SELECT pbg.business_group_id, pbg.name entity
          FROM per_business_groups pbg
         WHERE     pbg.business_group_id = 81;     

   CURSOR c2
   IS
      SELECT 'EIT_VALIDATIONS' t FROM DUAL
      UNION
      SELECT 'ABSENCES_VALIDATIONS' t FROM DUAL
      UNION
      SELECT 'ELEMENT_VALIDATIONS' t FROM DUAL
      UNION
      SELECT 'PAYMENT_METHOD_VALIDATIONS' t FROM DUAL
      UNION
      SELECT 'QUICKPAY_VALIDATIONS' t FROM DUAL
      UNION
      SELECT 'SALARY_VALIDATIONS' t FROM DUAL;
BEGIN
   FOR i IN c1
   LOOP
      l_user_table_id := NULL;
      l_user_column_id := NULL;

      SELECT user_table_id
        INTO l_user_table_id
        FROM pay_user_tables
       WHERE     user_table_name = 'XXHR_USER_HOOKS'
             AND business_group_id = i.business_group_id;

      FOR j IN c2
      LOOP
         BEGIN
            pay_user_column_api.create_user_column (
               p_validate                => FALSE,
               p_business_group_id       => i.business_group_id,
               p_user_table_id           => l_user_table_id,
               p_user_column_name        => j.t,
               p_user_column_id          => l_user_column_id,
               p_object_version_number   => l_object_version_number);
            COMMIT;
            DBMS_OUTPUT.put_line (
                  l_user_column_id
               || ' has been Created --> '
               || i.business_group_id);
         EXCEPTION
            WHEN OTHERS
            THEN
               DBMS_OUTPUT.put_line (i.business_group_id || '--> Failed!');
         END;
      END LOOP;
   END LOOP;

END;