DBA Data[Home] [Help]

PACKAGE BODY: APPS.CS_SERVICETRAN_PVT

Source


1 PACKAGE BODY CS_SERVICETRAN_PVT AS
2 /* $Header: csctstrb.pls 115.1 99/07/16 08:54:31 porting ship $ */
3   FUNCTION get_seq_id RETURN NUMBER IS
4     CURSOR get_seq_id_csr IS
5       SELECT CS_CP_SERVICE_TRANSACTIONS_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_servicetran_rec IN  ServiceTran_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_servicetran_rec.last_update_date = TAPI_DEV_KIT.G_MISS_DATE OR
25        p_servicetran_rec.last_update_date IS NULL
26     THEN
27       TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'last_update_date');
28       l_return_status := FND_API.G_RET_STS_ERROR;
29     ELSIF p_servicetran_rec.last_updated_by = TAPI_DEV_KIT.G_MISS_NUM OR
30           p_servicetran_rec.last_updated_by IS NULL
31     THEN
32       TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'last_updated_by');
33       l_return_status := FND_API.G_RET_STS_ERROR;
34     ELSIF p_servicetran_rec.creation_date = TAPI_DEV_KIT.G_MISS_DATE OR
35           p_servicetran_rec.creation_date IS NULL
36     THEN
37       TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'creation_date');
38       l_return_status := FND_API.G_RET_STS_ERROR;
39     ELSIF p_servicetran_rec.created_by = TAPI_DEV_KIT.G_MISS_NUM OR
40           p_servicetran_rec.created_by IS NULL
41     THEN
42       TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'created_by');
43       l_return_status := FND_API.G_RET_STS_ERROR;
44     ELSIF p_servicetran_rec.cp_service_id = TAPI_DEV_KIT.G_MISS_NUM OR
45           p_servicetran_rec.cp_service_id IS NULL
46     THEN
47       TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'cp_service_id');
48       l_return_status := FND_API.G_RET_STS_ERROR;
49     ELSIF p_servicetran_rec.transaction_type_code = TAPI_DEV_KIT.G_MISS_CHAR OR
50           p_servicetran_rec.transaction_type_code IS NULL
51     THEN
52       TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'transaction_type_code');
53       l_return_status := FND_API.G_RET_STS_ERROR;
54     ELSIF p_servicetran_rec.resulting_status_code = TAPI_DEV_KIT.G_MISS_CHAR OR
55           p_servicetran_rec.resulting_status_code IS NULL
56     THEN
57       TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'resulting_status_code');
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_servicetran_rec IN  ServiceTran_Rec_Type,
68     l_def_servicetran_rec OUT  ServiceTran_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_servicetran_rec := p_servicetran_rec;
75     RETURN(l_return_status);
76   End Default_Item_attributes;
77 
78 
79   FUNCTION Validate_Item_Record (
80     p_servicetran_rec IN ServiceTran_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_servicetran_rec IN ServiceTran_Rec_Type
86     )
87     RETURN VARCHAR2 IS
88       item_not_found_error          EXCEPTION;
89       CURSOR cs_cp_services_all_pk_csr (p_cp_service_id      IN NUMBER) IS
90       SELECT *
91         FROM Cs_Cp_Services_All
92        WHERE cs_cp_services_all.cp_service_id = p_cp_service_id;
93       l_cs_cp_services_all_pk        cs_cp_services_all_pk_csr%ROWTYPE;
94       l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
95       l_row_notfound                 BOOLEAN := TRUE;
96     BEGIN
97       IF (p_servicetran_rec.CP_SERVICE_ID IS NOT NULL)
98       THEN
99         OPEN cs_cp_services_all_pk_csr(p_servicetran_rec.CP_SERVICE_ID);
100         FETCH cs_cp_services_all_pk_csr INTO l_cs_cp_services_all_pk;
101         l_row_notfound := cs_cp_services_all_pk_csr%NOTFOUND;
102         CLOSE cs_cp_services_all_pk_csr;
103         IF (l_row_notfound) THEN
104           TAPI_DEV_KIT.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'CP_SERVICE_ID');
105           RAISE item_not_found_error;
106         END IF;
107       END IF;
108       RETURN (l_return_status);
109     EXCEPTION
110       WHEN item_not_found_error THEN
111         l_return_status := FND_API.G_RET_STS_ERROR;
112         RETURN (l_return_status);
113     END validate_foreign_keys;
114   BEGIN
115     l_return_status := validate_foreign_keys (p_servicetran_rec);
116     RETURN (l_return_status);
117   END Validate_Item_Record;
118 
119 
120   PROCEDURE migrate (
121     p_from	IN ServiceTran_Val_Rec_Type,
122     p_to	OUT ServiceTran_Rec_Type
123   ) IS
124   BEGIN
125     p_to.cp_service_transaction_id := p_from.cp_service_transaction_id;
126     p_to.last_update_date := p_from.last_update_date;
127     p_to.last_updated_by := p_from.last_updated_by;
128     p_to.creation_date := p_from.creation_date;
129     p_to.created_by := p_from.created_by;
130     p_to.last_update_login := p_from.last_update_login;
131     p_to.cp_service_id := p_from.cp_service_id;
132     p_to.transaction_type_code := p_from.transaction_type_code;
133     p_to.resulting_status_code := p_from.resulting_status_code;
134     p_to.effective_start_date := p_from.effective_start_date;
135     p_to.effective_end_date := p_from.effective_end_date;
136     p_to.current_end_date := p_from.current_end_date;
137     p_to.terminated_transaction_id := p_from.terminated_transaction_id;
138     p_to.reason_code := p_from.reason_code;
139     p_to.reason_comments := p_from.reason_comments;
140     p_to.service_selling_price := p_from.service_selling_price;
141     p_to.currency_code := p_from.currency_code;
142     p_to.conversion_type := p_from.conversion_type;
143     p_to.conversion_rate := p_from.conversion_rate;
144     p_to.conversion_date := p_from.conversion_date;
145     p_to.invoicing_rule_id := p_from.invoicing_rule_id;
146     p_to.accounting_rule_id := p_from.accounting_rule_id;
147     p_to.payment_terms_id := p_from.payment_terms_id;
148     p_to.service_order_line_id := p_from.service_order_line_id;
149     p_to.service_order_number := p_from.service_order_number;
150     p_to.service_order_date := p_from.service_order_date;
151     p_to.service_order_type := p_from.service_order_type;
152     p_to.invoice_flag := p_from.invoice_flag;
153     p_to.coverage_schedule_id := p_from.coverage_schedule_id;
154     p_to.duration_quantity := p_from.duration_quantity;
155     p_to.unit_of_measure_code := p_from.unit_of_measure_code;
156     p_to.starting_delay := p_from.starting_delay;
157     p_to.bill_to_site_use_id := p_from.bill_to_site_use_id;
158     p_to.bill_to_contact_id := p_from.bill_to_contact_id;
159     p_to.prorate_flag := p_from.prorate_flag;
160     p_to.ra_interface_status := p_from.ra_interface_status;
161     p_to.invoice_count := p_from.invoice_count;
162     p_to.price_list_id := p_from.price_list_id;
163     p_to.attribute1 := p_from.attribute1;
164     p_to.attribute2 := p_from.attribute2;
165     p_to.attribute3 := p_from.attribute3;
166     p_to.attribute4 := p_from.attribute4;
167     p_to.attribute5 := p_from.attribute5;
168     p_to.attribute6 := p_from.attribute6;
169     p_to.attribute7 := p_from.attribute7;
170     p_to.attribute8 := p_from.attribute8;
171     p_to.attribute9 := p_from.attribute9;
172     p_to.attribute10 := p_from.attribute10;
173     p_to.attribute11 := p_from.attribute11;
174     p_to.attribute12 := p_from.attribute12;
175     p_to.attribute13 := p_from.attribute13;
176     p_to.attribute14 := p_from.attribute14;
177     p_to.attribute15 := p_from.attribute15;
178     p_to.context := p_from.context;
179     p_to.pricing_attribute1 := p_from.pricing_attribute1;
180     p_to.pricing_attribute2 := p_from.pricing_attribute2;
181     p_to.pricing_attribute3 := p_from.pricing_attribute3;
182     p_to.pricing_attribute4 := p_from.pricing_attribute4;
183     p_to.pricing_attribute5 := p_from.pricing_attribute5;
184     p_to.pricing_attribute6 := p_from.pricing_attribute6;
185     p_to.pricing_attribute7 := p_from.pricing_attribute7;
186     p_to.pricing_attribute8 := p_from.pricing_attribute8;
187     p_to.pricing_attribute9 := p_from.pricing_attribute9;
188     p_to.pricing_attribute10 := p_from.pricing_attribute10;
189     p_to.pricing_attribute11 := p_from.pricing_attribute11;
190     p_to.pricing_attribute12 := p_from.pricing_attribute12;
191     p_to.pricing_attribute13 := p_from.pricing_attribute13;
192     p_to.pricing_attribute14 := p_from.pricing_attribute14;
193     p_to.pricing_attribute15 := p_from.pricing_attribute15;
194     p_to.pricing_context := p_from.pricing_context;
195     p_to.credit_amount := p_from.credit_amount;
196     p_to.purchase_order_num := p_from.purchase_order_num;
197   END migrate;
198   PROCEDURE migrate (
199     p_from	IN ServiceTran_Rec_Type,
200     p_to	OUT ServiceTran_Val_Rec_Type
201   ) IS
202   BEGIN
203     p_to.cp_service_transaction_id := p_from.cp_service_transaction_id;
204     p_to.last_update_date := p_from.last_update_date;
205     p_to.last_updated_by := p_from.last_updated_by;
206     p_to.creation_date := p_from.creation_date;
207     p_to.created_by := p_from.created_by;
208     p_to.last_update_login := p_from.last_update_login;
209     p_to.cp_service_id := p_from.cp_service_id;
210     p_to.transaction_type_code := p_from.transaction_type_code;
211     p_to.resulting_status_code := p_from.resulting_status_code;
212     p_to.effective_start_date := p_from.effective_start_date;
213     p_to.effective_end_date := p_from.effective_end_date;
214     p_to.current_end_date := p_from.current_end_date;
215     p_to.terminated_transaction_id := p_from.terminated_transaction_id;
216     p_to.reason_code := p_from.reason_code;
217     p_to.reason_comments := p_from.reason_comments;
218     p_to.service_selling_price := p_from.service_selling_price;
219     p_to.currency_code := p_from.currency_code;
220     p_to.conversion_type := p_from.conversion_type;
221     p_to.conversion_rate := p_from.conversion_rate;
222     p_to.conversion_date := p_from.conversion_date;
223     p_to.invoicing_rule_id := p_from.invoicing_rule_id;
224     p_to.accounting_rule_id := p_from.accounting_rule_id;
225     p_to.payment_terms_id := p_from.payment_terms_id;
226     p_to.service_order_line_id := p_from.service_order_line_id;
227     p_to.service_order_number := p_from.service_order_number;
228     p_to.service_order_date := p_from.service_order_date;
229     p_to.service_order_type := p_from.service_order_type;
230     p_to.invoice_flag := p_from.invoice_flag;
231     p_to.coverage_schedule_id := p_from.coverage_schedule_id;
232     p_to.duration_quantity := p_from.duration_quantity;
233     p_to.unit_of_measure_code := p_from.unit_of_measure_code;
234     p_to.starting_delay := p_from.starting_delay;
235     p_to.bill_to_site_use_id := p_from.bill_to_site_use_id;
236     p_to.bill_to_contact_id := p_from.bill_to_contact_id;
237     p_to.prorate_flag := p_from.prorate_flag;
238     p_to.ra_interface_status := p_from.ra_interface_status;
239     p_to.invoice_count := p_from.invoice_count;
240     p_to.price_list_id := p_from.price_list_id;
241     p_to.attribute1 := p_from.attribute1;
242     p_to.attribute2 := p_from.attribute2;
243     p_to.attribute3 := p_from.attribute3;
244     p_to.attribute4 := p_from.attribute4;
245     p_to.attribute5 := p_from.attribute5;
246     p_to.attribute6 := p_from.attribute6;
247     p_to.attribute7 := p_from.attribute7;
248     p_to.attribute8 := p_from.attribute8;
249     p_to.attribute9 := p_from.attribute9;
253     p_to.attribute13 := p_from.attribute13;
250     p_to.attribute10 := p_from.attribute10;
251     p_to.attribute11 := p_from.attribute11;
252     p_to.attribute12 := p_from.attribute12;
254     p_to.attribute14 := p_from.attribute14;
255     p_to.attribute15 := p_from.attribute15;
256     p_to.context := p_from.context;
257     p_to.pricing_attribute1 := p_from.pricing_attribute1;
258     p_to.pricing_attribute2 := p_from.pricing_attribute2;
259     p_to.pricing_attribute3 := p_from.pricing_attribute3;
260     p_to.pricing_attribute4 := p_from.pricing_attribute4;
261     p_to.pricing_attribute5 := p_from.pricing_attribute5;
262     p_to.pricing_attribute6 := p_from.pricing_attribute6;
263     p_to.pricing_attribute7 := p_from.pricing_attribute7;
264     p_to.pricing_attribute8 := p_from.pricing_attribute8;
265     p_to.pricing_attribute9 := p_from.pricing_attribute9;
266     p_to.pricing_attribute10 := p_from.pricing_attribute10;
267     p_to.pricing_attribute11 := p_from.pricing_attribute11;
268     p_to.pricing_attribute12 := p_from.pricing_attribute12;
269     p_to.pricing_attribute13 := p_from.pricing_attribute13;
270     p_to.pricing_attribute14 := p_from.pricing_attribute14;
271     p_to.pricing_attribute15 := p_from.pricing_attribute15;
272     p_to.pricing_context := p_from.pricing_context;
273     p_to.credit_amount := p_from.credit_amount;
274     p_to.purchase_order_num := p_from.purchase_order_num;
275   END migrate;
276   PROCEDURE insert_row
277   (
278     p_api_version                  IN NUMBER,
279     p_init_msg_list                IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
280     p_validation_level             IN NUMBER,
281     p_commit                       IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
282     x_return_status                OUT VARCHAR2,
283     x_msg_count                    OUT NUMBER,
284     x_msg_data                     OUT VARCHAR2,
285     p_servicetran_rec              IN ServiceTran_Rec_Type := G_MISS_SERVICETRAN_REC,
286     x_cp_service_transaction_id    OUT NUMBER) IS
287     l_api_name                     CONSTANT VARCHAR2(30) := 'insert_row';
288     l_api_version                  CONSTANT NUMBER := 1;
289     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
290     l_servicetran_rec              ServiceTran_Rec_Type;
291     l_def_servicetran_rec          ServiceTran_Rec_Type;
292   BEGIN
293     l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
294                                               G_PKG_NAME,
295                                               l_api_version,
296                                               p_api_version,
297                                               p_init_msg_list,
298                                               '_Pvt',
299                                               x_return_status);
300     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
301       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
302     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
303       RAISE FND_API.G_EXC_ERROR;
304     END IF;
305     l_servicetran_rec := p_servicetran_rec;
306     --- Validate all non-missing attributes (Item Level Validation)
307     IF p_validation_level >= FND_API.G_VALID_LEVEL_FULL THEN
308       l_return_status := Validate_Item_Attributes
309       (
310         l_servicetran_rec    ---- IN
311       );
312       --- If any errors happen abort API
313       IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
314         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
315       ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
316         RAISE FND_API.G_EXC_ERROR;
317       END IF;
318     END IF;
319     --- Defaulting item attributes
320     l_return_status := Default_Item_Attributes
321     (
322       l_servicetran_rec,    ---- IN
323       l_def_servicetran_rec
324     );
325     --- If any errors happen abort API
326     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
327       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
328     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
329       RAISE FND_API.G_EXC_ERROR;
330     END IF;
331     IF (p_validation_level >= FND_API.G_VALID_LEVEL_FULL) THEN
332       l_return_status := Validate_Item_Record(l_def_servicetran_rec);
333       IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
334         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
335       ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
336         RAISE FND_API.G_EXC_ERROR;
337       END IF;
338     END IF;
339     -- Set primary key value
340     l_def_servicetran_rec.cp_service_transaction_id := get_seq_id;
341     INSERT INTO CS_CP_SERVICE_TRANSACTIONS(
342         cp_service_transaction_id,
343         last_update_date,
344         last_updated_by,
345         creation_date,
346         created_by,
347         last_update_login,
348         cp_service_id,
349         transaction_type_code,
350         resulting_status_code,
351         effective_start_date,
352         effective_end_date,
353         current_end_date,
354         terminated_transaction_id,
355         reason_code,
356         reason_comments,
357         service_selling_price,
358         currency_code,
359         conversion_type,
360         conversion_rate,
361         conversion_date,
362         invoicing_rule_id,
363         accounting_rule_id,
364         payment_terms_id,
365         service_order_line_id,
366         service_order_number,
367         service_order_date,
368         service_order_type,
369         invoice_flag,
370         coverage_schedule_id,
371         duration_quantity,
372         unit_of_measure_code,
373         starting_delay,
374         bill_to_site_use_id,
375         bill_to_contact_id,
376         prorate_flag,
377         ra_interface_status,
378         invoice_count,
382         attribute3,
379         price_list_id,
380         attribute1,
381         attribute2,
383         attribute4,
384         attribute5,
385         attribute6,
386         attribute7,
387         attribute8,
388         attribute9,
389         attribute10,
390         attribute11,
391         attribute12,
392         attribute13,
393         attribute14,
394         attribute15,
395         context,
396         pricing_attribute1,
397         pricing_attribute2,
398         pricing_attribute3,
399         pricing_attribute4,
400         pricing_attribute5,
401         pricing_attribute6,
402         pricing_attribute7,
403         pricing_attribute8,
404         pricing_attribute9,
405         pricing_attribute10,
406         pricing_attribute11,
407         pricing_attribute12,
408         pricing_attribute13,
409         pricing_attribute14,
410         pricing_attribute15,
411         pricing_context,
412         credit_amount,
413         purchase_order_num)
414       VALUES (
415         l_def_servicetran_rec.cp_service_transaction_id,
416         l_def_servicetran_rec.last_update_date,
417         l_def_servicetran_rec.last_updated_by,
418         l_def_servicetran_rec.creation_date,
419         l_def_servicetran_rec.created_by,
420         l_def_servicetran_rec.last_update_login,
421         l_def_servicetran_rec.cp_service_id,
422         l_def_servicetran_rec.transaction_type_code,
423         l_def_servicetran_rec.resulting_status_code,
424         l_def_servicetran_rec.effective_start_date,
425         l_def_servicetran_rec.effective_end_date,
426         l_def_servicetran_rec.current_end_date,
427         l_def_servicetran_rec.terminated_transaction_id,
428         l_def_servicetran_rec.reason_code,
429         l_def_servicetran_rec.reason_comments,
430         l_def_servicetran_rec.service_selling_price,
431         l_def_servicetran_rec.currency_code,
432         l_def_servicetran_rec.conversion_type,
433         l_def_servicetran_rec.conversion_rate,
434         l_def_servicetran_rec.conversion_date,
435         l_def_servicetran_rec.invoicing_rule_id,
436         l_def_servicetran_rec.accounting_rule_id,
437         l_def_servicetran_rec.payment_terms_id,
438         l_def_servicetran_rec.service_order_line_id,
439         l_def_servicetran_rec.service_order_number,
440         l_def_servicetran_rec.service_order_date,
441         l_def_servicetran_rec.service_order_type,
442         l_def_servicetran_rec.invoice_flag,
443         l_def_servicetran_rec.coverage_schedule_id,
444         l_def_servicetran_rec.duration_quantity,
445         l_def_servicetran_rec.unit_of_measure_code,
446         l_def_servicetran_rec.starting_delay,
447         l_def_servicetran_rec.bill_to_site_use_id,
448         l_def_servicetran_rec.bill_to_contact_id,
449         l_def_servicetran_rec.prorate_flag,
450         l_def_servicetran_rec.ra_interface_status,
451         l_def_servicetran_rec.invoice_count,
452         l_def_servicetran_rec.price_list_id,
453         l_def_servicetran_rec.attribute1,
454         l_def_servicetran_rec.attribute2,
455         l_def_servicetran_rec.attribute3,
456         l_def_servicetran_rec.attribute4,
457         l_def_servicetran_rec.attribute5,
458         l_def_servicetran_rec.attribute6,
459         l_def_servicetran_rec.attribute7,
460         l_def_servicetran_rec.attribute8,
461         l_def_servicetran_rec.attribute9,
462         l_def_servicetran_rec.attribute10,
463         l_def_servicetran_rec.attribute11,
464         l_def_servicetran_rec.attribute12,
465         l_def_servicetran_rec.attribute13,
466         l_def_servicetran_rec.attribute14,
467         l_def_servicetran_rec.attribute15,
468         l_def_servicetran_rec.context,
469         l_def_servicetran_rec.pricing_attribute1,
470         l_def_servicetran_rec.pricing_attribute2,
471         l_def_servicetran_rec.pricing_attribute3,
472         l_def_servicetran_rec.pricing_attribute4,
473         l_def_servicetran_rec.pricing_attribute5,
474         l_def_servicetran_rec.pricing_attribute6,
475         l_def_servicetran_rec.pricing_attribute7,
476         l_def_servicetran_rec.pricing_attribute8,
477         l_def_servicetran_rec.pricing_attribute9,
478         l_def_servicetran_rec.pricing_attribute10,
479         l_def_servicetran_rec.pricing_attribute11,
480         l_def_servicetran_rec.pricing_attribute12,
481         l_def_servicetran_rec.pricing_attribute13,
482         l_def_servicetran_rec.pricing_attribute14,
483         l_def_servicetran_rec.pricing_attribute15,
484         l_def_servicetran_rec.pricing_context,
485         l_def_servicetran_rec.credit_amount,
486         l_def_servicetran_rec.purchase_order_num);
487     -- Set OUT values
488     x_cp_service_transaction_id := l_def_servicetran_rec.cp_service_transaction_id;
489     TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
490   EXCEPTION
491     WHEN FND_API.G_EXC_ERROR THEN
492       x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
493       (
494         l_api_name,
495         G_PKG_NAME,
496         'FND_API.G_RET_STS_ERROR',
497         x_msg_count,
498         x_msg_data,
499         '_Pvt'
500       );
501     APP_EXCEPTION.RAISE_EXCEPTION;
502     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
503       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
504       (
505         l_api_name,
506         G_PKG_NAME,
507         'FND_API.G_RET_STS_UNEXP_ERROR',
508         x_msg_count,
509         x_msg_data,
510         '_Pvt'
511       );
512     APP_EXCEPTION.RAISE_EXCEPTION;
513     WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
517         G_PKG_NAME,
514       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
515       (
516         l_api_name,
518         'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
519         x_msg_count,
520         x_msg_data,
521         '_Pvt'
522       );
523     APP_EXCEPTION.RAISE_EXCEPTION;
524   END insert_row;
525   PROCEDURE insert_row
526   (
527     p_api_version                  IN NUMBER,
528     p_init_msg_list                IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
529     p_validation_level             IN NUMBER,
530     p_commit                       IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
531     x_return_status                OUT VARCHAR2,
532     x_msg_count                    OUT NUMBER,
533     x_msg_data                     OUT VARCHAR2,
534     p_last_update_date             IN CS_CP_SERVICE_TRANSACTIONS.LAST_UPDATE_DATE%TYPE := NULL,
535     p_last_updated_by              IN NUMBER := NULL,
536     p_creation_date                IN CS_CP_SERVICE_TRANSACTIONS.CREATION_DATE%TYPE := NULL,
537     p_created_by                   IN NUMBER := NULL,
538     p_last_update_login            IN NUMBER := NULL,
539     p_cp_service_id                IN NUMBER := NULL,
540     p_transaction_type_code        IN CS_CP_SERVICE_TRANSACTIONS.TRANSACTION_TYPE_CODE%TYPE := NULL,
541     p_resulting_status_code        IN CS_CP_SERVICE_TRANSACTIONS.RESULTING_STATUS_CODE%TYPE := NULL,
542     p_effective_start_date         IN CS_CP_SERVICE_TRANSACTIONS.EFFECTIVE_START_DATE%TYPE := NULL,
543     p_effective_end_date           IN CS_CP_SERVICE_TRANSACTIONS.EFFECTIVE_END_DATE%TYPE := NULL,
544     p_current_end_date             IN CS_CP_SERVICE_TRANSACTIONS.CURRENT_END_DATE%TYPE := NULL,
545     p_terminated_transaction_id    IN NUMBER := NULL,
546     p_reason_code                  IN CS_CP_SERVICE_TRANSACTIONS.REASON_CODE%TYPE := NULL,
547     p_reason_comments              IN CS_CP_SERVICE_TRANSACTIONS.REASON_COMMENTS%TYPE := NULL,
548     p_service_selling_price        IN NUMBER := NULL,
549     p_currency_code                IN CS_CP_SERVICE_TRANSACTIONS.CURRENCY_CODE%TYPE := NULL,
550     p_conversion_type              IN CS_CP_SERVICE_TRANSACTIONS.CONVERSION_TYPE%TYPE := NULL,
551     p_conversion_rate              IN NUMBER := NULL,
552     p_conversion_date              IN CS_CP_SERVICE_TRANSACTIONS.CONVERSION_DATE%TYPE := NULL,
553     p_invoicing_rule_id            IN NUMBER := NULL,
554     p_accounting_rule_id           IN NUMBER := NULL,
555     p_payment_terms_id             IN NUMBER := NULL,
556     p_service_order_line_id        IN NUMBER := NULL,
557     p_service_order_number         IN NUMBER := NULL,
558     p_service_order_date           IN CS_CP_SERVICE_TRANSACTIONS.SERVICE_ORDER_DATE%TYPE := NULL,
559     p_service_order_type           IN CS_CP_SERVICE_TRANSACTIONS.SERVICE_ORDER_TYPE%TYPE := NULL,
560     p_invoice_flag                 IN CS_CP_SERVICE_TRANSACTIONS.INVOICE_FLAG%TYPE := NULL,
561     p_coverage_schedule_id         IN NUMBER := NULL,
562     p_duration_quantity            IN NUMBER := NULL,
563     p_unit_of_measure_code         IN CS_CP_SERVICE_TRANSACTIONS.UNIT_OF_MEASURE_CODE%TYPE := NULL,
564     p_starting_delay               IN NUMBER := NULL,
565     p_bill_to_site_use_id          IN NUMBER := NULL,
566     p_bill_to_contact_id           IN NUMBER := NULL,
567     p_prorate_flag                 IN CS_CP_SERVICE_TRANSACTIONS.PRORATE_FLAG%TYPE := NULL,
571     p_attribute1                   IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE1%TYPE := NULL,
568     p_ra_interface_status          IN CS_CP_SERVICE_TRANSACTIONS.RA_INTERFACE_STATUS%TYPE := NULL,
569     p_invoice_count                IN NUMBER := NULL,
570     p_price_list_id                IN NUMBER := NULL,
572     p_attribute2                   IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE2%TYPE := NULL,
573     p_attribute3                   IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE3%TYPE := NULL,
574     p_attribute4                   IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE4%TYPE := NULL,
575     p_attribute5                   IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE5%TYPE := NULL,
576     p_attribute6                   IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE6%TYPE := NULL,
577     p_attribute7                   IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE7%TYPE := NULL,
578     p_attribute8                   IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE8%TYPE := NULL,
579     p_attribute9                   IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE9%TYPE := NULL,
580     p_attribute10                  IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE10%TYPE := NULL,
581     p_attribute11                  IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE11%TYPE := NULL,
582     p_attribute12                  IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE12%TYPE := NULL,
583     p_attribute13                  IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE13%TYPE := NULL,
584     p_attribute14                  IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE14%TYPE := NULL,
585     p_attribute15                  IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE15%TYPE := NULL,
586     p_context                      IN CS_CP_SERVICE_TRANSACTIONS.CONTEXT%TYPE := NULL,
587     p_pricing_attribute1           IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE1%TYPE := NULL,
588     p_pricing_attribute2           IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE2%TYPE := NULL,
589     p_pricing_attribute3           IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE3%TYPE := NULL,
590     p_pricing_attribute4           IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE4%TYPE := NULL,
591     p_pricing_attribute5           IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE5%TYPE := NULL,
592     p_pricing_attribute6           IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE6%TYPE := NULL,
593     p_pricing_attribute7           IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE7%TYPE := NULL,
594     p_pricing_attribute8           IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE8%TYPE := NULL,
595     p_pricing_attribute9           IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE9%TYPE := NULL,
596     p_pricing_attribute10          IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE10%TYPE := NULL,
597     p_pricing_attribute11          IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE11%TYPE := NULL,
598     p_pricing_attribute12          IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE12%TYPE := NULL,
599     p_pricing_attribute13          IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE13%TYPE := NULL,
600     p_pricing_attribute14          IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE14%TYPE := NULL,
601     p_pricing_attribute15          IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE15%TYPE := NULL,
602     p_pricing_context              IN CS_CP_SERVICE_TRANSACTIONS.PRICING_CONTEXT%TYPE := NULL,
603     p_credit_amount                IN NUMBER := NULL,
604     p_purchase_order_num           IN CS_CP_SERVICE_TRANSACTIONS.PURCHASE_ORDER_NUM%TYPE := NULL,
605     x_cp_service_transaction_id    OUT NUMBER) IS
606     l_api_name                     CONSTANT VARCHAR2(30) := 'insert_row';
607     l_api_version                  CONSTANT NUMBER := 1;
608     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
609     l_servicetran_rec              ServiceTran_Rec_Type;
610   BEGIN
611     l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
612                                               G_PKG_NAME,
613                                               l_api_version,
614                                               p_api_version,
615                                               p_init_msg_list,
616                                               '_Pvt',
617                                               x_return_status);
621       RAISE FND_API.G_EXC_ERROR;
618     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
619       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
620     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
622     END IF;
623     l_servicetran_rec.LAST_UPDATE_DATE := p_last_update_date;
624     l_servicetran_rec.LAST_UPDATED_BY := p_last_updated_by;
625     l_servicetran_rec.CREATION_DATE := p_creation_date;
626     l_servicetran_rec.CREATED_BY := p_created_by;
627     l_servicetran_rec.LAST_UPDATE_LOGIN := p_last_update_login;
628     l_servicetran_rec.CP_SERVICE_ID := p_cp_service_id;
629     l_servicetran_rec.TRANSACTION_TYPE_CODE := p_transaction_type_code;
630     l_servicetran_rec.RESULTING_STATUS_CODE := p_resulting_status_code;
631     l_servicetran_rec.EFFECTIVE_START_DATE := p_effective_start_date;
632     l_servicetran_rec.EFFECTIVE_END_DATE := p_effective_end_date;
633     l_servicetran_rec.CURRENT_END_DATE := p_current_end_date;
634     l_servicetran_rec.TERMINATED_TRANSACTION_ID := p_terminated_transaction_id;
635     l_servicetran_rec.REASON_CODE := p_reason_code;
636     l_servicetran_rec.REASON_COMMENTS := p_reason_comments;
637     l_servicetran_rec.SERVICE_SELLING_PRICE := p_service_selling_price;
638     l_servicetran_rec.CURRENCY_CODE := p_currency_code;
639     l_servicetran_rec.CONVERSION_TYPE := p_conversion_type;
640     l_servicetran_rec.CONVERSION_RATE := p_conversion_rate;
641     l_servicetran_rec.CONVERSION_DATE := p_conversion_date;
642     l_servicetran_rec.INVOICING_RULE_ID := p_invoicing_rule_id;
643     l_servicetran_rec.ACCOUNTING_RULE_ID := p_accounting_rule_id;
644     l_servicetran_rec.PAYMENT_TERMS_ID := p_payment_terms_id;
645     l_servicetran_rec.SERVICE_ORDER_LINE_ID := p_service_order_line_id;
646     l_servicetran_rec.SERVICE_ORDER_NUMBER := p_service_order_number;
647     l_servicetran_rec.SERVICE_ORDER_DATE := p_service_order_date;
648     l_servicetran_rec.SERVICE_ORDER_TYPE := p_service_order_type;
649     l_servicetran_rec.INVOICE_FLAG := p_invoice_flag;
650     l_servicetran_rec.COVERAGE_SCHEDULE_ID := p_coverage_schedule_id;
651     l_servicetran_rec.DURATION_QUANTITY := p_duration_quantity;
652     l_servicetran_rec.UNIT_OF_MEASURE_CODE := p_unit_of_measure_code;
653     l_servicetran_rec.STARTING_DELAY := p_starting_delay;
654     l_servicetran_rec.BILL_TO_SITE_USE_ID := p_bill_to_site_use_id;
655     l_servicetran_rec.BILL_TO_CONTACT_ID := p_bill_to_contact_id;
656     l_servicetran_rec.PRORATE_FLAG := p_prorate_flag;
657     l_servicetran_rec.RA_INTERFACE_STATUS := p_ra_interface_status;
658     l_servicetran_rec.INVOICE_COUNT := p_invoice_count;
659     l_servicetran_rec.PRICE_LIST_ID := p_price_list_id;
660     l_servicetran_rec.ATTRIBUTE1 := p_attribute1;
661     l_servicetran_rec.ATTRIBUTE2 := p_attribute2;
662     l_servicetran_rec.ATTRIBUTE3 := p_attribute3;
663     l_servicetran_rec.ATTRIBUTE4 := p_attribute4;
664     l_servicetran_rec.ATTRIBUTE5 := p_attribute5;
665     l_servicetran_rec.ATTRIBUTE6 := p_attribute6;
666     l_servicetran_rec.ATTRIBUTE7 := p_attribute7;
667     l_servicetran_rec.ATTRIBUTE8 := p_attribute8;
668     l_servicetran_rec.ATTRIBUTE9 := p_attribute9;
669     l_servicetran_rec.ATTRIBUTE10 := p_attribute10;
670     l_servicetran_rec.ATTRIBUTE11 := p_attribute11;
671     l_servicetran_rec.ATTRIBUTE12 := p_attribute12;
672     l_servicetran_rec.ATTRIBUTE13 := p_attribute13;
673     l_servicetran_rec.ATTRIBUTE14 := p_attribute14;
674     l_servicetran_rec.ATTRIBUTE15 := p_attribute15;
675     l_servicetran_rec.CONTEXT := p_context;
676     l_servicetran_rec.PRICING_ATTRIBUTE1 := p_pricing_attribute1;
677     l_servicetran_rec.PRICING_ATTRIBUTE2 := p_pricing_attribute2;
678     l_servicetran_rec.PRICING_ATTRIBUTE3 := p_pricing_attribute3;
679     l_servicetran_rec.PRICING_ATTRIBUTE4 := p_pricing_attribute4;
680     l_servicetran_rec.PRICING_ATTRIBUTE5 := p_pricing_attribute5;
681     l_servicetran_rec.PRICING_ATTRIBUTE6 := p_pricing_attribute6;
682     l_servicetran_rec.PRICING_ATTRIBUTE7 := p_pricing_attribute7;
683     l_servicetran_rec.PRICING_ATTRIBUTE8 := p_pricing_attribute8;
684     l_servicetran_rec.PRICING_ATTRIBUTE9 := p_pricing_attribute9;
685     l_servicetran_rec.PRICING_ATTRIBUTE10 := p_pricing_attribute10;
686     l_servicetran_rec.PRICING_ATTRIBUTE11 := p_pricing_attribute11;
687     l_servicetran_rec.PRICING_ATTRIBUTE12 := p_pricing_attribute12;
688     l_servicetran_rec.PRICING_ATTRIBUTE13 := p_pricing_attribute13;
689     l_servicetran_rec.PRICING_ATTRIBUTE14 := p_pricing_attribute14;
690     l_servicetran_rec.PRICING_ATTRIBUTE15 := p_pricing_attribute15;
691     l_servicetran_rec.PRICING_CONTEXT := p_pricing_context;
692     l_servicetran_rec.CREDIT_AMOUNT := p_credit_amount;
693     l_servicetran_rec.PURCHASE_ORDER_NUM := p_purchase_order_num;
694     insert_row(
695       p_api_version,
696       p_init_msg_list,
697       p_validation_level,
698       p_commit,
699       x_return_status,
700       x_msg_count,
701       x_msg_data,
702       l_servicetran_rec,
703       x_cp_service_transaction_id
704     );
705     TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
706   EXCEPTION
707     WHEN FND_API.G_EXC_ERROR THEN
708       x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
709       (
710         l_api_name,
711         G_PKG_NAME,
712         'FND_API.G_RET_STS_ERROR',
713         x_msg_count,
714         x_msg_data,
715         '_Pvt'
716       );
717     APP_EXCEPTION.RAISE_EXCEPTION;
718     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
719       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
720       (
721         l_api_name,
722         G_PKG_NAME,
723         'FND_API.G_RET_STS_UNEXP_ERROR',
724         x_msg_count,
725         x_msg_data,
726         '_Pvt'
727       );
728     APP_EXCEPTION.RAISE_EXCEPTION;
729     WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
730       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
731       (
732         l_api_name,
733         G_PKG_NAME,
737         '_Pvt'
734         'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
735         x_msg_count,
736         x_msg_data,
738       );
739     APP_EXCEPTION.RAISE_EXCEPTION;
740   END insert_row;
741   Procedure lock_row
742   (
743     p_api_version                  IN NUMBER,
744     p_init_msg_list                IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
745     p_validation_level             IN NUMBER,
746     p_commit                       IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
747     x_return_status                OUT VARCHAR2,
748     x_msg_count                    OUT NUMBER,
749     x_msg_data                     OUT VARCHAR2,
750     p_cp_service_transaction_id    IN NUMBER,
751     p_last_update_date             IN DATE,
752     p_last_updated_by              IN NUMBER,
753     p_creation_date                IN DATE,
754     p_created_by                   IN NUMBER,
755     p_last_update_login            IN NUMBER,
756     p_cp_service_id                IN NUMBER,
757     p_transaction_type_code        IN VARCHAR2,
758     p_resulting_status_code        IN VARCHAR2,
759     p_effective_start_date         IN DATE,
760     p_effective_end_date           IN DATE,
761     p_current_end_date             IN DATE,
762     p_terminated_transaction_id    IN NUMBER,
763     p_reason_code                  IN VARCHAR2,
764     p_reason_comments              IN VARCHAR2,
765     p_service_selling_price        IN NUMBER,
766     p_currency_code                IN VARCHAR2,
767     p_conversion_type              IN VARCHAR2,
768     p_conversion_rate              IN NUMBER,
769     p_conversion_date              IN DATE,
770     p_invoicing_rule_id            IN NUMBER,
771     p_accounting_rule_id           IN NUMBER,
772     p_payment_terms_id             IN NUMBER,
773     p_service_order_line_id        IN NUMBER,
774     p_service_order_number         IN NUMBER,
775     p_service_order_date           IN DATE,
776     p_service_order_type           IN VARCHAR2,
777     p_invoice_flag                 IN VARCHAR2,
778     p_coverage_schedule_id         IN NUMBER,
779     p_duration_quantity            IN NUMBER,
780     p_unit_of_measure_code         IN VARCHAR2,
781     p_starting_delay               IN NUMBER,
782     p_bill_to_site_use_id          IN NUMBER,
783     p_bill_to_contact_id           IN NUMBER,
784     p_prorate_flag                 IN VARCHAR2,
785     p_ra_interface_status          IN VARCHAR2,
786     p_invoice_count                IN NUMBER,
787     p_price_list_id                IN NUMBER,
788     p_attribute1                   IN VARCHAR2,
789     p_attribute2                   IN VARCHAR2,
790     p_attribute3                   IN VARCHAR2,
791     p_attribute4                   IN VARCHAR2,
795     p_attribute8                   IN VARCHAR2,
792     p_attribute5                   IN VARCHAR2,
793     p_attribute6                   IN VARCHAR2,
794     p_attribute7                   IN VARCHAR2,
796     p_attribute9                   IN VARCHAR2,
797     p_attribute10                  IN VARCHAR2,
798     p_attribute11                  IN VARCHAR2,
799     p_attribute12                  IN VARCHAR2,
800     p_attribute13                  IN VARCHAR2,
801     p_attribute14                  IN VARCHAR2,
802     p_attribute15                  IN VARCHAR2,
803     p_context                      IN VARCHAR2,
804     p_pricing_attribute1           IN VARCHAR2,
805     p_pricing_attribute2           IN VARCHAR2,
806     p_pricing_attribute3           IN VARCHAR2,
807     p_pricing_attribute4           IN VARCHAR2,
808     p_pricing_attribute5           IN VARCHAR2,
809     p_pricing_attribute6           IN VARCHAR2,
810     p_pricing_attribute7           IN VARCHAR2,
811     p_pricing_attribute8           IN VARCHAR2,
812     p_pricing_attribute9           IN VARCHAR2,
813     p_pricing_attribute10          IN VARCHAR2,
814     p_pricing_attribute11          IN VARCHAR2,
815     p_pricing_attribute12          IN VARCHAR2,
816     p_pricing_attribute13          IN VARCHAR2,
817     p_pricing_attribute14          IN VARCHAR2,
818     p_pricing_attribute15          IN VARCHAR2,
819     p_pricing_context              IN VARCHAR2,
820     p_credit_amount                IN NUMBER,
821     p_purchase_order_num           IN VARCHAR2) IS
822     E_Resource_Busy               EXCEPTION;
823     PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
824     CURSOR lock_csr IS
825     SELECT *
826      FROM CS_CP_SERVICE_TRANSACTIONS
827     WHERE
828       CP_SERVICE_TRANSACTION_ID = p_cp_service_transaction_id
829     FOR UPDATE NOWAIT;
830 
831     l_api_name                     CONSTANT VARCHAR2(30) := 'lock_row';
832     l_api_version                  CONSTANT NUMBER := 1;
833     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
834     l_object_version_number       lock_csr%ROWTYPE;
835     l_row_notfound                BOOLEAN := FALSE;
836     lc_row_notfound               BOOLEAN := FALSE;
837   BEGIN
838     l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
839                                               G_PKG_NAME,
840                                               l_api_version,
841                                               p_api_version,
842                                               p_init_msg_list,
843                                               '_Pvt',
844                                               x_return_status);
845     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
846       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
850     BEGIN
847     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
848       RAISE FND_API.G_EXC_ERROR;
849     END IF;
851       OPEN lock_csr;
852       FETCH lock_csr INTO l_object_version_number;
853       l_row_notfound := lock_csr%NOTFOUND;
854       CLOSE lock_csr;
855     EXCEPTION
856       WHEN E_Resource_Busy THEN
857         IF (lock_csr%ISOPEN) THEN
858           CLOSE lock_csr;
859         END IF;
860         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
861         RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
862     END;
863 
864     IF ( l_row_notfound ) THEN
865       TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
866       RAISE FND_API.G_EXC_ERROR;
867     ELSE
868       IF (l_object_version_number.CP_SERVICE_TRANSACTION_ID <> p_cp_service_transaction_id) THEN
869         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
870         RAISE FND_API.G_EXC_ERROR;
871       END IF;
872       IF (l_object_version_number.LAST_UPDATE_DATE <> p_last_update_date) THEN
873         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
874         RAISE FND_API.G_EXC_ERROR;
875       END IF;
876       IF (l_object_version_number.LAST_UPDATED_BY <> p_last_updated_by) THEN
877         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
878         RAISE FND_API.G_EXC_ERROR;
879       END IF;
880       IF (l_object_version_number.CREATION_DATE <> p_creation_date) THEN
881         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
882         RAISE FND_API.G_EXC_ERROR;
883       END IF;
884       IF (l_object_version_number.CREATED_BY <> p_created_by) THEN
885         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
886         RAISE FND_API.G_EXC_ERROR;
887       END IF;
888       IF (l_object_version_number.LAST_UPDATE_LOGIN <> p_last_update_login) THEN
889         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
890         RAISE FND_API.G_EXC_ERROR;
891       END IF;
892       IF (l_object_version_number.CP_SERVICE_ID <> p_cp_service_id) THEN
893         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
894         RAISE FND_API.G_EXC_ERROR;
895       END IF;
896       IF (l_object_version_number.TRANSACTION_TYPE_CODE <> p_transaction_type_code) THEN
897         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
898         RAISE FND_API.G_EXC_ERROR;
899       END IF;
900       IF (l_object_version_number.RESULTING_STATUS_CODE <> p_resulting_status_code) THEN
901         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
902         RAISE FND_API.G_EXC_ERROR;
903       END IF;
904       IF (l_object_version_number.EFFECTIVE_START_DATE <> p_effective_start_date) THEN
905         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
906         RAISE FND_API.G_EXC_ERROR;
910         RAISE FND_API.G_EXC_ERROR;
907       END IF;
908       IF (l_object_version_number.EFFECTIVE_END_DATE <> p_effective_end_date) THEN
909         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
911       END IF;
912       IF (l_object_version_number.CURRENT_END_DATE <> p_current_end_date) THEN
913         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
914         RAISE FND_API.G_EXC_ERROR;
915       END IF;
916       IF (l_object_version_number.TERMINATED_TRANSACTION_ID <> p_terminated_transaction_id) THEN
917         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
918         RAISE FND_API.G_EXC_ERROR;
919       END IF;
920       IF (l_object_version_number.REASON_CODE <> p_reason_code) THEN
921         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
922         RAISE FND_API.G_EXC_ERROR;
923       END IF;
924       IF (l_object_version_number.REASON_COMMENTS <> p_reason_comments) THEN
925         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
926         RAISE FND_API.G_EXC_ERROR;
927       END IF;
928       IF (l_object_version_number.SERVICE_SELLING_PRICE <> p_service_selling_price) THEN
929         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
930         RAISE FND_API.G_EXC_ERROR;
931       END IF;
932       IF (l_object_version_number.CURRENCY_CODE <> p_currency_code) THEN
933         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
934         RAISE FND_API.G_EXC_ERROR;
935       END IF;
936       IF (l_object_version_number.CONVERSION_TYPE <> p_conversion_type) THEN
937         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
938         RAISE FND_API.G_EXC_ERROR;
939       END IF;
940       IF (l_object_version_number.CONVERSION_RATE <> p_conversion_rate) THEN
941         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
942         RAISE FND_API.G_EXC_ERROR;
943       END IF;
944       IF (l_object_version_number.CONVERSION_DATE <> p_conversion_date) THEN
945         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
946         RAISE FND_API.G_EXC_ERROR;
947       END IF;
948       IF (l_object_version_number.INVOICING_RULE_ID <> p_invoicing_rule_id) THEN
949         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
950         RAISE FND_API.G_EXC_ERROR;
951       END IF;
952       IF (l_object_version_number.ACCOUNTING_RULE_ID <> p_accounting_rule_id) THEN
953         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
954         RAISE FND_API.G_EXC_ERROR;
955       END IF;
956       IF (l_object_version_number.PAYMENT_TERMS_ID <> p_payment_terms_id) THEN
957         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
958         RAISE FND_API.G_EXC_ERROR;
959       END IF;
960       IF (l_object_version_number.SERVICE_ORDER_LINE_ID <> p_service_order_line_id) THEN
961         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
962         RAISE FND_API.G_EXC_ERROR;
963       END IF;
964       IF (l_object_version_number.SERVICE_ORDER_NUMBER <> p_service_order_number) THEN
965         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
966         RAISE FND_API.G_EXC_ERROR;
967       END IF;
968       IF (l_object_version_number.SERVICE_ORDER_DATE <> p_service_order_date) THEN
969         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
970         RAISE FND_API.G_EXC_ERROR;
971       END IF;
972       IF (l_object_version_number.SERVICE_ORDER_TYPE <> p_service_order_type) THEN
976       IF (l_object_version_number.INVOICE_FLAG <> p_invoice_flag) THEN
973         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
974         RAISE FND_API.G_EXC_ERROR;
975       END IF;
977         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
978         RAISE FND_API.G_EXC_ERROR;
979       END IF;
980       IF (l_object_version_number.COVERAGE_SCHEDULE_ID <> p_coverage_schedule_id) THEN
981         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
982         RAISE FND_API.G_EXC_ERROR;
983       END IF;
984       IF (l_object_version_number.DURATION_QUANTITY <> p_duration_quantity) THEN
985         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
986         RAISE FND_API.G_EXC_ERROR;
987       END IF;
988       IF (l_object_version_number.UNIT_OF_MEASURE_CODE <> p_unit_of_measure_code) THEN
989         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
990         RAISE FND_API.G_EXC_ERROR;
991       END IF;
992       IF (l_object_version_number.STARTING_DELAY <> p_starting_delay) THEN
993         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
994         RAISE FND_API.G_EXC_ERROR;
995       END IF;
996       IF (l_object_version_number.BILL_TO_SITE_USE_ID <> p_bill_to_site_use_id) THEN
997         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
998         RAISE FND_API.G_EXC_ERROR;
999       END IF;
1000       IF (l_object_version_number.BILL_TO_CONTACT_ID <> p_bill_to_contact_id) THEN
1001         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1002         RAISE FND_API.G_EXC_ERROR;
1003       END IF;
1004       IF (l_object_version_number.PRORATE_FLAG <> p_prorate_flag) THEN
1005         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1006         RAISE FND_API.G_EXC_ERROR;
1007       END IF;
1008       IF (l_object_version_number.RA_INTERFACE_STATUS <> p_ra_interface_status) THEN
1009         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1010         RAISE FND_API.G_EXC_ERROR;
1011       END IF;
1012       IF (l_object_version_number.INVOICE_COUNT <> p_invoice_count) THEN
1013         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1014         RAISE FND_API.G_EXC_ERROR;
1015       END IF;
1016       IF (l_object_version_number.PRICE_LIST_ID <> p_price_list_id) THEN
1017         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1018         RAISE FND_API.G_EXC_ERROR;
1019       END IF;
1020       IF (l_object_version_number.ATTRIBUTE1 <> p_attribute1) THEN
1021         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1022         RAISE FND_API.G_EXC_ERROR;
1023       END IF;
1024       IF (l_object_version_number.ATTRIBUTE2 <> p_attribute2) THEN
1025         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1026         RAISE FND_API.G_EXC_ERROR;
1027       END IF;
1028       IF (l_object_version_number.ATTRIBUTE3 <> p_attribute3) 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.ATTRIBUTE4 <> p_attribute4) 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.ATTRIBUTE5 <> p_attribute5) 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.ATTRIBUTE6 <> p_attribute6) THEN
1044       IF (l_object_version_number.ATTRIBUTE7 <> p_attribute7) THEN
1041         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1042         RAISE FND_API.G_EXC_ERROR;
1043       END IF;
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.ATTRIBUTE8 <> p_attribute8) 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.ATTRIBUTE9 <> p_attribute9) 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.ATTRIBUTE10 <> p_attribute10) 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.ATTRIBUTE11 <> p_attribute11) 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.ATTRIBUTE12 <> p_attribute12) 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.ATTRIBUTE13 <> p_attribute13) 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.ATTRIBUTE14 <> p_attribute14) 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.ATTRIBUTE15 <> p_attribute15) 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.CONTEXT <> p_context) 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.PRICING_ATTRIBUTE1 <> p_pricing_attribute1) 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.PRICING_ATTRIBUTE2 <> p_pricing_attribute2) 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.PRICING_ATTRIBUTE3 <> p_pricing_attribute3) 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.PRICING_ATTRIBUTE4 <> p_pricing_attribute4) 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.PRICING_ATTRIBUTE5 <> p_pricing_attribute5) THEN
1104       IF (l_object_version_number.PRICING_ATTRIBUTE6 <> p_pricing_attribute6) THEN
1101         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1102         RAISE FND_API.G_EXC_ERROR;
1103       END IF;
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.PRICING_ATTRIBUTE7 <> p_pricing_attribute7) 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.PRICING_ATTRIBUTE8 <> p_pricing_attribute8) 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.PRICING_ATTRIBUTE9 <> p_pricing_attribute9) 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.PRICING_ATTRIBUTE10 <> p_pricing_attribute10) 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.PRICING_ATTRIBUTE11 <> p_pricing_attribute11) 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.PRICING_ATTRIBUTE12 <> p_pricing_attribute12) 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.PRICING_ATTRIBUTE13 <> p_pricing_attribute13) 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.PRICING_ATTRIBUTE14 <> p_pricing_attribute14) 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.PRICING_ATTRIBUTE15 <> p_pricing_attribute15) 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.PRICING_CONTEXT <> p_pricing_context) 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.CREDIT_AMOUNT <> p_credit_amount) 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.PURCHASE_ORDER_NUM <> p_purchase_order_num) 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     END IF;
1157     TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
1158   EXCEPTION
1159     WHEN FND_API.G_EXC_ERROR THEN
1160       x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1161       (
1162         l_api_name,
1163         G_PKG_NAME,
1164         'FND_API.G_RET_STS_ERROR',
1165         x_msg_count,
1166         x_msg_data,
1167         '_Pvt'
1168       );
1169     APP_EXCEPTION.RAISE_EXCEPTION;
1170     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1171       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1172       (
1173         l_api_name,
1174         G_PKG_NAME,
1175         'FND_API.G_RET_STS_UNEXP_ERROR',
1176         x_msg_count,
1177         x_msg_data,
1178         '_Pvt'
1179       );
1180     APP_EXCEPTION.RAISE_EXCEPTION;
1181     WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
1182       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1183       (
1184         l_api_name,
1185         G_PKG_NAME,
1186         'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
1187         x_msg_count,
1188         x_msg_data,
1189         '_Pvt'
1190       );
1191     APP_EXCEPTION.RAISE_EXCEPTION;
1192   END lock_row;
1193   Procedure update_row
1194   (
1195     p_api_version                  IN NUMBER,
1196     p_init_msg_list                IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1197     p_validation_level             IN NUMBER,
1198     p_commit                       IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1199     x_return_status                OUT VARCHAR2,
1200     x_msg_count                    OUT NUMBER,
1201     x_msg_data                     OUT VARCHAR2,
1202     p_servicetran_val_rec          IN ServiceTran_Val_Rec_Type := G_MISS_SERVICETRAN_VAL_REC) IS
1203     l_api_name                     CONSTANT VARCHAR2(30) := 'update_row';
1204     l_api_version                  CONSTANT NUMBER := 1;
1205     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1206     l_servicetran_rec              ServiceTran_Rec_Type;
1207     l_def_servicetran_rec          ServiceTran_Rec_Type;
1208     FUNCTION populate_new_record (
1209       p_servicetran_rec	IN ServiceTran_Rec_Type,
1210       x_servicetran_rec	OUT ServiceTran_Rec_Type
1211     ) RETURN VARCHAR2 IS
1212       CURSOR cs_cp_service_transa1_csr (p_cp_service_transaction_id  IN NUMBER) IS
1213       SELECT *
1214         FROM Cs_Cp_Service_Transactions
1215        WHERE cs_cp_service_transactions.cp_service_transaction_id = p_cp_service_transaction_id;
1216       l_cs_cp_service_transa1        cs_cp_service_transa1_csr%ROWTYPE;
1217       l_row_notfound		BOOLEAN := TRUE;
1218       l_return_status		VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1219     BEGIN
1220       x_servicetran_rec := p_servicetran_rec;
1221       -- Get current database values
1222       OPEN cs_cp_service_transa1_csr (p_servicetran_rec.cp_service_transaction_id);
1223       FETCH cs_cp_service_transa1_csr INTO l_cs_cp_service_transa1;
1224       l_row_notfound := cs_cp_service_transa1_csr%NOTFOUND;
1225       CLOSE cs_cp_service_transa1_csr;
1226       IF (l_row_notfound) THEN
1227         l_return_status := FND_API.G_RET_STS_ERROR;
1228       END IF;
1229       IF (x_servicetran_rec.cp_service_transaction_id = TAPI_DEV_KIT.G_MISS_NUM)
1230       THEN
1231         x_servicetran_rec.cp_service_transaction_id := l_cs_cp_service_transa1.cp_service_transaction_id;
1232       END IF;
1233       IF (x_servicetran_rec.last_update_date = TAPI_DEV_KIT.G_MISS_DATE)
1234       THEN
1235         x_servicetran_rec.last_update_date := l_cs_cp_service_transa1.last_update_date;
1236       END IF;
1237       IF (x_servicetran_rec.last_updated_by = TAPI_DEV_KIT.G_MISS_NUM)
1238       THEN
1239         x_servicetran_rec.last_updated_by := l_cs_cp_service_transa1.last_updated_by;
1240       END IF;
1241       IF (x_servicetran_rec.creation_date = TAPI_DEV_KIT.G_MISS_DATE)
1242       THEN
1243         x_servicetran_rec.creation_date := l_cs_cp_service_transa1.creation_date;
1244       END IF;
1245       IF (x_servicetran_rec.created_by = TAPI_DEV_KIT.G_MISS_NUM)
1246       THEN
1247         x_servicetran_rec.created_by := l_cs_cp_service_transa1.created_by;
1248       END IF;
1249       IF (x_servicetran_rec.last_update_login = TAPI_DEV_KIT.G_MISS_NUM)
1250       THEN
1251         x_servicetran_rec.last_update_login := l_cs_cp_service_transa1.last_update_login;
1252       END IF;
1253       IF (x_servicetran_rec.cp_service_id = TAPI_DEV_KIT.G_MISS_NUM)
1254       THEN
1255         x_servicetran_rec.cp_service_id := l_cs_cp_service_transa1.cp_service_id;
1256       END IF;
1257       IF (x_servicetran_rec.transaction_type_code = TAPI_DEV_KIT.G_MISS_CHAR)
1258       THEN
1259         x_servicetran_rec.transaction_type_code := l_cs_cp_service_transa1.transaction_type_code;
1260       END IF;
1261       IF (x_servicetran_rec.resulting_status_code = TAPI_DEV_KIT.G_MISS_CHAR)
1262       THEN
1263         x_servicetran_rec.resulting_status_code := l_cs_cp_service_transa1.resulting_status_code;
1264       END IF;
1265       IF (x_servicetran_rec.effective_start_date = TAPI_DEV_KIT.G_MISS_DATE)
1266       THEN
1267         x_servicetran_rec.effective_start_date := l_cs_cp_service_transa1.effective_start_date;
1268       END IF;
1269       IF (x_servicetran_rec.effective_end_date = TAPI_DEV_KIT.G_MISS_DATE)
1270       THEN
1271         x_servicetran_rec.effective_end_date := l_cs_cp_service_transa1.effective_end_date;
1272       END IF;
1273       IF (x_servicetran_rec.current_end_date = TAPI_DEV_KIT.G_MISS_DATE)
1274       THEN
1275         x_servicetran_rec.current_end_date := l_cs_cp_service_transa1.current_end_date;
1276       END IF;
1277       IF (x_servicetran_rec.terminated_transaction_id = TAPI_DEV_KIT.G_MISS_NUM)
1278       THEN
1279         x_servicetran_rec.terminated_transaction_id := l_cs_cp_service_transa1.terminated_transaction_id;
1280       END IF;
1281       IF (x_servicetran_rec.reason_code = TAPI_DEV_KIT.G_MISS_CHAR)
1282       THEN
1283         x_servicetran_rec.reason_code := l_cs_cp_service_transa1.reason_code;
1284       END IF;
1285       IF (x_servicetran_rec.reason_comments = TAPI_DEV_KIT.G_MISS_CHAR)
1286       THEN
1287         x_servicetran_rec.reason_comments := l_cs_cp_service_transa1.reason_comments;
1288       END IF;
1289       IF (x_servicetran_rec.service_selling_price = TAPI_DEV_KIT.G_MISS_NUM)
1290       THEN
1291         x_servicetran_rec.service_selling_price := l_cs_cp_service_transa1.service_selling_price;
1292       END IF;
1293       IF (x_servicetran_rec.currency_code = TAPI_DEV_KIT.G_MISS_CHAR)
1294       THEN
1295         x_servicetran_rec.currency_code := l_cs_cp_service_transa1.currency_code;
1296       END IF;
1297       IF (x_servicetran_rec.conversion_type = TAPI_DEV_KIT.G_MISS_CHAR)
1298       THEN
1299         x_servicetran_rec.conversion_type := l_cs_cp_service_transa1.conversion_type;
1300       END IF;
1301       IF (x_servicetran_rec.conversion_rate = TAPI_DEV_KIT.G_MISS_NUM)
1302       THEN
1303         x_servicetran_rec.conversion_rate := l_cs_cp_service_transa1.conversion_rate;
1304       END IF;
1305       IF (x_servicetran_rec.conversion_date = TAPI_DEV_KIT.G_MISS_DATE)
1306       THEN
1307         x_servicetran_rec.conversion_date := l_cs_cp_service_transa1.conversion_date;
1308       END IF;
1309       IF (x_servicetran_rec.invoicing_rule_id = TAPI_DEV_KIT.G_MISS_NUM)
1310       THEN
1311         x_servicetran_rec.invoicing_rule_id := l_cs_cp_service_transa1.invoicing_rule_id;
1312       END IF;
1313       IF (x_servicetran_rec.accounting_rule_id = TAPI_DEV_KIT.G_MISS_NUM)
1314       THEN
1315         x_servicetran_rec.accounting_rule_id := l_cs_cp_service_transa1.accounting_rule_id;
1316       END IF;
1317       IF (x_servicetran_rec.payment_terms_id = TAPI_DEV_KIT.G_MISS_NUM)
1318       THEN
1319         x_servicetran_rec.payment_terms_id := l_cs_cp_service_transa1.payment_terms_id;
1320       END IF;
1324       END IF;
1321       IF (x_servicetran_rec.service_order_line_id = TAPI_DEV_KIT.G_MISS_NUM)
1322       THEN
1323         x_servicetran_rec.service_order_line_id := l_cs_cp_service_transa1.service_order_line_id;
1325       IF (x_servicetran_rec.service_order_number = TAPI_DEV_KIT.G_MISS_NUM)
1326       THEN
1327         x_servicetran_rec.service_order_number := l_cs_cp_service_transa1.service_order_number;
1328       END IF;
1329       IF (x_servicetran_rec.service_order_date = TAPI_DEV_KIT.G_MISS_DATE)
1330       THEN
1331         x_servicetran_rec.service_order_date := l_cs_cp_service_transa1.service_order_date;
1332       END IF;
1333       IF (x_servicetran_rec.service_order_type = TAPI_DEV_KIT.G_MISS_CHAR)
1334       THEN
1335         x_servicetran_rec.service_order_type := l_cs_cp_service_transa1.service_order_type;
1336       END IF;
1337       IF (x_servicetran_rec.invoice_flag = TAPI_DEV_KIT.G_MISS_CHAR)
1338       THEN
1339         x_servicetran_rec.invoice_flag := l_cs_cp_service_transa1.invoice_flag;
1340       END IF;
1341       IF (x_servicetran_rec.coverage_schedule_id = TAPI_DEV_KIT.G_MISS_NUM)
1342       THEN
1343         x_servicetran_rec.coverage_schedule_id := l_cs_cp_service_transa1.coverage_schedule_id;
1344       END IF;
1345       IF (x_servicetran_rec.duration_quantity = TAPI_DEV_KIT.G_MISS_NUM)
1346       THEN
1347         x_servicetran_rec.duration_quantity := l_cs_cp_service_transa1.duration_quantity;
1348       END IF;
1349       IF (x_servicetran_rec.unit_of_measure_code = TAPI_DEV_KIT.G_MISS_CHAR)
1350       THEN
1351         x_servicetran_rec.unit_of_measure_code := l_cs_cp_service_transa1.unit_of_measure_code;
1352       END IF;
1353       IF (x_servicetran_rec.starting_delay = TAPI_DEV_KIT.G_MISS_NUM)
1354       THEN
1355         x_servicetran_rec.starting_delay := l_cs_cp_service_transa1.starting_delay;
1356       END IF;
1357       IF (x_servicetran_rec.bill_to_site_use_id = TAPI_DEV_KIT.G_MISS_NUM)
1358       THEN
1359         x_servicetran_rec.bill_to_site_use_id := l_cs_cp_service_transa1.bill_to_site_use_id;
1360       END IF;
1361       IF (x_servicetran_rec.bill_to_contact_id = TAPI_DEV_KIT.G_MISS_NUM)
1362       THEN
1363         x_servicetran_rec.bill_to_contact_id := l_cs_cp_service_transa1.bill_to_contact_id;
1364       END IF;
1365       IF (x_servicetran_rec.prorate_flag = TAPI_DEV_KIT.G_MISS_CHAR)
1366       THEN
1367         x_servicetran_rec.prorate_flag := l_cs_cp_service_transa1.prorate_flag;
1368       END IF;
1369       IF (x_servicetran_rec.ra_interface_status = TAPI_DEV_KIT.G_MISS_CHAR)
1370       THEN
1371         x_servicetran_rec.ra_interface_status := l_cs_cp_service_transa1.ra_interface_status;
1372       END IF;
1373       IF (x_servicetran_rec.invoice_count = TAPI_DEV_KIT.G_MISS_NUM)
1374       THEN
1375         x_servicetran_rec.invoice_count := l_cs_cp_service_transa1.invoice_count;
1376       END IF;
1377       IF (x_servicetran_rec.price_list_id = TAPI_DEV_KIT.G_MISS_NUM)
1378       THEN
1379         x_servicetran_rec.price_list_id := l_cs_cp_service_transa1.price_list_id;
1380       END IF;
1381       IF (x_servicetran_rec.attribute1 = TAPI_DEV_KIT.G_MISS_CHAR)
1382       THEN
1386       THEN
1383         x_servicetran_rec.attribute1 := l_cs_cp_service_transa1.attribute1;
1384       END IF;
1385       IF (x_servicetran_rec.attribute2 = TAPI_DEV_KIT.G_MISS_CHAR)
1387         x_servicetran_rec.attribute2 := l_cs_cp_service_transa1.attribute2;
1388       END IF;
1389       IF (x_servicetran_rec.attribute3 = TAPI_DEV_KIT.G_MISS_CHAR)
1390       THEN
1391         x_servicetran_rec.attribute3 := l_cs_cp_service_transa1.attribute3;
1392       END IF;
1393       IF (x_servicetran_rec.attribute4 = TAPI_DEV_KIT.G_MISS_CHAR)
1394       THEN
1395         x_servicetran_rec.attribute4 := l_cs_cp_service_transa1.attribute4;
1396       END IF;
1397       IF (x_servicetran_rec.attribute5 = TAPI_DEV_KIT.G_MISS_CHAR)
1398       THEN
1399         x_servicetran_rec.attribute5 := l_cs_cp_service_transa1.attribute5;
1400       END IF;
1401       IF (x_servicetran_rec.attribute6 = TAPI_DEV_KIT.G_MISS_CHAR)
1402       THEN
1403         x_servicetran_rec.attribute6 := l_cs_cp_service_transa1.attribute6;
1404       END IF;
1405       IF (x_servicetran_rec.attribute7 = TAPI_DEV_KIT.G_MISS_CHAR)
1406       THEN
1407         x_servicetran_rec.attribute7 := l_cs_cp_service_transa1.attribute7;
1408       END IF;
1409       IF (x_servicetran_rec.attribute8 = TAPI_DEV_KIT.G_MISS_CHAR)
1410       THEN
1411         x_servicetran_rec.attribute8 := l_cs_cp_service_transa1.attribute8;
1412       END IF;
1413       IF (x_servicetran_rec.attribute9 = TAPI_DEV_KIT.G_MISS_CHAR)
1414       THEN
1415         x_servicetran_rec.attribute9 := l_cs_cp_service_transa1.attribute9;
1416       END IF;
1417       IF (x_servicetran_rec.attribute10 = TAPI_DEV_KIT.G_MISS_CHAR)
1418       THEN
1419         x_servicetran_rec.attribute10 := l_cs_cp_service_transa1.attribute10;
1420       END IF;
1421       IF (x_servicetran_rec.attribute11 = TAPI_DEV_KIT.G_MISS_CHAR)
1422       THEN
1423         x_servicetran_rec.attribute11 := l_cs_cp_service_transa1.attribute11;
1424       END IF;
1425       IF (x_servicetran_rec.attribute12 = TAPI_DEV_KIT.G_MISS_CHAR)
1426       THEN
1427         x_servicetran_rec.attribute12 := l_cs_cp_service_transa1.attribute12;
1428       END IF;
1429       IF (x_servicetran_rec.attribute13 = TAPI_DEV_KIT.G_MISS_CHAR)
1430       THEN
1431         x_servicetran_rec.attribute13 := l_cs_cp_service_transa1.attribute13;
1432       END IF;
1433       IF (x_servicetran_rec.attribute14 = TAPI_DEV_KIT.G_MISS_CHAR)
1434       THEN
1435         x_servicetran_rec.attribute14 := l_cs_cp_service_transa1.attribute14;
1436       END IF;
1437       IF (x_servicetran_rec.attribute15 = TAPI_DEV_KIT.G_MISS_CHAR)
1438       THEN
1439         x_servicetran_rec.attribute15 := l_cs_cp_service_transa1.attribute15;
1440       END IF;
1441       IF (x_servicetran_rec.context = TAPI_DEV_KIT.G_MISS_CHAR)
1442       THEN
1443         x_servicetran_rec.context := l_cs_cp_service_transa1.context;
1444       END IF;
1445       IF (x_servicetran_rec.pricing_attribute1 = TAPI_DEV_KIT.G_MISS_CHAR)
1446       THEN
1450       THEN
1447         x_servicetran_rec.pricing_attribute1 := l_cs_cp_service_transa1.pricing_attribute1;
1448       END IF;
1449       IF (x_servicetran_rec.pricing_attribute2 = TAPI_DEV_KIT.G_MISS_CHAR)
1451         x_servicetran_rec.pricing_attribute2 := l_cs_cp_service_transa1.pricing_attribute2;
1452       END IF;
1453       IF (x_servicetran_rec.pricing_attribute3 = TAPI_DEV_KIT.G_MISS_CHAR)
1454       THEN
1455         x_servicetran_rec.pricing_attribute3 := l_cs_cp_service_transa1.pricing_attribute3;
1456       END IF;
1457       IF (x_servicetran_rec.pricing_attribute4 = TAPI_DEV_KIT.G_MISS_CHAR)
1458       THEN
1459         x_servicetran_rec.pricing_attribute4 := l_cs_cp_service_transa1.pricing_attribute4;
1460       END IF;
1461       IF (x_servicetran_rec.pricing_attribute5 = TAPI_DEV_KIT.G_MISS_CHAR)
1462       THEN
1463         x_servicetran_rec.pricing_attribute5 := l_cs_cp_service_transa1.pricing_attribute5;
1464       END IF;
1465       IF (x_servicetran_rec.pricing_attribute6 = TAPI_DEV_KIT.G_MISS_CHAR)
1466       THEN
1467         x_servicetran_rec.pricing_attribute6 := l_cs_cp_service_transa1.pricing_attribute6;
1468       END IF;
1469       IF (x_servicetran_rec.pricing_attribute7 = TAPI_DEV_KIT.G_MISS_CHAR)
1470       THEN
1471         x_servicetran_rec.pricing_attribute7 := l_cs_cp_service_transa1.pricing_attribute7;
1472       END IF;
1473       IF (x_servicetran_rec.pricing_attribute8 = TAPI_DEV_KIT.G_MISS_CHAR)
1474       THEN
1475         x_servicetran_rec.pricing_attribute8 := l_cs_cp_service_transa1.pricing_attribute8;
1476       END IF;
1477       IF (x_servicetran_rec.pricing_attribute9 = TAPI_DEV_KIT.G_MISS_CHAR)
1478       THEN
1479         x_servicetran_rec.pricing_attribute9 := l_cs_cp_service_transa1.pricing_attribute9;
1480       END IF;
1481       IF (x_servicetran_rec.pricing_attribute10 = TAPI_DEV_KIT.G_MISS_CHAR)
1482       THEN
1483         x_servicetran_rec.pricing_attribute10 := l_cs_cp_service_transa1.pricing_attribute10;
1484       END IF;
1485       IF (x_servicetran_rec.pricing_attribute11 = TAPI_DEV_KIT.G_MISS_CHAR)
1486       THEN
1487         x_servicetran_rec.pricing_attribute11 := l_cs_cp_service_transa1.pricing_attribute11;
1488       END IF;
1489       IF (x_servicetran_rec.pricing_attribute12 = TAPI_DEV_KIT.G_MISS_CHAR)
1490       THEN
1491         x_servicetran_rec.pricing_attribute12 := l_cs_cp_service_transa1.pricing_attribute12;
1492       END IF;
1493       IF (x_servicetran_rec.pricing_attribute13 = TAPI_DEV_KIT.G_MISS_CHAR)
1494       THEN
1495         x_servicetran_rec.pricing_attribute13 := l_cs_cp_service_transa1.pricing_attribute13;
1496       END IF;
1497       IF (x_servicetran_rec.pricing_attribute14 = TAPI_DEV_KIT.G_MISS_CHAR)
1498       THEN
1499         x_servicetran_rec.pricing_attribute14 := l_cs_cp_service_transa1.pricing_attribute14;
1500       END IF;
1501       IF (x_servicetran_rec.pricing_attribute15 = TAPI_DEV_KIT.G_MISS_CHAR)
1502       THEN
1503         x_servicetran_rec.pricing_attribute15 := l_cs_cp_service_transa1.pricing_attribute15;
1504       END IF;
1505       IF (x_servicetran_rec.pricing_context = TAPI_DEV_KIT.G_MISS_CHAR)
1506       THEN
1510       THEN
1507         x_servicetran_rec.pricing_context := l_cs_cp_service_transa1.pricing_context;
1508       END IF;
1509       IF (x_servicetran_rec.credit_amount = TAPI_DEV_KIT.G_MISS_NUM)
1511         x_servicetran_rec.credit_amount := l_cs_cp_service_transa1.credit_amount;
1512       END IF;
1513       IF (x_servicetran_rec.purchase_order_num = TAPI_DEV_KIT.G_MISS_CHAR)
1514       THEN
1515         x_servicetran_rec.purchase_order_num := l_cs_cp_service_transa1.purchase_order_num;
1516       END IF;
1517       RETURN(l_return_status);
1518     END populate_new_record;
1519   BEGIN
1520     l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
1521                                               G_PKG_NAME,
1522                                               l_api_version,
1523                                               p_api_version,
1524                                               p_init_msg_list,
1525                                               '_Pvt',
1526                                               x_return_status);
1527     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1528       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1529     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1530       RAISE FND_API.G_EXC_ERROR;
1531     END IF;
1532     migrate(p_servicetran_val_rec, l_servicetran_rec);
1533     --- Defaulting item attributes
1534     l_return_status := Default_Item_Attributes
1535     (
1536       l_servicetran_rec,    ---- IN
1537       l_def_servicetran_rec
1538     );
1539     --- If any errors happen abort API
1540     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1541       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1542     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1543       RAISE FND_API.G_EXC_ERROR;
1544     END IF;
1545     l_return_status := populate_new_record(l_def_servicetran_rec, l_def_servicetran_rec);
1546     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1547       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1548     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1549       RAISE FND_API.G_EXC_ERROR;
1550     END IF;
1551     --- Validate all non-missing attributes (Item Level Validation)
1552     IF p_validation_level >= FND_API.G_VALID_LEVEL_FULL THEN
1553       l_return_status := Validate_Item_Attributes
1554       (
1555         l_def_servicetran_rec    ---- IN
1556       );
1557       --- If any errors happen abort API
1558       IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1559         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1560       ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1561         RAISE FND_API.G_EXC_ERROR;
1562       END IF;
1563     END IF;
1564     IF (p_validation_level >= FND_API.G_VALID_LEVEL_FULL) THEN
1565       l_return_status := Validate_Item_Record(l_def_servicetran_rec);
1566       IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1570       END IF;
1567         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1568       ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1569         RAISE FND_API.G_EXC_ERROR;
1571     END IF;
1572     UPDATE  CS_CP_SERVICE_TRANSACTIONS
1573     SET
1574         CP_SERVICE_TRANSACTION_ID = l_def_servicetran_rec.cp_service_transaction_id ,
1575         LAST_UPDATE_DATE = l_def_servicetran_rec.last_update_date ,
1576         LAST_UPDATED_BY = l_def_servicetran_rec.last_updated_by ,
1577         CREATION_DATE = l_def_servicetran_rec.creation_date ,
1578         CREATED_BY = l_def_servicetran_rec.created_by ,
1579         LAST_UPDATE_LOGIN = l_def_servicetran_rec.last_update_login ,
1580         CP_SERVICE_ID = l_def_servicetran_rec.cp_service_id ,
1581         TRANSACTION_TYPE_CODE = l_def_servicetran_rec.transaction_type_code ,
1582         RESULTING_STATUS_CODE = l_def_servicetran_rec.resulting_status_code ,
1583         EFFECTIVE_START_DATE = l_def_servicetran_rec.effective_start_date ,
1584         EFFECTIVE_END_DATE = l_def_servicetran_rec.effective_end_date ,
1585         CURRENT_END_DATE = l_def_servicetran_rec.current_end_date ,
1586         TERMINATED_TRANSACTION_ID = l_def_servicetran_rec.terminated_transaction_id ,
1587         REASON_CODE = l_def_servicetran_rec.reason_code ,
1588         REASON_COMMENTS = l_def_servicetran_rec.reason_comments ,
1589         SERVICE_SELLING_PRICE = l_def_servicetran_rec.service_selling_price ,
1590         CURRENCY_CODE = l_def_servicetran_rec.currency_code ,
1591         CONVERSION_TYPE = l_def_servicetran_rec.conversion_type ,
1592         CONVERSION_RATE = l_def_servicetran_rec.conversion_rate ,
1593         CONVERSION_DATE = l_def_servicetran_rec.conversion_date ,
1594         INVOICING_RULE_ID = l_def_servicetran_rec.invoicing_rule_id ,
1595         ACCOUNTING_RULE_ID = l_def_servicetran_rec.accounting_rule_id ,
1596         PAYMENT_TERMS_ID = l_def_servicetran_rec.payment_terms_id ,
1597         SERVICE_ORDER_LINE_ID = l_def_servicetran_rec.service_order_line_id ,
1598         SERVICE_ORDER_NUMBER = l_def_servicetran_rec.service_order_number ,
1599         SERVICE_ORDER_DATE = l_def_servicetran_rec.service_order_date ,
1600         SERVICE_ORDER_TYPE = l_def_servicetran_rec.service_order_type ,
1601         INVOICE_FLAG = l_def_servicetran_rec.invoice_flag ,
1602         COVERAGE_SCHEDULE_ID = l_def_servicetran_rec.coverage_schedule_id ,
1603         DURATION_QUANTITY = l_def_servicetran_rec.duration_quantity ,
1604         UNIT_OF_MEASURE_CODE = l_def_servicetran_rec.unit_of_measure_code ,
1605         STARTING_DELAY = l_def_servicetran_rec.starting_delay ,
1606         BILL_TO_SITE_USE_ID = l_def_servicetran_rec.bill_to_site_use_id ,
1607         BILL_TO_CONTACT_ID = l_def_servicetran_rec.bill_to_contact_id ,
1608         PRORATE_FLAG = l_def_servicetran_rec.prorate_flag ,
1609         RA_INTERFACE_STATUS = l_def_servicetran_rec.ra_interface_status ,
1610         INVOICE_COUNT = l_def_servicetran_rec.invoice_count ,
1611         PRICE_LIST_ID = l_def_servicetran_rec.price_list_id ,
1612         ATTRIBUTE1 = l_def_servicetran_rec.attribute1 ,
1613         ATTRIBUTE2 = l_def_servicetran_rec.attribute2 ,
1614         ATTRIBUTE3 = l_def_servicetran_rec.attribute3 ,
1615         ATTRIBUTE4 = l_def_servicetran_rec.attribute4 ,
1616         ATTRIBUTE5 = l_def_servicetran_rec.attribute5 ,
1617         ATTRIBUTE6 = l_def_servicetran_rec.attribute6 ,
1621         ATTRIBUTE10 = l_def_servicetran_rec.attribute10 ,
1618         ATTRIBUTE7 = l_def_servicetran_rec.attribute7 ,
1619         ATTRIBUTE8 = l_def_servicetran_rec.attribute8 ,
1620         ATTRIBUTE9 = l_def_servicetran_rec.attribute9 ,
1622         ATTRIBUTE11 = l_def_servicetran_rec.attribute11 ,
1623         ATTRIBUTE12 = l_def_servicetran_rec.attribute12 ,
1624         ATTRIBUTE13 = l_def_servicetran_rec.attribute13 ,
1625         ATTRIBUTE14 = l_def_servicetran_rec.attribute14 ,
1626         ATTRIBUTE15 = l_def_servicetran_rec.attribute15 ,
1627         CONTEXT = l_def_servicetran_rec.context ,
1628         PRICING_ATTRIBUTE1 = l_def_servicetran_rec.pricing_attribute1 ,
1629         PRICING_ATTRIBUTE2 = l_def_servicetran_rec.pricing_attribute2 ,
1630         PRICING_ATTRIBUTE3 = l_def_servicetran_rec.pricing_attribute3 ,
1631         PRICING_ATTRIBUTE4 = l_def_servicetran_rec.pricing_attribute4 ,
1632         PRICING_ATTRIBUTE5 = l_def_servicetran_rec.pricing_attribute5 ,
1633         PRICING_ATTRIBUTE6 = l_def_servicetran_rec.pricing_attribute6 ,
1634         PRICING_ATTRIBUTE7 = l_def_servicetran_rec.pricing_attribute7 ,
1635         PRICING_ATTRIBUTE8 = l_def_servicetran_rec.pricing_attribute8 ,
1636         PRICING_ATTRIBUTE9 = l_def_servicetran_rec.pricing_attribute9 ,
1637         PRICING_ATTRIBUTE10 = l_def_servicetran_rec.pricing_attribute10 ,
1638         PRICING_ATTRIBUTE11 = l_def_servicetran_rec.pricing_attribute11 ,
1639         PRICING_ATTRIBUTE12 = l_def_servicetran_rec.pricing_attribute12 ,
1640         PRICING_ATTRIBUTE13 = l_def_servicetran_rec.pricing_attribute13 ,
1641         PRICING_ATTRIBUTE14 = l_def_servicetran_rec.pricing_attribute14 ,
1642         PRICING_ATTRIBUTE15 = l_def_servicetran_rec.pricing_attribute15 ,
1643         PRICING_CONTEXT = l_def_servicetran_rec.pricing_context ,
1644         CREDIT_AMOUNT = l_def_servicetran_rec.credit_amount ,
1645         PURCHASE_ORDER_NUM = l_def_servicetran_rec.purchase_order_num
1646         WHERE
1647           CP_SERVICE_TRANSACTION_ID = l_def_servicetran_rec.cp_service_transaction_id
1648           ;
1649     TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
1650   EXCEPTION
1651     WHEN FND_API.G_EXC_ERROR THEN
1652       x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1653       (
1654         l_api_name,
1655         G_PKG_NAME,
1656         'FND_API.G_RET_STS_ERROR',
1657         x_msg_count,
1658         x_msg_data,
1659         '_Pvt'
1660       );
1661     APP_EXCEPTION.RAISE_EXCEPTION;
1662     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1663       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1664       (
1665         l_api_name,
1666         G_PKG_NAME,
1667         'FND_API.G_RET_STS_UNEXP_ERROR',
1668         x_msg_count,
1669         x_msg_data,
1670         '_Pvt'
1671       );
1672     APP_EXCEPTION.RAISE_EXCEPTION;
1673     WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
1674       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1675       (
1679         x_msg_count,
1676         l_api_name,
1677         G_PKG_NAME,
1678         'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
1680         x_msg_data,
1681         '_Pvt'
1682       );
1683     APP_EXCEPTION.RAISE_EXCEPTION;
1684   END update_row;
1685   Procedure update_row
1686   (
1687     p_api_version                  IN NUMBER,
1688     p_init_msg_list                IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1689     p_validation_level             IN NUMBER,
1690     p_commit                       IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1691     x_return_status                OUT VARCHAR2,
1692     x_msg_count                    OUT NUMBER,
1693     x_msg_data                     OUT VARCHAR2,
1694     p_cp_service_transaction_id    IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1695     p_last_update_date             IN CS_CP_SERVICE_TRANSACTIONS.LAST_UPDATE_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1696     p_last_updated_by              IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1697     p_creation_date                IN CS_CP_SERVICE_TRANSACTIONS.CREATION_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1698     p_created_by                   IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1699     p_last_update_login            IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1700     p_cp_service_id                IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1701     p_transaction_type_code        IN CS_CP_SERVICE_TRANSACTIONS.TRANSACTION_TYPE_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1702     p_resulting_status_code        IN CS_CP_SERVICE_TRANSACTIONS.RESULTING_STATUS_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1703     p_effective_start_date         IN CS_CP_SERVICE_TRANSACTIONS.EFFECTIVE_START_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1704     p_effective_end_date           IN CS_CP_SERVICE_TRANSACTIONS.EFFECTIVE_END_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1705     p_current_end_date             IN CS_CP_SERVICE_TRANSACTIONS.CURRENT_END_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1706     p_terminated_transaction_id    IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1707     p_reason_code                  IN CS_CP_SERVICE_TRANSACTIONS.REASON_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1708     p_reason_comments              IN CS_CP_SERVICE_TRANSACTIONS.REASON_COMMENTS%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1709     p_service_selling_price        IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1710     p_currency_code                IN CS_CP_SERVICE_TRANSACTIONS.CURRENCY_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1711     p_conversion_type              IN CS_CP_SERVICE_TRANSACTIONS.CONVERSION_TYPE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1712     p_conversion_rate              IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1713     p_conversion_date              IN CS_CP_SERVICE_TRANSACTIONS.CONVERSION_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1714     p_invoicing_rule_id            IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1715     p_accounting_rule_id           IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1716     p_payment_terms_id             IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1717     p_service_order_line_id        IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1718     p_service_order_number         IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1719     p_service_order_date           IN CS_CP_SERVICE_TRANSACTIONS.SERVICE_ORDER_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1720     p_service_order_type           IN CS_CP_SERVICE_TRANSACTIONS.SERVICE_ORDER_TYPE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1721     p_invoice_flag                 IN CS_CP_SERVICE_TRANSACTIONS.INVOICE_FLAG%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1722     p_coverage_schedule_id         IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1726     p_bill_to_site_use_id          IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1723     p_duration_quantity            IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1724     p_unit_of_measure_code         IN CS_CP_SERVICE_TRANSACTIONS.UNIT_OF_MEASURE_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1725     p_starting_delay               IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1727     p_bill_to_contact_id           IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1728     p_prorate_flag                 IN CS_CP_SERVICE_TRANSACTIONS.PRORATE_FLAG%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1729     p_ra_interface_status          IN CS_CP_SERVICE_TRANSACTIONS.RA_INTERFACE_STATUS%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1730     p_invoice_count                IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1731     p_price_list_id                IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1732     p_attribute1                   IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE1%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1733     p_attribute2                   IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE2%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1734     p_attribute3                   IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE3%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1735     p_attribute4                   IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE4%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1736     p_attribute5                   IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE5%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1737     p_attribute6                   IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE6%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1738     p_attribute7                   IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE7%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1739     p_attribute8                   IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE8%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1740     p_attribute9                   IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE9%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1741     p_attribute10                  IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE10%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1742     p_attribute11                  IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE11%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1743     p_attribute12                  IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE12%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1744     p_attribute13                  IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE13%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1745     p_attribute14                  IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE14%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1746     p_attribute15                  IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE15%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1747     p_context                      IN CS_CP_SERVICE_TRANSACTIONS.CONTEXT%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1748     p_pricing_attribute1           IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE1%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1749     p_pricing_attribute2           IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE2%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1750     p_pricing_attribute3           IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE3%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1751     p_pricing_attribute4           IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE4%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1752     p_pricing_attribute5           IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE5%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1753     p_pricing_attribute6           IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE6%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1754     p_pricing_attribute7           IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE7%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1755     p_pricing_attribute8           IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE8%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1756     p_pricing_attribute9           IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE9%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1757     p_pricing_attribute10          IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE10%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1758     p_pricing_attribute11          IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE11%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1759     p_pricing_attribute12          IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE12%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1760     p_pricing_attribute13          IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE13%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1761     p_pricing_attribute14          IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE14%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1765     p_purchase_order_num           IN CS_CP_SERVICE_TRANSACTIONS.PURCHASE_ORDER_NUM%TYPE := TAPI_DEV_KIT.G_MISS_CHAR) IS
1762     p_pricing_attribute15          IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE15%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1763     p_pricing_context              IN CS_CP_SERVICE_TRANSACTIONS.PRICING_CONTEXT%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1764     p_credit_amount                IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1766     l_api_name                     CONSTANT VARCHAR2(30) := 'update_row';
1767     l_api_version                  CONSTANT NUMBER := 1;
1768     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1769     l_servicetran_rec              ServiceTran_Val_Rec_Type;
1770   BEGIN
1771     l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
1772                                               G_PKG_NAME,
1773                                               l_api_version,
1774                                               p_api_version,
1775                                               p_init_msg_list,
1776                                               '_Pvt',
1777                                               x_return_status);
1778     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1779       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1780     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1781       RAISE FND_API.G_EXC_ERROR;
1782     END IF;
1783     l_servicetran_rec.CP_SERVICE_TRANSACTION_ID := p_cp_service_transaction_id;
1784     l_servicetran_rec.LAST_UPDATE_DATE := p_last_update_date;
1785     l_servicetran_rec.LAST_UPDATED_BY := p_last_updated_by;
1786     l_servicetran_rec.CREATION_DATE := p_creation_date;
1787     l_servicetran_rec.CREATED_BY := p_created_by;
1788     l_servicetran_rec.LAST_UPDATE_LOGIN := p_last_update_login;
1789     l_servicetran_rec.CP_SERVICE_ID := p_cp_service_id;
1790     l_servicetran_rec.TRANSACTION_TYPE_CODE := p_transaction_type_code;
1791     l_servicetran_rec.RESULTING_STATUS_CODE := p_resulting_status_code;
1792     l_servicetran_rec.EFFECTIVE_START_DATE := p_effective_start_date;
1793     l_servicetran_rec.EFFECTIVE_END_DATE := p_effective_end_date;
1794     l_servicetran_rec.CURRENT_END_DATE := p_current_end_date;
1795     l_servicetran_rec.TERMINATED_TRANSACTION_ID := p_terminated_transaction_id;
1796     l_servicetran_rec.REASON_CODE := p_reason_code;
1797     l_servicetran_rec.REASON_COMMENTS := p_reason_comments;
1798     l_servicetran_rec.SERVICE_SELLING_PRICE := p_service_selling_price;
1799     l_servicetran_rec.CURRENCY_CODE := p_currency_code;
1800     l_servicetran_rec.CONVERSION_TYPE := p_conversion_type;
1801     l_servicetran_rec.CONVERSION_RATE := p_conversion_rate;
1802     l_servicetran_rec.CONVERSION_DATE := p_conversion_date;
1803     l_servicetran_rec.INVOICING_RULE_ID := p_invoicing_rule_id;
1804     l_servicetran_rec.ACCOUNTING_RULE_ID := p_accounting_rule_id;
1805     l_servicetran_rec.PAYMENT_TERMS_ID := p_payment_terms_id;
1806     l_servicetran_rec.SERVICE_ORDER_LINE_ID := p_service_order_line_id;
1807     l_servicetran_rec.SERVICE_ORDER_NUMBER := p_service_order_number;
1808     l_servicetran_rec.SERVICE_ORDER_DATE := p_service_order_date;
1809     l_servicetran_rec.SERVICE_ORDER_TYPE := p_service_order_type;
1810     l_servicetran_rec.INVOICE_FLAG := p_invoice_flag;
1811     l_servicetran_rec.COVERAGE_SCHEDULE_ID := p_coverage_schedule_id;
1815     l_servicetran_rec.BILL_TO_SITE_USE_ID := p_bill_to_site_use_id;
1812     l_servicetran_rec.DURATION_QUANTITY := p_duration_quantity;
1813     l_servicetran_rec.UNIT_OF_MEASURE_CODE := p_unit_of_measure_code;
1814     l_servicetran_rec.STARTING_DELAY := p_starting_delay;
1816     l_servicetran_rec.BILL_TO_CONTACT_ID := p_bill_to_contact_id;
1817     l_servicetran_rec.PRORATE_FLAG := p_prorate_flag;
1818     l_servicetran_rec.RA_INTERFACE_STATUS := p_ra_interface_status;
1819     l_servicetran_rec.INVOICE_COUNT := p_invoice_count;
1820     l_servicetran_rec.PRICE_LIST_ID := p_price_list_id;
1821     l_servicetran_rec.ATTRIBUTE1 := p_attribute1;
1822     l_servicetran_rec.ATTRIBUTE2 := p_attribute2;
1823     l_servicetran_rec.ATTRIBUTE3 := p_attribute3;
1824     l_servicetran_rec.ATTRIBUTE4 := p_attribute4;
1825     l_servicetran_rec.ATTRIBUTE5 := p_attribute5;
1826     l_servicetran_rec.ATTRIBUTE6 := p_attribute6;
1827     l_servicetran_rec.ATTRIBUTE7 := p_attribute7;
1828     l_servicetran_rec.ATTRIBUTE8 := p_attribute8;
1829     l_servicetran_rec.ATTRIBUTE9 := p_attribute9;
1830     l_servicetran_rec.ATTRIBUTE10 := p_attribute10;
1831     l_servicetran_rec.ATTRIBUTE11 := p_attribute11;
1832     l_servicetran_rec.ATTRIBUTE12 := p_attribute12;
1833     l_servicetran_rec.ATTRIBUTE13 := p_attribute13;
1834     l_servicetran_rec.ATTRIBUTE14 := p_attribute14;
1835     l_servicetran_rec.ATTRIBUTE15 := p_attribute15;
1836     l_servicetran_rec.CONTEXT := p_context;
1837     l_servicetran_rec.PRICING_ATTRIBUTE1 := p_pricing_attribute1;
1838     l_servicetran_rec.PRICING_ATTRIBUTE2 := p_pricing_attribute2;
1839     l_servicetran_rec.PRICING_ATTRIBUTE3 := p_pricing_attribute3;
1840     l_servicetran_rec.PRICING_ATTRIBUTE4 := p_pricing_attribute4;
1841     l_servicetran_rec.PRICING_ATTRIBUTE5 := p_pricing_attribute5;
1842     l_servicetran_rec.PRICING_ATTRIBUTE6 := p_pricing_attribute6;
1843     l_servicetran_rec.PRICING_ATTRIBUTE7 := p_pricing_attribute7;
1844     l_servicetran_rec.PRICING_ATTRIBUTE8 := p_pricing_attribute8;
1845     l_servicetran_rec.PRICING_ATTRIBUTE9 := p_pricing_attribute9;
1846     l_servicetran_rec.PRICING_ATTRIBUTE10 := p_pricing_attribute10;
1847     l_servicetran_rec.PRICING_ATTRIBUTE11 := p_pricing_attribute11;
1848     l_servicetran_rec.PRICING_ATTRIBUTE12 := p_pricing_attribute12;
1849     l_servicetran_rec.PRICING_ATTRIBUTE13 := p_pricing_attribute13;
1850     l_servicetran_rec.PRICING_ATTRIBUTE14 := p_pricing_attribute14;
1851     l_servicetran_rec.PRICING_ATTRIBUTE15 := p_pricing_attribute15;
1852     l_servicetran_rec.PRICING_CONTEXT := p_pricing_context;
1853     l_servicetran_rec.CREDIT_AMOUNT := p_credit_amount;
1854     l_servicetran_rec.PURCHASE_ORDER_NUM := p_purchase_order_num;
1855     update_row(
1856       p_api_version,
1857       p_init_msg_list,
1858       p_validation_level,
1859       p_commit,
1860       x_return_status,
1861       x_msg_count,
1862       x_msg_data,
1863       l_servicetran_rec
1864     );
1865     TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
1866   EXCEPTION
1867     WHEN FND_API.G_EXC_ERROR THEN
1868       x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1869       (
1870         l_api_name,
1871         G_PKG_NAME,
1872         'FND_API.G_RET_STS_ERROR',
1873         x_msg_count,
1874         x_msg_data,
1875         '_Pvt'
1876       );
1877     APP_EXCEPTION.RAISE_EXCEPTION;
1878     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1879       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1880       (
1884         x_msg_count,
1881         l_api_name,
1882         G_PKG_NAME,
1883         'FND_API.G_RET_STS_UNEXP_ERROR',
1885         x_msg_data,
1886         '_Pvt'
1887       );
1888     APP_EXCEPTION.RAISE_EXCEPTION;
1889     WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
1890       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1891       (
1892         l_api_name,
1893         G_PKG_NAME,
1894         'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
1895         x_msg_count,
1896         x_msg_data,
1897         '_Pvt'
1898       );
1899     APP_EXCEPTION.RAISE_EXCEPTION;
1900   END update_row;
1901   Procedure delete_row
1902   (
1903     p_api_version                  IN NUMBER,
1904     p_init_msg_list                IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1905     p_validation_level             IN NUMBER,
1906     p_commit                       IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1907     x_return_status                OUT VARCHAR2,
1908     x_msg_count                    OUT NUMBER,
1909     x_msg_data                     OUT VARCHAR2,
1910     p_cp_service_transaction_id    IN NUMBER) IS
1911     l_api_name                     CONSTANT VARCHAR2(30) := 'delete_row';
1912     l_api_version                  CONSTANT NUMBER := 1;
1913     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1914   BEGIN
1915     l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
1916                                               G_PKG_NAME,
1917                                               l_api_version,
1918                                               p_api_version,
1919                                               p_init_msg_list,
1920                                               '_Pvt',
1921                                               x_return_status);
1922     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1923       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1924     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1925       RAISE FND_API.G_EXC_ERROR;
1926     END IF;
1927     DELETE  FROM CS_CP_SERVICE_TRANSACTIONS
1928     WHERE
1929       CP_SERVICE_TRANSACTION_ID = p_cp_service_transaction_id
1930       ;
1931     TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
1932   EXCEPTION
1933     WHEN FND_API.G_EXC_ERROR THEN
1934       x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1935       (
1936         l_api_name,
1937         G_PKG_NAME,
1938         'FND_API.G_RET_STS_ERROR',
1939         x_msg_count,
1940         x_msg_data,
1941         '_Pvt'
1942       );
1943     APP_EXCEPTION.RAISE_EXCEPTION;
1944     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1945       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1946       (
1947         l_api_name,
1948         G_PKG_NAME,
1949         'FND_API.G_RET_STS_UNEXP_ERROR',
1950         x_msg_count,
1951         x_msg_data,
1952         '_Pvt'
1953       );
1957       (
1954     APP_EXCEPTION.RAISE_EXCEPTION;
1955     WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
1956       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1958         l_api_name,
1959         G_PKG_NAME,
1960         'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
1961         x_msg_count,
1962         x_msg_data,
1963         '_Pvt'
1964       );
1965     APP_EXCEPTION.RAISE_EXCEPTION;
1966   END delete_row;
1967   PROCEDURE validate_row
1968   (
1969     p_api_version                  IN NUMBER,
1970     p_init_msg_list                IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1971     p_validation_level             IN NUMBER,
1972     p_commit                       IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1973     x_return_status                OUT VARCHAR2,
1974     x_msg_count                    OUT NUMBER,
1975     x_msg_data                     OUT VARCHAR2,
1976     p_servicetran_val_rec          IN ServiceTran_Val_Rec_Type := G_MISS_SERVICETRAN_VAL_REC) IS
1977     l_api_name                     CONSTANT VARCHAR2(30) := 'validate_row';
1978     l_api_version                  CONSTANT NUMBER := 1;
1979     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1980     l_servicetran_rec              ServiceTran_Rec_Type;
1981     l_def_servicetran_rec          ServiceTran_Rec_Type;
1982   BEGIN
1983     l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
1984                                               G_PKG_NAME,
1985                                               l_api_version,
1986                                               p_api_version,
1987                                               p_init_msg_list,
1988                                               '_Pvt',
1989                                               x_return_status);
1990     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1991       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1992     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1993       RAISE FND_API.G_EXC_ERROR;
1994     END IF;
1995     migrate(p_servicetran_val_rec, l_servicetran_rec);
1996     --- Validate all non-missing attributes (Item Level Validation)
1997     IF p_validation_level >= FND_API.G_VALID_LEVEL_FULL THEN
1998       l_return_status := Validate_Item_Attributes
1999       (
2000         l_servicetran_rec    ---- IN
2001       );
2002       --- If any errors happen abort API
2003       IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2004         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2005       ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
2006         RAISE FND_API.G_EXC_ERROR;
2007       END IF;
2008     END IF;
2009     IF (p_validation_level >= FND_API.G_VALID_LEVEL_FULL) THEN
2010       l_return_status := Validate_Item_Record(l_def_servicetran_rec);
2014         RAISE FND_API.G_EXC_ERROR;
2011       IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2012         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2013       ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
2015       END IF;
2016     END IF;
2017     TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
2018   EXCEPTION
2019     WHEN FND_API.G_EXC_ERROR THEN
2020       x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
2021       (
2022         l_api_name,
2023         G_PKG_NAME,
2024         'FND_API.G_RET_STS_ERROR',
2025         x_msg_count,
2026         x_msg_data,
2027         '_Pvt'
2028       );
2029     APP_EXCEPTION.RAISE_EXCEPTION;
2030     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2031       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
2032       (
2033         l_api_name,
2034         G_PKG_NAME,
2035         'FND_API.G_RET_STS_UNEXP_ERROR',
2036         x_msg_count,
2037         x_msg_data,
2038         '_Pvt'
2039       );
2040     APP_EXCEPTION.RAISE_EXCEPTION;
2041     WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
2042       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
2043       (
2044         l_api_name,
2045         G_PKG_NAME,
2046         'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
2047         x_msg_count,
2048         x_msg_data,
2049         '_Pvt'
2050       );
2051     APP_EXCEPTION.RAISE_EXCEPTION;
2052   END validate_row;
2053   PROCEDURE validate_row
2054   (
2055     p_api_version                  IN NUMBER,
2056     p_init_msg_list                IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
2057     p_validation_level             IN NUMBER,
2058     p_commit                       IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
2059     x_return_status                OUT VARCHAR2,
2060     x_msg_count                    OUT NUMBER,
2061     x_msg_data                     OUT VARCHAR2,
2062     p_cp_service_transaction_id    IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2063     p_last_update_date             IN CS_CP_SERVICE_TRANSACTIONS.LAST_UPDATE_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2064     p_last_updated_by              IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2065     p_creation_date                IN CS_CP_SERVICE_TRANSACTIONS.CREATION_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2066     p_created_by                   IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2067     p_last_update_login            IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2068     p_cp_service_id                IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2069     p_transaction_type_code        IN CS_CP_SERVICE_TRANSACTIONS.TRANSACTION_TYPE_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2070     p_resulting_status_code        IN CS_CP_SERVICE_TRANSACTIONS.RESULTING_STATUS_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2071     p_effective_start_date         IN CS_CP_SERVICE_TRANSACTIONS.EFFECTIVE_START_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2072     p_effective_end_date           IN CS_CP_SERVICE_TRANSACTIONS.EFFECTIVE_END_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2076     p_reason_comments              IN CS_CP_SERVICE_TRANSACTIONS.REASON_COMMENTS%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2073     p_current_end_date             IN CS_CP_SERVICE_TRANSACTIONS.CURRENT_END_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2074     p_terminated_transaction_id    IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2075     p_reason_code                  IN CS_CP_SERVICE_TRANSACTIONS.REASON_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2077     p_service_selling_price        IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2078     p_currency_code                IN CS_CP_SERVICE_TRANSACTIONS.CURRENCY_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2079     p_conversion_type              IN CS_CP_SERVICE_TRANSACTIONS.CONVERSION_TYPE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2080     p_conversion_rate              IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2081     p_conversion_date              IN CS_CP_SERVICE_TRANSACTIONS.CONVERSION_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2082     p_invoicing_rule_id            IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2083     p_accounting_rule_id           IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2084     p_payment_terms_id             IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2085     p_service_order_line_id        IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2086     p_service_order_number         IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2087     p_service_order_date           IN CS_CP_SERVICE_TRANSACTIONS.SERVICE_ORDER_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
2088     p_service_order_type           IN CS_CP_SERVICE_TRANSACTIONS.SERVICE_ORDER_TYPE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2089     p_invoice_flag                 IN CS_CP_SERVICE_TRANSACTIONS.INVOICE_FLAG%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2090     p_coverage_schedule_id         IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2091     p_duration_quantity            IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2092     p_unit_of_measure_code         IN CS_CP_SERVICE_TRANSACTIONS.UNIT_OF_MEASURE_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2093     p_starting_delay               IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2094     p_bill_to_site_use_id          IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2095     p_bill_to_contact_id           IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2096     p_prorate_flag                 IN CS_CP_SERVICE_TRANSACTIONS.PRORATE_FLAG%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2097     p_ra_interface_status          IN CS_CP_SERVICE_TRANSACTIONS.RA_INTERFACE_STATUS%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2098     p_invoice_count                IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2099     p_price_list_id                IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2100     p_attribute1                   IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE1%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2101     p_attribute2                   IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE2%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2102     p_attribute3                   IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE3%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2103     p_attribute4                   IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE4%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2104     p_attribute5                   IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE5%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2105     p_attribute6                   IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE6%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2106     p_attribute7                   IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE7%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2107     p_attribute8                   IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE8%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2108     p_attribute9                   IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE9%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2109     p_attribute10                  IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE10%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2110     p_attribute11                  IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE11%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2111     p_attribute12                  IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE12%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2112     p_attribute13                  IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE13%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2113     p_attribute14                  IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE14%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2117     p_pricing_attribute2           IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE2%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2114     p_attribute15                  IN CS_CP_SERVICE_TRANSACTIONS.ATTRIBUTE15%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2115     p_context                      IN CS_CP_SERVICE_TRANSACTIONS.CONTEXT%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2116     p_pricing_attribute1           IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE1%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2118     p_pricing_attribute3           IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE3%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2119     p_pricing_attribute4           IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE4%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2120     p_pricing_attribute5           IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE5%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2121     p_pricing_attribute6           IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE6%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2122     p_pricing_attribute7           IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE7%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2123     p_pricing_attribute8           IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE8%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2124     p_pricing_attribute9           IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE9%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2125     p_pricing_attribute10          IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE10%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2126     p_pricing_attribute11          IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE11%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2127     p_pricing_attribute12          IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE12%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2128     p_pricing_attribute13          IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE13%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2129     p_pricing_attribute14          IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE14%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2130     p_pricing_attribute15          IN CS_CP_SERVICE_TRANSACTIONS.PRICING_ATTRIBUTE15%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2131     p_pricing_context              IN CS_CP_SERVICE_TRANSACTIONS.PRICING_CONTEXT%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
2132     p_credit_amount                IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
2133     p_purchase_order_num           IN CS_CP_SERVICE_TRANSACTIONS.PURCHASE_ORDER_NUM%TYPE := TAPI_DEV_KIT.G_MISS_CHAR) IS
2134     l_api_name                     CONSTANT VARCHAR2(30) := 'validate_row';
2135     l_api_version                  CONSTANT NUMBER := 1;
2136     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
2137     l_servicetran_rec              ServiceTran_Val_Rec_Type;
2138   BEGIN
2139     l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
2140                                               G_PKG_NAME,
2141                                               l_api_version,
2142                                               p_api_version,
2143                                               p_init_msg_list,
2144                                               '_Pvt',
2145                                               x_return_status);
2146     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2147       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2148     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
2149       RAISE FND_API.G_EXC_ERROR;
2150     END IF;
2151     l_servicetran_rec.CP_SERVICE_TRANSACTION_ID := p_cp_service_transaction_id;
2152     l_servicetran_rec.LAST_UPDATE_DATE := p_last_update_date;
2153     l_servicetran_rec.LAST_UPDATED_BY := p_last_updated_by;
2154     l_servicetran_rec.CREATION_DATE := p_creation_date;
2155     l_servicetran_rec.CREATED_BY := p_created_by;
2156     l_servicetran_rec.LAST_UPDATE_LOGIN := p_last_update_login;
2157     l_servicetran_rec.CP_SERVICE_ID := p_cp_service_id;
2158     l_servicetran_rec.TRANSACTION_TYPE_CODE := p_transaction_type_code;
2159     l_servicetran_rec.RESULTING_STATUS_CODE := p_resulting_status_code;
2160     l_servicetran_rec.EFFECTIVE_START_DATE := p_effective_start_date;
2164     l_servicetran_rec.REASON_CODE := p_reason_code;
2161     l_servicetran_rec.EFFECTIVE_END_DATE := p_effective_end_date;
2162     l_servicetran_rec.CURRENT_END_DATE := p_current_end_date;
2163     l_servicetran_rec.TERMINATED_TRANSACTION_ID := p_terminated_transaction_id;
2165     l_servicetran_rec.REASON_COMMENTS := p_reason_comments;
2166     l_servicetran_rec.SERVICE_SELLING_PRICE := p_service_selling_price;
2167     l_servicetran_rec.CURRENCY_CODE := p_currency_code;
2168     l_servicetran_rec.CONVERSION_TYPE := p_conversion_type;
2169     l_servicetran_rec.CONVERSION_RATE := p_conversion_rate;
2170     l_servicetran_rec.CONVERSION_DATE := p_conversion_date;
2171     l_servicetran_rec.INVOICING_RULE_ID := p_invoicing_rule_id;
2172     l_servicetran_rec.ACCOUNTING_RULE_ID := p_accounting_rule_id;
2173     l_servicetran_rec.PAYMENT_TERMS_ID := p_payment_terms_id;
2174     l_servicetran_rec.SERVICE_ORDER_LINE_ID := p_service_order_line_id;
2175     l_servicetran_rec.SERVICE_ORDER_NUMBER := p_service_order_number;
2176     l_servicetran_rec.SERVICE_ORDER_DATE := p_service_order_date;
2177     l_servicetran_rec.SERVICE_ORDER_TYPE := p_service_order_type;
2178     l_servicetran_rec.INVOICE_FLAG := p_invoice_flag;
2179     l_servicetran_rec.COVERAGE_SCHEDULE_ID := p_coverage_schedule_id;
2180     l_servicetran_rec.DURATION_QUANTITY := p_duration_quantity;
2181     l_servicetran_rec.UNIT_OF_MEASURE_CODE := p_unit_of_measure_code;
2182     l_servicetran_rec.STARTING_DELAY := p_starting_delay;
2183     l_servicetran_rec.BILL_TO_SITE_USE_ID := p_bill_to_site_use_id;
2184     l_servicetran_rec.BILL_TO_CONTACT_ID := p_bill_to_contact_id;
2185     l_servicetran_rec.PRORATE_FLAG := p_prorate_flag;
2186     l_servicetran_rec.RA_INTERFACE_STATUS := p_ra_interface_status;
2187     l_servicetran_rec.INVOICE_COUNT := p_invoice_count;
2188     l_servicetran_rec.PRICE_LIST_ID := p_price_list_id;
2189     l_servicetran_rec.ATTRIBUTE1 := p_attribute1;
2190     l_servicetran_rec.ATTRIBUTE2 := p_attribute2;
2191     l_servicetran_rec.ATTRIBUTE3 := p_attribute3;
2192     l_servicetran_rec.ATTRIBUTE4 := p_attribute4;
2193     l_servicetran_rec.ATTRIBUTE5 := p_attribute5;
2194     l_servicetran_rec.ATTRIBUTE6 := p_attribute6;
2195     l_servicetran_rec.ATTRIBUTE7 := p_attribute7;
2196     l_servicetran_rec.ATTRIBUTE8 := p_attribute8;
2197     l_servicetran_rec.ATTRIBUTE9 := p_attribute9;
2198     l_servicetran_rec.ATTRIBUTE10 := p_attribute10;
2199     l_servicetran_rec.ATTRIBUTE11 := p_attribute11;
2200     l_servicetran_rec.ATTRIBUTE12 := p_attribute12;
2201     l_servicetran_rec.ATTRIBUTE13 := p_attribute13;
2202     l_servicetran_rec.ATTRIBUTE14 := p_attribute14;
2203     l_servicetran_rec.ATTRIBUTE15 := p_attribute15;
2204     l_servicetran_rec.CONTEXT := p_context;
2205     l_servicetran_rec.PRICING_ATTRIBUTE1 := p_pricing_attribute1;
2206     l_servicetran_rec.PRICING_ATTRIBUTE2 := p_pricing_attribute2;
2207     l_servicetran_rec.PRICING_ATTRIBUTE3 := p_pricing_attribute3;
2208     l_servicetran_rec.PRICING_ATTRIBUTE4 := p_pricing_attribute4;
2209     l_servicetran_rec.PRICING_ATTRIBUTE5 := p_pricing_attribute5;
2210     l_servicetran_rec.PRICING_ATTRIBUTE6 := p_pricing_attribute6;
2211     l_servicetran_rec.PRICING_ATTRIBUTE7 := p_pricing_attribute7;
2212     l_servicetran_rec.PRICING_ATTRIBUTE8 := p_pricing_attribute8;
2213     l_servicetran_rec.PRICING_ATTRIBUTE9 := p_pricing_attribute9;
2214     l_servicetran_rec.PRICING_ATTRIBUTE10 := p_pricing_attribute10;
2215     l_servicetran_rec.PRICING_ATTRIBUTE11 := p_pricing_attribute11;
2216     l_servicetran_rec.PRICING_ATTRIBUTE12 := p_pricing_attribute12;
2217     l_servicetran_rec.PRICING_ATTRIBUTE13 := p_pricing_attribute13;
2218     l_servicetran_rec.PRICING_ATTRIBUTE14 := p_pricing_attribute14;
2219     l_servicetran_rec.PRICING_ATTRIBUTE15 := p_pricing_attribute15;
2220     l_servicetran_rec.PRICING_CONTEXT := p_pricing_context;
2221     l_servicetran_rec.CREDIT_AMOUNT := p_credit_amount;
2222     l_servicetran_rec.PURCHASE_ORDER_NUM := p_purchase_order_num;
2223     validate_row(
2224       p_api_version,
2225       p_init_msg_list,
2226       p_validation_level,
2227       p_commit,
2228       x_return_status,
2229       x_msg_count,
2230       x_msg_data,
2231       l_servicetran_rec
2232     );
2233     TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
2234   EXCEPTION
2235     WHEN FND_API.G_EXC_ERROR THEN
2236       x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
2237       (
2238         l_api_name,
2239         G_PKG_NAME,
2240         'FND_API.G_RET_STS_ERROR',
2241         x_msg_count,
2242         x_msg_data,
2243         '_Pvt'
2244       );
2245     APP_EXCEPTION.RAISE_EXCEPTION;
2246     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2247       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
2248       (
2249         l_api_name,
2250         G_PKG_NAME,
2251         'FND_API.G_RET_STS_UNEXP_ERROR',
2252         x_msg_count,
2253         x_msg_data,
2254         '_Pvt'
2255       );
2256     APP_EXCEPTION.RAISE_EXCEPTION;
2257     WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
2258       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
2259       (
2260         l_api_name,
2261         G_PKG_NAME,
2262         'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
2263         x_msg_count,
2264         x_msg_data,
2265         '_Pvt'
2266       );
2267     APP_EXCEPTION.RAISE_EXCEPTION;
2268   END validate_row;
2269 END CS_SERVICETRAN_PVT;