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