DBA Data[Home] [Help]

PACKAGE BODY: APPS.BNE_LAYOUT_LOBS_PKG

Source


1 package body BNE_LAYOUT_LOBS_PKG as
2 /* $Header: bnelaylobb.pls 120.2 2005/06/29 03:40:17 dvayro 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_FILE_ID in NUMBER,
9   X_OBJECT_VERSION_NUMBER in NUMBER,
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 BNE_LAYOUT_LOBS
17     where APPLICATION_ID = X_APPLICATION_ID
18     and LAYOUT_CODE = X_LAYOUT_CODE
19     and FILE_ID = X_FILE_ID
20     ;
21 begin
22   insert into BNE_LAYOUT_LOBS (
23     CREATED_BY,
24     CREATION_DATE,
25     LAST_UPDATED_BY,
26     LAST_UPDATE_DATE,
27     LAST_UPDATE_LOGIN,
28     APPLICATION_ID,
29     LAYOUT_CODE,
30     FILE_ID,
31     OBJECT_VERSION_NUMBER
32   ) values (
33     X_CREATED_BY,
34     X_CREATION_DATE,
35     X_LAST_UPDATED_BY,
36     X_LAST_UPDATE_DATE,
37     X_LAST_UPDATE_LOGIN,
38     X_APPLICATION_ID,
39     X_LAYOUT_CODE,
40     X_FILE_ID,
41     X_OBJECT_VERSION_NUMBER
42   );
43 
44 
45   open c;
46   fetch c into X_ROWID;
47   if (c%notfound) then
48     close c;
49     raise no_data_found;
50   end if;
51   close c;
52 
53 end INSERT_ROW;
54 
55 procedure LOCK_ROW (
56   X_APPLICATION_ID in NUMBER,
57   X_LAYOUT_CODE in VARCHAR2,
58   X_FILE_ID in NUMBER,
59   X_OBJECT_VERSION_NUMBER in NUMBER
60 ) is
61   cursor c1 is select
62       OBJECT_VERSION_NUMBER
63     from BNE_LAYOUT_LOBS
64     where APPLICATION_ID = X_APPLICATION_ID
65     and LAYOUT_CODE = X_LAYOUT_CODE
66     and FILE_ID = X_FILE_ID
67     for update of APPLICATION_ID nowait;
68 begin
69   for tlinfo in c1 loop
70       if (    (tlinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
71       ) then
72         null;
73       else
74         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
75         app_exception.raise_exception;
76       end if;
77   end loop;
78   return;
79 end LOCK_ROW;
80 
81 procedure UPDATE_ROW (
82   X_APPLICATION_ID in NUMBER,
83   X_LAYOUT_CODE in VARCHAR2,
84   X_FILE_ID in NUMBER,
85   X_OBJECT_VERSION_NUMBER in NUMBER,
86   X_LAST_UPDATE_DATE in DATE,
87   X_LAST_UPDATED_BY in NUMBER,
88   X_LAST_UPDATE_LOGIN in NUMBER
89 ) is
90 begin
91   update BNE_LAYOUT_LOBS set
92     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
93     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
94     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
95     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
96   where APPLICATION_ID = X_APPLICATION_ID
97   and LAYOUT_CODE = X_LAYOUT_CODE
98   and FILE_ID = X_FILE_ID;
99 
100   if (sql%notfound) then
101     raise no_data_found;
102   end if;
103 end UPDATE_ROW;
104 
105 procedure DELETE_ROW (
106   X_APPLICATION_ID in NUMBER,
107   X_LAYOUT_CODE in VARCHAR2,
108   X_FILE_ID in NUMBER
109 ) is
110 begin
111   delete from BNE_LAYOUT_LOBS
112   where APPLICATION_ID = X_APPLICATION_ID
113   and LAYOUT_CODE = X_LAYOUT_CODE
114   and FILE_ID = X_FILE_ID;
115 
116   if (sql%notfound) then
117     raise no_data_found;
118   end if;
119 
120 end DELETE_ROW;
121 
122 procedure ADD_LANGUAGE
123 is
124 begin
125   null;
126 end ADD_LANGUAGE;
127 
128 --------------------------------------------------------------------------------
129 --  PROCEDURE:     LOAD_ROW                                                   --
130 --                                                                            --
131 --  DESCRIPTION:   Load a row into the BNE_LAYOUT_LOBS entity.                --
132 --                 This proc is called from the apps loader.                  --
133 --                                                                            --
134 --  SEE:     http://www-apps.us.oracle.com/atg/plans/r115/fndloadqr.txt       --
135 --                                                                            --
136 --                                                                            --
137 --  MODIFICATION HISTORY                                                      --
138 --  Date       Username  Description                                          --
139 --  1-Oct-02   DGROVES   CREATED                                              --
140 --------------------------------------------------------------------------------
141 procedure LOAD_ROW(
142   x_layout_asn                  in VARCHAR2,
143   x_layout_code                 in VARCHAR2,
144   x_file_id                     in VARCHAR2,
145   x_object_version_number       in VARCHAR2,
146   x_owner                       in VARCHAR2,
147   x_last_update_date            in VARCHAR2,
148   x_custom_mode                 in VARCHAR2
149 )
150 is
151   l_app_id                      number;
152   l_row_id                      varchar2(64);
153   f_luby                        number;  -- entity owner in file
154   f_ludate                      date;    -- entity update date in file
155   db_luby                       number;  -- entity owner in db
156   db_ludate                     date;    -- entity update date in db
157 begin
158   -- translate values to IDs
159   l_app_id                        := BNE_LCT_TOOLS_PKG.ASN_TO_APP_ID(x_layout_asn);
160 
161   -- Translate owner to file_last_updated_by
162   f_luby := fnd_load_util.owner_id(x_owner);
163 
164   -- Translate char last_update_date to date
165   f_ludate := nvl(to_date(x_last_update_date, 'YYYY/MM/DD'), sysdate);
166   begin
167     select LAST_UPDATED_BY, LAST_UPDATE_DATE
168     into db_luby, db_ludate
169     from BNE_LAYOUT_LOBS
170     where APPLICATION_ID = l_app_id
171     and   LAYOUT_CODE    = x_layout_code
172     and   FILE_ID        = x_file_id;
173 
174     -- Test for customization and version
175     if (fnd_load_util.upload_test(f_luby, f_ludate, db_luby,
176                                   db_ludate, x_custom_mode)) then
177       -- Update existing row
178       BNE_LAYOUT_LOBS_PKG.Update_Row(
179         X_APPLICATION_ID               => l_app_id,
180         X_LAYOUT_CODE                  => x_layout_code,
181         X_FILE_ID                      => x_file_id,
182         X_OBJECT_VERSION_NUMBER        => x_object_version_number,
183         X_LAST_UPDATE_DATE             => f_ludate,
184         X_LAST_UPDATED_BY              => f_luby,
185         X_LAST_UPDATE_LOGIN            => 0
186       );
187     end if;
188   exception
189     when no_data_found then
190       -- Record doesn't exist - insert in all cases
191       BNE_LAYOUT_LOBS_PKG.Insert_Row(
192         X_ROWID                        => l_row_id,
193         X_APPLICATION_ID               => l_app_id,
194         X_LAYOUT_CODE                  => x_layout_code,
195         X_FILE_ID                      => x_file_id,
196         X_OBJECT_VERSION_NUMBER        => x_object_version_number,
197         X_CREATION_DATE                => f_ludate,
198         X_CREATED_BY                   => f_luby,
199         X_LAST_UPDATE_DATE             => f_ludate,
200         X_LAST_UPDATED_BY              => f_luby,
201         X_LAST_UPDATE_LOGIN            => 0
202       );
203   end;
204 end LOAD_ROW;
205 
206 end BNE_LAYOUT_LOBS_PKG;