DBA Data[Home] [Help]

PACKAGE BODY: APPS.FND_PRINTER_PKG

Source


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