DBA Data[Home] [Help]

PACKAGE BODY: APPS.CS_TXNBTYPE_PVT

Source


1 PACKAGE BODY CS_TXNBTYPE_PVT AS
2 /* $Header: cscttbtb.pls 115.1 99/07/16 08:54:44 porting ship $ */
3   FUNCTION get_seq_id RETURN NUMBER IS
4     CURSOR get_seq_id_csr IS
5       SELECT CS_TXN_BILLING_TYPES_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_txnbtype_rec IN  TxnBType_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_txnbtype_rec.billing_type = TAPI_DEV_KIT.G_MISS_CHAR OR
25        p_txnbtype_rec.billing_type IS NULL
26     THEN
27       TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'billing_type');
28       l_return_status := FND_API.G_RET_STS_ERROR;
29     ELSIF p_txnbtype_rec.transaction_type_id = TAPI_DEV_KIT.G_MISS_NUM OR
30           p_txnbtype_rec.transaction_type_id IS NULL
31     THEN
32       TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'transaction_type_id');
33       l_return_status := FND_API.G_RET_STS_ERROR;
34     ELSIF p_txnbtype_rec.last_update_date = TAPI_DEV_KIT.G_MISS_DATE OR
35           p_txnbtype_rec.last_update_date IS NULL
36     THEN
37       TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'last_update_date');
38       l_return_status := FND_API.G_RET_STS_ERROR;
39     ELSIF p_txnbtype_rec.last_updated_by = TAPI_DEV_KIT.G_MISS_NUM OR
40           p_txnbtype_rec.last_updated_by IS NULL
41     THEN
42       TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'last_updated_by');
43       l_return_status := FND_API.G_RET_STS_ERROR;
44     ELSIF p_txnbtype_rec.creation_date = TAPI_DEV_KIT.G_MISS_DATE OR
45           p_txnbtype_rec.creation_date IS NULL
46     THEN
47       TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'creation_date');
48       l_return_status := FND_API.G_RET_STS_ERROR;
49     ELSIF p_txnbtype_rec.created_by = TAPI_DEV_KIT.G_MISS_NUM OR
50           p_txnbtype_rec.created_by IS NULL
51     THEN
52       TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'created_by');
53       l_return_status := FND_API.G_RET_STS_ERROR;
54     END IF;
55     RETURN(l_return_status);
56   END Validate_Item_Attributes;
57 
58 
59   ----- Default
60   FUNCTION Default_Item_Attributes
61   (
62     p_txnbtype_rec IN  TxnBType_Rec_Type,
63     l_def_txnbtype_rec OUT  TxnBType_Rec_Type
64   )
65   RETURN VARCHAR2
66   IS
67     l_return_status 	VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
68   BEGIN
69     l_def_txnbtype_rec := p_txnbtype_rec;
70     l_def_txnbtype_rec.OBJECT_VERSION_NUMBER := NVL(l_def_txnbtype_rec.OBJECT_VERSION_NUMBER, 0) + 1;
71     RETURN(l_return_status);
72   End Default_Item_attributes;
73 
74 
75   FUNCTION Validate_Item_Record (
76     p_txnbtype_rec IN TxnBType_Rec_Type
77   )
78   RETURN VARCHAR2 IS
79     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
80     FUNCTION validate_foreign_keys (
81       p_txnbtype_rec IN TxnBType_Rec_Type
82     )
83     RETURN VARCHAR2 IS
84       item_not_found_error          EXCEPTION;
85       CURSOR cl_pk_csr (p_lookup_code        IN VARCHAR2) IS
86       SELECT *
87         FROM Cs_Lookups
88        WHERE cs_lookups.lookup_code = p_lookup_code;
89       l_cl_pk                        cl_pk_csr%ROWTYPE;
90       CURSOR ctt_pk_csr (p_transaction_type_id  IN NUMBER) IS
91       SELECT *
92         FROM Cs_Transaction_Types
93        WHERE cs_transaction_types.transaction_type_id = p_transaction_type_id;
94       l_ctt_pk                       ctt_pk_csr%ROWTYPE;
95       l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
96       l_row_notfound                 BOOLEAN := TRUE;
97     BEGIN
98       IF (p_txnbtype_rec.BILLING_TYPE IS NOT NULL)
99       THEN
100         OPEN cl_pk_csr(p_txnbtype_rec.BILLING_TYPE);
101         FETCH cl_pk_csr INTO l_cl_pk;
102         l_row_notfound := cl_pk_csr%NOTFOUND;
103         CLOSE cl_pk_csr;
104         IF (l_row_notfound) THEN
105           TAPI_DEV_KIT.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'BILLING_TYPE');
106           RAISE item_not_found_error;
107         END IF;
108       END IF;
109       IF (p_txnbtype_rec.TRANSACTION_TYPE_ID IS NOT NULL)
110       THEN
111         OPEN ctt_pk_csr(p_txnbtype_rec.TRANSACTION_TYPE_ID);
112         FETCH ctt_pk_csr INTO l_ctt_pk;
113         l_row_notfound := ctt_pk_csr%NOTFOUND;
114         CLOSE ctt_pk_csr;
115         IF (l_row_notfound) THEN
116           TAPI_DEV_KIT.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'TRANSACTION_TYPE_ID');
117           RAISE item_not_found_error;
118         END IF;
119       END IF;
120       RETURN (l_return_status);
121     EXCEPTION
122       WHEN item_not_found_error THEN
123         l_return_status := FND_API.G_RET_STS_ERROR;
124         RETURN (l_return_status);
125     END validate_foreign_keys;
126   BEGIN
127     l_return_status := validate_foreign_keys (p_txnbtype_rec);
128     RETURN (l_return_status);
129   END Validate_Item_Record;
130 
131 
132   PROCEDURE migrate (
133     p_from	IN TxnBType_Val_Rec_Type,
134     p_to	OUT TxnBType_Rec_Type
135   ) IS
136   BEGIN
137     p_to.txn_billing_type_id := p_from.txn_billing_type_id;
138     p_to.billing_type := p_from.billing_type;
139     p_to.transaction_type_id := p_from.transaction_type_id;
140     p_to.last_update_date := p_from.last_update_date;
141     p_to.last_updated_by := p_from.last_updated_by;
142     p_to.creation_date := p_from.creation_date;
143     p_to.created_by := p_from.created_by;
144     p_to.last_update_login := p_from.last_update_login;
145     p_to.attribute1 := p_from.attribute1;
146     p_to.attribute2 := p_from.attribute2;
147     p_to.attribute3 := p_from.attribute3;
148     p_to.attribute4 := p_from.attribute4;
149     p_to.attribute5 := p_from.attribute5;
150     p_to.attribute6 := p_from.attribute6;
151     p_to.attribute7 := p_from.attribute7;
152     p_to.attribute8 := p_from.attribute8;
153     p_to.attribute9 := p_from.attribute9;
154     p_to.attribute10 := p_from.attribute10;
155     p_to.attribute11 := p_from.attribute11;
156     p_to.attribute12 := p_from.attribute12;
157     p_to.attribute13 := p_from.attribute13;
158     p_to.attribute14 := p_from.attribute14;
159     p_to.attribute15 := p_from.attribute15;
160     p_to.context := p_from.context;
161     p_to.object_version_number := p_from.object_version_number;
162   END migrate;
163   PROCEDURE migrate (
164     p_from	IN TxnBType_Rec_Type,
165     p_to	OUT TxnBType_Val_Rec_Type
166   ) IS
167   BEGIN
168     p_to.txn_billing_type_id := p_from.txn_billing_type_id;
169     p_to.billing_type := p_from.billing_type;
170     p_to.transaction_type_id := p_from.transaction_type_id;
171     p_to.last_update_date := p_from.last_update_date;
172     p_to.last_updated_by := p_from.last_updated_by;
173     p_to.creation_date := p_from.creation_date;
174     p_to.created_by := p_from.created_by;
175     p_to.last_update_login := p_from.last_update_login;
176     p_to.attribute1 := p_from.attribute1;
177     p_to.attribute2 := p_from.attribute2;
178     p_to.attribute3 := p_from.attribute3;
179     p_to.attribute4 := p_from.attribute4;
180     p_to.attribute5 := p_from.attribute5;
181     p_to.attribute6 := p_from.attribute6;
182     p_to.attribute7 := p_from.attribute7;
183     p_to.attribute8 := p_from.attribute8;
184     p_to.attribute9 := p_from.attribute9;
185     p_to.attribute10 := p_from.attribute10;
186     p_to.attribute11 := p_from.attribute11;
187     p_to.attribute12 := p_from.attribute12;
188     p_to.attribute13 := p_from.attribute13;
189     p_to.attribute14 := p_from.attribute14;
190     p_to.attribute15 := p_from.attribute15;
191     p_to.context := p_from.context;
192     p_to.object_version_number := p_from.object_version_number;
193   END migrate;
194   PROCEDURE insert_row
195   (
196     p_api_version                  IN NUMBER,
197     p_init_msg_list                IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
198     p_validation_level             IN NUMBER,
199     p_commit                       IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
200     x_return_status                OUT VARCHAR2,
201     x_msg_count                    OUT NUMBER,
202     x_msg_data                     OUT VARCHAR2,
203     p_txnbtype_rec                 IN TxnBType_Rec_Type := G_MISS_TXNBTYPE_REC,
204     x_txn_billing_type_id          OUT NUMBER,
205     x_object_version_number        OUT NUMBER) IS
206     l_api_name                     CONSTANT VARCHAR2(30) := 'insert_row';
207     l_api_version                  CONSTANT NUMBER := 1;
208     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
209     l_txnbtype_rec                 TxnBType_Rec_Type;
210     l_def_txnbtype_rec             TxnBType_Rec_Type;
211   BEGIN
212     l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
213                                               G_PKG_NAME,
214                                               l_api_version,
215                                               p_api_version,
216                                               p_init_msg_list,
217                                               '_Pvt',
218                                               x_return_status);
219     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
220       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
221     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
222       RAISE FND_API.G_EXC_ERROR;
223     END IF;
224     l_txnbtype_rec := p_txnbtype_rec;
225     --- Validate all non-missing attributes (Item Level Validation)
226     IF p_validation_level >= FND_API.G_VALID_LEVEL_FULL THEN
227       l_return_status := Validate_Item_Attributes
228       (
229         l_txnbtype_rec    ---- IN
230       );
231       --- If any errors happen abort API
232       IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
233         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
234       ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
235         RAISE FND_API.G_EXC_ERROR;
236       END IF;
237     END IF;
238     --- Defaulting item attributes
239     l_return_status := Default_Item_Attributes
240     (
241       l_txnbtype_rec,    ---- IN
242       l_def_txnbtype_rec
243     );
244     --- If any errors happen abort API
245     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
246       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
247     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
248       RAISE FND_API.G_EXC_ERROR;
249     END IF;
250     IF (p_validation_level >= FND_API.G_VALID_LEVEL_FULL) THEN
251       l_return_status := Validate_Item_Record(l_def_txnbtype_rec);
252       IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
253         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
254       ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
255         RAISE FND_API.G_EXC_ERROR;
256       END IF;
257     END IF;
258     -- Set primary key value
259     l_def_txnbtype_rec.txn_billing_type_id := get_seq_id;
260     INSERT INTO CS_TXN_BILLING_TYPES(
261         txn_billing_type_id,
262         billing_type,
263         transaction_type_id,
264         last_update_date,
265         last_updated_by,
266         creation_date,
267         created_by,
268         last_update_login,
269         attribute1,
270         attribute2,
271         attribute3,
272         attribute4,
273         attribute5,
274         attribute6,
275         attribute7,
276         attribute8,
277         attribute9,
278         attribute10,
279         attribute11,
280         attribute12,
281         attribute13,
282         attribute14,
283         attribute15,
284         context,
285         object_version_number)
286       VALUES (
287         l_def_txnbtype_rec.txn_billing_type_id,
288         l_def_txnbtype_rec.billing_type,
289         l_def_txnbtype_rec.transaction_type_id,
290         l_def_txnbtype_rec.last_update_date,
291         l_def_txnbtype_rec.last_updated_by,
292         l_def_txnbtype_rec.creation_date,
293         l_def_txnbtype_rec.created_by,
294         l_def_txnbtype_rec.last_update_login,
295         l_def_txnbtype_rec.attribute1,
296         l_def_txnbtype_rec.attribute2,
297         l_def_txnbtype_rec.attribute3,
298         l_def_txnbtype_rec.attribute4,
299         l_def_txnbtype_rec.attribute5,
300         l_def_txnbtype_rec.attribute6,
301         l_def_txnbtype_rec.attribute7,
302         l_def_txnbtype_rec.attribute8,
303         l_def_txnbtype_rec.attribute9,
304         l_def_txnbtype_rec.attribute10,
305         l_def_txnbtype_rec.attribute11,
306         l_def_txnbtype_rec.attribute12,
307         l_def_txnbtype_rec.attribute13,
308         l_def_txnbtype_rec.attribute14,
309         l_def_txnbtype_rec.attribute15,
310         l_def_txnbtype_rec.context,
311         l_def_txnbtype_rec.object_version_number);
312     -- Set OUT values
313     x_txn_billing_type_id := l_def_txnbtype_rec.txn_billing_type_id;
314     x_object_version_number       := l_def_txnbtype_rec.OBJECT_VERSION_NUMBER;
315     TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
316   EXCEPTION
317     WHEN FND_API.G_EXC_ERROR THEN
318       x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
319       (
320         l_api_name,
321         G_PKG_NAME,
322         'FND_API.G_RET_STS_ERROR',
323         x_msg_count,
324         x_msg_data,
325         '_Pvt'
326       );
327     APP_EXCEPTION.RAISE_EXCEPTION;
328     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
329       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
330       (
331         l_api_name,
332         G_PKG_NAME,
333         'FND_API.G_RET_STS_UNEXP_ERROR',
334         x_msg_count,
335         x_msg_data,
336         '_Pvt'
337       );
338     APP_EXCEPTION.RAISE_EXCEPTION;
339     WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
340       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
344         'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
341       (
342         l_api_name,
343         G_PKG_NAME,
345         x_msg_count,
346         x_msg_data,
347         '_Pvt'
348       );
349     APP_EXCEPTION.RAISE_EXCEPTION;
350   END insert_row;
351   PROCEDURE insert_row
352   (
353     p_api_version                  IN NUMBER,
354     p_init_msg_list                IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
355     p_validation_level             IN NUMBER,
356     p_commit                       IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
357     x_return_status                OUT VARCHAR2,
358     x_msg_count                    OUT NUMBER,
359     x_msg_data                     OUT VARCHAR2,
360     p_billing_type                 IN CS_TXN_BILLING_TYPES.BILLING_TYPE%TYPE := NULL,
361     p_transaction_type_id          IN NUMBER := NULL,
362     p_last_update_date             IN CS_TXN_BILLING_TYPES.LAST_UPDATE_DATE%TYPE := NULL,
363     p_last_updated_by              IN NUMBER := NULL,
364     p_creation_date                IN CS_TXN_BILLING_TYPES.CREATION_DATE%TYPE := NULL,
365     p_created_by                   IN NUMBER := NULL,
366     p_last_update_login            IN NUMBER := NULL,
367     p_attribute1                   IN CS_TXN_BILLING_TYPES.ATTRIBUTE1%TYPE := NULL,
368     p_attribute2                   IN CS_TXN_BILLING_TYPES.ATTRIBUTE2%TYPE := NULL,
369     p_attribute3                   IN CS_TXN_BILLING_TYPES.ATTRIBUTE3%TYPE := NULL,
370     p_attribute4                   IN CS_TXN_BILLING_TYPES.ATTRIBUTE4%TYPE := NULL,
371     p_attribute5                   IN CS_TXN_BILLING_TYPES.ATTRIBUTE5%TYPE := NULL,
372     p_attribute6                   IN CS_TXN_BILLING_TYPES.ATTRIBUTE6%TYPE := NULL,
373     p_attribute7                   IN CS_TXN_BILLING_TYPES.ATTRIBUTE7%TYPE := NULL,
374     p_attribute8                   IN CS_TXN_BILLING_TYPES.ATTRIBUTE8%TYPE := NULL,
375     p_attribute9                   IN CS_TXN_BILLING_TYPES.ATTRIBUTE9%TYPE := NULL,
376     p_attribute10                  IN CS_TXN_BILLING_TYPES.ATTRIBUTE10%TYPE := NULL,
377     p_attribute11                  IN CS_TXN_BILLING_TYPES.ATTRIBUTE11%TYPE := NULL,
378     p_attribute12                  IN CS_TXN_BILLING_TYPES.ATTRIBUTE12%TYPE := NULL,
379     p_attribute13                  IN CS_TXN_BILLING_TYPES.ATTRIBUTE13%TYPE := NULL,
380     p_attribute14                  IN CS_TXN_BILLING_TYPES.ATTRIBUTE14%TYPE := NULL,
381     p_attribute15                  IN CS_TXN_BILLING_TYPES.ATTRIBUTE15%TYPE := NULL,
382     p_context                      IN CS_TXN_BILLING_TYPES.CONTEXT%TYPE := NULL,
383     p_object_version_number        IN NUMBER := NULL,
384     x_txn_billing_type_id          OUT NUMBER,
385     x_object_version_number        OUT NUMBER) IS
386     l_api_name                     CONSTANT VARCHAR2(30) := 'insert_row';
387     l_api_version                  CONSTANT NUMBER := 1;
388     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
389     l_txnbtype_rec                 TxnBType_Rec_Type;
390   BEGIN
391     l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
392                                               G_PKG_NAME,
393                                               l_api_version,
394                                               p_api_version,
395                                               p_init_msg_list,
396                                               '_Pvt',
397                                               x_return_status);
398     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
399       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
400     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
401       RAISE FND_API.G_EXC_ERROR;
402     END IF;
403     l_txnbtype_rec.BILLING_TYPE := p_billing_type;
404     l_txnbtype_rec.TRANSACTION_TYPE_ID := p_transaction_type_id;
405     l_txnbtype_rec.LAST_UPDATE_DATE := p_last_update_date;
406     l_txnbtype_rec.LAST_UPDATED_BY := p_last_updated_by;
407     l_txnbtype_rec.CREATION_DATE := p_creation_date;
408     l_txnbtype_rec.CREATED_BY := p_created_by;
409     l_txnbtype_rec.LAST_UPDATE_LOGIN := p_last_update_login;
410     l_txnbtype_rec.ATTRIBUTE1 := p_attribute1;
411     l_txnbtype_rec.ATTRIBUTE2 := p_attribute2;
412     l_txnbtype_rec.ATTRIBUTE3 := p_attribute3;
413     l_txnbtype_rec.ATTRIBUTE4 := p_attribute4;
414     l_txnbtype_rec.ATTRIBUTE5 := p_attribute5;
415     l_txnbtype_rec.ATTRIBUTE6 := p_attribute6;
416     l_txnbtype_rec.ATTRIBUTE7 := p_attribute7;
417     l_txnbtype_rec.ATTRIBUTE8 := p_attribute8;
418     l_txnbtype_rec.ATTRIBUTE9 := p_attribute9;
419     l_txnbtype_rec.ATTRIBUTE10 := p_attribute10;
420     l_txnbtype_rec.ATTRIBUTE11 := p_attribute11;
421     l_txnbtype_rec.ATTRIBUTE12 := p_attribute12;
422     l_txnbtype_rec.ATTRIBUTE13 := p_attribute13;
423     l_txnbtype_rec.ATTRIBUTE14 := p_attribute14;
424     l_txnbtype_rec.ATTRIBUTE15 := p_attribute15;
425     l_txnbtype_rec.CONTEXT := p_context;
426     l_txnbtype_rec.OBJECT_VERSION_NUMBER := p_object_version_number;
427     insert_row(
428       p_api_version,
429       p_init_msg_list,
430       p_validation_level,
431       p_commit,
432       x_return_status,
433       x_msg_count,
434       x_msg_data,
435       l_txnbtype_rec,
436       x_txn_billing_type_id,
437       x_object_version_number
438     );
439     TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
440   EXCEPTION
441     WHEN FND_API.G_EXC_ERROR THEN
442       x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
443       (
444         l_api_name,
445         G_PKG_NAME,
446         'FND_API.G_RET_STS_ERROR',
447         x_msg_count,
448         x_msg_data,
449         '_Pvt'
450       );
451     APP_EXCEPTION.RAISE_EXCEPTION;
452     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
453       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
454       (
455         l_api_name,
456         G_PKG_NAME,
457         'FND_API.G_RET_STS_UNEXP_ERROR',
461       );
458         x_msg_count,
459         x_msg_data,
460         '_Pvt'
462     APP_EXCEPTION.RAISE_EXCEPTION;
463     WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
464       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
465       (
466         l_api_name,
467         G_PKG_NAME,
468         'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
469         x_msg_count,
470         x_msg_data,
471         '_Pvt'
472       );
473     APP_EXCEPTION.RAISE_EXCEPTION;
474   END insert_row;
475   Procedure lock_row
476   (
477     p_api_version                  IN NUMBER,
478     p_init_msg_list                IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
479     p_validation_level             IN NUMBER,
480     p_commit                       IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
481     x_return_status                OUT VARCHAR2,
482     x_msg_count                    OUT NUMBER,
483     x_msg_data                     OUT VARCHAR2,
484     p_txn_billing_type_id          IN NUMBER,
485     p_object_version_number        IN NUMBER) IS
486     E_Resource_Busy               EXCEPTION;
487     PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
488     CURSOR lock_csr IS
489     SELECT OBJECT_VERSION_NUMBER
490      FROM CS_TXN_BILLING_TYPES
491     WHERE
492       TXN_BILLING_TYPE_ID = p_txn_billing_type_id AND
493       OBJECT_VERSION_NUMBER = p_object_version_number
494     FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
495 
496     CURSOR  lchk_csr IS
497     SELECT OBJECT_VERSION_NUMBER
498      FROM CS_TXN_BILLING_TYPES
499     WHERE
500       TXN_BILLING_TYPE_ID = p_txn_billing_type_id
501       ;
502     l_api_name                     CONSTANT VARCHAR2(30) := 'lock_row';
503     l_api_version                  CONSTANT NUMBER := 1;
504     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
505     l_object_version_number       CS_TXN_BILLING_TYPES.OBJECT_VERSION_NUMBER%TYPE;
506     lc_object_version_number      CS_TXN_BILLING_TYPES.OBJECT_VERSION_NUMBER%TYPE;
507     l_row_notfound                BOOLEAN := FALSE;
508     lc_row_notfound               BOOLEAN := FALSE;
509   BEGIN
510     l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
511                                               G_PKG_NAME,
512                                               l_api_version,
513                                               p_api_version,
514                                               p_init_msg_list,
515                                               '_Pvt',
516                                               x_return_status);
517     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
518       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
519     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
520       RAISE FND_API.G_EXC_ERROR;
521     END IF;
522     BEGIN
523       OPEN lock_csr;
524       FETCH lock_csr INTO l_object_version_number;
525       l_row_notfound := lock_csr%NOTFOUND;
526       CLOSE lock_csr;
527     EXCEPTION
528       WHEN E_Resource_Busy THEN
529         IF (lock_csr%ISOPEN) THEN
530           CLOSE lock_csr;
531         END IF;
532         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
533         RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
534     END;
535 
536     IF ( l_row_notfound ) THEN
537       OPEN lchk_csr;
538       FETCH lchk_csr INTO lc_object_version_number;
539       lc_row_notfound := lchk_csr%NOTFOUND;
540       CLOSE lchk_csr;
541     END IF;
542     IF (lc_row_notfound) THEN
543       TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
544       RAISE FND_API.G_EXC_ERROR;
545     ELSIF lc_object_version_number > p_object_version_number THEN
546       TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
547       RAISE FND_API.G_EXC_ERROR;
548     ELSIF lc_object_version_number <> p_object_version_number THEN
549       TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
550       RAISE FND_API.G_EXC_ERROR;
551     ELSIF lc_object_version_number = -1 THEN
552       TAPI_DEV_KIT.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
553       RAISE FND_API.G_EXC_ERROR;
554     END IF;
555     TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
556   EXCEPTION
557     WHEN FND_API.G_EXC_ERROR THEN
558       x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
559       (
560         l_api_name,
561         G_PKG_NAME,
562         'FND_API.G_RET_STS_ERROR',
563         x_msg_count,
564         x_msg_data,
565         '_Pvt'
566       );
567     APP_EXCEPTION.RAISE_EXCEPTION;
568     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
569       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
570       (
571         l_api_name,
572         G_PKG_NAME,
573         'FND_API.G_RET_STS_UNEXP_ERROR',
574         x_msg_count,
575         x_msg_data,
576         '_Pvt'
577       );
578     APP_EXCEPTION.RAISE_EXCEPTION;
579     WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
580       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
581       (
582         l_api_name,
583         G_PKG_NAME,
584         'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
585         x_msg_count,
586         x_msg_data,
587         '_Pvt'
588       );
589     APP_EXCEPTION.RAISE_EXCEPTION;
590   END lock_row;
591   Procedure update_row
592   (
593     p_api_version                  IN NUMBER,
594     p_init_msg_list                IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
595     p_validation_level             IN NUMBER,
596     p_commit                       IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
597     x_return_status                OUT VARCHAR2,
598     x_msg_count                    OUT NUMBER,
599     x_msg_data                     OUT VARCHAR2,
603     l_api_version                  CONSTANT NUMBER := 1;
600     p_txnbtype_val_rec             IN TxnBType_Val_Rec_Type := G_MISS_TXNBTYPE_VAL_REC,
601     x_object_version_number        OUT NUMBER) IS
602     l_api_name                     CONSTANT VARCHAR2(30) := 'update_row';
604     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
605     l_txnbtype_rec                 TxnBType_Rec_Type;
606     l_def_txnbtype_rec             TxnBType_Rec_Type;
607     FUNCTION populate_new_record (
608       p_txnbtype_rec	IN TxnBType_Rec_Type,
609       x_txnbtype_rec	OUT TxnBType_Rec_Type
610     ) RETURN VARCHAR2 IS
611       CURSOR cs_txn_billing_types_pk_csr (p_txn_billing_type_id  IN NUMBER) IS
612       SELECT *
613         FROM Cs_Txn_Billing_Types
614        WHERE cs_txn_billing_types.txn_billing_type_id = p_txn_billing_type_id;
615       l_cs_txn_billing_types_pk      cs_txn_billing_types_pk_csr%ROWTYPE;
616       l_row_notfound		BOOLEAN := TRUE;
617       l_return_status		VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
618     BEGIN
619       x_txnbtype_rec := p_txnbtype_rec;
620       -- Get current database values
621       OPEN cs_txn_billing_types_pk_csr (p_txnbtype_rec.txn_billing_type_id);
622       FETCH cs_txn_billing_types_pk_csr INTO l_cs_txn_billing_types_pk;
623       l_row_notfound := cs_txn_billing_types_pk_csr%NOTFOUND;
624       CLOSE cs_txn_billing_types_pk_csr;
625       IF (l_row_notfound) THEN
626         l_return_status := FND_API.G_RET_STS_ERROR;
627       END IF;
628       IF (x_txnbtype_rec.txn_billing_type_id = TAPI_DEV_KIT.G_MISS_NUM)
629       THEN
630         x_txnbtype_rec.txn_billing_type_id := l_cs_txn_billing_types_pk.txn_billing_type_id;
631       END IF;
632       IF (x_txnbtype_rec.billing_type = TAPI_DEV_KIT.G_MISS_CHAR)
633       THEN
634         x_txnbtype_rec.billing_type := l_cs_txn_billing_types_pk.billing_type;
635       END IF;
636       IF (x_txnbtype_rec.transaction_type_id = TAPI_DEV_KIT.G_MISS_NUM)
637       THEN
638         x_txnbtype_rec.transaction_type_id := l_cs_txn_billing_types_pk.transaction_type_id;
639       END IF;
640       IF (x_txnbtype_rec.last_update_date = TAPI_DEV_KIT.G_MISS_DATE)
641       THEN
642         x_txnbtype_rec.last_update_date := l_cs_txn_billing_types_pk.last_update_date;
643       END IF;
644       IF (x_txnbtype_rec.last_updated_by = TAPI_DEV_KIT.G_MISS_NUM)
645       THEN
646         x_txnbtype_rec.last_updated_by := l_cs_txn_billing_types_pk.last_updated_by;
647       END IF;
648       IF (x_txnbtype_rec.creation_date = TAPI_DEV_KIT.G_MISS_DATE)
649       THEN
650         x_txnbtype_rec.creation_date := l_cs_txn_billing_types_pk.creation_date;
651       END IF;
652       IF (x_txnbtype_rec.created_by = TAPI_DEV_KIT.G_MISS_NUM)
653       THEN
654         x_txnbtype_rec.created_by := l_cs_txn_billing_types_pk.created_by;
655       END IF;
656       IF (x_txnbtype_rec.last_update_login = TAPI_DEV_KIT.G_MISS_NUM)
657       THEN
658         x_txnbtype_rec.last_update_login := l_cs_txn_billing_types_pk.last_update_login;
659       END IF;
660       IF (x_txnbtype_rec.attribute1 = TAPI_DEV_KIT.G_MISS_CHAR)
661       THEN
662         x_txnbtype_rec.attribute1 := l_cs_txn_billing_types_pk.attribute1;
663       END IF;
664       IF (x_txnbtype_rec.attribute2 = TAPI_DEV_KIT.G_MISS_CHAR)
665       THEN
666         x_txnbtype_rec.attribute2 := l_cs_txn_billing_types_pk.attribute2;
667       END IF;
668       IF (x_txnbtype_rec.attribute3 = TAPI_DEV_KIT.G_MISS_CHAR)
669       THEN
670         x_txnbtype_rec.attribute3 := l_cs_txn_billing_types_pk.attribute3;
671       END IF;
672       IF (x_txnbtype_rec.attribute4 = TAPI_DEV_KIT.G_MISS_CHAR)
673       THEN
674         x_txnbtype_rec.attribute4 := l_cs_txn_billing_types_pk.attribute4;
675       END IF;
676       IF (x_txnbtype_rec.attribute5 = TAPI_DEV_KIT.G_MISS_CHAR)
677       THEN
678         x_txnbtype_rec.attribute5 := l_cs_txn_billing_types_pk.attribute5;
679       END IF;
680       IF (x_txnbtype_rec.attribute6 = TAPI_DEV_KIT.G_MISS_CHAR)
681       THEN
682         x_txnbtype_rec.attribute6 := l_cs_txn_billing_types_pk.attribute6;
683       END IF;
684       IF (x_txnbtype_rec.attribute7 = TAPI_DEV_KIT.G_MISS_CHAR)
685       THEN
686         x_txnbtype_rec.attribute7 := l_cs_txn_billing_types_pk.attribute7;
687       END IF;
688       IF (x_txnbtype_rec.attribute8 = TAPI_DEV_KIT.G_MISS_CHAR)
689       THEN
690         x_txnbtype_rec.attribute8 := l_cs_txn_billing_types_pk.attribute8;
691       END IF;
692       IF (x_txnbtype_rec.attribute9 = TAPI_DEV_KIT.G_MISS_CHAR)
693       THEN
694         x_txnbtype_rec.attribute9 := l_cs_txn_billing_types_pk.attribute9;
695       END IF;
696       IF (x_txnbtype_rec.attribute10 = TAPI_DEV_KIT.G_MISS_CHAR)
697       THEN
698         x_txnbtype_rec.attribute10 := l_cs_txn_billing_types_pk.attribute10;
699       END IF;
700       IF (x_txnbtype_rec.attribute11 = TAPI_DEV_KIT.G_MISS_CHAR)
701       THEN
702         x_txnbtype_rec.attribute11 := l_cs_txn_billing_types_pk.attribute11;
703       END IF;
704       IF (x_txnbtype_rec.attribute12 = TAPI_DEV_KIT.G_MISS_CHAR)
705       THEN
706         x_txnbtype_rec.attribute12 := l_cs_txn_billing_types_pk.attribute12;
707       END IF;
708       IF (x_txnbtype_rec.attribute13 = TAPI_DEV_KIT.G_MISS_CHAR)
709       THEN
710         x_txnbtype_rec.attribute13 := l_cs_txn_billing_types_pk.attribute13;
711       END IF;
712       IF (x_txnbtype_rec.attribute14 = TAPI_DEV_KIT.G_MISS_CHAR)
713       THEN
714         x_txnbtype_rec.attribute14 := l_cs_txn_billing_types_pk.attribute14;
715       END IF;
716       IF (x_txnbtype_rec.attribute15 = TAPI_DEV_KIT.G_MISS_CHAR)
717       THEN
718         x_txnbtype_rec.attribute15 := l_cs_txn_billing_types_pk.attribute15;
719       END IF;
720       IF (x_txnbtype_rec.context = TAPI_DEV_KIT.G_MISS_CHAR)
721       THEN
725       THEN
722         x_txnbtype_rec.context := l_cs_txn_billing_types_pk.context;
723       END IF;
724       IF (x_txnbtype_rec.object_version_number = TAPI_DEV_KIT.G_MISS_NUM)
726         x_txnbtype_rec.object_version_number := l_cs_txn_billing_types_pk.object_version_number;
727       END IF;
728       RETURN(l_return_status);
729     END populate_new_record;
730   BEGIN
731     l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
732                                               G_PKG_NAME,
733                                               l_api_version,
734                                               p_api_version,
735                                               p_init_msg_list,
736                                               '_Pvt',
737                                               x_return_status);
738     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
739       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
740     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
741       RAISE FND_API.G_EXC_ERROR;
742     END IF;
743     migrate(p_txnbtype_val_rec, l_txnbtype_rec);
744     --- Defaulting item attributes
745     l_return_status := Default_Item_Attributes
746     (
747       l_txnbtype_rec,    ---- IN
748       l_def_txnbtype_rec
749     );
750     --- If any errors happen abort API
751     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
752       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
753     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
754       RAISE FND_API.G_EXC_ERROR;
755     END IF;
756     l_return_status := populate_new_record(l_def_txnbtype_rec, l_def_txnbtype_rec);
757     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
758       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
759     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
760       RAISE FND_API.G_EXC_ERROR;
761     END IF;
762     --- Validate all non-missing attributes (Item Level Validation)
763     IF p_validation_level >= FND_API.G_VALID_LEVEL_FULL THEN
764       l_return_status := Validate_Item_Attributes
765       (
766         l_def_txnbtype_rec    ---- IN
767       );
768       --- If any errors happen abort API
769       IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
770         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
771       ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
772         RAISE FND_API.G_EXC_ERROR;
773       END IF;
774     END IF;
775     IF (p_validation_level >= FND_API.G_VALID_LEVEL_FULL) THEN
776       l_return_status := Validate_Item_Record(l_def_txnbtype_rec);
777       IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
778         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
779       ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
780         RAISE FND_API.G_EXC_ERROR;
781       END IF;
782     END IF;
783     UPDATE  CS_TXN_BILLING_TYPES
784     SET
785         TXN_BILLING_TYPE_ID = l_def_txnbtype_rec.txn_billing_type_id ,
786         BILLING_TYPE = l_def_txnbtype_rec.billing_type ,
787         TRANSACTION_TYPE_ID = l_def_txnbtype_rec.transaction_type_id ,
788         LAST_UPDATE_DATE = l_def_txnbtype_rec.last_update_date ,
789         LAST_UPDATED_BY = l_def_txnbtype_rec.last_updated_by ,
790         CREATION_DATE = l_def_txnbtype_rec.creation_date ,
791         CREATED_BY = l_def_txnbtype_rec.created_by ,
792         LAST_UPDATE_LOGIN = l_def_txnbtype_rec.last_update_login ,
793         ATTRIBUTE1 = l_def_txnbtype_rec.attribute1 ,
794         ATTRIBUTE2 = l_def_txnbtype_rec.attribute2 ,
795         ATTRIBUTE3 = l_def_txnbtype_rec.attribute3 ,
796         ATTRIBUTE4 = l_def_txnbtype_rec.attribute4 ,
797         ATTRIBUTE5 = l_def_txnbtype_rec.attribute5 ,
798         ATTRIBUTE6 = l_def_txnbtype_rec.attribute6 ,
799         ATTRIBUTE7 = l_def_txnbtype_rec.attribute7 ,
800         ATTRIBUTE8 = l_def_txnbtype_rec.attribute8 ,
801         ATTRIBUTE9 = l_def_txnbtype_rec.attribute9 ,
802         ATTRIBUTE10 = l_def_txnbtype_rec.attribute10 ,
803         ATTRIBUTE11 = l_def_txnbtype_rec.attribute11 ,
804         ATTRIBUTE12 = l_def_txnbtype_rec.attribute12 ,
805         ATTRIBUTE13 = l_def_txnbtype_rec.attribute13 ,
806         ATTRIBUTE14 = l_def_txnbtype_rec.attribute14 ,
807         ATTRIBUTE15 = l_def_txnbtype_rec.attribute15 ,
808         CONTEXT = l_def_txnbtype_rec.context ,
809         OBJECT_VERSION_NUMBER = l_def_txnbtype_rec.object_version_number
810         WHERE
811           TXN_BILLING_TYPE_ID = l_def_txnbtype_rec.txn_billing_type_id
812           ;
813     x_object_version_number := l_def_txnbtype_rec.OBJECT_VERSION_NUMBER;
814     TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
815   EXCEPTION
816     WHEN FND_API.G_EXC_ERROR THEN
817       x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
818       (
819         l_api_name,
820         G_PKG_NAME,
821         'FND_API.G_RET_STS_ERROR',
822         x_msg_count,
823         x_msg_data,
824         '_Pvt'
825       );
826     APP_EXCEPTION.RAISE_EXCEPTION;
827     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
828       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
829       (
830         l_api_name,
831         G_PKG_NAME,
832         'FND_API.G_RET_STS_UNEXP_ERROR',
833         x_msg_count,
834         x_msg_data,
835         '_Pvt'
836       );
837     APP_EXCEPTION.RAISE_EXCEPTION;
838     WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
839       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
840       (
841         l_api_name,
842         G_PKG_NAME,
843         'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
844         x_msg_count,
845         x_msg_data,
846         '_Pvt'
847       );
848     APP_EXCEPTION.RAISE_EXCEPTION;
849   END update_row;
850   Procedure update_row
851   (
852     p_api_version                  IN NUMBER,
856     x_return_status                OUT VARCHAR2,
853     p_init_msg_list                IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
854     p_validation_level             IN NUMBER,
855     p_commit                       IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
857     x_msg_count                    OUT NUMBER,
858     x_msg_data                     OUT VARCHAR2,
859     p_txn_billing_type_id          IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
860     p_billing_type                 IN CS_TXN_BILLING_TYPES.BILLING_TYPE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
861     p_transaction_type_id          IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
862     p_last_update_date             IN CS_TXN_BILLING_TYPES.LAST_UPDATE_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
863     p_last_updated_by              IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
864     p_creation_date                IN CS_TXN_BILLING_TYPES.CREATION_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
865     p_created_by                   IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
866     p_last_update_login            IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
867     p_attribute1                   IN CS_TXN_BILLING_TYPES.ATTRIBUTE1%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
868     p_attribute2                   IN CS_TXN_BILLING_TYPES.ATTRIBUTE2%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
869     p_attribute3                   IN CS_TXN_BILLING_TYPES.ATTRIBUTE3%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
870     p_attribute4                   IN CS_TXN_BILLING_TYPES.ATTRIBUTE4%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
871     p_attribute5                   IN CS_TXN_BILLING_TYPES.ATTRIBUTE5%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
872     p_attribute6                   IN CS_TXN_BILLING_TYPES.ATTRIBUTE6%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
873     p_attribute7                   IN CS_TXN_BILLING_TYPES.ATTRIBUTE7%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
874     p_attribute8                   IN CS_TXN_BILLING_TYPES.ATTRIBUTE8%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
875     p_attribute9                   IN CS_TXN_BILLING_TYPES.ATTRIBUTE9%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
876     p_attribute10                  IN CS_TXN_BILLING_TYPES.ATTRIBUTE10%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
877     p_attribute11                  IN CS_TXN_BILLING_TYPES.ATTRIBUTE11%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
878     p_attribute12                  IN CS_TXN_BILLING_TYPES.ATTRIBUTE12%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
879     p_attribute13                  IN CS_TXN_BILLING_TYPES.ATTRIBUTE13%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
880     p_attribute14                  IN CS_TXN_BILLING_TYPES.ATTRIBUTE14%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
881     p_attribute15                  IN CS_TXN_BILLING_TYPES.ATTRIBUTE15%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
882     p_context                      IN CS_TXN_BILLING_TYPES.CONTEXT%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
883     p_object_version_number        IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
884     x_object_version_number        OUT NUMBER) IS
885     l_api_name                     CONSTANT VARCHAR2(30) := 'update_row';
886     l_api_version                  CONSTANT NUMBER := 1;
887     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
888     l_txnbtype_rec                 TxnBType_Val_Rec_Type;
889   BEGIN
890     l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
891                                               G_PKG_NAME,
892                                               l_api_version,
893                                               p_api_version,
894                                               p_init_msg_list,
895                                               '_Pvt',
896                                               x_return_status);
897     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
898       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
899     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
900       RAISE FND_API.G_EXC_ERROR;
901     END IF;
902     l_txnbtype_rec.TXN_BILLING_TYPE_ID := p_txn_billing_type_id;
903     l_txnbtype_rec.BILLING_TYPE := p_billing_type;
904     l_txnbtype_rec.TRANSACTION_TYPE_ID := p_transaction_type_id;
905     l_txnbtype_rec.LAST_UPDATE_DATE := p_last_update_date;
906     l_txnbtype_rec.LAST_UPDATED_BY := p_last_updated_by;
907     l_txnbtype_rec.CREATION_DATE := p_creation_date;
908     l_txnbtype_rec.CREATED_BY := p_created_by;
909     l_txnbtype_rec.LAST_UPDATE_LOGIN := p_last_update_login;
910     l_txnbtype_rec.ATTRIBUTE1 := p_attribute1;
911     l_txnbtype_rec.ATTRIBUTE2 := p_attribute2;
912     l_txnbtype_rec.ATTRIBUTE3 := p_attribute3;
913     l_txnbtype_rec.ATTRIBUTE4 := p_attribute4;
914     l_txnbtype_rec.ATTRIBUTE5 := p_attribute5;
915     l_txnbtype_rec.ATTRIBUTE6 := p_attribute6;
916     l_txnbtype_rec.ATTRIBUTE7 := p_attribute7;
917     l_txnbtype_rec.ATTRIBUTE8 := p_attribute8;
918     l_txnbtype_rec.ATTRIBUTE9 := p_attribute9;
919     l_txnbtype_rec.ATTRIBUTE10 := p_attribute10;
920     l_txnbtype_rec.ATTRIBUTE11 := p_attribute11;
921     l_txnbtype_rec.ATTRIBUTE12 := p_attribute12;
922     l_txnbtype_rec.ATTRIBUTE13 := p_attribute13;
923     l_txnbtype_rec.ATTRIBUTE14 := p_attribute14;
924     l_txnbtype_rec.ATTRIBUTE15 := p_attribute15;
925     l_txnbtype_rec.CONTEXT := p_context;
926     l_txnbtype_rec.OBJECT_VERSION_NUMBER := p_object_version_number;
927     update_row(
928       p_api_version,
929       p_init_msg_list,
930       p_validation_level,
931       p_commit,
932       x_return_status,
933       x_msg_count,
934       x_msg_data,
935       l_txnbtype_rec,
936       x_object_version_number
937     );
938     TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
939   EXCEPTION
940     WHEN FND_API.G_EXC_ERROR THEN
941       x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
942       (
943         l_api_name,
944         G_PKG_NAME,
945         'FND_API.G_RET_STS_ERROR',
946         x_msg_count,
947         x_msg_data,
948         '_Pvt'
949       );
950     APP_EXCEPTION.RAISE_EXCEPTION;
951     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
952       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
953       (
954         l_api_name,
955         G_PKG_NAME,
959         '_Pvt'
956         'FND_API.G_RET_STS_UNEXP_ERROR',
957         x_msg_count,
958         x_msg_data,
960       );
961     APP_EXCEPTION.RAISE_EXCEPTION;
962     WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
963       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
964       (
965         l_api_name,
966         G_PKG_NAME,
967         'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
968         x_msg_count,
969         x_msg_data,
970         '_Pvt'
971       );
972     APP_EXCEPTION.RAISE_EXCEPTION;
973   END update_row;
974   Procedure delete_row
975   (
976     p_api_version                  IN NUMBER,
977     p_init_msg_list                IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
978     p_validation_level             IN NUMBER,
979     p_commit                       IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
980     x_return_status                OUT VARCHAR2,
981     x_msg_count                    OUT NUMBER,
982     x_msg_data                     OUT VARCHAR2,
983     p_txn_billing_type_id          IN NUMBER) IS
984     l_api_name                     CONSTANT VARCHAR2(30) := 'delete_row';
985     l_api_version                  CONSTANT NUMBER := 1;
986     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
987   BEGIN
988     l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
989                                               G_PKG_NAME,
990                                               l_api_version,
991                                               p_api_version,
992                                               p_init_msg_list,
993                                               '_Pvt',
994                                               x_return_status);
995     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
996       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
997     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
998       RAISE FND_API.G_EXC_ERROR;
999     END IF;
1000     DELETE  FROM CS_TXN_BILLING_TYPES
1001     WHERE
1002       TXN_BILLING_TYPE_ID = p_txn_billing_type_id
1003       ;
1004     TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
1005   EXCEPTION
1006     WHEN FND_API.G_EXC_ERROR THEN
1007       x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1008       (
1009         l_api_name,
1010         G_PKG_NAME,
1011         'FND_API.G_RET_STS_ERROR',
1012         x_msg_count,
1013         x_msg_data,
1014         '_Pvt'
1015       );
1016     APP_EXCEPTION.RAISE_EXCEPTION;
1017     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1018       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1019       (
1020         l_api_name,
1021         G_PKG_NAME,
1022         'FND_API.G_RET_STS_UNEXP_ERROR',
1023         x_msg_count,
1024         x_msg_data,
1025         '_Pvt'
1026       );
1027     APP_EXCEPTION.RAISE_EXCEPTION;
1028     WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
1029       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1030       (
1031         l_api_name,
1032         G_PKG_NAME,
1033         'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
1034         x_msg_count,
1035         x_msg_data,
1036         '_Pvt'
1037       );
1038     APP_EXCEPTION.RAISE_EXCEPTION;
1039   END delete_row;
1040   PROCEDURE validate_row
1041   (
1042     p_api_version                  IN NUMBER,
1043     p_init_msg_list                IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1044     p_validation_level             IN NUMBER,
1045     p_commit                       IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1046     x_return_status                OUT VARCHAR2,
1047     x_msg_count                    OUT NUMBER,
1048     x_msg_data                     OUT VARCHAR2,
1049     p_txnbtype_val_rec             IN TxnBType_Val_Rec_Type := G_MISS_TXNBTYPE_VAL_REC) IS
1050     l_api_name                     CONSTANT VARCHAR2(30) := 'validate_row';
1051     l_api_version                  CONSTANT NUMBER := 1;
1052     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1053     l_txnbtype_rec                 TxnBType_Rec_Type;
1054     l_def_txnbtype_rec             TxnBType_Rec_Type;
1055   BEGIN
1056     l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
1057                                               G_PKG_NAME,
1058                                               l_api_version,
1059                                               p_api_version,
1060                                               p_init_msg_list,
1061                                               '_Pvt',
1062                                               x_return_status);
1063     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1064       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1065     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1066       RAISE FND_API.G_EXC_ERROR;
1067     END IF;
1068     migrate(p_txnbtype_val_rec, l_txnbtype_rec);
1069     --- Validate all non-missing attributes (Item Level Validation)
1070     IF p_validation_level >= FND_API.G_VALID_LEVEL_FULL THEN
1071       l_return_status := Validate_Item_Attributes
1072       (
1073         l_txnbtype_rec    ---- IN
1074       );
1075       --- If any errors happen abort API
1076       IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1077         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1078       ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1079         RAISE FND_API.G_EXC_ERROR;
1080       END IF;
1081     END IF;
1082     IF (p_validation_level >= FND_API.G_VALID_LEVEL_FULL) THEN
1083       l_return_status := Validate_Item_Record(l_def_txnbtype_rec);
1084       IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1085         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1086       ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1087         RAISE FND_API.G_EXC_ERROR;
1088       END IF;
1089     END IF;
1093       x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1090     TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
1091   EXCEPTION
1092     WHEN FND_API.G_EXC_ERROR THEN
1094       (
1095         l_api_name,
1096         G_PKG_NAME,
1097         'FND_API.G_RET_STS_ERROR',
1098         x_msg_count,
1099         x_msg_data,
1100         '_Pvt'
1101       );
1102     APP_EXCEPTION.RAISE_EXCEPTION;
1103     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1104       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1105       (
1106         l_api_name,
1107         G_PKG_NAME,
1108         'FND_API.G_RET_STS_UNEXP_ERROR',
1109         x_msg_count,
1110         x_msg_data,
1111         '_Pvt'
1112       );
1113     APP_EXCEPTION.RAISE_EXCEPTION;
1114     WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
1115       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1116       (
1117         l_api_name,
1118         G_PKG_NAME,
1119         'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
1120         x_msg_count,
1121         x_msg_data,
1122         '_Pvt'
1123       );
1124     APP_EXCEPTION.RAISE_EXCEPTION;
1125   END validate_row;
1126   PROCEDURE validate_row
1127   (
1128     p_api_version                  IN NUMBER,
1129     p_init_msg_list                IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1130     p_validation_level             IN NUMBER,
1131     p_commit                       IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1132     x_return_status                OUT VARCHAR2,
1133     x_msg_count                    OUT NUMBER,
1134     x_msg_data                     OUT VARCHAR2,
1135     p_txn_billing_type_id          IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1136     p_billing_type                 IN CS_TXN_BILLING_TYPES.BILLING_TYPE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1137     p_transaction_type_id          IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1138     p_last_update_date             IN CS_TXN_BILLING_TYPES.LAST_UPDATE_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1139     p_last_updated_by              IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1140     p_creation_date                IN CS_TXN_BILLING_TYPES.CREATION_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1141     p_created_by                   IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1142     p_last_update_login            IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1143     p_attribute1                   IN CS_TXN_BILLING_TYPES.ATTRIBUTE1%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1144     p_attribute2                   IN CS_TXN_BILLING_TYPES.ATTRIBUTE2%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1145     p_attribute3                   IN CS_TXN_BILLING_TYPES.ATTRIBUTE3%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1146     p_attribute4                   IN CS_TXN_BILLING_TYPES.ATTRIBUTE4%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1147     p_attribute5                   IN CS_TXN_BILLING_TYPES.ATTRIBUTE5%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1148     p_attribute6                   IN CS_TXN_BILLING_TYPES.ATTRIBUTE6%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1149     p_attribute7                   IN CS_TXN_BILLING_TYPES.ATTRIBUTE7%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1150     p_attribute8                   IN CS_TXN_BILLING_TYPES.ATTRIBUTE8%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1151     p_attribute9                   IN CS_TXN_BILLING_TYPES.ATTRIBUTE9%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1152     p_attribute10                  IN CS_TXN_BILLING_TYPES.ATTRIBUTE10%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1153     p_attribute11                  IN CS_TXN_BILLING_TYPES.ATTRIBUTE11%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1154     p_attribute12                  IN CS_TXN_BILLING_TYPES.ATTRIBUTE12%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1155     p_attribute13                  IN CS_TXN_BILLING_TYPES.ATTRIBUTE13%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1156     p_attribute14                  IN CS_TXN_BILLING_TYPES.ATTRIBUTE14%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1157     p_attribute15                  IN CS_TXN_BILLING_TYPES.ATTRIBUTE15%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1158     p_context                      IN CS_TXN_BILLING_TYPES.CONTEXT%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1159     p_object_version_number        IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM) IS
1160     l_api_name                     CONSTANT VARCHAR2(30) := 'validate_row';
1161     l_api_version                  CONSTANT NUMBER := 1;
1162     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1163     l_txnbtype_rec                 TxnBType_Val_Rec_Type;
1164   BEGIN
1165     l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
1166                                               G_PKG_NAME,
1167                                               l_api_version,
1168                                               p_api_version,
1169                                               p_init_msg_list,
1170                                               '_Pvt',
1171                                               x_return_status);
1172     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1173       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1174     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1175       RAISE FND_API.G_EXC_ERROR;
1176     END IF;
1177     l_txnbtype_rec.TXN_BILLING_TYPE_ID := p_txn_billing_type_id;
1178     l_txnbtype_rec.BILLING_TYPE := p_billing_type;
1179     l_txnbtype_rec.TRANSACTION_TYPE_ID := p_transaction_type_id;
1180     l_txnbtype_rec.LAST_UPDATE_DATE := p_last_update_date;
1181     l_txnbtype_rec.LAST_UPDATED_BY := p_last_updated_by;
1182     l_txnbtype_rec.CREATION_DATE := p_creation_date;
1183     l_txnbtype_rec.CREATED_BY := p_created_by;
1184     l_txnbtype_rec.LAST_UPDATE_LOGIN := p_last_update_login;
1185     l_txnbtype_rec.ATTRIBUTE1 := p_attribute1;
1186     l_txnbtype_rec.ATTRIBUTE2 := p_attribute2;
1187     l_txnbtype_rec.ATTRIBUTE3 := p_attribute3;
1188     l_txnbtype_rec.ATTRIBUTE4 := p_attribute4;
1189     l_txnbtype_rec.ATTRIBUTE5 := p_attribute5;
1190     l_txnbtype_rec.ATTRIBUTE6 := p_attribute6;
1191     l_txnbtype_rec.ATTRIBUTE7 := p_attribute7;
1192     l_txnbtype_rec.ATTRIBUTE8 := p_attribute8;
1193     l_txnbtype_rec.ATTRIBUTE9 := p_attribute9;
1194     l_txnbtype_rec.ATTRIBUTE10 := p_attribute10;
1195     l_txnbtype_rec.ATTRIBUTE11 := p_attribute11;
1199     l_txnbtype_rec.ATTRIBUTE15 := p_attribute15;
1196     l_txnbtype_rec.ATTRIBUTE12 := p_attribute12;
1197     l_txnbtype_rec.ATTRIBUTE13 := p_attribute13;
1198     l_txnbtype_rec.ATTRIBUTE14 := p_attribute14;
1200     l_txnbtype_rec.CONTEXT := p_context;
1201     l_txnbtype_rec.OBJECT_VERSION_NUMBER := p_object_version_number;
1202     validate_row(
1203       p_api_version,
1204       p_init_msg_list,
1205       p_validation_level,
1206       p_commit,
1207       x_return_status,
1208       x_msg_count,
1209       x_msg_data,
1210       l_txnbtype_rec
1211     );
1212     TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
1213   EXCEPTION
1214     WHEN FND_API.G_EXC_ERROR THEN
1215       x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1216       (
1217         l_api_name,
1218         G_PKG_NAME,
1219         'FND_API.G_RET_STS_ERROR',
1220         x_msg_count,
1221         x_msg_data,
1222         '_Pvt'
1223       );
1224     APP_EXCEPTION.RAISE_EXCEPTION;
1225     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1226       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1227       (
1228         l_api_name,
1229         G_PKG_NAME,
1230         'FND_API.G_RET_STS_UNEXP_ERROR',
1231         x_msg_count,
1232         x_msg_data,
1233         '_Pvt'
1234       );
1235     APP_EXCEPTION.RAISE_EXCEPTION;
1236     WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
1237       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1238       (
1239         l_api_name,
1240         G_PKG_NAME,
1241         'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
1242         x_msg_count,
1243         x_msg_data,
1244         '_Pvt'
1245       );
1246     APP_EXCEPTION.RAISE_EXCEPTION;
1247   END validate_row;
1248 END CS_TXNBTYPE_PVT;