DBA Data[Home] [Help]

PACKAGE: APPS.PAY_FR_MAP_CALC

Source


1 PACKAGE PAY_FR_MAP_CALC AUTHID CURRENT_USER AS
2 /* $Header: pyfrmapp.pkh 115.15 2003/02/10 12:08:57 vsjain noship $ */
3 -----------------------------------------------------------------------
4 -- Date     Ver       	Author          Comments
5 -- 16-12-02 115.0      	asnell          Initial version of package
6 -- 10-01-03 115.1       vjain           Added Architectural procedures
7 -- 13-01-03 115.2       vjain           Modified procedures following
8 --                                      comments from formal review
9 -- 13-01-03 115.3       vjain           Changes in PLSQL str for IJSS_NET
10 -- 17-01-03 115.4       asnell          added t_map_calc columns
11 -- 20-01-03 115.5       vjain           added maternity deduction procedure
12 -- 21-01-03 115.6       vjain           Changes for init_cpam_absence
13 -- 22-01-03 115.7       asnell          added tmap_calc columns
14 -- 03-02-03 115.11      vjain           initial changes after map calc review
15 -- ---------------------------------------------------------------------
16 --
17 --
18 
19 -- GLOBAL DATA STRUCTURES
20 TYPE T_MAP_ARCH IS RECORD
21 (ASSIGNMENT_ID		NUMBER
22 , ELEMENT_ENTRY_ID	NUMBER
23 , DATE_EARNED		DATE
24 , ASSIGNMENT_ACTION_ID  NUMBER
25 , ACTION_START_DATE     DATE
26 , ACTION_END_DATE       DATE
27 , BUSINESS_GROUP_ID     NUMBER
28 , PAYROLL_ACTION_ID     NUMBER
29 , PAYROLL_ID            NUMBER
30 , ELEMENT_TYPE_ID       NUMBER
31 , DEDUCT_FORMULA        NUMBER
32 , DED_REF_SALARY        NUMBER
33 , NOTIONAL_SS_RATE      NUMBER
34 , NET                   NUMBER
35 );
36 g_map_arch t_map_arch;
37 
38 TYPE T_MAP_CALC IS RECORD
39 (ABSENCE_ID                NUMBER
40 , PARENT_ABSENCE_ID        NUMBER
41 , PERSON_ID                NUMBER
42 , ABSENCE_CATEGORY         VARCHAR2(30)
43 , PARENT_ABSENCE_START_DATE DATE
44 , PARENT_ABSENCE_END_DATE   DATE
45 , DEDUCTION                NUMBER
46 , DEDUCTION_RATE           NUMBER
47 , DEDUCTION_BASE           NUMBER
48 , DEDUCTION_START_DATE     DATE
49 , DEDUCTION_END_DATE       DATE
50 , START_DATE               DATE
51 , END_DATE                 DATE
52 , ABSENCE_START_DATE       DATE
53 , ESTIMATED_IJSS           VARCHAR2(1)
54 , GI_ELIGIBLE              VARCHAR2(4)
55 , BIRTHS                   NUMBER
56 , BIRTH_DATE               DATE
57 , ELIG_IJSS_HOURS          VARCHAR2(1)
58 , ELIG_IJSS_CONTRIB        NUMBER
59 , ELIG_IJSS                VARCHAR2(1)
60 , SPOUSES_LEAVE            NUMBER
61 , IJSS_NET_PAYMENT         NUMBER
62 , IJSS_ADJUSTMENT          VARCHAR2(1)
63 , GI_PAYMENT               NUMBER
64 , GI_IJSS_ADJ              NUMBER
65 , IJSS_GROSS               NUMBER
66 , IJSS_GROSS_RATE          NUMBER
67 , IJSS_GROSS_DAYS          NUMBER
68 , IJSS_GROSS_START_DATE    DATE
69 , IJSS_GROSS_END_DATE      DATE
70 , INITIATOR                VARCHAR2(30)
71 );
72 
73 g_map_calc t_map_calc;
74 
75  TYPE t_ctl IS RECORD
76   (iter        NUMBER
77   ,p_mode      NUMBER);
78 
79 
80 -- CALC_SICKNESS_DEDUCTION
81 -- fires legislative or user formula as indicated on the establishment
82 -- to calculate the deduction for sickness absence
83 
84 Procedure Calculate_Maternity_Deduction;
85 
86 -- calculates maternity IJSS
87 PROCEDURE CALC_MAP_IJSS(
88 p_assignment_id         IN  Number,
89 p_start_date            IN  Date,
90 p_end_date              IN  Date
91 );
92 
93 -----------------------------------------------------------------------
94 -- use the PQH shared type mapping to identify how many dependent
95 -- children the emloyee has as of the reference date
96 FUNCTION COUNT_CHILDREN(
97 p_person_id IN Number,
98 p_effective_date IN Date) return NUMBER;
99 
100 -----------------------------------------------------------------------
101 -- CALC_MAP
102 -- initiates all sickness calculations and performs comparison of
103 -- most beneficial guarantee over the whole absence period.
104 --
105 PROCEDURE calc_map;
106 --
107 -- init_absence
108 -- populates internal PL/SQL structure with passed parameter values
109 -- Decides skipping based on ijss estimate information.
110 --
111 
112 FUNCTION init_map_absence(
113 P_Assignment_id         IN      Number,
114 P_element_entry_id      IN      Number,
115 P_date_earned           IN      Date,
116 p_business_group_id     IN      Number,
117 p_payroll_id            IN      Number,
118 p_assignment_action_id  IN      Number,
119 p_element_type_id       IN      Number,
120 p_deduction_formula     IN      Number,
121 p_deduction_ref_salary  IN      Number,
122 P_action_start_date     IN      Date,
123 P_action_end_date       IN      Date,
124 p_notional_ss_rate      IN      Number)
125 RETURN Varchar2 ;
126 --
127 FUNCTION init_cpam_absence(
128 P_Assignment_id         IN      Number,
129 P_element_entry_id      IN      Number,
130 P_date_earned           IN      Date,
131 p_business_group_id     IN      Number,
132 p_payroll_id            IN      Number,
133 p_assignment_action_id  IN      Number,
134 p_element_type_id       IN      Number,
135 p_payment_from_date     IN      Date,
136 p_payment_to_date       IN      Date,
137 p_days                  IN      Number,
138 p_gross_amount          IN      Number,
139 p_net_amount            IN      Number,
140 p_gross_daily_rate      IN      Number)
141 RETURN Varchar2 ;
142 
143 -- get_map_skip
144 -- Gets skip information from internal PL/SQL structure
145 -- Decides skipping or processing of element.
146 --
147 
148 FUNCTION get_map_skip
149 RETURN Varchar2 ;
150 --
151 
152 -- iterate
153 -- controls iteration logic for process
154 -- Decides number of iteration, finds adjustment and stop processing.
155 --
156 
157 FUNCTION iterate(
158 P_Assignment_id         IN      Number,
159 P_element_entry_id      IN      Number,
160 P_date_earned           IN      Date,
161 p_net_pay               IN      Number,
162 p_stop_processing       OUT NOCOPY Varchar2)
163 
164 RETURN Number ;
165 --
166 
167 -- indirects
168 -- Create indirects for maternity process and populates input values
169 -- Decides which element should be created
170 --
171 
172 FUNCTION indirects
173  ( p_absence_id            out nocopy number,
174    p_ijss_gross            out nocopy number,
175    p_ijss_gross_rate       out nocopy number,
176    p_ijss_gross_base       out nocopy number,
177    p_ijss_gross_start_date out nocopy date,
178    p_ijss_gross_end_date   out nocopy date,
179    p_ijss_estmtd           out nocopy varchar2,
180    p_ijss_net_payment      out nocopy number,
181    p_map_deduction         out nocopy number,
182    p_map_deduction_rate    out nocopy number,
183    p_map_deduction_base    out nocopy number,
184    p_map_deduct_start_date out nocopy date,
185    p_map_deduct_end_date   out nocopy date,
186    p_map_gi_payment        out nocopy number,
187    p_map_ijss_adjustment   out nocopy number)
188 
189 RETURN Number ;
190 --
191 
192 PROCEDURE reset_data_structures;
193 --
194 
195 PROCEDURE increment_iteration;
196 --
197 
198 PROCEDURE set_adjustment
199     (p_net_pay NUMBER);
200 --
201 
202 END PAY_FR_MAP_CALC;