[Home] [Help]
PACKAGE BODY: APPS.PSP_EFFORT_REPORT_DETAILS_PKG
Source
1 package body PSP_EFFORT_REPORT_DETAILS_PKG as
2 /* $Header: PSPERDEB.pls 115.7 2002/11/18 12:28:54 lveerubh ship $ */
3 procedure INSERT_ROW (
4 X_ROWID in out NOCOPY VARCHAR2,
5 X_EFFORT_REPORT_ID in NUMBER,
6 X_VERSION_NUM in NUMBER,
7 X_EFFORT_REPORT_LINE_NUM in NUMBER,
8 X_ASSIGNMENT_ID in NUMBER,
9 X_ELEMENT_TYPE_ID in NUMBER,
10 X_GL_CODE_COMBINATION_ID in NUMBER,
11 X_PROJECT_ID in NUMBER,
12 X_EXPENDITURE_ORGANIZATION_ID in NUMBER,
13 X_EXPENDITURE_TYPE in VARCHAR2,
14 X_TASK_ID in NUMBER,
15 X_AWARD_ID in NUMBER,
16 X_TOTAL_AMOUNT in NUMBER,
17 X_MODE in VARCHAR2 default 'R'
18 ) is
19 cursor C is select ROWID from PSP_EFFORT_REPORT_DETAILS
20 where EFFORT_REPORT_ID = X_EFFORT_REPORT_ID
21 and VERSION_NUM = X_VERSION_NUM
22 and EFFORT_REPORT_LINE_NUM = X_EFFORT_REPORT_LINE_NUM;
23 X_LAST_UPDATE_DATE DATE;
24 X_LAST_UPDATED_BY NUMBER;
25 X_LAST_UPDATE_LOGIN NUMBER;
26 begin
27 X_LAST_UPDATE_DATE := SYSDATE;
28 if(X_MODE = 'I') then
29 X_LAST_UPDATED_BY := 1;
30 X_LAST_UPDATE_LOGIN := 0;
31 elsif (X_MODE = 'R') then
32 X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
33 if X_LAST_UPDATED_BY is NULL then
34 X_LAST_UPDATED_BY := -1;
35 end if;
36 X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
37 if X_LAST_UPDATE_LOGIN is NULL then
38 X_LAST_UPDATE_LOGIN := -1;
39 end if;
40 else
41 FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
42 app_exception.raise_exception;
43 end if;
44 insert into PSP_EFFORT_REPORT_DETAILS (
45 EFFORT_REPORT_ID,
46 VERSION_NUM,
47 EFFORT_REPORT_LINE_NUM,
48 ASSIGNMENT_ID,
49 ELEMENT_TYPE_ID,
50 GL_CODE_COMBINATION_ID,
51 PROJECT_ID,
52 EXPENDITURE_ORGANIZATION_ID,
53 EXPENDITURE_TYPE,
54 TASK_ID,
55 AWARD_ID,
56 TOTAL_AMOUNT,
57 CREATION_DATE,
58 CREATED_BY,
59 LAST_UPDATE_DATE,
60 LAST_UPDATED_BY,
61 LAST_UPDATE_LOGIN
62 ) values (
63 X_EFFORT_REPORT_ID,
64 X_VERSION_NUM,
65 X_EFFORT_REPORT_LINE_NUM,
66 X_ASSIGNMENT_ID,
67 X_ELEMENT_TYPE_ID,
68 X_GL_CODE_COMBINATION_ID,
69 X_PROJECT_ID,
70 X_EXPENDITURE_ORGANIZATION_ID,
71 X_EXPENDITURE_TYPE,
72 X_TASK_ID,
73 X_AWARD_ID,
74 X_TOTAL_AMOUNT,
75 X_LAST_UPDATE_DATE,
76 X_LAST_UPDATED_BY,
77 X_LAST_UPDATE_DATE,
78 X_LAST_UPDATED_BY,
79 X_LAST_UPDATE_LOGIN
80 );
81
82 open c;
83 fetch c into X_ROWID;
84 if (c%notfound) then
85 close c;
86 raise no_data_found;
87 end if;
88 close c;
89
90 end INSERT_ROW;
91
92 procedure LOCK_ROW (
93 X_EFFORT_REPORT_ID in NUMBER,
94 X_VERSION_NUM in NUMBER,
95 X_EFFORT_REPORT_LINE_NUM in NUMBER,
96 X_ASSIGNMENT_ID in NUMBER,
97 X_ELEMENT_TYPE_ID in NUMBER,
98 X_GL_CODE_COMBINATION_ID in NUMBER,
99 X_PROJECT_ID in NUMBER,
100 X_EXPENDITURE_ORGANIZATION_ID in NUMBER,
101 X_EXPENDITURE_TYPE in VARCHAR2,
102 X_TASK_ID in NUMBER,
103 X_AWARD_ID in NUMBER,
104 X_TOTAL_AMOUNT in NUMBER
105 ) is
106 cursor c1 is select
107 ASSIGNMENT_ID,
108 ELEMENT_TYPE_ID,
109 GL_CODE_COMBINATION_ID,
110 PROJECT_ID,
111 EXPENDITURE_ORGANIZATION_ID,
112 EXPENDITURE_TYPE,
113 TASK_ID,
114 AWARD_ID,
115 TOTAL_AMOUNT
116 from PSP_EFFORT_REPORT_DETAILS
117 where EFFORT_REPORT_ID = X_EFFORT_REPORT_ID
118 and VERSION_NUM = X_VERSION_NUM
119 and EFFORT_REPORT_LINE_NUM = X_EFFORT_REPORT_LINE_NUM
120 for update of EFFORT_REPORT_ID nowait;
121 tlinfo c1%rowtype;
122
123 begin
124 open c1;
125 fetch c1 into tlinfo;
126 if (c1%notfound) then
127 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
128 app_exception.raise_exception;
129 close c1;
130 return;
131 end if;
132 close c1;
133
134 if ( (tlinfo.ASSIGNMENT_ID = X_ASSIGNMENT_ID)
135 AND (tlinfo.ELEMENT_TYPE_ID = X_ELEMENT_TYPE_ID)
136 AND ((tlinfo.GL_CODE_COMBINATION_ID = X_GL_CODE_COMBINATION_ID)
137 OR ((tlinfo.GL_CODE_COMBINATION_ID is null)
138 AND (X_GL_CODE_COMBINATION_ID is null)))
139 AND ((tlinfo.PROJECT_ID = X_PROJECT_ID)
140 OR ((tlinfo.PROJECT_ID is null)
141 AND (X_PROJECT_ID is null)))
142 AND ((tlinfo.EXPENDITURE_ORGANIZATION_ID = X_EXPENDITURE_ORGANIZATION_ID)
143 OR ((tlinfo.EXPENDITURE_ORGANIZATION_ID is null)
144 AND (X_EXPENDITURE_ORGANIZATION_ID is null)))
145 AND ((tlinfo.EXPENDITURE_TYPE = X_EXPENDITURE_TYPE)
146 OR ((tlinfo.EXPENDITURE_TYPE is null)
147 AND (X_EXPENDITURE_TYPE is null)))
148 AND ((tlinfo.TASK_ID = X_TASK_ID)
149 OR ((tlinfo.TASK_ID is null)
150 AND (X_TASK_ID is null)))
151 AND ((tlinfo.AWARD_ID = X_AWARD_ID)
152 OR ((tlinfo.AWARD_ID is null)
153 AND (X_AWARD_ID is null)))
154 AND (tlinfo.TOTAL_AMOUNT = X_TOTAL_AMOUNT)
155 ) then
156 null;
157 else
158 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
159 app_exception.raise_exception;
160 end if;
161 return;
162 end LOCK_ROW;
163
164 procedure UPDATE_ROW (
165 X_EFFORT_REPORT_ID in NUMBER,
166 X_VERSION_NUM in NUMBER,
167 X_EFFORT_REPORT_LINE_NUM in NUMBER,
168 X_ASSIGNMENT_ID in NUMBER,
169 X_ELEMENT_TYPE_ID in NUMBER,
170 X_GL_CODE_COMBINATION_ID in NUMBER,
171 X_PROJECT_ID in NUMBER,
172 X_EXPENDITURE_ORGANIZATION_ID in NUMBER,
173 X_EXPENDITURE_TYPE in VARCHAR2,
174 X_TASK_ID in NUMBER,
175 X_AWARD_ID in NUMBER,
176 X_TOTAL_AMOUNT in NUMBER,
177 X_MODE in VARCHAR2 default 'R'
178 ) is
179 X_LAST_UPDATE_DATE DATE;
180 X_LAST_UPDATED_BY NUMBER;
181 X_LAST_UPDATE_LOGIN NUMBER;
182 begin
183 X_LAST_UPDATE_DATE := SYSDATE;
184 if(X_MODE = 'I') then
185 X_LAST_UPDATED_BY := 1;
186 X_LAST_UPDATE_LOGIN := 0;
187 elsif (X_MODE = 'R') then
188 X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
189 if X_LAST_UPDATED_BY is NULL then
190 X_LAST_UPDATED_BY := -1;
191 end if;
192 X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
193 if X_LAST_UPDATE_LOGIN is NULL then
194 X_LAST_UPDATE_LOGIN := -1;
195 end if;
196 else
197 FND_MESSAGE.SET_NAME('FND', 'SYSTEM-INVALID ARGS');
198 app_exception.raise_exception;
199 end if;
200 update PSP_EFFORT_REPORT_DETAILS set
201 ASSIGNMENT_ID = X_ASSIGNMENT_ID,
202 ELEMENT_TYPE_ID = X_ELEMENT_TYPE_ID,
203 GL_CODE_COMBINATION_ID = X_GL_CODE_COMBINATION_ID,
204 PROJECT_ID = X_PROJECT_ID,
205 EXPENDITURE_ORGANIZATION_ID = X_EXPENDITURE_ORGANIZATION_ID,
206 EXPENDITURE_TYPE = X_EXPENDITURE_TYPE,
207 TASK_ID = X_TASK_ID,
208 AWARD_ID = X_AWARD_ID,
209 TOTAL_AMOUNT = X_TOTAL_AMOUNT,
210 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
211 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
212 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
213 where EFFORT_REPORT_ID = X_EFFORT_REPORT_ID
214 and VERSION_NUM = X_VERSION_NUM
215 and EFFORT_REPORT_LINE_NUM = X_EFFORT_REPORT_LINE_NUM
216 ;
217 ---if (sql%notfound) then
218 ---raise no_data_found;
219 ---end if;
220 end UPDATE_ROW;
221
222 procedure ADD_ROW (
223 X_ROWID in out NOCOPY VARCHAR2,
224 X_EFFORT_REPORT_ID in NUMBER,
225 X_VERSION_NUM in NUMBER,
226 X_EFFORT_REPORT_LINE_NUM in NUMBER,
227 X_ASSIGNMENT_ID in NUMBER,
228 X_ELEMENT_TYPE_ID in NUMBER,
229 X_GL_CODE_COMBINATION_ID in NUMBER,
230 X_PROJECT_ID in NUMBER,
231 X_EXPENDITURE_ORGANIZATION_ID in NUMBER,
232 X_EXPENDITURE_TYPE in VARCHAR2,
233 X_TASK_ID in NUMBER,
234 X_AWARD_ID in NUMBER,
235 X_TOTAL_AMOUNT in NUMBER,
236 X_MODE in VARCHAR2 default 'R'
237 ) is
238 cursor c1 is select rowid from PSP_EFFORT_REPORT_DETAILS
239 where EFFORT_REPORT_ID = X_EFFORT_REPORT_ID
240 and VERSION_NUM = X_VERSION_NUM
241 and EFFORT_REPORT_LINE_NUM = X_EFFORT_REPORT_LINE_NUM
242 ;
243 dummy c1%rowtype;
244 begin
245 open c1;
246 fetch c1 into dummy;
247 if (c1%notfound) then
248 close c1;
249 INSERT_ROW (
250 X_ROWID,
251 X_EFFORT_REPORT_ID,
252 X_VERSION_NUM,
253 X_EFFORT_REPORT_LINE_NUM,
254 X_ASSIGNMENT_ID,
255 X_ELEMENT_TYPE_ID,
256 X_GL_CODE_COMBINATION_ID,
257 X_PROJECT_ID,
258 X_EXPENDITURE_ORGANIZATION_ID,
259 X_EXPENDITURE_TYPE,
260 X_TASK_ID,
261 X_AWARD_ID,
262 X_TOTAL_AMOUNT,
263 X_MODE);
264 return;
265 end if;
266 close c1;
267 UPDATE_ROW (
268 X_EFFORT_REPORT_ID,
269 X_VERSION_NUM,
270 X_EFFORT_REPORT_LINE_NUM,
271 X_ASSIGNMENT_ID,
272 X_ELEMENT_TYPE_ID,
273 X_GL_CODE_COMBINATION_ID,
274 X_PROJECT_ID,
275 X_EXPENDITURE_ORGANIZATION_ID,
276 X_EXPENDITURE_TYPE,
277 X_TASK_ID,
278 X_AWARD_ID,
279 X_TOTAL_AMOUNT,
280 X_MODE);
281 end ADD_ROW;
282
283 procedure DELETE_ROW (
284 X_EFFORT_REPORT_ID in NUMBER,
285 X_VERSION_NUM in NUMBER,
286 X_EFFORT_REPORT_LINE_NUM in NUMBER
287 ) is
288 begin
289 delete from PSP_EFFORT_REPORT_DETAILS
290 where EFFORT_REPORT_ID = X_EFFORT_REPORT_ID
291 and VERSION_NUM = X_VERSION_NUM
292 and EFFORT_REPORT_LINE_NUM = X_EFFORT_REPORT_LINE_NUM;
293 ---if (sql%notfound) then
294 ---raise no_data_found;
295 ---end if;
296 end DELETE_ROW;
297
298 end PSP_EFFORT_REPORT_DETAILS_PKG;