Oracle HRMS API – Update Employee State Tax Rule
- by PRajkumar
API --  pay_state_tax_rule_api.update_state_tax_rule
Example --
 
DECLARE
       lc_dt_ud_mode                       VARCHAR2(100)   := NULL;
       ln_assignment_id                  NUMBER                  := 33561;
       ln_object_version_number  NUMBER                  := 1;
       ld_effective_start_date          DATE;
       ld_effective_end_date            DATE;
       lb_correction                            BOOLEAN;
       lb_update                                  BOOLEAN;
       lb_update_override                BOOLEAN;
       lb_update_change_insert    BOOLEAN;
  
BEGIN
      -- Find Date Track Mode
      -- --------------------------------
       dt_api.find_dt_upd_modes
       (   p_effective_date                 => TO_DATE('12-JUN-2011'),
           p_base_table_name          => 'PER_ALL_ASSIGNMENTS_F',
           p_base_key_column         => 'ASSIGNMENT_ID',
           p_base_key_value             => ln_assignment_id,
           -- Output data elements
           -- --------------------------------
          p_correction                          => lb_correction,
          p_update                                => lb_update,
          p_update_override              => lb_update_override,
          p_update_change_insert   => lb_update_change_insert
      ); 
    
     IF ( lb_update_override = TRUE OR lb_update_change_insert = TRUE )
     THEN
        -- UPDATE_OVERRIDE
        -- --------------------------------
        lc_dt_ud_mode := 'UPDATE_OVERRIDE';
     END IF;
 
   IF ( lb_correction = TRUE )
     THEN
        -- CORRECTION
        -- ----------------------
       lc_dt_ud_mode := 'CORRECTION';
     END IF;
 
   IF ( lb_update = TRUE )
     THEN
         -- UPDATE
         -- --------------
         lc_dt_ud_mode := 'UPDATE';
     END IF;
 
   -- Update State Tax Rule
     -- ---------------------------------
      pay_state_tax_rule_api.update_state_tax_rule
      (     -- Input data elements
            -- ------------------------------
            p_effective_date                        => TO_DATE('20-JUN-2011'),
            p_datetrack_update_mode   => lc_dt_ud_mode,
            p_emp_state_tax_rule_id      => 8455,
            p_withholding_allowances  => 100,
            p_sit_additional_tax               => 10,
            p_sit_exempt                              => 'N',
            -- Output data elements
            -- --------------------------------
            p_object_version_number      => ln_object_version_number,
            p_effective_start_date              => ld_effective_start_date,
            p_effective_end_date               => ld_effective_end_date
       );
 COMMIT;
  EXCEPTION
         WHEN OTHERS THEN
                         ROLLBACK;
                         dbms_output.put_line(SQLERRM);
  END;
  /
SHOW ERR;