DBA Data[Home] [Help]

PACKAGE BODY: APPS.BNE_GRAPHS_PKG

Source


1 package body BNE_GRAPHS_PKG as
2 /* $Header: bnegraphb.pls 120.1 2005/08/30 03:18:46 dagroves noship $ */
3 
4 procedure INSERT_ROW (
5   X_ROWID in out NOCOPY VARCHAR2,
6   X_APPLICATION_ID in NUMBER,
7   X_INTEGRATOR_CODE in VARCHAR2,
8   X_SEQUENCE_NUM in NUMBER,
9   X_OBJECT_VERSION_NUMBER in NUMBER,
10   X_LAYOUT_APP_ID in NUMBER,
11   X_LAYOUT_CODE in VARCHAR2,
12   X_GRAPH_DIMENSION_CODE in VARCHAR2,
13   X_GRAPH_TYPE_CODE in VARCHAR2,
14   X_AUTO_GRAPH_FLAG in VARCHAR2,
15   X_CHART_TITLE in VARCHAR2,
16   X_X_AXIS_LABEL in VARCHAR2,
17   X_Y_AXIS_LABEL in VARCHAR2,
18   X_Z_AXIS_LABEL in VARCHAR2,
19   X_CREATION_DATE in DATE,
20   X_CREATED_BY in NUMBER,
21   X_LAST_UPDATED_BY in NUMBER,
22   X_LAST_UPDATE_LOGIN in NUMBER,
23   X_LAST_UPDATE_DATE in DATE
24 ) is
25   cursor C is select ROWID from BNE_GRAPHS_B
26     where APPLICATION_ID = X_APPLICATION_ID
27     and INTEGRATOR_CODE = X_INTEGRATOR_CODE
28     and SEQUENCE_NUM = X_SEQUENCE_NUM
29     ;
30 begin
31   insert into BNE_GRAPHS_B (
32     APPLICATION_ID,
33     INTEGRATOR_CODE,
34     SEQUENCE_NUM,
35     OBJECT_VERSION_NUMBER,
36     LAYOUT_APP_ID,
37     LAYOUT_CODE,
38     GRAPH_DIMENSION_CODE,
39     GRAPH_TYPE_CODE,
40     AUTO_GRAPH_FLAG,
41     CREATION_DATE,
42     CREATED_BY,
43     LAST_UPDATED_BY,
44     LAST_UPDATE_LOGIN,
45     LAST_UPDATE_DATE
46 
47   ) values (
48     X_APPLICATION_ID,
49     X_INTEGRATOR_CODE,
50     X_SEQUENCE_NUM,
51     X_OBJECT_VERSION_NUMBER,
52     X_LAYOUT_APP_ID,
53     X_LAYOUT_CODE,
54     X_GRAPH_DIMENSION_CODE,
55     X_GRAPH_TYPE_CODE,
56     X_AUTO_GRAPH_FLAG,
57     X_CREATION_DATE,
58     X_CREATED_BY,
59     X_LAST_UPDATED_BY,
60     X_LAST_UPDATE_LOGIN,
61     X_LAST_UPDATE_DATE
62   );
63 
64   insert into BNE_GRAPHS_TL (
65     APPLICATION_ID,
66     INTEGRATOR_CODE,
67     SEQUENCE_NUM,
68     CHART_TITLE,
69     X_AXIS_LABEL,
70     Y_AXIS_LABEL,
71     Z_AXIS_LABEL,
72     CREATION_DATE,
73     CREATED_BY,
74     LAST_UPDATED_BY,
75     LAST_UPDATE_LOGIN,
76     LAST_UPDATE_DATE,
77     LANGUAGE,
78     SOURCE_LANG
79   ) select
80     X_APPLICATION_ID,
81     X_INTEGRATOR_CODE,
82     X_SEQUENCE_NUM,
83     X_CHART_TITLE,
84     X_X_AXIS_LABEL,
85     X_Y_AXIS_LABEL,
86     X_Z_AXIS_LABEL,
87     X_CREATION_DATE,
88     X_CREATED_BY,
89     X_LAST_UPDATED_BY,
90     X_LAST_UPDATE_LOGIN,
91     X_LAST_UPDATE_DATE,
92     L.LANGUAGE_CODE,
93     userenv('LANG')
94   from FND_LANGUAGES L
95   where L.INSTALLED_FLAG in ('I', 'B')
96   and not exists
97     (select NULL
98     from BNE_GRAPHS_TL T
99     where T.APPLICATION_ID = X_APPLICATION_ID
100     and T.INTEGRATOR_CODE = X_INTEGRATOR_CODE
101     and T.SEQUENCE_NUM = X_SEQUENCE_NUM
102     and T.LANGUAGE = L.LANGUAGE_CODE);
103 
104 
105   open c;
106   fetch c into X_ROWID;
107   if (c%notfound) then
108     close c;
109     raise no_data_found;
110   end if;
111   close c;
112 
113 end INSERT_ROW;
114 
115 procedure LOCK_ROW (
116   X_APPLICATION_ID in NUMBER,
117   X_INTEGRATOR_CODE in VARCHAR2,
118   X_SEQUENCE_NUM in NUMBER,
119   X_OBJECT_VERSION_NUMBER in NUMBER,
120   X_LAYOUT_APP_ID in NUMBER,
121   X_LAYOUT_CODE in VARCHAR2,
122   X_GRAPH_DIMENSION_CODE in VARCHAR2,
123   X_GRAPH_TYPE_CODE in VARCHAR2,
124   X_AUTO_GRAPH_FLAG in VARCHAR2,
125   X_CHART_TITLE in VARCHAR2,
126   X_X_AXIS_LABEL in VARCHAR2,
127   X_Y_AXIS_LABEL in VARCHAR2,
128   X_Z_AXIS_LABEL in VARCHAR2,
129   X_CREATION_DATE in DATE,
130   X_CREATED_BY in NUMBER,
131   X_LAST_UPDATED_BY in NUMBER,
132   X_LAST_UPDATE_LOGIN in NUMBER,
133   X_LAST_UPDATE_DATE in DATE
134 ) is
135   cursor c is select
136       OBJECT_VERSION_NUMBER,
137       LAYOUT_APP_ID,
138       LAYOUT_CODE,
139       GRAPH_DIMENSION_CODE,
140       GRAPH_TYPE_CODE,
141       AUTO_GRAPH_FLAG
142     from BNE_GRAPHS_B
143     where APPLICATION_ID = X_APPLICATION_ID
144     and INTEGRATOR_CODE = X_INTEGRATOR_CODE
145     and SEQUENCE_NUM = X_SEQUENCE_NUM
146     for update of APPLICATION_ID nowait;
147   recinfo c%rowtype;
148 
149   cursor c1 is select
150       CHART_TITLE,
151       X_AXIS_LABEL,
152       Y_AXIS_LABEL,
153       Z_AXIS_LABEL,
154       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
155     from BNE_GRAPHS_TL
156     where APPLICATION_ID = X_APPLICATION_ID
157     and INTEGRATOR_CODE = X_INTEGRATOR_CODE
158     and SEQUENCE_NUM = X_SEQUENCE_NUM
159     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
160     for update of APPLICATION_ID nowait;
161 begin
162   open c;
163   fetch c into recinfo;
164   if (c%notfound) then
165     close c;
166     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
167     app_exception.raise_exception;
168   end if;
169   close c;
170   if (    (recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
171       AND ((recinfo.GRAPH_DIMENSION_CODE = X_GRAPH_DIMENSION_CODE)
172            OR ((recinfo.GRAPH_DIMENSION_CODE is null) AND (X_GRAPH_DIMENSION_CODE is null)))
173       AND ((recinfo.GRAPH_TYPE_CODE = X_GRAPH_TYPE_CODE)
174            OR ((recinfo.GRAPH_TYPE_CODE is null) AND (X_GRAPH_TYPE_CODE is null)))
175       AND ((recinfo.LAYOUT_APP_ID = X_LAYOUT_APP_ID)
176            OR ((recinfo.LAYOUT_APP_ID is null) AND (X_LAYOUT_APP_ID is null)))
177       AND ((recinfo.LAYOUT_CODE = X_LAYOUT_CODE)
178            OR ((recinfo.LAYOUT_CODE is null) AND (X_LAYOUT_CODE is null)))
179       AND ((recinfo.AUTO_GRAPH_FLAG = X_AUTO_GRAPH_FLAG)
180            OR ((recinfo.AUTO_GRAPH_FLAG is null) AND (X_AUTO_GRAPH_FLAG is null)))
181   ) then
182     null;
183   else
184     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
185     app_exception.raise_exception;
186   end if;
187 
188   for tlinfo in c1 loop
189     if (tlinfo.BASELANG = 'Y') then
190       if (    ((tlinfo.CHART_TITLE = X_CHART_TITLE)
191                OR ((tlinfo.CHART_TITLE is null) AND (X_CHART_TITLE is null)))
192           AND ((tlinfo.X_AXIS_LABEL = X_X_AXIS_LABEL)
193                OR ((tlinfo.X_AXIS_LABEL is null) AND (X_X_AXIS_LABEL is null)))
194           AND ((tlinfo.Y_AXIS_LABEL = X_Y_AXIS_LABEL)
195                OR ((tlinfo.Y_AXIS_LABEL is null) AND (X_Y_AXIS_LABEL is null)))
196           AND ((tlinfo.Z_AXIS_LABEL = X_Z_AXIS_LABEL)
197                OR ((tlinfo.Z_AXIS_LABEL is null) AND (X_Z_AXIS_LABEL is null)))
198       ) then
199         null;
200       else
201         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
202         app_exception.raise_exception;
203       end if;
204     end if;
205   end loop;
206   return;
207 end LOCK_ROW;
208 
209 procedure UPDATE_ROW (
210   X_APPLICATION_ID in NUMBER,
211   X_INTEGRATOR_CODE in VARCHAR2,
212   X_SEQUENCE_NUM in NUMBER,
213   X_OBJECT_VERSION_NUMBER in NUMBER,
214   X_LAYOUT_APP_ID in NUMBER,
215   X_LAYOUT_CODE in VARCHAR2,
216   X_GRAPH_DIMENSION_CODE in VARCHAR2,
217   X_GRAPH_TYPE_CODE in VARCHAR2,
218   X_AUTO_GRAPH_FLAG in VARCHAR2,
219   X_CHART_TITLE in VARCHAR2,
220   X_X_AXIS_LABEL in VARCHAR2,
221   X_Y_AXIS_LABEL in VARCHAR2,
222   X_Z_AXIS_LABEL in VARCHAR2,
223   X_LAST_UPDATED_BY in NUMBER,
224   X_LAST_UPDATE_LOGIN in NUMBER,
225   X_LAST_UPDATE_DATE in DATE
226 ) is
227 begin
228   update BNE_GRAPHS_B set
229     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
230     LAYOUT_APP_ID =  X_LAYOUT_APP_ID,
231     LAYOUT_CODE =  X_LAYOUT_CODE,
232     GRAPH_DIMENSION_CODE = X_GRAPH_DIMENSION_CODE,
233     GRAPH_TYPE_CODE = X_GRAPH_TYPE_CODE,
234     AUTO_GRAPH_FLAG = X_AUTO_GRAPH_FLAG,
235     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
236     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
237     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE
238   where APPLICATION_ID = X_APPLICATION_ID
239   and INTEGRATOR_CODE = X_INTEGRATOR_CODE
240   and SEQUENCE_NUM = X_SEQUENCE_NUM;
241 
242   if (sql%notfound) then
243     raise no_data_found;
244   end if;
245 
246   update BNE_GRAPHS_TL set
247     CHART_TITLE =  X_CHART_TITLE,
248     X_AXIS_LABEL = X_X_AXIS_LABEL,
249     Y_AXIS_LABEL =  X_Y_AXIS_LABEL,
250     Z_AXIS_LABEL =  X_Z_AXIS_LABEL,
251     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
252     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
253     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
254     SOURCE_LANG = userenv('LANG')
255   where APPLICATION_ID = X_APPLICATION_ID
256   and INTEGRATOR_CODE = X_INTEGRATOR_CODE
257   and SEQUENCE_NUM = X_SEQUENCE_NUM
258   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
259 
260   if (sql%notfound) then
261     raise no_data_found;
262   end if;
263 end UPDATE_ROW;
264 
265 procedure DELETE_ROW (
266   X_APPLICATION_ID in NUMBER,
267   X_INTEGRATOR_CODE in VARCHAR2,
268   X_SEQUENCE_NUM in NUMBER
269 ) is
270 begin
271   delete from BNE_GRAPHS_TL
272   where APPLICATION_ID = X_APPLICATION_ID
273   and INTEGRATOR_CODE = X_INTEGRATOR_CODE
274   and SEQUENCE_NUM = X_SEQUENCE_NUM;
275 
276   if (sql%notfound) then
277     raise no_data_found;
278   end if;
279 
280   delete from BNE_GRAPHS_B
281   where APPLICATION_ID = X_APPLICATION_ID
282   and INTEGRATOR_CODE = X_INTEGRATOR_CODE
283   and SEQUENCE_NUM = X_SEQUENCE_NUM;
284 
285   if (sql%notfound) then
286     raise no_data_found;
287   end if;
288 end DELETE_ROW;
289 
290 procedure ADD_LANGUAGE
291 is
292 begin
293   delete from BNE_GRAPHS_TL T
294   where not exists
295     (select NULL
296     from BNE_GRAPHS_B B
297     where B.APPLICATION_ID = T.APPLICATION_ID
298     and B.INTEGRATOR_CODE = T.INTEGRATOR_CODE
299     and B.SEQUENCE_NUM = T.SEQUENCE_NUM
300     );
301 
302   update BNE_GRAPHS_TL T set (
303       CHART_TITLE,
304       X_AXIS_LABEL,
305       Y_AXIS_LABEL,
306       Z_AXIS_LABEL
307     ) = (select
308       B.CHART_TITLE,
309       B.X_AXIS_LABEL,
310       B.Y_AXIS_LABEL,
311       B.Z_AXIS_LABEL
312     from BNE_GRAPHS_TL B
313     where B.APPLICATION_ID = T.APPLICATION_ID
314     and B.INTEGRATOR_CODE = T.INTEGRATOR_CODE
315     and B.SEQUENCE_NUM = T.SEQUENCE_NUM
316     and B.LANGUAGE = T.SOURCE_LANG)
317   where (
318       T.APPLICATION_ID,
319       T.INTEGRATOR_CODE,
320       T.SEQUENCE_NUM,
321       T.LANGUAGE
322   ) in (select
323       SUBT.APPLICATION_ID,
324       SUBT.INTEGRATOR_CODE,
325       SUBT.SEQUENCE_NUM,
326       SUBT.LANGUAGE
327     from BNE_GRAPHS_TL SUBB, BNE_GRAPHS_TL SUBT
328     where SUBB.APPLICATION_ID = SUBT.APPLICATION_ID
329     and SUBB.INTEGRATOR_CODE = SUBT.INTEGRATOR_CODE
330     and SUBB.SEQUENCE_NUM = SUBT.SEQUENCE_NUM
331     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
332     and  (SUBB.CHART_TITLE <> SUBT.CHART_TITLE
333       or (SUBB.CHART_TITLE is null and SUBT.CHART_TITLE is not null)
334       or (SUBB.CHART_TITLE is not null and SUBT.CHART_TITLE is null)
335       or SUBB.X_AXIS_LABEL <> SUBT.X_AXIS_LABEL
336       or (SUBB.X_AXIS_LABEL is null and SUBT.X_AXIS_LABEL is not null)
337       or (SUBB.X_AXIS_LABEL is not null and SUBT.X_AXIS_LABEL is null)
338       or SUBB.Y_AXIS_LABEL <> SUBT.Y_AXIS_LABEL
339       or (SUBB.Y_AXIS_LABEL is null and SUBT.Y_AXIS_LABEL is not null)
340       or (SUBB.Y_AXIS_LABEL is not null and SUBT.Y_AXIS_LABEL is null)
341       or SUBB.Z_AXIS_LABEL <> SUBT.Z_AXIS_LABEL
342       or (SUBB.Z_AXIS_LABEL is null and SUBT.Z_AXIS_LABEL is not null)
343       or (SUBB.Z_AXIS_LABEL is not null and SUBT.Z_AXIS_LABEL is null)
344   ));
345 
346   insert into BNE_GRAPHS_TL (
347     APPLICATION_ID,
348     INTEGRATOR_CODE,
349     SEQUENCE_NUM,
350     CHART_TITLE,
351     X_AXIS_LABEL,
352     Y_AXIS_LABEL,
353     Z_AXIS_LABEL,
354     CREATED_BY,
355     CREATION_DATE,
356     LAST_UPDATED_BY,
357     LAST_UPDATE_LOGIN,
358     LAST_UPDATE_DATE,
359     LANGUAGE,
360     SOURCE_LANG
361   ) select
362     B.APPLICATION_ID,
363     B.INTEGRATOR_CODE,
364     B.SEQUENCE_NUM,
365     B.CHART_TITLE,
366     B.X_AXIS_LABEL,
367     B.Y_AXIS_LABEL,
368     B.Z_AXIS_LABEL,
369     B.CREATED_BY,
370     B.CREATION_DATE,
371     B.LAST_UPDATED_BY,
372     B.LAST_UPDATE_LOGIN,
373     B.LAST_UPDATE_DATE,
374     L.LANGUAGE_CODE,
375     B.SOURCE_LANG
376   from BNE_GRAPHS_TL B, FND_LANGUAGES L
377   where L.INSTALLED_FLAG in ('I', 'B')
378   and B.LANGUAGE = userenv('LANG')
379   and not exists
380     (select NULL
381     from BNE_GRAPHS_TL T
382     where T.APPLICATION_ID = B.APPLICATION_ID
383     and T.INTEGRATOR_CODE = B.INTEGRATOR_CODE
384     and T.SEQUENCE_NUM = B.SEQUENCE_NUM
385     and T.LANGUAGE = L.LANGUAGE_CODE);
386 end ADD_LANGUAGE;
387 
388 
389 --------------------------------------------------------------------------------
390 --  PROCEDURE:   TRANSLATE_ROW                                                --
391 --                                                                            --
392 --  DESCRIPTION: Load a translation into the BNE_GRAPHS entity.               --
393 --               This proc is called from the apps loader.                    --
394 --                                                                            --
395 --  SEE:   http://www-apps.us.oracle.com/atg/plans/r115/fndloadqr.txt         --
396 --                                                                            --
397 --                                                                            --
398 --  MODIFICATION HISTORY                                                      --
399 --  Date       Username  Description                                          --
400 --  2-Aug-05   PACROSS   CREATED                                              --
401 --------------------------------------------------------------------------------
402 procedure TRANSLATE_ROW(
403   x_integrator_asn        in VARCHAR2,
404   x_integrator_code       in VARCHAR2,
405   x_sequence_num          in VARCHAR2,
406   x_chart_title           in VARCHAR2,
407   x_x_axis_label          in VARCHAR2,
408   x_y_axis_label          in VARCHAR2,
409   x_z_axis_label          in VARCHAR2,
410   x_owner                 in VARCHAR2,
411   x_last_update_date      in VARCHAR2,
412   x_custom_mode           in VARCHAR2
413 )
414 is
415   l_app_id          number;
416   f_luby            number;  -- entity owner in file
417   f_ludate          date;    -- entity update date in file
418   db_luby           number;  -- entity owner in db
419   db_ludate         date;    -- entity update date in db
420 begin
421   -- translate values to IDs
422   l_app_id        := BNE_LCT_TOOLS_PKG.ASN_TO_APP_ID(x_integrator_asn);
423 
424   -- Translate owner to file_last_updated_by
425   f_luby := fnd_load_util.owner_id(x_owner);
426 
427   -- Translate char last_update_date to date
428   f_ludate := nvl(to_date(x_last_update_date, 'YYYY/MM/DD'), sysdate);
429   begin
430     select LAST_UPDATED_BY, LAST_UPDATE_DATE
431     into db_luby, db_ludate
432     from BNE_GRAPHS_TL
433     where APPLICATION_ID      = l_app_id
434     and   INTEGRATOR_CODE     = x_integrator_code
435     and   SEQUENCE_NUM        = x_sequence_num
436     and   LANGUAGE            = userenv('LANG');
437 
438     -- Test for customization and version
439     if (fnd_load_util.upload_test(f_luby, f_ludate, db_luby,
440                                   db_ludate, x_custom_mode)) then
441 
442       update BNE_GRAPHS_TL
443       set CHART_TITLE  = x_chart_title,
444           X_AXIS_LABEL = x_x_axis_label,
445           Y_AXIS_LABEL = x_y_axis_label,
446           Z_AXIS_LABEL = x_z_axis_label,
447           LAST_UPDATE_DATE  = f_ludate,
448           LAST_UPDATED_BY   = f_luby,
449           LAST_UPDATE_LOGIN = 0,
450           SOURCE_LANG       = userenv('LANG')
451       where APPLICATION_ID      = l_app_id
452       AND   INTEGRATOR_CODE     = x_integrator_code
453       AND   SEQUENCE_NUM        = x_sequence_num
454       AND   userenv('LANG') in (LANGUAGE, SOURCE_LANG)
455       ;
456     end if;
457   exception
458     when no_data_found then
459       -- Do not insert missing translations, skip this row
460       null;
461   end;
462 end TRANSLATE_ROW;
463 
464 
465 --------------------------------------------------------------------------------
466 --  PROCEDURE:     LOAD_ROW                                                   --
467 --                                                                            --
468 --  DESCRIPTION:   Load a row into the BNE_GRAPHS entity.                     --
469 --                 This proc is called from the apps loader.                  --
470 --                                                                            --
471 --  SEE:     http://www-apps.us.oracle.com/atg/plans/r115/fndloadqr.txt       --
472 --                                                                            --
473 --                                                                            --
474 --  MODIFICATION HISTORY                                                      --
475 --  Date       Username  Description                                          --
476 --  2-Aug-05   PACROSS   CREATED                                              --
477 --------------------------------------------------------------------------------
478 procedure LOAD_ROW(
479   x_integrator_asn              in VARCHAR2,
480   x_integrator_code             in VARCHAR2,
481   x_sequence_num                in VARCHAR2,
482   x_object_version_number       in VARCHAR2,
483   x_layout_asn                  in VARCHAR2,
484   x_layout_code                 in VARCHAR2,
485   x_graph_dimension_code        in VARCHAR2,
486   x_graph_type_code             in VARCHAR2,
487   x_auto_graph_flag             in VARCHAR2,
488   x_chart_title                 in VARCHAR2,
489   x_x_axis_label                in VARCHAR2,
490   x_y_axis_label                in VARCHAR2,
491   x_z_axis_label                in VARCHAR2,
492   x_last_update_date            in VARCHAR2,
493   x_owner                       in VARCHAR2,
494   x_custom_mode                 in VARCHAR2)
495 is
496   l_app_id                    number;
497   l_layout_app_id             number;
498   l_row_id                    varchar2(64);
499   f_luby                      number;  -- entity owner in file
500   f_ludate                    date;    -- entity update date in file
501   db_luby                     number;  -- entity owner in db
502   db_ludate                   date;    -- entity update date in db
503 begin
504   -- translate values to IDs
505   l_app_id          := BNE_LCT_TOOLS_PKG.ASN_TO_APP_ID(x_integrator_asn);
506   l_layout_app_id   := BNE_LCT_TOOLS_PKG.ASN_TO_APP_ID(x_layout_asn);
507 
508   -- Translate owner to file_last_updated_by
509   f_luby := fnd_load_util.owner_id(x_owner);
510 
511   -- Translate char last_update_date to date
512   f_ludate := nvl(to_date(x_last_update_date, 'YYYY/MM/DD'), sysdate);
513   begin
514     select LAST_UPDATED_BY, LAST_UPDATE_DATE
515     into db_luby, db_ludate
516     from BNE_GRAPHS_B
517     where APPLICATION_ID  = l_app_id
518     and   INTEGRATOR_CODE = x_integrator_code
519     and   SEQUENCE_NUM = x_sequence_num;
520 
521     -- Test for customization and version
522     if (fnd_load_util.upload_test(f_luby, f_ludate, db_luby,
523                                   db_ludate, x_custom_mode)) then
524       -- Update existing row
525       BNE_GRAPHS_PKG.Update_Row(
526         X_APPLICATION_ID        => l_app_id,
527         X_INTEGRATOR_CODE       => x_integrator_code,
528         X_SEQUENCE_NUM          => x_sequence_num,
529         X_OBJECT_VERSION_NUMBER => x_object_version_number,
530         X_LAYOUT_APP_ID         => l_layout_app_id,
531         X_LAYOUT_CODE           => x_layout_code,
532         X_GRAPH_DIMENSION_CODE  => x_graph_dimension_code,
533         X_GRAPH_TYPE_CODE       => x_graph_type_code,
534         X_AUTO_GRAPH_FLAG       => x_auto_graph_flag,
535         X_CHART_TITLE           => x_chart_title,
536         X_X_AXIS_LABEL          => x_x_axis_label,
537         X_Y_AXIS_LABEL          => x_y_axis_label,
538         X_Z_AXIS_LABEL          => x_z_axis_label,
539         X_LAST_UPDATED_BY       => f_luby,
540         X_LAST_UPDATE_LOGIN     => 0,
541         X_LAST_UPDATE_DATE      => f_ludate
542       );
543 
544     end if;
545   exception
546     when no_data_found then
547       -- Record doesn't exist - insert in all cases
548       BNE_GRAPHS_PKG.Insert_Row(
549         X_ROWID                 => l_row_id,
550         X_APPLICATION_ID        => l_app_id,
551         X_INTEGRATOR_CODE       => x_integrator_code,
552         X_SEQUENCE_NUM          => x_sequence_num,
553         X_OBJECT_VERSION_NUMBER => x_object_version_number,
554         X_LAYOUT_APP_ID         => l_layout_app_id,
555         X_LAYOUT_CODE           => x_layout_code,
556         X_GRAPH_DIMENSION_CODE  => x_graph_dimension_code,
557         X_GRAPH_TYPE_CODE       => x_graph_type_code,
558         X_AUTO_GRAPH_FLAG       => x_auto_graph_flag,
559         X_CHART_TITLE           => x_chart_title,
560         X_X_AXIS_LABEL          => x_x_axis_label,
561         X_Y_AXIS_LABEL          => x_y_axis_label,
562         X_Z_AXIS_LABEL          => x_z_axis_label,
563         X_CREATION_DATE         => f_ludate,
564         X_CREATED_BY            => f_luby,
565         X_LAST_UPDATED_BY       => f_luby,
566         X_LAST_UPDATE_LOGIN     => 0,
567         X_LAST_UPDATE_DATE      => f_ludate
568       );
569   end;
570 end LOAD_ROW;
571 
572 
573 end BNE_GRAPHS_PKG;