[Home] [Help]
PACKAGE BODY: APPS.CSD_RT_TRANS_PKG
Source
1 package body CSD_RT_TRANS_PKG as
2 /* $Header: csdtrttb.pls 120.1 2005/07/29 16:36:21 vkjain noship $ */
3
4 procedure INSERT_ROW (
5 -- P_ROWID in out nocopy VARCHAR2,
6 PX_RT_TRAN_ID in out nocopy NUMBER,
7 P_FROM_REPAIR_TYPE_ID in NUMBER,
8 P_TO_REPAIR_TYPE_ID in NUMBER,
9 P_COMMON_FLOW_STATUS_ID in NUMBER,
10 P_REASON_REQUIRED_FLAG in VARCHAR2,
11 P_CAPTURE_ACTIVITY_FLAG in VARCHAR2,
12 P_ALLOW_ALL_RESP_FLAG in VARCHAR2,
13 P_OBJECT_VERSION_NUMBER in NUMBER,
14 P_DESCRIPTION in VARCHAR2,
15 P_CREATION_DATE in DATE,
16 P_CREATED_BY in NUMBER,
17 P_LAST_UPDATE_DATE in DATE,
18 P_LAST_UPDATED_BY in NUMBER,
19 P_LAST_UPDATE_LOGIN in NUMBER
20 ) is
21
22 P_ROWID ROWID;
23
24 cursor C is select ROWID from CSD_RT_TRANS_B
25 where RT_TRAN_ID = PX_RT_TRAN_ID
26 ;
27
28 begin
29
30 select CSD_RT_TRANS_S1.nextval
31 into PX_RT_TRAN_ID
32 from dual;
33
34 insert into CSD_RT_TRANS_B (
35 FROM_REPAIR_TYPE_ID,
36 TO_REPAIR_TYPE_ID,
37 COMMON_FLOW_STATUS_ID,
38 REASON_REQUIRED_FLAG,
39 CAPTURE_ACTIVITY_FLAG,
40 ALLOW_ALL_RESP_FLAG,
41 OBJECT_VERSION_NUMBER,
42 RT_TRAN_ID,
43 CREATION_DATE,
44 CREATED_BY,
45 LAST_UPDATE_DATE,
46 LAST_UPDATED_BY,
47 LAST_UPDATE_LOGIN
48 ) values (
49 P_FROM_REPAIR_TYPE_ID,
50 P_TO_REPAIR_TYPE_ID,
51 P_COMMON_FLOW_STATUS_ID,
52 P_REASON_REQUIRED_FLAG,
53 P_CAPTURE_ACTIVITY_FLAG,
54 P_ALLOW_ALL_RESP_FLAG,
55 P_OBJECT_VERSION_NUMBER,
56 PX_RT_TRAN_ID,
57 P_CREATION_DATE,
58 P_CREATED_BY,
59 P_LAST_UPDATE_DATE,
60 P_LAST_UPDATED_BY,
61 P_LAST_UPDATE_LOGIN
62 );
63
64 insert into CSD_RT_TRANS_TL (
65 RT_TRAN_ID,
66 DESCRIPTION,
67 CREATED_BY,
68 CREATION_DATE,
69 LAST_UPDATED_BY,
70 LAST_UPDATE_DATE,
71 LAST_UPDATE_LOGIN,
72 LANGUAGE,
73 SOURCE_LANG
74 ) select
75 PX_RT_TRAN_ID,
76 P_DESCRIPTION,
77 P_CREATED_BY,
78 P_CREATION_DATE,
79 P_LAST_UPDATED_BY,
80 P_LAST_UPDATE_DATE,
81 P_LAST_UPDATE_LOGIN,
82 L.LANGUAGE_CODE,
83 userenv('LANG')
84 from FND_LANGUAGES L
85 where L.INSTALLED_FLAG in ('I', 'B')
86 and not exists
87 (select NULL
88 from CSD_RT_TRANS_TL T
89 where T.RT_TRAN_ID = PX_RT_TRAN_ID
90 and T.LANGUAGE = L.LANGUAGE_CODE);
91
92 open c;
93 fetch c into P_ROWID;
94 if (c%notfound) then
95 close c;
96 raise no_data_found;
97 end if;
98 close c;
99
100 end INSERT_ROW;
101
102 procedure LOCK_ROW (
103 P_RT_TRAN_ID in NUMBER,
104 P_OBJECT_VERSION_NUMBER in NUMBER
105 ) is
106 cursor c is select
107 OBJECT_VERSION_NUMBER
108 from CSD_RT_TRANS_B
109 where RT_TRAN_ID = P_RT_TRAN_ID
110 for update of RT_TRAN_ID nowait;
111 recinfo c%rowtype;
112
113 begin
114
115 open c;
116 fetch c into recinfo;
117 if (c%notfound) then
118 close c;
119 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
120 app_exception.raise_exception;
121 end if;
122 close c;
123
124 if (recinfo.OBJECT_VERSION_NUMBER = P_OBJECT_VERSION_NUMBER) then
125 null;
126 else
127 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
128 app_exception.raise_exception;
129 end if;
130
131 /*
132 for tlinfo in c1 loop
133 if (tlinfo.BASELANG = 'Y') then
134 if ( ((tlinfo.DESCRIPTION = P_DESCRIPTION)
135 OR ((tlinfo.DESCRIPTION is null) AND (P_DESCRIPTION is null)))
136 ) then
137 null;
138 else
139 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
140 app_exception.raise_exception;
141 end if;
142 end if;
143 end loop;
144 */
145
146 return;
147 end LOCK_ROW;
148
149 procedure UPDATE_ROW (
150 P_RT_TRAN_ID in NUMBER,
151 P_FROM_REPAIR_TYPE_ID in NUMBER,
152 P_TO_REPAIR_TYPE_ID in NUMBER,
153 P_COMMON_FLOW_STATUS_ID in NUMBER,
154 P_REASON_REQUIRED_FLAG in VARCHAR2,
155 P_CAPTURE_ACTIVITY_FLAG in VARCHAR2,
156 P_ALLOW_ALL_RESP_FLAG in VARCHAR2,
157 P_DESCRIPTION in VARCHAR2,
158 P_OBJECT_VERSION_NUMBER in NUMBER,
159 P_LAST_UPDATE_DATE in DATE,
160 P_LAST_UPDATED_BY in NUMBER,
161 P_LAST_UPDATE_LOGIN in NUMBER
162 ) is
163 begin
164 update CSD_RT_TRANS_B set
165 FROM_REPAIR_TYPE_ID = P_FROM_REPAIR_TYPE_ID,
166 TO_REPAIR_TYPE_ID = P_TO_REPAIR_TYPE_ID,
167 COMMON_FLOW_STATUS_ID = P_COMMON_FLOW_STATUS_ID,
168 REASON_REQUIRED_FLAG = P_REASON_REQUIRED_FLAG,
169 CAPTURE_ACTIVITY_FLAG = P_CAPTURE_ACTIVITY_FLAG,
170 ALLOW_ALL_RESP_FLAG = P_ALLOW_ALL_RESP_FLAG,
171 OBJECT_VERSION_NUMBER = P_OBJECT_VERSION_NUMBER + 1,
172 LAST_UPDATE_DATE = P_LAST_UPDATE_DATE,
173 LAST_UPDATED_BY = P_LAST_UPDATED_BY,
174 LAST_UPDATE_LOGIN = P_LAST_UPDATE_LOGIN
175 where RT_TRAN_ID = P_RT_TRAN_ID AND
176 OBJECT_VERSION_NUMBER = P_OBJECT_VERSION_NUMBER;
177
178 if (sql%notfound) then
179 raise no_data_found;
180 end if;
181
182 update CSD_RT_TRANS_TL set
183 DESCRIPTION = P_DESCRIPTION,
184 LAST_UPDATE_DATE = P_LAST_UPDATE_DATE,
185 LAST_UPDATED_BY = P_LAST_UPDATED_BY,
186 LAST_UPDATE_LOGIN = P_LAST_UPDATE_LOGIN,
187 SOURCE_LANG = userenv('LANG')
188 where RT_TRAN_ID = P_RT_TRAN_ID
189 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
190
191 if (sql%notfound) then
192 raise no_data_found;
193 end if;
194 end UPDATE_ROW;
195
196 procedure DELETE_ROW (
197 P_RT_TRAN_ID in NUMBER
198 ) is
199 begin
200 delete from CSD_RT_TRANS_TL
201 where RT_TRAN_ID = P_RT_TRAN_ID;
202
203 if (sql%notfound) then
204 raise no_data_found;
205 end if;
206
207 delete from CSD_RT_TRANS_B
208 where RT_TRAN_ID = P_RT_TRAN_ID;
209
210 if (sql%notfound) then
211 raise no_data_found;
212 end if;
213 end DELETE_ROW;
214
215 procedure ADD_LANGUAGE
216 is
217 begin
218 delete from CSD_RT_TRANS_TL T
219 where not exists
220 (select NULL
221 from CSD_RT_TRANS_B B
222 where B.RT_TRAN_ID = T.RT_TRAN_ID
223 );
224
225 update CSD_RT_TRANS_TL T set (
226 DESCRIPTION
227 ) = (select
228 B.DESCRIPTION
229 from CSD_RT_TRANS_TL B
230 where B.RT_TRAN_ID = T.RT_TRAN_ID
231 and B.LANGUAGE = T.SOURCE_LANG)
232 where (
233 T.RT_TRAN_ID,
234 T.LANGUAGE
235 ) in (select
236 SUBT.RT_TRAN_ID,
237 SUBT.LANGUAGE
238 from CSD_RT_TRANS_TL SUBB, CSD_RT_TRANS_TL SUBT
239 where SUBB.RT_TRAN_ID = SUBT.RT_TRAN_ID
240 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
241 and (SUBB.DESCRIPTION <> SUBT.DESCRIPTION
242 or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
243 or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
244 ));
245
246 insert into CSD_RT_TRANS_TL (
247 RT_TRAN_ID,
248 DESCRIPTION,
249 CREATED_BY,
250 CREATION_DATE,
251 LAST_UPDATED_BY,
252 LAST_UPDATE_DATE,
253 LAST_UPDATE_LOGIN,
254 LANGUAGE,
255 SOURCE_LANG
256 ) select /*+ ORDERED */
257 B.RT_TRAN_ID,
258 B.DESCRIPTION,
259 B.CREATED_BY,
260 B.CREATION_DATE,
261 B.LAST_UPDATED_BY,
262 B.LAST_UPDATE_DATE,
263 B.LAST_UPDATE_LOGIN,
264 L.LANGUAGE_CODE,
265 B.SOURCE_LANG
266 from CSD_RT_TRANS_TL B, FND_LANGUAGES L
267 where L.INSTALLED_FLAG in ('I', 'B')
268 and B.LANGUAGE = userenv('LANG')
269 and not exists
270 (select NULL
271 from CSD_RT_TRANS_TL T
272 where T.RT_TRAN_ID = B.RT_TRAN_ID
273 and T.LANGUAGE = L.LANGUAGE_CODE);
274 end ADD_LANGUAGE;
275
276 end CSD_RT_TRANS_PKG;