[Home] [Help]
PACKAGE BODY: APPS.GMS_REFERENCE_NUMBERS_PKG
Source
1 package body GMS_REFERENCE_NUMBERS_PKG as
2 -- $Header: gmsawrfb.pls 115.7 2002/11/26 19:03:16 jmuthuku ship $
3 procedure INSERT_ROW (
4 X_ROWID in out NOCOPY VARCHAR2,
5 X_AWARD_ID in NUMBER,
6 X_TYPE in VARCHAR2,
7 X_VALUE in VARCHAR2,
8 X_REQUIRED_FLAG in VARCHAR2,
9 X_MODE in VARCHAR2
10 ) is
11 cursor C is select ROWID from GMS_REFERENCE_NUMBERS
12 where AWARD_ID = X_AWARD_ID
13 and TYPE = X_TYPE
14 and (VALUE = X_VALUE
15 OR (VALUE IS NULL AND X_VALUE IS NULL)) ; -- Bug 2652987, Added;
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_REFERENCE_NUMBERS (
38 AWARD_ID,
39 TYPE,
40 VALUE,
41 REQUIRED_FLAG,
42 CREATION_DATE,
43 CREATED_BY,
44 LAST_UPDATE_DATE,
45 LAST_UPDATED_BY,
46 LAST_UPDATE_LOGIN
47 ) values (
48 X_AWARD_ID,
49 X_TYPE,
50 X_VALUE,
51 X_REQUIRED_FLAG,
52 X_LAST_UPDATE_DATE,
53 X_LAST_UPDATED_BY,
54 X_LAST_UPDATE_DATE,
55 X_LAST_UPDATED_BY,
56 X_LAST_UPDATE_LOGIN
57 );
58
59 open c;
60 fetch c into X_ROWID;
61 if (c%notfound) then
62 close c;
63 raise no_data_found;
64 end if;
65 close c;
66
67 end INSERT_ROW;
68
69 procedure LOCK_ROW (
70 X_AWARD_ID in NUMBER,
71 X_TYPE in VARCHAR2,
72 X_VALUE in VARCHAR2,
73 X_REQUIRED_FLAG in VARCHAR2,
74 X_ROWID in VARCHAR2
75 ) is
76 cursor c1 is select
77 TYPE, VALUE, REQUIRED_FLAG
78 from GMS_REFERENCE_NUMBERS
79 where ROWID = X_ROWID -- Bug 2652987, Added
80 for update of AWARD_ID nowait;
81 tlinfo c1%rowtype;
82
83 begin
84 open c1;
85 fetch c1 into tlinfo;
86 if (c1%notfound) then
87 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
88 app_exception.raise_exception;
89 close c1;
90 return;
91 end if;
92 close c1;
93
94 if ( (tlinfo.TYPE = X_TYPE) -- Bug 2652987, Added
95 AND (tlinfo.VALUE = X_VALUE OR tlinfo.VALUE is null AND X_VALUE is null)
96 AND (tlinfo.REQUIRED_FLAG = X_REQUIRED_FLAG OR tlinfo.REQUIRED_FLAG is null AND X_REQUIRED_FLAG is null)
97 ) then
98 null;
99 else
100 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
101 app_exception.raise_exception;
102 end if;
103 return;
104 end LOCK_ROW;
105
106 procedure UPDATE_ROW (
107 X_ROW_ID in VARCHAR2,
108 X_AWARD_ID in NUMBER,
109 X_TYPE in VARCHAR2,
110 X_VALUE in VARCHAR2,
111 X_REQUIRED_FLAG in VARCHAR2,
112 X_MODE in VARCHAR2
113 ) is
114 X_LAST_UPDATE_DATE DATE;
115 X_LAST_UPDATED_BY NUMBER;
116 X_LAST_UPDATE_LOGIN NUMBER;
117 begin
118 X_LAST_UPDATE_DATE := SYSDATE;
119 if(X_MODE = 'I') then
120 X_LAST_UPDATED_BY := 1;
121 X_LAST_UPDATE_LOGIN := 0;
122 elsif (X_MODE = 'R') then
123 X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
124 if X_LAST_UPDATED_BY is NULL then
125 X_LAST_UPDATED_BY := -1;
126 end if;
127 X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
128 if X_LAST_UPDATE_LOGIN is NULL then
129 X_LAST_UPDATE_LOGIN := -1;
130 end if;
131 else
132 FND_MESSAGE.SET_NAME('FND', 'SYSTEM-INVALID ARGS');
133 app_exception.raise_exception;
134 end if;
135 update GMS_REFERENCE_NUMBERS set
136 TYPE = X_TYPE,
137 VALUE = X_VALUE,
138 REQUIRED_FLAG = X_REQUIRED_FLAG,
139 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
140 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
141 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
142 /* Commented out NOCOPY for bug fix 1829009.Now rowid is used to uniquely identify the records
143
144 where AWARD_ID = X_AWARD_ID
145 and TYPE = X_TYPE
146 */
147 where rowid = X_ROW_ID
148 ;
149 if (sql%notfound) then
150 raise no_data_found;
151 end if;
152 end UPDATE_ROW;
153
154 procedure ADD_ROW (
155 X_ROWID in out NOCOPY VARCHAR2,
156 X_AWARD_ID in NUMBER,
157 X_TYPE in VARCHAR2,
158 X_VALUE in VARCHAR2,
159 X_REQUIRED_FLAG in VARCHAR2,
160 X_MODE in VARCHAR2
161 ) is
162 cursor c1 is select rowid from GMS_REFERENCE_NUMBERS
163 where AWARD_ID = X_AWARD_ID
164 and TYPE = X_TYPE
165 ;
166 dummy c1%rowtype;
167 begin
168 open c1;
169 fetch c1 into dummy;
170 if (c1%notfound) then
171 close c1;
172 INSERT_ROW (
173 X_ROWID,
174 X_AWARD_ID,
175 X_TYPE,
176 X_VALUE,
177 X_REQUIRED_FLAG,
178 X_MODE);
179 return;
180 end if;
181 close c1;
182 UPDATE_ROW (
183 X_ROWID,
184 X_AWARD_ID,
185 X_TYPE,
186 X_VALUE,
187 X_REQUIRED_FLAG,
188 X_MODE);
189 end ADD_ROW;
190
191 procedure DELETE_ROW (
192 X_AWARD_ID in NUMBER,
193 X_TYPE in VARCHAR2,
194 X_VALUE in VARCHAR2, -- Bug 2652987, Added
195 X_ROWID in VARCHAR2 -- Bug 2652987, Added
196 ) is
197 begin
198 delete from GMS_REFERENCE_NUMBERS
199 where ROWID = X_ROWID;
200 if (sql%notfound) then
201 raise no_data_found;
202 end if;
203 end DELETE_ROW;
204
205 end GMS_REFERENCE_NUMBERS_PKG;