Here you go

Showing posts with label Assign Organization. Show all posts
Showing posts with label Assign Organization. Show all posts

Tuesday, March 8, 2016

Oracle EBS Assign Parent Organization to Child Organization

Oracle EBS Organizational Hierarchy


DECLARE
   l_effective_date             DATE := TO_DATE ('01-JAN-1951', 'DD-MON-YYYY');
   l_org_structure_version_id   NUMBER := NULL;
   l_business_group_id          NUMBER := NULL;
   l_inactive_org_warning       BOOLEAN;
   l_org_structure_element_id   NUMBER := NULL;
   l_object_version_number      NUMBER := NULL;
   l_org_child_id               NUMBER := NULL;
   l_org_parent_id              NUMBER := NULL;
BEGIN
   -- Get Structure Version ID
   BEGIN
      SELECT posv.org_structure_version_id, pos.business_group_id
        INTO l_org_structure_version_id, l_business_group_id
        FROM per_organization_structures pos, per_org_structure_versions posv
       WHERE UPPER (pos.name) = 'XXXX ORGANIZATION HIERARCHY'
             AND pos.primary_structure_flag = 'Y'
             AND posv.organization_structure_id =
                    pos.organization_structure_id
             AND posv.version_number = 1
             AND pos.business_group_id =
                    FND_PROFILE.VALUE ('PER_BUSINESS_GROUP_ID');
   EXCEPTION
      WHEN OTHERS
      THEN
         l_org_structure_version_id := NULL;
         l_business_group_id := NULL;
   END;
   -- Get Organization Parent
   BEGIN
      SELECT organization_id
        INTO l_org_parent_id
        FROM hr_all_organization_units
       WHERE UPPER (name) = 'SECURITY AND ROYAL GUARD'
             AND SYSDATE BETWEEN date_from
                             AND NVL (date_to,
                                      TO_DATE ('31-DEC-4712', 'DD-MON-YYYY'));
   EXCEPTION
      WHEN OTHERS
      THEN
         l_org_parent_id := NULL;
   END;
   -- Get Organization Child
   BEGIN
      SELECT organization_id
        INTO l_org_child_id
        FROM hr_all_organization_units
       WHERE UPPER (name) =
                '1021106 -LEBANON PALACE - BAHAR SAFI-SECURITY AND ROYAL GUARD'
             AND SYSDATE BETWEEN date_from
                             AND NVL (date_to,
                                      TO_DATE ('31-DEC-4712', 'DD-MON-YYYY'));
   EXCEPTION
      WHEN OTHERS
      THEN
         l_org_child_id := NULL;
   END;
   IF     l_org_structure_version_id IS NOT NULL
      AND l_org_child_id IS NOT NULL
      AND l_org_parent_id IS NOT NULL
   THEN
      BEGIN
         HR_HIERARCHY_ELEMENT_API.
          create_hierarchy_element (
            p_validate                   => FALSE,
            p_effective_date             => l_effective_date,
            p_organization_id_parent     => l_org_parent_id,
            p_org_structure_version_id   => l_org_structure_version_id,
            p_organization_id_child      => l_org_child_id,
            p_business_group_id          => l_business_group_id,
            p_pos_control_enabled_flag   => 'N',
            p_inactive_org_warning       => l_inactive_org_warning,
            p_org_structure_element_id   => l_org_structure_element_id,
            p_object_version_number      => l_object_version_number);
         COMMIT;
         DBMS_OUTPUT.
          put_line (
            l_org_structure_element_id
            || ' has been created successfully !!! ');
      EXCEPTION
         WHEN OTHERS
         THEN
            DBMS_OUTPUT.put_line ('Inner Block Exception: ' || SQLERRM);
      END;
   ELSE
      DBMS_OUTPUT.put_line ('ID''s not found !!!!');
   END IF;
EXCEPTION
   WHEN OTHERS
   THEN
      DBMS_OUTPUT.put_line ('Main Block Exception: ' || SQLERRM);

END;