1 package pay_fr_court_orders AUTHID CURRENT_USER as
2 /* $Header: pyfrcord.pkh 115.3 2002/11/25 15:53:52 asnell noship $ */
3 --
4 function process (p_assignment_action_id in number
5 ,p_date_earned in date
6 ,p_source_id in number
7 ,p_net_payment_ptd in number
8 ,p_rmi in number
9 ,p_addl_threshold_per_dpndt in number
10 ,p_addl_seizable in number
11 ,p_error_msg out nocopy varchar2) return number;
12 --
13 function get_balance_value(p_element_name in varchar2
14 ,p_dimension_name in varchar2
15 ,p_source_id in number
16 ,p_assignment_action_id in number) return number;
17 --
18 function co_payment (p_source_id in number) return number;
19 --
20 function validation return varchar2;
21 --
22 function map_names (p_direct_name in varchar2 default null
23 ,p_indirect_name in varchar2 default null) return varchar2;
24 --
25 function direct_to_indirect (p_direct_name in varchar2) return varchar2;
26 --
27 function indirect_to_direct (p_indirect_name in varchar2) return varchar2;
28 --
29 function get_payment (p_source_id in number
30 ,p_payment_reference in varchar2
31 ,p_element_name in varchar2
32 ,p_message out nocopy varchar2
33 ,p_message_text out nocopy varchar2
34 ,p_stop out nocopy varchar2) return number;
35 --
36 function processed (p_assignment_action_id in number) return varchar2;
37 --
38 function net_pay_valid return varchar2;
39 --
40 g_assignment_action_id number;
41 g_funds number;
42 g_net_pay_valid varchar2(1);
43 --
44 /* This record holds all information for each individual court order
45 processed per assignment. It is indexed by Element Source ID*/
46 type court_order_record is record
47 ( reference_code number
48 ,monthly_payment number
49 ,amount number
50 ,outstanding_balance number
51 ,balance_ptd number
52 ,priority number
53 ,payment number
54 ,processing_order number);
55 --
56 /* This record holds all summed information on each court order
57 - it is grouped, and indexed, by priority */
58 type total_court_order_record is record
59 ( monthly_payment number
60 ,amount number
61 ,outstanding_balance number
62 ,start_pos number
63 ,end_pos number
64 ,payment number
65 ,number_of_orders number);
66 --
67 type map_element_record is record
68 ( indirect_name varchar2(80) default null
69 ,direct_name varchar2(80) default null);
70 --
71 /* This holds the order in which elements were processed
72 and is indexed by a sequence - representing that order */
73 type court_order_id is record
74 ( source_id number);
75 --
76 type court_order_tab is table of court_order_record
77 index by Binary_Integer;
78 --
79 type total_order_tab is table of total_court_order_record
80 index by Binary_Integer;
81 --
82 type court_order_index_tab is table of court_order_id
83 index by Binary_Integer;
84 --
85 type map_element_record_tab is table of map_element_record
86 index by Binary_Integer;
87 --
88 court_order court_order_tab;
89 total_order total_order_tab;
90 court_order_index court_order_index_tab;
91 map_element map_element_record_tab;
92 court_order_null court_order_tab;
93 total_order_null total_order_tab;
94 court_order_index_null court_order_index_tab;
95 --
96 end pay_fr_court_orders;