DBA Data[Home] [Help]

PACKAGE BODY: APPS.FND_PRINTER_STYLES_PKG

Source


1 package body FND_PRINTER_STYLES_PKG as
2 /* $Header: AFPRRPSB.pls 120.2 2005/08/19 20:18:05 ckclark ship $ */
3 
4 procedure INSERT_ROW (
5   X_ROWID in out nocopy VARCHAR2,
6   X_PRINTER_STYLE_NAME in VARCHAR2,
7   X_SEQUENCE in NUMBER,
8   X_WIDTH in NUMBER,
9   X_LENGTH in NUMBER,
10   X_DESCRIPTION in VARCHAR2,
11   X_ORIENTATION in VARCHAR2,
12   X_SRW_DRIVER in VARCHAR2,
13   X_HEADER_FLAG in VARCHAR2,
14   X_USER_PRINTER_STYLE_NAME in VARCHAR2,
15   X_CREATION_DATE in DATE,
16   X_CREATED_BY in NUMBER,
17   X_LAST_UPDATE_DATE in DATE,
18   X_LAST_UPDATED_BY in NUMBER,
19   X_LAST_UPDATE_LOGIN in NUMBER
20 ) is
21   cursor C is select ROWID from FND_PRINTER_STYLES
22     where PRINTER_STYLE_NAME = X_PRINTER_STYLE_NAME
23     ;
24 begin
25   insert into FND_PRINTER_STYLES (
26     PRINTER_STYLE_NAME,
27     SEQUENCE,
28     WIDTH,
29     LENGTH,
30     DESCRIPTION,
31     ORIENTATION,
32     SRW_DRIVER,
33     HEADER_FLAG,
34     CREATION_DATE,
35     CREATED_BY,
36     LAST_UPDATE_DATE,
37     LAST_UPDATED_BY,
38     LAST_UPDATE_LOGIN
39   ) values (
40     X_PRINTER_STYLE_NAME,
41     X_SEQUENCE,
42     X_WIDTH,
43     X_LENGTH,
44     X_DESCRIPTION,
45     X_ORIENTATION,
46     X_SRW_DRIVER,
47     X_HEADER_FLAG,
48     X_CREATION_DATE,
49     X_CREATED_BY,
50     X_LAST_UPDATE_DATE,
51     X_LAST_UPDATED_BY,
52     X_LAST_UPDATE_LOGIN
53   );
54 
55   insert into FND_PRINTER_STYLES_TL (
56     PRINTER_STYLE_NAME,
57     USER_PRINTER_STYLE_NAME,
58     LAST_UPDATE_DATE,
59     LAST_UPDATED_BY,
60     CREATION_DATE,
61     CREATED_BY,
62     LAST_UPDATE_LOGIN,
63     LANGUAGE,
64     SOURCE_LANG
65   ) select
66     X_PRINTER_STYLE_NAME,
67     X_USER_PRINTER_STYLE_NAME,
68     X_LAST_UPDATE_DATE,
69     X_LAST_UPDATED_BY,
70     X_CREATION_DATE,
71     X_CREATED_BY,
72     X_LAST_UPDATE_LOGIN,
73     L.LANGUAGE_CODE,
74     userenv('LANG')
75   from FND_LANGUAGES L
76   where L.INSTALLED_FLAG in ('I', 'B')
77   and not exists
78     (select NULL
79     from FND_PRINTER_STYLES_TL T
80     where T.PRINTER_STYLE_NAME = X_PRINTER_STYLE_NAME
81     and T.LANGUAGE = L.LANGUAGE_CODE);
82 
83   open c;
84   fetch c into X_ROWID;
85   if (c%notfound) then
86     close c;
87     raise no_data_found;
88   end if;
89   close c;
90 
91 end INSERT_ROW;
92 
93 procedure LOCK_ROW (
94   X_PRINTER_STYLE_NAME in VARCHAR2,
95   X_SEQUENCE in NUMBER,
96   X_WIDTH in NUMBER,
97   X_LENGTH in NUMBER,
98   X_DESCRIPTION in VARCHAR2,
99   X_ORIENTATION in VARCHAR2,
100   X_SRW_DRIVER in VARCHAR2,
101   X_HEADER_FLAG in VARCHAR2,
102   X_USER_PRINTER_STYLE_NAME in VARCHAR2
103 ) is
104   cursor c is select
105       SEQUENCE,
106       WIDTH,
107       LENGTH,
108       DESCRIPTION,
109       ORIENTATION,
110       SRW_DRIVER,
111       HEADER_FLAG
112     from FND_PRINTER_STYLES
113     where PRINTER_STYLE_NAME = X_PRINTER_STYLE_NAME
114     for update of PRINTER_STYLE_NAME nowait;
115   recinfo c%rowtype;
116 
117   cursor c1 is select
118       USER_PRINTER_STYLE_NAME
119     from FND_PRINTER_STYLES_TL
120     where PRINTER_STYLE_NAME = X_PRINTER_STYLE_NAME
121     and LANGUAGE = userenv('LANG')
122     for update of PRINTER_STYLE_NAME nowait;
123   tlinfo c1%rowtype;
124 
125 begin
126   open c;
127   fetch c into recinfo;
128   if (c%notfound) then
129     close c;
130     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
131     app_exception.raise_exception;
132   end if;
133   close c;
134   if (    (recinfo.SEQUENCE = X_SEQUENCE)
135       AND (recinfo.WIDTH = X_WIDTH)
136       AND (recinfo.LENGTH = X_LENGTH)
137       AND ((recinfo.DESCRIPTION = X_DESCRIPTION)
138            OR ((recinfo.DESCRIPTION is null) AND (X_DESCRIPTION is null)))
139       AND ((recinfo.ORIENTATION = X_ORIENTATION)
140            OR ((recinfo.ORIENTATION is null) AND (X_ORIENTATION is null)))
141       AND ((recinfo.SRW_DRIVER = X_SRW_DRIVER)
142            OR ((recinfo.SRW_DRIVER is null) AND (X_SRW_DRIVER is null)))
143       AND ((recinfo.HEADER_FLAG = X_HEADER_FLAG)
144            OR ((recinfo.HEADER_FLAG is null) AND (X_HEADER_FLAG is null)))
145   ) then
146     null;
147   else
148     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
149     app_exception.raise_exception;
150   end if;
151 
152   open c1;
153   fetch c1 into tlinfo;
154   if (c1%notfound) then
155     close c1;
156     return;
157   end if;
158   close c1;
159 
160   if (    (tlinfo.USER_PRINTER_STYLE_NAME = X_USER_PRINTER_STYLE_NAME)
161   ) then
162     null;
163   else
164     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
165     app_exception.raise_exception;
166   end if;
167   return;
168 end LOCK_ROW;
169 
170 procedure UPDATE_ROW (
171   X_PRINTER_STYLE_NAME in VARCHAR2,
172   X_SEQUENCE in NUMBER,
173   X_WIDTH in NUMBER,
174   X_LENGTH in NUMBER,
175   X_DESCRIPTION in VARCHAR2,
176   X_ORIENTATION in VARCHAR2,
177   X_SRW_DRIVER in VARCHAR2,
178   X_HEADER_FLAG in VARCHAR2,
179   X_USER_PRINTER_STYLE_NAME in VARCHAR2,
180   X_LAST_UPDATE_DATE in DATE,
181   X_LAST_UPDATED_BY in NUMBER,
182   X_LAST_UPDATE_LOGIN in NUMBER
183 ) is
184 begin
185   update FND_PRINTER_STYLES set
186     SEQUENCE = X_SEQUENCE,
187     WIDTH = X_WIDTH,
188     LENGTH = X_LENGTH,
189     DESCRIPTION = X_DESCRIPTION,
190     ORIENTATION = X_ORIENTATION,
191     SRW_DRIVER = X_SRW_DRIVER,
192     HEADER_FLAG = X_HEADER_FLAG,
193     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
194     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
195     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
196   where PRINTER_STYLE_NAME = X_PRINTER_STYLE_NAME;
197 
198   if (sql%notfound) then
199     raise no_data_found;
200   end if;
201 
202   update FND_PRINTER_STYLES_TL set
203     USER_PRINTER_STYLE_NAME = X_USER_PRINTER_STYLE_NAME,
204     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
205     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
206     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
207     SOURCE_LANG = userenv('LANG')
208   where PRINTER_STYLE_NAME = X_PRINTER_STYLE_NAME
209   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
210 
211   if (sql%notfound) then
212     raise no_data_found;
213   end if;
214 end UPDATE_ROW;
215 
216 procedure DELETE_ROW (
217   X_PRINTER_STYLE_NAME in VARCHAR2
218 ) is
219 begin
220   delete from FND_PRINTER_STYLES
221   where PRINTER_STYLE_NAME = X_PRINTER_STYLE_NAME;
222 
223   if (sql%notfound) then
224     raise no_data_found;
225   end if;
226 
227   delete from FND_PRINTER_STYLES_TL
228   where PRINTER_STYLE_NAME = X_PRINTER_STYLE_NAME;
229 
230   if (sql%notfound) then
231     raise no_data_found;
232   end if;
233 end DELETE_ROW;
234 
235 procedure ADD_LANGUAGE
236 is
237 begin
238 /* Mar/19/03 requested by Ric Ginsberg */
239 /* The following delete and update statements are commented out */
240 /* as a quick workaround to fix the time-consuming table handler issue */
241 /* Eventually we'll need to turn them into a separate fix_language procedure */
242 /*
243 
244   delete from FND_PRINTER_STYLES_TL T
245   where not exists
246     (select NULL
247     from FND_PRINTER_STYLES B
248     where B.PRINTER_STYLE_NAME = T.PRINTER_STYLE_NAME
249     );
250 
251   update FND_PRINTER_STYLES_TL T set (
252       USER_PRINTER_STYLE_NAME
253     ) = (select
254       B.USER_PRINTER_STYLE_NAME
255     from FND_PRINTER_STYLES_TL B
256     where B.PRINTER_STYLE_NAME = T.PRINTER_STYLE_NAME
257     and B.LANGUAGE = T.SOURCE_LANG)
258   where (
259       T.PRINTER_STYLE_NAME,
260       T.LANGUAGE
261   ) in (select
262       SUBT.PRINTER_STYLE_NAME,
263       SUBT.LANGUAGE
264     from FND_PRINTER_STYLES_TL SUBB, FND_PRINTER_STYLES_TL SUBT
265     where SUBB.PRINTER_STYLE_NAME = SUBT.PRINTER_STYLE_NAME
266     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
267     and (SUBB.USER_PRINTER_STYLE_NAME <> SUBT.USER_PRINTER_STYLE_NAME
268   ));
269 */
270 
271   insert into FND_PRINTER_STYLES_TL (
272     PRINTER_STYLE_NAME,
273     USER_PRINTER_STYLE_NAME,
274     LAST_UPDATE_DATE,
275     LAST_UPDATED_BY,
276     CREATION_DATE,
277     CREATED_BY,
278     LAST_UPDATE_LOGIN,
279     LANGUAGE,
280     SOURCE_LANG
281   ) select
282     B.PRINTER_STYLE_NAME,
283     B.USER_PRINTER_STYLE_NAME,
284     B.LAST_UPDATE_DATE,
285     B.LAST_UPDATED_BY,
286     B.CREATION_DATE,
287     B.CREATED_BY,
288     B.LAST_UPDATE_LOGIN,
289     L.LANGUAGE_CODE,
290     B.SOURCE_LANG
291   from FND_PRINTER_STYLES_TL B, FND_LANGUAGES L
292   where L.INSTALLED_FLAG in ('I', 'B')
293   and B.LANGUAGE = userenv('LANG')
294   and not exists
295     (select NULL
296     from FND_PRINTER_STYLES_TL T
297     where T.PRINTER_STYLE_NAME = B.PRINTER_STYLE_NAME
298     and T.LANGUAGE = L.LANGUAGE_CODE);
299 end ADD_LANGUAGE;
300 
301 end FND_PRINTER_STYLES_PKG;