[Home] [Help]
PACKAGE BODY: APPS.CS_SERVICE_PVT
Source
1 PACKAGE BODY CS_SERVICE_PVT AS
2 /* $Header: csctserb.pls 115.2 99/07/16 08:54:18 porting ship $ */
3 FUNCTION get_seq_id RETURN NUMBER IS
4 CURSOR get_seq_id_csr IS
5 SELECT CS_CP_SERVICES_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_service_rec IN Service_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_service_rec.contract_line_status_id = TAPI_DEV_KIT.G_MISS_NUM OR
25 p_service_rec.contract_line_status_id IS NULL
26 THEN
27 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'contract_line_status_id');
28 l_return_status := FND_API.G_RET_STS_ERROR;
29 ELSIF p_service_rec.service_inventory_item_id = TAPI_DEV_KIT.G_MISS_NUM OR
30 p_service_rec.service_inventory_item_id IS NULL
31 THEN
32 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'service_inventory_item_id');
33 l_return_status := FND_API.G_RET_STS_ERROR;
34 ELSIF p_service_rec.service_manufacturing_org_id = TAPI_DEV_KIT.G_MISS_NUM OR
35 p_service_rec.service_manufacturing_org_id IS NULL
36 THEN
37 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'service_manufacturing_org_id');
38 l_return_status := FND_API.G_RET_STS_ERROR;
39 ELSIF p_service_rec.creation_date = TAPI_DEV_KIT.G_MISS_DATE OR
40 p_service_rec.creation_date IS NULL
41 THEN
42 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'creation_date');
43 l_return_status := FND_API.G_RET_STS_ERROR;
44 ELSIF p_service_rec.created_by = TAPI_DEV_KIT.G_MISS_NUM OR
45 p_service_rec.created_by IS NULL
46 THEN
47 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'created_by');
48 l_return_status := FND_API.G_RET_STS_ERROR;
49 ELSIF p_service_rec.last_update_date = TAPI_DEV_KIT.G_MISS_DATE OR
50 p_service_rec.last_update_date IS NULL
51 THEN
52 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'last_update_date');
53 l_return_status := FND_API.G_RET_STS_ERROR;
54 ELSIF p_service_rec.last_updated_by = TAPI_DEV_KIT.G_MISS_NUM OR
55 p_service_rec.last_updated_by IS NULL
56 THEN
57 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'last_updated_by');
58 l_return_status := FND_API.G_RET_STS_ERROR;
59 END IF;
60 RETURN(l_return_status);
61 END Validate_Item_Attributes;
62
63
64 ----- Default
65 FUNCTION Default_Item_Attributes
66 (
67 p_service_rec IN Service_Rec_Type,
68 l_def_service_rec OUT Service_Rec_Type
69 )
70 RETURN VARCHAR2
71 IS
72 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
73 BEGIN
74 l_def_service_rec := p_service_rec;
75 RETURN(l_return_status);
76 End Default_Item_attributes;
77
78
79 FUNCTION Validate_Item_Record (
80 p_service_rec IN Service_Rec_Type
81 )
82 RETURN VARCHAR2 IS
83 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
84 FUNCTION validate_foreign_keys (
85 p_service_rec IN Service_Rec_Type
86 )
87 RETURN VARCHAR2 IS
88 item_not_found_error EXCEPTION;
89 CURSOR cs_contracts_statuses_pk_csr (p_contract_status_id IN NUMBER) IS
90 SELECT *
91 FROM Cs_Contract_Statuses
92 WHERE cs_contract_statuses.contract_status_id = p_contract_status_id;
93 l_cs_contracts_statuses_pk cs_contracts_statuses_pk_csr%ROWTYPE;
94 CURSOR cs_contract_line_tem1_csr (p_contract_line_template_id IN NUMBER) IS
95 SELECT *
96 FROM Cs_Contract_Line_Tplts
97 WHERE cs_contract_line_tplts.contract_line_template_id = p_contract_line_template_id;
98 l_cs_contract_line_tem1 cs_contract_line_tem1_csr%ROWTYPE;
99 CURSOR ccpall_pk_csr (p_customer_product_id IN NUMBER) IS
100 SELECT *
101 FROM Cs_Customer_Products
102 WHERE cs_customer_products.customer_product_id = p_customer_product_id;
103 l_ccpall_pk ccpall_pk_csr%ROWTYPE;
104 CURSOR cs_contracts_all_pk_csr (p_contract_id IN NUMBER) IS
105 SELECT *
106 FROM Cs_Contracts_All
107 WHERE cs_contracts_all.contract_id = p_contract_id;
108 l_cs_contracts_all_pk cs_contracts_all_pk_csr%ROWTYPE;
109 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
110 l_row_notfound BOOLEAN := TRUE;
111 BEGIN
112 IF (p_service_rec.CONTRACT_LINE_STATUS_ID IS NOT NULL)
113 THEN
114 OPEN cs_contracts_statuses_pk_csr(p_service_rec.CONTRACT_LINE_STATUS_ID);
115 FETCH cs_contracts_statuses_pk_csr INTO l_cs_contracts_statuses_pk;
116 l_row_notfound := cs_contracts_statuses_pk_csr%NOTFOUND;
117 CLOSE cs_contracts_statuses_pk_csr;
118 IF (l_row_notfound) THEN
119 TAPI_DEV_KIT.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'CONTRACT_LINE_STATUS_ID');
120 RAISE item_not_found_error;
121 END IF;
122 END IF;
123 IF (p_service_rec.CONTRACT_LINE_TEMPLATE_ID IS NOT NULL)
124 THEN
125 OPEN cs_contract_line_tem1_csr(p_service_rec.CONTRACT_LINE_TEMPLATE_ID);
126 FETCH cs_contract_line_tem1_csr INTO l_cs_contract_line_tem1;
127 l_row_notfound := cs_contract_line_tem1_csr%NOTFOUND;
128 CLOSE cs_contract_line_tem1_csr;
129 IF (l_row_notfound) THEN
130 TAPI_DEV_KIT.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'CONTRACT_LINE_TEMPLATE_ID');
131 RAISE item_not_found_error;
132 END IF;
133 END IF;
134 IF (p_service_rec.CUSTOMER_PRODUCT_ID IS NOT NULL)
135 THEN
136 OPEN ccpall_pk_csr(p_service_rec.CUSTOMER_PRODUCT_ID);
137 FETCH ccpall_pk_csr INTO l_ccpall_pk;
138 l_row_notfound := ccpall_pk_csr%NOTFOUND;
139 CLOSE ccpall_pk_csr;
140 IF (l_row_notfound) THEN
141 TAPI_DEV_KIT.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'CUSTOMER_PRODUCT_ID');
142 RAISE item_not_found_error;
143 END IF;
144 END IF;
145 IF (p_service_rec.CONTRACT_ID IS NOT NULL)
146 THEN
147 OPEN cs_contracts_all_pk_csr(p_service_rec.CONTRACT_ID);
148 FETCH cs_contracts_all_pk_csr INTO l_cs_contracts_all_pk;
149 l_row_notfound := cs_contracts_all_pk_csr%NOTFOUND;
150 CLOSE cs_contracts_all_pk_csr;
151 IF (l_row_notfound) THEN
152 TAPI_DEV_KIT.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'CONTRACT_ID');
153 RAISE item_not_found_error;
154 END IF;
155 END IF;
156 RETURN (l_return_status);
157 EXCEPTION
158 WHEN item_not_found_error THEN
159 l_return_status := FND_API.G_RET_STS_ERROR;
160 RETURN (l_return_status);
161 END validate_foreign_keys;
162 BEGIN
163 l_return_status := validate_foreign_keys (p_service_rec);
164 RETURN (l_return_status);
165 END Validate_Item_Record;
166
167
168 PROCEDURE migrate (
169 p_from IN Service_Val_Rec_Type,
170 p_to OUT Service_Rec_Type
171 ) IS
172 BEGIN
173 p_to.cp_service_id := p_from.cp_service_id;
174 p_to.customer_product_id := p_from.customer_product_id;
175 p_to.contract_line_status_id := p_from.contract_line_status_id;
176 p_to.contract_line_template_id := p_from.contract_line_template_id;
177 p_to.contract_id := p_from.contract_id;
178 p_to.service_inventory_item_id := p_from.service_inventory_item_id;
179 p_to.service_manufacturing_org_id := p_from.service_manufacturing_org_id;
180 p_to.status_code := p_from.status_code;
181 p_to.last_cp_service_transaction_id := p_from.last_cp_service_transaction_id;
182 p_to.invoice_flag := p_from.invoice_flag;
183 p_to.coverage_schedule_id := p_from.coverage_schedule_id;
184 p_to.prorate_flag := p_from.prorate_flag;
185 p_to.duration_quantity := p_from.duration_quantity;
186 p_to.unit_of_measure_code := p_from.unit_of_measure_code;
187 p_to.starting_delay := p_from.starting_delay;
188 p_to.bill_to_site_use_id := p_from.bill_to_site_use_id;
189 p_to.bill_to_contact_id := p_from.bill_to_contact_id;
190 p_to.service_txn_availability_code := p_from.service_txn_availability_code;
191 p_to.next_pm_visit_date := p_from.next_pm_visit_date;
192 p_to.pm_visits_completed := p_from.pm_visits_completed;
193 p_to.last_pm_visit_date := p_from.last_pm_visit_date;
194 p_to.pm_schedule_id := p_from.pm_schedule_id;
195 p_to.pm_schedule_flag := p_from.pm_schedule_flag;
196 p_to.current_max_schedule_date := p_from.current_max_schedule_date;
197 p_to.price_list_id := p_from.price_list_id;
198 p_to.service_order_type := p_from.service_order_type;
199 p_to.invoice_count := p_from.invoice_count;
200 p_to.currency_code := p_from.currency_code;
201 p_to.conversion_type := p_from.conversion_type;
202 p_to.conversion_rate := p_from.conversion_rate;
203 p_to.conversion_date := p_from.conversion_date;
204 p_to.original_service_line_id := p_from.original_service_line_id;
205 p_to.warranty_flag := p_from.warranty_flag;
206 p_to.original_start_date := p_from.original_start_date;
207 p_to.original_end_date := p_from.original_end_date;
208 p_to.service_date_change := p_from.service_date_change;
209 p_to.workflow := p_from.workflow;
210 p_to.ship_to_site_use_id := p_from.ship_to_site_use_id;
211 p_to.original_system_line_reference := p_from.original_system_line_reference;
212 p_to.extended_price := p_from.extended_price;
213 p_to.discount_id := p_from.discount_id;
214 p_to.tax_code := p_from.tax_code;
215 p_to.billing_frequency_period := p_from.billing_frequency_period;
216 p_to.first_bill_date := p_from.first_bill_date;
217 p_to.next_bill_date := p_from.next_bill_date;
218 p_to.creation_date := p_from.creation_date;
219 p_to.bill_on := p_from.bill_on;
220 p_to.created_by := p_from.created_by;
221 p_to.last_update_date := p_from.last_update_date;
222 p_to.last_updated_by := p_from.last_updated_by;
223 p_to.last_update_login := p_from.last_update_login;
224 p_to.start_date_active := p_from.start_date_active;
225 p_to.end_date_active := p_from.end_date_active;
226 p_to.pricing_attribute1 := p_from.pricing_attribute1;
227 p_to.pricing_attribute2 := p_from.pricing_attribute2;
228 p_to.pricing_attribute3 := p_from.pricing_attribute3;
229 p_to.pricing_attribute4 := p_from.pricing_attribute4;
230 p_to.pricing_attribute5 := p_from.pricing_attribute5;
231 p_to.pricing_attribute6 := p_from.pricing_attribute6;
232 p_to.pricing_attribute7 := p_from.pricing_attribute7;
233 p_to.pricing_attribute8 := p_from.pricing_attribute8;
234 p_to.pricing_attribute9 := p_from.pricing_attribute9;
235 p_to.pricing_attribute10 := p_from.pricing_attribute10;
236 p_to.pricing_attribute11 := p_from.pricing_attribute11;
237 p_to.pricing_attribute12 := p_from.pricing_attribute12;
238 p_to.pricing_attribute13 := p_from.pricing_attribute13;
239 p_to.pricing_attribute14 := p_from.pricing_attribute14;
240 p_to.pricing_attribute15 := p_from.pricing_attribute15;
241 p_to.pricing_context := p_from.pricing_context;
242 p_to.attribute1 := p_from.attribute1;
243 p_to.attribute2 := p_from.attribute2;
244 p_to.attribute3 := p_from.attribute3;
245 p_to.attribute4 := p_from.attribute4;
246 p_to.attribute5 := p_from.attribute5;
247 p_to.attribute6 := p_from.attribute6;
248 p_to.attribute7 := p_from.attribute7;
249 p_to.attribute8 := p_from.attribute8;
250 p_to.attribute9 := p_from.attribute9;
251 p_to.attribute10 := p_from.attribute10;
252 p_to.attribute11 := p_from.attribute11;
253 p_to.attribute12 := p_from.attribute12;
254 p_to.attribute13 := p_from.attribute13;
255 p_to.attribute14 := p_from.attribute14;
256 p_to.attribute15 := p_from.attribute15;
257 p_to.context := p_from.context;
258 p_to.list_price := p_from.list_price;
259 p_to.org_id := p_from.org_id;
260 p_to.price_percent := p_from.price_percent;
261 END migrate;
262 PROCEDURE migrate (
263 p_from IN Service_Rec_Type,
264 p_to OUT Service_Val_Rec_Type
265 ) IS
266 BEGIN
267 p_to.cp_service_id := p_from.cp_service_id;
268 p_to.customer_product_id := p_from.customer_product_id;
269 p_to.contract_line_status_id := p_from.contract_line_status_id;
270 p_to.contract_line_template_id := p_from.contract_line_template_id;
271 p_to.contract_id := p_from.contract_id;
272 p_to.service_inventory_item_id := p_from.service_inventory_item_id;
273 p_to.service_manufacturing_org_id := p_from.service_manufacturing_org_id;
274 p_to.status_code := p_from.status_code;
275 p_to.last_cp_service_transaction_id := p_from.last_cp_service_transaction_id;
276 p_to.invoice_flag := p_from.invoice_flag;
277 p_to.coverage_schedule_id := p_from.coverage_schedule_id;
278 p_to.prorate_flag := p_from.prorate_flag;
279 p_to.duration_quantity := p_from.duration_quantity;
280 p_to.unit_of_measure_code := p_from.unit_of_measure_code;
281 p_to.starting_delay := p_from.starting_delay;
282 p_to.bill_to_site_use_id := p_from.bill_to_site_use_id;
283 p_to.bill_to_contact_id := p_from.bill_to_contact_id;
284 p_to.service_txn_availability_code := p_from.service_txn_availability_code;
285 p_to.next_pm_visit_date := p_from.next_pm_visit_date;
286 p_to.pm_visits_completed := p_from.pm_visits_completed;
287 p_to.last_pm_visit_date := p_from.last_pm_visit_date;
288 p_to.pm_schedule_id := p_from.pm_schedule_id;
289 p_to.pm_schedule_flag := p_from.pm_schedule_flag;
290 p_to.current_max_schedule_date := p_from.current_max_schedule_date;
291 p_to.price_list_id := p_from.price_list_id;
292 p_to.service_order_type := p_from.service_order_type;
293 p_to.invoice_count := p_from.invoice_count;
294 p_to.currency_code := p_from.currency_code;
295 p_to.conversion_type := p_from.conversion_type;
296 p_to.conversion_rate := p_from.conversion_rate;
297 p_to.conversion_date := p_from.conversion_date;
298 p_to.original_service_line_id := p_from.original_service_line_id;
299 p_to.warranty_flag := p_from.warranty_flag;
300 p_to.original_start_date := p_from.original_start_date;
301 p_to.original_end_date := p_from.original_end_date;
302 p_to.service_date_change := p_from.service_date_change;
303 p_to.workflow := p_from.workflow;
304 p_to.ship_to_site_use_id := p_from.ship_to_site_use_id;
305 p_to.original_system_line_reference := p_from.original_system_line_reference;
306 p_to.extended_price := p_from.extended_price;
307 p_to.discount_id := p_from.discount_id;
308 p_to.tax_code := p_from.tax_code;
309 p_to.billing_frequency_period := p_from.billing_frequency_period;
310 p_to.first_bill_date := p_from.first_bill_date;
311 p_to.next_bill_date := p_from.next_bill_date;
312 p_to.creation_date := p_from.creation_date;
313 p_to.bill_on := p_from.bill_on;
314 p_to.created_by := p_from.created_by;
315 p_to.last_update_date := p_from.last_update_date;
316 p_to.last_updated_by := p_from.last_updated_by;
317 p_to.last_update_login := p_from.last_update_login;
318 p_to.start_date_active := p_from.start_date_active;
319 p_to.end_date_active := p_from.end_date_active;
320 p_to.pricing_attribute1 := p_from.pricing_attribute1;
321 p_to.pricing_attribute2 := p_from.pricing_attribute2;
322 p_to.pricing_attribute3 := p_from.pricing_attribute3;
323 p_to.pricing_attribute4 := p_from.pricing_attribute4;
324 p_to.pricing_attribute5 := p_from.pricing_attribute5;
325 p_to.pricing_attribute6 := p_from.pricing_attribute6;
326 p_to.pricing_attribute7 := p_from.pricing_attribute7;
327 p_to.pricing_attribute8 := p_from.pricing_attribute8;
328 p_to.pricing_attribute9 := p_from.pricing_attribute9;
329 p_to.pricing_attribute10 := p_from.pricing_attribute10;
330 p_to.pricing_attribute11 := p_from.pricing_attribute11;
331 p_to.pricing_attribute12 := p_from.pricing_attribute12;
332 p_to.pricing_attribute13 := p_from.pricing_attribute13;
333 p_to.pricing_attribute14 := p_from.pricing_attribute14;
334 p_to.pricing_attribute15 := p_from.pricing_attribute15;
335 p_to.pricing_context := p_from.pricing_context;
336 p_to.attribute1 := p_from.attribute1;
337 p_to.attribute2 := p_from.attribute2;
338 p_to.attribute3 := p_from.attribute3;
339 p_to.attribute4 := p_from.attribute4;
340 p_to.attribute5 := p_from.attribute5;
341 p_to.attribute6 := p_from.attribute6;
342 p_to.attribute7 := p_from.attribute7;
343 p_to.attribute8 := p_from.attribute8;
344 p_to.attribute9 := p_from.attribute9;
345 p_to.attribute10 := p_from.attribute10;
346 p_to.attribute11 := p_from.attribute11;
347 p_to.attribute12 := p_from.attribute12;
348 p_to.attribute13 := p_from.attribute13;
349 p_to.attribute14 := p_from.attribute14;
350 p_to.attribute15 := p_from.attribute15;
351 p_to.context := p_from.context;
352 p_to.list_price := p_from.list_price;
353 p_to.org_id := p_from.org_id;
354 p_to.price_percent := p_from.price_percent;
355 END migrate;
356 PROCEDURE insert_row
357 (
358 p_api_version IN NUMBER,
359 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
360 p_validation_level IN NUMBER,
361 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
362 x_return_status OUT VARCHAR2,
363 x_msg_count OUT NUMBER,
364 x_msg_data OUT VARCHAR2,
365 p_service_rec IN Service_Rec_Type := G_MISS_SERVICE_REC,
366 x_cp_service_id OUT NUMBER) IS
367 l_api_name CONSTANT VARCHAR2(30) := 'insert_row';
368 l_api_version CONSTANT NUMBER := 1;
369 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
370 l_service_rec Service_Rec_Type;
371 l_def_service_rec Service_Rec_Type;
372 BEGIN
373 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
374 G_PKG_NAME,
375 l_api_version,
376 p_api_version,
377 p_init_msg_list,
378 '_Pvt',
379 x_return_status);
380 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
381 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
382 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
383 RAISE FND_API.G_EXC_ERROR;
384 END IF;
385 l_service_rec := p_service_rec;
386 --- Validate all non-missing attributes (Item Level Validation)
387 IF p_validation_level >= FND_API.G_VALID_LEVEL_FULL THEN
388 l_return_status := Validate_Item_Attributes
389 (
390 l_service_rec ---- IN
391 );
392 --- If any errors happen abort API
393 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
394 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
395 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
396 RAISE FND_API.G_EXC_ERROR;
397 END IF;
398 END IF;
399 --- Defaulting item attributes
400 l_return_status := Default_Item_Attributes
401 (
402 l_service_rec, ---- IN
403 l_def_service_rec
404 );
405 --- If any errors happen abort API
406 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
407 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
408 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
409 RAISE FND_API.G_EXC_ERROR;
410 END IF;
411 IF (p_validation_level >= FND_API.G_VALID_LEVEL_FULL) THEN
412 l_return_status := Validate_Item_Record(l_def_service_rec);
413 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
414 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
415 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
416 RAISE FND_API.G_EXC_ERROR;
417 END IF;
418 END IF;
419 -- Set primary key value
420 l_def_service_rec.cp_service_id := get_seq_id;
421 INSERT INTO CS_CP_SERVICES(
422 cp_service_id,
423 customer_product_id,
424 contract_line_status_id,
425 contract_line_template_id,
426 contract_id,
427 service_inventory_item_id,
428 service_manufacturing_org_id,
429 status_code,
430 last_cp_service_transaction_id,
431 invoice_flag,
432 coverage_schedule_id,
433 prorate_flag,
434 duration_quantity,
435 unit_of_measure_code,
436 starting_delay,
437 bill_to_site_use_id,
438 bill_to_contact_id,
439 service_txn_availability_code,
440 next_pm_visit_date,
441 pm_visits_completed,
442 last_pm_visit_date,
443 pm_schedule_id,
444 pm_schedule_flag,
445 current_max_schedule_date,
446 price_list_id,
447 service_order_type,
448 invoice_count,
449 currency_code,
450 conversion_type,
451 conversion_rate,
452 conversion_date,
453 original_service_line_id,
454 warranty_flag,
455 original_start_date,
456 original_end_date,
457 service_date_change,
458 workflow,
459 ship_to_site_use_id,
460 original_system_line_reference,
461 extended_price,
462 discount_id,
463 tax_code,
464 billing_frequency_period,
465 first_bill_date,
466 next_bill_date,
467 creation_date,
468 bill_on,
469 created_by,
470 last_update_date,
471 last_updated_by,
472 last_update_login,
473 start_date_active,
474 end_date_active,
475 pricing_attribute1,
476 pricing_attribute2,
477 pricing_attribute3,
478 pricing_attribute4,
479 pricing_attribute5,
480 pricing_attribute6,
481 pricing_attribute7,
482 pricing_attribute8,
483 pricing_attribute9,
484 pricing_attribute10,
485 pricing_attribute11,
486 pricing_attribute12,
487 pricing_attribute13,
488 pricing_attribute14,
489 pricing_attribute15,
490 pricing_context,
491 attribute1,
492 attribute2,
493 attribute3,
494 attribute4,
495 attribute5,
496 attribute6,
497 attribute7,
498 attribute8,
499 attribute9,
500 attribute10,
501 attribute11,
502 attribute12,
503 attribute13,
504 attribute14,
505 attribute15,
506 context,
507 list_price,
508 org_id,
509 price_percent)
510 VALUES (
511 l_def_service_rec.cp_service_id,
512 l_def_service_rec.customer_product_id,
513 l_def_service_rec.contract_line_status_id,
514 l_def_service_rec.contract_line_template_id,
515 l_def_service_rec.contract_id,
516 l_def_service_rec.service_inventory_item_id,
517 l_def_service_rec.service_manufacturing_org_id,
518 l_def_service_rec.status_code,
519 l_def_service_rec.last_cp_service_transaction_id,
520 l_def_service_rec.invoice_flag,
521 l_def_service_rec.coverage_schedule_id,
522 l_def_service_rec.prorate_flag,
523 l_def_service_rec.duration_quantity,
524 l_def_service_rec.unit_of_measure_code,
525 l_def_service_rec.starting_delay,
526 l_def_service_rec.bill_to_site_use_id,
527 l_def_service_rec.bill_to_contact_id,
528 l_def_service_rec.service_txn_availability_code,
529 l_def_service_rec.next_pm_visit_date,
530 l_def_service_rec.pm_visits_completed,
531 l_def_service_rec.last_pm_visit_date,
532 l_def_service_rec.pm_schedule_id,
533 l_def_service_rec.pm_schedule_flag,
534 l_def_service_rec.current_max_schedule_date,
535 l_def_service_rec.price_list_id,
536 l_def_service_rec.service_order_type,
537 l_def_service_rec.invoice_count,
538 l_def_service_rec.currency_code,
539 l_def_service_rec.conversion_type,
540 l_def_service_rec.conversion_rate,
541 l_def_service_rec.conversion_date,
542 l_def_service_rec.original_service_line_id,
543 l_def_service_rec.warranty_flag,
544 l_def_service_rec.original_start_date,
545 l_def_service_rec.original_end_date,
546 l_def_service_rec.service_date_change,
547 l_def_service_rec.workflow,
548 l_def_service_rec.ship_to_site_use_id,
549 l_def_service_rec.original_system_line_reference,
550 l_def_service_rec.extended_price,
551 l_def_service_rec.discount_id,
552 l_def_service_rec.tax_code,
553 l_def_service_rec.billing_frequency_period,
554 l_def_service_rec.first_bill_date,
555 l_def_service_rec.next_bill_date,
556 l_def_service_rec.creation_date,
557 l_def_service_rec.bill_on,
558 l_def_service_rec.created_by,
559 l_def_service_rec.last_update_date,
560 l_def_service_rec.last_updated_by,
561 l_def_service_rec.last_update_login,
562 l_def_service_rec.start_date_active,
563 l_def_service_rec.end_date_active,
564 l_def_service_rec.pricing_attribute1,
565 l_def_service_rec.pricing_attribute2,
566 l_def_service_rec.pricing_attribute3,
567 l_def_service_rec.pricing_attribute4,
568 l_def_service_rec.pricing_attribute5,
569 l_def_service_rec.pricing_attribute6,
570 l_def_service_rec.pricing_attribute7,
571 l_def_service_rec.pricing_attribute8,
572 l_def_service_rec.pricing_attribute9,
573 l_def_service_rec.pricing_attribute10,
574 l_def_service_rec.pricing_attribute11,
575 l_def_service_rec.pricing_attribute12,
576 l_def_service_rec.pricing_attribute13,
577 l_def_service_rec.pricing_attribute14,
578 l_def_service_rec.pricing_attribute15,
579 l_def_service_rec.pricing_context,
580 l_def_service_rec.attribute1,
581 l_def_service_rec.attribute2,
582 l_def_service_rec.attribute3,
583 l_def_service_rec.attribute4,
584 l_def_service_rec.attribute5,
585 l_def_service_rec.attribute6,
586 l_def_service_rec.attribute7,
587 l_def_service_rec.attribute8,
588 l_def_service_rec.attribute9,
589 l_def_service_rec.attribute10,
590 l_def_service_rec.attribute11,
591 l_def_service_rec.attribute12,
592 l_def_service_rec.attribute13,
593 l_def_service_rec.attribute14,
594 l_def_service_rec.attribute15,
595 l_def_service_rec.context,
596 l_def_service_rec.list_price,
597 l_def_service_rec.org_id,
598 l_def_service_rec.price_percent);
599 -- Set OUT values
600 x_cp_service_id := l_def_service_rec.cp_service_id;
601 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
602 EXCEPTION
603 WHEN FND_API.G_EXC_ERROR THEN
604 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
605 (
606 l_api_name,
607 G_PKG_NAME,
608 'FND_API.G_RET_STS_ERROR',
609 x_msg_count,
610 x_msg_data,
611 '_Pvt'
612 );
613 APP_EXCEPTION.RAISE_EXCEPTION;
614 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
615 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
616 (
617 l_api_name,
618 G_PKG_NAME,
619 'FND_API.G_RET_STS_UNEXP_ERROR',
620 x_msg_count,
621 x_msg_data,
622 '_Pvt'
623 );
624 APP_EXCEPTION.RAISE_EXCEPTION;
625 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
626 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
627 (
628 l_api_name,
629 G_PKG_NAME,
630 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
631 x_msg_count,
632 x_msg_data,
633 '_Pvt'
634 );
635 APP_EXCEPTION.RAISE_EXCEPTION;
636 END insert_row;
637 PROCEDURE insert_row
638 (
639 p_api_version IN NUMBER,
640 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
641 p_validation_level IN NUMBER,
642 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
643 x_return_status OUT VARCHAR2,
644 x_msg_count OUT NUMBER,
645 x_msg_data OUT VARCHAR2,
646 p_customer_product_id IN NUMBER := NULL,
647 p_contract_line_status_id IN NUMBER := NULL,
648 p_contract_line_template_id IN NUMBER := NULL,
649 p_contract_id IN NUMBER := NULL,
650 p_service_inventory_item_id IN NUMBER := NULL,
651 p_service_manufacturing_org_id IN NUMBER := NULL,
652 p_status_code IN CS_CP_SERVICES.STATUS_CODE%TYPE := NULL,
653 p_lst_cp_srvic_trnsctin_id IN NUMBER := NULL,
654 p_invoice_flag IN CS_CP_SERVICES.INVOICE_FLAG%TYPE := NULL,
655 p_coverage_schedule_id IN NUMBER := NULL,
656 p_prorate_flag IN CS_CP_SERVICES.PRORATE_FLAG%TYPE := NULL,
657 p_duration_quantity IN NUMBER := NULL,
658 p_unit_of_measure_code IN CS_CP_SERVICES.UNIT_OF_MEASURE_CODE%TYPE := NULL,
659 p_starting_delay IN NUMBER := NULL,
660 p_bill_to_site_use_id IN NUMBER := NULL,
661 p_bill_to_contact_id IN NUMBER := NULL,
662 p_srvic_txn_vilbility_cd IN CS_CP_SERVICES.SERVICE_TXN_AVAILABILITY_CODE%TYPE := NULL,
663 p_next_pm_visit_date IN CS_CP_SERVICES.NEXT_PM_VISIT_DATE%TYPE := NULL,
664 p_pm_visits_completed IN NUMBER := NULL,
665 p_last_pm_visit_date IN CS_CP_SERVICES.LAST_PM_VISIT_DATE%TYPE := NULL,
666 p_pm_schedule_id IN NUMBER := NULL,
667 p_pm_schedule_flag IN CS_CP_SERVICES.PM_SCHEDULE_FLAG%TYPE := NULL,
668 p_current_max_schedule_date IN CS_CP_SERVICES.CURRENT_MAX_SCHEDULE_DATE%TYPE := NULL,
669 p_price_list_id IN NUMBER := NULL,
670 p_service_order_type IN CS_CP_SERVICES.SERVICE_ORDER_TYPE%TYPE := NULL,
671 p_invoice_count IN NUMBER := NULL,
672 p_currency_code IN CS_CP_SERVICES.CURRENCY_CODE%TYPE := NULL,
673 p_conversion_type IN CS_CP_SERVICES.CONVERSION_TYPE%TYPE := NULL,
674 p_conversion_rate IN NUMBER := NULL,
675 p_conversion_date IN CS_CP_SERVICES.CONVERSION_DATE%TYPE := NULL,
676 p_original_service_line_id IN NUMBER := NULL,
677 p_warranty_flag IN CS_CP_SERVICES.WARRANTY_FLAG%TYPE := NULL,
678 p_original_start_date IN CS_CP_SERVICES.ORIGINAL_START_DATE%TYPE := NULL,
679 p_original_end_date IN CS_CP_SERVICES.ORIGINAL_END_DATE%TYPE := NULL,
680 p_service_date_change IN CS_CP_SERVICES.SERVICE_DATE_CHANGE%TYPE := NULL,
681 p_workflow IN CS_CP_SERVICES.WORKFLOW%TYPE := NULL,
682 p_ship_to_site_use_id IN NUMBER := NULL,
683 p_riginl_systm_lin_rfrnc IN CS_CP_SERVICES.ORIGINAL_SYSTEM_LINE_REFERENCE%TYPE := NULL,
684 p_extended_price IN NUMBER := NULL,
685 p_discount_id IN NUMBER := NULL,
686 p_tax_code IN CS_CP_SERVICES.TAX_CODE%TYPE := NULL,
687 p_billing_frequency_period IN CS_CP_SERVICES.BILLING_FREQUENCY_PERIOD%TYPE := NULL,
688 p_first_bill_date IN CS_CP_SERVICES.FIRST_BILL_DATE%TYPE := NULL,
689 p_next_bill_date IN CS_CP_SERVICES.NEXT_BILL_DATE%TYPE := NULL,
690 p_creation_date IN CS_CP_SERVICES.CREATION_DATE%TYPE := NULL,
691 p_bill_on IN NUMBER := NULL,
692 p_created_by IN NUMBER := NULL,
693 p_last_update_date IN CS_CP_SERVICES.LAST_UPDATE_DATE%TYPE := NULL,
694 p_last_updated_by IN NUMBER := NULL,
695 p_last_update_login IN NUMBER := NULL,
696 p_start_date_active IN CS_CP_SERVICES.START_DATE_ACTIVE%TYPE := NULL,
697 p_end_date_active IN CS_CP_SERVICES.END_DATE_ACTIVE%TYPE := NULL,
698 p_pricing_attribute1 IN CS_CP_SERVICES.PRICING_ATTRIBUTE1%TYPE := NULL,
699 p_pricing_attribute2 IN CS_CP_SERVICES.PRICING_ATTRIBUTE2%TYPE := NULL,
700 p_pricing_attribute3 IN CS_CP_SERVICES.PRICING_ATTRIBUTE3%TYPE := NULL,
701 p_pricing_attribute4 IN CS_CP_SERVICES.PRICING_ATTRIBUTE4%TYPE := NULL,
702 p_pricing_attribute5 IN CS_CP_SERVICES.PRICING_ATTRIBUTE5%TYPE := NULL,
703 p_pricing_attribute6 IN CS_CP_SERVICES.PRICING_ATTRIBUTE6%TYPE := NULL,
704 p_pricing_attribute7 IN CS_CP_SERVICES.PRICING_ATTRIBUTE7%TYPE := NULL,
705 p_pricing_attribute8 IN CS_CP_SERVICES.PRICING_ATTRIBUTE8%TYPE := NULL,
706 p_pricing_attribute9 IN CS_CP_SERVICES.PRICING_ATTRIBUTE9%TYPE := NULL,
707 p_pricing_attribute10 IN CS_CP_SERVICES.PRICING_ATTRIBUTE10%TYPE := NULL,
708 p_pricing_attribute11 IN CS_CP_SERVICES.PRICING_ATTRIBUTE11%TYPE := NULL,
709 p_pricing_attribute12 IN CS_CP_SERVICES.PRICING_ATTRIBUTE12%TYPE := NULL,
710 p_pricing_attribute13 IN CS_CP_SERVICES.PRICING_ATTRIBUTE13%TYPE := NULL,
711 p_pricing_attribute14 IN CS_CP_SERVICES.PRICING_ATTRIBUTE14%TYPE := NULL,
712 p_pricing_attribute15 IN CS_CP_SERVICES.PRICING_ATTRIBUTE15%TYPE := NULL,
713 p_pricing_context IN CS_CP_SERVICES.PRICING_CONTEXT%TYPE := NULL,
714 p_attribute1 IN CS_CP_SERVICES.ATTRIBUTE1%TYPE := NULL,
715 p_attribute2 IN CS_CP_SERVICES.ATTRIBUTE2%TYPE := NULL,
716 p_attribute3 IN CS_CP_SERVICES.ATTRIBUTE3%TYPE := NULL,
717 p_attribute4 IN CS_CP_SERVICES.ATTRIBUTE4%TYPE := NULL,
718 p_attribute5 IN CS_CP_SERVICES.ATTRIBUTE5%TYPE := NULL,
719 p_attribute6 IN CS_CP_SERVICES.ATTRIBUTE6%TYPE := NULL,
720 p_attribute7 IN CS_CP_SERVICES.ATTRIBUTE7%TYPE := NULL,
721 p_attribute8 IN CS_CP_SERVICES.ATTRIBUTE8%TYPE := NULL,
722 p_attribute9 IN CS_CP_SERVICES.ATTRIBUTE9%TYPE := NULL,
723 p_attribute10 IN CS_CP_SERVICES.ATTRIBUTE10%TYPE := NULL,
724 p_attribute11 IN CS_CP_SERVICES.ATTRIBUTE11%TYPE := NULL,
725 p_attribute12 IN CS_CP_SERVICES.ATTRIBUTE12%TYPE := NULL,
726 p_attribute13 IN CS_CP_SERVICES.ATTRIBUTE13%TYPE := NULL,
727 p_attribute14 IN CS_CP_SERVICES.ATTRIBUTE14%TYPE := NULL,
728 p_attribute15 IN CS_CP_SERVICES.ATTRIBUTE15%TYPE := NULL,
729 p_context IN CS_CP_SERVICES.CONTEXT%TYPE := NULL,
730 p_list_price IN NUMBER := NULL,
731 p_org_id IN NUMBER := NULL,
732 p_price_percent IN NUMBER := NULL,
733 x_cp_service_id OUT NUMBER) IS
734 l_api_name CONSTANT VARCHAR2(30) := 'insert_row';
735 l_api_version CONSTANT NUMBER := 1;
736 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
737 l_service_rec Service_Rec_Type;
738 BEGIN
739 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
740 G_PKG_NAME,
741 l_api_version,
742 p_api_version,
743 p_init_msg_list,
744 '_Pvt',
745 x_return_status);
746 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
747 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
748 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
749 RAISE FND_API.G_EXC_ERROR;
750 END IF;
751 l_service_rec.CUSTOMER_PRODUCT_ID := p_customer_product_id;
752 l_service_rec.CONTRACT_LINE_STATUS_ID := p_contract_line_status_id;
753 l_service_rec.CONTRACT_LINE_TEMPLATE_ID := p_contract_line_template_id;
754 l_service_rec.CONTRACT_ID := p_contract_id;
755 l_service_rec.SERVICE_INVENTORY_ITEM_ID := p_service_inventory_item_id;
756 l_service_rec.SERVICE_MANUFACTURING_ORG_ID := p_service_manufacturing_org_id;
757 l_service_rec.STATUS_CODE := p_status_code;
758 l_service_rec.LAST_CP_SERVICE_TRANSACTION_ID := p_lst_cp_srvic_trnsctin_id;
759 l_service_rec.INVOICE_FLAG := p_invoice_flag;
760 l_service_rec.COVERAGE_SCHEDULE_ID := p_coverage_schedule_id;
761 l_service_rec.PRORATE_FLAG := p_prorate_flag;
762 l_service_rec.DURATION_QUANTITY := p_duration_quantity;
763 l_service_rec.UNIT_OF_MEASURE_CODE := p_unit_of_measure_code;
764 l_service_rec.STARTING_DELAY := p_starting_delay;
765 l_service_rec.BILL_TO_SITE_USE_ID := p_bill_to_site_use_id;
766 l_service_rec.BILL_TO_CONTACT_ID := p_bill_to_contact_id;
767 l_service_rec.SERVICE_TXN_AVAILABILITY_CODE := p_srvic_txn_vilbility_cd;
768 l_service_rec.NEXT_PM_VISIT_DATE := p_next_pm_visit_date;
769 l_service_rec.PM_VISITS_COMPLETED := p_pm_visits_completed;
770 l_service_rec.LAST_PM_VISIT_DATE := p_last_pm_visit_date;
771 l_service_rec.PM_SCHEDULE_ID := p_pm_schedule_id;
772 l_service_rec.PM_SCHEDULE_FLAG := p_pm_schedule_flag;
773 l_service_rec.CURRENT_MAX_SCHEDULE_DATE := p_current_max_schedule_date;
774 l_service_rec.PRICE_LIST_ID := p_price_list_id;
775 l_service_rec.SERVICE_ORDER_TYPE := p_service_order_type;
776 l_service_rec.INVOICE_COUNT := p_invoice_count;
777 l_service_rec.CURRENCY_CODE := p_currency_code;
778 l_service_rec.CONVERSION_TYPE := p_conversion_type;
779 l_service_rec.CONVERSION_RATE := p_conversion_rate;
780 l_service_rec.CONVERSION_DATE := p_conversion_date;
781 l_service_rec.ORIGINAL_SERVICE_LINE_ID := p_original_service_line_id;
782 l_service_rec.WARRANTY_FLAG := p_warranty_flag;
783 l_service_rec.ORIGINAL_START_DATE := p_original_start_date;
784 l_service_rec.ORIGINAL_END_DATE := p_original_end_date;
785 l_service_rec.SERVICE_DATE_CHANGE := p_service_date_change;
786 l_service_rec.WORKFLOW := p_workflow;
787 l_service_rec.SHIP_TO_SITE_USE_ID := p_ship_to_site_use_id;
788 l_service_rec.ORIGINAL_SYSTEM_LINE_REFERENCE := p_riginl_systm_lin_rfrnc;
789 l_service_rec.EXTENDED_PRICE := p_extended_price;
790 l_service_rec.DISCOUNT_ID := p_discount_id;
791 l_service_rec.TAX_CODE := p_tax_code;
792 l_service_rec.BILLING_FREQUENCY_PERIOD := p_billing_frequency_period;
793 l_service_rec.FIRST_BILL_DATE := p_first_bill_date;
794 l_service_rec.NEXT_BILL_DATE := p_next_bill_date;
795 l_service_rec.CREATION_DATE := p_creation_date;
796 l_service_rec.BILL_ON := p_bill_on;
797 l_service_rec.CREATED_BY := p_created_by;
798 l_service_rec.LAST_UPDATE_DATE := p_last_update_date;
799 l_service_rec.LAST_UPDATED_BY := p_last_updated_by;
800 l_service_rec.LAST_UPDATE_LOGIN := p_last_update_login;
801 l_service_rec.START_DATE_ACTIVE := p_start_date_active;
802 l_service_rec.END_DATE_ACTIVE := p_end_date_active;
803 l_service_rec.PRICING_ATTRIBUTE1 := p_pricing_attribute1;
804 l_service_rec.PRICING_ATTRIBUTE2 := p_pricing_attribute2;
805 l_service_rec.PRICING_ATTRIBUTE3 := p_pricing_attribute3;
806 l_service_rec.PRICING_ATTRIBUTE4 := p_pricing_attribute4;
807 l_service_rec.PRICING_ATTRIBUTE5 := p_pricing_attribute5;
808 l_service_rec.PRICING_ATTRIBUTE6 := p_pricing_attribute6;
809 l_service_rec.PRICING_ATTRIBUTE7 := p_pricing_attribute7;
810 l_service_rec.PRICING_ATTRIBUTE8 := p_pricing_attribute8;
811 l_service_rec.PRICING_ATTRIBUTE9 := p_pricing_attribute9;
812 l_service_rec.PRICING_ATTRIBUTE10 := p_pricing_attribute10;
813 l_service_rec.PRICING_ATTRIBUTE11 := p_pricing_attribute11;
814 l_service_rec.PRICING_ATTRIBUTE12 := p_pricing_attribute12;
815 l_service_rec.PRICING_ATTRIBUTE13 := p_pricing_attribute13;
816 l_service_rec.PRICING_ATTRIBUTE14 := p_pricing_attribute14;
817 l_service_rec.PRICING_ATTRIBUTE15 := p_pricing_attribute15;
818 l_service_rec.PRICING_CONTEXT := p_pricing_context;
819 l_service_rec.ATTRIBUTE1 := p_attribute1;
820 l_service_rec.ATTRIBUTE2 := p_attribute2;
821 l_service_rec.ATTRIBUTE3 := p_attribute3;
822 l_service_rec.ATTRIBUTE4 := p_attribute4;
823 l_service_rec.ATTRIBUTE5 := p_attribute5;
824 l_service_rec.ATTRIBUTE6 := p_attribute6;
825 l_service_rec.ATTRIBUTE7 := p_attribute7;
826 l_service_rec.ATTRIBUTE8 := p_attribute8;
827 l_service_rec.ATTRIBUTE9 := p_attribute9;
828 l_service_rec.ATTRIBUTE10 := p_attribute10;
829 l_service_rec.ATTRIBUTE11 := p_attribute11;
830 l_service_rec.ATTRIBUTE12 := p_attribute12;
831 l_service_rec.ATTRIBUTE13 := p_attribute13;
832 l_service_rec.ATTRIBUTE14 := p_attribute14;
833 l_service_rec.ATTRIBUTE15 := p_attribute15;
834 l_service_rec.CONTEXT := p_context;
835 l_service_rec.LIST_PRICE := p_list_price;
836 l_service_rec.ORG_ID := p_org_id;
837 l_service_rec.PRICE_PERCENT := p_price_percent;
838 insert_row(
839 p_api_version,
840 p_init_msg_list,
841 p_validation_level,
842 p_commit,
843 x_return_status,
844 x_msg_count,
845 x_msg_data,
846 l_service_rec,
847 x_cp_service_id
848 );
849 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
850 EXCEPTION
851 WHEN FND_API.G_EXC_ERROR THEN
852 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
853 (
854 l_api_name,
855 G_PKG_NAME,
856 'FND_API.G_RET_STS_ERROR',
857 x_msg_count,
858 x_msg_data,
859 '_Pvt'
860 );
861 APP_EXCEPTION.RAISE_EXCEPTION;
862 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
863 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
864 (
865 l_api_name,
866 G_PKG_NAME,
867 'FND_API.G_RET_STS_UNEXP_ERROR',
868 x_msg_count,
869 x_msg_data,
870 '_Pvt'
871 );
872 APP_EXCEPTION.RAISE_EXCEPTION;
873 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
874 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
875 (
876 l_api_name,
877 G_PKG_NAME,
878 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
879 x_msg_count,
880 x_msg_data,
881 '_Pvt'
882 );
883 APP_EXCEPTION.RAISE_EXCEPTION;
884 END insert_row;
885 Procedure lock_row
886 (
887 p_api_version IN NUMBER,
888 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
889 p_validation_level IN NUMBER,
890 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
891 x_return_status OUT VARCHAR2,
892 x_msg_count OUT NUMBER,
893 x_msg_data OUT VARCHAR2,
894 p_cp_service_id IN NUMBER,
895 p_customer_product_id IN NUMBER,
896 p_contract_line_status_id IN NUMBER,
897 p_contract_line_template_id IN NUMBER,
898 p_contract_id IN NUMBER,
899 p_service_inventory_item_id IN NUMBER,
900 p_service_manufacturing_org_id IN NUMBER,
901 p_status_code IN VARCHAR2,
902 p_lst_cp_srvic_trnsctin_id IN NUMBER,
903 p_invoice_flag IN VARCHAR2,
904 p_coverage_schedule_id IN NUMBER,
905 p_prorate_flag IN VARCHAR2,
906 p_duration_quantity IN NUMBER,
907 p_unit_of_measure_code IN VARCHAR2,
908 p_starting_delay IN NUMBER,
909 p_bill_to_site_use_id IN NUMBER,
910 p_bill_to_contact_id IN NUMBER,
911 p_srvic_txn_vilbility_cd IN VARCHAR2,
912 p_next_pm_visit_date IN DATE,
913 p_pm_visits_completed IN NUMBER,
914 p_last_pm_visit_date IN DATE,
915 p_pm_schedule_id IN NUMBER,
916 p_pm_schedule_flag IN VARCHAR2,
917 p_current_max_schedule_date IN DATE,
918 p_price_list_id IN NUMBER,
919 p_service_order_type IN VARCHAR2,
920 p_invoice_count IN NUMBER,
921 p_currency_code IN VARCHAR2,
922 p_conversion_type IN VARCHAR2,
923 p_conversion_rate IN NUMBER,
924 p_conversion_date IN DATE,
925 p_original_service_line_id IN NUMBER,
926 p_warranty_flag IN VARCHAR2,
927 p_original_start_date IN DATE,
928 p_original_end_date IN DATE,
929 p_service_date_change IN VARCHAR2,
930 p_workflow IN VARCHAR2,
931 p_ship_to_site_use_id IN NUMBER,
932 p_riginl_systm_lin_rfrnc IN VARCHAR2,
933 p_extended_price IN NUMBER,
934 p_discount_id IN NUMBER,
935 p_tax_code IN VARCHAR2,
936 p_billing_frequency_period IN VARCHAR2,
937 p_first_bill_date IN DATE,
938 p_next_bill_date IN DATE,
939 p_creation_date IN DATE,
940 p_bill_on IN NUMBER,
941 p_created_by IN NUMBER,
942 p_last_update_date IN DATE,
943 p_last_updated_by IN NUMBER,
944 p_last_update_login IN NUMBER,
945 p_start_date_active IN DATE,
946 p_end_date_active IN DATE,
947 p_pricing_attribute1 IN VARCHAR2,
948 p_pricing_attribute2 IN VARCHAR2,
949 p_pricing_attribute3 IN VARCHAR2,
950 p_pricing_attribute4 IN VARCHAR2,
951 p_pricing_attribute5 IN VARCHAR2,
952 p_pricing_attribute6 IN VARCHAR2,
953 p_pricing_attribute7 IN VARCHAR2,
954 p_pricing_attribute8 IN VARCHAR2,
955 p_pricing_attribute9 IN VARCHAR2,
956 p_pricing_attribute10 IN VARCHAR2,
957 p_pricing_attribute11 IN VARCHAR2,
958 p_pricing_attribute12 IN VARCHAR2,
959 p_pricing_attribute13 IN VARCHAR2,
960 p_pricing_attribute14 IN VARCHAR2,
961 p_pricing_attribute15 IN VARCHAR2,
962 p_pricing_context IN VARCHAR2,
963 p_attribute1 IN VARCHAR2,
964 p_attribute2 IN VARCHAR2,
965 p_attribute3 IN VARCHAR2,
966 p_attribute4 IN VARCHAR2,
967 p_attribute5 IN VARCHAR2,
968 p_attribute6 IN VARCHAR2,
969 p_attribute7 IN VARCHAR2,
970 p_attribute8 IN VARCHAR2,
971 p_attribute9 IN VARCHAR2,
972 p_attribute10 IN VARCHAR2,
973 p_attribute11 IN VARCHAR2,
974 p_attribute12 IN VARCHAR2,
975 p_attribute13 IN VARCHAR2,
976 p_attribute14 IN VARCHAR2,
977 p_attribute15 IN VARCHAR2,
978 p_context IN VARCHAR2,
979 p_list_price IN NUMBER,
980 p_org_id IN NUMBER,
981 p_price_percent IN NUMBER) IS
982 E_Resource_Busy EXCEPTION;
983 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
984 CURSOR lock_csr IS
985 SELECT *
986 FROM CS_CP_SERVICES
987 WHERE
988 CP_SERVICE_ID = p_cp_service_id
989 FOR UPDATE NOWAIT;
990
991 l_api_name CONSTANT VARCHAR2(30) := 'lock_row';
992 l_api_version CONSTANT NUMBER := 1;
993 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
994 l_object_version_number lock_csr%ROWTYPE;
995 l_row_notfound BOOLEAN := FALSE;
996 lc_row_notfound BOOLEAN := FALSE;
997 BEGIN
998 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
999 G_PKG_NAME,
1000 l_api_version,
1001 p_api_version,
1002 p_init_msg_list,
1003 '_Pvt',
1004 x_return_status);
1005 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1006 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1007 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1008 RAISE FND_API.G_EXC_ERROR;
1009 END IF;
1010 BEGIN
1011 OPEN lock_csr;
1012 FETCH lock_csr INTO l_object_version_number;
1013 l_row_notfound := lock_csr%NOTFOUND;
1014 CLOSE lock_csr;
1015 EXCEPTION
1016 WHEN E_Resource_Busy THEN
1017 IF (lock_csr%ISOPEN) THEN
1018 CLOSE lock_csr;
1019 END IF;
1020 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
1021 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
1022 END;
1023
1024 IF ( l_row_notfound ) THEN
1025 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
1026 RAISE FND_API.G_EXC_ERROR;
1027 ELSE
1028 IF (l_object_version_number.CP_SERVICE_ID <> p_cp_service_id) THEN
1029 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1030 RAISE FND_API.G_EXC_ERROR;
1031 END IF;
1032 IF (l_object_version_number.CUSTOMER_PRODUCT_ID <> p_customer_product_id) THEN
1033 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1034 RAISE FND_API.G_EXC_ERROR;
1035 END IF;
1036 IF (l_object_version_number.CONTRACT_LINE_STATUS_ID <> p_contract_line_status_id) THEN
1037 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1038 RAISE FND_API.G_EXC_ERROR;
1039 END IF;
1040 IF (l_object_version_number.CONTRACT_LINE_TEMPLATE_ID <> p_contract_line_template_id) THEN
1041 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1042 RAISE FND_API.G_EXC_ERROR;
1043 END IF;
1044 IF (l_object_version_number.CONTRACT_ID <> p_contract_id) THEN
1045 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1046 RAISE FND_API.G_EXC_ERROR;
1047 END IF;
1048 IF (l_object_version_number.SERVICE_INVENTORY_ITEM_ID <> p_service_inventory_item_id) THEN
1049 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1050 RAISE FND_API.G_EXC_ERROR;
1051 END IF;
1052 IF (l_object_version_number.SERVICE_MANUFACTURING_ORG_ID <> p_service_manufacturing_org_id) THEN
1053 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1054 RAISE FND_API.G_EXC_ERROR;
1055 END IF;
1056 IF (l_object_version_number.STATUS_CODE <> p_status_code) THEN
1057 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1058 RAISE FND_API.G_EXC_ERROR;
1059 END IF;
1060 IF (l_object_version_number.LAST_CP_SERVICE_TRANSACTION_ID <> p_lst_cp_srvic_trnsctin_id) THEN
1061 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1062 RAISE FND_API.G_EXC_ERROR;
1063 END IF;
1064 IF (l_object_version_number.INVOICE_FLAG <> p_invoice_flag) THEN
1065 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1066 RAISE FND_API.G_EXC_ERROR;
1067 END IF;
1068 IF (l_object_version_number.COVERAGE_SCHEDULE_ID <> p_coverage_schedule_id) THEN
1069 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1070 RAISE FND_API.G_EXC_ERROR;
1071 END IF;
1072 IF (l_object_version_number.PRORATE_FLAG <> p_prorate_flag) THEN
1073 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1074 RAISE FND_API.G_EXC_ERROR;
1075 END IF;
1076 IF (l_object_version_number.DURATION_QUANTITY <> p_duration_quantity) THEN
1077 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1078 RAISE FND_API.G_EXC_ERROR;
1079 END IF;
1080 IF (l_object_version_number.UNIT_OF_MEASURE_CODE <> p_unit_of_measure_code) THEN
1081 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1082 RAISE FND_API.G_EXC_ERROR;
1083 END IF;
1084 IF (l_object_version_number.STARTING_DELAY <> p_starting_delay) THEN
1085 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1086 RAISE FND_API.G_EXC_ERROR;
1087 END IF;
1088 IF (l_object_version_number.BILL_TO_SITE_USE_ID <> p_bill_to_site_use_id) THEN
1089 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1090 RAISE FND_API.G_EXC_ERROR;
1091 END IF;
1092 IF (l_object_version_number.BILL_TO_CONTACT_ID <> p_bill_to_contact_id) THEN
1093 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1094 RAISE FND_API.G_EXC_ERROR;
1095 END IF;
1096 IF (l_object_version_number.SERVICE_TXN_AVAILABILITY_CODE <> p_srvic_txn_vilbility_cd) THEN
1097 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1098 RAISE FND_API.G_EXC_ERROR;
1099 END IF;
1100 IF (l_object_version_number.NEXT_PM_VISIT_DATE <> p_next_pm_visit_date) THEN
1101 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1102 RAISE FND_API.G_EXC_ERROR;
1103 END IF;
1104 IF (l_object_version_number.PM_VISITS_COMPLETED <> p_pm_visits_completed) THEN
1105 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1106 RAISE FND_API.G_EXC_ERROR;
1107 END IF;
1108 IF (l_object_version_number.LAST_PM_VISIT_DATE <> p_last_pm_visit_date) THEN
1109 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1110 RAISE FND_API.G_EXC_ERROR;
1111 END IF;
1112 IF (l_object_version_number.PM_SCHEDULE_ID <> p_pm_schedule_id) THEN
1113 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1114 RAISE FND_API.G_EXC_ERROR;
1115 END IF;
1116 IF (l_object_version_number.PM_SCHEDULE_FLAG <> p_pm_schedule_flag) THEN
1117 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1118 RAISE FND_API.G_EXC_ERROR;
1119 END IF;
1120 IF (l_object_version_number.CURRENT_MAX_SCHEDULE_DATE <> p_current_max_schedule_date) THEN
1121 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1122 RAISE FND_API.G_EXC_ERROR;
1123 END IF;
1124 IF (l_object_version_number.PRICE_LIST_ID <> p_price_list_id) THEN
1125 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1126 RAISE FND_API.G_EXC_ERROR;
1127 END IF;
1128 IF (l_object_version_number.SERVICE_ORDER_TYPE <> p_service_order_type) THEN
1129 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1130 RAISE FND_API.G_EXC_ERROR;
1131 END IF;
1132 IF (l_object_version_number.INVOICE_COUNT <> p_invoice_count) THEN
1133 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1134 RAISE FND_API.G_EXC_ERROR;
1135 END IF;
1136 IF (l_object_version_number.CURRENCY_CODE <> p_currency_code) THEN
1137 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1138 RAISE FND_API.G_EXC_ERROR;
1139 END IF;
1140 IF (l_object_version_number.CONVERSION_TYPE <> p_conversion_type) THEN
1141 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1142 RAISE FND_API.G_EXC_ERROR;
1143 END IF;
1144 IF (l_object_version_number.CONVERSION_RATE <> p_conversion_rate) THEN
1145 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1146 RAISE FND_API.G_EXC_ERROR;
1147 END IF;
1148 IF (l_object_version_number.CONVERSION_DATE <> p_conversion_date) THEN
1149 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1150 RAISE FND_API.G_EXC_ERROR;
1151 END IF;
1152 IF (l_object_version_number.ORIGINAL_SERVICE_LINE_ID <> p_original_service_line_id) THEN
1153 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1154 RAISE FND_API.G_EXC_ERROR;
1155 END IF;
1156 IF (l_object_version_number.WARRANTY_FLAG <> p_warranty_flag) THEN
1157 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1158 RAISE FND_API.G_EXC_ERROR;
1159 END IF;
1160 IF (l_object_version_number.ORIGINAL_START_DATE <> p_original_start_date) THEN
1161 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1162 RAISE FND_API.G_EXC_ERROR;
1163 END IF;
1164 IF (l_object_version_number.ORIGINAL_END_DATE <> p_original_end_date) THEN
1165 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1166 RAISE FND_API.G_EXC_ERROR;
1167 END IF;
1168 IF (l_object_version_number.SERVICE_DATE_CHANGE <> p_service_date_change) THEN
1169 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1170 RAISE FND_API.G_EXC_ERROR;
1171 END IF;
1172 IF (l_object_version_number.WORKFLOW <> p_workflow) THEN
1173 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1174 RAISE FND_API.G_EXC_ERROR;
1175 END IF;
1176 IF (l_object_version_number.SHIP_TO_SITE_USE_ID <> p_ship_to_site_use_id) THEN
1177 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1178 RAISE FND_API.G_EXC_ERROR;
1179 END IF;
1180 IF (l_object_version_number.ORIGINAL_SYSTEM_LINE_REFERENCE <> p_riginl_systm_lin_rfrnc) THEN
1181 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1182 RAISE FND_API.G_EXC_ERROR;
1183 END IF;
1184 IF (l_object_version_number.EXTENDED_PRICE <> p_extended_price) THEN
1185 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1186 RAISE FND_API.G_EXC_ERROR;
1187 END IF;
1188 IF (l_object_version_number.DISCOUNT_ID <> p_discount_id) THEN
1189 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1190 RAISE FND_API.G_EXC_ERROR;
1191 END IF;
1192 IF (l_object_version_number.TAX_CODE <> p_tax_code) THEN
1193 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1194 RAISE FND_API.G_EXC_ERROR;
1195 END IF;
1196 IF (l_object_version_number.BILLING_FREQUENCY_PERIOD <> p_billing_frequency_period) THEN
1197 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1198 RAISE FND_API.G_EXC_ERROR;
1199 END IF;
1200 IF (l_object_version_number.FIRST_BILL_DATE <> p_first_bill_date) THEN
1201 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1202 RAISE FND_API.G_EXC_ERROR;
1203 END IF;
1204 IF (l_object_version_number.NEXT_BILL_DATE <> p_next_bill_date) THEN
1205 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1206 RAISE FND_API.G_EXC_ERROR;
1207 END IF;
1208 IF (l_object_version_number.CREATION_DATE <> p_creation_date) THEN
1209 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1210 RAISE FND_API.G_EXC_ERROR;
1211 END IF;
1212 IF (l_object_version_number.BILL_ON <> p_bill_on) THEN
1213 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1214 RAISE FND_API.G_EXC_ERROR;
1215 END IF;
1216 IF (l_object_version_number.CREATED_BY <> p_created_by) THEN
1217 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1218 RAISE FND_API.G_EXC_ERROR;
1219 END IF;
1220 IF (l_object_version_number.LAST_UPDATE_DATE <> p_last_update_date) THEN
1221 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1222 RAISE FND_API.G_EXC_ERROR;
1223 END IF;
1224 IF (l_object_version_number.LAST_UPDATED_BY <> p_last_updated_by) THEN
1225 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1226 RAISE FND_API.G_EXC_ERROR;
1227 END IF;
1228 IF (l_object_version_number.LAST_UPDATE_LOGIN <> p_last_update_login) THEN
1229 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1230 RAISE FND_API.G_EXC_ERROR;
1231 END IF;
1232 IF (l_object_version_number.START_DATE_ACTIVE <> p_start_date_active) THEN
1233 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1234 RAISE FND_API.G_EXC_ERROR;
1235 END IF;
1236 IF (l_object_version_number.END_DATE_ACTIVE <> p_end_date_active) THEN
1237 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1238 RAISE FND_API.G_EXC_ERROR;
1239 END IF;
1240 IF (l_object_version_number.PRICING_ATTRIBUTE1 <> p_pricing_attribute1) THEN
1241 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1242 RAISE FND_API.G_EXC_ERROR;
1243 END IF;
1244 IF (l_object_version_number.PRICING_ATTRIBUTE2 <> p_pricing_attribute2) THEN
1245 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1246 RAISE FND_API.G_EXC_ERROR;
1247 END IF;
1248 IF (l_object_version_number.PRICING_ATTRIBUTE3 <> p_pricing_attribute3) THEN
1249 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1250 RAISE FND_API.G_EXC_ERROR;
1251 END IF;
1252 IF (l_object_version_number.PRICING_ATTRIBUTE4 <> p_pricing_attribute4) THEN
1253 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1254 RAISE FND_API.G_EXC_ERROR;
1255 END IF;
1256 IF (l_object_version_number.PRICING_ATTRIBUTE5 <> p_pricing_attribute5) THEN
1257 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1258 RAISE FND_API.G_EXC_ERROR;
1259 END IF;
1260 IF (l_object_version_number.PRICING_ATTRIBUTE6 <> p_pricing_attribute6) THEN
1261 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1262 RAISE FND_API.G_EXC_ERROR;
1263 END IF;
1264 IF (l_object_version_number.PRICING_ATTRIBUTE7 <> p_pricing_attribute7) THEN
1265 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1266 RAISE FND_API.G_EXC_ERROR;
1267 END IF;
1268 IF (l_object_version_number.PRICING_ATTRIBUTE8 <> p_pricing_attribute8) THEN
1269 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1270 RAISE FND_API.G_EXC_ERROR;
1271 END IF;
1272 IF (l_object_version_number.PRICING_ATTRIBUTE9 <> p_pricing_attribute9) THEN
1273 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1274 RAISE FND_API.G_EXC_ERROR;
1275 END IF;
1276 IF (l_object_version_number.PRICING_ATTRIBUTE10 <> p_pricing_attribute10) THEN
1277 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1278 RAISE FND_API.G_EXC_ERROR;
1279 END IF;
1280 IF (l_object_version_number.PRICING_ATTRIBUTE11 <> p_pricing_attribute11) THEN
1281 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1282 RAISE FND_API.G_EXC_ERROR;
1283 END IF;
1284 IF (l_object_version_number.PRICING_ATTRIBUTE12 <> p_pricing_attribute12) THEN
1285 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1286 RAISE FND_API.G_EXC_ERROR;
1287 END IF;
1288 IF (l_object_version_number.PRICING_ATTRIBUTE13 <> p_pricing_attribute13) THEN
1289 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1290 RAISE FND_API.G_EXC_ERROR;
1291 END IF;
1292 IF (l_object_version_number.PRICING_ATTRIBUTE14 <> p_pricing_attribute14) THEN
1293 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1294 RAISE FND_API.G_EXC_ERROR;
1295 END IF;
1296 IF (l_object_version_number.PRICING_ATTRIBUTE15 <> p_pricing_attribute15) THEN
1297 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1298 RAISE FND_API.G_EXC_ERROR;
1299 END IF;
1300 IF (l_object_version_number.PRICING_CONTEXT <> p_pricing_context) THEN
1301 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1302 RAISE FND_API.G_EXC_ERROR;
1303 END IF;
1304 IF (l_object_version_number.ATTRIBUTE1 <> p_attribute1) THEN
1305 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1306 RAISE FND_API.G_EXC_ERROR;
1307 END IF;
1308 IF (l_object_version_number.ATTRIBUTE2 <> p_attribute2) THEN
1309 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1310 RAISE FND_API.G_EXC_ERROR;
1311 END IF;
1312 IF (l_object_version_number.ATTRIBUTE3 <> p_attribute3) THEN
1313 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1314 RAISE FND_API.G_EXC_ERROR;
1315 END IF;
1316 IF (l_object_version_number.ATTRIBUTE4 <> p_attribute4) THEN
1317 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1318 RAISE FND_API.G_EXC_ERROR;
1319 END IF;
1320 IF (l_object_version_number.ATTRIBUTE5 <> p_attribute5) THEN
1321 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1322 RAISE FND_API.G_EXC_ERROR;
1323 END IF;
1324 IF (l_object_version_number.ATTRIBUTE6 <> p_attribute6) THEN
1325 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1326 RAISE FND_API.G_EXC_ERROR;
1327 END IF;
1328 IF (l_object_version_number.ATTRIBUTE7 <> p_attribute7) THEN
1329 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1330 RAISE FND_API.G_EXC_ERROR;
1331 END IF;
1332 IF (l_object_version_number.ATTRIBUTE8 <> p_attribute8) THEN
1333 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1334 RAISE FND_API.G_EXC_ERROR;
1335 END IF;
1336 IF (l_object_version_number.ATTRIBUTE9 <> p_attribute9) THEN
1337 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1338 RAISE FND_API.G_EXC_ERROR;
1339 END IF;
1340 IF (l_object_version_number.ATTRIBUTE10 <> p_attribute10) THEN
1341 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1342 RAISE FND_API.G_EXC_ERROR;
1343 END IF;
1344 IF (l_object_version_number.ATTRIBUTE11 <> p_attribute11) THEN
1345 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1346 RAISE FND_API.G_EXC_ERROR;
1347 END IF;
1348 IF (l_object_version_number.ATTRIBUTE12 <> p_attribute12) THEN
1349 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1350 RAISE FND_API.G_EXC_ERROR;
1351 END IF;
1352 IF (l_object_version_number.ATTRIBUTE13 <> p_attribute13) THEN
1353 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1354 RAISE FND_API.G_EXC_ERROR;
1355 END IF;
1356 IF (l_object_version_number.ATTRIBUTE14 <> p_attribute14) THEN
1357 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1358 RAISE FND_API.G_EXC_ERROR;
1359 END IF;
1360 IF (l_object_version_number.ATTRIBUTE15 <> p_attribute15) THEN
1361 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1362 RAISE FND_API.G_EXC_ERROR;
1363 END IF;
1364 IF (l_object_version_number.CONTEXT <> p_context) THEN
1365 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1366 RAISE FND_API.G_EXC_ERROR;
1367 END IF;
1368 IF (l_object_version_number.LIST_PRICE <> p_list_price) THEN
1369 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1370 RAISE FND_API.G_EXC_ERROR;
1371 END IF;
1372 IF (l_object_version_number.ORG_ID <> p_org_id) THEN
1373 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1374 RAISE FND_API.G_EXC_ERROR;
1375 END IF;
1376 IF (l_object_version_number.PRICE_PERCENT <> p_price_percent) THEN
1377 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1378 RAISE FND_API.G_EXC_ERROR;
1379 END IF;
1380 END IF;
1381 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
1382 EXCEPTION
1383 WHEN FND_API.G_EXC_ERROR THEN
1384 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1385 (
1386 l_api_name,
1387 G_PKG_NAME,
1388 'FND_API.G_RET_STS_ERROR',
1389 x_msg_count,
1390 x_msg_data,
1391 '_Pvt'
1392 );
1393 APP_EXCEPTION.RAISE_EXCEPTION;
1394 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1395 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1396 (
1397 l_api_name,
1398 G_PKG_NAME,
1399 'FND_API.G_RET_STS_UNEXP_ERROR',
1400 x_msg_count,
1401 x_msg_data,
1402 '_Pvt'
1403 );
1404 APP_EXCEPTION.RAISE_EXCEPTION;
1405 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
1406 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1407 (
1408 l_api_name,
1409 G_PKG_NAME,
1410 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
1411 x_msg_count,
1412 x_msg_data,
1413 '_Pvt'
1414 );
1415 APP_EXCEPTION.RAISE_EXCEPTION;
1416 END lock_row;
1417 Procedure update_row
1418 (
1419 p_api_version IN NUMBER,
1420 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1421 p_validation_level IN NUMBER,
1422 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1423 x_return_status OUT VARCHAR2,
1424 x_msg_count OUT NUMBER,
1425 x_msg_data OUT VARCHAR2,
1426 p_service_val_rec IN Service_Val_Rec_Type := G_MISS_SERVICE_VAL_REC) IS
1427 l_api_name CONSTANT VARCHAR2(30) := 'update_row';
1428 l_api_version CONSTANT NUMBER := 1;
1429 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1430 l_service_rec Service_Rec_Type;
1431 l_def_service_rec Service_Rec_Type;
1432 FUNCTION populate_new_record (
1433 p_service_rec IN Service_Rec_Type,
1434 x_service_rec OUT Service_Rec_Type
1435 ) RETURN VARCHAR2 IS
1436 CURSOR cs_cp_services_pk_csr (p_cp_service_id IN NUMBER) IS
1437 SELECT *
1438 FROM Cs_Cp_Services
1439 WHERE cs_cp_services.cp_service_id = p_cp_service_id;
1440 l_cs_cp_services_pk cs_cp_services_pk_csr%ROWTYPE;
1441 l_row_notfound BOOLEAN := TRUE;
1442 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1443 BEGIN
1444 x_service_rec := p_service_rec;
1445 -- Get current database values
1446 OPEN cs_cp_services_pk_csr (p_service_rec.cp_service_id);
1447 FETCH cs_cp_services_pk_csr INTO l_cs_cp_services_pk;
1448 l_row_notfound := cs_cp_services_pk_csr%NOTFOUND;
1449 CLOSE cs_cp_services_pk_csr;
1450 IF (l_row_notfound) THEN
1451 l_return_status := FND_API.G_RET_STS_ERROR;
1452 END IF;
1453 IF (x_service_rec.cp_service_id = TAPI_DEV_KIT.G_MISS_NUM)
1454 THEN
1455 x_service_rec.cp_service_id := l_cs_cp_services_pk.cp_service_id;
1456 END IF;
1457 IF (x_service_rec.customer_product_id = TAPI_DEV_KIT.G_MISS_NUM)
1458 THEN
1459 x_service_rec.customer_product_id := l_cs_cp_services_pk.customer_product_id;
1460 END IF;
1461 IF (x_service_rec.contract_line_status_id = TAPI_DEV_KIT.G_MISS_NUM)
1462 THEN
1463 x_service_rec.contract_line_status_id := l_cs_cp_services_pk.contract_line_status_id;
1464 END IF;
1465 IF (x_service_rec.contract_line_template_id = TAPI_DEV_KIT.G_MISS_NUM)
1466 THEN
1467 x_service_rec.contract_line_template_id := l_cs_cp_services_pk.contract_line_template_id;
1468 END IF;
1469 IF (x_service_rec.contract_id = TAPI_DEV_KIT.G_MISS_NUM)
1470 THEN
1471 x_service_rec.contract_id := l_cs_cp_services_pk.contract_id;
1472 END IF;
1473 IF (x_service_rec.service_inventory_item_id = TAPI_DEV_KIT.G_MISS_NUM)
1474 THEN
1475 x_service_rec.service_inventory_item_id := l_cs_cp_services_pk.service_inventory_item_id;
1476 END IF;
1477 IF (x_service_rec.service_manufacturing_org_id = TAPI_DEV_KIT.G_MISS_NUM)
1478 THEN
1479 x_service_rec.service_manufacturing_org_id := l_cs_cp_services_pk.service_manufacturing_org_id;
1480 END IF;
1481 IF (x_service_rec.status_code = TAPI_DEV_KIT.G_MISS_CHAR)
1482 THEN
1483 x_service_rec.status_code := l_cs_cp_services_pk.status_code;
1484 END IF;
1485 IF (x_service_rec.last_cp_service_transaction_id = TAPI_DEV_KIT.G_MISS_NUM)
1486 THEN
1487 x_service_rec.last_cp_service_transaction_id := l_cs_cp_services_pk.last_cp_service_transaction_id;
1488 END IF;
1489 IF (x_service_rec.invoice_flag = TAPI_DEV_KIT.G_MISS_CHAR)
1490 THEN
1491 x_service_rec.invoice_flag := l_cs_cp_services_pk.invoice_flag;
1492 END IF;
1493 IF (x_service_rec.coverage_schedule_id = TAPI_DEV_KIT.G_MISS_NUM)
1494 THEN
1495 x_service_rec.coverage_schedule_id := l_cs_cp_services_pk.coverage_schedule_id;
1496 END IF;
1497 IF (x_service_rec.prorate_flag = TAPI_DEV_KIT.G_MISS_CHAR)
1498 THEN
1499 x_service_rec.prorate_flag := l_cs_cp_services_pk.prorate_flag;
1500 END IF;
1501 IF (x_service_rec.duration_quantity = TAPI_DEV_KIT.G_MISS_NUM)
1502 THEN
1503 x_service_rec.duration_quantity := l_cs_cp_services_pk.duration_quantity;
1504 END IF;
1505 IF (x_service_rec.unit_of_measure_code = TAPI_DEV_KIT.G_MISS_CHAR)
1506 THEN
1507 x_service_rec.unit_of_measure_code := l_cs_cp_services_pk.unit_of_measure_code;
1508 END IF;
1509 IF (x_service_rec.starting_delay = TAPI_DEV_KIT.G_MISS_NUM)
1510 THEN
1511 x_service_rec.starting_delay := l_cs_cp_services_pk.starting_delay;
1512 END IF;
1513 IF (x_service_rec.bill_to_site_use_id = TAPI_DEV_KIT.G_MISS_NUM)
1514 THEN
1515 x_service_rec.bill_to_site_use_id := l_cs_cp_services_pk.bill_to_site_use_id;
1516 END IF;
1517 IF (x_service_rec.bill_to_contact_id = TAPI_DEV_KIT.G_MISS_NUM)
1518 THEN
1519 x_service_rec.bill_to_contact_id := l_cs_cp_services_pk.bill_to_contact_id;
1520 END IF;
1521 IF (x_service_rec.service_txn_availability_code = TAPI_DEV_KIT.G_MISS_CHAR)
1522 THEN
1523 x_service_rec.service_txn_availability_code := l_cs_cp_services_pk.service_txn_availability_code;
1524 END IF;
1525 IF (x_service_rec.next_pm_visit_date = TAPI_DEV_KIT.G_MISS_DATE)
1526 THEN
1527 x_service_rec.next_pm_visit_date := l_cs_cp_services_pk.next_pm_visit_date;
1528 END IF;
1529 IF (x_service_rec.pm_visits_completed = TAPI_DEV_KIT.G_MISS_NUM)
1530 THEN
1531 x_service_rec.pm_visits_completed := l_cs_cp_services_pk.pm_visits_completed;
1532 END IF;
1533 IF (x_service_rec.last_pm_visit_date = TAPI_DEV_KIT.G_MISS_DATE)
1534 THEN
1535 x_service_rec.last_pm_visit_date := l_cs_cp_services_pk.last_pm_visit_date;
1536 END IF;
1537 IF (x_service_rec.pm_schedule_id = TAPI_DEV_KIT.G_MISS_NUM)
1538 THEN
1539 x_service_rec.pm_schedule_id := l_cs_cp_services_pk.pm_schedule_id;
1540 END IF;
1541 IF (x_service_rec.pm_schedule_flag = TAPI_DEV_KIT.G_MISS_CHAR)
1542 THEN
1543 x_service_rec.pm_schedule_flag := l_cs_cp_services_pk.pm_schedule_flag;
1544 END IF;
1545 IF (x_service_rec.current_max_schedule_date = TAPI_DEV_KIT.G_MISS_DATE)
1546 THEN
1547 x_service_rec.current_max_schedule_date := l_cs_cp_services_pk.current_max_schedule_date;
1548 END IF;
1549 IF (x_service_rec.price_list_id = TAPI_DEV_KIT.G_MISS_NUM)
1550 THEN
1551 x_service_rec.price_list_id := l_cs_cp_services_pk.price_list_id;
1552 END IF;
1553 IF (x_service_rec.service_order_type = TAPI_DEV_KIT.G_MISS_CHAR)
1554 THEN
1555 x_service_rec.service_order_type := l_cs_cp_services_pk.service_order_type;
1556 END IF;
1557 IF (x_service_rec.invoice_count = TAPI_DEV_KIT.G_MISS_NUM)
1558 THEN
1559 x_service_rec.invoice_count := l_cs_cp_services_pk.invoice_count;
1560 END IF;
1561 IF (x_service_rec.currency_code = TAPI_DEV_KIT.G_MISS_CHAR)
1562 THEN
1563 x_service_rec.currency_code := l_cs_cp_services_pk.currency_code;
1564 END IF;
1565 IF (x_service_rec.conversion_type = TAPI_DEV_KIT.G_MISS_CHAR)
1566 THEN
1567 x_service_rec.conversion_type := l_cs_cp_services_pk.conversion_type;
1568 END IF;
1569 IF (x_service_rec.conversion_rate = TAPI_DEV_KIT.G_MISS_NUM)
1570 THEN
1571 x_service_rec.conversion_rate := l_cs_cp_services_pk.conversion_rate;
1572 END IF;
1573 IF (x_service_rec.conversion_date = TAPI_DEV_KIT.G_MISS_DATE)
1574 THEN
1575 x_service_rec.conversion_date := l_cs_cp_services_pk.conversion_date;
1576 END IF;
1577 IF (x_service_rec.original_service_line_id = TAPI_DEV_KIT.G_MISS_NUM)
1578 THEN
1579 x_service_rec.original_service_line_id := l_cs_cp_services_pk.original_service_line_id;
1580 END IF;
1581 IF (x_service_rec.warranty_flag = TAPI_DEV_KIT.G_MISS_CHAR)
1582 THEN
1583 x_service_rec.warranty_flag := l_cs_cp_services_pk.warranty_flag;
1584 END IF;
1585 IF (x_service_rec.original_start_date = TAPI_DEV_KIT.G_MISS_DATE)
1586 THEN
1587 x_service_rec.original_start_date := l_cs_cp_services_pk.original_start_date;
1588 END IF;
1589 IF (x_service_rec.original_end_date = TAPI_DEV_KIT.G_MISS_DATE)
1590 THEN
1591 x_service_rec.original_end_date := l_cs_cp_services_pk.original_end_date;
1592 END IF;
1593 IF (x_service_rec.service_date_change = TAPI_DEV_KIT.G_MISS_CHAR)
1594 THEN
1595 x_service_rec.service_date_change := l_cs_cp_services_pk.service_date_change;
1596 END IF;
1597 IF (x_service_rec.workflow = TAPI_DEV_KIT.G_MISS_CHAR)
1598 THEN
1599 x_service_rec.workflow := l_cs_cp_services_pk.workflow;
1600 END IF;
1601 IF (x_service_rec.ship_to_site_use_id = TAPI_DEV_KIT.G_MISS_NUM)
1602 THEN
1603 x_service_rec.ship_to_site_use_id := l_cs_cp_services_pk.ship_to_site_use_id;
1604 END IF;
1605 IF (x_service_rec.original_system_line_reference = TAPI_DEV_KIT.G_MISS_CHAR)
1606 THEN
1607 x_service_rec.original_system_line_reference := l_cs_cp_services_pk.original_system_line_reference;
1608 END IF;
1609 IF (x_service_rec.extended_price = TAPI_DEV_KIT.G_MISS_NUM)
1610 THEN
1611 x_service_rec.extended_price := l_cs_cp_services_pk.extended_price;
1612 END IF;
1613 IF (x_service_rec.discount_id = TAPI_DEV_KIT.G_MISS_NUM)
1614 THEN
1615 x_service_rec.discount_id := l_cs_cp_services_pk.discount_id;
1616 END IF;
1617 IF (x_service_rec.tax_code = TAPI_DEV_KIT.G_MISS_CHAR)
1618 THEN
1619 x_service_rec.tax_code := l_cs_cp_services_pk.tax_code;
1620 END IF;
1621 IF (x_service_rec.billing_frequency_period = TAPI_DEV_KIT.G_MISS_CHAR)
1622 THEN
1623 x_service_rec.billing_frequency_period := l_cs_cp_services_pk.billing_frequency_period;
1624 END IF;
1625 IF (x_service_rec.first_bill_date = TAPI_DEV_KIT.G_MISS_DATE)
1626 THEN
1627 x_service_rec.first_bill_date := l_cs_cp_services_pk.first_bill_date;
1628 END IF;
1629 IF (x_service_rec.next_bill_date = TAPI_DEV_KIT.G_MISS_DATE)
1630 THEN
1631 x_service_rec.next_bill_date := l_cs_cp_services_pk.next_bill_date;
1632 END IF;
1633 IF (x_service_rec.creation_date = TAPI_DEV_KIT.G_MISS_DATE)
1634 THEN
1635 x_service_rec.creation_date := l_cs_cp_services_pk.creation_date;
1636 END IF;
1637 IF (x_service_rec.bill_on = TAPI_DEV_KIT.G_MISS_NUM)
1638 THEN
1639 x_service_rec.bill_on := l_cs_cp_services_pk.bill_on;
1640 END IF;
1641 IF (x_service_rec.created_by = TAPI_DEV_KIT.G_MISS_NUM)
1642 THEN
1643 x_service_rec.created_by := l_cs_cp_services_pk.created_by;
1644 END IF;
1645 IF (x_service_rec.last_update_date = TAPI_DEV_KIT.G_MISS_DATE)
1646 THEN
1647 x_service_rec.last_update_date := l_cs_cp_services_pk.last_update_date;
1648 END IF;
1649 IF (x_service_rec.last_updated_by = TAPI_DEV_KIT.G_MISS_NUM)
1650 THEN
1651 x_service_rec.last_updated_by := l_cs_cp_services_pk.last_updated_by;
1652 END IF;
1653 IF (x_service_rec.last_update_login = TAPI_DEV_KIT.G_MISS_NUM)
1654 THEN
1655 x_service_rec.last_update_login := l_cs_cp_services_pk.last_update_login;
1656 END IF;
1657 IF (x_service_rec.start_date_active = TAPI_DEV_KIT.G_MISS_DATE)
1658 THEN
1659 x_service_rec.start_date_active := l_cs_cp_services_pk.start_date_active;
1660 END IF;
1661 IF (x_service_rec.end_date_active = TAPI_DEV_KIT.G_MISS_DATE)
1662 THEN
1663 x_service_rec.end_date_active := l_cs_cp_services_pk.end_date_active;
1664 END IF;
1665 IF (x_service_rec.pricing_attribute1 = TAPI_DEV_KIT.G_MISS_CHAR)
1666 THEN
1667 x_service_rec.pricing_attribute1 := l_cs_cp_services_pk.pricing_attribute1;
1668 END IF;
1669 IF (x_service_rec.pricing_attribute2 = TAPI_DEV_KIT.G_MISS_CHAR)
1670 THEN
1671 x_service_rec.pricing_attribute2 := l_cs_cp_services_pk.pricing_attribute2;
1672 END IF;
1673 IF (x_service_rec.pricing_attribute3 = TAPI_DEV_KIT.G_MISS_CHAR)
1674 THEN
1675 x_service_rec.pricing_attribute3 := l_cs_cp_services_pk.pricing_attribute3;
1676 END IF;
1677 IF (x_service_rec.pricing_attribute4 = TAPI_DEV_KIT.G_MISS_CHAR)
1678 THEN
1679 x_service_rec.pricing_attribute4 := l_cs_cp_services_pk.pricing_attribute4;
1680 END IF;
1681 IF (x_service_rec.pricing_attribute5 = TAPI_DEV_KIT.G_MISS_CHAR)
1682 THEN
1683 x_service_rec.pricing_attribute5 := l_cs_cp_services_pk.pricing_attribute5;
1684 END IF;
1685 IF (x_service_rec.pricing_attribute6 = TAPI_DEV_KIT.G_MISS_CHAR)
1686 THEN
1687 x_service_rec.pricing_attribute6 := l_cs_cp_services_pk.pricing_attribute6;
1688 END IF;
1689 IF (x_service_rec.pricing_attribute7 = TAPI_DEV_KIT.G_MISS_CHAR)
1690 THEN
1691 x_service_rec.pricing_attribute7 := l_cs_cp_services_pk.pricing_attribute7;
1692 END IF;
1693 IF (x_service_rec.pricing_attribute8 = TAPI_DEV_KIT.G_MISS_CHAR)
1694 THEN
1695 x_service_rec.pricing_attribute8 := l_cs_cp_services_pk.pricing_attribute8;
1696 END IF;
1697 IF (x_service_rec.pricing_attribute9 = TAPI_DEV_KIT.G_MISS_CHAR)
1698 THEN
1699 x_service_rec.pricing_attribute9 := l_cs_cp_services_pk.pricing_attribute9;
1700 END IF;
1701 IF (x_service_rec.pricing_attribute10 = TAPI_DEV_KIT.G_MISS_CHAR)
1702 THEN
1703 x_service_rec.pricing_attribute10 := l_cs_cp_services_pk.pricing_attribute10;
1704 END IF;
1705 IF (x_service_rec.pricing_attribute11 = TAPI_DEV_KIT.G_MISS_CHAR)
1706 THEN
1707 x_service_rec.pricing_attribute11 := l_cs_cp_services_pk.pricing_attribute11;
1708 END IF;
1709 IF (x_service_rec.pricing_attribute12 = TAPI_DEV_KIT.G_MISS_CHAR)
1710 THEN
1711 x_service_rec.pricing_attribute12 := l_cs_cp_services_pk.pricing_attribute12;
1712 END IF;
1713 IF (x_service_rec.pricing_attribute13 = TAPI_DEV_KIT.G_MISS_CHAR)
1714 THEN
1715 x_service_rec.pricing_attribute13 := l_cs_cp_services_pk.pricing_attribute13;
1716 END IF;
1717 IF (x_service_rec.pricing_attribute14 = TAPI_DEV_KIT.G_MISS_CHAR)
1718 THEN
1719 x_service_rec.pricing_attribute14 := l_cs_cp_services_pk.pricing_attribute14;
1720 END IF;
1721 IF (x_service_rec.pricing_attribute15 = TAPI_DEV_KIT.G_MISS_CHAR)
1722 THEN
1723 x_service_rec.pricing_attribute15 := l_cs_cp_services_pk.pricing_attribute15;
1724 END IF;
1725 IF (x_service_rec.pricing_context = TAPI_DEV_KIT.G_MISS_CHAR)
1726 THEN
1727 x_service_rec.pricing_context := l_cs_cp_services_pk.pricing_context;
1728 END IF;
1729 IF (x_service_rec.attribute1 = TAPI_DEV_KIT.G_MISS_CHAR)
1730 THEN
1731 x_service_rec.attribute1 := l_cs_cp_services_pk.attribute1;
1732 END IF;
1733 IF (x_service_rec.attribute2 = TAPI_DEV_KIT.G_MISS_CHAR)
1734 THEN
1735 x_service_rec.attribute2 := l_cs_cp_services_pk.attribute2;
1736 END IF;
1737 IF (x_service_rec.attribute3 = TAPI_DEV_KIT.G_MISS_CHAR)
1738 THEN
1739 x_service_rec.attribute3 := l_cs_cp_services_pk.attribute3;
1740 END IF;
1741 IF (x_service_rec.attribute4 = TAPI_DEV_KIT.G_MISS_CHAR)
1742 THEN
1743 x_service_rec.attribute4 := l_cs_cp_services_pk.attribute4;
1744 END IF;
1745 IF (x_service_rec.attribute5 = TAPI_DEV_KIT.G_MISS_CHAR)
1746 THEN
1747 x_service_rec.attribute5 := l_cs_cp_services_pk.attribute5;
1748 END IF;
1749 IF (x_service_rec.attribute6 = TAPI_DEV_KIT.G_MISS_CHAR)
1750 THEN
1751 x_service_rec.attribute6 := l_cs_cp_services_pk.attribute6;
1752 END IF;
1753 IF (x_service_rec.attribute7 = TAPI_DEV_KIT.G_MISS_CHAR)
1754 THEN
1755 x_service_rec.attribute7 := l_cs_cp_services_pk.attribute7;
1756 END IF;
1757 IF (x_service_rec.attribute8 = TAPI_DEV_KIT.G_MISS_CHAR)
1758 THEN
1759 x_service_rec.attribute8 := l_cs_cp_services_pk.attribute8;
1760 END IF;
1761 IF (x_service_rec.attribute9 = TAPI_DEV_KIT.G_MISS_CHAR)
1762 THEN
1763 x_service_rec.attribute9 := l_cs_cp_services_pk.attribute9;
1764 END IF;
1765 IF (x_service_rec.attribute10 = TAPI_DEV_KIT.G_MISS_CHAR)
1766 THEN
1767 x_service_rec.attribute10 := l_cs_cp_services_pk.attribute10;
1768 END IF;
1769 IF (x_service_rec.attribute11 = TAPI_DEV_KIT.G_MISS_CHAR)
1770 THEN
1771 x_service_rec.attribute11 := l_cs_cp_services_pk.attribute11;
1772 END IF;
1773 IF (x_service_rec.attribute12 = TAPI_DEV_KIT.G_MISS_CHAR)
1774 THEN
1775 x_service_rec.attribute12 := l_cs_cp_services_pk.attribute12;
1776 END IF;
1777 IF (x_service_rec.attribute13 = TAPI_DEV_KIT.G_MISS_CHAR)
1778 THEN
1779 x_service_rec.attribute13 := l_cs_cp_services_pk.attribute13;
1780 END IF;
1781 IF (x_service_rec.attribute14 = TAPI_DEV_KIT.G_MISS_CHAR)
1782 THEN
1783 x_service_rec.attribute14 := l_cs_cp_services_pk.attribute14;
1784 END IF;
1785 IF (x_service_rec.attribute15 = TAPI_DEV_KIT.G_MISS_CHAR)
1786 THEN
1787 x_service_rec.attribute15 := l_cs_cp_services_pk.attribute15;
1788 END IF;
1789 IF (x_service_rec.context = TAPI_DEV_KIT.G_MISS_CHAR)
1790 THEN
1791 x_service_rec.context := l_cs_cp_services_pk.context;
1792 END IF;
1793 IF (x_service_rec.list_price = TAPI_DEV_KIT.G_MISS_NUM)
1794 THEN
1795 x_service_rec.list_price := l_cs_cp_services_pk.list_price;
1796 END IF;
1797 IF (x_service_rec.org_id = TAPI_DEV_KIT.G_MISS_NUM)
1798 THEN
1799 x_service_rec.org_id := l_cs_cp_services_pk.org_id;
1800 END IF;
1801 IF (x_service_rec.price_percent = TAPI_DEV_KIT.G_MISS_NUM)
1802 THEN
1803 x_service_rec.price_percent := l_cs_cp_services_pk.price_percent;
1804 END IF;
1805 RETURN(l_return_status);
1806 END populate_new_record;
1807 BEGIN
1808 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
1809 G_PKG_NAME,
1810 l_api_version,
1811 p_api_version,
1812 p_init_msg_list,
1813 '_Pvt',
1814 x_return_status);
1815 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1816 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1817 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1818 RAISE FND_API.G_EXC_ERROR;
1819 END IF;
1820 migrate(p_service_val_rec, l_service_rec);
1821 --- Defaulting item attributes
1822 l_return_status := Default_Item_Attributes
1823 (
1824 l_service_rec, ---- IN
1825 l_def_service_rec
1826 );
1827 --- If any errors happen abort API
1828 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1829 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1830 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1831 RAISE FND_API.G_EXC_ERROR;
1832 END IF;
1833 l_return_status := populate_new_record(l_def_service_rec, l_def_service_rec);
1834 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1835 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1836 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1837 RAISE FND_API.G_EXC_ERROR;
1838 END IF;
1839 --- Validate all non-missing attributes (Item Level Validation)
1840 IF p_validation_level >= FND_API.G_VALID_LEVEL_FULL THEN
1841 l_return_status := Validate_Item_Attributes
1842 (
1843 l_def_service_rec ---- IN
1844 );
1845 --- If any errors happen abort API
1846 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1847 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1848 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1849 RAISE FND_API.G_EXC_ERROR;
1850 END IF;
1851 END IF;
1852 IF (p_validation_level >= FND_API.G_VALID_LEVEL_FULL) THEN
1853 l_return_status := Validate_Item_Record(l_def_service_rec);
1854 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1855 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1856 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1857 RAISE FND_API.G_EXC_ERROR;
1858 END IF;
1859 END IF;
1860 UPDATE CS_CP_SERVICES
1861 SET
1862 CP_SERVICE_ID = l_def_service_rec.cp_service_id ,
1863 CUSTOMER_PRODUCT_ID = l_def_service_rec.customer_product_id ,
1864 CONTRACT_LINE_STATUS_ID = l_def_service_rec.contract_line_status_id ,
1865 CONTRACT_LINE_TEMPLATE_ID = l_def_service_rec.contract_line_template_id ,
1866 CONTRACT_ID = l_def_service_rec.contract_id ,
1867 SERVICE_INVENTORY_ITEM_ID = l_def_service_rec.service_inventory_item_id ,
1868 SERVICE_MANUFACTURING_ORG_ID = l_def_service_rec.service_manufacturing_org_id ,
1869 STATUS_CODE = l_def_service_rec.status_code ,
1870 LAST_CP_SERVICE_TRANSACTION_ID = l_def_service_rec.last_cp_service_transaction_id ,
1871 INVOICE_FLAG = l_def_service_rec.invoice_flag ,
1872 COVERAGE_SCHEDULE_ID = l_def_service_rec.coverage_schedule_id ,
1873 PRORATE_FLAG = l_def_service_rec.prorate_flag ,
1874 DURATION_QUANTITY = l_def_service_rec.duration_quantity ,
1875 UNIT_OF_MEASURE_CODE = l_def_service_rec.unit_of_measure_code ,
1876 STARTING_DELAY = l_def_service_rec.starting_delay ,
1877 BILL_TO_SITE_USE_ID = l_def_service_rec.bill_to_site_use_id ,
1878 BILL_TO_CONTACT_ID = l_def_service_rec.bill_to_contact_id ,
1879 SERVICE_TXN_AVAILABILITY_CODE = l_def_service_rec.service_txn_availability_code ,
1880 NEXT_PM_VISIT_DATE = l_def_service_rec.next_pm_visit_date ,
1881 PM_VISITS_COMPLETED = l_def_service_rec.pm_visits_completed ,
1882 LAST_PM_VISIT_DATE = l_def_service_rec.last_pm_visit_date ,
1883 PM_SCHEDULE_ID = l_def_service_rec.pm_schedule_id ,
1884 PM_SCHEDULE_FLAG = l_def_service_rec.pm_schedule_flag ,
1885 CURRENT_MAX_SCHEDULE_DATE = l_def_service_rec.current_max_schedule_date ,
1886 PRICE_LIST_ID = l_def_service_rec.price_list_id ,
1887 SERVICE_ORDER_TYPE = l_def_service_rec.service_order_type ,
1888 INVOICE_COUNT = l_def_service_rec.invoice_count ,
1889 CURRENCY_CODE = l_def_service_rec.currency_code ,
1890 CONVERSION_TYPE = l_def_service_rec.conversion_type ,
1891 CONVERSION_RATE = l_def_service_rec.conversion_rate ,
1892 CONVERSION_DATE = l_def_service_rec.conversion_date ,
1893 ORIGINAL_SERVICE_LINE_ID = l_def_service_rec.original_service_line_id ,
1894 WARRANTY_FLAG = l_def_service_rec.warranty_flag ,
1895 ORIGINAL_START_DATE = l_def_service_rec.original_start_date ,
1896 ORIGINAL_END_DATE = l_def_service_rec.original_end_date ,
1897 SERVICE_DATE_CHANGE = l_def_service_rec.service_date_change ,
1898 WORKFLOW = l_def_service_rec.workflow ,
1899 SHIP_TO_SITE_USE_ID = l_def_service_rec.ship_to_site_use_id ,
1900 ORIGINAL_SYSTEM_LINE_REFERENCE = l_def_service_rec.original_system_line_reference ,
1901 EXTENDED_PRICE = l_def_service_rec.extended_price ,
1902 DISCOUNT_ID = l_def_service_rec.discount_id ,
1903 TAX_CODE = l_def_service_rec.tax_code ,
1904 BILLING_FREQUENCY_PERIOD = l_def_service_rec.billing_frequency_period ,
1905 FIRST_BILL_DATE = l_def_service_rec.first_bill_date ,
1906 NEXT_BILL_DATE = l_def_service_rec.next_bill_date ,
1907 CREATION_DATE = l_def_service_rec.creation_date ,
1908 BILL_ON = l_def_service_rec.bill_on ,
1909 CREATED_BY = l_def_service_rec.created_by ,
1910 LAST_UPDATE_DATE = l_def_service_rec.last_update_date ,
1911 LAST_UPDATED_BY = l_def_service_rec.last_updated_by ,
1912 LAST_UPDATE_LOGIN = l_def_service_rec.last_update_login ,
1913 START_DATE_ACTIVE = l_def_service_rec.start_date_active ,
1914 END_DATE_ACTIVE = l_def_service_rec.end_date_active ,
1915 PRICING_ATTRIBUTE1 = l_def_service_rec.pricing_attribute1 ,
1916 PRICING_ATTRIBUTE2 = l_def_service_rec.pricing_attribute2 ,
1917 PRICING_ATTRIBUTE3 = l_def_service_rec.pricing_attribute3 ,
1918 PRICING_ATTRIBUTE4 = l_def_service_rec.pricing_attribute4 ,
1919 PRICING_ATTRIBUTE5 = l_def_service_rec.pricing_attribute5 ,
1920 PRICING_ATTRIBUTE6 = l_def_service_rec.pricing_attribute6 ,
1921 PRICING_ATTRIBUTE7 = l_def_service_rec.pricing_attribute7 ,
1922 PRICING_ATTRIBUTE8 = l_def_service_rec.pricing_attribute8 ,
1923 PRICING_ATTRIBUTE9 = l_def_service_rec.pricing_attribute9 ,
1924 PRICING_ATTRIBUTE10 = l_def_service_rec.pricing_attribute10 ,
1925 PRICING_ATTRIBUTE11 = l_def_service_rec.pricing_attribute11 ,
1926 PRICING_ATTRIBUTE12 = l_def_service_rec.pricing_attribute12 ,
1927 PRICING_ATTRIBUTE13 = l_def_service_rec.pricing_attribute13 ,
1928 PRICING_ATTRIBUTE14 = l_def_service_rec.pricing_attribute14 ,
1929 PRICING_ATTRIBUTE15 = l_def_service_rec.pricing_attribute15 ,
1930 PRICING_CONTEXT = l_def_service_rec.pricing_context ,
1931 ATTRIBUTE1 = l_def_service_rec.attribute1 ,
1932 ATTRIBUTE2 = l_def_service_rec.attribute2 ,
1933 ATTRIBUTE3 = l_def_service_rec.attribute3 ,
1934 ATTRIBUTE4 = l_def_service_rec.attribute4 ,
1935 ATTRIBUTE5 = l_def_service_rec.attribute5 ,
1936 ATTRIBUTE6 = l_def_service_rec.attribute6 ,
1937 ATTRIBUTE7 = l_def_service_rec.attribute7 ,
1938 ATTRIBUTE8 = l_def_service_rec.attribute8 ,
1939 ATTRIBUTE9 = l_def_service_rec.attribute9 ,
1940 ATTRIBUTE10 = l_def_service_rec.attribute10 ,
1941 ATTRIBUTE11 = l_def_service_rec.attribute11 ,
1942 ATTRIBUTE12 = l_def_service_rec.attribute12 ,
1943 ATTRIBUTE13 = l_def_service_rec.attribute13 ,
1944 ATTRIBUTE14 = l_def_service_rec.attribute14 ,
1945 ATTRIBUTE15 = l_def_service_rec.attribute15 ,
1946 CONTEXT = l_def_service_rec.context ,
1947 LIST_PRICE = l_def_service_rec.list_price ,
1948 ORG_ID = l_def_service_rec.org_id ,
1949 PRICE_PERCENT = l_def_service_rec.price_percent
1950 WHERE
1951 CP_SERVICE_ID = l_def_service_rec.cp_service_id
1952 ;
1953 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
1954 EXCEPTION
1955 WHEN FND_API.G_EXC_ERROR THEN
1956 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1957 (
1958 l_api_name,
1959 G_PKG_NAME,
1960 'FND_API.G_RET_STS_ERROR',
1961 x_msg_count,
1962 x_msg_data,
1963 '_Pvt'
1964 );
1965 APP_EXCEPTION.RAISE_EXCEPTION;
1966 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1967 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1968 (
1969 l_api_name,
1970 G_PKG_NAME,
1971 'FND_API.G_RET_STS_UNEXP_ERROR',
1972 x_msg_count,
1973 x_msg_data,
1974 '_Pvt'
1975 );
1976 APP_EXCEPTION.RAISE_EXCEPTION;
1977 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
1978 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1979 (
1980 l_api_name,
1981 G_PKG_NAME,
1982 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
1983 x_msg_count,
1984 x_msg_data,
1985 '_Pvt'
1986 );
1987 APP_EXCEPTION.RAISE_EXCEPTION;
1988 END update_row;
1989 Procedure update_row
1990 (
1991 p_api_version IN NUMBER,
1992 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1993 p_validation_level IN NUMBER,
1994 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1995 x_return_status OUT VARCHAR2,
1996 x_msg_count OUT NUMBER,
1997 x_msg_data OUT VARCHAR2,
1998 p_cp_service_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1999 p_customer_product_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2000 p_contract_line_status_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2004 p_service_manufacturing_org_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2001 p_contract_line_template_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2002 p_contract_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2003 p_service_inventory_item_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2005 p_status_code IN CS_CP_SERVICES.STATUS_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2006 p_lst_cp_srvic_trnsctin_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2007 p_invoice_flag IN CS_CP_SERVICES.INVOICE_FLAG%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2008 p_coverage_schedule_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2009 p_prorate_flag IN CS_CP_SERVICES.PRORATE_FLAG%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2010 p_duration_quantity IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2011 p_unit_of_measure_code IN CS_CP_SERVICES.UNIT_OF_MEASURE_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2012 p_starting_delay IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2013 p_bill_to_site_use_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2014 p_bill_to_contact_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2015 p_srvic_txn_vilbility_cd IN CS_CP_SERVICES.SERVICE_TXN_AVAILABILITY_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2016 p_next_pm_visit_date IN CS_CP_SERVICES.NEXT_PM_VISIT_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2017 p_pm_visits_completed IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2018 p_last_pm_visit_date IN CS_CP_SERVICES.LAST_PM_VISIT_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2019 p_pm_schedule_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2020 p_pm_schedule_flag IN CS_CP_SERVICES.PM_SCHEDULE_FLAG%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2021 p_current_max_schedule_date IN CS_CP_SERVICES.CURRENT_MAX_SCHEDULE_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2022 p_price_list_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2023 p_service_order_type IN CS_CP_SERVICES.SERVICE_ORDER_TYPE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2024 p_invoice_count IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2025 p_currency_code IN CS_CP_SERVICES.CURRENCY_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2026 p_conversion_type IN CS_CP_SERVICES.CONVERSION_TYPE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2027 p_conversion_rate IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2028 p_conversion_date IN CS_CP_SERVICES.CONVERSION_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2029 p_original_service_line_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2030 p_warranty_flag IN CS_CP_SERVICES.WARRANTY_FLAG%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2031 p_original_start_date IN CS_CP_SERVICES.ORIGINAL_START_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2032 p_original_end_date IN CS_CP_SERVICES.ORIGINAL_END_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2033 p_service_date_change IN CS_CP_SERVICES.SERVICE_DATE_CHANGE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2034 p_workflow IN CS_CP_SERVICES.WORKFLOW%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2035 p_ship_to_site_use_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2036 p_riginl_systm_lin_rfrnc IN CS_CP_SERVICES.ORIGINAL_SYSTEM_LINE_REFERENCE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2037 p_extended_price IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2038 p_discount_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2039 p_tax_code IN CS_CP_SERVICES.TAX_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2040 p_billing_frequency_period IN CS_CP_SERVICES.BILLING_FREQUENCY_PERIOD%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2041 p_first_bill_date IN CS_CP_SERVICES.FIRST_BILL_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2042 p_next_bill_date IN CS_CP_SERVICES.NEXT_BILL_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2043 p_creation_date IN CS_CP_SERVICES.CREATION_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2044 p_bill_on IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2045 p_created_by IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2046 p_last_update_date IN CS_CP_SERVICES.LAST_UPDATE_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2047 p_last_updated_by IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2048 p_last_update_login IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2049 p_start_date_active IN CS_CP_SERVICES.START_DATE_ACTIVE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2050 p_end_date_active IN CS_CP_SERVICES.END_DATE_ACTIVE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2051 p_pricing_attribute1 IN CS_CP_SERVICES.PRICING_ATTRIBUTE1%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2052 p_pricing_attribute2 IN CS_CP_SERVICES.PRICING_ATTRIBUTE2%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2053 p_pricing_attribute3 IN CS_CP_SERVICES.PRICING_ATTRIBUTE3%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2054 p_pricing_attribute4 IN CS_CP_SERVICES.PRICING_ATTRIBUTE4%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2055 p_pricing_attribute5 IN CS_CP_SERVICES.PRICING_ATTRIBUTE5%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2056 p_pricing_attribute6 IN CS_CP_SERVICES.PRICING_ATTRIBUTE6%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2057 p_pricing_attribute7 IN CS_CP_SERVICES.PRICING_ATTRIBUTE7%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2058 p_pricing_attribute8 IN CS_CP_SERVICES.PRICING_ATTRIBUTE8%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2059 p_pricing_attribute9 IN CS_CP_SERVICES.PRICING_ATTRIBUTE9%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2060 p_pricing_attribute10 IN CS_CP_SERVICES.PRICING_ATTRIBUTE10%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2061 p_pricing_attribute11 IN CS_CP_SERVICES.PRICING_ATTRIBUTE11%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2062 p_pricing_attribute12 IN CS_CP_SERVICES.PRICING_ATTRIBUTE12%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2063 p_pricing_attribute13 IN CS_CP_SERVICES.PRICING_ATTRIBUTE13%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2064 p_pricing_attribute14 IN CS_CP_SERVICES.PRICING_ATTRIBUTE14%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2065 p_pricing_attribute15 IN CS_CP_SERVICES.PRICING_ATTRIBUTE15%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2066 p_pricing_context IN CS_CP_SERVICES.PRICING_CONTEXT%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2070 p_attribute4 IN CS_CP_SERVICES.ATTRIBUTE4%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2067 p_attribute1 IN CS_CP_SERVICES.ATTRIBUTE1%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2068 p_attribute2 IN CS_CP_SERVICES.ATTRIBUTE2%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2069 p_attribute3 IN CS_CP_SERVICES.ATTRIBUTE3%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2071 p_attribute5 IN CS_CP_SERVICES.ATTRIBUTE5%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2072 p_attribute6 IN CS_CP_SERVICES.ATTRIBUTE6%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2073 p_attribute7 IN CS_CP_SERVICES.ATTRIBUTE7%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2074 p_attribute8 IN CS_CP_SERVICES.ATTRIBUTE8%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2075 p_attribute9 IN CS_CP_SERVICES.ATTRIBUTE9%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2076 p_attribute10 IN CS_CP_SERVICES.ATTRIBUTE10%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2077 p_attribute11 IN CS_CP_SERVICES.ATTRIBUTE11%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2078 p_attribute12 IN CS_CP_SERVICES.ATTRIBUTE12%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2079 p_attribute13 IN CS_CP_SERVICES.ATTRIBUTE13%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2080 p_attribute14 IN CS_CP_SERVICES.ATTRIBUTE14%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2081 p_attribute15 IN CS_CP_SERVICES.ATTRIBUTE15%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2082 p_context IN CS_CP_SERVICES.CONTEXT%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2083 p_list_price IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2084 p_org_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2085 p_price_percent IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM) IS
2086 l_api_name CONSTANT VARCHAR2(30) := 'update_row';
2087 l_api_version CONSTANT NUMBER := 1;
2088 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
2089 l_service_rec Service_Val_Rec_Type;
2090 BEGIN
2091 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
2092 G_PKG_NAME,
2093 l_api_version,
2094 p_api_version,
2095 p_init_msg_list,
2096 '_Pvt',
2097 x_return_status);
2098 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2099 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2100 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
2101 RAISE FND_API.G_EXC_ERROR;
2102 END IF;
2103 l_service_rec.CP_SERVICE_ID := p_cp_service_id;
2104 l_service_rec.CUSTOMER_PRODUCT_ID := p_customer_product_id;
2105 l_service_rec.CONTRACT_LINE_STATUS_ID := p_contract_line_status_id;
2106 l_service_rec.CONTRACT_LINE_TEMPLATE_ID := p_contract_line_template_id;
2107 l_service_rec.CONTRACT_ID := p_contract_id;
2108 l_service_rec.SERVICE_INVENTORY_ITEM_ID := p_service_inventory_item_id;
2109 l_service_rec.SERVICE_MANUFACTURING_ORG_ID := p_service_manufacturing_org_id;
2110 l_service_rec.STATUS_CODE := p_status_code;
2111 l_service_rec.LAST_CP_SERVICE_TRANSACTION_ID := p_lst_cp_srvic_trnsctin_id;
2112 l_service_rec.INVOICE_FLAG := p_invoice_flag;
2113 l_service_rec.COVERAGE_SCHEDULE_ID := p_coverage_schedule_id;
2114 l_service_rec.PRORATE_FLAG := p_prorate_flag;
2115 l_service_rec.DURATION_QUANTITY := p_duration_quantity;
2116 l_service_rec.UNIT_OF_MEASURE_CODE := p_unit_of_measure_code;
2117 l_service_rec.STARTING_DELAY := p_starting_delay;
2118 l_service_rec.BILL_TO_SITE_USE_ID := p_bill_to_site_use_id;
2119 l_service_rec.BILL_TO_CONTACT_ID := p_bill_to_contact_id;
2120 l_service_rec.SERVICE_TXN_AVAILABILITY_CODE := p_srvic_txn_vilbility_cd;
2121 l_service_rec.NEXT_PM_VISIT_DATE := p_next_pm_visit_date;
2122 l_service_rec.PM_VISITS_COMPLETED := p_pm_visits_completed;
2123 l_service_rec.LAST_PM_VISIT_DATE := p_last_pm_visit_date;
2124 l_service_rec.PM_SCHEDULE_ID := p_pm_schedule_id;
2125 l_service_rec.PM_SCHEDULE_FLAG := p_pm_schedule_flag;
2126 l_service_rec.CURRENT_MAX_SCHEDULE_DATE := p_current_max_schedule_date;
2127 l_service_rec.PRICE_LIST_ID := p_price_list_id;
2128 l_service_rec.SERVICE_ORDER_TYPE := p_service_order_type;
2129 l_service_rec.INVOICE_COUNT := p_invoice_count;
2130 l_service_rec.CURRENCY_CODE := p_currency_code;
2131 l_service_rec.CONVERSION_TYPE := p_conversion_type;
2132 l_service_rec.CONVERSION_RATE := p_conversion_rate;
2133 l_service_rec.CONVERSION_DATE := p_conversion_date;
2134 l_service_rec.ORIGINAL_SERVICE_LINE_ID := p_original_service_line_id;
2135 l_service_rec.WARRANTY_FLAG := p_warranty_flag;
2136 l_service_rec.ORIGINAL_START_DATE := p_original_start_date;
2137 l_service_rec.ORIGINAL_END_DATE := p_original_end_date;
2138 l_service_rec.SERVICE_DATE_CHANGE := p_service_date_change;
2139 l_service_rec.WORKFLOW := p_workflow;
2140 l_service_rec.SHIP_TO_SITE_USE_ID := p_ship_to_site_use_id;
2141 l_service_rec.ORIGINAL_SYSTEM_LINE_REFERENCE := p_riginl_systm_lin_rfrnc;
2142 l_service_rec.EXTENDED_PRICE := p_extended_price;
2143 l_service_rec.DISCOUNT_ID := p_discount_id;
2144 l_service_rec.TAX_CODE := p_tax_code;
2145 l_service_rec.BILLING_FREQUENCY_PERIOD := p_billing_frequency_period;
2146 l_service_rec.FIRST_BILL_DATE := p_first_bill_date;
2147 l_service_rec.NEXT_BILL_DATE := p_next_bill_date;
2148 l_service_rec.CREATION_DATE := p_creation_date;
2149 l_service_rec.BILL_ON := p_bill_on;
2150 l_service_rec.CREATED_BY := p_created_by;
2151 l_service_rec.LAST_UPDATE_DATE := p_last_update_date;
2152 l_service_rec.LAST_UPDATED_BY := p_last_updated_by;
2153 l_service_rec.LAST_UPDATE_LOGIN := p_last_update_login;
2154 l_service_rec.START_DATE_ACTIVE := p_start_date_active;
2155 l_service_rec.END_DATE_ACTIVE := p_end_date_active;
2156 l_service_rec.PRICING_ATTRIBUTE1 := p_pricing_attribute1;
2160 l_service_rec.PRICING_ATTRIBUTE5 := p_pricing_attribute5;
2157 l_service_rec.PRICING_ATTRIBUTE2 := p_pricing_attribute2;
2158 l_service_rec.PRICING_ATTRIBUTE3 := p_pricing_attribute3;
2159 l_service_rec.PRICING_ATTRIBUTE4 := p_pricing_attribute4;
2161 l_service_rec.PRICING_ATTRIBUTE6 := p_pricing_attribute6;
2162 l_service_rec.PRICING_ATTRIBUTE7 := p_pricing_attribute7;
2163 l_service_rec.PRICING_ATTRIBUTE8 := p_pricing_attribute8;
2164 l_service_rec.PRICING_ATTRIBUTE9 := p_pricing_attribute9;
2165 l_service_rec.PRICING_ATTRIBUTE10 := p_pricing_attribute10;
2166 l_service_rec.PRICING_ATTRIBUTE11 := p_pricing_attribute11;
2167 l_service_rec.PRICING_ATTRIBUTE12 := p_pricing_attribute12;
2168 l_service_rec.PRICING_ATTRIBUTE13 := p_pricing_attribute13;
2169 l_service_rec.PRICING_ATTRIBUTE14 := p_pricing_attribute14;
2170 l_service_rec.PRICING_ATTRIBUTE15 := p_pricing_attribute15;
2171 l_service_rec.PRICING_CONTEXT := p_pricing_context;
2172 l_service_rec.ATTRIBUTE1 := p_attribute1;
2173 l_service_rec.ATTRIBUTE2 := p_attribute2;
2174 l_service_rec.ATTRIBUTE3 := p_attribute3;
2175 l_service_rec.ATTRIBUTE4 := p_attribute4;
2176 l_service_rec.ATTRIBUTE5 := p_attribute5;
2177 l_service_rec.ATTRIBUTE6 := p_attribute6;
2178 l_service_rec.ATTRIBUTE7 := p_attribute7;
2179 l_service_rec.ATTRIBUTE8 := p_attribute8;
2180 l_service_rec.ATTRIBUTE9 := p_attribute9;
2181 l_service_rec.ATTRIBUTE10 := p_attribute10;
2182 l_service_rec.ATTRIBUTE11 := p_attribute11;
2183 l_service_rec.ATTRIBUTE12 := p_attribute12;
2184 l_service_rec.ATTRIBUTE13 := p_attribute13;
2185 l_service_rec.ATTRIBUTE14 := p_attribute14;
2186 l_service_rec.ATTRIBUTE15 := p_attribute15;
2187 l_service_rec.CONTEXT := p_context;
2188 l_service_rec.LIST_PRICE := p_list_price;
2189 l_service_rec.ORG_ID := p_org_id;
2190 l_service_rec.PRICE_PERCENT := p_price_percent;
2191 update_row(
2192 p_api_version,
2193 p_init_msg_list,
2194 p_validation_level,
2195 p_commit,
2196 x_return_status,
2197 x_msg_count,
2198 x_msg_data,
2199 l_service_rec
2200 );
2201 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
2202 EXCEPTION
2203 WHEN FND_API.G_EXC_ERROR THEN
2204 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
2205 (
2206 l_api_name,
2207 G_PKG_NAME,
2208 'FND_API.G_RET_STS_ERROR',
2209 x_msg_count,
2210 x_msg_data,
2211 '_Pvt'
2212 );
2213 APP_EXCEPTION.RAISE_EXCEPTION;
2214 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2215 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
2216 (
2217 l_api_name,
2218 G_PKG_NAME,
2219 'FND_API.G_RET_STS_UNEXP_ERROR',
2220 x_msg_count,
2221 x_msg_data,
2222 '_Pvt'
2223 );
2224 APP_EXCEPTION.RAISE_EXCEPTION;
2225 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
2226 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
2227 (
2228 l_api_name,
2229 G_PKG_NAME,
2230 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
2231 x_msg_count,
2232 x_msg_data,
2233 '_Pvt'
2234 );
2235 APP_EXCEPTION.RAISE_EXCEPTION;
2236 END update_row;
2237 Procedure delete_row
2238 (
2239 p_api_version IN NUMBER,
2240 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
2241 p_validation_level IN NUMBER,
2242 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
2243 x_return_status OUT VARCHAR2,
2244 x_msg_count OUT NUMBER,
2245 x_msg_data OUT VARCHAR2,
2246 p_cp_service_id IN NUMBER) IS
2247 l_api_name CONSTANT VARCHAR2(30) := 'delete_row';
2248 l_api_version CONSTANT NUMBER := 1;
2249 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
2250 BEGIN
2251 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
2252 G_PKG_NAME,
2253 l_api_version,
2254 p_api_version,
2255 p_init_msg_list,
2256 '_Pvt',
2257 x_return_status);
2258 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2259 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2260 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
2261 RAISE FND_API.G_EXC_ERROR;
2262 END IF;
2263 DELETE FROM CS_CP_SERVICES
2264 WHERE
2265 CP_SERVICE_ID = p_cp_service_id
2266 ;
2267 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
2268 EXCEPTION
2269 WHEN FND_API.G_EXC_ERROR THEN
2270 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
2271 (
2272 l_api_name,
2273 G_PKG_NAME,
2274 'FND_API.G_RET_STS_ERROR',
2275 x_msg_count,
2276 x_msg_data,
2277 '_Pvt'
2278 );
2279 APP_EXCEPTION.RAISE_EXCEPTION;
2280 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2281 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
2282 (
2283 l_api_name,
2284 G_PKG_NAME,
2285 'FND_API.G_RET_STS_UNEXP_ERROR',
2286 x_msg_count,
2287 x_msg_data,
2288 '_Pvt'
2289 );
2290 APP_EXCEPTION.RAISE_EXCEPTION;
2291 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
2292 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
2293 (
2294 l_api_name,
2295 G_PKG_NAME,
2299 '_Pvt'
2296 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
2297 x_msg_count,
2298 x_msg_data,
2300 );
2301 APP_EXCEPTION.RAISE_EXCEPTION;
2302 END delete_row;
2303 PROCEDURE validate_row
2304 (
2305 p_api_version IN NUMBER,
2306 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
2307 p_validation_level IN NUMBER,
2308 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
2309 x_return_status OUT VARCHAR2,
2310 x_msg_count OUT NUMBER,
2311 x_msg_data OUT VARCHAR2,
2312 p_service_val_rec IN Service_Val_Rec_Type := G_MISS_SERVICE_VAL_REC) IS
2313 l_api_name CONSTANT VARCHAR2(30) := 'validate_row';
2314 l_api_version CONSTANT NUMBER := 1;
2315 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
2316 l_service_rec Service_Rec_Type;
2317 l_def_service_rec Service_Rec_Type;
2318 BEGIN
2319 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
2320 G_PKG_NAME,
2321 l_api_version,
2322 p_api_version,
2323 p_init_msg_list,
2324 '_Pvt',
2325 x_return_status);
2326 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2327 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2328 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
2329 RAISE FND_API.G_EXC_ERROR;
2330 END IF;
2331 migrate(p_service_val_rec, l_service_rec);
2332 --- Validate all non-missing attributes (Item Level Validation)
2333 IF p_validation_level >= FND_API.G_VALID_LEVEL_FULL THEN
2334 l_return_status := Validate_Item_Attributes
2335 (
2336 l_service_rec ---- IN
2337 );
2338 --- If any errors happen abort API
2339 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2340 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2341 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
2342 RAISE FND_API.G_EXC_ERROR;
2343 END IF;
2344 END IF;
2345 IF (p_validation_level >= FND_API.G_VALID_LEVEL_FULL) THEN
2346 l_return_status := Validate_Item_Record(l_def_service_rec);
2347 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2348 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2349 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
2350 RAISE FND_API.G_EXC_ERROR;
2351 END IF;
2352 END IF;
2353 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
2354 EXCEPTION
2355 WHEN FND_API.G_EXC_ERROR THEN
2356 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
2357 (
2358 l_api_name,
2359 G_PKG_NAME,
2360 'FND_API.G_RET_STS_ERROR',
2361 x_msg_count,
2362 x_msg_data,
2363 '_Pvt'
2364 );
2365 APP_EXCEPTION.RAISE_EXCEPTION;
2366 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2367 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
2368 (
2369 l_api_name,
2370 G_PKG_NAME,
2371 'FND_API.G_RET_STS_UNEXP_ERROR',
2372 x_msg_count,
2373 x_msg_data,
2374 '_Pvt'
2375 );
2376 APP_EXCEPTION.RAISE_EXCEPTION;
2377 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
2378 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
2379 (
2380 l_api_name,
2381 G_PKG_NAME,
2382 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
2383 x_msg_count,
2384 x_msg_data,
2385 '_Pvt'
2386 );
2387 APP_EXCEPTION.RAISE_EXCEPTION;
2388 END validate_row;
2389 PROCEDURE validate_row
2390 (
2391 p_api_version IN NUMBER,
2392 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
2393 p_validation_level IN NUMBER,
2394 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
2395 x_return_status OUT VARCHAR2,
2396 x_msg_count OUT NUMBER,
2397 x_msg_data OUT VARCHAR2,
2398 p_cp_service_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2399 p_customer_product_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2400 p_contract_line_status_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2401 p_contract_line_template_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2402 p_contract_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2403 p_service_inventory_item_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2404 p_service_manufacturing_org_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2405 p_status_code IN CS_CP_SERVICES.STATUS_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2406 p_lst_cp_srvic_trnsctin_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2407 p_invoice_flag IN CS_CP_SERVICES.INVOICE_FLAG%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2408 p_coverage_schedule_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2409 p_prorate_flag IN CS_CP_SERVICES.PRORATE_FLAG%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2410 p_duration_quantity IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2411 p_unit_of_measure_code IN CS_CP_SERVICES.UNIT_OF_MEASURE_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2412 p_starting_delay IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2413 p_bill_to_site_use_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2414 p_bill_to_contact_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2415 p_srvic_txn_vilbility_cd IN CS_CP_SERVICES.SERVICE_TXN_AVAILABILITY_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2419 p_pm_schedule_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2416 p_next_pm_visit_date IN CS_CP_SERVICES.NEXT_PM_VISIT_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2417 p_pm_visits_completed IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2418 p_last_pm_visit_date IN CS_CP_SERVICES.LAST_PM_VISIT_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2420 p_pm_schedule_flag IN CS_CP_SERVICES.PM_SCHEDULE_FLAG%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2421 p_current_max_schedule_date IN CS_CP_SERVICES.CURRENT_MAX_SCHEDULE_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2422 p_price_list_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2423 p_service_order_type IN CS_CP_SERVICES.SERVICE_ORDER_TYPE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2424 p_invoice_count IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2425 p_currency_code IN CS_CP_SERVICES.CURRENCY_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2426 p_conversion_type IN CS_CP_SERVICES.CONVERSION_TYPE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2427 p_conversion_rate IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2428 p_conversion_date IN CS_CP_SERVICES.CONVERSION_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2429 p_original_service_line_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2430 p_warranty_flag IN CS_CP_SERVICES.WARRANTY_FLAG%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2431 p_original_start_date IN CS_CP_SERVICES.ORIGINAL_START_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2432 p_original_end_date IN CS_CP_SERVICES.ORIGINAL_END_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2433 p_service_date_change IN CS_CP_SERVICES.SERVICE_DATE_CHANGE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2434 p_workflow IN CS_CP_SERVICES.WORKFLOW%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2435 p_ship_to_site_use_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2436 p_riginl_systm_lin_rfrnc IN CS_CP_SERVICES.ORIGINAL_SYSTEM_LINE_REFERENCE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2437 p_extended_price IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2438 p_discount_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2439 p_tax_code IN CS_CP_SERVICES.TAX_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2440 p_billing_frequency_period IN CS_CP_SERVICES.BILLING_FREQUENCY_PERIOD%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2441 p_first_bill_date IN CS_CP_SERVICES.FIRST_BILL_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2442 p_next_bill_date IN CS_CP_SERVICES.NEXT_BILL_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2443 p_creation_date IN CS_CP_SERVICES.CREATION_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2444 p_bill_on IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2445 p_created_by IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2446 p_last_update_date IN CS_CP_SERVICES.LAST_UPDATE_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2447 p_last_updated_by IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2448 p_last_update_login IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2449 p_start_date_active IN CS_CP_SERVICES.START_DATE_ACTIVE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2450 p_end_date_active IN CS_CP_SERVICES.END_DATE_ACTIVE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2451 p_pricing_attribute1 IN CS_CP_SERVICES.PRICING_ATTRIBUTE1%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2452 p_pricing_attribute2 IN CS_CP_SERVICES.PRICING_ATTRIBUTE2%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2453 p_pricing_attribute3 IN CS_CP_SERVICES.PRICING_ATTRIBUTE3%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2454 p_pricing_attribute4 IN CS_CP_SERVICES.PRICING_ATTRIBUTE4%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2455 p_pricing_attribute5 IN CS_CP_SERVICES.PRICING_ATTRIBUTE5%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2456 p_pricing_attribute6 IN CS_CP_SERVICES.PRICING_ATTRIBUTE6%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2457 p_pricing_attribute7 IN CS_CP_SERVICES.PRICING_ATTRIBUTE7%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2458 p_pricing_attribute8 IN CS_CP_SERVICES.PRICING_ATTRIBUTE8%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2459 p_pricing_attribute9 IN CS_CP_SERVICES.PRICING_ATTRIBUTE9%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2460 p_pricing_attribute10 IN CS_CP_SERVICES.PRICING_ATTRIBUTE10%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2461 p_pricing_attribute11 IN CS_CP_SERVICES.PRICING_ATTRIBUTE11%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2462 p_pricing_attribute12 IN CS_CP_SERVICES.PRICING_ATTRIBUTE12%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2463 p_pricing_attribute13 IN CS_CP_SERVICES.PRICING_ATTRIBUTE13%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2464 p_pricing_attribute14 IN CS_CP_SERVICES.PRICING_ATTRIBUTE14%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2465 p_pricing_attribute15 IN CS_CP_SERVICES.PRICING_ATTRIBUTE15%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2466 p_pricing_context IN CS_CP_SERVICES.PRICING_CONTEXT%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2467 p_attribute1 IN CS_CP_SERVICES.ATTRIBUTE1%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2468 p_attribute2 IN CS_CP_SERVICES.ATTRIBUTE2%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2469 p_attribute3 IN CS_CP_SERVICES.ATTRIBUTE3%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2470 p_attribute4 IN CS_CP_SERVICES.ATTRIBUTE4%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2471 p_attribute5 IN CS_CP_SERVICES.ATTRIBUTE5%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2472 p_attribute6 IN CS_CP_SERVICES.ATTRIBUTE6%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2473 p_attribute7 IN CS_CP_SERVICES.ATTRIBUTE7%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2474 p_attribute8 IN CS_CP_SERVICES.ATTRIBUTE8%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2475 p_attribute9 IN CS_CP_SERVICES.ATTRIBUTE9%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2476 p_attribute10 IN CS_CP_SERVICES.ATTRIBUTE10%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2477 p_attribute11 IN CS_CP_SERVICES.ATTRIBUTE11%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2478 p_attribute12 IN CS_CP_SERVICES.ATTRIBUTE12%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2479 p_attribute13 IN CS_CP_SERVICES.ATTRIBUTE13%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2483 p_list_price IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2480 p_attribute14 IN CS_CP_SERVICES.ATTRIBUTE14%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2481 p_attribute15 IN CS_CP_SERVICES.ATTRIBUTE15%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2482 p_context IN CS_CP_SERVICES.CONTEXT%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2484 p_org_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2485 p_price_percent IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM) IS
2486 l_api_name CONSTANT VARCHAR2(30) := 'validate_row';
2487 l_api_version CONSTANT NUMBER := 1;
2488 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
2489 l_service_rec Service_Val_Rec_Type;
2490 BEGIN
2491 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
2492 G_PKG_NAME,
2493 l_api_version,
2494 p_api_version,
2495 p_init_msg_list,
2496 '_Pvt',
2497 x_return_status);
2498 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2499 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2500 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
2501 RAISE FND_API.G_EXC_ERROR;
2502 END IF;
2503 l_service_rec.CP_SERVICE_ID := p_cp_service_id;
2504 l_service_rec.CUSTOMER_PRODUCT_ID := p_customer_product_id;
2505 l_service_rec.CONTRACT_LINE_STATUS_ID := p_contract_line_status_id;
2506 l_service_rec.CONTRACT_LINE_TEMPLATE_ID := p_contract_line_template_id;
2507 l_service_rec.CONTRACT_ID := p_contract_id;
2508 l_service_rec.SERVICE_INVENTORY_ITEM_ID := p_service_inventory_item_id;
2509 l_service_rec.SERVICE_MANUFACTURING_ORG_ID := p_service_manufacturing_org_id;
2510 l_service_rec.STATUS_CODE := p_status_code;
2511 l_service_rec.LAST_CP_SERVICE_TRANSACTION_ID := p_lst_cp_srvic_trnsctin_id;
2512 l_service_rec.INVOICE_FLAG := p_invoice_flag;
2513 l_service_rec.COVERAGE_SCHEDULE_ID := p_coverage_schedule_id;
2514 l_service_rec.PRORATE_FLAG := p_prorate_flag;
2515 l_service_rec.DURATION_QUANTITY := p_duration_quantity;
2516 l_service_rec.UNIT_OF_MEASURE_CODE := p_unit_of_measure_code;
2517 l_service_rec.STARTING_DELAY := p_starting_delay;
2518 l_service_rec.BILL_TO_SITE_USE_ID := p_bill_to_site_use_id;
2519 l_service_rec.BILL_TO_CONTACT_ID := p_bill_to_contact_id;
2520 l_service_rec.SERVICE_TXN_AVAILABILITY_CODE := p_srvic_txn_vilbility_cd;
2521 l_service_rec.NEXT_PM_VISIT_DATE := p_next_pm_visit_date;
2522 l_service_rec.PM_VISITS_COMPLETED := p_pm_visits_completed;
2523 l_service_rec.LAST_PM_VISIT_DATE := p_last_pm_visit_date;
2524 l_service_rec.PM_SCHEDULE_ID := p_pm_schedule_id;
2525 l_service_rec.PM_SCHEDULE_FLAG := p_pm_schedule_flag;
2526 l_service_rec.CURRENT_MAX_SCHEDULE_DATE := p_current_max_schedule_date;
2527 l_service_rec.PRICE_LIST_ID := p_price_list_id;
2528 l_service_rec.SERVICE_ORDER_TYPE := p_service_order_type;
2529 l_service_rec.INVOICE_COUNT := p_invoice_count;
2530 l_service_rec.CURRENCY_CODE := p_currency_code;
2531 l_service_rec.CONVERSION_TYPE := p_conversion_type;
2532 l_service_rec.CONVERSION_RATE := p_conversion_rate;
2533 l_service_rec.CONVERSION_DATE := p_conversion_date;
2534 l_service_rec.ORIGINAL_SERVICE_LINE_ID := p_original_service_line_id;
2535 l_service_rec.WARRANTY_FLAG := p_warranty_flag;
2536 l_service_rec.ORIGINAL_START_DATE := p_original_start_date;
2537 l_service_rec.ORIGINAL_END_DATE := p_original_end_date;
2538 l_service_rec.SERVICE_DATE_CHANGE := p_service_date_change;
2539 l_service_rec.WORKFLOW := p_workflow;
2540 l_service_rec.SHIP_TO_SITE_USE_ID := p_ship_to_site_use_id;
2541 l_service_rec.ORIGINAL_SYSTEM_LINE_REFERENCE := p_riginl_systm_lin_rfrnc;
2542 l_service_rec.EXTENDED_PRICE := p_extended_price;
2543 l_service_rec.DISCOUNT_ID := p_discount_id;
2544 l_service_rec.TAX_CODE := p_tax_code;
2545 l_service_rec.BILLING_FREQUENCY_PERIOD := p_billing_frequency_period;
2546 l_service_rec.FIRST_BILL_DATE := p_first_bill_date;
2547 l_service_rec.NEXT_BILL_DATE := p_next_bill_date;
2548 l_service_rec.CREATION_DATE := p_creation_date;
2549 l_service_rec.BILL_ON := p_bill_on;
2550 l_service_rec.CREATED_BY := p_created_by;
2551 l_service_rec.LAST_UPDATE_DATE := p_last_update_date;
2552 l_service_rec.LAST_UPDATED_BY := p_last_updated_by;
2553 l_service_rec.LAST_UPDATE_LOGIN := p_last_update_login;
2554 l_service_rec.START_DATE_ACTIVE := p_start_date_active;
2555 l_service_rec.END_DATE_ACTIVE := p_end_date_active;
2556 l_service_rec.PRICING_ATTRIBUTE1 := p_pricing_attribute1;
2557 l_service_rec.PRICING_ATTRIBUTE2 := p_pricing_attribute2;
2558 l_service_rec.PRICING_ATTRIBUTE3 := p_pricing_attribute3;
2559 l_service_rec.PRICING_ATTRIBUTE4 := p_pricing_attribute4;
2560 l_service_rec.PRICING_ATTRIBUTE5 := p_pricing_attribute5;
2561 l_service_rec.PRICING_ATTRIBUTE6 := p_pricing_attribute6;
2562 l_service_rec.PRICING_ATTRIBUTE7 := p_pricing_attribute7;
2563 l_service_rec.PRICING_ATTRIBUTE8 := p_pricing_attribute8;
2564 l_service_rec.PRICING_ATTRIBUTE9 := p_pricing_attribute9;
2565 l_service_rec.PRICING_ATTRIBUTE10 := p_pricing_attribute10;
2566 l_service_rec.PRICING_ATTRIBUTE11 := p_pricing_attribute11;
2567 l_service_rec.PRICING_ATTRIBUTE12 := p_pricing_attribute12;
2568 l_service_rec.PRICING_ATTRIBUTE13 := p_pricing_attribute13;
2569 l_service_rec.PRICING_ATTRIBUTE14 := p_pricing_attribute14;
2570 l_service_rec.PRICING_ATTRIBUTE15 := p_pricing_attribute15;
2571 l_service_rec.PRICING_CONTEXT := p_pricing_context;
2572 l_service_rec.ATTRIBUTE1 := p_attribute1;
2573 l_service_rec.ATTRIBUTE2 := p_attribute2;
2574 l_service_rec.ATTRIBUTE3 := p_attribute3;
2575 l_service_rec.ATTRIBUTE4 := p_attribute4;
2576 l_service_rec.ATTRIBUTE5 := p_attribute5;
2580 l_service_rec.ATTRIBUTE9 := p_attribute9;
2577 l_service_rec.ATTRIBUTE6 := p_attribute6;
2578 l_service_rec.ATTRIBUTE7 := p_attribute7;
2579 l_service_rec.ATTRIBUTE8 := p_attribute8;
2581 l_service_rec.ATTRIBUTE10 := p_attribute10;
2582 l_service_rec.ATTRIBUTE11 := p_attribute11;
2583 l_service_rec.ATTRIBUTE12 := p_attribute12;
2584 l_service_rec.ATTRIBUTE13 := p_attribute13;
2585 l_service_rec.ATTRIBUTE14 := p_attribute14;
2586 l_service_rec.ATTRIBUTE15 := p_attribute15;
2587 l_service_rec.CONTEXT := p_context;
2588 l_service_rec.LIST_PRICE := p_list_price;
2589 l_service_rec.ORG_ID := p_org_id;
2590 l_service_rec.PRICE_PERCENT := p_price_percent;
2591 validate_row(
2592 p_api_version,
2593 p_init_msg_list,
2594 p_validation_level,
2595 p_commit,
2596 x_return_status,
2597 x_msg_count,
2598 x_msg_data,
2599 l_service_rec
2600 );
2601 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
2602 EXCEPTION
2603 WHEN FND_API.G_EXC_ERROR THEN
2604 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
2605 (
2606 l_api_name,
2607 G_PKG_NAME,
2608 'FND_API.G_RET_STS_ERROR',
2609 x_msg_count,
2610 x_msg_data,
2611 '_Pvt'
2612 );
2613 APP_EXCEPTION.RAISE_EXCEPTION;
2614 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2615 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
2616 (
2617 l_api_name,
2618 G_PKG_NAME,
2619 'FND_API.G_RET_STS_UNEXP_ERROR',
2620 x_msg_count,
2621 x_msg_data,
2622 '_Pvt'
2623 );
2624 APP_EXCEPTION.RAISE_EXCEPTION;
2625 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
2626 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
2627 (
2628 l_api_name,
2629 G_PKG_NAME,
2630 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
2631 x_msg_count,
2632 x_msg_data,
2633 '_Pvt'
2634 );
2635 APP_EXCEPTION.RAISE_EXCEPTION;
2636 END validate_row;
2637 END CS_SERVICE_PVT;