[Home] [Help]
PACKAGE BODY: APPS.PA_UTILIZATION_OPTIONS_ALL_PKG
Source
1 PACKAGE BODY pa_utilization_options_all_pkg AS
2 /* $Header: PARUTOPB.pls 120.1 2005/08/19 17:03:01 mwasowic noship $ */
3
4 PROCEDURE insert_row (
5 x_rowid IN OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
6 x_org_id IN NUMBER,
7 x_gl_period_flag IN VARCHAR2,
8 x_pa_period_flag IN VARCHAR2,
9 x_global_exp_period_flag IN VARCHAR2,
10 x_forecast_thru_date IN DATE,
11 x_actuals_thru_date IN DATE,
12 x_mode IN VARCHAR2 DEFAULT 'R'
13 ) AS
14 /*
15 || Created By :
16 || Created On : 16-OCT-2000
17 || Purpose : Handles the INSERT DML logic for the table.
18 || Known limitations, enhancements or remarks :
19 || Change History :
20 || Who When What
21 || (reverse chronological order - newest change first)
22 */
23 CURSOR c IS
24 SELECT rowid
25 FROM pa_utilization_options_all
26 WHERE nvl(org_id,-99) = nvl(x_org_id,-99);
27
28 x_last_update_date DATE;
29 x_last_updated_by NUMBER;
30 x_last_update_login NUMBER;
31
32 BEGIN
33
34 x_last_update_date := SYSDATE;
35 IF (x_mode = 'I') THEN
36 x_last_updated_by := 1;
37 x_last_update_login := 0;
38 ELSIF (x_mode = 'R') THEN
39 x_last_updated_by := fnd_global.user_id;
40 IF (x_last_updated_by IS NULL) THEN
41 x_last_updated_by := -1;
42 END IF;
43 x_last_update_login := fnd_global.login_id;
44 IF (x_last_update_login IS NULL) THEN
45 x_last_update_login := -1;
46 END IF;
47 ELSE
48 fnd_message.set_name ('FND', 'SYSTEM-INVALID ARGS');
49 app_exception.raise_exception;
50 END IF;
51
52 INSERT INTO pa_utilization_options_all (
53 org_id,
54 gl_period_flag,
55 pa_period_flag,
56 global_exp_period_flag,
57 forecast_thru_date,
58 actuals_thru_date,
59 creation_date,
60 created_by,
61 last_update_date,
62 last_updated_by,
63 last_update_login
64 ) VALUES (
65 x_org_id,
66 x_gl_period_flag,
67 x_pa_period_flag,
68 x_global_exp_period_flag,
69 x_forecast_thru_date,
70 x_actuals_thru_date,
71 x_last_update_date,
72 x_last_updated_by,
73 x_last_update_date,
74 x_last_updated_by,
75 x_last_update_login
76 );
77
78 OPEN c;
79 FETCH c INTO x_rowid;
80 IF (c%NOTFOUND) THEN
81 CLOSE c;
82 RAISE NO_DATA_FOUND;
83 END IF;
84 CLOSE c;
85
86 END insert_row;
87
88
89 PROCEDURE lock_row (
90 x_rowid IN VARCHAR2,
91 x_org_id IN NUMBER,
92 x_gl_period_flag IN VARCHAR2,
93 x_pa_period_flag IN VARCHAR2,
94 x_global_exp_period_flag IN VARCHAR2,
95 x_forecast_thru_date IN DATE,
96 x_actuals_thru_date IN DATE
97 ) AS
98 /*
99 || Created By :
100 || Created On : 16-OCT-2000
101 || Purpose : Handles the LOCK mechanism for the table.
102 || Known limitations, enhancements or remarks :
103 || Change History :
104 || Who When What
105 || (reverse chronological order - newest change first)
106 */
107 CURSOR c1 IS
108 SELECT
109 gl_period_flag,
110 pa_period_flag,
111 global_exp_period_flag,
112 forecast_thru_date,
113 actuals_thru_date
114 FROM pa_utilization_options_all
115 WHERE rowid = x_rowid
116 FOR UPDATE NOWAIT;
117
118 tlinfo c1%ROWTYPE;
119
120 BEGIN
121
122 OPEN c1;
123 FETCH c1 INTO tlinfo;
124 IF (c1%notfound) THEN
125 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
126 CLOSE c1;
127 app_exception.raise_exception;
128 RETURN;
129 END IF;
130 CLOSE c1;
131
132 IF (
133 (tlinfo.gl_period_flag = x_gl_period_flag)
134 AND (tlinfo.pa_period_flag = x_pa_period_flag)
135 AND (tlinfo.global_exp_period_flag = x_global_exp_period_flag)
136 AND (tlinfo.forecast_thru_date = x_forecast_thru_date)
137 AND (tlinfo.actuals_thru_date = x_actuals_thru_date)
138 ) THEN
139 NULL;
140 ELSE
141 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
142 app_exception.raise_exception;
143 END IF;
144
145 RETURN;
146
147 END lock_row;
148
149
150 PROCEDURE update_row (
151 x_rowid IN VARCHAR2,
152 x_org_id IN NUMBER,
153 x_gl_period_flag IN VARCHAR2,
154 x_pa_period_flag IN VARCHAR2,
155 x_global_exp_period_flag IN VARCHAR2,
156 x_forecast_thru_date IN DATE,
157 x_actuals_thru_date IN DATE,
158 x_mode IN VARCHAR2 DEFAULT 'R'
159 ) AS
160 /*
161 || Created By :
162 || Created On : 16-OCT-2000
163 || Purpose : Handles the UPDATE DML logic for the table.
164 || Known limitations, enhancements or remarks :
165 || Change History :
166 || Who When What
167 || (reverse chronological order - newest change first)
168 */
169 x_last_update_date DATE ;
170 x_last_updated_by NUMBER;
171 x_last_update_login NUMBER;
172
173 BEGIN
174
175 x_last_update_date := SYSDATE;
176 IF (X_MODE = 'I') THEN
177 x_last_updated_by := 1;
178 x_last_update_login := 0;
179 ELSIF (x_mode = 'R') THEN
180 x_last_updated_by := fnd_global.user_id;
181 IF x_last_updated_by IS NULL THEN
182 x_last_updated_by := -1;
183 END IF;
184 x_last_update_login := fnd_global.login_id;
185 IF (x_last_update_login IS NULL) THEN
186 x_last_update_login := -1;
187 END IF;
188 ELSE
189 fnd_message.set_name( 'FND', 'SYSTEM-INVALID ARGS');
190 app_exception.raise_exception;
191 END IF;
192
193 UPDATE pa_utilization_options_all
194 SET
195 gl_period_flag = x_gl_period_flag,
196 pa_period_flag = x_pa_period_flag,
197 global_exp_period_flag = x_global_exp_period_flag,
198 forecast_thru_date = x_forecast_thru_date,
199 actuals_thru_date = x_actuals_thru_date,
200 last_update_date = x_last_update_date,
201 last_updated_by = x_last_updated_by,
202 last_update_login = x_last_update_login
203 WHERE rowid = x_rowid;
204
205 IF (SQL%NOTFOUND) THEN
206 RAISE NO_DATA_FOUND;
207 END IF;
208
209 END update_row;
210
211
212 PROCEDURE delete_row (
213 x_rowid IN VARCHAR2
214 ) AS
215 /*
216 || Created By :
217 || Created On : 16-OCT-2000
218 || Purpose : Handles the DELETE DML logic for the table.
219 || Known limitations, enhancements or remarks :
220 || Change History :
221 || Who When What
222 || (reverse chronological order - newest change first)
223 */
224 BEGIN
225
226 DELETE FROM pa_utilization_options_all
227 WHERE rowid = x_rowid;
228
229 IF (SQL%NOTFOUND) THEN
230 RAISE NO_DATA_FOUND;
231 END IF;
232
233 END delete_row;
234
235
236 END pa_utilization_options_all_pkg;