zoukankan      html  css  js  c++  java
  • HR*创建人员要素链接

    HRMS(Human Resource Management System)

    --人员

      per_people_f

    --人员分配

      per_all_assignments_f

    --要素

     1 DECLARE
     2   l_element_name                VARCHAR2(240);
     3   l_element_id                  NUMBER;
     4   l_period_name                 VARCHAR2(240);
     5   l_period_date                 DATE;
     6   x_element_type_id             NUMBER;
     7   x_effective_start_date        DATE;
     8   x_effective_end_date          DATE;
     9   x_object_version_number       NUMBER;
    10   x_comment_id                  NUMBER;
    11   x_processing_priority_warning BOOLEAN;
    12 BEGIN
    13   fnd_global.apps_initialize(user_id      => 1510,
    14                              resp_id      => 23991,
    15                              resp_appl_id => 800);
    16 
    17   l_element_name := 'BS交通补贴12';
    18   l_period_name  := '9 2016 日历月份';
    19 
    20   BEGIN
    21     SELECT ptp.end_date
    22       INTO l_period_date
    23       FROM per_time_periods ptp
    24      WHERE ptp.period_name = l_period_name;
    25   EXCEPTION
    26     WHEN OTHERS THEN
    27       l_period_date := NULL;
    28   END;
    29 
    30   BEGIN
    31     SELECT petf.element_type_id
    32       INTO l_element_id
    33       FROM pay_element_types_f petf
    34      WHERE petf.element_name = l_element_name
    35        AND l_period_date BETWEEN effective_start_date AND effective_end_date;
    36   EXCEPTION
    37     WHEN OTHERS THEN
    38       l_element_id := NULL;
    39   END;
    40 
    41   dbms_output.put_line('l_period_date:=' || l_period_date);
    42   dbms_output.put_line('l_element_id:=' || l_element_id);
    43 
    44   IF (l_element_id IS NULL) THEN
    45     dbms_output.put_line('Create');
    46   
    47     pay_element_types_api.create_element_type(p_validate                     => FALSE,
    48                                               p_effective_date               => l_period_date,
    49                                               p_classification_id            => 118,
    50                                               p_element_name                 => l_element_name,
    51                                               p_input_currency_code          => 'CNY',
    52                                               p_output_currency_code         => 'CNY',
    53                                               p_multiple_entries_allowed_fla => 'Y',
    54                                               p_processing_type              => 'N',
    55                                               p_business_group_id            => 81,
    56                                               p_element_type_id              => x_element_type_id,
    57                                               p_effective_start_date         => x_effective_start_date,
    58                                               p_effective_end_date           => x_effective_end_date,
    59                                               p_object_version_number        => x_object_version_number,
    60                                               p_comment_id                   => x_comment_id,
    61                                               p_processing_priority_warning  => x_processing_priority_warning);
    62     -- ELSE
    63     --   pay_element_types_api.update_element_type();
    64   END IF;
    65 
    66   IF x_processing_priority_warning THEN
    67     dbms_output.put_line('x_processing_priority_warning');
    68   END IF;
    69 
    70   dbms_output.put_line('x_element_type_id:=' || x_element_type_id);
    71   dbms_output.put_line('x_effective_start_date:=' || x_effective_start_date);
    72   dbms_output.put_line('x_effective_end_date:=' || x_effective_end_date);
    73   dbms_output.put_line('x_element_type_id:=' || x_object_version_number);
    74   dbms_output.put_line('x_comment_id:=' || x_comment_id);
    75 EXCEPTION
    76   WHEN OTHERS THEN
    77     dbms_output.put_line('导入要素异常!');
    78 END;
    创建要素

    --链接

     1  /* IF (l_element_link_id IS NULL) THEN
     2     
     3       pay_element_link_api.create_element_link(p_validate                   => FALSE,
     4                                                p_effective_date             => l_period_date,
     5                                                p_element_type_id            => l_element_id,
     6                                                p_business_group_id          => 81,
     7                                                p_costable_type              => 'F',
     8                                                p_payroll_id                 => l_payroll_id,
     9                                                p_people_group_id            => l_people_group_id,
    10                                                p_cost_concat_segments       => '01.000000.66010101.0000.00000000.0000.000000.00',
    11                                                p_balance_concat_segments    => '01.000000.22110101.0000.00000000.0000.000000.00',
    12                                                p_cost_allocation_keyflex_id => 63,
    13                                                p_balancing_keyflex_id       => 76,
    14                                                p_standard_link_flag         => 'N',
    15                                                p_element_link_id            => x_element_link_id,
    16                                                p_comment_id                 => x_comment_id,
    17                                                p_object_version_number      => x_object_version_number,
    18                                                p_effective_start_date       => x_effective_start_date,
    19                                                p_effective_end_date         => x_effective_end_date);
    20     
    21       dbms_output.put_line('x_element_link_id:=' || x_element_link_id);
    22       dbms_output.put_line('x_comment_id:=' || x_comment_id);
    23       dbms_output.put_line('x_element_type_id:=' || x_object_version_number);
    24       dbms_output.put_line('x_effective_start_date:=' || x_effective_start_date);
    25       dbms_output.put_line('x_effective_end_date:=' || x_effective_end_date);
    26     END IF;*/
    创建链接

    --要素集

      1 DECLARE
      2   l_element_name          VARCHAR2(240);
      3   l_element_id            NUMBER;
      4   l_period_name           VARCHAR2(240);
      5   l_period_date           DATE;
      6   l_assign_number         VARCHAR2(240);
      7   l_assignment_id         NUMBER;
      8   l_payroll_id            NUMBER;
      9   l_payroll               VARCHAR2(240);
     10   l_element_link_id       NUMBER;
     11   l_element_entry_id      NUMBER;
     12   l_people_group_id       NUMBER;
     13   x_element_link_id       NUMBER;
     14   x_effective_start_date  DATE;
     15   x_effective_end_date    DATE;
     16   x_object_version_number NUMBER;
     17   x_comment_id            NUMBER;
     18   x_element_entry_id      NUMBER;
     19   x_create_warning        BOOLEAN;
     20 BEGIN
     21 
     22   fnd_global.apps_initialize(user_id      => 1510,
     23                              resp_id      => 23991,
     24                              resp_appl_id => 800);
     25 
     26   l_element_name  := 'BS_FJJ_非计件日工';
     27   l_period_name   := '9 2016 日历月份';
     28   l_assign_number := '00251';
     29 
     30   BEGIN
     31     SELECT ptp.end_date
     32       INTO l_period_date
     33       FROM per_time_periods ptp
     34      WHERE ptp.period_name = l_period_name;
     35   EXCEPTION
     36     WHEN OTHERS THEN
     37       l_period_date := NULL;
     38   END;
     39 
     40   BEGIN
     41     SELECT petf.element_type_id
     42       INTO l_element_id
     43       FROM pay_element_types_f petf
     44      WHERE petf.element_name = l_element_name
     45        AND l_period_date BETWEEN effective_start_date AND effective_end_date;
     46   EXCEPTION
     47     WHEN OTHERS THEN
     48       l_element_id := NULL;
     49   END;
     50 
     51   dbms_output.put_line('l_period_date:=' || l_period_date);
     52   dbms_output.put_line('l_element_id:=' || l_element_id);
     53 
     54   BEGIN
     55     SELECT paaf.payroll_id,
     56            paaf.assignment_id,
     57            paaf.people_group_id
     58       INTO l_payroll_id,
     59            l_assignment_id,
     60            l_people_group_id
     61       FROM per_all_assignments_f paaf
     62      WHERE paaf.assignment_number = l_assign_number
     63        AND l_period_date BETWEEN paaf.effective_start_date AND paaf.effective_end_date;
     64   EXCEPTION
     65     WHEN no_data_found THEN
     66       dbms_output.put_line('没有分配信息');
     67     WHEN too_many_rows THEN
     68       dbms_output.put_line('存在多条分配信息');
     69   END;
     70 
     71   dbms_output.put_line('l_payroll_id:=' || l_payroll_id);
     72   dbms_output.put_line('l_assignment_id:=' || l_assignment_id);
     73   dbms_output.put_line('l_people_group_id:=' || l_people_group_id);
     74 
     75   IF l_payroll_id IS NOT NULL THEN
     76     BEGIN
     77       SELECT pap.payroll_name
     78         INTO l_payroll
     79         FROM pay_all_payrolls_f pap
     80        WHERE pap.payroll_id = l_payroll_id
     81          AND l_period_date BETWEEN pap.effective_start_date AND pap.effective_end_date;
     82     EXCEPTION
     83       WHEN no_data_found THEN
     84         dbms_output.put_line('没有有效工资单');
     85       WHEN too_many_rows THEN
     86         dbms_output.put_line('存在多工资单');
     87     END;
     88   
     89     dbms_output.put_line('l_payroll:=' || l_payroll);
     90   END IF; --IF l_payroll_id IS NULL THEN
     91 
     92   IF (l_element_id IS NOT NULL) THEN
     93   
     94     l_element_link_id := NULL;
     95     BEGIN
     96       SELECT pelf.element_link_id
     97         INTO l_element_link_id
     98         FROM pay_element_links_f pelf
     99        WHERE pelf.element_type_id = l_element_id
    100          AND pelf.payroll_id = l_payroll_id
    101             --AND pelf.people_group_id = l_people_group_id
    102          AND l_period_date BETWEEN pelf.effective_start_date AND pelf.effective_end_date
    103          AND cuxhrpkg.show_record('PAY_PEOPLE_GROUPS',
    104                                   NULL,
    105                                   pelf.business_group_id,
    106                                   pelf.people_group_id,
    107                                   to_char(l_period_date,
    108                                           'YYYYMMDD'),
    109                                   '') = 'TRUE'
    110          AND cuxhrpkg.show_ass(l_assignment_id,
    111                                pelf.people_group_id,
    112                                l_period_date) = 'TRUE';
    113     
    114     EXCEPTION
    115       WHEN OTHERS THEN
    116         l_element_link_id := NULL;
    117     END;
    118   
    119     dbms_output.put_line('l_element_link_id:=' || l_element_link_id);
    120   
    121     IF (l_element_link_id IS NOT NULL) THEN
    122       BEGIN
    123         SELECT ee.element_entry_id
    124         --ee.object_version_number
    125           INTO l_element_entry_id
    126         -- l_object_version_number
    127           FROM pay_element_entries_f ee,
    128                pay_element_types_f   et,
    129                pay_element_links_f   el
    130          WHERE el.element_link_id = ee.element_link_id
    131            AND el.element_link_id = l_element_link_id
    132            AND el.element_type_id = et.element_type_id
    133            AND ee.assignment_id = l_assignment_id
    134            AND l_period_date BETWEEN ee.effective_start_date AND ee.effective_end_date
    135            AND l_period_date BETWEEN el.effective_start_date AND el.effective_end_date
    136            AND l_period_date BETWEEN et.effective_start_date AND et.effective_end_date
    137            AND et.multiple_entries_allowed_flag = 'N'
    138            AND ee.entry_type = 'E';
    139       EXCEPTION
    140         WHEN OTHERS THEN
    141           l_element_entry_id := NULL;
    142       END;
    143     
    144       dbms_output.put_line('l_element_entry_id:=' || l_element_entry_id);
    145     END IF;
    146   END IF; --    IF (l_element_id IS NOT NULL) THEN
    147   IF (l_element_entry_id IS NULL) THEN
    148     pay_element_entry_api.create_element_entry(p_effective_date             => l_period_date,
    149                                                p_business_group_id          => 81,
    150                                                p_assignment_id              => l_assignment_id,
    151                                                p_element_link_id            => l_element_link_id,
    152                                                p_entry_type                 => 'E',
    153                                                p_creator_type               => 'F',
    154                                                p_cost_allocation_keyflex_id => NULL,
    155                                                -- p_input_value_id1            => l_input_id,
    156                                                
    157                                                p_effective_start_date  => x_effective_start_date,
    158                                                p_effective_end_date    => x_effective_end_date,
    159                                                p_element_entry_id      => x_element_entry_id,
    160                                                p_object_version_number => x_object_version_number,
    161                                                p_create_warning        => x_create_warning);
    162   
    163     dbms_output.put_line('x_effective_start_date:=' || x_effective_start_date);
    164     dbms_output.put_line('x_effective_end_date:=' || x_effective_end_date);
    165     dbms_output.put_line('x_element_entry_id:=' || x_element_entry_id);
    166     dbms_output.put_line('x_object_version_number:=' || x_object_version_number);
    167   
    168   END IF;
    169   --dbms_output.put_line('l_payroll:=' || l_payroll);
    170 EXCEPTION
    171   WHEN OTHERS THEN
    172     dbms_output.put_line('导入要素异常!');
    173 END;
    创建要素集
  • 相关阅读:
    如何去掉myeclipse的web项目启动时出现的 CodeLive Panel
    day35_Spring学习回顾_03
    在CentOS/RHEL上设置SSH免密码登录
    超全Linux备份工具集合,满足你的所有需要!
    使用Gnupg对Linux系统中的文件进行加密
    Linux压缩那些事儿
    或许是 Nginx 上配置 HTTP2 最实在的教程了
    Systemd 三部曲 之 PHP7
    Linux kernel模块管理相关详解
    搜狐视频Redis私有云平台CacheCloud
  • 原文地址:https://www.cnblogs.com/wang-chen/p/5902749.html
Copyright © 2011-2022 走看看