[Home] [Help]
PACKAGE BODY: APPS.GMS_PROJECT_FUNDINGS_PKG
Source
1 package body GMS_PROJECT_FUNDINGS_PKG as
2 -- $Header: gmsawpfb.pls 115.5 2002/11/26 12:47:43 mmalhotr ship $
3 procedure INSERT_ROW (
4 X_ROWID in out NOCOPY VARCHAR2,
5 X_GMS_PROJECT_FUNDING_ID in NUMBER,
6 X_PROJECT_FUNDING_ID in NUMBER,
7 X_PROJECT_ID in NUMBER,
8 X_TASK_ID in NUMBER,
9 X_INSTALLMENT_ID in NUMBER,
10 X_FUNDING_AMOUNT in NUMBER,
11 X_DATE_ALLOCATED in DATE,
12 X_MODE in VARCHAR2 default 'R'
13 ) is
14 cursor C is select ROWID from GMS_PROJECT_FUNDINGS
15 where GMS_PROJECT_FUNDING_ID = X_GMS_PROJECT_FUNDING_ID;
16 X_LAST_UPDATE_DATE DATE;
17 X_LAST_UPDATED_BY NUMBER;
18 X_LAST_UPDATE_LOGIN NUMBER;
19 begin
20 X_LAST_UPDATE_DATE := SYSDATE;
21 if(X_MODE = 'I') then
22 X_LAST_UPDATED_BY := 1;
23 X_LAST_UPDATE_LOGIN := 0;
24 elsif (X_MODE = 'R') then
25 X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
26 if X_LAST_UPDATED_BY is NULL then
27 X_LAST_UPDATED_BY := -1;
28 end if;
29 X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
30 if X_LAST_UPDATE_LOGIN is NULL then
31 X_LAST_UPDATE_LOGIN := -1;
32 end if;
33 else
34 FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
35 app_exception.raise_exception;
36 end if;
37 insert into GMS_PROJECT_FUNDINGS (
38 GMS_PROJECT_FUNDING_ID,
39 PROJECT_FUNDING_ID,
40 PROJECT_ID,
41 TASK_ID,
42 INSTALLMENT_ID,
43 FUNDING_AMOUNT,
44 DATE_ALLOCATED,
45 CREATION_DATE,
46 CREATED_BY,
47 LAST_UPDATE_DATE,
48 LAST_UPDATED_BY,
49 LAST_UPDATE_LOGIN
50 ) values (
51 X_GMS_PROJECT_FUNDING_ID,
52 X_PROJECT_FUNDING_ID,
53 X_PROJECT_ID,
54 X_TASK_ID,
55 X_INSTALLMENT_ID,
56 X_FUNDING_AMOUNT,
57 X_DATE_ALLOCATED,
58 X_LAST_UPDATE_DATE,
59 X_LAST_UPDATED_BY,
60 X_LAST_UPDATE_DATE,
61 X_LAST_UPDATED_BY,
62 X_LAST_UPDATE_LOGIN
63 );
64
65 open c;
66 fetch c into X_ROWID;
67 if (c%notfound) then
68 close c;
69 raise no_data_found;
70 end if;
71 close c;
72
73 end INSERT_ROW;
74
75 procedure LOCK_ROW (
76 X_GMS_PROJECT_FUNDING_ID in NUMBER,
77 X_PROJECT_FUNDING_ID in NUMBER,
78 X_PROJECT_ID in NUMBER,
79 X_TASK_ID in NUMBER,
80 X_INSTALLMENT_ID in NUMBER,
81 X_FUNDING_AMOUNT in NUMBER,
82 X_DATE_ALLOCATED in DATE
83 ) is
84 cursor c1 is select
85 PROJECT_FUNDING_ID,
86 PROJECT_ID,
87 TASK_ID,
88 INSTALLMENT_ID,
89 FUNDING_AMOUNT,
90 DATE_ALLOCATED
91 from GMS_PROJECT_FUNDINGS
92 where GMS_PROJECT_FUNDING_ID = X_GMS_PROJECT_FUNDING_ID
93 for update of GMS_PROJECT_FUNDING_ID nowait;
94 tlinfo c1%rowtype;
95
96 begin
97 open c1;
98 fetch c1 into tlinfo;
99 if (c1%notfound) then
100 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
101 app_exception.raise_exception;
102 close c1;
103 return;
104 end if;
105 close c1;
106
107 if ( ((tlinfo.PROJECT_FUNDING_ID = X_PROJECT_FUNDING_ID)
108 OR ((tlinfo.PROJECT_FUNDING_ID is null)
109 AND (X_PROJECT_FUNDING_ID is null)))
110 AND (tlinfo.PROJECT_ID = X_PROJECT_ID)
111 AND ((tlinfo.TASK_ID = X_TASK_ID)
112 OR ((tlinfo.TASK_ID is null)
113 AND (X_TASK_ID is null)))
114 AND (tlinfo.INSTALLMENT_ID = X_INSTALLMENT_ID)
115 AND (tlinfo.FUNDING_AMOUNT = X_FUNDING_AMOUNT)
116 AND (tlinfo.DATE_ALLOCATED = X_DATE_ALLOCATED)
117 ) then
118 null;
119 else
120 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
121 app_exception.raise_exception;
122 end if;
123 return;
124 end LOCK_ROW;
125
126 procedure UPDATE_ROW (
127 X_GMS_PROJECT_FUNDING_ID in NUMBER,
128 X_PROJECT_FUNDING_ID in NUMBER,
129 X_PROJECT_ID in NUMBER,
130 X_TASK_ID in NUMBER,
131 X_INSTALLMENT_ID in NUMBER,
132 X_FUNDING_AMOUNT in NUMBER,
133 X_DATE_ALLOCATED in DATE,
134 X_MODE in VARCHAR2 default 'R'
135 ) is
136 X_LAST_UPDATE_DATE DATE;
137 X_LAST_UPDATED_BY NUMBER;
138 X_LAST_UPDATE_LOGIN NUMBER;
139 begin
140 X_LAST_UPDATE_DATE := SYSDATE;
141 if(X_MODE = 'I') then
142 X_LAST_UPDATED_BY := 1;
143 X_LAST_UPDATE_LOGIN := 0;
144 elsif (X_MODE = 'R') then
145 X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
146 if X_LAST_UPDATED_BY is NULL then
147 X_LAST_UPDATED_BY := -1;
148 end if;
149 X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
150 if X_LAST_UPDATE_LOGIN is NULL then
151 X_LAST_UPDATE_LOGIN := -1;
152 end if;
153 else
154 FND_MESSAGE.SET_NAME('FND', 'SYSTEM-INVALID ARGS');
155 app_exception.raise_exception;
156 end if;
157 update GMS_PROJECT_FUNDINGS set
158 PROJECT_FUNDING_ID = X_PROJECT_FUNDING_ID,
159 PROJECT_ID = X_PROJECT_ID,
160 TASK_ID = X_TASK_ID,
161 INSTALLMENT_ID = X_INSTALLMENT_ID,
162 FUNDING_AMOUNT = X_FUNDING_AMOUNT,
163 DATE_ALLOCATED = X_DATE_ALLOCATED,
164 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
165 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
166 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
167 where GMS_PROJECT_FUNDING_ID = X_GMS_PROJECT_FUNDING_ID
168 ;
169 if (sql%notfound) then
170 raise no_data_found;
171 end if;
172 end UPDATE_ROW;
173
174 procedure ADD_ROW (
175 X_ROWID in out NOCOPY VARCHAR2,
176 X_GMS_PROJECT_FUNDING_ID in NUMBER,
177 X_PROJECT_FUNDING_ID in NUMBER,
178 X_PROJECT_ID in NUMBER,
179 X_TASK_ID in NUMBER,
180 X_INSTALLMENT_ID in NUMBER,
181 X_FUNDING_AMOUNT in NUMBER,
182 X_DATE_ALLOCATED in DATE,
183 X_MODE in VARCHAR2 default 'R'
184 ) is
185 cursor c1 is select rowid from GMS_PROJECT_FUNDINGS
186 where GMS_PROJECT_FUNDING_ID = X_GMS_PROJECT_FUNDING_ID
187 ;
188 dummy c1%rowtype;
189 begin
190 open c1;
191 fetch c1 into dummy;
192 if (c1%notfound) then
193 close c1;
194 INSERT_ROW (
195 X_ROWID,
196 X_GMS_PROJECT_FUNDING_ID,
197 X_PROJECT_FUNDING_ID,
198 X_PROJECT_ID,
199 X_TASK_ID,
200 X_INSTALLMENT_ID,
201 X_FUNDING_AMOUNT,
202 X_DATE_ALLOCATED,
203 X_MODE);
204 return;
205 end if;
206 close c1;
207 UPDATE_ROW (
208 X_GMS_PROJECT_FUNDING_ID,
209 X_PROJECT_FUNDING_ID,
210 X_PROJECT_ID,
211 X_TASK_ID,
212 X_INSTALLMENT_ID,
213 X_FUNDING_AMOUNT,
214 X_DATE_ALLOCATED,
215 X_MODE);
216 end ADD_ROW;
217
218 procedure DELETE_ROW (
219 X_GMS_PROJECT_FUNDING_ID in NUMBER
220 ) is
221 begin
222 delete from GMS_PROJECT_FUNDINGS
223 where GMS_PROJECT_FUNDING_ID = X_GMS_PROJECT_FUNDING_ID;
224 if (sql%notfound) then
225 raise no_data_found;
226 end if;
227 end DELETE_ROW;
228
229 end GMS_PROJECT_FUNDINGS_PKG;