DBA Data[Home] [Help]

PACKAGE BODY: APPS.FLM_EKB_PREF_VALUE_PKG

Source


1 package body FLM_EKB_PREF_VALUE_PKG as
2 /* $Header: FLMEKPVB.pls 120.1 2011/03/24 08:35:00 sisankar noship $ */
3 
4 procedure LOAD_SEED_ROW(
5           x_upload_mode                         in      varchar2,
6           x_custom_mode                         in      varchar2,
7           x_preference_value_id                 in      number,
8           x_preference_id                       in      number,
9           x_level_id                            in      number,
10           x_sequence_number                     in      number,
11           x_attribute_name                      in      varchar2,
12           x_attribute_value_code                in      varchar2,
13           x_owner                               in      varchar2,
14           x_last_update_date                    in      varchar2) is
15 begin
16    if (x_upload_mode = 'NLS') then
17       return;
18    else
19       FLM_EKB_PREF_VALUE_PKG.LOAD_ROW(
20          x_custom_mode,
21 	 x_preference_value_id,
22 	 x_preference_id,
23          x_level_id,
24 	 x_sequence_number,
25 	 x_attribute_name,
26 	 x_attribute_value_code,
27 	 x_owner,
28 	 x_last_update_date);
29    end if;
30 end LOAD_SEED_ROW;
31 
32 procedure LOAD_ROW(
33           x_custom_mode                         in      varchar2,
34           x_preference_value_id                 in      number,
35           x_preference_id                       in      number,
36           x_level_id                            in      number,
37           x_sequence_number                     in      number,
38           x_attribute_name                      in      varchar2,
39           x_attribute_value_code                in      varchar2,
40           x_owner                               in      varchar2,
41           x_last_update_date                    in      varchar2) is
42    user_id NUMBER := 0;
43    f_ludate  date;    -- entity update date in file
44    db_luby   number;  -- entity owner in db
45    db_ludate date;    -- entity update date in db
46 begin
47    user_id := fnd_load_util.owner_id(x_owner);
48 
49    -- Translate char last_update_date to date
50    f_ludate := nvl(to_date(x_last_update_date, 'YYYY/MM/DD'), sysdate);
51 
52    select LAST_UPDATED_BY, LAST_UPDATE_DATE
53    into   db_luby, db_ludate
54    from   FLM_EKB_PREFERENCE_VALUES
55    where  PREFERENCE_VALUE_ID = x_preference_value_id;
56 
57    if (fnd_load_util.upload_test(user_id, f_ludate, db_luby,
58                                  db_ludate, x_custom_mode)) then
59       update FLM_EKB_PREFERENCE_VALUES set
60              PREFERENCE_ID = x_preference_id,
61              LEVEL_ID = x_level_id,
62              SEQUENCE_NUMBER = x_sequence_number,
63              ATTRIBUTE_NAME = x_attribute_name,
64              ATTRIBUTE_VALUE_CODE = x_attribute_value_code,
65              LAST_UPDATE_DATE = f_ludate,
66              LAST_UPDATED_BY = user_id,
67              LAST_UPDATE_LOGIN = 0
68       where  PREFERENCE_VALUE_ID = x_preference_value_id;
69    end if;
70 
71 exception
72    when no_data_found then
73       -- Row doesn't exist yet.  Now this insert statement is placed here.
74       insert into FLM_EKB_PREFERENCE_VALUES (
75                   PREFERENCE_VALUE_ID,
76                   PREFERENCE_ID,
77                   LEVEL_ID,
78                   SEQUENCE_NUMBER,
79                   ATTRIBUTE_NAME,
80                   ATTRIBUTE_VALUE_CODE,
81                   OBJECT_VERSION_NUMBER,
82                   LAST_UPDATE_DATE,
83                   LAST_UPDATED_BY,
84                   CREATION_DATE,
85                   CREATED_BY,
86                   LAST_UPDATE_LOGIN )
87            values (
88                   x_preference_value_id,
89                   x_preference_id,
90                   x_level_id,
91                   x_sequence_number,
92                   x_attribute_name,
93                   x_attribute_value_code,
94                   1,
95                   f_ludate,
96                   user_id,
97                   f_ludate,
98                   user_id,
99                   0 );
100 
101 end LOAD_ROW;
102 
103 
104 end FLM_EKB_PREF_VALUE_PKG;