DBA Data[Home] [Help]

PACKAGE BODY: APPS.GMO_INSTR_TASK_ATTR_COLS_PKG

Source


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