DBA Data[Home] [Help]

PACKAGE BODY: APPS.CE_FORECAST_TRX_CELLS_PKG

Source


1 PACKAGE BODY CE_FORECAST_TRX_CELLS_PKG as
2 /* $Header: ceftcelb.pls 120.0 2004/06/21 21:51:38 bhchung ship $ */
3 
4   PROCEDURE Insert_Row(	X_Rowid			IN OUT NOCOPY	VARCHAR2,
5 			X_forecast_cell_id	IN OUT NOCOPY	NUMBER,
6 			X_forecast_id			NUMBER,
7 			X_forecast_header_id		NUMBER,
8 			X_forecast_row_id		NUMBER,
9 			X_forecast_column_id		NUMBER,
10 			X_amount			NUMBER,
11 			X_trx_amount			NUMBER,
12 			X_reference_id			VARCHAR2,
13 			X_currency_code			VARCHAR2,
14 			X_org_id			NUMBER,
15 			X_include_flag			VARCHAR2,
16 			X_trx_date			DATE,
17 			X_bank_account_id		NUMBER,
18 			X_code_combination_id		NUMBER,
19 		        X_Created_By                    NUMBER,
20                        	X_Creation_Date                 DATE,
21                        	X_Last_Updated_By               NUMBER,
22                        	X_Last_Update_Date              DATE,
23                        	X_Last_Update_Login             NUMBER) IS
24     CURSOR C1 IS SELECT rowid
25 		 FROM CE_FORECAST_TRX_CELLS
26 		 WHERE forecast_cell_id = X_forecast_cell_id;
27     CURSOR C2 IS SELECT CE_FORECAST_TRX_CELLS_S.nextval FROM sys.dual;
28   BEGIN
29     IF (X_forecast_cell_id IS NULL) THEN
30       OPEN C2;
31       FETCH C2 INTO X_forecast_cell_id;
32       CLOSE C2;
33     END IF;
34     INSERT INTO CE_FORECAST_TRX_CELLS(
35 			FORECAST_CELL_ID,
36  			FORECAST_ID,
37  			FORECAST_HEADER_ID,
38  			FORECAST_ROW_ID,
39  			FORECAST_COLUMN_ID,
40  			AMOUNT,
41 			TRX_AMOUNT,
42 			REFERENCE_ID,
43 			CURRENCY_CODE,
44 			ORG_ID,
45 			INCLUDE_FLAG,
46 			TRX_DATE,
47 			BANK_ACCOUNT_ID,
48 			CODE_COMBINATION_ID,
49  			CREATED_BY,
50  			CREATION_DATE,
51  			LAST_UPDATED_BY,
52  			LAST_UPDATE_DATE,
53  			LAST_UPDATE_LOGIN ) VALUES
54 		(	X_forecast_cell_id,
55 			X_forecast_id,
56 			X_forecast_header_id,
57 			X_forecast_row_id,
58 			X_forecast_column_id,
59 			X_amount,
60 			X_trx_amount,
61 			X_reference_id,
62 			X_currency_code,
63 			X_org_id,
64 			X_include_flag,
65 			X_trx_date,
66 			X_bank_account_id,
67 			X_code_combination_id,
68 			X_created_by,
69 			X_creation_date,
70 			X_last_updated_by,
71 			X_last_update_date,
72 			X_last_update_login);
73     OPEN C1;
74     FETCH C1 INTO X_rowid;
75     IF (C1%NOTFOUND) THEN
76       CLOSE C1;
77       Raise NO_DATA_FOUND;
78     END IF;
79     CLOSE C1;
80   END insert_row;
81 
82   PROCEDURE Update_Row(	X_cellid			NUMBER,
83 			X_amount			NUMBER,
84                        	X_Last_Updated_By               NUMBER,
85                        	X_Last_Update_Date              DATE,
86                        	X_Last_Update_Login             NUMBER) IS
87   BEGIN
88     UPDATE CE_FORECAST_TRX_CELLS
89     SET
90 	amount			= X_amount,
91 	last_updated_by		= X_last_updated_by,
92 	last_update_date	= X_last_update_date,
93 	last_update_login	= X_last_update_login
94     WHERE forecast_cell_id = X_cellid;
95 
96     if (SQL%NOTFOUND) then
97       Raise NO_DATA_FOUND;
98     end if;
99   END Update_Row;
100 
101 
102   PROCEDURE Delete_Row(X_Rowid VARCHAR2) IS
103   BEGIN
104     DELETE FROM CE_FORECAST_TRX_CELLS
105     WHERE rowid = X_Rowid;
106 
107     if (SQL%NOTFOUND) then
108       Raise NO_DATA_FOUND;
109     end if;
110   END Delete_Row;
111 
112   PROCEDURE Lock_Row(   X_forecast_cell_id              NUMBER,
113                         X_amount                        NUMBER) IS
114     CURSOR C IS
115 	SELECT	*
116 	FROM	CE_FORECAST_TRX_CELLS
117 	WHERE 	forecast_cell_id = X_forecast_cell_id
118 	FOR UPDATE of forecast_cell_id NOWAIT;
119     Recinfo C%ROWTYPE;
120   BEGIN
121     OPEN C;
122     FETCH C INTO Recinfo;
123     IF (C%NOTFOUND) THEN
124       CLOSE C;
125       FND_MESSAGE.set_name('FND', 'FORM_RECORD_DELETED');
126       APP_EXCEPTION.raise_exception;
127     END IF;
128     CLOSE C;
129 
130     IF (Recinfo.amount = X_amount ) THEN
131 	return;
132     ELSE
133       FND_MESSAGE.set_name('FND', 'FORM_RECORD_CHANGED');
134       APP_EXCEPTION.raise_exception;
135     END IF;
136   END Lock_Row;
137 
138 
139 
140 END CE_FORECAST_TRX_CELLS_PKG;