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