DBA Data[Home] [Help]

PACKAGE BODY: APPS.BNE_LAYOUT_COLS_PKG

Source


1 package body BNE_LAYOUT_COLS_PKG as
2 /* $Header: bnelaycolb.pls 120.3 2005/08/18 07:45:02 dagroves noship $ */
3 
4 procedure INSERT_ROW (
5   X_ROWID in out NOCOPY VARCHAR2,
6   X_APPLICATION_ID in NUMBER,
7   X_LAYOUT_CODE in VARCHAR2,
8   X_BLOCK_ID in NUMBER,
9   X_SEQUENCE_NUM in NUMBER,
10   X_OBJECT_VERSION_NUMBER in NUMBER,
11   X_INTERFACE_APP_ID in NUMBER,
12   X_INTERFACE_CODE in VARCHAR2,
13   X_INTERFACE_SEQ_NUM in NUMBER,
14   X_STYLE_CLASS in VARCHAR2,
15   X_HINT_STYLE in VARCHAR2,
16   X_HINT_STYLE_CLASS in VARCHAR2,
17   X_PROMPT_STYLE in VARCHAR2,
18   X_PROMPT_STYLE_CLASS in VARCHAR2,
19   X_DEFAULT_TYPE in VARCHAR2,
20   X_DEFAULT_VALUE in VARCHAR2,
21   X_STYLE in VARCHAR2,
22   X_CREATION_DATE in DATE,
23   X_CREATED_BY in NUMBER,
24   X_LAST_UPDATE_DATE in DATE,
25   X_LAST_UPDATED_BY in NUMBER,
26   X_LAST_UPDATE_LOGIN in NUMBER,
27   X_DISPLAY_WIDTH in NUMBER,
28   X_READ_ONLY_FLAG in VARCHAR2
29 ) is
30   cursor C is select ROWID from BNE_LAYOUT_COLS
31     where APPLICATION_ID = X_APPLICATION_ID
32     and LAYOUT_CODE = X_LAYOUT_CODE
33     and BLOCK_ID = X_BLOCK_ID
34     and SEQUENCE_NUM = X_SEQUENCE_NUM
35     ;
36 begin
37   insert into BNE_LAYOUT_COLS (
38     APPLICATION_ID,
39     LAYOUT_CODE,
40     LAST_UPDATED_BY,
41     LAST_UPDATE_LOGIN,
42     LAST_UPDATE_DATE,
43     BLOCK_ID,
44     OBJECT_VERSION_NUMBER,
45     INTERFACE_APP_ID,
46     INTERFACE_CODE,
47     INTERFACE_SEQ_NUM,
48     SEQUENCE_NUM,
49     STYLE,
50     STYLE_CLASS,
51     HINT_STYLE,
52     HINT_STYLE_CLASS,
53     PROMPT_STYLE,
54     PROMPT_STYLE_CLASS,
55     DEFAULT_TYPE,
56     DEFAULT_VALUE,
57     DISPLAY_WIDTH,
58 	READ_ONLY_FLAG,
59     CREATED_BY,
60     CREATION_DATE
61   ) values (
62     X_APPLICATION_ID,
63     X_LAYOUT_CODE,
64     X_LAST_UPDATED_BY,
65     X_LAST_UPDATE_LOGIN,
66     X_LAST_UPDATE_DATE,
67     X_BLOCK_ID,
68     X_OBJECT_VERSION_NUMBER,
69     X_INTERFACE_APP_ID,
70     X_INTERFACE_CODE,
71     X_INTERFACE_SEQ_NUM,
72     X_SEQUENCE_NUM,
73     X_STYLE,
74     X_STYLE_CLASS,
75     X_HINT_STYLE,
76     X_HINT_STYLE_CLASS,
77     X_PROMPT_STYLE,
78     X_PROMPT_STYLE_CLASS,
79     X_DEFAULT_TYPE,
80     X_DEFAULT_VALUE,
81     X_DISPLAY_WIDTH,
82 	X_READ_ONLY_FLAG,
83     X_CREATED_BY,
84     X_CREATION_DATE
85   );
86 
87 
88   open c;
89   fetch c into X_ROWID;
90   if (c%notfound) then
91     close c;
92     raise no_data_found;
93   end if;
94   close c;
95 
96 end INSERT_ROW;
97 
98 procedure LOCK_ROW (
99   X_APPLICATION_ID in NUMBER,
100   X_LAYOUT_CODE in VARCHAR2,
101   X_BLOCK_ID in NUMBER,
102   X_SEQUENCE_NUM in NUMBER,
103   X_OBJECT_VERSION_NUMBER in NUMBER,
104   X_INTERFACE_APP_ID in NUMBER,
105   X_INTERFACE_CODE in VARCHAR2,
106   X_INTERFACE_SEQ_NUM in NUMBER,
107   X_STYLE_CLASS in VARCHAR2,
108   X_HINT_STYLE in VARCHAR2,
109   X_HINT_STYLE_CLASS in VARCHAR2,
110   X_PROMPT_STYLE in VARCHAR2,
111   X_PROMPT_STYLE_CLASS in VARCHAR2,
112   X_DEFAULT_TYPE in VARCHAR2,
113   X_DEFAULT_VALUE in VARCHAR2,
114   X_STYLE in VARCHAR2,
115   X_DISPLAY_WIDTH in NUMBER,
116   X_READ_ONLY_FLAG in VARCHAR2
117 ) is
118   cursor c1 is select
119       OBJECT_VERSION_NUMBER,
120       INTERFACE_APP_ID,
121       INTERFACE_CODE,
122       INTERFACE_SEQ_NUM,
123       STYLE_CLASS,
124       HINT_STYLE,
125       HINT_STYLE_CLASS,
126       PROMPT_STYLE,
127       PROMPT_STYLE_CLASS,
128       DEFAULT_TYPE,
129       DEFAULT_VALUE,
130       STYLE,
131       DISPLAY_WIDTH,
132 	  READ_ONLY_FLAG
133     from BNE_LAYOUT_COLS
134     where APPLICATION_ID = X_APPLICATION_ID
135     and LAYOUT_CODE = X_LAYOUT_CODE
136     and BLOCK_ID = X_BLOCK_ID
137     and SEQUENCE_NUM = X_SEQUENCE_NUM
138     for update of APPLICATION_ID nowait;
139 begin
140   for tlinfo in c1 loop
141       if (    ((tlinfo.STYLE = X_STYLE)
142                OR ((tlinfo.STYLE is null) AND (X_STYLE is null)))
143           AND ((tlinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
144                OR ((tlinfo.OBJECT_VERSION_NUMBER is null) AND (X_OBJECT_VERSION_NUMBER is null)))
145           AND (tlinfo.INTERFACE_APP_ID = X_INTERFACE_APP_ID)
146           AND (tlinfo.INTERFACE_CODE = X_INTERFACE_CODE)
147           AND (tlinfo.INTERFACE_SEQ_NUM = X_INTERFACE_SEQ_NUM)
148           AND ((tlinfo.STYLE_CLASS = X_STYLE_CLASS)
149                OR ((tlinfo.STYLE_CLASS is null) AND (X_STYLE_CLASS is null)))
150           AND ((tlinfo.HINT_STYLE = X_HINT_STYLE)
151                OR ((tlinfo.HINT_STYLE is null) AND (X_HINT_STYLE is null)))
152           AND ((tlinfo.HINT_STYLE_CLASS = X_HINT_STYLE_CLASS)
153                OR ((tlinfo.HINT_STYLE_CLASS is null) AND (X_HINT_STYLE_CLASS is null)))
154           AND ((tlinfo.PROMPT_STYLE = X_PROMPT_STYLE)
155                OR ((tlinfo.PROMPT_STYLE is null) AND (X_PROMPT_STYLE is null)))
156           AND ((tlinfo.PROMPT_STYLE_CLASS = X_PROMPT_STYLE_CLASS)
157                OR ((tlinfo.PROMPT_STYLE_CLASS is null) AND (X_PROMPT_STYLE_CLASS is null)))
158           AND ((tlinfo.DEFAULT_TYPE = X_DEFAULT_TYPE)
159                OR ((tlinfo.DEFAULT_TYPE is null) AND (X_DEFAULT_TYPE is null)))
160           AND ((tlinfo.DEFAULT_VALUE = X_DEFAULT_VALUE)
161                OR ((tlinfo.DEFAULT_VALUE is null) AND (X_DEFAULT_VALUE is null)))
162           AND ((tlinfo.DISPLAY_WIDTH = X_DISPLAY_WIDTH)
163                OR ((tlinfo.DISPLAY_WIDTH is null) AND (X_DISPLAY_WIDTH is null)))
164 		  AND ((tlinfo.READ_ONLY_FLAG = X_READ_ONLY_FLAG)
165                OR ((tlinfo.READ_ONLY_FLAG is null) AND (X_READ_ONLY_FLAG is null)))
166       ) then
167         null;
168       else
169         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
170         app_exception.raise_exception;
171       end if;
172   end loop;
173   return;
174 end LOCK_ROW;
175 
176 procedure UPDATE_ROW (
177   X_APPLICATION_ID in NUMBER,
178   X_LAYOUT_CODE in VARCHAR2,
179   X_BLOCK_ID in NUMBER,
180   X_SEQUENCE_NUM in NUMBER,
181   X_OBJECT_VERSION_NUMBER in NUMBER,
182   X_INTERFACE_APP_ID in NUMBER,
183   X_INTERFACE_CODE in VARCHAR2,
184   X_INTERFACE_SEQ_NUM in NUMBER,
185   X_STYLE_CLASS in VARCHAR2,
186   X_HINT_STYLE in VARCHAR2,
187   X_HINT_STYLE_CLASS in VARCHAR2,
188   X_PROMPT_STYLE in VARCHAR2,
189   X_PROMPT_STYLE_CLASS in VARCHAR2,
190   X_DEFAULT_TYPE in VARCHAR2,
191   X_DEFAULT_VALUE in VARCHAR2,
192   X_STYLE in VARCHAR2,
193   X_LAST_UPDATE_DATE in DATE,
194   X_LAST_UPDATED_BY in NUMBER,
195   X_LAST_UPDATE_LOGIN in NUMBER,
196   X_DISPLAY_WIDTH in NUMBER,
197   X_READ_ONLY_FLAG in VARCHAR2
198 ) is
199 begin
200   update BNE_LAYOUT_COLS set
201     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
202     INTERFACE_APP_ID = X_INTERFACE_APP_ID,
203     INTERFACE_CODE = X_INTERFACE_CODE,
204     INTERFACE_SEQ_NUM = X_INTERFACE_SEQ_NUM,
205     STYLE_CLASS = X_STYLE_CLASS,
206     HINT_STYLE = X_HINT_STYLE,
207     HINT_STYLE_CLASS = X_HINT_STYLE_CLASS,
208     PROMPT_STYLE = X_PROMPT_STYLE,
209     PROMPT_STYLE_CLASS = X_PROMPT_STYLE_CLASS,
210     DEFAULT_TYPE = X_DEFAULT_TYPE,
211     DEFAULT_VALUE = X_DEFAULT_VALUE,
212     STYLE = X_STYLE,
213     DISPLAY_WIDTH = X_DISPLAY_WIDTH,
214 	READ_ONLY_FLAG = X_READ_ONLY_FLAG,
215     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
216     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
217     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
218   where APPLICATION_ID = X_APPLICATION_ID
219   and LAYOUT_CODE = X_LAYOUT_CODE
220   and BLOCK_ID = X_BLOCK_ID
221   and SEQUENCE_NUM = X_SEQUENCE_NUM;
222 
223   if (sql%notfound) then
224     raise no_data_found;
225   end if;
226 end UPDATE_ROW;
227 
228 procedure DELETE_ROW (
229   X_APPLICATION_ID in NUMBER,
230   X_LAYOUT_CODE in VARCHAR2,
231   X_BLOCK_ID in NUMBER,
232   X_SEQUENCE_NUM in NUMBER
233 ) is
234 begin
235   delete from BNE_LAYOUT_COLS
236   where APPLICATION_ID = X_APPLICATION_ID
237   and LAYOUT_CODE = X_LAYOUT_CODE
238   and BLOCK_ID = X_BLOCK_ID
239   and SEQUENCE_NUM = X_SEQUENCE_NUM;
240 
241   if (sql%notfound) then
242     raise no_data_found;
243   end if;
244 
245 end DELETE_ROW;
246 
247 procedure ADD_LANGUAGE
248 is
249 begin
250   null;
251 end ADD_LANGUAGE;
252 
253 --------------------------------------------------------------------------------
254 --  PROCEDURE:     LOAD_ROW                                                   --
255 --                                                                            --
256 --  DESCRIPTION:   Load a row into the BNE_LAYOUT_COLS entity.                --
257 --                 This proc is called from the apps loader.                  --
258 --                                                                            --
259 --  SEE:     http://www-apps.us.oracle.com/atg/plans/r115/fndloadqr.txt       --
260 --                                                                            --
261 --                                                                            --
262 --  MODIFICATION HISTORY                                                      --
263 --  Date       Username  Description                                          --
264 --  1-Oct-02   DGROVES   CREATED                                              --
265 --------------------------------------------------------------------------------
266 procedure LOAD_ROW(
267   x_layout_asn                  in VARCHAR2,
268   x_layout_code                 in VARCHAR2,
269   x_block_id                    in VARCHAR2,
270   x_sequence_num                in VARCHAR2,
271   x_object_version_number       in VARCHAR2,
272   x_interface_asn               in VARCHAR2,
273   x_interface_code              in VARCHAR2,
274   x_interface_seq_num           in VARCHAR2,
275   x_style_class                 in VARCHAR2,
276   x_hint_style                  in VARCHAR2,
277   x_hint_style_class            in VARCHAR2,
278   x_prompt_style                in VARCHAR2,
279   x_prompt_style_class          in VARCHAR2,
280   x_default_type                in VARCHAR2,
281   x_default_value               in VARCHAR2,
282   x_style                       in VARCHAR2,
283   x_owner                       in VARCHAR2,
284   x_last_update_date            in VARCHAR2,
285   x_custom_mode                 in VARCHAR2,
286   x_display_width               in VARCHAR2,
287   x_read_only_flag              in VARCHAR2
288 )
289 is
290   l_app_id                      number;
291   l_interface_app_id            number;
292   l_row_id                      varchar2(64);
293   f_luby                        number;  -- entity owner in file
294   f_ludate                      date;    -- entity update date in file
295   db_luby                       number;  -- entity owner in db
296   db_ludate                     date;    -- entity update date in db
297 begin
298   -- translate values to IDs
299   l_app_id                        := BNE_LCT_TOOLS_PKG.ASN_TO_APP_ID(x_layout_asn);
300   l_interface_app_id              := BNE_LCT_TOOLS_PKG.ASN_TO_APP_ID(x_interface_asn);
301 
302   -- Translate owner to file_last_updated_by
303   f_luby := fnd_load_util.owner_id(x_owner);
304 
305   -- Translate char last_update_date to date
306   f_ludate := nvl(to_date(x_last_update_date, 'YYYY/MM/DD'), sysdate);
307   begin
308     select LAST_UPDATED_BY, LAST_UPDATE_DATE
309     into db_luby, db_ludate
310     from BNE_LAYOUT_COLS
311     where APPLICATION_ID = l_app_id
312     and   LAYOUT_CODE    = x_layout_code
313     and   BLOCK_ID       = x_block_id
314     and   SEQUENCE_NUM   = x_sequence_num;
315 
316     -- Test for customization and version
317     if (fnd_load_util.upload_test(f_luby, f_ludate, db_luby,
318                                   db_ludate, x_custom_mode)) then
319       -- Update existing row
320       BNE_LAYOUT_COLS_PKG.Update_Row(
321         X_APPLICATION_ID               => l_app_id,
325         X_OBJECT_VERSION_NUMBER        => x_object_version_number,
322         X_LAYOUT_CODE                  => x_layout_code,
323         X_BLOCK_ID                     => x_block_id,
324         X_SEQUENCE_NUM                 => x_sequence_num,
326         X_INTERFACE_APP_ID             => l_interface_app_id,
327         X_INTERFACE_CODE               => x_interface_code,
328         X_INTERFACE_SEQ_NUM            => x_interface_seq_num,
329         X_STYLE_CLASS                  => x_style_class,
330         X_HINT_STYLE                   => x_hint_style,
331         X_HINT_STYLE_CLASS             => x_hint_style_class,
332         X_PROMPT_STYLE                 => x_prompt_style,
333         X_PROMPT_STYLE_CLASS           => x_prompt_style_class,
334         X_DEFAULT_TYPE                 => x_default_type,
335         X_DEFAULT_VALUE                => x_default_value,
336         X_STYLE                        => x_style,
337         X_DISPLAY_WIDTH                => x_display_width,
338 		X_READ_ONLY_FLAG               => x_read_only_flag,
339         X_LAST_UPDATE_DATE             => f_ludate,
340         X_LAST_UPDATED_BY              => f_luby,
341         X_LAST_UPDATE_LOGIN            => 0
342       );
343     end if;
344   exception
345     when no_data_found then
346       -- Record doesn't exist - insert in all cases
347       BNE_LAYOUT_COLS_PKG.Insert_Row(
348         X_ROWID                        => l_row_id,
349         X_APPLICATION_ID               => l_app_id,
350         X_LAYOUT_CODE                  => x_layout_code,
351         X_BLOCK_ID                     => x_block_id,
352         X_SEQUENCE_NUM                 => x_sequence_num,
353         X_OBJECT_VERSION_NUMBER        => x_object_version_number,
354         X_INTERFACE_APP_ID             => l_interface_app_id,
355         X_INTERFACE_CODE               => x_interface_code,
356         X_INTERFACE_SEQ_NUM            => x_interface_seq_num,
357         X_STYLE_CLASS                  => x_style_class,
358         X_HINT_STYLE                   => x_hint_style,
359         X_HINT_STYLE_CLASS             => x_hint_style_class,
360         X_PROMPT_STYLE                 => x_prompt_style,
361         X_PROMPT_STYLE_CLASS           => x_prompt_style_class,
362         X_DEFAULT_TYPE                 => x_default_type,
363         X_DEFAULT_VALUE                => x_default_value,
364         X_STYLE                        => x_style,
365         X_DISPLAY_WIDTH                => x_display_width,
366 	X_READ_ONLY_FLAG	       => x_read_only_flag,
367         X_CREATION_DATE                => f_ludate,
368         X_CREATED_BY                   => f_luby,
369         X_LAST_UPDATE_DATE             => f_ludate,
370         X_LAST_UPDATED_BY              => f_luby,
371         X_LAST_UPDATE_LOGIN            => 0
372       );
373   end;
374 end LOAD_ROW;
375 
376 end BNE_LAYOUT_COLS_PKG;