[Home] [Help]
PACKAGE: APPS.OKS_RENEW_UTIL_PVT
Source
1 PACKAGE OKS_RENEW_UTIL_PVT AUTHID CURRENT_USER AS
2 /* $Header: OKSRRUTS.pls 120.7.12000000.1 2007/01/16 22:11:57 appldev ship $*/
3
4 /* anjkumar see new type definition for r12
5 type rnrl_rec_type is record (renewal_type varchar2(3),
6 renewal_pricing_type varchar2(3),
7 markup_percent number(5, 2),
8 price_list_id1 varchar2(40),
9 price_list_id2 varchar2(40),
10 pdf_id number,
11 qcl_id number,
12 cgp_new_id number,
13 cgp_renew_id number,
14 po_required_yn varchar2(1),
15 credit_amount varchar2(50),
16 rle_code varchar2(30),
17 revenue_estimated_percent number(5, 2),
18 revenue_estimated_duration number,
19 revenue_estimated_period varchar2(20),
20 function_name varchar2(50),
21 salesrep_name varchar2(150),
22 template_set_id number,
23 threshold_currency varchar2(30),
24 threshold_amount number,
25 email_address varchar2(2000),
26 billing_profile_id number,
27 user_id number,
28 threshold_enabled_yn varchar2(1),
29 grace_period varchar2(20),
30 grace_duration number,
31 payment_terms_id1 varchar2(40),
32 payment_terms_id2 varchar2(40),
33 evergreen_threshold_curr varchar2(30),
34 evergreen_threshold_amt number,
35 payment_method varchar2(3),
36 payment_threshold_curr varchar2(30),
37 payment_threshold_amt number,
38 interface_price_break varchar2(30));
39 */
40
41 /* anjkumar, for r12 added the following new fields
42 cdt_type
43 jtot_object_code
44 base_currency
45 approval_type
46 evergreen_approval_type
47 online_approval_type
48 purchase_order_flag
49 credit_card_flag
50 wire_flag
51 commitment_number_flag
52 check_flag
53 period_type
54 period_start
55 period_uom
56 template_language
57
58 */
59 TYPE rnrl_rec_type IS RECORD(
60 cdt_type oks_k_defaults.cdt_type%TYPE,
61 jtot_object_code oks_k_defaults.jtot_object_code%TYPE,
62 renewal_type oks_k_defaults.renewal_type%TYPE,
63 renewal_pricing_type VARCHAR2(30), -- oks_k_defaults.renewal_pricing_type%type, oks_k_defaults is varchar2(3) while oks_k_headers_b is varchar(30)
64 markup_percent NUMBER, --oks_k_defaults.markup_percent%type, oks_k_defaults is number(5,2) while oks_k_headers_b is nukber
65 price_list_id1 oks_k_defaults.price_list_id1%TYPE,
66 price_list_id2 oks_k_defaults.price_list_id2%TYPE,
67 pdf_id oks_k_defaults.pdf_id%TYPE,
68 qcl_id oks_k_defaults.qcl_id%TYPE,
69 cgp_new_id oks_k_defaults.cgp_new_id%TYPE,
70 cgp_renew_id oks_k_defaults.cgp_renew_id%TYPE,
71 po_required_yn oks_k_defaults.po_required_yn%TYPE,
72 credit_amount oks_k_defaults.credit_amount%TYPE,
73 rle_code oks_k_defaults.rle_code%TYPE,
74 revenue_estimated_percent NUMBER, --oks_k_defaults.revenue_estimated_percent%type, oks_k_defaults is number(5,2) while oks_k_headers_b is number
75 revenue_estimated_duration oks_k_defaults.revenue_estimated_duration%TYPE,
76 revenue_estimated_period VARCHAR(30), --oks_k_defaults.revenue_estimated_period%type, oks_k_defaults is varchar2(20)while oks_k_headers_b is varchar(30)
77 function_name VARCHAR2(50),
78 salesrep_name VARCHAR2(150),
79 template_set_id oks_k_defaults.template_set_id%TYPE,
80 threshold_currency oks_k_defaults.base_currency%TYPE, --obsolete field, replace by base_currency
81 threshold_amount oks_k_defaults.threshold_amount%TYPE,
82 email_address oks_k_defaults.email_address%TYPE,
83 billing_profile_id oks_k_defaults.billing_profile_id%TYPE,
84 user_id oks_k_defaults.user_id%TYPE,
85 threshold_enabled_yn oks_k_defaults.threshold_enabled_yn%TYPE,
86 grace_period VARCHAR(30), --oks_k_defaults.grace_period%type, oks_k_defaults is varchar2(20) while oks_k_headers_b is varchar(30)
87 grace_duration oks_k_defaults.grace_duration%TYPE,
88 payment_terms_id1 oks_k_defaults.payment_terms_id1%TYPE,
89 payment_terms_id2 oks_k_defaults.payment_terms_id2%TYPE,
90 evergreen_threshold_curr oks_k_defaults.base_currency%TYPE, --obsolete field, replace by base_currency
91 evergreen_threshold_amt oks_k_defaults.evergreen_threshold_amt%TYPE,
92 payment_method oks_k_defaults.payment_method%TYPE,
93 payment_threshold_curr oks_k_defaults.base_currency%TYPE, --obsolete field, replace by base_currency
94 payment_threshold_amt oks_k_defaults.payment_threshold_amt%TYPE,
95 interface_price_break oks_k_defaults.interface_price_break%TYPE,
96 base_currency oks_k_defaults.base_currency%TYPE,
97 approval_type oks_k_defaults.approval_type%TYPE,
98 evergreen_approval_type oks_k_defaults.evergreen_approval_type%TYPE,
99 online_approval_type oks_k_defaults.online_approval_type%TYPE,
100 purchase_order_flag oks_k_defaults.purchase_order_flag%TYPE,
101 credit_card_flag oks_k_defaults.credit_card_flag%TYPE,
102 wire_flag oks_k_defaults.wire_flag%TYPE,
103 commitment_number_flag oks_k_defaults.commitment_number_flag%TYPE,
104 check_flag oks_k_defaults.check_flag%TYPE,
105 period_type oks_k_defaults.period_type%TYPE,
106 period_start oks_k_defaults.period_start%TYPE,
107 price_uom oks_k_defaults.price_uom%TYPE,
108 template_language oks_k_defaults.template_language%TYPE
109 );
110
111 G_UNEXPECTED_ERROR CONSTANT VARCHAR2(30) := 'OKS_RENEW_UTIL_UNEXP_ERR';
112 G_SQLCODE_TOKEN CONSTANT VARCHAR2(30) := 'SQLcode';
113 G_REQUIRED_VALUE CONSTANT VARCHAR2(30) := OKC_API.G_REQUIRED_VALUE;
114 G_SQLERRM_TOKEN CONSTANT VARCHAR2(30) := 'SQLerrm';
115 G_COL_NAME_TOKEN CONSTANT VARCHAR2(30) := OKC_API.G_COL_NAME_TOKEN;
116 G_REQUIRED_PARAM CONSTANT VARCHAR2(30) := 'OKS_REQUIRED_VALUE';
117
118 ---------------------------------------------------------------------------
119 -- GLOBAL EXCEPTIONS
120 ---------------------------------------------------------------------------
121 G_EXCEPTION_HALT_VALIDATION EXCEPTION;
122 ---------------------------------------------------------------------------
123 -- GLOBAL VARIABLES
124 ---------------------------------------------------------------------------
125
126 G_PKG_NAME CONSTANT VARCHAR2(30) := 'OKS_RENEW_UTIL_PVT';
127 G_APP_NAME CONSTANT VARCHAR2(3) := OKC_API.G_APP_NAME; --retained for old okc messages
128 G_OKS_APP_NAME CONSTANT VARCHAR2(3) := 'OKS'; --all new nessages should use this
129 G_MODULE CONSTANT VARCHAR2(250) := 'oks.plsql.'||g_pkg_name||'.';
130
131 ---------------------------------------------------------------------------
132 -- global rules constants
133 ---------------------------------------------------------------------------
134 G_INPUT_LEVEL CONSTANT INTEGER := 0;
135 G_CONTRACT_LEVEL CONSTANT INTEGER := 1;
136 G_PARTY_LEVEL CONSTANT INTEGER := 2;
137 G_ORG_LEVEL CONSTANT INTEGER := 3;
138 G_GLOBAL_LEVEL CONSTANT INTEGER := 4;
139
140
141
142 /*
143 rewritten r12 traversal api that fetches all the rules from gcd
144 following the hierarchy - input->contract->party->org->global
145
146 it recoginzes the new attributes introduced for r12, groups
147 fetches interdependent attributes from the same level and improves
148 logging.
149
150 */
151 PROCEDURE GET_RENEW_RULES(x_return_status OUT NOCOPY VARCHAR2,
152 -- new parameter with default value added to follow standards
153 p_api_version IN NUMBER DEFAULT 1,
154 p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
155 p_chr_id IN NUMBER,
156 p_party_id IN NUMBER,
157 p_org_id IN NUMBER,
158 p_date IN DATE DEFAULT SYSDATE,
159 p_rnrl_rec IN rnrl_rec_type,
160 x_rnrl_rec OUT NOCOPY rnrl_rec_type,
161 x_msg_count OUT NOCOPY NUMBER,
162 x_msg_data OUT NOCOPY VARCHAR2);
163
164 PROCEDURE UPDATE_RENEWAL_STATUS (X_RETURN_STATUS OUT NOCOPY VARCHAR2,
165 P_CHR_ID IN NUMBER,
166 P_RENEW_STATUS IN VARCHAR2,
167 P_CHR_STATUS IN VARCHAR2);
168
169 PROCEDURE GET_PAYMENT_TERMS (
170 p_chr_id IN NUMBER DEFAULT NULL,
171 p_party_id IN NUMBER DEFAULT NULL,
172 p_org_id IN NUMBER DEFAULT NULL,
173 p_effective_date IN DATE DEFAULT SYSDATE,
174 x_pay_term_id1 OUT NOCOPY VARCHAR2,
175 x_pay_term_id2 OUT NOCOPY VARCHAR2,
176 x_msg_count OUT NOCOPY NUMBER,
177 x_msg_data OUT NOCOPY VARCHAR2,
178 x_return_status OUT NOCOPY VARCHAR2);
179
180 PROCEDURE CAN_UPDATE_CONTRACT(p_chr_id IN NUMBER,
181 x_can_update_yn OUT NOCOPY VARCHAR2,
182 x_can_submit_yn OUT NOCOPY VARCHAR2,
183 x_msg_count OUT NOCOPY NUMBER,
184 x_msg_data OUT NOCOPY VARCHAR2,
185 x_return_status OUT NOCOPY VARCHAR2);
186
187 PROCEDURE GET_PERIOD_DEFAULTS(p_hdr_id IN NUMBER DEFAULT NULL,
188 p_org_id IN VARCHAR2 DEFAULT NULL,
189 x_period_type OUT NOCOPY VARCHAR2,
190 x_period_start OUT NOCOPY VARCHAR2,
191 x_price_uom OUT NOCOPY VARCHAR2,
192 x_return_status OUT NOCOPY VARCHAR2);
193
194 --utility method to log all the rules
195 PROCEDURE LOG_RULES(p_module IN VARCHAR2,
196 p_rnrl_rec IN rnrl_rec_type);
197
198 /* stripped down version of get_renew_rules, only gets the template set id and template lang */
199 PROCEDURE GET_TEMPLATE_SET(p_api_version IN NUMBER DEFAULT 1,
200 p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
201 p_chr_id IN NUMBER,
202 x_template_set_id OUT NOCOPY NUMBER,
203 x_template_lang OUT NOCOPY VARCHAR2,
204 x_return_status OUT NOCOPY VARCHAR2,
205 x_msg_count OUT NOCOPY NUMBER,
206 x_msg_data OUT NOCOPY VARCHAR2);
207
208 /* utility function to get template set id */
209 FUNCTION GET_TEMPLATE_SET_ID(p_chr_id IN NUMBER
210 ) RETURN NUMBER;
211
212 /* utility function to get template set lang */
213 FUNCTION GET_TEMPLATE_LANG(p_chr_id IN NUMBER
214 ) RETURN VARCHAR2;
215
216 /*
217 Procedure evaluates the renewal rules setup in Contract or GCD to determine
218 the effective renewal type for a contract.
219
220 Parameters
221 p_chr_id : id of the contract whose renewal type needs to be determined, mandatory
222 p_amount : contract amount, optional, if not passed derived from p_chr_id
223 p_currency_code : contract currency, optional, if not passed derived from p_chr_id
224 p_rnrl_rec : record containing the effective renewal rules for the contract,
225 optional, if not populated, derived from p_chr_id
226 x_renewal_type : renewal type as determined
227 x_approval_type : approval type associated with the renewal type
228 x_threshold_used : Y|N indicating if GCD threshold where used to determine the renewal type
229 */
230 PROCEDURE GET_RENEWAL_TYPE
231 (
232 p_api_version IN NUMBER,
233 p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
234 x_return_status OUT NOCOPY VARCHAR2,
235 x_msg_count OUT NOCOPY NUMBER,
236 x_msg_data OUT NOCOPY VARCHAR2,
237 p_chr_id IN NUMBER,
238 p_amount IN NUMBER DEFAULT NULL,
239 p_currency_code IN VARCHAR2 DEFAULT NULL,
240 p_rnrl_rec IN rnrl_rec_type DEFAULT NULL,
241 x_renewal_type OUT NOCOPY VARCHAR2,
242 x_approval_type OUT NOCOPY VARCHAR2,
243 x_threshold_used OUT NOCOPY VARCHAR2
244 );
245
246 -- This API checks if function is accessible under current responsibility.
247 -- by calling fnd_function.test. This is a wrapper on fnd_function.test
248 -- parameters
249 -- function_name - function to test
250 -- RETURNS
251 -- Y if function is accessible else N
252 FUNCTION get_function_access (p_function_name VARCHAR2)
253 return VARCHAR2;
254
255 PROCEDURE get_language_info
256 (
257 p_api_version IN NUMBER,
258 p_init_msg_list IN VARCHAR2,
259 p_contract_id IN NUMBER,
260 p_document_type IN VARCHAR2 DEFAULT 'QUOTE',
261 p_template_id IN NUMBER DEFAULT NULL,
262 p_template_language IN VARCHAR2 DEFAULT NULL,
263 x_fnd_language OUT NOCOPY VARCHAR2,
264 x_fnd_iso_language OUT NOCOPY VARCHAR2,
265 x_fnd_iso_territory OUT NOCOPY VARCHAR2,
266 x_gcd_template_lang OUT NOCOPY VARCHAR2,
267 x_return_status OUT NOCOPY VARCHAR2,
268 x_msg_count OUT NOCOPY NUMBER,
269 x_msg_data OUT NOCOPY VARCHAR2
270 );
271
272 END OKS_RENEW_UTIL_PVT;