1 PACKAGE pay_us_iterative_values AUTHID CURRENT_USER AS
2 /* $Header: pyusifun.pkh 115.9 2003/08/13 12:21:58 ekim noship $ */
3
4 TYPE iter_data_rec IS RECORD (
5 entry_id number,
6 asg_id number,
7 iter_no number,
8 max_dedn number,
9 min_dedn number,
10 new_dedn number,
11 des_amt number,
12 calc_method varchar2(20),
13 to_within number,
14 clr_add_amt number,
15 clr_rep_amt number );
16
17 TYPE iter_info_tab IS TABLE OF iter_data_rec
18 INDEX BY BINARY_INTEGER;
19
20 iter_val iter_info_tab;
21
22 /* to store the stopper flag */
23
24 TYPE iter_stop_rec IS RECORD (
25 entry_id number,
26 asg_id number,
27 stop_flag varchar2(5));
28
29 TYPE iter_stop_tab IS TABLE OF iter_stop_rec
30 INDEX BY BINARY_INTEGER;
31
32 iter_stop iter_stop_tab;
33
34 /* to indicate that pretax is being processed */
35
36 TYPE iter_ele_type_rec IS RECORD (
37 entry_id number,
38 asg_id number,
39 ele_type varchar2(50));
40
41 TYPE iter_ele_type_tab IS TABLE OF iter_ele_type_rec
42 INDEX BY BINARY_INTEGER;
43
44 iter_ele_type iter_ele_type_tab;
45
46 /* to store the inserted flag */
47
48 TYPE iter_ins_rec IS RECORD (
49 entry_id number,
50 asg_id number,
51 ins_flag varchar2(5));
52
53 TYPE iter_ins_tab IS TABLE OF iter_ins_rec
54 INDEX BY BINARY_INTEGER;
55
56 iter_ins iter_ins_tab;
57
58 /* to store various amounts required for 401, 403 and 457 elements */
59
60 TYPE iter_amt_rec IS RECORD (
61 entry_id number,
62 asg_id number,
63 calc_amt number,
64 passed_amt number );
65
66 TYPE iter_amt_tab IS TABLE OF iter_amt_rec
67 INDEX BY BINARY_INTEGER;
68
69 iter_amt iter_amt_tab;
70
71 g_aaid pay_assignment_actions.assignment_action_id%TYPE := 0;
72
73 FUNCTION get_stopper_flag ( p_entry_id in number)
74 RETURN varchar2 ;
75
76 FUNCTION set_stopper_flag(p_entry_id in number,
77 p_asg_id in number,
78 p_stopper_flag in VARCHAR2)
79 RETURN number;
80
81 FUNCTION get_iterative_value(
82 p_entry_id in number,
83 iteration_number in number,
84 max_deduction out nocopy number,
85 min_deduction out nocopy number,
86 p_desired_amt out nocopy number,
87 p_calc_method out nocopy varchar2,
88 p_to_within out nocopy number,
89 p_clr_add_amt out nocopy number,
90 p_clr_rep_amt out nocopy number)
91 return number ;
92
93 FUNCTION set_iterative_value(
94 p_entry_id in number,
95 p_asg_id in number,
96 iteration_number in number,
97 max_deduction in number,
98 min_deduction in number,
99 new_deduction in number,
100 p_desired_amt in number,
101 p_calc_method in varchar2,
102 p_to_within in number,
103 p_clr_add_amt in number,
104 p_clr_rep_amt in number )
105 return number ;
106
107 FUNCTION clear_iterative_value(p_entry_id in number)
108 return number ;
109
110 FUNCTION clear_on_asg(p_asg_id in number,
111 p_aaid in number)
112 return number ;
113
114 FUNCTION get_iter_count(p_entry_id in number )
115 return number;
116
117 FUNCTION inc_iter_count(p_entry_id in number)
118 return number;
119
120 FUNCTION Iterative_Arrearage ( p_eletype_id IN NUMBER,
121 p_date_earned IN DATE,
122 p_partial_flag IN VARCHAR2 DEFAULT 'N',
123 p_net_asg_run IN NUMBER,
124 p_arrears_itd IN NUMBER,
125 p_guaranteed_net IN NUMBER,
126 p_dedn_amt IN NUMBER,
127 p_amount IN NUMBER,
128 p_iter_count IN NUMBER,
129 p_to_arrears IN OUT nocopy NUMBER,
130 p_not_taken IN OUT nocopy NUMBER,
131 p_ins_flag IN VARCHAR2 DEFAULT 'N')
132 RETURN NUMBER;
133
134 FUNCTION reduces_disposable_income (
135 p_assignment_id IN NUMBER,
136 p_date_earned IN DATE,
137 p_element_type_id IN NUMBER,
138 p_tax_type IN pay_balance_types.tax_type%TYPE)
139 RETURN VARCHAR2;
140
141 FUNCTION partial_deduction_allowed (
142 p_element_type_id IN NUMBER,
143 p_date_earned IN DATE )
144 RETURN VARCHAR2;
145
146 FUNCTION set_processing_element (p_asg_id in number,
147 p_ele_type in varchar2)
148 RETURN NUMBER;
149
150 FUNCTION get_processing_element (p_ele_type in varchar2)
151 RETURN VARCHAR2;
152
153 FUNCTION set_inserted_flag (p_entry_id in number,
154 p_asg_id in number,
155 p_ins_flag in varchar2 )
156 RETURN VARCHAR2;
157
158 FUNCTION get_inserted_flag (p_entry_id in number)
159 RETURN VARCHAR2;
160
161 FUNCTION get_iter_amt(p_entry_id in number,
162 p_passed_amt in out nocopy number )
163 return number;
164
165 FUNCTION set_iter_amt(p_entry_id in number,
166 p_asg_id in number,
167 p_calc_amt in number,
168 p_passed_amt in number)
169 return number;
170
171 FUNCTION clear_iter_ins
172 return number;
173
174 end pay_us_iterative_values;