DBA Data[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;