[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;