DBA Data[Home] [Help]

PACKAGE BODY: APPS.GMD_ACTIVITIES_PKG

Source


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