Tuesday, 11 February 2020

Hrms Technical API's - (API to Create the Element Entry at Assignment Level)

***This API used to create the element and  assigned the value  in assignment entries level.

DECLARE
   l_cagr_grade_def_id            per_cagr_grades_def.cagr_grade_def_id%TYPE;
   l_cagr_id_flex_num             per_cagr_grades_def.id_flex_num%TYPE;
   l_concatenated_segments        hr_soft_coding_keyflex.concatenated_segments%TYPE;
   l_comment_id                   per_all_assignments_f.comment_id%TYPE;
   la_effective_start_date        per_all_assignments_f.effective_start_date%TYPE;
   la_effective_end_date          per_all_assignments_f.effective_end_date%TYPE;
   --l_object_version_number     per_all_assignments_f.object_version_number%TYPE;
   l_no_managers_warning          BOOLEAN;
   l_other_manager_warning        BOOLEAN;
   l_hourly_salaried_warning      BOOLEAN;
   l_soft_coding_keyflex_id       per_all_assignments_f.soft_coding_keyflex_id%TYPE;
   l_assignment_id                NUMBER;
   l_element_type_id              NUMBER;
   l_business_group_id            NUMBER;
   l_input_value_id_1             NUMBER;
   l_input_value_id_2             NUMBER;
   l_element_link_id              NUMBER;
   l_effective_date               DATE;
   l_object_version_number        NUMBER;
   l_element_entry_id             NUMBER;
   l_effective_start_date         DATE                                := NULL;
   l_effective_end_date           DATE                                := NULL;
   l_update_warning               BOOLEAN;
   l_elem_exist_cnt               NUMBER;
   --Variables
   ln_element_link_id             pay_element_links_f.element_link_id%TYPE;
   ld_effective_start_date        DATE;
   ld_effective_end_date          DATE;
   ln_element_entry_id            pay_element_entries_f.element_entry_id%TYPE;
   ln_object_version_number       pay_element_entries_f.object_version_number%TYPE;
   lb_create_warning              BOOLEAN;
   ln_input_value_id              pay_input_values_f.input_value_id%TYPE;
   ln_screen_entry_value          pay_element_entry_values_f.screen_entry_value%TYPE;
   ln_element_type_id             pay_element_types_f.element_type_id%TYPE;
   l_cagr_concatenated_segments   VARCHAR2 (2000);
   --
   l_emp_cat_code                 VARCHAR2 (30);
BEGIN
   --
   --Getting Element type id
   l_element_type_id := NULL;
   l_element_link_id := NULL;
   ln_element_link_id := NULL;
   l_input_value_id_1 := NULL;
   l_element_entry_id := NULL;
   l_effective_date := NULL;
   l_object_version_number := NULL;
   l_input_value_id_2 := NULL;

   BEGIN
      SELECT DISTINCT pet.element_type_id, pi.input_value_id,
                      pel.element_link_id
                 INTO l_element_type_id, l_input_value_id_1,
                      l_element_link_id
                 FROM pay_element_types_f pet,
                      pay_input_values_f pi,
                      pay_element_links_f pel
                WHERE 1 = 1
                  AND pet.element_type_id = pi.element_type_id
                  AND pet.element_type_id = pel.element_type_id
                  AND pet.element_name =
                                'Gratuity Accrual Adjustment Op'
                                                                --Element Name
                  AND pi.NAME = 'Gratuity Amount';          --Input Value Name
   EXCEPTION
      WHEN OTHERS
      THEN
         DBMS_OUTPUT.put_line
                      (   'Error at Gratuity Accrual Adjustment Op1 Element:'
                       || SQLERRM
                      );
   END;

   BEGIN
                          -- Get Element Link Id
-- ------------------------------
      ln_element_link_id :=
         hr_entry_api.get_link (p_assignment_id        => i.assignment_id,
                                p_element_type_id      => l_element_type_id,
                                p_session_date         => '01-Dec-2019'
                                                               --i.effective_start_date
                               --i.last_hire_date
                               );
----
-- Create Element Entry
  -- ------------------------------
      pay_element_entry_api.create_element_entry
                     (                        -- Input data elements
                                              -- -----------------------------
                      p_effective_date             => '01-Dec-2019',
                                                        --i.effective_start_date,
                      --i.last_hire_date,
                      p_business_group_id          => i.business_group_id,
                      p_assignment_id              => i.assignment_id,
                      p_element_link_id            => ln_element_link_id,
                      p_entry_type                 => 'E',
--                              p_input_value_id1            => l_input_value_id_1,
--                              p_entry_value1               => NVL(i.tickets_accrued_2019,0),
                      p_input_value_id2            => l_input_value_id_1,
                      --l_input_value_id_1,
                      p_entry_value2               => NVL
                                                         (i.gratutity_accrual_amount_2019,
                                                          0
                                                         ),
-- Output data elements
-- --------------------------------
                      p_effective_start_date       => ld_effective_start_date,
                      p_effective_end_date         => ld_effective_end_date,
                      p_element_entry_id           => ln_element_entry_id,
                      p_object_version_number      => ln_object_version_number,
                      p_create_warning             => lb_create_warning
                     );
      COMMIT;
   EXCEPTION
      WHEN OTHERS
      THEN
         DBMS_OUTPUT.put_line (' Gratuity Accrual Adjustment Updated/Created');
   END;
EXCEPTION
   WHEN OTHERS
   THEN
      DBMS_OUTPUT.put_line (' Error at Gratuity:' || SQLERRM);

END;

No comments:

Post a Comment

API to Delete Assignment Set

*** Before going to Delete Assignment Set first we have to delete the Assignment Amendments after that only we have to delete the Assignmen...