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