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