DBA Data[Home] [Help]

PACKAGE BODY: APPS.BNE_FILES_PKG

Source


1 package body BNE_FILES_PKG as
2 /* $Header: bnefileb.pls 120.2 2005/06/29 03:39:56 dvayro noship $ */
3 
4 procedure INSERT_ROW (
5   X_ROWID in out NOCOPY VARCHAR2,
6   X_APPLICATION_ID in NUMBER,
7   X_CONTENT_CODE in VARCHAR2,
8   X_USER_FILE_NAME in VARCHAR2,
9   X_OBJECT_VERSION_NUMBER in NUMBER,
10   X_MIDDLE_TIER_FILE_NAME in VARCHAR2,
11   X_START_LINE in NUMBER,
12   X_COLUMN_DELIMITER_CHAR in VARCHAR2,
13   X_IGNORE_CONSEC_DELIMS_FLAG in VARCHAR2,
14   X_SEQUENCE_NUM in NUMBER,
15   X_CREATION_DATE in DATE,
16   X_CREATED_BY in NUMBER,
17   X_LAST_UPDATE_DATE in DATE,
18   X_LAST_UPDATED_BY in NUMBER,
19   X_LAST_UPDATE_LOGIN in NUMBER
20 ) is
21   cursor C is select ROWID from BNE_FILES
22     where APPLICATION_ID = X_APPLICATION_ID
23     and CONTENT_CODE = X_CONTENT_CODE
24     and USER_FILE_NAME = X_USER_FILE_NAME
25     ;
26 begin
27   insert into BNE_FILES (
28     OBJECT_VERSION_NUMBER,
29     MIDDLE_TIER_FILE_NAME,
30     USER_FILE_NAME,
31     START_LINE,
32     COLUMN_DELIMITER_CHAR,
33     IGNORE_CONSEC_DELIMS_FLAG,
34     CREATED_BY,
35     CREATION_DATE,
36     LAST_UPDATED_BY,
37     LAST_UPDATE_LOGIN,
38     LAST_UPDATE_DATE,
39     SEQUENCE_NUM,
40     CONTENT_CODE,
41     APPLICATION_ID
42   ) values (
43     X_OBJECT_VERSION_NUMBER,
44     X_MIDDLE_TIER_FILE_NAME,
45     X_USER_FILE_NAME,
46     X_START_LINE,
47     X_COLUMN_DELIMITER_CHAR,
48     X_IGNORE_CONSEC_DELIMS_FLAG,
49     X_CREATED_BY,
50     X_CREATION_DATE,
51     X_LAST_UPDATED_BY,
52     X_LAST_UPDATE_LOGIN,
53     X_LAST_UPDATE_DATE,
54     X_SEQUENCE_NUM,
55     X_CONTENT_CODE,
56     X_APPLICATION_ID
57   );
58 
59   open c;
60   fetch c into X_ROWID;
61   if (c%notfound) then
62     close c;
63     raise no_data_found;
64   end if;
65   close c;
66 
67 end INSERT_ROW;
68 
69 procedure LOCK_ROW (
70   X_APPLICATION_ID in NUMBER,
71   X_CONTENT_CODE in VARCHAR2,
72   X_USER_FILE_NAME in VARCHAR2,
73   X_OBJECT_VERSION_NUMBER in NUMBER,
74   X_MIDDLE_TIER_FILE_NAME in VARCHAR2,
75   X_START_LINE in NUMBER,
76   X_COLUMN_DELIMITER_CHAR in VARCHAR2,
77   X_IGNORE_CONSEC_DELIMS_FLAG in VARCHAR2,
78   X_SEQUENCE_NUM in NUMBER
79 ) is
80   cursor c1 is select
81       OBJECT_VERSION_NUMBER,
82       MIDDLE_TIER_FILE_NAME,
83       START_LINE,
84       COLUMN_DELIMITER_CHAR,
85       IGNORE_CONSEC_DELIMS_FLAG,
86       SEQUENCE_NUM,
87       CONTENT_CODE
88     from BNE_FILES
89     where APPLICATION_ID = X_APPLICATION_ID
90     and CONTENT_CODE = X_CONTENT_CODE
91     and USER_FILE_NAME = X_USER_FILE_NAME
92     for update of APPLICATION_ID nowait;
93 begin
94   for tlinfo in c1 loop
95       if (    (tlinfo.CONTENT_CODE = X_CONTENT_CODE)
96           AND (tlinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
97           AND (tlinfo.MIDDLE_TIER_FILE_NAME = X_MIDDLE_TIER_FILE_NAME)
98           AND (tlinfo.START_LINE = X_START_LINE)
99           AND (tlinfo.COLUMN_DELIMITER_CHAR = X_COLUMN_DELIMITER_CHAR)
100           AND (tlinfo.IGNORE_CONSEC_DELIMS_FLAG = X_IGNORE_CONSEC_DELIMS_FLAG)
101           AND (tlinfo.SEQUENCE_NUM = X_SEQUENCE_NUM)
102       ) then
103         null;
104       else
105         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
106         app_exception.raise_exception;
107       end if;
108   end loop;
109   return;
110 end LOCK_ROW;
111 
112 procedure UPDATE_ROW (
113   X_APPLICATION_ID in NUMBER,
114   X_CONTENT_CODE in VARCHAR2,
115   X_USER_FILE_NAME in VARCHAR2,
116   X_OBJECT_VERSION_NUMBER in NUMBER,
117   X_MIDDLE_TIER_FILE_NAME in VARCHAR2,
118   X_START_LINE in NUMBER,
119   X_COLUMN_DELIMITER_CHAR in VARCHAR2,
120   X_IGNORE_CONSEC_DELIMS_FLAG in VARCHAR2,
121   X_SEQUENCE_NUM in NUMBER,
122   X_LAST_UPDATE_DATE in DATE,
123   X_LAST_UPDATED_BY in NUMBER,
124   X_LAST_UPDATE_LOGIN in NUMBER
125 ) is
126 begin
127   update BNE_FILES set
128     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
129     MIDDLE_TIER_FILE_NAME = X_MIDDLE_TIER_FILE_NAME,
130     START_LINE = X_START_LINE,
131     COLUMN_DELIMITER_CHAR = X_COLUMN_DELIMITER_CHAR,
132     IGNORE_CONSEC_DELIMS_FLAG = X_IGNORE_CONSEC_DELIMS_FLAG,
133     SEQUENCE_NUM = X_SEQUENCE_NUM,
134     CONTENT_CODE = X_CONTENT_CODE,
135     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
136     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
137     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
138   where APPLICATION_ID = X_APPLICATION_ID
139   and CONTENT_CODE = X_CONTENT_CODE
140   and USER_FILE_NAME = X_USER_FILE_NAME;
141 
142   if (sql%notfound) then
143     raise no_data_found;
144   end if;
145 end UPDATE_ROW;
146 
147 procedure DELETE_ROW (
148   X_APPLICATION_ID in NUMBER,
149   X_CONTENT_CODE in VARCHAR2,
150   X_USER_FILE_NAME in VARCHAR2
151 ) is
152 begin
153   delete from BNE_FILES
154   where APPLICATION_ID = X_APPLICATION_ID
155   and CONTENT_CODE = X_CONTENT_CODE
156   and USER_FILE_NAME = X_USER_FILE_NAME;
157 
158   if (sql%notfound) then
159     raise no_data_found;
160   end if;
161 
162 end DELETE_ROW;
163 
164 procedure ADD_LANGUAGE
165 is
166 begin
167   null;
168 end ADD_LANGUAGE;
169 
170 --------------------------------------------------------------------------------
171 --  PROCEDURE:     LOAD_ROW                                                   --
172 --                                                                            --
173 --  DESCRIPTION:   Load a row into the BNE_FILES entity.                      --
174 --                 This proc is called from the apps loader.                  --
175 --                                                                            --
176 --  SEE:     http://www-apps.us.oracle.com/atg/plans/r115/fndloadqr.txt       --
177 --                                                                            --
178 --                                                                            --
179 --  MODIFICATION HISTORY                                                      --
180 --  Date       Username  Description                                          --
181 --  1-Oct-02   DGROVES   CREATED                                              --
182 --------------------------------------------------------------------------------
183 
184 procedure LOAD_ROW(
185   x_content_asn                 in VARCHAR2,
186   x_content_code                in VARCHAR2,
187   x_user_file_name              in VARCHAR2,
188   x_object_version_number       in VARCHAR2,
189   x_middle_tier_file_name       in VARCHAR2,
190   x_start_line                  in VARCHAR2,
191   x_column_delimiter_char       in VARCHAR2,
192   x_ignore_consec_delims_flag   in VARCHAR2,
193   x_sequence_num                in VARCHAR2,
194   x_owner                       in VARCHAR2,
195   x_last_update_date            in VARCHAR2,
196   x_custom_mode                 in VARCHAR2
197 )
198 is
199   l_app_id                      number;
200   l_row_id                      varchar2(64);
201   f_luby                        number;  -- entity owner in file
202   f_ludate                      date;    -- entity update date in file
203   db_luby                       number;  -- entity owner in db
204   db_ludate                     date;    -- entity update date in db
205 begin
206   -- translate values to IDs
207   l_app_id                        := BNE_LCT_TOOLS_PKG.ASN_TO_APP_ID(x_content_asn);
208 
209   -- Translate owner to file_last_updated_by
210   f_luby := fnd_load_util.owner_id(x_owner);
211 
212   -- Translate char last_update_date to date
213   f_ludate := nvl(to_date(x_last_update_date, 'YYYY/MM/DD'), sysdate);
214   begin
215     select LAST_UPDATED_BY, LAST_UPDATE_DATE
216     into db_luby, db_ludate
217     from BNE_FILES
218     where APPLICATION_ID = l_app_id
219     and   CONTENT_CODE   = x_content_code
220     and   USER_FILE_NAME = x_user_file_name;
221 
222     -- Test for customization and version
223     if (fnd_load_util.upload_test(f_luby, f_ludate, db_luby,
224                                   db_ludate, x_custom_mode)) then
225       -- Update existing row
226       BNE_FILES_PKG.Update_Row(
227         X_APPLICATION_ID               => l_app_id,
228         X_CONTENT_CODE                 => x_content_code,
229         X_USER_FILE_NAME               => x_user_file_name,
230         X_OBJECT_VERSION_NUMBER        => x_object_version_number,
231         X_MIDDLE_TIER_FILE_NAME        => x_middle_tier_file_name,
232         X_START_LINE                   => x_start_line,
233         X_COLUMN_DELIMITER_CHAR        => x_column_delimiter_char,
234         X_IGNORE_CONSEC_DELIMS_FLAG    => x_ignore_consec_delims_flag,
235         X_SEQUENCE_NUM                 => x_sequence_num,
236         X_LAST_UPDATE_DATE             => f_ludate,
237         X_LAST_UPDATED_BY              => f_luby,
238         X_LAST_UPDATE_LOGIN            => 0
239       );
240     end if;
241   exception
242     when no_data_found then
243       -- Record doesn't exist - insert in all cases
244       BNE_FILES_PKG.Insert_Row(
245         X_ROWID                        => l_row_id,
246         X_APPLICATION_ID               => l_app_id,
247         X_CONTENT_CODE                 => x_content_code,
248         X_USER_FILE_NAME               => x_user_file_name,
249         X_OBJECT_VERSION_NUMBER        => x_object_version_number,
250         X_MIDDLE_TIER_FILE_NAME        => x_middle_tier_file_name,
251         X_START_LINE                   => x_start_line,
252         X_COLUMN_DELIMITER_CHAR        => x_column_delimiter_char,
253         X_IGNORE_CONSEC_DELIMS_FLAG    => x_ignore_consec_delims_flag,
254         X_SEQUENCE_NUM                 => x_sequence_num,
255         X_CREATION_DATE                => f_ludate,
256         X_CREATED_BY                   => f_luby,
257         X_LAST_UPDATE_DATE             => f_ludate,
258         X_LAST_UPDATED_BY              => f_luby,
259         X_LAST_UPDATE_LOGIN            => 0
260       );
261   end;
262 end LOAD_ROW;
263 
264 end BNE_FILES_PKG;