1 PACKAGE okl_fe_adj_matrix_pvt AS
2 /* $Header: OKLRPAMS.pls 120.0 2005/07/07 10:42:43 viselvar noship $ */
3
4 -- record structures used in the package
5
6 SUBTYPE okl_pamv_rec IS okl_pam_pvt.okl_pamv_rec; -- Adjustment matrix header record
7
8 SUBTYPE okl_pal_rec IS okl_pal_pvt.okl_pal_rec; -- Adjustment Matrix version record
9
10 SUBTYPE okl_ech_rec IS okl_ech_pvt.okl_ech_rec; -- Eligibility Criteria set record
11
12 SUBTYPE okl_ecl_tbl IS okl_ecl_pvt.okl_ecl_tbl; -- Eligibility Criteria table
13
14 SUBTYPE okl_ecv_tbl IS okl_ecv_pvt.okl_ecv_tbl; -- Eligibility Criterion values table
15
16 TYPE invalid_object_rec IS RECORD (
17 obj_id NUMBER,
18 obj_name VARCHAR2(240),
19 obj_version VARCHAR2(24),
20 obj_type VARCHAR2(20)
21 );
22
23 TYPE invalid_object_tbl IS TABLE OF invalid_object_rec
24 INDEX BY BINARY_INTEGER;
25
26 SUBTYPE okl_lrs_id_tbl IS okl_lease_rate_Sets_pvt.okl_number_table;
27
28 SUBTYPE okl_srt_id_tbl IS okl_fe_std_rate_tmpl_pvt.okl_number_table;
29
30 ------------------------------------------------------------------------------
31 -- Global Variables
32
33 g_pkg_name CONSTANT VARCHAR2(200) := 'OKL_FE_ADJ_MATRIX_PVT';
34 g_app_name CONSTANT VARCHAR2(3) := okl_api.g_app_name;
35 g_unexpected_error CONSTANT VARCHAR2(200) := 'OKC_CONTRACTS_UNEXPECTED_ERROR';
36 g_sqlerrm_token CONSTANT VARCHAR2(200) := 'SQLERRM';
37 g_sqlcode_token CONSTANT VARCHAR2(200) := 'SQLCODE';
38 g_invalid_value CONSTANT VARCHAR2(200) := okl_api.g_invalid_value;
39 g_col_name_token CONSTANT VARCHAR2(200) := okl_api.g_col_name_token;
40
41 ------------------------------------------------------------------------------
42 --Global Exception
43 ------------------------------------------------------------------------------
44
45 g_exception_halt_validation EXCEPTION;
46
47 ------------------------------------------------------------------------------
48 -- procedure to give the details of the adjustment matrix given the Adjustment
49 -- matrix id and the version number
50
51 PROCEDURE get_version(p_api_version IN NUMBER
52 ,p_init_msg_list IN VARCHAR2 DEFAULT okl_api.g_false
53 ,x_return_status OUT NOCOPY VARCHAR2
54 ,x_msg_count OUT NOCOPY NUMBER
55 ,x_msg_data OUT NOCOPY VARCHAR2
56 ,p_adj_mat_id IN NUMBER
57 ,p_version_number IN NUMBER
58 ,x_pamv_rec OUT NOCOPY okl_pamv_rec
59 ,x_pal_rec OUT NOCOPY okl_pal_rec
60 ,x_ech_rec OUT NOCOPY okl_ech_rec
61 ,x_ecl_tbl OUT NOCOPY okl_ecl_tbl
62 ,x_ecv_tbl OUT NOCOPY okl_ecv_tbl);
63
64 -- procedure to give the details of the latest version of adjustment matrix
65 -- given the adjusment matrix id
66
67 PROCEDURE get_version(p_api_version IN NUMBER
68 ,p_init_msg_list IN VARCHAR2 DEFAULT okl_api.g_false
69 ,x_return_status OUT NOCOPY VARCHAR2
70 ,x_msg_count OUT NOCOPY NUMBER
71 ,x_msg_data OUT NOCOPY VARCHAR2
72 ,p_adj_mat_id IN NUMBER
73 ,x_pamv_rec OUT NOCOPY okl_pamv_rec
74 ,x_pal_rec OUT NOCOPY okl_pal_rec
75 ,x_ech_rec OUT NOCOPY okl_ech_rec
76 ,x_ecl_tbl OUT NOCOPY okl_ecl_tbl
77 ,x_ecv_tbl OUT NOCOPY okl_ecv_tbl);
78
79 -- procedure to create a new version of the Pricing Adjustment Matrix
80
81 PROCEDURE create_version(p_api_version IN NUMBER
82 ,p_init_msg_list IN VARCHAR2 DEFAULT okl_api.g_false
83 ,x_return_status OUT NOCOPY VARCHAR2
84 ,x_msg_count OUT NOCOPY NUMBER
85 ,x_msg_data OUT NOCOPY VARCHAR2
86 ,p_pal_rec IN okl_pal_rec
87 ,x_pal_rec OUT NOCOPY okl_pal_rec);
88
89 --procedure to create a Pricing Adjusment Matrix with the associated adjustment categories
90
91 PROCEDURE insert_adj_mat(p_api_version IN NUMBER
92 ,p_init_msg_list IN VARCHAR2 DEFAULT okl_api.g_false
93 ,x_return_status OUT NOCOPY VARCHAR2
94 ,x_msg_count OUT NOCOPY NUMBER
95 ,x_msg_data OUT NOCOPY VARCHAR2
96 ,p_pamv_rec IN okl_pamv_rec
97 ,p_pal_rec IN okl_pal_rec
98 ,x_pamv_rec OUT NOCOPY okl_pamv_rec
99 ,x_pal_rec OUT NOCOPY okl_pal_rec);
100
101 -- procedure to update a particular version of the Pricing Adjustment matrix
102
103 PROCEDURE update_adj_mat(p_api_version IN NUMBER
104 ,p_init_msg_list IN VARCHAR2 DEFAULT okl_api.g_false
105 ,x_return_status OUT NOCOPY VARCHAR2
106 ,x_msg_count OUT NOCOPY NUMBER
107 ,x_msg_data OUT NOCOPY VARCHAR2
108 ,p_pal_rec IN okl_pal_rec
109 ,x_pal_rec OUT NOCOPY okl_pal_rec);
110
111 -- procedure to raise the workflow which submits the record and changes the status.
112
113 PROCEDURE submit_adj_mat(p_api_version IN NUMBER
114 ,p_init_msg_list IN VARCHAR2 DEFAULT okl_api.g_false
115 ,x_return_status OUT NOCOPY VARCHAR2
116 ,x_msg_count OUT NOCOPY NUMBER
117 ,x_msg_data OUT NOCOPY VARCHAR2
118 ,p_version_id IN NUMBER);
119
120 -- procedure to validate the pricing adjustment matrix
121
122 PROCEDURE validate_adj_mat(p_api_version IN NUMBER
123 ,p_init_msg_list IN VARCHAR2 DEFAULT okl_api.g_false
124 ,x_return_status OUT NOCOPY VARCHAR2
125 ,x_msg_count OUT NOCOPY NUMBER
126 ,x_msg_data OUT NOCOPY VARCHAR2
127 ,p_pal_rec IN okl_pal_rec
128 ,p_ech_rec IN okl_ech_rec
129 ,p_ecl_tbl IN okl_ecl_tbl
130 ,p_ecv_tbl IN okl_ecv_tbl);
131
132 -- procedure to handle when the process is going through the process of approval
133
134 PROCEDURE handle_approval(p_api_version IN NUMBER
135 ,p_init_msg_list IN VARCHAR2 DEFAULT okl_api.g_false
136 ,x_return_status OUT NOCOPY VARCHAR2
137 ,x_msg_count OUT NOCOPY NUMBER
138 ,x_msg_data OUT NOCOPY VARCHAR2
139 ,p_version_id IN NUMBER);
140
141 -- to find the list of all the invalid object refernces
142
143 PROCEDURE invalid_objects(p_api_version IN NUMBER
144 ,p_init_msg_list IN VARCHAR2 DEFAULT okl_api.g_false
145 ,x_return_status OUT NOCOPY VARCHAR2
146 ,x_msg_count OUT NOCOPY NUMBER
147 ,x_msg_data OUT NOCOPY VARCHAR2
148 ,p_version_id IN NUMBER
149 ,x_obj_tbl OUT NOCOPY invalid_object_tbl);
150
151 -- to calculate the start date of the new version
152
153 PROCEDURE calc_start_date(p_api_version IN NUMBER
154 ,p_init_msg_list IN VARCHAR2 DEFAULT okl_api.g_false
155 ,x_return_status OUT NOCOPY VARCHAR2
156 ,x_msg_count OUT NOCOPY NUMBER
157 ,x_msg_data OUT NOCOPY VARCHAR2
158 ,p_pal_rec IN okl_pal_rec
159 ,x_cal_eff_from OUT NOCOPY DATE);
160
161 END okl_fe_adj_matrix_pvt;