[Home] [Help]
PACKAGE BODY: APPS.XDO_CONFIG_PROPERTIES_PKG
Source
1 package body XDO_CONFIG_PROPERTIES_PKG as
2 /* $Header: XDOCFGPB.pls 120.3 2006/05/23 19:50:38 jyeung noship $ */
3
4 procedure INSERT_ROW (
5 P_PROPERTY_CODE in VARCHAR2,
6 P_PROPERTY_NAME in VARCHAR2,
7 P_CATEGORY in VARCHAR2,
8 P_XDO_CFG_NAME in VARCHAR2,
9 P_LOOKUP_TYPE in VARCHAR2,
10 P_SORT_ORDER in NUMBER,
11 P_CREATION_DATE in DATE,
12 P_CREATED_BY in NUMBER,
13 P_LAST_UPDATE_DATE in DATE,
14 P_LAST_UPDATED_BY in NUMBER,
15 P_LAST_UPDATE_LOGIN in NUMBER
16 ) is
17 begin
18 insert into XDO_CONFIG_PROPERTIES_B (
19 PROPERTY_CODE,
20 CATEGORY,
21 XDO_CFG_NAME,
22 LOOKUP_TYPE,
23 SORT_ORDER,
24 CREATION_DATE,
25 CREATED_BY,
26 LAST_UPDATE_DATE,
27 LAST_UPDATED_BY,
28 LAST_UPDATE_LOGIN
29 ) values (
30 P_PROPERTY_CODE,
31 P_CATEGORY,
32 P_XDO_CFG_NAME,
33 P_LOOKUP_TYPE,
34 P_SORT_ORDER,
35 P_CREATION_DATE,
36 P_CREATED_BY,
37 P_LAST_UPDATE_DATE,
38 P_LAST_UPDATED_BY,
39 P_LAST_UPDATE_LOGIN
40 );
41
42 insert into XDO_CONFIG_PROPERTIES_TL (
43 PROPERTY_CODE,
44 PROPERTY_NAME,
45 CREATION_DATE,
46 CREATED_BY,
47 LAST_UPDATE_DATE,
48 LAST_UPDATED_BY,
49 LAST_UPDATE_LOGIN,
50 LANGUAGE,
51 SOURCE_LANG
52 ) select P_PROPERTY_CODE,
53 P_PROPERTY_NAME,
54 P_CREATION_DATE,
55 P_CREATED_BY,
56 P_LAST_UPDATE_DATE,
57 P_LAST_UPDATED_BY,
58 P_LAST_UPDATE_LOGIN,
59 L.LANGUAGE_CODE,
60 userenv('LANG')
61 from FND_LANGUAGES L
62 where L.INSTALLED_FLAG in ('I', 'B')
63 and not exists
64 (select NULL
65 from XDO_CONFIG_PROPERTIES_TL T
66 where T.PROPERTY_CODE = P_PROPERTY_CODE
67 and T.LANGUAGE = L.LANGUAGE_CODE);
68
69 end INSERT_ROW;
70
71 procedure UPDATE_ROW (
72 P_PROPERTY_CODE in VARCHAR2,
73 P_PROPERTY_NAME in VARCHAR2,
74 P_CATEGORY in VARCHAR2,
75 P_XDO_CFG_NAME in VARCHAR2,
76 P_LOOKUP_TYPE in VARCHAR2,
77 P_SORT_ORDER in NUMBER,
78 P_LAST_UPDATE_DATE in DATE,
79 P_LAST_UPDATED_BY in NUMBER,
80 P_LAST_UPDATE_LOGIN in NUMBER
81 ) is
82 begin
83 update XDO_CONFIG_PROPERTIES_B
84 set CATEGORY = P_CATEGORY,
85 XDO_CFG_NAME = P_XDO_CFG_NAME,
86 LOOKUP_TYPE = P_LOOKUP_TYPE,
87 SORT_ORDER = P_SORT_ORDER,
88 LAST_UPDATE_DATE = P_LAST_UPDATE_DATE,
89 LAST_UPDATED_BY = P_LAST_UPDATED_BY,
90 LAST_UPDATE_LOGIN = P_LAST_UPDATE_LOGIN
91 where PROPERTY_CODE = P_PROPERTY_CODE;
92
93 if (sql%notfound) then
94 raise no_data_found;
95 end if;
96
97 update XDO_CONFIG_PROPERTIES_TL set
98 PROPERTY_NAME = P_PROPERTY_NAME,
99 LAST_UPDATE_DATE = P_LAST_UPDATE_DATE,
100 LAST_UPDATED_BY = P_LAST_UPDATED_BY,
101 LAST_UPDATE_LOGIN = P_LAST_UPDATE_LOGIN,
102 SOURCE_LANG = userenv('LANG')
103 where PROPERTY_CODE = P_PROPERTY_CODE
104 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
105
106 if (sql%notfound) then
107 raise no_data_found;
108 end if;
109
110 end UPDATE_ROW;
111
112
113 procedure ADD_LANGUAGE is
114 begin
115 insert into XDO_CONFIG_PROPERTIES_TL (
116 PROPERTY_CODE,
117 PROPERTY_NAME,
118 CREATED_BY,
119 CREATION_DATE,
120 LAST_UPDATED_BY,
121 LAST_UPDATE_DATE,
122 LAST_UPDATE_LOGIN,
123 LANGUAGE,
124 SOURCE_LANG
125 ) select /*+ ORDERED */
126 B.PROPERTY_CODE,
127 B.PROPERTY_NAME,
128 B.CREATED_BY,
129 B.CREATION_DATE,
130 B.LAST_UPDATED_BY,
131 B.LAST_UPDATE_DATE,
132 B.LAST_UPDATE_LOGIN,
133 L.LANGUAGE_CODE,
134 B.SOURCE_LANG
135 from XDO_CONFIG_PROPERTIES_TL B, FND_LANGUAGES L
136 where L.INSTALLED_FLAG in ('I', 'B')
137 and B.LANGUAGE = userenv('LANG')
138 and not exists
139 (select NULL
140 from XDO_CONFIG_PROPERTIES_TL T
141 where T.PROPERTY_CODE = B.PROPERTY_CODE
142 and T.LANGUAGE = L.LANGUAGE_CODE);
143 end ADD_LANGUAGE;
144
145
146 procedure TRANSLATE_ROW (
147 P_PROPERTY_CODE in VARCHAR2,
148 P_PROPERTY_NAME in VARCHAR2,
149 P_LAST_UPDATE_DATE in VARCHAR2,
150 P_CUSTOM_MODE in VARCHAR2,
151 P_OWNER in VARCHAR2
152 ) is
153
154 f_luby number; -- entity owner in file
155 f_ludate date; -- entity update date in file
156 db_luby number; -- entity owner in db
157 db_ludate date; -- entity update date in db
158
159 begin
160
161 -- Translate owner to file_last_updated_by
162 f_luby := fnd_load_util.OWNER_ID(p_owner);
163
164 -- Translate char last_update_date to date
165 f_ludate := nvl(to_date(p_last_update_date, 'YYYY/MM/DD'), sysdate);
166
167 begin
168 select LAST_UPDATED_BY, LAST_UPDATE_DATE
169 into db_luby, db_ludate
170 from XDO_CONFIG_PROPERTIES_TL
171 where PROPERTY_CODE = P_PROPERTY_CODE
172 and LANGUAGE = userenv('LANG');
173
174 -- Update record, honoring customization mode.
175 -- Record should be updated only if:
176 -- a. CUSTOM_MODE = FORCE, or
177 -- b. file owner is USER, db owner is SEED
178 -- c. owners are the same, and file_date > db_date
179 if (fnd_load_util.UPLOAD_TEST(
180 p_file_id => f_luby,
181 p_file_lud => f_ludate,
182 p_db_id => db_luby,
183 p_db_lud => db_ludate,
184 p_custom_mode => p_custom_mode))
185 then
186 update XDO_CONFIG_PROPERTIES_TL
187 set PROPERTY_NAME = nvl(p_property_name, property_name),
188 SOURCE_LANG = userenv('LANG'),
189 LAST_UPDATE_DATE = f_ludate,
190 LAST_UPDATED_BY = f_luby,
191 LAST_UPDATE_LOGIN = 0
192 where PROPERTY_CODE = P_PROPERTY_CODE
193 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
194 end if;
195 exception
196 when no_data_found then
197 null;
198 end;
199 end TRANSLATE_ROW;
200
201
202 procedure LOAD_ROW (
203 P_PROPERTY_CODE in VARCHAR2,
204 P_PROPERTY_NAME in VARCHAR2,
205 P_CATEGORY in VARCHAR2,
206 P_XDO_CFG_NAME in VARCHAR2,
207 P_LOOKUP_TYPE in VARCHAR2,
208 P_SORT_ORDER in NUMBER,
209 P_LAST_UPDATE_DATE in VARCHAR2,
210 P_CUSTOM_MODE in VARCHAR2,
211 P_OWNER in VARCHAR2
212 ) is
213
214 f_luby number; -- entity owner in file
215 f_ludate date; -- entity update date in file
216 db_luby number; -- entity owner in db
217 db_ludate date; -- entity update date in db
218
219 begin
220
221 -- Translate owner to file_last_updated_by
222 f_luby := fnd_load_util.owner_id(p_owner);
223
224 -- Translate char last_update_date to date
225 f_ludate := nvl(to_date(p_last_update_date, 'YYYY/MM/DD'), sysdate);
226
227 begin
228 select LAST_UPDATED_BY, LAST_UPDATE_DATE
229 into db_luby, db_ludate
230 from xdo_config_properties_b
231 where property_code = p_property_code;
232
233 if (fnd_load_util.UPLOAD_TEST(p_file_id => f_luby,
234 p_file_lud => f_ludate,
235 p_db_id => db_luby,
236 p_db_lud => db_ludate,
237 p_custom_mode => p_custom_mode))
238 then
239 UPDATE_ROW (
240 P_PROPERTY_CODE => P_PROPERTY_CODE,
241 P_PROPERTY_NAME => P_PROPERTY_NAME,
242 P_CATEGORY => P_CATEGORY,
243 P_XDO_CFG_NAME => P_XDO_CFG_NAME,
244 P_LOOKUP_TYPE => P_LOOKUP_TYPE,
245 P_SORT_ORDER => P_SORT_ORDER,
246 P_LAST_UPDATE_DATE => f_ludate,
247 P_LAST_UPDATED_BY => f_luby,
248 P_LAST_UPDATE_LOGIN => 0
249 );
250 end if;
251
252 exception when no_data_found then
253
254 INSERT_ROW (
255 P_PROPERTY_CODE => P_PROPERTY_CODE,
256 P_PROPERTY_NAME => P_PROPERTY_NAME,
257 P_CATEGORY => P_CATEGORY,
258 P_XDO_CFG_NAME => P_XDO_CFG_NAME,
259 P_LOOKUP_TYPE => P_LOOKUP_TYPE,
260 P_SORT_ORDER => P_SORT_ORDER,
261 P_CREATION_DATE => f_ludate,
262 P_CREATED_BY => f_luby,
263 P_LAST_UPDATE_DATE => f_ludate,
264 P_LAST_UPDATED_BY => f_luby,
265 P_LAST_UPDATE_LOGIN => 0
266 );
267
268 end;
269
270 end LOAD_ROW;
271
272 end XDO_CONFIG_PROPERTIES_PKG;