[Home] [Help]
PACKAGE BODY: APPS.CS_CONTRACTTMPL_PVT
Source
1 PACKAGE BODY CS_CONTRACTTMPL_PVT AS
2 /* $Header: csctcteb.pls 115.1 99/07/16 08:51:38 porting ship $ */
3 FUNCTION get_seq_id RETURN NUMBER IS
4 CURSOR get_seq_id_csr IS
5 SELECT CS_CONTRACT_TEMPLATES_S.nextval FROM SYS.DUAL;
6 l_seq_id NUMBER := 0;
7 BEGIN
8 OPEN get_seq_id_csr;
9 FETCH get_seq_id_csr INTO l_seq_id;
10 CLOSE get_seq_id_csr;
11 RETURN(l_seq_id);
12 END get_seq_id;
13
14
15 -- Validation
16 FUNCTION Validate_Item_Attributes
17 (
18 p_contracttmpl_rec IN ContractTmpl_Rec_Type
19 )
20 RETURN VARCHAR2
21 IS
22 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
23 BEGIN
24 IF p_contracttmpl_rec.name = TAPI_DEV_KIT.G_MISS_CHAR OR
25 p_contracttmpl_rec.name IS NULL
26 THEN
27 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'name');
28 l_return_status := FND_API.G_RET_STS_ERROR;
29 ELSIF p_contracttmpl_rec.contract_type_id = TAPI_DEV_KIT.G_MISS_NUM OR
30 p_contracttmpl_rec.contract_type_id IS NULL
31 THEN
32 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'contract_type_id');
33 l_return_status := FND_API.G_RET_STS_ERROR;
34 ELSIF p_contracttmpl_rec.duration = TAPI_DEV_KIT.G_MISS_NUM OR
35 p_contracttmpl_rec.duration IS NULL
36 THEN
37 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'duration');
38 l_return_status := FND_API.G_RET_STS_ERROR;
39 ELSIF p_contracttmpl_rec.period_code = TAPI_DEV_KIT.G_MISS_CHAR OR
40 p_contracttmpl_rec.period_code IS NULL
41 THEN
42 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'period_code');
43 l_return_status := FND_API.G_RET_STS_ERROR;
44 ELSIF p_contracttmpl_rec.price_list_id = TAPI_DEV_KIT.G_MISS_NUM OR
45 p_contracttmpl_rec.price_list_id IS NULL
46 THEN
47 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'price_list_id');
48 l_return_status := FND_API.G_RET_STS_ERROR;
49 ELSIF p_contracttmpl_rec.currency_code = TAPI_DEV_KIT.G_MISS_CHAR OR
50 p_contracttmpl_rec.currency_code IS NULL
51 THEN
52 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'currency_code');
53 l_return_status := FND_API.G_RET_STS_ERROR;
54 ELSIF p_contracttmpl_rec.terms_id = TAPI_DEV_KIT.G_MISS_NUM OR
55 p_contracttmpl_rec.terms_id IS NULL
56 THEN
57 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'terms_id');
58 l_return_status := FND_API.G_RET_STS_ERROR;
59 ELSIF p_contracttmpl_rec.last_update_date = TAPI_DEV_KIT.G_MISS_DATE OR
60 p_contracttmpl_rec.last_update_date IS NULL
61 THEN
62 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'last_update_date');
63 l_return_status := FND_API.G_RET_STS_ERROR;
64 ELSIF p_contracttmpl_rec.last_updated_by = TAPI_DEV_KIT.G_MISS_NUM OR
65 p_contracttmpl_rec.last_updated_by IS NULL
66 THEN
67 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'last_updated_by');
68 l_return_status := FND_API.G_RET_STS_ERROR;
69 ELSIF p_contracttmpl_rec.creation_date = TAPI_DEV_KIT.G_MISS_DATE OR
70 p_contracttmpl_rec.creation_date IS NULL
71 THEN
72 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'creation_date');
73 l_return_status := FND_API.G_RET_STS_ERROR;
74 ELSIF p_contracttmpl_rec.created_by = TAPI_DEV_KIT.G_MISS_NUM OR
75 p_contracttmpl_rec.created_by IS NULL
76 THEN
77 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'created_by');
78 l_return_status := FND_API.G_RET_STS_ERROR;
79 ELSIF p_contracttmpl_rec.start_date_active = TAPI_DEV_KIT.G_MISS_DATE OR
80 p_contracttmpl_rec.start_date_active IS NULL
81 THEN
82 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'start_date_active');
83 l_return_status := FND_API.G_RET_STS_ERROR;
84 ELSIF p_contracttmpl_rec.end_date_active = TAPI_DEV_KIT.G_MISS_DATE OR
85 p_contracttmpl_rec.end_date_active IS NULL
86 THEN
87 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'end_date_active');
88 l_return_status := FND_API.G_RET_STS_ERROR;
89 END IF;
90 RETURN(l_return_status);
91 END Validate_Item_Attributes;
92
93
94 ----- Default
95 FUNCTION Default_Item_Attributes
96 (
97 p_contracttmpl_rec IN ContractTmpl_Rec_Type,
98 l_def_contracttmpl_rec OUT ContractTmpl_Rec_Type
99 )
100 RETURN VARCHAR2
101 IS
102 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
103 BEGIN
104 l_def_contracttmpl_rec := p_contracttmpl_rec;
105 l_def_contracttmpl_rec.OBJECT_VERSION_NUMBER := NVL(l_def_contracttmpl_rec.OBJECT_VERSION_NUMBER, 0) + 1;
106 RETURN(l_return_status);
107 End Default_Item_attributes;
108
109
110 FUNCTION Validate_Item_Record (
111 p_contracttmpl_rec IN ContractTmpl_Rec_Type
112 )
113 RETURN VARCHAR2 IS
114 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
115 FUNCTION validate_foreign_keys (
116 p_contracttmpl_rec IN ContractTmpl_Rec_Type
117 )
118 RETURN VARCHAR2 IS
119 item_not_found_error EXCEPTION;
120 CURSOR cs_contract_types_pk_csr (p_contract_type_id IN NUMBER) IS
121 SELECT *
122 FROM Cs_Contract_Types
123 WHERE cs_contract_types.contract_type_id = p_contract_type_id;
124 l_cs_contract_types_pk cs_contract_types_pk_csr%ROWTYPE;
125 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
126 l_row_notfound BOOLEAN := TRUE;
127 BEGIN
128 IF (p_contracttmpl_rec.CONTRACT_TYPE_ID IS NOT NULL)
129 THEN
130 OPEN cs_contract_types_pk_csr(p_contracttmpl_rec.CONTRACT_TYPE_ID);
131 FETCH cs_contract_types_pk_csr INTO l_cs_contract_types_pk;
132 l_row_notfound := cs_contract_types_pk_csr%NOTFOUND;
133 CLOSE cs_contract_types_pk_csr;
134 IF (l_row_notfound) THEN
135 TAPI_DEV_KIT.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'CONTRACT_TYPE_ID');
136 RAISE item_not_found_error;
137 END IF;
138 END IF;
139 RETURN (l_return_status);
140 EXCEPTION
141 WHEN item_not_found_error THEN
142 l_return_status := FND_API.G_RET_STS_ERROR;
143 RETURN (l_return_status);
144 END validate_foreign_keys;
145 BEGIN
146 l_return_status := validate_foreign_keys (p_contracttmpl_rec);
147 RETURN (l_return_status);
148 END Validate_Item_Record;
149
150
151 PROCEDURE migrate (
152 p_from IN ContractTmpl_Val_Rec_Type,
153 p_to OUT ContractTmpl_Rec_Type
154 ) IS
155 BEGIN
156 p_to.contract_template_id := p_from.contract_template_id;
157 p_to.name := p_from.name;
158 p_to.contract_type_id := p_from.contract_type_id;
159 p_to.duration := p_from.duration;
160 p_to.period_code := p_from.period_code;
161 p_to.workflow := p_from.workflow;
162 p_to.price_list_id := p_from.price_list_id;
163 p_to.currency_code := p_from.currency_code;
164 p_to.conversion_type_code := p_from.conversion_type_code;
165 p_to.conversion_rate := p_from.conversion_rate;
166 p_to.conversion_date := p_from.conversion_date;
167 p_to.invoicing_rule_id := p_from.invoicing_rule_id;
168 p_to.accounting_rule_id := p_from.accounting_rule_id;
169 p_to.billing_frequency_period := p_from.billing_frequency_period;
170 p_to.create_sales_order := p_from.create_sales_order;
171 p_to.renewal_rule := p_from.renewal_rule;
172 p_to.termination_rule := p_from.termination_rule;
173 p_to.terms_id := p_from.terms_id;
174 p_to.tax_handling := p_from.tax_handling;
175 p_to.tax_exempt_num := p_from.tax_exempt_num;
176 p_to.tax_exempt_reason_code := p_from.tax_exempt_reason_code;
177 p_to.contract_amount := p_from.contract_amount;
178 p_to.discount_id := p_from.discount_id;
179 p_to.last_update_date := p_from.last_update_date;
180 p_to.last_updated_by := p_from.last_updated_by;
181 p_to.creation_date := p_from.creation_date;
182 p_to.created_by := p_from.created_by;
183 p_to.auto_renewal_flag := p_from.auto_renewal_flag;
184 p_to.last_update_login := p_from.last_update_login;
185 p_to.start_date_active := p_from.start_date_active;
186 p_to.end_date_active := p_from.end_date_active;
187 p_to.attribute1 := p_from.attribute1;
188 p_to.attribute2 := p_from.attribute2;
189 p_to.attribute3 := p_from.attribute3;
190 p_to.attribute4 := p_from.attribute4;
191 p_to.attribute5 := p_from.attribute5;
192 p_to.attribute6 := p_from.attribute6;
193 p_to.attribute7 := p_from.attribute7;
194 p_to.attribute8 := p_from.attribute8;
195 p_to.attribute9 := p_from.attribute9;
196 p_to.attribute10 := p_from.attribute10;
197 p_to.attribute11 := p_from.attribute11;
198 p_to.attribute12 := p_from.attribute12;
199 p_to.attribute13 := p_from.attribute13;
200 p_to.attribute14 := p_from.attribute14;
201 p_to.attribute15 := p_from.attribute15;
202 p_to.context := p_from.context;
203 p_to.object_version_number := p_from.object_version_number;
204 END migrate;
205 PROCEDURE migrate (
206 p_from IN ContractTmpl_Rec_Type,
207 p_to OUT ContractTmpl_Val_Rec_Type
208 ) IS
209 BEGIN
210 p_to.contract_template_id := p_from.contract_template_id;
211 p_to.name := p_from.name;
212 p_to.contract_type_id := p_from.contract_type_id;
213 p_to.duration := p_from.duration;
214 p_to.period_code := p_from.period_code;
215 p_to.workflow := p_from.workflow;
216 p_to.price_list_id := p_from.price_list_id;
217 p_to.currency_code := p_from.currency_code;
218 p_to.conversion_type_code := p_from.conversion_type_code;
219 p_to.conversion_rate := p_from.conversion_rate;
220 p_to.conversion_date := p_from.conversion_date;
221 p_to.invoicing_rule_id := p_from.invoicing_rule_id;
222 p_to.accounting_rule_id := p_from.accounting_rule_id;
223 p_to.billing_frequency_period := p_from.billing_frequency_period;
224 p_to.create_sales_order := p_from.create_sales_order;
225 p_to.renewal_rule := p_from.renewal_rule;
226 p_to.termination_rule := p_from.termination_rule;
227 p_to.terms_id := p_from.terms_id;
228 p_to.tax_handling := p_from.tax_handling;
229 p_to.tax_exempt_num := p_from.tax_exempt_num;
230 p_to.tax_exempt_reason_code := p_from.tax_exempt_reason_code;
231 p_to.contract_amount := p_from.contract_amount;
232 p_to.discount_id := p_from.discount_id;
233 p_to.last_update_date := p_from.last_update_date;
234 p_to.last_updated_by := p_from.last_updated_by;
235 p_to.creation_date := p_from.creation_date;
236 p_to.created_by := p_from.created_by;
237 p_to.auto_renewal_flag := p_from.auto_renewal_flag;
238 p_to.last_update_login := p_from.last_update_login;
239 p_to.start_date_active := p_from.start_date_active;
240 p_to.end_date_active := p_from.end_date_active;
241 p_to.attribute1 := p_from.attribute1;
242 p_to.attribute2 := p_from.attribute2;
243 p_to.attribute3 := p_from.attribute3;
244 p_to.attribute4 := p_from.attribute4;
245 p_to.attribute5 := p_from.attribute5;
246 p_to.attribute6 := p_from.attribute6;
247 p_to.attribute7 := p_from.attribute7;
248 p_to.attribute8 := p_from.attribute8;
249 p_to.attribute9 := p_from.attribute9;
250 p_to.attribute10 := p_from.attribute10;
251 p_to.attribute11 := p_from.attribute11;
252 p_to.attribute12 := p_from.attribute12;
253 p_to.attribute13 := p_from.attribute13;
254 p_to.attribute14 := p_from.attribute14;
255 p_to.attribute15 := p_from.attribute15;
256 p_to.context := p_from.context;
257 p_to.object_version_number := p_from.object_version_number;
258 END migrate;
259 PROCEDURE insert_row
260 (
261 p_api_version IN NUMBER,
262 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
263 p_validation_level IN NUMBER,
264 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
265 x_return_status OUT VARCHAR2,
266 x_msg_count OUT NUMBER,
267 x_msg_data OUT VARCHAR2,
268 p_contracttmpl_rec IN ContractTmpl_Rec_Type := G_MISS_CONTRACTTMPL_REC,
269 x_contract_template_id OUT NUMBER,
270 x_object_version_number OUT NUMBER) IS
271 l_api_name CONSTANT VARCHAR2(30) := 'insert_row';
272 l_api_version CONSTANT NUMBER := 1;
273 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
274 l_contracttmpl_rec ContractTmpl_Rec_Type;
275 l_def_contracttmpl_rec ContractTmpl_Rec_Type;
276 BEGIN
277 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
278 G_PKG_NAME,
279 l_api_version,
280 p_api_version,
281 p_init_msg_list,
282 '_Pvt',
283 x_return_status);
284 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
285 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
286 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
287 RAISE FND_API.G_EXC_ERROR;
288 END IF;
289 l_contracttmpl_rec := p_contracttmpl_rec;
290 --- Validate all non-missing attributes (Item Level Validation)
291 IF p_validation_level >= FND_API.G_VALID_LEVEL_FULL THEN
292 l_return_status := Validate_Item_Attributes
293 (
294 l_contracttmpl_rec ---- IN
295 );
296 --- If any errors happen abort API
297 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
298 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
299 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
300 RAISE FND_API.G_EXC_ERROR;
301 END IF;
302 END IF;
303 --- Defaulting item attributes
304 l_return_status := Default_Item_Attributes
305 (
306 l_contracttmpl_rec, ---- IN
307 l_def_contracttmpl_rec
308 );
309 --- If any errors happen abort API
310 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
311 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
312 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
313 RAISE FND_API.G_EXC_ERROR;
314 END IF;
318 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
315 IF (p_validation_level >= FND_API.G_VALID_LEVEL_FULL) THEN
316 l_return_status := Validate_Item_Record(l_def_contracttmpl_rec);
317 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
319 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
320 RAISE FND_API.G_EXC_ERROR;
321 END IF;
322 END IF;
323 -- Set primary key value
324 l_def_contracttmpl_rec.contract_template_id := get_seq_id;
325 INSERT INTO CS_CONTRACT_TEMPLATES(
326 contract_template_id,
327 name,
328 contract_type_id,
329 duration,
330 period_code,
331 workflow,
332 price_list_id,
333 currency_code,
334 conversion_type_code,
335 conversion_rate,
336 conversion_date,
337 invoicing_rule_id,
338 accounting_rule_id,
339 billing_frequency_period,
340 create_sales_order,
341 renewal_rule,
342 termination_rule,
343 terms_id,
344 tax_handling,
345 tax_exempt_num,
346 tax_exempt_reason_code,
347 contract_amount,
348 discount_id,
349 last_update_date,
350 last_updated_by,
351 creation_date,
352 created_by,
353 auto_renewal_flag,
354 last_update_login,
355 start_date_active,
356 end_date_active,
357 attribute1,
358 attribute2,
359 attribute3,
360 attribute4,
361 attribute5,
362 attribute6,
363 attribute7,
364 attribute8,
365 attribute9,
366 attribute10,
367 attribute11,
368 attribute12,
369 attribute13,
370 attribute14,
371 attribute15,
372 context,
373 object_version_number)
374 VALUES (
375 l_def_contracttmpl_rec.contract_template_id,
376 l_def_contracttmpl_rec.name,
377 l_def_contracttmpl_rec.contract_type_id,
378 l_def_contracttmpl_rec.duration,
379 l_def_contracttmpl_rec.period_code,
380 l_def_contracttmpl_rec.workflow,
381 l_def_contracttmpl_rec.price_list_id,
382 l_def_contracttmpl_rec.currency_code,
383 l_def_contracttmpl_rec.conversion_type_code,
384 l_def_contracttmpl_rec.conversion_rate,
385 l_def_contracttmpl_rec.conversion_date,
386 l_def_contracttmpl_rec.invoicing_rule_id,
387 l_def_contracttmpl_rec.accounting_rule_id,
388 l_def_contracttmpl_rec.billing_frequency_period,
389 l_def_contracttmpl_rec.create_sales_order,
390 l_def_contracttmpl_rec.renewal_rule,
391 l_def_contracttmpl_rec.termination_rule,
392 l_def_contracttmpl_rec.terms_id,
393 l_def_contracttmpl_rec.tax_handling,
394 l_def_contracttmpl_rec.tax_exempt_num,
395 l_def_contracttmpl_rec.tax_exempt_reason_code,
396 l_def_contracttmpl_rec.contract_amount,
397 l_def_contracttmpl_rec.discount_id,
398 l_def_contracttmpl_rec.last_update_date,
399 l_def_contracttmpl_rec.last_updated_by,
400 l_def_contracttmpl_rec.creation_date,
401 l_def_contracttmpl_rec.created_by,
402 l_def_contracttmpl_rec.auto_renewal_flag,
403 l_def_contracttmpl_rec.last_update_login,
404 l_def_contracttmpl_rec.start_date_active,
405 l_def_contracttmpl_rec.end_date_active,
406 l_def_contracttmpl_rec.attribute1,
407 l_def_contracttmpl_rec.attribute2,
408 l_def_contracttmpl_rec.attribute3,
409 l_def_contracttmpl_rec.attribute4,
410 l_def_contracttmpl_rec.attribute5,
411 l_def_contracttmpl_rec.attribute6,
412 l_def_contracttmpl_rec.attribute7,
413 l_def_contracttmpl_rec.attribute8,
414 l_def_contracttmpl_rec.attribute9,
415 l_def_contracttmpl_rec.attribute10,
416 l_def_contracttmpl_rec.attribute11,
417 l_def_contracttmpl_rec.attribute12,
418 l_def_contracttmpl_rec.attribute13,
419 l_def_contracttmpl_rec.attribute14,
420 l_def_contracttmpl_rec.attribute15,
421 l_def_contracttmpl_rec.context,
422 l_def_contracttmpl_rec.object_version_number);
423 -- Set OUT values
424 x_contract_template_id := l_def_contracttmpl_rec.contract_template_id;
425 x_object_version_number := l_def_contracttmpl_rec.OBJECT_VERSION_NUMBER;
426 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
427 EXCEPTION
428 WHEN FND_API.G_EXC_ERROR THEN
429 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
430 (
431 l_api_name,
432 G_PKG_NAME,
433 'FND_API.G_RET_STS_ERROR',
434 x_msg_count,
435 x_msg_data,
436 '_Pvt'
437 );
438 APP_EXCEPTION.RAISE_EXCEPTION;
439 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
440 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
441 (
442 l_api_name,
443 G_PKG_NAME,
444 'FND_API.G_RET_STS_UNEXP_ERROR',
445 x_msg_count,
446 x_msg_data,
447 '_Pvt'
448 );
449 APP_EXCEPTION.RAISE_EXCEPTION;
450 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
451 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
452 (
453 l_api_name,
454 G_PKG_NAME,
455 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
456 x_msg_count,
457 x_msg_data,
458 '_Pvt'
459 );
460 APP_EXCEPTION.RAISE_EXCEPTION;
461 END insert_row;
462 PROCEDURE insert_row
463 (
467 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
464 p_api_version IN NUMBER,
465 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
466 p_validation_level IN NUMBER,
468 x_return_status OUT VARCHAR2,
469 x_msg_count OUT NUMBER,
470 x_msg_data OUT VARCHAR2,
471 p_name IN CS_CONTRACT_TEMPLATES.NAME%TYPE := NULL,
472 p_contract_type_id IN NUMBER := NULL,
473 p_duration IN NUMBER := NULL,
474 p_period_code IN CS_CONTRACT_TEMPLATES.PERIOD_CODE%TYPE := NULL,
475 p_workflow IN CS_CONTRACT_TEMPLATES.WORKFLOW%TYPE := NULL,
476 p_price_list_id IN NUMBER := NULL,
477 p_currency_code IN CS_CONTRACT_TEMPLATES.CURRENCY_CODE%TYPE := NULL,
478 p_conversion_type_code IN CS_CONTRACT_TEMPLATES.CONVERSION_TYPE_CODE%TYPE := NULL,
479 p_conversion_rate IN NUMBER := NULL,
480 p_conversion_date IN CS_CONTRACT_TEMPLATES.CONVERSION_DATE%TYPE := NULL,
481 p_invoicing_rule_id IN NUMBER := NULL,
482 p_accounting_rule_id IN NUMBER := NULL,
483 p_billing_frequency_period IN CS_CONTRACT_TEMPLATES.BILLING_FREQUENCY_PERIOD%TYPE := NULL,
484 p_create_sales_order IN CS_CONTRACT_TEMPLATES.CREATE_SALES_ORDER%TYPE := NULL,
485 p_renewal_rule IN CS_CONTRACT_TEMPLATES.RENEWAL_RULE%TYPE := NULL,
486 p_termination_rule IN CS_CONTRACT_TEMPLATES.TERMINATION_RULE%TYPE := NULL,
487 p_terms_id IN NUMBER := NULL,
488 p_tax_handling IN CS_CONTRACT_TEMPLATES.TAX_HANDLING%TYPE := NULL,
489 p_tax_exempt_num IN CS_CONTRACT_TEMPLATES.TAX_EXEMPT_NUM%TYPE := NULL,
490 p_tax_exempt_reason_code IN CS_CONTRACT_TEMPLATES.TAX_EXEMPT_REASON_CODE%TYPE := NULL,
491 p_contract_amount IN NUMBER := NULL,
492 p_discount_id IN NUMBER := NULL,
493 p_last_update_date IN CS_CONTRACT_TEMPLATES.LAST_UPDATE_DATE%TYPE := NULL,
494 p_last_updated_by IN NUMBER := NULL,
495 p_creation_date IN CS_CONTRACT_TEMPLATES.CREATION_DATE%TYPE := NULL,
496 p_created_by IN NUMBER := NULL,
497 p_auto_renewal_flag IN CS_CONTRACT_TEMPLATES.AUTO_RENEWAL_FLAG%TYPE := NULL,
498 p_last_update_login IN NUMBER := NULL,
499 p_start_date_active IN CS_CONTRACT_TEMPLATES.START_DATE_ACTIVE%TYPE := NULL,
500 p_end_date_active IN CS_CONTRACT_TEMPLATES.END_DATE_ACTIVE%TYPE := NULL,
501 p_attribute1 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE1%TYPE := NULL,
502 p_attribute2 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE2%TYPE := NULL,
503 p_attribute3 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE3%TYPE := NULL,
504 p_attribute4 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE4%TYPE := NULL,
505 p_attribute5 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE5%TYPE := NULL,
506 p_attribute6 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE6%TYPE := NULL,
507 p_attribute7 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE7%TYPE := NULL,
508 p_attribute8 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE8%TYPE := NULL,
509 p_attribute9 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE9%TYPE := NULL,
510 p_attribute10 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE10%TYPE := NULL,
511 p_attribute11 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE11%TYPE := NULL,
512 p_attribute12 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE12%TYPE := NULL,
513 p_attribute13 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE13%TYPE := NULL,
514 p_attribute14 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE14%TYPE := NULL,
515 p_attribute15 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE15%TYPE := NULL,
516 p_context IN CS_CONTRACT_TEMPLATES.CONTEXT%TYPE := NULL,
517 p_object_version_number IN NUMBER := NULL,
518 x_contract_template_id OUT NUMBER,
519 x_object_version_number OUT NUMBER) IS
520 l_api_name CONSTANT VARCHAR2(30) := 'insert_row';
521 l_api_version CONSTANT NUMBER := 1;
522 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
523 l_contracttmpl_rec ContractTmpl_Rec_Type;
524 BEGIN
525 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
526 G_PKG_NAME,
527 l_api_version,
528 p_api_version,
529 p_init_msg_list,
530 '_Pvt',
531 x_return_status);
532 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
533 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
534 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
535 RAISE FND_API.G_EXC_ERROR;
536 END IF;
537 l_contracttmpl_rec.NAME := p_name;
538 l_contracttmpl_rec.CONTRACT_TYPE_ID := p_contract_type_id;
539 l_contracttmpl_rec.DURATION := p_duration;
540 l_contracttmpl_rec.PERIOD_CODE := p_period_code;
541 l_contracttmpl_rec.WORKFLOW := p_workflow;
542 l_contracttmpl_rec.PRICE_LIST_ID := p_price_list_id;
543 l_contracttmpl_rec.CURRENCY_CODE := p_currency_code;
544 l_contracttmpl_rec.CONVERSION_TYPE_CODE := p_conversion_type_code;
545 l_contracttmpl_rec.CONVERSION_RATE := p_conversion_rate;
546 l_contracttmpl_rec.CONVERSION_DATE := p_conversion_date;
547 l_contracttmpl_rec.INVOICING_RULE_ID := p_invoicing_rule_id;
548 l_contracttmpl_rec.ACCOUNTING_RULE_ID := p_accounting_rule_id;
549 l_contracttmpl_rec.BILLING_FREQUENCY_PERIOD := p_billing_frequency_period;
550 l_contracttmpl_rec.CREATE_SALES_ORDER := p_create_sales_order;
551 l_contracttmpl_rec.RENEWAL_RULE := p_renewal_rule;
555 l_contracttmpl_rec.TAX_EXEMPT_NUM := p_tax_exempt_num;
552 l_contracttmpl_rec.TERMINATION_RULE := p_termination_rule;
553 l_contracttmpl_rec.TERMS_ID := p_terms_id;
554 l_contracttmpl_rec.TAX_HANDLING := p_tax_handling;
556 l_contracttmpl_rec.TAX_EXEMPT_REASON_CODE := p_tax_exempt_reason_code;
557 l_contracttmpl_rec.CONTRACT_AMOUNT := p_contract_amount;
558 l_contracttmpl_rec.DISCOUNT_ID := p_discount_id;
559 l_contracttmpl_rec.LAST_UPDATE_DATE := p_last_update_date;
560 l_contracttmpl_rec.LAST_UPDATED_BY := p_last_updated_by;
561 l_contracttmpl_rec.CREATION_DATE := p_creation_date;
562 l_contracttmpl_rec.CREATED_BY := p_created_by;
563 l_contracttmpl_rec.AUTO_RENEWAL_FLAG := p_auto_renewal_flag;
564 l_contracttmpl_rec.LAST_UPDATE_LOGIN := p_last_update_login;
565 l_contracttmpl_rec.START_DATE_ACTIVE := p_start_date_active;
566 l_contracttmpl_rec.END_DATE_ACTIVE := p_end_date_active;
567 l_contracttmpl_rec.ATTRIBUTE1 := p_attribute1;
568 l_contracttmpl_rec.ATTRIBUTE2 := p_attribute2;
569 l_contracttmpl_rec.ATTRIBUTE3 := p_attribute3;
570 l_contracttmpl_rec.ATTRIBUTE4 := p_attribute4;
571 l_contracttmpl_rec.ATTRIBUTE5 := p_attribute5;
572 l_contracttmpl_rec.ATTRIBUTE6 := p_attribute6;
573 l_contracttmpl_rec.ATTRIBUTE7 := p_attribute7;
574 l_contracttmpl_rec.ATTRIBUTE8 := p_attribute8;
575 l_contracttmpl_rec.ATTRIBUTE9 := p_attribute9;
576 l_contracttmpl_rec.ATTRIBUTE10 := p_attribute10;
577 l_contracttmpl_rec.ATTRIBUTE11 := p_attribute11;
578 l_contracttmpl_rec.ATTRIBUTE12 := p_attribute12;
579 l_contracttmpl_rec.ATTRIBUTE13 := p_attribute13;
580 l_contracttmpl_rec.ATTRIBUTE14 := p_attribute14;
581 l_contracttmpl_rec.ATTRIBUTE15 := p_attribute15;
582 l_contracttmpl_rec.CONTEXT := p_context;
583 l_contracttmpl_rec.OBJECT_VERSION_NUMBER := p_object_version_number;
584 insert_row(
585 p_api_version,
586 p_init_msg_list,
587 p_validation_level,
588 p_commit,
589 x_return_status,
590 x_msg_count,
591 x_msg_data,
592 l_contracttmpl_rec,
593 x_contract_template_id,
594 x_object_version_number
595 );
596 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
597 EXCEPTION
598 WHEN FND_API.G_EXC_ERROR THEN
599 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
600 (
601 l_api_name,
602 G_PKG_NAME,
603 'FND_API.G_RET_STS_ERROR',
604 x_msg_count,
605 x_msg_data,
606 '_Pvt'
607 );
608 APP_EXCEPTION.RAISE_EXCEPTION;
609 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
610 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
611 (
612 l_api_name,
613 G_PKG_NAME,
614 'FND_API.G_RET_STS_UNEXP_ERROR',
615 x_msg_count,
616 x_msg_data,
617 '_Pvt'
618 );
619 APP_EXCEPTION.RAISE_EXCEPTION;
620 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
621 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
622 (
623 l_api_name,
624 G_PKG_NAME,
625 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
626 x_msg_count,
627 x_msg_data,
628 '_Pvt'
629 );
630 APP_EXCEPTION.RAISE_EXCEPTION;
631 END insert_row;
632 Procedure lock_row
633 (
634 p_api_version IN NUMBER,
635 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
636 p_validation_level IN NUMBER,
637 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
638 x_return_status OUT VARCHAR2,
639 x_msg_count OUT NUMBER,
640 x_msg_data OUT VARCHAR2,
641 p_contract_template_id IN NUMBER,
642 p_object_version_number IN NUMBER) IS
643 E_Resource_Busy EXCEPTION;
644 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
645 CURSOR lock_csr IS
646 SELECT OBJECT_VERSION_NUMBER
647 FROM CS_CONTRACT_TEMPLATES
648 WHERE
649 CONTRACT_TEMPLATE_ID = p_contract_template_id AND
650 OBJECT_VERSION_NUMBER = p_object_version_number
651 FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
652
653 CURSOR lchk_csr IS
654 SELECT OBJECT_VERSION_NUMBER
655 FROM CS_CONTRACT_TEMPLATES
656 WHERE
657 CONTRACT_TEMPLATE_ID = p_contract_template_id
658 ;
659 l_api_name CONSTANT VARCHAR2(30) := 'lock_row';
660 l_api_version CONSTANT NUMBER := 1;
661 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
662 l_object_version_number CS_CONTRACT_TEMPLATES.OBJECT_VERSION_NUMBER%TYPE;
663 lc_object_version_number CS_CONTRACT_TEMPLATES.OBJECT_VERSION_NUMBER%TYPE;
664 l_row_notfound BOOLEAN := FALSE;
665 lc_row_notfound BOOLEAN := FALSE;
666 BEGIN
667 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
668 G_PKG_NAME,
669 l_api_version,
670 p_api_version,
671 p_init_msg_list,
672 '_Pvt',
673 x_return_status);
674 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
675 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
676 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
677 RAISE FND_API.G_EXC_ERROR;
678 END IF;
679 BEGIN
680 OPEN lock_csr;
681 FETCH lock_csr INTO l_object_version_number;
682 l_row_notfound := lock_csr%NOTFOUND;
683 CLOSE lock_csr;
687 CLOSE lock_csr;
684 EXCEPTION
685 WHEN E_Resource_Busy THEN
686 IF (lock_csr%ISOPEN) THEN
688 END IF;
689 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
690 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
691 END;
692
693 IF ( l_row_notfound ) THEN
694 OPEN lchk_csr;
695 FETCH lchk_csr INTO lc_object_version_number;
696 lc_row_notfound := lchk_csr%NOTFOUND;
697 CLOSE lchk_csr;
698 END IF;
699 IF (lc_row_notfound) THEN
700 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
701 RAISE FND_API.G_EXC_ERROR;
702 ELSIF lc_object_version_number > p_object_version_number THEN
703 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
704 RAISE FND_API.G_EXC_ERROR;
705 ELSIF lc_object_version_number <> p_object_version_number THEN
706 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
707 RAISE FND_API.G_EXC_ERROR;
708 ELSIF lc_object_version_number = -1 THEN
709 TAPI_DEV_KIT.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
710 RAISE FND_API.G_EXC_ERROR;
711 END IF;
712 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
713 EXCEPTION
714 WHEN FND_API.G_EXC_ERROR THEN
715 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
716 (
717 l_api_name,
718 G_PKG_NAME,
719 'FND_API.G_RET_STS_ERROR',
720 x_msg_count,
721 x_msg_data,
722 '_Pvt'
723 );
724 APP_EXCEPTION.RAISE_EXCEPTION;
725 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
726 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
727 (
728 l_api_name,
729 G_PKG_NAME,
730 'FND_API.G_RET_STS_UNEXP_ERROR',
731 x_msg_count,
732 x_msg_data,
733 '_Pvt'
734 );
735 APP_EXCEPTION.RAISE_EXCEPTION;
736 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
737 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
738 (
739 l_api_name,
740 G_PKG_NAME,
741 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
742 x_msg_count,
743 x_msg_data,
744 '_Pvt'
745 );
746 APP_EXCEPTION.RAISE_EXCEPTION;
747 END lock_row;
748 Procedure update_row
749 (
750 p_api_version IN NUMBER,
751 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
752 p_validation_level IN NUMBER,
753 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
754 x_return_status OUT VARCHAR2,
755 x_msg_count OUT NUMBER,
756 x_msg_data OUT VARCHAR2,
757 p_contracttmpl_val_rec IN ContractTmpl_Val_Rec_Type := G_MISS_CONTRACTTMPL_VAL_REC,
758 x_object_version_number OUT NUMBER) IS
759 l_api_name CONSTANT VARCHAR2(30) := 'update_row';
760 l_api_version CONSTANT NUMBER := 1;
761 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
762 l_contracttmpl_rec ContractTmpl_Rec_Type;
763 l_def_contracttmpl_rec ContractTmpl_Rec_Type;
764 FUNCTION populate_new_record (
765 p_contracttmpl_rec IN ContractTmpl_Rec_Type,
766 x_contracttmpl_rec OUT ContractTmpl_Rec_Type
767 ) RETURN VARCHAR2 IS
768 CURSOR cs_contract_templates_pk_csr (p_contract_template_id IN NUMBER) IS
769 SELECT *
770 FROM Cs_Contract_Templates
771 WHERE cs_contract_templates.contract_template_id = p_contract_template_id;
772 l_cs_contract_templates_pk cs_contract_templates_pk_csr%ROWTYPE;
773 l_row_notfound BOOLEAN := TRUE;
774 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
775 BEGIN
776 x_contracttmpl_rec := p_contracttmpl_rec;
777 -- Get current database values
778 OPEN cs_contract_templates_pk_csr (p_contracttmpl_rec.contract_template_id);
779 FETCH cs_contract_templates_pk_csr INTO l_cs_contract_templates_pk;
780 l_row_notfound := cs_contract_templates_pk_csr%NOTFOUND;
781 CLOSE cs_contract_templates_pk_csr;
782 IF (l_row_notfound) THEN
783 l_return_status := FND_API.G_RET_STS_ERROR;
784 END IF;
785 IF (x_contracttmpl_rec.contract_template_id = TAPI_DEV_KIT.G_MISS_NUM)
786 THEN
787 x_contracttmpl_rec.contract_template_id := l_cs_contract_templates_pk.contract_template_id;
788 END IF;
789 IF (x_contracttmpl_rec.name = TAPI_DEV_KIT.G_MISS_CHAR)
790 THEN
791 x_contracttmpl_rec.name := l_cs_contract_templates_pk.name;
792 END IF;
793 IF (x_contracttmpl_rec.contract_type_id = TAPI_DEV_KIT.G_MISS_NUM)
794 THEN
795 x_contracttmpl_rec.contract_type_id := l_cs_contract_templates_pk.contract_type_id;
796 END IF;
797 IF (x_contracttmpl_rec.duration = TAPI_DEV_KIT.G_MISS_NUM)
798 THEN
799 x_contracttmpl_rec.duration := l_cs_contract_templates_pk.duration;
800 END IF;
801 IF (x_contracttmpl_rec.period_code = TAPI_DEV_KIT.G_MISS_CHAR)
802 THEN
803 x_contracttmpl_rec.period_code := l_cs_contract_templates_pk.period_code;
804 END IF;
805 IF (x_contracttmpl_rec.workflow = TAPI_DEV_KIT.G_MISS_CHAR)
806 THEN
807 x_contracttmpl_rec.workflow := l_cs_contract_templates_pk.workflow;
808 END IF;
809 IF (x_contracttmpl_rec.price_list_id = TAPI_DEV_KIT.G_MISS_NUM)
810 THEN
811 x_contracttmpl_rec.price_list_id := l_cs_contract_templates_pk.price_list_id;
812 END IF;
813 IF (x_contracttmpl_rec.currency_code = TAPI_DEV_KIT.G_MISS_CHAR)
814 THEN
815 x_contracttmpl_rec.currency_code := l_cs_contract_templates_pk.currency_code;
819 x_contracttmpl_rec.conversion_type_code := l_cs_contract_templates_pk.conversion_type_code;
816 END IF;
817 IF (x_contracttmpl_rec.conversion_type_code = TAPI_DEV_KIT.G_MISS_CHAR)
818 THEN
820 END IF;
821 IF (x_contracttmpl_rec.conversion_rate = TAPI_DEV_KIT.G_MISS_NUM)
822 THEN
823 x_contracttmpl_rec.conversion_rate := l_cs_contract_templates_pk.conversion_rate;
824 END IF;
825 IF (x_contracttmpl_rec.conversion_date = TAPI_DEV_KIT.G_MISS_DATE)
826 THEN
827 x_contracttmpl_rec.conversion_date := l_cs_contract_templates_pk.conversion_date;
828 END IF;
829 IF (x_contracttmpl_rec.invoicing_rule_id = TAPI_DEV_KIT.G_MISS_NUM)
830 THEN
831 x_contracttmpl_rec.invoicing_rule_id := l_cs_contract_templates_pk.invoicing_rule_id;
832 END IF;
833 IF (x_contracttmpl_rec.accounting_rule_id = TAPI_DEV_KIT.G_MISS_NUM)
834 THEN
835 x_contracttmpl_rec.accounting_rule_id := l_cs_contract_templates_pk.accounting_rule_id;
836 END IF;
837 IF (x_contracttmpl_rec.billing_frequency_period = TAPI_DEV_KIT.G_MISS_CHAR)
838 THEN
839 x_contracttmpl_rec.billing_frequency_period := l_cs_contract_templates_pk.billing_frequency_period;
840 END IF;
841 IF (x_contracttmpl_rec.create_sales_order = TAPI_DEV_KIT.G_MISS_CHAR)
842 THEN
843 x_contracttmpl_rec.create_sales_order := l_cs_contract_templates_pk.create_sales_order;
844 END IF;
845 IF (x_contracttmpl_rec.renewal_rule = TAPI_DEV_KIT.G_MISS_CHAR)
846 THEN
847 x_contracttmpl_rec.renewal_rule := l_cs_contract_templates_pk.renewal_rule;
848 END IF;
849 IF (x_contracttmpl_rec.termination_rule = TAPI_DEV_KIT.G_MISS_CHAR)
850 THEN
851 x_contracttmpl_rec.termination_rule := l_cs_contract_templates_pk.termination_rule;
852 END IF;
853 IF (x_contracttmpl_rec.terms_id = TAPI_DEV_KIT.G_MISS_NUM)
854 THEN
855 x_contracttmpl_rec.terms_id := l_cs_contract_templates_pk.terms_id;
856 END IF;
857 IF (x_contracttmpl_rec.tax_handling = TAPI_DEV_KIT.G_MISS_CHAR)
858 THEN
859 x_contracttmpl_rec.tax_handling := l_cs_contract_templates_pk.tax_handling;
860 END IF;
861 IF (x_contracttmpl_rec.tax_exempt_num = TAPI_DEV_KIT.G_MISS_CHAR)
862 THEN
863 x_contracttmpl_rec.tax_exempt_num := l_cs_contract_templates_pk.tax_exempt_num;
864 END IF;
865 IF (x_contracttmpl_rec.tax_exempt_reason_code = TAPI_DEV_KIT.G_MISS_CHAR)
866 THEN
867 x_contracttmpl_rec.tax_exempt_reason_code := l_cs_contract_templates_pk.tax_exempt_reason_code;
868 END IF;
869 IF (x_contracttmpl_rec.contract_amount = TAPI_DEV_KIT.G_MISS_NUM)
870 THEN
871 x_contracttmpl_rec.contract_amount := l_cs_contract_templates_pk.contract_amount;
872 END IF;
873 IF (x_contracttmpl_rec.discount_id = TAPI_DEV_KIT.G_MISS_NUM)
874 THEN
875 x_contracttmpl_rec.discount_id := l_cs_contract_templates_pk.discount_id;
876 END IF;
877 IF (x_contracttmpl_rec.last_update_date = TAPI_DEV_KIT.G_MISS_DATE)
878 THEN
879 x_contracttmpl_rec.last_update_date := l_cs_contract_templates_pk.last_update_date;
880 END IF;
881 IF (x_contracttmpl_rec.last_updated_by = TAPI_DEV_KIT.G_MISS_NUM)
882 THEN
883 x_contracttmpl_rec.last_updated_by := l_cs_contract_templates_pk.last_updated_by;
884 END IF;
885 IF (x_contracttmpl_rec.creation_date = TAPI_DEV_KIT.G_MISS_DATE)
886 THEN
887 x_contracttmpl_rec.creation_date := l_cs_contract_templates_pk.creation_date;
888 END IF;
889 IF (x_contracttmpl_rec.created_by = TAPI_DEV_KIT.G_MISS_NUM)
890 THEN
891 x_contracttmpl_rec.created_by := l_cs_contract_templates_pk.created_by;
892 END IF;
893 IF (x_contracttmpl_rec.auto_renewal_flag = TAPI_DEV_KIT.G_MISS_CHAR)
894 THEN
895 x_contracttmpl_rec.auto_renewal_flag := l_cs_contract_templates_pk.auto_renewal_flag;
896 END IF;
897 IF (x_contracttmpl_rec.last_update_login = TAPI_DEV_KIT.G_MISS_NUM)
898 THEN
899 x_contracttmpl_rec.last_update_login := l_cs_contract_templates_pk.last_update_login;
900 END IF;
901 IF (x_contracttmpl_rec.start_date_active = TAPI_DEV_KIT.G_MISS_DATE)
902 THEN
903 x_contracttmpl_rec.start_date_active := l_cs_contract_templates_pk.start_date_active;
904 END IF;
905 IF (x_contracttmpl_rec.end_date_active = TAPI_DEV_KIT.G_MISS_DATE)
906 THEN
907 x_contracttmpl_rec.end_date_active := l_cs_contract_templates_pk.end_date_active;
908 END IF;
909 IF (x_contracttmpl_rec.attribute1 = TAPI_DEV_KIT.G_MISS_CHAR)
910 THEN
911 x_contracttmpl_rec.attribute1 := l_cs_contract_templates_pk.attribute1;
912 END IF;
913 IF (x_contracttmpl_rec.attribute2 = TAPI_DEV_KIT.G_MISS_CHAR)
914 THEN
915 x_contracttmpl_rec.attribute2 := l_cs_contract_templates_pk.attribute2;
916 END IF;
917 IF (x_contracttmpl_rec.attribute3 = TAPI_DEV_KIT.G_MISS_CHAR)
918 THEN
919 x_contracttmpl_rec.attribute3 := l_cs_contract_templates_pk.attribute3;
920 END IF;
921 IF (x_contracttmpl_rec.attribute4 = TAPI_DEV_KIT.G_MISS_CHAR)
922 THEN
923 x_contracttmpl_rec.attribute4 := l_cs_contract_templates_pk.attribute4;
924 END IF;
925 IF (x_contracttmpl_rec.attribute5 = TAPI_DEV_KIT.G_MISS_CHAR)
926 THEN
927 x_contracttmpl_rec.attribute5 := l_cs_contract_templates_pk.attribute5;
928 END IF;
929 IF (x_contracttmpl_rec.attribute6 = TAPI_DEV_KIT.G_MISS_CHAR)
930 THEN
931 x_contracttmpl_rec.attribute6 := l_cs_contract_templates_pk.attribute6;
932 END IF;
933 IF (x_contracttmpl_rec.attribute7 = TAPI_DEV_KIT.G_MISS_CHAR)
934 THEN
938 THEN
935 x_contracttmpl_rec.attribute7 := l_cs_contract_templates_pk.attribute7;
936 END IF;
937 IF (x_contracttmpl_rec.attribute8 = TAPI_DEV_KIT.G_MISS_CHAR)
939 x_contracttmpl_rec.attribute8 := l_cs_contract_templates_pk.attribute8;
940 END IF;
941 IF (x_contracttmpl_rec.attribute9 = TAPI_DEV_KIT.G_MISS_CHAR)
942 THEN
943 x_contracttmpl_rec.attribute9 := l_cs_contract_templates_pk.attribute9;
944 END IF;
945 IF (x_contracttmpl_rec.attribute10 = TAPI_DEV_KIT.G_MISS_CHAR)
946 THEN
947 x_contracttmpl_rec.attribute10 := l_cs_contract_templates_pk.attribute10;
948 END IF;
949 IF (x_contracttmpl_rec.attribute11 = TAPI_DEV_KIT.G_MISS_CHAR)
950 THEN
951 x_contracttmpl_rec.attribute11 := l_cs_contract_templates_pk.attribute11;
952 END IF;
953 IF (x_contracttmpl_rec.attribute12 = TAPI_DEV_KIT.G_MISS_CHAR)
954 THEN
955 x_contracttmpl_rec.attribute12 := l_cs_contract_templates_pk.attribute12;
956 END IF;
957 IF (x_contracttmpl_rec.attribute13 = TAPI_DEV_KIT.G_MISS_CHAR)
958 THEN
959 x_contracttmpl_rec.attribute13 := l_cs_contract_templates_pk.attribute13;
960 END IF;
961 IF (x_contracttmpl_rec.attribute14 = TAPI_DEV_KIT.G_MISS_CHAR)
962 THEN
963 x_contracttmpl_rec.attribute14 := l_cs_contract_templates_pk.attribute14;
964 END IF;
965 IF (x_contracttmpl_rec.attribute15 = TAPI_DEV_KIT.G_MISS_CHAR)
966 THEN
967 x_contracttmpl_rec.attribute15 := l_cs_contract_templates_pk.attribute15;
968 END IF;
969 IF (x_contracttmpl_rec.context = TAPI_DEV_KIT.G_MISS_CHAR)
970 THEN
971 x_contracttmpl_rec.context := l_cs_contract_templates_pk.context;
972 END IF;
973 IF (x_contracttmpl_rec.object_version_number = TAPI_DEV_KIT.G_MISS_NUM)
974 THEN
975 x_contracttmpl_rec.object_version_number := l_cs_contract_templates_pk.object_version_number;
976 END IF;
977 RETURN(l_return_status);
978 END populate_new_record;
979 BEGIN
980 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
981 G_PKG_NAME,
982 l_api_version,
983 p_api_version,
984 p_init_msg_list,
985 '_Pvt',
986 x_return_status);
987 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
988 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
989 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
990 RAISE FND_API.G_EXC_ERROR;
991 END IF;
992 migrate(p_contracttmpl_val_rec, l_contracttmpl_rec);
993 --- Defaulting item attributes
994 l_return_status := Default_Item_Attributes
995 (
996 l_contracttmpl_rec, ---- IN
997 l_def_contracttmpl_rec
998 );
999 --- If any errors happen abort API
1000 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1001 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1002 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1003 RAISE FND_API.G_EXC_ERROR;
1004 END IF;
1005 l_return_status := populate_new_record(l_def_contracttmpl_rec, l_def_contracttmpl_rec);
1006 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1007 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1008 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1009 RAISE FND_API.G_EXC_ERROR;
1010 END IF;
1011 --- Validate all non-missing attributes (Item Level Validation)
1012 IF p_validation_level >= FND_API.G_VALID_LEVEL_FULL THEN
1013 l_return_status := Validate_Item_Attributes
1014 (
1015 l_def_contracttmpl_rec ---- IN
1016 );
1017 --- If any errors happen abort API
1018 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1019 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1020 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1021 RAISE FND_API.G_EXC_ERROR;
1022 END IF;
1023 END IF;
1024 IF (p_validation_level >= FND_API.G_VALID_LEVEL_FULL) THEN
1025 l_return_status := Validate_Item_Record(l_def_contracttmpl_rec);
1026 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1027 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1028 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1029 RAISE FND_API.G_EXC_ERROR;
1030 END IF;
1031 END IF;
1032 UPDATE CS_CONTRACT_TEMPLATES
1033 SET
1034 CONTRACT_TEMPLATE_ID = l_def_contracttmpl_rec.contract_template_id ,
1035 NAME = l_def_contracttmpl_rec.name ,
1036 CONTRACT_TYPE_ID = l_def_contracttmpl_rec.contract_type_id ,
1037 DURATION = l_def_contracttmpl_rec.duration ,
1038 PERIOD_CODE = l_def_contracttmpl_rec.period_code ,
1039 WORKFLOW = l_def_contracttmpl_rec.workflow ,
1040 PRICE_LIST_ID = l_def_contracttmpl_rec.price_list_id ,
1041 CURRENCY_CODE = l_def_contracttmpl_rec.currency_code ,
1042 CONVERSION_TYPE_CODE = l_def_contracttmpl_rec.conversion_type_code ,
1043 CONVERSION_RATE = l_def_contracttmpl_rec.conversion_rate ,
1044 CONVERSION_DATE = l_def_contracttmpl_rec.conversion_date ,
1045 INVOICING_RULE_ID = l_def_contracttmpl_rec.invoicing_rule_id ,
1046 ACCOUNTING_RULE_ID = l_def_contracttmpl_rec.accounting_rule_id ,
1047 BILLING_FREQUENCY_PERIOD = l_def_contracttmpl_rec.billing_frequency_period ,
1048 CREATE_SALES_ORDER = l_def_contracttmpl_rec.create_sales_order ,
1049 RENEWAL_RULE = l_def_contracttmpl_rec.renewal_rule ,
1050 TERMINATION_RULE = l_def_contracttmpl_rec.termination_rule ,
1051 TERMS_ID = l_def_contracttmpl_rec.terms_id ,
1052 TAX_HANDLING = l_def_contracttmpl_rec.tax_handling ,
1056 DISCOUNT_ID = l_def_contracttmpl_rec.discount_id ,
1053 TAX_EXEMPT_NUM = l_def_contracttmpl_rec.tax_exempt_num ,
1054 TAX_EXEMPT_REASON_CODE = l_def_contracttmpl_rec.tax_exempt_reason_code ,
1055 CONTRACT_AMOUNT = l_def_contracttmpl_rec.contract_amount ,
1057 LAST_UPDATE_DATE = l_def_contracttmpl_rec.last_update_date ,
1058 LAST_UPDATED_BY = l_def_contracttmpl_rec.last_updated_by ,
1059 CREATION_DATE = l_def_contracttmpl_rec.creation_date ,
1060 CREATED_BY = l_def_contracttmpl_rec.created_by ,
1061 AUTO_RENEWAL_FLAG = l_def_contracttmpl_rec.auto_renewal_flag ,
1062 LAST_UPDATE_LOGIN = l_def_contracttmpl_rec.last_update_login ,
1063 START_DATE_ACTIVE = l_def_contracttmpl_rec.start_date_active ,
1064 END_DATE_ACTIVE = l_def_contracttmpl_rec.end_date_active ,
1065 ATTRIBUTE1 = l_def_contracttmpl_rec.attribute1 ,
1066 ATTRIBUTE2 = l_def_contracttmpl_rec.attribute2 ,
1067 ATTRIBUTE3 = l_def_contracttmpl_rec.attribute3 ,
1068 ATTRIBUTE4 = l_def_contracttmpl_rec.attribute4 ,
1069 ATTRIBUTE5 = l_def_contracttmpl_rec.attribute5 ,
1070 ATTRIBUTE6 = l_def_contracttmpl_rec.attribute6 ,
1071 ATTRIBUTE7 = l_def_contracttmpl_rec.attribute7 ,
1072 ATTRIBUTE8 = l_def_contracttmpl_rec.attribute8 ,
1073 ATTRIBUTE9 = l_def_contracttmpl_rec.attribute9 ,
1074 ATTRIBUTE10 = l_def_contracttmpl_rec.attribute10 ,
1075 ATTRIBUTE11 = l_def_contracttmpl_rec.attribute11 ,
1076 ATTRIBUTE12 = l_def_contracttmpl_rec.attribute12 ,
1077 ATTRIBUTE13 = l_def_contracttmpl_rec.attribute13 ,
1078 ATTRIBUTE14 = l_def_contracttmpl_rec.attribute14 ,
1079 ATTRIBUTE15 = l_def_contracttmpl_rec.attribute15 ,
1080 CONTEXT = l_def_contracttmpl_rec.context ,
1081 OBJECT_VERSION_NUMBER = l_def_contracttmpl_rec.object_version_number
1082 WHERE
1083 CONTRACT_TEMPLATE_ID = l_def_contracttmpl_rec.contract_template_id
1084 ;
1085 x_object_version_number := l_def_contracttmpl_rec.OBJECT_VERSION_NUMBER;
1086 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
1087 EXCEPTION
1088 WHEN FND_API.G_EXC_ERROR THEN
1089 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1090 (
1091 l_api_name,
1092 G_PKG_NAME,
1093 'FND_API.G_RET_STS_ERROR',
1094 x_msg_count,
1095 x_msg_data,
1096 '_Pvt'
1097 );
1098 APP_EXCEPTION.RAISE_EXCEPTION;
1099 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1100 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1101 (
1102 l_api_name,
1103 G_PKG_NAME,
1104 'FND_API.G_RET_STS_UNEXP_ERROR',
1105 x_msg_count,
1106 x_msg_data,
1107 '_Pvt'
1108 );
1109 APP_EXCEPTION.RAISE_EXCEPTION;
1110 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
1111 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1112 (
1113 l_api_name,
1114 G_PKG_NAME,
1115 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
1116 x_msg_count,
1117 x_msg_data,
1118 '_Pvt'
1119 );
1120 APP_EXCEPTION.RAISE_EXCEPTION;
1121 END update_row;
1122 Procedure update_row
1123 (
1124 p_api_version IN NUMBER,
1125 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1126 p_validation_level IN NUMBER,
1127 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1128 x_return_status OUT VARCHAR2,
1129 x_msg_count OUT NUMBER,
1130 x_msg_data OUT VARCHAR2,
1131 p_contract_template_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1132 p_name IN CS_CONTRACT_TEMPLATES.NAME%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1133 p_contract_type_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1134 p_duration IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1135 p_period_code IN CS_CONTRACT_TEMPLATES.PERIOD_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1136 p_workflow IN CS_CONTRACT_TEMPLATES.WORKFLOW%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1137 p_price_list_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1138 p_currency_code IN CS_CONTRACT_TEMPLATES.CURRENCY_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1139 p_conversion_type_code IN CS_CONTRACT_TEMPLATES.CONVERSION_TYPE_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1140 p_conversion_rate IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1141 p_conversion_date IN CS_CONTRACT_TEMPLATES.CONVERSION_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1142 p_invoicing_rule_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1143 p_accounting_rule_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1144 p_billing_frequency_period IN CS_CONTRACT_TEMPLATES.BILLING_FREQUENCY_PERIOD%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1145 p_create_sales_order IN CS_CONTRACT_TEMPLATES.CREATE_SALES_ORDER%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1146 p_renewal_rule IN CS_CONTRACT_TEMPLATES.RENEWAL_RULE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1147 p_termination_rule IN CS_CONTRACT_TEMPLATES.TERMINATION_RULE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1148 p_terms_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1149 p_tax_handling IN CS_CONTRACT_TEMPLATES.TAX_HANDLING%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1150 p_tax_exempt_num IN CS_CONTRACT_TEMPLATES.TAX_EXEMPT_NUM%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1151 p_tax_exempt_reason_code IN CS_CONTRACT_TEMPLATES.TAX_EXEMPT_REASON_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1152 p_contract_amount IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1153 p_discount_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1154 p_last_update_date IN CS_CONTRACT_TEMPLATES.LAST_UPDATE_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1155 p_last_updated_by IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1159 p_last_update_login IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1156 p_creation_date IN CS_CONTRACT_TEMPLATES.CREATION_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1157 p_created_by IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1158 p_auto_renewal_flag IN CS_CONTRACT_TEMPLATES.AUTO_RENEWAL_FLAG%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1160 p_start_date_active IN CS_CONTRACT_TEMPLATES.START_DATE_ACTIVE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1161 p_end_date_active IN CS_CONTRACT_TEMPLATES.END_DATE_ACTIVE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1162 p_attribute1 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE1%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1163 p_attribute2 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE2%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1164 p_attribute3 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE3%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1165 p_attribute4 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE4%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1166 p_attribute5 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE5%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1167 p_attribute6 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE6%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1168 p_attribute7 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE7%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1169 p_attribute8 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE8%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1170 p_attribute9 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE9%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1171 p_attribute10 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE10%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1172 p_attribute11 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE11%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1173 p_attribute12 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE12%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1174 p_attribute13 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE13%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1175 p_attribute14 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE14%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1176 p_attribute15 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE15%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1177 p_context IN CS_CONTRACT_TEMPLATES.CONTEXT%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1178 p_object_version_number IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1179 x_object_version_number OUT NUMBER) IS
1180 l_api_name CONSTANT VARCHAR2(30) := 'update_row';
1181 l_api_version CONSTANT NUMBER := 1;
1182 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1183 l_contracttmpl_rec ContractTmpl_Val_Rec_Type;
1184 BEGIN
1185 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
1186 G_PKG_NAME,
1187 l_api_version,
1188 p_api_version,
1189 p_init_msg_list,
1190 '_Pvt',
1191 x_return_status);
1192 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1193 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1194 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1195 RAISE FND_API.G_EXC_ERROR;
1196 END IF;
1197 l_contracttmpl_rec.CONTRACT_TEMPLATE_ID := p_contract_template_id;
1198 l_contracttmpl_rec.NAME := p_name;
1199 l_contracttmpl_rec.CONTRACT_TYPE_ID := p_contract_type_id;
1200 l_contracttmpl_rec.DURATION := p_duration;
1201 l_contracttmpl_rec.PERIOD_CODE := p_period_code;
1202 l_contracttmpl_rec.WORKFLOW := p_workflow;
1203 l_contracttmpl_rec.PRICE_LIST_ID := p_price_list_id;
1204 l_contracttmpl_rec.CURRENCY_CODE := p_currency_code;
1205 l_contracttmpl_rec.CONVERSION_TYPE_CODE := p_conversion_type_code;
1206 l_contracttmpl_rec.CONVERSION_RATE := p_conversion_rate;
1207 l_contracttmpl_rec.CONVERSION_DATE := p_conversion_date;
1208 l_contracttmpl_rec.INVOICING_RULE_ID := p_invoicing_rule_id;
1209 l_contracttmpl_rec.ACCOUNTING_RULE_ID := p_accounting_rule_id;
1210 l_contracttmpl_rec.BILLING_FREQUENCY_PERIOD := p_billing_frequency_period;
1211 l_contracttmpl_rec.CREATE_SALES_ORDER := p_create_sales_order;
1212 l_contracttmpl_rec.RENEWAL_RULE := p_renewal_rule;
1213 l_contracttmpl_rec.TERMINATION_RULE := p_termination_rule;
1214 l_contracttmpl_rec.TERMS_ID := p_terms_id;
1215 l_contracttmpl_rec.TAX_HANDLING := p_tax_handling;
1216 l_contracttmpl_rec.TAX_EXEMPT_NUM := p_tax_exempt_num;
1217 l_contracttmpl_rec.TAX_EXEMPT_REASON_CODE := p_tax_exempt_reason_code;
1218 l_contracttmpl_rec.CONTRACT_AMOUNT := p_contract_amount;
1219 l_contracttmpl_rec.DISCOUNT_ID := p_discount_id;
1220 l_contracttmpl_rec.LAST_UPDATE_DATE := p_last_update_date;
1221 l_contracttmpl_rec.LAST_UPDATED_BY := p_last_updated_by;
1222 l_contracttmpl_rec.CREATION_DATE := p_creation_date;
1223 l_contracttmpl_rec.CREATED_BY := p_created_by;
1224 l_contracttmpl_rec.AUTO_RENEWAL_FLAG := p_auto_renewal_flag;
1225 l_contracttmpl_rec.LAST_UPDATE_LOGIN := p_last_update_login;
1226 l_contracttmpl_rec.START_DATE_ACTIVE := p_start_date_active;
1227 l_contracttmpl_rec.END_DATE_ACTIVE := p_end_date_active;
1228 l_contracttmpl_rec.ATTRIBUTE1 := p_attribute1;
1229 l_contracttmpl_rec.ATTRIBUTE2 := p_attribute2;
1230 l_contracttmpl_rec.ATTRIBUTE3 := p_attribute3;
1231 l_contracttmpl_rec.ATTRIBUTE4 := p_attribute4;
1232 l_contracttmpl_rec.ATTRIBUTE5 := p_attribute5;
1233 l_contracttmpl_rec.ATTRIBUTE6 := p_attribute6;
1234 l_contracttmpl_rec.ATTRIBUTE7 := p_attribute7;
1235 l_contracttmpl_rec.ATTRIBUTE8 := p_attribute8;
1236 l_contracttmpl_rec.ATTRIBUTE9 := p_attribute9;
1237 l_contracttmpl_rec.ATTRIBUTE10 := p_attribute10;
1238 l_contracttmpl_rec.ATTRIBUTE11 := p_attribute11;
1239 l_contracttmpl_rec.ATTRIBUTE12 := p_attribute12;
1240 l_contracttmpl_rec.ATTRIBUTE13 := p_attribute13;
1241 l_contracttmpl_rec.ATTRIBUTE14 := p_attribute14;
1242 l_contracttmpl_rec.ATTRIBUTE15 := p_attribute15;
1246 p_api_version,
1243 l_contracttmpl_rec.CONTEXT := p_context;
1244 l_contracttmpl_rec.OBJECT_VERSION_NUMBER := p_object_version_number;
1245 update_row(
1247 p_init_msg_list,
1248 p_validation_level,
1249 p_commit,
1250 x_return_status,
1251 x_msg_count,
1252 x_msg_data,
1253 l_contracttmpl_rec,
1254 x_object_version_number
1255 );
1256 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
1257 EXCEPTION
1258 WHEN FND_API.G_EXC_ERROR THEN
1259 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1260 (
1261 l_api_name,
1262 G_PKG_NAME,
1263 'FND_API.G_RET_STS_ERROR',
1264 x_msg_count,
1265 x_msg_data,
1266 '_Pvt'
1267 );
1268 APP_EXCEPTION.RAISE_EXCEPTION;
1269 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1270 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1271 (
1272 l_api_name,
1273 G_PKG_NAME,
1274 'FND_API.G_RET_STS_UNEXP_ERROR',
1275 x_msg_count,
1276 x_msg_data,
1277 '_Pvt'
1278 );
1279 APP_EXCEPTION.RAISE_EXCEPTION;
1280 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
1281 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1282 (
1283 l_api_name,
1284 G_PKG_NAME,
1285 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
1286 x_msg_count,
1287 x_msg_data,
1288 '_Pvt'
1289 );
1290 APP_EXCEPTION.RAISE_EXCEPTION;
1291 END update_row;
1292 Procedure delete_row
1293 (
1294 p_api_version IN NUMBER,
1295 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1296 p_validation_level IN NUMBER,
1297 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1298 x_return_status OUT VARCHAR2,
1299 x_msg_count OUT NUMBER,
1300 x_msg_data OUT VARCHAR2,
1301 p_contract_template_id IN NUMBER) IS
1302 l_api_name CONSTANT VARCHAR2(30) := 'delete_row';
1303 l_api_version CONSTANT NUMBER := 1;
1304 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1305 BEGIN
1306 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
1307 G_PKG_NAME,
1308 l_api_version,
1309 p_api_version,
1310 p_init_msg_list,
1311 '_Pvt',
1312 x_return_status);
1313 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1314 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1315 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1316 RAISE FND_API.G_EXC_ERROR;
1317 END IF;
1318 DELETE FROM CS_CONTRACT_TEMPLATES
1319 WHERE
1320 CONTRACT_TEMPLATE_ID = p_contract_template_id
1321 ;
1322 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
1323 EXCEPTION
1324 WHEN FND_API.G_EXC_ERROR THEN
1325 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1326 (
1327 l_api_name,
1328 G_PKG_NAME,
1329 'FND_API.G_RET_STS_ERROR',
1330 x_msg_count,
1331 x_msg_data,
1332 '_Pvt'
1333 );
1334 APP_EXCEPTION.RAISE_EXCEPTION;
1335 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1336 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1337 (
1338 l_api_name,
1339 G_PKG_NAME,
1340 'FND_API.G_RET_STS_UNEXP_ERROR',
1341 x_msg_count,
1342 x_msg_data,
1343 '_Pvt'
1344 );
1345 APP_EXCEPTION.RAISE_EXCEPTION;
1346 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
1347 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1348 (
1349 l_api_name,
1350 G_PKG_NAME,
1351 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
1352 x_msg_count,
1353 x_msg_data,
1354 '_Pvt'
1355 );
1356 APP_EXCEPTION.RAISE_EXCEPTION;
1357 END delete_row;
1358 PROCEDURE validate_row
1359 (
1360 p_api_version IN NUMBER,
1361 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1362 p_validation_level IN NUMBER,
1363 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1364 x_return_status OUT VARCHAR2,
1365 x_msg_count OUT NUMBER,
1366 x_msg_data OUT VARCHAR2,
1367 p_contracttmpl_val_rec IN ContractTmpl_Val_Rec_Type := G_MISS_CONTRACTTMPL_VAL_REC) IS
1368 l_api_name CONSTANT VARCHAR2(30) := 'validate_row';
1369 l_api_version CONSTANT NUMBER := 1;
1370 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1371 l_contracttmpl_rec ContractTmpl_Rec_Type;
1372 l_def_contracttmpl_rec ContractTmpl_Rec_Type;
1373 BEGIN
1374 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
1375 G_PKG_NAME,
1376 l_api_version,
1377 p_api_version,
1378 p_init_msg_list,
1379 '_Pvt',
1380 x_return_status);
1381 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1382 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1383 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1384 RAISE FND_API.G_EXC_ERROR;
1388 IF p_validation_level >= FND_API.G_VALID_LEVEL_FULL THEN
1385 END IF;
1386 migrate(p_contracttmpl_val_rec, l_contracttmpl_rec);
1387 --- Validate all non-missing attributes (Item Level Validation)
1389 l_return_status := Validate_Item_Attributes
1390 (
1391 l_contracttmpl_rec ---- IN
1392 );
1393 --- If any errors happen abort API
1394 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1395 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1396 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1397 RAISE FND_API.G_EXC_ERROR;
1398 END IF;
1399 END IF;
1400 IF (p_validation_level >= FND_API.G_VALID_LEVEL_FULL) THEN
1401 l_return_status := Validate_Item_Record(l_def_contracttmpl_rec);
1402 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1403 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1404 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1405 RAISE FND_API.G_EXC_ERROR;
1406 END IF;
1407 END IF;
1408 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
1409 EXCEPTION
1410 WHEN FND_API.G_EXC_ERROR THEN
1411 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1412 (
1413 l_api_name,
1414 G_PKG_NAME,
1415 'FND_API.G_RET_STS_ERROR',
1416 x_msg_count,
1417 x_msg_data,
1418 '_Pvt'
1419 );
1420 APP_EXCEPTION.RAISE_EXCEPTION;
1421 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1422 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1423 (
1424 l_api_name,
1425 G_PKG_NAME,
1426 'FND_API.G_RET_STS_UNEXP_ERROR',
1427 x_msg_count,
1428 x_msg_data,
1429 '_Pvt'
1430 );
1431 APP_EXCEPTION.RAISE_EXCEPTION;
1432 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
1433 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1434 (
1435 l_api_name,
1436 G_PKG_NAME,
1437 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
1438 x_msg_count,
1439 x_msg_data,
1440 '_Pvt'
1441 );
1442 APP_EXCEPTION.RAISE_EXCEPTION;
1443 END validate_row;
1444 PROCEDURE validate_row
1445 (
1446 p_api_version IN NUMBER,
1447 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1448 p_validation_level IN NUMBER,
1449 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1450 x_return_status OUT VARCHAR2,
1451 x_msg_count OUT NUMBER,
1452 x_msg_data OUT VARCHAR2,
1453 p_contract_template_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1454 p_name IN CS_CONTRACT_TEMPLATES.NAME%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1455 p_contract_type_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1456 p_duration IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1457 p_period_code IN CS_CONTRACT_TEMPLATES.PERIOD_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1458 p_workflow IN CS_CONTRACT_TEMPLATES.WORKFLOW%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1459 p_price_list_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1460 p_currency_code IN CS_CONTRACT_TEMPLATES.CURRENCY_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1461 p_conversion_type_code IN CS_CONTRACT_TEMPLATES.CONVERSION_TYPE_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1462 p_conversion_rate IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1463 p_conversion_date IN CS_CONTRACT_TEMPLATES.CONVERSION_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1464 p_invoicing_rule_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1465 p_accounting_rule_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1466 p_billing_frequency_period IN CS_CONTRACT_TEMPLATES.BILLING_FREQUENCY_PERIOD%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1467 p_create_sales_order IN CS_CONTRACT_TEMPLATES.CREATE_SALES_ORDER%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1468 p_renewal_rule IN CS_CONTRACT_TEMPLATES.RENEWAL_RULE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1469 p_termination_rule IN CS_CONTRACT_TEMPLATES.TERMINATION_RULE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1470 p_terms_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1471 p_tax_handling IN CS_CONTRACT_TEMPLATES.TAX_HANDLING%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1472 p_tax_exempt_num IN CS_CONTRACT_TEMPLATES.TAX_EXEMPT_NUM%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1473 p_tax_exempt_reason_code IN CS_CONTRACT_TEMPLATES.TAX_EXEMPT_REASON_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1474 p_contract_amount IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1475 p_discount_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1476 p_last_update_date IN CS_CONTRACT_TEMPLATES.LAST_UPDATE_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1477 p_last_updated_by IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1478 p_creation_date IN CS_CONTRACT_TEMPLATES.CREATION_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1479 p_created_by IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1480 p_auto_renewal_flag IN CS_CONTRACT_TEMPLATES.AUTO_RENEWAL_FLAG%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1481 p_last_update_login IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1482 p_start_date_active IN CS_CONTRACT_TEMPLATES.START_DATE_ACTIVE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1483 p_end_date_active IN CS_CONTRACT_TEMPLATES.END_DATE_ACTIVE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1484 p_attribute1 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE1%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1485 p_attribute2 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE2%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1486 p_attribute3 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE3%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1487 p_attribute4 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE4%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1491 p_attribute8 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE8%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1488 p_attribute5 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE5%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1489 p_attribute6 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE6%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1490 p_attribute7 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE7%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1492 p_attribute9 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE9%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1493 p_attribute10 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE10%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1494 p_attribute11 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE11%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1495 p_attribute12 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE12%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1496 p_attribute13 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE13%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1497 p_attribute14 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE14%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1498 p_attribute15 IN CS_CONTRACT_TEMPLATES.ATTRIBUTE15%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1499 p_context IN CS_CONTRACT_TEMPLATES.CONTEXT%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1500 p_object_version_number IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM) IS
1501 l_api_name CONSTANT VARCHAR2(30) := 'validate_row';
1502 l_api_version CONSTANT NUMBER := 1;
1503 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1504 l_contracttmpl_rec ContractTmpl_Val_Rec_Type;
1505 BEGIN
1506 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
1507 G_PKG_NAME,
1508 l_api_version,
1509 p_api_version,
1510 p_init_msg_list,
1511 '_Pvt',
1512 x_return_status);
1513 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1514 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1515 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1516 RAISE FND_API.G_EXC_ERROR;
1517 END IF;
1518 l_contracttmpl_rec.CONTRACT_TEMPLATE_ID := p_contract_template_id;
1519 l_contracttmpl_rec.NAME := p_name;
1520 l_contracttmpl_rec.CONTRACT_TYPE_ID := p_contract_type_id;
1521 l_contracttmpl_rec.DURATION := p_duration;
1522 l_contracttmpl_rec.PERIOD_CODE := p_period_code;
1523 l_contracttmpl_rec.WORKFLOW := p_workflow;
1524 l_contracttmpl_rec.PRICE_LIST_ID := p_price_list_id;
1525 l_contracttmpl_rec.CURRENCY_CODE := p_currency_code;
1526 l_contracttmpl_rec.CONVERSION_TYPE_CODE := p_conversion_type_code;
1527 l_contracttmpl_rec.CONVERSION_RATE := p_conversion_rate;
1528 l_contracttmpl_rec.CONVERSION_DATE := p_conversion_date;
1529 l_contracttmpl_rec.INVOICING_RULE_ID := p_invoicing_rule_id;
1530 l_contracttmpl_rec.ACCOUNTING_RULE_ID := p_accounting_rule_id;
1531 l_contracttmpl_rec.BILLING_FREQUENCY_PERIOD := p_billing_frequency_period;
1532 l_contracttmpl_rec.CREATE_SALES_ORDER := p_create_sales_order;
1533 l_contracttmpl_rec.RENEWAL_RULE := p_renewal_rule;
1534 l_contracttmpl_rec.TERMINATION_RULE := p_termination_rule;
1535 l_contracttmpl_rec.TERMS_ID := p_terms_id;
1536 l_contracttmpl_rec.TAX_HANDLING := p_tax_handling;
1537 l_contracttmpl_rec.TAX_EXEMPT_NUM := p_tax_exempt_num;
1538 l_contracttmpl_rec.TAX_EXEMPT_REASON_CODE := p_tax_exempt_reason_code;
1539 l_contracttmpl_rec.CONTRACT_AMOUNT := p_contract_amount;
1540 l_contracttmpl_rec.DISCOUNT_ID := p_discount_id;
1541 l_contracttmpl_rec.LAST_UPDATE_DATE := p_last_update_date;
1542 l_contracttmpl_rec.LAST_UPDATED_BY := p_last_updated_by;
1543 l_contracttmpl_rec.CREATION_DATE := p_creation_date;
1544 l_contracttmpl_rec.CREATED_BY := p_created_by;
1545 l_contracttmpl_rec.AUTO_RENEWAL_FLAG := p_auto_renewal_flag;
1546 l_contracttmpl_rec.LAST_UPDATE_LOGIN := p_last_update_login;
1547 l_contracttmpl_rec.START_DATE_ACTIVE := p_start_date_active;
1548 l_contracttmpl_rec.END_DATE_ACTIVE := p_end_date_active;
1549 l_contracttmpl_rec.ATTRIBUTE1 := p_attribute1;
1550 l_contracttmpl_rec.ATTRIBUTE2 := p_attribute2;
1551 l_contracttmpl_rec.ATTRIBUTE3 := p_attribute3;
1552 l_contracttmpl_rec.ATTRIBUTE4 := p_attribute4;
1553 l_contracttmpl_rec.ATTRIBUTE5 := p_attribute5;
1554 l_contracttmpl_rec.ATTRIBUTE6 := p_attribute6;
1555 l_contracttmpl_rec.ATTRIBUTE7 := p_attribute7;
1556 l_contracttmpl_rec.ATTRIBUTE8 := p_attribute8;
1557 l_contracttmpl_rec.ATTRIBUTE9 := p_attribute9;
1558 l_contracttmpl_rec.ATTRIBUTE10 := p_attribute10;
1559 l_contracttmpl_rec.ATTRIBUTE11 := p_attribute11;
1560 l_contracttmpl_rec.ATTRIBUTE12 := p_attribute12;
1561 l_contracttmpl_rec.ATTRIBUTE13 := p_attribute13;
1562 l_contracttmpl_rec.ATTRIBUTE14 := p_attribute14;
1563 l_contracttmpl_rec.ATTRIBUTE15 := p_attribute15;
1564 l_contracttmpl_rec.CONTEXT := p_context;
1565 l_contracttmpl_rec.OBJECT_VERSION_NUMBER := p_object_version_number;
1566 validate_row(
1567 p_api_version,
1568 p_init_msg_list,
1569 p_validation_level,
1570 p_commit,
1571 x_return_status,
1572 x_msg_count,
1573 x_msg_data,
1574 l_contracttmpl_rec
1575 );
1576 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
1577 EXCEPTION
1578 WHEN FND_API.G_EXC_ERROR THEN
1579 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1580 (
1581 l_api_name,
1582 G_PKG_NAME,
1583 'FND_API.G_RET_STS_ERROR',
1584 x_msg_count,
1585 x_msg_data,
1586 '_Pvt'
1587 );
1588 APP_EXCEPTION.RAISE_EXCEPTION;
1589 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1590 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1591 (
1592 l_api_name,
1596 x_msg_data,
1593 G_PKG_NAME,
1594 'FND_API.G_RET_STS_UNEXP_ERROR',
1595 x_msg_count,
1597 '_Pvt'
1598 );
1599 APP_EXCEPTION.RAISE_EXCEPTION;
1600 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
1601 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1602 (
1603 l_api_name,
1604 G_PKG_NAME,
1605 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
1606 x_msg_count,
1607 x_msg_data,
1608 '_Pvt'
1609 );
1610 APP_EXCEPTION.RAISE_EXCEPTION;
1611 END validate_row;
1612 END CS_CONTRACTTMPL_PVT;