[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;