[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;