DBA Data[Home] [Help]

PACKAGE BODY: APPS.FLM_SEQ_ATTRIBUTES_PKG

Source


1 package body FLM_SEQ_ATTRIBUTES_PKG as
2 /* $Header: FLMSQATB.pls 120.1 2006/11/03 02:25:44 ksuleman noship $ */
3 
4 procedure LOAD_SEED_ROW(
5           x_upload_mode                 in      varchar2,
6           x_custom_mode                 in      varchar2,
7           x_attribute_id                in      number,
8           x_attribute_name              in      varchar2,
9           x_description                 in      varchar2,
10           x_user_defined_flag           in      varchar2,
11           x_attribute_type              in      number,
12           x_attribute_source            in      varchar2,
13           x_attribute_value_type        in      number,
14           x_owner                       in      varchar2,
15           x_last_update_date            in      varchar2) is
16 begin
17    if (x_upload_mode = 'NLS') then
18       FLM_SEQ_ATTRIBUTES_PKG.TRANSLATE_ROW(
19          x_custom_mode,
20 	 x_attribute_id,
21          x_description,
22 	 x_owner,
23 	 x_last_update_date);
24    else
25       FLM_SEQ_ATTRIBUTES_PKG.LOAD_ROW(
26          x_custom_mode,
27 	 x_attribute_id,
28 	 x_attribute_name,
29          x_description,
30 	 x_user_defined_flag,
31 	 x_attribute_type,
32 	 x_attribute_source,
33 	 x_attribute_value_type,
34 	 x_owner,
35 	 x_last_update_date);
36    end if;
37 end LOAD_SEED_ROW;
38 
39 procedure TRANSLATE_ROW(
40           x_custom_mode                 in      varchar2,
41           x_attribute_id                in      number,
42           x_description                 in      varchar2,
43           x_owner                       in      varchar2,
44           x_last_update_date            in      varchar2) is
45    user_id NUMBER := 0;
46    f_ludate  date;    -- entity update date in file
47    db_luby   number;  -- entity owner in db
48    db_ludate date;    -- entity update date in db
49 begin
50    user_id := fnd_load_util.owner_id(x_owner);
51 
52    -- Translate char last_update_date to date
53    f_ludate := nvl(to_date(x_last_update_date, 'YYYY/MM/DD'), sysdate);
54 
55    -- Row exists, test if it should be over-written.
56    select LAST_UPDATED_BY, LAST_UPDATE_DATE
57    into   db_luby, db_ludate
58    from   FLM_SEQ_ATTRIBUTES
59    where  ATTRIBUTE_ID = x_attribute_id;
60 
61    if (fnd_load_util.upload_test(user_id, f_ludate, db_luby,
62                                  db_ludate, x_custom_mode)) then
63       update FLM_SEQ_ATTRIBUTES set
64              DESCRIPTION = x_description,
65              LAST_UPDATED_BY = user_id,
66              LAST_UPDATE_DATE = f_ludate,
67              LAST_UPDATE_LOGIN = 0
68       where  ATTRIBUTE_ID = x_attribute_id
69         and  userenv('LANG') = (select  LANGUAGE_CODE
70                                from     FND_LANGUAGES
71                                where    INSTALLED_FLAG = 'B' );
72    end if;
73 
74 exception
75    when no_data_found then
76        -- Do not insert missing translations, skip this row.
77        null;
78 
79 end TRANSLATE_ROW;
80 
81 procedure LOAD_ROW(
82           x_custom_mode                 in      varchar2,
83           x_attribute_id                in      number,
84           x_attribute_name              in      varchar2,
85           x_description                 in      varchar2,
86           x_user_defined_flag           in      varchar2,
87           x_attribute_type              in      number,
88           x_attribute_source            in      varchar2,
89           x_attribute_value_type        in      number,
90           x_owner                       in      varchar2,
91           x_last_update_date            in      varchar2) is
92    user_id NUMBER := 0;
93    f_ludate  date;    -- entity update date in file
94    db_luby   number;  -- entity owner in db
95    db_ludate date;    -- entity update date in db
96    other_att number;
97 begin
98    user_id := fnd_load_util.owner_id(x_owner);
99 
100    -- Translate char last_update_date to date
101    f_ludate := nvl(to_date(x_last_update_date, 'YYYY/MM/DD'), sysdate);
102 
103    select count(*)
104      into other_att
105      from FLM_SEQ_ATTRIBUTES
106     where ATTRIBUTE_NAME = x_attribute_name
107       and ATTRIBUTE_ID > 1000;
108 
109    if other_att > 0 then
110       return;
111    end if;
112 
113    select LAST_UPDATED_BY, LAST_UPDATE_DATE
114    into   db_luby, db_ludate
115    from   FLM_SEQ_ATTRIBUTES
116    where  ATTRIBUTE_ID = x_attribute_id;
117 
118    if (fnd_load_util.upload_test(user_id, f_ludate, db_luby,
119                                  db_ludate, x_custom_mode)) then
120       update FLM_SEQ_ATTRIBUTES set
121              ATTRIBUTE_NAME = x_attribute_name,
122              DESCRIPTION = x_description,
123              USER_DEFINED_FLAG = x_user_defined_flag,
124              ATTRIBUTE_TYPE = x_attribute_type,
125              ATTRIBUTE_SOURCE = x_attribute_source,
126              ATTRIBUTE_VALUE_TYPE = x_attribute_value_type,
127              LAST_UPDATE_DATE = f_ludate,
128              LAST_UPDATED_BY = user_id,
129              LAST_UPDATE_LOGIN = 0
130       where  ATTRIBUTE_ID = x_attribute_id;
131    end if;
132 
133 exception
134    when no_data_found then
135       -- Row doesn't exist yet.  Now this insert statement is placed here.
136       insert into FLM_SEQ_ATTRIBUTES (
137                   ATTRIBUTE_ID,
138                   ATTRIBUTE_NAME,
139                   DESCRIPTION,
140                   USER_DEFINED_FLAG,
141                   ATTRIBUTE_TYPE,
142                   ATTRIBUTE_SOURCE,
143                   ATTRIBUTE_VALUE_TYPE,
144                   OBJECT_VERSION_NUMBER,
145                   LAST_UPDATE_DATE,
146                   LAST_UPDATED_BY,
147                   CREATION_DATE,
148                   CREATED_BY,
149                   LAST_UPDATE_LOGIN )
150            values (
151                   x_attribute_id,
152                   x_attribute_name,
153                   x_description,
154                   x_user_defined_flag,
155                   x_attribute_type,
156                   x_attribute_source,
157                   x_attribute_value_type,
158                   1,
159                   f_ludate,
160                   user_id,
161                   f_ludate,
162                   user_id,
163                   0 );
164 
165 end LOAD_ROW;
166 
167 
168 end FLM_SEQ_ATTRIBUTES_PKG;