DBA Data[Home] [Help]

PACKAGE BODY: APPS.PON_NEG_STYLES_TL_PKG

Source


1 PACKAGE BODY pon_neg_styles_tl_pkg AS
2 /* $Header: PONSTYLB.pls 120.6 2007/04/05 14:41:28 tarkumar ship $ */
3 
4 PROCEDURE insert_row (
5      p_style_id                      IN  pon_negotiation_styles.style_id%TYPE
6     ,p_status                        IN  pon_negotiation_styles.status%TYPE
7     ,p_system_flag                   IN  pon_negotiation_styles.system_flag%TYPE
8     ,p_line_attribute_enabled_flag   IN  pon_negotiation_styles.line_attribute_enabled_flag%TYPE
9     ,p_line_mas_enabled_flag         IN  pon_negotiation_styles.line_mas_enabled_flag%TYPE
10     ,p_price_element_enabled_flag    IN  pon_negotiation_styles.price_element_enabled_flag%TYPE
11     ,p_rfi_line_enabled_flag         IN  pon_negotiation_styles.rfi_line_enabled_flag%TYPE
12     ,p_lot_enabled_flag              IN  pon_negotiation_styles.lot_enabled_flag%TYPE
13     ,p_group_enabled_flag            IN  pon_negotiation_styles.group_enabled_flag%TYPE
14     ,p_large_neg_enabled_flag        IN  pon_negotiation_styles.large_neg_enabled_flag%TYPE
15     ,p_hdr_attribute_enabled_flag    IN  pon_negotiation_styles.hdr_attribute_enabled_flag%TYPE
16     ,p_neg_team_enabled_flag         IN  pon_negotiation_styles.neg_team_enabled_flag%TYPE
17     ,p_proxy_bidding_enabled_flag    IN  pon_negotiation_styles.proxy_bidding_enabled_flag%TYPE
18     ,p_power_bidding_enabled_flag    IN  pon_negotiation_styles.power_bidding_enabled_flag%TYPE
19     ,p_auto_extend_enabled_flag      IN  pon_negotiation_styles.auto_extend_enabled_flag%TYPE
20     ,p_team_scoring_enabled_flag     IN  pon_negotiation_styles.team_scoring_enabled_flag%TYPE
21     ,p_creation_date                 IN  pon_negotiation_styles.creation_date%TYPE
22     ,p_created_by                    IN  pon_negotiation_styles.created_by%TYPE
23     ,p_last_update_date              IN  pon_negotiation_styles.last_update_date%TYPE
24     ,p_last_updated_by               IN  pon_negotiation_styles.last_updated_by%TYPE
25     ,p_last_update_login             IN  pon_negotiation_styles.last_update_login%TYPE
26     ,p_qty_price_tiers_enabled_flag  IN  pon_negotiation_styles.qty_price_tiers_enabled_flag%TYPE
27     ,p_style_name                    IN  pon_negotiation_styles_tl.style_name%TYPE
28     ,p_description                   IN  pon_negotiation_styles_tl.description%TYPE) IS
29 
30 BEGIN
31 
32   INSERT INTO pon_negotiation_styles
33      (style_id
34      ,status
35      ,system_flag
36      ,line_attribute_enabled_flag
37      ,line_mas_enabled_flag
38      ,price_element_enabled_flag
39      ,rfi_line_enabled_flag
40      ,lot_enabled_flag
41      ,group_enabled_flag
42      ,large_neg_enabled_flag
43      ,hdr_attribute_enabled_flag
44      ,neg_team_enabled_flag
45      ,proxy_bidding_enabled_flag
46      ,power_bidding_enabled_flag
47      ,auto_extend_enabled_flag
48      ,team_scoring_enabled_flag
49      ,creation_date
50      ,created_by
51      ,last_update_date
52      ,last_updated_by
53      ,last_update_login
54      ,qty_price_tiers_enabled_flag)
55   VALUES
56      (p_style_id
57      ,p_status
58      ,p_system_flag
59      ,p_line_attribute_enabled_flag
60      ,p_line_mas_enabled_flag
61      ,p_price_element_enabled_flag
62      ,p_rfi_line_enabled_flag
63      ,p_lot_enabled_flag
64      ,p_group_enabled_flag
65      ,p_large_neg_enabled_flag
66      ,p_hdr_attribute_enabled_flag
67      ,p_neg_team_enabled_flag
68      ,p_proxy_bidding_enabled_flag
69      ,p_power_bidding_enabled_flag
70      ,p_auto_extend_enabled_flag
71      ,p_team_scoring_enabled_flag
72      ,p_creation_date
73      ,p_created_by
74      ,p_last_update_date
75      ,p_last_updated_by
76      ,p_last_update_login
77      ,p_qty_price_tiers_enabled_flag);
78 
79   INSERT INTO pon_negotiation_styles_tl
80       (style_id
81       ,style_name
82       ,description
83       ,language
84       ,source_lang
85       ,creation_date
86       ,created_by
87       ,last_update_date
88       ,last_updated_by
89       ,last_update_login)
90     SELECT
91        p_style_id
92       ,p_style_name
93       ,p_description
94       ,l.language_code
95       ,USERENV('LANG')
96       ,p_creation_date
97       ,p_created_by
98       ,p_last_update_date
99       ,p_last_updated_by
100       ,p_last_update_login
101      FROM
102        fnd_languages l
103      WHERE installed_flag  in ('I', 'B')
104        AND NOT EXISTS
105          (SELECT NULL
106 	    FROM pon_negotiation_styles_tl tl
107 	   WHERE tl.style_id        = p_style_id
108 	     AND tl.language        = l.language_code);
109 
110 END insert_row;
111 
112 PROCEDURE update_row (
113     p_style_id                       IN  pon_negotiation_styles.style_id%TYPE
114     ,p_status                        IN  pon_negotiation_styles.status%TYPE
115     ,p_system_flag                   IN  pon_negotiation_styles.system_flag%TYPE
116     ,p_line_attribute_enabled_flag   IN  pon_negotiation_styles.line_attribute_enabled_flag%TYPE
117     ,p_line_mas_enabled_flag         IN  pon_negotiation_styles.line_mas_enabled_flag%TYPE
118     ,p_price_element_enabled_flag    IN  pon_negotiation_styles.price_element_enabled_flag%TYPE
119     ,p_rfi_line_enabled_flag         IN  pon_negotiation_styles.rfi_line_enabled_flag%TYPE
120     ,p_lot_enabled_flag              IN  pon_negotiation_styles.lot_enabled_flag%TYPE
121     ,p_group_enabled_flag            IN  pon_negotiation_styles.group_enabled_flag%TYPE
122     ,p_large_neg_enabled_flag        IN  pon_negotiation_styles.large_neg_enabled_flag%TYPE
123     ,p_hdr_attribute_enabled_flag    IN  pon_negotiation_styles.hdr_attribute_enabled_flag%TYPE
124     ,p_neg_team_enabled_flag         IN  pon_negotiation_styles.neg_team_enabled_flag%TYPE
125     ,p_proxy_bidding_enabled_flag    IN  pon_negotiation_styles.proxy_bidding_enabled_flag%TYPE
126     ,p_power_bidding_enabled_flag    IN  pon_negotiation_styles.power_bidding_enabled_flag%TYPE
127     ,p_auto_extend_enabled_flag      IN  pon_negotiation_styles.auto_extend_enabled_flag%TYPE
128     ,p_team_scoring_enabled_flag     IN  pon_negotiation_styles.team_scoring_enabled_flag%TYPE
129     ,p_last_update_date              IN  pon_negotiation_styles.last_update_date%TYPE
130     ,p_last_updated_by               IN  pon_negotiation_styles.last_updated_by%TYPE
131     ,p_last_update_login             IN  pon_negotiation_styles.last_update_login%TYPE
132     ,p_qty_price_tiers_enabled_flag  IN  pon_negotiation_styles.qty_price_tiers_enabled_flag%TYPE
133     ,p_style_name                    IN  pon_negotiation_styles_tl.style_name%TYPE
134     ,p_description                   IN  pon_negotiation_styles_tl.description%TYPE) IS
135 BEGIN
136 
137    UPDATE pon_negotiation_styles
138       SET status                       = p_status
139           ,system_flag                 = p_system_flag
140           ,line_attribute_enabled_flag = p_line_attribute_enabled_flag
141           ,line_mas_enabled_flag       = p_line_mas_enabled_flag
142           ,price_element_enabled_flag  = p_price_element_enabled_flag
143           ,rfi_line_enabled_flag       = p_rfi_line_enabled_flag
144           ,lot_enabled_flag            = p_lot_enabled_flag
145           ,group_enabled_flag          = p_group_enabled_flag
146           ,large_neg_enabled_flag      = p_large_neg_enabled_flag
147           ,hdr_attribute_enabled_flag  = p_hdr_attribute_enabled_flag
148           ,neg_team_enabled_flag       = p_neg_team_enabled_flag
149           ,proxy_bidding_enabled_flag  = p_proxy_bidding_enabled_flag
150           ,power_bidding_enabled_flag  = p_power_bidding_enabled_flag
151           ,auto_extend_enabled_flag    = p_auto_extend_enabled_flag
152           ,team_scoring_enabled_flag   = p_team_scoring_enabled_flag
153           ,last_update_date            = p_last_update_date
154           ,last_updated_by             = p_last_updated_by
155           ,last_update_login           = p_last_update_login
156           ,qty_price_tiers_enabled_flag = p_qty_price_tiers_enabled_flag
157      WHERE style_id = p_style_id;
158 
159     IF SQL%NOTFOUND
160     THEN
161        RAISE NO_DATA_FOUND;
162     END IF;
163 
164 
165    UPDATE pon_negotiation_styles_tl
166       SET  style_name                  = p_style_name
167            ,description                = p_description
168            ,last_update_date           = p_last_update_date
169            ,last_updated_by            = p_last_updated_by
170            ,last_update_login          = p_last_update_login
171            ,source_lang                = userenv('LANG')
172     WHERE style_id = p_style_id
173     AND USERENV('LANG') IN (language, source_lang);
174 
175    IF SQL%NOTFOUND
176    THEN
177        RAISE NO_DATA_FOUND;
178    END IF;
179 
180 END update_row;
181 
182 -- Translate_row is called during NLS translation during FNDLOAD
183 
184 PROCEDURE translate_row (
185      p_style_id                     IN  pon_negotiation_styles.style_id%TYPE,
186      p_style_name                   IN  pon_negotiation_styles_tl.style_name%TYPE,
187      p_description                  IN  pon_negotiation_styles_tl.description%TYPE,
188      p_owner                        IN  VARCHAR2,
189      p_custom_mode                  IN  VARCHAR2,
190      p_last_update_date             IN  VARCHAR2) IS
191 
192    f_luby    number;  -- entity owner in file
193    f_ludate  date;    -- entity update date in file
194    db_luby   number;  -- entity owner in db
195    db_ludate date;    -- entity update date in db
196 
197 BEGIN
198 
199 
200    f_luby := fnd_load_util.owner_id(p_owner);
201 
202    -- Translate char last_update_date to date
203    f_ludate := nvl(to_date(p_last_update_date, 'YYYY/MM/DD'), sysdate);
204 
205    select LAST_UPDATED_BY, LAST_UPDATE_DATE
206    into db_luby, db_ludate
207    from pon_negotiation_styles_tl
208    where style_id = p_style_id
209    and userenv('LANG') = LANGUAGE;
210 
211 
212      UPDATE pon_negotiation_styles_tl
213         SET style_name              = p_style_name
214             ,description            = p_description
215             ,last_update_date       = f_ludate
216             ,last_updated_by        = f_luby
217             ,last_update_login      = 0
218             ,source_lang            = userenv('LANG')
219       WHERE style_id = p_style_id
220         AND USERENV('LANG') IN (language, source_lang);
221 
222    IF SQL%NOTFOUND
223    THEN
224        RAISE NO_DATA_FOUND;
225    END IF;
226 
227 END translate_row;
228 
229 -- Load_row is called during normal insertion/updates during FNDLOAD
230 -- It UPDATEs the row if available, else INSERTs
231 
232 PROCEDURE load_row (
233     p_style_id                       IN  pon_negotiation_styles.style_id%TYPE
234     ,p_owner                         IN  VARCHAR2
235     ,p_last_update_date              IN  VARCHAR2
236     ,p_custom_mode                   IN  VARCHAR2
237     ,p_status                        IN  pon_negotiation_styles.status%TYPE
238     ,p_system_flag                   IN  pon_negotiation_styles.system_flag%TYPE
239     ,p_line_attribute_enabled_flag   IN  pon_negotiation_styles.line_attribute_enabled_flag%TYPE
240     ,p_line_mas_enabled_flag         IN  pon_negotiation_styles.line_mas_enabled_flag%TYPE
241     ,p_price_element_enabled_flag    IN  pon_negotiation_styles.price_element_enabled_flag%TYPE
242     ,p_rfi_line_enabled_flag         IN  pon_negotiation_styles.rfi_line_enabled_flag%TYPE
243     ,p_lot_enabled_flag              IN  pon_negotiation_styles.lot_enabled_flag%TYPE
244     ,p_group_enabled_flag            IN  pon_negotiation_styles.group_enabled_flag%TYPE
245     ,p_large_neg_enabled_flag        IN  pon_negotiation_styles.large_neg_enabled_flag%TYPE
246     ,p_hdr_attribute_enabled_flag    IN  pon_negotiation_styles.hdr_attribute_enabled_flag%TYPE
247     ,p_neg_team_enabled_flag         IN  pon_negotiation_styles.neg_team_enabled_flag%TYPE
248     ,p_proxy_bidding_enabled_flag    IN  pon_negotiation_styles.proxy_bidding_enabled_flag%TYPE
249     ,p_power_bidding_enabled_flag    IN  pon_negotiation_styles.power_bidding_enabled_flag%TYPE
250     ,p_auto_extend_enabled_flag      IN  pon_negotiation_styles.auto_extend_enabled_flag%TYPE
251     ,p_team_scoring_enabled_flag     IN  pon_negotiation_styles.team_scoring_enabled_flag%TYPE
252     ,p_qty_price_tiers_enabled_flag  IN  pon_negotiation_styles.qty_price_tiers_enabled_flag%TYPE
253     ,p_style_name                    IN  pon_negotiation_styles_tl.style_name%TYPE
254     ,p_description                   IN  pon_negotiation_styles_tl.description%TYPE) IS
255  -- Last update information from the file being uploaded
256     l_f_last_updated_by               pon_negotiation_styles.last_updated_by%TYPE;
257     l_f_last_update_date              pon_negotiation_styles.last_update_date%TYPE;
258 
259  -- Last updated information for the row currently in the database
260     l_db_last_updated_by              pon_negotiation_styles.last_updated_by%TYPE;
261     l_db_last_update_date             pon_negotiation_styles.last_update_date%TYPE;
262 
263     l_style_id                        pon_negotiation_styles.style_id%TYPE;
264 
265 BEGIN
266 
267 -- Translate owner to file_last_updated_by
268     l_f_last_updated_by := fnd_load_util.OWNER_ID(p_owner);
269 
270 -- Translate char last_update_date to date
271     l_f_last_update_date := NVL(TO_DATE(p_last_update_date, 'YYYY/MM/DD'), SYSDATE);
272 
273     SELECT last_updated_by,
274            last_update_date
275       INTO l_db_last_updated_by,
276            l_db_last_update_date
277       FROM pon_negotiation_styles
278      WHERE style_id = p_style_id;
279 
280 
281    update_row (
282     p_style_id                       => p_style_id
283     ,p_status                        => p_status
284     ,p_system_flag                   => p_system_flag
285     ,p_line_attribute_enabled_flag   => p_line_attribute_enabled_flag
286     ,p_line_mas_enabled_flag         => p_line_mas_enabled_flag
287     ,p_price_element_enabled_flag    => p_price_element_enabled_flag
288     ,p_rfi_line_enabled_flag         => p_rfi_line_enabled_flag
289     ,p_lot_enabled_flag              => p_lot_enabled_flag
290     ,p_group_enabled_flag            => p_group_enabled_flag
291     ,p_large_neg_enabled_flag        => p_large_neg_enabled_flag
292     ,p_hdr_attribute_enabled_flag    => p_hdr_attribute_enabled_flag
293     ,p_neg_team_enabled_flag         => p_neg_team_enabled_flag
294     ,p_proxy_bidding_enabled_flag    => p_proxy_bidding_enabled_flag
295     ,p_power_bidding_enabled_flag    => p_power_bidding_enabled_flag
296     ,p_auto_extend_enabled_flag      => p_auto_extend_enabled_flag
297     ,p_team_scoring_enabled_flag     => p_team_scoring_enabled_flag
298     ,p_last_update_date              => l_f_last_update_date
299     ,p_last_updated_by               => l_f_last_updated_by
300     ,p_last_update_login             => 0
301     ,p_qty_price_tiers_enabled_flag  => p_qty_price_tiers_enabled_flag
302     ,p_style_name                    => p_style_name
303     ,p_description                   => p_description);
304 
305 
306 EXCEPTION
307 
308    WHEN NO_DATA_FOUND
309    THEN
310 
311    insert_row (
312      p_style_id                      =>  p_style_id
313     ,p_status                        =>  p_status
314     ,p_system_flag                   =>  p_system_flag
315     ,p_line_attribute_enabled_flag   =>  p_line_attribute_enabled_flag
316     ,p_line_mas_enabled_flag         =>  p_line_mas_enabled_flag
317     ,p_price_element_enabled_flag    =>  p_price_element_enabled_flag
318     ,p_rfi_line_enabled_flag         =>  p_rfi_line_enabled_flag
319     ,p_lot_enabled_flag              =>  p_lot_enabled_flag
320     ,p_group_enabled_flag            =>  p_group_enabled_flag
321     ,p_large_neg_enabled_flag        =>  p_large_neg_enabled_flag
322     ,p_hdr_attribute_enabled_flag    =>  p_hdr_attribute_enabled_flag
323     ,p_neg_team_enabled_flag         =>  p_neg_team_enabled_flag
324     ,p_proxy_bidding_enabled_flag    =>  p_proxy_bidding_enabled_flag
325     ,p_power_bidding_enabled_flag    =>  p_power_bidding_enabled_flag
326     ,p_auto_extend_enabled_flag      =>  p_auto_extend_enabled_flag
327     ,p_team_scoring_enabled_flag     =>  p_team_scoring_enabled_flag
328     ,p_creation_date                 =>  l_f_last_update_date
329     ,p_created_by                    =>  l_f_last_updated_by
330     ,p_last_update_date              =>  l_f_last_update_date
331     ,p_last_updated_by               =>  l_f_last_updated_by
332     ,p_last_update_login             =>  0
333     ,p_qty_price_tiers_enabled_flag  =>  p_qty_price_tiers_enabled_flag
334     ,p_style_name                    =>  p_style_name
335     ,p_description                   =>  p_description);
336 
337 END load_row;
338 
339 PROCEDURE delete_row (
340     p_style_id                 IN  pon_negotiation_styles.style_id%TYPE
341 ) IS
342 
343 BEGIN
344 
345    DELETE FROM pon_negotiation_styles
346          WHERE style_id = p_style_id;
347 
348    IF SQL%NOTFOUND
349    THEN
350       RAISE NO_DATA_FOUND;
351    END IF;
352 
353    DELETE FROM pon_negotiation_styles_tl
354          WHERE style_id = p_style_id;
355 
356 END delete_row;
357 
358 
359 PROCEDURE add_language IS
360 
361 BEGIN
362 
363     INSERT INTO pon_negotiation_styles_TL (
364       style_id,
365       style_name,
366       description,
367       language,
368       source_lang,
369       creation_date,
370       created_by,
371       last_update_date,
372       last_updated_by,
373       last_update_login
374     )
375     SELECT
376       style_id,
377       style_name,
378       description,
379       lang.language_code,
380       source_lang,
381       tl.creation_date,
382       tl.created_by,
383       tl.last_update_date,
384       tl.last_updated_by,
385       tl.last_update_login
386     FROM pon_negotiation_styles_tl tl,
387          fnd_languages lang
388     WHERE language = USERENV('LANG')
389     AND lang.INSTALLED_FLAG in ('I', 'B')
390     AND NOT EXISTS (SELECT NULL
391                       FROM pon_negotiation_styles_TL tl2
392                      WHERE tl2.style_id = tl.style_id
393                        AND tl2.language = lang.language_code);
394 
395 END add_language;
396 
397 END pon_neg_styles_tl_pkg;